From 44ed53e01b11fb6cd49dd42a0c3282a4df07afdf Mon Sep 17 00:00:00 2001 From: dariuszlacheta Date: Wed, 13 Mar 2019 11:34:22 +0100 Subject: [PATCH] 3.3.0 --- dist/external_d3_c3/keen-dataviz.css | 18 + dist/external_d3_c3/keen-dataviz.js | 2257 ++++++++++++---- dist/external_d3_c3/keen-dataviz.js.map | 2 +- dist/external_d3_c3/keen-dataviz.min.css | 2 +- dist/external_d3_c3/keen-dataviz.min.js | 4 +- dist/external_d3_c3/keen-dataviz.min.js.map | 2 +- dist/external_d3_c3/node/keen-dataviz.js | 2257 ++++++++++++---- dist/external_d3_c3/node/keen-dataviz.js.map | 2 +- dist/keen-dataviz.css | 19 +- dist/keen-dataviz.js | 2419 +++++++++++++----- dist/keen-dataviz.js.map | 2 +- dist/keen-dataviz.min.css | 2 +- dist/keen-dataviz.min.js | 6 +- dist/keen-dataviz.min.js.map | 2 +- package-lock.json | 2 +- package.json | 2 +- 16 files changed, 5222 insertions(+), 1776 deletions(-) diff --git a/dist/external_d3_c3/keen-dataviz.css b/dist/external_d3_c3/keen-dataviz.css index e82d0e5..030b8a5 100644 --- a/dist/external_d3_c3/keen-dataviz.css +++ b/dist/external_d3_c3/keen-dataviz.css @@ -109,6 +109,24 @@ font-size: 1.5em; width:100%; } +/* FUNNEL */ +.keen-dataviz .text-label { + fill: #1A1A1A; + fill: #1A1A1A; + } +.keen-dataviz .text-main { + fill: #FFFFFF; + fill: #FFFFFF; + font-size: 1.5em; + } +.keen-dataviz .text-second { + fill: #FFFFFF; + fill: #FFFFFF; + } +.keen-dataviz .chart-lines { + stroke: #E7E7E7; + stroke: #E7E7E7; + } /* TABLE */ .keen-dataviz-table { border-bottom: 1px solid #E7E7E7; diff --git a/dist/external_d3_c3/keen-dataviz.js b/dist/external_d3_c3/keen-dataviz.js index 1d0ca15..527dac7 100644 --- a/dist/external_d3_c3/keen-dataviz.js +++ b/dist/external_d3_c3/keen-dataviz.js @@ -1,13 +1,13 @@ (function webpackUniversalModuleDefinition(root, factory) { if(typeof exports === 'object' && typeof module === 'object') - module.exports = factory(require("c3"), require("d3")); + module.exports = factory(require("d3"), require("c3")); else if(typeof define === 'function' && define.amd) - define(["c3", "d3"], factory); + define(["d3", "c3"], factory); else { - var a = typeof exports === 'object' ? factory(require("c3"), require("d3")) : factory(root["c3"], root["d3"]); + var a = typeof exports === 'object' ? factory(require("d3"), require("c3")) : factory(root["d3"], root["c3"]); for(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i]; } -})(window, function(__WEBPACK_EXTERNAL_MODULE__132__, __WEBPACK_EXTERNAL_MODULE__133__) { +})(window, function(__WEBPACK_EXTERNAL_MODULE__2__, __WEBPACK_EXTERNAL_MODULE__135__) { return /******/ (function(modules) { // webpackBootstrap /******/ // The module cache /******/ var installedModules = {}; @@ -76,7 +76,7 @@ return /******/ (function(modules) { // webpackBootstrap /******/ /******/ /******/ // Load entry module and return exports -/******/ return __webpack_require__(__webpack_require__.s = 163); +/******/ return __webpack_require__(__webpack_require__.s = 168); /******/ }) /************************************************************************/ /******/ ([ @@ -1917,7 +1917,7 @@ return /******/ (function(modules) { // webpackBootstrap try { oldLocale = globalLocale._abbr; var aliasedRequire = require; - __webpack_require__(138)("./" + name); + __webpack_require__(144)("./" + name); getSetGlobalLocale(oldLocale); } catch (e) {} } @@ -4589,7 +4589,7 @@ return /******/ (function(modules) { // webpackBootstrap }))); -/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(139)(module))) +/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(145)(module))) /***/ }), /* 1 */ @@ -4630,6 +4630,92 @@ function each(o, cb, s) { /***/ }), /* 2 */ +/***/ (function(module, exports) { + +module.exports = __WEBPACK_EXTERNAL_MODULE__2__; + +/***/ }), +/* 3 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.prettyNumber = prettyNumber; +function prettyNumber(input) { + // If it has 3 or fewer sig figs already, just return the number. + var input = Number(input), + sciNo = input.toPrecision(3), + prefix = '', + suffixes = ['', 'k', 'M', 'B', 'T']; + + if (Number(sciNo) == input && String(input).length <= 4) { + return String(input); + } + + if (Math.abs(input) >= 1000000000000000) { + return sciNo; + } + + if (input >= 1 || input <= -1) { + if (input < 0) { + //Pull off the negative side and stash that. + input = -input; + prefix = '-'; + } + return prefix + recurse(input, 0); + } else { + return input.toPrecision(3); + } + + function recurse(input, iteration) { + var input = String(input); + var split = input.split('.'); + // If there's a dot + if (split.length > 1) { + // Keep the left hand side only + input = split[0]; + var rhs = split[1]; + // If the left-hand side is too short, pad until it has 3 digits + if (input.length == 2 && rhs.length > 0) { + // Pad with right-hand side if possible + if (rhs.length > 0) { + input = input + '.' + rhs.charAt(0); + } + // Pad with zeroes if you must + else { + input += '0'; + } + } else if (input.length == 1 && rhs.length > 0) { + input = input + '.' + rhs.charAt(0); + // Pad with right-hand side if possible + if (rhs.length > 1) { + input += rhs.charAt(1); + } + // Pad with zeroes if you must + else { + input += '0'; + } + } + } + var numNumerals = input.length; + // if it has a period, then numNumerals is 1 smaller than the string length: + if (input.split('.').length > 1) { + numNumerals--; + } + if (numNumerals <= 3) { + return String(input) + suffixes[iteration]; + } else { + return recurse(Number(input) / 1000, iteration + 1); + } + } +} + +/***/ }), +/* 4 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -4700,7 +4786,52 @@ function escapeHtml(string) { } /***/ }), -/* 3 */ +/* 5 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.textWrap = textWrap; + +var _d = __webpack_require__(2); + +var d3 = _interopRequireWildcard(_d); + +function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } + +function textWrap(text, width) { + text.each(function () { + var text = d3.select(this), + words = text.text().split(/\s+/).reverse(), + word = void 0, + line = [], + lineNumber = 0, + lineHeight = 1.1, + // ems + x = text.attr("x"), + y = text.attr("y"), + dy = 0, + //parseFloat(text.attr("dy")), + tspan = text.text(null).append("tspan").attr("x", x).attr("y", y).attr("dy", dy + "em"); + while (word = words.pop()) { + line.push(word); + tspan.text(line.join(" ")); + if (tspan.node().getComputedTextLength() > width) { + line.pop(); + tspan.text(line.join(" ")); + line = [word]; + tspan = text.append("tspan").attr("x", x).attr("y", y).attr("dy", ++lineNumber * lineHeight + dy + "em").text(word); + } + } + }); +} + +/***/ }), +/* 6 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -4720,7 +4851,7 @@ function extend(target) { } /***/ }), -/* 4 */ +/* 7 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -4757,7 +4888,7 @@ function testString(input) { } /***/ }), -/* 5 */ +/* 8 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -4780,7 +4911,7 @@ function stripHtmlTags(inputString) { } /***/ }), -/* 6 */ +/* 9 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -4799,7 +4930,7 @@ exports.default = function (len) { }; /***/ }), -/* 7 */ +/* 10 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -4811,7 +4942,7 @@ Object.defineProperty(exports, "__esModule", { exports.appendColumn = appendColumn; exports.appendRow = appendRow; -var _createNullList = __webpack_require__(6); +var _createNullList = __webpack_require__(9); var _createNullList2 = _interopRequireDefault(_createNullList); @@ -4902,7 +5033,7 @@ function appendRow(str, input) { } /***/ }), -/* 8 */ +/* 11 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -5008,7 +5139,7 @@ function appendRow(str, input) { /***/ }), -/* 9 */ +/* 12 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -5114,7 +5245,7 @@ function appendRow(str, input) { /***/ }), -/* 10 */ +/* 13 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -5227,7 +5358,7 @@ function appendRow(str, input) { /***/ }), -/* 11 */ +/* 14 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -5290,7 +5421,7 @@ function appendRow(str, input) { /***/ }), -/* 12 */ +/* 15 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -5361,7 +5492,7 @@ function appendRow(str, input) { /***/ }), -/* 13 */ +/* 16 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -5443,7 +5574,7 @@ function appendRow(str, input) { /***/ }), -/* 14 */ +/* 17 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -5504,7 +5635,7 @@ function appendRow(str, input) { /***/ }), -/* 15 */ +/* 18 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -5565,7 +5696,7 @@ function appendRow(str, input) { /***/ }), -/* 16 */ +/* 19 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -5666,7 +5797,7 @@ function appendRow(str, input) { /***/ }), -/* 17 */ +/* 20 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -5820,7 +5951,7 @@ function appendRow(str, input) { /***/ }), -/* 18 */ +/* 21 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js language configuration @@ -5942,7 +6073,7 @@ function appendRow(str, input) { /***/ }), -/* 19 */ +/* 22 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -6003,7 +6134,7 @@ function appendRow(str, input) { /***/ }), -/* 20 */ +/* 23 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -6064,7 +6195,7 @@ function appendRow(str, input) { /***/ }), -/* 21 */ +/* 24 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -6158,7 +6289,7 @@ function appendRow(str, input) { /***/ }), -/* 22 */ +/* 25 */ /***/ (function(module, exports, __webpack_require__) { @@ -6255,7 +6386,7 @@ function appendRow(str, input) { /***/ }), -/* 23 */ +/* 26 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -6380,7 +6511,7 @@ function appendRow(str, input) { /***/ }), -/* 24 */ +/* 27 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -6445,7 +6576,7 @@ function appendRow(str, input) { /***/ }), -/* 25 */ +/* 28 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -6515,7 +6646,7 @@ function appendRow(str, input) { /***/ }), -/* 26 */ +/* 29 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -6634,7 +6765,7 @@ function appendRow(str, input) { /***/ }), -/* 27 */ +/* 30 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -6704,7 +6835,7 @@ function appendRow(str, input) { /***/ }), -/* 28 */ +/* 31 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -6796,7 +6927,7 @@ function appendRow(str, input) { /***/ }), -/* 29 */ +/* 32 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -6928,7 +7059,7 @@ function appendRow(str, input) { /***/ }), -/* 30 */ +/* 33 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -6990,7 +7121,7 @@ function appendRow(str, input) { /***/ }), -/* 31 */ +/* 34 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -7062,7 +7193,7 @@ function appendRow(str, input) { /***/ }), -/* 32 */ +/* 35 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -7153,7 +7284,7 @@ function appendRow(str, input) { /***/ }), -/* 33 */ +/* 36 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -7267,7 +7398,7 @@ function appendRow(str, input) { /***/ }), -/* 34 */ +/* 37 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -7381,7 +7512,7 @@ function appendRow(str, input) { /***/ }), -/* 35 */ +/* 38 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -7452,7 +7583,7 @@ function appendRow(str, input) { /***/ }), -/* 36 */ +/* 39 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -7628,7 +7759,7 @@ function appendRow(str, input) { /***/ }), -/* 37 */ +/* 40 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -7787,7 +7918,7 @@ function appendRow(str, input) { /***/ }), -/* 38 */ +/* 41 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -7861,7 +7992,7 @@ function appendRow(str, input) { /***/ }), -/* 39 */ +/* 42 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -7924,7 +8055,7 @@ function appendRow(str, input) { /***/ }), -/* 40 */ +/* 43 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -8025,7 +8156,7 @@ function appendRow(str, input) { /***/ }), -/* 41 */ +/* 44 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -8210,7 +8341,7 @@ function appendRow(str, input) { /***/ }), -/* 42 */ +/* 45 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -8288,7 +8419,7 @@ function appendRow(str, input) { /***/ }), -/* 43 */ +/* 46 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -8352,7 +8483,7 @@ function appendRow(str, input) { /***/ }), -/* 44 */ +/* 47 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -8420,7 +8551,7 @@ function appendRow(str, input) { /***/ }), -/* 45 */ +/* 48 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -8549,7 +8680,7 @@ function appendRow(str, input) { /***/ }), -/* 46 */ +/* 49 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -8676,7 +8807,7 @@ function appendRow(str, input) { /***/ }), -/* 47 */ +/* 50 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -8739,7 +8870,7 @@ function appendRow(str, input) { /***/ }), -/* 48 */ +/* 51 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -8829,7 +8960,7 @@ function appendRow(str, input) { /***/ }), -/* 49 */ +/* 52 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -8919,7 +9050,7 @@ function appendRow(str, input) { /***/ }), -/* 50 */ +/* 53 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -9045,7 +9176,7 @@ function appendRow(str, input) { /***/ }), -/* 51 */ +/* 54 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -9110,7 +9241,7 @@ function appendRow(str, input) { /***/ }), -/* 52 */ +/* 55 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -9206,7 +9337,7 @@ function appendRow(str, input) { /***/ }), -/* 53 */ +/* 56 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -9269,7 +9400,7 @@ function appendRow(str, input) { /***/ }), -/* 54 */ +/* 57 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -9354,7 +9485,7 @@ function appendRow(str, input) { /***/ }), -/* 55 */ +/* 58 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -9439,7 +9570,7 @@ function appendRow(str, input) { /***/ }), -/* 56 */ +/* 59 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -9602,7 +9733,7 @@ function appendRow(str, input) { /***/ }), -/* 57 */ +/* 60 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -9709,7 +9840,7 @@ function appendRow(str, input) { /***/ }), -/* 58 */ +/* 61 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -9793,7 +9924,7 @@ function appendRow(str, input) { /***/ }), -/* 59 */ +/* 62 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -9886,7 +10017,7 @@ function appendRow(str, input) { /***/ }), -/* 60 */ +/* 63 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -9953,7 +10084,7 @@ function appendRow(str, input) { /***/ }), -/* 61 */ +/* 64 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -10068,7 +10199,7 @@ function appendRow(str, input) { /***/ }), -/* 62 */ +/* 65 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -10168,7 +10299,7 @@ function appendRow(str, input) { /***/ }), -/* 63 */ +/* 66 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -10289,7 +10420,7 @@ function appendRow(str, input) { /***/ }), -/* 64 */ +/* 67 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -10362,7 +10493,7 @@ function appendRow(str, input) { /***/ }), -/* 65 */ +/* 68 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -10501,7 +10632,7 @@ function appendRow(str, input) { /***/ }), -/* 66 */ +/* 69 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -10591,7 +10722,7 @@ function appendRow(str, input) { /***/ }), -/* 67 */ +/* 70 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -10675,7 +10806,7 @@ function appendRow(str, input) { /***/ }), -/* 68 */ +/* 71 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -10804,7 +10935,7 @@ function appendRow(str, input) { /***/ }), -/* 69 */ +/* 72 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -10917,7 +11048,7 @@ function appendRow(str, input) { /***/ }), -/* 70 */ +/* 73 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -11007,7 +11138,7 @@ function appendRow(str, input) { /***/ }), -/* 71 */ +/* 74 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -11099,7 +11230,7 @@ function appendRow(str, input) { /***/ }), -/* 72 */ +/* 75 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -11184,7 +11315,7 @@ function appendRow(str, input) { /***/ }), -/* 73 */ +/* 76 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -11279,7 +11410,7 @@ function appendRow(str, input) { /***/ }), -/* 74 */ +/* 77 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -11351,7 +11482,7 @@ function appendRow(str, input) { /***/ }), -/* 75 */ +/* 78 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -11486,7 +11617,7 @@ function appendRow(str, input) { /***/ }), -/* 76 */ +/* 79 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -11571,7 +11702,7 @@ function appendRow(str, input) { /***/ }), -/* 77 */ +/* 80 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -11669,7 +11800,7 @@ function appendRow(str, input) { /***/ }), -/* 78 */ +/* 81 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -11782,7 +11913,7 @@ function appendRow(str, input) { /***/ }), -/* 79 */ +/* 82 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -11939,7 +12070,7 @@ function appendRow(str, input) { /***/ }), -/* 80 */ +/* 83 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -12066,7 +12197,7 @@ function appendRow(str, input) { /***/ }), -/* 81 */ +/* 84 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -12166,7 +12297,7 @@ function appendRow(str, input) { /***/ }), -/* 82 */ +/* 85 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -12293,7 +12424,7 @@ function appendRow(str, input) { /***/ }), -/* 83 */ +/* 86 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -12419,7 +12550,7 @@ function appendRow(str, input) { /***/ }), -/* 84 */ +/* 87 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -12499,7 +12630,7 @@ function appendRow(str, input) { /***/ }), -/* 85 */ +/* 88 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -12578,7 +12709,7 @@ function appendRow(str, input) { /***/ }), -/* 86 */ +/* 89 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -12656,7 +12787,7 @@ function appendRow(str, input) { /***/ }), -/* 87 */ +/* 90 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -12737,7 +12868,7 @@ function appendRow(str, input) { /***/ }), -/* 88 */ +/* 91 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -12814,7 +12945,7 @@ function appendRow(str, input) { /***/ }), -/* 89 */ +/* 92 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -12900,7 +13031,7 @@ function appendRow(str, input) { /***/ }), -/* 90 */ +/* 93 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -12963,7 +13094,7 @@ function appendRow(str, input) { /***/ }), -/* 91 */ +/* 94 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -13075,7 +13206,7 @@ function appendRow(str, input) { /***/ }), -/* 92 */ +/* 95 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -13184,7 +13315,7 @@ function appendRow(str, input) { /***/ }), -/* 93 */ +/* 96 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -13253,7 +13384,7 @@ function appendRow(str, input) { /***/ }), -/* 94 */ +/* 97 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -13336,7 +13467,7 @@ function appendRow(str, input) { /***/ }), -/* 95 */ +/* 98 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -13422,7 +13553,7 @@ function appendRow(str, input) { /***/ }), -/* 96 */ +/* 99 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -13517,7 +13648,7 @@ function appendRow(str, input) { /***/ }), -/* 97 */ +/* 100 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -13612,7 +13743,7 @@ function appendRow(str, input) { /***/ }), -/* 98 */ +/* 101 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -13686,7 +13817,7 @@ function appendRow(str, input) { /***/ }), -/* 99 */ +/* 102 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -13756,7 +13887,7 @@ function appendRow(str, input) { /***/ }), -/* 100 */ +/* 103 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -13821,7 +13952,7 @@ function appendRow(str, input) { /***/ }), -/* 101 */ +/* 104 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -13891,7 +14022,7 @@ function appendRow(str, input) { /***/ }), -/* 102 */ +/* 105 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -13961,7 +14092,7 @@ function appendRow(str, input) { /***/ }), -/* 103 */ +/* 106 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -14027,7 +14158,7 @@ function appendRow(str, input) { /***/ }), -/* 104 */ +/* 107 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -14097,7 +14228,7 @@ function appendRow(str, input) { /***/ }), -/* 105 */ +/* 108 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -14200,7 +14331,7 @@ function appendRow(str, input) { /***/ }), -/* 106 */ +/* 109 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -14302,7 +14433,7 @@ function appendRow(str, input) { /***/ }), -/* 107 */ +/* 110 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -14381,7 +14512,7 @@ function appendRow(str, input) { /***/ }), -/* 108 */ +/* 111 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -14460,7 +14591,7 @@ function appendRow(str, input) { /***/ }), -/* 109 */ +/* 112 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -14539,7 +14670,7 @@ function appendRow(str, input) { /***/ }), -/* 110 */ +/* 113 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -14602,7 +14733,7 @@ function appendRow(str, input) { /***/ }), -/* 111 */ +/* 114 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -14685,7 +14816,7 @@ function appendRow(str, input) { /***/ }), -/* 112 */ +/* 115 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -14751,7 +14882,7 @@ function appendRow(str, input) { /***/ }), -/* 113 */ +/* 116 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -14933,7 +15064,7 @@ function appendRow(str, input) { /***/ }), -/* 114 */ +/* 117 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -15024,7 +15155,7 @@ function appendRow(str, input) { /***/ }), -/* 115 */ +/* 118 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -15178,7 +15309,7 @@ function appendRow(str, input) { /***/ }), -/* 116 */ +/* 119 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -15289,7 +15420,7 @@ function appendRow(str, input) { /***/ }), -/* 117 */ +/* 120 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -15411,7 +15542,7 @@ function appendRow(str, input) { /***/ }), -/* 118 */ +/* 121 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -15533,7 +15664,7 @@ function appendRow(str, input) { /***/ }), -/* 119 */ +/* 122 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -15594,7 +15725,7 @@ function appendRow(str, input) { /***/ }), -/* 120 */ +/* 123 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -15687,7 +15818,7 @@ function appendRow(str, input) { /***/ }), -/* 121 */ +/* 124 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -15822,7 +15953,7 @@ function appendRow(str, input) { /***/ }), -/* 122 */ +/* 125 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -15930,7 +16061,7 @@ function appendRow(str, input) { /***/ }), -/* 123 */ +/* 126 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -15992,7 +16123,7 @@ function appendRow(str, input) { /***/ }), -/* 124 */ +/* 127 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -16099,7 +16230,7 @@ function appendRow(str, input) { /***/ }), -/* 125 */ +/* 128 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -16161,7 +16292,7 @@ function appendRow(str, input) { /***/ }), -/* 126 */ +/* 129 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -16286,7 +16417,7 @@ function appendRow(str, input) { /***/ }), -/* 127 */ +/* 130 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -16348,7 +16479,7 @@ function appendRow(str, input) { /***/ }), -/* 128 */ +/* 131 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -16410,7 +16541,7 @@ function appendRow(str, input) { /***/ }), -/* 129 */ +/* 132 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -16548,7 +16679,7 @@ function appendRow(str, input) { /***/ }), -/* 130 */ +/* 133 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -16624,7 +16755,7 @@ function appendRow(str, input) { /***/ }), -/* 131 */ +/* 134 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -16654,19 +16785,13 @@ function extendDeep(target) { } /***/ }), -/* 132 */ -/***/ (function(module, exports) { - -module.exports = __WEBPACK_EXTERNAL_MODULE__132__; - -/***/ }), -/* 133 */ +/* 135 */ /***/ (function(module, exports) { -module.exports = __WEBPACK_EXTERNAL_MODULE__133__; +module.exports = __WEBPACK_EXTERNAL_MODULE__135__; /***/ }), -/* 134 */ +/* 136 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -16678,7 +16803,7 @@ Object.defineProperty(exports, "__esModule", { var _each = __webpack_require__(1); -var _extend = __webpack_require__(3); +var _extend = __webpack_require__(6); function average(arr, start, end) { var set = arr.slice(start || 0, end ? end + 1 : arr.length), @@ -16777,7 +16902,7 @@ exports.default = { }; /***/ }), -/* 135 */ +/* 137 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -16788,41 +16913,41 @@ Object.defineProperty(exports, "__esModule", { }); exports.Dataset = undefined; -var _append = __webpack_require__(7); +var _append = __webpack_require__(10); var append = _interopRequireWildcard(_append); -var _delete = __webpack_require__(160); +var _delete = __webpack_require__(165); var del = _interopRequireWildcard(_delete); -var _filter = __webpack_require__(159); +var _filter = __webpack_require__(164); var filter = _interopRequireWildcard(_filter); -var _insert = __webpack_require__(158); +var _insert = __webpack_require__(163); var insert = _interopRequireWildcard(_insert); -var _select = __webpack_require__(157); +var _select = __webpack_require__(162); var select = _interopRequireWildcard(_select); -var _sort = __webpack_require__(156); +var _sort = __webpack_require__(161); var sort = _interopRequireWildcard(_sort); -var _update = __webpack_require__(155); +var _update = __webpack_require__(160); var update = _interopRequireWildcard(_update); -var _analyses = __webpack_require__(134); +var _analyses = __webpack_require__(136); var _analyses2 = _interopRequireDefault(_analyses); -var _extend = __webpack_require__(3); +var _extend = __webpack_require__(6); -var _parsers = __webpack_require__(154); +var _parsers = __webpack_require__(159); var _parsers2 = _interopRequireDefault(_parsers); @@ -16901,7 +17026,1068 @@ Dataset.parser = (0, _parsers2.default)(Dataset); exports.default = Dataset; /***/ }), -/* 136 */ +/* 138 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + +var _d = __webpack_require__(2); + +var d3 = _interopRequireWildcard(_d); + +var _svgTextWrap = __webpack_require__(5); + +var _prettyNumber = __webpack_require__(3); + +function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +var HorizontalFunnel3d = function () { + function HorizontalFunnel3d() { + _classCallCheck(this, HorizontalFunnel3d); + } + + _createClass(HorizontalFunnel3d, [{ + key: 'render', + value: function render() { + var matrix = this.dataset.matrix; + var _config = this.config, + colors = _config.colors, + container = _config.container, + labelMapping = _config.labelMapping, + colorMapping = _config.colorMapping; + + var opts = this.config; + var _config$funnel = this.config.funnel, + _config$funnel$percen = _config$funnel.percents, + show = _config$funnel$percen.show, + countingMethod = _config$funnel$percen.countingMethod, + decimals = _config$funnel$percen.decimals, + lines = _config$funnel.lines, + resultValues = _config$funnel.resultValues, + effect3d = _config$funnel.effect3d, + hover = _config$funnel.hover; + + var margin = { top: 0, right: 30, bottom: 100, left: 10 }; + var funnelContainer = d3.select(container); + var chartContainer = d3.select(container + ' .c3-chart'); + var chart = chartContainer.append('svg'); + var svgWidth = funnelContainer.style('width').slice(0, -2) - margin.right - margin.left; + var svgHeight = funnelContainer.style('height').slice(0, -2) - margin.top - margin.bottom - 30; + var elemWidth = svgWidth / (matrix.length - 1); + var xMarginElement = elemWidth * 0.3; + var shadowCut = xMarginElement / 1.5; + var prevElemHeight = svgHeight; + var percent = 100 .toFixed(decimals); + + // prepare normal funnel polygons + var polygons = matrix.slice(1).map(function (d, i) { + var newPoints = [{ + x: elemWidth * i + xMarginElement, + y: (svgHeight - prevElemHeight) / 2 + }, { + x: elemWidth * i + xMarginElement, + y: (svgHeight - prevElemHeight) / 2 + prevElemHeight + }]; + if (i !== 0) { + if (countingMethod === 'relative') { + prevElemHeight = prevElemHeight * d[1] / matrix[i][1]; + percent = (d[1] / matrix[i][1] * 100).toFixed(decimals); + } + if (countingMethod === 'absolute') { + prevElemHeight = svgHeight * d[1] / matrix[1][1]; + percent = (d[1] / matrix[1][1] * 100).toFixed(decimals); + } + } + var label = d[0]; + if (Object.keys(labelMapping).length) { + for (var key in labelMapping) { + if (labelMapping[key] === d[0]) { + label = key; + } + } + } + var result = d[1]; + if ((typeof opts['prettyNumber'] === 'undefined' || opts['prettyNumber'] === true) && !isNaN(parseInt(d[1]))) { + result = (0, _prettyNumber.prettyNumber)(d[1]); + } + return { + name: d[0], + label: label, + percent: percent + '%', + result: result, + points: [].concat(newPoints, [{ + x: elemWidth * (i + 1), + y: (svgHeight - prevElemHeight) / 2 + prevElemHeight + }, { + x: elemWidth * (i + 1), + y: (svgHeight - prevElemHeight) / 2 + }]) + }; + }); + + //funnel shadows preparing + var polygonsShadows = polygons.map(function (d, i) { + return { + label: d.label, + points: [{ + x: d.points[0].x, + y: d.points[0].y + }, { + x: d.points[1].x, + y: d.points[1].y + }, { + x: effect3d === 'top' ? d.points[1].x : d.points[1].x - shadowCut, + y: effect3d === 'top' ? d.points[1].y : d.points[1].y - xMarginElement < svgHeight / 2 ? svgHeight / 2 + 5 : d.points[1].y - xMarginElement + }, { + x: effect3d === 'bottom' ? d.points[0].x : d.points[0].x - shadowCut, + y: effect3d === 'bottom' ? d.points[0].y : d.points[0].y + xMarginElement > svgHeight / 2 ? svgHeight / 2 - 5 : d.points[0].y + xMarginElement + }] + }; + }); + + //connecting funnels with shadows for rendering + var polygons3d = polygons.concat(polygonsShadows); + + //chart rendering with polygons + chart.attr('height', svgHeight + margin.top + margin.bottom - 30).attr('width', svgWidth + margin.left + margin.right).append('g').attr('transform', 'translate(' + margin.left + ',' + margin.top + ')').selectAll('polygon').data(polygons3d).enter().append('polygon').attr('points', function (d) { + return d.points.map(function (p) { + return [p.x, p.y].join(','); + }).join(' '); + }).style('fill', function (d, i) { + if (i > polygons.length - 1) { + if (colorMapping[d.label]) { + return d3.rgb(colorMapping[d.label]).darker(1.5); + } + return d3.rgb(colors[i - polygons.length]).darker(1.5); + } + if (colorMapping[d.label]) { + return colorMapping[d.label]; + } + return colors[i]; + }).attr('class', function (d) { + return d.label; + }).attr('cursor', 'pointer'); + + if (lines) { + //rendering lines + chart.selectAll('line').data(polygons).enter().append('line').attr('x1', function (d) { + return d.points[0].x + margin.left - xMarginElement * 0.8; + }).attr('y1', svgHeight + margin.bottom).attr('x2', function (d) { + return d.points[0].x + margin.left - xMarginElement * 0.8; + }).attr('y2', function (d) { + return d.points[0].y; + }).attr('class', 'chart-lines'); + + //rendering last line + chart.append('line').attr('x1', svgWidth + margin.left + xMarginElement / 4).attr('y1', svgHeight + margin.bottom).attr('x2', polygons[polygons.length - 1].points[3].x + margin.left + xMarginElement / 4).attr('y2', polygons[polygons.length - 1].points[3].y).attr('class', 'chart-lines'); + } + + //rendering labels when lines are visible + if (lines) { + chart.selectAll('text.label').data(polygons).enter().append('text').style('text-anchor', 'middle').attr('x', function (d) { + return d.points[0].x + margin.left + elemWidth * 0.25; + }).attr('y', svgHeight + margin.bottom * 0.4).attr('class', function (d) { + return 'text-label ' + d.label; + }).text(function (d) { + return d.name; + }).call(_svgTextWrap.textWrap, elemWidth).attr('cursor', 'pointer'); + } + + //rendering labels when lines are not visible + if (!lines) { + chart.selectAll('text.label').data(polygons).enter().append('text').style('text-anchor', 'middle').attr('x', function (d) { + return d.points[0].x + margin.left + elemWidth * 0.25; + }).attr('y', function (d) { + if (d.points[2].y + elemWidth / 4 > svgHeight + margin.bottom - 40) { + return svgHeight + margin.bottom - 40; + } + if (d.points[2].y + elemWidth / 4 < d.points[1].y) { + return d.points[1].y + 20; + } + return d.points[2].y + elemWidth / 4 + 10; + }).attr('class', function (d) { + return 'text-label ' + d.label; + }).text(function (d) { + return d.name; + }).call(_svgTextWrap.textWrap, elemWidth).attr('cursor', 'pointer'); + } + + //rendering percents for each step + if (show && !resultValues) { + chart.selectAll('text.label').data(polygons).enter().append('text').style('text-anchor', 'middle').attr('x', function (d) { + return d.points[1].x + elemWidth / 2.8 + margin.left; + }).attr('y', svgHeight / 2 + margin.top + 10).attr('class', function (d) { + return 'text-main ' + d.label; + }).text(function (d) { + return d.percent; + }).attr('cursor', 'pointer'); + } + + //rendering results for each step + if (resultValues && !show) { + chart.selectAll('text.label').data(polygons).enter().append('text').style('text-anchor', 'middle').attr('x', function (d) { + return d.points[1].x + elemWidth / 2.8 + margin.left; + }).attr('y', svgHeight / 2 + margin.top + 10).attr('class', function (d) { + return 'text-main ' + d.label; + }).text(function (d) { + return d.result; + }).attr('cursor', 'pointer'); + } + + //rendering results and percenage together + if (show && resultValues) { + //rendering percents + chart.selectAll('text.label').data(polygons).enter().append('text').style('text-anchor', 'middle').attr('x', function (d) { + return d.points[1].x + elemWidth / 2.8 + margin.left; + }).attr('y', svgHeight / 2 + margin.top + 16).attr('class', function (d) { + return 'text-second ' + d.label; + }).text(function (d) { + return d.percent; + }).attr('cursor', 'pointer'); + + //rendering results + chart.selectAll('text.label').data(polygons).enter().append('text').style('text-anchor', 'middle').attr('x', function (d) { + return d.points[1].x + elemWidth / 2.8 + margin.left; + }).attr('y', svgHeight / 2 + margin.top - 3).attr('class', function (d) { + return 'text-main ' + d.label; + }).text(function (d) { + return d.result; + }).attr('cursor', 'pointer'); + } + + //hover handling + if (hover) { + var handleMouseOver = function handleMouseOver(d) { + polygonsHover.style('opacity', 0.5); + labelHover.style('opacity', 0.5); + var thisLabel = /[^ ]*$/.exec(d3.select(this).attr('class'))[0]; + chart.selectAll('.' + thisLabel).style('opacity', 1); + }; + + var handleMouseOut = function handleMouseOut(d) { + polygonsHover.style('opacity', 1); + labelHover.style('opacity', 1); + }; + + var polygonsHover = chart.selectAll('polygon'); + polygonsHover.on("mouseover", handleMouseOver).on("mouseout", handleMouseOut); + + var labelHover = chart.selectAll('text'); + labelHover.on("mouseover", handleMouseOver).on("mouseout", handleMouseOut); + } + } + }, { + key: 'update', + value: function update() { + this.destroy(); + this.render(); + } + }, { + key: 'destroy', + value: function destroy() { + var container = this.config.container; + + var chartContainer = d3.select(container + ' .c3-chart > *'); + chartContainer.remove(); + } + }]); + + return HorizontalFunnel3d; +}(); + +exports.default = HorizontalFunnel3d; + +/***/ }), +/* 139 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + +var _d = __webpack_require__(2); + +var d3 = _interopRequireWildcard(_d); + +var _svgTextWrap = __webpack_require__(5); + +var _prettyNumber = __webpack_require__(3); + +function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +var HorizontalFunnel = function () { + function HorizontalFunnel() { + _classCallCheck(this, HorizontalFunnel); + } + + _createClass(HorizontalFunnel, [{ + key: 'render', + value: function render() { + var matrix = this.dataset.matrix; + var _config = this.config, + colors = _config.colors, + container = _config.container, + labelMapping = _config.labelMapping, + colorMapping = _config.colorMapping; + + var opts = this.config; + var _config$funnel = this.config.funnel, + _config$funnel$percen = _config$funnel.percents, + show = _config$funnel$percen.show, + countingMethod = _config$funnel$percen.countingMethod, + decimals = _config$funnel$percen.decimals, + lines = _config$funnel.lines, + marginBetweenSteps = _config$funnel.marginBetweenSteps, + resultValues = _config$funnel.resultValues, + hover = _config$funnel.hover; + + var margin = { top: 0, right: 30, bottom: 100, left: 10 }; + var xMarginElement = 0; + if (marginBetweenSteps) { + xMarginElement = 5; + } + var funnelContainer = d3.select(container); + var chartContainer = d3.select(container + ' .c3-chart'); + var chart = chartContainer.append('svg'); + var svgWidth = funnelContainer.style('width').slice(0, -2) - margin.right - margin.left; + var svgHeight = funnelContainer.style('height').slice(0, -2) - margin.top - margin.bottom - 30; + var elemWidth = svgWidth / (matrix.length - 1); + var prevElemHeight = svgHeight; + var percent = 100 .toFixed(decimals); + + // prepare normal funnel polygons + var polygons = matrix.slice(1).map(function (d, i) { + var newPoints = [{ + x: elemWidth * i + xMarginElement, + y: (svgHeight - prevElemHeight) / 2 + }, { + x: elemWidth * i + xMarginElement, + y: (svgHeight - prevElemHeight) / 2 + prevElemHeight + }]; + if (i !== 0) { + if (countingMethod === 'relative') { + prevElemHeight = prevElemHeight * d[1] / matrix[i][1]; + percent = (d[1] / matrix[i][1] * 100).toFixed(decimals); + } + if (countingMethod === 'absolute') { + prevElemHeight = svgHeight * d[1] / matrix[1][1]; + percent = (d[1] / matrix[1][1] * 100).toFixed(decimals); + } + } + var label = d[0]; + if (Object.keys(labelMapping).length) { + for (var key in labelMapping) { + if (labelMapping[key] === d[0]) { + label = key; + } + } + } + var result = d[1]; + if ((typeof opts['prettyNumber'] === 'undefined' || opts['prettyNumber'] === true) && !isNaN(parseInt(d[1]))) { + result = (0, _prettyNumber.prettyNumber)(d[1]); + } + return { + name: d[0], + label: label, + percent: percent + '%', + result: result, + points: [].concat(newPoints, [{ + x: elemWidth * (i + 1), + y: (svgHeight - prevElemHeight) / 2 + prevElemHeight + }, { + x: elemWidth * (i + 1), + y: (svgHeight - prevElemHeight) / 2 + }]) + }; + }); + + //chart rendering with polygons + chart.attr('height', svgHeight + margin.top + margin.bottom - 30).attr('width', svgWidth + margin.left + margin.right).append('g').attr('transform', 'translate(' + margin.left + ',' + margin.top + ')').selectAll('polygon').data(polygons).enter().append('polygon').attr('points', function (d) { + return d.points.map(function (p) { + return [p.x, p.y].join(','); + }).join(' '); + }).style('fill', function (d, i) { + if (colorMapping[d.label]) { + return colorMapping[d.label]; + } + return colors[i]; + }).attr('class', function (d) { + return d.label; + }).attr('cursor', 'pointer'); + + if (lines) { + //rendering lines + chart.selectAll('line').data(polygons).enter().append('line').attr('x1', function (d) { + return d.points[0].x + margin.left - xMarginElement / 2; + }).attr('y1', svgHeight + margin.bottom).attr('x2', function (d) { + return d.points[0].x + margin.left - xMarginElement / 2; + }).attr('y2', function (d) { + return d.points[0].y; + }).attr('class', 'chart-lines'); + + //rendering last line + chart.append('line').attr('x1', svgWidth + margin.left - xMarginElement / 2).attr('y1', svgHeight + margin.bottom).attr('x2', polygons[polygons.length - 1].points[3].x + margin.left + xMarginElement / 2).attr('y2', polygons[polygons.length - 1].points[3].y).attr('class', 'chart-lines'); + } + + //rendering labels when lines are visible + if (lines) { + chart.selectAll('text.label').data(polygons).enter().append('text').style('text-anchor', 'middle').attr('x', function (d) { + return d.points[1].x + elemWidth / 2 + margin.left; + }).attr('y', svgHeight + margin.bottom * 0.5).attr('class', function (d) { + return 'text-label ' + d.label; + }).text(function (d) { + return d.name; + }).call(_svgTextWrap.textWrap, elemWidth).attr('cursor', 'pointer'); + } + + //rendering labels when lines are not visible + if (!lines) { + chart.selectAll('text.label').data(polygons).enter().append('text').style('text-anchor', 'middle').attr('x', function (d) { + return d.points[1].x + elemWidth / 2 + margin.left; + }).attr('y', function (d) { + if (d.points[2].y + (d.points[3].y - d.points[0].y) / 2 + elemWidth / 4 > svgHeight + margin.bottom - 40) { + return svgHeight + margin.bottom - 40; + } + return d.points[2].y + (d.points[3].y - d.points[0].y) / 2 + elemWidth / 4; + }).attr('class', function (d) { + return 'text-label ' + d.label; + }).text(function (d) { + return d.name; + }).call(_svgTextWrap.textWrap, elemWidth).attr('cursor', 'pointer'); + } + + //rendering percents for each step + if (show && !resultValues) { + chart.selectAll('text.label').data(polygons).enter().append('text').style('text-anchor', 'middle').attr('x', function (d) { + return d.points[1].x + elemWidth / 2 + margin.left; + }).attr('y', svgHeight / 2 + margin.top + 10).attr('class', function (d) { + return 'text-main ' + d.label; + }).text(function (d) { + return d.percent; + }).attr('cursor', 'pointer'); + } + + //rendering results for each step + if (resultValues && !show) { + chart.selectAll('text.label').data(polygons).enter().append('text').style('text-anchor', 'middle').attr('x', function (d) { + return d.points[1].x + elemWidth / 2 + margin.left; + }).attr('y', svgHeight / 2 + margin.top + 10).attr('class', function (d) { + return 'text-main ' + d.label; + }).text(function (d) { + return d.result; + }).attr('cursor', 'pointer'); + } + + //rendering results and percenage together + if (show && resultValues) { + //rendering percents + chart.selectAll('text.label').data(polygons).enter().append('text').style('text-anchor', 'middle').attr('x', function (d) { + return d.points[1].x + elemWidth / 2 + margin.left; + }).attr('y', svgHeight / 2 + margin.top + 16).attr('class', function (d) { + return 'text-second ' + d.label; + }).text(function (d) { + return d.percent; + }).attr('cursor', 'pointer'); + + //rendering results + chart.selectAll('text.label').data(polygons).enter().append('text').style('text-anchor', 'middle').attr('x', function (d) { + return d.points[1].x + elemWidth / 2 + margin.left; + }).attr('y', svgHeight / 2 + margin.top - 3).attr('class', function (d) { + return 'text-main ' + d.label; + }).text(function (d) { + return d.result; + }).attr('cursor', 'pointer'); + } + //hover handling + if (hover) { + var handleMouseOver = function handleMouseOver(d) { + polygonsHover.style('opacity', 0.5); + labelHover.style('opacity', 0.5); + var thisLabel = /[^ ]*$/.exec(d3.select(this).attr('class'))[0]; + chart.selectAll('.' + thisLabel).style('opacity', 1); + }; + + var handleMouseOut = function handleMouseOut(d) { + polygonsHover.style('opacity', 1); + labelHover.style('opacity', 1); + }; + + var polygonsHover = chart.selectAll('polygon'); + polygonsHover.on("mouseover", handleMouseOver).on("mouseout", handleMouseOut); + + var labelHover = chart.selectAll('text'); + labelHover.on("mouseover", handleMouseOver).on("mouseout", handleMouseOut); + } + } + }, { + key: 'update', + value: function update() { + this.destroy(); + this.render(); + } + }, { + key: 'destroy', + value: function destroy() { + var container = this.config.container; + + var chartContainer = d3.select(container + ' .c3-chart > *'); + chartContainer.remove(); + } + }]); + + return HorizontalFunnel; +}(); + +exports.default = HorizontalFunnel; + +/***/ }), +/* 140 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + +var _d = __webpack_require__(2); + +var d3 = _interopRequireWildcard(_d); + +var _svgTextWrap = __webpack_require__(5); + +var _prettyNumber = __webpack_require__(3); + +function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +var Funnel3d = function () { + function Funnel3d() { + _classCallCheck(this, Funnel3d); + } + + _createClass(Funnel3d, [{ + key: 'render', + value: function render() { + var matrix = this.dataset.matrix; + var _config = this.config, + colors = _config.colors, + container = _config.container, + labelMapping = _config.labelMapping, + colorMapping = _config.colorMapping; + + var opts = this.config; + var _config$funnel = this.config.funnel, + _config$funnel$percen = _config$funnel.percents, + show = _config$funnel$percen.show, + countingMethod = _config$funnel$percen.countingMethod, + decimals = _config$funnel$percen.decimals, + lines = _config$funnel.lines, + resultValues = _config$funnel.resultValues, + effect3d = _config$funnel.effect3d, + hover = _config$funnel.hover; + + var margin = { top: 10, right: 30, bottom: 60, left: 200 }; + var funnelContainer = d3.select(container); + var chartContainer = d3.select(container + ' .c3-chart'); + var chart = chartContainer.append('svg'); + var svgWidth = funnelContainer.style('width').slice(0, -2) - margin.right - margin.left; + var svgHeight = funnelContainer.style('height').slice(0, -2) - margin.top - margin.bottom - 30; + var elemHeight = svgHeight / (matrix.length - 1); + var yMarginElement = elemHeight * 0.3; + var shadowCut = yMarginElement * 2.5; + var prevElemWidth = svgWidth; + var percent = 100 .toFixed(decimals); + + // prepare normal funnel polygons + var polygons = matrix.slice(1).map(function (d, i) { + var newPoints = [{ + x: (svgWidth - prevElemWidth) / 2, + y: elemHeight * i + yMarginElement + }, { + x: (svgWidth - prevElemWidth) / 2 + prevElemWidth, + y: elemHeight * i + yMarginElement + }]; + if (i !== 0) { + if (countingMethod === 'relative') { + prevElemWidth = prevElemWidth * d[1] / matrix[i][1]; + percent = (d[1] / matrix[i][1] * 100).toFixed(decimals); + } + if (countingMethod === 'absolute') { + prevElemWidth = svgWidth * d[1] / matrix[1][1]; + percent = (d[1] / matrix[1][1] * 100).toFixed(decimals); + } + } + var label = d[0]; + if (Object.keys(labelMapping).length) { + for (var key in labelMapping) { + if (labelMapping[key] === d[0]) { + label = key; + } + } + } + var result = d[1]; + if ((typeof opts['prettyNumber'] === 'undefined' || opts['prettyNumber'] === true) && !isNaN(parseInt(d[1]))) { + result = (0, _prettyNumber.prettyNumber)(d[1]); + } + return { + name: d[0], + label: label, + percent: percent + '%', + result: result, + points: [].concat(newPoints, [{ + x: (svgWidth - prevElemWidth) / 2 + prevElemWidth, + y: elemHeight * (i + 1) + }, { + x: (svgWidth - prevElemWidth) / 2, + y: elemHeight * (i + 1) + }]) + }; + }); + + //funnel shadows preparing + var polygonsShadows = polygons.map(function (d, i) { + return { + label: d.label, + points: [{ + x: d.points[3].x, + y: d.points[3].y + }, { + x: d.points[2].x, + y: d.points[2].y + }, { + x: effect3d === 'left' ? d.points[2].x : d.points[2].x - shadowCut < svgWidth / 2 ? svgWidth / 2 + 5 : d.points[2].x - shadowCut, + y: effect3d === 'left' ? d.points[2].y : d.points[2].y + yMarginElement / 1.5 + }, { + x: effect3d === 'right' ? d.points[3].x : d.points[3].x + shadowCut > svgWidth / 2 ? svgWidth / 2 - 5 : d.points[3].x + shadowCut, + y: effect3d === 'right' ? d.points[3].y : d.points[3].y + yMarginElement / 1.5 + }] + }; + }); + + //connecting funnels with shadows for rendering + var polygons3d = polygons.concat(polygonsShadows); + + //chart rendering with polygons + chart.attr('height', svgHeight + margin.top + margin.bottom - 30).attr('width', svgWidth + margin.left + margin.right).append('g').attr('transform', 'translate(' + margin.left + ',' + margin.top + ')').selectAll('polygon').data(polygons3d).enter().append('polygon').attr('points', function (d) { + return d.points.map(function (p) { + return [p.x, p.y].join(','); + }).join(' '); + }).style('fill', function (d, i) { + if (i > polygons.length - 1) { + if (colorMapping[d.label]) { + return d3.rgb(colorMapping[d.label]).darker(1.5); + } + return d3.rgb(colors[i - polygons.length]).darker(1.5); + } + if (colorMapping[d.label]) { + return colorMapping[d.label]; + } + return colors[i]; + }).attr('class', function (d) { + return d.label; + }).attr('cursor', 'pointer'); + + if (lines) { + //rendering lines + chart.selectAll('line').data(polygons).enter().append('line').attr('x1', 10).attr('y1', function (d) { + return d.points[0].y + margin.top - yMarginElement / 5; + }).attr('x2', function (d, i) { + if (i === 0) { + return d.points[1].x + margin.left; + } + return d.points[1].x + margin.left - shadowCut; + }).attr('y2', function (d) { + return d.points[0].y + margin.top - yMarginElement / 5; + }).attr('class', 'chart-lines'); + + //rendering last line + chart.append('line').attr('x1', 10).attr('y1', polygons[polygons.length - 1].points[2].y + margin.top + yMarginElement - yMarginElement / 5).attr('x2', polygons[polygons.length - 1].points[2].x + margin.left - shadowCut).attr('y2', polygons[polygons.length - 1].points[2].y + margin.top + yMarginElement - yMarginElement / 5).attr('class', 'chart-lines'); + } + + //rendering labels when lines are visible + if (lines) { + chart.selectAll('text.label').data(polygons).enter().append('text').style('text-anchor', 'start').attr('x', 20).attr('y', function (d) { + return (d.points[2].y - d.points[1].y) / 2 + d.points[1].y + margin.top + 5 + yMarginElement / 4; + }).attr('class', function (d) { + return 'text-label ' + d.label; + }).text(function (d) { + return d.name; + }).call(_svgTextWrap.textWrap, margin.left).attr('cursor', 'pointer'); + } + + //rendering labels when lines are not visible + if (!lines) { + chart.selectAll('text.label').data(polygons).enter().append('text').style('text-anchor', 'end').attr('x', function (d) { + return d.points[0].x + (d.points[3].x - d.points[0].x) / 2 + 130; + }).attr('y', function (d) { + return (d.points[2].y - d.points[1].y) / 2 + d.points[1].y + margin.top + 5; + }).attr('class', function (d) { + return 'text-label ' + d.label; + }).text(function (d) { + return d.name; + }).call(_svgTextWrap.textWrap, margin.left).attr('cursor', 'pointer'); + } + + //rendering percents for each step + if (show && !resultValues) { + chart.selectAll('text.label').data(polygons).enter().append('text').style('text-anchor', 'middle').attr('x', svgWidth / 2 + margin.left).attr('y', function (d) { + return (d.points[2].y - d.points[1].y) / 2 + d.points[1].y + margin.top + 8; + }).attr('class', function (d) { + return 'text-main ' + d.label; + }).text(function (d) { + return d.percent; + }).attr('cursor', 'pointer'); + } + + //rendering results for each step + if (resultValues && !show) { + chart.selectAll('text.label').data(polygons).enter().append('text').style('text-anchor', 'middle').attr('x', svgWidth / 2 + margin.left).attr('y', function (d) { + return (d.points[2].y - d.points[1].y) / 2 + d.points[1].y + margin.top + 8; + }).attr('class', function (d) { + return 'text-main ' + d.label; + }).text(function (d) { + return d.result; + }).attr('cursor', 'pointer'); + } + + //rendering results and percenage together + if (show && resultValues) { + //rendering percents + chart.selectAll('text.label').data(polygons).enter().append('text').style('text-anchor', 'middle').attr('x', svgWidth / 2 + margin.left).attr('y', function (d) { + return (d.points[2].y - d.points[1].y) / 2 + d.points[1].y + margin.top + 18; + }).attr('class', function (d) { + return 'text-second ' + d.label; + }).text(function (d) { + return d.percent; + }).attr('cursor', 'pointer'); + + //rendering results + chart.selectAll('text.label').data(polygons).enter().append('text').style('text-anchor', 'middle').attr('x', svgWidth / 2 + margin.left).attr('y', function (d) { + return (d.points[2].y - d.points[1].y) / 2 + d.points[1].y + margin.top + 3; + }).attr('class', function (d) { + return 'text-main ' + d.label; + }).text(function (d) { + return d.result; + }).attr('cursor', 'pointer'); + } + //hover handling + if (hover) { + var handleMouseOver = function handleMouseOver(d) { + polygonsHover.style('opacity', 0.5); + labelHover.style('opacity', 0.5); + var thisLabel = /[^ ]*$/.exec(d3.select(this).attr('class'))[0]; + chart.selectAll('.' + thisLabel).style('opacity', 1); + }; + + var handleMouseOut = function handleMouseOut(d) { + polygonsHover.style('opacity', 1); + labelHover.style('opacity', 1); + }; + + var polygonsHover = chart.selectAll('polygon'); + polygonsHover.on("mouseover", handleMouseOver).on("mouseout", handleMouseOut); + + var labelHover = chart.selectAll('text'); + labelHover.on("mouseover", handleMouseOver).on("mouseout", handleMouseOut); + } + } + }, { + key: 'update', + value: function update() { + this.destroy(); + this.render(); + } + }, { + key: 'destroy', + value: function destroy() { + var container = this.config.container; + + var chartContainer = d3.select(container + ' .c3-chart > *'); + chartContainer.remove(); + } + }]); + + return Funnel3d; +}(); + +exports.default = Funnel3d; + +/***/ }), +/* 141 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + +var _d = __webpack_require__(2); + +var d3 = _interopRequireWildcard(_d); + +var _svgTextWrap = __webpack_require__(5); + +var _prettyNumber = __webpack_require__(3); + +function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +var Funnel = function () { + function Funnel() { + _classCallCheck(this, Funnel); + } + + _createClass(Funnel, [{ + key: 'render', + value: function render() { + var matrix = this.dataset.matrix; + var _config = this.config, + colors = _config.colors, + container = _config.container, + labelMapping = _config.labelMapping, + colorMapping = _config.colorMapping; + + var opts = this.config; + var _config$funnel = this.config.funnel, + _config$funnel$percen = _config$funnel.percents, + show = _config$funnel$percen.show, + countingMethod = _config$funnel$percen.countingMethod, + decimals = _config$funnel$percen.decimals, + lines = _config$funnel.lines, + marginBetweenSteps = _config$funnel.marginBetweenSteps, + resultValues = _config$funnel.resultValues, + hover = _config$funnel.hover; + + var margin = { top: 10, right: 30, bottom: 30, left: 200 }; + var yMarginElement = 0; + if (marginBetweenSteps) { + yMarginElement = 5; + } + var funnelContainer = d3.select(container); + var chartContainer = d3.select(container + ' .c3-chart'); + var chart = chartContainer.append('svg'); + var svgWidth = funnelContainer.style('width').slice(0, -2) - margin.right - margin.left; + var svgHeight = funnelContainer.style('height').slice(0, -2) - margin.top - margin.bottom - 30; + var elemHeight = svgHeight / (matrix.length - 1); + var prevElemWidth = svgWidth; + var percent = 100 .toFixed(decimals); + + // prepare normal funnel polygons + var polygons = matrix.slice(1).map(function (d, i) { + var newPoints = [{ + x: (svgWidth - prevElemWidth) / 2, + y: elemHeight * i + yMarginElement + }, { + x: (svgWidth - prevElemWidth) / 2 + prevElemWidth, + y: elemHeight * i + yMarginElement + }]; + if (i !== 0) { + if (countingMethod === 'relative') { + prevElemWidth = prevElemWidth * d[1] / matrix[i][1]; + percent = (d[1] / matrix[i][1] * 100).toFixed(decimals); + } + if (countingMethod === 'absolute') { + prevElemWidth = svgWidth * d[1] / matrix[1][1]; + percent = (d[1] / matrix[1][1] * 100).toFixed(decimals); + } + } + var label = d[0]; + if (Object.keys(labelMapping).length) { + for (var key in labelMapping) { + if (labelMapping[key] === d[0]) { + label = key; + } + } + } + var result = d[1]; + if ((typeof opts['prettyNumber'] === 'undefined' || opts['prettyNumber'] === true) && !isNaN(parseInt(d[1]))) { + result = (0, _prettyNumber.prettyNumber)(d[1]); + } + return { + name: d[0], + label: label, + percent: percent + '%', + result: result, + points: [].concat(newPoints, [{ + x: (svgWidth - prevElemWidth) / 2 + prevElemWidth, + y: elemHeight * (i + 1) + }, { + x: (svgWidth - prevElemWidth) / 2, + y: elemHeight * (i + 1) + }]) + }; + }); + + //chart rendering with polygons + chart.attr('height', svgHeight + margin.top + margin.bottom - 30).attr('width', svgWidth + margin.left + margin.right).append('g').attr('transform', 'translate(' + margin.left + ',' + margin.top + ')').selectAll('polygon').data(polygons).enter().append('polygon').attr('points', function (d) { + return d.points.map(function (p) { + return [p.x, p.y].join(','); + }).join(' '); + }).style('fill', function (d, i) { + if (colorMapping[d.label]) { + return colorMapping[d.label]; + } + return colors[i]; + }).attr('class', function (d) { + return d.label; + }).attr('cursor', 'pointer'); + + if (lines) { + //rendering lines + chart.selectAll('line').data(polygons).enter().append('line').attr('x1', 10).attr('y1', function (d) { + return d.points[0].y + margin.top - yMarginElement / 2; + }).attr('x2', function (d) { + return d.points[1].x + margin.left; + }).attr('y2', function (d) { + return d.points[0].y + margin.top - yMarginElement / 2; + }).attr('class', 'chart-lines'); + + //rendering last line + chart.append('line').attr('x1', 10).attr('y1', polygons[polygons.length - 1].points[2].y + margin.top + yMarginElement / 2).attr('x2', polygons[polygons.length - 1].points[2].x + margin.left).attr('y2', polygons[polygons.length - 1].points[2].y + margin.top + yMarginElement / 2).attr('class', 'chart-lines'); + } + + //rendering labels when lines are visible + if (lines) { + chart.selectAll('text.label').data(polygons).enter().append('text').style('text-anchor', 'start').attr('x', 20).attr('y', function (d) { + return (d.points[2].y - d.points[1].y) / 2 + d.points[1].y + margin.top + yMarginElement + 5; + }).attr('class', function (d) { + return 'text-label ' + d.label; + }).text(function (d) { + return d.name; + }).call(_svgTextWrap.textWrap, margin.left).attr('cursor', 'pointer'); + } + + //rendering labels when lines are not visible + if (!lines) { + chart.selectAll('text.label').data(polygons).enter().append('text').style('text-anchor', 'end').attr('x', function (d) { + return d.points[0].x + (d.points[3].x - d.points[0].x) / 2 + margin.left * 0.9; + }).attr('y', function (d) { + return (d.points[2].y - d.points[1].y) / 2 + d.points[1].y + margin.top + yMarginElement + 5; + }).attr('class', function (d) { + return 'text-label ' + d.label; + }).text(function (d) { + return d.name; + }).call(_svgTextWrap.textWrap, margin.left).attr('cursor', 'pointer'); + } + + //rendering percents for each step + if (show && !resultValues) { + chart.selectAll('text.label').data(polygons).enter().append('text').style('text-anchor', 'middle').attr('x', svgWidth / 2 + margin.left).attr('y', function (d) { + return (d.points[2].y - d.points[1].y) / 2 + d.points[1].y + margin.top + yMarginElement + 8; + }).attr('class', function (d) { + return 'text-main ' + d.label; + }).text(function (d) { + return d.percent; + }).attr('cursor', 'pointer'); + } + + //rendering results for each step + if (resultValues && !show) { + chart.selectAll('text.label').data(polygons).enter().append('text').style('text-anchor', 'middle').attr('x', svgWidth / 2 + margin.left).attr('y', function (d) { + return (d.points[2].y - d.points[1].y) / 2 + d.points[1].y + margin.top + yMarginElement + 8; + }).attr('class', function (d) { + return 'text-main ' + d.label; + }).text(function (d) { + return d.result; + }).attr('cursor', 'pointer'); + } + + //rendering results and percenage together + if (show && resultValues) { + //rendering percents + chart.selectAll('text.label').data(polygons).enter().append('text').style('text-anchor', 'middle').attr('x', svgWidth / 2 + margin.left).attr('y', function (d) { + if (yMarginElement === 0) { + return (d.points[2].y - d.points[1].y) / 2 + d.points[1].y + margin.top + 16; + } + return (d.points[2].y - d.points[1].y) / 2 + d.points[1].y + margin.top + yMarginElement + 12; + }).attr('class', function (d) { + return 'text-second ' + d.label; + }).text(function (d) { + return d.percent; + }).attr('cursor', 'pointer'); + + //rendering results + chart.selectAll('text.label').data(polygons).enter().append('text').style('text-anchor', 'middle').attr('x', svgWidth / 2 + margin.left).attr('y', function (d) { + if (yMarginElement === 0) { + return (d.points[2].y - d.points[1].y) / 2 + d.points[1].y + margin.top; + } + return (d.points[2].y - d.points[1].y) / 2 + d.points[1].y + margin.top + yMarginElement - 5; + }).attr('class', function (d) { + return 'text-main ' + d.label; + }).text(function (d) { + return d.result; + }).attr('cursor', 'pointer'); + } + //hover handling + if (hover) { + var handleMouseOver = function handleMouseOver(d) { + polygonsHover.style('opacity', 0.5); + labelHover.style('opacity', 0.5); + var thisLabel = /[^ ]*$/.exec(d3.select(this).attr('class'))[0]; + chart.selectAll('.' + thisLabel).style('opacity', 1); + }; + + var handleMouseOut = function handleMouseOut(d) { + polygonsHover.style('opacity', 1); + labelHover.style('opacity', 1); + }; + + var polygonsHover = chart.selectAll('polygon'); + polygonsHover.on("mouseover", handleMouseOver).on("mouseout", handleMouseOut); + + var labelHover = chart.selectAll('text'); + labelHover.on("mouseover", handleMouseOver).on("mouseout", handleMouseOut); + } + } + }, { + key: 'update', + value: function update() { + this.destroy(); + this.render(); + } + }, { + key: 'destroy', + value: function destroy() { + var container = this.config.container; + + var chartContainer = d3.select(container + ' .c3-chart > *'); + chartContainer.remove(); + } + }]); + + return Funnel; +}(); + +exports.default = Funnel; + +/***/ }), +/* 142 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -16944,262 +18130,262 @@ exports.default = { }; /***/ }), -/* 137 */ +/* 143 */ /***/ (function(module) { module.exports = {"version":"2018e","zones":["Africa/Abidjan|LMT GMT|g.8 0|01|-2ldXH.Q|48e5","Africa/Accra|LMT GMT +0020|.Q 0 -k|012121212121212121212121212121212121212121212121|-26BbX.8 6tzX.8 MnE 1BAk MnE 1BAk MnE 1BAk MnE 1C0k MnE 1BAk MnE 1BAk MnE 1BAk MnE 1C0k MnE 1BAk MnE 1BAk MnE 1BAk MnE 1C0k MnE 1BAk MnE 1BAk MnE 1BAk MnE 1C0k MnE 1BAk MnE 1BAk MnE 1BAk MnE 1C0k MnE 1BAk MnE 1BAk MnE|41e5","Africa/Nairobi|LMT EAT +0230 +0245|-2r.g -30 -2u -2J|01231|-1F3Cr.g 3Dzr.g okMu MFXJ|47e5","Africa/Algiers|PMT WET WEST CET CEST|-9.l 0 -10 -10 -20|0121212121212121343431312123431213|-2nco9.l cNb9.l HA0 19A0 1iM0 11c0 1oo0 Wo0 1rc0 QM0 1EM0 UM0 DA0 Imo0 rd0 De0 9Xz0 1fb0 1ap0 16K0 2yo0 mEp0 hwL0 jxA0 11A0 dDd0 17b0 11B0 1cN0 2Dy0 1cN0 1fB0 1cL0|26e5","Africa/Lagos|LMT WAT|-d.A -10|01|-22y0d.A|17e6","Africa/Bissau|LMT -01 GMT|12.k 10 0|012|-2ldX0 2xoo0|39e4","Africa/Maputo|LMT CAT|-2a.k -20|01|-2GJea.k|26e5","Africa/Cairo|EET EEST|-20 -30|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-1bIO0 vb0 1ip0 11z0 1iN0 1nz0 12p0 1pz0 10N0 1pz0 16p0 1jz0 s3d0 Vz0 1oN0 11b0 1oO0 10N0 1pz0 10N0 1pb0 10N0 1pb0 10N0 1pb0 10N0 1pz0 10N0 1pb0 10N0 1pb0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1WL0 rd0 1Rz0 wp0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1qL0 Xd0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1ny0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 WL0 1qN0 Rb0 1wp0 On0 1zd0 Lz0 1EN0 Fb0 c10 8n0 8Nd0 gL0 e10 mn0|15e6","Africa/Casablanca|LMT WET WEST CET|u.k 0 -10 -10|0121212121212121213121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2gMnt.E 130Lt.E rb0 Dd0 dVb0 b6p0 TX0 EoB0 LL0 gnd0 rz0 43d0 AL0 1Nd0 XX0 1Cp0 pz0 dEp0 4mn0 SyN0 AL0 1Nd0 wn0 1FB0 Db0 1zd0 Lz0 1Nf0 wM0 co0 go0 1o00 s00 dA0 vc0 11A0 A00 e00 y00 11A0 uM0 e00 Dc0 11A0 s00 e00 IM0 WM0 mo0 gM0 LA0 WM0 jA0 e00 Rc0 11A0 e00 e00 U00 11A0 8o0 e00 11A0 11A0 5A0 e00 17c0 1fA0 1a00 1a00 1fA0 17c0 1io0 14o0 1lc0 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1lc0 14o0 1fA0|32e5","Africa/Ceuta|WET WEST CET CEST|0 -10 -10 -20|010101010101010101010232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-25KN0 11z0 drd0 18p0 3HX0 17d0 1fz0 1a10 1io0 1a00 1y7o0 LL0 gnd0 rz0 43d0 AL0 1Nd0 XX0 1Cp0 pz0 dEp0 4VB0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|85e3","Africa/El_Aaiun|LMT -01 WET WEST|Q.M 10 0 -10|01232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-1rDz7.c 1GVA7.c 6L0 AL0 1Nd0 XX0 1Cp0 pz0 1cBB0 AL0 1Nd0 wn0 1FB0 Db0 1zd0 Lz0 1Nf0 wM0 co0 go0 1o00 s00 dA0 vc0 11A0 A00 e00 y00 11A0 uM0 e00 Dc0 11A0 s00 e00 IM0 WM0 mo0 gM0 LA0 WM0 jA0 e00 Rc0 11A0 e00 e00 U00 11A0 8o0 e00 11A0 11A0 5A0 e00 17c0 1fA0 1a00 1a00 1fA0 17c0 1io0 14o0 1lc0 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1lc0 14o0 1fA0|20e4","Africa/Johannesburg|SAST SAST SAST|-1u -20 -30|012121|-2GJdu 1Ajdu 1cL0 1cN0 1cL0|84e5","Africa/Juba|LMT CAT CAST EAT|-26.s -20 -30 -30|01212121212121212121212121212121213|-1yW26.s 1zK06.s 16L0 1iN0 17b0 1jd0 17b0 1ip0 17z0 1i10 17X0 1hB0 18n0 1hd0 19b0 1gp0 19z0 1iN0 17b0 1ip0 17z0 1i10 18n0 1hd0 18L0 1gN0 19b0 1gp0 19z0 1iN0 17z0 1i10 17X0 yGd0","Africa/Khartoum|LMT CAT CAST EAT|-2a.8 -20 -30 -30|012121212121212121212121212121212131|-1yW2a.8 1zK0a.8 16L0 1iN0 17b0 1jd0 17b0 1ip0 17z0 1i10 17X0 1hB0 18n0 1hd0 19b0 1gp0 19z0 1iN0 17b0 1ip0 17z0 1i10 18n0 1hd0 18L0 1gN0 19b0 1gp0 19z0 1iN0 17z0 1i10 17X0 yGd0 HjL0|51e5","Africa/Monrovia|MMT MMT GMT|H.8 I.u 0|012|-23Lzg.Q 28G01.m|11e5","Africa/Ndjamena|LMT WAT WAST|-10.c -10 -20|0121|-2le10.c 2J3c0.c Wn0|13e5","Africa/Sao_Tome|LMT GMT WAT|A.J 0 -10|012|-2le00 4i6N0","Africa/Tripoli|LMT CET CEST EET|-Q.I -10 -20 -20|012121213121212121212121213123123|-21JcQ.I 1hnBQ.I vx0 4iP0 xx0 4eN0 Bb0 7ip0 U0n0 A10 1db0 1cN0 1db0 1dd0 1db0 1eN0 1bb0 1e10 1cL0 1c10 1db0 1dd0 1db0 1cN0 1db0 1q10 fAn0 1ep0 1db0 AKq0 TA0 1o00|11e5","Africa/Tunis|PMT CET CEST|-9.l -10 -20|0121212121212121212121212121212121|-2nco9.l 18pa9.l 1qM0 DA0 3Tc0 11B0 1ze0 WM0 7z0 3d0 14L0 1cN0 1f90 1ar0 16J0 1gXB0 WM0 1rA0 11c0 nwo0 Ko0 1cM0 1cM0 1rA0 10M0 zuM0 10N0 1aN0 1qM0 WM0 1qM0 11A0 1o00|20e5","Africa/Windhoek|+0130 SAST SAST CAT WAT|-1u -20 -30 -20 -10|01213434343434343434343434343434343434343434343434343|-2GJdu 1Ajdu 1cL0 1SqL0 9Io0 16P0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0|32e4","America/Adak|NST NWT NPT BST BDT AHST HST HDT|b0 a0 a0 b0 a0 a0 a0 90|012034343434343434343434343434343456767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676|-17SX0 8wW0 iB0 Qlb0 52O0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 cm0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|326","America/Anchorage|AST AWT APT AHST AHDT YST AKST AKDT|a0 90 90 a0 90 90 90 80|012034343434343434343434343434343456767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676|-17T00 8wX0 iA0 Qlb0 52O0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 cm0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|30e4","America/Port_of_Spain|LMT AST|46.4 40|01|-2kNvR.U|43e3","America/Araguaina|LMT -03 -02|3c.M 30 20|0121212121212121212121212121212121212121212121212121|-2glwL.c HdKL.c 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 dMN0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 ny10 Lz0|14e4","America/Argentina/Buenos_Aires|CMT -04 -03 -02|4g.M 40 30 20|01212121212121212121212121212121212121212123232323232323232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wp0 Rb0 1wp0 TX0 A4p0 uL0 1qN0 WL0","America/Argentina/Catamarca|CMT -04 -03 -02|4g.M 40 30 20|01212121212121212121212121212121212121212123232323132321232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wq0 Ra0 1wp0 TX0 rlB0 7B0 8zb0 uL0","America/Argentina/Cordoba|CMT -04 -03 -02|4g.M 40 30 20|01212121212121212121212121212121212121212123232323132323232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wq0 Ra0 1wp0 TX0 A4p0 uL0 1qN0 WL0","America/Argentina/Jujuy|CMT -04 -03 -02|4g.M 40 30 20|012121212121212121212121212121212121212121232323121323232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1ze0 TX0 1ld0 WK0 1wp0 TX0 A4p0 uL0","America/Argentina/La_Rioja|CMT -04 -03 -02|4g.M 40 30 20|012121212121212121212121212121212121212121232323231232321232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Qn0 qO0 16n0 Rb0 1wp0 TX0 rlB0 7B0 8zb0 uL0","America/Argentina/Mendoza|CMT -04 -03 -02|4g.M 40 30 20|01212121212121212121212121212121212121212123232312121321232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1u20 SL0 1vd0 Tb0 1wp0 TW0 ri10 Op0 7TX0 uL0","America/Argentina/Rio_Gallegos|CMT -04 -03 -02|4g.M 40 30 20|01212121212121212121212121212121212121212123232323232321232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wp0 Rb0 1wp0 TX0 rlB0 7B0 8zb0 uL0","America/Argentina/Salta|CMT -04 -03 -02|4g.M 40 30 20|012121212121212121212121212121212121212121232323231323232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wq0 Ra0 1wp0 TX0 A4p0 uL0","America/Argentina/San_Juan|CMT -04 -03 -02|4g.M 40 30 20|012121212121212121212121212121212121212121232323231232321232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Qn0 qO0 16n0 Rb0 1wp0 TX0 rld0 m10 8lb0 uL0","America/Argentina/San_Luis|CMT -04 -03 -02|4g.M 40 30 20|012121212121212121212121212121212121212121232323121212321212|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 XX0 1q20 SL0 AN0 vDb0 m10 8lb0 8L0 jd0 1qN0 WL0 1qN0","America/Argentina/Tucuman|CMT -04 -03 -02|4g.M 40 30 20|0121212121212121212121212121212121212121212323232313232123232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wq0 Ra0 1wp0 TX0 rlB0 4N0 8BX0 uL0 1qN0 WL0","America/Argentina/Ushuaia|CMT -04 -03 -02|4g.M 40 30 20|01212121212121212121212121212121212121212123232323232321232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wp0 Rb0 1wp0 TX0 rkN0 8p0 8zb0 uL0","America/Curacao|LMT -0430 AST|4z.L 4u 40|012|-2kV7o.d 28KLS.d|15e4","America/Asuncion|AMT -04 -03|3O.E 40 30|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212|-1x589.k 1DKM9.k 3CL0 3Dd0 10L0 1pB0 10n0 1pB0 10n0 1pB0 1cL0 1dd0 1db0 1dd0 1cL0 1dd0 1cL0 1dd0 1cL0 1dd0 1db0 1dd0 1cL0 1dd0 1cL0 1dd0 1cL0 1dd0 1db0 1dd0 1cL0 1lB0 14n0 1dd0 1cL0 1fd0 WL0 1rd0 1aL0 1dB0 Xz0 1qp0 Xb0 1qN0 10L0 1rB0 TX0 1tB0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 1cL0 WN0 1qL0 11B0 1nX0 1ip0 WL0 1qN0 WL0 1qN0 WL0 1tB0 TX0 1tB0 TX0 1tB0 19X0 1a10 1fz0 1a10 1fz0 1cN0 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0|28e5","America/Atikokan|CST CDT CWT CPT EST|60 50 50 50 50|0101234|-25TQ0 1in0 Rnb0 3je0 8x30 iw0|28e2","America/Bahia_Banderas|LMT MST CST PST MDT CDT|71 70 60 80 60 50|0121212131414141414141414141414141414152525252525252525252525252525252525252525252525252525252|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 otX0 gmN0 P2N0 13Vd0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nW0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0|84e3","America/Bahia|LMT -03 -02|2y.4 30 20|01212121212121212121212121212121212121212121212121212121212121|-2glxp.U HdLp.U 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 1EN0 Lz0 1C10 IL0 1HB0 Db0 1HB0 On0 1zd0 On0 1zd0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 l5B0 Rb0|27e5","America/Barbados|LMT BMT AST ADT|3W.t 3W.t 40 30|01232323232|-1Q0I1.v jsM0 1ODC1.v IL0 1ip0 17b0 1ip0 17b0 1ld0 13b0|28e4","America/Belem|LMT -03 -02|3d.U 30 20|012121212121212121212121212121|-2glwK.4 HdKK.4 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0|20e5","America/Belize|LMT CST -0530 CDT|5Q.M 60 5u 50|01212121212121212121212121212121212121212121212121213131|-2kBu7.c fPA7.c Onu 1zcu Rbu 1wou Rbu 1wou Rbu 1zcu Onu 1zcu Onu 1zcu Rbu 1wou Rbu 1wou Rbu 1wou Rbu 1zcu Onu 1zcu Onu 1zcu Rbu 1wou Rbu 1wou Rbu 1zcu Onu 1zcu Onu 1zcu Onu 1zcu Rbu 1wou Rbu 1wou Rbu 1zcu Onu 1zcu Onu 1zcu Rbu 1wou Rbu 1f0Mu qn0 lxB0 mn0|57e3","America/Blanc-Sablon|AST ADT AWT APT|40 30 30 30|010230|-25TS0 1in0 UGp0 8x50 iu0|11e2","America/Boa_Vista|LMT -04 -03|42.E 40 30|0121212121212121212121212121212121|-2glvV.k HdKV.k 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 smp0 WL0 1tB0 2L0|62e2","America/Bogota|BMT -05 -04|4U.g 50 40|0121|-2eb73.I 38yo3.I 2en0|90e5","America/Boise|PST PDT MST MWT MPT MDT|80 70 70 60 60 60|0101023425252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252|-261q0 1nX0 11B0 1nX0 8C10 JCL0 8x20 ix0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 Dd0 1Kn0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|21e4","America/Cambridge_Bay|-00 MST MWT MPT MDDT MDT CST CDT EST|0 70 60 60 50 60 60 50 50|0123141515151515151515151515151515151515151515678651515151515151515151515151515151515151515151515151515151515151515151515151|-21Jc0 RO90 8x20 ix0 LCL0 1fA0 zgO0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11A0 1nX0 2K0 WQ0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|15e2","America/Campo_Grande|LMT -04 -03|3C.s 40 30|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212|-2glwl.w HdLl.w 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 1EN0 Lz0 1C10 IL0 1HB0 Db0 1HB0 On0 1zd0 On0 1zd0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 1C10 Lz0 1Ip0 HX0 1zd0 On0 1HB0 IL0 1wp0 On0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 Rb0 1zd0 Lz0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 On0 1zd0 On0 1HB0 FX0 1HB0 FX0 1HB0 IL0 1HB0 FX0 1HB0 IL0 1EN0 FX0 1HB0 FX0 1HB0 IL0 1EN0 IL0 1HB0 FX0 1HB0 FX0 1HB0 FX0 1HB0 FX0 1HB0 FX0 1Kp0 FX0 1HB0 IL0 1EN0 FX0 1HB0 FX0 1HB0 IL0 1EN0|77e4","America/Cancun|LMT CST EST EDT CDT|5L.4 60 50 40 50|0123232341414141414141414141414141414141412|-1UQG0 2q2o0 yLB0 1lb0 14p0 1lb0 14p0 Lz0 xB0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 Dd0|63e4","America/Caracas|CMT -0430 -04|4r.E 4u 40|01212|-2kV7w.k 28KM2.k 1IwOu kqo0|29e5","America/Cayenne|LMT -04 -03|3t.k 40 30|012|-2mrwu.E 2gWou.E|58e3","America/Panama|CMT EST|5j.A 50|01|-2uduE.o|15e5","America/Chicago|CST CDT EST CWT CPT|60 50 50 50 50|01010101010101010101010101010101010102010101010103401010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261s0 1nX0 11B0 1nX0 1wp0 TX0 WN0 1qL0 1cN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 11B0 1Hz0 14p0 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 RB0 8x30 iw0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|92e5","America/Chihuahua|LMT MST CST CDT MDT|74.k 70 60 50 60|0121212323241414141414141414141414141414141414141414141414141414141414141414141414141414141|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 2zQN0 1lb0 14p0 1lb0 14q0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0|81e4","America/Costa_Rica|SJMT CST CDT|5A.d 60 50|0121212121|-1Xd6n.L 2lu0n.L Db0 1Kp0 Db0 pRB0 15b0 1kp0 mL0|12e5","America/Creston|MST PST|70 80|010|-29DR0 43B0|53e2","America/Cuiaba|LMT -04 -03|3I.k 40 30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212|-2glwf.E HdLf.E 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 1EN0 Lz0 1C10 IL0 1HB0 Db0 1HB0 On0 1zd0 On0 1zd0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 4a10 HX0 1zd0 On0 1HB0 IL0 1wp0 On0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 Rb0 1zd0 Lz0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 On0 1zd0 On0 1HB0 FX0 1HB0 FX0 1HB0 IL0 1HB0 FX0 1HB0 IL0 1EN0 FX0 1HB0 FX0 1HB0 IL0 1EN0 IL0 1HB0 FX0 1HB0 FX0 1HB0 FX0 1HB0 FX0 1HB0 FX0 1Kp0 FX0 1HB0 IL0 1EN0 FX0 1HB0 FX0 1HB0 IL0 1EN0|54e4","America/Danmarkshavn|LMT -03 -02 GMT|1e.E 30 20 0|01212121212121212121212121212121213|-2a5WJ.k 2z5fJ.k 19U0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 DC0|8","America/Dawson_Creek|PST PDT PWT PPT MST|80 70 70 70 70|0102301010101010101010101010101010101010101010101010101014|-25TO0 1in0 UGp0 8x10 iy0 3NB0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 ML0|12e3","America/Dawson|YST YDT YWT YPT YDDT PST PDT|90 80 80 80 70 80 70|0101023040565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565|-25TN0 1in0 1o10 13V0 Ser0 8x00 iz0 LCL0 1fA0 jrA0 fNd0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|13e2","America/Denver|MST MDT MWT MPT|70 60 60 60|01010101023010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261r0 1nX0 11B0 1nX0 11B0 1qL0 WN0 mn0 Ord0 8x20 ix0 LCN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|26e5","America/Detroit|LMT CST EST EWT EPT EDT|5w.b 60 50 40 40 40|012342525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252|-2Cgir.N peqr.N 156L0 8x40 iv0 6fd0 11z0 XQp0 1cL0 s10 1Vz0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|37e5","America/Edmonton|LMT MST MDT MWT MPT|7x.Q 70 60 60 60|01212121212121341212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2yd4q.8 shdq.8 1in0 17d0 hz0 2dB0 1fz0 1a10 11z0 1qN0 WL0 1qN0 11z0 IGN0 8x20 ix0 3NB0 11z0 LFB0 1cL0 3Cp0 1cL0 66N0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|10e5","America/Eirunepe|LMT -05 -04|4D.s 50 40|0121212121212121212121212121212121|-2glvk.w HdLk.w 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 dPB0 On0 yTd0 d5X0|31e3","America/El_Salvador|LMT CST CDT|5U.M 60 50|012121|-1XiG3.c 2Fvc3.c WL0 1qN0 WL0|11e5","America/Tijuana|LMT MST PST PDT PWT PPT|7M.4 70 80 70 70 70|012123245232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-1UQE0 4PX0 8mM0 8lc0 SN0 1cL0 pHB0 83r0 zI0 5O10 1Rz0 cOO0 11A0 1o00 11A0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 BUp0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 U10 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|20e5","America/Fort_Nelson|PST PDT PWT PPT MST|80 70 70 70 70|01023010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010104|-25TO0 1in0 UGp0 8x10 iy0 3NB0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0|39e2","America/Fort_Wayne|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|010101023010101010101010101040454545454545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 QI10 Db0 RB0 8x30 iw0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 5Tz0 1o10 qLb0 1cL0 1cN0 1cL0 1qhd0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Fortaleza|LMT -03 -02|2y 30 20|0121212121212121212121212121212121212121|-2glxq HdLq 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 nsp0 WL0 1tB0 5z0 2mN0 On0|34e5","America/Glace_Bay|LMT AST ADT AWT APT|3X.M 40 30 30 30|012134121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2IsI0.c CwO0.c 1in0 UGp0 8x50 iu0 iq10 11z0 Jg10 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|19e3","America/Godthab|LMT -03 -02|3q.U 30 20|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2a5Ux.4 2z5dx.4 19U0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|17e3","America/Goose_Bay|NST NDT NST NDT NWT NPT AST ADT ADDT|3u.Q 2u.Q 3u 2u 2u 2u 40 30 20|010232323232323245232323232323232323232323232323232323232326767676767676767676767676767676767676767676768676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676|-25TSt.8 1in0 DXb0 2HbX.8 WL0 1qN0 WL0 1qN0 WL0 1tB0 TX0 1tB0 WL0 1qN0 WL0 1qN0 7UHu itu 1tB0 WL0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1tB0 WL0 1ld0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 S10 g0u 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14n1 1lb0 14p0 1nW0 11C0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zcX Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|76e2","America/Grand_Turk|KMT EST EDT AST|57.a 50 40 40|01212121212121212121212121212121212121212121212121212121212121212121212121232121212121212121212121212121212121212121|-2l1uQ.O 2HHBQ.O 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 5Ip0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|37e2","America/Guatemala|LMT CST CDT|62.4 60 50|0121212121|-24KhV.U 2efXV.U An0 mtd0 Nz0 ifB0 17b0 zDB0 11z0|13e5","America/Guayaquil|QMT -05 -04|5e 50 40|0121|-1yVSK 2uILK rz0|27e5","America/Guyana|LMT -0345 -03 -04|3Q.E 3J 30 40|0123|-2dvU7.k 2r6LQ.k Bxbf|80e4","America/Halifax|LMT AST ADT AWT APT|4e.o 40 30 30 30|0121212121212121212121212121212121212121212121212134121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2IsHJ.A xzzJ.A 1db0 3I30 1in0 3HX0 IL0 1E10 ML0 1yN0 Pb0 1Bd0 Mn0 1Bd0 Rz0 1w10 Xb0 1w10 LX0 1w10 Xb0 1w10 Lz0 1C10 Jz0 1E10 OL0 1yN0 Un0 1qp0 Xb0 1qp0 11X0 1w10 Lz0 1HB0 LX0 1C10 FX0 1w10 Xb0 1qp0 Xb0 1BB0 LX0 1td0 Xb0 1qp0 Xb0 Rf0 8x50 iu0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 3Qp0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 3Qp0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 6i10 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|39e4","America/Havana|HMT CST CDT|5t.A 50 40|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1Meuu.o 72zu.o ML0 sld0 An0 1Nd0 Db0 1Nd0 An0 6Ep0 An0 1Nd0 An0 JDd0 Mn0 1Ap0 On0 1fd0 11X0 1qN0 WL0 1wp0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 14n0 1ld0 14L0 1kN0 15b0 1kp0 1cL0 1cN0 1fz0 1a10 1fz0 1fB0 11z0 14p0 1nX0 11B0 1nX0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 14n0 1ld0 14n0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 1a10 1in0 1a10 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 17c0 1o00 11A0 1qM0 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 11A0 6i00 Rc0 1wo0 U00 1tA0 Rc0 1wo0 U00 1wo0 U00 1zc0 U00 1qM0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0|21e5","America/Hermosillo|LMT MST CST PST MDT|7n.Q 70 60 80 60|0121212131414141|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 otX0 gmN0 P2N0 13Vd0 1lb0 14p0 1lb0 14p0 1lb0|64e4","America/Indiana/Knox|CST CDT CWT CPT EST|60 50 50 50 50|0101023010101010101010101010101010101040101010101010101010101010101010101010101010101010141010101010101010101010101010101010101010101010101010101010101010|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 3NB0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 11z0 1o10 11z0 1o10 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 3Cn0 8wp0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 z8o0 1o00 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Indiana/Marengo|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|0101023010101010101010104545454545414545454545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 dyN0 11z0 6fd0 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 jrz0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1VA0 LA0 1BX0 1e6p0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Indiana/Petersburg|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|01010230101010101010101010104010101010101010101010141014545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 njX0 WN0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 3Fb0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 19co0 1o00 Rd0 1zb0 Oo0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Indiana/Tell_City|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|01010230101010101010101010101010454541010101010101010101010101010101010101010101010101010101010101010|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 1o10 11z0 g0p0 11z0 1o10 11z0 1qL0 WN0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 WL0 1qN0 1cL0 1cN0 1cL0 1cN0 caL0 1cL0 1cN0 1cL0 1qhd0 1o00 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Indiana/Vevay|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|010102304545454545454545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 kPB0 Awn0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1lnd0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Indiana/Vincennes|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|01010230101010101010101010101010454541014545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 1o10 11z0 g0p0 11z0 1o10 11z0 1qL0 WN0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 WL0 1qN0 1cL0 1cN0 1cL0 1cN0 caL0 1cL0 1cN0 1cL0 1qhd0 1o00 Rd0 1zb0 Oo0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Indiana/Winamac|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|01010230101010101010101010101010101010454541054545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 jrz0 1cL0 1cN0 1cL0 1qhd0 1o00 Rd0 1za0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Inuvik|-00 PST PDDT MST MDT|0 80 60 70 60|0121343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343|-FnA0 tWU0 1fA0 wPe0 2pz0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|35e2","America/Iqaluit|-00 EWT EPT EST EDDT EDT CST CDT|0 40 40 50 30 40 60 50|01234353535353535353535353535353535353535353567353535353535353535353535353535353535353535353535353535353535353535353535353|-16K00 7nX0 iv0 LCL0 1fA0 zgO0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11C0 1nX0 11A0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|67e2","America/Jamaica|KMT EST EDT|57.a 50 40|0121212121212121212121|-2l1uQ.O 2uM1Q.O 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0|94e4","America/Juneau|PST PWT PPT PDT YDT YST AKST AKDT|80 70 70 70 80 90 90 80|01203030303030303030303030403030356767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676|-17T20 8x10 iy0 Vo10 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cM0 1cM0 1cL0 1cN0 1fz0 1a10 1fz0 co0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|33e3","America/Kentucky/Louisville|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|0101010102301010101010101010101010101454545454545414545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 3Fd0 Nb0 LPd0 11z0 RB0 8x30 iw0 Bb0 10N0 2bB0 8in0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 xz0 gso0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1VA0 LA0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Kentucky/Monticello|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|0101023010101010101010101010101010101010101010101010101010101010101010101454545454545454545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 SWp0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11A0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/La_Paz|CMT BST -04|4w.A 3w.A 40|012|-1x37r.o 13b0|19e5","America/Lima|LMT -05 -04|58.A 50 40|0121212121212121|-2tyGP.o 1bDzP.o zX0 1aN0 1cL0 1cN0 1cL0 1PrB0 zX0 1O10 zX0 6Gp0 zX0 98p0 zX0|11e6","America/Los_Angeles|PST PDT PWT PPT|80 70 70 70|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261q0 1nX0 11B0 1nX0 SgN0 8x10 iy0 5Wp1 1VaX 3dA0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1a00 1fA0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|15e6","America/Maceio|LMT -03 -02|2m.Q 30 20|012121212121212121212121212121212121212121|-2glxB.8 HdLB.8 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 dMN0 Lz0 8Q10 WL0 1tB0 5z0 2mN0 On0|93e4","America/Managua|MMT CST EST CDT|5J.c 60 50 50|0121313121213131|-1quie.M 1yAMe.M 4mn0 9Up0 Dz0 1K10 Dz0 s3F0 1KH0 DB0 9In0 k8p0 19X0 1o30 11y0|22e5","America/Manaus|LMT -04 -03|40.4 40 30|01212121212121212121212121212121|-2glvX.U HdKX.U 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 dPB0 On0|19e5","America/Martinique|FFMT AST ADT|44.k 40 30|0121|-2mPTT.E 2LPbT.E 19X0|39e4","America/Matamoros|LMT CST CDT|6E 60 50|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1UQG0 2FjC0 1nX0 i6p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 U10 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|45e4","America/Mazatlan|LMT MST CST PST MDT|75.E 70 60 80 60|0121212131414141414141414141414141414141414141414141414141414141414141414141414141414141414141|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 otX0 gmN0 P2N0 13Vd0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0|44e4","America/Menominee|CST CDT CWT CPT EST|60 50 50 50 50|01010230101041010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 1o10 11z0 LCN0 1fz0 6410 9Jb0 1cM0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|85e2","America/Merida|LMT CST EST CDT|5W.s 60 50 50|0121313131313131313131313131313131313131313131313131313131313131313131313131313131313131|-1UQG0 2q2o0 2hz0 wu30 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0|11e5","America/Metlakatla|PST PWT PPT PDT AKST AKDT|80 70 70 70 90 80|0120303030303030303030303030303030454545454545454545454545454545454545454545454|-17T20 8x10 iy0 Vo10 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1hU10 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|14e2","America/Mexico_City|LMT MST CST CDT CWT|6A.A 70 60 50 50|012121232324232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 gEn0 TX0 3xd0 Jb0 6zB0 SL0 e5d0 17b0 1Pff0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0|20e6","America/Miquelon|LMT AST -03 -02|3I.E 40 30 20|012323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-2mKkf.k 2LTAf.k gQ10 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|61e2","America/Moncton|EST AST ADT AWT APT|50 40 30 30 30|012121212121212121212134121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2IsH0 CwN0 1in0 zAo0 An0 1Nd0 An0 1Nd0 An0 1Nd0 An0 1Nd0 An0 1Nd0 An0 1K10 Lz0 1zB0 NX0 1u10 Wn0 S20 8x50 iu0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 3Cp0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14n1 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 ReX 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|64e3","America/Monterrey|LMT CST CDT|6F.g 60 50|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1UQG0 2FjC0 1nX0 i6p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0|41e5","America/Montevideo|LMT MMT -04 -03 -0330 -0230 -02 -0130|3I.P 3I.P 40 30 3u 2u 20 1u|012343434343434343434343435353636353636375363636363636363636363636363636363636363636363|-2tRUf.9 sVc0 8jcf.9 1db0 1dcu 1cLu 1dcu 1cLu ircu 11zu 1o0u 11zu 1o0u 11zu 1o0u 11zu 1qMu WLu 1qMu WLu 1fAu 1cLu 1o0u 11zu NAu 3jXu zXu Dq0u 19Xu pcu jz0 cm10 19X0 6tB0 1fbu 3o0u jX0 4vB0 xz0 3Cp0 mmu 1a10 IMu Db0 4c10 uL0 1Nd0 An0 1SN0 uL0 mp0 28L0 iPB0 un0 1SN0 xz0 1zd0 Lz0 1zd0 Rb0 1zd0 On0 1wp0 Rb0 s8p0 1fB0 1ip0 11z0 1ld0 14n0 1o10 11z0 1o10 11z0 1o10 14n0 1ld0 14n0 1ld0 14n0 1o10 11z0 1o10 11z0 1o10 11z0|17e5","America/Toronto|EST EDT EWT EPT|50 40 40 40|01010101010101010101010101010101010101010101012301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-25TR0 1in0 11Wu 1nzu 1fD0 WJ0 1wr0 Nb0 1Ap0 On0 1zd0 On0 1wp0 TX0 1tB0 TX0 1tB0 TX0 1tB0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 4kM0 8x40 iv0 1o10 11z0 1nX0 11z0 1o10 11z0 1o10 1qL0 11D0 1nX0 11B0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|65e5","America/Nassau|LMT EST EDT|59.u 50 40|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2kNuO.u 26XdO.u 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|24e4","America/New_York|EST EDT EWT EPT|50 40 40 40|01010101010101010101010101010101010101010101010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261t0 1nX0 11B0 1nX0 11B0 1qL0 1a10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 RB0 8x40 iv0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|21e6","America/Nipigon|EST EDT EWT EPT|50 40 40 40|010123010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-25TR0 1in0 Rnb0 3je0 8x40 iv0 19yN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|16e2","America/Nome|NST NWT NPT BST BDT YST AKST AKDT|b0 a0 a0 b0 a0 90 90 80|012034343434343434343434343434343456767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676|-17SX0 8wW0 iB0 Qlb0 52O0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 cl0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|38e2","America/Noronha|LMT -02 -01|29.E 20 10|0121212121212121212121212121212121212121|-2glxO.k HdKO.k 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 nsp0 WL0 1tB0 2L0 2pB0 On0|30e2","America/North_Dakota/Beulah|MST MDT MWT MPT CST CDT|70 60 60 60 60 50|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101014545454545454545454545454545454545454545454545454545454|-261r0 1nX0 11B0 1nX0 SgN0 8x20 ix0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Oo0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/North_Dakota/Center|MST MDT MWT MPT CST CDT|70 60 60 60 60 50|010102301010101010101010101010101010101010101010101010101014545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-261r0 1nX0 11B0 1nX0 SgN0 8x20 ix0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14o0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/North_Dakota/New_Salem|MST MDT MWT MPT CST CDT|70 60 60 60 60 50|010102301010101010101010101010101010101010101010101010101010101010101010101010101454545454545454545454545454545454545454545454545454545454545454545454|-261r0 1nX0 11B0 1nX0 SgN0 8x20 ix0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14o0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Ojinaga|LMT MST CST CDT MDT|6V.E 70 60 50 60|0121212323241414141414141414141414141414141414141414141414141414141414141414141414141414141|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 2zQN0 1lb0 14p0 1lb0 14q0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 U10 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|23e3","America/Pangnirtung|-00 AST AWT APT ADDT ADT EDT EST CST CDT|0 40 30 30 20 30 40 50 60 50|012314151515151515151515151515151515167676767689767676767676767676767676767676767676767676767676767676767676767676767676767|-1XiM0 PnG0 8x50 iu0 LCL0 1fA0 zgO0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1o00 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11C0 1nX0 11A0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|14e2","America/Paramaribo|LMT PMT PMT -0330 -03|3E.E 3E.Q 3E.A 3u 30|01234|-2nDUj.k Wqo0.c qanX.I 1yVXN.o|24e4","America/Phoenix|MST MDT MWT|70 60 60|01010202010|-261r0 1nX0 11B0 1nX0 SgN0 4Al1 Ap0 1db0 SWqX 1cL0|42e5","America/Port-au-Prince|PPMT EST EDT|4N 50 40|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-28RHb 2FnMb 19X0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14q0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 i6n0 1nX0 11B0 1nX0 d430 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 3iN0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|23e5","America/Rio_Branco|LMT -05 -04|4v.c 50 40|01212121212121212121212121212121|-2glvs.M HdLs.M 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 NBd0 d5X0|31e4","America/Porto_Velho|LMT -04 -03|4f.A 40 30|012121212121212121212121212121|-2glvI.o HdKI.o 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0|37e4","America/Puerto_Rico|AST AWT APT|40 30 30|0120|-17lU0 7XT0 iu0|24e5","America/Punta_Arenas|SMT -05 -04 -03|4G.K 50 40 30|0102021212121212121232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323|-2q2jh.e fJAh.e 5knG.K 1Vzh.e jRAG.K 1pbh.e 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 nHX0 op0 blz0 ko0 Qeo0 WL0 1zd0 On0 1ip0 11z0 1o10 11z0 1qN0 WL0 1ld0 14n0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 1cL0 1cN0 11z0 1o10 11z0 1qN0 WL0 1fB0 19X0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1ip0 1fz0 1fB0 11z0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1o10 19X0 1fB0 1nX0 G10 1EL0 Op0 1zb0 Rd0 1wn0 Rd0 46n0 Ap0","America/Rainy_River|CST CDT CWT CPT|60 50 50 50|010123010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-25TQ0 1in0 Rnb0 3je0 8x30 iw0 19yN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|842","America/Rankin_Inlet|-00 CST CDDT CDT EST|0 60 40 50 50|012131313131313131313131313131313131313131313431313131313131313131313131313131313131313131313131313131313131313131313131|-vDc0 keu0 1fA0 zgO0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|26e2","America/Recife|LMT -03 -02|2j.A 30 20|0121212121212121212121212121212121212121|-2glxE.o HdLE.o 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 nsp0 WL0 1tB0 2L0 2pB0 On0|33e5","America/Regina|LMT MST MDT MWT MPT CST|6W.A 70 60 60 60 60|012121212121212121212121341212121212121212121212121215|-2AD51.o uHe1.o 1in0 s2L0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 66N0 1cL0 1cN0 19X0 1fB0 1cL0 1fB0 1cL0 1cN0 1cL0 M30 8x20 ix0 1ip0 1cL0 1ip0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 3NB0 1cL0 1cN0|19e4","America/Resolute|-00 CST CDDT CDT EST|0 60 40 50 50|012131313131313131313131313131313131313131313431313131313431313131313131313131313131313131313131313131313131313131313131|-SnA0 GWS0 1fA0 zgO0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|229","America/Santarem|LMT -04 -03|3C.M 40 30|0121212121212121212121212121212|-2glwl.c HdLl.c 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 NBd0|21e4","America/Santiago|SMT -05 -04 -03|4G.K 50 40 30|010202121212121212321232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323|-2q2jh.e fJAh.e 5knG.K 1Vzh.e jRAG.K 1pbh.e 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 nHX0 op0 9Bz0 jb0 1oN0 ko0 Qeo0 WL0 1zd0 On0 1ip0 11z0 1o10 11z0 1qN0 WL0 1ld0 14n0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 1cL0 1cN0 11z0 1o10 11z0 1qN0 WL0 1fB0 19X0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1ip0 1fz0 1fB0 11z0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1o10 19X0 1fB0 1nX0 G10 1EL0 Op0 1zb0 Rd0 1wn0 Rd0 46n0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Dd0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Dd0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Dd0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0|62e5","America/Santo_Domingo|SDMT EST EDT -0430 AST|4E 50 40 4u 40|01213131313131414|-1ttjk 1lJMk Mn0 6sp0 Lbu 1Cou yLu 1RAu wLu 1QMu xzu 1Q0u xXu 1PAu 13jB0 e00|29e5","America/Sao_Paulo|LMT -03 -02|36.s 30 20|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212|-2glwR.w HdKR.w 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 pTd0 PX0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 1EN0 Lz0 1C10 IL0 1HB0 Db0 1HB0 On0 1zd0 On0 1zd0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 1C10 Lz0 1Ip0 HX0 1zd0 On0 1HB0 IL0 1wp0 On0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 Rb0 1zd0 Lz0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 On0 1zd0 On0 1HB0 FX0 1HB0 FX0 1HB0 IL0 1HB0 FX0 1HB0 IL0 1EN0 FX0 1HB0 FX0 1HB0 IL0 1EN0 IL0 1HB0 FX0 1HB0 FX0 1HB0 FX0 1HB0 FX0 1HB0 FX0 1Kp0 FX0 1HB0 IL0 1EN0 FX0 1HB0 FX0 1HB0 IL0 1EN0|20e6","America/Scoresbysund|LMT -02 -01 +00|1r.Q 20 10 0|0121323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-2a5Ww.8 2z5ew.8 1a00 1cK0 1cL0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|452","America/Sitka|PST PWT PPT PDT YST AKST AKDT|80 70 70 70 90 90 80|01203030303030303030303030303030345656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565|-17T20 8x10 iy0 Vo10 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 co0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|90e2","America/St_Johns|NST NDT NST NDT NWT NPT NDDT|3u.Q 2u.Q 3u 2u 2u 2u 1u|01010101010101010101010101010101010102323232323232324523232323232323232323232323232323232323232323232323232323232323232323232323232323232326232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-28oit.8 14L0 1nB0 1in0 1gm0 Dz0 1JB0 1cL0 1cN0 1cL0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1fB0 1cL0 1cN0 1cL0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1fB0 1cL0 1fB0 19X0 1fB0 19X0 10O0 eKX.8 19X0 1iq0 WL0 1qN0 WL0 1qN0 WL0 1tB0 TX0 1tB0 WL0 1qN0 WL0 1qN0 7UHu itu 1tB0 WL0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1tB0 WL0 1ld0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14n1 1lb0 14p0 1nW0 11C0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zcX Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|11e4","America/Swift_Current|LMT MST MDT MWT MPT CST|7b.k 70 60 60 60 60|012134121212121212121215|-2AD4M.E uHdM.E 1in0 UGp0 8x20 ix0 1o10 17b0 1ip0 11z0 1o10 11z0 1o10 11z0 isN0 1cL0 3Cp0 1cL0 1cN0 11z0 1qN0 WL0 pMp0|16e3","America/Tegucigalpa|LMT CST CDT|5M.Q 60 50|01212121|-1WGGb.8 2ETcb.8 WL0 1qN0 WL0 GRd0 AL0|11e5","America/Thule|LMT AST ADT|4z.8 40 30|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2a5To.Q 31NBo.Q 1cL0 1cN0 1cL0 1fB0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|656","America/Thunder_Bay|CST EST EWT EPT EDT|60 50 40 40 40|0123141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141|-2q5S0 1iaN0 8x40 iv0 XNB0 1cL0 1cN0 1fz0 1cN0 1cL0 3Cp0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|11e4","America/Vancouver|PST PDT PWT PPT|80 70 70 70|0102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-25TO0 1in0 UGp0 8x10 iy0 1o10 17b0 1ip0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|23e5","America/Whitehorse|YST YDT YWT YPT YDDT PST PDT|90 80 80 80 70 80 70|0101023040565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565|-25TN0 1in0 1o10 13V0 Ser0 8x00 iz0 LCL0 1fA0 3NA0 vrd0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|23e3","America/Winnipeg|CST CDT CWT CPT|60 50 50 50|010101023010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aIi0 WL0 3ND0 1in0 Jap0 Rb0 aCN0 8x30 iw0 1tB0 11z0 1ip0 11z0 1o10 11z0 1o10 11z0 1rd0 10L0 1op0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 1cL0 1cN0 11z0 6i10 WL0 6i10 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1a00 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1a00 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|66e4","America/Yakutat|YST YWT YPT YDT AKST AKDT|90 80 80 80 90 80|01203030303030303030303030303030304545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-17T10 8x00 iz0 Vo10 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 cn0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|642","America/Yellowknife|-00 MST MWT MPT MDDT MDT|0 70 60 60 50 60|012314151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151|-1pdA0 hix0 8x20 ix0 LCL0 1fA0 zgO0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|19e3","Antarctica/Casey|-00 +08 +11|0 -80 -b0|01212121|-2q00 1DjS0 T90 40P0 KL0 blz0 3m10|10","Antarctica/Davis|-00 +07 +05|0 -70 -50|01012121|-vyo0 iXt0 alj0 1D7v0 VB0 3Wn0 KN0|70","Antarctica/DumontDUrville|-00 +10|0 -a0|0101|-U0o0 cfq0 bFm0|80","Antarctica/Macquarie|AEST AEDT -00 +11|-a0 -b0 0 -b0|0102010101010101010101010101010101010101010101010101010101010101010101010101010101010101013|-29E80 19X0 4SL0 1ayy0 Lvs0 1cM0 1o00 Rc0 1wo0 Rc0 1wo0 U00 1wo0 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 11A0 1qM0 WM0 1qM0 Oo0 1zc0 Oo0 1zc0 Oo0 1wo0 WM0 1tA0 WM0 1tA0 U00 1tA0 U00 1tA0 11A0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 11A0 1o00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1cM0 1cM0 1cM0|1","Antarctica/Mawson|-00 +06 +05|0 -60 -50|012|-CEo0 2fyk0|60","Pacific/Auckland|NZMT NZST NZST NZDT|-bu -cu -c0 -d0|01020202020202020202020202023232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323|-1GCVu Lz0 1tB0 11zu 1o0u 11zu 1o0u 11zu 1o0u 14nu 1lcu 14nu 1lcu 1lbu 11Au 1nXu 11Au 1nXu 11Au 1nXu 11Au 1nXu 11Au 1qLu WMu 1qLu 11Au 1n1bu IM0 1C00 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1qM0 14o0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1io0 17c0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1io0 17c0 1io0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00|14e5","Antarctica/Palmer|-00 -03 -04 -02|0 30 40 20|0121212121213121212121212121212121212121212121212121212121212121212121212121212121|-cao0 nD0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 jsN0 14N0 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 1cL0 1cN0 11z0 1o10 11z0 1qN0 WL0 1fB0 19X0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1ip0 1fz0 1fB0 11z0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1o10 19X0 1fB0 1nX0 G10 1EL0 Op0 1zb0 Rd0 1wn0 Rd0 46n0 Ap0|40","Antarctica/Rothera|-00 -03|0 30|01|gOo0|130","Antarctica/Syowa|-00 +03|0 -30|01|-vs00|20","Antarctica/Troll|-00 +00 +02|0 0 -20|01212121212121212121212121212121212121212121212121212121212121212121|1puo0 hd0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|40","Antarctica/Vostok|-00 +06|0 -60|01|-tjA0|25","Europe/Oslo|CET CEST|-10 -20|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2awM0 Qm0 W6o0 5pf0 WM0 1fA0 1cM0 1cM0 1cM0 1cM0 wJc0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1qM0 WM0 zpc0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|62e4","Asia/Riyadh|LMT +03|-36.Q -30|01|-TvD6.Q|57e5","Asia/Almaty|LMT +05 +06 +07|-57.M -50 -60 -70|012323232323232323232321232323232323232323232323232|-1Pc57.M eUo7.M 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0|15e5","Asia/Amman|LMT EET EEST|-2n.I -20 -30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1yW2n.I 1HiMn.I KL0 1oN0 11b0 1oN0 11b0 1pd0 1dz0 1cp0 11b0 1op0 11b0 fO10 1db0 1e10 1cL0 1cN0 1cL0 1cN0 1fz0 1pd0 10n0 1ld0 14n0 1hB0 15b0 1ip0 19X0 1cN0 1cL0 1cN0 17b0 1ld0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1So0 y00 1fc0 1dc0 1co0 1dc0 1cM0 1cM0 1cM0 1o00 11A0 1lc0 17c0 1cM0 1cM0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 4bX0 Dd0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0|25e5","Asia/Anadyr|LMT +12 +13 +14 +11|-bN.U -c0 -d0 -e0 -b0|01232121212121212121214121212121212121212121212121212121212141|-1PcbN.U eUnN.U 23CL0 1db0 2q10 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 2sp0 WM0|13e3","Asia/Aqtau|LMT +04 +05 +06|-3l.4 -40 -50 -60|012323232323232323232123232312121212121212121212|-1Pc3l.4 eUnl.4 24PX0 2pX0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0|15e4","Asia/Aqtobe|LMT +04 +05 +06|-3M.E -40 -50 -60|0123232323232323232321232323232323232323232323232|-1Pc3M.E eUnM.E 23CL0 3Db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0|27e4","Asia/Ashgabat|LMT +04 +05 +06|-3R.w -40 -50 -60|0123232323232323232323212|-1Pc3R.w eUnR.w 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0|41e4","Asia/Atyrau|LMT +03 +05 +06 +04|-3r.I -30 -50 -60 -40|01232323232323232323242323232323232324242424242|-1Pc3r.I eUor.I 24PW0 2pX0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 2sp0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0","Asia/Baghdad|BMT +03 +04|-2V.A -30 -40|012121212121212121212121212121212121212121212121212121|-26BeV.A 2ACnV.A 11b0 1cp0 1dz0 1dd0 1db0 1cN0 1cp0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1de0 1dc0 1dc0 1dc0 1cM0 1dc0 1cM0 1dc0 1cM0 1dc0 1dc0 1dc0 1cM0 1dc0 1cM0 1dc0 1cM0 1dc0 1dc0 1dc0 1cM0 1dc0 1cM0 1dc0 1cM0 1dc0 1dc0 1dc0 1cM0 1dc0 1cM0 1dc0 1cM0 1dc0|66e5","Asia/Qatar|LMT +04 +03|-3q.8 -40 -30|012|-21Jfq.8 27BXq.8|96e4","Asia/Baku|LMT +03 +04 +05|-3j.o -30 -40 -50|01232323232323232323232123232323232323232323232323232323232323232|-1Pc3j.o 1jUoj.o WCL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 1cM0 9Je0 1o00 11z0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|27e5","Asia/Bangkok|BMT +07|-6G.4 -70|01|-218SG.4|15e6","Asia/Barnaul|LMT +06 +07 +08|-5z -60 -70 -80|0123232323232323232323212323232321212121212121212121212121212121212|-21S5z pCnz 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 p90 LE0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3rd0","Asia/Beirut|EET EEST|-20 -30|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-21aq0 1on0 1410 1db0 19B0 1in0 1ip0 WL0 1lQp0 11b0 1oN0 11b0 1oN0 11b0 1pd0 11b0 1oN0 11b0 q6N0 En0 1oN0 11b0 1oN0 11b0 1oN0 11b0 1pd0 11b0 1oN0 11b0 1op0 11b0 dA10 17b0 1iN0 17b0 1iN0 17b0 1iN0 17b0 1vB0 SL0 1mp0 13z0 1iN0 17b0 1iN0 17b0 1jd0 12n0 1a10 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0|22e5","Asia/Bishkek|LMT +05 +06 +07|-4W.o -50 -60 -70|012323232323232323232321212121212121212121212121212|-1Pc4W.o eUnW.o 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2e00 1tX0 17b0 1ip0 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1cPu 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0|87e4","Asia/Brunei|LMT +0730 +08|-7D.E -7u -80|012|-1KITD.E gDc9.E|42e4","Asia/Kolkata|MMT IST +0630|-5l.a -5u -6u|012121|-2zOtl.a 1r2LP.a 1un0 HB0 7zX0|15e6","Asia/Chita|LMT +08 +09 +10|-7x.Q -80 -90 -a0|012323232323232323232321232323232323232323232323232323232323232312|-21Q7x.Q pAnx.Q 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3re0|33e4","Asia/Choibalsan|LMT +07 +08 +10 +09|-7C -70 -80 -a0 -90|0123434343434343434343434343434343434343434343424242|-2APHC 2UkoC cKn0 1da0 1dd0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 6hD0 11z0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 3Db0 h1f0 1cJ0 1cP0 1cJ0|38e3","Asia/Shanghai|CST CDT|-80 -90|01010101010101010|-1c1I0 LX0 16p0 1jz0 1Myp0 Rb0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0|23e6","Asia/Colombo|MMT +0530 +06 +0630|-5j.w -5u -60 -6u|01231321|-2zOtj.w 1rFbN.w 1zzu 7Apu 23dz0 11zu n3cu|22e5","Asia/Dhaka|HMT +0630 +0530 +06 +07|-5R.k -6u -5u -60 -70|0121343|-18LFR.k 1unn.k HB0 m6n0 2kxbu 1i00|16e6","Asia/Damascus|LMT EET EEST|-2p.c -20 -30|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-21Jep.c Hep.c 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1xRB0 11X0 1oN0 10L0 1pB0 11b0 1oN0 10L0 1mp0 13X0 1oN0 11b0 1pd0 11b0 1oN0 11b0 1oN0 11b0 1oN0 11b0 1pd0 11b0 1oN0 11b0 1oN0 11b0 1oN0 11b0 1pd0 11b0 1oN0 Nb0 1AN0 Nb0 bcp0 19X0 1gp0 19X0 3ld0 1xX0 Vd0 1Bz0 Sp0 1vX0 10p0 1dz0 1cN0 1cL0 1db0 1db0 1g10 1an0 1ap0 1db0 1fd0 1db0 1cN0 1db0 1dd0 1db0 1cp0 1dz0 1c10 1dX0 1cN0 1db0 1dd0 1db0 1cN0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1db0 1cN0 1db0 1cN0 19z0 1fB0 1qL0 11B0 1on0 Wp0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0|26e5","Asia/Dili|LMT +08 +09|-8m.k -80 -90|01212|-2le8m.k 1dnXm.k 1nfA0 Xld0|19e4","Asia/Dubai|LMT +04|-3F.c -40|01|-21JfF.c|39e5","Asia/Dushanbe|LMT +05 +06 +07|-4z.c -50 -60 -70|012323232323232323232321|-1Pc4z.c eUnz.c 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2hB0|76e4","Asia/Famagusta|LMT EET EEST +03|-2f.M -20 -30 -30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212312121212121212121212121212121212121212121|-1Vc2f.M 2a3cf.M 1cL0 1qp0 Xz0 19B0 19X0 1fB0 1db0 1cp0 1cL0 1fB0 19X0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1o30 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 15U0 2Ks0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","Asia/Gaza|EET EEST IST IDT|-20 -30 -20 -30|010101010101010101010101010101012323232323232323232323232320101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-1c2q0 5Rb0 10r0 1px0 10N0 1pz0 16p0 1jB0 16p0 1jx0 pBd0 Vz0 1oN0 11b0 1oO0 10N0 1pz0 10N0 1pb0 10N0 1pb0 10N0 1pb0 10N0 1pz0 10N0 1pb0 10N0 1pb0 11d0 1oL0 dW0 hfB0 Db0 1fB0 Rb0 npB0 11z0 1C10 IL0 1s10 10n0 1o10 WL0 1zd0 On0 1ld0 11z0 1o10 14n0 1o10 14n0 1nd0 12n0 1nd0 Xz0 1q10 12n0 M10 C00 17c0 1io0 17c0 1io0 17c0 1o00 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 17c0 1io0 18N0 1bz0 19z0 1gp0 1610 1iL0 11z0 1o10 14o0 1lA1 SKX 1xd1 MKX 1AN0 1a00 1fA0 1cL0 1cN0 1nX0 1210 1nz0 1220 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1qL0|18e5","Asia/Hebron|EET EEST IST IDT|-20 -30 -20 -30|01010101010101010101010101010101232323232323232323232323232010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-1c2q0 5Rb0 10r0 1px0 10N0 1pz0 16p0 1jB0 16p0 1jx0 pBd0 Vz0 1oN0 11b0 1oO0 10N0 1pz0 10N0 1pb0 10N0 1pb0 10N0 1pb0 10N0 1pz0 10N0 1pb0 10N0 1pb0 11d0 1oL0 dW0 hfB0 Db0 1fB0 Rb0 npB0 11z0 1C10 IL0 1s10 10n0 1o10 WL0 1zd0 On0 1ld0 11z0 1o10 14n0 1o10 14n0 1nd0 12n0 1nd0 Xz0 1q10 12n0 M10 C00 17c0 1io0 17c0 1io0 17c0 1o00 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 17c0 1io0 18N0 1bz0 19z0 1gp0 1610 1iL0 12L0 1mN0 14o0 1lc0 Tb0 1xd1 MKX bB0 cn0 1cN0 1a00 1fA0 1cL0 1cN0 1nX0 1210 1nz0 1220 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1qL0|25e4","Asia/Ho_Chi_Minh|LMT PLMT +07 +08 +09|-76.E -76.u -70 -80 -90|0123423232|-2yC76.E bK00.a 1h7b6.u 5lz0 18o0 3Oq0 k5b0 aW00 BAM0|90e5","Asia/Hong_Kong|LMT HKT HKST JST|-7A.G -80 -90 -90|0121312121212121212121212121212121212121212121212121212121212121212121|-2CFHA.G 1sEP6.G 1cL0 ylu 93X0 1qQu 1tX0 Rd0 1In0 NB0 1cL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1kL0 14N0 1nX0 U10 1tz0 U10 1wn0 Rd0 1wn0 U10 1tz0 U10 1tz0 U10 1tz0 U10 1wn0 Rd0 1wn0 Rd0 1wn0 U10 1tz0 U10 1tz0 17d0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 s10 1Vz0 1cN0 1cL0 1cN0 1cL0 6fd0 14n0|73e5","Asia/Hovd|LMT +06 +07 +08|-66.A -60 -70 -80|012323232323232323232323232323232323232323232323232|-2APG6.A 2Uko6.A cKn0 1db0 1dd0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 6hD0 11z0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 kEp0 1cJ0 1cP0 1cJ0|81e3","Asia/Irkutsk|IMT +07 +08 +09|-6V.5 -70 -80 -90|01232323232323232323232123232323232323232323232323232323232323232|-21zGV.5 pjXV.5 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|60e4","Europe/Istanbul|IMT EET EEST +04 +03|-1U.U -20 -30 -40 -30|012121212121212121212121212121212121212121212121212121234343434342121212121212121212121212121212121212121212121212121212121212124|-2ogNU.U dzzU.U 11b0 8tB0 1on0 1410 1db0 19B0 1in0 3Rd0 Un0 1oN0 11b0 zSp0 CL0 mN0 1Vz0 1gN0 1pz0 5Rd0 1fz0 1yp0 ML0 1kp0 17b0 1ip0 17b0 1fB0 19X0 1jB0 18L0 1ip0 17z0 qdd0 xX0 3S10 Tz0 dA10 11z0 1o10 11z0 1qN0 11z0 1ze0 11B0 WM0 1qO0 WI0 1nX0 1rB0 10L0 11B0 1in0 17d0 1in0 2pX0 19E0 1fU0 16Q0 1iI0 16Q0 1iI0 1Vd0 pb0 3Kp0 14o0 1de0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1a00 1fA0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WO0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 Xc0 1qo0 WM0 1qM0 11A0 1o00 1200 1nA0 11A0 1tA0 U00 15w0|13e6","Asia/Jakarta|BMT +0720 +0730 +09 +08 WIB|-77.c -7k -7u -90 -80 -70|01232425|-1Q0Tk luM0 mPzO 8vWu 6kpu 4PXu xhcu|31e6","Asia/Jayapura|LMT +09 +0930 WIT|-9m.M -90 -9u -90|0123|-1uu9m.M sMMm.M L4nu|26e4","Asia/Jerusalem|JMT IST IDT IDDT|-2k.E -20 -30 -40|01212121212132121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-26Bek.E SyMk.E 5Rb0 10r0 1px0 10N0 1pz0 16p0 1jB0 16p0 1jx0 3LB0 Em0 or0 1cn0 1dB0 16n0 10O0 1ja0 1tC0 14o0 1cM0 1a00 11A0 1Na0 An0 1MP0 AJ0 1Kp0 LC0 1oo0 Wl0 EQN0 Db0 1fB0 Rb0 npB0 11z0 1C10 IL0 1s10 10n0 1o10 WL0 1zd0 On0 1ld0 11z0 1o10 14n0 1o10 14n0 1nd0 12n0 1nd0 Xz0 1q10 12n0 1hB0 1dX0 1ep0 1aL0 1eN0 17X0 1nf0 11z0 1tB0 19W0 1e10 17b0 1ep0 1gL0 18N0 1fz0 1eN0 17b0 1gq0 1gn0 19d0 1dz0 1c10 17X0 1hB0 1gn0 19d0 1dz0 1c10 17X0 1kp0 1dz0 1c10 1aL0 1eN0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0|81e4","Asia/Kabul|+04 +0430|-40 -4u|01|-10Qs0|46e5","Asia/Kamchatka|LMT +11 +12 +13|-ay.A -b0 -c0 -d0|012323232323232323232321232323232323232323232323232323232323212|-1SLKy.A ivXy.A 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 2sp0 WM0|18e4","Asia/Karachi|LMT +0530 +0630 +05 PKT PKST|-4s.c -5u -6u -50 -50 -60|012134545454|-2xoss.c 1qOKW.c 7zX0 eup0 LqMu 1fy00 1cL0 dK10 11b0 1610 1jX0|24e6","Asia/Urumqi|LMT +06|-5O.k -60|01|-1GgtO.k|32e5","Asia/Kathmandu|LMT +0530 +0545|-5F.g -5u -5J|012|-21JhF.g 2EGMb.g|12e5","Asia/Khandyga|LMT +08 +09 +10 +11|-92.d -80 -90 -a0 -b0|0123232323232323232323212323232323232323232323232343434343434343432|-21Q92.d pAp2.d 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 qK0 yN0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 17V0 7zD0|66e2","Asia/Krasnoyarsk|LMT +06 +07 +08|-6b.q -60 -70 -80|01232323232323232323232123232323232323232323232323232323232323232|-21Hib.q prAb.q 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|10e5","Asia/Kuala_Lumpur|SMT +07 +0720 +0730 +09 +08|-6T.p -70 -7k -7u -90 -80|0123435|-2Bg6T.p 17anT.p l5XE 17bO 8Fyu 1so1u|71e5","Asia/Kuching|LMT +0730 +08 +0820 +09|-7l.k -7u -80 -8k -90|0123232323232323242|-1KITl.k gDbP.k 6ynu AnE 1O0k AnE 1NAk AnE 1NAk AnE 1NAk AnE 1O0k AnE 1NAk AnE pAk 8Fz0|13e4","Asia/Macau|LMT CST CDT|-7y.k -80 -90|012121212121212121212121212121212121212121|-2le80 1XO3u 1wn0 Rd0 1wn0 R9u 1wqu U10 1tz0 TVu 1tz0 17gu 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cJu 1cL0 1cN0 1fz0 1cN0 1cOu 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cJu 1cL0 1cN0 1fz0 1cN0 1cL0|57e4","Asia/Magadan|LMT +10 +11 +12|-a3.c -a0 -b0 -c0|012323232323232323232321232323232323232323232323232323232323232312|-1Pca3.c eUo3.c 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3Cq0|95e3","Asia/Makassar|LMT MMT +08 +09 WITA|-7V.A -7V.A -80 -90 -80|01234|-21JjV.A vfc0 myLV.A 8ML0|15e5","Asia/Manila|+08 +09|-80 -90|010101010|-1kJI0 AL0 cK10 65X0 mXB0 vX0 VK10 1db0|24e6","Asia/Nicosia|LMT EET EEST|-2d.s -20 -30|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1Vc2d.s 2a3cd.s 1cL0 1qp0 Xz0 19B0 19X0 1fB0 1db0 1cp0 1cL0 1fB0 19X0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1o30 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|32e4","Asia/Novokuznetsk|LMT +06 +07 +08|-5M.M -60 -70 -80|012323232323232323232321232323232323232323232323232323232323212|-1PctM.M eULM.M 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 2sp0 WM0|55e4","Asia/Novosibirsk|LMT +06 +07 +08|-5v.E -60 -70 -80|0123232323232323232323212323212121212121212121212121212121212121212|-21Qnv.E pAFv.E 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 ml0 Os0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 4eN0|15e5","Asia/Omsk|LMT +05 +06 +07|-4R.u -50 -60 -70|01232323232323232323232123232323232323232323232323232323232323232|-224sR.u pMLR.u 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|12e5","Asia/Oral|LMT +03 +05 +06 +04|-3p.o -30 -50 -60 -40|01232323232323232424242424242424242424242424242|-1Pc3p.o eUop.o 23CK0 3Db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1fA0 1cM0 1cM0 IM0 1EM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0|27e4","Asia/Pontianak|LMT PMT +0730 +09 +08 WITA WIB|-7h.k -7h.k -7u -90 -80 -80 -70|012324256|-2ua7h.k XE00 munL.k 8Rau 6kpu 4PXu xhcu Wqnu|23e4","Asia/Pyongyang|LMT KST JST KST|-8n -8u -90 -90|012313|-2um8n 97XR 1lTzu 2Onc0 6BAu|29e5","Asia/Qyzylorda|LMT +04 +05 +06|-4l.Q -40 -50 -60|0123232323232323232323232323232323232323232323|-1Pc4l.Q eUol.Q 23CL0 3Db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 3ao0 1EM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0|73e4","Asia/Rangoon|RMT +0630 +09|-6o.L -6u -90|0121|-21Jio.L SmnS.L 7j9u|48e5","Asia/Sakhalin|LMT +09 +11 +12 +10|-9u.M -90 -b0 -c0 -a0|01232323232323232323232423232323232424242424242424242424242424242|-2AGVu.M 1BoMu.M 1qFa0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 2pB0 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3rd0|58e4","Asia/Samarkand|LMT +04 +05 +06|-4r.R -40 -50 -60|01232323232323232323232|-1Pc4r.R eUor.R 23CL0 3Db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0|36e4","Asia/Seoul|LMT KST JST KST KDT KDT|-8r.Q -8u -90 -90 -9u -a0|0123141414141414135353|-2um8r.Q 97XV.Q 1m1zu kKo0 2I0u OL0 1FB0 Rb0 1qN0 TX0 1tB0 TX0 1tB0 TX0 1tB0 TX0 2ap0 12FBu 11A0 1o00 11A0|23e6","Asia/Srednekolymsk|LMT +10 +11 +12|-ae.Q -a0 -b0 -c0|01232323232323232323232123232323232323232323232323232323232323232|-1Pcae.Q eUoe.Q 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|35e2","Asia/Taipei|CST JST CDT|-80 -90 -90|01020202020202020202020202020202020202020|-1iw80 joM0 1yo0 Tz0 1ip0 1jX0 1cN0 11b0 1oN0 11b0 1oN0 11b0 1oN0 11b0 10N0 1BX0 10p0 1pz0 10p0 1pz0 10p0 1db0 1dd0 1db0 1cN0 1db0 1cN0 1db0 1cN0 1db0 1BB0 ML0 1Bd0 ML0 uq10 1db0 1cN0 1db0 97B0 AL0|74e5","Asia/Tashkent|LMT +05 +06 +07|-4B.b -50 -60 -70|012323232323232323232321|-1Pc4B.b eUnB.b 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0|23e5","Asia/Tbilisi|TBMT +03 +04 +05|-2X.b -30 -40 -50|0123232323232323232323212121232323232323232323212|-1Pc2X.b 1jUnX.b WCL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 1cK0 1cL0 1cN0 1cL0 1cN0 2pz0 1cL0 1fB0 3Nz0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 An0 Os0 WM0|11e5","Asia/Tehran|LMT TMT +0330 +04 +05 +0430|-3p.I -3p.I -3u -40 -50 -4u|01234325252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252|-2btDp.I 1d3c0 1huLT.I TXu 1pz0 sN0 vAu 1cL0 1dB0 1en0 pNB0 UL0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 64p0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0|14e6","Asia/Thimphu|LMT +0530 +06|-5W.A -5u -60|012|-Su5W.A 1BGMs.A|79e3","Asia/Tokyo|JST JDT|-90 -a0|010101010|-QJJ0 Rb0 1ld0 14n0 1zd0 On0 1zd0 On0|38e6","Asia/Tomsk|LMT +06 +07 +08|-5D.P -60 -70 -80|0123232323232323232323212323232323232323232323212121212121212121212|-21NhD.P pxzD.P 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 co0 1bB0 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3Qp0|10e5","Asia/Ulaanbaatar|LMT +07 +08 +09|-77.w -70 -80 -90|012323232323232323232323232323232323232323232323232|-2APH7.w 2Uko7.w cKn0 1db0 1dd0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 6hD0 11z0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 kEp0 1cJ0 1cP0 1cJ0|12e5","Asia/Ust-Nera|LMT +08 +09 +12 +11 +10|-9w.S -80 -90 -c0 -b0 -a0|012343434343434343434345434343434343434343434343434343434343434345|-21Q9w.S pApw.S 23CL0 1d90 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 17V0 7zD0|65e2","Asia/Vladivostok|LMT +09 +10 +11|-8L.v -90 -a0 -b0|01232323232323232323232123232323232323232323232323232323232323232|-1SJIL.v itXL.v 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|60e4","Asia/Yakutsk|LMT +08 +09 +10|-8C.W -80 -90 -a0|01232323232323232323232123232323232323232323232323232323232323232|-21Q8C.W pAoC.W 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|28e4","Asia/Yekaterinburg|LMT PMT +04 +05 +06|-42.x -3J.5 -40 -50 -60|012343434343434343434343234343434343434343434343434343434343434343|-2ag42.x 7mQh.s qBvJ.5 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|14e5","Asia/Yerevan|LMT +03 +04 +05|-2W -30 -40 -50|0123232323232323232323212121212323232323232323232323232323232|-1Pc2W 1jUnW WCL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 4RX0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0|13e5","Atlantic/Azores|HMT -02 -01 +00 WET|1S.w 20 10 0 0|01212121212121212121212121212121212121212121232123212321232121212121212121212121212121212121212121232323232323232323232323232323234323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-2ldW0 aPX0 Sp0 LX0 1vc0 Tc0 1uM0 SM0 1vc0 Tc0 1vc0 SM0 1vc0 6600 1co0 3E00 17c0 1fA0 1a00 1io0 1a00 1io0 17c0 3I00 17c0 1cM0 1cM0 3Fc0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Dc0 1tA0 1cM0 1dc0 1400 gL0 IM0 s10 U00 dX0 Rc0 pd0 Rc0 gL0 Oo0 pd0 Rc0 gL0 Oo0 pd0 14o0 1cM0 1cP0 1cM0 1cM0 1cM0 1cM0 1cM0 3Co0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 qIl0 1cM0 1fA0 1cM0 1cM0 1cN0 1cL0 1cN0 1cM0 1cM0 1cM0 1cM0 1cN0 1cL0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cL0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|25e4","Atlantic/Bermuda|LMT AST ADT|4j.i 40 30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1BnRE.G 1LTbE.G 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|65e3","Atlantic/Canary|LMT -01 WET WEST|11.A 10 0 -10|01232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-1UtaW.o XPAW.o 1lAK0 1a10 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|54e4","Atlantic/Cape_Verde|LMT -02 -01|1y.4 20 10|01212|-2ldW0 1eEo0 7zX0 1djf0|50e4","Atlantic/Faroe|LMT WET WEST|r.4 0 -10|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2uSnw.U 2Wgow.U 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|49e3","Atlantic/Madeira|FMT -01 +00 +01 WET WEST|17.A 10 0 -10 0 -10|01212121212121212121212121212121212121212121232123212321232121212121212121212121212121212121212121454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-2ldX0 aPX0 Sp0 LX0 1vc0 Tc0 1uM0 SM0 1vc0 Tc0 1vc0 SM0 1vc0 6600 1co0 3E00 17c0 1fA0 1a00 1io0 1a00 1io0 17c0 3I00 17c0 1cM0 1cM0 3Fc0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Dc0 1tA0 1cM0 1dc0 1400 gL0 IM0 s10 U00 dX0 Rc0 pd0 Rc0 gL0 Oo0 pd0 Rc0 gL0 Oo0 pd0 14o0 1cM0 1cP0 1cM0 1cM0 1cM0 1cM0 1cM0 3Co0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 qIl0 1cM0 1fA0 1cM0 1cM0 1cN0 1cL0 1cN0 1cM0 1cM0 1cM0 1cM0 1cN0 1cL0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|27e4","Atlantic/Reykjavik|LMT -01 +00 GMT|1s 10 0 0|012121212121212121212121212121212121212121212121212121212121212121213|-2uWmw mfaw 1Bd0 ML0 1LB0 Cn0 1LB0 3fX0 C10 HrX0 1cO0 LB0 1EL0 LA0 1C00 Oo0 1wo0 Rc0 1wo0 Rc0 1wo0 Rc0 1zc0 Oo0 1zc0 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1lc0 14o0 1o00 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1o00 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1o00 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1o00 14o0|12e4","Atlantic/South_Georgia|-02|20|0||30","Atlantic/Stanley|SMT -04 -03 -02|3P.o 40 30 20|012121212121212323212121212121212121212121212121212121212121212121212|-2kJw8.A 12bA8.A 19X0 1fB0 19X0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 Cn0 1Cc10 WL0 1qL0 U10 1tz0 2mN0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1tz0 U10 1tz0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1tz0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qN0 U10 1wn0 Rd0 1wn0 U10 1tz0 U10 1tz0 U10 1tz0 U10 1tz0 U10 1wn0 U10 1tz0 U10 1tz0 U10|21e2","Australia/Sydney|AEST AEDT|-a0 -b0|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-293lX xcX 10jd0 yL0 1cN0 1cL0 1fB0 19X0 17c10 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 14o0 1o00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 U00 1qM0 WM0 1tA0 WM0 1tA0 U00 1tA0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 11A0 1o00 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 14o0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0|40e5","Australia/Adelaide|ACST ACDT|-9u -au|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-293lt xcX 10jd0 yL0 1cN0 1cL0 1fB0 19X0 17c10 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 U00 1qM0 WM0 1tA0 WM0 1tA0 U00 1tA0 U00 1tA0 Oo0 1zc0 WM0 1qM0 Rc0 1zc0 U00 1tA0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 14o0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0|11e5","Australia/Brisbane|AEST AEDT|-a0 -b0|01010101010101010|-293lX xcX 10jd0 yL0 1cN0 1cL0 1fB0 19X0 17c10 LA0 H1A0 Oo0 1zc0 Oo0 1zc0 Oo0|20e5","Australia/Broken_Hill|ACST ACDT|-9u -au|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-293lt xcX 10jd0 yL0 1cN0 1cL0 1fB0 19X0 17c10 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 14o0 1o00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 U00 1qM0 WM0 1tA0 WM0 1tA0 U00 1tA0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 14o0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0|18e3","Australia/Currie|AEST AEDT|-a0 -b0|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-29E80 19X0 10jd0 yL0 1cN0 1cL0 1fB0 19X0 17c10 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 11A0 1qM0 WM0 1qM0 Oo0 1zc0 Oo0 1zc0 Oo0 1wo0 WM0 1tA0 WM0 1tA0 U00 1tA0 U00 1tA0 11A0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 11A0 1o00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0|746","Australia/Darwin|ACST ACDT|-9u -au|010101010|-293lt xcX 10jd0 yL0 1cN0 1cL0 1fB0 19X0|12e4","Australia/Eucla|+0845 +0945|-8J -9J|0101010101010101010|-293kI xcX 10jd0 yL0 1cN0 1cL0 1gSp0 Oo0 l5A0 Oo0 iJA0 G00 zU00 IM0 1qM0 11A0 1o00 11A0|368","Australia/Hobart|AEST AEDT|-a0 -b0|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-29E80 19X0 10jd0 yL0 1cN0 1cL0 1fB0 19X0 VfB0 1cM0 1o00 Rc0 1wo0 Rc0 1wo0 U00 1wo0 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 11A0 1qM0 WM0 1qM0 Oo0 1zc0 Oo0 1zc0 Oo0 1wo0 WM0 1tA0 WM0 1tA0 U00 1tA0 U00 1tA0 11A0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 11A0 1o00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0|21e4","Australia/Lord_Howe|AEST +1030 +1130 +11|-a0 -au -bu -b0|0121212121313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313|raC0 1zdu Rb0 1zd0 On0 1zd0 On0 1zd0 On0 1zd0 TXu 1qMu WLu 1tAu WLu 1tAu TXu 1tAu Onu 1zcu Onu 1zcu Onu 1zcu Rbu 1zcu Onu 1zcu Onu 1zcu 11zu 1o0u 11zu 1o0u 11zu 1o0u 11zu 1qMu WLu 11Au 1nXu 1qMu 11zu 1o0u 11zu 1o0u 11zu 1qMu WLu 1qMu 11zu 1o0u WLu 1qMu 14nu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1fzu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu|347","Australia/Lindeman|AEST AEDT|-a0 -b0|010101010101010101010|-293lX xcX 10jd0 yL0 1cN0 1cL0 1fB0 19X0 17c10 LA0 H1A0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0|10","Australia/Melbourne|AEST AEDT|-a0 -b0|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-293lX xcX 10jd0 yL0 1cN0 1cL0 1fB0 19X0 17c10 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 U00 1qM0 WM0 1qM0 11A0 1tA0 U00 1tA0 U00 1tA0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 11A0 1o00 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 14o0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0|39e5","Australia/Perth|AWST AWDT|-80 -90|0101010101010101010|-293jX xcX 10jd0 yL0 1cN0 1cL0 1gSp0 Oo0 l5A0 Oo0 iJA0 G00 zU00 IM0 1qM0 11A0 1o00 11A0|18e5","CET|CET CEST|-10 -20|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1o00 11A0 Qrc0 6i00 WM0 1fA0 1cM0 1cM0 1cM0 16M0 1gMM0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","Pacific/Easter|EMT -07 -06 -05|7h.s 70 60 50|012121212121212121212121212123232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323|-1uSgG.w 1s4IG.w WL0 1zd0 On0 1ip0 11z0 1o10 11z0 1qN0 WL0 1ld0 14n0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 2pA0 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 1cL0 1cN0 11z0 1o10 11z0 1qN0 WL0 1fB0 19X0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1ip0 1fz0 1fB0 11z0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1o10 19X0 1fB0 1nX0 G10 1EL0 Op0 1zb0 Rd0 1wn0 Rd0 46n0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Dd0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Dd0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Dd0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0|30e2","CST6CDT|CST CDT CWT CPT|60 50 50 50|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","EET|EET EEST|-20 -30|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|hDB0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","Europe/Dublin|DMT IST GMT BST IST|p.l -y.D 0 -10 -10|01232323232324242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242|-2ax9y.D Rc0 1fzy.D 14M0 1fc0 1g00 1co0 1dc0 1co0 1oo0 1400 1dc0 19A0 1io0 1io0 WM0 1o00 14o0 1o00 17c0 1io0 17c0 1fA0 1a00 1lc0 17c0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1cM0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1a00 1io0 1qM0 Dc0 g600 14o0 1wo0 17c0 1io0 11A0 1o00 17c0 1fA0 1a00 1fA0 1cM0 1fA0 1a00 17c0 1fA0 1a00 1io0 17c0 1lc0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1a00 1a00 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1tA0 IM0 90o0 U00 1tA0 U00 1tA0 U00 1tA0 U00 1tA0 WM0 1qM0 WM0 1qM0 WM0 1tA0 U00 1tA0 U00 1tA0 11z0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 14o0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|12e5","EST|EST|50|0|","EST5EDT|EST EDT EWT EPT|50 40 40 40|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261t0 1nX0 11B0 1nX0 SgN0 8x40 iv0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","Etc/GMT-0|GMT|0|0|","Etc/GMT-1|+01|-10|0|","Pacific/Port_Moresby|+10|-a0|0||25e4","Pacific/Pohnpei|+11|-b0|0||34e3","Pacific/Tarawa|+12|-c0|0||29e3","Etc/GMT-13|+13|-d0|0|","Etc/GMT-14|+14|-e0|0|","Etc/GMT-2|+02|-20|0|","Etc/GMT-3|+03|-30|0|","Etc/GMT-4|+04|-40|0|","Etc/GMT-5|+05|-50|0|","Etc/GMT-6|+06|-60|0|","Indian/Christmas|+07|-70|0||21e2","Etc/GMT-8|+08|-80|0|","Pacific/Palau|+09|-90|0||21e3","Etc/GMT+1|-01|10|0|","Etc/GMT+10|-10|a0|0|","Etc/GMT+11|-11|b0|0|","Etc/GMT+12|-12|c0|0|","Etc/GMT+3|-03|30|0|","Etc/GMT+4|-04|40|0|","Etc/GMT+5|-05|50|0|","Etc/GMT+6|-06|60|0|","Etc/GMT+7|-07|70|0|","Etc/GMT+8|-08|80|0|","Etc/GMT+9|-09|90|0|","Etc/UCT|UCT|0|0|","Etc/UTC|UTC|0|0|","Europe/Amsterdam|AMT NST +0120 +0020 CEST CET|-j.w -1j.w -1k -k -20 -10|010101010101010101010101010101010101010101012323234545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545|-2aFcj.w 11b0 1iP0 11A0 1io0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1co0 1io0 1yo0 Pc0 1a00 1fA0 1Bc0 Mo0 1tc0 Uo0 1tA0 U00 1uo0 W00 1s00 VA0 1so0 Vc0 1sM0 UM0 1wo0 Rc0 1u00 Wo0 1rA0 W00 1s00 VA0 1sM0 UM0 1w00 fV0 BCX.w 1tA0 U00 1u00 Wo0 1sm0 601k WM0 1fA0 1cM0 1cM0 1cM0 16M0 1gMM0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|16e5","Europe/Andorra|WET CET CEST|0 -10 -20|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-UBA0 1xIN0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|79e3","Europe/Astrakhan|LMT +03 +04 +05|-3c.c -30 -40 -50|012323232323232323212121212121212121212121212121212121212121212|-1Pcrc.c eUMc.c 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1fA0 1cM0 3Co0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3rd0","Europe/Athens|AMT EET EEST CEST CET|-1y.Q -20 -30 -20 -10|012123434121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2a61x.Q CNbx.Q mn0 kU10 9b0 3Es0 Xa0 1fb0 1dd0 k3X0 Nz0 SCp0 1vc0 SO0 1cM0 1a00 1ao0 1fc0 1a10 1fG0 1cg0 1dX0 1bX0 1cQ0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|35e5","Europe/London|GMT BST BDST|0 -10 -20|0101010101010101010101010101010101010101010101010121212121210101210101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2axa0 Rc0 1fA0 14M0 1fc0 1g00 1co0 1dc0 1co0 1oo0 1400 1dc0 19A0 1io0 1io0 WM0 1o00 14o0 1o00 17c0 1io0 17c0 1fA0 1a00 1lc0 17c0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1cM0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1a00 1io0 1qM0 Dc0 2Rz0 Dc0 1zc0 Oo0 1zc0 Rc0 1wo0 17c0 1iM0 FA0 xB0 1fA0 1a00 14o0 bb0 LA0 xB0 Rc0 1wo0 11A0 1o00 17c0 1fA0 1a00 1fA0 1cM0 1fA0 1a00 17c0 1fA0 1a00 1io0 17c0 1lc0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1a00 1a00 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1tA0 IM0 90o0 U00 1tA0 U00 1tA0 U00 1tA0 U00 1tA0 WM0 1qM0 WM0 1qM0 WM0 1tA0 U00 1tA0 U00 1tA0 11z0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 14o0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|10e6","Europe/Belgrade|CET CEST|-10 -20|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-19RC0 3IP0 WM0 1fA0 1cM0 1cM0 1rc0 Qo0 1vmo0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|12e5","Europe/Berlin|CET CEST CEMT|-10 -20 -30|01010101010101210101210101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1o00 11A0 Qrc0 6i00 WM0 1fA0 1cM0 1cM0 1cM0 kL0 Nc0 m10 WM0 1ao0 1cp0 dX0 jz0 Dd0 1io0 17c0 1fA0 1a00 1ehA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|41e5","Europe/Prague|CET CEST GMT|-10 -20 0|01010101010101010201010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1o00 11A0 Qrc0 6i00 WM0 1fA0 1cM0 1cM0 1cM0 1cM0 1qM0 11c0 mp0 xA0 mn0 17c0 1io0 17c0 1fc0 1ao0 1bNc0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|13e5","Europe/Brussels|WET CET CEST WEST|0 -10 -20 -10|0121212103030303030303030303030303030303030303030303212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2ehc0 3zX0 11c0 1iO0 11A0 1o00 11A0 my0 Ic0 1qM0 Rc0 1EM0 UM0 1u00 10o0 1io0 1io0 17c0 1a00 1fA0 1cM0 1cM0 1io0 17c0 1fA0 1a00 1io0 1a30 1io0 17c0 1fA0 1a00 1io0 17c0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Dc0 y00 5Wn0 WM0 1fA0 1cM0 16M0 1iM0 16M0 1C00 Uo0 1eeo0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|21e5","Europe/Bucharest|BMT EET EEST|-1I.o -20 -30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1xApI.o 20LI.o RA0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1Axc0 On0 1fA0 1a10 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cK0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cL0 1cN0 1cL0 1fB0 1nX0 11E0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|19e5","Europe/Budapest|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1ip0 17b0 1op0 1tb0 Q2m0 3Ne0 WM0 1fA0 1cM0 1cM0 1oJ0 1dc0 1030 1fA0 1cM0 1cM0 1cM0 1cM0 1fA0 1a00 1iM0 1fA0 8Ha0 Rb0 1wN0 Rb0 1BB0 Lz0 1C20 LB0 SNX0 1a10 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|17e5","Europe/Zurich|CET CEST|-10 -20|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-19Lc0 11A0 1o00 11A0 1xG10 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|38e4","Europe/Chisinau|CMT BMT EET EEST CEST CET MSK MSD|-1T -1I.o -20 -30 -20 -10 -30 -40|012323232323232323234545467676767676767676767323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-26jdT wGMa.A 20LI.o RA0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 27A0 2en0 39g0 WM0 1fA0 1cM0 V90 1t7z0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 gL0 WO0 1cM0 1cM0 1cK0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1nX0 11D0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|67e4","Europe/Copenhagen|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2azC0 Tz0 VuO0 60q0 WM0 1fA0 1cM0 1cM0 1cM0 S00 1HA0 Nc0 1C00 Dc0 1Nc0 Ao0 1h5A0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|12e5","Europe/Gibraltar|GMT BST BDST CET CEST|0 -10 -20 -10 -20|010101010101010101010101010101010101010101010101012121212121010121010101010101010101034343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343|-2axa0 Rc0 1fA0 14M0 1fc0 1g00 1co0 1dc0 1co0 1oo0 1400 1dc0 19A0 1io0 1io0 WM0 1o00 14o0 1o00 17c0 1io0 17c0 1fA0 1a00 1lc0 17c0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1cM0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1a00 1io0 1qM0 Dc0 2Rz0 Dc0 1zc0 Oo0 1zc0 Rc0 1wo0 17c0 1iM0 FA0 xB0 1fA0 1a00 14o0 bb0 LA0 xB0 Rc0 1wo0 11A0 1o00 17c0 1fA0 1a00 1fA0 1cM0 1fA0 1a00 17c0 1fA0 1a00 1io0 17c0 1lc0 17c0 1fA0 10Jz0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|30e3","Europe/Helsinki|HMT EET EEST|-1D.N -20 -30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1WuND.N OULD.N 1dA0 1xGq0 1cM0 1cM0 1cM0 1cN0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|12e5","Europe/Kaliningrad|CET CEST CET CEST MSK MSD EEST EET +03|-10 -20 -20 -30 -30 -40 -30 -20 -30|0101010101010232454545454545454546767676767676767676767676767676767676767676787|-2aFe0 11d0 1iO0 11A0 1o00 11A0 Qrc0 6i00 WM0 1fA0 1cM0 1cM0 Am0 Lb0 1en0 op0 1pNz0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|44e4","Europe/Kiev|KMT EET MSK CEST CET MSD EEST|-22.4 -20 -30 -20 -10 -40 -30|0123434252525252525252525256161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161|-1Pc22.4 eUo2.4 rnz0 2Hg0 WM0 1fA0 da0 1v4m0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 Db0 3220 1cK0 1cL0 1cN0 1cL0 1cN0 1cL0 1cQ0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|34e5","Europe/Kirov|LMT +03 +04 +05|-3i.M -30 -40 -50|01232323232323232321212121212121212121212121212121212121212121|-22WM0 qH90 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1fA0 1cM0 3Co0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|48e4","Europe/Lisbon|LMT WET WEST WEMT CET CEST|A.J 0 -10 -20 -10 -20|012121212121212121212121212121212121212121212321232123212321212121212121212121212121212121212121214121212121212121212121212121212124545454212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2le00 aPX0 Sp0 LX0 1vc0 Tc0 1uM0 SM0 1vc0 Tc0 1vc0 SM0 1vc0 6600 1co0 3E00 17c0 1fA0 1a00 1io0 1a00 1io0 17c0 3I00 17c0 1cM0 1cM0 3Fc0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Dc0 1tA0 1cM0 1dc0 1400 gL0 IM0 s10 U00 dX0 Rc0 pd0 Rc0 gL0 Oo0 pd0 Rc0 gL0 Oo0 pd0 14o0 1cM0 1cP0 1cM0 1cM0 1cM0 1cM0 1cM0 3Co0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 pvy0 1cM0 1cM0 1fA0 1cM0 1cM0 1cN0 1cL0 1cN0 1cM0 1cM0 1cM0 1cM0 1cN0 1cL0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|27e5","Europe/Luxembourg|LMT CET CEST WET WEST WEST WET|-o.A -10 -20 0 -10 -20 -10|0121212134343434343434343434343434343434343434343434565651212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2DG0o.A t6mo.A TB0 1nX0 Up0 1o20 11A0 rW0 CM0 1qP0 R90 1EO0 UK0 1u20 10m0 1ip0 1in0 17e0 19W0 1fB0 1db0 1cp0 1in0 17d0 1fz0 1a10 1in0 1a10 1in0 17f0 1fA0 1a00 1io0 17c0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Dc0 vA0 60L0 WM0 1fA0 1cM0 17c0 1io0 16M0 1C00 Uo0 1eeo0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|54e4","Europe/Madrid|WET WEST WEMT CET CEST|0 -10 -20 -10 -20|010101010101010101210343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343|-25Td0 19B0 1cL0 1dd0 b1z0 18p0 3HX0 17d0 1fz0 1a10 1io0 1a00 1in0 17d0 iIn0 Hd0 1cL0 bb0 1200 2s20 14n0 5aL0 Mp0 1vz0 17d0 1in0 17d0 1in0 17d0 1in0 17d0 6hX0 11B0 XHX0 1a10 1fz0 1a10 19X0 1cN0 1fz0 1a10 1fC0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|62e5","Europe/Malta|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2arB0 Lz0 1cN0 1db0 1410 1on0 Wp0 1qL0 17d0 1cL0 M3B0 5M20 WM0 1fA0 1co0 17c0 1iM0 16m0 1de0 1lc0 14m0 1lc0 WO0 1qM0 GTW0 On0 1C10 LA0 1C00 LA0 1EM0 LA0 1C00 LA0 1zc0 Oo0 1C00 Oo0 1co0 1cM0 1lA0 Xc0 1qq0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1iN0 19z0 1fB0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|42e4","Europe/Minsk|MMT EET MSK CEST CET MSD EEST +03|-1O -20 -30 -20 -10 -40 -30 -30|01234343252525252525252525261616161616161616161616161616161616161617|-1Pc1O eUnO qNX0 3gQ0 WM0 1fA0 1cM0 Al0 1tsn0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 3Fc0 1cN0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0|19e5","Europe/Monaco|PMT WET WEST WEMT CET CEST|-9.l 0 -10 -20 -10 -20|01212121212121212121212121212121212121212121212121232323232345454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-2nco9.l cNb9.l HA0 19A0 1iM0 11c0 1oo0 Wo0 1rc0 QM0 1EM0 UM0 1u00 10o0 1io0 1wo0 Rc0 1a00 1fA0 1cM0 1cM0 1io0 17c0 1fA0 1a00 1io0 1a00 1io0 17c0 1fA0 1a00 1io0 17c0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Df0 2RV0 11z0 11B0 1ze0 WM0 1fA0 1cM0 1fa0 1aq0 16M0 1ekn0 1cL0 1fC0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|38e3","Europe/Moscow|MMT MMT MST MDST MSD MSK +05 EET EEST MSK|-2u.h -2v.j -3v.j -4v.j -40 -30 -50 -20 -30 -40|012132345464575454545454545454545458754545454545454545454545454545454545454595|-2ag2u.h 2pyW.W 1bA0 11X0 GN0 1Hb0 c4v.j ik0 3DA0 dz0 15A0 c10 2q10 iM10 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cN0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|16e6","Europe/Paris|PMT WET WEST CEST CET WEMT|-9.l 0 -10 -20 -10 -20|0121212121212121212121212121212121212121212121212123434352543434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434|-2nco8.l cNb8.l HA0 19A0 1iM0 11c0 1oo0 Wo0 1rc0 QM0 1EM0 UM0 1u00 10o0 1io0 1wo0 Rc0 1a00 1fA0 1cM0 1cM0 1io0 17c0 1fA0 1a00 1io0 1a00 1io0 17c0 1fA0 1a00 1io0 17c0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Df0 Ik0 5M30 WM0 1fA0 1cM0 Vx0 hB0 1aq0 16M0 1ekn0 1cL0 1fC0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|11e6","Europe/Riga|RMT LST EET MSK CEST CET MSD EEST|-1A.y -2A.y -20 -30 -20 -10 -40 -30|010102345454536363636363636363727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272|-25TzA.y 11A0 1iM0 ko0 gWm0 yDXA.y 2bX0 3fE0 WM0 1fA0 1cM0 1cM0 4m0 1sLy0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cN0 1o00 11A0 1o00 11A0 1qM0 3oo0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|64e4","Europe/Rome|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2arB0 Lz0 1cN0 1db0 1410 1on0 Wp0 1qL0 17d0 1cL0 M3B0 5M20 WM0 1fA0 1cM0 16M0 1iM0 16m0 1de0 1lc0 14m0 1lc0 WO0 1qM0 GTW0 On0 1C10 LA0 1C00 LA0 1EM0 LA0 1C00 LA0 1zc0 Oo0 1C00 Oo0 1C00 LA0 1zc0 Oo0 1C00 LA0 1C00 LA0 1zc0 Oo0 1C00 Oo0 1zc0 Oo0 1fC0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|39e5","Europe/Samara|LMT +03 +04 +05|-3k.k -30 -40 -50|0123232323232323232121232323232323232323232323232323232323212|-22WM0 qH90 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1fA0 2y10 14m0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 2sp0 WM0|12e5","Europe/Saratov|LMT +03 +04 +05|-34.i -30 -40 -50|012323232323232321212121212121212121212121212121212121212121212|-22WM0 qH90 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1cM0 1cM0 1fA0 1cM0 3Co0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 5810","Europe/Simferopol|SMT EET MSK CEST CET MSD EEST MSK|-2g -20 -30 -20 -10 -40 -30 -40|012343432525252525252525252161616525252616161616161616161616161616161616172|-1Pc2g eUog rEn0 2qs0 WM0 1fA0 1cM0 3V0 1u0L0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1Q00 4eL0 1cL0 1cN0 1cL0 1cN0 dX0 WL0 1cN0 1cL0 1fB0 1o30 11B0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11z0 1nW0|33e4","Europe/Sofia|EET CET CEST EEST|-20 -10 -20 -30|01212103030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030|-168L0 WM0 1fA0 1cM0 1cM0 1cN0 1mKH0 1dd0 1fb0 1ap0 1fb0 1a20 1fy0 1a30 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cK0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1nX0 11E0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|12e5","Europe/Stockholm|CET CEST|-10 -20|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2azC0 TB0 2yDe0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|15e5","Europe/Tallinn|TMT CET CEST EET MSK MSD EEST|-1D -10 -20 -20 -30 -40 -30|012103421212454545454545454546363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363|-26oND teD 11A0 1Ta0 4rXl KSLD 2FX0 2Jg0 WM0 1fA0 1cM0 18J0 1sTX0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o10 11A0 1qM0 5QM0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|41e4","Europe/Tirane|LMT CET CEST|-1j.k -10 -20|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2glBj.k 14pcj.k 5LC0 WM0 4M0 1fCK0 10n0 1op0 11z0 1pd0 11z0 1qN0 WL0 1qp0 Xb0 1qp0 Xb0 1qp0 11z0 1lB0 11z0 1qN0 11z0 1iN0 16n0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|42e4","Europe/Ulyanovsk|LMT +03 +04 +05 +02|-3d.A -30 -40 -50 -20|01232323232323232321214121212121212121212121212121212121212121212|-22WM0 qH90 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3rd0","Europe/Uzhgorod|CET CEST MSK MSD EET EEST|-10 -20 -30 -40 -20 -30|010101023232323232323232320454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-1cqL0 6i00 WM0 1fA0 1cM0 1ml0 1Cp0 1r3W0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1Q00 1Nf0 2pw0 1cL0 1cN0 1cL0 1cN0 1cL0 1cQ0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|11e4","Europe/Vienna|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1o00 11A0 3KM0 14o0 LA00 6i00 WM0 1fA0 1cM0 1cM0 1cM0 400 2qM0 1a00 1cM0 1cM0 1io0 17c0 1gHa0 19X0 1cP0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|18e5","Europe/Vilnius|WMT KMT CET EET MSK CEST MSD EEST|-1o -1z.A -10 -20 -30 -20 -40 -30|012324525254646464646464646473737373737373737352537373737373737373737373737373737373737373737373737373737373737373737373|-293do 6ILM.o 1Ooz.A zz0 Mfd0 29W0 3is0 WM0 1fA0 1cM0 LV0 1tgL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11B0 1o00 11A0 1qM0 8io0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|54e4","Europe/Volgograd|LMT +03 +04 +05|-2V.E -30 -40 -50|01232323232323232121212121212121212121212121212121212121212121|-21IqV.E psLV.E 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1cM0 1cM0 1fA0 1cM0 3Co0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|10e5","Europe/Warsaw|WMT CET CEST EET EEST|-1o -10 -20 -20 -30|012121234312121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2ctdo 1LXo 11d0 1iO0 11A0 1o00 11A0 1on0 11A0 6zy0 HWP0 5IM0 WM0 1fA0 1cM0 1dz0 1mL0 1en0 15B0 1aq0 1nA0 11A0 1io0 17c0 1fA0 1a00 iDX0 LA0 1cM0 1cM0 1C00 Oo0 1cM0 1cM0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1C00 LA0 uso0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|17e5","Europe/Zaporozhye|+0220 EET MSK CEST CET MSD EEST|-2k -20 -30 -20 -10 -40 -30|01234342525252525252525252526161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161|-1Pc2k eUok rdb0 2RE0 WM0 1fA0 8m0 1v9a0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cK0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cQ0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|77e4","HST|HST|a0|0|","Indian/Chagos|LMT +05 +06|-4N.E -50 -60|012|-2xosN.E 3AGLN.E|30e2","Indian/Cocos|+0630|-6u|0||596","Indian/Kerguelen|-00 +05|0 -50|01|-MG00|130","Indian/Mahe|LMT +04|-3F.M -40|01|-2yO3F.M|79e3","Indian/Maldives|MMT +05|-4S -50|01|-olgS|35e4","Indian/Mauritius|LMT +04 +05|-3O -40 -50|012121|-2xorO 34unO 14L0 12kr0 11z0|15e4","Indian/Reunion|LMT +04|-3F.Q -40|01|-2mDDF.Q|84e4","Pacific/Kwajalein|+11 -12 +12|-b0 c0 -c0|012|-AX0 W9X0|14e3","MET|MET MEST|-10 -20|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1o00 11A0 Qrc0 6i00 WM0 1fA0 1cM0 1cM0 1cM0 16M0 1gMM0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","MST|MST|70|0|","MST7MDT|MST MDT MWT MPT|70 60 60 60|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261r0 1nX0 11B0 1nX0 SgN0 8x20 ix0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","Pacific/Chatham|+1215 +1245 +1345|-cf -cJ -dJ|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212|-WqAf 1adef IM0 1C00 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1qM0 14o0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1io0 17c0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1io0 17c0 1io0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00|600","Pacific/Apia|LMT -1130 -11 -10 +14 +13|bq.U bu b0 a0 -e0 -d0|01232345454545454545454545454545454545454545454545454545454|-2nDMx.4 1yW03.4 2rRbu 1ff0 1a00 CI0 AQ0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00|37e3","Pacific/Bougainville|+10 +09 +11|-a0 -90 -b0|0102|-16Wy0 7CN0 2MQp0|18e4","Pacific/Efate|LMT +11 +12|-bd.g -b0 -c0|0121212121212121212121|-2l9nd.g 2Szcd.g 1cL0 1oN0 10L0 1fB0 19X0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 Lz0 1Nd0 An0|66e3","Pacific/Enderbury|-12 -11 +13|c0 b0 -d0|012|nIc0 B7X0|1","Pacific/Fakaofo|-11 +13|b0 -d0|01|1Gfn0|483","Pacific/Fiji|LMT +12 +13|-bT.I -c0 -d0|0121212121212121212121212121212121212121212121212121212121212121|-2bUzT.I 3m8NT.I LA0 1EM0 IM0 nJc0 LA0 1o00 Rc0 1wo0 Ao0 1Nc0 Ao0 1Q00 xz0 1SN0 uM0 1SM0 uM0 1VA0 s00 1VA0 s00 1VA0 uM0 1SM0 uM0 1SM0 uM0 1VA0 s00 1VA0 s00 1VA0 s00 1VA0 uM0 1SM0 uM0 1SM0 uM0 1VA0 s00 1VA0 s00 1VA0 uM0 1SM0 uM0 1SM0 uM0 1VA0 s00 1VA0 s00 1VA0 s00 1VA0 uM0 1SM0 uM0 1SM0 uM0|88e4","Pacific/Galapagos|LMT -05 -06|5W.o 50 60|01212|-1yVS1.A 2dTz1.A gNd0 rz0|25e3","Pacific/Gambier|LMT -09|8X.M 90|01|-2jof0.c|125","Pacific/Guadalcanal|LMT +11|-aD.M -b0|01|-2joyD.M|11e4","Pacific/Guam|GST ChST|-a0 -a0|01|1fpq0|17e4","Pacific/Honolulu|HST HDT HST|au 9u a0|010102|-1thLu 8x0 lef0 8Pz0 46p0|37e4","Pacific/Kiritimati|-1040 -10 +14|aE a0 -e0|012|nIaE B7Xk|51e2","Pacific/Kosrae|+11 +12|-b0 -c0|010|-AX0 1bdz0|66e2","Pacific/Majuro|+11 +12|-b0 -c0|01|-AX0|28e3","Pacific/Marquesas|LMT -0930|9i 9u|01|-2joeG|86e2","Pacific/Pago_Pago|LMT SST|bm.M b0|01|-2nDMB.c|37e2","Pacific/Nauru|LMT +1130 +09 +12|-b7.E -bu -90 -c0|01213|-1Xdn7.E PvzB.E 5RCu 1ouJu|10e3","Pacific/Niue|-1120 -1130 -11|bk bu b0|012|-KfME 17y0a|12e2","Pacific/Norfolk|+1112 +1130 +1230 +11|-bc -bu -cu -b0|01213|-Kgbc W01G On0 1COp0|25e4","Pacific/Noumea|LMT +11 +12|-b5.M -b0 -c0|01212121|-2l9n5.M 2EqM5.M xX0 1PB0 yn0 HeP0 Ao0|98e3","Pacific/Pitcairn|-0830 -08|8u 80|01|18Vku|56","Pacific/Rarotonga|-1030 -0930 -10|au 9u a0|012121212121212121212121212|lyWu IL0 1zcu Onu 1zcu Onu 1zcu Rbu 1zcu Onu 1zcu Onu 1zcu Onu 1zcu Onu 1zcu Onu 1zcu Rbu 1zcu Onu 1zcu Onu 1zcu Onu|13e3","Pacific/Tahiti|LMT -10|9W.g a0|01|-2joe1.I|18e4","Pacific/Tongatapu|+1220 +13 +14|-ck -d0 -e0|0121212121|-1aB0k 2n5dk 15A0 1wo0 xz0 1Q10 xz0 zWN0 s00|75e3","PST8PDT|PST PDT PWT PPT|80 70 70 70|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261q0 1nX0 11B0 1nX0 SgN0 8x10 iy0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","WET|WET WEST|0 -10|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|hDB0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00"],"links":["Africa/Abidjan|Africa/Bamako","Africa/Abidjan|Africa/Banjul","Africa/Abidjan|Africa/Conakry","Africa/Abidjan|Africa/Dakar","Africa/Abidjan|Africa/Freetown","Africa/Abidjan|Africa/Lome","Africa/Abidjan|Africa/Nouakchott","Africa/Abidjan|Africa/Ouagadougou","Africa/Abidjan|Africa/Timbuktu","Africa/Abidjan|Atlantic/St_Helena","Africa/Cairo|Egypt","Africa/Johannesburg|Africa/Maseru","Africa/Johannesburg|Africa/Mbabane","Africa/Lagos|Africa/Bangui","Africa/Lagos|Africa/Brazzaville","Africa/Lagos|Africa/Douala","Africa/Lagos|Africa/Kinshasa","Africa/Lagos|Africa/Libreville","Africa/Lagos|Africa/Luanda","Africa/Lagos|Africa/Malabo","Africa/Lagos|Africa/Niamey","Africa/Lagos|Africa/Porto-Novo","Africa/Maputo|Africa/Blantyre","Africa/Maputo|Africa/Bujumbura","Africa/Maputo|Africa/Gaborone","Africa/Maputo|Africa/Harare","Africa/Maputo|Africa/Kigali","Africa/Maputo|Africa/Lubumbashi","Africa/Maputo|Africa/Lusaka","Africa/Nairobi|Africa/Addis_Ababa","Africa/Nairobi|Africa/Asmara","Africa/Nairobi|Africa/Asmera","Africa/Nairobi|Africa/Dar_es_Salaam","Africa/Nairobi|Africa/Djibouti","Africa/Nairobi|Africa/Kampala","Africa/Nairobi|Africa/Mogadishu","Africa/Nairobi|Indian/Antananarivo","Africa/Nairobi|Indian/Comoro","Africa/Nairobi|Indian/Mayotte","Africa/Tripoli|Libya","America/Adak|America/Atka","America/Adak|US/Aleutian","America/Anchorage|US/Alaska","America/Argentina/Buenos_Aires|America/Buenos_Aires","America/Argentina/Catamarca|America/Argentina/ComodRivadavia","America/Argentina/Catamarca|America/Catamarca","America/Argentina/Cordoba|America/Cordoba","America/Argentina/Cordoba|America/Rosario","America/Argentina/Jujuy|America/Jujuy","America/Argentina/Mendoza|America/Mendoza","America/Atikokan|America/Coral_Harbour","America/Chicago|US/Central","America/Curacao|America/Aruba","America/Curacao|America/Kralendijk","America/Curacao|America/Lower_Princes","America/Denver|America/Shiprock","America/Denver|Navajo","America/Denver|US/Mountain","America/Detroit|US/Michigan","America/Edmonton|Canada/Mountain","America/Fort_Wayne|America/Indiana/Indianapolis","America/Fort_Wayne|America/Indianapolis","America/Fort_Wayne|US/East-Indiana","America/Halifax|Canada/Atlantic","America/Havana|Cuba","America/Indiana/Knox|America/Knox_IN","America/Indiana/Knox|US/Indiana-Starke","America/Jamaica|Jamaica","America/Kentucky/Louisville|America/Louisville","America/Los_Angeles|US/Pacific","America/Los_Angeles|US/Pacific-New","America/Manaus|Brazil/West","America/Mazatlan|Mexico/BajaSur","America/Mexico_City|Mexico/General","America/New_York|US/Eastern","America/Noronha|Brazil/DeNoronha","America/Panama|America/Cayman","America/Phoenix|US/Arizona","America/Port_of_Spain|America/Anguilla","America/Port_of_Spain|America/Antigua","America/Port_of_Spain|America/Dominica","America/Port_of_Spain|America/Grenada","America/Port_of_Spain|America/Guadeloupe","America/Port_of_Spain|America/Marigot","America/Port_of_Spain|America/Montserrat","America/Port_of_Spain|America/St_Barthelemy","America/Port_of_Spain|America/St_Kitts","America/Port_of_Spain|America/St_Lucia","America/Port_of_Spain|America/St_Thomas","America/Port_of_Spain|America/St_Vincent","America/Port_of_Spain|America/Tortola","America/Port_of_Spain|America/Virgin","America/Regina|Canada/Saskatchewan","America/Rio_Branco|America/Porto_Acre","America/Rio_Branco|Brazil/Acre","America/Santiago|Chile/Continental","America/Sao_Paulo|Brazil/East","America/St_Johns|Canada/Newfoundland","America/Tijuana|America/Ensenada","America/Tijuana|America/Santa_Isabel","America/Tijuana|Mexico/BajaNorte","America/Toronto|America/Montreal","America/Toronto|Canada/Eastern","America/Vancouver|Canada/Pacific","America/Whitehorse|Canada/Yukon","America/Winnipeg|Canada/Central","Asia/Ashgabat|Asia/Ashkhabad","Asia/Bangkok|Asia/Phnom_Penh","Asia/Bangkok|Asia/Vientiane","Asia/Dhaka|Asia/Dacca","Asia/Dubai|Asia/Muscat","Asia/Ho_Chi_Minh|Asia/Saigon","Asia/Hong_Kong|Hongkong","Asia/Jerusalem|Asia/Tel_Aviv","Asia/Jerusalem|Israel","Asia/Kathmandu|Asia/Katmandu","Asia/Kolkata|Asia/Calcutta","Asia/Kuala_Lumpur|Asia/Singapore","Asia/Kuala_Lumpur|Singapore","Asia/Macau|Asia/Macao","Asia/Makassar|Asia/Ujung_Pandang","Asia/Nicosia|Europe/Nicosia","Asia/Qatar|Asia/Bahrain","Asia/Rangoon|Asia/Yangon","Asia/Riyadh|Asia/Aden","Asia/Riyadh|Asia/Kuwait","Asia/Seoul|ROK","Asia/Shanghai|Asia/Chongqing","Asia/Shanghai|Asia/Chungking","Asia/Shanghai|Asia/Harbin","Asia/Shanghai|PRC","Asia/Taipei|ROC","Asia/Tehran|Iran","Asia/Thimphu|Asia/Thimbu","Asia/Tokyo|Japan","Asia/Ulaanbaatar|Asia/Ulan_Bator","Asia/Urumqi|Asia/Kashgar","Atlantic/Faroe|Atlantic/Faeroe","Atlantic/Reykjavik|Iceland","Atlantic/South_Georgia|Etc/GMT+2","Australia/Adelaide|Australia/South","Australia/Brisbane|Australia/Queensland","Australia/Broken_Hill|Australia/Yancowinna","Australia/Darwin|Australia/North","Australia/Hobart|Australia/Tasmania","Australia/Lord_Howe|Australia/LHI","Australia/Melbourne|Australia/Victoria","Australia/Perth|Australia/West","Australia/Sydney|Australia/ACT","Australia/Sydney|Australia/Canberra","Australia/Sydney|Australia/NSW","Etc/GMT-0|Etc/GMT","Etc/GMT-0|Etc/GMT+0","Etc/GMT-0|Etc/GMT0","Etc/GMT-0|Etc/Greenwich","Etc/GMT-0|GMT","Etc/GMT-0|GMT+0","Etc/GMT-0|GMT-0","Etc/GMT-0|GMT0","Etc/GMT-0|Greenwich","Etc/UCT|UCT","Etc/UTC|Etc/Universal","Etc/UTC|Etc/Zulu","Etc/UTC|UTC","Etc/UTC|Universal","Etc/UTC|Zulu","Europe/Belgrade|Europe/Ljubljana","Europe/Belgrade|Europe/Podgorica","Europe/Belgrade|Europe/Sarajevo","Europe/Belgrade|Europe/Skopje","Europe/Belgrade|Europe/Zagreb","Europe/Chisinau|Europe/Tiraspol","Europe/Dublin|Eire","Europe/Helsinki|Europe/Mariehamn","Europe/Istanbul|Asia/Istanbul","Europe/Istanbul|Turkey","Europe/Lisbon|Portugal","Europe/London|Europe/Belfast","Europe/London|Europe/Guernsey","Europe/London|Europe/Isle_of_Man","Europe/London|Europe/Jersey","Europe/London|GB","Europe/London|GB-Eire","Europe/Moscow|W-SU","Europe/Oslo|Arctic/Longyearbyen","Europe/Oslo|Atlantic/Jan_Mayen","Europe/Prague|Europe/Bratislava","Europe/Rome|Europe/San_Marino","Europe/Rome|Europe/Vatican","Europe/Warsaw|Poland","Europe/Zurich|Europe/Busingen","Europe/Zurich|Europe/Vaduz","Indian/Christmas|Etc/GMT-7","Pacific/Auckland|Antarctica/McMurdo","Pacific/Auckland|Antarctica/South_Pole","Pacific/Auckland|NZ","Pacific/Chatham|NZ-CHAT","Pacific/Easter|Chile/EasterIsland","Pacific/Guam|Pacific/Saipan","Pacific/Honolulu|Pacific/Johnston","Pacific/Honolulu|US/Hawaii","Pacific/Kwajalein|Kwajalein","Pacific/Pago_Pago|Pacific/Midway","Pacific/Pago_Pago|Pacific/Samoa","Pacific/Pago_Pago|US/Samoa","Pacific/Palau|Etc/GMT-9","Pacific/Pohnpei|Etc/GMT-11","Pacific/Pohnpei|Pacific/Ponape","Pacific/Port_Moresby|Etc/GMT-10","Pacific/Port_Moresby|Pacific/Chuuk","Pacific/Port_Moresby|Pacific/Truk","Pacific/Port_Moresby|Pacific/Yap","Pacific/Tarawa|Etc/GMT-12","Pacific/Tarawa|Pacific/Funafuti","Pacific/Tarawa|Pacific/Wake","Pacific/Tarawa|Pacific/Wallis"]}; /***/ }), -/* 138 */ +/* 144 */ /***/ (function(module, exports, __webpack_require__) { var map = { - "./af": 130, - "./af.js": 130, - "./ar": 129, - "./ar-dz": 128, - "./ar-dz.js": 128, - "./ar-kw": 127, - "./ar-kw.js": 127, - "./ar-ly": 126, - "./ar-ly.js": 126, - "./ar-ma": 125, - "./ar-ma.js": 125, - "./ar-sa": 124, - "./ar-sa.js": 124, - "./ar-tn": 123, - "./ar-tn.js": 123, - "./ar.js": 129, - "./az": 122, - "./az.js": 122, - "./be": 121, - "./be.js": 121, - "./bg": 120, - "./bg.js": 120, - "./bm": 119, - "./bm.js": 119, - "./bn": 118, - "./bn.js": 118, - "./bo": 117, - "./bo.js": 117, - "./br": 116, - "./br.js": 116, - "./bs": 115, - "./bs.js": 115, - "./ca": 114, - "./ca.js": 114, - "./cs": 113, - "./cs.js": 113, - "./cv": 112, - "./cv.js": 112, - "./cy": 111, - "./cy.js": 111, - "./da": 110, - "./da.js": 110, - "./de": 109, - "./de-at": 108, - "./de-at.js": 108, - "./de-ch": 107, - "./de-ch.js": 107, - "./de.js": 109, - "./dv": 106, - "./dv.js": 106, - "./el": 105, - "./el.js": 105, - "./en-au": 104, - "./en-au.js": 104, - "./en-ca": 103, - "./en-ca.js": 103, - "./en-gb": 102, - "./en-gb.js": 102, - "./en-ie": 101, - "./en-ie.js": 101, - "./en-il": 100, - "./en-il.js": 100, - "./en-nz": 99, - "./en-nz.js": 99, - "./eo": 98, - "./eo.js": 98, - "./es": 97, - "./es-do": 96, - "./es-do.js": 96, - "./es-us": 95, - "./es-us.js": 95, - "./es.js": 97, - "./et": 94, - "./et.js": 94, - "./eu": 93, - "./eu.js": 93, - "./fa": 92, - "./fa.js": 92, - "./fi": 91, - "./fi.js": 91, - "./fo": 90, - "./fo.js": 90, - "./fr": 89, - "./fr-ca": 88, - "./fr-ca.js": 88, - "./fr-ch": 87, - "./fr-ch.js": 87, - "./fr.js": 89, - "./fy": 86, - "./fy.js": 86, - "./gd": 85, - "./gd.js": 85, - "./gl": 84, - "./gl.js": 84, - "./gom-latn": 83, - "./gom-latn.js": 83, - "./gu": 82, - "./gu.js": 82, - "./he": 81, - "./he.js": 81, - "./hi": 80, - "./hi.js": 80, - "./hr": 79, - "./hr.js": 79, - "./hu": 78, - "./hu.js": 78, - "./hy-am": 77, - "./hy-am.js": 77, - "./id": 76, - "./id.js": 76, - "./is": 75, - "./is.js": 75, - "./it": 74, - "./it.js": 74, - "./ja": 73, - "./ja.js": 73, - "./jv": 72, - "./jv.js": 72, - "./ka": 71, - "./ka.js": 71, - "./kk": 70, - "./kk.js": 70, - "./km": 69, - "./km.js": 69, - "./kn": 68, - "./kn.js": 68, - "./ko": 67, - "./ko.js": 67, - "./ky": 66, - "./ky.js": 66, - "./lb": 65, - "./lb.js": 65, - "./lo": 64, - "./lo.js": 64, - "./lt": 63, - "./lt.js": 63, - "./lv": 62, - "./lv.js": 62, - "./me": 61, - "./me.js": 61, - "./mi": 60, - "./mi.js": 60, - "./mk": 59, - "./mk.js": 59, - "./ml": 58, - "./ml.js": 58, - "./mn": 57, - "./mn.js": 57, - "./mr": 56, - "./mr.js": 56, - "./ms": 55, - "./ms-my": 54, - "./ms-my.js": 54, - "./ms.js": 55, - "./mt": 53, - "./mt.js": 53, - "./my": 52, - "./my.js": 52, - "./nb": 51, - "./nb.js": 51, - "./ne": 50, - "./ne.js": 50, - "./nl": 49, - "./nl-be": 48, - "./nl-be.js": 48, - "./nl.js": 49, - "./nn": 47, - "./nn.js": 47, - "./pa-in": 46, - "./pa-in.js": 46, - "./pl": 45, - "./pl.js": 45, - "./pt": 44, - "./pt-br": 43, - "./pt-br.js": 43, - "./pt.js": 44, - "./ro": 42, - "./ro.js": 42, - "./ru": 41, - "./ru.js": 41, - "./sd": 40, - "./sd.js": 40, - "./se": 39, - "./se.js": 39, - "./si": 38, - "./si.js": 38, - "./sk": 37, - "./sk.js": 37, - "./sl": 36, - "./sl.js": 36, - "./sq": 35, - "./sq.js": 35, - "./sr": 34, - "./sr-cyrl": 33, - "./sr-cyrl.js": 33, - "./sr.js": 34, - "./ss": 32, - "./ss.js": 32, - "./sv": 31, - "./sv.js": 31, - "./sw": 30, - "./sw.js": 30, - "./ta": 29, - "./ta.js": 29, - "./te": 28, - "./te.js": 28, - "./tet": 27, - "./tet.js": 27, - "./tg": 26, - "./tg.js": 26, - "./th": 25, - "./th.js": 25, - "./tl-ph": 24, - "./tl-ph.js": 24, - "./tlh": 23, - "./tlh.js": 23, - "./tr": 22, - "./tr.js": 22, - "./tzl": 21, - "./tzl.js": 21, - "./tzm": 20, - "./tzm-latn": 19, - "./tzm-latn.js": 19, - "./tzm.js": 20, - "./ug-cn": 18, - "./ug-cn.js": 18, - "./uk": 17, - "./uk.js": 17, - "./ur": 16, - "./ur.js": 16, - "./uz": 15, - "./uz-latn": 14, - "./uz-latn.js": 14, - "./uz.js": 15, - "./vi": 13, - "./vi.js": 13, - "./x-pseudo": 12, - "./x-pseudo.js": 12, - "./yo": 11, - "./yo.js": 11, - "./zh-cn": 10, - "./zh-cn.js": 10, - "./zh-hk": 9, - "./zh-hk.js": 9, - "./zh-tw": 8, - "./zh-tw.js": 8 + "./af": 133, + "./af.js": 133, + "./ar": 132, + "./ar-dz": 131, + "./ar-dz.js": 131, + "./ar-kw": 130, + "./ar-kw.js": 130, + "./ar-ly": 129, + "./ar-ly.js": 129, + "./ar-ma": 128, + "./ar-ma.js": 128, + "./ar-sa": 127, + "./ar-sa.js": 127, + "./ar-tn": 126, + "./ar-tn.js": 126, + "./ar.js": 132, + "./az": 125, + "./az.js": 125, + "./be": 124, + "./be.js": 124, + "./bg": 123, + "./bg.js": 123, + "./bm": 122, + "./bm.js": 122, + "./bn": 121, + "./bn.js": 121, + "./bo": 120, + "./bo.js": 120, + "./br": 119, + "./br.js": 119, + "./bs": 118, + "./bs.js": 118, + "./ca": 117, + "./ca.js": 117, + "./cs": 116, + "./cs.js": 116, + "./cv": 115, + "./cv.js": 115, + "./cy": 114, + "./cy.js": 114, + "./da": 113, + "./da.js": 113, + "./de": 112, + "./de-at": 111, + "./de-at.js": 111, + "./de-ch": 110, + "./de-ch.js": 110, + "./de.js": 112, + "./dv": 109, + "./dv.js": 109, + "./el": 108, + "./el.js": 108, + "./en-au": 107, + "./en-au.js": 107, + "./en-ca": 106, + "./en-ca.js": 106, + "./en-gb": 105, + "./en-gb.js": 105, + "./en-ie": 104, + "./en-ie.js": 104, + "./en-il": 103, + "./en-il.js": 103, + "./en-nz": 102, + "./en-nz.js": 102, + "./eo": 101, + "./eo.js": 101, + "./es": 100, + "./es-do": 99, + "./es-do.js": 99, + "./es-us": 98, + "./es-us.js": 98, + "./es.js": 100, + "./et": 97, + "./et.js": 97, + "./eu": 96, + "./eu.js": 96, + "./fa": 95, + "./fa.js": 95, + "./fi": 94, + "./fi.js": 94, + "./fo": 93, + "./fo.js": 93, + "./fr": 92, + "./fr-ca": 91, + "./fr-ca.js": 91, + "./fr-ch": 90, + "./fr-ch.js": 90, + "./fr.js": 92, + "./fy": 89, + "./fy.js": 89, + "./gd": 88, + "./gd.js": 88, + "./gl": 87, + "./gl.js": 87, + "./gom-latn": 86, + "./gom-latn.js": 86, + "./gu": 85, + "./gu.js": 85, + "./he": 84, + "./he.js": 84, + "./hi": 83, + "./hi.js": 83, + "./hr": 82, + "./hr.js": 82, + "./hu": 81, + "./hu.js": 81, + "./hy-am": 80, + "./hy-am.js": 80, + "./id": 79, + "./id.js": 79, + "./is": 78, + "./is.js": 78, + "./it": 77, + "./it.js": 77, + "./ja": 76, + "./ja.js": 76, + "./jv": 75, + "./jv.js": 75, + "./ka": 74, + "./ka.js": 74, + "./kk": 73, + "./kk.js": 73, + "./km": 72, + "./km.js": 72, + "./kn": 71, + "./kn.js": 71, + "./ko": 70, + "./ko.js": 70, + "./ky": 69, + "./ky.js": 69, + "./lb": 68, + "./lb.js": 68, + "./lo": 67, + "./lo.js": 67, + "./lt": 66, + "./lt.js": 66, + "./lv": 65, + "./lv.js": 65, + "./me": 64, + "./me.js": 64, + "./mi": 63, + "./mi.js": 63, + "./mk": 62, + "./mk.js": 62, + "./ml": 61, + "./ml.js": 61, + "./mn": 60, + "./mn.js": 60, + "./mr": 59, + "./mr.js": 59, + "./ms": 58, + "./ms-my": 57, + "./ms-my.js": 57, + "./ms.js": 58, + "./mt": 56, + "./mt.js": 56, + "./my": 55, + "./my.js": 55, + "./nb": 54, + "./nb.js": 54, + "./ne": 53, + "./ne.js": 53, + "./nl": 52, + "./nl-be": 51, + "./nl-be.js": 51, + "./nl.js": 52, + "./nn": 50, + "./nn.js": 50, + "./pa-in": 49, + "./pa-in.js": 49, + "./pl": 48, + "./pl.js": 48, + "./pt": 47, + "./pt-br": 46, + "./pt-br.js": 46, + "./pt.js": 47, + "./ro": 45, + "./ro.js": 45, + "./ru": 44, + "./ru.js": 44, + "./sd": 43, + "./sd.js": 43, + "./se": 42, + "./se.js": 42, + "./si": 41, + "./si.js": 41, + "./sk": 40, + "./sk.js": 40, + "./sl": 39, + "./sl.js": 39, + "./sq": 38, + "./sq.js": 38, + "./sr": 37, + "./sr-cyrl": 36, + "./sr-cyrl.js": 36, + "./sr.js": 37, + "./ss": 35, + "./ss.js": 35, + "./sv": 34, + "./sv.js": 34, + "./sw": 33, + "./sw.js": 33, + "./ta": 32, + "./ta.js": 32, + "./te": 31, + "./te.js": 31, + "./tet": 30, + "./tet.js": 30, + "./tg": 29, + "./tg.js": 29, + "./th": 28, + "./th.js": 28, + "./tl-ph": 27, + "./tl-ph.js": 27, + "./tlh": 26, + "./tlh.js": 26, + "./tr": 25, + "./tr.js": 25, + "./tzl": 24, + "./tzl.js": 24, + "./tzm": 23, + "./tzm-latn": 22, + "./tzm-latn.js": 22, + "./tzm.js": 23, + "./ug-cn": 21, + "./ug-cn.js": 21, + "./uk": 20, + "./uk.js": 20, + "./ur": 19, + "./ur.js": 19, + "./uz": 18, + "./uz-latn": 17, + "./uz-latn.js": 17, + "./uz.js": 18, + "./vi": 16, + "./vi.js": 16, + "./x-pseudo": 15, + "./x-pseudo.js": 15, + "./yo": 14, + "./yo.js": 14, + "./zh-cn": 13, + "./zh-cn.js": 13, + "./zh-hk": 12, + "./zh-hk.js": 12, + "./zh-tw": 11, + "./zh-tw.js": 11 }; @@ -17222,10 +18408,10 @@ webpackContext.keys = function webpackContextKeys() { }; webpackContext.resolve = webpackContextResolve; module.exports = webpackContext; -webpackContext.id = 138; +webpackContext.id = 144; /***/ }), -/* 139 */ +/* 145 */ /***/ (function(module, exports) { module.exports = function(module) { @@ -17253,7 +18439,7 @@ module.exports = function(module) { /***/ }), -/* 140 */ +/* 146 */ /***/ (function(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;//! moment-timezone.js @@ -17873,15 +19059,15 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ /***/ }), -/* 141 */ +/* 147 */ /***/ (function(module, exports, __webpack_require__) { -var moment = module.exports = __webpack_require__(140); -moment.tz.load(__webpack_require__(137)); +var moment = module.exports = __webpack_require__(146); +moment.tz.load(__webpack_require__(143)); /***/ }), -/* 142 */ +/* 148 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -17895,15 +19081,15 @@ var _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = [ var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; -var _momentTimezone = __webpack_require__(141); +var _momentTimezone = __webpack_require__(147); var _momentTimezone2 = _interopRequireDefault(_momentTimezone); var _each = __webpack_require__(1); -var _stripHtmlTags = __webpack_require__(5); +var _stripHtmlTags = __webpack_require__(8); -var _escapeHtml = __webpack_require__(2); +var _escapeHtml = __webpack_require__(4); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } @@ -18186,87 +19372,7 @@ var destroy = function destroy() {}; exports.default = { render: render, update: update, destroy: destroy }; /***/ }), -/* 143 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.prettyNumber = prettyNumber; -function prettyNumber(input) { - // If it has 3 or fewer sig figs already, just return the number. - var input = Number(input), - sciNo = input.toPrecision(3), - prefix = '', - suffixes = ['', 'k', 'M', 'B', 'T']; - - if (Number(sciNo) == input && String(input).length <= 4) { - return String(input); - } - - if (Math.abs(input) >= 1000000000000000) { - return sciNo; - } - - if (input >= 1 || input <= -1) { - if (input < 0) { - //Pull off the negative side and stash that. - input = -input; - prefix = '-'; - } - return prefix + recurse(input, 0); - } else { - return input.toPrecision(3); - } - - function recurse(input, iteration) { - var input = String(input); - var split = input.split('.'); - // If there's a dot - if (split.length > 1) { - // Keep the left hand side only - input = split[0]; - var rhs = split[1]; - // If the left-hand side is too short, pad until it has 3 digits - if (input.length == 2 && rhs.length > 0) { - // Pad with right-hand side if possible - if (rhs.length > 0) { - input = input + '.' + rhs.charAt(0); - } - // Pad with zeroes if you must - else { - input += '0'; - } - } else if (input.length == 1 && rhs.length > 0) { - input = input + '.' + rhs.charAt(0); - // Pad with right-hand side if possible - if (rhs.length > 1) { - input += rhs.charAt(1); - } - // Pad with zeroes if you must - else { - input += '0'; - } - } - } - var numNumerals = input.length; - // if it has a period, then numNumerals is 1 smaller than the string length: - if (input.split('.').length > 1) { - numNumerals--; - } - if (numNumerals <= 3) { - return String(input) + suffixes[iteration]; - } else { - return recurse(Number(input) / 1000, iteration + 1); - } - } -} - -/***/ }), -/* 144 */ +/* 149 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -18276,9 +19382,9 @@ Object.defineProperty(exports, "__esModule", { value: true }); -var _prettyNumber = __webpack_require__(143); +var _prettyNumber = __webpack_require__(3); -var _escapeHtml = __webpack_require__(2); +var _escapeHtml = __webpack_require__(4); exports.default = { render: function render() { @@ -18354,7 +19460,7 @@ exports.default = { }; /***/ }), -/* 145 */ +/* 150 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -18364,7 +19470,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); -var _escapeHtml = __webpack_require__(2); +var _escapeHtml = __webpack_require__(4); exports.default = { render: function render(text) { @@ -18410,7 +19516,7 @@ exports.default = { }; /***/ }), -/* 146 */ +/* 151 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -18454,10 +19560,10 @@ exports.default = function (d, defaultTitleFormat, defaultValueFormat, color) { return text + ""; }; -var _escapeHtml = __webpack_require__(2); +var _escapeHtml = __webpack_require__(4); /***/ }), -/* 147 */ +/* 152 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -18668,11 +19774,11 @@ exports.default = function (options) { } }; -var _d = __webpack_require__(133); +var _d = __webpack_require__(2); var d3 = _interopRequireWildcard(_d); -var _assertDateString = __webpack_require__(4); +var _assertDateString = __webpack_require__(7); var _assertDateString2 = _interopRequireDefault(_assertDateString); @@ -18681,7 +19787,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } /***/ }), -/* 148 */ +/* 153 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -18720,7 +19826,7 @@ exports.default = function (startDate, endDate) { }; /***/ }), -/* 149 */ +/* 154 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -18790,48 +19896,64 @@ exports.default = function (lib) { return defineC3(); }; -var _c = __webpack_require__(132); +var _c = __webpack_require__(135); var _c2 = _interopRequireDefault(_c); var _each = __webpack_require__(1); -var _extend = __webpack_require__(3); +var _extend = __webpack_require__(6); -var _extendDeep = __webpack_require__(131); +var _extendDeep = __webpack_require__(134); -var _assertDateString = __webpack_require__(4); +var _assertDateString = __webpack_require__(7); var _assertDateString2 = _interopRequireDefault(_assertDateString); -var _defaultDateFormat = __webpack_require__(148); +var _defaultDateFormat = __webpack_require__(153); var _defaultDateFormat2 = _interopRequireDefault(_defaultDateFormat); -var _paginatingLegend = __webpack_require__(147); +var _paginatingLegend = __webpack_require__(152); var _paginatingLegend2 = _interopRequireDefault(_paginatingLegend); -var _tooltipContents = __webpack_require__(146); +var _tooltipContents = __webpack_require__(151); var _tooltipContents2 = _interopRequireDefault(_tooltipContents); -var _message = __webpack_require__(145); +var _message = __webpack_require__(150); var _message2 = _interopRequireDefault(_message); -var _metric = __webpack_require__(144); +var _metric = __webpack_require__(149); var _metric2 = _interopRequireDefault(_metric); -var _table = __webpack_require__(142); +var _table = __webpack_require__(148); var _table2 = _interopRequireDefault(_table); -var _spinner = __webpack_require__(136); +var _spinner = __webpack_require__(142); var _spinner2 = _interopRequireDefault(_spinner); +var _funnel = __webpack_require__(141); + +var _funnel2 = _interopRequireDefault(_funnel); + +var _funnel3d = __webpack_require__(140); + +var _funnel3d2 = _interopRequireDefault(_funnel3d); + +var _horizontalFunnel = __webpack_require__(139); + +var _horizontalFunnel2 = _interopRequireDefault(_horizontalFunnel); + +var _horizontalFunnel3d = __webpack_require__(138); + +var _horizontalFunnel3d2 = _interopRequireDefault(_horizontalFunnel3d); + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } } @@ -18843,7 +19965,11 @@ function defineC3() { message: _message2.default, metric: _metric2.default, table: _table2.default, - spinner: _spinner2.default + spinner: _spinner2.default, + 'funnel': new _funnel2.default(), + 'funnel-3d': new _funnel3d2.default(), + 'horizontal-funnel': new _horizontalFunnel2.default(), + 'horizontal-funnel-3d': new _horizontalFunnel3d2.default() }; var c3Types = [ @@ -19125,7 +20251,7 @@ function bindResizeListener(fn) { } /***/ }), -/* 150 */ +/* 155 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -19145,13 +20271,13 @@ exports.default = function (data) { } }; -var _dataset = __webpack_require__(135); +var _dataset = __webpack_require__(137); var _dataset2 = _interopRequireDefault(_dataset); -var _extend = __webpack_require__(3); +var _extend = __webpack_require__(6); -var _stripHtmlTags = __webpack_require__(5); +var _stripHtmlTags = __webpack_require__(8); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } @@ -19360,13 +20486,13 @@ function getDefaultType(parser) { } /***/ }), -/* 151 */ +/* 156 */ /***/ (function(module) { -module.exports = {"name":"keen-dataviz","description":"Data Visualization SDK for Keen IO","license":"MIT","version":"3.2.4","main":"dist/external_d3_c3/node/keen-dataviz.js","browser":"dist/external_d3_c3/keen-dataviz.js","style":"dist/keen-dataviz.css","scripts":{"start":"concurrently --kill-others \"NODE_ENV=development webpack-dev-server\" \"npm run postcss-watch\"","postcss-watch":"node_modules/postcss-cli/bin/postcss lib/style/keen-dataviz-c3.css -o test/demo/keen-dataviz.css --watch --config postcss.config.js","build":"NODE_ENV=production webpack -p && npm run build:css && NODE_ENV=production OPTIMIZE_MINIMIZE=1 webpack -p && npm run build:css && npm run build:css:min && npm run build:external_d3_c3 && npm run build:external_d3_c3:css && npm run build:external_d3_c3:css:min && npm run build:node","build:css":"node_modules/postcss-cli/bin/postcss lib/style/keen-dataviz-c3.css -o dist/keen-dataviz.css --config postcss.config.js","build:css:min":"OPTIMIZE_MINIMIZE=1 node_modules/postcss-cli/bin/postcss lib/style/keen-dataviz-c3.css -o dist/keen-dataviz.min.css --config postcss.config.js","build:external_d3_c3:css":"node_modules/postcss-cli/bin/postcss lib/style/keen-dataviz.css -o dist/external_d3_c3/keen-dataviz.css --config postcss.config.js","build:external_d3_c3:css:min":"OPTIMIZE_MINIMIZE=1 node_modules/postcss-cli/bin/postcss lib/style/keen-dataviz.css -o dist/external_d3_c3/keen-dataviz.min.css --config postcss.config.js","build:external_d3_c3":"NODE_ENV=production EXTERNAL_D3_C3=1 webpack -p && NODE_ENV=production EXTERNAL_D3_C3=1 OPTIMIZE_MINIMIZE=1 webpack -p","build:node":"TARGET=node NODE_ENV=production EXTERNAL_D3_C3=1 webpack -p","profile":"webpack --profile --json > stats.json","analyze":"webpack-bundle-analyzer stats.json /dist","version":"npm run build && git add .","postversion":"git push && git push --tags","test":"NODE_ENV=test jest","test:watch":"NODE_ENV=test jest --watch"},"repository":{"type":"git","url":"https://github.com/keen/keen-dataviz.js.git"},"bugs":"https://github.com/keen/keen-dataviz.js/issues","author":"Keen.IO (https://keen.io/)","contributors":["Dustin Larimer (https://github.com/dustinlarimer)","Joanne Cheng (https://github.com/joannecheng)","Eric Anderson (https://github.com/aroc)","Joe Wegner (https://github.com/josephwegner)","Sara Falkoff (https://github.com/adamkasprowicz)"],"homepage":"https://keen.io","keywords":["d3","c3","Analytics","Stats","Statistics","Visualization","Visualizations","Data Visualization","Chart","Charts","Charting","Svg","Dataviz","Plots","Graphs","Funnels"],"dependencies":{"c3":"^0.6.12","d3":"^5.4.0","moment-timezone":"^0.5.21","promise-polyfill":"^8.0.0"},"devDependencies":{"autoprefixer":"^8.2.0","babel-loader":"^7.1.4","babel-plugin-transform-es2015-modules-commonjs":"^6.26.2","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-preset-env":"^1.7.0","concurrently":"^3.5.1","cssnano":"^3.10.0","eslint":"^4.19.1","eslint-config-airbnb":"^16.1.0","eslint-loader":"^2.0.0","eslint-plugin-import":"^2.11.0","eslint-plugin-jsx-a11y":"^6.0.3","eslint-plugin-react":"^7.7.0","html-loader":"^0.5.5","html-webpack-plugin":"^3.2.0","jest":"^22.4.3","jest-environment-jsdom-c3":"^2.0.0","nock":"^9.2.6","postcss":"^6.0.21","postcss-cli":"^5.0.0","postcss-color-function":"^4.0.1","postcss-css-variables":"^0.8.1","postcss-cssnext":"^2.4.0","postcss-import":"^8.0.2","postcss-loader":"^2.1.3","precss":"^3.1.2","regenerator-runtime":"^0.11.1","replace-in-file":"^3.4.0","style-loader":"^0.20.3","webpack":"^4.5.0","webpack-bundle-analyzer":"^2.11.1","webpack-cli":"^2.0.13","webpack-dev-server":"^3.1.1","xhr-mock":"^2.3.2"}}; +module.exports = {"name":"keen-dataviz","description":"Data Visualization SDK for Keen IO","license":"MIT","version":"3.3.0","main":"dist/external_d3_c3/node/keen-dataviz.js","browser":"dist/external_d3_c3/keen-dataviz.js","style":"dist/keen-dataviz.css","scripts":{"start":"concurrently --kill-others \"NODE_ENV=development webpack-dev-server\" \"npm run postcss-watch\"","postcss-watch":"node_modules/postcss-cli/bin/postcss lib/style/keen-dataviz-c3.css -o test/demo/keen-dataviz.css --watch --config postcss.config.js","build":"NODE_ENV=production webpack -p && npm run build:css && NODE_ENV=production OPTIMIZE_MINIMIZE=1 webpack -p && npm run build:css && npm run build:css:min && npm run build:external_d3_c3 && npm run build:external_d3_c3:css && npm run build:external_d3_c3:css:min && npm run build:node","build:css":"node_modules/postcss-cli/bin/postcss lib/style/keen-dataviz-c3.css -o dist/keen-dataviz.css --config postcss.config.js","build:css:min":"OPTIMIZE_MINIMIZE=1 node_modules/postcss-cli/bin/postcss lib/style/keen-dataviz-c3.css -o dist/keen-dataviz.min.css --config postcss.config.js","build:external_d3_c3:css":"node_modules/postcss-cli/bin/postcss lib/style/keen-dataviz.css -o dist/external_d3_c3/keen-dataviz.css --config postcss.config.js","build:external_d3_c3:css:min":"OPTIMIZE_MINIMIZE=1 node_modules/postcss-cli/bin/postcss lib/style/keen-dataviz.css -o dist/external_d3_c3/keen-dataviz.min.css --config postcss.config.js","build:external_d3_c3":"NODE_ENV=production EXTERNAL_D3_C3=1 webpack -p && NODE_ENV=production EXTERNAL_D3_C3=1 OPTIMIZE_MINIMIZE=1 webpack -p","build:node":"TARGET=node NODE_ENV=production EXTERNAL_D3_C3=1 webpack -p","profile":"webpack --profile --json > stats.json","analyze":"webpack-bundle-analyzer stats.json /dist","version":"npm run build && git add .","postversion":"git push && git push --tags","test":"NODE_ENV=test jest","test:watch":"NODE_ENV=test jest --watch"},"repository":{"type":"git","url":"https://github.com/keen/keen-dataviz.js.git"},"bugs":"https://github.com/keen/keen-dataviz.js/issues","author":"Keen.IO (https://keen.io/)","contributors":["Dustin Larimer (https://github.com/dustinlarimer)","Joanne Cheng (https://github.com/joannecheng)","Eric Anderson (https://github.com/aroc)","Joe Wegner (https://github.com/josephwegner)","Sara Falkoff (https://github.com/adamkasprowicz)","Dariusz Łacheta (https://github.com/dariuszlacheta)"],"homepage":"https://keen.io","keywords":["d3","c3","Analytics","Stats","Statistics","Visualization","Visualizations","Data Visualization","Chart","Charts","Charting","Svg","Dataviz","Plots","Graphs","Funnels"],"dependencies":{"c3":"^0.6.12","d3":"^5.4.0","moment-timezone":"^0.5.21","promise-polyfill":"^8.0.0"},"devDependencies":{"autoprefixer":"^8.2.0","babel-loader":"^7.1.4","babel-plugin-transform-es2015-modules-commonjs":"^6.26.2","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-preset-env":"^1.7.0","concurrently":"^3.5.1","cssnano":"^3.10.0","eslint":"^4.19.1","eslint-config-airbnb":"^16.1.0","eslint-loader":"^2.0.0","eslint-plugin-import":"^2.11.0","eslint-plugin-jsx-a11y":"^6.0.3","eslint-plugin-react":"^7.7.0","html-loader":"^0.5.5","html-webpack-plugin":"^3.2.0","jest":"^22.4.3","jest-environment-jsdom-c3":"^2.0.0","nock":"^9.2.6","postcss":"^6.0.21","postcss-cli":"^5.0.0","postcss-color-function":"^4.0.1","postcss-css-variables":"^0.8.1","postcss-cssnext":"^2.4.0","postcss-import":"^8.0.2","postcss-loader":"^2.1.3","precss":"^3.1.2","regenerator-runtime":"^0.11.1","replace-in-file":"^3.4.0","style-loader":"^0.20.3","webpack":"^4.5.0","webpack-bundle-analyzer":"^2.11.1","webpack-cli":"^2.0.13","webpack-dev-server":"^3.1.1","xhr-mock":"^2.3.2"}}; /***/ }), -/* 152 */ +/* 157 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -19381,7 +20507,7 @@ function valueAtDeepKey(obj, is, value) { } /***/ }), -/* 153 */ +/* 158 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -19415,7 +20541,7 @@ function flatten(ob) { }; /***/ }), -/* 154 */ +/* 159 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -19428,9 +20554,9 @@ exports.default = initialize; var _each = __webpack_require__(1); -var _flatten = __webpack_require__(153); +var _flatten = __webpack_require__(158); -var _object = __webpack_require__(152); +var _object = __webpack_require__(157); var Dataset = void 0; /* injected */ @@ -19592,7 +20718,7 @@ function parseExtraction() { var names = Object.keys((0, _flatten.flatten)(res.result[0])); if (Dataset) { - if (config.table && config.table.columns) { + if (config && config.table && config.table.columns) { names = config.table.columns; } } @@ -19624,7 +20750,7 @@ var parsers = { }; /***/ }), -/* 155 */ +/* 160 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -19638,11 +20764,11 @@ exports.updateRow = updateRow; var _each = __webpack_require__(1); -var _createNullList = __webpack_require__(6); +var _createNullList = __webpack_require__(9); var _createNullList2 = _interopRequireDefault(_createNullList); -var _append = __webpack_require__(7); +var _append = __webpack_require__(10); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } @@ -19723,7 +20849,7 @@ function updateRow(q, input) { } /***/ }), -/* 156 */ +/* 161 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -19737,7 +20863,7 @@ exports.sortRows = sortRows; var _each = __webpack_require__(1); -var _analyses = __webpack_require__(134); +var _analyses = __webpack_require__(136); var _analyses2 = _interopRequireDefault(_analyses); @@ -19793,7 +20919,7 @@ function sortRows(str, comp) { } /***/ }), -/* 157 */ +/* 162 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -19830,7 +20956,7 @@ function selectRow(q) { } /***/ }), -/* 158 */ +/* 163 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -19844,11 +20970,11 @@ exports.insertRow = insertRow; var _each = __webpack_require__(1); -var _createNullList = __webpack_require__(6); +var _createNullList = __webpack_require__(9); var _createNullList2 = _interopRequireDefault(_createNullList); -var _append = __webpack_require__(7); +var _append = __webpack_require__(10); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } @@ -19932,7 +21058,7 @@ function insertRow(index, str, input) { } /***/ }), -/* 159 */ +/* 164 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -19982,7 +21108,7 @@ function filterRows(fn) { } /***/ }), -/* 160 */ +/* 165 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -20018,7 +21144,7 @@ function deleteRow(q) { } /***/ }), -/* 161 */ +/* 166 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -20033,7 +21159,7 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; -var _dataset = __webpack_require__(135); +var _dataset = __webpack_require__(137); Object.defineProperty(exports, 'Dataset', { enumerable: true, @@ -20042,37 +21168,37 @@ Object.defineProperty(exports, 'Dataset', { } }); -var _d = __webpack_require__(133); +var _d = __webpack_require__(2); var d3 = _interopRequireWildcard(_d); -var _c = __webpack_require__(132); +var _c = __webpack_require__(135); var _c2 = _interopRequireDefault(_c); -var _package = __webpack_require__(151); +var _package = __webpack_require__(156); var _package2 = _interopRequireDefault(_package); -var _data = __webpack_require__(150); +var _data = __webpack_require__(155); var _data2 = _interopRequireDefault(_data); var _each = __webpack_require__(1); -var _assertDateString = __webpack_require__(4); +var _assertDateString = __webpack_require__(7); var _assertDateString2 = _interopRequireDefault(_assertDateString); -var _stripHtmlTags = __webpack_require__(5); +var _stripHtmlTags = __webpack_require__(8); -var _escapeHtml = __webpack_require__(2); +var _escapeHtml = __webpack_require__(4); -var _libraries = __webpack_require__(149); +var _libraries = __webpack_require__(154); var _libraries2 = _interopRequireDefault(_libraries); -var _extendDeep = __webpack_require__(131); +var _extendDeep = __webpack_require__(134); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } @@ -20192,7 +21318,18 @@ var Dataviz = exports.Dataviz = function Dataviz() { }), _defineProperty(_defaultOptions, 'partialIntervalIndicator', { show: undefined, className: 'partial-interval-indicator' - }), _defineProperty(_defaultOptions, 'timezone', 'UTC'), _defineProperty(_defaultOptions, 'table', {}), _defineProperty(_defaultOptions, 'renderOnVisible', false), _defaultOptions); + }), _defineProperty(_defaultOptions, 'timezone', 'UTC'), _defineProperty(_defaultOptions, 'table', {}), _defineProperty(_defaultOptions, 'renderOnVisible', false), _defineProperty(_defaultOptions, 'funnel', { + lines: true, + resultValues: true, + percents: { + show: false, + countingMethod: 'absolute', + decimals: 0 + }, + marginBetweenElements: false, + hover: true, + effect3d: 'both-sides' + }), _defaultOptions); this.config = _extends({}, (0, _extendDeep.extendDeep)(defaultOptions, options)); @@ -20912,7 +22049,7 @@ function domReady(fn) { exports.default = Dataviz; /***/ }), -/* 162 */ +/* 167 */ /***/ (function(module, exports) { var g; @@ -20938,7 +22075,7 @@ module.exports = g; /***/ }), -/* 163 */ +/* 168 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -20949,7 +22086,7 @@ Object.defineProperty(exports, "__esModule", { }); exports.Dataset = exports.Dataviz = exports.keenGlobals = exports.extendKeenGlobalObject = undefined; -var _index = __webpack_require__(161); +var _index = __webpack_require__(166); Object.defineProperty(exports, 'Dataviz', { enumerable: true, @@ -20985,7 +22122,7 @@ if (typeof webpackKeenGlobals !== 'undefined') { } exports.default = _index.Dataviz; -/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(162))) +/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(167))) /***/ }) /******/ ]); diff --git a/dist/external_d3_c3/keen-dataviz.js.map b/dist/external_d3_c3/keen-dataviz.js.map index 80dc813..dc31401 100644 --- a/dist/external_d3_c3/keen-dataviz.js.map +++ b/dist/external_d3_c3/keen-dataviz.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap","webpack:///./node_modules/moment/moment.js","webpack:///./lib/utils/each.js","webpack:///./lib/utils/escape-html.js","webpack:///./lib/utils/extend.js","webpack:///./lib/utils/assert-date-string.js","webpack:///./lib/utils/strip-html-tags.js","webpack:///./lib/dataset/utils/create-null-list.js","webpack:///./lib/dataset/modifiers/append.js","webpack:///./node_modules/moment/locale/zh-tw.js","webpack:///./node_modules/moment/locale/zh-hk.js","webpack:///./node_modules/moment/locale/zh-cn.js","webpack:///./node_modules/moment/locale/yo.js","webpack:///./node_modules/moment/locale/x-pseudo.js","webpack:///./node_modules/moment/locale/vi.js","webpack:///./node_modules/moment/locale/uz-latn.js","webpack:///./node_modules/moment/locale/uz.js","webpack:///./node_modules/moment/locale/ur.js","webpack:///./node_modules/moment/locale/uk.js","webpack:///./node_modules/moment/locale/ug-cn.js","webpack:///./node_modules/moment/locale/tzm-latn.js","webpack:///./node_modules/moment/locale/tzm.js","webpack:///./node_modules/moment/locale/tzl.js","webpack:///./node_modules/moment/locale/tr.js","webpack:///./node_modules/moment/locale/tlh.js","webpack:///./node_modules/moment/locale/tl-ph.js","webpack:///./node_modules/moment/locale/th.js","webpack:///./node_modules/moment/locale/tg.js","webpack:///./node_modules/moment/locale/tet.js","webpack:///./node_modules/moment/locale/te.js","webpack:///./node_modules/moment/locale/ta.js","webpack:///./node_modules/moment/locale/sw.js","webpack:///./node_modules/moment/locale/sv.js","webpack:///./node_modules/moment/locale/ss.js","webpack:///./node_modules/moment/locale/sr-cyrl.js","webpack:///./node_modules/moment/locale/sr.js","webpack:///./node_modules/moment/locale/sq.js","webpack:///./node_modules/moment/locale/sl.js","webpack:///./node_modules/moment/locale/sk.js","webpack:///./node_modules/moment/locale/si.js","webpack:///./node_modules/moment/locale/se.js","webpack:///./node_modules/moment/locale/sd.js","webpack:///./node_modules/moment/locale/ru.js","webpack:///./node_modules/moment/locale/ro.js","webpack:///./node_modules/moment/locale/pt-br.js","webpack:///./node_modules/moment/locale/pt.js","webpack:///./node_modules/moment/locale/pl.js","webpack:///./node_modules/moment/locale/pa-in.js","webpack:///./node_modules/moment/locale/nn.js","webpack:///./node_modules/moment/locale/nl-be.js","webpack:///./node_modules/moment/locale/nl.js","webpack:///./node_modules/moment/locale/ne.js","webpack:///./node_modules/moment/locale/nb.js","webpack:///./node_modules/moment/locale/my.js","webpack:///./node_modules/moment/locale/mt.js","webpack:///./node_modules/moment/locale/ms-my.js","webpack:///./node_modules/moment/locale/ms.js","webpack:///./node_modules/moment/locale/mr.js","webpack:///./node_modules/moment/locale/mn.js","webpack:///./node_modules/moment/locale/ml.js","webpack:///./node_modules/moment/locale/mk.js","webpack:///./node_modules/moment/locale/mi.js","webpack:///./node_modules/moment/locale/me.js","webpack:///./node_modules/moment/locale/lv.js","webpack:///./node_modules/moment/locale/lt.js","webpack:///./node_modules/moment/locale/lo.js","webpack:///./node_modules/moment/locale/lb.js","webpack:///./node_modules/moment/locale/ky.js","webpack:///./node_modules/moment/locale/ko.js","webpack:///./node_modules/moment/locale/kn.js","webpack:///./node_modules/moment/locale/km.js","webpack:///./node_modules/moment/locale/kk.js","webpack:///./node_modules/moment/locale/ka.js","webpack:///./node_modules/moment/locale/jv.js","webpack:///./node_modules/moment/locale/ja.js","webpack:///./node_modules/moment/locale/it.js","webpack:///./node_modules/moment/locale/is.js","webpack:///./node_modules/moment/locale/id.js","webpack:///./node_modules/moment/locale/hy-am.js","webpack:///./node_modules/moment/locale/hu.js","webpack:///./node_modules/moment/locale/hr.js","webpack:///./node_modules/moment/locale/hi.js","webpack:///./node_modules/moment/locale/he.js","webpack:///./node_modules/moment/locale/gu.js","webpack:///./node_modules/moment/locale/gom-latn.js","webpack:///./node_modules/moment/locale/gl.js","webpack:///./node_modules/moment/locale/gd.js","webpack:///./node_modules/moment/locale/fy.js","webpack:///./node_modules/moment/locale/fr-ch.js","webpack:///./node_modules/moment/locale/fr-ca.js","webpack:///./node_modules/moment/locale/fr.js","webpack:///./node_modules/moment/locale/fo.js","webpack:///./node_modules/moment/locale/fi.js","webpack:///./node_modules/moment/locale/fa.js","webpack:///./node_modules/moment/locale/eu.js","webpack:///./node_modules/moment/locale/et.js","webpack:///./node_modules/moment/locale/es-us.js","webpack:///./node_modules/moment/locale/es-do.js","webpack:///./node_modules/moment/locale/es.js","webpack:///./node_modules/moment/locale/eo.js","webpack:///./node_modules/moment/locale/en-nz.js","webpack:///./node_modules/moment/locale/en-il.js","webpack:///./node_modules/moment/locale/en-ie.js","webpack:///./node_modules/moment/locale/en-gb.js","webpack:///./node_modules/moment/locale/en-ca.js","webpack:///./node_modules/moment/locale/en-au.js","webpack:///./node_modules/moment/locale/el.js","webpack:///./node_modules/moment/locale/dv.js","webpack:///./node_modules/moment/locale/de-ch.js","webpack:///./node_modules/moment/locale/de-at.js","webpack:///./node_modules/moment/locale/de.js","webpack:///./node_modules/moment/locale/da.js","webpack:///./node_modules/moment/locale/cy.js","webpack:///./node_modules/moment/locale/cv.js","webpack:///./node_modules/moment/locale/cs.js","webpack:///./node_modules/moment/locale/ca.js","webpack:///./node_modules/moment/locale/bs.js","webpack:///./node_modules/moment/locale/br.js","webpack:///./node_modules/moment/locale/bo.js","webpack:///./node_modules/moment/locale/bn.js","webpack:///./node_modules/moment/locale/bm.js","webpack:///./node_modules/moment/locale/bg.js","webpack:///./node_modules/moment/locale/be.js","webpack:///./node_modules/moment/locale/az.js","webpack:///./node_modules/moment/locale/ar-tn.js","webpack:///./node_modules/moment/locale/ar-sa.js","webpack:///./node_modules/moment/locale/ar-ma.js","webpack:///./node_modules/moment/locale/ar-ly.js","webpack:///./node_modules/moment/locale/ar-kw.js","webpack:///./node_modules/moment/locale/ar-dz.js","webpack:///./node_modules/moment/locale/ar.js","webpack:///./node_modules/moment/locale/af.js","webpack:///./lib/utils/extend-deep.js","webpack:///external \"c3\"","webpack:///external \"d3\"","webpack:///./lib/dataset/utils/analyses.js","webpack:///./lib/dataset/index.js","webpack:///./lib/libraries/default/spinner.js","webpack:///./node_modules/moment/locale sync ^\\.\\/.*$","webpack:///(webpack)/buildin/module.js","webpack:///./node_modules/moment-timezone/moment-timezone.js","webpack:///./node_modules/moment-timezone/index.js","webpack:///./lib/libraries/default/table.js","webpack:///./lib/utils/pretty-number.js","webpack:///./lib/libraries/default/metric.js","webpack:///./lib/libraries/default/message.js","webpack:///./lib/libraries/c3/extensions/tooltip-contents.js","webpack:///./lib/libraries/c3/extensions/paginating-legend.js","webpack:///./lib/libraries/c3/extensions/default-date-format.js","webpack:///./lib/libraries/index.js","webpack:///./lib/data.js","webpack:///./lib/dataset/utils/object.js","webpack:///./lib/dataset/utils/flatten.js","webpack:///./lib/dataset/utils/parsers.js","webpack:///./lib/dataset/modifiers/update.js","webpack:///./lib/dataset/modifiers/sort.js","webpack:///./lib/dataset/modifiers/select.js","webpack:///./lib/dataset/modifiers/insert.js","webpack:///./lib/dataset/modifiers/filter.js","webpack:///./lib/dataset/modifiers/delete.js","webpack:///./lib/index.js","webpack:///(webpack)/buildin/global.js","webpack:///./lib/browser.js"],"names":["each","o","cb","s","n","Array","length","call","hasOwnProperty","escapeHtml","matchHtmlRegExp","string","str","match","exec","escape","html","index","lastIndex","charCodeAt","substring","extend","target","i","arguments","prop","testObject","testString","input","getTime","isNaN","ISO_8601","test","stripHtmlTags","inputString","replace","len","list","push","appendColumn","appendRow","self","args","prototype","slice","label","undefined","matrix","row","cell","concat","value","String","newRow","col","selectColumn","extendDeep","key","average","arr","start","end","set","sum","avg","val","parseFloat","maximum","nums","Math","max","apply","minimum","min","getColumnAverage","getRowAverage","getColumnSum","getRowSum","getColumnMaximum","getRowMaximum","getColumnMinimum","getRowMinimum","getColumnLabel","getRowIndex","append","del","filter","insert","select","sort","update","Dataset","config","meta","type","data","coords","Error","colIndex","indexOf","rowIndex","colResult","rowResult","selectRow","analyses","parser","render","artifacts","view","_artifacts","spinner","theme","el","innerHTML","destroy","interval","clearInterval","radius","e","defaults","currentPage","_generateTableRows","datavizInstance","dataset","defaultConfig","page","limit","arrows","customConfig","table","pagination","datasetPaginated","pages","ceil","columnsArray","columns","checkArray","mapValues","entries","rowCol","timezone","Date","dateTimeTimezoned","moment","tz","clone","toString","rowColEscaped","pageNumber","prevPage","nextPage","_generateTableHeader","fieldNumber","columnNames","colName","colNameEscaped","isEmpty","msg","mappedMsg","errorMapping","showErrorMessages","message","querySelector","querySelectorAll","forEach","item","addEventListener","event","sortOrder","getAttribute","checker","a","b","sortOrderNumber","nameA","toUpperCase","nameB","setAttribute","first","shift","unshift","attachBtnEventListeners","btn","parseInt","onrendered","prettyNumber","Number","sciNo","toPrecision","prefix","suffixes","abs","recurse","iteration","split","rhs","charAt","numNumerals","color","colors","title","opts","suffix","formattedNum","valueEl","flexDifferenceStyle","resultDifference","differenceStyle","smallerValue","results","previousResults","result","text","outer","document","createElement","inner","titleContainer","notesContainer","className","notes","appendChild","showTitle","d","defaultTitleFormat","defaultValueFormat","nameFormat","tooltip_format_name","name","titleFormat","tooltip_format_title","valueFormat","tooltip_format_value","x","CLASS","tooltip","ratio","id","bgcolor","levelColor","tooltipName","options","cols","chart","c3","domNode","legendConfig","legend","hidden","labels","offset","round","offsetHeight","total","columnsSorted","dataColumnsSorted","columnData","find","column","legendElement","align","position","paginateHorizontalLeftElement","legendItemsElement","paginateVerticalElement","paginateHorizontalRightElement","paginateData","renderLegendComponent","renderPaginationComponent","onPaginated","labelShortened","textMaxLength","legendItem","chartPartId","legendItemColorSample","style","backgroundColor","prepend","tooltipElement","focus","show","pointer","revert","remove","opacity","isHidden","splice","toggle","onLegendRendered","arrowUp","arrowDown","paginate","direction","diff","floor","clearSelectedText","selection","empty","window","getSelection","removeAllRanges","d3","startDate","endDate","timeDiff","months","ms","date","getMonth","getFullYear","getDate","lib","timer","bindResizeListener","clearTimeout","delay","visuals","setTimeout","resize","internal","fn","horizontalDistance","pos","$$","xIndex","axis_rotated","findClosest","values","minDist","point_sensitivity","Infinity","closest","v","isBarType","shape","main","bars","getTargetSelectorSuffix","bar","node","isWithinBar","mouse","dist","defineC3","types","metric","c3Types","getPaddings","element","paddingName","getComputedStyle","getDefaultOptions","ENFORCED_OPTIONS","bindto","pattern","colorMapping","renderingElement","height","titleElement","notesElement","width","offsetWidth","DEFAULT_OPTIONS","size","clearOnRender","removeLegend","axis","rotated","tick","format","dateFormat","culling","stacked","groups","categories","bind","chartTypesWithPartialIntervalIndicator","partialIntervalIndicator","partialResultsRegion","class","regions","contents","c3TooltipContents","valueFormatted","c3CustomTooltipFiltering","c3options","c3CustomDataMapping","hide","generate","c3PaginatingLegend","flush","scope","onresize","attachEvent","parseResponse","response","indexBy","parserArgs","query","selectedParser","metadata","analysis_type","event_collection","filters","group_by","timeframe","steps","display_name","getDefaultTitle","visualization","chart_type","getDefaultType","updateColumn","updateRow","analysis","valueAtDeepKey","obj","is","flatten","ob","toReturn","flatObject","initialize","parsers","parseMetric","res","parseInterval","record","parseGroupedMetric","parseGroupedInterval","group","j","parseDoubleGroupedMetric","rowLabel","parseDoubleGroupedInterval","parseFunnel","parseList","parseExtraction","datasetExtraction","names","Object","keys","iNames","deleteColumn","funnel","extraction","q","sortColumns","sortRows","comp","head","analysesUtilMethods","op","insertColumn","body","insertRow","filterColumns","filterRows","selectedColumn","ri","deleteRow","Dataviz","defaultOptions","showDeprecationWarnings","showLoadingSpinner","container","containerElement","labelMapping","labelMappingRegExp","library","sortGroups","sortIntervals","order","padding","top","point","expand","enabled","r","transition","draggable","multiple","y","convertChartTypes","_prepared","_rendered","prepare","firstVisibilityState","visibilityState","libraries","default","register","actions","method","nodeName","visual","attributes","console","log","chartOptions","domReady","num","setLabels","mapLabels","mapLabelsExec","valueAfterMatching","regExpAndLabel","regExpObj","labelMappingDimension","loader","firstResult","isArray","timeframes","map","resultItem","foundDifferent","JSON","stringify","timeframeItem","resultTimeframe","error","getLabel","firstResultPassed","ds2","returnValue","renderAsPromise","Promise","resolve","reject","customCallback","buildDomWrapper","renderOnVisible","IntersectionObserver","chartVisibleCallback","events","observer","isIntersecting","observe","visibilityChange","msHidden","webkitHidden","handleVisibilityChange","load","once","bool","chartType","parseRawData","parseRequest","version","pkg","chart100percentWide","areachart","barchart","columnchart","linechart","piechart","testDom","readyState","DOMContentLoaded","removeEventListener","env","global","extendKeenGlobalObject","KeenDataviz","KeenDataset","Keen","keenGlobals","webpackKeenGlobals"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,O;ACVA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAK;AACL;AACA;;AAEA;AACA;AACA,yDAAiD,cAAc;AAC/D;;AAEA;AACA;AACA;AACA,mCAA2B,0BAA0B,EAAE;AACvD,yCAAiC,eAAe;AAChD;AACA;AACA;;AAEA;AACA,8DAAsD,+DAA+D;;AAErH;AACA;;;AAGA;AACA;;;;;;;8CCnEA;;AAEA,CAAC;AACD;AACA,aACA;AACA,CAAC,qBAAqB;;AAEtB;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,gBAAgB;AACnC;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA,2BAA2B,SAAS;AACpC;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,uBAAuB,6BAA6B;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,SAAS;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,sBAAsB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C;AAC/C,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,IAAI;AAC/B;;AAEA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,4CAA4C,IAAI;;AAEhD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,gCAAgC;AAChC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,wBAAwB,iCAAiC;AACzD;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,4LAA4L,IAAI;;AAEhM,qEAAqE,IAAI;;AAEzE;;AAEA;;AAEA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,0CAA0C,YAAY;AACtD;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA,uBAAuB,YAAY;AACnC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,8BAA8B;AAC9B,gCAAgC;AAChC,6BAA6B,EAAE,EAAE;AACjC,6BAA6B,EAAE,EAAE;AACjC,kCAAkC,EAAE,EAAE;AACtC,iCAAiC;AACjC,qCAAqC;AACrC,yCAAyC;AACzC,6BAA6B,IAAI,EAAE;AACnC,6BAA6B,IAAI,EAAE;AACnC,kCAAkC,IAAI,EAAE;;AAExC,+BAA+B;AAC/B,oCAAoC;;AAEpC,8CAA8C;AAC9C,qDAAqD;;AAErD,wCAAwC,IAAI,IAAI;;AAEhD;AACA;AACA,2BAA2B,MAAM,wEAAwE,MAAM,mBAAmB,MAAM,qBAAqB,MAAM,EAAE,IAAI;;AAEzK;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA,8CAA8C;AAC9C;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,kBAAkB;AACrC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA,2BAA2B,wBAAwB;AACnD;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,uBAAuB,iBAAiB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,QAAQ;AAC/B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,mBAAmB,QAAQ;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,QAAQ;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,QAAQ;AAC3B;AACA;AACA;AACA,mBAAmB,QAAQ;AAC3B;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,uBAAuB,OAAO;AAC9B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,mBAAmB,OAAO;AAC1B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,OAAO;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,OAAO;AAC1B;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB;AACjB;;AAEA;AACA;AACA;AACA;;;AAGA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,mBAAmB,+BAA+B;AAClD;AACA;;AAEA;AACA,cAAc,OAAO;AACrB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,2CAA2C,EAAE,IAAI,EAAE;AACnD,wCAAwC,EAAE,IAAI,EAAE;;AAEhD;;AAEA;AACA,iCAAiC,EAAE;AACnC,2BAA2B,EAAE;AAC7B,6BAA6B,EAAE;AAC/B,2BAA2B,EAAE;AAC7B,yBAAyB,EAAE,IAAI,EAAE;AACjC,wBAAwB,EAAE;AAC1B,+BAA+B,GAAG;AAClC,yBAAyB,EAAE;AAC3B;AACA,2BAA2B,EAAE,IAAI,EAAE;AACnC,0BAA0B,EAAE,IAAI,EAAE;AAClC,wBAAwB,EAAE;AAC1B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,4CAA4C,OAAO;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD,OAAO;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA,8DAA8D,IAAI,0DAA0D,IAAI,qEAAqE,EAAE;;AAEvM;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,mBAAmB,mBAAmB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,mBAAmB,sBAAsB;AACzC;AACA,sCAAsC;AACtC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,kCAAkC,gBAAgB;AAClD;;AAEA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,oBAAoB;AACvC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,uBAAuB,qBAAqB;AAC5C;AACA;AACA,iCAAiC;AACjC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,6BAA6B;AACtC;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,oBAAoB;AACpB;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,cAAc;AACxC;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA,6DAA6D;AAC7D,yDAAyD;AACzD,+DAA+D;AAC/D,wDAAwD,OAAO;AAC/D,wDAAwD,OAAO;AAC/D,uDAAuD,OAAO;AAC9D,mEAAmE,OAAO;AAC1E,qEAAqE,OAAO;AAC5E;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,mCAAmC,qBAAqB;AACxD,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,mCAAmC,qBAAqB;AACxD,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,wBAAwB;AACxB;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;;;AAGL;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,wBAAwB,mBAAmB;AAC3C;AACA;;AAEA;AACA;AACA;;AAEA,qBAAqB,mBAAmB;AACxC;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,QAAQ;AAC3B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,OAAO;AAC1B;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;;AAEL;;;AAGA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,CAAC;;;;;;;;;;;;;;QCz5IeA,I,GAAAA,I;AAAT,SAASA,IAAT,CAAcC,CAAd,EAAiBC,EAAjB,EAAqBC,CAArB,EAAwB;AAC7B,MAAIC,CAAJ;AACA,MAAI,CAACH,CAAL,EAAQ;AACN,WAAO,CAAP;AACD;AACDE,MAAI,CAACA,CAAD,GAAKF,CAAL,GAASE,CAAb;AACA,MAAIF,aAAaI,KAAjB,EAAwB;AACtB;AACA,SAAKD,IAAI,CAAT,EAAYA,IAAIH,EAAEK,MAAlB,EAA0BF,GAA1B,EAA+B;AAC7B,UAAIF,GAAGK,IAAH,CAAQJ,CAAR,EAAWF,EAAEG,CAAF,CAAX,EAAiBA,CAAjB,EAAoBH,CAApB,MAA2B,KAA/B,EAAsC;AACpC,eAAO,CAAP;AACD;AACF;AACF,GAPD,MAOO;AACL;AACA,SAAKG,CAAL,IAAUH,CAAV,EAAa;AACX,UAAIA,EAAEO,cAAF,CAAiBJ,CAAjB,CAAJ,EAAyB;AACvB,YAAIF,GAAGK,IAAH,CAAQJ,CAAR,EAAWF,EA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KD;;AAEDmC,SAAKM,MAAL,CAAYT,IAAZ,CAAiBe,OAAOH,MAAP,CAActB,KAAd,CAAjB;AACD;;AAED,SAAOa,IAAP;AACD,C;;;;;;AC1FD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACrGD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACrGD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC5GD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,2CAA2C,IAAI;AAC/C;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC1DD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AClED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC7ED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACxDD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACxDD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AChGD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACrJD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACrHD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACxDD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACxDD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,CAAC;;;;;;;;ACxFD,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;AAE5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC5FD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACxHD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC5DD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACjED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AClHD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACjED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,qCAAqC,IAAI;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACvFD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,gCAAgC;AAChC,aAAa;AACb,+BAA+B;AAC/B,aAAa;AACb,kCAAkC;AAClC,aAAa;AACb,kCAAkC;AAClC,aAAa;AACb,+BAA+B;AAC/B,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC/HD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACzDD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACnED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACtFD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC7GD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC7GD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AClED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC3KD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC1JD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACrED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC1DD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AChGD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACpLD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACzED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C;AAC5C,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC3DD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C;AAC5C,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC/DD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC5HD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC1HD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC1DD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACrFD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACrFD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACzHD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC5DD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC3FD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,qCAAqC,IAAI;AACzC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC1DD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AChFD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AChFD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,gDAAgD;AAChD,+CAA+C;AAC/C,8CAA8C;AAC9C,gDAAgD;AAChD,4CAA4C;AAC5C,6CAA6C;AAC7C,6CAA6C;AAC7C,8CAA8C;AAC9C,8CAA8C;AAC9C,+CAA+C;AAC/C,6CAA6C;AAC7C,+CAA+C;AAC/C;AACA;AACA;AACA;AACA,kDAAkD;AAClD,iDAAiD;AACjD,gDAAgD;AAChD,iDAAiD;AACjD,8CAA8C;AAC9C,+CAA+C;AAC/C,+CAA+C;AAC/C,gDAAgD;AAChD,iDAAiD;AACjD,kDAAkD;AAClD,+CAA+C;AAC/C,gDAAgD;AAChD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC9JD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACtGD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC/ED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACxFD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA,uDAAuD,IAAI;AAC3D,6DAA6D,IAAI;AACjE,4DAA4D,IAAI;AAChE,kEAAkE,IAAI;AACtE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC9DD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC9GD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC/FD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACpHD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,yCAAyC,IAAI;AAC7C;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACpED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACtID;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACrFD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,qCAAqC,IAAI;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC/ED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC5HD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,uCAAuC,IAAI;AAC3C;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC5GD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACrFD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,8CAA8C,IAAI,IAAI,IAAI;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACvFD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AChFD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT,qCAAqC,IAAI;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC1FD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,qCAAqC,IAAI;AACzC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACnED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AClID;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AChFD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT,oCAAoC,IAAI,IAAI,IAAI;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC7FD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC5GD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACxJD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC1HD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC/FD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC1HD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,qCAAqC,IAAI;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACzHD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,qCAAqC,IAAI;AACzC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC3ED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,qCAAqC,IAAI;AACzC;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC1ED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACzED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC5ED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACxED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACjFD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC1DD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC3GD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACxGD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AChED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC9ED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,qCAAqC,IAAI;AACzC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACjFD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,qCAAqC,IAAI;AACzC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC1FD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,qCAAqC,IAAI;AACzC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC1FD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACrED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACjED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC5DD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACjED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACjED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC7DD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACjED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;AAE5B;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,gGAAgG;AAC7G;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,iCAAiC;AACjC,gCAAgC;AAChC,gCAAgC;AAChC,+BAA+B;AAC/B;AACA;AACA;AACA,yDAAyD;AACzD;AACA,0DAA0D;AAC1D;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AClGD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACjGD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC1ED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC1ED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC1ED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC1DD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC;AACnC,iBAAiB;AACjB;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC9ED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC7DD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,uBAAuB,QAAQ;AAC/B;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,uBAAuB,QAAQ;AAC/B;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,uBAAuB,QAAQ;AAC/B;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,qCAAqC,IAAI;AACzC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACjLD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACtFD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACrJD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC1GD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACrHD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACrHD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACxDD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACxFD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AClID;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA,+BAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACvGD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACzDD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACtGD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACzDD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACxHD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACzDD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACzDD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACrID;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA,4FAA4F;AAC5F,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;;;;;QCrEee,U,GAAAA,U;;AAFhB;;AAEO,SAASA,UAAT,CAAoBlC,MAApB,EAA4B;AACjC,OAAK,IAAIC,IAAI,CAAb,EAAgBA,IAAIC,UAAUlB,MAA9B,EAAsCiB,GAAtC,EAA2C;AACzC,oBAAKC,UAAUD,CAAV,CAAL,EAAmB,UAASE,IAAT,EAAegC,GAAf,EAAmB;AACpC,UAAM,OAAOnC,OAAOmC,GAAP,CAAP,KAAuB,WAAvB,IAAsC,OAAOhC,IAAP,KAAgB,WAAxD,IACE,QAAOH,OAAOmC,GAAP,CAAP,MAAuB,QAAvB,IAAsC,QAAOhC,IAAP,yCAAOA,IAAP,OAAgB,QADxD,IA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ACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wB;;;;;;AC7QA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;;;;;;ACrBA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,mDAA8C;AAC9C,EAAE;AACF;AAAA;AAAA;AAAA,qGAA8B;AAC9B,EAAE,QAEF;AACA,CAAC;AACD;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,YAAY;AACZ,YAAY;AACZ,YAAY;AACZ,cAAc;AACd;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,SAAS,kBAAkB;AAC3B;AACA;AACA;;AAEA;AACA,aAAa,uBAAuB;AACpC;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,iBAAiB,kBAAkB;AACnC;AACA;AACA;;AAEA;AACA,iBAAiB,YAAY;AAC7B,mEAAmE;AACnE;;AAEA;AACA;;AAEA;AACA;;AAEA,aAAa,oBAAoB;AACjC;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA,cAAc,mBAAmB;AACjC;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc,SAAS;AACvB;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,kCAAkC,IAAI;AACtC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,aAAa,OAAO;AACpB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,oBAAoB;AACjC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,uBAAuB;AACvB;AACA;;AAEA,aAAa,mBAAmB;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,aAAa,oBAAoB;AACjC;AACA,cAAc,mBAAmB;AACjC;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,aAAa,mBAAmB;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,aAAa,oBAAoB;AACjC;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA,gBAAgB,qBAAqB;AACrC;;AAEA;AACA;AACA,iBAAiB,2BAA2B;AAC5C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;;AAEA;;AAEA;AACA,CAAC;;;;;;;ACpmBD;AACA;;;;;;;;;;;;;;;;;;ACDA;;;;AAEA;;AACA;;AACA;;;;AAEA,IAAMM,WAAW;AACf;;;;;;;AADe,CAAjB;;AAWA,IAAIC,oBAAJ;AACA,SAASC,kBAAT,CAA4BC,eAA5B,EAA6CC,OAA7C,EAAsD;AACpD,MAAI3G,OAAO,EAAX;AACA,MAAM4G,gBAAgB;AACpBC,UAAM,CADc;AAEpBC,WAAO,CAFa;AAGpBC,YAAQ;AAHY,GAAtB;AAKA,MAAIC,eAAe,EAAnB;AACA,MAAIN,gBAAgB9B,MAAhB,CAAuBqC,KAAvB,IAAgCP,gBAAgB9B,MAAhB,CAAuBqC,KAAvB,CAA6BC,UAAjE,EAA6E;AAC3EF,mBAAeN,gBAAgB9B,MAAhB,CAAuBqC,KAAvB,CAA6BC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","file":"keen-dataviz.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"c3\"), require(\"d3\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"c3\", \"d3\"], factory);\n\telse {\n\t\tvar a = typeof exports === 'object' ? factory(require(\"c3\"), require(\"d3\")) : factory(root[\"c3\"], root[\"d3\"]);\n\t\tfor(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i];\n\t}\n})(window, function(__WEBPACK_EXTERNAL_MODULE__132__, __WEBPACK_EXTERNAL_MODULE__133__) {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 163);\n","//! moment.js\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n global.moment = factory()\n}(this, (function () { 'use strict';\n\n var hookCallback;\n\n function hooks () {\n return hookCallback.apply(null, arguments);\n }\n\n // This is done to register the method called with moment()\n // without creating circular dependencies.\n function setHookCallback (callback) {\n hookCallback = callback;\n }\n\n function isArray(input) {\n return input instanceof Array || Object.prototype.toString.call(input) === '[object Array]';\n }\n\n function isObject(input) {\n // IE8 will treat undefined and null as object if it wasn't for\n // input != null\n return input != null && Object.prototype.toString.call(input) === '[object Object]';\n }\n\n function isObjectEmpty(obj) {\n if (Object.getOwnPropertyNames) {\n return (Object.getOwnPropertyNames(obj).length === 0);\n } else {\n var k;\n for (k in obj) {\n if (obj.hasOwnProperty(k)) {\n return false;\n }\n }\n return true;\n }\n }\n\n function isUndefined(input) {\n return input === void 0;\n }\n\n function isNumber(input) {\n return typeof input === 'number' || Object.prototype.toString.call(input) === '[object Number]';\n }\n\n function isDate(input) {\n return input instanceof Date || Object.prototype.toString.call(input) === '[object Date]';\n }\n\n function map(arr, fn) {\n var res = [], i;\n for (i = 0; i < arr.length; ++i) {\n res.push(fn(arr[i], i));\n }\n return res;\n }\n\n function hasOwnProp(a, b) {\n return Object.prototype.hasOwnProperty.call(a, b);\n }\n\n function extend(a, b) {\n for (var i in b) {\n if (hasOwnProp(b, i)) {\n a[i] = b[i];\n }\n }\n\n if (hasOwnProp(b, 'toString')) {\n a.toString = b.toString;\n }\n\n if (hasOwnProp(b, 'valueOf')) {\n a.valueOf = b.valueOf;\n }\n\n return a;\n }\n\n function createUTC (input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, true).utc();\n }\n\n function defaultParsingFlags() {\n // We need to deep clone this object.\n return {\n empty : false,\n unusedTokens : [],\n unusedInput : [],\n overflow : -2,\n charsLeftOver : 0,\n nullInput : false,\n invalidMonth : null,\n invalidFormat : false,\n userInvalidated : false,\n iso : false,\n parsedDateParts : [],\n meridiem : null,\n rfc2822 : false,\n weekdayMismatch : false\n };\n }\n\n function getParsingFlags(m) {\n if (m._pf == null) {\n m._pf = defaultParsingFlags();\n }\n return m._pf;\n }\n\n var some;\n if (Array.prototype.some) {\n some = Array.prototype.some;\n } else {\n some = function (fun) {\n var t = Object(this);\n var len = t.length >>> 0;\n\n for (var i = 0; i < len; i++) {\n if (i in t && fun.call(this, t[i], i, t)) {\n return true;\n }\n }\n\n return false;\n };\n }\n\n function isValid(m) {\n if (m._isValid == null) {\n var flags = getParsingFlags(m);\n var parsedParts = some.call(flags.parsedDateParts, function (i) {\n return i != null;\n });\n var isNowValid = !isNaN(m._d.getTime()) &&\n flags.overflow < 0 &&\n !flags.empty &&\n !flags.invalidMonth &&\n !flags.invalidWeekday &&\n !flags.weekdayMismatch &&\n !flags.nullInput &&\n !flags.invalidFormat &&\n !flags.userInvalidated &&\n (!flags.meridiem || (flags.meridiem && parsedParts));\n\n if (m._strict) {\n isNowValid = isNowValid &&\n flags.charsLeftOver === 0 &&\n flags.unusedTokens.length === 0 &&\n flags.bigHour === undefined;\n }\n\n if (Object.isFrozen == null || !Object.isFrozen(m)) {\n m._isValid = isNowValid;\n }\n else {\n return isNowValid;\n }\n }\n return m._isValid;\n }\n\n function createInvalid (flags) {\n var m = createUTC(NaN);\n if (flags != null) {\n extend(getParsingFlags(m), flags);\n }\n else {\n getParsingFlags(m).userInvalidated = true;\n }\n\n return m;\n }\n\n // Plugins that add properties should also add the key here (null value),\n // so we can properly clone ourselves.\n var momentProperties = hooks.momentProperties = [];\n\n function copyConfig(to, from) {\n var i, prop, val;\n\n if (!isUndefined(from._isAMomentObject)) {\n to._isAMomentObject = from._isAMomentObject;\n }\n if (!isUndefined(from._i)) {\n to._i = from._i;\n }\n if (!isUndefined(from._f)) {\n to._f = from._f;\n }\n if (!isUndefined(from._l)) {\n to._l = from._l;\n }\n if (!isUndefined(from._strict)) {\n to._strict = from._strict;\n }\n if (!isUndefined(from._tzm)) {\n to._tzm = from._tzm;\n }\n if (!isUndefined(from._isUTC)) {\n to._isUTC = from._isUTC;\n }\n if (!isUndefined(from._offset)) {\n to._offset = from._offset;\n }\n if (!isUndefined(from._pf)) {\n to._pf = getParsingFlags(from);\n }\n if (!isUndefined(from._locale)) {\n to._locale = from._locale;\n }\n\n if (momentProperties.length > 0) {\n for (i = 0; i < momentProperties.length; i++) {\n prop = momentProperties[i];\n val = from[prop];\n if (!isUndefined(val)) {\n to[prop] = val;\n }\n }\n }\n\n return to;\n }\n\n var updateInProgress = false;\n\n // Moment prototype object\n function Moment(config) {\n copyConfig(this, config);\n this._d = new Date(config._d != null ? config._d.getTime() : NaN);\n if (!this.isValid()) {\n this._d = new Date(NaN);\n }\n // Prevent infinite loop in case updateOffset creates new moment\n // objects.\n if (updateInProgress === false) {\n updateInProgress = true;\n hooks.updateOffset(this);\n updateInProgress = false;\n }\n }\n\n function isMoment (obj) {\n return obj instanceof Moment || (obj != null && obj._isAMomentObject != null);\n }\n\n function absFloor (number) {\n if (number < 0) {\n // -0 -> 0\n return Math.ceil(number) || 0;\n } else {\n return Math.floor(number);\n }\n }\n\n function toInt(argumentForCoercion) {\n var coercedNumber = +argumentForCoercion,\n value = 0;\n\n if (coercedNumber !== 0 && isFinite(coercedNumber)) {\n value = absFloor(coercedNumber);\n }\n\n return value;\n }\n\n // compare two arrays, return the number of differences\n function compareArrays(array1, array2, dontConvert) {\n var len = Math.min(array1.length, array2.length),\n lengthDiff = Math.abs(array1.length - array2.length),\n diffs = 0,\n i;\n for (i = 0; i < len; i++) {\n if ((dontConvert && array1[i] !== array2[i]) ||\n (!dontConvert && toInt(array1[i]) !== toInt(array2[i]))) {\n diffs++;\n }\n }\n return diffs + lengthDiff;\n }\n\n function warn(msg) {\n if (hooks.suppressDeprecationWarnings === false &&\n (typeof console !== 'undefined') && console.warn) {\n console.warn('Deprecation warning: ' + msg);\n }\n }\n\n function deprecate(msg, fn) {\n var firstTime = true;\n\n return extend(function () {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(null, msg);\n }\n if (firstTime) {\n var args = [];\n var arg;\n for (var i = 0; i < arguments.length; i++) {\n arg = '';\n if (typeof arguments[i] === 'object') {\n arg += '\\n[' + i + '] ';\n for (var key in arguments[0]) {\n arg += key + ': ' + arguments[0][key] + ', ';\n }\n arg = arg.slice(0, -2); // Remove trailing comma and space\n } else {\n arg = arguments[i];\n }\n args.push(arg);\n }\n warn(msg + '\\nArguments: ' + Array.prototype.slice.call(args).join('') + '\\n' + (new Error()).stack);\n firstTime = false;\n }\n return fn.apply(this, arguments);\n }, fn);\n }\n\n var deprecations = {};\n\n function deprecateSimple(name, msg) {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(name, msg);\n }\n if (!deprecations[name]) {\n warn(msg);\n deprecations[name] = true;\n }\n }\n\n hooks.suppressDeprecationWarnings = false;\n hooks.deprecationHandler = null;\n\n function isFunction(input) {\n return input instanceof Function || Object.prototype.toString.call(input) === '[object Function]';\n }\n\n function set (config) {\n var prop, i;\n for (i in config) {\n prop = config[i];\n if (isFunction(prop)) {\n this[i] = prop;\n } else {\n this['_' + i] = prop;\n }\n }\n this._config = config;\n // Lenient ordinal parsing accepts just a number in addition to\n // number + (possibly) stuff coming from _dayOfMonthOrdinalParse.\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n this._dayOfMonthOrdinalParseLenient = new RegExp(\n (this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) +\n '|' + (/\\d{1,2}/).source);\n }\n\n function mergeConfigs(parentConfig, childConfig) {\n var res = extend({}, parentConfig), prop;\n for (prop in childConfig) {\n if (hasOwnProp(childConfig, prop)) {\n if (isObject(parentConfig[prop]) && isObject(childConfig[prop])) {\n res[prop] = {};\n extend(res[prop], parentConfig[prop]);\n extend(res[prop], childConfig[prop]);\n } else if (childConfig[prop] != null) {\n res[prop] = childConfig[prop];\n } else {\n delete res[prop];\n }\n }\n }\n for (prop in parentConfig) {\n if (hasOwnProp(parentConfig, prop) &&\n !hasOwnProp(childConfig, prop) &&\n isObject(parentConfig[prop])) {\n // make sure changes to properties don't modify parent config\n res[prop] = extend({}, res[prop]);\n }\n }\n return res;\n }\n\n function Locale(config) {\n if (config != null) {\n this.set(config);\n }\n }\n\n var keys;\n\n if (Object.keys) {\n keys = Object.keys;\n } else {\n keys = function (obj) {\n var i, res = [];\n for (i in obj) {\n if (hasOwnProp(obj, i)) {\n res.push(i);\n }\n }\n return res;\n };\n }\n\n var defaultCalendar = {\n sameDay : '[Today at] LT',\n nextDay : '[Tomorrow at] LT',\n nextWeek : 'dddd [at] LT',\n lastDay : '[Yesterday at] LT',\n lastWeek : '[Last] dddd [at] LT',\n sameElse : 'L'\n };\n\n function calendar (key, mom, now) {\n var output = this._calendar[key] || this._calendar['sameElse'];\n return isFunction(output) ? output.call(mom, now) : output;\n }\n\n var defaultLongDateFormat = {\n LTS : 'h:mm:ss A',\n LT : 'h:mm A',\n L : 'MM/DD/YYYY',\n LL : 'MMMM D, YYYY',\n LLL : 'MMMM D, YYYY h:mm A',\n LLLL : 'dddd, MMMM D, YYYY h:mm A'\n };\n\n function longDateFormat (key) {\n var format = this._longDateFormat[key],\n formatUpper = this._longDateFormat[key.toUpperCase()];\n\n if (format || !formatUpper) {\n return format;\n }\n\n this._longDateFormat[key] = formatUpper.replace(/MMMM|MM|DD|dddd/g, function (val) {\n return val.slice(1);\n });\n\n return this._longDateFormat[key];\n }\n\n var defaultInvalidDate = 'Invalid date';\n\n function invalidDate () {\n return this._invalidDate;\n }\n\n var defaultOrdinal = '%d';\n var defaultDayOfMonthOrdinalParse = /\\d{1,2}/;\n\n function ordinal (number) {\n return this._ordinal.replace('%d', number);\n }\n\n var defaultRelativeTime = {\n future : 'in %s',\n past : '%s ago',\n s : 'a few seconds',\n ss : '%d seconds',\n m : 'a minute',\n mm : '%d minutes',\n h : 'an hour',\n hh : '%d hours',\n d : 'a day',\n dd : '%d days',\n M : 'a month',\n MM : '%d months',\n y : 'a year',\n yy : '%d years'\n };\n\n function relativeTime (number, withoutSuffix, string, isFuture) {\n var output = this._relativeTime[string];\n return (isFunction(output)) ?\n output(number, withoutSuffix, string, isFuture) :\n output.replace(/%d/i, number);\n }\n\n function pastFuture (diff, output) {\n var format = this._relativeTime[diff > 0 ? 'future' : 'past'];\n return isFunction(format) ? format(output) : format.replace(/%s/i, output);\n }\n\n var aliases = {};\n\n function addUnitAlias (unit, shorthand) {\n var lowerCase = unit.toLowerCase();\n aliases[lowerCase] = aliases[lowerCase + 's'] = aliases[shorthand] = unit;\n }\n\n function normalizeUnits(units) {\n return typeof units === 'string' ? aliases[units] || aliases[units.toLowerCase()] : undefined;\n }\n\n function normalizeObjectUnits(inputObject) {\n var normalizedInput = {},\n normalizedProp,\n prop;\n\n for (prop in inputObject) {\n if (hasOwnProp(inputObject, prop)) {\n normalizedProp = normalizeUnits(prop);\n if (normalizedProp) {\n normalizedInput[normalizedProp] = inputObject[prop];\n }\n }\n }\n\n return normalizedInput;\n }\n\n var priorities = {};\n\n function addUnitPriority(unit, priority) {\n priorities[unit] = priority;\n }\n\n function getPrioritizedUnits(unitsObj) {\n var units = [];\n for (var u in unitsObj) {\n units.push({unit: u, priority: priorities[u]});\n }\n units.sort(function (a, b) {\n return a.priority - b.priority;\n });\n return units;\n }\n\n function zeroFill(number, targetLength, forceSign) {\n var absNumber = '' + Math.abs(number),\n zerosToFill = targetLength - absNumber.length,\n sign = number >= 0;\n return (sign ? (forceSign ? '+' : '') : '-') +\n Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) + absNumber;\n }\n\n var formattingTokens = /(\\[[^\\[]*\\])|(\\\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g;\n\n var localFormattingTokens = /(\\[[^\\[]*\\])|(\\\\)?(LTS|LT|LL?L?L?|l{1,4})/g;\n\n var formatFunctions = {};\n\n var formatTokenFunctions = {};\n\n // token: 'M'\n // padded: ['MM', 2]\n // ordinal: 'Mo'\n // callback: function () { this.month() + 1 }\n function addFormatToken (token, padded, ordinal, callback) {\n var func = callback;\n if (typeof callback === 'string') {\n func = function () {\n return this[callback]();\n };\n }\n if (token) {\n formatTokenFunctions[token] = func;\n }\n if (padded) {\n formatTokenFunctions[padded[0]] = function () {\n return zeroFill(func.apply(this, arguments), padded[1], padded[2]);\n };\n }\n if (ordinal) {\n formatTokenFunctions[ordinal] = function () {\n return this.localeData().ordinal(func.apply(this, arguments), token);\n };\n }\n }\n\n function removeFormattingTokens(input) {\n if (input.match(/\\[[\\s\\S]/)) {\n return input.replace(/^\\[|\\]$/g, '');\n }\n return input.replace(/\\\\/g, '');\n }\n\n function makeFormatFunction(format) {\n var array = format.match(formattingTokens), i, length;\n\n for (i = 0, length = array.length; i < length; i++) {\n if (formatTokenFunctions[array[i]]) {\n array[i] = formatTokenFunctions[array[i]];\n } else {\n array[i] = removeFormattingTokens(array[i]);\n }\n }\n\n return function (mom) {\n var output = '', i;\n for (i = 0; i < length; i++) {\n output += isFunction(array[i]) ? array[i].call(mom, format) : array[i];\n }\n return output;\n };\n }\n\n // format date using native date object\n function formatMoment(m, format) {\n if (!m.isValid()) {\n return m.localeData().invalidDate();\n }\n\n format = expandFormat(format, m.localeData());\n formatFunctions[format] = formatFunctions[format] || makeFormatFunction(format);\n\n return formatFunctions[format](m);\n }\n\n function expandFormat(format, locale) {\n var i = 5;\n\n function replaceLongDateFormatTokens(input) {\n return locale.longDateFormat(input) || input;\n }\n\n localFormattingTokens.lastIndex = 0;\n while (i >= 0 && localFormattingTokens.test(format)) {\n format = format.replace(localFormattingTokens, replaceLongDateFormatTokens);\n localFormattingTokens.lastIndex = 0;\n i -= 1;\n }\n\n return format;\n }\n\n var match1 = /\\d/; // 0 - 9\n var match2 = /\\d\\d/; // 00 - 99\n var match3 = /\\d{3}/; // 000 - 999\n var match4 = /\\d{4}/; // 0000 - 9999\n var match6 = /[+-]?\\d{6}/; // -999999 - 999999\n var match1to2 = /\\d\\d?/; // 0 - 99\n var match3to4 = /\\d\\d\\d\\d?/; // 999 - 9999\n var match5to6 = /\\d\\d\\d\\d\\d\\d?/; // 99999 - 999999\n var match1to3 = /\\d{1,3}/; // 0 - 999\n var match1to4 = /\\d{1,4}/; // 0 - 9999\n var match1to6 = /[+-]?\\d{1,6}/; // -999999 - 999999\n\n var matchUnsigned = /\\d+/; // 0 - inf\n var matchSigned = /[+-]?\\d+/; // -inf - inf\n\n var matchOffset = /Z|[+-]\\d\\d:?\\d\\d/gi; // +00:00 -00:00 +0000 -0000 or Z\n var matchShortOffset = /Z|[+-]\\d\\d(?::?\\d\\d)?/gi; // +00 -00 +00:00 -00:00 +0000 -0000 or Z\n\n var matchTimestamp = /[+-]?\\d+(\\.\\d{1,3})?/; // 123456789 123456789.123\n\n // any word (or two) characters or numbers including two/three word month in arabic.\n // includes scottish gaelic two word and hyphenated months\n var matchWord = /[0-9]{0,256}['a-z\\u00A0-\\u05FF\\u0700-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFF07\\uFF10-\\uFFEF]{1,256}|[\\u0600-\\u06FF\\/]{1,256}(\\s*?[\\u0600-\\u06FF]{1,256}){1,2}/i;\n\n var regexes = {};\n\n function addRegexToken (token, regex, strictRegex) {\n regexes[token] = isFunction(regex) ? regex : function (isStrict, localeData) {\n return (isStrict && strictRegex) ? strictRegex : regex;\n };\n }\n\n function getParseRegexForToken (token, config) {\n if (!hasOwnProp(regexes, token)) {\n return new RegExp(unescapeFormat(token));\n }\n\n return regexes[token](config._strict, config._locale);\n }\n\n // Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript\n function unescapeFormat(s) {\n return regexEscape(s.replace('\\\\', '').replace(/\\\\(\\[)|\\\\(\\])|\\[([^\\]\\[]*)\\]|\\\\(.)/g, function (matched, p1, p2, p3, p4) {\n return p1 || p2 || p3 || p4;\n }));\n }\n\n function regexEscape(s) {\n return s.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n }\n\n var tokens = {};\n\n function addParseToken (token, callback) {\n var i, func = callback;\n if (typeof token === 'string') {\n token = [token];\n }\n if (isNumber(callback)) {\n func = function (input, array) {\n array[callback] = toInt(input);\n };\n }\n for (i = 0; i < token.length; i++) {\n tokens[token[i]] = func;\n }\n }\n\n function addWeekParseToken (token, callback) {\n addParseToken(token, function (input, array, config, token) {\n config._w = config._w || {};\n callback(input, config._w, config, token);\n });\n }\n\n function addTimeToArrayFromToken(token, input, config) {\n if (input != null && hasOwnProp(tokens, token)) {\n tokens[token](input, config._a, config, token);\n }\n }\n\n var YEAR = 0;\n var MONTH = 1;\n var DATE = 2;\n var HOUR = 3;\n var MINUTE = 4;\n var SECOND = 5;\n var MILLISECOND = 6;\n var WEEK = 7;\n var WEEKDAY = 8;\n\n // FORMATTING\n\n addFormatToken('Y', 0, 0, function () {\n var y = this.year();\n return y <= 9999 ? '' + y : '+' + y;\n });\n\n addFormatToken(0, ['YY', 2], 0, function () {\n return this.year() % 100;\n });\n\n addFormatToken(0, ['YYYY', 4], 0, 'year');\n addFormatToken(0, ['YYYYY', 5], 0, 'year');\n addFormatToken(0, ['YYYYYY', 6, true], 0, 'year');\n\n // ALIASES\n\n addUnitAlias('year', 'y');\n\n // PRIORITIES\n\n addUnitPriority('year', 1);\n\n // PARSING\n\n addRegexToken('Y', matchSigned);\n addRegexToken('YY', match1to2, match2);\n addRegexToken('YYYY', match1to4, match4);\n addRegexToken('YYYYY', match1to6, match6);\n addRegexToken('YYYYYY', match1to6, match6);\n\n addParseToken(['YYYYY', 'YYYYYY'], YEAR);\n addParseToken('YYYY', function (input, array) {\n array[YEAR] = input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input);\n });\n addParseToken('YY', function (input, array) {\n array[YEAR] = hooks.parseTwoDigitYear(input);\n });\n addParseToken('Y', function (input, array) {\n array[YEAR] = parseInt(input, 10);\n });\n\n // HELPERS\n\n function daysInYear(year) {\n return isLeapYear(year) ? 366 : 365;\n }\n\n function isLeapYear(year) {\n return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;\n }\n\n // HOOKS\n\n hooks.parseTwoDigitYear = function (input) {\n return toInt(input) + (toInt(input) > 68 ? 1900 : 2000);\n };\n\n // MOMENTS\n\n var getSetYear = makeGetSet('FullYear', true);\n\n function getIsLeapYear () {\n return isLeapYear(this.year());\n }\n\n function makeGetSet (unit, keepTime) {\n return function (value) {\n if (value != null) {\n set$1(this, unit, value);\n hooks.updateOffset(this, keepTime);\n return this;\n } else {\n return get(this, unit);\n }\n };\n }\n\n function get (mom, unit) {\n return mom.isValid() ?\n mom._d['get' + (mom._isUTC ? 'UTC' : '') + unit]() : NaN;\n }\n\n function set$1 (mom, unit, value) {\n if (mom.isValid() && !isNaN(value)) {\n if (unit === 'FullYear' && isLeapYear(mom.year()) && mom.month() === 1 && mom.date() === 29) {\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value, mom.month(), daysInMonth(value, mom.month()));\n }\n else {\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value);\n }\n }\n }\n\n // MOMENTS\n\n function stringGet (units) {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units]();\n }\n return this;\n }\n\n\n function stringSet (units, value) {\n if (typeof units === 'object') {\n units = normalizeObjectUnits(units);\n var prioritized = getPrioritizedUnits(units);\n for (var i = 0; i < prioritized.length; i++) {\n this[prioritized[i].unit](units[prioritized[i].unit]);\n }\n } else {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units](value);\n }\n }\n return this;\n }\n\n function mod(n, x) {\n return ((n % x) + x) % x;\n }\n\n var indexOf;\n\n if (Array.prototype.indexOf) {\n indexOf = Array.prototype.indexOf;\n } else {\n indexOf = function (o) {\n // I know\n var i;\n for (i = 0; i < this.length; ++i) {\n if (this[i] === o) {\n return i;\n }\n }\n return -1;\n };\n }\n\n function daysInMonth(year, month) {\n if (isNaN(year) || isNaN(month)) {\n return NaN;\n }\n var modMonth = mod(month, 12);\n year += (month - modMonth) / 12;\n return modMonth === 1 ? (isLeapYear(year) ? 29 : 28) : (31 - modMonth % 7 % 2);\n }\n\n // FORMATTING\n\n addFormatToken('M', ['MM', 2], 'Mo', function () {\n return this.month() + 1;\n });\n\n addFormatToken('MMM', 0, 0, function (format) {\n return this.localeData().monthsShort(this, format);\n });\n\n addFormatToken('MMMM', 0, 0, function (format) {\n return this.localeData().months(this, format);\n });\n\n // ALIASES\n\n addUnitAlias('month', 'M');\n\n // PRIORITY\n\n addUnitPriority('month', 8);\n\n // PARSING\n\n addRegexToken('M', match1to2);\n addRegexToken('MM', match1to2, match2);\n addRegexToken('MMM', function (isStrict, locale) {\n return locale.monthsShortRegex(isStrict);\n });\n addRegexToken('MMMM', function (isStrict, locale) {\n return locale.monthsRegex(isStrict);\n });\n\n addParseToken(['M', 'MM'], function (input, array) {\n array[MONTH] = toInt(input) - 1;\n });\n\n addParseToken(['MMM', 'MMMM'], function (input, array, config, token) {\n var month = config._locale.monthsParse(input, token, config._strict);\n // if we didn't find a month name, mark the date as invalid.\n if (month != null) {\n array[MONTH] = month;\n } else {\n getParsingFlags(config).invalidMonth = input;\n }\n });\n\n // LOCALES\n\n var MONTHS_IN_FORMAT = /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?/;\n var defaultLocaleMonths = 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_');\n function localeMonths (m, format) {\n if (!m) {\n return isArray(this._months) ? this._months :\n this._months['standalone'];\n }\n return isArray(this._months) ? this._months[m.month()] :\n this._months[(this._months.isFormat || MONTHS_IN_FORMAT).test(format) ? 'format' : 'standalone'][m.month()];\n }\n\n var defaultLocaleMonthsShort = 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_');\n function localeMonthsShort (m, format) {\n if (!m) {\n return isArray(this._monthsShort) ? this._monthsShort :\n this._monthsShort['standalone'];\n }\n return isArray(this._monthsShort) ? this._monthsShort[m.month()] :\n this._monthsShort[MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone'][m.month()];\n }\n\n function handleStrictParse(monthName, format, strict) {\n var i, ii, mom, llc = monthName.toLocaleLowerCase();\n if (!this._monthsParse) {\n // this is not used\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n for (i = 0; i < 12; ++i) {\n mom = createUTC([2000, i]);\n this._shortMonthsParse[i] = this.monthsShort(mom, '').toLocaleLowerCase();\n this._longMonthsParse[i] = this.months(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n }\n\n function localeMonthsParse (monthName, format, strict) {\n var i, mom, regex;\n\n if (this._monthsParseExact) {\n return handleStrictParse.call(this, monthName, format, strict);\n }\n\n if (!this._monthsParse) {\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n }\n\n // TODO: add sorting\n // Sorting makes sure if one month (or abbr) is a prefix of another\n // see sorting in computeMonthsParse\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n if (strict && !this._longMonthsParse[i]) {\n this._longMonthsParse[i] = new RegExp('^' + this.months(mom, '').replace('.', '') + '$', 'i');\n this._shortMonthsParse[i] = new RegExp('^' + this.monthsShort(mom, '').replace('.', '') + '$', 'i');\n }\n if (!strict && !this._monthsParse[i]) {\n regex = '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, '');\n this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (strict && format === 'MMMM' && this._longMonthsParse[i].test(monthName)) {\n return i;\n } else if (strict && format === 'MMM' && this._shortMonthsParse[i].test(monthName)) {\n return i;\n } else if (!strict && this._monthsParse[i].test(monthName)) {\n return i;\n }\n }\n }\n\n // MOMENTS\n\n function setMonth (mom, value) {\n var dayOfMonth;\n\n if (!mom.isValid()) {\n // No op\n return mom;\n }\n\n if (typeof value === 'string') {\n if (/^\\d+$/.test(value)) {\n value = toInt(value);\n } else {\n value = mom.localeData().monthsParse(value);\n // TODO: Another silent failure?\n if (!isNumber(value)) {\n return mom;\n }\n }\n }\n\n dayOfMonth = Math.min(mom.date(), daysInMonth(mom.year(), value));\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + 'Month'](value, dayOfMonth);\n return mom;\n }\n\n function getSetMonth (value) {\n if (value != null) {\n setMonth(this, value);\n hooks.updateOffset(this, true);\n return this;\n } else {\n return get(this, 'Month');\n }\n }\n\n function getDaysInMonth () {\n return daysInMonth(this.year(), this.month());\n }\n\n var defaultMonthsShortRegex = matchWord;\n function monthsShortRegex (isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n if (isStrict) {\n return this._monthsShortStrictRegex;\n } else {\n return this._monthsShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsShortRegex')) {\n this._monthsShortRegex = defaultMonthsShortRegex;\n }\n return this._monthsShortStrictRegex && isStrict ?\n this._monthsShortStrictRegex : this._monthsShortRegex;\n }\n }\n\n var defaultMonthsRegex = matchWord;\n function monthsRegex (isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n if (isStrict) {\n return this._monthsStrictRegex;\n } else {\n return this._monthsRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsRegex')) {\n this._monthsRegex = defaultMonthsRegex;\n }\n return this._monthsStrictRegex && isStrict ?\n this._monthsStrictRegex : this._monthsRegex;\n }\n }\n\n function computeMonthsParse () {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var shortPieces = [], longPieces = [], mixedPieces = [],\n i, mom;\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n shortPieces.push(this.monthsShort(mom, ''));\n longPieces.push(this.months(mom, ''));\n mixedPieces.push(this.months(mom, ''));\n mixedPieces.push(this.monthsShort(mom, ''));\n }\n // Sorting makes sure if one month (or abbr) is a prefix of another it\n // will match the longer piece.\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n for (i = 0; i < 12; i++) {\n shortPieces[i] = regexEscape(shortPieces[i]);\n longPieces[i] = regexEscape(longPieces[i]);\n }\n for (i = 0; i < 24; i++) {\n mixedPieces[i] = regexEscape(mixedPieces[i]);\n }\n\n this._monthsRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._monthsShortRegex = this._monthsRegex;\n this._monthsStrictRegex = new RegExp('^(' + longPieces.join('|') + ')', 'i');\n this._monthsShortStrictRegex = new RegExp('^(' + shortPieces.join('|') + ')', 'i');\n }\n\n function createDate (y, m, d, h, M, s, ms) {\n // can't just apply() to create a date:\n // https://stackoverflow.com/q/181348\n var date = new Date(y, m, d, h, M, s, ms);\n\n // the date constructor remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0 && isFinite(date.getFullYear())) {\n date.setFullYear(y);\n }\n return date;\n }\n\n function createUTCDate (y) {\n var date = new Date(Date.UTC.apply(null, arguments));\n\n // the Date.UTC function remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0 && isFinite(date.getUTCFullYear())) {\n date.setUTCFullYear(y);\n }\n return date;\n }\n\n // start-of-first-week - start-of-year\n function firstWeekOffset(year, dow, doy) {\n var // first-week day -- which january is always in the first week (4 for iso, 1 for other)\n fwd = 7 + dow - doy,\n // first-week day local weekday -- which local weekday is fwd\n fwdlw = (7 + createUTCDate(year, 0, fwd).getUTCDay() - dow) % 7;\n\n return -fwdlw + fwd - 1;\n }\n\n // https://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday\n function dayOfYearFromWeeks(year, week, weekday, dow, doy) {\n var localWeekday = (7 + weekday - dow) % 7,\n weekOffset = firstWeekOffset(year, dow, doy),\n dayOfYear = 1 + 7 * (week - 1) + localWeekday + weekOffset,\n resYear, resDayOfYear;\n\n if (dayOfYear <= 0) {\n resYear = year - 1;\n resDayOfYear = daysInYear(resYear) + dayOfYear;\n } else if (dayOfYear > daysInYear(year)) {\n resYear = year + 1;\n resDayOfYear = dayOfYear - daysInYear(year);\n } else {\n resYear = year;\n resDayOfYear = dayOfYear;\n }\n\n return {\n year: resYear,\n dayOfYear: resDayOfYear\n };\n }\n\n function weekOfYear(mom, dow, doy) {\n var weekOffset = firstWeekOffset(mom.year(), dow, doy),\n week = Math.floor((mom.dayOfYear() - weekOffset - 1) / 7) + 1,\n resWeek, resYear;\n\n if (week < 1) {\n resYear = mom.year() - 1;\n resWeek = week + weeksInYear(resYear, dow, doy);\n } else if (week > weeksInYear(mom.year(), dow, doy)) {\n resWeek = week - weeksInYear(mom.year(), dow, doy);\n resYear = mom.year() + 1;\n } else {\n resYear = mom.year();\n resWeek = week;\n }\n\n return {\n week: resWeek,\n year: resYear\n };\n }\n\n function weeksInYear(year, dow, doy) {\n var weekOffset = firstWeekOffset(year, dow, doy),\n weekOffsetNext = firstWeekOffset(year + 1, dow, doy);\n return (daysInYear(year) - weekOffset + weekOffsetNext) / 7;\n }\n\n // FORMATTING\n\n addFormatToken('w', ['ww', 2], 'wo', 'week');\n addFormatToken('W', ['WW', 2], 'Wo', 'isoWeek');\n\n // ALIASES\n\n addUnitAlias('week', 'w');\n addUnitAlias('isoWeek', 'W');\n\n // PRIORITIES\n\n addUnitPriority('week', 5);\n addUnitPriority('isoWeek', 5);\n\n // PARSING\n\n addRegexToken('w', match1to2);\n addRegexToken('ww', match1to2, match2);\n addRegexToken('W', match1to2);\n addRegexToken('WW', match1to2, match2);\n\n addWeekParseToken(['w', 'ww', 'W', 'WW'], function (input, week, config, token) {\n week[token.substr(0, 1)] = toInt(input);\n });\n\n // HELPERS\n\n // LOCALES\n\n function localeWeek (mom) {\n return weekOfYear(mom, this._week.dow, this._week.doy).week;\n }\n\n var defaultLocaleWeek = {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n };\n\n function localeFirstDayOfWeek () {\n return this._week.dow;\n }\n\n function localeFirstDayOfYear () {\n return this._week.doy;\n }\n\n // MOMENTS\n\n function getSetWeek (input) {\n var week = this.localeData().week(this);\n return input == null ? week : this.add((input - week) * 7, 'd');\n }\n\n function getSetISOWeek (input) {\n var week = weekOfYear(this, 1, 4).week;\n return input == null ? week : this.add((input - week) * 7, 'd');\n }\n\n // FORMATTING\n\n addFormatToken('d', 0, 'do', 'day');\n\n addFormatToken('dd', 0, 0, function (format) {\n return this.localeData().weekdaysMin(this, format);\n });\n\n addFormatToken('ddd', 0, 0, function (format) {\n return this.localeData().weekdaysShort(this, format);\n });\n\n addFormatToken('dddd', 0, 0, function (format) {\n return this.localeData().weekdays(this, format);\n });\n\n addFormatToken('e', 0, 0, 'weekday');\n addFormatToken('E', 0, 0, 'isoWeekday');\n\n // ALIASES\n\n addUnitAlias('day', 'd');\n addUnitAlias('weekday', 'e');\n addUnitAlias('isoWeekday', 'E');\n\n // PRIORITY\n addUnitPriority('day', 11);\n addUnitPriority('weekday', 11);\n addUnitPriority('isoWeekday', 11);\n\n // PARSING\n\n addRegexToken('d', match1to2);\n addRegexToken('e', match1to2);\n addRegexToken('E', match1to2);\n addRegexToken('dd', function (isStrict, locale) {\n return locale.weekdaysMinRegex(isStrict);\n });\n addRegexToken('ddd', function (isStrict, locale) {\n return locale.weekdaysShortRegex(isStrict);\n });\n addRegexToken('dddd', function (isStrict, locale) {\n return locale.weekdaysRegex(isStrict);\n });\n\n addWeekParseToken(['dd', 'ddd', 'dddd'], function (input, week, config, token) {\n var weekday = config._locale.weekdaysParse(input, token, config._strict);\n // if we didn't get a weekday name, mark the date as invalid\n if (weekday != null) {\n week.d = weekday;\n } else {\n getParsingFlags(config).invalidWeekday = input;\n }\n });\n\n addWeekParseToken(['d', 'e', 'E'], function (input, week, config, token) {\n week[token] = toInt(input);\n });\n\n // HELPERS\n\n function parseWeekday(input, locale) {\n if (typeof input !== 'string') {\n return input;\n }\n\n if (!isNaN(input)) {\n return parseInt(input, 10);\n }\n\n input = locale.weekdaysParse(input);\n if (typeof input === 'number') {\n return input;\n }\n\n return null;\n }\n\n function parseIsoWeekday(input, locale) {\n if (typeof input === 'string') {\n return locale.weekdaysParse(input) % 7 || 7;\n }\n return isNaN(input) ? null : input;\n }\n\n // LOCALES\n\n var defaultLocaleWeekdays = 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_');\n function localeWeekdays (m, format) {\n if (!m) {\n return isArray(this._weekdays) ? this._weekdays :\n this._weekdays['standalone'];\n }\n return isArray(this._weekdays) ? this._weekdays[m.day()] :\n this._weekdays[this._weekdays.isFormat.test(format) ? 'format' : 'standalone'][m.day()];\n }\n\n var defaultLocaleWeekdaysShort = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_');\n function localeWeekdaysShort (m) {\n return (m) ? this._weekdaysShort[m.day()] : this._weekdaysShort;\n }\n\n var defaultLocaleWeekdaysMin = 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_');\n function localeWeekdaysMin (m) {\n return (m) ? this._weekdaysMin[m.day()] : this._weekdaysMin;\n }\n\n function handleStrictParse$1(weekdayName, format, strict) {\n var i, ii, mom, llc = weekdayName.toLocaleLowerCase();\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._minWeekdaysParse = [];\n\n for (i = 0; i < 7; ++i) {\n mom = createUTC([2000, 1]).day(i);\n this._minWeekdaysParse[i] = this.weekdaysMin(mom, '').toLocaleLowerCase();\n this._shortWeekdaysParse[i] = this.weekdaysShort(mom, '').toLocaleLowerCase();\n this._weekdaysParse[i] = this.weekdays(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n }\n\n function localeWeekdaysParse (weekdayName, format, strict) {\n var i, mom, regex;\n\n if (this._weekdaysParseExact) {\n return handleStrictParse$1.call(this, weekdayName, format, strict);\n }\n\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._minWeekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._fullWeekdaysParse = [];\n }\n\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n\n mom = createUTC([2000, 1]).day(i);\n if (strict && !this._fullWeekdaysParse[i]) {\n this._fullWeekdaysParse[i] = new RegExp('^' + this.weekdays(mom, '').replace('.', '\\\\.?') + '$', 'i');\n this._shortWeekdaysParse[i] = new RegExp('^' + this.weekdaysShort(mom, '').replace('.', '\\\\.?') + '$', 'i');\n this._minWeekdaysParse[i] = new RegExp('^' + this.weekdaysMin(mom, '').replace('.', '\\\\.?') + '$', 'i');\n }\n if (!this._weekdaysParse[i]) {\n regex = '^' + this.weekdays(mom, '') + '|^' + this.weekdaysShort(mom, '') + '|^' + this.weekdaysMin(mom, '');\n this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (strict && format === 'dddd' && this._fullWeekdaysParse[i].test(weekdayName)) {\n return i;\n } else if (strict && format === 'ddd' && this._shortWeekdaysParse[i].test(weekdayName)) {\n return i;\n } else if (strict && format === 'dd' && this._minWeekdaysParse[i].test(weekdayName)) {\n return i;\n } else if (!strict && this._weekdaysParse[i].test(weekdayName)) {\n return i;\n }\n }\n }\n\n // MOMENTS\n\n function getSetDayOfWeek (input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n var day = this._isUTC ? this._d.getUTCDay() : this._d.getDay();\n if (input != null) {\n input = parseWeekday(input, this.localeData());\n return this.add(input - day, 'd');\n } else {\n return day;\n }\n }\n\n function getSetLocaleDayOfWeek (input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7;\n return input == null ? weekday : this.add(input - weekday, 'd');\n }\n\n function getSetISODayOfWeek (input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n\n // behaves the same as moment#day except\n // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6)\n // as a setter, sunday should belong to the previous week.\n\n if (input != null) {\n var weekday = parseIsoWeekday(input, this.localeData());\n return this.day(this.day() % 7 ? weekday : weekday - 7);\n } else {\n return this.day() || 7;\n }\n }\n\n var defaultWeekdaysRegex = matchWord;\n function weekdaysRegex (isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysStrictRegex;\n } else {\n return this._weekdaysRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n this._weekdaysRegex = defaultWeekdaysRegex;\n }\n return this._weekdaysStrictRegex && isStrict ?\n this._weekdaysStrictRegex : this._weekdaysRegex;\n }\n }\n\n var defaultWeekdaysShortRegex = matchWord;\n function weekdaysShortRegex (isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysShortStrictRegex;\n } else {\n return this._weekdaysShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysShortRegex')) {\n this._weekdaysShortRegex = defaultWeekdaysShortRegex;\n }\n return this._weekdaysShortStrictRegex && isStrict ?\n this._weekdaysShortStrictRegex : this._weekdaysShortRegex;\n }\n }\n\n var defaultWeekdaysMinRegex = matchWord;\n function weekdaysMinRegex (isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysMinStrictRegex;\n } else {\n return this._weekdaysMinRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysMinRegex')) {\n this._weekdaysMinRegex = defaultWeekdaysMinRegex;\n }\n return this._weekdaysMinStrictRegex && isStrict ?\n this._weekdaysMinStrictRegex : this._weekdaysMinRegex;\n }\n }\n\n\n function computeWeekdaysParse () {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var minPieces = [], shortPieces = [], longPieces = [], mixedPieces = [],\n i, mom, minp, shortp, longp;\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, 1]).day(i);\n minp = this.weekdaysMin(mom, '');\n shortp = this.weekdaysShort(mom, '');\n longp = this.weekdays(mom, '');\n minPieces.push(minp);\n shortPieces.push(shortp);\n longPieces.push(longp);\n mixedPieces.push(minp);\n mixedPieces.push(shortp);\n mixedPieces.push(longp);\n }\n // Sorting makes sure if one weekday (or abbr) is a prefix of another it\n // will match the longer piece.\n minPieces.sort(cmpLenRev);\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n for (i = 0; i < 7; i++) {\n shortPieces[i] = regexEscape(shortPieces[i]);\n longPieces[i] = regexEscape(longPieces[i]);\n mixedPieces[i] = regexEscape(mixedPieces[i]);\n }\n\n this._weekdaysRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._weekdaysShortRegex = this._weekdaysRegex;\n this._weekdaysMinRegex = this._weekdaysRegex;\n\n this._weekdaysStrictRegex = new RegExp('^(' + longPieces.join('|') + ')', 'i');\n this._weekdaysShortStrictRegex = new RegExp('^(' + shortPieces.join('|') + ')', 'i');\n this._weekdaysMinStrictRegex = new RegExp('^(' + minPieces.join('|') + ')', 'i');\n }\n\n // FORMATTING\n\n function hFormat() {\n return this.hours() % 12 || 12;\n }\n\n function kFormat() {\n return this.hours() || 24;\n }\n\n addFormatToken('H', ['HH', 2], 0, 'hour');\n addFormatToken('h', ['hh', 2], 0, hFormat);\n addFormatToken('k', ['kk', 2], 0, kFormat);\n\n addFormatToken('hmm', 0, 0, function () {\n return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2);\n });\n\n addFormatToken('hmmss', 0, 0, function () {\n return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2);\n });\n\n addFormatToken('Hmm', 0, 0, function () {\n return '' + this.hours() + zeroFill(this.minutes(), 2);\n });\n\n addFormatToken('Hmmss', 0, 0, function () {\n return '' + this.hours() + zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2);\n });\n\n function meridiem (token, lowercase) {\n addFormatToken(token, 0, 0, function () {\n return this.localeData().meridiem(this.hours(), this.minutes(), lowercase);\n });\n }\n\n meridiem('a', true);\n meridiem('A', false);\n\n // ALIASES\n\n addUnitAlias('hour', 'h');\n\n // PRIORITY\n addUnitPriority('hour', 13);\n\n // PARSING\n\n function matchMeridiem (isStrict, locale) {\n return locale._meridiemParse;\n }\n\n addRegexToken('a', matchMeridiem);\n addRegexToken('A', matchMeridiem);\n addRegexToken('H', match1to2);\n addRegexToken('h', match1to2);\n addRegexToken('k', match1to2);\n addRegexToken('HH', match1to2, match2);\n addRegexToken('hh', match1to2, match2);\n addRegexToken('kk', match1to2, match2);\n\n addRegexToken('hmm', match3to4);\n addRegexToken('hmmss', match5to6);\n addRegexToken('Hmm', match3to4);\n addRegexToken('Hmmss', match5to6);\n\n addParseToken(['H', 'HH'], HOUR);\n addParseToken(['k', 'kk'], function (input, array, config) {\n var kInput = toInt(input);\n array[HOUR] = kInput === 24 ? 0 : kInput;\n });\n addParseToken(['a', 'A'], function (input, array, config) {\n config._isPm = config._locale.isPM(input);\n config._meridiem = input;\n });\n addParseToken(['h', 'hh'], function (input, array, config) {\n array[HOUR] = toInt(input);\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('hmmss', function (input, array, config) {\n var pos1 = input.length - 4;\n var pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('Hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n });\n addParseToken('Hmmss', function (input, array, config) {\n var pos1 = input.length - 4;\n var pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n });\n\n // LOCALES\n\n function localeIsPM (input) {\n // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays\n // Using charAt should be more compatible.\n return ((input + '').toLowerCase().charAt(0) === 'p');\n }\n\n var defaultLocaleMeridiemParse = /[ap]\\.?m?\\.?/i;\n function localeMeridiem (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'pm' : 'PM';\n } else {\n return isLower ? 'am' : 'AM';\n }\n }\n\n\n // MOMENTS\n\n // Setting the hour should keep the time, because the user explicitly\n // specified which hour they want. So trying to maintain the same hour (in\n // a new timezone) makes sense. Adding/subtracting hours does not follow\n // this rule.\n var getSetHour = makeGetSet('Hours', true);\n\n var baseConfig = {\n calendar: defaultCalendar,\n longDateFormat: defaultLongDateFormat,\n invalidDate: defaultInvalidDate,\n ordinal: defaultOrdinal,\n dayOfMonthOrdinalParse: defaultDayOfMonthOrdinalParse,\n relativeTime: defaultRelativeTime,\n\n months: defaultLocaleMonths,\n monthsShort: defaultLocaleMonthsShort,\n\n week: defaultLocaleWeek,\n\n weekdays: defaultLocaleWeekdays,\n weekdaysMin: defaultLocaleWeekdaysMin,\n weekdaysShort: defaultLocaleWeekdaysShort,\n\n meridiemParse: defaultLocaleMeridiemParse\n };\n\n // internal storage for locale config files\n var locales = {};\n var localeFamilies = {};\n var globalLocale;\n\n function normalizeLocale(key) {\n return key ? key.toLowerCase().replace('_', '-') : key;\n }\n\n // pick the locale from the array\n // try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each\n // substring from most specific to least, but move to the next array item if it's a more specific variant than the current root\n function chooseLocale(names) {\n var i = 0, j, next, locale, split;\n\n while (i < names.length) {\n split = normalizeLocale(names[i]).split('-');\n j = split.length;\n next = normalizeLocale(names[i + 1]);\n next = next ? next.split('-') : null;\n while (j > 0) {\n locale = loadLocale(split.slice(0, j).join('-'));\n if (locale) {\n return locale;\n }\n if (next && next.length >= j && compareArrays(split, next, true) >= j - 1) {\n //the next array item is better than a shallower substring of this one\n break;\n }\n j--;\n }\n i++;\n }\n return globalLocale;\n }\n\n function loadLocale(name) {\n var oldLocale = null;\n // TODO: Find a better way to register and load all the locales in Node\n if (!locales[name] && (typeof module !== 'undefined') &&\n module && module.exports) {\n try {\n oldLocale = globalLocale._abbr;\n var aliasedRequire = require;\n aliasedRequire('./locale/' + name);\n getSetGlobalLocale(oldLocale);\n } catch (e) {}\n }\n return locales[name];\n }\n\n // This function will load locale and then set the global locale. If\n // no arguments are passed in, it will simply return the current global\n // locale key.\n function getSetGlobalLocale (key, values) {\n var data;\n if (key) {\n if (isUndefined(values)) {\n data = getLocale(key);\n }\n else {\n data = defineLocale(key, values);\n }\n\n if (data) {\n // moment.duration._locale = moment._locale = data;\n globalLocale = data;\n }\n else {\n if ((typeof console !== 'undefined') && console.warn) {\n //warn user if arguments are passed but the locale could not be set\n console.warn('Locale ' + key + ' not found. Did you forget to load it?');\n }\n }\n }\n\n return globalLocale._abbr;\n }\n\n function defineLocale (name, config) {\n if (config !== null) {\n var locale, parentConfig = baseConfig;\n config.abbr = name;\n if (locales[name] != null) {\n deprecateSimple('defineLocaleOverride',\n 'use moment.updateLocale(localeName, config) to change ' +\n 'an existing locale. moment.defineLocale(localeName, ' +\n 'config) should only be used for creating a new locale ' +\n 'See http://momentjs.com/guides/#/warnings/define-locale/ for more info.');\n parentConfig = locales[name]._config;\n } else if (config.parentLocale != null) {\n if (locales[config.parentLocale] != null) {\n parentConfig = locales[config.parentLocale]._config;\n } else {\n locale = loadLocale(config.parentLocale);\n if (locale != null) {\n parentConfig = locale._config;\n } else {\n if (!localeFamilies[config.parentLocale]) {\n localeFamilies[config.parentLocale] = [];\n }\n localeFamilies[config.parentLocale].push({\n name: name,\n config: config\n });\n return null;\n }\n }\n }\n locales[name] = new Locale(mergeConfigs(parentConfig, config));\n\n if (localeFamilies[name]) {\n localeFamilies[name].forEach(function (x) {\n defineLocale(x.name, x.config);\n });\n }\n\n // backwards compat for now: also set the locale\n // make sure we set the locale AFTER all child locales have been\n // created, so we won't end up with the child locale set.\n getSetGlobalLocale(name);\n\n\n return locales[name];\n } else {\n // useful for testing\n delete locales[name];\n return null;\n }\n }\n\n function updateLocale(name, config) {\n if (config != null) {\n var locale, tmpLocale, parentConfig = baseConfig;\n // MERGE\n tmpLocale = loadLocale(name);\n if (tmpLocale != null) {\n parentConfig = tmpLocale._config;\n }\n config = mergeConfigs(parentConfig, config);\n locale = new Locale(config);\n locale.parentLocale = locales[name];\n locales[name] = locale;\n\n // backwards compat for now: also set the locale\n getSetGlobalLocale(name);\n } else {\n // pass null for config to unupdate, useful for tests\n if (locales[name] != null) {\n if (locales[name].parentLocale != null) {\n locales[name] = locales[name].parentLocale;\n } else if (locales[name] != null) {\n delete locales[name];\n }\n }\n }\n return locales[name];\n }\n\n // returns locale data\n function getLocale (key) {\n var locale;\n\n if (key && key._locale && key._locale._abbr) {\n key = key._locale._abbr;\n }\n\n if (!key) {\n return globalLocale;\n }\n\n if (!isArray(key)) {\n //short-circuit everything else\n locale = loadLocale(key);\n if (locale) {\n return locale;\n }\n key = [key];\n }\n\n return chooseLocale(key);\n }\n\n function listLocales() {\n return keys(locales);\n }\n\n function checkOverflow (m) {\n var overflow;\n var a = m._a;\n\n if (a && getParsingFlags(m).overflow === -2) {\n overflow =\n a[MONTH] < 0 || a[MONTH] > 11 ? MONTH :\n a[DATE] < 1 || a[DATE] > daysInMonth(a[YEAR], a[MONTH]) ? DATE :\n a[HOUR] < 0 || a[HOUR] > 24 || (a[HOUR] === 24 && (a[MINUTE] !== 0 || a[SECOND] !== 0 || a[MILLISECOND] !== 0)) ? HOUR :\n a[MINUTE] < 0 || a[MINUTE] > 59 ? MINUTE :\n a[SECOND] < 0 || a[SECOND] > 59 ? SECOND :\n a[MILLISECOND] < 0 || a[MILLISECOND] > 999 ? MILLISECOND :\n -1;\n\n if (getParsingFlags(m)._overflowDayOfYear && (overflow < YEAR || overflow > DATE)) {\n overflow = DATE;\n }\n if (getParsingFlags(m)._overflowWeeks && overflow === -1) {\n overflow = WEEK;\n }\n if (getParsingFlags(m)._overflowWeekday && overflow === -1) {\n overflow = WEEKDAY;\n }\n\n getParsingFlags(m).overflow = overflow;\n }\n\n return m;\n }\n\n // Pick the first defined of two or three arguments.\n function defaults(a, b, c) {\n if (a != null) {\n return a;\n }\n if (b != null) {\n return b;\n }\n return c;\n }\n\n function currentDateArray(config) {\n // hooks is actually the exported moment object\n var nowValue = new Date(hooks.now());\n if (config._useUTC) {\n return [nowValue.getUTCFullYear(), nowValue.getUTCMonth(), nowValue.getUTCDate()];\n }\n return [nowValue.getFullYear(), nowValue.getMonth(), nowValue.getDate()];\n }\n\n // convert an array to a date.\n // the array should mirror the parameters below\n // note: all values past the year are optional and will default to the lowest possible value.\n // [year, month, day , hour, minute, second, millisecond]\n function configFromArray (config) {\n var i, date, input = [], currentDate, expectedWeekday, yearToUse;\n\n if (config._d) {\n return;\n }\n\n currentDate = currentDateArray(config);\n\n //compute day of the year from weeks and weekdays\n if (config._w && config._a[DATE] == null && config._a[MONTH] == null) {\n dayOfYearFromWeekInfo(config);\n }\n\n //if the day of the year is set, figure out what it is\n if (config._dayOfYear != null) {\n yearToUse = defaults(config._a[YEAR], currentDate[YEAR]);\n\n if (config._dayOfYear > daysInYear(yearToUse) || config._dayOfYear === 0) {\n getParsingFlags(config)._overflowDayOfYear = true;\n }\n\n date = createUTCDate(yearToUse, 0, config._dayOfYear);\n config._a[MONTH] = date.getUTCMonth();\n config._a[DATE] = date.getUTCDate();\n }\n\n // Default to current date.\n // * if no year, month, day of month are given, default to today\n // * if day of month is given, default month and year\n // * if month is given, default only year\n // * if year is given, don't default anything\n for (i = 0; i < 3 && config._a[i] == null; ++i) {\n config._a[i] = input[i] = currentDate[i];\n }\n\n // Zero out whatever was not defaulted, including time\n for (; i < 7; i++) {\n config._a[i] = input[i] = (config._a[i] == null) ? (i === 2 ? 1 : 0) : config._a[i];\n }\n\n // Check for 24:00:00.000\n if (config._a[HOUR] === 24 &&\n config._a[MINUTE] === 0 &&\n config._a[SECOND] === 0 &&\n config._a[MILLISECOND] === 0) {\n config._nextDay = true;\n config._a[HOUR] = 0;\n }\n\n config._d = (config._useUTC ? createUTCDate : createDate).apply(null, input);\n expectedWeekday = config._useUTC ? config._d.getUTCDay() : config._d.getDay();\n\n // Apply timezone offset from input. The actual utcOffset can be changed\n // with parseZone.\n if (config._tzm != null) {\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n }\n\n if (config._nextDay) {\n config._a[HOUR] = 24;\n }\n\n // check for mismatching day of week\n if (config._w && typeof config._w.d !== 'undefined' && config._w.d !== expectedWeekday) {\n getParsingFlags(config).weekdayMismatch = true;\n }\n }\n\n function dayOfYearFromWeekInfo(config) {\n var w, weekYear, week, weekday, dow, doy, temp, weekdayOverflow;\n\n w = config._w;\n if (w.GG != null || w.W != null || w.E != null) {\n dow = 1;\n doy = 4;\n\n // TODO: We need to take the current isoWeekYear, but that depends on\n // how we interpret now (local, utc, fixed offset). So create\n // a now version of current config (take local/utc/offset flags, and\n // create now).\n weekYear = defaults(w.GG, config._a[YEAR], weekOfYear(createLocal(), 1, 4).year);\n week = defaults(w.W, 1);\n weekday = defaults(w.E, 1);\n if (weekday < 1 || weekday > 7) {\n weekdayOverflow = true;\n }\n } else {\n dow = config._locale._week.dow;\n doy = config._locale._week.doy;\n\n var curWeek = weekOfYear(createLocal(), dow, doy);\n\n weekYear = defaults(w.gg, config._a[YEAR], curWeek.year);\n\n // Default to current week.\n week = defaults(w.w, curWeek.week);\n\n if (w.d != null) {\n // weekday -- low day numbers are considered next week\n weekday = w.d;\n if (weekday < 0 || weekday > 6) {\n weekdayOverflow = true;\n }\n } else if (w.e != null) {\n // local weekday -- counting starts from begining of week\n weekday = w.e + dow;\n if (w.e < 0 || w.e > 6) {\n weekdayOverflow = true;\n }\n } else {\n // default to begining of week\n weekday = dow;\n }\n }\n if (week < 1 || week > weeksInYear(weekYear, dow, doy)) {\n getParsingFlags(config)._overflowWeeks = true;\n } else if (weekdayOverflow != null) {\n getParsingFlags(config)._overflowWeekday = true;\n } else {\n temp = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy);\n config._a[YEAR] = temp.year;\n config._dayOfYear = temp.dayOfYear;\n }\n }\n\n // iso 8601 regex\n // 0000-00-00 0000-W00 or 0000-W00-0 + T + 00 or 00:00 or 00:00:00 or 00:00:00.000 + +00:00 or +0000 or +00)\n var extendedIsoRegex = /^\\s*((?:[+-]\\d{6}|\\d{4})-(?:\\d\\d-\\d\\d|W\\d\\d-\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?::\\d\\d(?::\\d\\d(?:[.,]\\d+)?)?)?)([\\+\\-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/;\n var basicIsoRegex = /^\\s*((?:[+-]\\d{6}|\\d{4})(?:\\d\\d\\d\\d|W\\d\\d\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?:\\d\\d(?:\\d\\d(?:[.,]\\d+)?)?)?)([\\+\\-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/;\n\n var tzRegex = /Z|[+-]\\d\\d(?::?\\d\\d)?/;\n\n var isoDates = [\n ['YYYYYY-MM-DD', /[+-]\\d{6}-\\d\\d-\\d\\d/],\n ['YYYY-MM-DD', /\\d{4}-\\d\\d-\\d\\d/],\n ['GGGG-[W]WW-E', /\\d{4}-W\\d\\d-\\d/],\n ['GGGG-[W]WW', /\\d{4}-W\\d\\d/, false],\n ['YYYY-DDD', /\\d{4}-\\d{3}/],\n ['YYYY-MM', /\\d{4}-\\d\\d/, false],\n ['YYYYYYMMDD', /[+-]\\d{10}/],\n ['YYYYMMDD', /\\d{8}/],\n // YYYYMM is NOT allowed by the standard\n ['GGGG[W]WWE', /\\d{4}W\\d{3}/],\n ['GGGG[W]WW', /\\d{4}W\\d{2}/, false],\n ['YYYYDDD', /\\d{7}/]\n ];\n\n // iso time formats and regexes\n var isoTimes = [\n ['HH:mm:ss.SSSS', /\\d\\d:\\d\\d:\\d\\d\\.\\d+/],\n ['HH:mm:ss,SSSS', /\\d\\d:\\d\\d:\\d\\d,\\d+/],\n ['HH:mm:ss', /\\d\\d:\\d\\d:\\d\\d/],\n ['HH:mm', /\\d\\d:\\d\\d/],\n ['HHmmss.SSSS', /\\d\\d\\d\\d\\d\\d\\.\\d+/],\n ['HHmmss,SSSS', /\\d\\d\\d\\d\\d\\d,\\d+/],\n ['HHmmss', /\\d\\d\\d\\d\\d\\d/],\n ['HHmm', /\\d\\d\\d\\d/],\n ['HH', /\\d\\d/]\n ];\n\n var aspNetJsonRegex = /^\\/?Date\\((\\-?\\d+)/i;\n\n // date from iso format\n function configFromISO(config) {\n var i, l,\n string = config._i,\n match = extendedIsoRegex.exec(string) || basicIsoRegex.exec(string),\n allowTime, dateFormat, timeFormat, tzFormat;\n\n if (match) {\n getParsingFlags(config).iso = true;\n\n for (i = 0, l = isoDates.length; i < l; i++) {\n if (isoDates[i][1].exec(match[1])) {\n dateFormat = isoDates[i][0];\n allowTime = isoDates[i][2] !== false;\n break;\n }\n }\n if (dateFormat == null) {\n config._isValid = false;\n return;\n }\n if (match[3]) {\n for (i = 0, l = isoTimes.length; i < l; i++) {\n if (isoTimes[i][1].exec(match[3])) {\n // match[2] should be 'T' or space\n timeFormat = (match[2] || ' ') + isoTimes[i][0];\n break;\n }\n }\n if (timeFormat == null) {\n config._isValid = false;\n return;\n }\n }\n if (!allowTime && timeFormat != null) {\n config._isValid = false;\n return;\n }\n if (match[4]) {\n if (tzRegex.exec(match[4])) {\n tzFormat = 'Z';\n } else {\n config._isValid = false;\n return;\n }\n }\n config._f = dateFormat + (timeFormat || '') + (tzFormat || '');\n configFromStringAndFormat(config);\n } else {\n config._isValid = false;\n }\n }\n\n // RFC 2822 regex: For details see https://tools.ietf.org/html/rfc2822#section-3.3\n var rfc2822 = /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\\s)?(\\d{1,2})\\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\\s(\\d{2,4})\\s(\\d\\d):(\\d\\d)(?::(\\d\\d))?\\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\\d{4}))$/;\n\n function extractFromRFC2822Strings(yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr) {\n var result = [\n untruncateYear(yearStr),\n defaultLocaleMonthsShort.indexOf(monthStr),\n parseInt(dayStr, 10),\n parseInt(hourStr, 10),\n parseInt(minuteStr, 10)\n ];\n\n if (secondStr) {\n result.push(parseInt(secondStr, 10));\n }\n\n return result;\n }\n\n function untruncateYear(yearStr) {\n var year = parseInt(yearStr, 10);\n if (year <= 49) {\n return 2000 + year;\n } else if (year <= 999) {\n return 1900 + year;\n }\n return year;\n }\n\n function preprocessRFC2822(s) {\n // Remove comments and folding whitespace and replace multiple-spaces with a single space\n return s.replace(/\\([^)]*\\)|[\\n\\t]/g, ' ').replace(/(\\s\\s+)/g, ' ').replace(/^\\s\\s*/, '').replace(/\\s\\s*$/, '');\n }\n\n function checkWeekday(weekdayStr, parsedInput, config) {\n if (weekdayStr) {\n // TODO: Replace the vanilla JS Date object with an indepentent day-of-week check.\n var weekdayProvided = defaultLocaleWeekdaysShort.indexOf(weekdayStr),\n weekdayActual = new Date(parsedInput[0], parsedInput[1], parsedInput[2]).getDay();\n if (weekdayProvided !== weekdayActual) {\n getParsingFlags(config).weekdayMismatch = true;\n config._isValid = false;\n return false;\n }\n }\n return true;\n }\n\n var obsOffsets = {\n UT: 0,\n GMT: 0,\n EDT: -4 * 60,\n EST: -5 * 60,\n CDT: -5 * 60,\n CST: -6 * 60,\n MDT: -6 * 60,\n MST: -7 * 60,\n PDT: -7 * 60,\n PST: -8 * 60\n };\n\n function calculateOffset(obsOffset, militaryOffset, numOffset) {\n if (obsOffset) {\n return obsOffsets[obsOffset];\n } else if (militaryOffset) {\n // the only allowed military tz is Z\n return 0;\n } else {\n var hm = parseInt(numOffset, 10);\n var m = hm % 100, h = (hm - m) / 100;\n return h * 60 + m;\n }\n }\n\n // date and time from ref 2822 format\n function configFromRFC2822(config) {\n var match = rfc2822.exec(preprocessRFC2822(config._i));\n if (match) {\n var parsedArray = extractFromRFC2822Strings(match[4], match[3], match[2], match[5], match[6], match[7]);\n if (!checkWeekday(match[1], parsedArray, config)) {\n return;\n }\n\n config._a = parsedArray;\n config._tzm = calculateOffset(match[8], match[9], match[10]);\n\n config._d = createUTCDate.apply(null, config._a);\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n\n getParsingFlags(config).rfc2822 = true;\n } else {\n config._isValid = false;\n }\n }\n\n // date from iso format or fallback\n function configFromString(config) {\n var matched = aspNetJsonRegex.exec(config._i);\n\n if (matched !== null) {\n config._d = new Date(+matched[1]);\n return;\n }\n\n configFromISO(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n configFromRFC2822(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n // Final attempt, use Input Fallback\n hooks.createFromInputFallback(config);\n }\n\n hooks.createFromInputFallback = deprecate(\n 'value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), ' +\n 'which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are ' +\n 'discouraged and will be removed in an upcoming major release. Please refer to ' +\n 'http://momentjs.com/guides/#/warnings/js-date/ for more info.',\n function (config) {\n config._d = new Date(config._i + (config._useUTC ? ' UTC' : ''));\n }\n );\n\n // constant that refers to the ISO standard\n hooks.ISO_8601 = function () {};\n\n // constant that refers to the RFC 2822 form\n hooks.RFC_2822 = function () {};\n\n // date from string and format string\n function configFromStringAndFormat(config) {\n // TODO: Move this to another part of the creation flow to prevent circular deps\n if (config._f === hooks.ISO_8601) {\n configFromISO(config);\n return;\n }\n if (config._f === hooks.RFC_2822) {\n configFromRFC2822(config);\n return;\n }\n config._a = [];\n getParsingFlags(config).empty = true;\n\n // This array is used to make a Date, either with `new Date` or `Date.UTC`\n var string = '' + config._i,\n i, parsedInput, tokens, token, skipped,\n stringLength = string.length,\n totalParsedInputLength = 0;\n\n tokens = expandFormat(config._f, config._locale).match(formattingTokens) || [];\n\n for (i = 0; i < tokens.length; i++) {\n token = tokens[i];\n parsedInput = (string.match(getParseRegexForToken(token, config)) || [])[0];\n // console.log('token', token, 'parsedInput', parsedInput,\n // 'regex', getParseRegexForToken(token, config));\n if (parsedInput) {\n skipped = string.substr(0, string.indexOf(parsedInput));\n if (skipped.length > 0) {\n getParsingFlags(config).unusedInput.push(skipped);\n }\n string = string.slice(string.indexOf(parsedInput) + parsedInput.length);\n totalParsedInputLength += parsedInput.length;\n }\n // don't parse if it's not a known token\n if (formatTokenFunctions[token]) {\n if (parsedInput) {\n getParsingFlags(config).empty = false;\n }\n else {\n getParsingFlags(config).unusedTokens.push(token);\n }\n addTimeToArrayFromToken(token, parsedInput, config);\n }\n else if (config._strict && !parsedInput) {\n getParsingFlags(config).unusedTokens.push(token);\n }\n }\n\n // add remaining unparsed input length to the string\n getParsingFlags(config).charsLeftOver = stringLength - totalParsedInputLength;\n if (string.length > 0) {\n getParsingFlags(config).unusedInput.push(string);\n }\n\n // clear _12h flag if hour is <= 12\n if (config._a[HOUR] <= 12 &&\n getParsingFlags(config).bigHour === true &&\n config._a[HOUR] > 0) {\n getParsingFlags(config).bigHour = undefined;\n }\n\n getParsingFlags(config).parsedDateParts = config._a.slice(0);\n getParsingFlags(config).meridiem = config._meridiem;\n // handle meridiem\n config._a[HOUR] = meridiemFixWrap(config._locale, config._a[HOUR], config._meridiem);\n\n configFromArray(config);\n checkOverflow(config);\n }\n\n\n function meridiemFixWrap (locale, hour, meridiem) {\n var isPm;\n\n if (meridiem == null) {\n // nothing to do\n return hour;\n }\n if (locale.meridiemHour != null) {\n return locale.meridiemHour(hour, meridiem);\n } else if (locale.isPM != null) {\n // Fallback\n isPm = locale.isPM(meridiem);\n if (isPm && hour < 12) {\n hour += 12;\n }\n if (!isPm && hour === 12) {\n hour = 0;\n }\n return hour;\n } else {\n // this is not supposed to happen\n return hour;\n }\n }\n\n // date from string and array of format strings\n function configFromStringAndArray(config) {\n var tempConfig,\n bestMoment,\n\n scoreToBeat,\n i,\n currentScore;\n\n if (config._f.length === 0) {\n getParsingFlags(config).invalidFormat = true;\n config._d = new Date(NaN);\n return;\n }\n\n for (i = 0; i < config._f.length; i++) {\n currentScore = 0;\n tempConfig = copyConfig({}, config);\n if (config._useUTC != null) {\n tempConfig._useUTC = config._useUTC;\n }\n tempConfig._f = config._f[i];\n configFromStringAndFormat(tempConfig);\n\n if (!isValid(tempConfig)) {\n continue;\n }\n\n // if there is any input that was not parsed add a penalty for that format\n currentScore += getParsingFlags(tempConfig).charsLeftOver;\n\n //or tokens\n currentScore += getParsingFlags(tempConfig).unusedTokens.length * 10;\n\n getParsingFlags(tempConfig).score = currentScore;\n\n if (scoreToBeat == null || currentScore < scoreToBeat) {\n scoreToBeat = currentScore;\n bestMoment = tempConfig;\n }\n }\n\n extend(config, bestMoment || tempConfig);\n }\n\n function configFromObject(config) {\n if (config._d) {\n return;\n }\n\n var i = normalizeObjectUnits(config._i);\n config._a = map([i.year, i.month, i.day || i.date, i.hour, i.minute, i.second, i.millisecond], function (obj) {\n return obj && parseInt(obj, 10);\n });\n\n configFromArray(config);\n }\n\n function createFromConfig (config) {\n var res = new Moment(checkOverflow(prepareConfig(config)));\n if (res._nextDay) {\n // Adding is smart enough around DST\n res.add(1, 'd');\n res._nextDay = undefined;\n }\n\n return res;\n }\n\n function prepareConfig (config) {\n var input = config._i,\n format = config._f;\n\n config._locale = config._locale || getLocale(config._l);\n\n if (input === null || (format === undefined && input === '')) {\n return createInvalid({nullInput: true});\n }\n\n if (typeof input === 'string') {\n config._i = input = config._locale.preparse(input);\n }\n\n if (isMoment(input)) {\n return new Moment(checkOverflow(input));\n } else if (isDate(input)) {\n config._d = input;\n } else if (isArray(format)) {\n configFromStringAndArray(config);\n } else if (format) {\n configFromStringAndFormat(config);\n } else {\n configFromInput(config);\n }\n\n if (!isValid(config)) {\n config._d = null;\n }\n\n return config;\n }\n\n function configFromInput(config) {\n var input = config._i;\n if (isUndefined(input)) {\n config._d = new Date(hooks.now());\n } else if (isDate(input)) {\n config._d = new Date(input.valueOf());\n } else if (typeof input === 'string') {\n configFromString(config);\n } else if (isArray(input)) {\n config._a = map(input.slice(0), function (obj) {\n return parseInt(obj, 10);\n });\n configFromArray(config);\n } else if (isObject(input)) {\n configFromObject(config);\n } else if (isNumber(input)) {\n // from milliseconds\n config._d = new Date(input);\n } else {\n hooks.createFromInputFallback(config);\n }\n }\n\n function createLocalOrUTC (input, format, locale, strict, isUTC) {\n var c = {};\n\n if (locale === true || locale === false) {\n strict = locale;\n locale = undefined;\n }\n\n if ((isObject(input) && isObjectEmpty(input)) ||\n (isArray(input) && input.length === 0)) {\n input = undefined;\n }\n // object construction must be done this way.\n // https://github.com/moment/moment/issues/1423\n c._isAMomentObject = true;\n c._useUTC = c._isUTC = isUTC;\n c._l = locale;\n c._i = input;\n c._f = format;\n c._strict = strict;\n\n return createFromConfig(c);\n }\n\n function createLocal (input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, false);\n }\n\n var prototypeMin = deprecate(\n 'moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/',\n function () {\n var other = createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other < this ? this : other;\n } else {\n return createInvalid();\n }\n }\n );\n\n var prototypeMax = deprecate(\n 'moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/',\n function () {\n var other = createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other > this ? this : other;\n } else {\n return createInvalid();\n }\n }\n );\n\n // Pick a moment m from moments so that m[fn](other) is true for all\n // other. This relies on the function fn to be transitive.\n //\n // moments should either be an array of moment objects or an array, whose\n // first element is an array of moment objects.\n function pickBy(fn, moments) {\n var res, i;\n if (moments.length === 1 && isArray(moments[0])) {\n moments = moments[0];\n }\n if (!moments.length) {\n return createLocal();\n }\n res = moments[0];\n for (i = 1; i < moments.length; ++i) {\n if (!moments[i].isValid() || moments[i][fn](res)) {\n res = moments[i];\n }\n }\n return res;\n }\n\n // TODO: Use [].sort instead?\n function min () {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isBefore', args);\n }\n\n function max () {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isAfter', args);\n }\n\n var now = function () {\n return Date.now ? Date.now() : +(new Date());\n };\n\n var ordering = ['year', 'quarter', 'month', 'week', 'day', 'hour', 'minute', 'second', 'millisecond'];\n\n function isDurationValid(m) {\n for (var key in m) {\n if (!(indexOf.call(ordering, key) !== -1 && (m[key] == null || !isNaN(m[key])))) {\n return false;\n }\n }\n\n var unitHasDecimal = false;\n for (var i = 0; i < ordering.length; ++i) {\n if (m[ordering[i]]) {\n if (unitHasDecimal) {\n return false; // only allow non-integers for smallest unit\n }\n if (parseFloat(m[ordering[i]]) !== toInt(m[ordering[i]])) {\n unitHasDecimal = true;\n }\n }\n }\n\n return true;\n }\n\n function isValid$1() {\n return this._isValid;\n }\n\n function createInvalid$1() {\n return createDuration(NaN);\n }\n\n function Duration (duration) {\n var normalizedInput = normalizeObjectUnits(duration),\n years = normalizedInput.year || 0,\n quarters = normalizedInput.quarter || 0,\n months = normalizedInput.month || 0,\n weeks = normalizedInput.week || 0,\n days = normalizedInput.day || 0,\n hours = normalizedInput.hour || 0,\n minutes = normalizedInput.minute || 0,\n seconds = normalizedInput.second || 0,\n milliseconds = normalizedInput.millisecond || 0;\n\n this._isValid = isDurationValid(normalizedInput);\n\n // representation for dateAddRemove\n this._milliseconds = +milliseconds +\n seconds * 1e3 + // 1000\n minutes * 6e4 + // 1000 * 60\n hours * 1000 * 60 * 60; //using 1000 * 60 * 60 instead of 36e5 to avoid floating point rounding errors https://github.com/moment/moment/issues/2978\n // Because of dateAddRemove treats 24 hours as different from a\n // day when working around DST, we need to store them separately\n this._days = +days +\n weeks * 7;\n // It is impossible to translate months into days without knowing\n // which months you are are talking about, so we have to store\n // it separately.\n this._months = +months +\n quarters * 3 +\n years * 12;\n\n this._data = {};\n\n this._locale = getLocale();\n\n this._bubble();\n }\n\n function isDuration (obj) {\n return obj instanceof Duration;\n }\n\n function absRound (number) {\n if (number < 0) {\n return Math.round(-1 * number) * -1;\n } else {\n return Math.round(number);\n }\n }\n\n // FORMATTING\n\n function offset (token, separator) {\n addFormatToken(token, 0, 0, function () {\n var offset = this.utcOffset();\n var sign = '+';\n if (offset < 0) {\n offset = -offset;\n sign = '-';\n }\n return sign + zeroFill(~~(offset / 60), 2) + separator + zeroFill(~~(offset) % 60, 2);\n });\n }\n\n offset('Z', ':');\n offset('ZZ', '');\n\n // PARSING\n\n addRegexToken('Z', matchShortOffset);\n addRegexToken('ZZ', matchShortOffset);\n addParseToken(['Z', 'ZZ'], function (input, array, config) {\n config._useUTC = true;\n config._tzm = offsetFromString(matchShortOffset, input);\n });\n\n // HELPERS\n\n // timezone chunker\n // '+10:00' > ['10', '00']\n // '-1530' > ['-15', '30']\n var chunkOffset = /([\\+\\-]|\\d\\d)/gi;\n\n function offsetFromString(matcher, string) {\n var matches = (string || '').match(matcher);\n\n if (matches === null) {\n return null;\n }\n\n var chunk = matches[matches.length - 1] || [];\n var parts = (chunk + '').match(chunkOffset) || ['-', 0, 0];\n var minutes = +(parts[1] * 60) + toInt(parts[2]);\n\n return minutes === 0 ?\n 0 :\n parts[0] === '+' ? minutes : -minutes;\n }\n\n // Return a moment from input, that is local/utc/zone equivalent to model.\n function cloneWithOffset(input, model) {\n var res, diff;\n if (model._isUTC) {\n res = model.clone();\n diff = (isMoment(input) || isDate(input) ? input.valueOf() : createLocal(input).valueOf()) - res.valueOf();\n // Use low-level api, because this fn is low-level api.\n res._d.setTime(res._d.valueOf() + diff);\n hooks.updateOffset(res, false);\n return res;\n } else {\n return createLocal(input).local();\n }\n }\n\n function getDateOffset (m) {\n // On Firefox.24 Date#getTimezoneOffset returns a floating point.\n // https://github.com/moment/moment/pull/1871\n return -Math.round(m._d.getTimezoneOffset() / 15) * 15;\n }\n\n // HOOKS\n\n // This function will be called whenever a moment is mutated.\n // It is intended to keep the offset in sync with the timezone.\n hooks.updateOffset = function () {};\n\n // MOMENTS\n\n // keepLocalTime = true means only change the timezone, without\n // affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]-->\n // 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset\n // +0200, so we adjust the time as needed, to be valid.\n //\n // Keeping the time actually adds/subtracts (one hour)\n // from the actual represented time. That is why we call updateOffset\n // a second time. In case it wants us to change the offset again\n // _changeInProgress == true case, then we have to adjust, because\n // there is no such time in the given timezone.\n function getSetOffset (input, keepLocalTime, keepMinutes) {\n var offset = this._offset || 0,\n localAdjust;\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n if (input != null) {\n if (typeof input === 'string') {\n input = offsetFromString(matchShortOffset, input);\n if (input === null) {\n return this;\n }\n } else if (Math.abs(input) < 16 && !keepMinutes) {\n input = input * 60;\n }\n if (!this._isUTC && keepLocalTime) {\n localAdjust = getDateOffset(this);\n }\n this._offset = input;\n this._isUTC = true;\n if (localAdjust != null) {\n this.add(localAdjust, 'm');\n }\n if (offset !== input) {\n if (!keepLocalTime || this._changeInProgress) {\n addSubtract(this, createDuration(input - offset, 'm'), 1, false);\n } else if (!this._changeInProgress) {\n this._changeInProgress = true;\n hooks.updateOffset(this, true);\n this._changeInProgress = null;\n }\n }\n return this;\n } else {\n return this._isUTC ? offset : getDateOffset(this);\n }\n }\n\n function getSetZone (input, keepLocalTime) {\n if (input != null) {\n if (typeof input !== 'string') {\n input = -input;\n }\n\n this.utcOffset(input, keepLocalTime);\n\n return this;\n } else {\n return -this.utcOffset();\n }\n }\n\n function setOffsetToUTC (keepLocalTime) {\n return this.utcOffset(0, keepLocalTime);\n }\n\n function setOffsetToLocal (keepLocalTime) {\n if (this._isUTC) {\n this.utcOffset(0, keepLocalTime);\n this._isUTC = false;\n\n if (keepLocalTime) {\n this.subtract(getDateOffset(this), 'm');\n }\n }\n return this;\n }\n\n function setOffsetToParsedOffset () {\n if (this._tzm != null) {\n this.utcOffset(this._tzm, false, true);\n } else if (typeof this._i === 'string') {\n var tZone = offsetFromString(matchOffset, this._i);\n if (tZone != null) {\n this.utcOffset(tZone);\n }\n else {\n this.utcOffset(0, true);\n }\n }\n return this;\n }\n\n function hasAlignedHourOffset (input) {\n if (!this.isValid()) {\n return false;\n }\n input = input ? createLocal(input).utcOffset() : 0;\n\n return (this.utcOffset() - input) % 60 === 0;\n }\n\n function isDaylightSavingTime () {\n return (\n this.utcOffset() > this.clone().month(0).utcOffset() ||\n this.utcOffset() > this.clone().month(5).utcOffset()\n );\n }\n\n function isDaylightSavingTimeShifted () {\n if (!isUndefined(this._isDSTShifted)) {\n return this._isDSTShifted;\n }\n\n var c = {};\n\n copyConfig(c, this);\n c = prepareConfig(c);\n\n if (c._a) {\n var other = c._isUTC ? createUTC(c._a) : createLocal(c._a);\n this._isDSTShifted = this.isValid() &&\n compareArrays(c._a, other.toArray()) > 0;\n } else {\n this._isDSTShifted = false;\n }\n\n return this._isDSTShifted;\n }\n\n function isLocal () {\n return this.isValid() ? !this._isUTC : false;\n }\n\n function isUtcOffset () {\n return this.isValid() ? this._isUTC : false;\n }\n\n function isUtc () {\n return this.isValid() ? this._isUTC && this._offset === 0 : false;\n }\n\n // ASP.NET json date format regex\n var aspNetRegex = /^(\\-|\\+)?(?:(\\d*)[. ])?(\\d+)\\:(\\d+)(?:\\:(\\d+)(\\.\\d*)?)?$/;\n\n // from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html\n // somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere\n // and further modified to allow for strings containing both week and day\n var isoRegex = /^(-|\\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;\n\n function createDuration (input, key) {\n var duration = input,\n // matching against regexp is expensive, do it on demand\n match = null,\n sign,\n ret,\n diffRes;\n\n if (isDuration(input)) {\n duration = {\n ms : input._milliseconds,\n d : input._days,\n M : input._months\n };\n } else if (isNumber(input)) {\n duration = {};\n if (key) {\n duration[key] = input;\n } else {\n duration.milliseconds = input;\n }\n } else if (!!(match = aspNetRegex.exec(input))) {\n sign = (match[1] === '-') ? -1 : 1;\n duration = {\n y : 0,\n d : toInt(match[DATE]) * sign,\n h : toInt(match[HOUR]) * sign,\n m : toInt(match[MINUTE]) * sign,\n s : toInt(match[SECOND]) * sign,\n ms : toInt(absRound(match[MILLISECOND] * 1000)) * sign // the millisecond decimal point is included in the match\n };\n } else if (!!(match = isoRegex.exec(input))) {\n sign = (match[1] === '-') ? -1 : (match[1] === '+') ? 1 : 1;\n duration = {\n y : parseIso(match[2], sign),\n M : parseIso(match[3], sign),\n w : parseIso(match[4], sign),\n d : parseIso(match[5], sign),\n h : parseIso(match[6], sign),\n m : parseIso(match[7], sign),\n s : parseIso(match[8], sign)\n };\n } else if (duration == null) {// checks for null or undefined\n duration = {};\n } else if (typeof duration === 'object' && ('from' in duration || 'to' in duration)) {\n diffRes = momentsDifference(createLocal(duration.from), createLocal(duration.to));\n\n duration = {};\n duration.ms = diffRes.milliseconds;\n duration.M = diffRes.months;\n }\n\n ret = new Duration(duration);\n\n if (isDuration(input) && hasOwnProp(input, '_locale')) {\n ret._locale = input._locale;\n }\n\n return ret;\n }\n\n createDuration.fn = Duration.prototype;\n createDuration.invalid = createInvalid$1;\n\n function parseIso (inp, sign) {\n // We'd normally use ~~inp for this, but unfortunately it also\n // converts floats to ints.\n // inp may be undefined, so careful calling replace on it.\n var res = inp && parseFloat(inp.replace(',', '.'));\n // apply sign while we're at it\n return (isNaN(res) ? 0 : res) * sign;\n }\n\n function positiveMomentsDifference(base, other) {\n var res = {milliseconds: 0, months: 0};\n\n res.months = other.month() - base.month() +\n (other.year() - base.year()) * 12;\n if (base.clone().add(res.months, 'M').isAfter(other)) {\n --res.months;\n }\n\n res.milliseconds = +other - +(base.clone().add(res.months, 'M'));\n\n return res;\n }\n\n function momentsDifference(base, other) {\n var res;\n if (!(base.isValid() && other.isValid())) {\n return {milliseconds: 0, months: 0};\n }\n\n other = cloneWithOffset(other, base);\n if (base.isBefore(other)) {\n res = positiveMomentsDifference(base, other);\n } else {\n res = positiveMomentsDifference(other, base);\n res.milliseconds = -res.milliseconds;\n res.months = -res.months;\n }\n\n return res;\n }\n\n // TODO: remove 'name' arg after deprecation is removed\n function createAdder(direction, name) {\n return function (val, period) {\n var dur, tmp;\n //invert the arguments, but complain about it\n if (period !== null && !isNaN(+period)) {\n deprecateSimple(name, 'moment().' + name + '(period, number) is deprecated. Please use moment().' + name + '(number, period). ' +\n 'See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.');\n tmp = val; val = period; period = tmp;\n }\n\n val = typeof val === 'string' ? +val : val;\n dur = createDuration(val, period);\n addSubtract(this, dur, direction);\n return this;\n };\n }\n\n function addSubtract (mom, duration, isAdding, updateOffset) {\n var milliseconds = duration._milliseconds,\n days = absRound(duration._days),\n months = absRound(duration._months);\n\n if (!mom.isValid()) {\n // No op\n return;\n }\n\n updateOffset = updateOffset == null ? true : updateOffset;\n\n if (months) {\n setMonth(mom, get(mom, 'Month') + months * isAdding);\n }\n if (days) {\n set$1(mom, 'Date', get(mom, 'Date') + days * isAdding);\n }\n if (milliseconds) {\n mom._d.setTime(mom._d.valueOf() + milliseconds * isAdding);\n }\n if (updateOffset) {\n hooks.updateOffset(mom, days || months);\n }\n }\n\n var add = createAdder(1, 'add');\n var subtract = createAdder(-1, 'subtract');\n\n function getCalendarFormat(myMoment, now) {\n var diff = myMoment.diff(now, 'days', true);\n return diff < -6 ? 'sameElse' :\n diff < -1 ? 'lastWeek' :\n diff < 0 ? 'lastDay' :\n diff < 1 ? 'sameDay' :\n diff < 2 ? 'nextDay' :\n diff < 7 ? 'nextWeek' : 'sameElse';\n }\n\n function calendar$1 (time, formats) {\n // We want to compare the start of today, vs this.\n // Getting start-of-today depends on whether we're local/utc/offset or not.\n var now = time || createLocal(),\n sod = cloneWithOffset(now, this).startOf('day'),\n format = hooks.calendarFormat(this, sod) || 'sameElse';\n\n var output = formats && (isFunction(formats[format]) ? formats[format].call(this, now) : formats[format]);\n\n return this.format(output || this.localeData().calendar(format, this, createLocal(now)));\n }\n\n function clone () {\n return new Moment(this);\n }\n\n function isAfter (input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(!isUndefined(units) ? units : 'millisecond');\n if (units === 'millisecond') {\n return this.valueOf() > localInput.valueOf();\n } else {\n return localInput.valueOf() < this.clone().startOf(units).valueOf();\n }\n }\n\n function isBefore (input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(!isUndefined(units) ? units : 'millisecond');\n if (units === 'millisecond') {\n return this.valueOf() < localInput.valueOf();\n } else {\n return this.clone().endOf(units).valueOf() < localInput.valueOf();\n }\n }\n\n function isBetween (from, to, units, inclusivity) {\n inclusivity = inclusivity || '()';\n return (inclusivity[0] === '(' ? this.isAfter(from, units) : !this.isBefore(from, units)) &&\n (inclusivity[1] === ')' ? this.isBefore(to, units) : !this.isAfter(to, units));\n }\n\n function isSame (input, units) {\n var localInput = isMoment(input) ? input : createLocal(input),\n inputMs;\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units || 'millisecond');\n if (units === 'millisecond') {\n return this.valueOf() === localInput.valueOf();\n } else {\n inputMs = localInput.valueOf();\n return this.clone().startOf(units).valueOf() <= inputMs && inputMs <= this.clone().endOf(units).valueOf();\n }\n }\n\n function isSameOrAfter (input, units) {\n return this.isSame(input, units) || this.isAfter(input,units);\n }\n\n function isSameOrBefore (input, units) {\n return this.isSame(input, units) || this.isBefore(input,units);\n }\n\n function diff (input, units, asFloat) {\n var that,\n zoneDelta,\n output;\n\n if (!this.isValid()) {\n return NaN;\n }\n\n that = cloneWithOffset(input, this);\n\n if (!that.isValid()) {\n return NaN;\n }\n\n zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4;\n\n units = normalizeUnits(units);\n\n switch (units) {\n case 'year': output = monthDiff(this, that) / 12; break;\n case 'month': output = monthDiff(this, that); break;\n case 'quarter': output = monthDiff(this, that) / 3; break;\n case 'second': output = (this - that) / 1e3; break; // 1000\n case 'minute': output = (this - that) / 6e4; break; // 1000 * 60\n case 'hour': output = (this - that) / 36e5; break; // 1000 * 60 * 60\n case 'day': output = (this - that - zoneDelta) / 864e5; break; // 1000 * 60 * 60 * 24, negate dst\n case 'week': output = (this - that - zoneDelta) / 6048e5; break; // 1000 * 60 * 60 * 24 * 7, negate dst\n default: output = this - that;\n }\n\n return asFloat ? output : absFloor(output);\n }\n\n function monthDiff (a, b) {\n // difference in months\n var wholeMonthDiff = ((b.year() - a.year()) * 12) + (b.month() - a.month()),\n // b is in (anchor - 1 month, anchor + 1 month)\n anchor = a.clone().add(wholeMonthDiff, 'months'),\n anchor2, adjust;\n\n if (b - anchor < 0) {\n anchor2 = a.clone().add(wholeMonthDiff - 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor - anchor2);\n } else {\n anchor2 = a.clone().add(wholeMonthDiff + 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor2 - anchor);\n }\n\n //check for negative zero, return zero if negative zero\n return -(wholeMonthDiff + adjust) || 0;\n }\n\n hooks.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ';\n hooks.defaultFormatUtc = 'YYYY-MM-DDTHH:mm:ss[Z]';\n\n function toString () {\n return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ');\n }\n\n function toISOString(keepOffset) {\n if (!this.isValid()) {\n return null;\n }\n var utc = keepOffset !== true;\n var m = utc ? this.clone().utc() : this;\n if (m.year() < 0 || m.year() > 9999) {\n return formatMoment(m, utc ? 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYYYY-MM-DD[T]HH:mm:ss.SSSZ');\n }\n if (isFunction(Date.prototype.toISOString)) {\n // native implementation is ~50x faster, use it when we can\n if (utc) {\n return this.toDate().toISOString();\n } else {\n return new Date(this.valueOf() + this.utcOffset() * 60 * 1000).toISOString().replace('Z', formatMoment(m, 'Z'));\n }\n }\n return formatMoment(m, utc ? 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYY-MM-DD[T]HH:mm:ss.SSSZ');\n }\n\n /**\n * Return a human readable representation of a moment that can\n * also be evaluated to get a new moment which is the same\n *\n * @link https://nodejs.org/dist/latest/docs/api/util.html#util_custom_inspect_function_on_objects\n */\n function inspect () {\n if (!this.isValid()) {\n return 'moment.invalid(/* ' + this._i + ' */)';\n }\n var func = 'moment';\n var zone = '';\n if (!this.isLocal()) {\n func = this.utcOffset() === 0 ? 'moment.utc' : 'moment.parseZone';\n zone = 'Z';\n }\n var prefix = '[' + func + '(\"]';\n var year = (0 <= this.year() && this.year() <= 9999) ? 'YYYY' : 'YYYYYY';\n var datetime = '-MM-DD[T]HH:mm:ss.SSS';\n var suffix = zone + '[\")]';\n\n return this.format(prefix + year + datetime + suffix);\n }\n\n function format (inputString) {\n if (!inputString) {\n inputString = this.isUtc() ? hooks.defaultFormatUtc : hooks.defaultFormat;\n }\n var output = formatMoment(this, inputString);\n return this.localeData().postformat(output);\n }\n\n function from (time, withoutSuffix) {\n if (this.isValid() &&\n ((isMoment(time) && time.isValid()) ||\n createLocal(time).isValid())) {\n return createDuration({to: this, from: time}).locale(this.locale()).humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n\n function fromNow (withoutSuffix) {\n return this.from(createLocal(), withoutSuffix);\n }\n\n function to (time, withoutSuffix) {\n if (this.isValid() &&\n ((isMoment(time) && time.isValid()) ||\n createLocal(time).isValid())) {\n return createDuration({from: this, to: time}).locale(this.locale()).humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n\n function toNow (withoutSuffix) {\n return this.to(createLocal(), withoutSuffix);\n }\n\n // If passed a locale key, it will set the locale for this\n // instance. Otherwise, it will return the locale configuration\n // variables for this instance.\n function locale (key) {\n var newLocaleData;\n\n if (key === undefined) {\n return this._locale._abbr;\n } else {\n newLocaleData = getLocale(key);\n if (newLocaleData != null) {\n this._locale = newLocaleData;\n }\n return this;\n }\n }\n\n var lang = deprecate(\n 'moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.',\n function (key) {\n if (key === undefined) {\n return this.localeData();\n } else {\n return this.locale(key);\n }\n }\n );\n\n function localeData () {\n return this._locale;\n }\n\n function startOf (units) {\n units = normalizeUnits(units);\n // the following switch intentionally omits break keywords\n // to utilize falling through the cases.\n switch (units) {\n case 'year':\n this.month(0);\n /* falls through */\n case 'quarter':\n case 'month':\n this.date(1);\n /* falls through */\n case 'week':\n case 'isoWeek':\n case 'day':\n case 'date':\n this.hours(0);\n /* falls through */\n case 'hour':\n this.minutes(0);\n /* falls through */\n case 'minute':\n this.seconds(0);\n /* falls through */\n case 'second':\n this.milliseconds(0);\n }\n\n // weeks are a special case\n if (units === 'week') {\n this.weekday(0);\n }\n if (units === 'isoWeek') {\n this.isoWeekday(1);\n }\n\n // quarters are also special\n if (units === 'quarter') {\n this.month(Math.floor(this.month() / 3) * 3);\n }\n\n return this;\n }\n\n function endOf (units) {\n units = normalizeUnits(units);\n if (units === undefined || units === 'millisecond') {\n return this;\n }\n\n // 'date' is an alias for 'day', so it should be considered as such.\n if (units === 'date') {\n units = 'day';\n }\n\n return this.startOf(units).add(1, (units === 'isoWeek' ? 'week' : units)).subtract(1, 'ms');\n }\n\n function valueOf () {\n return this._d.valueOf() - ((this._offset || 0) * 60000);\n }\n\n function unix () {\n return Math.floor(this.valueOf() / 1000);\n }\n\n function toDate () {\n return new Date(this.valueOf());\n }\n\n function toArray () {\n var m = this;\n return [m.year(), m.month(), m.date(), m.hour(), m.minute(), m.second(), m.millisecond()];\n }\n\n function toObject () {\n var m = this;\n return {\n years: m.year(),\n months: m.month(),\n date: m.date(),\n hours: m.hours(),\n minutes: m.minutes(),\n seconds: m.seconds(),\n milliseconds: m.milliseconds()\n };\n }\n\n function toJSON () {\n // new Date(NaN).toJSON() === null\n return this.isValid() ? this.toISOString() : null;\n }\n\n function isValid$2 () {\n return isValid(this);\n }\n\n function parsingFlags () {\n return extend({}, getParsingFlags(this));\n }\n\n function invalidAt () {\n return getParsingFlags(this).overflow;\n }\n\n function creationData() {\n return {\n input: this._i,\n format: this._f,\n locale: this._locale,\n isUTC: this._isUTC,\n strict: this._strict\n };\n }\n\n // FORMATTING\n\n addFormatToken(0, ['gg', 2], 0, function () {\n return this.weekYear() % 100;\n });\n\n addFormatToken(0, ['GG', 2], 0, function () {\n return this.isoWeekYear() % 100;\n });\n\n function addWeekYearFormatToken (token, getter) {\n addFormatToken(0, [token, token.length], 0, getter);\n }\n\n addWeekYearFormatToken('gggg', 'weekYear');\n addWeekYearFormatToken('ggggg', 'weekYear');\n addWeekYearFormatToken('GGGG', 'isoWeekYear');\n addWeekYearFormatToken('GGGGG', 'isoWeekYear');\n\n // ALIASES\n\n addUnitAlias('weekYear', 'gg');\n addUnitAlias('isoWeekYear', 'GG');\n\n // PRIORITY\n\n addUnitPriority('weekYear', 1);\n addUnitPriority('isoWeekYear', 1);\n\n\n // PARSING\n\n addRegexToken('G', matchSigned);\n addRegexToken('g', matchSigned);\n addRegexToken('GG', match1to2, match2);\n addRegexToken('gg', match1to2, match2);\n addRegexToken('GGGG', match1to4, match4);\n addRegexToken('gggg', match1to4, match4);\n addRegexToken('GGGGG', match1to6, match6);\n addRegexToken('ggggg', match1to6, match6);\n\n addWeekParseToken(['gggg', 'ggggg', 'GGGG', 'GGGGG'], function (input, week, config, token) {\n week[token.substr(0, 2)] = toInt(input);\n });\n\n addWeekParseToken(['gg', 'GG'], function (input, week, config, token) {\n week[token] = hooks.parseTwoDigitYear(input);\n });\n\n // MOMENTS\n\n function getSetWeekYear (input) {\n return getSetWeekYearHelper.call(this,\n input,\n this.week(),\n this.weekday(),\n this.localeData()._week.dow,\n this.localeData()._week.doy);\n }\n\n function getSetISOWeekYear (input) {\n return getSetWeekYearHelper.call(this,\n input, this.isoWeek(), this.isoWeekday(), 1, 4);\n }\n\n function getISOWeeksInYear () {\n return weeksInYear(this.year(), 1, 4);\n }\n\n function getWeeksInYear () {\n var weekInfo = this.localeData()._week;\n return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy);\n }\n\n function getSetWeekYearHelper(input, week, weekday, dow, doy) {\n var weeksTarget;\n if (input == null) {\n return weekOfYear(this, dow, doy).year;\n } else {\n weeksTarget = weeksInYear(input, dow, doy);\n if (week > weeksTarget) {\n week = weeksTarget;\n }\n return setWeekAll.call(this, input, week, weekday, dow, doy);\n }\n }\n\n function setWeekAll(weekYear, week, weekday, dow, doy) {\n var dayOfYearData = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy),\n date = createUTCDate(dayOfYearData.year, 0, dayOfYearData.dayOfYear);\n\n this.year(date.getUTCFullYear());\n this.month(date.getUTCMonth());\n this.date(date.getUTCDate());\n return this;\n }\n\n // FORMATTING\n\n addFormatToken('Q', 0, 'Qo', 'quarter');\n\n // ALIASES\n\n addUnitAlias('quarter', 'Q');\n\n // PRIORITY\n\n addUnitPriority('quarter', 7);\n\n // PARSING\n\n addRegexToken('Q', match1);\n addParseToken('Q', function (input, array) {\n array[MONTH] = (toInt(input) - 1) * 3;\n });\n\n // MOMENTS\n\n function getSetQuarter (input) {\n return input == null ? Math.ceil((this.month() + 1) / 3) : this.month((input - 1) * 3 + this.month() % 3);\n }\n\n // FORMATTING\n\n addFormatToken('D', ['DD', 2], 'Do', 'date');\n\n // ALIASES\n\n addUnitAlias('date', 'D');\n\n // PRIORITY\n addUnitPriority('date', 9);\n\n // PARSING\n\n addRegexToken('D', match1to2);\n addRegexToken('DD', match1to2, match2);\n addRegexToken('Do', function (isStrict, locale) {\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n return isStrict ?\n (locale._dayOfMonthOrdinalParse || locale._ordinalParse) :\n locale._dayOfMonthOrdinalParseLenient;\n });\n\n addParseToken(['D', 'DD'], DATE);\n addParseToken('Do', function (input, array) {\n array[DATE] = toInt(input.match(match1to2)[0]);\n });\n\n // MOMENTS\n\n var getSetDayOfMonth = makeGetSet('Date', true);\n\n // FORMATTING\n\n addFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear');\n\n // ALIASES\n\n addUnitAlias('dayOfYear', 'DDD');\n\n // PRIORITY\n addUnitPriority('dayOfYear', 4);\n\n // PARSING\n\n addRegexToken('DDD', match1to3);\n addRegexToken('DDDD', match3);\n addParseToken(['DDD', 'DDDD'], function (input, array, config) {\n config._dayOfYear = toInt(input);\n });\n\n // HELPERS\n\n // MOMENTS\n\n function getSetDayOfYear (input) {\n var dayOfYear = Math.round((this.clone().startOf('day') - this.clone().startOf('year')) / 864e5) + 1;\n return input == null ? dayOfYear : this.add((input - dayOfYear), 'd');\n }\n\n // FORMATTING\n\n addFormatToken('m', ['mm', 2], 0, 'minute');\n\n // ALIASES\n\n addUnitAlias('minute', 'm');\n\n // PRIORITY\n\n addUnitPriority('minute', 14);\n\n // PARSING\n\n addRegexToken('m', match1to2);\n addRegexToken('mm', match1to2, match2);\n addParseToken(['m', 'mm'], MINUTE);\n\n // MOMENTS\n\n var getSetMinute = makeGetSet('Minutes', false);\n\n // FORMATTING\n\n addFormatToken('s', ['ss', 2], 0, 'second');\n\n // ALIASES\n\n addUnitAlias('second', 's');\n\n // PRIORITY\n\n addUnitPriority('second', 15);\n\n // PARSING\n\n addRegexToken('s', match1to2);\n addRegexToken('ss', match1to2, match2);\n addParseToken(['s', 'ss'], SECOND);\n\n // MOMENTS\n\n var getSetSecond = makeGetSet('Seconds', false);\n\n // FORMATTING\n\n addFormatToken('S', 0, 0, function () {\n return ~~(this.millisecond() / 100);\n });\n\n addFormatToken(0, ['SS', 2], 0, function () {\n return ~~(this.millisecond() / 10);\n });\n\n addFormatToken(0, ['SSS', 3], 0, 'millisecond');\n addFormatToken(0, ['SSSS', 4], 0, function () {\n return this.millisecond() * 10;\n });\n addFormatToken(0, ['SSSSS', 5], 0, function () {\n return this.millisecond() * 100;\n });\n addFormatToken(0, ['SSSSSS', 6], 0, function () {\n return this.millisecond() * 1000;\n });\n addFormatToken(0, ['SSSSSSS', 7], 0, function () {\n return this.millisecond() * 10000;\n });\n addFormatToken(0, ['SSSSSSSS', 8], 0, function () {\n return this.millisecond() * 100000;\n });\n addFormatToken(0, ['SSSSSSSSS', 9], 0, function () {\n return this.millisecond() * 1000000;\n });\n\n\n // ALIASES\n\n addUnitAlias('millisecond', 'ms');\n\n // PRIORITY\n\n addUnitPriority('millisecond', 16);\n\n // PARSING\n\n addRegexToken('S', match1to3, match1);\n addRegexToken('SS', match1to3, match2);\n addRegexToken('SSS', match1to3, match3);\n\n var token;\n for (token = 'SSSS'; token.length <= 9; token += 'S') {\n addRegexToken(token, matchUnsigned);\n }\n\n function parseMs(input, array) {\n array[MILLISECOND] = toInt(('0.' + input) * 1000);\n }\n\n for (token = 'S'; token.length <= 9; token += 'S') {\n addParseToken(token, parseMs);\n }\n // MOMENTS\n\n var getSetMillisecond = makeGetSet('Milliseconds', false);\n\n // FORMATTING\n\n addFormatToken('z', 0, 0, 'zoneAbbr');\n addFormatToken('zz', 0, 0, 'zoneName');\n\n // MOMENTS\n\n function getZoneAbbr () {\n return this._isUTC ? 'UTC' : '';\n }\n\n function getZoneName () {\n return this._isUTC ? 'Coordinated Universal Time' : '';\n }\n\n var proto = Moment.prototype;\n\n proto.add = add;\n proto.calendar = calendar$1;\n proto.clone = clone;\n proto.diff = diff;\n proto.endOf = endOf;\n proto.format = format;\n proto.from = from;\n proto.fromNow = fromNow;\n proto.to = to;\n proto.toNow = toNow;\n proto.get = stringGet;\n proto.invalidAt = invalidAt;\n proto.isAfter = isAfter;\n proto.isBefore = isBefore;\n proto.isBetween = isBetween;\n proto.isSame = isSame;\n proto.isSameOrAfter = isSameOrAfter;\n proto.isSameOrBefore = isSameOrBefore;\n proto.isValid = isValid$2;\n proto.lang = lang;\n proto.locale = locale;\n proto.localeData = localeData;\n proto.max = prototypeMax;\n proto.min = prototypeMin;\n proto.parsingFlags = parsingFlags;\n proto.set = stringSet;\n proto.startOf = startOf;\n proto.subtract = subtract;\n proto.toArray = toArray;\n proto.toObject = toObject;\n proto.toDate = toDate;\n proto.toISOString = toISOString;\n proto.inspect = inspect;\n proto.toJSON = toJSON;\n proto.toString = toString;\n proto.unix = unix;\n proto.valueOf = valueOf;\n proto.creationData = creationData;\n proto.year = getSetYear;\n proto.isLeapYear = getIsLeapYear;\n proto.weekYear = getSetWeekYear;\n proto.isoWeekYear = getSetISOWeekYear;\n proto.quarter = proto.quarters = getSetQuarter;\n proto.month = getSetMonth;\n proto.daysInMonth = getDaysInMonth;\n proto.week = proto.weeks = getSetWeek;\n proto.isoWeek = proto.isoWeeks = getSetISOWeek;\n proto.weeksInYear = getWeeksInYear;\n proto.isoWeeksInYear = getISOWeeksInYear;\n proto.date = getSetDayOfMonth;\n proto.day = proto.days = getSetDayOfWeek;\n proto.weekday = getSetLocaleDayOfWeek;\n proto.isoWeekday = getSetISODayOfWeek;\n proto.dayOfYear = getSetDayOfYear;\n proto.hour = proto.hours = getSetHour;\n proto.minute = proto.minutes = getSetMinute;\n proto.second = proto.seconds = getSetSecond;\n proto.millisecond = proto.milliseconds = getSetMillisecond;\n proto.utcOffset = getSetOffset;\n proto.utc = setOffsetToUTC;\n proto.local = setOffsetToLocal;\n proto.parseZone = setOffsetToParsedOffset;\n proto.hasAlignedHourOffset = hasAlignedHourOffset;\n proto.isDST = isDaylightSavingTime;\n proto.isLocal = isLocal;\n proto.isUtcOffset = isUtcOffset;\n proto.isUtc = isUtc;\n proto.isUTC = isUtc;\n proto.zoneAbbr = getZoneAbbr;\n proto.zoneName = getZoneName;\n proto.dates = deprecate('dates accessor is deprecated. Use date instead.', getSetDayOfMonth);\n proto.months = deprecate('months accessor is deprecated. Use month instead', getSetMonth);\n proto.years = deprecate('years accessor is deprecated. Use year instead', getSetYear);\n proto.zone = deprecate('moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/', getSetZone);\n proto.isDSTShifted = deprecate('isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information', isDaylightSavingTimeShifted);\n\n function createUnix (input) {\n return createLocal(input * 1000);\n }\n\n function createInZone () {\n return createLocal.apply(null, arguments).parseZone();\n }\n\n function preParsePostFormat (string) {\n return string;\n }\n\n var proto$1 = Locale.prototype;\n\n proto$1.calendar = calendar;\n proto$1.longDateFormat = longDateFormat;\n proto$1.invalidDate = invalidDate;\n proto$1.ordinal = ordinal;\n proto$1.preparse = preParsePostFormat;\n proto$1.postformat = preParsePostFormat;\n proto$1.relativeTime = relativeTime;\n proto$1.pastFuture = pastFuture;\n proto$1.set = set;\n\n proto$1.months = localeMonths;\n proto$1.monthsShort = localeMonthsShort;\n proto$1.monthsParse = localeMonthsParse;\n proto$1.monthsRegex = monthsRegex;\n proto$1.monthsShortRegex = monthsShortRegex;\n proto$1.week = localeWeek;\n proto$1.firstDayOfYear = localeFirstDayOfYear;\n proto$1.firstDayOfWeek = localeFirstDayOfWeek;\n\n proto$1.weekdays = localeWeekdays;\n proto$1.weekdaysMin = localeWeekdaysMin;\n proto$1.weekdaysShort = localeWeekdaysShort;\n proto$1.weekdaysParse = localeWeekdaysParse;\n\n proto$1.weekdaysRegex = weekdaysRegex;\n proto$1.weekdaysShortRegex = weekdaysShortRegex;\n proto$1.weekdaysMinRegex = weekdaysMinRegex;\n\n proto$1.isPM = localeIsPM;\n proto$1.meridiem = localeMeridiem;\n\n function get$1 (format, index, field, setter) {\n var locale = getLocale();\n var utc = createUTC().set(setter, index);\n return locale[field](utc, format);\n }\n\n function listMonthsImpl (format, index, field) {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n\n if (index != null) {\n return get$1(format, index, field, 'month');\n }\n\n var i;\n var out = [];\n for (i = 0; i < 12; i++) {\n out[i] = get$1(format, i, field, 'month');\n }\n return out;\n }\n\n // ()\n // (5)\n // (fmt, 5)\n // (fmt)\n // (true)\n // (true, 5)\n // (true, fmt, 5)\n // (true, fmt)\n function listWeekdaysImpl (localeSorted, format, index, field) {\n if (typeof localeSorted === 'boolean') {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n } else {\n format = localeSorted;\n index = format;\n localeSorted = false;\n\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n }\n\n var locale = getLocale(),\n shift = localeSorted ? locale._week.dow : 0;\n\n if (index != null) {\n return get$1(format, (index + shift) % 7, field, 'day');\n }\n\n var i;\n var out = [];\n for (i = 0; i < 7; i++) {\n out[i] = get$1(format, (i + shift) % 7, field, 'day');\n }\n return out;\n }\n\n function listMonths (format, index) {\n return listMonthsImpl(format, index, 'months');\n }\n\n function listMonthsShort (format, index) {\n return listMonthsImpl(format, index, 'monthsShort');\n }\n\n function listWeekdays (localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdays');\n }\n\n function listWeekdaysShort (localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysShort');\n }\n\n function listWeekdaysMin (localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysMin');\n }\n\n getSetGlobalLocale('en', {\n dayOfMonthOrdinalParse: /\\d{1,2}(th|st|nd|rd)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (toInt(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n }\n });\n\n // Side effect imports\n\n hooks.lang = deprecate('moment.lang is deprecated. Use moment.locale instead.', getSetGlobalLocale);\n hooks.langData = deprecate('moment.langData is deprecated. Use moment.localeData instead.', getLocale);\n\n var mathAbs = Math.abs;\n\n function abs () {\n var data = this._data;\n\n this._milliseconds = mathAbs(this._milliseconds);\n this._days = mathAbs(this._days);\n this._months = mathAbs(this._months);\n\n data.milliseconds = mathAbs(data.milliseconds);\n data.seconds = mathAbs(data.seconds);\n data.minutes = mathAbs(data.minutes);\n data.hours = mathAbs(data.hours);\n data.months = mathAbs(data.months);\n data.years = mathAbs(data.years);\n\n return this;\n }\n\n function addSubtract$1 (duration, input, value, direction) {\n var other = createDuration(input, value);\n\n duration._milliseconds += direction * other._milliseconds;\n duration._days += direction * other._days;\n duration._months += direction * other._months;\n\n return duration._bubble();\n }\n\n // supports only 2.0-style add(1, 's') or add(duration)\n function add$1 (input, value) {\n return addSubtract$1(this, input, value, 1);\n }\n\n // supports only 2.0-style subtract(1, 's') or subtract(duration)\n function subtract$1 (input, value) {\n return addSubtract$1(this, input, value, -1);\n }\n\n function absCeil (number) {\n if (number < 0) {\n return Math.floor(number);\n } else {\n return Math.ceil(number);\n }\n }\n\n function bubble () {\n var milliseconds = this._milliseconds;\n var days = this._days;\n var months = this._months;\n var data = this._data;\n var seconds, minutes, hours, years, monthsFromDays;\n\n // if we have a mix of positive and negative values, bubble down first\n // check: https://github.com/moment/moment/issues/2166\n if (!((milliseconds >= 0 && days >= 0 && months >= 0) ||\n (milliseconds <= 0 && days <= 0 && months <= 0))) {\n milliseconds += absCeil(monthsToDays(months) + days) * 864e5;\n days = 0;\n months = 0;\n }\n\n // The following code bubbles up values, see the tests for\n // examples of what that means.\n data.milliseconds = milliseconds % 1000;\n\n seconds = absFloor(milliseconds / 1000);\n data.seconds = seconds % 60;\n\n minutes = absFloor(seconds / 60);\n data.minutes = minutes % 60;\n\n hours = absFloor(minutes / 60);\n data.hours = hours % 24;\n\n days += absFloor(hours / 24);\n\n // convert days to months\n monthsFromDays = absFloor(daysToMonths(days));\n months += monthsFromDays;\n days -= absCeil(monthsToDays(monthsFromDays));\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n data.days = days;\n data.months = months;\n data.years = years;\n\n return this;\n }\n\n function daysToMonths (days) {\n // 400 years have 146097 days (taking into account leap year rules)\n // 400 years have 12 months === 4800\n return days * 4800 / 146097;\n }\n\n function monthsToDays (months) {\n // the reverse of daysToMonths\n return months * 146097 / 4800;\n }\n\n function as (units) {\n if (!this.isValid()) {\n return NaN;\n }\n var days;\n var months;\n var milliseconds = this._milliseconds;\n\n units = normalizeUnits(units);\n\n if (units === 'month' || units === 'year') {\n days = this._days + milliseconds / 864e5;\n months = this._months + daysToMonths(days);\n return units === 'month' ? months : months / 12;\n } else {\n // handle milliseconds separately because of floating point math errors (issue #1867)\n days = this._days + Math.round(monthsToDays(this._months));\n switch (units) {\n case 'week' : return days / 7 + milliseconds / 6048e5;\n case 'day' : return days + milliseconds / 864e5;\n case 'hour' : return days * 24 + milliseconds / 36e5;\n case 'minute' : return days * 1440 + milliseconds / 6e4;\n case 'second' : return days * 86400 + milliseconds / 1000;\n // Math.floor prevents floating point math errors here\n case 'millisecond': return Math.floor(days * 864e5) + milliseconds;\n default: throw new Error('Unknown unit ' + units);\n }\n }\n }\n\n // TODO: Use this.as('ms')?\n function valueOf$1 () {\n if (!this.isValid()) {\n return NaN;\n }\n return (\n this._milliseconds +\n this._days * 864e5 +\n (this._months % 12) * 2592e6 +\n toInt(this._months / 12) * 31536e6\n );\n }\n\n function makeAs (alias) {\n return function () {\n return this.as(alias);\n };\n }\n\n var asMilliseconds = makeAs('ms');\n var asSeconds = makeAs('s');\n var asMinutes = makeAs('m');\n var asHours = makeAs('h');\n var asDays = makeAs('d');\n var asWeeks = makeAs('w');\n var asMonths = makeAs('M');\n var asYears = makeAs('y');\n\n function clone$1 () {\n return createDuration(this);\n }\n\n function get$2 (units) {\n units = normalizeUnits(units);\n return this.isValid() ? this[units + 's']() : NaN;\n }\n\n function makeGetter(name) {\n return function () {\n return this.isValid() ? this._data[name] : NaN;\n };\n }\n\n var milliseconds = makeGetter('milliseconds');\n var seconds = makeGetter('seconds');\n var minutes = makeGetter('minutes');\n var hours = makeGetter('hours');\n var days = makeGetter('days');\n var months = makeGetter('months');\n var years = makeGetter('years');\n\n function weeks () {\n return absFloor(this.days() / 7);\n }\n\n var round = Math.round;\n var thresholds = {\n ss: 44, // a few seconds to seconds\n s : 45, // seconds to minute\n m : 45, // minutes to hour\n h : 22, // hours to day\n d : 26, // days to month\n M : 11 // months to year\n };\n\n // helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize\n function substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) {\n return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture);\n }\n\n function relativeTime$1 (posNegDuration, withoutSuffix, locale) {\n var duration = createDuration(posNegDuration).abs();\n var seconds = round(duration.as('s'));\n var minutes = round(duration.as('m'));\n var hours = round(duration.as('h'));\n var days = round(duration.as('d'));\n var months = round(duration.as('M'));\n var years = round(duration.as('y'));\n\n var a = seconds <= thresholds.ss && ['s', seconds] ||\n seconds < thresholds.s && ['ss', seconds] ||\n minutes <= 1 && ['m'] ||\n minutes < thresholds.m && ['mm', minutes] ||\n hours <= 1 && ['h'] ||\n hours < thresholds.h && ['hh', hours] ||\n days <= 1 && ['d'] ||\n days < thresholds.d && ['dd', days] ||\n months <= 1 && ['M'] ||\n months < thresholds.M && ['MM', months] ||\n years <= 1 && ['y'] || ['yy', years];\n\n a[2] = withoutSuffix;\n a[3] = +posNegDuration > 0;\n a[4] = locale;\n return substituteTimeAgo.apply(null, a);\n }\n\n // This function allows you to set the rounding function for relative time strings\n function getSetRelativeTimeRounding (roundingFunction) {\n if (roundingFunction === undefined) {\n return round;\n }\n if (typeof(roundingFunction) === 'function') {\n round = roundingFunction;\n return true;\n }\n return false;\n }\n\n // This function allows you to set a threshold for relative time strings\n function getSetRelativeTimeThreshold (threshold, limit) {\n if (thresholds[threshold] === undefined) {\n return false;\n }\n if (limit === undefined) {\n return thresholds[threshold];\n }\n thresholds[threshold] = limit;\n if (threshold === 's') {\n thresholds.ss = limit - 1;\n }\n return true;\n }\n\n function humanize (withSuffix) {\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var locale = this.localeData();\n var output = relativeTime$1(this, !withSuffix, locale);\n\n if (withSuffix) {\n output = locale.pastFuture(+this, output);\n }\n\n return locale.postformat(output);\n }\n\n var abs$1 = Math.abs;\n\n function sign(x) {\n return ((x > 0) - (x < 0)) || +x;\n }\n\n function toISOString$1() {\n // for ISO strings we do not use the normal bubbling rules:\n // * milliseconds bubble up until they become hours\n // * days do not bubble at all\n // * months bubble up until they become years\n // This is because there is no context-free conversion between hours and days\n // (think of clock changes)\n // and also not between days and months (28-31 days per month)\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var seconds = abs$1(this._milliseconds) / 1000;\n var days = abs$1(this._days);\n var months = abs$1(this._months);\n var minutes, hours, years;\n\n // 3600 seconds -> 60 minutes -> 1 hour\n minutes = absFloor(seconds / 60);\n hours = absFloor(minutes / 60);\n seconds %= 60;\n minutes %= 60;\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n\n // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js\n var Y = years;\n var M = months;\n var D = days;\n var h = hours;\n var m = minutes;\n var s = seconds ? seconds.toFixed(3).replace(/\\.?0+$/, '') : '';\n var total = this.asSeconds();\n\n if (!total) {\n // this is the same as C#'s (Noda) and python (isodate)...\n // but not other JS (goog.date)\n return 'P0D';\n }\n\n var totalSign = total < 0 ? '-' : '';\n var ymSign = sign(this._months) !== sign(total) ? '-' : '';\n var daysSign = sign(this._days) !== sign(total) ? '-' : '';\n var hmsSign = sign(this._milliseconds) !== sign(total) ? '-' : '';\n\n return totalSign + 'P' +\n (Y ? ymSign + Y + 'Y' : '') +\n (M ? ymSign + M + 'M' : '') +\n (D ? daysSign + D + 'D' : '') +\n ((h || m || s) ? 'T' : '') +\n (h ? hmsSign + h + 'H' : '') +\n (m ? hmsSign + m + 'M' : '') +\n (s ? hmsSign + s + 'S' : '');\n }\n\n var proto$2 = Duration.prototype;\n\n proto$2.isValid = isValid$1;\n proto$2.abs = abs;\n proto$2.add = add$1;\n proto$2.subtract = subtract$1;\n proto$2.as = as;\n proto$2.asMilliseconds = asMilliseconds;\n proto$2.asSeconds = asSeconds;\n proto$2.asMinutes = asMinutes;\n proto$2.asHours = asHours;\n proto$2.asDays = asDays;\n proto$2.asWeeks = asWeeks;\n proto$2.asMonths = asMonths;\n proto$2.asYears = asYears;\n proto$2.valueOf = valueOf$1;\n proto$2._bubble = bubble;\n proto$2.clone = clone$1;\n proto$2.get = get$2;\n proto$2.milliseconds = milliseconds;\n proto$2.seconds = seconds;\n proto$2.minutes = minutes;\n proto$2.hours = hours;\n proto$2.days = days;\n proto$2.weeks = weeks;\n proto$2.months = months;\n proto$2.years = years;\n proto$2.humanize = humanize;\n proto$2.toISOString = toISOString$1;\n proto$2.toString = toISOString$1;\n proto$2.toJSON = toISOString$1;\n proto$2.locale = locale;\n proto$2.localeData = localeData;\n\n proto$2.toIsoString = deprecate('toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)', toISOString$1);\n proto$2.lang = lang;\n\n // Side effect imports\n\n // FORMATTING\n\n addFormatToken('X', 0, 0, 'unix');\n addFormatToken('x', 0, 0, 'valueOf');\n\n // PARSING\n\n addRegexToken('x', matchSigned);\n addRegexToken('X', matchTimestamp);\n addParseToken('X', function (input, array, config) {\n config._d = new Date(parseFloat(input, 10) * 1000);\n });\n addParseToken('x', function (input, array, config) {\n config._d = new Date(toInt(input));\n });\n\n // Side effect imports\n\n\n hooks.version = '2.22.2';\n\n setHookCallback(createLocal);\n\n hooks.fn = proto;\n hooks.min = min;\n hooks.max = max;\n hooks.now = now;\n hooks.utc = createUTC;\n hooks.unix = createUnix;\n hooks.months = listMonths;\n hooks.isDate = isDate;\n hooks.locale = getSetGlobalLocale;\n hooks.invalid = createInvalid;\n hooks.duration = createDuration;\n hooks.isMoment = isMoment;\n hooks.weekdays = listWeekdays;\n hooks.parseZone = createInZone;\n hooks.localeData = getLocale;\n hooks.isDuration = isDuration;\n hooks.monthsShort = listMonthsShort;\n hooks.weekdaysMin = listWeekdaysMin;\n hooks.defineLocale = defineLocale;\n hooks.updateLocale = updateLocale;\n hooks.locales = listLocales;\n hooks.weekdaysShort = listWeekdaysShort;\n hooks.normalizeUnits = normalizeUnits;\n hooks.relativeTimeRounding = getSetRelativeTimeRounding;\n hooks.relativeTimeThreshold = getSetRelativeTimeThreshold;\n hooks.calendarFormat = getCalendarFormat;\n hooks.prototype = proto;\n\n // currently HTML5 input type only supports 24-hour formats\n hooks.HTML5_FMT = {\n DATETIME_LOCAL: 'YYYY-MM-DDTHH:mm', // \n DATETIME_LOCAL_SECONDS: 'YYYY-MM-DDTHH:mm:ss', // \n DATETIME_LOCAL_MS: 'YYYY-MM-DDTHH:mm:ss.SSS', // \n DATE: 'YYYY-MM-DD', // \n TIME: 'HH:mm', // \n TIME_SECONDS: 'HH:mm:ss', // \n TIME_MS: 'HH:mm:ss.SSS', // \n WEEK: 'YYYY-[W]WW', // \n MONTH: 'YYYY-MM' // \n };\n\n return hooks;\n\n})));\n","export function each(o, cb, s) {\n var n;\n if (!o) {\n return 0;\n }\n s = !s ? o : s;\n if (o instanceof Array) {\n // Indexed arrays, needed for Safari\n for (n = 0; n < o.length; n++) {\n if (cb.call(s, o[n], n, o) === false) {\n return 0;\n }\n }\n } else {\n // Hashtables\n for (n in o) {\n if (o.hasOwnProperty(n)) {\n if (cb.call(s, o[n], n, o) === false){\n return 0;\n }\n }\n }\n }\n return 1;\n}\n","const matchHtmlRegExp = /[\"'&<>]/;\n\n/**\n * Escape special characters in the given string of html.\n *\n * @param {string} string The string to escape for inserting into HTML\n * @return {string}\n * @public\n */\n\nexport function escapeHtml(string) {\n var str = '' + string;\n var match = matchHtmlRegExp.exec(str);\n\n if (!match) {\n return str;\n }\n\n var escape;\n var html = '';\n var index = 0;\n var lastIndex = 0;\n\n for (index = match.index; index < str.length; index++) {\n switch (str.charCodeAt(index)) {\n case 34: // \"\n escape = '"';\n break;\n case 38: // &\n escape = '&';\n break;\n case 39: // '\n escape = ''';\n break;\n case 60: // <\n escape = '<';\n break;\n case 62: // >\n escape = '>';\n break;\n default:\n continue;\n }\n\n if (lastIndex !== index) {\n html += str.substring(lastIndex, index);\n }\n\n lastIndex = index + 1;\n html += escape;\n }\n\n return lastIndex !== index\n ? html + str.substring(lastIndex, index)\n : html;\n}\n","export function extend(target) {\n for (var i = 1; i < arguments.length; i++) {\n for (var prop in arguments[i]){\n target[prop] = arguments[i][prop];\n }\n }\n return target;\n}\n","export function testObject(input) {\n if (input !== null && typeof input.getTime === 'function' && !isNaN(input.getTime())) {\n return true;\n }\n return false;\n}\n\nexport function testString(input) {\n const ISO_8601 = /^\\d{4}-\\d\\d-\\d\\dT\\d\\d:\\d\\d:\\d\\d(\\.\\d+)?(([+-]\\d\\d:\\d\\d)|Z)?$/i;\n return ISO_8601.test(input);\n}\n\nexport default function (input) {\n if (typeof input === 'object') {\n return testObject(input);\n } else if (typeof input === 'string') {\n return testString(input);\n }\n return false;\n}\n","/**\n * Strip html tags from string\n *\n * @param {string} string The string to strip\n * @return {string}\n * @public\n */\n\nexport function stripHtmlTags(inputString) {\n return inputString.replace(/(<([^>]+)>)/ig, '');\n}\n","export default function (len) {\n const list = [];\n for (let i = 0; i < len; i++) {\n list.push(null);\n }\n return list;\n}\n","import createNullList from '../utils/create-null-list';\nimport { each } from '../../utils/each';\n\nexport function appendColumn(str, input) {\n const self = this;\n const args = Array.prototype.slice.call(arguments, 2);\n const label = (str !== undefined) ? str : null;\n\n if (typeof input === 'function') {\n self.matrix[0].push(label);\n each(self.matrix, function(row, i) {\n let cell;\n if (i > 0) {\n cell = input.call(self, row, i);\n if (typeof cell === 'undefined') {\n cell = null;\n }\n self.matrix[i].push(cell);\n }\n });\n }\n\n else if (!input || input instanceof Array) {\n input = input || [];\n\n if (input.length <= self.matrix.length - 1) {\n input = input.concat(createNullList(self.matrix.length - 1 - input.length));\n }\n else {\n // If this new column is longer than existing columns,\n // we need to update the rest to match ...\n each(input, function(value, i){\n if (self.matrix.length -1 < input.length) {\n appendRow.call(self, String(self.matrix.length));\n }\n });\n }\n\n self.matrix[0].push(label);\n each(input, function(value, i){\n self.matrix[i+1][self.matrix[0].length-1] = value;\n });\n\n }\n\n return self;\n}\n\nexport function appendRow(str, input) {\n const self = this;\n const args = Array.prototype.slice.call(arguments, 2);\n const label = (str !== undefined) ? str : null;\n const newRow = [];\n\n newRow.push(label);\n\n if (typeof input === 'function') {\n each(self.matrix[0], function(label, i){\n let col;\n let cell;\n if (i > 0) {\n col = self.selectColumn(i);\n cell = input.call(self, col, i);\n if (typeof cell === 'undefined') {\n cell = null;\n }\n newRow.push(cell);\n }\n });\n self.matrix.push(newRow);\n }\n\n else if (!input || input instanceof Array) {\n input = input || [];\n\n if (input.length <= self.matrix[0].length - 1) {\n input = input.concat( createNullList( self.matrix[0].length - 1 - input.length ) );\n }\n else {\n each(input, function(value, i){\n if (self.matrix[0].length -1 < input.length) {\n appendColumn.call(self, String( self.matrix[0].length));\n }\n });\n }\n\n self.matrix.push(newRow.concat(input));\n }\n\n return self;\n}\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var zhTw = moment.defineLocale('zh-tw', {\n months : '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'),\n monthsShort : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n weekdays : '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n weekdaysShort : '週日_週一_週二_週三_週四_週五_週六'.split('_'),\n weekdaysMin : '日_一_二_三_四_五_六'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY/MM/DD',\n LL : 'YYYY年M月D日',\n LLL : 'YYYY年M月D日 HH:mm',\n LLLL : 'YYYY年M月D日dddd HH:mm',\n l : 'YYYY/M/D',\n ll : 'YYYY年M月D日',\n lll : 'YYYY年M月D日 HH:mm',\n llll : 'YYYY年M月D日dddd HH:mm'\n },\n meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n return hour;\n } else if (meridiem === '中午') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === '下午' || meridiem === '晚上') {\n return hour + 12;\n }\n },\n meridiem : function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n if (hm < 600) {\n return '凌晨';\n } else if (hm < 900) {\n return '早上';\n } else if (hm < 1130) {\n return '上午';\n } else if (hm < 1230) {\n return '中午';\n } else if (hm < 1800) {\n return '下午';\n } else {\n return '晚上';\n }\n },\n calendar : {\n sameDay : '[今天] LT',\n nextDay : '[明天] LT',\n nextWeek : '[下]dddd LT',\n lastDay : '[昨天] LT',\n lastWeek : '[上]dddd LT',\n sameElse : 'L'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(日|月|週)/,\n ordinal : function (number, period) {\n switch (period) {\n case 'd' :\n case 'D' :\n case 'DDD' :\n return number + '日';\n case 'M' :\n return number + '月';\n case 'w' :\n case 'W' :\n return number + '週';\n default :\n return number;\n }\n },\n relativeTime : {\n future : '%s內',\n past : '%s前',\n s : '幾秒',\n ss : '%d 秒',\n m : '1 分鐘',\n mm : '%d 分鐘',\n h : '1 小時',\n hh : '%d 小時',\n d : '1 天',\n dd : '%d 天',\n M : '1 個月',\n MM : '%d 個月',\n y : '1 年',\n yy : '%d 年'\n }\n });\n\n return zhTw;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var zhHk = moment.defineLocale('zh-hk', {\n months : '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'),\n monthsShort : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n weekdays : '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n weekdaysShort : '週日_週一_週二_週三_週四_週五_週六'.split('_'),\n weekdaysMin : '日_一_二_三_四_五_六'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY/MM/DD',\n LL : 'YYYY年M月D日',\n LLL : 'YYYY年M月D日 HH:mm',\n LLLL : 'YYYY年M月D日dddd HH:mm',\n l : 'YYYY/M/D',\n ll : 'YYYY年M月D日',\n lll : 'YYYY年M月D日 HH:mm',\n llll : 'YYYY年M月D日dddd HH:mm'\n },\n meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n return hour;\n } else if (meridiem === '中午') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === '下午' || meridiem === '晚上') {\n return hour + 12;\n }\n },\n meridiem : function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n if (hm < 600) {\n return '凌晨';\n } else if (hm < 900) {\n return '早上';\n } else if (hm < 1130) {\n return '上午';\n } else if (hm < 1230) {\n return '中午';\n } else if (hm < 1800) {\n return '下午';\n } else {\n return '晚上';\n }\n },\n calendar : {\n sameDay : '[今天]LT',\n nextDay : '[明天]LT',\n nextWeek : '[下]ddddLT',\n lastDay : '[昨天]LT',\n lastWeek : '[上]ddddLT',\n sameElse : 'L'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(日|月|週)/,\n ordinal : function (number, period) {\n switch (period) {\n case 'd' :\n case 'D' :\n case 'DDD' :\n return number + '日';\n case 'M' :\n return number + '月';\n case 'w' :\n case 'W' :\n return number + '週';\n default :\n return number;\n }\n },\n relativeTime : {\n future : '%s內',\n past : '%s前',\n s : '幾秒',\n ss : '%d 秒',\n m : '1 分鐘',\n mm : '%d 分鐘',\n h : '1 小時',\n hh : '%d 小時',\n d : '1 天',\n dd : '%d 天',\n M : '1 個月',\n MM : '%d 個月',\n y : '1 年',\n yy : '%d 年'\n }\n });\n\n return zhHk;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var zhCn = moment.defineLocale('zh-cn', {\n months : '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'),\n monthsShort : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n weekdays : '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n weekdaysShort : '周日_周一_周二_周三_周四_周五_周六'.split('_'),\n weekdaysMin : '日_一_二_三_四_五_六'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY/MM/DD',\n LL : 'YYYY年M月D日',\n LLL : 'YYYY年M月D日Ah点mm分',\n LLLL : 'YYYY年M月D日ddddAh点mm分',\n l : 'YYYY/M/D',\n ll : 'YYYY年M月D日',\n lll : 'YYYY年M月D日 HH:mm',\n llll : 'YYYY年M月D日dddd HH:mm'\n },\n meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === '凌晨' || meridiem === '早上' ||\n meridiem === '上午') {\n return hour;\n } else if (meridiem === '下午' || meridiem === '晚上') {\n return hour + 12;\n } else {\n // '中午'\n return hour >= 11 ? hour : hour + 12;\n }\n },\n meridiem : function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n if (hm < 600) {\n return '凌晨';\n } else if (hm < 900) {\n return '早上';\n } else if (hm < 1130) {\n return '上午';\n } else if (hm < 1230) {\n return '中午';\n } else if (hm < 1800) {\n return '下午';\n } else {\n return '晚上';\n }\n },\n calendar : {\n sameDay : '[今天]LT',\n nextDay : '[明天]LT',\n nextWeek : '[下]ddddLT',\n lastDay : '[昨天]LT',\n lastWeek : '[上]ddddLT',\n sameElse : 'L'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(日|月|周)/,\n ordinal : function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '日';\n case 'M':\n return number + '月';\n case 'w':\n case 'W':\n return number + '周';\n default:\n return number;\n }\n },\n relativeTime : {\n future : '%s内',\n past : '%s前',\n s : '几秒',\n ss : '%d 秒',\n m : '1 分钟',\n mm : '%d 分钟',\n h : '1 小时',\n hh : '%d 小时',\n d : '1 天',\n dd : '%d 天',\n M : '1 个月',\n MM : '%d 个月',\n y : '1 年',\n yy : '%d 年'\n },\n week : {\n // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return zhCn;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var yo = moment.defineLocale('yo', {\n months : 'Sẹ́rẹ́_Èrèlè_Ẹrẹ̀nà_Ìgbé_Èbibi_Òkùdu_Agẹmo_Ògún_Owewe_Ọ̀wàrà_Bélú_Ọ̀pẹ̀̀'.split('_'),\n monthsShort : 'Sẹ́r_Èrl_Ẹrn_Ìgb_Èbi_Òkù_Agẹ_Ògú_Owe_Ọ̀wà_Bél_Ọ̀pẹ̀̀'.split('_'),\n weekdays : 'Àìkú_Ajé_Ìsẹ́gun_Ọjọ́rú_Ọjọ́bọ_Ẹtì_Àbámẹ́ta'.split('_'),\n weekdaysShort : 'Àìk_Ajé_Ìsẹ́_Ọjr_Ọjb_Ẹtì_Àbá'.split('_'),\n weekdaysMin : 'Àì_Aj_Ìs_Ọr_Ọb_Ẹt_Àb'.split('_'),\n longDateFormat : {\n LT : 'h:mm A',\n LTS : 'h:mm:ss A',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY h:mm A',\n LLLL : 'dddd, D MMMM YYYY h:mm A'\n },\n calendar : {\n sameDay : '[Ònì ni] LT',\n nextDay : '[Ọ̀la ni] LT',\n nextWeek : 'dddd [Ọsẹ̀ tón\\'bọ] [ni] LT',\n lastDay : '[Àna ni] LT',\n lastWeek : 'dddd [Ọsẹ̀ tólọ́] [ni] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'ní %s',\n past : '%s kọjá',\n s : 'ìsẹjú aayá die',\n ss :'aayá %d',\n m : 'ìsẹjú kan',\n mm : 'ìsẹjú %d',\n h : 'wákati kan',\n hh : 'wákati %d',\n d : 'ọjọ́ kan',\n dd : 'ọjọ́ %d',\n M : 'osù kan',\n MM : 'osù %d',\n y : 'ọdún kan',\n yy : 'ọdún %d'\n },\n dayOfMonthOrdinalParse : /ọjọ́\\s\\d{1,2}/,\n ordinal : 'ọjọ́ %d',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return yo;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var xPseudo = moment.defineLocale('x-pseudo', {\n months : 'J~áñúá~rý_F~ébrú~árý_~Márc~h_Áp~ríl_~Máý_~Júñé~_Júl~ý_Áú~gúst~_Sép~témb~ér_Ó~ctób~ér_Ñ~óvém~bér_~Décé~mbér'.split('_'),\n monthsShort : 'J~áñ_~Féb_~Már_~Ápr_~Máý_~Júñ_~Júl_~Áúg_~Sép_~Óct_~Ñóv_~Déc'.split('_'),\n monthsParseExact : true,\n weekdays : 'S~úñdá~ý_Mó~ñdáý~_Túé~sdáý~_Wéd~ñésd~áý_T~húrs~dáý_~Fríd~áý_S~átúr~dáý'.split('_'),\n weekdaysShort : 'S~úñ_~Móñ_~Túé_~Wéd_~Thú_~Frí_~Sát'.split('_'),\n weekdaysMin : 'S~ú_Mó~_Tú_~Wé_T~h_Fr~_Sá'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[T~ódá~ý át] LT',\n nextDay : '[T~ómó~rró~w át] LT',\n nextWeek : 'dddd [át] LT',\n lastDay : '[Ý~ést~érdá~ý át] LT',\n lastWeek : '[L~ást] dddd [át] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'í~ñ %s',\n past : '%s á~gó',\n s : 'á ~féw ~sécó~ñds',\n ss : '%d s~écóñ~ds',\n m : 'á ~míñ~úté',\n mm : '%d m~íñú~tés',\n h : 'á~ñ hó~úr',\n hh : '%d h~óúrs',\n d : 'á ~dáý',\n dd : '%d d~áýs',\n M : 'á ~móñ~th',\n MM : '%d m~óñt~hs',\n y : 'á ~ýéár',\n yy : '%d ý~éárs'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(th|st|nd|rd)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return xPseudo;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var vi = moment.defineLocale('vi', {\n months : 'tháng 1_tháng 2_tháng 3_tháng 4_tháng 5_tháng 6_tháng 7_tháng 8_tháng 9_tháng 10_tháng 11_tháng 12'.split('_'),\n monthsShort : 'Th01_Th02_Th03_Th04_Th05_Th06_Th07_Th08_Th09_Th10_Th11_Th12'.split('_'),\n monthsParseExact : true,\n weekdays : 'chủ nhật_thứ hai_thứ ba_thứ tư_thứ năm_thứ sáu_thứ bảy'.split('_'),\n weekdaysShort : 'CN_T2_T3_T4_T5_T6_T7'.split('_'),\n weekdaysMin : 'CN_T2_T3_T4_T5_T6_T7'.split('_'),\n weekdaysParseExact : true,\n meridiemParse: /sa|ch/i,\n isPM : function (input) {\n return /^ch$/i.test(input);\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours < 12) {\n return isLower ? 'sa' : 'SA';\n } else {\n return isLower ? 'ch' : 'CH';\n }\n },\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM [năm] YYYY',\n LLL : 'D MMMM [năm] YYYY HH:mm',\n LLLL : 'dddd, D MMMM [năm] YYYY HH:mm',\n l : 'DD/M/YYYY',\n ll : 'D MMM YYYY',\n lll : 'D MMM YYYY HH:mm',\n llll : 'ddd, D MMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[Hôm nay lúc] LT',\n nextDay: '[Ngày mai lúc] LT',\n nextWeek: 'dddd [tuần tới lúc] LT',\n lastDay: '[Hôm qua lúc] LT',\n lastWeek: 'dddd [tuần rồi lúc] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : '%s tới',\n past : '%s trước',\n s : 'vài giây',\n ss : '%d giây' ,\n m : 'một phút',\n mm : '%d phút',\n h : 'một giờ',\n hh : '%d giờ',\n d : 'một ngày',\n dd : '%d ngày',\n M : 'một tháng',\n MM : '%d tháng',\n y : 'một năm',\n yy : '%d năm'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}/,\n ordinal : function (number) {\n return number;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return vi;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var uzLatn = moment.defineLocale('uz-latn', {\n months : 'Yanvar_Fevral_Mart_Aprel_May_Iyun_Iyul_Avgust_Sentabr_Oktabr_Noyabr_Dekabr'.split('_'),\n monthsShort : 'Yan_Fev_Mar_Apr_May_Iyun_Iyul_Avg_Sen_Okt_Noy_Dek'.split('_'),\n weekdays : 'Yakshanba_Dushanba_Seshanba_Chorshanba_Payshanba_Juma_Shanba'.split('_'),\n weekdaysShort : 'Yak_Dush_Sesh_Chor_Pay_Jum_Shan'.split('_'),\n weekdaysMin : 'Ya_Du_Se_Cho_Pa_Ju_Sha'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'D MMMM YYYY, dddd HH:mm'\n },\n calendar : {\n sameDay : '[Bugun soat] LT [da]',\n nextDay : '[Ertaga] LT [da]',\n nextWeek : 'dddd [kuni soat] LT [da]',\n lastDay : '[Kecha soat] LT [da]',\n lastWeek : '[O\\'tgan] dddd [kuni soat] LT [da]',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'Yaqin %s ichida',\n past : 'Bir necha %s oldin',\n s : 'soniya',\n ss : '%d soniya',\n m : 'bir daqiqa',\n mm : '%d daqiqa',\n h : 'bir soat',\n hh : '%d soat',\n d : 'bir kun',\n dd : '%d kun',\n M : 'bir oy',\n MM : '%d oy',\n y : 'bir yil',\n yy : '%d yil'\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return uzLatn;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var uz = moment.defineLocale('uz', {\n months : 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split('_'),\n monthsShort : 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'),\n weekdays : 'Якшанба_Душанба_Сешанба_Чоршанба_Пайшанба_Жума_Шанба'.split('_'),\n weekdaysShort : 'Якш_Душ_Сеш_Чор_Пай_Жум_Шан'.split('_'),\n weekdaysMin : 'Як_Ду_Се_Чо_Па_Жу_Ша'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'D MMMM YYYY, dddd HH:mm'\n },\n calendar : {\n sameDay : '[Бугун соат] LT [да]',\n nextDay : '[Эртага] LT [да]',\n nextWeek : 'dddd [куни соат] LT [да]',\n lastDay : '[Кеча соат] LT [да]',\n lastWeek : '[Утган] dddd [куни соат] LT [да]',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'Якин %s ичида',\n past : 'Бир неча %s олдин',\n s : 'фурсат',\n ss : '%d фурсат',\n m : 'бир дакика',\n mm : '%d дакика',\n h : 'бир соат',\n hh : '%d соат',\n d : 'бир кун',\n dd : '%d кун',\n M : 'бир ой',\n MM : '%d ой',\n y : 'бир йил',\n yy : '%d йил'\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return uz;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var months = [\n 'جنوری',\n 'فروری',\n 'مارچ',\n 'اپریل',\n 'مئی',\n 'جون',\n 'جولائی',\n 'اگست',\n 'ستمبر',\n 'اکتوبر',\n 'نومبر',\n 'دسمبر'\n ];\n var days = [\n 'اتوار',\n 'پیر',\n 'منگل',\n 'بدھ',\n 'جمعرات',\n 'جمعہ',\n 'ہفتہ'\n ];\n\n var ur = moment.defineLocale('ur', {\n months : months,\n monthsShort : months,\n weekdays : days,\n weekdaysShort : days,\n weekdaysMin : days,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd، D MMMM YYYY HH:mm'\n },\n meridiemParse: /صبح|شام/,\n isPM : function (input) {\n return 'شام' === input;\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'صبح';\n }\n return 'شام';\n },\n calendar : {\n sameDay : '[آج بوقت] LT',\n nextDay : '[کل بوقت] LT',\n nextWeek : 'dddd [بوقت] LT',\n lastDay : '[گذشتہ روز بوقت] LT',\n lastWeek : '[گذشتہ] dddd [بوقت] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s بعد',\n past : '%s قبل',\n s : 'چند سیکنڈ',\n ss : '%d سیکنڈ',\n m : 'ایک منٹ',\n mm : '%d منٹ',\n h : 'ایک گھنٹہ',\n hh : '%d گھنٹے',\n d : 'ایک دن',\n dd : '%d دن',\n M : 'ایک ماہ',\n MM : '%d ماہ',\n y : 'ایک سال',\n yy : '%d سال'\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/,/g, '،');\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return ur;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function plural(word, num) {\n var forms = word.split('_');\n return num % 10 === 1 && num % 100 !== 11 ? forms[0] : (num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) ? forms[1] : forms[2]);\n }\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n var format = {\n 'ss': withoutSuffix ? 'секунда_секунди_секунд' : 'секунду_секунди_секунд',\n 'mm': withoutSuffix ? 'хвилина_хвилини_хвилин' : 'хвилину_хвилини_хвилин',\n 'hh': withoutSuffix ? 'година_години_годин' : 'годину_години_годин',\n 'dd': 'день_дні_днів',\n 'MM': 'місяць_місяці_місяців',\n 'yy': 'рік_роки_років'\n };\n if (key === 'm') {\n return withoutSuffix ? 'хвилина' : 'хвилину';\n }\n else if (key === 'h') {\n return withoutSuffix ? 'година' : 'годину';\n }\n else {\n return number + ' ' + plural(format[key], +number);\n }\n }\n function weekdaysCaseReplace(m, format) {\n var weekdays = {\n 'nominative': 'неділя_понеділок_вівторок_середа_четвер_п’ятниця_субота'.split('_'),\n 'accusative': 'неділю_понеділок_вівторок_середу_четвер_п’ятницю_суботу'.split('_'),\n 'genitive': 'неділі_понеділка_вівторка_середи_четверга_п’ятниці_суботи'.split('_')\n };\n\n if (!m) {\n return weekdays['nominative'];\n }\n\n var nounCase = (/(\\[[ВвУу]\\]) ?dddd/).test(format) ?\n 'accusative' :\n ((/\\[?(?:минулої|наступної)? ?\\] ?dddd/).test(format) ?\n 'genitive' :\n 'nominative');\n return weekdays[nounCase][m.day()];\n }\n function processHoursFunction(str) {\n return function () {\n return str + 'о' + (this.hours() === 11 ? 'б' : '') + '] LT';\n };\n }\n\n var uk = moment.defineLocale('uk', {\n months : {\n 'format': 'січня_лютого_березня_квітня_травня_червня_липня_серпня_вересня_жовтня_листопада_грудня'.split('_'),\n 'standalone': 'січень_лютий_березень_квітень_травень_червень_липень_серпень_вересень_жовтень_листопад_грудень'.split('_')\n },\n monthsShort : 'січ_лют_бер_квіт_трав_черв_лип_серп_вер_жовт_лист_груд'.split('_'),\n weekdays : weekdaysCaseReplace,\n weekdaysShort : 'нд_пн_вт_ср_чт_пт_сб'.split('_'),\n weekdaysMin : 'нд_пн_вт_ср_чт_пт_сб'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY р.',\n LLL : 'D MMMM YYYY р., HH:mm',\n LLLL : 'dddd, D MMMM YYYY р., HH:mm'\n },\n calendar : {\n sameDay: processHoursFunction('[Сьогодні '),\n nextDay: processHoursFunction('[Завтра '),\n lastDay: processHoursFunction('[Вчора '),\n nextWeek: processHoursFunction('[У] dddd ['),\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n case 3:\n case 5:\n case 6:\n return processHoursFunction('[Минулої] dddd [').call(this);\n case 1:\n case 2:\n case 4:\n return processHoursFunction('[Минулого] dddd [').call(this);\n }\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : 'за %s',\n past : '%s тому',\n s : 'декілька секунд',\n ss : relativeTimeWithPlural,\n m : relativeTimeWithPlural,\n mm : relativeTimeWithPlural,\n h : 'годину',\n hh : relativeTimeWithPlural,\n d : 'день',\n dd : relativeTimeWithPlural,\n M : 'місяць',\n MM : relativeTimeWithPlural,\n y : 'рік',\n yy : relativeTimeWithPlural\n },\n // M. E.: those two are virtually unused but a user might want to implement them for his/her website for some reason\n meridiemParse: /ночі|ранку|дня|вечора/,\n isPM: function (input) {\n return /^(дня|вечора)$/.test(input);\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ночі';\n } else if (hour < 12) {\n return 'ранку';\n } else if (hour < 17) {\n return 'дня';\n } else {\n return 'вечора';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(й|го)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'M':\n case 'd':\n case 'DDD':\n case 'w':\n case 'W':\n return number + '-й';\n case 'D':\n return number + '-го';\n default:\n return number;\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return uk;\n\n})));\n","//! moment.js language configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var ugCn = moment.defineLocale('ug-cn', {\n months: 'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.split(\n '_'\n ),\n monthsShort: 'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.split(\n '_'\n ),\n weekdays: 'يەكشەنبە_دۈشەنبە_سەيشەنبە_چارشەنبە_پەيشەنبە_جۈمە_شەنبە'.split(\n '_'\n ),\n weekdaysShort: 'يە_دۈ_سە_چا_پە_جۈ_شە'.split('_'),\n weekdaysMin: 'يە_دۈ_سە_چا_پە_جۈ_شە'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: 'YYYY-يىلىM-ئاينىڭD-كۈنى',\n LLL: 'YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm',\n LLLL: 'dddd، YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm'\n },\n meridiemParse: /يېرىم كېچە|سەھەر|چۈشتىن بۇرۇن|چۈش|چۈشتىن كېيىن|كەچ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (\n meridiem === 'يېرىم كېچە' ||\n meridiem === 'سەھەر' ||\n meridiem === 'چۈشتىن بۇرۇن'\n ) {\n return hour;\n } else if (meridiem === 'چۈشتىن كېيىن' || meridiem === 'كەچ') {\n return hour + 12;\n } else {\n return hour >= 11 ? hour : hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n if (hm < 600) {\n return 'يېرىم كېچە';\n } else if (hm < 900) {\n return 'سەھەر';\n } else if (hm < 1130) {\n return 'چۈشتىن بۇرۇن';\n } else if (hm < 1230) {\n return 'چۈش';\n } else if (hm < 1800) {\n return 'چۈشتىن كېيىن';\n } else {\n return 'كەچ';\n }\n },\n calendar: {\n sameDay: '[بۈگۈن سائەت] LT',\n nextDay: '[ئەتە سائەت] LT',\n nextWeek: '[كېلەركى] dddd [سائەت] LT',\n lastDay: '[تۆنۈگۈن] LT',\n lastWeek: '[ئالدىنقى] dddd [سائەت] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s كېيىن',\n past: '%s بۇرۇن',\n s: 'نەچچە سېكونت',\n ss: '%d سېكونت',\n m: 'بىر مىنۇت',\n mm: '%d مىنۇت',\n h: 'بىر سائەت',\n hh: '%d سائەت',\n d: 'بىر كۈن',\n dd: '%d كۈن',\n M: 'بىر ئاي',\n MM: '%d ئاي',\n y: 'بىر يىل',\n yy: '%d يىل'\n },\n\n dayOfMonthOrdinalParse: /\\d{1,2}(-كۈنى|-ئاي|-ھەپتە)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '-كۈنى';\n case 'w':\n case 'W':\n return number + '-ھەپتە';\n default:\n return number;\n }\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/,/g, '،');\n },\n week: {\n // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效\n dow: 1, // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return ugCn;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var tzmLatn = moment.defineLocale('tzm-latn', {\n months : 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split('_'),\n monthsShort : 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split('_'),\n weekdays : 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),\n weekdaysShort : 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),\n weekdaysMin : 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[asdkh g] LT',\n nextDay: '[aska g] LT',\n nextWeek: 'dddd [g] LT',\n lastDay: '[assant g] LT',\n lastWeek: 'dddd [g] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'dadkh s yan %s',\n past : 'yan %s',\n s : 'imik',\n ss : '%d imik',\n m : 'minuḍ',\n mm : '%d minuḍ',\n h : 'saɛa',\n hh : '%d tassaɛin',\n d : 'ass',\n dd : '%d ossan',\n M : 'ayowr',\n MM : '%d iyyirn',\n y : 'asgas',\n yy : '%d isgasn'\n },\n week : {\n dow : 6, // Saturday is the first day of the week.\n doy : 12 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return tzmLatn;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var tzm = moment.defineLocale('tzm', {\n months : 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split('_'),\n monthsShort : 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split('_'),\n weekdays : 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),\n weekdaysShort : 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),\n weekdaysMin : 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS: 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[ⴰⵙⴷⵅ ⴴ] LT',\n nextDay: '[ⴰⵙⴽⴰ ⴴ] LT',\n nextWeek: 'dddd [ⴴ] LT',\n lastDay: '[ⴰⵚⴰⵏⵜ ⴴ] LT',\n lastWeek: 'dddd [ⴴ] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'ⴷⴰⴷⵅ ⵙ ⵢⴰⵏ %s',\n past : 'ⵢⴰⵏ %s',\n s : 'ⵉⵎⵉⴽ',\n ss : '%d ⵉⵎⵉⴽ',\n m : 'ⵎⵉⵏⵓⴺ',\n mm : '%d ⵎⵉⵏⵓⴺ',\n h : 'ⵙⴰⵄⴰ',\n hh : '%d ⵜⴰⵙⵙⴰⵄⵉⵏ',\n d : 'ⴰⵙⵙ',\n dd : '%d oⵙⵙⴰⵏ',\n M : 'ⴰⵢoⵓⵔ',\n MM : '%d ⵉⵢⵢⵉⵔⵏ',\n y : 'ⴰⵙⴳⴰⵙ',\n yy : '%d ⵉⵙⴳⴰⵙⵏ'\n },\n week : {\n dow : 6, // Saturday is the first day of the week.\n doy : 12 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return tzm;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n // After the year there should be a slash and the amount of years since December 26, 1979 in Roman numerals.\n // This is currently too difficult (maybe even impossible) to add.\n var tzl = moment.defineLocale('tzl', {\n months : 'Januar_Fevraglh_Març_Avrïu_Mai_Gün_Julia_Guscht_Setemvar_Listopäts_Noemvar_Zecemvar'.split('_'),\n monthsShort : 'Jan_Fev_Mar_Avr_Mai_Gün_Jul_Gus_Set_Lis_Noe_Zec'.split('_'),\n weekdays : 'Súladi_Lúneçi_Maitzi_Márcuri_Xhúadi_Viénerçi_Sáturi'.split('_'),\n weekdaysShort : 'Súl_Lún_Mai_Már_Xhú_Vié_Sát'.split('_'),\n weekdaysMin : 'Sú_Lú_Ma_Má_Xh_Vi_Sá'.split('_'),\n longDateFormat : {\n LT : 'HH.mm',\n LTS : 'HH.mm.ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM [dallas] YYYY',\n LLL : 'D. MMMM [dallas] YYYY HH.mm',\n LLLL : 'dddd, [li] D. MMMM [dallas] YYYY HH.mm'\n },\n meridiemParse: /d\\'o|d\\'a/i,\n isPM : function (input) {\n return 'd\\'o' === input.toLowerCase();\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'd\\'o' : 'D\\'O';\n } else {\n return isLower ? 'd\\'a' : 'D\\'A';\n }\n },\n calendar : {\n sameDay : '[oxhi à] LT',\n nextDay : '[demà à] LT',\n nextWeek : 'dddd [à] LT',\n lastDay : '[ieiri à] LT',\n lastWeek : '[sür el] dddd [lasteu à] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'osprei %s',\n past : 'ja%s',\n s : processRelativeTime,\n ss : processRelativeTime,\n m : processRelativeTime,\n mm : processRelativeTime,\n h : processRelativeTime,\n hh : processRelativeTime,\n d : processRelativeTime,\n dd : processRelativeTime,\n M : processRelativeTime,\n MM : processRelativeTime,\n y : processRelativeTime,\n yy : processRelativeTime\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n 's': ['viensas secunds', '\\'iensas secunds'],\n 'ss': [number + ' secunds', '' + number + ' secunds'],\n 'm': ['\\'n míut', '\\'iens míut'],\n 'mm': [number + ' míuts', '' + number + ' míuts'],\n 'h': ['\\'n þora', '\\'iensa þora'],\n 'hh': [number + ' þoras', '' + number + ' þoras'],\n 'd': ['\\'n ziua', '\\'iensa ziua'],\n 'dd': [number + ' ziuas', '' + number + ' ziuas'],\n 'M': ['\\'n mes', '\\'iens mes'],\n 'MM': [number + ' mesen', '' + number + ' mesen'],\n 'y': ['\\'n ar', '\\'iens ar'],\n 'yy': [number + ' ars', '' + number + ' ars']\n };\n return isFuture ? format[key][0] : (withoutSuffix ? format[key][0] : format[key][1]);\n }\n\n return tzl;\n\n})));\n","\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n var suffixes = {\n 1: '\\'inci',\n 5: '\\'inci',\n 8: '\\'inci',\n 70: '\\'inci',\n 80: '\\'inci',\n 2: '\\'nci',\n 7: '\\'nci',\n 20: '\\'nci',\n 50: '\\'nci',\n 3: '\\'üncü',\n 4: '\\'üncü',\n 100: '\\'üncü',\n 6: '\\'ncı',\n 9: '\\'uncu',\n 10: '\\'uncu',\n 30: '\\'uncu',\n 60: '\\'ıncı',\n 90: '\\'ıncı'\n };\n\n var tr = moment.defineLocale('tr', {\n months : 'Ocak_Şubat_Mart_Nisan_Mayıs_Haziran_Temmuz_Ağustos_Eylül_Ekim_Kasım_Aralık'.split('_'),\n monthsShort : 'Oca_Şub_Mar_Nis_May_Haz_Tem_Ağu_Eyl_Eki_Kas_Ara'.split('_'),\n weekdays : 'Pazar_Pazartesi_Salı_Çarşamba_Perşembe_Cuma_Cumartesi'.split('_'),\n weekdaysShort : 'Paz_Pts_Sal_Çar_Per_Cum_Cts'.split('_'),\n weekdaysMin : 'Pz_Pt_Sa_Ça_Pe_Cu_Ct'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[bugün saat] LT',\n nextDay : '[yarın saat] LT',\n nextWeek : '[gelecek] dddd [saat] LT',\n lastDay : '[dün] LT',\n lastWeek : '[geçen] dddd [saat] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s sonra',\n past : '%s önce',\n s : 'birkaç saniye',\n ss : '%d saniye',\n m : 'bir dakika',\n mm : '%d dakika',\n h : 'bir saat',\n hh : '%d saat',\n d : 'bir gün',\n dd : '%d gün',\n M : 'bir ay',\n MM : '%d ay',\n y : 'bir yıl',\n yy : '%d yıl'\n },\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'Do':\n case 'DD':\n return number;\n default:\n if (number === 0) { // special case for zero\n return number + '\\'ıncı';\n }\n var a = number % 10,\n b = number % 100 - a,\n c = number >= 100 ? 100 : null;\n return number + (suffixes[a] || suffixes[b] || suffixes[c]);\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return tr;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var numbersNouns = 'pagh_wa’_cha’_wej_loS_vagh_jav_Soch_chorgh_Hut'.split('_');\n\n function translateFuture(output) {\n var time = output;\n time = (output.indexOf('jaj') !== -1) ?\n time.slice(0, -3) + 'leS' :\n (output.indexOf('jar') !== -1) ?\n time.slice(0, -3) + 'waQ' :\n (output.indexOf('DIS') !== -1) ?\n time.slice(0, -3) + 'nem' :\n time + ' pIq';\n return time;\n }\n\n function translatePast(output) {\n var time = output;\n time = (output.indexOf('jaj') !== -1) ?\n time.slice(0, -3) + 'Hu’' :\n (output.indexOf('jar') !== -1) ?\n time.slice(0, -3) + 'wen' :\n (output.indexOf('DIS') !== -1) ?\n time.slice(0, -3) + 'ben' :\n time + ' ret';\n return time;\n }\n\n function translate(number, withoutSuffix, string, isFuture) {\n var numberNoun = numberAsNoun(number);\n switch (string) {\n case 'ss':\n return numberNoun + ' lup';\n case 'mm':\n return numberNoun + ' tup';\n case 'hh':\n return numberNoun + ' rep';\n case 'dd':\n return numberNoun + ' jaj';\n case 'MM':\n return numberNoun + ' jar';\n case 'yy':\n return numberNoun + ' DIS';\n }\n }\n\n function numberAsNoun(number) {\n var hundred = Math.floor((number % 1000) / 100),\n ten = Math.floor((number % 100) / 10),\n one = number % 10,\n word = '';\n if (hundred > 0) {\n word += numbersNouns[hundred] + 'vatlh';\n }\n if (ten > 0) {\n word += ((word !== '') ? ' ' : '') + numbersNouns[ten] + 'maH';\n }\n if (one > 0) {\n word += ((word !== '') ? ' ' : '') + numbersNouns[one];\n }\n return (word === '') ? 'pagh' : word;\n }\n\n var tlh = moment.defineLocale('tlh', {\n months : 'tera’ jar wa’_tera’ jar cha’_tera’ jar wej_tera’ jar loS_tera’ jar vagh_tera’ jar jav_tera’ jar Soch_tera’ jar chorgh_tera’ jar Hut_tera’ jar wa’maH_tera’ jar wa’maH wa’_tera’ jar wa’maH cha’'.split('_'),\n monthsShort : 'jar wa’_jar cha’_jar wej_jar loS_jar vagh_jar jav_jar Soch_jar chorgh_jar Hut_jar wa’maH_jar wa’maH wa’_jar wa’maH cha’'.split('_'),\n monthsParseExact : true,\n weekdays : 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),\n weekdaysShort : 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),\n weekdaysMin : 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[DaHjaj] LT',\n nextDay: '[wa’leS] LT',\n nextWeek: 'LLL',\n lastDay: '[wa’Hu’] LT',\n lastWeek: 'LLL',\n sameElse: 'L'\n },\n relativeTime : {\n future : translateFuture,\n past : translatePast,\n s : 'puS lup',\n ss : translate,\n m : 'wa’ tup',\n mm : translate,\n h : 'wa’ rep',\n hh : translate,\n d : 'wa’ jaj',\n dd : translate,\n M : 'wa’ jar',\n MM : translate,\n y : 'wa’ DIS',\n yy : translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return tlh;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var tlPh = moment.defineLocale('tl-ph', {\n months : 'Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre'.split('_'),\n monthsShort : 'Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis'.split('_'),\n weekdays : 'Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado'.split('_'),\n weekdaysShort : 'Lin_Lun_Mar_Miy_Huw_Biy_Sab'.split('_'),\n weekdaysMin : 'Li_Lu_Ma_Mi_Hu_Bi_Sab'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'MM/D/YYYY',\n LL : 'MMMM D, YYYY',\n LLL : 'MMMM D, YYYY HH:mm',\n LLLL : 'dddd, MMMM DD, YYYY HH:mm'\n },\n calendar : {\n sameDay: 'LT [ngayong araw]',\n nextDay: '[Bukas ng] LT',\n nextWeek: 'LT [sa susunod na] dddd',\n lastDay: 'LT [kahapon]',\n lastWeek: 'LT [noong nakaraang] dddd',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'sa loob ng %s',\n past : '%s ang nakalipas',\n s : 'ilang segundo',\n ss : '%d segundo',\n m : 'isang minuto',\n mm : '%d minuto',\n h : 'isang oras',\n hh : '%d oras',\n d : 'isang araw',\n dd : '%d araw',\n M : 'isang buwan',\n MM : '%d buwan',\n y : 'isang taon',\n yy : '%d taon'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}/,\n ordinal : function (number) {\n return number;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return tlPh;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var th = moment.defineLocale('th', {\n months : 'มกราคม_กุมภาพันธ์_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_กรกฎาคม_สิงหาคม_กันยายน_ตุลาคม_พฤศจิกายน_ธันวาคม'.split('_'),\n monthsShort : 'ม.ค._ก.พ._มี.ค._เม.ย._พ.ค._มิ.ย._ก.ค._ส.ค._ก.ย._ต.ค._พ.ย._ธ.ค.'.split('_'),\n monthsParseExact: true,\n weekdays : 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัสบดี_ศุกร์_เสาร์'.split('_'),\n weekdaysShort : 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัส_ศุกร์_เสาร์'.split('_'), // yes, three characters difference\n weekdaysMin : 'อา._จ._อ._พ._พฤ._ศ._ส.'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY เวลา H:mm',\n LLLL : 'วันddddที่ D MMMM YYYY เวลา H:mm'\n },\n meridiemParse: /ก่อนเที่ยง|หลังเที่ยง/,\n isPM: function (input) {\n return input === 'หลังเที่ยง';\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ก่อนเที่ยง';\n } else {\n return 'หลังเที่ยง';\n }\n },\n calendar : {\n sameDay : '[วันนี้ เวลา] LT',\n nextDay : '[พรุ่งนี้ เวลา] LT',\n nextWeek : 'dddd[หน้า เวลา] LT',\n lastDay : '[เมื่อวานนี้ เวลา] LT',\n lastWeek : '[วัน]dddd[ที่แล้ว เวลา] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'อีก %s',\n past : '%sที่แล้ว',\n s : 'ไม่กี่วินาที',\n ss : '%d วินาที',\n m : '1 นาที',\n mm : '%d นาที',\n h : '1 ชั่วโมง',\n hh : '%d ชั่วโมง',\n d : '1 วัน',\n dd : '%d วัน',\n M : '1 เดือน',\n MM : '%d เดือน',\n y : '1 ปี',\n yy : '%d ปี'\n }\n });\n\n return th;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var suffixes = {\n 0: '-ум',\n 1: '-ум',\n 2: '-юм',\n 3: '-юм',\n 4: '-ум',\n 5: '-ум',\n 6: '-ум',\n 7: '-ум',\n 8: '-ум',\n 9: '-ум',\n 10: '-ум',\n 12: '-ум',\n 13: '-ум',\n 20: '-ум',\n 30: '-юм',\n 40: '-ум',\n 50: '-ум',\n 60: '-ум',\n 70: '-ум',\n 80: '-ум',\n 90: '-ум',\n 100: '-ум'\n };\n\n var tg = moment.defineLocale('tg', {\n months : 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split('_'),\n monthsShort : 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'),\n weekdays : 'якшанбе_душанбе_сешанбе_чоршанбе_панҷшанбе_ҷумъа_шанбе'.split('_'),\n weekdaysShort : 'яшб_дшб_сшб_чшб_пшб_ҷум_шнб'.split('_'),\n weekdaysMin : 'яш_дш_сш_чш_пш_ҷм_шб'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Имрӯз соати] LT',\n nextDay : '[Пагоҳ соати] LT',\n lastDay : '[Дирӯз соати] LT',\n nextWeek : 'dddd[и] [ҳафтаи оянда соати] LT',\n lastWeek : 'dddd[и] [ҳафтаи гузашта соати] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'баъди %s',\n past : '%s пеш',\n s : 'якчанд сония',\n m : 'як дақиқа',\n mm : '%d дақиқа',\n h : 'як соат',\n hh : '%d соат',\n d : 'як рӯз',\n dd : '%d рӯз',\n M : 'як моҳ',\n MM : '%d моҳ',\n y : 'як сол',\n yy : '%d сол'\n },\n meridiemParse: /шаб|субҳ|рӯз|бегоҳ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'шаб') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'субҳ') {\n return hour;\n } else if (meridiem === 'рӯз') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'бегоҳ') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'шаб';\n } else if (hour < 11) {\n return 'субҳ';\n } else if (hour < 16) {\n return 'рӯз';\n } else if (hour < 19) {\n return 'бегоҳ';\n } else {\n return 'шаб';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ум|юм)/,\n ordinal: function (number) {\n var a = number % 10,\n b = number >= 100 ? 100 : null;\n return number + (suffixes[number] || suffixes[a] || suffixes[b]);\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1th is the first week of the year.\n }\n });\n\n return tg;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var tet = moment.defineLocale('tet', {\n months : 'Janeiru_Fevereiru_Marsu_Abril_Maiu_Juñu_Jullu_Agustu_Setembru_Outubru_Novembru_Dezembru'.split('_'),\n monthsShort : 'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez'.split('_'),\n weekdays : 'Domingu_Segunda_Tersa_Kuarta_Kinta_Sesta_Sabadu'.split('_'),\n weekdaysShort : 'Dom_Seg_Ters_Kua_Kint_Sest_Sab'.split('_'),\n weekdaysMin : 'Do_Seg_Te_Ku_Ki_Ses_Sa'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[Ohin iha] LT',\n nextDay: '[Aban iha] LT',\n nextWeek: 'dddd [iha] LT',\n lastDay: '[Horiseik iha] LT',\n lastWeek: 'dddd [semana kotuk] [iha] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'iha %s',\n past : '%s liuba',\n s : 'minutu balun',\n ss : 'minutu %d',\n m : 'minutu ida',\n mm : 'minutu %d',\n h : 'oras ida',\n hh : 'oras %d',\n d : 'loron ida',\n dd : 'loron %d',\n M : 'fulan ida',\n MM : 'fulan %d',\n y : 'tinan ida',\n yy : 'tinan %d'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return tet;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var te = moment.defineLocale('te', {\n months : 'జనవరి_ఫిబ్రవరి_మార్చి_ఏప్రిల్_మే_జూన్_జూలై_ఆగస్టు_సెప్టెంబర్_అక్టోబర్_నవంబర్_డిసెంబర్'.split('_'),\n monthsShort : 'జన._ఫిబ్ర._మార్చి_ఏప్రి._మే_జూన్_జూలై_ఆగ._సెప్._అక్టో._నవ._డిసె.'.split('_'),\n monthsParseExact : true,\n weekdays : 'ఆదివారం_సోమవారం_మంగళవారం_బుధవారం_గురువారం_శుక్రవారం_శనివారం'.split('_'),\n weekdaysShort : 'ఆది_సోమ_మంగళ_బుధ_గురు_శుక్ర_శని'.split('_'),\n weekdaysMin : 'ఆ_సో_మం_బు_గు_శు_శ'.split('_'),\n longDateFormat : {\n LT : 'A h:mm',\n LTS : 'A h:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, A h:mm',\n LLLL : 'dddd, D MMMM YYYY, A h:mm'\n },\n calendar : {\n sameDay : '[నేడు] LT',\n nextDay : '[రేపు] LT',\n nextWeek : 'dddd, LT',\n lastDay : '[నిన్న] LT',\n lastWeek : '[గత] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s లో',\n past : '%s క్రితం',\n s : 'కొన్ని క్షణాలు',\n ss : '%d సెకన్లు',\n m : 'ఒక నిమిషం',\n mm : '%d నిమిషాలు',\n h : 'ఒక గంట',\n hh : '%d గంటలు',\n d : 'ఒక రోజు',\n dd : '%d రోజులు',\n M : 'ఒక నెల',\n MM : '%d నెలలు',\n y : 'ఒక సంవత్సరం',\n yy : '%d సంవత్సరాలు'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}వ/,\n ordinal : '%dవ',\n meridiemParse: /రాత్రి|ఉదయం|మధ్యాహ్నం|సాయంత్రం/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'రాత్రి') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'ఉదయం') {\n return hour;\n } else if (meridiem === 'మధ్యాహ్నం') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'సాయంత్రం') {\n return hour + 12;\n }\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'రాత్రి';\n } else if (hour < 10) {\n return 'ఉదయం';\n } else if (hour < 17) {\n return 'మధ్యాహ్నం';\n } else if (hour < 20) {\n return 'సాయంత్రం';\n } else {\n return 'రాత్రి';\n }\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return te;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '௧',\n '2': '௨',\n '3': '௩',\n '4': '௪',\n '5': '௫',\n '6': '௬',\n '7': '௭',\n '8': '௮',\n '9': '௯',\n '0': '௦'\n }, numberMap = {\n '௧': '1',\n '௨': '2',\n '௩': '3',\n '௪': '4',\n '௫': '5',\n '௬': '6',\n '௭': '7',\n '௮': '8',\n '௯': '9',\n '௦': '0'\n };\n\n var ta = moment.defineLocale('ta', {\n months : 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split('_'),\n monthsShort : 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split('_'),\n weekdays : 'ஞாயிற்றுக்கிழமை_திங்கட்கிழமை_செவ்வாய்கிழமை_புதன்கிழமை_வியாழக்கிழமை_வெள்ளிக்கிழமை_சனிக்கிழமை'.split('_'),\n weekdaysShort : 'ஞாயிறு_திங்கள்_செவ்வாய்_புதன்_வியாழன்_வெள்ளி_சனி'.split('_'),\n weekdaysMin : 'ஞா_தி_செ_பு_வி_வெ_ச'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, HH:mm',\n LLLL : 'dddd, D MMMM YYYY, HH:mm'\n },\n calendar : {\n sameDay : '[இன்று] LT',\n nextDay : '[நாளை] LT',\n nextWeek : 'dddd, LT',\n lastDay : '[நேற்று] LT',\n lastWeek : '[கடந்த வாரம்] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s இல்',\n past : '%s முன்',\n s : 'ஒரு சில விநாடிகள்',\n ss : '%d விநாடிகள்',\n m : 'ஒரு நிமிடம்',\n mm : '%d நிமிடங்கள்',\n h : 'ஒரு மணி நேரம்',\n hh : '%d மணி நேரம்',\n d : 'ஒரு நாள்',\n dd : '%d நாட்கள்',\n M : 'ஒரு மாதம்',\n MM : '%d மாதங்கள்',\n y : 'ஒரு வருடம்',\n yy : '%d ஆண்டுகள்'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}வது/,\n ordinal : function (number) {\n return number + 'வது';\n },\n preparse: function (string) {\n return string.replace(/[௧௨௩௪௫௬௭௮௯௦]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n // refer http://ta.wikipedia.org/s/1er1\n meridiemParse: /யாமம்|வைகறை|காலை|நண்பகல்|எற்பாடு|மாலை/,\n meridiem : function (hour, minute, isLower) {\n if (hour < 2) {\n return ' யாமம்';\n } else if (hour < 6) {\n return ' வைகறை'; // வைகறை\n } else if (hour < 10) {\n return ' காலை'; // காலை\n } else if (hour < 14) {\n return ' நண்பகல்'; // நண்பகல்\n } else if (hour < 18) {\n return ' எற்பாடு'; // எற்பாடு\n } else if (hour < 22) {\n return ' மாலை'; // மாலை\n } else {\n return ' யாமம்';\n }\n },\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'யாமம்') {\n return hour < 2 ? hour : hour + 12;\n } else if (meridiem === 'வைகறை' || meridiem === 'காலை') {\n return hour;\n } else if (meridiem === 'நண்பகல்') {\n return hour >= 10 ? hour : hour + 12;\n } else {\n return hour + 12;\n }\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return ta;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var sw = moment.defineLocale('sw', {\n months : 'Januari_Februari_Machi_Aprili_Mei_Juni_Julai_Agosti_Septemba_Oktoba_Novemba_Desemba'.split('_'),\n monthsShort : 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ago_Sep_Okt_Nov_Des'.split('_'),\n weekdays : 'Jumapili_Jumatatu_Jumanne_Jumatano_Alhamisi_Ijumaa_Jumamosi'.split('_'),\n weekdaysShort : 'Jpl_Jtat_Jnne_Jtan_Alh_Ijm_Jmos'.split('_'),\n weekdaysMin : 'J2_J3_J4_J5_Al_Ij_J1'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[leo saa] LT',\n nextDay : '[kesho saa] LT',\n nextWeek : '[wiki ijayo] dddd [saat] LT',\n lastDay : '[jana] LT',\n lastWeek : '[wiki iliyopita] dddd [saat] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s baadaye',\n past : 'tokea %s',\n s : 'hivi punde',\n ss : 'sekunde %d',\n m : 'dakika moja',\n mm : 'dakika %d',\n h : 'saa limoja',\n hh : 'masaa %d',\n d : 'siku moja',\n dd : 'masiku %d',\n M : 'mwezi mmoja',\n MM : 'miezi %d',\n y : 'mwaka mmoja',\n yy : 'miaka %d'\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return sw;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var sv = moment.defineLocale('sv', {\n months : 'januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december'.split('_'),\n monthsShort : 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n weekdays : 'söndag_måndag_tisdag_onsdag_torsdag_fredag_lördag'.split('_'),\n weekdaysShort : 'sön_mån_tis_ons_tor_fre_lör'.split('_'),\n weekdaysMin : 'sö_må_ti_on_to_fr_lö'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY-MM-DD',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY [kl.] HH:mm',\n LLLL : 'dddd D MMMM YYYY [kl.] HH:mm',\n lll : 'D MMM YYYY HH:mm',\n llll : 'ddd D MMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[Idag] LT',\n nextDay: '[Imorgon] LT',\n lastDay: '[Igår] LT',\n nextWeek: '[På] dddd LT',\n lastWeek: '[I] dddd[s] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'om %s',\n past : 'för %s sedan',\n s : 'några sekunder',\n ss : '%d sekunder',\n m : 'en minut',\n mm : '%d minuter',\n h : 'en timme',\n hh : '%d timmar',\n d : 'en dag',\n dd : '%d dagar',\n M : 'en månad',\n MM : '%d månader',\n y : 'ett år',\n yy : '%d år'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(e|a)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'e' :\n (b === 1) ? 'a' :\n (b === 2) ? 'a' :\n (b === 3) ? 'e' : 'e';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return sv;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var ss = moment.defineLocale('ss', {\n months : \"Bhimbidvwane_Indlovana_Indlov'lenkhulu_Mabasa_Inkhwekhweti_Inhlaba_Kholwane_Ingci_Inyoni_Imphala_Lweti_Ingongoni\".split('_'),\n monthsShort : 'Bhi_Ina_Inu_Mab_Ink_Inh_Kho_Igc_Iny_Imp_Lwe_Igo'.split('_'),\n weekdays : 'Lisontfo_Umsombuluko_Lesibili_Lesitsatfu_Lesine_Lesihlanu_Umgcibelo'.split('_'),\n weekdaysShort : 'Lis_Umb_Lsb_Les_Lsi_Lsh_Umg'.split('_'),\n weekdaysMin : 'Li_Us_Lb_Lt_Ls_Lh_Ug'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'h:mm A',\n LTS : 'h:mm:ss A',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY h:mm A',\n LLLL : 'dddd, D MMMM YYYY h:mm A'\n },\n calendar : {\n sameDay : '[Namuhla nga] LT',\n nextDay : '[Kusasa nga] LT',\n nextWeek : 'dddd [nga] LT',\n lastDay : '[Itolo nga] LT',\n lastWeek : 'dddd [leliphelile] [nga] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'nga %s',\n past : 'wenteka nga %s',\n s : 'emizuzwana lomcane',\n ss : '%d mzuzwana',\n m : 'umzuzu',\n mm : '%d emizuzu',\n h : 'lihora',\n hh : '%d emahora',\n d : 'lilanga',\n dd : '%d emalanga',\n M : 'inyanga',\n MM : '%d tinyanga',\n y : 'umnyaka',\n yy : '%d iminyaka'\n },\n meridiemParse: /ekuseni|emini|entsambama|ebusuku/,\n meridiem : function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'ekuseni';\n } else if (hours < 15) {\n return 'emini';\n } else if (hours < 19) {\n return 'entsambama';\n } else {\n return 'ebusuku';\n }\n },\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'ekuseni') {\n return hour;\n } else if (meridiem === 'emini') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'entsambama' || meridiem === 'ebusuku') {\n if (hour === 0) {\n return 0;\n }\n return hour + 12;\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}/,\n ordinal : '%d',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return ss;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var translator = {\n words: { //Different grammatical cases\n ss: ['секунда', 'секунде', 'секунди'],\n m: ['један минут', 'једне минуте'],\n mm: ['минут', 'минуте', 'минута'],\n h: ['један сат', 'једног сата'],\n hh: ['сат', 'сата', 'сати'],\n dd: ['дан', 'дана', 'дана'],\n MM: ['месец', 'месеца', 'месеци'],\n yy: ['година', 'године', 'година']\n },\n correctGrammaticalCase: function (number, wordKey) {\n return number === 1 ? wordKey[0] : (number >= 2 && number <= 4 ? wordKey[1] : wordKey[2]);\n },\n translate: function (number, withoutSuffix, key) {\n var wordKey = translator.words[key];\n if (key.length === 1) {\n return withoutSuffix ? wordKey[0] : wordKey[1];\n } else {\n return number + ' ' + translator.correctGrammaticalCase(number, wordKey);\n }\n }\n };\n\n var srCyrl = moment.defineLocale('sr-cyrl', {\n months: 'јануар_фебруар_март_април_мај_јун_јул_август_септембар_октобар_новембар_децембар'.split('_'),\n monthsShort: 'јан._феб._мар._апр._мај_јун_јул_авг._сеп._окт._нов._дец.'.split('_'),\n monthsParseExact: true,\n weekdays: 'недеља_понедељак_уторак_среда_четвртак_петак_субота'.split('_'),\n weekdaysShort: 'нед._пон._уто._сре._чет._пет._суб.'.split('_'),\n weekdaysMin: 'не_по_ут_ср_че_пе_су'.split('_'),\n weekdaysParseExact : true,\n longDateFormat: {\n LT: 'H:mm',\n LTS : 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd, D. MMMM YYYY H:mm'\n },\n calendar: {\n sameDay: '[данас у] LT',\n nextDay: '[сутра у] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[у] [недељу] [у] LT';\n case 3:\n return '[у] [среду] [у] LT';\n case 6:\n return '[у] [суботу] [у] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[у] dddd [у] LT';\n }\n },\n lastDay : '[јуче у] LT',\n lastWeek : function () {\n var lastWeekDays = [\n '[прошле] [недеље] [у] LT',\n '[прошлог] [понедељка] [у] LT',\n '[прошлог] [уторка] [у] LT',\n '[прошле] [среде] [у] LT',\n '[прошлог] [четвртка] [у] LT',\n '[прошлог] [петка] [у] LT',\n '[прошле] [суботе] [у] LT'\n ];\n return lastWeekDays[this.day()];\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'за %s',\n past : 'пре %s',\n s : 'неколико секунди',\n ss : translator.translate,\n m : translator.translate,\n mm : translator.translate,\n h : translator.translate,\n hh : translator.translate,\n d : 'дан',\n dd : translator.translate,\n M : 'месец',\n MM : translator.translate,\n y : 'годину',\n yy : translator.translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return srCyrl;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var translator = {\n words: { //Different grammatical cases\n ss: ['sekunda', 'sekunde', 'sekundi'],\n m: ['jedan minut', 'jedne minute'],\n mm: ['minut', 'minute', 'minuta'],\n h: ['jedan sat', 'jednog sata'],\n hh: ['sat', 'sata', 'sati'],\n dd: ['dan', 'dana', 'dana'],\n MM: ['mesec', 'meseca', 'meseci'],\n yy: ['godina', 'godine', 'godina']\n },\n correctGrammaticalCase: function (number, wordKey) {\n return number === 1 ? wordKey[0] : (number >= 2 && number <= 4 ? wordKey[1] : wordKey[2]);\n },\n translate: function (number, withoutSuffix, key) {\n var wordKey = translator.words[key];\n if (key.length === 1) {\n return withoutSuffix ? wordKey[0] : wordKey[1];\n } else {\n return number + ' ' + translator.correctGrammaticalCase(number, wordKey);\n }\n }\n };\n\n var sr = moment.defineLocale('sr', {\n months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split('_'),\n monthsShort: 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays: 'nedelja_ponedeljak_utorak_sreda_četvrtak_petak_subota'.split('_'),\n weekdaysShort: 'ned._pon._uto._sre._čet._pet._sub.'.split('_'),\n weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact : true,\n longDateFormat: {\n LT: 'H:mm',\n LTS : 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd, D. MMMM YYYY H:mm'\n },\n calendar: {\n sameDay: '[danas u] LT',\n nextDay: '[sutra u] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[u] [nedelju] [u] LT';\n case 3:\n return '[u] [sredu] [u] LT';\n case 6:\n return '[u] [subotu] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay : '[juče u] LT',\n lastWeek : function () {\n var lastWeekDays = [\n '[prošle] [nedelje] [u] LT',\n '[prošlog] [ponedeljka] [u] LT',\n '[prošlog] [utorka] [u] LT',\n '[prošle] [srede] [u] LT',\n '[prošlog] [četvrtka] [u] LT',\n '[prošlog] [petka] [u] LT',\n '[prošle] [subote] [u] LT'\n ];\n return lastWeekDays[this.day()];\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'za %s',\n past : 'pre %s',\n s : 'nekoliko sekundi',\n ss : translator.translate,\n m : translator.translate,\n mm : translator.translate,\n h : translator.translate,\n hh : translator.translate,\n d : 'dan',\n dd : translator.translate,\n M : 'mesec',\n MM : translator.translate,\n y : 'godinu',\n yy : translator.translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return sr;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var sq = moment.defineLocale('sq', {\n months : 'Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_Nëntor_Dhjetor'.split('_'),\n monthsShort : 'Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_Nën_Dhj'.split('_'),\n weekdays : 'E Diel_E Hënë_E Martë_E Mërkurë_E Enjte_E Premte_E Shtunë'.split('_'),\n weekdaysShort : 'Die_Hën_Mar_Mër_Enj_Pre_Sht'.split('_'),\n weekdaysMin : 'D_H_Ma_Më_E_P_Sh'.split('_'),\n weekdaysParseExact : true,\n meridiemParse: /PD|MD/,\n isPM: function (input) {\n return input.charAt(0) === 'M';\n },\n meridiem : function (hours, minutes, isLower) {\n return hours < 12 ? 'PD' : 'MD';\n },\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Sot në] LT',\n nextDay : '[Nesër në] LT',\n nextWeek : 'dddd [në] LT',\n lastDay : '[Dje në] LT',\n lastWeek : 'dddd [e kaluar në] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'në %s',\n past : '%s më parë',\n s : 'disa sekonda',\n ss : '%d sekonda',\n m : 'një minutë',\n mm : '%d minuta',\n h : 'një orë',\n hh : '%d orë',\n d : 'një ditë',\n dd : '%d ditë',\n M : 'një muaj',\n MM : '%d muaj',\n y : 'një vit',\n yy : '%d vite'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return sq;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n switch (key) {\n case 's':\n return withoutSuffix || isFuture ? 'nekaj sekund' : 'nekaj sekundami';\n case 'ss':\n if (number === 1) {\n result += withoutSuffix ? 'sekundo' : 'sekundi';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'sekundi' : 'sekundah';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'sekunde' : 'sekundah';\n } else {\n result += withoutSuffix || isFuture ? 'sekund' : 'sekund';\n }\n return result;\n case 'm':\n return withoutSuffix ? 'ena minuta' : 'eno minuto';\n case 'mm':\n if (number === 1) {\n result += withoutSuffix ? 'minuta' : 'minuto';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'minuti' : 'minutama';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'minute' : 'minutami';\n } else {\n result += withoutSuffix || isFuture ? 'minut' : 'minutami';\n }\n return result;\n case 'h':\n return withoutSuffix ? 'ena ura' : 'eno uro';\n case 'hh':\n if (number === 1) {\n result += withoutSuffix ? 'ura' : 'uro';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'uri' : 'urama';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'ure' : 'urami';\n } else {\n result += withoutSuffix || isFuture ? 'ur' : 'urami';\n }\n return result;\n case 'd':\n return withoutSuffix || isFuture ? 'en dan' : 'enim dnem';\n case 'dd':\n if (number === 1) {\n result += withoutSuffix || isFuture ? 'dan' : 'dnem';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'dni' : 'dnevoma';\n } else {\n result += withoutSuffix || isFuture ? 'dni' : 'dnevi';\n }\n return result;\n case 'M':\n return withoutSuffix || isFuture ? 'en mesec' : 'enim mesecem';\n case 'MM':\n if (number === 1) {\n result += withoutSuffix || isFuture ? 'mesec' : 'mesecem';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'meseca' : 'mesecema';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'mesece' : 'meseci';\n } else {\n result += withoutSuffix || isFuture ? 'mesecev' : 'meseci';\n }\n return result;\n case 'y':\n return withoutSuffix || isFuture ? 'eno leto' : 'enim letom';\n case 'yy':\n if (number === 1) {\n result += withoutSuffix || isFuture ? 'leto' : 'letom';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'leti' : 'letoma';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'leta' : 'leti';\n } else {\n result += withoutSuffix || isFuture ? 'let' : 'leti';\n }\n return result;\n }\n }\n\n var sl = moment.defineLocale('sl', {\n months : 'januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december'.split('_'),\n monthsShort : 'jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays : 'nedelja_ponedeljek_torek_sreda_četrtek_petek_sobota'.split('_'),\n weekdaysShort : 'ned._pon._tor._sre._čet._pet._sob.'.split('_'),\n weekdaysMin : 'ne_po_to_sr_če_pe_so'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY H:mm',\n LLLL : 'dddd, D. MMMM YYYY H:mm'\n },\n calendar : {\n sameDay : '[danes ob] LT',\n nextDay : '[jutri ob] LT',\n\n nextWeek : function () {\n switch (this.day()) {\n case 0:\n return '[v] [nedeljo] [ob] LT';\n case 3:\n return '[v] [sredo] [ob] LT';\n case 6:\n return '[v] [soboto] [ob] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[v] dddd [ob] LT';\n }\n },\n lastDay : '[včeraj ob] LT',\n lastWeek : function () {\n switch (this.day()) {\n case 0:\n return '[prejšnjo] [nedeljo] [ob] LT';\n case 3:\n return '[prejšnjo] [sredo] [ob] LT';\n case 6:\n return '[prejšnjo] [soboto] [ob] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[prejšnji] dddd [ob] LT';\n }\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'čez %s',\n past : 'pred %s',\n s : processRelativeTime,\n ss : processRelativeTime,\n m : processRelativeTime,\n mm : processRelativeTime,\n h : processRelativeTime,\n hh : processRelativeTime,\n d : processRelativeTime,\n dd : processRelativeTime,\n M : processRelativeTime,\n MM : processRelativeTime,\n y : processRelativeTime,\n yy : processRelativeTime\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return sl;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var months = 'január_február_marec_apríl_máj_jún_júl_august_september_október_november_december'.split('_'),\n monthsShort = 'jan_feb_mar_apr_máj_jún_júl_aug_sep_okt_nov_dec'.split('_');\n function plural(n) {\n return (n > 1) && (n < 5);\n }\n function translate(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n switch (key) {\n case 's': // a few seconds / in a few seconds / a few seconds ago\n return (withoutSuffix || isFuture) ? 'pár sekúnd' : 'pár sekundami';\n case 'ss': // 9 seconds / in 9 seconds / 9 seconds ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'sekundy' : 'sekúnd');\n } else {\n return result + 'sekundami';\n }\n break;\n case 'm': // a minute / in a minute / a minute ago\n return withoutSuffix ? 'minúta' : (isFuture ? 'minútu' : 'minútou');\n case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'minúty' : 'minút');\n } else {\n return result + 'minútami';\n }\n break;\n case 'h': // an hour / in an hour / an hour ago\n return withoutSuffix ? 'hodina' : (isFuture ? 'hodinu' : 'hodinou');\n case 'hh': // 9 hours / in 9 hours / 9 hours ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'hodiny' : 'hodín');\n } else {\n return result + 'hodinami';\n }\n break;\n case 'd': // a day / in a day / a day ago\n return (withoutSuffix || isFuture) ? 'deň' : 'dňom';\n case 'dd': // 9 days / in 9 days / 9 days ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'dni' : 'dní');\n } else {\n return result + 'dňami';\n }\n break;\n case 'M': // a month / in a month / a month ago\n return (withoutSuffix || isFuture) ? 'mesiac' : 'mesiacom';\n case 'MM': // 9 months / in 9 months / 9 months ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'mesiace' : 'mesiacov');\n } else {\n return result + 'mesiacmi';\n }\n break;\n case 'y': // a year / in a year / a year ago\n return (withoutSuffix || isFuture) ? 'rok' : 'rokom';\n case 'yy': // 9 years / in 9 years / 9 years ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'roky' : 'rokov');\n } else {\n return result + 'rokmi';\n }\n break;\n }\n }\n\n var sk = moment.defineLocale('sk', {\n months : months,\n monthsShort : monthsShort,\n weekdays : 'nedeľa_pondelok_utorok_streda_štvrtok_piatok_sobota'.split('_'),\n weekdaysShort : 'ne_po_ut_st_št_pi_so'.split('_'),\n weekdaysMin : 'ne_po_ut_st_št_pi_so'.split('_'),\n longDateFormat : {\n LT: 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY H:mm',\n LLLL : 'dddd D. MMMM YYYY H:mm'\n },\n calendar : {\n sameDay: '[dnes o] LT',\n nextDay: '[zajtra o] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[v nedeľu o] LT';\n case 1:\n case 2:\n return '[v] dddd [o] LT';\n case 3:\n return '[v stredu o] LT';\n case 4:\n return '[vo štvrtok o] LT';\n case 5:\n return '[v piatok o] LT';\n case 6:\n return '[v sobotu o] LT';\n }\n },\n lastDay: '[včera o] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[minulú nedeľu o] LT';\n case 1:\n case 2:\n return '[minulý] dddd [o] LT';\n case 3:\n return '[minulú stredu o] LT';\n case 4:\n case 5:\n return '[minulý] dddd [o] LT';\n case 6:\n return '[minulú sobotu o] LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : 'za %s',\n past : 'pred %s',\n s : translate,\n ss : translate,\n m : translate,\n mm : translate,\n h : translate,\n hh : translate,\n d : translate,\n dd : translate,\n M : translate,\n MM : translate,\n y : translate,\n yy : translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return sk;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n /*jshint -W100*/\n var si = moment.defineLocale('si', {\n months : 'ජනවාරි_පෙබරවාරි_මාර්තු_අප්‍රේල්_මැයි_ජූනි_ජූලි_අගෝස්තු_සැප්තැම්බර්_ඔක්තෝබර්_නොවැම්බර්_දෙසැම්බර්'.split('_'),\n monthsShort : 'ජන_පෙබ_මාර්_අප්_මැයි_ජූනි_ජූලි_අගෝ_සැප්_ඔක්_නොවැ_දෙසැ'.split('_'),\n weekdays : 'ඉරිදා_සඳුදා_අඟහරුවාදා_බදාදා_බ්‍රහස්පතින්දා_සිකුරාදා_සෙනසුරාදා'.split('_'),\n weekdaysShort : 'ඉරි_සඳු_අඟ_බදා_බ්‍රහ_සිකු_සෙන'.split('_'),\n weekdaysMin : 'ඉ_ස_අ_බ_බ්‍ර_සි_සෙ'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'a h:mm',\n LTS : 'a h:mm:ss',\n L : 'YYYY/MM/DD',\n LL : 'YYYY MMMM D',\n LLL : 'YYYY MMMM D, a h:mm',\n LLLL : 'YYYY MMMM D [වැනි] dddd, a h:mm:ss'\n },\n calendar : {\n sameDay : '[අද] LT[ට]',\n nextDay : '[හෙට] LT[ට]',\n nextWeek : 'dddd LT[ට]',\n lastDay : '[ඊයේ] LT[ට]',\n lastWeek : '[පසුගිය] dddd LT[ට]',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%sකින්',\n past : '%sකට පෙර',\n s : 'තත්පර කිහිපය',\n ss : 'තත්පර %d',\n m : 'මිනිත්තුව',\n mm : 'මිනිත්තු %d',\n h : 'පැය',\n hh : 'පැය %d',\n d : 'දිනය',\n dd : 'දින %d',\n M : 'මාසය',\n MM : 'මාස %d',\n y : 'වසර',\n yy : 'වසර %d'\n },\n dayOfMonthOrdinalParse: /\\d{1,2} වැනි/,\n ordinal : function (number) {\n return number + ' වැනි';\n },\n meridiemParse : /පෙර වරු|පස් වරු|පෙ.ව|ප.ව./,\n isPM : function (input) {\n return input === 'ප.ව.' || input === 'පස් වරු';\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'ප.ව.' : 'පස් වරු';\n } else {\n return isLower ? 'පෙ.ව.' : 'පෙර වරු';\n }\n }\n });\n\n return si;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var se = moment.defineLocale('se', {\n months : 'ođđajagemánnu_guovvamánnu_njukčamánnu_cuoŋománnu_miessemánnu_geassemánnu_suoidnemánnu_borgemánnu_čakčamánnu_golggotmánnu_skábmamánnu_juovlamánnu'.split('_'),\n monthsShort : 'ođđj_guov_njuk_cuo_mies_geas_suoi_borg_čakč_golg_skáb_juov'.split('_'),\n weekdays : 'sotnabeaivi_vuossárga_maŋŋebárga_gaskavahkku_duorastat_bearjadat_lávvardat'.split('_'),\n weekdaysShort : 'sotn_vuos_maŋ_gask_duor_bear_láv'.split('_'),\n weekdaysMin : 's_v_m_g_d_b_L'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'MMMM D. [b.] YYYY',\n LLL : 'MMMM D. [b.] YYYY [ti.] HH:mm',\n LLLL : 'dddd, MMMM D. [b.] YYYY [ti.] HH:mm'\n },\n calendar : {\n sameDay: '[otne ti] LT',\n nextDay: '[ihttin ti] LT',\n nextWeek: 'dddd [ti] LT',\n lastDay: '[ikte ti] LT',\n lastWeek: '[ovddit] dddd [ti] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : '%s geažes',\n past : 'maŋit %s',\n s : 'moadde sekunddat',\n ss: '%d sekunddat',\n m : 'okta minuhta',\n mm : '%d minuhtat',\n h : 'okta diimmu',\n hh : '%d diimmut',\n d : 'okta beaivi',\n dd : '%d beaivvit',\n M : 'okta mánnu',\n MM : '%d mánut',\n y : 'okta jahki',\n yy : '%d jagit'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return se;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var months = [\n 'جنوري',\n 'فيبروري',\n 'مارچ',\n 'اپريل',\n 'مئي',\n 'جون',\n 'جولاءِ',\n 'آگسٽ',\n 'سيپٽمبر',\n 'آڪٽوبر',\n 'نومبر',\n 'ڊسمبر'\n ];\n var days = [\n 'آچر',\n 'سومر',\n 'اڱارو',\n 'اربع',\n 'خميس',\n 'جمع',\n 'ڇنڇر'\n ];\n\n var sd = moment.defineLocale('sd', {\n months : months,\n monthsShort : months,\n weekdays : days,\n weekdaysShort : days,\n weekdaysMin : days,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd، D MMMM YYYY HH:mm'\n },\n meridiemParse: /صبح|شام/,\n isPM : function (input) {\n return 'شام' === input;\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'صبح';\n }\n return 'شام';\n },\n calendar : {\n sameDay : '[اڄ] LT',\n nextDay : '[سڀاڻي] LT',\n nextWeek : 'dddd [اڳين هفتي تي] LT',\n lastDay : '[ڪالهه] LT',\n lastWeek : '[گزريل هفتي] dddd [تي] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s پوء',\n past : '%s اڳ',\n s : 'چند سيڪنڊ',\n ss : '%d سيڪنڊ',\n m : 'هڪ منٽ',\n mm : '%d منٽ',\n h : 'هڪ ڪلاڪ',\n hh : '%d ڪلاڪ',\n d : 'هڪ ڏينهن',\n dd : '%d ڏينهن',\n M : 'هڪ مهينو',\n MM : '%d مهينا',\n y : 'هڪ سال',\n yy : '%d سال'\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/,/g, '،');\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return sd;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function plural(word, num) {\n var forms = word.split('_');\n return num % 10 === 1 && num % 100 !== 11 ? forms[0] : (num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) ? forms[1] : forms[2]);\n }\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n var format = {\n 'ss': withoutSuffix ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд',\n 'mm': withoutSuffix ? 'минута_минуты_минут' : 'минуту_минуты_минут',\n 'hh': 'час_часа_часов',\n 'dd': 'день_дня_дней',\n 'MM': 'месяц_месяца_месяцев',\n 'yy': 'год_года_лет'\n };\n if (key === 'm') {\n return withoutSuffix ? 'минута' : 'минуту';\n }\n else {\n return number + ' ' + plural(format[key], +number);\n }\n }\n var monthsParse = [/^янв/i, /^фев/i, /^мар/i, /^апр/i, /^ма[йя]/i, /^июн/i, /^июл/i, /^авг/i, /^сен/i, /^окт/i, /^ноя/i, /^дек/i];\n\n // http://new.gramota.ru/spravka/rules/139-prop : § 103\n // Сокращения месяцев: http://new.gramota.ru/spravka/buro/search-answer?s=242637\n // CLDR data: http://www.unicode.org/cldr/charts/28/summary/ru.html#1753\n var ru = moment.defineLocale('ru', {\n months : {\n format: 'января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря'.split('_'),\n standalone: 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split('_')\n },\n monthsShort : {\n // по CLDR именно \"июл.\" и \"июн.\", но какой смысл менять букву на точку ?\n format: 'янв._февр._мар._апр._мая_июня_июля_авг._сент._окт._нояб._дек.'.split('_'),\n standalone: 'янв._февр._март_апр._май_июнь_июль_авг._сент._окт._нояб._дек.'.split('_')\n },\n weekdays : {\n standalone: 'воскресенье_понедельник_вторник_среда_четверг_пятница_суббота'.split('_'),\n format: 'воскресенье_понедельник_вторник_среду_четверг_пятницу_субботу'.split('_'),\n isFormat: /\\[ ?[Вв] ?(?:прошлую|следующую|эту)? ?\\] ?dddd/\n },\n weekdaysShort : 'вс_пн_вт_ср_чт_пт_сб'.split('_'),\n weekdaysMin : 'вс_пн_вт_ср_чт_пт_сб'.split('_'),\n monthsParse : monthsParse,\n longMonthsParse : monthsParse,\n shortMonthsParse : monthsParse,\n\n // полные названия с падежами, по три буквы, для некоторых, по 4 буквы, сокращения с точкой и без точки\n monthsRegex: /^(январ[ья]|янв\\.?|феврал[ья]|февр?\\.?|марта?|мар\\.?|апрел[ья]|апр\\.?|ма[йя]|июн[ья]|июн\\.?|июл[ья]|июл\\.?|августа?|авг\\.?|сентябр[ья]|сент?\\.?|октябр[ья]|окт\\.?|ноябр[ья]|нояб?\\.?|декабр[ья]|дек\\.?)/i,\n\n // копия предыдущего\n monthsShortRegex: /^(январ[ья]|янв\\.?|феврал[ья]|февр?\\.?|марта?|мар\\.?|апрел[ья]|апр\\.?|ма[йя]|июн[ья]|июн\\.?|июл[ья]|июл\\.?|августа?|авг\\.?|сентябр[ья]|сент?\\.?|октябр[ья]|окт\\.?|ноябр[ья]|нояб?\\.?|декабр[ья]|дек\\.?)/i,\n\n // полные названия с падежами\n monthsStrictRegex: /^(январ[яь]|феврал[яь]|марта?|апрел[яь]|ма[яй]|июн[яь]|июл[яь]|августа?|сентябр[яь]|октябр[яь]|ноябр[яь]|декабр[яь])/i,\n\n // Выражение, которое соотвествует только сокращённым формам\n monthsShortStrictRegex: /^(янв\\.|февр?\\.|мар[т.]|апр\\.|ма[яй]|июн[ья.]|июл[ья.]|авг\\.|сент?\\.|окт\\.|нояб?\\.|дек\\.)/i,\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY г.',\n LLL : 'D MMMM YYYY г., H:mm',\n LLLL : 'dddd, D MMMM YYYY г., H:mm'\n },\n calendar : {\n sameDay: '[Сегодня, в] LT',\n nextDay: '[Завтра, в] LT',\n lastDay: '[Вчера, в] LT',\n nextWeek: function (now) {\n if (now.week() !== this.week()) {\n switch (this.day()) {\n case 0:\n return '[В следующее] dddd, [в] LT';\n case 1:\n case 2:\n case 4:\n return '[В следующий] dddd, [в] LT';\n case 3:\n case 5:\n case 6:\n return '[В следующую] dddd, [в] LT';\n }\n } else {\n if (this.day() === 2) {\n return '[Во] dddd, [в] LT';\n } else {\n return '[В] dddd, [в] LT';\n }\n }\n },\n lastWeek: function (now) {\n if (now.week() !== this.week()) {\n switch (this.day()) {\n case 0:\n return '[В прошлое] dddd, [в] LT';\n case 1:\n case 2:\n case 4:\n return '[В прошлый] dddd, [в] LT';\n case 3:\n case 5:\n case 6:\n return '[В прошлую] dddd, [в] LT';\n }\n } else {\n if (this.day() === 2) {\n return '[Во] dddd, [в] LT';\n } else {\n return '[В] dddd, [в] LT';\n }\n }\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : 'через %s',\n past : '%s назад',\n s : 'несколько секунд',\n ss : relativeTimeWithPlural,\n m : relativeTimeWithPlural,\n mm : relativeTimeWithPlural,\n h : 'час',\n hh : relativeTimeWithPlural,\n d : 'день',\n dd : relativeTimeWithPlural,\n M : 'месяц',\n MM : relativeTimeWithPlural,\n y : 'год',\n yy : relativeTimeWithPlural\n },\n meridiemParse: /ночи|утра|дня|вечера/i,\n isPM : function (input) {\n return /^(дня|вечера)$/.test(input);\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ночи';\n } else if (hour < 12) {\n return 'утра';\n } else if (hour < 17) {\n return 'дня';\n } else {\n return 'вечера';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(й|го|я)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'M':\n case 'd':\n case 'DDD':\n return number + '-й';\n case 'D':\n return number + '-го';\n case 'w':\n case 'W':\n return number + '-я';\n default:\n return number;\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return ru;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n var format = {\n 'ss': 'secunde',\n 'mm': 'minute',\n 'hh': 'ore',\n 'dd': 'zile',\n 'MM': 'luni',\n 'yy': 'ani'\n },\n separator = ' ';\n if (number % 100 >= 20 || (number >= 100 && number % 100 === 0)) {\n separator = ' de ';\n }\n return number + separator + format[key];\n }\n\n var ro = moment.defineLocale('ro', {\n months : 'ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie'.split('_'),\n monthsShort : 'ian._febr._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays : 'duminică_luni_marți_miercuri_joi_vineri_sâmbătă'.split('_'),\n weekdaysShort : 'Dum_Lun_Mar_Mie_Joi_Vin_Sâm'.split('_'),\n weekdaysMin : 'Du_Lu_Ma_Mi_Jo_Vi_Sâ'.split('_'),\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY H:mm',\n LLLL : 'dddd, D MMMM YYYY H:mm'\n },\n calendar : {\n sameDay: '[azi la] LT',\n nextDay: '[mâine la] LT',\n nextWeek: 'dddd [la] LT',\n lastDay: '[ieri la] LT',\n lastWeek: '[fosta] dddd [la] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'peste %s',\n past : '%s în urmă',\n s : 'câteva secunde',\n ss : relativeTimeWithPlural,\n m : 'un minut',\n mm : relativeTimeWithPlural,\n h : 'o oră',\n hh : relativeTimeWithPlural,\n d : 'o zi',\n dd : relativeTimeWithPlural,\n M : 'o lună',\n MM : relativeTimeWithPlural,\n y : 'un an',\n yy : relativeTimeWithPlural\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return ro;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var ptBr = moment.defineLocale('pt-br', {\n months : 'janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro'.split('_'),\n monthsShort : 'jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez'.split('_'),\n weekdays : 'Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado'.split('_'),\n weekdaysShort : 'Dom_Seg_Ter_Qua_Qui_Sex_Sáb'.split('_'),\n weekdaysMin : 'Do_2ª_3ª_4ª_5ª_6ª_Sá'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D [de] MMMM [de] YYYY',\n LLL : 'D [de] MMMM [de] YYYY [às] HH:mm',\n LLLL : 'dddd, D [de] MMMM [de] YYYY [às] HH:mm'\n },\n calendar : {\n sameDay: '[Hoje às] LT',\n nextDay: '[Amanhã às] LT',\n nextWeek: 'dddd [às] LT',\n lastDay: '[Ontem às] LT',\n lastWeek: function () {\n return (this.day() === 0 || this.day() === 6) ?\n '[Último] dddd [às] LT' : // Saturday + Sunday\n '[Última] dddd [às] LT'; // Monday - Friday\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : 'em %s',\n past : 'há %s',\n s : 'poucos segundos',\n ss : '%d segundos',\n m : 'um minuto',\n mm : '%d minutos',\n h : 'uma hora',\n hh : '%d horas',\n d : 'um dia',\n dd : '%d dias',\n M : 'um mês',\n MM : '%d meses',\n y : 'um ano',\n yy : '%d anos'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal : '%dº'\n });\n\n return ptBr;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var pt = moment.defineLocale('pt', {\n months : 'janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro'.split('_'),\n monthsShort : 'jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez'.split('_'),\n weekdays : 'Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado'.split('_'),\n weekdaysShort : 'Dom_Seg_Ter_Qua_Qui_Sex_Sáb'.split('_'),\n weekdaysMin : 'Do_2ª_3ª_4ª_5ª_6ª_Sá'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D [de] MMMM [de] YYYY',\n LLL : 'D [de] MMMM [de] YYYY HH:mm',\n LLLL : 'dddd, D [de] MMMM [de] YYYY HH:mm'\n },\n calendar : {\n sameDay: '[Hoje às] LT',\n nextDay: '[Amanhã às] LT',\n nextWeek: 'dddd [às] LT',\n lastDay: '[Ontem às] LT',\n lastWeek: function () {\n return (this.day() === 0 || this.day() === 6) ?\n '[Último] dddd [às] LT' : // Saturday + Sunday\n '[Última] dddd [às] LT'; // Monday - Friday\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : 'em %s',\n past : 'há %s',\n s : 'segundos',\n ss : '%d segundos',\n m : 'um minuto',\n mm : '%d minutos',\n h : 'uma hora',\n hh : '%d horas',\n d : 'um dia',\n dd : '%d dias',\n M : 'um mês',\n MM : '%d meses',\n y : 'um ano',\n yy : '%d anos'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal : '%dº',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return pt;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var monthsNominative = 'styczeń_luty_marzec_kwiecień_maj_czerwiec_lipiec_sierpień_wrzesień_październik_listopad_grudzień'.split('_'),\n monthsSubjective = 'stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_września_października_listopada_grudnia'.split('_');\n function plural(n) {\n return (n % 10 < 5) && (n % 10 > 1) && ((~~(n / 10) % 10) !== 1);\n }\n function translate(number, withoutSuffix, key) {\n var result = number + ' ';\n switch (key) {\n case 'ss':\n return result + (plural(number) ? 'sekundy' : 'sekund');\n case 'm':\n return withoutSuffix ? 'minuta' : 'minutę';\n case 'mm':\n return result + (plural(number) ? 'minuty' : 'minut');\n case 'h':\n return withoutSuffix ? 'godzina' : 'godzinę';\n case 'hh':\n return result + (plural(number) ? 'godziny' : 'godzin');\n case 'MM':\n return result + (plural(number) ? 'miesiące' : 'miesięcy');\n case 'yy':\n return result + (plural(number) ? 'lata' : 'lat');\n }\n }\n\n var pl = moment.defineLocale('pl', {\n months : function (momentToFormat, format) {\n if (!momentToFormat) {\n return monthsNominative;\n } else if (format === '') {\n // Hack: if format empty we know this is used to generate\n // RegExp by moment. Give then back both valid forms of months\n // in RegExp ready format.\n return '(' + monthsSubjective[momentToFormat.month()] + '|' + monthsNominative[momentToFormat.month()] + ')';\n } else if (/D MMMM/.test(format)) {\n return monthsSubjective[momentToFormat.month()];\n } else {\n return monthsNominative[momentToFormat.month()];\n }\n },\n monthsShort : 'sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paź_lis_gru'.split('_'),\n weekdays : 'niedziela_poniedziałek_wtorek_środa_czwartek_piątek_sobota'.split('_'),\n weekdaysShort : 'ndz_pon_wt_śr_czw_pt_sob'.split('_'),\n weekdaysMin : 'Nd_Pn_Wt_Śr_Cz_Pt_So'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[Dziś o] LT',\n nextDay: '[Jutro o] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[W niedzielę o] LT';\n\n case 2:\n return '[We wtorek o] LT';\n\n case 3:\n return '[W środę o] LT';\n\n case 6:\n return '[W sobotę o] LT';\n\n default:\n return '[W] dddd [o] LT';\n }\n },\n lastDay: '[Wczoraj o] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[W zeszłą niedzielę o] LT';\n case 3:\n return '[W zeszłą środę o] LT';\n case 6:\n return '[W zeszłą sobotę o] LT';\n default:\n return '[W zeszły] dddd [o] LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : 'za %s',\n past : '%s temu',\n s : 'kilka sekund',\n ss : translate,\n m : translate,\n mm : translate,\n h : translate,\n hh : translate,\n d : '1 dzień',\n dd : '%d dni',\n M : 'miesiąc',\n MM : translate,\n y : 'rok',\n yy : translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return pl;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '੧',\n '2': '੨',\n '3': '੩',\n '4': '੪',\n '5': '੫',\n '6': '੬',\n '7': '੭',\n '8': '੮',\n '9': '੯',\n '0': '੦'\n },\n numberMap = {\n '੧': '1',\n '੨': '2',\n '੩': '3',\n '੪': '4',\n '੫': '5',\n '੬': '6',\n '੭': '7',\n '੮': '8',\n '੯': '9',\n '੦': '0'\n };\n\n var paIn = moment.defineLocale('pa-in', {\n // There are months name as per Nanakshahi Calender but they are not used as rigidly in modern Punjabi.\n months : 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split('_'),\n monthsShort : 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split('_'),\n weekdays : 'ਐਤਵਾਰ_ਸੋਮਵਾਰ_ਮੰਗਲਵਾਰ_ਬੁਧਵਾਰ_ਵੀਰਵਾਰ_ਸ਼ੁੱਕਰਵਾਰ_ਸ਼ਨੀਚਰਵਾਰ'.split('_'),\n weekdaysShort : 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'),\n weekdaysMin : 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'),\n longDateFormat : {\n LT : 'A h:mm ਵਜੇ',\n LTS : 'A h:mm:ss ਵਜੇ',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, A h:mm ਵਜੇ',\n LLLL : 'dddd, D MMMM YYYY, A h:mm ਵਜੇ'\n },\n calendar : {\n sameDay : '[ਅਜ] LT',\n nextDay : '[ਕਲ] LT',\n nextWeek : '[ਅਗਲਾ] dddd, LT',\n lastDay : '[ਕਲ] LT',\n lastWeek : '[ਪਿਛਲੇ] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s ਵਿੱਚ',\n past : '%s ਪਿਛਲੇ',\n s : 'ਕੁਝ ਸਕਿੰਟ',\n ss : '%d ਸਕਿੰਟ',\n m : 'ਇਕ ਮਿੰਟ',\n mm : '%d ਮਿੰਟ',\n h : 'ਇੱਕ ਘੰਟਾ',\n hh : '%d ਘੰਟੇ',\n d : 'ਇੱਕ ਦਿਨ',\n dd : '%d ਦਿਨ',\n M : 'ਇੱਕ ਮਹੀਨਾ',\n MM : '%d ਮਹੀਨੇ',\n y : 'ਇੱਕ ਸਾਲ',\n yy : '%d ਸਾਲ'\n },\n preparse: function (string) {\n return string.replace(/[੧੨੩੪੫੬੭੮੯੦]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n // Punjabi notation for meridiems are quite fuzzy in practice. While there exists\n // a rigid notion of a 'Pahar' it is not used as rigidly in modern Punjabi.\n meridiemParse: /ਰਾਤ|ਸਵੇਰ|ਦੁਪਹਿਰ|ਸ਼ਾਮ/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'ਰਾਤ') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'ਸਵੇਰ') {\n return hour;\n } else if (meridiem === 'ਦੁਪਹਿਰ') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'ਸ਼ਾਮ') {\n return hour + 12;\n }\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ਰਾਤ';\n } else if (hour < 10) {\n return 'ਸਵੇਰ';\n } else if (hour < 17) {\n return 'ਦੁਪਹਿਰ';\n } else if (hour < 20) {\n return 'ਸ਼ਾਮ';\n } else {\n return 'ਰਾਤ';\n }\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return paIn;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var nn = moment.defineLocale('nn', {\n months : 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split('_'),\n monthsShort : 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'),\n weekdays : 'sundag_måndag_tysdag_onsdag_torsdag_fredag_laurdag'.split('_'),\n weekdaysShort : 'sun_mån_tys_ons_tor_fre_lau'.split('_'),\n weekdaysMin : 'su_må_ty_on_to_fr_lø'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY [kl.] H:mm',\n LLLL : 'dddd D. MMMM YYYY [kl.] HH:mm'\n },\n calendar : {\n sameDay: '[I dag klokka] LT',\n nextDay: '[I morgon klokka] LT',\n nextWeek: 'dddd [klokka] LT',\n lastDay: '[I går klokka] LT',\n lastWeek: '[Føregåande] dddd [klokka] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'om %s',\n past : '%s sidan',\n s : 'nokre sekund',\n ss : '%d sekund',\n m : 'eit minutt',\n mm : '%d minutt',\n h : 'ein time',\n hh : '%d timar',\n d : 'ein dag',\n dd : '%d dagar',\n M : 'ein månad',\n MM : '%d månader',\n y : 'eit år',\n yy : '%d år'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return nn;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var monthsShortWithDots = 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'),\n monthsShortWithoutDots = 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_');\n\n var monthsParse = [/^jan/i, /^feb/i, /^maart|mrt.?$/i, /^apr/i, /^mei$/i, /^jun[i.]?$/i, /^jul[i.]?$/i, /^aug/i, /^sep/i, /^okt/i, /^nov/i, /^dec/i];\n var monthsRegex = /^(januari|februari|maart|april|mei|april|ju[nl]i|augustus|september|oktober|november|december|jan\\.?|feb\\.?|mrt\\.?|apr\\.?|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i;\n\n var nlBe = moment.defineLocale('nl-be', {\n months : 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split('_'),\n monthsShort : function (m, format) {\n if (!m) {\n return monthsShortWithDots;\n } else if (/-MMM-/.test(format)) {\n return monthsShortWithoutDots[m.month()];\n } else {\n return monthsShortWithDots[m.month()];\n }\n },\n\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: /^(januari|februari|maart|mei|ju[nl]i|april|augustus|september|oktober|november|december)/i,\n monthsShortStrictRegex: /^(jan\\.?|feb\\.?|mrt\\.?|apr\\.?|mei|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i,\n\n monthsParse : monthsParse,\n longMonthsParse : monthsParse,\n shortMonthsParse : monthsParse,\n\n weekdays : 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split('_'),\n weekdaysShort : 'zo._ma._di._wo._do._vr._za.'.split('_'),\n weekdaysMin : 'zo_ma_di_wo_do_vr_za'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[vandaag om] LT',\n nextDay: '[morgen om] LT',\n nextWeek: 'dddd [om] LT',\n lastDay: '[gisteren om] LT',\n lastWeek: '[afgelopen] dddd [om] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'over %s',\n past : '%s geleden',\n s : 'een paar seconden',\n ss : '%d seconden',\n m : 'één minuut',\n mm : '%d minuten',\n h : 'één uur',\n hh : '%d uur',\n d : 'één dag',\n dd : '%d dagen',\n M : 'één maand',\n MM : '%d maanden',\n y : 'één jaar',\n yy : '%d jaar'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n ordinal : function (number) {\n return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de');\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return nlBe;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var monthsShortWithDots = 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'),\n monthsShortWithoutDots = 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_');\n\n var monthsParse = [/^jan/i, /^feb/i, /^maart|mrt.?$/i, /^apr/i, /^mei$/i, /^jun[i.]?$/i, /^jul[i.]?$/i, /^aug/i, /^sep/i, /^okt/i, /^nov/i, /^dec/i];\n var monthsRegex = /^(januari|februari|maart|april|mei|april|ju[nl]i|augustus|september|oktober|november|december|jan\\.?|feb\\.?|mrt\\.?|apr\\.?|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i;\n\n var nl = moment.defineLocale('nl', {\n months : 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split('_'),\n monthsShort : function (m, format) {\n if (!m) {\n return monthsShortWithDots;\n } else if (/-MMM-/.test(format)) {\n return monthsShortWithoutDots[m.month()];\n } else {\n return monthsShortWithDots[m.month()];\n }\n },\n\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: /^(januari|februari|maart|mei|ju[nl]i|april|augustus|september|oktober|november|december)/i,\n monthsShortStrictRegex: /^(jan\\.?|feb\\.?|mrt\\.?|apr\\.?|mei|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i,\n\n monthsParse : monthsParse,\n longMonthsParse : monthsParse,\n shortMonthsParse : monthsParse,\n\n weekdays : 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split('_'),\n weekdaysShort : 'zo._ma._di._wo._do._vr._za.'.split('_'),\n weekdaysMin : 'zo_ma_di_wo_do_vr_za'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD-MM-YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[vandaag om] LT',\n nextDay: '[morgen om] LT',\n nextWeek: 'dddd [om] LT',\n lastDay: '[gisteren om] LT',\n lastWeek: '[afgelopen] dddd [om] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'over %s',\n past : '%s geleden',\n s : 'een paar seconden',\n ss : '%d seconden',\n m : 'één minuut',\n mm : '%d minuten',\n h : 'één uur',\n hh : '%d uur',\n d : 'één dag',\n dd : '%d dagen',\n M : 'één maand',\n MM : '%d maanden',\n y : 'één jaar',\n yy : '%d jaar'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n ordinal : function (number) {\n return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de');\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return nl;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '१',\n '2': '२',\n '3': '३',\n '4': '४',\n '5': '५',\n '6': '६',\n '7': '७',\n '8': '८',\n '9': '९',\n '0': '०'\n },\n numberMap = {\n '१': '1',\n '२': '2',\n '३': '3',\n '४': '4',\n '५': '5',\n '६': '6',\n '७': '7',\n '८': '8',\n '९': '9',\n '०': '0'\n };\n\n var ne = moment.defineLocale('ne', {\n months : 'जनवरी_फेब्रुवरी_मार्च_अप्रिल_मई_जुन_जुलाई_अगष्ट_सेप्टेम्बर_अक्टोबर_नोभेम्बर_डिसेम्बर'.split('_'),\n monthsShort : 'जन._फेब्रु._मार्च_अप्रि._मई_जुन_जुलाई._अग._सेप्ट._अक्टो._नोभे._डिसे.'.split('_'),\n monthsParseExact : true,\n weekdays : 'आइतबार_सोमबार_मङ्गलबार_बुधबार_बिहिबार_शुक्रबार_शनिबार'.split('_'),\n weekdaysShort : 'आइत._सोम._मङ्गल._बुध._बिहि._शुक्र._शनि.'.split('_'),\n weekdaysMin : 'आ._सो._मं._बु._बि._शु._श.'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'Aको h:mm बजे',\n LTS : 'Aको h:mm:ss बजे',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, Aको h:mm बजे',\n LLLL : 'dddd, D MMMM YYYY, Aको h:mm बजे'\n },\n preparse: function (string) {\n return string.replace(/[१२३४५६७८९०]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /राति|बिहान|दिउँसो|साँझ/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'राति') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'बिहान') {\n return hour;\n } else if (meridiem === 'दिउँसो') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'साँझ') {\n return hour + 12;\n }\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 3) {\n return 'राति';\n } else if (hour < 12) {\n return 'बिहान';\n } else if (hour < 16) {\n return 'दिउँसो';\n } else if (hour < 20) {\n return 'साँझ';\n } else {\n return 'राति';\n }\n },\n calendar : {\n sameDay : '[आज] LT',\n nextDay : '[भोलि] LT',\n nextWeek : '[आउँदो] dddd[,] LT',\n lastDay : '[हिजो] LT',\n lastWeek : '[गएको] dddd[,] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%sमा',\n past : '%s अगाडि',\n s : 'केही क्षण',\n ss : '%d सेकेण्ड',\n m : 'एक मिनेट',\n mm : '%d मिनेट',\n h : 'एक घण्टा',\n hh : '%d घण्टा',\n d : 'एक दिन',\n dd : '%d दिन',\n M : 'एक महिना',\n MM : '%d महिना',\n y : 'एक बर्ष',\n yy : '%d बर्ष'\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return ne;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var nb = moment.defineLocale('nb', {\n months : 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split('_'),\n monthsShort : 'jan._feb._mars_april_mai_juni_juli_aug._sep._okt._nov._des.'.split('_'),\n monthsParseExact : true,\n weekdays : 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),\n weekdaysShort : 'sø._ma._ti._on._to._fr._lø.'.split('_'),\n weekdaysMin : 'sø_ma_ti_on_to_fr_lø'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY [kl.] HH:mm',\n LLLL : 'dddd D. MMMM YYYY [kl.] HH:mm'\n },\n calendar : {\n sameDay: '[i dag kl.] LT',\n nextDay: '[i morgen kl.] LT',\n nextWeek: 'dddd [kl.] LT',\n lastDay: '[i går kl.] LT',\n lastWeek: '[forrige] dddd [kl.] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'om %s',\n past : '%s siden',\n s : 'noen sekunder',\n ss : '%d sekunder',\n m : 'ett minutt',\n mm : '%d minutter',\n h : 'en time',\n hh : '%d timer',\n d : 'en dag',\n dd : '%d dager',\n M : 'en måned',\n MM : '%d måneder',\n y : 'ett år',\n yy : '%d år'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return nb;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '၁',\n '2': '၂',\n '3': '၃',\n '4': '၄',\n '5': '၅',\n '6': '၆',\n '7': '၇',\n '8': '၈',\n '9': '၉',\n '0': '၀'\n }, numberMap = {\n '၁': '1',\n '၂': '2',\n '၃': '3',\n '၄': '4',\n '၅': '5',\n '၆': '6',\n '၇': '7',\n '၈': '8',\n '၉': '9',\n '၀': '0'\n };\n\n var my = moment.defineLocale('my', {\n months: 'ဇန်နဝါရီ_ဖေဖော်ဝါရီ_မတ်_ဧပြီ_မေ_ဇွန်_ဇူလိုင်_သြဂုတ်_စက်တင်ဘာ_အောက်တိုဘာ_နိုဝင်ဘာ_ဒီဇင်ဘာ'.split('_'),\n monthsShort: 'ဇန်_ဖေ_မတ်_ပြီ_မေ_ဇွန်_လိုင်_သြ_စက်_အောက်_နို_ဒီ'.split('_'),\n weekdays: 'တနင်္ဂနွေ_တနင်္လာ_အင်္ဂါ_ဗုဒ္ဓဟူး_ကြာသပတေး_သောကြာ_စနေ'.split('_'),\n weekdaysShort: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'),\n weekdaysMin: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'),\n\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[ယနေ.] LT [မှာ]',\n nextDay: '[မနက်ဖြန်] LT [မှာ]',\n nextWeek: 'dddd LT [မှာ]',\n lastDay: '[မနေ.က] LT [မှာ]',\n lastWeek: '[ပြီးခဲ့သော] dddd LT [မှာ]',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'လာမည့် %s မှာ',\n past: 'လွန်ခဲ့သော %s က',\n s: 'စက္ကန်.အနည်းငယ်',\n ss : '%d စက္ကန့်',\n m: 'တစ်မိနစ်',\n mm: '%d မိနစ်',\n h: 'တစ်နာရီ',\n hh: '%d နာရီ',\n d: 'တစ်ရက်',\n dd: '%d ရက်',\n M: 'တစ်လ',\n MM: '%d လ',\n y: 'တစ်နှစ်',\n yy: '%d နှစ်'\n },\n preparse: function (string) {\n return string.replace(/[၁၂၃၄၅၆၇၈၉၀]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return my;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var mt = moment.defineLocale('mt', {\n months : 'Jannar_Frar_Marzu_April_Mejju_Ġunju_Lulju_Awwissu_Settembru_Ottubru_Novembru_Diċembru'.split('_'),\n monthsShort : 'Jan_Fra_Mar_Apr_Mej_Ġun_Lul_Aww_Set_Ott_Nov_Diċ'.split('_'),\n weekdays : 'Il-Ħadd_It-Tnejn_It-Tlieta_L-Erbgħa_Il-Ħamis_Il-Ġimgħa_Is-Sibt'.split('_'),\n weekdaysShort : 'Ħad_Tne_Tli_Erb_Ħam_Ġim_Sib'.split('_'),\n weekdaysMin : 'Ħa_Tn_Tl_Er_Ħa_Ġi_Si'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Illum fil-]LT',\n nextDay : '[Għada fil-]LT',\n nextWeek : 'dddd [fil-]LT',\n lastDay : '[Il-bieraħ fil-]LT',\n lastWeek : 'dddd [li għadda] [fil-]LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'f’ %s',\n past : '%s ilu',\n s : 'ftit sekondi',\n ss : '%d sekondi',\n m : 'minuta',\n mm : '%d minuti',\n h : 'siegħa',\n hh : '%d siegħat',\n d : 'ġurnata',\n dd : '%d ġranet',\n M : 'xahar',\n MM : '%d xhur',\n y : 'sena',\n yy : '%d sni'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}º/,\n ordinal: '%dº',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return mt;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var msMy = moment.defineLocale('ms-my', {\n months : 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split('_'),\n monthsShort : 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'),\n weekdays : 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'),\n weekdaysShort : 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'),\n weekdaysMin : 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'),\n longDateFormat : {\n LT : 'HH.mm',\n LTS : 'HH.mm.ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY [pukul] HH.mm',\n LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm'\n },\n meridiemParse: /pagi|tengahari|petang|malam/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'pagi') {\n return hour;\n } else if (meridiem === 'tengahari') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'petang' || meridiem === 'malam') {\n return hour + 12;\n }\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'pagi';\n } else if (hours < 15) {\n return 'tengahari';\n } else if (hours < 19) {\n return 'petang';\n } else {\n return 'malam';\n }\n },\n calendar : {\n sameDay : '[Hari ini pukul] LT',\n nextDay : '[Esok pukul] LT',\n nextWeek : 'dddd [pukul] LT',\n lastDay : '[Kelmarin pukul] LT',\n lastWeek : 'dddd [lepas pukul] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'dalam %s',\n past : '%s yang lepas',\n s : 'beberapa saat',\n ss : '%d saat',\n m : 'seminit',\n mm : '%d minit',\n h : 'sejam',\n hh : '%d jam',\n d : 'sehari',\n dd : '%d hari',\n M : 'sebulan',\n MM : '%d bulan',\n y : 'setahun',\n yy : '%d tahun'\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return msMy;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var ms = moment.defineLocale('ms', {\n months : 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split('_'),\n monthsShort : 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'),\n weekdays : 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'),\n weekdaysShort : 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'),\n weekdaysMin : 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'),\n longDateFormat : {\n LT : 'HH.mm',\n LTS : 'HH.mm.ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY [pukul] HH.mm',\n LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm'\n },\n meridiemParse: /pagi|tengahari|petang|malam/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'pagi') {\n return hour;\n } else if (meridiem === 'tengahari') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'petang' || meridiem === 'malam') {\n return hour + 12;\n }\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'pagi';\n } else if (hours < 15) {\n return 'tengahari';\n } else if (hours < 19) {\n return 'petang';\n } else {\n return 'malam';\n }\n },\n calendar : {\n sameDay : '[Hari ini pukul] LT',\n nextDay : '[Esok pukul] LT',\n nextWeek : 'dddd [pukul] LT',\n lastDay : '[Kelmarin pukul] LT',\n lastWeek : 'dddd [lepas pukul] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'dalam %s',\n past : '%s yang lepas',\n s : 'beberapa saat',\n ss : '%d saat',\n m : 'seminit',\n mm : '%d minit',\n h : 'sejam',\n hh : '%d jam',\n d : 'sehari',\n dd : '%d hari',\n M : 'sebulan',\n MM : '%d bulan',\n y : 'setahun',\n yy : '%d tahun'\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return ms;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '१',\n '2': '२',\n '3': '३',\n '4': '४',\n '5': '५',\n '6': '६',\n '7': '७',\n '8': '८',\n '9': '९',\n '0': '०'\n },\n numberMap = {\n '१': '1',\n '२': '2',\n '३': '3',\n '४': '4',\n '५': '5',\n '६': '6',\n '७': '7',\n '८': '8',\n '९': '9',\n '०': '0'\n };\n\n function relativeTimeMr(number, withoutSuffix, string, isFuture)\n {\n var output = '';\n if (withoutSuffix) {\n switch (string) {\n case 's': output = 'काही सेकंद'; break;\n case 'ss': output = '%d सेकंद'; break;\n case 'm': output = 'एक मिनिट'; break;\n case 'mm': output = '%d मिनिटे'; break;\n case 'h': output = 'एक तास'; break;\n case 'hh': output = '%d तास'; break;\n case 'd': output = 'एक दिवस'; break;\n case 'dd': output = '%d दिवस'; break;\n case 'M': output = 'एक महिना'; break;\n case 'MM': output = '%d महिने'; break;\n case 'y': output = 'एक वर्ष'; break;\n case 'yy': output = '%d वर्षे'; break;\n }\n }\n else {\n switch (string) {\n case 's': output = 'काही सेकंदां'; break;\n case 'ss': output = '%d सेकंदां'; break;\n case 'm': output = 'एका मिनिटा'; break;\n case 'mm': output = '%d मिनिटां'; break;\n case 'h': output = 'एका तासा'; break;\n case 'hh': output = '%d तासां'; break;\n case 'd': output = 'एका दिवसा'; break;\n case 'dd': output = '%d दिवसां'; break;\n case 'M': output = 'एका महिन्या'; break;\n case 'MM': output = '%d महिन्यां'; break;\n case 'y': output = 'एका वर्षा'; break;\n case 'yy': output = '%d वर्षां'; break;\n }\n }\n return output.replace(/%d/i, number);\n }\n\n var mr = moment.defineLocale('mr', {\n months : 'जानेवारी_फेब्रुवारी_मार्च_एप्रिल_मे_जून_जुलै_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर'.split('_'),\n monthsShort: 'जाने._फेब्रु._मार्च._एप्रि._मे._जून._जुलै._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.'.split('_'),\n monthsParseExact : true,\n weekdays : 'रविवार_सोमवार_मंगळवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'),\n weekdaysShort : 'रवि_सोम_मंगळ_बुध_गुरू_शुक्र_शनि'.split('_'),\n weekdaysMin : 'र_सो_मं_बु_गु_शु_श'.split('_'),\n longDateFormat : {\n LT : 'A h:mm वाजता',\n LTS : 'A h:mm:ss वाजता',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, A h:mm वाजता',\n LLLL : 'dddd, D MMMM YYYY, A h:mm वाजता'\n },\n calendar : {\n sameDay : '[आज] LT',\n nextDay : '[उद्या] LT',\n nextWeek : 'dddd, LT',\n lastDay : '[काल] LT',\n lastWeek: '[मागील] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future: '%sमध्ये',\n past: '%sपूर्वी',\n s: relativeTimeMr,\n ss: relativeTimeMr,\n m: relativeTimeMr,\n mm: relativeTimeMr,\n h: relativeTimeMr,\n hh: relativeTimeMr,\n d: relativeTimeMr,\n dd: relativeTimeMr,\n M: relativeTimeMr,\n MM: relativeTimeMr,\n y: relativeTimeMr,\n yy: relativeTimeMr\n },\n preparse: function (string) {\n return string.replace(/[१२३४५६७८९०]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /रात्री|सकाळी|दुपारी|सायंकाळी/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'रात्री') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'सकाळी') {\n return hour;\n } else if (meridiem === 'दुपारी') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'सायंकाळी') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'रात्री';\n } else if (hour < 10) {\n return 'सकाळी';\n } else if (hour < 17) {\n return 'दुपारी';\n } else if (hour < 20) {\n return 'सायंकाळी';\n } else {\n return 'रात्री';\n }\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return mr;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function translate(number, withoutSuffix, key, isFuture) {\n switch (key) {\n case 's':\n return withoutSuffix ? 'хэдхэн секунд' : 'хэдхэн секундын';\n case 'ss':\n return number + (withoutSuffix ? ' секунд' : ' секундын');\n case 'm':\n case 'mm':\n return number + (withoutSuffix ? ' минут' : ' минутын');\n case 'h':\n case 'hh':\n return number + (withoutSuffix ? ' цаг' : ' цагийн');\n case 'd':\n case 'dd':\n return number + (withoutSuffix ? ' өдөр' : ' өдрийн');\n case 'M':\n case 'MM':\n return number + (withoutSuffix ? ' сар' : ' сарын');\n case 'y':\n case 'yy':\n return number + (withoutSuffix ? ' жил' : ' жилийн');\n default:\n return number;\n }\n }\n\n var mn = moment.defineLocale('mn', {\n months : 'Нэгдүгээр сар_Хоёрдугаар сар_Гуравдугаар сар_Дөрөвдүгээр сар_Тавдугаар сар_Зургадугаар сар_Долдугаар сар_Наймдугаар сар_Есдүгээр сар_Аравдугаар сар_Арван нэгдүгээр сар_Арван хоёрдугаар сар'.split('_'),\n monthsShort : '1 сар_2 сар_3 сар_4 сар_5 сар_6 сар_7 сар_8 сар_9 сар_10 сар_11 сар_12 сар'.split('_'),\n monthsParseExact : true,\n weekdays : 'Ням_Даваа_Мягмар_Лхагва_Пүрэв_Баасан_Бямба'.split('_'),\n weekdaysShort : 'Ням_Дав_Мяг_Лха_Пүр_Баа_Бям'.split('_'),\n weekdaysMin : 'Ня_Да_Мя_Лх_Пү_Ба_Бя'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY-MM-DD',\n LL : 'YYYY оны MMMMын D',\n LLL : 'YYYY оны MMMMын D HH:mm',\n LLLL : 'dddd, YYYY оны MMMMын D HH:mm'\n },\n meridiemParse: /ҮӨ|ҮХ/i,\n isPM : function (input) {\n return input === 'ҮХ';\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ҮӨ';\n } else {\n return 'ҮХ';\n }\n },\n calendar : {\n sameDay : '[Өнөөдөр] LT',\n nextDay : '[Маргааш] LT',\n nextWeek : '[Ирэх] dddd LT',\n lastDay : '[Өчигдөр] LT',\n lastWeek : '[Өнгөрсөн] dddd LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s дараа',\n past : '%s өмнө',\n s : translate,\n ss : translate,\n m : translate,\n mm : translate,\n h : translate,\n hh : translate,\n d : translate,\n dd : translate,\n M : translate,\n MM : translate,\n y : translate,\n yy : translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2} өдөр/,\n ordinal : function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + ' өдөр';\n default:\n return number;\n }\n }\n });\n\n return mn;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var ml = moment.defineLocale('ml', {\n months : 'ജനുവരി_ഫെബ്രുവരി_മാർച്ച്_ഏപ്രിൽ_മേയ്_ജൂൺ_ജൂലൈ_ഓഗസ്റ്റ്_സെപ്റ്റംബർ_ഒക്ടോബർ_നവംബർ_ഡിസംബർ'.split('_'),\n monthsShort : 'ജനു._ഫെബ്രു._മാർ._ഏപ്രി._മേയ്_ജൂൺ_ജൂലൈ._ഓഗ._സെപ്റ്റ._ഒക്ടോ._നവം._ഡിസം.'.split('_'),\n monthsParseExact : true,\n weekdays : 'ഞായറാഴ്ച_തിങ്കളാഴ്ച_ചൊവ്വാഴ്ച_ബുധനാഴ്ച_വ്യാഴാഴ്ച_വെള്ളിയാഴ്ച_ശനിയാഴ്ച'.split('_'),\n weekdaysShort : 'ഞായർ_തിങ്കൾ_ചൊവ്വ_ബുധൻ_വ്യാഴം_വെള്ളി_ശനി'.split('_'),\n weekdaysMin : 'ഞാ_തി_ചൊ_ബു_വ്യാ_വെ_ശ'.split('_'),\n longDateFormat : {\n LT : 'A h:mm -നു',\n LTS : 'A h:mm:ss -നു',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, A h:mm -നു',\n LLLL : 'dddd, D MMMM YYYY, A h:mm -നു'\n },\n calendar : {\n sameDay : '[ഇന്ന്] LT',\n nextDay : '[നാളെ] LT',\n nextWeek : 'dddd, LT',\n lastDay : '[ഇന്നലെ] LT',\n lastWeek : '[കഴിഞ്ഞ] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s കഴിഞ്ഞ്',\n past : '%s മുൻപ്',\n s : 'അൽപ നിമിഷങ്ങൾ',\n ss : '%d സെക്കൻഡ്',\n m : 'ഒരു മിനിറ്റ്',\n mm : '%d മിനിറ്റ്',\n h : 'ഒരു മണിക്കൂർ',\n hh : '%d മണിക്കൂർ',\n d : 'ഒരു ദിവസം',\n dd : '%d ദിവസം',\n M : 'ഒരു മാസം',\n MM : '%d മാസം',\n y : 'ഒരു വർഷം',\n yy : '%d വർഷം'\n },\n meridiemParse: /രാത്രി|രാവിലെ|ഉച്ച കഴിഞ്ഞ്|വൈകുന്നേരം|രാത്രി/i,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if ((meridiem === 'രാത്രി' && hour >= 4) ||\n meridiem === 'ഉച്ച കഴിഞ്ഞ്' ||\n meridiem === 'വൈകുന്നേരം') {\n return hour + 12;\n } else {\n return hour;\n }\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'രാത്രി';\n } else if (hour < 12) {\n return 'രാവിലെ';\n } else if (hour < 17) {\n return 'ഉച്ച കഴിഞ്ഞ്';\n } else if (hour < 20) {\n return 'വൈകുന്നേരം';\n } else {\n return 'രാത്രി';\n }\n }\n });\n\n return ml;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var mk = moment.defineLocale('mk', {\n months : 'јануари_февруари_март_април_мај_јуни_јули_август_септември_октомври_ноември_декември'.split('_'),\n monthsShort : 'јан_фев_мар_апр_мај_јун_јул_авг_сеп_окт_ное_дек'.split('_'),\n weekdays : 'недела_понеделник_вторник_среда_четврток_петок_сабота'.split('_'),\n weekdaysShort : 'нед_пон_вто_сре_чет_пет_саб'.split('_'),\n weekdaysMin : 'нe_пo_вт_ср_че_пе_сa'.split('_'),\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'D.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY H:mm',\n LLLL : 'dddd, D MMMM YYYY H:mm'\n },\n calendar : {\n sameDay : '[Денес во] LT',\n nextDay : '[Утре во] LT',\n nextWeek : '[Во] dddd [во] LT',\n lastDay : '[Вчера во] LT',\n lastWeek : function () {\n switch (this.day()) {\n case 0:\n case 3:\n case 6:\n return '[Изминатата] dddd [во] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[Изминатиот] dddd [во] LT';\n }\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'после %s',\n past : 'пред %s',\n s : 'неколку секунди',\n ss : '%d секунди',\n m : 'минута',\n mm : '%d минути',\n h : 'час',\n hh : '%d часа',\n d : 'ден',\n dd : '%d дена',\n M : 'месец',\n MM : '%d месеци',\n y : 'година',\n yy : '%d години'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ев|ен|ти|ви|ри|ми)/,\n ordinal : function (number) {\n var lastDigit = number % 10,\n last2Digits = number % 100;\n if (number === 0) {\n return number + '-ев';\n } else if (last2Digits === 0) {\n return number + '-ен';\n } else if (last2Digits > 10 && last2Digits < 20) {\n return number + '-ти';\n } else if (lastDigit === 1) {\n return number + '-ви';\n } else if (lastDigit === 2) {\n return number + '-ри';\n } else if (lastDigit === 7 || lastDigit === 8) {\n return number + '-ми';\n } else {\n return number + '-ти';\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return mk;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var mi = moment.defineLocale('mi', {\n months: 'Kohi-tāte_Hui-tanguru_Poutū-te-rangi_Paenga-whāwhā_Haratua_Pipiri_Hōngoingoi_Here-turi-kōkā_Mahuru_Whiringa-ā-nuku_Whiringa-ā-rangi_Hakihea'.split('_'),\n monthsShort: 'Kohi_Hui_Pou_Pae_Hara_Pipi_Hōngoi_Here_Mahu_Whi-nu_Whi-ra_Haki'.split('_'),\n monthsRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,\n monthsStrictRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,\n monthsShortRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,\n monthsShortStrictRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,2}/i,\n weekdays: 'Rātapu_Mane_Tūrei_Wenerei_Tāite_Paraire_Hātarei'.split('_'),\n weekdaysShort: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'),\n weekdaysMin: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY [i] HH:mm',\n LLLL: 'dddd, D MMMM YYYY [i] HH:mm'\n },\n calendar: {\n sameDay: '[i teie mahana, i] LT',\n nextDay: '[apopo i] LT',\n nextWeek: 'dddd [i] LT',\n lastDay: '[inanahi i] LT',\n lastWeek: 'dddd [whakamutunga i] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'i roto i %s',\n past: '%s i mua',\n s: 'te hēkona ruarua',\n ss: '%d hēkona',\n m: 'he meneti',\n mm: '%d meneti',\n h: 'te haora',\n hh: '%d haora',\n d: 'he ra',\n dd: '%d ra',\n M: 'he marama',\n MM: '%d marama',\n y: 'he tau',\n yy: '%d tau'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return mi;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var translator = {\n words: { //Different grammatical cases\n ss: ['sekund', 'sekunda', 'sekundi'],\n m: ['jedan minut', 'jednog minuta'],\n mm: ['minut', 'minuta', 'minuta'],\n h: ['jedan sat', 'jednog sata'],\n hh: ['sat', 'sata', 'sati'],\n dd: ['dan', 'dana', 'dana'],\n MM: ['mjesec', 'mjeseca', 'mjeseci'],\n yy: ['godina', 'godine', 'godina']\n },\n correctGrammaticalCase: function (number, wordKey) {\n return number === 1 ? wordKey[0] : (number >= 2 && number <= 4 ? wordKey[1] : wordKey[2]);\n },\n translate: function (number, withoutSuffix, key) {\n var wordKey = translator.words[key];\n if (key.length === 1) {\n return withoutSuffix ? wordKey[0] : wordKey[1];\n } else {\n return number + ' ' + translator.correctGrammaticalCase(number, wordKey);\n }\n }\n };\n\n var me = moment.defineLocale('me', {\n months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split('_'),\n monthsShort: 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split('_'),\n monthsParseExact : true,\n weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split('_'),\n weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact : true,\n longDateFormat: {\n LT: 'H:mm',\n LTS : 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd, D. MMMM YYYY H:mm'\n },\n calendar: {\n sameDay: '[danas u] LT',\n nextDay: '[sjutra u] LT',\n\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[u] [nedjelju] [u] LT';\n case 3:\n return '[u] [srijedu] [u] LT';\n case 6:\n return '[u] [subotu] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay : '[juče u] LT',\n lastWeek : function () {\n var lastWeekDays = [\n '[prošle] [nedjelje] [u] LT',\n '[prošlog] [ponedjeljka] [u] LT',\n '[prošlog] [utorka] [u] LT',\n '[prošle] [srijede] [u] LT',\n '[prošlog] [četvrtka] [u] LT',\n '[prošlog] [petka] [u] LT',\n '[prošle] [subote] [u] LT'\n ];\n return lastWeekDays[this.day()];\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'za %s',\n past : 'prije %s',\n s : 'nekoliko sekundi',\n ss : translator.translate,\n m : translator.translate,\n mm : translator.translate,\n h : translator.translate,\n hh : translator.translate,\n d : 'dan',\n dd : translator.translate,\n M : 'mjesec',\n MM : translator.translate,\n y : 'godinu',\n yy : translator.translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return me;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var units = {\n 'ss': 'sekundes_sekundēm_sekunde_sekundes'.split('_'),\n 'm': 'minūtes_minūtēm_minūte_minūtes'.split('_'),\n 'mm': 'minūtes_minūtēm_minūte_minūtes'.split('_'),\n 'h': 'stundas_stundām_stunda_stundas'.split('_'),\n 'hh': 'stundas_stundām_stunda_stundas'.split('_'),\n 'd': 'dienas_dienām_diena_dienas'.split('_'),\n 'dd': 'dienas_dienām_diena_dienas'.split('_'),\n 'M': 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'),\n 'MM': 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'),\n 'y': 'gada_gadiem_gads_gadi'.split('_'),\n 'yy': 'gada_gadiem_gads_gadi'.split('_')\n };\n /**\n * @param withoutSuffix boolean true = a length of time; false = before/after a period of time.\n */\n function format(forms, number, withoutSuffix) {\n if (withoutSuffix) {\n // E.g. \"21 minūte\", \"3 minūtes\".\n return number % 10 === 1 && number % 100 !== 11 ? forms[2] : forms[3];\n } else {\n // E.g. \"21 minūtes\" as in \"pēc 21 minūtes\".\n // E.g. \"3 minūtēm\" as in \"pēc 3 minūtēm\".\n return number % 10 === 1 && number % 100 !== 11 ? forms[0] : forms[1];\n }\n }\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n return number + ' ' + format(units[key], number, withoutSuffix);\n }\n function relativeTimeWithSingular(number, withoutSuffix, key) {\n return format(units[key], number, withoutSuffix);\n }\n function relativeSeconds(number, withoutSuffix) {\n return withoutSuffix ? 'dažas sekundes' : 'dažām sekundēm';\n }\n\n var lv = moment.defineLocale('lv', {\n months : 'janvāris_februāris_marts_aprīlis_maijs_jūnijs_jūlijs_augusts_septembris_oktobris_novembris_decembris'.split('_'),\n monthsShort : 'jan_feb_mar_apr_mai_jūn_jūl_aug_sep_okt_nov_dec'.split('_'),\n weekdays : 'svētdiena_pirmdiena_otrdiena_trešdiena_ceturtdiena_piektdiena_sestdiena'.split('_'),\n weekdaysShort : 'Sv_P_O_T_C_Pk_S'.split('_'),\n weekdaysMin : 'Sv_P_O_T_C_Pk_S'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY.',\n LL : 'YYYY. [gada] D. MMMM',\n LLL : 'YYYY. [gada] D. MMMM, HH:mm',\n LLLL : 'YYYY. [gada] D. MMMM, dddd, HH:mm'\n },\n calendar : {\n sameDay : '[Šodien pulksten] LT',\n nextDay : '[Rīt pulksten] LT',\n nextWeek : 'dddd [pulksten] LT',\n lastDay : '[Vakar pulksten] LT',\n lastWeek : '[Pagājušā] dddd [pulksten] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'pēc %s',\n past : 'pirms %s',\n s : relativeSeconds,\n ss : relativeTimeWithPlural,\n m : relativeTimeWithSingular,\n mm : relativeTimeWithPlural,\n h : relativeTimeWithSingular,\n hh : relativeTimeWithPlural,\n d : relativeTimeWithSingular,\n dd : relativeTimeWithPlural,\n M : relativeTimeWithSingular,\n MM : relativeTimeWithPlural,\n y : relativeTimeWithSingular,\n yy : relativeTimeWithPlural\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return lv;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var units = {\n 'ss' : 'sekundė_sekundžių_sekundes',\n 'm' : 'minutė_minutės_minutę',\n 'mm': 'minutės_minučių_minutes',\n 'h' : 'valanda_valandos_valandą',\n 'hh': 'valandos_valandų_valandas',\n 'd' : 'diena_dienos_dieną',\n 'dd': 'dienos_dienų_dienas',\n 'M' : 'mėnuo_mėnesio_mėnesį',\n 'MM': 'mėnesiai_mėnesių_mėnesius',\n 'y' : 'metai_metų_metus',\n 'yy': 'metai_metų_metus'\n };\n function translateSeconds(number, withoutSuffix, key, isFuture) {\n if (withoutSuffix) {\n return 'kelios sekundės';\n } else {\n return isFuture ? 'kelių sekundžių' : 'kelias sekundes';\n }\n }\n function translateSingular(number, withoutSuffix, key, isFuture) {\n return withoutSuffix ? forms(key)[0] : (isFuture ? forms(key)[1] : forms(key)[2]);\n }\n function special(number) {\n return number % 10 === 0 || (number > 10 && number < 20);\n }\n function forms(key) {\n return units[key].split('_');\n }\n function translate(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n if (number === 1) {\n return result + translateSingular(number, withoutSuffix, key[0], isFuture);\n } else if (withoutSuffix) {\n return result + (special(number) ? forms(key)[1] : forms(key)[0]);\n } else {\n if (isFuture) {\n return result + forms(key)[1];\n } else {\n return result + (special(number) ? forms(key)[1] : forms(key)[2]);\n }\n }\n }\n var lt = moment.defineLocale('lt', {\n months : {\n format: 'sausio_vasario_kovo_balandžio_gegužės_birželio_liepos_rugpjūčio_rugsėjo_spalio_lapkričio_gruodžio'.split('_'),\n standalone: 'sausis_vasaris_kovas_balandis_gegužė_birželis_liepa_rugpjūtis_rugsėjis_spalis_lapkritis_gruodis'.split('_'),\n isFormat: /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?|MMMM?(\\[[^\\[\\]]*\\]|\\s)+D[oD]?/\n },\n monthsShort : 'sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd'.split('_'),\n weekdays : {\n format: 'sekmadienį_pirmadienį_antradienį_trečiadienį_ketvirtadienį_penktadienį_šeštadienį'.split('_'),\n standalone: 'sekmadienis_pirmadienis_antradienis_trečiadienis_ketvirtadienis_penktadienis_šeštadienis'.split('_'),\n isFormat: /dddd HH:mm/\n },\n weekdaysShort : 'Sek_Pir_Ant_Tre_Ket_Pen_Šeš'.split('_'),\n weekdaysMin : 'S_P_A_T_K_Pn_Š'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY-MM-DD',\n LL : 'YYYY [m.] MMMM D [d.]',\n LLL : 'YYYY [m.] MMMM D [d.], HH:mm [val.]',\n LLLL : 'YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]',\n l : 'YYYY-MM-DD',\n ll : 'YYYY [m.] MMMM D [d.]',\n lll : 'YYYY [m.] MMMM D [d.], HH:mm [val.]',\n llll : 'YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]'\n },\n calendar : {\n sameDay : '[Šiandien] LT',\n nextDay : '[Rytoj] LT',\n nextWeek : 'dddd LT',\n lastDay : '[Vakar] LT',\n lastWeek : '[Praėjusį] dddd LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'po %s',\n past : 'prieš %s',\n s : translateSeconds,\n ss : translate,\n m : translateSingular,\n mm : translate,\n h : translateSingular,\n hh : translate,\n d : translateSingular,\n dd : translate,\n M : translateSingular,\n MM : translate,\n y : translateSingular,\n yy : translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-oji/,\n ordinal : function (number) {\n return number + '-oji';\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return lt;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var lo = moment.defineLocale('lo', {\n months : 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split('_'),\n monthsShort : 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split('_'),\n weekdays : 'ອາທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'),\n weekdaysShort : 'ທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'),\n weekdaysMin : 'ທ_ຈ_ອຄ_ພ_ພຫ_ສກ_ສ'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'ວັນdddd D MMMM YYYY HH:mm'\n },\n meridiemParse: /ຕອນເຊົ້າ|ຕອນແລງ/,\n isPM: function (input) {\n return input === 'ຕອນແລງ';\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ຕອນເຊົ້າ';\n } else {\n return 'ຕອນແລງ';\n }\n },\n calendar : {\n sameDay : '[ມື້ນີ້ເວລາ] LT',\n nextDay : '[ມື້ອື່ນເວລາ] LT',\n nextWeek : '[ວັນ]dddd[ໜ້າເວລາ] LT',\n lastDay : '[ມື້ວານນີ້ເວລາ] LT',\n lastWeek : '[ວັນ]dddd[ແລ້ວນີ້ເວລາ] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'ອີກ %s',\n past : '%sຜ່ານມາ',\n s : 'ບໍ່ເທົ່າໃດວິນາທີ',\n ss : '%d ວິນາທີ' ,\n m : '1 ນາທີ',\n mm : '%d ນາທີ',\n h : '1 ຊົ່ວໂມງ',\n hh : '%d ຊົ່ວໂມງ',\n d : '1 ມື້',\n dd : '%d ມື້',\n M : '1 ເດືອນ',\n MM : '%d ເດືອນ',\n y : '1 ປີ',\n yy : '%d ປີ'\n },\n dayOfMonthOrdinalParse: /(ທີ່)\\d{1,2}/,\n ordinal : function (number) {\n return 'ທີ່' + number;\n }\n });\n\n return lo;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n 'm': ['eng Minutt', 'enger Minutt'],\n 'h': ['eng Stonn', 'enger Stonn'],\n 'd': ['een Dag', 'engem Dag'],\n 'M': ['ee Mount', 'engem Mount'],\n 'y': ['ee Joer', 'engem Joer']\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n function processFutureTime(string) {\n var number = string.substr(0, string.indexOf(' '));\n if (eifelerRegelAppliesToNumber(number)) {\n return 'a ' + string;\n }\n return 'an ' + string;\n }\n function processPastTime(string) {\n var number = string.substr(0, string.indexOf(' '));\n if (eifelerRegelAppliesToNumber(number)) {\n return 'viru ' + string;\n }\n return 'virun ' + string;\n }\n /**\n * Returns true if the word before the given number loses the '-n' ending.\n * e.g. 'an 10 Deeg' but 'a 5 Deeg'\n *\n * @param number {integer}\n * @returns {boolean}\n */\n function eifelerRegelAppliesToNumber(number) {\n number = parseInt(number, 10);\n if (isNaN(number)) {\n return false;\n }\n if (number < 0) {\n // Negative Number --> always true\n return true;\n } else if (number < 10) {\n // Only 1 digit\n if (4 <= number && number <= 7) {\n return true;\n }\n return false;\n } else if (number < 100) {\n // 2 digits\n var lastDigit = number % 10, firstDigit = number / 10;\n if (lastDigit === 0) {\n return eifelerRegelAppliesToNumber(firstDigit);\n }\n return eifelerRegelAppliesToNumber(lastDigit);\n } else if (number < 10000) {\n // 3 or 4 digits --> recursively check first digit\n while (number >= 10) {\n number = number / 10;\n }\n return eifelerRegelAppliesToNumber(number);\n } else {\n // Anything larger than 4 digits: recursively check first n-3 digits\n number = number / 1000;\n return eifelerRegelAppliesToNumber(number);\n }\n }\n\n var lb = moment.defineLocale('lb', {\n months: 'Januar_Februar_Mäerz_Abrëll_Mee_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),\n monthsShort: 'Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.'.split('_'),\n monthsParseExact : true,\n weekdays: 'Sonndeg_Méindeg_Dënschdeg_Mëttwoch_Donneschdeg_Freideg_Samschdeg'.split('_'),\n weekdaysShort: 'So._Mé._Dë._Më._Do._Fr._Sa.'.split('_'),\n weekdaysMin: 'So_Mé_Dë_Më_Do_Fr_Sa'.split('_'),\n weekdaysParseExact : true,\n longDateFormat: {\n LT: 'H:mm [Auer]',\n LTS: 'H:mm:ss [Auer]',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm [Auer]',\n LLLL: 'dddd, D. MMMM YYYY H:mm [Auer]'\n },\n calendar: {\n sameDay: '[Haut um] LT',\n sameElse: 'L',\n nextDay: '[Muer um] LT',\n nextWeek: 'dddd [um] LT',\n lastDay: '[Gëschter um] LT',\n lastWeek: function () {\n // Different date string for 'Dënschdeg' (Tuesday) and 'Donneschdeg' (Thursday) due to phonological rule\n switch (this.day()) {\n case 2:\n case 4:\n return '[Leschten] dddd [um] LT';\n default:\n return '[Leschte] dddd [um] LT';\n }\n }\n },\n relativeTime : {\n future : processFutureTime,\n past : processPastTime,\n s : 'e puer Sekonnen',\n ss : '%d Sekonnen',\n m : processRelativeTime,\n mm : '%d Minutten',\n h : processRelativeTime,\n hh : '%d Stonnen',\n d : processRelativeTime,\n dd : '%d Deeg',\n M : processRelativeTime,\n MM : '%d Méint',\n y : processRelativeTime,\n yy : '%d Joer'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return lb;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var suffixes = {\n 0: '-чү',\n 1: '-чи',\n 2: '-чи',\n 3: '-чү',\n 4: '-чү',\n 5: '-чи',\n 6: '-чы',\n 7: '-чи',\n 8: '-чи',\n 9: '-чу',\n 10: '-чу',\n 20: '-чы',\n 30: '-чу',\n 40: '-чы',\n 50: '-чү',\n 60: '-чы',\n 70: '-чи',\n 80: '-чи',\n 90: '-чу',\n 100: '-чү'\n };\n\n var ky = moment.defineLocale('ky', {\n months : 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split('_'),\n monthsShort : 'янв_фев_март_апр_май_июнь_июль_авг_сен_окт_ноя_дек'.split('_'),\n weekdays : 'Жекшемби_Дүйшөмбү_Шейшемби_Шаршемби_Бейшемби_Жума_Ишемби'.split('_'),\n weekdaysShort : 'Жек_Дүй_Шей_Шар_Бей_Жум_Ише'.split('_'),\n weekdaysMin : 'Жк_Дй_Шй_Шр_Бй_Жм_Иш'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Бүгүн саат] LT',\n nextDay : '[Эртең саат] LT',\n nextWeek : 'dddd [саат] LT',\n lastDay : '[Кече саат] LT',\n lastWeek : '[Өткен аптанын] dddd [күнү] [саат] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s ичинде',\n past : '%s мурун',\n s : 'бирнече секунд',\n ss : '%d секунд',\n m : 'бир мүнөт',\n mm : '%d мүнөт',\n h : 'бир саат',\n hh : '%d саат',\n d : 'бир күн',\n dd : '%d күн',\n M : 'бир ай',\n MM : '%d ай',\n y : 'бир жыл',\n yy : '%d жыл'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(чи|чы|чү|чу)/,\n ordinal : function (number) {\n var a = number % 10,\n b = number >= 100 ? 100 : null;\n return number + (suffixes[number] || suffixes[a] || suffixes[b]);\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return ky;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var ko = moment.defineLocale('ko', {\n months : '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split('_'),\n monthsShort : '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split('_'),\n weekdays : '일요일_월요일_화요일_수요일_목요일_금요일_토요일'.split('_'),\n weekdaysShort : '일_월_화_수_목_금_토'.split('_'),\n weekdaysMin : '일_월_화_수_목_금_토'.split('_'),\n longDateFormat : {\n LT : 'A h:mm',\n LTS : 'A h:mm:ss',\n L : 'YYYY.MM.DD.',\n LL : 'YYYY년 MMMM D일',\n LLL : 'YYYY년 MMMM D일 A h:mm',\n LLLL : 'YYYY년 MMMM D일 dddd A h:mm',\n l : 'YYYY.MM.DD.',\n ll : 'YYYY년 MMMM D일',\n lll : 'YYYY년 MMMM D일 A h:mm',\n llll : 'YYYY년 MMMM D일 dddd A h:mm'\n },\n calendar : {\n sameDay : '오늘 LT',\n nextDay : '내일 LT',\n nextWeek : 'dddd LT',\n lastDay : '어제 LT',\n lastWeek : '지난주 dddd LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s 후',\n past : '%s 전',\n s : '몇 초',\n ss : '%d초',\n m : '1분',\n mm : '%d분',\n h : '한 시간',\n hh : '%d시간',\n d : '하루',\n dd : '%d일',\n M : '한 달',\n MM : '%d달',\n y : '일 년',\n yy : '%d년'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}(일|월|주)/,\n ordinal : function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '일';\n case 'M':\n return number + '월';\n case 'w':\n case 'W':\n return number + '주';\n default:\n return number;\n }\n },\n meridiemParse : /오전|오후/,\n isPM : function (token) {\n return token === '오후';\n },\n meridiem : function (hour, minute, isUpper) {\n return hour < 12 ? '오전' : '오후';\n }\n });\n\n return ko;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '೧',\n '2': '೨',\n '3': '೩',\n '4': '೪',\n '5': '೫',\n '6': '೬',\n '7': '೭',\n '8': '೮',\n '9': '೯',\n '0': '೦'\n },\n numberMap = {\n '೧': '1',\n '೨': '2',\n '೩': '3',\n '೪': '4',\n '೫': '5',\n '೬': '6',\n '೭': '7',\n '೮': '8',\n '೯': '9',\n '೦': '0'\n };\n\n var kn = moment.defineLocale('kn', {\n months : 'ಜನವರಿ_ಫೆಬ್ರವರಿ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂಬರ್_ಅಕ್ಟೋಬರ್_ನವೆಂಬರ್_ಡಿಸೆಂಬರ್'.split('_'),\n monthsShort : 'ಜನ_ಫೆಬ್ರ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂ_ಅಕ್ಟೋ_ನವೆಂ_ಡಿಸೆಂ'.split('_'),\n monthsParseExact: true,\n weekdays : 'ಭಾನುವಾರ_ಸೋಮವಾರ_ಮಂಗಳವಾರ_ಬುಧವಾರ_ಗುರುವಾರ_ಶುಕ್ರವಾರ_ಶನಿವಾರ'.split('_'),\n weekdaysShort : 'ಭಾನು_ಸೋಮ_ಮಂಗಳ_ಬುಧ_ಗುರು_ಶುಕ್ರ_ಶನಿ'.split('_'),\n weekdaysMin : 'ಭಾ_ಸೋ_ಮಂ_ಬು_ಗು_ಶು_ಶ'.split('_'),\n longDateFormat : {\n LT : 'A h:mm',\n LTS : 'A h:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, A h:mm',\n LLLL : 'dddd, D MMMM YYYY, A h:mm'\n },\n calendar : {\n sameDay : '[ಇಂದು] LT',\n nextDay : '[ನಾಳೆ] LT',\n nextWeek : 'dddd, LT',\n lastDay : '[ನಿನ್ನೆ] LT',\n lastWeek : '[ಕೊನೆಯ] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s ನಂತರ',\n past : '%s ಹಿಂದೆ',\n s : 'ಕೆಲವು ಕ್ಷಣಗಳು',\n ss : '%d ಸೆಕೆಂಡುಗಳು',\n m : 'ಒಂದು ನಿಮಿಷ',\n mm : '%d ನಿಮಿಷ',\n h : 'ಒಂದು ಗಂಟೆ',\n hh : '%d ಗಂಟೆ',\n d : 'ಒಂದು ದಿನ',\n dd : '%d ದಿನ',\n M : 'ಒಂದು ತಿಂಗಳು',\n MM : '%d ತಿಂಗಳು',\n y : 'ಒಂದು ವರ್ಷ',\n yy : '%d ವರ್ಷ'\n },\n preparse: function (string) {\n return string.replace(/[೧೨೩೪೫೬೭೮೯೦]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /ರಾತ್ರಿ|ಬೆಳಿಗ್ಗೆ|ಮಧ್ಯಾಹ್ನ|ಸಂಜೆ/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'ರಾತ್ರಿ') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'ಬೆಳಿಗ್ಗೆ') {\n return hour;\n } else if (meridiem === 'ಮಧ್ಯಾಹ್ನ') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'ಸಂಜೆ') {\n return hour + 12;\n }\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ರಾತ್ರಿ';\n } else if (hour < 10) {\n return 'ಬೆಳಿಗ್ಗೆ';\n } else if (hour < 17) {\n return 'ಮಧ್ಯಾಹ್ನ';\n } else if (hour < 20) {\n return 'ಸಂಜೆ';\n } else {\n return 'ರಾತ್ರಿ';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ನೇ)/,\n ordinal : function (number) {\n return number + 'ನೇ';\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return kn;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '១',\n '2': '២',\n '3': '៣',\n '4': '៤',\n '5': '៥',\n '6': '៦',\n '7': '៧',\n '8': '៨',\n '9': '៩',\n '0': '០'\n }, numberMap = {\n '១': '1',\n '២': '2',\n '៣': '3',\n '៤': '4',\n '៥': '5',\n '៦': '6',\n '៧': '7',\n '៨': '8',\n '៩': '9',\n '០': '0'\n };\n\n var km = moment.defineLocale('km', {\n months: 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split(\n '_'\n ),\n monthsShort: 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split(\n '_'\n ),\n weekdays: 'អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍'.split('_'),\n weekdaysShort: 'អា_ច_អ_ព_ព្រ_សុ_ស'.split('_'),\n weekdaysMin: 'អា_ច_អ_ព_ព្រ_សុ_ស'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n meridiemParse: /ព្រឹក|ល្ងាច/,\n isPM: function (input) {\n return input === 'ល្ងាច';\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ព្រឹក';\n } else {\n return 'ល្ងាច';\n }\n },\n calendar: {\n sameDay: '[ថ្ងៃនេះ ម៉ោង] LT',\n nextDay: '[ស្អែក ម៉ោង] LT',\n nextWeek: 'dddd [ម៉ោង] LT',\n lastDay: '[ម្សិលមិញ ម៉ោង] LT',\n lastWeek: 'dddd [សប្តាហ៍មុន] [ម៉ោង] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%sទៀត',\n past: '%sមុន',\n s: 'ប៉ុន្មានវិនាទី',\n ss: '%d វិនាទី',\n m: 'មួយនាទី',\n mm: '%d នាទី',\n h: 'មួយម៉ោង',\n hh: '%d ម៉ោង',\n d: 'មួយថ្ងៃ',\n dd: '%d ថ្ងៃ',\n M: 'មួយខែ',\n MM: '%d ខែ',\n y: 'មួយឆ្នាំ',\n yy: '%d ឆ្នាំ'\n },\n dayOfMonthOrdinalParse : /ទី\\d{1,2}/,\n ordinal : 'ទី%d',\n preparse: function (string) {\n return string.replace(/[១២៣៤៥៦៧៨៩០]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return km;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var suffixes = {\n 0: '-ші',\n 1: '-ші',\n 2: '-ші',\n 3: '-ші',\n 4: '-ші',\n 5: '-ші',\n 6: '-шы',\n 7: '-ші',\n 8: '-ші',\n 9: '-шы',\n 10: '-шы',\n 20: '-шы',\n 30: '-шы',\n 40: '-шы',\n 50: '-ші',\n 60: '-шы',\n 70: '-ші',\n 80: '-ші',\n 90: '-шы',\n 100: '-ші'\n };\n\n var kk = moment.defineLocale('kk', {\n months : 'қаңтар_ақпан_наурыз_сәуір_мамыр_маусым_шілде_тамыз_қыркүйек_қазан_қараша_желтоқсан'.split('_'),\n monthsShort : 'қаң_ақп_нау_сәу_мам_мау_шіл_там_қыр_қаз_қар_жел'.split('_'),\n weekdays : 'жексенбі_дүйсенбі_сейсенбі_сәрсенбі_бейсенбі_жұма_сенбі'.split('_'),\n weekdaysShort : 'жек_дүй_сей_сәр_бей_жұм_сен'.split('_'),\n weekdaysMin : 'жк_дй_сй_ср_бй_жм_сн'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Бүгін сағат] LT',\n nextDay : '[Ертең сағат] LT',\n nextWeek : 'dddd [сағат] LT',\n lastDay : '[Кеше сағат] LT',\n lastWeek : '[Өткен аптаның] dddd [сағат] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s ішінде',\n past : '%s бұрын',\n s : 'бірнеше секунд',\n ss : '%d секунд',\n m : 'бір минут',\n mm : '%d минут',\n h : 'бір сағат',\n hh : '%d сағат',\n d : 'бір күн',\n dd : '%d күн',\n M : 'бір ай',\n MM : '%d ай',\n y : 'бір жыл',\n yy : '%d жыл'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ші|шы)/,\n ordinal : function (number) {\n var a = number % 10,\n b = number >= 100 ? 100 : null;\n return number + (suffixes[number] || suffixes[a] || suffixes[b]);\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return kk;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var ka = moment.defineLocale('ka', {\n months : {\n standalone: 'იანვარი_თებერვალი_მარტი_აპრილი_მაისი_ივნისი_ივლისი_აგვისტო_სექტემბერი_ოქტომბერი_ნოემბერი_დეკემბერი'.split('_'),\n format: 'იანვარს_თებერვალს_მარტს_აპრილის_მაისს_ივნისს_ივლისს_აგვისტს_სექტემბერს_ოქტომბერს_ნოემბერს_დეკემბერს'.split('_')\n },\n monthsShort : 'იან_თებ_მარ_აპრ_მაი_ივნ_ივლ_აგვ_სექ_ოქტ_ნოე_დეკ'.split('_'),\n weekdays : {\n standalone: 'კვირა_ორშაბათი_სამშაბათი_ოთხშაბათი_ხუთშაბათი_პარასკევი_შაბათი'.split('_'),\n format: 'კვირას_ორშაბათს_სამშაბათს_ოთხშაბათს_ხუთშაბათს_პარასკევს_შაბათს'.split('_'),\n isFormat: /(წინა|შემდეგ)/\n },\n weekdaysShort : 'კვი_ორშ_სამ_ოთხ_ხუთ_პარ_შაბ'.split('_'),\n weekdaysMin : 'კვ_ორ_სა_ოთ_ხუ_პა_შა'.split('_'),\n longDateFormat : {\n LT : 'h:mm A',\n LTS : 'h:mm:ss A',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY h:mm A',\n LLLL : 'dddd, D MMMM YYYY h:mm A'\n },\n calendar : {\n sameDay : '[დღეს] LT[-ზე]',\n nextDay : '[ხვალ] LT[-ზე]',\n lastDay : '[გუშინ] LT[-ზე]',\n nextWeek : '[შემდეგ] dddd LT[-ზე]',\n lastWeek : '[წინა] dddd LT-ზე',\n sameElse : 'L'\n },\n relativeTime : {\n future : function (s) {\n return (/(წამი|წუთი|საათი|წელი)/).test(s) ?\n s.replace(/ი$/, 'ში') :\n s + 'ში';\n },\n past : function (s) {\n if ((/(წამი|წუთი|საათი|დღე|თვე)/).test(s)) {\n return s.replace(/(ი|ე)$/, 'ის წინ');\n }\n if ((/წელი/).test(s)) {\n return s.replace(/წელი$/, 'წლის წინ');\n }\n },\n s : 'რამდენიმე წამი',\n ss : '%d წამი',\n m : 'წუთი',\n mm : '%d წუთი',\n h : 'საათი',\n hh : '%d საათი',\n d : 'დღე',\n dd : '%d დღე',\n M : 'თვე',\n MM : '%d თვე',\n y : 'წელი',\n yy : '%d წელი'\n },\n dayOfMonthOrdinalParse: /0|1-ლი|მე-\\d{1,2}|\\d{1,2}-ე/,\n ordinal : function (number) {\n if (number === 0) {\n return number;\n }\n if (number === 1) {\n return number + '-ლი';\n }\n if ((number < 20) || (number <= 100 && (number % 20 === 0)) || (number % 100 === 0)) {\n return 'მე-' + number;\n }\n return number + '-ე';\n },\n week : {\n dow : 1,\n doy : 7\n }\n });\n\n return ka;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var jv = moment.defineLocale('jv', {\n months : 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember'.split('_'),\n monthsShort : 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des'.split('_'),\n weekdays : 'Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu'.split('_'),\n weekdaysShort : 'Min_Sen_Sel_Reb_Kem_Jem_Sep'.split('_'),\n weekdaysMin : 'Mg_Sn_Sl_Rb_Km_Jm_Sp'.split('_'),\n longDateFormat : {\n LT : 'HH.mm',\n LTS : 'HH.mm.ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY [pukul] HH.mm',\n LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm'\n },\n meridiemParse: /enjing|siyang|sonten|ndalu/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'enjing') {\n return hour;\n } else if (meridiem === 'siyang') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'sonten' || meridiem === 'ndalu') {\n return hour + 12;\n }\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'enjing';\n } else if (hours < 15) {\n return 'siyang';\n } else if (hours < 19) {\n return 'sonten';\n } else {\n return 'ndalu';\n }\n },\n calendar : {\n sameDay : '[Dinten puniko pukul] LT',\n nextDay : '[Mbenjang pukul] LT',\n nextWeek : 'dddd [pukul] LT',\n lastDay : '[Kala wingi pukul] LT',\n lastWeek : 'dddd [kepengker pukul] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'wonten ing %s',\n past : '%s ingkang kepengker',\n s : 'sawetawis detik',\n ss : '%d detik',\n m : 'setunggal menit',\n mm : '%d menit',\n h : 'setunggal jam',\n hh : '%d jam',\n d : 'sedinten',\n dd : '%d dinten',\n M : 'sewulan',\n MM : '%d wulan',\n y : 'setaun',\n yy : '%d taun'\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return jv;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var ja = moment.defineLocale('ja', {\n months : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n monthsShort : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n weekdays : '日曜日_月曜日_火曜日_水曜日_木曜日_金曜日_土曜日'.split('_'),\n weekdaysShort : '日_月_火_水_木_金_土'.split('_'),\n weekdaysMin : '日_月_火_水_木_金_土'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY/MM/DD',\n LL : 'YYYY年M月D日',\n LLL : 'YYYY年M月D日 HH:mm',\n LLLL : 'YYYY年M月D日 dddd HH:mm',\n l : 'YYYY/MM/DD',\n ll : 'YYYY年M月D日',\n lll : 'YYYY年M月D日 HH:mm',\n llll : 'YYYY年M月D日(ddd) HH:mm'\n },\n meridiemParse: /午前|午後/i,\n isPM : function (input) {\n return input === '午後';\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return '午前';\n } else {\n return '午後';\n }\n },\n calendar : {\n sameDay : '[今日] LT',\n nextDay : '[明日] LT',\n nextWeek : function (now) {\n if (now.week() < this.week()) {\n return '[来週]dddd LT';\n } else {\n return 'dddd LT';\n }\n },\n lastDay : '[昨日] LT',\n lastWeek : function (now) {\n if (this.week() < now.week()) {\n return '[先週]dddd LT';\n } else {\n return 'dddd LT';\n }\n },\n sameElse : 'L'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}日/,\n ordinal : function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '日';\n default:\n return number;\n }\n },\n relativeTime : {\n future : '%s後',\n past : '%s前',\n s : '数秒',\n ss : '%d秒',\n m : '1分',\n mm : '%d分',\n h : '1時間',\n hh : '%d時間',\n d : '1日',\n dd : '%d日',\n M : '1ヶ月',\n MM : '%dヶ月',\n y : '1年',\n yy : '%d年'\n }\n });\n\n return ja;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var it = moment.defineLocale('it', {\n months : 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split('_'),\n monthsShort : 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'),\n weekdays : 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split('_'),\n weekdaysShort : 'dom_lun_mar_mer_gio_ven_sab'.split('_'),\n weekdaysMin : 'do_lu_ma_me_gi_ve_sa'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[Oggi alle] LT',\n nextDay: '[Domani alle] LT',\n nextWeek: 'dddd [alle] LT',\n lastDay: '[Ieri alle] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[la scorsa] dddd [alle] LT';\n default:\n return '[lo scorso] dddd [alle] LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : function (s) {\n return ((/^[0-9].+$/).test(s) ? 'tra' : 'in') + ' ' + s;\n },\n past : '%s fa',\n s : 'alcuni secondi',\n ss : '%d secondi',\n m : 'un minuto',\n mm : '%d minuti',\n h : 'un\\'ora',\n hh : '%d ore',\n d : 'un giorno',\n dd : '%d giorni',\n M : 'un mese',\n MM : '%d mesi',\n y : 'un anno',\n yy : '%d anni'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}º/,\n ordinal: '%dº',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return it;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function plural(n) {\n if (n % 100 === 11) {\n return true;\n } else if (n % 10 === 1) {\n return false;\n }\n return true;\n }\n function translate(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n switch (key) {\n case 's':\n return withoutSuffix || isFuture ? 'nokkrar sekúndur' : 'nokkrum sekúndum';\n case 'ss':\n if (plural(number)) {\n return result + (withoutSuffix || isFuture ? 'sekúndur' : 'sekúndum');\n }\n return result + 'sekúnda';\n case 'm':\n return withoutSuffix ? 'mínúta' : 'mínútu';\n case 'mm':\n if (plural(number)) {\n return result + (withoutSuffix || isFuture ? 'mínútur' : 'mínútum');\n } else if (withoutSuffix) {\n return result + 'mínúta';\n }\n return result + 'mínútu';\n case 'hh':\n if (plural(number)) {\n return result + (withoutSuffix || isFuture ? 'klukkustundir' : 'klukkustundum');\n }\n return result + 'klukkustund';\n case 'd':\n if (withoutSuffix) {\n return 'dagur';\n }\n return isFuture ? 'dag' : 'degi';\n case 'dd':\n if (plural(number)) {\n if (withoutSuffix) {\n return result + 'dagar';\n }\n return result + (isFuture ? 'daga' : 'dögum');\n } else if (withoutSuffix) {\n return result + 'dagur';\n }\n return result + (isFuture ? 'dag' : 'degi');\n case 'M':\n if (withoutSuffix) {\n return 'mánuður';\n }\n return isFuture ? 'mánuð' : 'mánuði';\n case 'MM':\n if (plural(number)) {\n if (withoutSuffix) {\n return result + 'mánuðir';\n }\n return result + (isFuture ? 'mánuði' : 'mánuðum');\n } else if (withoutSuffix) {\n return result + 'mánuður';\n }\n return result + (isFuture ? 'mánuð' : 'mánuði');\n case 'y':\n return withoutSuffix || isFuture ? 'ár' : 'ári';\n case 'yy':\n if (plural(number)) {\n return result + (withoutSuffix || isFuture ? 'ár' : 'árum');\n }\n return result + (withoutSuffix || isFuture ? 'ár' : 'ári');\n }\n }\n\n var is = moment.defineLocale('is', {\n months : 'janúar_febrúar_mars_apríl_maí_júní_júlí_ágúst_september_október_nóvember_desember'.split('_'),\n monthsShort : 'jan_feb_mar_apr_maí_jún_júl_ágú_sep_okt_nóv_des'.split('_'),\n weekdays : 'sunnudagur_mánudagur_þriðjudagur_miðvikudagur_fimmtudagur_föstudagur_laugardagur'.split('_'),\n weekdaysShort : 'sun_mán_þri_mið_fim_fös_lau'.split('_'),\n weekdaysMin : 'Su_Má_Þr_Mi_Fi_Fö_La'.split('_'),\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY [kl.] H:mm',\n LLLL : 'dddd, D. MMMM YYYY [kl.] H:mm'\n },\n calendar : {\n sameDay : '[í dag kl.] LT',\n nextDay : '[á morgun kl.] LT',\n nextWeek : 'dddd [kl.] LT',\n lastDay : '[í gær kl.] LT',\n lastWeek : '[síðasta] dddd [kl.] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'eftir %s',\n past : 'fyrir %s síðan',\n s : translate,\n ss : translate,\n m : translate,\n mm : translate,\n h : 'klukkustund',\n hh : translate,\n d : translate,\n dd : translate,\n M : translate,\n MM : translate,\n y : translate,\n yy : translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return is;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var id = moment.defineLocale('id', {\n months : 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember'.split('_'),\n monthsShort : 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Agt_Sep_Okt_Nov_Des'.split('_'),\n weekdays : 'Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu'.split('_'),\n weekdaysShort : 'Min_Sen_Sel_Rab_Kam_Jum_Sab'.split('_'),\n weekdaysMin : 'Mg_Sn_Sl_Rb_Km_Jm_Sb'.split('_'),\n longDateFormat : {\n LT : 'HH.mm',\n LTS : 'HH.mm.ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY [pukul] HH.mm',\n LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm'\n },\n meridiemParse: /pagi|siang|sore|malam/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'pagi') {\n return hour;\n } else if (meridiem === 'siang') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'sore' || meridiem === 'malam') {\n return hour + 12;\n }\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'pagi';\n } else if (hours < 15) {\n return 'siang';\n } else if (hours < 19) {\n return 'sore';\n } else {\n return 'malam';\n }\n },\n calendar : {\n sameDay : '[Hari ini pukul] LT',\n nextDay : '[Besok pukul] LT',\n nextWeek : 'dddd [pukul] LT',\n lastDay : '[Kemarin pukul] LT',\n lastWeek : 'dddd [lalu pukul] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'dalam %s',\n past : '%s yang lalu',\n s : 'beberapa detik',\n ss : '%d detik',\n m : 'semenit',\n mm : '%d menit',\n h : 'sejam',\n hh : '%d jam',\n d : 'sehari',\n dd : '%d hari',\n M : 'sebulan',\n MM : '%d bulan',\n y : 'setahun',\n yy : '%d tahun'\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return id;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var hyAm = moment.defineLocale('hy-am', {\n months : {\n format: 'հունվարի_փետրվարի_մարտի_ապրիլի_մայիսի_հունիսի_հուլիսի_օգոստոսի_սեպտեմբերի_հոկտեմբերի_նոյեմբերի_դեկտեմբերի'.split('_'),\n standalone: 'հունվար_փետրվար_մարտ_ապրիլ_մայիս_հունիս_հուլիս_օգոստոս_սեպտեմբեր_հոկտեմբեր_նոյեմբեր_դեկտեմբեր'.split('_')\n },\n monthsShort : 'հնվ_փտր_մրտ_ապր_մյս_հնս_հլս_օգս_սպտ_հկտ_նմբ_դկտ'.split('_'),\n weekdays : 'կիրակի_երկուշաբթի_երեքշաբթի_չորեքշաբթի_հինգշաբթի_ուրբաթ_շաբաթ'.split('_'),\n weekdaysShort : 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'),\n weekdaysMin : 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY թ.',\n LLL : 'D MMMM YYYY թ., HH:mm',\n LLLL : 'dddd, D MMMM YYYY թ., HH:mm'\n },\n calendar : {\n sameDay: '[այսօր] LT',\n nextDay: '[վաղը] LT',\n lastDay: '[երեկ] LT',\n nextWeek: function () {\n return 'dddd [օրը ժամը] LT';\n },\n lastWeek: function () {\n return '[անցած] dddd [օրը ժամը] LT';\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : '%s հետո',\n past : '%s առաջ',\n s : 'մի քանի վայրկյան',\n ss : '%d վայրկյան',\n m : 'րոպե',\n mm : '%d րոպե',\n h : 'ժամ',\n hh : '%d ժամ',\n d : 'օր',\n dd : '%d օր',\n M : 'ամիս',\n MM : '%d ամիս',\n y : 'տարի',\n yy : '%d տարի'\n },\n meridiemParse: /գիշերվա|առավոտվա|ցերեկվա|երեկոյան/,\n isPM: function (input) {\n return /^(ցերեկվա|երեկոյան)$/.test(input);\n },\n meridiem : function (hour) {\n if (hour < 4) {\n return 'գիշերվա';\n } else if (hour < 12) {\n return 'առավոտվա';\n } else if (hour < 17) {\n return 'ցերեկվա';\n } else {\n return 'երեկոյան';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}|\\d{1,2}-(ին|րդ)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'DDD':\n case 'w':\n case 'W':\n case 'DDDo':\n if (number === 1) {\n return number + '-ին';\n }\n return number + '-րդ';\n default:\n return number;\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return hyAm;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var weekEndings = 'vasárnap hétfőn kedden szerdán csütörtökön pénteken szombaton'.split(' ');\n function translate(number, withoutSuffix, key, isFuture) {\n var num = number;\n switch (key) {\n case 's':\n return (isFuture || withoutSuffix) ? 'néhány másodperc' : 'néhány másodperce';\n case 'ss':\n return num + (isFuture || withoutSuffix) ? ' másodperc' : ' másodperce';\n case 'm':\n return 'egy' + (isFuture || withoutSuffix ? ' perc' : ' perce');\n case 'mm':\n return num + (isFuture || withoutSuffix ? ' perc' : ' perce');\n case 'h':\n return 'egy' + (isFuture || withoutSuffix ? ' óra' : ' órája');\n case 'hh':\n return num + (isFuture || withoutSuffix ? ' óra' : ' órája');\n case 'd':\n return 'egy' + (isFuture || withoutSuffix ? ' nap' : ' napja');\n case 'dd':\n return num + (isFuture || withoutSuffix ? ' nap' : ' napja');\n case 'M':\n return 'egy' + (isFuture || withoutSuffix ? ' hónap' : ' hónapja');\n case 'MM':\n return num + (isFuture || withoutSuffix ? ' hónap' : ' hónapja');\n case 'y':\n return 'egy' + (isFuture || withoutSuffix ? ' év' : ' éve');\n case 'yy':\n return num + (isFuture || withoutSuffix ? ' év' : ' éve');\n }\n return '';\n }\n function week(isFuture) {\n return (isFuture ? '' : '[múlt] ') + '[' + weekEndings[this.day()] + '] LT[-kor]';\n }\n\n var hu = moment.defineLocale('hu', {\n months : 'január_február_március_április_május_június_július_augusztus_szeptember_október_november_december'.split('_'),\n monthsShort : 'jan_feb_márc_ápr_máj_jún_júl_aug_szept_okt_nov_dec'.split('_'),\n weekdays : 'vasárnap_hétfő_kedd_szerda_csütörtök_péntek_szombat'.split('_'),\n weekdaysShort : 'vas_hét_kedd_sze_csüt_pén_szo'.split('_'),\n weekdaysMin : 'v_h_k_sze_cs_p_szo'.split('_'),\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'YYYY.MM.DD.',\n LL : 'YYYY. MMMM D.',\n LLL : 'YYYY. MMMM D. H:mm',\n LLLL : 'YYYY. MMMM D., dddd H:mm'\n },\n meridiemParse: /de|du/i,\n isPM: function (input) {\n return input.charAt(1).toLowerCase() === 'u';\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours < 12) {\n return isLower === true ? 'de' : 'DE';\n } else {\n return isLower === true ? 'du' : 'DU';\n }\n },\n calendar : {\n sameDay : '[ma] LT[-kor]',\n nextDay : '[holnap] LT[-kor]',\n nextWeek : function () {\n return week.call(this, true);\n },\n lastDay : '[tegnap] LT[-kor]',\n lastWeek : function () {\n return week.call(this, false);\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s múlva',\n past : '%s',\n s : translate,\n ss : translate,\n m : translate,\n mm : translate,\n h : translate,\n hh : translate,\n d : translate,\n dd : translate,\n M : translate,\n MM : translate,\n y : translate,\n yy : translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return hu;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function translate(number, withoutSuffix, key) {\n var result = number + ' ';\n switch (key) {\n case 'ss':\n if (number === 1) {\n result += 'sekunda';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sekunde';\n } else {\n result += 'sekundi';\n }\n return result;\n case 'm':\n return withoutSuffix ? 'jedna minuta' : 'jedne minute';\n case 'mm':\n if (number === 1) {\n result += 'minuta';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'minute';\n } else {\n result += 'minuta';\n }\n return result;\n case 'h':\n return withoutSuffix ? 'jedan sat' : 'jednog sata';\n case 'hh':\n if (number === 1) {\n result += 'sat';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sata';\n } else {\n result += 'sati';\n }\n return result;\n case 'dd':\n if (number === 1) {\n result += 'dan';\n } else {\n result += 'dana';\n }\n return result;\n case 'MM':\n if (number === 1) {\n result += 'mjesec';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'mjeseca';\n } else {\n result += 'mjeseci';\n }\n return result;\n case 'yy':\n if (number === 1) {\n result += 'godina';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'godine';\n } else {\n result += 'godina';\n }\n return result;\n }\n }\n\n var hr = moment.defineLocale('hr', {\n months : {\n format: 'siječnja_veljače_ožujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca'.split('_'),\n standalone: 'siječanj_veljača_ožujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac'.split('_')\n },\n monthsShort : 'sij._velj._ožu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.'.split('_'),\n monthsParseExact: true,\n weekdays : 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split('_'),\n weekdaysShort : 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n weekdaysMin : 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY H:mm',\n LLLL : 'dddd, D. MMMM YYYY H:mm'\n },\n calendar : {\n sameDay : '[danas u] LT',\n nextDay : '[sutra u] LT',\n nextWeek : function () {\n switch (this.day()) {\n case 0:\n return '[u] [nedjelju] [u] LT';\n case 3:\n return '[u] [srijedu] [u] LT';\n case 6:\n return '[u] [subotu] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay : '[jučer u] LT',\n lastWeek : function () {\n switch (this.day()) {\n case 0:\n case 3:\n return '[prošlu] dddd [u] LT';\n case 6:\n return '[prošle] [subote] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[prošli] dddd [u] LT';\n }\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'za %s',\n past : 'prije %s',\n s : 'par sekundi',\n ss : translate,\n m : translate,\n mm : translate,\n h : translate,\n hh : translate,\n d : 'dan',\n dd : translate,\n M : 'mjesec',\n MM : translate,\n y : 'godinu',\n yy : translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return hr;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '१',\n '2': '२',\n '3': '३',\n '4': '४',\n '5': '५',\n '6': '६',\n '7': '७',\n '8': '८',\n '9': '९',\n '0': '०'\n },\n numberMap = {\n '१': '1',\n '२': '2',\n '३': '3',\n '४': '4',\n '५': '5',\n '६': '6',\n '७': '7',\n '८': '8',\n '९': '9',\n '०': '0'\n };\n\n var hi = moment.defineLocale('hi', {\n months : 'जनवरी_फ़रवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितम्बर_अक्टूबर_नवम्बर_दिसम्बर'.split('_'),\n monthsShort : 'जन._फ़र._मार्च_अप्रै._मई_जून_जुल._अग._सित._अक्टू._नव._दिस.'.split('_'),\n monthsParseExact: true,\n weekdays : 'रविवार_सोमवार_मंगलवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'),\n weekdaysShort : 'रवि_सोम_मंगल_बुध_गुरू_शुक्र_शनि'.split('_'),\n weekdaysMin : 'र_सो_मं_बु_गु_शु_श'.split('_'),\n longDateFormat : {\n LT : 'A h:mm बजे',\n LTS : 'A h:mm:ss बजे',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, A h:mm बजे',\n LLLL : 'dddd, D MMMM YYYY, A h:mm बजे'\n },\n calendar : {\n sameDay : '[आज] LT',\n nextDay : '[कल] LT',\n nextWeek : 'dddd, LT',\n lastDay : '[कल] LT',\n lastWeek : '[पिछले] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s में',\n past : '%s पहले',\n s : 'कुछ ही क्षण',\n ss : '%d सेकंड',\n m : 'एक मिनट',\n mm : '%d मिनट',\n h : 'एक घंटा',\n hh : '%d घंटे',\n d : 'एक दिन',\n dd : '%d दिन',\n M : 'एक महीने',\n MM : '%d महीने',\n y : 'एक वर्ष',\n yy : '%d वर्ष'\n },\n preparse: function (string) {\n return string.replace(/[१२३४५६७८९०]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n // Hindi notation for meridiems are quite fuzzy in practice. While there exists\n // a rigid notion of a 'Pahar' it is not used as rigidly in modern Hindi.\n meridiemParse: /रात|सुबह|दोपहर|शाम/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'रात') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'सुबह') {\n return hour;\n } else if (meridiem === 'दोपहर') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'शाम') {\n return hour + 12;\n }\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'रात';\n } else if (hour < 10) {\n return 'सुबह';\n } else if (hour < 17) {\n return 'दोपहर';\n } else if (hour < 20) {\n return 'शाम';\n } else {\n return 'रात';\n }\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return hi;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var he = moment.defineLocale('he', {\n months : 'ינואר_פברואר_מרץ_אפריל_מאי_יוני_יולי_אוגוסט_ספטמבר_אוקטובר_נובמבר_דצמבר'.split('_'),\n monthsShort : 'ינו׳_פבר׳_מרץ_אפר׳_מאי_יוני_יולי_אוג׳_ספט׳_אוק׳_נוב׳_דצמ׳'.split('_'),\n weekdays : 'ראשון_שני_שלישי_רביעי_חמישי_שישי_שבת'.split('_'),\n weekdaysShort : 'א׳_ב׳_ג׳_ד׳_ה׳_ו׳_ש׳'.split('_'),\n weekdaysMin : 'א_ב_ג_ד_ה_ו_ש'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D [ב]MMMM YYYY',\n LLL : 'D [ב]MMMM YYYY HH:mm',\n LLLL : 'dddd, D [ב]MMMM YYYY HH:mm',\n l : 'D/M/YYYY',\n ll : 'D MMM YYYY',\n lll : 'D MMM YYYY HH:mm',\n llll : 'ddd, D MMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[היום ב־]LT',\n nextDay : '[מחר ב־]LT',\n nextWeek : 'dddd [בשעה] LT',\n lastDay : '[אתמול ב־]LT',\n lastWeek : '[ביום] dddd [האחרון בשעה] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'בעוד %s',\n past : 'לפני %s',\n s : 'מספר שניות',\n ss : '%d שניות',\n m : 'דקה',\n mm : '%d דקות',\n h : 'שעה',\n hh : function (number) {\n if (number === 2) {\n return 'שעתיים';\n }\n return number + ' שעות';\n },\n d : 'יום',\n dd : function (number) {\n if (number === 2) {\n return 'יומיים';\n }\n return number + ' ימים';\n },\n M : 'חודש',\n MM : function (number) {\n if (number === 2) {\n return 'חודשיים';\n }\n return number + ' חודשים';\n },\n y : 'שנה',\n yy : function (number) {\n if (number === 2) {\n return 'שנתיים';\n } else if (number % 10 === 0 && number !== 10) {\n return number + ' שנה';\n }\n return number + ' שנים';\n }\n },\n meridiemParse: /אחה\"צ|לפנה\"צ|אחרי הצהריים|לפני הצהריים|לפנות בוקר|בבוקר|בערב/i,\n isPM : function (input) {\n return /^(אחה\"צ|אחרי הצהריים|בערב)$/.test(input);\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 5) {\n return 'לפנות בוקר';\n } else if (hour < 10) {\n return 'בבוקר';\n } else if (hour < 12) {\n return isLower ? 'לפנה\"צ' : 'לפני הצהריים';\n } else if (hour < 18) {\n return isLower ? 'אחה\"צ' : 'אחרי הצהריים';\n } else {\n return 'בערב';\n }\n }\n });\n\n return he;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '૧',\n '2': '૨',\n '3': '૩',\n '4': '૪',\n '5': '૫',\n '6': '૬',\n '7': '૭',\n '8': '૮',\n '9': '૯',\n '0': '૦'\n },\n numberMap = {\n '૧': '1',\n '૨': '2',\n '૩': '3',\n '૪': '4',\n '૫': '5',\n '૬': '6',\n '૭': '7',\n '૮': '8',\n '૯': '9',\n '૦': '0'\n };\n\n var gu = moment.defineLocale('gu', {\n months: 'જાન્યુઆરી_ફેબ્રુઆરી_માર્ચ_એપ્રિલ_મે_જૂન_જુલાઈ_ઑગસ્ટ_સપ્ટેમ્બર_ઑક્ટ્બર_નવેમ્બર_ડિસેમ્બર'.split('_'),\n monthsShort: 'જાન્યુ._ફેબ્રુ._માર્ચ_એપ્રિ._મે_જૂન_જુલા._ઑગ._સપ્ટે._ઑક્ટ્._નવે._ડિસે.'.split('_'),\n monthsParseExact: true,\n weekdays: 'રવિવાર_સોમવાર_મંગળવાર_બુધ્વાર_ગુરુવાર_શુક્રવાર_શનિવાર'.split('_'),\n weekdaysShort: 'રવિ_સોમ_મંગળ_બુધ્_ગુરુ_શુક્ર_શનિ'.split('_'),\n weekdaysMin: 'ર_સો_મં_બુ_ગુ_શુ_શ'.split('_'),\n longDateFormat: {\n LT: 'A h:mm વાગ્યે',\n LTS: 'A h:mm:ss વાગ્યે',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm વાગ્યે',\n LLLL: 'dddd, D MMMM YYYY, A h:mm વાગ્યે'\n },\n calendar: {\n sameDay: '[આજ] LT',\n nextDay: '[કાલે] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[ગઇકાલે] LT',\n lastWeek: '[પાછલા] dddd, LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s મા',\n past: '%s પેહલા',\n s: 'અમુક પળો',\n ss: '%d સેકંડ',\n m: 'એક મિનિટ',\n mm: '%d મિનિટ',\n h: 'એક કલાક',\n hh: '%d કલાક',\n d: 'એક દિવસ',\n dd: '%d દિવસ',\n M: 'એક મહિનો',\n MM: '%d મહિનો',\n y: 'એક વર્ષ',\n yy: '%d વર્ષ'\n },\n preparse: function (string) {\n return string.replace(/[૧૨૩૪૫૬૭૮૯૦]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n // Gujarati notation for meridiems are quite fuzzy in practice. While there exists\n // a rigid notion of a 'Pahar' it is not used as rigidly in modern Gujarati.\n meridiemParse: /રાત|બપોર|સવાર|સાંજ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'રાત') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'સવાર') {\n return hour;\n } else if (meridiem === 'બપોર') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'સાંજ') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'રાત';\n } else if (hour < 10) {\n return 'સવાર';\n } else if (hour < 17) {\n return 'બપોર';\n } else if (hour < 20) {\n return 'સાંજ';\n } else {\n return 'રાત';\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return gu;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n 's': ['thodde secondanim', 'thodde second'],\n 'ss': [number + ' secondanim', number + ' second'],\n 'm': ['eka mintan', 'ek minute'],\n 'mm': [number + ' mintanim', number + ' mintam'],\n 'h': ['eka horan', 'ek hor'],\n 'hh': [number + ' horanim', number + ' horam'],\n 'd': ['eka disan', 'ek dis'],\n 'dd': [number + ' disanim', number + ' dis'],\n 'M': ['eka mhoinean', 'ek mhoino'],\n 'MM': [number + ' mhoineanim', number + ' mhoine'],\n 'y': ['eka vorsan', 'ek voros'],\n 'yy': [number + ' vorsanim', number + ' vorsam']\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n\n var gomLatn = moment.defineLocale('gom-latn', {\n months : 'Janer_Febrer_Mars_Abril_Mai_Jun_Julai_Agost_Setembr_Otubr_Novembr_Dezembr'.split('_'),\n monthsShort : 'Jan._Feb._Mars_Abr._Mai_Jun_Jul._Ago._Set._Otu._Nov._Dez.'.split('_'),\n monthsParseExact : true,\n weekdays : 'Aitar_Somar_Mongllar_Budvar_Brestar_Sukrar_Son\\'var'.split('_'),\n weekdaysShort : 'Ait._Som._Mon._Bud._Bre._Suk._Son.'.split('_'),\n weekdaysMin : 'Ai_Sm_Mo_Bu_Br_Su_Sn'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'A h:mm [vazta]',\n LTS : 'A h:mm:ss [vazta]',\n L : 'DD-MM-YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY A h:mm [vazta]',\n LLLL : 'dddd, MMMM[achea] Do, YYYY, A h:mm [vazta]',\n llll: 'ddd, D MMM YYYY, A h:mm [vazta]'\n },\n calendar : {\n sameDay: '[Aiz] LT',\n nextDay: '[Faleam] LT',\n nextWeek: '[Ieta to] dddd[,] LT',\n lastDay: '[Kal] LT',\n lastWeek: '[Fatlo] dddd[,] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : '%s',\n past : '%s adim',\n s : processRelativeTime,\n ss : processRelativeTime,\n m : processRelativeTime,\n mm : processRelativeTime,\n h : processRelativeTime,\n hh : processRelativeTime,\n d : processRelativeTime,\n dd : processRelativeTime,\n M : processRelativeTime,\n MM : processRelativeTime,\n y : processRelativeTime,\n yy : processRelativeTime\n },\n dayOfMonthOrdinalParse : /\\d{1,2}(er)/,\n ordinal : function (number, period) {\n switch (period) {\n // the ordinal 'er' only applies to day of the month\n case 'D':\n return number + 'er';\n default:\n case 'M':\n case 'Q':\n case 'DDD':\n case 'd':\n case 'w':\n case 'W':\n return number;\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n },\n meridiemParse: /rati|sokalli|donparam|sanje/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'rati') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'sokalli') {\n return hour;\n } else if (meridiem === 'donparam') {\n return hour > 12 ? hour : hour + 12;\n } else if (meridiem === 'sanje') {\n return hour + 12;\n }\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'rati';\n } else if (hour < 12) {\n return 'sokalli';\n } else if (hour < 16) {\n return 'donparam';\n } else if (hour < 20) {\n return 'sanje';\n } else {\n return 'rati';\n }\n }\n });\n\n return gomLatn;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var gl = moment.defineLocale('gl', {\n months : 'xaneiro_febreiro_marzo_abril_maio_xuño_xullo_agosto_setembro_outubro_novembro_decembro'.split('_'),\n monthsShort : 'xan._feb._mar._abr._mai._xuñ._xul._ago._set._out._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays : 'domingo_luns_martes_mércores_xoves_venres_sábado'.split('_'),\n weekdaysShort : 'dom._lun._mar._mér._xov._ven._sáb.'.split('_'),\n weekdaysMin : 'do_lu_ma_mé_xo_ve_sá'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D [de] MMMM [de] YYYY',\n LLL : 'D [de] MMMM [de] YYYY H:mm',\n LLLL : 'dddd, D [de] MMMM [de] YYYY H:mm'\n },\n calendar : {\n sameDay : function () {\n return '[hoxe ' + ((this.hours() !== 1) ? 'ás' : 'á') + '] LT';\n },\n nextDay : function () {\n return '[mañá ' + ((this.hours() !== 1) ? 'ás' : 'á') + '] LT';\n },\n nextWeek : function () {\n return 'dddd [' + ((this.hours() !== 1) ? 'ás' : 'a') + '] LT';\n },\n lastDay : function () {\n return '[onte ' + ((this.hours() !== 1) ? 'á' : 'a') + '] LT';\n },\n lastWeek : function () {\n return '[o] dddd [pasado ' + ((this.hours() !== 1) ? 'ás' : 'a') + '] LT';\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : function (str) {\n if (str.indexOf('un') === 0) {\n return 'n' + str;\n }\n return 'en ' + str;\n },\n past : 'hai %s',\n s : 'uns segundos',\n ss : '%d segundos',\n m : 'un minuto',\n mm : '%d minutos',\n h : 'unha hora',\n hh : '%d horas',\n d : 'un día',\n dd : '%d días',\n M : 'un mes',\n MM : '%d meses',\n y : 'un ano',\n yy : '%d anos'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}º/,\n ordinal : '%dº',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return gl;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var months = [\n 'Am Faoilleach', 'An Gearran', 'Am Màrt', 'An Giblean', 'An Cèitean', 'An t-Ògmhios', 'An t-Iuchar', 'An Lùnastal', 'An t-Sultain', 'An Dàmhair', 'An t-Samhain', 'An Dùbhlachd'\n ];\n\n var monthsShort = ['Faoi', 'Gear', 'Màrt', 'Gibl', 'Cèit', 'Ògmh', 'Iuch', 'Lùn', 'Sult', 'Dàmh', 'Samh', 'Dùbh'];\n\n var weekdays = ['Didòmhnaich', 'Diluain', 'Dimàirt', 'Diciadain', 'Diardaoin', 'Dihaoine', 'Disathairne'];\n\n var weekdaysShort = ['Did', 'Dil', 'Dim', 'Dic', 'Dia', 'Dih', 'Dis'];\n\n var weekdaysMin = ['Dò', 'Lu', 'Mà', 'Ci', 'Ar', 'Ha', 'Sa'];\n\n var gd = moment.defineLocale('gd', {\n months : months,\n monthsShort : monthsShort,\n monthsParseExact : true,\n weekdays : weekdays,\n weekdaysShort : weekdaysShort,\n weekdaysMin : weekdaysMin,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[An-diugh aig] LT',\n nextDay : '[A-màireach aig] LT',\n nextWeek : 'dddd [aig] LT',\n lastDay : '[An-dè aig] LT',\n lastWeek : 'dddd [seo chaidh] [aig] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'ann an %s',\n past : 'bho chionn %s',\n s : 'beagan diogan',\n ss : '%d diogan',\n m : 'mionaid',\n mm : '%d mionaidean',\n h : 'uair',\n hh : '%d uairean',\n d : 'latha',\n dd : '%d latha',\n M : 'mìos',\n MM : '%d mìosan',\n y : 'bliadhna',\n yy : '%d bliadhna'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}(d|na|mh)/,\n ordinal : function (number) {\n var output = number === 1 ? 'd' : number % 10 === 2 ? 'na' : 'mh';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return gd;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var monthsShortWithDots = 'jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.'.split('_'),\n monthsShortWithoutDots = 'jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_');\n\n var fy = moment.defineLocale('fy', {\n months : 'jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber'.split('_'),\n monthsShort : function (m, format) {\n if (!m) {\n return monthsShortWithDots;\n } else if (/-MMM-/.test(format)) {\n return monthsShortWithoutDots[m.month()];\n } else {\n return monthsShortWithDots[m.month()];\n }\n },\n monthsParseExact : true,\n weekdays : 'snein_moandei_tiisdei_woansdei_tongersdei_freed_sneon'.split('_'),\n weekdaysShort : 'si._mo._ti._wo._to._fr._so.'.split('_'),\n weekdaysMin : 'Si_Mo_Ti_Wo_To_Fr_So'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD-MM-YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[hjoed om] LT',\n nextDay: '[moarn om] LT',\n nextWeek: 'dddd [om] LT',\n lastDay: '[juster om] LT',\n lastWeek: '[ôfrûne] dddd [om] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'oer %s',\n past : '%s lyn',\n s : 'in pear sekonden',\n ss : '%d sekonden',\n m : 'ien minút',\n mm : '%d minuten',\n h : 'ien oere',\n hh : '%d oeren',\n d : 'ien dei',\n dd : '%d dagen',\n M : 'ien moanne',\n MM : '%d moannen',\n y : 'ien jier',\n yy : '%d jierren'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n ordinal : function (number) {\n return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de');\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return fy;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var frCh = moment.defineLocale('fr-ch', {\n months : 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'),\n monthsShort : 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'),\n monthsParseExact : true,\n weekdays : 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n weekdaysShort : 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n weekdaysMin : 'di_lu_ma_me_je_ve_sa'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Aujourd’hui à] LT',\n nextDay : '[Demain à] LT',\n nextWeek : 'dddd [à] LT',\n lastDay : '[Hier à] LT',\n lastWeek : 'dddd [dernier à] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'dans %s',\n past : 'il y a %s',\n s : 'quelques secondes',\n ss : '%d secondes',\n m : 'une minute',\n mm : '%d minutes',\n h : 'une heure',\n hh : '%d heures',\n d : 'un jour',\n dd : '%d jours',\n M : 'un mois',\n MM : '%d mois',\n y : 'un an',\n yy : '%d ans'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(er|e)/,\n ordinal : function (number, period) {\n switch (period) {\n // Words with masculine grammatical gender: mois, trimestre, jour\n default:\n case 'M':\n case 'Q':\n case 'D':\n case 'DDD':\n case 'd':\n return number + (number === 1 ? 'er' : 'e');\n\n // Words with feminine grammatical gender: semaine\n case 'w':\n case 'W':\n return number + (number === 1 ? 're' : 'e');\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return frCh;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var frCa = moment.defineLocale('fr-ca', {\n months : 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'),\n monthsShort : 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'),\n monthsParseExact : true,\n weekdays : 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n weekdaysShort : 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n weekdaysMin : 'di_lu_ma_me_je_ve_sa'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY-MM-DD',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Aujourd’hui à] LT',\n nextDay : '[Demain à] LT',\n nextWeek : 'dddd [à] LT',\n lastDay : '[Hier à] LT',\n lastWeek : 'dddd [dernier à] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'dans %s',\n past : 'il y a %s',\n s : 'quelques secondes',\n ss : '%d secondes',\n m : 'une minute',\n mm : '%d minutes',\n h : 'une heure',\n hh : '%d heures',\n d : 'un jour',\n dd : '%d jours',\n M : 'un mois',\n MM : '%d mois',\n y : 'un an',\n yy : '%d ans'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(er|e)/,\n ordinal : function (number, period) {\n switch (period) {\n // Words with masculine grammatical gender: mois, trimestre, jour\n default:\n case 'M':\n case 'Q':\n case 'D':\n case 'DDD':\n case 'd':\n return number + (number === 1 ? 'er' : 'e');\n\n // Words with feminine grammatical gender: semaine\n case 'w':\n case 'W':\n return number + (number === 1 ? 're' : 'e');\n }\n }\n });\n\n return frCa;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var fr = moment.defineLocale('fr', {\n months : 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'),\n monthsShort : 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'),\n monthsParseExact : true,\n weekdays : 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n weekdaysShort : 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n weekdaysMin : 'di_lu_ma_me_je_ve_sa'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Aujourd’hui à] LT',\n nextDay : '[Demain à] LT',\n nextWeek : 'dddd [à] LT',\n lastDay : '[Hier à] LT',\n lastWeek : 'dddd [dernier à] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'dans %s',\n past : 'il y a %s',\n s : 'quelques secondes',\n ss : '%d secondes',\n m : 'une minute',\n mm : '%d minutes',\n h : 'une heure',\n hh : '%d heures',\n d : 'un jour',\n dd : '%d jours',\n M : 'un mois',\n MM : '%d mois',\n y : 'un an',\n yy : '%d ans'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(er|)/,\n ordinal : function (number, period) {\n switch (period) {\n // TODO: Return 'e' when day of month > 1. Move this case inside\n // block for masculine words below.\n // See https://github.com/moment/moment/issues/3375\n case 'D':\n return number + (number === 1 ? 'er' : '');\n\n // Words with masculine grammatical gender: mois, trimestre, jour\n default:\n case 'M':\n case 'Q':\n case 'DDD':\n case 'd':\n return number + (number === 1 ? 'er' : 'e');\n\n // Words with feminine grammatical gender: semaine\n case 'w':\n case 'W':\n return number + (number === 1 ? 're' : 'e');\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return fr;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var fo = moment.defineLocale('fo', {\n months : 'januar_februar_mars_apríl_mai_juni_juli_august_september_oktober_november_desember'.split('_'),\n monthsShort : 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'),\n weekdays : 'sunnudagur_mánadagur_týsdagur_mikudagur_hósdagur_fríggjadagur_leygardagur'.split('_'),\n weekdaysShort : 'sun_mán_týs_mik_hós_frí_ley'.split('_'),\n weekdaysMin : 'su_má_tý_mi_hó_fr_le'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D. MMMM, YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Í dag kl.] LT',\n nextDay : '[Í morgin kl.] LT',\n nextWeek : 'dddd [kl.] LT',\n lastDay : '[Í gjár kl.] LT',\n lastWeek : '[síðstu] dddd [kl] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'um %s',\n past : '%s síðani',\n s : 'fá sekund',\n ss : '%d sekundir',\n m : 'ein minutt',\n mm : '%d minuttir',\n h : 'ein tími',\n hh : '%d tímar',\n d : 'ein dagur',\n dd : '%d dagar',\n M : 'ein mánaði',\n MM : '%d mánaðir',\n y : 'eitt ár',\n yy : '%d ár'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return fo;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var numbersPast = 'nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän'.split(' '),\n numbersFuture = [\n 'nolla', 'yhden', 'kahden', 'kolmen', 'neljän', 'viiden', 'kuuden',\n numbersPast[7], numbersPast[8], numbersPast[9]\n ];\n function translate(number, withoutSuffix, key, isFuture) {\n var result = '';\n switch (key) {\n case 's':\n return isFuture ? 'muutaman sekunnin' : 'muutama sekunti';\n case 'ss':\n return isFuture ? 'sekunnin' : 'sekuntia';\n case 'm':\n return isFuture ? 'minuutin' : 'minuutti';\n case 'mm':\n result = isFuture ? 'minuutin' : 'minuuttia';\n break;\n case 'h':\n return isFuture ? 'tunnin' : 'tunti';\n case 'hh':\n result = isFuture ? 'tunnin' : 'tuntia';\n break;\n case 'd':\n return isFuture ? 'päivän' : 'päivä';\n case 'dd':\n result = isFuture ? 'päivän' : 'päivää';\n break;\n case 'M':\n return isFuture ? 'kuukauden' : 'kuukausi';\n case 'MM':\n result = isFuture ? 'kuukauden' : 'kuukautta';\n break;\n case 'y':\n return isFuture ? 'vuoden' : 'vuosi';\n case 'yy':\n result = isFuture ? 'vuoden' : 'vuotta';\n break;\n }\n result = verbalNumber(number, isFuture) + ' ' + result;\n return result;\n }\n function verbalNumber(number, isFuture) {\n return number < 10 ? (isFuture ? numbersFuture[number] : numbersPast[number]) : number;\n }\n\n var fi = moment.defineLocale('fi', {\n months : 'tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu'.split('_'),\n monthsShort : 'tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu'.split('_'),\n weekdays : 'sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai'.split('_'),\n weekdaysShort : 'su_ma_ti_ke_to_pe_la'.split('_'),\n weekdaysMin : 'su_ma_ti_ke_to_pe_la'.split('_'),\n longDateFormat : {\n LT : 'HH.mm',\n LTS : 'HH.mm.ss',\n L : 'DD.MM.YYYY',\n LL : 'Do MMMM[ta] YYYY',\n LLL : 'Do MMMM[ta] YYYY, [klo] HH.mm',\n LLLL : 'dddd, Do MMMM[ta] YYYY, [klo] HH.mm',\n l : 'D.M.YYYY',\n ll : 'Do MMM YYYY',\n lll : 'Do MMM YYYY, [klo] HH.mm',\n llll : 'ddd, Do MMM YYYY, [klo] HH.mm'\n },\n calendar : {\n sameDay : '[tänään] [klo] LT',\n nextDay : '[huomenna] [klo] LT',\n nextWeek : 'dddd [klo] LT',\n lastDay : '[eilen] [klo] LT',\n lastWeek : '[viime] dddd[na] [klo] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s päästä',\n past : '%s sitten',\n s : translate,\n ss : translate,\n m : translate,\n mm : translate,\n h : translate,\n hh : translate,\n d : translate,\n dd : translate,\n M : translate,\n MM : translate,\n y : translate,\n yy : translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return fi;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '۱',\n '2': '۲',\n '3': '۳',\n '4': '۴',\n '5': '۵',\n '6': '۶',\n '7': '۷',\n '8': '۸',\n '9': '۹',\n '0': '۰'\n }, numberMap = {\n '۱': '1',\n '۲': '2',\n '۳': '3',\n '۴': '4',\n '۵': '5',\n '۶': '6',\n '۷': '7',\n '۸': '8',\n '۹': '9',\n '۰': '0'\n };\n\n var fa = moment.defineLocale('fa', {\n months : 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split('_'),\n monthsShort : 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split('_'),\n weekdays : 'یک\\u200cشنبه_دوشنبه_سه\\u200cشنبه_چهارشنبه_پنج\\u200cشنبه_جمعه_شنبه'.split('_'),\n weekdaysShort : 'یک\\u200cشنبه_دوشنبه_سه\\u200cشنبه_چهارشنبه_پنج\\u200cشنبه_جمعه_شنبه'.split('_'),\n weekdaysMin : 'ی_د_س_چ_پ_ج_ش'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n meridiemParse: /قبل از ظهر|بعد از ظهر/,\n isPM: function (input) {\n return /بعد از ظهر/.test(input);\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'قبل از ظهر';\n } else {\n return 'بعد از ظهر';\n }\n },\n calendar : {\n sameDay : '[امروز ساعت] LT',\n nextDay : '[فردا ساعت] LT',\n nextWeek : 'dddd [ساعت] LT',\n lastDay : '[دیروز ساعت] LT',\n lastWeek : 'dddd [پیش] [ساعت] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'در %s',\n past : '%s پیش',\n s : 'چند ثانیه',\n ss : 'ثانیه d%',\n m : 'یک دقیقه',\n mm : '%d دقیقه',\n h : 'یک ساعت',\n hh : '%d ساعت',\n d : 'یک روز',\n dd : '%d روز',\n M : 'یک ماه',\n MM : '%d ماه',\n y : 'یک سال',\n yy : '%d سال'\n },\n preparse: function (string) {\n return string.replace(/[۰-۹]/g, function (match) {\n return numberMap[match];\n }).replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n }).replace(/,/g, '،');\n },\n dayOfMonthOrdinalParse: /\\d{1,2}م/,\n ordinal : '%dم',\n week : {\n dow : 6, // Saturday is the first day of the week.\n doy : 12 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return fa;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var eu = moment.defineLocale('eu', {\n months : 'urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua'.split('_'),\n monthsShort : 'urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.'.split('_'),\n monthsParseExact : true,\n weekdays : 'igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata'.split('_'),\n weekdaysShort : 'ig._al._ar._az._og._ol._lr.'.split('_'),\n weekdaysMin : 'ig_al_ar_az_og_ol_lr'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY-MM-DD',\n LL : 'YYYY[ko] MMMM[ren] D[a]',\n LLL : 'YYYY[ko] MMMM[ren] D[a] HH:mm',\n LLLL : 'dddd, YYYY[ko] MMMM[ren] D[a] HH:mm',\n l : 'YYYY-M-D',\n ll : 'YYYY[ko] MMM D[a]',\n lll : 'YYYY[ko] MMM D[a] HH:mm',\n llll : 'ddd, YYYY[ko] MMM D[a] HH:mm'\n },\n calendar : {\n sameDay : '[gaur] LT[etan]',\n nextDay : '[bihar] LT[etan]',\n nextWeek : 'dddd LT[etan]',\n lastDay : '[atzo] LT[etan]',\n lastWeek : '[aurreko] dddd LT[etan]',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s barru',\n past : 'duela %s',\n s : 'segundo batzuk',\n ss : '%d segundo',\n m : 'minutu bat',\n mm : '%d minutu',\n h : 'ordu bat',\n hh : '%d ordu',\n d : 'egun bat',\n dd : '%d egun',\n M : 'hilabete bat',\n MM : '%d hilabete',\n y : 'urte bat',\n yy : '%d urte'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return eu;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n 's' : ['mõne sekundi', 'mõni sekund', 'paar sekundit'],\n 'ss': [number + 'sekundi', number + 'sekundit'],\n 'm' : ['ühe minuti', 'üks minut'],\n 'mm': [number + ' minuti', number + ' minutit'],\n 'h' : ['ühe tunni', 'tund aega', 'üks tund'],\n 'hh': [number + ' tunni', number + ' tundi'],\n 'd' : ['ühe päeva', 'üks päev'],\n 'M' : ['kuu aja', 'kuu aega', 'üks kuu'],\n 'MM': [number + ' kuu', number + ' kuud'],\n 'y' : ['ühe aasta', 'aasta', 'üks aasta'],\n 'yy': [number + ' aasta', number + ' aastat']\n };\n if (withoutSuffix) {\n return format[key][2] ? format[key][2] : format[key][1];\n }\n return isFuture ? format[key][0] : format[key][1];\n }\n\n var et = moment.defineLocale('et', {\n months : 'jaanuar_veebruar_märts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember'.split('_'),\n monthsShort : 'jaan_veebr_märts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets'.split('_'),\n weekdays : 'pühapäev_esmaspäev_teisipäev_kolmapäev_neljapäev_reede_laupäev'.split('_'),\n weekdaysShort : 'P_E_T_K_N_R_L'.split('_'),\n weekdaysMin : 'P_E_T_K_N_R_L'.split('_'),\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY H:mm',\n LLLL : 'dddd, D. MMMM YYYY H:mm'\n },\n calendar : {\n sameDay : '[Täna,] LT',\n nextDay : '[Homme,] LT',\n nextWeek : '[Järgmine] dddd LT',\n lastDay : '[Eile,] LT',\n lastWeek : '[Eelmine] dddd LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s pärast',\n past : '%s tagasi',\n s : processRelativeTime,\n ss : processRelativeTime,\n m : processRelativeTime,\n mm : processRelativeTime,\n h : processRelativeTime,\n hh : processRelativeTime,\n d : processRelativeTime,\n dd : '%d päeva',\n M : processRelativeTime,\n MM : processRelativeTime,\n y : processRelativeTime,\n yy : processRelativeTime\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return et;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_'),\n monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_');\n\n var esUs = moment.defineLocale('es-us', {\n months : 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'),\n monthsShort : function (m, format) {\n if (!m) {\n return monthsShortDot;\n } else if (/-MMM-/.test(format)) {\n return monthsShort[m.month()];\n } else {\n return monthsShortDot[m.month()];\n }\n },\n monthsParseExact : true,\n weekdays : 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n weekdaysShort : 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n weekdaysMin : 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'h:mm A',\n LTS : 'h:mm:ss A',\n L : 'MM/DD/YYYY',\n LL : 'MMMM [de] D [de] YYYY',\n LLL : 'MMMM [de] D [de] YYYY h:mm A',\n LLLL : 'dddd, MMMM [de] D [de] YYYY h:mm A'\n },\n calendar : {\n sameDay : function () {\n return '[hoy a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n nextDay : function () {\n return '[mañana a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n nextWeek : function () {\n return 'dddd [a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n lastDay : function () {\n return '[ayer a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n lastWeek : function () {\n return '[el] dddd [pasado a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'en %s',\n past : 'hace %s',\n s : 'unos segundos',\n ss : '%d segundos',\n m : 'un minuto',\n mm : '%d minutos',\n h : 'una hora',\n hh : '%d horas',\n d : 'un día',\n dd : '%d días',\n M : 'un mes',\n MM : '%d meses',\n y : 'un año',\n yy : '%d años'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}º/,\n ordinal : '%dº',\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return esUs;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_'),\n monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_');\n\n var monthsParse = [/^ene/i, /^feb/i, /^mar/i, /^abr/i, /^may/i, /^jun/i, /^jul/i, /^ago/i, /^sep/i, /^oct/i, /^nov/i, /^dic/i];\n var monthsRegex = /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n\n var esDo = moment.defineLocale('es-do', {\n months : 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'),\n monthsShort : function (m, format) {\n if (!m) {\n return monthsShortDot;\n } else if (/-MMM-/.test(format)) {\n return monthsShort[m.month()];\n } else {\n return monthsShortDot[m.month()];\n }\n },\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n monthsShortStrictRegex: /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n weekdays : 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n weekdaysShort : 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n weekdaysMin : 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'h:mm A',\n LTS : 'h:mm:ss A',\n L : 'DD/MM/YYYY',\n LL : 'D [de] MMMM [de] YYYY',\n LLL : 'D [de] MMMM [de] YYYY h:mm A',\n LLLL : 'dddd, D [de] MMMM [de] YYYY h:mm A'\n },\n calendar : {\n sameDay : function () {\n return '[hoy a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n nextDay : function () {\n return '[mañana a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n nextWeek : function () {\n return 'dddd [a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n lastDay : function () {\n return '[ayer a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n lastWeek : function () {\n return '[el] dddd [pasado a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'en %s',\n past : 'hace %s',\n s : 'unos segundos',\n ss : '%d segundos',\n m : 'un minuto',\n mm : '%d minutos',\n h : 'una hora',\n hh : '%d horas',\n d : 'un día',\n dd : '%d días',\n M : 'un mes',\n MM : '%d meses',\n y : 'un año',\n yy : '%d años'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}º/,\n ordinal : '%dº',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return esDo;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_'),\n monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_');\n\n var monthsParse = [/^ene/i, /^feb/i, /^mar/i, /^abr/i, /^may/i, /^jun/i, /^jul/i, /^ago/i, /^sep/i, /^oct/i, /^nov/i, /^dic/i];\n var monthsRegex = /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n\n var es = moment.defineLocale('es', {\n months : 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'),\n monthsShort : function (m, format) {\n if (!m) {\n return monthsShortDot;\n } else if (/-MMM-/.test(format)) {\n return monthsShort[m.month()];\n } else {\n return monthsShortDot[m.month()];\n }\n },\n monthsRegex : monthsRegex,\n monthsShortRegex : monthsRegex,\n monthsStrictRegex : /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n monthsShortStrictRegex : /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n monthsParse : monthsParse,\n longMonthsParse : monthsParse,\n shortMonthsParse : monthsParse,\n weekdays : 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n weekdaysShort : 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n weekdaysMin : 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D [de] MMMM [de] YYYY',\n LLL : 'D [de] MMMM [de] YYYY H:mm',\n LLLL : 'dddd, D [de] MMMM [de] YYYY H:mm'\n },\n calendar : {\n sameDay : function () {\n return '[hoy a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n nextDay : function () {\n return '[mañana a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n nextWeek : function () {\n return 'dddd [a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n lastDay : function () {\n return '[ayer a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n lastWeek : function () {\n return '[el] dddd [pasado a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'en %s',\n past : 'hace %s',\n s : 'unos segundos',\n ss : '%d segundos',\n m : 'un minuto',\n mm : '%d minutos',\n h : 'una hora',\n hh : '%d horas',\n d : 'un día',\n dd : '%d días',\n M : 'un mes',\n MM : '%d meses',\n y : 'un año',\n yy : '%d años'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}º/,\n ordinal : '%dº',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return es;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var eo = moment.defineLocale('eo', {\n months : 'januaro_februaro_marto_aprilo_majo_junio_julio_aŭgusto_septembro_oktobro_novembro_decembro'.split('_'),\n monthsShort : 'jan_feb_mar_apr_maj_jun_jul_aŭg_sep_okt_nov_dec'.split('_'),\n weekdays : 'dimanĉo_lundo_mardo_merkredo_ĵaŭdo_vendredo_sabato'.split('_'),\n weekdaysShort : 'dim_lun_mard_merk_ĵaŭ_ven_sab'.split('_'),\n weekdaysMin : 'di_lu_ma_me_ĵa_ve_sa'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY-MM-DD',\n LL : 'D[-a de] MMMM, YYYY',\n LLL : 'D[-a de] MMMM, YYYY HH:mm',\n LLLL : 'dddd, [la] D[-a de] MMMM, YYYY HH:mm'\n },\n meridiemParse: /[ap]\\.t\\.m/i,\n isPM: function (input) {\n return input.charAt(0).toLowerCase() === 'p';\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'p.t.m.' : 'P.T.M.';\n } else {\n return isLower ? 'a.t.m.' : 'A.T.M.';\n }\n },\n calendar : {\n sameDay : '[Hodiaŭ je] LT',\n nextDay : '[Morgaŭ je] LT',\n nextWeek : 'dddd [je] LT',\n lastDay : '[Hieraŭ je] LT',\n lastWeek : '[pasinta] dddd [je] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'post %s',\n past : 'antaŭ %s',\n s : 'sekundoj',\n ss : '%d sekundoj',\n m : 'minuto',\n mm : '%d minutoj',\n h : 'horo',\n hh : '%d horoj',\n d : 'tago',//ne 'diurno', ĉar estas uzita por proksimumo\n dd : '%d tagoj',\n M : 'monato',\n MM : '%d monatoj',\n y : 'jaro',\n yy : '%d jaroj'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}a/,\n ordinal : '%da',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return eo;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var enNz = moment.defineLocale('en-nz', {\n months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat : {\n LT : 'h:mm A',\n LTS : 'h:mm:ss A',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY h:mm A',\n LLLL : 'dddd, D MMMM YYYY h:mm A'\n },\n calendar : {\n sameDay : '[Today at] LT',\n nextDay : '[Tomorrow at] LT',\n nextWeek : 'dddd [at] LT',\n lastDay : '[Yesterday at] LT',\n lastWeek : '[Last] dddd [at] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'in %s',\n past : '%s ago',\n s : 'a few seconds',\n ss : '%d seconds',\n m : 'a minute',\n mm : '%d minutes',\n h : 'an hour',\n hh : '%d hours',\n d : 'a day',\n dd : '%d days',\n M : 'a month',\n MM : '%d months',\n y : 'a year',\n yy : '%d years'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return enNz;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var enIl = moment.defineLocale('en-il', {\n months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Today at] LT',\n nextDay : '[Tomorrow at] LT',\n nextWeek : 'dddd [at] LT',\n lastDay : '[Yesterday at] LT',\n lastWeek : '[Last] dddd [at] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'in %s',\n past : '%s ago',\n s : 'a few seconds',\n m : 'a minute',\n mm : '%d minutes',\n h : 'an hour',\n hh : '%d hours',\n d : 'a day',\n dd : '%d days',\n M : 'a month',\n MM : '%d months',\n y : 'a year',\n yy : '%d years'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n }\n });\n\n return enIl;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var enIe = moment.defineLocale('en-ie', {\n months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD-MM-YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Today at] LT',\n nextDay : '[Tomorrow at] LT',\n nextWeek : 'dddd [at] LT',\n lastDay : '[Yesterday at] LT',\n lastWeek : '[Last] dddd [at] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'in %s',\n past : '%s ago',\n s : 'a few seconds',\n ss : '%d seconds',\n m : 'a minute',\n mm : '%d minutes',\n h : 'an hour',\n hh : '%d hours',\n d : 'a day',\n dd : '%d days',\n M : 'a month',\n MM : '%d months',\n y : 'a year',\n yy : '%d years'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return enIe;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var enGb = moment.defineLocale('en-gb', {\n months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Today at] LT',\n nextDay : '[Tomorrow at] LT',\n nextWeek : 'dddd [at] LT',\n lastDay : '[Yesterday at] LT',\n lastWeek : '[Last] dddd [at] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'in %s',\n past : '%s ago',\n s : 'a few seconds',\n ss : '%d seconds',\n m : 'a minute',\n mm : '%d minutes',\n h : 'an hour',\n hh : '%d hours',\n d : 'a day',\n dd : '%d days',\n M : 'a month',\n MM : '%d months',\n y : 'a year',\n yy : '%d years'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return enGb;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var enCa = moment.defineLocale('en-ca', {\n months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat : {\n LT : 'h:mm A',\n LTS : 'h:mm:ss A',\n L : 'YYYY-MM-DD',\n LL : 'MMMM D, YYYY',\n LLL : 'MMMM D, YYYY h:mm A',\n LLLL : 'dddd, MMMM D, YYYY h:mm A'\n },\n calendar : {\n sameDay : '[Today at] LT',\n nextDay : '[Tomorrow at] LT',\n nextWeek : 'dddd [at] LT',\n lastDay : '[Yesterday at] LT',\n lastWeek : '[Last] dddd [at] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'in %s',\n past : '%s ago',\n s : 'a few seconds',\n ss : '%d seconds',\n m : 'a minute',\n mm : '%d minutes',\n h : 'an hour',\n hh : '%d hours',\n d : 'a day',\n dd : '%d days',\n M : 'a month',\n MM : '%d months',\n y : 'a year',\n yy : '%d years'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n }\n });\n\n return enCa;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var enAu = moment.defineLocale('en-au', {\n months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat : {\n LT : 'h:mm A',\n LTS : 'h:mm:ss A',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY h:mm A',\n LLLL : 'dddd, D MMMM YYYY h:mm A'\n },\n calendar : {\n sameDay : '[Today at] LT',\n nextDay : '[Tomorrow at] LT',\n nextWeek : 'dddd [at] LT',\n lastDay : '[Yesterday at] LT',\n lastWeek : '[Last] dddd [at] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'in %s',\n past : '%s ago',\n s : 'a few seconds',\n ss : '%d seconds',\n m : 'a minute',\n mm : '%d minutes',\n h : 'an hour',\n hh : '%d hours',\n d : 'a day',\n dd : '%d days',\n M : 'a month',\n MM : '%d months',\n y : 'a year',\n yy : '%d years'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return enAu;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n function isFunction(input) {\n return input instanceof Function || Object.prototype.toString.call(input) === '[object Function]';\n }\n\n\n var el = moment.defineLocale('el', {\n monthsNominativeEl : 'Ιανουάριος_Φεβρουάριος_Μάρτιος_Απρίλιος_Μάιος_Ιούνιος_Ιούλιος_Αύγουστος_Σεπτέμβριος_Οκτώβριος_Νοέμβριος_Δεκέμβριος'.split('_'),\n monthsGenitiveEl : 'Ιανουαρίου_Φεβρουαρίου_Μαρτίου_Απριλίου_Μαΐου_Ιουνίου_Ιουλίου_Αυγούστου_Σεπτεμβρίου_Οκτωβρίου_Νοεμβρίου_Δεκεμβρίου'.split('_'),\n months : function (momentToFormat, format) {\n if (!momentToFormat) {\n return this._monthsNominativeEl;\n } else if (typeof format === 'string' && /D/.test(format.substring(0, format.indexOf('MMMM')))) { // if there is a day number before 'MMMM'\n return this._monthsGenitiveEl[momentToFormat.month()];\n } else {\n return this._monthsNominativeEl[momentToFormat.month()];\n }\n },\n monthsShort : 'Ιαν_Φεβ_Μαρ_Απρ_Μαϊ_Ιουν_Ιουλ_Αυγ_Σεπ_Οκτ_Νοε_Δεκ'.split('_'),\n weekdays : 'Κυριακή_Δευτέρα_Τρίτη_Τετάρτη_Πέμπτη_Παρασκευή_Σάββατο'.split('_'),\n weekdaysShort : 'Κυρ_Δευ_Τρι_Τετ_Πεμ_Παρ_Σαβ'.split('_'),\n weekdaysMin : 'Κυ_Δε_Τρ_Τε_Πε_Πα_Σα'.split('_'),\n meridiem : function (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'μμ' : 'ΜΜ';\n } else {\n return isLower ? 'πμ' : 'ΠΜ';\n }\n },\n isPM : function (input) {\n return ((input + '').toLowerCase()[0] === 'μ');\n },\n meridiemParse : /[ΠΜ]\\.?Μ?\\.?/i,\n longDateFormat : {\n LT : 'h:mm A',\n LTS : 'h:mm:ss A',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY h:mm A',\n LLLL : 'dddd, D MMMM YYYY h:mm A'\n },\n calendarEl : {\n sameDay : '[Σήμερα {}] LT',\n nextDay : '[Αύριο {}] LT',\n nextWeek : 'dddd [{}] LT',\n lastDay : '[Χθες {}] LT',\n lastWeek : function () {\n switch (this.day()) {\n case 6:\n return '[το προηγούμενο] dddd [{}] LT';\n default:\n return '[την προηγούμενη] dddd [{}] LT';\n }\n },\n sameElse : 'L'\n },\n calendar : function (key, mom) {\n var output = this._calendarEl[key],\n hours = mom && mom.hours();\n if (isFunction(output)) {\n output = output.apply(mom);\n }\n return output.replace('{}', (hours % 12 === 1 ? 'στη' : 'στις'));\n },\n relativeTime : {\n future : 'σε %s',\n past : '%s πριν',\n s : 'λίγα δευτερόλεπτα',\n ss : '%d δευτερόλεπτα',\n m : 'ένα λεπτό',\n mm : '%d λεπτά',\n h : 'μία ώρα',\n hh : '%d ώρες',\n d : 'μία μέρα',\n dd : '%d μέρες',\n M : 'ένας μήνας',\n MM : '%d μήνες',\n y : 'ένας χρόνος',\n yy : '%d χρόνια'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}η/,\n ordinal: '%dη',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4st is the first week of the year.\n }\n });\n\n return el;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var months = [\n 'ޖެނުއަރީ',\n 'ފެބްރުއަރީ',\n 'މާރިޗު',\n 'އޭޕްރީލު',\n 'މޭ',\n 'ޖޫން',\n 'ޖުލައި',\n 'އޯގަސްޓު',\n 'ސެޕްޓެމްބަރު',\n 'އޮކްޓޯބަރު',\n 'ނޮވެމްބަރު',\n 'ޑިސެމްބަރު'\n ], weekdays = [\n 'އާދިއްތަ',\n 'ހޯމަ',\n 'އަންގާރަ',\n 'ބުދަ',\n 'ބުރާސްފަތި',\n 'ހުކުރު',\n 'ހޮނިހިރު'\n ];\n\n var dv = moment.defineLocale('dv', {\n months : months,\n monthsShort : months,\n weekdays : weekdays,\n weekdaysShort : weekdays,\n weekdaysMin : 'އާދި_ހޯމަ_އަން_ބުދަ_ބުރާ_ހުކު_ހޮނި'.split('_'),\n longDateFormat : {\n\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'D/M/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n meridiemParse: /މކ|މފ/,\n isPM : function (input) {\n return 'މފ' === input;\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'މކ';\n } else {\n return 'މފ';\n }\n },\n calendar : {\n sameDay : '[މިއަދު] LT',\n nextDay : '[މާދަމާ] LT',\n nextWeek : 'dddd LT',\n lastDay : '[އިއްޔެ] LT',\n lastWeek : '[ފާއިތުވި] dddd LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'ތެރޭގައި %s',\n past : 'ކުރިން %s',\n s : 'ސިކުންތުކޮޅެއް',\n ss : 'd% ސިކުންތު',\n m : 'މިނިޓެއް',\n mm : 'މިނިޓު %d',\n h : 'ގަޑިއިރެއް',\n hh : 'ގަޑިއިރު %d',\n d : 'ދުވަހެއް',\n dd : 'ދުވަސް %d',\n M : 'މަހެއް',\n MM : 'މަސް %d',\n y : 'އަހަރެއް',\n yy : 'އަހަރު %d'\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/,/g, '،');\n },\n week : {\n dow : 7, // Sunday is the first day of the week.\n doy : 12 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return dv;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n 'm': ['eine Minute', 'einer Minute'],\n 'h': ['eine Stunde', 'einer Stunde'],\n 'd': ['ein Tag', 'einem Tag'],\n 'dd': [number + ' Tage', number + ' Tagen'],\n 'M': ['ein Monat', 'einem Monat'],\n 'MM': [number + ' Monate', number + ' Monaten'],\n 'y': ['ein Jahr', 'einem Jahr'],\n 'yy': [number + ' Jahre', number + ' Jahren']\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n\n var deCh = moment.defineLocale('de-ch', {\n months : 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),\n monthsShort : 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),\n monthsParseExact : true,\n weekdays : 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'),\n weekdaysShort : 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n weekdaysMin : 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY HH:mm',\n LLLL : 'dddd, D. MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[heute um] LT [Uhr]',\n sameElse: 'L',\n nextDay: '[morgen um] LT [Uhr]',\n nextWeek: 'dddd [um] LT [Uhr]',\n lastDay: '[gestern um] LT [Uhr]',\n lastWeek: '[letzten] dddd [um] LT [Uhr]'\n },\n relativeTime : {\n future : 'in %s',\n past : 'vor %s',\n s : 'ein paar Sekunden',\n ss : '%d Sekunden',\n m : processRelativeTime,\n mm : '%d Minuten',\n h : processRelativeTime,\n hh : '%d Stunden',\n d : processRelativeTime,\n dd : processRelativeTime,\n M : processRelativeTime,\n MM : processRelativeTime,\n y : processRelativeTime,\n yy : processRelativeTime\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return deCh;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n 'm': ['eine Minute', 'einer Minute'],\n 'h': ['eine Stunde', 'einer Stunde'],\n 'd': ['ein Tag', 'einem Tag'],\n 'dd': [number + ' Tage', number + ' Tagen'],\n 'M': ['ein Monat', 'einem Monat'],\n 'MM': [number + ' Monate', number + ' Monaten'],\n 'y': ['ein Jahr', 'einem Jahr'],\n 'yy': [number + ' Jahre', number + ' Jahren']\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n\n var deAt = moment.defineLocale('de-at', {\n months : 'Jänner_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),\n monthsShort : 'Jän._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),\n monthsParseExact : true,\n weekdays : 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'),\n weekdaysShort : 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'),\n weekdaysMin : 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY HH:mm',\n LLLL : 'dddd, D. MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[heute um] LT [Uhr]',\n sameElse: 'L',\n nextDay: '[morgen um] LT [Uhr]',\n nextWeek: 'dddd [um] LT [Uhr]',\n lastDay: '[gestern um] LT [Uhr]',\n lastWeek: '[letzten] dddd [um] LT [Uhr]'\n },\n relativeTime : {\n future : 'in %s',\n past : 'vor %s',\n s : 'ein paar Sekunden',\n ss : '%d Sekunden',\n m : processRelativeTime,\n mm : '%d Minuten',\n h : processRelativeTime,\n hh : '%d Stunden',\n d : processRelativeTime,\n dd : processRelativeTime,\n M : processRelativeTime,\n MM : processRelativeTime,\n y : processRelativeTime,\n yy : processRelativeTime\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return deAt;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n 'm': ['eine Minute', 'einer Minute'],\n 'h': ['eine Stunde', 'einer Stunde'],\n 'd': ['ein Tag', 'einem Tag'],\n 'dd': [number + ' Tage', number + ' Tagen'],\n 'M': ['ein Monat', 'einem Monat'],\n 'MM': [number + ' Monate', number + ' Monaten'],\n 'y': ['ein Jahr', 'einem Jahr'],\n 'yy': [number + ' Jahre', number + ' Jahren']\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n\n var de = moment.defineLocale('de', {\n months : 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),\n monthsShort : 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),\n monthsParseExact : true,\n weekdays : 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'),\n weekdaysShort : 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'),\n weekdaysMin : 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY HH:mm',\n LLLL : 'dddd, D. MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[heute um] LT [Uhr]',\n sameElse: 'L',\n nextDay: '[morgen um] LT [Uhr]',\n nextWeek: 'dddd [um] LT [Uhr]',\n lastDay: '[gestern um] LT [Uhr]',\n lastWeek: '[letzten] dddd [um] LT [Uhr]'\n },\n relativeTime : {\n future : 'in %s',\n past : 'vor %s',\n s : 'ein paar Sekunden',\n ss : '%d Sekunden',\n m : processRelativeTime,\n mm : '%d Minuten',\n h : processRelativeTime,\n hh : '%d Stunden',\n d : processRelativeTime,\n dd : processRelativeTime,\n M : processRelativeTime,\n MM : processRelativeTime,\n y : processRelativeTime,\n yy : processRelativeTime\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return de;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var da = moment.defineLocale('da', {\n months : 'januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december'.split('_'),\n monthsShort : 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n weekdays : 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),\n weekdaysShort : 'søn_man_tir_ons_tor_fre_lør'.split('_'),\n weekdaysMin : 'sø_ma_ti_on_to_fr_lø'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY HH:mm',\n LLLL : 'dddd [d.] D. MMMM YYYY [kl.] HH:mm'\n },\n calendar : {\n sameDay : '[i dag kl.] LT',\n nextDay : '[i morgen kl.] LT',\n nextWeek : 'på dddd [kl.] LT',\n lastDay : '[i går kl.] LT',\n lastWeek : '[i] dddd[s kl.] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'om %s',\n past : '%s siden',\n s : 'få sekunder',\n ss : '%d sekunder',\n m : 'et minut',\n mm : '%d minutter',\n h : 'en time',\n hh : '%d timer',\n d : 'en dag',\n dd : '%d dage',\n M : 'en måned',\n MM : '%d måneder',\n y : 'et år',\n yy : '%d år'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return da;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var cy = moment.defineLocale('cy', {\n months: 'Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr'.split('_'),\n monthsShort: 'Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag'.split('_'),\n weekdays: 'Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn'.split('_'),\n weekdaysShort: 'Sul_Llun_Maw_Mer_Iau_Gwe_Sad'.split('_'),\n weekdaysMin: 'Su_Ll_Ma_Me_Ia_Gw_Sa'.split('_'),\n weekdaysParseExact : true,\n // time formats are the same as en-gb\n longDateFormat: {\n LT: 'HH:mm',\n LTS : 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Heddiw am] LT',\n nextDay: '[Yfory am] LT',\n nextWeek: 'dddd [am] LT',\n lastDay: '[Ddoe am] LT',\n lastWeek: 'dddd [diwethaf am] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'mewn %s',\n past: '%s yn ôl',\n s: 'ychydig eiliadau',\n ss: '%d eiliad',\n m: 'munud',\n mm: '%d munud',\n h: 'awr',\n hh: '%d awr',\n d: 'diwrnod',\n dd: '%d diwrnod',\n M: 'mis',\n MM: '%d mis',\n y: 'blwyddyn',\n yy: '%d flynedd'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(fed|ain|af|il|ydd|ed|eg)/,\n // traditional ordinal numbers above 31 are not commonly used in colloquial Welsh\n ordinal: function (number) {\n var b = number,\n output = '',\n lookup = [\n '', 'af', 'il', 'ydd', 'ydd', 'ed', 'ed', 'ed', 'fed', 'fed', 'fed', // 1af to 10fed\n 'eg', 'fed', 'eg', 'eg', 'fed', 'eg', 'eg', 'fed', 'eg', 'fed' // 11eg to 20fed\n ];\n if (b > 20) {\n if (b === 40 || b === 50 || b === 60 || b === 80 || b === 100) {\n output = 'fed'; // not 30ain, 70ain or 90ain\n } else {\n output = 'ain';\n }\n } else if (b > 0) {\n output = lookup[b];\n }\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return cy;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var cv = moment.defineLocale('cv', {\n months : 'кӑрлач_нарӑс_пуш_ака_май_ҫӗртме_утӑ_ҫурла_авӑн_юпа_чӳк_раштав'.split('_'),\n monthsShort : 'кӑр_нар_пуш_ака_май_ҫӗр_утӑ_ҫур_авн_юпа_чӳк_раш'.split('_'),\n weekdays : 'вырсарникун_тунтикун_ытларикун_юнкун_кӗҫнерникун_эрнекун_шӑматкун'.split('_'),\n weekdaysShort : 'выр_тун_ытл_юн_кӗҫ_эрн_шӑм'.split('_'),\n weekdaysMin : 'вр_тн_ыт_юн_кҫ_эр_шм'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD-MM-YYYY',\n LL : 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ]',\n LLL : 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm',\n LLLL : 'dddd, YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm'\n },\n calendar : {\n sameDay: '[Паян] LT [сехетре]',\n nextDay: '[Ыран] LT [сехетре]',\n lastDay: '[Ӗнер] LT [сехетре]',\n nextWeek: '[Ҫитес] dddd LT [сехетре]',\n lastWeek: '[Иртнӗ] dddd LT [сехетре]',\n sameElse: 'L'\n },\n relativeTime : {\n future : function (output) {\n var affix = /сехет$/i.exec(output) ? 'рен' : /ҫул$/i.exec(output) ? 'тан' : 'ран';\n return output + affix;\n },\n past : '%s каялла',\n s : 'пӗр-ик ҫеккунт',\n ss : '%d ҫеккунт',\n m : 'пӗр минут',\n mm : '%d минут',\n h : 'пӗр сехет',\n hh : '%d сехет',\n d : 'пӗр кун',\n dd : '%d кун',\n M : 'пӗр уйӑх',\n MM : '%d уйӑх',\n y : 'пӗр ҫул',\n yy : '%d ҫул'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-мӗш/,\n ordinal : '%d-мӗш',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return cv;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var months = 'leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec'.split('_'),\n monthsShort = 'led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro'.split('_');\n function plural(n) {\n return (n > 1) && (n < 5) && (~~(n / 10) !== 1);\n }\n function translate(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n switch (key) {\n case 's': // a few seconds / in a few seconds / a few seconds ago\n return (withoutSuffix || isFuture) ? 'pár sekund' : 'pár sekundami';\n case 'ss': // 9 seconds / in 9 seconds / 9 seconds ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'sekundy' : 'sekund');\n } else {\n return result + 'sekundami';\n }\n break;\n case 'm': // a minute / in a minute / a minute ago\n return withoutSuffix ? 'minuta' : (isFuture ? 'minutu' : 'minutou');\n case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'minuty' : 'minut');\n } else {\n return result + 'minutami';\n }\n break;\n case 'h': // an hour / in an hour / an hour ago\n return withoutSuffix ? 'hodina' : (isFuture ? 'hodinu' : 'hodinou');\n case 'hh': // 9 hours / in 9 hours / 9 hours ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'hodiny' : 'hodin');\n } else {\n return result + 'hodinami';\n }\n break;\n case 'd': // a day / in a day / a day ago\n return (withoutSuffix || isFuture) ? 'den' : 'dnem';\n case 'dd': // 9 days / in 9 days / 9 days ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'dny' : 'dní');\n } else {\n return result + 'dny';\n }\n break;\n case 'M': // a month / in a month / a month ago\n return (withoutSuffix || isFuture) ? 'měsíc' : 'měsícem';\n case 'MM': // 9 months / in 9 months / 9 months ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'měsíce' : 'měsíců');\n } else {\n return result + 'měsíci';\n }\n break;\n case 'y': // a year / in a year / a year ago\n return (withoutSuffix || isFuture) ? 'rok' : 'rokem';\n case 'yy': // 9 years / in 9 years / 9 years ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'roky' : 'let');\n } else {\n return result + 'lety';\n }\n break;\n }\n }\n\n var cs = moment.defineLocale('cs', {\n months : months,\n monthsShort : monthsShort,\n monthsParse : (function (months, monthsShort) {\n var i, _monthsParse = [];\n for (i = 0; i < 12; i++) {\n // use custom parser to solve problem with July (červenec)\n _monthsParse[i] = new RegExp('^' + months[i] + '$|^' + monthsShort[i] + '$', 'i');\n }\n return _monthsParse;\n }(months, monthsShort)),\n shortMonthsParse : (function (monthsShort) {\n var i, _shortMonthsParse = [];\n for (i = 0; i < 12; i++) {\n _shortMonthsParse[i] = new RegExp('^' + monthsShort[i] + '$', 'i');\n }\n return _shortMonthsParse;\n }(monthsShort)),\n longMonthsParse : (function (months) {\n var i, _longMonthsParse = [];\n for (i = 0; i < 12; i++) {\n _longMonthsParse[i] = new RegExp('^' + months[i] + '$', 'i');\n }\n return _longMonthsParse;\n }(months)),\n weekdays : 'neděle_pondělí_úterý_středa_čtvrtek_pátek_sobota'.split('_'),\n weekdaysShort : 'ne_po_út_st_čt_pá_so'.split('_'),\n weekdaysMin : 'ne_po_út_st_čt_pá_so'.split('_'),\n longDateFormat : {\n LT: 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY H:mm',\n LLLL : 'dddd D. MMMM YYYY H:mm',\n l : 'D. M. YYYY'\n },\n calendar : {\n sameDay: '[dnes v] LT',\n nextDay: '[zítra v] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[v neděli v] LT';\n case 1:\n case 2:\n return '[v] dddd [v] LT';\n case 3:\n return '[ve středu v] LT';\n case 4:\n return '[ve čtvrtek v] LT';\n case 5:\n return '[v pátek v] LT';\n case 6:\n return '[v sobotu v] LT';\n }\n },\n lastDay: '[včera v] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[minulou neděli v] LT';\n case 1:\n case 2:\n return '[minulé] dddd [v] LT';\n case 3:\n return '[minulou středu v] LT';\n case 4:\n case 5:\n return '[minulý] dddd [v] LT';\n case 6:\n return '[minulou sobotu v] LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : 'za %s',\n past : 'před %s',\n s : translate,\n ss : translate,\n m : translate,\n mm : translate,\n h : translate,\n hh : translate,\n d : translate,\n dd : translate,\n M : translate,\n MM : translate,\n y : translate,\n yy : translate\n },\n dayOfMonthOrdinalParse : /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return cs;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var ca = moment.defineLocale('ca', {\n months : {\n standalone: 'gener_febrer_març_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre'.split('_'),\n format: 'de gener_de febrer_de març_d\\'abril_de maig_de juny_de juliol_d\\'agost_de setembre_d\\'octubre_de novembre_de desembre'.split('_'),\n isFormat: /D[oD]?(\\s)+MMMM/\n },\n monthsShort : 'gen._febr._març_abr._maig_juny_jul._ag._set._oct._nov._des.'.split('_'),\n monthsParseExact : true,\n weekdays : 'diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte'.split('_'),\n weekdaysShort : 'dg._dl._dt._dc._dj._dv._ds.'.split('_'),\n weekdaysMin : 'dg_dl_dt_dc_dj_dv_ds'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM [de] YYYY',\n ll : 'D MMM YYYY',\n LLL : 'D MMMM [de] YYYY [a les] H:mm',\n lll : 'D MMM YYYY, H:mm',\n LLLL : 'dddd D MMMM [de] YYYY [a les] H:mm',\n llll : 'ddd D MMM YYYY, H:mm'\n },\n calendar : {\n sameDay : function () {\n return '[avui a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';\n },\n nextDay : function () {\n return '[demà a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';\n },\n nextWeek : function () {\n return 'dddd [a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';\n },\n lastDay : function () {\n return '[ahir a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';\n },\n lastWeek : function () {\n return '[el] dddd [passat a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'd\\'aquí %s',\n past : 'fa %s',\n s : 'uns segons',\n ss : '%d segons',\n m : 'un minut',\n mm : '%d minuts',\n h : 'una hora',\n hh : '%d hores',\n d : 'un dia',\n dd : '%d dies',\n M : 'un mes',\n MM : '%d mesos',\n y : 'un any',\n yy : '%d anys'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(r|n|t|è|a)/,\n ordinal : function (number, period) {\n var output = (number === 1) ? 'r' :\n (number === 2) ? 'n' :\n (number === 3) ? 'r' :\n (number === 4) ? 't' : 'è';\n if (period === 'w' || period === 'W') {\n output = 'a';\n }\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return ca;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function translate(number, withoutSuffix, key) {\n var result = number + ' ';\n switch (key) {\n case 'ss':\n if (number === 1) {\n result += 'sekunda';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sekunde';\n } else {\n result += 'sekundi';\n }\n return result;\n case 'm':\n return withoutSuffix ? 'jedna minuta' : 'jedne minute';\n case 'mm':\n if (number === 1) {\n result += 'minuta';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'minute';\n } else {\n result += 'minuta';\n }\n return result;\n case 'h':\n return withoutSuffix ? 'jedan sat' : 'jednog sata';\n case 'hh':\n if (number === 1) {\n result += 'sat';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sata';\n } else {\n result += 'sati';\n }\n return result;\n case 'dd':\n if (number === 1) {\n result += 'dan';\n } else {\n result += 'dana';\n }\n return result;\n case 'MM':\n if (number === 1) {\n result += 'mjesec';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'mjeseca';\n } else {\n result += 'mjeseci';\n }\n return result;\n case 'yy':\n if (number === 1) {\n result += 'godina';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'godine';\n } else {\n result += 'godina';\n }\n return result;\n }\n }\n\n var bs = moment.defineLocale('bs', {\n months : 'januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar'.split('_'),\n monthsShort : 'jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays : 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split('_'),\n weekdaysShort : 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n weekdaysMin : 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY H:mm',\n LLLL : 'dddd, D. MMMM YYYY H:mm'\n },\n calendar : {\n sameDay : '[danas u] LT',\n nextDay : '[sutra u] LT',\n nextWeek : function () {\n switch (this.day()) {\n case 0:\n return '[u] [nedjelju] [u] LT';\n case 3:\n return '[u] [srijedu] [u] LT';\n case 6:\n return '[u] [subotu] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay : '[jučer u] LT',\n lastWeek : function () {\n switch (this.day()) {\n case 0:\n case 3:\n return '[prošlu] dddd [u] LT';\n case 6:\n return '[prošle] [subote] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[prošli] dddd [u] LT';\n }\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'za %s',\n past : 'prije %s',\n s : 'par sekundi',\n ss : translate,\n m : translate,\n mm : translate,\n h : translate,\n hh : translate,\n d : 'dan',\n dd : translate,\n M : 'mjesec',\n MM : translate,\n y : 'godinu',\n yy : translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return bs;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function relativeTimeWithMutation(number, withoutSuffix, key) {\n var format = {\n 'mm': 'munutenn',\n 'MM': 'miz',\n 'dd': 'devezh'\n };\n return number + ' ' + mutation(format[key], number);\n }\n function specialMutationForYears(number) {\n switch (lastNumber(number)) {\n case 1:\n case 3:\n case 4:\n case 5:\n case 9:\n return number + ' bloaz';\n default:\n return number + ' vloaz';\n }\n }\n function lastNumber(number) {\n if (number > 9) {\n return lastNumber(number % 10);\n }\n return number;\n }\n function mutation(text, number) {\n if (number === 2) {\n return softMutation(text);\n }\n return text;\n }\n function softMutation(text) {\n var mutationTable = {\n 'm': 'v',\n 'b': 'v',\n 'd': 'z'\n };\n if (mutationTable[text.charAt(0)] === undefined) {\n return text;\n }\n return mutationTable[text.charAt(0)] + text.substring(1);\n }\n\n var br = moment.defineLocale('br', {\n months : 'Genver_C\\'hwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu'.split('_'),\n monthsShort : 'Gen_C\\'hwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker'.split('_'),\n weekdays : 'Sul_Lun_Meurzh_Merc\\'her_Yaou_Gwener_Sadorn'.split('_'),\n weekdaysShort : 'Sul_Lun_Meu_Mer_Yao_Gwe_Sad'.split('_'),\n weekdaysMin : 'Su_Lu_Me_Mer_Ya_Gw_Sa'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'h[e]mm A',\n LTS : 'h[e]mm:ss A',\n L : 'DD/MM/YYYY',\n LL : 'D [a viz] MMMM YYYY',\n LLL : 'D [a viz] MMMM YYYY h[e]mm A',\n LLLL : 'dddd, D [a viz] MMMM YYYY h[e]mm A'\n },\n calendar : {\n sameDay : '[Hiziv da] LT',\n nextDay : '[Warc\\'hoazh da] LT',\n nextWeek : 'dddd [da] LT',\n lastDay : '[Dec\\'h da] LT',\n lastWeek : 'dddd [paset da] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'a-benn %s',\n past : '%s \\'zo',\n s : 'un nebeud segondennoù',\n ss : '%d eilenn',\n m : 'ur vunutenn',\n mm : relativeTimeWithMutation,\n h : 'un eur',\n hh : '%d eur',\n d : 'un devezh',\n dd : relativeTimeWithMutation,\n M : 'ur miz',\n MM : relativeTimeWithMutation,\n y : 'ur bloaz',\n yy : specialMutationForYears\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(añ|vet)/,\n ordinal : function (number) {\n var output = (number === 1) ? 'añ' : 'vet';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return br;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '༡',\n '2': '༢',\n '3': '༣',\n '4': '༤',\n '5': '༥',\n '6': '༦',\n '7': '༧',\n '8': '༨',\n '9': '༩',\n '0': '༠'\n },\n numberMap = {\n '༡': '1',\n '༢': '2',\n '༣': '3',\n '༤': '4',\n '༥': '5',\n '༦': '6',\n '༧': '7',\n '༨': '8',\n '༩': '9',\n '༠': '0'\n };\n\n var bo = moment.defineLocale('bo', {\n months : 'ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ'.split('_'),\n monthsShort : 'ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ'.split('_'),\n weekdays : 'གཟའ་ཉི་མ་_གཟའ་ཟླ་བ་_གཟའ་མིག་དམར་_གཟའ་ལྷག་པ་_གཟའ་ཕུར་བུ_གཟའ་པ་སངས་_གཟའ་སྤེན་པ་'.split('_'),\n weekdaysShort : 'ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་'.split('_'),\n weekdaysMin : 'ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་'.split('_'),\n longDateFormat : {\n LT : 'A h:mm',\n LTS : 'A h:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, A h:mm',\n LLLL : 'dddd, D MMMM YYYY, A h:mm'\n },\n calendar : {\n sameDay : '[དི་རིང] LT',\n nextDay : '[སང་ཉིན] LT',\n nextWeek : '[བདུན་ཕྲག་རྗེས་མ], LT',\n lastDay : '[ཁ་སང] LT',\n lastWeek : '[བདུན་ཕྲག་མཐའ་མ] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s ལ་',\n past : '%s སྔན་ལ',\n s : 'ལམ་སང',\n ss : '%d སྐར་ཆ།',\n m : 'སྐར་མ་གཅིག',\n mm : '%d སྐར་མ',\n h : 'ཆུ་ཚོད་གཅིག',\n hh : '%d ཆུ་ཚོད',\n d : 'ཉིན་གཅིག',\n dd : '%d ཉིན་',\n M : 'ཟླ་བ་གཅིག',\n MM : '%d ཟླ་བ',\n y : 'ལོ་གཅིག',\n yy : '%d ལོ'\n },\n preparse: function (string) {\n return string.replace(/[༡༢༣༤༥༦༧༨༩༠]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /མཚན་མོ|ཞོགས་ཀས|ཉིན་གུང|དགོང་དག|མཚན་མོ/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if ((meridiem === 'མཚན་མོ' && hour >= 4) ||\n (meridiem === 'ཉིན་གུང' && hour < 5) ||\n meridiem === 'དགོང་དག') {\n return hour + 12;\n } else {\n return hour;\n }\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'མཚན་མོ';\n } else if (hour < 10) {\n return 'ཞོགས་ཀས';\n } else if (hour < 17) {\n return 'ཉིན་གུང';\n } else if (hour < 20) {\n return 'དགོང་དག';\n } else {\n return 'མཚན་མོ';\n }\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return bo;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '১',\n '2': '২',\n '3': '৩',\n '4': '৪',\n '5': '৫',\n '6': '৬',\n '7': '৭',\n '8': '৮',\n '9': '৯',\n '0': '০'\n },\n numberMap = {\n '১': '1',\n '২': '2',\n '৩': '3',\n '৪': '4',\n '৫': '5',\n '৬': '6',\n '৭': '7',\n '৮': '8',\n '৯': '9',\n '০': '0'\n };\n\n var bn = moment.defineLocale('bn', {\n months : 'জানুয়ারী_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর'.split('_'),\n monthsShort : 'জানু_ফেব_মার্চ_এপ্র_মে_জুন_জুল_আগ_সেপ্ট_অক্টো_নভে_ডিসে'.split('_'),\n weekdays : 'রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার'.split('_'),\n weekdaysShort : 'রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি'.split('_'),\n weekdaysMin : 'রবি_সোম_মঙ্গ_বুধ_বৃহঃ_শুক্র_শনি'.split('_'),\n longDateFormat : {\n LT : 'A h:mm সময়',\n LTS : 'A h:mm:ss সময়',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, A h:mm সময়',\n LLLL : 'dddd, D MMMM YYYY, A h:mm সময়'\n },\n calendar : {\n sameDay : '[আজ] LT',\n nextDay : '[আগামীকাল] LT',\n nextWeek : 'dddd, LT',\n lastDay : '[গতকাল] LT',\n lastWeek : '[গত] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s পরে',\n past : '%s আগে',\n s : 'কয়েক সেকেন্ড',\n ss : '%d সেকেন্ড',\n m : 'এক মিনিট',\n mm : '%d মিনিট',\n h : 'এক ঘন্টা',\n hh : '%d ঘন্টা',\n d : 'এক দিন',\n dd : '%d দিন',\n M : 'এক মাস',\n MM : '%d মাস',\n y : 'এক বছর',\n yy : '%d বছর'\n },\n preparse: function (string) {\n return string.replace(/[১২৩৪৫৬৭৮৯০]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /রাত|সকাল|দুপুর|বিকাল|রাত/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if ((meridiem === 'রাত' && hour >= 4) ||\n (meridiem === 'দুপুর' && hour < 5) ||\n meridiem === 'বিকাল') {\n return hour + 12;\n } else {\n return hour;\n }\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'রাত';\n } else if (hour < 10) {\n return 'সকাল';\n } else if (hour < 17) {\n return 'দুপুর';\n } else if (hour < 20) {\n return 'বিকাল';\n } else {\n return 'রাত';\n }\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return bn;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var bm = moment.defineLocale('bm', {\n months : 'Zanwuyekalo_Fewuruyekalo_Marisikalo_Awirilikalo_Mɛkalo_Zuwɛnkalo_Zuluyekalo_Utikalo_Sɛtanburukalo_ɔkutɔburukalo_Nowanburukalo_Desanburukalo'.split('_'),\n monthsShort : 'Zan_Few_Mar_Awi_Mɛ_Zuw_Zul_Uti_Sɛt_ɔku_Now_Des'.split('_'),\n weekdays : 'Kari_Ntɛnɛn_Tarata_Araba_Alamisa_Juma_Sibiri'.split('_'),\n weekdaysShort : 'Kar_Ntɛ_Tar_Ara_Ala_Jum_Sib'.split('_'),\n weekdaysMin : 'Ka_Nt_Ta_Ar_Al_Ju_Si'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'MMMM [tile] D [san] YYYY',\n LLL : 'MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm',\n LLLL : 'dddd MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm'\n },\n calendar : {\n sameDay : '[Bi lɛrɛ] LT',\n nextDay : '[Sini lɛrɛ] LT',\n nextWeek : 'dddd [don lɛrɛ] LT',\n lastDay : '[Kunu lɛrɛ] LT',\n lastWeek : 'dddd [tɛmɛnen lɛrɛ] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s kɔnɔ',\n past : 'a bɛ %s bɔ',\n s : 'sanga dama dama',\n ss : 'sekondi %d',\n m : 'miniti kelen',\n mm : 'miniti %d',\n h : 'lɛrɛ kelen',\n hh : 'lɛrɛ %d',\n d : 'tile kelen',\n dd : 'tile %d',\n M : 'kalo kelen',\n MM : 'kalo %d',\n y : 'san kelen',\n yy : 'san %d'\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return bm;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var bg = moment.defineLocale('bg', {\n months : 'януари_февруари_март_април_май_юни_юли_август_септември_октомври_ноември_декември'.split('_'),\n monthsShort : 'янр_фев_мар_апр_май_юни_юли_авг_сеп_окт_ное_дек'.split('_'),\n weekdays : 'неделя_понеделник_вторник_сряда_четвъртък_петък_събота'.split('_'),\n weekdaysShort : 'нед_пон_вто_сря_чет_пет_съб'.split('_'),\n weekdaysMin : 'нд_пн_вт_ср_чт_пт_сб'.split('_'),\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'D.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY H:mm',\n LLLL : 'dddd, D MMMM YYYY H:mm'\n },\n calendar : {\n sameDay : '[Днес в] LT',\n nextDay : '[Утре в] LT',\n nextWeek : 'dddd [в] LT',\n lastDay : '[Вчера в] LT',\n lastWeek : function () {\n switch (this.day()) {\n case 0:\n case 3:\n case 6:\n return '[В изминалата] dddd [в] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[В изминалия] dddd [в] LT';\n }\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'след %s',\n past : 'преди %s',\n s : 'няколко секунди',\n ss : '%d секунди',\n m : 'минута',\n mm : '%d минути',\n h : 'час',\n hh : '%d часа',\n d : 'ден',\n dd : '%d дни',\n M : 'месец',\n MM : '%d месеца',\n y : 'година',\n yy : '%d години'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ев|ен|ти|ви|ри|ми)/,\n ordinal : function (number) {\n var lastDigit = number % 10,\n last2Digits = number % 100;\n if (number === 0) {\n return number + '-ев';\n } else if (last2Digits === 0) {\n return number + '-ен';\n } else if (last2Digits > 10 && last2Digits < 20) {\n return number + '-ти';\n } else if (lastDigit === 1) {\n return number + '-ви';\n } else if (lastDigit === 2) {\n return number + '-ри';\n } else if (lastDigit === 7 || lastDigit === 8) {\n return number + '-ми';\n } else {\n return number + '-ти';\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return bg;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function plural(word, num) {\n var forms = word.split('_');\n return num % 10 === 1 && num % 100 !== 11 ? forms[0] : (num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) ? forms[1] : forms[2]);\n }\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n var format = {\n 'ss': withoutSuffix ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд',\n 'mm': withoutSuffix ? 'хвіліна_хвіліны_хвілін' : 'хвіліну_хвіліны_хвілін',\n 'hh': withoutSuffix ? 'гадзіна_гадзіны_гадзін' : 'гадзіну_гадзіны_гадзін',\n 'dd': 'дзень_дні_дзён',\n 'MM': 'месяц_месяцы_месяцаў',\n 'yy': 'год_гады_гадоў'\n };\n if (key === 'm') {\n return withoutSuffix ? 'хвіліна' : 'хвіліну';\n }\n else if (key === 'h') {\n return withoutSuffix ? 'гадзіна' : 'гадзіну';\n }\n else {\n return number + ' ' + plural(format[key], +number);\n }\n }\n\n var be = moment.defineLocale('be', {\n months : {\n format: 'студзеня_лютага_сакавіка_красавіка_траўня_чэрвеня_ліпеня_жніўня_верасня_кастрычніка_лістапада_снежня'.split('_'),\n standalone: 'студзень_люты_сакавік_красавік_травень_чэрвень_ліпень_жнівень_верасень_кастрычнік_лістапад_снежань'.split('_')\n },\n monthsShort : 'студ_лют_сак_крас_трав_чэрв_ліп_жнів_вер_каст_ліст_снеж'.split('_'),\n weekdays : {\n format: 'нядзелю_панядзелак_аўторак_сераду_чацвер_пятніцу_суботу'.split('_'),\n standalone: 'нядзеля_панядзелак_аўторак_серада_чацвер_пятніца_субота'.split('_'),\n isFormat: /\\[ ?[Ууў] ?(?:мінулую|наступную)? ?\\] ?dddd/\n },\n weekdaysShort : 'нд_пн_ат_ср_чц_пт_сб'.split('_'),\n weekdaysMin : 'нд_пн_ат_ср_чц_пт_сб'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY г.',\n LLL : 'D MMMM YYYY г., HH:mm',\n LLLL : 'dddd, D MMMM YYYY г., HH:mm'\n },\n calendar : {\n sameDay: '[Сёння ў] LT',\n nextDay: '[Заўтра ў] LT',\n lastDay: '[Учора ў] LT',\n nextWeek: function () {\n return '[У] dddd [ў] LT';\n },\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n case 3:\n case 5:\n case 6:\n return '[У мінулую] dddd [ў] LT';\n case 1:\n case 2:\n case 4:\n return '[У мінулы] dddd [ў] LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : 'праз %s',\n past : '%s таму',\n s : 'некалькі секунд',\n m : relativeTimeWithPlural,\n mm : relativeTimeWithPlural,\n h : relativeTimeWithPlural,\n hh : relativeTimeWithPlural,\n d : 'дзень',\n dd : relativeTimeWithPlural,\n M : 'месяц',\n MM : relativeTimeWithPlural,\n y : 'год',\n yy : relativeTimeWithPlural\n },\n meridiemParse: /ночы|раніцы|дня|вечара/,\n isPM : function (input) {\n return /^(дня|вечара)$/.test(input);\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ночы';\n } else if (hour < 12) {\n return 'раніцы';\n } else if (hour < 17) {\n return 'дня';\n } else {\n return 'вечара';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(і|ы|га)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'M':\n case 'd':\n case 'DDD':\n case 'w':\n case 'W':\n return (number % 10 === 2 || number % 10 === 3) && (number % 100 !== 12 && number % 100 !== 13) ? number + '-і' : number + '-ы';\n case 'D':\n return number + '-га';\n default:\n return number;\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return be;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var suffixes = {\n 1: '-inci',\n 5: '-inci',\n 8: '-inci',\n 70: '-inci',\n 80: '-inci',\n 2: '-nci',\n 7: '-nci',\n 20: '-nci',\n 50: '-nci',\n 3: '-üncü',\n 4: '-üncü',\n 100: '-üncü',\n 6: '-ncı',\n 9: '-uncu',\n 10: '-uncu',\n 30: '-uncu',\n 60: '-ıncı',\n 90: '-ıncı'\n };\n\n var az = moment.defineLocale('az', {\n months : 'yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr'.split('_'),\n monthsShort : 'yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek'.split('_'),\n weekdays : 'Bazar_Bazar ertəsi_Çərşənbə axşamı_Çərşənbə_Cümə axşamı_Cümə_Şənbə'.split('_'),\n weekdaysShort : 'Baz_BzE_ÇAx_Çər_CAx_Cüm_Şən'.split('_'),\n weekdaysMin : 'Bz_BE_ÇA_Çə_CA_Cü_Şə'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[bugün saat] LT',\n nextDay : '[sabah saat] LT',\n nextWeek : '[gələn həftə] dddd [saat] LT',\n lastDay : '[dünən] LT',\n lastWeek : '[keçən həftə] dddd [saat] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s sonra',\n past : '%s əvvəl',\n s : 'birneçə saniyə',\n ss : '%d saniyə',\n m : 'bir dəqiqə',\n mm : '%d dəqiqə',\n h : 'bir saat',\n hh : '%d saat',\n d : 'bir gün',\n dd : '%d gün',\n M : 'bir ay',\n MM : '%d ay',\n y : 'bir il',\n yy : '%d il'\n },\n meridiemParse: /gecə|səhər|gündüz|axşam/,\n isPM : function (input) {\n return /^(gündüz|axşam)$/.test(input);\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'gecə';\n } else if (hour < 12) {\n return 'səhər';\n } else if (hour < 17) {\n return 'gündüz';\n } else {\n return 'axşam';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ıncı|inci|nci|üncü|ncı|uncu)/,\n ordinal : function (number) {\n if (number === 0) { // special case for zero\n return number + '-ıncı';\n }\n var a = number % 10,\n b = number % 100 - a,\n c = number >= 100 ? 100 : null;\n return number + (suffixes[a] || suffixes[b] || suffixes[c]);\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return az;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var arTn = moment.defineLocale('ar-tn', {\n months: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),\n monthsShort: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact : true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'في %s',\n past: 'منذ %s',\n s: 'ثوان',\n ss : '%d ثانية',\n m: 'دقيقة',\n mm: '%d دقائق',\n h: 'ساعة',\n hh: '%d ساعات',\n d: 'يوم',\n dd: '%d أيام',\n M: 'شهر',\n MM: '%d أشهر',\n y: 'سنة',\n yy: '%d سنوات'\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return arTn;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '١',\n '2': '٢',\n '3': '٣',\n '4': '٤',\n '5': '٥',\n '6': '٦',\n '7': '٧',\n '8': '٨',\n '9': '٩',\n '0': '٠'\n }, numberMap = {\n '١': '1',\n '٢': '2',\n '٣': '3',\n '٤': '4',\n '٥': '5',\n '٦': '6',\n '٧': '7',\n '٨': '8',\n '٩': '9',\n '٠': '0'\n };\n\n var arSa = moment.defineLocale('ar-sa', {\n months : 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),\n monthsShort : 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),\n weekdays : 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort : 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n meridiemParse: /ص|م/,\n isPM : function (input) {\n return 'م' === input;\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ص';\n } else {\n return 'م';\n }\n },\n calendar : {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'في %s',\n past : 'منذ %s',\n s : 'ثوان',\n ss : '%d ثانية',\n m : 'دقيقة',\n mm : '%d دقائق',\n h : 'ساعة',\n hh : '%d ساعات',\n d : 'يوم',\n dd : '%d أيام',\n M : 'شهر',\n MM : '%d أشهر',\n y : 'سنة',\n yy : '%d سنوات'\n },\n preparse: function (string) {\n return string.replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\n return numberMap[match];\n }).replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n }).replace(/,/g, '،');\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return arSa;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var arMa = moment.defineLocale('ar-ma', {\n months : 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),\n monthsShort : 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),\n weekdays : 'الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort : 'احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'في %s',\n past : 'منذ %s',\n s : 'ثوان',\n ss : '%d ثانية',\n m : 'دقيقة',\n mm : '%d دقائق',\n h : 'ساعة',\n hh : '%d ساعات',\n d : 'يوم',\n dd : '%d أيام',\n M : 'شهر',\n MM : '%d أشهر',\n y : 'سنة',\n yy : '%d سنوات'\n },\n week : {\n dow : 6, // Saturday is the first day of the week.\n doy : 12 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return arMa;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '1',\n '2': '2',\n '3': '3',\n '4': '4',\n '5': '5',\n '6': '6',\n '7': '7',\n '8': '8',\n '9': '9',\n '0': '0'\n }, pluralForm = function (n) {\n return n === 0 ? 0 : n === 1 ? 1 : n === 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5;\n }, plurals = {\n s : ['أقل من ثانية', 'ثانية واحدة', ['ثانيتان', 'ثانيتين'], '%d ثوان', '%d ثانية', '%d ثانية'],\n m : ['أقل من دقيقة', 'دقيقة واحدة', ['دقيقتان', 'دقيقتين'], '%d دقائق', '%d دقيقة', '%d دقيقة'],\n h : ['أقل من ساعة', 'ساعة واحدة', ['ساعتان', 'ساعتين'], '%d ساعات', '%d ساعة', '%d ساعة'],\n d : ['أقل من يوم', 'يوم واحد', ['يومان', 'يومين'], '%d أيام', '%d يومًا', '%d يوم'],\n M : ['أقل من شهر', 'شهر واحد', ['شهران', 'شهرين'], '%d أشهر', '%d شهرا', '%d شهر'],\n y : ['أقل من عام', 'عام واحد', ['عامان', 'عامين'], '%d أعوام', '%d عامًا', '%d عام']\n }, pluralize = function (u) {\n return function (number, withoutSuffix, string, isFuture) {\n var f = pluralForm(number),\n str = plurals[u][pluralForm(number)];\n if (f === 2) {\n str = str[withoutSuffix ? 0 : 1];\n }\n return str.replace(/%d/i, number);\n };\n }, months = [\n 'يناير',\n 'فبراير',\n 'مارس',\n 'أبريل',\n 'مايو',\n 'يونيو',\n 'يوليو',\n 'أغسطس',\n 'سبتمبر',\n 'أكتوبر',\n 'نوفمبر',\n 'ديسمبر'\n ];\n\n var arLy = moment.defineLocale('ar-ly', {\n months : months,\n monthsShort : months,\n weekdays : 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort : 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'D/\\u200FM/\\u200FYYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n meridiemParse: /ص|م/,\n isPM : function (input) {\n return 'م' === input;\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ص';\n } else {\n return 'م';\n }\n },\n calendar : {\n sameDay: '[اليوم عند الساعة] LT',\n nextDay: '[غدًا عند الساعة] LT',\n nextWeek: 'dddd [عند الساعة] LT',\n lastDay: '[أمس عند الساعة] LT',\n lastWeek: 'dddd [عند الساعة] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'بعد %s',\n past : 'منذ %s',\n s : pluralize('s'),\n ss : pluralize('s'),\n m : pluralize('m'),\n mm : pluralize('m'),\n h : pluralize('h'),\n hh : pluralize('h'),\n d : pluralize('d'),\n dd : pluralize('d'),\n M : pluralize('M'),\n MM : pluralize('M'),\n y : pluralize('y'),\n yy : pluralize('y')\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n }).replace(/,/g, '،');\n },\n week : {\n dow : 6, // Saturday is the first day of the week.\n doy : 12 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return arLy;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var arKw = moment.defineLocale('ar-kw', {\n months : 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),\n monthsShort : 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),\n weekdays : 'الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort : 'احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'في %s',\n past : 'منذ %s',\n s : 'ثوان',\n ss : '%d ثانية',\n m : 'دقيقة',\n mm : '%d دقائق',\n h : 'ساعة',\n hh : '%d ساعات',\n d : 'يوم',\n dd : '%d أيام',\n M : 'شهر',\n MM : '%d أشهر',\n y : 'سنة',\n yy : '%d سنوات'\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 12 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return arKw;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var arDz = moment.defineLocale('ar-dz', {\n months : 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),\n monthsShort : 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),\n weekdays : 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort : 'احد_اثنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin : 'أح_إث_ثلا_أر_خم_جم_سب'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'في %s',\n past : 'منذ %s',\n s : 'ثوان',\n ss : '%d ثانية',\n m : 'دقيقة',\n mm : '%d دقائق',\n h : 'ساعة',\n hh : '%d ساعات',\n d : 'يوم',\n dd : '%d أيام',\n M : 'شهر',\n MM : '%d أشهر',\n y : 'سنة',\n yy : '%d سنوات'\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 4 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return arDz;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '١',\n '2': '٢',\n '3': '٣',\n '4': '٤',\n '5': '٥',\n '6': '٦',\n '7': '٧',\n '8': '٨',\n '9': '٩',\n '0': '٠'\n }, numberMap = {\n '١': '1',\n '٢': '2',\n '٣': '3',\n '٤': '4',\n '٥': '5',\n '٦': '6',\n '٧': '7',\n '٨': '8',\n '٩': '9',\n '٠': '0'\n }, pluralForm = function (n) {\n return n === 0 ? 0 : n === 1 ? 1 : n === 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5;\n }, plurals = {\n s : ['أقل من ثانية', 'ثانية واحدة', ['ثانيتان', 'ثانيتين'], '%d ثوان', '%d ثانية', '%d ثانية'],\n m : ['أقل من دقيقة', 'دقيقة واحدة', ['دقيقتان', 'دقيقتين'], '%d دقائق', '%d دقيقة', '%d دقيقة'],\n h : ['أقل من ساعة', 'ساعة واحدة', ['ساعتان', 'ساعتين'], '%d ساعات', '%d ساعة', '%d ساعة'],\n d : ['أقل من يوم', 'يوم واحد', ['يومان', 'يومين'], '%d أيام', '%d يومًا', '%d يوم'],\n M : ['أقل من شهر', 'شهر واحد', ['شهران', 'شهرين'], '%d أشهر', '%d شهرا', '%d شهر'],\n y : ['أقل من عام', 'عام واحد', ['عامان', 'عامين'], '%d أعوام', '%d عامًا', '%d عام']\n }, pluralize = function (u) {\n return function (number, withoutSuffix, string, isFuture) {\n var f = pluralForm(number),\n str = plurals[u][pluralForm(number)];\n if (f === 2) {\n str = str[withoutSuffix ? 0 : 1];\n }\n return str.replace(/%d/i, number);\n };\n }, months = [\n 'يناير',\n 'فبراير',\n 'مارس',\n 'أبريل',\n 'مايو',\n 'يونيو',\n 'يوليو',\n 'أغسطس',\n 'سبتمبر',\n 'أكتوبر',\n 'نوفمبر',\n 'ديسمبر'\n ];\n\n var ar = moment.defineLocale('ar', {\n months : months,\n monthsShort : months,\n weekdays : 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort : 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'D/\\u200FM/\\u200FYYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n meridiemParse: /ص|م/,\n isPM : function (input) {\n return 'م' === input;\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ص';\n } else {\n return 'م';\n }\n },\n calendar : {\n sameDay: '[اليوم عند الساعة] LT',\n nextDay: '[غدًا عند الساعة] LT',\n nextWeek: 'dddd [عند الساعة] LT',\n lastDay: '[أمس عند الساعة] LT',\n lastWeek: 'dddd [عند الساعة] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'بعد %s',\n past : 'منذ %s',\n s : pluralize('s'),\n ss : pluralize('s'),\n m : pluralize('m'),\n mm : pluralize('m'),\n h : pluralize('h'),\n hh : pluralize('h'),\n d : pluralize('d'),\n dd : pluralize('d'),\n M : pluralize('M'),\n MM : pluralize('M'),\n y : pluralize('y'),\n yy : pluralize('y')\n },\n preparse: function (string) {\n return string.replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\n return numberMap[match];\n }).replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n }).replace(/,/g, '،');\n },\n week : {\n dow : 6, // Saturday is the first day of the week.\n doy : 12 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return ar;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var af = moment.defineLocale('af', {\n months : 'Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember'.split('_'),\n monthsShort : 'Jan_Feb_Mrt_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des'.split('_'),\n weekdays : 'Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag'.split('_'),\n weekdaysShort : 'Son_Maa_Din_Woe_Don_Vry_Sat'.split('_'),\n weekdaysMin : 'So_Ma_Di_Wo_Do_Vr_Sa'.split('_'),\n meridiemParse: /vm|nm/i,\n isPM : function (input) {\n return /^nm$/i.test(input);\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours < 12) {\n return isLower ? 'vm' : 'VM';\n } else {\n return isLower ? 'nm' : 'NM';\n }\n },\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Vandag om] LT',\n nextDay : '[Môre om] LT',\n nextWeek : 'dddd [om] LT',\n lastDay : '[Gister om] LT',\n lastWeek : '[Laas] dddd [om] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'oor %s',\n past : '%s gelede',\n s : '\\'n paar sekondes',\n ss : '%d sekondes',\n m : '\\'n minuut',\n mm : '%d minute',\n h : '\\'n uur',\n hh : '%d ure',\n d : '\\'n dag',\n dd : '%d dae',\n M : '\\'n maand',\n MM : '%d maande',\n y : '\\'n jaar',\n yy : '%d jaar'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n ordinal : function (number) {\n return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de'); // Thanks to Joris Röling : https://github.com/jjupiter\n },\n week : {\n dow : 1, // Maandag is die eerste dag van die week.\n doy : 4 // Die week wat die 4de Januarie bevat is die eerste week van die jaar.\n }\n });\n\n return af;\n\n})));\n","import { each } from './each';\n\nexport function extendDeep(target) {\n for (var i = 1; i < arguments.length; i++) {\n each(arguments[i], function(prop, key){\n if (( typeof target[key] !== 'undefined' && typeof prop !== 'undefined' ) &&\n ( typeof target[key] === 'object' && typeof prop === 'object' ) &&\n ( target[key] !== null && prop !== null )) {\n extendDeep(target[key], prop);\n }\n else {\n target[key] = prop;\n }\n });\n }\n return target;\n}\n","module.exports = __WEBPACK_EXTERNAL_MODULE__132__;","module.exports = __WEBPACK_EXTERNAL_MODULE__133__;","import { each } from '../../utils/each';\nimport { extend } from '../../utils/extend';\n\nfunction average(arr, start, end){\n var set = arr.slice(start||0, (end ? end+1 : arr.length)),\n sum = 0,\n avg = null;\n\n // Add numeric values\n each(set, function(val, i){\n if (typeof val === 'number' && !isNaN(parseFloat(val))) {\n sum += parseFloat(val);\n }\n });\n return sum / set.length;\n}\n\nfunction maximum(arr, start, end){\n var set = arr.slice(start||0, (end ? end+1 : arr.length)),\n nums = [];\n\n // Pull numeric values\n each(set, function(val, i){\n if (typeof val === 'number' && !isNaN(parseFloat(val))) {\n nums.push(parseFloat(val));\n }\n });\n return Math.max.apply(Math, nums);\n}\n\nfunction minimum(arr, start, end){\n var set = arr.slice(start||0, (end ? end+1 : arr.length)),\n nums = [];\n\n // Pull numeric values\n each(set, function(val, i){\n if (typeof val === 'number' && !isNaN(parseFloat(val))) {\n nums.push(parseFloat(val));\n }\n });\n return Math.min.apply(Math, nums);\n}\n\nfunction sum(arr, start, end){\n // Copy set with given range\n var set = arr.slice(start||0, (end ? end+1 : arr.length)),\n sum = 0;\n\n // Add numeric values\n each(set, function(val, i){\n if (typeof val === 'number' && !isNaN(parseFloat(val))) {\n sum += parseFloat(val);\n }\n });\n return sum;\n}\n\nconst getColumnAverage = function (arr) {\n return average(arr, 1);\n};\nconst getRowAverage = getColumnAverage;\n\nconst getColumnSum = function (arr) {\n return sum(arr, 1);\n};\nconst getRowSum = getColumnSum;\n\nconst getColumnMaximum = function (arr) {\n return maximum(arr, 1);\n};\nconst getRowMaximum = getColumnMaximum;\n\nconst getColumnMinimum = function (arr) {\n return minimum(arr, 1);\n};\nconst getRowMinimum = getColumnMinimum;\n\nconst getColumnLabel = function (arr) {\n return arr[0];\n};\nconst getRowIndex = getColumnLabel;\n\nexport default {\n average,\n maximum,\n minimum,\n sum,\n getColumnAverage,\n getRowAverage,\n getColumnSum,\n getRowSum,\n getColumnMaximum,\n getRowMaximum,\n getColumnMinimum,\n getRowMinimum,\n getColumnLabel,\n getRowIndex,\n};\n","// Modifiers\nimport * as append from './modifiers/append';\nimport * as del from './modifiers/delete';\nimport * as filter from './modifiers/filter';\nimport * as insert from './modifiers/insert';\nimport * as select from './modifiers/select';\nimport * as sort from './modifiers/sort';\nimport * as update from './modifiers/update';\n\n// Utils\nimport analyses from './utils/analyses';\nimport { extend } from '../utils/extend';\nimport parsers from './utils/parsers';\n\nexport const Dataset = function (config = {}) {\n if (this instanceof Dataset === false) {\n return new Dataset(config);\n }\n\n this.matrix = [\n ['Index']\n ];\n this.meta = {\n type: undefined\n };\n this.config = config;\n}\n\nDataset.prototype.data = function (arr) {\n if (!arguments.length) return this.matrix;\n this.matrix = (arr instanceof Array ? arr : null);\n return this;\n};\n\nDataset.prototype.set = function (coords, value) {\n if (arguments.length < 2 || coords.length < 2) {\n throw Error('Incorrect arguments provided for #set method');\n }\n\n var colIndex = 'number' === typeof coords[0] ? coords[0] : this.matrix[0].indexOf(coords[0]),\n rowIndex = 'number' === typeof coords[1] ? coords[1] : select.selectColumn.call(this, 0).indexOf(coords[1]);\n\n var colResult = select.selectColumn.call(this, coords[0]),\n rowResult = select.selectRow.call(this, coords[1]);\n\n // Column doesn't exist, create and reset colIndex\n if (colResult.length < 1) {\n append.appendColumn.call(this, String(coords[0]));\n colIndex = this.matrix[0].length - 1;\n }\n\n // Row doesn't exist, create and reset rowIndex\n if (rowResult.length < 1) {\n append.appendRow.call(this, String(coords[1]));\n rowIndex = this.matrix.length - 1;\n }\n\n // Set provided value\n this.matrix[ rowIndex ][ colIndex ] = value;\n return this;\n};\n\nDataset.prototype.type = function(str){\n if (!arguments.length) return this.meta['type'];\n this.meta['type'] = (str ? String(str) : undefined);\n return this;\n};\n\nextend(Dataset.prototype, append);\nextend(Dataset.prototype, del);\nextend(Dataset.prototype, filter);\nextend(Dataset.prototype, insert);\nextend(Dataset.prototype, select);\nextend(Dataset.prototype, sort);\nextend(Dataset.prototype, update);\nextend(Dataset.prototype, analyses);\nDataset.parser = parsers(Dataset);\n\nexport default Dataset;\n","export default {\n render: function(){\n let html = '';\n const artifacts = this.view._artifacts.spinner = {};\n\n // Build DOM element\n html += '
';\n html += '
';\n html += '
';\n html += '
';\n html += '
';\n this.el().innerHTML = html;\n },\n update: function(){\n // no special update handling\n this.render();\n },\n destroy: function(){\n if (this.view._artifacts.spinner) {\n if (this.view._artifacts.spinner.interval) {\n clearInterval(this.view._artifacts.spinner.interval);\n }\n this.view._artifacts.spinner.radius = 0;\n try {\n delete this.view._artifacts.spinner;\n }\n catch (e) {\n this.view._artifacts.spinner = undefined;\n }\n }\n this.el().innerHTML = '';\n }\n};\n","var map = {\n\t\"./af\": 130,\n\t\"./af.js\": 130,\n\t\"./ar\": 129,\n\t\"./ar-dz\": 128,\n\t\"./ar-dz.js\": 128,\n\t\"./ar-kw\": 127,\n\t\"./ar-kw.js\": 127,\n\t\"./ar-ly\": 126,\n\t\"./ar-ly.js\": 126,\n\t\"./ar-ma\": 125,\n\t\"./ar-ma.js\": 125,\n\t\"./ar-sa\": 124,\n\t\"./ar-sa.js\": 124,\n\t\"./ar-tn\": 123,\n\t\"./ar-tn.js\": 123,\n\t\"./ar.js\": 129,\n\t\"./az\": 122,\n\t\"./az.js\": 122,\n\t\"./be\": 121,\n\t\"./be.js\": 121,\n\t\"./bg\": 120,\n\t\"./bg.js\": 120,\n\t\"./bm\": 119,\n\t\"./bm.js\": 119,\n\t\"./bn\": 118,\n\t\"./bn.js\": 118,\n\t\"./bo\": 117,\n\t\"./bo.js\": 117,\n\t\"./br\": 116,\n\t\"./br.js\": 116,\n\t\"./bs\": 115,\n\t\"./bs.js\": 115,\n\t\"./ca\": 114,\n\t\"./ca.js\": 114,\n\t\"./cs\": 113,\n\t\"./cs.js\": 113,\n\t\"./cv\": 112,\n\t\"./cv.js\": 112,\n\t\"./cy\": 111,\n\t\"./cy.js\": 111,\n\t\"./da\": 110,\n\t\"./da.js\": 110,\n\t\"./de\": 109,\n\t\"./de-at\": 108,\n\t\"./de-at.js\": 108,\n\t\"./de-ch\": 107,\n\t\"./de-ch.js\": 107,\n\t\"./de.js\": 109,\n\t\"./dv\": 106,\n\t\"./dv.js\": 106,\n\t\"./el\": 105,\n\t\"./el.js\": 105,\n\t\"./en-au\": 104,\n\t\"./en-au.js\": 104,\n\t\"./en-ca\": 103,\n\t\"./en-ca.js\": 103,\n\t\"./en-gb\": 102,\n\t\"./en-gb.js\": 102,\n\t\"./en-ie\": 101,\n\t\"./en-ie.js\": 101,\n\t\"./en-il\": 100,\n\t\"./en-il.js\": 100,\n\t\"./en-nz\": 99,\n\t\"./en-nz.js\": 99,\n\t\"./eo\": 98,\n\t\"./eo.js\": 98,\n\t\"./es\": 97,\n\t\"./es-do\": 96,\n\t\"./es-do.js\": 96,\n\t\"./es-us\": 95,\n\t\"./es-us.js\": 95,\n\t\"./es.js\": 97,\n\t\"./et\": 94,\n\t\"./et.js\": 94,\n\t\"./eu\": 93,\n\t\"./eu.js\": 93,\n\t\"./fa\": 92,\n\t\"./fa.js\": 92,\n\t\"./fi\": 91,\n\t\"./fi.js\": 91,\n\t\"./fo\": 90,\n\t\"./fo.js\": 90,\n\t\"./fr\": 89,\n\t\"./fr-ca\": 88,\n\t\"./fr-ca.js\": 88,\n\t\"./fr-ch\": 87,\n\t\"./fr-ch.js\": 87,\n\t\"./fr.js\": 89,\n\t\"./fy\": 86,\n\t\"./fy.js\": 86,\n\t\"./gd\": 85,\n\t\"./gd.js\": 85,\n\t\"./gl\": 84,\n\t\"./gl.js\": 84,\n\t\"./gom-latn\": 83,\n\t\"./gom-latn.js\": 83,\n\t\"./gu\": 82,\n\t\"./gu.js\": 82,\n\t\"./he\": 81,\n\t\"./he.js\": 81,\n\t\"./hi\": 80,\n\t\"./hi.js\": 80,\n\t\"./hr\": 79,\n\t\"./hr.js\": 79,\n\t\"./hu\": 78,\n\t\"./hu.js\": 78,\n\t\"./hy-am\": 77,\n\t\"./hy-am.js\": 77,\n\t\"./id\": 76,\n\t\"./id.js\": 76,\n\t\"./is\": 75,\n\t\"./is.js\": 75,\n\t\"./it\": 74,\n\t\"./it.js\": 74,\n\t\"./ja\": 73,\n\t\"./ja.js\": 73,\n\t\"./jv\": 72,\n\t\"./jv.js\": 72,\n\t\"./ka\": 71,\n\t\"./ka.js\": 71,\n\t\"./kk\": 70,\n\t\"./kk.js\": 70,\n\t\"./km\": 69,\n\t\"./km.js\": 69,\n\t\"./kn\": 68,\n\t\"./kn.js\": 68,\n\t\"./ko\": 67,\n\t\"./ko.js\": 67,\n\t\"./ky\": 66,\n\t\"./ky.js\": 66,\n\t\"./lb\": 65,\n\t\"./lb.js\": 65,\n\t\"./lo\": 64,\n\t\"./lo.js\": 64,\n\t\"./lt\": 63,\n\t\"./lt.js\": 63,\n\t\"./lv\": 62,\n\t\"./lv.js\": 62,\n\t\"./me\": 61,\n\t\"./me.js\": 61,\n\t\"./mi\": 60,\n\t\"./mi.js\": 60,\n\t\"./mk\": 59,\n\t\"./mk.js\": 59,\n\t\"./ml\": 58,\n\t\"./ml.js\": 58,\n\t\"./mn\": 57,\n\t\"./mn.js\": 57,\n\t\"./mr\": 56,\n\t\"./mr.js\": 56,\n\t\"./ms\": 55,\n\t\"./ms-my\": 54,\n\t\"./ms-my.js\": 54,\n\t\"./ms.js\": 55,\n\t\"./mt\": 53,\n\t\"./mt.js\": 53,\n\t\"./my\": 52,\n\t\"./my.js\": 52,\n\t\"./nb\": 51,\n\t\"./nb.js\": 51,\n\t\"./ne\": 50,\n\t\"./ne.js\": 50,\n\t\"./nl\": 49,\n\t\"./nl-be\": 48,\n\t\"./nl-be.js\": 48,\n\t\"./nl.js\": 49,\n\t\"./nn\": 47,\n\t\"./nn.js\": 47,\n\t\"./pa-in\": 46,\n\t\"./pa-in.js\": 46,\n\t\"./pl\": 45,\n\t\"./pl.js\": 45,\n\t\"./pt\": 44,\n\t\"./pt-br\": 43,\n\t\"./pt-br.js\": 43,\n\t\"./pt.js\": 44,\n\t\"./ro\": 42,\n\t\"./ro.js\": 42,\n\t\"./ru\": 41,\n\t\"./ru.js\": 41,\n\t\"./sd\": 40,\n\t\"./sd.js\": 40,\n\t\"./se\": 39,\n\t\"./se.js\": 39,\n\t\"./si\": 38,\n\t\"./si.js\": 38,\n\t\"./sk\": 37,\n\t\"./sk.js\": 37,\n\t\"./sl\": 36,\n\t\"./sl.js\": 36,\n\t\"./sq\": 35,\n\t\"./sq.js\": 35,\n\t\"./sr\": 34,\n\t\"./sr-cyrl\": 33,\n\t\"./sr-cyrl.js\": 33,\n\t\"./sr.js\": 34,\n\t\"./ss\": 32,\n\t\"./ss.js\": 32,\n\t\"./sv\": 31,\n\t\"./sv.js\": 31,\n\t\"./sw\": 30,\n\t\"./sw.js\": 30,\n\t\"./ta\": 29,\n\t\"./ta.js\": 29,\n\t\"./te\": 28,\n\t\"./te.js\": 28,\n\t\"./tet\": 27,\n\t\"./tet.js\": 27,\n\t\"./tg\": 26,\n\t\"./tg.js\": 26,\n\t\"./th\": 25,\n\t\"./th.js\": 25,\n\t\"./tl-ph\": 24,\n\t\"./tl-ph.js\": 24,\n\t\"./tlh\": 23,\n\t\"./tlh.js\": 23,\n\t\"./tr\": 22,\n\t\"./tr.js\": 22,\n\t\"./tzl\": 21,\n\t\"./tzl.js\": 21,\n\t\"./tzm\": 20,\n\t\"./tzm-latn\": 19,\n\t\"./tzm-latn.js\": 19,\n\t\"./tzm.js\": 20,\n\t\"./ug-cn\": 18,\n\t\"./ug-cn.js\": 18,\n\t\"./uk\": 17,\n\t\"./uk.js\": 17,\n\t\"./ur\": 16,\n\t\"./ur.js\": 16,\n\t\"./uz\": 15,\n\t\"./uz-latn\": 14,\n\t\"./uz-latn.js\": 14,\n\t\"./uz.js\": 15,\n\t\"./vi\": 13,\n\t\"./vi.js\": 13,\n\t\"./x-pseudo\": 12,\n\t\"./x-pseudo.js\": 12,\n\t\"./yo\": 11,\n\t\"./yo.js\": 11,\n\t\"./zh-cn\": 10,\n\t\"./zh-cn.js\": 10,\n\t\"./zh-hk\": 9,\n\t\"./zh-hk.js\": 9,\n\t\"./zh-tw\": 8,\n\t\"./zh-tw.js\": 8\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\tvar module = __webpack_require__(id);\n\treturn module;\n}\nfunction webpackContextResolve(req) {\n\tvar id = map[req];\n\tif(!(id + 1)) { // check for number or string\n\t\tvar e = new Error('Cannot find module \"' + req + '\".');\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn id;\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 138;","module.exports = function(module) {\r\n\tif (!module.webpackPolyfill) {\r\n\t\tmodule.deprecate = function() {};\r\n\t\tmodule.paths = [];\r\n\t\t// module.parent = undefined by default\r\n\t\tif (!module.children) module.children = [];\r\n\t\tObject.defineProperty(module, \"loaded\", {\r\n\t\t\tenumerable: true,\r\n\t\t\tget: function() {\r\n\t\t\t\treturn module.l;\r\n\t\t\t}\r\n\t\t});\r\n\t\tObject.defineProperty(module, \"id\", {\r\n\t\t\tenumerable: true,\r\n\t\t\tget: function() {\r\n\t\t\t\treturn module.i;\r\n\t\t\t}\r\n\t\t});\r\n\t\tmodule.webpackPolyfill = 1;\r\n\t}\r\n\treturn module;\r\n};\r\n","//! moment-timezone.js\n//! version : 0.5.21\n//! Copyright (c) JS Foundation and other contributors\n//! license : MIT\n//! github.com/moment/moment-timezone\n\n(function (root, factory) {\n\t\"use strict\";\n\n\t/*global define*/\n\tif (typeof module === 'object' && module.exports) {\n\t\tmodule.exports = factory(require('moment')); // Node\n\t} else if (typeof define === 'function' && define.amd) {\n\t\tdefine(['moment'], factory); // AMD\n\t} else {\n\t\tfactory(root.moment); // Browser\n\t}\n}(this, function (moment) {\n\t\"use strict\";\n\n\t// Do not load moment-timezone a second time.\n\t// if (moment.tz !== undefined) {\n\t// \tlogError('Moment Timezone ' + moment.tz.version + ' was already loaded ' + (moment.tz.dataVersion ? 'with data from ' : 'without any data') + moment.tz.dataVersion);\n\t// \treturn moment;\n\t// }\n\n\tvar VERSION = \"0.5.21\",\n\t\tzones = {},\n\t\tlinks = {},\n\t\tnames = {},\n\t\tguesses = {},\n\t\tcachedGuess;\n\n\tif (!moment || typeof moment.version !== 'string') {\n\t\tlogError('Moment Timezone requires Moment.js. See https://momentjs.com/timezone/docs/#/use-it/browser/');\n\t}\n\n\tvar momentVersion = moment.version.split('.'),\n\t\tmajor = +momentVersion[0],\n\t\tminor = +momentVersion[1];\n\n\t// Moment.js version check\n\tif (major < 2 || (major === 2 && minor < 6)) {\n\t\tlogError('Moment Timezone requires Moment.js >= 2.6.0. You are using Moment.js ' + moment.version + '. See momentjs.com');\n\t}\n\n\t/************************************\n\t\tUnpacking\n\t************************************/\n\n\tfunction charCodeToInt(charCode) {\n\t\tif (charCode > 96) {\n\t\t\treturn charCode - 87;\n\t\t} else if (charCode > 64) {\n\t\t\treturn charCode - 29;\n\t\t}\n\t\treturn charCode - 48;\n\t}\n\n\tfunction unpackBase60(string) {\n\t\tvar i = 0,\n\t\t\tparts = string.split('.'),\n\t\t\twhole = parts[0],\n\t\t\tfractional = parts[1] || '',\n\t\t\tmultiplier = 1,\n\t\t\tnum,\n\t\t\tout = 0,\n\t\t\tsign = 1;\n\n\t\t// handle negative numbers\n\t\tif (string.charCodeAt(0) === 45) {\n\t\t\ti = 1;\n\t\t\tsign = -1;\n\t\t}\n\n\t\t// handle digits before the decimal\n\t\tfor (i; i < whole.length; i++) {\n\t\t\tnum = charCodeToInt(whole.charCodeAt(i));\n\t\t\tout = 60 * out + num;\n\t\t}\n\n\t\t// handle digits after the decimal\n\t\tfor (i = 0; i < fractional.length; i++) {\n\t\t\tmultiplier = multiplier / 60;\n\t\t\tnum = charCodeToInt(fractional.charCodeAt(i));\n\t\t\tout += num * multiplier;\n\t\t}\n\n\t\treturn out * sign;\n\t}\n\n\tfunction arrayToInt (array) {\n\t\tfor (var i = 0; i < array.length; i++) {\n\t\t\tarray[i] = unpackBase60(array[i]);\n\t\t}\n\t}\n\n\tfunction intToUntil (array, length) {\n\t\tfor (var i = 0; i < length; i++) {\n\t\t\tarray[i] = Math.round((array[i - 1] || 0) + (array[i] * 60000)); // minutes to milliseconds\n\t\t}\n\n\t\tarray[length - 1] = Infinity;\n\t}\n\n\tfunction mapIndices (source, indices) {\n\t\tvar out = [], i;\n\n\t\tfor (i = 0; i < indices.length; i++) {\n\t\t\tout[i] = source[indices[i]];\n\t\t}\n\n\t\treturn out;\n\t}\n\n\tfunction unpack (string) {\n\t\tvar data = string.split('|'),\n\t\t\toffsets = data[2].split(' '),\n\t\t\tindices = data[3].split(''),\n\t\t\tuntils = data[4].split(' ');\n\n\t\tarrayToInt(offsets);\n\t\tarrayToInt(indices);\n\t\tarrayToInt(untils);\n\n\t\tintToUntil(untils, indices.length);\n\n\t\treturn {\n\t\t\tname : data[0],\n\t\t\tabbrs : mapIndices(data[1].split(' '), indices),\n\t\t\toffsets : mapIndices(offsets, indices),\n\t\t\tuntils : untils,\n\t\t\tpopulation : data[5] | 0\n\t\t};\n\t}\n\n\t/************************************\n\t\tZone object\n\t************************************/\n\n\tfunction Zone (packedString) {\n\t\tif (packedString) {\n\t\t\tthis._set(unpack(packedString));\n\t\t}\n\t}\n\n\tZone.prototype = {\n\t\t_set : function (unpacked) {\n\t\t\tthis.name = unpacked.name;\n\t\t\tthis.abbrs = unpacked.abbrs;\n\t\t\tthis.untils = unpacked.untils;\n\t\t\tthis.offsets = unpacked.offsets;\n\t\t\tthis.population = unpacked.population;\n\t\t},\n\n\t\t_index : function (timestamp) {\n\t\t\tvar target = +timestamp,\n\t\t\t\tuntils = this.untils,\n\t\t\t\ti;\n\n\t\t\tfor (i = 0; i < untils.length; i++) {\n\t\t\t\tif (target < untils[i]) {\n\t\t\t\t\treturn i;\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\tparse : function (timestamp) {\n\t\t\tvar target = +timestamp,\n\t\t\t\toffsets = this.offsets,\n\t\t\t\tuntils = this.untils,\n\t\t\t\tmax = untils.length - 1,\n\t\t\t\toffset, offsetNext, offsetPrev, i;\n\n\t\t\tfor (i = 0; i < max; i++) {\n\t\t\t\toffset = offsets[i];\n\t\t\t\toffsetNext = offsets[i + 1];\n\t\t\t\toffsetPrev = offsets[i ? i - 1 : i];\n\n\t\t\t\tif (offset < offsetNext && tz.moveAmbiguousForward) {\n\t\t\t\t\toffset = offsetNext;\n\t\t\t\t} else if (offset > offsetPrev && tz.moveInvalidForward) {\n\t\t\t\t\toffset = offsetPrev;\n\t\t\t\t}\n\n\t\t\t\tif (target < untils[i] - (offset * 60000)) {\n\t\t\t\t\treturn offsets[i];\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn offsets[max];\n\t\t},\n\n\t\tabbr : function (mom) {\n\t\t\treturn this.abbrs[this._index(mom)];\n\t\t},\n\n\t\toffset : function (mom) {\n\t\t\tlogError(\"zone.offset has been deprecated in favor of zone.utcOffset\");\n\t\t\treturn this.offsets[this._index(mom)];\n\t\t},\n\n\t\tutcOffset : function (mom) {\n\t\t\treturn this.offsets[this._index(mom)];\n\t\t}\n\t};\n\n\t/************************************\n\t\tCurrent Timezone\n\t************************************/\n\n\tfunction OffsetAt(at) {\n\t\tvar timeString = at.toTimeString();\n\t\tvar abbr = timeString.match(/\\([a-z ]+\\)/i);\n\t\tif (abbr && abbr[0]) {\n\t\t\t// 17:56:31 GMT-0600 (CST)\n\t\t\t// 17:56:31 GMT-0600 (Central Standard Time)\n\t\t\tabbr = abbr[0].match(/[A-Z]/g);\n\t\t\tabbr = abbr ? abbr.join('') : undefined;\n\t\t} else {\n\t\t\t// 17:56:31 CST\n\t\t\t// 17:56:31 GMT+0800 (台北標準時間)\n\t\t\tabbr = timeString.match(/[A-Z]{3,5}/g);\n\t\t\tabbr = abbr ? abbr[0] : undefined;\n\t\t}\n\n\t\tif (abbr === 'GMT') {\n\t\t\tabbr = undefined;\n\t\t}\n\n\t\tthis.at = +at;\n\t\tthis.abbr = abbr;\n\t\tthis.offset = at.getTimezoneOffset();\n\t}\n\n\tfunction ZoneScore(zone) {\n\t\tthis.zone = zone;\n\t\tthis.offsetScore = 0;\n\t\tthis.abbrScore = 0;\n\t}\n\n\tZoneScore.prototype.scoreOffsetAt = function (offsetAt) {\n\t\tthis.offsetScore += Math.abs(this.zone.utcOffset(offsetAt.at) - offsetAt.offset);\n\t\tif (this.zone.abbr(offsetAt.at).replace(/[^A-Z]/g, '') !== offsetAt.abbr) {\n\t\t\tthis.abbrScore++;\n\t\t}\n\t};\n\n\tfunction findChange(low, high) {\n\t\tvar mid, diff;\n\n\t\twhile ((diff = ((high.at - low.at) / 12e4 | 0) * 6e4)) {\n\t\t\tmid = new OffsetAt(new Date(low.at + diff));\n\t\t\tif (mid.offset === low.offset) {\n\t\t\t\tlow = mid;\n\t\t\t} else {\n\t\t\t\thigh = mid;\n\t\t\t}\n\t\t}\n\n\t\treturn low;\n\t}\n\n\tfunction userOffsets() {\n\t\tvar startYear = new Date().getFullYear() - 2,\n\t\t\tlast = new OffsetAt(new Date(startYear, 0, 1)),\n\t\t\toffsets = [last],\n\t\t\tchange, next, i;\n\n\t\tfor (i = 1; i < 48; i++) {\n\t\t\tnext = new OffsetAt(new Date(startYear, i, 1));\n\t\t\tif (next.offset !== last.offset) {\n\t\t\t\tchange = findChange(last, next);\n\t\t\t\toffsets.push(change);\n\t\t\t\toffsets.push(new OffsetAt(new Date(change.at + 6e4)));\n\t\t\t}\n\t\t\tlast = next;\n\t\t}\n\n\t\tfor (i = 0; i < 4; i++) {\n\t\t\toffsets.push(new OffsetAt(new Date(startYear + i, 0, 1)));\n\t\t\toffsets.push(new OffsetAt(new Date(startYear + i, 6, 1)));\n\t\t}\n\n\t\treturn offsets;\n\t}\n\n\tfunction sortZoneScores (a, b) {\n\t\tif (a.offsetScore !== b.offsetScore) {\n\t\t\treturn a.offsetScore - b.offsetScore;\n\t\t}\n\t\tif (a.abbrScore !== b.abbrScore) {\n\t\t\treturn a.abbrScore - b.abbrScore;\n\t\t}\n\t\treturn b.zone.population - a.zone.population;\n\t}\n\n\tfunction addToGuesses (name, offsets) {\n\t\tvar i, offset;\n\t\tarrayToInt(offsets);\n\t\tfor (i = 0; i < offsets.length; i++) {\n\t\t\toffset = offsets[i];\n\t\t\tguesses[offset] = guesses[offset] || {};\n\t\t\tguesses[offset][name] = true;\n\t\t}\n\t}\n\n\tfunction guessesForUserOffsets (offsets) {\n\t\tvar offsetsLength = offsets.length,\n\t\t\tfilteredGuesses = {},\n\t\t\tout = [],\n\t\t\ti, j, guessesOffset;\n\n\t\tfor (i = 0; i < offsetsLength; i++) {\n\t\t\tguessesOffset = guesses[offsets[i].offset] || {};\n\t\t\tfor (j in guessesOffset) {\n\t\t\t\tif (guessesOffset.hasOwnProperty(j)) {\n\t\t\t\t\tfilteredGuesses[j] = true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tfor (i in filteredGuesses) {\n\t\t\tif (filteredGuesses.hasOwnProperty(i)) {\n\t\t\t\tout.push(names[i]);\n\t\t\t}\n\t\t}\n\n\t\treturn out;\n\t}\n\n\tfunction rebuildGuess () {\n\n\t\t// use Intl API when available and returning valid time zone\n\t\ttry {\n\t\t\tvar intlName = Intl.DateTimeFormat().resolvedOptions().timeZone;\n\t\t\tif (intlName && intlName.length > 3) {\n\t\t\t\tvar name = names[normalizeName(intlName)];\n\t\t\t\tif (name) {\n\t\t\t\t\treturn name;\n\t\t\t\t}\n\t\t\t\tlogError(\"Moment Timezone found \" + intlName + \" from the Intl api, but did not have that data loaded.\");\n\t\t\t}\n\t\t} catch (e) {\n\t\t\t// Intl unavailable, fall back to manual guessing.\n\t\t}\n\n\t\tvar offsets = userOffsets(),\n\t\t\toffsetsLength = offsets.length,\n\t\t\tguesses = guessesForUserOffsets(offsets),\n\t\t\tzoneScores = [],\n\t\t\tzoneScore, i, j;\n\n\t\tfor (i = 0; i < guesses.length; i++) {\n\t\t\tzoneScore = new ZoneScore(getZone(guesses[i]), offsetsLength);\n\t\t\tfor (j = 0; j < offsetsLength; j++) {\n\t\t\t\tzoneScore.scoreOffsetAt(offsets[j]);\n\t\t\t}\n\t\t\tzoneScores.push(zoneScore);\n\t\t}\n\n\t\tzoneScores.sort(sortZoneScores);\n\n\t\treturn zoneScores.length > 0 ? zoneScores[0].zone.name : undefined;\n\t}\n\n\tfunction guess (ignoreCache) {\n\t\tif (!cachedGuess || ignoreCache) {\n\t\t\tcachedGuess = rebuildGuess();\n\t\t}\n\t\treturn cachedGuess;\n\t}\n\n\t/************************************\n\t\tGlobal Methods\n\t************************************/\n\n\tfunction normalizeName (name) {\n\t\treturn (name || '').toLowerCase().replace(/\\//g, '_');\n\t}\n\n\tfunction addZone (packed) {\n\t\tvar i, name, split, normalized;\n\n\t\tif (typeof packed === \"string\") {\n\t\t\tpacked = [packed];\n\t\t}\n\n\t\tfor (i = 0; i < packed.length; i++) {\n\t\t\tsplit = packed[i].split('|');\n\t\t\tname = split[0];\n\t\t\tnormalized = normalizeName(name);\n\t\t\tzones[normalized] = packed[i];\n\t\t\tnames[normalized] = name;\n\t\t\taddToGuesses(normalized, split[2].split(' '));\n\t\t}\n\t}\n\n\tfunction getZone (name, caller) {\n\t\t\n\t\tname = normalizeName(name);\n\n\t\tvar zone = zones[name];\n\t\tvar link;\n\n\t\tif (zone instanceof Zone) {\n\t\t\treturn zone;\n\t\t}\n\n\t\tif (typeof zone === 'string') {\n\t\t\tzone = new Zone(zone);\n\t\t\tzones[name] = zone;\n\t\t\treturn zone;\n\t\t}\n\n\t\t// Pass getZone to prevent recursion more than 1 level deep\n\t\tif (links[name] && caller !== getZone && (link = getZone(links[name], getZone))) {\n\t\t\tzone = zones[name] = new Zone();\n\t\t\tzone._set(link);\n\t\t\tzone.name = names[name];\n\t\t\treturn zone;\n\t\t}\n\n\t\treturn null;\n\t}\n\n\tfunction getNames () {\n\t\tvar i, out = [];\n\n\t\tfor (i in names) {\n\t\t\tif (names.hasOwnProperty(i) && (zones[i] || zones[links[i]]) && names[i]) {\n\t\t\t\tout.push(names[i]);\n\t\t\t}\n\t\t}\n\n\t\treturn out.sort();\n\t}\n\n\tfunction addLink (aliases) {\n\t\tvar i, alias, normal0, normal1;\n\n\t\tif (typeof aliases === \"string\") {\n\t\t\taliases = [aliases];\n\t\t}\n\n\t\tfor (i = 0; i < aliases.length; i++) {\n\t\t\talias = aliases[i].split('|');\n\n\t\t\tnormal0 = normalizeName(alias[0]);\n\t\t\tnormal1 = normalizeName(alias[1]);\n\n\t\t\tlinks[normal0] = normal1;\n\t\t\tnames[normal0] = alias[0];\n\n\t\t\tlinks[normal1] = normal0;\n\t\t\tnames[normal1] = alias[1];\n\t\t}\n\t}\n\n\tfunction loadData (data) {\n\t\taddZone(data.zones);\n\t\taddLink(data.links);\n\t\ttz.dataVersion = data.version;\n\t}\n\n\tfunction zoneExists (name) {\n\t\tif (!zoneExists.didShowError) {\n\t\t\tzoneExists.didShowError = true;\n\t\t\t\tlogError(\"moment.tz.zoneExists('\" + name + \"') has been deprecated in favor of !moment.tz.zone('\" + name + \"')\");\n\t\t}\n\t\treturn !!getZone(name);\n\t}\n\n\tfunction needsOffset (m) {\n\t\tvar isUnixTimestamp = (m._f === 'X' || m._f === 'x');\n\t\treturn !!(m._a && (m._tzm === undefined) && !isUnixTimestamp);\n\t}\n\n\tfunction logError (message) {\n\t\tif (typeof console !== 'undefined' && typeof console.error === 'function') {\n\t\t\tconsole.error(message);\n\t\t}\n\t}\n\n\t/************************************\n\t\tmoment.tz namespace\n\t************************************/\n\n\tfunction tz (input) {\n\t\tvar args = Array.prototype.slice.call(arguments, 0, -1),\n\t\t\tname = arguments[arguments.length - 1],\n\t\t\tzone = getZone(name),\n\t\t\tout = moment.utc.apply(null, args);\n\n\t\tif (zone && !moment.isMoment(input) && needsOffset(out)) {\n\t\t\tout.add(zone.parse(out), 'minutes');\n\t\t}\n\n\t\tout.tz(name);\n\n\t\treturn out;\n\t}\n\n\ttz.version = VERSION;\n\ttz.dataVersion = '';\n\ttz._zones = zones;\n\ttz._links = links;\n\ttz._names = names;\n\ttz.add = addZone;\n\ttz.link = addLink;\n\ttz.load = loadData;\n\ttz.zone = getZone;\n\ttz.zoneExists = zoneExists; // deprecated in 0.1.0\n\ttz.guess = guess;\n\ttz.names = getNames;\n\ttz.Zone = Zone;\n\ttz.unpack = unpack;\n\ttz.unpackBase60 = unpackBase60;\n\ttz.needsOffset = needsOffset;\n\ttz.moveInvalidForward = true;\n\ttz.moveAmbiguousForward = false;\n\n\t/************************************\n\t\tInterface with Moment.js\n\t************************************/\n\n\tvar fn = moment.fn;\n\n\tmoment.tz = tz;\n\n\tmoment.defaultZone = null;\n\n\tmoment.updateOffset = function (mom, keepTime) {\n\t\tvar zone = moment.defaultZone,\n\t\t\toffset;\n\n\t\tif (mom._z === undefined) {\n\t\t\tif (zone && needsOffset(mom) && !mom._isUTC) {\n\t\t\t\tmom._d = moment.utc(mom._a)._d;\n\t\t\t\tmom.utc().add(zone.parse(mom), 'minutes');\n\t\t\t}\n\t\t\tmom._z = zone;\n\t\t}\n\t\tif (mom._z) {\n\t\t\toffset = mom._z.utcOffset(mom);\n\t\t\tif (Math.abs(offset) < 16) {\n\t\t\t\toffset = offset / 60;\n\t\t\t}\n\t\t\tif (mom.utcOffset !== undefined) {\n\t\t\t\tmom.utcOffset(-offset, keepTime);\n\t\t\t} else {\n\t\t\t\tmom.zone(offset, keepTime);\n\t\t\t}\n\t\t}\n\t};\n\n\tfn.tz = function (name, keepTime) {\n\t\tif (name) {\n\t\t\tif (typeof name !== 'string') {\n\t\t\t\tthrow new Error('Time zone name must be a string, got ' + name + ' [' + typeof name + ']');\n\t\t\t}\n\t\t\tthis._z = getZone(name);\n\t\t\tif (this._z) {\n\t\t\t\tmoment.updateOffset(this, keepTime);\n\t\t\t} else {\n\t\t\t\tlogError(\"Moment Timezone has no data for \" + name + \". See http://momentjs.com/timezone/docs/#/data-loading/.\");\n\t\t\t}\n\t\t\treturn this;\n\t\t}\n\t\tif (this._z) { return this._z.name; }\n\t};\n\n\tfunction abbrWrap (old) {\n\t\treturn function () {\n\t\t\tif (this._z) { return this._z.abbr(this); }\n\t\t\treturn old.call(this);\n\t\t};\n\t}\n\n\tfunction resetZoneWrap (old) {\n\t\treturn function () {\n\t\t\tthis._z = null;\n\t\t\treturn old.apply(this, arguments);\n\t\t};\n\t}\n\n\tfn.zoneName = abbrWrap(fn.zoneName);\n\tfn.zoneAbbr = abbrWrap(fn.zoneAbbr);\n\tfn.utc = resetZoneWrap(fn.utc);\n\n\tmoment.tz.setDefault = function(name) {\n\t\tif (major < 2 || (major === 2 && minor < 9)) {\n\t\t\tlogError('Moment Timezone setDefault() requires Moment.js >= 2.9.0. You are using Moment.js ' + moment.version + '.');\n\t\t}\n\t\tmoment.defaultZone = name ? getZone(name) : null;\n\t\treturn moment;\n\t};\n\n\t// Cloning a moment should include the _z property.\n\tvar momentProperties = moment.momentProperties;\n\tif (Object.prototype.toString.call(momentProperties) === '[object Array]') {\n\t\t// moment 2.8.1+\n\t\tmomentProperties.push('_z');\n\t\tmomentProperties.push('_a');\n\t} else if (momentProperties) {\n\t\t// moment 2.7.0\n\t\tmomentProperties._z = null;\n\t}\n\n\t// INJECT DATA\n\n\treturn moment;\n}));\n","var moment = module.exports = require(\"./moment-timezone\");\nmoment.tz.load(require('./data/packed/latest.json'));\n","import moment from 'moment-timezone';\n\nimport { each } from '../../utils/each';\nimport { stripHtmlTags } from '../../utils/strip-html-tags';\nimport { escapeHtml } from '../../utils/escape-html';\n\nconst defaults = {\n /*\n DEPRECATED - use CSS styles\n\n height: undefined,\n width: undefined,\n stickyHeader: false,\n stickyFooter: false\n */\n};\n\nlet currentPage;\nfunction _generateTableRows(datavizInstance, dataset) {\n let html = '';\n const defaultConfig = {\n page: 1,\n limit: 0,\n arrows: true\n };\n let customConfig = {};\n if (datavizInstance.config.table && datavizInstance.config.table.pagination) {\n customConfig = datavizInstance.config.table.pagination;\n }\n const config = {\n ...defaultConfig,\n ...customConfig\n };\n\n if (!currentPage){\n currentPage = config.page;\n }\n\n let datasetPaginated;\n let pages = 0;\n if (config.limit === 0) {\n datasetPaginated = dataset.slice(1); // remove header\n } else {\n const start = config.limit * (currentPage - 1) + 1;\n const end = start + config.limit;\n datasetPaginated = dataset.slice(start, end);\n pages = Math.ceil((dataset.length - 1) / config.limit);\n }\n\n let columnsArray = datavizInstance.config.table.columns ?\n datavizInstance.config.table.columns :\n datavizInstance.dataset.matrix[0];\n\n const checkArray = {};\n const { mapValues } = datavizInstance.config.table;\n for (let key in mapValues){\n checkArray[columnsArray.indexOf(key)] = key;\n }\n\n // var london = newYork.clone().tz(\"Europe/London\");\n for (let row of datasetPaginated) {\n html += '';\n for (let [index, rowCol] of row.entries()) {\n if (\n datavizInstance.config.timezone\n && rowCol instanceof Date\n ) {\n let dateTimeTimezoned = moment\n .tz(rowCol, \"UTC\")\n .clone()\n .tz(datavizInstance.config.timezone);\n html += `${dateTimeTimezoned.toString()}`;\n continue;\n }\n let rowColEscaped = escapeHtml(rowCol);\n if(checkArray[index]){\n html += `${mapValues[checkArray[index]](rowColEscaped)}`;\n continue;\n }\n html += `${rowColEscaped}`\n }\n html += '';\n }\n\n if (pages > 1){\n html += ``;\n let pageNumber = 1;\n const prevPage = (currentPage === 1) ? 1 : (currentPage - 1);\n const nextPage = (currentPage === pages) ? pages : (currentPage + 1);\n if (config.arrows){\n html += `<`;\n }\n while (pageNumber <= pages){\n html += `${pageNumber}`;\n pageNumber++;\n }\n if (config.arrows){\n html += `>`;\n }\n html += '';\n }\n\n return html;\n}\n\nfunction _generateTableHeader(datavizInstance, dataset) {\n let html = '';\n let fieldNumber = -1;\n let columnNames =\n (datavizInstance.config.table && datavizInstance.config.table.columns)\n || dataset[0];\n for (let colName of columnNames) {\n let colNameEscaped = escapeHtml(colName);\n fieldNumber +=1;\n html += `${colNameEscaped}`;\n }\n return html;\n}\n\n\n const render = function() {\n const dataset = this.dataset.matrix;\n\n const el = this.el();\n const theme = this.config.theme;\n const datavizInstance = this;\n\n let html = '';\n\n const isEmpty = dataset.length === 1 && dataset[0].length === 0;\n if (isEmpty) {\n const msg = 'No data to display';\n const mappedMsg = this.config.errorMapping[msg] || msg;\n if (this.config.showErrorMessages) {\n this.message(mappedMsg);\n }\n return;\n }\n\n // Open wrapper\n html += `
`;\n\n // Static, scrollable table\n html += ``;\n html += '';\n html += '';\n html += _generateTableHeader(datavizInstance, dataset);\n html += '';\n html += '';\n // Table data\n html += '';\n html += _generateTableRows(datavizInstance, dataset);\n html += '';\n html += '
';\n/* */\n // Close wrapper\n html += '
';\n\n // Inject HTML string\n el.querySelector(`.${theme}-rendering`).innerHTML = html;\n\n el\n .querySelectorAll(`.${theme}-rendering th`)\n .forEach((item) => {\n item.addEventListener('click', (event) => {\n let sortOrder = event.target.getAttribute('order') || 'asc';\n let fieldNumber = event.target.getAttribute('fieldNumber');\n let checker = function (a, b) {\n let sortOrderNumber = (sortOrder === 'asc') ? 1 : -1;\n\n if (typeof a[fieldNumber] === 'string') {\n let nameA = a[fieldNumber].toUpperCase(); // ignore upper and lowercase\n let nameB = b[fieldNumber].toUpperCase(); // ignore upper and lowercase\n if (nameA < nameB) {\n return -1 * sortOrderNumber;\n }\n if (nameA > nameB) {\n return 1* sortOrderNumber;\n }\n\n // names must be equal\n return 0;\n }\n return (a[fieldNumber] - b[fieldNumber]) * sortOrderNumber;\n };\n\n if (sortOrder === 'asc') {\n sortOrder = 'desc';\n } else {\n sortOrder = 'asc'\n }\n event.target.setAttribute('order', sortOrder);\n\n const first = this.dataset.matrix.shift();\n this.dataset.matrix.sort(checker);\n this.dataset.matrix.unshift(first);\n\n el.querySelector(`.${theme}-rendering tbody`).innerHTML =\n _generateTableRows(datavizInstance, dataset);\n attachBtnEventListeners();\n });\n });\n\n\n const attachBtnEventListeners = () => {\n el.querySelectorAll('.btn').forEach(btn => {\n btn.addEventListener('click', (event) => {\n currentPage = parseInt(event.target.getAttribute('data-page'));\n el.querySelector(`.${theme}-rendering tbody`).innerHTML =\n _generateTableRows(datavizInstance, dataset);\n attachBtnEventListeners();\n }, true);\n });\n };\n\n attachBtnEventListeners(datavizInstance, el, theme);\n\n if (this.config.onrendered) {\n this.config.onrendered();\n }\n };\n\n\n\nconst update = function(){\n // no special update handling\n this.render();\n };\n\nconst destroy= function(){};\n\nexport default { render, update, destroy };\n","export function prettyNumber(input) {\n // If it has 3 or fewer sig figs already, just return the number.\n var input = Number(input),\n sciNo = input.toPrecision(3),\n prefix = '',\n suffixes = ['', 'k', 'M', 'B', 'T'];\n\n if (Number(sciNo) == input && String(input).length <= 4) {\n return String(input);\n }\n\n if (Math.abs(input) >= 1000000000000000) {\n return sciNo;\n }\n\n if (input >= 1 || input <= -1) {\n if (input < 0){\n //Pull off the negative side and stash that.\n input = -input;\n prefix = '-';\n }\n return prefix + recurse(input, 0);\n }\n else {\n return input.toPrecision(3);\n }\n\n function recurse(input, iteration) {\n var input = String(input);\n var split = input.split('.');\n // If there's a dot\n if (split.length > 1) {\n // Keep the left hand side only\n input = split[0];\n var rhs = split[1];\n // If the left-hand side is too short, pad until it has 3 digits\n if (input.length == 2 && rhs.length > 0) {\n // Pad with right-hand side if possible\n if (rhs.length > 0) {\n input = input + '.' + rhs.charAt(0);\n }\n // Pad with zeroes if you must\n else {\n input += '0';\n }\n }\n else if (input.length == 1 && rhs.length > 0) {\n input = input + '.' + rhs.charAt(0);\n // Pad with right-hand side if possible\n if (rhs.length > 1) {\n input += rhs.charAt(1);\n }\n // Pad with zeroes if you must\n else {\n input += '0';\n }\n }\n }\n var numNumerals = input.length;\n // if it has a period, then numNumerals is 1 smaller than the string length:\n if (input.split('.').length > 1) {\n numNumerals--;\n }\n if (numNumerals <= 3) {\n return String(input) + suffixes[iteration];\n }\n else {\n return recurse(Number(input) / 1000, iteration + 1);\n }\n }\n}\n","import { prettyNumber } from '../../utils/pretty-number';\nimport { escapeHtml } from '../../utils/escape-html';\n\nexport default {\n render: function(){\n const color = this.config.colors[0];\n const theme = this.config.theme;\n const title = this.config.title;\n const opts = this.config;\n let value = '-';\n let html = '';\n let prefix = '';\n let suffix = '';\n let formattedNum;\n let valueEl;\n let flexDifferenceStyle = '';\n let resultDifference = '';\n let differenceStyle = '';\n let smallerValue = '';\n const { results, previousResults } = this.config;\n if(results && previousResults){\n flexDifferenceStyle = previousResults ? ' metric-comparison' : '';\n smallerValue = previousResults && title ? '-smaller' : '';\n resultDifference = results.result - previousResults.result;\n differenceStyle = (resultDifference > 0) ? '-green' : '-red';\n resultDifference = Math.abs(resultDifference);\n }\n\n if (typeof this.data()[1][1] === 'number') {\n value = this.data()[1][1];\n }\n\n formattedNum = value;\n if ( (typeof opts['prettyNumber'] === 'undefined' || opts['prettyNumber'] === true)\n && !isNaN(parseInt(value)) ) {\n formattedNum = prettyNumber(value);\n if(results && previousResults){\n resultDifference = prettyNumber(resultDifference);\n }\n }\n\n if (opts['prefix']) {\n prefix = '' + opts['prefix'] + '';\n }\n if (opts['suffix']) {\n suffix = '' + opts['suffix'] + '';\n }\n html += '
';\n html += '
';\n if (results && previousResults) {\n html += '
' + escapeHtml(resultDifference) + '
';\n }\n html += '
' + prefix + escapeHtml(formattedNum) + suffix + '
';\n if (title) {\n html += '
' + escapeHtml(title) + '
';\n }\n html += '
';\n html += '
';\n\n this.el().innerHTML = html;\n\n if (this.config.onrendered) {\n this.config.onrendered();\n }\n },\n update: function(){\n // no special update handling\n this.render();\n },\n destroy: function(){\n // no special clean-up\n }\n};\n","import { escapeHtml } from '../../utils/escape-html';\n\nexport default {\n render: function(text){\n const outer = document.createElement('div');\n const inner = document.createElement('div');\n const msg = document.createElement('span');\n\n const titleContainer = document.createElement('div');\n const notesContainer = document.createElement('div');\n\n outer.className = this.config.theme + ' keen-dataviz-box';\n inner.className = this.config.theme + '-message';\n\n // Create title and notes for message\n titleContainer.className = this.config.theme + '-title';\n titleContainer.innerHTML = escapeHtml(this.config.title || '');\n notesContainer.className = this.config.theme + '-notes';\n notesContainer.innerHTML = escapeHtml(this.config.notes || '');\n\n msg.innerHTML = escapeHtml(text) || '';\n inner.appendChild(msg);\n\n if (this.config.title && this.config.showTitle) {\n outer.appendChild(titleContainer);\n }\n\n outer.appendChild(inner);\n\n if (this.config.notes) {\n outer.appendChild(notesContainer);\n }\n\n this.el().innerHTML = '';\n this.el().appendChild(outer);\n\n },\n update: function(){\n // no special update handling\n this.render();\n },\n destroy: function(){\n // no special clean-up\n }\n};\n","import { escapeHtml } from '../../../utils/escape-html';\n\nexport default function (d, defaultTitleFormat, defaultValueFormat, color) {\n let text;\n let title;\n // Set config options or defaults\n const nameFormat = this.config.tooltip_format_name || function (name) { return name; };\n const titleFormat = this.config.tooltip_format_title || defaultTitleFormat;\n const valueFormat = this.config.tooltip_format_value || defaultValueFormat;\n\n // Reverse list to match legend\n for (let i = 0; i < d.length; i++) {\n if (! (d[i] && (d[i].value || d[i].value === 0))) { continue; }\n if (!text) {\n title = titleFormat ? titleFormat(d[i].x) : d[i].x;\n text = \"\" + (title || title === 0 ? \"\" : \"\");\n }\n let name = nameFormat(d[i].name);\n let value = valueFormat(d[i].value, d[i].ratio, d[i].id, d[i].index);\n let bgcolor = this.levelColor ? this.levelColor(d[i].value) : color(d[i].id);\n if (value) {\n text += \"\";\n if (name.indexOf('__tooltip_ignore_name_field__') === -1) {\n text += \"\";\n }\n text += \"\";\n text += \"\";\n }\n }\n return text + \"
\" + escapeHtml(title) + \"
\" + escapeHtml(name) + \"\" + escapeHtml(value) + \"
\";\n}\n","import * as d3 from 'd3';\n\nimport isDateString from '../../../utils/assert-date-string';\n\nexport default function (options) {\n const cols = options.data.columns;\n const datavizInstance = this;\n const chart = this.view._artifacts.c3;\n let columns = [];\n const domNode = this.el().querySelector('.' + datavizInstance.config.theme + '-rendering');\n const legendConfig = datavizInstance.config.legend;\n\n const pagination = this.view._artifacts.pagination = {\n ...{\n hidden: [],\n labels: [],\n offset: 0,\n limit: Math.round((domNode.offsetHeight - 78) / 20),\n total: 0\n },\n ...legendConfig.pagination\n };\n\n if (options.legend.sort) {\n columns = options.legend.sort(cols);\n\n // update column order in the data, so tooltip will be the same order\n const columnsSorted = [];\n const dataColumnsSorted = [];\n if (cols[0][0] === 'x') {\n dataColumnsSorted.push(cols[0]);\n }\n columns.forEach(column => {\n let columnData = options.data.columns.find(item => item[0] === column);\n dataColumnsSorted.push(columnData);\n });\n options.data.columns = dataColumnsSorted;\n } else {\n for (let i = 0; i < cols.length; i++) {\n if (cols[i][0] !== 'x' && !isDateString(cols[i][1])) {\n columns.push(cols[i][0]);\n }\n }\n }\n\n const legendElement = this.el().querySelector('.keen-c3-legend');\n\n let align = 'vertical';\n if (legendConfig.position === 'top' || legendConfig.position === 'bottom') {\n align = 'horizontal';\n }\n\n const paginateHorizontalLeftElement = document.createElement('div');\n paginateHorizontalLeftElement.setAttribute('class', 'keen-c3-legend-pagination-icons keen-c3-legend-horizontal-pagination-left');\n if (align === 'horizontal') {\n legendElement.append(paginateHorizontalLeftElement);\n }\n\n const legendItemsElement = document.createElement('div');\n legendItemsElement.setAttribute('class', `keen-c3-legend-items keen-c3-legend-${align}-items`);\n legendElement.append(legendItemsElement);\n\n const paginateVerticalElement = document.createElement('div');\n paginateVerticalElement.setAttribute('class', 'keen-c3-legend-pagination keen-c3-legend-pagination-icons');\n if (align === 'vertical') {\n legendElement.append(paginateVerticalElement);\n }\n\n const paginateHorizontalRightElement = document.createElement('div');\n paginateHorizontalRightElement.setAttribute('class', 'keen-c3-legend-pagination-icons keen-c3-legend-horizontal-pagination-right');\n if (align === 'horizontal') {\n legendElement.append(paginateHorizontalRightElement);\n }\n\n paginateData();\n\n function paginateData(){\n pagination.labels = columns.slice(pagination.offset, pagination.offset + pagination.limit);\n pagination.total = columns.length;\n renderLegendComponent.call(datavizInstance, pagination.labels);\n if (pagination.total > pagination.limit) {\n renderPaginationComponent.call(datavizInstance);\n }\n if (options.onPaginated){\n options.onPaginated();\n }\n }\n\n function renderLegendComponent(){\n legendItemsElement.innerHTML = '';\n\n pagination.labels.forEach(label => {\n const labelShortened = legendConfig.label.textMaxLength ? label.slice(0, legendConfig.label.textMaxLength - 1) : label;\n const legendItem = document.createElement(\"div\");\n legendItem.innerHTML = `${labelShortened}`;\n legendItem.chartPartId = label;\n legendItem.setAttribute('class', 'legend-item');\n legendItemsElement.append(legendItem);\n\n const legendItemColorSample = document.createElement(\"span\");\n legendItemColorSample.setAttribute('class', 'legend-item-color-sample');\n legendItemColorSample.style.backgroundColor = chart.color(legendItem.chartPartId);\n legendItem.prepend(legendItemColorSample);\n\n const tooltipElement = document.createElement(\"div\");\n legendItem.addEventListener('mouseover', (event) => {\n chart.focus(legendItem.chartPartId);\n if (legendConfig.tooltip.show && legendItem.chartPartId.length > legendConfig.label.textMaxLength) {\n tooltipElement.setAttribute('class', `keen-c3-legend-label-overlay keen-c3-legend-position-${legendConfig.position}`);\n tooltipElement.innerHTML =\n `${\n options.legend.tooltip.pointer ? `
` : ``\n }${legendItem.chartPartId}`;\n legendItem.append(tooltipElement);\n }\n });\n legendItem.addEventListener('mouseout', (event) => {\n chart.revert();\n tooltipElement.remove();\n });\n legendItem.addEventListener('click', (event) => {\n let opacity = 1;\n const isHidden = pagination.hidden.indexOf(legendItem.chartPartId);\n if (isHidden < 0) {\n pagination.hidden.push(legendItem.chartPartId);\n opacity = .35;\n }\n else {\n pagination.hidden.splice(isHidden, 1);\n opacity = 1;\n }\n legendItem.style.opacity = opacity;\n chart.toggle(legendItem.chartPartId);\n });\n });\n\n if (options.onLegendRendered){\n options.onLegendRendered();\n options.onLegendRendered = null;\n }\n\n }\n\n function renderPaginationComponent(){\n paginateVerticalElement.innerHTML = '';\n paginateHorizontalLeftElement.innerHTML = '';\n paginateHorizontalRightElement.innerHTML = '';\n\n const arrowUp = document.createElement('i');\n const arrowDown = document.createElement('i');\n\n const paginate = (direction) => {\n if (direction === 'forward') {\n const diff = pagination.offset + pagination.limit;\n if (diff < pagination.total) {\n pagination.offset = diff;\n return;\n }\n pagination.offset = 0;\n return;\n }\n\n const diff = pagination.offset - pagination.limit;\n if (diff >= 0) {\n pagination.offset = diff;\n return;\n }\n\n pagination.offset = Math.floor(pagination.total/pagination.limit) * pagination.limit;\n };\n\n arrowDown.addEventListener('click', () => {\n paginate('forward');\n paginateData();\n clearSelectedText();\n });\n\n arrowUp.addEventListener('click', () => {\n paginate('backward');\n paginateData();\n clearSelectedText();\n });\n\n if (legendConfig.position === 'left' || legendConfig.position === 'right') {\n arrowUp.setAttribute('class', 'up');\n arrowDown.setAttribute('class', 'down');\n paginateVerticalElement.append(arrowDown);\n paginateVerticalElement.append(arrowUp);\n } else {\n // bottom top\n arrowUp.setAttribute('class', 'left');\n arrowDown.setAttribute('class', 'right');\n paginateHorizontalLeftElement.append(arrowUp);\n paginateHorizontalRightElement.append(arrowDown);\n }\n\n }\n\n function clearSelectedText() {\n let selection;\n if (document.selection && document.selection.empty) {\n selection = document.selection;\n selection.empty();\n }\n else if (window.getSelection) {\n selection = window.getSelection();\n selection.removeAllRanges();\n }\n }\n}\n","export default function (startDate, endDate) {\n const timeDiff = Math.abs(new Date(startDate).getTime() - new Date(endDate).getTime());\n const months = [\n 'Jan',\n 'Feb',\n 'Mar',\n 'Apr',\n 'May',\n 'June',\n 'July',\n 'Aug',\n 'Sept',\n 'Oct',\n 'Nov',\n 'Dec'\n ];\n\n // Yearly (31536000000) + Monthly\n if (timeDiff >= 2419200000) {\n return function(ms){\n const date = new Date(ms);\n return months[date.getMonth()] + ' ' + date.getFullYear();\n };\n }\n // Daily\n else if (timeDiff >= 86400000) {\n return function(ms){\n const date = new Date(ms);\n return months[date.getMonth()] + ' ' + date.getDate();\n };\n }\n // Hourly\n else if (timeDiff >= 3600000) {\n return '%I:%M %p';\n }\n // Minutely\n else {\n return '%I:%M:%S %p';\n }\n}\n","import c3 from 'c3';\n\nimport { each } from '../utils/each';\nimport { extend } from '../utils/extend';\nimport { extendDeep } from '../utils/extend-deep';\nimport isDateString from '../utils/assert-date-string';\nimport c3DefaultDateFormat from './c3/extensions/default-date-format';\nimport c3PaginatingLegend from './c3/extensions/paginating-legend';\nimport c3TooltipContents from './c3/extensions/tooltip-contents';\n\nimport message from './default/message';\nimport metric from './default/metric';\nimport table from './default/table';\nimport spinner from './default/spinner';\n\nexport default function(lib) {\n let timer;\n bindResizeListener(function(){\n if (timer) {\n clearTimeout(timer);\n }\n const delay = (lib.visuals.length > 12) ? 1000 : 250;\n timer = setTimeout(function(){\n each(lib.visuals, function(chart){\n if (chart.view._artifacts.c3) {\n chart.view._artifacts.c3.resize();\n }\n });\n }, delay);\n });\n\n // FIX for c3 tooltip bug - REMOVE when https://github.com/c3js/c3/pull/2476 is merged\n if (c3.chart && c3.chart.internal && c3.chart.internal.fn) {\n c3.chart.internal.fn.horizontalDistance = function(data, pos) {\n var $$ = this,\n config = $$.config,\n xIndex = config.axis_rotated ? 1 : 0,\n x = $$.x(data.x);\n return Math.abs(x - pos[xIndex]);\n };\n c3.chart.internal.fn.findClosest = function (values, pos) {\n const CLASS = c3.chart.internal.fn.CLASS;\n var $$ = this,\n minDist = $$.config.point_sensitivity,\n minDist = Infinity,\n closest;\n // find mouseovering bar\n values.filter(function (v) {\n return v && $$.isBarType(v.id);\n }).forEach(function (v) {\n var shape = $$.main.select('.' + CLASS.bars + $$.getTargetSelectorSuffix(v.id) + ' .' + CLASS.bar + '-' + v.index).node();\n if (!closest && $$.isWithinBar($$.d3.mouse(shape), shape)) {\n closest = v;\n }\n });\n // find closest point from non-bar\n values.filter(function (v) {\n return v && !$$.isBarType(v.id);\n }).forEach(function (v) {\n var d = $$.dist(v, pos);\n var d = $$.horizontalDistance(v, pos);\n if (d < minDist) {\n minDist = d;\n closest = v;\n }\n });\n return closest;\n };\n }\n\n return defineC3();\n};\n\nfunction defineC3(){\n const types = {\n message,\n metric,\n table,\n spinner,\n };\n\n const c3Types = [\n // Standard types\n 'area',\n 'area-spline',\n 'area-step',\n 'bar',\n 'donut',\n 'gauge',\n 'line',\n 'pie',\n 'step',\n 'spline',\n\n // Horizontal variant types\n 'horizontal-area',\n 'horizontal-area-spline',\n 'horizontal-area-step',\n 'horizontal-bar',\n 'horizontal-line',\n 'horizontal-step',\n 'horizontal-spline'\n ];\n\n const getPaddings = (element, paddingName) => {\n return parseInt(window.getComputedStyle(element)[`padding${paddingName}`].replace('px', ''));\n }\n\n function getDefaultOptions(){\n\n const ENFORCED_OPTIONS = {\n bindto: this.el().querySelector('.' + this.config.theme + '-rendering .c3-chart'),\n color: {\n pattern: this.config.colors\n },\n data: {\n colors: { ...this.config.colorMapping },\n columns: [],\n type: this.config.type.replace('horizontal-', '')\n },\n };\n\n const renderingElement = this.el();\n// .querySelector('.' + this.config.theme + '-rendering');\n\n let height = renderingElement.offsetHeight;\n\n height -= (getPaddings(renderingElement, 'Top') + getPaddings(renderingElement, 'Bottom'));\n\n if (this.config.showTitle) {\n const titleElement = this.el().querySelector('.keen-dataviz-title');\n if (titleElement) {\n height -= titleElement.offsetHeight;\n } else {\n height -= parseInt(\n window\n .getComputedStyle(this.el(), null)\n ['font-size'].replace('px','')\n );\n }\n }\n\n if (this.config.notes) {\n const notesElement = this.el().querySelector('.keen-dataviz-notes');\n if (notesElement) {\n height -= notesElement.offsetHeight;\n } else {\n height -= parseInt(\n window\n .getComputedStyle(this.el(), null)\n ['font-size'].replace('px','')\n );\n }\n }\n\n let width = this.el().querySelector('.c3-chart').offsetWidth\n - (getPaddings(renderingElement, 'Left') + getPaddings(renderingElement, 'Right'));\n if (width < 0) {\n width = 0;\n }\n\n const DEFAULT_OPTIONS = {\n size: {\n width,\n height:\n height > 0 ?\n height\n : undefined,\n }\n };\n\n return extendDeep({}, DEFAULT_OPTIONS, this.config, ENFORCED_OPTIONS);\n }\n\n each(c3Types, function(type, index) {\n types[type] = {\n render: function(){\n const options = getDefaultOptions.call(this);\n\n if (!!this.config.clearOnRender && options.data.columns.length > 0) {\n options.data.columns.splice(1);\n }\n\n if (this.data()[0].length === 1 || this.data().length === 1) {\n const msg = 'No data to display';\n const mappedMsg = this.config.errorMapping[msg] || msg;\n if (this.config.showErrorMessages) {\n this.message(mappedMsg);\n }\n return;\n }\n\n let removeLegend = false;\n\n if (type === 'gauge') {\n // Accommodate a neat bug:\n options.legend.show = false;\n options.data.columns = [[\n this.config.title || this.data()[1][0],\n this.data()[1][1]\n ]];\n removeLegend = true;\n }\n else if (type === 'pie' || type === 'donut') {\n options.data.columns = this.data().slice(1);\n }\n else {\n\n // Apply formatting for horizontal variant types\n if (type.indexOf('horizontal-') > -1) {\n options.axis.rotated = type.indexOf('horizontal-') > -1;\n }\n\n if (isDateString(this.data()[1][0])) {\n // TIMESERIES\n options.axis.x = options.axis.x || {};\n options.axis.x.type = 'timeseries';\n options.axis.x.tick = options.axis.x.tick || {\n format: this.config.dateFormat || c3DefaultDateFormat(this.data()[1][0], this.data()[2] ? this.data()[2][0] : this.data()[1][0]),\n culling: { max: 5 }\n };\n\n options.data.columns[0] = [];\n each(this.dataset.selectColumn(0), function(cell, i){\n if (i > 0) {\n cell = new Date(cell);\n }\n options.data.columns[0][i] = cell;\n });\n options.data.columns[0][0] = 'x';\n options.data.x = 'x';\n if (this.config.stacked && this.data()[0].length > 2) {\n options.data.groups = [ this.dataset.selectRow(0).slice(1) ];\n }\n }\n else {\n // CATEGORIES\n options.axis.x = options.axis.x || {};\n options.axis.x.type = 'category';\n options.axis.x.categories = this.dataset.selectColumn(0).slice(1);\n if (this.config.stacked && this.data()[0].length > 2) {\n options.data.groups = [ this.dataset.selectRow(0).slice(1) ];\n }\n }\n\n if (this.data()[0].length === 2) {\n options.legend.show = false;\n removeLegend = true;\n }\n\n each(this.data()[0], function(cell, i){\n if (i > 0) {\n options.data.columns.push(this.dataset.selectColumn(i));\n }\n }.bind(this));\n }\n\n if (removeLegend){\n const legendElement = this.el().querySelector('.keen-c3-legend');\n if (legendElement) {\n legendElement.remove();\n options.size.width = this.el().querySelector('.c3-chart').offsetWidth;\n }\n options.legend.show = false;\n }\n\n const chartTypesWithPartialIntervalIndicator = ['area', 'area-spline', 'area-step', 'line', 'spline', 'step'];\n\n if (options.partialIntervalIndicator\n && options.partialIntervalIndicator.show\n && chartTypesWithPartialIntervalIndicator.indexOf(options.type) > -1\n ) {\n const results = options.data.columns && options.data.columns[0];\n if (results && results.length > 1) {\n const partialResultsRegion = {\n axis: 'x',\n start: new Date(results[results.length-2]),\n class: options.partialIntervalIndicator.className\n };\n options.regions = [...(options.regions || []), partialResultsRegion];\n }\n }\n\n if (\n !(options.tooltip && options.tooltip.show === false)\n &&\n (options.legend.show === true ||\n (options.legend\n && options.legend.tooltip\n && options.legend.tooltip.show)\n )) {\n // Apply custom tooltip\n options.tooltip = {\n contents: c3TooltipContents,\n format: {\n title: this.config.tooltip.format.title,\n value: (value, ratio, id, index) => {\n let valueFormatted = c3CustomTooltipFiltering.call(this, value, ratio, id, index);\n if (this.config.tooltip && this.config.tooltip.format && this.config.tooltip.format.value)\n {\n valueFormatted = this.config.tooltip.format.value.call(this, valueFormatted, ratio, id, index);\n }\n return valueFormatted;\n }\n }\n };\n }\n\n if (options.legend.show === true) {\n const c3options = { ...options };\n // Apply custom color handling\n c3options.data.color = c3CustomDataMapping.bind(this);\n\n c3options.legend.hide = true; // hide default c3 legend\n\n // Render artifacts\n this.view._artifacts['c3'] = c3.generate(c3options);\n\n c3PaginatingLegend.call(this, {...options, onLegendRendered: () => {\n const legendElement = this.el().querySelector('.keen-c3-legend');\n if (legendElement) {\n if (\n options.legend.position === 'top' ||\n options.legend.position === 'bottom'\n ) {\n c3options.size.height -= legendElement.offsetHeight;\n this.view._artifacts['c3'].resize({ height: c3options.size.height });\n } else {\n if (c3options.size.width === 0) {\n c3options.size.width = this.el().offsetWidth\n - getPaddings(this.el(), 'Left')\n - getPaddings(this.el(), 'Right');\n }\n c3options.size.width -= legendElement.offsetWidth;\n this.view._artifacts['c3'].resize({ width: c3options.size.width });\n }\n }\n },\n onPaginated: () => {\n this.view._artifacts['c3'].flush();\n }\n });\n }\n else {\n this.view._artifacts['c3'] = c3.generate(options);\n }\n\n },\n update: function(){\n // no special update handling\n this.render();\n },\n destroy: function(){\n if (this.view._artifacts['c3']) {\n this.view._artifacts['c3'].destroy();\n this.view._artifacts['c3'] = null;\n }\n }\n };\n });\n\n return types;\n}\n\nfunction c3CustomDataMapping(color, d) {\n const type = this.config.type;\n if (this.view._artifacts.pagination\n && type !== 'gauge'\n /*&& this.type() !== 'pie'\n && this.type() !== 'donut'*/) {\n const scope = this.view._artifacts.pagination.labels;\n if ((d.id && scope.indexOf(d.id) > -1)\n || (d && !d.id && scope.indexOf(d) > -1)) {\n return color;\n }\n else {\n if (type === 'donut' || type === 'pie') {\n return 'rgba(0,0,0,.1)';\n }\n else {\n return 'rgba(0,0,0,.07)';\n }\n }\n }\n else {\n return color;\n }\n}\n\nfunction c3CustomTooltipFiltering(value, ratio, id, index) {\n const type = this.config.type;\n\n if (this.view._artifacts.pagination\n && type !== 'gauge'\n /*&& this.type() !== 'pie'\n && this.type() !== 'donut'*/) {\n const scope = this.view._artifacts.pagination.labels;\n if (scope.indexOf(id) > -1) {\n return value;\n }\n }\n else {\n return value;\n }\n}\n\nfunction bindResizeListener(fn){\n if (typeof window === 'undefined') return;\n window.onresize = window.resize = function(){};\n if (window.addEventListener) {\n window.addEventListener('resize', fn, true);\n }\n else if (window.attachEvent) {\n window.attachEvent('onresize', fn);\n }\n}\n","import Dataset from './dataset';\nimport { extend } from './utils/extend';\nimport { stripHtmlTags } from './utils/strip-html-tags';\n\nexport default function (data) {\n if (!arguments.length) return this.dataset.data();\n if (data instanceof Dataset) {\n this.dataset = data;\n return this;\n }\n else {\n return parseResponse.call(this, data);\n }\n};\n\nfunction parseResponse(response) {\n var dataset,\n indexBy,\n meta,\n parser,\n parserArgs = [],\n query,\n selectedParser,\n title,\n type;\n\n indexBy = this.config.indexBy;\n meta = response.metadata || {};\n query = (typeof response.query !== 'undefined') ? response.query : {};\n\n // Ensure all required params are present\n query = extend({\n analysis_type: null,\n event_collection: null,\n filters: [],\n group_by: null,\n interval: null,\n timeframe: null,\n timezone: null\n }, query);\n\n if (query.analysis_type === 'funnel') {\n parser = 'funnel';\n }\n else if (query.analysis_type === 'extraction'){\n parser = 'extraction';\n }\n else if (query.analysis_type === 'select_unique') {\n if (!query.group_by && !query.interval) {\n parser = 'list';\n }\n // else { Not supported }\n }\n else if (query.analysis_type) {\n if (!query.group_by && !query.interval) {\n parser = 'metric';\n }\n else if (query.group_by && !query.interval) {\n if (query.group_by instanceof Array && query.group_by.length > 1) {\n parser = 'double-grouped-metric';\n parserArgs.push(query.group_by);\n }\n else {\n parser = 'grouped-metric';\n }\n }\n else if (query.interval && !query.group_by) {\n parser = 'interval';\n parserArgs.push(indexBy);\n }\n else if (query.group_by && query.interval) {\n if (query.group_by instanceof Array && query.group_by.length > 1) {\n parser = 'double-grouped-interval';\n parserArgs.push(query.group_by);\n parserArgs.push(indexBy);\n }\n else {\n parser = 'grouped-interval';\n parserArgs.push(indexBy);\n }\n }\n }\n\n if (!parser) {\n\n // Metric\n // -------------------------------\n if (typeof response.result === 'number'){\n parser = 'metric';\n }\n\n // Everything else\n // -------------------------------\n if (response.result instanceof Array && response.result.length > 0){\n\n // Interval w/ single value\n // -------------------------------\n if (response.result[0].timeframe && (typeof response.result[0].value == 'number' || response.result[0].value == null)) {\n parser = 'interval';\n parserArgs.push(indexBy)\n }\n\n // Static GroupBy\n // -------------------------------\n if (typeof response.result[0].result == 'number'){\n parser = 'grouped-metric';\n }\n\n // Grouped Interval\n // -------------------------------\n if (response.result[0].value instanceof Array){\n parser = 'grouped-interval';\n parserArgs.push(indexBy)\n }\n\n // Funnel\n // -------------------------------\n if (typeof response.result[0] === 'number'\n && typeof response.steps !== 'undefined'){\n parser = 'funnel';\n // Move steps into query object\n query.steps = response.steps;\n }\n\n // Select Unique\n // -------------------------------\n if ((typeof response.result[0] === 'string' || typeof response.result[0] == 'number') && typeof response.steps === 'undefined'){\n parser = 'list';\n }\n\n // Extraction\n // -------------------------------\n if (!parser) {\n parser = 'extraction';\n }\n }\n\n if (!parser) {\n parser = 'extraction';\n }\n }\n\n // Set title from saved query body, or create a default title\n if (this.config.title === undefined) {\n if (meta.display_name) {\n title = meta.display_name;\n }\n else {\n title = getDefaultTitle(query);\n }\n this.config.title = title;\n }\n\n // Set type from saved query body, or use a default type\n if (!this.config.type) {\n if (meta.visualization && meta.visualization.chart_type) {\n type = meta.visualization.chart_type;\n }\n else {\n type = getDefaultType(parser);\n }\n this.config.type = type;\n }\n\n // Define the appropriate parser\n selectedParser = Dataset.parser.apply(this, [parser].concat(parserArgs));\n\n // Parse the response with augmented query body\n dataset = selectedParser(extend(response, { 'query': query }));\n\n // Set true dates for 'interval' data\n if (parser.indexOf('interval') > -1) {\n dataset.updateColumn(0, function(value, i){\n return new Date(value);\n });\n }\n\n dataset.updateRow(0, function(value, i){\n return stripHtmlTags(value);\n });\n\n this.dataset = dataset;\n\n return this;\n}\n\nfunction getDefaultTitle(query) {\n var analysis = query.analysis_type ? query.analysis_type.replace('_', ' ') : '',\n title;\n\n title = analysis.replace( /\\b./g, function(a){\n return a.toUpperCase();\n });\n\n if (query.event_collection) {\n title += ' - ' + query.event_collection;\n }\n return title;\n}\n\nfunction getDefaultType(parser) {\n let type;\n switch (parser) {\n case 'metric':\n type = 'metric';\n break;\n case 'interval':\n type = 'area';\n break;\n case 'grouped-metric':\n case 'double-grouped-metric':\n type = 'bar';\n break;\n case 'grouped-interval':\n case 'double-grouped-interval':\n type = 'line';\n break;\n case 'funnel':\n type = 'horizontal-bar';\n break;\n case 'list':\n case 'extraction':\n default:\n type = 'table';\n }\n return type;\n}\n","export function valueAtDeepKey(obj, is, value) {\n if (typeof is == 'string')\n return valueAtDeepKey(obj, is.split('.'), value);\n else if (is.length==1 && value!==undefined && obj !== null &&\n typeof obj[is[0]] !== 'undefined')\n return obj[is[0]] = value;\n else if (is.length==0)\n return obj;\n else if (typeof is === 'undefined' || typeof obj === 'undefined'\n || is === null || obj === null\n || typeof obj[is[0]] === 'undefined')\n return null;\n else\n return valueAtDeepKey(obj[is[0]], is.slice(1), value);\n}\n","// Pure awesomeness by Will Rayner (penguinboy)\n// https://gist.github.com/penguinboy/762197\n\nexport function flatten(ob){\n var toReturn = {};\n for (var i in ob) {\n if (!ob.hasOwnProperty(i)) continue;\n if ((typeof ob[i]) == 'object' && ob[i] !== null) {\n var flatObject = flatten(ob[i]);\n for (var x in flatObject) {\n if (!flatObject.hasOwnProperty(x)) continue;\n toReturn[i + '.' + x] = flatObject[x];\n }\n } else {\n toReturn[i] = ob[i];\n }\n }\n return toReturn;\n};\n","let Dataset; /* injected */\n\nimport { each } from '../../utils/each';\nimport { flatten } from '../utils/flatten';\nimport { valueAtDeepKey } from '../utils/object';\n\nexport default function initialize(lib){\n Dataset = lib;\n return function(name){\n var options = Array.prototype.slice.call(arguments, 1);\n\n if (!parsers[name]) {\n throw 'Requested parser does not exist';\n }\n else {\n return parsers[name].apply(this, options);\n }\n };\n}\n\nfunction parseMetric(){\n return function(res){\n return new Dataset()\n .set(['Value', 'Result'], res.result)\n .type('metric');\n }\n}\n\n//var myParser = Dataset.parser('interval', 'timeframe.end');\nfunction parseInterval(){\n var options = Array.prototype.slice.call(arguments);\n return function(res){\n var dataset = new Dataset()\n .type('interval');\n each(res.result, function(record, i){\n var index = options[0] && options[0] === 'timeframe.end' ? record.timeframe.end : record.timeframe.start;\n dataset.set(['Result', index], record.value);\n });\n return dataset;\n }\n}\n\nfunction parseGroupedMetric(){\n return function(res){\n var dataset = new Dataset()\n .type('grouped-metric');\n each(res.result, function(record, i){\n var label;\n each(record, function(value, key){\n if (key !== 'result') {\n label = key;\n }\n });\n dataset.set(['Result', String(record[label])], record.result);\n });\n return dataset;\n }\n}\n\n//var myParser = Dataset.parser('grouped-interval', 'timeframe.end');\nfunction parseGroupedInterval(){\n var options = Array.prototype.slice.call(arguments);\n return function(res){\n var dataset = new Dataset()\n .type('grouped-interval');\n each(res.result, function(record, i){\n var index = options[0] && options[0] === 'timeframe.end' ? record.timeframe.end : record.timeframe.start;\n if (record.value.length) {\n each(record.value, function(group, j){\n var label;\n each(group, function(value, key){\n if (key !== 'result') {\n label = key;\n }\n });\n dataset.set([ String(group[label]), index ], group.result);\n });\n }\n else {\n dataset.appendRow(index);\n }\n });\n return dataset;\n }\n}\n\n//var myParser = Dataset.parser('double-grouped-metric', ['first', 'second']);\nfunction parseDoubleGroupedMetric(){\n var options = Array.prototype.slice.call(arguments);\n if (!options[0]) throw 'Requested parser requires a sequential list (array) of properties to target as a second argument';\n return function(res){\n var dataset = new Dataset()\n .type('double-grouped-metric');\n each(res.result, function(record, i){\n var rowLabel = record[options[0][0]] + ' ' + record[options[0][1]];\n dataset.set([ 'Result', rowLabel ], record.result);\n });\n return dataset;\n }\n}\n\n//var myParser = Dataset.parser('double-grouped-interval', ['first', 'second'], 'timeframe.end');\nfunction parseDoubleGroupedInterval(){\n var options = Array.prototype.slice.call(arguments);\n if (!options[0]) throw 'Requested parser requires a sequential list (array) of properties to target as a second argument';\n return function(res){\n var dataset = new Dataset()\n .type('double-grouped-interval');\n each(res.result, function(record, i){\n var index = options[1] && options[1] === 'timeframe.end' ? record.timeframe.end : record.timeframe.start;\n each(record['value'], function(value, j){\n var label = value[options[0][0]] + ' ' + value[options[0][1]];\n dataset.set([ label, index ], value.result);\n });\n });\n return dataset;\n }\n}\n\nfunction parseFunnel(){\n return function(res){\n var result, steps, dataset;\n if (typeof res.steps !== 'undefined'\n && typeof res.result !== 'undefined'\n && res.result instanceof Array) {\n // Ad-hoc funnel response\n result = res.result;\n steps = res.steps;\n }\n else if (typeof res.result.steps !== 'undefined'\n && typeof res.result.result !== 'undefined'\n && res.result.result instanceof Array) {\n // Saved funnel response\n result = res.result.result;\n steps = res.result.steps;\n }\n dataset = new Dataset().type('funnel');\n dataset.appendColumn('Step Value');\n each(result, function(value, i){\n if (typeof steps !== 'undefined' && steps[i]) {\n dataset.appendRow(String(steps[i].event_collection), [value]);\n }\n });\n return dataset;\n }\n}\n\nfunction parseList(){\n return function(res){\n var dataset = new Dataset()\n .type('list');\n each(res.result, function(value, i){\n dataset.set( [ 'Result', String(i+1) ], value );\n });\n return dataset;\n }\n}\n\nfunction parseExtraction(){\n let config = this.config;\n return function(res){\n const datasetExtraction = new Dataset()\n .type('extraction');\n // create header\n for (let i=0; i<1; i++){\n let record = res.result[i];\n each(flatten(record), function(value, key){\n datasetExtraction.set([ key, String(i+1) ], value);\n });\n }\n\n // get keys of the Object\n let names = Object.keys(flatten(res.result[0]));\n\n if (Dataset) {\n if (config.table\n && config.table.columns) {\n names = config.table.columns;\n }\n }\n\n for (let i=0; i -1) {\n\n if (typeof input === 'function') {\n\n each(self.data(), function(row, i){\n var cell;\n if (i > 0) {\n cell = input.call(self, row[index], i, row);\n if (typeof cell !== 'undefined') {\n self.matrix[i][index] = cell;\n }\n }\n });\n\n } else if (!input || input instanceof Array) {\n input = input || [];\n\n if (input.length <= self.data().length - 1) {\n input = input.concat( createNullList(self.data().length - 1 - input.length) );\n }\n else {\n // If this new column is longer than existing columns,\n // we need to update the rest to match ...\n each(input, function(value, i){\n if (self.matrix.length -1 < input.length) {\n appendRow.call(self, String( self.matrix.length ));\n }\n });\n }\n\n each(input, function(value, i){\n self.matrix[i+1][index] = value;\n });\n\n }\n\n }\n return self;\n}\n\nexport function updateRow(q, input){\n var self = this,\n index = (typeof q === 'number') ? q : this.selectColumn(0).indexOf(q);\n\n if (index > -1) {\n\n if (typeof input === 'function') {\n\n each(self.data()[index], function(value, i){\n var col = self.selectColumn(i),\n cell = input.call(self, value, i, col);\n if (typeof cell !== 'undefined') {\n self.matrix[index][i] = cell;\n }\n });\n\n } else if (!input || input instanceof Array) {\n input = input || [];\n\n if (input.length <= self.matrix[0].length - 1) {\n input = input.concat( createNullList( self.matrix[0].length - 1 - input.length ) );\n }\n else {\n each(input, function(value, i){\n if (self.matrix[0].length -1 < input.length) {\n appendColumn.call(self, String( self.matrix[0].length ));\n }\n });\n }\n\n each(input, function(value, i){\n self.matrix[index][i+1] = value;\n });\n }\n\n }\n return self;\n}\n","import { each } from '../../utils/each';\nimport analysesUtilMethods from '../utils/analyses';\n\nexport function sortColumns(str, comp) {\n var self = this,\n head = this.matrix[0].slice(1), // minus index\n cols = [],\n clone = [],\n fn = comp || analysesUtilMethods.getColumnLabel;\n\n // Isolate each column (except the index)\n each(head, function(cell, i) {\n cols.push(self.selectColumn(i+1).slice(0));\n });\n cols.sort(function(a,b){\n // If fn(a) > fn(b)\n var op = fn.call(self, a) > fn.call(self, b);\n if (op) {\n return (str === 'asc' ? 1 : -1);\n } else if (!op) {\n return (str === 'asc' ? -1 : 1);\n } else {\n return 0;\n }\n });\n each(cols, function(col, i) {\n self\n .deleteColumn(i+1)\n .insertColumn(i+1, col[0], col.slice(1));\n });\n return self;\n}\n\nexport function sortRows(str, comp) {\n var self = this,\n head = this.matrix.slice(0,1),\n body = this.matrix.slice(1),\n fn = comp || analysesUtilMethods.getRowIndex;\n body.sort(function(a, b){\n // If fn(a) > fn(b)\n var op = fn.call(self, a) > fn.call(self, b);\n if (op) {\n return (str === 'asc' ? 1 : -1);\n } else if (!op) {\n return (str === 'asc' ? -1 : 1);\n } else {\n return 0;\n }\n });\n self.data(head.concat(body));\n return self;\n}\n","import { each } from '../../utils/each';\n\nexport function selectColumn(q) {\n const result = [];\n const index = (typeof q === 'number') ? q : this.matrix[0].indexOf(q);\n\n if (index > -1 && typeof this.matrix[0][index] !== 'undefined') {\n each(this.matrix, function(row, i) {\n result.push(row[index]);\n });\n }\n return result;\n}\n\nexport function selectRow(q) {\n let result = [];\n const index = (typeof q === 'number') ? q : this.selectColumn(0).indexOf(q);\n\n if (index > -1 && typeof this.matrix[index] !== 'undefined') {\n result = this.matrix[index];\n }\n return result;\n}\n","import { each } from '../../utils/each';\nimport createNullList from '../utils/create-null-list';\nimport { appendRow, appendColumn } from './append';\n\nexport function insertColumn(index, str, input) {\n const self = this;\n const label = (str !== undefined) ? str : null;\n\n if (typeof input === 'function') {\n\n self.matrix[0].splice(index, 0, label);\n each(self.matrix, function(row, i) {\n var cell;\n if (i > 0) {\n cell = input.call(self, row, i);\n if (typeof cell === 'undefined') {\n cell = null;\n }\n self.matrix[i].splice(index, 0, cell);\n }\n });\n\n }\n\n else if (!input || input instanceof Array) {\n input = input || [];\n\n if (input.length <= self.matrix.length - 1) {\n input = input.concat( createNullList(self.matrix.length - 1 - input.length) );\n }\n else {\n // If this new column is longer than existing columns,\n // we need to update the rest to match ...\n each(input, function(value, i){\n if (self.matrix.length -1 < input.length) {\n appendRow.call(self, String( self.matrix.length ));\n }\n });\n }\n\n self.matrix[0].splice(index, 0, label);\n each(input, function(value, i){\n self.matrix[i+1].splice(index, 0, value);\n });\n\n }\n return self;\n}\n\nexport function insertRow(index, str, input) {\n const self = this;\n const newRow = [];\n const label = (str !== undefined) ? str : null;\n newRow.push(label);\n\n if (typeof input === 'function') {\n each(self.matrix[0], function(label, i) {\n let col;\n let cell;\n if (i > 0) {\n col = self.selectColumn(i);\n cell = input.call(self, col, i);\n if (typeof cell === 'undefined') {\n cell = null;\n }\n newRow.push(cell);\n }\n });\n self.matrix.splice(index, 0, newRow);\n }\n\n else if (!input || input instanceof Array) {\n input = input || [];\n\n if (input.length <= self.matrix[0].length - 1) {\n input = input.concat( createNullList( self.matrix[0].length - 1 - input.length ) );\n }\n else {\n each(input, function(value, i){\n if (self.matrix[0].length -1 < input.length) {\n appendColumn.call(self, String( self.matrix[0].length ));\n }\n });\n }\n\n self.matrix.splice(index, 0, newRow.concat(input) );\n }\n\n return self;\n}\n","import { each } from '../../utils/each';\n\nexport function filterColumns(fn) {\n const self = this;\n const clone = [];\n\n each(self.matrix, function(row, i) {\n clone.push([]);\n });\n\n each(self.matrix[0], function(col, i){\n var selectedColumn = self.selectColumn(i);\n if (i == 0 || fn.call(self, selectedColumn, i)) {\n each(selectedColumn, function(cell, ri){\n clone[ri].push(cell);\n });\n }\n });\n\n self.data(clone);\n return self;\n}\n\nexport function filterRows(fn) {\n const self = this;\n const clone = [];\n\n each(self.matrix, function(row, i){\n if (i == 0 || fn.call(self, row, i)) {\n clone.push(row);\n }\n });\n\n self.data(clone);\n return self;\n}\n","import { each } from '../../utils/each';\n\nexport function deleteColumn(q) {\n const self = this;\n const index = (typeof q === 'number') ? q : this.matrix[0].indexOf(q);\n\n if (index > -1) {\n each(self.matrix, function(row, i){\n self.matrix[i].splice(index, 1);\n });\n }\n return self;\n}\n\nexport function deleteRow(q) {\n var index = (typeof q === 'number') ? q : this.selectColumn(0).indexOf(q);\n\n if (index > -1) {\n this.matrix.splice(index, 1);\n }\n return this;\n}\n","import * as d3 from \"d3\";\nimport c3 from 'c3';\n\nimport pkg from '../package.json';\nimport data from './data';\nimport { Dataset } from './dataset';\n\n// Utils\nimport { each } from './utils/each';\nimport isDateString from './utils/assert-date-string';\nimport { stripHtmlTags } from './utils/strip-html-tags';\nimport { escapeHtml } from './utils/escape-html';\nimport libraries from './libraries';\nimport { extendDeep } from './utils/extend-deep';\n\n// Constructor\nexport const Dataviz = function (options = {}) {\n if (this instanceof Dataviz === false) {\n return new Dataviz(options);\n }\n\n this.c3 = c3; // expose for use outside\n this.d3 = d3;\n\n const datavizInstance = this;\n\n const defaultOptions = {\n showDeprecationWarnings: true,\n showLoadingSpinner: false,\n\n container: undefined, // querySelector of container, for example '#someDiv'\n containerElement: undefined, // HTML parent element for the chart\n\n // width: undefined, *deprecated* - use CSS\n // height: undefined, *deprecated* - use CSS\n\n title: undefined,\n showTitle: true,\n\n notes: undefined,\n theme: 'keen-dataviz',\n\n colors: [\n '#00bbde', '#fe6672', '#eeb058', '#8a8ad6', '#ff855c', '#00cfbb',\n '#5a9eed', '#73d483', '#c879bb', '#0099b6', '#d74d58', '#cb9141',\n '#6b6bb6', '#d86945', '#00aa99', '#4281c9', '#57b566', '#ac5c9e',\n '#27cceb', '#ff818b', '#f6bf71', '#9b9be1', '#ff9b79', '#26dfcd',\n '#73aff4', '#87e096', '#d88bcb',\n ],\n\n colorMapping: {},\n\n indexBy: 'timeframe.start',\n labels: [],\n labelMapping: {},\n labelMappingRegExp: undefined,\n errorMapping: {},\n showErrorMessages: true,\n library: 'default',\n sortGroups: undefined,\n sortIntervals: undefined,\n\n results: undefined, // raw data\n\n // C3 chartOptions\n type: undefined,\n stacked: false,\n dateFormat: undefined,\n legend: {\n show: true,\n position: 'right',\n label: {\n textMaxLength: 12\n },\n pagination: {\n offset: 0, // start from\n limit: 5 // items per page\n },\n tooltip: {\n show: true,\n pointer: true\n },\n sort: undefined\n },\n\n axis: {},\n color: {},\n data: {\n order: null\n },\n size: {\n // control it with CSS of .c3-chart\n },\n padding: {\n top: 15\n },\n point: {\n focus: {\n expand: {\n enabled: false\n }\n },\n r: 2,\n show: true\n },\n tooltip: {\n format: {\n // https://c3js.org/samples/tooltip_format.html\n }\n },\n transition: {\n // duration: 0\n },\n data: {\n selection: {\n enabled: true,\n draggable: true,\n multiple: true\n }\n },\n grid: {\n y: {\n show: true\n }\n },\n partialIntervalIndicator: {\n show: undefined,\n className: 'partial-interval-indicator'\n },\n timezone: 'UTC',\n table: {},\n renderOnVisible: false\n };\n\n this.config = { ...extendDeep(defaultOptions, options) };\n\n if (this.config.type) {\n // backward compatibility with v2016... areachart -> area\n this.config.type = convertChartTypes(this.config.type);\n }\n\n // get DOM node by query\n if (this.config.container) {\n this.el(this.config.container);\n }\n\n if (options.legend !== undefined && !options.legend) {\n this.config.legend = {\n ...options,\n show: false\n };\n }\n\n if (options.color && options.color.pattern) {\n // to match c3 options\n this.config.colors = options.color.pattern;\n }\n\n if (this.config.legend\n && this.config.legend.tooltip\n && this.config.legend.tooltip.show === false\n && this.config.tooltip.show === undefined) {\n this.config.tooltip = { show: false };\n }\n\n if (options.color && options.color.pattern) {\n // to match c3 options\n this.config.colors = options.color.pattern;\n }\n\n this.dataset = new Dataset(this.config);\n this.view = {\n _prepared: false,\n _rendered: false,\n _artifacts: { /* state bin */ }\n };\n\n Dataviz.visuals.push(this);\n\n if (this.config.showLoadingSpinner) {\n this.prepare();\n }\n\n if (!!this.config.results) {\n this.render(this.config.results);\n }\n this.config.firstVisibilityState = document.visibilityState;\n};\n\nDataviz.libraries = { default: {} };\nif (typeof window !== 'undefined') {\n Dataviz.libraries.default = libraries(Dataviz);\n}\nDataviz.visuals = [];\n\nDataviz.register = function (name, actions) {\n Dataviz.libraries[name] = Dataviz.libraries[name] || {};\n each(actions, function(method, key){\n Dataviz.libraries[name][key] = method;\n });\n};\n\nDataviz.find = function(target){\n if (!arguments.length) return Dataviz.visuals;\n const el = target.nodeName ? target : document.querySelector(target);\n let match = null;\n each(Dataviz.visuals, function(visual){\n if (el == visual.config.container){\n match = visual;\n return false;\n }\n });\n return match;\n};\n\n\n // Prototype\n // ------------\n\nDataviz.prototype.attributes = function(obj){\n if (this.config.showDeprecationWarnings) {\n console.log('.attributes() is deprecated. Use: new KeenDataviz({ _your_value_here_ })');\n }\n if (!arguments.length) return this.config;\n const view = this.config;\n each(obj, function(prop, key){\n // Handle deprecated property names\n if (key === 'chartType') {\n key = 'type';\n }\n view[key] = prop;\n });\n return this;\n};\n\nDataviz.prototype.call = function(fn){\n fn.call(this);\n return this;\n};\n\nDataviz.prototype.chartOptions = function(obj){\n if (this.config.showDeprecationWarnings) {\n console.log('.chartOptions() is deprecated. Use: new KeenDataviz({ _your_value_here_ })');\n }\n if (!arguments.length) return this.config;\n this.config = extendDeep(this.config, obj);\n return this;\n};\n\nDataviz.prototype.colors = function(arr){\n if (this.config.showDeprecationWarnings) {\n console.log('.colors() is deprecated. Use: new KeenDataviz({ colors: _your_value_here_ })');\n }\n if (!arguments.length) return this.config.colors;\n this.config.colors = (arr instanceof Array ? arr : []);\n return this;\n};\n\nDataviz.prototype.colorMapping = function(obj){\n if (this.config.showDeprecationWarnings) {\n console.log('.colorMapping() is deprecated. Use: new KeenDataviz({ colorMapping: _your_value_here_ })');\n }\n const datavizInstance = this;\n if (!arguments.length) return this.config.colorMapping;\n if (obj === null) {\n this.config.colorMapping = {};\n }\n else if (typeof obj === 'object') {\n each(obj, function(value, key){\n datavizInstance.config.colorMapping[key] = (value ? value : null);\n });\n }\n return this;\n};\n\nDataviz.prototype.data = data;\n\nDataviz.prototype.dateFormat = function(val){\n if (this.config.showDeprecationWarnings) {\n console.log('.dateFormat() is deprecated. Use: new KeenDataviz({ dateFormat: _your_value_here_ })');\n }\n if (!arguments.length) return this.config.dateFormat;\n if (typeof val === 'string' || typeof val === 'function') {\n this.config.dateFormat = val;\n }\n else {\n this.config.dateFormat = undefined;\n }\n return this;\n};\n\nDataviz.prototype.destroy = function(){\n const library = this.library();\n const type = this.config.type;\n const element = this.el();\n\n // Call destroy method if present\n if (Dataviz.libraries[library]\n && Dataviz.libraries[library][type]){\n Dataviz.libraries[library][type].destroy.call(this);\n }\n\n // Clear rendered artifacts, state bin\n if (element) {\n element.innerHTML = '';\n }\n this.view._prepared = false;\n this.view._rendered = false;\n this.view._artifacts = {};\n return this;\n};\n\nDataviz.prototype.el = function(target){\n const datavizInstance = this;\n if (!arguments.length) return this.config.containerElement;\n domReady(function(){\n if (target && target !== null) {\n if (target.nodeName) {\n datavizInstance.config.containerElement = target;\n }\n else if (document.querySelector) {\n datavizInstance.config.containerElement = document.querySelector(target);\n }\n }\n else {\n datavizInstance.config.containerElement = undefined;\n }\n });\n return this;\n};\n\nDataviz.prototype.height = function(num){\n if (this.config.showDeprecationWarnings) {\n console.log('.height() is deprecated - use CSS classes');\n }\n return this;\n};\n\n// IMPORTANT: Must be run before data parsing\nDataviz.prototype.indexBy = function(str){\n if (this.config.showDeprecationWarnings) {\n console.log('.indexBy() is deprecated. Use: new KeenDataviz({ indexBy: _your_value_here_ })');\n }\n if (!arguments.length) return this.config.indexBy;\n this.config.indexBy = (str ? String(str) : 'timeframe.start');\n return this;\n};\n\nDataviz.prototype.labels = function(arr){\n if (this.config.showDeprecationWarnings) {\n console.log('.labels() is deprecated. Use: new KeenDataviz({ labels: _your_value_here_ })');\n }\n\n if (!arguments.length) return this.config.labels;\n this.config.labels = (arr instanceof Array ? arr : []);\n\n setLabels(this);\n\n return this;\n};\n\nfunction setLabels(datavizInstance){\n // Write labels\n if (datavizInstance.data()[0].length === 2 && !isDateString(datavizInstance.data()[1][0])) {\n datavizInstance.dataset.updateColumn(0, function(value, index){\n if (datavizInstance.config.labels[index-1]) {\n return stripHtmlTags(String(datavizInstance.config.labels[index-1]));\n }\n return stripHtmlTags(value);\n }.bind(datavizInstance));\n }\n else {\n datavizInstance.dataset.updateRow(0, function(value, index){\n if (index > 0 && datavizInstance.config.labels[index-1]) {\n return stripHtmlTags(String(datavizInstance.config.labels[index-1]));\n }\n return stripHtmlTags(value);\n }.bind(datavizInstance));\n }\n}\n\nDataviz.prototype.labelMapping = function(obj){\n if (this.config.showDeprecationWarnings) {\n console.log('.labelMapping() is deprecated. Use: new KeenDataviz({ labelMapping: _your_value_here_ })');\n }\n if (!arguments.length) return this.config.labelMapping;\n if (obj === null) {\n this.config.labelMapping = {};\n }\n else if (typeof obj === 'object') {\n each(obj, function(value, key){\n this.config.labelMapping[key] = (value ? value : null);\n }.bind(this));\n }\n\n mapLabels(this);\n\n return this;\n};\n\nfunction mapLabelsExec({ datavizInstance, value }){\n if (datavizInstance.config.labelMappingRegExp){\n let valueAfterMatching = value;\n datavizInstance.config.labelMappingRegExp.forEach(regExpAndLabel => {\n if (regExpAndLabel.length > 1) {\n let regExpObj = regExpAndLabel[0];\n if (regExpObj.test(value)){\n valueAfterMatching = regExpAndLabel[1];\n }\n }\n });\n return stripHtmlTags(valueAfterMatching);\n }\n if (datavizInstance.config.labelMapping[value]) {\n return stripHtmlTags(String(datavizInstance.config.labelMapping[value]));\n }\n return stripHtmlTags(value);\n}\n\nfunction mapLabels(datavizInstance){\n // Write labels\n if (!datavizInstance.config.labelMappingDimension) {\n // if not defined use deprecated auto-detecting\n if (datavizInstance.data()[0].length === 2 && !isDateString(datavizInstance.data()[1][0])) {\n datavizInstance.config.labelMappingDimension = 'row';\n } else {\n datavizInstance.config.labelMappingDimension = 'column';\n }\n }\n\n if (datavizInstance.config.labelMappingDimension === 'row'\n || datavizInstance.config.labelMappingDimension === 'both') {\n datavizInstance.dataset.updateColumn(0, function(value){\n return mapLabelsExec({ datavizInstance, value });\n }.bind(datavizInstance));\n }\n\n if (datavizInstance.config.labelMappingDimension === 'column'\n || datavizInstance.config.labelMappingDimension === 'both') {\n datavizInstance.dataset.updateRow(0, function(value){\n return mapLabelsExec({ datavizInstance, value });\n }.bind(datavizInstance));\n }\n}\n\nDataviz.prototype.library = function(str){\n if (!arguments.length) return this.config['library'];\n this.config['library'] = (str ? String(str) : null);\n return this;\n};\n\nDataviz.prototype.message = function(){\n if (this.view._rendered) {\n this.destroy();\n }\n if (this.el()) {\n this.el().innerHTML = '';\n const message = Dataviz.libraries.default.message;\n if (message.render) {\n message.render.apply(this, arguments);\n }\n }\n return this;\n};\n\nDataviz.prototype.notes = function(str){\n if (this.config.showDeprecationWarnings) {\n console.log('.notes() is deprecated. Use: new KeenDataviz({ notes: _your_value_here_ })');\n }\n if (!arguments.length) return this.config.notes;\n this.config.notes = (str ? String(str) : null);\n return this;\n};\n\nDataviz.prototype.prepare = function(){\n const datavizInstance = this;\n\n if (!this.el()) {\n throw `${this.config.container} not found. A DOM parent element is required to mount the chart.`;\n return;\n }\n\n domReady(function(){\n if (datavizInstance.view._rendered) {\n datavizInstance.destroy();\n }\n if (datavizInstance.el()) {\n datavizInstance.el().innerHTML = '';\n const loader = Dataviz.libraries.default.spinner;\n if (loader.render) {\n loader.render.call(datavizInstance);\n }\n datavizInstance.view._prepared = true;\n }\n });\n\n return this;\n};\n\nDataviz.prototype.render = function(results = undefined){\n const datavizInstance = this;\n if (!!results) {\n const firstResult = results[0] || results;\n if (\n firstResult.query\n && firstResult.query.interval\n && firstResult.query.timeframe\n && firstResult.query.timeframe === 'string'\n && firstResult.query.timeframe.indexOf('this_') > -1\n && this.config.partialIntervalIndicator\n && this.config.partialIntervalIndicator.show === undefined\n )\n {\n this.config.partialIntervalIndicator.show = true;\n }\n\n if (Array.isArray(results)) {\n const timeframes = results.map(resultItem => resultItem.query.timeframe);\n timeframes.forEach(resultTimeframe => {\n let foundDifferent = timeframes.find(timeframeItem =>\n JSON.stringify(timeframeItem) !== JSON.stringify(resultTimeframe)\n );\n if (foundDifferent){\n const msg = 'Timeframes of the queries should be the same';\n console.error(msg);\n throw msg;\n }\n });\n // first result is important to prepare X on the chart\n return datavizInstance\n .data(results[0])\n .call(() => {\n const getLabel = (input) => {\n return `${input.query.event_collection} ${input.query.analysis_type}`;\n }\n let label = getLabel(results[0]);\n if (datavizInstance.config.labelMapping[label]) {\n label = datavizInstance.config.labelMapping[label];\n }\n this.dataset.deleteColumn(1);\n let firstResultPassed = false;\n for (let result of results) {\n label = getLabel(result);;\n let ds2 = Dataset.parser('interval')(result);\n datavizInstance.dataset.appendColumn(label, ds2.selectColumn(1).slice(1));\n }\n })\n .render();\n }\n\n return datavizInstance.data(results).render();\n }\n if (\n (!!this.config.labelMapping && Object.keys(this.config.labelMapping).length > 0)\n ||\n (!!this.config.labelMappingRegExp && this.config.labelMappingRegExp.length > 0)\n ){\n mapLabels(datavizInstance);\n }\n if (!!this.config.labels && Object.keys(this.config.labels).length > 0){\n setLabels(datavizInstance);\n }\n if (!!this.config.sortGroups) {\n sortGroups(datavizInstance);\n }\n if (!!this.config.sortIntervals) {\n sortIntervals(datavizInstance);\n }\n\n const loader = Dataviz.libraries.default.spinner;\n const library = this.config.library;\n const type = this.config.type;\n const containerElement = this.el();\n\n if (!containerElement || containerElement === undefined) {\n const msg = `${this.config.container} not found. A DOM parent element is required to mount the chart.`;\n console.error(msg);\n throw msg;\n return;\n }\n\n let returnValue = datavizInstance;\n\n if (datavizInstance.config.renderAsPromise) {\n returnValue = new Promise((resolve, reject) => {\n const customCallback = this.config.onrendered;\n datavizInstance.config.onrendered = () => {\n if (customCallback) {\n customCallback();\n }\n resolve(datavizInstance);\n }\n });\n }\n\n domReady(function(){\n if (datavizInstance.view._prepared && loader.destroy) {\n loader.destroy.apply(datavizInstance, arguments);\n }\n containerElement.innerHTML = '';\n\n if (Dataviz.libraries[library] === 'undefined'){\n // Error: Unregistered library\n const msg = `Incorrect library`;\n datavizInstance.message(msg);\n throw msg;\n return;\n }\n else {\n if (typeof Dataviz.libraries[library][type] === 'undefined') {\n const msg = `Incorrect chart type`;\n const mappedMsg = this.config.errorMapping[msg] || msg;\n datavizInstance.message(mappedMsg);\n throw msg;\n return;\n }\n else {\n buildDomWrapper(containerElement,\n datavizInstance.config\n );\n const { renderOnVisible } = datavizInstance.config;\n if(renderOnVisible){\n if(typeof IntersectionObserver !== 'undefined'){\n const chartVisibleCallback = (events, observer) => {\n events.forEach(el => {\n if(el.isIntersecting){\n if(!datavizInstance.view._rendered){\n Dataviz.libraries[library][type].render.call(datavizInstance);\n datavizInstance.view._rendered = true;\n }\n }\n })\n }\n const observer = new IntersectionObserver(chartVisibleCallback);\n observer.observe(containerElement);\n return;\n }\n }\n if(datavizInstance.config.firstVisibilityState === 'hidden'){\n if(typeof document !== 'undefined') {\n let hidden, visibilityChange;\n if (typeof document.hidden !== \"undefined\") {\n hidden = \"hidden\";\n visibilityChange = \"visibilitychange\";\n } else if (typeof document.msHidden !== \"undefined\") {\n hidden = \"msHidden\";\n visibilityChange = \"msvisibilitychange\";\n } else if (typeof document.webkitHidden !== \"undefined\") {\n hidden = \"webkitHidden\";\n visibilityChange = \"webkitvisibilitychange\";\n }\n const handleVisibilityChange = () => {\n if(!document[hidden]) {\n datavizInstance.view._artifacts.c3.load(datavizInstance.dataset.matrix);\n }\n }\n if(typeof document.addEventListener !== \"undefined\" ||\n hidden !== undefined){\n document.addEventListener(visibilityChange, handleVisibilityChange, {\n once: true\n });\n }\n }\n }\n Dataviz.libraries[library][type].render.call(datavizInstance);\n datavizInstance.view._rendered = true;\n }\n }\n });\n\n return returnValue;\n};\n\nDataviz.prototype.sortGroups = function(str){\n if (this.config.showDeprecationWarnings) {\n console.log('.sortGroups() is deprecated. Use: new KeenDataviz({ sortGroups: _your_value_here_ })');\n }\n if (!arguments.length) return this.config.sortGroups;\n this.config.sortGroups = (str ? String(str) : null);\n\n sortGroups(this, str);\n\n return this;\n};\n\nfunction sortGroups(datavizInstance){\n // Sort groups\n if (datavizInstance.config.sortGroups && datavizInstance.data().length > 1) {\n if (isDateString(datavizInstance.data()[1][0])) {\n datavizInstance.dataset.sortColumns(datavizInstance.config.sortGroups, datavizInstance.dataset.getColumnSum);\n }\n else {\n datavizInstance.dataset.sortRows(datavizInstance.config.sortGroups, datavizInstance.dataset.getRowSum);\n }\n }\n}\n\nDataviz.prototype.sortIntervals = function(str){\n if (this.config.showDeprecationWarnings) {\n console.log('.sortIntervals() is deprecated. Use: new KeenDataviz({ sortIntervals: _your_value_here_ })');\n }\n if (!arguments.length) return this.config.sortIntervals;\n this.config.sortIntervals = (str ? String(str) : null);\n\n sortIntervals(this);\n\n return this;\n};\n\nfunction sortIntervals(datavizInstance){\n if (datavizInstance.config.sortIntervals) {\n datavizInstance.dataset.sortRows(datavizInstance.config.sortIntervals);\n }\n}\n\nDataviz.prototype.stacked = function(bool){\n if (this.config.showDeprecationWarnings) {\n console.log('.stacked() is deprecated. Use: new KeenDataviz({ stacked: _your_value_here_ })');\n }\n if (!arguments.length) return this.config.stacked;\n this.config.stacked = bool ? true : false;\n return this;\n};\n\nDataviz.prototype.theme = function(str){\n if (this.config.showDeprecationWarnings) {\n console.log('.theme() is deprecated. Use: new KeenDataviz({ theme: _your_value_here_ })');\n }\n if (!arguments.length) return this.config.theme;\n this.config.theme = (str ? String(str) : null);\n return this;\n};\n\nDataviz.prototype.title = function(str){\n if (this.config.showDeprecationWarnings) {\n console.log('.title() is deprecated. Use: new KeenDataviz({ title: _your_value_here_ })');\n }\n if (!arguments.length) return this.config.title;\n this.config.title = (str ? String(str) : null);\n return this;\n};\n\nDataviz.prototype.type = function(str){\n if (this.config.showDeprecationWarnings) {\n console.log('.type() is deprecated. Use: new KeenDataviz({ type: _your_value_here_ })');\n }\n if (!arguments.length) return this.config.type;\n this.config.type = (str ? convertChartTypes(str) : null);\n return this;\n};\n\nDataviz.prototype.update = function(){\n const library = this.config.library;\n const type = this.config.type;\n const element = this.el();\n if (library && type && element && Dataviz.libraries[library][type].update) {\n Dataviz.libraries[library][type].update.apply(this, arguments);\n }\n return this;\n};\n\nDataviz.prototype.width = function(num){\n if (this.config.showDeprecationWarnings) {\n console.log('.width() is deprecated - use CSS classes');\n }\n return this;\n};\n\n// Deprecations\nDataviz.prototype.chartType = Dataviz.prototype.type;\nDataviz.prototype.error = Dataviz.prototype.message;\nDataviz.prototype.parseRawData = Dataviz.prototype.data;\nDataviz.prototype.parseRequest = function(){\n // this.emit('error', 'This method is no longer supported. Use .data() instead: https://github.com/keen/keen-dataviz.js#data');\n return this;\n};\nDataviz.prototype.initialize = function(){\n // this.emit('error', 'This method is no longer supported, and can be omitted as it has no impact');\n return this;\n};\n\nDataviz.version = pkg.version;\n\n// Private\n\nfunction buildDomWrapper(el, options) {\n let html = '';\n let chart100percentWide = '';\n if (options.legend.position === 'top' || options.legend.position === 'bottom') {\n chart100percentWide = 'c3-chart-100-percent';\n }\n\n let container = `
`;\n let align = 'horizontal';\n if (options.legend.position === 'left' || options.legend.position === 'right') {\n align = 'vertical';\n }\n if (options.legend && options.legend.show) {\n if (options.legend.position === 'top' || options.legend.position === 'left') {\n container = `
${container}`;\n } else {\n container = `${container}
`;\n }\n }\n html += `
`;\n if (options.title && options.showTitle) {\n html += `
${options.title}
`;\n }\n html += `
${container}
`;\n if (options.notes) {\n html += `
${options.notes}
`;\n }\n html += `
`;\n el.innerHTML = html;\n}\n\nfunction convertChartTypes(str) {\n const map = {\n areachart: 'area',\n barchart: 'horizontal-bar',\n columnchart: 'bar',\n linechart: 'line',\n piechart: 'pie',\n };\n return map[str] || str;\n}\n\nfunction testDom(fn) {\n if (/in/.test(document.readyState)) {\n setTimeout(function(){\n testDom(fn);\n }, 9);\n } else {\n fn();\n }\n}\n\nfunction domReady(fn) {\n if (typeof document !== 'undefined' || typeof window === 'undefined') {\n fn();\n return;\n }\n // Firefox 3.5 shim\n if (document.readyState == null && document.addEventListener) {\n document.addEventListener('DOMContentLoaded', function DOMContentLoaded() {\n document.removeEventListener('DOMContentLoaded', DOMContentLoaded, false);\n document.readyState = 'complete';\n }, false);\n document.readyState = 'loading';\n }\n testDom(fn);\n}\n\nexport { Dataset } from './dataset';\n\nexport default Dataviz;\n","var g;\r\n\r\n// This works in non-strict mode\r\ng = (function() {\r\n\treturn this;\r\n})();\r\n\r\ntry {\r\n\t// This works if eval is allowed (see CSP)\r\n\tg = g || Function(\"return this\")() || (1, eval)(\"this\");\r\n} catch (e) {\r\n\t// This works if the window reference is available\r\n\tif (typeof window === \"object\") g = window;\r\n}\r\n\r\n// g can still be undefined, but nothing to do about it...\r\n// We return undefined, instead of nothing here, so it's\r\n// easier to handle this case. if(!global) { ...}\r\n\r\nmodule.exports = g;\r\n","import { Dataviz, Dataset } from './index';\n\nconst env = typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : typeof window !== 'undefined' ? window : {};\n\nexport const extendKeenGlobalObject = function(env) {\n env.KeenDataviz = Dataviz;\n env.KeenDataset = Dataset;\n\n // just for backward compatibility\n env.Keen = env.Keen || {};\n env.Keen.Dataset = Dataset;\n env.Keen.Dataviz = Dataviz;\n};\n\nif (typeof KEEN_GLOBAL_OBJECT !== 'undefined'\n && KEEN_GLOBAL_OBJECT) {\n extendKeenGlobalObject(env);\n}\n\nexport let keenGlobals = undefined;\nif (typeof webpackKeenGlobals !== 'undefined') {\n keenGlobals = webpackKeenGlobals;\n}\n\nexport { Dataviz, Dataset } from './index';\nexport default Dataviz;\n"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap","webpack:///./node_modules/moment/moment.js","webpack:///./lib/utils/each.js","webpack:///external \"d3\"","webpack:///./lib/utils/pretty-number.js","webpack:///./lib/utils/escape-html.js","webpack:///./lib/utils/svg-text-wrap.js","webpack:///./lib/utils/extend.js","webpack:///./lib/utils/assert-date-string.js","webpack:///./lib/utils/strip-html-tags.js","webpack:///./lib/dataset/utils/create-null-list.js","webpack:///./lib/dataset/modifiers/append.js","webpack:///./node_modules/moment/locale/zh-tw.js","webpack:///./node_modules/moment/locale/zh-hk.js","webpack:///./node_modules/moment/locale/zh-cn.js","webpack:///./node_modules/moment/locale/yo.js","webpack:///./node_modules/moment/locale/x-pseudo.js","webpack:///./node_modules/moment/locale/vi.js","webpack:///./node_modules/moment/locale/uz-latn.js","webpack:///./node_modules/moment/locale/uz.js","webpack:///./node_modules/moment/locale/ur.js","webpack:///./node_modules/moment/locale/uk.js","webpack:///./node_modules/moment/locale/ug-cn.js","webpack:///./node_modules/moment/locale/tzm-latn.js","webpack:///./node_modules/moment/locale/tzm.js","webpack:///./node_modules/moment/locale/tzl.js","webpack:///./node_modules/moment/locale/tr.js","webpack:///./node_modules/moment/locale/tlh.js","webpack:///./node_modules/moment/locale/tl-ph.js","webpack:///./node_modules/moment/locale/th.js","webpack:///./node_modules/moment/locale/tg.js","webpack:///./node_modules/moment/locale/tet.js","webpack:///./node_modules/moment/locale/te.js","webpack:///./node_modules/moment/locale/ta.js","webpack:///./node_modules/moment/locale/sw.js","webpack:///./node_modules/moment/locale/sv.js","webpack:///./node_modules/moment/locale/ss.js","webpack:///./node_modules/moment/locale/sr-cyrl.js","webpack:///./node_modules/moment/locale/sr.js","webpack:///./node_modules/moment/locale/sq.js","webpack:///./node_modules/moment/locale/sl.js","webpack:///./node_modules/moment/locale/sk.js","webpack:///./node_modules/moment/locale/si.js","webpack:///./node_modules/moment/locale/se.js","webpack:///./node_modules/moment/locale/sd.js","webpack:///./node_modules/moment/locale/ru.js","webpack:///./node_modules/moment/locale/ro.js","webpack:///./node_modules/moment/locale/pt-br.js","webpack:///./node_modules/moment/locale/pt.js","webpack:///./node_modules/moment/locale/pl.js","webpack:///./node_modules/moment/locale/pa-in.js","webpack:///./node_modules/moment/locale/nn.js","webpack:///./node_modules/moment/locale/nl-be.js","webpack:///./node_modules/moment/locale/nl.js","webpack:///./node_modules/moment/locale/ne.js","webpack:///./node_modules/moment/locale/nb.js","webpack:///./node_modules/moment/locale/my.js","webpack:///./node_modules/moment/locale/mt.js","webpack:///./node_modules/moment/locale/ms-my.js","webpack:///./node_modules/moment/locale/ms.js","webpack:///./node_modules/moment/locale/mr.js","webpack:///./node_modules/moment/locale/mn.js","webpack:///./node_modules/moment/locale/ml.js","webpack:///./node_modules/moment/locale/mk.js","webpack:///./node_modules/moment/locale/mi.js","webpack:///./node_modules/moment/locale/me.js","webpack:///./node_modules/moment/locale/lv.js","webpack:///./node_modules/moment/locale/lt.js","webpack:///./node_modules/moment/locale/lo.js","webpack:///./node_modules/moment/locale/lb.js","webpack:///./node_modules/moment/locale/ky.js","webpack:///./node_modules/moment/locale/ko.js","webpack:///./node_modules/moment/locale/kn.js","webpack:///./node_modules/moment/locale/km.js","webpack:///./node_modules/moment/locale/kk.js","webpack:///./node_modules/moment/locale/ka.js","webpack:///./node_modules/moment/locale/jv.js","webpack:///./node_modules/moment/locale/ja.js","webpack:///./node_modules/moment/locale/it.js","webpack:///./node_modules/moment/locale/is.js","webpack:///./node_modules/moment/locale/id.js","webpack:///./node_modules/moment/locale/hy-am.js","webpack:///./node_modules/moment/locale/hu.js","webpack:///./node_modules/moment/locale/hr.js","webpack:///./node_modules/moment/locale/hi.js","webpack:///./node_modules/moment/locale/he.js","webpack:///./node_modules/moment/locale/gu.js","webpack:///./node_modules/moment/locale/gom-latn.js","webpack:///./node_modules/moment/locale/gl.js","webpack:///./node_modules/moment/locale/gd.js","webpack:///./node_modules/moment/locale/fy.js","webpack:///./node_modules/moment/locale/fr-ch.js","webpack:///./node_modules/moment/locale/fr-ca.js","webpack:///./node_modules/moment/locale/fr.js","webpack:///./node_modules/moment/locale/fo.js","webpack:///./node_modules/moment/locale/fi.js","webpack:///./node_modules/moment/locale/fa.js","webpack:///./node_modules/moment/locale/eu.js","webpack:///./node_modules/moment/locale/et.js","webpack:///./node_modules/moment/locale/es-us.js","webpack:///./node_modules/moment/locale/es-do.js","webpack:///./node_modules/moment/locale/es.js","webpack:///./node_modules/moment/locale/eo.js","webpack:///./node_modules/moment/locale/en-nz.js","webpack:///./node_modules/moment/locale/en-il.js","webpack:///./node_modules/moment/locale/en-ie.js","webpack:///./node_modules/moment/locale/en-gb.js","webpack:///./node_modules/moment/locale/en-ca.js","webpack:///./node_modules/moment/locale/en-au.js","webpack:///./node_modules/moment/locale/el.js","webpack:///./node_modules/moment/locale/dv.js","webpack:///./node_modules/moment/locale/de-ch.js","webpack:///./node_modules/moment/locale/de-at.js","webpack:///./node_modules/moment/locale/de.js","webpack:///./node_modules/moment/locale/da.js","webpack:///./node_modules/moment/locale/cy.js","webpack:///./node_modules/moment/locale/cv.js","webpack:///./node_modules/moment/locale/cs.js","webpack:///./node_modules/moment/locale/ca.js","webpack:///./node_modules/moment/locale/bs.js","webpack:///./node_modules/moment/locale/br.js","webpack:///./node_modules/moment/locale/bo.js","webpack:///./node_modules/moment/locale/bn.js","webpack:///./node_modules/moment/locale/bm.js","webpack:///./node_modules/moment/locale/bg.js","webpack:///./node_modules/moment/locale/be.js","webpack:///./node_modules/moment/locale/az.js","webpack:///./node_modules/moment/locale/ar-tn.js","webpack:///./node_modules/moment/locale/ar-sa.js","webpack:///./node_modules/moment/locale/ar-ma.js","webpack:///./node_modules/moment/locale/ar-ly.js","webpack:///./node_modules/moment/locale/ar-kw.js","webpack:///./node_modules/moment/locale/ar-dz.js","webpack:///./node_modules/moment/locale/ar.js","webpack:///./node_modules/moment/locale/af.js","webpack:///./lib/utils/extend-deep.js","webpack:///external \"c3\"","webpack:///./lib/dataset/utils/analyses.js","webpack:///./lib/dataset/index.js","webpack:///./lib/libraries/default/horizontal-funnel-3d.js","webpack:///./lib/libraries/default/horizontal-funnel.js","webpack:///./lib/libraries/default/funnel-3d.js","webpack:///./lib/libraries/default/funnel.js","webpack:///./lib/libraries/default/spinner.js","webpack:///./node_modules/moment/locale sync ^\\.\\/.*$","webpack:///(webpack)/buildin/module.js","webpack:///./node_modules/moment-timezone/moment-timezone.js","webpack:///./node_modules/moment-timezone/index.js","webpack:///./lib/libraries/default/table.js","webpack:///./lib/libraries/default/metric.js","webpack:///./lib/libraries/default/message.js","webpack:///./lib/libraries/c3/extensions/tooltip-contents.js","webpack:///./lib/libraries/c3/extensions/paginating-legend.js","webpack:///./lib/libraries/c3/extensions/default-date-format.js","webpack:///./lib/libraries/index.js","webpack:///./lib/data.js","webpack:///./lib/dataset/utils/object.js","webpack:///./lib/dataset/utils/flatten.js","webpack:///./lib/dataset/utils/parsers.js","webpack:///./lib/dataset/modifiers/update.js","webpack:///./lib/dataset/modifiers/sort.js","webpack:///./lib/dataset/modifiers/select.js","webpack:///./lib/dataset/modifiers/insert.js","webpack:///./lib/dataset/modifiers/filter.js","webpack:///./lib/dataset/modifiers/delete.js","webpack:///./lib/index.js","webpack:///(webpack)/buildin/global.js","webpack:///./lib/browser.js"],"names":["each","o","cb","s","n","Array","length","call","hasOwnProperty","prettyNumber","input","Number","sciNo","toPrecision","prefix","suffixes","String","Math","abs","recurse","iteration","split","rhs","charAt","numNumerals","escapeHtml","matchHtmlRegExp","string","str","match","exec","escape","html","index","lastIndex","charCodeAt","substring","textWrap","d3","text","width","select","words","reverse","word","line","lineNumber","lineHeight","x","attr","y","dy","tspan","append","pop","push","join","node","getComputedTextLength","extend","target","i","arguments","prop","testObject","testString","getTime","isNaN","ISO_8601","test","stripHtmlTags","inputString","replace","len","list","appendColumn","appendRow","self","args","prototype","slice","label","undefined","matrix","row","cell","concat","value","newRow","col","selectColumn","extendDeep","key","average","arr","start","end","set","sum","avg","val","parseFloat","maximum","nums","max","apply","minimum","min","getColumnAverage","getRowAverage","getColumnSum","getRowSum","getColumnMaximum","getRowMaximum","getColumnMinimum","getRowMinimum","getColumnLabel","getRowIndex","del","filter","insert","sort","update","Dataset","config","meta","type","data","coords","Error","colIndex","indexOf","rowIndex","colResult","rowResult","selectRow","analyses","parser","HorizontalFunnel3d","dataset","colors","container","labelMapping","colorMapping","opts","funnel","percents","show","countingMethod","decimals","lines","resultValues","effect3d","hover","margin","top","right","bottom","left","funnelContainer","chartContainer","chart","svgWidth","style","svgHeight","elemWidth","xMarginElement","shadowCut","prevElemHeight","percent","toFixed","polygons","map","d","newPoints","Object","keys","result","parseInt","name","points","polygonsShadows","polygons3d","selectAll","enter","p","rgb","darker","handleMouseOver","polygonsHover","labelHover","thisLabel","handleMouseOut","on","destroy","render","remove","HorizontalFunnel","marginBetweenSteps","Funnel3d","elemHeight","yMarginElement","prevElemWidth","Funnel","artifacts","view","_artifacts","spinner","theme","el","innerHTML","interval","clearInterval","radius","e","defaults","currentPage","_generateTableRows","datavizInstance","defaultConfig","page","limit","arrows","customConfig","table","pagination","datasetPaginated","pages","ceil","columnsArray","columns","checkArray","mapValues","entries","rowCol","timezone","Date","dateTimeTimezoned","moment","tz","clone","toString","rowColEscaped","pageNumber","prevPage","nextPage","_generateTableHeader","fieldNumber","columnNames","colName","colNameEscaped","isEmpty","msg","mappedMsg","errorMapping","showErrorMessages","message","querySelector","querySelectorAll","forEach","item","addEventListener","event","sortOrder","getAttribute","checker","a","b","sortOrderNumber","nameA","toUpperCase","nameB","setAttribute","first","shift","unshift","attachBtnEventListeners","btn","onrendered","color","title","suffix","formattedNum","valueEl","flexDifferenceStyle","resultDifference","differenceStyle","smallerValue","results","previousResults","outer","document","createElement","inner","titleContainer","notesContainer","className","notes","appendChild","showTitle","defaultTitleFormat","defaultValueFormat","nameFormat","tooltip_format_name","titleFormat","tooltip_format_title","valueFormat","tooltip_format_value","CLASS","tooltip","ratio","id","bgcolor","levelColor","tooltipName","options","cols","c3","domNode","legendConfig","legend","hidden","labels","offset","round","offsetHeight","total","columnsSorted","dataColumnsSorted","columnData","find","column","legendElement","align","position","paginateHorizontalLeftElement","legendItemsElement","paginateVerticalElement","paginateHorizontalRightElement","paginateData","renderLegendComponent","renderPaginationComponent","onPaginated","labelShortened","textMaxLength","legendItem","chartPartId","legendItemColorSample","backgroundColor","prepend","tooltipElement","focus","pointer","revert","opacity","isHidden","splice","toggle","onLegendRendered","arrowUp","arrowDown","paginate","direction","diff","floor","clearSelectedText","selection","empty","window","getSelection","removeAllRanges","startDate","endDate","timeDiff","months","ms","date","getMonth","getFullYear","getDate","lib","timer","bindResizeListener","clearTimeout","delay","visuals","setTimeout","resize","internal","fn","horizontalDistance","pos","$$","xIndex","axis_rotated","findClosest","values","minDist","point_sensitivity","Infinity","closest","v","isBarType","shape","main","bars","getTargetSelectorSuffix","bar","isWithinBar","mouse","dist","defineC3","types","metric","c3Types","getPaddings","element","paddingName","getComputedStyle","getDefaultOptions","ENFORCED_OPTIONS","bindto","pattern","renderingElement","height","titleElement","notesElement","offsetWidth","DEFAULT_OPTIONS","size","clearOnRender","removeLegend","axis","rotated","tick","format","dateFormat","culling","stacked","groups","categories","bind","chartTypesWithPartialIntervalIndicator","partialIntervalIndicator","partialResultsRegion","class","regions","contents","c3TooltipContents","valueFormatted","c3CustomTooltipFiltering","c3options","c3CustomDataMapping","hide","generate","c3PaginatingLegend","flush","scope","onresize","attachEvent","parseResponse","response","indexBy","parserArgs","query","selectedParser","metadata","analysis_type","event_collection","filters","group_by","timeframe","steps","display_name","getDefaultTitle","visualization","chart_type","getDefaultType","updateColumn","updateRow","analysis","valueAtDeepKey","obj","is","flatten","ob","toReturn","flatObject","initialize","parsers","parseMetric","res","parseInterval","record","parseGroupedMetric","parseGroupedInterval","group","j","parseDoubleGroupedMetric","rowLabel","parseDoubleGroupedInterval","parseFunnel","parseList","parseExtraction","datasetExtraction","names","iNames","deleteColumn","extraction","q","sortColumns","sortRows","comp","head","analysesUtilMethods","op","insertColumn","body","insertRow","filterColumns","filterRows","selectedColumn","ri","deleteRow","Dataviz","defaultOptions","showDeprecationWarnings","showLoadingSpinner","containerElement","labelMappingRegExp","library","sortGroups","sortIntervals","order","padding","point","expand","enabled","r","transition","draggable","multiple","marginBetweenElements","convertChartTypes","_prepared","_rendered","prepare","firstVisibilityState","visibilityState","libraries","default","register","actions","method","nodeName","visual","attributes","console","log","chartOptions","domReady","num","setLabels","mapLabels","mapLabelsExec","valueAfterMatching","regExpAndLabel","regExpObj","labelMappingDimension","loader","firstResult","isArray","timeframes","resultItem","foundDifferent","JSON","stringify","timeframeItem","resultTimeframe","error","getLabel","firstResultPassed","ds2","returnValue","renderAsPromise","Promise","resolve","reject","customCallback","buildDomWrapper","renderOnVisible","IntersectionObserver","chartVisibleCallback","events","observer","isIntersecting","observe","visibilityChange","msHidden","webkitHidden","handleVisibilityChange","load","once","bool","chartType","parseRawData","parseRequest","version","pkg","chart100percentWide","areachart","barchart","columnchart","linechart","piechart","testDom","readyState","DOMContentLoaded","removeEventListener","env","global","extendKeenGlobalObject","KeenDataviz","KeenDataset","Keen","keenGlobals","webpackKeenGlobals"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,O;ACVA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAK;AACL;AACA;;AAEA;AACA;AACA,yDAAiD,cAAc;AAC/D;;AAEA;AACA;AACA;AACA,mCAA2B,0BAA0B,EAAE;AACvD,yCAAiC,eAAe;AAChD;AACA;AACA;;AAEA;AACA,8DAAsD,+DAA+D;;AAErH;AACA;;;AAGA;AACA;;;;;;;8CCnEA;;AAEA,CAAC;AACD;AACA,aACA;AACA,CAAC,qBAAqB;;AAEtB;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,gBAAgB;AACnC;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA,2BAA2B,SAAS;AACpC;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,uBAAuB,6BAA6B;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,SAAS;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,sBAAsB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C;AAC/C,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,IAAI;AAC/B;;AAEA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,4CAA4C,IAAI;;AAEhD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,gCAAgC;AAChC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,wBAAwB,iCAAiC;AACzD;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,4LAA4L,IAAI;;AAEhM,qEAAqE,IAAI;;AAEzE;;AAEA;;AAEA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,0CAA0C,YAAY;AACtD;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA,uBAAuB,YAAY;AACnC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,8BAA8B;AAC9B,gCAAgC;AAChC,6BAA6B,EAAE,EAAE;AACjC,6BAA6B,EAAE,EAAE;AACjC,kCAAkC,EAAE,EAAE;AACtC,iCAAiC;AACjC,qCAAqC;AACrC,yCAAyC;AACzC,6BAA6B,IAAI,EAAE;AACnC,6BAA6B,IAAI,EAAE;AACnC,kCAAkC,IAAI,EAAE;;AAExC,+BAA+B;AAC/B,oCAAoC;;AAEpC,8CAA8C;AAC9C,qDAAqD;;AAErD,wCAAwC,IAAI,IAAI;;AAEhD;AACA;AACA,2BAA2B,MAAM,wEAAwE,MAAM,mBAAmB,MAAM,qBAAqB,MAAM,EAAE,IAAI;;AAEzK;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA,8CAA8C;AAC9C;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,kBAAkB;AACrC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA,2BAA2B,wBAAwB;AACnD;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,uBAAuB,iBAAiB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,QAAQ;AAC/B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,mBAAmB,QAAQ;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,QAAQ;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,QAAQ;AAC3B;AACA;AACA;AACA,mBAAmB,QAAQ;AAC3B;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,uBAAuB,OAAO;AAC9B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,mBAAmB,OAAO;AAC1B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,OAAO;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,OAAO;AAC1B;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB;AACjB;;AAEA;AACA;AACA;AACA;;;AAGA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,mBAAmB,+BAA+B;AAClD;AACA;;AAEA;AACA,cAAc,OAAO;AACrB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,2CAA2C,EAAE,IAAI,EAAE;AACnD,wCAAwC,EAAE,IAAI,EAAE;;AAEhD;;AAEA;AACA,iCAAiC,EAAE;AACnC,2BAA2B,EAAE;AAC7B,6BAA6B,EAAE;AAC/B,2BAA2B,EAAE;AAC7B,yBAAyB,EAAE,IAAI,EAAE;AACjC,wBAAwB,EAAE;AAC1B,+BAA+B,GAAG;AAClC,yBAAyB,EAAE;AAC3B;AACA,2BAA2B,EAAE,IAAI,EAAE;AACnC,0BAA0B,EAAE,IAAI,EAAE;AAClC,wBAAwB,EAAE;AAC1B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,4CAA4C,OAAO;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD,OAAO;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA,8DAA8D,IAAI,0DAA0D,IAAI,qEAAqE,EAAE;;AAEvM;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,mBAAmB,mBAAmB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,mBAAmB,sBAAsB;AACzC;AACA,sCAAsC;AACtC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,kCAAkC,gBAAgB;AAClD;;AAEA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,oBAAoB;AACvC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,uBAAuB,qBAAqB;AAC5C;AACA;AACA,iCAAiC;AACjC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,6BAA6B;AACtC;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,oBAAoB;AACpB;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,cAAc;AACxC;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA,6DAA6D;AAC7D,yDAAyD;AACzD,+DAA+D;AAC/D,wDAAwD,OAAO;AAC/D,wDAAwD,OAAO;AAC/D,uDAAuD,OAAO;AAC9D,mEAAmE,OAAO;AAC1E,qEAAqE,OAAO;AAC5E;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,mCAAmC,qBAAqB;AACxD,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,mCAAmC,qBAAqB;AACxD,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,wBAAwB;AACxB;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;;;AAGL;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,wBAAwB,mBAAmB;AAC3C;AACA;;AAEA;AACA;AACA;;AAEA,qBAAqB,mBAAmB;AACxC;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,QAAQ;AAC3B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,OAAO;AAC1B;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;;AAEL;;;AAGA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,CAAC;;;;;;;;;;;;;;QCz5IeA,I,GAAAA,I;AAAT,SAASA,IAAT,CAAcC,CAAd,EAAiBC,EAAjB,EAAqBC,CAArB,EAAwB;AAC7B,MAAIC,CAAJ;AACA,MAAI,CAACH,CAAL,EAAQ;AACN,WAAO,CAAP;AACD;AACDE,MAAI,CAACA,CAAD,GAAKF,CAAL,GAASE,CAAb;AACA,MAAIF,aAAaI,KAAjB,EAAwB;AACtB;AACA,SAAKD,IAAI,CAAT,EAAYA,IAAIH,EAAEK,MAAlB,EAA0BF,GAA1B,EAA+B;AAC7B,UAAIF,GAAGK,IAAH,CAAQJ,CAAR,EAAWF,EAAEG,CAAF,CAAX,EAAiBA,CAAjB,EAAoBH,CAApB,MAA2B,KAA/B,EAAsC;AACpC,eAAO,CAAP;AACD;AACF;AACF,GAPD,MAOO;AACL;AACA,SAAKG,CAAL,IAAUH,CAAV,EAAa;AACX,UAAIA,EAAEO,cAAF,CAAiBJ,CAAjB,CAAJ,EAAyB;AACvB,YAAIF,GAAGK,IAAH,CAAQJ,CAAR,EAAWF,EAAEG,CAAF,CAAX,EAAiBA,CAAjB,EAAoBH,CAApB,MAA2B,KAA/B,EAAqC;AACnC,iBAAO,CAAP;AACD;AACF;AACF;AACF;AACD,SAAO,CAAP;AACD,C;;;;;;ACxBD,gD;;;;;;;;;;;;QCAgBQ,Y,GAAAA,Y;AAAT,SAASA,YAAT,CAAsBC,KAAtB,EAA6B;AAClC;AACA,MAAIA,QAAQC,OAAOD,KAAP,CAAZ;AAAA,MACIE,QAAQF,MAAMG,WAAN,CAAkB,CAAlB,CADZ;AAAA,MAEIC,SAAS,EAFb;AAAA,MAGIC,WAAW,CAAC,EAAD,EAAK,GAAL,EAAU,GAAV,EAAe,GAAf,EAAoB,GAApB,CAHf;;AAKA,MAAIJ,OAAOC,KAAP,KAAiBF,KAAjB,IAA0BM,OAAON,KAAP,EAAcJ,MAAd,IAAwB,CAAtD,EAAyD;AACvD,WAAOU,OAAON,KAAP,CAAP;AACD;;AAED,MAAIO,KAAKC,GAAL,CAASR,KAAT,KAAmB,gBAAvB,EAAyC;AACvC,WAAOE,KAAP;AACD;;AAED,MAAIF,SAAS,CAAT,IAAcA,SAAS,CAAC,CAA5B,EAA+B;AAC7B,QAAIA,QAAQ,CAAZ,EAAc;AACZ;AACAA,cAAQ,CAACA,KAAT;AACAI,eAAS,GAAT;AACD;AACD,WAAOA,SAASK,QAAQT,KAAR,EAAe,CAAf,CAAhB;AACD,GAPD,MAQK;AACH,WAAOA,MAAMG,WAAN,CAAkB,CAAlB,CAAP;AACD;;AAED,WAASM,OAAT,CAAiBT,KAAjB,EAAwBU,SAAxB,EAAmC;AACjC,QAAIV,QAAQM,OAAON,KAAP,CAAZ;AACA,QAAIW,QAAQX,MAAMW,KAAN,CAAY,GAAZ,CAAZ;AACA;AACA,QAAIA,MAAMf,MAAN,GAAe,CAAnB,EAAsB;AACpB;AACAI,cAAQW,MAAM,CAAN,CAAR;AACA,UAAIC,MAAMD,MAAM,CAAN,CAAV;AACA;AACA,UAAIX,MAAMJ,MAAN,IAAgB,CAAhB,IAAqBgB,IAAIhB,MAAJ,GAAa,CAAtC,EAAyC;AACvC;AACA,YAAIgB,IAAIhB,MAAJ,GAAa,CAAjB,EAAoB;AAClBI,kBAAQA,QAAQ,GAAR,GAAcY,IAAIC,MAAJ,CAAW,CAAX,CAAtB;AACD;AACD;AAHA,aAIK;AACHb,qBAAS,GAAT;AACD;AACF,OATD,MAUK,IAAIA,MAAMJ,MAAN,IAAgB,CAAhB,IAAqBgB,IAAIhB,MAAJ,GAAa,CAAtC,EAAyC;AAC5CI,gBAAQA,QAAQ,GAAR,GAAcY,IAAIC,MAAJ,CAAW,CAAX,CAAtB;AACA;AACA,YAAID,IAAIhB,MAAJ,GAAa,CAAjB,EAAoB;AAClBI,mBAASY,IAAIC,MAAJ,CAAW,CAAX,CAAT;AACD;AACD;AAHA,aAIK;AACHb,qBAAS,GAAT;AACD;AACF;AACF;AACD,QAAIc,cAAcd,MAAMJ,MAAxB;AACA;AACA,QAAII,MAAMW,KAAN,CAAY,GAAZ,EAAiBf,MAAjB,GAA0B,CAA9B,EAAiC;AAC/BkB;AACD;AACD,QAAIA,eAAe,CAAnB,EAAsB;AACpB,aAAOR,OAAON,KAAP,IAAgBK,SAASK,SAAT,CAAvB;AACD,KAFD,MAGK;AACH,aAAOD,QAAQR,OAAOD,KAAP,IAAgB,IAAxB,EAA8BU,YAAY,CAA1C,CAAP;AACD;AACF;AACF,C;;;;;;;;;;;;QC5DeK,U,GAAAA,U;AAVhB,IAAMC,kBAAkB,SAAxB;;AAEA;;;;;;;;AAQO,SAASD,UAAT,CAAoBE,MAApB,EAA4B;AACjC,MAAIC,MAAM,KAAKD,MAAf;AACA,MAAIE,QAAQH,gBAAgBI,IAAhB,CAAqBF,GAArB,CAAZ;;AAEA,MAAI,CAACC,KAAL,EAAY;AACV,WAAOD,GAAP;AACD;;AAED,MAAIG,MAAJ;AACA,MAAIC,OAAO,EAAX;AACA,MAAIC,QAAQ,CAAZ;AACA,MAAIC,YAAY,CAAhB;;AAEA,OAAKD,QAAQJ,MAAMI,KAAnB,EAA0BA,QAAQL,IAAItB,MAAtC,EAA8C2B,OAA9C,EAAuD;AACrD,YAAQL,IAAIO,UAAJ,CAAeF,KAAf,CAAR;AACE,WAAK,EAAL;AAAS;AACPF,iBAAS,QAAT;AACA;AACF,WAAK,EAAL;AAAS;AACPA,iBAAS,OAAT;AACA;AACF,WAAK,EAAL;AAAS;AACPA,iBAAS,OAAT;AACA;AACF,WAAK,EAAL;AAAS;AACPA,iBAAS,MAAT;AACA;AACF,WAAK,EAAL;AAAS;AACPA,iBAAS,MAAT;AACA;AACF;AACE;AAjBJ;;AAoBA,QAAIG,cAAcD,KAAlB,EAAyB;AACvBD,cAAQJ,IAAIQ,SAAJ,CAAcF,SAAd,EAAyBD,KAAzB,CAAR;AACD;;AAEDC,gBAAYD,QAAQ,CAApB;AACAD,YAAQD,MAAR;AACD;;AAED,SAAOG,cAAcD,KAAd,GACHD,OAAOJ,IAAIQ,SAAJ,CAAcF,SAAd,EAAyBD,KAAzB,CADJ,GAEHD,IAFJ;AAGD,C;;;;;;;;;;;;QCrDeK,Q,GAAAA,Q;;AAFhB;;IAAYC,E;;;;AAEL,SAASD,QAAT,CAAkBE,IAAlB,EAAwBC,KAAxB,EAA+B;AACpCD,SAAKvC,IAAL,CAAU,YAAY;AACpB,YAAIuC,OAAOD,GAAGG,MAAH,CAAU,IAAV,CAAX;AAAA,YACIC,QAAQH,KAAKA,IAAL,GAAYlB,KAAZ,CAAkB,KAAlB,EAAyBsB,OAAzB,EADZ;AAAA,YAEIC,aAFJ;AAAA,YAGIC,OAAO,EAHX;AAAA,YAIIC,aAAa,CAJjB;AAAA,YAKIC,aAAa,GALjB;AAAA,YAKsB;AAClBC,YAAIT,KAAKU,IAAL,CAAU,GAAV,CANR;AAAA,YAOIC,IAAIX,KAAKU,IAAL,CAAU,GAAV,CAPR;AAAA,YAQIE,KAAK,CART;AAAA,YAQY;AACRC,gBAAQb,KAAKA,IAAL,CAAU,IAAV,EACKc,MADL,CACY,OADZ,EAEKJ,IAFL,CAEU,GAFV,EAEeD,CAFf,EAGKC,IAHL,CAGU,GAHV,EAGeC,CAHf,EAIKD,IAJL,CAIU,IAJV,EAIgBE,KAAK,IAJrB,CATZ;AAcA,eAAOP,OAAOF,MAAMY,GAAN,EAAd,EAA2B;AACvBT,iBAAKU,IAAL,CAAUX,IAAV;AACAQ,kBAAMb,IAAN,CAAWM,KAAKW,IAAL,CAAU,GAAV,CAAX;AACA,gBAAIJ,MAAMK,IAAN,GAAaC,qBAAb,KAAuClB,KAA3C,EAAkD;AAC9CK,qBAAKS,GAAL;AACAF,sBAAMb,IAAN,CAAWM,KAAKW,IAAL,CAAU,GAAV,CAAX;AACAX,uBAAO,CAACD,IAAD,CAAP;AACAQ,wBAAQb,KAAKc,MAAL,CAAY,OAAZ,EACKJ,IADL,CACU,GADV,EACeD,CADf,EAEKC,IAFL,CAEU,GAFV,EAEeC,CAFf,EAGKD,IAHL,CAGU,IAHV,EAGgB,EAAEH,UAAF,GAAeC,UAAf,GAA4BI,EAA5B,GAAiC,IAHjD,EAIKZ,IAJL,CAIUK,IAJV,CAAR;AAKH;AACJ;AACF,KA7BD;AA8BD,C;;;;;;;;;;;;QCjCee,M,GAAAA,M;AAAT,SAASA,MAAT,CAAgBC,MAAhB,EAAwB;AAC7B,OAAK,IAAIC,IAAI,CAAb,EAAgBA,IAAIC,UAAUxD,MAA9B,EAAsCuD,GAAtC,EAA2C;AACzC,SAAK,IAAIE,IAAT,IAAiBD,UAAUD,CAAV,CAAjB,EAA8B;AAC5BD,aAAOG,IAAP,IAAeD,UAAUD,CAAV,EAAaE,IAAb,CAAf;AACD;AACF;AACD,SAAOH,MAAP;AACD,C;;;;;;;;;;;;;;;QCPeI,U,GAAAA,U;QAOAC,U,GAAAA,U;;kBAKD,UAAUvD,KAAV,EAAiB;AAC9B,MAAI,QAAOA,KAAP,yCAAOA,KAAP,OAAiB,QAArB,EAA+B;AAC7B,WAAOsD,WAAWtD,KAAX,CAAP;AACD,GAFD,MAEO,IAAI,OAAOA,KAAP,KAAiB,QAArB,EAA+B;AACpC,WAAOuD,WAAWvD,KAAX,CAAP;AACD;AACD,SAAO,KAAP;AACD,C;;AAnBM,SAASsD,UAAT,CAAoBtD,KAApB,EAA2B;AAChC,MAAIA,UAAU,IAAV,IAAkB,OAAOA,MAAMwD,OAAb,KAAyB,UAA3C,IAAyD,CAACC,MAAMzD,MAAMwD,OAAN,EAAN,CAA9D,EAAsF;AACpF,WAAO,IAAP;AACD;AACD,SAAO,KAAP;AACD;;AAEM,SAASD,UAAT,CAAoBvD,KAApB,EAA2B;AAChC,MAAM0D,WAAW,+DAAjB;AACA,SAAOA,SAASC,IAAT,CAAc3D,KAAd,CAAP;AACD,C;;;;;;;;;;;;QCFe4D,a,GAAAA,a;AARhB;;;;;;;;AAQO,SAASA,aAAT,CAAuBC,WAAvB,EAAoC;AACzC,SAAOA,YAAYC,OAAZ,CAAoB,eAApB,EAAqC,EAArC,CAAP;AACD,C;;;;;;;;;;;;;kBCVc,UAAUC,GAAV,EAAe;AAC5B,MAAMC,OAAO,EAAb;AACA,OAAK,IAAIb,IAAI,CAAb,EAAgBA,IAAIY,GAApB,EAAyBZ,GAAzB,EAA8B;AAC5Ba,SAAKnB,IAAL,CAAU,IAAV;AACD;AACD,SAAOmB,IAAP;AACD,C;;;;;;;;;;;;QCHeC,Y,GAAAA,Y;QA6CAC,S,GAAAA,S;;AAhDhB;;;;AACA;;;;AAEO,SAASD,YAAT,CAAsB/C,GAAtB,EAA2BlB,KAA3B,EAAkC;AACvC,MAAMmE,OAAO,IAAb;AACA,MAAMC,OAAOzE,MAAM0E,SAAN,CAAgBC,KAAhB,CAAsBzE,IAAtB,CAA2BuD,SAA3B,EAAsC,CAAtC,CAAb;AACA,MAAMmB,QAASrD,QAAQsD,SAAT,GAAsBtD,GAAtB,GAA4B,IAA1C;;AAEA,MAAI,OAAOlB,KAAP,KAAiB,UAArB,EAAiC;AAC/BmE,SAAKM,MAAL,CAAY,CAAZ,EAAe5B,IAAf,CAAoB0B,KAApB;AACA,oBAAKJ,KAAKM,MAAV,EAAkB,UAASC,GAAT,EAAcvB,CAAd,EAAiB;AACjC,UAAIwB,aAAJ;AACA,UAAIxB,IAAI,CAAR,EAAW;AACTwB,eAAO3E,MAAMH,IAAN,CAAWsE,IAAX,EAAiBO,GAAjB,EAAsBvB,CAAtB,CAAP;AACA,YAAI,OAAOwB,IAAP,KAAgB,WAApB,EAAiC;AAC/BA,iBAAO,IAAP;AACD;AACDR,aAAKM,MAAL,CAAYtB,CAAZ,EAAeN,IAAf,CAAoB8B,IAApB;AACD;AACF,KATD;AAUD,GAZD,MAcK,IAAI,CAAC3E,KAAD,IAAUA,iBAAiBL,KAA/B,EAAsC;AACzCK,YAAQA,SAAS,EAAjB;;AAEA,QAAIA,MAAMJ,MAAN,IAAgBuE,KAAKM,MAAL,CAAY7E,MAAZ,GAAqB,CAAzC,EAA4C;AAC1CI,cAAQA,MAAM4E,MAAN,CAAa,8BAAeT,KAAKM,MAAL,CAAY7E,MAAZ,GAAqB,CAArB,GAAyBI,MAAMJ,MAA9C,CAAb,CAAR;AACD,KAFD,MAGK;AACH;AACA;AACA,sBAAKI,KAAL,EAAY,UAAS6E,KAAT,EAAgB1B,CAAhB,EAAkB;AAC5B,YAAIgB,KAAKM,MAAL,CAAY7E,MAAZ,GAAoB,CAApB,GAAwBI,MAAMJ,MAAlC,EAA0C;AACxCsE,oBAAUrE,IAAV,CAAesE,IAAf,EAAqB7D,OAAO6D,KAAKM,MAAL,CAAY7E,MAAnB,CAArB;AACD;AACF,OAJD;AAKD;;AAEDuE,SAAKM,MAAL,CAAY,CAAZ,EAAe5B,IAAf,CAAoB0B,KAApB;AACA,oBAAKvE,KAAL,EAAY,UAAS6E,KAAT,EAAgB1B,CAAhB,EAAkB;AAC5BgB,WAAKM,MAAL,CAAYtB,IAAE,CAAd,EAAiBgB,KAAKM,MAAL,CAAY,CAAZ,EAAe7E,MAAf,GAAsB,CAAvC,IAA4CiF,KAA5C;AACD,KAFD;AAID;;AAED,SAAOV,IAAP;AACD;;AAEM,SAASD,SAAT,CAAmBhD,GAAnB,EAAwBlB,KAAxB,EAA+B;AACpC,MAAMmE,OAAO,IAAb;AACA,MAAMC,OAAOzE,MAAM0E,SAAN,CAAgBC,KAAhB,CAAsBzE,IAAtB,CAA2BuD,SAA3B,EAAsC,CAAtC,CAAb;AACA,MAAMmB,QAASrD,QAAQsD,SAAT,GAAsBtD,GAAtB,GAA4B,IAA1C;AACA,MAAM4D,SAAS,EAAf;;AAEAA,SAAOjC,IAAP,CAAY0B,KAAZ;;AAEA,MAAI,OAAOvE,KAAP,KAAiB,UAArB,EAAiC;AAC/B,oBAAKmE,KAAKM,MAAL,CAAY,CAAZ,CAAL,EAAqB,UAASF,KAAT,EAAgBpB,CAAhB,EAAkB;AACrC,UAAI4B,YAAJ;AACA,UAAIJ,aAAJ;AACA,UAAIxB,IAAI,CAAR,EAAW;AACT4B,cAAMZ,KAAKa,YAAL,CAAkB7B,CAAlB,CAAN;AACAwB,eAAO3E,MAAMH,IAAN,CAAWsE,IAAX,EAAiBY,GAAjB,EAAsB5B,CAAtB,CAAP;AACA,YAAI,OAAOwB,IAAP,KAAgB,WAApB,EAAiC;AAC/BA,iBAAO,IAAP;AACD;AACDG,eAAOjC,IAAP,CAAY8B,IAAZ;AACD;AACF,KAXD;AAYAR,SAAKM,MAAL,CAAY5B,IAAZ,CAAiBiC,MAAjB;AACD,GAdD,MAgBK,IAAI,CAAC9E,KAAD,IAAUA,iBAAiBL,KAA/B,EAAsC;AACzCK,YAAQA,SAAS,EAAjB;;AAEA,QAAIA,MAAMJ,MAAN,IAAgBuE,KAAKM,MAAL,CAAY,CAAZ,EAAe7E,MAAf,GAAwB,CAA5C,EAA+C;AAC7CI,cAAQA,MAAM4E,MAAN,CAAc,8BAAgBT,KAAKM,MAAL,CAAY,CAAZ,EAAe7E,MAAf,GAAwB,CAAxB,GAA4BI,MAAMJ,MAAlD,CAAd,CAAR;AACD,KAFD,MAGK;AACH,sBAAKI,KAAL,EAAY,UAAS6E,KAAT,EAAgB1B,CAAhB,EAAkB;AAC5B,YAAIgB,KAAKM,MAAL,CAAY,CAAZ,EAAe7E,MAAf,GAAuB,CAAvB,GAA2BI,MAAMJ,MAArC,EAA6C;AAC3CqE,uBAAapE,IAAb,CAAkBsE,IAAlB,EAAwB7D,OAAQ6D,KAAKM,MAAL,CAAY,CAAZ,EAAe7E,MAAvB,CAAxB;AACD;AACF,OAJD;AAKD;;AAEDuE,SAAKM,MAAL,CAAY5B,IAAZ,CAAiBiC,OAAOF,MAAP,CAAc5E,KAAd,CAAjB;AACD;;AAED,SAAOmE,IAAP;AACD,C;;;;;;AC1FD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACrGD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACrGD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC5GD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,2CAA2C,IAAI;AAC/C;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC1DD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AClED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC7ED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACxDD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACxDD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AChGD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACrJD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACrHD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACxDD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACxDD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,CAAC;;;;;;;;ACxFD,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;AAE5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC5FD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACxHD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC5DD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACjED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AClHD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACjED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,qCAAqC,IAAI;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACvFD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,gCAAgC;AAChC,aAAa;AACb,+BAA+B;AAC/B,aAAa;AACb,kCAAkC;AAClC,aAAa;AACb,kCAAkC;AAClC,aAAa;AACb,+BAA+B;AAC/B,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC/HD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACzDD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACnED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACtFD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC7GD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC7GD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AClED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC3KD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC1JD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACrED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC1DD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AChGD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACpLD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACzED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C;AAC5C,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC3DD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C;AAC5C,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC/DD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC5HD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC1HD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC1DD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACrFD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACrFD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACzHD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC5DD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC3FD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,qCAAqC,IAAI;AACzC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC1DD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AChFD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AChFD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,gDAAgD;AAChD,+CAA+C;AAC/C,8CAA8C;AAC9C,gDAAgD;AAChD,4CAA4C;AAC5C,6CAA6C;AAC7C,6CAA6C;AAC7C,8CAA8C;AAC9C,8CAA8C;AAC9C,+CAA+C;AAC/C,6CAA6C;AAC7C,+CAA+C;AAC/C;AACA;AACA;AACA;AACA,kDAAkD;AAClD,iDAAiD;AACjD,gDAAgD;AAChD,iDAAiD;AACjD,8CAA8C;AAC9C,+CAA+C;AAC/C,+CAA+C;AAC/C,gDAAgD;AAChD,iDAAiD;AACjD,kDAAkD;AAClD,+CAA+C;AAC/C,gDAAgD;AAChD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC9JD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACtGD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC/ED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACxFD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA,uDAAuD,IAAI;AAC3D,6DAA6D,IAAI;AACjE,4DAA4D,IAAI;AAChE,kEAAkE,IAAI;AACtE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC9DD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC9GD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC/FD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACpHD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,yCAAyC,IAAI;AAC7C;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACpED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACtID;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACrFD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,qCAAqC,IAAI;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC/ED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC5HD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,uCAAuC,IAAI;AAC3C;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC5GD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACrFD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,8CAA8C,IAAI,IAAI,IAAI;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACvFD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AChFD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT,qCAAqC,IAAI;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC1FD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,qCAAqC,IAAI;AACzC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACnED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AClID;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AChFD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT,oCAAoC,IAAI,IAAI,IAAI;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC7FD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC5GD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACxJD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC1HD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC/FD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC1HD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,qCAAqC,IAAI;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACzHD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,qCAAqC,IAAI;AACzC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC3ED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,qCAAqC,IAAI;AACzC;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC1ED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACzED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC5ED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACxED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACjFD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC1DD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC3GD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACxGD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AChED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC9ED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,qCAAqC,IAAI;AACzC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACjFD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,qCAAqC,IAAI;AACzC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC1FD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,qCAAqC,IAAI;AACzC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC1FD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACrED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACjED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC5DD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACjED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACjED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC7DD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACjED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;AAE5B;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,gGAAgG;AAC7G;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,iCAAiC;AACjC,gCAAgC;AAChC,gCAAgC;AAChC,+BAA+B;AAC/B;AACA;AACA;AACA,yDAAyD;AACzD;AACA,0DAA0D;AAC1D;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AClGD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACjGD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC1ED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC1ED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC1ED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC1DD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC;AACnC,iBAAiB;AACjB;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC9ED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC7DD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,uBAAuB,QAAQ;AAC/B;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,uBAAuB,QAAQ;AAC/B;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,uBAAuB,QAAQ;AAC/B;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,qCAAqC,IAAI;AACzC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACjLD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACtFD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACrJD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC1GD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACrHD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACrHD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACxDD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACxFD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AClID;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA,+BAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACvGD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACzDD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACtGD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACzDD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACxHD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACzDD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACzDD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACrID;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA,4FAA4F;AAC5F,SAAS;AACT;AA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GAA+B7H,SAA/B;AACD;AACF;AACD,SAAK+H,EAAL,GAAUC,SAAV,GAAsB,EAAtB;AACD;AA/BY,C;;;;;;;;;;;;ACAf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wB;;;;;;AC7QA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;;;;;;ACrBA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,mDAA8C;AAC9C,EAAE;AACF;AAAA;AAAA;AAAA,qGAA8B;AAC9B,EAAE,QAEF;AACA,CAAC;AACD;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,YAAY;AACZ,YAAY;AACZ,YAAY;AACZ,cAAc;AACd;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,SAAS,kBAAkB;AAC3B;AACA;AACA;;AAEA;AACA,aAAa,uBAAuB;AACpC;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,iBAAiB,kBAAkB;AACnC;AACA;AACA;;AAEA;AACA,iBAAiB,YAAY;AAC7B,mEAAmE;AACnE;;AAEA;AACA;;AAEA;AACA;;AAEA,aAAa,oBAAoB;AACjC;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA,cAAc,mBAAmB;AACjC;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc,SAAS;AACvB;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,kCAAkC,IAAI;AACtC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,aAAa,OAAO;AACpB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,oBAAoB;AACjC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,uBAAuB;AACvB;AACA;;AAEA,aAAa,mBAAmB;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,aAAa,oBAAoB;AACjC;AACA,cAAc,mBAAmB;AACjC;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,aAAa,mBAAmB;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,aAAa,oBAAoB;AACjC;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA,gBAAgB,qBAAqB;AACrC;;AAEA;AACA;AACA,iBAAiB,2BAA2B;AAC5C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;;AAEA;;AAEA;AACA,CAAC;;;;;;;ACpmBD;AACA;;;;;;;;;;;;;;;;;;ACDA;;;;AAEA;;AACA;;AACA;;;;AAEA,IAAMK,WAAW;AACf;;;;;;;AADe,CAAjB;;AAWA,IAAIC,oBAAJ;AACA,SAASC,kBAAT,CAA4BC,eAA5B,EAA6C/E,OAA7C,EAAsD;AACpD,MAAI3G,OAAO,EAAX;AACA,MAAM2L,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","file":"keen-dataviz.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"d3\"), require(\"c3\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"d3\", \"c3\"], factory);\n\telse {\n\t\tvar a = typeof exports === 'object' ? factory(require(\"d3\"), require(\"c3\")) : factory(root[\"d3\"], root[\"c3\"]);\n\t\tfor(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i];\n\t}\n})(window, function(__WEBPACK_EXTERNAL_MODULE__2__, __WEBPACK_EXTERNAL_MODULE__135__) {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 168);\n","//! moment.js\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n global.moment = factory()\n}(this, (function () { 'use strict';\n\n var hookCallback;\n\n function hooks () {\n return hookCallback.apply(null, arguments);\n }\n\n // This is done to register the method called with moment()\n // without creating circular dependencies.\n function setHookCallback (callback) {\n hookCallback = callback;\n }\n\n function isArray(input) {\n return input instanceof Array || Object.prototype.toString.call(input) === '[object Array]';\n }\n\n function isObject(input) {\n // IE8 will treat undefined and null as object if it wasn't for\n // input != null\n return input != null && Object.prototype.toString.call(input) === '[object Object]';\n }\n\n function isObjectEmpty(obj) {\n if (Object.getOwnPropertyNames) {\n return (Object.getOwnPropertyNames(obj).length === 0);\n } else {\n var k;\n for (k in obj) {\n if (obj.hasOwnProperty(k)) {\n return false;\n }\n }\n return true;\n }\n }\n\n function isUndefined(input) {\n return input === void 0;\n }\n\n function isNumber(input) {\n return typeof input === 'number' || Object.prototype.toString.call(input) === '[object Number]';\n }\n\n function isDate(input) {\n return input instanceof Date || Object.prototype.toString.call(input) === '[object Date]';\n }\n\n function map(arr, fn) {\n var res = [], i;\n for (i = 0; i < arr.length; ++i) {\n res.push(fn(arr[i], i));\n }\n return res;\n }\n\n function hasOwnProp(a, b) {\n return Object.prototype.hasOwnProperty.call(a, b);\n }\n\n function extend(a, b) {\n for (var i in b) {\n if (hasOwnProp(b, i)) {\n a[i] = b[i];\n }\n }\n\n if (hasOwnProp(b, 'toString')) {\n a.toString = b.toString;\n }\n\n if (hasOwnProp(b, 'valueOf')) {\n a.valueOf = b.valueOf;\n }\n\n return a;\n }\n\n function createUTC (input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, true).utc();\n }\n\n function defaultParsingFlags() {\n // We need to deep clone this object.\n return {\n empty : false,\n unusedTokens : [],\n unusedInput : [],\n overflow : -2,\n charsLeftOver : 0,\n nullInput : false,\n invalidMonth : null,\n invalidFormat : false,\n userInvalidated : false,\n iso : false,\n parsedDateParts : [],\n meridiem : null,\n rfc2822 : false,\n weekdayMismatch : false\n };\n }\n\n function getParsingFlags(m) {\n if (m._pf == null) {\n m._pf = defaultParsingFlags();\n }\n return m._pf;\n }\n\n var some;\n if (Array.prototype.some) {\n some = Array.prototype.some;\n } else {\n some = function (fun) {\n var t = Object(this);\n var len = t.length >>> 0;\n\n for (var i = 0; i < len; i++) {\n if (i in t && fun.call(this, t[i], i, t)) {\n return true;\n }\n }\n\n return false;\n };\n }\n\n function isValid(m) {\n if (m._isValid == null) {\n var flags = getParsingFlags(m);\n var parsedParts = some.call(flags.parsedDateParts, function (i) {\n return i != null;\n });\n var isNowValid = !isNaN(m._d.getTime()) &&\n flags.overflow < 0 &&\n !flags.empty &&\n !flags.invalidMonth &&\n !flags.invalidWeekday &&\n !flags.weekdayMismatch &&\n !flags.nullInput &&\n !flags.invalidFormat &&\n !flags.userInvalidated &&\n (!flags.meridiem || (flags.meridiem && parsedParts));\n\n if (m._strict) {\n isNowValid = isNowValid &&\n flags.charsLeftOver === 0 &&\n flags.unusedTokens.length === 0 &&\n flags.bigHour === undefined;\n }\n\n if (Object.isFrozen == null || !Object.isFrozen(m)) {\n m._isValid = isNowValid;\n }\n else {\n return isNowValid;\n }\n }\n return m._isValid;\n }\n\n function createInvalid (flags) {\n var m = createUTC(NaN);\n if (flags != null) {\n extend(getParsingFlags(m), flags);\n }\n else {\n getParsingFlags(m).userInvalidated = true;\n }\n\n return m;\n }\n\n // Plugins that add properties should also add the key here (null value),\n // so we can properly clone ourselves.\n var momentProperties = hooks.momentProperties = [];\n\n function copyConfig(to, from) {\n var i, prop, val;\n\n if (!isUndefined(from._isAMomentObject)) {\n to._isAMomentObject = from._isAMomentObject;\n }\n if (!isUndefined(from._i)) {\n to._i = from._i;\n }\n if (!isUndefined(from._f)) {\n to._f = from._f;\n }\n if (!isUndefined(from._l)) {\n to._l = from._l;\n }\n if (!isUndefined(from._strict)) {\n to._strict = from._strict;\n }\n if (!isUndefined(from._tzm)) {\n to._tzm = from._tzm;\n }\n if (!isUndefined(from._isUTC)) {\n to._isUTC = from._isUTC;\n }\n if (!isUndefined(from._offset)) {\n to._offset = from._offset;\n }\n if (!isUndefined(from._pf)) {\n to._pf = getParsingFlags(from);\n }\n if (!isUndefined(from._locale)) {\n to._locale = from._locale;\n }\n\n if (momentProperties.length > 0) {\n for (i = 0; i < momentProperties.length; i++) {\n prop = momentProperties[i];\n val = from[prop];\n if (!isUndefined(val)) {\n to[prop] = val;\n }\n }\n }\n\n return to;\n }\n\n var updateInProgress = false;\n\n // Moment prototype object\n function Moment(config) {\n copyConfig(this, config);\n this._d = new Date(config._d != null ? config._d.getTime() : NaN);\n if (!this.isValid()) {\n this._d = new Date(NaN);\n }\n // Prevent infinite loop in case updateOffset creates new moment\n // objects.\n if (updateInProgress === false) {\n updateInProgress = true;\n hooks.updateOffset(this);\n updateInProgress = false;\n }\n }\n\n function isMoment (obj) {\n return obj instanceof Moment || (obj != null && obj._isAMomentObject != null);\n }\n\n function absFloor (number) {\n if (number < 0) {\n // -0 -> 0\n return Math.ceil(number) || 0;\n } else {\n return Math.floor(number);\n }\n }\n\n function toInt(argumentForCoercion) {\n var coercedNumber = +argumentForCoercion,\n value = 0;\n\n if (coercedNumber !== 0 && isFinite(coercedNumber)) {\n value = absFloor(coercedNumber);\n }\n\n return value;\n }\n\n // compare two arrays, return the number of differences\n function compareArrays(array1, array2, dontConvert) {\n var len = Math.min(array1.length, array2.length),\n lengthDiff = Math.abs(array1.length - array2.length),\n diffs = 0,\n i;\n for (i = 0; i < len; i++) {\n if ((dontConvert && array1[i] !== array2[i]) ||\n (!dontConvert && toInt(array1[i]) !== toInt(array2[i]))) {\n diffs++;\n }\n }\n return diffs + lengthDiff;\n }\n\n function warn(msg) {\n if (hooks.suppressDeprecationWarnings === false &&\n (typeof console !== 'undefined') && console.warn) {\n console.warn('Deprecation warning: ' + msg);\n }\n }\n\n function deprecate(msg, fn) {\n var firstTime = true;\n\n return extend(function () {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(null, msg);\n }\n if (firstTime) {\n var args = [];\n var arg;\n for (var i = 0; i < arguments.length; i++) {\n arg = '';\n if (typeof arguments[i] === 'object') {\n arg += '\\n[' + i + '] ';\n for (var key in arguments[0]) {\n arg += key + ': ' + arguments[0][key] + ', ';\n }\n arg = arg.slice(0, -2); // Remove trailing comma and space\n } else {\n arg = arguments[i];\n }\n args.push(arg);\n }\n warn(msg + '\\nArguments: ' + Array.prototype.slice.call(args).join('') + '\\n' + (new Error()).stack);\n firstTime = false;\n }\n return fn.apply(this, arguments);\n }, fn);\n }\n\n var deprecations = {};\n\n function deprecateSimple(name, msg) {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(name, msg);\n }\n if (!deprecations[name]) {\n warn(msg);\n deprecations[name] = true;\n }\n }\n\n hooks.suppressDeprecationWarnings = false;\n hooks.deprecationHandler = null;\n\n function isFunction(input) {\n return input instanceof Function || Object.prototype.toString.call(input) === '[object Function]';\n }\n\n function set (config) {\n var prop, i;\n for (i in config) {\n prop = config[i];\n if (isFunction(prop)) {\n this[i] = prop;\n } else {\n this['_' + i] = prop;\n }\n }\n this._config = config;\n // Lenient ordinal parsing accepts just a number in addition to\n // number + (possibly) stuff coming from _dayOfMonthOrdinalParse.\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n this._dayOfMonthOrdinalParseLenient = new RegExp(\n (this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) +\n '|' + (/\\d{1,2}/).source);\n }\n\n function mergeConfigs(parentConfig, childConfig) {\n var res = extend({}, parentConfig), prop;\n for (prop in childConfig) {\n if (hasOwnProp(childConfig, prop)) {\n if (isObject(parentConfig[prop]) && isObject(childConfig[prop])) {\n res[prop] = {};\n extend(res[prop], parentConfig[prop]);\n extend(res[prop], childConfig[prop]);\n } else if (childConfig[prop] != null) {\n res[prop] = childConfig[prop];\n } else {\n delete res[prop];\n }\n }\n }\n for (prop in parentConfig) {\n if (hasOwnProp(parentConfig, prop) &&\n !hasOwnProp(childConfig, prop) &&\n isObject(parentConfig[prop])) {\n // make sure changes to properties don't modify parent config\n res[prop] = extend({}, res[prop]);\n }\n }\n return res;\n }\n\n function Locale(config) {\n if (config != null) {\n this.set(config);\n }\n }\n\n var keys;\n\n if (Object.keys) {\n keys = Object.keys;\n } else {\n keys = function (obj) {\n var i, res = [];\n for (i in obj) {\n if (hasOwnProp(obj, i)) {\n res.push(i);\n }\n }\n return res;\n };\n }\n\n var defaultCalendar = {\n sameDay : '[Today at] LT',\n nextDay : '[Tomorrow at] LT',\n nextWeek : 'dddd [at] LT',\n lastDay : '[Yesterday at] LT',\n lastWeek : '[Last] dddd [at] LT',\n sameElse : 'L'\n };\n\n function calendar (key, mom, now) {\n var output = this._calendar[key] || this._calendar['sameElse'];\n return isFunction(output) ? output.call(mom, now) : output;\n }\n\n var defaultLongDateFormat = {\n LTS : 'h:mm:ss A',\n LT : 'h:mm A',\n L : 'MM/DD/YYYY',\n LL : 'MMMM D, YYYY',\n LLL : 'MMMM D, YYYY h:mm A',\n LLLL : 'dddd, MMMM D, YYYY h:mm A'\n };\n\n function longDateFormat (key) {\n var format = this._longDateFormat[key],\n formatUpper = this._longDateFormat[key.toUpperCase()];\n\n if (format || !formatUpper) {\n return format;\n }\n\n this._longDateFormat[key] = formatUpper.replace(/MMMM|MM|DD|dddd/g, function (val) {\n return val.slice(1);\n });\n\n return this._longDateFormat[key];\n }\n\n var defaultInvalidDate = 'Invalid date';\n\n function invalidDate () {\n return this._invalidDate;\n }\n\n var defaultOrdinal = '%d';\n var defaultDayOfMonthOrdinalParse = /\\d{1,2}/;\n\n function ordinal (number) {\n return this._ordinal.replace('%d', number);\n }\n\n var defaultRelativeTime = {\n future : 'in %s',\n past : '%s ago',\n s : 'a few seconds',\n ss : '%d seconds',\n m : 'a minute',\n mm : '%d minutes',\n h : 'an hour',\n hh : '%d hours',\n d : 'a day',\n dd : '%d days',\n M : 'a month',\n MM : '%d months',\n y : 'a year',\n yy : '%d years'\n };\n\n function relativeTime (number, withoutSuffix, string, isFuture) {\n var output = this._relativeTime[string];\n return (isFunction(output)) ?\n output(number, withoutSuffix, string, isFuture) :\n output.replace(/%d/i, number);\n }\n\n function pastFuture (diff, output) {\n var format = this._relativeTime[diff > 0 ? 'future' : 'past'];\n return isFunction(format) ? format(output) : format.replace(/%s/i, output);\n }\n\n var aliases = {};\n\n function addUnitAlias (unit, shorthand) {\n var lowerCase = unit.toLowerCase();\n aliases[lowerCase] = aliases[lowerCase + 's'] = aliases[shorthand] = unit;\n }\n\n function normalizeUnits(units) {\n return typeof units === 'string' ? aliases[units] || aliases[units.toLowerCase()] : undefined;\n }\n\n function normalizeObjectUnits(inputObject) {\n var normalizedInput = {},\n normalizedProp,\n prop;\n\n for (prop in inputObject) {\n if (hasOwnProp(inputObject, prop)) {\n normalizedProp = normalizeUnits(prop);\n if (normalizedProp) {\n normalizedInput[normalizedProp] = inputObject[prop];\n }\n }\n }\n\n return normalizedInput;\n }\n\n var priorities = {};\n\n function addUnitPriority(unit, priority) {\n priorities[unit] = priority;\n }\n\n function getPrioritizedUnits(unitsObj) {\n var units = [];\n for (var u in unitsObj) {\n units.push({unit: u, priority: priorities[u]});\n }\n units.sort(function (a, b) {\n return a.priority - b.priority;\n });\n return units;\n }\n\n function zeroFill(number, targetLength, forceSign) {\n var absNumber = '' + Math.abs(number),\n zerosToFill = targetLength - absNumber.length,\n sign = number >= 0;\n return (sign ? (forceSign ? '+' : '') : '-') +\n Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) + absNumber;\n }\n\n var formattingTokens = /(\\[[^\\[]*\\])|(\\\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g;\n\n var localFormattingTokens = /(\\[[^\\[]*\\])|(\\\\)?(LTS|LT|LL?L?L?|l{1,4})/g;\n\n var formatFunctions = {};\n\n var formatTokenFunctions = {};\n\n // token: 'M'\n // padded: ['MM', 2]\n // ordinal: 'Mo'\n // callback: function () { this.month() + 1 }\n function addFormatToken (token, padded, ordinal, callback) {\n var func = callback;\n if (typeof callback === 'string') {\n func = function () {\n return this[callback]();\n };\n }\n if (token) {\n formatTokenFunctions[token] = func;\n }\n if (padded) {\n formatTokenFunctions[padded[0]] = function () {\n return zeroFill(func.apply(this, arguments), padded[1], padded[2]);\n };\n }\n if (ordinal) {\n formatTokenFunctions[ordinal] = function () {\n return this.localeData().ordinal(func.apply(this, arguments), token);\n };\n }\n }\n\n function removeFormattingTokens(input) {\n if (input.match(/\\[[\\s\\S]/)) {\n return input.replace(/^\\[|\\]$/g, '');\n }\n return input.replace(/\\\\/g, '');\n }\n\n function makeFormatFunction(format) {\n var array = format.match(formattingTokens), i, length;\n\n for (i = 0, length = array.length; i < length; i++) {\n if (formatTokenFunctions[array[i]]) {\n array[i] = formatTokenFunctions[array[i]];\n } else {\n array[i] = removeFormattingTokens(array[i]);\n }\n }\n\n return function (mom) {\n var output = '', i;\n for (i = 0; i < length; i++) {\n output += isFunction(array[i]) ? array[i].call(mom, format) : array[i];\n }\n return output;\n };\n }\n\n // format date using native date object\n function formatMoment(m, format) {\n if (!m.isValid()) {\n return m.localeData().invalidDate();\n }\n\n format = expandFormat(format, m.localeData());\n formatFunctions[format] = formatFunctions[format] || makeFormatFunction(format);\n\n return formatFunctions[format](m);\n }\n\n function expandFormat(format, locale) {\n var i = 5;\n\n function replaceLongDateFormatTokens(input) {\n return locale.longDateFormat(input) || input;\n }\n\n localFormattingTokens.lastIndex = 0;\n while (i >= 0 && localFormattingTokens.test(format)) {\n format = format.replace(localFormattingTokens, replaceLongDateFormatTokens);\n localFormattingTokens.lastIndex = 0;\n i -= 1;\n }\n\n return format;\n }\n\n var match1 = /\\d/; // 0 - 9\n var match2 = /\\d\\d/; // 00 - 99\n var match3 = /\\d{3}/; // 000 - 999\n var match4 = /\\d{4}/; // 0000 - 9999\n var match6 = /[+-]?\\d{6}/; // -999999 - 999999\n var match1to2 = /\\d\\d?/; // 0 - 99\n var match3to4 = /\\d\\d\\d\\d?/; // 999 - 9999\n var match5to6 = /\\d\\d\\d\\d\\d\\d?/; // 99999 - 999999\n var match1to3 = /\\d{1,3}/; // 0 - 999\n var match1to4 = /\\d{1,4}/; // 0 - 9999\n var match1to6 = /[+-]?\\d{1,6}/; // -999999 - 999999\n\n var matchUnsigned = /\\d+/; // 0 - inf\n var matchSigned = /[+-]?\\d+/; // -inf - inf\n\n var matchOffset = /Z|[+-]\\d\\d:?\\d\\d/gi; // +00:00 -00:00 +0000 -0000 or Z\n var matchShortOffset = /Z|[+-]\\d\\d(?::?\\d\\d)?/gi; // +00 -00 +00:00 -00:00 +0000 -0000 or Z\n\n var matchTimestamp = /[+-]?\\d+(\\.\\d{1,3})?/; // 123456789 123456789.123\n\n // any word (or two) characters or numbers including two/three word month in arabic.\n // includes scottish gaelic two word and hyphenated months\n var matchWord = /[0-9]{0,256}['a-z\\u00A0-\\u05FF\\u0700-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFF07\\uFF10-\\uFFEF]{1,256}|[\\u0600-\\u06FF\\/]{1,256}(\\s*?[\\u0600-\\u06FF]{1,256}){1,2}/i;\n\n var regexes = {};\n\n function addRegexToken (token, regex, strictRegex) {\n regexes[token] = isFunction(regex) ? regex : function (isStrict, localeData) {\n return (isStrict && strictRegex) ? strictRegex : regex;\n };\n }\n\n function getParseRegexForToken (token, config) {\n if (!hasOwnProp(regexes, token)) {\n return new RegExp(unescapeFormat(token));\n }\n\n return regexes[token](config._strict, config._locale);\n }\n\n // Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript\n function unescapeFormat(s) {\n return regexEscape(s.replace('\\\\', '').replace(/\\\\(\\[)|\\\\(\\])|\\[([^\\]\\[]*)\\]|\\\\(.)/g, function (matched, p1, p2, p3, p4) {\n return p1 || p2 || p3 || p4;\n }));\n }\n\n function regexEscape(s) {\n return s.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n }\n\n var tokens = {};\n\n function addParseToken (token, callback) {\n var i, func = callback;\n if (typeof token === 'string') {\n token = [token];\n }\n if (isNumber(callback)) {\n func = function (input, array) {\n array[callback] = toInt(input);\n };\n }\n for (i = 0; i < token.length; i++) {\n tokens[token[i]] = func;\n }\n }\n\n function addWeekParseToken (token, callback) {\n addParseToken(token, function (input, array, config, token) {\n config._w = config._w || {};\n callback(input, config._w, config, token);\n });\n }\n\n function addTimeToArrayFromToken(token, input, config) {\n if (input != null && hasOwnProp(tokens, token)) {\n tokens[token](input, config._a, config, token);\n }\n }\n\n var YEAR = 0;\n var MONTH = 1;\n var DATE = 2;\n var HOUR = 3;\n var MINUTE = 4;\n var SECOND = 5;\n var MILLISECOND = 6;\n var WEEK = 7;\n var WEEKDAY = 8;\n\n // FORMATTING\n\n addFormatToken('Y', 0, 0, function () {\n var y = this.year();\n return y <= 9999 ? '' + y : '+' + y;\n });\n\n addFormatToken(0, ['YY', 2], 0, function () {\n return this.year() % 100;\n });\n\n addFormatToken(0, ['YYYY', 4], 0, 'year');\n addFormatToken(0, ['YYYYY', 5], 0, 'year');\n addFormatToken(0, ['YYYYYY', 6, true], 0, 'year');\n\n // ALIASES\n\n addUnitAlias('year', 'y');\n\n // PRIORITIES\n\n addUnitPriority('year', 1);\n\n // PARSING\n\n addRegexToken('Y', matchSigned);\n addRegexToken('YY', match1to2, match2);\n addRegexToken('YYYY', match1to4, match4);\n addRegexToken('YYYYY', match1to6, match6);\n addRegexToken('YYYYYY', match1to6, match6);\n\n addParseToken(['YYYYY', 'YYYYYY'], YEAR);\n addParseToken('YYYY', function (input, array) {\n array[YEAR] = input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input);\n });\n addParseToken('YY', function (input, array) {\n array[YEAR] = hooks.parseTwoDigitYear(input);\n });\n addParseToken('Y', function (input, array) {\n array[YEAR] = parseInt(input, 10);\n });\n\n // HELPERS\n\n function daysInYear(year) {\n return isLeapYear(year) ? 366 : 365;\n }\n\n function isLeapYear(year) {\n return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;\n }\n\n // HOOKS\n\n hooks.parseTwoDigitYear = function (input) {\n return toInt(input) + (toInt(input) > 68 ? 1900 : 2000);\n };\n\n // MOMENTS\n\n var getSetYear = makeGetSet('FullYear', true);\n\n function getIsLeapYear () {\n return isLeapYear(this.year());\n }\n\n function makeGetSet (unit, keepTime) {\n return function (value) {\n if (value != null) {\n set$1(this, unit, value);\n hooks.updateOffset(this, keepTime);\n return this;\n } else {\n return get(this, unit);\n }\n };\n }\n\n function get (mom, unit) {\n return mom.isValid() ?\n mom._d['get' + (mom._isUTC ? 'UTC' : '') + unit]() : NaN;\n }\n\n function set$1 (mom, unit, value) {\n if (mom.isValid() && !isNaN(value)) {\n if (unit === 'FullYear' && isLeapYear(mom.year()) && mom.month() === 1 && mom.date() === 29) {\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value, mom.month(), daysInMonth(value, mom.month()));\n }\n else {\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value);\n }\n }\n }\n\n // MOMENTS\n\n function stringGet (units) {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units]();\n }\n return this;\n }\n\n\n function stringSet (units, value) {\n if (typeof units === 'object') {\n units = normalizeObjectUnits(units);\n var prioritized = getPrioritizedUnits(units);\n for (var i = 0; i < prioritized.length; i++) {\n this[prioritized[i].unit](units[prioritized[i].unit]);\n }\n } else {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units](value);\n }\n }\n return this;\n }\n\n function mod(n, x) {\n return ((n % x) + x) % x;\n }\n\n var indexOf;\n\n if (Array.prototype.indexOf) {\n indexOf = Array.prototype.indexOf;\n } else {\n indexOf = function (o) {\n // I know\n var i;\n for (i = 0; i < this.length; ++i) {\n if (this[i] === o) {\n return i;\n }\n }\n return -1;\n };\n }\n\n function daysInMonth(year, month) {\n if (isNaN(year) || isNaN(month)) {\n return NaN;\n }\n var modMonth = mod(month, 12);\n year += (month - modMonth) / 12;\n return modMonth === 1 ? (isLeapYear(year) ? 29 : 28) : (31 - modMonth % 7 % 2);\n }\n\n // FORMATTING\n\n addFormatToken('M', ['MM', 2], 'Mo', function () {\n return this.month() + 1;\n });\n\n addFormatToken('MMM', 0, 0, function (format) {\n return this.localeData().monthsShort(this, format);\n });\n\n addFormatToken('MMMM', 0, 0, function (format) {\n return this.localeData().months(this, format);\n });\n\n // ALIASES\n\n addUnitAlias('month', 'M');\n\n // PRIORITY\n\n addUnitPriority('month', 8);\n\n // PARSING\n\n addRegexToken('M', match1to2);\n addRegexToken('MM', match1to2, match2);\n addRegexToken('MMM', function (isStrict, locale) {\n return locale.monthsShortRegex(isStrict);\n });\n addRegexToken('MMMM', function (isStrict, locale) {\n return locale.monthsRegex(isStrict);\n });\n\n addParseToken(['M', 'MM'], function (input, array) {\n array[MONTH] = toInt(input) - 1;\n });\n\n addParseToken(['MMM', 'MMMM'], function (input, array, config, token) {\n var month = config._locale.monthsParse(input, token, config._strict);\n // if we didn't find a month name, mark the date as invalid.\n if (month != null) {\n array[MONTH] = month;\n } else {\n getParsingFlags(config).invalidMonth = input;\n }\n });\n\n // LOCALES\n\n var MONTHS_IN_FORMAT = /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?/;\n var defaultLocaleMonths = 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_');\n function localeMonths (m, format) {\n if (!m) {\n return isArray(this._months) ? this._months :\n this._months['standalone'];\n }\n return isArray(this._months) ? this._months[m.month()] :\n this._months[(this._months.isFormat || MONTHS_IN_FORMAT).test(format) ? 'format' : 'standalone'][m.month()];\n }\n\n var defaultLocaleMonthsShort = 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_');\n function localeMonthsShort (m, format) {\n if (!m) {\n return isArray(this._monthsShort) ? this._monthsShort :\n this._monthsShort['standalone'];\n }\n return isArray(this._monthsShort) ? this._monthsShort[m.month()] :\n this._monthsShort[MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone'][m.month()];\n }\n\n function handleStrictParse(monthName, format, strict) {\n var i, ii, mom, llc = monthName.toLocaleLowerCase();\n if (!this._monthsParse) {\n // this is not used\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n for (i = 0; i < 12; ++i) {\n mom = createUTC([2000, i]);\n this._shortMonthsParse[i] = this.monthsShort(mom, '').toLocaleLowerCase();\n this._longMonthsParse[i] = this.months(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n }\n\n function localeMonthsParse (monthName, format, strict) {\n var i, mom, regex;\n\n if (this._monthsParseExact) {\n return handleStrictParse.call(this, monthName, format, strict);\n }\n\n if (!this._monthsParse) {\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n }\n\n // TODO: add sorting\n // Sorting makes sure if one month (or abbr) is a prefix of another\n // see sorting in computeMonthsParse\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n if (strict && !this._longMonthsParse[i]) {\n this._longMonthsParse[i] = new RegExp('^' + this.months(mom, '').replace('.', '') + '$', 'i');\n this._shortMonthsParse[i] = new RegExp('^' + this.monthsShort(mom, '').replace('.', '') + '$', 'i');\n }\n if (!strict && !this._monthsParse[i]) {\n regex = '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, '');\n this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (strict && format === 'MMMM' && this._longMonthsParse[i].test(monthName)) {\n return i;\n } else if (strict && format === 'MMM' && this._shortMonthsParse[i].test(monthName)) {\n return i;\n } else if (!strict && this._monthsParse[i].test(monthName)) {\n return i;\n }\n }\n }\n\n // MOMENTS\n\n function setMonth (mom, value) {\n var dayOfMonth;\n\n if (!mom.isValid()) {\n // No op\n return mom;\n }\n\n if (typeof value === 'string') {\n if (/^\\d+$/.test(value)) {\n value = toInt(value);\n } else {\n value = mom.localeData().monthsParse(value);\n // TODO: Another silent failure?\n if (!isNumber(value)) {\n return mom;\n }\n }\n }\n\n dayOfMonth = Math.min(mom.date(), daysInMonth(mom.year(), value));\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + 'Month'](value, dayOfMonth);\n return mom;\n }\n\n function getSetMonth (value) {\n if (value != null) {\n setMonth(this, value);\n hooks.updateOffset(this, true);\n return this;\n } else {\n return get(this, 'Month');\n }\n }\n\n function getDaysInMonth () {\n return daysInMonth(this.year(), this.month());\n }\n\n var defaultMonthsShortRegex = matchWord;\n function monthsShortRegex (isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n if (isStrict) {\n return this._monthsShortStrictRegex;\n } else {\n return this._monthsShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsShortRegex')) {\n this._monthsShortRegex = defaultMonthsShortRegex;\n }\n return this._monthsShortStrictRegex && isStrict ?\n this._monthsShortStrictRegex : this._monthsShortRegex;\n }\n }\n\n var defaultMonthsRegex = matchWord;\n function monthsRegex (isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n if (isStrict) {\n return this._monthsStrictRegex;\n } else {\n return this._monthsRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsRegex')) {\n this._monthsRegex = defaultMonthsRegex;\n }\n return this._monthsStrictRegex && isStrict ?\n this._monthsStrictRegex : this._monthsRegex;\n }\n }\n\n function computeMonthsParse () {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var shortPieces = [], longPieces = [], mixedPieces = [],\n i, mom;\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n shortPieces.push(this.monthsShort(mom, ''));\n longPieces.push(this.months(mom, ''));\n mixedPieces.push(this.months(mom, ''));\n mixedPieces.push(this.monthsShort(mom, ''));\n }\n // Sorting makes sure if one month (or abbr) is a prefix of another it\n // will match the longer piece.\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n for (i = 0; i < 12; i++) {\n shortPieces[i] = regexEscape(shortPieces[i]);\n longPieces[i] = regexEscape(longPieces[i]);\n }\n for (i = 0; i < 24; i++) {\n mixedPieces[i] = regexEscape(mixedPieces[i]);\n }\n\n this._monthsRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._monthsShortRegex = this._monthsRegex;\n this._monthsStrictRegex = new RegExp('^(' + longPieces.join('|') + ')', 'i');\n this._monthsShortStrictRegex = new RegExp('^(' + shortPieces.join('|') + ')', 'i');\n }\n\n function createDate (y, m, d, h, M, s, ms) {\n // can't just apply() to create a date:\n // https://stackoverflow.com/q/181348\n var date = new Date(y, m, d, h, M, s, ms);\n\n // the date constructor remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0 && isFinite(date.getFullYear())) {\n date.setFullYear(y);\n }\n return date;\n }\n\n function createUTCDate (y) {\n var date = new Date(Date.UTC.apply(null, arguments));\n\n // the Date.UTC function remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0 && isFinite(date.getUTCFullYear())) {\n date.setUTCFullYear(y);\n }\n return date;\n }\n\n // start-of-first-week - start-of-year\n function firstWeekOffset(year, dow, doy) {\n var // first-week day -- which january is always in the first week (4 for iso, 1 for other)\n fwd = 7 + dow - doy,\n // first-week day local weekday -- which local weekday is fwd\n fwdlw = (7 + createUTCDate(year, 0, fwd).getUTCDay() - dow) % 7;\n\n return -fwdlw + fwd - 1;\n }\n\n // https://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday\n function dayOfYearFromWeeks(year, week, weekday, dow, doy) {\n var localWeekday = (7 + weekday - dow) % 7,\n weekOffset = firstWeekOffset(year, dow, doy),\n dayOfYear = 1 + 7 * (week - 1) + localWeekday + weekOffset,\n resYear, resDayOfYear;\n\n if (dayOfYear <= 0) {\n resYear = year - 1;\n resDayOfYear = daysInYear(resYear) + dayOfYear;\n } else if (dayOfYear > daysInYear(year)) {\n resYear = year + 1;\n resDayOfYear = dayOfYear - daysInYear(year);\n } else {\n resYear = year;\n resDayOfYear = dayOfYear;\n }\n\n return {\n year: resYear,\n dayOfYear: resDayOfYear\n };\n }\n\n function weekOfYear(mom, dow, doy) {\n var weekOffset = firstWeekOffset(mom.year(), dow, doy),\n week = Math.floor((mom.dayOfYear() - weekOffset - 1) / 7) + 1,\n resWeek, resYear;\n\n if (week < 1) {\n resYear = mom.year() - 1;\n resWeek = week + weeksInYear(resYear, dow, doy);\n } else if (week > weeksInYear(mom.year(), dow, doy)) {\n resWeek = week - weeksInYear(mom.year(), dow, doy);\n resYear = mom.year() + 1;\n } else {\n resYear = mom.year();\n resWeek = week;\n }\n\n return {\n week: resWeek,\n year: resYear\n };\n }\n\n function weeksInYear(year, dow, doy) {\n var weekOffset = firstWeekOffset(year, dow, doy),\n weekOffsetNext = firstWeekOffset(year + 1, dow, doy);\n return (daysInYear(year) - weekOffset + weekOffsetNext) / 7;\n }\n\n // FORMATTING\n\n addFormatToken('w', ['ww', 2], 'wo', 'week');\n addFormatToken('W', ['WW', 2], 'Wo', 'isoWeek');\n\n // ALIASES\n\n addUnitAlias('week', 'w');\n addUnitAlias('isoWeek', 'W');\n\n // PRIORITIES\n\n addUnitPriority('week', 5);\n addUnitPriority('isoWeek', 5);\n\n // PARSING\n\n addRegexToken('w', match1to2);\n addRegexToken('ww', match1to2, match2);\n addRegexToken('W', match1to2);\n addRegexToken('WW', match1to2, match2);\n\n addWeekParseToken(['w', 'ww', 'W', 'WW'], function (input, week, config, token) {\n week[token.substr(0, 1)] = toInt(input);\n });\n\n // HELPERS\n\n // LOCALES\n\n function localeWeek (mom) {\n return weekOfYear(mom, this._week.dow, this._week.doy).week;\n }\n\n var defaultLocaleWeek = {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n };\n\n function localeFirstDayOfWeek () {\n return this._week.dow;\n }\n\n function localeFirstDayOfYear () {\n return this._week.doy;\n }\n\n // MOMENTS\n\n function getSetWeek (input) {\n var week = this.localeData().week(this);\n return input == null ? week : this.add((input - week) * 7, 'd');\n }\n\n function getSetISOWeek (input) {\n var week = weekOfYear(this, 1, 4).week;\n return input == null ? week : this.add((input - week) * 7, 'd');\n }\n\n // FORMATTING\n\n addFormatToken('d', 0, 'do', 'day');\n\n addFormatToken('dd', 0, 0, function (format) {\n return this.localeData().weekdaysMin(this, format);\n });\n\n addFormatToken('ddd', 0, 0, function (format) {\n return this.localeData().weekdaysShort(this, format);\n });\n\n addFormatToken('dddd', 0, 0, function (format) {\n return this.localeData().weekdays(this, format);\n });\n\n addFormatToken('e', 0, 0, 'weekday');\n addFormatToken('E', 0, 0, 'isoWeekday');\n\n // ALIASES\n\n addUnitAlias('day', 'd');\n addUnitAlias('weekday', 'e');\n addUnitAlias('isoWeekday', 'E');\n\n // PRIORITY\n addUnitPriority('day', 11);\n addUnitPriority('weekday', 11);\n addUnitPriority('isoWeekday', 11);\n\n // PARSING\n\n addRegexToken('d', match1to2);\n addRegexToken('e', match1to2);\n addRegexToken('E', match1to2);\n addRegexToken('dd', function (isStrict, locale) {\n return locale.weekdaysMinRegex(isStrict);\n });\n addRegexToken('ddd', function (isStrict, locale) {\n return locale.weekdaysShortRegex(isStrict);\n });\n addRegexToken('dddd', function (isStrict, locale) {\n return locale.weekdaysRegex(isStrict);\n });\n\n addWeekParseToken(['dd', 'ddd', 'dddd'], function (input, week, config, token) {\n var weekday = config._locale.weekdaysParse(input, token, config._strict);\n // if we didn't get a weekday name, mark the date as invalid\n if (weekday != null) {\n week.d = weekday;\n } else {\n getParsingFlags(config).invalidWeekday = input;\n }\n });\n\n addWeekParseToken(['d', 'e', 'E'], function (input, week, config, token) {\n week[token] = toInt(input);\n });\n\n // HELPERS\n\n function parseWeekday(input, locale) {\n if (typeof input !== 'string') {\n return input;\n }\n\n if (!isNaN(input)) {\n return parseInt(input, 10);\n }\n\n input = locale.weekdaysParse(input);\n if (typeof input === 'number') {\n return input;\n }\n\n return null;\n }\n\n function parseIsoWeekday(input, locale) {\n if (typeof input === 'string') {\n return locale.weekdaysParse(input) % 7 || 7;\n }\n return isNaN(input) ? null : input;\n }\n\n // LOCALES\n\n var defaultLocaleWeekdays = 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_');\n function localeWeekdays (m, format) {\n if (!m) {\n return isArray(this._weekdays) ? this._weekdays :\n this._weekdays['standalone'];\n }\n return isArray(this._weekdays) ? this._weekdays[m.day()] :\n this._weekdays[this._weekdays.isFormat.test(format) ? 'format' : 'standalone'][m.day()];\n }\n\n var defaultLocaleWeekdaysShort = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_');\n function localeWeekdaysShort (m) {\n return (m) ? this._weekdaysShort[m.day()] : this._weekdaysShort;\n }\n\n var defaultLocaleWeekdaysMin = 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_');\n function localeWeekdaysMin (m) {\n return (m) ? this._weekdaysMin[m.day()] : this._weekdaysMin;\n }\n\n function handleStrictParse$1(weekdayName, format, strict) {\n var i, ii, mom, llc = weekdayName.toLocaleLowerCase();\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._minWeekdaysParse = [];\n\n for (i = 0; i < 7; ++i) {\n mom = createUTC([2000, 1]).day(i);\n this._minWeekdaysParse[i] = this.weekdaysMin(mom, '').toLocaleLowerCase();\n this._shortWeekdaysParse[i] = this.weekdaysShort(mom, '').toLocaleLowerCase();\n this._weekdaysParse[i] = this.weekdays(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n }\n\n function localeWeekdaysParse (weekdayName, format, strict) {\n var i, mom, regex;\n\n if (this._weekdaysParseExact) {\n return handleStrictParse$1.call(this, weekdayName, format, strict);\n }\n\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._minWeekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._fullWeekdaysParse = [];\n }\n\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n\n mom = createUTC([2000, 1]).day(i);\n if (strict && !this._fullWeekdaysParse[i]) {\n this._fullWeekdaysParse[i] = new RegExp('^' + this.weekdays(mom, '').replace('.', '\\\\.?') + '$', 'i');\n this._shortWeekdaysParse[i] = new RegExp('^' + this.weekdaysShort(mom, '').replace('.', '\\\\.?') + '$', 'i');\n this._minWeekdaysParse[i] = new RegExp('^' + this.weekdaysMin(mom, '').replace('.', '\\\\.?') + '$', 'i');\n }\n if (!this._weekdaysParse[i]) {\n regex = '^' + this.weekdays(mom, '') + '|^' + this.weekdaysShort(mom, '') + '|^' + this.weekdaysMin(mom, '');\n this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (strict && format === 'dddd' && this._fullWeekdaysParse[i].test(weekdayName)) {\n return i;\n } else if (strict && format === 'ddd' && this._shortWeekdaysParse[i].test(weekdayName)) {\n return i;\n } else if (strict && format === 'dd' && this._minWeekdaysParse[i].test(weekdayName)) {\n return i;\n } else if (!strict && this._weekdaysParse[i].test(weekdayName)) {\n return i;\n }\n }\n }\n\n // MOMENTS\n\n function getSetDayOfWeek (input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n var day = this._isUTC ? this._d.getUTCDay() : this._d.getDay();\n if (input != null) {\n input = parseWeekday(input, this.localeData());\n return this.add(input - day, 'd');\n } else {\n return day;\n }\n }\n\n function getSetLocaleDayOfWeek (input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7;\n return input == null ? weekday : this.add(input - weekday, 'd');\n }\n\n function getSetISODayOfWeek (input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n\n // behaves the same as moment#day except\n // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6)\n // as a setter, sunday should belong to the previous week.\n\n if (input != null) {\n var weekday = parseIsoWeekday(input, this.localeData());\n return this.day(this.day() % 7 ? weekday : weekday - 7);\n } else {\n return this.day() || 7;\n }\n }\n\n var defaultWeekdaysRegex = matchWord;\n function weekdaysRegex (isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysStrictRegex;\n } else {\n return this._weekdaysRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n this._weekdaysRegex = defaultWeekdaysRegex;\n }\n return this._weekdaysStrictRegex && isStrict ?\n this._weekdaysStrictRegex : this._weekdaysRegex;\n }\n }\n\n var defaultWeekdaysShortRegex = matchWord;\n function weekdaysShortRegex (isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysShortStrictRegex;\n } else {\n return this._weekdaysShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysShortRegex')) {\n this._weekdaysShortRegex = defaultWeekdaysShortRegex;\n }\n return this._weekdaysShortStrictRegex && isStrict ?\n this._weekdaysShortStrictRegex : this._weekdaysShortRegex;\n }\n }\n\n var defaultWeekdaysMinRegex = matchWord;\n function weekdaysMinRegex (isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysMinStrictRegex;\n } else {\n return this._weekdaysMinRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysMinRegex')) {\n this._weekdaysMinRegex = defaultWeekdaysMinRegex;\n }\n return this._weekdaysMinStrictRegex && isStrict ?\n this._weekdaysMinStrictRegex : this._weekdaysMinRegex;\n }\n }\n\n\n function computeWeekdaysParse () {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var minPieces = [], shortPieces = [], longPieces = [], mixedPieces = [],\n i, mom, minp, shortp, longp;\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, 1]).day(i);\n minp = this.weekdaysMin(mom, '');\n shortp = this.weekdaysShort(mom, '');\n longp = this.weekdays(mom, '');\n minPieces.push(minp);\n shortPieces.push(shortp);\n longPieces.push(longp);\n mixedPieces.push(minp);\n mixedPieces.push(shortp);\n mixedPieces.push(longp);\n }\n // Sorting makes sure if one weekday (or abbr) is a prefix of another it\n // will match the longer piece.\n minPieces.sort(cmpLenRev);\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n for (i = 0; i < 7; i++) {\n shortPieces[i] = regexEscape(shortPieces[i]);\n longPieces[i] = regexEscape(longPieces[i]);\n mixedPieces[i] = regexEscape(mixedPieces[i]);\n }\n\n this._weekdaysRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._weekdaysShortRegex = this._weekdaysRegex;\n this._weekdaysMinRegex = this._weekdaysRegex;\n\n this._weekdaysStrictRegex = new RegExp('^(' + longPieces.join('|') + ')', 'i');\n this._weekdaysShortStrictRegex = new RegExp('^(' + shortPieces.join('|') + ')', 'i');\n this._weekdaysMinStrictRegex = new RegExp('^(' + minPieces.join('|') + ')', 'i');\n }\n\n // FORMATTING\n\n function hFormat() {\n return this.hours() % 12 || 12;\n }\n\n function kFormat() {\n return this.hours() || 24;\n }\n\n addFormatToken('H', ['HH', 2], 0, 'hour');\n addFormatToken('h', ['hh', 2], 0, hFormat);\n addFormatToken('k', ['kk', 2], 0, kFormat);\n\n addFormatToken('hmm', 0, 0, function () {\n return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2);\n });\n\n addFormatToken('hmmss', 0, 0, function () {\n return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2);\n });\n\n addFormatToken('Hmm', 0, 0, function () {\n return '' + this.hours() + zeroFill(this.minutes(), 2);\n });\n\n addFormatToken('Hmmss', 0, 0, function () {\n return '' + this.hours() + zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2);\n });\n\n function meridiem (token, lowercase) {\n addFormatToken(token, 0, 0, function () {\n return this.localeData().meridiem(this.hours(), this.minutes(), lowercase);\n });\n }\n\n meridiem('a', true);\n meridiem('A', false);\n\n // ALIASES\n\n addUnitAlias('hour', 'h');\n\n // PRIORITY\n addUnitPriority('hour', 13);\n\n // PARSING\n\n function matchMeridiem (isStrict, locale) {\n return locale._meridiemParse;\n }\n\n addRegexToken('a', matchMeridiem);\n addRegexToken('A', matchMeridiem);\n addRegexToken('H', match1to2);\n addRegexToken('h', match1to2);\n addRegexToken('k', match1to2);\n addRegexToken('HH', match1to2, match2);\n addRegexToken('hh', match1to2, match2);\n addRegexToken('kk', match1to2, match2);\n\n addRegexToken('hmm', match3to4);\n addRegexToken('hmmss', match5to6);\n addRegexToken('Hmm', match3to4);\n addRegexToken('Hmmss', match5to6);\n\n addParseToken(['H', 'HH'], HOUR);\n addParseToken(['k', 'kk'], function (input, array, config) {\n var kInput = toInt(input);\n array[HOUR] = kInput === 24 ? 0 : kInput;\n });\n addParseToken(['a', 'A'], function (input, array, config) {\n config._isPm = config._locale.isPM(input);\n config._meridiem = input;\n });\n addParseToken(['h', 'hh'], function (input, array, config) {\n array[HOUR] = toInt(input);\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('hmmss', function (input, array, config) {\n var pos1 = input.length - 4;\n var pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('Hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n });\n addParseToken('Hmmss', function (input, array, config) {\n var pos1 = input.length - 4;\n var pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n });\n\n // LOCALES\n\n function localeIsPM (input) {\n // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays\n // Using charAt should be more compatible.\n return ((input + '').toLowerCase().charAt(0) === 'p');\n }\n\n var defaultLocaleMeridiemParse = /[ap]\\.?m?\\.?/i;\n function localeMeridiem (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'pm' : 'PM';\n } else {\n return isLower ? 'am' : 'AM';\n }\n }\n\n\n // MOMENTS\n\n // Setting the hour should keep the time, because the user explicitly\n // specified which hour they want. So trying to maintain the same hour (in\n // a new timezone) makes sense. Adding/subtracting hours does not follow\n // this rule.\n var getSetHour = makeGetSet('Hours', true);\n\n var baseConfig = {\n calendar: defaultCalendar,\n longDateFormat: defaultLongDateFormat,\n invalidDate: defaultInvalidDate,\n ordinal: defaultOrdinal,\n dayOfMonthOrdinalParse: defaultDayOfMonthOrdinalParse,\n relativeTime: defaultRelativeTime,\n\n months: defaultLocaleMonths,\n monthsShort: defaultLocaleMonthsShort,\n\n week: defaultLocaleWeek,\n\n weekdays: defaultLocaleWeekdays,\n weekdaysMin: defaultLocaleWeekdaysMin,\n weekdaysShort: defaultLocaleWeekdaysShort,\n\n meridiemParse: defaultLocaleMeridiemParse\n };\n\n // internal storage for locale config files\n var locales = {};\n var localeFamilies = {};\n var globalLocale;\n\n function normalizeLocale(key) {\n return key ? key.toLowerCase().replace('_', '-') : key;\n }\n\n // pick the locale from the array\n // try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each\n // substring from most specific to least, but move to the next array item if it's a more specific variant than the current root\n function chooseLocale(names) {\n var i = 0, j, next, locale, split;\n\n while (i < names.length) {\n split = normalizeLocale(names[i]).split('-');\n j = split.length;\n next = normalizeLocale(names[i + 1]);\n next = next ? next.split('-') : null;\n while (j > 0) {\n locale = loadLocale(split.slice(0, j).join('-'));\n if (locale) {\n return locale;\n }\n if (next && next.length >= j && compareArrays(split, next, true) >= j - 1) {\n //the next array item is better than a shallower substring of this one\n break;\n }\n j--;\n }\n i++;\n }\n return globalLocale;\n }\n\n function loadLocale(name) {\n var oldLocale = null;\n // TODO: Find a better way to register and load all the locales in Node\n if (!locales[name] && (typeof module !== 'undefined') &&\n module && module.exports) {\n try {\n oldLocale = globalLocale._abbr;\n var aliasedRequire = require;\n aliasedRequire('./locale/' + name);\n getSetGlobalLocale(oldLocale);\n } catch (e) {}\n }\n return locales[name];\n }\n\n // This function will load locale and then set the global locale. If\n // no arguments are passed in, it will simply return the current global\n // locale key.\n function getSetGlobalLocale (key, values) {\n var data;\n if (key) {\n if (isUndefined(values)) {\n data = getLocale(key);\n }\n else {\n data = defineLocale(key, values);\n }\n\n if (data) {\n // moment.duration._locale = moment._locale = data;\n globalLocale = data;\n }\n else {\n if ((typeof console !== 'undefined') && console.warn) {\n //warn user if arguments are passed but the locale could not be set\n console.warn('Locale ' + key + ' not found. Did you forget to load it?');\n }\n }\n }\n\n return globalLocale._abbr;\n }\n\n function defineLocale (name, config) {\n if (config !== null) {\n var locale, parentConfig = baseConfig;\n config.abbr = name;\n if (locales[name] != null) {\n deprecateSimple('defineLocaleOverride',\n 'use moment.updateLocale(localeName, config) to change ' +\n 'an existing locale. moment.defineLocale(localeName, ' +\n 'config) should only be used for creating a new locale ' +\n 'See http://momentjs.com/guides/#/warnings/define-locale/ for more info.');\n parentConfig = locales[name]._config;\n } else if (config.parentLocale != null) {\n if (locales[config.parentLocale] != null) {\n parentConfig = locales[config.parentLocale]._config;\n } else {\n locale = loadLocale(config.parentLocale);\n if (locale != null) {\n parentConfig = locale._config;\n } else {\n if (!localeFamilies[config.parentLocale]) {\n localeFamilies[config.parentLocale] = [];\n }\n localeFamilies[config.parentLocale].push({\n name: name,\n config: config\n });\n return null;\n }\n }\n }\n locales[name] = new Locale(mergeConfigs(parentConfig, config));\n\n if (localeFamilies[name]) {\n localeFamilies[name].forEach(function (x) {\n defineLocale(x.name, x.config);\n });\n }\n\n // backwards compat for now: also set the locale\n // make sure we set the locale AFTER all child locales have been\n // created, so we won't end up with the child locale set.\n getSetGlobalLocale(name);\n\n\n return locales[name];\n } else {\n // useful for testing\n delete locales[name];\n return null;\n }\n }\n\n function updateLocale(name, config) {\n if (config != null) {\n var locale, tmpLocale, parentConfig = baseConfig;\n // MERGE\n tmpLocale = loadLocale(name);\n if (tmpLocale != null) {\n parentConfig = tmpLocale._config;\n }\n config = mergeConfigs(parentConfig, config);\n locale = new Locale(config);\n locale.parentLocale = locales[name];\n locales[name] = locale;\n\n // backwards compat for now: also set the locale\n getSetGlobalLocale(name);\n } else {\n // pass null for config to unupdate, useful for tests\n if (locales[name] != null) {\n if (locales[name].parentLocale != null) {\n locales[name] = locales[name].parentLocale;\n } else if (locales[name] != null) {\n delete locales[name];\n }\n }\n }\n return locales[name];\n }\n\n // returns locale data\n function getLocale (key) {\n var locale;\n\n if (key && key._locale && key._locale._abbr) {\n key = key._locale._abbr;\n }\n\n if (!key) {\n return globalLocale;\n }\n\n if (!isArray(key)) {\n //short-circuit everything else\n locale = loadLocale(key);\n if (locale) {\n return locale;\n }\n key = [key];\n }\n\n return chooseLocale(key);\n }\n\n function listLocales() {\n return keys(locales);\n }\n\n function checkOverflow (m) {\n var overflow;\n var a = m._a;\n\n if (a && getParsingFlags(m).overflow === -2) {\n overflow =\n a[MONTH] < 0 || a[MONTH] > 11 ? MONTH :\n a[DATE] < 1 || a[DATE] > daysInMonth(a[YEAR], a[MONTH]) ? DATE :\n a[HOUR] < 0 || a[HOUR] > 24 || (a[HOUR] === 24 && (a[MINUTE] !== 0 || a[SECOND] !== 0 || a[MILLISECOND] !== 0)) ? HOUR :\n a[MINUTE] < 0 || a[MINUTE] > 59 ? MINUTE :\n a[SECOND] < 0 || a[SECOND] > 59 ? SECOND :\n a[MILLISECOND] < 0 || a[MILLISECOND] > 999 ? MILLISECOND :\n -1;\n\n if (getParsingFlags(m)._overflowDayOfYear && (overflow < YEAR || overflow > DATE)) {\n overflow = DATE;\n }\n if (getParsingFlags(m)._overflowWeeks && overflow === -1) {\n overflow = WEEK;\n }\n if (getParsingFlags(m)._overflowWeekday && overflow === -1) {\n overflow = WEEKDAY;\n }\n\n getParsingFlags(m).overflow = overflow;\n }\n\n return m;\n }\n\n // Pick the first defined of two or three arguments.\n function defaults(a, b, c) {\n if (a != null) {\n return a;\n }\n if (b != null) {\n return b;\n }\n return c;\n }\n\n function currentDateArray(config) {\n // hooks is actually the exported moment object\n var nowValue = new Date(hooks.now());\n if (config._useUTC) {\n return [nowValue.getUTCFullYear(), nowValue.getUTCMonth(), nowValue.getUTCDate()];\n }\n return [nowValue.getFullYear(), nowValue.getMonth(), nowValue.getDate()];\n }\n\n // convert an array to a date.\n // the array should mirror the parameters below\n // note: all values past the year are optional and will default to the lowest possible value.\n // [year, month, day , hour, minute, second, millisecond]\n function configFromArray (config) {\n var i, date, input = [], currentDate, expectedWeekday, yearToUse;\n\n if (config._d) {\n return;\n }\n\n currentDate = currentDateArray(config);\n\n //compute day of the year from weeks and weekdays\n if (config._w && config._a[DATE] == null && config._a[MONTH] == null) {\n dayOfYearFromWeekInfo(config);\n }\n\n //if the day of the year is set, figure out what it is\n if (config._dayOfYear != null) {\n yearToUse = defaults(config._a[YEAR], currentDate[YEAR]);\n\n if (config._dayOfYear > daysInYear(yearToUse) || config._dayOfYear === 0) {\n getParsingFlags(config)._overflowDayOfYear = true;\n }\n\n date = createUTCDate(yearToUse, 0, config._dayOfYear);\n config._a[MONTH] = date.getUTCMonth();\n config._a[DATE] = date.getUTCDate();\n }\n\n // Default to current date.\n // * if no year, month, day of month are given, default to today\n // * if day of month is given, default month and year\n // * if month is given, default only year\n // * if year is given, don't default anything\n for (i = 0; i < 3 && config._a[i] == null; ++i) {\n config._a[i] = input[i] = currentDate[i];\n }\n\n // Zero out whatever was not defaulted, including time\n for (; i < 7; i++) {\n config._a[i] = input[i] = (config._a[i] == null) ? (i === 2 ? 1 : 0) : config._a[i];\n }\n\n // Check for 24:00:00.000\n if (config._a[HOUR] === 24 &&\n config._a[MINUTE] === 0 &&\n config._a[SECOND] === 0 &&\n config._a[MILLISECOND] === 0) {\n config._nextDay = true;\n config._a[HOUR] = 0;\n }\n\n config._d = (config._useUTC ? createUTCDate : createDate).apply(null, input);\n expectedWeekday = config._useUTC ? config._d.getUTCDay() : config._d.getDay();\n\n // Apply timezone offset from input. The actual utcOffset can be changed\n // with parseZone.\n if (config._tzm != null) {\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n }\n\n if (config._nextDay) {\n config._a[HOUR] = 24;\n }\n\n // check for mismatching day of week\n if (config._w && typeof config._w.d !== 'undefined' && config._w.d !== expectedWeekday) {\n getParsingFlags(config).weekdayMismatch = true;\n }\n }\n\n function dayOfYearFromWeekInfo(config) {\n var w, weekYear, week, weekday, dow, doy, temp, weekdayOverflow;\n\n w = config._w;\n if (w.GG != null || w.W != null || w.E != null) {\n dow = 1;\n doy = 4;\n\n // TODO: We need to take the current isoWeekYear, but that depends on\n // how we interpret now (local, utc, fixed offset). So create\n // a now version of current config (take local/utc/offset flags, and\n // create now).\n weekYear = defaults(w.GG, config._a[YEAR], weekOfYear(createLocal(), 1, 4).year);\n week = defaults(w.W, 1);\n weekday = defaults(w.E, 1);\n if (weekday < 1 || weekday > 7) {\n weekdayOverflow = true;\n }\n } else {\n dow = config._locale._week.dow;\n doy = config._locale._week.doy;\n\n var curWeek = weekOfYear(createLocal(), dow, doy);\n\n weekYear = defaults(w.gg, config._a[YEAR], curWeek.year);\n\n // Default to current week.\n week = defaults(w.w, curWeek.week);\n\n if (w.d != null) {\n // weekday -- low day numbers are considered next week\n weekday = w.d;\n if (weekday < 0 || weekday > 6) {\n weekdayOverflow = true;\n }\n } else if (w.e != null) {\n // local weekday -- counting starts from begining of week\n weekday = w.e + dow;\n if (w.e < 0 || w.e > 6) {\n weekdayOverflow = true;\n }\n } else {\n // default to begining of week\n weekday = dow;\n }\n }\n if (week < 1 || week > weeksInYear(weekYear, dow, doy)) {\n getParsingFlags(config)._overflowWeeks = true;\n } else if (weekdayOverflow != null) {\n getParsingFlags(config)._overflowWeekday = true;\n } else {\n temp = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy);\n config._a[YEAR] = temp.year;\n config._dayOfYear = temp.dayOfYear;\n }\n }\n\n // iso 8601 regex\n // 0000-00-00 0000-W00 or 0000-W00-0 + T + 00 or 00:00 or 00:00:00 or 00:00:00.000 + +00:00 or +0000 or +00)\n var extendedIsoRegex = /^\\s*((?:[+-]\\d{6}|\\d{4})-(?:\\d\\d-\\d\\d|W\\d\\d-\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?::\\d\\d(?::\\d\\d(?:[.,]\\d+)?)?)?)([\\+\\-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/;\n var basicIsoRegex = /^\\s*((?:[+-]\\d{6}|\\d{4})(?:\\d\\d\\d\\d|W\\d\\d\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?:\\d\\d(?:\\d\\d(?:[.,]\\d+)?)?)?)([\\+\\-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/;\n\n var tzRegex = /Z|[+-]\\d\\d(?::?\\d\\d)?/;\n\n var isoDates = [\n ['YYYYYY-MM-DD', /[+-]\\d{6}-\\d\\d-\\d\\d/],\n ['YYYY-MM-DD', /\\d{4}-\\d\\d-\\d\\d/],\n ['GGGG-[W]WW-E', /\\d{4}-W\\d\\d-\\d/],\n ['GGGG-[W]WW', /\\d{4}-W\\d\\d/, false],\n ['YYYY-DDD', /\\d{4}-\\d{3}/],\n ['YYYY-MM', /\\d{4}-\\d\\d/, false],\n ['YYYYYYMMDD', /[+-]\\d{10}/],\n ['YYYYMMDD', /\\d{8}/],\n // YYYYMM is NOT allowed by the standard\n ['GGGG[W]WWE', /\\d{4}W\\d{3}/],\n ['GGGG[W]WW', /\\d{4}W\\d{2}/, false],\n ['YYYYDDD', /\\d{7}/]\n ];\n\n // iso time formats and regexes\n var isoTimes = [\n ['HH:mm:ss.SSSS', /\\d\\d:\\d\\d:\\d\\d\\.\\d+/],\n ['HH:mm:ss,SSSS', /\\d\\d:\\d\\d:\\d\\d,\\d+/],\n ['HH:mm:ss', /\\d\\d:\\d\\d:\\d\\d/],\n ['HH:mm', /\\d\\d:\\d\\d/],\n ['HHmmss.SSSS', /\\d\\d\\d\\d\\d\\d\\.\\d+/],\n ['HHmmss,SSSS', /\\d\\d\\d\\d\\d\\d,\\d+/],\n ['HHmmss', /\\d\\d\\d\\d\\d\\d/],\n ['HHmm', /\\d\\d\\d\\d/],\n ['HH', /\\d\\d/]\n ];\n\n var aspNetJsonRegex = /^\\/?Date\\((\\-?\\d+)/i;\n\n // date from iso format\n function configFromISO(config) {\n var i, l,\n string = config._i,\n match = extendedIsoRegex.exec(string) || basicIsoRegex.exec(string),\n allowTime, dateFormat, timeFormat, tzFormat;\n\n if (match) {\n getParsingFlags(config).iso = true;\n\n for (i = 0, l = isoDates.length; i < l; i++) {\n if (isoDates[i][1].exec(match[1])) {\n dateFormat = isoDates[i][0];\n allowTime = isoDates[i][2] !== false;\n break;\n }\n }\n if (dateFormat == null) {\n config._isValid = false;\n return;\n }\n if (match[3]) {\n for (i = 0, l = isoTimes.length; i < l; i++) {\n if (isoTimes[i][1].exec(match[3])) {\n // match[2] should be 'T' or space\n timeFormat = (match[2] || ' ') + isoTimes[i][0];\n break;\n }\n }\n if (timeFormat == null) {\n config._isValid = false;\n return;\n }\n }\n if (!allowTime && timeFormat != null) {\n config._isValid = false;\n return;\n }\n if (match[4]) {\n if (tzRegex.exec(match[4])) {\n tzFormat = 'Z';\n } else {\n config._isValid = false;\n return;\n }\n }\n config._f = dateFormat + (timeFormat || '') + (tzFormat || '');\n configFromStringAndFormat(config);\n } else {\n config._isValid = false;\n }\n }\n\n // RFC 2822 regex: For details see https://tools.ietf.org/html/rfc2822#section-3.3\n var rfc2822 = /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\\s)?(\\d{1,2})\\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\\s(\\d{2,4})\\s(\\d\\d):(\\d\\d)(?::(\\d\\d))?\\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\\d{4}))$/;\n\n function extractFromRFC2822Strings(yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr) {\n var result = [\n untruncateYear(yearStr),\n defaultLocaleMonthsShort.indexOf(monthStr),\n parseInt(dayStr, 10),\n parseInt(hourStr, 10),\n parseInt(minuteStr, 10)\n ];\n\n if (secondStr) {\n result.push(parseInt(secondStr, 10));\n }\n\n return result;\n }\n\n function untruncateYear(yearStr) {\n var year = parseInt(yearStr, 10);\n if (year <= 49) {\n return 2000 + year;\n } else if (year <= 999) {\n return 1900 + year;\n }\n return year;\n }\n\n function preprocessRFC2822(s) {\n // Remove comments and folding whitespace and replace multiple-spaces with a single space\n return s.replace(/\\([^)]*\\)|[\\n\\t]/g, ' ').replace(/(\\s\\s+)/g, ' ').replace(/^\\s\\s*/, '').replace(/\\s\\s*$/, '');\n }\n\n function checkWeekday(weekdayStr, parsedInput, config) {\n if (weekdayStr) {\n // TODO: Replace the vanilla JS Date object with an indepentent day-of-week check.\n var weekdayProvided = defaultLocaleWeekdaysShort.indexOf(weekdayStr),\n weekdayActual = new Date(parsedInput[0], parsedInput[1], parsedInput[2]).getDay();\n if (weekdayProvided !== weekdayActual) {\n getParsingFlags(config).weekdayMismatch = true;\n config._isValid = false;\n return false;\n }\n }\n return true;\n }\n\n var obsOffsets = {\n UT: 0,\n GMT: 0,\n EDT: -4 * 60,\n EST: -5 * 60,\n CDT: -5 * 60,\n CST: -6 * 60,\n MDT: -6 * 60,\n MST: -7 * 60,\n PDT: -7 * 60,\n PST: -8 * 60\n };\n\n function calculateOffset(obsOffset, militaryOffset, numOffset) {\n if (obsOffset) {\n return obsOffsets[obsOffset];\n } else if (militaryOffset) {\n // the only allowed military tz is Z\n return 0;\n } else {\n var hm = parseInt(numOffset, 10);\n var m = hm % 100, h = (hm - m) / 100;\n return h * 60 + m;\n }\n }\n\n // date and time from ref 2822 format\n function configFromRFC2822(config) {\n var match = rfc2822.exec(preprocessRFC2822(config._i));\n if (match) {\n var parsedArray = extractFromRFC2822Strings(match[4], match[3], match[2], match[5], match[6], match[7]);\n if (!checkWeekday(match[1], parsedArray, config)) {\n return;\n }\n\n config._a = parsedArray;\n config._tzm = calculateOffset(match[8], match[9], match[10]);\n\n config._d = createUTCDate.apply(null, config._a);\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n\n getParsingFlags(config).rfc2822 = true;\n } else {\n config._isValid = false;\n }\n }\n\n // date from iso format or fallback\n function configFromString(config) {\n var matched = aspNetJsonRegex.exec(config._i);\n\n if (matched !== null) {\n config._d = new Date(+matched[1]);\n return;\n }\n\n configFromISO(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n configFromRFC2822(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n // Final attempt, use Input Fallback\n hooks.createFromInputFallback(config);\n }\n\n hooks.createFromInputFallback = deprecate(\n 'value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), ' +\n 'which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are ' +\n 'discouraged and will be removed in an upcoming major release. Please refer to ' +\n 'http://momentjs.com/guides/#/warnings/js-date/ for more info.',\n function (config) {\n config._d = new Date(config._i + (config._useUTC ? ' UTC' : ''));\n }\n );\n\n // constant that refers to the ISO standard\n hooks.ISO_8601 = function () {};\n\n // constant that refers to the RFC 2822 form\n hooks.RFC_2822 = function () {};\n\n // date from string and format string\n function configFromStringAndFormat(config) {\n // TODO: Move this to another part of the creation flow to prevent circular deps\n if (config._f === hooks.ISO_8601) {\n configFromISO(config);\n return;\n }\n if (config._f === hooks.RFC_2822) {\n configFromRFC2822(config);\n return;\n }\n config._a = [];\n getParsingFlags(config).empty = true;\n\n // This array is used to make a Date, either with `new Date` or `Date.UTC`\n var string = '' + config._i,\n i, parsedInput, tokens, token, skipped,\n stringLength = string.length,\n totalParsedInputLength = 0;\n\n tokens = expandFormat(config._f, config._locale).match(formattingTokens) || [];\n\n for (i = 0; i < tokens.length; i++) {\n token = tokens[i];\n parsedInput = (string.match(getParseRegexForToken(token, config)) || [])[0];\n // console.log('token', token, 'parsedInput', parsedInput,\n // 'regex', getParseRegexForToken(token, config));\n if (parsedInput) {\n skipped = string.substr(0, string.indexOf(parsedInput));\n if (skipped.length > 0) {\n getParsingFlags(config).unusedInput.push(skipped);\n }\n string = string.slice(string.indexOf(parsedInput) + parsedInput.length);\n totalParsedInputLength += parsedInput.length;\n }\n // don't parse if it's not a known token\n if (formatTokenFunctions[token]) {\n if (parsedInput) {\n getParsingFlags(config).empty = false;\n }\n else {\n getParsingFlags(config).unusedTokens.push(token);\n }\n addTimeToArrayFromToken(token, parsedInput, config);\n }\n else if (config._strict && !parsedInput) {\n getParsingFlags(config).unusedTokens.push(token);\n }\n }\n\n // add remaining unparsed input length to the string\n getParsingFlags(config).charsLeftOver = stringLength - totalParsedInputLength;\n if (string.length > 0) {\n getParsingFlags(config).unusedInput.push(string);\n }\n\n // clear _12h flag if hour is <= 12\n if (config._a[HOUR] <= 12 &&\n getParsingFlags(config).bigHour === true &&\n config._a[HOUR] > 0) {\n getParsingFlags(config).bigHour = undefined;\n }\n\n getParsingFlags(config).parsedDateParts = config._a.slice(0);\n getParsingFlags(config).meridiem = config._meridiem;\n // handle meridiem\n config._a[HOUR] = meridiemFixWrap(config._locale, config._a[HOUR], config._meridiem);\n\n configFromArray(config);\n checkOverflow(config);\n }\n\n\n function meridiemFixWrap (locale, hour, meridiem) {\n var isPm;\n\n if (meridiem == null) {\n // nothing to do\n return hour;\n }\n if (locale.meridiemHour != null) {\n return locale.meridiemHour(hour, meridiem);\n } else if (locale.isPM != null) {\n // Fallback\n isPm = locale.isPM(meridiem);\n if (isPm && hour < 12) {\n hour += 12;\n }\n if (!isPm && hour === 12) {\n hour = 0;\n }\n return hour;\n } else {\n // this is not supposed to happen\n return hour;\n }\n }\n\n // date from string and array of format strings\n function configFromStringAndArray(config) {\n var tempConfig,\n bestMoment,\n\n scoreToBeat,\n i,\n currentScore;\n\n if (config._f.length === 0) {\n getParsingFlags(config).invalidFormat = true;\n config._d = new Date(NaN);\n return;\n }\n\n for (i = 0; i < config._f.length; i++) {\n currentScore = 0;\n tempConfig = copyConfig({}, config);\n if (config._useUTC != null) {\n tempConfig._useUTC = config._useUTC;\n }\n tempConfig._f = config._f[i];\n configFromStringAndFormat(tempConfig);\n\n if (!isValid(tempConfig)) {\n continue;\n }\n\n // if there is any input that was not parsed add a penalty for that format\n currentScore += getParsingFlags(tempConfig).charsLeftOver;\n\n //or tokens\n currentScore += getParsingFlags(tempConfig).unusedTokens.length * 10;\n\n getParsingFlags(tempConfig).score = currentScore;\n\n if (scoreToBeat == null || currentScore < scoreToBeat) {\n scoreToBeat = currentScore;\n bestMoment = tempConfig;\n }\n }\n\n extend(config, bestMoment || tempConfig);\n }\n\n function configFromObject(config) {\n if (config._d) {\n return;\n }\n\n var i = normalizeObjectUnits(config._i);\n config._a = map([i.year, i.month, i.day || i.date, i.hour, i.minute, i.second, i.millisecond], function (obj) {\n return obj && parseInt(obj, 10);\n });\n\n configFromArray(config);\n }\n\n function createFromConfig (config) {\n var res = new Moment(checkOverflow(prepareConfig(config)));\n if (res._nextDay) {\n // Adding is smart enough around DST\n res.add(1, 'd');\n res._nextDay = undefined;\n }\n\n return res;\n }\n\n function prepareConfig (config) {\n var input = config._i,\n format = config._f;\n\n config._locale = config._locale || getLocale(config._l);\n\n if (input === null || (format === undefined && input === '')) {\n return createInvalid({nullInput: true});\n }\n\n if (typeof input === 'string') {\n config._i = input = config._locale.preparse(input);\n }\n\n if (isMoment(input)) {\n return new Moment(checkOverflow(input));\n } else if (isDate(input)) {\n config._d = input;\n } else if (isArray(format)) {\n configFromStringAndArray(config);\n } else if (format) {\n configFromStringAndFormat(config);\n } else {\n configFromInput(config);\n }\n\n if (!isValid(config)) {\n config._d = null;\n }\n\n return config;\n }\n\n function configFromInput(config) {\n var input = config._i;\n if (isUndefined(input)) {\n config._d = new Date(hooks.now());\n } else if (isDate(input)) {\n config._d = new Date(input.valueOf());\n } else if (typeof input === 'string') {\n configFromString(config);\n } else if (isArray(input)) {\n config._a = map(input.slice(0), function (obj) {\n return parseInt(obj, 10);\n });\n configFromArray(config);\n } else if (isObject(input)) {\n configFromObject(config);\n } else if (isNumber(input)) {\n // from milliseconds\n config._d = new Date(input);\n } else {\n hooks.createFromInputFallback(config);\n }\n }\n\n function createLocalOrUTC (input, format, locale, strict, isUTC) {\n var c = {};\n\n if (locale === true || locale === false) {\n strict = locale;\n locale = undefined;\n }\n\n if ((isObject(input) && isObjectEmpty(input)) ||\n (isArray(input) && input.length === 0)) {\n input = undefined;\n }\n // object construction must be done this way.\n // https://github.com/moment/moment/issues/1423\n c._isAMomentObject = true;\n c._useUTC = c._isUTC = isUTC;\n c._l = locale;\n c._i = input;\n c._f = format;\n c._strict = strict;\n\n return createFromConfig(c);\n }\n\n function createLocal (input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, false);\n }\n\n var prototypeMin = deprecate(\n 'moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/',\n function () {\n var other = createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other < this ? this : other;\n } else {\n return createInvalid();\n }\n }\n );\n\n var prototypeMax = deprecate(\n 'moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/',\n function () {\n var other = createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other > this ? this : other;\n } else {\n return createInvalid();\n }\n }\n );\n\n // Pick a moment m from moments so that m[fn](other) is true for all\n // other. This relies on the function fn to be transitive.\n //\n // moments should either be an array of moment objects or an array, whose\n // first element is an array of moment objects.\n function pickBy(fn, moments) {\n var res, i;\n if (moments.length === 1 && isArray(moments[0])) {\n moments = moments[0];\n }\n if (!moments.length) {\n return createLocal();\n }\n res = moments[0];\n for (i = 1; i < moments.length; ++i) {\n if (!moments[i].isValid() || moments[i][fn](res)) {\n res = moments[i];\n }\n }\n return res;\n }\n\n // TODO: Use [].sort instead?\n function min () {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isBefore', args);\n }\n\n function max () {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isAfter', args);\n }\n\n var now = function () {\n return Date.now ? Date.now() : +(new Date());\n };\n\n var ordering = ['year', 'quarter', 'month', 'week', 'day', 'hour', 'minute', 'second', 'millisecond'];\n\n function isDurationValid(m) {\n for (var key in m) {\n if (!(indexOf.call(ordering, key) !== -1 && (m[key] == null || !isNaN(m[key])))) {\n return false;\n }\n }\n\n var unitHasDecimal = false;\n for (var i = 0; i < ordering.length; ++i) {\n if (m[ordering[i]]) {\n if (unitHasDecimal) {\n return false; // only allow non-integers for smallest unit\n }\n if (parseFloat(m[ordering[i]]) !== toInt(m[ordering[i]])) {\n unitHasDecimal = true;\n }\n }\n }\n\n return true;\n }\n\n function isValid$1() {\n return this._isValid;\n }\n\n function createInvalid$1() {\n return createDuration(NaN);\n }\n\n function Duration (duration) {\n var normalizedInput = normalizeObjectUnits(duration),\n years = normalizedInput.year || 0,\n quarters = normalizedInput.quarter || 0,\n months = normalizedInput.month || 0,\n weeks = normalizedInput.week || 0,\n days = normalizedInput.day || 0,\n hours = normalizedInput.hour || 0,\n minutes = normalizedInput.minute || 0,\n seconds = normalizedInput.second || 0,\n milliseconds = normalizedInput.millisecond || 0;\n\n this._isValid = isDurationValid(normalizedInput);\n\n // representation for dateAddRemove\n this._milliseconds = +milliseconds +\n seconds * 1e3 + // 1000\n minutes * 6e4 + // 1000 * 60\n hours * 1000 * 60 * 60; //using 1000 * 60 * 60 instead of 36e5 to avoid floating point rounding errors https://github.com/moment/moment/issues/2978\n // Because of dateAddRemove treats 24 hours as different from a\n // day when working around DST, we need to store them separately\n this._days = +days +\n weeks * 7;\n // It is impossible to translate months into days without knowing\n // which months you are are talking about, so we have to store\n // it separately.\n this._months = +months +\n quarters * 3 +\n years * 12;\n\n this._data = {};\n\n this._locale = getLocale();\n\n this._bubble();\n }\n\n function isDuration (obj) {\n return obj instanceof Duration;\n }\n\n function absRound (number) {\n if (number < 0) {\n return Math.round(-1 * number) * -1;\n } else {\n return Math.round(number);\n }\n }\n\n // FORMATTING\n\n function offset (token, separator) {\n addFormatToken(token, 0, 0, function () {\n var offset = this.utcOffset();\n var sign = '+';\n if (offset < 0) {\n offset = -offset;\n sign = '-';\n }\n return sign + zeroFill(~~(offset / 60), 2) + separator + zeroFill(~~(offset) % 60, 2);\n });\n }\n\n offset('Z', ':');\n offset('ZZ', '');\n\n // PARSING\n\n addRegexToken('Z', matchShortOffset);\n addRegexToken('ZZ', matchShortOffset);\n addParseToken(['Z', 'ZZ'], function (input, array, config) {\n config._useUTC = true;\n config._tzm = offsetFromString(matchShortOffset, input);\n });\n\n // HELPERS\n\n // timezone chunker\n // '+10:00' > ['10', '00']\n // '-1530' > ['-15', '30']\n var chunkOffset = /([\\+\\-]|\\d\\d)/gi;\n\n function offsetFromString(matcher, string) {\n var matches = (string || '').match(matcher);\n\n if (matches === null) {\n return null;\n }\n\n var chunk = matches[matches.length - 1] || [];\n var parts = (chunk + '').match(chunkOffset) || ['-', 0, 0];\n var minutes = +(parts[1] * 60) + toInt(parts[2]);\n\n return minutes === 0 ?\n 0 :\n parts[0] === '+' ? minutes : -minutes;\n }\n\n // Return a moment from input, that is local/utc/zone equivalent to model.\n function cloneWithOffset(input, model) {\n var res, diff;\n if (model._isUTC) {\n res = model.clone();\n diff = (isMoment(input) || isDate(input) ? input.valueOf() : createLocal(input).valueOf()) - res.valueOf();\n // Use low-level api, because this fn is low-level api.\n res._d.setTime(res._d.valueOf() + diff);\n hooks.updateOffset(res, false);\n return res;\n } else {\n return createLocal(input).local();\n }\n }\n\n function getDateOffset (m) {\n // On Firefox.24 Date#getTimezoneOffset returns a floating point.\n // https://github.com/moment/moment/pull/1871\n return -Math.round(m._d.getTimezoneOffset() / 15) * 15;\n }\n\n // HOOKS\n\n // This function will be called whenever a moment is mutated.\n // It is intended to keep the offset in sync with the timezone.\n hooks.updateOffset = function () {};\n\n // MOMENTS\n\n // keepLocalTime = true means only change the timezone, without\n // affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]-->\n // 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset\n // +0200, so we adjust the time as needed, to be valid.\n //\n // Keeping the time actually adds/subtracts (one hour)\n // from the actual represented time. That is why we call updateOffset\n // a second time. In case it wants us to change the offset again\n // _changeInProgress == true case, then we have to adjust, because\n // there is no such time in the given timezone.\n function getSetOffset (input, keepLocalTime, keepMinutes) {\n var offset = this._offset || 0,\n localAdjust;\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n if (input != null) {\n if (typeof input === 'string') {\n input = offsetFromString(matchShortOffset, input);\n if (input === null) {\n return this;\n }\n } else if (Math.abs(input) < 16 && !keepMinutes) {\n input = input * 60;\n }\n if (!this._isUTC && keepLocalTime) {\n localAdjust = getDateOffset(this);\n }\n this._offset = input;\n this._isUTC = true;\n if (localAdjust != null) {\n this.add(localAdjust, 'm');\n }\n if (offset !== input) {\n if (!keepLocalTime || this._changeInProgress) {\n addSubtract(this, createDuration(input - offset, 'm'), 1, false);\n } else if (!this._changeInProgress) {\n this._changeInProgress = true;\n hooks.updateOffset(this, true);\n this._changeInProgress = null;\n }\n }\n return this;\n } else {\n return this._isUTC ? offset : getDateOffset(this);\n }\n }\n\n function getSetZone (input, keepLocalTime) {\n if (input != null) {\n if (typeof input !== 'string') {\n input = -input;\n }\n\n this.utcOffset(input, keepLocalTime);\n\n return this;\n } else {\n return -this.utcOffset();\n }\n }\n\n function setOffsetToUTC (keepLocalTime) {\n return this.utcOffset(0, keepLocalTime);\n }\n\n function setOffsetToLocal (keepLocalTime) {\n if (this._isUTC) {\n this.utcOffset(0, keepLocalTime);\n this._isUTC = false;\n\n if (keepLocalTime) {\n this.subtract(getDateOffset(this), 'm');\n }\n }\n return this;\n }\n\n function setOffsetToParsedOffset () {\n if (this._tzm != null) {\n this.utcOffset(this._tzm, false, true);\n } else if (typeof this._i === 'string') {\n var tZone = offsetFromString(matchOffset, this._i);\n if (tZone != null) {\n this.utcOffset(tZone);\n }\n else {\n this.utcOffset(0, true);\n }\n }\n return this;\n }\n\n function hasAlignedHourOffset (input) {\n if (!this.isValid()) {\n return false;\n }\n input = input ? createLocal(input).utcOffset() : 0;\n\n return (this.utcOffset() - input) % 60 === 0;\n }\n\n function isDaylightSavingTime () {\n return (\n this.utcOffset() > this.clone().month(0).utcOffset() ||\n this.utcOffset() > this.clone().month(5).utcOffset()\n );\n }\n\n function isDaylightSavingTimeShifted () {\n if (!isUndefined(this._isDSTShifted)) {\n return this._isDSTShifted;\n }\n\n var c = {};\n\n copyConfig(c, this);\n c = prepareConfig(c);\n\n if (c._a) {\n var other = c._isUTC ? createUTC(c._a) : createLocal(c._a);\n this._isDSTShifted = this.isValid() &&\n compareArrays(c._a, other.toArray()) > 0;\n } else {\n this._isDSTShifted = false;\n }\n\n return this._isDSTShifted;\n }\n\n function isLocal () {\n return this.isValid() ? !this._isUTC : false;\n }\n\n function isUtcOffset () {\n return this.isValid() ? this._isUTC : false;\n }\n\n function isUtc () {\n return this.isValid() ? this._isUTC && this._offset === 0 : false;\n }\n\n // ASP.NET json date format regex\n var aspNetRegex = /^(\\-|\\+)?(?:(\\d*)[. ])?(\\d+)\\:(\\d+)(?:\\:(\\d+)(\\.\\d*)?)?$/;\n\n // from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html\n // somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere\n // and further modified to allow for strings containing both week and day\n var isoRegex = /^(-|\\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;\n\n function createDuration (input, key) {\n var duration = input,\n // matching against regexp is expensive, do it on demand\n match = null,\n sign,\n ret,\n diffRes;\n\n if (isDuration(input)) {\n duration = {\n ms : input._milliseconds,\n d : input._days,\n M : input._months\n };\n } else if (isNumber(input)) {\n duration = {};\n if (key) {\n duration[key] = input;\n } else {\n duration.milliseconds = input;\n }\n } else if (!!(match = aspNetRegex.exec(input))) {\n sign = (match[1] === '-') ? -1 : 1;\n duration = {\n y : 0,\n d : toInt(match[DATE]) * sign,\n h : toInt(match[HOUR]) * sign,\n m : toInt(match[MINUTE]) * sign,\n s : toInt(match[SECOND]) * sign,\n ms : toInt(absRound(match[MILLISECOND] * 1000)) * sign // the millisecond decimal point is included in the match\n };\n } else if (!!(match = isoRegex.exec(input))) {\n sign = (match[1] === '-') ? -1 : (match[1] === '+') ? 1 : 1;\n duration = {\n y : parseIso(match[2], sign),\n M : parseIso(match[3], sign),\n w : parseIso(match[4], sign),\n d : parseIso(match[5], sign),\n h : parseIso(match[6], sign),\n m : parseIso(match[7], sign),\n s : parseIso(match[8], sign)\n };\n } else if (duration == null) {// checks for null or undefined\n duration = {};\n } else if (typeof duration === 'object' && ('from' in duration || 'to' in duration)) {\n diffRes = momentsDifference(createLocal(duration.from), createLocal(duration.to));\n\n duration = {};\n duration.ms = diffRes.milliseconds;\n duration.M = diffRes.months;\n }\n\n ret = new Duration(duration);\n\n if (isDuration(input) && hasOwnProp(input, '_locale')) {\n ret._locale = input._locale;\n }\n\n return ret;\n }\n\n createDuration.fn = Duration.prototype;\n createDuration.invalid = createInvalid$1;\n\n function parseIso (inp, sign) {\n // We'd normally use ~~inp for this, but unfortunately it also\n // converts floats to ints.\n // inp may be undefined, so careful calling replace on it.\n var res = inp && parseFloat(inp.replace(',', '.'));\n // apply sign while we're at it\n return (isNaN(res) ? 0 : res) * sign;\n }\n\n function positiveMomentsDifference(base, other) {\n var res = {milliseconds: 0, months: 0};\n\n res.months = other.month() - base.month() +\n (other.year() - base.year()) * 12;\n if (base.clone().add(res.months, 'M').isAfter(other)) {\n --res.months;\n }\n\n res.milliseconds = +other - +(base.clone().add(res.months, 'M'));\n\n return res;\n }\n\n function momentsDifference(base, other) {\n var res;\n if (!(base.isValid() && other.isValid())) {\n return {milliseconds: 0, months: 0};\n }\n\n other = cloneWithOffset(other, base);\n if (base.isBefore(other)) {\n res = positiveMomentsDifference(base, other);\n } else {\n res = positiveMomentsDifference(other, base);\n res.milliseconds = -res.milliseconds;\n res.months = -res.months;\n }\n\n return res;\n }\n\n // TODO: remove 'name' arg after deprecation is removed\n function createAdder(direction, name) {\n return function (val, period) {\n var dur, tmp;\n //invert the arguments, but complain about it\n if (period !== null && !isNaN(+period)) {\n deprecateSimple(name, 'moment().' + name + '(period, number) is deprecated. Please use moment().' + name + '(number, period). ' +\n 'See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.');\n tmp = val; val = period; period = tmp;\n }\n\n val = typeof val === 'string' ? +val : val;\n dur = createDuration(val, period);\n addSubtract(this, dur, direction);\n return this;\n };\n }\n\n function addSubtract (mom, duration, isAdding, updateOffset) {\n var milliseconds = duration._milliseconds,\n days = absRound(duration._days),\n months = absRound(duration._months);\n\n if (!mom.isValid()) {\n // No op\n return;\n }\n\n updateOffset = updateOffset == null ? true : updateOffset;\n\n if (months) {\n setMonth(mom, get(mom, 'Month') + months * isAdding);\n }\n if (days) {\n set$1(mom, 'Date', get(mom, 'Date') + days * isAdding);\n }\n if (milliseconds) {\n mom._d.setTime(mom._d.valueOf() + milliseconds * isAdding);\n }\n if (updateOffset) {\n hooks.updateOffset(mom, days || months);\n }\n }\n\n var add = createAdder(1, 'add');\n var subtract = createAdder(-1, 'subtract');\n\n function getCalendarFormat(myMoment, now) {\n var diff = myMoment.diff(now, 'days', true);\n return diff < -6 ? 'sameElse' :\n diff < -1 ? 'lastWeek' :\n diff < 0 ? 'lastDay' :\n diff < 1 ? 'sameDay' :\n diff < 2 ? 'nextDay' :\n diff < 7 ? 'nextWeek' : 'sameElse';\n }\n\n function calendar$1 (time, formats) {\n // We want to compare the start of today, vs this.\n // Getting start-of-today depends on whether we're local/utc/offset or not.\n var now = time || createLocal(),\n sod = cloneWithOffset(now, this).startOf('day'),\n format = hooks.calendarFormat(this, sod) || 'sameElse';\n\n var output = formats && (isFunction(formats[format]) ? formats[format].call(this, now) : formats[format]);\n\n return this.format(output || this.localeData().calendar(format, this, createLocal(now)));\n }\n\n function clone () {\n return new Moment(this);\n }\n\n function isAfter (input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(!isUndefined(units) ? units : 'millisecond');\n if (units === 'millisecond') {\n return this.valueOf() > localInput.valueOf();\n } else {\n return localInput.valueOf() < this.clone().startOf(units).valueOf();\n }\n }\n\n function isBefore (input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(!isUndefined(units) ? units : 'millisecond');\n if (units === 'millisecond') {\n return this.valueOf() < localInput.valueOf();\n } else {\n return this.clone().endOf(units).valueOf() < localInput.valueOf();\n }\n }\n\n function isBetween (from, to, units, inclusivity) {\n inclusivity = inclusivity || '()';\n return (inclusivity[0] === '(' ? this.isAfter(from, units) : !this.isBefore(from, units)) &&\n (inclusivity[1] === ')' ? this.isBefore(to, units) : !this.isAfter(to, units));\n }\n\n function isSame (input, units) {\n var localInput = isMoment(input) ? input : createLocal(input),\n inputMs;\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units || 'millisecond');\n if (units === 'millisecond') {\n return this.valueOf() === localInput.valueOf();\n } else {\n inputMs = localInput.valueOf();\n return this.clone().startOf(units).valueOf() <= inputMs && inputMs <= this.clone().endOf(units).valueOf();\n }\n }\n\n function isSameOrAfter (input, units) {\n return this.isSame(input, units) || this.isAfter(input,units);\n }\n\n function isSameOrBefore (input, units) {\n return this.isSame(input, units) || this.isBefore(input,units);\n }\n\n function diff (input, units, asFloat) {\n var that,\n zoneDelta,\n output;\n\n if (!this.isValid()) {\n return NaN;\n }\n\n that = cloneWithOffset(input, this);\n\n if (!that.isValid()) {\n return NaN;\n }\n\n zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4;\n\n units = normalizeUnits(units);\n\n switch (units) {\n case 'year': output = monthDiff(this, that) / 12; break;\n case 'month': output = monthDiff(this, that); break;\n case 'quarter': output = monthDiff(this, that) / 3; break;\n case 'second': output = (this - that) / 1e3; break; // 1000\n case 'minute': output = (this - that) / 6e4; break; // 1000 * 60\n case 'hour': output = (this - that) / 36e5; break; // 1000 * 60 * 60\n case 'day': output = (this - that - zoneDelta) / 864e5; break; // 1000 * 60 * 60 * 24, negate dst\n case 'week': output = (this - that - zoneDelta) / 6048e5; break; // 1000 * 60 * 60 * 24 * 7, negate dst\n default: output = this - that;\n }\n\n return asFloat ? output : absFloor(output);\n }\n\n function monthDiff (a, b) {\n // difference in months\n var wholeMonthDiff = ((b.year() - a.year()) * 12) + (b.month() - a.month()),\n // b is in (anchor - 1 month, anchor + 1 month)\n anchor = a.clone().add(wholeMonthDiff, 'months'),\n anchor2, adjust;\n\n if (b - anchor < 0) {\n anchor2 = a.clone().add(wholeMonthDiff - 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor - anchor2);\n } else {\n anchor2 = a.clone().add(wholeMonthDiff + 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor2 - anchor);\n }\n\n //check for negative zero, return zero if negative zero\n return -(wholeMonthDiff + adjust) || 0;\n }\n\n hooks.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ';\n hooks.defaultFormatUtc = 'YYYY-MM-DDTHH:mm:ss[Z]';\n\n function toString () {\n return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ');\n }\n\n function toISOString(keepOffset) {\n if (!this.isValid()) {\n return null;\n }\n var utc = keepOffset !== true;\n var m = utc ? this.clone().utc() : this;\n if (m.year() < 0 || m.year() > 9999) {\n return formatMoment(m, utc ? 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYYYY-MM-DD[T]HH:mm:ss.SSSZ');\n }\n if (isFunction(Date.prototype.toISOString)) {\n // native implementation is ~50x faster, use it when we can\n if (utc) {\n return this.toDate().toISOString();\n } else {\n return new Date(this.valueOf() + this.utcOffset() * 60 * 1000).toISOString().replace('Z', formatMoment(m, 'Z'));\n }\n }\n return formatMoment(m, utc ? 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYY-MM-DD[T]HH:mm:ss.SSSZ');\n }\n\n /**\n * Return a human readable representation of a moment that can\n * also be evaluated to get a new moment which is the same\n *\n * @link https://nodejs.org/dist/latest/docs/api/util.html#util_custom_inspect_function_on_objects\n */\n function inspect () {\n if (!this.isValid()) {\n return 'moment.invalid(/* ' + this._i + ' */)';\n }\n var func = 'moment';\n var zone = '';\n if (!this.isLocal()) {\n func = this.utcOffset() === 0 ? 'moment.utc' : 'moment.parseZone';\n zone = 'Z';\n }\n var prefix = '[' + func + '(\"]';\n var year = (0 <= this.year() && this.year() <= 9999) ? 'YYYY' : 'YYYYYY';\n var datetime = '-MM-DD[T]HH:mm:ss.SSS';\n var suffix = zone + '[\")]';\n\n return this.format(prefix + year + datetime + suffix);\n }\n\n function format (inputString) {\n if (!inputString) {\n inputString = this.isUtc() ? hooks.defaultFormatUtc : hooks.defaultFormat;\n }\n var output = formatMoment(this, inputString);\n return this.localeData().postformat(output);\n }\n\n function from (time, withoutSuffix) {\n if (this.isValid() &&\n ((isMoment(time) && time.isValid()) ||\n createLocal(time).isValid())) {\n return createDuration({to: this, from: time}).locale(this.locale()).humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n\n function fromNow (withoutSuffix) {\n return this.from(createLocal(), withoutSuffix);\n }\n\n function to (time, withoutSuffix) {\n if (this.isValid() &&\n ((isMoment(time) && time.isValid()) ||\n createLocal(time).isValid())) {\n return createDuration({from: this, to: time}).locale(this.locale()).humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n\n function toNow (withoutSuffix) {\n return this.to(createLocal(), withoutSuffix);\n }\n\n // If passed a locale key, it will set the locale for this\n // instance. Otherwise, it will return the locale configuration\n // variables for this instance.\n function locale (key) {\n var newLocaleData;\n\n if (key === undefined) {\n return this._locale._abbr;\n } else {\n newLocaleData = getLocale(key);\n if (newLocaleData != null) {\n this._locale = newLocaleData;\n }\n return this;\n }\n }\n\n var lang = deprecate(\n 'moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.',\n function (key) {\n if (key === undefined) {\n return this.localeData();\n } else {\n return this.locale(key);\n }\n }\n );\n\n function localeData () {\n return this._locale;\n }\n\n function startOf (units) {\n units = normalizeUnits(units);\n // the following switch intentionally omits break keywords\n // to utilize falling through the cases.\n switch (units) {\n case 'year':\n this.month(0);\n /* falls through */\n case 'quarter':\n case 'month':\n this.date(1);\n /* falls through */\n case 'week':\n case 'isoWeek':\n case 'day':\n case 'date':\n this.hours(0);\n /* falls through */\n case 'hour':\n this.minutes(0);\n /* falls through */\n case 'minute':\n this.seconds(0);\n /* falls through */\n case 'second':\n this.milliseconds(0);\n }\n\n // weeks are a special case\n if (units === 'week') {\n this.weekday(0);\n }\n if (units === 'isoWeek') {\n this.isoWeekday(1);\n }\n\n // quarters are also special\n if (units === 'quarter') {\n this.month(Math.floor(this.month() / 3) * 3);\n }\n\n return this;\n }\n\n function endOf (units) {\n units = normalizeUnits(units);\n if (units === undefined || units === 'millisecond') {\n return this;\n }\n\n // 'date' is an alias for 'day', so it should be considered as such.\n if (units === 'date') {\n units = 'day';\n }\n\n return this.startOf(units).add(1, (units === 'isoWeek' ? 'week' : units)).subtract(1, 'ms');\n }\n\n function valueOf () {\n return this._d.valueOf() - ((this._offset || 0) * 60000);\n }\n\n function unix () {\n return Math.floor(this.valueOf() / 1000);\n }\n\n function toDate () {\n return new Date(this.valueOf());\n }\n\n function toArray () {\n var m = this;\n return [m.year(), m.month(), m.date(), m.hour(), m.minute(), m.second(), m.millisecond()];\n }\n\n function toObject () {\n var m = this;\n return {\n years: m.year(),\n months: m.month(),\n date: m.date(),\n hours: m.hours(),\n minutes: m.minutes(),\n seconds: m.seconds(),\n milliseconds: m.milliseconds()\n };\n }\n\n function toJSON () {\n // new Date(NaN).toJSON() === null\n return this.isValid() ? this.toISOString() : null;\n }\n\n function isValid$2 () {\n return isValid(this);\n }\n\n function parsingFlags () {\n return extend({}, getParsingFlags(this));\n }\n\n function invalidAt () {\n return getParsingFlags(this).overflow;\n }\n\n function creationData() {\n return {\n input: this._i,\n format: this._f,\n locale: this._locale,\n isUTC: this._isUTC,\n strict: this._strict\n };\n }\n\n // FORMATTING\n\n addFormatToken(0, ['gg', 2], 0, function () {\n return this.weekYear() % 100;\n });\n\n addFormatToken(0, ['GG', 2], 0, function () {\n return this.isoWeekYear() % 100;\n });\n\n function addWeekYearFormatToken (token, getter) {\n addFormatToken(0, [token, token.length], 0, getter);\n }\n\n addWeekYearFormatToken('gggg', 'weekYear');\n addWeekYearFormatToken('ggggg', 'weekYear');\n addWeekYearFormatToken('GGGG', 'isoWeekYear');\n addWeekYearFormatToken('GGGGG', 'isoWeekYear');\n\n // ALIASES\n\n addUnitAlias('weekYear', 'gg');\n addUnitAlias('isoWeekYear', 'GG');\n\n // PRIORITY\n\n addUnitPriority('weekYear', 1);\n addUnitPriority('isoWeekYear', 1);\n\n\n // PARSING\n\n addRegexToken('G', matchSigned);\n addRegexToken('g', matchSigned);\n addRegexToken('GG', match1to2, match2);\n addRegexToken('gg', match1to2, match2);\n addRegexToken('GGGG', match1to4, match4);\n addRegexToken('gggg', match1to4, match4);\n addRegexToken('GGGGG', match1to6, match6);\n addRegexToken('ggggg', match1to6, match6);\n\n addWeekParseToken(['gggg', 'ggggg', 'GGGG', 'GGGGG'], function (input, week, config, token) {\n week[token.substr(0, 2)] = toInt(input);\n });\n\n addWeekParseToken(['gg', 'GG'], function (input, week, config, token) {\n week[token] = hooks.parseTwoDigitYear(input);\n });\n\n // MOMENTS\n\n function getSetWeekYear (input) {\n return getSetWeekYearHelper.call(this,\n input,\n this.week(),\n this.weekday(),\n this.localeData()._week.dow,\n this.localeData()._week.doy);\n }\n\n function getSetISOWeekYear (input) {\n return getSetWeekYearHelper.call(this,\n input, this.isoWeek(), this.isoWeekday(), 1, 4);\n }\n\n function getISOWeeksInYear () {\n return weeksInYear(this.year(), 1, 4);\n }\n\n function getWeeksInYear () {\n var weekInfo = this.localeData()._week;\n return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy);\n }\n\n function getSetWeekYearHelper(input, week, weekday, dow, doy) {\n var weeksTarget;\n if (input == null) {\n return weekOfYear(this, dow, doy).year;\n } else {\n weeksTarget = weeksInYear(input, dow, doy);\n if (week > weeksTarget) {\n week = weeksTarget;\n }\n return setWeekAll.call(this, input, week, weekday, dow, doy);\n }\n }\n\n function setWeekAll(weekYear, week, weekday, dow, doy) {\n var dayOfYearData = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy),\n date = createUTCDate(dayOfYearData.year, 0, dayOfYearData.dayOfYear);\n\n this.year(date.getUTCFullYear());\n this.month(date.getUTCMonth());\n this.date(date.getUTCDate());\n return this;\n }\n\n // FORMATTING\n\n addFormatToken('Q', 0, 'Qo', 'quarter');\n\n // ALIASES\n\n addUnitAlias('quarter', 'Q');\n\n // PRIORITY\n\n addUnitPriority('quarter', 7);\n\n // PARSING\n\n addRegexToken('Q', match1);\n addParseToken('Q', function (input, array) {\n array[MONTH] = (toInt(input) - 1) * 3;\n });\n\n // MOMENTS\n\n function getSetQuarter (input) {\n return input == null ? Math.ceil((this.month() + 1) / 3) : this.month((input - 1) * 3 + this.month() % 3);\n }\n\n // FORMATTING\n\n addFormatToken('D', ['DD', 2], 'Do', 'date');\n\n // ALIASES\n\n addUnitAlias('date', 'D');\n\n // PRIORITY\n addUnitPriority('date', 9);\n\n // PARSING\n\n addRegexToken('D', match1to2);\n addRegexToken('DD', match1to2, match2);\n addRegexToken('Do', function (isStrict, locale) {\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n return isStrict ?\n (locale._dayOfMonthOrdinalParse || locale._ordinalParse) :\n locale._dayOfMonthOrdinalParseLenient;\n });\n\n addParseToken(['D', 'DD'], DATE);\n addParseToken('Do', function (input, array) {\n array[DATE] = toInt(input.match(match1to2)[0]);\n });\n\n // MOMENTS\n\n var getSetDayOfMonth = makeGetSet('Date', true);\n\n // FORMATTING\n\n addFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear');\n\n // ALIASES\n\n addUnitAlias('dayOfYear', 'DDD');\n\n // PRIORITY\n addUnitPriority('dayOfYear', 4);\n\n // PARSING\n\n addRegexToken('DDD', match1to3);\n addRegexToken('DDDD', match3);\n addParseToken(['DDD', 'DDDD'], function (input, array, config) {\n config._dayOfYear = toInt(input);\n });\n\n // HELPERS\n\n // MOMENTS\n\n function getSetDayOfYear (input) {\n var dayOfYear = Math.round((this.clone().startOf('day') - this.clone().startOf('year')) / 864e5) + 1;\n return input == null ? dayOfYear : this.add((input - dayOfYear), 'd');\n }\n\n // FORMATTING\n\n addFormatToken('m', ['mm', 2], 0, 'minute');\n\n // ALIASES\n\n addUnitAlias('minute', 'm');\n\n // PRIORITY\n\n addUnitPriority('minute', 14);\n\n // PARSING\n\n addRegexToken('m', match1to2);\n addRegexToken('mm', match1to2, match2);\n addParseToken(['m', 'mm'], MINUTE);\n\n // MOMENTS\n\n var getSetMinute = makeGetSet('Minutes', false);\n\n // FORMATTING\n\n addFormatToken('s', ['ss', 2], 0, 'second');\n\n // ALIASES\n\n addUnitAlias('second', 's');\n\n // PRIORITY\n\n addUnitPriority('second', 15);\n\n // PARSING\n\n addRegexToken('s', match1to2);\n addRegexToken('ss', match1to2, match2);\n addParseToken(['s', 'ss'], SECOND);\n\n // MOMENTS\n\n var getSetSecond = makeGetSet('Seconds', false);\n\n // FORMATTING\n\n addFormatToken('S', 0, 0, function () {\n return ~~(this.millisecond() / 100);\n });\n\n addFormatToken(0, ['SS', 2], 0, function () {\n return ~~(this.millisecond() / 10);\n });\n\n addFormatToken(0, ['SSS', 3], 0, 'millisecond');\n addFormatToken(0, ['SSSS', 4], 0, function () {\n return this.millisecond() * 10;\n });\n addFormatToken(0, ['SSSSS', 5], 0, function () {\n return this.millisecond() * 100;\n });\n addFormatToken(0, ['SSSSSS', 6], 0, function () {\n return this.millisecond() * 1000;\n });\n addFormatToken(0, ['SSSSSSS', 7], 0, function () {\n return this.millisecond() * 10000;\n });\n addFormatToken(0, ['SSSSSSSS', 8], 0, function () {\n return this.millisecond() * 100000;\n });\n addFormatToken(0, ['SSSSSSSSS', 9], 0, function () {\n return this.millisecond() * 1000000;\n });\n\n\n // ALIASES\n\n addUnitAlias('millisecond', 'ms');\n\n // PRIORITY\n\n addUnitPriority('millisecond', 16);\n\n // PARSING\n\n addRegexToken('S', match1to3, match1);\n addRegexToken('SS', match1to3, match2);\n addRegexToken('SSS', match1to3, match3);\n\n var token;\n for (token = 'SSSS'; token.length <= 9; token += 'S') {\n addRegexToken(token, matchUnsigned);\n }\n\n function parseMs(input, array) {\n array[MILLISECOND] = toInt(('0.' + input) * 1000);\n }\n\n for (token = 'S'; token.length <= 9; token += 'S') {\n addParseToken(token, parseMs);\n }\n // MOMENTS\n\n var getSetMillisecond = makeGetSet('Milliseconds', false);\n\n // FORMATTING\n\n addFormatToken('z', 0, 0, 'zoneAbbr');\n addFormatToken('zz', 0, 0, 'zoneName');\n\n // MOMENTS\n\n function getZoneAbbr () {\n return this._isUTC ? 'UTC' : '';\n }\n\n function getZoneName () {\n return this._isUTC ? 'Coordinated Universal Time' : '';\n }\n\n var proto = Moment.prototype;\n\n proto.add = add;\n proto.calendar = calendar$1;\n proto.clone = clone;\n proto.diff = diff;\n proto.endOf = endOf;\n proto.format = format;\n proto.from = from;\n proto.fromNow = fromNow;\n proto.to = to;\n proto.toNow = toNow;\n proto.get = stringGet;\n proto.invalidAt = invalidAt;\n proto.isAfter = isAfter;\n proto.isBefore = isBefore;\n proto.isBetween = isBetween;\n proto.isSame = isSame;\n proto.isSameOrAfter = isSameOrAfter;\n proto.isSameOrBefore = isSameOrBefore;\n proto.isValid = isValid$2;\n proto.lang = lang;\n proto.locale = locale;\n proto.localeData = localeData;\n proto.max = prototypeMax;\n proto.min = prototypeMin;\n proto.parsingFlags = parsingFlags;\n proto.set = stringSet;\n proto.startOf = startOf;\n proto.subtract = subtract;\n proto.toArray = toArray;\n proto.toObject = toObject;\n proto.toDate = toDate;\n proto.toISOString = toISOString;\n proto.inspect = inspect;\n proto.toJSON = toJSON;\n proto.toString = toString;\n proto.unix = unix;\n proto.valueOf = valueOf;\n proto.creationData = creationData;\n proto.year = getSetYear;\n proto.isLeapYear = getIsLeapYear;\n proto.weekYear = getSetWeekYear;\n proto.isoWeekYear = getSetISOWeekYear;\n proto.quarter = proto.quarters = getSetQuarter;\n proto.month = getSetMonth;\n proto.daysInMonth = getDaysInMonth;\n proto.week = proto.weeks = getSetWeek;\n proto.isoWeek = proto.isoWeeks = getSetISOWeek;\n proto.weeksInYear = getWeeksInYear;\n proto.isoWeeksInYear = getISOWeeksInYear;\n proto.date = getSetDayOfMonth;\n proto.day = proto.days = getSetDayOfWeek;\n proto.weekday = getSetLocaleDayOfWeek;\n proto.isoWeekday = getSetISODayOfWeek;\n proto.dayOfYear = getSetDayOfYear;\n proto.hour = proto.hours = getSetHour;\n proto.minute = proto.minutes = getSetMinute;\n proto.second = proto.seconds = getSetSecond;\n proto.millisecond = proto.milliseconds = getSetMillisecond;\n proto.utcOffset = getSetOffset;\n proto.utc = setOffsetToUTC;\n proto.local = setOffsetToLocal;\n proto.parseZone = setOffsetToParsedOffset;\n proto.hasAlignedHourOffset = hasAlignedHourOffset;\n proto.isDST = isDaylightSavingTime;\n proto.isLocal = isLocal;\n proto.isUtcOffset = isUtcOffset;\n proto.isUtc = isUtc;\n proto.isUTC = isUtc;\n proto.zoneAbbr = getZoneAbbr;\n proto.zoneName = getZoneName;\n proto.dates = deprecate('dates accessor is deprecated. Use date instead.', getSetDayOfMonth);\n proto.months = deprecate('months accessor is deprecated. Use month instead', getSetMonth);\n proto.years = deprecate('years accessor is deprecated. Use year instead', getSetYear);\n proto.zone = deprecate('moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/', getSetZone);\n proto.isDSTShifted = deprecate('isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information', isDaylightSavingTimeShifted);\n\n function createUnix (input) {\n return createLocal(input * 1000);\n }\n\n function createInZone () {\n return createLocal.apply(null, arguments).parseZone();\n }\n\n function preParsePostFormat (string) {\n return string;\n }\n\n var proto$1 = Locale.prototype;\n\n proto$1.calendar = calendar;\n proto$1.longDateFormat = longDateFormat;\n proto$1.invalidDate = invalidDate;\n proto$1.ordinal = ordinal;\n proto$1.preparse = preParsePostFormat;\n proto$1.postformat = preParsePostFormat;\n proto$1.relativeTime = relativeTime;\n proto$1.pastFuture = pastFuture;\n proto$1.set = set;\n\n proto$1.months = localeMonths;\n proto$1.monthsShort = localeMonthsShort;\n proto$1.monthsParse = localeMonthsParse;\n proto$1.monthsRegex = monthsRegex;\n proto$1.monthsShortRegex = monthsShortRegex;\n proto$1.week = localeWeek;\n proto$1.firstDayOfYear = localeFirstDayOfYear;\n proto$1.firstDayOfWeek = localeFirstDayOfWeek;\n\n proto$1.weekdays = localeWeekdays;\n proto$1.weekdaysMin = localeWeekdaysMin;\n proto$1.weekdaysShort = localeWeekdaysShort;\n proto$1.weekdaysParse = localeWeekdaysParse;\n\n proto$1.weekdaysRegex = weekdaysRegex;\n proto$1.weekdaysShortRegex = weekdaysShortRegex;\n proto$1.weekdaysMinRegex = weekdaysMinRegex;\n\n proto$1.isPM = localeIsPM;\n proto$1.meridiem = localeMeridiem;\n\n function get$1 (format, index, field, setter) {\n var locale = getLocale();\n var utc = createUTC().set(setter, index);\n return locale[field](utc, format);\n }\n\n function listMonthsImpl (format, index, field) {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n\n if (index != null) {\n return get$1(format, index, field, 'month');\n }\n\n var i;\n var out = [];\n for (i = 0; i < 12; i++) {\n out[i] = get$1(format, i, field, 'month');\n }\n return out;\n }\n\n // ()\n // (5)\n // (fmt, 5)\n // (fmt)\n // (true)\n // (true, 5)\n // (true, fmt, 5)\n // (true, fmt)\n function listWeekdaysImpl (localeSorted, format, index, field) {\n if (typeof localeSorted === 'boolean') {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n } else {\n format = localeSorted;\n index = format;\n localeSorted = false;\n\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n }\n\n var locale = getLocale(),\n shift = localeSorted ? locale._week.dow : 0;\n\n if (index != null) {\n return get$1(format, (index + shift) % 7, field, 'day');\n }\n\n var i;\n var out = [];\n for (i = 0; i < 7; i++) {\n out[i] = get$1(format, (i + shift) % 7, field, 'day');\n }\n return out;\n }\n\n function listMonths (format, index) {\n return listMonthsImpl(format, index, 'months');\n }\n\n function listMonthsShort (format, index) {\n return listMonthsImpl(format, index, 'monthsShort');\n }\n\n function listWeekdays (localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdays');\n }\n\n function listWeekdaysShort (localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysShort');\n }\n\n function listWeekdaysMin (localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysMin');\n }\n\n getSetGlobalLocale('en', {\n dayOfMonthOrdinalParse: /\\d{1,2}(th|st|nd|rd)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (toInt(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n }\n });\n\n // Side effect imports\n\n hooks.lang = deprecate('moment.lang is deprecated. Use moment.locale instead.', getSetGlobalLocale);\n hooks.langData = deprecate('moment.langData is deprecated. Use moment.localeData instead.', getLocale);\n\n var mathAbs = Math.abs;\n\n function abs () {\n var data = this._data;\n\n this._milliseconds = mathAbs(this._milliseconds);\n this._days = mathAbs(this._days);\n this._months = mathAbs(this._months);\n\n data.milliseconds = mathAbs(data.milliseconds);\n data.seconds = mathAbs(data.seconds);\n data.minutes = mathAbs(data.minutes);\n data.hours = mathAbs(data.hours);\n data.months = mathAbs(data.months);\n data.years = mathAbs(data.years);\n\n return this;\n }\n\n function addSubtract$1 (duration, input, value, direction) {\n var other = createDuration(input, value);\n\n duration._milliseconds += direction * other._milliseconds;\n duration._days += direction * other._days;\n duration._months += direction * other._months;\n\n return duration._bubble();\n }\n\n // supports only 2.0-style add(1, 's') or add(duration)\n function add$1 (input, value) {\n return addSubtract$1(this, input, value, 1);\n }\n\n // supports only 2.0-style subtract(1, 's') or subtract(duration)\n function subtract$1 (input, value) {\n return addSubtract$1(this, input, value, -1);\n }\n\n function absCeil (number) {\n if (number < 0) {\n return Math.floor(number);\n } else {\n return Math.ceil(number);\n }\n }\n\n function bubble () {\n var milliseconds = this._milliseconds;\n var days = this._days;\n var months = this._months;\n var data = this._data;\n var seconds, minutes, hours, years, monthsFromDays;\n\n // if we have a mix of positive and negative values, bubble down first\n // check: https://github.com/moment/moment/issues/2166\n if (!((milliseconds >= 0 && days >= 0 && months >= 0) ||\n (milliseconds <= 0 && days <= 0 && months <= 0))) {\n milliseconds += absCeil(monthsToDays(months) + days) * 864e5;\n days = 0;\n months = 0;\n }\n\n // The following code bubbles up values, see the tests for\n // examples of what that means.\n data.milliseconds = milliseconds % 1000;\n\n seconds = absFloor(milliseconds / 1000);\n data.seconds = seconds % 60;\n\n minutes = absFloor(seconds / 60);\n data.minutes = minutes % 60;\n\n hours = absFloor(minutes / 60);\n data.hours = hours % 24;\n\n days += absFloor(hours / 24);\n\n // convert days to months\n monthsFromDays = absFloor(daysToMonths(days));\n months += monthsFromDays;\n days -= absCeil(monthsToDays(monthsFromDays));\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n data.days = days;\n data.months = months;\n data.years = years;\n\n return this;\n }\n\n function daysToMonths (days) {\n // 400 years have 146097 days (taking into account leap year rules)\n // 400 years have 12 months === 4800\n return days * 4800 / 146097;\n }\n\n function monthsToDays (months) {\n // the reverse of daysToMonths\n return months * 146097 / 4800;\n }\n\n function as (units) {\n if (!this.isValid()) {\n return NaN;\n }\n var days;\n var months;\n var milliseconds = this._milliseconds;\n\n units = normalizeUnits(units);\n\n if (units === 'month' || units === 'year') {\n days = this._days + milliseconds / 864e5;\n months = this._months + daysToMonths(days);\n return units === 'month' ? months : months / 12;\n } else {\n // handle milliseconds separately because of floating point math errors (issue #1867)\n days = this._days + Math.round(monthsToDays(this._months));\n switch (units) {\n case 'week' : return days / 7 + milliseconds / 6048e5;\n case 'day' : return days + milliseconds / 864e5;\n case 'hour' : return days * 24 + milliseconds / 36e5;\n case 'minute' : return days * 1440 + milliseconds / 6e4;\n case 'second' : return days * 86400 + milliseconds / 1000;\n // Math.floor prevents floating point math errors here\n case 'millisecond': return Math.floor(days * 864e5) + milliseconds;\n default: throw new Error('Unknown unit ' + units);\n }\n }\n }\n\n // TODO: Use this.as('ms')?\n function valueOf$1 () {\n if (!this.isValid()) {\n return NaN;\n }\n return (\n this._milliseconds +\n this._days * 864e5 +\n (this._months % 12) * 2592e6 +\n toInt(this._months / 12) * 31536e6\n );\n }\n\n function makeAs (alias) {\n return function () {\n return this.as(alias);\n };\n }\n\n var asMilliseconds = makeAs('ms');\n var asSeconds = makeAs('s');\n var asMinutes = makeAs('m');\n var asHours = makeAs('h');\n var asDays = makeAs('d');\n var asWeeks = makeAs('w');\n var asMonths = makeAs('M');\n var asYears = makeAs('y');\n\n function clone$1 () {\n return createDuration(this);\n }\n\n function get$2 (units) {\n units = normalizeUnits(units);\n return this.isValid() ? this[units + 's']() : NaN;\n }\n\n function makeGetter(name) {\n return function () {\n return this.isValid() ? this._data[name] : NaN;\n };\n }\n\n var milliseconds = makeGetter('milliseconds');\n var seconds = makeGetter('seconds');\n var minutes = makeGetter('minutes');\n var hours = makeGetter('hours');\n var days = makeGetter('days');\n var months = makeGetter('months');\n var years = makeGetter('years');\n\n function weeks () {\n return absFloor(this.days() / 7);\n }\n\n var round = Math.round;\n var thresholds = {\n ss: 44, // a few seconds to seconds\n s : 45, // seconds to minute\n m : 45, // minutes to hour\n h : 22, // hours to day\n d : 26, // days to month\n M : 11 // months to year\n };\n\n // helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize\n function substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) {\n return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture);\n }\n\n function relativeTime$1 (posNegDuration, withoutSuffix, locale) {\n var duration = createDuration(posNegDuration).abs();\n var seconds = round(duration.as('s'));\n var minutes = round(duration.as('m'));\n var hours = round(duration.as('h'));\n var days = round(duration.as('d'));\n var months = round(duration.as('M'));\n var years = round(duration.as('y'));\n\n var a = seconds <= thresholds.ss && ['s', seconds] ||\n seconds < thresholds.s && ['ss', seconds] ||\n minutes <= 1 && ['m'] ||\n minutes < thresholds.m && ['mm', minutes] ||\n hours <= 1 && ['h'] ||\n hours < thresholds.h && ['hh', hours] ||\n days <= 1 && ['d'] ||\n days < thresholds.d && ['dd', days] ||\n months <= 1 && ['M'] ||\n months < thresholds.M && ['MM', months] ||\n years <= 1 && ['y'] || ['yy', years];\n\n a[2] = withoutSuffix;\n a[3] = +posNegDuration > 0;\n a[4] = locale;\n return substituteTimeAgo.apply(null, a);\n }\n\n // This function allows you to set the rounding function for relative time strings\n function getSetRelativeTimeRounding (roundingFunction) {\n if (roundingFunction === undefined) {\n return round;\n }\n if (typeof(roundingFunction) === 'function') {\n round = roundingFunction;\n return true;\n }\n return false;\n }\n\n // This function allows you to set a threshold for relative time strings\n function getSetRelativeTimeThreshold (threshold, limit) {\n if (thresholds[threshold] === undefined) {\n return false;\n }\n if (limit === undefined) {\n return thresholds[threshold];\n }\n thresholds[threshold] = limit;\n if (threshold === 's') {\n thresholds.ss = limit - 1;\n }\n return true;\n }\n\n function humanize (withSuffix) {\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var locale = this.localeData();\n var output = relativeTime$1(this, !withSuffix, locale);\n\n if (withSuffix) {\n output = locale.pastFuture(+this, output);\n }\n\n return locale.postformat(output);\n }\n\n var abs$1 = Math.abs;\n\n function sign(x) {\n return ((x > 0) - (x < 0)) || +x;\n }\n\n function toISOString$1() {\n // for ISO strings we do not use the normal bubbling rules:\n // * milliseconds bubble up until they become hours\n // * days do not bubble at all\n // * months bubble up until they become years\n // This is because there is no context-free conversion between hours and days\n // (think of clock changes)\n // and also not between days and months (28-31 days per month)\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var seconds = abs$1(this._milliseconds) / 1000;\n var days = abs$1(this._days);\n var months = abs$1(this._months);\n var minutes, hours, years;\n\n // 3600 seconds -> 60 minutes -> 1 hour\n minutes = absFloor(seconds / 60);\n hours = absFloor(minutes / 60);\n seconds %= 60;\n minutes %= 60;\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n\n // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js\n var Y = years;\n var M = months;\n var D = days;\n var h = hours;\n var m = minutes;\n var s = seconds ? seconds.toFixed(3).replace(/\\.?0+$/, '') : '';\n var total = this.asSeconds();\n\n if (!total) {\n // this is the same as C#'s (Noda) and python (isodate)...\n // but not other JS (goog.date)\n return 'P0D';\n }\n\n var totalSign = total < 0 ? '-' : '';\n var ymSign = sign(this._months) !== sign(total) ? '-' : '';\n var daysSign = sign(this._days) !== sign(total) ? '-' : '';\n var hmsSign = sign(this._milliseconds) !== sign(total) ? '-' : '';\n\n return totalSign + 'P' +\n (Y ? ymSign + Y + 'Y' : '') +\n (M ? ymSign + M + 'M' : '') +\n (D ? daysSign + D + 'D' : '') +\n ((h || m || s) ? 'T' : '') +\n (h ? hmsSign + h + 'H' : '') +\n (m ? hmsSign + m + 'M' : '') +\n (s ? hmsSign + s + 'S' : '');\n }\n\n var proto$2 = Duration.prototype;\n\n proto$2.isValid = isValid$1;\n proto$2.abs = abs;\n proto$2.add = add$1;\n proto$2.subtract = subtract$1;\n proto$2.as = as;\n proto$2.asMilliseconds = asMilliseconds;\n proto$2.asSeconds = asSeconds;\n proto$2.asMinutes = asMinutes;\n proto$2.asHours = asHours;\n proto$2.asDays = asDays;\n proto$2.asWeeks = asWeeks;\n proto$2.asMonths = asMonths;\n proto$2.asYears = asYears;\n proto$2.valueOf = valueOf$1;\n proto$2._bubble = bubble;\n proto$2.clone = clone$1;\n proto$2.get = get$2;\n proto$2.milliseconds = milliseconds;\n proto$2.seconds = seconds;\n proto$2.minutes = minutes;\n proto$2.hours = hours;\n proto$2.days = days;\n proto$2.weeks = weeks;\n proto$2.months = months;\n proto$2.years = years;\n proto$2.humanize = humanize;\n proto$2.toISOString = toISOString$1;\n proto$2.toString = toISOString$1;\n proto$2.toJSON = toISOString$1;\n proto$2.locale = locale;\n proto$2.localeData = localeData;\n\n proto$2.toIsoString = deprecate('toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)', toISOString$1);\n proto$2.lang = lang;\n\n // Side effect imports\n\n // FORMATTING\n\n addFormatToken('X', 0, 0, 'unix');\n addFormatToken('x', 0, 0, 'valueOf');\n\n // PARSING\n\n addRegexToken('x', matchSigned);\n addRegexToken('X', matchTimestamp);\n addParseToken('X', function (input, array, config) {\n config._d = new Date(parseFloat(input, 10) * 1000);\n });\n addParseToken('x', function (input, array, config) {\n config._d = new Date(toInt(input));\n });\n\n // Side effect imports\n\n\n hooks.version = '2.22.2';\n\n setHookCallback(createLocal);\n\n hooks.fn = proto;\n hooks.min = min;\n hooks.max = max;\n hooks.now = now;\n hooks.utc = createUTC;\n hooks.unix = createUnix;\n hooks.months = listMonths;\n hooks.isDate = isDate;\n hooks.locale = getSetGlobalLocale;\n hooks.invalid = createInvalid;\n hooks.duration = createDuration;\n hooks.isMoment = isMoment;\n hooks.weekdays = listWeekdays;\n hooks.parseZone = createInZone;\n hooks.localeData = getLocale;\n hooks.isDuration = isDuration;\n hooks.monthsShort = listMonthsShort;\n hooks.weekdaysMin = listWeekdaysMin;\n hooks.defineLocale = defineLocale;\n hooks.updateLocale = updateLocale;\n hooks.locales = listLocales;\n hooks.weekdaysShort = listWeekdaysShort;\n hooks.normalizeUnits = normalizeUnits;\n hooks.relativeTimeRounding = getSetRelativeTimeRounding;\n hooks.relativeTimeThreshold = getSetRelativeTimeThreshold;\n hooks.calendarFormat = getCalendarFormat;\n hooks.prototype = proto;\n\n // currently HTML5 input type only supports 24-hour formats\n hooks.HTML5_FMT = {\n DATETIME_LOCAL: 'YYYY-MM-DDTHH:mm', // \n DATETIME_LOCAL_SECONDS: 'YYYY-MM-DDTHH:mm:ss', // \n DATETIME_LOCAL_MS: 'YYYY-MM-DDTHH:mm:ss.SSS', // \n DATE: 'YYYY-MM-DD', // \n TIME: 'HH:mm', // \n TIME_SECONDS: 'HH:mm:ss', // \n TIME_MS: 'HH:mm:ss.SSS', // \n WEEK: 'YYYY-[W]WW', // \n MONTH: 'YYYY-MM' // \n };\n\n return hooks;\n\n})));\n","export function each(o, cb, s) {\n var n;\n if (!o) {\n return 0;\n }\n s = !s ? o : s;\n if (o instanceof Array) {\n // Indexed arrays, needed for Safari\n for (n = 0; n < o.length; n++) {\n if (cb.call(s, o[n], n, o) === false) {\n return 0;\n }\n }\n } else {\n // Hashtables\n for (n in o) {\n if (o.hasOwnProperty(n)) {\n if (cb.call(s, o[n], n, o) === false){\n return 0;\n }\n }\n }\n }\n return 1;\n}\n","module.exports = __WEBPACK_EXTERNAL_MODULE__2__;","export function prettyNumber(input) {\n // If it has 3 or fewer sig figs already, just return the number.\n var input = Number(input),\n sciNo = input.toPrecision(3),\n prefix = '',\n suffixes = ['', 'k', 'M', 'B', 'T'];\n\n if (Number(sciNo) == input && String(input).length <= 4) {\n return String(input);\n }\n\n if (Math.abs(input) >= 1000000000000000) {\n return sciNo;\n }\n\n if (input >= 1 || input <= -1) {\n if (input < 0){\n //Pull off the negative side and stash that.\n input = -input;\n prefix = '-';\n }\n return prefix + recurse(input, 0);\n }\n else {\n return input.toPrecision(3);\n }\n\n function recurse(input, iteration) {\n var input = String(input);\n var split = input.split('.');\n // If there's a dot\n if (split.length > 1) {\n // Keep the left hand side only\n input = split[0];\n var rhs = split[1];\n // If the left-hand side is too short, pad until it has 3 digits\n if (input.length == 2 && rhs.length > 0) {\n // Pad with right-hand side if possible\n if (rhs.length > 0) {\n input = input + '.' + rhs.charAt(0);\n }\n // Pad with zeroes if you must\n else {\n input += '0';\n }\n }\n else if (input.length == 1 && rhs.length > 0) {\n input = input + '.' + rhs.charAt(0);\n // Pad with right-hand side if possible\n if (rhs.length > 1) {\n input += rhs.charAt(1);\n }\n // Pad with zeroes if you must\n else {\n input += '0';\n }\n }\n }\n var numNumerals = input.length;\n // if it has a period, then numNumerals is 1 smaller than the string length:\n if (input.split('.').length > 1) {\n numNumerals--;\n }\n if (numNumerals <= 3) {\n return String(input) + suffixes[iteration];\n }\n else {\n return recurse(Number(input) / 1000, iteration + 1);\n }\n }\n}\n","const matchHtmlRegExp = /[\"'&<>]/;\n\n/**\n * Escape special characters in the given string of html.\n *\n * @param {string} string The string to escape for inserting into HTML\n * @return {string}\n * @public\n */\n\nexport function escapeHtml(string) {\n var str = '' + string;\n var match = matchHtmlRegExp.exec(str);\n\n if (!match) {\n return str;\n }\n\n var escape;\n var html = '';\n var index = 0;\n var lastIndex = 0;\n\n for (index = match.index; index < str.length; index++) {\n switch (str.charCodeAt(index)) {\n case 34: // \"\n escape = '"';\n break;\n case 38: // &\n escape = '&';\n break;\n case 39: // '\n escape = ''';\n break;\n case 60: // <\n escape = '<';\n break;\n case 62: // >\n escape = '>';\n break;\n default:\n continue;\n }\n\n if (lastIndex !== index) {\n html += str.substring(lastIndex, index);\n }\n\n lastIndex = index + 1;\n html += escape;\n }\n\n return lastIndex !== index\n ? html + str.substring(lastIndex, index)\n : html;\n}\n","import * as d3 from 'd3';\n\nexport function textWrap(text, width) {\n text.each(function () {\n let text = d3.select(this),\n words = text.text().split(/\\s+/).reverse(),\n word,\n line = [],\n lineNumber = 0,\n lineHeight = 1.1, // ems\n x = text.attr(\"x\"),\n y = text.attr(\"y\"),\n dy = 0, //parseFloat(text.attr(\"dy\")),\n tspan = text.text(null)\n .append(\"tspan\")\n .attr(\"x\", x)\n .attr(\"y\", y)\n .attr(\"dy\", dy + \"em\");\n while (word = words.pop()) {\n line.push(word);\n tspan.text(line.join(\" \"));\n if (tspan.node().getComputedTextLength() > width) {\n line.pop();\n tspan.text(line.join(\" \"));\n line = [word];\n tspan = text.append(\"tspan\")\n .attr(\"x\", x)\n .attr(\"y\", y)\n .attr(\"dy\", ++lineNumber * lineHeight + dy + \"em\")\n .text(word);\n }\n }\n });\n}\n","export function extend(target) {\n for (var i = 1; i < arguments.length; i++) {\n for (var prop in arguments[i]){\n target[prop] = arguments[i][prop];\n }\n }\n return target;\n}\n","export function testObject(input) {\n if (input !== null && typeof input.getTime === 'function' && !isNaN(input.getTime())) {\n return true;\n }\n return false;\n}\n\nexport function testString(input) {\n const ISO_8601 = /^\\d{4}-\\d\\d-\\d\\dT\\d\\d:\\d\\d:\\d\\d(\\.\\d+)?(([+-]\\d\\d:\\d\\d)|Z)?$/i;\n return ISO_8601.test(input);\n}\n\nexport default function (input) {\n if (typeof input === 'object') {\n return testObject(input);\n } else if (typeof input === 'string') {\n return testString(input);\n }\n return false;\n}\n","/**\n * Strip html tags from string\n *\n * @param {string} string The string to strip\n * @return {string}\n * @public\n */\n\nexport function stripHtmlTags(inputString) {\n return inputString.replace(/(<([^>]+)>)/ig, '');\n}\n","export default function (len) {\n const list = [];\n for (let i = 0; i < len; i++) {\n list.push(null);\n }\n return list;\n}\n","import createNullList from '../utils/create-null-list';\nimport { each } from '../../utils/each';\n\nexport function appendColumn(str, input) {\n const self = this;\n const args = Array.prototype.slice.call(arguments, 2);\n const label = (str !== undefined) ? str : null;\n\n if (typeof input === 'function') {\n self.matrix[0].push(label);\n each(self.matrix, function(row, i) {\n let cell;\n if (i > 0) {\n cell = input.call(self, row, i);\n if (typeof cell === 'undefined') {\n cell = null;\n }\n self.matrix[i].push(cell);\n }\n });\n }\n\n else if (!input || input instanceof Array) {\n input = input || [];\n\n if (input.length <= self.matrix.length - 1) {\n input = input.concat(createNullList(self.matrix.length - 1 - input.length));\n }\n else {\n // If this new column is longer than existing columns,\n // we need to update the rest to match ...\n each(input, function(value, i){\n if (self.matrix.length -1 < input.length) {\n appendRow.call(self, String(self.matrix.length));\n }\n });\n }\n\n self.matrix[0].push(label);\n each(input, function(value, i){\n self.matrix[i+1][self.matrix[0].length-1] = value;\n });\n\n }\n\n return self;\n}\n\nexport function appendRow(str, input) {\n const self = this;\n const args = Array.prototype.slice.call(arguments, 2);\n const label = (str !== undefined) ? str : null;\n const newRow = [];\n\n newRow.push(label);\n\n if (typeof input === 'function') {\n each(self.matrix[0], function(label, i){\n let col;\n let cell;\n if (i > 0) {\n col = self.selectColumn(i);\n cell = input.call(self, col, i);\n if (typeof cell === 'undefined') {\n cell = null;\n }\n newRow.push(cell);\n }\n });\n self.matrix.push(newRow);\n }\n\n else if (!input || input instanceof Array) {\n input = input || [];\n\n if (input.length <= self.matrix[0].length - 1) {\n input = input.concat( createNullList( self.matrix[0].length - 1 - input.length ) );\n }\n else {\n each(input, function(value, i){\n if (self.matrix[0].length -1 < input.length) {\n appendColumn.call(self, String( self.matrix[0].length));\n }\n });\n }\n\n self.matrix.push(newRow.concat(input));\n }\n\n return self;\n}\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var zhTw = moment.defineLocale('zh-tw', {\n months : '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'),\n monthsShort : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n weekdays : '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n weekdaysShort : '週日_週一_週二_週三_週四_週五_週六'.split('_'),\n weekdaysMin : '日_一_二_三_四_五_六'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY/MM/DD',\n LL : 'YYYY年M月D日',\n LLL : 'YYYY年M月D日 HH:mm',\n LLLL : 'YYYY年M月D日dddd HH:mm',\n l : 'YYYY/M/D',\n ll : 'YYYY年M月D日',\n lll : 'YYYY年M月D日 HH:mm',\n llll : 'YYYY年M月D日dddd HH:mm'\n },\n meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n return hour;\n } else if (meridiem === '中午') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === '下午' || meridiem === '晚上') {\n return hour + 12;\n }\n },\n meridiem : function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n if (hm < 600) {\n return '凌晨';\n } else if (hm < 900) {\n return '早上';\n } else if (hm < 1130) {\n return '上午';\n } else if (hm < 1230) {\n return '中午';\n } else if (hm < 1800) {\n return '下午';\n } else {\n return '晚上';\n }\n },\n calendar : {\n sameDay : '[今天] LT',\n nextDay : '[明天] LT',\n nextWeek : '[下]dddd LT',\n lastDay : '[昨天] LT',\n lastWeek : '[上]dddd LT',\n sameElse : 'L'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(日|月|週)/,\n ordinal : function (number, period) {\n switch (period) {\n case 'd' :\n case 'D' :\n case 'DDD' :\n return number + '日';\n case 'M' :\n return number + '月';\n case 'w' :\n case 'W' :\n return number + '週';\n default :\n return number;\n }\n },\n relativeTime : {\n future : '%s內',\n past : '%s前',\n s : '幾秒',\n ss : '%d 秒',\n m : '1 分鐘',\n mm : '%d 分鐘',\n h : '1 小時',\n hh : '%d 小時',\n d : '1 天',\n dd : '%d 天',\n M : '1 個月',\n MM : '%d 個月',\n y : '1 年',\n yy : '%d 年'\n }\n });\n\n return zhTw;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var zhHk = moment.defineLocale('zh-hk', {\n months : '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'),\n monthsShort : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n weekdays : '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n weekdaysShort : '週日_週一_週二_週三_週四_週五_週六'.split('_'),\n weekdaysMin : '日_一_二_三_四_五_六'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY/MM/DD',\n LL : 'YYYY年M月D日',\n LLL : 'YYYY年M月D日 HH:mm',\n LLLL : 'YYYY年M月D日dddd HH:mm',\n l : 'YYYY/M/D',\n ll : 'YYYY年M月D日',\n lll : 'YYYY年M月D日 HH:mm',\n llll : 'YYYY年M月D日dddd HH:mm'\n },\n meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n return hour;\n } else if (meridiem === '中午') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === '下午' || meridiem === '晚上') {\n return hour + 12;\n }\n },\n meridiem : function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n if (hm < 600) {\n return '凌晨';\n } else if (hm < 900) {\n return '早上';\n } else if (hm < 1130) {\n return '上午';\n } else if (hm < 1230) {\n return '中午';\n } else if (hm < 1800) {\n return '下午';\n } else {\n return '晚上';\n }\n },\n calendar : {\n sameDay : '[今天]LT',\n nextDay : '[明天]LT',\n nextWeek : '[下]ddddLT',\n lastDay : '[昨天]LT',\n lastWeek : '[上]ddddLT',\n sameElse : 'L'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(日|月|週)/,\n ordinal : function (number, period) {\n switch (period) {\n case 'd' :\n case 'D' :\n case 'DDD' :\n return number + '日';\n case 'M' :\n return number + '月';\n case 'w' :\n case 'W' :\n return number + '週';\n default :\n return number;\n }\n },\n relativeTime : {\n future : '%s內',\n past : '%s前',\n s : '幾秒',\n ss : '%d 秒',\n m : '1 分鐘',\n mm : '%d 分鐘',\n h : '1 小時',\n hh : '%d 小時',\n d : '1 天',\n dd : '%d 天',\n M : '1 個月',\n MM : '%d 個月',\n y : '1 年',\n yy : '%d 年'\n }\n });\n\n return zhHk;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var zhCn = moment.defineLocale('zh-cn', {\n months : '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'),\n monthsShort : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n weekdays : '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n weekdaysShort : '周日_周一_周二_周三_周四_周五_周六'.split('_'),\n weekdaysMin : '日_一_二_三_四_五_六'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY/MM/DD',\n LL : 'YYYY年M月D日',\n LLL : 'YYYY年M月D日Ah点mm分',\n LLLL : 'YYYY年M月D日ddddAh点mm分',\n l : 'YYYY/M/D',\n ll : 'YYYY年M月D日',\n lll : 'YYYY年M月D日 HH:mm',\n llll : 'YYYY年M月D日dddd HH:mm'\n },\n meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === '凌晨' || meridiem === '早上' ||\n meridiem === '上午') {\n return hour;\n } else if (meridiem === '下午' || meridiem === '晚上') {\n return hour + 12;\n } else {\n // '中午'\n return hour >= 11 ? hour : hour + 12;\n }\n },\n meridiem : function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n if (hm < 600) {\n return '凌晨';\n } else if (hm < 900) {\n return '早上';\n } else if (hm < 1130) {\n return '上午';\n } else if (hm < 1230) {\n return '中午';\n } else if (hm < 1800) {\n return '下午';\n } else {\n return '晚上';\n }\n },\n calendar : {\n sameDay : '[今天]LT',\n nextDay : '[明天]LT',\n nextWeek : '[下]ddddLT',\n lastDay : '[昨天]LT',\n lastWeek : '[上]ddddLT',\n sameElse : 'L'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(日|月|周)/,\n ordinal : function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '日';\n case 'M':\n return number + '月';\n case 'w':\n case 'W':\n return number + '周';\n default:\n return number;\n }\n },\n relativeTime : {\n future : '%s内',\n past : '%s前',\n s : '几秒',\n ss : '%d 秒',\n m : '1 分钟',\n mm : '%d 分钟',\n h : '1 小时',\n hh : '%d 小时',\n d : '1 天',\n dd : '%d 天',\n M : '1 个月',\n MM : '%d 个月',\n y : '1 年',\n yy : '%d 年'\n },\n week : {\n // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return zhCn;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var yo = moment.defineLocale('yo', {\n months : 'Sẹ́rẹ́_Èrèlè_Ẹrẹ̀nà_Ìgbé_Èbibi_Òkùdu_Agẹmo_Ògún_Owewe_Ọ̀wàrà_Bélú_Ọ̀pẹ̀̀'.split('_'),\n monthsShort : 'Sẹ́r_Èrl_Ẹrn_Ìgb_Èbi_Òkù_Agẹ_Ògú_Owe_Ọ̀wà_Bél_Ọ̀pẹ̀̀'.split('_'),\n weekdays : 'Àìkú_Ajé_Ìsẹ́gun_Ọjọ́rú_Ọjọ́bọ_Ẹtì_Àbámẹ́ta'.split('_'),\n weekdaysShort : 'Àìk_Ajé_Ìsẹ́_Ọjr_Ọjb_Ẹtì_Àbá'.split('_'),\n weekdaysMin : 'Àì_Aj_Ìs_Ọr_Ọb_Ẹt_Àb'.split('_'),\n longDateFormat : {\n LT : 'h:mm A',\n LTS : 'h:mm:ss A',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY h:mm A',\n LLLL : 'dddd, D MMMM YYYY h:mm A'\n },\n calendar : {\n sameDay : '[Ònì ni] LT',\n nextDay : '[Ọ̀la ni] LT',\n nextWeek : 'dddd [Ọsẹ̀ tón\\'bọ] [ni] LT',\n lastDay : '[Àna ni] LT',\n lastWeek : 'dddd [Ọsẹ̀ tólọ́] [ni] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'ní %s',\n past : '%s kọjá',\n s : 'ìsẹjú aayá die',\n ss :'aayá %d',\n m : 'ìsẹjú kan',\n mm : 'ìsẹjú %d',\n h : 'wákati kan',\n hh : 'wákati %d',\n d : 'ọjọ́ kan',\n dd : 'ọjọ́ %d',\n M : 'osù kan',\n MM : 'osù %d',\n y : 'ọdún kan',\n yy : 'ọdún %d'\n },\n dayOfMonthOrdinalParse : /ọjọ́\\s\\d{1,2}/,\n ordinal : 'ọjọ́ %d',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return yo;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var xPseudo = moment.defineLocale('x-pseudo', {\n months : 'J~áñúá~rý_F~ébrú~árý_~Márc~h_Áp~ríl_~Máý_~Júñé~_Júl~ý_Áú~gúst~_Sép~témb~ér_Ó~ctób~ér_Ñ~óvém~bér_~Décé~mbér'.split('_'),\n monthsShort : 'J~áñ_~Féb_~Már_~Ápr_~Máý_~Júñ_~Júl_~Áúg_~Sép_~Óct_~Ñóv_~Déc'.split('_'),\n monthsParseExact : true,\n weekdays : 'S~úñdá~ý_Mó~ñdáý~_Túé~sdáý~_Wéd~ñésd~áý_T~húrs~dáý_~Fríd~áý_S~átúr~dáý'.split('_'),\n weekdaysShort : 'S~úñ_~Móñ_~Túé_~Wéd_~Thú_~Frí_~Sát'.split('_'),\n weekdaysMin : 'S~ú_Mó~_Tú_~Wé_T~h_Fr~_Sá'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[T~ódá~ý át] LT',\n nextDay : '[T~ómó~rró~w át] LT',\n nextWeek : 'dddd [át] LT',\n lastDay : '[Ý~ést~érdá~ý át] LT',\n lastWeek : '[L~ást] dddd [át] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'í~ñ %s',\n past : '%s á~gó',\n s : 'á ~féw ~sécó~ñds',\n ss : '%d s~écóñ~ds',\n m : 'á ~míñ~úté',\n mm : '%d m~íñú~tés',\n h : 'á~ñ hó~úr',\n hh : '%d h~óúrs',\n d : 'á ~dáý',\n dd : '%d d~áýs',\n M : 'á ~móñ~th',\n MM : '%d m~óñt~hs',\n y : 'á ~ýéár',\n yy : '%d ý~éárs'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(th|st|nd|rd)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return xPseudo;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var vi = moment.defineLocale('vi', {\n months : 'tháng 1_tháng 2_tháng 3_tháng 4_tháng 5_tháng 6_tháng 7_tháng 8_tháng 9_tháng 10_tháng 11_tháng 12'.split('_'),\n monthsShort : 'Th01_Th02_Th03_Th04_Th05_Th06_Th07_Th08_Th09_Th10_Th11_Th12'.split('_'),\n monthsParseExact : true,\n weekdays : 'chủ nhật_thứ hai_thứ ba_thứ tư_thứ năm_thứ sáu_thứ bảy'.split('_'),\n weekdaysShort : 'CN_T2_T3_T4_T5_T6_T7'.split('_'),\n weekdaysMin : 'CN_T2_T3_T4_T5_T6_T7'.split('_'),\n weekdaysParseExact : true,\n meridiemParse: /sa|ch/i,\n isPM : function (input) {\n return /^ch$/i.test(input);\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours < 12) {\n return isLower ? 'sa' : 'SA';\n } else {\n return isLower ? 'ch' : 'CH';\n }\n },\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM [năm] YYYY',\n LLL : 'D MMMM [năm] YYYY HH:mm',\n LLLL : 'dddd, D MMMM [năm] YYYY HH:mm',\n l : 'DD/M/YYYY',\n ll : 'D MMM YYYY',\n lll : 'D MMM YYYY HH:mm',\n llll : 'ddd, D MMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[Hôm nay lúc] LT',\n nextDay: '[Ngày mai lúc] LT',\n nextWeek: 'dddd [tuần tới lúc] LT',\n lastDay: '[Hôm qua lúc] LT',\n lastWeek: 'dddd [tuần rồi lúc] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : '%s tới',\n past : '%s trước',\n s : 'vài giây',\n ss : '%d giây' ,\n m : 'một phút',\n mm : '%d phút',\n h : 'một giờ',\n hh : '%d giờ',\n d : 'một ngày',\n dd : '%d ngày',\n M : 'một tháng',\n MM : '%d tháng',\n y : 'một năm',\n yy : '%d năm'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}/,\n ordinal : function (number) {\n return number;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return vi;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var uzLatn = moment.defineLocale('uz-latn', {\n months : 'Yanvar_Fevral_Mart_Aprel_May_Iyun_Iyul_Avgust_Sentabr_Oktabr_Noyabr_Dekabr'.split('_'),\n monthsShort : 'Yan_Fev_Mar_Apr_May_Iyun_Iyul_Avg_Sen_Okt_Noy_Dek'.split('_'),\n weekdays : 'Yakshanba_Dushanba_Seshanba_Chorshanba_Payshanba_Juma_Shanba'.split('_'),\n weekdaysShort : 'Yak_Dush_Sesh_Chor_Pay_Jum_Shan'.split('_'),\n weekdaysMin : 'Ya_Du_Se_Cho_Pa_Ju_Sha'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'D MMMM YYYY, dddd HH:mm'\n },\n calendar : {\n sameDay : '[Bugun soat] LT [da]',\n nextDay : '[Ertaga] LT [da]',\n nextWeek : 'dddd [kuni soat] LT [da]',\n lastDay : '[Kecha soat] LT [da]',\n lastWeek : '[O\\'tgan] dddd [kuni soat] LT [da]',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'Yaqin %s ichida',\n past : 'Bir necha %s oldin',\n s : 'soniya',\n ss : '%d soniya',\n m : 'bir daqiqa',\n mm : '%d daqiqa',\n h : 'bir soat',\n hh : '%d soat',\n d : 'bir kun',\n dd : '%d kun',\n M : 'bir oy',\n MM : '%d oy',\n y : 'bir yil',\n yy : '%d yil'\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return uzLatn;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var uz = moment.defineLocale('uz', {\n months : 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split('_'),\n monthsShort : 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'),\n weekdays : 'Якшанба_Душанба_Сешанба_Чоршанба_Пайшанба_Жума_Шанба'.split('_'),\n weekdaysShort : 'Якш_Душ_Сеш_Чор_Пай_Жум_Шан'.split('_'),\n weekdaysMin : 'Як_Ду_Се_Чо_Па_Жу_Ша'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'D MMMM YYYY, dddd HH:mm'\n },\n calendar : {\n sameDay : '[Бугун соат] LT [да]',\n nextDay : '[Эртага] LT [да]',\n nextWeek : 'dddd [куни соат] LT [да]',\n lastDay : '[Кеча соат] LT [да]',\n lastWeek : '[Утган] dddd [куни соат] LT [да]',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'Якин %s ичида',\n past : 'Бир неча %s олдин',\n s : 'фурсат',\n ss : '%d фурсат',\n m : 'бир дакика',\n mm : '%d дакика',\n h : 'бир соат',\n hh : '%d соат',\n d : 'бир кун',\n dd : '%d кун',\n M : 'бир ой',\n MM : '%d ой',\n y : 'бир йил',\n yy : '%d йил'\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return uz;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var months = [\n 'جنوری',\n 'فروری',\n 'مارچ',\n 'اپریل',\n 'مئی',\n 'جون',\n 'جولائی',\n 'اگست',\n 'ستمبر',\n 'اکتوبر',\n 'نومبر',\n 'دسمبر'\n ];\n var days = [\n 'اتوار',\n 'پیر',\n 'منگل',\n 'بدھ',\n 'جمعرات',\n 'جمعہ',\n 'ہفتہ'\n ];\n\n var ur = moment.defineLocale('ur', {\n months : months,\n monthsShort : months,\n weekdays : days,\n weekdaysShort : days,\n weekdaysMin : days,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd، D MMMM YYYY HH:mm'\n },\n meridiemParse: /صبح|شام/,\n isPM : function (input) {\n return 'شام' === input;\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'صبح';\n }\n return 'شام';\n },\n calendar : {\n sameDay : '[آج بوقت] LT',\n nextDay : '[کل بوقت] LT',\n nextWeek : 'dddd [بوقت] LT',\n lastDay : '[گذشتہ روز بوقت] LT',\n lastWeek : '[گذشتہ] dddd [بوقت] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s بعد',\n past : '%s قبل',\n s : 'چند سیکنڈ',\n ss : '%d سیکنڈ',\n m : 'ایک منٹ',\n mm : '%d منٹ',\n h : 'ایک گھنٹہ',\n hh : '%d گھنٹے',\n d : 'ایک دن',\n dd : '%d دن',\n M : 'ایک ماہ',\n MM : '%d ماہ',\n y : 'ایک سال',\n yy : '%d سال'\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/,/g, '،');\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return ur;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function plural(word, num) {\n var forms = word.split('_');\n return num % 10 === 1 && num % 100 !== 11 ? forms[0] : (num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) ? forms[1] : forms[2]);\n }\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n var format = {\n 'ss': withoutSuffix ? 'секунда_секунди_секунд' : 'секунду_секунди_секунд',\n 'mm': withoutSuffix ? 'хвилина_хвилини_хвилин' : 'хвилину_хвилини_хвилин',\n 'hh': withoutSuffix ? 'година_години_годин' : 'годину_години_годин',\n 'dd': 'день_дні_днів',\n 'MM': 'місяць_місяці_місяців',\n 'yy': 'рік_роки_років'\n };\n if (key === 'm') {\n return withoutSuffix ? 'хвилина' : 'хвилину';\n }\n else if (key === 'h') {\n return withoutSuffix ? 'година' : 'годину';\n }\n else {\n return number + ' ' + plural(format[key], +number);\n }\n }\n function weekdaysCaseReplace(m, format) {\n var weekdays = {\n 'nominative': 'неділя_понеділок_вівторок_середа_четвер_п’ятниця_субота'.split('_'),\n 'accusative': 'неділю_понеділок_вівторок_середу_четвер_п’ятницю_суботу'.split('_'),\n 'genitive': 'неділі_понеділка_вівторка_середи_четверга_п’ятниці_суботи'.split('_')\n };\n\n if (!m) {\n return weekdays['nominative'];\n }\n\n var nounCase = (/(\\[[ВвУу]\\]) ?dddd/).test(format) ?\n 'accusative' :\n ((/\\[?(?:минулої|наступної)? ?\\] ?dddd/).test(format) ?\n 'genitive' :\n 'nominative');\n return weekdays[nounCase][m.day()];\n }\n function processHoursFunction(str) {\n return function () {\n return str + 'о' + (this.hours() === 11 ? 'б' : '') + '] LT';\n };\n }\n\n var uk = moment.defineLocale('uk', {\n months : {\n 'format': 'січня_лютого_березня_квітня_травня_червня_липня_серпня_вересня_жовтня_листопада_грудня'.split('_'),\n 'standalone': 'січень_лютий_березень_квітень_травень_червень_липень_серпень_вересень_жовтень_листопад_грудень'.split('_')\n },\n monthsShort : 'січ_лют_бер_квіт_трав_черв_лип_серп_вер_жовт_лист_груд'.split('_'),\n weekdays : weekdaysCaseReplace,\n weekdaysShort : 'нд_пн_вт_ср_чт_пт_сб'.split('_'),\n weekdaysMin : 'нд_пн_вт_ср_чт_пт_сб'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY р.',\n LLL : 'D MMMM YYYY р., HH:mm',\n LLLL : 'dddd, D MMMM YYYY р., HH:mm'\n },\n calendar : {\n sameDay: processHoursFunction('[Сьогодні '),\n nextDay: processHoursFunction('[Завтра '),\n lastDay: processHoursFunction('[Вчора '),\n nextWeek: processHoursFunction('[У] dddd ['),\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n case 3:\n case 5:\n case 6:\n return processHoursFunction('[Минулої] dddd [').call(this);\n case 1:\n case 2:\n case 4:\n return processHoursFunction('[Минулого] dddd [').call(this);\n }\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : 'за %s',\n past : '%s тому',\n s : 'декілька секунд',\n ss : relativeTimeWithPlural,\n m : relativeTimeWithPlural,\n mm : relativeTimeWithPlural,\n h : 'годину',\n hh : relativeTimeWithPlural,\n d : 'день',\n dd : relativeTimeWithPlural,\n M : 'місяць',\n MM : relativeTimeWithPlural,\n y : 'рік',\n yy : relativeTimeWithPlural\n },\n // M. E.: those two are virtually unused but a user might want to implement them for his/her website for some reason\n meridiemParse: /ночі|ранку|дня|вечора/,\n isPM: function (input) {\n return /^(дня|вечора)$/.test(input);\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ночі';\n } else if (hour < 12) {\n return 'ранку';\n } else if (hour < 17) {\n return 'дня';\n } else {\n return 'вечора';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(й|го)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'M':\n case 'd':\n case 'DDD':\n case 'w':\n case 'W':\n return number + '-й';\n case 'D':\n return number + '-го';\n default:\n return number;\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return uk;\n\n})));\n","//! moment.js language configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var ugCn = moment.defineLocale('ug-cn', {\n months: 'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.split(\n '_'\n ),\n monthsShort: 'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.split(\n '_'\n ),\n weekdays: 'يەكشەنبە_دۈشەنبە_سەيشەنبە_چارشەنبە_پەيشەنبە_جۈمە_شەنبە'.split(\n '_'\n ),\n weekdaysShort: 'يە_دۈ_سە_چا_پە_جۈ_شە'.split('_'),\n weekdaysMin: 'يە_دۈ_سە_چا_پە_جۈ_شە'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: 'YYYY-يىلىM-ئاينىڭD-كۈنى',\n LLL: 'YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm',\n LLLL: 'dddd، YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm'\n },\n meridiemParse: /يېرىم كېچە|سەھەر|چۈشتىن بۇرۇن|چۈش|چۈشتىن كېيىن|كەچ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (\n meridiem === 'يېرىم كېچە' ||\n meridiem === 'سەھەر' ||\n meridiem === 'چۈشتىن بۇرۇن'\n ) {\n return hour;\n } else if (meridiem === 'چۈشتىن كېيىن' || meridiem === 'كەچ') {\n return hour + 12;\n } else {\n return hour >= 11 ? hour : hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n if (hm < 600) {\n return 'يېرىم كېچە';\n } else if (hm < 900) {\n return 'سەھەر';\n } else if (hm < 1130) {\n return 'چۈشتىن بۇرۇن';\n } else if (hm < 1230) {\n return 'چۈش';\n } else if (hm < 1800) {\n return 'چۈشتىن كېيىن';\n } else {\n return 'كەچ';\n }\n },\n calendar: {\n sameDay: '[بۈگۈن سائەت] LT',\n nextDay: '[ئەتە سائەت] LT',\n nextWeek: '[كېلەركى] dddd [سائەت] LT',\n lastDay: '[تۆنۈگۈن] LT',\n lastWeek: '[ئالدىنقى] dddd [سائەت] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s كېيىن',\n past: '%s بۇرۇن',\n s: 'نەچچە سېكونت',\n ss: '%d سېكونت',\n m: 'بىر مىنۇت',\n mm: '%d مىنۇت',\n h: 'بىر سائەت',\n hh: '%d سائەت',\n d: 'بىر كۈن',\n dd: '%d كۈن',\n M: 'بىر ئاي',\n MM: '%d ئاي',\n y: 'بىر يىل',\n yy: '%d يىل'\n },\n\n dayOfMonthOrdinalParse: /\\d{1,2}(-كۈنى|-ئاي|-ھەپتە)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '-كۈنى';\n case 'w':\n case 'W':\n return number + '-ھەپتە';\n default:\n return number;\n }\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/,/g, '،');\n },\n week: {\n // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效\n dow: 1, // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return ugCn;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var tzmLatn = moment.defineLocale('tzm-latn', {\n months : 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split('_'),\n monthsShort : 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split('_'),\n weekdays : 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),\n weekdaysShort : 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),\n weekdaysMin : 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[asdkh g] LT',\n nextDay: '[aska g] LT',\n nextWeek: 'dddd [g] LT',\n lastDay: '[assant g] LT',\n lastWeek: 'dddd [g] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'dadkh s yan %s',\n past : 'yan %s',\n s : 'imik',\n ss : '%d imik',\n m : 'minuḍ',\n mm : '%d minuḍ',\n h : 'saɛa',\n hh : '%d tassaɛin',\n d : 'ass',\n dd : '%d ossan',\n M : 'ayowr',\n MM : '%d iyyirn',\n y : 'asgas',\n yy : '%d isgasn'\n },\n week : {\n dow : 6, // Saturday is the first day of the week.\n doy : 12 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return tzmLatn;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var tzm = moment.defineLocale('tzm', {\n months : 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split('_'),\n monthsShort : 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split('_'),\n weekdays : 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),\n weekdaysShort : 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),\n weekdaysMin : 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS: 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[ⴰⵙⴷⵅ ⴴ] LT',\n nextDay: '[ⴰⵙⴽⴰ ⴴ] LT',\n nextWeek: 'dddd [ⴴ] LT',\n lastDay: '[ⴰⵚⴰⵏⵜ ⴴ] LT',\n lastWeek: 'dddd [ⴴ] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'ⴷⴰⴷⵅ ⵙ ⵢⴰⵏ %s',\n past : 'ⵢⴰⵏ %s',\n s : 'ⵉⵎⵉⴽ',\n ss : '%d ⵉⵎⵉⴽ',\n m : 'ⵎⵉⵏⵓⴺ',\n mm : '%d ⵎⵉⵏⵓⴺ',\n h : 'ⵙⴰⵄⴰ',\n hh : '%d ⵜⴰⵙⵙⴰⵄⵉⵏ',\n d : 'ⴰⵙⵙ',\n dd : '%d oⵙⵙⴰⵏ',\n M : 'ⴰⵢoⵓⵔ',\n MM : '%d ⵉⵢⵢⵉⵔⵏ',\n y : 'ⴰⵙⴳⴰⵙ',\n yy : '%d ⵉⵙⴳⴰⵙⵏ'\n },\n week : {\n dow : 6, // Saturday is the first day of the week.\n doy : 12 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return tzm;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n // After the year there should be a slash and the amount of years since December 26, 1979 in Roman numerals.\n // This is currently too difficult (maybe even impossible) to add.\n var tzl = moment.defineLocale('tzl', {\n months : 'Januar_Fevraglh_Març_Avrïu_Mai_Gün_Julia_Guscht_Setemvar_Listopäts_Noemvar_Zecemvar'.split('_'),\n monthsShort : 'Jan_Fev_Mar_Avr_Mai_Gün_Jul_Gus_Set_Lis_Noe_Zec'.split('_'),\n weekdays : 'Súladi_Lúneçi_Maitzi_Márcuri_Xhúadi_Viénerçi_Sáturi'.split('_'),\n weekdaysShort : 'Súl_Lún_Mai_Már_Xhú_Vié_Sát'.split('_'),\n weekdaysMin : 'Sú_Lú_Ma_Má_Xh_Vi_Sá'.split('_'),\n longDateFormat : {\n LT : 'HH.mm',\n LTS : 'HH.mm.ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM [dallas] YYYY',\n LLL : 'D. MMMM [dallas] YYYY HH.mm',\n LLLL : 'dddd, [li] D. MMMM [dallas] YYYY HH.mm'\n },\n meridiemParse: /d\\'o|d\\'a/i,\n isPM : function (input) {\n return 'd\\'o' === input.toLowerCase();\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'd\\'o' : 'D\\'O';\n } else {\n return isLower ? 'd\\'a' : 'D\\'A';\n }\n },\n calendar : {\n sameDay : '[oxhi à] LT',\n nextDay : '[demà à] LT',\n nextWeek : 'dddd [à] LT',\n lastDay : '[ieiri à] LT',\n lastWeek : '[sür el] dddd [lasteu à] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'osprei %s',\n past : 'ja%s',\n s : processRelativeTime,\n ss : processRelativeTime,\n m : processRelativeTime,\n mm : processRelativeTime,\n h : processRelativeTime,\n hh : processRelativeTime,\n d : processRelativeTime,\n dd : processRelativeTime,\n M : processRelativeTime,\n MM : processRelativeTime,\n y : processRelativeTime,\n yy : processRelativeTime\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n 's': ['viensas secunds', '\\'iensas secunds'],\n 'ss': [number + ' secunds', '' + number + ' secunds'],\n 'm': ['\\'n míut', '\\'iens míut'],\n 'mm': [number + ' míuts', '' + number + ' míuts'],\n 'h': ['\\'n þora', '\\'iensa þora'],\n 'hh': [number + ' þoras', '' + number + ' þoras'],\n 'd': ['\\'n ziua', '\\'iensa ziua'],\n 'dd': [number + ' ziuas', '' + number + ' ziuas'],\n 'M': ['\\'n mes', '\\'iens mes'],\n 'MM': [number + ' mesen', '' + number + ' mesen'],\n 'y': ['\\'n ar', '\\'iens ar'],\n 'yy': [number + ' ars', '' + number + ' ars']\n };\n return isFuture ? format[key][0] : (withoutSuffix ? format[key][0] : format[key][1]);\n }\n\n return tzl;\n\n})));\n","\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n var suffixes = {\n 1: '\\'inci',\n 5: '\\'inci',\n 8: '\\'inci',\n 70: '\\'inci',\n 80: '\\'inci',\n 2: '\\'nci',\n 7: '\\'nci',\n 20: '\\'nci',\n 50: '\\'nci',\n 3: '\\'üncü',\n 4: '\\'üncü',\n 100: '\\'üncü',\n 6: '\\'ncı',\n 9: '\\'uncu',\n 10: '\\'uncu',\n 30: '\\'uncu',\n 60: '\\'ıncı',\n 90: '\\'ıncı'\n };\n\n var tr = moment.defineLocale('tr', {\n months : 'Ocak_Şubat_Mart_Nisan_Mayıs_Haziran_Temmuz_Ağustos_Eylül_Ekim_Kasım_Aralık'.split('_'),\n monthsShort : 'Oca_Şub_Mar_Nis_May_Haz_Tem_Ağu_Eyl_Eki_Kas_Ara'.split('_'),\n weekdays : 'Pazar_Pazartesi_Salı_Çarşamba_Perşembe_Cuma_Cumartesi'.split('_'),\n weekdaysShort : 'Paz_Pts_Sal_Çar_Per_Cum_Cts'.split('_'),\n weekdaysMin : 'Pz_Pt_Sa_Ça_Pe_Cu_Ct'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[bugün saat] LT',\n nextDay : '[yarın saat] LT',\n nextWeek : '[gelecek] dddd [saat] LT',\n lastDay : '[dün] LT',\n lastWeek : '[geçen] dddd [saat] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s sonra',\n past : '%s önce',\n s : 'birkaç saniye',\n ss : '%d saniye',\n m : 'bir dakika',\n mm : '%d dakika',\n h : 'bir saat',\n hh : '%d saat',\n d : 'bir gün',\n dd : '%d gün',\n M : 'bir ay',\n MM : '%d ay',\n y : 'bir yıl',\n yy : '%d yıl'\n },\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'Do':\n case 'DD':\n return number;\n default:\n if (number === 0) { // special case for zero\n return number + '\\'ıncı';\n }\n var a = number % 10,\n b = number % 100 - a,\n c = number >= 100 ? 100 : null;\n return number + (suffixes[a] || suffixes[b] || suffixes[c]);\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return tr;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var numbersNouns = 'pagh_wa’_cha’_wej_loS_vagh_jav_Soch_chorgh_Hut'.split('_');\n\n function translateFuture(output) {\n var time = output;\n time = (output.indexOf('jaj') !== -1) ?\n time.slice(0, -3) + 'leS' :\n (output.indexOf('jar') !== -1) ?\n time.slice(0, -3) + 'waQ' :\n (output.indexOf('DIS') !== -1) ?\n time.slice(0, -3) + 'nem' :\n time + ' pIq';\n return time;\n }\n\n function translatePast(output) {\n var time = output;\n time = (output.indexOf('jaj') !== -1) ?\n time.slice(0, -3) + 'Hu’' :\n (output.indexOf('jar') !== -1) ?\n time.slice(0, -3) + 'wen' :\n (output.indexOf('DIS') !== -1) ?\n time.slice(0, -3) + 'ben' :\n time + ' ret';\n return time;\n }\n\n function translate(number, withoutSuffix, string, isFuture) {\n var numberNoun = numberAsNoun(number);\n switch (string) {\n case 'ss':\n return numberNoun + ' lup';\n case 'mm':\n return numberNoun + ' tup';\n case 'hh':\n return numberNoun + ' rep';\n case 'dd':\n return numberNoun + ' jaj';\n case 'MM':\n return numberNoun + ' jar';\n case 'yy':\n return numberNoun + ' DIS';\n }\n }\n\n function numberAsNoun(number) {\n var hundred = Math.floor((number % 1000) / 100),\n ten = Math.floor((number % 100) / 10),\n one = number % 10,\n word = '';\n if (hundred > 0) {\n word += numbersNouns[hundred] + 'vatlh';\n }\n if (ten > 0) {\n word += ((word !== '') ? ' ' : '') + numbersNouns[ten] + 'maH';\n }\n if (one > 0) {\n word += ((word !== '') ? ' ' : '') + numbersNouns[one];\n }\n return (word === '') ? 'pagh' : word;\n }\n\n var tlh = moment.defineLocale('tlh', {\n months : 'tera’ jar wa’_tera’ jar cha’_tera’ jar wej_tera’ jar loS_tera’ jar vagh_tera’ jar jav_tera’ jar Soch_tera’ jar chorgh_tera’ jar Hut_tera’ jar wa’maH_tera’ jar wa’maH wa’_tera’ jar wa’maH cha’'.split('_'),\n monthsShort : 'jar wa’_jar cha’_jar wej_jar loS_jar vagh_jar jav_jar Soch_jar chorgh_jar Hut_jar wa’maH_jar wa’maH wa’_jar wa’maH cha’'.split('_'),\n monthsParseExact : true,\n weekdays : 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),\n weekdaysShort : 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),\n weekdaysMin : 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[DaHjaj] LT',\n nextDay: '[wa’leS] LT',\n nextWeek: 'LLL',\n lastDay: '[wa’Hu’] LT',\n lastWeek: 'LLL',\n sameElse: 'L'\n },\n relativeTime : {\n future : translateFuture,\n past : translatePast,\n s : 'puS lup',\n ss : translate,\n m : 'wa’ tup',\n mm : translate,\n h : 'wa’ rep',\n hh : translate,\n d : 'wa’ jaj',\n dd : translate,\n M : 'wa’ jar',\n MM : translate,\n y : 'wa’ DIS',\n yy : translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return tlh;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var tlPh = moment.defineLocale('tl-ph', {\n months : 'Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre'.split('_'),\n monthsShort : 'Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis'.split('_'),\n weekdays : 'Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado'.split('_'),\n weekdaysShort : 'Lin_Lun_Mar_Miy_Huw_Biy_Sab'.split('_'),\n weekdaysMin : 'Li_Lu_Ma_Mi_Hu_Bi_Sab'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'MM/D/YYYY',\n LL : 'MMMM D, YYYY',\n LLL : 'MMMM D, YYYY HH:mm',\n LLLL : 'dddd, MMMM DD, YYYY HH:mm'\n },\n calendar : {\n sameDay: 'LT [ngayong araw]',\n nextDay: '[Bukas ng] LT',\n nextWeek: 'LT [sa susunod na] dddd',\n lastDay: 'LT [kahapon]',\n lastWeek: 'LT [noong nakaraang] dddd',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'sa loob ng %s',\n past : '%s ang nakalipas',\n s : 'ilang segundo',\n ss : '%d segundo',\n m : 'isang minuto',\n mm : '%d minuto',\n h : 'isang oras',\n hh : '%d oras',\n d : 'isang araw',\n dd : '%d araw',\n M : 'isang buwan',\n MM : '%d buwan',\n y : 'isang taon',\n yy : '%d taon'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}/,\n ordinal : function (number) {\n return number;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return tlPh;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var th = moment.defineLocale('th', {\n months : 'มกราคม_กุมภาพันธ์_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_กรกฎาคม_สิงหาคม_กันยายน_ตุลาคม_พฤศจิกายน_ธันวาคม'.split('_'),\n monthsShort : 'ม.ค._ก.พ._มี.ค._เม.ย._พ.ค._มิ.ย._ก.ค._ส.ค._ก.ย._ต.ค._พ.ย._ธ.ค.'.split('_'),\n monthsParseExact: true,\n weekdays : 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัสบดี_ศุกร์_เสาร์'.split('_'),\n weekdaysShort : 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัส_ศุกร์_เสาร์'.split('_'), // yes, three characters difference\n weekdaysMin : 'อา._จ._อ._พ._พฤ._ศ._ส.'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY เวลา H:mm',\n LLLL : 'วันddddที่ D MMMM YYYY เวลา H:mm'\n },\n meridiemParse: /ก่อนเที่ยง|หลังเที่ยง/,\n isPM: function (input) {\n return input === 'หลังเที่ยง';\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ก่อนเที่ยง';\n } else {\n return 'หลังเที่ยง';\n }\n },\n calendar : {\n sameDay : '[วันนี้ เวลา] LT',\n nextDay : '[พรุ่งนี้ เวลา] LT',\n nextWeek : 'dddd[หน้า เวลา] LT',\n lastDay : '[เมื่อวานนี้ เวลา] LT',\n lastWeek : '[วัน]dddd[ที่แล้ว เวลา] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'อีก %s',\n past : '%sที่แล้ว',\n s : 'ไม่กี่วินาที',\n ss : '%d วินาที',\n m : '1 นาที',\n mm : '%d นาที',\n h : '1 ชั่วโมง',\n hh : '%d ชั่วโมง',\n d : '1 วัน',\n dd : '%d วัน',\n M : '1 เดือน',\n MM : '%d เดือน',\n y : '1 ปี',\n yy : '%d ปี'\n }\n });\n\n return th;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var suffixes = {\n 0: '-ум',\n 1: '-ум',\n 2: '-юм',\n 3: '-юм',\n 4: '-ум',\n 5: '-ум',\n 6: '-ум',\n 7: '-ум',\n 8: '-ум',\n 9: '-ум',\n 10: '-ум',\n 12: '-ум',\n 13: '-ум',\n 20: '-ум',\n 30: '-юм',\n 40: '-ум',\n 50: '-ум',\n 60: '-ум',\n 70: '-ум',\n 80: '-ум',\n 90: '-ум',\n 100: '-ум'\n };\n\n var tg = moment.defineLocale('tg', {\n months : 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split('_'),\n monthsShort : 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'),\n weekdays : 'якшанбе_душанбе_сешанбе_чоршанбе_панҷшанбе_ҷумъа_шанбе'.split('_'),\n weekdaysShort : 'яшб_дшб_сшб_чшб_пшб_ҷум_шнб'.split('_'),\n weekdaysMin : 'яш_дш_сш_чш_пш_ҷм_шб'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Имрӯз соати] LT',\n nextDay : '[Пагоҳ соати] LT',\n lastDay : '[Дирӯз соати] LT',\n nextWeek : 'dddd[и] [ҳафтаи оянда соати] LT',\n lastWeek : 'dddd[и] [ҳафтаи гузашта соати] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'баъди %s',\n past : '%s пеш',\n s : 'якчанд сония',\n m : 'як дақиқа',\n mm : '%d дақиқа',\n h : 'як соат',\n hh : '%d соат',\n d : 'як рӯз',\n dd : '%d рӯз',\n M : 'як моҳ',\n MM : '%d моҳ',\n y : 'як сол',\n yy : '%d сол'\n },\n meridiemParse: /шаб|субҳ|рӯз|бегоҳ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'шаб') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'субҳ') {\n return hour;\n } else if (meridiem === 'рӯз') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'бегоҳ') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'шаб';\n } else if (hour < 11) {\n return 'субҳ';\n } else if (hour < 16) {\n return 'рӯз';\n } else if (hour < 19) {\n return 'бегоҳ';\n } else {\n return 'шаб';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ум|юм)/,\n ordinal: function (number) {\n var a = number % 10,\n b = number >= 100 ? 100 : null;\n return number + (suffixes[number] || suffixes[a] || suffixes[b]);\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1th is the first week of the year.\n }\n });\n\n return tg;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var tet = moment.defineLocale('tet', {\n months : 'Janeiru_Fevereiru_Marsu_Abril_Maiu_Juñu_Jullu_Agustu_Setembru_Outubru_Novembru_Dezembru'.split('_'),\n monthsShort : 'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez'.split('_'),\n weekdays : 'Domingu_Segunda_Tersa_Kuarta_Kinta_Sesta_Sabadu'.split('_'),\n weekdaysShort : 'Dom_Seg_Ters_Kua_Kint_Sest_Sab'.split('_'),\n weekdaysMin : 'Do_Seg_Te_Ku_Ki_Ses_Sa'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[Ohin iha] LT',\n nextDay: '[Aban iha] LT',\n nextWeek: 'dddd [iha] LT',\n lastDay: '[Horiseik iha] LT',\n lastWeek: 'dddd [semana kotuk] [iha] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'iha %s',\n past : '%s liuba',\n s : 'minutu balun',\n ss : 'minutu %d',\n m : 'minutu ida',\n mm : 'minutu %d',\n h : 'oras ida',\n hh : 'oras %d',\n d : 'loron ida',\n dd : 'loron %d',\n M : 'fulan ida',\n MM : 'fulan %d',\n y : 'tinan ida',\n yy : 'tinan %d'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return tet;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var te = moment.defineLocale('te', {\n months : 'జనవరి_ఫిబ్రవరి_మార్చి_ఏప్రిల్_మే_జూన్_జూలై_ఆగస్టు_సెప్టెంబర్_అక్టోబర్_నవంబర్_డిసెంబర్'.split('_'),\n monthsShort : 'జన._ఫిబ్ర._మార్చి_ఏప్రి._మే_జూన్_జూలై_ఆగ._సెప్._అక్టో._నవ._డిసె.'.split('_'),\n monthsParseExact : true,\n weekdays : 'ఆదివారం_సోమవారం_మంగళవారం_బుధవారం_గురువారం_శుక్రవారం_శనివారం'.split('_'),\n weekdaysShort : 'ఆది_సోమ_మంగళ_బుధ_గురు_శుక్ర_శని'.split('_'),\n weekdaysMin : 'ఆ_సో_మం_బు_గు_శు_శ'.split('_'),\n longDateFormat : {\n LT : 'A h:mm',\n LTS : 'A h:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, A h:mm',\n LLLL : 'dddd, D MMMM YYYY, A h:mm'\n },\n calendar : {\n sameDay : '[నేడు] LT',\n nextDay : '[రేపు] LT',\n nextWeek : 'dddd, LT',\n lastDay : '[నిన్న] LT',\n lastWeek : '[గత] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s లో',\n past : '%s క్రితం',\n s : 'కొన్ని క్షణాలు',\n ss : '%d సెకన్లు',\n m : 'ఒక నిమిషం',\n mm : '%d నిమిషాలు',\n h : 'ఒక గంట',\n hh : '%d గంటలు',\n d : 'ఒక రోజు',\n dd : '%d రోజులు',\n M : 'ఒక నెల',\n MM : '%d నెలలు',\n y : 'ఒక సంవత్సరం',\n yy : '%d సంవత్సరాలు'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}వ/,\n ordinal : '%dవ',\n meridiemParse: /రాత్రి|ఉదయం|మధ్యాహ్నం|సాయంత్రం/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'రాత్రి') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'ఉదయం') {\n return hour;\n } else if (meridiem === 'మధ్యాహ్నం') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'సాయంత్రం') {\n return hour + 12;\n }\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'రాత్రి';\n } else if (hour < 10) {\n return 'ఉదయం';\n } else if (hour < 17) {\n return 'మధ్యాహ్నం';\n } else if (hour < 20) {\n return 'సాయంత్రం';\n } else {\n return 'రాత్రి';\n }\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return te;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '௧',\n '2': '௨',\n '3': '௩',\n '4': '௪',\n '5': '௫',\n '6': '௬',\n '7': '௭',\n '8': '௮',\n '9': '௯',\n '0': '௦'\n }, numberMap = {\n '௧': '1',\n '௨': '2',\n '௩': '3',\n '௪': '4',\n '௫': '5',\n '௬': '6',\n '௭': '7',\n '௮': '8',\n '௯': '9',\n '௦': '0'\n };\n\n var ta = moment.defineLocale('ta', {\n months : 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split('_'),\n monthsShort : 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split('_'),\n weekdays : 'ஞாயிற்றுக்கிழமை_திங்கட்கிழமை_செவ்வாய்கிழமை_புதன்கிழமை_வியாழக்கிழமை_வெள்ளிக்கிழமை_சனிக்கிழமை'.split('_'),\n weekdaysShort : 'ஞாயிறு_திங்கள்_செவ்வாய்_புதன்_வியாழன்_வெள்ளி_சனி'.split('_'),\n weekdaysMin : 'ஞா_தி_செ_பு_வி_வெ_ச'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, HH:mm',\n LLLL : 'dddd, D MMMM YYYY, HH:mm'\n },\n calendar : {\n sameDay : '[இன்று] LT',\n nextDay : '[நாளை] LT',\n nextWeek : 'dddd, LT',\n lastDay : '[நேற்று] LT',\n lastWeek : '[கடந்த வாரம்] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s இல்',\n past : '%s முன்',\n s : 'ஒரு சில விநாடிகள்',\n ss : '%d விநாடிகள்',\n m : 'ஒரு நிமிடம்',\n mm : '%d நிமிடங்கள்',\n h : 'ஒரு மணி நேரம்',\n hh : '%d மணி நேரம்',\n d : 'ஒரு நாள்',\n dd : '%d நாட்கள்',\n M : 'ஒரு மாதம்',\n MM : '%d மாதங்கள்',\n y : 'ஒரு வருடம்',\n yy : '%d ஆண்டுகள்'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}வது/,\n ordinal : function (number) {\n return number + 'வது';\n },\n preparse: function (string) {\n return string.replace(/[௧௨௩௪௫௬௭௮௯௦]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n // refer http://ta.wikipedia.org/s/1er1\n meridiemParse: /யாமம்|வைகறை|காலை|நண்பகல்|எற்பாடு|மாலை/,\n meridiem : function (hour, minute, isLower) {\n if (hour < 2) {\n return ' யாமம்';\n } else if (hour < 6) {\n return ' வைகறை'; // வைகறை\n } else if (hour < 10) {\n return ' காலை'; // காலை\n } else if (hour < 14) {\n return ' நண்பகல்'; // நண்பகல்\n } else if (hour < 18) {\n return ' எற்பாடு'; // எற்பாடு\n } else if (hour < 22) {\n return ' மாலை'; // மாலை\n } else {\n return ' யாமம்';\n }\n },\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'யாமம்') {\n return hour < 2 ? hour : hour + 12;\n } else if (meridiem === 'வைகறை' || meridiem === 'காலை') {\n return hour;\n } else if (meridiem === 'நண்பகல்') {\n return hour >= 10 ? hour : hour + 12;\n } else {\n return hour + 12;\n }\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return ta;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var sw = moment.defineLocale('sw', {\n months : 'Januari_Februari_Machi_Aprili_Mei_Juni_Julai_Agosti_Septemba_Oktoba_Novemba_Desemba'.split('_'),\n monthsShort : 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ago_Sep_Okt_Nov_Des'.split('_'),\n weekdays : 'Jumapili_Jumatatu_Jumanne_Jumatano_Alhamisi_Ijumaa_Jumamosi'.split('_'),\n weekdaysShort : 'Jpl_Jtat_Jnne_Jtan_Alh_Ijm_Jmos'.split('_'),\n weekdaysMin : 'J2_J3_J4_J5_Al_Ij_J1'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[leo saa] LT',\n nextDay : '[kesho saa] LT',\n nextWeek : '[wiki ijayo] dddd [saat] LT',\n lastDay : '[jana] LT',\n lastWeek : '[wiki iliyopita] dddd [saat] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s baadaye',\n past : 'tokea %s',\n s : 'hivi punde',\n ss : 'sekunde %d',\n m : 'dakika moja',\n mm : 'dakika %d',\n h : 'saa limoja',\n hh : 'masaa %d',\n d : 'siku moja',\n dd : 'masiku %d',\n M : 'mwezi mmoja',\n MM : 'miezi %d',\n y : 'mwaka mmoja',\n yy : 'miaka %d'\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return sw;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var sv = moment.defineLocale('sv', {\n months : 'januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december'.split('_'),\n monthsShort : 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n weekdays : 'söndag_måndag_tisdag_onsdag_torsdag_fredag_lördag'.split('_'),\n weekdaysShort : 'sön_mån_tis_ons_tor_fre_lör'.split('_'),\n weekdaysMin : 'sö_må_ti_on_to_fr_lö'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY-MM-DD',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY [kl.] HH:mm',\n LLLL : 'dddd D MMMM YYYY [kl.] HH:mm',\n lll : 'D MMM YYYY HH:mm',\n llll : 'ddd D MMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[Idag] LT',\n nextDay: '[Imorgon] LT',\n lastDay: '[Igår] LT',\n nextWeek: '[På] dddd LT',\n lastWeek: '[I] dddd[s] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'om %s',\n past : 'för %s sedan',\n s : 'några sekunder',\n ss : '%d sekunder',\n m : 'en minut',\n mm : '%d minuter',\n h : 'en timme',\n hh : '%d timmar',\n d : 'en dag',\n dd : '%d dagar',\n M : 'en månad',\n MM : '%d månader',\n y : 'ett år',\n yy : '%d år'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(e|a)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'e' :\n (b === 1) ? 'a' :\n (b === 2) ? 'a' :\n (b === 3) ? 'e' : 'e';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return sv;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var ss = moment.defineLocale('ss', {\n months : \"Bhimbidvwane_Indlovana_Indlov'lenkhulu_Mabasa_Inkhwekhweti_Inhlaba_Kholwane_Ingci_Inyoni_Imphala_Lweti_Ingongoni\".split('_'),\n monthsShort : 'Bhi_Ina_Inu_Mab_Ink_Inh_Kho_Igc_Iny_Imp_Lwe_Igo'.split('_'),\n weekdays : 'Lisontfo_Umsombuluko_Lesibili_Lesitsatfu_Lesine_Lesihlanu_Umgcibelo'.split('_'),\n weekdaysShort : 'Lis_Umb_Lsb_Les_Lsi_Lsh_Umg'.split('_'),\n weekdaysMin : 'Li_Us_Lb_Lt_Ls_Lh_Ug'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'h:mm A',\n LTS : 'h:mm:ss A',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY h:mm A',\n LLLL : 'dddd, D MMMM YYYY h:mm A'\n },\n calendar : {\n sameDay : '[Namuhla nga] LT',\n nextDay : '[Kusasa nga] LT',\n nextWeek : 'dddd [nga] LT',\n lastDay : '[Itolo nga] LT',\n lastWeek : 'dddd [leliphelile] [nga] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'nga %s',\n past : 'wenteka nga %s',\n s : 'emizuzwana lomcane',\n ss : '%d mzuzwana',\n m : 'umzuzu',\n mm : '%d emizuzu',\n h : 'lihora',\n hh : '%d emahora',\n d : 'lilanga',\n dd : '%d emalanga',\n M : 'inyanga',\n MM : '%d tinyanga',\n y : 'umnyaka',\n yy : '%d iminyaka'\n },\n meridiemParse: /ekuseni|emini|entsambama|ebusuku/,\n meridiem : function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'ekuseni';\n } else if (hours < 15) {\n return 'emini';\n } else if (hours < 19) {\n return 'entsambama';\n } else {\n return 'ebusuku';\n }\n },\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'ekuseni') {\n return hour;\n } else if (meridiem === 'emini') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'entsambama' || meridiem === 'ebusuku') {\n if (hour === 0) {\n return 0;\n }\n return hour + 12;\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}/,\n ordinal : '%d',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return ss;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var translator = {\n words: { //Different grammatical cases\n ss: ['секунда', 'секунде', 'секунди'],\n m: ['један минут', 'једне минуте'],\n mm: ['минут', 'минуте', 'минута'],\n h: ['један сат', 'једног сата'],\n hh: ['сат', 'сата', 'сати'],\n dd: ['дан', 'дана', 'дана'],\n MM: ['месец', 'месеца', 'месеци'],\n yy: ['година', 'године', 'година']\n },\n correctGrammaticalCase: function (number, wordKey) {\n return number === 1 ? wordKey[0] : (number >= 2 && number <= 4 ? wordKey[1] : wordKey[2]);\n },\n translate: function (number, withoutSuffix, key) {\n var wordKey = translator.words[key];\n if (key.length === 1) {\n return withoutSuffix ? wordKey[0] : wordKey[1];\n } else {\n return number + ' ' + translator.correctGrammaticalCase(number, wordKey);\n }\n }\n };\n\n var srCyrl = moment.defineLocale('sr-cyrl', {\n months: 'јануар_фебруар_март_април_мај_јун_јул_август_септембар_октобар_новембар_децембар'.split('_'),\n monthsShort: 'јан._феб._мар._апр._мај_јун_јул_авг._сеп._окт._нов._дец.'.split('_'),\n monthsParseExact: true,\n weekdays: 'недеља_понедељак_уторак_среда_четвртак_петак_субота'.split('_'),\n weekdaysShort: 'нед._пон._уто._сре._чет._пет._суб.'.split('_'),\n weekdaysMin: 'не_по_ут_ср_че_пе_су'.split('_'),\n weekdaysParseExact : true,\n longDateFormat: {\n LT: 'H:mm',\n LTS : 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd, D. MMMM YYYY H:mm'\n },\n calendar: {\n sameDay: '[данас у] LT',\n nextDay: '[сутра у] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[у] [недељу] [у] LT';\n case 3:\n return '[у] [среду] [у] LT';\n case 6:\n return '[у] [суботу] [у] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[у] dddd [у] LT';\n }\n },\n lastDay : '[јуче у] LT',\n lastWeek : function () {\n var lastWeekDays = [\n '[прошле] [недеље] [у] LT',\n '[прошлог] [понедељка] [у] LT',\n '[прошлог] [уторка] [у] LT',\n '[прошле] [среде] [у] LT',\n '[прошлог] [четвртка] [у] LT',\n '[прошлог] [петка] [у] LT',\n '[прошле] [суботе] [у] LT'\n ];\n return lastWeekDays[this.day()];\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'за %s',\n past : 'пре %s',\n s : 'неколико секунди',\n ss : translator.translate,\n m : translator.translate,\n mm : translator.translate,\n h : translator.translate,\n hh : translator.translate,\n d : 'дан',\n dd : translator.translate,\n M : 'месец',\n MM : translator.translate,\n y : 'годину',\n yy : translator.translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return srCyrl;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var translator = {\n words: { //Different grammatical cases\n ss: ['sekunda', 'sekunde', 'sekundi'],\n m: ['jedan minut', 'jedne minute'],\n mm: ['minut', 'minute', 'minuta'],\n h: ['jedan sat', 'jednog sata'],\n hh: ['sat', 'sata', 'sati'],\n dd: ['dan', 'dana', 'dana'],\n MM: ['mesec', 'meseca', 'meseci'],\n yy: ['godina', 'godine', 'godina']\n },\n correctGrammaticalCase: function (number, wordKey) {\n return number === 1 ? wordKey[0] : (number >= 2 && number <= 4 ? wordKey[1] : wordKey[2]);\n },\n translate: function (number, withoutSuffix, key) {\n var wordKey = translator.words[key];\n if (key.length === 1) {\n return withoutSuffix ? wordKey[0] : wordKey[1];\n } else {\n return number + ' ' + translator.correctGrammaticalCase(number, wordKey);\n }\n }\n };\n\n var sr = moment.defineLocale('sr', {\n months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split('_'),\n monthsShort: 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays: 'nedelja_ponedeljak_utorak_sreda_četvrtak_petak_subota'.split('_'),\n weekdaysShort: 'ned._pon._uto._sre._čet._pet._sub.'.split('_'),\n weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact : true,\n longDateFormat: {\n LT: 'H:mm',\n LTS : 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd, D. MMMM YYYY H:mm'\n },\n calendar: {\n sameDay: '[danas u] LT',\n nextDay: '[sutra u] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[u] [nedelju] [u] LT';\n case 3:\n return '[u] [sredu] [u] LT';\n case 6:\n return '[u] [subotu] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay : '[juče u] LT',\n lastWeek : function () {\n var lastWeekDays = [\n '[prošle] [nedelje] [u] LT',\n '[prošlog] [ponedeljka] [u] LT',\n '[prošlog] [utorka] [u] LT',\n '[prošle] [srede] [u] LT',\n '[prošlog] [četvrtka] [u] LT',\n '[prošlog] [petka] [u] LT',\n '[prošle] [subote] [u] LT'\n ];\n return lastWeekDays[this.day()];\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'za %s',\n past : 'pre %s',\n s : 'nekoliko sekundi',\n ss : translator.translate,\n m : translator.translate,\n mm : translator.translate,\n h : translator.translate,\n hh : translator.translate,\n d : 'dan',\n dd : translator.translate,\n M : 'mesec',\n MM : translator.translate,\n y : 'godinu',\n yy : translator.translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return sr;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var sq = moment.defineLocale('sq', {\n months : 'Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_Nëntor_Dhjetor'.split('_'),\n monthsShort : 'Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_Nën_Dhj'.split('_'),\n weekdays : 'E Diel_E Hënë_E Martë_E Mërkurë_E Enjte_E Premte_E Shtunë'.split('_'),\n weekdaysShort : 'Die_Hën_Mar_Mër_Enj_Pre_Sht'.split('_'),\n weekdaysMin : 'D_H_Ma_Më_E_P_Sh'.split('_'),\n weekdaysParseExact : true,\n meridiemParse: /PD|MD/,\n isPM: function (input) {\n return input.charAt(0) === 'M';\n },\n meridiem : function (hours, minutes, isLower) {\n return hours < 12 ? 'PD' : 'MD';\n },\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Sot në] LT',\n nextDay : '[Nesër në] LT',\n nextWeek : 'dddd [në] LT',\n lastDay : '[Dje në] LT',\n lastWeek : 'dddd [e kaluar në] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'në %s',\n past : '%s më parë',\n s : 'disa sekonda',\n ss : '%d sekonda',\n m : 'një minutë',\n mm : '%d minuta',\n h : 'një orë',\n hh : '%d orë',\n d : 'një ditë',\n dd : '%d ditë',\n M : 'një muaj',\n MM : '%d muaj',\n y : 'një vit',\n yy : '%d vite'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return sq;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n switch (key) {\n case 's':\n return withoutSuffix || isFuture ? 'nekaj sekund' : 'nekaj sekundami';\n case 'ss':\n if (number === 1) {\n result += withoutSuffix ? 'sekundo' : 'sekundi';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'sekundi' : 'sekundah';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'sekunde' : 'sekundah';\n } else {\n result += withoutSuffix || isFuture ? 'sekund' : 'sekund';\n }\n return result;\n case 'm':\n return withoutSuffix ? 'ena minuta' : 'eno minuto';\n case 'mm':\n if (number === 1) {\n result += withoutSuffix ? 'minuta' : 'minuto';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'minuti' : 'minutama';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'minute' : 'minutami';\n } else {\n result += withoutSuffix || isFuture ? 'minut' : 'minutami';\n }\n return result;\n case 'h':\n return withoutSuffix ? 'ena ura' : 'eno uro';\n case 'hh':\n if (number === 1) {\n result += withoutSuffix ? 'ura' : 'uro';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'uri' : 'urama';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'ure' : 'urami';\n } else {\n result += withoutSuffix || isFuture ? 'ur' : 'urami';\n }\n return result;\n case 'd':\n return withoutSuffix || isFuture ? 'en dan' : 'enim dnem';\n case 'dd':\n if (number === 1) {\n result += withoutSuffix || isFuture ? 'dan' : 'dnem';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'dni' : 'dnevoma';\n } else {\n result += withoutSuffix || isFuture ? 'dni' : 'dnevi';\n }\n return result;\n case 'M':\n return withoutSuffix || isFuture ? 'en mesec' : 'enim mesecem';\n case 'MM':\n if (number === 1) {\n result += withoutSuffix || isFuture ? 'mesec' : 'mesecem';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'meseca' : 'mesecema';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'mesece' : 'meseci';\n } else {\n result += withoutSuffix || isFuture ? 'mesecev' : 'meseci';\n }\n return result;\n case 'y':\n return withoutSuffix || isFuture ? 'eno leto' : 'enim letom';\n case 'yy':\n if (number === 1) {\n result += withoutSuffix || isFuture ? 'leto' : 'letom';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'leti' : 'letoma';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'leta' : 'leti';\n } else {\n result += withoutSuffix || isFuture ? 'let' : 'leti';\n }\n return result;\n }\n }\n\n var sl = moment.defineLocale('sl', {\n months : 'januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december'.split('_'),\n monthsShort : 'jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays : 'nedelja_ponedeljek_torek_sreda_četrtek_petek_sobota'.split('_'),\n weekdaysShort : 'ned._pon._tor._sre._čet._pet._sob.'.split('_'),\n weekdaysMin : 'ne_po_to_sr_če_pe_so'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY H:mm',\n LLLL : 'dddd, D. MMMM YYYY H:mm'\n },\n calendar : {\n sameDay : '[danes ob] LT',\n nextDay : '[jutri ob] LT',\n\n nextWeek : function () {\n switch (this.day()) {\n case 0:\n return '[v] [nedeljo] [ob] LT';\n case 3:\n return '[v] [sredo] [ob] LT';\n case 6:\n return '[v] [soboto] [ob] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[v] dddd [ob] LT';\n }\n },\n lastDay : '[včeraj ob] LT',\n lastWeek : function () {\n switch (this.day()) {\n case 0:\n return '[prejšnjo] [nedeljo] [ob] LT';\n case 3:\n return '[prejšnjo] [sredo] [ob] LT';\n case 6:\n return '[prejšnjo] [soboto] [ob] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[prejšnji] dddd [ob] LT';\n }\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'čez %s',\n past : 'pred %s',\n s : processRelativeTime,\n ss : processRelativeTime,\n m : processRelativeTime,\n mm : processRelativeTime,\n h : processRelativeTime,\n hh : processRelativeTime,\n d : processRelativeTime,\n dd : processRelativeTime,\n M : processRelativeTime,\n MM : processRelativeTime,\n y : processRelativeTime,\n yy : processRelativeTime\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return sl;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var months = 'január_február_marec_apríl_máj_jún_júl_august_september_október_november_december'.split('_'),\n monthsShort = 'jan_feb_mar_apr_máj_jún_júl_aug_sep_okt_nov_dec'.split('_');\n function plural(n) {\n return (n > 1) && (n < 5);\n }\n function translate(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n switch (key) {\n case 's': // a few seconds / in a few seconds / a few seconds ago\n return (withoutSuffix || isFuture) ? 'pár sekúnd' : 'pár sekundami';\n case 'ss': // 9 seconds / in 9 seconds / 9 seconds ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'sekundy' : 'sekúnd');\n } else {\n return result + 'sekundami';\n }\n break;\n case 'm': // a minute / in a minute / a minute ago\n return withoutSuffix ? 'minúta' : (isFuture ? 'minútu' : 'minútou');\n case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'minúty' : 'minút');\n } else {\n return result + 'minútami';\n }\n break;\n case 'h': // an hour / in an hour / an hour ago\n return withoutSuffix ? 'hodina' : (isFuture ? 'hodinu' : 'hodinou');\n case 'hh': // 9 hours / in 9 hours / 9 hours ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'hodiny' : 'hodín');\n } else {\n return result + 'hodinami';\n }\n break;\n case 'd': // a day / in a day / a day ago\n return (withoutSuffix || isFuture) ? 'deň' : 'dňom';\n case 'dd': // 9 days / in 9 days / 9 days ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'dni' : 'dní');\n } else {\n return result + 'dňami';\n }\n break;\n case 'M': // a month / in a month / a month ago\n return (withoutSuffix || isFuture) ? 'mesiac' : 'mesiacom';\n case 'MM': // 9 months / in 9 months / 9 months ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'mesiace' : 'mesiacov');\n } else {\n return result + 'mesiacmi';\n }\n break;\n case 'y': // a year / in a year / a year ago\n return (withoutSuffix || isFuture) ? 'rok' : 'rokom';\n case 'yy': // 9 years / in 9 years / 9 years ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'roky' : 'rokov');\n } else {\n return result + 'rokmi';\n }\n break;\n }\n }\n\n var sk = moment.defineLocale('sk', {\n months : months,\n monthsShort : monthsShort,\n weekdays : 'nedeľa_pondelok_utorok_streda_štvrtok_piatok_sobota'.split('_'),\n weekdaysShort : 'ne_po_ut_st_št_pi_so'.split('_'),\n weekdaysMin : 'ne_po_ut_st_št_pi_so'.split('_'),\n longDateFormat : {\n LT: 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY H:mm',\n LLLL : 'dddd D. MMMM YYYY H:mm'\n },\n calendar : {\n sameDay: '[dnes o] LT',\n nextDay: '[zajtra o] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[v nedeľu o] LT';\n case 1:\n case 2:\n return '[v] dddd [o] LT';\n case 3:\n return '[v stredu o] LT';\n case 4:\n return '[vo štvrtok o] LT';\n case 5:\n return '[v piatok o] LT';\n case 6:\n return '[v sobotu o] LT';\n }\n },\n lastDay: '[včera o] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[minulú nedeľu o] LT';\n case 1:\n case 2:\n return '[minulý] dddd [o] LT';\n case 3:\n return '[minulú stredu o] LT';\n case 4:\n case 5:\n return '[minulý] dddd [o] LT';\n case 6:\n return '[minulú sobotu o] LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : 'za %s',\n past : 'pred %s',\n s : translate,\n ss : translate,\n m : translate,\n mm : translate,\n h : translate,\n hh : translate,\n d : translate,\n dd : translate,\n M : translate,\n MM : translate,\n y : translate,\n yy : translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return sk;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n /*jshint -W100*/\n var si = moment.defineLocale('si', {\n months : 'ජනවාරි_පෙබරවාරි_මාර්තු_අප්‍රේල්_මැයි_ජූනි_ජූලි_අගෝස්තු_සැප්තැම්බර්_ඔක්තෝබර්_නොවැම්බර්_දෙසැම්බර්'.split('_'),\n monthsShort : 'ජන_පෙබ_මාර්_අප්_මැයි_ජූනි_ජූලි_අගෝ_සැප්_ඔක්_නොවැ_දෙසැ'.split('_'),\n weekdays : 'ඉරිදා_සඳුදා_අඟහරුවාදා_බදාදා_බ්‍රහස්පතින්දා_සිකුරාදා_සෙනසුරාදා'.split('_'),\n weekdaysShort : 'ඉරි_සඳු_අඟ_බදා_බ්‍රහ_සිකු_සෙන'.split('_'),\n weekdaysMin : 'ඉ_ස_අ_බ_බ්‍ර_සි_සෙ'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'a h:mm',\n LTS : 'a h:mm:ss',\n L : 'YYYY/MM/DD',\n LL : 'YYYY MMMM D',\n LLL : 'YYYY MMMM D, a h:mm',\n LLLL : 'YYYY MMMM D [වැනි] dddd, a h:mm:ss'\n },\n calendar : {\n sameDay : '[අද] LT[ට]',\n nextDay : '[හෙට] LT[ට]',\n nextWeek : 'dddd LT[ට]',\n lastDay : '[ඊයේ] LT[ට]',\n lastWeek : '[පසුගිය] dddd LT[ට]',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%sකින්',\n past : '%sකට පෙර',\n s : 'තත්පර කිහිපය',\n ss : 'තත්පර %d',\n m : 'මිනිත්තුව',\n mm : 'මිනිත්තු %d',\n h : 'පැය',\n hh : 'පැය %d',\n d : 'දිනය',\n dd : 'දින %d',\n M : 'මාසය',\n MM : 'මාස %d',\n y : 'වසර',\n yy : 'වසර %d'\n },\n dayOfMonthOrdinalParse: /\\d{1,2} වැනි/,\n ordinal : function (number) {\n return number + ' වැනි';\n },\n meridiemParse : /පෙර වරු|පස් වරු|පෙ.ව|ප.ව./,\n isPM : function (input) {\n return input === 'ප.ව.' || input === 'පස් වරු';\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'ප.ව.' : 'පස් වරු';\n } else {\n return isLower ? 'පෙ.ව.' : 'පෙර වරු';\n }\n }\n });\n\n return si;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var se = moment.defineLocale('se', {\n months : 'ođđajagemánnu_guovvamánnu_njukčamánnu_cuoŋománnu_miessemánnu_geassemánnu_suoidnemánnu_borgemánnu_čakčamánnu_golggotmánnu_skábmamánnu_juovlamánnu'.split('_'),\n monthsShort : 'ođđj_guov_njuk_cuo_mies_geas_suoi_borg_čakč_golg_skáb_juov'.split('_'),\n weekdays : 'sotnabeaivi_vuossárga_maŋŋebárga_gaskavahkku_duorastat_bearjadat_lávvardat'.split('_'),\n weekdaysShort : 'sotn_vuos_maŋ_gask_duor_bear_láv'.split('_'),\n weekdaysMin : 's_v_m_g_d_b_L'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'MMMM D. [b.] YYYY',\n LLL : 'MMMM D. [b.] YYYY [ti.] HH:mm',\n LLLL : 'dddd, MMMM D. [b.] YYYY [ti.] HH:mm'\n },\n calendar : {\n sameDay: '[otne ti] LT',\n nextDay: '[ihttin ti] LT',\n nextWeek: 'dddd [ti] LT',\n lastDay: '[ikte ti] LT',\n lastWeek: '[ovddit] dddd [ti] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : '%s geažes',\n past : 'maŋit %s',\n s : 'moadde sekunddat',\n ss: '%d sekunddat',\n m : 'okta minuhta',\n mm : '%d minuhtat',\n h : 'okta diimmu',\n hh : '%d diimmut',\n d : 'okta beaivi',\n dd : '%d beaivvit',\n M : 'okta mánnu',\n MM : '%d mánut',\n y : 'okta jahki',\n yy : '%d jagit'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return se;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var months = [\n 'جنوري',\n 'فيبروري',\n 'مارچ',\n 'اپريل',\n 'مئي',\n 'جون',\n 'جولاءِ',\n 'آگسٽ',\n 'سيپٽمبر',\n 'آڪٽوبر',\n 'نومبر',\n 'ڊسمبر'\n ];\n var days = [\n 'آچر',\n 'سومر',\n 'اڱارو',\n 'اربع',\n 'خميس',\n 'جمع',\n 'ڇنڇر'\n ];\n\n var sd = moment.defineLocale('sd', {\n months : months,\n monthsShort : months,\n weekdays : days,\n weekdaysShort : days,\n weekdaysMin : days,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd، D MMMM YYYY HH:mm'\n },\n meridiemParse: /صبح|شام/,\n isPM : function (input) {\n return 'شام' === input;\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'صبح';\n }\n return 'شام';\n },\n calendar : {\n sameDay : '[اڄ] LT',\n nextDay : '[سڀاڻي] LT',\n nextWeek : 'dddd [اڳين هفتي تي] LT',\n lastDay : '[ڪالهه] LT',\n lastWeek : '[گزريل هفتي] dddd [تي] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s پوء',\n past : '%s اڳ',\n s : 'چند سيڪنڊ',\n ss : '%d سيڪنڊ',\n m : 'هڪ منٽ',\n mm : '%d منٽ',\n h : 'هڪ ڪلاڪ',\n hh : '%d ڪلاڪ',\n d : 'هڪ ڏينهن',\n dd : '%d ڏينهن',\n M : 'هڪ مهينو',\n MM : '%d مهينا',\n y : 'هڪ سال',\n yy : '%d سال'\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/,/g, '،');\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return sd;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function plural(word, num) {\n var forms = word.split('_');\n return num % 10 === 1 && num % 100 !== 11 ? forms[0] : (num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) ? forms[1] : forms[2]);\n }\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n var format = {\n 'ss': withoutSuffix ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд',\n 'mm': withoutSuffix ? 'минута_минуты_минут' : 'минуту_минуты_минут',\n 'hh': 'час_часа_часов',\n 'dd': 'день_дня_дней',\n 'MM': 'месяц_месяца_месяцев',\n 'yy': 'год_года_лет'\n };\n if (key === 'm') {\n return withoutSuffix ? 'минута' : 'минуту';\n }\n else {\n return number + ' ' + plural(format[key], +number);\n }\n }\n var monthsParse = [/^янв/i, /^фев/i, /^мар/i, /^апр/i, /^ма[йя]/i, /^июн/i, /^июл/i, /^авг/i, /^сен/i, /^окт/i, /^ноя/i, /^дек/i];\n\n // http://new.gramota.ru/spravka/rules/139-prop : § 103\n // Сокращения месяцев: http://new.gramota.ru/spravka/buro/search-answer?s=242637\n // CLDR data: http://www.unicode.org/cldr/charts/28/summary/ru.html#1753\n var ru = moment.defineLocale('ru', {\n months : {\n format: 'января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря'.split('_'),\n standalone: 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split('_')\n },\n monthsShort : {\n // по CLDR именно \"июл.\" и \"июн.\", но какой смысл менять букву на точку ?\n format: 'янв._февр._мар._апр._мая_июня_июля_авг._сент._окт._нояб._дек.'.split('_'),\n standalone: 'янв._февр._март_апр._май_июнь_июль_авг._сент._окт._нояб._дек.'.split('_')\n },\n weekdays : {\n standalone: 'воскресенье_понедельник_вторник_среда_четверг_пятница_суббота'.split('_'),\n format: 'воскресенье_понедельник_вторник_среду_четверг_пятницу_субботу'.split('_'),\n isFormat: /\\[ ?[Вв] ?(?:прошлую|следующую|эту)? ?\\] ?dddd/\n },\n weekdaysShort : 'вс_пн_вт_ср_чт_пт_сб'.split('_'),\n weekdaysMin : 'вс_пн_вт_ср_чт_пт_сб'.split('_'),\n monthsParse : monthsParse,\n longMonthsParse : monthsParse,\n shortMonthsParse : monthsParse,\n\n // полные названия с падежами, по три буквы, для некоторых, по 4 буквы, сокращения с точкой и без точки\n monthsRegex: /^(январ[ья]|янв\\.?|феврал[ья]|февр?\\.?|марта?|мар\\.?|апрел[ья]|апр\\.?|ма[йя]|июн[ья]|июн\\.?|июл[ья]|июл\\.?|августа?|авг\\.?|сентябр[ья]|сент?\\.?|октябр[ья]|окт\\.?|ноябр[ья]|нояб?\\.?|декабр[ья]|дек\\.?)/i,\n\n // копия предыдущего\n monthsShortRegex: /^(январ[ья]|янв\\.?|феврал[ья]|февр?\\.?|марта?|мар\\.?|апрел[ья]|апр\\.?|ма[йя]|июн[ья]|июн\\.?|июл[ья]|июл\\.?|августа?|авг\\.?|сентябр[ья]|сент?\\.?|октябр[ья]|окт\\.?|ноябр[ья]|нояб?\\.?|декабр[ья]|дек\\.?)/i,\n\n // полные названия с падежами\n monthsStrictRegex: /^(январ[яь]|феврал[яь]|марта?|апрел[яь]|ма[яй]|июн[яь]|июл[яь]|августа?|сентябр[яь]|октябр[яь]|ноябр[яь]|декабр[яь])/i,\n\n // Выражение, которое соотвествует только сокращённым формам\n monthsShortStrictRegex: /^(янв\\.|февр?\\.|мар[т.]|апр\\.|ма[яй]|июн[ья.]|июл[ья.]|авг\\.|сент?\\.|окт\\.|нояб?\\.|дек\\.)/i,\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY г.',\n LLL : 'D MMMM YYYY г., H:mm',\n LLLL : 'dddd, D MMMM YYYY г., H:mm'\n },\n calendar : {\n sameDay: '[Сегодня, в] LT',\n nextDay: '[Завтра, в] LT',\n lastDay: '[Вчера, в] LT',\n nextWeek: function (now) {\n if (now.week() !== this.week()) {\n switch (this.day()) {\n case 0:\n return '[В следующее] dddd, [в] LT';\n case 1:\n case 2:\n case 4:\n return '[В следующий] dddd, [в] LT';\n case 3:\n case 5:\n case 6:\n return '[В следующую] dddd, [в] LT';\n }\n } else {\n if (this.day() === 2) {\n return '[Во] dddd, [в] LT';\n } else {\n return '[В] dddd, [в] LT';\n }\n }\n },\n lastWeek: function (now) {\n if (now.week() !== this.week()) {\n switch (this.day()) {\n case 0:\n return '[В прошлое] dddd, [в] LT';\n case 1:\n case 2:\n case 4:\n return '[В прошлый] dddd, [в] LT';\n case 3:\n case 5:\n case 6:\n return '[В прошлую] dddd, [в] LT';\n }\n } else {\n if (this.day() === 2) {\n return '[Во] dddd, [в] LT';\n } else {\n return '[В] dddd, [в] LT';\n }\n }\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : 'через %s',\n past : '%s назад',\n s : 'несколько секунд',\n ss : relativeTimeWithPlural,\n m : relativeTimeWithPlural,\n mm : relativeTimeWithPlural,\n h : 'час',\n hh : relativeTimeWithPlural,\n d : 'день',\n dd : relativeTimeWithPlural,\n M : 'месяц',\n MM : relativeTimeWithPlural,\n y : 'год',\n yy : relativeTimeWithPlural\n },\n meridiemParse: /ночи|утра|дня|вечера/i,\n isPM : function (input) {\n return /^(дня|вечера)$/.test(input);\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ночи';\n } else if (hour < 12) {\n return 'утра';\n } else if (hour < 17) {\n return 'дня';\n } else {\n return 'вечера';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(й|го|я)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'M':\n case 'd':\n case 'DDD':\n return number + '-й';\n case 'D':\n return number + '-го';\n case 'w':\n case 'W':\n return number + '-я';\n default:\n return number;\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return ru;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n var format = {\n 'ss': 'secunde',\n 'mm': 'minute',\n 'hh': 'ore',\n 'dd': 'zile',\n 'MM': 'luni',\n 'yy': 'ani'\n },\n separator = ' ';\n if (number % 100 >= 20 || (number >= 100 && number % 100 === 0)) {\n separator = ' de ';\n }\n return number + separator + format[key];\n }\n\n var ro = moment.defineLocale('ro', {\n months : 'ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie'.split('_'),\n monthsShort : 'ian._febr._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays : 'duminică_luni_marți_miercuri_joi_vineri_sâmbătă'.split('_'),\n weekdaysShort : 'Dum_Lun_Mar_Mie_Joi_Vin_Sâm'.split('_'),\n weekdaysMin : 'Du_Lu_Ma_Mi_Jo_Vi_Sâ'.split('_'),\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY H:mm',\n LLLL : 'dddd, D MMMM YYYY H:mm'\n },\n calendar : {\n sameDay: '[azi la] LT',\n nextDay: '[mâine la] LT',\n nextWeek: 'dddd [la] LT',\n lastDay: '[ieri la] LT',\n lastWeek: '[fosta] dddd [la] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'peste %s',\n past : '%s în urmă',\n s : 'câteva secunde',\n ss : relativeTimeWithPlural,\n m : 'un minut',\n mm : relativeTimeWithPlural,\n h : 'o oră',\n hh : relativeTimeWithPlural,\n d : 'o zi',\n dd : relativeTimeWithPlural,\n M : 'o lună',\n MM : relativeTimeWithPlural,\n y : 'un an',\n yy : relativeTimeWithPlural\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return ro;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var ptBr = moment.defineLocale('pt-br', {\n months : 'janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro'.split('_'),\n monthsShort : 'jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez'.split('_'),\n weekdays : 'Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado'.split('_'),\n weekdaysShort : 'Dom_Seg_Ter_Qua_Qui_Sex_Sáb'.split('_'),\n weekdaysMin : 'Do_2ª_3ª_4ª_5ª_6ª_Sá'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D [de] MMMM [de] YYYY',\n LLL : 'D [de] MMMM [de] YYYY [às] HH:mm',\n LLLL : 'dddd, D [de] MMMM [de] YYYY [às] HH:mm'\n },\n calendar : {\n sameDay: '[Hoje às] LT',\n nextDay: '[Amanhã às] LT',\n nextWeek: 'dddd [às] LT',\n lastDay: '[Ontem às] LT',\n lastWeek: function () {\n return (this.day() === 0 || this.day() === 6) ?\n '[Último] dddd [às] LT' : // Saturday + Sunday\n '[Última] dddd [às] LT'; // Monday - Friday\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : 'em %s',\n past : 'há %s',\n s : 'poucos segundos',\n ss : '%d segundos',\n m : 'um minuto',\n mm : '%d minutos',\n h : 'uma hora',\n hh : '%d horas',\n d : 'um dia',\n dd : '%d dias',\n M : 'um mês',\n MM : '%d meses',\n y : 'um ano',\n yy : '%d anos'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal : '%dº'\n });\n\n return ptBr;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var pt = moment.defineLocale('pt', {\n months : 'janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro'.split('_'),\n monthsShort : 'jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez'.split('_'),\n weekdays : 'Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado'.split('_'),\n weekdaysShort : 'Dom_Seg_Ter_Qua_Qui_Sex_Sáb'.split('_'),\n weekdaysMin : 'Do_2ª_3ª_4ª_5ª_6ª_Sá'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D [de] MMMM [de] YYYY',\n LLL : 'D [de] MMMM [de] YYYY HH:mm',\n LLLL : 'dddd, D [de] MMMM [de] YYYY HH:mm'\n },\n calendar : {\n sameDay: '[Hoje às] LT',\n nextDay: '[Amanhã às] LT',\n nextWeek: 'dddd [às] LT',\n lastDay: '[Ontem às] LT',\n lastWeek: function () {\n return (this.day() === 0 || this.day() === 6) ?\n '[Último] dddd [às] LT' : // Saturday + Sunday\n '[Última] dddd [às] LT'; // Monday - Friday\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : 'em %s',\n past : 'há %s',\n s : 'segundos',\n ss : '%d segundos',\n m : 'um minuto',\n mm : '%d minutos',\n h : 'uma hora',\n hh : '%d horas',\n d : 'um dia',\n dd : '%d dias',\n M : 'um mês',\n MM : '%d meses',\n y : 'um ano',\n yy : '%d anos'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal : '%dº',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return pt;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var monthsNominative = 'styczeń_luty_marzec_kwiecień_maj_czerwiec_lipiec_sierpień_wrzesień_październik_listopad_grudzień'.split('_'),\n monthsSubjective = 'stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_września_października_listopada_grudnia'.split('_');\n function plural(n) {\n return (n % 10 < 5) && (n % 10 > 1) && ((~~(n / 10) % 10) !== 1);\n }\n function translate(number, withoutSuffix, key) {\n var result = number + ' ';\n switch (key) {\n case 'ss':\n return result + (plural(number) ? 'sekundy' : 'sekund');\n case 'm':\n return withoutSuffix ? 'minuta' : 'minutę';\n case 'mm':\n return result + (plural(number) ? 'minuty' : 'minut');\n case 'h':\n return withoutSuffix ? 'godzina' : 'godzinę';\n case 'hh':\n return result + (plural(number) ? 'godziny' : 'godzin');\n case 'MM':\n return result + (plural(number) ? 'miesiące' : 'miesięcy');\n case 'yy':\n return result + (plural(number) ? 'lata' : 'lat');\n }\n }\n\n var pl = moment.defineLocale('pl', {\n months : function (momentToFormat, format) {\n if (!momentToFormat) {\n return monthsNominative;\n } else if (format === '') {\n // Hack: if format empty we know this is used to generate\n // RegExp by moment. Give then back both valid forms of months\n // in RegExp ready format.\n return '(' + monthsSubjective[momentToFormat.month()] + '|' + monthsNominative[momentToFormat.month()] + ')';\n } else if (/D MMMM/.test(format)) {\n return monthsSubjective[momentToFormat.month()];\n } else {\n return monthsNominative[momentToFormat.month()];\n }\n },\n monthsShort : 'sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paź_lis_gru'.split('_'),\n weekdays : 'niedziela_poniedziałek_wtorek_środa_czwartek_piątek_sobota'.split('_'),\n weekdaysShort : 'ndz_pon_wt_śr_czw_pt_sob'.split('_'),\n weekdaysMin : 'Nd_Pn_Wt_Śr_Cz_Pt_So'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[Dziś o] LT',\n nextDay: '[Jutro o] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[W niedzielę o] LT';\n\n case 2:\n return '[We wtorek o] LT';\n\n case 3:\n return '[W środę o] LT';\n\n case 6:\n return '[W sobotę o] LT';\n\n default:\n return '[W] dddd [o] LT';\n }\n },\n lastDay: '[Wczoraj o] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[W zeszłą niedzielę o] LT';\n case 3:\n return '[W zeszłą środę o] LT';\n case 6:\n return '[W zeszłą sobotę o] LT';\n default:\n return '[W zeszły] dddd [o] LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : 'za %s',\n past : '%s temu',\n s : 'kilka sekund',\n ss : translate,\n m : translate,\n mm : translate,\n h : translate,\n hh : translate,\n d : '1 dzień',\n dd : '%d dni',\n M : 'miesiąc',\n MM : translate,\n y : 'rok',\n yy : translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return pl;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '੧',\n '2': '੨',\n '3': '੩',\n '4': '੪',\n '5': '੫',\n '6': '੬',\n '7': '੭',\n '8': '੮',\n '9': '੯',\n '0': '੦'\n },\n numberMap = {\n '੧': '1',\n '੨': '2',\n '੩': '3',\n '੪': '4',\n '੫': '5',\n '੬': '6',\n '੭': '7',\n '੮': '8',\n '੯': '9',\n '੦': '0'\n };\n\n var paIn = moment.defineLocale('pa-in', {\n // There are months name as per Nanakshahi Calender but they are not used as rigidly in modern Punjabi.\n months : 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split('_'),\n monthsShort : 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split('_'),\n weekdays : 'ਐਤਵਾਰ_ਸੋਮਵਾਰ_ਮੰਗਲਵਾਰ_ਬੁਧਵਾਰ_ਵੀਰਵਾਰ_ਸ਼ੁੱਕਰਵਾਰ_ਸ਼ਨੀਚਰਵਾਰ'.split('_'),\n weekdaysShort : 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'),\n weekdaysMin : 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'),\n longDateFormat : {\n LT : 'A h:mm ਵਜੇ',\n LTS : 'A h:mm:ss ਵਜੇ',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, A h:mm ਵਜੇ',\n LLLL : 'dddd, D MMMM YYYY, A h:mm ਵਜੇ'\n },\n calendar : {\n sameDay : '[ਅਜ] LT',\n nextDay : '[ਕਲ] LT',\n nextWeek : '[ਅਗਲਾ] dddd, LT',\n lastDay : '[ਕਲ] LT',\n lastWeek : '[ਪਿਛਲੇ] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s ਵਿੱਚ',\n past : '%s ਪਿਛਲੇ',\n s : 'ਕੁਝ ਸਕਿੰਟ',\n ss : '%d ਸਕਿੰਟ',\n m : 'ਇਕ ਮਿੰਟ',\n mm : '%d ਮਿੰਟ',\n h : 'ਇੱਕ ਘੰਟਾ',\n hh : '%d ਘੰਟੇ',\n d : 'ਇੱਕ ਦਿਨ',\n dd : '%d ਦਿਨ',\n M : 'ਇੱਕ ਮਹੀਨਾ',\n MM : '%d ਮਹੀਨੇ',\n y : 'ਇੱਕ ਸਾਲ',\n yy : '%d ਸਾਲ'\n },\n preparse: function (string) {\n return string.replace(/[੧੨੩੪੫੬੭੮੯੦]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n // Punjabi notation for meridiems are quite fuzzy in practice. While there exists\n // a rigid notion of a 'Pahar' it is not used as rigidly in modern Punjabi.\n meridiemParse: /ਰਾਤ|ਸਵੇਰ|ਦੁਪਹਿਰ|ਸ਼ਾਮ/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'ਰਾਤ') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'ਸਵੇਰ') {\n return hour;\n } else if (meridiem === 'ਦੁਪਹਿਰ') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'ਸ਼ਾਮ') {\n return hour + 12;\n }\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ਰਾਤ';\n } else if (hour < 10) {\n return 'ਸਵੇਰ';\n } else if (hour < 17) {\n return 'ਦੁਪਹਿਰ';\n } else if (hour < 20) {\n return 'ਸ਼ਾਮ';\n } else {\n return 'ਰਾਤ';\n }\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return paIn;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var nn = moment.defineLocale('nn', {\n months : 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split('_'),\n monthsShort : 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'),\n weekdays : 'sundag_måndag_tysdag_onsdag_torsdag_fredag_laurdag'.split('_'),\n weekdaysShort : 'sun_mån_tys_ons_tor_fre_lau'.split('_'),\n weekdaysMin : 'su_må_ty_on_to_fr_lø'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY [kl.] H:mm',\n LLLL : 'dddd D. MMMM YYYY [kl.] HH:mm'\n },\n calendar : {\n sameDay: '[I dag klokka] LT',\n nextDay: '[I morgon klokka] LT',\n nextWeek: 'dddd [klokka] LT',\n lastDay: '[I går klokka] LT',\n lastWeek: '[Føregåande] dddd [klokka] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'om %s',\n past : '%s sidan',\n s : 'nokre sekund',\n ss : '%d sekund',\n m : 'eit minutt',\n mm : '%d minutt',\n h : 'ein time',\n hh : '%d timar',\n d : 'ein dag',\n dd : '%d dagar',\n M : 'ein månad',\n MM : '%d månader',\n y : 'eit år',\n yy : '%d år'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return nn;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var monthsShortWithDots = 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'),\n monthsShortWithoutDots = 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_');\n\n var monthsParse = [/^jan/i, /^feb/i, /^maart|mrt.?$/i, /^apr/i, /^mei$/i, /^jun[i.]?$/i, /^jul[i.]?$/i, /^aug/i, /^sep/i, /^okt/i, /^nov/i, /^dec/i];\n var monthsRegex = /^(januari|februari|maart|april|mei|april|ju[nl]i|augustus|september|oktober|november|december|jan\\.?|feb\\.?|mrt\\.?|apr\\.?|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i;\n\n var nlBe = moment.defineLocale('nl-be', {\n months : 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split('_'),\n monthsShort : function (m, format) {\n if (!m) {\n return monthsShortWithDots;\n } else if (/-MMM-/.test(format)) {\n return monthsShortWithoutDots[m.month()];\n } else {\n return monthsShortWithDots[m.month()];\n }\n },\n\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: /^(januari|februari|maart|mei|ju[nl]i|april|augustus|september|oktober|november|december)/i,\n monthsShortStrictRegex: /^(jan\\.?|feb\\.?|mrt\\.?|apr\\.?|mei|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i,\n\n monthsParse : monthsParse,\n longMonthsParse : monthsParse,\n shortMonthsParse : monthsParse,\n\n weekdays : 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split('_'),\n weekdaysShort : 'zo._ma._di._wo._do._vr._za.'.split('_'),\n weekdaysMin : 'zo_ma_di_wo_do_vr_za'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[vandaag om] LT',\n nextDay: '[morgen om] LT',\n nextWeek: 'dddd [om] LT',\n lastDay: '[gisteren om] LT',\n lastWeek: '[afgelopen] dddd [om] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'over %s',\n past : '%s geleden',\n s : 'een paar seconden',\n ss : '%d seconden',\n m : 'één minuut',\n mm : '%d minuten',\n h : 'één uur',\n hh : '%d uur',\n d : 'één dag',\n dd : '%d dagen',\n M : 'één maand',\n MM : '%d maanden',\n y : 'één jaar',\n yy : '%d jaar'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n ordinal : function (number) {\n return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de');\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return nlBe;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var monthsShortWithDots = 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'),\n monthsShortWithoutDots = 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_');\n\n var monthsParse = [/^jan/i, /^feb/i, /^maart|mrt.?$/i, /^apr/i, /^mei$/i, /^jun[i.]?$/i, /^jul[i.]?$/i, /^aug/i, /^sep/i, /^okt/i, /^nov/i, /^dec/i];\n var monthsRegex = /^(januari|februari|maart|april|mei|april|ju[nl]i|augustus|september|oktober|november|december|jan\\.?|feb\\.?|mrt\\.?|apr\\.?|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i;\n\n var nl = moment.defineLocale('nl', {\n months : 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split('_'),\n monthsShort : function (m, format) {\n if (!m) {\n return monthsShortWithDots;\n } else if (/-MMM-/.test(format)) {\n return monthsShortWithoutDots[m.month()];\n } else {\n return monthsShortWithDots[m.month()];\n }\n },\n\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: /^(januari|februari|maart|mei|ju[nl]i|april|augustus|september|oktober|november|december)/i,\n monthsShortStrictRegex: /^(jan\\.?|feb\\.?|mrt\\.?|apr\\.?|mei|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i,\n\n monthsParse : monthsParse,\n longMonthsParse : monthsParse,\n shortMonthsParse : monthsParse,\n\n weekdays : 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split('_'),\n weekdaysShort : 'zo._ma._di._wo._do._vr._za.'.split('_'),\n weekdaysMin : 'zo_ma_di_wo_do_vr_za'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD-MM-YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[vandaag om] LT',\n nextDay: '[morgen om] LT',\n nextWeek: 'dddd [om] LT',\n lastDay: '[gisteren om] LT',\n lastWeek: '[afgelopen] dddd [om] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'over %s',\n past : '%s geleden',\n s : 'een paar seconden',\n ss : '%d seconden',\n m : 'één minuut',\n mm : '%d minuten',\n h : 'één uur',\n hh : '%d uur',\n d : 'één dag',\n dd : '%d dagen',\n M : 'één maand',\n MM : '%d maanden',\n y : 'één jaar',\n yy : '%d jaar'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n ordinal : function (number) {\n return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de');\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return nl;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '१',\n '2': '२',\n '3': '३',\n '4': '४',\n '5': '५',\n '6': '६',\n '7': '७',\n '8': '८',\n '9': '९',\n '0': '०'\n },\n numberMap = {\n '१': '1',\n '२': '2',\n '३': '3',\n '४': '4',\n '५': '5',\n '६': '6',\n '७': '7',\n '८': '8',\n '९': '9',\n '०': '0'\n };\n\n var ne = moment.defineLocale('ne', {\n months : 'जनवरी_फेब्रुवरी_मार्च_अप्रिल_मई_जुन_जुलाई_अगष्ट_सेप्टेम्बर_अक्टोबर_नोभेम्बर_डिसेम्बर'.split('_'),\n monthsShort : 'जन._फेब्रु._मार्च_अप्रि._मई_जुन_जुलाई._अग._सेप्ट._अक्टो._नोभे._डिसे.'.split('_'),\n monthsParseExact : true,\n weekdays : 'आइतबार_सोमबार_मङ्गलबार_बुधबार_बिहिबार_शुक्रबार_शनिबार'.split('_'),\n weekdaysShort : 'आइत._सोम._मङ्गल._बुध._बिहि._शुक्र._शनि.'.split('_'),\n weekdaysMin : 'आ._सो._मं._बु._बि._शु._श.'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'Aको h:mm बजे',\n LTS : 'Aको h:mm:ss बजे',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, Aको h:mm बजे',\n LLLL : 'dddd, D MMMM YYYY, Aको h:mm बजे'\n },\n preparse: function (string) {\n return string.replace(/[१२३४५६७८९०]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /राति|बिहान|दिउँसो|साँझ/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'राति') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'बिहान') {\n return hour;\n } else if (meridiem === 'दिउँसो') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'साँझ') {\n return hour + 12;\n }\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 3) {\n return 'राति';\n } else if (hour < 12) {\n return 'बिहान';\n } else if (hour < 16) {\n return 'दिउँसो';\n } else if (hour < 20) {\n return 'साँझ';\n } else {\n return 'राति';\n }\n },\n calendar : {\n sameDay : '[आज] LT',\n nextDay : '[भोलि] LT',\n nextWeek : '[आउँदो] dddd[,] LT',\n lastDay : '[हिजो] LT',\n lastWeek : '[गएको] dddd[,] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%sमा',\n past : '%s अगाडि',\n s : 'केही क्षण',\n ss : '%d सेकेण्ड',\n m : 'एक मिनेट',\n mm : '%d मिनेट',\n h : 'एक घण्टा',\n hh : '%d घण्टा',\n d : 'एक दिन',\n dd : '%d दिन',\n M : 'एक महिना',\n MM : '%d महिना',\n y : 'एक बर्ष',\n yy : '%d बर्ष'\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return ne;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var nb = moment.defineLocale('nb', {\n months : 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split('_'),\n monthsShort : 'jan._feb._mars_april_mai_juni_juli_aug._sep._okt._nov._des.'.split('_'),\n monthsParseExact : true,\n weekdays : 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),\n weekdaysShort : 'sø._ma._ti._on._to._fr._lø.'.split('_'),\n weekdaysMin : 'sø_ma_ti_on_to_fr_lø'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY [kl.] HH:mm',\n LLLL : 'dddd D. MMMM YYYY [kl.] HH:mm'\n },\n calendar : {\n sameDay: '[i dag kl.] LT',\n nextDay: '[i morgen kl.] LT',\n nextWeek: 'dddd [kl.] LT',\n lastDay: '[i går kl.] LT',\n lastWeek: '[forrige] dddd [kl.] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'om %s',\n past : '%s siden',\n s : 'noen sekunder',\n ss : '%d sekunder',\n m : 'ett minutt',\n mm : '%d minutter',\n h : 'en time',\n hh : '%d timer',\n d : 'en dag',\n dd : '%d dager',\n M : 'en måned',\n MM : '%d måneder',\n y : 'ett år',\n yy : '%d år'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return nb;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '၁',\n '2': '၂',\n '3': '၃',\n '4': '၄',\n '5': '၅',\n '6': '၆',\n '7': '၇',\n '8': '၈',\n '9': '၉',\n '0': '၀'\n }, numberMap = {\n '၁': '1',\n '၂': '2',\n '၃': '3',\n '၄': '4',\n '၅': '5',\n '၆': '6',\n '၇': '7',\n '၈': '8',\n '၉': '9',\n '၀': '0'\n };\n\n var my = moment.defineLocale('my', {\n months: 'ဇန်နဝါရီ_ဖေဖော်ဝါရီ_မတ်_ဧပြီ_မေ_ဇွန်_ဇူလိုင်_သြဂုတ်_စက်တင်ဘာ_အောက်တိုဘာ_နိုဝင်ဘာ_ဒီဇင်ဘာ'.split('_'),\n monthsShort: 'ဇန်_ဖေ_မတ်_ပြီ_မေ_ဇွန်_လိုင်_သြ_စက်_အောက်_နို_ဒီ'.split('_'),\n weekdays: 'တနင်္ဂနွေ_တနင်္လာ_အင်္ဂါ_ဗုဒ္ဓဟူး_ကြာသပတေး_သောကြာ_စနေ'.split('_'),\n weekdaysShort: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'),\n weekdaysMin: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'),\n\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[ယနေ.] LT [မှာ]',\n nextDay: '[မနက်ဖြန်] LT [မှာ]',\n nextWeek: 'dddd LT [မှာ]',\n lastDay: '[မနေ.က] LT [မှာ]',\n lastWeek: '[ပြီးခဲ့သော] dddd LT [မှာ]',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'လာမည့် %s မှာ',\n past: 'လွန်ခဲ့သော %s က',\n s: 'စက္ကန်.အနည်းငယ်',\n ss : '%d စက္ကန့်',\n m: 'တစ်မိနစ်',\n mm: '%d မိနစ်',\n h: 'တစ်နာရီ',\n hh: '%d နာရီ',\n d: 'တစ်ရက်',\n dd: '%d ရက်',\n M: 'တစ်လ',\n MM: '%d လ',\n y: 'တစ်နှစ်',\n yy: '%d နှစ်'\n },\n preparse: function (string) {\n return string.replace(/[၁၂၃၄၅၆၇၈၉၀]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return my;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var mt = moment.defineLocale('mt', {\n months : 'Jannar_Frar_Marzu_April_Mejju_Ġunju_Lulju_Awwissu_Settembru_Ottubru_Novembru_Diċembru'.split('_'),\n monthsShort : 'Jan_Fra_Mar_Apr_Mej_Ġun_Lul_Aww_Set_Ott_Nov_Diċ'.split('_'),\n weekdays : 'Il-Ħadd_It-Tnejn_It-Tlieta_L-Erbgħa_Il-Ħamis_Il-Ġimgħa_Is-Sibt'.split('_'),\n weekdaysShort : 'Ħad_Tne_Tli_Erb_Ħam_Ġim_Sib'.split('_'),\n weekdaysMin : 'Ħa_Tn_Tl_Er_Ħa_Ġi_Si'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Illum fil-]LT',\n nextDay : '[Għada fil-]LT',\n nextWeek : 'dddd [fil-]LT',\n lastDay : '[Il-bieraħ fil-]LT',\n lastWeek : 'dddd [li għadda] [fil-]LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'f’ %s',\n past : '%s ilu',\n s : 'ftit sekondi',\n ss : '%d sekondi',\n m : 'minuta',\n mm : '%d minuti',\n h : 'siegħa',\n hh : '%d siegħat',\n d : 'ġurnata',\n dd : '%d ġranet',\n M : 'xahar',\n MM : '%d xhur',\n y : 'sena',\n yy : '%d sni'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}º/,\n ordinal: '%dº',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return mt;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var msMy = moment.defineLocale('ms-my', {\n months : 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split('_'),\n monthsShort : 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'),\n weekdays : 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'),\n weekdaysShort : 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'),\n weekdaysMin : 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'),\n longDateFormat : {\n LT : 'HH.mm',\n LTS : 'HH.mm.ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY [pukul] HH.mm',\n LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm'\n },\n meridiemParse: /pagi|tengahari|petang|malam/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'pagi') {\n return hour;\n } else if (meridiem === 'tengahari') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'petang' || meridiem === 'malam') {\n return hour + 12;\n }\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'pagi';\n } else if (hours < 15) {\n return 'tengahari';\n } else if (hours < 19) {\n return 'petang';\n } else {\n return 'malam';\n }\n },\n calendar : {\n sameDay : '[Hari ini pukul] LT',\n nextDay : '[Esok pukul] LT',\n nextWeek : 'dddd [pukul] LT',\n lastDay : '[Kelmarin pukul] LT',\n lastWeek : 'dddd [lepas pukul] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'dalam %s',\n past : '%s yang lepas',\n s : 'beberapa saat',\n ss : '%d saat',\n m : 'seminit',\n mm : '%d minit',\n h : 'sejam',\n hh : '%d jam',\n d : 'sehari',\n dd : '%d hari',\n M : 'sebulan',\n MM : '%d bulan',\n y : 'setahun',\n yy : '%d tahun'\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return msMy;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var ms = moment.defineLocale('ms', {\n months : 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split('_'),\n monthsShort : 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'),\n weekdays : 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'),\n weekdaysShort : 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'),\n weekdaysMin : 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'),\n longDateFormat : {\n LT : 'HH.mm',\n LTS : 'HH.mm.ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY [pukul] HH.mm',\n LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm'\n },\n meridiemParse: /pagi|tengahari|petang|malam/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'pagi') {\n return hour;\n } else if (meridiem === 'tengahari') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'petang' || meridiem === 'malam') {\n return hour + 12;\n }\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'pagi';\n } else if (hours < 15) {\n return 'tengahari';\n } else if (hours < 19) {\n return 'petang';\n } else {\n return 'malam';\n }\n },\n calendar : {\n sameDay : '[Hari ini pukul] LT',\n nextDay : '[Esok pukul] LT',\n nextWeek : 'dddd [pukul] LT',\n lastDay : '[Kelmarin pukul] LT',\n lastWeek : 'dddd [lepas pukul] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'dalam %s',\n past : '%s yang lepas',\n s : 'beberapa saat',\n ss : '%d saat',\n m : 'seminit',\n mm : '%d minit',\n h : 'sejam',\n hh : '%d jam',\n d : 'sehari',\n dd : '%d hari',\n M : 'sebulan',\n MM : '%d bulan',\n y : 'setahun',\n yy : '%d tahun'\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return ms;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '१',\n '2': '२',\n '3': '३',\n '4': '४',\n '5': '५',\n '6': '६',\n '7': '७',\n '8': '८',\n '9': '९',\n '0': '०'\n },\n numberMap = {\n '१': '1',\n '२': '2',\n '३': '3',\n '४': '4',\n '५': '5',\n '६': '6',\n '७': '7',\n '८': '8',\n '९': '9',\n '०': '0'\n };\n\n function relativeTimeMr(number, withoutSuffix, string, isFuture)\n {\n var output = '';\n if (withoutSuffix) {\n switch (string) {\n case 's': output = 'काही सेकंद'; break;\n case 'ss': output = '%d सेकंद'; break;\n case 'm': output = 'एक मिनिट'; break;\n case 'mm': output = '%d मिनिटे'; break;\n case 'h': output = 'एक तास'; break;\n case 'hh': output = '%d तास'; break;\n case 'd': output = 'एक दिवस'; break;\n case 'dd': output = '%d दिवस'; break;\n case 'M': output = 'एक महिना'; break;\n case 'MM': output = '%d महिने'; break;\n case 'y': output = 'एक वर्ष'; break;\n case 'yy': output = '%d वर्षे'; break;\n }\n }\n else {\n switch (string) {\n case 's': output = 'काही सेकंदां'; break;\n case 'ss': output = '%d सेकंदां'; break;\n case 'm': output = 'एका मिनिटा'; break;\n case 'mm': output = '%d मिनिटां'; break;\n case 'h': output = 'एका तासा'; break;\n case 'hh': output = '%d तासां'; break;\n case 'd': output = 'एका दिवसा'; break;\n case 'dd': output = '%d दिवसां'; break;\n case 'M': output = 'एका महिन्या'; break;\n case 'MM': output = '%d महिन्यां'; break;\n case 'y': output = 'एका वर्षा'; break;\n case 'yy': output = '%d वर्षां'; break;\n }\n }\n return output.replace(/%d/i, number);\n }\n\n var mr = moment.defineLocale('mr', {\n months : 'जानेवारी_फेब्रुवारी_मार्च_एप्रिल_मे_जून_जुलै_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर'.split('_'),\n monthsShort: 'जाने._फेब्रु._मार्च._एप्रि._मे._जून._जुलै._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.'.split('_'),\n monthsParseExact : true,\n weekdays : 'रविवार_सोमवार_मंगळवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'),\n weekdaysShort : 'रवि_सोम_मंगळ_बुध_गुरू_शुक्र_शनि'.split('_'),\n weekdaysMin : 'र_सो_मं_बु_गु_शु_श'.split('_'),\n longDateFormat : {\n LT : 'A h:mm वाजता',\n LTS : 'A h:mm:ss वाजता',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, A h:mm वाजता',\n LLLL : 'dddd, D MMMM YYYY, A h:mm वाजता'\n },\n calendar : {\n sameDay : '[आज] LT',\n nextDay : '[उद्या] LT',\n nextWeek : 'dddd, LT',\n lastDay : '[काल] LT',\n lastWeek: '[मागील] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future: '%sमध्ये',\n past: '%sपूर्वी',\n s: relativeTimeMr,\n ss: relativeTimeMr,\n m: relativeTimeMr,\n mm: relativeTimeMr,\n h: relativeTimeMr,\n hh: relativeTimeMr,\n d: relativeTimeMr,\n dd: relativeTimeMr,\n M: relativeTimeMr,\n MM: relativeTimeMr,\n y: relativeTimeMr,\n yy: relativeTimeMr\n },\n preparse: function (string) {\n return string.replace(/[१२३४५६७८९०]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /रात्री|सकाळी|दुपारी|सायंकाळी/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'रात्री') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'सकाळी') {\n return hour;\n } else if (meridiem === 'दुपारी') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'सायंकाळी') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'रात्री';\n } else if (hour < 10) {\n return 'सकाळी';\n } else if (hour < 17) {\n return 'दुपारी';\n } else if (hour < 20) {\n return 'सायंकाळी';\n } else {\n return 'रात्री';\n }\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return mr;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function translate(number, withoutSuffix, key, isFuture) {\n switch (key) {\n case 's':\n return withoutSuffix ? 'хэдхэн секунд' : 'хэдхэн секундын';\n case 'ss':\n return number + (withoutSuffix ? ' секунд' : ' секундын');\n case 'm':\n case 'mm':\n return number + (withoutSuffix ? ' минут' : ' минутын');\n case 'h':\n case 'hh':\n return number + (withoutSuffix ? ' цаг' : ' цагийн');\n case 'd':\n case 'dd':\n return number + (withoutSuffix ? ' өдөр' : ' өдрийн');\n case 'M':\n case 'MM':\n return number + (withoutSuffix ? ' сар' : ' сарын');\n case 'y':\n case 'yy':\n return number + (withoutSuffix ? ' жил' : ' жилийн');\n default:\n return number;\n }\n }\n\n var mn = moment.defineLocale('mn', {\n months : 'Нэгдүгээр сар_Хоёрдугаар сар_Гуравдугаар сар_Дөрөвдүгээр сар_Тавдугаар сар_Зургадугаар сар_Долдугаар сар_Наймдугаар сар_Есдүгээр сар_Аравдугаар сар_Арван нэгдүгээр сар_Арван хоёрдугаар сар'.split('_'),\n monthsShort : '1 сар_2 сар_3 сар_4 сар_5 сар_6 сар_7 сар_8 сар_9 сар_10 сар_11 сар_12 сар'.split('_'),\n monthsParseExact : true,\n weekdays : 'Ням_Даваа_Мягмар_Лхагва_Пүрэв_Баасан_Бямба'.split('_'),\n weekdaysShort : 'Ням_Дав_Мяг_Лха_Пүр_Баа_Бям'.split('_'),\n weekdaysMin : 'Ня_Да_Мя_Лх_Пү_Ба_Бя'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY-MM-DD',\n LL : 'YYYY оны MMMMын D',\n LLL : 'YYYY оны MMMMын D HH:mm',\n LLLL : 'dddd, YYYY оны MMMMын D HH:mm'\n },\n meridiemParse: /ҮӨ|ҮХ/i,\n isPM : function (input) {\n return input === 'ҮХ';\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ҮӨ';\n } else {\n return 'ҮХ';\n }\n },\n calendar : {\n sameDay : '[Өнөөдөр] LT',\n nextDay : '[Маргааш] LT',\n nextWeek : '[Ирэх] dddd LT',\n lastDay : '[Өчигдөр] LT',\n lastWeek : '[Өнгөрсөн] dddd LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s дараа',\n past : '%s өмнө',\n s : translate,\n ss : translate,\n m : translate,\n mm : translate,\n h : translate,\n hh : translate,\n d : translate,\n dd : translate,\n M : translate,\n MM : translate,\n y : translate,\n yy : translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2} өдөр/,\n ordinal : function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + ' өдөр';\n default:\n return number;\n }\n }\n });\n\n return mn;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var ml = moment.defineLocale('ml', {\n months : 'ജനുവരി_ഫെബ്രുവരി_മാർച്ച്_ഏപ്രിൽ_മേയ്_ജൂൺ_ജൂലൈ_ഓഗസ്റ്റ്_സെപ്റ്റംബർ_ഒക്ടോബർ_നവംബർ_ഡിസംബർ'.split('_'),\n monthsShort : 'ജനു._ഫെബ്രു._മാർ._ഏപ്രി._മേയ്_ജൂൺ_ജൂലൈ._ഓഗ._സെപ്റ്റ._ഒക്ടോ._നവം._ഡിസം.'.split('_'),\n monthsParseExact : true,\n weekdays : 'ഞായറാഴ്ച_തിങ്കളാഴ്ച_ചൊവ്വാഴ്ച_ബുധനാഴ്ച_വ്യാഴാഴ്ച_വെള്ളിയാഴ്ച_ശനിയാഴ്ച'.split('_'),\n weekdaysShort : 'ഞായർ_തിങ്കൾ_ചൊവ്വ_ബുധൻ_വ്യാഴം_വെള്ളി_ശനി'.split('_'),\n weekdaysMin : 'ഞാ_തി_ചൊ_ബു_വ്യാ_വെ_ശ'.split('_'),\n longDateFormat : {\n LT : 'A h:mm -നു',\n LTS : 'A h:mm:ss -നു',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, A h:mm -നു',\n LLLL : 'dddd, D MMMM YYYY, A h:mm -നു'\n },\n calendar : {\n sameDay : '[ഇന്ന്] LT',\n nextDay : '[നാളെ] LT',\n nextWeek : 'dddd, LT',\n lastDay : '[ഇന്നലെ] LT',\n lastWeek : '[കഴിഞ്ഞ] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s കഴിഞ്ഞ്',\n past : '%s മുൻപ്',\n s : 'അൽപ നിമിഷങ്ങൾ',\n ss : '%d സെക്കൻഡ്',\n m : 'ഒരു മിനിറ്റ്',\n mm : '%d മിനിറ്റ്',\n h : 'ഒരു മണിക്കൂർ',\n hh : '%d മണിക്കൂർ',\n d : 'ഒരു ദിവസം',\n dd : '%d ദിവസം',\n M : 'ഒരു മാസം',\n MM : '%d മാസം',\n y : 'ഒരു വർഷം',\n yy : '%d വർഷം'\n },\n meridiemParse: /രാത്രി|രാവിലെ|ഉച്ച കഴിഞ്ഞ്|വൈകുന്നേരം|രാത്രി/i,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if ((meridiem === 'രാത്രി' && hour >= 4) ||\n meridiem === 'ഉച്ച കഴിഞ്ഞ്' ||\n meridiem === 'വൈകുന്നേരം') {\n return hour + 12;\n } else {\n return hour;\n }\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'രാത്രി';\n } else if (hour < 12) {\n return 'രാവിലെ';\n } else if (hour < 17) {\n return 'ഉച്ച കഴിഞ്ഞ്';\n } else if (hour < 20) {\n return 'വൈകുന്നേരം';\n } else {\n return 'രാത്രി';\n }\n }\n });\n\n return ml;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var mk = moment.defineLocale('mk', {\n months : 'јануари_февруари_март_април_мај_јуни_јули_август_септември_октомври_ноември_декември'.split('_'),\n monthsShort : 'јан_фев_мар_апр_мај_јун_јул_авг_сеп_окт_ное_дек'.split('_'),\n weekdays : 'недела_понеделник_вторник_среда_четврток_петок_сабота'.split('_'),\n weekdaysShort : 'нед_пон_вто_сре_чет_пет_саб'.split('_'),\n weekdaysMin : 'нe_пo_вт_ср_че_пе_сa'.split('_'),\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'D.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY H:mm',\n LLLL : 'dddd, D MMMM YYYY H:mm'\n },\n calendar : {\n sameDay : '[Денес во] LT',\n nextDay : '[Утре во] LT',\n nextWeek : '[Во] dddd [во] LT',\n lastDay : '[Вчера во] LT',\n lastWeek : function () {\n switch (this.day()) {\n case 0:\n case 3:\n case 6:\n return '[Изминатата] dddd [во] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[Изминатиот] dddd [во] LT';\n }\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'после %s',\n past : 'пред %s',\n s : 'неколку секунди',\n ss : '%d секунди',\n m : 'минута',\n mm : '%d минути',\n h : 'час',\n hh : '%d часа',\n d : 'ден',\n dd : '%d дена',\n M : 'месец',\n MM : '%d месеци',\n y : 'година',\n yy : '%d години'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ев|ен|ти|ви|ри|ми)/,\n ordinal : function (number) {\n var lastDigit = number % 10,\n last2Digits = number % 100;\n if (number === 0) {\n return number + '-ев';\n } else if (last2Digits === 0) {\n return number + '-ен';\n } else if (last2Digits > 10 && last2Digits < 20) {\n return number + '-ти';\n } else if (lastDigit === 1) {\n return number + '-ви';\n } else if (lastDigit === 2) {\n return number + '-ри';\n } else if (lastDigit === 7 || lastDigit === 8) {\n return number + '-ми';\n } else {\n return number + '-ти';\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return mk;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var mi = moment.defineLocale('mi', {\n months: 'Kohi-tāte_Hui-tanguru_Poutū-te-rangi_Paenga-whāwhā_Haratua_Pipiri_Hōngoingoi_Here-turi-kōkā_Mahuru_Whiringa-ā-nuku_Whiringa-ā-rangi_Hakihea'.split('_'),\n monthsShort: 'Kohi_Hui_Pou_Pae_Hara_Pipi_Hōngoi_Here_Mahu_Whi-nu_Whi-ra_Haki'.split('_'),\n monthsRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,\n monthsStrictRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,\n monthsShortRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,\n monthsShortStrictRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,2}/i,\n weekdays: 'Rātapu_Mane_Tūrei_Wenerei_Tāite_Paraire_Hātarei'.split('_'),\n weekdaysShort: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'),\n weekdaysMin: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY [i] HH:mm',\n LLLL: 'dddd, D MMMM YYYY [i] HH:mm'\n },\n calendar: {\n sameDay: '[i teie mahana, i] LT',\n nextDay: '[apopo i] LT',\n nextWeek: 'dddd [i] LT',\n lastDay: '[inanahi i] LT',\n lastWeek: 'dddd [whakamutunga i] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'i roto i %s',\n past: '%s i mua',\n s: 'te hēkona ruarua',\n ss: '%d hēkona',\n m: 'he meneti',\n mm: '%d meneti',\n h: 'te haora',\n hh: '%d haora',\n d: 'he ra',\n dd: '%d ra',\n M: 'he marama',\n MM: '%d marama',\n y: 'he tau',\n yy: '%d tau'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return mi;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var translator = {\n words: { //Different grammatical cases\n ss: ['sekund', 'sekunda', 'sekundi'],\n m: ['jedan minut', 'jednog minuta'],\n mm: ['minut', 'minuta', 'minuta'],\n h: ['jedan sat', 'jednog sata'],\n hh: ['sat', 'sata', 'sati'],\n dd: ['dan', 'dana', 'dana'],\n MM: ['mjesec', 'mjeseca', 'mjeseci'],\n yy: ['godina', 'godine', 'godina']\n },\n correctGrammaticalCase: function (number, wordKey) {\n return number === 1 ? wordKey[0] : (number >= 2 && number <= 4 ? wordKey[1] : wordKey[2]);\n },\n translate: function (number, withoutSuffix, key) {\n var wordKey = translator.words[key];\n if (key.length === 1) {\n return withoutSuffix ? wordKey[0] : wordKey[1];\n } else {\n return number + ' ' + translator.correctGrammaticalCase(number, wordKey);\n }\n }\n };\n\n var me = moment.defineLocale('me', {\n months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split('_'),\n monthsShort: 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split('_'),\n monthsParseExact : true,\n weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split('_'),\n weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact : true,\n longDateFormat: {\n LT: 'H:mm',\n LTS : 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd, D. MMMM YYYY H:mm'\n },\n calendar: {\n sameDay: '[danas u] LT',\n nextDay: '[sjutra u] LT',\n\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[u] [nedjelju] [u] LT';\n case 3:\n return '[u] [srijedu] [u] LT';\n case 6:\n return '[u] [subotu] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay : '[juče u] LT',\n lastWeek : function () {\n var lastWeekDays = [\n '[prošle] [nedjelje] [u] LT',\n '[prošlog] [ponedjeljka] [u] LT',\n '[prošlog] [utorka] [u] LT',\n '[prošle] [srijede] [u] LT',\n '[prošlog] [četvrtka] [u] LT',\n '[prošlog] [petka] [u] LT',\n '[prošle] [subote] [u] LT'\n ];\n return lastWeekDays[this.day()];\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'za %s',\n past : 'prije %s',\n s : 'nekoliko sekundi',\n ss : translator.translate,\n m : translator.translate,\n mm : translator.translate,\n h : translator.translate,\n hh : translator.translate,\n d : 'dan',\n dd : translator.translate,\n M : 'mjesec',\n MM : translator.translate,\n y : 'godinu',\n yy : translator.translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return me;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var units = {\n 'ss': 'sekundes_sekundēm_sekunde_sekundes'.split('_'),\n 'm': 'minūtes_minūtēm_minūte_minūtes'.split('_'),\n 'mm': 'minūtes_minūtēm_minūte_minūtes'.split('_'),\n 'h': 'stundas_stundām_stunda_stundas'.split('_'),\n 'hh': 'stundas_stundām_stunda_stundas'.split('_'),\n 'd': 'dienas_dienām_diena_dienas'.split('_'),\n 'dd': 'dienas_dienām_diena_dienas'.split('_'),\n 'M': 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'),\n 'MM': 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'),\n 'y': 'gada_gadiem_gads_gadi'.split('_'),\n 'yy': 'gada_gadiem_gads_gadi'.split('_')\n };\n /**\n * @param withoutSuffix boolean true = a length of time; false = before/after a period of time.\n */\n function format(forms, number, withoutSuffix) {\n if (withoutSuffix) {\n // E.g. \"21 minūte\", \"3 minūtes\".\n return number % 10 === 1 && number % 100 !== 11 ? forms[2] : forms[3];\n } else {\n // E.g. \"21 minūtes\" as in \"pēc 21 minūtes\".\n // E.g. \"3 minūtēm\" as in \"pēc 3 minūtēm\".\n return number % 10 === 1 && number % 100 !== 11 ? forms[0] : forms[1];\n }\n }\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n return number + ' ' + format(units[key], number, withoutSuffix);\n }\n function relativeTimeWithSingular(number, withoutSuffix, key) {\n return format(units[key], number, withoutSuffix);\n }\n function relativeSeconds(number, withoutSuffix) {\n return withoutSuffix ? 'dažas sekundes' : 'dažām sekundēm';\n }\n\n var lv = moment.defineLocale('lv', {\n months : 'janvāris_februāris_marts_aprīlis_maijs_jūnijs_jūlijs_augusts_septembris_oktobris_novembris_decembris'.split('_'),\n monthsShort : 'jan_feb_mar_apr_mai_jūn_jūl_aug_sep_okt_nov_dec'.split('_'),\n weekdays : 'svētdiena_pirmdiena_otrdiena_trešdiena_ceturtdiena_piektdiena_sestdiena'.split('_'),\n weekdaysShort : 'Sv_P_O_T_C_Pk_S'.split('_'),\n weekdaysMin : 'Sv_P_O_T_C_Pk_S'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY.',\n LL : 'YYYY. [gada] D. MMMM',\n LLL : 'YYYY. [gada] D. MMMM, HH:mm',\n LLLL : 'YYYY. [gada] D. MMMM, dddd, HH:mm'\n },\n calendar : {\n sameDay : '[Šodien pulksten] LT',\n nextDay : '[Rīt pulksten] LT',\n nextWeek : 'dddd [pulksten] LT',\n lastDay : '[Vakar pulksten] LT',\n lastWeek : '[Pagājušā] dddd [pulksten] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'pēc %s',\n past : 'pirms %s',\n s : relativeSeconds,\n ss : relativeTimeWithPlural,\n m : relativeTimeWithSingular,\n mm : relativeTimeWithPlural,\n h : relativeTimeWithSingular,\n hh : relativeTimeWithPlural,\n d : relativeTimeWithSingular,\n dd : relativeTimeWithPlural,\n M : relativeTimeWithSingular,\n MM : relativeTimeWithPlural,\n y : relativeTimeWithSingular,\n yy : relativeTimeWithPlural\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return lv;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var units = {\n 'ss' : 'sekundė_sekundžių_sekundes',\n 'm' : 'minutė_minutės_minutę',\n 'mm': 'minutės_minučių_minutes',\n 'h' : 'valanda_valandos_valandą',\n 'hh': 'valandos_valandų_valandas',\n 'd' : 'diena_dienos_dieną',\n 'dd': 'dienos_dienų_dienas',\n 'M' : 'mėnuo_mėnesio_mėnesį',\n 'MM': 'mėnesiai_mėnesių_mėnesius',\n 'y' : 'metai_metų_metus',\n 'yy': 'metai_metų_metus'\n };\n function translateSeconds(number, withoutSuffix, key, isFuture) {\n if (withoutSuffix) {\n return 'kelios sekundės';\n } else {\n return isFuture ? 'kelių sekundžių' : 'kelias sekundes';\n }\n }\n function translateSingular(number, withoutSuffix, key, isFuture) {\n return withoutSuffix ? forms(key)[0] : (isFuture ? forms(key)[1] : forms(key)[2]);\n }\n function special(number) {\n return number % 10 === 0 || (number > 10 && number < 20);\n }\n function forms(key) {\n return units[key].split('_');\n }\n function translate(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n if (number === 1) {\n return result + translateSingular(number, withoutSuffix, key[0], isFuture);\n } else if (withoutSuffix) {\n return result + (special(number) ? forms(key)[1] : forms(key)[0]);\n } else {\n if (isFuture) {\n return result + forms(key)[1];\n } else {\n return result + (special(number) ? forms(key)[1] : forms(key)[2]);\n }\n }\n }\n var lt = moment.defineLocale('lt', {\n months : {\n format: 'sausio_vasario_kovo_balandžio_gegužės_birželio_liepos_rugpjūčio_rugsėjo_spalio_lapkričio_gruodžio'.split('_'),\n standalone: 'sausis_vasaris_kovas_balandis_gegužė_birželis_liepa_rugpjūtis_rugsėjis_spalis_lapkritis_gruodis'.split('_'),\n isFormat: /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?|MMMM?(\\[[^\\[\\]]*\\]|\\s)+D[oD]?/\n },\n monthsShort : 'sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd'.split('_'),\n weekdays : {\n format: 'sekmadienį_pirmadienį_antradienį_trečiadienį_ketvirtadienį_penktadienį_šeštadienį'.split('_'),\n standalone: 'sekmadienis_pirmadienis_antradienis_trečiadienis_ketvirtadienis_penktadienis_šeštadienis'.split('_'),\n isFormat: /dddd HH:mm/\n },\n weekdaysShort : 'Sek_Pir_Ant_Tre_Ket_Pen_Šeš'.split('_'),\n weekdaysMin : 'S_P_A_T_K_Pn_Š'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY-MM-DD',\n LL : 'YYYY [m.] MMMM D [d.]',\n LLL : 'YYYY [m.] MMMM D [d.], HH:mm [val.]',\n LLLL : 'YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]',\n l : 'YYYY-MM-DD',\n ll : 'YYYY [m.] MMMM D [d.]',\n lll : 'YYYY [m.] MMMM D [d.], HH:mm [val.]',\n llll : 'YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]'\n },\n calendar : {\n sameDay : '[Šiandien] LT',\n nextDay : '[Rytoj] LT',\n nextWeek : 'dddd LT',\n lastDay : '[Vakar] LT',\n lastWeek : '[Praėjusį] dddd LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'po %s',\n past : 'prieš %s',\n s : translateSeconds,\n ss : translate,\n m : translateSingular,\n mm : translate,\n h : translateSingular,\n hh : translate,\n d : translateSingular,\n dd : translate,\n M : translateSingular,\n MM : translate,\n y : translateSingular,\n yy : translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-oji/,\n ordinal : function (number) {\n return number + '-oji';\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return lt;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var lo = moment.defineLocale('lo', {\n months : 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split('_'),\n monthsShort : 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split('_'),\n weekdays : 'ອາທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'),\n weekdaysShort : 'ທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'),\n weekdaysMin : 'ທ_ຈ_ອຄ_ພ_ພຫ_ສກ_ສ'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'ວັນdddd D MMMM YYYY HH:mm'\n },\n meridiemParse: /ຕອນເຊົ້າ|ຕອນແລງ/,\n isPM: function (input) {\n return input === 'ຕອນແລງ';\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ຕອນເຊົ້າ';\n } else {\n return 'ຕອນແລງ';\n }\n },\n calendar : {\n sameDay : '[ມື້ນີ້ເວລາ] LT',\n nextDay : '[ມື້ອື່ນເວລາ] LT',\n nextWeek : '[ວັນ]dddd[ໜ້າເວລາ] LT',\n lastDay : '[ມື້ວານນີ້ເວລາ] LT',\n lastWeek : '[ວັນ]dddd[ແລ້ວນີ້ເວລາ] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'ອີກ %s',\n past : '%sຜ່ານມາ',\n s : 'ບໍ່ເທົ່າໃດວິນາທີ',\n ss : '%d ວິນາທີ' ,\n m : '1 ນາທີ',\n mm : '%d ນາທີ',\n h : '1 ຊົ່ວໂມງ',\n hh : '%d ຊົ່ວໂມງ',\n d : '1 ມື້',\n dd : '%d ມື້',\n M : '1 ເດືອນ',\n MM : '%d ເດືອນ',\n y : '1 ປີ',\n yy : '%d ປີ'\n },\n dayOfMonthOrdinalParse: /(ທີ່)\\d{1,2}/,\n ordinal : function (number) {\n return 'ທີ່' + number;\n }\n });\n\n return lo;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n 'm': ['eng Minutt', 'enger Minutt'],\n 'h': ['eng Stonn', 'enger Stonn'],\n 'd': ['een Dag', 'engem Dag'],\n 'M': ['ee Mount', 'engem Mount'],\n 'y': ['ee Joer', 'engem Joer']\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n function processFutureTime(string) {\n var number = string.substr(0, string.indexOf(' '));\n if (eifelerRegelAppliesToNumber(number)) {\n return 'a ' + string;\n }\n return 'an ' + string;\n }\n function processPastTime(string) {\n var number = string.substr(0, string.indexOf(' '));\n if (eifelerRegelAppliesToNumber(number)) {\n return 'viru ' + string;\n }\n return 'virun ' + string;\n }\n /**\n * Returns true if the word before the given number loses the '-n' ending.\n * e.g. 'an 10 Deeg' but 'a 5 Deeg'\n *\n * @param number {integer}\n * @returns {boolean}\n */\n function eifelerRegelAppliesToNumber(number) {\n number = parseInt(number, 10);\n if (isNaN(number)) {\n return false;\n }\n if (number < 0) {\n // Negative Number --> always true\n return true;\n } else if (number < 10) {\n // Only 1 digit\n if (4 <= number && number <= 7) {\n return true;\n }\n return false;\n } else if (number < 100) {\n // 2 digits\n var lastDigit = number % 10, firstDigit = number / 10;\n if (lastDigit === 0) {\n return eifelerRegelAppliesToNumber(firstDigit);\n }\n return eifelerRegelAppliesToNumber(lastDigit);\n } else if (number < 10000) {\n // 3 or 4 digits --> recursively check first digit\n while (number >= 10) {\n number = number / 10;\n }\n return eifelerRegelAppliesToNumber(number);\n } else {\n // Anything larger than 4 digits: recursively check first n-3 digits\n number = number / 1000;\n return eifelerRegelAppliesToNumber(number);\n }\n }\n\n var lb = moment.defineLocale('lb', {\n months: 'Januar_Februar_Mäerz_Abrëll_Mee_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),\n monthsShort: 'Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.'.split('_'),\n monthsParseExact : true,\n weekdays: 'Sonndeg_Méindeg_Dënschdeg_Mëttwoch_Donneschdeg_Freideg_Samschdeg'.split('_'),\n weekdaysShort: 'So._Mé._Dë._Më._Do._Fr._Sa.'.split('_'),\n weekdaysMin: 'So_Mé_Dë_Më_Do_Fr_Sa'.split('_'),\n weekdaysParseExact : true,\n longDateFormat: {\n LT: 'H:mm [Auer]',\n LTS: 'H:mm:ss [Auer]',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm [Auer]',\n LLLL: 'dddd, D. MMMM YYYY H:mm [Auer]'\n },\n calendar: {\n sameDay: '[Haut um] LT',\n sameElse: 'L',\n nextDay: '[Muer um] LT',\n nextWeek: 'dddd [um] LT',\n lastDay: '[Gëschter um] LT',\n lastWeek: function () {\n // Different date string for 'Dënschdeg' (Tuesday) and 'Donneschdeg' (Thursday) due to phonological rule\n switch (this.day()) {\n case 2:\n case 4:\n return '[Leschten] dddd [um] LT';\n default:\n return '[Leschte] dddd [um] LT';\n }\n }\n },\n relativeTime : {\n future : processFutureTime,\n past : processPastTime,\n s : 'e puer Sekonnen',\n ss : '%d Sekonnen',\n m : processRelativeTime,\n mm : '%d Minutten',\n h : processRelativeTime,\n hh : '%d Stonnen',\n d : processRelativeTime,\n dd : '%d Deeg',\n M : processRelativeTime,\n MM : '%d Méint',\n y : processRelativeTime,\n yy : '%d Joer'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return lb;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var suffixes = {\n 0: '-чү',\n 1: '-чи',\n 2: '-чи',\n 3: '-чү',\n 4: '-чү',\n 5: '-чи',\n 6: '-чы',\n 7: '-чи',\n 8: '-чи',\n 9: '-чу',\n 10: '-чу',\n 20: '-чы',\n 30: '-чу',\n 40: '-чы',\n 50: '-чү',\n 60: '-чы',\n 70: '-чи',\n 80: '-чи',\n 90: '-чу',\n 100: '-чү'\n };\n\n var ky = moment.defineLocale('ky', {\n months : 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split('_'),\n monthsShort : 'янв_фев_март_апр_май_июнь_июль_авг_сен_окт_ноя_дек'.split('_'),\n weekdays : 'Жекшемби_Дүйшөмбү_Шейшемби_Шаршемби_Бейшемби_Жума_Ишемби'.split('_'),\n weekdaysShort : 'Жек_Дүй_Шей_Шар_Бей_Жум_Ише'.split('_'),\n weekdaysMin : 'Жк_Дй_Шй_Шр_Бй_Жм_Иш'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Бүгүн саат] LT',\n nextDay : '[Эртең саат] LT',\n nextWeek : 'dddd [саат] LT',\n lastDay : '[Кече саат] LT',\n lastWeek : '[Өткен аптанын] dddd [күнү] [саат] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s ичинде',\n past : '%s мурун',\n s : 'бирнече секунд',\n ss : '%d секунд',\n m : 'бир мүнөт',\n mm : '%d мүнөт',\n h : 'бир саат',\n hh : '%d саат',\n d : 'бир күн',\n dd : '%d күн',\n M : 'бир ай',\n MM : '%d ай',\n y : 'бир жыл',\n yy : '%d жыл'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(чи|чы|чү|чу)/,\n ordinal : function (number) {\n var a = number % 10,\n b = number >= 100 ? 100 : null;\n return number + (suffixes[number] || suffixes[a] || suffixes[b]);\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return ky;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var ko = moment.defineLocale('ko', {\n months : '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split('_'),\n monthsShort : '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split('_'),\n weekdays : '일요일_월요일_화요일_수요일_목요일_금요일_토요일'.split('_'),\n weekdaysShort : '일_월_화_수_목_금_토'.split('_'),\n weekdaysMin : '일_월_화_수_목_금_토'.split('_'),\n longDateFormat : {\n LT : 'A h:mm',\n LTS : 'A h:mm:ss',\n L : 'YYYY.MM.DD.',\n LL : 'YYYY년 MMMM D일',\n LLL : 'YYYY년 MMMM D일 A h:mm',\n LLLL : 'YYYY년 MMMM D일 dddd A h:mm',\n l : 'YYYY.MM.DD.',\n ll : 'YYYY년 MMMM D일',\n lll : 'YYYY년 MMMM D일 A h:mm',\n llll : 'YYYY년 MMMM D일 dddd A h:mm'\n },\n calendar : {\n sameDay : '오늘 LT',\n nextDay : '내일 LT',\n nextWeek : 'dddd LT',\n lastDay : '어제 LT',\n lastWeek : '지난주 dddd LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s 후',\n past : '%s 전',\n s : '몇 초',\n ss : '%d초',\n m : '1분',\n mm : '%d분',\n h : '한 시간',\n hh : '%d시간',\n d : '하루',\n dd : '%d일',\n M : '한 달',\n MM : '%d달',\n y : '일 년',\n yy : '%d년'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}(일|월|주)/,\n ordinal : function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '일';\n case 'M':\n return number + '월';\n case 'w':\n case 'W':\n return number + '주';\n default:\n return number;\n }\n },\n meridiemParse : /오전|오후/,\n isPM : function (token) {\n return token === '오후';\n },\n meridiem : function (hour, minute, isUpper) {\n return hour < 12 ? '오전' : '오후';\n }\n });\n\n return ko;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '೧',\n '2': '೨',\n '3': '೩',\n '4': '೪',\n '5': '೫',\n '6': '೬',\n '7': '೭',\n '8': '೮',\n '9': '೯',\n '0': '೦'\n },\n numberMap = {\n '೧': '1',\n '೨': '2',\n '೩': '3',\n '೪': '4',\n '೫': '5',\n '೬': '6',\n '೭': '7',\n '೮': '8',\n '೯': '9',\n '೦': '0'\n };\n\n var kn = moment.defineLocale('kn', {\n months : 'ಜನವರಿ_ಫೆಬ್ರವರಿ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂಬರ್_ಅಕ್ಟೋಬರ್_ನವೆಂಬರ್_ಡಿಸೆಂಬರ್'.split('_'),\n monthsShort : 'ಜನ_ಫೆಬ್ರ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂ_ಅಕ್ಟೋ_ನವೆಂ_ಡಿಸೆಂ'.split('_'),\n monthsParseExact: true,\n weekdays : 'ಭಾನುವಾರ_ಸೋಮವಾರ_ಮಂಗಳವಾರ_ಬುಧವಾರ_ಗುರುವಾರ_ಶುಕ್ರವಾರ_ಶನಿವಾರ'.split('_'),\n weekdaysShort : 'ಭಾನು_ಸೋಮ_ಮಂಗಳ_ಬುಧ_ಗುರು_ಶುಕ್ರ_ಶನಿ'.split('_'),\n weekdaysMin : 'ಭಾ_ಸೋ_ಮಂ_ಬು_ಗು_ಶು_ಶ'.split('_'),\n longDateFormat : {\n LT : 'A h:mm',\n LTS : 'A h:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, A h:mm',\n LLLL : 'dddd, D MMMM YYYY, A h:mm'\n },\n calendar : {\n sameDay : '[ಇಂದು] LT',\n nextDay : '[ನಾಳೆ] LT',\n nextWeek : 'dddd, LT',\n lastDay : '[ನಿನ್ನೆ] LT',\n lastWeek : '[ಕೊನೆಯ] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s ನಂತರ',\n past : '%s ಹಿಂದೆ',\n s : 'ಕೆಲವು ಕ್ಷಣಗಳು',\n ss : '%d ಸೆಕೆಂಡುಗಳು',\n m : 'ಒಂದು ನಿಮಿಷ',\n mm : '%d ನಿಮಿಷ',\n h : 'ಒಂದು ಗಂಟೆ',\n hh : '%d ಗಂಟೆ',\n d : 'ಒಂದು ದಿನ',\n dd : '%d ದಿನ',\n M : 'ಒಂದು ತಿಂಗಳು',\n MM : '%d ತಿಂಗಳು',\n y : 'ಒಂದು ವರ್ಷ',\n yy : '%d ವರ್ಷ'\n },\n preparse: function (string) {\n return string.replace(/[೧೨೩೪೫೬೭೮೯೦]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /ರಾತ್ರಿ|ಬೆಳಿಗ್ಗೆ|ಮಧ್ಯಾಹ್ನ|ಸಂಜೆ/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'ರಾತ್ರಿ') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'ಬೆಳಿಗ್ಗೆ') {\n return hour;\n } else if (meridiem === 'ಮಧ್ಯಾಹ್ನ') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'ಸಂಜೆ') {\n return hour + 12;\n }\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ರಾತ್ರಿ';\n } else if (hour < 10) {\n return 'ಬೆಳಿಗ್ಗೆ';\n } else if (hour < 17) {\n return 'ಮಧ್ಯಾಹ್ನ';\n } else if (hour < 20) {\n return 'ಸಂಜೆ';\n } else {\n return 'ರಾತ್ರಿ';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ನೇ)/,\n ordinal : function (number) {\n return number + 'ನೇ';\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return kn;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '១',\n '2': '២',\n '3': '៣',\n '4': '៤',\n '5': '៥',\n '6': '៦',\n '7': '៧',\n '8': '៨',\n '9': '៩',\n '0': '០'\n }, numberMap = {\n '១': '1',\n '២': '2',\n '៣': '3',\n '៤': '4',\n '៥': '5',\n '៦': '6',\n '៧': '7',\n '៨': '8',\n '៩': '9',\n '០': '0'\n };\n\n var km = moment.defineLocale('km', {\n months: 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split(\n '_'\n ),\n monthsShort: 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split(\n '_'\n ),\n weekdays: 'អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍'.split('_'),\n weekdaysShort: 'អា_ច_អ_ព_ព្រ_សុ_ស'.split('_'),\n weekdaysMin: 'អា_ច_អ_ព_ព្រ_សុ_ស'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n meridiemParse: /ព្រឹក|ល្ងាច/,\n isPM: function (input) {\n return input === 'ល្ងាច';\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ព្រឹក';\n } else {\n return 'ល្ងាច';\n }\n },\n calendar: {\n sameDay: '[ថ្ងៃនេះ ម៉ោង] LT',\n nextDay: '[ស្អែក ម៉ោង] LT',\n nextWeek: 'dddd [ម៉ោង] LT',\n lastDay: '[ម្សិលមិញ ម៉ោង] LT',\n lastWeek: 'dddd [សប្តាហ៍មុន] [ម៉ោង] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%sទៀត',\n past: '%sមុន',\n s: 'ប៉ុន្មានវិនាទី',\n ss: '%d វិនាទី',\n m: 'មួយនាទី',\n mm: '%d នាទី',\n h: 'មួយម៉ោង',\n hh: '%d ម៉ោង',\n d: 'មួយថ្ងៃ',\n dd: '%d ថ្ងៃ',\n M: 'មួយខែ',\n MM: '%d ខែ',\n y: 'មួយឆ្នាំ',\n yy: '%d ឆ្នាំ'\n },\n dayOfMonthOrdinalParse : /ទី\\d{1,2}/,\n ordinal : 'ទី%d',\n preparse: function (string) {\n return string.replace(/[១២៣៤៥៦៧៨៩០]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return km;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var suffixes = {\n 0: '-ші',\n 1: '-ші',\n 2: '-ші',\n 3: '-ші',\n 4: '-ші',\n 5: '-ші',\n 6: '-шы',\n 7: '-ші',\n 8: '-ші',\n 9: '-шы',\n 10: '-шы',\n 20: '-шы',\n 30: '-шы',\n 40: '-шы',\n 50: '-ші',\n 60: '-шы',\n 70: '-ші',\n 80: '-ші',\n 90: '-шы',\n 100: '-ші'\n };\n\n var kk = moment.defineLocale('kk', {\n months : 'қаңтар_ақпан_наурыз_сәуір_мамыр_маусым_шілде_тамыз_қыркүйек_қазан_қараша_желтоқсан'.split('_'),\n monthsShort : 'қаң_ақп_нау_сәу_мам_мау_шіл_там_қыр_қаз_қар_жел'.split('_'),\n weekdays : 'жексенбі_дүйсенбі_сейсенбі_сәрсенбі_бейсенбі_жұма_сенбі'.split('_'),\n weekdaysShort : 'жек_дүй_сей_сәр_бей_жұм_сен'.split('_'),\n weekdaysMin : 'жк_дй_сй_ср_бй_жм_сн'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Бүгін сағат] LT',\n nextDay : '[Ертең сағат] LT',\n nextWeek : 'dddd [сағат] LT',\n lastDay : '[Кеше сағат] LT',\n lastWeek : '[Өткен аптаның] dddd [сағат] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s ішінде',\n past : '%s бұрын',\n s : 'бірнеше секунд',\n ss : '%d секунд',\n m : 'бір минут',\n mm : '%d минут',\n h : 'бір сағат',\n hh : '%d сағат',\n d : 'бір күн',\n dd : '%d күн',\n M : 'бір ай',\n MM : '%d ай',\n y : 'бір жыл',\n yy : '%d жыл'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ші|шы)/,\n ordinal : function (number) {\n var a = number % 10,\n b = number >= 100 ? 100 : null;\n return number + (suffixes[number] || suffixes[a] || suffixes[b]);\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return kk;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var ka = moment.defineLocale('ka', {\n months : {\n standalone: 'იანვარი_თებერვალი_მარტი_აპრილი_მაისი_ივნისი_ივლისი_აგვისტო_სექტემბერი_ოქტომბერი_ნოემბერი_დეკემბერი'.split('_'),\n format: 'იანვარს_თებერვალს_მარტს_აპრილის_მაისს_ივნისს_ივლისს_აგვისტს_სექტემბერს_ოქტომბერს_ნოემბერს_დეკემბერს'.split('_')\n },\n monthsShort : 'იან_თებ_მარ_აპრ_მაი_ივნ_ივლ_აგვ_სექ_ოქტ_ნოე_დეკ'.split('_'),\n weekdays : {\n standalone: 'კვირა_ორშაბათი_სამშაბათი_ოთხშაბათი_ხუთშაბათი_პარასკევი_შაბათი'.split('_'),\n format: 'კვირას_ორშაბათს_სამშაბათს_ოთხშაბათს_ხუთშაბათს_პარასკევს_შაბათს'.split('_'),\n isFormat: /(წინა|შემდეგ)/\n },\n weekdaysShort : 'კვი_ორშ_სამ_ოთხ_ხუთ_პარ_შაბ'.split('_'),\n weekdaysMin : 'კვ_ორ_სა_ოთ_ხუ_პა_შა'.split('_'),\n longDateFormat : {\n LT : 'h:mm A',\n LTS : 'h:mm:ss A',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY h:mm A',\n LLLL : 'dddd, D MMMM YYYY h:mm A'\n },\n calendar : {\n sameDay : '[დღეს] LT[-ზე]',\n nextDay : '[ხვალ] LT[-ზე]',\n lastDay : '[გუშინ] LT[-ზე]',\n nextWeek : '[შემდეგ] dddd LT[-ზე]',\n lastWeek : '[წინა] dddd LT-ზე',\n sameElse : 'L'\n },\n relativeTime : {\n future : function (s) {\n return (/(წამი|წუთი|საათი|წელი)/).test(s) ?\n s.replace(/ი$/, 'ში') :\n s + 'ში';\n },\n past : function (s) {\n if ((/(წამი|წუთი|საათი|დღე|თვე)/).test(s)) {\n return s.replace(/(ი|ე)$/, 'ის წინ');\n }\n if ((/წელი/).test(s)) {\n return s.replace(/წელი$/, 'წლის წინ');\n }\n },\n s : 'რამდენიმე წამი',\n ss : '%d წამი',\n m : 'წუთი',\n mm : '%d წუთი',\n h : 'საათი',\n hh : '%d საათი',\n d : 'დღე',\n dd : '%d დღე',\n M : 'თვე',\n MM : '%d თვე',\n y : 'წელი',\n yy : '%d წელი'\n },\n dayOfMonthOrdinalParse: /0|1-ლი|მე-\\d{1,2}|\\d{1,2}-ე/,\n ordinal : function (number) {\n if (number === 0) {\n return number;\n }\n if (number === 1) {\n return number + '-ლი';\n }\n if ((number < 20) || (number <= 100 && (number % 20 === 0)) || (number % 100 === 0)) {\n return 'მე-' + number;\n }\n return number + '-ე';\n },\n week : {\n dow : 1,\n doy : 7\n }\n });\n\n return ka;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var jv = moment.defineLocale('jv', {\n months : 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember'.split('_'),\n monthsShort : 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des'.split('_'),\n weekdays : 'Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu'.split('_'),\n weekdaysShort : 'Min_Sen_Sel_Reb_Kem_Jem_Sep'.split('_'),\n weekdaysMin : 'Mg_Sn_Sl_Rb_Km_Jm_Sp'.split('_'),\n longDateFormat : {\n LT : 'HH.mm',\n LTS : 'HH.mm.ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY [pukul] HH.mm',\n LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm'\n },\n meridiemParse: /enjing|siyang|sonten|ndalu/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'enjing') {\n return hour;\n } else if (meridiem === 'siyang') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'sonten' || meridiem === 'ndalu') {\n return hour + 12;\n }\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'enjing';\n } else if (hours < 15) {\n return 'siyang';\n } else if (hours < 19) {\n return 'sonten';\n } else {\n return 'ndalu';\n }\n },\n calendar : {\n sameDay : '[Dinten puniko pukul] LT',\n nextDay : '[Mbenjang pukul] LT',\n nextWeek : 'dddd [pukul] LT',\n lastDay : '[Kala wingi pukul] LT',\n lastWeek : 'dddd [kepengker pukul] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'wonten ing %s',\n past : '%s ingkang kepengker',\n s : 'sawetawis detik',\n ss : '%d detik',\n m : 'setunggal menit',\n mm : '%d menit',\n h : 'setunggal jam',\n hh : '%d jam',\n d : 'sedinten',\n dd : '%d dinten',\n M : 'sewulan',\n MM : '%d wulan',\n y : 'setaun',\n yy : '%d taun'\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return jv;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var ja = moment.defineLocale('ja', {\n months : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n monthsShort : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n weekdays : '日曜日_月曜日_火曜日_水曜日_木曜日_金曜日_土曜日'.split('_'),\n weekdaysShort : '日_月_火_水_木_金_土'.split('_'),\n weekdaysMin : '日_月_火_水_木_金_土'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY/MM/DD',\n LL : 'YYYY年M月D日',\n LLL : 'YYYY年M月D日 HH:mm',\n LLLL : 'YYYY年M月D日 dddd HH:mm',\n l : 'YYYY/MM/DD',\n ll : 'YYYY年M月D日',\n lll : 'YYYY年M月D日 HH:mm',\n llll : 'YYYY年M月D日(ddd) HH:mm'\n },\n meridiemParse: /午前|午後/i,\n isPM : function (input) {\n return input === '午後';\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return '午前';\n } else {\n return '午後';\n }\n },\n calendar : {\n sameDay : '[今日] LT',\n nextDay : '[明日] LT',\n nextWeek : function (now) {\n if (now.week() < this.week()) {\n return '[来週]dddd LT';\n } else {\n return 'dddd LT';\n }\n },\n lastDay : '[昨日] LT',\n lastWeek : function (now) {\n if (this.week() < now.week()) {\n return '[先週]dddd LT';\n } else {\n return 'dddd LT';\n }\n },\n sameElse : 'L'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}日/,\n ordinal : function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '日';\n default:\n return number;\n }\n },\n relativeTime : {\n future : '%s後',\n past : '%s前',\n s : '数秒',\n ss : '%d秒',\n m : '1分',\n mm : '%d分',\n h : '1時間',\n hh : '%d時間',\n d : '1日',\n dd : '%d日',\n M : '1ヶ月',\n MM : '%dヶ月',\n y : '1年',\n yy : '%d年'\n }\n });\n\n return ja;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var it = moment.defineLocale('it', {\n months : 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split('_'),\n monthsShort : 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'),\n weekdays : 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split('_'),\n weekdaysShort : 'dom_lun_mar_mer_gio_ven_sab'.split('_'),\n weekdaysMin : 'do_lu_ma_me_gi_ve_sa'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[Oggi alle] LT',\n nextDay: '[Domani alle] LT',\n nextWeek: 'dddd [alle] LT',\n lastDay: '[Ieri alle] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[la scorsa] dddd [alle] LT';\n default:\n return '[lo scorso] dddd [alle] LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : function (s) {\n return ((/^[0-9].+$/).test(s) ? 'tra' : 'in') + ' ' + s;\n },\n past : '%s fa',\n s : 'alcuni secondi',\n ss : '%d secondi',\n m : 'un minuto',\n mm : '%d minuti',\n h : 'un\\'ora',\n hh : '%d ore',\n d : 'un giorno',\n dd : '%d giorni',\n M : 'un mese',\n MM : '%d mesi',\n y : 'un anno',\n yy : '%d anni'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}º/,\n ordinal: '%dº',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return it;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function plural(n) {\n if (n % 100 === 11) {\n return true;\n } else if (n % 10 === 1) {\n return false;\n }\n return true;\n }\n function translate(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n switch (key) {\n case 's':\n return withoutSuffix || isFuture ? 'nokkrar sekúndur' : 'nokkrum sekúndum';\n case 'ss':\n if (plural(number)) {\n return result + (withoutSuffix || isFuture ? 'sekúndur' : 'sekúndum');\n }\n return result + 'sekúnda';\n case 'm':\n return withoutSuffix ? 'mínúta' : 'mínútu';\n case 'mm':\n if (plural(number)) {\n return result + (withoutSuffix || isFuture ? 'mínútur' : 'mínútum');\n } else if (withoutSuffix) {\n return result + 'mínúta';\n }\n return result + 'mínútu';\n case 'hh':\n if (plural(number)) {\n return result + (withoutSuffix || isFuture ? 'klukkustundir' : 'klukkustundum');\n }\n return result + 'klukkustund';\n case 'd':\n if (withoutSuffix) {\n return 'dagur';\n }\n return isFuture ? 'dag' : 'degi';\n case 'dd':\n if (plural(number)) {\n if (withoutSuffix) {\n return result + 'dagar';\n }\n return result + (isFuture ? 'daga' : 'dögum');\n } else if (withoutSuffix) {\n return result + 'dagur';\n }\n return result + (isFuture ? 'dag' : 'degi');\n case 'M':\n if (withoutSuffix) {\n return 'mánuður';\n }\n return isFuture ? 'mánuð' : 'mánuði';\n case 'MM':\n if (plural(number)) {\n if (withoutSuffix) {\n return result + 'mánuðir';\n }\n return result + (isFuture ? 'mánuði' : 'mánuðum');\n } else if (withoutSuffix) {\n return result + 'mánuður';\n }\n return result + (isFuture ? 'mánuð' : 'mánuði');\n case 'y':\n return withoutSuffix || isFuture ? 'ár' : 'ári';\n case 'yy':\n if (plural(number)) {\n return result + (withoutSuffix || isFuture ? 'ár' : 'árum');\n }\n return result + (withoutSuffix || isFuture ? 'ár' : 'ári');\n }\n }\n\n var is = moment.defineLocale('is', {\n months : 'janúar_febrúar_mars_apríl_maí_júní_júlí_ágúst_september_október_nóvember_desember'.split('_'),\n monthsShort : 'jan_feb_mar_apr_maí_jún_júl_ágú_sep_okt_nóv_des'.split('_'),\n weekdays : 'sunnudagur_mánudagur_þriðjudagur_miðvikudagur_fimmtudagur_föstudagur_laugardagur'.split('_'),\n weekdaysShort : 'sun_mán_þri_mið_fim_fös_lau'.split('_'),\n weekdaysMin : 'Su_Má_Þr_Mi_Fi_Fö_La'.split('_'),\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY [kl.] H:mm',\n LLLL : 'dddd, D. MMMM YYYY [kl.] H:mm'\n },\n calendar : {\n sameDay : '[í dag kl.] LT',\n nextDay : '[á morgun kl.] LT',\n nextWeek : 'dddd [kl.] LT',\n lastDay : '[í gær kl.] LT',\n lastWeek : '[síðasta] dddd [kl.] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'eftir %s',\n past : 'fyrir %s síðan',\n s : translate,\n ss : translate,\n m : translate,\n mm : translate,\n h : 'klukkustund',\n hh : translate,\n d : translate,\n dd : translate,\n M : translate,\n MM : translate,\n y : translate,\n yy : translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return is;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var id = moment.defineLocale('id', {\n months : 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember'.split('_'),\n monthsShort : 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Agt_Sep_Okt_Nov_Des'.split('_'),\n weekdays : 'Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu'.split('_'),\n weekdaysShort : 'Min_Sen_Sel_Rab_Kam_Jum_Sab'.split('_'),\n weekdaysMin : 'Mg_Sn_Sl_Rb_Km_Jm_Sb'.split('_'),\n longDateFormat : {\n LT : 'HH.mm',\n LTS : 'HH.mm.ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY [pukul] HH.mm',\n LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm'\n },\n meridiemParse: /pagi|siang|sore|malam/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'pagi') {\n return hour;\n } else if (meridiem === 'siang') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'sore' || meridiem === 'malam') {\n return hour + 12;\n }\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'pagi';\n } else if (hours < 15) {\n return 'siang';\n } else if (hours < 19) {\n return 'sore';\n } else {\n return 'malam';\n }\n },\n calendar : {\n sameDay : '[Hari ini pukul] LT',\n nextDay : '[Besok pukul] LT',\n nextWeek : 'dddd [pukul] LT',\n lastDay : '[Kemarin pukul] LT',\n lastWeek : 'dddd [lalu pukul] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'dalam %s',\n past : '%s yang lalu',\n s : 'beberapa detik',\n ss : '%d detik',\n m : 'semenit',\n mm : '%d menit',\n h : 'sejam',\n hh : '%d jam',\n d : 'sehari',\n dd : '%d hari',\n M : 'sebulan',\n MM : '%d bulan',\n y : 'setahun',\n yy : '%d tahun'\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return id;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var hyAm = moment.defineLocale('hy-am', {\n months : {\n format: 'հունվարի_փետրվարի_մարտի_ապրիլի_մայիսի_հունիսի_հուլիսի_օգոստոսի_սեպտեմբերի_հոկտեմբերի_նոյեմբերի_դեկտեմբերի'.split('_'),\n standalone: 'հունվար_փետրվար_մարտ_ապրիլ_մայիս_հունիս_հուլիս_օգոստոս_սեպտեմբեր_հոկտեմբեր_նոյեմբեր_դեկտեմբեր'.split('_')\n },\n monthsShort : 'հնվ_փտր_մրտ_ապր_մյս_հնս_հլս_օգս_սպտ_հկտ_նմբ_դկտ'.split('_'),\n weekdays : 'կիրակի_երկուշաբթի_երեքշաբթի_չորեքշաբթի_հինգշաբթի_ուրբաթ_շաբաթ'.split('_'),\n weekdaysShort : 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'),\n weekdaysMin : 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY թ.',\n LLL : 'D MMMM YYYY թ., HH:mm',\n LLLL : 'dddd, D MMMM YYYY թ., HH:mm'\n },\n calendar : {\n sameDay: '[այսօր] LT',\n nextDay: '[վաղը] LT',\n lastDay: '[երեկ] LT',\n nextWeek: function () {\n return 'dddd [օրը ժամը] LT';\n },\n lastWeek: function () {\n return '[անցած] dddd [օրը ժամը] LT';\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : '%s հետո',\n past : '%s առաջ',\n s : 'մի քանի վայրկյան',\n ss : '%d վայրկյան',\n m : 'րոպե',\n mm : '%d րոպե',\n h : 'ժամ',\n hh : '%d ժամ',\n d : 'օր',\n dd : '%d օր',\n M : 'ամիս',\n MM : '%d ամիս',\n y : 'տարի',\n yy : '%d տարի'\n },\n meridiemParse: /գիշերվա|առավոտվա|ցերեկվա|երեկոյան/,\n isPM: function (input) {\n return /^(ցերեկվա|երեկոյան)$/.test(input);\n },\n meridiem : function (hour) {\n if (hour < 4) {\n return 'գիշերվա';\n } else if (hour < 12) {\n return 'առավոտվա';\n } else if (hour < 17) {\n return 'ցերեկվա';\n } else {\n return 'երեկոյան';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}|\\d{1,2}-(ին|րդ)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'DDD':\n case 'w':\n case 'W':\n case 'DDDo':\n if (number === 1) {\n return number + '-ին';\n }\n return number + '-րդ';\n default:\n return number;\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return hyAm;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var weekEndings = 'vasárnap hétfőn kedden szerdán csütörtökön pénteken szombaton'.split(' ');\n function translate(number, withoutSuffix, key, isFuture) {\n var num = number;\n switch (key) {\n case 's':\n return (isFuture || withoutSuffix) ? 'néhány másodperc' : 'néhány másodperce';\n case 'ss':\n return num + (isFuture || withoutSuffix) ? ' másodperc' : ' másodperce';\n case 'm':\n return 'egy' + (isFuture || withoutSuffix ? ' perc' : ' perce');\n case 'mm':\n return num + (isFuture || withoutSuffix ? ' perc' : ' perce');\n case 'h':\n return 'egy' + (isFuture || withoutSuffix ? ' óra' : ' órája');\n case 'hh':\n return num + (isFuture || withoutSuffix ? ' óra' : ' órája');\n case 'd':\n return 'egy' + (isFuture || withoutSuffix ? ' nap' : ' napja');\n case 'dd':\n return num + (isFuture || withoutSuffix ? ' nap' : ' napja');\n case 'M':\n return 'egy' + (isFuture || withoutSuffix ? ' hónap' : ' hónapja');\n case 'MM':\n return num + (isFuture || withoutSuffix ? ' hónap' : ' hónapja');\n case 'y':\n return 'egy' + (isFuture || withoutSuffix ? ' év' : ' éve');\n case 'yy':\n return num + (isFuture || withoutSuffix ? ' év' : ' éve');\n }\n return '';\n }\n function week(isFuture) {\n return (isFuture ? '' : '[múlt] ') + '[' + weekEndings[this.day()] + '] LT[-kor]';\n }\n\n var hu = moment.defineLocale('hu', {\n months : 'január_február_március_április_május_június_július_augusztus_szeptember_október_november_december'.split('_'),\n monthsShort : 'jan_feb_márc_ápr_máj_jún_júl_aug_szept_okt_nov_dec'.split('_'),\n weekdays : 'vasárnap_hétfő_kedd_szerda_csütörtök_péntek_szombat'.split('_'),\n weekdaysShort : 'vas_hét_kedd_sze_csüt_pén_szo'.split('_'),\n weekdaysMin : 'v_h_k_sze_cs_p_szo'.split('_'),\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'YYYY.MM.DD.',\n LL : 'YYYY. MMMM D.',\n LLL : 'YYYY. MMMM D. H:mm',\n LLLL : 'YYYY. MMMM D., dddd H:mm'\n },\n meridiemParse: /de|du/i,\n isPM: function (input) {\n return input.charAt(1).toLowerCase() === 'u';\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours < 12) {\n return isLower === true ? 'de' : 'DE';\n } else {\n return isLower === true ? 'du' : 'DU';\n }\n },\n calendar : {\n sameDay : '[ma] LT[-kor]',\n nextDay : '[holnap] LT[-kor]',\n nextWeek : function () {\n return week.call(this, true);\n },\n lastDay : '[tegnap] LT[-kor]',\n lastWeek : function () {\n return week.call(this, false);\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s múlva',\n past : '%s',\n s : translate,\n ss : translate,\n m : translate,\n mm : translate,\n h : translate,\n hh : translate,\n d : translate,\n dd : translate,\n M : translate,\n MM : translate,\n y : translate,\n yy : translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return hu;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function translate(number, withoutSuffix, key) {\n var result = number + ' ';\n switch (key) {\n case 'ss':\n if (number === 1) {\n result += 'sekunda';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sekunde';\n } else {\n result += 'sekundi';\n }\n return result;\n case 'm':\n return withoutSuffix ? 'jedna minuta' : 'jedne minute';\n case 'mm':\n if (number === 1) {\n result += 'minuta';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'minute';\n } else {\n result += 'minuta';\n }\n return result;\n case 'h':\n return withoutSuffix ? 'jedan sat' : 'jednog sata';\n case 'hh':\n if (number === 1) {\n result += 'sat';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sata';\n } else {\n result += 'sati';\n }\n return result;\n case 'dd':\n if (number === 1) {\n result += 'dan';\n } else {\n result += 'dana';\n }\n return result;\n case 'MM':\n if (number === 1) {\n result += 'mjesec';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'mjeseca';\n } else {\n result += 'mjeseci';\n }\n return result;\n case 'yy':\n if (number === 1) {\n result += 'godina';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'godine';\n } else {\n result += 'godina';\n }\n return result;\n }\n }\n\n var hr = moment.defineLocale('hr', {\n months : {\n format: 'siječnja_veljače_ožujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca'.split('_'),\n standalone: 'siječanj_veljača_ožujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac'.split('_')\n },\n monthsShort : 'sij._velj._ožu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.'.split('_'),\n monthsParseExact: true,\n weekdays : 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split('_'),\n weekdaysShort : 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n weekdaysMin : 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY H:mm',\n LLLL : 'dddd, D. MMMM YYYY H:mm'\n },\n calendar : {\n sameDay : '[danas u] LT',\n nextDay : '[sutra u] LT',\n nextWeek : function () {\n switch (this.day()) {\n case 0:\n return '[u] [nedjelju] [u] LT';\n case 3:\n return '[u] [srijedu] [u] LT';\n case 6:\n return '[u] [subotu] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay : '[jučer u] LT',\n lastWeek : function () {\n switch (this.day()) {\n case 0:\n case 3:\n return '[prošlu] dddd [u] LT';\n case 6:\n return '[prošle] [subote] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[prošli] dddd [u] LT';\n }\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'za %s',\n past : 'prije %s',\n s : 'par sekundi',\n ss : translate,\n m : translate,\n mm : translate,\n h : translate,\n hh : translate,\n d : 'dan',\n dd : translate,\n M : 'mjesec',\n MM : translate,\n y : 'godinu',\n yy : translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return hr;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '१',\n '2': '२',\n '3': '३',\n '4': '४',\n '5': '५',\n '6': '६',\n '7': '७',\n '8': '८',\n '9': '९',\n '0': '०'\n },\n numberMap = {\n '१': '1',\n '२': '2',\n '३': '3',\n '४': '4',\n '५': '5',\n '६': '6',\n '७': '7',\n '८': '8',\n '९': '9',\n '०': '0'\n };\n\n var hi = moment.defineLocale('hi', {\n months : 'जनवरी_फ़रवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितम्बर_अक्टूबर_नवम्बर_दिसम्बर'.split('_'),\n monthsShort : 'जन._फ़र._मार्च_अप्रै._मई_जून_जुल._अग._सित._अक्टू._नव._दिस.'.split('_'),\n monthsParseExact: true,\n weekdays : 'रविवार_सोमवार_मंगलवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'),\n weekdaysShort : 'रवि_सोम_मंगल_बुध_गुरू_शुक्र_शनि'.split('_'),\n weekdaysMin : 'र_सो_मं_बु_गु_शु_श'.split('_'),\n longDateFormat : {\n LT : 'A h:mm बजे',\n LTS : 'A h:mm:ss बजे',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, A h:mm बजे',\n LLLL : 'dddd, D MMMM YYYY, A h:mm बजे'\n },\n calendar : {\n sameDay : '[आज] LT',\n nextDay : '[कल] LT',\n nextWeek : 'dddd, LT',\n lastDay : '[कल] LT',\n lastWeek : '[पिछले] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s में',\n past : '%s पहले',\n s : 'कुछ ही क्षण',\n ss : '%d सेकंड',\n m : 'एक मिनट',\n mm : '%d मिनट',\n h : 'एक घंटा',\n hh : '%d घंटे',\n d : 'एक दिन',\n dd : '%d दिन',\n M : 'एक महीने',\n MM : '%d महीने',\n y : 'एक वर्ष',\n yy : '%d वर्ष'\n },\n preparse: function (string) {\n return string.replace(/[१२३४५६७८९०]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n // Hindi notation for meridiems are quite fuzzy in practice. While there exists\n // a rigid notion of a 'Pahar' it is not used as rigidly in modern Hindi.\n meridiemParse: /रात|सुबह|दोपहर|शाम/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'रात') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'सुबह') {\n return hour;\n } else if (meridiem === 'दोपहर') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'शाम') {\n return hour + 12;\n }\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'रात';\n } else if (hour < 10) {\n return 'सुबह';\n } else if (hour < 17) {\n return 'दोपहर';\n } else if (hour < 20) {\n return 'शाम';\n } else {\n return 'रात';\n }\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return hi;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var he = moment.defineLocale('he', {\n months : 'ינואר_פברואר_מרץ_אפריל_מאי_יוני_יולי_אוגוסט_ספטמבר_אוקטובר_נובמבר_דצמבר'.split('_'),\n monthsShort : 'ינו׳_פבר׳_מרץ_אפר׳_מאי_יוני_יולי_אוג׳_ספט׳_אוק׳_נוב׳_דצמ׳'.split('_'),\n weekdays : 'ראשון_שני_שלישי_רביעי_חמישי_שישי_שבת'.split('_'),\n weekdaysShort : 'א׳_ב׳_ג׳_ד׳_ה׳_ו׳_ש׳'.split('_'),\n weekdaysMin : 'א_ב_ג_ד_ה_ו_ש'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D [ב]MMMM YYYY',\n LLL : 'D [ב]MMMM YYYY HH:mm',\n LLLL : 'dddd, D [ב]MMMM YYYY HH:mm',\n l : 'D/M/YYYY',\n ll : 'D MMM YYYY',\n lll : 'D MMM YYYY HH:mm',\n llll : 'ddd, D MMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[היום ב־]LT',\n nextDay : '[מחר ב־]LT',\n nextWeek : 'dddd [בשעה] LT',\n lastDay : '[אתמול ב־]LT',\n lastWeek : '[ביום] dddd [האחרון בשעה] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'בעוד %s',\n past : 'לפני %s',\n s : 'מספר שניות',\n ss : '%d שניות',\n m : 'דקה',\n mm : '%d דקות',\n h : 'שעה',\n hh : function (number) {\n if (number === 2) {\n return 'שעתיים';\n }\n return number + ' שעות';\n },\n d : 'יום',\n dd : function (number) {\n if (number === 2) {\n return 'יומיים';\n }\n return number + ' ימים';\n },\n M : 'חודש',\n MM : function (number) {\n if (number === 2) {\n return 'חודשיים';\n }\n return number + ' חודשים';\n },\n y : 'שנה',\n yy : function (number) {\n if (number === 2) {\n return 'שנתיים';\n } else if (number % 10 === 0 && number !== 10) {\n return number + ' שנה';\n }\n return number + ' שנים';\n }\n },\n meridiemParse: /אחה\"צ|לפנה\"צ|אחרי הצהריים|לפני הצהריים|לפנות בוקר|בבוקר|בערב/i,\n isPM : function (input) {\n return /^(אחה\"צ|אחרי הצהריים|בערב)$/.test(input);\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 5) {\n return 'לפנות בוקר';\n } else if (hour < 10) {\n return 'בבוקר';\n } else if (hour < 12) {\n return isLower ? 'לפנה\"צ' : 'לפני הצהריים';\n } else if (hour < 18) {\n return isLower ? 'אחה\"צ' : 'אחרי הצהריים';\n } else {\n return 'בערב';\n }\n }\n });\n\n return he;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '૧',\n '2': '૨',\n '3': '૩',\n '4': '૪',\n '5': '૫',\n '6': '૬',\n '7': '૭',\n '8': '૮',\n '9': '૯',\n '0': '૦'\n },\n numberMap = {\n '૧': '1',\n '૨': '2',\n '૩': '3',\n '૪': '4',\n '૫': '5',\n '૬': '6',\n '૭': '7',\n '૮': '8',\n '૯': '9',\n '૦': '0'\n };\n\n var gu = moment.defineLocale('gu', {\n months: 'જાન્યુઆરી_ફેબ્રુઆરી_માર્ચ_એપ્રિલ_મે_જૂન_જુલાઈ_ઑગસ્ટ_સપ્ટેમ્બર_ઑક્ટ્બર_નવેમ્બર_ડિસેમ્બર'.split('_'),\n monthsShort: 'જાન્યુ._ફેબ્રુ._માર્ચ_એપ્રિ._મે_જૂન_જુલા._ઑગ._સપ્ટે._ઑક્ટ્._નવે._ડિસે.'.split('_'),\n monthsParseExact: true,\n weekdays: 'રવિવાર_સોમવાર_મંગળવાર_બુધ્વાર_ગુરુવાર_શુક્રવાર_શનિવાર'.split('_'),\n weekdaysShort: 'રવિ_સોમ_મંગળ_બુધ્_ગુરુ_શુક્ર_શનિ'.split('_'),\n weekdaysMin: 'ર_સો_મં_બુ_ગુ_શુ_શ'.split('_'),\n longDateFormat: {\n LT: 'A h:mm વાગ્યે',\n LTS: 'A h:mm:ss વાગ્યે',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm વાગ્યે',\n LLLL: 'dddd, D MMMM YYYY, A h:mm વાગ્યે'\n },\n calendar: {\n sameDay: '[આજ] LT',\n nextDay: '[કાલે] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[ગઇકાલે] LT',\n lastWeek: '[પાછલા] dddd, LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s મા',\n past: '%s પેહલા',\n s: 'અમુક પળો',\n ss: '%d સેકંડ',\n m: 'એક મિનિટ',\n mm: '%d મિનિટ',\n h: 'એક કલાક',\n hh: '%d કલાક',\n d: 'એક દિવસ',\n dd: '%d દિવસ',\n M: 'એક મહિનો',\n MM: '%d મહિનો',\n y: 'એક વર્ષ',\n yy: '%d વર્ષ'\n },\n preparse: function (string) {\n return string.replace(/[૧૨૩૪૫૬૭૮૯૦]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n // Gujarati notation for meridiems are quite fuzzy in practice. While there exists\n // a rigid notion of a 'Pahar' it is not used as rigidly in modern Gujarati.\n meridiemParse: /રાત|બપોર|સવાર|સાંજ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'રાત') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'સવાર') {\n return hour;\n } else if (meridiem === 'બપોર') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'સાંજ') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'રાત';\n } else if (hour < 10) {\n return 'સવાર';\n } else if (hour < 17) {\n return 'બપોર';\n } else if (hour < 20) {\n return 'સાંજ';\n } else {\n return 'રાત';\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return gu;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n 's': ['thodde secondanim', 'thodde second'],\n 'ss': [number + ' secondanim', number + ' second'],\n 'm': ['eka mintan', 'ek minute'],\n 'mm': [number + ' mintanim', number + ' mintam'],\n 'h': ['eka horan', 'ek hor'],\n 'hh': [number + ' horanim', number + ' horam'],\n 'd': ['eka disan', 'ek dis'],\n 'dd': [number + ' disanim', number + ' dis'],\n 'M': ['eka mhoinean', 'ek mhoino'],\n 'MM': [number + ' mhoineanim', number + ' mhoine'],\n 'y': ['eka vorsan', 'ek voros'],\n 'yy': [number + ' vorsanim', number + ' vorsam']\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n\n var gomLatn = moment.defineLocale('gom-latn', {\n months : 'Janer_Febrer_Mars_Abril_Mai_Jun_Julai_Agost_Setembr_Otubr_Novembr_Dezembr'.split('_'),\n monthsShort : 'Jan._Feb._Mars_Abr._Mai_Jun_Jul._Ago._Set._Otu._Nov._Dez.'.split('_'),\n monthsParseExact : true,\n weekdays : 'Aitar_Somar_Mongllar_Budvar_Brestar_Sukrar_Son\\'var'.split('_'),\n weekdaysShort : 'Ait._Som._Mon._Bud._Bre._Suk._Son.'.split('_'),\n weekdaysMin : 'Ai_Sm_Mo_Bu_Br_Su_Sn'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'A h:mm [vazta]',\n LTS : 'A h:mm:ss [vazta]',\n L : 'DD-MM-YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY A h:mm [vazta]',\n LLLL : 'dddd, MMMM[achea] Do, YYYY, A h:mm [vazta]',\n llll: 'ddd, D MMM YYYY, A h:mm [vazta]'\n },\n calendar : {\n sameDay: '[Aiz] LT',\n nextDay: '[Faleam] LT',\n nextWeek: '[Ieta to] dddd[,] LT',\n lastDay: '[Kal] LT',\n lastWeek: '[Fatlo] dddd[,] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : '%s',\n past : '%s adim',\n s : processRelativeTime,\n ss : processRelativeTime,\n m : processRelativeTime,\n mm : processRelativeTime,\n h : processRelativeTime,\n hh : processRelativeTime,\n d : processRelativeTime,\n dd : processRelativeTime,\n M : processRelativeTime,\n MM : processRelativeTime,\n y : processRelativeTime,\n yy : processRelativeTime\n },\n dayOfMonthOrdinalParse : /\\d{1,2}(er)/,\n ordinal : function (number, period) {\n switch (period) {\n // the ordinal 'er' only applies to day of the month\n case 'D':\n return number + 'er';\n default:\n case 'M':\n case 'Q':\n case 'DDD':\n case 'd':\n case 'w':\n case 'W':\n return number;\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n },\n meridiemParse: /rati|sokalli|donparam|sanje/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'rati') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'sokalli') {\n return hour;\n } else if (meridiem === 'donparam') {\n return hour > 12 ? hour : hour + 12;\n } else if (meridiem === 'sanje') {\n return hour + 12;\n }\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'rati';\n } else if (hour < 12) {\n return 'sokalli';\n } else if (hour < 16) {\n return 'donparam';\n } else if (hour < 20) {\n return 'sanje';\n } else {\n return 'rati';\n }\n }\n });\n\n return gomLatn;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var gl = moment.defineLocale('gl', {\n months : 'xaneiro_febreiro_marzo_abril_maio_xuño_xullo_agosto_setembro_outubro_novembro_decembro'.split('_'),\n monthsShort : 'xan._feb._mar._abr._mai._xuñ._xul._ago._set._out._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays : 'domingo_luns_martes_mércores_xoves_venres_sábado'.split('_'),\n weekdaysShort : 'dom._lun._mar._mér._xov._ven._sáb.'.split('_'),\n weekdaysMin : 'do_lu_ma_mé_xo_ve_sá'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D [de] MMMM [de] YYYY',\n LLL : 'D [de] MMMM [de] YYYY H:mm',\n LLLL : 'dddd, D [de] MMMM [de] YYYY H:mm'\n },\n calendar : {\n sameDay : function () {\n return '[hoxe ' + ((this.hours() !== 1) ? 'ás' : 'á') + '] LT';\n },\n nextDay : function () {\n return '[mañá ' + ((this.hours() !== 1) ? 'ás' : 'á') + '] LT';\n },\n nextWeek : function () {\n return 'dddd [' + ((this.hours() !== 1) ? 'ás' : 'a') + '] LT';\n },\n lastDay : function () {\n return '[onte ' + ((this.hours() !== 1) ? 'á' : 'a') + '] LT';\n },\n lastWeek : function () {\n return '[o] dddd [pasado ' + ((this.hours() !== 1) ? 'ás' : 'a') + '] LT';\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : function (str) {\n if (str.indexOf('un') === 0) {\n return 'n' + str;\n }\n return 'en ' + str;\n },\n past : 'hai %s',\n s : 'uns segundos',\n ss : '%d segundos',\n m : 'un minuto',\n mm : '%d minutos',\n h : 'unha hora',\n hh : '%d horas',\n d : 'un día',\n dd : '%d días',\n M : 'un mes',\n MM : '%d meses',\n y : 'un ano',\n yy : '%d anos'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}º/,\n ordinal : '%dº',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return gl;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var months = [\n 'Am Faoilleach', 'An Gearran', 'Am Màrt', 'An Giblean', 'An Cèitean', 'An t-Ògmhios', 'An t-Iuchar', 'An Lùnastal', 'An t-Sultain', 'An Dàmhair', 'An t-Samhain', 'An Dùbhlachd'\n ];\n\n var monthsShort = ['Faoi', 'Gear', 'Màrt', 'Gibl', 'Cèit', 'Ògmh', 'Iuch', 'Lùn', 'Sult', 'Dàmh', 'Samh', 'Dùbh'];\n\n var weekdays = ['Didòmhnaich', 'Diluain', 'Dimàirt', 'Diciadain', 'Diardaoin', 'Dihaoine', 'Disathairne'];\n\n var weekdaysShort = ['Did', 'Dil', 'Dim', 'Dic', 'Dia', 'Dih', 'Dis'];\n\n var weekdaysMin = ['Dò', 'Lu', 'Mà', 'Ci', 'Ar', 'Ha', 'Sa'];\n\n var gd = moment.defineLocale('gd', {\n months : months,\n monthsShort : monthsShort,\n monthsParseExact : true,\n weekdays : weekdays,\n weekdaysShort : weekdaysShort,\n weekdaysMin : weekdaysMin,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[An-diugh aig] LT',\n nextDay : '[A-màireach aig] LT',\n nextWeek : 'dddd [aig] LT',\n lastDay : '[An-dè aig] LT',\n lastWeek : 'dddd [seo chaidh] [aig] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'ann an %s',\n past : 'bho chionn %s',\n s : 'beagan diogan',\n ss : '%d diogan',\n m : 'mionaid',\n mm : '%d mionaidean',\n h : 'uair',\n hh : '%d uairean',\n d : 'latha',\n dd : '%d latha',\n M : 'mìos',\n MM : '%d mìosan',\n y : 'bliadhna',\n yy : '%d bliadhna'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}(d|na|mh)/,\n ordinal : function (number) {\n var output = number === 1 ? 'd' : number % 10 === 2 ? 'na' : 'mh';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return gd;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var monthsShortWithDots = 'jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.'.split('_'),\n monthsShortWithoutDots = 'jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_');\n\n var fy = moment.defineLocale('fy', {\n months : 'jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber'.split('_'),\n monthsShort : function (m, format) {\n if (!m) {\n return monthsShortWithDots;\n } else if (/-MMM-/.test(format)) {\n return monthsShortWithoutDots[m.month()];\n } else {\n return monthsShortWithDots[m.month()];\n }\n },\n monthsParseExact : true,\n weekdays : 'snein_moandei_tiisdei_woansdei_tongersdei_freed_sneon'.split('_'),\n weekdaysShort : 'si._mo._ti._wo._to._fr._so.'.split('_'),\n weekdaysMin : 'Si_Mo_Ti_Wo_To_Fr_So'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD-MM-YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[hjoed om] LT',\n nextDay: '[moarn om] LT',\n nextWeek: 'dddd [om] LT',\n lastDay: '[juster om] LT',\n lastWeek: '[ôfrûne] dddd [om] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'oer %s',\n past : '%s lyn',\n s : 'in pear sekonden',\n ss : '%d sekonden',\n m : 'ien minút',\n mm : '%d minuten',\n h : 'ien oere',\n hh : '%d oeren',\n d : 'ien dei',\n dd : '%d dagen',\n M : 'ien moanne',\n MM : '%d moannen',\n y : 'ien jier',\n yy : '%d jierren'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n ordinal : function (number) {\n return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de');\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return fy;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var frCh = moment.defineLocale('fr-ch', {\n months : 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'),\n monthsShort : 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'),\n monthsParseExact : true,\n weekdays : 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n weekdaysShort : 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n weekdaysMin : 'di_lu_ma_me_je_ve_sa'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Aujourd’hui à] LT',\n nextDay : '[Demain à] LT',\n nextWeek : 'dddd [à] LT',\n lastDay : '[Hier à] LT',\n lastWeek : 'dddd [dernier à] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'dans %s',\n past : 'il y a %s',\n s : 'quelques secondes',\n ss : '%d secondes',\n m : 'une minute',\n mm : '%d minutes',\n h : 'une heure',\n hh : '%d heures',\n d : 'un jour',\n dd : '%d jours',\n M : 'un mois',\n MM : '%d mois',\n y : 'un an',\n yy : '%d ans'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(er|e)/,\n ordinal : function (number, period) {\n switch (period) {\n // Words with masculine grammatical gender: mois, trimestre, jour\n default:\n case 'M':\n case 'Q':\n case 'D':\n case 'DDD':\n case 'd':\n return number + (number === 1 ? 'er' : 'e');\n\n // Words with feminine grammatical gender: semaine\n case 'w':\n case 'W':\n return number + (number === 1 ? 're' : 'e');\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return frCh;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var frCa = moment.defineLocale('fr-ca', {\n months : 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'),\n monthsShort : 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'),\n monthsParseExact : true,\n weekdays : 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n weekdaysShort : 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n weekdaysMin : 'di_lu_ma_me_je_ve_sa'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY-MM-DD',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Aujourd’hui à] LT',\n nextDay : '[Demain à] LT',\n nextWeek : 'dddd [à] LT',\n lastDay : '[Hier à] LT',\n lastWeek : 'dddd [dernier à] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'dans %s',\n past : 'il y a %s',\n s : 'quelques secondes',\n ss : '%d secondes',\n m : 'une minute',\n mm : '%d minutes',\n h : 'une heure',\n hh : '%d heures',\n d : 'un jour',\n dd : '%d jours',\n M : 'un mois',\n MM : '%d mois',\n y : 'un an',\n yy : '%d ans'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(er|e)/,\n ordinal : function (number, period) {\n switch (period) {\n // Words with masculine grammatical gender: mois, trimestre, jour\n default:\n case 'M':\n case 'Q':\n case 'D':\n case 'DDD':\n case 'd':\n return number + (number === 1 ? 'er' : 'e');\n\n // Words with feminine grammatical gender: semaine\n case 'w':\n case 'W':\n return number + (number === 1 ? 're' : 'e');\n }\n }\n });\n\n return frCa;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var fr = moment.defineLocale('fr', {\n months : 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'),\n monthsShort : 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'),\n monthsParseExact : true,\n weekdays : 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n weekdaysShort : 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n weekdaysMin : 'di_lu_ma_me_je_ve_sa'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Aujourd’hui à] LT',\n nextDay : '[Demain à] LT',\n nextWeek : 'dddd [à] LT',\n lastDay : '[Hier à] LT',\n lastWeek : 'dddd [dernier à] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'dans %s',\n past : 'il y a %s',\n s : 'quelques secondes',\n ss : '%d secondes',\n m : 'une minute',\n mm : '%d minutes',\n h : 'une heure',\n hh : '%d heures',\n d : 'un jour',\n dd : '%d jours',\n M : 'un mois',\n MM : '%d mois',\n y : 'un an',\n yy : '%d ans'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(er|)/,\n ordinal : function (number, period) {\n switch (period) {\n // TODO: Return 'e' when day of month > 1. Move this case inside\n // block for masculine words below.\n // See https://github.com/moment/moment/issues/3375\n case 'D':\n return number + (number === 1 ? 'er' : '');\n\n // Words with masculine grammatical gender: mois, trimestre, jour\n default:\n case 'M':\n case 'Q':\n case 'DDD':\n case 'd':\n return number + (number === 1 ? 'er' : 'e');\n\n // Words with feminine grammatical gender: semaine\n case 'w':\n case 'W':\n return number + (number === 1 ? 're' : 'e');\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return fr;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var fo = moment.defineLocale('fo', {\n months : 'januar_februar_mars_apríl_mai_juni_juli_august_september_oktober_november_desember'.split('_'),\n monthsShort : 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'),\n weekdays : 'sunnudagur_mánadagur_týsdagur_mikudagur_hósdagur_fríggjadagur_leygardagur'.split('_'),\n weekdaysShort : 'sun_mán_týs_mik_hós_frí_ley'.split('_'),\n weekdaysMin : 'su_má_tý_mi_hó_fr_le'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D. MMMM, YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Í dag kl.] LT',\n nextDay : '[Í morgin kl.] LT',\n nextWeek : 'dddd [kl.] LT',\n lastDay : '[Í gjár kl.] LT',\n lastWeek : '[síðstu] dddd [kl] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'um %s',\n past : '%s síðani',\n s : 'fá sekund',\n ss : '%d sekundir',\n m : 'ein minutt',\n mm : '%d minuttir',\n h : 'ein tími',\n hh : '%d tímar',\n d : 'ein dagur',\n dd : '%d dagar',\n M : 'ein mánaði',\n MM : '%d mánaðir',\n y : 'eitt ár',\n yy : '%d ár'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return fo;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var numbersPast = 'nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän'.split(' '),\n numbersFuture = [\n 'nolla', 'yhden', 'kahden', 'kolmen', 'neljän', 'viiden', 'kuuden',\n numbersPast[7], numbersPast[8], numbersPast[9]\n ];\n function translate(number, withoutSuffix, key, isFuture) {\n var result = '';\n switch (key) {\n case 's':\n return isFuture ? 'muutaman sekunnin' : 'muutama sekunti';\n case 'ss':\n return isFuture ? 'sekunnin' : 'sekuntia';\n case 'm':\n return isFuture ? 'minuutin' : 'minuutti';\n case 'mm':\n result = isFuture ? 'minuutin' : 'minuuttia';\n break;\n case 'h':\n return isFuture ? 'tunnin' : 'tunti';\n case 'hh':\n result = isFuture ? 'tunnin' : 'tuntia';\n break;\n case 'd':\n return isFuture ? 'päivän' : 'päivä';\n case 'dd':\n result = isFuture ? 'päivän' : 'päivää';\n break;\n case 'M':\n return isFuture ? 'kuukauden' : 'kuukausi';\n case 'MM':\n result = isFuture ? 'kuukauden' : 'kuukautta';\n break;\n case 'y':\n return isFuture ? 'vuoden' : 'vuosi';\n case 'yy':\n result = isFuture ? 'vuoden' : 'vuotta';\n break;\n }\n result = verbalNumber(number, isFuture) + ' ' + result;\n return result;\n }\n function verbalNumber(number, isFuture) {\n return number < 10 ? (isFuture ? numbersFuture[number] : numbersPast[number]) : number;\n }\n\n var fi = moment.defineLocale('fi', {\n months : 'tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu'.split('_'),\n monthsShort : 'tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu'.split('_'),\n weekdays : 'sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai'.split('_'),\n weekdaysShort : 'su_ma_ti_ke_to_pe_la'.split('_'),\n weekdaysMin : 'su_ma_ti_ke_to_pe_la'.split('_'),\n longDateFormat : {\n LT : 'HH.mm',\n LTS : 'HH.mm.ss',\n L : 'DD.MM.YYYY',\n LL : 'Do MMMM[ta] YYYY',\n LLL : 'Do MMMM[ta] YYYY, [klo] HH.mm',\n LLLL : 'dddd, Do MMMM[ta] YYYY, [klo] HH.mm',\n l : 'D.M.YYYY',\n ll : 'Do MMM YYYY',\n lll : 'Do MMM YYYY, [klo] HH.mm',\n llll : 'ddd, Do MMM YYYY, [klo] HH.mm'\n },\n calendar : {\n sameDay : '[tänään] [klo] LT',\n nextDay : '[huomenna] [klo] LT',\n nextWeek : 'dddd [klo] LT',\n lastDay : '[eilen] [klo] LT',\n lastWeek : '[viime] dddd[na] [klo] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s päästä',\n past : '%s sitten',\n s : translate,\n ss : translate,\n m : translate,\n mm : translate,\n h : translate,\n hh : translate,\n d : translate,\n dd : translate,\n M : translate,\n MM : translate,\n y : translate,\n yy : translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return fi;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '۱',\n '2': '۲',\n '3': '۳',\n '4': '۴',\n '5': '۵',\n '6': '۶',\n '7': '۷',\n '8': '۸',\n '9': '۹',\n '0': '۰'\n }, numberMap = {\n '۱': '1',\n '۲': '2',\n '۳': '3',\n '۴': '4',\n '۵': '5',\n '۶': '6',\n '۷': '7',\n '۸': '8',\n '۹': '9',\n '۰': '0'\n };\n\n var fa = moment.defineLocale('fa', {\n months : 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split('_'),\n monthsShort : 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split('_'),\n weekdays : 'یک\\u200cشنبه_دوشنبه_سه\\u200cشنبه_چهارشنبه_پنج\\u200cشنبه_جمعه_شنبه'.split('_'),\n weekdaysShort : 'یک\\u200cشنبه_دوشنبه_سه\\u200cشنبه_چهارشنبه_پنج\\u200cشنبه_جمعه_شنبه'.split('_'),\n weekdaysMin : 'ی_د_س_چ_پ_ج_ش'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n meridiemParse: /قبل از ظهر|بعد از ظهر/,\n isPM: function (input) {\n return /بعد از ظهر/.test(input);\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'قبل از ظهر';\n } else {\n return 'بعد از ظهر';\n }\n },\n calendar : {\n sameDay : '[امروز ساعت] LT',\n nextDay : '[فردا ساعت] LT',\n nextWeek : 'dddd [ساعت] LT',\n lastDay : '[دیروز ساعت] LT',\n lastWeek : 'dddd [پیش] [ساعت] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'در %s',\n past : '%s پیش',\n s : 'چند ثانیه',\n ss : 'ثانیه d%',\n m : 'یک دقیقه',\n mm : '%d دقیقه',\n h : 'یک ساعت',\n hh : '%d ساعت',\n d : 'یک روز',\n dd : '%d روز',\n M : 'یک ماه',\n MM : '%d ماه',\n y : 'یک سال',\n yy : '%d سال'\n },\n preparse: function (string) {\n return string.replace(/[۰-۹]/g, function (match) {\n return numberMap[match];\n }).replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n }).replace(/,/g, '،');\n },\n dayOfMonthOrdinalParse: /\\d{1,2}م/,\n ordinal : '%dم',\n week : {\n dow : 6, // Saturday is the first day of the week.\n doy : 12 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return fa;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var eu = moment.defineLocale('eu', {\n months : 'urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua'.split('_'),\n monthsShort : 'urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.'.split('_'),\n monthsParseExact : true,\n weekdays : 'igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata'.split('_'),\n weekdaysShort : 'ig._al._ar._az._og._ol._lr.'.split('_'),\n weekdaysMin : 'ig_al_ar_az_og_ol_lr'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY-MM-DD',\n LL : 'YYYY[ko] MMMM[ren] D[a]',\n LLL : 'YYYY[ko] MMMM[ren] D[a] HH:mm',\n LLLL : 'dddd, YYYY[ko] MMMM[ren] D[a] HH:mm',\n l : 'YYYY-M-D',\n ll : 'YYYY[ko] MMM D[a]',\n lll : 'YYYY[ko] MMM D[a] HH:mm',\n llll : 'ddd, YYYY[ko] MMM D[a] HH:mm'\n },\n calendar : {\n sameDay : '[gaur] LT[etan]',\n nextDay : '[bihar] LT[etan]',\n nextWeek : 'dddd LT[etan]',\n lastDay : '[atzo] LT[etan]',\n lastWeek : '[aurreko] dddd LT[etan]',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s barru',\n past : 'duela %s',\n s : 'segundo batzuk',\n ss : '%d segundo',\n m : 'minutu bat',\n mm : '%d minutu',\n h : 'ordu bat',\n hh : '%d ordu',\n d : 'egun bat',\n dd : '%d egun',\n M : 'hilabete bat',\n MM : '%d hilabete',\n y : 'urte bat',\n yy : '%d urte'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return eu;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n 's' : ['mõne sekundi', 'mõni sekund', 'paar sekundit'],\n 'ss': [number + 'sekundi', number + 'sekundit'],\n 'm' : ['ühe minuti', 'üks minut'],\n 'mm': [number + ' minuti', number + ' minutit'],\n 'h' : ['ühe tunni', 'tund aega', 'üks tund'],\n 'hh': [number + ' tunni', number + ' tundi'],\n 'd' : ['ühe päeva', 'üks päev'],\n 'M' : ['kuu aja', 'kuu aega', 'üks kuu'],\n 'MM': [number + ' kuu', number + ' kuud'],\n 'y' : ['ühe aasta', 'aasta', 'üks aasta'],\n 'yy': [number + ' aasta', number + ' aastat']\n };\n if (withoutSuffix) {\n return format[key][2] ? format[key][2] : format[key][1];\n }\n return isFuture ? format[key][0] : format[key][1];\n }\n\n var et = moment.defineLocale('et', {\n months : 'jaanuar_veebruar_märts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember'.split('_'),\n monthsShort : 'jaan_veebr_märts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets'.split('_'),\n weekdays : 'pühapäev_esmaspäev_teisipäev_kolmapäev_neljapäev_reede_laupäev'.split('_'),\n weekdaysShort : 'P_E_T_K_N_R_L'.split('_'),\n weekdaysMin : 'P_E_T_K_N_R_L'.split('_'),\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY H:mm',\n LLLL : 'dddd, D. MMMM YYYY H:mm'\n },\n calendar : {\n sameDay : '[Täna,] LT',\n nextDay : '[Homme,] LT',\n nextWeek : '[Järgmine] dddd LT',\n lastDay : '[Eile,] LT',\n lastWeek : '[Eelmine] dddd LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s pärast',\n past : '%s tagasi',\n s : processRelativeTime,\n ss : processRelativeTime,\n m : processRelativeTime,\n mm : processRelativeTime,\n h : processRelativeTime,\n hh : processRelativeTime,\n d : processRelativeTime,\n dd : '%d päeva',\n M : processRelativeTime,\n MM : processRelativeTime,\n y : processRelativeTime,\n yy : processRelativeTime\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return et;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_'),\n monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_');\n\n var esUs = moment.defineLocale('es-us', {\n months : 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'),\n monthsShort : function (m, format) {\n if (!m) {\n return monthsShortDot;\n } else if (/-MMM-/.test(format)) {\n return monthsShort[m.month()];\n } else {\n return monthsShortDot[m.month()];\n }\n },\n monthsParseExact : true,\n weekdays : 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n weekdaysShort : 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n weekdaysMin : 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'h:mm A',\n LTS : 'h:mm:ss A',\n L : 'MM/DD/YYYY',\n LL : 'MMMM [de] D [de] YYYY',\n LLL : 'MMMM [de] D [de] YYYY h:mm A',\n LLLL : 'dddd, MMMM [de] D [de] YYYY h:mm A'\n },\n calendar : {\n sameDay : function () {\n return '[hoy a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n nextDay : function () {\n return '[mañana a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n nextWeek : function () {\n return 'dddd [a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n lastDay : function () {\n return '[ayer a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n lastWeek : function () {\n return '[el] dddd [pasado a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'en %s',\n past : 'hace %s',\n s : 'unos segundos',\n ss : '%d segundos',\n m : 'un minuto',\n mm : '%d minutos',\n h : 'una hora',\n hh : '%d horas',\n d : 'un día',\n dd : '%d días',\n M : 'un mes',\n MM : '%d meses',\n y : 'un año',\n yy : '%d años'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}º/,\n ordinal : '%dº',\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return esUs;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_'),\n monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_');\n\n var monthsParse = [/^ene/i, /^feb/i, /^mar/i, /^abr/i, /^may/i, /^jun/i, /^jul/i, /^ago/i, /^sep/i, /^oct/i, /^nov/i, /^dic/i];\n var monthsRegex = /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n\n var esDo = moment.defineLocale('es-do', {\n months : 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'),\n monthsShort : function (m, format) {\n if (!m) {\n return monthsShortDot;\n } else if (/-MMM-/.test(format)) {\n return monthsShort[m.month()];\n } else {\n return monthsShortDot[m.month()];\n }\n },\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n monthsShortStrictRegex: /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n weekdays : 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n weekdaysShort : 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n weekdaysMin : 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'h:mm A',\n LTS : 'h:mm:ss A',\n L : 'DD/MM/YYYY',\n LL : 'D [de] MMMM [de] YYYY',\n LLL : 'D [de] MMMM [de] YYYY h:mm A',\n LLLL : 'dddd, D [de] MMMM [de] YYYY h:mm A'\n },\n calendar : {\n sameDay : function () {\n return '[hoy a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n nextDay : function () {\n return '[mañana a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n nextWeek : function () {\n return 'dddd [a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n lastDay : function () {\n return '[ayer a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n lastWeek : function () {\n return '[el] dddd [pasado a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'en %s',\n past : 'hace %s',\n s : 'unos segundos',\n ss : '%d segundos',\n m : 'un minuto',\n mm : '%d minutos',\n h : 'una hora',\n hh : '%d horas',\n d : 'un día',\n dd : '%d días',\n M : 'un mes',\n MM : '%d meses',\n y : 'un año',\n yy : '%d años'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}º/,\n ordinal : '%dº',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return esDo;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_'),\n monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_');\n\n var monthsParse = [/^ene/i, /^feb/i, /^mar/i, /^abr/i, /^may/i, /^jun/i, /^jul/i, /^ago/i, /^sep/i, /^oct/i, /^nov/i, /^dic/i];\n var monthsRegex = /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n\n var es = moment.defineLocale('es', {\n months : 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'),\n monthsShort : function (m, format) {\n if (!m) {\n return monthsShortDot;\n } else if (/-MMM-/.test(format)) {\n return monthsShort[m.month()];\n } else {\n return monthsShortDot[m.month()];\n }\n },\n monthsRegex : monthsRegex,\n monthsShortRegex : monthsRegex,\n monthsStrictRegex : /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n monthsShortStrictRegex : /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n monthsParse : monthsParse,\n longMonthsParse : monthsParse,\n shortMonthsParse : monthsParse,\n weekdays : 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n weekdaysShort : 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n weekdaysMin : 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D [de] MMMM [de] YYYY',\n LLL : 'D [de] MMMM [de] YYYY H:mm',\n LLLL : 'dddd, D [de] MMMM [de] YYYY H:mm'\n },\n calendar : {\n sameDay : function () {\n return '[hoy a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n nextDay : function () {\n return '[mañana a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n nextWeek : function () {\n return 'dddd [a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n lastDay : function () {\n return '[ayer a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n lastWeek : function () {\n return '[el] dddd [pasado a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'en %s',\n past : 'hace %s',\n s : 'unos segundos',\n ss : '%d segundos',\n m : 'un minuto',\n mm : '%d minutos',\n h : 'una hora',\n hh : '%d horas',\n d : 'un día',\n dd : '%d días',\n M : 'un mes',\n MM : '%d meses',\n y : 'un año',\n yy : '%d años'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}º/,\n ordinal : '%dº',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return es;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var eo = moment.defineLocale('eo', {\n months : 'januaro_februaro_marto_aprilo_majo_junio_julio_aŭgusto_septembro_oktobro_novembro_decembro'.split('_'),\n monthsShort : 'jan_feb_mar_apr_maj_jun_jul_aŭg_sep_okt_nov_dec'.split('_'),\n weekdays : 'dimanĉo_lundo_mardo_merkredo_ĵaŭdo_vendredo_sabato'.split('_'),\n weekdaysShort : 'dim_lun_mard_merk_ĵaŭ_ven_sab'.split('_'),\n weekdaysMin : 'di_lu_ma_me_ĵa_ve_sa'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY-MM-DD',\n LL : 'D[-a de] MMMM, YYYY',\n LLL : 'D[-a de] MMMM, YYYY HH:mm',\n LLLL : 'dddd, [la] D[-a de] MMMM, YYYY HH:mm'\n },\n meridiemParse: /[ap]\\.t\\.m/i,\n isPM: function (input) {\n return input.charAt(0).toLowerCase() === 'p';\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'p.t.m.' : 'P.T.M.';\n } else {\n return isLower ? 'a.t.m.' : 'A.T.M.';\n }\n },\n calendar : {\n sameDay : '[Hodiaŭ je] LT',\n nextDay : '[Morgaŭ je] LT',\n nextWeek : 'dddd [je] LT',\n lastDay : '[Hieraŭ je] LT',\n lastWeek : '[pasinta] dddd [je] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'post %s',\n past : 'antaŭ %s',\n s : 'sekundoj',\n ss : '%d sekundoj',\n m : 'minuto',\n mm : '%d minutoj',\n h : 'horo',\n hh : '%d horoj',\n d : 'tago',//ne 'diurno', ĉar estas uzita por proksimumo\n dd : '%d tagoj',\n M : 'monato',\n MM : '%d monatoj',\n y : 'jaro',\n yy : '%d jaroj'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}a/,\n ordinal : '%da',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return eo;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var enNz = moment.defineLocale('en-nz', {\n months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat : {\n LT : 'h:mm A',\n LTS : 'h:mm:ss A',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY h:mm A',\n LLLL : 'dddd, D MMMM YYYY h:mm A'\n },\n calendar : {\n sameDay : '[Today at] LT',\n nextDay : '[Tomorrow at] LT',\n nextWeek : 'dddd [at] LT',\n lastDay : '[Yesterday at] LT',\n lastWeek : '[Last] dddd [at] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'in %s',\n past : '%s ago',\n s : 'a few seconds',\n ss : '%d seconds',\n m : 'a minute',\n mm : '%d minutes',\n h : 'an hour',\n hh : '%d hours',\n d : 'a day',\n dd : '%d days',\n M : 'a month',\n MM : '%d months',\n y : 'a year',\n yy : '%d years'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return enNz;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var enIl = moment.defineLocale('en-il', {\n months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Today at] LT',\n nextDay : '[Tomorrow at] LT',\n nextWeek : 'dddd [at] LT',\n lastDay : '[Yesterday at] LT',\n lastWeek : '[Last] dddd [at] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'in %s',\n past : '%s ago',\n s : 'a few seconds',\n m : 'a minute',\n mm : '%d minutes',\n h : 'an hour',\n hh : '%d hours',\n d : 'a day',\n dd : '%d days',\n M : 'a month',\n MM : '%d months',\n y : 'a year',\n yy : '%d years'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n }\n });\n\n return enIl;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var enIe = moment.defineLocale('en-ie', {\n months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD-MM-YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Today at] LT',\n nextDay : '[Tomorrow at] LT',\n nextWeek : 'dddd [at] LT',\n lastDay : '[Yesterday at] LT',\n lastWeek : '[Last] dddd [at] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'in %s',\n past : '%s ago',\n s : 'a few seconds',\n ss : '%d seconds',\n m : 'a minute',\n mm : '%d minutes',\n h : 'an hour',\n hh : '%d hours',\n d : 'a day',\n dd : '%d days',\n M : 'a month',\n MM : '%d months',\n y : 'a year',\n yy : '%d years'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return enIe;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var enGb = moment.defineLocale('en-gb', {\n months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Today at] LT',\n nextDay : '[Tomorrow at] LT',\n nextWeek : 'dddd [at] LT',\n lastDay : '[Yesterday at] LT',\n lastWeek : '[Last] dddd [at] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'in %s',\n past : '%s ago',\n s : 'a few seconds',\n ss : '%d seconds',\n m : 'a minute',\n mm : '%d minutes',\n h : 'an hour',\n hh : '%d hours',\n d : 'a day',\n dd : '%d days',\n M : 'a month',\n MM : '%d months',\n y : 'a year',\n yy : '%d years'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return enGb;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var enCa = moment.defineLocale('en-ca', {\n months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat : {\n LT : 'h:mm A',\n LTS : 'h:mm:ss A',\n L : 'YYYY-MM-DD',\n LL : 'MMMM D, YYYY',\n LLL : 'MMMM D, YYYY h:mm A',\n LLLL : 'dddd, MMMM D, YYYY h:mm A'\n },\n calendar : {\n sameDay : '[Today at] LT',\n nextDay : '[Tomorrow at] LT',\n nextWeek : 'dddd [at] LT',\n lastDay : '[Yesterday at] LT',\n lastWeek : '[Last] dddd [at] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'in %s',\n past : '%s ago',\n s : 'a few seconds',\n ss : '%d seconds',\n m : 'a minute',\n mm : '%d minutes',\n h : 'an hour',\n hh : '%d hours',\n d : 'a day',\n dd : '%d days',\n M : 'a month',\n MM : '%d months',\n y : 'a year',\n yy : '%d years'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n }\n });\n\n return enCa;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var enAu = moment.defineLocale('en-au', {\n months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat : {\n LT : 'h:mm A',\n LTS : 'h:mm:ss A',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY h:mm A',\n LLLL : 'dddd, D MMMM YYYY h:mm A'\n },\n calendar : {\n sameDay : '[Today at] LT',\n nextDay : '[Tomorrow at] LT',\n nextWeek : 'dddd [at] LT',\n lastDay : '[Yesterday at] LT',\n lastWeek : '[Last] dddd [at] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'in %s',\n past : '%s ago',\n s : 'a few seconds',\n ss : '%d seconds',\n m : 'a minute',\n mm : '%d minutes',\n h : 'an hour',\n hh : '%d hours',\n d : 'a day',\n dd : '%d days',\n M : 'a month',\n MM : '%d months',\n y : 'a year',\n yy : '%d years'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return enAu;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n function isFunction(input) {\n return input instanceof Function || Object.prototype.toString.call(input) === '[object Function]';\n }\n\n\n var el = moment.defineLocale('el', {\n monthsNominativeEl : 'Ιανουάριος_Φεβρουάριος_Μάρτιος_Απρίλιος_Μάιος_Ιούνιος_Ιούλιος_Αύγουστος_Σεπτέμβριος_Οκτώβριος_Νοέμβριος_Δεκέμβριος'.split('_'),\n monthsGenitiveEl : 'Ιανουαρίου_Φεβρουαρίου_Μαρτίου_Απριλίου_Μαΐου_Ιουνίου_Ιουλίου_Αυγούστου_Σεπτεμβρίου_Οκτωβρίου_Νοεμβρίου_Δεκεμβρίου'.split('_'),\n months : function (momentToFormat, format) {\n if (!momentToFormat) {\n return this._monthsNominativeEl;\n } else if (typeof format === 'string' && /D/.test(format.substring(0, format.indexOf('MMMM')))) { // if there is a day number before 'MMMM'\n return this._monthsGenitiveEl[momentToFormat.month()];\n } else {\n return this._monthsNominativeEl[momentToFormat.month()];\n }\n },\n monthsShort : 'Ιαν_Φεβ_Μαρ_Απρ_Μαϊ_Ιουν_Ιουλ_Αυγ_Σεπ_Οκτ_Νοε_Δεκ'.split('_'),\n weekdays : 'Κυριακή_Δευτέρα_Τρίτη_Τετάρτη_Πέμπτη_Παρασκευή_Σάββατο'.split('_'),\n weekdaysShort : 'Κυρ_Δευ_Τρι_Τετ_Πεμ_Παρ_Σαβ'.split('_'),\n weekdaysMin : 'Κυ_Δε_Τρ_Τε_Πε_Πα_Σα'.split('_'),\n meridiem : function (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'μμ' : 'ΜΜ';\n } else {\n return isLower ? 'πμ' : 'ΠΜ';\n }\n },\n isPM : function (input) {\n return ((input + '').toLowerCase()[0] === 'μ');\n },\n meridiemParse : /[ΠΜ]\\.?Μ?\\.?/i,\n longDateFormat : {\n LT : 'h:mm A',\n LTS : 'h:mm:ss A',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY h:mm A',\n LLLL : 'dddd, D MMMM YYYY h:mm A'\n },\n calendarEl : {\n sameDay : '[Σήμερα {}] LT',\n nextDay : '[Αύριο {}] LT',\n nextWeek : 'dddd [{}] LT',\n lastDay : '[Χθες {}] LT',\n lastWeek : function () {\n switch (this.day()) {\n case 6:\n return '[το προηγούμενο] dddd [{}] LT';\n default:\n return '[την προηγούμενη] dddd [{}] LT';\n }\n },\n sameElse : 'L'\n },\n calendar : function (key, mom) {\n var output = this._calendarEl[key],\n hours = mom && mom.hours();\n if (isFunction(output)) {\n output = output.apply(mom);\n }\n return output.replace('{}', (hours % 12 === 1 ? 'στη' : 'στις'));\n },\n relativeTime : {\n future : 'σε %s',\n past : '%s πριν',\n s : 'λίγα δευτερόλεπτα',\n ss : '%d δευτερόλεπτα',\n m : 'ένα λεπτό',\n mm : '%d λεπτά',\n h : 'μία ώρα',\n hh : '%d ώρες',\n d : 'μία μέρα',\n dd : '%d μέρες',\n M : 'ένας μήνας',\n MM : '%d μήνες',\n y : 'ένας χρόνος',\n yy : '%d χρόνια'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}η/,\n ordinal: '%dη',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4st is the first week of the year.\n }\n });\n\n return el;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var months = [\n 'ޖެނުއަރީ',\n 'ފެބްރުއަރީ',\n 'މާރިޗު',\n 'އޭޕްރީލު',\n 'މޭ',\n 'ޖޫން',\n 'ޖުލައި',\n 'އޯގަސްޓު',\n 'ސެޕްޓެމްބަރު',\n 'އޮކްޓޯބަރު',\n 'ނޮވެމްބަރު',\n 'ޑިސެމްބަރު'\n ], weekdays = [\n 'އާދިއްތަ',\n 'ހޯމަ',\n 'އަންގާރަ',\n 'ބުދަ',\n 'ބުރާސްފަތި',\n 'ހުކުރު',\n 'ހޮނިހިރު'\n ];\n\n var dv = moment.defineLocale('dv', {\n months : months,\n monthsShort : months,\n weekdays : weekdays,\n weekdaysShort : weekdays,\n weekdaysMin : 'އާދި_ހޯމަ_އަން_ބުދަ_ބުރާ_ހުކު_ހޮނި'.split('_'),\n longDateFormat : {\n\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'D/M/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n meridiemParse: /މކ|މފ/,\n isPM : function (input) {\n return 'މފ' === input;\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'މކ';\n } else {\n return 'މފ';\n }\n },\n calendar : {\n sameDay : '[މިއަދު] LT',\n nextDay : '[މާދަމާ] LT',\n nextWeek : 'dddd LT',\n lastDay : '[އިއްޔެ] LT',\n lastWeek : '[ފާއިތުވި] dddd LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'ތެރޭގައި %s',\n past : 'ކުރިން %s',\n s : 'ސިކުންތުކޮޅެއް',\n ss : 'd% ސިކުންތު',\n m : 'މިނިޓެއް',\n mm : 'މިނިޓު %d',\n h : 'ގަޑިއިރެއް',\n hh : 'ގަޑިއިރު %d',\n d : 'ދުވަހެއް',\n dd : 'ދުވަސް %d',\n M : 'މަހެއް',\n MM : 'މަސް %d',\n y : 'އަހަރެއް',\n yy : 'އަހަރު %d'\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/,/g, '،');\n },\n week : {\n dow : 7, // Sunday is the first day of the week.\n doy : 12 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return dv;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n 'm': ['eine Minute', 'einer Minute'],\n 'h': ['eine Stunde', 'einer Stunde'],\n 'd': ['ein Tag', 'einem Tag'],\n 'dd': [number + ' Tage', number + ' Tagen'],\n 'M': ['ein Monat', 'einem Monat'],\n 'MM': [number + ' Monate', number + ' Monaten'],\n 'y': ['ein Jahr', 'einem Jahr'],\n 'yy': [number + ' Jahre', number + ' Jahren']\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n\n var deCh = moment.defineLocale('de-ch', {\n months : 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),\n monthsShort : 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),\n monthsParseExact : true,\n weekdays : 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'),\n weekdaysShort : 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n weekdaysMin : 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY HH:mm',\n LLLL : 'dddd, D. MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[heute um] LT [Uhr]',\n sameElse: 'L',\n nextDay: '[morgen um] LT [Uhr]',\n nextWeek: 'dddd [um] LT [Uhr]',\n lastDay: '[gestern um] LT [Uhr]',\n lastWeek: '[letzten] dddd [um] LT [Uhr]'\n },\n relativeTime : {\n future : 'in %s',\n past : 'vor %s',\n s : 'ein paar Sekunden',\n ss : '%d Sekunden',\n m : processRelativeTime,\n mm : '%d Minuten',\n h : processRelativeTime,\n hh : '%d Stunden',\n d : processRelativeTime,\n dd : processRelativeTime,\n M : processRelativeTime,\n MM : processRelativeTime,\n y : processRelativeTime,\n yy : processRelativeTime\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return deCh;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n 'm': ['eine Minute', 'einer Minute'],\n 'h': ['eine Stunde', 'einer Stunde'],\n 'd': ['ein Tag', 'einem Tag'],\n 'dd': [number + ' Tage', number + ' Tagen'],\n 'M': ['ein Monat', 'einem Monat'],\n 'MM': [number + ' Monate', number + ' Monaten'],\n 'y': ['ein Jahr', 'einem Jahr'],\n 'yy': [number + ' Jahre', number + ' Jahren']\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n\n var deAt = moment.defineLocale('de-at', {\n months : 'Jänner_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),\n monthsShort : 'Jän._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),\n monthsParseExact : true,\n weekdays : 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'),\n weekdaysShort : 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'),\n weekdaysMin : 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY HH:mm',\n LLLL : 'dddd, D. MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[heute um] LT [Uhr]',\n sameElse: 'L',\n nextDay: '[morgen um] LT [Uhr]',\n nextWeek: 'dddd [um] LT [Uhr]',\n lastDay: '[gestern um] LT [Uhr]',\n lastWeek: '[letzten] dddd [um] LT [Uhr]'\n },\n relativeTime : {\n future : 'in %s',\n past : 'vor %s',\n s : 'ein paar Sekunden',\n ss : '%d Sekunden',\n m : processRelativeTime,\n mm : '%d Minuten',\n h : processRelativeTime,\n hh : '%d Stunden',\n d : processRelativeTime,\n dd : processRelativeTime,\n M : processRelativeTime,\n MM : processRelativeTime,\n y : processRelativeTime,\n yy : processRelativeTime\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return deAt;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n 'm': ['eine Minute', 'einer Minute'],\n 'h': ['eine Stunde', 'einer Stunde'],\n 'd': ['ein Tag', 'einem Tag'],\n 'dd': [number + ' Tage', number + ' Tagen'],\n 'M': ['ein Monat', 'einem Monat'],\n 'MM': [number + ' Monate', number + ' Monaten'],\n 'y': ['ein Jahr', 'einem Jahr'],\n 'yy': [number + ' Jahre', number + ' Jahren']\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n\n var de = moment.defineLocale('de', {\n months : 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),\n monthsShort : 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),\n monthsParseExact : true,\n weekdays : 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'),\n weekdaysShort : 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'),\n weekdaysMin : 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY HH:mm',\n LLLL : 'dddd, D. MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[heute um] LT [Uhr]',\n sameElse: 'L',\n nextDay: '[morgen um] LT [Uhr]',\n nextWeek: 'dddd [um] LT [Uhr]',\n lastDay: '[gestern um] LT [Uhr]',\n lastWeek: '[letzten] dddd [um] LT [Uhr]'\n },\n relativeTime : {\n future : 'in %s',\n past : 'vor %s',\n s : 'ein paar Sekunden',\n ss : '%d Sekunden',\n m : processRelativeTime,\n mm : '%d Minuten',\n h : processRelativeTime,\n hh : '%d Stunden',\n d : processRelativeTime,\n dd : processRelativeTime,\n M : processRelativeTime,\n MM : processRelativeTime,\n y : processRelativeTime,\n yy : processRelativeTime\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return de;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var da = moment.defineLocale('da', {\n months : 'januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december'.split('_'),\n monthsShort : 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n weekdays : 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),\n weekdaysShort : 'søn_man_tir_ons_tor_fre_lør'.split('_'),\n weekdaysMin : 'sø_ma_ti_on_to_fr_lø'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY HH:mm',\n LLLL : 'dddd [d.] D. MMMM YYYY [kl.] HH:mm'\n },\n calendar : {\n sameDay : '[i dag kl.] LT',\n nextDay : '[i morgen kl.] LT',\n nextWeek : 'på dddd [kl.] LT',\n lastDay : '[i går kl.] LT',\n lastWeek : '[i] dddd[s kl.] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'om %s',\n past : '%s siden',\n s : 'få sekunder',\n ss : '%d sekunder',\n m : 'et minut',\n mm : '%d minutter',\n h : 'en time',\n hh : '%d timer',\n d : 'en dag',\n dd : '%d dage',\n M : 'en måned',\n MM : '%d måneder',\n y : 'et år',\n yy : '%d år'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return da;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var cy = moment.defineLocale('cy', {\n months: 'Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr'.split('_'),\n monthsShort: 'Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag'.split('_'),\n weekdays: 'Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn'.split('_'),\n weekdaysShort: 'Sul_Llun_Maw_Mer_Iau_Gwe_Sad'.split('_'),\n weekdaysMin: 'Su_Ll_Ma_Me_Ia_Gw_Sa'.split('_'),\n weekdaysParseExact : true,\n // time formats are the same as en-gb\n longDateFormat: {\n LT: 'HH:mm',\n LTS : 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Heddiw am] LT',\n nextDay: '[Yfory am] LT',\n nextWeek: 'dddd [am] LT',\n lastDay: '[Ddoe am] LT',\n lastWeek: 'dddd [diwethaf am] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'mewn %s',\n past: '%s yn ôl',\n s: 'ychydig eiliadau',\n ss: '%d eiliad',\n m: 'munud',\n mm: '%d munud',\n h: 'awr',\n hh: '%d awr',\n d: 'diwrnod',\n dd: '%d diwrnod',\n M: 'mis',\n MM: '%d mis',\n y: 'blwyddyn',\n yy: '%d flynedd'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(fed|ain|af|il|ydd|ed|eg)/,\n // traditional ordinal numbers above 31 are not commonly used in colloquial Welsh\n ordinal: function (number) {\n var b = number,\n output = '',\n lookup = [\n '', 'af', 'il', 'ydd', 'ydd', 'ed', 'ed', 'ed', 'fed', 'fed', 'fed', // 1af to 10fed\n 'eg', 'fed', 'eg', 'eg', 'fed', 'eg', 'eg', 'fed', 'eg', 'fed' // 11eg to 20fed\n ];\n if (b > 20) {\n if (b === 40 || b === 50 || b === 60 || b === 80 || b === 100) {\n output = 'fed'; // not 30ain, 70ain or 90ain\n } else {\n output = 'ain';\n }\n } else if (b > 0) {\n output = lookup[b];\n }\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return cy;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var cv = moment.defineLocale('cv', {\n months : 'кӑрлач_нарӑс_пуш_ака_май_ҫӗртме_утӑ_ҫурла_авӑн_юпа_чӳк_раштав'.split('_'),\n monthsShort : 'кӑр_нар_пуш_ака_май_ҫӗр_утӑ_ҫур_авн_юпа_чӳк_раш'.split('_'),\n weekdays : 'вырсарникун_тунтикун_ытларикун_юнкун_кӗҫнерникун_эрнекун_шӑматкун'.split('_'),\n weekdaysShort : 'выр_тун_ытл_юн_кӗҫ_эрн_шӑм'.split('_'),\n weekdaysMin : 'вр_тн_ыт_юн_кҫ_эр_шм'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD-MM-YYYY',\n LL : 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ]',\n LLL : 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm',\n LLLL : 'dddd, YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm'\n },\n calendar : {\n sameDay: '[Паян] LT [сехетре]',\n nextDay: '[Ыран] LT [сехетре]',\n lastDay: '[Ӗнер] LT [сехетре]',\n nextWeek: '[Ҫитес] dddd LT [сехетре]',\n lastWeek: '[Иртнӗ] dddd LT [сехетре]',\n sameElse: 'L'\n },\n relativeTime : {\n future : function (output) {\n var affix = /сехет$/i.exec(output) ? 'рен' : /ҫул$/i.exec(output) ? 'тан' : 'ран';\n return output + affix;\n },\n past : '%s каялла',\n s : 'пӗр-ик ҫеккунт',\n ss : '%d ҫеккунт',\n m : 'пӗр минут',\n mm : '%d минут',\n h : 'пӗр сехет',\n hh : '%d сехет',\n d : 'пӗр кун',\n dd : '%d кун',\n M : 'пӗр уйӑх',\n MM : '%d уйӑх',\n y : 'пӗр ҫул',\n yy : '%d ҫул'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-мӗш/,\n ordinal : '%d-мӗш',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return cv;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var months = 'leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec'.split('_'),\n monthsShort = 'led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro'.split('_');\n function plural(n) {\n return (n > 1) && (n < 5) && (~~(n / 10) !== 1);\n }\n function translate(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n switch (key) {\n case 's': // a few seconds / in a few seconds / a few seconds ago\n return (withoutSuffix || isFuture) ? 'pár sekund' : 'pár sekundami';\n case 'ss': // 9 seconds / in 9 seconds / 9 seconds ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'sekundy' : 'sekund');\n } else {\n return result + 'sekundami';\n }\n break;\n case 'm': // a minute / in a minute / a minute ago\n return withoutSuffix ? 'minuta' : (isFuture ? 'minutu' : 'minutou');\n case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'minuty' : 'minut');\n } else {\n return result + 'minutami';\n }\n break;\n case 'h': // an hour / in an hour / an hour ago\n return withoutSuffix ? 'hodina' : (isFuture ? 'hodinu' : 'hodinou');\n case 'hh': // 9 hours / in 9 hours / 9 hours ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'hodiny' : 'hodin');\n } else {\n return result + 'hodinami';\n }\n break;\n case 'd': // a day / in a day / a day ago\n return (withoutSuffix || isFuture) ? 'den' : 'dnem';\n case 'dd': // 9 days / in 9 days / 9 days ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'dny' : 'dní');\n } else {\n return result + 'dny';\n }\n break;\n case 'M': // a month / in a month / a month ago\n return (withoutSuffix || isFuture) ? 'měsíc' : 'měsícem';\n case 'MM': // 9 months / in 9 months / 9 months ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'měsíce' : 'měsíců');\n } else {\n return result + 'měsíci';\n }\n break;\n case 'y': // a year / in a year / a year ago\n return (withoutSuffix || isFuture) ? 'rok' : 'rokem';\n case 'yy': // 9 years / in 9 years / 9 years ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'roky' : 'let');\n } else {\n return result + 'lety';\n }\n break;\n }\n }\n\n var cs = moment.defineLocale('cs', {\n months : months,\n monthsShort : monthsShort,\n monthsParse : (function (months, monthsShort) {\n var i, _monthsParse = [];\n for (i = 0; i < 12; i++) {\n // use custom parser to solve problem with July (červenec)\n _monthsParse[i] = new RegExp('^' + months[i] + '$|^' + monthsShort[i] + '$', 'i');\n }\n return _monthsParse;\n }(months, monthsShort)),\n shortMonthsParse : (function (monthsShort) {\n var i, _shortMonthsParse = [];\n for (i = 0; i < 12; i++) {\n _shortMonthsParse[i] = new RegExp('^' + monthsShort[i] + '$', 'i');\n }\n return _shortMonthsParse;\n }(monthsShort)),\n longMonthsParse : (function (months) {\n var i, _longMonthsParse = [];\n for (i = 0; i < 12; i++) {\n _longMonthsParse[i] = new RegExp('^' + months[i] + '$', 'i');\n }\n return _longMonthsParse;\n }(months)),\n weekdays : 'neděle_pondělí_úterý_středa_čtvrtek_pátek_sobota'.split('_'),\n weekdaysShort : 'ne_po_út_st_čt_pá_so'.split('_'),\n weekdaysMin : 'ne_po_út_st_čt_pá_so'.split('_'),\n longDateFormat : {\n LT: 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY H:mm',\n LLLL : 'dddd D. MMMM YYYY H:mm',\n l : 'D. M. YYYY'\n },\n calendar : {\n sameDay: '[dnes v] LT',\n nextDay: '[zítra v] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[v neděli v] LT';\n case 1:\n case 2:\n return '[v] dddd [v] LT';\n case 3:\n return '[ve středu v] LT';\n case 4:\n return '[ve čtvrtek v] LT';\n case 5:\n return '[v pátek v] LT';\n case 6:\n return '[v sobotu v] LT';\n }\n },\n lastDay: '[včera v] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[minulou neděli v] LT';\n case 1:\n case 2:\n return '[minulé] dddd [v] LT';\n case 3:\n return '[minulou středu v] LT';\n case 4:\n case 5:\n return '[minulý] dddd [v] LT';\n case 6:\n return '[minulou sobotu v] LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : 'za %s',\n past : 'před %s',\n s : translate,\n ss : translate,\n m : translate,\n mm : translate,\n h : translate,\n hh : translate,\n d : translate,\n dd : translate,\n M : translate,\n MM : translate,\n y : translate,\n yy : translate\n },\n dayOfMonthOrdinalParse : /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return cs;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var ca = moment.defineLocale('ca', {\n months : {\n standalone: 'gener_febrer_març_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre'.split('_'),\n format: 'de gener_de febrer_de març_d\\'abril_de maig_de juny_de juliol_d\\'agost_de setembre_d\\'octubre_de novembre_de desembre'.split('_'),\n isFormat: /D[oD]?(\\s)+MMMM/\n },\n monthsShort : 'gen._febr._març_abr._maig_juny_jul._ag._set._oct._nov._des.'.split('_'),\n monthsParseExact : true,\n weekdays : 'diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte'.split('_'),\n weekdaysShort : 'dg._dl._dt._dc._dj._dv._ds.'.split('_'),\n weekdaysMin : 'dg_dl_dt_dc_dj_dv_ds'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM [de] YYYY',\n ll : 'D MMM YYYY',\n LLL : 'D MMMM [de] YYYY [a les] H:mm',\n lll : 'D MMM YYYY, H:mm',\n LLLL : 'dddd D MMMM [de] YYYY [a les] H:mm',\n llll : 'ddd D MMM YYYY, H:mm'\n },\n calendar : {\n sameDay : function () {\n return '[avui a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';\n },\n nextDay : function () {\n return '[demà a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';\n },\n nextWeek : function () {\n return 'dddd [a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';\n },\n lastDay : function () {\n return '[ahir a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';\n },\n lastWeek : function () {\n return '[el] dddd [passat a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'd\\'aquí %s',\n past : 'fa %s',\n s : 'uns segons',\n ss : '%d segons',\n m : 'un minut',\n mm : '%d minuts',\n h : 'una hora',\n hh : '%d hores',\n d : 'un dia',\n dd : '%d dies',\n M : 'un mes',\n MM : '%d mesos',\n y : 'un any',\n yy : '%d anys'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(r|n|t|è|a)/,\n ordinal : function (number, period) {\n var output = (number === 1) ? 'r' :\n (number === 2) ? 'n' :\n (number === 3) ? 'r' :\n (number === 4) ? 't' : 'è';\n if (period === 'w' || period === 'W') {\n output = 'a';\n }\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return ca;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function translate(number, withoutSuffix, key) {\n var result = number + ' ';\n switch (key) {\n case 'ss':\n if (number === 1) {\n result += 'sekunda';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sekunde';\n } else {\n result += 'sekundi';\n }\n return result;\n case 'm':\n return withoutSuffix ? 'jedna minuta' : 'jedne minute';\n case 'mm':\n if (number === 1) {\n result += 'minuta';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'minute';\n } else {\n result += 'minuta';\n }\n return result;\n case 'h':\n return withoutSuffix ? 'jedan sat' : 'jednog sata';\n case 'hh':\n if (number === 1) {\n result += 'sat';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sata';\n } else {\n result += 'sati';\n }\n return result;\n case 'dd':\n if (number === 1) {\n result += 'dan';\n } else {\n result += 'dana';\n }\n return result;\n case 'MM':\n if (number === 1) {\n result += 'mjesec';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'mjeseca';\n } else {\n result += 'mjeseci';\n }\n return result;\n case 'yy':\n if (number === 1) {\n result += 'godina';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'godine';\n } else {\n result += 'godina';\n }\n return result;\n }\n }\n\n var bs = moment.defineLocale('bs', {\n months : 'januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar'.split('_'),\n monthsShort : 'jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays : 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split('_'),\n weekdaysShort : 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n weekdaysMin : 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY H:mm',\n LLLL : 'dddd, D. MMMM YYYY H:mm'\n },\n calendar : {\n sameDay : '[danas u] LT',\n nextDay : '[sutra u] LT',\n nextWeek : function () {\n switch (this.day()) {\n case 0:\n return '[u] [nedjelju] [u] LT';\n case 3:\n return '[u] [srijedu] [u] LT';\n case 6:\n return '[u] [subotu] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay : '[jučer u] LT',\n lastWeek : function () {\n switch (this.day()) {\n case 0:\n case 3:\n return '[prošlu] dddd [u] LT';\n case 6:\n return '[prošle] [subote] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[prošli] dddd [u] LT';\n }\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'za %s',\n past : 'prije %s',\n s : 'par sekundi',\n ss : translate,\n m : translate,\n mm : translate,\n h : translate,\n hh : translate,\n d : 'dan',\n dd : translate,\n M : 'mjesec',\n MM : translate,\n y : 'godinu',\n yy : translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return bs;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function relativeTimeWithMutation(number, withoutSuffix, key) {\n var format = {\n 'mm': 'munutenn',\n 'MM': 'miz',\n 'dd': 'devezh'\n };\n return number + ' ' + mutation(format[key], number);\n }\n function specialMutationForYears(number) {\n switch (lastNumber(number)) {\n case 1:\n case 3:\n case 4:\n case 5:\n case 9:\n return number + ' bloaz';\n default:\n return number + ' vloaz';\n }\n }\n function lastNumber(number) {\n if (number > 9) {\n return lastNumber(number % 10);\n }\n return number;\n }\n function mutation(text, number) {\n if (number === 2) {\n return softMutation(text);\n }\n return text;\n }\n function softMutation(text) {\n var mutationTable = {\n 'm': 'v',\n 'b': 'v',\n 'd': 'z'\n };\n if (mutationTable[text.charAt(0)] === undefined) {\n return text;\n }\n return mutationTable[text.charAt(0)] + text.substring(1);\n }\n\n var br = moment.defineLocale('br', {\n months : 'Genver_C\\'hwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu'.split('_'),\n monthsShort : 'Gen_C\\'hwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker'.split('_'),\n weekdays : 'Sul_Lun_Meurzh_Merc\\'her_Yaou_Gwener_Sadorn'.split('_'),\n weekdaysShort : 'Sul_Lun_Meu_Mer_Yao_Gwe_Sad'.split('_'),\n weekdaysMin : 'Su_Lu_Me_Mer_Ya_Gw_Sa'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'h[e]mm A',\n LTS : 'h[e]mm:ss A',\n L : 'DD/MM/YYYY',\n LL : 'D [a viz] MMMM YYYY',\n LLL : 'D [a viz] MMMM YYYY h[e]mm A',\n LLLL : 'dddd, D [a viz] MMMM YYYY h[e]mm A'\n },\n calendar : {\n sameDay : '[Hiziv da] LT',\n nextDay : '[Warc\\'hoazh da] LT',\n nextWeek : 'dddd [da] LT',\n lastDay : '[Dec\\'h da] LT',\n lastWeek : 'dddd [paset da] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'a-benn %s',\n past : '%s \\'zo',\n s : 'un nebeud segondennoù',\n ss : '%d eilenn',\n m : 'ur vunutenn',\n mm : relativeTimeWithMutation,\n h : 'un eur',\n hh : '%d eur',\n d : 'un devezh',\n dd : relativeTimeWithMutation,\n M : 'ur miz',\n MM : relativeTimeWithMutation,\n y : 'ur bloaz',\n yy : specialMutationForYears\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(añ|vet)/,\n ordinal : function (number) {\n var output = (number === 1) ? 'añ' : 'vet';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return br;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '༡',\n '2': '༢',\n '3': '༣',\n '4': '༤',\n '5': '༥',\n '6': '༦',\n '7': '༧',\n '8': '༨',\n '9': '༩',\n '0': '༠'\n },\n numberMap = {\n '༡': '1',\n '༢': '2',\n '༣': '3',\n '༤': '4',\n '༥': '5',\n '༦': '6',\n '༧': '7',\n '༨': '8',\n '༩': '9',\n '༠': '0'\n };\n\n var bo = moment.defineLocale('bo', {\n months : 'ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ'.split('_'),\n monthsShort : 'ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ'.split('_'),\n weekdays : 'གཟའ་ཉི་མ་_གཟའ་ཟླ་བ་_གཟའ་མིག་དམར་_གཟའ་ལྷག་པ་_གཟའ་ཕུར་བུ_གཟའ་པ་སངས་_གཟའ་སྤེན་པ་'.split('_'),\n weekdaysShort : 'ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་'.split('_'),\n weekdaysMin : 'ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་'.split('_'),\n longDateFormat : {\n LT : 'A h:mm',\n LTS : 'A h:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, A h:mm',\n LLLL : 'dddd, D MMMM YYYY, A h:mm'\n },\n calendar : {\n sameDay : '[དི་རིང] LT',\n nextDay : '[སང་ཉིན] LT',\n nextWeek : '[བདུན་ཕྲག་རྗེས་མ], LT',\n lastDay : '[ཁ་སང] LT',\n lastWeek : '[བདུན་ཕྲག་མཐའ་མ] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s ལ་',\n past : '%s སྔན་ལ',\n s : 'ལམ་སང',\n ss : '%d སྐར་ཆ།',\n m : 'སྐར་མ་གཅིག',\n mm : '%d སྐར་མ',\n h : 'ཆུ་ཚོད་གཅིག',\n hh : '%d ཆུ་ཚོད',\n d : 'ཉིན་གཅིག',\n dd : '%d ཉིན་',\n M : 'ཟླ་བ་གཅིག',\n MM : '%d ཟླ་བ',\n y : 'ལོ་གཅིག',\n yy : '%d ལོ'\n },\n preparse: function (string) {\n return string.replace(/[༡༢༣༤༥༦༧༨༩༠]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /མཚན་མོ|ཞོགས་ཀས|ཉིན་གུང|དགོང་དག|མཚན་མོ/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if ((meridiem === 'མཚན་མོ' && hour >= 4) ||\n (meridiem === 'ཉིན་གུང' && hour < 5) ||\n meridiem === 'དགོང་དག') {\n return hour + 12;\n } else {\n return hour;\n }\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'མཚན་མོ';\n } else if (hour < 10) {\n return 'ཞོགས་ཀས';\n } else if (hour < 17) {\n return 'ཉིན་གུང';\n } else if (hour < 20) {\n return 'དགོང་དག';\n } else {\n return 'མཚན་མོ';\n }\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return bo;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '১',\n '2': '২',\n '3': '৩',\n '4': '৪',\n '5': '৫',\n '6': '৬',\n '7': '৭',\n '8': '৮',\n '9': '৯',\n '0': '০'\n },\n numberMap = {\n '১': '1',\n '২': '2',\n '৩': '3',\n '৪': '4',\n '৫': '5',\n '৬': '6',\n '৭': '7',\n '৮': '8',\n '৯': '9',\n '০': '0'\n };\n\n var bn = moment.defineLocale('bn', {\n months : 'জানুয়ারী_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর'.split('_'),\n monthsShort : 'জানু_ফেব_মার্চ_এপ্র_মে_জুন_জুল_আগ_সেপ্ট_অক্টো_নভে_ডিসে'.split('_'),\n weekdays : 'রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার'.split('_'),\n weekdaysShort : 'রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি'.split('_'),\n weekdaysMin : 'রবি_সোম_মঙ্গ_বুধ_বৃহঃ_শুক্র_শনি'.split('_'),\n longDateFormat : {\n LT : 'A h:mm সময়',\n LTS : 'A h:mm:ss সময়',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, A h:mm সময়',\n LLLL : 'dddd, D MMMM YYYY, A h:mm সময়'\n },\n calendar : {\n sameDay : '[আজ] LT',\n nextDay : '[আগামীকাল] LT',\n nextWeek : 'dddd, LT',\n lastDay : '[গতকাল] LT',\n lastWeek : '[গত] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s পরে',\n past : '%s আগে',\n s : 'কয়েক সেকেন্ড',\n ss : '%d সেকেন্ড',\n m : 'এক মিনিট',\n mm : '%d মিনিট',\n h : 'এক ঘন্টা',\n hh : '%d ঘন্টা',\n d : 'এক দিন',\n dd : '%d দিন',\n M : 'এক মাস',\n MM : '%d মাস',\n y : 'এক বছর',\n yy : '%d বছর'\n },\n preparse: function (string) {\n return string.replace(/[১২৩৪৫৬৭৮৯০]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /রাত|সকাল|দুপুর|বিকাল|রাত/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if ((meridiem === 'রাত' && hour >= 4) ||\n (meridiem === 'দুপুর' && hour < 5) ||\n meridiem === 'বিকাল') {\n return hour + 12;\n } else {\n return hour;\n }\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'রাত';\n } else if (hour < 10) {\n return 'সকাল';\n } else if (hour < 17) {\n return 'দুপুর';\n } else if (hour < 20) {\n return 'বিকাল';\n } else {\n return 'রাত';\n }\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return bn;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var bm = moment.defineLocale('bm', {\n months : 'Zanwuyekalo_Fewuruyekalo_Marisikalo_Awirilikalo_Mɛkalo_Zuwɛnkalo_Zuluyekalo_Utikalo_Sɛtanburukalo_ɔkutɔburukalo_Nowanburukalo_Desanburukalo'.split('_'),\n monthsShort : 'Zan_Few_Mar_Awi_Mɛ_Zuw_Zul_Uti_Sɛt_ɔku_Now_Des'.split('_'),\n weekdays : 'Kari_Ntɛnɛn_Tarata_Araba_Alamisa_Juma_Sibiri'.split('_'),\n weekdaysShort : 'Kar_Ntɛ_Tar_Ara_Ala_Jum_Sib'.split('_'),\n weekdaysMin : 'Ka_Nt_Ta_Ar_Al_Ju_Si'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'MMMM [tile] D [san] YYYY',\n LLL : 'MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm',\n LLLL : 'dddd MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm'\n },\n calendar : {\n sameDay : '[Bi lɛrɛ] LT',\n nextDay : '[Sini lɛrɛ] LT',\n nextWeek : 'dddd [don lɛrɛ] LT',\n lastDay : '[Kunu lɛrɛ] LT',\n lastWeek : 'dddd [tɛmɛnen lɛrɛ] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s kɔnɔ',\n past : 'a bɛ %s bɔ',\n s : 'sanga dama dama',\n ss : 'sekondi %d',\n m : 'miniti kelen',\n mm : 'miniti %d',\n h : 'lɛrɛ kelen',\n hh : 'lɛrɛ %d',\n d : 'tile kelen',\n dd : 'tile %d',\n M : 'kalo kelen',\n MM : 'kalo %d',\n y : 'san kelen',\n yy : 'san %d'\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return bm;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var bg = moment.defineLocale('bg', {\n months : 'януари_февруари_март_април_май_юни_юли_август_септември_октомври_ноември_декември'.split('_'),\n monthsShort : 'янр_фев_мар_апр_май_юни_юли_авг_сеп_окт_ное_дек'.split('_'),\n weekdays : 'неделя_понеделник_вторник_сряда_четвъртък_петък_събота'.split('_'),\n weekdaysShort : 'нед_пон_вто_сря_чет_пет_съб'.split('_'),\n weekdaysMin : 'нд_пн_вт_ср_чт_пт_сб'.split('_'),\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'D.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY H:mm',\n LLLL : 'dddd, D MMMM YYYY H:mm'\n },\n calendar : {\n sameDay : '[Днес в] LT',\n nextDay : '[Утре в] LT',\n nextWeek : 'dddd [в] LT',\n lastDay : '[Вчера в] LT',\n lastWeek : function () {\n switch (this.day()) {\n case 0:\n case 3:\n case 6:\n return '[В изминалата] dddd [в] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[В изминалия] dddd [в] LT';\n }\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'след %s',\n past : 'преди %s',\n s : 'няколко секунди',\n ss : '%d секунди',\n m : 'минута',\n mm : '%d минути',\n h : 'час',\n hh : '%d часа',\n d : 'ден',\n dd : '%d дни',\n M : 'месец',\n MM : '%d месеца',\n y : 'година',\n yy : '%d години'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ев|ен|ти|ви|ри|ми)/,\n ordinal : function (number) {\n var lastDigit = number % 10,\n last2Digits = number % 100;\n if (number === 0) {\n return number + '-ев';\n } else if (last2Digits === 0) {\n return number + '-ен';\n } else if (last2Digits > 10 && last2Digits < 20) {\n return number + '-ти';\n } else if (lastDigit === 1) {\n return number + '-ви';\n } else if (lastDigit === 2) {\n return number + '-ри';\n } else if (lastDigit === 7 || lastDigit === 8) {\n return number + '-ми';\n } else {\n return number + '-ти';\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return bg;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function plural(word, num) {\n var forms = word.split('_');\n return num % 10 === 1 && num % 100 !== 11 ? forms[0] : (num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) ? forms[1] : forms[2]);\n }\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n var format = {\n 'ss': withoutSuffix ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд',\n 'mm': withoutSuffix ? 'хвіліна_хвіліны_хвілін' : 'хвіліну_хвіліны_хвілін',\n 'hh': withoutSuffix ? 'гадзіна_гадзіны_гадзін' : 'гадзіну_гадзіны_гадзін',\n 'dd': 'дзень_дні_дзён',\n 'MM': 'месяц_месяцы_месяцаў',\n 'yy': 'год_гады_гадоў'\n };\n if (key === 'm') {\n return withoutSuffix ? 'хвіліна' : 'хвіліну';\n }\n else if (key === 'h') {\n return withoutSuffix ? 'гадзіна' : 'гадзіну';\n }\n else {\n return number + ' ' + plural(format[key], +number);\n }\n }\n\n var be = moment.defineLocale('be', {\n months : {\n format: 'студзеня_лютага_сакавіка_красавіка_траўня_чэрвеня_ліпеня_жніўня_верасня_кастрычніка_лістапада_снежня'.split('_'),\n standalone: 'студзень_люты_сакавік_красавік_травень_чэрвень_ліпень_жнівень_верасень_кастрычнік_лістапад_снежань'.split('_')\n },\n monthsShort : 'студ_лют_сак_крас_трав_чэрв_ліп_жнів_вер_каст_ліст_снеж'.split('_'),\n weekdays : {\n format: 'нядзелю_панядзелак_аўторак_сераду_чацвер_пятніцу_суботу'.split('_'),\n standalone: 'нядзеля_панядзелак_аўторак_серада_чацвер_пятніца_субота'.split('_'),\n isFormat: /\\[ ?[Ууў] ?(?:мінулую|наступную)? ?\\] ?dddd/\n },\n weekdaysShort : 'нд_пн_ат_ср_чц_пт_сб'.split('_'),\n weekdaysMin : 'нд_пн_ат_ср_чц_пт_сб'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY г.',\n LLL : 'D MMMM YYYY г., HH:mm',\n LLLL : 'dddd, D MMMM YYYY г., HH:mm'\n },\n calendar : {\n sameDay: '[Сёння ў] LT',\n nextDay: '[Заўтра ў] LT',\n lastDay: '[Учора ў] LT',\n nextWeek: function () {\n return '[У] dddd [ў] LT';\n },\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n case 3:\n case 5:\n case 6:\n return '[У мінулую] dddd [ў] LT';\n case 1:\n case 2:\n case 4:\n return '[У мінулы] dddd [ў] LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : 'праз %s',\n past : '%s таму',\n s : 'некалькі секунд',\n m : relativeTimeWithPlural,\n mm : relativeTimeWithPlural,\n h : relativeTimeWithPlural,\n hh : relativeTimeWithPlural,\n d : 'дзень',\n dd : relativeTimeWithPlural,\n M : 'месяц',\n MM : relativeTimeWithPlural,\n y : 'год',\n yy : relativeTimeWithPlural\n },\n meridiemParse: /ночы|раніцы|дня|вечара/,\n isPM : function (input) {\n return /^(дня|вечара)$/.test(input);\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ночы';\n } else if (hour < 12) {\n return 'раніцы';\n } else if (hour < 17) {\n return 'дня';\n } else {\n return 'вечара';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(і|ы|га)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'M':\n case 'd':\n case 'DDD':\n case 'w':\n case 'W':\n return (number % 10 === 2 || number % 10 === 3) && (number % 100 !== 12 && number % 100 !== 13) ? number + '-і' : number + '-ы';\n case 'D':\n return number + '-га';\n default:\n return number;\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return be;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var suffixes = {\n 1: '-inci',\n 5: '-inci',\n 8: '-inci',\n 70: '-inci',\n 80: '-inci',\n 2: '-nci',\n 7: '-nci',\n 20: '-nci',\n 50: '-nci',\n 3: '-üncü',\n 4: '-üncü',\n 100: '-üncü',\n 6: '-ncı',\n 9: '-uncu',\n 10: '-uncu',\n 30: '-uncu',\n 60: '-ıncı',\n 90: '-ıncı'\n };\n\n var az = moment.defineLocale('az', {\n months : 'yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr'.split('_'),\n monthsShort : 'yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek'.split('_'),\n weekdays : 'Bazar_Bazar ertəsi_Çərşənbə axşamı_Çərşənbə_Cümə axşamı_Cümə_Şənbə'.split('_'),\n weekdaysShort : 'Baz_BzE_ÇAx_Çər_CAx_Cüm_Şən'.split('_'),\n weekdaysMin : 'Bz_BE_ÇA_Çə_CA_Cü_Şə'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[bugün saat] LT',\n nextDay : '[sabah saat] LT',\n nextWeek : '[gələn həftə] dddd [saat] LT',\n lastDay : '[dünən] LT',\n lastWeek : '[keçən həftə] dddd [saat] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s sonra',\n past : '%s əvvəl',\n s : 'birneçə saniyə',\n ss : '%d saniyə',\n m : 'bir dəqiqə',\n mm : '%d dəqiqə',\n h : 'bir saat',\n hh : '%d saat',\n d : 'bir gün',\n dd : '%d gün',\n M : 'bir ay',\n MM : '%d ay',\n y : 'bir il',\n yy : '%d il'\n },\n meridiemParse: /gecə|səhər|gündüz|axşam/,\n isPM : function (input) {\n return /^(gündüz|axşam)$/.test(input);\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'gecə';\n } else if (hour < 12) {\n return 'səhər';\n } else if (hour < 17) {\n return 'gündüz';\n } else {\n return 'axşam';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ıncı|inci|nci|üncü|ncı|uncu)/,\n ordinal : function (number) {\n if (number === 0) { // special case for zero\n return number + '-ıncı';\n }\n var a = number % 10,\n b = number % 100 - a,\n c = number >= 100 ? 100 : null;\n return number + (suffixes[a] || suffixes[b] || suffixes[c]);\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return az;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var arTn = moment.defineLocale('ar-tn', {\n months: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),\n monthsShort: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact : true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'في %s',\n past: 'منذ %s',\n s: 'ثوان',\n ss : '%d ثانية',\n m: 'دقيقة',\n mm: '%d دقائق',\n h: 'ساعة',\n hh: '%d ساعات',\n d: 'يوم',\n dd: '%d أيام',\n M: 'شهر',\n MM: '%d أشهر',\n y: 'سنة',\n yy: '%d سنوات'\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return arTn;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '١',\n '2': '٢',\n '3': '٣',\n '4': '٤',\n '5': '٥',\n '6': '٦',\n '7': '٧',\n '8': '٨',\n '9': '٩',\n '0': '٠'\n }, numberMap = {\n '١': '1',\n '٢': '2',\n '٣': '3',\n '٤': '4',\n '٥': '5',\n '٦': '6',\n '٧': '7',\n '٨': '8',\n '٩': '9',\n '٠': '0'\n };\n\n var arSa = moment.defineLocale('ar-sa', {\n months : 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),\n monthsShort : 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),\n weekdays : 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort : 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n meridiemParse: /ص|م/,\n isPM : function (input) {\n return 'م' === input;\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ص';\n } else {\n return 'م';\n }\n },\n calendar : {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'في %s',\n past : 'منذ %s',\n s : 'ثوان',\n ss : '%d ثانية',\n m : 'دقيقة',\n mm : '%d دقائق',\n h : 'ساعة',\n hh : '%d ساعات',\n d : 'يوم',\n dd : '%d أيام',\n M : 'شهر',\n MM : '%d أشهر',\n y : 'سنة',\n yy : '%d سنوات'\n },\n preparse: function (string) {\n return string.replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\n return numberMap[match];\n }).replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n }).replace(/,/g, '،');\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return arSa;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var arMa = moment.defineLocale('ar-ma', {\n months : 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),\n monthsShort : 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),\n weekdays : 'الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort : 'احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'في %s',\n past : 'منذ %s',\n s : 'ثوان',\n ss : '%d ثانية',\n m : 'دقيقة',\n mm : '%d دقائق',\n h : 'ساعة',\n hh : '%d ساعات',\n d : 'يوم',\n dd : '%d أيام',\n M : 'شهر',\n MM : '%d أشهر',\n y : 'سنة',\n yy : '%d سنوات'\n },\n week : {\n dow : 6, // Saturday is the first day of the week.\n doy : 12 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return arMa;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '1',\n '2': '2',\n '3': '3',\n '4': '4',\n '5': '5',\n '6': '6',\n '7': '7',\n '8': '8',\n '9': '9',\n '0': '0'\n }, pluralForm = function (n) {\n return n === 0 ? 0 : n === 1 ? 1 : n === 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5;\n }, plurals = {\n s : ['أقل من ثانية', 'ثانية واحدة', ['ثانيتان', 'ثانيتين'], '%d ثوان', '%d ثانية', '%d ثانية'],\n m : ['أقل من دقيقة', 'دقيقة واحدة', ['دقيقتان', 'دقيقتين'], '%d دقائق', '%d دقيقة', '%d دقيقة'],\n h : ['أقل من ساعة', 'ساعة واحدة', ['ساعتان', 'ساعتين'], '%d ساعات', '%d ساعة', '%d ساعة'],\n d : ['أقل من يوم', 'يوم واحد', ['يومان', 'يومين'], '%d أيام', '%d يومًا', '%d يوم'],\n M : ['أقل من شهر', 'شهر واحد', ['شهران', 'شهرين'], '%d أشهر', '%d شهرا', '%d شهر'],\n y : ['أقل من عام', 'عام واحد', ['عامان', 'عامين'], '%d أعوام', '%d عامًا', '%d عام']\n }, pluralize = function (u) {\n return function (number, withoutSuffix, string, isFuture) {\n var f = pluralForm(number),\n str = plurals[u][pluralForm(number)];\n if (f === 2) {\n str = str[withoutSuffix ? 0 : 1];\n }\n return str.replace(/%d/i, number);\n };\n }, months = [\n 'يناير',\n 'فبراير',\n 'مارس',\n 'أبريل',\n 'مايو',\n 'يونيو',\n 'يوليو',\n 'أغسطس',\n 'سبتمبر',\n 'أكتوبر',\n 'نوفمبر',\n 'ديسمبر'\n ];\n\n var arLy = moment.defineLocale('ar-ly', {\n months : months,\n monthsShort : months,\n weekdays : 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort : 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'D/\\u200FM/\\u200FYYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n meridiemParse: /ص|م/,\n isPM : function (input) {\n return 'م' === input;\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ص';\n } else {\n return 'م';\n }\n },\n calendar : {\n sameDay: '[اليوم عند الساعة] LT',\n nextDay: '[غدًا عند الساعة] LT',\n nextWeek: 'dddd [عند الساعة] LT',\n lastDay: '[أمس عند الساعة] LT',\n lastWeek: 'dddd [عند الساعة] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'بعد %s',\n past : 'منذ %s',\n s : pluralize('s'),\n ss : pluralize('s'),\n m : pluralize('m'),\n mm : pluralize('m'),\n h : pluralize('h'),\n hh : pluralize('h'),\n d : pluralize('d'),\n dd : pluralize('d'),\n M : pluralize('M'),\n MM : pluralize('M'),\n y : pluralize('y'),\n yy : pluralize('y')\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n }).replace(/,/g, '،');\n },\n week : {\n dow : 6, // Saturday is the first day of the week.\n doy : 12 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return arLy;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var arKw = moment.defineLocale('ar-kw', {\n months : 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),\n monthsShort : 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),\n weekdays : 'الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort : 'احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'في %s',\n past : 'منذ %s',\n s : 'ثوان',\n ss : '%d ثانية',\n m : 'دقيقة',\n mm : '%d دقائق',\n h : 'ساعة',\n hh : '%d ساعات',\n d : 'يوم',\n dd : '%d أيام',\n M : 'شهر',\n MM : '%d أشهر',\n y : 'سنة',\n yy : '%d سنوات'\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 12 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return arKw;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var arDz = moment.defineLocale('ar-dz', {\n months : 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),\n monthsShort : 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),\n weekdays : 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort : 'احد_اثنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin : 'أح_إث_ثلا_أر_خم_جم_سب'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'في %s',\n past : 'منذ %s',\n s : 'ثوان',\n ss : '%d ثانية',\n m : 'دقيقة',\n mm : '%d دقائق',\n h : 'ساعة',\n hh : '%d ساعات',\n d : 'يوم',\n dd : '%d أيام',\n M : 'شهر',\n MM : '%d أشهر',\n y : 'سنة',\n yy : '%d سنوات'\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 4 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return arDz;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '١',\n '2': '٢',\n '3': '٣',\n '4': '٤',\n '5': '٥',\n '6': '٦',\n '7': '٧',\n '8': '٨',\n '9': '٩',\n '0': '٠'\n }, numberMap = {\n '١': '1',\n '٢': '2',\n '٣': '3',\n '٤': '4',\n '٥': '5',\n '٦': '6',\n '٧': '7',\n '٨': '8',\n '٩': '9',\n '٠': '0'\n }, pluralForm = function (n) {\n return n === 0 ? 0 : n === 1 ? 1 : n === 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5;\n }, plurals = {\n s : ['أقل من ثانية', 'ثانية واحدة', ['ثانيتان', 'ثانيتين'], '%d ثوان', '%d ثانية', '%d ثانية'],\n m : ['أقل من دقيقة', 'دقيقة واحدة', ['دقيقتان', 'دقيقتين'], '%d دقائق', '%d دقيقة', '%d دقيقة'],\n h : ['أقل من ساعة', 'ساعة واحدة', ['ساعتان', 'ساعتين'], '%d ساعات', '%d ساعة', '%d ساعة'],\n d : ['أقل من يوم', 'يوم واحد', ['يومان', 'يومين'], '%d أيام', '%d يومًا', '%d يوم'],\n M : ['أقل من شهر', 'شهر واحد', ['شهران', 'شهرين'], '%d أشهر', '%d شهرا', '%d شهر'],\n y : ['أقل من عام', 'عام واحد', ['عامان', 'عامين'], '%d أعوام', '%d عامًا', '%d عام']\n }, pluralize = function (u) {\n return function (number, withoutSuffix, string, isFuture) {\n var f = pluralForm(number),\n str = plurals[u][pluralForm(number)];\n if (f === 2) {\n str = str[withoutSuffix ? 0 : 1];\n }\n return str.replace(/%d/i, number);\n };\n }, months = [\n 'يناير',\n 'فبراير',\n 'مارس',\n 'أبريل',\n 'مايو',\n 'يونيو',\n 'يوليو',\n 'أغسطس',\n 'سبتمبر',\n 'أكتوبر',\n 'نوفمبر',\n 'ديسمبر'\n ];\n\n var ar = moment.defineLocale('ar', {\n months : months,\n monthsShort : months,\n weekdays : 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort : 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'D/\\u200FM/\\u200FYYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n meridiemParse: /ص|م/,\n isPM : function (input) {\n return 'م' === input;\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ص';\n } else {\n return 'م';\n }\n },\n calendar : {\n sameDay: '[اليوم عند الساعة] LT',\n nextDay: '[غدًا عند الساعة] LT',\n nextWeek: 'dddd [عند الساعة] LT',\n lastDay: '[أمس عند الساعة] LT',\n lastWeek: 'dddd [عند الساعة] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'بعد %s',\n past : 'منذ %s',\n s : pluralize('s'),\n ss : pluralize('s'),\n m : pluralize('m'),\n mm : pluralize('m'),\n h : pluralize('h'),\n hh : pluralize('h'),\n d : pluralize('d'),\n dd : pluralize('d'),\n M : pluralize('M'),\n MM : pluralize('M'),\n y : pluralize('y'),\n yy : pluralize('y')\n },\n preparse: function (string) {\n return string.replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\n return numberMap[match];\n }).replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n }).replace(/,/g, '،');\n },\n week : {\n dow : 6, // Saturday is the first day of the week.\n doy : 12 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return ar;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var af = moment.defineLocale('af', {\n months : 'Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember'.split('_'),\n monthsShort : 'Jan_Feb_Mrt_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des'.split('_'),\n weekdays : 'Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag'.split('_'),\n weekdaysShort : 'Son_Maa_Din_Woe_Don_Vry_Sat'.split('_'),\n weekdaysMin : 'So_Ma_Di_Wo_Do_Vr_Sa'.split('_'),\n meridiemParse: /vm|nm/i,\n isPM : function (input) {\n return /^nm$/i.test(input);\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours < 12) {\n return isLower ? 'vm' : 'VM';\n } else {\n return isLower ? 'nm' : 'NM';\n }\n },\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Vandag om] LT',\n nextDay : '[Môre om] LT',\n nextWeek : 'dddd [om] LT',\n lastDay : '[Gister om] LT',\n lastWeek : '[Laas] dddd [om] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'oor %s',\n past : '%s gelede',\n s : '\\'n paar sekondes',\n ss : '%d sekondes',\n m : '\\'n minuut',\n mm : '%d minute',\n h : '\\'n uur',\n hh : '%d ure',\n d : '\\'n dag',\n dd : '%d dae',\n M : '\\'n maand',\n MM : '%d maande',\n y : '\\'n jaar',\n yy : '%d jaar'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n ordinal : function (number) {\n return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de'); // Thanks to Joris Röling : https://github.com/jjupiter\n },\n week : {\n dow : 1, // Maandag is die eerste dag van die week.\n doy : 4 // Die week wat die 4de Januarie bevat is die eerste week van die jaar.\n }\n });\n\n return af;\n\n})));\n","import { each } from './each';\n\nexport function extendDeep(target) {\n for (var i = 1; i < arguments.length; i++) {\n each(arguments[i], function(prop, key){\n if (( typeof target[key] !== 'undefined' && typeof prop !== 'undefined' ) &&\n ( typeof target[key] === 'object' && typeof prop === 'object' ) &&\n ( target[key] !== null && prop !== null )) {\n extendDeep(target[key], prop);\n }\n else {\n target[key] = prop;\n }\n });\n }\n return target;\n}\n","module.exports = __WEBPACK_EXTERNAL_MODULE__135__;","import { each } from '../../utils/each';\nimport { extend } from '../../utils/extend';\n\nfunction average(arr, start, end){\n var set = arr.slice(start||0, (end ? end+1 : arr.length)),\n sum = 0,\n avg = null;\n\n // Add numeric values\n each(set, function(val, i){\n if (typeof val === 'number' && !isNaN(parseFloat(val))) {\n sum += parseFloat(val);\n }\n });\n return sum / set.length;\n}\n\nfunction maximum(arr, start, end){\n var set = arr.slice(start||0, (end ? end+1 : arr.length)),\n nums = [];\n\n // Pull numeric values\n each(set, function(val, i){\n if (typeof val === 'number' && !isNaN(parseFloat(val))) {\n nums.push(parseFloat(val));\n }\n });\n return Math.max.apply(Math, nums);\n}\n\nfunction minimum(arr, start, end){\n var set = arr.slice(start||0, (end ? end+1 : arr.length)),\n nums = [];\n\n // Pull numeric values\n each(set, function(val, i){\n if (typeof val === 'number' && !isNaN(parseFloat(val))) {\n nums.push(parseFloat(val));\n }\n });\n return Math.min.apply(Math, nums);\n}\n\nfunction sum(arr, start, end){\n // Copy set with given range\n var set = arr.slice(start||0, (end ? end+1 : arr.length)),\n sum = 0;\n\n // Add numeric values\n each(set, function(val, i){\n if (typeof val === 'number' && !isNaN(parseFloat(val))) {\n sum += parseFloat(val);\n }\n });\n return sum;\n}\n\nconst getColumnAverage = function (arr) {\n return average(arr, 1);\n};\nconst getRowAverage = getColumnAverage;\n\nconst getColumnSum = function (arr) {\n return sum(arr, 1);\n};\nconst getRowSum = getColumnSum;\n\nconst getColumnMaximum = function (arr) {\n return maximum(arr, 1);\n};\nconst getRowMaximum = getColumnMaximum;\n\nconst getColumnMinimum = function (arr) {\n return minimum(arr, 1);\n};\nconst getRowMinimum = getColumnMinimum;\n\nconst getColumnLabel = function (arr) {\n return arr[0];\n};\nconst getRowIndex = getColumnLabel;\n\nexport default {\n average,\n maximum,\n minimum,\n sum,\n getColumnAverage,\n getRowAverage,\n getColumnSum,\n getRowSum,\n getColumnMaximum,\n getRowMaximum,\n getColumnMinimum,\n getRowMinimum,\n getColumnLabel,\n getRowIndex,\n};\n","// Modifiers\nimport * as append from './modifiers/append';\nimport * as del from './modifiers/delete';\nimport * as filter from './modifiers/filter';\nimport * as insert from './modifiers/insert';\nimport * as select from './modifiers/select';\nimport * as sort from './modifiers/sort';\nimport * as update from './modifiers/update';\n\n// Utils\nimport analyses from './utils/analyses';\nimport { extend } from '../utils/extend';\nimport parsers from './utils/parsers';\n\nexport const Dataset = function (config = {}) {\n if (this instanceof Dataset === false) {\n return new Dataset(config);\n }\n\n this.matrix = [\n ['Index']\n ];\n this.meta = {\n type: undefined\n };\n this.config = config;\n}\n\nDataset.prototype.data = function (arr) {\n if (!arguments.length) return this.matrix;\n this.matrix = (arr instanceof Array ? arr : null);\n return this;\n};\n\nDataset.prototype.set = function (coords, value) {\n if (arguments.length < 2 || coords.length < 2) {\n throw Error('Incorrect arguments provided for #set method');\n }\n\n var colIndex = 'number' === typeof coords[0] ? coords[0] : this.matrix[0].indexOf(coords[0]),\n rowIndex = 'number' === typeof coords[1] ? coords[1] : select.selectColumn.call(this, 0).indexOf(coords[1]);\n\n var colResult = select.selectColumn.call(this, coords[0]),\n rowResult = select.selectRow.call(this, coords[1]);\n\n // Column doesn't exist, create and reset colIndex\n if (colResult.length < 1) {\n append.appendColumn.call(this, String(coords[0]));\n colIndex = this.matrix[0].length - 1;\n }\n\n // Row doesn't exist, create and reset rowIndex\n if (rowResult.length < 1) {\n append.appendRow.call(this, String(coords[1]));\n rowIndex = this.matrix.length - 1;\n }\n\n // Set provided value\n this.matrix[ rowIndex ][ colIndex ] = value;\n return this;\n};\n\nDataset.prototype.type = function(str){\n if (!arguments.length) return this.meta['type'];\n this.meta['type'] = (str ? String(str) : undefined);\n return this;\n};\n\nextend(Dataset.prototype, append);\nextend(Dataset.prototype, del);\nextend(Dataset.prototype, filter);\nextend(Dataset.prototype, insert);\nextend(Dataset.prototype, select);\nextend(Dataset.prototype, sort);\nextend(Dataset.prototype, update);\nextend(Dataset.prototype, analyses);\nDataset.parser = parsers(Dataset);\n\nexport default Dataset;\n","import * as d3 from 'd3';\nimport { textWrap } from '../../utils/svg-text-wrap';\nimport { prettyNumber } from '../../utils/pretty-number';\n\nexport default class HorizontalFunnel3d {\n render() {\n const { matrix } = this.dataset;\n const {\n colors,\n container,\n labelMapping,\n colorMapping\n } = this.config;\n const opts = this.config;\n const {\n percents: {\n show,\n countingMethod,\n decimals,\n },\n lines,\n resultValues,\n effect3d,\n hover\n } = this.config.funnel;\n const margin = { top: 0, right: 30, bottom: 100, left: 10 };\n const funnelContainer = d3.select(container);\n const chartContainer = d3.select(container + ' .c3-chart');\n const chart = chartContainer.append('svg');\n const svgWidth = funnelContainer.style('width').slice(0, -2)\n - margin.right - margin.left;\n const svgHeight = funnelContainer.style('height').slice(0, -2)\n - margin.top - margin.bottom - 30;\n const elemWidth= svgWidth/(matrix.length - 1);\n const xMarginElement = elemWidth * 0.3;\n const shadowCut = (xMarginElement/1.5);\n let prevElemHeight = svgHeight;\n let percent = (100).toFixed(decimals);\n\n // prepare normal funnel polygons\n const polygons = matrix.slice(1).map((d, i) => {\n const newPoints = [\n {\n x: elemWidth * i + xMarginElement,\n y: ((svgHeight - prevElemHeight)/2)\n },\n {\n x: elemWidth * i + xMarginElement,\n y: ((svgHeight - prevElemHeight)/2 + prevElemHeight)\n },\n ]\n if(i !== 0){\n if(countingMethod === 'relative'){\n prevElemHeight = prevElemHeight * d[1]/matrix[i][1];\n percent = ((d[1]/matrix[i][1])*100).toFixed(decimals);\n }\n if(countingMethod === 'absolute'){\n prevElemHeight = svgHeight * d[1]/matrix[1][1];\n percent = ((d[1]/matrix[1][1])*100).toFixed(decimals);\n }\n }\n let label = d[0];\n if(Object.keys(labelMapping).length){\n for (let key in labelMapping) {\n if(labelMapping[key] === d[0]) {\n label = key;\n }\n }\n }\n let result = d[1];\n if ( (typeof opts['prettyNumber'] === 'undefined' || opts['prettyNumber'] === true)\n && !isNaN(parseInt(d[1])) ) {\n result = prettyNumber(d[1]);\n }\n return {\n name: d[0],\n label,\n percent: percent + '%',\n result,\n points: [\n ...newPoints,\n {\n x: elemWidth * (i + 1),\n y: ((svgHeight - prevElemHeight)/2 + prevElemHeight)\n },\n {\n x: elemWidth * (i + 1),\n y: ((svgHeight - prevElemHeight)/2)\n }\n ]\n }\n });\n\n //funnel shadows preparing\n const polygonsShadows = polygons.map((d, i) => {\n return {\n label: d.label,\n points: [\n {\n x: d.points[0].x,\n y: d.points[0].y\n },\n {\n x: d.points[1].x,\n y: d.points[1].y\n },\n {\n x: effect3d === 'top'\n ? d.points[1].x\n : d.points[1].x - shadowCut,\n y: effect3d === 'top'\n ? d.points[1].y\n : d.points[1].y - xMarginElement < svgHeight/2\n ? svgHeight/2 + 5\n : d.points[1].y - xMarginElement\n },\n {\n x: effect3d === 'bottom'\n ? d.points[0].x\n : d.points[0].x - shadowCut,\n y: effect3d === 'bottom'\n ? d.points[0].y\n : d.points[0].y + xMarginElement > svgHeight/2\n ? svgHeight/2 - 5\n : d.points[0].y + xMarginElement\n },\n ]\n }\n })\n\n //connecting funnels with shadows for rendering\n const polygons3d = polygons.concat(polygonsShadows);\n\n //chart rendering with polygons\n chart\n .attr('height', svgHeight + margin.top + margin.bottom - 30)\n .attr('width', svgWidth + margin.left + margin.right)\n .append('g')\n .attr('transform', 'translate(' + margin.left + ',' + margin.top + ')')\n .selectAll('polygon')\n .data(polygons3d)\n .enter()\n .append('polygon')\n .attr('points', (d) => {\n return d.points.map((p) => {\n return [p.x,p.y].join(',');\n })\n .join(' ');\n })\n .style('fill', (d, i) => {\n if(i > (polygons.length - 1)){\n if(colorMapping[d.label]){\n return d3.rgb(colorMapping[d.label]).darker(1.5);\n }\n return d3.rgb(colors[i - (polygons.length)]).darker(1.5);\n }\n if(colorMapping[d.label]){\n return colorMapping[d.label];\n }\n return colors[i];\n })\n .attr('class', (d) => { return d.label; })\n .attr('cursor', 'pointer');\n\n if(lines){\n //rendering lines\n chart\n .selectAll('line')\n .data(polygons)\n .enter()\n .append('line')\n .attr('x1', (d) => {\n return d.points[0].x + margin.left - (xMarginElement * 0.8);\n })\n .attr('y1', svgHeight + margin.bottom)\n .attr('x2', (d) => {\n return d.points[0].x + margin.left - (xMarginElement * 0.8);\n })\n .attr('y2', (d) => { return d.points[0].y; })\n .attr('class', 'chart-lines');\n\n //rendering last line\n chart\n .append('line')\n .attr('x1', svgWidth + margin.left + (xMarginElement/4))\n .attr('y1', svgHeight + margin.bottom)\n .attr('x2', polygons[polygons.length-1].points[3].x\n + margin.left + (xMarginElement/4))\n .attr('y2', polygons[polygons.length-1].points[3].y)\n .attr('class', 'chart-lines');\n }\n\n //rendering labels when lines are visible\n if(lines){\n chart\n .selectAll('text.label')\n .data(polygons)\n .enter()\n .append('text')\n .style('text-anchor', 'middle')\n .attr('x', (d) => {\n return d.points[0].x + margin.left + (elemWidth * 0.25)\n })\n .attr('y', svgHeight + (margin.bottom * 0.4))\n .attr('class', (d) => { return 'text-label ' + d.label; })\n .text((d) => { return d.name; })\n .call(textWrap, elemWidth)\n .attr('cursor', 'pointer');\n }\n\n //rendering labels when lines are not visible\n if(!lines) {\n chart\n .selectAll('text.label')\n .data(polygons)\n .enter()\n .append('text')\n .style('text-anchor', 'middle')\n .attr('x', (d) => {\n return d.points[0].x + margin.left + (elemWidth * 0.25)\n })\n .attr('y', (d) => {\n if(d.points[2].y + (elemWidth/4) >\n svgHeight + margin.bottom - 40){\n return svgHeight + margin.bottom - 40;\n }\n if(d.points[2].y + (elemWidth/4) < d.points[1].y){\n return d.points[1].y + 20;\n }\n return d.points[2].y + (elemWidth/4) + 10;\n })\n .attr('class', (d) => { return 'text-label ' + d.label; })\n .text((d) => { return d.name; })\n .call(textWrap, elemWidth)\n .attr('cursor', 'pointer');\n }\n\n //rendering percents for each step\n if(show && !resultValues){\n chart\n .selectAll('text.label')\n .data(polygons)\n .enter()\n .append('text')\n .style('text-anchor', 'middle')\n .attr('x', (d) => {\n return d.points[1].x + (elemWidth/2.8) + margin.left\n })\n .attr('y', svgHeight/2 + margin.top + 10)\n .attr('class', (d) => { return 'text-main ' + d.label; })\n .text((d) => { return d.percent; })\n .attr('cursor', 'pointer');\n }\n\n //rendering results for each step\n if(resultValues && !show){\n chart\n .selectAll('text.label')\n .data(polygons)\n .enter()\n .append('text')\n .style('text-anchor', 'middle')\n .attr('x', (d) => {\n return d.points[1].x + (elemWidth/2.8) + margin.left\n })\n .attr('y', svgHeight/2 + margin.top + 10)\n .attr('class', (d) => { return 'text-main ' + d.label; })\n .text((d) => { return d.result; })\n .attr('cursor', 'pointer');\n }\n\n //rendering results and percenage together\n if(show && resultValues){\n //rendering percents\n chart\n .selectAll('text.label')\n .data(polygons)\n .enter()\n .append('text')\n .style('text-anchor', 'middle')\n .attr('x', (d) => {\n return d.points[1].x + (elemWidth/2.8) + margin.left\n })\n .attr('y', svgHeight/2 + margin.top + 16)\n .attr('class', (d) => { return 'text-second ' + d.label; })\n .text((d) => { return d.percent; })\n .attr('cursor', 'pointer');\n\n //rendering results\n chart\n .selectAll('text.label')\n .data(polygons)\n .enter()\n .append('text')\n .style('text-anchor', 'middle')\n .attr('x', (d) => {\n return d.points[1].x + (elemWidth/2.8) + margin.left\n })\n .attr('y', svgHeight/2+ margin.top - 3)\n .attr('class', (d) => { return 'text-main ' + d.label; })\n .text((d) => { return d.result; })\n .attr('cursor', 'pointer');\n }\n\n //hover handling\n if(hover){\n const polygonsHover = chart.selectAll('polygon');\n polygonsHover\n .on(\"mouseover\", handleMouseOver)\n .on(\"mouseout\", handleMouseOut);\n\n const labelHover = chart.selectAll('text');\n labelHover\n .on(\"mouseover\", handleMouseOver)\n .on(\"mouseout\", handleMouseOut);\n\n function handleMouseOver(d) {\n polygonsHover\n .style('opacity', 0.5);\n labelHover\n .style('opacity', 0.5);\n const thisLabel = /[^ ]*$/.exec(d3.select(this).attr('class'))[0];\n chart\n .selectAll(`.${thisLabel}`)\n .style('opacity', 1);\n }\n function handleMouseOut(d) {\n polygonsHover\n .style('opacity', 1);\n labelHover\n .style('opacity', 1);\n }\n }\n }\n update() {\n this.destroy();\n this.render();\n }\n destroy() {\n const { container } = this.config;\n const chartContainer = d3.select(container + ' .c3-chart > *');\n chartContainer.remove();\n }\n}\n","import * as d3 from 'd3';\nimport { textWrap } from '../../utils/svg-text-wrap';\nimport { prettyNumber } from '../../utils/pretty-number';\n\nexport default class HorizontalFunnel {\n render() {\n const { matrix } = this.dataset;\n const {\n colors,\n container,\n labelMapping,\n colorMapping\n } = this.config;\n const opts = this.config;\n const {\n percents: {\n show,\n countingMethod,\n decimals,\n },\n lines,\n marginBetweenSteps,\n resultValues,\n hover\n } = this.config.funnel;\n const margin = { top: 0, right: 30, bottom: 100, left: 10 };\n let xMarginElement = 0;\n if(marginBetweenSteps){\n xMarginElement = 5;\n }\n const funnelContainer = d3.select(container);\n const chartContainer = d3.select(container + ' .c3-chart');\n const chart = chartContainer.append('svg');\n const svgWidth = funnelContainer.style('width').slice(0, -2)\n - margin.right - margin.left;\n const svgHeight = funnelContainer.style('height').slice(0, -2)\n - margin.top - margin.bottom - 30;\n const elemWidth= svgWidth/(matrix.length - 1);\n let prevElemHeight = svgHeight;\n let percent = (100).toFixed(decimals);\n\n // prepare normal funnel polygons\n const polygons = matrix.slice(1).map((d, i) => {\n const newPoints = [\n {\n x: elemWidth * i + xMarginElement,\n y: ((svgHeight - prevElemHeight)/2)\n },\n {\n x: elemWidth * i + xMarginElement,\n y: ((svgHeight - prevElemHeight)/2 + prevElemHeight)\n },\n ]\n if(i !== 0){\n if(countingMethod === 'relative'){\n prevElemHeight = prevElemHeight * d[1]/matrix[i][1];\n percent = ((d[1]/matrix[i][1])*100).toFixed(decimals);\n }\n if(countingMethod === 'absolute'){\n prevElemHeight = svgHeight * d[1]/matrix[1][1];\n percent = ((d[1]/matrix[1][1])*100).toFixed(decimals);\n }\n }\n let label = d[0];\n if(Object.keys(labelMapping).length){\n for (let key in labelMapping) {\n if(labelMapping[key] === d[0]) {\n label = key;\n }\n }\n }\n let result = d[1];\n if ( (typeof opts['prettyNumber'] === 'undefined'\n || opts['prettyNumber'] === true)\n && !isNaN(parseInt(d[1])) ) {\n result = prettyNumber(d[1]);\n }\n return {\n name: d[0],\n label,\n percent: percent + '%',\n result,\n points: [\n ...newPoints,\n {\n x: elemWidth * (i + 1),\n y: ((svgHeight - prevElemHeight)/2 + prevElemHeight)\n },\n {\n x: elemWidth * (i + 1),\n y: ((svgHeight - prevElemHeight)/2)\n }\n ]\n }\n });\n\n //chart rendering with polygons\n chart\n .attr('height', svgHeight + margin.top + margin.bottom - 30)\n .attr('width', svgWidth + margin.left + margin.right)\n .append('g')\n .attr('transform', 'translate(' + margin.left + ',' + margin.top + ')')\n .selectAll('polygon')\n .data(polygons)\n .enter()\n .append('polygon')\n .attr('points', (d) => {\n return d.points.map((p) => {\n return [p.x,p.y].join(',');\n })\n .join(' ');\n })\n .style('fill', (d, i) => {\n if(colorMapping[d.label]){\n return colorMapping[d.label];\n }\n return colors[i];\n })\n .attr('class', (d) => { return d.label; })\n .attr('cursor', 'pointer');\n\n if(lines){\n //rendering lines\n chart\n .selectAll('line')\n .data(polygons)\n .enter()\n .append('line')\n .attr('x1', (d) => {\n return d.points[0].x + margin.left - (xMarginElement/2);\n })\n .attr('y1', svgHeight + margin.bottom)\n .attr('x2', (d) => {\n return d.points[0].x + margin.left - (xMarginElement/2);\n })\n .attr('y2', (d) => { return d.points[0].y; })\n .attr('class', 'chart-lines');\n\n //rendering last line\n chart\n .append('line')\n .attr('x1', svgWidth + margin.left - (xMarginElement/2))\n .attr('y1', svgHeight + margin.bottom)\n .attr('x2', polygons[polygons.length-1].points[3].x\n + margin.left + (xMarginElement/2))\n .attr('y2', polygons[polygons.length-1].points[3].y)\n .attr('class', 'chart-lines');\n }\n\n //rendering labels when lines are visible\n if(lines){\n chart\n .selectAll('text.label')\n .data(polygons)\n .enter()\n .append('text')\n .style('text-anchor', 'middle')\n .attr('x', (d) => {\n return d.points[1].x + (elemWidth/2) + margin.left\n })\n .attr('y', svgHeight + (margin.bottom * 0.5))\n .attr('class', (d) => { return 'text-label ' + d.label; })\n .text((d) => { return d.name; })\n .call(textWrap, elemWidth)\n .attr('cursor', 'pointer');\n }\n\n //rendering labels when lines are not visible\n if(!lines) {\n chart\n .selectAll('text.label')\n .data(polygons)\n .enter()\n .append('text')\n .style('text-anchor', 'middle')\n .attr('x', (d) => {\n return d.points[1].x + (elemWidth/2) + margin.left\n })\n .attr('y', (d) => {\n if(d.points[2].y + ((d.points[3].y - d.points[0].y)/2)\n + (elemWidth/4) > svgHeight + margin.bottom - 40){\n return svgHeight + margin.bottom - 40;\n }\n return d.points[2].y + ((d.points[3].y - d.points[0].y)/2)\n + (elemWidth/4);\n })\n .attr('class', (d) => { return 'text-label ' + d.label; })\n .text((d) => { return d.name; })\n .call(textWrap, elemWidth)\n .attr('cursor', 'pointer');\n }\n\n //rendering percents for each step\n if(show && !resultValues){\n chart\n .selectAll('text.label')\n .data(polygons)\n .enter()\n .append('text')\n .style('text-anchor', 'middle')\n .attr('x', (d) => {\n return d.points[1].x + (elemWidth/2) + margin.left\n })\n .attr('y', svgHeight/2 + margin.top + 10)\n .attr('class', (d) => { return 'text-main ' + d.label; })\n .text((d) => { return d.percent; })\n .attr('cursor', 'pointer');\n }\n\n //rendering results for each step\n if(resultValues && !show){\n chart\n .selectAll('text.label')\n .data(polygons)\n .enter()\n .append('text')\n .style('text-anchor', 'middle')\n .attr('x', (d) => {\n return d.points[1].x + (elemWidth/2) + margin.left\n })\n .attr('y', svgHeight/2 + margin.top + 10)\n .attr('class', (d) => { return 'text-main ' + d.label; })\n .text((d) => { return d.result; })\n .attr('cursor', 'pointer');\n }\n\n //rendering results and percenage together\n if(show && resultValues){\n //rendering percents\n chart\n .selectAll('text.label')\n .data(polygons)\n .enter()\n .append('text')\n .style('text-anchor', 'middle')\n .attr('x', (d) => {\n return d.points[1].x + (elemWidth/2) + margin.left\n })\n .attr('y', svgHeight/2 + margin.top + 16)\n .attr('class', (d) => { return 'text-second ' + d.label; })\n .text((d) => { return d.percent; })\n .attr('cursor', 'pointer');\n\n //rendering results\n chart\n .selectAll('text.label')\n .data(polygons)\n .enter()\n .append('text')\n .style('text-anchor', 'middle')\n .attr('x', (d) => {\n return d.points[1].x + (elemWidth/2) + margin.left\n })\n .attr('y', svgHeight/2+ margin.top - 3)\n .attr('class', (d) => { return 'text-main ' + d.label; })\n .text((d) => { return d.result; })\n .attr('cursor', 'pointer');\n }\n //hover handling\n if(hover){\n const polygonsHover = chart.selectAll('polygon');\n polygonsHover\n .on(\"mouseover\", handleMouseOver)\n .on(\"mouseout\", handleMouseOut);\n\n const labelHover = chart.selectAll('text');\n labelHover\n .on(\"mouseover\", handleMouseOver)\n .on(\"mouseout\", handleMouseOut);\n\n function handleMouseOver(d) {\n polygonsHover\n .style('opacity', 0.5);\n labelHover\n .style('opacity', 0.5);\n const thisLabel = /[^ ]*$/.exec(d3.select(this).attr('class'))[0];\n chart\n .selectAll(`.${thisLabel}`)\n .style('opacity', 1);\n }\n function handleMouseOut(d) {\n polygonsHover\n .style('opacity', 1);\n labelHover\n .style('opacity', 1);\n }\n }\n\n }\n update() {\n this.destroy();\n this.render();\n }\n destroy() {\n const { container } = this.config;\n const chartContainer = d3.select(container + ' .c3-chart > *');\n chartContainer.remove();\n }\n}\n","import * as d3 from 'd3';\nimport { textWrap } from '../../utils/svg-text-wrap';\nimport { prettyNumber } from '../../utils/pretty-number';\n\nexport default class Funnel3d {\n render() {\n const { matrix } = this.dataset;\n const {\n colors,\n container,\n labelMapping,\n colorMapping\n } = this.config;\n const opts = this.config;\n const {\n percents: {\n show,\n countingMethod,\n decimals,\n },\n lines,\n resultValues,\n effect3d,\n hover,\n } = this.config.funnel;\n const margin = { top: 10, right: 30, bottom: 60, left: 200 };\n const funnelContainer = d3.select(container);\n const chartContainer = d3.select(container + ' .c3-chart');\n const chart = chartContainer.append('svg');\n const svgWidth = funnelContainer.style('width').slice(0, -2)\n - margin.right - margin.left;\n const svgHeight = funnelContainer.style('height').slice(0, -2)\n - margin.top - margin.bottom - 30;\n const elemHeight = svgHeight/(matrix.length - 1);\n const yMarginElement = elemHeight * 0.3;\n const shadowCut = (yMarginElement * 2.5);\n let prevElemWidth = svgWidth;\n let percent = (100).toFixed(decimals);\n\n // prepare normal funnel polygons\n const polygons = matrix.slice(1).map((d, i) => {\n const newPoints = [\n {\n x: ((svgWidth - prevElemWidth)/2),\n y: elemHeight * i + yMarginElement\n },\n {\n x: ((svgWidth - prevElemWidth)/2 + prevElemWidth),\n y: elemHeight * i + yMarginElement\n },\n ]\n if(i !== 0){\n if(countingMethod === 'relative'){\n prevElemWidth = prevElemWidth * d[1]/matrix[i][1];\n percent = ((d[1]/matrix[i][1])*100).toFixed(decimals);\n }\n if(countingMethod === 'absolute'){\n prevElemWidth = svgWidth * d[1]/matrix[1][1];\n percent = ((d[1]/matrix[1][1])*100).toFixed(decimals);\n }\n }\n let label = d[0];\n if(Object.keys(labelMapping).length){\n for (let key in labelMapping) {\n if(labelMapping[key] === d[0]) {\n label = key;\n }\n }\n }\n let result = d[1];\n if ( (typeof opts['prettyNumber'] === 'undefined' || opts['prettyNumber'] === true)\n && !isNaN(parseInt(d[1])) ) {\n result = prettyNumber(d[1]);\n }\n return {\n name: d[0],\n label,\n percent: percent + '%',\n result,\n points: [\n ...newPoints,\n {\n x: ((svgWidth - prevElemWidth)/2 + prevElemWidth),\n y: elemHeight * (i + 1)\n },\n {\n x: ((svgWidth - prevElemWidth)/2),\n y: elemHeight * (i + 1)\n }\n ]\n }\n });\n\n //funnel shadows preparing\n const polygonsShadows = polygons.map((d, i) => {\n return {\n label: d.label,\n points: [\n {\n x: d.points[3].x,\n y: d.points[3].y\n },\n {\n x: d.points[2].x,\n y: d.points[2].y\n },\n {\n x: effect3d === 'left'\n ? d.points[2].x\n : d.points[2].x - shadowCut < svgWidth/2\n ? svgWidth/2 + 5\n : d.points[2].x - shadowCut,\n y: effect3d === 'left'\n ? d.points[2].y\n : d.points[2].y + (yMarginElement/1.5)\n },\n {\n x: effect3d === 'right'\n ? d.points[3].x\n : d.points[3].x + shadowCut > svgWidth/2\n ? svgWidth/2 - 5\n : d.points[3].x + shadowCut,\n y: effect3d === 'right'\n ? d.points[3].y\n : d.points[3].y + (yMarginElement/1.5)\n },\n ]\n }\n })\n\n //connecting funnels with shadows for rendering\n const polygons3d = polygons.concat(polygonsShadows);\n\n //chart rendering with polygons\n chart\n .attr('height', svgHeight + margin.top + margin.bottom - 30)\n .attr('width', svgWidth + margin.left + margin.right)\n .append('g')\n .attr('transform', 'translate(' + margin.left + ',' + margin.top + ')')\n .selectAll('polygon')\n .data(polygons3d)\n .enter()\n .append('polygon')\n .attr('points', (d) => {\n return d.points.map((p) => {\n return [p.x,p.y].join(',');\n })\n .join(' ');\n })\n .style('fill', (d, i) => {\n if(i > (polygons.length - 1)){\n if(colorMapping[d.label]){\n return d3.rgb(colorMapping[d.label]).darker(1.5);\n }\n return d3.rgb(colors[i - (polygons.length)]).darker(1.5);\n }\n if(colorMapping[d.label]){\n return colorMapping[d.label];\n }\n return colors[i];\n })\n .attr('class', (d) => { return d.label; })\n .attr('cursor', 'pointer');\n\n if(lines){\n //rendering lines\n chart\n .selectAll('line')\n .data(polygons)\n .enter()\n .append('line')\n .attr('x1', 10)\n .attr('y1', (d) => {\n return d.points[0].y + margin.top - (yMarginElement/5);\n })\n .attr('x2', (d, i) => {\n if(i === 0){\n return d.points[1].x + margin.left;\n }\n return d.points[1].x + margin.left - shadowCut;\n })\n .attr('y2', (d) => {\n return d.points[0].y + margin.top - (yMarginElement/5);\n })\n .attr('class', 'chart-lines');\n\n //rendering last line\n chart\n .append('line')\n .attr('x1', 10)\n .attr('y1', polygons[polygons.length-1].points[2].y + margin.top\n + yMarginElement - (yMarginElement/5))\n .attr('x2', polygons[polygons.length-1].points[2].x\n + margin.left - shadowCut )\n .attr('y2', polygons[polygons.length-1].points[2].y + margin.top\n + yMarginElement - (yMarginElement/5))\n .attr('class', 'chart-lines');\n }\n\n //rendering labels when lines are visible\n if(lines){\n chart\n .selectAll('text.label')\n .data(polygons)\n .enter()\n .append('text')\n .style('text-anchor', 'start')\n .attr('x', 20)\n .attr('y', (d) => {\n return ((d.points[2].y - d.points[1].y)/2) + d.points[1].y\n + margin.top + 5 + (yMarginElement/4)\n })\n .attr('class', (d) => { return 'text-label ' + d.label; })\n .text((d) => { return d.name; })\n .call(textWrap, margin.left)\n .attr('cursor', 'pointer');\n }\n\n //rendering labels when lines are not visible\n if(!lines){\n chart\n .selectAll('text.label')\n .data(polygons)\n .enter()\n .append('text')\n .style('text-anchor', 'end')\n .attr('x', (d) => {\n return d.points[0].x + ((d.points[3].x - d.points[0].x)/2) + 130;\n })\n .attr('y', (d) => {\n return ((d.points[2].y - d.points[1].y)/2) + d.points[1].y\n + margin.top + 5;\n })\n .attr('class', (d) => { return 'text-label ' + d.label; })\n .text((d) => { return d.name; })\n .call(textWrap, margin.left)\n .attr('cursor', 'pointer');\n }\n\n //rendering percents for each step\n if(show && !resultValues){\n chart\n .selectAll('text.label')\n .data(polygons)\n .enter()\n .append('text')\n .style('text-anchor', 'middle')\n .attr('x', svgWidth/2 + margin.left)\n .attr('y', (d) => {\n return ((d.points[2].y - d.points[1].y)/2) + d.points[1].y\n + margin.top + 8\n })\n .attr('class', (d) => { return 'text-main ' + d.label; })\n .text((d) => { return d.percent; })\n .attr('cursor', 'pointer');\n }\n\n //rendering results for each step\n if(resultValues && !show){\n chart\n .selectAll('text.label')\n .data(polygons)\n .enter()\n .append('text')\n .style('text-anchor', 'middle')\n .attr('x', svgWidth/2 + margin.left)\n .attr('y', (d) => {\n return ((d.points[2].y - d.points[1].y)/2) + d.points[1].y\n + margin.top + 8\n })\n .attr('class', (d) => { return 'text-main ' + d.label; })\n .text((d) => { return d.result; })\n .attr('cursor', 'pointer');\n }\n\n //rendering results and percenage together\n if(show && resultValues){\n //rendering percents\n chart\n .selectAll('text.label')\n .data(polygons)\n .enter()\n .append('text')\n .style('text-anchor', 'middle')\n .attr('x', svgWidth/2 + margin.left)\n .attr('y', (d) => {\n return ((d.points[2].y - d.points[1].y)/2) + d.points[1].y\n + margin.top + 18\n })\n .attr('class', (d) => { return 'text-second ' + d.label; })\n .text((d) => { return d.percent; })\n .attr('cursor', 'pointer');\n\n //rendering results\n chart\n .selectAll('text.label')\n .data(polygons)\n .enter()\n .append('text')\n .style('text-anchor', 'middle')\n .attr('x', svgWidth/2 + margin.left)\n .attr('y', (d) => {\n return ((d.points[2].y - d.points[1].y)/2) + d.points[1].y\n + margin.top + 3\n })\n .attr('class', (d) => { return 'text-main ' + d.label; })\n .text((d) => { return d.result; })\n .attr('cursor', 'pointer');\n }\n //hover handling\n if(hover){\n const polygonsHover = chart.selectAll('polygon');\n polygonsHover\n .on(\"mouseover\", handleMouseOver)\n .on(\"mouseout\", handleMouseOut);\n\n const labelHover = chart.selectAll('text');\n labelHover\n .on(\"mouseover\", handleMouseOver)\n .on(\"mouseout\", handleMouseOut);\n\n function handleMouseOver(d) {\n polygonsHover\n .style('opacity', 0.5);\n labelHover\n .style('opacity', 0.5);\n const thisLabel = /[^ ]*$/.exec(d3.select(this).attr('class'))[0];\n chart\n .selectAll(`.${thisLabel}`)\n .style('opacity', 1);\n }\n function handleMouseOut(d) {\n polygonsHover\n .style('opacity', 1);\n labelHover\n .style('opacity', 1);\n }\n }\n }\n update() {\n this.destroy();\n this.render();\n }\n destroy() {\n const { container } = this.config;\n const chartContainer = d3.select(container + ' .c3-chart > *');\n chartContainer.remove();\n }\n}\n","import * as d3 from 'd3';\nimport { textWrap } from '../../utils/svg-text-wrap';\nimport { prettyNumber } from '../../utils/pretty-number';\n\nexport default class Funnel {\n render() {\n const { matrix } = this.dataset;\n const {\n colors,\n container,\n labelMapping,\n colorMapping,\n } = this.config;\n const opts = this.config;\n const {\n percents: {\n show,\n countingMethod,\n decimals,\n },\n lines,\n marginBetweenSteps,\n resultValues,\n hover,\n } = this.config.funnel;\n const margin = { top: 10, right: 30, bottom: 30, left: 200 };\n let yMarginElement = 0;\n if(marginBetweenSteps){\n yMarginElement = 5;\n }\n const funnelContainer = d3.select(container);\n const chartContainer = d3.select(container + ' .c3-chart');\n const chart = chartContainer.append('svg');\n const svgWidth = funnelContainer.style('width').slice(0, -2)\n - margin.right - margin.left;\n const svgHeight = funnelContainer.style('height').slice(0, -2)\n - margin.top - margin.bottom - 30;\n const elemHeight = svgHeight/(matrix.length - 1);\n let prevElemWidth = svgWidth;\n let percent = (100).toFixed(decimals);\n\n // prepare normal funnel polygons\n const polygons = matrix.slice(1).map((d, i) => {\n const newPoints = [\n {\n x: ((svgWidth - prevElemWidth)/2),\n y: elemHeight * i + yMarginElement\n },\n {\n x: ((svgWidth - prevElemWidth)/2 + prevElemWidth),\n y: elemHeight * i + yMarginElement\n },\n ]\n if(i !== 0){\n if(countingMethod === 'relative'){\n prevElemWidth = prevElemWidth * d[1]/matrix[i][1];\n percent = ((d[1]/matrix[i][1])*100).toFixed(decimals);\n }\n if(countingMethod === 'absolute'){\n prevElemWidth = svgWidth * d[1]/matrix[1][1];\n percent = ((d[1]/matrix[1][1])*100).toFixed(decimals);\n }\n }\n let label = d[0];\n if(Object.keys(labelMapping).length){\n for (let key in labelMapping) {\n if(labelMapping[key] === d[0]) {\n label = key;\n }\n }\n }\n let result = d[1];\n if ( (typeof opts['prettyNumber'] === 'undefined' || opts['prettyNumber'] === true)\n && !isNaN(parseInt(d[1])) ) {\n result = prettyNumber(d[1]);\n }\n return {\n name: d[0],\n label,\n percent: percent + '%',\n result,\n points: [\n ...newPoints,\n {\n x: ((svgWidth - prevElemWidth)/2 + prevElemWidth),\n y: elemHeight * (i + 1)\n },\n {\n x: ((svgWidth - prevElemWidth)/2),\n y: elemHeight * (i + 1)\n }\n ]\n }\n });\n\n //chart rendering with polygons\n chart\n .attr('height', svgHeight + margin.top + margin.bottom - 30)\n .attr('width', svgWidth + margin.left + margin.right)\n .append('g')\n .attr('transform', 'translate(' + margin.left + ',' + margin.top + ')')\n .selectAll('polygon')\n .data(polygons)\n .enter()\n .append('polygon')\n .attr('points', (d) => {\n return d.points.map((p) => {\n return [p.x,p.y].join(',');\n })\n .join(' ');\n })\n .style('fill', (d, i) => {\n if(colorMapping[d.label]){\n return colorMapping[d.label];\n }\n return colors[i];\n })\n .attr('class', (d) => { return d.label; })\n .attr('cursor', 'pointer');\n\n if(lines){\n //rendering lines\n chart\n .selectAll('line')\n .data(polygons)\n .enter()\n .append('line')\n .attr('x1', 10)\n .attr('y1', (d) => {\n return d.points[0].y + margin.top - (yMarginElement/2);\n })\n .attr('x2', (d) => { return d.points[1].x + margin.left; })\n .attr('y2', (d) => {\n return d.points[0].y + margin.top - (yMarginElement/2);\n })\n .attr('class', 'chart-lines');\n\n //rendering last line\n chart\n .append('line')\n .attr('x1', 10)\n .attr('y1', polygons[polygons.length-1].points[2].y\n + margin.top + (yMarginElement/2))\n .attr('x2', polygons[polygons.length-1].points[2].x + margin.left)\n .attr('y2', polygons[polygons.length-1].points[2].y\n + margin.top + (yMarginElement/2))\n .attr('class', 'chart-lines');\n }\n\n //rendering labels when lines are visible\n if(lines){\n chart\n .selectAll('text.label')\n .data(polygons)\n .enter()\n .append('text')\n .style('text-anchor', 'start')\n .attr('x', 20)\n .attr('y', (d) => {\n return ((d.points[2].y - d.points[1].y)/2) + d.points[1].y\n + margin.top + yMarginElement + 5\n })\n .attr('class', (d) => { return 'text-label ' + d.label; })\n .text((d) => { return d.name; })\n .call(textWrap, margin.left)\n .attr('cursor', 'pointer');\n }\n\n //rendering labels when lines are not visible\n if(!lines) {\n chart\n .selectAll('text.label')\n .data(polygons)\n .enter()\n .append('text')\n .style('text-anchor', 'end')\n .attr('x', (d) => {\n return d.points[0].x + ((d.points[3].x - d.points[0].x)/2)\n + (margin.left * 0.9);\n })\n .attr('y', (d) => {\n return ((d.points[2].y - d.points[1].y)/2) + d.points[1].y\n + margin.top + yMarginElement + 5\n })\n .attr('class', (d) => { return 'text-label ' + d.label; })\n .text((d) => { return d.name; })\n .call(textWrap, margin.left)\n .attr('cursor', 'pointer');\n }\n\n //rendering percents for each step\n if(show && !resultValues){\n chart\n .selectAll('text.label')\n .data(polygons)\n .enter()\n .append('text')\n .style('text-anchor', 'middle')\n .attr('x', svgWidth/2 + margin.left)\n .attr('y', (d) => {\n return ((d.points[2].y - d.points[1].y)/2) + d.points[1].y\n + margin.top + yMarginElement + 8\n })\n .attr('class', (d) => { return 'text-main ' + d.label; })\n .text((d) => { return d.percent; })\n .attr('cursor', 'pointer');\n }\n\n //rendering results for each step\n if(resultValues && !show){\n chart\n .selectAll('text.label')\n .data(polygons)\n .enter()\n .append('text')\n .style('text-anchor', 'middle')\n .attr('x', svgWidth/2 + margin.left)\n .attr('y', (d) => {\n return ((d.points[2].y - d.points[1].y)/2) + d.points[1].y\n + margin.top + yMarginElement + 8\n })\n .attr('class', (d) => { return 'text-main ' + d.label; })\n .text((d) => { return d.result; })\n .attr('cursor', 'pointer');\n }\n\n //rendering results and percenage together\n if(show && resultValues){\n //rendering percents\n chart\n .selectAll('text.label')\n .data(polygons)\n .enter()\n .append('text')\n .style('text-anchor', 'middle')\n .attr('x', svgWidth/2 + margin.left)\n .attr('y', (d) => {\n if(yMarginElement === 0){\n return ((d.points[2].y - d.points[1].y)/2) + d.points[1].y\n + margin.top + 16\n }\n return ((d.points[2].y - d.points[1].y)/2) + d.points[1].y\n + margin.top + yMarginElement + 12\n })\n .attr('class', (d) => { return 'text-second ' + d.label; })\n .text((d) => { return d.percent; })\n .attr('cursor', 'pointer');\n\n //rendering results\n chart\n .selectAll('text.label')\n .data(polygons)\n .enter()\n .append('text')\n .style('text-anchor', 'middle')\n .attr('x', svgWidth/2 + margin.left)\n .attr('y', (d) => {\n if(yMarginElement === 0){\n return ((d.points[2].y - d.points[1].y)/2) + d.points[1].y\n + margin.top;\n }\n return ((d.points[2].y - d.points[1].y)/2) + d.points[1].y\n + margin.top + yMarginElement - 5;\n })\n .attr('class', (d) => { return 'text-main ' + d.label; })\n .text((d) => { return d.result; })\n .attr('cursor', 'pointer');\n }\n //hover handling\n if(hover){\n const polygonsHover = chart.selectAll('polygon');\n polygonsHover\n .on(\"mouseover\", handleMouseOver)\n .on(\"mouseout\", handleMouseOut);\n\n const labelHover = chart.selectAll('text');\n labelHover\n .on(\"mouseover\", handleMouseOver)\n .on(\"mouseout\", handleMouseOut);\n\n function handleMouseOver(d) {\n polygonsHover\n .style('opacity', 0.5);\n labelHover\n .style('opacity', 0.5);\n const thisLabel = /[^ ]*$/.exec(d3.select(this).attr('class'))[0];\n chart\n .selectAll(`.${thisLabel}`)\n .style('opacity', 1);\n }\n function handleMouseOut(d) {\n polygonsHover\n .style('opacity', 1);\n labelHover\n .style('opacity', 1);\n }\n }\n }\n update() {\n this.destroy();\n this.render();\n }\n destroy() {\n const { container } = this.config;\n const chartContainer = d3.select(container + ' .c3-chart > *');\n chartContainer.remove();\n }\n}\n","export default {\n render: function(){\n let html = '';\n const artifacts = this.view._artifacts.spinner = {};\n\n // Build DOM element\n html += '
';\n html += '
';\n html += '
';\n html += '
';\n html += '
';\n this.el().innerHTML = html;\n },\n update: function(){\n // no special update handling\n this.render();\n },\n destroy: function(){\n if (this.view._artifacts.spinner) {\n if (this.view._artifacts.spinner.interval) {\n clearInterval(this.view._artifacts.spinner.interval);\n }\n this.view._artifacts.spinner.radius = 0;\n try {\n delete this.view._artifacts.spinner;\n }\n catch (e) {\n this.view._artifacts.spinner = undefined;\n }\n }\n this.el().innerHTML = '';\n }\n};\n","var map = {\n\t\"./af\": 133,\n\t\"./af.js\": 133,\n\t\"./ar\": 132,\n\t\"./ar-dz\": 131,\n\t\"./ar-dz.js\": 131,\n\t\"./ar-kw\": 130,\n\t\"./ar-kw.js\": 130,\n\t\"./ar-ly\": 129,\n\t\"./ar-ly.js\": 129,\n\t\"./ar-ma\": 128,\n\t\"./ar-ma.js\": 128,\n\t\"./ar-sa\": 127,\n\t\"./ar-sa.js\": 127,\n\t\"./ar-tn\": 126,\n\t\"./ar-tn.js\": 126,\n\t\"./ar.js\": 132,\n\t\"./az\": 125,\n\t\"./az.js\": 125,\n\t\"./be\": 124,\n\t\"./be.js\": 124,\n\t\"./bg\": 123,\n\t\"./bg.js\": 123,\n\t\"./bm\": 122,\n\t\"./bm.js\": 122,\n\t\"./bn\": 121,\n\t\"./bn.js\": 121,\n\t\"./bo\": 120,\n\t\"./bo.js\": 120,\n\t\"./br\": 119,\n\t\"./br.js\": 119,\n\t\"./bs\": 118,\n\t\"./bs.js\": 118,\n\t\"./ca\": 117,\n\t\"./ca.js\": 117,\n\t\"./cs\": 116,\n\t\"./cs.js\": 116,\n\t\"./cv\": 115,\n\t\"./cv.js\": 115,\n\t\"./cy\": 114,\n\t\"./cy.js\": 114,\n\t\"./da\": 113,\n\t\"./da.js\": 113,\n\t\"./de\": 112,\n\t\"./de-at\": 111,\n\t\"./de-at.js\": 111,\n\t\"./de-ch\": 110,\n\t\"./de-ch.js\": 110,\n\t\"./de.js\": 112,\n\t\"./dv\": 109,\n\t\"./dv.js\": 109,\n\t\"./el\": 108,\n\t\"./el.js\": 108,\n\t\"./en-au\": 107,\n\t\"./en-au.js\": 107,\n\t\"./en-ca\": 106,\n\t\"./en-ca.js\": 106,\n\t\"./en-gb\": 105,\n\t\"./en-gb.js\": 105,\n\t\"./en-ie\": 104,\n\t\"./en-ie.js\": 104,\n\t\"./en-il\": 103,\n\t\"./en-il.js\": 103,\n\t\"./en-nz\": 102,\n\t\"./en-nz.js\": 102,\n\t\"./eo\": 101,\n\t\"./eo.js\": 101,\n\t\"./es\": 100,\n\t\"./es-do\": 99,\n\t\"./es-do.js\": 99,\n\t\"./es-us\": 98,\n\t\"./es-us.js\": 98,\n\t\"./es.js\": 100,\n\t\"./et\": 97,\n\t\"./et.js\": 97,\n\t\"./eu\": 96,\n\t\"./eu.js\": 96,\n\t\"./fa\": 95,\n\t\"./fa.js\": 95,\n\t\"./fi\": 94,\n\t\"./fi.js\": 94,\n\t\"./fo\": 93,\n\t\"./fo.js\": 93,\n\t\"./fr\": 92,\n\t\"./fr-ca\": 91,\n\t\"./fr-ca.js\": 91,\n\t\"./fr-ch\": 90,\n\t\"./fr-ch.js\": 90,\n\t\"./fr.js\": 92,\n\t\"./fy\": 89,\n\t\"./fy.js\": 89,\n\t\"./gd\": 88,\n\t\"./gd.js\": 88,\n\t\"./gl\": 87,\n\t\"./gl.js\": 87,\n\t\"./gom-latn\": 86,\n\t\"./gom-latn.js\": 86,\n\t\"./gu\": 85,\n\t\"./gu.js\": 85,\n\t\"./he\": 84,\n\t\"./he.js\": 84,\n\t\"./hi\": 83,\n\t\"./hi.js\": 83,\n\t\"./hr\": 82,\n\t\"./hr.js\": 82,\n\t\"./hu\": 81,\n\t\"./hu.js\": 81,\n\t\"./hy-am\": 80,\n\t\"./hy-am.js\": 80,\n\t\"./id\": 79,\n\t\"./id.js\": 79,\n\t\"./is\": 78,\n\t\"./is.js\": 78,\n\t\"./it\": 77,\n\t\"./it.js\": 77,\n\t\"./ja\": 76,\n\t\"./ja.js\": 76,\n\t\"./jv\": 75,\n\t\"./jv.js\": 75,\n\t\"./ka\": 74,\n\t\"./ka.js\": 74,\n\t\"./kk\": 73,\n\t\"./kk.js\": 73,\n\t\"./km\": 72,\n\t\"./km.js\": 72,\n\t\"./kn\": 71,\n\t\"./kn.js\": 71,\n\t\"./ko\": 70,\n\t\"./ko.js\": 70,\n\t\"./ky\": 69,\n\t\"./ky.js\": 69,\n\t\"./lb\": 68,\n\t\"./lb.js\": 68,\n\t\"./lo\": 67,\n\t\"./lo.js\": 67,\n\t\"./lt\": 66,\n\t\"./lt.js\": 66,\n\t\"./lv\": 65,\n\t\"./lv.js\": 65,\n\t\"./me\": 64,\n\t\"./me.js\": 64,\n\t\"./mi\": 63,\n\t\"./mi.js\": 63,\n\t\"./mk\": 62,\n\t\"./mk.js\": 62,\n\t\"./ml\": 61,\n\t\"./ml.js\": 61,\n\t\"./mn\": 60,\n\t\"./mn.js\": 60,\n\t\"./mr\": 59,\n\t\"./mr.js\": 59,\n\t\"./ms\": 58,\n\t\"./ms-my\": 57,\n\t\"./ms-my.js\": 57,\n\t\"./ms.js\": 58,\n\t\"./mt\": 56,\n\t\"./mt.js\": 56,\n\t\"./my\": 55,\n\t\"./my.js\": 55,\n\t\"./nb\": 54,\n\t\"./nb.js\": 54,\n\t\"./ne\": 53,\n\t\"./ne.js\": 53,\n\t\"./nl\": 52,\n\t\"./nl-be\": 51,\n\t\"./nl-be.js\": 51,\n\t\"./nl.js\": 52,\n\t\"./nn\": 50,\n\t\"./nn.js\": 50,\n\t\"./pa-in\": 49,\n\t\"./pa-in.js\": 49,\n\t\"./pl\": 48,\n\t\"./pl.js\": 48,\n\t\"./pt\": 47,\n\t\"./pt-br\": 46,\n\t\"./pt-br.js\": 46,\n\t\"./pt.js\": 47,\n\t\"./ro\": 45,\n\t\"./ro.js\": 45,\n\t\"./ru\": 44,\n\t\"./ru.js\": 44,\n\t\"./sd\": 43,\n\t\"./sd.js\": 43,\n\t\"./se\": 42,\n\t\"./se.js\": 42,\n\t\"./si\": 41,\n\t\"./si.js\": 41,\n\t\"./sk\": 40,\n\t\"./sk.js\": 40,\n\t\"./sl\": 39,\n\t\"./sl.js\": 39,\n\t\"./sq\": 38,\n\t\"./sq.js\": 38,\n\t\"./sr\": 37,\n\t\"./sr-cyrl\": 36,\n\t\"./sr-cyrl.js\": 36,\n\t\"./sr.js\": 37,\n\t\"./ss\": 35,\n\t\"./ss.js\": 35,\n\t\"./sv\": 34,\n\t\"./sv.js\": 34,\n\t\"./sw\": 33,\n\t\"./sw.js\": 33,\n\t\"./ta\": 32,\n\t\"./ta.js\": 32,\n\t\"./te\": 31,\n\t\"./te.js\": 31,\n\t\"./tet\": 30,\n\t\"./tet.js\": 30,\n\t\"./tg\": 29,\n\t\"./tg.js\": 29,\n\t\"./th\": 28,\n\t\"./th.js\": 28,\n\t\"./tl-ph\": 27,\n\t\"./tl-ph.js\": 27,\n\t\"./tlh\": 26,\n\t\"./tlh.js\": 26,\n\t\"./tr\": 25,\n\t\"./tr.js\": 25,\n\t\"./tzl\": 24,\n\t\"./tzl.js\": 24,\n\t\"./tzm\": 23,\n\t\"./tzm-latn\": 22,\n\t\"./tzm-latn.js\": 22,\n\t\"./tzm.js\": 23,\n\t\"./ug-cn\": 21,\n\t\"./ug-cn.js\": 21,\n\t\"./uk\": 20,\n\t\"./uk.js\": 20,\n\t\"./ur\": 19,\n\t\"./ur.js\": 19,\n\t\"./uz\": 18,\n\t\"./uz-latn\": 17,\n\t\"./uz-latn.js\": 17,\n\t\"./uz.js\": 18,\n\t\"./vi\": 16,\n\t\"./vi.js\": 16,\n\t\"./x-pseudo\": 15,\n\t\"./x-pseudo.js\": 15,\n\t\"./yo\": 14,\n\t\"./yo.js\": 14,\n\t\"./zh-cn\": 13,\n\t\"./zh-cn.js\": 13,\n\t\"./zh-hk\": 12,\n\t\"./zh-hk.js\": 12,\n\t\"./zh-tw\": 11,\n\t\"./zh-tw.js\": 11\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\tvar module = __webpack_require__(id);\n\treturn module;\n}\nfunction webpackContextResolve(req) {\n\tvar id = map[req];\n\tif(!(id + 1)) { // check for number or string\n\t\tvar e = new Error('Cannot find module \"' + req + '\".');\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn id;\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 144;","module.exports = function(module) {\r\n\tif (!module.webpackPolyfill) {\r\n\t\tmodule.deprecate = function() {};\r\n\t\tmodule.paths = [];\r\n\t\t// module.parent = undefined by default\r\n\t\tif (!module.children) module.children = [];\r\n\t\tObject.defineProperty(module, \"loaded\", {\r\n\t\t\tenumerable: true,\r\n\t\t\tget: function() {\r\n\t\t\t\treturn module.l;\r\n\t\t\t}\r\n\t\t});\r\n\t\tObject.defineProperty(module, \"id\", {\r\n\t\t\tenumerable: true,\r\n\t\t\tget: function() {\r\n\t\t\t\treturn module.i;\r\n\t\t\t}\r\n\t\t});\r\n\t\tmodule.webpackPolyfill = 1;\r\n\t}\r\n\treturn module;\r\n};\r\n","//! moment-timezone.js\n//! version : 0.5.21\n//! Copyright (c) JS Foundation and other contributors\n//! license : MIT\n//! github.com/moment/moment-timezone\n\n(function (root, factory) {\n\t\"use strict\";\n\n\t/*global define*/\n\tif (typeof module === 'object' && module.exports) {\n\t\tmodule.exports = factory(require('moment')); // Node\n\t} else if (typeof define === 'function' && define.amd) {\n\t\tdefine(['moment'], factory); // AMD\n\t} else {\n\t\tfactory(root.moment); // Browser\n\t}\n}(this, function (moment) {\n\t\"use strict\";\n\n\t// Do not load moment-timezone a second time.\n\t// if (moment.tz !== undefined) {\n\t// \tlogError('Moment Timezone ' + moment.tz.version + ' was already loaded ' + (moment.tz.dataVersion ? 'with data from ' : 'without any data') + moment.tz.dataVersion);\n\t// \treturn moment;\n\t// }\n\n\tvar VERSION = \"0.5.21\",\n\t\tzones = {},\n\t\tlinks = {},\n\t\tnames = {},\n\t\tguesses = {},\n\t\tcachedGuess;\n\n\tif (!moment || typeof moment.version !== 'string') {\n\t\tlogError('Moment Timezone requires Moment.js. See https://momentjs.com/timezone/docs/#/use-it/browser/');\n\t}\n\n\tvar momentVersion = moment.version.split('.'),\n\t\tmajor = +momentVersion[0],\n\t\tminor = +momentVersion[1];\n\n\t// Moment.js version check\n\tif (major < 2 || (major === 2 && minor < 6)) {\n\t\tlogError('Moment Timezone requires Moment.js >= 2.6.0. You are using Moment.js ' + moment.version + '. See momentjs.com');\n\t}\n\n\t/************************************\n\t\tUnpacking\n\t************************************/\n\n\tfunction charCodeToInt(charCode) {\n\t\tif (charCode > 96) {\n\t\t\treturn charCode - 87;\n\t\t} else if (charCode > 64) {\n\t\t\treturn charCode - 29;\n\t\t}\n\t\treturn charCode - 48;\n\t}\n\n\tfunction unpackBase60(string) {\n\t\tvar i = 0,\n\t\t\tparts = string.split('.'),\n\t\t\twhole = parts[0],\n\t\t\tfractional = parts[1] || '',\n\t\t\tmultiplier = 1,\n\t\t\tnum,\n\t\t\tout = 0,\n\t\t\tsign = 1;\n\n\t\t// handle negative numbers\n\t\tif (string.charCodeAt(0) === 45) {\n\t\t\ti = 1;\n\t\t\tsign = -1;\n\t\t}\n\n\t\t// handle digits before the decimal\n\t\tfor (i; i < whole.length; i++) {\n\t\t\tnum = charCodeToInt(whole.charCodeAt(i));\n\t\t\tout = 60 * out + num;\n\t\t}\n\n\t\t// handle digits after the decimal\n\t\tfor (i = 0; i < fractional.length; i++) {\n\t\t\tmultiplier = multiplier / 60;\n\t\t\tnum = charCodeToInt(fractional.charCodeAt(i));\n\t\t\tout += num * multiplier;\n\t\t}\n\n\t\treturn out * sign;\n\t}\n\n\tfunction arrayToInt (array) {\n\t\tfor (var i = 0; i < array.length; i++) {\n\t\t\tarray[i] = unpackBase60(array[i]);\n\t\t}\n\t}\n\n\tfunction intToUntil (array, length) {\n\t\tfor (var i = 0; i < length; i++) {\n\t\t\tarray[i] = Math.round((array[i - 1] || 0) + (array[i] * 60000)); // minutes to milliseconds\n\t\t}\n\n\t\tarray[length - 1] = Infinity;\n\t}\n\n\tfunction mapIndices (source, indices) {\n\t\tvar out = [], i;\n\n\t\tfor (i = 0; i < indices.length; i++) {\n\t\t\tout[i] = source[indices[i]];\n\t\t}\n\n\t\treturn out;\n\t}\n\n\tfunction unpack (string) {\n\t\tvar data = string.split('|'),\n\t\t\toffsets = data[2].split(' '),\n\t\t\tindices = data[3].split(''),\n\t\t\tuntils = data[4].split(' ');\n\n\t\tarrayToInt(offsets);\n\t\tarrayToInt(indices);\n\t\tarrayToInt(untils);\n\n\t\tintToUntil(untils, indices.length);\n\n\t\treturn {\n\t\t\tname : data[0],\n\t\t\tabbrs : mapIndices(data[1].split(' '), indices),\n\t\t\toffsets : mapIndices(offsets, indices),\n\t\t\tuntils : untils,\n\t\t\tpopulation : data[5] | 0\n\t\t};\n\t}\n\n\t/************************************\n\t\tZone object\n\t************************************/\n\n\tfunction Zone (packedString) {\n\t\tif (packedString) {\n\t\t\tthis._set(unpack(packedString));\n\t\t}\n\t}\n\n\tZone.prototype = {\n\t\t_set : function (unpacked) {\n\t\t\tthis.name = unpacked.name;\n\t\t\tthis.abbrs = unpacked.abbrs;\n\t\t\tthis.untils = unpacked.untils;\n\t\t\tthis.offsets = unpacked.offsets;\n\t\t\tthis.population = unpacked.population;\n\t\t},\n\n\t\t_index : function (timestamp) {\n\t\t\tvar target = +timestamp,\n\t\t\t\tuntils = this.untils,\n\t\t\t\ti;\n\n\t\t\tfor (i = 0; i < untils.length; i++) {\n\t\t\t\tif (target < untils[i]) {\n\t\t\t\t\treturn i;\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\tparse : function (timestamp) {\n\t\t\tvar target = +timestamp,\n\t\t\t\toffsets = this.offsets,\n\t\t\t\tuntils = this.untils,\n\t\t\t\tmax = untils.length - 1,\n\t\t\t\toffset, offsetNext, offsetPrev, i;\n\n\t\t\tfor (i = 0; i < max; i++) {\n\t\t\t\toffset = offsets[i];\n\t\t\t\toffsetNext = offsets[i + 1];\n\t\t\t\toffsetPrev = offsets[i ? i - 1 : i];\n\n\t\t\t\tif (offset < offsetNext && tz.moveAmbiguousForward) {\n\t\t\t\t\toffset = offsetNext;\n\t\t\t\t} else if (offset > offsetPrev && tz.moveInvalidForward) {\n\t\t\t\t\toffset = offsetPrev;\n\t\t\t\t}\n\n\t\t\t\tif (target < untils[i] - (offset * 60000)) {\n\t\t\t\t\treturn offsets[i];\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn offsets[max];\n\t\t},\n\n\t\tabbr : function (mom) {\n\t\t\treturn this.abbrs[this._index(mom)];\n\t\t},\n\n\t\toffset : function (mom) {\n\t\t\tlogError(\"zone.offset has been deprecated in favor of zone.utcOffset\");\n\t\t\treturn this.offsets[this._index(mom)];\n\t\t},\n\n\t\tutcOffset : function (mom) {\n\t\t\treturn this.offsets[this._index(mom)];\n\t\t}\n\t};\n\n\t/************************************\n\t\tCurrent Timezone\n\t************************************/\n\n\tfunction OffsetAt(at) {\n\t\tvar timeString = at.toTimeString();\n\t\tvar abbr = timeString.match(/\\([a-z ]+\\)/i);\n\t\tif (abbr && abbr[0]) {\n\t\t\t// 17:56:31 GMT-0600 (CST)\n\t\t\t// 17:56:31 GMT-0600 (Central Standard Time)\n\t\t\tabbr = abbr[0].match(/[A-Z]/g);\n\t\t\tabbr = abbr ? abbr.join('') : undefined;\n\t\t} else {\n\t\t\t// 17:56:31 CST\n\t\t\t// 17:56:31 GMT+0800 (台北標準時間)\n\t\t\tabbr = timeString.match(/[A-Z]{3,5}/g);\n\t\t\tabbr = abbr ? abbr[0] : undefined;\n\t\t}\n\n\t\tif (abbr === 'GMT') {\n\t\t\tabbr = undefined;\n\t\t}\n\n\t\tthis.at = +at;\n\t\tthis.abbr = abbr;\n\t\tthis.offset = at.getTimezoneOffset();\n\t}\n\n\tfunction ZoneScore(zone) {\n\t\tthis.zone = zone;\n\t\tthis.offsetScore = 0;\n\t\tthis.abbrScore = 0;\n\t}\n\n\tZoneScore.prototype.scoreOffsetAt = function (offsetAt) {\n\t\tthis.offsetScore += Math.abs(this.zone.utcOffset(offsetAt.at) - offsetAt.offset);\n\t\tif (this.zone.abbr(offsetAt.at).replace(/[^A-Z]/g, '') !== offsetAt.abbr) {\n\t\t\tthis.abbrScore++;\n\t\t}\n\t};\n\n\tfunction findChange(low, high) {\n\t\tvar mid, diff;\n\n\t\twhile ((diff = ((high.at - low.at) / 12e4 | 0) * 6e4)) {\n\t\t\tmid = new OffsetAt(new Date(low.at + diff));\n\t\t\tif (mid.offset === low.offset) {\n\t\t\t\tlow = mid;\n\t\t\t} else {\n\t\t\t\thigh = mid;\n\t\t\t}\n\t\t}\n\n\t\treturn low;\n\t}\n\n\tfunction userOffsets() {\n\t\tvar startYear = new Date().getFullYear() - 2,\n\t\t\tlast = new OffsetAt(new Date(startYear, 0, 1)),\n\t\t\toffsets = [last],\n\t\t\tchange, next, i;\n\n\t\tfor (i = 1; i < 48; i++) {\n\t\t\tnext = new OffsetAt(new Date(startYear, i, 1));\n\t\t\tif (next.offset !== last.offset) {\n\t\t\t\tchange = findChange(last, next);\n\t\t\t\toffsets.push(change);\n\t\t\t\toffsets.push(new OffsetAt(new Date(change.at + 6e4)));\n\t\t\t}\n\t\t\tlast = next;\n\t\t}\n\n\t\tfor (i = 0; i < 4; i++) {\n\t\t\toffsets.push(new OffsetAt(new Date(startYear + i, 0, 1)));\n\t\t\toffsets.push(new OffsetAt(new Date(startYear + i, 6, 1)));\n\t\t}\n\n\t\treturn offsets;\n\t}\n\n\tfunction sortZoneScores (a, b) {\n\t\tif (a.offsetScore !== b.offsetScore) {\n\t\t\treturn a.offsetScore - b.offsetScore;\n\t\t}\n\t\tif (a.abbrScore !== b.abbrScore) {\n\t\t\treturn a.abbrScore - b.abbrScore;\n\t\t}\n\t\treturn b.zone.population - a.zone.population;\n\t}\n\n\tfunction addToGuesses (name, offsets) {\n\t\tvar i, offset;\n\t\tarrayToInt(offsets);\n\t\tfor (i = 0; i < offsets.length; i++) {\n\t\t\toffset = offsets[i];\n\t\t\tguesses[offset] = guesses[offset] || {};\n\t\t\tguesses[offset][name] = true;\n\t\t}\n\t}\n\n\tfunction guessesForUserOffsets (offsets) {\n\t\tvar offsetsLength = offsets.length,\n\t\t\tfilteredGuesses = {},\n\t\t\tout = [],\n\t\t\ti, j, guessesOffset;\n\n\t\tfor (i = 0; i < offsetsLength; i++) {\n\t\t\tguessesOffset = guesses[offsets[i].offset] || {};\n\t\t\tfor (j in guessesOffset) {\n\t\t\t\tif (guessesOffset.hasOwnProperty(j)) {\n\t\t\t\t\tfilteredGuesses[j] = true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tfor (i in filteredGuesses) {\n\t\t\tif (filteredGuesses.hasOwnProperty(i)) {\n\t\t\t\tout.push(names[i]);\n\t\t\t}\n\t\t}\n\n\t\treturn out;\n\t}\n\n\tfunction rebuildGuess () {\n\n\t\t// use Intl API when available and returning valid time zone\n\t\ttry {\n\t\t\tvar intlName = Intl.DateTimeFormat().resolvedOptions().timeZone;\n\t\t\tif (intlName && intlName.length > 3) {\n\t\t\t\tvar name = names[normalizeName(intlName)];\n\t\t\t\tif (name) {\n\t\t\t\t\treturn name;\n\t\t\t\t}\n\t\t\t\tlogError(\"Moment Timezone found \" + intlName + \" from the Intl api, but did not have that data loaded.\");\n\t\t\t}\n\t\t} catch (e) {\n\t\t\t// Intl unavailable, fall back to manual guessing.\n\t\t}\n\n\t\tvar offsets = userOffsets(),\n\t\t\toffsetsLength = offsets.length,\n\t\t\tguesses = guessesForUserOffsets(offsets),\n\t\t\tzoneScores = [],\n\t\t\tzoneScore, i, j;\n\n\t\tfor (i = 0; i < guesses.length; i++) {\n\t\t\tzoneScore = new ZoneScore(getZone(guesses[i]), offsetsLength);\n\t\t\tfor (j = 0; j < offsetsLength; j++) {\n\t\t\t\tzoneScore.scoreOffsetAt(offsets[j]);\n\t\t\t}\n\t\t\tzoneScores.push(zoneScore);\n\t\t}\n\n\t\tzoneScores.sort(sortZoneScores);\n\n\t\treturn zoneScores.length > 0 ? zoneScores[0].zone.name : undefined;\n\t}\n\n\tfunction guess (ignoreCache) {\n\t\tif (!cachedGuess || ignoreCache) {\n\t\t\tcachedGuess = rebuildGuess();\n\t\t}\n\t\treturn cachedGuess;\n\t}\n\n\t/************************************\n\t\tGlobal Methods\n\t************************************/\n\n\tfunction normalizeName (name) {\n\t\treturn (name || '').toLowerCase().replace(/\\//g, '_');\n\t}\n\n\tfunction addZone (packed) {\n\t\tvar i, name, split, normalized;\n\n\t\tif (typeof packed === \"string\") {\n\t\t\tpacked = [packed];\n\t\t}\n\n\t\tfor (i = 0; i < packed.length; i++) {\n\t\t\tsplit = packed[i].split('|');\n\t\t\tname = split[0];\n\t\t\tnormalized = normalizeName(name);\n\t\t\tzones[normalized] = packed[i];\n\t\t\tnames[normalized] = name;\n\t\t\taddToGuesses(normalized, split[2].split(' '));\n\t\t}\n\t}\n\n\tfunction getZone (name, caller) {\n\t\t\n\t\tname = normalizeName(name);\n\n\t\tvar zone = zones[name];\n\t\tvar link;\n\n\t\tif (zone instanceof Zone) {\n\t\t\treturn zone;\n\t\t}\n\n\t\tif (typeof zone === 'string') {\n\t\t\tzone = new Zone(zone);\n\t\t\tzones[name] = zone;\n\t\t\treturn zone;\n\t\t}\n\n\t\t// Pass getZone to prevent recursion more than 1 level deep\n\t\tif (links[name] && caller !== getZone && (link = getZone(links[name], getZone))) {\n\t\t\tzone = zones[name] = new Zone();\n\t\t\tzone._set(link);\n\t\t\tzone.name = names[name];\n\t\t\treturn zone;\n\t\t}\n\n\t\treturn null;\n\t}\n\n\tfunction getNames () {\n\t\tvar i, out = [];\n\n\t\tfor (i in names) {\n\t\t\tif (names.hasOwnProperty(i) && (zones[i] || zones[links[i]]) && names[i]) {\n\t\t\t\tout.push(names[i]);\n\t\t\t}\n\t\t}\n\n\t\treturn out.sort();\n\t}\n\n\tfunction addLink (aliases) {\n\t\tvar i, alias, normal0, normal1;\n\n\t\tif (typeof aliases === \"string\") {\n\t\t\taliases = [aliases];\n\t\t}\n\n\t\tfor (i = 0; i < aliases.length; i++) {\n\t\t\talias = aliases[i].split('|');\n\n\t\t\tnormal0 = normalizeName(alias[0]);\n\t\t\tnormal1 = normalizeName(alias[1]);\n\n\t\t\tlinks[normal0] = normal1;\n\t\t\tnames[normal0] = alias[0];\n\n\t\t\tlinks[normal1] = normal0;\n\t\t\tnames[normal1] = alias[1];\n\t\t}\n\t}\n\n\tfunction loadData (data) {\n\t\taddZone(data.zones);\n\t\taddLink(data.links);\n\t\ttz.dataVersion = data.version;\n\t}\n\n\tfunction zoneExists (name) {\n\t\tif (!zoneExists.didShowError) {\n\t\t\tzoneExists.didShowError = true;\n\t\t\t\tlogError(\"moment.tz.zoneExists('\" + name + \"') has been deprecated in favor of !moment.tz.zone('\" + name + \"')\");\n\t\t}\n\t\treturn !!getZone(name);\n\t}\n\n\tfunction needsOffset (m) {\n\t\tvar isUnixTimestamp = (m._f === 'X' || m._f === 'x');\n\t\treturn !!(m._a && (m._tzm === undefined) && !isUnixTimestamp);\n\t}\n\n\tfunction logError (message) {\n\t\tif (typeof console !== 'undefined' && typeof console.error === 'function') {\n\t\t\tconsole.error(message);\n\t\t}\n\t}\n\n\t/************************************\n\t\tmoment.tz namespace\n\t************************************/\n\n\tfunction tz (input) {\n\t\tvar args = Array.prototype.slice.call(arguments, 0, -1),\n\t\t\tname = arguments[arguments.length - 1],\n\t\t\tzone = getZone(name),\n\t\t\tout = moment.utc.apply(null, args);\n\n\t\tif (zone && !moment.isMoment(input) && needsOffset(out)) {\n\t\t\tout.add(zone.parse(out), 'minutes');\n\t\t}\n\n\t\tout.tz(name);\n\n\t\treturn out;\n\t}\n\n\ttz.version = VERSION;\n\ttz.dataVersion = '';\n\ttz._zones = zones;\n\ttz._links = links;\n\ttz._names = names;\n\ttz.add = addZone;\n\ttz.link = addLink;\n\ttz.load = loadData;\n\ttz.zone = getZone;\n\ttz.zoneExists = zoneExists; // deprecated in 0.1.0\n\ttz.guess = guess;\n\ttz.names = getNames;\n\ttz.Zone = Zone;\n\ttz.unpack = unpack;\n\ttz.unpackBase60 = unpackBase60;\n\ttz.needsOffset = needsOffset;\n\ttz.moveInvalidForward = true;\n\ttz.moveAmbiguousForward = false;\n\n\t/************************************\n\t\tInterface with Moment.js\n\t************************************/\n\n\tvar fn = moment.fn;\n\n\tmoment.tz = tz;\n\n\tmoment.defaultZone = null;\n\n\tmoment.updateOffset = function (mom, keepTime) {\n\t\tvar zone = moment.defaultZone,\n\t\t\toffset;\n\n\t\tif (mom._z === undefined) {\n\t\t\tif (zone && needsOffset(mom) && !mom._isUTC) {\n\t\t\t\tmom._d = moment.utc(mom._a)._d;\n\t\t\t\tmom.utc().add(zone.parse(mom), 'minutes');\n\t\t\t}\n\t\t\tmom._z = zone;\n\t\t}\n\t\tif (mom._z) {\n\t\t\toffset = mom._z.utcOffset(mom);\n\t\t\tif (Math.abs(offset) < 16) {\n\t\t\t\toffset = offset / 60;\n\t\t\t}\n\t\t\tif (mom.utcOffset !== undefined) {\n\t\t\t\tmom.utcOffset(-offset, keepTime);\n\t\t\t} else {\n\t\t\t\tmom.zone(offset, keepTime);\n\t\t\t}\n\t\t}\n\t};\n\n\tfn.tz = function (name, keepTime) {\n\t\tif (name) {\n\t\t\tif (typeof name !== 'string') {\n\t\t\t\tthrow new Error('Time zone name must be a string, got ' + name + ' [' + typeof name + ']');\n\t\t\t}\n\t\t\tthis._z = getZone(name);\n\t\t\tif (this._z) {\n\t\t\t\tmoment.updateOffset(this, keepTime);\n\t\t\t} else {\n\t\t\t\tlogError(\"Moment Timezone has no data for \" + name + \". See http://momentjs.com/timezone/docs/#/data-loading/.\");\n\t\t\t}\n\t\t\treturn this;\n\t\t}\n\t\tif (this._z) { return this._z.name; }\n\t};\n\n\tfunction abbrWrap (old) {\n\t\treturn function () {\n\t\t\tif (this._z) { return this._z.abbr(this); }\n\t\t\treturn old.call(this);\n\t\t};\n\t}\n\n\tfunction resetZoneWrap (old) {\n\t\treturn function () {\n\t\t\tthis._z = null;\n\t\t\treturn old.apply(this, arguments);\n\t\t};\n\t}\n\n\tfn.zoneName = abbrWrap(fn.zoneName);\n\tfn.zoneAbbr = abbrWrap(fn.zoneAbbr);\n\tfn.utc = resetZoneWrap(fn.utc);\n\n\tmoment.tz.setDefault = function(name) {\n\t\tif (major < 2 || (major === 2 && minor < 9)) {\n\t\t\tlogError('Moment Timezone setDefault() requires Moment.js >= 2.9.0. You are using Moment.js ' + moment.version + '.');\n\t\t}\n\t\tmoment.defaultZone = name ? getZone(name) : null;\n\t\treturn moment;\n\t};\n\n\t// Cloning a moment should include the _z property.\n\tvar momentProperties = moment.momentProperties;\n\tif (Object.prototype.toString.call(momentProperties) === '[object Array]') {\n\t\t// moment 2.8.1+\n\t\tmomentProperties.push('_z');\n\t\tmomentProperties.push('_a');\n\t} else if (momentProperties) {\n\t\t// moment 2.7.0\n\t\tmomentProperties._z = null;\n\t}\n\n\t// INJECT DATA\n\n\treturn moment;\n}));\n","var moment = module.exports = require(\"./moment-timezone\");\nmoment.tz.load(require('./data/packed/latest.json'));\n","import moment from 'moment-timezone';\n\nimport { each } from '../../utils/each';\nimport { stripHtmlTags } from '../../utils/strip-html-tags';\nimport { escapeHtml } from '../../utils/escape-html';\n\nconst defaults = {\n /*\n DEPRECATED - use CSS styles\n\n height: undefined,\n width: undefined,\n stickyHeader: false,\n stickyFooter: false\n */\n};\n\nlet currentPage;\nfunction _generateTableRows(datavizInstance, dataset) {\n let html = '';\n const defaultConfig = {\n page: 1,\n limit: 0,\n arrows: true\n };\n let customConfig = {};\n if (datavizInstance.config.table && datavizInstance.config.table.pagination) {\n customConfig = datavizInstance.config.table.pagination;\n }\n const config = {\n ...defaultConfig,\n ...customConfig\n };\n\n if (!currentPage){\n currentPage = config.page;\n }\n\n let datasetPaginated;\n let pages = 0;\n if (config.limit === 0) {\n datasetPaginated = dataset.slice(1); // remove header\n } else {\n const start = config.limit * (currentPage - 1) + 1;\n const end = start + config.limit;\n datasetPaginated = dataset.slice(start, end);\n pages = Math.ceil((dataset.length - 1) / config.limit);\n }\n\n let columnsArray = datavizInstance.config.table.columns ?\n datavizInstance.config.table.columns :\n datavizInstance.dataset.matrix[0];\n\n const checkArray = {};\n const { mapValues } = datavizInstance.config.table;\n for (let key in mapValues){\n checkArray[columnsArray.indexOf(key)] = key;\n }\n\n // var london = newYork.clone().tz(\"Europe/London\");\n for (let row of datasetPaginated) {\n html += '';\n for (let [index, rowCol] of row.entries()) {\n if (\n datavizInstance.config.timezone\n && rowCol instanceof Date\n ) {\n let dateTimeTimezoned = moment\n .tz(rowCol, \"UTC\")\n .clone()\n .tz(datavizInstance.config.timezone);\n html += `${dateTimeTimezoned.toString()}`;\n continue;\n }\n let rowColEscaped = escapeHtml(rowCol);\n if(checkArray[index]){\n html += `${mapValues[checkArray[index]](rowColEscaped)}`;\n continue;\n }\n html += `${rowColEscaped}`\n }\n html += '';\n }\n\n if (pages > 1){\n html += ``;\n let pageNumber = 1;\n const prevPage = (currentPage === 1) ? 1 : (currentPage - 1);\n const nextPage = (currentPage === pages) ? pages : (currentPage + 1);\n if (config.arrows){\n html += `<`;\n }\n while (pageNumber <= pages){\n html += `${pageNumber}`;\n pageNumber++;\n }\n if (config.arrows){\n html += `>`;\n }\n html += '';\n }\n\n return html;\n}\n\nfunction _generateTableHeader(datavizInstance, dataset) {\n let html = '';\n let fieldNumber = -1;\n let columnNames =\n (datavizInstance.config.table && datavizInstance.config.table.columns)\n || dataset[0];\n for (let colName of columnNames) {\n let colNameEscaped = escapeHtml(colName);\n fieldNumber +=1;\n html += `${colNameEscaped}`;\n }\n return html;\n}\n\n\n const render = function() {\n const dataset = this.dataset.matrix;\n\n const el = this.el();\n const theme = this.config.theme;\n const datavizInstance = this;\n\n let html = '';\n\n const isEmpty = dataset.length === 1 && dataset[0].length === 0;\n if (isEmpty) {\n const msg = 'No data to display';\n const mappedMsg = this.config.errorMapping[msg] || msg;\n if (this.config.showErrorMessages) {\n this.message(mappedMsg);\n }\n return;\n }\n\n // Open wrapper\n html += `
`;\n\n // Static, scrollable table\n html += ``;\n html += '';\n html += '';\n html += _generateTableHeader(datavizInstance, dataset);\n html += '';\n html += '';\n // Table data\n html += '';\n html += _generateTableRows(datavizInstance, dataset);\n html += '';\n html += '
';\n/* */\n // Close wrapper\n html += '
';\n\n // Inject HTML string\n el.querySelector(`.${theme}-rendering`).innerHTML = html;\n\n el\n .querySelectorAll(`.${theme}-rendering th`)\n .forEach((item) => {\n item.addEventListener('click', (event) => {\n let sortOrder = event.target.getAttribute('order') || 'asc';\n let fieldNumber = event.target.getAttribute('fieldNumber');\n let checker = function (a, b) {\n let sortOrderNumber = (sortOrder === 'asc') ? 1 : -1;\n\n if (typeof a[fieldNumber] === 'string') {\n let nameA = a[fieldNumber].toUpperCase(); // ignore upper and lowercase\n let nameB = b[fieldNumber].toUpperCase(); // ignore upper and lowercase\n if (nameA < nameB) {\n return -1 * sortOrderNumber;\n }\n if (nameA > nameB) {\n return 1* sortOrderNumber;\n }\n\n // names must be equal\n return 0;\n }\n return (a[fieldNumber] - b[fieldNumber]) * sortOrderNumber;\n };\n\n if (sortOrder === 'asc') {\n sortOrder = 'desc';\n } else {\n sortOrder = 'asc'\n }\n event.target.setAttribute('order', sortOrder);\n\n const first = this.dataset.matrix.shift();\n this.dataset.matrix.sort(checker);\n this.dataset.matrix.unshift(first);\n\n el.querySelector(`.${theme}-rendering tbody`).innerHTML =\n _generateTableRows(datavizInstance, dataset);\n attachBtnEventListeners();\n });\n });\n\n\n const attachBtnEventListeners = () => {\n el.querySelectorAll('.btn').forEach(btn => {\n btn.addEventListener('click', (event) => {\n currentPage = parseInt(event.target.getAttribute('data-page'));\n el.querySelector(`.${theme}-rendering tbody`).innerHTML =\n _generateTableRows(datavizInstance, dataset);\n attachBtnEventListeners();\n }, true);\n });\n };\n\n attachBtnEventListeners(datavizInstance, el, theme);\n\n if (this.config.onrendered) {\n this.config.onrendered();\n }\n };\n\n\n\nconst update = function(){\n // no special update handling\n this.render();\n };\n\nconst destroy= function(){};\n\nexport default { render, update, destroy };\n","import { prettyNumber } from '../../utils/pretty-number';\nimport { escapeHtml } from '../../utils/escape-html';\n\nexport default {\n render: function(){\n const color = this.config.colors[0];\n const theme = this.config.theme;\n const title = this.config.title;\n const opts = this.config;\n let value = '-';\n let html = '';\n let prefix = '';\n let suffix = '';\n let formattedNum;\n let valueEl;\n let flexDifferenceStyle = '';\n let resultDifference = '';\n let differenceStyle = '';\n let smallerValue = '';\n const { results, previousResults } = this.config;\n if(results && previousResults){\n flexDifferenceStyle = previousResults ? ' metric-comparison' : '';\n smallerValue = previousResults && title ? '-smaller' : '';\n resultDifference = results.result - previousResults.result;\n differenceStyle = (resultDifference > 0) ? '-green' : '-red';\n resultDifference = Math.abs(resultDifference);\n }\n\n if (typeof this.data()[1][1] === 'number') {\n value = this.data()[1][1];\n }\n\n formattedNum = value;\n if ( (typeof opts['prettyNumber'] === 'undefined' || opts['prettyNumber'] === true)\n && !isNaN(parseInt(value)) ) {\n formattedNum = prettyNumber(value);\n if(results && previousResults){\n resultDifference = prettyNumber(resultDifference);\n }\n }\n\n if (opts['prefix']) {\n prefix = '' + opts['prefix'] + '';\n }\n if (opts['suffix']) {\n suffix = '' + opts['suffix'] + '';\n }\n html += '
';\n html += '
';\n if (results && previousResults) {\n html += '
' + escapeHtml(resultDifference) + '
';\n }\n html += '
' + prefix + escapeHtml(formattedNum) + suffix + '
';\n if (title) {\n html += '
' + escapeHtml(title) + '
';\n }\n html += '
';\n html += '
';\n\n this.el().innerHTML = html;\n\n if (this.config.onrendered) {\n this.config.onrendered();\n }\n },\n update: function(){\n // no special update handling\n this.render();\n },\n destroy: function(){\n // no special clean-up\n }\n};\n","import { escapeHtml } from '../../utils/escape-html';\n\nexport default {\n render: function(text){\n const outer = document.createElement('div');\n const inner = document.createElement('div');\n const msg = document.createElement('span');\n\n const titleContainer = document.createElement('div');\n const notesContainer = document.createElement('div');\n\n outer.className = this.config.theme + ' keen-dataviz-box';\n inner.className = this.config.theme + '-message';\n\n // Create title and notes for message\n titleContainer.className = this.config.theme + '-title';\n titleContainer.innerHTML = escapeHtml(this.config.title || '');\n notesContainer.className = this.config.theme + '-notes';\n notesContainer.innerHTML = escapeHtml(this.config.notes || '');\n\n msg.innerHTML = escapeHtml(text) || '';\n inner.appendChild(msg);\n\n if (this.config.title && this.config.showTitle) {\n outer.appendChild(titleContainer);\n }\n\n outer.appendChild(inner);\n\n if (this.config.notes) {\n outer.appendChild(notesContainer);\n }\n\n this.el().innerHTML = '';\n this.el().appendChild(outer);\n\n },\n update: function(){\n // no special update handling\n this.render();\n },\n destroy: function(){\n // no special clean-up\n }\n};\n","import { escapeHtml } from '../../../utils/escape-html';\n\nexport default function (d, defaultTitleFormat, defaultValueFormat, color) {\n let text;\n let title;\n // Set config options or defaults\n const nameFormat = this.config.tooltip_format_name || function (name) { return name; };\n const titleFormat = this.config.tooltip_format_title || defaultTitleFormat;\n const valueFormat = this.config.tooltip_format_value || defaultValueFormat;\n\n // Reverse list to match legend\n for (let i = 0; i < d.length; i++) {\n if (! (d[i] && (d[i].value || d[i].value === 0))) { continue; }\n if (!text) {\n title = titleFormat ? titleFormat(d[i].x) : d[i].x;\n text = \"\" + (title || title === 0 ? \"\" : \"\");\n }\n let name = nameFormat(d[i].name);\n let value = valueFormat(d[i].value, d[i].ratio, d[i].id, d[i].index);\n let bgcolor = this.levelColor ? this.levelColor(d[i].value) : color(d[i].id);\n if (value) {\n text += \"\";\n if (name.indexOf('__tooltip_ignore_name_field__') === -1) {\n text += \"\";\n }\n text += \"\";\n text += \"\";\n }\n }\n return text + \"
\" + escapeHtml(title) + \"
\" + escapeHtml(name) + \"\" + escapeHtml(value) + \"
\";\n}\n","import * as d3 from 'd3';\n\nimport isDateString from '../../../utils/assert-date-string';\n\nexport default function (options) {\n const cols = options.data.columns;\n const datavizInstance = this;\n const chart = this.view._artifacts.c3;\n let columns = [];\n const domNode = this.el().querySelector('.' + datavizInstance.config.theme + '-rendering');\n const legendConfig = datavizInstance.config.legend;\n\n const pagination = this.view._artifacts.pagination = {\n ...{\n hidden: [],\n labels: [],\n offset: 0,\n limit: Math.round((domNode.offsetHeight - 78) / 20),\n total: 0\n },\n ...legendConfig.pagination\n };\n\n if (options.legend.sort) {\n columns = options.legend.sort(cols);\n\n // update column order in the data, so tooltip will be the same order\n const columnsSorted = [];\n const dataColumnsSorted = [];\n if (cols[0][0] === 'x') {\n dataColumnsSorted.push(cols[0]);\n }\n columns.forEach(column => {\n let columnData = options.data.columns.find(item => item[0] === column);\n dataColumnsSorted.push(columnData);\n });\n options.data.columns = dataColumnsSorted;\n } else {\n for (let i = 0; i < cols.length; i++) {\n if (cols[i][0] !== 'x' && !isDateString(cols[i][1])) {\n columns.push(cols[i][0]);\n }\n }\n }\n\n const legendElement = this.el().querySelector('.keen-c3-legend');\n\n let align = 'vertical';\n if (legendConfig.position === 'top' || legendConfig.position === 'bottom') {\n align = 'horizontal';\n }\n\n const paginateHorizontalLeftElement = document.createElement('div');\n paginateHorizontalLeftElement.setAttribute('class', 'keen-c3-legend-pagination-icons keen-c3-legend-horizontal-pagination-left');\n if (align === 'horizontal') {\n legendElement.append(paginateHorizontalLeftElement);\n }\n\n const legendItemsElement = document.createElement('div');\n legendItemsElement.setAttribute('class', `keen-c3-legend-items keen-c3-legend-${align}-items`);\n legendElement.append(legendItemsElement);\n\n const paginateVerticalElement = document.createElement('div');\n paginateVerticalElement.setAttribute('class', 'keen-c3-legend-pagination keen-c3-legend-pagination-icons');\n if (align === 'vertical') {\n legendElement.append(paginateVerticalElement);\n }\n\n const paginateHorizontalRightElement = document.createElement('div');\n paginateHorizontalRightElement.setAttribute('class', 'keen-c3-legend-pagination-icons keen-c3-legend-horizontal-pagination-right');\n if (align === 'horizontal') {\n legendElement.append(paginateHorizontalRightElement);\n }\n\n paginateData();\n\n function paginateData(){\n pagination.labels = columns.slice(pagination.offset, pagination.offset + pagination.limit);\n pagination.total = columns.length;\n renderLegendComponent.call(datavizInstance, pagination.labels);\n if (pagination.total > pagination.limit) {\n renderPaginationComponent.call(datavizInstance);\n }\n if (options.onPaginated){\n options.onPaginated();\n }\n }\n\n function renderLegendComponent(){\n legendItemsElement.innerHTML = '';\n\n pagination.labels.forEach(label => {\n const labelShortened = legendConfig.label.textMaxLength ? label.slice(0, legendConfig.label.textMaxLength - 1) : label;\n const legendItem = document.createElement(\"div\");\n legendItem.innerHTML = `${labelShortened}`;\n legendItem.chartPartId = label;\n legendItem.setAttribute('class', 'legend-item');\n legendItemsElement.append(legendItem);\n\n const legendItemColorSample = document.createElement(\"span\");\n legendItemColorSample.setAttribute('class', 'legend-item-color-sample');\n legendItemColorSample.style.backgroundColor = chart.color(legendItem.chartPartId);\n legendItem.prepend(legendItemColorSample);\n\n const tooltipElement = document.createElement(\"div\");\n legendItem.addEventListener('mouseover', (event) => {\n chart.focus(legendItem.chartPartId);\n if (legendConfig.tooltip.show && legendItem.chartPartId.length > legendConfig.label.textMaxLength) {\n tooltipElement.setAttribute('class', `keen-c3-legend-label-overlay keen-c3-legend-position-${legendConfig.position}`);\n tooltipElement.innerHTML =\n `${\n options.legend.tooltip.pointer ? `
` : ``\n }${legendItem.chartPartId}`;\n legendItem.append(tooltipElement);\n }\n });\n legendItem.addEventListener('mouseout', (event) => {\n chart.revert();\n tooltipElement.remove();\n });\n legendItem.addEventListener('click', (event) => {\n let opacity = 1;\n const isHidden = pagination.hidden.indexOf(legendItem.chartPartId);\n if (isHidden < 0) {\n pagination.hidden.push(legendItem.chartPartId);\n opacity = .35;\n }\n else {\n pagination.hidden.splice(isHidden, 1);\n opacity = 1;\n }\n legendItem.style.opacity = opacity;\n chart.toggle(legendItem.chartPartId);\n });\n });\n\n if (options.onLegendRendered){\n options.onLegendRendered();\n options.onLegendRendered = null;\n }\n\n }\n\n function renderPaginationComponent(){\n paginateVerticalElement.innerHTML = '';\n paginateHorizontalLeftElement.innerHTML = '';\n paginateHorizontalRightElement.innerHTML = '';\n\n const arrowUp = document.createElement('i');\n const arrowDown = document.createElement('i');\n\n const paginate = (direction) => {\n if (direction === 'forward') {\n const diff = pagination.offset + pagination.limit;\n if (diff < pagination.total) {\n pagination.offset = diff;\n return;\n }\n pagination.offset = 0;\n return;\n }\n\n const diff = pagination.offset - pagination.limit;\n if (diff >= 0) {\n pagination.offset = diff;\n return;\n }\n\n pagination.offset = Math.floor(pagination.total/pagination.limit) * pagination.limit;\n };\n\n arrowDown.addEventListener('click', () => {\n paginate('forward');\n paginateData();\n clearSelectedText();\n });\n\n arrowUp.addEventListener('click', () => {\n paginate('backward');\n paginateData();\n clearSelectedText();\n });\n\n if (legendConfig.position === 'left' || legendConfig.position === 'right') {\n arrowUp.setAttribute('class', 'up');\n arrowDown.setAttribute('class', 'down');\n paginateVerticalElement.append(arrowDown);\n paginateVerticalElement.append(arrowUp);\n } else {\n // bottom top\n arrowUp.setAttribute('class', 'left');\n arrowDown.setAttribute('class', 'right');\n paginateHorizontalLeftElement.append(arrowUp);\n paginateHorizontalRightElement.append(arrowDown);\n }\n\n }\n\n function clearSelectedText() {\n let selection;\n if (document.selection && document.selection.empty) {\n selection = document.selection;\n selection.empty();\n }\n else if (window.getSelection) {\n selection = window.getSelection();\n selection.removeAllRanges();\n }\n }\n}\n","export default function (startDate, endDate) {\n const timeDiff = Math.abs(new Date(startDate).getTime() - new Date(endDate).getTime());\n const months = [\n 'Jan',\n 'Feb',\n 'Mar',\n 'Apr',\n 'May',\n 'June',\n 'July',\n 'Aug',\n 'Sept',\n 'Oct',\n 'Nov',\n 'Dec'\n ];\n\n // Yearly (31536000000) + Monthly\n if (timeDiff >= 2419200000) {\n return function(ms){\n const date = new Date(ms);\n return months[date.getMonth()] + ' ' + date.getFullYear();\n };\n }\n // Daily\n else if (timeDiff >= 86400000) {\n return function(ms){\n const date = new Date(ms);\n return months[date.getMonth()] + ' ' + date.getDate();\n };\n }\n // Hourly\n else if (timeDiff >= 3600000) {\n return '%I:%M %p';\n }\n // Minutely\n else {\n return '%I:%M:%S %p';\n }\n}\n","import c3 from 'c3';\n\nimport { each } from '../utils/each';\nimport { extend } from '../utils/extend';\nimport { extendDeep } from '../utils/extend-deep';\nimport isDateString from '../utils/assert-date-string';\nimport c3DefaultDateFormat from './c3/extensions/default-date-format';\nimport c3PaginatingLegend from './c3/extensions/paginating-legend';\nimport c3TooltipContents from './c3/extensions/tooltip-contents';\n\nimport message from './default/message';\nimport metric from './default/metric';\nimport table from './default/table';\nimport spinner from './default/spinner';\nimport Funnel from './default/funnel';\nimport Funnel3d from './default/funnel-3d';\nimport HorizontalFunnel from './default/horizontal-funnel';\nimport HorizontalFunnel3d from './default/horizontal-funnel-3d';\n\nexport default function(lib) {\n let timer;\n bindResizeListener(function(){\n if (timer) {\n clearTimeout(timer);\n }\n const delay = (lib.visuals.length > 12) ? 1000 : 250;\n timer = setTimeout(function(){\n each(lib.visuals, function(chart){\n if (chart.view._artifacts.c3) {\n chart.view._artifacts.c3.resize();\n }\n });\n }, delay);\n });\n\n // FIX for c3 tooltip bug - REMOVE when https://github.com/c3js/c3/pull/2476 is merged\n if (c3.chart && c3.chart.internal && c3.chart.internal.fn) {\n c3.chart.internal.fn.horizontalDistance = function(data, pos) {\n var $$ = this,\n config = $$.config,\n xIndex = config.axis_rotated ? 1 : 0,\n x = $$.x(data.x);\n return Math.abs(x - pos[xIndex]);\n };\n c3.chart.internal.fn.findClosest = function (values, pos) {\n const CLASS = c3.chart.internal.fn.CLASS;\n var $$ = this,\n minDist = $$.config.point_sensitivity,\n minDist = Infinity,\n closest;\n // find mouseovering bar\n values.filter(function (v) {\n return v && $$.isBarType(v.id);\n }).forEach(function (v) {\n var shape = $$.main.select('.' + CLASS.bars + $$.getTargetSelectorSuffix(v.id) + ' .' + CLASS.bar + '-' + v.index).node();\n if (!closest && $$.isWithinBar($$.d3.mouse(shape), shape)) {\n closest = v;\n }\n });\n // find closest point from non-bar\n values.filter(function (v) {\n return v && !$$.isBarType(v.id);\n }).forEach(function (v) {\n var d = $$.dist(v, pos);\n var d = $$.horizontalDistance(v, pos);\n if (d < minDist) {\n minDist = d;\n closest = v;\n }\n });\n return closest;\n };\n }\n\n return defineC3();\n};\n\nfunction defineC3(){\n const types = {\n message,\n metric,\n table,\n spinner,\n 'funnel': new Funnel,\n 'funnel-3d': new Funnel3d,\n 'horizontal-funnel': new HorizontalFunnel,\n 'horizontal-funnel-3d': new HorizontalFunnel3d,\n };\n\n const c3Types = [\n // Standard types\n 'area',\n 'area-spline',\n 'area-step',\n 'bar',\n 'donut',\n 'gauge',\n 'line',\n 'pie',\n 'step',\n 'spline',\n\n // Horizontal variant types\n 'horizontal-area',\n 'horizontal-area-spline',\n 'horizontal-area-step',\n 'horizontal-bar',\n 'horizontal-line',\n 'horizontal-step',\n 'horizontal-spline'\n ];\n\n const getPaddings = (element, paddingName) => {\n return parseInt(window.getComputedStyle(element)[`padding${paddingName}`].replace('px', ''));\n }\n\n function getDefaultOptions(){\n\n const ENFORCED_OPTIONS = {\n bindto: this.el().querySelector('.' + this.config.theme + '-rendering .c3-chart'),\n color: {\n pattern: this.config.colors\n },\n data: {\n colors: { ...this.config.colorMapping },\n columns: [],\n type: this.config.type.replace('horizontal-', '')\n },\n };\n\n const renderingElement = this.el();\n// .querySelector('.' + this.config.theme + '-rendering');\n\n let height = renderingElement.offsetHeight;\n\n height -= (getPaddings(renderingElement, 'Top') + getPaddings(renderingElement, 'Bottom'));\n\n if (this.config.showTitle) {\n const titleElement = this.el().querySelector('.keen-dataviz-title');\n if (titleElement) {\n height -= titleElement.offsetHeight;\n } else {\n height -= parseInt(\n window\n .getComputedStyle(this.el(), null)\n ['font-size'].replace('px','')\n );\n }\n }\n\n if (this.config.notes) {\n const notesElement = this.el().querySelector('.keen-dataviz-notes');\n if (notesElement) {\n height -= notesElement.offsetHeight;\n } else {\n height -= parseInt(\n window\n .getComputedStyle(this.el(), null)\n ['font-size'].replace('px','')\n );\n }\n }\n\n let width = this.el().querySelector('.c3-chart').offsetWidth\n - (getPaddings(renderingElement, 'Left') + getPaddings(renderingElement, 'Right'));\n if (width < 0) {\n width = 0;\n }\n\n const DEFAULT_OPTIONS = {\n size: {\n width,\n height:\n height > 0 ?\n height\n : undefined,\n }\n };\n\n return extendDeep({}, DEFAULT_OPTIONS, this.config, ENFORCED_OPTIONS);\n }\n\n each(c3Types, function(type, index) {\n types[type] = {\n render: function(){\n const options = getDefaultOptions.call(this);\n\n if (!!this.config.clearOnRender && options.data.columns.length > 0) {\n options.data.columns.splice(1);\n }\n\n if (this.data()[0].length === 1 || this.data().length === 1) {\n const msg = 'No data to display';\n const mappedMsg = this.config.errorMapping[msg] || msg;\n if (this.config.showErrorMessages) {\n this.message(mappedMsg);\n }\n return;\n }\n\n let removeLegend = false;\n\n if (type === 'gauge') {\n // Accommodate a neat bug:\n options.legend.show = false;\n options.data.columns = [[\n this.config.title || this.data()[1][0],\n this.data()[1][1]\n ]];\n removeLegend = true;\n }\n else if (type === 'pie' || type === 'donut') {\n options.data.columns = this.data().slice(1);\n }\n else {\n\n // Apply formatting for horizontal variant types\n if (type.indexOf('horizontal-') > -1) {\n options.axis.rotated = type.indexOf('horizontal-') > -1;\n }\n\n if (isDateString(this.data()[1][0])) {\n // TIMESERIES\n options.axis.x = options.axis.x || {};\n options.axis.x.type = 'timeseries';\n options.axis.x.tick = options.axis.x.tick || {\n format: this.config.dateFormat || c3DefaultDateFormat(this.data()[1][0], this.data()[2] ? this.data()[2][0] : this.data()[1][0]),\n culling: { max: 5 }\n };\n\n options.data.columns[0] = [];\n each(this.dataset.selectColumn(0), function(cell, i){\n if (i > 0) {\n cell = new Date(cell);\n }\n options.data.columns[0][i] = cell;\n });\n options.data.columns[0][0] = 'x';\n options.data.x = 'x';\n if (this.config.stacked && this.data()[0].length > 2) {\n options.data.groups = [ this.dataset.selectRow(0).slice(1) ];\n }\n }\n else {\n // CATEGORIES\n options.axis.x = options.axis.x || {};\n options.axis.x.type = 'category';\n options.axis.x.categories = this.dataset.selectColumn(0).slice(1);\n if (this.config.stacked && this.data()[0].length > 2) {\n options.data.groups = [ this.dataset.selectRow(0).slice(1) ];\n }\n }\n\n if (this.data()[0].length === 2) {\n options.legend.show = false;\n removeLegend = true;\n }\n\n each(this.data()[0], function(cell, i){\n if (i > 0) {\n options.data.columns.push(this.dataset.selectColumn(i));\n }\n }.bind(this));\n }\n\n if (removeLegend){\n const legendElement = this.el().querySelector('.keen-c3-legend');\n if (legendElement) {\n legendElement.remove();\n options.size.width = this.el().querySelector('.c3-chart').offsetWidth;\n }\n options.legend.show = false;\n }\n\n const chartTypesWithPartialIntervalIndicator = ['area', 'area-spline', 'area-step', 'line', 'spline', 'step'];\n\n if (options.partialIntervalIndicator\n && options.partialIntervalIndicator.show\n && chartTypesWithPartialIntervalIndicator.indexOf(options.type) > -1\n ) {\n const results = options.data.columns && options.data.columns[0];\n if (results && results.length > 1) {\n const partialResultsRegion = {\n axis: 'x',\n start: new Date(results[results.length-2]),\n class: options.partialIntervalIndicator.className\n };\n options.regions = [...(options.regions || []), partialResultsRegion];\n }\n }\n\n if (\n !(options.tooltip && options.tooltip.show === false)\n &&\n (options.legend.show === true ||\n (options.legend\n && options.legend.tooltip\n && options.legend.tooltip.show)\n )) {\n // Apply custom tooltip\n options.tooltip = {\n contents: c3TooltipContents,\n format: {\n title: this.config.tooltip.format.title,\n value: (value, ratio, id, index) => {\n let valueFormatted = c3CustomTooltipFiltering.call(this, value, ratio, id, index);\n if (this.config.tooltip && this.config.tooltip.format && this.config.tooltip.format.value)\n {\n valueFormatted = this.config.tooltip.format.value.call(this, valueFormatted, ratio, id, index);\n }\n return valueFormatted;\n }\n }\n };\n }\n\n if (options.legend.show === true) {\n const c3options = { ...options };\n // Apply custom color handling\n c3options.data.color = c3CustomDataMapping.bind(this);\n\n c3options.legend.hide = true; // hide default c3 legend\n\n // Render artifacts\n this.view._artifacts['c3'] = c3.generate(c3options);\n\n c3PaginatingLegend.call(this, {...options, onLegendRendered: () => {\n const legendElement = this.el().querySelector('.keen-c3-legend');\n if (legendElement) {\n if (\n options.legend.position === 'top' ||\n options.legend.position === 'bottom'\n ) {\n c3options.size.height -= legendElement.offsetHeight;\n this.view._artifacts['c3'].resize({ height: c3options.size.height });\n } else {\n if (c3options.size.width === 0) {\n c3options.size.width = this.el().offsetWidth\n - getPaddings(this.el(), 'Left')\n - getPaddings(this.el(), 'Right');\n }\n c3options.size.width -= legendElement.offsetWidth;\n this.view._artifacts['c3'].resize({ width: c3options.size.width });\n }\n }\n },\n onPaginated: () => {\n this.view._artifacts['c3'].flush();\n }\n });\n }\n else {\n this.view._artifacts['c3'] = c3.generate(options);\n }\n\n },\n update: function(){\n // no special update handling\n this.render();\n },\n destroy: function(){\n if (this.view._artifacts['c3']) {\n this.view._artifacts['c3'].destroy();\n this.view._artifacts['c3'] = null;\n }\n }\n };\n });\n\n return types;\n}\n\nfunction c3CustomDataMapping(color, d) {\n const type = this.config.type;\n if (this.view._artifacts.pagination\n && type !== 'gauge'\n /*&& this.type() !== 'pie'\n && this.type() !== 'donut'*/) {\n const scope = this.view._artifacts.pagination.labels;\n if ((d.id && scope.indexOf(d.id) > -1)\n || (d && !d.id && scope.indexOf(d) > -1)) {\n return color;\n }\n else {\n if (type === 'donut' || type === 'pie') {\n return 'rgba(0,0,0,.1)';\n }\n else {\n return 'rgba(0,0,0,.07)';\n }\n }\n }\n else {\n return color;\n }\n}\n\nfunction c3CustomTooltipFiltering(value, ratio, id, index) {\n const type = this.config.type;\n\n if (this.view._artifacts.pagination\n && type !== 'gauge'\n /*&& this.type() !== 'pie'\n && this.type() !== 'donut'*/) {\n const scope = this.view._artifacts.pagination.labels;\n if (scope.indexOf(id) > -1) {\n return value;\n }\n }\n else {\n return value;\n }\n}\n\nfunction bindResizeListener(fn){\n if (typeof window === 'undefined') return;\n window.onresize = window.resize = function(){};\n if (window.addEventListener) {\n window.addEventListener('resize', fn, true);\n }\n else if (window.attachEvent) {\n window.attachEvent('onresize', fn);\n }\n}\n","import Dataset from './dataset';\nimport { extend } from './utils/extend';\nimport { stripHtmlTags } from './utils/strip-html-tags';\n\nexport default function (data) {\n if (!arguments.length) return this.dataset.data();\n if (data instanceof Dataset) {\n this.dataset = data;\n return this;\n }\n else {\n return parseResponse.call(this, data);\n }\n};\n\nfunction parseResponse(response) {\n var dataset,\n indexBy,\n meta,\n parser,\n parserArgs = [],\n query,\n selectedParser,\n title,\n type;\n\n indexBy = this.config.indexBy;\n meta = response.metadata || {};\n query = (typeof response.query !== 'undefined') ? response.query : {};\n\n // Ensure all required params are present\n query = extend({\n analysis_type: null,\n event_collection: null,\n filters: [],\n group_by: null,\n interval: null,\n timeframe: null,\n timezone: null\n }, query);\n\n if (query.analysis_type === 'funnel') {\n parser = 'funnel';\n }\n else if (query.analysis_type === 'extraction'){\n parser = 'extraction';\n }\n else if (query.analysis_type === 'select_unique') {\n if (!query.group_by && !query.interval) {\n parser = 'list';\n }\n // else { Not supported }\n }\n else if (query.analysis_type) {\n if (!query.group_by && !query.interval) {\n parser = 'metric';\n }\n else if (query.group_by && !query.interval) {\n if (query.group_by instanceof Array && query.group_by.length > 1) {\n parser = 'double-grouped-metric';\n parserArgs.push(query.group_by);\n }\n else {\n parser = 'grouped-metric';\n }\n }\n else if (query.interval && !query.group_by) {\n parser = 'interval';\n parserArgs.push(indexBy);\n }\n else if (query.group_by && query.interval) {\n if (query.group_by instanceof Array && query.group_by.length > 1) {\n parser = 'double-grouped-interval';\n parserArgs.push(query.group_by);\n parserArgs.push(indexBy);\n }\n else {\n parser = 'grouped-interval';\n parserArgs.push(indexBy);\n }\n }\n }\n\n if (!parser) {\n\n // Metric\n // -------------------------------\n if (typeof response.result === 'number'){\n parser = 'metric';\n }\n\n // Everything else\n // -------------------------------\n if (response.result instanceof Array && response.result.length > 0){\n\n // Interval w/ single value\n // -------------------------------\n if (response.result[0].timeframe && (typeof response.result[0].value == 'number' || response.result[0].value == null)) {\n parser = 'interval';\n parserArgs.push(indexBy)\n }\n\n // Static GroupBy\n // -------------------------------\n if (typeof response.result[0].result == 'number'){\n parser = 'grouped-metric';\n }\n\n // Grouped Interval\n // -------------------------------\n if (response.result[0].value instanceof Array){\n parser = 'grouped-interval';\n parserArgs.push(indexBy)\n }\n\n // Funnel\n // -------------------------------\n if (typeof response.result[0] === 'number'\n && typeof response.steps !== 'undefined'){\n parser = 'funnel';\n // Move steps into query object\n query.steps = response.steps;\n }\n\n // Select Unique\n // -------------------------------\n if ((typeof response.result[0] === 'string' || typeof response.result[0] == 'number') && typeof response.steps === 'undefined'){\n parser = 'list';\n }\n\n // Extraction\n // -------------------------------\n if (!parser) {\n parser = 'extraction';\n }\n }\n\n if (!parser) {\n parser = 'extraction';\n }\n }\n\n // Set title from saved query body, or create a default title\n if (this.config.title === undefined) {\n if (meta.display_name) {\n title = meta.display_name;\n }\n else {\n title = getDefaultTitle(query);\n }\n this.config.title = title;\n }\n\n // Set type from saved query body, or use a default type\n if (!this.config.type) {\n if (meta.visualization && meta.visualization.chart_type) {\n type = meta.visualization.chart_type;\n }\n else {\n type = getDefaultType(parser);\n }\n this.config.type = type;\n }\n\n // Define the appropriate parser\n selectedParser = Dataset.parser.apply(this, [parser].concat(parserArgs));\n\n // Parse the response with augmented query body\n dataset = selectedParser(extend(response, { 'query': query }));\n\n // Set true dates for 'interval' data\n if (parser.indexOf('interval') > -1) {\n dataset.updateColumn(0, function(value, i){\n return new Date(value);\n });\n }\n\n dataset.updateRow(0, function(value, i){\n return stripHtmlTags(value);\n });\n\n this.dataset = dataset;\n\n return this;\n}\n\nfunction getDefaultTitle(query) {\n var analysis = query.analysis_type ? query.analysis_type.replace('_', ' ') : '',\n title;\n\n title = analysis.replace( /\\b./g, function(a){\n return a.toUpperCase();\n });\n\n if (query.event_collection) {\n title += ' - ' + query.event_collection;\n }\n return title;\n}\n\nfunction getDefaultType(parser) {\n let type;\n switch (parser) {\n case 'metric':\n type = 'metric';\n break;\n case 'interval':\n type = 'area';\n break;\n case 'grouped-metric':\n case 'double-grouped-metric':\n type = 'bar';\n break;\n case 'grouped-interval':\n case 'double-grouped-interval':\n type = 'line';\n break;\n case 'funnel':\n type = 'horizontal-bar';\n break;\n case 'list':\n case 'extraction':\n default:\n type = 'table';\n }\n return type;\n}\n","export function valueAtDeepKey(obj, is, value) {\n if (typeof is == 'string')\n return valueAtDeepKey(obj, is.split('.'), value);\n else if (is.length==1 && value!==undefined && obj !== null &&\n typeof obj[is[0]] !== 'undefined')\n return obj[is[0]] = value;\n else if (is.length==0)\n return obj;\n else if (typeof is === 'undefined' || typeof obj === 'undefined'\n || is === null || obj === null\n || typeof obj[is[0]] === 'undefined')\n return null;\n else\n return valueAtDeepKey(obj[is[0]], is.slice(1), value);\n}\n","// Pure awesomeness by Will Rayner (penguinboy)\n// https://gist.github.com/penguinboy/762197\n\nexport function flatten(ob){\n var toReturn = {};\n for (var i in ob) {\n if (!ob.hasOwnProperty(i)) continue;\n if ((typeof ob[i]) == 'object' && ob[i] !== null) {\n var flatObject = flatten(ob[i]);\n for (var x in flatObject) {\n if (!flatObject.hasOwnProperty(x)) continue;\n toReturn[i + '.' + x] = flatObject[x];\n }\n } else {\n toReturn[i] = ob[i];\n }\n }\n return toReturn;\n};\n","let Dataset; /* injected */\n\nimport { each } from '../../utils/each';\nimport { flatten } from '../utils/flatten';\nimport { valueAtDeepKey } from '../utils/object';\n\nexport default function initialize(lib){\n Dataset = lib;\n return function(name){\n var options = Array.prototype.slice.call(arguments, 1);\n\n if (!parsers[name]) {\n throw 'Requested parser does not exist';\n }\n else {\n return parsers[name].apply(this, options);\n }\n };\n}\n\nfunction parseMetric(){\n return function(res){\n return new Dataset()\n .set(['Value', 'Result'], res.result)\n .type('metric');\n }\n}\n\n//var myParser = Dataset.parser('interval', 'timeframe.end');\nfunction parseInterval(){\n var options = Array.prototype.slice.call(arguments);\n return function(res){\n var dataset = new Dataset()\n .type('interval');\n each(res.result, function(record, i){\n var index = options[0] && options[0] === 'timeframe.end' ? record.timeframe.end : record.timeframe.start;\n dataset.set(['Result', index], record.value);\n });\n return dataset;\n }\n}\n\nfunction parseGroupedMetric(){\n return function(res){\n var dataset = new Dataset()\n .type('grouped-metric');\n each(res.result, function(record, i){\n var label;\n each(record, function(value, key){\n if (key !== 'result') {\n label = key;\n }\n });\n dataset.set(['Result', String(record[label])], record.result);\n });\n return dataset;\n }\n}\n\n//var myParser = Dataset.parser('grouped-interval', 'timeframe.end');\nfunction parseGroupedInterval(){\n var options = Array.prototype.slice.call(arguments);\n return function(res){\n var dataset = new Dataset()\n .type('grouped-interval');\n each(res.result, function(record, i){\n var index = options[0] && options[0] === 'timeframe.end' ? record.timeframe.end : record.timeframe.start;\n if (record.value.length) {\n each(record.value, function(group, j){\n var label;\n each(group, function(value, key){\n if (key !== 'result') {\n label = key;\n }\n });\n dataset.set([ String(group[label]), index ], group.result);\n });\n }\n else {\n dataset.appendRow(index);\n }\n });\n return dataset;\n }\n}\n\n//var myParser = Dataset.parser('double-grouped-metric', ['first', 'second']);\nfunction parseDoubleGroupedMetric(){\n var options = Array.prototype.slice.call(arguments);\n if (!options[0]) throw 'Requested parser requires a sequential list (array) of properties to target as a second argument';\n return function(res){\n var dataset = new Dataset()\n .type('double-grouped-metric');\n each(res.result, function(record, i){\n var rowLabel = record[options[0][0]] + ' ' + record[options[0][1]];\n dataset.set([ 'Result', rowLabel ], record.result);\n });\n return dataset;\n }\n}\n\n//var myParser = Dataset.parser('double-grouped-interval', ['first', 'second'], 'timeframe.end');\nfunction parseDoubleGroupedInterval(){\n var options = Array.prototype.slice.call(arguments);\n if (!options[0]) throw 'Requested parser requires a sequential list (array) of properties to target as a second argument';\n return function(res){\n var dataset = new Dataset()\n .type('double-grouped-interval');\n each(res.result, function(record, i){\n var index = options[1] && options[1] === 'timeframe.end' ? record.timeframe.end : record.timeframe.start;\n each(record['value'], function(value, j){\n var label = value[options[0][0]] + ' ' + value[options[0][1]];\n dataset.set([ label, index ], value.result);\n });\n });\n return dataset;\n }\n}\n\nfunction parseFunnel(){\n return function(res){\n var result, steps, dataset;\n if (typeof res.steps !== 'undefined'\n && typeof res.result !== 'undefined'\n && res.result instanceof Array) {\n // Ad-hoc funnel response\n result = res.result;\n steps = res.steps;\n }\n else if (typeof res.result.steps !== 'undefined'\n && typeof res.result.result !== 'undefined'\n && res.result.result instanceof Array) {\n // Saved funnel response\n result = res.result.result;\n steps = res.result.steps;\n }\n dataset = new Dataset().type('funnel');\n dataset.appendColumn('Step Value');\n each(result, function(value, i){\n if (typeof steps !== 'undefined' && steps[i]) {\n dataset.appendRow(String(steps[i].event_collection), [value]);\n }\n });\n return dataset;\n }\n}\n\nfunction parseList(){\n return function(res){\n var dataset = new Dataset()\n .type('list');\n each(res.result, function(value, i){\n dataset.set( [ 'Result', String(i+1) ], value );\n });\n return dataset;\n }\n}\n\nfunction parseExtraction(){\n let config = this.config;\n return function(res){\n const datasetExtraction = new Dataset()\n .type('extraction');\n // create header\n for (let i=0; i<1; i++){\n let record = res.result[i];\n each(flatten(record), function(value, key){\n datasetExtraction.set([ key, String(i+1) ], value);\n });\n }\n\n // get keys of the Object\n let names = Object.keys(flatten(res.result[0]));\n\n if (Dataset) {\n if (config\n && config.table\n && config.table.columns) {\n names = config.table.columns;\n }\n }\n\n for (let i=0; i -1) {\n\n if (typeof input === 'function') {\n\n each(self.data(), function(row, i){\n var cell;\n if (i > 0) {\n cell = input.call(self, row[index], i, row);\n if (typeof cell !== 'undefined') {\n self.matrix[i][index] = cell;\n }\n }\n });\n\n } else if (!input || input instanceof Array) {\n input = input || [];\n\n if (input.length <= self.data().length - 1) {\n input = input.concat( createNullList(self.data().length - 1 - input.length) );\n }\n else {\n // If this new column is longer than existing columns,\n // we need to update the rest to match ...\n each(input, function(value, i){\n if (self.matrix.length -1 < input.length) {\n appendRow.call(self, String( self.matrix.length ));\n }\n });\n }\n\n each(input, function(value, i){\n self.matrix[i+1][index] = value;\n });\n\n }\n\n }\n return self;\n}\n\nexport function updateRow(q, input){\n var self = this,\n index = (typeof q === 'number') ? q : this.selectColumn(0).indexOf(q);\n\n if (index > -1) {\n\n if (typeof input === 'function') {\n\n each(self.data()[index], function(value, i){\n var col = self.selectColumn(i),\n cell = input.call(self, value, i, col);\n if (typeof cell !== 'undefined') {\n self.matrix[index][i] = cell;\n }\n });\n\n } else if (!input || input instanceof Array) {\n input = input || [];\n\n if (input.length <= self.matrix[0].length - 1) {\n input = input.concat( createNullList( self.matrix[0].length - 1 - input.length ) );\n }\n else {\n each(input, function(value, i){\n if (self.matrix[0].length -1 < input.length) {\n appendColumn.call(self, String( self.matrix[0].length ));\n }\n });\n }\n\n each(input, function(value, i){\n self.matrix[index][i+1] = value;\n });\n }\n\n }\n return self;\n}\n","import { each } from '../../utils/each';\nimport analysesUtilMethods from '../utils/analyses';\n\nexport function sortColumns(str, comp) {\n var self = this,\n head = this.matrix[0].slice(1), // minus index\n cols = [],\n clone = [],\n fn = comp || analysesUtilMethods.getColumnLabel;\n\n // Isolate each column (except the index)\n each(head, function(cell, i) {\n cols.push(self.selectColumn(i+1).slice(0));\n });\n cols.sort(function(a,b){\n // If fn(a) > fn(b)\n var op = fn.call(self, a) > fn.call(self, b);\n if (op) {\n return (str === 'asc' ? 1 : -1);\n } else if (!op) {\n return (str === 'asc' ? -1 : 1);\n } else {\n return 0;\n }\n });\n each(cols, function(col, i) {\n self\n .deleteColumn(i+1)\n .insertColumn(i+1, col[0], col.slice(1));\n });\n return self;\n}\n\nexport function sortRows(str, comp) {\n var self = this,\n head = this.matrix.slice(0,1),\n body = this.matrix.slice(1),\n fn = comp || analysesUtilMethods.getRowIndex;\n body.sort(function(a, b){\n // If fn(a) > fn(b)\n var op = fn.call(self, a) > fn.call(self, b);\n if (op) {\n return (str === 'asc' ? 1 : -1);\n } else if (!op) {\n return (str === 'asc' ? -1 : 1);\n } else {\n return 0;\n }\n });\n self.data(head.concat(body));\n return self;\n}\n","import { each } from '../../utils/each';\n\nexport function selectColumn(q) {\n const result = [];\n const index = (typeof q === 'number') ? q : this.matrix[0].indexOf(q);\n\n if (index > -1 && typeof this.matrix[0][index] !== 'undefined') {\n each(this.matrix, function(row, i) {\n result.push(row[index]);\n });\n }\n return result;\n}\n\nexport function selectRow(q) {\n let result = [];\n const index = (typeof q === 'number') ? q : this.selectColumn(0).indexOf(q);\n\n if (index > -1 && typeof this.matrix[index] !== 'undefined') {\n result = this.matrix[index];\n }\n return result;\n}\n","import { each } from '../../utils/each';\nimport createNullList from '../utils/create-null-list';\nimport { appendRow, appendColumn } from './append';\n\nexport function insertColumn(index, str, input) {\n const self = this;\n const label = (str !== undefined) ? str : null;\n\n if (typeof input === 'function') {\n\n self.matrix[0].splice(index, 0, label);\n each(self.matrix, function(row, i) {\n var cell;\n if (i > 0) {\n cell = input.call(self, row, i);\n if (typeof cell === 'undefined') {\n cell = null;\n }\n self.matrix[i].splice(index, 0, cell);\n }\n });\n\n }\n\n else if (!input || input instanceof Array) {\n input = input || [];\n\n if (input.length <= self.matrix.length - 1) {\n input = input.concat( createNullList(self.matrix.length - 1 - input.length) );\n }\n else {\n // If this new column is longer than existing columns,\n // we need to update the rest to match ...\n each(input, function(value, i){\n if (self.matrix.length -1 < input.length) {\n appendRow.call(self, String( self.matrix.length ));\n }\n });\n }\n\n self.matrix[0].splice(index, 0, label);\n each(input, function(value, i){\n self.matrix[i+1].splice(index, 0, value);\n });\n\n }\n return self;\n}\n\nexport function insertRow(index, str, input) {\n const self = this;\n const newRow = [];\n const label = (str !== undefined) ? str : null;\n newRow.push(label);\n\n if (typeof input === 'function') {\n each(self.matrix[0], function(label, i) {\n let col;\n let cell;\n if (i > 0) {\n col = self.selectColumn(i);\n cell = input.call(self, col, i);\n if (typeof cell === 'undefined') {\n cell = null;\n }\n newRow.push(cell);\n }\n });\n self.matrix.splice(index, 0, newRow);\n }\n\n else if (!input || input instanceof Array) {\n input = input || [];\n\n if (input.length <= self.matrix[0].length - 1) {\n input = input.concat( createNullList( self.matrix[0].length - 1 - input.length ) );\n }\n else {\n each(input, function(value, i){\n if (self.matrix[0].length -1 < input.length) {\n appendColumn.call(self, String( self.matrix[0].length ));\n }\n });\n }\n\n self.matrix.splice(index, 0, newRow.concat(input) );\n }\n\n return self;\n}\n","import { each } from '../../utils/each';\n\nexport function filterColumns(fn) {\n const self = this;\n const clone = [];\n\n each(self.matrix, function(row, i) {\n clone.push([]);\n });\n\n each(self.matrix[0], function(col, i){\n var selectedColumn = self.selectColumn(i);\n if (i == 0 || fn.call(self, selectedColumn, i)) {\n each(selectedColumn, function(cell, ri){\n clone[ri].push(cell);\n });\n }\n });\n\n self.data(clone);\n return self;\n}\n\nexport function filterRows(fn) {\n const self = this;\n const clone = [];\n\n each(self.matrix, function(row, i){\n if (i == 0 || fn.call(self, row, i)) {\n clone.push(row);\n }\n });\n\n self.data(clone);\n return self;\n}\n","import { each } from '../../utils/each';\n\nexport function deleteColumn(q) {\n const self = this;\n const index = (typeof q === 'number') ? q : this.matrix[0].indexOf(q);\n\n if (index > -1) {\n each(self.matrix, function(row, i){\n self.matrix[i].splice(index, 1);\n });\n }\n return self;\n}\n\nexport function deleteRow(q) {\n var index = (typeof q === 'number') ? q : this.selectColumn(0).indexOf(q);\n\n if (index > -1) {\n this.matrix.splice(index, 1);\n }\n return this;\n}\n","import * as d3 from \"d3\";\nimport c3 from 'c3';\n\nimport pkg from '../package.json';\nimport data from './data';\nimport { Dataset } from './dataset';\n\n// Utils\nimport { each } from './utils/each';\nimport isDateString from './utils/assert-date-string';\nimport { stripHtmlTags } from './utils/strip-html-tags';\nimport { escapeHtml } from './utils/escape-html';\nimport libraries from './libraries';\nimport { extendDeep } from './utils/extend-deep';\n\n// Constructor\nexport const Dataviz = function (options = {}) {\n if (this instanceof Dataviz === false) {\n return new Dataviz(options);\n }\n\n this.c3 = c3; // expose for use outside\n this.d3 = d3;\n\n const datavizInstance = this;\n\n const defaultOptions = {\n showDeprecationWarnings: true,\n showLoadingSpinner: false,\n\n container: undefined, // querySelector of container, for example '#someDiv'\n containerElement: undefined, // HTML parent element for the chart\n\n // width: undefined, *deprecated* - use CSS\n // height: undefined, *deprecated* - use CSS\n\n title: undefined,\n showTitle: true,\n\n notes: undefined,\n theme: 'keen-dataviz',\n\n colors: [\n '#00bbde', '#fe6672', '#eeb058', '#8a8ad6', '#ff855c', '#00cfbb',\n '#5a9eed', '#73d483', '#c879bb', '#0099b6', '#d74d58', '#cb9141',\n '#6b6bb6', '#d86945', '#00aa99', '#4281c9', '#57b566', '#ac5c9e',\n '#27cceb', '#ff818b', '#f6bf71', '#9b9be1', '#ff9b79', '#26dfcd',\n '#73aff4', '#87e096', '#d88bcb',\n ],\n\n colorMapping: {},\n\n indexBy: 'timeframe.start',\n labels: [],\n labelMapping: {},\n labelMappingRegExp: undefined,\n errorMapping: {},\n showErrorMessages: true,\n library: 'default',\n sortGroups: undefined,\n sortIntervals: undefined,\n\n results: undefined, // raw data\n\n // C3 chartOptions\n type: undefined,\n stacked: false,\n dateFormat: undefined,\n legend: {\n show: true,\n position: 'right',\n label: {\n textMaxLength: 12\n },\n pagination: {\n offset: 0, // start from\n limit: 5 // items per page\n },\n tooltip: {\n show: true,\n pointer: true\n },\n sort: undefined\n },\n\n axis: {},\n color: {},\n data: {\n order: null\n },\n size: {\n // control it with CSS of .c3-chart\n },\n padding: {\n top: 15\n },\n point: {\n focus: {\n expand: {\n enabled: false\n }\n },\n r: 2,\n show: true\n },\n tooltip: {\n format: {\n // https://c3js.org/samples/tooltip_format.html\n }\n },\n transition: {\n // duration: 0\n },\n data: {\n selection: {\n enabled: true,\n draggable: true,\n multiple: true\n }\n },\n grid: {\n y: {\n show: true\n }\n },\n partialIntervalIndicator: {\n show: undefined,\n className: 'partial-interval-indicator'\n },\n timezone: 'UTC',\n table: {},\n renderOnVisible: false,\n funnel: {\n lines: true,\n resultValues: true,\n percents: {\n show: false,\n countingMethod: 'absolute',\n decimals: 0\n },\n marginBetweenElements: false,\n hover: true,\n effect3d: 'both-sides',\n }\n };\n\n this.config = { ...extendDeep(defaultOptions, options) };\n\n if (this.config.type) {\n // backward compatibility with v2016... areachart -> area\n this.config.type = convertChartTypes(this.config.type);\n }\n\n // get DOM node by query\n if (this.config.container) {\n this.el(this.config.container);\n }\n\n if (options.legend !== undefined && !options.legend) {\n this.config.legend = {\n ...options,\n show: false\n };\n }\n\n if (options.color && options.color.pattern) {\n // to match c3 options\n this.config.colors = options.color.pattern;\n }\n\n if (this.config.legend\n && this.config.legend.tooltip\n && this.config.legend.tooltip.show === false\n && this.config.tooltip.show === undefined) {\n this.config.tooltip = { show: false };\n }\n\n if (options.color && options.color.pattern) {\n // to match c3 options\n this.config.colors = options.color.pattern;\n }\n\n this.dataset = new Dataset(this.config);\n this.view = {\n _prepared: false,\n _rendered: false,\n _artifacts: { /* state bin */ }\n };\n\n Dataviz.visuals.push(this);\n\n if (this.config.showLoadingSpinner) {\n this.prepare();\n }\n\n if (!!this.config.results) {\n this.render(this.config.results);\n }\n this.config.firstVisibilityState = document.visibilityState;\n};\n\nDataviz.libraries = { default: {} };\nif (typeof window !== 'undefined') {\n Dataviz.libraries.default = libraries(Dataviz);\n}\nDataviz.visuals = [];\n\nDataviz.register = function (name, actions) {\n Dataviz.libraries[name] = Dataviz.libraries[name] || {};\n each(actions, function(method, key){\n Dataviz.libraries[name][key] = method;\n });\n};\n\nDataviz.find = function(target){\n if (!arguments.length) return Dataviz.visuals;\n const el = target.nodeName ? target : document.querySelector(target);\n let match = null;\n each(Dataviz.visuals, function(visual){\n if (el == visual.config.container){\n match = visual;\n return false;\n }\n });\n return match;\n};\n\n\n // Prototype\n // ------------\n\nDataviz.prototype.attributes = function(obj){\n if (this.config.showDeprecationWarnings) {\n console.log('.attributes() is deprecated. Use: new KeenDataviz({ _your_value_here_ })');\n }\n if (!arguments.length) return this.config;\n const view = this.config;\n each(obj, function(prop, key){\n // Handle deprecated property names\n if (key === 'chartType') {\n key = 'type';\n }\n view[key] = prop;\n });\n return this;\n};\n\nDataviz.prototype.call = function(fn){\n fn.call(this);\n return this;\n};\n\nDataviz.prototype.chartOptions = function(obj){\n if (this.config.showDeprecationWarnings) {\n console.log('.chartOptions() is deprecated. Use: new KeenDataviz({ _your_value_here_ })');\n }\n if (!arguments.length) return this.config;\n this.config = extendDeep(this.config, obj);\n return this;\n};\n\nDataviz.prototype.colors = function(arr){\n if (this.config.showDeprecationWarnings) {\n console.log('.colors() is deprecated. Use: new KeenDataviz({ colors: _your_value_here_ })');\n }\n if (!arguments.length) return this.config.colors;\n this.config.colors = (arr instanceof Array ? arr : []);\n return this;\n};\n\nDataviz.prototype.colorMapping = function(obj){\n if (this.config.showDeprecationWarnings) {\n console.log('.colorMapping() is deprecated. Use: new KeenDataviz({ colorMapping: _your_value_here_ })');\n }\n const datavizInstance = this;\n if (!arguments.length) return this.config.colorMapping;\n if (obj === null) {\n this.config.colorMapping = {};\n }\n else if (typeof obj === 'object') {\n each(obj, function(value, key){\n datavizInstance.config.colorMapping[key] = (value ? value : null);\n });\n }\n return this;\n};\n\nDataviz.prototype.data = data;\n\nDataviz.prototype.dateFormat = function(val){\n if (this.config.showDeprecationWarnings) {\n console.log('.dateFormat() is deprecated. Use: new KeenDataviz({ dateFormat: _your_value_here_ })');\n }\n if (!arguments.length) return this.config.dateFormat;\n if (typeof val === 'string' || typeof val === 'function') {\n this.config.dateFormat = val;\n }\n else {\n this.config.dateFormat = undefined;\n }\n return this;\n};\n\nDataviz.prototype.destroy = function(){\n const library = this.library();\n const type = this.config.type;\n const element = this.el();\n\n // Call destroy method if present\n if (Dataviz.libraries[library]\n && Dataviz.libraries[library][type]){\n Dataviz.libraries[library][type].destroy.call(this);\n }\n\n // Clear rendered artifacts, state bin\n if (element) {\n element.innerHTML = '';\n }\n this.view._prepared = false;\n this.view._rendered = false;\n this.view._artifacts = {};\n return this;\n};\n\nDataviz.prototype.el = function(target){\n const datavizInstance = this;\n if (!arguments.length) return this.config.containerElement;\n domReady(function(){\n if (target && target !== null) {\n if (target.nodeName) {\n datavizInstance.config.containerElement = target;\n }\n else if (document.querySelector) {\n datavizInstance.config.containerElement = document.querySelector(target);\n }\n }\n else {\n datavizInstance.config.containerElement = undefined;\n }\n });\n return this;\n};\n\nDataviz.prototype.height = function(num){\n if (this.config.showDeprecationWarnings) {\n console.log('.height() is deprecated - use CSS classes');\n }\n return this;\n};\n\n// IMPORTANT: Must be run before data parsing\nDataviz.prototype.indexBy = function(str){\n if (this.config.showDeprecationWarnings) {\n console.log('.indexBy() is deprecated. Use: new KeenDataviz({ indexBy: _your_value_here_ })');\n }\n if (!arguments.length) return this.config.indexBy;\n this.config.indexBy = (str ? String(str) : 'timeframe.start');\n return this;\n};\n\nDataviz.prototype.labels = function(arr){\n if (this.config.showDeprecationWarnings) {\n console.log('.labels() is deprecated. Use: new KeenDataviz({ labels: _your_value_here_ })');\n }\n\n if (!arguments.length) return this.config.labels;\n this.config.labels = (arr instanceof Array ? arr : []);\n\n setLabels(this);\n\n return this;\n};\n\nfunction setLabels(datavizInstance){\n // Write labels\n if (datavizInstance.data()[0].length === 2 && !isDateString(datavizInstance.data()[1][0])) {\n datavizInstance.dataset.updateColumn(0, function(value, index){\n if (datavizInstance.config.labels[index-1]) {\n return stripHtmlTags(String(datavizInstance.config.labels[index-1]));\n }\n return stripHtmlTags(value);\n }.bind(datavizInstance));\n }\n else {\n datavizInstance.dataset.updateRow(0, function(value, index){\n if (index > 0 && datavizInstance.config.labels[index-1]) {\n return stripHtmlTags(String(datavizInstance.config.labels[index-1]));\n }\n return stripHtmlTags(value);\n }.bind(datavizInstance));\n }\n}\n\nDataviz.prototype.labelMapping = function(obj){\n if (this.config.showDeprecationWarnings) {\n console.log('.labelMapping() is deprecated. Use: new KeenDataviz({ labelMapping: _your_value_here_ })');\n }\n if (!arguments.length) return this.config.labelMapping;\n if (obj === null) {\n this.config.labelMapping = {};\n }\n else if (typeof obj === 'object') {\n each(obj, function(value, key){\n this.config.labelMapping[key] = (value ? value : null);\n }.bind(this));\n }\n\n mapLabels(this);\n\n return this;\n};\n\nfunction mapLabelsExec({ datavizInstance, value }){\n if (datavizInstance.config.labelMappingRegExp){\n let valueAfterMatching = value;\n datavizInstance.config.labelMappingRegExp.forEach(regExpAndLabel => {\n if (regExpAndLabel.length > 1) {\n let regExpObj = regExpAndLabel[0];\n if (regExpObj.test(value)){\n valueAfterMatching = regExpAndLabel[1];\n }\n }\n });\n return stripHtmlTags(valueAfterMatching);\n }\n if (datavizInstance.config.labelMapping[value]) {\n return stripHtmlTags(String(datavizInstance.config.labelMapping[value]));\n }\n return stripHtmlTags(value);\n}\n\nfunction mapLabels(datavizInstance){\n // Write labels\n if (!datavizInstance.config.labelMappingDimension) {\n // if not defined use deprecated auto-detecting\n if (datavizInstance.data()[0].length === 2 && !isDateString(datavizInstance.data()[1][0])) {\n datavizInstance.config.labelMappingDimension = 'row';\n } else {\n datavizInstance.config.labelMappingDimension = 'column';\n }\n }\n\n if (datavizInstance.config.labelMappingDimension === 'row'\n || datavizInstance.config.labelMappingDimension === 'both') {\n datavizInstance.dataset.updateColumn(0, function(value){\n return mapLabelsExec({ datavizInstance, value });\n }.bind(datavizInstance));\n }\n\n if (datavizInstance.config.labelMappingDimension === 'column'\n || datavizInstance.config.labelMappingDimension === 'both') {\n datavizInstance.dataset.updateRow(0, function(value){\n return mapLabelsExec({ datavizInstance, value });\n }.bind(datavizInstance));\n }\n}\n\nDataviz.prototype.library = function(str){\n if (!arguments.length) return this.config['library'];\n this.config['library'] = (str ? String(str) : null);\n return this;\n};\n\nDataviz.prototype.message = function(){\n if (this.view._rendered) {\n this.destroy();\n }\n if (this.el()) {\n this.el().innerHTML = '';\n const message = Dataviz.libraries.default.message;\n if (message.render) {\n message.render.apply(this, arguments);\n }\n }\n return this;\n};\n\nDataviz.prototype.notes = function(str){\n if (this.config.showDeprecationWarnings) {\n console.log('.notes() is deprecated. Use: new KeenDataviz({ notes: _your_value_here_ })');\n }\n if (!arguments.length) return this.config.notes;\n this.config.notes = (str ? String(str) : null);\n return this;\n};\n\nDataviz.prototype.prepare = function(){\n const datavizInstance = this;\n\n if (!this.el()) {\n throw `${this.config.container} not found. A DOM parent element is required to mount the chart.`;\n return;\n }\n\n domReady(function(){\n if (datavizInstance.view._rendered) {\n datavizInstance.destroy();\n }\n if (datavizInstance.el()) {\n datavizInstance.el().innerHTML = '';\n const loader = Dataviz.libraries.default.spinner;\n if (loader.render) {\n loader.render.call(datavizInstance);\n }\n datavizInstance.view._prepared = true;\n }\n });\n\n return this;\n};\n\nDataviz.prototype.render = function(results = undefined){\n const datavizInstance = this;\n if (!!results) {\n const firstResult = results[0] || results;\n if (\n firstResult.query\n && firstResult.query.interval\n && firstResult.query.timeframe\n && firstResult.query.timeframe === 'string'\n && firstResult.query.timeframe.indexOf('this_') > -1\n && this.config.partialIntervalIndicator\n && this.config.partialIntervalIndicator.show === undefined\n )\n {\n this.config.partialIntervalIndicator.show = true;\n }\n\n if (Array.isArray(results)) {\n const timeframes = results.map(resultItem => resultItem.query.timeframe);\n timeframes.forEach(resultTimeframe => {\n let foundDifferent = timeframes.find(timeframeItem =>\n JSON.stringify(timeframeItem) !== JSON.stringify(resultTimeframe)\n );\n if (foundDifferent){\n const msg = 'Timeframes of the queries should be the same';\n console.error(msg);\n throw msg;\n }\n });\n // first result is important to prepare X on the chart\n return datavizInstance\n .data(results[0])\n .call(() => {\n const getLabel = (input) => {\n return `${input.query.event_collection} ${input.query.analysis_type}`;\n }\n let label = getLabel(results[0]);\n if (datavizInstance.config.labelMapping[label]) {\n label = datavizInstance.config.labelMapping[label];\n }\n this.dataset.deleteColumn(1);\n let firstResultPassed = false;\n for (let result of results) {\n label = getLabel(result);;\n let ds2 = Dataset.parser('interval')(result);\n datavizInstance.dataset.appendColumn(label, ds2.selectColumn(1).slice(1));\n }\n })\n .render();\n }\n\n return datavizInstance.data(results).render();\n }\n if (\n (!!this.config.labelMapping && Object.keys(this.config.labelMapping).length > 0)\n ||\n (!!this.config.labelMappingRegExp && this.config.labelMappingRegExp.length > 0)\n ){\n mapLabels(datavizInstance);\n }\n if (!!this.config.labels && Object.keys(this.config.labels).length > 0){\n setLabels(datavizInstance);\n }\n if (!!this.config.sortGroups) {\n sortGroups(datavizInstance);\n }\n if (!!this.config.sortIntervals) {\n sortIntervals(datavizInstance);\n }\n\n const loader = Dataviz.libraries.default.spinner;\n const library = this.config.library;\n const type = this.config.type;\n const containerElement = this.el();\n\n if (!containerElement || containerElement === undefined) {\n const msg = `${this.config.container} not found. A DOM parent element is required to mount the chart.`;\n console.error(msg);\n throw msg;\n return;\n }\n\n let returnValue = datavizInstance;\n\n if (datavizInstance.config.renderAsPromise) {\n returnValue = new Promise((resolve, reject) => {\n const customCallback = this.config.onrendered;\n datavizInstance.config.onrendered = () => {\n if (customCallback) {\n customCallback();\n }\n resolve(datavizInstance);\n }\n });\n }\n\n domReady(function(){\n if (datavizInstance.view._prepared && loader.destroy) {\n loader.destroy.apply(datavizInstance, arguments);\n }\n containerElement.innerHTML = '';\n\n if (Dataviz.libraries[library] === 'undefined'){\n // Error: Unregistered library\n const msg = `Incorrect library`;\n datavizInstance.message(msg);\n throw msg;\n return;\n }\n else {\n if (typeof Dataviz.libraries[library][type] === 'undefined') {\n const msg = `Incorrect chart type`;\n const mappedMsg = this.config.errorMapping[msg] || msg;\n datavizInstance.message(mappedMsg);\n throw msg;\n return;\n }\n else {\n buildDomWrapper(containerElement,\n datavizInstance.config\n );\n const { renderOnVisible } = datavizInstance.config;\n if(renderOnVisible){\n if(typeof IntersectionObserver !== 'undefined'){\n const chartVisibleCallback = (events, observer) => {\n events.forEach(el => {\n if(el.isIntersecting){\n if(!datavizInstance.view._rendered){\n Dataviz.libraries[library][type].render.call(datavizInstance);\n datavizInstance.view._rendered = true;\n }\n }\n })\n }\n const observer = new IntersectionObserver(chartVisibleCallback);\n observer.observe(containerElement);\n return;\n }\n }\n if(datavizInstance.config.firstVisibilityState === 'hidden'){\n if(typeof document !== 'undefined') {\n let hidden, visibilityChange;\n if (typeof document.hidden !== \"undefined\") {\n hidden = \"hidden\";\n visibilityChange = \"visibilitychange\";\n } else if (typeof document.msHidden !== \"undefined\") {\n hidden = \"msHidden\";\n visibilityChange = \"msvisibilitychange\";\n } else if (typeof document.webkitHidden !== \"undefined\") {\n hidden = \"webkitHidden\";\n visibilityChange = \"webkitvisibilitychange\";\n }\n const handleVisibilityChange = () => {\n if(!document[hidden]) {\n datavizInstance.view._artifacts.c3.load(datavizInstance.dataset.matrix);\n }\n }\n if(typeof document.addEventListener !== \"undefined\" ||\n hidden !== undefined){\n document.addEventListener(visibilityChange, handleVisibilityChange, {\n once: true\n });\n }\n }\n }\n Dataviz.libraries[library][type].render.call(datavizInstance);\n datavizInstance.view._rendered = true;\n }\n }\n });\n\n return returnValue;\n};\n\nDataviz.prototype.sortGroups = function(str){\n if (this.config.showDeprecationWarnings) {\n console.log('.sortGroups() is deprecated. Use: new KeenDataviz({ sortGroups: _your_value_here_ })');\n }\n if (!arguments.length) return this.config.sortGroups;\n this.config.sortGroups = (str ? String(str) : null);\n\n sortGroups(this, str);\n\n return this;\n};\n\nfunction sortGroups(datavizInstance){\n // Sort groups\n if (datavizInstance.config.sortGroups && datavizInstance.data().length > 1) {\n if (isDateString(datavizInstance.data()[1][0])) {\n datavizInstance.dataset.sortColumns(datavizInstance.config.sortGroups, datavizInstance.dataset.getColumnSum);\n }\n else {\n datavizInstance.dataset.sortRows(datavizInstance.config.sortGroups, datavizInstance.dataset.getRowSum);\n }\n }\n}\n\nDataviz.prototype.sortIntervals = function(str){\n if (this.config.showDeprecationWarnings) {\n console.log('.sortIntervals() is deprecated. Use: new KeenDataviz({ sortIntervals: _your_value_here_ })');\n }\n if (!arguments.length) return this.config.sortIntervals;\n this.config.sortIntervals = (str ? String(str) : null);\n\n sortIntervals(this);\n\n return this;\n};\n\nfunction sortIntervals(datavizInstance){\n if (datavizInstance.config.sortIntervals) {\n datavizInstance.dataset.sortRows(datavizInstance.config.sortIntervals);\n }\n}\n\nDataviz.prototype.stacked = function(bool){\n if (this.config.showDeprecationWarnings) {\n console.log('.stacked() is deprecated. Use: new KeenDataviz({ stacked: _your_value_here_ })');\n }\n if (!arguments.length) return this.config.stacked;\n this.config.stacked = bool ? true : false;\n return this;\n};\n\nDataviz.prototype.theme = function(str){\n if (this.config.showDeprecationWarnings) {\n console.log('.theme() is deprecated. Use: new KeenDataviz({ theme: _your_value_here_ })');\n }\n if (!arguments.length) return this.config.theme;\n this.config.theme = (str ? String(str) : null);\n return this;\n};\n\nDataviz.prototype.title = function(str){\n if (this.config.showDeprecationWarnings) {\n console.log('.title() is deprecated. Use: new KeenDataviz({ title: _your_value_here_ })');\n }\n if (!arguments.length) return this.config.title;\n this.config.title = (str ? String(str) : null);\n return this;\n};\n\nDataviz.prototype.type = function(str){\n if (this.config.showDeprecationWarnings) {\n console.log('.type() is deprecated. Use: new KeenDataviz({ type: _your_value_here_ })');\n }\n if (!arguments.length) return this.config.type;\n this.config.type = (str ? convertChartTypes(str) : null);\n return this;\n};\n\nDataviz.prototype.update = function(){\n const library = this.config.library;\n const type = this.config.type;\n const element = this.el();\n if (library && type && element && Dataviz.libraries[library][type].update) {\n Dataviz.libraries[library][type].update.apply(this, arguments);\n }\n return this;\n};\n\nDataviz.prototype.width = function(num){\n if (this.config.showDeprecationWarnings) {\n console.log('.width() is deprecated - use CSS classes');\n }\n return this;\n};\n\n// Deprecations\nDataviz.prototype.chartType = Dataviz.prototype.type;\nDataviz.prototype.error = Dataviz.prototype.message;\nDataviz.prototype.parseRawData = Dataviz.prototype.data;\nDataviz.prototype.parseRequest = function(){\n // this.emit('error', 'This method is no longer supported. Use .data() instead: https://github.com/keen/keen-dataviz.js#data');\n return this;\n};\nDataviz.prototype.initialize = function(){\n // this.emit('error', 'This method is no longer supported, and can be omitted as it has no impact');\n return this;\n};\n\nDataviz.version = pkg.version;\n\n// Private\n\nfunction buildDomWrapper(el, options) {\n let html = '';\n let chart100percentWide = '';\n if (options.legend.position === 'top' || options.legend.position === 'bottom') {\n chart100percentWide = 'c3-chart-100-percent';\n }\n\n let container = `
`;\n let align = 'horizontal';\n if (options.legend.position === 'left' || options.legend.position === 'right') {\n align = 'vertical';\n }\n if (options.legend && options.legend.show) {\n if (options.legend.position === 'top' || options.legend.position === 'left') {\n container = `
${container}`;\n } else {\n container = `${container}
`;\n }\n }\n html += `
`;\n if (options.title && options.showTitle) {\n html += `
${options.title}
`;\n }\n html += `
${container}
`;\n if (options.notes) {\n html += `
${options.notes}
`;\n }\n html += `
`;\n el.innerHTML = html;\n}\n\nfunction convertChartTypes(str) {\n const map = {\n areachart: 'area',\n barchart: 'horizontal-bar',\n columnchart: 'bar',\n linechart: 'line',\n piechart: 'pie',\n };\n return map[str] || str;\n}\n\nfunction testDom(fn) {\n if (/in/.test(document.readyState)) {\n setTimeout(function(){\n testDom(fn);\n }, 9);\n } else {\n fn();\n }\n}\n\nfunction domReady(fn) {\n if (typeof document !== 'undefined' || typeof window === 'undefined') {\n fn();\n return;\n }\n // Firefox 3.5 shim\n if (document.readyState == null && document.addEventListener) {\n document.addEventListener('DOMContentLoaded', function DOMContentLoaded() {\n document.removeEventListener('DOMContentLoaded', DOMContentLoaded, false);\n document.readyState = 'complete';\n }, false);\n document.readyState = 'loading';\n }\n testDom(fn);\n}\n\nexport { Dataset } from './dataset';\n\nexport default Dataviz;\n","var g;\r\n\r\n// This works in non-strict mode\r\ng = (function() {\r\n\treturn this;\r\n})();\r\n\r\ntry {\r\n\t// This works if eval is allowed (see CSP)\r\n\tg = g || Function(\"return this\")() || (1, eval)(\"this\");\r\n} catch (e) {\r\n\t// This works if the window reference is available\r\n\tif (typeof window === \"object\") g = window;\r\n}\r\n\r\n// g can still be undefined, but nothing to do about it...\r\n// We return undefined, instead of nothing here, so it's\r\n// easier to handle this case. if(!global) { ...}\r\n\r\nmodule.exports = g;\r\n","import { Dataviz, Dataset } from './index';\n\nconst env = typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : typeof window !== 'undefined' ? window : {};\n\nexport const extendKeenGlobalObject = function(env) {\n env.KeenDataviz = Dataviz;\n env.KeenDataset = Dataset;\n\n // just for backward compatibility\n env.Keen = env.Keen || {};\n env.Keen.Dataset = Dataset;\n env.Keen.Dataviz = Dataviz;\n};\n\nif (typeof KEEN_GLOBAL_OBJECT !== 'undefined'\n && KEEN_GLOBAL_OBJECT) {\n extendKeenGlobalObject(env);\n}\n\nexport let keenGlobals = undefined;\nif (typeof webpackKeenGlobals !== 'undefined') {\n keenGlobals = webpackKeenGlobals;\n}\n\nexport { Dataviz, Dataset } from './index';\nexport default Dataviz;\n"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/external_d3_c3/keen-dataviz.min.css b/dist/external_d3_c3/keen-dataviz.min.css index cd1e0a1..f565c64 100644 --- a/dist/external_d3_c3/keen-dataviz.min.css +++ b/dist/external_d3_c3/keen-dataviz.min.css @@ -1 +1 @@ -.keen-dataviz{box-sizing:border-box;font-family:Gotham Rounded SSm A,Gotham Rounded SSm B,Helvetica Neue,Helvetica,Arial,sans-serif;height:100%}.keen-dataviz .partial-interval-indicator{fill:#bdbdbd}.keen-dataviz .axis{shape-rendering:crispEdges}.keen-dataviz-title{color:#4d4d4d;padding-bottom:.8em}.keen-dataviz-stage{display:block}.keen-dataviz-notes{color:gray;display:block;font-size:.8em}.keen-dataviz-box{border-radius:4px;text-align:center;display:flex;align-items:center;flex-flow:row;justify-content:center;flex-direction:column;padding:1em 0;min-height:4em;height:inherit}.keen-dataviz .metric-comparison{flex-direction:column-reverse;color:#1a1a1a;background:#f9f9f9}.keen-dataviz-metric{height:inherit;color:#fff;background:#00bbde}.keen-dataviz-metric-value{font-size:4.3em;font-weight:700;width:100%}.keen-dataviz-metric-value-smaller{font-size:3em}.keen-dataviz-metric-title{font-size:2em;font-weight:200;width:100%}.keen-dataviz-metric-green{color:#73d483;font-size:2em}.keen-dataviz-metric-red{color:#fe6672;font-size:2em}.keen-dataviz .arrow-green{border-bottom:8px solid #73d483;top:.7em}.keen-dataviz .arrow-green,.keen-dataviz .arrow-red{width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;position:relative;left:-.6em}.keen-dataviz .arrow-red{border-top:8px solid #fe6672;top:.8em}.keen-dataviz-message{color:gray;font-size:1.5em;width:100%}.keen-dataviz-table{border-bottom:1px solid #e7e7e7;box-sizing:border-box;overflow:scroll;position:relative;width:100%}.keen-dataviz-table table{background:#fff;border-collapse:collapse;margin:0;position:relative;width:100%}.keen-dataviz-table table .table-pagination:hover td,.keen-dataviz-table table .table-pagination td{background-color:#fff}.keen-dataviz-table table .table-pagination a{border:1px solid #e7e7e7;padding:.5em;margin-right:.2em;cursor:pointer}.keen-dataviz-table table .table-pagination .active{background:#4d4d4d;color:#fff}.keen-dataviz-table table .table-pagination .arrow{font-weight:700}.keen-dataviz-table th{background:#fff;position:sticky;top:0;z-index:1;cursor:pointer}.keen-dataviz-table td,.keen-dataviz-table th{border-collapse:collapse;font-size:1em;padding:.7em;text-align:left;white-space:nowrap}.keen-dataviz-table th{border-bottom:1px solid #e7e7e7;color:#4d4d4d}.keen-dataviz-table td{background-color:#fff;color:#4d4d4d;transition:background-color .1s,color .05s}.keen-dataviz-table .table-data-row:nth-child(2n) td{background-color:#f3f5f6}.keen-dataviz-table .table-data-row:hover td{background-color:#e7e7e7;color:#4d4d4d}.keen-dataviz-table .keen-dataviz-table-fixed-header{background:#fff;border-bottom:1px solid rgba(0,0,0,.15);position:absolute;top:0;transition:top .1s}.keen-dataviz .keen-spinner-indicator{border-radius:100%;border:3px solid rgba(0,0,0,.1);border-top-color:rgba(0,0,0,.45);box-sizing:border-box;height:3em;width:3em;animation:a .7s linear infinite;-ms-animation:a .7s linear infinite;-o-animation:a .7s linear infinite}@keyframes a{to{transform:rotate(1turn)}}.keen-dataviz .c3-axis-y .tick line,.keen-dataviz .c3-axis-y path{display:none}.keen-dataviz .tick line,.keen-dataviz path.domain{stroke-opacity:.2}.keen-dataviz .c3-ygrid{stroke-dasharray:none;stroke-opacity:.1}.keen-dataviz .c3-ygrids :nth-child(2n){display:none}.keen-dataviz .c3-tooltip{border:1px solid rgba(0,0,0,.1);padding:.2em;border-radius:.2em;box-shadow:none;border-collapse:separate}.keen-dataviz .c3-tooltip th{text-align:center}.keen-dataviz .c3-tooltip table,.keen-dataviz .c3-tooltip td,.keen-dataviz .c3-tooltip th,.keen-dataviz .c3-tooltip tr{border:none;background:none;font-size:.9em}.keen-dataviz .c3-tooltip-container th{max-width:50%;word-wrap:break-word;color:#1a1a1a;background:none;font-weight:400}.keen-dataviz .c3-tooltip-container td{max-width:50%;word-wrap:break-word}.keen-dataviz-rendering{display:flex;justify-content:center;flex-flow:row;justify-content:space-around}.keen-dataviz-rendering .c3-chart{display:flex;align-self:center;order:1}.keen-dataviz-rendering .c3-chart-100-percent{width:100%;align-self:center}.keen-dataviz-rendering-horizontal{flex-wrap:wrap}.keen-c3-legend{display:flex;position:relative;top:0;box-sizing:border-box}.keen-c3-legend-horizontal{align-self:flex-end;display:flex;flex-direction:row;justify-content:center;width:100%;padding:.5em 0}.keen-c3-legend-horizontal-pagination-left{order:0;display:flex;margin-right:1.5em}.keen-c3-legend-horizontal-items{order:1}.keen-c3-legend-horizontal-pagination-right{order:2;display:flex;margin-left:1.5em}.keen-c3-legend-top{order:0}.keen-c3-legend-bottom{order:2}.keen-c3-legend-bottom .keen-c3-legend-label-overlay{top:0;margin-top:-2.7em}.keen-c3-legend-bottom .keen-c3-legend-label-overlay .overlay-pointer{top:2.4em;transform:rotate(180deg);border-color:transparent transparent #f0f0f0}.keen-c3-legend-vertical{flex-direction:column}.keen-c3-legend-vertical .keen-c3-legend-pagination-icons{margin:.5em .1em;order:2}.keen-c3-legend-left{order:0}.keen-c3-legend-right{order:2}.keen-c3-legend-items{order:1}.keen-c3-legend-vertical-items{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:flex-start;align-content:flex-start}.keen-c3-legend-vertical-items .legend-item{width:8em}.keen-c3-legend-horizontal-items{display:flex;flex-direction:row}.keen-c3-legend-horizontal-items .legend-item{width:6em;margin:0 .25em}.keen-c3-legend .legend-item{display:flex;cursor:pointer;overflow:hidden;padding:.2em;white-space:nowrap;text-overflow:ellipsis;font-size:.8em}.keen-c3-legend .legend-item>*{vertical-align:middle}.keen-c3-legend .legend-item-color-sample{display:inline-block;width:1em;height:100%;margin-right:.5em;pointer-events:none;flex:none}.keen-c3-legend .legend-item-text{pointer-events:none}.keen-c3-legend-label-overlay .overlay-pointer{border-color:transparent transparent #fff;border-style:solid;border-width:0 10px 10px;height:0;width:0;position:absolute;top:-10px}.keen-c3-legend-position-left .overlay-pointer,.keen-c3-legend-position-right .overlay-pointer{left:0}.keen-c3-legend-pagination-vertical{margin-top:.5em}.keen-c3-legend-pagination-icons{padding:.2em}.keen-c3-legend-pagination-icons i{border-left:1em solid transparent;border-right:1em solid transparent;border-top:1.5em solid #4d4d4d;display:inline-block;padding:0;float:left;cursor:pointer;font-size:.5em}.keen-c3-legend-pagination-icons .right{transform:rotate(-90deg);-webkit-transform:rotate(-90deg)}.keen-c3-legend-pagination-icons .left{transform:rotate(90deg);-webkit-transform:rotate(90deg)}.keen-c3-legend-pagination-icons .up{transform:rotate(-180deg);-webkit-transform:rotate(-180deg);margin-top:.1em}.keen-c3-legend-pagination-icons .down{margin-right:.1em}.keen-c3-legend-label-overlay{font-size:1em;background:hsla(0,0%,100%,.9);box-shadow:0 1px 1px rgba(26,26,26,.09999999999999998);padding:.6em;margin-top:1.5em;position:absolute;word-wrap:break-word;pointer-events:none;z-index:2} \ No newline at end of file +.keen-dataviz{box-sizing:border-box;font-family:Gotham Rounded SSm A,Gotham Rounded SSm B,Helvetica Neue,Helvetica,Arial,sans-serif;height:100%}.keen-dataviz .partial-interval-indicator{fill:#bdbdbd}.keen-dataviz .axis{shape-rendering:crispEdges}.keen-dataviz-title{color:#4d4d4d;padding-bottom:.8em}.keen-dataviz-stage{display:block}.keen-dataviz-notes{color:gray;display:block;font-size:.8em}.keen-dataviz-box{border-radius:4px;text-align:center;display:flex;align-items:center;flex-flow:row;justify-content:center;flex-direction:column;padding:1em 0;min-height:4em;height:inherit}.keen-dataviz .metric-comparison{flex-direction:column-reverse;color:#1a1a1a;background:#f9f9f9}.keen-dataviz-metric{height:inherit;color:#fff;background:#00bbde}.keen-dataviz-metric-value{font-size:4.3em;font-weight:700;width:100%}.keen-dataviz-metric-value-smaller{font-size:3em}.keen-dataviz-metric-title{font-size:2em;font-weight:200;width:100%}.keen-dataviz-metric-green{color:#73d483;font-size:2em}.keen-dataviz-metric-red{color:#fe6672;font-size:2em}.keen-dataviz .arrow-green{border-bottom:8px solid #73d483;top:.7em}.keen-dataviz .arrow-green,.keen-dataviz .arrow-red{width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;position:relative;left:-.6em}.keen-dataviz .arrow-red{border-top:8px solid #fe6672;top:.8em}.keen-dataviz-message{color:gray;font-size:1.5em;width:100%}.keen-dataviz .text-label{fill:#1a1a1a}.keen-dataviz .text-main{fill:#fff;font-size:1.5em}.keen-dataviz .text-second{fill:#fff}.keen-dataviz .chart-lines{stroke:#e7e7e7}.keen-dataviz-table{border-bottom:1px solid #e7e7e7;box-sizing:border-box;overflow:scroll;position:relative;width:100%}.keen-dataviz-table table{background:#fff;border-collapse:collapse;margin:0;position:relative;width:100%}.keen-dataviz-table table .table-pagination:hover td,.keen-dataviz-table table .table-pagination td{background-color:#fff}.keen-dataviz-table table .table-pagination a{border:1px solid #e7e7e7;padding:.5em;margin-right:.2em;cursor:pointer}.keen-dataviz-table table .table-pagination .active{background:#4d4d4d;color:#fff}.keen-dataviz-table table .table-pagination .arrow{font-weight:700}.keen-dataviz-table th{background:#fff;position:sticky;top:0;z-index:1;cursor:pointer}.keen-dataviz-table td,.keen-dataviz-table th{border-collapse:collapse;font-size:1em;padding:.7em;text-align:left;white-space:nowrap}.keen-dataviz-table th{border-bottom:1px solid #e7e7e7;color:#4d4d4d}.keen-dataviz-table td{background-color:#fff;color:#4d4d4d;transition:background-color .1s,color .05s}.keen-dataviz-table .table-data-row:nth-child(2n) td{background-color:#f3f5f6}.keen-dataviz-table .table-data-row:hover td{background-color:#e7e7e7;color:#4d4d4d}.keen-dataviz-table .keen-dataviz-table-fixed-header{background:#fff;border-bottom:1px solid rgba(0,0,0,.15);position:absolute;top:0;transition:top .1s}.keen-dataviz .keen-spinner-indicator{border-radius:100%;border:3px solid rgba(0,0,0,.1);border-top-color:rgba(0,0,0,.45);box-sizing:border-box;height:3em;width:3em;animation:a .7s linear infinite;-ms-animation:a .7s linear infinite;-o-animation:a .7s linear infinite}@keyframes a{to{transform:rotate(1turn)}}.keen-dataviz .c3-axis-y .tick line,.keen-dataviz .c3-axis-y path{display:none}.keen-dataviz .tick line,.keen-dataviz path.domain{stroke-opacity:.2}.keen-dataviz .c3-ygrid{stroke-dasharray:none;stroke-opacity:.1}.keen-dataviz .c3-ygrids :nth-child(2n){display:none}.keen-dataviz .c3-tooltip{border:1px solid rgba(0,0,0,.1);padding:.2em;border-radius:.2em;box-shadow:none;border-collapse:separate}.keen-dataviz .c3-tooltip th{text-align:center}.keen-dataviz .c3-tooltip table,.keen-dataviz .c3-tooltip td,.keen-dataviz .c3-tooltip th,.keen-dataviz .c3-tooltip tr{border:none;background:none;font-size:.9em}.keen-dataviz .c3-tooltip-container th{max-width:50%;word-wrap:break-word;color:#1a1a1a;background:none;font-weight:400}.keen-dataviz .c3-tooltip-container td{max-width:50%;word-wrap:break-word}.keen-dataviz-rendering{display:flex;justify-content:center;flex-flow:row;justify-content:space-around}.keen-dataviz-rendering .c3-chart{display:flex;align-self:center;order:1}.keen-dataviz-rendering .c3-chart-100-percent{width:100%;align-self:center}.keen-dataviz-rendering-horizontal{flex-wrap:wrap}.keen-c3-legend{display:flex;position:relative;top:0;box-sizing:border-box}.keen-c3-legend-horizontal{align-self:flex-end;display:flex;flex-direction:row;justify-content:center;width:100%;padding:.5em 0}.keen-c3-legend-horizontal-pagination-left{order:0;display:flex;margin-right:1.5em}.keen-c3-legend-horizontal-items{order:1}.keen-c3-legend-horizontal-pagination-right{order:2;display:flex;margin-left:1.5em}.keen-c3-legend-top{order:0}.keen-c3-legend-bottom{order:2}.keen-c3-legend-bottom .keen-c3-legend-label-overlay{top:0;margin-top:-2.7em}.keen-c3-legend-bottom .keen-c3-legend-label-overlay .overlay-pointer{top:2.4em;transform:rotate(180deg);border-color:transparent transparent #f0f0f0}.keen-c3-legend-vertical{flex-direction:column}.keen-c3-legend-vertical .keen-c3-legend-pagination-icons{margin:.5em .1em;order:2}.keen-c3-legend-left{order:0}.keen-c3-legend-right{order:2}.keen-c3-legend-items{order:1}.keen-c3-legend-vertical-items{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:flex-start;align-content:flex-start}.keen-c3-legend-vertical-items .legend-item{width:8em}.keen-c3-legend-horizontal-items{display:flex;flex-direction:row}.keen-c3-legend-horizontal-items .legend-item{width:6em;margin:0 .25em}.keen-c3-legend .legend-item{display:flex;cursor:pointer;overflow:hidden;padding:.2em;white-space:nowrap;text-overflow:ellipsis;font-size:.8em}.keen-c3-legend .legend-item>*{vertical-align:middle}.keen-c3-legend .legend-item-color-sample{display:inline-block;width:1em;height:100%;margin-right:.5em;pointer-events:none;flex:none}.keen-c3-legend .legend-item-text{pointer-events:none}.keen-c3-legend-label-overlay .overlay-pointer{border-color:transparent transparent #fff;border-style:solid;border-width:0 10px 10px;height:0;width:0;position:absolute;top:-10px}.keen-c3-legend-position-left .overlay-pointer,.keen-c3-legend-position-right .overlay-pointer{left:0}.keen-c3-legend-pagination-vertical{margin-top:.5em}.keen-c3-legend-pagination-icons{padding:.2em}.keen-c3-legend-pagination-icons i{border-left:1em solid transparent;border-right:1em solid transparent;border-top:1.5em solid #4d4d4d;display:inline-block;padding:0;float:left;cursor:pointer;font-size:.5em}.keen-c3-legend-pagination-icons .right{transform:rotate(-90deg);-webkit-transform:rotate(-90deg)}.keen-c3-legend-pagination-icons .left{transform:rotate(90deg);-webkit-transform:rotate(90deg)}.keen-c3-legend-pagination-icons .up{transform:rotate(-180deg);-webkit-transform:rotate(-180deg);margin-top:.1em}.keen-c3-legend-pagination-icons .down{margin-right:.1em}.keen-c3-legend-label-overlay{font-size:1em;background:hsla(0,0%,100%,.9);box-shadow:0 1px 1px rgba(26,26,26,.09999999999999998);padding:.6em;margin-top:1.5em;position:absolute;word-wrap:break-word;pointer-events:none;z-index:2} \ No newline at end of file diff --git a/dist/external_d3_c3/keen-dataviz.min.js b/dist/external_d3_c3/keen-dataviz.min.js index 43f9d36..5a63033 100644 --- a/dist/external_d3_c3/keen-dataviz.min.js +++ b/dist/external_d3_c3/keen-dataviz.min.js @@ -1,4 +1,4 @@ -!function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t(require("c3"),require("d3"));else if("function"==typeof define&&define.amd)define(["c3","d3"],t);else{var a="object"==typeof exports?t(require("c3"),require("d3")):t(e.c3,e.d3);for(var n in a)("object"==typeof exports?exports:e)[n]=a[n]}}(window,function(e,t){return function(e){var t={};function a(n){if(t[n])return t[n].exports;var c=t[n]={i:n,l:!1,exports:{}};return e[n].call(c.exports,c,c.exports,a),c.l=!0,c.exports}return a.m=e,a.c=t,a.d=function(e,t,n){a.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:n})},a.r=function(e){Object.defineProperty(e,"__esModule",{value:!0})},a.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return a.d(t,"a",t),t},a.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},a.p="",a(a.s=163)}([function(e,t,a){(function(e){e.exports=function(){"use strict";var t,n;function c(){return t.apply(null,arguments)}function i(e){return e instanceof Array||"[object Array]"===Object.prototype.toString.call(e)}function o(e){return null!=e&&"[object Object]"===Object.prototype.toString.call(e)}function s(e){return void 0===e}function r(e){return"number"==typeof e||"[object Number]"===Object.prototype.toString.call(e)}function M(e){return e instanceof Date||"[object Date]"===Object.prototype.toString.call(e)}function d(e,t){var a,n=[];for(a=0;a>>0,n=0;n0)for(a=0;a=0;return(i?a?"+":"":"-")+Math.pow(10,Math.max(0,c)).toString().substr(1)+n}var x=/(\[[^\[]*\])|(\\)?([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,C=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,P={},R={};function F(e,t,a,n){var c=n;"string"==typeof n&&(c=function(){return this[n]()}),e&&(R[e]=c),t&&(R[t[0]]=function(){return j(c.apply(this,arguments),t[1],t[2])}),a&&(R[a]=function(){return this.localeData().ordinal(c.apply(this,arguments),e)})}function I(e,t){return e.isValid()?(t=U(t,e.localeData()),P[t]=P[t]||function(e){var t,a,n,c=e.match(x);for(t=0,a=c.length;t=0&&C.test(e);)e=e.replace(C,n),C.lastIndex=0,a-=1;return e}var J=/\d/,G=/\d\d/,K=/\d{3}/,V=/\d{4}/,Q=/[+-]?\d{6}/,Z=/\d\d?/,$=/\d\d\d\d?/,ee=/\d\d\d\d\d\d?/,te=/\d{1,3}/,ae=/\d{1,4}/,ne=/[+-]?\d{1,6}/,ce=/\d+/,ie=/[+-]?\d+/,oe=/Z|[+-]\d\d:?\d\d/gi,se=/Z|[+-]\d\d(?::?\d\d)?/gi,re=/[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i,Me={};function de(e,t,a){Me[e]=W(t)?t:function(e,n){return e&&a?a:t}}function ue(e,t){return u(Me,e)?Me[e](t._strict,t._locale):new RegExp(_e(e.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(e,t,a,n,c){return t||a||n||c})))}function _e(e){return e.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}var le={};function pe(e,t){var a,n=t;for("string"==typeof e&&(e=[e]),r(t)&&(n=function(e,a){a[t]=T(e)}),a=0;a68?1900:2e3)};var ke,qe=We("FullYear",!0);function We(e,t){return function(a){return null!=a?(ve(this,e,a),c.updateOffset(this,t),this):Ne(this,e)}}function Ne(e,t){return e.isValid()?e._d["get"+(e._isUTC?"UTC":"")+t]():NaN}function ve(e,t,a){e.isValid()&&!isNaN(a)&&("FullYear"===t&&De(e.year())&&1===e.month()&&29===e.date()?e._d["set"+(e._isUTC?"UTC":"")+t](a,e.month(),we(a,e.month())):e._d["set"+(e._isUTC?"UTC":"")+t](a))}function we(e,t){if(isNaN(e)||isNaN(t))return NaN;var a,n=(t%(a=12)+a)%a;return e+=(t-n)/12,1===n?De(e)?29:28:31-n%7%2}ke=Array.prototype.indexOf?Array.prototype.indexOf:function(e){var t;for(t=0;t=0&&isFinite(t.getUTCFullYear())&&t.setUTCFullYear(e),t}function Re(e,t,a){var n=7+t-a,c=(7+Pe(e,0,n).getUTCDay()-t)%7;return-c+n-1}function Fe(e,t,a,n,c){var i,o,s=(7+a-n)%7,r=Re(e,n,c),M=1+7*(t-1)+s+r;return M<=0?o=ge(i=e-1)+M:M>ge(e)?(i=e+1,o=M-ge(e)):(i=e,o=M),{year:i,dayOfYear:o}}function Ie(e,t,a){var n,c,i=Re(e.year(),t,a),o=Math.floor((e.dayOfYear()-i-1)/7)+1;return o<1?(c=e.year()-1,n=o+Ue(c,t,a)):o>Ue(e.year(),t,a)?(n=o-Ue(e.year(),t,a),c=e.year()+1):(c=e.year(),n=o),{week:n,year:c}}function Ue(e,t,a){var n=Re(e,t,a),c=Re(e+1,t,a);return(ge(e)-n+c)/7}F("w",["ww",2],"wo","week"),F("W",["WW",2],"Wo","isoWeek"),S("week","w"),S("isoWeek","W"),E("week",5),E("isoWeek",5),de("w",Z),de("ww",Z,G),de("W",Z),de("WW",Z,G),me(["w","ww","W","WW"],function(e,t,a,n){t[n.substr(0,1)]=T(e)}),F("d",0,"do","day"),F("dd",0,0,function(e){return this.localeData().weekdaysMin(this,e)}),F("ddd",0,0,function(e){return this.localeData().weekdaysShort(this,e)}),F("dddd",0,0,function(e){return this.localeData().weekdays(this,e)}),F("e",0,0,"weekday"),F("E",0,0,"isoWeekday"),S("day","d"),S("weekday","e"),S("isoWeekday","E"),E("day",11),E("weekday",11),E("isoWeekday",11),de("d",Z),de("e",Z),de("E",Z),de("dd",function(e,t){return t.weekdaysMinRegex(e)}),de("ddd",function(e,t){return t.weekdaysShortRegex(e)}),de("dddd",function(e,t){return t.weekdaysRegex(e)}),me(["dd","ddd","dddd"],function(e,t,a,n){var c=a._locale.weekdaysParse(e,n,a._strict);null!=c?t.d=c:p(a).invalidWeekday=e}),me(["d","e","E"],function(e,t,a,n){t[n]=T(e)});var Je="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),Ge="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),Ke="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),Ve=re,Qe=re,Ze=re;function $e(){function e(e,t){return t.length-e.length}var t,a,n,c,i,o=[],s=[],r=[],M=[];for(t=0;t<7;t++)a=l([2e3,1]).day(t),n=this.weekdaysMin(a,""),c=this.weekdaysShort(a,""),i=this.weekdays(a,""),o.push(n),s.push(c),r.push(i),M.push(n),M.push(c),M.push(i);for(o.sort(e),s.sort(e),r.sort(e),M.sort(e),t=0;t<7;t++)s[t]=_e(s[t]),r[t]=_e(r[t]),M[t]=_e(M[t]);this._weekdaysRegex=new RegExp("^("+M.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+r.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+s.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+o.join("|")+")","i")}function et(){return this.hours()%12||12}function tt(e,t){F(e,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),t)})}function at(e,t){return t._meridiemParse}F("H",["HH",2],0,"hour"),F("h",["hh",2],0,et),F("k",["kk",2],0,function(){return this.hours()||24}),F("hmm",0,0,function(){return""+et.apply(this)+j(this.minutes(),2)}),F("hmmss",0,0,function(){return""+et.apply(this)+j(this.minutes(),2)+j(this.seconds(),2)}),F("Hmm",0,0,function(){return""+this.hours()+j(this.minutes(),2)}),F("Hmmss",0,0,function(){return""+this.hours()+j(this.minutes(),2)+j(this.seconds(),2)}),tt("a",!0),tt("A",!1),S("hour","h"),E("hour",13),de("a",at),de("A",at),de("H",Z),de("h",Z),de("k",Z),de("HH",Z,G),de("hh",Z,G),de("kk",Z,G),de("hmm",$),de("hmmss",ee),de("Hmm",$),de("Hmmss",ee),pe(["H","HH"],ze),pe(["k","kk"],function(e,t,a){var n=T(e);t[ze]=24===n?0:n}),pe(["a","A"],function(e,t,a){a._isPm=a._locale.isPM(e),a._meridiem=e}),pe(["h","hh"],function(e,t,a){t[ze]=T(e),p(a).bigHour=!0}),pe("hmm",function(e,t,a){var n=e.length-2;t[ze]=T(e.substr(0,n)),t[Ae]=T(e.substr(n)),p(a).bigHour=!0}),pe("hmmss",function(e,t,a){var n=e.length-4,c=e.length-2;t[ze]=T(e.substr(0,n)),t[Ae]=T(e.substr(n,2)),t[ye]=T(e.substr(c)),p(a).bigHour=!0}),pe("Hmm",function(e,t,a){var n=e.length-2;t[ze]=T(e.substr(0,n)),t[Ae]=T(e.substr(n))}),pe("Hmmss",function(e,t,a){var n=e.length-4,c=e.length-2;t[ze]=T(e.substr(0,n)),t[Ae]=T(e.substr(n,2)),t[ye]=T(e.substr(c))});var nt,ct=We("Hours",!0),it={calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},longDateFormat:{LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},invalidDate:"Invalid date",ordinal:"%d",dayOfMonthOrdinalParse:/\d{1,2}/,relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},months:Xe,monthsShort:Be,week:{dow:0,doy:6},weekdays:Je,weekdaysMin:Ke,weekdaysShort:Ge,meridiemParse:/[ap]\.?m?\.?/i},ot={},st={};function rt(e){return e?e.toLowerCase().replace("_","-"):e}function Mt(t){var n=null;if(!ot[t]&&void 0!==e&&e&&e.exports)try{n=nt._abbr,a(138)("./"+t),dt(n)}catch(e){}return ot[t]}function dt(e,t){var a;return e&&((a=s(t)?_t(e):ut(e,t))?nt=a:"undefined"!=typeof console&&console.warn&&console.warn("Locale "+e+" not found. Did you forget to load it?")),nt._abbr}function ut(e,t){if(null!==t){var a,n=it;if(t.abbr=e,null!=ot[e])q("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."),n=ot[e]._config;else if(null!=t.parentLocale)if(null!=ot[t.parentLocale])n=ot[t.parentLocale]._config;else{if(null==(a=Mt(t.parentLocale)))return st[t.parentLocale]||(st[t.parentLocale]=[]),st[t.parentLocale].push({name:e,config:t}),null;n=a._config}return ot[e]=new v(N(n,t)),st[e]&&st[e].forEach(function(e){ut(e.name,e.config)}),dt(e),ot[e]}return delete ot[e],null}function _t(e){var t;if(e&&e._locale&&e._locale._abbr&&(e=e._locale._abbr),!e)return nt;if(!i(e)){if(t=Mt(e))return t;e=[e]}return function(e){for(var t,a,n,c,i=0;i0;){if(n=Mt(c.slice(0,t).join("-")))return n;if(a&&a.length>=t&&O(c,a,!0)>=t-1)break;t--}i++}return nt}(e)}function lt(e){var t,a=e._a;return a&&-2===p(e).overflow&&(t=a[fe]<0||a[fe]>11?fe:a[he]<1||a[he]>we(a[be],a[fe])?he:a[ze]<0||a[ze]>24||24===a[ze]&&(0!==a[Ae]||0!==a[ye]||0!==a[Te])?ze:a[Ae]<0||a[Ae]>59?Ae:a[ye]<0||a[ye]>59?ye:a[Te]<0||a[Te]>999?Te:-1,p(e)._overflowDayOfYear&&(the)&&(t=he),p(e)._overflowWeeks&&-1===t&&(t=Oe),p(e)._overflowWeekday&&-1===t&&(t=Ye),p(e).overflow=t),e}function pt(e,t,a){return null!=e?e:null!=t?t:a}function mt(e){var t,a,n,i,o,s=[];if(!e._d){for(n=function(e){var t=new Date(c.now());return e._useUTC?[t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate()]:[t.getFullYear(),t.getMonth(),t.getDate()]}(e),e._w&&null==e._a[he]&&null==e._a[fe]&&function(e){var t,a,n,c,i,o,s,r;if(null!=(t=e._w).GG||null!=t.W||null!=t.E)i=1,o=4,a=pt(t.GG,e._a[be],Ie(Wt(),1,4).year),n=pt(t.W,1),((c=pt(t.E,1))<1||c>7)&&(r=!0);else{i=e._locale._week.dow,o=e._locale._week.doy;var M=Ie(Wt(),i,o);a=pt(t.gg,e._a[be],M.year),n=pt(t.w,M.week),null!=t.d?((c=t.d)<0||c>6)&&(r=!0):null!=t.e?(c=t.e+i,(t.e<0||t.e>6)&&(r=!0)):c=i}n<1||n>Ue(a,i,o)?p(e)._overflowWeeks=!0:null!=r?p(e)._overflowWeekday=!0:(s=Fe(a,n,c,i,o),e._a[be]=s.year,e._dayOfYear=s.dayOfYear)}(e),null!=e._dayOfYear&&(o=pt(e._a[be],n[be]),(e._dayOfYear>ge(o)||0===e._dayOfYear)&&(p(e)._overflowDayOfYear=!0),a=Pe(o,0,e._dayOfYear),e._a[fe]=a.getUTCMonth(),e._a[he]=a.getUTCDate()),t=0;t<3&&null==e._a[t];++t)e._a[t]=s[t]=n[t];for(;t<7;t++)e._a[t]=s[t]=null==e._a[t]?2===t?1:0:e._a[t];24===e._a[ze]&&0===e._a[Ae]&&0===e._a[ye]&&0===e._a[Te]&&(e._nextDay=!0,e._a[ze]=0),e._d=(e._useUTC?Pe:function(e,t,a,n,c,i,o){var s=new Date(e,t,a,n,c,i,o);return e<100&&e>=0&&isFinite(s.getFullYear())&&s.setFullYear(e),s}).apply(null,s),i=e._useUTC?e._d.getUTCDay():e._d.getDay(),null!=e._tzm&&e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm),e._nextDay&&(e._a[ze]=24),e._w&&void 0!==e._w.d&&e._w.d!==i&&(p(e).weekdayMismatch=!0)}}var Lt=/^\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)?)?$/,bt=/^\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)?)?$/,ft=/Z|[+-]\d\d(?::?\d\d)?/,ht=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/]],zt=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],At=/^\/?Date\((\-?\d+)/i;function yt(e){var t,a,n,c,i,o,s=e._i,r=Lt.exec(s)||bt.exec(s);if(r){for(p(e).iso=!0,t=0,a=ht.length;t0&&p(e).unusedInput.push(o),s=s.slice(s.indexOf(a)+a.length),M+=a.length),R[i]?(a?p(e).empty=!1:p(e).unusedTokens.push(i),Le(i,a,e)):e._strict&&!a&&p(e).unusedTokens.push(i);p(e).charsLeftOver=r-M,s.length>0&&p(e).unusedInput.push(s),e._a[ze]<=12&&!0===p(e).bigHour&&e._a[ze]>0&&(p(e).bigHour=void 0),p(e).parsedDateParts=e._a.slice(0),p(e).meridiem=e._meridiem,e._a[ze]=(d=e._locale,u=e._a[ze],null==(_=e._meridiem)?u:null!=d.meridiemHour?d.meridiemHour(u,_):null!=d.isPM?((l=d.isPM(_))&&u<12&&(u+=12),l||12!==u||(u=0),u):u),mt(e),lt(e)}else gt(e);else yt(e);var d,u,_,l}function kt(e){var t=e._i,a=e._f;return e._locale=e._locale||_t(e._l),null===t||void 0===a&&""===t?L({nullInput:!0}):("string"==typeof t&&(e._i=t=e._locale.preparse(t)),A(t)?new z(lt(t)):(M(t)?e._d=t:i(a)?function(e){var t,a,n,c,i;if(0===e._f.length)return p(e).invalidFormat=!0,void(e._d=new Date(NaN));for(c=0;cthis?this:e:L()});function wt(e,t){var a,n;if(1===t.length&&i(t[0])&&(t=t[0]),!t.length)return Wt();for(a=t[0],n=1;ni&&(t=i),function(e,t,a,n,c){var i=Fe(e,t,a,n,c),o=Pe(i.year,0,i.dayOfYear);return this.year(o.getUTCFullYear()),this.month(o.getUTCMonth()),this.date(o.getUTCDate()),this}.call(this,e,t,a,n,c))}F(0,["gg",2],0,function(){return this.weekYear()%100}),F(0,["GG",2],0,function(){return this.isoWeekYear()%100}),na("gggg","weekYear"),na("ggggg","weekYear"),na("GGGG","isoWeekYear"),na("GGGGG","isoWeekYear"),S("weekYear","gg"),S("isoWeekYear","GG"),E("weekYear",1),E("isoWeekYear",1),de("G",ie),de("g",ie),de("GG",Z,G),de("gg",Z,G),de("GGGG",ae,V),de("gggg",ae,V),de("GGGGG",ne,Q),de("ggggg",ne,Q),me(["gggg","ggggg","GGGG","GGGGG"],function(e,t,a,n){t[n.substr(0,2)]=T(e)}),me(["gg","GG"],function(e,t,a,n){t[n]=c.parseTwoDigitYear(e)}),F("Q",0,"Qo","quarter"),S("quarter","Q"),E("quarter",7),de("Q",J),pe("Q",function(e,t){t[fe]=3*(T(e)-1)}),F("D",["DD",2],"Do","date"),S("date","D"),E("date",9),de("D",Z),de("DD",Z,G),de("Do",function(e,t){return e?t._dayOfMonthOrdinalParse||t._ordinalParse:t._dayOfMonthOrdinalParseLenient}),pe(["D","DD"],he),pe("Do",function(e,t){t[he]=T(e.match(Z)[0])});var ia=We("Date",!0);F("DDD",["DDDD",3],"DDDo","dayOfYear"),S("dayOfYear","DDD"),E("dayOfYear",4),de("DDD",te),de("DDDD",K),pe(["DDD","DDDD"],function(e,t,a){a._dayOfYear=T(e)}),F("m",["mm",2],0,"minute"),S("minute","m"),E("minute",14),de("m",Z),de("mm",Z,G),pe(["m","mm"],Ae);var oa=We("Minutes",!1);F("s",["ss",2],0,"second"),S("second","s"),E("second",15),de("s",Z),de("ss",Z,G),pe(["s","ss"],ye);var sa,ra=We("Seconds",!1);for(F("S",0,0,function(){return~~(this.millisecond()/100)}),F(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),F(0,["SSS",3],0,"millisecond"),F(0,["SSSS",4],0,function(){return 10*this.millisecond()}),F(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),F(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),F(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),F(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),F(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),S("millisecond","ms"),E("millisecond",16),de("S",te,J),de("SS",te,G),de("SSS",te,K),sa="SSSS";sa.length<=9;sa+="S")de(sa,ce);function Ma(e,t){t[Te]=T(1e3*("0."+e))}for(sa="S";sa.length<=9;sa+="S")pe(sa,Ma);var da=We("Milliseconds",!1);F("z",0,0,"zoneAbbr"),F("zz",0,0,"zoneName");var ua=z.prototype;function _a(e){return e}ua.add=Qt,ua.calendar=function(e,t){var a=e||Wt(),n=Ct(a,this).startOf("day"),i=c.calendarFormat(this,n)||"sameElse",o=t&&(W(t[i])?t[i].call(this,a):t[i]);return this.format(o||this.localeData().calendar(i,this,Wt(a)))},ua.clone=function(){return new z(this)},ua.diff=function(e,t,a){var n,c,i;if(!this.isValid())return NaN;if(!(n=Ct(e,this)).isValid())return NaN;switch(c=6e4*(n.utcOffset()-this.utcOffset()),t=X(t)){case"year":i=$t(this,n)/12;break;case"month":i=$t(this,n);break;case"quarter":i=$t(this,n)/3;break;case"second":i=(this-n)/1e3;break;case"minute":i=(this-n)/6e4;break;case"hour":i=(this-n)/36e5;break;case"day":i=(this-n-c)/864e5;break;case"week":i=(this-n-c)/6048e5;break;default:i=this-n}return a?i:y(i)},ua.endOf=function(e){return void 0===(e=X(e))||"millisecond"===e?this:("date"===e&&(e="day"),this.startOf(e).add(1,"isoWeek"===e?"week":e).subtract(1,"ms"))},ua.format=function(e){e||(e=this.isUtc()?c.defaultFormatUtc:c.defaultFormat);var t=I(this,e);return this.localeData().postformat(t)},ua.from=function(e,t){return this.isValid()&&(A(e)&&e.isValid()||Wt(e).isValid())?Ut({to:this,from:e}).locale(this.locale()).humanize(!t):this.localeData().invalidDate()},ua.fromNow=function(e){return this.from(Wt(),e)},ua.to=function(e,t){return this.isValid()&&(A(e)&&e.isValid()||Wt(e).isValid())?Ut({from:this,to:e}).locale(this.locale()).humanize(!t):this.localeData().invalidDate()},ua.toNow=function(e){return this.to(Wt(),e)},ua.get=function(e){return W(this[e=X(e)])?this[e]():this},ua.invalidAt=function(){return p(this).overflow},ua.isAfter=function(e,t){var a=A(e)?e:Wt(e);return!(!this.isValid()||!a.isValid())&&("millisecond"===(t=X(s(t)?"millisecond":t))?this.valueOf()>a.valueOf():a.valueOf()9999?I(a,t?"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ"):W(Date.prototype.toISOString)?t?this.toDate().toISOString():new Date(this.valueOf()+60*this.utcOffset()*1e3).toISOString().replace("Z",I(a,"Z")):I(a,t?"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYY-MM-DD[T]HH:mm:ss.SSSZ")},ua.inspect=function(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var e="moment",t="";this.isLocal()||(e=0===this.utcOffset()?"moment.utc":"moment.parseZone",t="Z");var a="["+e+'("]',n=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY",c=t+'[")]';return this.format(a+n+"-MM-DD[T]HH:mm:ss.SSS"+c)},ua.toJSON=function(){return this.isValid()?this.toISOString():null},ua.toString=function(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")},ua.unix=function(){return Math.floor(this.valueOf()/1e3)},ua.valueOf=function(){return this._d.valueOf()-6e4*(this._offset||0)},ua.creationData=function(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}},ua.year=qe,ua.isLeapYear=function(){return De(this.year())},ua.weekYear=function(e){return ca.call(this,e,this.week(),this.weekday(),this.localeData()._week.dow,this.localeData()._week.doy)},ua.isoWeekYear=function(e){return ca.call(this,e,this.isoWeek(),this.isoWeekday(),1,4)},ua.quarter=ua.quarters=function(e){return null==e?Math.ceil((this.month()+1)/3):this.month(3*(e-1)+this.month()%3)},ua.month=Ee,ua.daysInMonth=function(){return we(this.year(),this.month())},ua.week=ua.weeks=function(e){var t=this.localeData().week(this);return null==e?t:this.add(7*(e-t),"d")},ua.isoWeek=ua.isoWeeks=function(e){var t=Ie(this,1,4).week;return null==e?t:this.add(7*(e-t),"d")},ua.weeksInYear=function(){var e=this.localeData()._week;return Ue(this.year(),e.dow,e.doy)},ua.isoWeeksInYear=function(){return Ue(this.year(),1,4)},ua.date=ia,ua.day=ua.days=function(e){if(!this.isValid())return null!=e?this:NaN;var t=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=e?(e=function(e,t){return"string"!=typeof e?e:isNaN(e)?"number"==typeof(e=t.weekdaysParse(e))?e:null:parseInt(e,10)}(e,this.localeData()),this.add(e-t,"d")):t},ua.weekday=function(e){if(!this.isValid())return null!=e?this:NaN;var t=(this.day()+7-this.localeData()._week.dow)%7;return null==e?t:this.add(e-t,"d")},ua.isoWeekday=function(e){if(!this.isValid())return null!=e?this:NaN;if(null!=e){var t=function(e,t){return"string"==typeof e?t.weekdaysParse(e)%7||7:isNaN(e)?null:e}(e,this.localeData());return this.day(this.day()%7?t:t-7)}return this.day()||7},ua.dayOfYear=function(e){var t=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==e?t:this.add(e-t,"d")},ua.hour=ua.hours=ct,ua.minute=ua.minutes=oa,ua.second=ua.seconds=ra,ua.millisecond=ua.milliseconds=da,ua.utcOffset=function(e,t,a){var n,i=this._offset||0;if(!this.isValid())return null!=e?this:NaN;if(null!=e){if("string"==typeof e){if(null===(e=xt(se,e)))return this}else Math.abs(e)<16&&!a&&(e*=60);return!this._isUTC&&t&&(n=Pt(this)),this._offset=e,this._isUTC=!0,null!=n&&this.add(n,"m"),i!==e&&(!t||this._changeInProgress?Vt(this,Ut(e-i,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,c.updateOffset(this,!0),this._changeInProgress=null)),this}return this._isUTC?i:Pt(this)},ua.utc=function(e){return this.utcOffset(0,e)},ua.local=function(e){return this._isUTC&&(this.utcOffset(0,e),this._isUTC=!1,e&&this.subtract(Pt(this),"m")),this},ua.parseZone=function(){if(null!=this._tzm)this.utcOffset(this._tzm,!1,!0);else if("string"==typeof this._i){var e=xt(oe,this._i);null!=e?this.utcOffset(e):this.utcOffset(0,!0)}return this},ua.hasAlignedHourOffset=function(e){return!!this.isValid()&&(e=e?Wt(e).utcOffset():0,(this.utcOffset()-e)%60==0)},ua.isDST=function(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()},ua.isLocal=function(){return!!this.isValid()&&!this._isUTC},ua.isUtcOffset=function(){return!!this.isValid()&&this._isUTC},ua.isUtc=Rt,ua.isUTC=Rt,ua.zoneAbbr=function(){return this._isUTC?"UTC":""},ua.zoneName=function(){return this._isUTC?"Coordinated Universal Time":""},ua.dates=g("dates accessor is deprecated. Use date instead.",ia),ua.months=g("months accessor is deprecated. Use month instead",Ee),ua.years=g("years accessor is deprecated. Use year instead",qe),ua.zone=g("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",function(e,t){return null!=e?("string"!=typeof e&&(e=-e),this.utcOffset(e,t),this):-this.utcOffset()}),ua.isDSTShifted=g("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",function(){if(!s(this._isDSTShifted))return this._isDSTShifted;var e={};if(f(e,this),(e=kt(e))._a){var t=e._isUTC?l(e._a):Wt(e._a);this._isDSTShifted=this.isValid()&&O(e._a,t.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted});var la=v.prototype;function pa(e,t,a,n){var c=_t(),i=l().set(n,t);return c[a](i,e)}function ma(e,t,a){if(r(e)&&(t=e,e=void 0),e=e||"",null!=t)return pa(e,t,a,"month");var n,c=[];for(n=0;n<12;n++)c[n]=pa(e,n,a,"month");return c}function La(e,t,a,n){"boolean"==typeof e?(r(t)&&(a=t,t=void 0),t=t||""):(a=t=e,e=!1,r(t)&&(a=t,t=void 0),t=t||"");var c,i=_t(),o=e?i._week.dow:0;if(null!=a)return pa(t,(a+o)%7,n,"day");var s=[];for(c=0;c<7;c++)s[c]=pa(t,(c+o)%7,n,"day");return s}la.calendar=function(e,t,a){var n=this._calendar[e]||this._calendar.sameElse;return W(n)?n.call(t,a):n},la.longDateFormat=function(e){var t=this._longDateFormat[e],a=this._longDateFormat[e.toUpperCase()];return t||!a?t:(this._longDateFormat[e]=a.replace(/MMMM|MM|DD|dddd/g,function(e){return e.slice(1)}),this._longDateFormat[e])},la.invalidDate=function(){return this._invalidDate},la.ordinal=function(e){return this._ordinal.replace("%d",e)},la.preparse=_a,la.postformat=_a,la.relativeTime=function(e,t,a,n){var c=this._relativeTime[a];return W(c)?c(e,t,a,n):c.replace(/%d/i,e)},la.pastFuture=function(e,t){var a=this._relativeTime[e>0?"future":"past"];return W(a)?a(t):a.replace(/%s/i,t)},la.set=function(e){var t,a;for(a in e)W(t=e[a])?this[a]=t:this["_"+a]=t;this._config=e,this._dayOfMonthOrdinalParseLenient=new RegExp((this._dayOfMonthOrdinalParse.source||this._ordinalParse.source)+"|"+/\d{1,2}/.source)},la.months=function(e,t){return e?i(this._months)?this._months[e.month()]:this._months[(this._months.isFormat||Se).test(t)?"format":"standalone"][e.month()]:i(this._months)?this._months:this._months.standalone},la.monthsShort=function(e,t){return e?i(this._monthsShort)?this._monthsShort[e.month()]:this._monthsShort[Se.test(t)?"format":"standalone"][e.month()]:i(this._monthsShort)?this._monthsShort:this._monthsShort.standalone},la.monthsParse=function(e,t,a){var n,c,i;if(this._monthsParseExact)return function(e,t,a){var n,c,i,o=e.toLocaleLowerCase();if(!this._monthsParse)for(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[],n=0;n<12;++n)i=l([2e3,n]),this._shortMonthsParse[n]=this.monthsShort(i,"").toLocaleLowerCase(),this._longMonthsParse[n]=this.months(i,"").toLocaleLowerCase();return a?"MMM"===t?-1!==(c=ke.call(this._shortMonthsParse,o))?c:null:-1!==(c=ke.call(this._longMonthsParse,o))?c:null:"MMM"===t?-1!==(c=ke.call(this._shortMonthsParse,o))?c:-1!==(c=ke.call(this._longMonthsParse,o))?c:null:-1!==(c=ke.call(this._longMonthsParse,o))?c:-1!==(c=ke.call(this._shortMonthsParse,o))?c:null}.call(this,e,t,a);for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),n=0;n<12;n++){if(c=l([2e3,n]),a&&!this._longMonthsParse[n]&&(this._longMonthsParse[n]=new RegExp("^"+this.months(c,"").replace(".","")+"$","i"),this._shortMonthsParse[n]=new RegExp("^"+this.monthsShort(c,"").replace(".","")+"$","i")),a||this._monthsParse[n]||(i="^"+this.months(c,"")+"|^"+this.monthsShort(c,""),this._monthsParse[n]=new RegExp(i.replace(".",""),"i")),a&&"MMMM"===t&&this._longMonthsParse[n].test(e))return n;if(a&&"MMM"===t&&this._shortMonthsParse[n].test(e))return n;if(!a&&this._monthsParse[n].test(e))return n}},la.monthsRegex=function(e){return this._monthsParseExact?(u(this,"_monthsRegex")||Ce.call(this),e?this._monthsStrictRegex:this._monthsRegex):(u(this,"_monthsRegex")||(this._monthsRegex=xe),this._monthsStrictRegex&&e?this._monthsStrictRegex:this._monthsRegex)},la.monthsShortRegex=function(e){return this._monthsParseExact?(u(this,"_monthsRegex")||Ce.call(this),e?this._monthsShortStrictRegex:this._monthsShortRegex):(u(this,"_monthsShortRegex")||(this._monthsShortRegex=je),this._monthsShortStrictRegex&&e?this._monthsShortStrictRegex:this._monthsShortRegex)},la.week=function(e){return Ie(e,this._week.dow,this._week.doy).week},la.firstDayOfYear=function(){return this._week.doy},la.firstDayOfWeek=function(){return this._week.dow},la.weekdays=function(e,t){return e?i(this._weekdays)?this._weekdays[e.day()]:this._weekdays[this._weekdays.isFormat.test(t)?"format":"standalone"][e.day()]:i(this._weekdays)?this._weekdays:this._weekdays.standalone},la.weekdaysMin=function(e){return e?this._weekdaysMin[e.day()]:this._weekdaysMin},la.weekdaysShort=function(e){return e?this._weekdaysShort[e.day()]:this._weekdaysShort},la.weekdaysParse=function(e,t,a){var n,c,i;if(this._weekdaysParseExact)return function(e,t,a){var n,c,i,o=e.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],n=0;n<7;++n)i=l([2e3,1]).day(n),this._minWeekdaysParse[n]=this.weekdaysMin(i,"").toLocaleLowerCase(),this._shortWeekdaysParse[n]=this.weekdaysShort(i,"").toLocaleLowerCase(),this._weekdaysParse[n]=this.weekdays(i,"").toLocaleLowerCase();return a?"dddd"===t?-1!==(c=ke.call(this._weekdaysParse,o))?c:null:"ddd"===t?-1!==(c=ke.call(this._shortWeekdaysParse,o))?c:null:-1!==(c=ke.call(this._minWeekdaysParse,o))?c:null:"dddd"===t?-1!==(c=ke.call(this._weekdaysParse,o))?c:-1!==(c=ke.call(this._shortWeekdaysParse,o))?c:-1!==(c=ke.call(this._minWeekdaysParse,o))?c:null:"ddd"===t?-1!==(c=ke.call(this._shortWeekdaysParse,o))?c:-1!==(c=ke.call(this._weekdaysParse,o))?c:-1!==(c=ke.call(this._minWeekdaysParse,o))?c:null:-1!==(c=ke.call(this._minWeekdaysParse,o))?c:-1!==(c=ke.call(this._weekdaysParse,o))?c:-1!==(c=ke.call(this._shortWeekdaysParse,o))?c:null}.call(this,e,t,a);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),n=0;n<7;n++){if(c=l([2e3,1]).day(n),a&&!this._fullWeekdaysParse[n]&&(this._fullWeekdaysParse[n]=new RegExp("^"+this.weekdays(c,"").replace(".","\\.?")+"$","i"),this._shortWeekdaysParse[n]=new RegExp("^"+this.weekdaysShort(c,"").replace(".","\\.?")+"$","i"),this._minWeekdaysParse[n]=new RegExp("^"+this.weekdaysMin(c,"").replace(".","\\.?")+"$","i")),this._weekdaysParse[n]||(i="^"+this.weekdays(c,"")+"|^"+this.weekdaysShort(c,"")+"|^"+this.weekdaysMin(c,""),this._weekdaysParse[n]=new RegExp(i.replace(".",""),"i")),a&&"dddd"===t&&this._fullWeekdaysParse[n].test(e))return n;if(a&&"ddd"===t&&this._shortWeekdaysParse[n].test(e))return n;if(a&&"dd"===t&&this._minWeekdaysParse[n].test(e))return n;if(!a&&this._weekdaysParse[n].test(e))return n}},la.weekdaysRegex=function(e){return this._weekdaysParseExact?(u(this,"_weekdaysRegex")||$e.call(this),e?this._weekdaysStrictRegex:this._weekdaysRegex):(u(this,"_weekdaysRegex")||(this._weekdaysRegex=Ve),this._weekdaysStrictRegex&&e?this._weekdaysStrictRegex:this._weekdaysRegex)},la.weekdaysShortRegex=function(e){return this._weekdaysParseExact?(u(this,"_weekdaysRegex")||$e.call(this),e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(u(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=Qe),this._weekdaysShortStrictRegex&&e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)},la.weekdaysMinRegex=function(e){return this._weekdaysParseExact?(u(this,"_weekdaysRegex")||$e.call(this),e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(u(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=Ze),this._weekdaysMinStrictRegex&&e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)},la.isPM=function(e){return"p"===(e+"").toLowerCase().charAt(0)},la.meridiem=function(e,t,a){return e>11?a?"pm":"PM":a?"am":"AM"},dt("en",{dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(e){var t=e%10,a=1===T(e%100/10)?"th":1===t?"st":2===t?"nd":3===t?"rd":"th";return e+a}}),c.lang=g("moment.lang is deprecated. Use moment.locale instead.",dt),c.langData=g("moment.langData is deprecated. Use moment.localeData instead.",_t);var ba=Math.abs;function fa(e,t,a,n){var c=Ut(t,a);return e._milliseconds+=n*c._milliseconds,e._days+=n*c._days,e._months+=n*c._months,e._bubble()}function ha(e){return e<0?Math.floor(e):Math.ceil(e)}function za(e){return 4800*e/146097}function Aa(e){return 146097*e/4800}function ya(e){return function(){return this.as(e)}}var Ta=ya("ms"),Oa=ya("s"),Ya=ya("m"),ga=ya("h"),Da=ya("d"),ka=ya("w"),qa=ya("M"),Wa=ya("y");function Na(e){return function(){return this.isValid()?this._data[e]:NaN}}var va=Na("milliseconds"),wa=Na("seconds"),Sa=Na("minutes"),Xa=Na("hours"),Ba=Na("days"),Ha=Na("months"),Ea=Na("years"),ja=Math.round,xa={ss:44,s:45,m:45,h:22,d:26,M:11},Ca=Math.abs;function Pa(e){return(e>0)-(e<0)||+e}function Ra(){if(!this.isValid())return this.localeData().invalidDate();var e,t,a=Ca(this._milliseconds)/1e3,n=Ca(this._days),c=Ca(this._months);e=y(a/60),t=y(e/60),a%=60,e%=60;var i=y(c/12),o=c%=12,s=n,r=t,M=e,d=a?a.toFixed(3).replace(/\.?0+$/,""):"",u=this.asSeconds();if(!u)return"P0D";var _=u<0?"-":"",l=Pa(this._months)!==Pa(u)?"-":"",p=Pa(this._days)!==Pa(u)?"-":"",m=Pa(this._milliseconds)!==Pa(u)?"-":"";return _+"P"+(i?l+i+"Y":"")+(o?l+o+"M":"")+(s?p+s+"D":"")+(r||M||d?"T":"")+(r?m+r+"H":"")+(M?m+M+"M":"")+(d?m+d+"S":"")}var Fa=Xt.prototype;return Fa.isValid=function(){return this._isValid},Fa.abs=function(){var e=this._data;return this._milliseconds=ba(this._milliseconds),this._days=ba(this._days),this._months=ba(this._months),e.milliseconds=ba(e.milliseconds),e.seconds=ba(e.seconds),e.minutes=ba(e.minutes),e.hours=ba(e.hours),e.months=ba(e.months),e.years=ba(e.years),this},Fa.add=function(e,t){return fa(this,e,t,1)},Fa.subtract=function(e,t){return fa(this,e,t,-1)},Fa.as=function(e){if(!this.isValid())return NaN;var t,a,n=this._milliseconds;if("month"===(e=X(e))||"year"===e)return t=this._days+n/864e5,a=this._months+za(t),"month"===e?a:a/12;switch(t=this._days+Math.round(Aa(this._months)),e){case"week":return t/7+n/6048e5;case"day":return t+n/864e5;case"hour":return 24*t+n/36e5;case"minute":return 1440*t+n/6e4;case"second":return 86400*t+n/1e3;case"millisecond":return Math.floor(864e5*t)+n;default:throw new Error("Unknown unit "+e)}},Fa.asMilliseconds=Ta,Fa.asSeconds=Oa,Fa.asMinutes=Ya,Fa.asHours=ga,Fa.asDays=Da,Fa.asWeeks=ka,Fa.asMonths=qa,Fa.asYears=Wa,Fa.valueOf=function(){return this.isValid()?this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*T(this._months/12):NaN},Fa._bubble=function(){var e,t,a,n,c,i=this._milliseconds,o=this._days,s=this._months,r=this._data;return i>=0&&o>=0&&s>=0||i<=0&&o<=0&&s<=0||(i+=864e5*ha(Aa(s)+o),o=0,s=0),r.milliseconds=i%1e3,e=y(i/1e3),r.seconds=e%60,t=y(e/60),r.minutes=t%60,a=y(t/60),r.hours=a%24,o+=y(a/24),c=y(za(o)),s+=c,o-=ha(Aa(c)),n=y(s/12),s%=12,r.days=o,r.months=s,r.years=n,this},Fa.clone=function(){return Ut(this)},Fa.get=function(e){return e=X(e),this.isValid()?this[e+"s"]():NaN},Fa.milliseconds=va,Fa.seconds=wa,Fa.minutes=Sa,Fa.hours=Xa,Fa.days=Ba,Fa.weeks=function(){return y(this.days()/7)},Fa.months=Ha,Fa.years=Ea,Fa.humanize=function(e){if(!this.isValid())return this.localeData().invalidDate();var t=this.localeData(),a=function(e,t,a){var n=Ut(e).abs(),c=ja(n.as("s")),i=ja(n.as("m")),o=ja(n.as("h")),s=ja(n.as("d")),r=ja(n.as("M")),M=ja(n.as("y")),d=c<=xa.ss&&["s",c]||c0,d[4]=a,function(e,t,a,n,c){return c.relativeTime(t||1,!!a,e,n)}.apply(null,d)}(this,!e,t);return e&&(a=t.pastFuture(+this,a)),t.postformat(a)},Fa.toISOString=Ra,Fa.toString=Ra,Fa.toJSON=Ra,Fa.locale=ea,Fa.localeData=aa,Fa.toIsoString=g("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",Ra),Fa.lang=ta,F("X",0,0,"unix"),F("x",0,0,"valueOf"),de("x",ie),de("X",/[+-]?\d+(\.\d{1,3})?/),pe("X",function(e,t,a){a._d=new Date(1e3*parseFloat(e,10))}),pe("x",function(e,t,a){a._d=new Date(T(e))}),c.version="2.22.2",t=Wt,c.fn=ua,c.min=function(){return wt("isBefore",[].slice.call(arguments,0))},c.max=function(){return wt("isAfter",[].slice.call(arguments,0))},c.now=function(){return Date.now?Date.now():+new Date},c.utc=l,c.unix=function(e){return Wt(1e3*e)},c.months=function(e,t){return ma(e,t,"months")},c.isDate=M,c.locale=dt,c.invalid=L,c.duration=Ut,c.isMoment=A,c.weekdays=function(e,t,a){return La(e,t,a,"weekdays")},c.parseZone=function(){return Wt.apply(null,arguments).parseZone()},c.localeData=_t,c.isDuration=Bt,c.monthsShort=function(e,t){return ma(e,t,"monthsShort")},c.weekdaysMin=function(e,t,a){return La(e,t,a,"weekdaysMin")},c.defineLocale=ut,c.updateLocale=function(e,t){if(null!=t){var a,n,c=it;null!=(n=Mt(e))&&(c=n._config),t=N(c,t),(a=new v(t)).parentLocale=ot[e],ot[e]=a,dt(e)}else null!=ot[e]&&(null!=ot[e].parentLocale?ot[e]=ot[e].parentLocale:null!=ot[e]&&delete ot[e]);return ot[e]},c.locales=function(){return D(ot)},c.weekdaysShort=function(e,t,a){return La(e,t,a,"weekdaysShort")},c.normalizeUnits=X,c.relativeTimeRounding=function(e){return void 0===e?ja:"function"==typeof e&&(ja=e,!0)},c.relativeTimeThreshold=function(e,t){return void 0!==xa[e]&&(void 0===t?xa[e]:(xa[e]=t,"s"===e&&(xa.ss=t-1),!0))},c.calendarFormat=function(e,t){var a=e.diff(t,"days",!0);return a<-6?"sameElse":a<-1?"lastWeek":a<0?"lastDay":a<1?"sameDay":a<2?"nextDay":a<7?"nextWeek":"sameElse"},c.prototype=ua,c.HTML5_FMT={DATETIME_LOCAL:"YYYY-MM-DDTHH:mm",DATETIME_LOCAL_SECONDS:"YYYY-MM-DDTHH:mm:ss",DATETIME_LOCAL_MS:"YYYY-MM-DDTHH:mm:ss.SSS",DATE:"YYYY-MM-DD",TIME:"HH:mm",TIME_SECONDS:"HH:mm:ss",TIME_MS:"HH:mm:ss.SSS",WEEK:"YYYY-[W]WW",MONTH:"YYYY-MM"},c}()}).call(this,a(139)(e))},function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.each=function(e,t,a){var n;if(!e)return 0;if(a=a||e,e instanceof Array){for(n=0;n]/},function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.extend=function(e){for(var t=1;t]+)>)/gi,"")}},function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){for(var t=[],a=0;a0&&(void 0===(c=t.call(a,e,n))&&(c=null),a.matrix[n].push(c))})):(!t||t instanceof Array)&&((t=t||[]).length<=a.matrix.length-1?t=t.concat((0,i.default)(a.matrix.length-1-t.length)):(0,o.each)(t,function(e,n){a.matrix.length-10&&(i=a.selectColumn(n),void 0===(o=t.call(a,i,n))&&(o=null),c.push(o))}),a.matrix.push(c)):(!t||t instanceof Array)&&((t=t||[]).length<=a.matrix[0].length-1?t=t.concat((0,i.default)(a.matrix[0].length-1-t.length)):(0,o.each)(t,function(e,n){a.matrix[0].length-1=11?e:e+12:"下午"===t||"晚上"===t?e+12:void 0},meridiem:function(e,t,a){var n=100*e+t;return n<600?"凌晨":n<900?"早上":n<1130?"上午":n<1230?"中午":n<1800?"下午":"晚上"},calendar:{sameDay:"[今天] LT",nextDay:"[明天] LT",nextWeek:"[下]dddd LT",lastDay:"[昨天] LT",lastWeek:"[上]dddd LT",sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}(日|月|週)/,ordinal:function(e,t){switch(t){case"d":case"D":case"DDD":return e+"日";case"M":return e+"月";case"w":case"W":return e+"週";default:return e}},relativeTime:{future:"%s內",past:"%s前",s:"幾秒",ss:"%d 秒",m:"1 分鐘",mm:"%d 分鐘",h:"1 小時",hh:"%d 小時",d:"1 天",dd:"%d 天",M:"1 個月",MM:"%d 個月",y:"1 年",yy:"%d 年"}})}(a(0))},function(e,t,a){!function(e){"use strict";e.defineLocale("zh-hk",{months:"一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),weekdays:"星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"),weekdaysShort:"週日_週一_週二_週三_週四_週五_週六".split("_"),weekdaysMin:"日_一_二_三_四_五_六".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY年M月D日",LLL:"YYYY年M月D日 HH:mm",LLLL:"YYYY年M月D日dddd HH:mm",l:"YYYY/M/D",ll:"YYYY年M月D日",lll:"YYYY年M月D日 HH:mm",llll:"YYYY年M月D日dddd HH:mm"},meridiemParse:/凌晨|早上|上午|中午|下午|晚上/,meridiemHour:function(e,t){return 12===e&&(e=0),"凌晨"===t||"早上"===t||"上午"===t?e:"中午"===t?e>=11?e:e+12:"下午"===t||"晚上"===t?e+12:void 0},meridiem:function(e,t,a){var n=100*e+t;return n<600?"凌晨":n<900?"早上":n<1130?"上午":n<1230?"中午":n<1800?"下午":"晚上"},calendar:{sameDay:"[今天]LT",nextDay:"[明天]LT",nextWeek:"[下]ddddLT",lastDay:"[昨天]LT",lastWeek:"[上]ddddLT",sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}(日|月|週)/,ordinal:function(e,t){switch(t){case"d":case"D":case"DDD":return e+"日";case"M":return e+"月";case"w":case"W":return e+"週";default:return e}},relativeTime:{future:"%s內",past:"%s前",s:"幾秒",ss:"%d 秒",m:"1 分鐘",mm:"%d 分鐘",h:"1 小時",hh:"%d 小時",d:"1 天",dd:"%d 天",M:"1 個月",MM:"%d 個月",y:"1 年",yy:"%d 年"}})}(a(0))},function(e,t,a){!function(e){"use strict";e.defineLocale("zh-cn",{months:"一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),weekdays:"星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"),weekdaysShort:"周日_周一_周二_周三_周四_周五_周六".split("_"),weekdaysMin:"日_一_二_三_四_五_六".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY年M月D日",LLL:"YYYY年M月D日Ah点mm分",LLLL:"YYYY年M月D日ddddAh点mm分",l:"YYYY/M/D",ll:"YYYY年M月D日",lll:"YYYY年M月D日 HH:mm",llll:"YYYY年M月D日dddd HH:mm"},meridiemParse:/凌晨|早上|上午|中午|下午|晚上/,meridiemHour:function(e,t){return 12===e&&(e=0),"凌晨"===t||"早上"===t||"上午"===t?e:"下午"===t||"晚上"===t?e+12:e>=11?e:e+12},meridiem:function(e,t,a){var n=100*e+t;return n<600?"凌晨":n<900?"早上":n<1130?"上午":n<1230?"中午":n<1800?"下午":"晚上"},calendar:{sameDay:"[今天]LT",nextDay:"[明天]LT",nextWeek:"[下]ddddLT",lastDay:"[昨天]LT",lastWeek:"[上]ddddLT",sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}(日|月|周)/,ordinal:function(e,t){switch(t){case"d":case"D":case"DDD":return e+"日";case"M":return e+"月";case"w":case"W":return e+"周";default:return e}},relativeTime:{future:"%s内",past:"%s前",s:"几秒",ss:"%d 秒",m:"1 分钟",mm:"%d 分钟",h:"1 小时",hh:"%d 小时",d:"1 天",dd:"%d 天",M:"1 个月",MM:"%d 个月",y:"1 年",yy:"%d 年"},week:{dow:1,doy:4}})}(a(0))},function(e,t,a){!function(e){"use strict";e.defineLocale("yo",{months:"Sẹ́rẹ́_Èrèlè_Ẹrẹ̀nà_Ìgbé_Èbibi_Òkùdu_Agẹmo_Ògún_Owewe_Ọ̀wàrà_Bélú_Ọ̀pẹ̀̀".split("_"),monthsShort:"Sẹ́r_Èrl_Ẹrn_Ìgb_Èbi_Òkù_Agẹ_Ògú_Owe_Ọ̀wà_Bél_Ọ̀pẹ̀̀".split("_"),weekdays:"Àìkú_Ajé_Ìsẹ́gun_Ọjọ́rú_Ọjọ́bọ_Ẹtì_Àbámẹ́ta".split("_"),weekdaysShort:"Àìk_Ajé_Ìsẹ́_Ọjr_Ọjb_Ẹtì_Àbá".split("_"),weekdaysMin:"Àì_Aj_Ìs_Ọr_Ọb_Ẹt_Àb".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Ònì ni] LT",nextDay:"[Ọ̀la ni] LT",nextWeek:"dddd [Ọsẹ̀ tón'bọ] [ni] LT",lastDay:"[Àna ni] LT",lastWeek:"dddd [Ọsẹ̀ tólọ́] [ni] LT",sameElse:"L"},relativeTime:{future:"ní %s",past:"%s kọjá",s:"ìsẹjú aayá die",ss:"aayá %d",m:"ìsẹjú kan",mm:"ìsẹjú %d",h:"wákati kan",hh:"wákati %d",d:"ọjọ́ kan",dd:"ọjọ́ %d",M:"osù kan",MM:"osù %d",y:"ọdún kan",yy:"ọdún %d"},dayOfMonthOrdinalParse:/ọjọ́\s\d{1,2}/,ordinal:"ọjọ́ %d",week:{dow:1,doy:4}})}(a(0))},function(e,t,a){!function(e){"use strict";e.defineLocale("x-pseudo",{months:"J~áñúá~rý_F~ébrú~árý_~Márc~h_Áp~ríl_~Máý_~Júñé~_Júl~ý_Áú~gúst~_Sép~témb~ér_Ó~ctób~ér_Ñ~óvém~bér_~Décé~mbér".split("_"),monthsShort:"J~áñ_~Féb_~Már_~Ápr_~Máý_~Júñ_~Júl_~Áúg_~Sép_~Óct_~Ñóv_~Déc".split("_"),monthsParseExact:!0,weekdays:"S~úñdá~ý_Mó~ñdáý~_Túé~sdáý~_Wéd~ñésd~áý_T~húrs~dáý_~Fríd~áý_S~átúr~dáý".split("_"),weekdaysShort:"S~úñ_~Móñ_~Túé_~Wéd_~Thú_~Frí_~Sát".split("_"),weekdaysMin:"S~ú_Mó~_Tú_~Wé_T~h_Fr~_Sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[T~ódá~ý át] LT",nextDay:"[T~ómó~rró~w át] LT",nextWeek:"dddd [át] LT",lastDay:"[Ý~ést~érdá~ý át] LT",lastWeek:"[L~ást] dddd [át] LT",sameElse:"L"},relativeTime:{future:"í~ñ %s",past:"%s á~gó",s:"á ~féw ~sécó~ñds",ss:"%d s~écóñ~ds",m:"á ~míñ~úté",mm:"%d m~íñú~tés",h:"á~ñ hó~úr",hh:"%d h~óúrs",d:"á ~dáý",dd:"%d d~áýs",M:"á ~móñ~th",MM:"%d m~óñt~hs",y:"á ~ýéár",yy:"%d ý~éárs"},dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(e){var t=e%10,a=1==~~(e%100/10)?"th":1===t?"st":2===t?"nd":3===t?"rd":"th";return e+a},week:{dow:1,doy:4}})}(a(0))},function(e,t,a){!function(e){"use strict";e.defineLocale("vi",{months:"tháng 1_tháng 2_tháng 3_tháng 4_tháng 5_tháng 6_tháng 7_tháng 8_tháng 9_tháng 10_tháng 11_tháng 12".split("_"),monthsShort:"Th01_Th02_Th03_Th04_Th05_Th06_Th07_Th08_Th09_Th10_Th11_Th12".split("_"),monthsParseExact:!0,weekdays:"chủ nhật_thứ hai_thứ ba_thứ tư_thứ năm_thứ sáu_thứ bảy".split("_"),weekdaysShort:"CN_T2_T3_T4_T5_T6_T7".split("_"),weekdaysMin:"CN_T2_T3_T4_T5_T6_T7".split("_"),weekdaysParseExact:!0,meridiemParse:/sa|ch/i,isPM:function(e){return/^ch$/i.test(e)},meridiem:function(e,t,a){return e<12?a?"sa":"SA":a?"ch":"CH"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM [năm] YYYY",LLL:"D MMMM [năm] YYYY HH:mm",LLLL:"dddd, D MMMM [năm] YYYY HH:mm",l:"DD/M/YYYY",ll:"D MMM YYYY",lll:"D MMM YYYY HH:mm",llll:"ddd, D MMM YYYY HH:mm"},calendar:{sameDay:"[Hôm nay lúc] LT",nextDay:"[Ngày mai lúc] LT",nextWeek:"dddd [tuần tới lúc] LT",lastDay:"[Hôm qua lúc] LT",lastWeek:"dddd [tuần rồi lúc] LT",sameElse:"L"},relativeTime:{future:"%s tới",past:"%s trước",s:"vài giây",ss:"%d giây",m:"một phút",mm:"%d phút",h:"một giờ",hh:"%d giờ",d:"một ngày",dd:"%d ngày",M:"một tháng",MM:"%d tháng",y:"một năm",yy:"%d năm"},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:function(e){return e},week:{dow:1,doy:4}})}(a(0))},function(e,t,a){!function(e){"use strict";e.defineLocale("uz-latn",{months:"Yanvar_Fevral_Mart_Aprel_May_Iyun_Iyul_Avgust_Sentabr_Oktabr_Noyabr_Dekabr".split("_"),monthsShort:"Yan_Fev_Mar_Apr_May_Iyun_Iyul_Avg_Sen_Okt_Noy_Dek".split("_"),weekdays:"Yakshanba_Dushanba_Seshanba_Chorshanba_Payshanba_Juma_Shanba".split("_"),weekdaysShort:"Yak_Dush_Sesh_Chor_Pay_Jum_Shan".split("_"),weekdaysMin:"Ya_Du_Se_Cho_Pa_Ju_Sha".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"D MMMM YYYY, dddd HH:mm"},calendar:{sameDay:"[Bugun soat] LT [da]",nextDay:"[Ertaga] LT [da]",nextWeek:"dddd [kuni soat] LT [da]",lastDay:"[Kecha soat] LT [da]",lastWeek:"[O'tgan] dddd [kuni soat] LT [da]",sameElse:"L"},relativeTime:{future:"Yaqin %s ichida",past:"Bir necha %s oldin",s:"soniya",ss:"%d soniya",m:"bir daqiqa",mm:"%d daqiqa",h:"bir soat",hh:"%d soat",d:"bir kun",dd:"%d kun",M:"bir oy",MM:"%d oy",y:"bir yil",yy:"%d yil"},week:{dow:1,doy:7}})}(a(0))},function(e,t,a){!function(e){"use strict";e.defineLocale("uz",{months:"январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр".split("_"),monthsShort:"янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек".split("_"),weekdays:"Якшанба_Душанба_Сешанба_Чоршанба_Пайшанба_Жума_Шанба".split("_"),weekdaysShort:"Якш_Душ_Сеш_Чор_Пай_Жум_Шан".split("_"),weekdaysMin:"Як_Ду_Се_Чо_Па_Жу_Ша".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"D MMMM YYYY, dddd HH:mm"},calendar:{sameDay:"[Бугун соат] LT [да]",nextDay:"[Эртага] LT [да]",nextWeek:"dddd [куни соат] LT [да]",lastDay:"[Кеча соат] LT [да]",lastWeek:"[Утган] dddd [куни соат] LT [да]",sameElse:"L"},relativeTime:{future:"Якин %s ичида",past:"Бир неча %s олдин",s:"фурсат",ss:"%d фурсат",m:"бир дакика",mm:"%d дакика",h:"бир соат",hh:"%d соат",d:"бир кун",dd:"%d кун",M:"бир ой",MM:"%d ой",y:"бир йил",yy:"%d йил"},week:{dow:1,doy:7}})}(a(0))},function(e,t,a){!function(e){"use strict";var t=["جنوری","فروری","مارچ","اپریل","مئی","جون","جولائی","اگست","ستمبر","اکتوبر","نومبر","دسمبر"],a=["اتوار","پیر","منگل","بدھ","جمعرات","جمعہ","ہفتہ"];e.defineLocale("ur",{months:t,monthsShort:t,weekdays:a,weekdaysShort:a,weekdaysMin:a,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd، D MMMM YYYY HH:mm"},meridiemParse:/صبح|شام/,isPM:function(e){return"شام"===e},meridiem:function(e,t,a){return e<12?"صبح":"شام"},calendar:{sameDay:"[آج بوقت] LT",nextDay:"[کل بوقت] LT",nextWeek:"dddd [بوقت] LT",lastDay:"[گذشتہ روز بوقت] LT",lastWeek:"[گذشتہ] dddd [بوقت] LT",sameElse:"L"},relativeTime:{future:"%s بعد",past:"%s قبل",s:"چند سیکنڈ",ss:"%d سیکنڈ",m:"ایک منٹ",mm:"%d منٹ",h:"ایک گھنٹہ",hh:"%d گھنٹے",d:"ایک دن",dd:"%d دن",M:"ایک ماہ",MM:"%d ماہ",y:"ایک سال",yy:"%d سال"},preparse:function(e){return e.replace(/،/g,",")},postformat:function(e){return e.replace(/,/g,"،")},week:{dow:1,doy:4}})}(a(0))},function(e,t,a){!function(e){"use strict";function t(e,t,a){var n,c,i={ss:t?"секунда_секунди_секунд":"секунду_секунди_секунд",mm:t?"хвилина_хвилини_хвилин":"хвилину_хвилини_хвилин",hh:t?"година_години_годин":"годину_години_годин",dd:"день_дні_днів",MM:"місяць_місяці_місяців",yy:"рік_роки_років"};return"m"===a?t?"хвилина":"хвилину":"h"===a?t?"година":"годину":e+" "+(n=+e,c=i[a].split("_"),n%10==1&&n%100!=11?c[0]:n%10>=2&&n%10<=4&&(n%100<10||n%100>=20)?c[1]:c[2])}function a(e){return function(){return e+"о"+(11===this.hours()?"б":"")+"] LT"}}e.defineLocale("uk",{months:{format:"січня_лютого_березня_квітня_травня_червня_липня_серпня_вересня_жовтня_листопада_грудня".split("_"),standalone:"січень_лютий_березень_квітень_травень_червень_липень_серпень_вересень_жовтень_листопад_грудень".split("_")},monthsShort:"січ_лют_бер_квіт_трав_черв_лип_серп_вер_жовт_лист_груд".split("_"),weekdays:function(e,t){var a={nominative:"неділя_понеділок_вівторок_середа_четвер_п’ятниця_субота".split("_"),accusative:"неділю_понеділок_вівторок_середу_четвер_п’ятницю_суботу".split("_"),genitive:"неділі_понеділка_вівторка_середи_четверга_п’ятниці_суботи".split("_")};if(!e)return a.nominative;var n=/(\[[ВвУу]\]) ?dddd/.test(t)?"accusative":/\[?(?:минулої|наступної)? ?\] ?dddd/.test(t)?"genitive":"nominative";return a[n][e.day()]},weekdaysShort:"нд_пн_вт_ср_чт_пт_сб".split("_"),weekdaysMin:"нд_пн_вт_ср_чт_пт_сб".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY р.",LLL:"D MMMM YYYY р., HH:mm",LLLL:"dddd, D MMMM YYYY р., HH:mm"},calendar:{sameDay:a("[Сьогодні "),nextDay:a("[Завтра "),lastDay:a("[Вчора "),nextWeek:a("[У] dddd ["),lastWeek:function(){switch(this.day()){case 0:case 3:case 5:case 6:return a("[Минулої] dddd [").call(this);case 1:case 2:case 4:return a("[Минулого] dddd [").call(this)}},sameElse:"L"},relativeTime:{future:"за %s",past:"%s тому",s:"декілька секунд",ss:t,m:t,mm:t,h:"годину",hh:t,d:"день",dd:t,M:"місяць",MM:t,y:"рік",yy:t},meridiemParse:/ночі|ранку|дня|вечора/,isPM:function(e){return/^(дня|вечора)$/.test(e)},meridiem:function(e,t,a){return e<4?"ночі":e<12?"ранку":e<17?"дня":"вечора"},dayOfMonthOrdinalParse:/\d{1,2}-(й|го)/,ordinal:function(e,t){switch(t){case"M":case"d":case"DDD":case"w":case"W":return e+"-й";case"D":return e+"-го";default:return e}},week:{dow:1,doy:7}})}(a(0))},function(e,t,a){!function(e){"use strict";e.defineLocale("ug-cn",{months:"يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر".split("_"),monthsShort:"يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر".split("_"),weekdays:"يەكشەنبە_دۈشەنبە_سەيشەنبە_چارشەنبە_پەيشەنبە_جۈمە_شەنبە".split("_"),weekdaysShort:"يە_دۈ_سە_چا_پە_جۈ_شە".split("_"),weekdaysMin:"يە_دۈ_سە_چا_پە_جۈ_شە".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY-يىلىM-ئاينىڭD-كۈنى",LLL:"YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm",LLLL:"dddd، YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm"},meridiemParse:/يېرىم كېچە|سەھەر|چۈشتىن بۇرۇن|چۈش|چۈشتىن كېيىن|كەچ/,meridiemHour:function(e,t){return 12===e&&(e=0),"يېرىم كېچە"===t||"سەھەر"===t||"چۈشتىن بۇرۇن"===t?e:"چۈشتىن كېيىن"===t||"كەچ"===t?e+12:e>=11?e:e+12},meridiem:function(e,t,a){var n=100*e+t;return n<600?"يېرىم كېچە":n<900?"سەھەر":n<1130?"چۈشتىن بۇرۇن":n<1230?"چۈش":n<1800?"چۈشتىن كېيىن":"كەچ"},calendar:{sameDay:"[بۈگۈن سائەت] LT",nextDay:"[ئەتە سائەت] LT",nextWeek:"[كېلەركى] dddd [سائەت] LT",lastDay:"[تۆنۈگۈن] LT",lastWeek:"[ئالدىنقى] dddd [سائەت] LT",sameElse:"L"},relativeTime:{future:"%s كېيىن",past:"%s بۇرۇن",s:"نەچچە سېكونت",ss:"%d سېكونت",m:"بىر مىنۇت",mm:"%d مىنۇت",h:"بىر سائەت",hh:"%d سائەت",d:"بىر كۈن",dd:"%d كۈن",M:"بىر ئاي",MM:"%d ئاي",y:"بىر يىل",yy:"%d يىل"},dayOfMonthOrdinalParse:/\d{1,2}(-كۈنى|-ئاي|-ھەپتە)/,ordinal:function(e,t){switch(t){case"d":case"D":case"DDD":return e+"-كۈنى";case"w":case"W":return e+"-ھەپتە";default:return e}},preparse:function(e){return e.replace(/،/g,",")},postformat:function(e){return e.replace(/,/g,"،")},week:{dow:1,doy:7}})}(a(0))},function(e,t,a){!function(e){"use strict";e.defineLocale("tzm-latn",{months:"innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir".split("_"),monthsShort:"innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir".split("_"),weekdays:"asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas".split("_"),weekdaysShort:"asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas".split("_"),weekdaysMin:"asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[asdkh g] LT",nextDay:"[aska g] LT",nextWeek:"dddd [g] LT",lastDay:"[assant g] LT",lastWeek:"dddd [g] LT",sameElse:"L"},relativeTime:{future:"dadkh s yan %s",past:"yan %s",s:"imik",ss:"%d imik",m:"minuḍ",mm:"%d minuḍ",h:"saɛa",hh:"%d tassaɛin",d:"ass",dd:"%d ossan",M:"ayowr",MM:"%d iyyirn",y:"asgas",yy:"%d isgasn"},week:{dow:6,doy:12}})}(a(0))},function(e,t,a){!function(e){"use strict";e.defineLocale("tzm",{months:"ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ".split("_"),monthsShort:"ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ".split("_"),weekdays:"ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ".split("_"),weekdaysShort:"ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ".split("_"),weekdaysMin:"ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[ⴰⵙⴷⵅ ⴴ] LT",nextDay:"[ⴰⵙⴽⴰ ⴴ] LT",nextWeek:"dddd [ⴴ] LT",lastDay:"[ⴰⵚⴰⵏⵜ ⴴ] LT",lastWeek:"dddd [ⴴ] LT",sameElse:"L"},relativeTime:{future:"ⴷⴰⴷⵅ ⵙ ⵢⴰⵏ %s",past:"ⵢⴰⵏ %s",s:"ⵉⵎⵉⴽ",ss:"%d ⵉⵎⵉⴽ",m:"ⵎⵉⵏⵓⴺ",mm:"%d ⵎⵉⵏⵓⴺ",h:"ⵙⴰⵄⴰ",hh:"%d ⵜⴰⵙⵙⴰⵄⵉⵏ",d:"ⴰⵙⵙ",dd:"%d oⵙⵙⴰⵏ",M:"ⴰⵢoⵓⵔ",MM:"%d ⵉⵢⵢⵉⵔⵏ",y:"ⴰⵙⴳⴰⵙ",yy:"%d ⵉⵙⴳⴰⵙⵏ"},week:{dow:6,doy:12}})}(a(0))},function(e,t,a){!function(e){"use strict";function t(e,t,a,n){var c={s:["viensas secunds","'iensas secunds"],ss:[e+" secunds",e+" secunds"],m:["'n míut","'iens míut"],mm:[e+" míuts",e+" míuts"],h:["'n þora","'iensa þora"],hh:[e+" þoras",e+" þoras"],d:["'n ziua","'iensa ziua"],dd:[e+" ziuas",e+" ziuas"],M:["'n mes","'iens mes"],MM:[e+" mesen",e+" mesen"],y:["'n ar","'iens ar"],yy:[e+" ars",e+" ars"]};return n?c[a][0]:t?c[a][0]:c[a][1]}e.defineLocale("tzl",{months:"Januar_Fevraglh_Març_Avrïu_Mai_Gün_Julia_Guscht_Setemvar_Listopäts_Noemvar_Zecemvar".split("_"),monthsShort:"Jan_Fev_Mar_Avr_Mai_Gün_Jul_Gus_Set_Lis_Noe_Zec".split("_"),weekdays:"Súladi_Lúneçi_Maitzi_Márcuri_Xhúadi_Viénerçi_Sáturi".split("_"),weekdaysShort:"Súl_Lún_Mai_Már_Xhú_Vié_Sát".split("_"),weekdaysMin:"Sú_Lú_Ma_Má_Xh_Vi_Sá".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD.MM.YYYY",LL:"D. MMMM [dallas] YYYY",LLL:"D. MMMM [dallas] YYYY HH.mm",LLLL:"dddd, [li] D. MMMM [dallas] YYYY HH.mm"},meridiemParse:/d\'o|d\'a/i,isPM:function(e){return"d'o"===e.toLowerCase()},meridiem:function(e,t,a){return e>11?a?"d'o":"D'O":a?"d'a":"D'A"},calendar:{sameDay:"[oxhi à] LT",nextDay:"[demà à] LT",nextWeek:"dddd [à] LT",lastDay:"[ieiri à] LT",lastWeek:"[sür el] dddd [lasteu à] LT",sameElse:"L"},relativeTime:{future:"osprei %s",past:"ja%s",s:t,ss:t,m:t,mm:t,h:t,hh:t,d:t,dd:t,M:t,MM:t,y:t,yy:t},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(a(0))},function(e,t,a){!function(e){"use strict";var t={1:"'inci",5:"'inci",8:"'inci",70:"'inci",80:"'inci",2:"'nci",7:"'nci",20:"'nci",50:"'nci",3:"'üncü",4:"'üncü",100:"'üncü",6:"'ncı",9:"'uncu",10:"'uncu",30:"'uncu",60:"'ıncı",90:"'ıncı"};e.defineLocale("tr",{months:"Ocak_Şubat_Mart_Nisan_Mayıs_Haziran_Temmuz_Ağustos_Eylül_Ekim_Kasım_Aralık".split("_"),monthsShort:"Oca_Şub_Mar_Nis_May_Haz_Tem_Ağu_Eyl_Eki_Kas_Ara".split("_"),weekdays:"Pazar_Pazartesi_Salı_Çarşamba_Perşembe_Cuma_Cumartesi".split("_"),weekdaysShort:"Paz_Pts_Sal_Çar_Per_Cum_Cts".split("_"),weekdaysMin:"Pz_Pt_Sa_Ça_Pe_Cu_Ct".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[bugün saat] LT",nextDay:"[yarın saat] LT",nextWeek:"[gelecek] dddd [saat] LT",lastDay:"[dün] LT",lastWeek:"[geçen] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s sonra",past:"%s önce",s:"birkaç saniye",ss:"%d saniye",m:"bir dakika",mm:"%d dakika",h:"bir saat",hh:"%d saat",d:"bir gün",dd:"%d gün",M:"bir ay",MM:"%d ay",y:"bir yıl",yy:"%d yıl"},ordinal:function(e,a){switch(a){case"d":case"D":case"Do":case"DD":return e;default:if(0===e)return e+"'ıncı";var n=e%10,c=e%100-n,i=e>=100?100:null;return e+(t[n]||t[c]||t[i])}},week:{dow:1,doy:7}})}(a(0))},function(e,t,a){!function(e){"use strict";var t="pagh_wa’_cha’_wej_loS_vagh_jav_Soch_chorgh_Hut".split("_");function a(e,a,n,c){var i=function(e){var a=Math.floor(e%1e3/100),n=Math.floor(e%100/10),c=e%10,i="";return a>0&&(i+=t[a]+"vatlh"),n>0&&(i+=(""!==i?" ":"")+t[n]+"maH"),c>0&&(i+=(""!==i?" ":"")+t[c]),""===i?"pagh":i}(e);switch(n){case"ss":return i+" lup";case"mm":return i+" tup";case"hh":return i+" rep";case"dd":return i+" jaj";case"MM":return i+" jar";case"yy":return i+" DIS"}}e.defineLocale("tlh",{months:"tera’ jar wa’_tera’ jar cha’_tera’ jar wej_tera’ jar loS_tera’ jar vagh_tera’ jar jav_tera’ jar Soch_tera’ jar chorgh_tera’ jar Hut_tera’ jar wa’maH_tera’ jar wa’maH wa’_tera’ jar wa’maH cha’".split("_"),monthsShort:"jar wa’_jar cha’_jar wej_jar loS_jar vagh_jar jav_jar Soch_jar chorgh_jar Hut_jar wa’maH_jar wa’maH wa’_jar wa’maH cha’".split("_"),monthsParseExact:!0,weekdays:"lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj".split("_"),weekdaysShort:"lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj".split("_"),weekdaysMin:"lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[DaHjaj] LT",nextDay:"[wa’leS] LT",nextWeek:"LLL",lastDay:"[wa’Hu’] LT",lastWeek:"LLL",sameElse:"L"},relativeTime:{future:function(e){var t=e;return t=-1!==e.indexOf("jaj")?t.slice(0,-3)+"leS":-1!==e.indexOf("jar")?t.slice(0,-3)+"waQ":-1!==e.indexOf("DIS")?t.slice(0,-3)+"nem":t+" pIq"},past:function(e){var t=e;return t=-1!==e.indexOf("jaj")?t.slice(0,-3)+"Hu’":-1!==e.indexOf("jar")?t.slice(0,-3)+"wen":-1!==e.indexOf("DIS")?t.slice(0,-3)+"ben":t+" ret"},s:"puS lup",ss:a,m:"wa’ tup",mm:a,h:"wa’ rep",hh:a,d:"wa’ jaj",dd:a,M:"wa’ jar",MM:a,y:"wa’ DIS",yy:a},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(a(0))},function(e,t,a){!function(e){"use strict";e.defineLocale("tl-ph",{months:"Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre".split("_"),monthsShort:"Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis".split("_"),weekdays:"Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado".split("_"),weekdaysShort:"Lin_Lun_Mar_Miy_Huw_Biy_Sab".split("_"),weekdaysMin:"Li_Lu_Ma_Mi_Hu_Bi_Sab".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"MM/D/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY HH:mm",LLLL:"dddd, MMMM DD, YYYY HH:mm"},calendar:{sameDay:"LT [ngayong araw]",nextDay:"[Bukas ng] LT",nextWeek:"LT [sa susunod na] dddd",lastDay:"LT [kahapon]",lastWeek:"LT [noong nakaraang] dddd",sameElse:"L"},relativeTime:{future:"sa loob ng %s",past:"%s ang nakalipas",s:"ilang segundo",ss:"%d segundo",m:"isang minuto",mm:"%d minuto",h:"isang oras",hh:"%d oras",d:"isang araw",dd:"%d araw",M:"isang buwan",MM:"%d buwan",y:"isang taon",yy:"%d taon"},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:function(e){return e},week:{dow:1,doy:4}})}(a(0))},function(e,t,a){!function(e){"use strict";e.defineLocale("th",{months:"มกราคม_กุมภาพันธ์_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_กรกฎาคม_สิงหาคม_กันยายน_ตุลาคม_พฤศจิกายน_ธันวาคม".split("_"),monthsShort:"ม.ค._ก.พ._มี.ค._เม.ย._พ.ค._มิ.ย._ก.ค._ส.ค._ก.ย._ต.ค._พ.ย._ธ.ค.".split("_"),monthsParseExact:!0,weekdays:"อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัสบดี_ศุกร์_เสาร์".split("_"),weekdaysShort:"อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัส_ศุกร์_เสาร์".split("_"),weekdaysMin:"อา._จ._อ._พ._พฤ._ศ._ส.".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY เวลา H:mm",LLLL:"วันddddที่ D MMMM YYYY เวลา H:mm"},meridiemParse:/ก่อนเที่ยง|หลังเที่ยง/,isPM:function(e){return"หลังเที่ยง"===e},meridiem:function(e,t,a){return e<12?"ก่อนเที่ยง":"หลังเที่ยง"},calendar:{sameDay:"[วันนี้ เวลา] LT",nextDay:"[พรุ่งนี้ เวลา] LT",nextWeek:"dddd[หน้า เวลา] LT",lastDay:"[เมื่อวานนี้ เวลา] LT",lastWeek:"[วัน]dddd[ที่แล้ว เวลา] LT",sameElse:"L"},relativeTime:{future:"อีก %s",past:"%sที่แล้ว",s:"ไม่กี่วินาที",ss:"%d วินาที",m:"1 นาที",mm:"%d นาที",h:"1 ชั่วโมง",hh:"%d ชั่วโมง",d:"1 วัน",dd:"%d วัน",M:"1 เดือน",MM:"%d เดือน",y:"1 ปี",yy:"%d ปี"}})}(a(0))},function(e,t,a){!function(e){"use strict";var t={0:"-ум",1:"-ум",2:"-юм",3:"-юм",4:"-ум",5:"-ум",6:"-ум",7:"-ум",8:"-ум",9:"-ум",10:"-ум",12:"-ум",13:"-ум",20:"-ум",30:"-юм",40:"-ум",50:"-ум",60:"-ум",70:"-ум",80:"-ум",90:"-ум",100:"-ум"};e.defineLocale("tg",{months:"январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр".split("_"),monthsShort:"янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек".split("_"),weekdays:"якшанбе_душанбе_сешанбе_чоршанбе_панҷшанбе_ҷумъа_шанбе".split("_"),weekdaysShort:"яшб_дшб_сшб_чшб_пшб_ҷум_шнб".split("_"),weekdaysMin:"яш_дш_сш_чш_пш_ҷм_шб".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Имрӯз соати] LT",nextDay:"[Пагоҳ соати] LT",lastDay:"[Дирӯз соати] LT",nextWeek:"dddd[и] [ҳафтаи оянда соати] LT",lastWeek:"dddd[и] [ҳафтаи гузашта соати] LT",sameElse:"L"},relativeTime:{future:"баъди %s",past:"%s пеш",s:"якчанд сония",m:"як дақиқа",mm:"%d дақиқа",h:"як соат",hh:"%d соат",d:"як рӯз",dd:"%d рӯз",M:"як моҳ",MM:"%d моҳ",y:"як сол",yy:"%d сол"},meridiemParse:/шаб|субҳ|рӯз|бегоҳ/,meridiemHour:function(e,t){return 12===e&&(e=0),"шаб"===t?e<4?e:e+12:"субҳ"===t?e:"рӯз"===t?e>=11?e:e+12:"бегоҳ"===t?e+12:void 0},meridiem:function(e,t,a){return e<4?"шаб":e<11?"субҳ":e<16?"рӯз":e<19?"бегоҳ":"шаб"},dayOfMonthOrdinalParse:/\d{1,2}-(ум|юм)/,ordinal:function(e){var a=e%10,n=e>=100?100:null;return e+(t[e]||t[a]||t[n])},week:{dow:1,doy:7}})}(a(0))},function(e,t,a){!function(e){"use strict";e.defineLocale("tet",{months:"Janeiru_Fevereiru_Marsu_Abril_Maiu_Juñu_Jullu_Agustu_Setembru_Outubru_Novembru_Dezembru".split("_"),monthsShort:"Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez".split("_"),weekdays:"Domingu_Segunda_Tersa_Kuarta_Kinta_Sesta_Sabadu".split("_"),weekdaysShort:"Dom_Seg_Ters_Kua_Kint_Sest_Sab".split("_"),weekdaysMin:"Do_Seg_Te_Ku_Ki_Ses_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Ohin iha] LT",nextDay:"[Aban iha] LT",nextWeek:"dddd [iha] LT",lastDay:"[Horiseik iha] LT",lastWeek:"dddd [semana kotuk] [iha] LT",sameElse:"L"},relativeTime:{future:"iha %s",past:"%s liuba",s:"minutu balun",ss:"minutu %d",m:"minutu ida",mm:"minutu %d",h:"oras ida",hh:"oras %d",d:"loron ida",dd:"loron %d",M:"fulan ida",MM:"fulan %d",y:"tinan ida",yy:"tinan %d"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var t=e%10,a=1==~~(e%100/10)?"th":1===t?"st":2===t?"nd":3===t?"rd":"th";return e+a},week:{dow:1,doy:4}})}(a(0))},function(e,t,a){!function(e){"use strict";e.defineLocale("te",{months:"జనవరి_ఫిబ్రవరి_మార్చి_ఏప్రిల్_మే_జూన్_జూలై_ఆగస్టు_సెప్టెంబర్_అక్టోబర్_నవంబర్_డిసెంబర్".split("_"),monthsShort:"జన._ఫిబ్ర._మార్చి_ఏప్రి._మే_జూన్_జూలై_ఆగ._సెప్._అక్టో._నవ._డిసె.".split("_"),monthsParseExact:!0,weekdays:"ఆదివారం_సోమవారం_మంగళవారం_బుధవారం_గురువారం_శుక్రవారం_శనివారం".split("_"),weekdaysShort:"ఆది_సోమ_మంగళ_బుధ_గురు_శుక్ర_శని".split("_"),weekdaysMin:"ఆ_సో_మం_బు_గు_శు_శ".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm",LLLL:"dddd, D MMMM YYYY, A h:mm"},calendar:{sameDay:"[నేడు] LT",nextDay:"[రేపు] LT",nextWeek:"dddd, LT",lastDay:"[నిన్న] LT",lastWeek:"[గత] dddd, LT",sameElse:"L"},relativeTime:{future:"%s లో",past:"%s క్రితం",s:"కొన్ని క్షణాలు",ss:"%d సెకన్లు",m:"ఒక నిమిషం",mm:"%d నిమిషాలు",h:"ఒక గంట",hh:"%d గంటలు",d:"ఒక రోజు",dd:"%d రోజులు",M:"ఒక నెల",MM:"%d నెలలు",y:"ఒక సంవత్సరం",yy:"%d సంవత్సరాలు"},dayOfMonthOrdinalParse:/\d{1,2}వ/,ordinal:"%dవ",meridiemParse:/రాత్రి|ఉదయం|మధ్యాహ్నం|సాయంత్రం/,meridiemHour:function(e,t){return 12===e&&(e=0),"రాత్రి"===t?e<4?e:e+12:"ఉదయం"===t?e:"మధ్యాహ్నం"===t?e>=10?e:e+12:"సాయంత్రం"===t?e+12:void 0},meridiem:function(e,t,a){return e<4?"రాత్రి":e<10?"ఉదయం":e<17?"మధ్యాహ్నం":e<20?"సాయంత్రం":"రాత్రి"},week:{dow:0,doy:6}})}(a(0))},function(e,t,a){!function(e){"use strict";var t={1:"௧",2:"௨",3:"௩",4:"௪",5:"௫",6:"௬",7:"௭",8:"௮",9:"௯",0:"௦"},a={"௧":"1","௨":"2","௩":"3","௪":"4","௫":"5","௬":"6","௭":"7","௮":"8","௯":"9","௦":"0"};e.defineLocale("ta",{months:"ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்".split("_"),monthsShort:"ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்".split("_"),weekdays:"ஞாயிற்றுக்கிழமை_திங்கட்கிழமை_செவ்வாய்கிழமை_புதன்கிழமை_வியாழக்கிழமை_வெள்ளிக்கிழமை_சனிக்கிழமை".split("_"),weekdaysShort:"ஞாயிறு_திங்கள்_செவ்வாய்_புதன்_வியாழன்_வெள்ளி_சனி".split("_"),weekdaysMin:"ஞா_தி_செ_பு_வி_வெ_ச".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, HH:mm",LLLL:"dddd, D MMMM YYYY, HH:mm"},calendar:{sameDay:"[இன்று] LT",nextDay:"[நாளை] LT",nextWeek:"dddd, LT",lastDay:"[நேற்று] LT",lastWeek:"[கடந்த வாரம்] dddd, LT",sameElse:"L"},relativeTime:{future:"%s இல்",past:"%s முன்",s:"ஒரு சில விநாடிகள்",ss:"%d விநாடிகள்",m:"ஒரு நிமிடம்",mm:"%d நிமிடங்கள்",h:"ஒரு மணி நேரம்",hh:"%d மணி நேரம்",d:"ஒரு நாள்",dd:"%d நாட்கள்",M:"ஒரு மாதம்",MM:"%d மாதங்கள்",y:"ஒரு வருடம்",yy:"%d ஆண்டுகள்"},dayOfMonthOrdinalParse:/\d{1,2}வது/,ordinal:function(e){return e+"வது"},preparse:function(e){return e.replace(/[௧௨௩௪௫௬௭௮௯௦]/g,function(e){return a[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return t[e]})},meridiemParse:/யாமம்|வைகறை|காலை|நண்பகல்|எற்பாடு|மாலை/,meridiem:function(e,t,a){return e<2?" யாமம்":e<6?" வைகறை":e<10?" காலை":e<14?" நண்பகல்":e<18?" எற்பாடு":e<22?" மாலை":" யாமம்"},meridiemHour:function(e,t){return 12===e&&(e=0),"யாமம்"===t?e<2?e:e+12:"வைகறை"===t||"காலை"===t?e:"நண்பகல்"===t&&e>=10?e:e+12},week:{dow:0,doy:6}})}(a(0))},function(e,t,a){!function(e){"use strict";e.defineLocale("sw",{months:"Januari_Februari_Machi_Aprili_Mei_Juni_Julai_Agosti_Septemba_Oktoba_Novemba_Desemba".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ago_Sep_Okt_Nov_Des".split("_"),weekdays:"Jumapili_Jumatatu_Jumanne_Jumatano_Alhamisi_Ijumaa_Jumamosi".split("_"),weekdaysShort:"Jpl_Jtat_Jnne_Jtan_Alh_Ijm_Jmos".split("_"),weekdaysMin:"J2_J3_J4_J5_Al_Ij_J1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[leo saa] LT",nextDay:"[kesho saa] LT",nextWeek:"[wiki ijayo] dddd [saat] LT",lastDay:"[jana] LT",lastWeek:"[wiki iliyopita] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s baadaye",past:"tokea %s",s:"hivi punde",ss:"sekunde %d",m:"dakika moja",mm:"dakika %d",h:"saa limoja",hh:"masaa %d",d:"siku moja",dd:"masiku %d",M:"mwezi mmoja",MM:"miezi %d",y:"mwaka mmoja",yy:"miaka %d"},week:{dow:1,doy:7}})}(a(0))},function(e,t,a){!function(e){"use strict";e.defineLocale("sv",{months:"januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec".split("_"),weekdays:"söndag_måndag_tisdag_onsdag_torsdag_fredag_lördag".split("_"),weekdaysShort:"sön_mån_tis_ons_tor_fre_lör".split("_"),weekdaysMin:"sö_må_ti_on_to_fr_lö".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [kl.] HH:mm",LLLL:"dddd D MMMM YYYY [kl.] HH:mm",lll:"D MMM YYYY HH:mm",llll:"ddd D MMM YYYY HH:mm"},calendar:{sameDay:"[Idag] LT",nextDay:"[Imorgon] LT",lastDay:"[Igår] LT",nextWeek:"[På] dddd LT",lastWeek:"[I] dddd[s] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"för %s sedan",s:"några sekunder",ss:"%d sekunder",m:"en minut",mm:"%d minuter",h:"en timme",hh:"%d timmar",d:"en dag",dd:"%d dagar",M:"en månad",MM:"%d månader",y:"ett år",yy:"%d år"},dayOfMonthOrdinalParse:/\d{1,2}(e|a)/,ordinal:function(e){var t=e%10,a=1==~~(e%100/10)?"e":1===t?"a":2===t?"a":"e";return e+a},week:{dow:1,doy:4}})}(a(0))},function(e,t,a){!function(e){"use strict";e.defineLocale("ss",{months:"Bhimbidvwane_Indlovana_Indlov'lenkhulu_Mabasa_Inkhwekhweti_Inhlaba_Kholwane_Ingci_Inyoni_Imphala_Lweti_Ingongoni".split("_"),monthsShort:"Bhi_Ina_Inu_Mab_Ink_Inh_Kho_Igc_Iny_Imp_Lwe_Igo".split("_"),weekdays:"Lisontfo_Umsombuluko_Lesibili_Lesitsatfu_Lesine_Lesihlanu_Umgcibelo".split("_"),weekdaysShort:"Lis_Umb_Lsb_Les_Lsi_Lsh_Umg".split("_"),weekdaysMin:"Li_Us_Lb_Lt_Ls_Lh_Ug".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Namuhla nga] LT",nextDay:"[Kusasa nga] LT",nextWeek:"dddd [nga] LT",lastDay:"[Itolo nga] LT",lastWeek:"dddd [leliphelile] [nga] LT",sameElse:"L"},relativeTime:{future:"nga %s",past:"wenteka nga %s",s:"emizuzwana lomcane",ss:"%d mzuzwana",m:"umzuzu",mm:"%d emizuzu",h:"lihora",hh:"%d emahora",d:"lilanga",dd:"%d emalanga",M:"inyanga",MM:"%d tinyanga",y:"umnyaka",yy:"%d iminyaka"},meridiemParse:/ekuseni|emini|entsambama|ebusuku/,meridiem:function(e,t,a){return e<11?"ekuseni":e<15?"emini":e<19?"entsambama":"ebusuku"},meridiemHour:function(e,t){return 12===e&&(e=0),"ekuseni"===t?e:"emini"===t?e>=11?e:e+12:"entsambama"===t||"ebusuku"===t?0===e?0:e+12:void 0},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:"%d",week:{dow:1,doy:4}})}(a(0))},function(e,t,a){!function(e){"use strict";var t={words:{ss:["секунда","секунде","секунди"],m:["један минут","једне минуте"],mm:["минут","минуте","минута"],h:["један сат","једног сата"],hh:["сат","сата","сати"],dd:["дан","дана","дана"],MM:["месец","месеца","месеци"],yy:["година","године","година"]},correctGrammaticalCase:function(e,t){return 1===e?t[0]:e>=2&&e<=4?t[1]:t[2]},translate:function(e,a,n){var c=t.words[n];return 1===n.length?a?c[0]:c[1]:e+" "+t.correctGrammaticalCase(e,c)}};e.defineLocale("sr-cyrl",{months:"јануар_фебруар_март_април_мај_јун_јул_август_септембар_октобар_новембар_децембар".split("_"),monthsShort:"јан._феб._мар._апр._мај_јун_јул_авг._сеп._окт._нов._дец.".split("_"),monthsParseExact:!0,weekdays:"недеља_понедељак_уторак_среда_четвртак_петак_субота".split("_"),weekdaysShort:"нед._пон._уто._сре._чет._пет._суб.".split("_"),weekdaysMin:"не_по_ут_ср_че_пе_су".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[данас у] LT",nextDay:"[сутра у] LT",nextWeek:function(){switch(this.day()){case 0:return"[у] [недељу] [у] LT";case 3:return"[у] [среду] [у] LT";case 6:return"[у] [суботу] [у] LT";case 1:case 2:case 4:case 5:return"[у] dddd [у] LT"}},lastDay:"[јуче у] LT",lastWeek:function(){return["[прошле] [недеље] [у] LT","[прошлог] [понедељка] [у] LT","[прошлог] [уторка] [у] LT","[прошле] [среде] [у] LT","[прошлог] [четвртка] [у] LT","[прошлог] [петка] [у] LT","[прошле] [суботе] [у] LT"][this.day()]},sameElse:"L"},relativeTime:{future:"за %s",past:"пре %s",s:"неколико секунди",ss:t.translate,m:t.translate,mm:t.translate,h:t.translate,hh:t.translate,d:"дан",dd:t.translate,M:"месец",MM:t.translate,y:"годину",yy:t.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}(a(0))},function(e,t,a){!function(e){"use strict";var t={words:{ss:["sekunda","sekunde","sekundi"],m:["jedan minut","jedne minute"],mm:["minut","minute","minuta"],h:["jedan sat","jednog sata"],hh:["sat","sata","sati"],dd:["dan","dana","dana"],MM:["mesec","meseca","meseci"],yy:["godina","godine","godina"]},correctGrammaticalCase:function(e,t){return 1===e?t[0]:e>=2&&e<=4?t[1]:t[2]},translate:function(e,a,n){var c=t.words[n];return 1===n.length?a?c[0]:c[1]:e+" "+t.correctGrammaticalCase(e,c)}};e.defineLocale("sr",{months:"januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar".split("_"),monthsShort:"jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedelja_ponedeljak_utorak_sreda_četvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sre._čet._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_če_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedelju] [u] LT";case 3:return"[u] [sredu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[juče u] LT",lastWeek:function(){return["[prošle] [nedelje] [u] LT","[prošlog] [ponedeljka] [u] LT","[prošlog] [utorka] [u] LT","[prošle] [srede] [u] LT","[prošlog] [četvrtka] [u] LT","[prošlog] [petka] [u] LT","[prošle] [subote] [u] LT"][this.day()]},sameElse:"L"},relativeTime:{future:"za %s",past:"pre %s",s:"nekoliko sekundi",ss:t.translate,m:t.translate,mm:t.translate,h:t.translate,hh:t.translate,d:"dan",dd:t.translate,M:"mesec",MM:t.translate,y:"godinu",yy:t.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}(a(0))},function(e,t,a){!function(e){"use strict";e.defineLocale("sq",{months:"Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_Nëntor_Dhjetor".split("_"),monthsShort:"Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_Nën_Dhj".split("_"),weekdays:"E Diel_E Hënë_E Martë_E Mërkurë_E Enjte_E Premte_E Shtunë".split("_"),weekdaysShort:"Die_Hën_Mar_Mër_Enj_Pre_Sht".split("_"),weekdaysMin:"D_H_Ma_Më_E_P_Sh".split("_"),weekdaysParseExact:!0,meridiemParse:/PD|MD/,isPM:function(e){return"M"===e.charAt(0)},meridiem:function(e,t,a){return e<12?"PD":"MD"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Sot në] LT",nextDay:"[Nesër në] LT",nextWeek:"dddd [në] LT",lastDay:"[Dje në] LT",lastWeek:"dddd [e kaluar në] LT",sameElse:"L"},relativeTime:{future:"në %s",past:"%s më parë",s:"disa sekonda",ss:"%d sekonda",m:"një minutë",mm:"%d minuta",h:"një orë",hh:"%d orë",d:"një ditë",dd:"%d ditë",M:"një muaj",MM:"%d muaj",y:"një vit",yy:"%d vite"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(a(0))},function(e,t,a){!function(e){"use strict";function t(e,t,a,n){var c=e+" ";switch(a){case"s":return t||n?"nekaj sekund":"nekaj sekundami";case"ss":return c+=1===e?t?"sekundo":"sekundi":2===e?t||n?"sekundi":"sekundah":e<5?t||n?"sekunde":"sekundah":"sekund";case"m":return t?"ena minuta":"eno minuto";case"mm":return c+=1===e?t?"minuta":"minuto":2===e?t||n?"minuti":"minutama":e<5?t||n?"minute":"minutami":t||n?"minut":"minutami";case"h":return t?"ena ura":"eno uro";case"hh":return c+=1===e?t?"ura":"uro":2===e?t||n?"uri":"urama":e<5?t||n?"ure":"urami":t||n?"ur":"urami";case"d":return t||n?"en dan":"enim dnem";case"dd":return c+=1===e?t||n?"dan":"dnem":2===e?t||n?"dni":"dnevoma":t||n?"dni":"dnevi";case"M":return t||n?"en mesec":"enim mesecem";case"MM":return c+=1===e?t||n?"mesec":"mesecem":2===e?t||n?"meseca":"mesecema":e<5?t||n?"mesece":"meseci":t||n?"mesecev":"meseci";case"y":return t||n?"eno leto":"enim letom";case"yy":return c+=1===e?t||n?"leto":"letom":2===e?t||n?"leti":"letoma":e<5?t||n?"leta":"leti":t||n?"let":"leti"}}e.defineLocale("sl",{months:"januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december".split("_"),monthsShort:"jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedelja_ponedeljek_torek_sreda_četrtek_petek_sobota".split("_"),weekdaysShort:"ned._pon._tor._sre._čet._pet._sob.".split("_"),weekdaysMin:"ne_po_to_sr_če_pe_so".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danes ob] LT",nextDay:"[jutri ob] LT",nextWeek:function(){switch(this.day()){case 0:return"[v] [nedeljo] [ob] LT";case 3:return"[v] [sredo] [ob] LT";case 6:return"[v] [soboto] [ob] LT";case 1:case 2:case 4:case 5:return"[v] dddd [ob] LT"}},lastDay:"[včeraj ob] LT",lastWeek:function(){switch(this.day()){case 0:return"[prejšnjo] [nedeljo] [ob] LT";case 3:return"[prejšnjo] [sredo] [ob] LT";case 6:return"[prejšnjo] [soboto] [ob] LT";case 1:case 2:case 4:case 5:return"[prejšnji] dddd [ob] LT"}},sameElse:"L"},relativeTime:{future:"čez %s",past:"pred %s",s:t,ss:t,m:t,mm:t,h:t,hh:t,d:t,dd:t,M:t,MM:t,y:t,yy:t},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}(a(0))},function(e,t,a){!function(e){"use strict";var t="január_február_marec_apríl_máj_jún_júl_august_september_október_november_december".split("_"),a="jan_feb_mar_apr_máj_jún_júl_aug_sep_okt_nov_dec".split("_");function n(e){return e>1&&e<5}function c(e,t,a,c){var i=e+" ";switch(a){case"s":return t||c?"pár sekúnd":"pár sekundami";case"ss":return t||c?i+(n(e)?"sekundy":"sekúnd"):i+"sekundami";case"m":return t?"minúta":c?"minútu":"minútou";case"mm":return t||c?i+(n(e)?"minúty":"minút"):i+"minútami";case"h":return t?"hodina":c?"hodinu":"hodinou";case"hh":return t||c?i+(n(e)?"hodiny":"hodín"):i+"hodinami";case"d":return t||c?"deň":"dňom";case"dd":return t||c?i+(n(e)?"dni":"dní"):i+"dňami";case"M":return t||c?"mesiac":"mesiacom";case"MM":return t||c?i+(n(e)?"mesiace":"mesiacov"):i+"mesiacmi";case"y":return t||c?"rok":"rokom";case"yy":return t||c?i+(n(e)?"roky":"rokov"):i+"rokmi"}}e.defineLocale("sk",{months:t,monthsShort:a,weekdays:"nedeľa_pondelok_utorok_streda_štvrtok_piatok_sobota".split("_"),weekdaysShort:"ne_po_ut_st_št_pi_so".split("_"),weekdaysMin:"ne_po_ut_st_št_pi_so".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd D. MMMM YYYY H:mm"},calendar:{sameDay:"[dnes o] LT",nextDay:"[zajtra o] LT",nextWeek:function(){switch(this.day()){case 0:return"[v nedeľu o] LT";case 1:case 2:return"[v] dddd [o] LT";case 3:return"[v stredu o] LT";case 4:return"[vo štvrtok o] LT";case 5:return"[v piatok o] LT";case 6:return"[v sobotu o] LT"}},lastDay:"[včera o] LT",lastWeek:function(){switch(this.day()){case 0:return"[minulú nedeľu o] LT";case 1:case 2:return"[minulý] dddd [o] LT";case 3:return"[minulú stredu o] LT";case 4:case 5:return"[minulý] dddd [o] LT";case 6:return"[minulú sobotu o] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"pred %s",s:c,ss:c,m:c,mm:c,h:c,hh:c,d:c,dd:c,M:c,MM:c,y:c,yy:c},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(a(0))},function(e,t,a){!function(e){"use strict";e.defineLocale("si",{months:"ජනවාරි_පෙබරවාරි_මාර්තු_අප්‍රේල්_මැයි_ජූනි_ජූලි_අගෝස්තු_සැප්තැම්බර්_ඔක්තෝබර්_නොවැම්බර්_දෙසැම්බර්".split("_"),monthsShort:"ජන_පෙබ_මාර්_අප්_මැයි_ජූනි_ජූලි_අගෝ_සැප්_ඔක්_නොවැ_දෙසැ".split("_"),weekdays:"ඉරිදා_සඳුදා_අඟහරුවාදා_බදාදා_බ්‍රහස්පතින්දා_සිකුරාදා_සෙනසුරාදා".split("_"),weekdaysShort:"ඉරි_සඳු_අඟ_බදා_බ්‍රහ_සිකු_සෙන".split("_"),weekdaysMin:"ඉ_ස_අ_බ_බ්‍ර_සි_සෙ".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"a h:mm",LTS:"a h:mm:ss",L:"YYYY/MM/DD",LL:"YYYY MMMM D",LLL:"YYYY MMMM D, a h:mm",LLLL:"YYYY MMMM D [වැනි] dddd, a h:mm:ss"},calendar:{sameDay:"[අද] LT[ට]",nextDay:"[හෙට] LT[ට]",nextWeek:"dddd LT[ට]",lastDay:"[ඊයේ] LT[ට]",lastWeek:"[පසුගිය] dddd LT[ට]",sameElse:"L"},relativeTime:{future:"%sකින්",past:"%sකට පෙර",s:"තත්පර කිහිපය",ss:"තත්පර %d",m:"මිනිත්තුව",mm:"මිනිත්තු %d",h:"පැය",hh:"පැය %d",d:"දිනය",dd:"දින %d",M:"මාසය",MM:"මාස %d",y:"වසර",yy:"වසර %d"},dayOfMonthOrdinalParse:/\d{1,2} වැනි/,ordinal:function(e){return e+" වැනි"},meridiemParse:/පෙර වරු|පස් වරු|පෙ.ව|ප.ව./,isPM:function(e){return"ප.ව."===e||"පස් වරු"===e},meridiem:function(e,t,a){return e>11?a?"ප.ව.":"පස් වරු":a?"පෙ.ව.":"පෙර වරු"}})}(a(0))},function(e,t,a){!function(e){"use strict";e.defineLocale("se",{months:"ođđajagemánnu_guovvamánnu_njukčamánnu_cuoŋománnu_miessemánnu_geassemánnu_suoidnemánnu_borgemánnu_čakčamánnu_golggotmánnu_skábmamánnu_juovlamánnu".split("_"),monthsShort:"ođđj_guov_njuk_cuo_mies_geas_suoi_borg_čakč_golg_skáb_juov".split("_"),weekdays:"sotnabeaivi_vuossárga_maŋŋebárga_gaskavahkku_duorastat_bearjadat_lávvardat".split("_"),weekdaysShort:"sotn_vuos_maŋ_gask_duor_bear_láv".split("_"),weekdaysMin:"s_v_m_g_d_b_L".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"MMMM D. [b.] YYYY",LLL:"MMMM D. [b.] YYYY [ti.] HH:mm",LLLL:"dddd, MMMM D. [b.] YYYY [ti.] HH:mm"},calendar:{sameDay:"[otne ti] LT",nextDay:"[ihttin ti] LT",nextWeek:"dddd [ti] LT",lastDay:"[ikte ti] LT",lastWeek:"[ovddit] dddd [ti] LT",sameElse:"L"},relativeTime:{future:"%s geažes",past:"maŋit %s",s:"moadde sekunddat",ss:"%d sekunddat",m:"okta minuhta",mm:"%d minuhtat",h:"okta diimmu",hh:"%d diimmut",d:"okta beaivi",dd:"%d beaivvit",M:"okta mánnu",MM:"%d mánut",y:"okta jahki",yy:"%d jagit"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(a(0))},function(e,t,a){!function(e){"use strict";var t=["جنوري","فيبروري","مارچ","اپريل","مئي","جون","جولاءِ","آگسٽ","سيپٽمبر","آڪٽوبر","نومبر","ڊسمبر"],a=["آچر","سومر","اڱارو","اربع","خميس","جمع","ڇنڇر"];e.defineLocale("sd",{months:t,monthsShort:t,weekdays:a,weekdaysShort:a,weekdaysMin:a,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd، D MMMM YYYY HH:mm"},meridiemParse:/صبح|شام/,isPM:function(e){return"شام"===e},meridiem:function(e,t,a){return e<12?"صبح":"شام"},calendar:{sameDay:"[اڄ] LT",nextDay:"[سڀاڻي] LT",nextWeek:"dddd [اڳين هفتي تي] LT",lastDay:"[ڪالهه] LT",lastWeek:"[گزريل هفتي] dddd [تي] LT",sameElse:"L"},relativeTime:{future:"%s پوء",past:"%s اڳ",s:"چند سيڪنڊ",ss:"%d سيڪنڊ",m:"هڪ منٽ",mm:"%d منٽ",h:"هڪ ڪلاڪ",hh:"%d ڪلاڪ",d:"هڪ ڏينهن",dd:"%d ڏينهن",M:"هڪ مهينو",MM:"%d مهينا",y:"هڪ سال",yy:"%d سال"},preparse:function(e){return e.replace(/،/g,",")},postformat:function(e){return e.replace(/,/g,"،")},week:{dow:1,doy:4}})}(a(0))},function(e,t,a){!function(e){"use strict";function t(e,t,a){var n,c,i={ss:t?"секунда_секунды_секунд":"секунду_секунды_секунд",mm:t?"минута_минуты_минут":"минуту_минуты_минут",hh:"час_часа_часов",dd:"день_дня_дней",MM:"месяц_месяца_месяцев",yy:"год_года_лет"};return"m"===a?t?"минута":"минуту":e+" "+(n=+e,c=i[a].split("_"),n%10==1&&n%100!=11?c[0]:n%10>=2&&n%10<=4&&(n%100<10||n%100>=20)?c[1]:c[2])}var a=[/^янв/i,/^фев/i,/^мар/i,/^апр/i,/^ма[йя]/i,/^июн/i,/^июл/i,/^авг/i,/^сен/i,/^окт/i,/^ноя/i,/^дек/i];e.defineLocale("ru",{months:{format:"января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря".split("_"),standalone:"январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь".split("_")},monthsShort:{format:"янв._февр._мар._апр._мая_июня_июля_авг._сент._окт._нояб._дек.".split("_"),standalone:"янв._февр._март_апр._май_июнь_июль_авг._сент._окт._нояб._дек.".split("_")},weekdays:{standalone:"воскресенье_понедельник_вторник_среда_четверг_пятница_суббота".split("_"),format:"воскресенье_понедельник_вторник_среду_четверг_пятницу_субботу".split("_"),isFormat:/\[ ?[Вв] ?(?:прошлую|следующую|эту)? ?\] ?dddd/},weekdaysShort:"вс_пн_вт_ср_чт_пт_сб".split("_"),weekdaysMin:"вс_пн_вт_ср_чт_пт_сб".split("_"),monthsParse:a,longMonthsParse:a,shortMonthsParse:a,monthsRegex:/^(январ[ья]|янв\.?|феврал[ья]|февр?\.?|марта?|мар\.?|апрел[ья]|апр\.?|ма[йя]|июн[ья]|июн\.?|июл[ья]|июл\.?|августа?|авг\.?|сентябр[ья]|сент?\.?|октябр[ья]|окт\.?|ноябр[ья]|нояб?\.?|декабр[ья]|дек\.?)/i,monthsShortRegex:/^(январ[ья]|янв\.?|феврал[ья]|февр?\.?|марта?|мар\.?|апрел[ья]|апр\.?|ма[йя]|июн[ья]|июн\.?|июл[ья]|июл\.?|августа?|авг\.?|сентябр[ья]|сент?\.?|октябр[ья]|окт\.?|ноябр[ья]|нояб?\.?|декабр[ья]|дек\.?)/i,monthsStrictRegex:/^(январ[яь]|феврал[яь]|марта?|апрел[яь]|ма[яй]|июн[яь]|июл[яь]|августа?|сентябр[яь]|октябр[яь]|ноябр[яь]|декабр[яь])/i,monthsShortStrictRegex:/^(янв\.|февр?\.|мар[т.]|апр\.|ма[яй]|июн[ья.]|июл[ья.]|авг\.|сент?\.|окт\.|нояб?\.|дек\.)/i,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY г.",LLL:"D MMMM YYYY г., H:mm",LLLL:"dddd, D MMMM YYYY г., H:mm"},calendar:{sameDay:"[Сегодня, в] LT",nextDay:"[Завтра, в] LT",lastDay:"[Вчера, в] LT",nextWeek:function(e){if(e.week()===this.week())return 2===this.day()?"[Во] dddd, [в] LT":"[В] dddd, [в] LT";switch(this.day()){case 0:return"[В следующее] dddd, [в] LT";case 1:case 2:case 4:return"[В следующий] dddd, [в] LT";case 3:case 5:case 6:return"[В следующую] dddd, [в] LT"}},lastWeek:function(e){if(e.week()===this.week())return 2===this.day()?"[Во] dddd, [в] LT":"[В] dddd, [в] LT";switch(this.day()){case 0:return"[В прошлое] dddd, [в] LT";case 1:case 2:case 4:return"[В прошлый] dddd, [в] LT";case 3:case 5:case 6:return"[В прошлую] dddd, [в] LT"}},sameElse:"L"},relativeTime:{future:"через %s",past:"%s назад",s:"несколько секунд",ss:t,m:t,mm:t,h:"час",hh:t,d:"день",dd:t,M:"месяц",MM:t,y:"год",yy:t},meridiemParse:/ночи|утра|дня|вечера/i,isPM:function(e){return/^(дня|вечера)$/.test(e)},meridiem:function(e,t,a){return e<4?"ночи":e<12?"утра":e<17?"дня":"вечера"},dayOfMonthOrdinalParse:/\d{1,2}-(й|го|я)/,ordinal:function(e,t){switch(t){case"M":case"d":case"DDD":return e+"-й";case"D":return e+"-го";case"w":case"W":return e+"-я";default:return e}},week:{dow:1,doy:4}})}(a(0))},function(e,t,a){!function(e){"use strict";function t(e,t,a){var n=" ";return(e%100>=20||e>=100&&e%100==0)&&(n=" de "),e+n+{ss:"secunde",mm:"minute",hh:"ore",dd:"zile",MM:"luni",yy:"ani"}[a]}e.defineLocale("ro",{months:"ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie".split("_"),monthsShort:"ian._febr._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"duminică_luni_marți_miercuri_joi_vineri_sâmbătă".split("_"),weekdaysShort:"Dum_Lun_Mar_Mie_Joi_Vin_Sâm".split("_"),weekdaysMin:"Du_Lu_Ma_Mi_Jo_Vi_Sâ".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[azi la] LT",nextDay:"[mâine la] LT",nextWeek:"dddd [la] LT",lastDay:"[ieri la] LT",lastWeek:"[fosta] dddd [la] LT",sameElse:"L"},relativeTime:{future:"peste %s",past:"%s în urmă",s:"câteva secunde",ss:t,m:"un minut",mm:t,h:"o oră",hh:t,d:"o zi",dd:t,M:"o lună",MM:t,y:"un an",yy:t},week:{dow:1,doy:7}})}(a(0))},function(e,t,a){!function(e){"use strict";e.defineLocale("pt-br",{months:"janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro".split("_"),monthsShort:"jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez".split("_"),weekdays:"Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado".split("_"),weekdaysShort:"Dom_Seg_Ter_Qua_Qui_Sex_Sáb".split("_"),weekdaysMin:"Do_2ª_3ª_4ª_5ª_6ª_Sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY [às] HH:mm",LLLL:"dddd, D [de] MMMM [de] YYYY [às] HH:mm"},calendar:{sameDay:"[Hoje às] LT",nextDay:"[Amanhã às] LT",nextWeek:"dddd [às] LT",lastDay:"[Ontem às] LT",lastWeek:function(){return 0===this.day()||6===this.day()?"[Último] dddd [às] LT":"[Última] dddd [às] LT"},sameElse:"L"},relativeTime:{future:"em %s",past:"há %s",s:"poucos segundos",ss:"%d segundos",m:"um minuto",mm:"%d minutos",h:"uma hora",hh:"%d horas",d:"um dia",dd:"%d dias",M:"um mês",MM:"%d meses",y:"um ano",yy:"%d anos"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº"})}(a(0))},function(e,t,a){!function(e){"use strict";e.defineLocale("pt",{months:"janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro".split("_"),monthsShort:"jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez".split("_"),weekdays:"Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado".split("_"),weekdaysShort:"Dom_Seg_Ter_Qua_Qui_Sex_Sáb".split("_"),weekdaysMin:"Do_2ª_3ª_4ª_5ª_6ª_Sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY HH:mm",LLLL:"dddd, D [de] MMMM [de] YYYY HH:mm"},calendar:{sameDay:"[Hoje às] LT",nextDay:"[Amanhã às] LT",nextWeek:"dddd [às] LT",lastDay:"[Ontem às] LT",lastWeek:function(){return 0===this.day()||6===this.day()?"[Último] dddd [às] LT":"[Última] dddd [às] LT"},sameElse:"L"},relativeTime:{future:"em %s",past:"há %s",s:"segundos",ss:"%d segundos",m:"um minuto",mm:"%d minutos",h:"uma hora",hh:"%d horas",d:"um dia",dd:"%d dias",M:"um mês",MM:"%d meses",y:"um ano",yy:"%d anos"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}})}(a(0))},function(e,t,a){!function(e){"use strict";var t="styczeń_luty_marzec_kwiecień_maj_czerwiec_lipiec_sierpień_wrzesień_październik_listopad_grudzień".split("_"),a="stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_września_października_listopada_grudnia".split("_");function n(e){return e%10<5&&e%10>1&&~~(e/10)%10!=1}function c(e,t,a){var c=e+" ";switch(a){case"ss":return c+(n(e)?"sekundy":"sekund");case"m":return t?"minuta":"minutę";case"mm":return c+(n(e)?"minuty":"minut");case"h":return t?"godzina":"godzinę";case"hh":return c+(n(e)?"godziny":"godzin");case"MM":return c+(n(e)?"miesiące":"miesięcy");case"yy":return c+(n(e)?"lata":"lat")}}e.defineLocale("pl",{months:function(e,n){return e?""===n?"("+a[e.month()]+"|"+t[e.month()]+")":/D MMMM/.test(n)?a[e.month()]:t[e.month()]:t},monthsShort:"sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paź_lis_gru".split("_"),weekdays:"niedziela_poniedziałek_wtorek_środa_czwartek_piątek_sobota".split("_"),weekdaysShort:"ndz_pon_wt_śr_czw_pt_sob".split("_"),weekdaysMin:"Nd_Pn_Wt_Śr_Cz_Pt_So".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Dziś o] LT",nextDay:"[Jutro o] LT",nextWeek:function(){switch(this.day()){case 0:return"[W niedzielę o] LT";case 2:return"[We wtorek o] LT";case 3:return"[W środę o] LT";case 6:return"[W sobotę o] LT";default:return"[W] dddd [o] LT"}},lastDay:"[Wczoraj o] LT",lastWeek:function(){switch(this.day()){case 0:return"[W zeszłą niedzielę o] LT";case 3:return"[W zeszłą środę o] LT";case 6:return"[W zeszłą sobotę o] LT";default:return"[W zeszły] dddd [o] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"%s temu",s:"kilka sekund",ss:c,m:c,mm:c,h:c,hh:c,d:"1 dzień",dd:"%d dni",M:"miesiąc",MM:c,y:"rok",yy:c},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(a(0))},function(e,t,a){!function(e){"use strict";var t={1:"੧",2:"੨",3:"੩",4:"੪",5:"੫",6:"੬",7:"੭",8:"੮",9:"੯",0:"੦"},a={"੧":"1","੨":"2","੩":"3","੪":"4","੫":"5","੬":"6","੭":"7","੮":"8","੯":"9","੦":"0"};e.defineLocale("pa-in",{months:"ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ".split("_"),monthsShort:"ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ".split("_"),weekdays:"ਐਤਵਾਰ_ਸੋਮਵਾਰ_ਮੰਗਲਵਾਰ_ਬੁਧਵਾਰ_ਵੀਰਵਾਰ_ਸ਼ੁੱਕਰਵਾਰ_ਸ਼ਨੀਚਰਵਾਰ".split("_"),weekdaysShort:"ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ".split("_"),weekdaysMin:"ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ".split("_"),longDateFormat:{LT:"A h:mm ਵਜੇ",LTS:"A h:mm:ss ਵਜੇ",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm ਵਜੇ",LLLL:"dddd, D MMMM YYYY, A h:mm ਵਜੇ"},calendar:{sameDay:"[ਅਜ] LT",nextDay:"[ਕਲ] LT",nextWeek:"[ਅਗਲਾ] dddd, LT",lastDay:"[ਕਲ] LT",lastWeek:"[ਪਿਛਲੇ] dddd, LT",sameElse:"L"},relativeTime:{future:"%s ਵਿੱਚ",past:"%s ਪਿਛਲੇ",s:"ਕੁਝ ਸਕਿੰਟ",ss:"%d ਸਕਿੰਟ",m:"ਇਕ ਮਿੰਟ",mm:"%d ਮਿੰਟ",h:"ਇੱਕ ਘੰਟਾ",hh:"%d ਘੰਟੇ",d:"ਇੱਕ ਦਿਨ",dd:"%d ਦਿਨ",M:"ਇੱਕ ਮਹੀਨਾ",MM:"%d ਮਹੀਨੇ",y:"ਇੱਕ ਸਾਲ",yy:"%d ਸਾਲ"},preparse:function(e){return e.replace(/[੧੨੩੪੫੬੭੮੯੦]/g,function(e){return a[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return t[e]})},meridiemParse:/ਰਾਤ|ਸਵੇਰ|ਦੁਪਹਿਰ|ਸ਼ਾਮ/,meridiemHour:function(e,t){return 12===e&&(e=0),"ਰਾਤ"===t?e<4?e:e+12:"ਸਵੇਰ"===t?e:"ਦੁਪਹਿਰ"===t?e>=10?e:e+12:"ਸ਼ਾਮ"===t?e+12:void 0},meridiem:function(e,t,a){return e<4?"ਰਾਤ":e<10?"ਸਵੇਰ":e<17?"ਦੁਪਹਿਰ":e<20?"ਸ਼ਾਮ":"ਰਾਤ"},week:{dow:0,doy:6}})}(a(0))},function(e,t,a){!function(e){"use strict";e.defineLocale("nn",{months:"januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_"),weekdays:"sundag_måndag_tysdag_onsdag_torsdag_fredag_laurdag".split("_"),weekdaysShort:"sun_mån_tys_ons_tor_fre_lau".split("_"),weekdaysMin:"su_må_ty_on_to_fr_lø".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] H:mm",LLLL:"dddd D. MMMM YYYY [kl.] HH:mm"},calendar:{sameDay:"[I dag klokka] LT",nextDay:"[I morgon klokka] LT",nextWeek:"dddd [klokka] LT",lastDay:"[I går klokka] LT",lastWeek:"[Føregåande] dddd [klokka] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"%s sidan",s:"nokre sekund",ss:"%d sekund",m:"eit minutt",mm:"%d minutt",h:"ein time",hh:"%d timar",d:"ein dag",dd:"%d dagar",M:"ein månad",MM:"%d månader",y:"eit år",yy:"%d år"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(a(0))},function(e,t,a){!function(e){"use strict";var t="jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.".split("_"),a="jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec".split("_"),n=[/^jan/i,/^feb/i,/^maart|mrt.?$/i,/^apr/i,/^mei$/i,/^jun[i.]?$/i,/^jul[i.]?$/i,/^aug/i,/^sep/i,/^okt/i,/^nov/i,/^dec/i],c=/^(januari|februari|maart|april|mei|april|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i;e.defineLocale("nl-be",{months:"januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december".split("_"),monthsShort:function(e,n){return e?/-MMM-/.test(n)?a[e.month()]:t[e.month()]:t},monthsRegex:c,monthsShortRegex:c,monthsStrictRegex:/^(januari|februari|maart|mei|ju[nl]i|april|augustus|september|oktober|november|december)/i,monthsShortStrictRegex:/^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,monthsParse:n,longMonthsParse:n,shortMonthsParse:n,weekdays:"zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag".split("_"),weekdaysShort:"zo._ma._di._wo._do._vr._za.".split("_"),weekdaysMin:"zo_ma_di_wo_do_vr_za".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[vandaag om] LT",nextDay:"[morgen om] LT",nextWeek:"dddd [om] LT",lastDay:"[gisteren om] LT",lastWeek:"[afgelopen] dddd [om] LT",sameElse:"L"},relativeTime:{future:"over %s",past:"%s geleden",s:"een paar seconden",ss:"%d seconden",m:"één minuut",mm:"%d minuten",h:"één uur",hh:"%d uur",d:"één dag",dd:"%d dagen",M:"één maand",MM:"%d maanden",y:"één jaar",yy:"%d jaar"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(e){return e+(1===e||8===e||e>=20?"ste":"de")},week:{dow:1,doy:4}})}(a(0))},function(e,t,a){!function(e){"use strict";var t="jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.".split("_"),a="jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec".split("_"),n=[/^jan/i,/^feb/i,/^maart|mrt.?$/i,/^apr/i,/^mei$/i,/^jun[i.]?$/i,/^jul[i.]?$/i,/^aug/i,/^sep/i,/^okt/i,/^nov/i,/^dec/i],c=/^(januari|februari|maart|april|mei|april|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i;e.defineLocale("nl",{months:"januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december".split("_"),monthsShort:function(e,n){return e?/-MMM-/.test(n)?a[e.month()]:t[e.month()]:t},monthsRegex:c,monthsShortRegex:c,monthsStrictRegex:/^(januari|februari|maart|mei|ju[nl]i|april|augustus|september|oktober|november|december)/i,monthsShortStrictRegex:/^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,monthsParse:n,longMonthsParse:n,shortMonthsParse:n,weekdays:"zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag".split("_"),weekdaysShort:"zo._ma._di._wo._do._vr._za.".split("_"),weekdaysMin:"zo_ma_di_wo_do_vr_za".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[vandaag om] LT",nextDay:"[morgen om] LT",nextWeek:"dddd [om] LT",lastDay:"[gisteren om] LT",lastWeek:"[afgelopen] dddd [om] LT",sameElse:"L"},relativeTime:{future:"over %s",past:"%s geleden",s:"een paar seconden",ss:"%d seconden",m:"één minuut",mm:"%d minuten",h:"één uur",hh:"%d uur",d:"één dag",dd:"%d dagen",M:"één maand",MM:"%d maanden",y:"één jaar",yy:"%d jaar"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(e){return e+(1===e||8===e||e>=20?"ste":"de")},week:{dow:1,doy:4}})}(a(0))},function(e,t,a){!function(e){"use strict";var t={1:"१",2:"२",3:"३",4:"४",5:"५",6:"६",7:"७",8:"८",9:"९",0:"०"},a={"१":"1","२":"2","३":"3","४":"4","५":"5","६":"6","७":"7","८":"8","९":"9","०":"0"};e.defineLocale("ne",{months:"जनवरी_फेब्रुवरी_मार्च_अप्रिल_मई_जुन_जुलाई_अगष्ट_सेप्टेम्बर_अक्टोबर_नोभेम्बर_डिसेम्बर".split("_"),monthsShort:"जन._फेब्रु._मार्च_अप्रि._मई_जुन_जुलाई._अग._सेप्ट._अक्टो._नोभे._डिसे.".split("_"),monthsParseExact:!0,weekdays:"आइतबार_सोमबार_मङ्गलबार_बुधबार_बिहिबार_शुक्रबार_शनिबार".split("_"),weekdaysShort:"आइत._सोम._मङ्गल._बुध._बिहि._शुक्र._शनि.".split("_"),weekdaysMin:"आ._सो._मं._बु._बि._शु._श.".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"Aको h:mm बजे",LTS:"Aको h:mm:ss बजे",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, Aको h:mm बजे",LLLL:"dddd, D MMMM YYYY, Aको h:mm बजे"},preparse:function(e){return e.replace(/[१२३४५६७८९०]/g,function(e){return a[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return t[e]})},meridiemParse:/राति|बिहान|दिउँसो|साँझ/,meridiemHour:function(e,t){return 12===e&&(e=0),"राति"===t?e<4?e:e+12:"बिहान"===t?e:"दिउँसो"===t?e>=10?e:e+12:"साँझ"===t?e+12:void 0},meridiem:function(e,t,a){return e<3?"राति":e<12?"बिहान":e<16?"दिउँसो":e<20?"साँझ":"राति"},calendar:{sameDay:"[आज] LT",nextDay:"[भोलि] LT",nextWeek:"[आउँदो] dddd[,] LT",lastDay:"[हिजो] LT",lastWeek:"[गएको] dddd[,] LT",sameElse:"L"},relativeTime:{future:"%sमा",past:"%s अगाडि",s:"केही क्षण",ss:"%d सेकेण्ड",m:"एक मिनेट",mm:"%d मिनेट",h:"एक घण्टा",hh:"%d घण्टा",d:"एक दिन",dd:"%d दिन",M:"एक महिना",MM:"%d महिना",y:"एक बर्ष",yy:"%d बर्ष"},week:{dow:0,doy:6}})}(a(0))},function(e,t,a){!function(e){"use strict";e.defineLocale("nb",{months:"januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan._feb._mars_april_mai_juni_juli_aug._sep._okt._nov._des.".split("_"),monthsParseExact:!0,weekdays:"søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag".split("_"),weekdaysShort:"sø._ma._ti._on._to._fr._lø.".split("_"),weekdaysMin:"sø_ma_ti_on_to_fr_lø".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] HH:mm",LLLL:"dddd D. MMMM YYYY [kl.] HH:mm"},calendar:{sameDay:"[i dag kl.] LT",nextDay:"[i morgen kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[i går kl.] LT",lastWeek:"[forrige] dddd [kl.] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"%s siden",s:"noen sekunder",ss:"%d sekunder",m:"ett minutt",mm:"%d minutter",h:"en time",hh:"%d timer",d:"en dag",dd:"%d dager",M:"en måned",MM:"%d måneder",y:"ett år",yy:"%d år"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(a(0))},function(e,t,a){!function(e){"use strict";var t={1:"၁",2:"၂",3:"၃",4:"၄",5:"၅",6:"၆",7:"၇",8:"၈",9:"၉",0:"၀"},a={"၁":"1","၂":"2","၃":"3","၄":"4","၅":"5","၆":"6","၇":"7","၈":"8","၉":"9","၀":"0"};e.defineLocale("my",{months:"ဇန်နဝါရီ_ဖေဖော်ဝါရီ_မတ်_ဧပြီ_မေ_ဇွန်_ဇူလိုင်_သြဂုတ်_စက်တင်ဘာ_အောက်တိုဘာ_နိုဝင်ဘာ_ဒီဇင်ဘာ".split("_"),monthsShort:"ဇန်_ဖေ_မတ်_ပြီ_မေ_ဇွန်_လိုင်_သြ_စက်_အောက်_နို_ဒီ".split("_"),weekdays:"တနင်္ဂနွေ_တနင်္လာ_အင်္ဂါ_ဗုဒ္ဓဟူး_ကြာသပတေး_သောကြာ_စနေ".split("_"),weekdaysShort:"နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ".split("_"),weekdaysMin:"နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[ယနေ.] LT [မှာ]",nextDay:"[မနက်ဖြန်] LT [မှာ]",nextWeek:"dddd LT [မှာ]",lastDay:"[မနေ.က] LT [မှာ]",lastWeek:"[ပြီးခဲ့သော] dddd LT [မှာ]",sameElse:"L"},relativeTime:{future:"လာမည့် %s မှာ",past:"လွန်ခဲ့သော %s က",s:"စက္ကန်.အနည်းငယ်",ss:"%d စက္ကန့်",m:"တစ်မိနစ်",mm:"%d မိနစ်",h:"တစ်နာရီ",hh:"%d နာရီ",d:"တစ်ရက်",dd:"%d ရက်",M:"တစ်လ",MM:"%d လ",y:"တစ်နှစ်",yy:"%d နှစ်"},preparse:function(e){return e.replace(/[၁၂၃၄၅၆၇၈၉၀]/g,function(e){return a[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return t[e]})},week:{dow:1,doy:4}})}(a(0))},function(e,t,a){!function(e){"use strict";e.defineLocale("mt",{months:"Jannar_Frar_Marzu_April_Mejju_Ġunju_Lulju_Awwissu_Settembru_Ottubru_Novembru_Diċembru".split("_"),monthsShort:"Jan_Fra_Mar_Apr_Mej_Ġun_Lul_Aww_Set_Ott_Nov_Diċ".split("_"),weekdays:"Il-Ħadd_It-Tnejn_It-Tlieta_L-Erbgħa_Il-Ħamis_Il-Ġimgħa_Is-Sibt".split("_"),weekdaysShort:"Ħad_Tne_Tli_Erb_Ħam_Ġim_Sib".split("_"),weekdaysMin:"Ħa_Tn_Tl_Er_Ħa_Ġi_Si".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Illum fil-]LT",nextDay:"[Għada fil-]LT",nextWeek:"dddd [fil-]LT",lastDay:"[Il-bieraħ fil-]LT",lastWeek:"dddd [li għadda] [fil-]LT",sameElse:"L"},relativeTime:{future:"f’ %s",past:"%s ilu",s:"ftit sekondi",ss:"%d sekondi",m:"minuta",mm:"%d minuti",h:"siegħa",hh:"%d siegħat",d:"ġurnata",dd:"%d ġranet",M:"xahar",MM:"%d xhur",y:"sena",yy:"%d sni"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}})}(a(0))},function(e,t,a){!function(e){"use strict";e.defineLocale("ms-my",{months:"Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis".split("_"),weekdays:"Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu".split("_"),weekdaysShort:"Ahd_Isn_Sel_Rab_Kha_Jum_Sab".split("_"),weekdaysMin:"Ah_Is_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/pagi|tengahari|petang|malam/,meridiemHour:function(e,t){return 12===e&&(e=0),"pagi"===t?e:"tengahari"===t?e>=11?e:e+12:"petang"===t||"malam"===t?e+12:void 0},meridiem:function(e,t,a){return e<11?"pagi":e<15?"tengahari":e<19?"petang":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Esok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kelmarin pukul] LT",lastWeek:"dddd [lepas pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lepas",s:"beberapa saat",ss:"%d saat",m:"seminit",mm:"%d minit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,doy:7}})}(a(0))},function(e,t,a){!function(e){"use strict";e.defineLocale("ms",{months:"Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis".split("_"),weekdays:"Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu".split("_"),weekdaysShort:"Ahd_Isn_Sel_Rab_Kha_Jum_Sab".split("_"),weekdaysMin:"Ah_Is_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/pagi|tengahari|petang|malam/,meridiemHour:function(e,t){return 12===e&&(e=0),"pagi"===t?e:"tengahari"===t?e>=11?e:e+12:"petang"===t||"malam"===t?e+12:void 0},meridiem:function(e,t,a){return e<11?"pagi":e<15?"tengahari":e<19?"petang":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Esok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kelmarin pukul] LT",lastWeek:"dddd [lepas pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lepas",s:"beberapa saat",ss:"%d saat",m:"seminit",mm:"%d minit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,doy:7}})}(a(0))},function(e,t,a){!function(e){"use strict";var t={1:"१",2:"२",3:"३",4:"४",5:"५",6:"६",7:"७",8:"८",9:"९",0:"०"},a={"१":"1","२":"2","३":"3","४":"4","५":"5","६":"6","७":"7","८":"8","९":"9","०":"0"};function n(e,t,a,n){var c="";if(t)switch(a){case"s":c="काही सेकंद";break;case"ss":c="%d सेकंद";break;case"m":c="एक मिनिट";break;case"mm":c="%d मिनिटे";break;case"h":c="एक तास";break;case"hh":c="%d तास";break;case"d":c="एक दिवस";break;case"dd":c="%d दिवस";break;case"M":c="एक महिना";break;case"MM":c="%d महिने";break;case"y":c="एक वर्ष";break;case"yy":c="%d वर्षे"}else switch(a){case"s":c="काही सेकंदां";break;case"ss":c="%d सेकंदां";break;case"m":c="एका मिनिटा";break;case"mm":c="%d मिनिटां";break;case"h":c="एका तासा";break;case"hh":c="%d तासां";break;case"d":c="एका दिवसा";break;case"dd":c="%d दिवसां";break;case"M":c="एका महिन्या";break;case"MM":c="%d महिन्यां";break;case"y":c="एका वर्षा";break;case"yy":c="%d वर्षां"}return c.replace(/%d/i,e)}e.defineLocale("mr",{months:"जानेवारी_फेब्रुवारी_मार्च_एप्रिल_मे_जून_जुलै_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर".split("_"),monthsShort:"जाने._फेब्रु._मार्च._एप्रि._मे._जून._जुलै._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.".split("_"),monthsParseExact:!0,weekdays:"रविवार_सोमवार_मंगळवार_बुधवार_गुरूवार_शुक्रवार_शनिवार".split("_"),weekdaysShort:"रवि_सोम_मंगळ_बुध_गुरू_शुक्र_शनि".split("_"),weekdaysMin:"र_सो_मं_बु_गु_शु_श".split("_"),longDateFormat:{LT:"A h:mm वाजता",LTS:"A h:mm:ss वाजता",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm वाजता",LLLL:"dddd, D MMMM YYYY, A h:mm वाजता"},calendar:{sameDay:"[आज] LT",nextDay:"[उद्या] LT",nextWeek:"dddd, LT",lastDay:"[काल] LT",lastWeek:"[मागील] dddd, LT",sameElse:"L"},relativeTime:{future:"%sमध्ये",past:"%sपूर्वी",s:n,ss:n,m:n,mm:n,h:n,hh:n,d:n,dd:n,M:n,MM:n,y:n,yy:n},preparse:function(e){return e.replace(/[१२३४५६७८९०]/g,function(e){return a[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return t[e]})},meridiemParse:/रात्री|सकाळी|दुपारी|सायंकाळी/,meridiemHour:function(e,t){return 12===e&&(e=0),"रात्री"===t?e<4?e:e+12:"सकाळी"===t?e:"दुपारी"===t?e>=10?e:e+12:"सायंकाळी"===t?e+12:void 0},meridiem:function(e,t,a){return e<4?"रात्री":e<10?"सकाळी":e<17?"दुपारी":e<20?"सायंकाळी":"रात्री"},week:{dow:0,doy:6}})}(a(0))},function(e,t,a){!function(e){"use strict";function t(e,t,a,n){switch(a){case"s":return t?"хэдхэн секунд":"хэдхэн секундын";case"ss":return e+(t?" секунд":" секундын");case"m":case"mm":return e+(t?" минут":" минутын");case"h":case"hh":return e+(t?" цаг":" цагийн");case"d":case"dd":return e+(t?" өдөр":" өдрийн");case"M":case"MM":return e+(t?" сар":" сарын");case"y":case"yy":return e+(t?" жил":" жилийн");default:return e}}e.defineLocale("mn",{months:"Нэгдүгээр сар_Хоёрдугаар сар_Гуравдугаар сар_Дөрөвдүгээр сар_Тавдугаар сар_Зургадугаар сар_Долдугаар сар_Наймдугаар сар_Есдүгээр сар_Аравдугаар сар_Арван нэгдүгээр сар_Арван хоёрдугаар сар".split("_"),monthsShort:"1 сар_2 сар_3 сар_4 сар_5 сар_6 сар_7 сар_8 сар_9 сар_10 сар_11 сар_12 сар".split("_"),monthsParseExact:!0,weekdays:"Ням_Даваа_Мягмар_Лхагва_Пүрэв_Баасан_Бямба".split("_"),weekdaysShort:"Ням_Дав_Мяг_Лха_Пүр_Баа_Бям".split("_"),weekdaysMin:"Ня_Да_Мя_Лх_Пү_Ба_Бя".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY оны MMMMын D",LLL:"YYYY оны MMMMын D HH:mm",LLLL:"dddd, YYYY оны MMMMын D HH:mm"},meridiemParse:/ҮӨ|ҮХ/i,isPM:function(e){return"ҮХ"===e},meridiem:function(e,t,a){return e<12?"ҮӨ":"ҮХ"},calendar:{sameDay:"[Өнөөдөр] LT",nextDay:"[Маргааш] LT",nextWeek:"[Ирэх] dddd LT",lastDay:"[Өчигдөр] LT",lastWeek:"[Өнгөрсөн] dddd LT",sameElse:"L"},relativeTime:{future:"%s дараа",past:"%s өмнө",s:t,ss:t,m:t,mm:t,h:t,hh:t,d:t,dd:t,M:t,MM:t,y:t,yy:t},dayOfMonthOrdinalParse:/\d{1,2} өдөр/,ordinal:function(e,t){switch(t){case"d":case"D":case"DDD":return e+" өдөр";default:return e}}})}(a(0))},function(e,t,a){!function(e){"use strict";e.defineLocale("ml",{months:"ജനുവരി_ഫെബ്രുവരി_മാർച്ച്_ഏപ്രിൽ_മേയ്_ജൂൺ_ജൂലൈ_ഓഗസ്റ്റ്_സെപ്റ്റംബർ_ഒക്ടോബർ_നവംബർ_ഡിസംബർ".split("_"),monthsShort:"ജനു._ഫെബ്രു._മാർ._ഏപ്രി._മേയ്_ജൂൺ_ജൂലൈ._ഓഗ._സെപ്റ്റ._ഒക്ടോ._നവം._ഡിസം.".split("_"),monthsParseExact:!0,weekdays:"ഞായറാഴ്ച_തിങ്കളാഴ്ച_ചൊവ്വാഴ്ച_ബുധനാഴ്ച_വ്യാഴാഴ്ച_വെള്ളിയാഴ്ച_ശനിയാഴ്ച".split("_"),weekdaysShort:"ഞായർ_തിങ്കൾ_ചൊവ്വ_ബുധൻ_വ്യാഴം_വെള്ളി_ശനി".split("_"),weekdaysMin:"ഞാ_തി_ചൊ_ബു_വ്യാ_വെ_ശ".split("_"),longDateFormat:{LT:"A h:mm -നു",LTS:"A h:mm:ss -നു",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm -നു",LLLL:"dddd, D MMMM YYYY, A h:mm -നു"},calendar:{sameDay:"[ഇന്ന്] LT",nextDay:"[നാളെ] LT",nextWeek:"dddd, LT",lastDay:"[ഇന്നലെ] LT",lastWeek:"[കഴിഞ്ഞ] dddd, LT",sameElse:"L"},relativeTime:{future:"%s കഴിഞ്ഞ്",past:"%s മുൻപ്",s:"അൽപ നിമിഷങ്ങൾ",ss:"%d സെക്കൻഡ്",m:"ഒരു മിനിറ്റ്",mm:"%d മിനിറ്റ്",h:"ഒരു മണിക്കൂർ",hh:"%d മണിക്കൂർ",d:"ഒരു ദിവസം",dd:"%d ദിവസം",M:"ഒരു മാസം",MM:"%d മാസം",y:"ഒരു വർഷം",yy:"%d വർഷം"},meridiemParse:/രാത്രി|രാവിലെ|ഉച്ച കഴിഞ്ഞ്|വൈകുന്നേരം|രാത്രി/i,meridiemHour:function(e,t){return 12===e&&(e=0),"രാത്രി"===t&&e>=4||"ഉച്ച കഴിഞ്ഞ്"===t||"വൈകുന്നേരം"===t?e+12:e},meridiem:function(e,t,a){return e<4?"രാത്രി":e<12?"രാവിലെ":e<17?"ഉച്ച കഴിഞ്ഞ്":e<20?"വൈകുന്നേരം":"രാത്രി"}})}(a(0))},function(e,t,a){!function(e){"use strict";e.defineLocale("mk",{months:"јануари_февруари_март_април_мај_јуни_јули_август_септември_октомври_ноември_декември".split("_"),monthsShort:"јан_фев_мар_апр_мај_јун_јул_авг_сеп_окт_ное_дек".split("_"),weekdays:"недела_понеделник_вторник_среда_четврток_петок_сабота".split("_"),weekdaysShort:"нед_пон_вто_сре_чет_пет_саб".split("_"),weekdaysMin:"нe_пo_вт_ср_че_пе_сa".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"D.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[Денес во] LT",nextDay:"[Утре во] LT",nextWeek:"[Во] dddd [во] LT",lastDay:"[Вчера во] LT",lastWeek:function(){switch(this.day()){case 0:case 3:case 6:return"[Изминатата] dddd [во] LT";case 1:case 2:case 4:case 5:return"[Изминатиот] dddd [во] LT"}},sameElse:"L"},relativeTime:{future:"после %s",past:"пред %s",s:"неколку секунди",ss:"%d секунди",m:"минута",mm:"%d минути",h:"час",hh:"%d часа",d:"ден",dd:"%d дена",M:"месец",MM:"%d месеци",y:"година",yy:"%d години"},dayOfMonthOrdinalParse:/\d{1,2}-(ев|ен|ти|ви|ри|ми)/,ordinal:function(e){var t=e%10,a=e%100;return 0===e?e+"-ев":0===a?e+"-ен":a>10&&a<20?e+"-ти":1===t?e+"-ви":2===t?e+"-ри":7===t||8===t?e+"-ми":e+"-ти"},week:{dow:1,doy:7}})}(a(0))},function(e,t,a){!function(e){"use strict";e.defineLocale("mi",{months:"Kohi-tāte_Hui-tanguru_Poutū-te-rangi_Paenga-whāwhā_Haratua_Pipiri_Hōngoingoi_Here-turi-kōkā_Mahuru_Whiringa-ā-nuku_Whiringa-ā-rangi_Hakihea".split("_"),monthsShort:"Kohi_Hui_Pou_Pae_Hara_Pipi_Hōngoi_Here_Mahu_Whi-nu_Whi-ra_Haki".split("_"),monthsRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,monthsStrictRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,monthsShortRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,monthsShortStrictRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,2}/i,weekdays:"Rātapu_Mane_Tūrei_Wenerei_Tāite_Paraire_Hātarei".split("_"),weekdaysShort:"Ta_Ma_Tū_We_Tāi_Pa_Hā".split("_"),weekdaysMin:"Ta_Ma_Tū_We_Tāi_Pa_Hā".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [i] HH:mm",LLLL:"dddd, D MMMM YYYY [i] HH:mm"},calendar:{sameDay:"[i teie mahana, i] LT",nextDay:"[apopo i] LT",nextWeek:"dddd [i] LT",lastDay:"[inanahi i] LT",lastWeek:"dddd [whakamutunga i] LT",sameElse:"L"},relativeTime:{future:"i roto i %s",past:"%s i mua",s:"te hēkona ruarua",ss:"%d hēkona",m:"he meneti",mm:"%d meneti",h:"te haora",hh:"%d haora",d:"he ra",dd:"%d ra",M:"he marama",MM:"%d marama",y:"he tau",yy:"%d tau"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}})}(a(0))},function(e,t,a){!function(e){"use strict";var t={words:{ss:["sekund","sekunda","sekundi"],m:["jedan minut","jednog minuta"],mm:["minut","minuta","minuta"],h:["jedan sat","jednog sata"],hh:["sat","sata","sati"],dd:["dan","dana","dana"],MM:["mjesec","mjeseca","mjeseci"],yy:["godina","godine","godina"]},correctGrammaticalCase:function(e,t){return 1===e?t[0]:e>=2&&e<=4?t[1]:t[2]},translate:function(e,a,n){var c=t.words[n];return 1===n.length?a?c[0]:c[1]:e+" "+t.correctGrammaticalCase(e,c)}};e.defineLocale("me",{months:"januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar".split("_"),monthsShort:"jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._čet._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_če_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sjutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[juče u] LT",lastWeek:function(){return["[prošle] [nedjelje] [u] LT","[prošlog] [ponedjeljka] [u] LT","[prošlog] [utorka] [u] LT","[prošle] [srijede] [u] LT","[prošlog] [četvrtka] [u] LT","[prošlog] [petka] [u] LT","[prošle] [subote] [u] LT"][this.day()]},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"nekoliko sekundi",ss:t.translate,m:t.translate,mm:t.translate,h:t.translate,hh:t.translate,d:"dan",dd:t.translate,M:"mjesec",MM:t.translate,y:"godinu",yy:t.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}(a(0))},function(e,t,a){!function(e){"use strict";var t={ss:"sekundes_sekundēm_sekunde_sekundes".split("_"),m:"minūtes_minūtēm_minūte_minūtes".split("_"),mm:"minūtes_minūtēm_minūte_minūtes".split("_"),h:"stundas_stundām_stunda_stundas".split("_"),hh:"stundas_stundām_stunda_stundas".split("_"),d:"dienas_dienām_diena_dienas".split("_"),dd:"dienas_dienām_diena_dienas".split("_"),M:"mēneša_mēnešiem_mēnesis_mēneši".split("_"),MM:"mēneša_mēnešiem_mēnesis_mēneši".split("_"),y:"gada_gadiem_gads_gadi".split("_"),yy:"gada_gadiem_gads_gadi".split("_")};function a(e,t,a){return a?t%10==1&&t%100!=11?e[2]:e[3]:t%10==1&&t%100!=11?e[0]:e[1]}function n(e,n,c){return e+" "+a(t[c],e,n)}function c(e,n,c){return a(t[c],e,n)}e.defineLocale("lv",{months:"janvāris_februāris_marts_aprīlis_maijs_jūnijs_jūlijs_augusts_septembris_oktobris_novembris_decembris".split("_"),monthsShort:"jan_feb_mar_apr_mai_jūn_jūl_aug_sep_okt_nov_dec".split("_"),weekdays:"svētdiena_pirmdiena_otrdiena_trešdiena_ceturtdiena_piektdiena_sestdiena".split("_"),weekdaysShort:"Sv_P_O_T_C_Pk_S".split("_"),weekdaysMin:"Sv_P_O_T_C_Pk_S".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY.",LL:"YYYY. [gada] D. MMMM",LLL:"YYYY. [gada] D. MMMM, HH:mm",LLLL:"YYYY. [gada] D. MMMM, dddd, HH:mm"},calendar:{sameDay:"[Šodien pulksten] LT",nextDay:"[Rīt pulksten] LT",nextWeek:"dddd [pulksten] LT",lastDay:"[Vakar pulksten] LT",lastWeek:"[Pagājušā] dddd [pulksten] LT",sameElse:"L"},relativeTime:{future:"pēc %s",past:"pirms %s",s:function(e,t){return t?"dažas sekundes":"dažām sekundēm"},ss:n,m:c,mm:n,h:c,hh:n,d:c,dd:n,M:c,MM:n,y:c,yy:n},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(a(0))},function(e,t,a){!function(e){"use strict";var t={ss:"sekundė_sekundžių_sekundes",m:"minutė_minutės_minutę",mm:"minutės_minučių_minutes",h:"valanda_valandos_valandą",hh:"valandos_valandų_valandas",d:"diena_dienos_dieną",dd:"dienos_dienų_dienas",M:"mėnuo_mėnesio_mėnesį",MM:"mėnesiai_mėnesių_mėnesius",y:"metai_metų_metus",yy:"metai_metų_metus"};function a(e,t,a,n){return t?c(a)[0]:n?c(a)[1]:c(a)[2]}function n(e){return e%10==0||e>10&&e<20}function c(e){return t[e].split("_")}function i(e,t,i,o){var s=e+" ";return 1===e?s+a(0,t,i[0],o):t?s+(n(e)?c(i)[1]:c(i)[0]):o?s+c(i)[1]:s+(n(e)?c(i)[1]:c(i)[2])}e.defineLocale("lt",{months:{format:"sausio_vasario_kovo_balandžio_gegužės_birželio_liepos_rugpjūčio_rugsėjo_spalio_lapkričio_gruodžio".split("_"),standalone:"sausis_vasaris_kovas_balandis_gegužė_birželis_liepa_rugpjūtis_rugsėjis_spalis_lapkritis_gruodis".split("_"),isFormat:/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?|MMMM?(\[[^\[\]]*\]|\s)+D[oD]?/},monthsShort:"sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd".split("_"),weekdays:{format:"sekmadienį_pirmadienį_antradienį_trečiadienį_ketvirtadienį_penktadienį_šeštadienį".split("_"),standalone:"sekmadienis_pirmadienis_antradienis_trečiadienis_ketvirtadienis_penktadienis_šeštadienis".split("_"),isFormat:/dddd HH:mm/},weekdaysShort:"Sek_Pir_Ant_Tre_Ket_Pen_Šeš".split("_"),weekdaysMin:"S_P_A_T_K_Pn_Š".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY [m.] MMMM D [d.]",LLL:"YYYY [m.] MMMM D [d.], HH:mm [val.]",LLLL:"YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]",l:"YYYY-MM-DD",ll:"YYYY [m.] MMMM D [d.]",lll:"YYYY [m.] MMMM D [d.], HH:mm [val.]",llll:"YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]"},calendar:{sameDay:"[Šiandien] LT",nextDay:"[Rytoj] LT",nextWeek:"dddd LT",lastDay:"[Vakar] LT",lastWeek:"[Praėjusį] dddd LT",sameElse:"L"},relativeTime:{future:"po %s",past:"prieš %s",s:function(e,t,a,n){return t?"kelios sekundės":n?"kelių sekundžių":"kelias sekundes"},ss:i,m:a,mm:i,h:a,hh:i,d:a,dd:i,M:a,MM:i,y:a,yy:i},dayOfMonthOrdinalParse:/\d{1,2}-oji/,ordinal:function(e){return e+"-oji"},week:{dow:1,doy:4}})}(a(0))},function(e,t,a){!function(e){"use strict";e.defineLocale("lo",{months:"ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ".split("_"),monthsShort:"ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ".split("_"),weekdays:"ອາທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ".split("_"),weekdaysShort:"ທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ".split("_"),weekdaysMin:"ທ_ຈ_ອຄ_ພ_ພຫ_ສກ_ສ".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"ວັນdddd D MMMM YYYY HH:mm"},meridiemParse:/ຕອນເຊົ້າ|ຕອນແລງ/,isPM:function(e){return"ຕອນແລງ"===e},meridiem:function(e,t,a){return e<12?"ຕອນເຊົ້າ":"ຕອນແລງ"},calendar:{sameDay:"[ມື້ນີ້ເວລາ] LT",nextDay:"[ມື້ອື່ນເວລາ] LT",nextWeek:"[ວັນ]dddd[ໜ້າເວລາ] LT",lastDay:"[ມື້ວານນີ້ເວລາ] LT",lastWeek:"[ວັນ]dddd[ແລ້ວນີ້ເວລາ] LT",sameElse:"L"},relativeTime:{future:"ອີກ %s",past:"%sຜ່ານມາ",s:"ບໍ່ເທົ່າໃດວິນາທີ",ss:"%d ວິນາທີ",m:"1 ນາທີ",mm:"%d ນາທີ",h:"1 ຊົ່ວໂມງ",hh:"%d ຊົ່ວໂມງ",d:"1 ມື້",dd:"%d ມື້",M:"1 ເດືອນ",MM:"%d ເດືອນ",y:"1 ປີ",yy:"%d ປີ"},dayOfMonthOrdinalParse:/(ທີ່)\d{1,2}/,ordinal:function(e){return"ທີ່"+e}})}(a(0))},function(e,t,a){!function(e){"use strict";function t(e,t,a,n){var c={m:["eng Minutt","enger Minutt"],h:["eng Stonn","enger Stonn"],d:["een Dag","engem Dag"],M:["ee Mount","engem Mount"],y:["ee Joer","engem Joer"]};return t?c[a][0]:c[a][1]}function a(e){if(e=parseInt(e,10),isNaN(e))return!1;if(e<0)return!0;if(e<10)return 4<=e&&e<=7;if(e<100){var t=e%10,n=e/10;return a(0===t?n:t)}if(e<1e4){for(;e>=10;)e/=10;return a(e)}return a(e/=1e3)}e.defineLocale("lb",{months:"Januar_Februar_Mäerz_Abrëll_Mee_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonndeg_Méindeg_Dënschdeg_Mëttwoch_Donneschdeg_Freideg_Samschdeg".split("_"),weekdaysShort:"So._Mé._Dë._Më._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mé_Dë_Më_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm [Auer]",LTS:"H:mm:ss [Auer]",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm [Auer]",LLLL:"dddd, D. MMMM YYYY H:mm [Auer]"},calendar:{sameDay:"[Haut um] LT",sameElse:"L",nextDay:"[Muer um] LT",nextWeek:"dddd [um] LT",lastDay:"[Gëschter um] LT",lastWeek:function(){switch(this.day()){case 2:case 4:return"[Leschten] dddd [um] LT";default:return"[Leschte] dddd [um] LT"}}},relativeTime:{future:function(e){return a(e.substr(0,e.indexOf(" ")))?"a "+e:"an "+e},past:function(e){return a(e.substr(0,e.indexOf(" ")))?"viru "+e:"virun "+e},s:"e puer Sekonnen",ss:"%d Sekonnen",m:t,mm:"%d Minutten",h:t,hh:"%d Stonnen",d:t,dd:"%d Deeg",M:t,MM:"%d Méint",y:t,yy:"%d Joer"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(a(0))},function(e,t,a){!function(e){"use strict";var t={0:"-чү",1:"-чи",2:"-чи",3:"-чү",4:"-чү",5:"-чи",6:"-чы",7:"-чи",8:"-чи",9:"-чу",10:"-чу",20:"-чы",30:"-чу",40:"-чы",50:"-чү",60:"-чы",70:"-чи",80:"-чи",90:"-чу",100:"-чү"};e.defineLocale("ky",{months:"январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь".split("_"),monthsShort:"янв_фев_март_апр_май_июнь_июль_авг_сен_окт_ноя_дек".split("_"),weekdays:"Жекшемби_Дүйшөмбү_Шейшемби_Шаршемби_Бейшемби_Жума_Ишемби".split("_"),weekdaysShort:"Жек_Дүй_Шей_Шар_Бей_Жум_Ише".split("_"),weekdaysMin:"Жк_Дй_Шй_Шр_Бй_Жм_Иш".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Бүгүн саат] LT",nextDay:"[Эртең саат] LT",nextWeek:"dddd [саат] LT",lastDay:"[Кече саат] LT",lastWeek:"[Өткен аптанын] dddd [күнү] [саат] LT",sameElse:"L"},relativeTime:{future:"%s ичинде",past:"%s мурун",s:"бирнече секунд",ss:"%d секунд",m:"бир мүнөт",mm:"%d мүнөт",h:"бир саат",hh:"%d саат",d:"бир күн",dd:"%d күн",M:"бир ай",MM:"%d ай",y:"бир жыл",yy:"%d жыл"},dayOfMonthOrdinalParse:/\d{1,2}-(чи|чы|чү|чу)/,ordinal:function(e){var a=e%10,n=e>=100?100:null;return e+(t[e]||t[a]||t[n])},week:{dow:1,doy:7}})}(a(0))},function(e,t,a){!function(e){"use strict";e.defineLocale("ko",{months:"1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월".split("_"),monthsShort:"1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월".split("_"),weekdays:"일요일_월요일_화요일_수요일_목요일_금요일_토요일".split("_"),weekdaysShort:"일_월_화_수_목_금_토".split("_"),weekdaysMin:"일_월_화_수_목_금_토".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"YYYY.MM.DD.",LL:"YYYY년 MMMM D일",LLL:"YYYY년 MMMM D일 A h:mm",LLLL:"YYYY년 MMMM D일 dddd A h:mm",l:"YYYY.MM.DD.",ll:"YYYY년 MMMM D일",lll:"YYYY년 MMMM D일 A h:mm",llll:"YYYY년 MMMM D일 dddd A h:mm"},calendar:{sameDay:"오늘 LT",nextDay:"내일 LT",nextWeek:"dddd LT",lastDay:"어제 LT",lastWeek:"지난주 dddd LT",sameElse:"L"},relativeTime:{future:"%s 후",past:"%s 전",s:"몇 초",ss:"%d초",m:"1분",mm:"%d분",h:"한 시간",hh:"%d시간",d:"하루",dd:"%d일",M:"한 달",MM:"%d달",y:"일 년",yy:"%d년"},dayOfMonthOrdinalParse:/\d{1,2}(일|월|주)/,ordinal:function(e,t){switch(t){case"d":case"D":case"DDD":return e+"일";case"M":return e+"월";case"w":case"W":return e+"주";default:return e}},meridiemParse:/오전|오후/,isPM:function(e){return"오후"===e},meridiem:function(e,t,a){return e<12?"오전":"오후"}})}(a(0))},function(e,t,a){!function(e){"use strict";var t={1:"೧",2:"೨",3:"೩",4:"೪",5:"೫",6:"೬",7:"೭",8:"೮",9:"೯",0:"೦"},a={"೧":"1","೨":"2","೩":"3","೪":"4","೫":"5","೬":"6","೭":"7","೮":"8","೯":"9","೦":"0"};e.defineLocale("kn",{months:"ಜನವರಿ_ಫೆಬ್ರವರಿ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂಬರ್_ಅಕ್ಟೋಬರ್_ನವೆಂಬರ್_ಡಿಸೆಂಬರ್".split("_"),monthsShort:"ಜನ_ಫೆಬ್ರ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂ_ಅಕ್ಟೋ_ನವೆಂ_ಡಿಸೆಂ".split("_"),monthsParseExact:!0,weekdays:"ಭಾನುವಾರ_ಸೋಮವಾರ_ಮಂಗಳವಾರ_ಬುಧವಾರ_ಗುರುವಾರ_ಶುಕ್ರವಾರ_ಶನಿವಾರ".split("_"),weekdaysShort:"ಭಾನು_ಸೋಮ_ಮಂಗಳ_ಬುಧ_ಗುರು_ಶುಕ್ರ_ಶನಿ".split("_"),weekdaysMin:"ಭಾ_ಸೋ_ಮಂ_ಬು_ಗು_ಶು_ಶ".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm",LLLL:"dddd, D MMMM YYYY, A h:mm"},calendar:{sameDay:"[ಇಂದು] LT",nextDay:"[ನಾಳೆ] LT",nextWeek:"dddd, LT",lastDay:"[ನಿನ್ನೆ] LT",lastWeek:"[ಕೊನೆಯ] dddd, LT",sameElse:"L"},relativeTime:{future:"%s ನಂತರ",past:"%s ಹಿಂದೆ",s:"ಕೆಲವು ಕ್ಷಣಗಳು",ss:"%d ಸೆಕೆಂಡುಗಳು",m:"ಒಂದು ನಿಮಿಷ",mm:"%d ನಿಮಿಷ",h:"ಒಂದು ಗಂಟೆ",hh:"%d ಗಂಟೆ",d:"ಒಂದು ದಿನ",dd:"%d ದಿನ",M:"ಒಂದು ತಿಂಗಳು",MM:"%d ತಿಂಗಳು",y:"ಒಂದು ವರ್ಷ",yy:"%d ವರ್ಷ"},preparse:function(e){return e.replace(/[೧೨೩೪೫೬೭೮೯೦]/g,function(e){return a[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return t[e]})},meridiemParse:/ರಾತ್ರಿ|ಬೆಳಿಗ್ಗೆ|ಮಧ್ಯಾಹ್ನ|ಸಂಜೆ/,meridiemHour:function(e,t){return 12===e&&(e=0),"ರಾತ್ರಿ"===t?e<4?e:e+12:"ಬೆಳಿಗ್ಗೆ"===t?e:"ಮಧ್ಯಾಹ್ನ"===t?e>=10?e:e+12:"ಸಂಜೆ"===t?e+12:void 0},meridiem:function(e,t,a){return e<4?"ರಾತ್ರಿ":e<10?"ಬೆಳಿಗ್ಗೆ":e<17?"ಮಧ್ಯಾಹ್ನ":e<20?"ಸಂಜೆ":"ರಾತ್ರಿ"},dayOfMonthOrdinalParse:/\d{1,2}(ನೇ)/,ordinal:function(e){return e+"ನೇ"},week:{dow:0,doy:6}})}(a(0))},function(e,t,a){!function(e){"use strict";var t={1:"១",2:"២",3:"៣",4:"៤",5:"៥",6:"៦",7:"៧",8:"៨",9:"៩",0:"០"},a={"១":"1","២":"2","៣":"3","៤":"4","៥":"5","៦":"6","៧":"7","៨":"8","៩":"9","០":"0"};e.defineLocale("km",{months:"មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ".split("_"),monthsShort:"មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ".split("_"),weekdays:"អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍".split("_"),weekdaysShort:"អា_ច_អ_ព_ព្រ_សុ_ស".split("_"),weekdaysMin:"អា_ច_អ_ព_ព្រ_សុ_ស".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},meridiemParse:/ព្រឹក|ល្ងាច/,isPM:function(e){return"ល្ងាច"===e},meridiem:function(e,t,a){return e<12?"ព្រឹក":"ល្ងាច"},calendar:{sameDay:"[ថ្ងៃនេះ ម៉ោង] LT",nextDay:"[ស្អែក ម៉ោង] LT",nextWeek:"dddd [ម៉ោង] LT",lastDay:"[ម្សិលមិញ ម៉ោង] LT",lastWeek:"dddd [សប្តាហ៍មុន] [ម៉ោង] LT",sameElse:"L"},relativeTime:{future:"%sទៀត",past:"%sមុន",s:"ប៉ុន្មានវិនាទី",ss:"%d វិនាទី",m:"មួយនាទី",mm:"%d នាទី",h:"មួយម៉ោង",hh:"%d ម៉ោង",d:"មួយថ្ងៃ",dd:"%d ថ្ងៃ",M:"មួយខែ",MM:"%d ខែ",y:"មួយឆ្នាំ",yy:"%d ឆ្នាំ"},dayOfMonthOrdinalParse:/ទី\d{1,2}/,ordinal:"ទី%d",preparse:function(e){return e.replace(/[១២៣៤៥៦៧៨៩០]/g,function(e){return a[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return t[e]})},week:{dow:1,doy:4}})}(a(0))},function(e,t,a){!function(e){"use strict";var t={0:"-ші",1:"-ші",2:"-ші",3:"-ші",4:"-ші",5:"-ші",6:"-шы",7:"-ші",8:"-ші",9:"-шы",10:"-шы",20:"-шы",30:"-шы",40:"-шы",50:"-ші",60:"-шы",70:"-ші",80:"-ші",90:"-шы",100:"-ші"};e.defineLocale("kk",{months:"қаңтар_ақпан_наурыз_сәуір_мамыр_маусым_шілде_тамыз_қыркүйек_қазан_қараша_желтоқсан".split("_"),monthsShort:"қаң_ақп_нау_сәу_мам_мау_шіл_там_қыр_қаз_қар_жел".split("_"),weekdays:"жексенбі_дүйсенбі_сейсенбі_сәрсенбі_бейсенбі_жұма_сенбі".split("_"),weekdaysShort:"жек_дүй_сей_сәр_бей_жұм_сен".split("_"),weekdaysMin:"жк_дй_сй_ср_бй_жм_сн".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Бүгін сағат] LT",nextDay:"[Ертең сағат] LT",nextWeek:"dddd [сағат] LT",lastDay:"[Кеше сағат] LT",lastWeek:"[Өткен аптаның] dddd [сағат] LT",sameElse:"L"},relativeTime:{future:"%s ішінде",past:"%s бұрын",s:"бірнеше секунд",ss:"%d секунд",m:"бір минут",mm:"%d минут",h:"бір сағат",hh:"%d сағат",d:"бір күн",dd:"%d күн",M:"бір ай",MM:"%d ай",y:"бір жыл",yy:"%d жыл"},dayOfMonthOrdinalParse:/\d{1,2}-(ші|шы)/,ordinal:function(e){var a=e%10,n=e>=100?100:null;return e+(t[e]||t[a]||t[n])},week:{dow:1,doy:7}})}(a(0))},function(e,t,a){!function(e){"use strict";e.defineLocale("ka",{months:{standalone:"იანვარი_თებერვალი_მარტი_აპრილი_მაისი_ივნისი_ივლისი_აგვისტო_სექტემბერი_ოქტომბერი_ნოემბერი_დეკემბერი".split("_"),format:"იანვარს_თებერვალს_მარტს_აპრილის_მაისს_ივნისს_ივლისს_აგვისტს_სექტემბერს_ოქტომბერს_ნოემბერს_დეკემბერს".split("_")},monthsShort:"იან_თებ_მარ_აპრ_მაი_ივნ_ივლ_აგვ_სექ_ოქტ_ნოე_დეკ".split("_"),weekdays:{standalone:"კვირა_ორშაბათი_სამშაბათი_ოთხშაბათი_ხუთშაბათი_პარასკევი_შაბათი".split("_"),format:"კვირას_ორშაბათს_სამშაბათს_ოთხშაბათს_ხუთშაბათს_პარასკევს_შაბათს".split("_"),isFormat:/(წინა|შემდეგ)/},weekdaysShort:"კვი_ორშ_სამ_ოთხ_ხუთ_პარ_შაბ".split("_"),weekdaysMin:"კვ_ორ_სა_ოთ_ხუ_პა_შა".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[დღეს] LT[-ზე]",nextDay:"[ხვალ] LT[-ზე]",lastDay:"[გუშინ] LT[-ზე]",nextWeek:"[შემდეგ] dddd LT[-ზე]",lastWeek:"[წინა] dddd LT-ზე",sameElse:"L"},relativeTime:{future:function(e){return/(წამი|წუთი|საათი|წელი)/.test(e)?e.replace(/ი$/,"ში"):e+"ში"},past:function(e){return/(წამი|წუთი|საათი|დღე|თვე)/.test(e)?e.replace(/(ი|ე)$/,"ის წინ"):/წელი/.test(e)?e.replace(/წელი$/,"წლის წინ"):void 0},s:"რამდენიმე წამი",ss:"%d წამი",m:"წუთი",mm:"%d წუთი",h:"საათი",hh:"%d საათი",d:"დღე",dd:"%d დღე",M:"თვე",MM:"%d თვე",y:"წელი",yy:"%d წელი"},dayOfMonthOrdinalParse:/0|1-ლი|მე-\d{1,2}|\d{1,2}-ე/,ordinal:function(e){return 0===e?e:1===e?e+"-ლი":e<20||e<=100&&e%20==0||e%100==0?"მე-"+e:e+"-ე"},week:{dow:1,doy:7}})}(a(0))},function(e,t,a){!function(e){"use strict";e.defineLocale("jv",{months:"Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember".split("_"),monthsShort:"Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des".split("_"),weekdays:"Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu".split("_"),weekdaysShort:"Min_Sen_Sel_Reb_Kem_Jem_Sep".split("_"),weekdaysMin:"Mg_Sn_Sl_Rb_Km_Jm_Sp".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/enjing|siyang|sonten|ndalu/,meridiemHour:function(e,t){return 12===e&&(e=0),"enjing"===t?e:"siyang"===t?e>=11?e:e+12:"sonten"===t||"ndalu"===t?e+12:void 0},meridiem:function(e,t,a){return e<11?"enjing":e<15?"siyang":e<19?"sonten":"ndalu"},calendar:{sameDay:"[Dinten puniko pukul] LT",nextDay:"[Mbenjang pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kala wingi pukul] LT",lastWeek:"dddd [kepengker pukul] LT",sameElse:"L"},relativeTime:{future:"wonten ing %s",past:"%s ingkang kepengker",s:"sawetawis detik",ss:"%d detik",m:"setunggal menit",mm:"%d menit",h:"setunggal jam",hh:"%d jam",d:"sedinten",dd:"%d dinten",M:"sewulan",MM:"%d wulan",y:"setaun",yy:"%d taun"},week:{dow:1,doy:7}})}(a(0))},function(e,t,a){!function(e){"use strict";e.defineLocale("ja",{months:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),weekdays:"日曜日_月曜日_火曜日_水曜日_木曜日_金曜日_土曜日".split("_"),weekdaysShort:"日_月_火_水_木_金_土".split("_"),weekdaysMin:"日_月_火_水_木_金_土".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY年M月D日",LLL:"YYYY年M月D日 HH:mm",LLLL:"YYYY年M月D日 dddd HH:mm",l:"YYYY/MM/DD",ll:"YYYY年M月D日",lll:"YYYY年M月D日 HH:mm",llll:"YYYY年M月D日(ddd) HH:mm"},meridiemParse:/午前|午後/i,isPM:function(e){return"午後"===e},meridiem:function(e,t,a){return e<12?"午前":"午後"},calendar:{sameDay:"[今日] LT",nextDay:"[明日] LT",nextWeek:function(e){return e.week()=11?e:e+12:"sore"===t||"malam"===t?e+12:void 0},meridiem:function(e,t,a){return e<11?"pagi":e<15?"siang":e<19?"sore":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Besok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kemarin pukul] LT",lastWeek:"dddd [lalu pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lalu",s:"beberapa detik",ss:"%d detik",m:"semenit",mm:"%d menit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,doy:7}})}(a(0))},function(e,t,a){!function(e){"use strict";e.defineLocale("hy-am",{months:{format:"հունվարի_փետրվարի_մարտի_ապրիլի_մայիսի_հունիսի_հուլիսի_օգոստոսի_սեպտեմբերի_հոկտեմբերի_նոյեմբերի_դեկտեմբերի".split("_"),standalone:"հունվար_փետրվար_մարտ_ապրիլ_մայիս_հունիս_հուլիս_օգոստոս_սեպտեմբեր_հոկտեմբեր_նոյեմբեր_դեկտեմբեր".split("_")},monthsShort:"հնվ_փտր_մրտ_ապր_մյս_հնս_հլս_օգս_սպտ_հկտ_նմբ_դկտ".split("_"),weekdays:"կիրակի_երկուշաբթի_երեքշաբթի_չորեքշաբթի_հինգշաբթի_ուրբաթ_շաբաթ".split("_"),weekdaysShort:"կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ".split("_"),weekdaysMin:"կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY թ.",LLL:"D MMMM YYYY թ., HH:mm",LLLL:"dddd, D MMMM YYYY թ., HH:mm"},calendar:{sameDay:"[այսօր] LT",nextDay:"[վաղը] LT",lastDay:"[երեկ] LT",nextWeek:function(){return"dddd [օրը ժամը] LT"},lastWeek:function(){return"[անցած] dddd [օրը ժամը] LT"},sameElse:"L"},relativeTime:{future:"%s հետո",past:"%s առաջ",s:"մի քանի վայրկյան",ss:"%d վայրկյան",m:"րոպե",mm:"%d րոպե",h:"ժամ",hh:"%d ժամ",d:"օր",dd:"%d օր",M:"ամիս",MM:"%d ամիս",y:"տարի",yy:"%d տարի"},meridiemParse:/գիշերվա|առավոտվա|ցերեկվա|երեկոյան/,isPM:function(e){return/^(ցերեկվա|երեկոյան)$/.test(e)},meridiem:function(e){return e<4?"գիշերվա":e<12?"առավոտվա":e<17?"ցերեկվա":"երեկոյան"},dayOfMonthOrdinalParse:/\d{1,2}|\d{1,2}-(ին|րդ)/,ordinal:function(e,t){switch(t){case"DDD":case"w":case"W":case"DDDo":return 1===e?e+"-ին":e+"-րդ";default:return e}},week:{dow:1,doy:7}})}(a(0))},function(e,t,a){!function(e){"use strict";var t="vasárnap hétfőn kedden szerdán csütörtökön pénteken szombaton".split(" ");function a(e,t,a,n){var c=e;switch(a){case"s":return n||t?"néhány másodperc":"néhány másodperce";case"ss":return c+(n||t)?" másodperc":" másodperce";case"m":return"egy"+(n||t?" perc":" perce");case"mm":return c+(n||t?" perc":" perce");case"h":return"egy"+(n||t?" óra":" órája");case"hh":return c+(n||t?" óra":" órája");case"d":return"egy"+(n||t?" nap":" napja");case"dd":return c+(n||t?" nap":" napja");case"M":return"egy"+(n||t?" hónap":" hónapja");case"MM":return c+(n||t?" hónap":" hónapja");case"y":return"egy"+(n||t?" év":" éve");case"yy":return c+(n||t?" év":" éve")}return""}function n(e){return(e?"":"[múlt] ")+"["+t[this.day()]+"] LT[-kor]"}e.defineLocale("hu",{months:"január_február_március_április_május_június_július_augusztus_szeptember_október_november_december".split("_"),monthsShort:"jan_feb_márc_ápr_máj_jún_júl_aug_szept_okt_nov_dec".split("_"),weekdays:"vasárnap_hétfő_kedd_szerda_csütörtök_péntek_szombat".split("_"),weekdaysShort:"vas_hét_kedd_sze_csüt_pén_szo".split("_"),weekdaysMin:"v_h_k_sze_cs_p_szo".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"YYYY.MM.DD.",LL:"YYYY. MMMM D.",LLL:"YYYY. MMMM D. H:mm",LLLL:"YYYY. MMMM D., dddd H:mm"},meridiemParse:/de|du/i,isPM:function(e){return"u"===e.charAt(1).toLowerCase()},meridiem:function(e,t,a){return e<12?!0===a?"de":"DE":!0===a?"du":"DU"},calendar:{sameDay:"[ma] LT[-kor]",nextDay:"[holnap] LT[-kor]",nextWeek:function(){return n.call(this,!0)},lastDay:"[tegnap] LT[-kor]",lastWeek:function(){return n.call(this,!1)},sameElse:"L"},relativeTime:{future:"%s múlva",past:"%s",s:a,ss:a,m:a,mm:a,h:a,hh:a,d:a,dd:a,M:a,MM:a,y:a,yy:a},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(a(0))},function(e,t,a){!function(e){"use strict";function t(e,t,a){var n=e+" ";switch(a){case"ss":return n+=1===e?"sekunda":2===e||3===e||4===e?"sekunde":"sekundi";case"m":return t?"jedna minuta":"jedne minute";case"mm":return n+=1===e?"minuta":2===e||3===e||4===e?"minute":"minuta";case"h":return t?"jedan sat":"jednog sata";case"hh":return n+=1===e?"sat":2===e||3===e||4===e?"sata":"sati";case"dd":return n+=1===e?"dan":"dana";case"MM":return n+=1===e?"mjesec":2===e||3===e||4===e?"mjeseca":"mjeseci";case"yy":return n+=1===e?"godina":2===e||3===e||4===e?"godine":"godina"}}e.defineLocale("hr",{months:{format:"siječnja_veljače_ožujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca".split("_"),standalone:"siječanj_veljača_ožujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac".split("_")},monthsShort:"sij._velj._ožu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.".split("_"),monthsParseExact:!0,weekdays:"nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._čet._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_če_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[jučer u] LT",lastWeek:function(){switch(this.day()){case 0:case 3:return"[prošlu] dddd [u] LT";case 6:return"[prošle] [subote] [u] LT";case 1:case 2:case 4:case 5:return"[prošli] dddd [u] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"par sekundi",ss:t,m:t,mm:t,h:t,hh:t,d:"dan",dd:t,M:"mjesec",MM:t,y:"godinu",yy:t},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}(a(0))},function(e,t,a){!function(e){"use strict";var t={1:"१",2:"२",3:"३",4:"४",5:"५",6:"६",7:"७",8:"८",9:"९",0:"०"},a={"१":"1","२":"2","३":"3","४":"4","५":"5","६":"6","७":"7","८":"8","९":"9","०":"0"};e.defineLocale("hi",{months:"जनवरी_फ़रवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितम्बर_अक्टूबर_नवम्बर_दिसम्बर".split("_"),monthsShort:"जन._फ़र._मार्च_अप्रै._मई_जून_जुल._अग._सित._अक्टू._नव._दिस.".split("_"),monthsParseExact:!0,weekdays:"रविवार_सोमवार_मंगलवार_बुधवार_गुरूवार_शुक्रवार_शनिवार".split("_"),weekdaysShort:"रवि_सोम_मंगल_बुध_गुरू_शुक्र_शनि".split("_"),weekdaysMin:"र_सो_मं_बु_गु_शु_श".split("_"),longDateFormat:{LT:"A h:mm बजे",LTS:"A h:mm:ss बजे",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm बजे",LLLL:"dddd, D MMMM YYYY, A h:mm बजे"},calendar:{sameDay:"[आज] LT",nextDay:"[कल] LT",nextWeek:"dddd, LT",lastDay:"[कल] LT",lastWeek:"[पिछले] dddd, LT",sameElse:"L"},relativeTime:{future:"%s में",past:"%s पहले",s:"कुछ ही क्षण",ss:"%d सेकंड",m:"एक मिनट",mm:"%d मिनट",h:"एक घंटा",hh:"%d घंटे",d:"एक दिन",dd:"%d दिन",M:"एक महीने",MM:"%d महीने",y:"एक वर्ष",yy:"%d वर्ष"},preparse:function(e){return e.replace(/[१२३४५६७८९०]/g,function(e){return a[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return t[e]})},meridiemParse:/रात|सुबह|दोपहर|शाम/,meridiemHour:function(e,t){return 12===e&&(e=0),"रात"===t?e<4?e:e+12:"सुबह"===t?e:"दोपहर"===t?e>=10?e:e+12:"शाम"===t?e+12:void 0},meridiem:function(e,t,a){return e<4?"रात":e<10?"सुबह":e<17?"दोपहर":e<20?"शाम":"रात"},week:{dow:0,doy:6}})}(a(0))},function(e,t,a){!function(e){"use strict";e.defineLocale("he",{months:"ינואר_פברואר_מרץ_אפריל_מאי_יוני_יולי_אוגוסט_ספטמבר_אוקטובר_נובמבר_דצמבר".split("_"),monthsShort:"ינו׳_פבר׳_מרץ_אפר׳_מאי_יוני_יולי_אוג׳_ספט׳_אוק׳_נוב׳_דצמ׳".split("_"),weekdays:"ראשון_שני_שלישי_רביעי_חמישי_שישי_שבת".split("_"),weekdaysShort:"א׳_ב׳_ג׳_ד׳_ה׳_ו׳_ש׳".split("_"),weekdaysMin:"א_ב_ג_ד_ה_ו_ש".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [ב]MMMM YYYY",LLL:"D [ב]MMMM YYYY HH:mm",LLLL:"dddd, D [ב]MMMM YYYY HH:mm",l:"D/M/YYYY",ll:"D MMM YYYY",lll:"D MMM YYYY HH:mm",llll:"ddd, D MMM YYYY HH:mm"},calendar:{sameDay:"[היום ב־]LT",nextDay:"[מחר ב־]LT",nextWeek:"dddd [בשעה] LT",lastDay:"[אתמול ב־]LT",lastWeek:"[ביום] dddd [האחרון בשעה] LT",sameElse:"L"},relativeTime:{future:"בעוד %s",past:"לפני %s",s:"מספר שניות",ss:"%d שניות",m:"דקה",mm:"%d דקות",h:"שעה",hh:function(e){return 2===e?"שעתיים":e+" שעות"},d:"יום",dd:function(e){return 2===e?"יומיים":e+" ימים"},M:"חודש",MM:function(e){return 2===e?"חודשיים":e+" חודשים"},y:"שנה",yy:function(e){return 2===e?"שנתיים":e%10==0&&10!==e?e+" שנה":e+" שנים"}},meridiemParse:/אחה"צ|לפנה"צ|אחרי הצהריים|לפני הצהריים|לפנות בוקר|בבוקר|בערב/i,isPM:function(e){return/^(אחה"צ|אחרי הצהריים|בערב)$/.test(e)},meridiem:function(e,t,a){return e<5?"לפנות בוקר":e<10?"בבוקר":e<12?a?'לפנה"צ':"לפני הצהריים":e<18?a?'אחה"צ':"אחרי הצהריים":"בערב"}})}(a(0))},function(e,t,a){!function(e){"use strict";var t={1:"૧",2:"૨",3:"૩",4:"૪",5:"૫",6:"૬",7:"૭",8:"૮",9:"૯",0:"૦"},a={"૧":"1","૨":"2","૩":"3","૪":"4","૫":"5","૬":"6","૭":"7","૮":"8","૯":"9","૦":"0"};e.defineLocale("gu",{months:"જાન્યુઆરી_ફેબ્રુઆરી_માર્ચ_એપ્રિલ_મે_જૂન_જુલાઈ_ઑગસ્ટ_સપ્ટેમ્બર_ઑક્ટ્બર_નવેમ્બર_ડિસેમ્બર".split("_"),monthsShort:"જાન્યુ._ફેબ્રુ._માર્ચ_એપ્રિ._મે_જૂન_જુલા._ઑગ._સપ્ટે._ઑક્ટ્._નવે._ડિસે.".split("_"),monthsParseExact:!0,weekdays:"રવિવાર_સોમવાર_મંગળવાર_બુધ્વાર_ગુરુવાર_શુક્રવાર_શનિવાર".split("_"),weekdaysShort:"રવિ_સોમ_મંગળ_બુધ્_ગુરુ_શુક્ર_શનિ".split("_"),weekdaysMin:"ર_સો_મં_બુ_ગુ_શુ_શ".split("_"),longDateFormat:{LT:"A h:mm વાગ્યે",LTS:"A h:mm:ss વાગ્યે",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm વાગ્યે",LLLL:"dddd, D MMMM YYYY, A h:mm વાગ્યે"},calendar:{sameDay:"[આજ] LT",nextDay:"[કાલે] LT",nextWeek:"dddd, LT",lastDay:"[ગઇકાલે] LT",lastWeek:"[પાછલા] dddd, LT",sameElse:"L"},relativeTime:{future:"%s મા",past:"%s પેહલા",s:"અમુક પળો",ss:"%d સેકંડ",m:"એક મિનિટ",mm:"%d મિનિટ",h:"એક કલાક",hh:"%d કલાક",d:"એક દિવસ",dd:"%d દિવસ",M:"એક મહિનો",MM:"%d મહિનો",y:"એક વર્ષ",yy:"%d વર્ષ"},preparse:function(e){return e.replace(/[૧૨૩૪૫૬૭૮૯૦]/g,function(e){return a[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return t[e]})},meridiemParse:/રાત|બપોર|સવાર|સાંજ/,meridiemHour:function(e,t){return 12===e&&(e=0),"રાત"===t?e<4?e:e+12:"સવાર"===t?e:"બપોર"===t?e>=10?e:e+12:"સાંજ"===t?e+12:void 0},meridiem:function(e,t,a){return e<4?"રાત":e<10?"સવાર":e<17?"બપોર":e<20?"સાંજ":"રાત"},week:{dow:0,doy:6}})}(a(0))},function(e,t,a){!function(e){"use strict";function t(e,t,a,n){var c={s:["thodde secondanim","thodde second"],ss:[e+" secondanim",e+" second"],m:["eka mintan","ek minute"],mm:[e+" mintanim",e+" mintam"],h:["eka horan","ek hor"],hh:[e+" horanim",e+" horam"],d:["eka disan","ek dis"],dd:[e+" disanim",e+" dis"],M:["eka mhoinean","ek mhoino"],MM:[e+" mhoineanim",e+" mhoine"],y:["eka vorsan","ek voros"],yy:[e+" vorsanim",e+" vorsam"]};return t?c[a][0]:c[a][1]}e.defineLocale("gom-latn",{months:"Janer_Febrer_Mars_Abril_Mai_Jun_Julai_Agost_Setembr_Otubr_Novembr_Dezembr".split("_"),monthsShort:"Jan._Feb._Mars_Abr._Mai_Jun_Jul._Ago._Set._Otu._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Aitar_Somar_Mongllar_Budvar_Brestar_Sukrar_Son'var".split("_"),weekdaysShort:"Ait._Som._Mon._Bud._Bre._Suk._Son.".split("_"),weekdaysMin:"Ai_Sm_Mo_Bu_Br_Su_Sn".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"A h:mm [vazta]",LTS:"A h:mm:ss [vazta]",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY A h:mm [vazta]",LLLL:"dddd, MMMM[achea] Do, YYYY, A h:mm [vazta]",llll:"ddd, D MMM YYYY, A h:mm [vazta]"},calendar:{sameDay:"[Aiz] LT",nextDay:"[Faleam] LT",nextWeek:"[Ieta to] dddd[,] LT",lastDay:"[Kal] LT",lastWeek:"[Fatlo] dddd[,] LT",sameElse:"L"},relativeTime:{future:"%s",past:"%s adim",s:t,ss:t,m:t,mm:t,h:t,hh:t,d:t,dd:t,M:t,MM:t,y:t,yy:t},dayOfMonthOrdinalParse:/\d{1,2}(er)/,ordinal:function(e,t){switch(t){case"D":return e+"er";default:case"M":case"Q":case"DDD":case"d":case"w":case"W":return e}},week:{dow:1,doy:4},meridiemParse:/rati|sokalli|donparam|sanje/,meridiemHour:function(e,t){return 12===e&&(e=0),"rati"===t?e<4?e:e+12:"sokalli"===t?e:"donparam"===t?e>12?e:e+12:"sanje"===t?e+12:void 0},meridiem:function(e,t,a){return e<4?"rati":e<12?"sokalli":e<16?"donparam":e<20?"sanje":"rati"}})}(a(0))},function(e,t,a){!function(e){"use strict";e.defineLocale("gl",{months:"xaneiro_febreiro_marzo_abril_maio_xuño_xullo_agosto_setembro_outubro_novembro_decembro".split("_"),monthsShort:"xan._feb._mar._abr._mai._xuñ._xul._ago._set._out._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"domingo_luns_martes_mércores_xoves_venres_sábado".split("_"),weekdaysShort:"dom._lun._mar._mér._xov._ven._sáb.".split("_"),weekdaysMin:"do_lu_ma_mé_xo_ve_sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY H:mm",LLLL:"dddd, D [de] MMMM [de] YYYY H:mm"},calendar:{sameDay:function(){return"[hoxe "+(1!==this.hours()?"ás":"á")+"] LT"},nextDay:function(){return"[mañá "+(1!==this.hours()?"ás":"á")+"] LT"},nextWeek:function(){return"dddd ["+(1!==this.hours()?"ás":"a")+"] LT"},lastDay:function(){return"[onte "+(1!==this.hours()?"á":"a")+"] LT"},lastWeek:function(){return"[o] dddd [pasado "+(1!==this.hours()?"ás":"a")+"] LT"},sameElse:"L"},relativeTime:{future:function(e){return 0===e.indexOf("un")?"n"+e:"en "+e},past:"hai %s",s:"uns segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"unha hora",hh:"%d horas",d:"un día",dd:"%d días",M:"un mes",MM:"%d meses",y:"un ano",yy:"%d anos"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}})}(a(0))},function(e,t,a){!function(e){"use strict";e.defineLocale("gd",{months:["Am Faoilleach","An Gearran","Am Màrt","An Giblean","An Cèitean","An t-Ògmhios","An t-Iuchar","An Lùnastal","An t-Sultain","An Dàmhair","An t-Samhain","An Dùbhlachd"],monthsShort:["Faoi","Gear","Màrt","Gibl","Cèit","Ògmh","Iuch","Lùn","Sult","Dàmh","Samh","Dùbh"],monthsParseExact:!0,weekdays:["Didòmhnaich","Diluain","Dimàirt","Diciadain","Diardaoin","Dihaoine","Disathairne"],weekdaysShort:["Did","Dil","Dim","Dic","Dia","Dih","Dis"],weekdaysMin:["Dò","Lu","Mà","Ci","Ar","Ha","Sa"],longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[An-diugh aig] LT",nextDay:"[A-màireach aig] LT",nextWeek:"dddd [aig] LT",lastDay:"[An-dè aig] LT",lastWeek:"dddd [seo chaidh] [aig] LT",sameElse:"L"},relativeTime:{future:"ann an %s",past:"bho chionn %s",s:"beagan diogan",ss:"%d diogan",m:"mionaid",mm:"%d mionaidean",h:"uair",hh:"%d uairean",d:"latha",dd:"%d latha",M:"mìos",MM:"%d mìosan",y:"bliadhna",yy:"%d bliadhna"},dayOfMonthOrdinalParse:/\d{1,2}(d|na|mh)/,ordinal:function(e){var t=1===e?"d":e%10==2?"na":"mh";return e+t},week:{dow:1,doy:4}})}(a(0))},function(e,t,a){!function(e){"use strict";var t="jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.".split("_"),a="jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_");e.defineLocale("fy",{months:"jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber".split("_"),monthsShort:function(e,n){return e?/-MMM-/.test(n)?a[e.month()]:t[e.month()]:t},monthsParseExact:!0,weekdays:"snein_moandei_tiisdei_woansdei_tongersdei_freed_sneon".split("_"),weekdaysShort:"si._mo._ti._wo._to._fr._so.".split("_"),weekdaysMin:"Si_Mo_Ti_Wo_To_Fr_So".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[hjoed om] LT",nextDay:"[moarn om] LT",nextWeek:"dddd [om] LT",lastDay:"[juster om] LT",lastWeek:"[ôfrûne] dddd [om] LT",sameElse:"L"},relativeTime:{future:"oer %s",past:"%s lyn",s:"in pear sekonden",ss:"%d sekonden",m:"ien minút",mm:"%d minuten",h:"ien oere",hh:"%d oeren",d:"ien dei",dd:"%d dagen",M:"ien moanne",MM:"%d moannen",y:"ien jier",yy:"%d jierren"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(e){return e+(1===e||8===e||e>=20?"ste":"de")},week:{dow:1,doy:4}})}(a(0))},function(e,t,a){!function(e){"use strict";e.defineLocale("fr-ch",{months:"janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre".split("_"),monthsShort:"janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.".split("_"),monthsParseExact:!0,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"di_lu_ma_me_je_ve_sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd’hui à] LT",nextDay:"[Demain à] LT",nextWeek:"dddd [à] LT",lastDay:"[Hier à] LT",lastWeek:"dddd [dernier à] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",ss:"%d secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},dayOfMonthOrdinalParse:/\d{1,2}(er|e)/,ordinal:function(e,t){switch(t){default:case"M":case"Q":case"D":case"DDD":case"d":return e+(1===e?"er":"e");case"w":case"W":return e+(1===e?"re":"e")}},week:{dow:1,doy:4}})}(a(0))},function(e,t,a){!function(e){"use strict";e.defineLocale("fr-ca",{months:"janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre".split("_"),monthsShort:"janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.".split("_"),monthsParseExact:!0,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"di_lu_ma_me_je_ve_sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd’hui à] LT",nextDay:"[Demain à] LT",nextWeek:"dddd [à] LT",lastDay:"[Hier à] LT",lastWeek:"dddd [dernier à] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",ss:"%d secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},dayOfMonthOrdinalParse:/\d{1,2}(er|e)/,ordinal:function(e,t){switch(t){default:case"M":case"Q":case"D":case"DDD":case"d":return e+(1===e?"er":"e");case"w":case"W":return e+(1===e?"re":"e")}}})}(a(0))},function(e,t,a){!function(e){"use strict";e.defineLocale("fr",{months:"janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre".split("_"),monthsShort:"janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.".split("_"),monthsParseExact:!0,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"di_lu_ma_me_je_ve_sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd’hui à] LT",nextDay:"[Demain à] LT",nextWeek:"dddd [à] LT",lastDay:"[Hier à] LT",lastWeek:"dddd [dernier à] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",ss:"%d secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},dayOfMonthOrdinalParse:/\d{1,2}(er|)/,ordinal:function(e,t){switch(t){case"D":return e+(1===e?"er":"");default:case"M":case"Q":case"DDD":case"d":return e+(1===e?"er":"e");case"w":case"W":return e+(1===e?"re":"e")}},week:{dow:1,doy:4}})}(a(0))},function(e,t,a){!function(e){"use strict";e.defineLocale("fo",{months:"januar_februar_mars_apríl_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_"),weekdays:"sunnudagur_mánadagur_týsdagur_mikudagur_hósdagur_fríggjadagur_leygardagur".split("_"),weekdaysShort:"sun_mán_týs_mik_hós_frí_ley".split("_"),weekdaysMin:"su_má_tý_mi_hó_fr_le".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D. MMMM, YYYY HH:mm"},calendar:{sameDay:"[Í dag kl.] LT",nextDay:"[Í morgin kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[Í gjár kl.] LT",lastWeek:"[síðstu] dddd [kl] LT",sameElse:"L"},relativeTime:{future:"um %s",past:"%s síðani",s:"fá sekund",ss:"%d sekundir",m:"ein minutt",mm:"%d minuttir",h:"ein tími",hh:"%d tímar",d:"ein dagur",dd:"%d dagar",M:"ein mánaði",MM:"%d mánaðir",y:"eitt ár",yy:"%d ár"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(a(0))},function(e,t,a){!function(e){"use strict";var t="nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän".split(" "),a=["nolla","yhden","kahden","kolmen","neljän","viiden","kuuden",t[7],t[8],t[9]];function n(e,n,c,i){var o="";switch(c){case"s":return i?"muutaman sekunnin":"muutama sekunti";case"ss":return i?"sekunnin":"sekuntia";case"m":return i?"minuutin":"minuutti";case"mm":o=i?"minuutin":"minuuttia";break;case"h":return i?"tunnin":"tunti";case"hh":o=i?"tunnin":"tuntia";break;case"d":return i?"päivän":"päivä";case"dd":o=i?"päivän":"päivää";break;case"M":return i?"kuukauden":"kuukausi";case"MM":o=i?"kuukauden":"kuukautta";break;case"y":return i?"vuoden":"vuosi";case"yy":o=i?"vuoden":"vuotta"}return o=function(e,n){return e<10?n?a[e]:t[e]:e}(e,i)+" "+o}e.defineLocale("fi",{months:"tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu".split("_"),monthsShort:"tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu".split("_"),weekdays:"sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai".split("_"),weekdaysShort:"su_ma_ti_ke_to_pe_la".split("_"),weekdaysMin:"su_ma_ti_ke_to_pe_la".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD.MM.YYYY",LL:"Do MMMM[ta] YYYY",LLL:"Do MMMM[ta] YYYY, [klo] HH.mm",LLLL:"dddd, Do MMMM[ta] YYYY, [klo] HH.mm",l:"D.M.YYYY",ll:"Do MMM YYYY",lll:"Do MMM YYYY, [klo] HH.mm",llll:"ddd, Do MMM YYYY, [klo] HH.mm"},calendar:{sameDay:"[tänään] [klo] LT",nextDay:"[huomenna] [klo] LT",nextWeek:"dddd [klo] LT",lastDay:"[eilen] [klo] LT",lastWeek:"[viime] dddd[na] [klo] LT",sameElse:"L"},relativeTime:{future:"%s päästä",past:"%s sitten",s:n,ss:n,m:n,mm:n,h:n,hh:n,d:n,dd:n,M:n,MM:n,y:n,yy:n},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(a(0))},function(e,t,a){!function(e){"use strict";var t={1:"۱",2:"۲",3:"۳",4:"۴",5:"۵",6:"۶",7:"۷",8:"۸",9:"۹",0:"۰"},a={"۱":"1","۲":"2","۳":"3","۴":"4","۵":"5","۶":"6","۷":"7","۸":"8","۹":"9","۰":"0"};e.defineLocale("fa",{months:"ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر".split("_"),monthsShort:"ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر".split("_"),weekdays:"یک‌شنبه_دوشنبه_سه‌شنبه_چهارشنبه_پنج‌شنبه_جمعه_شنبه".split("_"),weekdaysShort:"یک‌شنبه_دوشنبه_سه‌شنبه_چهارشنبه_پنج‌شنبه_جمعه_شنبه".split("_"),weekdaysMin:"ی_د_س_چ_پ_ج_ش".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},meridiemParse:/قبل از ظهر|بعد از ظهر/,isPM:function(e){return/بعد از ظهر/.test(e)},meridiem:function(e,t,a){return e<12?"قبل از ظهر":"بعد از ظهر"},calendar:{sameDay:"[امروز ساعت] LT",nextDay:"[فردا ساعت] LT",nextWeek:"dddd [ساعت] LT",lastDay:"[دیروز ساعت] LT",lastWeek:"dddd [پیش] [ساعت] LT",sameElse:"L"},relativeTime:{future:"در %s",past:"%s پیش",s:"چند ثانیه",ss:"ثانیه d%",m:"یک دقیقه",mm:"%d دقیقه",h:"یک ساعت",hh:"%d ساعت",d:"یک روز",dd:"%d روز",M:"یک ماه",MM:"%d ماه",y:"یک سال",yy:"%d سال"},preparse:function(e){return e.replace(/[۰-۹]/g,function(e){return a[e]}).replace(/،/g,",")},postformat:function(e){return e.replace(/\d/g,function(e){return t[e]}).replace(/,/g,"،")},dayOfMonthOrdinalParse:/\d{1,2}م/,ordinal:"%dم",week:{dow:6,doy:12}})}(a(0))},function(e,t,a){!function(e){"use strict";e.defineLocale("eu",{months:"urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua".split("_"),monthsShort:"urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.".split("_"),monthsParseExact:!0,weekdays:"igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata".split("_"),weekdaysShort:"ig._al._ar._az._og._ol._lr.".split("_"),weekdaysMin:"ig_al_ar_az_og_ol_lr".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY[ko] MMMM[ren] D[a]",LLL:"YYYY[ko] MMMM[ren] D[a] HH:mm",LLLL:"dddd, YYYY[ko] MMMM[ren] D[a] HH:mm",l:"YYYY-M-D",ll:"YYYY[ko] MMM D[a]",lll:"YYYY[ko] MMM D[a] HH:mm",llll:"ddd, YYYY[ko] MMM D[a] HH:mm"},calendar:{sameDay:"[gaur] LT[etan]",nextDay:"[bihar] LT[etan]",nextWeek:"dddd LT[etan]",lastDay:"[atzo] LT[etan]",lastWeek:"[aurreko] dddd LT[etan]",sameElse:"L"},relativeTime:{future:"%s barru",past:"duela %s",s:"segundo batzuk",ss:"%d segundo",m:"minutu bat",mm:"%d minutu",h:"ordu bat",hh:"%d ordu",d:"egun bat",dd:"%d egun",M:"hilabete bat",MM:"%d hilabete",y:"urte bat",yy:"%d urte"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}(a(0))},function(e,t,a){!function(e){"use strict";function t(e,t,a,n){var c={s:["mõne sekundi","mõni sekund","paar sekundit"],ss:[e+"sekundi",e+"sekundit"],m:["ühe minuti","üks minut"],mm:[e+" minuti",e+" minutit"],h:["ühe tunni","tund aega","üks tund"],hh:[e+" tunni",e+" tundi"],d:["ühe päeva","üks päev"],M:["kuu aja","kuu aega","üks kuu"],MM:[e+" kuu",e+" kuud"],y:["ühe aasta","aasta","üks aasta"],yy:[e+" aasta",e+" aastat"]};return t?c[a][2]?c[a][2]:c[a][1]:n?c[a][0]:c[a][1]}e.defineLocale("et",{months:"jaanuar_veebruar_märts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember".split("_"),monthsShort:"jaan_veebr_märts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets".split("_"),weekdays:"pühapäev_esmaspäev_teisipäev_kolmapäev_neljapäev_reede_laupäev".split("_"),weekdaysShort:"P_E_T_K_N_R_L".split("_"),weekdaysMin:"P_E_T_K_N_R_L".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[Täna,] LT",nextDay:"[Homme,] LT",nextWeek:"[Järgmine] dddd LT",lastDay:"[Eile,] LT",lastWeek:"[Eelmine] dddd LT",sameElse:"L"},relativeTime:{future:"%s pärast",past:"%s tagasi",s:t,ss:t,m:t,mm:t,h:t,hh:t,d:t,dd:"%d päeva",M:t,MM:t,y:t,yy:t},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(a(0))},function(e,t,a){!function(e){"use strict";var t="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),a="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_");e.defineLocale("es-us",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(e,n){return e?/-MMM-/.test(n)?a[e.month()]:t[e.month()]:t},monthsParseExact:!0,weekdays:"domingo_lunes_martes_miércoles_jueves_viernes_sábado".split("_"),weekdaysShort:"dom._lun._mar._mié._jue._vie._sáb.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"MM/DD/YYYY",LL:"MMMM [de] D [de] YYYY",LLL:"MMMM [de] D [de] YYYY h:mm A",LLLL:"dddd, MMMM [de] D [de] YYYY h:mm A"},calendar:{sameDay:function(){return"[hoy a la"+(1!==this.hours()?"s":"")+"] LT"},nextDay:function(){return"[mañana a la"+(1!==this.hours()?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(1!==this.hours()?"s":"")+"] LT"},lastDay:function(){return"[ayer a la"+(1!==this.hours()?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(1!==this.hours()?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un día",dd:"%d días",M:"un mes",MM:"%d meses",y:"un año",yy:"%d años"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:0,doy:6}})}(a(0))},function(e,t,a){!function(e){"use strict";var t="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),a="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),n=[/^ene/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i],c=/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i;e.defineLocale("es-do",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(e,n){return e?/-MMM-/.test(n)?a[e.month()]:t[e.month()]:t},monthsRegex:c,monthsShortRegex:c,monthsStrictRegex:/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,monthsShortStrictRegex:/^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,monthsParse:n,longMonthsParse:n,shortMonthsParse:n,weekdays:"domingo_lunes_martes_miércoles_jueves_viernes_sábado".split("_"),weekdaysShort:"dom._lun._mar._mié._jue._vie._sáb.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY h:mm A",LLLL:"dddd, D [de] MMMM [de] YYYY h:mm A"},calendar:{sameDay:function(){return"[hoy a la"+(1!==this.hours()?"s":"")+"] LT"},nextDay:function(){return"[mañana a la"+(1!==this.hours()?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(1!==this.hours()?"s":"")+"] LT"},lastDay:function(){return"[ayer a la"+(1!==this.hours()?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(1!==this.hours()?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un día",dd:"%d días",M:"un mes",MM:"%d meses",y:"un año",yy:"%d años"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}})}(a(0))},function(e,t,a){!function(e){"use strict";var t="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),a="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),n=[/^ene/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i],c=/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i;e.defineLocale("es",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(e,n){return e?/-MMM-/.test(n)?a[e.month()]:t[e.month()]:t},monthsRegex:c,monthsShortRegex:c,monthsStrictRegex:/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,monthsShortStrictRegex:/^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,monthsParse:n,longMonthsParse:n,shortMonthsParse:n,weekdays:"domingo_lunes_martes_miércoles_jueves_viernes_sábado".split("_"),weekdaysShort:"dom._lun._mar._mié._jue._vie._sáb.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY H:mm",LLLL:"dddd, D [de] MMMM [de] YYYY H:mm"},calendar:{sameDay:function(){return"[hoy a la"+(1!==this.hours()?"s":"")+"] LT"},nextDay:function(){return"[mañana a la"+(1!==this.hours()?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(1!==this.hours()?"s":"")+"] LT"},lastDay:function(){return"[ayer a la"+(1!==this.hours()?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(1!==this.hours()?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un día",dd:"%d días",M:"un mes",MM:"%d meses",y:"un año",yy:"%d años"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}})}(a(0))},function(e,t,a){!function(e){"use strict";e.defineLocale("eo",{months:"januaro_februaro_marto_aprilo_majo_junio_julio_aŭgusto_septembro_oktobro_novembro_decembro".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_aŭg_sep_okt_nov_dec".split("_"),weekdays:"dimanĉo_lundo_mardo_merkredo_ĵaŭdo_vendredo_sabato".split("_"),weekdaysShort:"dim_lun_mard_merk_ĵaŭ_ven_sab".split("_"),weekdaysMin:"di_lu_ma_me_ĵa_ve_sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"D[-a de] MMMM, YYYY",LLL:"D[-a de] MMMM, YYYY HH:mm",LLLL:"dddd, [la] D[-a de] MMMM, YYYY HH:mm"},meridiemParse:/[ap]\.t\.m/i,isPM:function(e){return"p"===e.charAt(0).toLowerCase()},meridiem:function(e,t,a){return e>11?a?"p.t.m.":"P.T.M.":a?"a.t.m.":"A.T.M."},calendar:{sameDay:"[Hodiaŭ je] LT",nextDay:"[Morgaŭ je] LT",nextWeek:"dddd [je] LT",lastDay:"[Hieraŭ je] LT",lastWeek:"[pasinta] dddd [je] LT",sameElse:"L"},relativeTime:{future:"post %s",past:"antaŭ %s",s:"sekundoj",ss:"%d sekundoj",m:"minuto",mm:"%d minutoj",h:"horo",hh:"%d horoj",d:"tago",dd:"%d tagoj",M:"monato",MM:"%d monatoj",y:"jaro",yy:"%d jaroj"},dayOfMonthOrdinalParse:/\d{1,2}a/,ordinal:"%da",week:{dow:1,doy:7}})}(a(0))},function(e,t,a){!function(e){"use strict";e.defineLocale("en-nz",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var t=e%10,a=1==~~(e%100/10)?"th":1===t?"st":2===t?"nd":3===t?"rd":"th";return e+a},week:{dow:1,doy:4}})}(a(0))},function(e,t,a){!function(e){"use strict";e.defineLocale("en-il",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var t=e%10,a=1==~~(e%100/10)?"th":1===t?"st":2===t?"nd":3===t?"rd":"th";return e+a}})}(a(0))},function(e,t,a){!function(e){"use strict";e.defineLocale("en-ie",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var t=e%10,a=1==~~(e%100/10)?"th":1===t?"st":2===t?"nd":3===t?"rd":"th";return e+a},week:{dow:1,doy:4}})}(a(0))},function(e,t,a){!function(e){"use strict";e.defineLocale("en-gb",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var t=e%10,a=1==~~(e%100/10)?"th":1===t?"st":2===t?"nd":3===t?"rd":"th";return e+a},week:{dow:1,doy:4}})}(a(0))},function(e,t,a){!function(e){"use strict";e.defineLocale("en-ca",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"YYYY-MM-DD",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var t=e%10,a=1==~~(e%100/10)?"th":1===t?"st":2===t?"nd":3===t?"rd":"th";return e+a}})}(a(0))},function(e,t,a){!function(e){"use strict";e.defineLocale("en-au",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var t=e%10,a=1==~~(e%100/10)?"th":1===t?"st":2===t?"nd":3===t?"rd":"th";return e+a},week:{dow:1,doy:4}})}(a(0))},function(e,t,a){!function(e){"use strict";e.defineLocale("el",{monthsNominativeEl:"Ιανουάριος_Φεβρουάριος_Μάρτιος_Απρίλιος_Μάιος_Ιούνιος_Ιούλιος_Αύγουστος_Σεπτέμβριος_Οκτώβριος_Νοέμβριος_Δεκέμβριος".split("_"),monthsGenitiveEl:"Ιανουαρίου_Φεβρουαρίου_Μαρτίου_Απριλίου_Μαΐου_Ιουνίου_Ιουλίου_Αυγούστου_Σεπτεμβρίου_Οκτωβρίου_Νοεμβρίου_Δεκεμβρίου".split("_"),months:function(e,t){return e?"string"==typeof t&&/D/.test(t.substring(0,t.indexOf("MMMM")))?this._monthsGenitiveEl[e.month()]:this._monthsNominativeEl[e.month()]:this._monthsNominativeEl},monthsShort:"Ιαν_Φεβ_Μαρ_Απρ_Μαϊ_Ιουν_Ιουλ_Αυγ_Σεπ_Οκτ_Νοε_Δεκ".split("_"),weekdays:"Κυριακή_Δευτέρα_Τρίτη_Τετάρτη_Πέμπτη_Παρασκευή_Σάββατο".split("_"),weekdaysShort:"Κυρ_Δευ_Τρι_Τετ_Πεμ_Παρ_Σαβ".split("_"),weekdaysMin:"Κυ_Δε_Τρ_Τε_Πε_Πα_Σα".split("_"),meridiem:function(e,t,a){return e>11?a?"μμ":"ΜΜ":a?"πμ":"ΠΜ"},isPM:function(e){return"μ"===(e+"").toLowerCase()[0]},meridiemParse:/[ΠΜ]\.?Μ?\.?/i,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendarEl:{sameDay:"[Σήμερα {}] LT",nextDay:"[Αύριο {}] LT",nextWeek:"dddd [{}] LT",lastDay:"[Χθες {}] LT",lastWeek:function(){switch(this.day()){case 6:return"[το προηγούμενο] dddd [{}] LT";default:return"[την προηγούμενη] dddd [{}] LT"}},sameElse:"L"},calendar:function(e,t){var a,n=this._calendarEl[e],c=t&&t.hours();return((a=n)instanceof Function||"[object Function]"===Object.prototype.toString.call(a))&&(n=n.apply(t)),n.replace("{}",c%12==1?"στη":"στις")},relativeTime:{future:"σε %s",past:"%s πριν",s:"λίγα δευτερόλεπτα",ss:"%d δευτερόλεπτα",m:"ένα λεπτό",mm:"%d λεπτά",h:"μία ώρα",hh:"%d ώρες",d:"μία μέρα",dd:"%d μέρες",M:"ένας μήνας",MM:"%d μήνες",y:"ένας χρόνος",yy:"%d χρόνια"},dayOfMonthOrdinalParse:/\d{1,2}η/,ordinal:"%dη",week:{dow:1,doy:4}})}(a(0))},function(e,t,a){!function(e){"use strict";var t=["ޖެނުއަރީ","ފެބްރުއަރީ","މާރިޗު","އޭޕްރީލު","މޭ","ޖޫން","ޖުލައި","އޯގަސްޓު","ސެޕްޓެމްބަރު","އޮކްޓޯބަރު","ނޮވެމްބަރު","ޑިސެމްބަރު"],a=["އާދިއްތަ","ހޯމަ","އަންގާރަ","ބުދަ","ބުރާސްފަތި","ހުކުރު","ހޮނިހިރު"];e.defineLocale("dv",{months:t,monthsShort:t,weekdays:a,weekdaysShort:a,weekdaysMin:"އާދި_ހޯމަ_އަން_ބުދަ_ބުރާ_ހުކު_ހޮނި".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/M/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/މކ|މފ/,isPM:function(e){return"މފ"===e},meridiem:function(e,t,a){return e<12?"މކ":"މފ"},calendar:{sameDay:"[މިއަދު] LT",nextDay:"[މާދަމާ] LT",nextWeek:"dddd LT",lastDay:"[އިއްޔެ] LT",lastWeek:"[ފާއިތުވި] dddd LT",sameElse:"L"},relativeTime:{future:"ތެރޭގައި %s",past:"ކުރިން %s",s:"ސިކުންތުކޮޅެއް",ss:"d% ސިކުންތު",m:"މިނިޓެއް",mm:"މިނިޓު %d",h:"ގަޑިއިރެއް",hh:"ގަޑިއިރު %d",d:"ދުވަހެއް",dd:"ދުވަސް %d",M:"މަހެއް",MM:"މަސް %d",y:"އަހަރެއް",yy:"އަހަރު %d"},preparse:function(e){return e.replace(/،/g,",")},postformat:function(e){return e.replace(/,/g,"،")},week:{dow:7,doy:12}})}(a(0))},function(e,t,a){!function(e){"use strict";function t(e,t,a,n){var c={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[e+" Tage",e+" Tagen"],M:["ein Monat","einem Monat"],MM:[e+" Monate",e+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[e+" Jahre",e+" Jahren"]};return t?c[a][0]:c[a][1]}e.defineLocale("de-ch",{months:"Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},calendar:{sameDay:"[heute um] LT [Uhr]",sameElse:"L",nextDay:"[morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",ss:"%d Sekunden",m:t,mm:"%d Minuten",h:t,hh:"%d Stunden",d:t,dd:t,M:t,MM:t,y:t,yy:t},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(a(0))},function(e,t,a){!function(e){"use strict";function t(e,t,a,n){var c={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[e+" Tage",e+" Tagen"],M:["ein Monat","einem Monat"],MM:[e+" Monate",e+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[e+" Jahre",e+" Jahren"]};return t?c[a][0]:c[a][1]}e.defineLocale("de-at",{months:"Jänner_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jän._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So._Mo._Di._Mi._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},calendar:{sameDay:"[heute um] LT [Uhr]",sameElse:"L",nextDay:"[morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",ss:"%d Sekunden",m:t,mm:"%d Minuten",h:t,hh:"%d Stunden",d:t,dd:t,M:t,MM:t,y:t,yy:t},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(a(0))},function(e,t,a){!function(e){"use strict";function t(e,t,a,n){var c={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[e+" Tage",e+" Tagen"],M:["ein Monat","einem Monat"],MM:[e+" Monate",e+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[e+" Jahre",e+" Jahren"]};return t?c[a][0]:c[a][1]}e.defineLocale("de",{months:"Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So._Mo._Di._Mi._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},calendar:{sameDay:"[heute um] LT [Uhr]",sameElse:"L",nextDay:"[morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",ss:"%d Sekunden",m:t,mm:"%d Minuten",h:t,hh:"%d Stunden",d:t,dd:t,M:t,MM:t,y:t,yy:t},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(a(0))},function(e,t,a){!function(e){"use strict";e.defineLocale("da",{months:"januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec".split("_"),weekdays:"søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag".split("_"),weekdaysShort:"søn_man_tir_ons_tor_fre_lør".split("_"),weekdaysMin:"sø_ma_ti_on_to_fr_lø".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd [d.] D. MMMM YYYY [kl.] HH:mm"},calendar:{sameDay:"[i dag kl.] LT",nextDay:"[i morgen kl.] LT",nextWeek:"på dddd [kl.] LT",lastDay:"[i går kl.] LT",lastWeek:"[i] dddd[s kl.] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"%s siden",s:"få sekunder",ss:"%d sekunder",m:"et minut",mm:"%d minutter",h:"en time",hh:"%d timer",d:"en dag",dd:"%d dage",M:"en måned",MM:"%d måneder",y:"et år",yy:"%d år"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(a(0))},function(e,t,a){!function(e){"use strict";e.defineLocale("cy",{months:"Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr".split("_"),monthsShort:"Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag".split("_"),weekdays:"Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn".split("_"),weekdaysShort:"Sul_Llun_Maw_Mer_Iau_Gwe_Sad".split("_"),weekdaysMin:"Su_Ll_Ma_Me_Ia_Gw_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Heddiw am] LT",nextDay:"[Yfory am] LT",nextWeek:"dddd [am] LT",lastDay:"[Ddoe am] LT",lastWeek:"dddd [diwethaf am] LT",sameElse:"L"},relativeTime:{future:"mewn %s",past:"%s yn ôl",s:"ychydig eiliadau",ss:"%d eiliad",m:"munud",mm:"%d munud",h:"awr",hh:"%d awr",d:"diwrnod",dd:"%d diwrnod",M:"mis",MM:"%d mis",y:"blwyddyn",yy:"%d flynedd"},dayOfMonthOrdinalParse:/\d{1,2}(fed|ain|af|il|ydd|ed|eg)/,ordinal:function(e){var t=e,a="";return t>20?a=40===t||50===t||60===t||80===t||100===t?"fed":"ain":t>0&&(a=["","af","il","ydd","ydd","ed","ed","ed","fed","fed","fed","eg","fed","eg","eg","fed","eg","eg","fed","eg","fed"][t]),e+a},week:{dow:1,doy:4}})}(a(0))},function(e,t,a){!function(e){"use strict";e.defineLocale("cv",{months:"кӑрлач_нарӑс_пуш_ака_май_ҫӗртме_утӑ_ҫурла_авӑн_юпа_чӳк_раштав".split("_"),monthsShort:"кӑр_нар_пуш_ака_май_ҫӗр_утӑ_ҫур_авн_юпа_чӳк_раш".split("_"),weekdays:"вырсарникун_тунтикун_ытларикун_юнкун_кӗҫнерникун_эрнекун_шӑматкун".split("_"),weekdaysShort:"выр_тун_ытл_юн_кӗҫ_эрн_шӑм".split("_"),weekdaysMin:"вр_тн_ыт_юн_кҫ_эр_шм".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ]",LLL:"YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm",LLLL:"dddd, YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm"},calendar:{sameDay:"[Паян] LT [сехетре]",nextDay:"[Ыран] LT [сехетре]",lastDay:"[Ӗнер] LT [сехетре]",nextWeek:"[Ҫитес] dddd LT [сехетре]",lastWeek:"[Иртнӗ] dddd LT [сехетре]",sameElse:"L"},relativeTime:{future:function(e){var t=/сехет$/i.exec(e)?"рен":/ҫул$/i.exec(e)?"тан":"ран";return e+t},past:"%s каялла",s:"пӗр-ик ҫеккунт",ss:"%d ҫеккунт",m:"пӗр минут",mm:"%d минут",h:"пӗр сехет",hh:"%d сехет",d:"пӗр кун",dd:"%d кун",M:"пӗр уйӑх",MM:"%d уйӑх",y:"пӗр ҫул",yy:"%d ҫул"},dayOfMonthOrdinalParse:/\d{1,2}-мӗш/,ordinal:"%d-мӗш",week:{dow:1,doy:7}})}(a(0))},function(e,t,a){!function(e){"use strict";var t="leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec".split("_"),a="led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro".split("_");function n(e){return e>1&&e<5&&1!=~~(e/10)}function c(e,t,a,c){var i=e+" ";switch(a){case"s":return t||c?"pár sekund":"pár sekundami";case"ss":return t||c?i+(n(e)?"sekundy":"sekund"):i+"sekundami";case"m":return t?"minuta":c?"minutu":"minutou";case"mm":return t||c?i+(n(e)?"minuty":"minut"):i+"minutami";case"h":return t?"hodina":c?"hodinu":"hodinou";case"hh":return t||c?i+(n(e)?"hodiny":"hodin"):i+"hodinami";case"d":return t||c?"den":"dnem";case"dd":return t||c?i+(n(e)?"dny":"dní"):i+"dny";case"M":return t||c?"měsíc":"měsícem";case"MM":return t||c?i+(n(e)?"měsíce":"měsíců"):i+"měsíci";case"y":return t||c?"rok":"rokem";case"yy":return t||c?i+(n(e)?"roky":"let"):i+"lety"}}e.defineLocale("cs",{months:t,monthsShort:a,monthsParse:function(e,t){var a,n=[];for(a=0;a<12;a++)n[a]=new RegExp("^"+e[a]+"$|^"+t[a]+"$","i");return n}(t,a),shortMonthsParse:function(e){var t,a=[];for(t=0;t<12;t++)a[t]=new RegExp("^"+e[t]+"$","i");return a}(a),longMonthsParse:function(e){var t,a=[];for(t=0;t<12;t++)a[t]=new RegExp("^"+e[t]+"$","i");return a}(t),weekdays:"neděle_pondělí_úterý_středa_čtvrtek_pátek_sobota".split("_"),weekdaysShort:"ne_po_út_st_čt_pá_so".split("_"),weekdaysMin:"ne_po_út_st_čt_pá_so".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd D. MMMM YYYY H:mm",l:"D. M. YYYY"},calendar:{sameDay:"[dnes v] LT",nextDay:"[zítra v] LT",nextWeek:function(){switch(this.day()){case 0:return"[v neděli v] LT";case 1:case 2:return"[v] dddd [v] LT";case 3:return"[ve středu v] LT";case 4:return"[ve čtvrtek v] LT";case 5:return"[v pátek v] LT";case 6:return"[v sobotu v] LT"}},lastDay:"[včera v] LT",lastWeek:function(){switch(this.day()){case 0:return"[minulou neděli v] LT";case 1:case 2:return"[minulé] dddd [v] LT";case 3:return"[minulou středu v] LT";case 4:case 5:return"[minulý] dddd [v] LT";case 6:return"[minulou sobotu v] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"před %s",s:c,ss:c,m:c,mm:c,h:c,hh:c,d:c,dd:c,M:c,MM:c,y:c,yy:c},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(a(0))},function(e,t,a){!function(e){"use strict";e.defineLocale("ca",{months:{standalone:"gener_febrer_març_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre".split("_"),format:"de gener_de febrer_de març_d'abril_de maig_de juny_de juliol_d'agost_de setembre_d'octubre_de novembre_de desembre".split("_"),isFormat:/D[oD]?(\s)+MMMM/},monthsShort:"gen._febr._març_abr._maig_juny_jul._ag._set._oct._nov._des.".split("_"),monthsParseExact:!0,weekdays:"diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte".split("_"),weekdaysShort:"dg._dl._dt._dc._dj._dv._ds.".split("_"),weekdaysMin:"dg_dl_dt_dc_dj_dv_ds".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM [de] YYYY",ll:"D MMM YYYY",LLL:"D MMMM [de] YYYY [a les] H:mm",lll:"D MMM YYYY, H:mm",LLLL:"dddd D MMMM [de] YYYY [a les] H:mm",llll:"ddd D MMM YYYY, H:mm"},calendar:{sameDay:function(){return"[avui a "+(1!==this.hours()?"les":"la")+"] LT"},nextDay:function(){return"[demà a "+(1!==this.hours()?"les":"la")+"] LT"},nextWeek:function(){return"dddd [a "+(1!==this.hours()?"les":"la")+"] LT"},lastDay:function(){return"[ahir a "+(1!==this.hours()?"les":"la")+"] LT"},lastWeek:function(){return"[el] dddd [passat a "+(1!==this.hours()?"les":"la")+"] LT"},sameElse:"L"},relativeTime:{future:"d'aquí %s",past:"fa %s",s:"uns segons",ss:"%d segons",m:"un minut",mm:"%d minuts",h:"una hora",hh:"%d hores",d:"un dia",dd:"%d dies",M:"un mes",MM:"%d mesos",y:"un any",yy:"%d anys"},dayOfMonthOrdinalParse:/\d{1,2}(r|n|t|è|a)/,ordinal:function(e,t){var a=1===e?"r":2===e?"n":3===e?"r":4===e?"t":"è";return"w"!==t&&"W"!==t||(a="a"),e+a},week:{dow:1,doy:4}})}(a(0))},function(e,t,a){!function(e){"use strict";function t(e,t,a){var n=e+" ";switch(a){case"ss":return n+=1===e?"sekunda":2===e||3===e||4===e?"sekunde":"sekundi";case"m":return t?"jedna minuta":"jedne minute";case"mm":return n+=1===e?"minuta":2===e||3===e||4===e?"minute":"minuta";case"h":return t?"jedan sat":"jednog sata";case"hh":return n+=1===e?"sat":2===e||3===e||4===e?"sata":"sati";case"dd":return n+=1===e?"dan":"dana";case"MM":return n+=1===e?"mjesec":2===e||3===e||4===e?"mjeseca":"mjeseci";case"yy":return n+=1===e?"godina":2===e||3===e||4===e?"godine":"godina"}}e.defineLocale("bs",{months:"januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar".split("_"),monthsShort:"jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._čet._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_če_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[jučer u] LT",lastWeek:function(){switch(this.day()){case 0:case 3:return"[prošlu] dddd [u] LT";case 6:return"[prošle] [subote] [u] LT";case 1:case 2:case 4:case 5:return"[prošli] dddd [u] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"par sekundi",ss:t,m:t,mm:t,h:t,hh:t,d:"dan",dd:t,M:"mjesec",MM:t,y:"godinu",yy:t},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}(a(0))},function(e,t,a){!function(e){"use strict";function t(e,t,a){return e+" "+function(e,t){return 2===t?function(e){var t={m:"v",b:"v",d:"z"};return void 0===t[e.charAt(0)]?e:t[e.charAt(0)]+e.substring(1)}(e):e}({mm:"munutenn",MM:"miz",dd:"devezh"}[a],e)}e.defineLocale("br",{months:"Genver_C'hwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu".split("_"),monthsShort:"Gen_C'hwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker".split("_"),weekdays:"Sul_Lun_Meurzh_Merc'her_Yaou_Gwener_Sadorn".split("_"),weekdaysShort:"Sul_Lun_Meu_Mer_Yao_Gwe_Sad".split("_"),weekdaysMin:"Su_Lu_Me_Mer_Ya_Gw_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h[e]mm A",LTS:"h[e]mm:ss A",L:"DD/MM/YYYY",LL:"D [a viz] MMMM YYYY",LLL:"D [a viz] MMMM YYYY h[e]mm A",LLLL:"dddd, D [a viz] MMMM YYYY h[e]mm A"},calendar:{sameDay:"[Hiziv da] LT",nextDay:"[Warc'hoazh da] LT",nextWeek:"dddd [da] LT",lastDay:"[Dec'h da] LT",lastWeek:"dddd [paset da] LT",sameElse:"L"},relativeTime:{future:"a-benn %s",past:"%s 'zo",s:"un nebeud segondennoù",ss:"%d eilenn",m:"ur vunutenn",mm:t,h:"un eur",hh:"%d eur",d:"un devezh",dd:t,M:"ur miz",MM:t,y:"ur bloaz",yy:function(e){switch(function e(t){return t>9?e(t%10):t}(e)){case 1:case 3:case 4:case 5:case 9:return e+" bloaz";default:return e+" vloaz"}}},dayOfMonthOrdinalParse:/\d{1,2}(añ|vet)/,ordinal:function(e){var t=1===e?"añ":"vet";return e+t},week:{dow:1,doy:4}})}(a(0))},function(e,t,a){!function(e){"use strict";var t={1:"༡",2:"༢",3:"༣",4:"༤",5:"༥",6:"༦",7:"༧",8:"༨",9:"༩",0:"༠"},a={"༡":"1","༢":"2","༣":"3","༤":"4","༥":"5","༦":"6","༧":"7","༨":"8","༩":"9","༠":"0"};e.defineLocale("bo",{months:"ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ".split("_"),monthsShort:"ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ".split("_"),weekdays:"གཟའ་ཉི་མ་_གཟའ་ཟླ་བ་_གཟའ་མིག་དམར་_གཟའ་ལྷག་པ་_གཟའ་ཕུར་བུ_གཟའ་པ་སངས་_གཟའ་སྤེན་པ་".split("_"),weekdaysShort:"ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་".split("_"),weekdaysMin:"ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm",LLLL:"dddd, D MMMM YYYY, A h:mm"},calendar:{sameDay:"[དི་རིང] LT",nextDay:"[སང་ཉིན] LT",nextWeek:"[བདུན་ཕྲག་རྗེས་མ], LT",lastDay:"[ཁ་སང] LT",lastWeek:"[བདུན་ཕྲག་མཐའ་མ] dddd, LT",sameElse:"L"},relativeTime:{future:"%s ལ་",past:"%s སྔན་ལ",s:"ལམ་སང",ss:"%d སྐར་ཆ།",m:"སྐར་མ་གཅིག",mm:"%d སྐར་མ",h:"ཆུ་ཚོད་གཅིག",hh:"%d ཆུ་ཚོད",d:"ཉིན་གཅིག",dd:"%d ཉིན་",M:"ཟླ་བ་གཅིག",MM:"%d ཟླ་བ",y:"ལོ་གཅིག",yy:"%d ལོ"},preparse:function(e){return e.replace(/[༡༢༣༤༥༦༧༨༩༠]/g,function(e){return a[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return t[e]})},meridiemParse:/མཚན་མོ|ཞོགས་ཀས|ཉིན་གུང|དགོང་དག|མཚན་མོ/,meridiemHour:function(e,t){return 12===e&&(e=0),"མཚན་མོ"===t&&e>=4||"ཉིན་གུང"===t&&e<5||"དགོང་དག"===t?e+12:e},meridiem:function(e,t,a){return e<4?"མཚན་མོ":e<10?"ཞོགས་ཀས":e<17?"ཉིན་གུང":e<20?"དགོང་དག":"མཚན་མོ"},week:{dow:0,doy:6}})}(a(0))},function(e,t,a){!function(e){"use strict";var t={1:"১",2:"২",3:"৩",4:"৪",5:"৫",6:"৬",7:"৭",8:"৮",9:"৯",0:"০"},a={"১":"1","২":"2","৩":"3","৪":"4","৫":"5","৬":"6","৭":"7","৮":"8","৯":"9","০":"0"};e.defineLocale("bn",{months:"জানুয়ারী_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর".split("_"),monthsShort:"জানু_ফেব_মার্চ_এপ্র_মে_জুন_জুল_আগ_সেপ্ট_অক্টো_নভে_ডিসে".split("_"),weekdays:"রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার".split("_"),weekdaysShort:"রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি".split("_"),weekdaysMin:"রবি_সোম_মঙ্গ_বুধ_বৃহঃ_শুক্র_শনি".split("_"),longDateFormat:{LT:"A h:mm সময়",LTS:"A h:mm:ss সময়",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm সময়",LLLL:"dddd, D MMMM YYYY, A h:mm সময়"},calendar:{sameDay:"[আজ] LT",nextDay:"[আগামীকাল] LT",nextWeek:"dddd, LT",lastDay:"[গতকাল] LT",lastWeek:"[গত] dddd, LT",sameElse:"L"},relativeTime:{future:"%s পরে",past:"%s আগে",s:"কয়েক সেকেন্ড",ss:"%d সেকেন্ড",m:"এক মিনিট",mm:"%d মিনিট",h:"এক ঘন্টা",hh:"%d ঘন্টা",d:"এক দিন",dd:"%d দিন",M:"এক মাস",MM:"%d মাস",y:"এক বছর",yy:"%d বছর"},preparse:function(e){return e.replace(/[১২৩৪৫৬৭৮৯০]/g,function(e){return a[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return t[e]})},meridiemParse:/রাত|সকাল|দুপুর|বিকাল|রাত/,meridiemHour:function(e,t){return 12===e&&(e=0),"রাত"===t&&e>=4||"দুপুর"===t&&e<5||"বিকাল"===t?e+12:e},meridiem:function(e,t,a){return e<4?"রাত":e<10?"সকাল":e<17?"দুপুর":e<20?"বিকাল":"রাত"},week:{dow:0,doy:6}})}(a(0))},function(e,t,a){!function(e){"use strict";e.defineLocale("bm",{months:"Zanwuyekalo_Fewuruyekalo_Marisikalo_Awirilikalo_Mɛkalo_Zuwɛnkalo_Zuluyekalo_Utikalo_Sɛtanburukalo_ɔkutɔburukalo_Nowanburukalo_Desanburukalo".split("_"),monthsShort:"Zan_Few_Mar_Awi_Mɛ_Zuw_Zul_Uti_Sɛt_ɔku_Now_Des".split("_"),weekdays:"Kari_Ntɛnɛn_Tarata_Araba_Alamisa_Juma_Sibiri".split("_"),weekdaysShort:"Kar_Ntɛ_Tar_Ara_Ala_Jum_Sib".split("_"),weekdaysMin:"Ka_Nt_Ta_Ar_Al_Ju_Si".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"MMMM [tile] D [san] YYYY",LLL:"MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm",LLLL:"dddd MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm"},calendar:{sameDay:"[Bi lɛrɛ] LT",nextDay:"[Sini lɛrɛ] LT",nextWeek:"dddd [don lɛrɛ] LT",lastDay:"[Kunu lɛrɛ] LT",lastWeek:"dddd [tɛmɛnen lɛrɛ] LT",sameElse:"L"},relativeTime:{future:"%s kɔnɔ",past:"a bɛ %s bɔ",s:"sanga dama dama",ss:"sekondi %d",m:"miniti kelen",mm:"miniti %d",h:"lɛrɛ kelen",hh:"lɛrɛ %d",d:"tile kelen",dd:"tile %d",M:"kalo kelen",MM:"kalo %d",y:"san kelen",yy:"san %d"},week:{dow:1,doy:4}})}(a(0))},function(e,t,a){!function(e){"use strict";e.defineLocale("bg",{months:"януари_февруари_март_април_май_юни_юли_август_септември_октомври_ноември_декември".split("_"),monthsShort:"янр_фев_мар_апр_май_юни_юли_авг_сеп_окт_ное_дек".split("_"),weekdays:"неделя_понеделник_вторник_сряда_четвъртък_петък_събота".split("_"),weekdaysShort:"нед_пон_вто_сря_чет_пет_съб".split("_"),weekdaysMin:"нд_пн_вт_ср_чт_пт_сб".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"D.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[Днес в] LT",nextDay:"[Утре в] LT",nextWeek:"dddd [в] LT",lastDay:"[Вчера в] LT",lastWeek:function(){switch(this.day()){case 0:case 3:case 6:return"[В изминалата] dddd [в] LT";case 1:case 2:case 4:case 5:return"[В изминалия] dddd [в] LT"}},sameElse:"L"},relativeTime:{future:"след %s",past:"преди %s",s:"няколко секунди",ss:"%d секунди",m:"минута",mm:"%d минути",h:"час",hh:"%d часа",d:"ден",dd:"%d дни",M:"месец",MM:"%d месеца",y:"година",yy:"%d години"},dayOfMonthOrdinalParse:/\d{1,2}-(ев|ен|ти|ви|ри|ми)/,ordinal:function(e){var t=e%10,a=e%100;return 0===e?e+"-ев":0===a?e+"-ен":a>10&&a<20?e+"-ти":1===t?e+"-ви":2===t?e+"-ри":7===t||8===t?e+"-ми":e+"-ти"},week:{dow:1,doy:7}})}(a(0))},function(e,t,a){!function(e){"use strict";function t(e,t,a){var n,c,i={ss:t?"секунда_секунды_секунд":"секунду_секунды_секунд",mm:t?"хвіліна_хвіліны_хвілін":"хвіліну_хвіліны_хвілін",hh:t?"гадзіна_гадзіны_гадзін":"гадзіну_гадзіны_гадзін",dd:"дзень_дні_дзён",MM:"месяц_месяцы_месяцаў",yy:"год_гады_гадоў"};return"m"===a?t?"хвіліна":"хвіліну":"h"===a?t?"гадзіна":"гадзіну":e+" "+(n=+e,c=i[a].split("_"),n%10==1&&n%100!=11?c[0]:n%10>=2&&n%10<=4&&(n%100<10||n%100>=20)?c[1]:c[2])}e.defineLocale("be",{months:{format:"студзеня_лютага_сакавіка_красавіка_траўня_чэрвеня_ліпеня_жніўня_верасня_кастрычніка_лістапада_снежня".split("_"),standalone:"студзень_люты_сакавік_красавік_травень_чэрвень_ліпень_жнівень_верасень_кастрычнік_лістапад_снежань".split("_")},monthsShort:"студ_лют_сак_крас_трав_чэрв_ліп_жнів_вер_каст_ліст_снеж".split("_"),weekdays:{format:"нядзелю_панядзелак_аўторак_сераду_чацвер_пятніцу_суботу".split("_"),standalone:"нядзеля_панядзелак_аўторак_серада_чацвер_пятніца_субота".split("_"),isFormat:/\[ ?[Ууў] ?(?:мінулую|наступную)? ?\] ?dddd/},weekdaysShort:"нд_пн_ат_ср_чц_пт_сб".split("_"),weekdaysMin:"нд_пн_ат_ср_чц_пт_сб".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY г.",LLL:"D MMMM YYYY г., HH:mm",LLLL:"dddd, D MMMM YYYY г., HH:mm"},calendar:{sameDay:"[Сёння ў] LT",nextDay:"[Заўтра ў] LT",lastDay:"[Учора ў] LT",nextWeek:function(){return"[У] dddd [ў] LT"},lastWeek:function(){switch(this.day()){case 0:case 3:case 5:case 6:return"[У мінулую] dddd [ў] LT";case 1:case 2:case 4:return"[У мінулы] dddd [ў] LT"}},sameElse:"L"},relativeTime:{future:"праз %s",past:"%s таму",s:"некалькі секунд",m:t,mm:t,h:t,hh:t,d:"дзень",dd:t,M:"месяц",MM:t,y:"год",yy:t},meridiemParse:/ночы|раніцы|дня|вечара/,isPM:function(e){return/^(дня|вечара)$/.test(e)},meridiem:function(e,t,a){return e<4?"ночы":e<12?"раніцы":e<17?"дня":"вечара"},dayOfMonthOrdinalParse:/\d{1,2}-(і|ы|га)/,ordinal:function(e,t){switch(t){case"M":case"d":case"DDD":case"w":case"W":return e%10!=2&&e%10!=3||e%100==12||e%100==13?e+"-ы":e+"-і";case"D":return e+"-га";default:return e}},week:{dow:1,doy:7}})}(a(0))},function(e,t,a){!function(e){"use strict";var t={1:"-inci",5:"-inci",8:"-inci",70:"-inci",80:"-inci",2:"-nci",7:"-nci",20:"-nci",50:"-nci",3:"-üncü",4:"-üncü",100:"-üncü",6:"-ncı",9:"-uncu",10:"-uncu",30:"-uncu",60:"-ıncı",90:"-ıncı"};e.defineLocale("az",{months:"yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr".split("_"),monthsShort:"yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek".split("_"),weekdays:"Bazar_Bazar ertəsi_Çərşənbə axşamı_Çərşənbə_Cümə axşamı_Cümə_Şənbə".split("_"),weekdaysShort:"Baz_BzE_ÇAx_Çər_CAx_Cüm_Şən".split("_"),weekdaysMin:"Bz_BE_ÇA_Çə_CA_Cü_Şə".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[bugün saat] LT",nextDay:"[sabah saat] LT",nextWeek:"[gələn həftə] dddd [saat] LT",lastDay:"[dünən] LT",lastWeek:"[keçən həftə] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s sonra",past:"%s əvvəl",s:"birneçə saniyə",ss:"%d saniyə",m:"bir dəqiqə",mm:"%d dəqiqə",h:"bir saat",hh:"%d saat",d:"bir gün",dd:"%d gün",M:"bir ay",MM:"%d ay",y:"bir il",yy:"%d il"},meridiemParse:/gecə|səhər|gündüz|axşam/,isPM:function(e){return/^(gündüz|axşam)$/.test(e)},meridiem:function(e,t,a){return e<4?"gecə":e<12?"səhər":e<17?"gündüz":"axşam"},dayOfMonthOrdinalParse:/\d{1,2}-(ıncı|inci|nci|üncü|ncı|uncu)/,ordinal:function(e){if(0===e)return e+"-ıncı";var a=e%10,n=e%100-a,c=e>=100?100:null;return e+(t[a]||t[n]||t[c])},week:{dow:1,doy:7}})}(a(0))},function(e,t,a){!function(e){"use strict";e.defineLocale("ar-tn",{months:"جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),monthsShort:"جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[اليوم على الساعة] LT",nextDay:"[غدا على الساعة] LT",nextWeek:"dddd [على الساعة] LT",lastDay:"[أمس على الساعة] LT",lastWeek:"dddd [على الساعة] LT",sameElse:"L"},relativeTime:{future:"في %s",past:"منذ %s",s:"ثوان",ss:"%d ثانية",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"},week:{dow:1,doy:4}})}(a(0))},function(e,t,a){!function(e){"use strict";var t={1:"١",2:"٢",3:"٣",4:"٤",5:"٥",6:"٦",7:"٧",8:"٨",9:"٩",0:"٠"},a={"١":"1","٢":"2","٣":"3","٤":"4","٥":"5","٦":"6","٧":"7","٨":"8","٩":"9","٠":"0"};e.defineLocale("ar-sa",{months:"يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),monthsShort:"يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/ص|م/,isPM:function(e){return"م"===e},meridiem:function(e,t,a){return e<12?"ص":"م"},calendar:{sameDay:"[اليوم على الساعة] LT",nextDay:"[غدا على الساعة] LT",nextWeek:"dddd [على الساعة] LT",lastDay:"[أمس على الساعة] LT",lastWeek:"dddd [على الساعة] LT",sameElse:"L"},relativeTime:{future:"في %s",past:"منذ %s",s:"ثوان",ss:"%d ثانية",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"},preparse:function(e){return e.replace(/[١٢٣٤٥٦٧٨٩٠]/g,function(e){return a[e]}).replace(/،/g,",")},postformat:function(e){return e.replace(/\d/g,function(e){return t[e]}).replace(/,/g,"،")},week:{dow:0,doy:6}})}(a(0))},function(e,t,a){!function(e){"use strict";e.defineLocale("ar-ma",{months:"يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر".split("_"),monthsShort:"يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر".split("_"),weekdays:"الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[اليوم على الساعة] LT",nextDay:"[غدا على الساعة] LT",nextWeek:"dddd [على الساعة] LT",lastDay:"[أمس على الساعة] LT",lastWeek:"dddd [على الساعة] LT",sameElse:"L"},relativeTime:{future:"في %s",past:"منذ %s",s:"ثوان",ss:"%d ثانية",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"},week:{dow:6,doy:12}})}(a(0))},function(e,t,a){!function(e){"use strict";var t={1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",7:"7",8:"8",9:"9",0:"0"},a=function(e){return 0===e?0:1===e?1:2===e?2:e%100>=3&&e%100<=10?3:e%100>=11?4:5},n={s:["أقل من ثانية","ثانية واحدة",["ثانيتان","ثانيتين"],"%d ثوان","%d ثانية","%d ثانية"],m:["أقل من دقيقة","دقيقة واحدة",["دقيقتان","دقيقتين"],"%d دقائق","%d دقيقة","%d دقيقة"],h:["أقل من ساعة","ساعة واحدة",["ساعتان","ساعتين"],"%d ساعات","%d ساعة","%d ساعة"],d:["أقل من يوم","يوم واحد",["يومان","يومين"],"%d أيام","%d يومًا","%d يوم"],M:["أقل من شهر","شهر واحد",["شهران","شهرين"],"%d أشهر","%d شهرا","%d شهر"],y:["أقل من عام","عام واحد",["عامان","عامين"],"%d أعوام","%d عامًا","%d عام"]},c=function(e){return function(t,c,i,o){var s=a(t),r=n[e][a(t)];return 2===s&&(r=r[c?0:1]),r.replace(/%d/i,t)}},i=["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر"];e.defineLocale("ar-ly",{months:i,monthsShort:i,weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/‏M/‏YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/ص|م/,isPM:function(e){return"م"===e},meridiem:function(e,t,a){return e<12?"ص":"م"},calendar:{sameDay:"[اليوم عند الساعة] LT",nextDay:"[غدًا عند الساعة] LT",nextWeek:"dddd [عند الساعة] LT",lastDay:"[أمس عند الساعة] LT",lastWeek:"dddd [عند الساعة] LT",sameElse:"L"},relativeTime:{future:"بعد %s",past:"منذ %s",s:c("s"),ss:c("s"),m:c("m"),mm:c("m"),h:c("h"),hh:c("h"),d:c("d"),dd:c("d"),M:c("M"),MM:c("M"),y:c("y"),yy:c("y")},preparse:function(e){return e.replace(/،/g,",")},postformat:function(e){return e.replace(/\d/g,function(e){return t[e]}).replace(/,/g,"،")},week:{dow:6,doy:12}})}(a(0))},function(e,t,a){!function(e){"use strict";e.defineLocale("ar-kw",{months:"يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر".split("_"),monthsShort:"يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر".split("_"),weekdays:"الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[اليوم على الساعة] LT",nextDay:"[غدا على الساعة] LT",nextWeek:"dddd [على الساعة] LT",lastDay:"[أمس على الساعة] LT",lastWeek:"dddd [على الساعة] LT",sameElse:"L"},relativeTime:{future:"في %s",past:"منذ %s",s:"ثوان",ss:"%d ثانية",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"},week:{dow:0,doy:12}})}(a(0))},function(e,t,a){!function(e){"use strict";e.defineLocale("ar-dz",{months:"جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),monthsShort:"جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"احد_اثنين_ثلاثاء_اربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"أح_إث_ثلا_أر_خم_جم_سب".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[اليوم على الساعة] LT",nextDay:"[غدا على الساعة] LT",nextWeek:"dddd [على الساعة] LT",lastDay:"[أمس على الساعة] LT",lastWeek:"dddd [على الساعة] LT",sameElse:"L"},relativeTime:{future:"في %s",past:"منذ %s",s:"ثوان",ss:"%d ثانية",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"},week:{dow:0,doy:4}})}(a(0))},function(e,t,a){!function(e){"use strict";var t={1:"١",2:"٢",3:"٣",4:"٤",5:"٥",6:"٦",7:"٧",8:"٨",9:"٩",0:"٠"},a={"١":"1","٢":"2","٣":"3","٤":"4","٥":"5","٦":"6","٧":"7","٨":"8","٩":"9","٠":"0"},n=function(e){return 0===e?0:1===e?1:2===e?2:e%100>=3&&e%100<=10?3:e%100>=11?4:5},c={s:["أقل من ثانية","ثانية واحدة",["ثانيتان","ثانيتين"],"%d ثوان","%d ثانية","%d ثانية"],m:["أقل من دقيقة","دقيقة واحدة",["دقيقتان","دقيقتين"],"%d دقائق","%d دقيقة","%d دقيقة"],h:["أقل من ساعة","ساعة واحدة",["ساعتان","ساعتين"],"%d ساعات","%d ساعة","%d ساعة"],d:["أقل من يوم","يوم واحد",["يومان","يومين"],"%d أيام","%d يومًا","%d يوم"],M:["أقل من شهر","شهر واحد",["شهران","شهرين"],"%d أشهر","%d شهرا","%d شهر"],y:["أقل من عام","عام واحد",["عامان","عامين"],"%d أعوام","%d عامًا","%d عام"]},i=function(e){return function(t,a,i,o){var s=n(t),r=c[e][n(t)];return 2===s&&(r=r[a?0:1]),r.replace(/%d/i,t)}},o=["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر"];e.defineLocale("ar",{months:o,monthsShort:o,weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/‏M/‏YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/ص|م/,isPM:function(e){return"م"===e},meridiem:function(e,t,a){return e<12?"ص":"م"},calendar:{sameDay:"[اليوم عند الساعة] LT",nextDay:"[غدًا عند الساعة] LT",nextWeek:"dddd [عند الساعة] LT",lastDay:"[أمس عند الساعة] LT",lastWeek:"dddd [عند الساعة] LT",sameElse:"L"},relativeTime:{future:"بعد %s",past:"منذ %s",s:i("s"),ss:i("s"),m:i("m"),mm:i("m"),h:i("h"),hh:i("h"),d:i("d"),dd:i("d"),M:i("M"),MM:i("M"),y:i("y"),yy:i("y")},preparse:function(e){return e.replace(/[١٢٣٤٥٦٧٨٩٠]/g,function(e){return a[e]}).replace(/،/g,",")},postformat:function(e){return e.replace(/\d/g,function(e){return t[e]}).replace(/,/g,"،")},week:{dow:6,doy:12}})}(a(0))},function(e,t,a){!function(e){"use strict";e.defineLocale("af",{months:"Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember".split("_"),monthsShort:"Jan_Feb_Mrt_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des".split("_"),weekdays:"Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag".split("_"),weekdaysShort:"Son_Maa_Din_Woe_Don_Vry_Sat".split("_"),weekdaysMin:"So_Ma_Di_Wo_Do_Vr_Sa".split("_"),meridiemParse:/vm|nm/i,isPM:function(e){return/^nm$/i.test(e)},meridiem:function(e,t,a){return e<12?a?"vm":"VM":a?"nm":"NM"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Vandag om] LT",nextDay:"[Môre om] LT",nextWeek:"dddd [om] LT",lastDay:"[Gister om] LT",lastWeek:"[Laas] dddd [om] LT",sameElse:"L"},relativeTime:{future:"oor %s",past:"%s gelede",s:"'n paar sekondes",ss:"%d sekondes",m:"'n minuut",mm:"%d minute",h:"'n uur",hh:"%d ure",d:"'n dag",dd:"%d dae",M:"'n maand",MM:"%d maande",y:"'n jaar",yy:"%d jaar"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(e){return e+(1===e||8===e||e>=20?"ste":"de")},week:{dow:1,doy:4}})}(a(0))},function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};t.extendDeep=function e(t){for(var a=1;a0&&void 0!==arguments[0]?arguments[0]:{};if(this instanceof e==!1)return new e(t);this.matrix=[["Index"]],this.meta={type:void 0},this.config=t};m.prototype.data=function(e){return arguments.length?(this.matrix=e instanceof Array?e:null,this):this.matrix},m.prototype.set=function(e,t){if(arguments.length<2||e.length<2)throw Error("Incorrect arguments provided for #set method");var a="number"==typeof e[0]?e[0]:this.matrix[0].indexOf(e[0]),c="number"==typeof e[1]?e[1]:s.selectColumn.call(this,0).indexOf(e[1]),i=s.selectColumn.call(this,e[0]),o=s.selectRow.call(this,e[1]);return i.length<1&&(n.appendColumn.call(this,String(e[0])),a=this.matrix[0].length-1),o.length<1&&(n.appendRow.call(this,String(e[1])),c=this.matrix.length-1),this.matrix[c][a]=t,this},m.prototype.type=function(e){return arguments.length?(this.meta.type=e?String(e):void 0,this):this.meta.type},(0,u.extend)(m.prototype,n),(0,u.extend)(m.prototype,c),(0,u.extend)(m.prototype,i),(0,u.extend)(m.prototype,o),(0,u.extend)(m.prototype,s),(0,u.extend)(m.prototype,r),(0,u.extend)(m.prototype,M),(0,u.extend)(m.prototype,d.default),m.parser=(0,_.default)(m),t.default=m},function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={render:function(){var e="";this.view._artifacts.spinner={};e+='
',e+='
',e+='
',e+="
",e+="
",this.el().innerHTML=e},update:function(){this.render()},destroy:function(){if(this.view._artifacts.spinner){this.view._artifacts.spinner.interval&&clearInterval(this.view._artifacts.spinner.interval),this.view._artifacts.spinner.radius=0;try{delete this.view._artifacts.spinner}catch(e){this.view._artifacts.spinner=void 0}}this.el().innerHTML=""}}},function(e){e.exports={version:"2018e",zones:["Africa/Abidjan|LMT GMT|g.8 0|01|-2ldXH.Q|48e5","Africa/Accra|LMT GMT +0020|.Q 0 -k|012121212121212121212121212121212121212121212121|-26BbX.8 6tzX.8 MnE 1BAk MnE 1BAk MnE 1BAk MnE 1C0k MnE 1BAk MnE 1BAk MnE 1BAk MnE 1C0k MnE 1BAk MnE 1BAk MnE 1BAk MnE 1C0k MnE 1BAk MnE 1BAk MnE 1BAk MnE 1C0k MnE 1BAk MnE 1BAk MnE 1BAk MnE 1C0k MnE 1BAk MnE 1BAk MnE|41e5","Africa/Nairobi|LMT EAT +0230 +0245|-2r.g -30 -2u -2J|01231|-1F3Cr.g 3Dzr.g okMu MFXJ|47e5","Africa/Algiers|PMT WET WEST CET CEST|-9.l 0 -10 -10 -20|0121212121212121343431312123431213|-2nco9.l cNb9.l HA0 19A0 1iM0 11c0 1oo0 Wo0 1rc0 QM0 1EM0 UM0 DA0 Imo0 rd0 De0 9Xz0 1fb0 1ap0 16K0 2yo0 mEp0 hwL0 jxA0 11A0 dDd0 17b0 11B0 1cN0 2Dy0 1cN0 1fB0 1cL0|26e5","Africa/Lagos|LMT WAT|-d.A -10|01|-22y0d.A|17e6","Africa/Bissau|LMT -01 GMT|12.k 10 0|012|-2ldX0 2xoo0|39e4","Africa/Maputo|LMT CAT|-2a.k -20|01|-2GJea.k|26e5","Africa/Cairo|EET EEST|-20 -30|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-1bIO0 vb0 1ip0 11z0 1iN0 1nz0 12p0 1pz0 10N0 1pz0 16p0 1jz0 s3d0 Vz0 1oN0 11b0 1oO0 10N0 1pz0 10N0 1pb0 10N0 1pb0 10N0 1pb0 10N0 1pz0 10N0 1pb0 10N0 1pb0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1WL0 rd0 1Rz0 wp0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1qL0 Xd0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1ny0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 WL0 1qN0 Rb0 1wp0 On0 1zd0 Lz0 1EN0 Fb0 c10 8n0 8Nd0 gL0 e10 mn0|15e6","Africa/Casablanca|LMT WET WEST CET|u.k 0 -10 -10|0121212121212121213121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2gMnt.E 130Lt.E rb0 Dd0 dVb0 b6p0 TX0 EoB0 LL0 gnd0 rz0 43d0 AL0 1Nd0 XX0 1Cp0 pz0 dEp0 4mn0 SyN0 AL0 1Nd0 wn0 1FB0 Db0 1zd0 Lz0 1Nf0 wM0 co0 go0 1o00 s00 dA0 vc0 11A0 A00 e00 y00 11A0 uM0 e00 Dc0 11A0 s00 e00 IM0 WM0 mo0 gM0 LA0 WM0 jA0 e00 Rc0 11A0 e00 e00 U00 11A0 8o0 e00 11A0 11A0 5A0 e00 17c0 1fA0 1a00 1a00 1fA0 17c0 1io0 14o0 1lc0 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1lc0 14o0 1fA0|32e5","Africa/Ceuta|WET WEST CET CEST|0 -10 -10 -20|010101010101010101010232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-25KN0 11z0 drd0 18p0 3HX0 17d0 1fz0 1a10 1io0 1a00 1y7o0 LL0 gnd0 rz0 43d0 AL0 1Nd0 XX0 1Cp0 pz0 dEp0 4VB0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|85e3","Africa/El_Aaiun|LMT -01 WET WEST|Q.M 10 0 -10|01232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-1rDz7.c 1GVA7.c 6L0 AL0 1Nd0 XX0 1Cp0 pz0 1cBB0 AL0 1Nd0 wn0 1FB0 Db0 1zd0 Lz0 1Nf0 wM0 co0 go0 1o00 s00 dA0 vc0 11A0 A00 e00 y00 11A0 uM0 e00 Dc0 11A0 s00 e00 IM0 WM0 mo0 gM0 LA0 WM0 jA0 e00 Rc0 11A0 e00 e00 U00 11A0 8o0 e00 11A0 11A0 5A0 e00 17c0 1fA0 1a00 1a00 1fA0 17c0 1io0 14o0 1lc0 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1lc0 14o0 1fA0|20e4","Africa/Johannesburg|SAST SAST SAST|-1u -20 -30|012121|-2GJdu 1Ajdu 1cL0 1cN0 1cL0|84e5","Africa/Juba|LMT CAT CAST EAT|-26.s -20 -30 -30|01212121212121212121212121212121213|-1yW26.s 1zK06.s 16L0 1iN0 17b0 1jd0 17b0 1ip0 17z0 1i10 17X0 1hB0 18n0 1hd0 19b0 1gp0 19z0 1iN0 17b0 1ip0 17z0 1i10 18n0 1hd0 18L0 1gN0 19b0 1gp0 19z0 1iN0 17z0 1i10 17X0 yGd0","Africa/Khartoum|LMT CAT CAST EAT|-2a.8 -20 -30 -30|012121212121212121212121212121212131|-1yW2a.8 1zK0a.8 16L0 1iN0 17b0 1jd0 17b0 1ip0 17z0 1i10 17X0 1hB0 18n0 1hd0 19b0 1gp0 19z0 1iN0 17b0 1ip0 17z0 1i10 18n0 1hd0 18L0 1gN0 19b0 1gp0 19z0 1iN0 17z0 1i10 17X0 yGd0 HjL0|51e5","Africa/Monrovia|MMT MMT GMT|H.8 I.u 0|012|-23Lzg.Q 28G01.m|11e5","Africa/Ndjamena|LMT WAT WAST|-10.c -10 -20|0121|-2le10.c 2J3c0.c Wn0|13e5","Africa/Sao_Tome|LMT GMT WAT|A.J 0 -10|012|-2le00 4i6N0","Africa/Tripoli|LMT CET CEST EET|-Q.I -10 -20 -20|012121213121212121212121213123123|-21JcQ.I 1hnBQ.I vx0 4iP0 xx0 4eN0 Bb0 7ip0 U0n0 A10 1db0 1cN0 1db0 1dd0 1db0 1eN0 1bb0 1e10 1cL0 1c10 1db0 1dd0 1db0 1cN0 1db0 1q10 fAn0 1ep0 1db0 AKq0 TA0 1o00|11e5","Africa/Tunis|PMT CET CEST|-9.l -10 -20|0121212121212121212121212121212121|-2nco9.l 18pa9.l 1qM0 DA0 3Tc0 11B0 1ze0 WM0 7z0 3d0 14L0 1cN0 1f90 1ar0 16J0 1gXB0 WM0 1rA0 11c0 nwo0 Ko0 1cM0 1cM0 1rA0 10M0 zuM0 10N0 1aN0 1qM0 WM0 1qM0 11A0 1o00|20e5","Africa/Windhoek|+0130 SAST SAST CAT WAT|-1u -20 -30 -20 -10|01213434343434343434343434343434343434343434343434343|-2GJdu 1Ajdu 1cL0 1SqL0 9Io0 16P0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0|32e4","America/Adak|NST NWT NPT BST BDT AHST HST HDT|b0 a0 a0 b0 a0 a0 a0 90|012034343434343434343434343434343456767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676|-17SX0 8wW0 iB0 Qlb0 52O0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 cm0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|326","America/Anchorage|AST AWT APT AHST AHDT YST AKST AKDT|a0 90 90 a0 90 90 90 80|012034343434343434343434343434343456767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676|-17T00 8wX0 iA0 Qlb0 52O0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 cm0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|30e4","America/Port_of_Spain|LMT AST|46.4 40|01|-2kNvR.U|43e3","America/Araguaina|LMT -03 -02|3c.M 30 20|0121212121212121212121212121212121212121212121212121|-2glwL.c HdKL.c 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 dMN0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 ny10 Lz0|14e4","America/Argentina/Buenos_Aires|CMT -04 -03 -02|4g.M 40 30 20|01212121212121212121212121212121212121212123232323232323232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wp0 Rb0 1wp0 TX0 A4p0 uL0 1qN0 WL0","America/Argentina/Catamarca|CMT -04 -03 -02|4g.M 40 30 20|01212121212121212121212121212121212121212123232323132321232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wq0 Ra0 1wp0 TX0 rlB0 7B0 8zb0 uL0","America/Argentina/Cordoba|CMT -04 -03 -02|4g.M 40 30 20|01212121212121212121212121212121212121212123232323132323232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wq0 Ra0 1wp0 TX0 A4p0 uL0 1qN0 WL0","America/Argentina/Jujuy|CMT -04 -03 -02|4g.M 40 30 20|012121212121212121212121212121212121212121232323121323232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1ze0 TX0 1ld0 WK0 1wp0 TX0 A4p0 uL0","America/Argentina/La_Rioja|CMT -04 -03 -02|4g.M 40 30 20|012121212121212121212121212121212121212121232323231232321232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Qn0 qO0 16n0 Rb0 1wp0 TX0 rlB0 7B0 8zb0 uL0","America/Argentina/Mendoza|CMT -04 -03 -02|4g.M 40 30 20|01212121212121212121212121212121212121212123232312121321232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1u20 SL0 1vd0 Tb0 1wp0 TW0 ri10 Op0 7TX0 uL0","America/Argentina/Rio_Gallegos|CMT -04 -03 -02|4g.M 40 30 20|01212121212121212121212121212121212121212123232323232321232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wp0 Rb0 1wp0 TX0 rlB0 7B0 8zb0 uL0","America/Argentina/Salta|CMT -04 -03 -02|4g.M 40 30 20|012121212121212121212121212121212121212121232323231323232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wq0 Ra0 1wp0 TX0 A4p0 uL0","America/Argentina/San_Juan|CMT -04 -03 -02|4g.M 40 30 20|012121212121212121212121212121212121212121232323231232321232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Qn0 qO0 16n0 Rb0 1wp0 TX0 rld0 m10 8lb0 uL0","America/Argentina/San_Luis|CMT -04 -03 -02|4g.M 40 30 20|012121212121212121212121212121212121212121232323121212321212|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 XX0 1q20 SL0 AN0 vDb0 m10 8lb0 8L0 jd0 1qN0 WL0 1qN0","America/Argentina/Tucuman|CMT -04 -03 -02|4g.M 40 30 20|0121212121212121212121212121212121212121212323232313232123232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wq0 Ra0 1wp0 TX0 rlB0 4N0 8BX0 uL0 1qN0 WL0","America/Argentina/Ushuaia|CMT -04 -03 -02|4g.M 40 30 20|01212121212121212121212121212121212121212123232323232321232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wp0 Rb0 1wp0 TX0 rkN0 8p0 8zb0 uL0","America/Curacao|LMT -0430 AST|4z.L 4u 40|012|-2kV7o.d 28KLS.d|15e4","America/Asuncion|AMT -04 -03|3O.E 40 30|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212|-1x589.k 1DKM9.k 3CL0 3Dd0 10L0 1pB0 10n0 1pB0 10n0 1pB0 1cL0 1dd0 1db0 1dd0 1cL0 1dd0 1cL0 1dd0 1cL0 1dd0 1db0 1dd0 1cL0 1dd0 1cL0 1dd0 1cL0 1dd0 1db0 1dd0 1cL0 1lB0 14n0 1dd0 1cL0 1fd0 WL0 1rd0 1aL0 1dB0 Xz0 1qp0 Xb0 1qN0 10L0 1rB0 TX0 1tB0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 1cL0 WN0 1qL0 11B0 1nX0 1ip0 WL0 1qN0 WL0 1qN0 WL0 1tB0 TX0 1tB0 TX0 1tB0 19X0 1a10 1fz0 1a10 1fz0 1cN0 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0|28e5","America/Atikokan|CST CDT CWT CPT EST|60 50 50 50 50|0101234|-25TQ0 1in0 Rnb0 3je0 8x30 iw0|28e2","America/Bahia_Banderas|LMT MST CST PST MDT CDT|71 70 60 80 60 50|0121212131414141414141414141414141414152525252525252525252525252525252525252525252525252525252|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 otX0 gmN0 P2N0 13Vd0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nW0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0|84e3","America/Bahia|LMT -03 -02|2y.4 30 20|01212121212121212121212121212121212121212121212121212121212121|-2glxp.U HdLp.U 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 1EN0 Lz0 1C10 IL0 1HB0 Db0 1HB0 On0 1zd0 On0 1zd0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 l5B0 Rb0|27e5","America/Barbados|LMT BMT AST ADT|3W.t 3W.t 40 30|01232323232|-1Q0I1.v jsM0 1ODC1.v IL0 1ip0 17b0 1ip0 17b0 1ld0 13b0|28e4","America/Belem|LMT -03 -02|3d.U 30 20|012121212121212121212121212121|-2glwK.4 HdKK.4 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0|20e5","America/Belize|LMT CST -0530 CDT|5Q.M 60 5u 50|01212121212121212121212121212121212121212121212121213131|-2kBu7.c fPA7.c Onu 1zcu Rbu 1wou Rbu 1wou Rbu 1zcu Onu 1zcu Onu 1zcu Rbu 1wou Rbu 1wou Rbu 1wou Rbu 1zcu Onu 1zcu Onu 1zcu Rbu 1wou Rbu 1wou Rbu 1zcu Onu 1zcu Onu 1zcu Onu 1zcu Rbu 1wou Rbu 1wou Rbu 1zcu Onu 1zcu Onu 1zcu Rbu 1wou Rbu 1f0Mu qn0 lxB0 mn0|57e3","America/Blanc-Sablon|AST ADT AWT APT|40 30 30 30|010230|-25TS0 1in0 UGp0 8x50 iu0|11e2","America/Boa_Vista|LMT -04 -03|42.E 40 30|0121212121212121212121212121212121|-2glvV.k HdKV.k 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 smp0 WL0 1tB0 2L0|62e2","America/Bogota|BMT -05 -04|4U.g 50 40|0121|-2eb73.I 38yo3.I 2en0|90e5","America/Boise|PST PDT MST MWT MPT MDT|80 70 70 60 60 60|0101023425252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252|-261q0 1nX0 11B0 1nX0 8C10 JCL0 8x20 ix0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 Dd0 1Kn0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|21e4","America/Cambridge_Bay|-00 MST MWT MPT MDDT MDT CST CDT EST|0 70 60 60 50 60 60 50 50|0123141515151515151515151515151515151515151515678651515151515151515151515151515151515151515151515151515151515151515151515151|-21Jc0 RO90 8x20 ix0 LCL0 1fA0 zgO0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11A0 1nX0 2K0 WQ0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|15e2","America/Campo_Grande|LMT -04 -03|3C.s 40 30|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212|-2glwl.w HdLl.w 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 1EN0 Lz0 1C10 IL0 1HB0 Db0 1HB0 On0 1zd0 On0 1zd0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 1C10 Lz0 1Ip0 HX0 1zd0 On0 1HB0 IL0 1wp0 On0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 Rb0 1zd0 Lz0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 On0 1zd0 On0 1HB0 FX0 1HB0 FX0 1HB0 IL0 1HB0 FX0 1HB0 IL0 1EN0 FX0 1HB0 FX0 1HB0 IL0 1EN0 IL0 1HB0 FX0 1HB0 FX0 1HB0 FX0 1HB0 FX0 1HB0 FX0 1Kp0 FX0 1HB0 IL0 1EN0 FX0 1HB0 FX0 1HB0 IL0 1EN0|77e4","America/Cancun|LMT CST EST EDT CDT|5L.4 60 50 40 50|0123232341414141414141414141414141414141412|-1UQG0 2q2o0 yLB0 1lb0 14p0 1lb0 14p0 Lz0 xB0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 Dd0|63e4","America/Caracas|CMT -0430 -04|4r.E 4u 40|01212|-2kV7w.k 28KM2.k 1IwOu kqo0|29e5","America/Cayenne|LMT -04 -03|3t.k 40 30|012|-2mrwu.E 2gWou.E|58e3","America/Panama|CMT EST|5j.A 50|01|-2uduE.o|15e5","America/Chicago|CST CDT EST CWT CPT|60 50 50 50 50|01010101010101010101010101010101010102010101010103401010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261s0 1nX0 11B0 1nX0 1wp0 TX0 WN0 1qL0 1cN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 11B0 1Hz0 14p0 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 RB0 8x30 iw0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|92e5","America/Chihuahua|LMT MST CST CDT MDT|74.k 70 60 50 60|0121212323241414141414141414141414141414141414141414141414141414141414141414141414141414141|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 2zQN0 1lb0 14p0 1lb0 14q0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0|81e4","America/Costa_Rica|SJMT CST CDT|5A.d 60 50|0121212121|-1Xd6n.L 2lu0n.L Db0 1Kp0 Db0 pRB0 15b0 1kp0 mL0|12e5","America/Creston|MST PST|70 80|010|-29DR0 43B0|53e2","America/Cuiaba|LMT -04 -03|3I.k 40 30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212|-2glwf.E HdLf.E 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 1EN0 Lz0 1C10 IL0 1HB0 Db0 1HB0 On0 1zd0 On0 1zd0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 4a10 HX0 1zd0 On0 1HB0 IL0 1wp0 On0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 Rb0 1zd0 Lz0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 On0 1zd0 On0 1HB0 FX0 1HB0 FX0 1HB0 IL0 1HB0 FX0 1HB0 IL0 1EN0 FX0 1HB0 FX0 1HB0 IL0 1EN0 IL0 1HB0 FX0 1HB0 FX0 1HB0 FX0 1HB0 FX0 1HB0 FX0 1Kp0 FX0 1HB0 IL0 1EN0 FX0 1HB0 FX0 1HB0 IL0 1EN0|54e4","America/Danmarkshavn|LMT -03 -02 GMT|1e.E 30 20 0|01212121212121212121212121212121213|-2a5WJ.k 2z5fJ.k 19U0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 DC0|8","America/Dawson_Creek|PST PDT PWT PPT MST|80 70 70 70 70|0102301010101010101010101010101010101010101010101010101014|-25TO0 1in0 UGp0 8x10 iy0 3NB0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 ML0|12e3","America/Dawson|YST YDT YWT YPT YDDT PST PDT|90 80 80 80 70 80 70|0101023040565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565|-25TN0 1in0 1o10 13V0 Ser0 8x00 iz0 LCL0 1fA0 jrA0 fNd0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|13e2","America/Denver|MST MDT MWT MPT|70 60 60 60|01010101023010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261r0 1nX0 11B0 1nX0 11B0 1qL0 WN0 mn0 Ord0 8x20 ix0 LCN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|26e5","America/Detroit|LMT CST EST EWT EPT EDT|5w.b 60 50 40 40 40|012342525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252|-2Cgir.N peqr.N 156L0 8x40 iv0 6fd0 11z0 XQp0 1cL0 s10 1Vz0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|37e5","America/Edmonton|LMT MST MDT MWT MPT|7x.Q 70 60 60 60|01212121212121341212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2yd4q.8 shdq.8 1in0 17d0 hz0 2dB0 1fz0 1a10 11z0 1qN0 WL0 1qN0 11z0 IGN0 8x20 ix0 3NB0 11z0 LFB0 1cL0 3Cp0 1cL0 66N0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|10e5","America/Eirunepe|LMT -05 -04|4D.s 50 40|0121212121212121212121212121212121|-2glvk.w HdLk.w 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 dPB0 On0 yTd0 d5X0|31e3","America/El_Salvador|LMT CST CDT|5U.M 60 50|012121|-1XiG3.c 2Fvc3.c WL0 1qN0 WL0|11e5","America/Tijuana|LMT MST PST PDT PWT PPT|7M.4 70 80 70 70 70|012123245232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-1UQE0 4PX0 8mM0 8lc0 SN0 1cL0 pHB0 83r0 zI0 5O10 1Rz0 cOO0 11A0 1o00 11A0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 BUp0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 U10 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|20e5","America/Fort_Nelson|PST PDT PWT PPT MST|80 70 70 70 70|01023010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010104|-25TO0 1in0 UGp0 8x10 iy0 3NB0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0|39e2","America/Fort_Wayne|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|010101023010101010101010101040454545454545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 QI10 Db0 RB0 8x30 iw0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 5Tz0 1o10 qLb0 1cL0 1cN0 1cL0 1qhd0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Fortaleza|LMT -03 -02|2y 30 20|0121212121212121212121212121212121212121|-2glxq HdLq 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 nsp0 WL0 1tB0 5z0 2mN0 On0|34e5","America/Glace_Bay|LMT AST ADT AWT APT|3X.M 40 30 30 30|012134121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2IsI0.c CwO0.c 1in0 UGp0 8x50 iu0 iq10 11z0 Jg10 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|19e3","America/Godthab|LMT -03 -02|3q.U 30 20|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2a5Ux.4 2z5dx.4 19U0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|17e3","America/Goose_Bay|NST NDT NST NDT NWT NPT AST ADT ADDT|3u.Q 2u.Q 3u 2u 2u 2u 40 30 20|010232323232323245232323232323232323232323232323232323232326767676767676767676767676767676767676767676768676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676|-25TSt.8 1in0 DXb0 2HbX.8 WL0 1qN0 WL0 1qN0 WL0 1tB0 TX0 1tB0 WL0 1qN0 WL0 1qN0 7UHu itu 1tB0 WL0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1tB0 WL0 1ld0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 S10 g0u 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14n1 1lb0 14p0 1nW0 11C0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zcX Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|76e2","America/Grand_Turk|KMT EST EDT AST|57.a 50 40 40|01212121212121212121212121212121212121212121212121212121212121212121212121232121212121212121212121212121212121212121|-2l1uQ.O 2HHBQ.O 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 5Ip0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|37e2","America/Guatemala|LMT CST CDT|62.4 60 50|0121212121|-24KhV.U 2efXV.U An0 mtd0 Nz0 ifB0 17b0 zDB0 11z0|13e5","America/Guayaquil|QMT -05 -04|5e 50 40|0121|-1yVSK 2uILK rz0|27e5","America/Guyana|LMT -0345 -03 -04|3Q.E 3J 30 40|0123|-2dvU7.k 2r6LQ.k Bxbf|80e4","America/Halifax|LMT AST ADT AWT APT|4e.o 40 30 30 30|0121212121212121212121212121212121212121212121212134121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2IsHJ.A xzzJ.A 1db0 3I30 1in0 3HX0 IL0 1E10 ML0 1yN0 Pb0 1Bd0 Mn0 1Bd0 Rz0 1w10 Xb0 1w10 LX0 1w10 Xb0 1w10 Lz0 1C10 Jz0 1E10 OL0 1yN0 Un0 1qp0 Xb0 1qp0 11X0 1w10 Lz0 1HB0 LX0 1C10 FX0 1w10 Xb0 1qp0 Xb0 1BB0 LX0 1td0 Xb0 1qp0 Xb0 Rf0 8x50 iu0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 3Qp0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 3Qp0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 6i10 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|39e4","America/Havana|HMT CST CDT|5t.A 50 40|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1Meuu.o 72zu.o ML0 sld0 An0 1Nd0 Db0 1Nd0 An0 6Ep0 An0 1Nd0 An0 JDd0 Mn0 1Ap0 On0 1fd0 11X0 1qN0 WL0 1wp0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 14n0 1ld0 14L0 1kN0 15b0 1kp0 1cL0 1cN0 1fz0 1a10 1fz0 1fB0 11z0 14p0 1nX0 11B0 1nX0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 14n0 1ld0 14n0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 1a10 1in0 1a10 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 17c0 1o00 11A0 1qM0 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 11A0 6i00 Rc0 1wo0 U00 1tA0 Rc0 1wo0 U00 1wo0 U00 1zc0 U00 1qM0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0|21e5","America/Hermosillo|LMT MST CST PST MDT|7n.Q 70 60 80 60|0121212131414141|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 otX0 gmN0 P2N0 13Vd0 1lb0 14p0 1lb0 14p0 1lb0|64e4","America/Indiana/Knox|CST CDT CWT CPT EST|60 50 50 50 50|0101023010101010101010101010101010101040101010101010101010101010101010101010101010101010141010101010101010101010101010101010101010101010101010101010101010|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 3NB0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 11z0 1o10 11z0 1o10 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 3Cn0 8wp0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 z8o0 1o00 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Indiana/Marengo|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|0101023010101010101010104545454545414545454545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 dyN0 11z0 6fd0 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 jrz0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1VA0 LA0 1BX0 1e6p0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Indiana/Petersburg|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|01010230101010101010101010104010101010101010101010141014545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 njX0 WN0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 3Fb0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 19co0 1o00 Rd0 1zb0 Oo0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Indiana/Tell_City|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|01010230101010101010101010101010454541010101010101010101010101010101010101010101010101010101010101010|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 1o10 11z0 g0p0 11z0 1o10 11z0 1qL0 WN0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 WL0 1qN0 1cL0 1cN0 1cL0 1cN0 caL0 1cL0 1cN0 1cL0 1qhd0 1o00 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Indiana/Vevay|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|010102304545454545454545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 kPB0 Awn0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1lnd0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Indiana/Vincennes|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|01010230101010101010101010101010454541014545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 1o10 11z0 g0p0 11z0 1o10 11z0 1qL0 WN0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 WL0 1qN0 1cL0 1cN0 1cL0 1cN0 caL0 1cL0 1cN0 1cL0 1qhd0 1o00 Rd0 1zb0 Oo0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Indiana/Winamac|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|01010230101010101010101010101010101010454541054545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 jrz0 1cL0 1cN0 1cL0 1qhd0 1o00 Rd0 1za0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Inuvik|-00 PST PDDT MST MDT|0 80 60 70 60|0121343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343|-FnA0 tWU0 1fA0 wPe0 2pz0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|35e2","America/Iqaluit|-00 EWT EPT EST EDDT EDT CST CDT|0 40 40 50 30 40 60 50|01234353535353535353535353535353535353535353567353535353535353535353535353535353535353535353535353535353535353535353535353|-16K00 7nX0 iv0 LCL0 1fA0 zgO0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11C0 1nX0 11A0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|67e2","America/Jamaica|KMT EST EDT|57.a 50 40|0121212121212121212121|-2l1uQ.O 2uM1Q.O 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0|94e4","America/Juneau|PST PWT PPT PDT YDT YST AKST AKDT|80 70 70 70 80 90 90 80|01203030303030303030303030403030356767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676|-17T20 8x10 iy0 Vo10 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cM0 1cM0 1cL0 1cN0 1fz0 1a10 1fz0 co0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|33e3","America/Kentucky/Louisville|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|0101010102301010101010101010101010101454545454545414545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 3Fd0 Nb0 LPd0 11z0 RB0 8x30 iw0 Bb0 10N0 2bB0 8in0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 xz0 gso0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1VA0 LA0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Kentucky/Monticello|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|0101023010101010101010101010101010101010101010101010101010101010101010101454545454545454545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 SWp0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11A0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/La_Paz|CMT BST -04|4w.A 3w.A 40|012|-1x37r.o 13b0|19e5","America/Lima|LMT -05 -04|58.A 50 40|0121212121212121|-2tyGP.o 1bDzP.o zX0 1aN0 1cL0 1cN0 1cL0 1PrB0 zX0 1O10 zX0 6Gp0 zX0 98p0 zX0|11e6","America/Los_Angeles|PST PDT PWT PPT|80 70 70 70|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261q0 1nX0 11B0 1nX0 SgN0 8x10 iy0 5Wp1 1VaX 3dA0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1a00 1fA0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|15e6","America/Maceio|LMT -03 -02|2m.Q 30 20|012121212121212121212121212121212121212121|-2glxB.8 HdLB.8 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 dMN0 Lz0 8Q10 WL0 1tB0 5z0 2mN0 On0|93e4","America/Managua|MMT CST EST CDT|5J.c 60 50 50|0121313121213131|-1quie.M 1yAMe.M 4mn0 9Up0 Dz0 1K10 Dz0 s3F0 1KH0 DB0 9In0 k8p0 19X0 1o30 11y0|22e5","America/Manaus|LMT -04 -03|40.4 40 30|01212121212121212121212121212121|-2glvX.U HdKX.U 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 dPB0 On0|19e5","America/Martinique|FFMT AST ADT|44.k 40 30|0121|-2mPTT.E 2LPbT.E 19X0|39e4","America/Matamoros|LMT CST CDT|6E 60 50|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1UQG0 2FjC0 1nX0 i6p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 U10 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|45e4","America/Mazatlan|LMT MST CST PST MDT|75.E 70 60 80 60|0121212131414141414141414141414141414141414141414141414141414141414141414141414141414141414141|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 otX0 gmN0 P2N0 13Vd0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0|44e4","America/Menominee|CST CDT CWT CPT EST|60 50 50 50 50|01010230101041010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 1o10 11z0 LCN0 1fz0 6410 9Jb0 1cM0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|85e2","America/Merida|LMT CST EST CDT|5W.s 60 50 50|0121313131313131313131313131313131313131313131313131313131313131313131313131313131313131|-1UQG0 2q2o0 2hz0 wu30 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0|11e5","America/Metlakatla|PST PWT PPT PDT AKST AKDT|80 70 70 70 90 80|0120303030303030303030303030303030454545454545454545454545454545454545454545454|-17T20 8x10 iy0 Vo10 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1hU10 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|14e2","America/Mexico_City|LMT MST CST CDT CWT|6A.A 70 60 50 50|012121232324232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 gEn0 TX0 3xd0 Jb0 6zB0 SL0 e5d0 17b0 1Pff0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0|20e6","America/Miquelon|LMT AST -03 -02|3I.E 40 30 20|012323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-2mKkf.k 2LTAf.k gQ10 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|61e2","America/Moncton|EST AST ADT AWT APT|50 40 30 30 30|012121212121212121212134121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2IsH0 CwN0 1in0 zAo0 An0 1Nd0 An0 1Nd0 An0 1Nd0 An0 1Nd0 An0 1Nd0 An0 1K10 Lz0 1zB0 NX0 1u10 Wn0 S20 8x50 iu0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 3Cp0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14n1 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 ReX 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|64e3","America/Monterrey|LMT CST CDT|6F.g 60 50|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1UQG0 2FjC0 1nX0 i6p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0|41e5","America/Montevideo|LMT MMT -04 -03 -0330 -0230 -02 -0130|3I.P 3I.P 40 30 3u 2u 20 1u|012343434343434343434343435353636353636375363636363636363636363636363636363636363636363|-2tRUf.9 sVc0 8jcf.9 1db0 1dcu 1cLu 1dcu 1cLu ircu 11zu 1o0u 11zu 1o0u 11zu 1o0u 11zu 1qMu WLu 1qMu WLu 1fAu 1cLu 1o0u 11zu NAu 3jXu zXu Dq0u 19Xu pcu jz0 cm10 19X0 6tB0 1fbu 3o0u jX0 4vB0 xz0 3Cp0 mmu 1a10 IMu Db0 4c10 uL0 1Nd0 An0 1SN0 uL0 mp0 28L0 iPB0 un0 1SN0 xz0 1zd0 Lz0 1zd0 Rb0 1zd0 On0 1wp0 Rb0 s8p0 1fB0 1ip0 11z0 1ld0 14n0 1o10 11z0 1o10 11z0 1o10 14n0 1ld0 14n0 1ld0 14n0 1o10 11z0 1o10 11z0 1o10 11z0|17e5","America/Toronto|EST EDT EWT EPT|50 40 40 40|01010101010101010101010101010101010101010101012301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-25TR0 1in0 11Wu 1nzu 1fD0 WJ0 1wr0 Nb0 1Ap0 On0 1zd0 On0 1wp0 TX0 1tB0 TX0 1tB0 TX0 1tB0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 4kM0 8x40 iv0 1o10 11z0 1nX0 11z0 1o10 11z0 1o10 1qL0 11D0 1nX0 11B0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|65e5","America/Nassau|LMT EST EDT|59.u 50 40|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2kNuO.u 26XdO.u 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|24e4","America/New_York|EST EDT EWT EPT|50 40 40 40|01010101010101010101010101010101010101010101010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261t0 1nX0 11B0 1nX0 11B0 1qL0 1a10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 RB0 8x40 iv0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|21e6","America/Nipigon|EST EDT EWT EPT|50 40 40 40|010123010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-25TR0 1in0 Rnb0 3je0 8x40 iv0 19yN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|16e2","America/Nome|NST NWT NPT BST BDT YST AKST AKDT|b0 a0 a0 b0 a0 90 90 80|012034343434343434343434343434343456767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676|-17SX0 8wW0 iB0 Qlb0 52O0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 cl0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|38e2","America/Noronha|LMT -02 -01|29.E 20 10|0121212121212121212121212121212121212121|-2glxO.k HdKO.k 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 nsp0 WL0 1tB0 2L0 2pB0 On0|30e2","America/North_Dakota/Beulah|MST MDT MWT MPT CST CDT|70 60 60 60 60 50|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101014545454545454545454545454545454545454545454545454545454|-261r0 1nX0 11B0 1nX0 SgN0 8x20 ix0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Oo0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/North_Dakota/Center|MST MDT MWT MPT CST CDT|70 60 60 60 60 50|010102301010101010101010101010101010101010101010101010101014545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-261r0 1nX0 11B0 1nX0 SgN0 8x20 ix0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14o0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/North_Dakota/New_Salem|MST MDT MWT MPT CST CDT|70 60 60 60 60 50|010102301010101010101010101010101010101010101010101010101010101010101010101010101454545454545454545454545454545454545454545454545454545454545454545454|-261r0 1nX0 11B0 1nX0 SgN0 8x20 ix0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14o0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Ojinaga|LMT MST CST CDT MDT|6V.E 70 60 50 60|0121212323241414141414141414141414141414141414141414141414141414141414141414141414141414141|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 2zQN0 1lb0 14p0 1lb0 14q0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 U10 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|23e3","America/Pangnirtung|-00 AST AWT APT ADDT ADT EDT EST CST CDT|0 40 30 30 20 30 40 50 60 50|012314151515151515151515151515151515167676767689767676767676767676767676767676767676767676767676767676767676767676767676767|-1XiM0 PnG0 8x50 iu0 LCL0 1fA0 zgO0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1o00 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11C0 1nX0 11A0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|14e2","America/Paramaribo|LMT PMT PMT -0330 -03|3E.E 3E.Q 3E.A 3u 30|01234|-2nDUj.k Wqo0.c qanX.I 1yVXN.o|24e4","America/Phoenix|MST MDT MWT|70 60 60|01010202010|-261r0 1nX0 11B0 1nX0 SgN0 4Al1 Ap0 1db0 SWqX 1cL0|42e5","America/Port-au-Prince|PPMT EST EDT|4N 50 40|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-28RHb 2FnMb 19X0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14q0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 i6n0 1nX0 11B0 1nX0 d430 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 3iN0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|23e5","America/Rio_Branco|LMT -05 -04|4v.c 50 40|01212121212121212121212121212121|-2glvs.M HdLs.M 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 NBd0 d5X0|31e4","America/Porto_Velho|LMT -04 -03|4f.A 40 30|012121212121212121212121212121|-2glvI.o HdKI.o 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0|37e4","America/Puerto_Rico|AST AWT APT|40 30 30|0120|-17lU0 7XT0 iu0|24e5","America/Punta_Arenas|SMT -05 -04 -03|4G.K 50 40 30|0102021212121212121232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323|-2q2jh.e fJAh.e 5knG.K 1Vzh.e jRAG.K 1pbh.e 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 nHX0 op0 blz0 ko0 Qeo0 WL0 1zd0 On0 1ip0 11z0 1o10 11z0 1qN0 WL0 1ld0 14n0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 1cL0 1cN0 11z0 1o10 11z0 1qN0 WL0 1fB0 19X0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1ip0 1fz0 1fB0 11z0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1o10 19X0 1fB0 1nX0 G10 1EL0 Op0 1zb0 Rd0 1wn0 Rd0 46n0 Ap0","America/Rainy_River|CST CDT CWT CPT|60 50 50 50|010123010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-25TQ0 1in0 Rnb0 3je0 8x30 iw0 19yN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|842","America/Rankin_Inlet|-00 CST CDDT CDT EST|0 60 40 50 50|012131313131313131313131313131313131313131313431313131313131313131313131313131313131313131313131313131313131313131313131|-vDc0 keu0 1fA0 zgO0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|26e2","America/Recife|LMT -03 -02|2j.A 30 20|0121212121212121212121212121212121212121|-2glxE.o HdLE.o 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 nsp0 WL0 1tB0 2L0 2pB0 On0|33e5","America/Regina|LMT MST MDT MWT MPT CST|6W.A 70 60 60 60 60|012121212121212121212121341212121212121212121212121215|-2AD51.o uHe1.o 1in0 s2L0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 66N0 1cL0 1cN0 19X0 1fB0 1cL0 1fB0 1cL0 1cN0 1cL0 M30 8x20 ix0 1ip0 1cL0 1ip0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 3NB0 1cL0 1cN0|19e4","America/Resolute|-00 CST CDDT CDT EST|0 60 40 50 50|012131313131313131313131313131313131313131313431313131313431313131313131313131313131313131313131313131313131313131313131|-SnA0 GWS0 1fA0 zgO0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|229","America/Santarem|LMT -04 -03|3C.M 40 30|0121212121212121212121212121212|-2glwl.c HdLl.c 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 NBd0|21e4","America/Santiago|SMT -05 -04 -03|4G.K 50 40 30|010202121212121212321232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323|-2q2jh.e fJAh.e 5knG.K 1Vzh.e jRAG.K 1pbh.e 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 nHX0 op0 9Bz0 jb0 1oN0 ko0 Qeo0 WL0 1zd0 On0 1ip0 11z0 1o10 11z0 1qN0 WL0 1ld0 14n0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 1cL0 1cN0 11z0 1o10 11z0 1qN0 WL0 1fB0 19X0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1ip0 1fz0 1fB0 11z0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1o10 19X0 1fB0 1nX0 G10 1EL0 Op0 1zb0 Rd0 1wn0 Rd0 46n0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Dd0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Dd0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Dd0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0|62e5","America/Santo_Domingo|SDMT EST EDT -0430 AST|4E 50 40 4u 40|01213131313131414|-1ttjk 1lJMk Mn0 6sp0 Lbu 1Cou yLu 1RAu wLu 1QMu xzu 1Q0u xXu 1PAu 13jB0 e00|29e5","America/Sao_Paulo|LMT -03 -02|36.s 30 20|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212|-2glwR.w HdKR.w 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 pTd0 PX0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 1EN0 Lz0 1C10 IL0 1HB0 Db0 1HB0 On0 1zd0 On0 1zd0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 1C10 Lz0 1Ip0 HX0 1zd0 On0 1HB0 IL0 1wp0 On0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 Rb0 1zd0 Lz0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 On0 1zd0 On0 1HB0 FX0 1HB0 FX0 1HB0 IL0 1HB0 FX0 1HB0 IL0 1EN0 FX0 1HB0 FX0 1HB0 IL0 1EN0 IL0 1HB0 FX0 1HB0 FX0 1HB0 FX0 1HB0 FX0 1HB0 FX0 1Kp0 FX0 1HB0 IL0 1EN0 FX0 1HB0 FX0 1HB0 IL0 1EN0|20e6","America/Scoresbysund|LMT -02 -01 +00|1r.Q 20 10 0|0121323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-2a5Ww.8 2z5ew.8 1a00 1cK0 1cL0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|452","America/Sitka|PST PWT PPT PDT YST AKST AKDT|80 70 70 70 90 90 80|01203030303030303030303030303030345656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565|-17T20 8x10 iy0 Vo10 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 co0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|90e2","America/St_Johns|NST NDT NST NDT NWT NPT NDDT|3u.Q 2u.Q 3u 2u 2u 2u 1u|01010101010101010101010101010101010102323232323232324523232323232323232323232323232323232323232323232323232323232323232323232323232323232326232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-28oit.8 14L0 1nB0 1in0 1gm0 Dz0 1JB0 1cL0 1cN0 1cL0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1fB0 1cL0 1cN0 1cL0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1fB0 1cL0 1fB0 19X0 1fB0 19X0 10O0 eKX.8 19X0 1iq0 WL0 1qN0 WL0 1qN0 WL0 1tB0 TX0 1tB0 WL0 1qN0 WL0 1qN0 7UHu itu 1tB0 WL0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1tB0 WL0 1ld0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14n1 1lb0 14p0 1nW0 11C0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zcX Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|11e4","America/Swift_Current|LMT MST MDT MWT MPT CST|7b.k 70 60 60 60 60|012134121212121212121215|-2AD4M.E uHdM.E 1in0 UGp0 8x20 ix0 1o10 17b0 1ip0 11z0 1o10 11z0 1o10 11z0 isN0 1cL0 3Cp0 1cL0 1cN0 11z0 1qN0 WL0 pMp0|16e3","America/Tegucigalpa|LMT CST CDT|5M.Q 60 50|01212121|-1WGGb.8 2ETcb.8 WL0 1qN0 WL0 GRd0 AL0|11e5","America/Thule|LMT AST ADT|4z.8 40 30|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2a5To.Q 31NBo.Q 1cL0 1cN0 1cL0 1fB0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|656","America/Thunder_Bay|CST EST EWT EPT EDT|60 50 40 40 40|0123141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141|-2q5S0 1iaN0 8x40 iv0 XNB0 1cL0 1cN0 1fz0 1cN0 1cL0 3Cp0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|11e4","America/Vancouver|PST PDT PWT PPT|80 70 70 70|0102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-25TO0 1in0 UGp0 8x10 iy0 1o10 17b0 1ip0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|23e5","America/Whitehorse|YST YDT YWT YPT YDDT PST PDT|90 80 80 80 70 80 70|0101023040565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565|-25TN0 1in0 1o10 13V0 Ser0 8x00 iz0 LCL0 1fA0 3NA0 vrd0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|23e3","America/Winnipeg|CST CDT CWT CPT|60 50 50 50|010101023010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aIi0 WL0 3ND0 1in0 Jap0 Rb0 aCN0 8x30 iw0 1tB0 11z0 1ip0 11z0 1o10 11z0 1o10 11z0 1rd0 10L0 1op0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 1cL0 1cN0 11z0 6i10 WL0 6i10 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1a00 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1a00 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|66e4","America/Yakutat|YST YWT YPT YDT AKST AKDT|90 80 80 80 90 80|01203030303030303030303030303030304545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-17T10 8x00 iz0 Vo10 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 cn0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|642","America/Yellowknife|-00 MST MWT MPT MDDT MDT|0 70 60 60 50 60|012314151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151|-1pdA0 hix0 8x20 ix0 LCL0 1fA0 zgO0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|19e3","Antarctica/Casey|-00 +08 +11|0 -80 -b0|01212121|-2q00 1DjS0 T90 40P0 KL0 blz0 3m10|10","Antarctica/Davis|-00 +07 +05|0 -70 -50|01012121|-vyo0 iXt0 alj0 1D7v0 VB0 3Wn0 KN0|70","Antarctica/DumontDUrville|-00 +10|0 -a0|0101|-U0o0 cfq0 bFm0|80","Antarctica/Macquarie|AEST AEDT -00 +11|-a0 -b0 0 -b0|0102010101010101010101010101010101010101010101010101010101010101010101010101010101010101013|-29E80 19X0 4SL0 1ayy0 Lvs0 1cM0 1o00 Rc0 1wo0 Rc0 1wo0 U00 1wo0 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 11A0 1qM0 WM0 1qM0 Oo0 1zc0 Oo0 1zc0 Oo0 1wo0 WM0 1tA0 WM0 1tA0 U00 1tA0 U00 1tA0 11A0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 11A0 1o00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1cM0 1cM0 1cM0|1","Antarctica/Mawson|-00 +06 +05|0 -60 -50|012|-CEo0 2fyk0|60","Pacific/Auckland|NZMT NZST NZST NZDT|-bu -cu -c0 -d0|01020202020202020202020202023232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323|-1GCVu Lz0 1tB0 11zu 1o0u 11zu 1o0u 11zu 1o0u 14nu 1lcu 14nu 1lcu 1lbu 11Au 1nXu 11Au 1nXu 11Au 1nXu 11Au 1nXu 11Au 1qLu WMu 1qLu 11Au 1n1bu IM0 1C00 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1qM0 14o0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1io0 17c0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1io0 17c0 1io0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00|14e5","Antarctica/Palmer|-00 -03 -04 -02|0 30 40 20|0121212121213121212121212121212121212121212121212121212121212121212121212121212121|-cao0 nD0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 jsN0 14N0 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 1cL0 1cN0 11z0 1o10 11z0 1qN0 WL0 1fB0 19X0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1ip0 1fz0 1fB0 11z0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1o10 19X0 1fB0 1nX0 G10 1EL0 Op0 1zb0 Rd0 1wn0 Rd0 46n0 Ap0|40","Antarctica/Rothera|-00 -03|0 30|01|gOo0|130","Antarctica/Syowa|-00 +03|0 -30|01|-vs00|20","Antarctica/Troll|-00 +00 +02|0 0 -20|01212121212121212121212121212121212121212121212121212121212121212121|1puo0 hd0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|40","Antarctica/Vostok|-00 +06|0 -60|01|-tjA0|25","Europe/Oslo|CET CEST|-10 -20|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2awM0 Qm0 W6o0 5pf0 WM0 1fA0 1cM0 1cM0 1cM0 1cM0 wJc0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1qM0 WM0 zpc0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|62e4","Asia/Riyadh|LMT +03|-36.Q -30|01|-TvD6.Q|57e5","Asia/Almaty|LMT +05 +06 +07|-57.M -50 -60 -70|012323232323232323232321232323232323232323232323232|-1Pc57.M eUo7.M 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0|15e5","Asia/Amman|LMT EET EEST|-2n.I -20 -30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1yW2n.I 1HiMn.I KL0 1oN0 11b0 1oN0 11b0 1pd0 1dz0 1cp0 11b0 1op0 11b0 fO10 1db0 1e10 1cL0 1cN0 1cL0 1cN0 1fz0 1pd0 10n0 1ld0 14n0 1hB0 15b0 1ip0 19X0 1cN0 1cL0 1cN0 17b0 1ld0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1So0 y00 1fc0 1dc0 1co0 1dc0 1cM0 1cM0 1cM0 1o00 11A0 1lc0 17c0 1cM0 1cM0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 4bX0 Dd0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0|25e5","Asia/Anadyr|LMT +12 +13 +14 +11|-bN.U -c0 -d0 -e0 -b0|01232121212121212121214121212121212121212121212121212121212141|-1PcbN.U eUnN.U 23CL0 1db0 2q10 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 2sp0 WM0|13e3","Asia/Aqtau|LMT +04 +05 +06|-3l.4 -40 -50 -60|012323232323232323232123232312121212121212121212|-1Pc3l.4 eUnl.4 24PX0 2pX0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0|15e4","Asia/Aqtobe|LMT +04 +05 +06|-3M.E -40 -50 -60|0123232323232323232321232323232323232323232323232|-1Pc3M.E eUnM.E 23CL0 3Db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0|27e4","Asia/Ashgabat|LMT +04 +05 +06|-3R.w -40 -50 -60|0123232323232323232323212|-1Pc3R.w eUnR.w 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0|41e4","Asia/Atyrau|LMT +03 +05 +06 +04|-3r.I -30 -50 -60 -40|01232323232323232323242323232323232324242424242|-1Pc3r.I eUor.I 24PW0 2pX0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 2sp0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0","Asia/Baghdad|BMT +03 +04|-2V.A -30 -40|012121212121212121212121212121212121212121212121212121|-26BeV.A 2ACnV.A 11b0 1cp0 1dz0 1dd0 1db0 1cN0 1cp0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1de0 1dc0 1dc0 1dc0 1cM0 1dc0 1cM0 1dc0 1cM0 1dc0 1dc0 1dc0 1cM0 1dc0 1cM0 1dc0 1cM0 1dc0 1dc0 1dc0 1cM0 1dc0 1cM0 1dc0 1cM0 1dc0 1dc0 1dc0 1cM0 1dc0 1cM0 1dc0 1cM0 1dc0|66e5","Asia/Qatar|LMT +04 +03|-3q.8 -40 -30|012|-21Jfq.8 27BXq.8|96e4","Asia/Baku|LMT +03 +04 +05|-3j.o -30 -40 -50|01232323232323232323232123232323232323232323232323232323232323232|-1Pc3j.o 1jUoj.o WCL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 1cM0 9Je0 1o00 11z0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|27e5","Asia/Bangkok|BMT +07|-6G.4 -70|01|-218SG.4|15e6","Asia/Barnaul|LMT +06 +07 +08|-5z -60 -70 -80|0123232323232323232323212323232321212121212121212121212121212121212|-21S5z pCnz 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 p90 LE0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3rd0","Asia/Beirut|EET EEST|-20 -30|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-21aq0 1on0 1410 1db0 19B0 1in0 1ip0 WL0 1lQp0 11b0 1oN0 11b0 1oN0 11b0 1pd0 11b0 1oN0 11b0 q6N0 En0 1oN0 11b0 1oN0 11b0 1oN0 11b0 1pd0 11b0 1oN0 11b0 1op0 11b0 dA10 17b0 1iN0 17b0 1iN0 17b0 1iN0 17b0 1vB0 SL0 1mp0 13z0 1iN0 17b0 1iN0 17b0 1jd0 12n0 1a10 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0|22e5","Asia/Bishkek|LMT +05 +06 +07|-4W.o -50 -60 -70|012323232323232323232321212121212121212121212121212|-1Pc4W.o eUnW.o 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2e00 1tX0 17b0 1ip0 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1cPu 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0|87e4","Asia/Brunei|LMT +0730 +08|-7D.E -7u -80|012|-1KITD.E gDc9.E|42e4","Asia/Kolkata|MMT IST +0630|-5l.a -5u -6u|012121|-2zOtl.a 1r2LP.a 1un0 HB0 7zX0|15e6","Asia/Chita|LMT +08 +09 +10|-7x.Q -80 -90 -a0|012323232323232323232321232323232323232323232323232323232323232312|-21Q7x.Q pAnx.Q 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3re0|33e4","Asia/Choibalsan|LMT +07 +08 +10 +09|-7C -70 -80 -a0 -90|0123434343434343434343434343434343434343434343424242|-2APHC 2UkoC cKn0 1da0 1dd0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 6hD0 11z0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 3Db0 h1f0 1cJ0 1cP0 1cJ0|38e3","Asia/Shanghai|CST CDT|-80 -90|01010101010101010|-1c1I0 LX0 16p0 1jz0 1Myp0 Rb0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0|23e6","Asia/Colombo|MMT +0530 +06 +0630|-5j.w -5u -60 -6u|01231321|-2zOtj.w 1rFbN.w 1zzu 7Apu 23dz0 11zu n3cu|22e5","Asia/Dhaka|HMT +0630 +0530 +06 +07|-5R.k -6u -5u -60 -70|0121343|-18LFR.k 1unn.k HB0 m6n0 2kxbu 1i00|16e6","Asia/Damascus|LMT EET EEST|-2p.c -20 -30|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-21Jep.c Hep.c 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1xRB0 11X0 1oN0 10L0 1pB0 11b0 1oN0 10L0 1mp0 13X0 1oN0 11b0 1pd0 11b0 1oN0 11b0 1oN0 11b0 1oN0 11b0 1pd0 11b0 1oN0 11b0 1oN0 11b0 1oN0 11b0 1pd0 11b0 1oN0 Nb0 1AN0 Nb0 bcp0 19X0 1gp0 19X0 3ld0 1xX0 Vd0 1Bz0 Sp0 1vX0 10p0 1dz0 1cN0 1cL0 1db0 1db0 1g10 1an0 1ap0 1db0 1fd0 1db0 1cN0 1db0 1dd0 1db0 1cp0 1dz0 1c10 1dX0 1cN0 1db0 1dd0 1db0 1cN0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1db0 1cN0 1db0 1cN0 19z0 1fB0 1qL0 11B0 1on0 Wp0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0|26e5","Asia/Dili|LMT +08 +09|-8m.k -80 -90|01212|-2le8m.k 1dnXm.k 1nfA0 Xld0|19e4","Asia/Dubai|LMT +04|-3F.c -40|01|-21JfF.c|39e5","Asia/Dushanbe|LMT +05 +06 +07|-4z.c -50 -60 -70|012323232323232323232321|-1Pc4z.c eUnz.c 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2hB0|76e4","Asia/Famagusta|LMT EET EEST +03|-2f.M -20 -30 -30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212312121212121212121212121212121212121212121|-1Vc2f.M 2a3cf.M 1cL0 1qp0 Xz0 19B0 19X0 1fB0 1db0 1cp0 1cL0 1fB0 19X0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1o30 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 15U0 2Ks0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","Asia/Gaza|EET EEST IST IDT|-20 -30 -20 -30|010101010101010101010101010101012323232323232323232323232320101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-1c2q0 5Rb0 10r0 1px0 10N0 1pz0 16p0 1jB0 16p0 1jx0 pBd0 Vz0 1oN0 11b0 1oO0 10N0 1pz0 10N0 1pb0 10N0 1pb0 10N0 1pb0 10N0 1pz0 10N0 1pb0 10N0 1pb0 11d0 1oL0 dW0 hfB0 Db0 1fB0 Rb0 npB0 11z0 1C10 IL0 1s10 10n0 1o10 WL0 1zd0 On0 1ld0 11z0 1o10 14n0 1o10 14n0 1nd0 12n0 1nd0 Xz0 1q10 12n0 M10 C00 17c0 1io0 17c0 1io0 17c0 1o00 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 17c0 1io0 18N0 1bz0 19z0 1gp0 1610 1iL0 11z0 1o10 14o0 1lA1 SKX 1xd1 MKX 1AN0 1a00 1fA0 1cL0 1cN0 1nX0 1210 1nz0 1220 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1qL0|18e5","Asia/Hebron|EET EEST IST IDT|-20 -30 -20 -30|01010101010101010101010101010101232323232323232323232323232010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-1c2q0 5Rb0 10r0 1px0 10N0 1pz0 16p0 1jB0 16p0 1jx0 pBd0 Vz0 1oN0 11b0 1oO0 10N0 1pz0 10N0 1pb0 10N0 1pb0 10N0 1pb0 10N0 1pz0 10N0 1pb0 10N0 1pb0 11d0 1oL0 dW0 hfB0 Db0 1fB0 Rb0 npB0 11z0 1C10 IL0 1s10 10n0 1o10 WL0 1zd0 On0 1ld0 11z0 1o10 14n0 1o10 14n0 1nd0 12n0 1nd0 Xz0 1q10 12n0 M10 C00 17c0 1io0 17c0 1io0 17c0 1o00 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 17c0 1io0 18N0 1bz0 19z0 1gp0 1610 1iL0 12L0 1mN0 14o0 1lc0 Tb0 1xd1 MKX bB0 cn0 1cN0 1a00 1fA0 1cL0 1cN0 1nX0 1210 1nz0 1220 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1qL0|25e4","Asia/Ho_Chi_Minh|LMT PLMT +07 +08 +09|-76.E -76.u -70 -80 -90|0123423232|-2yC76.E bK00.a 1h7b6.u 5lz0 18o0 3Oq0 k5b0 aW00 BAM0|90e5","Asia/Hong_Kong|LMT HKT HKST JST|-7A.G -80 -90 -90|0121312121212121212121212121212121212121212121212121212121212121212121|-2CFHA.G 1sEP6.G 1cL0 ylu 93X0 1qQu 1tX0 Rd0 1In0 NB0 1cL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1kL0 14N0 1nX0 U10 1tz0 U10 1wn0 Rd0 1wn0 U10 1tz0 U10 1tz0 U10 1tz0 U10 1wn0 Rd0 1wn0 Rd0 1wn0 U10 1tz0 U10 1tz0 17d0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 s10 1Vz0 1cN0 1cL0 1cN0 1cL0 6fd0 14n0|73e5","Asia/Hovd|LMT +06 +07 +08|-66.A -60 -70 -80|012323232323232323232323232323232323232323232323232|-2APG6.A 2Uko6.A cKn0 1db0 1dd0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 6hD0 11z0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 kEp0 1cJ0 1cP0 1cJ0|81e3","Asia/Irkutsk|IMT +07 +08 +09|-6V.5 -70 -80 -90|01232323232323232323232123232323232323232323232323232323232323232|-21zGV.5 pjXV.5 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|60e4","Europe/Istanbul|IMT EET EEST +04 +03|-1U.U -20 -30 -40 -30|012121212121212121212121212121212121212121212121212121234343434342121212121212121212121212121212121212121212121212121212121212124|-2ogNU.U dzzU.U 11b0 8tB0 1on0 1410 1db0 19B0 1in0 3Rd0 Un0 1oN0 11b0 zSp0 CL0 mN0 1Vz0 1gN0 1pz0 5Rd0 1fz0 1yp0 ML0 1kp0 17b0 1ip0 17b0 1fB0 19X0 1jB0 18L0 1ip0 17z0 qdd0 xX0 3S10 Tz0 dA10 11z0 1o10 11z0 1qN0 11z0 1ze0 11B0 WM0 1qO0 WI0 1nX0 1rB0 10L0 11B0 1in0 17d0 1in0 2pX0 19E0 1fU0 16Q0 1iI0 16Q0 1iI0 1Vd0 pb0 3Kp0 14o0 1de0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1a00 1fA0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WO0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 Xc0 1qo0 WM0 1qM0 11A0 1o00 1200 1nA0 11A0 1tA0 U00 15w0|13e6","Asia/Jakarta|BMT +0720 +0730 +09 +08 WIB|-77.c -7k -7u -90 -80 -70|01232425|-1Q0Tk luM0 mPzO 8vWu 6kpu 4PXu xhcu|31e6","Asia/Jayapura|LMT +09 +0930 WIT|-9m.M -90 -9u -90|0123|-1uu9m.M sMMm.M L4nu|26e4","Asia/Jerusalem|JMT IST IDT IDDT|-2k.E -20 -30 -40|01212121212132121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-26Bek.E SyMk.E 5Rb0 10r0 1px0 10N0 1pz0 16p0 1jB0 16p0 1jx0 3LB0 Em0 or0 1cn0 1dB0 16n0 10O0 1ja0 1tC0 14o0 1cM0 1a00 11A0 1Na0 An0 1MP0 AJ0 1Kp0 LC0 1oo0 Wl0 EQN0 Db0 1fB0 Rb0 npB0 11z0 1C10 IL0 1s10 10n0 1o10 WL0 1zd0 On0 1ld0 11z0 1o10 14n0 1o10 14n0 1nd0 12n0 1nd0 Xz0 1q10 12n0 1hB0 1dX0 1ep0 1aL0 1eN0 17X0 1nf0 11z0 1tB0 19W0 1e10 17b0 1ep0 1gL0 18N0 1fz0 1eN0 17b0 1gq0 1gn0 19d0 1dz0 1c10 17X0 1hB0 1gn0 19d0 1dz0 1c10 17X0 1kp0 1dz0 1c10 1aL0 1eN0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0|81e4","Asia/Kabul|+04 +0430|-40 -4u|01|-10Qs0|46e5","Asia/Kamchatka|LMT +11 +12 +13|-ay.A -b0 -c0 -d0|012323232323232323232321232323232323232323232323232323232323212|-1SLKy.A ivXy.A 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 2sp0 WM0|18e4","Asia/Karachi|LMT +0530 +0630 +05 PKT PKST|-4s.c -5u -6u -50 -50 -60|012134545454|-2xoss.c 1qOKW.c 7zX0 eup0 LqMu 1fy00 1cL0 dK10 11b0 1610 1jX0|24e6","Asia/Urumqi|LMT +06|-5O.k -60|01|-1GgtO.k|32e5","Asia/Kathmandu|LMT +0530 +0545|-5F.g -5u -5J|012|-21JhF.g 2EGMb.g|12e5","Asia/Khandyga|LMT +08 +09 +10 +11|-92.d -80 -90 -a0 -b0|0123232323232323232323212323232323232323232323232343434343434343432|-21Q92.d pAp2.d 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 qK0 yN0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 17V0 7zD0|66e2","Asia/Krasnoyarsk|LMT +06 +07 +08|-6b.q -60 -70 -80|01232323232323232323232123232323232323232323232323232323232323232|-21Hib.q prAb.q 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|10e5","Asia/Kuala_Lumpur|SMT +07 +0720 +0730 +09 +08|-6T.p -70 -7k -7u -90 -80|0123435|-2Bg6T.p 17anT.p l5XE 17bO 8Fyu 1so1u|71e5","Asia/Kuching|LMT +0730 +08 +0820 +09|-7l.k -7u -80 -8k -90|0123232323232323242|-1KITl.k gDbP.k 6ynu AnE 1O0k AnE 1NAk AnE 1NAk AnE 1NAk AnE 1O0k AnE 1NAk AnE pAk 8Fz0|13e4","Asia/Macau|LMT CST CDT|-7y.k -80 -90|012121212121212121212121212121212121212121|-2le80 1XO3u 1wn0 Rd0 1wn0 R9u 1wqu U10 1tz0 TVu 1tz0 17gu 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cJu 1cL0 1cN0 1fz0 1cN0 1cOu 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cJu 1cL0 1cN0 1fz0 1cN0 1cL0|57e4","Asia/Magadan|LMT +10 +11 +12|-a3.c -a0 -b0 -c0|012323232323232323232321232323232323232323232323232323232323232312|-1Pca3.c eUo3.c 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3Cq0|95e3","Asia/Makassar|LMT MMT +08 +09 WITA|-7V.A -7V.A -80 -90 -80|01234|-21JjV.A vfc0 myLV.A 8ML0|15e5","Asia/Manila|+08 +09|-80 -90|010101010|-1kJI0 AL0 cK10 65X0 mXB0 vX0 VK10 1db0|24e6","Asia/Nicosia|LMT EET EEST|-2d.s -20 -30|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1Vc2d.s 2a3cd.s 1cL0 1qp0 Xz0 19B0 19X0 1fB0 1db0 1cp0 1cL0 1fB0 19X0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1o30 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|32e4","Asia/Novokuznetsk|LMT +06 +07 +08|-5M.M -60 -70 -80|012323232323232323232321232323232323232323232323232323232323212|-1PctM.M eULM.M 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 2sp0 WM0|55e4","Asia/Novosibirsk|LMT +06 +07 +08|-5v.E -60 -70 -80|0123232323232323232323212323212121212121212121212121212121212121212|-21Qnv.E pAFv.E 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 ml0 Os0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 4eN0|15e5","Asia/Omsk|LMT +05 +06 +07|-4R.u -50 -60 -70|01232323232323232323232123232323232323232323232323232323232323232|-224sR.u pMLR.u 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|12e5","Asia/Oral|LMT +03 +05 +06 +04|-3p.o -30 -50 -60 -40|01232323232323232424242424242424242424242424242|-1Pc3p.o eUop.o 23CK0 3Db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1fA0 1cM0 1cM0 IM0 1EM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0|27e4","Asia/Pontianak|LMT PMT +0730 +09 +08 WITA WIB|-7h.k -7h.k -7u -90 -80 -80 -70|012324256|-2ua7h.k XE00 munL.k 8Rau 6kpu 4PXu xhcu Wqnu|23e4","Asia/Pyongyang|LMT KST JST KST|-8n -8u -90 -90|012313|-2um8n 97XR 1lTzu 2Onc0 6BAu|29e5","Asia/Qyzylorda|LMT +04 +05 +06|-4l.Q -40 -50 -60|0123232323232323232323232323232323232323232323|-1Pc4l.Q eUol.Q 23CL0 3Db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 3ao0 1EM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0|73e4","Asia/Rangoon|RMT +0630 +09|-6o.L -6u -90|0121|-21Jio.L SmnS.L 7j9u|48e5","Asia/Sakhalin|LMT +09 +11 +12 +10|-9u.M -90 -b0 -c0 -a0|01232323232323232323232423232323232424242424242424242424242424242|-2AGVu.M 1BoMu.M 1qFa0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 2pB0 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3rd0|58e4","Asia/Samarkand|LMT +04 +05 +06|-4r.R -40 -50 -60|01232323232323232323232|-1Pc4r.R eUor.R 23CL0 3Db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0|36e4","Asia/Seoul|LMT KST JST KST KDT KDT|-8r.Q -8u -90 -90 -9u -a0|0123141414141414135353|-2um8r.Q 97XV.Q 1m1zu kKo0 2I0u OL0 1FB0 Rb0 1qN0 TX0 1tB0 TX0 1tB0 TX0 1tB0 TX0 2ap0 12FBu 11A0 1o00 11A0|23e6","Asia/Srednekolymsk|LMT +10 +11 +12|-ae.Q -a0 -b0 -c0|01232323232323232323232123232323232323232323232323232323232323232|-1Pcae.Q eUoe.Q 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|35e2","Asia/Taipei|CST JST CDT|-80 -90 -90|01020202020202020202020202020202020202020|-1iw80 joM0 1yo0 Tz0 1ip0 1jX0 1cN0 11b0 1oN0 11b0 1oN0 11b0 1oN0 11b0 10N0 1BX0 10p0 1pz0 10p0 1pz0 10p0 1db0 1dd0 1db0 1cN0 1db0 1cN0 1db0 1cN0 1db0 1BB0 ML0 1Bd0 ML0 uq10 1db0 1cN0 1db0 97B0 AL0|74e5","Asia/Tashkent|LMT +05 +06 +07|-4B.b -50 -60 -70|012323232323232323232321|-1Pc4B.b eUnB.b 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0|23e5","Asia/Tbilisi|TBMT +03 +04 +05|-2X.b -30 -40 -50|0123232323232323232323212121232323232323232323212|-1Pc2X.b 1jUnX.b WCL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 1cK0 1cL0 1cN0 1cL0 1cN0 2pz0 1cL0 1fB0 3Nz0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 An0 Os0 WM0|11e5","Asia/Tehran|LMT TMT +0330 +04 +05 +0430|-3p.I -3p.I -3u -40 -50 -4u|01234325252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252|-2btDp.I 1d3c0 1huLT.I TXu 1pz0 sN0 vAu 1cL0 1dB0 1en0 pNB0 UL0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 64p0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0|14e6","Asia/Thimphu|LMT +0530 +06|-5W.A -5u -60|012|-Su5W.A 1BGMs.A|79e3","Asia/Tokyo|JST JDT|-90 -a0|010101010|-QJJ0 Rb0 1ld0 14n0 1zd0 On0 1zd0 On0|38e6","Asia/Tomsk|LMT +06 +07 +08|-5D.P -60 -70 -80|0123232323232323232323212323232323232323232323212121212121212121212|-21NhD.P pxzD.P 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 co0 1bB0 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3Qp0|10e5","Asia/Ulaanbaatar|LMT +07 +08 +09|-77.w -70 -80 -90|012323232323232323232323232323232323232323232323232|-2APH7.w 2Uko7.w cKn0 1db0 1dd0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 6hD0 11z0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 kEp0 1cJ0 1cP0 1cJ0|12e5","Asia/Ust-Nera|LMT +08 +09 +12 +11 +10|-9w.S -80 -90 -c0 -b0 -a0|012343434343434343434345434343434343434343434343434343434343434345|-21Q9w.S pApw.S 23CL0 1d90 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 17V0 7zD0|65e2","Asia/Vladivostok|LMT +09 +10 +11|-8L.v -90 -a0 -b0|01232323232323232323232123232323232323232323232323232323232323232|-1SJIL.v itXL.v 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|60e4","Asia/Yakutsk|LMT +08 +09 +10|-8C.W -80 -90 -a0|01232323232323232323232123232323232323232323232323232323232323232|-21Q8C.W pAoC.W 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|28e4","Asia/Yekaterinburg|LMT PMT +04 +05 +06|-42.x -3J.5 -40 -50 -60|012343434343434343434343234343434343434343434343434343434343434343|-2ag42.x 7mQh.s qBvJ.5 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|14e5","Asia/Yerevan|LMT +03 +04 +05|-2W -30 -40 -50|0123232323232323232323212121212323232323232323232323232323232|-1Pc2W 1jUnW WCL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 4RX0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0|13e5","Atlantic/Azores|HMT -02 -01 +00 WET|1S.w 20 10 0 0|01212121212121212121212121212121212121212121232123212321232121212121212121212121212121212121212121232323232323232323232323232323234323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-2ldW0 aPX0 Sp0 LX0 1vc0 Tc0 1uM0 SM0 1vc0 Tc0 1vc0 SM0 1vc0 6600 1co0 3E00 17c0 1fA0 1a00 1io0 1a00 1io0 17c0 3I00 17c0 1cM0 1cM0 3Fc0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Dc0 1tA0 1cM0 1dc0 1400 gL0 IM0 s10 U00 dX0 Rc0 pd0 Rc0 gL0 Oo0 pd0 Rc0 gL0 Oo0 pd0 14o0 1cM0 1cP0 1cM0 1cM0 1cM0 1cM0 1cM0 3Co0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 qIl0 1cM0 1fA0 1cM0 1cM0 1cN0 1cL0 1cN0 1cM0 1cM0 1cM0 1cM0 1cN0 1cL0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cL0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|25e4","Atlantic/Bermuda|LMT AST ADT|4j.i 40 30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1BnRE.G 1LTbE.G 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|65e3","Atlantic/Canary|LMT -01 WET WEST|11.A 10 0 -10|01232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-1UtaW.o XPAW.o 1lAK0 1a10 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|54e4","Atlantic/Cape_Verde|LMT -02 -01|1y.4 20 10|01212|-2ldW0 1eEo0 7zX0 1djf0|50e4","Atlantic/Faroe|LMT WET WEST|r.4 0 -10|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2uSnw.U 2Wgow.U 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|49e3","Atlantic/Madeira|FMT -01 +00 +01 WET WEST|17.A 10 0 -10 0 -10|01212121212121212121212121212121212121212121232123212321232121212121212121212121212121212121212121454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-2ldX0 aPX0 Sp0 LX0 1vc0 Tc0 1uM0 SM0 1vc0 Tc0 1vc0 SM0 1vc0 6600 1co0 3E00 17c0 1fA0 1a00 1io0 1a00 1io0 17c0 3I00 17c0 1cM0 1cM0 3Fc0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Dc0 1tA0 1cM0 1dc0 1400 gL0 IM0 s10 U00 dX0 Rc0 pd0 Rc0 gL0 Oo0 pd0 Rc0 gL0 Oo0 pd0 14o0 1cM0 1cP0 1cM0 1cM0 1cM0 1cM0 1cM0 3Co0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 qIl0 1cM0 1fA0 1cM0 1cM0 1cN0 1cL0 1cN0 1cM0 1cM0 1cM0 1cM0 1cN0 1cL0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|27e4","Atlantic/Reykjavik|LMT -01 +00 GMT|1s 10 0 0|012121212121212121212121212121212121212121212121212121212121212121213|-2uWmw mfaw 1Bd0 ML0 1LB0 Cn0 1LB0 3fX0 C10 HrX0 1cO0 LB0 1EL0 LA0 1C00 Oo0 1wo0 Rc0 1wo0 Rc0 1wo0 Rc0 1zc0 Oo0 1zc0 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1lc0 14o0 1o00 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1o00 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1o00 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1o00 14o0|12e4","Atlantic/South_Georgia|-02|20|0||30","Atlantic/Stanley|SMT -04 -03 -02|3P.o 40 30 20|012121212121212323212121212121212121212121212121212121212121212121212|-2kJw8.A 12bA8.A 19X0 1fB0 19X0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 Cn0 1Cc10 WL0 1qL0 U10 1tz0 2mN0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1tz0 U10 1tz0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1tz0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qN0 U10 1wn0 Rd0 1wn0 U10 1tz0 U10 1tz0 U10 1tz0 U10 1tz0 U10 1wn0 U10 1tz0 U10 1tz0 U10|21e2","Australia/Sydney|AEST AEDT|-a0 -b0|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-293lX xcX 10jd0 yL0 1cN0 1cL0 1fB0 19X0 17c10 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 14o0 1o00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 U00 1qM0 WM0 1tA0 WM0 1tA0 U00 1tA0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 11A0 1o00 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 14o0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0|40e5","Australia/Adelaide|ACST ACDT|-9u -au|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-293lt xcX 10jd0 yL0 1cN0 1cL0 1fB0 19X0 17c10 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 U00 1qM0 WM0 1tA0 WM0 1tA0 U00 1tA0 U00 1tA0 Oo0 1zc0 WM0 1qM0 Rc0 1zc0 U00 1tA0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 14o0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0|11e5","Australia/Brisbane|AEST AEDT|-a0 -b0|01010101010101010|-293lX xcX 10jd0 yL0 1cN0 1cL0 1fB0 19X0 17c10 LA0 H1A0 Oo0 1zc0 Oo0 1zc0 Oo0|20e5","Australia/Broken_Hill|ACST ACDT|-9u -au|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-293lt xcX 10jd0 yL0 1cN0 1cL0 1fB0 19X0 17c10 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 14o0 1o00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 U00 1qM0 WM0 1tA0 WM0 1tA0 U00 1tA0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 14o0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0|18e3","Australia/Currie|AEST AEDT|-a0 -b0|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-29E80 19X0 10jd0 yL0 1cN0 1cL0 1fB0 19X0 17c10 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 11A0 1qM0 WM0 1qM0 Oo0 1zc0 Oo0 1zc0 Oo0 1wo0 WM0 1tA0 WM0 1tA0 U00 1tA0 U00 1tA0 11A0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 11A0 1o00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0|746","Australia/Darwin|ACST ACDT|-9u -au|010101010|-293lt xcX 10jd0 yL0 1cN0 1cL0 1fB0 19X0|12e4","Australia/Eucla|+0845 +0945|-8J -9J|0101010101010101010|-293kI xcX 10jd0 yL0 1cN0 1cL0 1gSp0 Oo0 l5A0 Oo0 iJA0 G00 zU00 IM0 1qM0 11A0 1o00 11A0|368","Australia/Hobart|AEST AEDT|-a0 -b0|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-29E80 19X0 10jd0 yL0 1cN0 1cL0 1fB0 19X0 VfB0 1cM0 1o00 Rc0 1wo0 Rc0 1wo0 U00 1wo0 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 11A0 1qM0 WM0 1qM0 Oo0 1zc0 Oo0 1zc0 Oo0 1wo0 WM0 1tA0 WM0 1tA0 U00 1tA0 U00 1tA0 11A0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 11A0 1o00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0|21e4","Australia/Lord_Howe|AEST +1030 +1130 +11|-a0 -au -bu -b0|0121212121313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313|raC0 1zdu Rb0 1zd0 On0 1zd0 On0 1zd0 On0 1zd0 TXu 1qMu WLu 1tAu WLu 1tAu TXu 1tAu Onu 1zcu Onu 1zcu Onu 1zcu Rbu 1zcu Onu 1zcu Onu 1zcu 11zu 1o0u 11zu 1o0u 11zu 1o0u 11zu 1qMu WLu 11Au 1nXu 1qMu 11zu 1o0u 11zu 1o0u 11zu 1qMu WLu 1qMu 11zu 1o0u WLu 1qMu 14nu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1fzu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu|347","Australia/Lindeman|AEST AEDT|-a0 -b0|010101010101010101010|-293lX xcX 10jd0 yL0 1cN0 1cL0 1fB0 19X0 17c10 LA0 H1A0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0|10","Australia/Melbourne|AEST AEDT|-a0 -b0|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-293lX xcX 10jd0 yL0 1cN0 1cL0 1fB0 19X0 17c10 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 U00 1qM0 WM0 1qM0 11A0 1tA0 U00 1tA0 U00 1tA0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 11A0 1o00 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 14o0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0|39e5","Australia/Perth|AWST AWDT|-80 -90|0101010101010101010|-293jX xcX 10jd0 yL0 1cN0 1cL0 1gSp0 Oo0 l5A0 Oo0 iJA0 G00 zU00 IM0 1qM0 11A0 1o00 11A0|18e5","CET|CET CEST|-10 -20|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1o00 11A0 Qrc0 6i00 WM0 1fA0 1cM0 1cM0 1cM0 16M0 1gMM0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","Pacific/Easter|EMT -07 -06 -05|7h.s 70 60 50|012121212121212121212121212123232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323|-1uSgG.w 1s4IG.w WL0 1zd0 On0 1ip0 11z0 1o10 11z0 1qN0 WL0 1ld0 14n0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 2pA0 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 1cL0 1cN0 11z0 1o10 11z0 1qN0 WL0 1fB0 19X0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1ip0 1fz0 1fB0 11z0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1o10 19X0 1fB0 1nX0 G10 1EL0 Op0 1zb0 Rd0 1wn0 Rd0 46n0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Dd0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Dd0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Dd0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0|30e2","CST6CDT|CST CDT CWT CPT|60 50 50 50|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","EET|EET EEST|-20 -30|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|hDB0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","Europe/Dublin|DMT IST GMT BST IST|p.l -y.D 0 -10 -10|01232323232324242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242|-2ax9y.D Rc0 1fzy.D 14M0 1fc0 1g00 1co0 1dc0 1co0 1oo0 1400 1dc0 19A0 1io0 1io0 WM0 1o00 14o0 1o00 17c0 1io0 17c0 1fA0 1a00 1lc0 17c0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1cM0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1a00 1io0 1qM0 Dc0 g600 14o0 1wo0 17c0 1io0 11A0 1o00 17c0 1fA0 1a00 1fA0 1cM0 1fA0 1a00 17c0 1fA0 1a00 1io0 17c0 1lc0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1a00 1a00 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1tA0 IM0 90o0 U00 1tA0 U00 1tA0 U00 1tA0 U00 1tA0 WM0 1qM0 WM0 1qM0 WM0 1tA0 U00 1tA0 U00 1tA0 11z0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 14o0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|12e5","EST|EST|50|0|","EST5EDT|EST EDT EWT EPT|50 40 40 40|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261t0 1nX0 11B0 1nX0 SgN0 8x40 iv0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","Etc/GMT-0|GMT|0|0|","Etc/GMT-1|+01|-10|0|","Pacific/Port_Moresby|+10|-a0|0||25e4","Pacific/Pohnpei|+11|-b0|0||34e3","Pacific/Tarawa|+12|-c0|0||29e3","Etc/GMT-13|+13|-d0|0|","Etc/GMT-14|+14|-e0|0|","Etc/GMT-2|+02|-20|0|","Etc/GMT-3|+03|-30|0|","Etc/GMT-4|+04|-40|0|","Etc/GMT-5|+05|-50|0|","Etc/GMT-6|+06|-60|0|","Indian/Christmas|+07|-70|0||21e2","Etc/GMT-8|+08|-80|0|","Pacific/Palau|+09|-90|0||21e3","Etc/GMT+1|-01|10|0|","Etc/GMT+10|-10|a0|0|","Etc/GMT+11|-11|b0|0|","Etc/GMT+12|-12|c0|0|","Etc/GMT+3|-03|30|0|","Etc/GMT+4|-04|40|0|","Etc/GMT+5|-05|50|0|","Etc/GMT+6|-06|60|0|","Etc/GMT+7|-07|70|0|","Etc/GMT+8|-08|80|0|","Etc/GMT+9|-09|90|0|","Etc/UCT|UCT|0|0|","Etc/UTC|UTC|0|0|","Europe/Amsterdam|AMT NST +0120 +0020 CEST CET|-j.w -1j.w -1k -k -20 -10|010101010101010101010101010101010101010101012323234545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545|-2aFcj.w 11b0 1iP0 11A0 1io0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1co0 1io0 1yo0 Pc0 1a00 1fA0 1Bc0 Mo0 1tc0 Uo0 1tA0 U00 1uo0 W00 1s00 VA0 1so0 Vc0 1sM0 UM0 1wo0 Rc0 1u00 Wo0 1rA0 W00 1s00 VA0 1sM0 UM0 1w00 fV0 BCX.w 1tA0 U00 1u00 Wo0 1sm0 601k WM0 1fA0 1cM0 1cM0 1cM0 16M0 1gMM0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|16e5","Europe/Andorra|WET CET CEST|0 -10 -20|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-UBA0 1xIN0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|79e3","Europe/Astrakhan|LMT +03 +04 +05|-3c.c -30 -40 -50|012323232323232323212121212121212121212121212121212121212121212|-1Pcrc.c eUMc.c 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1fA0 1cM0 3Co0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3rd0","Europe/Athens|AMT EET EEST CEST CET|-1y.Q -20 -30 -20 -10|012123434121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2a61x.Q CNbx.Q mn0 kU10 9b0 3Es0 Xa0 1fb0 1dd0 k3X0 Nz0 SCp0 1vc0 SO0 1cM0 1a00 1ao0 1fc0 1a10 1fG0 1cg0 1dX0 1bX0 1cQ0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|35e5","Europe/London|GMT BST BDST|0 -10 -20|0101010101010101010101010101010101010101010101010121212121210101210101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2axa0 Rc0 1fA0 14M0 1fc0 1g00 1co0 1dc0 1co0 1oo0 1400 1dc0 19A0 1io0 1io0 WM0 1o00 14o0 1o00 17c0 1io0 17c0 1fA0 1a00 1lc0 17c0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1cM0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1a00 1io0 1qM0 Dc0 2Rz0 Dc0 1zc0 Oo0 1zc0 Rc0 1wo0 17c0 1iM0 FA0 xB0 1fA0 1a00 14o0 bb0 LA0 xB0 Rc0 1wo0 11A0 1o00 17c0 1fA0 1a00 1fA0 1cM0 1fA0 1a00 17c0 1fA0 1a00 1io0 17c0 1lc0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1a00 1a00 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1tA0 IM0 90o0 U00 1tA0 U00 1tA0 U00 1tA0 U00 1tA0 WM0 1qM0 WM0 1qM0 WM0 1tA0 U00 1tA0 U00 1tA0 11z0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 14o0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|10e6","Europe/Belgrade|CET CEST|-10 -20|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-19RC0 3IP0 WM0 1fA0 1cM0 1cM0 1rc0 Qo0 1vmo0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|12e5","Europe/Berlin|CET CEST CEMT|-10 -20 -30|01010101010101210101210101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1o00 11A0 Qrc0 6i00 WM0 1fA0 1cM0 1cM0 1cM0 kL0 Nc0 m10 WM0 1ao0 1cp0 dX0 jz0 Dd0 1io0 17c0 1fA0 1a00 1ehA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|41e5","Europe/Prague|CET CEST GMT|-10 -20 0|01010101010101010201010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1o00 11A0 Qrc0 6i00 WM0 1fA0 1cM0 1cM0 1cM0 1cM0 1qM0 11c0 mp0 xA0 mn0 17c0 1io0 17c0 1fc0 1ao0 1bNc0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|13e5","Europe/Brussels|WET CET CEST WEST|0 -10 -20 -10|0121212103030303030303030303030303030303030303030303212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2ehc0 3zX0 11c0 1iO0 11A0 1o00 11A0 my0 Ic0 1qM0 Rc0 1EM0 UM0 1u00 10o0 1io0 1io0 17c0 1a00 1fA0 1cM0 1cM0 1io0 17c0 1fA0 1a00 1io0 1a30 1io0 17c0 1fA0 1a00 1io0 17c0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Dc0 y00 5Wn0 WM0 1fA0 1cM0 16M0 1iM0 16M0 1C00 Uo0 1eeo0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|21e5","Europe/Bucharest|BMT EET EEST|-1I.o -20 -30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1xApI.o 20LI.o RA0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1Axc0 On0 1fA0 1a10 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cK0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cL0 1cN0 1cL0 1fB0 1nX0 11E0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|19e5","Europe/Budapest|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1ip0 17b0 1op0 1tb0 Q2m0 3Ne0 WM0 1fA0 1cM0 1cM0 1oJ0 1dc0 1030 1fA0 1cM0 1cM0 1cM0 1cM0 1fA0 1a00 1iM0 1fA0 8Ha0 Rb0 1wN0 Rb0 1BB0 Lz0 1C20 LB0 SNX0 1a10 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|17e5","Europe/Zurich|CET CEST|-10 -20|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-19Lc0 11A0 1o00 11A0 1xG10 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|38e4","Europe/Chisinau|CMT BMT EET EEST CEST CET MSK MSD|-1T -1I.o -20 -30 -20 -10 -30 -40|012323232323232323234545467676767676767676767323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-26jdT wGMa.A 20LI.o RA0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 27A0 2en0 39g0 WM0 1fA0 1cM0 V90 1t7z0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 gL0 WO0 1cM0 1cM0 1cK0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1nX0 11D0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|67e4","Europe/Copenhagen|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2azC0 Tz0 VuO0 60q0 WM0 1fA0 1cM0 1cM0 1cM0 S00 1HA0 Nc0 1C00 Dc0 1Nc0 Ao0 1h5A0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|12e5","Europe/Gibraltar|GMT BST BDST CET CEST|0 -10 -20 -10 -20|010101010101010101010101010101010101010101010101012121212121010121010101010101010101034343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343|-2axa0 Rc0 1fA0 14M0 1fc0 1g00 1co0 1dc0 1co0 1oo0 1400 1dc0 19A0 1io0 1io0 WM0 1o00 14o0 1o00 17c0 1io0 17c0 1fA0 1a00 1lc0 17c0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1cM0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1a00 1io0 1qM0 Dc0 2Rz0 Dc0 1zc0 Oo0 1zc0 Rc0 1wo0 17c0 1iM0 FA0 xB0 1fA0 1a00 14o0 bb0 LA0 xB0 Rc0 1wo0 11A0 1o00 17c0 1fA0 1a00 1fA0 1cM0 1fA0 1a00 17c0 1fA0 1a00 1io0 17c0 1lc0 17c0 1fA0 10Jz0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|30e3","Europe/Helsinki|HMT EET EEST|-1D.N -20 -30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1WuND.N OULD.N 1dA0 1xGq0 1cM0 1cM0 1cM0 1cN0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|12e5","Europe/Kaliningrad|CET CEST CET CEST MSK MSD EEST EET +03|-10 -20 -20 -30 -30 -40 -30 -20 -30|0101010101010232454545454545454546767676767676767676767676767676767676767676787|-2aFe0 11d0 1iO0 11A0 1o00 11A0 Qrc0 6i00 WM0 1fA0 1cM0 1cM0 Am0 Lb0 1en0 op0 1pNz0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|44e4","Europe/Kiev|KMT EET MSK CEST CET MSD EEST|-22.4 -20 -30 -20 -10 -40 -30|0123434252525252525252525256161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161|-1Pc22.4 eUo2.4 rnz0 2Hg0 WM0 1fA0 da0 1v4m0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 Db0 3220 1cK0 1cL0 1cN0 1cL0 1cN0 1cL0 1cQ0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|34e5","Europe/Kirov|LMT +03 +04 +05|-3i.M -30 -40 -50|01232323232323232321212121212121212121212121212121212121212121|-22WM0 qH90 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1fA0 1cM0 3Co0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|48e4","Europe/Lisbon|LMT WET WEST WEMT CET CEST|A.J 0 -10 -20 -10 -20|012121212121212121212121212121212121212121212321232123212321212121212121212121212121212121212121214121212121212121212121212121212124545454212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2le00 aPX0 Sp0 LX0 1vc0 Tc0 1uM0 SM0 1vc0 Tc0 1vc0 SM0 1vc0 6600 1co0 3E00 17c0 1fA0 1a00 1io0 1a00 1io0 17c0 3I00 17c0 1cM0 1cM0 3Fc0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Dc0 1tA0 1cM0 1dc0 1400 gL0 IM0 s10 U00 dX0 Rc0 pd0 Rc0 gL0 Oo0 pd0 Rc0 gL0 Oo0 pd0 14o0 1cM0 1cP0 1cM0 1cM0 1cM0 1cM0 1cM0 3Co0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 pvy0 1cM0 1cM0 1fA0 1cM0 1cM0 1cN0 1cL0 1cN0 1cM0 1cM0 1cM0 1cM0 1cN0 1cL0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|27e5","Europe/Luxembourg|LMT CET CEST WET WEST WEST WET|-o.A -10 -20 0 -10 -20 -10|0121212134343434343434343434343434343434343434343434565651212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2DG0o.A t6mo.A TB0 1nX0 Up0 1o20 11A0 rW0 CM0 1qP0 R90 1EO0 UK0 1u20 10m0 1ip0 1in0 17e0 19W0 1fB0 1db0 1cp0 1in0 17d0 1fz0 1a10 1in0 1a10 1in0 17f0 1fA0 1a00 1io0 17c0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Dc0 vA0 60L0 WM0 1fA0 1cM0 17c0 1io0 16M0 1C00 Uo0 1eeo0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|54e4","Europe/Madrid|WET WEST WEMT CET CEST|0 -10 -20 -10 -20|010101010101010101210343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343|-25Td0 19B0 1cL0 1dd0 b1z0 18p0 3HX0 17d0 1fz0 1a10 1io0 1a00 1in0 17d0 iIn0 Hd0 1cL0 bb0 1200 2s20 14n0 5aL0 Mp0 1vz0 17d0 1in0 17d0 1in0 17d0 1in0 17d0 6hX0 11B0 XHX0 1a10 1fz0 1a10 19X0 1cN0 1fz0 1a10 1fC0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|62e5","Europe/Malta|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2arB0 Lz0 1cN0 1db0 1410 1on0 Wp0 1qL0 17d0 1cL0 M3B0 5M20 WM0 1fA0 1co0 17c0 1iM0 16m0 1de0 1lc0 14m0 1lc0 WO0 1qM0 GTW0 On0 1C10 LA0 1C00 LA0 1EM0 LA0 1C00 LA0 1zc0 Oo0 1C00 Oo0 1co0 1cM0 1lA0 Xc0 1qq0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1iN0 19z0 1fB0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|42e4","Europe/Minsk|MMT EET MSK CEST CET MSD EEST +03|-1O -20 -30 -20 -10 -40 -30 -30|01234343252525252525252525261616161616161616161616161616161616161617|-1Pc1O eUnO qNX0 3gQ0 WM0 1fA0 1cM0 Al0 1tsn0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 3Fc0 1cN0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0|19e5","Europe/Monaco|PMT WET WEST WEMT CET CEST|-9.l 0 -10 -20 -10 -20|01212121212121212121212121212121212121212121212121232323232345454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-2nco9.l cNb9.l HA0 19A0 1iM0 11c0 1oo0 Wo0 1rc0 QM0 1EM0 UM0 1u00 10o0 1io0 1wo0 Rc0 1a00 1fA0 1cM0 1cM0 1io0 17c0 1fA0 1a00 1io0 1a00 1io0 17c0 1fA0 1a00 1io0 17c0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Df0 2RV0 11z0 11B0 1ze0 WM0 1fA0 1cM0 1fa0 1aq0 16M0 1ekn0 1cL0 1fC0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|38e3","Europe/Moscow|MMT MMT MST MDST MSD MSK +05 EET EEST MSK|-2u.h -2v.j -3v.j -4v.j -40 -30 -50 -20 -30 -40|012132345464575454545454545454545458754545454545454545454545454545454545454595|-2ag2u.h 2pyW.W 1bA0 11X0 GN0 1Hb0 c4v.j ik0 3DA0 dz0 15A0 c10 2q10 iM10 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cN0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|16e6","Europe/Paris|PMT WET WEST CEST CET WEMT|-9.l 0 -10 -20 -10 -20|0121212121212121212121212121212121212121212121212123434352543434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434|-2nco8.l cNb8.l HA0 19A0 1iM0 11c0 1oo0 Wo0 1rc0 QM0 1EM0 UM0 1u00 10o0 1io0 1wo0 Rc0 1a00 1fA0 1cM0 1cM0 1io0 17c0 1fA0 1a00 1io0 1a00 1io0 17c0 1fA0 1a00 1io0 17c0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Df0 Ik0 5M30 WM0 1fA0 1cM0 Vx0 hB0 1aq0 16M0 1ekn0 1cL0 1fC0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|11e6","Europe/Riga|RMT LST EET MSK CEST CET MSD EEST|-1A.y -2A.y -20 -30 -20 -10 -40 -30|010102345454536363636363636363727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272|-25TzA.y 11A0 1iM0 ko0 gWm0 yDXA.y 2bX0 3fE0 WM0 1fA0 1cM0 1cM0 4m0 1sLy0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cN0 1o00 11A0 1o00 11A0 1qM0 3oo0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|64e4","Europe/Rome|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2arB0 Lz0 1cN0 1db0 1410 1on0 Wp0 1qL0 17d0 1cL0 M3B0 5M20 WM0 1fA0 1cM0 16M0 1iM0 16m0 1de0 1lc0 14m0 1lc0 WO0 1qM0 GTW0 On0 1C10 LA0 1C00 LA0 1EM0 LA0 1C00 LA0 1zc0 Oo0 1C00 Oo0 1C00 LA0 1zc0 Oo0 1C00 LA0 1C00 LA0 1zc0 Oo0 1C00 Oo0 1zc0 Oo0 1fC0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|39e5","Europe/Samara|LMT +03 +04 +05|-3k.k -30 -40 -50|0123232323232323232121232323232323232323232323232323232323212|-22WM0 qH90 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1fA0 2y10 14m0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 2sp0 WM0|12e5","Europe/Saratov|LMT +03 +04 +05|-34.i -30 -40 -50|012323232323232321212121212121212121212121212121212121212121212|-22WM0 qH90 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1cM0 1cM0 1fA0 1cM0 3Co0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 5810","Europe/Simferopol|SMT EET MSK CEST CET MSD EEST MSK|-2g -20 -30 -20 -10 -40 -30 -40|012343432525252525252525252161616525252616161616161616161616161616161616172|-1Pc2g eUog rEn0 2qs0 WM0 1fA0 1cM0 3V0 1u0L0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1Q00 4eL0 1cL0 1cN0 1cL0 1cN0 dX0 WL0 1cN0 1cL0 1fB0 1o30 11B0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11z0 1nW0|33e4","Europe/Sofia|EET CET CEST EEST|-20 -10 -20 -30|01212103030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030|-168L0 WM0 1fA0 1cM0 1cM0 1cN0 1mKH0 1dd0 1fb0 1ap0 1fb0 1a20 1fy0 1a30 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cK0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1nX0 11E0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|12e5","Europe/Stockholm|CET CEST|-10 -20|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2azC0 TB0 2yDe0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|15e5","Europe/Tallinn|TMT CET CEST EET MSK MSD EEST|-1D -10 -20 -20 -30 -40 -30|012103421212454545454545454546363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363|-26oND teD 11A0 1Ta0 4rXl KSLD 2FX0 2Jg0 WM0 1fA0 1cM0 18J0 1sTX0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o10 11A0 1qM0 5QM0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|41e4","Europe/Tirane|LMT CET CEST|-1j.k -10 -20|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2glBj.k 14pcj.k 5LC0 WM0 4M0 1fCK0 10n0 1op0 11z0 1pd0 11z0 1qN0 WL0 1qp0 Xb0 1qp0 Xb0 1qp0 11z0 1lB0 11z0 1qN0 11z0 1iN0 16n0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|42e4","Europe/Ulyanovsk|LMT +03 +04 +05 +02|-3d.A -30 -40 -50 -20|01232323232323232321214121212121212121212121212121212121212121212|-22WM0 qH90 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3rd0","Europe/Uzhgorod|CET CEST MSK MSD EET EEST|-10 -20 -30 -40 -20 -30|010101023232323232323232320454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-1cqL0 6i00 WM0 1fA0 1cM0 1ml0 1Cp0 1r3W0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1Q00 1Nf0 2pw0 1cL0 1cN0 1cL0 1cN0 1cL0 1cQ0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|11e4","Europe/Vienna|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1o00 11A0 3KM0 14o0 LA00 6i00 WM0 1fA0 1cM0 1cM0 1cM0 400 2qM0 1a00 1cM0 1cM0 1io0 17c0 1gHa0 19X0 1cP0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|18e5","Europe/Vilnius|WMT KMT CET EET MSK CEST MSD EEST|-1o -1z.A -10 -20 -30 -20 -40 -30|012324525254646464646464646473737373737373737352537373737373737373737373737373737373737373737373737373737373737373737373|-293do 6ILM.o 1Ooz.A zz0 Mfd0 29W0 3is0 WM0 1fA0 1cM0 LV0 1tgL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11B0 1o00 11A0 1qM0 8io0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|54e4","Europe/Volgograd|LMT +03 +04 +05|-2V.E -30 -40 -50|01232323232323232121212121212121212121212121212121212121212121|-21IqV.E psLV.E 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1cM0 1cM0 1fA0 1cM0 3Co0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|10e5","Europe/Warsaw|WMT CET CEST EET EEST|-1o -10 -20 -20 -30|012121234312121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2ctdo 1LXo 11d0 1iO0 11A0 1o00 11A0 1on0 11A0 6zy0 HWP0 5IM0 WM0 1fA0 1cM0 1dz0 1mL0 1en0 15B0 1aq0 1nA0 11A0 1io0 17c0 1fA0 1a00 iDX0 LA0 1cM0 1cM0 1C00 Oo0 1cM0 1cM0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1C00 LA0 uso0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|17e5","Europe/Zaporozhye|+0220 EET MSK CEST CET MSD EEST|-2k -20 -30 -20 -10 -40 -30|01234342525252525252525252526161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161|-1Pc2k eUok rdb0 2RE0 WM0 1fA0 8m0 1v9a0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cK0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cQ0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|77e4","HST|HST|a0|0|","Indian/Chagos|LMT +05 +06|-4N.E -50 -60|012|-2xosN.E 3AGLN.E|30e2","Indian/Cocos|+0630|-6u|0||596","Indian/Kerguelen|-00 +05|0 -50|01|-MG00|130","Indian/Mahe|LMT +04|-3F.M -40|01|-2yO3F.M|79e3","Indian/Maldives|MMT +05|-4S -50|01|-olgS|35e4","Indian/Mauritius|LMT +04 +05|-3O -40 -50|012121|-2xorO 34unO 14L0 12kr0 11z0|15e4","Indian/Reunion|LMT +04|-3F.Q -40|01|-2mDDF.Q|84e4","Pacific/Kwajalein|+11 -12 +12|-b0 c0 -c0|012|-AX0 W9X0|14e3","MET|MET MEST|-10 -20|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1o00 11A0 Qrc0 6i00 WM0 1fA0 1cM0 1cM0 1cM0 16M0 1gMM0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","MST|MST|70|0|","MST7MDT|MST MDT MWT MPT|70 60 60 60|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261r0 1nX0 11B0 1nX0 SgN0 8x20 ix0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","Pacific/Chatham|+1215 +1245 +1345|-cf -cJ -dJ|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212|-WqAf 1adef IM0 1C00 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1qM0 14o0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1io0 17c0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1io0 17c0 1io0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00|600","Pacific/Apia|LMT -1130 -11 -10 +14 +13|bq.U bu b0 a0 -e0 -d0|01232345454545454545454545454545454545454545454545454545454|-2nDMx.4 1yW03.4 2rRbu 1ff0 1a00 CI0 AQ0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00|37e3","Pacific/Bougainville|+10 +09 +11|-a0 -90 -b0|0102|-16Wy0 7CN0 2MQp0|18e4","Pacific/Efate|LMT +11 +12|-bd.g -b0 -c0|0121212121212121212121|-2l9nd.g 2Szcd.g 1cL0 1oN0 10L0 1fB0 19X0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 Lz0 1Nd0 An0|66e3","Pacific/Enderbury|-12 -11 +13|c0 b0 -d0|012|nIc0 B7X0|1","Pacific/Fakaofo|-11 +13|b0 -d0|01|1Gfn0|483","Pacific/Fiji|LMT +12 +13|-bT.I -c0 -d0|0121212121212121212121212121212121212121212121212121212121212121|-2bUzT.I 3m8NT.I LA0 1EM0 IM0 nJc0 LA0 1o00 Rc0 1wo0 Ao0 1Nc0 Ao0 1Q00 xz0 1SN0 uM0 1SM0 uM0 1VA0 s00 1VA0 s00 1VA0 uM0 1SM0 uM0 1SM0 uM0 1VA0 s00 1VA0 s00 1VA0 s00 1VA0 uM0 1SM0 uM0 1SM0 uM0 1VA0 s00 1VA0 s00 1VA0 uM0 1SM0 uM0 1SM0 uM0 1VA0 s00 1VA0 s00 1VA0 s00 1VA0 uM0 1SM0 uM0 1SM0 uM0|88e4","Pacific/Galapagos|LMT -05 -06|5W.o 50 60|01212|-1yVS1.A 2dTz1.A gNd0 rz0|25e3","Pacific/Gambier|LMT -09|8X.M 90|01|-2jof0.c|125","Pacific/Guadalcanal|LMT +11|-aD.M -b0|01|-2joyD.M|11e4","Pacific/Guam|GST ChST|-a0 -a0|01|1fpq0|17e4","Pacific/Honolulu|HST HDT HST|au 9u a0|010102|-1thLu 8x0 lef0 8Pz0 46p0|37e4","Pacific/Kiritimati|-1040 -10 +14|aE a0 -e0|012|nIaE B7Xk|51e2","Pacific/Kosrae|+11 +12|-b0 -c0|010|-AX0 1bdz0|66e2","Pacific/Majuro|+11 +12|-b0 -c0|01|-AX0|28e3","Pacific/Marquesas|LMT -0930|9i 9u|01|-2joeG|86e2","Pacific/Pago_Pago|LMT SST|bm.M b0|01|-2nDMB.c|37e2","Pacific/Nauru|LMT +1130 +09 +12|-b7.E -bu -90 -c0|01213|-1Xdn7.E PvzB.E 5RCu 1ouJu|10e3","Pacific/Niue|-1120 -1130 -11|bk bu b0|012|-KfME 17y0a|12e2","Pacific/Norfolk|+1112 +1130 +1230 +11|-bc -bu -cu -b0|01213|-Kgbc W01G On0 1COp0|25e4","Pacific/Noumea|LMT +11 +12|-b5.M -b0 -c0|01212121|-2l9n5.M 2EqM5.M xX0 1PB0 yn0 HeP0 Ao0|98e3","Pacific/Pitcairn|-0830 -08|8u 80|01|18Vku|56","Pacific/Rarotonga|-1030 -0930 -10|au 9u a0|012121212121212121212121212|lyWu IL0 1zcu Onu 1zcu Onu 1zcu Rbu 1zcu Onu 1zcu Onu 1zcu Onu 1zcu Onu 1zcu Onu 1zcu Rbu 1zcu Onu 1zcu Onu 1zcu Onu|13e3","Pacific/Tahiti|LMT -10|9W.g a0|01|-2joe1.I|18e4","Pacific/Tongatapu|+1220 +13 +14|-ck -d0 -e0|0121212121|-1aB0k 2n5dk 15A0 1wo0 xz0 1Q10 xz0 zWN0 s00|75e3","PST8PDT|PST PDT PWT PPT|80 70 70 70|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261q0 1nX0 11B0 1nX0 SgN0 8x10 iy0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","WET|WET WEST|0 -10|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|hDB0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00"],links:["Africa/Abidjan|Africa/Bamako","Africa/Abidjan|Africa/Banjul","Africa/Abidjan|Africa/Conakry","Africa/Abidjan|Africa/Dakar","Africa/Abidjan|Africa/Freetown","Africa/Abidjan|Africa/Lome","Africa/Abidjan|Africa/Nouakchott","Africa/Abidjan|Africa/Ouagadougou","Africa/Abidjan|Africa/Timbuktu","Africa/Abidjan|Atlantic/St_Helena","Africa/Cairo|Egypt","Africa/Johannesburg|Africa/Maseru","Africa/Johannesburg|Africa/Mbabane","Africa/Lagos|Africa/Bangui","Africa/Lagos|Africa/Brazzaville","Africa/Lagos|Africa/Douala","Africa/Lagos|Africa/Kinshasa","Africa/Lagos|Africa/Libreville","Africa/Lagos|Africa/Luanda","Africa/Lagos|Africa/Malabo","Africa/Lagos|Africa/Niamey","Africa/Lagos|Africa/Porto-Novo","Africa/Maputo|Africa/Blantyre","Africa/Maputo|Africa/Bujumbura","Africa/Maputo|Africa/Gaborone","Africa/Maputo|Africa/Harare","Africa/Maputo|Africa/Kigali","Africa/Maputo|Africa/Lubumbashi","Africa/Maputo|Africa/Lusaka","Africa/Nairobi|Africa/Addis_Ababa","Africa/Nairobi|Africa/Asmara","Africa/Nairobi|Africa/Asmera","Africa/Nairobi|Africa/Dar_es_Salaam","Africa/Nairobi|Africa/Djibouti","Africa/Nairobi|Africa/Kampala","Africa/Nairobi|Africa/Mogadishu","Africa/Nairobi|Indian/Antananarivo","Africa/Nairobi|Indian/Comoro","Africa/Nairobi|Indian/Mayotte","Africa/Tripoli|Libya","America/Adak|America/Atka","America/Adak|US/Aleutian","America/Anchorage|US/Alaska","America/Argentina/Buenos_Aires|America/Buenos_Aires","America/Argentina/Catamarca|America/Argentina/ComodRivadavia","America/Argentina/Catamarca|America/Catamarca","America/Argentina/Cordoba|America/Cordoba","America/Argentina/Cordoba|America/Rosario","America/Argentina/Jujuy|America/Jujuy","America/Argentina/Mendoza|America/Mendoza","America/Atikokan|America/Coral_Harbour","America/Chicago|US/Central","America/Curacao|America/Aruba","America/Curacao|America/Kralendijk","America/Curacao|America/Lower_Princes","America/Denver|America/Shiprock","America/Denver|Navajo","America/Denver|US/Mountain","America/Detroit|US/Michigan","America/Edmonton|Canada/Mountain","America/Fort_Wayne|America/Indiana/Indianapolis","America/Fort_Wayne|America/Indianapolis","America/Fort_Wayne|US/East-Indiana","America/Halifax|Canada/Atlantic","America/Havana|Cuba","America/Indiana/Knox|America/Knox_IN","America/Indiana/Knox|US/Indiana-Starke","America/Jamaica|Jamaica","America/Kentucky/Louisville|America/Louisville","America/Los_Angeles|US/Pacific","America/Los_Angeles|US/Pacific-New","America/Manaus|Brazil/West","America/Mazatlan|Mexico/BajaSur","America/Mexico_City|Mexico/General","America/New_York|US/Eastern","America/Noronha|Brazil/DeNoronha","America/Panama|America/Cayman","America/Phoenix|US/Arizona","America/Port_of_Spain|America/Anguilla","America/Port_of_Spain|America/Antigua","America/Port_of_Spain|America/Dominica","America/Port_of_Spain|America/Grenada","America/Port_of_Spain|America/Guadeloupe","America/Port_of_Spain|America/Marigot","America/Port_of_Spain|America/Montserrat","America/Port_of_Spain|America/St_Barthelemy","America/Port_of_Spain|America/St_Kitts","America/Port_of_Spain|America/St_Lucia","America/Port_of_Spain|America/St_Thomas","America/Port_of_Spain|America/St_Vincent","America/Port_of_Spain|America/Tortola","America/Port_of_Spain|America/Virgin","America/Regina|Canada/Saskatchewan","America/Rio_Branco|America/Porto_Acre","America/Rio_Branco|Brazil/Acre","America/Santiago|Chile/Continental","America/Sao_Paulo|Brazil/East","America/St_Johns|Canada/Newfoundland","America/Tijuana|America/Ensenada","America/Tijuana|America/Santa_Isabel","America/Tijuana|Mexico/BajaNorte","America/Toronto|America/Montreal","America/Toronto|Canada/Eastern","America/Vancouver|Canada/Pacific","America/Whitehorse|Canada/Yukon","America/Winnipeg|Canada/Central","Asia/Ashgabat|Asia/Ashkhabad","Asia/Bangkok|Asia/Phnom_Penh","Asia/Bangkok|Asia/Vientiane","Asia/Dhaka|Asia/Dacca","Asia/Dubai|Asia/Muscat","Asia/Ho_Chi_Minh|Asia/Saigon","Asia/Hong_Kong|Hongkong","Asia/Jerusalem|Asia/Tel_Aviv","Asia/Jerusalem|Israel","Asia/Kathmandu|Asia/Katmandu","Asia/Kolkata|Asia/Calcutta","Asia/Kuala_Lumpur|Asia/Singapore","Asia/Kuala_Lumpur|Singapore","Asia/Macau|Asia/Macao","Asia/Makassar|Asia/Ujung_Pandang","Asia/Nicosia|Europe/Nicosia","Asia/Qatar|Asia/Bahrain","Asia/Rangoon|Asia/Yangon","Asia/Riyadh|Asia/Aden","Asia/Riyadh|Asia/Kuwait","Asia/Seoul|ROK","Asia/Shanghai|Asia/Chongqing","Asia/Shanghai|Asia/Chungking","Asia/Shanghai|Asia/Harbin","Asia/Shanghai|PRC","Asia/Taipei|ROC","Asia/Tehran|Iran","Asia/Thimphu|Asia/Thimbu","Asia/Tokyo|Japan","Asia/Ulaanbaatar|Asia/Ulan_Bator","Asia/Urumqi|Asia/Kashgar","Atlantic/Faroe|Atlantic/Faeroe","Atlantic/Reykjavik|Iceland","Atlantic/South_Georgia|Etc/GMT+2","Australia/Adelaide|Australia/South","Australia/Brisbane|Australia/Queensland","Australia/Broken_Hill|Australia/Yancowinna","Australia/Darwin|Australia/North","Australia/Hobart|Australia/Tasmania","Australia/Lord_Howe|Australia/LHI","Australia/Melbourne|Australia/Victoria","Australia/Perth|Australia/West","Australia/Sydney|Australia/ACT","Australia/Sydney|Australia/Canberra","Australia/Sydney|Australia/NSW","Etc/GMT-0|Etc/GMT","Etc/GMT-0|Etc/GMT+0","Etc/GMT-0|Etc/GMT0","Etc/GMT-0|Etc/Greenwich","Etc/GMT-0|GMT","Etc/GMT-0|GMT+0","Etc/GMT-0|GMT-0","Etc/GMT-0|GMT0","Etc/GMT-0|Greenwich","Etc/UCT|UCT","Etc/UTC|Etc/Universal","Etc/UTC|Etc/Zulu","Etc/UTC|UTC","Etc/UTC|Universal","Etc/UTC|Zulu","Europe/Belgrade|Europe/Ljubljana","Europe/Belgrade|Europe/Podgorica","Europe/Belgrade|Europe/Sarajevo","Europe/Belgrade|Europe/Skopje","Europe/Belgrade|Europe/Zagreb","Europe/Chisinau|Europe/Tiraspol","Europe/Dublin|Eire","Europe/Helsinki|Europe/Mariehamn","Europe/Istanbul|Asia/Istanbul","Europe/Istanbul|Turkey","Europe/Lisbon|Portugal","Europe/London|Europe/Belfast","Europe/London|Europe/Guernsey","Europe/London|Europe/Isle_of_Man","Europe/London|Europe/Jersey","Europe/London|GB","Europe/London|GB-Eire","Europe/Moscow|W-SU","Europe/Oslo|Arctic/Longyearbyen","Europe/Oslo|Atlantic/Jan_Mayen","Europe/Prague|Europe/Bratislava","Europe/Rome|Europe/San_Marino","Europe/Rome|Europe/Vatican","Europe/Warsaw|Poland","Europe/Zurich|Europe/Busingen","Europe/Zurich|Europe/Vaduz","Indian/Christmas|Etc/GMT-7","Pacific/Auckland|Antarctica/McMurdo","Pacific/Auckland|Antarctica/South_Pole","Pacific/Auckland|NZ","Pacific/Chatham|NZ-CHAT","Pacific/Easter|Chile/EasterIsland","Pacific/Guam|Pacific/Saipan","Pacific/Honolulu|Pacific/Johnston","Pacific/Honolulu|US/Hawaii","Pacific/Kwajalein|Kwajalein","Pacific/Pago_Pago|Pacific/Midway","Pacific/Pago_Pago|Pacific/Samoa","Pacific/Pago_Pago|US/Samoa","Pacific/Palau|Etc/GMT-9","Pacific/Pohnpei|Etc/GMT-11","Pacific/Pohnpei|Pacific/Ponape","Pacific/Port_Moresby|Etc/GMT-10","Pacific/Port_Moresby|Pacific/Chuuk","Pacific/Port_Moresby|Pacific/Truk","Pacific/Port_Moresby|Pacific/Yap","Pacific/Tarawa|Etc/GMT-12","Pacific/Tarawa|Pacific/Funafuti","Pacific/Tarawa|Pacific/Wake","Pacific/Tarawa|Pacific/Wallis"]}},function(e,t,a){var n={"./af":130,"./af.js":130,"./ar":129,"./ar-dz":128,"./ar-dz.js":128,"./ar-kw":127,"./ar-kw.js":127,"./ar-ly":126,"./ar-ly.js":126,"./ar-ma":125,"./ar-ma.js":125,"./ar-sa":124,"./ar-sa.js":124,"./ar-tn":123,"./ar-tn.js":123,"./ar.js":129,"./az":122,"./az.js":122,"./be":121,"./be.js":121,"./bg":120,"./bg.js":120,"./bm":119,"./bm.js":119,"./bn":118,"./bn.js":118,"./bo":117,"./bo.js":117,"./br":116,"./br.js":116,"./bs":115,"./bs.js":115,"./ca":114,"./ca.js":114,"./cs":113,"./cs.js":113,"./cv":112,"./cv.js":112,"./cy":111,"./cy.js":111,"./da":110,"./da.js":110,"./de":109,"./de-at":108,"./de-at.js":108,"./de-ch":107,"./de-ch.js":107,"./de.js":109,"./dv":106,"./dv.js":106,"./el":105,"./el.js":105,"./en-au":104,"./en-au.js":104,"./en-ca":103,"./en-ca.js":103,"./en-gb":102,"./en-gb.js":102,"./en-ie":101,"./en-ie.js":101,"./en-il":100,"./en-il.js":100,"./en-nz":99,"./en-nz.js":99,"./eo":98,"./eo.js":98,"./es":97,"./es-do":96,"./es-do.js":96,"./es-us":95,"./es-us.js":95,"./es.js":97,"./et":94,"./et.js":94,"./eu":93,"./eu.js":93,"./fa":92,"./fa.js":92,"./fi":91,"./fi.js":91,"./fo":90,"./fo.js":90,"./fr":89,"./fr-ca":88,"./fr-ca.js":88,"./fr-ch":87,"./fr-ch.js":87,"./fr.js":89,"./fy":86,"./fy.js":86,"./gd":85,"./gd.js":85,"./gl":84,"./gl.js":84,"./gom-latn":83,"./gom-latn.js":83,"./gu":82,"./gu.js":82,"./he":81,"./he.js":81,"./hi":80,"./hi.js":80,"./hr":79,"./hr.js":79,"./hu":78,"./hu.js":78,"./hy-am":77,"./hy-am.js":77,"./id":76,"./id.js":76,"./is":75,"./is.js":75,"./it":74,"./it.js":74,"./ja":73,"./ja.js":73,"./jv":72,"./jv.js":72,"./ka":71,"./ka.js":71,"./kk":70,"./kk.js":70,"./km":69,"./km.js":69,"./kn":68,"./kn.js":68,"./ko":67,"./ko.js":67,"./ky":66,"./ky.js":66,"./lb":65,"./lb.js":65,"./lo":64,"./lo.js":64,"./lt":63,"./lt.js":63,"./lv":62,"./lv.js":62,"./me":61,"./me.js":61,"./mi":60,"./mi.js":60,"./mk":59,"./mk.js":59,"./ml":58,"./ml.js":58,"./mn":57,"./mn.js":57,"./mr":56,"./mr.js":56,"./ms":55,"./ms-my":54,"./ms-my.js":54,"./ms.js":55,"./mt":53,"./mt.js":53,"./my":52,"./my.js":52,"./nb":51,"./nb.js":51,"./ne":50,"./ne.js":50,"./nl":49,"./nl-be":48,"./nl-be.js":48,"./nl.js":49,"./nn":47,"./nn.js":47,"./pa-in":46,"./pa-in.js":46,"./pl":45,"./pl.js":45,"./pt":44,"./pt-br":43,"./pt-br.js":43,"./pt.js":44,"./ro":42,"./ro.js":42,"./ru":41,"./ru.js":41,"./sd":40,"./sd.js":40,"./se":39,"./se.js":39,"./si":38,"./si.js":38,"./sk":37,"./sk.js":37,"./sl":36,"./sl.js":36,"./sq":35,"./sq.js":35,"./sr":34,"./sr-cyrl":33,"./sr-cyrl.js":33,"./sr.js":34,"./ss":32,"./ss.js":32,"./sv":31,"./sv.js":31,"./sw":30,"./sw.js":30,"./ta":29,"./ta.js":29,"./te":28,"./te.js":28,"./tet":27,"./tet.js":27,"./tg":26,"./tg.js":26,"./th":25,"./th.js":25,"./tl-ph":24,"./tl-ph.js":24,"./tlh":23,"./tlh.js":23,"./tr":22,"./tr.js":22,"./tzl":21,"./tzl.js":21,"./tzm":20,"./tzm-latn":19,"./tzm-latn.js":19,"./tzm.js":20,"./ug-cn":18,"./ug-cn.js":18,"./uk":17,"./uk.js":17,"./ur":16,"./ur.js":16,"./uz":15,"./uz-latn":14,"./uz-latn.js":14,"./uz.js":15,"./vi":13,"./vi.js":13,"./x-pseudo":12,"./x-pseudo.js":12,"./yo":11,"./yo.js":11,"./zh-cn":10,"./zh-cn.js":10,"./zh-hk":9,"./zh-hk.js":9,"./zh-tw":8,"./zh-tw.js":8};function c(e){var t=i(e);return a(t)}function i(e){var t=n[e];if(!(t+1)){var a=new Error('Cannot find module "'+e+'".');throw a.code="MODULE_NOT_FOUND",a}return t}c.keys=function(){return Object.keys(n)},c.resolve=i,e.exports=c,c.id=138},function(e,t){e.exports=function(e){return e.webpackPolyfill||(e.deprecate=function(){},e.paths=[],e.children||(e.children=[]),Object.defineProperty(e,"loaded",{enumerable:!0,get:function(){return e.l}}),Object.defineProperty(e,"id",{enumerable:!0,get:function(){return e.i}}),e.webpackPolyfill=1),e}},function(e,t,a){var n,c,i;//! moment-timezone.js +!function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t(require("d3"),require("c3"));else if("function"==typeof define&&define.amd)define(["d3","c3"],t);else{var n="object"==typeof exports?t(require("d3"),require("c3")):t(e.d3,e.c3);for(var a in n)("object"==typeof exports?exports:e)[a]=n[a]}}(window,function(e,t){return function(e){var t={};function n(a){if(t[a])return t[a].exports;var c=t[a]={i:a,l:!1,exports:{}};return e[a].call(c.exports,c,c.exports,n),c.l=!0,c.exports}return n.m=e,n.c=t,n.d=function(e,t,a){n.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:a})},n.r=function(e){Object.defineProperty(e,"__esModule",{value:!0})},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=168)}([function(e,t,n){(function(e){e.exports=function(){"use strict";var t,a;function c(){return t.apply(null,arguments)}function o(e){return e instanceof Array||"[object Array]"===Object.prototype.toString.call(e)}function i(e){return null!=e&&"[object Object]"===Object.prototype.toString.call(e)}function r(e){return void 0===e}function s(e){return"number"==typeof e||"[object Number]"===Object.prototype.toString.call(e)}function d(e){return e instanceof Date||"[object Date]"===Object.prototype.toString.call(e)}function M(e,t){var n,a=[];for(n=0;n>>0,a=0;a0)for(n=0;n=0;return(o?n?"+":"":"-")+Math.pow(10,Math.max(0,c)).toString().substr(1)+a}var j=/(\[[^\[]*\])|(\\)?([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,P=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,C={},R={};function F(e,t,n,a){var c=a;"string"==typeof a&&(c=function(){return this[a]()}),e&&(R[e]=c),t&&(R[t[0]]=function(){return E(c.apply(this,arguments),t[1],t[2])}),n&&(R[n]=function(){return this.localeData().ordinal(c.apply(this,arguments),e)})}function I(e,t){return e.isValid()?(t=U(t,e.localeData()),C[t]=C[t]||function(e){var t,n,a,c=e.match(j);for(t=0,n=c.length;t=0&&P.test(e);)e=e.replace(P,a),P.lastIndex=0,n-=1;return e}var J=/\d/,G=/\d\d/,K=/\d{3}/,V=/\d{4}/,Q=/[+-]?\d{6}/,Z=/\d\d?/,$=/\d\d\d\d?/,ee=/\d\d\d\d\d\d?/,te=/\d{1,3}/,ne=/\d{1,4}/,ae=/[+-]?\d{1,6}/,ce=/\d+/,oe=/[+-]?\d+/,ie=/Z|[+-]\d\d:?\d\d/gi,re=/Z|[+-]\d\d(?::?\d\d)?/gi,se=/[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i,de={};function Me(e,t,n){de[e]=N(t)?t:function(e,a){return e&&n?n:t}}function ue(e,t){return u(de,e)?de[e](t._strict,t._locale):new RegExp(le(e.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(e,t,n,a,c){return t||n||a||c})))}function le(e){return e.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}var _e={};function pe(e,t){var n,a=t;for("string"==typeof e&&(e=[e]),s(t)&&(a=function(e,n){n[t]=T(e)}),n=0;n68?1900:2e3)};var De,qe=Ne("FullYear",!0);function Ne(e,t){return function(n){return null!=n?(ve(this,e,n),c.updateOffset(this,t),this):We(this,e)}}function We(e,t){return e.isValid()?e._d["get"+(e._isUTC?"UTC":"")+t]():NaN}function ve(e,t,n){e.isValid()&&!isNaN(n)&&("FullYear"===t&&ke(e.year())&&1===e.month()&&29===e.date()?e._d["set"+(e._isUTC?"UTC":"")+t](n,e.month(),we(n,e.month())):e._d["set"+(e._isUTC?"UTC":"")+t](n))}function we(e,t){if(isNaN(e)||isNaN(t))return NaN;var n,a=(t%(n=12)+n)%n;return e+=(t-a)/12,1===a?ke(e)?29:28:31-a%7%2}De=Array.prototype.indexOf?Array.prototype.indexOf:function(e){var t;for(t=0;t=0&&isFinite(t.getUTCFullYear())&&t.setUTCFullYear(e),t}function Re(e,t,n){var a=7+t-n,c=(7+Ce(e,0,a).getUTCDay()-t)%7;return-c+a-1}function Fe(e,t,n,a,c){var o,i,r=(7+n-a)%7,s=Re(e,a,c),d=1+7*(t-1)+r+s;return d<=0?i=ge(o=e-1)+d:d>ge(e)?(o=e+1,i=d-ge(e)):(o=e,i=d),{year:o,dayOfYear:i}}function Ie(e,t,n){var a,c,o=Re(e.year(),t,n),i=Math.floor((e.dayOfYear()-o-1)/7)+1;return i<1?(c=e.year()-1,a=i+Ue(c,t,n)):i>Ue(e.year(),t,n)?(a=i-Ue(e.year(),t,n),c=e.year()+1):(c=e.year(),a=i),{week:a,year:c}}function Ue(e,t,n){var a=Re(e,t,n),c=Re(e+1,t,n);return(ge(e)-a+c)/7}F("w",["ww",2],"wo","week"),F("W",["WW",2],"Wo","isoWeek"),S("week","w"),S("isoWeek","W"),x("week",5),x("isoWeek",5),Me("w",Z),Me("ww",Z,G),Me("W",Z),Me("WW",Z,G),me(["w","ww","W","WW"],function(e,t,n,a){t[a.substr(0,1)]=T(e)}),F("d",0,"do","day"),F("dd",0,0,function(e){return this.localeData().weekdaysMin(this,e)}),F("ddd",0,0,function(e){return this.localeData().weekdaysShort(this,e)}),F("dddd",0,0,function(e){return this.localeData().weekdays(this,e)}),F("e",0,0,"weekday"),F("E",0,0,"isoWeekday"),S("day","d"),S("weekday","e"),S("isoWeekday","E"),x("day",11),x("weekday",11),x("isoWeekday",11),Me("d",Z),Me("e",Z),Me("E",Z),Me("dd",function(e,t){return t.weekdaysMinRegex(e)}),Me("ddd",function(e,t){return t.weekdaysShortRegex(e)}),Me("dddd",function(e,t){return t.weekdaysRegex(e)}),me(["dd","ddd","dddd"],function(e,t,n,a){var c=n._locale.weekdaysParse(e,a,n._strict);null!=c?t.d=c:p(n).invalidWeekday=e}),me(["d","e","E"],function(e,t,n,a){t[a]=T(e)});var Je="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),Ge="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),Ke="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),Ve=se,Qe=se,Ze=se;function $e(){function e(e,t){return t.length-e.length}var t,n,a,c,o,i=[],r=[],s=[],d=[];for(t=0;t<7;t++)n=_([2e3,1]).day(t),a=this.weekdaysMin(n,""),c=this.weekdaysShort(n,""),o=this.weekdays(n,""),i.push(a),r.push(c),s.push(o),d.push(a),d.push(c),d.push(o);for(i.sort(e),r.sort(e),s.sort(e),d.sort(e),t=0;t<7;t++)r[t]=le(r[t]),s[t]=le(s[t]),d[t]=le(d[t]);this._weekdaysRegex=new RegExp("^("+d.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+s.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+r.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+i.join("|")+")","i")}function et(){return this.hours()%12||12}function tt(e,t){F(e,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),t)})}function nt(e,t){return t._meridiemParse}F("H",["HH",2],0,"hour"),F("h",["hh",2],0,et),F("k",["kk",2],0,function(){return this.hours()||24}),F("hmm",0,0,function(){return""+et.apply(this)+E(this.minutes(),2)}),F("hmmss",0,0,function(){return""+et.apply(this)+E(this.minutes(),2)+E(this.seconds(),2)}),F("Hmm",0,0,function(){return""+this.hours()+E(this.minutes(),2)}),F("Hmmss",0,0,function(){return""+this.hours()+E(this.minutes(),2)+E(this.seconds(),2)}),tt("a",!0),tt("A",!1),S("hour","h"),x("hour",13),Me("a",nt),Me("A",nt),Me("H",Z),Me("h",Z),Me("k",Z),Me("HH",Z,G),Me("hh",Z,G),Me("kk",Z,G),Me("hmm",$),Me("hmmss",ee),Me("Hmm",$),Me("Hmmss",ee),pe(["H","HH"],ze),pe(["k","kk"],function(e,t,n){var a=T(e);t[ze]=24===a?0:a}),pe(["a","A"],function(e,t,n){n._isPm=n._locale.isPM(e),n._meridiem=e}),pe(["h","hh"],function(e,t,n){t[ze]=T(e),p(n).bigHour=!0}),pe("hmm",function(e,t,n){var a=e.length-2;t[ze]=T(e.substr(0,a)),t[Ae]=T(e.substr(a)),p(n).bigHour=!0}),pe("hmmss",function(e,t,n){var a=e.length-4,c=e.length-2;t[ze]=T(e.substr(0,a)),t[Ae]=T(e.substr(a,2)),t[ye]=T(e.substr(c)),p(n).bigHour=!0}),pe("Hmm",function(e,t,n){var a=e.length-2;t[ze]=T(e.substr(0,a)),t[Ae]=T(e.substr(a))}),pe("Hmmss",function(e,t,n){var a=e.length-4,c=e.length-2;t[ze]=T(e.substr(0,a)),t[Ae]=T(e.substr(a,2)),t[ye]=T(e.substr(c))});var at,ct=Ne("Hours",!0),ot={calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},longDateFormat:{LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},invalidDate:"Invalid date",ordinal:"%d",dayOfMonthOrdinalParse:/\d{1,2}/,relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},months:Xe,monthsShort:Be,week:{dow:0,doy:6},weekdays:Je,weekdaysMin:Ke,weekdaysShort:Ge,meridiemParse:/[ap]\.?m?\.?/i},it={},rt={};function st(e){return e?e.toLowerCase().replace("_","-"):e}function dt(t){var a=null;if(!it[t]&&void 0!==e&&e&&e.exports)try{a=at._abbr,n(144)("./"+t),Mt(a)}catch(e){}return it[t]}function Mt(e,t){var n;return e&&((n=r(t)?lt(e):ut(e,t))?at=n:"undefined"!=typeof console&&console.warn&&console.warn("Locale "+e+" not found. Did you forget to load it?")),at._abbr}function ut(e,t){if(null!==t){var n,a=ot;if(t.abbr=e,null!=it[e])q("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."),a=it[e]._config;else if(null!=t.parentLocale)if(null!=it[t.parentLocale])a=it[t.parentLocale]._config;else{if(null==(n=dt(t.parentLocale)))return rt[t.parentLocale]||(rt[t.parentLocale]=[]),rt[t.parentLocale].push({name:e,config:t}),null;a=n._config}return it[e]=new v(W(a,t)),rt[e]&&rt[e].forEach(function(e){ut(e.name,e.config)}),Mt(e),it[e]}return delete it[e],null}function lt(e){var t;if(e&&e._locale&&e._locale._abbr&&(e=e._locale._abbr),!e)return at;if(!o(e)){if(t=dt(e))return t;e=[e]}return function(e){for(var t,n,a,c,o=0;o0;){if(a=dt(c.slice(0,t).join("-")))return a;if(n&&n.length>=t&&O(c,n,!0)>=t-1)break;t--}o++}return at}(e)}function _t(e){var t,n=e._a;return n&&-2===p(e).overflow&&(t=n[Le]<0||n[Le]>11?Le:n[he]<1||n[he]>we(n[be],n[Le])?he:n[ze]<0||n[ze]>24||24===n[ze]&&(0!==n[Ae]||0!==n[ye]||0!==n[Te])?ze:n[Ae]<0||n[Ae]>59?Ae:n[ye]<0||n[ye]>59?ye:n[Te]<0||n[Te]>999?Te:-1,p(e)._overflowDayOfYear&&(the)&&(t=he),p(e)._overflowWeeks&&-1===t&&(t=Oe),p(e)._overflowWeekday&&-1===t&&(t=Ye),p(e).overflow=t),e}function pt(e,t,n){return null!=e?e:null!=t?t:n}function mt(e){var t,n,a,o,i,r=[];if(!e._d){for(a=function(e){var t=new Date(c.now());return e._useUTC?[t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate()]:[t.getFullYear(),t.getMonth(),t.getDate()]}(e),e._w&&null==e._a[he]&&null==e._a[Le]&&function(e){var t,n,a,c,o,i,r,s;if(null!=(t=e._w).GG||null!=t.W||null!=t.E)o=1,i=4,n=pt(t.GG,e._a[be],Ie(Nt(),1,4).year),a=pt(t.W,1),((c=pt(t.E,1))<1||c>7)&&(s=!0);else{o=e._locale._week.dow,i=e._locale._week.doy;var d=Ie(Nt(),o,i);n=pt(t.gg,e._a[be],d.year),a=pt(t.w,d.week),null!=t.d?((c=t.d)<0||c>6)&&(s=!0):null!=t.e?(c=t.e+o,(t.e<0||t.e>6)&&(s=!0)):c=o}a<1||a>Ue(n,o,i)?p(e)._overflowWeeks=!0:null!=s?p(e)._overflowWeekday=!0:(r=Fe(n,a,c,o,i),e._a[be]=r.year,e._dayOfYear=r.dayOfYear)}(e),null!=e._dayOfYear&&(i=pt(e._a[be],a[be]),(e._dayOfYear>ge(i)||0===e._dayOfYear)&&(p(e)._overflowDayOfYear=!0),n=Ce(i,0,e._dayOfYear),e._a[Le]=n.getUTCMonth(),e._a[he]=n.getUTCDate()),t=0;t<3&&null==e._a[t];++t)e._a[t]=r[t]=a[t];for(;t<7;t++)e._a[t]=r[t]=null==e._a[t]?2===t?1:0:e._a[t];24===e._a[ze]&&0===e._a[Ae]&&0===e._a[ye]&&0===e._a[Te]&&(e._nextDay=!0,e._a[ze]=0),e._d=(e._useUTC?Ce:function(e,t,n,a,c,o,i){var r=new Date(e,t,n,a,c,o,i);return e<100&&e>=0&&isFinite(r.getFullYear())&&r.setFullYear(e),r}).apply(null,r),o=e._useUTC?e._d.getUTCDay():e._d.getDay(),null!=e._tzm&&e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm),e._nextDay&&(e._a[ze]=24),e._w&&void 0!==e._w.d&&e._w.d!==o&&(p(e).weekdayMismatch=!0)}}var ft=/^\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)?)?$/,bt=/^\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)?)?$/,Lt=/Z|[+-]\d\d(?::?\d\d)?/,ht=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/]],zt=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],At=/^\/?Date\((\-?\d+)/i;function yt(e){var t,n,a,c,o,i,r=e._i,s=ft.exec(r)||bt.exec(r);if(s){for(p(e).iso=!0,t=0,n=ht.length;t0&&p(e).unusedInput.push(i),r=r.slice(r.indexOf(n)+n.length),d+=n.length),R[o]?(n?p(e).empty=!1:p(e).unusedTokens.push(o),fe(o,n,e)):e._strict&&!n&&p(e).unusedTokens.push(o);p(e).charsLeftOver=s-d,r.length>0&&p(e).unusedInput.push(r),e._a[ze]<=12&&!0===p(e).bigHour&&e._a[ze]>0&&(p(e).bigHour=void 0),p(e).parsedDateParts=e._a.slice(0),p(e).meridiem=e._meridiem,e._a[ze]=(M=e._locale,u=e._a[ze],null==(l=e._meridiem)?u:null!=M.meridiemHour?M.meridiemHour(u,l):null!=M.isPM?((_=M.isPM(l))&&u<12&&(u+=12),_||12!==u||(u=0),u):u),mt(e),_t(e)}else gt(e);else yt(e);var M,u,l,_}function Dt(e){var t=e._i,n=e._f;return e._locale=e._locale||lt(e._l),null===t||void 0===n&&""===t?f({nullInput:!0}):("string"==typeof t&&(e._i=t=e._locale.preparse(t)),A(t)?new z(_t(t)):(d(t)?e._d=t:o(n)?function(e){var t,n,a,c,o;if(0===e._f.length)return p(e).invalidFormat=!0,void(e._d=new Date(NaN));for(c=0;cthis?this:e:f()});function wt(e,t){var n,a;if(1===t.length&&o(t[0])&&(t=t[0]),!t.length)return Nt();for(n=t[0],a=1;ao&&(t=o),function(e,t,n,a,c){var o=Fe(e,t,n,a,c),i=Ce(o.year,0,o.dayOfYear);return this.year(i.getUTCFullYear()),this.month(i.getUTCMonth()),this.date(i.getUTCDate()),this}.call(this,e,t,n,a,c))}F(0,["gg",2],0,function(){return this.weekYear()%100}),F(0,["GG",2],0,function(){return this.isoWeekYear()%100}),an("gggg","weekYear"),an("ggggg","weekYear"),an("GGGG","isoWeekYear"),an("GGGGG","isoWeekYear"),S("weekYear","gg"),S("isoWeekYear","GG"),x("weekYear",1),x("isoWeekYear",1),Me("G",oe),Me("g",oe),Me("GG",Z,G),Me("gg",Z,G),Me("GGGG",ne,V),Me("gggg",ne,V),Me("GGGGG",ae,Q),Me("ggggg",ae,Q),me(["gggg","ggggg","GGGG","GGGGG"],function(e,t,n,a){t[a.substr(0,2)]=T(e)}),me(["gg","GG"],function(e,t,n,a){t[a]=c.parseTwoDigitYear(e)}),F("Q",0,"Qo","quarter"),S("quarter","Q"),x("quarter",7),Me("Q",J),pe("Q",function(e,t){t[Le]=3*(T(e)-1)}),F("D",["DD",2],"Do","date"),S("date","D"),x("date",9),Me("D",Z),Me("DD",Z,G),Me("Do",function(e,t){return e?t._dayOfMonthOrdinalParse||t._ordinalParse:t._dayOfMonthOrdinalParseLenient}),pe(["D","DD"],he),pe("Do",function(e,t){t[he]=T(e.match(Z)[0])});var on=Ne("Date",!0);F("DDD",["DDDD",3],"DDDo","dayOfYear"),S("dayOfYear","DDD"),x("dayOfYear",4),Me("DDD",te),Me("DDDD",K),pe(["DDD","DDDD"],function(e,t,n){n._dayOfYear=T(e)}),F("m",["mm",2],0,"minute"),S("minute","m"),x("minute",14),Me("m",Z),Me("mm",Z,G),pe(["m","mm"],Ae);var rn=Ne("Minutes",!1);F("s",["ss",2],0,"second"),S("second","s"),x("second",15),Me("s",Z),Me("ss",Z,G),pe(["s","ss"],ye);var sn,dn=Ne("Seconds",!1);for(F("S",0,0,function(){return~~(this.millisecond()/100)}),F(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),F(0,["SSS",3],0,"millisecond"),F(0,["SSSS",4],0,function(){return 10*this.millisecond()}),F(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),F(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),F(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),F(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),F(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),S("millisecond","ms"),x("millisecond",16),Me("S",te,J),Me("SS",te,G),Me("SSS",te,K),sn="SSSS";sn.length<=9;sn+="S")Me(sn,ce);function Mn(e,t){t[Te]=T(1e3*("0."+e))}for(sn="S";sn.length<=9;sn+="S")pe(sn,Mn);var un=Ne("Milliseconds",!1);F("z",0,0,"zoneAbbr"),F("zz",0,0,"zoneName");var ln=z.prototype;function _n(e){return e}ln.add=Qt,ln.calendar=function(e,t){var n=e||Nt(),a=Pt(n,this).startOf("day"),o=c.calendarFormat(this,a)||"sameElse",i=t&&(N(t[o])?t[o].call(this,n):t[o]);return this.format(i||this.localeData().calendar(o,this,Nt(n)))},ln.clone=function(){return new z(this)},ln.diff=function(e,t,n){var a,c,o;if(!this.isValid())return NaN;if(!(a=Pt(e,this)).isValid())return NaN;switch(c=6e4*(a.utcOffset()-this.utcOffset()),t=X(t)){case"year":o=$t(this,a)/12;break;case"month":o=$t(this,a);break;case"quarter":o=$t(this,a)/3;break;case"second":o=(this-a)/1e3;break;case"minute":o=(this-a)/6e4;break;case"hour":o=(this-a)/36e5;break;case"day":o=(this-a-c)/864e5;break;case"week":o=(this-a-c)/6048e5;break;default:o=this-a}return n?o:y(o)},ln.endOf=function(e){return void 0===(e=X(e))||"millisecond"===e?this:("date"===e&&(e="day"),this.startOf(e).add(1,"isoWeek"===e?"week":e).subtract(1,"ms"))},ln.format=function(e){e||(e=this.isUtc()?c.defaultFormatUtc:c.defaultFormat);var t=I(this,e);return this.localeData().postformat(t)},ln.from=function(e,t){return this.isValid()&&(A(e)&&e.isValid()||Nt(e).isValid())?Ut({to:this,from:e}).locale(this.locale()).humanize(!t):this.localeData().invalidDate()},ln.fromNow=function(e){return this.from(Nt(),e)},ln.to=function(e,t){return this.isValid()&&(A(e)&&e.isValid()||Nt(e).isValid())?Ut({from:this,to:e}).locale(this.locale()).humanize(!t):this.localeData().invalidDate()},ln.toNow=function(e){return this.to(Nt(),e)},ln.get=function(e){return N(this[e=X(e)])?this[e]():this},ln.invalidAt=function(){return p(this).overflow},ln.isAfter=function(e,t){var n=A(e)?e:Nt(e);return!(!this.isValid()||!n.isValid())&&("millisecond"===(t=X(r(t)?"millisecond":t))?this.valueOf()>n.valueOf():n.valueOf()9999?I(n,t?"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ"):N(Date.prototype.toISOString)?t?this.toDate().toISOString():new Date(this.valueOf()+60*this.utcOffset()*1e3).toISOString().replace("Z",I(n,"Z")):I(n,t?"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYY-MM-DD[T]HH:mm:ss.SSSZ")},ln.inspect=function(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var e="moment",t="";this.isLocal()||(e=0===this.utcOffset()?"moment.utc":"moment.parseZone",t="Z");var n="["+e+'("]',a=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY",c=t+'[")]';return this.format(n+a+"-MM-DD[T]HH:mm:ss.SSS"+c)},ln.toJSON=function(){return this.isValid()?this.toISOString():null},ln.toString=function(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")},ln.unix=function(){return Math.floor(this.valueOf()/1e3)},ln.valueOf=function(){return this._d.valueOf()-6e4*(this._offset||0)},ln.creationData=function(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}},ln.year=qe,ln.isLeapYear=function(){return ke(this.year())},ln.weekYear=function(e){return cn.call(this,e,this.week(),this.weekday(),this.localeData()._week.dow,this.localeData()._week.doy)},ln.isoWeekYear=function(e){return cn.call(this,e,this.isoWeek(),this.isoWeekday(),1,4)},ln.quarter=ln.quarters=function(e){return null==e?Math.ceil((this.month()+1)/3):this.month(3*(e-1)+this.month()%3)},ln.month=xe,ln.daysInMonth=function(){return we(this.year(),this.month())},ln.week=ln.weeks=function(e){var t=this.localeData().week(this);return null==e?t:this.add(7*(e-t),"d")},ln.isoWeek=ln.isoWeeks=function(e){var t=Ie(this,1,4).week;return null==e?t:this.add(7*(e-t),"d")},ln.weeksInYear=function(){var e=this.localeData()._week;return Ue(this.year(),e.dow,e.doy)},ln.isoWeeksInYear=function(){return Ue(this.year(),1,4)},ln.date=on,ln.day=ln.days=function(e){if(!this.isValid())return null!=e?this:NaN;var t=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=e?(e=function(e,t){return"string"!=typeof e?e:isNaN(e)?"number"==typeof(e=t.weekdaysParse(e))?e:null:parseInt(e,10)}(e,this.localeData()),this.add(e-t,"d")):t},ln.weekday=function(e){if(!this.isValid())return null!=e?this:NaN;var t=(this.day()+7-this.localeData()._week.dow)%7;return null==e?t:this.add(e-t,"d")},ln.isoWeekday=function(e){if(!this.isValid())return null!=e?this:NaN;if(null!=e){var t=function(e,t){return"string"==typeof e?t.weekdaysParse(e)%7||7:isNaN(e)?null:e}(e,this.localeData());return this.day(this.day()%7?t:t-7)}return this.day()||7},ln.dayOfYear=function(e){var t=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==e?t:this.add(e-t,"d")},ln.hour=ln.hours=ct,ln.minute=ln.minutes=rn,ln.second=ln.seconds=dn,ln.millisecond=ln.milliseconds=un,ln.utcOffset=function(e,t,n){var a,o=this._offset||0;if(!this.isValid())return null!=e?this:NaN;if(null!=e){if("string"==typeof e){if(null===(e=jt(re,e)))return this}else Math.abs(e)<16&&!n&&(e*=60);return!this._isUTC&&t&&(a=Ct(this)),this._offset=e,this._isUTC=!0,null!=a&&this.add(a,"m"),o!==e&&(!t||this._changeInProgress?Vt(this,Ut(e-o,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,c.updateOffset(this,!0),this._changeInProgress=null)),this}return this._isUTC?o:Ct(this)},ln.utc=function(e){return this.utcOffset(0,e)},ln.local=function(e){return this._isUTC&&(this.utcOffset(0,e),this._isUTC=!1,e&&this.subtract(Ct(this),"m")),this},ln.parseZone=function(){if(null!=this._tzm)this.utcOffset(this._tzm,!1,!0);else if("string"==typeof this._i){var e=jt(ie,this._i);null!=e?this.utcOffset(e):this.utcOffset(0,!0)}return this},ln.hasAlignedHourOffset=function(e){return!!this.isValid()&&(e=e?Nt(e).utcOffset():0,(this.utcOffset()-e)%60==0)},ln.isDST=function(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()},ln.isLocal=function(){return!!this.isValid()&&!this._isUTC},ln.isUtcOffset=function(){return!!this.isValid()&&this._isUTC},ln.isUtc=Rt,ln.isUTC=Rt,ln.zoneAbbr=function(){return this._isUTC?"UTC":""},ln.zoneName=function(){return this._isUTC?"Coordinated Universal Time":""},ln.dates=g("dates accessor is deprecated. Use date instead.",on),ln.months=g("months accessor is deprecated. Use month instead",xe),ln.years=g("years accessor is deprecated. Use year instead",qe),ln.zone=g("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",function(e,t){return null!=e?("string"!=typeof e&&(e=-e),this.utcOffset(e,t),this):-this.utcOffset()}),ln.isDSTShifted=g("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",function(){if(!r(this._isDSTShifted))return this._isDSTShifted;var e={};if(L(e,this),(e=Dt(e))._a){var t=e._isUTC?_(e._a):Nt(e._a);this._isDSTShifted=this.isValid()&&O(e._a,t.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted});var pn=v.prototype;function mn(e,t,n,a){var c=lt(),o=_().set(a,t);return c[n](o,e)}function fn(e,t,n){if(s(e)&&(t=e,e=void 0),e=e||"",null!=t)return mn(e,t,n,"month");var a,c=[];for(a=0;a<12;a++)c[a]=mn(e,a,n,"month");return c}function bn(e,t,n,a){"boolean"==typeof e?(s(t)&&(n=t,t=void 0),t=t||""):(n=t=e,e=!1,s(t)&&(n=t,t=void 0),t=t||"");var c,o=lt(),i=e?o._week.dow:0;if(null!=n)return mn(t,(n+i)%7,a,"day");var r=[];for(c=0;c<7;c++)r[c]=mn(t,(c+i)%7,a,"day");return r}pn.calendar=function(e,t,n){var a=this._calendar[e]||this._calendar.sameElse;return N(a)?a.call(t,n):a},pn.longDateFormat=function(e){var t=this._longDateFormat[e],n=this._longDateFormat[e.toUpperCase()];return t||!n?t:(this._longDateFormat[e]=n.replace(/MMMM|MM|DD|dddd/g,function(e){return e.slice(1)}),this._longDateFormat[e])},pn.invalidDate=function(){return this._invalidDate},pn.ordinal=function(e){return this._ordinal.replace("%d",e)},pn.preparse=_n,pn.postformat=_n,pn.relativeTime=function(e,t,n,a){var c=this._relativeTime[n];return N(c)?c(e,t,n,a):c.replace(/%d/i,e)},pn.pastFuture=function(e,t){var n=this._relativeTime[e>0?"future":"past"];return N(n)?n(t):n.replace(/%s/i,t)},pn.set=function(e){var t,n;for(n in e)N(t=e[n])?this[n]=t:this["_"+n]=t;this._config=e,this._dayOfMonthOrdinalParseLenient=new RegExp((this._dayOfMonthOrdinalParse.source||this._ordinalParse.source)+"|"+/\d{1,2}/.source)},pn.months=function(e,t){return e?o(this._months)?this._months[e.month()]:this._months[(this._months.isFormat||Se).test(t)?"format":"standalone"][e.month()]:o(this._months)?this._months:this._months.standalone},pn.monthsShort=function(e,t){return e?o(this._monthsShort)?this._monthsShort[e.month()]:this._monthsShort[Se.test(t)?"format":"standalone"][e.month()]:o(this._monthsShort)?this._monthsShort:this._monthsShort.standalone},pn.monthsParse=function(e,t,n){var a,c,o;if(this._monthsParseExact)return function(e,t,n){var a,c,o,i=e.toLocaleLowerCase();if(!this._monthsParse)for(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[],a=0;a<12;++a)o=_([2e3,a]),this._shortMonthsParse[a]=this.monthsShort(o,"").toLocaleLowerCase(),this._longMonthsParse[a]=this.months(o,"").toLocaleLowerCase();return n?"MMM"===t?-1!==(c=De.call(this._shortMonthsParse,i))?c:null:-1!==(c=De.call(this._longMonthsParse,i))?c:null:"MMM"===t?-1!==(c=De.call(this._shortMonthsParse,i))?c:-1!==(c=De.call(this._longMonthsParse,i))?c:null:-1!==(c=De.call(this._longMonthsParse,i))?c:-1!==(c=De.call(this._shortMonthsParse,i))?c:null}.call(this,e,t,n);for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),a=0;a<12;a++){if(c=_([2e3,a]),n&&!this._longMonthsParse[a]&&(this._longMonthsParse[a]=new RegExp("^"+this.months(c,"").replace(".","")+"$","i"),this._shortMonthsParse[a]=new RegExp("^"+this.monthsShort(c,"").replace(".","")+"$","i")),n||this._monthsParse[a]||(o="^"+this.months(c,"")+"|^"+this.monthsShort(c,""),this._monthsParse[a]=new RegExp(o.replace(".",""),"i")),n&&"MMMM"===t&&this._longMonthsParse[a].test(e))return a;if(n&&"MMM"===t&&this._shortMonthsParse[a].test(e))return a;if(!n&&this._monthsParse[a].test(e))return a}},pn.monthsRegex=function(e){return this._monthsParseExact?(u(this,"_monthsRegex")||Pe.call(this),e?this._monthsStrictRegex:this._monthsRegex):(u(this,"_monthsRegex")||(this._monthsRegex=je),this._monthsStrictRegex&&e?this._monthsStrictRegex:this._monthsRegex)},pn.monthsShortRegex=function(e){return this._monthsParseExact?(u(this,"_monthsRegex")||Pe.call(this),e?this._monthsShortStrictRegex:this._monthsShortRegex):(u(this,"_monthsShortRegex")||(this._monthsShortRegex=Ee),this._monthsShortStrictRegex&&e?this._monthsShortStrictRegex:this._monthsShortRegex)},pn.week=function(e){return Ie(e,this._week.dow,this._week.doy).week},pn.firstDayOfYear=function(){return this._week.doy},pn.firstDayOfWeek=function(){return this._week.dow},pn.weekdays=function(e,t){return e?o(this._weekdays)?this._weekdays[e.day()]:this._weekdays[this._weekdays.isFormat.test(t)?"format":"standalone"][e.day()]:o(this._weekdays)?this._weekdays:this._weekdays.standalone},pn.weekdaysMin=function(e){return e?this._weekdaysMin[e.day()]:this._weekdaysMin},pn.weekdaysShort=function(e){return e?this._weekdaysShort[e.day()]:this._weekdaysShort},pn.weekdaysParse=function(e,t,n){var a,c,o;if(this._weekdaysParseExact)return function(e,t,n){var a,c,o,i=e.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],a=0;a<7;++a)o=_([2e3,1]).day(a),this._minWeekdaysParse[a]=this.weekdaysMin(o,"").toLocaleLowerCase(),this._shortWeekdaysParse[a]=this.weekdaysShort(o,"").toLocaleLowerCase(),this._weekdaysParse[a]=this.weekdays(o,"").toLocaleLowerCase();return n?"dddd"===t?-1!==(c=De.call(this._weekdaysParse,i))?c:null:"ddd"===t?-1!==(c=De.call(this._shortWeekdaysParse,i))?c:null:-1!==(c=De.call(this._minWeekdaysParse,i))?c:null:"dddd"===t?-1!==(c=De.call(this._weekdaysParse,i))?c:-1!==(c=De.call(this._shortWeekdaysParse,i))?c:-1!==(c=De.call(this._minWeekdaysParse,i))?c:null:"ddd"===t?-1!==(c=De.call(this._shortWeekdaysParse,i))?c:-1!==(c=De.call(this._weekdaysParse,i))?c:-1!==(c=De.call(this._minWeekdaysParse,i))?c:null:-1!==(c=De.call(this._minWeekdaysParse,i))?c:-1!==(c=De.call(this._weekdaysParse,i))?c:-1!==(c=De.call(this._shortWeekdaysParse,i))?c:null}.call(this,e,t,n);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),a=0;a<7;a++){if(c=_([2e3,1]).day(a),n&&!this._fullWeekdaysParse[a]&&(this._fullWeekdaysParse[a]=new RegExp("^"+this.weekdays(c,"").replace(".","\\.?")+"$","i"),this._shortWeekdaysParse[a]=new RegExp("^"+this.weekdaysShort(c,"").replace(".","\\.?")+"$","i"),this._minWeekdaysParse[a]=new RegExp("^"+this.weekdaysMin(c,"").replace(".","\\.?")+"$","i")),this._weekdaysParse[a]||(o="^"+this.weekdays(c,"")+"|^"+this.weekdaysShort(c,"")+"|^"+this.weekdaysMin(c,""),this._weekdaysParse[a]=new RegExp(o.replace(".",""),"i")),n&&"dddd"===t&&this._fullWeekdaysParse[a].test(e))return a;if(n&&"ddd"===t&&this._shortWeekdaysParse[a].test(e))return a;if(n&&"dd"===t&&this._minWeekdaysParse[a].test(e))return a;if(!n&&this._weekdaysParse[a].test(e))return a}},pn.weekdaysRegex=function(e){return this._weekdaysParseExact?(u(this,"_weekdaysRegex")||$e.call(this),e?this._weekdaysStrictRegex:this._weekdaysRegex):(u(this,"_weekdaysRegex")||(this._weekdaysRegex=Ve),this._weekdaysStrictRegex&&e?this._weekdaysStrictRegex:this._weekdaysRegex)},pn.weekdaysShortRegex=function(e){return this._weekdaysParseExact?(u(this,"_weekdaysRegex")||$e.call(this),e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(u(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=Qe),this._weekdaysShortStrictRegex&&e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)},pn.weekdaysMinRegex=function(e){return this._weekdaysParseExact?(u(this,"_weekdaysRegex")||$e.call(this),e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(u(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=Ze),this._weekdaysMinStrictRegex&&e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)},pn.isPM=function(e){return"p"===(e+"").toLowerCase().charAt(0)},pn.meridiem=function(e,t,n){return e>11?n?"pm":"PM":n?"am":"AM"},Mt("en",{dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(e){var t=e%10,n=1===T(e%100/10)?"th":1===t?"st":2===t?"nd":3===t?"rd":"th";return e+n}}),c.lang=g("moment.lang is deprecated. Use moment.locale instead.",Mt),c.langData=g("moment.langData is deprecated. Use moment.localeData instead.",lt);var Ln=Math.abs;function hn(e,t,n,a){var c=Ut(t,n);return e._milliseconds+=a*c._milliseconds,e._days+=a*c._days,e._months+=a*c._months,e._bubble()}function zn(e){return e<0?Math.floor(e):Math.ceil(e)}function An(e){return 4800*e/146097}function yn(e){return 146097*e/4800}function Tn(e){return function(){return this.as(e)}}var On=Tn("ms"),Yn=Tn("s"),gn=Tn("m"),kn=Tn("h"),Dn=Tn("d"),qn=Tn("w"),Nn=Tn("M"),Wn=Tn("y");function vn(e){return function(){return this.isValid()?this._data[e]:NaN}}var wn=vn("milliseconds"),Sn=vn("seconds"),Xn=vn("minutes"),Bn=vn("hours"),Hn=vn("days"),xn=vn("months"),En=vn("years"),jn=Math.round,Pn={ss:44,s:45,m:45,h:22,d:26,M:11},Cn=Math.abs;function Rn(e){return(e>0)-(e<0)||+e}function Fn(){if(!this.isValid())return this.localeData().invalidDate();var e,t,n=Cn(this._milliseconds)/1e3,a=Cn(this._days),c=Cn(this._months);e=y(n/60),t=y(e/60),n%=60,e%=60;var o=y(c/12),i=c%=12,r=a,s=t,d=e,M=n?n.toFixed(3).replace(/\.?0+$/,""):"",u=this.asSeconds();if(!u)return"P0D";var l=u<0?"-":"",_=Rn(this._months)!==Rn(u)?"-":"",p=Rn(this._days)!==Rn(u)?"-":"",m=Rn(this._milliseconds)!==Rn(u)?"-":"";return l+"P"+(o?_+o+"Y":"")+(i?_+i+"M":"")+(r?p+r+"D":"")+(s||d||M?"T":"")+(s?m+s+"H":"")+(d?m+d+"M":"")+(M?m+M+"S":"")}var In=Xt.prototype;return In.isValid=function(){return this._isValid},In.abs=function(){var e=this._data;return this._milliseconds=Ln(this._milliseconds),this._days=Ln(this._days),this._months=Ln(this._months),e.milliseconds=Ln(e.milliseconds),e.seconds=Ln(e.seconds),e.minutes=Ln(e.minutes),e.hours=Ln(e.hours),e.months=Ln(e.months),e.years=Ln(e.years),this},In.add=function(e,t){return hn(this,e,t,1)},In.subtract=function(e,t){return hn(this,e,t,-1)},In.as=function(e){if(!this.isValid())return NaN;var t,n,a=this._milliseconds;if("month"===(e=X(e))||"year"===e)return t=this._days+a/864e5,n=this._months+An(t),"month"===e?n:n/12;switch(t=this._days+Math.round(yn(this._months)),e){case"week":return t/7+a/6048e5;case"day":return t+a/864e5;case"hour":return 24*t+a/36e5;case"minute":return 1440*t+a/6e4;case"second":return 86400*t+a/1e3;case"millisecond":return Math.floor(864e5*t)+a;default:throw new Error("Unknown unit "+e)}},In.asMilliseconds=On,In.asSeconds=Yn,In.asMinutes=gn,In.asHours=kn,In.asDays=Dn,In.asWeeks=qn,In.asMonths=Nn,In.asYears=Wn,In.valueOf=function(){return this.isValid()?this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*T(this._months/12):NaN},In._bubble=function(){var e,t,n,a,c,o=this._milliseconds,i=this._days,r=this._months,s=this._data;return o>=0&&i>=0&&r>=0||o<=0&&i<=0&&r<=0||(o+=864e5*zn(yn(r)+i),i=0,r=0),s.milliseconds=o%1e3,e=y(o/1e3),s.seconds=e%60,t=y(e/60),s.minutes=t%60,n=y(t/60),s.hours=n%24,i+=y(n/24),c=y(An(i)),r+=c,i-=zn(yn(c)),a=y(r/12),r%=12,s.days=i,s.months=r,s.years=a,this},In.clone=function(){return Ut(this)},In.get=function(e){return e=X(e),this.isValid()?this[e+"s"]():NaN},In.milliseconds=wn,In.seconds=Sn,In.minutes=Xn,In.hours=Bn,In.days=Hn,In.weeks=function(){return y(this.days()/7)},In.months=xn,In.years=En,In.humanize=function(e){if(!this.isValid())return this.localeData().invalidDate();var t=this.localeData(),n=function(e,t,n){var a=Ut(e).abs(),c=jn(a.as("s")),o=jn(a.as("m")),i=jn(a.as("h")),r=jn(a.as("d")),s=jn(a.as("M")),d=jn(a.as("y")),M=c<=Pn.ss&&["s",c]||c0,M[4]=n,function(e,t,n,a,c){return c.relativeTime(t||1,!!n,e,a)}.apply(null,M)}(this,!e,t);return e&&(n=t.pastFuture(+this,n)),t.postformat(n)},In.toISOString=Fn,In.toString=Fn,In.toJSON=Fn,In.locale=en,In.localeData=nn,In.toIsoString=g("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",Fn),In.lang=tn,F("X",0,0,"unix"),F("x",0,0,"valueOf"),Me("x",oe),Me("X",/[+-]?\d+(\.\d{1,3})?/),pe("X",function(e,t,n){n._d=new Date(1e3*parseFloat(e,10))}),pe("x",function(e,t,n){n._d=new Date(T(e))}),c.version="2.22.2",t=Nt,c.fn=ln,c.min=function(){return wt("isBefore",[].slice.call(arguments,0))},c.max=function(){return wt("isAfter",[].slice.call(arguments,0))},c.now=function(){return Date.now?Date.now():+new Date},c.utc=_,c.unix=function(e){return Nt(1e3*e)},c.months=function(e,t){return fn(e,t,"months")},c.isDate=d,c.locale=Mt,c.invalid=f,c.duration=Ut,c.isMoment=A,c.weekdays=function(e,t,n){return bn(e,t,n,"weekdays")},c.parseZone=function(){return Nt.apply(null,arguments).parseZone()},c.localeData=lt,c.isDuration=Bt,c.monthsShort=function(e,t){return fn(e,t,"monthsShort")},c.weekdaysMin=function(e,t,n){return bn(e,t,n,"weekdaysMin")},c.defineLocale=ut,c.updateLocale=function(e,t){if(null!=t){var n,a,c=ot;null!=(a=dt(e))&&(c=a._config),t=W(c,t),(n=new v(t)).parentLocale=it[e],it[e]=n,Mt(e)}else null!=it[e]&&(null!=it[e].parentLocale?it[e]=it[e].parentLocale:null!=it[e]&&delete it[e]);return it[e]},c.locales=function(){return k(it)},c.weekdaysShort=function(e,t,n){return bn(e,t,n,"weekdaysShort")},c.normalizeUnits=X,c.relativeTimeRounding=function(e){return void 0===e?jn:"function"==typeof e&&(jn=e,!0)},c.relativeTimeThreshold=function(e,t){return void 0!==Pn[e]&&(void 0===t?Pn[e]:(Pn[e]=t,"s"===e&&(Pn.ss=t-1),!0))},c.calendarFormat=function(e,t){var n=e.diff(t,"days",!0);return n<-6?"sameElse":n<-1?"lastWeek":n<0?"lastDay":n<1?"sameDay":n<2?"nextDay":n<7?"nextWeek":"sameElse"},c.prototype=ln,c.HTML5_FMT={DATETIME_LOCAL:"YYYY-MM-DDTHH:mm",DATETIME_LOCAL_SECONDS:"YYYY-MM-DDTHH:mm:ss",DATETIME_LOCAL_MS:"YYYY-MM-DDTHH:mm:ss.SSS",DATE:"YYYY-MM-DD",TIME:"HH:mm",TIME_SECONDS:"HH:mm:ss",TIME_MS:"HH:mm:ss.SSS",WEEK:"YYYY-[W]WW",MONTH:"YYYY-MM"},c}()}).call(this,n(145)(e))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.each=function(e,t,n){var a;if(!e)return 0;if(n=n||e,e instanceof Array){for(a=0;a=1e15)return t;return e>=1||e<=-1?(e<0&&(e=-e,n="-"),n+function e(t,n){var t=String(t);var c=t.split(".");if(c.length>1){t=c[0];var o=c[1];2==t.length&&o.length>0?o.length>0?t=t+"."+o.charAt(0):t+="0":1==t.length&&o.length>0&&(t=t+"."+o.charAt(0),o.length>1?t+=o.charAt(1):t+="0")}var i=t.length;t.split(".").length>1&&i--;return i<=3?String(t)+a[n]:e(Number(t)/1e3,n+1)}(e,0)):e.toPrecision(3)}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.escapeHtml=function(e){var t,n=""+e,c=a.exec(n);if(!c)return n;var o="",i=0,r=0;for(i=c.index;i]/},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.textWrap=function(e,t){e.each(function(){for(var e=a.select(this),n=e.text().split(/\s+/).reverse(),c=void 0,o=[],i=0,r=e.attr("x"),s=e.attr("y"),d=e.text(null).append("tspan").attr("x",r).attr("y",s).attr("dy","0em");c=n.pop();)o.push(c),d.text(o.join(" ")),d.node().getComputedTextLength()>t&&(o.pop(),d.text(o.join(" ")),o=[c],d=e.append("tspan").attr("x",r).attr("y",s).attr("dy",1.1*++i+0+"em").text(c))})};var a=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(2))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.extend=function(e){for(var t=1;t]+)>)/gi,"")}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){for(var t=[],n=0;n0&&(void 0===(c=t.call(n,e,a))&&(c=null),n.matrix[a].push(c))})):(!t||t instanceof Array)&&((t=t||[]).length<=n.matrix.length-1?t=t.concat((0,o.default)(n.matrix.length-1-t.length)):(0,i.each)(t,function(e,a){n.matrix.length-10&&(o=n.selectColumn(a),void 0===(i=t.call(n,o,a))&&(i=null),c.push(i))}),n.matrix.push(c)):(!t||t instanceof Array)&&((t=t||[]).length<=n.matrix[0].length-1?t=t.concat((0,o.default)(n.matrix[0].length-1-t.length)):(0,i.each)(t,function(e,a){n.matrix[0].length-1=11?e:e+12:"下午"===t||"晚上"===t?e+12:void 0},meridiem:function(e,t,n){var a=100*e+t;return a<600?"凌晨":a<900?"早上":a<1130?"上午":a<1230?"中午":a<1800?"下午":"晚上"},calendar:{sameDay:"[今天] LT",nextDay:"[明天] LT",nextWeek:"[下]dddd LT",lastDay:"[昨天] LT",lastWeek:"[上]dddd LT",sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}(日|月|週)/,ordinal:function(e,t){switch(t){case"d":case"D":case"DDD":return e+"日";case"M":return e+"月";case"w":case"W":return e+"週";default:return e}},relativeTime:{future:"%s內",past:"%s前",s:"幾秒",ss:"%d 秒",m:"1 分鐘",mm:"%d 分鐘",h:"1 小時",hh:"%d 小時",d:"1 天",dd:"%d 天",M:"1 個月",MM:"%d 個月",y:"1 年",yy:"%d 年"}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("zh-hk",{months:"一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),weekdays:"星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"),weekdaysShort:"週日_週一_週二_週三_週四_週五_週六".split("_"),weekdaysMin:"日_一_二_三_四_五_六".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY年M月D日",LLL:"YYYY年M月D日 HH:mm",LLLL:"YYYY年M月D日dddd HH:mm",l:"YYYY/M/D",ll:"YYYY年M月D日",lll:"YYYY年M月D日 HH:mm",llll:"YYYY年M月D日dddd HH:mm"},meridiemParse:/凌晨|早上|上午|中午|下午|晚上/,meridiemHour:function(e,t){return 12===e&&(e=0),"凌晨"===t||"早上"===t||"上午"===t?e:"中午"===t?e>=11?e:e+12:"下午"===t||"晚上"===t?e+12:void 0},meridiem:function(e,t,n){var a=100*e+t;return a<600?"凌晨":a<900?"早上":a<1130?"上午":a<1230?"中午":a<1800?"下午":"晚上"},calendar:{sameDay:"[今天]LT",nextDay:"[明天]LT",nextWeek:"[下]ddddLT",lastDay:"[昨天]LT",lastWeek:"[上]ddddLT",sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}(日|月|週)/,ordinal:function(e,t){switch(t){case"d":case"D":case"DDD":return e+"日";case"M":return e+"月";case"w":case"W":return e+"週";default:return e}},relativeTime:{future:"%s內",past:"%s前",s:"幾秒",ss:"%d 秒",m:"1 分鐘",mm:"%d 分鐘",h:"1 小時",hh:"%d 小時",d:"1 天",dd:"%d 天",M:"1 個月",MM:"%d 個月",y:"1 年",yy:"%d 年"}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("zh-cn",{months:"一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),weekdays:"星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"),weekdaysShort:"周日_周一_周二_周三_周四_周五_周六".split("_"),weekdaysMin:"日_一_二_三_四_五_六".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY年M月D日",LLL:"YYYY年M月D日Ah点mm分",LLLL:"YYYY年M月D日ddddAh点mm分",l:"YYYY/M/D",ll:"YYYY年M月D日",lll:"YYYY年M月D日 HH:mm",llll:"YYYY年M月D日dddd HH:mm"},meridiemParse:/凌晨|早上|上午|中午|下午|晚上/,meridiemHour:function(e,t){return 12===e&&(e=0),"凌晨"===t||"早上"===t||"上午"===t?e:"下午"===t||"晚上"===t?e+12:e>=11?e:e+12},meridiem:function(e,t,n){var a=100*e+t;return a<600?"凌晨":a<900?"早上":a<1130?"上午":a<1230?"中午":a<1800?"下午":"晚上"},calendar:{sameDay:"[今天]LT",nextDay:"[明天]LT",nextWeek:"[下]ddddLT",lastDay:"[昨天]LT",lastWeek:"[上]ddddLT",sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}(日|月|周)/,ordinal:function(e,t){switch(t){case"d":case"D":case"DDD":return e+"日";case"M":return e+"月";case"w":case"W":return e+"周";default:return e}},relativeTime:{future:"%s内",past:"%s前",s:"几秒",ss:"%d 秒",m:"1 分钟",mm:"%d 分钟",h:"1 小时",hh:"%d 小时",d:"1 天",dd:"%d 天",M:"1 个月",MM:"%d 个月",y:"1 年",yy:"%d 年"},week:{dow:1,doy:4}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("yo",{months:"Sẹ́rẹ́_Èrèlè_Ẹrẹ̀nà_Ìgbé_Èbibi_Òkùdu_Agẹmo_Ògún_Owewe_Ọ̀wàrà_Bélú_Ọ̀pẹ̀̀".split("_"),monthsShort:"Sẹ́r_Èrl_Ẹrn_Ìgb_Èbi_Òkù_Agẹ_Ògú_Owe_Ọ̀wà_Bél_Ọ̀pẹ̀̀".split("_"),weekdays:"Àìkú_Ajé_Ìsẹ́gun_Ọjọ́rú_Ọjọ́bọ_Ẹtì_Àbámẹ́ta".split("_"),weekdaysShort:"Àìk_Ajé_Ìsẹ́_Ọjr_Ọjb_Ẹtì_Àbá".split("_"),weekdaysMin:"Àì_Aj_Ìs_Ọr_Ọb_Ẹt_Àb".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Ònì ni] LT",nextDay:"[Ọ̀la ni] LT",nextWeek:"dddd [Ọsẹ̀ tón'bọ] [ni] LT",lastDay:"[Àna ni] LT",lastWeek:"dddd [Ọsẹ̀ tólọ́] [ni] LT",sameElse:"L"},relativeTime:{future:"ní %s",past:"%s kọjá",s:"ìsẹjú aayá die",ss:"aayá %d",m:"ìsẹjú kan",mm:"ìsẹjú %d",h:"wákati kan",hh:"wákati %d",d:"ọjọ́ kan",dd:"ọjọ́ %d",M:"osù kan",MM:"osù %d",y:"ọdún kan",yy:"ọdún %d"},dayOfMonthOrdinalParse:/ọjọ́\s\d{1,2}/,ordinal:"ọjọ́ %d",week:{dow:1,doy:4}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("x-pseudo",{months:"J~áñúá~rý_F~ébrú~árý_~Márc~h_Áp~ríl_~Máý_~Júñé~_Júl~ý_Áú~gúst~_Sép~témb~ér_Ó~ctób~ér_Ñ~óvém~bér_~Décé~mbér".split("_"),monthsShort:"J~áñ_~Féb_~Már_~Ápr_~Máý_~Júñ_~Júl_~Áúg_~Sép_~Óct_~Ñóv_~Déc".split("_"),monthsParseExact:!0,weekdays:"S~úñdá~ý_Mó~ñdáý~_Túé~sdáý~_Wéd~ñésd~áý_T~húrs~dáý_~Fríd~áý_S~átúr~dáý".split("_"),weekdaysShort:"S~úñ_~Móñ_~Túé_~Wéd_~Thú_~Frí_~Sát".split("_"),weekdaysMin:"S~ú_Mó~_Tú_~Wé_T~h_Fr~_Sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[T~ódá~ý át] LT",nextDay:"[T~ómó~rró~w át] LT",nextWeek:"dddd [át] LT",lastDay:"[Ý~ést~érdá~ý át] LT",lastWeek:"[L~ást] dddd [át] LT",sameElse:"L"},relativeTime:{future:"í~ñ %s",past:"%s á~gó",s:"á ~féw ~sécó~ñds",ss:"%d s~écóñ~ds",m:"á ~míñ~úté",mm:"%d m~íñú~tés",h:"á~ñ hó~úr",hh:"%d h~óúrs",d:"á ~dáý",dd:"%d d~áýs",M:"á ~móñ~th",MM:"%d m~óñt~hs",y:"á ~ýéár",yy:"%d ý~éárs"},dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(e){var t=e%10,n=1==~~(e%100/10)?"th":1===t?"st":2===t?"nd":3===t?"rd":"th";return e+n},week:{dow:1,doy:4}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("vi",{months:"tháng 1_tháng 2_tháng 3_tháng 4_tháng 5_tháng 6_tháng 7_tháng 8_tháng 9_tháng 10_tháng 11_tháng 12".split("_"),monthsShort:"Th01_Th02_Th03_Th04_Th05_Th06_Th07_Th08_Th09_Th10_Th11_Th12".split("_"),monthsParseExact:!0,weekdays:"chủ nhật_thứ hai_thứ ba_thứ tư_thứ năm_thứ sáu_thứ bảy".split("_"),weekdaysShort:"CN_T2_T3_T4_T5_T6_T7".split("_"),weekdaysMin:"CN_T2_T3_T4_T5_T6_T7".split("_"),weekdaysParseExact:!0,meridiemParse:/sa|ch/i,isPM:function(e){return/^ch$/i.test(e)},meridiem:function(e,t,n){return e<12?n?"sa":"SA":n?"ch":"CH"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM [năm] YYYY",LLL:"D MMMM [năm] YYYY HH:mm",LLLL:"dddd, D MMMM [năm] YYYY HH:mm",l:"DD/M/YYYY",ll:"D MMM YYYY",lll:"D MMM YYYY HH:mm",llll:"ddd, D MMM YYYY HH:mm"},calendar:{sameDay:"[Hôm nay lúc] LT",nextDay:"[Ngày mai lúc] LT",nextWeek:"dddd [tuần tới lúc] LT",lastDay:"[Hôm qua lúc] LT",lastWeek:"dddd [tuần rồi lúc] LT",sameElse:"L"},relativeTime:{future:"%s tới",past:"%s trước",s:"vài giây",ss:"%d giây",m:"một phút",mm:"%d phút",h:"một giờ",hh:"%d giờ",d:"một ngày",dd:"%d ngày",M:"một tháng",MM:"%d tháng",y:"một năm",yy:"%d năm"},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:function(e){return e},week:{dow:1,doy:4}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("uz-latn",{months:"Yanvar_Fevral_Mart_Aprel_May_Iyun_Iyul_Avgust_Sentabr_Oktabr_Noyabr_Dekabr".split("_"),monthsShort:"Yan_Fev_Mar_Apr_May_Iyun_Iyul_Avg_Sen_Okt_Noy_Dek".split("_"),weekdays:"Yakshanba_Dushanba_Seshanba_Chorshanba_Payshanba_Juma_Shanba".split("_"),weekdaysShort:"Yak_Dush_Sesh_Chor_Pay_Jum_Shan".split("_"),weekdaysMin:"Ya_Du_Se_Cho_Pa_Ju_Sha".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"D MMMM YYYY, dddd HH:mm"},calendar:{sameDay:"[Bugun soat] LT [da]",nextDay:"[Ertaga] LT [da]",nextWeek:"dddd [kuni soat] LT [da]",lastDay:"[Kecha soat] LT [da]",lastWeek:"[O'tgan] dddd [kuni soat] LT [da]",sameElse:"L"},relativeTime:{future:"Yaqin %s ichida",past:"Bir necha %s oldin",s:"soniya",ss:"%d soniya",m:"bir daqiqa",mm:"%d daqiqa",h:"bir soat",hh:"%d soat",d:"bir kun",dd:"%d kun",M:"bir oy",MM:"%d oy",y:"bir yil",yy:"%d yil"},week:{dow:1,doy:7}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("uz",{months:"январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр".split("_"),monthsShort:"янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек".split("_"),weekdays:"Якшанба_Душанба_Сешанба_Чоршанба_Пайшанба_Жума_Шанба".split("_"),weekdaysShort:"Якш_Душ_Сеш_Чор_Пай_Жум_Шан".split("_"),weekdaysMin:"Як_Ду_Се_Чо_Па_Жу_Ша".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"D MMMM YYYY, dddd HH:mm"},calendar:{sameDay:"[Бугун соат] LT [да]",nextDay:"[Эртага] LT [да]",nextWeek:"dddd [куни соат] LT [да]",lastDay:"[Кеча соат] LT [да]",lastWeek:"[Утган] dddd [куни соат] LT [да]",sameElse:"L"},relativeTime:{future:"Якин %s ичида",past:"Бир неча %s олдин",s:"фурсат",ss:"%d фурсат",m:"бир дакика",mm:"%d дакика",h:"бир соат",hh:"%d соат",d:"бир кун",dd:"%d кун",M:"бир ой",MM:"%d ой",y:"бир йил",yy:"%d йил"},week:{dow:1,doy:7}})}(n(0))},function(e,t,n){!function(e){"use strict";var t=["جنوری","فروری","مارچ","اپریل","مئی","جون","جولائی","اگست","ستمبر","اکتوبر","نومبر","دسمبر"],n=["اتوار","پیر","منگل","بدھ","جمعرات","جمعہ","ہفتہ"];e.defineLocale("ur",{months:t,monthsShort:t,weekdays:n,weekdaysShort:n,weekdaysMin:n,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd، D MMMM YYYY HH:mm"},meridiemParse:/صبح|شام/,isPM:function(e){return"شام"===e},meridiem:function(e,t,n){return e<12?"صبح":"شام"},calendar:{sameDay:"[آج بوقت] LT",nextDay:"[کل بوقت] LT",nextWeek:"dddd [بوقت] LT",lastDay:"[گذشتہ روز بوقت] LT",lastWeek:"[گذشتہ] dddd [بوقت] LT",sameElse:"L"},relativeTime:{future:"%s بعد",past:"%s قبل",s:"چند سیکنڈ",ss:"%d سیکنڈ",m:"ایک منٹ",mm:"%d منٹ",h:"ایک گھنٹہ",hh:"%d گھنٹے",d:"ایک دن",dd:"%d دن",M:"ایک ماہ",MM:"%d ماہ",y:"ایک سال",yy:"%d سال"},preparse:function(e){return e.replace(/،/g,",")},postformat:function(e){return e.replace(/,/g,"،")},week:{dow:1,doy:4}})}(n(0))},function(e,t,n){!function(e){"use strict";function t(e,t,n){var a,c,o={ss:t?"секунда_секунди_секунд":"секунду_секунди_секунд",mm:t?"хвилина_хвилини_хвилин":"хвилину_хвилини_хвилин",hh:t?"година_години_годин":"годину_години_годин",dd:"день_дні_днів",MM:"місяць_місяці_місяців",yy:"рік_роки_років"};return"m"===n?t?"хвилина":"хвилину":"h"===n?t?"година":"годину":e+" "+(a=+e,c=o[n].split("_"),a%10==1&&a%100!=11?c[0]:a%10>=2&&a%10<=4&&(a%100<10||a%100>=20)?c[1]:c[2])}function n(e){return function(){return e+"о"+(11===this.hours()?"б":"")+"] LT"}}e.defineLocale("uk",{months:{format:"січня_лютого_березня_квітня_травня_червня_липня_серпня_вересня_жовтня_листопада_грудня".split("_"),standalone:"січень_лютий_березень_квітень_травень_червень_липень_серпень_вересень_жовтень_листопад_грудень".split("_")},monthsShort:"січ_лют_бер_квіт_трав_черв_лип_серп_вер_жовт_лист_груд".split("_"),weekdays:function(e,t){var n={nominative:"неділя_понеділок_вівторок_середа_четвер_п’ятниця_субота".split("_"),accusative:"неділю_понеділок_вівторок_середу_четвер_п’ятницю_суботу".split("_"),genitive:"неділі_понеділка_вівторка_середи_четверга_п’ятниці_суботи".split("_")};if(!e)return n.nominative;var a=/(\[[ВвУу]\]) ?dddd/.test(t)?"accusative":/\[?(?:минулої|наступної)? ?\] ?dddd/.test(t)?"genitive":"nominative";return n[a][e.day()]},weekdaysShort:"нд_пн_вт_ср_чт_пт_сб".split("_"),weekdaysMin:"нд_пн_вт_ср_чт_пт_сб".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY р.",LLL:"D MMMM YYYY р., HH:mm",LLLL:"dddd, D MMMM YYYY р., HH:mm"},calendar:{sameDay:n("[Сьогодні "),nextDay:n("[Завтра "),lastDay:n("[Вчора "),nextWeek:n("[У] dddd ["),lastWeek:function(){switch(this.day()){case 0:case 3:case 5:case 6:return n("[Минулої] dddd [").call(this);case 1:case 2:case 4:return n("[Минулого] dddd [").call(this)}},sameElse:"L"},relativeTime:{future:"за %s",past:"%s тому",s:"декілька секунд",ss:t,m:t,mm:t,h:"годину",hh:t,d:"день",dd:t,M:"місяць",MM:t,y:"рік",yy:t},meridiemParse:/ночі|ранку|дня|вечора/,isPM:function(e){return/^(дня|вечора)$/.test(e)},meridiem:function(e,t,n){return e<4?"ночі":e<12?"ранку":e<17?"дня":"вечора"},dayOfMonthOrdinalParse:/\d{1,2}-(й|го)/,ordinal:function(e,t){switch(t){case"M":case"d":case"DDD":case"w":case"W":return e+"-й";case"D":return e+"-го";default:return e}},week:{dow:1,doy:7}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("ug-cn",{months:"يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر".split("_"),monthsShort:"يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر".split("_"),weekdays:"يەكشەنبە_دۈشەنبە_سەيشەنبە_چارشەنبە_پەيشەنبە_جۈمە_شەنبە".split("_"),weekdaysShort:"يە_دۈ_سە_چا_پە_جۈ_شە".split("_"),weekdaysMin:"يە_دۈ_سە_چا_پە_جۈ_شە".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY-يىلىM-ئاينىڭD-كۈنى",LLL:"YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm",LLLL:"dddd، YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm"},meridiemParse:/يېرىم كېچە|سەھەر|چۈشتىن بۇرۇن|چۈش|چۈشتىن كېيىن|كەچ/,meridiemHour:function(e,t){return 12===e&&(e=0),"يېرىم كېچە"===t||"سەھەر"===t||"چۈشتىن بۇرۇن"===t?e:"چۈشتىن كېيىن"===t||"كەچ"===t?e+12:e>=11?e:e+12},meridiem:function(e,t,n){var a=100*e+t;return a<600?"يېرىم كېچە":a<900?"سەھەر":a<1130?"چۈشتىن بۇرۇن":a<1230?"چۈش":a<1800?"چۈشتىن كېيىن":"كەچ"},calendar:{sameDay:"[بۈگۈن سائەت] LT",nextDay:"[ئەتە سائەت] LT",nextWeek:"[كېلەركى] dddd [سائەت] LT",lastDay:"[تۆنۈگۈن] LT",lastWeek:"[ئالدىنقى] dddd [سائەت] LT",sameElse:"L"},relativeTime:{future:"%s كېيىن",past:"%s بۇرۇن",s:"نەچچە سېكونت",ss:"%d سېكونت",m:"بىر مىنۇت",mm:"%d مىنۇت",h:"بىر سائەت",hh:"%d سائەت",d:"بىر كۈن",dd:"%d كۈن",M:"بىر ئاي",MM:"%d ئاي",y:"بىر يىل",yy:"%d يىل"},dayOfMonthOrdinalParse:/\d{1,2}(-كۈنى|-ئاي|-ھەپتە)/,ordinal:function(e,t){switch(t){case"d":case"D":case"DDD":return e+"-كۈنى";case"w":case"W":return e+"-ھەپتە";default:return e}},preparse:function(e){return e.replace(/،/g,",")},postformat:function(e){return e.replace(/,/g,"،")},week:{dow:1,doy:7}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("tzm-latn",{months:"innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir".split("_"),monthsShort:"innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir".split("_"),weekdays:"asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas".split("_"),weekdaysShort:"asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas".split("_"),weekdaysMin:"asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[asdkh g] LT",nextDay:"[aska g] LT",nextWeek:"dddd [g] LT",lastDay:"[assant g] LT",lastWeek:"dddd [g] LT",sameElse:"L"},relativeTime:{future:"dadkh s yan %s",past:"yan %s",s:"imik",ss:"%d imik",m:"minuḍ",mm:"%d minuḍ",h:"saɛa",hh:"%d tassaɛin",d:"ass",dd:"%d ossan",M:"ayowr",MM:"%d iyyirn",y:"asgas",yy:"%d isgasn"},week:{dow:6,doy:12}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("tzm",{months:"ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ".split("_"),monthsShort:"ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ".split("_"),weekdays:"ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ".split("_"),weekdaysShort:"ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ".split("_"),weekdaysMin:"ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[ⴰⵙⴷⵅ ⴴ] LT",nextDay:"[ⴰⵙⴽⴰ ⴴ] LT",nextWeek:"dddd [ⴴ] LT",lastDay:"[ⴰⵚⴰⵏⵜ ⴴ] LT",lastWeek:"dddd [ⴴ] LT",sameElse:"L"},relativeTime:{future:"ⴷⴰⴷⵅ ⵙ ⵢⴰⵏ %s",past:"ⵢⴰⵏ %s",s:"ⵉⵎⵉⴽ",ss:"%d ⵉⵎⵉⴽ",m:"ⵎⵉⵏⵓⴺ",mm:"%d ⵎⵉⵏⵓⴺ",h:"ⵙⴰⵄⴰ",hh:"%d ⵜⴰⵙⵙⴰⵄⵉⵏ",d:"ⴰⵙⵙ",dd:"%d oⵙⵙⴰⵏ",M:"ⴰⵢoⵓⵔ",MM:"%d ⵉⵢⵢⵉⵔⵏ",y:"ⴰⵙⴳⴰⵙ",yy:"%d ⵉⵙⴳⴰⵙⵏ"},week:{dow:6,doy:12}})}(n(0))},function(e,t,n){!function(e){"use strict";function t(e,t,n,a){var c={s:["viensas secunds","'iensas secunds"],ss:[e+" secunds",e+" secunds"],m:["'n míut","'iens míut"],mm:[e+" míuts",e+" míuts"],h:["'n þora","'iensa þora"],hh:[e+" þoras",e+" þoras"],d:["'n ziua","'iensa ziua"],dd:[e+" ziuas",e+" ziuas"],M:["'n mes","'iens mes"],MM:[e+" mesen",e+" mesen"],y:["'n ar","'iens ar"],yy:[e+" ars",e+" ars"]};return a?c[n][0]:t?c[n][0]:c[n][1]}e.defineLocale("tzl",{months:"Januar_Fevraglh_Març_Avrïu_Mai_Gün_Julia_Guscht_Setemvar_Listopäts_Noemvar_Zecemvar".split("_"),monthsShort:"Jan_Fev_Mar_Avr_Mai_Gün_Jul_Gus_Set_Lis_Noe_Zec".split("_"),weekdays:"Súladi_Lúneçi_Maitzi_Márcuri_Xhúadi_Viénerçi_Sáturi".split("_"),weekdaysShort:"Súl_Lún_Mai_Már_Xhú_Vié_Sát".split("_"),weekdaysMin:"Sú_Lú_Ma_Má_Xh_Vi_Sá".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD.MM.YYYY",LL:"D. MMMM [dallas] YYYY",LLL:"D. MMMM [dallas] YYYY HH.mm",LLLL:"dddd, [li] D. MMMM [dallas] YYYY HH.mm"},meridiemParse:/d\'o|d\'a/i,isPM:function(e){return"d'o"===e.toLowerCase()},meridiem:function(e,t,n){return e>11?n?"d'o":"D'O":n?"d'a":"D'A"},calendar:{sameDay:"[oxhi à] LT",nextDay:"[demà à] LT",nextWeek:"dddd [à] LT",lastDay:"[ieiri à] LT",lastWeek:"[sür el] dddd [lasteu à] LT",sameElse:"L"},relativeTime:{future:"osprei %s",past:"ja%s",s:t,ss:t,m:t,mm:t,h:t,hh:t,d:t,dd:t,M:t,MM:t,y:t,yy:t},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n(0))},function(e,t,n){!function(e){"use strict";var t={1:"'inci",5:"'inci",8:"'inci",70:"'inci",80:"'inci",2:"'nci",7:"'nci",20:"'nci",50:"'nci",3:"'üncü",4:"'üncü",100:"'üncü",6:"'ncı",9:"'uncu",10:"'uncu",30:"'uncu",60:"'ıncı",90:"'ıncı"};e.defineLocale("tr",{months:"Ocak_Şubat_Mart_Nisan_Mayıs_Haziran_Temmuz_Ağustos_Eylül_Ekim_Kasım_Aralık".split("_"),monthsShort:"Oca_Şub_Mar_Nis_May_Haz_Tem_Ağu_Eyl_Eki_Kas_Ara".split("_"),weekdays:"Pazar_Pazartesi_Salı_Çarşamba_Perşembe_Cuma_Cumartesi".split("_"),weekdaysShort:"Paz_Pts_Sal_Çar_Per_Cum_Cts".split("_"),weekdaysMin:"Pz_Pt_Sa_Ça_Pe_Cu_Ct".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[bugün saat] LT",nextDay:"[yarın saat] LT",nextWeek:"[gelecek] dddd [saat] LT",lastDay:"[dün] LT",lastWeek:"[geçen] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s sonra",past:"%s önce",s:"birkaç saniye",ss:"%d saniye",m:"bir dakika",mm:"%d dakika",h:"bir saat",hh:"%d saat",d:"bir gün",dd:"%d gün",M:"bir ay",MM:"%d ay",y:"bir yıl",yy:"%d yıl"},ordinal:function(e,n){switch(n){case"d":case"D":case"Do":case"DD":return e;default:if(0===e)return e+"'ıncı";var a=e%10,c=e%100-a,o=e>=100?100:null;return e+(t[a]||t[c]||t[o])}},week:{dow:1,doy:7}})}(n(0))},function(e,t,n){!function(e){"use strict";var t="pagh_wa’_cha’_wej_loS_vagh_jav_Soch_chorgh_Hut".split("_");function n(e,n,a,c){var o=function(e){var n=Math.floor(e%1e3/100),a=Math.floor(e%100/10),c=e%10,o="";return n>0&&(o+=t[n]+"vatlh"),a>0&&(o+=(""!==o?" ":"")+t[a]+"maH"),c>0&&(o+=(""!==o?" ":"")+t[c]),""===o?"pagh":o}(e);switch(a){case"ss":return o+" lup";case"mm":return o+" tup";case"hh":return o+" rep";case"dd":return o+" jaj";case"MM":return o+" jar";case"yy":return o+" DIS"}}e.defineLocale("tlh",{months:"tera’ jar wa’_tera’ jar cha’_tera’ jar wej_tera’ jar loS_tera’ jar vagh_tera’ jar jav_tera’ jar Soch_tera’ jar chorgh_tera’ jar Hut_tera’ jar wa’maH_tera’ jar wa’maH wa’_tera’ jar wa’maH cha’".split("_"),monthsShort:"jar wa’_jar cha’_jar wej_jar loS_jar vagh_jar jav_jar Soch_jar chorgh_jar Hut_jar wa’maH_jar wa’maH wa’_jar wa’maH cha’".split("_"),monthsParseExact:!0,weekdays:"lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj".split("_"),weekdaysShort:"lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj".split("_"),weekdaysMin:"lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[DaHjaj] LT",nextDay:"[wa’leS] LT",nextWeek:"LLL",lastDay:"[wa’Hu’] LT",lastWeek:"LLL",sameElse:"L"},relativeTime:{future:function(e){var t=e;return t=-1!==e.indexOf("jaj")?t.slice(0,-3)+"leS":-1!==e.indexOf("jar")?t.slice(0,-3)+"waQ":-1!==e.indexOf("DIS")?t.slice(0,-3)+"nem":t+" pIq"},past:function(e){var t=e;return t=-1!==e.indexOf("jaj")?t.slice(0,-3)+"Hu’":-1!==e.indexOf("jar")?t.slice(0,-3)+"wen":-1!==e.indexOf("DIS")?t.slice(0,-3)+"ben":t+" ret"},s:"puS lup",ss:n,m:"wa’ tup",mm:n,h:"wa’ rep",hh:n,d:"wa’ jaj",dd:n,M:"wa’ jar",MM:n,y:"wa’ DIS",yy:n},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("tl-ph",{months:"Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre".split("_"),monthsShort:"Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis".split("_"),weekdays:"Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado".split("_"),weekdaysShort:"Lin_Lun_Mar_Miy_Huw_Biy_Sab".split("_"),weekdaysMin:"Li_Lu_Ma_Mi_Hu_Bi_Sab".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"MM/D/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY HH:mm",LLLL:"dddd, MMMM DD, YYYY HH:mm"},calendar:{sameDay:"LT [ngayong araw]",nextDay:"[Bukas ng] LT",nextWeek:"LT [sa susunod na] dddd",lastDay:"LT [kahapon]",lastWeek:"LT [noong nakaraang] dddd",sameElse:"L"},relativeTime:{future:"sa loob ng %s",past:"%s ang nakalipas",s:"ilang segundo",ss:"%d segundo",m:"isang minuto",mm:"%d minuto",h:"isang oras",hh:"%d oras",d:"isang araw",dd:"%d araw",M:"isang buwan",MM:"%d buwan",y:"isang taon",yy:"%d taon"},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:function(e){return e},week:{dow:1,doy:4}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("th",{months:"มกราคม_กุมภาพันธ์_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_กรกฎาคม_สิงหาคม_กันยายน_ตุลาคม_พฤศจิกายน_ธันวาคม".split("_"),monthsShort:"ม.ค._ก.พ._มี.ค._เม.ย._พ.ค._มิ.ย._ก.ค._ส.ค._ก.ย._ต.ค._พ.ย._ธ.ค.".split("_"),monthsParseExact:!0,weekdays:"อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัสบดี_ศุกร์_เสาร์".split("_"),weekdaysShort:"อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัส_ศุกร์_เสาร์".split("_"),weekdaysMin:"อา._จ._อ._พ._พฤ._ศ._ส.".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY เวลา H:mm",LLLL:"วันddddที่ D MMMM YYYY เวลา H:mm"},meridiemParse:/ก่อนเที่ยง|หลังเที่ยง/,isPM:function(e){return"หลังเที่ยง"===e},meridiem:function(e,t,n){return e<12?"ก่อนเที่ยง":"หลังเที่ยง"},calendar:{sameDay:"[วันนี้ เวลา] LT",nextDay:"[พรุ่งนี้ เวลา] LT",nextWeek:"dddd[หน้า เวลา] LT",lastDay:"[เมื่อวานนี้ เวลา] LT",lastWeek:"[วัน]dddd[ที่แล้ว เวลา] LT",sameElse:"L"},relativeTime:{future:"อีก %s",past:"%sที่แล้ว",s:"ไม่กี่วินาที",ss:"%d วินาที",m:"1 นาที",mm:"%d นาที",h:"1 ชั่วโมง",hh:"%d ชั่วโมง",d:"1 วัน",dd:"%d วัน",M:"1 เดือน",MM:"%d เดือน",y:"1 ปี",yy:"%d ปี"}})}(n(0))},function(e,t,n){!function(e){"use strict";var t={0:"-ум",1:"-ум",2:"-юм",3:"-юм",4:"-ум",5:"-ум",6:"-ум",7:"-ум",8:"-ум",9:"-ум",10:"-ум",12:"-ум",13:"-ум",20:"-ум",30:"-юм",40:"-ум",50:"-ум",60:"-ум",70:"-ум",80:"-ум",90:"-ум",100:"-ум"};e.defineLocale("tg",{months:"январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр".split("_"),monthsShort:"янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек".split("_"),weekdays:"якшанбе_душанбе_сешанбе_чоршанбе_панҷшанбе_ҷумъа_шанбе".split("_"),weekdaysShort:"яшб_дшб_сшб_чшб_пшб_ҷум_шнб".split("_"),weekdaysMin:"яш_дш_сш_чш_пш_ҷм_шб".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Имрӯз соати] LT",nextDay:"[Пагоҳ соати] LT",lastDay:"[Дирӯз соати] LT",nextWeek:"dddd[и] [ҳафтаи оянда соати] LT",lastWeek:"dddd[и] [ҳафтаи гузашта соати] LT",sameElse:"L"},relativeTime:{future:"баъди %s",past:"%s пеш",s:"якчанд сония",m:"як дақиқа",mm:"%d дақиқа",h:"як соат",hh:"%d соат",d:"як рӯз",dd:"%d рӯз",M:"як моҳ",MM:"%d моҳ",y:"як сол",yy:"%d сол"},meridiemParse:/шаб|субҳ|рӯз|бегоҳ/,meridiemHour:function(e,t){return 12===e&&(e=0),"шаб"===t?e<4?e:e+12:"субҳ"===t?e:"рӯз"===t?e>=11?e:e+12:"бегоҳ"===t?e+12:void 0},meridiem:function(e,t,n){return e<4?"шаб":e<11?"субҳ":e<16?"рӯз":e<19?"бегоҳ":"шаб"},dayOfMonthOrdinalParse:/\d{1,2}-(ум|юм)/,ordinal:function(e){var n=e%10,a=e>=100?100:null;return e+(t[e]||t[n]||t[a])},week:{dow:1,doy:7}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("tet",{months:"Janeiru_Fevereiru_Marsu_Abril_Maiu_Juñu_Jullu_Agustu_Setembru_Outubru_Novembru_Dezembru".split("_"),monthsShort:"Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez".split("_"),weekdays:"Domingu_Segunda_Tersa_Kuarta_Kinta_Sesta_Sabadu".split("_"),weekdaysShort:"Dom_Seg_Ters_Kua_Kint_Sest_Sab".split("_"),weekdaysMin:"Do_Seg_Te_Ku_Ki_Ses_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Ohin iha] LT",nextDay:"[Aban iha] LT",nextWeek:"dddd [iha] LT",lastDay:"[Horiseik iha] LT",lastWeek:"dddd [semana kotuk] [iha] LT",sameElse:"L"},relativeTime:{future:"iha %s",past:"%s liuba",s:"minutu balun",ss:"minutu %d",m:"minutu ida",mm:"minutu %d",h:"oras ida",hh:"oras %d",d:"loron ida",dd:"loron %d",M:"fulan ida",MM:"fulan %d",y:"tinan ida",yy:"tinan %d"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var t=e%10,n=1==~~(e%100/10)?"th":1===t?"st":2===t?"nd":3===t?"rd":"th";return e+n},week:{dow:1,doy:4}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("te",{months:"జనవరి_ఫిబ్రవరి_మార్చి_ఏప్రిల్_మే_జూన్_జూలై_ఆగస్టు_సెప్టెంబర్_అక్టోబర్_నవంబర్_డిసెంబర్".split("_"),monthsShort:"జన._ఫిబ్ర._మార్చి_ఏప్రి._మే_జూన్_జూలై_ఆగ._సెప్._అక్టో._నవ._డిసె.".split("_"),monthsParseExact:!0,weekdays:"ఆదివారం_సోమవారం_మంగళవారం_బుధవారం_గురువారం_శుక్రవారం_శనివారం".split("_"),weekdaysShort:"ఆది_సోమ_మంగళ_బుధ_గురు_శుక్ర_శని".split("_"),weekdaysMin:"ఆ_సో_మం_బు_గు_శు_శ".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm",LLLL:"dddd, D MMMM YYYY, A h:mm"},calendar:{sameDay:"[నేడు] LT",nextDay:"[రేపు] LT",nextWeek:"dddd, LT",lastDay:"[నిన్న] LT",lastWeek:"[గత] dddd, LT",sameElse:"L"},relativeTime:{future:"%s లో",past:"%s క్రితం",s:"కొన్ని క్షణాలు",ss:"%d సెకన్లు",m:"ఒక నిమిషం",mm:"%d నిమిషాలు",h:"ఒక గంట",hh:"%d గంటలు",d:"ఒక రోజు",dd:"%d రోజులు",M:"ఒక నెల",MM:"%d నెలలు",y:"ఒక సంవత్సరం",yy:"%d సంవత్సరాలు"},dayOfMonthOrdinalParse:/\d{1,2}వ/,ordinal:"%dవ",meridiemParse:/రాత్రి|ఉదయం|మధ్యాహ్నం|సాయంత్రం/,meridiemHour:function(e,t){return 12===e&&(e=0),"రాత్రి"===t?e<4?e:e+12:"ఉదయం"===t?e:"మధ్యాహ్నం"===t?e>=10?e:e+12:"సాయంత్రం"===t?e+12:void 0},meridiem:function(e,t,n){return e<4?"రాత్రి":e<10?"ఉదయం":e<17?"మధ్యాహ్నం":e<20?"సాయంత్రం":"రాత్రి"},week:{dow:0,doy:6}})}(n(0))},function(e,t,n){!function(e){"use strict";var t={1:"௧",2:"௨",3:"௩",4:"௪",5:"௫",6:"௬",7:"௭",8:"௮",9:"௯",0:"௦"},n={"௧":"1","௨":"2","௩":"3","௪":"4","௫":"5","௬":"6","௭":"7","௮":"8","௯":"9","௦":"0"};e.defineLocale("ta",{months:"ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்".split("_"),monthsShort:"ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்".split("_"),weekdays:"ஞாயிற்றுக்கிழமை_திங்கட்கிழமை_செவ்வாய்கிழமை_புதன்கிழமை_வியாழக்கிழமை_வெள்ளிக்கிழமை_சனிக்கிழமை".split("_"),weekdaysShort:"ஞாயிறு_திங்கள்_செவ்வாய்_புதன்_வியாழன்_வெள்ளி_சனி".split("_"),weekdaysMin:"ஞா_தி_செ_பு_வி_வெ_ச".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, HH:mm",LLLL:"dddd, D MMMM YYYY, HH:mm"},calendar:{sameDay:"[இன்று] LT",nextDay:"[நாளை] LT",nextWeek:"dddd, LT",lastDay:"[நேற்று] LT",lastWeek:"[கடந்த வாரம்] dddd, LT",sameElse:"L"},relativeTime:{future:"%s இல்",past:"%s முன்",s:"ஒரு சில விநாடிகள்",ss:"%d விநாடிகள்",m:"ஒரு நிமிடம்",mm:"%d நிமிடங்கள்",h:"ஒரு மணி நேரம்",hh:"%d மணி நேரம்",d:"ஒரு நாள்",dd:"%d நாட்கள்",M:"ஒரு மாதம்",MM:"%d மாதங்கள்",y:"ஒரு வருடம்",yy:"%d ஆண்டுகள்"},dayOfMonthOrdinalParse:/\d{1,2}வது/,ordinal:function(e){return e+"வது"},preparse:function(e){return e.replace(/[௧௨௩௪௫௬௭௮௯௦]/g,function(e){return n[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return t[e]})},meridiemParse:/யாமம்|வைகறை|காலை|நண்பகல்|எற்பாடு|மாலை/,meridiem:function(e,t,n){return e<2?" யாமம்":e<6?" வைகறை":e<10?" காலை":e<14?" நண்பகல்":e<18?" எற்பாடு":e<22?" மாலை":" யாமம்"},meridiemHour:function(e,t){return 12===e&&(e=0),"யாமம்"===t?e<2?e:e+12:"வைகறை"===t||"காலை"===t?e:"நண்பகல்"===t&&e>=10?e:e+12},week:{dow:0,doy:6}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("sw",{months:"Januari_Februari_Machi_Aprili_Mei_Juni_Julai_Agosti_Septemba_Oktoba_Novemba_Desemba".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ago_Sep_Okt_Nov_Des".split("_"),weekdays:"Jumapili_Jumatatu_Jumanne_Jumatano_Alhamisi_Ijumaa_Jumamosi".split("_"),weekdaysShort:"Jpl_Jtat_Jnne_Jtan_Alh_Ijm_Jmos".split("_"),weekdaysMin:"J2_J3_J4_J5_Al_Ij_J1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[leo saa] LT",nextDay:"[kesho saa] LT",nextWeek:"[wiki ijayo] dddd [saat] LT",lastDay:"[jana] LT",lastWeek:"[wiki iliyopita] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s baadaye",past:"tokea %s",s:"hivi punde",ss:"sekunde %d",m:"dakika moja",mm:"dakika %d",h:"saa limoja",hh:"masaa %d",d:"siku moja",dd:"masiku %d",M:"mwezi mmoja",MM:"miezi %d",y:"mwaka mmoja",yy:"miaka %d"},week:{dow:1,doy:7}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("sv",{months:"januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec".split("_"),weekdays:"söndag_måndag_tisdag_onsdag_torsdag_fredag_lördag".split("_"),weekdaysShort:"sön_mån_tis_ons_tor_fre_lör".split("_"),weekdaysMin:"sö_må_ti_on_to_fr_lö".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [kl.] HH:mm",LLLL:"dddd D MMMM YYYY [kl.] HH:mm",lll:"D MMM YYYY HH:mm",llll:"ddd D MMM YYYY HH:mm"},calendar:{sameDay:"[Idag] LT",nextDay:"[Imorgon] LT",lastDay:"[Igår] LT",nextWeek:"[På] dddd LT",lastWeek:"[I] dddd[s] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"för %s sedan",s:"några sekunder",ss:"%d sekunder",m:"en minut",mm:"%d minuter",h:"en timme",hh:"%d timmar",d:"en dag",dd:"%d dagar",M:"en månad",MM:"%d månader",y:"ett år",yy:"%d år"},dayOfMonthOrdinalParse:/\d{1,2}(e|a)/,ordinal:function(e){var t=e%10,n=1==~~(e%100/10)?"e":1===t?"a":2===t?"a":"e";return e+n},week:{dow:1,doy:4}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("ss",{months:"Bhimbidvwane_Indlovana_Indlov'lenkhulu_Mabasa_Inkhwekhweti_Inhlaba_Kholwane_Ingci_Inyoni_Imphala_Lweti_Ingongoni".split("_"),monthsShort:"Bhi_Ina_Inu_Mab_Ink_Inh_Kho_Igc_Iny_Imp_Lwe_Igo".split("_"),weekdays:"Lisontfo_Umsombuluko_Lesibili_Lesitsatfu_Lesine_Lesihlanu_Umgcibelo".split("_"),weekdaysShort:"Lis_Umb_Lsb_Les_Lsi_Lsh_Umg".split("_"),weekdaysMin:"Li_Us_Lb_Lt_Ls_Lh_Ug".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Namuhla nga] LT",nextDay:"[Kusasa nga] LT",nextWeek:"dddd [nga] LT",lastDay:"[Itolo nga] LT",lastWeek:"dddd [leliphelile] [nga] LT",sameElse:"L"},relativeTime:{future:"nga %s",past:"wenteka nga %s",s:"emizuzwana lomcane",ss:"%d mzuzwana",m:"umzuzu",mm:"%d emizuzu",h:"lihora",hh:"%d emahora",d:"lilanga",dd:"%d emalanga",M:"inyanga",MM:"%d tinyanga",y:"umnyaka",yy:"%d iminyaka"},meridiemParse:/ekuseni|emini|entsambama|ebusuku/,meridiem:function(e,t,n){return e<11?"ekuseni":e<15?"emini":e<19?"entsambama":"ebusuku"},meridiemHour:function(e,t){return 12===e&&(e=0),"ekuseni"===t?e:"emini"===t?e>=11?e:e+12:"entsambama"===t||"ebusuku"===t?0===e?0:e+12:void 0},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:"%d",week:{dow:1,doy:4}})}(n(0))},function(e,t,n){!function(e){"use strict";var t={words:{ss:["секунда","секунде","секунди"],m:["један минут","једне минуте"],mm:["минут","минуте","минута"],h:["један сат","једног сата"],hh:["сат","сата","сати"],dd:["дан","дана","дана"],MM:["месец","месеца","месеци"],yy:["година","године","година"]},correctGrammaticalCase:function(e,t){return 1===e?t[0]:e>=2&&e<=4?t[1]:t[2]},translate:function(e,n,a){var c=t.words[a];return 1===a.length?n?c[0]:c[1]:e+" "+t.correctGrammaticalCase(e,c)}};e.defineLocale("sr-cyrl",{months:"јануар_фебруар_март_април_мај_јун_јул_август_септембар_октобар_новембар_децембар".split("_"),monthsShort:"јан._феб._мар._апр._мај_јун_јул_авг._сеп._окт._нов._дец.".split("_"),monthsParseExact:!0,weekdays:"недеља_понедељак_уторак_среда_четвртак_петак_субота".split("_"),weekdaysShort:"нед._пон._уто._сре._чет._пет._суб.".split("_"),weekdaysMin:"не_по_ут_ср_че_пе_су".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[данас у] LT",nextDay:"[сутра у] LT",nextWeek:function(){switch(this.day()){case 0:return"[у] [недељу] [у] LT";case 3:return"[у] [среду] [у] LT";case 6:return"[у] [суботу] [у] LT";case 1:case 2:case 4:case 5:return"[у] dddd [у] LT"}},lastDay:"[јуче у] LT",lastWeek:function(){return["[прошле] [недеље] [у] LT","[прошлог] [понедељка] [у] LT","[прошлог] [уторка] [у] LT","[прошле] [среде] [у] LT","[прошлог] [четвртка] [у] LT","[прошлог] [петка] [у] LT","[прошле] [суботе] [у] LT"][this.day()]},sameElse:"L"},relativeTime:{future:"за %s",past:"пре %s",s:"неколико секунди",ss:t.translate,m:t.translate,mm:t.translate,h:t.translate,hh:t.translate,d:"дан",dd:t.translate,M:"месец",MM:t.translate,y:"годину",yy:t.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}(n(0))},function(e,t,n){!function(e){"use strict";var t={words:{ss:["sekunda","sekunde","sekundi"],m:["jedan minut","jedne minute"],mm:["minut","minute","minuta"],h:["jedan sat","jednog sata"],hh:["sat","sata","sati"],dd:["dan","dana","dana"],MM:["mesec","meseca","meseci"],yy:["godina","godine","godina"]},correctGrammaticalCase:function(e,t){return 1===e?t[0]:e>=2&&e<=4?t[1]:t[2]},translate:function(e,n,a){var c=t.words[a];return 1===a.length?n?c[0]:c[1]:e+" "+t.correctGrammaticalCase(e,c)}};e.defineLocale("sr",{months:"januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar".split("_"),monthsShort:"jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedelja_ponedeljak_utorak_sreda_četvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sre._čet._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_če_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedelju] [u] LT";case 3:return"[u] [sredu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[juče u] LT",lastWeek:function(){return["[prošle] [nedelje] [u] LT","[prošlog] [ponedeljka] [u] LT","[prošlog] [utorka] [u] LT","[prošle] [srede] [u] LT","[prošlog] [četvrtka] [u] LT","[prošlog] [petka] [u] LT","[prošle] [subote] [u] LT"][this.day()]},sameElse:"L"},relativeTime:{future:"za %s",past:"pre %s",s:"nekoliko sekundi",ss:t.translate,m:t.translate,mm:t.translate,h:t.translate,hh:t.translate,d:"dan",dd:t.translate,M:"mesec",MM:t.translate,y:"godinu",yy:t.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("sq",{months:"Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_Nëntor_Dhjetor".split("_"),monthsShort:"Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_Nën_Dhj".split("_"),weekdays:"E Diel_E Hënë_E Martë_E Mërkurë_E Enjte_E Premte_E Shtunë".split("_"),weekdaysShort:"Die_Hën_Mar_Mër_Enj_Pre_Sht".split("_"),weekdaysMin:"D_H_Ma_Më_E_P_Sh".split("_"),weekdaysParseExact:!0,meridiemParse:/PD|MD/,isPM:function(e){return"M"===e.charAt(0)},meridiem:function(e,t,n){return e<12?"PD":"MD"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Sot në] LT",nextDay:"[Nesër në] LT",nextWeek:"dddd [në] LT",lastDay:"[Dje në] LT",lastWeek:"dddd [e kaluar në] LT",sameElse:"L"},relativeTime:{future:"në %s",past:"%s më parë",s:"disa sekonda",ss:"%d sekonda",m:"një minutë",mm:"%d minuta",h:"një orë",hh:"%d orë",d:"një ditë",dd:"%d ditë",M:"një muaj",MM:"%d muaj",y:"një vit",yy:"%d vite"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n(0))},function(e,t,n){!function(e){"use strict";function t(e,t,n,a){var c=e+" ";switch(n){case"s":return t||a?"nekaj sekund":"nekaj sekundami";case"ss":return c+=1===e?t?"sekundo":"sekundi":2===e?t||a?"sekundi":"sekundah":e<5?t||a?"sekunde":"sekundah":"sekund";case"m":return t?"ena minuta":"eno minuto";case"mm":return c+=1===e?t?"minuta":"minuto":2===e?t||a?"minuti":"minutama":e<5?t||a?"minute":"minutami":t||a?"minut":"minutami";case"h":return t?"ena ura":"eno uro";case"hh":return c+=1===e?t?"ura":"uro":2===e?t||a?"uri":"urama":e<5?t||a?"ure":"urami":t||a?"ur":"urami";case"d":return t||a?"en dan":"enim dnem";case"dd":return c+=1===e?t||a?"dan":"dnem":2===e?t||a?"dni":"dnevoma":t||a?"dni":"dnevi";case"M":return t||a?"en mesec":"enim mesecem";case"MM":return c+=1===e?t||a?"mesec":"mesecem":2===e?t||a?"meseca":"mesecema":e<5?t||a?"mesece":"meseci":t||a?"mesecev":"meseci";case"y":return t||a?"eno leto":"enim letom";case"yy":return c+=1===e?t||a?"leto":"letom":2===e?t||a?"leti":"letoma":e<5?t||a?"leta":"leti":t||a?"let":"leti"}}e.defineLocale("sl",{months:"januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december".split("_"),monthsShort:"jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedelja_ponedeljek_torek_sreda_četrtek_petek_sobota".split("_"),weekdaysShort:"ned._pon._tor._sre._čet._pet._sob.".split("_"),weekdaysMin:"ne_po_to_sr_če_pe_so".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danes ob] LT",nextDay:"[jutri ob] LT",nextWeek:function(){switch(this.day()){case 0:return"[v] [nedeljo] [ob] LT";case 3:return"[v] [sredo] [ob] LT";case 6:return"[v] [soboto] [ob] LT";case 1:case 2:case 4:case 5:return"[v] dddd [ob] LT"}},lastDay:"[včeraj ob] LT",lastWeek:function(){switch(this.day()){case 0:return"[prejšnjo] [nedeljo] [ob] LT";case 3:return"[prejšnjo] [sredo] [ob] LT";case 6:return"[prejšnjo] [soboto] [ob] LT";case 1:case 2:case 4:case 5:return"[prejšnji] dddd [ob] LT"}},sameElse:"L"},relativeTime:{future:"čez %s",past:"pred %s",s:t,ss:t,m:t,mm:t,h:t,hh:t,d:t,dd:t,M:t,MM:t,y:t,yy:t},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}(n(0))},function(e,t,n){!function(e){"use strict";var t="január_február_marec_apríl_máj_jún_júl_august_september_október_november_december".split("_"),n="jan_feb_mar_apr_máj_jún_júl_aug_sep_okt_nov_dec".split("_");function a(e){return e>1&&e<5}function c(e,t,n,c){var o=e+" ";switch(n){case"s":return t||c?"pár sekúnd":"pár sekundami";case"ss":return t||c?o+(a(e)?"sekundy":"sekúnd"):o+"sekundami";case"m":return t?"minúta":c?"minútu":"minútou";case"mm":return t||c?o+(a(e)?"minúty":"minút"):o+"minútami";case"h":return t?"hodina":c?"hodinu":"hodinou";case"hh":return t||c?o+(a(e)?"hodiny":"hodín"):o+"hodinami";case"d":return t||c?"deň":"dňom";case"dd":return t||c?o+(a(e)?"dni":"dní"):o+"dňami";case"M":return t||c?"mesiac":"mesiacom";case"MM":return t||c?o+(a(e)?"mesiace":"mesiacov"):o+"mesiacmi";case"y":return t||c?"rok":"rokom";case"yy":return t||c?o+(a(e)?"roky":"rokov"):o+"rokmi"}}e.defineLocale("sk",{months:t,monthsShort:n,weekdays:"nedeľa_pondelok_utorok_streda_štvrtok_piatok_sobota".split("_"),weekdaysShort:"ne_po_ut_st_št_pi_so".split("_"),weekdaysMin:"ne_po_ut_st_št_pi_so".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd D. MMMM YYYY H:mm"},calendar:{sameDay:"[dnes o] LT",nextDay:"[zajtra o] LT",nextWeek:function(){switch(this.day()){case 0:return"[v nedeľu o] LT";case 1:case 2:return"[v] dddd [o] LT";case 3:return"[v stredu o] LT";case 4:return"[vo štvrtok o] LT";case 5:return"[v piatok o] LT";case 6:return"[v sobotu o] LT"}},lastDay:"[včera o] LT",lastWeek:function(){switch(this.day()){case 0:return"[minulú nedeľu o] LT";case 1:case 2:return"[minulý] dddd [o] LT";case 3:return"[minulú stredu o] LT";case 4:case 5:return"[minulý] dddd [o] LT";case 6:return"[minulú sobotu o] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"pred %s",s:c,ss:c,m:c,mm:c,h:c,hh:c,d:c,dd:c,M:c,MM:c,y:c,yy:c},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("si",{months:"ජනවාරි_පෙබරවාරි_මාර්තු_අප්‍රේල්_මැයි_ජූනි_ජූලි_අගෝස්තු_සැප්තැම්බර්_ඔක්තෝබර්_නොවැම්බර්_දෙසැම්බර්".split("_"),monthsShort:"ජන_පෙබ_මාර්_අප්_මැයි_ජූනි_ජූලි_අගෝ_සැප්_ඔක්_නොවැ_දෙසැ".split("_"),weekdays:"ඉරිදා_සඳුදා_අඟහරුවාදා_බදාදා_බ්‍රහස්පතින්දා_සිකුරාදා_සෙනසුරාදා".split("_"),weekdaysShort:"ඉරි_සඳු_අඟ_බදා_බ්‍රහ_සිකු_සෙන".split("_"),weekdaysMin:"ඉ_ස_අ_බ_බ්‍ර_සි_සෙ".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"a h:mm",LTS:"a h:mm:ss",L:"YYYY/MM/DD",LL:"YYYY MMMM D",LLL:"YYYY MMMM D, a h:mm",LLLL:"YYYY MMMM D [වැනි] dddd, a h:mm:ss"},calendar:{sameDay:"[අද] LT[ට]",nextDay:"[හෙට] LT[ට]",nextWeek:"dddd LT[ට]",lastDay:"[ඊයේ] LT[ට]",lastWeek:"[පසුගිය] dddd LT[ට]",sameElse:"L"},relativeTime:{future:"%sකින්",past:"%sකට පෙර",s:"තත්පර කිහිපය",ss:"තත්පර %d",m:"මිනිත්තුව",mm:"මිනිත්තු %d",h:"පැය",hh:"පැය %d",d:"දිනය",dd:"දින %d",M:"මාසය",MM:"මාස %d",y:"වසර",yy:"වසර %d"},dayOfMonthOrdinalParse:/\d{1,2} වැනි/,ordinal:function(e){return e+" වැනි"},meridiemParse:/පෙර වරු|පස් වරු|පෙ.ව|ප.ව./,isPM:function(e){return"ප.ව."===e||"පස් වරු"===e},meridiem:function(e,t,n){return e>11?n?"ප.ව.":"පස් වරු":n?"පෙ.ව.":"පෙර වරු"}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("se",{months:"ođđajagemánnu_guovvamánnu_njukčamánnu_cuoŋománnu_miessemánnu_geassemánnu_suoidnemánnu_borgemánnu_čakčamánnu_golggotmánnu_skábmamánnu_juovlamánnu".split("_"),monthsShort:"ođđj_guov_njuk_cuo_mies_geas_suoi_borg_čakč_golg_skáb_juov".split("_"),weekdays:"sotnabeaivi_vuossárga_maŋŋebárga_gaskavahkku_duorastat_bearjadat_lávvardat".split("_"),weekdaysShort:"sotn_vuos_maŋ_gask_duor_bear_láv".split("_"),weekdaysMin:"s_v_m_g_d_b_L".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"MMMM D. [b.] YYYY",LLL:"MMMM D. [b.] YYYY [ti.] HH:mm",LLLL:"dddd, MMMM D. [b.] YYYY [ti.] HH:mm"},calendar:{sameDay:"[otne ti] LT",nextDay:"[ihttin ti] LT",nextWeek:"dddd [ti] LT",lastDay:"[ikte ti] LT",lastWeek:"[ovddit] dddd [ti] LT",sameElse:"L"},relativeTime:{future:"%s geažes",past:"maŋit %s",s:"moadde sekunddat",ss:"%d sekunddat",m:"okta minuhta",mm:"%d minuhtat",h:"okta diimmu",hh:"%d diimmut",d:"okta beaivi",dd:"%d beaivvit",M:"okta mánnu",MM:"%d mánut",y:"okta jahki",yy:"%d jagit"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n(0))},function(e,t,n){!function(e){"use strict";var t=["جنوري","فيبروري","مارچ","اپريل","مئي","جون","جولاءِ","آگسٽ","سيپٽمبر","آڪٽوبر","نومبر","ڊسمبر"],n=["آچر","سومر","اڱارو","اربع","خميس","جمع","ڇنڇر"];e.defineLocale("sd",{months:t,monthsShort:t,weekdays:n,weekdaysShort:n,weekdaysMin:n,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd، D MMMM YYYY HH:mm"},meridiemParse:/صبح|شام/,isPM:function(e){return"شام"===e},meridiem:function(e,t,n){return e<12?"صبح":"شام"},calendar:{sameDay:"[اڄ] LT",nextDay:"[سڀاڻي] LT",nextWeek:"dddd [اڳين هفتي تي] LT",lastDay:"[ڪالهه] LT",lastWeek:"[گزريل هفتي] dddd [تي] LT",sameElse:"L"},relativeTime:{future:"%s پوء",past:"%s اڳ",s:"چند سيڪنڊ",ss:"%d سيڪنڊ",m:"هڪ منٽ",mm:"%d منٽ",h:"هڪ ڪلاڪ",hh:"%d ڪلاڪ",d:"هڪ ڏينهن",dd:"%d ڏينهن",M:"هڪ مهينو",MM:"%d مهينا",y:"هڪ سال",yy:"%d سال"},preparse:function(e){return e.replace(/،/g,",")},postformat:function(e){return e.replace(/,/g,"،")},week:{dow:1,doy:4}})}(n(0))},function(e,t,n){!function(e){"use strict";function t(e,t,n){var a,c,o={ss:t?"секунда_секунды_секунд":"секунду_секунды_секунд",mm:t?"минута_минуты_минут":"минуту_минуты_минут",hh:"час_часа_часов",dd:"день_дня_дней",MM:"месяц_месяца_месяцев",yy:"год_года_лет"};return"m"===n?t?"минута":"минуту":e+" "+(a=+e,c=o[n].split("_"),a%10==1&&a%100!=11?c[0]:a%10>=2&&a%10<=4&&(a%100<10||a%100>=20)?c[1]:c[2])}var n=[/^янв/i,/^фев/i,/^мар/i,/^апр/i,/^ма[йя]/i,/^июн/i,/^июл/i,/^авг/i,/^сен/i,/^окт/i,/^ноя/i,/^дек/i];e.defineLocale("ru",{months:{format:"января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря".split("_"),standalone:"январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь".split("_")},monthsShort:{format:"янв._февр._мар._апр._мая_июня_июля_авг._сент._окт._нояб._дек.".split("_"),standalone:"янв._февр._март_апр._май_июнь_июль_авг._сент._окт._нояб._дек.".split("_")},weekdays:{standalone:"воскресенье_понедельник_вторник_среда_четверг_пятница_суббота".split("_"),format:"воскресенье_понедельник_вторник_среду_четверг_пятницу_субботу".split("_"),isFormat:/\[ ?[Вв] ?(?:прошлую|следующую|эту)? ?\] ?dddd/},weekdaysShort:"вс_пн_вт_ср_чт_пт_сб".split("_"),weekdaysMin:"вс_пн_вт_ср_чт_пт_сб".split("_"),monthsParse:n,longMonthsParse:n,shortMonthsParse:n,monthsRegex:/^(январ[ья]|янв\.?|феврал[ья]|февр?\.?|марта?|мар\.?|апрел[ья]|апр\.?|ма[йя]|июн[ья]|июн\.?|июл[ья]|июл\.?|августа?|авг\.?|сентябр[ья]|сент?\.?|октябр[ья]|окт\.?|ноябр[ья]|нояб?\.?|декабр[ья]|дек\.?)/i,monthsShortRegex:/^(январ[ья]|янв\.?|феврал[ья]|февр?\.?|марта?|мар\.?|апрел[ья]|апр\.?|ма[йя]|июн[ья]|июн\.?|июл[ья]|июл\.?|августа?|авг\.?|сентябр[ья]|сент?\.?|октябр[ья]|окт\.?|ноябр[ья]|нояб?\.?|декабр[ья]|дек\.?)/i,monthsStrictRegex:/^(январ[яь]|феврал[яь]|марта?|апрел[яь]|ма[яй]|июн[яь]|июл[яь]|августа?|сентябр[яь]|октябр[яь]|ноябр[яь]|декабр[яь])/i,monthsShortStrictRegex:/^(янв\.|февр?\.|мар[т.]|апр\.|ма[яй]|июн[ья.]|июл[ья.]|авг\.|сент?\.|окт\.|нояб?\.|дек\.)/i,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY г.",LLL:"D MMMM YYYY г., H:mm",LLLL:"dddd, D MMMM YYYY г., H:mm"},calendar:{sameDay:"[Сегодня, в] LT",nextDay:"[Завтра, в] LT",lastDay:"[Вчера, в] LT",nextWeek:function(e){if(e.week()===this.week())return 2===this.day()?"[Во] dddd, [в] LT":"[В] dddd, [в] LT";switch(this.day()){case 0:return"[В следующее] dddd, [в] LT";case 1:case 2:case 4:return"[В следующий] dddd, [в] LT";case 3:case 5:case 6:return"[В следующую] dddd, [в] LT"}},lastWeek:function(e){if(e.week()===this.week())return 2===this.day()?"[Во] dddd, [в] LT":"[В] dddd, [в] LT";switch(this.day()){case 0:return"[В прошлое] dddd, [в] LT";case 1:case 2:case 4:return"[В прошлый] dddd, [в] LT";case 3:case 5:case 6:return"[В прошлую] dddd, [в] LT"}},sameElse:"L"},relativeTime:{future:"через %s",past:"%s назад",s:"несколько секунд",ss:t,m:t,mm:t,h:"час",hh:t,d:"день",dd:t,M:"месяц",MM:t,y:"год",yy:t},meridiemParse:/ночи|утра|дня|вечера/i,isPM:function(e){return/^(дня|вечера)$/.test(e)},meridiem:function(e,t,n){return e<4?"ночи":e<12?"утра":e<17?"дня":"вечера"},dayOfMonthOrdinalParse:/\d{1,2}-(й|го|я)/,ordinal:function(e,t){switch(t){case"M":case"d":case"DDD":return e+"-й";case"D":return e+"-го";case"w":case"W":return e+"-я";default:return e}},week:{dow:1,doy:4}})}(n(0))},function(e,t,n){!function(e){"use strict";function t(e,t,n){var a=" ";return(e%100>=20||e>=100&&e%100==0)&&(a=" de "),e+a+{ss:"secunde",mm:"minute",hh:"ore",dd:"zile",MM:"luni",yy:"ani"}[n]}e.defineLocale("ro",{months:"ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie".split("_"),monthsShort:"ian._febr._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"duminică_luni_marți_miercuri_joi_vineri_sâmbătă".split("_"),weekdaysShort:"Dum_Lun_Mar_Mie_Joi_Vin_Sâm".split("_"),weekdaysMin:"Du_Lu_Ma_Mi_Jo_Vi_Sâ".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[azi la] LT",nextDay:"[mâine la] LT",nextWeek:"dddd [la] LT",lastDay:"[ieri la] LT",lastWeek:"[fosta] dddd [la] LT",sameElse:"L"},relativeTime:{future:"peste %s",past:"%s în urmă",s:"câteva secunde",ss:t,m:"un minut",mm:t,h:"o oră",hh:t,d:"o zi",dd:t,M:"o lună",MM:t,y:"un an",yy:t},week:{dow:1,doy:7}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("pt-br",{months:"janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro".split("_"),monthsShort:"jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez".split("_"),weekdays:"Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado".split("_"),weekdaysShort:"Dom_Seg_Ter_Qua_Qui_Sex_Sáb".split("_"),weekdaysMin:"Do_2ª_3ª_4ª_5ª_6ª_Sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY [às] HH:mm",LLLL:"dddd, D [de] MMMM [de] YYYY [às] HH:mm"},calendar:{sameDay:"[Hoje às] LT",nextDay:"[Amanhã às] LT",nextWeek:"dddd [às] LT",lastDay:"[Ontem às] LT",lastWeek:function(){return 0===this.day()||6===this.day()?"[Último] dddd [às] LT":"[Última] dddd [às] LT"},sameElse:"L"},relativeTime:{future:"em %s",past:"há %s",s:"poucos segundos",ss:"%d segundos",m:"um minuto",mm:"%d minutos",h:"uma hora",hh:"%d horas",d:"um dia",dd:"%d dias",M:"um mês",MM:"%d meses",y:"um ano",yy:"%d anos"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº"})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("pt",{months:"janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro".split("_"),monthsShort:"jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez".split("_"),weekdays:"Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado".split("_"),weekdaysShort:"Dom_Seg_Ter_Qua_Qui_Sex_Sáb".split("_"),weekdaysMin:"Do_2ª_3ª_4ª_5ª_6ª_Sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY HH:mm",LLLL:"dddd, D [de] MMMM [de] YYYY HH:mm"},calendar:{sameDay:"[Hoje às] LT",nextDay:"[Amanhã às] LT",nextWeek:"dddd [às] LT",lastDay:"[Ontem às] LT",lastWeek:function(){return 0===this.day()||6===this.day()?"[Último] dddd [às] LT":"[Última] dddd [às] LT"},sameElse:"L"},relativeTime:{future:"em %s",past:"há %s",s:"segundos",ss:"%d segundos",m:"um minuto",mm:"%d minutos",h:"uma hora",hh:"%d horas",d:"um dia",dd:"%d dias",M:"um mês",MM:"%d meses",y:"um ano",yy:"%d anos"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}})}(n(0))},function(e,t,n){!function(e){"use strict";var t="styczeń_luty_marzec_kwiecień_maj_czerwiec_lipiec_sierpień_wrzesień_październik_listopad_grudzień".split("_"),n="stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_września_października_listopada_grudnia".split("_");function a(e){return e%10<5&&e%10>1&&~~(e/10)%10!=1}function c(e,t,n){var c=e+" ";switch(n){case"ss":return c+(a(e)?"sekundy":"sekund");case"m":return t?"minuta":"minutę";case"mm":return c+(a(e)?"minuty":"minut");case"h":return t?"godzina":"godzinę";case"hh":return c+(a(e)?"godziny":"godzin");case"MM":return c+(a(e)?"miesiące":"miesięcy");case"yy":return c+(a(e)?"lata":"lat")}}e.defineLocale("pl",{months:function(e,a){return e?""===a?"("+n[e.month()]+"|"+t[e.month()]+")":/D MMMM/.test(a)?n[e.month()]:t[e.month()]:t},monthsShort:"sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paź_lis_gru".split("_"),weekdays:"niedziela_poniedziałek_wtorek_środa_czwartek_piątek_sobota".split("_"),weekdaysShort:"ndz_pon_wt_śr_czw_pt_sob".split("_"),weekdaysMin:"Nd_Pn_Wt_Śr_Cz_Pt_So".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Dziś o] LT",nextDay:"[Jutro o] LT",nextWeek:function(){switch(this.day()){case 0:return"[W niedzielę o] LT";case 2:return"[We wtorek o] LT";case 3:return"[W środę o] LT";case 6:return"[W sobotę o] LT";default:return"[W] dddd [o] LT"}},lastDay:"[Wczoraj o] LT",lastWeek:function(){switch(this.day()){case 0:return"[W zeszłą niedzielę o] LT";case 3:return"[W zeszłą środę o] LT";case 6:return"[W zeszłą sobotę o] LT";default:return"[W zeszły] dddd [o] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"%s temu",s:"kilka sekund",ss:c,m:c,mm:c,h:c,hh:c,d:"1 dzień",dd:"%d dni",M:"miesiąc",MM:c,y:"rok",yy:c},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n(0))},function(e,t,n){!function(e){"use strict";var t={1:"੧",2:"੨",3:"੩",4:"੪",5:"੫",6:"੬",7:"੭",8:"੮",9:"੯",0:"੦"},n={"੧":"1","੨":"2","੩":"3","੪":"4","੫":"5","੬":"6","੭":"7","੮":"8","੯":"9","੦":"0"};e.defineLocale("pa-in",{months:"ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ".split("_"),monthsShort:"ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ".split("_"),weekdays:"ਐਤਵਾਰ_ਸੋਮਵਾਰ_ਮੰਗਲਵਾਰ_ਬੁਧਵਾਰ_ਵੀਰਵਾਰ_ਸ਼ੁੱਕਰਵਾਰ_ਸ਼ਨੀਚਰਵਾਰ".split("_"),weekdaysShort:"ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ".split("_"),weekdaysMin:"ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ".split("_"),longDateFormat:{LT:"A h:mm ਵਜੇ",LTS:"A h:mm:ss ਵਜੇ",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm ਵਜੇ",LLLL:"dddd, D MMMM YYYY, A h:mm ਵਜੇ"},calendar:{sameDay:"[ਅਜ] LT",nextDay:"[ਕਲ] LT",nextWeek:"[ਅਗਲਾ] dddd, LT",lastDay:"[ਕਲ] LT",lastWeek:"[ਪਿਛਲੇ] dddd, LT",sameElse:"L"},relativeTime:{future:"%s ਵਿੱਚ",past:"%s ਪਿਛਲੇ",s:"ਕੁਝ ਸਕਿੰਟ",ss:"%d ਸਕਿੰਟ",m:"ਇਕ ਮਿੰਟ",mm:"%d ਮਿੰਟ",h:"ਇੱਕ ਘੰਟਾ",hh:"%d ਘੰਟੇ",d:"ਇੱਕ ਦਿਨ",dd:"%d ਦਿਨ",M:"ਇੱਕ ਮਹੀਨਾ",MM:"%d ਮਹੀਨੇ",y:"ਇੱਕ ਸਾਲ",yy:"%d ਸਾਲ"},preparse:function(e){return e.replace(/[੧੨੩੪੫੬੭੮੯੦]/g,function(e){return n[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return t[e]})},meridiemParse:/ਰਾਤ|ਸਵੇਰ|ਦੁਪਹਿਰ|ਸ਼ਾਮ/,meridiemHour:function(e,t){return 12===e&&(e=0),"ਰਾਤ"===t?e<4?e:e+12:"ਸਵੇਰ"===t?e:"ਦੁਪਹਿਰ"===t?e>=10?e:e+12:"ਸ਼ਾਮ"===t?e+12:void 0},meridiem:function(e,t,n){return e<4?"ਰਾਤ":e<10?"ਸਵੇਰ":e<17?"ਦੁਪਹਿਰ":e<20?"ਸ਼ਾਮ":"ਰਾਤ"},week:{dow:0,doy:6}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("nn",{months:"januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_"),weekdays:"sundag_måndag_tysdag_onsdag_torsdag_fredag_laurdag".split("_"),weekdaysShort:"sun_mån_tys_ons_tor_fre_lau".split("_"),weekdaysMin:"su_må_ty_on_to_fr_lø".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] H:mm",LLLL:"dddd D. MMMM YYYY [kl.] HH:mm"},calendar:{sameDay:"[I dag klokka] LT",nextDay:"[I morgon klokka] LT",nextWeek:"dddd [klokka] LT",lastDay:"[I går klokka] LT",lastWeek:"[Føregåande] dddd [klokka] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"%s sidan",s:"nokre sekund",ss:"%d sekund",m:"eit minutt",mm:"%d minutt",h:"ein time",hh:"%d timar",d:"ein dag",dd:"%d dagar",M:"ein månad",MM:"%d månader",y:"eit år",yy:"%d år"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n(0))},function(e,t,n){!function(e){"use strict";var t="jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.".split("_"),n="jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec".split("_"),a=[/^jan/i,/^feb/i,/^maart|mrt.?$/i,/^apr/i,/^mei$/i,/^jun[i.]?$/i,/^jul[i.]?$/i,/^aug/i,/^sep/i,/^okt/i,/^nov/i,/^dec/i],c=/^(januari|februari|maart|april|mei|april|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i;e.defineLocale("nl-be",{months:"januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december".split("_"),monthsShort:function(e,a){return e?/-MMM-/.test(a)?n[e.month()]:t[e.month()]:t},monthsRegex:c,monthsShortRegex:c,monthsStrictRegex:/^(januari|februari|maart|mei|ju[nl]i|april|augustus|september|oktober|november|december)/i,monthsShortStrictRegex:/^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,monthsParse:a,longMonthsParse:a,shortMonthsParse:a,weekdays:"zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag".split("_"),weekdaysShort:"zo._ma._di._wo._do._vr._za.".split("_"),weekdaysMin:"zo_ma_di_wo_do_vr_za".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[vandaag om] LT",nextDay:"[morgen om] LT",nextWeek:"dddd [om] LT",lastDay:"[gisteren om] LT",lastWeek:"[afgelopen] dddd [om] LT",sameElse:"L"},relativeTime:{future:"over %s",past:"%s geleden",s:"een paar seconden",ss:"%d seconden",m:"één minuut",mm:"%d minuten",h:"één uur",hh:"%d uur",d:"één dag",dd:"%d dagen",M:"één maand",MM:"%d maanden",y:"één jaar",yy:"%d jaar"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(e){return e+(1===e||8===e||e>=20?"ste":"de")},week:{dow:1,doy:4}})}(n(0))},function(e,t,n){!function(e){"use strict";var t="jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.".split("_"),n="jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec".split("_"),a=[/^jan/i,/^feb/i,/^maart|mrt.?$/i,/^apr/i,/^mei$/i,/^jun[i.]?$/i,/^jul[i.]?$/i,/^aug/i,/^sep/i,/^okt/i,/^nov/i,/^dec/i],c=/^(januari|februari|maart|april|mei|april|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i;e.defineLocale("nl",{months:"januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december".split("_"),monthsShort:function(e,a){return e?/-MMM-/.test(a)?n[e.month()]:t[e.month()]:t},monthsRegex:c,monthsShortRegex:c,monthsStrictRegex:/^(januari|februari|maart|mei|ju[nl]i|april|augustus|september|oktober|november|december)/i,monthsShortStrictRegex:/^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,monthsParse:a,longMonthsParse:a,shortMonthsParse:a,weekdays:"zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag".split("_"),weekdaysShort:"zo._ma._di._wo._do._vr._za.".split("_"),weekdaysMin:"zo_ma_di_wo_do_vr_za".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[vandaag om] LT",nextDay:"[morgen om] LT",nextWeek:"dddd [om] LT",lastDay:"[gisteren om] LT",lastWeek:"[afgelopen] dddd [om] LT",sameElse:"L"},relativeTime:{future:"over %s",past:"%s geleden",s:"een paar seconden",ss:"%d seconden",m:"één minuut",mm:"%d minuten",h:"één uur",hh:"%d uur",d:"één dag",dd:"%d dagen",M:"één maand",MM:"%d maanden",y:"één jaar",yy:"%d jaar"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(e){return e+(1===e||8===e||e>=20?"ste":"de")},week:{dow:1,doy:4}})}(n(0))},function(e,t,n){!function(e){"use strict";var t={1:"१",2:"२",3:"३",4:"४",5:"५",6:"६",7:"७",8:"८",9:"९",0:"०"},n={"१":"1","२":"2","३":"3","४":"4","५":"5","६":"6","७":"7","८":"8","९":"9","०":"0"};e.defineLocale("ne",{months:"जनवरी_फेब्रुवरी_मार्च_अप्रिल_मई_जुन_जुलाई_अगष्ट_सेप्टेम्बर_अक्टोबर_नोभेम्बर_डिसेम्बर".split("_"),monthsShort:"जन._फेब्रु._मार्च_अप्रि._मई_जुन_जुलाई._अग._सेप्ट._अक्टो._नोभे._डिसे.".split("_"),monthsParseExact:!0,weekdays:"आइतबार_सोमबार_मङ्गलबार_बुधबार_बिहिबार_शुक्रबार_शनिबार".split("_"),weekdaysShort:"आइत._सोम._मङ्गल._बुध._बिहि._शुक्र._शनि.".split("_"),weekdaysMin:"आ._सो._मं._बु._बि._शु._श.".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"Aको h:mm बजे",LTS:"Aको h:mm:ss बजे",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, Aको h:mm बजे",LLLL:"dddd, D MMMM YYYY, Aको h:mm बजे"},preparse:function(e){return e.replace(/[१२३४५६७८९०]/g,function(e){return n[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return t[e]})},meridiemParse:/राति|बिहान|दिउँसो|साँझ/,meridiemHour:function(e,t){return 12===e&&(e=0),"राति"===t?e<4?e:e+12:"बिहान"===t?e:"दिउँसो"===t?e>=10?e:e+12:"साँझ"===t?e+12:void 0},meridiem:function(e,t,n){return e<3?"राति":e<12?"बिहान":e<16?"दिउँसो":e<20?"साँझ":"राति"},calendar:{sameDay:"[आज] LT",nextDay:"[भोलि] LT",nextWeek:"[आउँदो] dddd[,] LT",lastDay:"[हिजो] LT",lastWeek:"[गएको] dddd[,] LT",sameElse:"L"},relativeTime:{future:"%sमा",past:"%s अगाडि",s:"केही क्षण",ss:"%d सेकेण्ड",m:"एक मिनेट",mm:"%d मिनेट",h:"एक घण्टा",hh:"%d घण्टा",d:"एक दिन",dd:"%d दिन",M:"एक महिना",MM:"%d महिना",y:"एक बर्ष",yy:"%d बर्ष"},week:{dow:0,doy:6}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("nb",{months:"januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan._feb._mars_april_mai_juni_juli_aug._sep._okt._nov._des.".split("_"),monthsParseExact:!0,weekdays:"søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag".split("_"),weekdaysShort:"sø._ma._ti._on._to._fr._lø.".split("_"),weekdaysMin:"sø_ma_ti_on_to_fr_lø".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] HH:mm",LLLL:"dddd D. MMMM YYYY [kl.] HH:mm"},calendar:{sameDay:"[i dag kl.] LT",nextDay:"[i morgen kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[i går kl.] LT",lastWeek:"[forrige] dddd [kl.] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"%s siden",s:"noen sekunder",ss:"%d sekunder",m:"ett minutt",mm:"%d minutter",h:"en time",hh:"%d timer",d:"en dag",dd:"%d dager",M:"en måned",MM:"%d måneder",y:"ett år",yy:"%d år"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n(0))},function(e,t,n){!function(e){"use strict";var t={1:"၁",2:"၂",3:"၃",4:"၄",5:"၅",6:"၆",7:"၇",8:"၈",9:"၉",0:"၀"},n={"၁":"1","၂":"2","၃":"3","၄":"4","၅":"5","၆":"6","၇":"7","၈":"8","၉":"9","၀":"0"};e.defineLocale("my",{months:"ဇန်နဝါရီ_ဖေဖော်ဝါရီ_မတ်_ဧပြီ_မေ_ဇွန်_ဇူလိုင်_သြဂုတ်_စက်တင်ဘာ_အောက်တိုဘာ_နိုဝင်ဘာ_ဒီဇင်ဘာ".split("_"),monthsShort:"ဇန်_ဖေ_မတ်_ပြီ_မေ_ဇွန်_လိုင်_သြ_စက်_အောက်_နို_ဒီ".split("_"),weekdays:"တနင်္ဂနွေ_တနင်္လာ_အင်္ဂါ_ဗုဒ္ဓဟူး_ကြာသပတေး_သောကြာ_စနေ".split("_"),weekdaysShort:"နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ".split("_"),weekdaysMin:"နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[ယနေ.] LT [မှာ]",nextDay:"[မနက်ဖြန်] LT [မှာ]",nextWeek:"dddd LT [မှာ]",lastDay:"[မနေ.က] LT [မှာ]",lastWeek:"[ပြီးခဲ့သော] dddd LT [မှာ]",sameElse:"L"},relativeTime:{future:"လာမည့် %s မှာ",past:"လွန်ခဲ့သော %s က",s:"စက္ကန်.အနည်းငယ်",ss:"%d စက္ကန့်",m:"တစ်မိနစ်",mm:"%d မိနစ်",h:"တစ်နာရီ",hh:"%d နာရီ",d:"တစ်ရက်",dd:"%d ရက်",M:"တစ်လ",MM:"%d လ",y:"တစ်နှစ်",yy:"%d နှစ်"},preparse:function(e){return e.replace(/[၁၂၃၄၅၆၇၈၉၀]/g,function(e){return n[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return t[e]})},week:{dow:1,doy:4}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("mt",{months:"Jannar_Frar_Marzu_April_Mejju_Ġunju_Lulju_Awwissu_Settembru_Ottubru_Novembru_Diċembru".split("_"),monthsShort:"Jan_Fra_Mar_Apr_Mej_Ġun_Lul_Aww_Set_Ott_Nov_Diċ".split("_"),weekdays:"Il-Ħadd_It-Tnejn_It-Tlieta_L-Erbgħa_Il-Ħamis_Il-Ġimgħa_Is-Sibt".split("_"),weekdaysShort:"Ħad_Tne_Tli_Erb_Ħam_Ġim_Sib".split("_"),weekdaysMin:"Ħa_Tn_Tl_Er_Ħa_Ġi_Si".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Illum fil-]LT",nextDay:"[Għada fil-]LT",nextWeek:"dddd [fil-]LT",lastDay:"[Il-bieraħ fil-]LT",lastWeek:"dddd [li għadda] [fil-]LT",sameElse:"L"},relativeTime:{future:"f’ %s",past:"%s ilu",s:"ftit sekondi",ss:"%d sekondi",m:"minuta",mm:"%d minuti",h:"siegħa",hh:"%d siegħat",d:"ġurnata",dd:"%d ġranet",M:"xahar",MM:"%d xhur",y:"sena",yy:"%d sni"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("ms-my",{months:"Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis".split("_"),weekdays:"Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu".split("_"),weekdaysShort:"Ahd_Isn_Sel_Rab_Kha_Jum_Sab".split("_"),weekdaysMin:"Ah_Is_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/pagi|tengahari|petang|malam/,meridiemHour:function(e,t){return 12===e&&(e=0),"pagi"===t?e:"tengahari"===t?e>=11?e:e+12:"petang"===t||"malam"===t?e+12:void 0},meridiem:function(e,t,n){return e<11?"pagi":e<15?"tengahari":e<19?"petang":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Esok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kelmarin pukul] LT",lastWeek:"dddd [lepas pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lepas",s:"beberapa saat",ss:"%d saat",m:"seminit",mm:"%d minit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,doy:7}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("ms",{months:"Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis".split("_"),weekdays:"Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu".split("_"),weekdaysShort:"Ahd_Isn_Sel_Rab_Kha_Jum_Sab".split("_"),weekdaysMin:"Ah_Is_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/pagi|tengahari|petang|malam/,meridiemHour:function(e,t){return 12===e&&(e=0),"pagi"===t?e:"tengahari"===t?e>=11?e:e+12:"petang"===t||"malam"===t?e+12:void 0},meridiem:function(e,t,n){return e<11?"pagi":e<15?"tengahari":e<19?"petang":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Esok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kelmarin pukul] LT",lastWeek:"dddd [lepas pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lepas",s:"beberapa saat",ss:"%d saat",m:"seminit",mm:"%d minit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,doy:7}})}(n(0))},function(e,t,n){!function(e){"use strict";var t={1:"१",2:"२",3:"३",4:"४",5:"५",6:"६",7:"७",8:"८",9:"९",0:"०"},n={"१":"1","२":"2","३":"3","४":"4","५":"5","६":"6","७":"7","८":"8","९":"9","०":"0"};function a(e,t,n,a){var c="";if(t)switch(n){case"s":c="काही सेकंद";break;case"ss":c="%d सेकंद";break;case"m":c="एक मिनिट";break;case"mm":c="%d मिनिटे";break;case"h":c="एक तास";break;case"hh":c="%d तास";break;case"d":c="एक दिवस";break;case"dd":c="%d दिवस";break;case"M":c="एक महिना";break;case"MM":c="%d महिने";break;case"y":c="एक वर्ष";break;case"yy":c="%d वर्षे"}else switch(n){case"s":c="काही सेकंदां";break;case"ss":c="%d सेकंदां";break;case"m":c="एका मिनिटा";break;case"mm":c="%d मिनिटां";break;case"h":c="एका तासा";break;case"hh":c="%d तासां";break;case"d":c="एका दिवसा";break;case"dd":c="%d दिवसां";break;case"M":c="एका महिन्या";break;case"MM":c="%d महिन्यां";break;case"y":c="एका वर्षा";break;case"yy":c="%d वर्षां"}return c.replace(/%d/i,e)}e.defineLocale("mr",{months:"जानेवारी_फेब्रुवारी_मार्च_एप्रिल_मे_जून_जुलै_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर".split("_"),monthsShort:"जाने._फेब्रु._मार्च._एप्रि._मे._जून._जुलै._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.".split("_"),monthsParseExact:!0,weekdays:"रविवार_सोमवार_मंगळवार_बुधवार_गुरूवार_शुक्रवार_शनिवार".split("_"),weekdaysShort:"रवि_सोम_मंगळ_बुध_गुरू_शुक्र_शनि".split("_"),weekdaysMin:"र_सो_मं_बु_गु_शु_श".split("_"),longDateFormat:{LT:"A h:mm वाजता",LTS:"A h:mm:ss वाजता",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm वाजता",LLLL:"dddd, D MMMM YYYY, A h:mm वाजता"},calendar:{sameDay:"[आज] LT",nextDay:"[उद्या] LT",nextWeek:"dddd, LT",lastDay:"[काल] LT",lastWeek:"[मागील] dddd, LT",sameElse:"L"},relativeTime:{future:"%sमध्ये",past:"%sपूर्वी",s:a,ss:a,m:a,mm:a,h:a,hh:a,d:a,dd:a,M:a,MM:a,y:a,yy:a},preparse:function(e){return e.replace(/[१२३४५६७८९०]/g,function(e){return n[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return t[e]})},meridiemParse:/रात्री|सकाळी|दुपारी|सायंकाळी/,meridiemHour:function(e,t){return 12===e&&(e=0),"रात्री"===t?e<4?e:e+12:"सकाळी"===t?e:"दुपारी"===t?e>=10?e:e+12:"सायंकाळी"===t?e+12:void 0},meridiem:function(e,t,n){return e<4?"रात्री":e<10?"सकाळी":e<17?"दुपारी":e<20?"सायंकाळी":"रात्री"},week:{dow:0,doy:6}})}(n(0))},function(e,t,n){!function(e){"use strict";function t(e,t,n,a){switch(n){case"s":return t?"хэдхэн секунд":"хэдхэн секундын";case"ss":return e+(t?" секунд":" секундын");case"m":case"mm":return e+(t?" минут":" минутын");case"h":case"hh":return e+(t?" цаг":" цагийн");case"d":case"dd":return e+(t?" өдөр":" өдрийн");case"M":case"MM":return e+(t?" сар":" сарын");case"y":case"yy":return e+(t?" жил":" жилийн");default:return e}}e.defineLocale("mn",{months:"Нэгдүгээр сар_Хоёрдугаар сар_Гуравдугаар сар_Дөрөвдүгээр сар_Тавдугаар сар_Зургадугаар сар_Долдугаар сар_Наймдугаар сар_Есдүгээр сар_Аравдугаар сар_Арван нэгдүгээр сар_Арван хоёрдугаар сар".split("_"),monthsShort:"1 сар_2 сар_3 сар_4 сар_5 сар_6 сар_7 сар_8 сар_9 сар_10 сар_11 сар_12 сар".split("_"),monthsParseExact:!0,weekdays:"Ням_Даваа_Мягмар_Лхагва_Пүрэв_Баасан_Бямба".split("_"),weekdaysShort:"Ням_Дав_Мяг_Лха_Пүр_Баа_Бям".split("_"),weekdaysMin:"Ня_Да_Мя_Лх_Пү_Ба_Бя".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY оны MMMMын D",LLL:"YYYY оны MMMMын D HH:mm",LLLL:"dddd, YYYY оны MMMMын D HH:mm"},meridiemParse:/ҮӨ|ҮХ/i,isPM:function(e){return"ҮХ"===e},meridiem:function(e,t,n){return e<12?"ҮӨ":"ҮХ"},calendar:{sameDay:"[Өнөөдөр] LT",nextDay:"[Маргааш] LT",nextWeek:"[Ирэх] dddd LT",lastDay:"[Өчигдөр] LT",lastWeek:"[Өнгөрсөн] dddd LT",sameElse:"L"},relativeTime:{future:"%s дараа",past:"%s өмнө",s:t,ss:t,m:t,mm:t,h:t,hh:t,d:t,dd:t,M:t,MM:t,y:t,yy:t},dayOfMonthOrdinalParse:/\d{1,2} өдөр/,ordinal:function(e,t){switch(t){case"d":case"D":case"DDD":return e+" өдөр";default:return e}}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("ml",{months:"ജനുവരി_ഫെബ്രുവരി_മാർച്ച്_ഏപ്രിൽ_മേയ്_ജൂൺ_ജൂലൈ_ഓഗസ്റ്റ്_സെപ്റ്റംബർ_ഒക്ടോബർ_നവംബർ_ഡിസംബർ".split("_"),monthsShort:"ജനു._ഫെബ്രു._മാർ._ഏപ്രി._മേയ്_ജൂൺ_ജൂലൈ._ഓഗ._സെപ്റ്റ._ഒക്ടോ._നവം._ഡിസം.".split("_"),monthsParseExact:!0,weekdays:"ഞായറാഴ്ച_തിങ്കളാഴ്ച_ചൊവ്വാഴ്ച_ബുധനാഴ്ച_വ്യാഴാഴ്ച_വെള്ളിയാഴ്ച_ശനിയാഴ്ച".split("_"),weekdaysShort:"ഞായർ_തിങ്കൾ_ചൊവ്വ_ബുധൻ_വ്യാഴം_വെള്ളി_ശനി".split("_"),weekdaysMin:"ഞാ_തി_ചൊ_ബു_വ്യാ_വെ_ശ".split("_"),longDateFormat:{LT:"A h:mm -നു",LTS:"A h:mm:ss -നു",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm -നു",LLLL:"dddd, D MMMM YYYY, A h:mm -നു"},calendar:{sameDay:"[ഇന്ന്] LT",nextDay:"[നാളെ] LT",nextWeek:"dddd, LT",lastDay:"[ഇന്നലെ] LT",lastWeek:"[കഴിഞ്ഞ] dddd, LT",sameElse:"L"},relativeTime:{future:"%s കഴിഞ്ഞ്",past:"%s മുൻപ്",s:"അൽപ നിമിഷങ്ങൾ",ss:"%d സെക്കൻഡ്",m:"ഒരു മിനിറ്റ്",mm:"%d മിനിറ്റ്",h:"ഒരു മണിക്കൂർ",hh:"%d മണിക്കൂർ",d:"ഒരു ദിവസം",dd:"%d ദിവസം",M:"ഒരു മാസം",MM:"%d മാസം",y:"ഒരു വർഷം",yy:"%d വർഷം"},meridiemParse:/രാത്രി|രാവിലെ|ഉച്ച കഴിഞ്ഞ്|വൈകുന്നേരം|രാത്രി/i,meridiemHour:function(e,t){return 12===e&&(e=0),"രാത്രി"===t&&e>=4||"ഉച്ച കഴിഞ്ഞ്"===t||"വൈകുന്നേരം"===t?e+12:e},meridiem:function(e,t,n){return e<4?"രാത്രി":e<12?"രാവിലെ":e<17?"ഉച്ച കഴിഞ്ഞ്":e<20?"വൈകുന്നേരം":"രാത്രി"}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("mk",{months:"јануари_февруари_март_април_мај_јуни_јули_август_септември_октомври_ноември_декември".split("_"),monthsShort:"јан_фев_мар_апр_мај_јун_јул_авг_сеп_окт_ное_дек".split("_"),weekdays:"недела_понеделник_вторник_среда_четврток_петок_сабота".split("_"),weekdaysShort:"нед_пон_вто_сре_чет_пет_саб".split("_"),weekdaysMin:"нe_пo_вт_ср_че_пе_сa".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"D.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[Денес во] LT",nextDay:"[Утре во] LT",nextWeek:"[Во] dddd [во] LT",lastDay:"[Вчера во] LT",lastWeek:function(){switch(this.day()){case 0:case 3:case 6:return"[Изминатата] dddd [во] LT";case 1:case 2:case 4:case 5:return"[Изминатиот] dddd [во] LT"}},sameElse:"L"},relativeTime:{future:"после %s",past:"пред %s",s:"неколку секунди",ss:"%d секунди",m:"минута",mm:"%d минути",h:"час",hh:"%d часа",d:"ден",dd:"%d дена",M:"месец",MM:"%d месеци",y:"година",yy:"%d години"},dayOfMonthOrdinalParse:/\d{1,2}-(ев|ен|ти|ви|ри|ми)/,ordinal:function(e){var t=e%10,n=e%100;return 0===e?e+"-ев":0===n?e+"-ен":n>10&&n<20?e+"-ти":1===t?e+"-ви":2===t?e+"-ри":7===t||8===t?e+"-ми":e+"-ти"},week:{dow:1,doy:7}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("mi",{months:"Kohi-tāte_Hui-tanguru_Poutū-te-rangi_Paenga-whāwhā_Haratua_Pipiri_Hōngoingoi_Here-turi-kōkā_Mahuru_Whiringa-ā-nuku_Whiringa-ā-rangi_Hakihea".split("_"),monthsShort:"Kohi_Hui_Pou_Pae_Hara_Pipi_Hōngoi_Here_Mahu_Whi-nu_Whi-ra_Haki".split("_"),monthsRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,monthsStrictRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,monthsShortRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,monthsShortStrictRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,2}/i,weekdays:"Rātapu_Mane_Tūrei_Wenerei_Tāite_Paraire_Hātarei".split("_"),weekdaysShort:"Ta_Ma_Tū_We_Tāi_Pa_Hā".split("_"),weekdaysMin:"Ta_Ma_Tū_We_Tāi_Pa_Hā".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [i] HH:mm",LLLL:"dddd, D MMMM YYYY [i] HH:mm"},calendar:{sameDay:"[i teie mahana, i] LT",nextDay:"[apopo i] LT",nextWeek:"dddd [i] LT",lastDay:"[inanahi i] LT",lastWeek:"dddd [whakamutunga i] LT",sameElse:"L"},relativeTime:{future:"i roto i %s",past:"%s i mua",s:"te hēkona ruarua",ss:"%d hēkona",m:"he meneti",mm:"%d meneti",h:"te haora",hh:"%d haora",d:"he ra",dd:"%d ra",M:"he marama",MM:"%d marama",y:"he tau",yy:"%d tau"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}})}(n(0))},function(e,t,n){!function(e){"use strict";var t={words:{ss:["sekund","sekunda","sekundi"],m:["jedan minut","jednog minuta"],mm:["minut","minuta","minuta"],h:["jedan sat","jednog sata"],hh:["sat","sata","sati"],dd:["dan","dana","dana"],MM:["mjesec","mjeseca","mjeseci"],yy:["godina","godine","godina"]},correctGrammaticalCase:function(e,t){return 1===e?t[0]:e>=2&&e<=4?t[1]:t[2]},translate:function(e,n,a){var c=t.words[a];return 1===a.length?n?c[0]:c[1]:e+" "+t.correctGrammaticalCase(e,c)}};e.defineLocale("me",{months:"januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar".split("_"),monthsShort:"jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._čet._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_če_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sjutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[juče u] LT",lastWeek:function(){return["[prošle] [nedjelje] [u] LT","[prošlog] [ponedjeljka] [u] LT","[prošlog] [utorka] [u] LT","[prošle] [srijede] [u] LT","[prošlog] [četvrtka] [u] LT","[prošlog] [petka] [u] LT","[prošle] [subote] [u] LT"][this.day()]},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"nekoliko sekundi",ss:t.translate,m:t.translate,mm:t.translate,h:t.translate,hh:t.translate,d:"dan",dd:t.translate,M:"mjesec",MM:t.translate,y:"godinu",yy:t.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}(n(0))},function(e,t,n){!function(e){"use strict";var t={ss:"sekundes_sekundēm_sekunde_sekundes".split("_"),m:"minūtes_minūtēm_minūte_minūtes".split("_"),mm:"minūtes_minūtēm_minūte_minūtes".split("_"),h:"stundas_stundām_stunda_stundas".split("_"),hh:"stundas_stundām_stunda_stundas".split("_"),d:"dienas_dienām_diena_dienas".split("_"),dd:"dienas_dienām_diena_dienas".split("_"),M:"mēneša_mēnešiem_mēnesis_mēneši".split("_"),MM:"mēneša_mēnešiem_mēnesis_mēneši".split("_"),y:"gada_gadiem_gads_gadi".split("_"),yy:"gada_gadiem_gads_gadi".split("_")};function n(e,t,n){return n?t%10==1&&t%100!=11?e[2]:e[3]:t%10==1&&t%100!=11?e[0]:e[1]}function a(e,a,c){return e+" "+n(t[c],e,a)}function c(e,a,c){return n(t[c],e,a)}e.defineLocale("lv",{months:"janvāris_februāris_marts_aprīlis_maijs_jūnijs_jūlijs_augusts_septembris_oktobris_novembris_decembris".split("_"),monthsShort:"jan_feb_mar_apr_mai_jūn_jūl_aug_sep_okt_nov_dec".split("_"),weekdays:"svētdiena_pirmdiena_otrdiena_trešdiena_ceturtdiena_piektdiena_sestdiena".split("_"),weekdaysShort:"Sv_P_O_T_C_Pk_S".split("_"),weekdaysMin:"Sv_P_O_T_C_Pk_S".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY.",LL:"YYYY. [gada] D. MMMM",LLL:"YYYY. [gada] D. MMMM, HH:mm",LLLL:"YYYY. [gada] D. MMMM, dddd, HH:mm"},calendar:{sameDay:"[Šodien pulksten] LT",nextDay:"[Rīt pulksten] LT",nextWeek:"dddd [pulksten] LT",lastDay:"[Vakar pulksten] LT",lastWeek:"[Pagājušā] dddd [pulksten] LT",sameElse:"L"},relativeTime:{future:"pēc %s",past:"pirms %s",s:function(e,t){return t?"dažas sekundes":"dažām sekundēm"},ss:a,m:c,mm:a,h:c,hh:a,d:c,dd:a,M:c,MM:a,y:c,yy:a},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n(0))},function(e,t,n){!function(e){"use strict";var t={ss:"sekundė_sekundžių_sekundes",m:"minutė_minutės_minutę",mm:"minutės_minučių_minutes",h:"valanda_valandos_valandą",hh:"valandos_valandų_valandas",d:"diena_dienos_dieną",dd:"dienos_dienų_dienas",M:"mėnuo_mėnesio_mėnesį",MM:"mėnesiai_mėnesių_mėnesius",y:"metai_metų_metus",yy:"metai_metų_metus"};function n(e,t,n,a){return t?c(n)[0]:a?c(n)[1]:c(n)[2]}function a(e){return e%10==0||e>10&&e<20}function c(e){return t[e].split("_")}function o(e,t,o,i){var r=e+" ";return 1===e?r+n(0,t,o[0],i):t?r+(a(e)?c(o)[1]:c(o)[0]):i?r+c(o)[1]:r+(a(e)?c(o)[1]:c(o)[2])}e.defineLocale("lt",{months:{format:"sausio_vasario_kovo_balandžio_gegužės_birželio_liepos_rugpjūčio_rugsėjo_spalio_lapkričio_gruodžio".split("_"),standalone:"sausis_vasaris_kovas_balandis_gegužė_birželis_liepa_rugpjūtis_rugsėjis_spalis_lapkritis_gruodis".split("_"),isFormat:/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?|MMMM?(\[[^\[\]]*\]|\s)+D[oD]?/},monthsShort:"sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd".split("_"),weekdays:{format:"sekmadienį_pirmadienį_antradienį_trečiadienį_ketvirtadienį_penktadienį_šeštadienį".split("_"),standalone:"sekmadienis_pirmadienis_antradienis_trečiadienis_ketvirtadienis_penktadienis_šeštadienis".split("_"),isFormat:/dddd HH:mm/},weekdaysShort:"Sek_Pir_Ant_Tre_Ket_Pen_Šeš".split("_"),weekdaysMin:"S_P_A_T_K_Pn_Š".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY [m.] MMMM D [d.]",LLL:"YYYY [m.] MMMM D [d.], HH:mm [val.]",LLLL:"YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]",l:"YYYY-MM-DD",ll:"YYYY [m.] MMMM D [d.]",lll:"YYYY [m.] MMMM D [d.], HH:mm [val.]",llll:"YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]"},calendar:{sameDay:"[Šiandien] LT",nextDay:"[Rytoj] LT",nextWeek:"dddd LT",lastDay:"[Vakar] LT",lastWeek:"[Praėjusį] dddd LT",sameElse:"L"},relativeTime:{future:"po %s",past:"prieš %s",s:function(e,t,n,a){return t?"kelios sekundės":a?"kelių sekundžių":"kelias sekundes"},ss:o,m:n,mm:o,h:n,hh:o,d:n,dd:o,M:n,MM:o,y:n,yy:o},dayOfMonthOrdinalParse:/\d{1,2}-oji/,ordinal:function(e){return e+"-oji"},week:{dow:1,doy:4}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("lo",{months:"ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ".split("_"),monthsShort:"ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ".split("_"),weekdays:"ອາທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ".split("_"),weekdaysShort:"ທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ".split("_"),weekdaysMin:"ທ_ຈ_ອຄ_ພ_ພຫ_ສກ_ສ".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"ວັນdddd D MMMM YYYY HH:mm"},meridiemParse:/ຕອນເຊົ້າ|ຕອນແລງ/,isPM:function(e){return"ຕອນແລງ"===e},meridiem:function(e,t,n){return e<12?"ຕອນເຊົ້າ":"ຕອນແລງ"},calendar:{sameDay:"[ມື້ນີ້ເວລາ] LT",nextDay:"[ມື້ອື່ນເວລາ] LT",nextWeek:"[ວັນ]dddd[ໜ້າເວລາ] LT",lastDay:"[ມື້ວານນີ້ເວລາ] LT",lastWeek:"[ວັນ]dddd[ແລ້ວນີ້ເວລາ] LT",sameElse:"L"},relativeTime:{future:"ອີກ %s",past:"%sຜ່ານມາ",s:"ບໍ່ເທົ່າໃດວິນາທີ",ss:"%d ວິນາທີ",m:"1 ນາທີ",mm:"%d ນາທີ",h:"1 ຊົ່ວໂມງ",hh:"%d ຊົ່ວໂມງ",d:"1 ມື້",dd:"%d ມື້",M:"1 ເດືອນ",MM:"%d ເດືອນ",y:"1 ປີ",yy:"%d ປີ"},dayOfMonthOrdinalParse:/(ທີ່)\d{1,2}/,ordinal:function(e){return"ທີ່"+e}})}(n(0))},function(e,t,n){!function(e){"use strict";function t(e,t,n,a){var c={m:["eng Minutt","enger Minutt"],h:["eng Stonn","enger Stonn"],d:["een Dag","engem Dag"],M:["ee Mount","engem Mount"],y:["ee Joer","engem Joer"]};return t?c[n][0]:c[n][1]}function n(e){if(e=parseInt(e,10),isNaN(e))return!1;if(e<0)return!0;if(e<10)return 4<=e&&e<=7;if(e<100){var t=e%10,a=e/10;return n(0===t?a:t)}if(e<1e4){for(;e>=10;)e/=10;return n(e)}return n(e/=1e3)}e.defineLocale("lb",{months:"Januar_Februar_Mäerz_Abrëll_Mee_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonndeg_Méindeg_Dënschdeg_Mëttwoch_Donneschdeg_Freideg_Samschdeg".split("_"),weekdaysShort:"So._Mé._Dë._Më._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mé_Dë_Më_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm [Auer]",LTS:"H:mm:ss [Auer]",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm [Auer]",LLLL:"dddd, D. MMMM YYYY H:mm [Auer]"},calendar:{sameDay:"[Haut um] LT",sameElse:"L",nextDay:"[Muer um] LT",nextWeek:"dddd [um] LT",lastDay:"[Gëschter um] LT",lastWeek:function(){switch(this.day()){case 2:case 4:return"[Leschten] dddd [um] LT";default:return"[Leschte] dddd [um] LT"}}},relativeTime:{future:function(e){return n(e.substr(0,e.indexOf(" ")))?"a "+e:"an "+e},past:function(e){return n(e.substr(0,e.indexOf(" ")))?"viru "+e:"virun "+e},s:"e puer Sekonnen",ss:"%d Sekonnen",m:t,mm:"%d Minutten",h:t,hh:"%d Stonnen",d:t,dd:"%d Deeg",M:t,MM:"%d Méint",y:t,yy:"%d Joer"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n(0))},function(e,t,n){!function(e){"use strict";var t={0:"-чү",1:"-чи",2:"-чи",3:"-чү",4:"-чү",5:"-чи",6:"-чы",7:"-чи",8:"-чи",9:"-чу",10:"-чу",20:"-чы",30:"-чу",40:"-чы",50:"-чү",60:"-чы",70:"-чи",80:"-чи",90:"-чу",100:"-чү"};e.defineLocale("ky",{months:"январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь".split("_"),monthsShort:"янв_фев_март_апр_май_июнь_июль_авг_сен_окт_ноя_дек".split("_"),weekdays:"Жекшемби_Дүйшөмбү_Шейшемби_Шаршемби_Бейшемби_Жума_Ишемби".split("_"),weekdaysShort:"Жек_Дүй_Шей_Шар_Бей_Жум_Ише".split("_"),weekdaysMin:"Жк_Дй_Шй_Шр_Бй_Жм_Иш".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Бүгүн саат] LT",nextDay:"[Эртең саат] LT",nextWeek:"dddd [саат] LT",lastDay:"[Кече саат] LT",lastWeek:"[Өткен аптанын] dddd [күнү] [саат] LT",sameElse:"L"},relativeTime:{future:"%s ичинде",past:"%s мурун",s:"бирнече секунд",ss:"%d секунд",m:"бир мүнөт",mm:"%d мүнөт",h:"бир саат",hh:"%d саат",d:"бир күн",dd:"%d күн",M:"бир ай",MM:"%d ай",y:"бир жыл",yy:"%d жыл"},dayOfMonthOrdinalParse:/\d{1,2}-(чи|чы|чү|чу)/,ordinal:function(e){var n=e%10,a=e>=100?100:null;return e+(t[e]||t[n]||t[a])},week:{dow:1,doy:7}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("ko",{months:"1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월".split("_"),monthsShort:"1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월".split("_"),weekdays:"일요일_월요일_화요일_수요일_목요일_금요일_토요일".split("_"),weekdaysShort:"일_월_화_수_목_금_토".split("_"),weekdaysMin:"일_월_화_수_목_금_토".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"YYYY.MM.DD.",LL:"YYYY년 MMMM D일",LLL:"YYYY년 MMMM D일 A h:mm",LLLL:"YYYY년 MMMM D일 dddd A h:mm",l:"YYYY.MM.DD.",ll:"YYYY년 MMMM D일",lll:"YYYY년 MMMM D일 A h:mm",llll:"YYYY년 MMMM D일 dddd A h:mm"},calendar:{sameDay:"오늘 LT",nextDay:"내일 LT",nextWeek:"dddd LT",lastDay:"어제 LT",lastWeek:"지난주 dddd LT",sameElse:"L"},relativeTime:{future:"%s 후",past:"%s 전",s:"몇 초",ss:"%d초",m:"1분",mm:"%d분",h:"한 시간",hh:"%d시간",d:"하루",dd:"%d일",M:"한 달",MM:"%d달",y:"일 년",yy:"%d년"},dayOfMonthOrdinalParse:/\d{1,2}(일|월|주)/,ordinal:function(e,t){switch(t){case"d":case"D":case"DDD":return e+"일";case"M":return e+"월";case"w":case"W":return e+"주";default:return e}},meridiemParse:/오전|오후/,isPM:function(e){return"오후"===e},meridiem:function(e,t,n){return e<12?"오전":"오후"}})}(n(0))},function(e,t,n){!function(e){"use strict";var t={1:"೧",2:"೨",3:"೩",4:"೪",5:"೫",6:"೬",7:"೭",8:"೮",9:"೯",0:"೦"},n={"೧":"1","೨":"2","೩":"3","೪":"4","೫":"5","೬":"6","೭":"7","೮":"8","೯":"9","೦":"0"};e.defineLocale("kn",{months:"ಜನವರಿ_ಫೆಬ್ರವರಿ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂಬರ್_ಅಕ್ಟೋಬರ್_ನವೆಂಬರ್_ಡಿಸೆಂಬರ್".split("_"),monthsShort:"ಜನ_ಫೆಬ್ರ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂ_ಅಕ್ಟೋ_ನವೆಂ_ಡಿಸೆಂ".split("_"),monthsParseExact:!0,weekdays:"ಭಾನುವಾರ_ಸೋಮವಾರ_ಮಂಗಳವಾರ_ಬುಧವಾರ_ಗುರುವಾರ_ಶುಕ್ರವಾರ_ಶನಿವಾರ".split("_"),weekdaysShort:"ಭಾನು_ಸೋಮ_ಮಂಗಳ_ಬುಧ_ಗುರು_ಶುಕ್ರ_ಶನಿ".split("_"),weekdaysMin:"ಭಾ_ಸೋ_ಮಂ_ಬು_ಗು_ಶು_ಶ".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm",LLLL:"dddd, D MMMM YYYY, A h:mm"},calendar:{sameDay:"[ಇಂದು] LT",nextDay:"[ನಾಳೆ] LT",nextWeek:"dddd, LT",lastDay:"[ನಿನ್ನೆ] LT",lastWeek:"[ಕೊನೆಯ] dddd, LT",sameElse:"L"},relativeTime:{future:"%s ನಂತರ",past:"%s ಹಿಂದೆ",s:"ಕೆಲವು ಕ್ಷಣಗಳು",ss:"%d ಸೆಕೆಂಡುಗಳು",m:"ಒಂದು ನಿಮಿಷ",mm:"%d ನಿಮಿಷ",h:"ಒಂದು ಗಂಟೆ",hh:"%d ಗಂಟೆ",d:"ಒಂದು ದಿನ",dd:"%d ದಿನ",M:"ಒಂದು ತಿಂಗಳು",MM:"%d ತಿಂಗಳು",y:"ಒಂದು ವರ್ಷ",yy:"%d ವರ್ಷ"},preparse:function(e){return e.replace(/[೧೨೩೪೫೬೭೮೯೦]/g,function(e){return n[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return t[e]})},meridiemParse:/ರಾತ್ರಿ|ಬೆಳಿಗ್ಗೆ|ಮಧ್ಯಾಹ್ನ|ಸಂಜೆ/,meridiemHour:function(e,t){return 12===e&&(e=0),"ರಾತ್ರಿ"===t?e<4?e:e+12:"ಬೆಳಿಗ್ಗೆ"===t?e:"ಮಧ್ಯಾಹ್ನ"===t?e>=10?e:e+12:"ಸಂಜೆ"===t?e+12:void 0},meridiem:function(e,t,n){return e<4?"ರಾತ್ರಿ":e<10?"ಬೆಳಿಗ್ಗೆ":e<17?"ಮಧ್ಯಾಹ್ನ":e<20?"ಸಂಜೆ":"ರಾತ್ರಿ"},dayOfMonthOrdinalParse:/\d{1,2}(ನೇ)/,ordinal:function(e){return e+"ನೇ"},week:{dow:0,doy:6}})}(n(0))},function(e,t,n){!function(e){"use strict";var t={1:"១",2:"២",3:"៣",4:"៤",5:"៥",6:"៦",7:"៧",8:"៨",9:"៩",0:"០"},n={"១":"1","២":"2","៣":"3","៤":"4","៥":"5","៦":"6","៧":"7","៨":"8","៩":"9","០":"0"};e.defineLocale("km",{months:"មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ".split("_"),monthsShort:"មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ".split("_"),weekdays:"អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍".split("_"),weekdaysShort:"អា_ច_អ_ព_ព្រ_សុ_ស".split("_"),weekdaysMin:"អា_ច_អ_ព_ព្រ_សុ_ស".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},meridiemParse:/ព្រឹក|ល្ងាច/,isPM:function(e){return"ល្ងាច"===e},meridiem:function(e,t,n){return e<12?"ព្រឹក":"ល្ងាច"},calendar:{sameDay:"[ថ្ងៃនេះ ម៉ោង] LT",nextDay:"[ស្អែក ម៉ោង] LT",nextWeek:"dddd [ម៉ោង] LT",lastDay:"[ម្សិលមិញ ម៉ោង] LT",lastWeek:"dddd [សប្តាហ៍មុន] [ម៉ោង] LT",sameElse:"L"},relativeTime:{future:"%sទៀត",past:"%sមុន",s:"ប៉ុន្មានវិនាទី",ss:"%d វិនាទី",m:"មួយនាទី",mm:"%d នាទី",h:"មួយម៉ោង",hh:"%d ម៉ោង",d:"មួយថ្ងៃ",dd:"%d ថ្ងៃ",M:"មួយខែ",MM:"%d ខែ",y:"មួយឆ្នាំ",yy:"%d ឆ្នាំ"},dayOfMonthOrdinalParse:/ទី\d{1,2}/,ordinal:"ទី%d",preparse:function(e){return e.replace(/[១២៣៤៥៦៧៨៩០]/g,function(e){return n[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return t[e]})},week:{dow:1,doy:4}})}(n(0))},function(e,t,n){!function(e){"use strict";var t={0:"-ші",1:"-ші",2:"-ші",3:"-ші",4:"-ші",5:"-ші",6:"-шы",7:"-ші",8:"-ші",9:"-шы",10:"-шы",20:"-шы",30:"-шы",40:"-шы",50:"-ші",60:"-шы",70:"-ші",80:"-ші",90:"-шы",100:"-ші"};e.defineLocale("kk",{months:"қаңтар_ақпан_наурыз_сәуір_мамыр_маусым_шілде_тамыз_қыркүйек_қазан_қараша_желтоқсан".split("_"),monthsShort:"қаң_ақп_нау_сәу_мам_мау_шіл_там_қыр_қаз_қар_жел".split("_"),weekdays:"жексенбі_дүйсенбі_сейсенбі_сәрсенбі_бейсенбі_жұма_сенбі".split("_"),weekdaysShort:"жек_дүй_сей_сәр_бей_жұм_сен".split("_"),weekdaysMin:"жк_дй_сй_ср_бй_жм_сн".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Бүгін сағат] LT",nextDay:"[Ертең сағат] LT",nextWeek:"dddd [сағат] LT",lastDay:"[Кеше сағат] LT",lastWeek:"[Өткен аптаның] dddd [сағат] LT",sameElse:"L"},relativeTime:{future:"%s ішінде",past:"%s бұрын",s:"бірнеше секунд",ss:"%d секунд",m:"бір минут",mm:"%d минут",h:"бір сағат",hh:"%d сағат",d:"бір күн",dd:"%d күн",M:"бір ай",MM:"%d ай",y:"бір жыл",yy:"%d жыл"},dayOfMonthOrdinalParse:/\d{1,2}-(ші|шы)/,ordinal:function(e){var n=e%10,a=e>=100?100:null;return e+(t[e]||t[n]||t[a])},week:{dow:1,doy:7}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("ka",{months:{standalone:"იანვარი_თებერვალი_მარტი_აპრილი_მაისი_ივნისი_ივლისი_აგვისტო_სექტემბერი_ოქტომბერი_ნოემბერი_დეკემბერი".split("_"),format:"იანვარს_თებერვალს_მარტს_აპრილის_მაისს_ივნისს_ივლისს_აგვისტს_სექტემბერს_ოქტომბერს_ნოემბერს_დეკემბერს".split("_")},monthsShort:"იან_თებ_მარ_აპრ_მაი_ივნ_ივლ_აგვ_სექ_ოქტ_ნოე_დეკ".split("_"),weekdays:{standalone:"კვირა_ორშაბათი_სამშაბათი_ოთხშაბათი_ხუთშაბათი_პარასკევი_შაბათი".split("_"),format:"კვირას_ორშაბათს_სამშაბათს_ოთხშაბათს_ხუთშაბათს_პარასკევს_შაბათს".split("_"),isFormat:/(წინა|შემდეგ)/},weekdaysShort:"კვი_ორშ_სამ_ოთხ_ხუთ_პარ_შაბ".split("_"),weekdaysMin:"კვ_ორ_სა_ოთ_ხუ_პა_შა".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[დღეს] LT[-ზე]",nextDay:"[ხვალ] LT[-ზე]",lastDay:"[გუშინ] LT[-ზე]",nextWeek:"[შემდეგ] dddd LT[-ზე]",lastWeek:"[წინა] dddd LT-ზე",sameElse:"L"},relativeTime:{future:function(e){return/(წამი|წუთი|საათი|წელი)/.test(e)?e.replace(/ი$/,"ში"):e+"ში"},past:function(e){return/(წამი|წუთი|საათი|დღე|თვე)/.test(e)?e.replace(/(ი|ე)$/,"ის წინ"):/წელი/.test(e)?e.replace(/წელი$/,"წლის წინ"):void 0},s:"რამდენიმე წამი",ss:"%d წამი",m:"წუთი",mm:"%d წუთი",h:"საათი",hh:"%d საათი",d:"დღე",dd:"%d დღე",M:"თვე",MM:"%d თვე",y:"წელი",yy:"%d წელი"},dayOfMonthOrdinalParse:/0|1-ლი|მე-\d{1,2}|\d{1,2}-ე/,ordinal:function(e){return 0===e?e:1===e?e+"-ლი":e<20||e<=100&&e%20==0||e%100==0?"მე-"+e:e+"-ე"},week:{dow:1,doy:7}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("jv",{months:"Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember".split("_"),monthsShort:"Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des".split("_"),weekdays:"Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu".split("_"),weekdaysShort:"Min_Sen_Sel_Reb_Kem_Jem_Sep".split("_"),weekdaysMin:"Mg_Sn_Sl_Rb_Km_Jm_Sp".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/enjing|siyang|sonten|ndalu/,meridiemHour:function(e,t){return 12===e&&(e=0),"enjing"===t?e:"siyang"===t?e>=11?e:e+12:"sonten"===t||"ndalu"===t?e+12:void 0},meridiem:function(e,t,n){return e<11?"enjing":e<15?"siyang":e<19?"sonten":"ndalu"},calendar:{sameDay:"[Dinten puniko pukul] LT",nextDay:"[Mbenjang pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kala wingi pukul] LT",lastWeek:"dddd [kepengker pukul] LT",sameElse:"L"},relativeTime:{future:"wonten ing %s",past:"%s ingkang kepengker",s:"sawetawis detik",ss:"%d detik",m:"setunggal menit",mm:"%d menit",h:"setunggal jam",hh:"%d jam",d:"sedinten",dd:"%d dinten",M:"sewulan",MM:"%d wulan",y:"setaun",yy:"%d taun"},week:{dow:1,doy:7}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("ja",{months:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),weekdays:"日曜日_月曜日_火曜日_水曜日_木曜日_金曜日_土曜日".split("_"),weekdaysShort:"日_月_火_水_木_金_土".split("_"),weekdaysMin:"日_月_火_水_木_金_土".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY年M月D日",LLL:"YYYY年M月D日 HH:mm",LLLL:"YYYY年M月D日 dddd HH:mm",l:"YYYY/MM/DD",ll:"YYYY年M月D日",lll:"YYYY年M月D日 HH:mm",llll:"YYYY年M月D日(ddd) HH:mm"},meridiemParse:/午前|午後/i,isPM:function(e){return"午後"===e},meridiem:function(e,t,n){return e<12?"午前":"午後"},calendar:{sameDay:"[今日] LT",nextDay:"[明日] LT",nextWeek:function(e){return e.week()=11?e:e+12:"sore"===t||"malam"===t?e+12:void 0},meridiem:function(e,t,n){return e<11?"pagi":e<15?"siang":e<19?"sore":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Besok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kemarin pukul] LT",lastWeek:"dddd [lalu pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lalu",s:"beberapa detik",ss:"%d detik",m:"semenit",mm:"%d menit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,doy:7}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("hy-am",{months:{format:"հունվարի_փետրվարի_մարտի_ապրիլի_մայիսի_հունիսի_հուլիսի_օգոստոսի_սեպտեմբերի_հոկտեմբերի_նոյեմբերի_դեկտեմբերի".split("_"),standalone:"հունվար_փետրվար_մարտ_ապրիլ_մայիս_հունիս_հուլիս_օգոստոս_սեպտեմբեր_հոկտեմբեր_նոյեմբեր_դեկտեմբեր".split("_")},monthsShort:"հնվ_փտր_մրտ_ապր_մյս_հնս_հլս_օգս_սպտ_հկտ_նմբ_դկտ".split("_"),weekdays:"կիրակի_երկուշաբթի_երեքշաբթի_չորեքշաբթի_հինգշաբթի_ուրբաթ_շաբաթ".split("_"),weekdaysShort:"կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ".split("_"),weekdaysMin:"կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY թ.",LLL:"D MMMM YYYY թ., HH:mm",LLLL:"dddd, D MMMM YYYY թ., HH:mm"},calendar:{sameDay:"[այսօր] LT",nextDay:"[վաղը] LT",lastDay:"[երեկ] LT",nextWeek:function(){return"dddd [օրը ժամը] LT"},lastWeek:function(){return"[անցած] dddd [օրը ժամը] LT"},sameElse:"L"},relativeTime:{future:"%s հետո",past:"%s առաջ",s:"մի քանի վայրկյան",ss:"%d վայրկյան",m:"րոպե",mm:"%d րոպե",h:"ժամ",hh:"%d ժամ",d:"օր",dd:"%d օր",M:"ամիս",MM:"%d ամիս",y:"տարի",yy:"%d տարի"},meridiemParse:/գիշերվա|առավոտվա|ցերեկվա|երեկոյան/,isPM:function(e){return/^(ցերեկվա|երեկոյան)$/.test(e)},meridiem:function(e){return e<4?"գիշերվա":e<12?"առավոտվա":e<17?"ցերեկվա":"երեկոյան"},dayOfMonthOrdinalParse:/\d{1,2}|\d{1,2}-(ին|րդ)/,ordinal:function(e,t){switch(t){case"DDD":case"w":case"W":case"DDDo":return 1===e?e+"-ին":e+"-րդ";default:return e}},week:{dow:1,doy:7}})}(n(0))},function(e,t,n){!function(e){"use strict";var t="vasárnap hétfőn kedden szerdán csütörtökön pénteken szombaton".split(" ");function n(e,t,n,a){var c=e;switch(n){case"s":return a||t?"néhány másodperc":"néhány másodperce";case"ss":return c+(a||t)?" másodperc":" másodperce";case"m":return"egy"+(a||t?" perc":" perce");case"mm":return c+(a||t?" perc":" perce");case"h":return"egy"+(a||t?" óra":" órája");case"hh":return c+(a||t?" óra":" órája");case"d":return"egy"+(a||t?" nap":" napja");case"dd":return c+(a||t?" nap":" napja");case"M":return"egy"+(a||t?" hónap":" hónapja");case"MM":return c+(a||t?" hónap":" hónapja");case"y":return"egy"+(a||t?" év":" éve");case"yy":return c+(a||t?" év":" éve")}return""}function a(e){return(e?"":"[múlt] ")+"["+t[this.day()]+"] LT[-kor]"}e.defineLocale("hu",{months:"január_február_március_április_május_június_július_augusztus_szeptember_október_november_december".split("_"),monthsShort:"jan_feb_márc_ápr_máj_jún_júl_aug_szept_okt_nov_dec".split("_"),weekdays:"vasárnap_hétfő_kedd_szerda_csütörtök_péntek_szombat".split("_"),weekdaysShort:"vas_hét_kedd_sze_csüt_pén_szo".split("_"),weekdaysMin:"v_h_k_sze_cs_p_szo".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"YYYY.MM.DD.",LL:"YYYY. MMMM D.",LLL:"YYYY. MMMM D. H:mm",LLLL:"YYYY. MMMM D., dddd H:mm"},meridiemParse:/de|du/i,isPM:function(e){return"u"===e.charAt(1).toLowerCase()},meridiem:function(e,t,n){return e<12?!0===n?"de":"DE":!0===n?"du":"DU"},calendar:{sameDay:"[ma] LT[-kor]",nextDay:"[holnap] LT[-kor]",nextWeek:function(){return a.call(this,!0)},lastDay:"[tegnap] LT[-kor]",lastWeek:function(){return a.call(this,!1)},sameElse:"L"},relativeTime:{future:"%s múlva",past:"%s",s:n,ss:n,m:n,mm:n,h:n,hh:n,d:n,dd:n,M:n,MM:n,y:n,yy:n},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n(0))},function(e,t,n){!function(e){"use strict";function t(e,t,n){var a=e+" ";switch(n){case"ss":return a+=1===e?"sekunda":2===e||3===e||4===e?"sekunde":"sekundi";case"m":return t?"jedna minuta":"jedne minute";case"mm":return a+=1===e?"minuta":2===e||3===e||4===e?"minute":"minuta";case"h":return t?"jedan sat":"jednog sata";case"hh":return a+=1===e?"sat":2===e||3===e||4===e?"sata":"sati";case"dd":return a+=1===e?"dan":"dana";case"MM":return a+=1===e?"mjesec":2===e||3===e||4===e?"mjeseca":"mjeseci";case"yy":return a+=1===e?"godina":2===e||3===e||4===e?"godine":"godina"}}e.defineLocale("hr",{months:{format:"siječnja_veljače_ožujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca".split("_"),standalone:"siječanj_veljača_ožujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac".split("_")},monthsShort:"sij._velj._ožu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.".split("_"),monthsParseExact:!0,weekdays:"nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._čet._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_če_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[jučer u] LT",lastWeek:function(){switch(this.day()){case 0:case 3:return"[prošlu] dddd [u] LT";case 6:return"[prošle] [subote] [u] LT";case 1:case 2:case 4:case 5:return"[prošli] dddd [u] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"par sekundi",ss:t,m:t,mm:t,h:t,hh:t,d:"dan",dd:t,M:"mjesec",MM:t,y:"godinu",yy:t},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}(n(0))},function(e,t,n){!function(e){"use strict";var t={1:"१",2:"२",3:"३",4:"४",5:"५",6:"६",7:"७",8:"८",9:"९",0:"०"},n={"१":"1","२":"2","३":"3","४":"4","५":"5","६":"6","७":"7","८":"8","९":"9","०":"0"};e.defineLocale("hi",{months:"जनवरी_फ़रवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितम्बर_अक्टूबर_नवम्बर_दिसम्बर".split("_"),monthsShort:"जन._फ़र._मार्च_अप्रै._मई_जून_जुल._अग._सित._अक्टू._नव._दिस.".split("_"),monthsParseExact:!0,weekdays:"रविवार_सोमवार_मंगलवार_बुधवार_गुरूवार_शुक्रवार_शनिवार".split("_"),weekdaysShort:"रवि_सोम_मंगल_बुध_गुरू_शुक्र_शनि".split("_"),weekdaysMin:"र_सो_मं_बु_गु_शु_श".split("_"),longDateFormat:{LT:"A h:mm बजे",LTS:"A h:mm:ss बजे",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm बजे",LLLL:"dddd, D MMMM YYYY, A h:mm बजे"},calendar:{sameDay:"[आज] LT",nextDay:"[कल] LT",nextWeek:"dddd, LT",lastDay:"[कल] LT",lastWeek:"[पिछले] dddd, LT",sameElse:"L"},relativeTime:{future:"%s में",past:"%s पहले",s:"कुछ ही क्षण",ss:"%d सेकंड",m:"एक मिनट",mm:"%d मिनट",h:"एक घंटा",hh:"%d घंटे",d:"एक दिन",dd:"%d दिन",M:"एक महीने",MM:"%d महीने",y:"एक वर्ष",yy:"%d वर्ष"},preparse:function(e){return e.replace(/[१२३४५६७८९०]/g,function(e){return n[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return t[e]})},meridiemParse:/रात|सुबह|दोपहर|शाम/,meridiemHour:function(e,t){return 12===e&&(e=0),"रात"===t?e<4?e:e+12:"सुबह"===t?e:"दोपहर"===t?e>=10?e:e+12:"शाम"===t?e+12:void 0},meridiem:function(e,t,n){return e<4?"रात":e<10?"सुबह":e<17?"दोपहर":e<20?"शाम":"रात"},week:{dow:0,doy:6}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("he",{months:"ינואר_פברואר_מרץ_אפריל_מאי_יוני_יולי_אוגוסט_ספטמבר_אוקטובר_נובמבר_דצמבר".split("_"),monthsShort:"ינו׳_פבר׳_מרץ_אפר׳_מאי_יוני_יולי_אוג׳_ספט׳_אוק׳_נוב׳_דצמ׳".split("_"),weekdays:"ראשון_שני_שלישי_רביעי_חמישי_שישי_שבת".split("_"),weekdaysShort:"א׳_ב׳_ג׳_ד׳_ה׳_ו׳_ש׳".split("_"),weekdaysMin:"א_ב_ג_ד_ה_ו_ש".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [ב]MMMM YYYY",LLL:"D [ב]MMMM YYYY HH:mm",LLLL:"dddd, D [ב]MMMM YYYY HH:mm",l:"D/M/YYYY",ll:"D MMM YYYY",lll:"D MMM YYYY HH:mm",llll:"ddd, D MMM YYYY HH:mm"},calendar:{sameDay:"[היום ב־]LT",nextDay:"[מחר ב־]LT",nextWeek:"dddd [בשעה] LT",lastDay:"[אתמול ב־]LT",lastWeek:"[ביום] dddd [האחרון בשעה] LT",sameElse:"L"},relativeTime:{future:"בעוד %s",past:"לפני %s",s:"מספר שניות",ss:"%d שניות",m:"דקה",mm:"%d דקות",h:"שעה",hh:function(e){return 2===e?"שעתיים":e+" שעות"},d:"יום",dd:function(e){return 2===e?"יומיים":e+" ימים"},M:"חודש",MM:function(e){return 2===e?"חודשיים":e+" חודשים"},y:"שנה",yy:function(e){return 2===e?"שנתיים":e%10==0&&10!==e?e+" שנה":e+" שנים"}},meridiemParse:/אחה"צ|לפנה"צ|אחרי הצהריים|לפני הצהריים|לפנות בוקר|בבוקר|בערב/i,isPM:function(e){return/^(אחה"צ|אחרי הצהריים|בערב)$/.test(e)},meridiem:function(e,t,n){return e<5?"לפנות בוקר":e<10?"בבוקר":e<12?n?'לפנה"צ':"לפני הצהריים":e<18?n?'אחה"צ':"אחרי הצהריים":"בערב"}})}(n(0))},function(e,t,n){!function(e){"use strict";var t={1:"૧",2:"૨",3:"૩",4:"૪",5:"૫",6:"૬",7:"૭",8:"૮",9:"૯",0:"૦"},n={"૧":"1","૨":"2","૩":"3","૪":"4","૫":"5","૬":"6","૭":"7","૮":"8","૯":"9","૦":"0"};e.defineLocale("gu",{months:"જાન્યુઆરી_ફેબ્રુઆરી_માર્ચ_એપ્રિલ_મે_જૂન_જુલાઈ_ઑગસ્ટ_સપ્ટેમ્બર_ઑક્ટ્બર_નવેમ્બર_ડિસેમ્બર".split("_"),monthsShort:"જાન્યુ._ફેબ્રુ._માર્ચ_એપ્રિ._મે_જૂન_જુલા._ઑગ._સપ્ટે._ઑક્ટ્._નવે._ડિસે.".split("_"),monthsParseExact:!0,weekdays:"રવિવાર_સોમવાર_મંગળવાર_બુધ્વાર_ગુરુવાર_શુક્રવાર_શનિવાર".split("_"),weekdaysShort:"રવિ_સોમ_મંગળ_બુધ્_ગુરુ_શુક્ર_શનિ".split("_"),weekdaysMin:"ર_સો_મં_બુ_ગુ_શુ_શ".split("_"),longDateFormat:{LT:"A h:mm વાગ્યે",LTS:"A h:mm:ss વાગ્યે",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm વાગ્યે",LLLL:"dddd, D MMMM YYYY, A h:mm વાગ્યે"},calendar:{sameDay:"[આજ] LT",nextDay:"[કાલે] LT",nextWeek:"dddd, LT",lastDay:"[ગઇકાલે] LT",lastWeek:"[પાછલા] dddd, LT",sameElse:"L"},relativeTime:{future:"%s મા",past:"%s પેહલા",s:"અમુક પળો",ss:"%d સેકંડ",m:"એક મિનિટ",mm:"%d મિનિટ",h:"એક કલાક",hh:"%d કલાક",d:"એક દિવસ",dd:"%d દિવસ",M:"એક મહિનો",MM:"%d મહિનો",y:"એક વર્ષ",yy:"%d વર્ષ"},preparse:function(e){return e.replace(/[૧૨૩૪૫૬૭૮૯૦]/g,function(e){return n[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return t[e]})},meridiemParse:/રાત|બપોર|સવાર|સાંજ/,meridiemHour:function(e,t){return 12===e&&(e=0),"રાત"===t?e<4?e:e+12:"સવાર"===t?e:"બપોર"===t?e>=10?e:e+12:"સાંજ"===t?e+12:void 0},meridiem:function(e,t,n){return e<4?"રાત":e<10?"સવાર":e<17?"બપોર":e<20?"સાંજ":"રાત"},week:{dow:0,doy:6}})}(n(0))},function(e,t,n){!function(e){"use strict";function t(e,t,n,a){var c={s:["thodde secondanim","thodde second"],ss:[e+" secondanim",e+" second"],m:["eka mintan","ek minute"],mm:[e+" mintanim",e+" mintam"],h:["eka horan","ek hor"],hh:[e+" horanim",e+" horam"],d:["eka disan","ek dis"],dd:[e+" disanim",e+" dis"],M:["eka mhoinean","ek mhoino"],MM:[e+" mhoineanim",e+" mhoine"],y:["eka vorsan","ek voros"],yy:[e+" vorsanim",e+" vorsam"]};return t?c[n][0]:c[n][1]}e.defineLocale("gom-latn",{months:"Janer_Febrer_Mars_Abril_Mai_Jun_Julai_Agost_Setembr_Otubr_Novembr_Dezembr".split("_"),monthsShort:"Jan._Feb._Mars_Abr._Mai_Jun_Jul._Ago._Set._Otu._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Aitar_Somar_Mongllar_Budvar_Brestar_Sukrar_Son'var".split("_"),weekdaysShort:"Ait._Som._Mon._Bud._Bre._Suk._Son.".split("_"),weekdaysMin:"Ai_Sm_Mo_Bu_Br_Su_Sn".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"A h:mm [vazta]",LTS:"A h:mm:ss [vazta]",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY A h:mm [vazta]",LLLL:"dddd, MMMM[achea] Do, YYYY, A h:mm [vazta]",llll:"ddd, D MMM YYYY, A h:mm [vazta]"},calendar:{sameDay:"[Aiz] LT",nextDay:"[Faleam] LT",nextWeek:"[Ieta to] dddd[,] LT",lastDay:"[Kal] LT",lastWeek:"[Fatlo] dddd[,] LT",sameElse:"L"},relativeTime:{future:"%s",past:"%s adim",s:t,ss:t,m:t,mm:t,h:t,hh:t,d:t,dd:t,M:t,MM:t,y:t,yy:t},dayOfMonthOrdinalParse:/\d{1,2}(er)/,ordinal:function(e,t){switch(t){case"D":return e+"er";default:case"M":case"Q":case"DDD":case"d":case"w":case"W":return e}},week:{dow:1,doy:4},meridiemParse:/rati|sokalli|donparam|sanje/,meridiemHour:function(e,t){return 12===e&&(e=0),"rati"===t?e<4?e:e+12:"sokalli"===t?e:"donparam"===t?e>12?e:e+12:"sanje"===t?e+12:void 0},meridiem:function(e,t,n){return e<4?"rati":e<12?"sokalli":e<16?"donparam":e<20?"sanje":"rati"}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("gl",{months:"xaneiro_febreiro_marzo_abril_maio_xuño_xullo_agosto_setembro_outubro_novembro_decembro".split("_"),monthsShort:"xan._feb._mar._abr._mai._xuñ._xul._ago._set._out._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"domingo_luns_martes_mércores_xoves_venres_sábado".split("_"),weekdaysShort:"dom._lun._mar._mér._xov._ven._sáb.".split("_"),weekdaysMin:"do_lu_ma_mé_xo_ve_sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY H:mm",LLLL:"dddd, D [de] MMMM [de] YYYY H:mm"},calendar:{sameDay:function(){return"[hoxe "+(1!==this.hours()?"ás":"á")+"] LT"},nextDay:function(){return"[mañá "+(1!==this.hours()?"ás":"á")+"] LT"},nextWeek:function(){return"dddd ["+(1!==this.hours()?"ás":"a")+"] LT"},lastDay:function(){return"[onte "+(1!==this.hours()?"á":"a")+"] LT"},lastWeek:function(){return"[o] dddd [pasado "+(1!==this.hours()?"ás":"a")+"] LT"},sameElse:"L"},relativeTime:{future:function(e){return 0===e.indexOf("un")?"n"+e:"en "+e},past:"hai %s",s:"uns segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"unha hora",hh:"%d horas",d:"un día",dd:"%d días",M:"un mes",MM:"%d meses",y:"un ano",yy:"%d anos"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("gd",{months:["Am Faoilleach","An Gearran","Am Màrt","An Giblean","An Cèitean","An t-Ògmhios","An t-Iuchar","An Lùnastal","An t-Sultain","An Dàmhair","An t-Samhain","An Dùbhlachd"],monthsShort:["Faoi","Gear","Màrt","Gibl","Cèit","Ògmh","Iuch","Lùn","Sult","Dàmh","Samh","Dùbh"],monthsParseExact:!0,weekdays:["Didòmhnaich","Diluain","Dimàirt","Diciadain","Diardaoin","Dihaoine","Disathairne"],weekdaysShort:["Did","Dil","Dim","Dic","Dia","Dih","Dis"],weekdaysMin:["Dò","Lu","Mà","Ci","Ar","Ha","Sa"],longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[An-diugh aig] LT",nextDay:"[A-màireach aig] LT",nextWeek:"dddd [aig] LT",lastDay:"[An-dè aig] LT",lastWeek:"dddd [seo chaidh] [aig] LT",sameElse:"L"},relativeTime:{future:"ann an %s",past:"bho chionn %s",s:"beagan diogan",ss:"%d diogan",m:"mionaid",mm:"%d mionaidean",h:"uair",hh:"%d uairean",d:"latha",dd:"%d latha",M:"mìos",MM:"%d mìosan",y:"bliadhna",yy:"%d bliadhna"},dayOfMonthOrdinalParse:/\d{1,2}(d|na|mh)/,ordinal:function(e){var t=1===e?"d":e%10==2?"na":"mh";return e+t},week:{dow:1,doy:4}})}(n(0))},function(e,t,n){!function(e){"use strict";var t="jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.".split("_"),n="jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_");e.defineLocale("fy",{months:"jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber".split("_"),monthsShort:function(e,a){return e?/-MMM-/.test(a)?n[e.month()]:t[e.month()]:t},monthsParseExact:!0,weekdays:"snein_moandei_tiisdei_woansdei_tongersdei_freed_sneon".split("_"),weekdaysShort:"si._mo._ti._wo._to._fr._so.".split("_"),weekdaysMin:"Si_Mo_Ti_Wo_To_Fr_So".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[hjoed om] LT",nextDay:"[moarn om] LT",nextWeek:"dddd [om] LT",lastDay:"[juster om] LT",lastWeek:"[ôfrûne] dddd [om] LT",sameElse:"L"},relativeTime:{future:"oer %s",past:"%s lyn",s:"in pear sekonden",ss:"%d sekonden",m:"ien minút",mm:"%d minuten",h:"ien oere",hh:"%d oeren",d:"ien dei",dd:"%d dagen",M:"ien moanne",MM:"%d moannen",y:"ien jier",yy:"%d jierren"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(e){return e+(1===e||8===e||e>=20?"ste":"de")},week:{dow:1,doy:4}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("fr-ch",{months:"janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre".split("_"),monthsShort:"janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.".split("_"),monthsParseExact:!0,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"di_lu_ma_me_je_ve_sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd’hui à] LT",nextDay:"[Demain à] LT",nextWeek:"dddd [à] LT",lastDay:"[Hier à] LT",lastWeek:"dddd [dernier à] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",ss:"%d secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},dayOfMonthOrdinalParse:/\d{1,2}(er|e)/,ordinal:function(e,t){switch(t){default:case"M":case"Q":case"D":case"DDD":case"d":return e+(1===e?"er":"e");case"w":case"W":return e+(1===e?"re":"e")}},week:{dow:1,doy:4}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("fr-ca",{months:"janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre".split("_"),monthsShort:"janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.".split("_"),monthsParseExact:!0,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"di_lu_ma_me_je_ve_sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd’hui à] LT",nextDay:"[Demain à] LT",nextWeek:"dddd [à] LT",lastDay:"[Hier à] LT",lastWeek:"dddd [dernier à] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",ss:"%d secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},dayOfMonthOrdinalParse:/\d{1,2}(er|e)/,ordinal:function(e,t){switch(t){default:case"M":case"Q":case"D":case"DDD":case"d":return e+(1===e?"er":"e");case"w":case"W":return e+(1===e?"re":"e")}}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("fr",{months:"janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre".split("_"),monthsShort:"janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.".split("_"),monthsParseExact:!0,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"di_lu_ma_me_je_ve_sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd’hui à] LT",nextDay:"[Demain à] LT",nextWeek:"dddd [à] LT",lastDay:"[Hier à] LT",lastWeek:"dddd [dernier à] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",ss:"%d secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},dayOfMonthOrdinalParse:/\d{1,2}(er|)/,ordinal:function(e,t){switch(t){case"D":return e+(1===e?"er":"");default:case"M":case"Q":case"DDD":case"d":return e+(1===e?"er":"e");case"w":case"W":return e+(1===e?"re":"e")}},week:{dow:1,doy:4}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("fo",{months:"januar_februar_mars_apríl_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_"),weekdays:"sunnudagur_mánadagur_týsdagur_mikudagur_hósdagur_fríggjadagur_leygardagur".split("_"),weekdaysShort:"sun_mán_týs_mik_hós_frí_ley".split("_"),weekdaysMin:"su_má_tý_mi_hó_fr_le".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D. MMMM, YYYY HH:mm"},calendar:{sameDay:"[Í dag kl.] LT",nextDay:"[Í morgin kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[Í gjár kl.] LT",lastWeek:"[síðstu] dddd [kl] LT",sameElse:"L"},relativeTime:{future:"um %s",past:"%s síðani",s:"fá sekund",ss:"%d sekundir",m:"ein minutt",mm:"%d minuttir",h:"ein tími",hh:"%d tímar",d:"ein dagur",dd:"%d dagar",M:"ein mánaði",MM:"%d mánaðir",y:"eitt ár",yy:"%d ár"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n(0))},function(e,t,n){!function(e){"use strict";var t="nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän".split(" "),n=["nolla","yhden","kahden","kolmen","neljän","viiden","kuuden",t[7],t[8],t[9]];function a(e,a,c,o){var i="";switch(c){case"s":return o?"muutaman sekunnin":"muutama sekunti";case"ss":return o?"sekunnin":"sekuntia";case"m":return o?"minuutin":"minuutti";case"mm":i=o?"minuutin":"minuuttia";break;case"h":return o?"tunnin":"tunti";case"hh":i=o?"tunnin":"tuntia";break;case"d":return o?"päivän":"päivä";case"dd":i=o?"päivän":"päivää";break;case"M":return o?"kuukauden":"kuukausi";case"MM":i=o?"kuukauden":"kuukautta";break;case"y":return o?"vuoden":"vuosi";case"yy":i=o?"vuoden":"vuotta"}return i=function(e,a){return e<10?a?n[e]:t[e]:e}(e,o)+" "+i}e.defineLocale("fi",{months:"tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu".split("_"),monthsShort:"tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu".split("_"),weekdays:"sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai".split("_"),weekdaysShort:"su_ma_ti_ke_to_pe_la".split("_"),weekdaysMin:"su_ma_ti_ke_to_pe_la".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD.MM.YYYY",LL:"Do MMMM[ta] YYYY",LLL:"Do MMMM[ta] YYYY, [klo] HH.mm",LLLL:"dddd, Do MMMM[ta] YYYY, [klo] HH.mm",l:"D.M.YYYY",ll:"Do MMM YYYY",lll:"Do MMM YYYY, [klo] HH.mm",llll:"ddd, Do MMM YYYY, [klo] HH.mm"},calendar:{sameDay:"[tänään] [klo] LT",nextDay:"[huomenna] [klo] LT",nextWeek:"dddd [klo] LT",lastDay:"[eilen] [klo] LT",lastWeek:"[viime] dddd[na] [klo] LT",sameElse:"L"},relativeTime:{future:"%s päästä",past:"%s sitten",s:a,ss:a,m:a,mm:a,h:a,hh:a,d:a,dd:a,M:a,MM:a,y:a,yy:a},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n(0))},function(e,t,n){!function(e){"use strict";var t={1:"۱",2:"۲",3:"۳",4:"۴",5:"۵",6:"۶",7:"۷",8:"۸",9:"۹",0:"۰"},n={"۱":"1","۲":"2","۳":"3","۴":"4","۵":"5","۶":"6","۷":"7","۸":"8","۹":"9","۰":"0"};e.defineLocale("fa",{months:"ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر".split("_"),monthsShort:"ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر".split("_"),weekdays:"یک‌شنبه_دوشنبه_سه‌شنبه_چهارشنبه_پنج‌شنبه_جمعه_شنبه".split("_"),weekdaysShort:"یک‌شنبه_دوشنبه_سه‌شنبه_چهارشنبه_پنج‌شنبه_جمعه_شنبه".split("_"),weekdaysMin:"ی_د_س_چ_پ_ج_ش".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},meridiemParse:/قبل از ظهر|بعد از ظهر/,isPM:function(e){return/بعد از ظهر/.test(e)},meridiem:function(e,t,n){return e<12?"قبل از ظهر":"بعد از ظهر"},calendar:{sameDay:"[امروز ساعت] LT",nextDay:"[فردا ساعت] LT",nextWeek:"dddd [ساعت] LT",lastDay:"[دیروز ساعت] LT",lastWeek:"dddd [پیش] [ساعت] LT",sameElse:"L"},relativeTime:{future:"در %s",past:"%s پیش",s:"چند ثانیه",ss:"ثانیه d%",m:"یک دقیقه",mm:"%d دقیقه",h:"یک ساعت",hh:"%d ساعت",d:"یک روز",dd:"%d روز",M:"یک ماه",MM:"%d ماه",y:"یک سال",yy:"%d سال"},preparse:function(e){return e.replace(/[۰-۹]/g,function(e){return n[e]}).replace(/،/g,",")},postformat:function(e){return e.replace(/\d/g,function(e){return t[e]}).replace(/,/g,"،")},dayOfMonthOrdinalParse:/\d{1,2}م/,ordinal:"%dم",week:{dow:6,doy:12}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("eu",{months:"urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua".split("_"),monthsShort:"urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.".split("_"),monthsParseExact:!0,weekdays:"igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata".split("_"),weekdaysShort:"ig._al._ar._az._og._ol._lr.".split("_"),weekdaysMin:"ig_al_ar_az_og_ol_lr".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY[ko] MMMM[ren] D[a]",LLL:"YYYY[ko] MMMM[ren] D[a] HH:mm",LLLL:"dddd, YYYY[ko] MMMM[ren] D[a] HH:mm",l:"YYYY-M-D",ll:"YYYY[ko] MMM D[a]",lll:"YYYY[ko] MMM D[a] HH:mm",llll:"ddd, YYYY[ko] MMM D[a] HH:mm"},calendar:{sameDay:"[gaur] LT[etan]",nextDay:"[bihar] LT[etan]",nextWeek:"dddd LT[etan]",lastDay:"[atzo] LT[etan]",lastWeek:"[aurreko] dddd LT[etan]",sameElse:"L"},relativeTime:{future:"%s barru",past:"duela %s",s:"segundo batzuk",ss:"%d segundo",m:"minutu bat",mm:"%d minutu",h:"ordu bat",hh:"%d ordu",d:"egun bat",dd:"%d egun",M:"hilabete bat",MM:"%d hilabete",y:"urte bat",yy:"%d urte"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}(n(0))},function(e,t,n){!function(e){"use strict";function t(e,t,n,a){var c={s:["mõne sekundi","mõni sekund","paar sekundit"],ss:[e+"sekundi",e+"sekundit"],m:["ühe minuti","üks minut"],mm:[e+" minuti",e+" minutit"],h:["ühe tunni","tund aega","üks tund"],hh:[e+" tunni",e+" tundi"],d:["ühe päeva","üks päev"],M:["kuu aja","kuu aega","üks kuu"],MM:[e+" kuu",e+" kuud"],y:["ühe aasta","aasta","üks aasta"],yy:[e+" aasta",e+" aastat"]};return t?c[n][2]?c[n][2]:c[n][1]:a?c[n][0]:c[n][1]}e.defineLocale("et",{months:"jaanuar_veebruar_märts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember".split("_"),monthsShort:"jaan_veebr_märts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets".split("_"),weekdays:"pühapäev_esmaspäev_teisipäev_kolmapäev_neljapäev_reede_laupäev".split("_"),weekdaysShort:"P_E_T_K_N_R_L".split("_"),weekdaysMin:"P_E_T_K_N_R_L".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[Täna,] LT",nextDay:"[Homme,] LT",nextWeek:"[Järgmine] dddd LT",lastDay:"[Eile,] LT",lastWeek:"[Eelmine] dddd LT",sameElse:"L"},relativeTime:{future:"%s pärast",past:"%s tagasi",s:t,ss:t,m:t,mm:t,h:t,hh:t,d:t,dd:"%d päeva",M:t,MM:t,y:t,yy:t},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n(0))},function(e,t,n){!function(e){"use strict";var t="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),n="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_");e.defineLocale("es-us",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(e,a){return e?/-MMM-/.test(a)?n[e.month()]:t[e.month()]:t},monthsParseExact:!0,weekdays:"domingo_lunes_martes_miércoles_jueves_viernes_sábado".split("_"),weekdaysShort:"dom._lun._mar._mié._jue._vie._sáb.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"MM/DD/YYYY",LL:"MMMM [de] D [de] YYYY",LLL:"MMMM [de] D [de] YYYY h:mm A",LLLL:"dddd, MMMM [de] D [de] YYYY h:mm A"},calendar:{sameDay:function(){return"[hoy a la"+(1!==this.hours()?"s":"")+"] LT"},nextDay:function(){return"[mañana a la"+(1!==this.hours()?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(1!==this.hours()?"s":"")+"] LT"},lastDay:function(){return"[ayer a la"+(1!==this.hours()?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(1!==this.hours()?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un día",dd:"%d días",M:"un mes",MM:"%d meses",y:"un año",yy:"%d años"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:0,doy:6}})}(n(0))},function(e,t,n){!function(e){"use strict";var t="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),n="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),a=[/^ene/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i],c=/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i;e.defineLocale("es-do",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(e,a){return e?/-MMM-/.test(a)?n[e.month()]:t[e.month()]:t},monthsRegex:c,monthsShortRegex:c,monthsStrictRegex:/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,monthsShortStrictRegex:/^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,monthsParse:a,longMonthsParse:a,shortMonthsParse:a,weekdays:"domingo_lunes_martes_miércoles_jueves_viernes_sábado".split("_"),weekdaysShort:"dom._lun._mar._mié._jue._vie._sáb.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY h:mm A",LLLL:"dddd, D [de] MMMM [de] YYYY h:mm A"},calendar:{sameDay:function(){return"[hoy a la"+(1!==this.hours()?"s":"")+"] LT"},nextDay:function(){return"[mañana a la"+(1!==this.hours()?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(1!==this.hours()?"s":"")+"] LT"},lastDay:function(){return"[ayer a la"+(1!==this.hours()?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(1!==this.hours()?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un día",dd:"%d días",M:"un mes",MM:"%d meses",y:"un año",yy:"%d años"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}})}(n(0))},function(e,t,n){!function(e){"use strict";var t="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),n="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),a=[/^ene/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i],c=/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i;e.defineLocale("es",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(e,a){return e?/-MMM-/.test(a)?n[e.month()]:t[e.month()]:t},monthsRegex:c,monthsShortRegex:c,monthsStrictRegex:/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,monthsShortStrictRegex:/^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,monthsParse:a,longMonthsParse:a,shortMonthsParse:a,weekdays:"domingo_lunes_martes_miércoles_jueves_viernes_sábado".split("_"),weekdaysShort:"dom._lun._mar._mié._jue._vie._sáb.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY H:mm",LLLL:"dddd, D [de] MMMM [de] YYYY H:mm"},calendar:{sameDay:function(){return"[hoy a la"+(1!==this.hours()?"s":"")+"] LT"},nextDay:function(){return"[mañana a la"+(1!==this.hours()?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(1!==this.hours()?"s":"")+"] LT"},lastDay:function(){return"[ayer a la"+(1!==this.hours()?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(1!==this.hours()?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un día",dd:"%d días",M:"un mes",MM:"%d meses",y:"un año",yy:"%d años"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("eo",{months:"januaro_februaro_marto_aprilo_majo_junio_julio_aŭgusto_septembro_oktobro_novembro_decembro".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_aŭg_sep_okt_nov_dec".split("_"),weekdays:"dimanĉo_lundo_mardo_merkredo_ĵaŭdo_vendredo_sabato".split("_"),weekdaysShort:"dim_lun_mard_merk_ĵaŭ_ven_sab".split("_"),weekdaysMin:"di_lu_ma_me_ĵa_ve_sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"D[-a de] MMMM, YYYY",LLL:"D[-a de] MMMM, YYYY HH:mm",LLLL:"dddd, [la] D[-a de] MMMM, YYYY HH:mm"},meridiemParse:/[ap]\.t\.m/i,isPM:function(e){return"p"===e.charAt(0).toLowerCase()},meridiem:function(e,t,n){return e>11?n?"p.t.m.":"P.T.M.":n?"a.t.m.":"A.T.M."},calendar:{sameDay:"[Hodiaŭ je] LT",nextDay:"[Morgaŭ je] LT",nextWeek:"dddd [je] LT",lastDay:"[Hieraŭ je] LT",lastWeek:"[pasinta] dddd [je] LT",sameElse:"L"},relativeTime:{future:"post %s",past:"antaŭ %s",s:"sekundoj",ss:"%d sekundoj",m:"minuto",mm:"%d minutoj",h:"horo",hh:"%d horoj",d:"tago",dd:"%d tagoj",M:"monato",MM:"%d monatoj",y:"jaro",yy:"%d jaroj"},dayOfMonthOrdinalParse:/\d{1,2}a/,ordinal:"%da",week:{dow:1,doy:7}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("en-nz",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var t=e%10,n=1==~~(e%100/10)?"th":1===t?"st":2===t?"nd":3===t?"rd":"th";return e+n},week:{dow:1,doy:4}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("en-il",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var t=e%10,n=1==~~(e%100/10)?"th":1===t?"st":2===t?"nd":3===t?"rd":"th";return e+n}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("en-ie",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var t=e%10,n=1==~~(e%100/10)?"th":1===t?"st":2===t?"nd":3===t?"rd":"th";return e+n},week:{dow:1,doy:4}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("en-gb",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var t=e%10,n=1==~~(e%100/10)?"th":1===t?"st":2===t?"nd":3===t?"rd":"th";return e+n},week:{dow:1,doy:4}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("en-ca",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"YYYY-MM-DD",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var t=e%10,n=1==~~(e%100/10)?"th":1===t?"st":2===t?"nd":3===t?"rd":"th";return e+n}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("en-au",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var t=e%10,n=1==~~(e%100/10)?"th":1===t?"st":2===t?"nd":3===t?"rd":"th";return e+n},week:{dow:1,doy:4}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("el",{monthsNominativeEl:"Ιανουάριος_Φεβρουάριος_Μάρτιος_Απρίλιος_Μάιος_Ιούνιος_Ιούλιος_Αύγουστος_Σεπτέμβριος_Οκτώβριος_Νοέμβριος_Δεκέμβριος".split("_"),monthsGenitiveEl:"Ιανουαρίου_Φεβρουαρίου_Μαρτίου_Απριλίου_Μαΐου_Ιουνίου_Ιουλίου_Αυγούστου_Σεπτεμβρίου_Οκτωβρίου_Νοεμβρίου_Δεκεμβρίου".split("_"),months:function(e,t){return e?"string"==typeof t&&/D/.test(t.substring(0,t.indexOf("MMMM")))?this._monthsGenitiveEl[e.month()]:this._monthsNominativeEl[e.month()]:this._monthsNominativeEl},monthsShort:"Ιαν_Φεβ_Μαρ_Απρ_Μαϊ_Ιουν_Ιουλ_Αυγ_Σεπ_Οκτ_Νοε_Δεκ".split("_"),weekdays:"Κυριακή_Δευτέρα_Τρίτη_Τετάρτη_Πέμπτη_Παρασκευή_Σάββατο".split("_"),weekdaysShort:"Κυρ_Δευ_Τρι_Τετ_Πεμ_Παρ_Σαβ".split("_"),weekdaysMin:"Κυ_Δε_Τρ_Τε_Πε_Πα_Σα".split("_"),meridiem:function(e,t,n){return e>11?n?"μμ":"ΜΜ":n?"πμ":"ΠΜ"},isPM:function(e){return"μ"===(e+"").toLowerCase()[0]},meridiemParse:/[ΠΜ]\.?Μ?\.?/i,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendarEl:{sameDay:"[Σήμερα {}] LT",nextDay:"[Αύριο {}] LT",nextWeek:"dddd [{}] LT",lastDay:"[Χθες {}] LT",lastWeek:function(){switch(this.day()){case 6:return"[το προηγούμενο] dddd [{}] LT";default:return"[την προηγούμενη] dddd [{}] LT"}},sameElse:"L"},calendar:function(e,t){var n,a=this._calendarEl[e],c=t&&t.hours();return((n=a)instanceof Function||"[object Function]"===Object.prototype.toString.call(n))&&(a=a.apply(t)),a.replace("{}",c%12==1?"στη":"στις")},relativeTime:{future:"σε %s",past:"%s πριν",s:"λίγα δευτερόλεπτα",ss:"%d δευτερόλεπτα",m:"ένα λεπτό",mm:"%d λεπτά",h:"μία ώρα",hh:"%d ώρες",d:"μία μέρα",dd:"%d μέρες",M:"ένας μήνας",MM:"%d μήνες",y:"ένας χρόνος",yy:"%d χρόνια"},dayOfMonthOrdinalParse:/\d{1,2}η/,ordinal:"%dη",week:{dow:1,doy:4}})}(n(0))},function(e,t,n){!function(e){"use strict";var t=["ޖެނުއަރީ","ފެބްރުއަރީ","މާރިޗު","އޭޕްރީލު","މޭ","ޖޫން","ޖުލައި","އޯގަސްޓު","ސެޕްޓެމްބަރު","އޮކްޓޯބަރު","ނޮވެމްބަރު","ޑިސެމްބަރު"],n=["އާދިއްތަ","ހޯމަ","އަންގާރަ","ބުދަ","ބުރާސްފަތި","ހުކުރު","ހޮނިހިރު"];e.defineLocale("dv",{months:t,monthsShort:t,weekdays:n,weekdaysShort:n,weekdaysMin:"އާދި_ހޯމަ_އަން_ބުދަ_ބުރާ_ހުކު_ހޮނި".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/M/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/މކ|މފ/,isPM:function(e){return"މފ"===e},meridiem:function(e,t,n){return e<12?"މކ":"މފ"},calendar:{sameDay:"[މިއަދު] LT",nextDay:"[މާދަމާ] LT",nextWeek:"dddd LT",lastDay:"[އިއްޔެ] LT",lastWeek:"[ފާއިތުވި] dddd LT",sameElse:"L"},relativeTime:{future:"ތެރޭގައި %s",past:"ކުރިން %s",s:"ސިކުންތުކޮޅެއް",ss:"d% ސިކުންތު",m:"މިނިޓެއް",mm:"މިނިޓު %d",h:"ގަޑިއިރެއް",hh:"ގަޑިއިރު %d",d:"ދުވަހެއް",dd:"ދުވަސް %d",M:"މަހެއް",MM:"މަސް %d",y:"އަހަރެއް",yy:"އަހަރު %d"},preparse:function(e){return e.replace(/،/g,",")},postformat:function(e){return e.replace(/,/g,"،")},week:{dow:7,doy:12}})}(n(0))},function(e,t,n){!function(e){"use strict";function t(e,t,n,a){var c={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[e+" Tage",e+" Tagen"],M:["ein Monat","einem Monat"],MM:[e+" Monate",e+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[e+" Jahre",e+" Jahren"]};return t?c[n][0]:c[n][1]}e.defineLocale("de-ch",{months:"Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},calendar:{sameDay:"[heute um] LT [Uhr]",sameElse:"L",nextDay:"[morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",ss:"%d Sekunden",m:t,mm:"%d Minuten",h:t,hh:"%d Stunden",d:t,dd:t,M:t,MM:t,y:t,yy:t},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n(0))},function(e,t,n){!function(e){"use strict";function t(e,t,n,a){var c={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[e+" Tage",e+" Tagen"],M:["ein Monat","einem Monat"],MM:[e+" Monate",e+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[e+" Jahre",e+" Jahren"]};return t?c[n][0]:c[n][1]}e.defineLocale("de-at",{months:"Jänner_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jän._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So._Mo._Di._Mi._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},calendar:{sameDay:"[heute um] LT [Uhr]",sameElse:"L",nextDay:"[morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",ss:"%d Sekunden",m:t,mm:"%d Minuten",h:t,hh:"%d Stunden",d:t,dd:t,M:t,MM:t,y:t,yy:t},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n(0))},function(e,t,n){!function(e){"use strict";function t(e,t,n,a){var c={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[e+" Tage",e+" Tagen"],M:["ein Monat","einem Monat"],MM:[e+" Monate",e+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[e+" Jahre",e+" Jahren"]};return t?c[n][0]:c[n][1]}e.defineLocale("de",{months:"Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So._Mo._Di._Mi._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},calendar:{sameDay:"[heute um] LT [Uhr]",sameElse:"L",nextDay:"[morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",ss:"%d Sekunden",m:t,mm:"%d Minuten",h:t,hh:"%d Stunden",d:t,dd:t,M:t,MM:t,y:t,yy:t},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("da",{months:"januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec".split("_"),weekdays:"søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag".split("_"),weekdaysShort:"søn_man_tir_ons_tor_fre_lør".split("_"),weekdaysMin:"sø_ma_ti_on_to_fr_lø".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd [d.] D. MMMM YYYY [kl.] HH:mm"},calendar:{sameDay:"[i dag kl.] LT",nextDay:"[i morgen kl.] LT",nextWeek:"på dddd [kl.] LT",lastDay:"[i går kl.] LT",lastWeek:"[i] dddd[s kl.] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"%s siden",s:"få sekunder",ss:"%d sekunder",m:"et minut",mm:"%d minutter",h:"en time",hh:"%d timer",d:"en dag",dd:"%d dage",M:"en måned",MM:"%d måneder",y:"et år",yy:"%d år"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("cy",{months:"Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr".split("_"),monthsShort:"Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag".split("_"),weekdays:"Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn".split("_"),weekdaysShort:"Sul_Llun_Maw_Mer_Iau_Gwe_Sad".split("_"),weekdaysMin:"Su_Ll_Ma_Me_Ia_Gw_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Heddiw am] LT",nextDay:"[Yfory am] LT",nextWeek:"dddd [am] LT",lastDay:"[Ddoe am] LT",lastWeek:"dddd [diwethaf am] LT",sameElse:"L"},relativeTime:{future:"mewn %s",past:"%s yn ôl",s:"ychydig eiliadau",ss:"%d eiliad",m:"munud",mm:"%d munud",h:"awr",hh:"%d awr",d:"diwrnod",dd:"%d diwrnod",M:"mis",MM:"%d mis",y:"blwyddyn",yy:"%d flynedd"},dayOfMonthOrdinalParse:/\d{1,2}(fed|ain|af|il|ydd|ed|eg)/,ordinal:function(e){var t=e,n="";return t>20?n=40===t||50===t||60===t||80===t||100===t?"fed":"ain":t>0&&(n=["","af","il","ydd","ydd","ed","ed","ed","fed","fed","fed","eg","fed","eg","eg","fed","eg","eg","fed","eg","fed"][t]),e+n},week:{dow:1,doy:4}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("cv",{months:"кӑрлач_нарӑс_пуш_ака_май_ҫӗртме_утӑ_ҫурла_авӑн_юпа_чӳк_раштав".split("_"),monthsShort:"кӑр_нар_пуш_ака_май_ҫӗр_утӑ_ҫур_авн_юпа_чӳк_раш".split("_"),weekdays:"вырсарникун_тунтикун_ытларикун_юнкун_кӗҫнерникун_эрнекун_шӑматкун".split("_"),weekdaysShort:"выр_тун_ытл_юн_кӗҫ_эрн_шӑм".split("_"),weekdaysMin:"вр_тн_ыт_юн_кҫ_эр_шм".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ]",LLL:"YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm",LLLL:"dddd, YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm"},calendar:{sameDay:"[Паян] LT [сехетре]",nextDay:"[Ыран] LT [сехетре]",lastDay:"[Ӗнер] LT [сехетре]",nextWeek:"[Ҫитес] dddd LT [сехетре]",lastWeek:"[Иртнӗ] dddd LT [сехетре]",sameElse:"L"},relativeTime:{future:function(e){var t=/сехет$/i.exec(e)?"рен":/ҫул$/i.exec(e)?"тан":"ран";return e+t},past:"%s каялла",s:"пӗр-ик ҫеккунт",ss:"%d ҫеккунт",m:"пӗр минут",mm:"%d минут",h:"пӗр сехет",hh:"%d сехет",d:"пӗр кун",dd:"%d кун",M:"пӗр уйӑх",MM:"%d уйӑх",y:"пӗр ҫул",yy:"%d ҫул"},dayOfMonthOrdinalParse:/\d{1,2}-мӗш/,ordinal:"%d-мӗш",week:{dow:1,doy:7}})}(n(0))},function(e,t,n){!function(e){"use strict";var t="leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec".split("_"),n="led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro".split("_");function a(e){return e>1&&e<5&&1!=~~(e/10)}function c(e,t,n,c){var o=e+" ";switch(n){case"s":return t||c?"pár sekund":"pár sekundami";case"ss":return t||c?o+(a(e)?"sekundy":"sekund"):o+"sekundami";case"m":return t?"minuta":c?"minutu":"minutou";case"mm":return t||c?o+(a(e)?"minuty":"minut"):o+"minutami";case"h":return t?"hodina":c?"hodinu":"hodinou";case"hh":return t||c?o+(a(e)?"hodiny":"hodin"):o+"hodinami";case"d":return t||c?"den":"dnem";case"dd":return t||c?o+(a(e)?"dny":"dní"):o+"dny";case"M":return t||c?"měsíc":"měsícem";case"MM":return t||c?o+(a(e)?"měsíce":"měsíců"):o+"měsíci";case"y":return t||c?"rok":"rokem";case"yy":return t||c?o+(a(e)?"roky":"let"):o+"lety"}}e.defineLocale("cs",{months:t,monthsShort:n,monthsParse:function(e,t){var n,a=[];for(n=0;n<12;n++)a[n]=new RegExp("^"+e[n]+"$|^"+t[n]+"$","i");return a}(t,n),shortMonthsParse:function(e){var t,n=[];for(t=0;t<12;t++)n[t]=new RegExp("^"+e[t]+"$","i");return n}(n),longMonthsParse:function(e){var t,n=[];for(t=0;t<12;t++)n[t]=new RegExp("^"+e[t]+"$","i");return n}(t),weekdays:"neděle_pondělí_úterý_středa_čtvrtek_pátek_sobota".split("_"),weekdaysShort:"ne_po_út_st_čt_pá_so".split("_"),weekdaysMin:"ne_po_út_st_čt_pá_so".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd D. MMMM YYYY H:mm",l:"D. M. YYYY"},calendar:{sameDay:"[dnes v] LT",nextDay:"[zítra v] LT",nextWeek:function(){switch(this.day()){case 0:return"[v neděli v] LT";case 1:case 2:return"[v] dddd [v] LT";case 3:return"[ve středu v] LT";case 4:return"[ve čtvrtek v] LT";case 5:return"[v pátek v] LT";case 6:return"[v sobotu v] LT"}},lastDay:"[včera v] LT",lastWeek:function(){switch(this.day()){case 0:return"[minulou neděli v] LT";case 1:case 2:return"[minulé] dddd [v] LT";case 3:return"[minulou středu v] LT";case 4:case 5:return"[minulý] dddd [v] LT";case 6:return"[minulou sobotu v] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"před %s",s:c,ss:c,m:c,mm:c,h:c,hh:c,d:c,dd:c,M:c,MM:c,y:c,yy:c},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("ca",{months:{standalone:"gener_febrer_març_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre".split("_"),format:"de gener_de febrer_de març_d'abril_de maig_de juny_de juliol_d'agost_de setembre_d'octubre_de novembre_de desembre".split("_"),isFormat:/D[oD]?(\s)+MMMM/},monthsShort:"gen._febr._març_abr._maig_juny_jul._ag._set._oct._nov._des.".split("_"),monthsParseExact:!0,weekdays:"diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte".split("_"),weekdaysShort:"dg._dl._dt._dc._dj._dv._ds.".split("_"),weekdaysMin:"dg_dl_dt_dc_dj_dv_ds".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM [de] YYYY",ll:"D MMM YYYY",LLL:"D MMMM [de] YYYY [a les] H:mm",lll:"D MMM YYYY, H:mm",LLLL:"dddd D MMMM [de] YYYY [a les] H:mm",llll:"ddd D MMM YYYY, H:mm"},calendar:{sameDay:function(){return"[avui a "+(1!==this.hours()?"les":"la")+"] LT"},nextDay:function(){return"[demà a "+(1!==this.hours()?"les":"la")+"] LT"},nextWeek:function(){return"dddd [a "+(1!==this.hours()?"les":"la")+"] LT"},lastDay:function(){return"[ahir a "+(1!==this.hours()?"les":"la")+"] LT"},lastWeek:function(){return"[el] dddd [passat a "+(1!==this.hours()?"les":"la")+"] LT"},sameElse:"L"},relativeTime:{future:"d'aquí %s",past:"fa %s",s:"uns segons",ss:"%d segons",m:"un minut",mm:"%d minuts",h:"una hora",hh:"%d hores",d:"un dia",dd:"%d dies",M:"un mes",MM:"%d mesos",y:"un any",yy:"%d anys"},dayOfMonthOrdinalParse:/\d{1,2}(r|n|t|è|a)/,ordinal:function(e,t){var n=1===e?"r":2===e?"n":3===e?"r":4===e?"t":"è";return"w"!==t&&"W"!==t||(n="a"),e+n},week:{dow:1,doy:4}})}(n(0))},function(e,t,n){!function(e){"use strict";function t(e,t,n){var a=e+" ";switch(n){case"ss":return a+=1===e?"sekunda":2===e||3===e||4===e?"sekunde":"sekundi";case"m":return t?"jedna minuta":"jedne minute";case"mm":return a+=1===e?"minuta":2===e||3===e||4===e?"minute":"minuta";case"h":return t?"jedan sat":"jednog sata";case"hh":return a+=1===e?"sat":2===e||3===e||4===e?"sata":"sati";case"dd":return a+=1===e?"dan":"dana";case"MM":return a+=1===e?"mjesec":2===e||3===e||4===e?"mjeseca":"mjeseci";case"yy":return a+=1===e?"godina":2===e||3===e||4===e?"godine":"godina"}}e.defineLocale("bs",{months:"januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar".split("_"),monthsShort:"jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._čet._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_če_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[jučer u] LT",lastWeek:function(){switch(this.day()){case 0:case 3:return"[prošlu] dddd [u] LT";case 6:return"[prošle] [subote] [u] LT";case 1:case 2:case 4:case 5:return"[prošli] dddd [u] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"par sekundi",ss:t,m:t,mm:t,h:t,hh:t,d:"dan",dd:t,M:"mjesec",MM:t,y:"godinu",yy:t},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}(n(0))},function(e,t,n){!function(e){"use strict";function t(e,t,n){return e+" "+function(e,t){return 2===t?function(e){var t={m:"v",b:"v",d:"z"};return void 0===t[e.charAt(0)]?e:t[e.charAt(0)]+e.substring(1)}(e):e}({mm:"munutenn",MM:"miz",dd:"devezh"}[n],e)}e.defineLocale("br",{months:"Genver_C'hwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu".split("_"),monthsShort:"Gen_C'hwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker".split("_"),weekdays:"Sul_Lun_Meurzh_Merc'her_Yaou_Gwener_Sadorn".split("_"),weekdaysShort:"Sul_Lun_Meu_Mer_Yao_Gwe_Sad".split("_"),weekdaysMin:"Su_Lu_Me_Mer_Ya_Gw_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h[e]mm A",LTS:"h[e]mm:ss A",L:"DD/MM/YYYY",LL:"D [a viz] MMMM YYYY",LLL:"D [a viz] MMMM YYYY h[e]mm A",LLLL:"dddd, D [a viz] MMMM YYYY h[e]mm A"},calendar:{sameDay:"[Hiziv da] LT",nextDay:"[Warc'hoazh da] LT",nextWeek:"dddd [da] LT",lastDay:"[Dec'h da] LT",lastWeek:"dddd [paset da] LT",sameElse:"L"},relativeTime:{future:"a-benn %s",past:"%s 'zo",s:"un nebeud segondennoù",ss:"%d eilenn",m:"ur vunutenn",mm:t,h:"un eur",hh:"%d eur",d:"un devezh",dd:t,M:"ur miz",MM:t,y:"ur bloaz",yy:function(e){switch(function e(t){return t>9?e(t%10):t}(e)){case 1:case 3:case 4:case 5:case 9:return e+" bloaz";default:return e+" vloaz"}}},dayOfMonthOrdinalParse:/\d{1,2}(añ|vet)/,ordinal:function(e){var t=1===e?"añ":"vet";return e+t},week:{dow:1,doy:4}})}(n(0))},function(e,t,n){!function(e){"use strict";var t={1:"༡",2:"༢",3:"༣",4:"༤",5:"༥",6:"༦",7:"༧",8:"༨",9:"༩",0:"༠"},n={"༡":"1","༢":"2","༣":"3","༤":"4","༥":"5","༦":"6","༧":"7","༨":"8","༩":"9","༠":"0"};e.defineLocale("bo",{months:"ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ".split("_"),monthsShort:"ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ".split("_"),weekdays:"གཟའ་ཉི་མ་_གཟའ་ཟླ་བ་_གཟའ་མིག་དམར་_གཟའ་ལྷག་པ་_གཟའ་ཕུར་བུ_གཟའ་པ་སངས་_གཟའ་སྤེན་པ་".split("_"),weekdaysShort:"ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་".split("_"),weekdaysMin:"ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm",LLLL:"dddd, D MMMM YYYY, A h:mm"},calendar:{sameDay:"[དི་རིང] LT",nextDay:"[སང་ཉིན] LT",nextWeek:"[བདུན་ཕྲག་རྗེས་མ], LT",lastDay:"[ཁ་སང] LT",lastWeek:"[བདུན་ཕྲག་མཐའ་མ] dddd, LT",sameElse:"L"},relativeTime:{future:"%s ལ་",past:"%s སྔན་ལ",s:"ལམ་སང",ss:"%d སྐར་ཆ།",m:"སྐར་མ་གཅིག",mm:"%d སྐར་མ",h:"ཆུ་ཚོད་གཅིག",hh:"%d ཆུ་ཚོད",d:"ཉིན་གཅིག",dd:"%d ཉིན་",M:"ཟླ་བ་གཅིག",MM:"%d ཟླ་བ",y:"ལོ་གཅིག",yy:"%d ལོ"},preparse:function(e){return e.replace(/[༡༢༣༤༥༦༧༨༩༠]/g,function(e){return n[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return t[e]})},meridiemParse:/མཚན་མོ|ཞོགས་ཀས|ཉིན་གུང|དགོང་དག|མཚན་མོ/,meridiemHour:function(e,t){return 12===e&&(e=0),"མཚན་མོ"===t&&e>=4||"ཉིན་གུང"===t&&e<5||"དགོང་དག"===t?e+12:e},meridiem:function(e,t,n){return e<4?"མཚན་མོ":e<10?"ཞོགས་ཀས":e<17?"ཉིན་གུང":e<20?"དགོང་དག":"མཚན་མོ"},week:{dow:0,doy:6}})}(n(0))},function(e,t,n){!function(e){"use strict";var t={1:"১",2:"২",3:"৩",4:"৪",5:"৫",6:"৬",7:"৭",8:"৮",9:"৯",0:"০"},n={"১":"1","২":"2","৩":"3","৪":"4","৫":"5","৬":"6","৭":"7","৮":"8","৯":"9","০":"0"};e.defineLocale("bn",{months:"জানুয়ারী_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর".split("_"),monthsShort:"জানু_ফেব_মার্চ_এপ্র_মে_জুন_জুল_আগ_সেপ্ট_অক্টো_নভে_ডিসে".split("_"),weekdays:"রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার".split("_"),weekdaysShort:"রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি".split("_"),weekdaysMin:"রবি_সোম_মঙ্গ_বুধ_বৃহঃ_শুক্র_শনি".split("_"),longDateFormat:{LT:"A h:mm সময়",LTS:"A h:mm:ss সময়",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm সময়",LLLL:"dddd, D MMMM YYYY, A h:mm সময়"},calendar:{sameDay:"[আজ] LT",nextDay:"[আগামীকাল] LT",nextWeek:"dddd, LT",lastDay:"[গতকাল] LT",lastWeek:"[গত] dddd, LT",sameElse:"L"},relativeTime:{future:"%s পরে",past:"%s আগে",s:"কয়েক সেকেন্ড",ss:"%d সেকেন্ড",m:"এক মিনিট",mm:"%d মিনিট",h:"এক ঘন্টা",hh:"%d ঘন্টা",d:"এক দিন",dd:"%d দিন",M:"এক মাস",MM:"%d মাস",y:"এক বছর",yy:"%d বছর"},preparse:function(e){return e.replace(/[১২৩৪৫৬৭৮৯০]/g,function(e){return n[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return t[e]})},meridiemParse:/রাত|সকাল|দুপুর|বিকাল|রাত/,meridiemHour:function(e,t){return 12===e&&(e=0),"রাত"===t&&e>=4||"দুপুর"===t&&e<5||"বিকাল"===t?e+12:e},meridiem:function(e,t,n){return e<4?"রাত":e<10?"সকাল":e<17?"দুপুর":e<20?"বিকাল":"রাত"},week:{dow:0,doy:6}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("bm",{months:"Zanwuyekalo_Fewuruyekalo_Marisikalo_Awirilikalo_Mɛkalo_Zuwɛnkalo_Zuluyekalo_Utikalo_Sɛtanburukalo_ɔkutɔburukalo_Nowanburukalo_Desanburukalo".split("_"),monthsShort:"Zan_Few_Mar_Awi_Mɛ_Zuw_Zul_Uti_Sɛt_ɔku_Now_Des".split("_"),weekdays:"Kari_Ntɛnɛn_Tarata_Araba_Alamisa_Juma_Sibiri".split("_"),weekdaysShort:"Kar_Ntɛ_Tar_Ara_Ala_Jum_Sib".split("_"),weekdaysMin:"Ka_Nt_Ta_Ar_Al_Ju_Si".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"MMMM [tile] D [san] YYYY",LLL:"MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm",LLLL:"dddd MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm"},calendar:{sameDay:"[Bi lɛrɛ] LT",nextDay:"[Sini lɛrɛ] LT",nextWeek:"dddd [don lɛrɛ] LT",lastDay:"[Kunu lɛrɛ] LT",lastWeek:"dddd [tɛmɛnen lɛrɛ] LT",sameElse:"L"},relativeTime:{future:"%s kɔnɔ",past:"a bɛ %s bɔ",s:"sanga dama dama",ss:"sekondi %d",m:"miniti kelen",mm:"miniti %d",h:"lɛrɛ kelen",hh:"lɛrɛ %d",d:"tile kelen",dd:"tile %d",M:"kalo kelen",MM:"kalo %d",y:"san kelen",yy:"san %d"},week:{dow:1,doy:4}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("bg",{months:"януари_февруари_март_април_май_юни_юли_август_септември_октомври_ноември_декември".split("_"),monthsShort:"янр_фев_мар_апр_май_юни_юли_авг_сеп_окт_ное_дек".split("_"),weekdays:"неделя_понеделник_вторник_сряда_четвъртък_петък_събота".split("_"),weekdaysShort:"нед_пон_вто_сря_чет_пет_съб".split("_"),weekdaysMin:"нд_пн_вт_ср_чт_пт_сб".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"D.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[Днес в] LT",nextDay:"[Утре в] LT",nextWeek:"dddd [в] LT",lastDay:"[Вчера в] LT",lastWeek:function(){switch(this.day()){case 0:case 3:case 6:return"[В изминалата] dddd [в] LT";case 1:case 2:case 4:case 5:return"[В изминалия] dddd [в] LT"}},sameElse:"L"},relativeTime:{future:"след %s",past:"преди %s",s:"няколко секунди",ss:"%d секунди",m:"минута",mm:"%d минути",h:"час",hh:"%d часа",d:"ден",dd:"%d дни",M:"месец",MM:"%d месеца",y:"година",yy:"%d години"},dayOfMonthOrdinalParse:/\d{1,2}-(ев|ен|ти|ви|ри|ми)/,ordinal:function(e){var t=e%10,n=e%100;return 0===e?e+"-ев":0===n?e+"-ен":n>10&&n<20?e+"-ти":1===t?e+"-ви":2===t?e+"-ри":7===t||8===t?e+"-ми":e+"-ти"},week:{dow:1,doy:7}})}(n(0))},function(e,t,n){!function(e){"use strict";function t(e,t,n){var a,c,o={ss:t?"секунда_секунды_секунд":"секунду_секунды_секунд",mm:t?"хвіліна_хвіліны_хвілін":"хвіліну_хвіліны_хвілін",hh:t?"гадзіна_гадзіны_гадзін":"гадзіну_гадзіны_гадзін",dd:"дзень_дні_дзён",MM:"месяц_месяцы_месяцаў",yy:"год_гады_гадоў"};return"m"===n?t?"хвіліна":"хвіліну":"h"===n?t?"гадзіна":"гадзіну":e+" "+(a=+e,c=o[n].split("_"),a%10==1&&a%100!=11?c[0]:a%10>=2&&a%10<=4&&(a%100<10||a%100>=20)?c[1]:c[2])}e.defineLocale("be",{months:{format:"студзеня_лютага_сакавіка_красавіка_траўня_чэрвеня_ліпеня_жніўня_верасня_кастрычніка_лістапада_снежня".split("_"),standalone:"студзень_люты_сакавік_красавік_травень_чэрвень_ліпень_жнівень_верасень_кастрычнік_лістапад_снежань".split("_")},monthsShort:"студ_лют_сак_крас_трав_чэрв_ліп_жнів_вер_каст_ліст_снеж".split("_"),weekdays:{format:"нядзелю_панядзелак_аўторак_сераду_чацвер_пятніцу_суботу".split("_"),standalone:"нядзеля_панядзелак_аўторак_серада_чацвер_пятніца_субота".split("_"),isFormat:/\[ ?[Ууў] ?(?:мінулую|наступную)? ?\] ?dddd/},weekdaysShort:"нд_пн_ат_ср_чц_пт_сб".split("_"),weekdaysMin:"нд_пн_ат_ср_чц_пт_сб".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY г.",LLL:"D MMMM YYYY г., HH:mm",LLLL:"dddd, D MMMM YYYY г., HH:mm"},calendar:{sameDay:"[Сёння ў] LT",nextDay:"[Заўтра ў] LT",lastDay:"[Учора ў] LT",nextWeek:function(){return"[У] dddd [ў] LT"},lastWeek:function(){switch(this.day()){case 0:case 3:case 5:case 6:return"[У мінулую] dddd [ў] LT";case 1:case 2:case 4:return"[У мінулы] dddd [ў] LT"}},sameElse:"L"},relativeTime:{future:"праз %s",past:"%s таму",s:"некалькі секунд",m:t,mm:t,h:t,hh:t,d:"дзень",dd:t,M:"месяц",MM:t,y:"год",yy:t},meridiemParse:/ночы|раніцы|дня|вечара/,isPM:function(e){return/^(дня|вечара)$/.test(e)},meridiem:function(e,t,n){return e<4?"ночы":e<12?"раніцы":e<17?"дня":"вечара"},dayOfMonthOrdinalParse:/\d{1,2}-(і|ы|га)/,ordinal:function(e,t){switch(t){case"M":case"d":case"DDD":case"w":case"W":return e%10!=2&&e%10!=3||e%100==12||e%100==13?e+"-ы":e+"-і";case"D":return e+"-га";default:return e}},week:{dow:1,doy:7}})}(n(0))},function(e,t,n){!function(e){"use strict";var t={1:"-inci",5:"-inci",8:"-inci",70:"-inci",80:"-inci",2:"-nci",7:"-nci",20:"-nci",50:"-nci",3:"-üncü",4:"-üncü",100:"-üncü",6:"-ncı",9:"-uncu",10:"-uncu",30:"-uncu",60:"-ıncı",90:"-ıncı"};e.defineLocale("az",{months:"yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr".split("_"),monthsShort:"yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek".split("_"),weekdays:"Bazar_Bazar ertəsi_Çərşənbə axşamı_Çərşənbə_Cümə axşamı_Cümə_Şənbə".split("_"),weekdaysShort:"Baz_BzE_ÇAx_Çər_CAx_Cüm_Şən".split("_"),weekdaysMin:"Bz_BE_ÇA_Çə_CA_Cü_Şə".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[bugün saat] LT",nextDay:"[sabah saat] LT",nextWeek:"[gələn həftə] dddd [saat] LT",lastDay:"[dünən] LT",lastWeek:"[keçən həftə] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s sonra",past:"%s əvvəl",s:"birneçə saniyə",ss:"%d saniyə",m:"bir dəqiqə",mm:"%d dəqiqə",h:"bir saat",hh:"%d saat",d:"bir gün",dd:"%d gün",M:"bir ay",MM:"%d ay",y:"bir il",yy:"%d il"},meridiemParse:/gecə|səhər|gündüz|axşam/,isPM:function(e){return/^(gündüz|axşam)$/.test(e)},meridiem:function(e,t,n){return e<4?"gecə":e<12?"səhər":e<17?"gündüz":"axşam"},dayOfMonthOrdinalParse:/\d{1,2}-(ıncı|inci|nci|üncü|ncı|uncu)/,ordinal:function(e){if(0===e)return e+"-ıncı";var n=e%10,a=e%100-n,c=e>=100?100:null;return e+(t[n]||t[a]||t[c])},week:{dow:1,doy:7}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("ar-tn",{months:"جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),monthsShort:"جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[اليوم على الساعة] LT",nextDay:"[غدا على الساعة] LT",nextWeek:"dddd [على الساعة] LT",lastDay:"[أمس على الساعة] LT",lastWeek:"dddd [على الساعة] LT",sameElse:"L"},relativeTime:{future:"في %s",past:"منذ %s",s:"ثوان",ss:"%d ثانية",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"},week:{dow:1,doy:4}})}(n(0))},function(e,t,n){!function(e){"use strict";var t={1:"١",2:"٢",3:"٣",4:"٤",5:"٥",6:"٦",7:"٧",8:"٨",9:"٩",0:"٠"},n={"١":"1","٢":"2","٣":"3","٤":"4","٥":"5","٦":"6","٧":"7","٨":"8","٩":"9","٠":"0"};e.defineLocale("ar-sa",{months:"يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),monthsShort:"يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/ص|م/,isPM:function(e){return"م"===e},meridiem:function(e,t,n){return e<12?"ص":"م"},calendar:{sameDay:"[اليوم على الساعة] LT",nextDay:"[غدا على الساعة] LT",nextWeek:"dddd [على الساعة] LT",lastDay:"[أمس على الساعة] LT",lastWeek:"dddd [على الساعة] LT",sameElse:"L"},relativeTime:{future:"في %s",past:"منذ %s",s:"ثوان",ss:"%d ثانية",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"},preparse:function(e){return e.replace(/[١٢٣٤٥٦٧٨٩٠]/g,function(e){return n[e]}).replace(/،/g,",")},postformat:function(e){return e.replace(/\d/g,function(e){return t[e]}).replace(/,/g,"،")},week:{dow:0,doy:6}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("ar-ma",{months:"يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر".split("_"),monthsShort:"يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر".split("_"),weekdays:"الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[اليوم على الساعة] LT",nextDay:"[غدا على الساعة] LT",nextWeek:"dddd [على الساعة] LT",lastDay:"[أمس على الساعة] LT",lastWeek:"dddd [على الساعة] LT",sameElse:"L"},relativeTime:{future:"في %s",past:"منذ %s",s:"ثوان",ss:"%d ثانية",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"},week:{dow:6,doy:12}})}(n(0))},function(e,t,n){!function(e){"use strict";var t={1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",7:"7",8:"8",9:"9",0:"0"},n=function(e){return 0===e?0:1===e?1:2===e?2:e%100>=3&&e%100<=10?3:e%100>=11?4:5},a={s:["أقل من ثانية","ثانية واحدة",["ثانيتان","ثانيتين"],"%d ثوان","%d ثانية","%d ثانية"],m:["أقل من دقيقة","دقيقة واحدة",["دقيقتان","دقيقتين"],"%d دقائق","%d دقيقة","%d دقيقة"],h:["أقل من ساعة","ساعة واحدة",["ساعتان","ساعتين"],"%d ساعات","%d ساعة","%d ساعة"],d:["أقل من يوم","يوم واحد",["يومان","يومين"],"%d أيام","%d يومًا","%d يوم"],M:["أقل من شهر","شهر واحد",["شهران","شهرين"],"%d أشهر","%d شهرا","%d شهر"],y:["أقل من عام","عام واحد",["عامان","عامين"],"%d أعوام","%d عامًا","%d عام"]},c=function(e){return function(t,c,o,i){var r=n(t),s=a[e][n(t)];return 2===r&&(s=s[c?0:1]),s.replace(/%d/i,t)}},o=["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر"];e.defineLocale("ar-ly",{months:o,monthsShort:o,weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/‏M/‏YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/ص|م/,isPM:function(e){return"م"===e},meridiem:function(e,t,n){return e<12?"ص":"م"},calendar:{sameDay:"[اليوم عند الساعة] LT",nextDay:"[غدًا عند الساعة] LT",nextWeek:"dddd [عند الساعة] LT",lastDay:"[أمس عند الساعة] LT",lastWeek:"dddd [عند الساعة] LT",sameElse:"L"},relativeTime:{future:"بعد %s",past:"منذ %s",s:c("s"),ss:c("s"),m:c("m"),mm:c("m"),h:c("h"),hh:c("h"),d:c("d"),dd:c("d"),M:c("M"),MM:c("M"),y:c("y"),yy:c("y")},preparse:function(e){return e.replace(/،/g,",")},postformat:function(e){return e.replace(/\d/g,function(e){return t[e]}).replace(/,/g,"،")},week:{dow:6,doy:12}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("ar-kw",{months:"يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر".split("_"),monthsShort:"يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر".split("_"),weekdays:"الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[اليوم على الساعة] LT",nextDay:"[غدا على الساعة] LT",nextWeek:"dddd [على الساعة] LT",lastDay:"[أمس على الساعة] LT",lastWeek:"dddd [على الساعة] LT",sameElse:"L"},relativeTime:{future:"في %s",past:"منذ %s",s:"ثوان",ss:"%d ثانية",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"},week:{dow:0,doy:12}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("ar-dz",{months:"جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),monthsShort:"جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"احد_اثنين_ثلاثاء_اربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"أح_إث_ثلا_أر_خم_جم_سب".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[اليوم على الساعة] LT",nextDay:"[غدا على الساعة] LT",nextWeek:"dddd [على الساعة] LT",lastDay:"[أمس على الساعة] LT",lastWeek:"dddd [على الساعة] LT",sameElse:"L"},relativeTime:{future:"في %s",past:"منذ %s",s:"ثوان",ss:"%d ثانية",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"},week:{dow:0,doy:4}})}(n(0))},function(e,t,n){!function(e){"use strict";var t={1:"١",2:"٢",3:"٣",4:"٤",5:"٥",6:"٦",7:"٧",8:"٨",9:"٩",0:"٠"},n={"١":"1","٢":"2","٣":"3","٤":"4","٥":"5","٦":"6","٧":"7","٨":"8","٩":"9","٠":"0"},a=function(e){return 0===e?0:1===e?1:2===e?2:e%100>=3&&e%100<=10?3:e%100>=11?4:5},c={s:["أقل من ثانية","ثانية واحدة",["ثانيتان","ثانيتين"],"%d ثوان","%d ثانية","%d ثانية"],m:["أقل من دقيقة","دقيقة واحدة",["دقيقتان","دقيقتين"],"%d دقائق","%d دقيقة","%d دقيقة"],h:["أقل من ساعة","ساعة واحدة",["ساعتان","ساعتين"],"%d ساعات","%d ساعة","%d ساعة"],d:["أقل من يوم","يوم واحد",["يومان","يومين"],"%d أيام","%d يومًا","%d يوم"],M:["أقل من شهر","شهر واحد",["شهران","شهرين"],"%d أشهر","%d شهرا","%d شهر"],y:["أقل من عام","عام واحد",["عامان","عامين"],"%d أعوام","%d عامًا","%d عام"]},o=function(e){return function(t,n,o,i){var r=a(t),s=c[e][a(t)];return 2===r&&(s=s[n?0:1]),s.replace(/%d/i,t)}},i=["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر"];e.defineLocale("ar",{months:i,monthsShort:i,weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/‏M/‏YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/ص|م/,isPM:function(e){return"م"===e},meridiem:function(e,t,n){return e<12?"ص":"م"},calendar:{sameDay:"[اليوم عند الساعة] LT",nextDay:"[غدًا عند الساعة] LT",nextWeek:"dddd [عند الساعة] LT",lastDay:"[أمس عند الساعة] LT",lastWeek:"dddd [عند الساعة] LT",sameElse:"L"},relativeTime:{future:"بعد %s",past:"منذ %s",s:o("s"),ss:o("s"),m:o("m"),mm:o("m"),h:o("h"),hh:o("h"),d:o("d"),dd:o("d"),M:o("M"),MM:o("M"),y:o("y"),yy:o("y")},preparse:function(e){return e.replace(/[١٢٣٤٥٦٧٨٩٠]/g,function(e){return n[e]}).replace(/،/g,",")},postformat:function(e){return e.replace(/\d/g,function(e){return t[e]}).replace(/,/g,"،")},week:{dow:6,doy:12}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("af",{months:"Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember".split("_"),monthsShort:"Jan_Feb_Mrt_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des".split("_"),weekdays:"Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag".split("_"),weekdaysShort:"Son_Maa_Din_Woe_Don_Vry_Sat".split("_"),weekdaysMin:"So_Ma_Di_Wo_Do_Vr_Sa".split("_"),meridiemParse:/vm|nm/i,isPM:function(e){return/^nm$/i.test(e)},meridiem:function(e,t,n){return e<12?n?"vm":"VM":n?"nm":"NM"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Vandag om] LT",nextDay:"[Môre om] LT",nextWeek:"dddd [om] LT",lastDay:"[Gister om] LT",lastWeek:"[Laas] dddd [om] LT",sameElse:"L"},relativeTime:{future:"oor %s",past:"%s gelede",s:"'n paar sekondes",ss:"%d sekondes",m:"'n minuut",mm:"%d minute",h:"'n uur",hh:"%d ure",d:"'n dag",dd:"%d dae",M:"'n maand",MM:"%d maande",y:"'n jaar",yy:"%d jaar"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(e){return e+(1===e||8===e||e>=20?"ste":"de")},week:{dow:1,doy:4}})}(n(0))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};t.extendDeep=function e(t){for(var n=1;n0&&void 0!==arguments[0]?arguments[0]:{};if(this instanceof e==!1)return new e(t);this.matrix=[["Index"]],this.meta={type:void 0},this.config=t};m.prototype.data=function(e){return arguments.length?(this.matrix=e instanceof Array?e:null,this):this.matrix},m.prototype.set=function(e,t){if(arguments.length<2||e.length<2)throw Error("Incorrect arguments provided for #set method");var n="number"==typeof e[0]?e[0]:this.matrix[0].indexOf(e[0]),c="number"==typeof e[1]?e[1]:r.selectColumn.call(this,0).indexOf(e[1]),o=r.selectColumn.call(this,e[0]),i=r.selectRow.call(this,e[1]);return o.length<1&&(a.appendColumn.call(this,String(e[0])),n=this.matrix[0].length-1),i.length<1&&(a.appendRow.call(this,String(e[1])),c=this.matrix.length-1),this.matrix[c][n]=t,this},m.prototype.type=function(e){return arguments.length?(this.meta.type=e?String(e):void 0,this):this.meta.type},(0,u.extend)(m.prototype,a),(0,u.extend)(m.prototype,c),(0,u.extend)(m.prototype,o),(0,u.extend)(m.prototype,i),(0,u.extend)(m.prototype,r),(0,u.extend)(m.prototype,s),(0,u.extend)(m.prototype,d),(0,u.extend)(m.prototype,M.default),m.parser=(0,l.default)(m),t.default=m},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=function(){function e(e,t){for(var n=0;ng/2?g/2-5:e.points[0].y+D}]}}),S=v.concat(w);if(O.attr("height",g+h+A-30).attr("width",Y+y+z).append("g").attr("transform","translate("+y+","+h+")").selectAll("polygon").data(S).enter().append("polygon").attr("points",function(e){return e.points.map(function(e){return[e.x,e.y].join(",")}).join(" ")}).style("fill",function(e,t){return t>v.length-1?s[e.label]?c.rgb(s[e.label]).darker(1.5):c.rgb(n[t-v.length]).darker(1.5):s[e.label]?s[e.label]:n[t]}).attr("class",function(e){return e.label}).attr("cursor","pointer"),m&&(O.selectAll("line").data(v).enter().append("line").attr("x1",function(e){return e.points[0].x+y-.8*D}).attr("y1",g+A).attr("x2",function(e){return e.points[0].x+y-.8*D}).attr("y2",function(e){return e.points[0].y}).attr("class","chart-lines"),O.append("line").attr("x1",Y+y+D/4).attr("y1",g+A).attr("x2",v[v.length-1].points[3].x+y+D/4).attr("y2",v[v.length-1].points[3].y).attr("class","chart-lines")),m&&O.selectAll("text.label").data(v).enter().append("text").style("text-anchor","middle").attr("x",function(e){return e.points[0].x+y+.25*k}).attr("y",g+.4*A).attr("class",function(e){return"text-label "+e.label}).text(function(e){return e.name}).call(o.textWrap,k).attr("cursor","pointer"),m||O.selectAll("text.label").data(v).enter().append("text").style("text-anchor","middle").attr("x",function(e){return e.points[0].x+y+.25*k}).attr("y",function(e){return e.points[2].y+k/4>g+A-40?g+A-40:e.points[2].y+k/4 *").remove()}}]),e}();t.default=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=function(){function e(e,t){for(var n=0;nk+A-40?k+A-40:e.points[2].y+(e.points[3].y-e.points[0].y)/2+D/4}).attr("class",function(e){return"text-label "+e.label}).text(function(e){return e.name}).call(o.textWrap,D).attr("cursor","pointer"),l&&!b&&Y.selectAll("text.label").data(W).enter().append("text").style("text-anchor","middle").attr("x",function(e){return e.points[1].x+D/2+y}).attr("y",k/2+h+10).attr("class",function(e){return"text-main "+e.label}).text(function(e){return e.percent}).attr("cursor","pointer"),b&&!l&&Y.selectAll("text.label").data(W).enter().append("text").style("text-anchor","middle").attr("x",function(e){return e.points[1].x+D/2+y}).attr("y",k/2+h+10).attr("class",function(e){return"text-main "+e.label}).text(function(e){return e.result}).attr("cursor","pointer"),l&&b&&(Y.selectAll("text.label").data(W).enter().append("text").style("text-anchor","middle").attr("x",function(e){return e.points[1].x+D/2+y}).attr("y",k/2+h+16).attr("class",function(e){return"text-second "+e.label}).text(function(e){return e.percent}).attr("cursor","pointer"),Y.selectAll("text.label").data(W).enter().append("text").style("text-anchor","middle").attr("x",function(e){return e.points[1].x+D/2+y}).attr("y",k/2+h-3).attr("class",function(e){return"text-main "+e.label}).text(function(e){return e.result}).attr("cursor","pointer")),L){var v=function(e){S.style("opacity",.5),X.style("opacity",.5);var t=/[^ ]*$/.exec(c.select(this).attr("class"))[0];Y.selectAll("."+t).style("opacity",1)},w=function(e){S.style("opacity",1),X.style("opacity",1)},S=Y.selectAll("polygon");S.on("mouseover",v).on("mouseout",w);var X=Y.selectAll("text");X.on("mouseover",v).on("mouseout",w)}}},{key:"update",value:function(){this.destroy(),this.render()}},{key:"destroy",value:function(){var e=this.config.container;c.select(e+" .c3-chart > *").remove()}}]),e}();t.default=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=function(){function e(e,t){for(var n=0;nY/2?Y/2-5:e.points[3].x+q,y:"right"===b?e.points[3].y:e.points[3].y+D/1.5}]}}),S=v.concat(w);if(O.attr("height",g+h+A-30).attr("width",Y+y+z).append("g").attr("transform","translate("+y+","+h+")").selectAll("polygon").data(S).enter().append("polygon").attr("points",function(e){return e.points.map(function(e){return[e.x,e.y].join(",")}).join(" ")}).style("fill",function(e,t){return t>v.length-1?s[e.label]?c.rgb(s[e.label]).darker(1.5):c.rgb(n[t-v.length]).darker(1.5):s[e.label]?s[e.label]:n[t]}).attr("class",function(e){return e.label}).attr("cursor","pointer"),m&&(O.selectAll("line").data(v).enter().append("line").attr("x1",10).attr("y1",function(e){return e.points[0].y+h-D/5}).attr("x2",function(e,t){return 0===t?e.points[1].x+y:e.points[1].x+y-q}).attr("y2",function(e){return e.points[0].y+h-D/5}).attr("class","chart-lines"),O.append("line").attr("x1",10).attr("y1",v[v.length-1].points[2].y+h+D-D/5).attr("x2",v[v.length-1].points[2].x+y-q).attr("y2",v[v.length-1].points[2].y+h+D-D/5).attr("class","chart-lines")),m&&O.selectAll("text.label").data(v).enter().append("text").style("text-anchor","start").attr("x",20).attr("y",function(e){return(e.points[2].y-e.points[1].y)/2+e.points[1].y+h+5+D/4}).attr("class",function(e){return"text-label "+e.label}).text(function(e){return e.name}).call(o.textWrap,y).attr("cursor","pointer"),m||O.selectAll("text.label").data(v).enter().append("text").style("text-anchor","end").attr("x",function(e){return e.points[0].x+(e.points[3].x-e.points[0].x)/2+130}).attr("y",function(e){return(e.points[2].y-e.points[1].y)/2+e.points[1].y+h+5}).attr("class",function(e){return"text-label "+e.label}).text(function(e){return e.name}).call(o.textWrap,y).attr("cursor","pointer"),l&&!f&&O.selectAll("text.label").data(v).enter().append("text").style("text-anchor","middle").attr("x",Y/2+y).attr("y",function(e){return(e.points[2].y-e.points[1].y)/2+e.points[1].y+h+8}).attr("class",function(e){return"text-main "+e.label}).text(function(e){return e.percent}).attr("cursor","pointer"),f&&!l&&O.selectAll("text.label").data(v).enter().append("text").style("text-anchor","middle").attr("x",Y/2+y).attr("y",function(e){return(e.points[2].y-e.points[1].y)/2+e.points[1].y+h+8}).attr("class",function(e){return"text-main "+e.label}).text(function(e){return e.result}).attr("cursor","pointer"),l&&f&&(O.selectAll("text.label").data(v).enter().append("text").style("text-anchor","middle").attr("x",Y/2+y).attr("y",function(e){return(e.points[2].y-e.points[1].y)/2+e.points[1].y+h+18}).attr("class",function(e){return"text-second "+e.label}).text(function(e){return e.percent}).attr("cursor","pointer"),O.selectAll("text.label").data(v).enter().append("text").style("text-anchor","middle").attr("x",Y/2+y).attr("y",function(e){return(e.points[2].y-e.points[1].y)/2+e.points[1].y+h+3}).attr("class",function(e){return"text-main "+e.label}).text(function(e){return e.result}).attr("cursor","pointer")),L){var X=function(e){H.style("opacity",.5),x.style("opacity",.5);var t=/[^ ]*$/.exec(c.select(this).attr("class"))[0];O.selectAll("."+t).style("opacity",1)},B=function(e){H.style("opacity",1),x.style("opacity",1)},H=O.selectAll("polygon");H.on("mouseover",X).on("mouseout",B);var x=O.selectAll("text");x.on("mouseover",X).on("mouseout",B)}}},{key:"update",value:function(){this.destroy(),this.render()}},{key:"destroy",value:function(){var e=this.config.container;c.select(e+" .c3-chart > *").remove()}}]),e}();t.default=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=function(){function e(e,t){for(var n=0;n *").remove()}}]),e}();t.default=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={render:function(){var e="";this.view._artifacts.spinner={};e+='
',e+='
',e+='
',e+="
",e+="
",this.el().innerHTML=e},update:function(){this.render()},destroy:function(){if(this.view._artifacts.spinner){this.view._artifacts.spinner.interval&&clearInterval(this.view._artifacts.spinner.interval),this.view._artifacts.spinner.radius=0;try{delete this.view._artifacts.spinner}catch(e){this.view._artifacts.spinner=void 0}}this.el().innerHTML=""}}},function(e){e.exports={version:"2018e",zones:["Africa/Abidjan|LMT GMT|g.8 0|01|-2ldXH.Q|48e5","Africa/Accra|LMT GMT +0020|.Q 0 -k|012121212121212121212121212121212121212121212121|-26BbX.8 6tzX.8 MnE 1BAk MnE 1BAk MnE 1BAk MnE 1C0k MnE 1BAk MnE 1BAk MnE 1BAk MnE 1C0k MnE 1BAk MnE 1BAk MnE 1BAk MnE 1C0k MnE 1BAk MnE 1BAk MnE 1BAk MnE 1C0k MnE 1BAk MnE 1BAk MnE 1BAk MnE 1C0k MnE 1BAk MnE 1BAk MnE|41e5","Africa/Nairobi|LMT EAT +0230 +0245|-2r.g -30 -2u -2J|01231|-1F3Cr.g 3Dzr.g okMu MFXJ|47e5","Africa/Algiers|PMT WET WEST CET CEST|-9.l 0 -10 -10 -20|0121212121212121343431312123431213|-2nco9.l cNb9.l HA0 19A0 1iM0 11c0 1oo0 Wo0 1rc0 QM0 1EM0 UM0 DA0 Imo0 rd0 De0 9Xz0 1fb0 1ap0 16K0 2yo0 mEp0 hwL0 jxA0 11A0 dDd0 17b0 11B0 1cN0 2Dy0 1cN0 1fB0 1cL0|26e5","Africa/Lagos|LMT WAT|-d.A -10|01|-22y0d.A|17e6","Africa/Bissau|LMT -01 GMT|12.k 10 0|012|-2ldX0 2xoo0|39e4","Africa/Maputo|LMT CAT|-2a.k -20|01|-2GJea.k|26e5","Africa/Cairo|EET EEST|-20 -30|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-1bIO0 vb0 1ip0 11z0 1iN0 1nz0 12p0 1pz0 10N0 1pz0 16p0 1jz0 s3d0 Vz0 1oN0 11b0 1oO0 10N0 1pz0 10N0 1pb0 10N0 1pb0 10N0 1pb0 10N0 1pz0 10N0 1pb0 10N0 1pb0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1WL0 rd0 1Rz0 wp0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1qL0 Xd0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1ny0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 WL0 1qN0 Rb0 1wp0 On0 1zd0 Lz0 1EN0 Fb0 c10 8n0 8Nd0 gL0 e10 mn0|15e6","Africa/Casablanca|LMT WET WEST CET|u.k 0 -10 -10|0121212121212121213121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2gMnt.E 130Lt.E rb0 Dd0 dVb0 b6p0 TX0 EoB0 LL0 gnd0 rz0 43d0 AL0 1Nd0 XX0 1Cp0 pz0 dEp0 4mn0 SyN0 AL0 1Nd0 wn0 1FB0 Db0 1zd0 Lz0 1Nf0 wM0 co0 go0 1o00 s00 dA0 vc0 11A0 A00 e00 y00 11A0 uM0 e00 Dc0 11A0 s00 e00 IM0 WM0 mo0 gM0 LA0 WM0 jA0 e00 Rc0 11A0 e00 e00 U00 11A0 8o0 e00 11A0 11A0 5A0 e00 17c0 1fA0 1a00 1a00 1fA0 17c0 1io0 14o0 1lc0 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1lc0 14o0 1fA0|32e5","Africa/Ceuta|WET WEST CET CEST|0 -10 -10 -20|010101010101010101010232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-25KN0 11z0 drd0 18p0 3HX0 17d0 1fz0 1a10 1io0 1a00 1y7o0 LL0 gnd0 rz0 43d0 AL0 1Nd0 XX0 1Cp0 pz0 dEp0 4VB0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|85e3","Africa/El_Aaiun|LMT -01 WET WEST|Q.M 10 0 -10|01232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-1rDz7.c 1GVA7.c 6L0 AL0 1Nd0 XX0 1Cp0 pz0 1cBB0 AL0 1Nd0 wn0 1FB0 Db0 1zd0 Lz0 1Nf0 wM0 co0 go0 1o00 s00 dA0 vc0 11A0 A00 e00 y00 11A0 uM0 e00 Dc0 11A0 s00 e00 IM0 WM0 mo0 gM0 LA0 WM0 jA0 e00 Rc0 11A0 e00 e00 U00 11A0 8o0 e00 11A0 11A0 5A0 e00 17c0 1fA0 1a00 1a00 1fA0 17c0 1io0 14o0 1lc0 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1lc0 14o0 1fA0|20e4","Africa/Johannesburg|SAST SAST SAST|-1u -20 -30|012121|-2GJdu 1Ajdu 1cL0 1cN0 1cL0|84e5","Africa/Juba|LMT CAT CAST EAT|-26.s -20 -30 -30|01212121212121212121212121212121213|-1yW26.s 1zK06.s 16L0 1iN0 17b0 1jd0 17b0 1ip0 17z0 1i10 17X0 1hB0 18n0 1hd0 19b0 1gp0 19z0 1iN0 17b0 1ip0 17z0 1i10 18n0 1hd0 18L0 1gN0 19b0 1gp0 19z0 1iN0 17z0 1i10 17X0 yGd0","Africa/Khartoum|LMT CAT CAST EAT|-2a.8 -20 -30 -30|012121212121212121212121212121212131|-1yW2a.8 1zK0a.8 16L0 1iN0 17b0 1jd0 17b0 1ip0 17z0 1i10 17X0 1hB0 18n0 1hd0 19b0 1gp0 19z0 1iN0 17b0 1ip0 17z0 1i10 18n0 1hd0 18L0 1gN0 19b0 1gp0 19z0 1iN0 17z0 1i10 17X0 yGd0 HjL0|51e5","Africa/Monrovia|MMT MMT GMT|H.8 I.u 0|012|-23Lzg.Q 28G01.m|11e5","Africa/Ndjamena|LMT WAT WAST|-10.c -10 -20|0121|-2le10.c 2J3c0.c Wn0|13e5","Africa/Sao_Tome|LMT GMT WAT|A.J 0 -10|012|-2le00 4i6N0","Africa/Tripoli|LMT CET CEST EET|-Q.I -10 -20 -20|012121213121212121212121213123123|-21JcQ.I 1hnBQ.I vx0 4iP0 xx0 4eN0 Bb0 7ip0 U0n0 A10 1db0 1cN0 1db0 1dd0 1db0 1eN0 1bb0 1e10 1cL0 1c10 1db0 1dd0 1db0 1cN0 1db0 1q10 fAn0 1ep0 1db0 AKq0 TA0 1o00|11e5","Africa/Tunis|PMT CET CEST|-9.l -10 -20|0121212121212121212121212121212121|-2nco9.l 18pa9.l 1qM0 DA0 3Tc0 11B0 1ze0 WM0 7z0 3d0 14L0 1cN0 1f90 1ar0 16J0 1gXB0 WM0 1rA0 11c0 nwo0 Ko0 1cM0 1cM0 1rA0 10M0 zuM0 10N0 1aN0 1qM0 WM0 1qM0 11A0 1o00|20e5","Africa/Windhoek|+0130 SAST SAST CAT WAT|-1u -20 -30 -20 -10|01213434343434343434343434343434343434343434343434343|-2GJdu 1Ajdu 1cL0 1SqL0 9Io0 16P0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0|32e4","America/Adak|NST NWT NPT BST BDT AHST HST HDT|b0 a0 a0 b0 a0 a0 a0 90|012034343434343434343434343434343456767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676|-17SX0 8wW0 iB0 Qlb0 52O0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 cm0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|326","America/Anchorage|AST AWT APT AHST AHDT YST AKST AKDT|a0 90 90 a0 90 90 90 80|012034343434343434343434343434343456767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676|-17T00 8wX0 iA0 Qlb0 52O0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 cm0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|30e4","America/Port_of_Spain|LMT AST|46.4 40|01|-2kNvR.U|43e3","America/Araguaina|LMT -03 -02|3c.M 30 20|0121212121212121212121212121212121212121212121212121|-2glwL.c HdKL.c 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 dMN0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 ny10 Lz0|14e4","America/Argentina/Buenos_Aires|CMT -04 -03 -02|4g.M 40 30 20|01212121212121212121212121212121212121212123232323232323232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wp0 Rb0 1wp0 TX0 A4p0 uL0 1qN0 WL0","America/Argentina/Catamarca|CMT -04 -03 -02|4g.M 40 30 20|01212121212121212121212121212121212121212123232323132321232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wq0 Ra0 1wp0 TX0 rlB0 7B0 8zb0 uL0","America/Argentina/Cordoba|CMT -04 -03 -02|4g.M 40 30 20|01212121212121212121212121212121212121212123232323132323232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wq0 Ra0 1wp0 TX0 A4p0 uL0 1qN0 WL0","America/Argentina/Jujuy|CMT -04 -03 -02|4g.M 40 30 20|012121212121212121212121212121212121212121232323121323232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1ze0 TX0 1ld0 WK0 1wp0 TX0 A4p0 uL0","America/Argentina/La_Rioja|CMT -04 -03 -02|4g.M 40 30 20|012121212121212121212121212121212121212121232323231232321232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Qn0 qO0 16n0 Rb0 1wp0 TX0 rlB0 7B0 8zb0 uL0","America/Argentina/Mendoza|CMT -04 -03 -02|4g.M 40 30 20|01212121212121212121212121212121212121212123232312121321232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1u20 SL0 1vd0 Tb0 1wp0 TW0 ri10 Op0 7TX0 uL0","America/Argentina/Rio_Gallegos|CMT -04 -03 -02|4g.M 40 30 20|01212121212121212121212121212121212121212123232323232321232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wp0 Rb0 1wp0 TX0 rlB0 7B0 8zb0 uL0","America/Argentina/Salta|CMT -04 -03 -02|4g.M 40 30 20|012121212121212121212121212121212121212121232323231323232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wq0 Ra0 1wp0 TX0 A4p0 uL0","America/Argentina/San_Juan|CMT -04 -03 -02|4g.M 40 30 20|012121212121212121212121212121212121212121232323231232321232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Qn0 qO0 16n0 Rb0 1wp0 TX0 rld0 m10 8lb0 uL0","America/Argentina/San_Luis|CMT -04 -03 -02|4g.M 40 30 20|012121212121212121212121212121212121212121232323121212321212|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 XX0 1q20 SL0 AN0 vDb0 m10 8lb0 8L0 jd0 1qN0 WL0 1qN0","America/Argentina/Tucuman|CMT -04 -03 -02|4g.M 40 30 20|0121212121212121212121212121212121212121212323232313232123232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wq0 Ra0 1wp0 TX0 rlB0 4N0 8BX0 uL0 1qN0 WL0","America/Argentina/Ushuaia|CMT -04 -03 -02|4g.M 40 30 20|01212121212121212121212121212121212121212123232323232321232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wp0 Rb0 1wp0 TX0 rkN0 8p0 8zb0 uL0","America/Curacao|LMT -0430 AST|4z.L 4u 40|012|-2kV7o.d 28KLS.d|15e4","America/Asuncion|AMT -04 -03|3O.E 40 30|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212|-1x589.k 1DKM9.k 3CL0 3Dd0 10L0 1pB0 10n0 1pB0 10n0 1pB0 1cL0 1dd0 1db0 1dd0 1cL0 1dd0 1cL0 1dd0 1cL0 1dd0 1db0 1dd0 1cL0 1dd0 1cL0 1dd0 1cL0 1dd0 1db0 1dd0 1cL0 1lB0 14n0 1dd0 1cL0 1fd0 WL0 1rd0 1aL0 1dB0 Xz0 1qp0 Xb0 1qN0 10L0 1rB0 TX0 1tB0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 1cL0 WN0 1qL0 11B0 1nX0 1ip0 WL0 1qN0 WL0 1qN0 WL0 1tB0 TX0 1tB0 TX0 1tB0 19X0 1a10 1fz0 1a10 1fz0 1cN0 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0|28e5","America/Atikokan|CST CDT CWT CPT EST|60 50 50 50 50|0101234|-25TQ0 1in0 Rnb0 3je0 8x30 iw0|28e2","America/Bahia_Banderas|LMT MST CST PST MDT CDT|71 70 60 80 60 50|0121212131414141414141414141414141414152525252525252525252525252525252525252525252525252525252|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 otX0 gmN0 P2N0 13Vd0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nW0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0|84e3","America/Bahia|LMT -03 -02|2y.4 30 20|01212121212121212121212121212121212121212121212121212121212121|-2glxp.U HdLp.U 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 1EN0 Lz0 1C10 IL0 1HB0 Db0 1HB0 On0 1zd0 On0 1zd0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 l5B0 Rb0|27e5","America/Barbados|LMT BMT AST ADT|3W.t 3W.t 40 30|01232323232|-1Q0I1.v jsM0 1ODC1.v IL0 1ip0 17b0 1ip0 17b0 1ld0 13b0|28e4","America/Belem|LMT -03 -02|3d.U 30 20|012121212121212121212121212121|-2glwK.4 HdKK.4 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0|20e5","America/Belize|LMT CST -0530 CDT|5Q.M 60 5u 50|01212121212121212121212121212121212121212121212121213131|-2kBu7.c fPA7.c Onu 1zcu Rbu 1wou Rbu 1wou Rbu 1zcu Onu 1zcu Onu 1zcu Rbu 1wou Rbu 1wou Rbu 1wou Rbu 1zcu Onu 1zcu Onu 1zcu Rbu 1wou Rbu 1wou Rbu 1zcu Onu 1zcu Onu 1zcu Onu 1zcu Rbu 1wou Rbu 1wou Rbu 1zcu Onu 1zcu Onu 1zcu Rbu 1wou Rbu 1f0Mu qn0 lxB0 mn0|57e3","America/Blanc-Sablon|AST ADT AWT APT|40 30 30 30|010230|-25TS0 1in0 UGp0 8x50 iu0|11e2","America/Boa_Vista|LMT -04 -03|42.E 40 30|0121212121212121212121212121212121|-2glvV.k HdKV.k 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 smp0 WL0 1tB0 2L0|62e2","America/Bogota|BMT -05 -04|4U.g 50 40|0121|-2eb73.I 38yo3.I 2en0|90e5","America/Boise|PST PDT MST MWT MPT MDT|80 70 70 60 60 60|0101023425252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252|-261q0 1nX0 11B0 1nX0 8C10 JCL0 8x20 ix0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 Dd0 1Kn0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|21e4","America/Cambridge_Bay|-00 MST MWT MPT MDDT MDT CST CDT EST|0 70 60 60 50 60 60 50 50|0123141515151515151515151515151515151515151515678651515151515151515151515151515151515151515151515151515151515151515151515151|-21Jc0 RO90 8x20 ix0 LCL0 1fA0 zgO0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11A0 1nX0 2K0 WQ0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|15e2","America/Campo_Grande|LMT -04 -03|3C.s 40 30|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212|-2glwl.w HdLl.w 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 1EN0 Lz0 1C10 IL0 1HB0 Db0 1HB0 On0 1zd0 On0 1zd0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 1C10 Lz0 1Ip0 HX0 1zd0 On0 1HB0 IL0 1wp0 On0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 Rb0 1zd0 Lz0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 On0 1zd0 On0 1HB0 FX0 1HB0 FX0 1HB0 IL0 1HB0 FX0 1HB0 IL0 1EN0 FX0 1HB0 FX0 1HB0 IL0 1EN0 IL0 1HB0 FX0 1HB0 FX0 1HB0 FX0 1HB0 FX0 1HB0 FX0 1Kp0 FX0 1HB0 IL0 1EN0 FX0 1HB0 FX0 1HB0 IL0 1EN0|77e4","America/Cancun|LMT CST EST EDT CDT|5L.4 60 50 40 50|0123232341414141414141414141414141414141412|-1UQG0 2q2o0 yLB0 1lb0 14p0 1lb0 14p0 Lz0 xB0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 Dd0|63e4","America/Caracas|CMT -0430 -04|4r.E 4u 40|01212|-2kV7w.k 28KM2.k 1IwOu kqo0|29e5","America/Cayenne|LMT -04 -03|3t.k 40 30|012|-2mrwu.E 2gWou.E|58e3","America/Panama|CMT EST|5j.A 50|01|-2uduE.o|15e5","America/Chicago|CST CDT EST CWT CPT|60 50 50 50 50|01010101010101010101010101010101010102010101010103401010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261s0 1nX0 11B0 1nX0 1wp0 TX0 WN0 1qL0 1cN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 11B0 1Hz0 14p0 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 RB0 8x30 iw0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|92e5","America/Chihuahua|LMT MST CST CDT MDT|74.k 70 60 50 60|0121212323241414141414141414141414141414141414141414141414141414141414141414141414141414141|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 2zQN0 1lb0 14p0 1lb0 14q0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0|81e4","America/Costa_Rica|SJMT CST CDT|5A.d 60 50|0121212121|-1Xd6n.L 2lu0n.L Db0 1Kp0 Db0 pRB0 15b0 1kp0 mL0|12e5","America/Creston|MST PST|70 80|010|-29DR0 43B0|53e2","America/Cuiaba|LMT -04 -03|3I.k 40 30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212|-2glwf.E HdLf.E 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 1EN0 Lz0 1C10 IL0 1HB0 Db0 1HB0 On0 1zd0 On0 1zd0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 4a10 HX0 1zd0 On0 1HB0 IL0 1wp0 On0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 Rb0 1zd0 Lz0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 On0 1zd0 On0 1HB0 FX0 1HB0 FX0 1HB0 IL0 1HB0 FX0 1HB0 IL0 1EN0 FX0 1HB0 FX0 1HB0 IL0 1EN0 IL0 1HB0 FX0 1HB0 FX0 1HB0 FX0 1HB0 FX0 1HB0 FX0 1Kp0 FX0 1HB0 IL0 1EN0 FX0 1HB0 FX0 1HB0 IL0 1EN0|54e4","America/Danmarkshavn|LMT -03 -02 GMT|1e.E 30 20 0|01212121212121212121212121212121213|-2a5WJ.k 2z5fJ.k 19U0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 DC0|8","America/Dawson_Creek|PST PDT PWT PPT MST|80 70 70 70 70|0102301010101010101010101010101010101010101010101010101014|-25TO0 1in0 UGp0 8x10 iy0 3NB0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 ML0|12e3","America/Dawson|YST YDT YWT YPT YDDT PST PDT|90 80 80 80 70 80 70|0101023040565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565|-25TN0 1in0 1o10 13V0 Ser0 8x00 iz0 LCL0 1fA0 jrA0 fNd0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|13e2","America/Denver|MST MDT MWT MPT|70 60 60 60|01010101023010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261r0 1nX0 11B0 1nX0 11B0 1qL0 WN0 mn0 Ord0 8x20 ix0 LCN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|26e5","America/Detroit|LMT CST EST EWT EPT EDT|5w.b 60 50 40 40 40|012342525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252|-2Cgir.N peqr.N 156L0 8x40 iv0 6fd0 11z0 XQp0 1cL0 s10 1Vz0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|37e5","America/Edmonton|LMT MST MDT MWT MPT|7x.Q 70 60 60 60|01212121212121341212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2yd4q.8 shdq.8 1in0 17d0 hz0 2dB0 1fz0 1a10 11z0 1qN0 WL0 1qN0 11z0 IGN0 8x20 ix0 3NB0 11z0 LFB0 1cL0 3Cp0 1cL0 66N0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|10e5","America/Eirunepe|LMT -05 -04|4D.s 50 40|0121212121212121212121212121212121|-2glvk.w HdLk.w 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 dPB0 On0 yTd0 d5X0|31e3","America/El_Salvador|LMT CST CDT|5U.M 60 50|012121|-1XiG3.c 2Fvc3.c WL0 1qN0 WL0|11e5","America/Tijuana|LMT MST PST PDT PWT PPT|7M.4 70 80 70 70 70|012123245232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-1UQE0 4PX0 8mM0 8lc0 SN0 1cL0 pHB0 83r0 zI0 5O10 1Rz0 cOO0 11A0 1o00 11A0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 BUp0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 U10 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|20e5","America/Fort_Nelson|PST PDT PWT PPT MST|80 70 70 70 70|01023010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010104|-25TO0 1in0 UGp0 8x10 iy0 3NB0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0|39e2","America/Fort_Wayne|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|010101023010101010101010101040454545454545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 QI10 Db0 RB0 8x30 iw0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 5Tz0 1o10 qLb0 1cL0 1cN0 1cL0 1qhd0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Fortaleza|LMT -03 -02|2y 30 20|0121212121212121212121212121212121212121|-2glxq HdLq 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 nsp0 WL0 1tB0 5z0 2mN0 On0|34e5","America/Glace_Bay|LMT AST ADT AWT APT|3X.M 40 30 30 30|012134121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2IsI0.c CwO0.c 1in0 UGp0 8x50 iu0 iq10 11z0 Jg10 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|19e3","America/Godthab|LMT -03 -02|3q.U 30 20|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2a5Ux.4 2z5dx.4 19U0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|17e3","America/Goose_Bay|NST NDT NST NDT NWT NPT AST ADT ADDT|3u.Q 2u.Q 3u 2u 2u 2u 40 30 20|010232323232323245232323232323232323232323232323232323232326767676767676767676767676767676767676767676768676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676|-25TSt.8 1in0 DXb0 2HbX.8 WL0 1qN0 WL0 1qN0 WL0 1tB0 TX0 1tB0 WL0 1qN0 WL0 1qN0 7UHu itu 1tB0 WL0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1tB0 WL0 1ld0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 S10 g0u 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14n1 1lb0 14p0 1nW0 11C0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zcX Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|76e2","America/Grand_Turk|KMT EST EDT AST|57.a 50 40 40|01212121212121212121212121212121212121212121212121212121212121212121212121232121212121212121212121212121212121212121|-2l1uQ.O 2HHBQ.O 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 5Ip0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|37e2","America/Guatemala|LMT CST CDT|62.4 60 50|0121212121|-24KhV.U 2efXV.U An0 mtd0 Nz0 ifB0 17b0 zDB0 11z0|13e5","America/Guayaquil|QMT -05 -04|5e 50 40|0121|-1yVSK 2uILK rz0|27e5","America/Guyana|LMT -0345 -03 -04|3Q.E 3J 30 40|0123|-2dvU7.k 2r6LQ.k Bxbf|80e4","America/Halifax|LMT AST ADT AWT APT|4e.o 40 30 30 30|0121212121212121212121212121212121212121212121212134121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2IsHJ.A xzzJ.A 1db0 3I30 1in0 3HX0 IL0 1E10 ML0 1yN0 Pb0 1Bd0 Mn0 1Bd0 Rz0 1w10 Xb0 1w10 LX0 1w10 Xb0 1w10 Lz0 1C10 Jz0 1E10 OL0 1yN0 Un0 1qp0 Xb0 1qp0 11X0 1w10 Lz0 1HB0 LX0 1C10 FX0 1w10 Xb0 1qp0 Xb0 1BB0 LX0 1td0 Xb0 1qp0 Xb0 Rf0 8x50 iu0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 3Qp0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 3Qp0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 6i10 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|39e4","America/Havana|HMT CST CDT|5t.A 50 40|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1Meuu.o 72zu.o ML0 sld0 An0 1Nd0 Db0 1Nd0 An0 6Ep0 An0 1Nd0 An0 JDd0 Mn0 1Ap0 On0 1fd0 11X0 1qN0 WL0 1wp0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 14n0 1ld0 14L0 1kN0 15b0 1kp0 1cL0 1cN0 1fz0 1a10 1fz0 1fB0 11z0 14p0 1nX0 11B0 1nX0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 14n0 1ld0 14n0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 1a10 1in0 1a10 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 17c0 1o00 11A0 1qM0 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 11A0 6i00 Rc0 1wo0 U00 1tA0 Rc0 1wo0 U00 1wo0 U00 1zc0 U00 1qM0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0|21e5","America/Hermosillo|LMT MST CST PST MDT|7n.Q 70 60 80 60|0121212131414141|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 otX0 gmN0 P2N0 13Vd0 1lb0 14p0 1lb0 14p0 1lb0|64e4","America/Indiana/Knox|CST CDT CWT CPT EST|60 50 50 50 50|0101023010101010101010101010101010101040101010101010101010101010101010101010101010101010141010101010101010101010101010101010101010101010101010101010101010|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 3NB0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 11z0 1o10 11z0 1o10 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 3Cn0 8wp0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 z8o0 1o00 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Indiana/Marengo|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|0101023010101010101010104545454545414545454545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 dyN0 11z0 6fd0 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 jrz0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1VA0 LA0 1BX0 1e6p0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Indiana/Petersburg|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|01010230101010101010101010104010101010101010101010141014545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 njX0 WN0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 3Fb0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 19co0 1o00 Rd0 1zb0 Oo0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Indiana/Tell_City|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|01010230101010101010101010101010454541010101010101010101010101010101010101010101010101010101010101010|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 1o10 11z0 g0p0 11z0 1o10 11z0 1qL0 WN0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 WL0 1qN0 1cL0 1cN0 1cL0 1cN0 caL0 1cL0 1cN0 1cL0 1qhd0 1o00 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Indiana/Vevay|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|010102304545454545454545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 kPB0 Awn0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1lnd0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Indiana/Vincennes|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|01010230101010101010101010101010454541014545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 1o10 11z0 g0p0 11z0 1o10 11z0 1qL0 WN0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 WL0 1qN0 1cL0 1cN0 1cL0 1cN0 caL0 1cL0 1cN0 1cL0 1qhd0 1o00 Rd0 1zb0 Oo0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Indiana/Winamac|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|01010230101010101010101010101010101010454541054545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 jrz0 1cL0 1cN0 1cL0 1qhd0 1o00 Rd0 1za0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Inuvik|-00 PST PDDT MST MDT|0 80 60 70 60|0121343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343|-FnA0 tWU0 1fA0 wPe0 2pz0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|35e2","America/Iqaluit|-00 EWT EPT EST EDDT EDT CST CDT|0 40 40 50 30 40 60 50|01234353535353535353535353535353535353535353567353535353535353535353535353535353535353535353535353535353535353535353535353|-16K00 7nX0 iv0 LCL0 1fA0 zgO0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11C0 1nX0 11A0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|67e2","America/Jamaica|KMT EST EDT|57.a 50 40|0121212121212121212121|-2l1uQ.O 2uM1Q.O 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0|94e4","America/Juneau|PST PWT PPT PDT YDT YST AKST AKDT|80 70 70 70 80 90 90 80|01203030303030303030303030403030356767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676|-17T20 8x10 iy0 Vo10 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cM0 1cM0 1cL0 1cN0 1fz0 1a10 1fz0 co0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|33e3","America/Kentucky/Louisville|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|0101010102301010101010101010101010101454545454545414545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 3Fd0 Nb0 LPd0 11z0 RB0 8x30 iw0 Bb0 10N0 2bB0 8in0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 xz0 gso0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1VA0 LA0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Kentucky/Monticello|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|0101023010101010101010101010101010101010101010101010101010101010101010101454545454545454545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 SWp0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11A0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/La_Paz|CMT BST -04|4w.A 3w.A 40|012|-1x37r.o 13b0|19e5","America/Lima|LMT -05 -04|58.A 50 40|0121212121212121|-2tyGP.o 1bDzP.o zX0 1aN0 1cL0 1cN0 1cL0 1PrB0 zX0 1O10 zX0 6Gp0 zX0 98p0 zX0|11e6","America/Los_Angeles|PST PDT PWT PPT|80 70 70 70|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261q0 1nX0 11B0 1nX0 SgN0 8x10 iy0 5Wp1 1VaX 3dA0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1a00 1fA0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|15e6","America/Maceio|LMT -03 -02|2m.Q 30 20|012121212121212121212121212121212121212121|-2glxB.8 HdLB.8 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 dMN0 Lz0 8Q10 WL0 1tB0 5z0 2mN0 On0|93e4","America/Managua|MMT CST EST CDT|5J.c 60 50 50|0121313121213131|-1quie.M 1yAMe.M 4mn0 9Up0 Dz0 1K10 Dz0 s3F0 1KH0 DB0 9In0 k8p0 19X0 1o30 11y0|22e5","America/Manaus|LMT -04 -03|40.4 40 30|01212121212121212121212121212121|-2glvX.U HdKX.U 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 dPB0 On0|19e5","America/Martinique|FFMT AST ADT|44.k 40 30|0121|-2mPTT.E 2LPbT.E 19X0|39e4","America/Matamoros|LMT CST CDT|6E 60 50|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1UQG0 2FjC0 1nX0 i6p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 U10 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|45e4","America/Mazatlan|LMT MST CST PST MDT|75.E 70 60 80 60|0121212131414141414141414141414141414141414141414141414141414141414141414141414141414141414141|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 otX0 gmN0 P2N0 13Vd0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0|44e4","America/Menominee|CST CDT CWT CPT EST|60 50 50 50 50|01010230101041010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 1o10 11z0 LCN0 1fz0 6410 9Jb0 1cM0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|85e2","America/Merida|LMT CST EST CDT|5W.s 60 50 50|0121313131313131313131313131313131313131313131313131313131313131313131313131313131313131|-1UQG0 2q2o0 2hz0 wu30 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0|11e5","America/Metlakatla|PST PWT PPT PDT AKST AKDT|80 70 70 70 90 80|0120303030303030303030303030303030454545454545454545454545454545454545454545454|-17T20 8x10 iy0 Vo10 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1hU10 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|14e2","America/Mexico_City|LMT MST CST CDT CWT|6A.A 70 60 50 50|012121232324232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 gEn0 TX0 3xd0 Jb0 6zB0 SL0 e5d0 17b0 1Pff0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0|20e6","America/Miquelon|LMT AST -03 -02|3I.E 40 30 20|012323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-2mKkf.k 2LTAf.k gQ10 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|61e2","America/Moncton|EST AST ADT AWT APT|50 40 30 30 30|012121212121212121212134121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2IsH0 CwN0 1in0 zAo0 An0 1Nd0 An0 1Nd0 An0 1Nd0 An0 1Nd0 An0 1Nd0 An0 1K10 Lz0 1zB0 NX0 1u10 Wn0 S20 8x50 iu0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 3Cp0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14n1 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 ReX 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|64e3","America/Monterrey|LMT CST CDT|6F.g 60 50|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1UQG0 2FjC0 1nX0 i6p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0|41e5","America/Montevideo|LMT MMT -04 -03 -0330 -0230 -02 -0130|3I.P 3I.P 40 30 3u 2u 20 1u|012343434343434343434343435353636353636375363636363636363636363636363636363636363636363|-2tRUf.9 sVc0 8jcf.9 1db0 1dcu 1cLu 1dcu 1cLu ircu 11zu 1o0u 11zu 1o0u 11zu 1o0u 11zu 1qMu WLu 1qMu WLu 1fAu 1cLu 1o0u 11zu NAu 3jXu zXu Dq0u 19Xu pcu jz0 cm10 19X0 6tB0 1fbu 3o0u jX0 4vB0 xz0 3Cp0 mmu 1a10 IMu Db0 4c10 uL0 1Nd0 An0 1SN0 uL0 mp0 28L0 iPB0 un0 1SN0 xz0 1zd0 Lz0 1zd0 Rb0 1zd0 On0 1wp0 Rb0 s8p0 1fB0 1ip0 11z0 1ld0 14n0 1o10 11z0 1o10 11z0 1o10 14n0 1ld0 14n0 1ld0 14n0 1o10 11z0 1o10 11z0 1o10 11z0|17e5","America/Toronto|EST EDT EWT EPT|50 40 40 40|01010101010101010101010101010101010101010101012301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-25TR0 1in0 11Wu 1nzu 1fD0 WJ0 1wr0 Nb0 1Ap0 On0 1zd0 On0 1wp0 TX0 1tB0 TX0 1tB0 TX0 1tB0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 4kM0 8x40 iv0 1o10 11z0 1nX0 11z0 1o10 11z0 1o10 1qL0 11D0 1nX0 11B0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|65e5","America/Nassau|LMT EST EDT|59.u 50 40|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2kNuO.u 26XdO.u 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|24e4","America/New_York|EST EDT EWT EPT|50 40 40 40|01010101010101010101010101010101010101010101010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261t0 1nX0 11B0 1nX0 11B0 1qL0 1a10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 RB0 8x40 iv0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|21e6","America/Nipigon|EST EDT EWT EPT|50 40 40 40|010123010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-25TR0 1in0 Rnb0 3je0 8x40 iv0 19yN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|16e2","America/Nome|NST NWT NPT BST BDT YST AKST AKDT|b0 a0 a0 b0 a0 90 90 80|012034343434343434343434343434343456767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676|-17SX0 8wW0 iB0 Qlb0 52O0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 cl0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|38e2","America/Noronha|LMT -02 -01|29.E 20 10|0121212121212121212121212121212121212121|-2glxO.k HdKO.k 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 nsp0 WL0 1tB0 2L0 2pB0 On0|30e2","America/North_Dakota/Beulah|MST MDT MWT MPT CST CDT|70 60 60 60 60 50|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101014545454545454545454545454545454545454545454545454545454|-261r0 1nX0 11B0 1nX0 SgN0 8x20 ix0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Oo0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/North_Dakota/Center|MST MDT MWT MPT CST CDT|70 60 60 60 60 50|010102301010101010101010101010101010101010101010101010101014545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-261r0 1nX0 11B0 1nX0 SgN0 8x20 ix0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14o0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/North_Dakota/New_Salem|MST MDT MWT MPT CST CDT|70 60 60 60 60 50|010102301010101010101010101010101010101010101010101010101010101010101010101010101454545454545454545454545454545454545454545454545454545454545454545454|-261r0 1nX0 11B0 1nX0 SgN0 8x20 ix0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14o0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Ojinaga|LMT MST CST CDT MDT|6V.E 70 60 50 60|0121212323241414141414141414141414141414141414141414141414141414141414141414141414141414141|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 2zQN0 1lb0 14p0 1lb0 14q0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 U10 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|23e3","America/Pangnirtung|-00 AST AWT APT ADDT ADT EDT EST CST CDT|0 40 30 30 20 30 40 50 60 50|012314151515151515151515151515151515167676767689767676767676767676767676767676767676767676767676767676767676767676767676767|-1XiM0 PnG0 8x50 iu0 LCL0 1fA0 zgO0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1o00 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11C0 1nX0 11A0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|14e2","America/Paramaribo|LMT PMT PMT -0330 -03|3E.E 3E.Q 3E.A 3u 30|01234|-2nDUj.k Wqo0.c qanX.I 1yVXN.o|24e4","America/Phoenix|MST MDT MWT|70 60 60|01010202010|-261r0 1nX0 11B0 1nX0 SgN0 4Al1 Ap0 1db0 SWqX 1cL0|42e5","America/Port-au-Prince|PPMT EST EDT|4N 50 40|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-28RHb 2FnMb 19X0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14q0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 i6n0 1nX0 11B0 1nX0 d430 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 3iN0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|23e5","America/Rio_Branco|LMT -05 -04|4v.c 50 40|01212121212121212121212121212121|-2glvs.M HdLs.M 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 NBd0 d5X0|31e4","America/Porto_Velho|LMT -04 -03|4f.A 40 30|012121212121212121212121212121|-2glvI.o HdKI.o 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0|37e4","America/Puerto_Rico|AST AWT APT|40 30 30|0120|-17lU0 7XT0 iu0|24e5","America/Punta_Arenas|SMT -05 -04 -03|4G.K 50 40 30|0102021212121212121232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323|-2q2jh.e fJAh.e 5knG.K 1Vzh.e jRAG.K 1pbh.e 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 nHX0 op0 blz0 ko0 Qeo0 WL0 1zd0 On0 1ip0 11z0 1o10 11z0 1qN0 WL0 1ld0 14n0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 1cL0 1cN0 11z0 1o10 11z0 1qN0 WL0 1fB0 19X0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1ip0 1fz0 1fB0 11z0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1o10 19X0 1fB0 1nX0 G10 1EL0 Op0 1zb0 Rd0 1wn0 Rd0 46n0 Ap0","America/Rainy_River|CST CDT CWT CPT|60 50 50 50|010123010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-25TQ0 1in0 Rnb0 3je0 8x30 iw0 19yN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|842","America/Rankin_Inlet|-00 CST CDDT CDT EST|0 60 40 50 50|012131313131313131313131313131313131313131313431313131313131313131313131313131313131313131313131313131313131313131313131|-vDc0 keu0 1fA0 zgO0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|26e2","America/Recife|LMT -03 -02|2j.A 30 20|0121212121212121212121212121212121212121|-2glxE.o HdLE.o 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 nsp0 WL0 1tB0 2L0 2pB0 On0|33e5","America/Regina|LMT MST MDT MWT MPT CST|6W.A 70 60 60 60 60|012121212121212121212121341212121212121212121212121215|-2AD51.o uHe1.o 1in0 s2L0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 66N0 1cL0 1cN0 19X0 1fB0 1cL0 1fB0 1cL0 1cN0 1cL0 M30 8x20 ix0 1ip0 1cL0 1ip0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 3NB0 1cL0 1cN0|19e4","America/Resolute|-00 CST CDDT CDT EST|0 60 40 50 50|012131313131313131313131313131313131313131313431313131313431313131313131313131313131313131313131313131313131313131313131|-SnA0 GWS0 1fA0 zgO0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|229","America/Santarem|LMT -04 -03|3C.M 40 30|0121212121212121212121212121212|-2glwl.c HdLl.c 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 NBd0|21e4","America/Santiago|SMT -05 -04 -03|4G.K 50 40 30|010202121212121212321232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323|-2q2jh.e fJAh.e 5knG.K 1Vzh.e jRAG.K 1pbh.e 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 nHX0 op0 9Bz0 jb0 1oN0 ko0 Qeo0 WL0 1zd0 On0 1ip0 11z0 1o10 11z0 1qN0 WL0 1ld0 14n0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 1cL0 1cN0 11z0 1o10 11z0 1qN0 WL0 1fB0 19X0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1ip0 1fz0 1fB0 11z0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1o10 19X0 1fB0 1nX0 G10 1EL0 Op0 1zb0 Rd0 1wn0 Rd0 46n0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Dd0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Dd0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Dd0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0|62e5","America/Santo_Domingo|SDMT EST EDT -0430 AST|4E 50 40 4u 40|01213131313131414|-1ttjk 1lJMk Mn0 6sp0 Lbu 1Cou yLu 1RAu wLu 1QMu xzu 1Q0u xXu 1PAu 13jB0 e00|29e5","America/Sao_Paulo|LMT -03 -02|36.s 30 20|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212|-2glwR.w HdKR.w 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 pTd0 PX0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 1EN0 Lz0 1C10 IL0 1HB0 Db0 1HB0 On0 1zd0 On0 1zd0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 1C10 Lz0 1Ip0 HX0 1zd0 On0 1HB0 IL0 1wp0 On0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 Rb0 1zd0 Lz0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 On0 1zd0 On0 1HB0 FX0 1HB0 FX0 1HB0 IL0 1HB0 FX0 1HB0 IL0 1EN0 FX0 1HB0 FX0 1HB0 IL0 1EN0 IL0 1HB0 FX0 1HB0 FX0 1HB0 FX0 1HB0 FX0 1HB0 FX0 1Kp0 FX0 1HB0 IL0 1EN0 FX0 1HB0 FX0 1HB0 IL0 1EN0|20e6","America/Scoresbysund|LMT -02 -01 +00|1r.Q 20 10 0|0121323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-2a5Ww.8 2z5ew.8 1a00 1cK0 1cL0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|452","America/Sitka|PST PWT PPT PDT YST AKST AKDT|80 70 70 70 90 90 80|01203030303030303030303030303030345656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565|-17T20 8x10 iy0 Vo10 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 co0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|90e2","America/St_Johns|NST NDT NST NDT NWT NPT NDDT|3u.Q 2u.Q 3u 2u 2u 2u 1u|01010101010101010101010101010101010102323232323232324523232323232323232323232323232323232323232323232323232323232323232323232323232323232326232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-28oit.8 14L0 1nB0 1in0 1gm0 Dz0 1JB0 1cL0 1cN0 1cL0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1fB0 1cL0 1cN0 1cL0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1fB0 1cL0 1fB0 19X0 1fB0 19X0 10O0 eKX.8 19X0 1iq0 WL0 1qN0 WL0 1qN0 WL0 1tB0 TX0 1tB0 WL0 1qN0 WL0 1qN0 7UHu itu 1tB0 WL0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1tB0 WL0 1ld0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14n1 1lb0 14p0 1nW0 11C0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zcX Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|11e4","America/Swift_Current|LMT MST MDT MWT MPT CST|7b.k 70 60 60 60 60|012134121212121212121215|-2AD4M.E uHdM.E 1in0 UGp0 8x20 ix0 1o10 17b0 1ip0 11z0 1o10 11z0 1o10 11z0 isN0 1cL0 3Cp0 1cL0 1cN0 11z0 1qN0 WL0 pMp0|16e3","America/Tegucigalpa|LMT CST CDT|5M.Q 60 50|01212121|-1WGGb.8 2ETcb.8 WL0 1qN0 WL0 GRd0 AL0|11e5","America/Thule|LMT AST ADT|4z.8 40 30|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2a5To.Q 31NBo.Q 1cL0 1cN0 1cL0 1fB0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|656","America/Thunder_Bay|CST EST EWT EPT EDT|60 50 40 40 40|0123141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141|-2q5S0 1iaN0 8x40 iv0 XNB0 1cL0 1cN0 1fz0 1cN0 1cL0 3Cp0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|11e4","America/Vancouver|PST PDT PWT PPT|80 70 70 70|0102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-25TO0 1in0 UGp0 8x10 iy0 1o10 17b0 1ip0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|23e5","America/Whitehorse|YST YDT YWT YPT YDDT PST PDT|90 80 80 80 70 80 70|0101023040565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565|-25TN0 1in0 1o10 13V0 Ser0 8x00 iz0 LCL0 1fA0 3NA0 vrd0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|23e3","America/Winnipeg|CST CDT CWT CPT|60 50 50 50|010101023010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aIi0 WL0 3ND0 1in0 Jap0 Rb0 aCN0 8x30 iw0 1tB0 11z0 1ip0 11z0 1o10 11z0 1o10 11z0 1rd0 10L0 1op0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 1cL0 1cN0 11z0 6i10 WL0 6i10 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1a00 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1a00 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|66e4","America/Yakutat|YST YWT YPT YDT AKST AKDT|90 80 80 80 90 80|01203030303030303030303030303030304545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-17T10 8x00 iz0 Vo10 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 cn0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|642","America/Yellowknife|-00 MST MWT MPT MDDT MDT|0 70 60 60 50 60|012314151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151|-1pdA0 hix0 8x20 ix0 LCL0 1fA0 zgO0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|19e3","Antarctica/Casey|-00 +08 +11|0 -80 -b0|01212121|-2q00 1DjS0 T90 40P0 KL0 blz0 3m10|10","Antarctica/Davis|-00 +07 +05|0 -70 -50|01012121|-vyo0 iXt0 alj0 1D7v0 VB0 3Wn0 KN0|70","Antarctica/DumontDUrville|-00 +10|0 -a0|0101|-U0o0 cfq0 bFm0|80","Antarctica/Macquarie|AEST AEDT -00 +11|-a0 -b0 0 -b0|0102010101010101010101010101010101010101010101010101010101010101010101010101010101010101013|-29E80 19X0 4SL0 1ayy0 Lvs0 1cM0 1o00 Rc0 1wo0 Rc0 1wo0 U00 1wo0 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 11A0 1qM0 WM0 1qM0 Oo0 1zc0 Oo0 1zc0 Oo0 1wo0 WM0 1tA0 WM0 1tA0 U00 1tA0 U00 1tA0 11A0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 11A0 1o00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1cM0 1cM0 1cM0|1","Antarctica/Mawson|-00 +06 +05|0 -60 -50|012|-CEo0 2fyk0|60","Pacific/Auckland|NZMT NZST NZST NZDT|-bu -cu -c0 -d0|01020202020202020202020202023232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323|-1GCVu Lz0 1tB0 11zu 1o0u 11zu 1o0u 11zu 1o0u 14nu 1lcu 14nu 1lcu 1lbu 11Au 1nXu 11Au 1nXu 11Au 1nXu 11Au 1nXu 11Au 1qLu WMu 1qLu 11Au 1n1bu IM0 1C00 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1qM0 14o0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1io0 17c0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1io0 17c0 1io0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00|14e5","Antarctica/Palmer|-00 -03 -04 -02|0 30 40 20|0121212121213121212121212121212121212121212121212121212121212121212121212121212121|-cao0 nD0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 jsN0 14N0 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 1cL0 1cN0 11z0 1o10 11z0 1qN0 WL0 1fB0 19X0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1ip0 1fz0 1fB0 11z0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1o10 19X0 1fB0 1nX0 G10 1EL0 Op0 1zb0 Rd0 1wn0 Rd0 46n0 Ap0|40","Antarctica/Rothera|-00 -03|0 30|01|gOo0|130","Antarctica/Syowa|-00 +03|0 -30|01|-vs00|20","Antarctica/Troll|-00 +00 +02|0 0 -20|01212121212121212121212121212121212121212121212121212121212121212121|1puo0 hd0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|40","Antarctica/Vostok|-00 +06|0 -60|01|-tjA0|25","Europe/Oslo|CET CEST|-10 -20|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2awM0 Qm0 W6o0 5pf0 WM0 1fA0 1cM0 1cM0 1cM0 1cM0 wJc0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1qM0 WM0 zpc0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|62e4","Asia/Riyadh|LMT +03|-36.Q -30|01|-TvD6.Q|57e5","Asia/Almaty|LMT +05 +06 +07|-57.M -50 -60 -70|012323232323232323232321232323232323232323232323232|-1Pc57.M eUo7.M 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0|15e5","Asia/Amman|LMT EET EEST|-2n.I -20 -30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1yW2n.I 1HiMn.I KL0 1oN0 11b0 1oN0 11b0 1pd0 1dz0 1cp0 11b0 1op0 11b0 fO10 1db0 1e10 1cL0 1cN0 1cL0 1cN0 1fz0 1pd0 10n0 1ld0 14n0 1hB0 15b0 1ip0 19X0 1cN0 1cL0 1cN0 17b0 1ld0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1So0 y00 1fc0 1dc0 1co0 1dc0 1cM0 1cM0 1cM0 1o00 11A0 1lc0 17c0 1cM0 1cM0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 4bX0 Dd0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0|25e5","Asia/Anadyr|LMT +12 +13 +14 +11|-bN.U -c0 -d0 -e0 -b0|01232121212121212121214121212121212121212121212121212121212141|-1PcbN.U eUnN.U 23CL0 1db0 2q10 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 2sp0 WM0|13e3","Asia/Aqtau|LMT +04 +05 +06|-3l.4 -40 -50 -60|012323232323232323232123232312121212121212121212|-1Pc3l.4 eUnl.4 24PX0 2pX0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0|15e4","Asia/Aqtobe|LMT +04 +05 +06|-3M.E -40 -50 -60|0123232323232323232321232323232323232323232323232|-1Pc3M.E eUnM.E 23CL0 3Db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0|27e4","Asia/Ashgabat|LMT +04 +05 +06|-3R.w -40 -50 -60|0123232323232323232323212|-1Pc3R.w eUnR.w 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0|41e4","Asia/Atyrau|LMT +03 +05 +06 +04|-3r.I -30 -50 -60 -40|01232323232323232323242323232323232324242424242|-1Pc3r.I eUor.I 24PW0 2pX0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 2sp0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0","Asia/Baghdad|BMT +03 +04|-2V.A -30 -40|012121212121212121212121212121212121212121212121212121|-26BeV.A 2ACnV.A 11b0 1cp0 1dz0 1dd0 1db0 1cN0 1cp0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1de0 1dc0 1dc0 1dc0 1cM0 1dc0 1cM0 1dc0 1cM0 1dc0 1dc0 1dc0 1cM0 1dc0 1cM0 1dc0 1cM0 1dc0 1dc0 1dc0 1cM0 1dc0 1cM0 1dc0 1cM0 1dc0 1dc0 1dc0 1cM0 1dc0 1cM0 1dc0 1cM0 1dc0|66e5","Asia/Qatar|LMT +04 +03|-3q.8 -40 -30|012|-21Jfq.8 27BXq.8|96e4","Asia/Baku|LMT +03 +04 +05|-3j.o -30 -40 -50|01232323232323232323232123232323232323232323232323232323232323232|-1Pc3j.o 1jUoj.o WCL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 1cM0 9Je0 1o00 11z0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|27e5","Asia/Bangkok|BMT +07|-6G.4 -70|01|-218SG.4|15e6","Asia/Barnaul|LMT +06 +07 +08|-5z -60 -70 -80|0123232323232323232323212323232321212121212121212121212121212121212|-21S5z pCnz 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 p90 LE0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3rd0","Asia/Beirut|EET EEST|-20 -30|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-21aq0 1on0 1410 1db0 19B0 1in0 1ip0 WL0 1lQp0 11b0 1oN0 11b0 1oN0 11b0 1pd0 11b0 1oN0 11b0 q6N0 En0 1oN0 11b0 1oN0 11b0 1oN0 11b0 1pd0 11b0 1oN0 11b0 1op0 11b0 dA10 17b0 1iN0 17b0 1iN0 17b0 1iN0 17b0 1vB0 SL0 1mp0 13z0 1iN0 17b0 1iN0 17b0 1jd0 12n0 1a10 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0|22e5","Asia/Bishkek|LMT +05 +06 +07|-4W.o -50 -60 -70|012323232323232323232321212121212121212121212121212|-1Pc4W.o eUnW.o 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2e00 1tX0 17b0 1ip0 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1cPu 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0|87e4","Asia/Brunei|LMT +0730 +08|-7D.E -7u -80|012|-1KITD.E gDc9.E|42e4","Asia/Kolkata|MMT IST +0630|-5l.a -5u -6u|012121|-2zOtl.a 1r2LP.a 1un0 HB0 7zX0|15e6","Asia/Chita|LMT +08 +09 +10|-7x.Q -80 -90 -a0|012323232323232323232321232323232323232323232323232323232323232312|-21Q7x.Q pAnx.Q 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3re0|33e4","Asia/Choibalsan|LMT +07 +08 +10 +09|-7C -70 -80 -a0 -90|0123434343434343434343434343434343434343434343424242|-2APHC 2UkoC cKn0 1da0 1dd0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 6hD0 11z0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 3Db0 h1f0 1cJ0 1cP0 1cJ0|38e3","Asia/Shanghai|CST CDT|-80 -90|01010101010101010|-1c1I0 LX0 16p0 1jz0 1Myp0 Rb0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0|23e6","Asia/Colombo|MMT +0530 +06 +0630|-5j.w -5u -60 -6u|01231321|-2zOtj.w 1rFbN.w 1zzu 7Apu 23dz0 11zu n3cu|22e5","Asia/Dhaka|HMT +0630 +0530 +06 +07|-5R.k -6u -5u -60 -70|0121343|-18LFR.k 1unn.k HB0 m6n0 2kxbu 1i00|16e6","Asia/Damascus|LMT EET EEST|-2p.c -20 -30|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-21Jep.c Hep.c 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1xRB0 11X0 1oN0 10L0 1pB0 11b0 1oN0 10L0 1mp0 13X0 1oN0 11b0 1pd0 11b0 1oN0 11b0 1oN0 11b0 1oN0 11b0 1pd0 11b0 1oN0 11b0 1oN0 11b0 1oN0 11b0 1pd0 11b0 1oN0 Nb0 1AN0 Nb0 bcp0 19X0 1gp0 19X0 3ld0 1xX0 Vd0 1Bz0 Sp0 1vX0 10p0 1dz0 1cN0 1cL0 1db0 1db0 1g10 1an0 1ap0 1db0 1fd0 1db0 1cN0 1db0 1dd0 1db0 1cp0 1dz0 1c10 1dX0 1cN0 1db0 1dd0 1db0 1cN0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1db0 1cN0 1db0 1cN0 19z0 1fB0 1qL0 11B0 1on0 Wp0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0|26e5","Asia/Dili|LMT +08 +09|-8m.k -80 -90|01212|-2le8m.k 1dnXm.k 1nfA0 Xld0|19e4","Asia/Dubai|LMT +04|-3F.c -40|01|-21JfF.c|39e5","Asia/Dushanbe|LMT +05 +06 +07|-4z.c -50 -60 -70|012323232323232323232321|-1Pc4z.c eUnz.c 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2hB0|76e4","Asia/Famagusta|LMT EET EEST +03|-2f.M -20 -30 -30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212312121212121212121212121212121212121212121|-1Vc2f.M 2a3cf.M 1cL0 1qp0 Xz0 19B0 19X0 1fB0 1db0 1cp0 1cL0 1fB0 19X0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1o30 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 15U0 2Ks0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","Asia/Gaza|EET EEST IST IDT|-20 -30 -20 -30|010101010101010101010101010101012323232323232323232323232320101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-1c2q0 5Rb0 10r0 1px0 10N0 1pz0 16p0 1jB0 16p0 1jx0 pBd0 Vz0 1oN0 11b0 1oO0 10N0 1pz0 10N0 1pb0 10N0 1pb0 10N0 1pb0 10N0 1pz0 10N0 1pb0 10N0 1pb0 11d0 1oL0 dW0 hfB0 Db0 1fB0 Rb0 npB0 11z0 1C10 IL0 1s10 10n0 1o10 WL0 1zd0 On0 1ld0 11z0 1o10 14n0 1o10 14n0 1nd0 12n0 1nd0 Xz0 1q10 12n0 M10 C00 17c0 1io0 17c0 1io0 17c0 1o00 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 17c0 1io0 18N0 1bz0 19z0 1gp0 1610 1iL0 11z0 1o10 14o0 1lA1 SKX 1xd1 MKX 1AN0 1a00 1fA0 1cL0 1cN0 1nX0 1210 1nz0 1220 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1qL0|18e5","Asia/Hebron|EET EEST IST IDT|-20 -30 -20 -30|01010101010101010101010101010101232323232323232323232323232010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-1c2q0 5Rb0 10r0 1px0 10N0 1pz0 16p0 1jB0 16p0 1jx0 pBd0 Vz0 1oN0 11b0 1oO0 10N0 1pz0 10N0 1pb0 10N0 1pb0 10N0 1pb0 10N0 1pz0 10N0 1pb0 10N0 1pb0 11d0 1oL0 dW0 hfB0 Db0 1fB0 Rb0 npB0 11z0 1C10 IL0 1s10 10n0 1o10 WL0 1zd0 On0 1ld0 11z0 1o10 14n0 1o10 14n0 1nd0 12n0 1nd0 Xz0 1q10 12n0 M10 C00 17c0 1io0 17c0 1io0 17c0 1o00 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 17c0 1io0 18N0 1bz0 19z0 1gp0 1610 1iL0 12L0 1mN0 14o0 1lc0 Tb0 1xd1 MKX bB0 cn0 1cN0 1a00 1fA0 1cL0 1cN0 1nX0 1210 1nz0 1220 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1qL0|25e4","Asia/Ho_Chi_Minh|LMT PLMT +07 +08 +09|-76.E -76.u -70 -80 -90|0123423232|-2yC76.E bK00.a 1h7b6.u 5lz0 18o0 3Oq0 k5b0 aW00 BAM0|90e5","Asia/Hong_Kong|LMT HKT HKST JST|-7A.G -80 -90 -90|0121312121212121212121212121212121212121212121212121212121212121212121|-2CFHA.G 1sEP6.G 1cL0 ylu 93X0 1qQu 1tX0 Rd0 1In0 NB0 1cL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1kL0 14N0 1nX0 U10 1tz0 U10 1wn0 Rd0 1wn0 U10 1tz0 U10 1tz0 U10 1tz0 U10 1wn0 Rd0 1wn0 Rd0 1wn0 U10 1tz0 U10 1tz0 17d0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 s10 1Vz0 1cN0 1cL0 1cN0 1cL0 6fd0 14n0|73e5","Asia/Hovd|LMT +06 +07 +08|-66.A -60 -70 -80|012323232323232323232323232323232323232323232323232|-2APG6.A 2Uko6.A cKn0 1db0 1dd0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 6hD0 11z0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 kEp0 1cJ0 1cP0 1cJ0|81e3","Asia/Irkutsk|IMT +07 +08 +09|-6V.5 -70 -80 -90|01232323232323232323232123232323232323232323232323232323232323232|-21zGV.5 pjXV.5 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|60e4","Europe/Istanbul|IMT EET EEST +04 +03|-1U.U -20 -30 -40 -30|012121212121212121212121212121212121212121212121212121234343434342121212121212121212121212121212121212121212121212121212121212124|-2ogNU.U dzzU.U 11b0 8tB0 1on0 1410 1db0 19B0 1in0 3Rd0 Un0 1oN0 11b0 zSp0 CL0 mN0 1Vz0 1gN0 1pz0 5Rd0 1fz0 1yp0 ML0 1kp0 17b0 1ip0 17b0 1fB0 19X0 1jB0 18L0 1ip0 17z0 qdd0 xX0 3S10 Tz0 dA10 11z0 1o10 11z0 1qN0 11z0 1ze0 11B0 WM0 1qO0 WI0 1nX0 1rB0 10L0 11B0 1in0 17d0 1in0 2pX0 19E0 1fU0 16Q0 1iI0 16Q0 1iI0 1Vd0 pb0 3Kp0 14o0 1de0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1a00 1fA0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WO0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 Xc0 1qo0 WM0 1qM0 11A0 1o00 1200 1nA0 11A0 1tA0 U00 15w0|13e6","Asia/Jakarta|BMT +0720 +0730 +09 +08 WIB|-77.c -7k -7u -90 -80 -70|01232425|-1Q0Tk luM0 mPzO 8vWu 6kpu 4PXu xhcu|31e6","Asia/Jayapura|LMT +09 +0930 WIT|-9m.M -90 -9u -90|0123|-1uu9m.M sMMm.M L4nu|26e4","Asia/Jerusalem|JMT IST IDT IDDT|-2k.E -20 -30 -40|01212121212132121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-26Bek.E SyMk.E 5Rb0 10r0 1px0 10N0 1pz0 16p0 1jB0 16p0 1jx0 3LB0 Em0 or0 1cn0 1dB0 16n0 10O0 1ja0 1tC0 14o0 1cM0 1a00 11A0 1Na0 An0 1MP0 AJ0 1Kp0 LC0 1oo0 Wl0 EQN0 Db0 1fB0 Rb0 npB0 11z0 1C10 IL0 1s10 10n0 1o10 WL0 1zd0 On0 1ld0 11z0 1o10 14n0 1o10 14n0 1nd0 12n0 1nd0 Xz0 1q10 12n0 1hB0 1dX0 1ep0 1aL0 1eN0 17X0 1nf0 11z0 1tB0 19W0 1e10 17b0 1ep0 1gL0 18N0 1fz0 1eN0 17b0 1gq0 1gn0 19d0 1dz0 1c10 17X0 1hB0 1gn0 19d0 1dz0 1c10 17X0 1kp0 1dz0 1c10 1aL0 1eN0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0|81e4","Asia/Kabul|+04 +0430|-40 -4u|01|-10Qs0|46e5","Asia/Kamchatka|LMT +11 +12 +13|-ay.A -b0 -c0 -d0|012323232323232323232321232323232323232323232323232323232323212|-1SLKy.A ivXy.A 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 2sp0 WM0|18e4","Asia/Karachi|LMT +0530 +0630 +05 PKT PKST|-4s.c -5u -6u -50 -50 -60|012134545454|-2xoss.c 1qOKW.c 7zX0 eup0 LqMu 1fy00 1cL0 dK10 11b0 1610 1jX0|24e6","Asia/Urumqi|LMT +06|-5O.k -60|01|-1GgtO.k|32e5","Asia/Kathmandu|LMT +0530 +0545|-5F.g -5u -5J|012|-21JhF.g 2EGMb.g|12e5","Asia/Khandyga|LMT +08 +09 +10 +11|-92.d -80 -90 -a0 -b0|0123232323232323232323212323232323232323232323232343434343434343432|-21Q92.d pAp2.d 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 qK0 yN0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 17V0 7zD0|66e2","Asia/Krasnoyarsk|LMT +06 +07 +08|-6b.q -60 -70 -80|01232323232323232323232123232323232323232323232323232323232323232|-21Hib.q prAb.q 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|10e5","Asia/Kuala_Lumpur|SMT +07 +0720 +0730 +09 +08|-6T.p -70 -7k -7u -90 -80|0123435|-2Bg6T.p 17anT.p l5XE 17bO 8Fyu 1so1u|71e5","Asia/Kuching|LMT +0730 +08 +0820 +09|-7l.k -7u -80 -8k -90|0123232323232323242|-1KITl.k gDbP.k 6ynu AnE 1O0k AnE 1NAk AnE 1NAk AnE 1NAk AnE 1O0k AnE 1NAk AnE pAk 8Fz0|13e4","Asia/Macau|LMT CST CDT|-7y.k -80 -90|012121212121212121212121212121212121212121|-2le80 1XO3u 1wn0 Rd0 1wn0 R9u 1wqu U10 1tz0 TVu 1tz0 17gu 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cJu 1cL0 1cN0 1fz0 1cN0 1cOu 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cJu 1cL0 1cN0 1fz0 1cN0 1cL0|57e4","Asia/Magadan|LMT +10 +11 +12|-a3.c -a0 -b0 -c0|012323232323232323232321232323232323232323232323232323232323232312|-1Pca3.c eUo3.c 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3Cq0|95e3","Asia/Makassar|LMT MMT +08 +09 WITA|-7V.A -7V.A -80 -90 -80|01234|-21JjV.A vfc0 myLV.A 8ML0|15e5","Asia/Manila|+08 +09|-80 -90|010101010|-1kJI0 AL0 cK10 65X0 mXB0 vX0 VK10 1db0|24e6","Asia/Nicosia|LMT EET EEST|-2d.s -20 -30|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1Vc2d.s 2a3cd.s 1cL0 1qp0 Xz0 19B0 19X0 1fB0 1db0 1cp0 1cL0 1fB0 19X0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1o30 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|32e4","Asia/Novokuznetsk|LMT +06 +07 +08|-5M.M -60 -70 -80|012323232323232323232321232323232323232323232323232323232323212|-1PctM.M eULM.M 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 2sp0 WM0|55e4","Asia/Novosibirsk|LMT +06 +07 +08|-5v.E -60 -70 -80|0123232323232323232323212323212121212121212121212121212121212121212|-21Qnv.E pAFv.E 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 ml0 Os0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 4eN0|15e5","Asia/Omsk|LMT +05 +06 +07|-4R.u -50 -60 -70|01232323232323232323232123232323232323232323232323232323232323232|-224sR.u pMLR.u 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|12e5","Asia/Oral|LMT +03 +05 +06 +04|-3p.o -30 -50 -60 -40|01232323232323232424242424242424242424242424242|-1Pc3p.o eUop.o 23CK0 3Db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1fA0 1cM0 1cM0 IM0 1EM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0|27e4","Asia/Pontianak|LMT PMT +0730 +09 +08 WITA WIB|-7h.k -7h.k -7u -90 -80 -80 -70|012324256|-2ua7h.k XE00 munL.k 8Rau 6kpu 4PXu xhcu Wqnu|23e4","Asia/Pyongyang|LMT KST JST KST|-8n -8u -90 -90|012313|-2um8n 97XR 1lTzu 2Onc0 6BAu|29e5","Asia/Qyzylorda|LMT +04 +05 +06|-4l.Q -40 -50 -60|0123232323232323232323232323232323232323232323|-1Pc4l.Q eUol.Q 23CL0 3Db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 3ao0 1EM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0|73e4","Asia/Rangoon|RMT +0630 +09|-6o.L -6u -90|0121|-21Jio.L SmnS.L 7j9u|48e5","Asia/Sakhalin|LMT +09 +11 +12 +10|-9u.M -90 -b0 -c0 -a0|01232323232323232323232423232323232424242424242424242424242424242|-2AGVu.M 1BoMu.M 1qFa0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 2pB0 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3rd0|58e4","Asia/Samarkand|LMT +04 +05 +06|-4r.R -40 -50 -60|01232323232323232323232|-1Pc4r.R eUor.R 23CL0 3Db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0|36e4","Asia/Seoul|LMT KST JST KST KDT KDT|-8r.Q -8u -90 -90 -9u -a0|0123141414141414135353|-2um8r.Q 97XV.Q 1m1zu kKo0 2I0u OL0 1FB0 Rb0 1qN0 TX0 1tB0 TX0 1tB0 TX0 1tB0 TX0 2ap0 12FBu 11A0 1o00 11A0|23e6","Asia/Srednekolymsk|LMT +10 +11 +12|-ae.Q -a0 -b0 -c0|01232323232323232323232123232323232323232323232323232323232323232|-1Pcae.Q eUoe.Q 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|35e2","Asia/Taipei|CST JST CDT|-80 -90 -90|01020202020202020202020202020202020202020|-1iw80 joM0 1yo0 Tz0 1ip0 1jX0 1cN0 11b0 1oN0 11b0 1oN0 11b0 1oN0 11b0 10N0 1BX0 10p0 1pz0 10p0 1pz0 10p0 1db0 1dd0 1db0 1cN0 1db0 1cN0 1db0 1cN0 1db0 1BB0 ML0 1Bd0 ML0 uq10 1db0 1cN0 1db0 97B0 AL0|74e5","Asia/Tashkent|LMT +05 +06 +07|-4B.b -50 -60 -70|012323232323232323232321|-1Pc4B.b eUnB.b 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0|23e5","Asia/Tbilisi|TBMT +03 +04 +05|-2X.b -30 -40 -50|0123232323232323232323212121232323232323232323212|-1Pc2X.b 1jUnX.b WCL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 1cK0 1cL0 1cN0 1cL0 1cN0 2pz0 1cL0 1fB0 3Nz0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 An0 Os0 WM0|11e5","Asia/Tehran|LMT TMT +0330 +04 +05 +0430|-3p.I -3p.I -3u -40 -50 -4u|01234325252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252|-2btDp.I 1d3c0 1huLT.I TXu 1pz0 sN0 vAu 1cL0 1dB0 1en0 pNB0 UL0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 64p0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0|14e6","Asia/Thimphu|LMT +0530 +06|-5W.A -5u -60|012|-Su5W.A 1BGMs.A|79e3","Asia/Tokyo|JST JDT|-90 -a0|010101010|-QJJ0 Rb0 1ld0 14n0 1zd0 On0 1zd0 On0|38e6","Asia/Tomsk|LMT +06 +07 +08|-5D.P -60 -70 -80|0123232323232323232323212323232323232323232323212121212121212121212|-21NhD.P pxzD.P 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 co0 1bB0 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3Qp0|10e5","Asia/Ulaanbaatar|LMT +07 +08 +09|-77.w -70 -80 -90|012323232323232323232323232323232323232323232323232|-2APH7.w 2Uko7.w cKn0 1db0 1dd0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 6hD0 11z0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 kEp0 1cJ0 1cP0 1cJ0|12e5","Asia/Ust-Nera|LMT +08 +09 +12 +11 +10|-9w.S -80 -90 -c0 -b0 -a0|012343434343434343434345434343434343434343434343434343434343434345|-21Q9w.S pApw.S 23CL0 1d90 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 17V0 7zD0|65e2","Asia/Vladivostok|LMT +09 +10 +11|-8L.v -90 -a0 -b0|01232323232323232323232123232323232323232323232323232323232323232|-1SJIL.v itXL.v 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|60e4","Asia/Yakutsk|LMT +08 +09 +10|-8C.W -80 -90 -a0|01232323232323232323232123232323232323232323232323232323232323232|-21Q8C.W pAoC.W 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|28e4","Asia/Yekaterinburg|LMT PMT +04 +05 +06|-42.x -3J.5 -40 -50 -60|012343434343434343434343234343434343434343434343434343434343434343|-2ag42.x 7mQh.s qBvJ.5 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|14e5","Asia/Yerevan|LMT +03 +04 +05|-2W -30 -40 -50|0123232323232323232323212121212323232323232323232323232323232|-1Pc2W 1jUnW WCL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 4RX0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0|13e5","Atlantic/Azores|HMT -02 -01 +00 WET|1S.w 20 10 0 0|01212121212121212121212121212121212121212121232123212321232121212121212121212121212121212121212121232323232323232323232323232323234323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-2ldW0 aPX0 Sp0 LX0 1vc0 Tc0 1uM0 SM0 1vc0 Tc0 1vc0 SM0 1vc0 6600 1co0 3E00 17c0 1fA0 1a00 1io0 1a00 1io0 17c0 3I00 17c0 1cM0 1cM0 3Fc0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Dc0 1tA0 1cM0 1dc0 1400 gL0 IM0 s10 U00 dX0 Rc0 pd0 Rc0 gL0 Oo0 pd0 Rc0 gL0 Oo0 pd0 14o0 1cM0 1cP0 1cM0 1cM0 1cM0 1cM0 1cM0 3Co0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 qIl0 1cM0 1fA0 1cM0 1cM0 1cN0 1cL0 1cN0 1cM0 1cM0 1cM0 1cM0 1cN0 1cL0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cL0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|25e4","Atlantic/Bermuda|LMT AST ADT|4j.i 40 30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1BnRE.G 1LTbE.G 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|65e3","Atlantic/Canary|LMT -01 WET WEST|11.A 10 0 -10|01232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-1UtaW.o XPAW.o 1lAK0 1a10 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|54e4","Atlantic/Cape_Verde|LMT -02 -01|1y.4 20 10|01212|-2ldW0 1eEo0 7zX0 1djf0|50e4","Atlantic/Faroe|LMT WET WEST|r.4 0 -10|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2uSnw.U 2Wgow.U 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|49e3","Atlantic/Madeira|FMT -01 +00 +01 WET WEST|17.A 10 0 -10 0 -10|01212121212121212121212121212121212121212121232123212321232121212121212121212121212121212121212121454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-2ldX0 aPX0 Sp0 LX0 1vc0 Tc0 1uM0 SM0 1vc0 Tc0 1vc0 SM0 1vc0 6600 1co0 3E00 17c0 1fA0 1a00 1io0 1a00 1io0 17c0 3I00 17c0 1cM0 1cM0 3Fc0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Dc0 1tA0 1cM0 1dc0 1400 gL0 IM0 s10 U00 dX0 Rc0 pd0 Rc0 gL0 Oo0 pd0 Rc0 gL0 Oo0 pd0 14o0 1cM0 1cP0 1cM0 1cM0 1cM0 1cM0 1cM0 3Co0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 qIl0 1cM0 1fA0 1cM0 1cM0 1cN0 1cL0 1cN0 1cM0 1cM0 1cM0 1cM0 1cN0 1cL0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|27e4","Atlantic/Reykjavik|LMT -01 +00 GMT|1s 10 0 0|012121212121212121212121212121212121212121212121212121212121212121213|-2uWmw mfaw 1Bd0 ML0 1LB0 Cn0 1LB0 3fX0 C10 HrX0 1cO0 LB0 1EL0 LA0 1C00 Oo0 1wo0 Rc0 1wo0 Rc0 1wo0 Rc0 1zc0 Oo0 1zc0 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1lc0 14o0 1o00 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1o00 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1o00 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1o00 14o0|12e4","Atlantic/South_Georgia|-02|20|0||30","Atlantic/Stanley|SMT -04 -03 -02|3P.o 40 30 20|012121212121212323212121212121212121212121212121212121212121212121212|-2kJw8.A 12bA8.A 19X0 1fB0 19X0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 Cn0 1Cc10 WL0 1qL0 U10 1tz0 2mN0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1tz0 U10 1tz0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1tz0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qN0 U10 1wn0 Rd0 1wn0 U10 1tz0 U10 1tz0 U10 1tz0 U10 1tz0 U10 1wn0 U10 1tz0 U10 1tz0 U10|21e2","Australia/Sydney|AEST AEDT|-a0 -b0|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-293lX xcX 10jd0 yL0 1cN0 1cL0 1fB0 19X0 17c10 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 14o0 1o00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 U00 1qM0 WM0 1tA0 WM0 1tA0 U00 1tA0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 11A0 1o00 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 14o0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0|40e5","Australia/Adelaide|ACST ACDT|-9u -au|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-293lt xcX 10jd0 yL0 1cN0 1cL0 1fB0 19X0 17c10 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 U00 1qM0 WM0 1tA0 WM0 1tA0 U00 1tA0 U00 1tA0 Oo0 1zc0 WM0 1qM0 Rc0 1zc0 U00 1tA0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 14o0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0|11e5","Australia/Brisbane|AEST AEDT|-a0 -b0|01010101010101010|-293lX xcX 10jd0 yL0 1cN0 1cL0 1fB0 19X0 17c10 LA0 H1A0 Oo0 1zc0 Oo0 1zc0 Oo0|20e5","Australia/Broken_Hill|ACST ACDT|-9u -au|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-293lt xcX 10jd0 yL0 1cN0 1cL0 1fB0 19X0 17c10 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 14o0 1o00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 U00 1qM0 WM0 1tA0 WM0 1tA0 U00 1tA0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 14o0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0|18e3","Australia/Currie|AEST AEDT|-a0 -b0|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-29E80 19X0 10jd0 yL0 1cN0 1cL0 1fB0 19X0 17c10 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 11A0 1qM0 WM0 1qM0 Oo0 1zc0 Oo0 1zc0 Oo0 1wo0 WM0 1tA0 WM0 1tA0 U00 1tA0 U00 1tA0 11A0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 11A0 1o00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0|746","Australia/Darwin|ACST ACDT|-9u -au|010101010|-293lt xcX 10jd0 yL0 1cN0 1cL0 1fB0 19X0|12e4","Australia/Eucla|+0845 +0945|-8J -9J|0101010101010101010|-293kI xcX 10jd0 yL0 1cN0 1cL0 1gSp0 Oo0 l5A0 Oo0 iJA0 G00 zU00 IM0 1qM0 11A0 1o00 11A0|368","Australia/Hobart|AEST AEDT|-a0 -b0|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-29E80 19X0 10jd0 yL0 1cN0 1cL0 1fB0 19X0 VfB0 1cM0 1o00 Rc0 1wo0 Rc0 1wo0 U00 1wo0 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 11A0 1qM0 WM0 1qM0 Oo0 1zc0 Oo0 1zc0 Oo0 1wo0 WM0 1tA0 WM0 1tA0 U00 1tA0 U00 1tA0 11A0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 11A0 1o00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0|21e4","Australia/Lord_Howe|AEST +1030 +1130 +11|-a0 -au -bu -b0|0121212121313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313|raC0 1zdu Rb0 1zd0 On0 1zd0 On0 1zd0 On0 1zd0 TXu 1qMu WLu 1tAu WLu 1tAu TXu 1tAu Onu 1zcu Onu 1zcu Onu 1zcu Rbu 1zcu Onu 1zcu Onu 1zcu 11zu 1o0u 11zu 1o0u 11zu 1o0u 11zu 1qMu WLu 11Au 1nXu 1qMu 11zu 1o0u 11zu 1o0u 11zu 1qMu WLu 1qMu 11zu 1o0u WLu 1qMu 14nu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1fzu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu|347","Australia/Lindeman|AEST AEDT|-a0 -b0|010101010101010101010|-293lX xcX 10jd0 yL0 1cN0 1cL0 1fB0 19X0 17c10 LA0 H1A0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0|10","Australia/Melbourne|AEST AEDT|-a0 -b0|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-293lX xcX 10jd0 yL0 1cN0 1cL0 1fB0 19X0 17c10 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 U00 1qM0 WM0 1qM0 11A0 1tA0 U00 1tA0 U00 1tA0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 11A0 1o00 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 14o0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0|39e5","Australia/Perth|AWST AWDT|-80 -90|0101010101010101010|-293jX xcX 10jd0 yL0 1cN0 1cL0 1gSp0 Oo0 l5A0 Oo0 iJA0 G00 zU00 IM0 1qM0 11A0 1o00 11A0|18e5","CET|CET CEST|-10 -20|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1o00 11A0 Qrc0 6i00 WM0 1fA0 1cM0 1cM0 1cM0 16M0 1gMM0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","Pacific/Easter|EMT -07 -06 -05|7h.s 70 60 50|012121212121212121212121212123232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323|-1uSgG.w 1s4IG.w WL0 1zd0 On0 1ip0 11z0 1o10 11z0 1qN0 WL0 1ld0 14n0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 2pA0 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 1cL0 1cN0 11z0 1o10 11z0 1qN0 WL0 1fB0 19X0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1ip0 1fz0 1fB0 11z0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1o10 19X0 1fB0 1nX0 G10 1EL0 Op0 1zb0 Rd0 1wn0 Rd0 46n0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Dd0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Dd0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Dd0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0|30e2","CST6CDT|CST CDT CWT CPT|60 50 50 50|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","EET|EET EEST|-20 -30|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|hDB0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","Europe/Dublin|DMT IST GMT BST IST|p.l -y.D 0 -10 -10|01232323232324242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242|-2ax9y.D Rc0 1fzy.D 14M0 1fc0 1g00 1co0 1dc0 1co0 1oo0 1400 1dc0 19A0 1io0 1io0 WM0 1o00 14o0 1o00 17c0 1io0 17c0 1fA0 1a00 1lc0 17c0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1cM0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1a00 1io0 1qM0 Dc0 g600 14o0 1wo0 17c0 1io0 11A0 1o00 17c0 1fA0 1a00 1fA0 1cM0 1fA0 1a00 17c0 1fA0 1a00 1io0 17c0 1lc0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1a00 1a00 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1tA0 IM0 90o0 U00 1tA0 U00 1tA0 U00 1tA0 U00 1tA0 WM0 1qM0 WM0 1qM0 WM0 1tA0 U00 1tA0 U00 1tA0 11z0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 14o0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|12e5","EST|EST|50|0|","EST5EDT|EST EDT EWT EPT|50 40 40 40|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261t0 1nX0 11B0 1nX0 SgN0 8x40 iv0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","Etc/GMT-0|GMT|0|0|","Etc/GMT-1|+01|-10|0|","Pacific/Port_Moresby|+10|-a0|0||25e4","Pacific/Pohnpei|+11|-b0|0||34e3","Pacific/Tarawa|+12|-c0|0||29e3","Etc/GMT-13|+13|-d0|0|","Etc/GMT-14|+14|-e0|0|","Etc/GMT-2|+02|-20|0|","Etc/GMT-3|+03|-30|0|","Etc/GMT-4|+04|-40|0|","Etc/GMT-5|+05|-50|0|","Etc/GMT-6|+06|-60|0|","Indian/Christmas|+07|-70|0||21e2","Etc/GMT-8|+08|-80|0|","Pacific/Palau|+09|-90|0||21e3","Etc/GMT+1|-01|10|0|","Etc/GMT+10|-10|a0|0|","Etc/GMT+11|-11|b0|0|","Etc/GMT+12|-12|c0|0|","Etc/GMT+3|-03|30|0|","Etc/GMT+4|-04|40|0|","Etc/GMT+5|-05|50|0|","Etc/GMT+6|-06|60|0|","Etc/GMT+7|-07|70|0|","Etc/GMT+8|-08|80|0|","Etc/GMT+9|-09|90|0|","Etc/UCT|UCT|0|0|","Etc/UTC|UTC|0|0|","Europe/Amsterdam|AMT NST +0120 +0020 CEST CET|-j.w -1j.w -1k -k -20 -10|010101010101010101010101010101010101010101012323234545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545|-2aFcj.w 11b0 1iP0 11A0 1io0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1co0 1io0 1yo0 Pc0 1a00 1fA0 1Bc0 Mo0 1tc0 Uo0 1tA0 U00 1uo0 W00 1s00 VA0 1so0 Vc0 1sM0 UM0 1wo0 Rc0 1u00 Wo0 1rA0 W00 1s00 VA0 1sM0 UM0 1w00 fV0 BCX.w 1tA0 U00 1u00 Wo0 1sm0 601k WM0 1fA0 1cM0 1cM0 1cM0 16M0 1gMM0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|16e5","Europe/Andorra|WET CET CEST|0 -10 -20|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-UBA0 1xIN0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|79e3","Europe/Astrakhan|LMT +03 +04 +05|-3c.c -30 -40 -50|012323232323232323212121212121212121212121212121212121212121212|-1Pcrc.c eUMc.c 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1fA0 1cM0 3Co0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3rd0","Europe/Athens|AMT EET EEST CEST CET|-1y.Q -20 -30 -20 -10|012123434121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2a61x.Q CNbx.Q mn0 kU10 9b0 3Es0 Xa0 1fb0 1dd0 k3X0 Nz0 SCp0 1vc0 SO0 1cM0 1a00 1ao0 1fc0 1a10 1fG0 1cg0 1dX0 1bX0 1cQ0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|35e5","Europe/London|GMT BST BDST|0 -10 -20|0101010101010101010101010101010101010101010101010121212121210101210101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2axa0 Rc0 1fA0 14M0 1fc0 1g00 1co0 1dc0 1co0 1oo0 1400 1dc0 19A0 1io0 1io0 WM0 1o00 14o0 1o00 17c0 1io0 17c0 1fA0 1a00 1lc0 17c0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1cM0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1a00 1io0 1qM0 Dc0 2Rz0 Dc0 1zc0 Oo0 1zc0 Rc0 1wo0 17c0 1iM0 FA0 xB0 1fA0 1a00 14o0 bb0 LA0 xB0 Rc0 1wo0 11A0 1o00 17c0 1fA0 1a00 1fA0 1cM0 1fA0 1a00 17c0 1fA0 1a00 1io0 17c0 1lc0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1a00 1a00 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1tA0 IM0 90o0 U00 1tA0 U00 1tA0 U00 1tA0 U00 1tA0 WM0 1qM0 WM0 1qM0 WM0 1tA0 U00 1tA0 U00 1tA0 11z0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 14o0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|10e6","Europe/Belgrade|CET CEST|-10 -20|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-19RC0 3IP0 WM0 1fA0 1cM0 1cM0 1rc0 Qo0 1vmo0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|12e5","Europe/Berlin|CET CEST CEMT|-10 -20 -30|01010101010101210101210101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1o00 11A0 Qrc0 6i00 WM0 1fA0 1cM0 1cM0 1cM0 kL0 Nc0 m10 WM0 1ao0 1cp0 dX0 jz0 Dd0 1io0 17c0 1fA0 1a00 1ehA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|41e5","Europe/Prague|CET CEST GMT|-10 -20 0|01010101010101010201010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1o00 11A0 Qrc0 6i00 WM0 1fA0 1cM0 1cM0 1cM0 1cM0 1qM0 11c0 mp0 xA0 mn0 17c0 1io0 17c0 1fc0 1ao0 1bNc0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|13e5","Europe/Brussels|WET CET CEST WEST|0 -10 -20 -10|0121212103030303030303030303030303030303030303030303212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2ehc0 3zX0 11c0 1iO0 11A0 1o00 11A0 my0 Ic0 1qM0 Rc0 1EM0 UM0 1u00 10o0 1io0 1io0 17c0 1a00 1fA0 1cM0 1cM0 1io0 17c0 1fA0 1a00 1io0 1a30 1io0 17c0 1fA0 1a00 1io0 17c0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Dc0 y00 5Wn0 WM0 1fA0 1cM0 16M0 1iM0 16M0 1C00 Uo0 1eeo0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|21e5","Europe/Bucharest|BMT EET EEST|-1I.o -20 -30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1xApI.o 20LI.o RA0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1Axc0 On0 1fA0 1a10 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cK0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cL0 1cN0 1cL0 1fB0 1nX0 11E0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|19e5","Europe/Budapest|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1ip0 17b0 1op0 1tb0 Q2m0 3Ne0 WM0 1fA0 1cM0 1cM0 1oJ0 1dc0 1030 1fA0 1cM0 1cM0 1cM0 1cM0 1fA0 1a00 1iM0 1fA0 8Ha0 Rb0 1wN0 Rb0 1BB0 Lz0 1C20 LB0 SNX0 1a10 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|17e5","Europe/Zurich|CET CEST|-10 -20|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-19Lc0 11A0 1o00 11A0 1xG10 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|38e4","Europe/Chisinau|CMT BMT EET EEST CEST CET MSK MSD|-1T -1I.o -20 -30 -20 -10 -30 -40|012323232323232323234545467676767676767676767323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-26jdT wGMa.A 20LI.o RA0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 27A0 2en0 39g0 WM0 1fA0 1cM0 V90 1t7z0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 gL0 WO0 1cM0 1cM0 1cK0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1nX0 11D0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|67e4","Europe/Copenhagen|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2azC0 Tz0 VuO0 60q0 WM0 1fA0 1cM0 1cM0 1cM0 S00 1HA0 Nc0 1C00 Dc0 1Nc0 Ao0 1h5A0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|12e5","Europe/Gibraltar|GMT BST BDST CET CEST|0 -10 -20 -10 -20|010101010101010101010101010101010101010101010101012121212121010121010101010101010101034343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343|-2axa0 Rc0 1fA0 14M0 1fc0 1g00 1co0 1dc0 1co0 1oo0 1400 1dc0 19A0 1io0 1io0 WM0 1o00 14o0 1o00 17c0 1io0 17c0 1fA0 1a00 1lc0 17c0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1cM0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1a00 1io0 1qM0 Dc0 2Rz0 Dc0 1zc0 Oo0 1zc0 Rc0 1wo0 17c0 1iM0 FA0 xB0 1fA0 1a00 14o0 bb0 LA0 xB0 Rc0 1wo0 11A0 1o00 17c0 1fA0 1a00 1fA0 1cM0 1fA0 1a00 17c0 1fA0 1a00 1io0 17c0 1lc0 17c0 1fA0 10Jz0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|30e3","Europe/Helsinki|HMT EET EEST|-1D.N -20 -30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1WuND.N OULD.N 1dA0 1xGq0 1cM0 1cM0 1cM0 1cN0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|12e5","Europe/Kaliningrad|CET CEST CET CEST MSK MSD EEST EET +03|-10 -20 -20 -30 -30 -40 -30 -20 -30|0101010101010232454545454545454546767676767676767676767676767676767676767676787|-2aFe0 11d0 1iO0 11A0 1o00 11A0 Qrc0 6i00 WM0 1fA0 1cM0 1cM0 Am0 Lb0 1en0 op0 1pNz0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|44e4","Europe/Kiev|KMT EET MSK CEST CET MSD EEST|-22.4 -20 -30 -20 -10 -40 -30|0123434252525252525252525256161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161|-1Pc22.4 eUo2.4 rnz0 2Hg0 WM0 1fA0 da0 1v4m0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 Db0 3220 1cK0 1cL0 1cN0 1cL0 1cN0 1cL0 1cQ0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|34e5","Europe/Kirov|LMT +03 +04 +05|-3i.M -30 -40 -50|01232323232323232321212121212121212121212121212121212121212121|-22WM0 qH90 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1fA0 1cM0 3Co0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|48e4","Europe/Lisbon|LMT WET WEST WEMT CET CEST|A.J 0 -10 -20 -10 -20|012121212121212121212121212121212121212121212321232123212321212121212121212121212121212121212121214121212121212121212121212121212124545454212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2le00 aPX0 Sp0 LX0 1vc0 Tc0 1uM0 SM0 1vc0 Tc0 1vc0 SM0 1vc0 6600 1co0 3E00 17c0 1fA0 1a00 1io0 1a00 1io0 17c0 3I00 17c0 1cM0 1cM0 3Fc0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Dc0 1tA0 1cM0 1dc0 1400 gL0 IM0 s10 U00 dX0 Rc0 pd0 Rc0 gL0 Oo0 pd0 Rc0 gL0 Oo0 pd0 14o0 1cM0 1cP0 1cM0 1cM0 1cM0 1cM0 1cM0 3Co0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 pvy0 1cM0 1cM0 1fA0 1cM0 1cM0 1cN0 1cL0 1cN0 1cM0 1cM0 1cM0 1cM0 1cN0 1cL0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|27e5","Europe/Luxembourg|LMT CET CEST WET WEST WEST WET|-o.A -10 -20 0 -10 -20 -10|0121212134343434343434343434343434343434343434343434565651212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2DG0o.A t6mo.A TB0 1nX0 Up0 1o20 11A0 rW0 CM0 1qP0 R90 1EO0 UK0 1u20 10m0 1ip0 1in0 17e0 19W0 1fB0 1db0 1cp0 1in0 17d0 1fz0 1a10 1in0 1a10 1in0 17f0 1fA0 1a00 1io0 17c0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Dc0 vA0 60L0 WM0 1fA0 1cM0 17c0 1io0 16M0 1C00 Uo0 1eeo0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|54e4","Europe/Madrid|WET WEST WEMT CET CEST|0 -10 -20 -10 -20|010101010101010101210343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343|-25Td0 19B0 1cL0 1dd0 b1z0 18p0 3HX0 17d0 1fz0 1a10 1io0 1a00 1in0 17d0 iIn0 Hd0 1cL0 bb0 1200 2s20 14n0 5aL0 Mp0 1vz0 17d0 1in0 17d0 1in0 17d0 1in0 17d0 6hX0 11B0 XHX0 1a10 1fz0 1a10 19X0 1cN0 1fz0 1a10 1fC0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|62e5","Europe/Malta|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2arB0 Lz0 1cN0 1db0 1410 1on0 Wp0 1qL0 17d0 1cL0 M3B0 5M20 WM0 1fA0 1co0 17c0 1iM0 16m0 1de0 1lc0 14m0 1lc0 WO0 1qM0 GTW0 On0 1C10 LA0 1C00 LA0 1EM0 LA0 1C00 LA0 1zc0 Oo0 1C00 Oo0 1co0 1cM0 1lA0 Xc0 1qq0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1iN0 19z0 1fB0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|42e4","Europe/Minsk|MMT EET MSK CEST CET MSD EEST +03|-1O -20 -30 -20 -10 -40 -30 -30|01234343252525252525252525261616161616161616161616161616161616161617|-1Pc1O eUnO qNX0 3gQ0 WM0 1fA0 1cM0 Al0 1tsn0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 3Fc0 1cN0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0|19e5","Europe/Monaco|PMT WET WEST WEMT CET CEST|-9.l 0 -10 -20 -10 -20|01212121212121212121212121212121212121212121212121232323232345454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-2nco9.l cNb9.l HA0 19A0 1iM0 11c0 1oo0 Wo0 1rc0 QM0 1EM0 UM0 1u00 10o0 1io0 1wo0 Rc0 1a00 1fA0 1cM0 1cM0 1io0 17c0 1fA0 1a00 1io0 1a00 1io0 17c0 1fA0 1a00 1io0 17c0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Df0 2RV0 11z0 11B0 1ze0 WM0 1fA0 1cM0 1fa0 1aq0 16M0 1ekn0 1cL0 1fC0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|38e3","Europe/Moscow|MMT MMT MST MDST MSD MSK +05 EET EEST MSK|-2u.h -2v.j -3v.j -4v.j -40 -30 -50 -20 -30 -40|012132345464575454545454545454545458754545454545454545454545454545454545454595|-2ag2u.h 2pyW.W 1bA0 11X0 GN0 1Hb0 c4v.j ik0 3DA0 dz0 15A0 c10 2q10 iM10 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cN0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|16e6","Europe/Paris|PMT WET WEST CEST CET WEMT|-9.l 0 -10 -20 -10 -20|0121212121212121212121212121212121212121212121212123434352543434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434|-2nco8.l cNb8.l HA0 19A0 1iM0 11c0 1oo0 Wo0 1rc0 QM0 1EM0 UM0 1u00 10o0 1io0 1wo0 Rc0 1a00 1fA0 1cM0 1cM0 1io0 17c0 1fA0 1a00 1io0 1a00 1io0 17c0 1fA0 1a00 1io0 17c0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Df0 Ik0 5M30 WM0 1fA0 1cM0 Vx0 hB0 1aq0 16M0 1ekn0 1cL0 1fC0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|11e6","Europe/Riga|RMT LST EET MSK CEST CET MSD EEST|-1A.y -2A.y -20 -30 -20 -10 -40 -30|010102345454536363636363636363727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272|-25TzA.y 11A0 1iM0 ko0 gWm0 yDXA.y 2bX0 3fE0 WM0 1fA0 1cM0 1cM0 4m0 1sLy0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cN0 1o00 11A0 1o00 11A0 1qM0 3oo0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|64e4","Europe/Rome|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2arB0 Lz0 1cN0 1db0 1410 1on0 Wp0 1qL0 17d0 1cL0 M3B0 5M20 WM0 1fA0 1cM0 16M0 1iM0 16m0 1de0 1lc0 14m0 1lc0 WO0 1qM0 GTW0 On0 1C10 LA0 1C00 LA0 1EM0 LA0 1C00 LA0 1zc0 Oo0 1C00 Oo0 1C00 LA0 1zc0 Oo0 1C00 LA0 1C00 LA0 1zc0 Oo0 1C00 Oo0 1zc0 Oo0 1fC0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|39e5","Europe/Samara|LMT +03 +04 +05|-3k.k -30 -40 -50|0123232323232323232121232323232323232323232323232323232323212|-22WM0 qH90 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1fA0 2y10 14m0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 2sp0 WM0|12e5","Europe/Saratov|LMT +03 +04 +05|-34.i -30 -40 -50|012323232323232321212121212121212121212121212121212121212121212|-22WM0 qH90 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1cM0 1cM0 1fA0 1cM0 3Co0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 5810","Europe/Simferopol|SMT EET MSK CEST CET MSD EEST MSK|-2g -20 -30 -20 -10 -40 -30 -40|012343432525252525252525252161616525252616161616161616161616161616161616172|-1Pc2g eUog rEn0 2qs0 WM0 1fA0 1cM0 3V0 1u0L0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1Q00 4eL0 1cL0 1cN0 1cL0 1cN0 dX0 WL0 1cN0 1cL0 1fB0 1o30 11B0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11z0 1nW0|33e4","Europe/Sofia|EET CET CEST EEST|-20 -10 -20 -30|01212103030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030|-168L0 WM0 1fA0 1cM0 1cM0 1cN0 1mKH0 1dd0 1fb0 1ap0 1fb0 1a20 1fy0 1a30 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cK0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1nX0 11E0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|12e5","Europe/Stockholm|CET CEST|-10 -20|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2azC0 TB0 2yDe0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|15e5","Europe/Tallinn|TMT CET CEST EET MSK MSD EEST|-1D -10 -20 -20 -30 -40 -30|012103421212454545454545454546363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363|-26oND teD 11A0 1Ta0 4rXl KSLD 2FX0 2Jg0 WM0 1fA0 1cM0 18J0 1sTX0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o10 11A0 1qM0 5QM0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|41e4","Europe/Tirane|LMT CET CEST|-1j.k -10 -20|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2glBj.k 14pcj.k 5LC0 WM0 4M0 1fCK0 10n0 1op0 11z0 1pd0 11z0 1qN0 WL0 1qp0 Xb0 1qp0 Xb0 1qp0 11z0 1lB0 11z0 1qN0 11z0 1iN0 16n0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|42e4","Europe/Ulyanovsk|LMT +03 +04 +05 +02|-3d.A -30 -40 -50 -20|01232323232323232321214121212121212121212121212121212121212121212|-22WM0 qH90 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3rd0","Europe/Uzhgorod|CET CEST MSK MSD EET EEST|-10 -20 -30 -40 -20 -30|010101023232323232323232320454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-1cqL0 6i00 WM0 1fA0 1cM0 1ml0 1Cp0 1r3W0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1Q00 1Nf0 2pw0 1cL0 1cN0 1cL0 1cN0 1cL0 1cQ0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|11e4","Europe/Vienna|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1o00 11A0 3KM0 14o0 LA00 6i00 WM0 1fA0 1cM0 1cM0 1cM0 400 2qM0 1a00 1cM0 1cM0 1io0 17c0 1gHa0 19X0 1cP0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|18e5","Europe/Vilnius|WMT KMT CET EET MSK CEST MSD EEST|-1o -1z.A -10 -20 -30 -20 -40 -30|012324525254646464646464646473737373737373737352537373737373737373737373737373737373737373737373737373737373737373737373|-293do 6ILM.o 1Ooz.A zz0 Mfd0 29W0 3is0 WM0 1fA0 1cM0 LV0 1tgL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11B0 1o00 11A0 1qM0 8io0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|54e4","Europe/Volgograd|LMT +03 +04 +05|-2V.E -30 -40 -50|01232323232323232121212121212121212121212121212121212121212121|-21IqV.E psLV.E 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1cM0 1cM0 1fA0 1cM0 3Co0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|10e5","Europe/Warsaw|WMT CET CEST EET EEST|-1o -10 -20 -20 -30|012121234312121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2ctdo 1LXo 11d0 1iO0 11A0 1o00 11A0 1on0 11A0 6zy0 HWP0 5IM0 WM0 1fA0 1cM0 1dz0 1mL0 1en0 15B0 1aq0 1nA0 11A0 1io0 17c0 1fA0 1a00 iDX0 LA0 1cM0 1cM0 1C00 Oo0 1cM0 1cM0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1C00 LA0 uso0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|17e5","Europe/Zaporozhye|+0220 EET MSK CEST CET MSD EEST|-2k -20 -30 -20 -10 -40 -30|01234342525252525252525252526161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161|-1Pc2k eUok rdb0 2RE0 WM0 1fA0 8m0 1v9a0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cK0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cQ0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|77e4","HST|HST|a0|0|","Indian/Chagos|LMT +05 +06|-4N.E -50 -60|012|-2xosN.E 3AGLN.E|30e2","Indian/Cocos|+0630|-6u|0||596","Indian/Kerguelen|-00 +05|0 -50|01|-MG00|130","Indian/Mahe|LMT +04|-3F.M -40|01|-2yO3F.M|79e3","Indian/Maldives|MMT +05|-4S -50|01|-olgS|35e4","Indian/Mauritius|LMT +04 +05|-3O -40 -50|012121|-2xorO 34unO 14L0 12kr0 11z0|15e4","Indian/Reunion|LMT +04|-3F.Q -40|01|-2mDDF.Q|84e4","Pacific/Kwajalein|+11 -12 +12|-b0 c0 -c0|012|-AX0 W9X0|14e3","MET|MET MEST|-10 -20|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1o00 11A0 Qrc0 6i00 WM0 1fA0 1cM0 1cM0 1cM0 16M0 1gMM0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","MST|MST|70|0|","MST7MDT|MST MDT MWT MPT|70 60 60 60|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261r0 1nX0 11B0 1nX0 SgN0 8x20 ix0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","Pacific/Chatham|+1215 +1245 +1345|-cf -cJ -dJ|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212|-WqAf 1adef IM0 1C00 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1qM0 14o0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1io0 17c0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1io0 17c0 1io0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00|600","Pacific/Apia|LMT -1130 -11 -10 +14 +13|bq.U bu b0 a0 -e0 -d0|01232345454545454545454545454545454545454545454545454545454|-2nDMx.4 1yW03.4 2rRbu 1ff0 1a00 CI0 AQ0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00|37e3","Pacific/Bougainville|+10 +09 +11|-a0 -90 -b0|0102|-16Wy0 7CN0 2MQp0|18e4","Pacific/Efate|LMT +11 +12|-bd.g -b0 -c0|0121212121212121212121|-2l9nd.g 2Szcd.g 1cL0 1oN0 10L0 1fB0 19X0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 Lz0 1Nd0 An0|66e3","Pacific/Enderbury|-12 -11 +13|c0 b0 -d0|012|nIc0 B7X0|1","Pacific/Fakaofo|-11 +13|b0 -d0|01|1Gfn0|483","Pacific/Fiji|LMT +12 +13|-bT.I -c0 -d0|0121212121212121212121212121212121212121212121212121212121212121|-2bUzT.I 3m8NT.I LA0 1EM0 IM0 nJc0 LA0 1o00 Rc0 1wo0 Ao0 1Nc0 Ao0 1Q00 xz0 1SN0 uM0 1SM0 uM0 1VA0 s00 1VA0 s00 1VA0 uM0 1SM0 uM0 1SM0 uM0 1VA0 s00 1VA0 s00 1VA0 s00 1VA0 uM0 1SM0 uM0 1SM0 uM0 1VA0 s00 1VA0 s00 1VA0 uM0 1SM0 uM0 1SM0 uM0 1VA0 s00 1VA0 s00 1VA0 s00 1VA0 uM0 1SM0 uM0 1SM0 uM0|88e4","Pacific/Galapagos|LMT -05 -06|5W.o 50 60|01212|-1yVS1.A 2dTz1.A gNd0 rz0|25e3","Pacific/Gambier|LMT -09|8X.M 90|01|-2jof0.c|125","Pacific/Guadalcanal|LMT +11|-aD.M -b0|01|-2joyD.M|11e4","Pacific/Guam|GST ChST|-a0 -a0|01|1fpq0|17e4","Pacific/Honolulu|HST HDT HST|au 9u a0|010102|-1thLu 8x0 lef0 8Pz0 46p0|37e4","Pacific/Kiritimati|-1040 -10 +14|aE a0 -e0|012|nIaE B7Xk|51e2","Pacific/Kosrae|+11 +12|-b0 -c0|010|-AX0 1bdz0|66e2","Pacific/Majuro|+11 +12|-b0 -c0|01|-AX0|28e3","Pacific/Marquesas|LMT -0930|9i 9u|01|-2joeG|86e2","Pacific/Pago_Pago|LMT SST|bm.M b0|01|-2nDMB.c|37e2","Pacific/Nauru|LMT +1130 +09 +12|-b7.E -bu -90 -c0|01213|-1Xdn7.E PvzB.E 5RCu 1ouJu|10e3","Pacific/Niue|-1120 -1130 -11|bk bu b0|012|-KfME 17y0a|12e2","Pacific/Norfolk|+1112 +1130 +1230 +11|-bc -bu -cu -b0|01213|-Kgbc W01G On0 1COp0|25e4","Pacific/Noumea|LMT +11 +12|-b5.M -b0 -c0|01212121|-2l9n5.M 2EqM5.M xX0 1PB0 yn0 HeP0 Ao0|98e3","Pacific/Pitcairn|-0830 -08|8u 80|01|18Vku|56","Pacific/Rarotonga|-1030 -0930 -10|au 9u a0|012121212121212121212121212|lyWu IL0 1zcu Onu 1zcu Onu 1zcu Rbu 1zcu Onu 1zcu Onu 1zcu Onu 1zcu Onu 1zcu Onu 1zcu Rbu 1zcu Onu 1zcu Onu 1zcu Onu|13e3","Pacific/Tahiti|LMT -10|9W.g a0|01|-2joe1.I|18e4","Pacific/Tongatapu|+1220 +13 +14|-ck -d0 -e0|0121212121|-1aB0k 2n5dk 15A0 1wo0 xz0 1Q10 xz0 zWN0 s00|75e3","PST8PDT|PST PDT PWT PPT|80 70 70 70|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261q0 1nX0 11B0 1nX0 SgN0 8x10 iy0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","WET|WET WEST|0 -10|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|hDB0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00"],links:["Africa/Abidjan|Africa/Bamako","Africa/Abidjan|Africa/Banjul","Africa/Abidjan|Africa/Conakry","Africa/Abidjan|Africa/Dakar","Africa/Abidjan|Africa/Freetown","Africa/Abidjan|Africa/Lome","Africa/Abidjan|Africa/Nouakchott","Africa/Abidjan|Africa/Ouagadougou","Africa/Abidjan|Africa/Timbuktu","Africa/Abidjan|Atlantic/St_Helena","Africa/Cairo|Egypt","Africa/Johannesburg|Africa/Maseru","Africa/Johannesburg|Africa/Mbabane","Africa/Lagos|Africa/Bangui","Africa/Lagos|Africa/Brazzaville","Africa/Lagos|Africa/Douala","Africa/Lagos|Africa/Kinshasa","Africa/Lagos|Africa/Libreville","Africa/Lagos|Africa/Luanda","Africa/Lagos|Africa/Malabo","Africa/Lagos|Africa/Niamey","Africa/Lagos|Africa/Porto-Novo","Africa/Maputo|Africa/Blantyre","Africa/Maputo|Africa/Bujumbura","Africa/Maputo|Africa/Gaborone","Africa/Maputo|Africa/Harare","Africa/Maputo|Africa/Kigali","Africa/Maputo|Africa/Lubumbashi","Africa/Maputo|Africa/Lusaka","Africa/Nairobi|Africa/Addis_Ababa","Africa/Nairobi|Africa/Asmara","Africa/Nairobi|Africa/Asmera","Africa/Nairobi|Africa/Dar_es_Salaam","Africa/Nairobi|Africa/Djibouti","Africa/Nairobi|Africa/Kampala","Africa/Nairobi|Africa/Mogadishu","Africa/Nairobi|Indian/Antananarivo","Africa/Nairobi|Indian/Comoro","Africa/Nairobi|Indian/Mayotte","Africa/Tripoli|Libya","America/Adak|America/Atka","America/Adak|US/Aleutian","America/Anchorage|US/Alaska","America/Argentina/Buenos_Aires|America/Buenos_Aires","America/Argentina/Catamarca|America/Argentina/ComodRivadavia","America/Argentina/Catamarca|America/Catamarca","America/Argentina/Cordoba|America/Cordoba","America/Argentina/Cordoba|America/Rosario","America/Argentina/Jujuy|America/Jujuy","America/Argentina/Mendoza|America/Mendoza","America/Atikokan|America/Coral_Harbour","America/Chicago|US/Central","America/Curacao|America/Aruba","America/Curacao|America/Kralendijk","America/Curacao|America/Lower_Princes","America/Denver|America/Shiprock","America/Denver|Navajo","America/Denver|US/Mountain","America/Detroit|US/Michigan","America/Edmonton|Canada/Mountain","America/Fort_Wayne|America/Indiana/Indianapolis","America/Fort_Wayne|America/Indianapolis","America/Fort_Wayne|US/East-Indiana","America/Halifax|Canada/Atlantic","America/Havana|Cuba","America/Indiana/Knox|America/Knox_IN","America/Indiana/Knox|US/Indiana-Starke","America/Jamaica|Jamaica","America/Kentucky/Louisville|America/Louisville","America/Los_Angeles|US/Pacific","America/Los_Angeles|US/Pacific-New","America/Manaus|Brazil/West","America/Mazatlan|Mexico/BajaSur","America/Mexico_City|Mexico/General","America/New_York|US/Eastern","America/Noronha|Brazil/DeNoronha","America/Panama|America/Cayman","America/Phoenix|US/Arizona","America/Port_of_Spain|America/Anguilla","America/Port_of_Spain|America/Antigua","America/Port_of_Spain|America/Dominica","America/Port_of_Spain|America/Grenada","America/Port_of_Spain|America/Guadeloupe","America/Port_of_Spain|America/Marigot","America/Port_of_Spain|America/Montserrat","America/Port_of_Spain|America/St_Barthelemy","America/Port_of_Spain|America/St_Kitts","America/Port_of_Spain|America/St_Lucia","America/Port_of_Spain|America/St_Thomas","America/Port_of_Spain|America/St_Vincent","America/Port_of_Spain|America/Tortola","America/Port_of_Spain|America/Virgin","America/Regina|Canada/Saskatchewan","America/Rio_Branco|America/Porto_Acre","America/Rio_Branco|Brazil/Acre","America/Santiago|Chile/Continental","America/Sao_Paulo|Brazil/East","America/St_Johns|Canada/Newfoundland","America/Tijuana|America/Ensenada","America/Tijuana|America/Santa_Isabel","America/Tijuana|Mexico/BajaNorte","America/Toronto|America/Montreal","America/Toronto|Canada/Eastern","America/Vancouver|Canada/Pacific","America/Whitehorse|Canada/Yukon","America/Winnipeg|Canada/Central","Asia/Ashgabat|Asia/Ashkhabad","Asia/Bangkok|Asia/Phnom_Penh","Asia/Bangkok|Asia/Vientiane","Asia/Dhaka|Asia/Dacca","Asia/Dubai|Asia/Muscat","Asia/Ho_Chi_Minh|Asia/Saigon","Asia/Hong_Kong|Hongkong","Asia/Jerusalem|Asia/Tel_Aviv","Asia/Jerusalem|Israel","Asia/Kathmandu|Asia/Katmandu","Asia/Kolkata|Asia/Calcutta","Asia/Kuala_Lumpur|Asia/Singapore","Asia/Kuala_Lumpur|Singapore","Asia/Macau|Asia/Macao","Asia/Makassar|Asia/Ujung_Pandang","Asia/Nicosia|Europe/Nicosia","Asia/Qatar|Asia/Bahrain","Asia/Rangoon|Asia/Yangon","Asia/Riyadh|Asia/Aden","Asia/Riyadh|Asia/Kuwait","Asia/Seoul|ROK","Asia/Shanghai|Asia/Chongqing","Asia/Shanghai|Asia/Chungking","Asia/Shanghai|Asia/Harbin","Asia/Shanghai|PRC","Asia/Taipei|ROC","Asia/Tehran|Iran","Asia/Thimphu|Asia/Thimbu","Asia/Tokyo|Japan","Asia/Ulaanbaatar|Asia/Ulan_Bator","Asia/Urumqi|Asia/Kashgar","Atlantic/Faroe|Atlantic/Faeroe","Atlantic/Reykjavik|Iceland","Atlantic/South_Georgia|Etc/GMT+2","Australia/Adelaide|Australia/South","Australia/Brisbane|Australia/Queensland","Australia/Broken_Hill|Australia/Yancowinna","Australia/Darwin|Australia/North","Australia/Hobart|Australia/Tasmania","Australia/Lord_Howe|Australia/LHI","Australia/Melbourne|Australia/Victoria","Australia/Perth|Australia/West","Australia/Sydney|Australia/ACT","Australia/Sydney|Australia/Canberra","Australia/Sydney|Australia/NSW","Etc/GMT-0|Etc/GMT","Etc/GMT-0|Etc/GMT+0","Etc/GMT-0|Etc/GMT0","Etc/GMT-0|Etc/Greenwich","Etc/GMT-0|GMT","Etc/GMT-0|GMT+0","Etc/GMT-0|GMT-0","Etc/GMT-0|GMT0","Etc/GMT-0|Greenwich","Etc/UCT|UCT","Etc/UTC|Etc/Universal","Etc/UTC|Etc/Zulu","Etc/UTC|UTC","Etc/UTC|Universal","Etc/UTC|Zulu","Europe/Belgrade|Europe/Ljubljana","Europe/Belgrade|Europe/Podgorica","Europe/Belgrade|Europe/Sarajevo","Europe/Belgrade|Europe/Skopje","Europe/Belgrade|Europe/Zagreb","Europe/Chisinau|Europe/Tiraspol","Europe/Dublin|Eire","Europe/Helsinki|Europe/Mariehamn","Europe/Istanbul|Asia/Istanbul","Europe/Istanbul|Turkey","Europe/Lisbon|Portugal","Europe/London|Europe/Belfast","Europe/London|Europe/Guernsey","Europe/London|Europe/Isle_of_Man","Europe/London|Europe/Jersey","Europe/London|GB","Europe/London|GB-Eire","Europe/Moscow|W-SU","Europe/Oslo|Arctic/Longyearbyen","Europe/Oslo|Atlantic/Jan_Mayen","Europe/Prague|Europe/Bratislava","Europe/Rome|Europe/San_Marino","Europe/Rome|Europe/Vatican","Europe/Warsaw|Poland","Europe/Zurich|Europe/Busingen","Europe/Zurich|Europe/Vaduz","Indian/Christmas|Etc/GMT-7","Pacific/Auckland|Antarctica/McMurdo","Pacific/Auckland|Antarctica/South_Pole","Pacific/Auckland|NZ","Pacific/Chatham|NZ-CHAT","Pacific/Easter|Chile/EasterIsland","Pacific/Guam|Pacific/Saipan","Pacific/Honolulu|Pacific/Johnston","Pacific/Honolulu|US/Hawaii","Pacific/Kwajalein|Kwajalein","Pacific/Pago_Pago|Pacific/Midway","Pacific/Pago_Pago|Pacific/Samoa","Pacific/Pago_Pago|US/Samoa","Pacific/Palau|Etc/GMT-9","Pacific/Pohnpei|Etc/GMT-11","Pacific/Pohnpei|Pacific/Ponape","Pacific/Port_Moresby|Etc/GMT-10","Pacific/Port_Moresby|Pacific/Chuuk","Pacific/Port_Moresby|Pacific/Truk","Pacific/Port_Moresby|Pacific/Yap","Pacific/Tarawa|Etc/GMT-12","Pacific/Tarawa|Pacific/Funafuti","Pacific/Tarawa|Pacific/Wake","Pacific/Tarawa|Pacific/Wallis"]}},function(e,t,n){var a={"./af":133,"./af.js":133,"./ar":132,"./ar-dz":131,"./ar-dz.js":131,"./ar-kw":130,"./ar-kw.js":130,"./ar-ly":129,"./ar-ly.js":129,"./ar-ma":128,"./ar-ma.js":128,"./ar-sa":127,"./ar-sa.js":127,"./ar-tn":126,"./ar-tn.js":126,"./ar.js":132,"./az":125,"./az.js":125,"./be":124,"./be.js":124,"./bg":123,"./bg.js":123,"./bm":122,"./bm.js":122,"./bn":121,"./bn.js":121,"./bo":120,"./bo.js":120,"./br":119,"./br.js":119,"./bs":118,"./bs.js":118,"./ca":117,"./ca.js":117,"./cs":116,"./cs.js":116,"./cv":115,"./cv.js":115,"./cy":114,"./cy.js":114,"./da":113,"./da.js":113,"./de":112,"./de-at":111,"./de-at.js":111,"./de-ch":110,"./de-ch.js":110,"./de.js":112,"./dv":109,"./dv.js":109,"./el":108,"./el.js":108,"./en-au":107,"./en-au.js":107,"./en-ca":106,"./en-ca.js":106,"./en-gb":105,"./en-gb.js":105,"./en-ie":104,"./en-ie.js":104,"./en-il":103,"./en-il.js":103,"./en-nz":102,"./en-nz.js":102,"./eo":101,"./eo.js":101,"./es":100,"./es-do":99,"./es-do.js":99,"./es-us":98,"./es-us.js":98,"./es.js":100,"./et":97,"./et.js":97,"./eu":96,"./eu.js":96,"./fa":95,"./fa.js":95,"./fi":94,"./fi.js":94,"./fo":93,"./fo.js":93,"./fr":92,"./fr-ca":91,"./fr-ca.js":91,"./fr-ch":90,"./fr-ch.js":90,"./fr.js":92,"./fy":89,"./fy.js":89,"./gd":88,"./gd.js":88,"./gl":87,"./gl.js":87,"./gom-latn":86,"./gom-latn.js":86,"./gu":85,"./gu.js":85,"./he":84,"./he.js":84,"./hi":83,"./hi.js":83,"./hr":82,"./hr.js":82,"./hu":81,"./hu.js":81,"./hy-am":80,"./hy-am.js":80,"./id":79,"./id.js":79,"./is":78,"./is.js":78,"./it":77,"./it.js":77,"./ja":76,"./ja.js":76,"./jv":75,"./jv.js":75,"./ka":74,"./ka.js":74,"./kk":73,"./kk.js":73,"./km":72,"./km.js":72,"./kn":71,"./kn.js":71,"./ko":70,"./ko.js":70,"./ky":69,"./ky.js":69,"./lb":68,"./lb.js":68,"./lo":67,"./lo.js":67,"./lt":66,"./lt.js":66,"./lv":65,"./lv.js":65,"./me":64,"./me.js":64,"./mi":63,"./mi.js":63,"./mk":62,"./mk.js":62,"./ml":61,"./ml.js":61,"./mn":60,"./mn.js":60,"./mr":59,"./mr.js":59,"./ms":58,"./ms-my":57,"./ms-my.js":57,"./ms.js":58,"./mt":56,"./mt.js":56,"./my":55,"./my.js":55,"./nb":54,"./nb.js":54,"./ne":53,"./ne.js":53,"./nl":52,"./nl-be":51,"./nl-be.js":51,"./nl.js":52,"./nn":50,"./nn.js":50,"./pa-in":49,"./pa-in.js":49,"./pl":48,"./pl.js":48,"./pt":47,"./pt-br":46,"./pt-br.js":46,"./pt.js":47,"./ro":45,"./ro.js":45,"./ru":44,"./ru.js":44,"./sd":43,"./sd.js":43,"./se":42,"./se.js":42,"./si":41,"./si.js":41,"./sk":40,"./sk.js":40,"./sl":39,"./sl.js":39,"./sq":38,"./sq.js":38,"./sr":37,"./sr-cyrl":36,"./sr-cyrl.js":36,"./sr.js":37,"./ss":35,"./ss.js":35,"./sv":34,"./sv.js":34,"./sw":33,"./sw.js":33,"./ta":32,"./ta.js":32,"./te":31,"./te.js":31,"./tet":30,"./tet.js":30,"./tg":29,"./tg.js":29,"./th":28,"./th.js":28,"./tl-ph":27,"./tl-ph.js":27,"./tlh":26,"./tlh.js":26,"./tr":25,"./tr.js":25,"./tzl":24,"./tzl.js":24,"./tzm":23,"./tzm-latn":22,"./tzm-latn.js":22,"./tzm.js":23,"./ug-cn":21,"./ug-cn.js":21,"./uk":20,"./uk.js":20,"./ur":19,"./ur.js":19,"./uz":18,"./uz-latn":17,"./uz-latn.js":17,"./uz.js":18,"./vi":16,"./vi.js":16,"./x-pseudo":15,"./x-pseudo.js":15,"./yo":14,"./yo.js":14,"./zh-cn":13,"./zh-cn.js":13,"./zh-hk":12,"./zh-hk.js":12,"./zh-tw":11,"./zh-tw.js":11};function c(e){var t=o(e);return n(t)}function o(e){var t=a[e];if(!(t+1)){var n=new Error('Cannot find module "'+e+'".');throw n.code="MODULE_NOT_FOUND",n}return t}c.keys=function(){return Object.keys(a)},c.resolve=o,e.exports=c,c.id=144},function(e,t){e.exports=function(e){return e.webpackPolyfill||(e.deprecate=function(){},e.paths=[],e.children||(e.children=[]),Object.defineProperty(e,"loaded",{enumerable:!0,get:function(){return e.l}}),Object.defineProperty(e,"id",{enumerable:!0,get:function(){return e.i}}),e.webpackPolyfill=1),e}},function(e,t,n){var a,c,o;//! moment-timezone.js //! version : 0.5.21 //! Copyright (c) JS Foundation and other contributors //! license : MIT @@ -8,5 +8,5 @@ //! Copyright (c) JS Foundation and other contributors //! license : MIT //! github.com/moment/moment-timezone -!function(o,s){"use strict";"object"==typeof e&&e.exports?e.exports=s(a(0)):(c=[a(0)],void 0===(i="function"==typeof(n=s)?n.apply(t,c):n)||(e.exports=i))}(0,function(e){"use strict";var t,a={},n={},c={},i={};e&&"string"==typeof e.version||D("Moment Timezone requires Moment.js. See https://momentjs.com/timezone/docs/#/use-it/browser/");var o=e.version.split("."),s=+o[0],r=+o[1];function M(e){return e>96?e-87:e>64?e-29:e-48}function d(e){var t=0,a=e.split("."),n=a[0],c=a[1]||"",i=1,o=0,s=1;for(45===e.charCodeAt(0)&&(t=1,s=-1);t3){var t=c[y(e)];if(t)return t;D("Moment Timezone found "+e+" from the Intl api, but did not have that data loaded.")}}catch(e){}var a,n,i,o=function(){var e,t,a,n=(new Date).getFullYear()-2,c=new m(new Date(n,0,1)),i=[c];for(a=1;a<48;a++)(t=new m(new Date(n,a,1))).offset!==c.offset&&(e=b(c,t),i.push(e),i.push(new m(new Date(e.at+6e4)))),c=t;for(a=0;a<4;a++)i.push(new m(new Date(n+a,0,1))),i.push(new m(new Date(n+a,6,1)));return i}(),s=o.length,r=z(o),M=[];for(n=0;n0?M[0].zone.name:void 0}function y(e){return(e||"").toLowerCase().replace(/\//g,"_")}function T(e){var t,n,i,o;for("string"==typeof e&&(e=[e]),t=0;t= 2.6.0. You are using Moment.js "+e.version+". See momentjs.com"),p.prototype={_set:function(e){this.name=e.name,this.abbrs=e.abbrs,this.untils=e.untils,this.offsets=e.offsets,this.population=e.population},_index:function(e){var t,a=+e,n=this.untils;for(t=0;tn&&k.moveInvalidForward&&(t=n),i= 2.9.0. You are using Moment.js "+e.version+"."),e.defaultZone=t?O(t):null,e};var v=e.momentProperties;return"[object Array]"===Object.prototype.toString.call(v)?(v.push("_z"),v.push("_a")):v&&(v._z=null),e})},function(e,t,a){(e.exports=a(140)).tz.load(a(137))},function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n,c=function(){return function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return function(e,t){var a=[],n=!0,c=!1,i=void 0;try{for(var o,s=e[Symbol.iterator]();!(n=(o=s.next()).done)&&(a.push(o.value),!t||a.length!==t);n=!0);}catch(e){c=!0,i=e}finally{try{!n&&s.return&&s.return()}finally{if(c)throw i}}return a}(e,t);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),i=Object.assign||function(e){for(var t=1;t';var O=!0,Y=!1,g=void 0;try{for(var D,k=T.entries()[Symbol.iterator]();!(O=(D=k.next()).done);O=!0){var q=D.value,W=c(q,2),N=W[0],v=W[1];if(e.config.timezone&&v instanceof Date){a+=""+s.default.tz(v,"UTC").clone().tz(e.config.timezone).toString()+""}else{var w=(0,r.escapeHtml)(v);m[N]?a+=""+L[m[N]](w)+"":a+=""+w+""}}}catch(e){Y=!0,g=e}finally{try{!O&&k.return&&k.return()}finally{if(Y)throw g}}a+=""}}catch(e){h=!0,z=e}finally{try{!f&&y.return&&y.return()}finally{if(h)throw z}}if(u>1){a+='';var S=1,X=1===M?1:M-1,B=M===u?u:M+1;for(o.arrows&&(a+='<');S<=u;)a+=''+S+"",S++;o.arrows&&(a+='>'),a+=""}return a}t.default={render:function(){var e=this,t=this.dataset.matrix,a=this.el(),n=this.config.theme,c=this,i="";if(1===t.length&&0===t[0].length){var o="No data to display",s=this.config.errorMapping[o]||o;this.config.showErrorMessages&&this.message(s)}else{i+='
',i+='',i+="",i+="",i+=function(e,t){var a="",n=-1,c=e.config.table&&e.config.table.columns||t[0],i=!0,o=!1,s=void 0;try{for(var M,d=c[Symbol.iterator]();!(i=(M=d.next()).done);i=!0){var u=M.value,_=(0,r.escapeHtml)(u);a+='"}}catch(e){o=!0,s=e}finally{try{!i&&d.return&&d.return()}finally{if(o)throw s}}return a}(c,t),i+="",i+="",i+="",i+=d(c,t),i+="",i+="
'+_+"
",i+="
",a.querySelector("."+n+"-rendering").innerHTML=i,a.querySelectorAll("."+n+"-rendering th").forEach(function(i){i.addEventListener("click",function(i){var o=i.target.getAttribute("order")||"asc",s=i.target.getAttribute("fieldNumber");o="asc"===o?"desc":"asc",i.target.setAttribute("order",o);var r=e.dataset.matrix.shift();e.dataset.matrix.sort(function(e,t){var a="asc"===o?1:-1;if("string"==typeof e[s]){var n=e[s].toUpperCase(),c=t[s].toUpperCase();return nc?1*a:0}return(e[s]-t[s])*a}),e.dataset.matrix.unshift(r),a.querySelector("."+n+"-rendering tbody").innerHTML=d(c,t),u()})});var u=function e(){a.querySelectorAll(".btn").forEach(function(i){i.addEventListener("click",function(i){M=parseInt(i.target.getAttribute("data-page")),a.querySelector("."+n+"-rendering tbody").innerHTML=d(c,t),e()},!0)})};u(c,a,n),this.config.onrendered&&this.config.onrendered()}},update:function(){this.render()},destroy:function(){}}},function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.prettyNumber=function(e){var t=(e=Number(e)).toPrecision(3),a="",n=["","k","M","B","T"];if(Number(t)==e&&String(e).length<=4)return String(e);if(Math.abs(e)>=1e15)return t;return e>=1||e<=-1?(e<0&&(e=-e,a="-"),a+function e(t,a){var t=String(t);var c=t.split(".");if(c.length>1){t=c[0];var i=c[1];2==t.length&&i.length>0?i.length>0?t=t+"."+i.charAt(0):t+="0":1==t.length&&i.length>0&&(t=t+"."+i.charAt(0),i.length>1?t+=i.charAt(1):t+="0")}var o=t.length;t.split(".").length>1&&o--;return o<=3?String(t)+n[a]:e(Number(t)/1e3,a+1)}(e,0)):e.toPrecision(3)}},function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=a(143),c=a(2);t.default={render:function(){this.config.colors[0];var e=this.config.theme,t=this.config.title,a=this.config,i="-",o="",s="",r="",M=void 0,d="",u="",_="",l="",p=this.config,m=p.results,L=p.previousResults;m&&L&&(d=L?" metric-comparison":"",l=L&&t?"-smaller":"",_=(u=m.result-L.result)>0?"-green":"-red",u=Math.abs(u)),"number"==typeof this.data()[1][1]&&(i=this.data()[1][1]),M=i,void 0!==a.prettyNumber&&!0!==a.prettyNumber||isNaN(parseInt(i))||(M=(0,n.prettyNumber)(i),m&&L&&(u=(0,n.prettyNumber)(u))),a.prefix&&(s=''+a.prefix+""),a.suffix&&(r=''+a.suffix+""),o+='
',o+='
',m&&L&&(o+='
'+(0,c.escapeHtml)(u)+"
"),o+='
'+s+(0,c.escapeHtml)(M)+r+"
",t&&(o+='
'+(0,c.escapeHtml)(t)+"
"),o+="
",o+="
",this.el().innerHTML=o,this.config.onrendered&&this.config.onrendered()},update:function(){this.render()},destroy:function(){}}},function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=a(2);t.default={render:function(e){var t=document.createElement("div"),a=document.createElement("div"),c=document.createElement("span"),i=document.createElement("div"),o=document.createElement("div");t.className=this.config.theme+" keen-dataviz-box",a.className=this.config.theme+"-message",i.className=this.config.theme+"-title",i.innerHTML=(0,n.escapeHtml)(this.config.title||""),o.className=this.config.theme+"-notes",o.innerHTML=(0,n.escapeHtml)(this.config.notes||""),c.innerHTML=(0,n.escapeHtml)(e)||"",a.appendChild(c),this.config.title&&this.config.showTitle&&t.appendChild(i),t.appendChild(a),this.config.notes&&t.appendChild(o),this.el().innerHTML="",this.el().appendChild(t)},update:function(){this.render()},destroy:function(){}}},function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,a,c){for(var i=void 0,o=void 0,s=this.config.tooltip_format_name||function(e){return e},r=this.config.tooltip_format_title||t,M=this.config.tooltip_format_value||a,d=0;d"+(o||0===o?""+(0,n.escapeHtml)(o)+"":""));var u=s(e[d].name),_=M(e[d].value,e[d].ratio,e[d].id,e[d].index),l=this.levelColor?this.levelColor(e[d].value):c(e[d].id);_&&(i+="",-1===u.indexOf("__tooltip_ignore_name_field__")&&(i+=""+(0,n.escapeHtml)(u)+""),i+=""+(0,n.escapeHtml)(_)+"",i+="")}return i+""};var n=a(2)},function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=Object.assign||function(e){for(var t=1;t"+a+"",n.chartPartId=t,n.setAttribute("class","legend-item"),m.append(n);var i=document.createElement("span");i.setAttribute("class","legend-item-color-sample"),i.style.backgroundColor=c.color(n.chartPartId),n.prepend(i);var o=document.createElement("div");n.addEventListener("mouseover",function(t){c.focus(n.chartPartId),r.tooltip.show&&n.chartPartId.length>r.label.textMaxLength&&(o.setAttribute("class","keen-c3-legend-label-overlay keen-c3-legend-position-"+r.position),o.innerHTML=(e.legend.tooltip.pointer?"
":"")+n.chartPartId,n.append(o))}),n.addEventListener("mouseout",function(e){c.revert(),o.remove()}),n.addEventListener("click",function(e){var t=1,a=M.hidden.indexOf(n.chartPartId);a<0?(M.hidden.push(n.chartPartId),t=.35):(M.hidden.splice(a,1),t=1),n.style.opacity=t,c.toggle(n.chartPartId)})}),e.onLegendRendered&&(e.onLegendRendered(),e.onLegendRendered=null)}.call(a,M.labels),M.total>M.limit&&function(){L.innerHTML="",p.innerHTML="",b.innerHTML="";var e=document.createElement("i"),t=document.createElement("i"),a=function(e){if("forward"===e){var t=M.offset+M.limit;return t=0?a:Math.floor(M.total/M.limit)*M.limit};t.addEventListener("click",function(){a("forward"),f(),h()}),e.addEventListener("click",function(){a("backward"),f(),h()}),"left"===r.position||"right"===r.position?(e.setAttribute("class","up"),t.setAttribute("class","down"),L.append(t),L.append(e)):(e.setAttribute("class","left"),t.setAttribute("class","right"),p.append(e),b.append(t))}.call(a),e.onPaginated&&e.onPaginated()}function h(){document.selection&&document.selection.empty?document.selection.empty():window.getSelection&&window.getSelection().removeAllRanges()}b.setAttribute("class","keen-c3-legend-pagination-icons keen-c3-legend-horizontal-pagination-right"),"horizontal"===l&&_.append(b),f()};!function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);t.default=e}(a(133));var c,i=a(4),o=(c=i)&&c.__esModule?c:{default:c}},function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){var a=Math.abs(new Date(e).getTime()-new Date(t).getTime()),n=["Jan","Feb","Mar","Apr","May","June","July","Aug","Sept","Oct","Nov","Dec"];return a>=24192e5?function(e){var t=new Date(e);return n[t.getMonth()]+" "+t.getFullYear()}:a>=864e5?function(e){var t=new Date(e);return n[t.getMonth()]+" "+t.getDate()}:a>=36e5?"%I:%M %p":"%I:%M:%S %p"}},function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=Object.assign||function(e){for(var t=1;t12?1e3:250;t=setTimeout(function(){(0,i.each)(e.visuals,function(e){e.view._artifacts.c3&&e.view._artifacts.c3.resize()})},a)}),c.default.chart&&c.default.chart.internal&&c.default.chart.internal.fn&&(c.default.chart.internal.fn.horizontalDistance=function(e,t){var a=this.config.axis_rotated?1:0,n=this.x(e.x);return Math.abs(n-t[a])},c.default.chart.internal.fn.findClosest=function(e,t){var a,n=c.default.chart.internal.fn.CLASS,i=this,o=i.config.point_sensitivity;o=1/0;return e.filter(function(e){return e&&i.isBarType(e.id)}).forEach(function(e){var t=i.main.select("."+n.bars+i.getTargetSelectorSuffix(e.id)+" ."+n.bar+"-"+e.index).node();!a&&i.isWithinBar(i.d3.mouse(t),t)&&(a=e)}),e.filter(function(e){return e&&!i.isBarType(e.id)}).forEach(function(e){var n=i.dist(e,t);(n=i.horizontalDistance(e,t))0?c:void 0}};return(0,o.extendDeep)({},M,this.config,e)}.call(this);if(this.config.clearOnRender&&u.data.columns.length>0&&u.data.columns.splice(1),1!==this.data()[0].length&&1!==this.data().length){var _=!1;if("gauge"===a?(u.legend.show=!1,u.data.columns=[[this.config.title||this.data()[1][0],this.data()[1][1]]],_=!0):"pie"===a||"donut"===a?u.data.columns=this.data().slice(1):(a.indexOf("horizontal-")>-1&&(u.axis.rotated=a.indexOf("horizontal-")>-1),(0,s.default)(this.data()[1][0])?(u.axis.x=u.axis.x||{},u.axis.x.type="timeseries",u.axis.x.tick=u.axis.x.tick||{format:this.config.dateFormat||(0,r.default)(this.data()[1][0],this.data()[2]?this.data()[2][0]:this.data()[1][0]),culling:{max:5}},u.data.columns[0]=[],(0,i.each)(this.dataset.selectColumn(0),function(e,t){t>0&&(e=new Date(e)),u.data.columns[0][t]=e}),u.data.columns[0][0]="x",u.data.x="x",this.config.stacked&&this.data()[0].length>2&&(u.data.groups=[this.dataset.selectRow(0).slice(1)])):(u.axis.x=u.axis.x||{},u.axis.x.type="category",u.axis.x.categories=this.dataset.selectColumn(0).slice(1),this.config.stacked&&this.data()[0].length>2&&(u.data.groups=[this.dataset.selectRow(0).slice(1)])),2===this.data()[0].length&&(u.legend.show=!1,_=!0),(0,i.each)(this.data()[0],function(e,t){t>0&&u.data.columns.push(this.dataset.selectColumn(t))}.bind(this))),_){var l=this.el().querySelector(".keen-c3-legend");l&&(l.remove(),u.size.width=this.el().querySelector(".c3-chart").offsetWidth),u.legend.show=!1}if(u.partialIntervalIndicator&&u.partialIntervalIndicator.show&&["area","area-spline","area-step","line","spline","step"].indexOf(u.type)>-1){var p=u.data.columns&&u.data.columns[0];if(p&&p.length>1){var m={axis:"x",start:new Date(p[p.length-2]),class:u.partialIntervalIndicator.className};u.regions=[].concat(function(e){if(Array.isArray(e)){for(var t=0,a=Array(e.length);t-1?e:void 0}.call(e,t,a,n,c);return e.config.tooltip&&e.config.tooltip.format&&e.config.tooltip.format.value&&(i=e.config.tooltip.format.value.call(e,i,a,n,c)),i}}}),!0===u.legend.show){var L=n({},u);L.data.color=function(e,t){var a=this.config.type;if(this.view._artifacts.pagination&&"gauge"!==a){var n=this.view._artifacts.pagination.labels;return t.id&&n.indexOf(t.id)>-1||t&&!t.id&&n.indexOf(t)>-1?e:"donut"===a||"pie"===a?"rgba(0,0,0,.1)":"rgba(0,0,0,.07)"}return e}.bind(this),L.legend.hide=!0,this.view._artifacts.c3=c.default.generate(L),M.default.call(this,n({},u,{onLegendRendered:function(){var a=e.el().querySelector(".keen-c3-legend");a&&("top"===u.legend.position||"bottom"===u.legend.position?(L.size.height-=a.offsetHeight,e.view._artifacts.c3.resize({height:L.size.height})):(0===L.size.width&&(L.size.width=e.el().offsetWidth-t(e.el(),"Left")-t(e.el(),"Right")),L.size.width-=a.offsetWidth,e.view._artifacts.c3.resize({width:L.size.width})))},onPaginated:function(){e.view._artifacts.c3.flush()}}))}else this.view._artifacts.c3=c.default.generate(u)}else{var b="No data to display",f=this.config.errorMapping[b]||b;this.config.showErrorMessages&&this.message(f)}},update:function(){this.render()},destroy:function(){this.view._artifacts.c3&&(this.view._artifacts.c3.destroy(),this.view._artifacts.c3=null)}}}),e}()};var c=m(a(132)),i=a(1),o=(a(3),a(131)),s=m(a(4)),r=m(a(148)),M=m(a(147)),d=m(a(146)),u=m(a(145)),_=m(a(144)),l=m(a(142)),p=m(a(136));function m(e){return e&&e.__esModule?e:{default:e}}},function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return arguments.length?e instanceof i.default?(this.dataset=e,this):function(e){var t,a,n,c,r,M,d,u,_=[];a=this.config.indexBy,n=e.metadata||{},r=void 0!==e.query?e.query:{},"funnel"===(r=(0,o.extend)({analysis_type:null,event_collection:null,filters:[],group_by:null,interval:null,timeframe:null,timezone:null},r)).analysis_type?c="funnel":"extraction"===r.analysis_type?c="extraction":"select_unique"===r.analysis_type?r.group_by||r.interval||(c="list"):r.analysis_type&&(r.group_by||r.interval?r.group_by&&!r.interval?r.group_by instanceof Array&&r.group_by.length>1?(c="double-grouped-metric",_.push(r.group_by)):c="grouped-metric":r.interval&&!r.group_by?(c="interval",_.push(a)):r.group_by&&r.interval&&(r.group_by instanceof Array&&r.group_by.length>1?(c="double-grouped-interval",_.push(r.group_by),_.push(a)):(c="grouped-interval",_.push(a))):c="metric");c||("number"==typeof e.result&&(c="metric"),e.result instanceof Array&&e.result.length>0&&(!e.result[0].timeframe||"number"!=typeof e.result[0].value&&null!=e.result[0].value||(c="interval",_.push(a)),"number"==typeof e.result[0].result&&(c="grouped-metric"),e.result[0].value instanceof Array&&(c="grouped-interval",_.push(a)),"number"==typeof e.result[0]&&void 0!==e.steps&&(c="funnel",r.steps=e.steps),"string"!=typeof e.result[0]&&"number"!=typeof e.result[0]||void 0!==e.steps||(c="list"),c||(c="extraction")),c||(c="extraction"));void 0===this.config.title&&(d=n.display_name?n.display_name:function(e){var t,a=e.analysis_type?e.analysis_type.replace("_"," "):"";t=a.replace(/\b./g,function(e){return e.toUpperCase()}),e.event_collection&&(t+=" - "+e.event_collection);return t}(r),this.config.title=d);this.config.type||(u=n.visualization&&n.visualization.chart_type?n.visualization.chart_type:function(e){var t=void 0;switch(e){case"metric":t="metric";break;case"interval":t="area";break;case"grouped-metric":case"double-grouped-metric":t="bar";break;case"grouped-interval":case"double-grouped-interval":t="line";break;case"funnel":t="horizontal-bar";break;case"list":case"extraction":default:t="table"}return t}(c),this.config.type=u);M=i.default.parser.apply(this,[c].concat(_)),t=M((0,o.extend)(e,{query:r})),c.indexOf("interval")>-1&&t.updateColumn(0,function(e,t){return new Date(e)});return t.updateRow(0,function(e,t){return(0,s.stripHtmlTags)(e)}),this.dataset=t,this}.call(this,e):this.dataset.data()};var n,c=a(135),i=(n=c)&&n.__esModule?n:{default:n},o=a(3),s=a(5)},function(e){e.exports={name:"keen-dataviz",description:"Data Visualization SDK for Keen IO",license:"MIT",version:"3.2.4",main:"dist/external_d3_c3/node/keen-dataviz.js",browser:"dist/external_d3_c3/keen-dataviz.js",style:"dist/keen-dataviz.css",scripts:{start:'concurrently --kill-others "NODE_ENV=development webpack-dev-server" "npm run postcss-watch"',"postcss-watch":"node_modules/postcss-cli/bin/postcss lib/style/keen-dataviz-c3.css -o test/demo/keen-dataviz.css --watch --config postcss.config.js",build:"NODE_ENV=production webpack -p && npm run build:css && NODE_ENV=production OPTIMIZE_MINIMIZE=1 webpack -p && npm run build:css && npm run build:css:min && npm run build:external_d3_c3 && npm run build:external_d3_c3:css && npm run build:external_d3_c3:css:min && npm run build:node","build:css":"node_modules/postcss-cli/bin/postcss lib/style/keen-dataviz-c3.css -o dist/keen-dataviz.css --config postcss.config.js","build:css:min":"OPTIMIZE_MINIMIZE=1 node_modules/postcss-cli/bin/postcss lib/style/keen-dataviz-c3.css -o dist/keen-dataviz.min.css --config postcss.config.js","build:external_d3_c3:css":"node_modules/postcss-cli/bin/postcss lib/style/keen-dataviz.css -o dist/external_d3_c3/keen-dataviz.css --config postcss.config.js","build:external_d3_c3:css:min":"OPTIMIZE_MINIMIZE=1 node_modules/postcss-cli/bin/postcss lib/style/keen-dataviz.css -o dist/external_d3_c3/keen-dataviz.min.css --config postcss.config.js","build:external_d3_c3":"NODE_ENV=production EXTERNAL_D3_C3=1 webpack -p && NODE_ENV=production EXTERNAL_D3_C3=1 OPTIMIZE_MINIMIZE=1 webpack -p","build:node":"TARGET=node NODE_ENV=production EXTERNAL_D3_C3=1 webpack -p",profile:"webpack --profile --json > stats.json",analyze:"webpack-bundle-analyzer stats.json /dist",version:"npm run build && git add .",postversion:"git push && git push --tags",test:"NODE_ENV=test jest","test:watch":"NODE_ENV=test jest --watch"},repository:{type:"git",url:"https://github.com/keen/keen-dataviz.js.git"},bugs:"https://github.com/keen/keen-dataviz.js/issues",author:"Keen.IO (https://keen.io/)",contributors:["Dustin Larimer (https://github.com/dustinlarimer)","Joanne Cheng (https://github.com/joannecheng)","Eric Anderson (https://github.com/aroc)","Joe Wegner (https://github.com/josephwegner)","Sara Falkoff (https://github.com/adamkasprowicz)"],homepage:"https://keen.io",keywords:["d3","c3","Analytics","Stats","Statistics","Visualization","Visualizations","Data Visualization","Chart","Charts","Charting","Svg","Dataviz","Plots","Graphs","Funnels"],dependencies:{c3:"^0.6.12",d3:"^5.4.0","moment-timezone":"^0.5.21","promise-polyfill":"^8.0.0"},devDependencies:{autoprefixer:"^8.2.0","babel-loader":"^7.1.4","babel-plugin-transform-es2015-modules-commonjs":"^6.26.2","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-preset-env":"^1.7.0",concurrently:"^3.5.1",cssnano:"^3.10.0",eslint:"^4.19.1","eslint-config-airbnb":"^16.1.0","eslint-loader":"^2.0.0","eslint-plugin-import":"^2.11.0","eslint-plugin-jsx-a11y":"^6.0.3","eslint-plugin-react":"^7.7.0","html-loader":"^0.5.5","html-webpack-plugin":"^3.2.0",jest:"^22.4.3","jest-environment-jsdom-c3":"^2.0.0",nock:"^9.2.6",postcss:"^6.0.21","postcss-cli":"^5.0.0","postcss-color-function":"^4.0.1","postcss-css-variables":"^0.8.1","postcss-cssnext":"^2.4.0","postcss-import":"^8.0.2","postcss-loader":"^2.1.3",precss:"^3.1.2","regenerator-runtime":"^0.11.1","replace-in-file":"^3.4.0","style-loader":"^0.20.3",webpack:"^4.5.0","webpack-bundle-analyzer":"^2.11.1","webpack-cli":"^2.0.13","webpack-dev-server":"^3.1.1","xhr-mock":"^2.3.2"}}},function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.valueAtDeepKey=function e(t,a,n){return"string"==typeof a?e(t,a.split("."),n):1==a.length&&void 0!==n&&null!==t&&void 0!==t[a[0]]?t[a[0]]=n:0==a.length?t:void 0===a||void 0===t||null===a||null===t||void 0===t[a[0]]?null:e(t[a[0]],a.slice(1),n)}},function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};t.flatten=function e(t){var a={};for(var c in t)if(t.hasOwnProperty(c))if("object"==n(t[c])&&null!==t[c]){var i=e(t[c]);for(var o in i)i.hasOwnProperty(o)&&(a[c+"."+o]=i[o])}else a[c]=t[c];return a}},function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return o=e,function(e){var t=Array.prototype.slice.call(arguments,1);if(s[e])return s[e].apply(this,t);throw"Requested parser does not exist"}};var n=a(1),c=a(153),i=a(152),o=void 0;var s={metric:function(){return function(e){return(new o).set(["Value","Result"],e.result).type("metric")}},interval:function(){var e=Array.prototype.slice.call(arguments);return function(t){var a=(new o).type("interval");return(0,n.each)(t.result,function(t,n){var c=e[0]&&"timeframe.end"===e[0]?t.timeframe.end:t.timeframe.start;a.set(["Result",c],t.value)}),a}},"grouped-metric":function(){return function(e){var t=(new o).type("grouped-metric");return(0,n.each)(e.result,function(e,a){var c;(0,n.each)(e,function(e,t){"result"!==t&&(c=t)}),t.set(["Result",String(e[c])],e.result)}),t}},"grouped-interval":function(){var e=Array.prototype.slice.call(arguments);return function(t){var a=(new o).type("grouped-interval");return(0,n.each)(t.result,function(t,c){var i=e[0]&&"timeframe.end"===e[0]?t.timeframe.end:t.timeframe.start;t.value.length?(0,n.each)(t.value,function(e,t){var c;(0,n.each)(e,function(e,t){"result"!==t&&(c=t)}),a.set([String(e[c]),i],e.result)}):a.appendRow(i)}),a}},"double-grouped-metric":function(){var e=Array.prototype.slice.call(arguments);if(!e[0])throw"Requested parser requires a sequential list (array) of properties to target as a second argument";return function(t){var a=(new o).type("double-grouped-metric");return(0,n.each)(t.result,function(t,n){var c=t[e[0][0]]+" "+t[e[0][1]];a.set(["Result",c],t.result)}),a}},"double-grouped-interval":function(){var e=Array.prototype.slice.call(arguments);if(!e[0])throw"Requested parser requires a sequential list (array) of properties to target as a second argument";return function(t){var a=(new o).type("double-grouped-interval");return(0,n.each)(t.result,function(t,c){var i=e[1]&&"timeframe.end"===e[1]?t.timeframe.end:t.timeframe.start;(0,n.each)(t.value,function(t,n){var c=t[e[0][0]]+" "+t[e[0][1]];a.set([c,i],t.result)})}),a}},funnel:function(){return function(e){var t,a,c;return void 0!==e.steps&&void 0!==e.result&&e.result instanceof Array?(t=e.result,a=e.steps):void 0!==e.result.steps&&void 0!==e.result.result&&e.result.result instanceof Array&&(t=e.result.result,a=e.result.steps),(c=(new o).type("funnel")).appendColumn("Step Value"),(0,n.each)(t,function(e,t){void 0!==a&&a[t]&&c.appendRow(String(a[t].event_collection),[e])}),c}},list:function(){return function(e){var t=(new o).type("list");return(0,n.each)(e.result,function(e,a){t.set(["Result",String(a+1)],e)}),t}},extraction:function(){var e=this.config;return function(t){for(var a=(new o).type("extraction"),s=function(e){var i=t.result[e];(0,n.each)((0,c.flatten)(i),function(t,n){a.set([n,String(e+1)],t)})},r=0;r<1;r++)s(r);var M=Object.keys((0,c.flatten)(t.result[0]));for(o&&e.table&&e.table.columns&&(M=e.table.columns),r=0;r-1&&("function"==typeof t?(0,c.each)(a.data(),function(e,c){var i;c>0&&void 0!==(i=t.call(a,e[n],c,e))&&(a.matrix[c][n]=i)}):(!t||t instanceof Array)&&((t=t||[]).length<=a.data().length-1?t=t.concat((0,o.default)(a.data().length-1-t.length)):(0,c.each)(t,function(e,n){a.matrix.length-1-1&&("function"==typeof t?(0,c.each)(a.data()[n],function(e,c){var i=a.selectColumn(c),o=t.call(a,e,c,i);void 0!==o&&(a.matrix[n][c]=o)}):(!t||t instanceof Array)&&((t=t||[]).length<=a.matrix[0].length-1?t=t.concat((0,o.default)(a.matrix[0].length-1-t.length)):(0,c.each)(t,function(e,n){a.matrix[0].length-1s.call(a,n);return c?"asc"===e?1:-1:c?0:"asc"===e?-1:1}),(0,c.each)(i,function(e,t){a.deleteColumn(t+1).insertColumn(t+1,e[0],e.slice(1))}),a},t.sortRows=function(e,t){var a=this,n=this.matrix.slice(0,1),c=this.matrix.slice(1),i=t||o.default.getRowIndex;return c.sort(function(t,n){var c=i.call(a,t)>i.call(a,n);return c?"asc"===e?1:-1:c?0:"asc"===e?-1:1}),a.data(n.concat(c)),a};var n,c=a(1),i=a(134),o=(n=i)&&n.__esModule?n:{default:n}},function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.selectColumn=function(e){var t=[],a="number"==typeof e?e:this.matrix[0].indexOf(e);a>-1&&void 0!==this.matrix[0][a]&&(0,n.each)(this.matrix,function(e,n){t.push(e[a])});return t},t.selectRow=function(e){var t=[],a="number"==typeof e?e:this.selectColumn(0).indexOf(e);a>-1&&void 0!==this.matrix[a]&&(t=this.matrix[a]);return t};var n=a(1)},function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.insertColumn=function(e,t,a){var n=this,i=void 0!==t?t:null;"function"==typeof a?(n.matrix[0].splice(e,0,i),(0,c.each)(n.matrix,function(t,c){var i;c>0&&(void 0===(i=a.call(n,t,c))&&(i=null),n.matrix[c].splice(e,0,i))})):(!a||a instanceof Array)&&((a=a||[]).length<=n.matrix.length-1?a=a.concat((0,o.default)(n.matrix.length-1-a.length)):(0,c.each)(a,function(e,t){n.matrix.length-10&&(c=n.selectColumn(t),void 0===(o=a.call(n,c,t))&&(o=null),i.push(o))}),n.matrix.splice(e,0,i)):(!a||a instanceof Array)&&((a=a||[]).length<=n.matrix[0].length-1?a=a.concat((0,o.default)(n.matrix[0].length-1-a.length)):(0,c.each)(a,function(e,t){n.matrix[0].length-1-1&&(0,n.each)(t.matrix,function(e,n){t.matrix[n].splice(a,1)});return t},t.deleteRow=function(e){var t="number"==typeof e?e:this.selectColumn(0).indexOf(e);t>-1&&this.matrix.splice(t,1);return this};var n=a(1)},function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Dataset=t.Dataviz=void 0;var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},c=Object.assign||function(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:{};if(this instanceof e==!1)return new e(a);this.c3=s.default,this.d3=o;var n=(L(t={showDeprecationWarnings:!0,showLoadingSpinner:!1,container:void 0,containerElement:void 0,title:void 0,showTitle:!0,notes:void 0,theme:"keen-dataviz",colors:["#00bbde","#fe6672","#eeb058","#8a8ad6","#ff855c","#00cfbb","#5a9eed","#73d483","#c879bb","#0099b6","#d74d58","#cb9141","#6b6bb6","#d86945","#00aa99","#4281c9","#57b566","#ac5c9e","#27cceb","#ff818b","#f6bf71","#9b9be1","#ff9b79","#26dfcd","#73aff4","#87e096","#d88bcb"],colorMapping:{},indexBy:"timeframe.start",labels:[],labelMapping:{},labelMappingRegExp:void 0,errorMapping:{},showErrorMessages:!0,library:"default",sortGroups:void 0,sortIntervals:void 0,results:void 0,type:void 0,stacked:!1,dateFormat:void 0,legend:{show:!0,position:"right",label:{textMaxLength:12},pagination:{offset:0,limit:5},tooltip:{show:!0,pointer:!0},sort:void 0},axis:{},color:{},data:{order:null},size:{},padding:{top:15},point:{focus:{expand:{enabled:!1}},r:2,show:!0},tooltip:{format:{}},transition:{}},"data",{selection:{enabled:!0,draggable:!0,multiple:!0}}),L(t,"grid",{y:{show:!0}}),L(t,"partialIntervalIndicator",{show:void 0,className:"partial-interval-indicator"}),L(t,"timezone","UTC"),L(t,"table",{}),L(t,"renderOnVisible",!1),t);this.config=c({},(0,p.extendDeep)(n,a)),this.config.type&&(this.config.type=T(this.config.type)),this.config.container&&this.el(this.config.container),void 0===a.legend||a.legend||(this.config.legend=c({},a,{show:!1})),a.color&&a.color.pattern&&(this.config.colors=a.color.pattern),this.config.legend&&this.config.legend.tooltip&&!1===this.config.legend.tooltip.show&&void 0===this.config.tooltip.show&&(this.config.tooltip={show:!1}),a.color&&a.color.pattern&&(this.config.colors=a.color.pattern),this.dataset=new i.Dataset(this.config),this.view={_prepared:!1,_rendered:!1,_artifacts:{}},e.visuals.push(this),this.config.showLoadingSpinner&&this.prepare(),this.config.results&&this.render(this.config.results),this.config.firstVisibilityState=document.visibilityState};function f(e){2!==e.data()[0].length||(0,u.default)(e.data()[1][0])?e.dataset.updateRow(0,function(t,a){return a>0&&e.config.labels[a-1]?(0,_.stripHtmlTags)(String(e.config.labels[a-1])):(0,_.stripHtmlTags)(t)}.bind(e)):e.dataset.updateColumn(0,function(t,a){return e.config.labels[a-1]?(0,_.stripHtmlTags)(String(e.config.labels[a-1])):(0,_.stripHtmlTags)(t)}.bind(e))}function h(e){var t=e.datavizInstance,a=e.value;if(t.config.labelMappingRegExp){var n=a;return t.config.labelMappingRegExp.forEach(function(e){e.length>1&&(e[0].test(a)&&(n=e[1]))}),(0,_.stripHtmlTags)(n)}return t.config.labelMapping[a]?(0,_.stripHtmlTags)(String(t.config.labelMapping[a])):(0,_.stripHtmlTags)(a)}function z(e){e.config.labelMappingDimension||(2!==e.data()[0].length||(0,u.default)(e.data()[1][0])?e.config.labelMappingDimension="column":e.config.labelMappingDimension="row"),"row"!==e.config.labelMappingDimension&&"both"!==e.config.labelMappingDimension||e.dataset.updateColumn(0,function(t){return h({datavizInstance:e,value:t})}.bind(e)),"column"!==e.config.labelMappingDimension&&"both"!==e.config.labelMappingDimension||e.dataset.updateRow(0,function(t){return h({datavizInstance:e,value:t})}.bind(e))}function A(e){e.config.sortGroups&&e.data().length>1&&((0,u.default)(e.data()[1][0])?e.dataset.sortColumns(e.config.sortGroups,e.dataset.getColumnSum):e.dataset.sortRows(e.config.sortGroups,e.dataset.getRowSum))}function y(e){e.config.sortIntervals&&e.dataset.sortRows(e.config.sortIntervals)}function T(e){return{areachart:"area",barchart:"horizontal-bar",columnchart:"bar",linechart:"line",piechart:"pie"}[e]||e}function O(e){"undefined"==typeof document&&"undefined"!=typeof window?(null==document.readyState&&document.addEventListener&&(document.addEventListener("DOMContentLoaded",function e(){document.removeEventListener("DOMContentLoaded",e,!1),document.readyState="complete"},!1),document.readyState="loading"),function e(t){/in/.test(document.readyState)?setTimeout(function(){e(t)},9):t()}(e)):e()}b.libraries={default:{}},"undefined"!=typeof window&&(b.libraries.default=(0,l.default)(b)),b.visuals=[],b.register=function(e,t){b.libraries[e]=b.libraries[e]||{},(0,d.each)(t,function(t,a){b.libraries[e][a]=t})},b.find=function(e){if(!arguments.length)return b.visuals;var t=e.nodeName?e:document.querySelector(e),a=null;return(0,d.each)(b.visuals,function(e){if(t==e.config.container)return a=e,!1}),a},b.prototype.attributes=function(e){if(this.config.showDeprecationWarnings&&console.log(".attributes() is deprecated. Use: new KeenDataviz({ _your_value_here_ })"),!arguments.length)return this.config;var t=this.config;return(0,d.each)(e,function(e,a){"chartType"===a&&(a="type"),t[a]=e}),this},b.prototype.call=function(e){return e.call(this),this},b.prototype.chartOptions=function(e){return this.config.showDeprecationWarnings&&console.log(".chartOptions() is deprecated. Use: new KeenDataviz({ _your_value_here_ })"),arguments.length?(this.config=(0,p.extendDeep)(this.config,e),this):this.config},b.prototype.colors=function(e){return this.config.showDeprecationWarnings&&console.log(".colors() is deprecated. Use: new KeenDataviz({ colors: _your_value_here_ })"),arguments.length?(this.config.colors=e instanceof Array?e:[],this):this.config.colors},b.prototype.colorMapping=function(e){this.config.showDeprecationWarnings&&console.log(".colorMapping() is deprecated. Use: new KeenDataviz({ colorMapping: _your_value_here_ })");var t=this;return arguments.length?(null===e?this.config.colorMapping={}:"object"===(void 0===e?"undefined":n(e))&&(0,d.each)(e,function(e,a){t.config.colorMapping[a]=e||null}),this):this.config.colorMapping},b.prototype.data=M.default,b.prototype.dateFormat=function(e){return this.config.showDeprecationWarnings&&console.log(".dateFormat() is deprecated. Use: new KeenDataviz({ dateFormat: _your_value_here_ })"),arguments.length?(this.config.dateFormat="string"==typeof e||"function"==typeof e?e:void 0,this):this.config.dateFormat},b.prototype.destroy=function(){var e=this.library(),t=this.config.type,a=this.el();return b.libraries[e]&&b.libraries[e][t]&&b.libraries[e][t].destroy.call(this),a&&(a.innerHTML=""),this.view._prepared=!1,this.view._rendered=!1,this.view._artifacts={},this},b.prototype.el=function(e){var t=this;return arguments.length?(O(function(){e&&null!==e?e.nodeName?t.config.containerElement=e:document.querySelector&&(t.config.containerElement=document.querySelector(e)):t.config.containerElement=void 0}),this):this.config.containerElement},b.prototype.height=function(e){return this.config.showDeprecationWarnings&&console.log(".height() is deprecated - use CSS classes"),this},b.prototype.indexBy=function(e){return this.config.showDeprecationWarnings&&console.log(".indexBy() is deprecated. Use: new KeenDataviz({ indexBy: _your_value_here_ })"),arguments.length?(this.config.indexBy=e?String(e):"timeframe.start",this):this.config.indexBy},b.prototype.labels=function(e){return this.config.showDeprecationWarnings&&console.log(".labels() is deprecated. Use: new KeenDataviz({ labels: _your_value_here_ })"),arguments.length?(this.config.labels=e instanceof Array?e:[],f(this),this):this.config.labels},b.prototype.labelMapping=function(e){return this.config.showDeprecationWarnings&&console.log(".labelMapping() is deprecated. Use: new KeenDataviz({ labelMapping: _your_value_here_ })"),arguments.length?(null===e?this.config.labelMapping={}:"object"===(void 0===e?"undefined":n(e))&&(0,d.each)(e,function(e,t){this.config.labelMapping[t]=e||null}.bind(this)),z(this),this):this.config.labelMapping},b.prototype.library=function(e){return arguments.length?(this.config.library=e?String(e):null,this):this.config.library},b.prototype.message=function(){if(this.view._rendered&&this.destroy(),this.el()){this.el().innerHTML="";var e=b.libraries.default.message;e.render&&e.render.apply(this,arguments)}return this},b.prototype.notes=function(e){return this.config.showDeprecationWarnings&&console.log(".notes() is deprecated. Use: new KeenDataviz({ notes: _your_value_here_ })"),arguments.length?(this.config.notes=e?String(e):null,this):this.config.notes},b.prototype.prepare=function(){var e=this;if(!this.el())throw this.config.container+" not found. A DOM parent element is required to mount the chart.";return O(function(){if(e.view._rendered&&e.destroy(),e.el()){e.el().innerHTML="";var t=b.libraries.default.spinner;t.render&&t.render.call(e),e.view._prepared=!0}}),this},b.prototype.render=function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:void 0,a=this;if(t){var n=t[0]||t;if(n.query&&n.query.interval&&n.query.timeframe&&"string"===n.query.timeframe&&n.query.timeframe.indexOf("this_")>-1&&this.config.partialIntervalIndicator&&void 0===this.config.partialIntervalIndicator.show&&(this.config.partialIntervalIndicator.show=!0),Array.isArray(t)){var c=t.map(function(e){return e.query.timeframe});return c.forEach(function(e){if(c.find(function(t){return JSON.stringify(t)!==JSON.stringify(e)})){var t="Timeframes of the queries should be the same";throw console.error(t),t}}),a.data(t[0]).call(function(){var n=function(e){return e.query.event_collection+" "+e.query.analysis_type},c=n(t[0]);a.config.labelMapping[c]&&(c=a.config.labelMapping[c]),e.dataset.deleteColumn(1);var o=!0,s=!1,r=void 0;try{for(var M,d=t[Symbol.iterator]();!(o=(M=d.next()).done);o=!0){var u=M.value;c=n(u);var _=i.Dataset.parser("interval")(u);a.dataset.appendColumn(c,_.selectColumn(1).slice(1))}}catch(e){s=!0,r=e}finally{try{!o&&d.return&&d.return()}finally{if(s)throw r}}}).render()}return a.data(t).render()}(this.config.labelMapping&&Object.keys(this.config.labelMapping).length>0||this.config.labelMappingRegExp&&this.config.labelMappingRegExp.length>0)&&z(a),this.config.labels&&Object.keys(this.config.labels).length>0&&f(a),this.config.sortGroups&&A(a),this.config.sortIntervals&&y(a);var o=b.libraries.default.spinner,s=this.config.library,r=this.config.type,M=this.el();if(!M||void 0===M){var d=this.config.container+" not found. A DOM parent element is required to mount the chart.";throw console.error(d),d}var u=a;return a.config.renderAsPromise&&(u=new Promise(function(t,n){var c=e.config.onrendered;a.config.onrendered=function(){c&&c(),t(a)}})),O(function(){if(a.view._prepared&&o.destroy&&o.destroy.apply(a,arguments),M.innerHTML="","undefined"===b.libraries[s]){var e="Incorrect library";throw a.message(e),e}if(void 0===b.libraries[s][r]){var t="Incorrect chart type",n=this.config.errorMapping[t]||t;throw a.message(n),t}if(function(e,t){var a="",n="";"top"!==t.legend.position&&"bottom"!==t.legend.position||(n="c3-chart-100-percent");var c='
',i="horizontal";"left"!==t.legend.position&&"right"!==t.legend.position||(i="vertical");t.legend&&t.legend.show&&(c="top"===t.legend.position||"left"===t.legend.position?'
'+c:c+'
');a+='
',t.title&&t.showTitle&&(a+='
'+t.title+"
");a+='
'+c+"
",t.notes&&(a+='
'+t.notes+"
");a+="
",e.innerHTML=a}(M,a.config),a.config.renderOnVisible&&"undefined"!=typeof IntersectionObserver){new IntersectionObserver(function(e,t){e.forEach(function(e){e.isIntersecting&&(a.view._rendered||(b.libraries[s][r].render.call(a),a.view._rendered=!0))})}).observe(M)}else{if("hidden"===a.config.firstVisibilityState&&"undefined"!=typeof document){var c=void 0,i=void 0;void 0!==document.hidden?(c="hidden",i="visibilitychange"):void 0!==document.msHidden?(c="msHidden",i="msvisibilitychange"):void 0!==document.webkitHidden&&(c="webkitHidden",i="webkitvisibilitychange");void 0===document.addEventListener&&void 0===c||document.addEventListener(i,function(){document[c]||a.view._artifacts.c3.load(a.dataset.matrix)},{once:!0})}b.libraries[s][r].render.call(a),a.view._rendered=!0}}),u},b.prototype.sortGroups=function(e){return this.config.showDeprecationWarnings&&console.log(".sortGroups() is deprecated. Use: new KeenDataviz({ sortGroups: _your_value_here_ })"),arguments.length?(this.config.sortGroups=e?String(e):null,A(this),this):this.config.sortGroups},b.prototype.sortIntervals=function(e){return this.config.showDeprecationWarnings&&console.log(".sortIntervals() is deprecated. Use: new KeenDataviz({ sortIntervals: _your_value_here_ })"),arguments.length?(this.config.sortIntervals=e?String(e):null,y(this),this):this.config.sortIntervals},b.prototype.stacked=function(e){return this.config.showDeprecationWarnings&&console.log(".stacked() is deprecated. Use: new KeenDataviz({ stacked: _your_value_here_ })"),arguments.length?(this.config.stacked=!!e,this):this.config.stacked},b.prototype.theme=function(e){return this.config.showDeprecationWarnings&&console.log(".theme() is deprecated. Use: new KeenDataviz({ theme: _your_value_here_ })"),arguments.length?(this.config.theme=e?String(e):null,this):this.config.theme},b.prototype.title=function(e){return this.config.showDeprecationWarnings&&console.log(".title() is deprecated. Use: new KeenDataviz({ title: _your_value_here_ })"),arguments.length?(this.config.title=e?String(e):null,this):this.config.title},b.prototype.type=function(e){return this.config.showDeprecationWarnings&&console.log(".type() is deprecated. Use: new KeenDataviz({ type: _your_value_here_ })"),arguments.length?(this.config.type=e?T(e):null,this):this.config.type},b.prototype.update=function(){var e=this.config.library,t=this.config.type,a=this.el();return e&&t&&a&&b.libraries[e][t].update&&b.libraries[e][t].update.apply(this,arguments),this},b.prototype.width=function(e){return this.config.showDeprecationWarnings&&console.log(".width() is deprecated - use CSS classes"),this},b.prototype.chartType=b.prototype.type,b.prototype.error=b.prototype.message,b.prototype.parseRawData=b.prototype.data,b.prototype.parseRequest=function(){return this},b.prototype.initialize=function(){return this},b.version=r.default.version,t.default=b},function(e,t){var a;a=function(){return this}();try{a=a||Function("return this")()||(0,eval)("this")}catch(e){"object"==typeof window&&(a=window)}e.exports=a},function(e,t,a){"use strict";(function(e){Object.defineProperty(t,"__esModule",{value:!0}),t.Dataset=t.Dataviz=t.keenGlobals=t.extendKeenGlobalObject=void 0;var n=a(161);Object.defineProperty(t,"Dataviz",{enumerable:!0,get:function(){return n.Dataviz}}),Object.defineProperty(t,"Dataset",{enumerable:!0,get:function(){return n.Dataset}});void 0!==e||("undefined"!=typeof self?self:"undefined"!=typeof window&&window),t.extendKeenGlobalObject=function(e){e.KeenDataviz=n.Dataviz,e.KeenDataset=n.Dataset,e.Keen=e.Keen||{},e.Keen.Dataset=n.Dataset,e.Keen.Dataviz=n.Dataviz};t.keenGlobals=void 0;"undefined"!=typeof webpackKeenGlobals&&(t.keenGlobals=webpackKeenGlobals),t.default=n.Dataviz}).call(this,a(162))}])}); +!function(i,r){"use strict";"object"==typeof e&&e.exports?e.exports=r(n(0)):(c=[n(0)],void 0===(o="function"==typeof(a=r)?a.apply(t,c):a)||(e.exports=o))}(0,function(e){"use strict";var t,n={},a={},c={},o={};e&&"string"==typeof e.version||k("Moment Timezone requires Moment.js. See https://momentjs.com/timezone/docs/#/use-it/browser/");var i=e.version.split("."),r=+i[0],s=+i[1];function d(e){return e>96?e-87:e>64?e-29:e-48}function M(e){var t=0,n=e.split("."),a=n[0],c=n[1]||"",o=1,i=0,r=1;for(45===e.charCodeAt(0)&&(t=1,r=-1);t3){var t=c[y(e)];if(t)return t;k("Moment Timezone found "+e+" from the Intl api, but did not have that data loaded.")}}catch(e){}var n,a,o,i=function(){var e,t,n,a=(new Date).getFullYear()-2,c=new m(new Date(a,0,1)),o=[c];for(n=1;n<48;n++)(t=new m(new Date(a,n,1))).offset!==c.offset&&(e=b(c,t),o.push(e),o.push(new m(new Date(e.at+6e4)))),c=t;for(n=0;n<4;n++)o.push(new m(new Date(a+n,0,1))),o.push(new m(new Date(a+n,6,1)));return o}(),r=i.length,s=z(i),d=[];for(a=0;a0?d[0].zone.name:void 0}function y(e){return(e||"").toLowerCase().replace(/\//g,"_")}function T(e){var t,a,o,i;for("string"==typeof e&&(e=[e]),t=0;t= 2.6.0. You are using Moment.js "+e.version+". See momentjs.com"),p.prototype={_set:function(e){this.name=e.name,this.abbrs=e.abbrs,this.untils=e.untils,this.offsets=e.offsets,this.population=e.population},_index:function(e){var t,n=+e,a=this.untils;for(t=0;ta&&D.moveInvalidForward&&(t=a),o= 2.9.0. You are using Moment.js "+e.version+"."),e.defaultZone=t?O(t):null,e};var v=e.momentProperties;return"[object Array]"===Object.prototype.toString.call(v)?(v.push("_z"),v.push("_a")):v&&(v._z=null),e})},function(e,t,n){(e.exports=n(146)).tz.load(n(143))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a,c=function(){return function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return function(e,t){var n=[],a=!0,c=!1,o=void 0;try{for(var i,r=e[Symbol.iterator]();!(a=(i=r.next()).done)&&(n.push(i.value),!t||n.length!==t);a=!0);}catch(e){c=!0,o=e}finally{try{!a&&r.return&&r.return()}finally{if(c)throw o}}return n}(e,t);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),o=Object.assign||function(e){for(var t=1;t';var O=!0,Y=!1,g=void 0;try{for(var k,D=T.entries()[Symbol.iterator]();!(O=(k=D.next()).done);O=!0){var q=k.value,N=c(q,2),W=N[0],v=N[1];if(e.config.timezone&&v instanceof Date){n+=""+r.default.tz(v,"UTC").clone().tz(e.config.timezone).toString()+""}else{var w=(0,s.escapeHtml)(v);m[W]?n+=""+f[m[W]](w)+"":n+=""+w+""}}}catch(e){Y=!0,g=e}finally{try{!O&&D.return&&D.return()}finally{if(Y)throw g}}n+=""}}catch(e){h=!0,z=e}finally{try{!L&&y.return&&y.return()}finally{if(h)throw z}}if(u>1){n+='';var S=1,X=1===d?1:d-1,B=d===u?u:d+1;for(i.arrows&&(n+='<');S<=u;)n+=''+S+"",S++;i.arrows&&(n+='>'),n+=""}return n}t.default={render:function(){var e=this,t=this.dataset.matrix,n=this.el(),a=this.config.theme,c=this,o="";if(1===t.length&&0===t[0].length){var i="No data to display",r=this.config.errorMapping[i]||i;this.config.showErrorMessages&&this.message(r)}else{o+='
',o+='',o+="",o+="",o+=function(e,t){var n="",a=-1,c=e.config.table&&e.config.table.columns||t[0],o=!0,i=!1,r=void 0;try{for(var d,M=c[Symbol.iterator]();!(o=(d=M.next()).done);o=!0){var u=d.value,l=(0,s.escapeHtml)(u);n+='"}}catch(e){i=!0,r=e}finally{try{!o&&M.return&&M.return()}finally{if(i)throw r}}return n}(c,t),o+="",o+="",o+="",o+=M(c,t),o+="",o+="
'+l+"
",o+="
",n.querySelector("."+a+"-rendering").innerHTML=o,n.querySelectorAll("."+a+"-rendering th").forEach(function(o){o.addEventListener("click",function(o){var i=o.target.getAttribute("order")||"asc",r=o.target.getAttribute("fieldNumber");i="asc"===i?"desc":"asc",o.target.setAttribute("order",i);var s=e.dataset.matrix.shift();e.dataset.matrix.sort(function(e,t){var n="asc"===i?1:-1;if("string"==typeof e[r]){var a=e[r].toUpperCase(),c=t[r].toUpperCase();return ac?1*n:0}return(e[r]-t[r])*n}),e.dataset.matrix.unshift(s),n.querySelector("."+a+"-rendering tbody").innerHTML=M(c,t),u()})});var u=function e(){n.querySelectorAll(".btn").forEach(function(o){o.addEventListener("click",function(o){d=parseInt(o.target.getAttribute("data-page")),n.querySelector("."+a+"-rendering tbody").innerHTML=M(c,t),e()},!0)})};u(c,n,a),this.config.onrendered&&this.config.onrendered()}},update:function(){this.render()},destroy:function(){}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=n(3),c=n(4);t.default={render:function(){this.config.colors[0];var e=this.config.theme,t=this.config.title,n=this.config,o="-",i="",r="",s="",d=void 0,M="",u="",l="",_="",p=this.config,m=p.results,f=p.previousResults;m&&f&&(M=f?" metric-comparison":"",_=f&&t?"-smaller":"",l=(u=m.result-f.result)>0?"-green":"-red",u=Math.abs(u)),"number"==typeof this.data()[1][1]&&(o=this.data()[1][1]),d=o,void 0!==n.prettyNumber&&!0!==n.prettyNumber||isNaN(parseInt(o))||(d=(0,a.prettyNumber)(o),m&&f&&(u=(0,a.prettyNumber)(u))),n.prefix&&(r=''+n.prefix+""),n.suffix&&(s=''+n.suffix+""),i+='
',i+='
',m&&f&&(i+='
'+(0,c.escapeHtml)(u)+"
"),i+='
'+r+(0,c.escapeHtml)(d)+s+"
",t&&(i+='
'+(0,c.escapeHtml)(t)+"
"),i+="
",i+="
",this.el().innerHTML=i,this.config.onrendered&&this.config.onrendered()},update:function(){this.render()},destroy:function(){}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=n(4);t.default={render:function(e){var t=document.createElement("div"),n=document.createElement("div"),c=document.createElement("span"),o=document.createElement("div"),i=document.createElement("div");t.className=this.config.theme+" keen-dataviz-box",n.className=this.config.theme+"-message",o.className=this.config.theme+"-title",o.innerHTML=(0,a.escapeHtml)(this.config.title||""),i.className=this.config.theme+"-notes",i.innerHTML=(0,a.escapeHtml)(this.config.notes||""),c.innerHTML=(0,a.escapeHtml)(e)||"",n.appendChild(c),this.config.title&&this.config.showTitle&&t.appendChild(o),t.appendChild(n),this.config.notes&&t.appendChild(i),this.el().innerHTML="",this.el().appendChild(t)},update:function(){this.render()},destroy:function(){}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,n,c){for(var o=void 0,i=void 0,r=this.config.tooltip_format_name||function(e){return e},s=this.config.tooltip_format_title||t,d=this.config.tooltip_format_value||n,M=0;M"+(i||0===i?""+(0,a.escapeHtml)(i)+"":""));var u=r(e[M].name),l=d(e[M].value,e[M].ratio,e[M].id,e[M].index),_=this.levelColor?this.levelColor(e[M].value):c(e[M].id);l&&(o+="",-1===u.indexOf("__tooltip_ignore_name_field__")&&(o+=""+(0,a.escapeHtml)(u)+""),o+=""+(0,a.escapeHtml)(l)+"",o+="")}return o+""};var a=n(4)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=Object.assign||function(e){for(var t=1;t"+n+"",a.chartPartId=t,a.setAttribute("class","legend-item"),m.append(a);var o=document.createElement("span");o.setAttribute("class","legend-item-color-sample"),o.style.backgroundColor=c.color(a.chartPartId),a.prepend(o);var i=document.createElement("div");a.addEventListener("mouseover",function(t){c.focus(a.chartPartId),s.tooltip.show&&a.chartPartId.length>s.label.textMaxLength&&(i.setAttribute("class","keen-c3-legend-label-overlay keen-c3-legend-position-"+s.position),i.innerHTML=(e.legend.tooltip.pointer?"
":"")+a.chartPartId,a.append(i))}),a.addEventListener("mouseout",function(e){c.revert(),i.remove()}),a.addEventListener("click",function(e){var t=1,n=d.hidden.indexOf(a.chartPartId);n<0?(d.hidden.push(a.chartPartId),t=.35):(d.hidden.splice(n,1),t=1),a.style.opacity=t,c.toggle(a.chartPartId)})}),e.onLegendRendered&&(e.onLegendRendered(),e.onLegendRendered=null)}.call(n,d.labels),d.total>d.limit&&function(){f.innerHTML="",p.innerHTML="",b.innerHTML="";var e=document.createElement("i"),t=document.createElement("i"),n=function(e){if("forward"===e){var t=d.offset+d.limit;return t=0?n:Math.floor(d.total/d.limit)*d.limit};t.addEventListener("click",function(){n("forward"),L(),h()}),e.addEventListener("click",function(){n("backward"),L(),h()}),"left"===s.position||"right"===s.position?(e.setAttribute("class","up"),t.setAttribute("class","down"),f.append(t),f.append(e)):(e.setAttribute("class","left"),t.setAttribute("class","right"),p.append(e),b.append(t))}.call(n),e.onPaginated&&e.onPaginated()}function h(){document.selection&&document.selection.empty?document.selection.empty():window.getSelection&&window.getSelection().removeAllRanges()}b.setAttribute("class","keen-c3-legend-pagination-icons keen-c3-legend-horizontal-pagination-right"),"horizontal"===_&&l.append(b),L()};!function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);t.default=e}(n(2));var c,o=n(7),i=(c=o)&&c.__esModule?c:{default:c}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){var n=Math.abs(new Date(e).getTime()-new Date(t).getTime()),a=["Jan","Feb","Mar","Apr","May","June","July","Aug","Sept","Oct","Nov","Dec"];return n>=24192e5?function(e){var t=new Date(e);return a[t.getMonth()]+" "+t.getFullYear()}:n>=864e5?function(e){var t=new Date(e);return a[t.getMonth()]+" "+t.getDate()}:n>=36e5?"%I:%M %p":"%I:%M:%S %p"}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=Object.assign||function(e){for(var t=1;t12?1e3:250;t=setTimeout(function(){(0,o.each)(e.visuals,function(e){e.view._artifacts.c3&&e.view._artifacts.c3.resize()})},n)}),c.default.chart&&c.default.chart.internal&&c.default.chart.internal.fn&&(c.default.chart.internal.fn.horizontalDistance=function(e,t){var n=this.config.axis_rotated?1:0,a=this.x(e.x);return Math.abs(a-t[n])},c.default.chart.internal.fn.findClosest=function(e,t){var n,a=c.default.chart.internal.fn.CLASS,o=this,i=o.config.point_sensitivity;i=1/0;return e.filter(function(e){return e&&o.isBarType(e.id)}).forEach(function(e){var t=o.main.select("."+a.bars+o.getTargetSelectorSuffix(e.id)+" ."+a.bar+"-"+e.index).node();!n&&o.isWithinBar(o.d3.mouse(t),t)&&(n=e)}),e.filter(function(e){return e&&!o.isBarType(e.id)}).forEach(function(e){var a=o.dist(e,t);(a=o.horizontalDistance(e,t))0?c:void 0}};return(0,i.extendDeep)({},d,this.config,e)}.call(this);if(this.config.clearOnRender&&u.data.columns.length>0&&u.data.columns.splice(1),1!==this.data()[0].length&&1!==this.data().length){var l=!1;if("gauge"===n?(u.legend.show=!1,u.data.columns=[[this.config.title||this.data()[1][0],this.data()[1][1]]],l=!0):"pie"===n||"donut"===n?u.data.columns=this.data().slice(1):(n.indexOf("horizontal-")>-1&&(u.axis.rotated=n.indexOf("horizontal-")>-1),(0,r.default)(this.data()[1][0])?(u.axis.x=u.axis.x||{},u.axis.x.type="timeseries",u.axis.x.tick=u.axis.x.tick||{format:this.config.dateFormat||(0,s.default)(this.data()[1][0],this.data()[2]?this.data()[2][0]:this.data()[1][0]),culling:{max:5}},u.data.columns[0]=[],(0,o.each)(this.dataset.selectColumn(0),function(e,t){t>0&&(e=new Date(e)),u.data.columns[0][t]=e}),u.data.columns[0][0]="x",u.data.x="x",this.config.stacked&&this.data()[0].length>2&&(u.data.groups=[this.dataset.selectRow(0).slice(1)])):(u.axis.x=u.axis.x||{},u.axis.x.type="category",u.axis.x.categories=this.dataset.selectColumn(0).slice(1),this.config.stacked&&this.data()[0].length>2&&(u.data.groups=[this.dataset.selectRow(0).slice(1)])),2===this.data()[0].length&&(u.legend.show=!1,l=!0),(0,o.each)(this.data()[0],function(e,t){t>0&&u.data.columns.push(this.dataset.selectColumn(t))}.bind(this))),l){var _=this.el().querySelector(".keen-c3-legend");_&&(_.remove(),u.size.width=this.el().querySelector(".c3-chart").offsetWidth),u.legend.show=!1}if(u.partialIntervalIndicator&&u.partialIntervalIndicator.show&&["area","area-spline","area-step","line","spline","step"].indexOf(u.type)>-1){var p=u.data.columns&&u.data.columns[0];if(p&&p.length>1){var m={axis:"x",start:new Date(p[p.length-2]),class:u.partialIntervalIndicator.className};u.regions=[].concat(function(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t-1?e:void 0}.call(e,t,n,a,c);return e.config.tooltip&&e.config.tooltip.format&&e.config.tooltip.format.value&&(o=e.config.tooltip.format.value.call(e,o,n,a,c)),o}}}),!0===u.legend.show){var f=a({},u);f.data.color=function(e,t){var n=this.config.type;if(this.view._artifacts.pagination&&"gauge"!==n){var a=this.view._artifacts.pagination.labels;return t.id&&a.indexOf(t.id)>-1||t&&!t.id&&a.indexOf(t)>-1?e:"donut"===n||"pie"===n?"rgba(0,0,0,.1)":"rgba(0,0,0,.07)"}return e}.bind(this),f.legend.hide=!0,this.view._artifacts.c3=c.default.generate(f),d.default.call(this,a({},u,{onLegendRendered:function(){var n=e.el().querySelector(".keen-c3-legend");n&&("top"===u.legend.position||"bottom"===u.legend.position?(f.size.height-=n.offsetHeight,e.view._artifacts.c3.resize({height:f.size.height})):(0===f.size.width&&(f.size.width=e.el().offsetWidth-t(e.el(),"Left")-t(e.el(),"Right")),f.size.width-=n.offsetWidth,e.view._artifacts.c3.resize({width:f.size.width})))},onPaginated:function(){e.view._artifacts.c3.flush()}}))}else this.view._artifacts.c3=c.default.generate(u)}else{var b="No data to display",L=this.config.errorMapping[b]||b;this.config.showErrorMessages&&this.message(L)}},update:function(){this.render()},destroy:function(){this.view._artifacts.c3&&(this.view._artifacts.c3.destroy(),this.view._artifacts.c3=null)}}}),e}()};var c=h(n(135)),o=n(1),i=(n(6),n(134)),r=h(n(7)),s=h(n(153)),d=h(n(152)),M=h(n(151)),u=h(n(150)),l=h(n(149)),_=h(n(148)),p=h(n(142)),m=h(n(141)),f=h(n(140)),b=h(n(139)),L=h(n(138));function h(e){return e&&e.__esModule?e:{default:e}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return arguments.length?e instanceof o.default?(this.dataset=e,this):function(e){var t,n,a,c,s,d,M,u,l=[];n=this.config.indexBy,a=e.metadata||{},s=void 0!==e.query?e.query:{},"funnel"===(s=(0,i.extend)({analysis_type:null,event_collection:null,filters:[],group_by:null,interval:null,timeframe:null,timezone:null},s)).analysis_type?c="funnel":"extraction"===s.analysis_type?c="extraction":"select_unique"===s.analysis_type?s.group_by||s.interval||(c="list"):s.analysis_type&&(s.group_by||s.interval?s.group_by&&!s.interval?s.group_by instanceof Array&&s.group_by.length>1?(c="double-grouped-metric",l.push(s.group_by)):c="grouped-metric":s.interval&&!s.group_by?(c="interval",l.push(n)):s.group_by&&s.interval&&(s.group_by instanceof Array&&s.group_by.length>1?(c="double-grouped-interval",l.push(s.group_by),l.push(n)):(c="grouped-interval",l.push(n))):c="metric");c||("number"==typeof e.result&&(c="metric"),e.result instanceof Array&&e.result.length>0&&(!e.result[0].timeframe||"number"!=typeof e.result[0].value&&null!=e.result[0].value||(c="interval",l.push(n)),"number"==typeof e.result[0].result&&(c="grouped-metric"),e.result[0].value instanceof Array&&(c="grouped-interval",l.push(n)),"number"==typeof e.result[0]&&void 0!==e.steps&&(c="funnel",s.steps=e.steps),"string"!=typeof e.result[0]&&"number"!=typeof e.result[0]||void 0!==e.steps||(c="list"),c||(c="extraction")),c||(c="extraction"));void 0===this.config.title&&(M=a.display_name?a.display_name:function(e){var t,n=e.analysis_type?e.analysis_type.replace("_"," "):"";t=n.replace(/\b./g,function(e){return e.toUpperCase()}),e.event_collection&&(t+=" - "+e.event_collection);return t}(s),this.config.title=M);this.config.type||(u=a.visualization&&a.visualization.chart_type?a.visualization.chart_type:function(e){var t=void 0;switch(e){case"metric":t="metric";break;case"interval":t="area";break;case"grouped-metric":case"double-grouped-metric":t="bar";break;case"grouped-interval":case"double-grouped-interval":t="line";break;case"funnel":t="horizontal-bar";break;case"list":case"extraction":default:t="table"}return t}(c),this.config.type=u);d=o.default.parser.apply(this,[c].concat(l)),t=d((0,i.extend)(e,{query:s})),c.indexOf("interval")>-1&&t.updateColumn(0,function(e,t){return new Date(e)});return t.updateRow(0,function(e,t){return(0,r.stripHtmlTags)(e)}),this.dataset=t,this}.call(this,e):this.dataset.data()};var a,c=n(137),o=(a=c)&&a.__esModule?a:{default:a},i=n(6),r=n(8)},function(e){e.exports={name:"keen-dataviz",description:"Data Visualization SDK for Keen IO",license:"MIT",version:"3.3.0",main:"dist/external_d3_c3/node/keen-dataviz.js",browser:"dist/external_d3_c3/keen-dataviz.js",style:"dist/keen-dataviz.css",scripts:{start:'concurrently --kill-others "NODE_ENV=development webpack-dev-server" "npm run postcss-watch"',"postcss-watch":"node_modules/postcss-cli/bin/postcss lib/style/keen-dataviz-c3.css -o test/demo/keen-dataviz.css --watch --config postcss.config.js",build:"NODE_ENV=production webpack -p && npm run build:css && NODE_ENV=production OPTIMIZE_MINIMIZE=1 webpack -p && npm run build:css && npm run build:css:min && npm run build:external_d3_c3 && npm run build:external_d3_c3:css && npm run build:external_d3_c3:css:min && npm run build:node","build:css":"node_modules/postcss-cli/bin/postcss lib/style/keen-dataviz-c3.css -o dist/keen-dataviz.css --config postcss.config.js","build:css:min":"OPTIMIZE_MINIMIZE=1 node_modules/postcss-cli/bin/postcss lib/style/keen-dataviz-c3.css -o dist/keen-dataviz.min.css --config postcss.config.js","build:external_d3_c3:css":"node_modules/postcss-cli/bin/postcss lib/style/keen-dataviz.css -o dist/external_d3_c3/keen-dataviz.css --config postcss.config.js","build:external_d3_c3:css:min":"OPTIMIZE_MINIMIZE=1 node_modules/postcss-cli/bin/postcss lib/style/keen-dataviz.css -o dist/external_d3_c3/keen-dataviz.min.css --config postcss.config.js","build:external_d3_c3":"NODE_ENV=production EXTERNAL_D3_C3=1 webpack -p && NODE_ENV=production EXTERNAL_D3_C3=1 OPTIMIZE_MINIMIZE=1 webpack -p","build:node":"TARGET=node NODE_ENV=production EXTERNAL_D3_C3=1 webpack -p",profile:"webpack --profile --json > stats.json",analyze:"webpack-bundle-analyzer stats.json /dist",version:"npm run build && git add .",postversion:"git push && git push --tags",test:"NODE_ENV=test jest","test:watch":"NODE_ENV=test jest --watch"},repository:{type:"git",url:"https://github.com/keen/keen-dataviz.js.git"},bugs:"https://github.com/keen/keen-dataviz.js/issues",author:"Keen.IO (https://keen.io/)",contributors:["Dustin Larimer (https://github.com/dustinlarimer)","Joanne Cheng (https://github.com/joannecheng)","Eric Anderson (https://github.com/aroc)","Joe Wegner (https://github.com/josephwegner)","Sara Falkoff (https://github.com/adamkasprowicz)","Dariusz Łacheta (https://github.com/dariuszlacheta)"],homepage:"https://keen.io",keywords:["d3","c3","Analytics","Stats","Statistics","Visualization","Visualizations","Data Visualization","Chart","Charts","Charting","Svg","Dataviz","Plots","Graphs","Funnels"],dependencies:{c3:"^0.6.12",d3:"^5.4.0","moment-timezone":"^0.5.21","promise-polyfill":"^8.0.0"},devDependencies:{autoprefixer:"^8.2.0","babel-loader":"^7.1.4","babel-plugin-transform-es2015-modules-commonjs":"^6.26.2","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-preset-env":"^1.7.0",concurrently:"^3.5.1",cssnano:"^3.10.0",eslint:"^4.19.1","eslint-config-airbnb":"^16.1.0","eslint-loader":"^2.0.0","eslint-plugin-import":"^2.11.0","eslint-plugin-jsx-a11y":"^6.0.3","eslint-plugin-react":"^7.7.0","html-loader":"^0.5.5","html-webpack-plugin":"^3.2.0",jest:"^22.4.3","jest-environment-jsdom-c3":"^2.0.0",nock:"^9.2.6",postcss:"^6.0.21","postcss-cli":"^5.0.0","postcss-color-function":"^4.0.1","postcss-css-variables":"^0.8.1","postcss-cssnext":"^2.4.0","postcss-import":"^8.0.2","postcss-loader":"^2.1.3",precss:"^3.1.2","regenerator-runtime":"^0.11.1","replace-in-file":"^3.4.0","style-loader":"^0.20.3",webpack:"^4.5.0","webpack-bundle-analyzer":"^2.11.1","webpack-cli":"^2.0.13","webpack-dev-server":"^3.1.1","xhr-mock":"^2.3.2"}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.valueAtDeepKey=function e(t,n,a){return"string"==typeof n?e(t,n.split("."),a):1==n.length&&void 0!==a&&null!==t&&void 0!==t[n[0]]?t[n[0]]=a:0==n.length?t:void 0===n||void 0===t||null===n||null===t||void 0===t[n[0]]?null:e(t[n[0]],n.slice(1),a)}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};t.flatten=function e(t){var n={};for(var c in t)if(t.hasOwnProperty(c))if("object"==a(t[c])&&null!==t[c]){var o=e(t[c]);for(var i in o)o.hasOwnProperty(i)&&(n[c+"."+i]=o[i])}else n[c]=t[c];return n}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return i=e,function(e){var t=Array.prototype.slice.call(arguments,1);if(r[e])return r[e].apply(this,t);throw"Requested parser does not exist"}};var a=n(1),c=n(158),o=n(157),i=void 0;var r={metric:function(){return function(e){return(new i).set(["Value","Result"],e.result).type("metric")}},interval:function(){var e=Array.prototype.slice.call(arguments);return function(t){var n=(new i).type("interval");return(0,a.each)(t.result,function(t,a){var c=e[0]&&"timeframe.end"===e[0]?t.timeframe.end:t.timeframe.start;n.set(["Result",c],t.value)}),n}},"grouped-metric":function(){return function(e){var t=(new i).type("grouped-metric");return(0,a.each)(e.result,function(e,n){var c;(0,a.each)(e,function(e,t){"result"!==t&&(c=t)}),t.set(["Result",String(e[c])],e.result)}),t}},"grouped-interval":function(){var e=Array.prototype.slice.call(arguments);return function(t){var n=(new i).type("grouped-interval");return(0,a.each)(t.result,function(t,c){var o=e[0]&&"timeframe.end"===e[0]?t.timeframe.end:t.timeframe.start;t.value.length?(0,a.each)(t.value,function(e,t){var c;(0,a.each)(e,function(e,t){"result"!==t&&(c=t)}),n.set([String(e[c]),o],e.result)}):n.appendRow(o)}),n}},"double-grouped-metric":function(){var e=Array.prototype.slice.call(arguments);if(!e[0])throw"Requested parser requires a sequential list (array) of properties to target as a second argument";return function(t){var n=(new i).type("double-grouped-metric");return(0,a.each)(t.result,function(t,a){var c=t[e[0][0]]+" "+t[e[0][1]];n.set(["Result",c],t.result)}),n}},"double-grouped-interval":function(){var e=Array.prototype.slice.call(arguments);if(!e[0])throw"Requested parser requires a sequential list (array) of properties to target as a second argument";return function(t){var n=(new i).type("double-grouped-interval");return(0,a.each)(t.result,function(t,c){var o=e[1]&&"timeframe.end"===e[1]?t.timeframe.end:t.timeframe.start;(0,a.each)(t.value,function(t,a){var c=t[e[0][0]]+" "+t[e[0][1]];n.set([c,o],t.result)})}),n}},funnel:function(){return function(e){var t,n,c;return void 0!==e.steps&&void 0!==e.result&&e.result instanceof Array?(t=e.result,n=e.steps):void 0!==e.result.steps&&void 0!==e.result.result&&e.result.result instanceof Array&&(t=e.result.result,n=e.result.steps),(c=(new i).type("funnel")).appendColumn("Step Value"),(0,a.each)(t,function(e,t){void 0!==n&&n[t]&&c.appendRow(String(n[t].event_collection),[e])}),c}},list:function(){return function(e){var t=(new i).type("list");return(0,a.each)(e.result,function(e,n){t.set(["Result",String(n+1)],e)}),t}},extraction:function(){var e=this.config;return function(t){for(var n=(new i).type("extraction"),r=function(e){var o=t.result[e];(0,a.each)((0,c.flatten)(o),function(t,a){n.set([a,String(e+1)],t)})},s=0;s<1;s++)r(s);var d=Object.keys((0,c.flatten)(t.result[0]));for(i&&e&&e.table&&e.table.columns&&(d=e.table.columns),s=0;s-1&&("function"==typeof t?(0,c.each)(n.data(),function(e,c){var o;c>0&&void 0!==(o=t.call(n,e[a],c,e))&&(n.matrix[c][a]=o)}):(!t||t instanceof Array)&&((t=t||[]).length<=n.data().length-1?t=t.concat((0,i.default)(n.data().length-1-t.length)):(0,c.each)(t,function(e,a){n.matrix.length-1-1&&("function"==typeof t?(0,c.each)(n.data()[a],function(e,c){var o=n.selectColumn(c),i=t.call(n,e,c,o);void 0!==i&&(n.matrix[a][c]=i)}):(!t||t instanceof Array)&&((t=t||[]).length<=n.matrix[0].length-1?t=t.concat((0,i.default)(n.matrix[0].length-1-t.length)):(0,c.each)(t,function(e,a){n.matrix[0].length-1r.call(n,a);return c?"asc"===e?1:-1:c?0:"asc"===e?-1:1}),(0,c.each)(o,function(e,t){n.deleteColumn(t+1).insertColumn(t+1,e[0],e.slice(1))}),n},t.sortRows=function(e,t){var n=this,a=this.matrix.slice(0,1),c=this.matrix.slice(1),o=t||i.default.getRowIndex;return c.sort(function(t,a){var c=o.call(n,t)>o.call(n,a);return c?"asc"===e?1:-1:c?0:"asc"===e?-1:1}),n.data(a.concat(c)),n};var a,c=n(1),o=n(136),i=(a=o)&&a.__esModule?a:{default:a}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.selectColumn=function(e){var t=[],n="number"==typeof e?e:this.matrix[0].indexOf(e);n>-1&&void 0!==this.matrix[0][n]&&(0,a.each)(this.matrix,function(e,a){t.push(e[n])});return t},t.selectRow=function(e){var t=[],n="number"==typeof e?e:this.selectColumn(0).indexOf(e);n>-1&&void 0!==this.matrix[n]&&(t=this.matrix[n]);return t};var a=n(1)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.insertColumn=function(e,t,n){var a=this,o=void 0!==t?t:null;"function"==typeof n?(a.matrix[0].splice(e,0,o),(0,c.each)(a.matrix,function(t,c){var o;c>0&&(void 0===(o=n.call(a,t,c))&&(o=null),a.matrix[c].splice(e,0,o))})):(!n||n instanceof Array)&&((n=n||[]).length<=a.matrix.length-1?n=n.concat((0,i.default)(a.matrix.length-1-n.length)):(0,c.each)(n,function(e,t){a.matrix.length-10&&(c=a.selectColumn(t),void 0===(i=n.call(a,c,t))&&(i=null),o.push(i))}),a.matrix.splice(e,0,o)):(!n||n instanceof Array)&&((n=n||[]).length<=a.matrix[0].length-1?n=n.concat((0,i.default)(a.matrix[0].length-1-n.length)):(0,c.each)(n,function(e,t){a.matrix[0].length-1-1&&(0,a.each)(t.matrix,function(e,a){t.matrix[a].splice(n,1)});return t},t.deleteRow=function(e){var t="number"==typeof e?e:this.selectColumn(0).indexOf(e);t>-1&&this.matrix.splice(t,1);return this};var a=n(1)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Dataset=t.Dataviz=void 0;var a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},c=Object.assign||function(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:{};if(this instanceof e==!1)return new e(n);this.c3=r.default,this.d3=i;var a=(f(t={showDeprecationWarnings:!0,showLoadingSpinner:!1,container:void 0,containerElement:void 0,title:void 0,showTitle:!0,notes:void 0,theme:"keen-dataviz",colors:["#00bbde","#fe6672","#eeb058","#8a8ad6","#ff855c","#00cfbb","#5a9eed","#73d483","#c879bb","#0099b6","#d74d58","#cb9141","#6b6bb6","#d86945","#00aa99","#4281c9","#57b566","#ac5c9e","#27cceb","#ff818b","#f6bf71","#9b9be1","#ff9b79","#26dfcd","#73aff4","#87e096","#d88bcb"],colorMapping:{},indexBy:"timeframe.start",labels:[],labelMapping:{},labelMappingRegExp:void 0,errorMapping:{},showErrorMessages:!0,library:"default",sortGroups:void 0,sortIntervals:void 0,results:void 0,type:void 0,stacked:!1,dateFormat:void 0,legend:{show:!0,position:"right",label:{textMaxLength:12},pagination:{offset:0,limit:5},tooltip:{show:!0,pointer:!0},sort:void 0},axis:{},color:{},data:{order:null},size:{},padding:{top:15},point:{focus:{expand:{enabled:!1}},r:2,show:!0},tooltip:{format:{}},transition:{}},"data",{selection:{enabled:!0,draggable:!0,multiple:!0}}),f(t,"grid",{y:{show:!0}}),f(t,"partialIntervalIndicator",{show:void 0,className:"partial-interval-indicator"}),f(t,"timezone","UTC"),f(t,"table",{}),f(t,"renderOnVisible",!1),f(t,"funnel",{lines:!0,resultValues:!0,percents:{show:!1,countingMethod:"absolute",decimals:0},marginBetweenElements:!1,hover:!0,effect3d:"both-sides"}),t);this.config=c({},(0,p.extendDeep)(a,n)),this.config.type&&(this.config.type=T(this.config.type)),this.config.container&&this.el(this.config.container),void 0===n.legend||n.legend||(this.config.legend=c({},n,{show:!1})),n.color&&n.color.pattern&&(this.config.colors=n.color.pattern),this.config.legend&&this.config.legend.tooltip&&!1===this.config.legend.tooltip.show&&void 0===this.config.tooltip.show&&(this.config.tooltip={show:!1}),n.color&&n.color.pattern&&(this.config.colors=n.color.pattern),this.dataset=new o.Dataset(this.config),this.view={_prepared:!1,_rendered:!1,_artifacts:{}},e.visuals.push(this),this.config.showLoadingSpinner&&this.prepare(),this.config.results&&this.render(this.config.results),this.config.firstVisibilityState=document.visibilityState};function L(e){2!==e.data()[0].length||(0,u.default)(e.data()[1][0])?e.dataset.updateRow(0,function(t,n){return n>0&&e.config.labels[n-1]?(0,l.stripHtmlTags)(String(e.config.labels[n-1])):(0,l.stripHtmlTags)(t)}.bind(e)):e.dataset.updateColumn(0,function(t,n){return e.config.labels[n-1]?(0,l.stripHtmlTags)(String(e.config.labels[n-1])):(0,l.stripHtmlTags)(t)}.bind(e))}function h(e){var t=e.datavizInstance,n=e.value;if(t.config.labelMappingRegExp){var a=n;return t.config.labelMappingRegExp.forEach(function(e){e.length>1&&(e[0].test(n)&&(a=e[1]))}),(0,l.stripHtmlTags)(a)}return t.config.labelMapping[n]?(0,l.stripHtmlTags)(String(t.config.labelMapping[n])):(0,l.stripHtmlTags)(n)}function z(e){e.config.labelMappingDimension||(2!==e.data()[0].length||(0,u.default)(e.data()[1][0])?e.config.labelMappingDimension="column":e.config.labelMappingDimension="row"),"row"!==e.config.labelMappingDimension&&"both"!==e.config.labelMappingDimension||e.dataset.updateColumn(0,function(t){return h({datavizInstance:e,value:t})}.bind(e)),"column"!==e.config.labelMappingDimension&&"both"!==e.config.labelMappingDimension||e.dataset.updateRow(0,function(t){return h({datavizInstance:e,value:t})}.bind(e))}function A(e){e.config.sortGroups&&e.data().length>1&&((0,u.default)(e.data()[1][0])?e.dataset.sortColumns(e.config.sortGroups,e.dataset.getColumnSum):e.dataset.sortRows(e.config.sortGroups,e.dataset.getRowSum))}function y(e){e.config.sortIntervals&&e.dataset.sortRows(e.config.sortIntervals)}function T(e){return{areachart:"area",barchart:"horizontal-bar",columnchart:"bar",linechart:"line",piechart:"pie"}[e]||e}function O(e){"undefined"==typeof document&&"undefined"!=typeof window?(null==document.readyState&&document.addEventListener&&(document.addEventListener("DOMContentLoaded",function e(){document.removeEventListener("DOMContentLoaded",e,!1),document.readyState="complete"},!1),document.readyState="loading"),function e(t){/in/.test(document.readyState)?setTimeout(function(){e(t)},9):t()}(e)):e()}b.libraries={default:{}},"undefined"!=typeof window&&(b.libraries.default=(0,_.default)(b)),b.visuals=[],b.register=function(e,t){b.libraries[e]=b.libraries[e]||{},(0,M.each)(t,function(t,n){b.libraries[e][n]=t})},b.find=function(e){if(!arguments.length)return b.visuals;var t=e.nodeName?e:document.querySelector(e),n=null;return(0,M.each)(b.visuals,function(e){if(t==e.config.container)return n=e,!1}),n},b.prototype.attributes=function(e){if(this.config.showDeprecationWarnings&&console.log(".attributes() is deprecated. Use: new KeenDataviz({ _your_value_here_ })"),!arguments.length)return this.config;var t=this.config;return(0,M.each)(e,function(e,n){"chartType"===n&&(n="type"),t[n]=e}),this},b.prototype.call=function(e){return e.call(this),this},b.prototype.chartOptions=function(e){return this.config.showDeprecationWarnings&&console.log(".chartOptions() is deprecated. Use: new KeenDataviz({ _your_value_here_ })"),arguments.length?(this.config=(0,p.extendDeep)(this.config,e),this):this.config},b.prototype.colors=function(e){return this.config.showDeprecationWarnings&&console.log(".colors() is deprecated. Use: new KeenDataviz({ colors: _your_value_here_ })"),arguments.length?(this.config.colors=e instanceof Array?e:[],this):this.config.colors},b.prototype.colorMapping=function(e){this.config.showDeprecationWarnings&&console.log(".colorMapping() is deprecated. Use: new KeenDataviz({ colorMapping: _your_value_here_ })");var t=this;return arguments.length?(null===e?this.config.colorMapping={}:"object"===(void 0===e?"undefined":a(e))&&(0,M.each)(e,function(e,n){t.config.colorMapping[n]=e||null}),this):this.config.colorMapping},b.prototype.data=d.default,b.prototype.dateFormat=function(e){return this.config.showDeprecationWarnings&&console.log(".dateFormat() is deprecated. Use: new KeenDataviz({ dateFormat: _your_value_here_ })"),arguments.length?(this.config.dateFormat="string"==typeof e||"function"==typeof e?e:void 0,this):this.config.dateFormat},b.prototype.destroy=function(){var e=this.library(),t=this.config.type,n=this.el();return b.libraries[e]&&b.libraries[e][t]&&b.libraries[e][t].destroy.call(this),n&&(n.innerHTML=""),this.view._prepared=!1,this.view._rendered=!1,this.view._artifacts={},this},b.prototype.el=function(e){var t=this;return arguments.length?(O(function(){e&&null!==e?e.nodeName?t.config.containerElement=e:document.querySelector&&(t.config.containerElement=document.querySelector(e)):t.config.containerElement=void 0}),this):this.config.containerElement},b.prototype.height=function(e){return this.config.showDeprecationWarnings&&console.log(".height() is deprecated - use CSS classes"),this},b.prototype.indexBy=function(e){return this.config.showDeprecationWarnings&&console.log(".indexBy() is deprecated. Use: new KeenDataviz({ indexBy: _your_value_here_ })"),arguments.length?(this.config.indexBy=e?String(e):"timeframe.start",this):this.config.indexBy},b.prototype.labels=function(e){return this.config.showDeprecationWarnings&&console.log(".labels() is deprecated. Use: new KeenDataviz({ labels: _your_value_here_ })"),arguments.length?(this.config.labels=e instanceof Array?e:[],L(this),this):this.config.labels},b.prototype.labelMapping=function(e){return this.config.showDeprecationWarnings&&console.log(".labelMapping() is deprecated. Use: new KeenDataviz({ labelMapping: _your_value_here_ })"),arguments.length?(null===e?this.config.labelMapping={}:"object"===(void 0===e?"undefined":a(e))&&(0,M.each)(e,function(e,t){this.config.labelMapping[t]=e||null}.bind(this)),z(this),this):this.config.labelMapping},b.prototype.library=function(e){return arguments.length?(this.config.library=e?String(e):null,this):this.config.library},b.prototype.message=function(){if(this.view._rendered&&this.destroy(),this.el()){this.el().innerHTML="";var e=b.libraries.default.message;e.render&&e.render.apply(this,arguments)}return this},b.prototype.notes=function(e){return this.config.showDeprecationWarnings&&console.log(".notes() is deprecated. Use: new KeenDataviz({ notes: _your_value_here_ })"),arguments.length?(this.config.notes=e?String(e):null,this):this.config.notes},b.prototype.prepare=function(){var e=this;if(!this.el())throw this.config.container+" not found. A DOM parent element is required to mount the chart.";return O(function(){if(e.view._rendered&&e.destroy(),e.el()){e.el().innerHTML="";var t=b.libraries.default.spinner;t.render&&t.render.call(e),e.view._prepared=!0}}),this},b.prototype.render=function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:void 0,n=this;if(t){var a=t[0]||t;if(a.query&&a.query.interval&&a.query.timeframe&&"string"===a.query.timeframe&&a.query.timeframe.indexOf("this_")>-1&&this.config.partialIntervalIndicator&&void 0===this.config.partialIntervalIndicator.show&&(this.config.partialIntervalIndicator.show=!0),Array.isArray(t)){var c=t.map(function(e){return e.query.timeframe});return c.forEach(function(e){if(c.find(function(t){return JSON.stringify(t)!==JSON.stringify(e)})){var t="Timeframes of the queries should be the same";throw console.error(t),t}}),n.data(t[0]).call(function(){var a=function(e){return e.query.event_collection+" "+e.query.analysis_type},c=a(t[0]);n.config.labelMapping[c]&&(c=n.config.labelMapping[c]),e.dataset.deleteColumn(1);var i=!0,r=!1,s=void 0;try{for(var d,M=t[Symbol.iterator]();!(i=(d=M.next()).done);i=!0){var u=d.value;c=a(u);var l=o.Dataset.parser("interval")(u);n.dataset.appendColumn(c,l.selectColumn(1).slice(1))}}catch(e){r=!0,s=e}finally{try{!i&&M.return&&M.return()}finally{if(r)throw s}}}).render()}return n.data(t).render()}(this.config.labelMapping&&Object.keys(this.config.labelMapping).length>0||this.config.labelMappingRegExp&&this.config.labelMappingRegExp.length>0)&&z(n),this.config.labels&&Object.keys(this.config.labels).length>0&&L(n),this.config.sortGroups&&A(n),this.config.sortIntervals&&y(n);var i=b.libraries.default.spinner,r=this.config.library,s=this.config.type,d=this.el();if(!d||void 0===d){var M=this.config.container+" not found. A DOM parent element is required to mount the chart.";throw console.error(M),M}var u=n;return n.config.renderAsPromise&&(u=new Promise(function(t,a){var c=e.config.onrendered;n.config.onrendered=function(){c&&c(),t(n)}})),O(function(){if(n.view._prepared&&i.destroy&&i.destroy.apply(n,arguments),d.innerHTML="","undefined"===b.libraries[r]){var e="Incorrect library";throw n.message(e),e}if(void 0===b.libraries[r][s]){var t="Incorrect chart type",a=this.config.errorMapping[t]||t;throw n.message(a),t}if(function(e,t){var n="",a="";"top"!==t.legend.position&&"bottom"!==t.legend.position||(a="c3-chart-100-percent");var c='
',o="horizontal";"left"!==t.legend.position&&"right"!==t.legend.position||(o="vertical");t.legend&&t.legend.show&&(c="top"===t.legend.position||"left"===t.legend.position?'
'+c:c+'
');n+='
',t.title&&t.showTitle&&(n+='
'+t.title+"
");n+='
'+c+"
",t.notes&&(n+='
'+t.notes+"
");n+="
",e.innerHTML=n}(d,n.config),n.config.renderOnVisible&&"undefined"!=typeof IntersectionObserver){new IntersectionObserver(function(e,t){e.forEach(function(e){e.isIntersecting&&(n.view._rendered||(b.libraries[r][s].render.call(n),n.view._rendered=!0))})}).observe(d)}else{if("hidden"===n.config.firstVisibilityState&&"undefined"!=typeof document){var c=void 0,o=void 0;void 0!==document.hidden?(c="hidden",o="visibilitychange"):void 0!==document.msHidden?(c="msHidden",o="msvisibilitychange"):void 0!==document.webkitHidden&&(c="webkitHidden",o="webkitvisibilitychange");void 0===document.addEventListener&&void 0===c||document.addEventListener(o,function(){document[c]||n.view._artifacts.c3.load(n.dataset.matrix)},{once:!0})}b.libraries[r][s].render.call(n),n.view._rendered=!0}}),u},b.prototype.sortGroups=function(e){return this.config.showDeprecationWarnings&&console.log(".sortGroups() is deprecated. Use: new KeenDataviz({ sortGroups: _your_value_here_ })"),arguments.length?(this.config.sortGroups=e?String(e):null,A(this),this):this.config.sortGroups},b.prototype.sortIntervals=function(e){return this.config.showDeprecationWarnings&&console.log(".sortIntervals() is deprecated. Use: new KeenDataviz({ sortIntervals: _your_value_here_ })"),arguments.length?(this.config.sortIntervals=e?String(e):null,y(this),this):this.config.sortIntervals},b.prototype.stacked=function(e){return this.config.showDeprecationWarnings&&console.log(".stacked() is deprecated. Use: new KeenDataviz({ stacked: _your_value_here_ })"),arguments.length?(this.config.stacked=!!e,this):this.config.stacked},b.prototype.theme=function(e){return this.config.showDeprecationWarnings&&console.log(".theme() is deprecated. Use: new KeenDataviz({ theme: _your_value_here_ })"),arguments.length?(this.config.theme=e?String(e):null,this):this.config.theme},b.prototype.title=function(e){return this.config.showDeprecationWarnings&&console.log(".title() is deprecated. Use: new KeenDataviz({ title: _your_value_here_ })"),arguments.length?(this.config.title=e?String(e):null,this):this.config.title},b.prototype.type=function(e){return this.config.showDeprecationWarnings&&console.log(".type() is deprecated. Use: new KeenDataviz({ type: _your_value_here_ })"),arguments.length?(this.config.type=e?T(e):null,this):this.config.type},b.prototype.update=function(){var e=this.config.library,t=this.config.type,n=this.el();return e&&t&&n&&b.libraries[e][t].update&&b.libraries[e][t].update.apply(this,arguments),this},b.prototype.width=function(e){return this.config.showDeprecationWarnings&&console.log(".width() is deprecated - use CSS classes"),this},b.prototype.chartType=b.prototype.type,b.prototype.error=b.prototype.message,b.prototype.parseRawData=b.prototype.data,b.prototype.parseRequest=function(){return this},b.prototype.initialize=function(){return this},b.version=s.default.version,t.default=b},function(e,t){var n;n=function(){return this}();try{n=n||Function("return this")()||(0,eval)("this")}catch(e){"object"==typeof window&&(n=window)}e.exports=n},function(e,t,n){"use strict";(function(e){Object.defineProperty(t,"__esModule",{value:!0}),t.Dataset=t.Dataviz=t.keenGlobals=t.extendKeenGlobalObject=void 0;var a=n(166);Object.defineProperty(t,"Dataviz",{enumerable:!0,get:function(){return a.Dataviz}}),Object.defineProperty(t,"Dataset",{enumerable:!0,get:function(){return a.Dataset}});void 0!==e||("undefined"!=typeof self?self:"undefined"!=typeof window&&window),t.extendKeenGlobalObject=function(e){e.KeenDataviz=a.Dataviz,e.KeenDataset=a.Dataset,e.Keen=e.Keen||{},e.Keen.Dataset=a.Dataset,e.Keen.Dataviz=a.Dataviz};t.keenGlobals=void 0;"undefined"!=typeof webpackKeenGlobals&&(t.keenGlobals=webpackKeenGlobals),t.default=a.Dataviz}).call(this,n(167))}])}); //# sourceMappingURL=keen-dataviz.min.js.map \ No newline at end of file diff --git a/dist/external_d3_c3/keen-dataviz.min.js.map b/dist/external_d3_c3/keen-dataviz.min.js.map index 1de3734..c70db1c 100644 --- a/dist/external_d3_c3/keen-dataviz.min.js.map +++ b/dist/external_d3_c3/keen-dataviz.min.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap","webpack:///./node_modules/moment/moment.js","webpack:///./lib/utils/each.js","webpack:///./lib/utils/escape-html.js","webpack:///./lib/utils/extend.js","webpack:///./lib/utils/assert-date-string.js","webpack:///./lib/utils/strip-html-tags.js","webpack:///./lib/dataset/utils/create-null-list.js","webpack:///./lib/dataset/modifiers/append.js","webpack:///./node_modules/moment/locale/zh-tw.js","webpack:///./node_modules/moment/locale/zh-hk.js","webpack:///./node_modules/moment/locale/zh-cn.js","webpack:///./node_modules/moment/locale/yo.js","webpack:///./node_modules/moment/locale/x-pseudo.js","webpack:///./node_modules/moment/locale/vi.js","webpack:///./node_modules/moment/locale/uz-latn.js","webpack:///./node_modules/moment/locale/uz.js","webpack:///./node_modules/moment/locale/ur.js","webpack:///./node_modules/moment/locale/uk.js","webpack:///./node_modules/moment/locale/ug-cn.js","webpack:///./node_modules/moment/locale/tzm-latn.js","webpack:///./node_modules/moment/locale/tzm.js","webpack:///./node_modules/moment/locale/tzl.js","webpack:///./node_modules/moment/locale/tr.js","webpack:///./node_modules/moment/locale/tlh.js","webpack:///./node_modules/moment/locale/tl-ph.js","webpack:///./node_modules/moment/locale/th.js","webpack:///./node_modules/moment/locale/tg.js","webpack:///./node_modules/moment/locale/tet.js","webpack:///./node_modules/moment/locale/te.js","webpack:///./node_modules/moment/locale/ta.js","webpack:///./node_modules/moment/locale/sw.js","webpack:///./node_modules/moment/locale/sv.js","webpack:///./node_modules/moment/locale/ss.js","webpack:///./node_modules/moment/locale/sr-cyrl.js","webpack:///./node_modules/moment/locale/sr.js","webpack:///./node_modules/moment/locale/sq.js","webpack:///./node_modules/moment/locale/sl.js","webpack:///./node_modules/moment/locale/sk.js","webpack:///./node_modules/moment/locale/si.js","webpack:///./node_modules/moment/locale/se.js","webpack:///./node_modules/moment/locale/sd.js","webpack:///./node_modules/moment/locale/ru.js","webpack:///./node_modules/moment/locale/ro.js","webpack:///./node_modules/moment/locale/pt-br.js","webpack:///./node_modules/moment/locale/pt.js","webpack:///./node_modules/moment/locale/pl.js","webpack:///./node_modules/moment/locale/pa-in.js","webpack:///./node_modules/moment/locale/nn.js","webpack:///./node_modules/moment/locale/nl-be.js","webpack:///./node_modules/moment/locale/nl.js","webpack:///./node_modules/moment/locale/ne.js","webpack:///./node_modules/moment/locale/nb.js","webpack:///./node_modules/moment/locale/my.js","webpack:///./node_modules/moment/locale/mt.js","webpack:///./node_modules/moment/locale/ms-my.js","webpack:///./node_modules/moment/locale/ms.js","webpack:///./node_modules/moment/locale/mr.js","webpack:///./node_modules/moment/locale/mn.js","webpack:///./node_modules/moment/locale/ml.js","webpack:///./node_modules/moment/locale/mk.js","webpack:///./node_modules/moment/locale/mi.js","webpack:///./node_modules/moment/locale/me.js","webpack:///./node_modules/moment/locale/lv.js","webpack:///./node_modules/moment/locale/lt.js","webpack:///./node_modules/moment/locale/lo.js","webpack:///./node_modules/moment/locale/lb.js","webpack:///./node_modules/moment/locale/ky.js","webpack:///./node_modules/moment/locale/ko.js","webpack:///./node_modules/moment/locale/kn.js","webpack:///./node_modules/moment/locale/km.js","webpack:///./node_modules/moment/locale/kk.js","webpack:///./node_modules/moment/locale/ka.js","webpack:///./node_modules/moment/locale/jv.js","webpack:///./node_modules/moment/locale/ja.js","webpack:///./node_modules/moment/locale/it.js","webpack:///./node_modules/moment/locale/is.js","webpack:///./node_modules/moment/locale/id.js","webpack:///./node_modules/moment/locale/hy-am.js","webpack:///./node_modules/moment/locale/hu.js","webpack:///./node_modules/moment/locale/hr.js","webpack:///./node_modules/moment/locale/hi.js","webpack:///./node_modules/moment/locale/he.js","webpack:///./node_modules/moment/locale/gu.js","webpack:///./node_modules/moment/locale/gom-latn.js","webpack:///./node_modules/moment/locale/gl.js","webpack:///./node_modules/moment/locale/gd.js","webpack:///./node_modules/moment/locale/fy.js","webpack:///./node_modules/moment/locale/fr-ch.js","webpack:///./node_modules/moment/locale/fr-ca.js","webpack:///./node_modules/moment/locale/fr.js","webpack:///./node_modules/moment/locale/fo.js","webpack:///./node_modules/moment/locale/fi.js","webpack:///./node_modules/moment/locale/fa.js","webpack:///./node_modules/moment/locale/eu.js","webpack:///./node_modules/moment/locale/et.js","webpack:///./node_modules/moment/locale/es-us.js","webpack:///./node_modules/moment/locale/es-do.js","webpack:///./node_modules/moment/locale/es.js","webpack:///./node_modules/moment/locale/eo.js","webpack:///./node_modules/moment/locale/en-nz.js","webpack:///./node_modules/moment/locale/en-il.js","webpack:///./node_modules/moment/locale/en-ie.js","webpack:///./node_modules/moment/locale/en-gb.js","webpack:///./node_modules/moment/locale/en-ca.js","webpack:///./node_modules/moment/locale/en-au.js","webpack:///./node_modules/moment/locale/el.js","webpack:///./node_modules/moment/locale/dv.js","webpack:///./node_modules/moment/locale/de-ch.js","webpack:///./node_modules/moment/locale/de-at.js","webpack:///./node_modules/moment/locale/de.js","webpack:///./node_modules/moment/locale/da.js","webpack:///./node_modules/moment/locale/cy.js","webpack:///./node_modules/moment/locale/cv.js","webpack:///./node_modules/moment/locale/cs.js","webpack:///./node_modules/moment/locale/ca.js","webpack:///./node_modules/moment/locale/bs.js","webpack:///./node_modules/moment/locale/br.js","webpack:///./node_modules/moment/locale/bo.js","webpack:///./node_modules/moment/locale/bn.js","webpack:///./node_modules/moment/locale/bm.js","webpack:///./node_modules/moment/locale/bg.js","webpack:///./node_modules/moment/locale/be.js","webpack:///./node_modules/moment/locale/az.js","webpack:///./node_modules/moment/locale/ar-tn.js","webpack:///./node_modules/moment/locale/ar-sa.js","webpack:///./node_modules/moment/locale/ar-ma.js","webpack:///./node_modules/moment/locale/ar-ly.js","webpack:///./node_modules/moment/locale/ar-kw.js","webpack:///./node_modules/moment/locale/ar-dz.js","webpack:///./node_modules/moment/locale/ar.js","webpack:///./node_modules/moment/locale/af.js","webpack:///./lib/utils/extend-deep.js","webpack:///external \"c3\"","webpack:///external \"d3\"","webpack:///./lib/dataset/utils/analyses.js","webpack:///./lib/dataset/index.js","webpack:///./lib/libraries/default/spinner.js","webpack:///./node_modules/moment/locale sync ^\\.\\/.*$","webpack:///(webpack)/buildin/module.js","webpack:///./node_modules/moment-timezone/moment-timezone.js","webpack:///./node_modules/moment-timezone/index.js","webpack:///./lib/libraries/default/table.js","webpack:///./lib/utils/pretty-number.js","webpack:///./lib/libraries/default/metric.js","webpack:///./lib/libraries/default/message.js","webpack:///./lib/libraries/c3/extensions/tooltip-contents.js","webpack:///./lib/libraries/c3/extensions/paginating-legend.js","webpack:///./lib/libraries/c3/extensions/default-date-format.js","webpack:///./lib/libraries/index.js","webpack:///./lib/data.js","webpack:///./lib/dataset/utils/object.js","webpack:///./lib/dataset/utils/flatten.js","webpack:///./lib/dataset/utils/parsers.js","webpack:///./lib/dataset/modifiers/update.js","webpack:///./lib/dataset/modifiers/sort.js","webpack:///./lib/dataset/modifiers/select.js","webpack:///./lib/dataset/modifiers/insert.js","webpack:///./lib/dataset/modifiers/filter.js","webpack:///./lib/dataset/modifiers/delete.js","webpack:///./lib/index.js","webpack:///(webpack)/buildin/global.js","webpack:///./lib/browser.js"],"names":["root","factory","exports","module","require","define","amd","a","i","window","__WEBPACK_EXTERNAL_MODULE__132__","__WEBPACK_EXTERNAL_MODULE__133__","installedModules","__webpack_require__","moduleId","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","configurable","enumerable","get","r","value","n","__esModule","object","property","prototype","hasOwnProperty","p","s","hookCallback","some","hooks","apply","arguments","isArray","input","Array","toString","isObject","isUndefined","isNumber","isDate","Date","map","arr","fn","res","length","push","hasOwnProp","b","extend","valueOf","createUTC","format","locale","strict","createLocalOrUTC","utc","getParsingFlags","_pf","empty","unusedTokens","unusedInput","overflow","charsLeftOver","nullInput","invalidMonth","invalidFormat","userInvalidated","iso","parsedDateParts","meridiem","rfc2822","weekdayMismatch","isValid","_isValid","flags","parsedParts","isNowValid","isNaN","_d","getTime","invalidWeekday","_strict","undefined","bigHour","isFrozen","createInvalid","NaN","fun","t","this","len","momentProperties","copyConfig","to","from","prop","val","_isAMomentObject","_i","_f","_l","_tzm","_isUTC","_offset","_locale","updateInProgress","Moment","config","updateOffset","isMoment","obj","absFloor","number","Math","ceil","floor","toInt","argumentForCoercion","coercedNumber","isFinite","compareArrays","array1","array2","dontConvert","min","lengthDiff","abs","diffs","warn","msg","suppressDeprecationWarnings","console","deprecate","firstTime","deprecationHandler","arg","args","key","slice","join","Error","stack","keys","deprecations","deprecateSimple","isFunction","Function","mergeConfigs","parentConfig","childConfig","Locale","set","aliases","addUnitAlias","unit","shorthand","lowerCase","toLowerCase","normalizeUnits","units","normalizeObjectUnits","inputObject","normalizedProp","normalizedInput","priorities","addUnitPriority","priority","zeroFill","targetLength","forceSign","absNumber","zerosToFill","sign","pow","max","substr","formattingTokens","localFormattingTokens","formatFunctions","formatTokenFunctions","addFormatToken","token","padded","ordinal","callback","func","localeData","formatMoment","expandFormat","array","match","replace","mom","output","makeFormatFunction","invalidDate","replaceLongDateFormatTokens","longDateFormat","lastIndex","test","match1","match2","match3","match4","match6","match1to2","match3to4","match5to6","match1to3","match1to4","match1to6","matchUnsigned","matchSigned","matchOffset","matchShortOffset","matchWord","regexes","addRegexToken","regex","strictRegex","isStrict","getParseRegexForToken","RegExp","regexEscape","matched","p1","p2","p3","p4","tokens","addParseToken","addWeekParseToken","_w","addTimeToArrayFromToken","_a","YEAR","MONTH","DATE","HOUR","MINUTE","SECOND","MILLISECOND","WEEK","WEEKDAY","daysInYear","year","isLeapYear","y","parseTwoDigitYear","parseInt","indexOf","getSetYear","makeGetSet","keepTime","set$1","month","date","daysInMonth","x","modMonth","monthsShort","months","monthsShortRegex","monthsRegex","monthsParse","MONTHS_IN_FORMAT","defaultLocaleMonths","split","defaultLocaleMonthsShort","setMonth","dayOfMonth","getSetMonth","defaultMonthsShortRegex","defaultMonthsRegex","computeMonthsParse","cmpLenRev","shortPieces","longPieces","mixedPieces","sort","_monthsRegex","_monthsShortRegex","_monthsStrictRegex","_monthsShortStrictRegex","createUTCDate","UTC","getUTCFullYear","setUTCFullYear","firstWeekOffset","dow","doy","fwd","fwdlw","getUTCDay","dayOfYearFromWeeks","week","weekday","resYear","resDayOfYear","localWeekday","weekOffset","dayOfYear","weekOfYear","resWeek","weeksInYear","weekOffsetNext","weekdaysMin","weekdaysShort","weekdays","weekdaysMinRegex","weekdaysShortRegex","weekdaysRegex","weekdaysParse","defaultLocaleWeekdays","defaultLocaleWeekdaysShort","defaultLocaleWeekdaysMin","defaultWeekdaysRegex","defaultWeekdaysShortRegex","defaultWeekdaysMinRegex","computeWeekdaysParse","minp","shortp","longp","minPieces","day","_weekdaysRegex","_weekdaysShortRegex","_weekdaysMinRegex","_weekdaysStrictRegex","_weekdaysShortStrictRegex","_weekdaysMinStrictRegex","hFormat","hours","lowercase","minutes","matchMeridiem","_meridiemParse","seconds","kInput","_isPm","isPM","_meridiem","pos","pos1","pos2","globalLocale","getSetHour","baseConfig","calendar","sameDay","nextDay","nextWeek","lastDay","lastWeek","sameElse","LTS","LT","L","LL","LLL","LLLL","dayOfMonthOrdinalParse","relativeTime","future","past","ss","mm","h","hh","dd","M","MM","yy","meridiemParse","locales","localeFamilies","normalizeLocale","loadLocale","oldLocale","_abbr","getSetGlobalLocale","e","values","data","getLocale","defineLocale","abbr","_config","parentLocale","forEach","names","j","next","chooseLocale","checkOverflow","_overflowDayOfYear","_overflowWeeks","_overflowWeekday","defaults","configFromArray","currentDate","expectedWeekday","yearToUse","nowValue","now","_useUTC","getUTCMonth","getUTCDate","getFullYear","getMonth","getDate","currentDateArray","w","weekYear","temp","weekdayOverflow","GG","W","E","createLocal","_week","curWeek","gg","_dayOfYear","dayOfYearFromWeekInfo","_nextDay","ms","setFullYear","getDay","setUTCMinutes","getUTCMinutes","extendedIsoRegex","basicIsoRegex","tzRegex","isoDates","isoTimes","aspNetJsonRegex","configFromISO","allowTime","dateFormat","timeFormat","tzFormat","string","exec","configFromStringAndFormat","extractFromRFC2822Strings","yearStr","monthStr","dayStr","hourStr","minuteStr","secondStr","result","untruncateYear","obsOffsets","UT","GMT","EDT","EST","CDT","CST","MDT","MST","PDT","PST","configFromRFC2822","parsedArray","weekdayStr","parsedInput","weekdayProvided","weekdayActual","checkWeekday","obsOffset","militaryOffset","numOffset","hm","calculateOffset","ISO_8601","RFC_2822","skipped","stringLength","totalParsedInputLength","hour","meridiemHour","isPm","prepareConfig","preparse","tempConfig","bestMoment","scoreToBeat","currentScore","score","configFromStringAndArray","createFromInputFallback","configFromString","minute","second","millisecond","configFromObject","configFromInput","isUTC","getOwnPropertyNames","k","isObjectEmpty","add","prototypeMin","other","prototypeMax","pickBy","moments","ordering","Duration","duration","years","quarters","quarter","weeks","days","milliseconds","unitHasDecimal","parseFloat","isDurationValid","_milliseconds","_days","_months","_data","_bubble","isDuration","absRound","round","offset","separator","utcOffset","offsetFromString","chunkOffset","matcher","matches","chunk","parts","cloneWithOffset","model","diff","clone","setTime","local","getDateOffset","getTimezoneOffset","isUtc","aspNetRegex","isoRegex","createDuration","ret","diffRes","base","parseIso","isBefore","positiveMomentsDifference","inp","isAfter","createAdder","direction","period","tmp","addSubtract","isAdding","invalid","subtract","monthDiff","anchor2","adjust","wholeMonthDiff","anchor","newLocaleData","defaultFormat","defaultFormatUtc","lang","addWeekYearFormatToken","getSetWeekYearHelper","weeksTarget","dayOfYearData","isoWeekYear","_dayOfMonthOrdinalParse","_ordinalParse","_dayOfMonthOrdinalParseLenient","getSetDayOfMonth","getSetMinute","getSetSecond","parseMs","getSetMillisecond","proto","preParsePostFormat","time","formats","sod","startOf","calendarFormat","asFloat","that","zoneDelta","endOf","inputString","postformat","withoutSuffix","humanize","fromNow","toNow","invalidAt","localInput","isBetween","inclusivity","isSame","inputMs","isSameOrAfter","isSameOrBefore","parsingFlags","prioritized","unitsObj","u","getPrioritizedUnits","isoWeekday","toArray","toObject","toDate","toISOString","keepOffset","inspect","zone","isLocal","prefix","suffix","toJSON","unix","creationData","isoWeek","isoWeeks","weekInfo","isoWeeksInYear","parseWeekday","parseIsoWeekday","keepLocalTime","keepMinutes","localAdjust","_changeInProgress","parseZone","tZone","hasAlignedHourOffset","isDST","isUtcOffset","zoneAbbr","zoneName","dates","isDSTShifted","_isDSTShifted","proto$1","get$1","index","field","setter","listMonthsImpl","out","listWeekdaysImpl","localeSorted","shift","_calendar","_longDateFormat","formatUpper","toUpperCase","_invalidDate","_ordinal","isFuture","_relativeTime","pastFuture","source","isFormat","_monthsShort","monthName","_monthsParseExact","ii","llc","toLocaleLowerCase","_monthsParse","_longMonthsParse","_shortMonthsParse","firstDayOfYear","firstDayOfWeek","_weekdays","_weekdaysMin","_weekdaysShort","weekdayName","_weekdaysParseExact","_weekdaysParse","_shortWeekdaysParse","_minWeekdaysParse","_fullWeekdaysParse","charAt","isLower","langData","mathAbs","addSubtract$1","absCeil","daysToMonths","monthsToDays","makeAs","alias","as","asMilliseconds","asSeconds","asMinutes","asHours","asDays","asWeeks","asMonths","asYears","makeGetter","thresholds","abs$1","toISOString$1","Y","D","toFixed","total","totalSign","ymSign","daysSign","hmsSign","proto$2","monthsFromDays","withSuffix","posNegDuration","relativeTime$1","toIsoString","version","updateLocale","tmpLocale","relativeTimeRounding","roundingFunction","relativeTimeThreshold","threshold","limit","myMoment","HTML5_FMT","DATETIME_LOCAL","DATETIME_LOCAL_SECONDS","DATETIME_LOCAL_MS","TIME","TIME_SECONDS","TIME_MS","each","cb","escapeHtml","escape","str","matchHtmlRegExp","html","charCodeAt","substring","target","testObject","testString","_typeof","stripHtmlTags","list","appendColumn","appendRow","_createNullList","_each","self","label","matrix","row","cell","concat","_createNullList2","default","String","newRow","col","selectColumn","moment","ll","lll","llll","monthsParseExact","weekdaysParseExact","relativeTimeWithPlural","num","forms","processHoursFunction","standalone","nominative","accusative","genitive","nounCase","processRelativeTime","suffixes","1","5","8","70","80","2","7","20","50","3","4","100","6","9","10","30","60","90","numbersNouns","translate","numberNoun","hundred","ten","one","word","numberAsNoun","0","12","13","40","symbolMap","numberMap","௧","௨","௩","௪","௫","௬","௭","௮","௯","௦","translator","words","correctGrammaticalCase","wordKey","plural","longMonthsParse","shortMonthsParse","monthsStrictRegex","monthsShortStrictRegex","monthsNominative","monthsSubjective","momentToFormat","੧","੨","੩","੪","੫","੬","੭","੮","੯","੦","monthsShortWithDots","monthsShortWithoutDots","१","२","३","४","५","६","७","८","९","०","၁","၂","၃","၄","၅","၆","၇","၈","၉","၀","relativeTimeMr","lastDigit","last2Digits","relativeTimeWithSingular","translateSingular","special","eifelerRegelAppliesToNumber","firstDigit","isUpper","೧","೨","೩","೪","೫","೬","೭","೮","೯","೦","១","២","៣","៤","៥","៦","៧","៨","៩","០","weekEndings","૧","૨","૩","૪","૫","૬","૭","૮","૯","૦","numbersPast","numbersFuture","verbalNumber","۱","۲","۳","۴","۵","۶","۷","۸","۹","۰","monthsShortDot","monthsNominativeEl","monthsGenitiveEl","_monthsGenitiveEl","_monthsNominativeEl","calendarEl","_calendarEl","affix","relativeTimeWithMutation","text","mutationTable","softMutation","mutation","lastNumber","༡","༢","༣","༤","༥","༦","༧","༨","༩","༠","১","২","৩","৪","৫","৬","৭","৮","৯","০","١","٢","٣","٤","٥","٦","٧","٨","٩","٠","pluralForm","plurals","pluralize","f","extendDeep","average","start","end","sum","maximum","nums","minimum","getColumnAverage","getRowAverage","getColumnSum","getRowSum","getColumnMaximum","getRowMaximum","getColumnMinimum","getRowMinimum","getColumnLabel","getRowIndex","append","del","filter","insert","select","update","_extend","Dataset","meta","type","coords","colIndex","rowIndex","colResult","rowResult","selectRow","analyses","parser","_parsers2","render","view","_artifacts","spinner","theme","el","innerHTML","destroy","interval","clearInterval","radius","./af","./af.js","./ar","./ar-dz","./ar-dz.js","./ar-kw","./ar-kw.js","./ar-ly","./ar-ly.js","./ar-ma","./ar-ma.js","./ar-sa","./ar-sa.js","./ar-tn","./ar-tn.js","./ar.js","./az","./az.js","./be","./be.js","./bg","./bg.js","./bm","./bm.js","./bn","./bn.js","./bo","./bo.js","./br","./br.js","./bs","./bs.js","./ca","./ca.js","./cs","./cs.js","./cv","./cv.js","./cy","./cy.js","./da","./da.js","./de","./de-at","./de-at.js","./de-ch","./de-ch.js","./de.js","./dv","./dv.js","./el","./el.js","./en-au","./en-au.js","./en-ca","./en-ca.js","./en-gb","./en-gb.js","./en-ie","./en-ie.js","./en-il","./en-il.js","./en-nz","./en-nz.js","./eo","./eo.js","./es","./es-do","./es-do.js","./es-us","./es-us.js","./es.js","./et","./et.js","./eu","./eu.js","./fa","./fa.js","./fi","./fi.js","./fo","./fo.js","./fr","./fr-ca","./fr-ca.js","./fr-ch","./fr-ch.js","./fr.js","./fy","./fy.js","./gd","./gd.js","./gl","./gl.js","./gom-latn","./gom-latn.js","./gu","./gu.js","./he","./he.js","./hi","./hi.js","./hr","./hr.js","./hu","./hu.js","./hy-am","./hy-am.js","./id","./id.js","./is","./is.js","./it","./it.js","./ja","./ja.js","./jv","./jv.js","./ka","./ka.js","./kk","./kk.js","./km","./km.js","./kn","./kn.js","./ko","./ko.js","./ky","./ky.js","./lb","./lb.js","./lo","./lo.js","./lt","./lt.js","./lv","./lv.js","./me","./me.js","./mi","./mi.js","./mk","./mk.js","./ml","./ml.js","./mn","./mn.js","./mr","./mr.js","./ms","./ms-my","./ms-my.js","./ms.js","./mt","./mt.js","./my","./my.js","./nb","./nb.js","./ne","./ne.js","./nl","./nl-be","./nl-be.js","./nl.js","./nn","./nn.js","./pa-in","./pa-in.js","./pl","./pl.js","./pt","./pt-br","./pt-br.js","./pt.js","./ro","./ro.js","./ru","./ru.js","./sd","./sd.js","./se","./se.js","./si","./si.js","./sk","./sk.js","./sl","./sl.js","./sq","./sq.js","./sr","./sr-cyrl","./sr-cyrl.js","./sr.js","./ss","./ss.js","./sv","./sv.js","./sw","./sw.js","./ta","./ta.js","./te","./te.js","./tet","./tet.js","./tg","./tg.js","./th","./th.js","./tl-ph","./tl-ph.js","./tlh","./tlh.js","./tr","./tr.js","./tzl","./tzl.js","./tzm","./tzm-latn","./tzm-latn.js","./tzm.js","./ug-cn","./ug-cn.js","./uk","./uk.js","./ur","./ur.js","./uz","./uz-latn","./uz-latn.js","./uz.js","./vi","./vi.js","./x-pseudo","./x-pseudo.js","./yo","./yo.js","./zh-cn","./zh-cn.js","./zh-hk","./zh-hk.js","./zh-tw","./zh-tw.js","webpackContext","req","id","webpackContextResolve","code","resolve","webpackPolyfill","paths","children","__WEBPACK_AMD_DEFINE_FACTORY__","__WEBPACK_AMD_DEFINE_ARRAY__","__WEBPACK_AMD_DEFINE_RESULT__","cachedGuess","zones","links","guesses","logError","momentVersion","major","minor","charCodeToInt","charCode","unpackBase60","whole","fractional","multiplier","arrayToInt","mapIndices","indices","unpack","offsets","untils","Infinity","intToUntil","abbrs","population","Zone","packedString","_set","OffsetAt","at","timeString","toTimeString","ZoneScore","offsetScore","abbrScore","findChange","low","high","mid","sortZoneScores","addToGuesses","guessesForUserOffsets","guessesOffset","offsetsLength","filteredGuesses","rebuildGuess","intlName","Intl","DateTimeFormat","resolvedOptions","timeZone","normalizeName","zoneScore","change","startYear","last","userOffsets","zoneScores","getZone","scoreOffsetAt","addZone","packed","normalized","caller","link","addLink","normal0","normal1","needsOffset","isUnixTimestamp","message","error","tz","parse","unpacked","_index","timestamp","offsetNext","offsetPrev","moveAmbiguousForward","moveInvalidForward","offsetAt","dataVersion","_zones","_links","_names","load","zoneExists","didShowError","guess","ignoreCache","old","abbrWrap","_z","defaultZone","setDefault","_momentTimezone","_escapeHtml","currentPage","_generateTableRows","datavizInstance","dataset","customConfig","table","pagination","page","arrows","datasetPaginated","pages","columnsArray","columns","checkArray","mapValues","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_step","_iterator","Symbol","iterator","done","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_step2","_iterator2","entries","_ref","_ref2","_slicedToArray","rowCol","timezone","rowColEscaped","err","return","pageNumber","prevPage","nextPage","_this","mappedMsg","errorMapping","showErrorMessages","fieldNumber","columnNames","_iteratorNormalCompletion3","_didIteratorError3","_iteratorError3","_step3","_iterator3","colName","colNameEscaped","_generateTableHeader","querySelector","querySelectorAll","item","addEventListener","event","sortOrder","getAttribute","setAttribute","first","sortOrderNumber","nameA","nameB","unshift","attachBtnEventListeners","btn","onrendered","prettyNumber","sciNo","Number","toPrecision","recurse","iteration","rhs","numNumerals","_prettyNumber","colors","title","opts","formattedNum","flexDifferenceStyle","resultDifference","differenceStyle","smallerValue","results","previousResults","outer","document","createElement","inner","titleContainer","notesContainer","className","notes","appendChild","showTitle","defaultTitleFormat","defaultValueFormat","color","nameFormat","tooltip_format_name","titleFormat","tooltip_format_title","valueFormat","tooltip_format_value","CLASS","tooltip","ratio","bgcolor","levelColor","tooltipName","options","cols","chart","c3","domNode","legendConfig","legend","_extends","hidden","labels","offsetHeight","dataColumnsSorted","column","columnData","find","_assertDateString2","legendElement","align","position","paginateHorizontalLeftElement","legendItemsElement","paginateVerticalElement","paginateHorizontalRightElement","paginateData","labelShortened","textMaxLength","legendItem","chartPartId","legendItemColorSample","style","backgroundColor","prepend","tooltipElement","focus","show","pointer","revert","remove","opacity","isHidden","splice","toggle","onLegendRendered","arrowUp","arrowDown","paginate","clearSelectedText","onPaginated","selection","getSelection","removeAllRanges","_assertDateString","startDate","endDate","timeDiff","lib","timer","onresize","resize","attachEvent","bindResizeListener","clearTimeout","delay","visuals","setTimeout","internal","horizontalDistance","xIndex","axis_rotated","findClosest","closest","$$","minDist","point_sensitivity","v","isBarType","shape","main","bars","getTargetSelectorSuffix","bar","node","isWithinBar","d3","mouse","dist","types","metric","getPaddings","element","paddingName","getComputedStyle","ENFORCED_OPTIONS","bindto","pattern","colorMapping","renderingElement","height","titleElement","notesElement","width","offsetWidth","DEFAULT_OPTIONS","size","_extendDeep","clearOnRender","removeLegend","axis","rotated","tick","_defaultDateFormat2","culling","stacked","groups","categories","bind","partialIntervalIndicator","partialResultsRegion","class","regions","_toConsumableArray","contents","c3TooltipContents","valueFormatted","scope","c3options","hide","generate","c3PaginatingLegend","flush","defineC3","response","indexBy","query","selectedParser","parserArgs","metadata","analysis_type","event_collection","filters","group_by","timeframe","steps","display_name","analysis","getDefaultTitle","visualization","chart_type","getDefaultType","updateColumn","updateRow","_stripHtmlTags","_dataset","valueAtDeepKey","is","flatten","ob","toReturn","flatObject","parsers","_flatten","_object","record","grouped-metric","grouped-interval","group","double-grouped-metric","rowLabel","double-grouped-interval","funnel","extraction","datasetExtraction","_loop","iNames","deleteColumn","q","_append","sortColumns","comp","head","analysesUtilMethods","op","insertColumn","sortRows","body","_analyses","insertRow","filterColumns","selectedColumn","ri","filterRows","deleteRow","Dataviz","_defaultOptions","defaultOptions","_defineProperty","showDeprecationWarnings","showLoadingSpinner","container","containerElement","labelMapping","labelMappingRegExp","library","sortGroups","sortIntervals","order","padding","top","point","expand","enabled","transition","draggable","multiple","convertChartTypes","_prepared","_rendered","prepare","firstVisibilityState","visibilityState","setLabels","mapLabelsExec","valueAfterMatching","regExpAndLabel","mapLabels","labelMappingDimension","areachart","barchart","columnchart","linechart","piechart","domReady","readyState","DOMContentLoaded","removeEventListener","testDom","libraries","_libraries2","register","actions","method","nodeName","visual","attributes","log","chartOptions","loader","firstResult","timeframes","resultItem","resultTimeframe","timeframeItem","JSON","stringify","getLabel","ds2","returnValue","renderAsPromise","Promise","reject","customCallback","chart100percentWide","buildDomWrapper","renderOnVisible","IntersectionObserver","events","observer","isIntersecting","observe","visibilityChange","msHidden","webkitHidden","once","bool","chartType","parseRawData","parseRequest","initialize","pkg","g","eval","global","extendKeenGlobalObject","env","KeenDataviz","KeenDataset","Keen","keenGlobals","webpackKeenGlobals"],"mappings":"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AAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,aAAA,IACAC,UAAA,IACAC,aAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,UAAA,IACAC,aAAA,IACAC,UAAA,IACAC,aAAA,IACAC,UAAA,IACAC,aAAA,IACAC,UAAA,IACAC,aAAA,IACAC,UAAA,IACAC,aAAA,IACAC,UAAA,GACAC,aAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,aAAA,GACAC,UAAA,GACAC,aAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,aAAA,GACAC,UAAA,GACAC,aAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,aAAA,GACAC,gBAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,UAAA,GACAC,aAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,O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","file":"keen-dataviz.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"c3\"), require(\"d3\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"c3\", \"d3\"], factory);\n\telse {\n\t\tvar a = typeof exports === 'object' ? factory(require(\"c3\"), require(\"d3\")) : factory(root[\"c3\"], root[\"d3\"]);\n\t\tfor(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i];\n\t}\n})(window, function(__WEBPACK_EXTERNAL_MODULE__132__, __WEBPACK_EXTERNAL_MODULE__133__) {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 163);\n","//! moment.js\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n global.moment = factory()\n}(this, (function () { 'use strict';\n\n var hookCallback;\n\n function hooks () {\n return hookCallback.apply(null, arguments);\n }\n\n // This is done to register the method called with moment()\n // without creating circular dependencies.\n function setHookCallback (callback) {\n hookCallback = callback;\n }\n\n function isArray(input) {\n return input instanceof Array || Object.prototype.toString.call(input) === '[object Array]';\n }\n\n function isObject(input) {\n // IE8 will treat undefined and null as object if it wasn't for\n // input != null\n return input != null && Object.prototype.toString.call(input) === '[object Object]';\n }\n\n function isObjectEmpty(obj) {\n if (Object.getOwnPropertyNames) {\n return (Object.getOwnPropertyNames(obj).length === 0);\n } else {\n var k;\n for (k in obj) {\n if (obj.hasOwnProperty(k)) {\n return false;\n }\n }\n return true;\n }\n }\n\n function isUndefined(input) {\n return input === void 0;\n }\n\n function isNumber(input) {\n return typeof input === 'number' || Object.prototype.toString.call(input) === '[object Number]';\n }\n\n function isDate(input) {\n return input instanceof Date || Object.prototype.toString.call(input) === '[object Date]';\n }\n\n function map(arr, fn) {\n var res = [], i;\n for (i = 0; i < arr.length; ++i) {\n res.push(fn(arr[i], i));\n }\n return res;\n }\n\n function hasOwnProp(a, b) {\n return Object.prototype.hasOwnProperty.call(a, b);\n }\n\n function extend(a, b) {\n for (var i in b) {\n if (hasOwnProp(b, i)) {\n a[i] = b[i];\n }\n }\n\n if (hasOwnProp(b, 'toString')) {\n a.toString = b.toString;\n }\n\n if (hasOwnProp(b, 'valueOf')) {\n a.valueOf = b.valueOf;\n }\n\n return a;\n }\n\n function createUTC (input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, true).utc();\n }\n\n function defaultParsingFlags() {\n // We need to deep clone this object.\n return {\n empty : false,\n unusedTokens : [],\n unusedInput : [],\n overflow : -2,\n charsLeftOver : 0,\n nullInput : false,\n invalidMonth : null,\n invalidFormat : false,\n userInvalidated : false,\n iso : false,\n parsedDateParts : [],\n meridiem : null,\n rfc2822 : false,\n weekdayMismatch : false\n };\n }\n\n function getParsingFlags(m) {\n if (m._pf == null) {\n m._pf = defaultParsingFlags();\n }\n return m._pf;\n }\n\n var some;\n if (Array.prototype.some) {\n some = Array.prototype.some;\n } else {\n some = function (fun) {\n var t = Object(this);\n var len = t.length >>> 0;\n\n for (var i = 0; i < len; i++) {\n if (i in t && fun.call(this, t[i], i, t)) {\n return true;\n }\n }\n\n return false;\n };\n }\n\n function isValid(m) {\n if (m._isValid == null) {\n var flags = getParsingFlags(m);\n var parsedParts = some.call(flags.parsedDateParts, function (i) {\n return i != null;\n });\n var isNowValid = !isNaN(m._d.getTime()) &&\n flags.overflow < 0 &&\n !flags.empty &&\n !flags.invalidMonth &&\n !flags.invalidWeekday &&\n !flags.weekdayMismatch &&\n !flags.nullInput &&\n !flags.invalidFormat &&\n !flags.userInvalidated &&\n (!flags.meridiem || (flags.meridiem && parsedParts));\n\n if (m._strict) {\n isNowValid = isNowValid &&\n flags.charsLeftOver === 0 &&\n flags.unusedTokens.length === 0 &&\n flags.bigHour === undefined;\n }\n\n if (Object.isFrozen == null || !Object.isFrozen(m)) {\n m._isValid = isNowValid;\n }\n else {\n return isNowValid;\n }\n }\n return m._isValid;\n }\n\n function createInvalid (flags) {\n var m = createUTC(NaN);\n if (flags != null) {\n extend(getParsingFlags(m), flags);\n }\n else {\n getParsingFlags(m).userInvalidated = true;\n }\n\n return m;\n }\n\n // Plugins that add properties should also add the key here (null value),\n // so we can properly clone ourselves.\n var momentProperties = hooks.momentProperties = [];\n\n function copyConfig(to, from) {\n var i, prop, val;\n\n if (!isUndefined(from._isAMomentObject)) {\n to._isAMomentObject = from._isAMomentObject;\n }\n if (!isUndefined(from._i)) {\n to._i = from._i;\n }\n if (!isUndefined(from._f)) {\n to._f = from._f;\n }\n if (!isUndefined(from._l)) {\n to._l = from._l;\n }\n if (!isUndefined(from._strict)) {\n to._strict = from._strict;\n }\n if (!isUndefined(from._tzm)) {\n to._tzm = from._tzm;\n }\n if (!isUndefined(from._isUTC)) {\n to._isUTC = from._isUTC;\n }\n if (!isUndefined(from._offset)) {\n to._offset = from._offset;\n }\n if (!isUndefined(from._pf)) {\n to._pf = getParsingFlags(from);\n }\n if (!isUndefined(from._locale)) {\n to._locale = from._locale;\n }\n\n if (momentProperties.length > 0) {\n for (i = 0; i < momentProperties.length; i++) {\n prop = momentProperties[i];\n val = from[prop];\n if (!isUndefined(val)) {\n to[prop] = val;\n }\n }\n }\n\n return to;\n }\n\n var updateInProgress = false;\n\n // Moment prototype object\n function Moment(config) {\n copyConfig(this, config);\n this._d = new Date(config._d != null ? config._d.getTime() : NaN);\n if (!this.isValid()) {\n this._d = new Date(NaN);\n }\n // Prevent infinite loop in case updateOffset creates new moment\n // objects.\n if (updateInProgress === false) {\n updateInProgress = true;\n hooks.updateOffset(this);\n updateInProgress = false;\n }\n }\n\n function isMoment (obj) {\n return obj instanceof Moment || (obj != null && obj._isAMomentObject != null);\n }\n\n function absFloor (number) {\n if (number < 0) {\n // -0 -> 0\n return Math.ceil(number) || 0;\n } else {\n return Math.floor(number);\n }\n }\n\n function toInt(argumentForCoercion) {\n var coercedNumber = +argumentForCoercion,\n value = 0;\n\n if (coercedNumber !== 0 && isFinite(coercedNumber)) {\n value = absFloor(coercedNumber);\n }\n\n return value;\n }\n\n // compare two arrays, return the number of differences\n function compareArrays(array1, array2, dontConvert) {\n var len = Math.min(array1.length, array2.length),\n lengthDiff = Math.abs(array1.length - array2.length),\n diffs = 0,\n i;\n for (i = 0; i < len; i++) {\n if ((dontConvert && array1[i] !== array2[i]) ||\n (!dontConvert && toInt(array1[i]) !== toInt(array2[i]))) {\n diffs++;\n }\n }\n return diffs + lengthDiff;\n }\n\n function warn(msg) {\n if (hooks.suppressDeprecationWarnings === false &&\n (typeof console !== 'undefined') && console.warn) {\n console.warn('Deprecation warning: ' + msg);\n }\n }\n\n function deprecate(msg, fn) {\n var firstTime = true;\n\n return extend(function () {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(null, msg);\n }\n if (firstTime) {\n var args = [];\n var arg;\n for (var i = 0; i < arguments.length; i++) {\n arg = '';\n if (typeof arguments[i] === 'object') {\n arg += '\\n[' + i + '] ';\n for (var key in arguments[0]) {\n arg += key + ': ' + arguments[0][key] + ', ';\n }\n arg = arg.slice(0, -2); // Remove trailing comma and space\n } else {\n arg = arguments[i];\n }\n args.push(arg);\n }\n warn(msg + '\\nArguments: ' + Array.prototype.slice.call(args).join('') + '\\n' + (new Error()).stack);\n firstTime = false;\n }\n return fn.apply(this, arguments);\n }, fn);\n }\n\n var deprecations = {};\n\n function deprecateSimple(name, msg) {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(name, msg);\n }\n if (!deprecations[name]) {\n warn(msg);\n deprecations[name] = true;\n }\n }\n\n hooks.suppressDeprecationWarnings = false;\n hooks.deprecationHandler = null;\n\n function isFunction(input) {\n return input instanceof Function || Object.prototype.toString.call(input) === '[object Function]';\n }\n\n function set (config) {\n var prop, i;\n for (i in config) {\n prop = config[i];\n if (isFunction(prop)) {\n this[i] = prop;\n } else {\n this['_' + i] = prop;\n }\n }\n this._config = config;\n // Lenient ordinal parsing accepts just a number in addition to\n // number + (possibly) stuff coming from _dayOfMonthOrdinalParse.\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n this._dayOfMonthOrdinalParseLenient = new RegExp(\n (this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) +\n '|' + (/\\d{1,2}/).source);\n }\n\n function mergeConfigs(parentConfig, childConfig) {\n var res = extend({}, parentConfig), prop;\n for (prop in childConfig) {\n if (hasOwnProp(childConfig, prop)) {\n if (isObject(parentConfig[prop]) && isObject(childConfig[prop])) {\n res[prop] = {};\n extend(res[prop], parentConfig[prop]);\n extend(res[prop], childConfig[prop]);\n } else if (childConfig[prop] != null) {\n res[prop] = childConfig[prop];\n } else {\n delete res[prop];\n }\n }\n }\n for (prop in parentConfig) {\n if (hasOwnProp(parentConfig, prop) &&\n !hasOwnProp(childConfig, prop) &&\n isObject(parentConfig[prop])) {\n // make sure changes to properties don't modify parent config\n res[prop] = extend({}, res[prop]);\n }\n }\n return res;\n }\n\n function Locale(config) {\n if (config != null) {\n this.set(config);\n }\n }\n\n var keys;\n\n if (Object.keys) {\n keys = Object.keys;\n } else {\n keys = function (obj) {\n var i, res = [];\n for (i in obj) {\n if (hasOwnProp(obj, i)) {\n res.push(i);\n }\n }\n return res;\n };\n }\n\n var defaultCalendar = {\n sameDay : '[Today at] LT',\n nextDay : '[Tomorrow at] LT',\n nextWeek : 'dddd [at] LT',\n lastDay : '[Yesterday at] LT',\n lastWeek : '[Last] dddd [at] LT',\n sameElse : 'L'\n };\n\n function calendar (key, mom, now) {\n var output = this._calendar[key] || this._calendar['sameElse'];\n return isFunction(output) ? output.call(mom, now) : output;\n }\n\n var defaultLongDateFormat = {\n LTS : 'h:mm:ss A',\n LT : 'h:mm A',\n L : 'MM/DD/YYYY',\n LL : 'MMMM D, YYYY',\n LLL : 'MMMM D, YYYY h:mm A',\n LLLL : 'dddd, MMMM D, YYYY h:mm A'\n };\n\n function longDateFormat (key) {\n var format = this._longDateFormat[key],\n formatUpper = this._longDateFormat[key.toUpperCase()];\n\n if (format || !formatUpper) {\n return format;\n }\n\n this._longDateFormat[key] = formatUpper.replace(/MMMM|MM|DD|dddd/g, function (val) {\n return val.slice(1);\n });\n\n return this._longDateFormat[key];\n }\n\n var defaultInvalidDate = 'Invalid date';\n\n function invalidDate () {\n return this._invalidDate;\n }\n\n var defaultOrdinal = '%d';\n var defaultDayOfMonthOrdinalParse = /\\d{1,2}/;\n\n function ordinal (number) {\n return this._ordinal.replace('%d', number);\n }\n\n var defaultRelativeTime = {\n future : 'in %s',\n past : '%s ago',\n s : 'a few seconds',\n ss : '%d seconds',\n m : 'a minute',\n mm : '%d minutes',\n h : 'an hour',\n hh : '%d hours',\n d : 'a day',\n dd : '%d days',\n M : 'a month',\n MM : '%d months',\n y : 'a year',\n yy : '%d years'\n };\n\n function relativeTime (number, withoutSuffix, string, isFuture) {\n var output = this._relativeTime[string];\n return (isFunction(output)) ?\n output(number, withoutSuffix, string, isFuture) :\n output.replace(/%d/i, number);\n }\n\n function pastFuture (diff, output) {\n var format = this._relativeTime[diff > 0 ? 'future' : 'past'];\n return isFunction(format) ? format(output) : format.replace(/%s/i, output);\n }\n\n var aliases = {};\n\n function addUnitAlias (unit, shorthand) {\n var lowerCase = unit.toLowerCase();\n aliases[lowerCase] = aliases[lowerCase + 's'] = aliases[shorthand] = unit;\n }\n\n function normalizeUnits(units) {\n return typeof units === 'string' ? aliases[units] || aliases[units.toLowerCase()] : undefined;\n }\n\n function normalizeObjectUnits(inputObject) {\n var normalizedInput = {},\n normalizedProp,\n prop;\n\n for (prop in inputObject) {\n if (hasOwnProp(inputObject, prop)) {\n normalizedProp = normalizeUnits(prop);\n if (normalizedProp) {\n normalizedInput[normalizedProp] = inputObject[prop];\n }\n }\n }\n\n return normalizedInput;\n }\n\n var priorities = {};\n\n function addUnitPriority(unit, priority) {\n priorities[unit] = priority;\n }\n\n function getPrioritizedUnits(unitsObj) {\n var units = [];\n for (var u in unitsObj) {\n units.push({unit: u, priority: priorities[u]});\n }\n units.sort(function (a, b) {\n return a.priority - b.priority;\n });\n return units;\n }\n\n function zeroFill(number, targetLength, forceSign) {\n var absNumber = '' + Math.abs(number),\n zerosToFill = targetLength - absNumber.length,\n sign = number >= 0;\n return (sign ? (forceSign ? '+' : '') : '-') +\n Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) + absNumber;\n }\n\n var formattingTokens = /(\\[[^\\[]*\\])|(\\\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g;\n\n var localFormattingTokens = /(\\[[^\\[]*\\])|(\\\\)?(LTS|LT|LL?L?L?|l{1,4})/g;\n\n var formatFunctions = {};\n\n var formatTokenFunctions = {};\n\n // token: 'M'\n // padded: ['MM', 2]\n // ordinal: 'Mo'\n // callback: function () { this.month() + 1 }\n function addFormatToken (token, padded, ordinal, callback) {\n var func = callback;\n if (typeof callback === 'string') {\n func = function () {\n return this[callback]();\n };\n }\n if (token) {\n formatTokenFunctions[token] = func;\n }\n if (padded) {\n formatTokenFunctions[padded[0]] = function () {\n return zeroFill(func.apply(this, arguments), padded[1], padded[2]);\n };\n }\n if (ordinal) {\n formatTokenFunctions[ordinal] = function () {\n return this.localeData().ordinal(func.apply(this, arguments), token);\n };\n }\n }\n\n function removeFormattingTokens(input) {\n if (input.match(/\\[[\\s\\S]/)) {\n return input.replace(/^\\[|\\]$/g, '');\n }\n return input.replace(/\\\\/g, '');\n }\n\n function makeFormatFunction(format) {\n var array = format.match(formattingTokens), i, length;\n\n for (i = 0, length = array.length; i < length; i++) {\n if (formatTokenFunctions[array[i]]) {\n array[i] = formatTokenFunctions[array[i]];\n } else {\n array[i] = removeFormattingTokens(array[i]);\n }\n }\n\n return function (mom) {\n var output = '', i;\n for (i = 0; i < length; i++) {\n output += isFunction(array[i]) ? array[i].call(mom, format) : array[i];\n }\n return output;\n };\n }\n\n // format date using native date object\n function formatMoment(m, format) {\n if (!m.isValid()) {\n return m.localeData().invalidDate();\n }\n\n format = expandFormat(format, m.localeData());\n formatFunctions[format] = formatFunctions[format] || makeFormatFunction(format);\n\n return formatFunctions[format](m);\n }\n\n function expandFormat(format, locale) {\n var i = 5;\n\n function replaceLongDateFormatTokens(input) {\n return locale.longDateFormat(input) || input;\n }\n\n localFormattingTokens.lastIndex = 0;\n while (i >= 0 && localFormattingTokens.test(format)) {\n format = format.replace(localFormattingTokens, replaceLongDateFormatTokens);\n localFormattingTokens.lastIndex = 0;\n i -= 1;\n }\n\n return format;\n }\n\n var match1 = /\\d/; // 0 - 9\n var match2 = /\\d\\d/; // 00 - 99\n var match3 = /\\d{3}/; // 000 - 999\n var match4 = /\\d{4}/; // 0000 - 9999\n var match6 = /[+-]?\\d{6}/; // -999999 - 999999\n var match1to2 = /\\d\\d?/; // 0 - 99\n var match3to4 = /\\d\\d\\d\\d?/; // 999 - 9999\n var match5to6 = /\\d\\d\\d\\d\\d\\d?/; // 99999 - 999999\n var match1to3 = /\\d{1,3}/; // 0 - 999\n var match1to4 = /\\d{1,4}/; // 0 - 9999\n var match1to6 = /[+-]?\\d{1,6}/; // -999999 - 999999\n\n var matchUnsigned = /\\d+/; // 0 - inf\n var matchSigned = /[+-]?\\d+/; // -inf - inf\n\n var matchOffset = /Z|[+-]\\d\\d:?\\d\\d/gi; // +00:00 -00:00 +0000 -0000 or Z\n var matchShortOffset = /Z|[+-]\\d\\d(?::?\\d\\d)?/gi; // +00 -00 +00:00 -00:00 +0000 -0000 or Z\n\n var matchTimestamp = /[+-]?\\d+(\\.\\d{1,3})?/; // 123456789 123456789.123\n\n // any word (or two) characters or numbers including two/three word month in arabic.\n // includes scottish gaelic two word and hyphenated months\n var matchWord = /[0-9]{0,256}['a-z\\u00A0-\\u05FF\\u0700-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFF07\\uFF10-\\uFFEF]{1,256}|[\\u0600-\\u06FF\\/]{1,256}(\\s*?[\\u0600-\\u06FF]{1,256}){1,2}/i;\n\n var regexes = {};\n\n function addRegexToken (token, regex, strictRegex) {\n regexes[token] = isFunction(regex) ? regex : function (isStrict, localeData) {\n return (isStrict && strictRegex) ? strictRegex : regex;\n };\n }\n\n function getParseRegexForToken (token, config) {\n if (!hasOwnProp(regexes, token)) {\n return new RegExp(unescapeFormat(token));\n }\n\n return regexes[token](config._strict, config._locale);\n }\n\n // Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript\n function unescapeFormat(s) {\n return regexEscape(s.replace('\\\\', '').replace(/\\\\(\\[)|\\\\(\\])|\\[([^\\]\\[]*)\\]|\\\\(.)/g, function (matched, p1, p2, p3, p4) {\n return p1 || p2 || p3 || p4;\n }));\n }\n\n function regexEscape(s) {\n return s.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n }\n\n var tokens = {};\n\n function addParseToken (token, callback) {\n var i, func = callback;\n if (typeof token === 'string') {\n token = [token];\n }\n if (isNumber(callback)) {\n func = function (input, array) {\n array[callback] = toInt(input);\n };\n }\n for (i = 0; i < token.length; i++) {\n tokens[token[i]] = func;\n }\n }\n\n function addWeekParseToken (token, callback) {\n addParseToken(token, function (input, array, config, token) {\n config._w = config._w || {};\n callback(input, config._w, config, token);\n });\n }\n\n function addTimeToArrayFromToken(token, input, config) {\n if (input != null && hasOwnProp(tokens, token)) {\n tokens[token](input, config._a, config, token);\n }\n }\n\n var YEAR = 0;\n var MONTH = 1;\n var DATE = 2;\n var HOUR = 3;\n var MINUTE = 4;\n var SECOND = 5;\n var MILLISECOND = 6;\n var WEEK = 7;\n var WEEKDAY = 8;\n\n // FORMATTING\n\n addFormatToken('Y', 0, 0, function () {\n var y = this.year();\n return y <= 9999 ? '' + y : '+' + y;\n });\n\n addFormatToken(0, ['YY', 2], 0, function () {\n return this.year() % 100;\n });\n\n addFormatToken(0, ['YYYY', 4], 0, 'year');\n addFormatToken(0, ['YYYYY', 5], 0, 'year');\n addFormatToken(0, ['YYYYYY', 6, true], 0, 'year');\n\n // ALIASES\n\n addUnitAlias('year', 'y');\n\n // PRIORITIES\n\n addUnitPriority('year', 1);\n\n // PARSING\n\n addRegexToken('Y', matchSigned);\n addRegexToken('YY', match1to2, match2);\n addRegexToken('YYYY', match1to4, match4);\n addRegexToken('YYYYY', match1to6, match6);\n addRegexToken('YYYYYY', match1to6, match6);\n\n addParseToken(['YYYYY', 'YYYYYY'], YEAR);\n addParseToken('YYYY', function (input, array) {\n array[YEAR] = input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input);\n });\n addParseToken('YY', function (input, array) {\n array[YEAR] = hooks.parseTwoDigitYear(input);\n });\n addParseToken('Y', function (input, array) {\n array[YEAR] = parseInt(input, 10);\n });\n\n // HELPERS\n\n function daysInYear(year) {\n return isLeapYear(year) ? 366 : 365;\n }\n\n function isLeapYear(year) {\n return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;\n }\n\n // HOOKS\n\n hooks.parseTwoDigitYear = function (input) {\n return toInt(input) + (toInt(input) > 68 ? 1900 : 2000);\n };\n\n // MOMENTS\n\n var getSetYear = makeGetSet('FullYear', true);\n\n function getIsLeapYear () {\n return isLeapYear(this.year());\n }\n\n function makeGetSet (unit, keepTime) {\n return function (value) {\n if (value != null) {\n set$1(this, unit, value);\n hooks.updateOffset(this, keepTime);\n return this;\n } else {\n return get(this, unit);\n }\n };\n }\n\n function get (mom, unit) {\n return mom.isValid() ?\n mom._d['get' + (mom._isUTC ? 'UTC' : '') + unit]() : NaN;\n }\n\n function set$1 (mom, unit, value) {\n if (mom.isValid() && !isNaN(value)) {\n if (unit === 'FullYear' && isLeapYear(mom.year()) && mom.month() === 1 && mom.date() === 29) {\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value, mom.month(), daysInMonth(value, mom.month()));\n }\n else {\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value);\n }\n }\n }\n\n // MOMENTS\n\n function stringGet (units) {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units]();\n }\n return this;\n }\n\n\n function stringSet (units, value) {\n if (typeof units === 'object') {\n units = normalizeObjectUnits(units);\n var prioritized = getPrioritizedUnits(units);\n for (var i = 0; i < prioritized.length; i++) {\n this[prioritized[i].unit](units[prioritized[i].unit]);\n }\n } else {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units](value);\n }\n }\n return this;\n }\n\n function mod(n, x) {\n return ((n % x) + x) % x;\n }\n\n var indexOf;\n\n if (Array.prototype.indexOf) {\n indexOf = Array.prototype.indexOf;\n } else {\n indexOf = function (o) {\n // I know\n var i;\n for (i = 0; i < this.length; ++i) {\n if (this[i] === o) {\n return i;\n }\n }\n return -1;\n };\n }\n\n function daysInMonth(year, month) {\n if (isNaN(year) || isNaN(month)) {\n return NaN;\n }\n var modMonth = mod(month, 12);\n year += (month - modMonth) / 12;\n return modMonth === 1 ? (isLeapYear(year) ? 29 : 28) : (31 - modMonth % 7 % 2);\n }\n\n // FORMATTING\n\n addFormatToken('M', ['MM', 2], 'Mo', function () {\n return this.month() + 1;\n });\n\n addFormatToken('MMM', 0, 0, function (format) {\n return this.localeData().monthsShort(this, format);\n });\n\n addFormatToken('MMMM', 0, 0, function (format) {\n return this.localeData().months(this, format);\n });\n\n // ALIASES\n\n addUnitAlias('month', 'M');\n\n // PRIORITY\n\n addUnitPriority('month', 8);\n\n // PARSING\n\n addRegexToken('M', match1to2);\n addRegexToken('MM', match1to2, match2);\n addRegexToken('MMM', function (isStrict, locale) {\n return locale.monthsShortRegex(isStrict);\n });\n addRegexToken('MMMM', function (isStrict, locale) {\n return locale.monthsRegex(isStrict);\n });\n\n addParseToken(['M', 'MM'], function (input, array) {\n array[MONTH] = toInt(input) - 1;\n });\n\n addParseToken(['MMM', 'MMMM'], function (input, array, config, token) {\n var month = config._locale.monthsParse(input, token, config._strict);\n // if we didn't find a month name, mark the date as invalid.\n if (month != null) {\n array[MONTH] = month;\n } else {\n getParsingFlags(config).invalidMonth = input;\n }\n });\n\n // LOCALES\n\n var MONTHS_IN_FORMAT = /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?/;\n var defaultLocaleMonths = 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_');\n function localeMonths (m, format) {\n if (!m) {\n return isArray(this._months) ? this._months :\n this._months['standalone'];\n }\n return isArray(this._months) ? this._months[m.month()] :\n this._months[(this._months.isFormat || MONTHS_IN_FORMAT).test(format) ? 'format' : 'standalone'][m.month()];\n }\n\n var defaultLocaleMonthsShort = 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_');\n function localeMonthsShort (m, format) {\n if (!m) {\n return isArray(this._monthsShort) ? this._monthsShort :\n this._monthsShort['standalone'];\n }\n return isArray(this._monthsShort) ? this._monthsShort[m.month()] :\n this._monthsShort[MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone'][m.month()];\n }\n\n function handleStrictParse(monthName, format, strict) {\n var i, ii, mom, llc = monthName.toLocaleLowerCase();\n if (!this._monthsParse) {\n // this is not used\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n for (i = 0; i < 12; ++i) {\n mom = createUTC([2000, i]);\n this._shortMonthsParse[i] = this.monthsShort(mom, '').toLocaleLowerCase();\n this._longMonthsParse[i] = this.months(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n }\n\n function localeMonthsParse (monthName, format, strict) {\n var i, mom, regex;\n\n if (this._monthsParseExact) {\n return handleStrictParse.call(this, monthName, format, strict);\n }\n\n if (!this._monthsParse) {\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n }\n\n // TODO: add sorting\n // Sorting makes sure if one month (or abbr) is a prefix of another\n // see sorting in computeMonthsParse\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n if (strict && !this._longMonthsParse[i]) {\n this._longMonthsParse[i] = new RegExp('^' + this.months(mom, '').replace('.', '') + '$', 'i');\n this._shortMonthsParse[i] = new RegExp('^' + this.monthsShort(mom, '').replace('.', '') + '$', 'i');\n }\n if (!strict && !this._monthsParse[i]) {\n regex = '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, '');\n this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (strict && format === 'MMMM' && this._longMonthsParse[i].test(monthName)) {\n return i;\n } else if (strict && format === 'MMM' && this._shortMonthsParse[i].test(monthName)) {\n return i;\n } else if (!strict && this._monthsParse[i].test(monthName)) {\n return i;\n }\n }\n }\n\n // MOMENTS\n\n function setMonth (mom, value) {\n var dayOfMonth;\n\n if (!mom.isValid()) {\n // No op\n return mom;\n }\n\n if (typeof value === 'string') {\n if (/^\\d+$/.test(value)) {\n value = toInt(value);\n } else {\n value = mom.localeData().monthsParse(value);\n // TODO: Another silent failure?\n if (!isNumber(value)) {\n return mom;\n }\n }\n }\n\n dayOfMonth = Math.min(mom.date(), daysInMonth(mom.year(), value));\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + 'Month'](value, dayOfMonth);\n return mom;\n }\n\n function getSetMonth (value) {\n if (value != null) {\n setMonth(this, value);\n hooks.updateOffset(this, true);\n return this;\n } else {\n return get(this, 'Month');\n }\n }\n\n function getDaysInMonth () {\n return daysInMonth(this.year(), this.month());\n }\n\n var defaultMonthsShortRegex = matchWord;\n function monthsShortRegex (isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n if (isStrict) {\n return this._monthsShortStrictRegex;\n } else {\n return this._monthsShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsShortRegex')) {\n this._monthsShortRegex = defaultMonthsShortRegex;\n }\n return this._monthsShortStrictRegex && isStrict ?\n this._monthsShortStrictRegex : this._monthsShortRegex;\n }\n }\n\n var defaultMonthsRegex = matchWord;\n function monthsRegex (isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n if (isStrict) {\n return this._monthsStrictRegex;\n } else {\n return this._monthsRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsRegex')) {\n this._monthsRegex = defaultMonthsRegex;\n }\n return this._monthsStrictRegex && isStrict ?\n this._monthsStrictRegex : this._monthsRegex;\n }\n }\n\n function computeMonthsParse () {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var shortPieces = [], longPieces = [], mixedPieces = [],\n i, mom;\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n shortPieces.push(this.monthsShort(mom, ''));\n longPieces.push(this.months(mom, ''));\n mixedPieces.push(this.months(mom, ''));\n mixedPieces.push(this.monthsShort(mom, ''));\n }\n // Sorting makes sure if one month (or abbr) is a prefix of another it\n // will match the longer piece.\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n for (i = 0; i < 12; i++) {\n shortPieces[i] = regexEscape(shortPieces[i]);\n longPieces[i] = regexEscape(longPieces[i]);\n }\n for (i = 0; i < 24; i++) {\n mixedPieces[i] = regexEscape(mixedPieces[i]);\n }\n\n this._monthsRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._monthsShortRegex = this._monthsRegex;\n this._monthsStrictRegex = new RegExp('^(' + longPieces.join('|') + ')', 'i');\n this._monthsShortStrictRegex = new RegExp('^(' + shortPieces.join('|') + ')', 'i');\n }\n\n function createDate (y, m, d, h, M, s, ms) {\n // can't just apply() to create a date:\n // https://stackoverflow.com/q/181348\n var date = new Date(y, m, d, h, M, s, ms);\n\n // the date constructor remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0 && isFinite(date.getFullYear())) {\n date.setFullYear(y);\n }\n return date;\n }\n\n function createUTCDate (y) {\n var date = new Date(Date.UTC.apply(null, arguments));\n\n // the Date.UTC function remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0 && isFinite(date.getUTCFullYear())) {\n date.setUTCFullYear(y);\n }\n return date;\n }\n\n // start-of-first-week - start-of-year\n function firstWeekOffset(year, dow, doy) {\n var // first-week day -- which january is always in the first week (4 for iso, 1 for other)\n fwd = 7 + dow - doy,\n // first-week day local weekday -- which local weekday is fwd\n fwdlw = (7 + createUTCDate(year, 0, fwd).getUTCDay() - dow) % 7;\n\n return -fwdlw + fwd - 1;\n }\n\n // https://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday\n function dayOfYearFromWeeks(year, week, weekday, dow, doy) {\n var localWeekday = (7 + weekday - dow) % 7,\n weekOffset = firstWeekOffset(year, dow, doy),\n dayOfYear = 1 + 7 * (week - 1) + localWeekday + weekOffset,\n resYear, resDayOfYear;\n\n if (dayOfYear <= 0) {\n resYear = year - 1;\n resDayOfYear = daysInYear(resYear) + dayOfYear;\n } else if (dayOfYear > daysInYear(year)) {\n resYear = year + 1;\n resDayOfYear = dayOfYear - daysInYear(year);\n } else {\n resYear = year;\n resDayOfYear = dayOfYear;\n }\n\n return {\n year: resYear,\n dayOfYear: resDayOfYear\n };\n }\n\n function weekOfYear(mom, dow, doy) {\n var weekOffset = firstWeekOffset(mom.year(), dow, doy),\n week = Math.floor((mom.dayOfYear() - weekOffset - 1) / 7) + 1,\n resWeek, resYear;\n\n if (week < 1) {\n resYear = mom.year() - 1;\n resWeek = week + weeksInYear(resYear, dow, doy);\n } else if (week > weeksInYear(mom.year(), dow, doy)) {\n resWeek = week - weeksInYear(mom.year(), dow, doy);\n resYear = mom.year() + 1;\n } else {\n resYear = mom.year();\n resWeek = week;\n }\n\n return {\n week: resWeek,\n year: resYear\n };\n }\n\n function weeksInYear(year, dow, doy) {\n var weekOffset = firstWeekOffset(year, dow, doy),\n weekOffsetNext = firstWeekOffset(year + 1, dow, doy);\n return (daysInYear(year) - weekOffset + weekOffsetNext) / 7;\n }\n\n // FORMATTING\n\n addFormatToken('w', ['ww', 2], 'wo', 'week');\n addFormatToken('W', ['WW', 2], 'Wo', 'isoWeek');\n\n // ALIASES\n\n addUnitAlias('week', 'w');\n addUnitAlias('isoWeek', 'W');\n\n // PRIORITIES\n\n addUnitPriority('week', 5);\n addUnitPriority('isoWeek', 5);\n\n // PARSING\n\n addRegexToken('w', match1to2);\n addRegexToken('ww', match1to2, match2);\n addRegexToken('W', match1to2);\n addRegexToken('WW', match1to2, match2);\n\n addWeekParseToken(['w', 'ww', 'W', 'WW'], function (input, week, config, token) {\n week[token.substr(0, 1)] = toInt(input);\n });\n\n // HELPERS\n\n // LOCALES\n\n function localeWeek (mom) {\n return weekOfYear(mom, this._week.dow, this._week.doy).week;\n }\n\n var defaultLocaleWeek = {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n };\n\n function localeFirstDayOfWeek () {\n return this._week.dow;\n }\n\n function localeFirstDayOfYear () {\n return this._week.doy;\n }\n\n // MOMENTS\n\n function getSetWeek (input) {\n var week = this.localeData().week(this);\n return input == null ? week : this.add((input - week) * 7, 'd');\n }\n\n function getSetISOWeek (input) {\n var week = weekOfYear(this, 1, 4).week;\n return input == null ? week : this.add((input - week) * 7, 'd');\n }\n\n // FORMATTING\n\n addFormatToken('d', 0, 'do', 'day');\n\n addFormatToken('dd', 0, 0, function (format) {\n return this.localeData().weekdaysMin(this, format);\n });\n\n addFormatToken('ddd', 0, 0, function (format) {\n return this.localeData().weekdaysShort(this, format);\n });\n\n addFormatToken('dddd', 0, 0, function (format) {\n return this.localeData().weekdays(this, format);\n });\n\n addFormatToken('e', 0, 0, 'weekday');\n addFormatToken('E', 0, 0, 'isoWeekday');\n\n // ALIASES\n\n addUnitAlias('day', 'd');\n addUnitAlias('weekday', 'e');\n addUnitAlias('isoWeekday', 'E');\n\n // PRIORITY\n addUnitPriority('day', 11);\n addUnitPriority('weekday', 11);\n addUnitPriority('isoWeekday', 11);\n\n // PARSING\n\n addRegexToken('d', match1to2);\n addRegexToken('e', match1to2);\n addRegexToken('E', match1to2);\n addRegexToken('dd', function (isStrict, locale) {\n return locale.weekdaysMinRegex(isStrict);\n });\n addRegexToken('ddd', function (isStrict, locale) {\n return locale.weekdaysShortRegex(isStrict);\n });\n addRegexToken('dddd', function (isStrict, locale) {\n return locale.weekdaysRegex(isStrict);\n });\n\n addWeekParseToken(['dd', 'ddd', 'dddd'], function (input, week, config, token) {\n var weekday = config._locale.weekdaysParse(input, token, config._strict);\n // if we didn't get a weekday name, mark the date as invalid\n if (weekday != null) {\n week.d = weekday;\n } else {\n getParsingFlags(config).invalidWeekday = input;\n }\n });\n\n addWeekParseToken(['d', 'e', 'E'], function (input, week, config, token) {\n week[token] = toInt(input);\n });\n\n // HELPERS\n\n function parseWeekday(input, locale) {\n if (typeof input !== 'string') {\n return input;\n }\n\n if (!isNaN(input)) {\n return parseInt(input, 10);\n }\n\n input = locale.weekdaysParse(input);\n if (typeof input === 'number') {\n return input;\n }\n\n return null;\n }\n\n function parseIsoWeekday(input, locale) {\n if (typeof input === 'string') {\n return locale.weekdaysParse(input) % 7 || 7;\n }\n return isNaN(input) ? null : input;\n }\n\n // LOCALES\n\n var defaultLocaleWeekdays = 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_');\n function localeWeekdays (m, format) {\n if (!m) {\n return isArray(this._weekdays) ? this._weekdays :\n this._weekdays['standalone'];\n }\n return isArray(this._weekdays) ? this._weekdays[m.day()] :\n this._weekdays[this._weekdays.isFormat.test(format) ? 'format' : 'standalone'][m.day()];\n }\n\n var defaultLocaleWeekdaysShort = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_');\n function localeWeekdaysShort (m) {\n return (m) ? this._weekdaysShort[m.day()] : this._weekdaysShort;\n }\n\n var defaultLocaleWeekdaysMin = 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_');\n function localeWeekdaysMin (m) {\n return (m) ? this._weekdaysMin[m.day()] : this._weekdaysMin;\n }\n\n function handleStrictParse$1(weekdayName, format, strict) {\n var i, ii, mom, llc = weekdayName.toLocaleLowerCase();\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._minWeekdaysParse = [];\n\n for (i = 0; i < 7; ++i) {\n mom = createUTC([2000, 1]).day(i);\n this._minWeekdaysParse[i] = this.weekdaysMin(mom, '').toLocaleLowerCase();\n this._shortWeekdaysParse[i] = this.weekdaysShort(mom, '').toLocaleLowerCase();\n this._weekdaysParse[i] = this.weekdays(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n }\n\n function localeWeekdaysParse (weekdayName, format, strict) {\n var i, mom, regex;\n\n if (this._weekdaysParseExact) {\n return handleStrictParse$1.call(this, weekdayName, format, strict);\n }\n\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._minWeekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._fullWeekdaysParse = [];\n }\n\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n\n mom = createUTC([2000, 1]).day(i);\n if (strict && !this._fullWeekdaysParse[i]) {\n this._fullWeekdaysParse[i] = new RegExp('^' + this.weekdays(mom, '').replace('.', '\\\\.?') + '$', 'i');\n this._shortWeekdaysParse[i] = new RegExp('^' + this.weekdaysShort(mom, '').replace('.', '\\\\.?') + '$', 'i');\n this._minWeekdaysParse[i] = new RegExp('^' + this.weekdaysMin(mom, '').replace('.', '\\\\.?') + '$', 'i');\n }\n if (!this._weekdaysParse[i]) {\n regex = '^' + this.weekdays(mom, '') + '|^' + this.weekdaysShort(mom, '') + '|^' + this.weekdaysMin(mom, '');\n this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (strict && format === 'dddd' && this._fullWeekdaysParse[i].test(weekdayName)) {\n return i;\n } else if (strict && format === 'ddd' && this._shortWeekdaysParse[i].test(weekdayName)) {\n return i;\n } else if (strict && format === 'dd' && this._minWeekdaysParse[i].test(weekdayName)) {\n return i;\n } else if (!strict && this._weekdaysParse[i].test(weekdayName)) {\n return i;\n }\n }\n }\n\n // MOMENTS\n\n function getSetDayOfWeek (input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n var day = this._isUTC ? this._d.getUTCDay() : this._d.getDay();\n if (input != null) {\n input = parseWeekday(input, this.localeData());\n return this.add(input - day, 'd');\n } else {\n return day;\n }\n }\n\n function getSetLocaleDayOfWeek (input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7;\n return input == null ? weekday : this.add(input - weekday, 'd');\n }\n\n function getSetISODayOfWeek (input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n\n // behaves the same as moment#day except\n // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6)\n // as a setter, sunday should belong to the previous week.\n\n if (input != null) {\n var weekday = parseIsoWeekday(input, this.localeData());\n return this.day(this.day() % 7 ? weekday : weekday - 7);\n } else {\n return this.day() || 7;\n }\n }\n\n var defaultWeekdaysRegex = matchWord;\n function weekdaysRegex (isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysStrictRegex;\n } else {\n return this._weekdaysRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n this._weekdaysRegex = defaultWeekdaysRegex;\n }\n return this._weekdaysStrictRegex && isStrict ?\n this._weekdaysStrictRegex : this._weekdaysRegex;\n }\n }\n\n var defaultWeekdaysShortRegex = matchWord;\n function weekdaysShortRegex (isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysShortStrictRegex;\n } else {\n return this._weekdaysShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysShortRegex')) {\n this._weekdaysShortRegex = defaultWeekdaysShortRegex;\n }\n return this._weekdaysShortStrictRegex && isStrict ?\n this._weekdaysShortStrictRegex : this._weekdaysShortRegex;\n }\n }\n\n var defaultWeekdaysMinRegex = matchWord;\n function weekdaysMinRegex (isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysMinStrictRegex;\n } else {\n return this._weekdaysMinRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysMinRegex')) {\n this._weekdaysMinRegex = defaultWeekdaysMinRegex;\n }\n return this._weekdaysMinStrictRegex && isStrict ?\n this._weekdaysMinStrictRegex : this._weekdaysMinRegex;\n }\n }\n\n\n function computeWeekdaysParse () {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var minPieces = [], shortPieces = [], longPieces = [], mixedPieces = [],\n i, mom, minp, shortp, longp;\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, 1]).day(i);\n minp = this.weekdaysMin(mom, '');\n shortp = this.weekdaysShort(mom, '');\n longp = this.weekdays(mom, '');\n minPieces.push(minp);\n shortPieces.push(shortp);\n longPieces.push(longp);\n mixedPieces.push(minp);\n mixedPieces.push(shortp);\n mixedPieces.push(longp);\n }\n // Sorting makes sure if one weekday (or abbr) is a prefix of another it\n // will match the longer piece.\n minPieces.sort(cmpLenRev);\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n for (i = 0; i < 7; i++) {\n shortPieces[i] = regexEscape(shortPieces[i]);\n longPieces[i] = regexEscape(longPieces[i]);\n mixedPieces[i] = regexEscape(mixedPieces[i]);\n }\n\n this._weekdaysRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._weekdaysShortRegex = this._weekdaysRegex;\n this._weekdaysMinRegex = this._weekdaysRegex;\n\n this._weekdaysStrictRegex = new RegExp('^(' + longPieces.join('|') + ')', 'i');\n this._weekdaysShortStrictRegex = new RegExp('^(' + shortPieces.join('|') + ')', 'i');\n this._weekdaysMinStrictRegex = new RegExp('^(' + minPieces.join('|') + ')', 'i');\n }\n\n // FORMATTING\n\n function hFormat() {\n return this.hours() % 12 || 12;\n }\n\n function kFormat() {\n return this.hours() || 24;\n }\n\n addFormatToken('H', ['HH', 2], 0, 'hour');\n addFormatToken('h', ['hh', 2], 0, hFormat);\n addFormatToken('k', ['kk', 2], 0, kFormat);\n\n addFormatToken('hmm', 0, 0, function () {\n return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2);\n });\n\n addFormatToken('hmmss', 0, 0, function () {\n return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2);\n });\n\n addFormatToken('Hmm', 0, 0, function () {\n return '' + this.hours() + zeroFill(this.minutes(), 2);\n });\n\n addFormatToken('Hmmss', 0, 0, function () {\n return '' + this.hours() + zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2);\n });\n\n function meridiem (token, lowercase) {\n addFormatToken(token, 0, 0, function () {\n return this.localeData().meridiem(this.hours(), this.minutes(), lowercase);\n });\n }\n\n meridiem('a', true);\n meridiem('A', false);\n\n // ALIASES\n\n addUnitAlias('hour', 'h');\n\n // PRIORITY\n addUnitPriority('hour', 13);\n\n // PARSING\n\n function matchMeridiem (isStrict, locale) {\n return locale._meridiemParse;\n }\n\n addRegexToken('a', matchMeridiem);\n addRegexToken('A', matchMeridiem);\n addRegexToken('H', match1to2);\n addRegexToken('h', match1to2);\n addRegexToken('k', match1to2);\n addRegexToken('HH', match1to2, match2);\n addRegexToken('hh', match1to2, match2);\n addRegexToken('kk', match1to2, match2);\n\n addRegexToken('hmm', match3to4);\n addRegexToken('hmmss', match5to6);\n addRegexToken('Hmm', match3to4);\n addRegexToken('Hmmss', match5to6);\n\n addParseToken(['H', 'HH'], HOUR);\n addParseToken(['k', 'kk'], function (input, array, config) {\n var kInput = toInt(input);\n array[HOUR] = kInput === 24 ? 0 : kInput;\n });\n addParseToken(['a', 'A'], function (input, array, config) {\n config._isPm = config._locale.isPM(input);\n config._meridiem = input;\n });\n addParseToken(['h', 'hh'], function (input, array, config) {\n array[HOUR] = toInt(input);\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('hmmss', function (input, array, config) {\n var pos1 = input.length - 4;\n var pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('Hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n });\n addParseToken('Hmmss', function (input, array, config) {\n var pos1 = input.length - 4;\n var pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n });\n\n // LOCALES\n\n function localeIsPM (input) {\n // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays\n // Using charAt should be more compatible.\n return ((input + '').toLowerCase().charAt(0) === 'p');\n }\n\n var defaultLocaleMeridiemParse = /[ap]\\.?m?\\.?/i;\n function localeMeridiem (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'pm' : 'PM';\n } else {\n return isLower ? 'am' : 'AM';\n }\n }\n\n\n // MOMENTS\n\n // Setting the hour should keep the time, because the user explicitly\n // specified which hour they want. So trying to maintain the same hour (in\n // a new timezone) makes sense. Adding/subtracting hours does not follow\n // this rule.\n var getSetHour = makeGetSet('Hours', true);\n\n var baseConfig = {\n calendar: defaultCalendar,\n longDateFormat: defaultLongDateFormat,\n invalidDate: defaultInvalidDate,\n ordinal: defaultOrdinal,\n dayOfMonthOrdinalParse: defaultDayOfMonthOrdinalParse,\n relativeTime: defaultRelativeTime,\n\n months: defaultLocaleMonths,\n monthsShort: defaultLocaleMonthsShort,\n\n week: defaultLocaleWeek,\n\n weekdays: defaultLocaleWeekdays,\n weekdaysMin: defaultLocaleWeekdaysMin,\n weekdaysShort: defaultLocaleWeekdaysShort,\n\n meridiemParse: defaultLocaleMeridiemParse\n };\n\n // internal storage for locale config files\n var locales = {};\n var localeFamilies = {};\n var globalLocale;\n\n function normalizeLocale(key) {\n return key ? key.toLowerCase().replace('_', '-') : key;\n }\n\n // pick the locale from the array\n // try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each\n // substring from most specific to least, but move to the next array item if it's a more specific variant than the current root\n function chooseLocale(names) {\n var i = 0, j, next, locale, split;\n\n while (i < names.length) {\n split = normalizeLocale(names[i]).split('-');\n j = split.length;\n next = normalizeLocale(names[i + 1]);\n next = next ? next.split('-') : null;\n while (j > 0) {\n locale = loadLocale(split.slice(0, j).join('-'));\n if (locale) {\n return locale;\n }\n if (next && next.length >= j && compareArrays(split, next, true) >= j - 1) {\n //the next array item is better than a shallower substring of this one\n break;\n }\n j--;\n }\n i++;\n }\n return globalLocale;\n }\n\n function loadLocale(name) {\n var oldLocale = null;\n // TODO: Find a better way to register and load all the locales in Node\n if (!locales[name] && (typeof module !== 'undefined') &&\n module && module.exports) {\n try {\n oldLocale = globalLocale._abbr;\n var aliasedRequire = require;\n aliasedRequire('./locale/' + name);\n getSetGlobalLocale(oldLocale);\n } catch (e) {}\n }\n return locales[name];\n }\n\n // This function will load locale and then set the global locale. If\n // no arguments are passed in, it will simply return the current global\n // locale key.\n function getSetGlobalLocale (key, values) {\n var data;\n if (key) {\n if (isUndefined(values)) {\n data = getLocale(key);\n }\n else {\n data = defineLocale(key, values);\n }\n\n if (data) {\n // moment.duration._locale = moment._locale = data;\n globalLocale = data;\n }\n else {\n if ((typeof console !== 'undefined') && console.warn) {\n //warn user if arguments are passed but the locale could not be set\n console.warn('Locale ' + key + ' not found. Did you forget to load it?');\n }\n }\n }\n\n return globalLocale._abbr;\n }\n\n function defineLocale (name, config) {\n if (config !== null) {\n var locale, parentConfig = baseConfig;\n config.abbr = name;\n if (locales[name] != null) {\n deprecateSimple('defineLocaleOverride',\n 'use moment.updateLocale(localeName, config) to change ' +\n 'an existing locale. moment.defineLocale(localeName, ' +\n 'config) should only be used for creating a new locale ' +\n 'See http://momentjs.com/guides/#/warnings/define-locale/ for more info.');\n parentConfig = locales[name]._config;\n } else if (config.parentLocale != null) {\n if (locales[config.parentLocale] != null) {\n parentConfig = locales[config.parentLocale]._config;\n } else {\n locale = loadLocale(config.parentLocale);\n if (locale != null) {\n parentConfig = locale._config;\n } else {\n if (!localeFamilies[config.parentLocale]) {\n localeFamilies[config.parentLocale] = [];\n }\n localeFamilies[config.parentLocale].push({\n name: name,\n config: config\n });\n return null;\n }\n }\n }\n locales[name] = new Locale(mergeConfigs(parentConfig, config));\n\n if (localeFamilies[name]) {\n localeFamilies[name].forEach(function (x) {\n defineLocale(x.name, x.config);\n });\n }\n\n // backwards compat for now: also set the locale\n // make sure we set the locale AFTER all child locales have been\n // created, so we won't end up with the child locale set.\n getSetGlobalLocale(name);\n\n\n return locales[name];\n } else {\n // useful for testing\n delete locales[name];\n return null;\n }\n }\n\n function updateLocale(name, config) {\n if (config != null) {\n var locale, tmpLocale, parentConfig = baseConfig;\n // MERGE\n tmpLocale = loadLocale(name);\n if (tmpLocale != null) {\n parentConfig = tmpLocale._config;\n }\n config = mergeConfigs(parentConfig, config);\n locale = new Locale(config);\n locale.parentLocale = locales[name];\n locales[name] = locale;\n\n // backwards compat for now: also set the locale\n getSetGlobalLocale(name);\n } else {\n // pass null for config to unupdate, useful for tests\n if (locales[name] != null) {\n if (locales[name].parentLocale != null) {\n locales[name] = locales[name].parentLocale;\n } else if (locales[name] != null) {\n delete locales[name];\n }\n }\n }\n return locales[name];\n }\n\n // returns locale data\n function getLocale (key) {\n var locale;\n\n if (key && key._locale && key._locale._abbr) {\n key = key._locale._abbr;\n }\n\n if (!key) {\n return globalLocale;\n }\n\n if (!isArray(key)) {\n //short-circuit everything else\n locale = loadLocale(key);\n if (locale) {\n return locale;\n }\n key = [key];\n }\n\n return chooseLocale(key);\n }\n\n function listLocales() {\n return keys(locales);\n }\n\n function checkOverflow (m) {\n var overflow;\n var a = m._a;\n\n if (a && getParsingFlags(m).overflow === -2) {\n overflow =\n a[MONTH] < 0 || a[MONTH] > 11 ? MONTH :\n a[DATE] < 1 || a[DATE] > daysInMonth(a[YEAR], a[MONTH]) ? DATE :\n a[HOUR] < 0 || a[HOUR] > 24 || (a[HOUR] === 24 && (a[MINUTE] !== 0 || a[SECOND] !== 0 || a[MILLISECOND] !== 0)) ? HOUR :\n a[MINUTE] < 0 || a[MINUTE] > 59 ? MINUTE :\n a[SECOND] < 0 || a[SECOND] > 59 ? SECOND :\n a[MILLISECOND] < 0 || a[MILLISECOND] > 999 ? MILLISECOND :\n -1;\n\n if (getParsingFlags(m)._overflowDayOfYear && (overflow < YEAR || overflow > DATE)) {\n overflow = DATE;\n }\n if (getParsingFlags(m)._overflowWeeks && overflow === -1) {\n overflow = WEEK;\n }\n if (getParsingFlags(m)._overflowWeekday && overflow === -1) {\n overflow = WEEKDAY;\n }\n\n getParsingFlags(m).overflow = overflow;\n }\n\n return m;\n }\n\n // Pick the first defined of two or three arguments.\n function defaults(a, b, c) {\n if (a != null) {\n return a;\n }\n if (b != null) {\n return b;\n }\n return c;\n }\n\n function currentDateArray(config) {\n // hooks is actually the exported moment object\n var nowValue = new Date(hooks.now());\n if (config._useUTC) {\n return [nowValue.getUTCFullYear(), nowValue.getUTCMonth(), nowValue.getUTCDate()];\n }\n return [nowValue.getFullYear(), nowValue.getMonth(), nowValue.getDate()];\n }\n\n // convert an array to a date.\n // the array should mirror the parameters below\n // note: all values past the year are optional and will default to the lowest possible value.\n // [year, month, day , hour, minute, second, millisecond]\n function configFromArray (config) {\n var i, date, input = [], currentDate, expectedWeekday, yearToUse;\n\n if (config._d) {\n return;\n }\n\n currentDate = currentDateArray(config);\n\n //compute day of the year from weeks and weekdays\n if (config._w && config._a[DATE] == null && config._a[MONTH] == null) {\n dayOfYearFromWeekInfo(config);\n }\n\n //if the day of the year is set, figure out what it is\n if (config._dayOfYear != null) {\n yearToUse = defaults(config._a[YEAR], currentDate[YEAR]);\n\n if (config._dayOfYear > daysInYear(yearToUse) || config._dayOfYear === 0) {\n getParsingFlags(config)._overflowDayOfYear = true;\n }\n\n date = createUTCDate(yearToUse, 0, config._dayOfYear);\n config._a[MONTH] = date.getUTCMonth();\n config._a[DATE] = date.getUTCDate();\n }\n\n // Default to current date.\n // * if no year, month, day of month are given, default to today\n // * if day of month is given, default month and year\n // * if month is given, default only year\n // * if year is given, don't default anything\n for (i = 0; i < 3 && config._a[i] == null; ++i) {\n config._a[i] = input[i] = currentDate[i];\n }\n\n // Zero out whatever was not defaulted, including time\n for (; i < 7; i++) {\n config._a[i] = input[i] = (config._a[i] == null) ? (i === 2 ? 1 : 0) : config._a[i];\n }\n\n // Check for 24:00:00.000\n if (config._a[HOUR] === 24 &&\n config._a[MINUTE] === 0 &&\n config._a[SECOND] === 0 &&\n config._a[MILLISECOND] === 0) {\n config._nextDay = true;\n config._a[HOUR] = 0;\n }\n\n config._d = (config._useUTC ? createUTCDate : createDate).apply(null, input);\n expectedWeekday = config._useUTC ? config._d.getUTCDay() : config._d.getDay();\n\n // Apply timezone offset from input. The actual utcOffset can be changed\n // with parseZone.\n if (config._tzm != null) {\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n }\n\n if (config._nextDay) {\n config._a[HOUR] = 24;\n }\n\n // check for mismatching day of week\n if (config._w && typeof config._w.d !== 'undefined' && config._w.d !== expectedWeekday) {\n getParsingFlags(config).weekdayMismatch = true;\n }\n }\n\n function dayOfYearFromWeekInfo(config) {\n var w, weekYear, week, weekday, dow, doy, temp, weekdayOverflow;\n\n w = config._w;\n if (w.GG != null || w.W != null || w.E != null) {\n dow = 1;\n doy = 4;\n\n // TODO: We need to take the current isoWeekYear, but that depends on\n // how we interpret now (local, utc, fixed offset). So create\n // a now version of current config (take local/utc/offset flags, and\n // create now).\n weekYear = defaults(w.GG, config._a[YEAR], weekOfYear(createLocal(), 1, 4).year);\n week = defaults(w.W, 1);\n weekday = defaults(w.E, 1);\n if (weekday < 1 || weekday > 7) {\n weekdayOverflow = true;\n }\n } else {\n dow = config._locale._week.dow;\n doy = config._locale._week.doy;\n\n var curWeek = weekOfYear(createLocal(), dow, doy);\n\n weekYear = defaults(w.gg, config._a[YEAR], curWeek.year);\n\n // Default to current week.\n week = defaults(w.w, curWeek.week);\n\n if (w.d != null) {\n // weekday -- low day numbers are considered next week\n weekday = w.d;\n if (weekday < 0 || weekday > 6) {\n weekdayOverflow = true;\n }\n } else if (w.e != null) {\n // local weekday -- counting starts from begining of week\n weekday = w.e + dow;\n if (w.e < 0 || w.e > 6) {\n weekdayOverflow = true;\n }\n } else {\n // default to begining of week\n weekday = dow;\n }\n }\n if (week < 1 || week > weeksInYear(weekYear, dow, doy)) {\n getParsingFlags(config)._overflowWeeks = true;\n } else if (weekdayOverflow != null) {\n getParsingFlags(config)._overflowWeekday = true;\n } else {\n temp = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy);\n config._a[YEAR] = temp.year;\n config._dayOfYear = temp.dayOfYear;\n }\n }\n\n // iso 8601 regex\n // 0000-00-00 0000-W00 or 0000-W00-0 + T + 00 or 00:00 or 00:00:00 or 00:00:00.000 + +00:00 or +0000 or +00)\n var extendedIsoRegex = /^\\s*((?:[+-]\\d{6}|\\d{4})-(?:\\d\\d-\\d\\d|W\\d\\d-\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?::\\d\\d(?::\\d\\d(?:[.,]\\d+)?)?)?)([\\+\\-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/;\n var basicIsoRegex = /^\\s*((?:[+-]\\d{6}|\\d{4})(?:\\d\\d\\d\\d|W\\d\\d\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?:\\d\\d(?:\\d\\d(?:[.,]\\d+)?)?)?)([\\+\\-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/;\n\n var tzRegex = /Z|[+-]\\d\\d(?::?\\d\\d)?/;\n\n var isoDates = [\n ['YYYYYY-MM-DD', /[+-]\\d{6}-\\d\\d-\\d\\d/],\n ['YYYY-MM-DD', /\\d{4}-\\d\\d-\\d\\d/],\n ['GGGG-[W]WW-E', /\\d{4}-W\\d\\d-\\d/],\n ['GGGG-[W]WW', /\\d{4}-W\\d\\d/, false],\n ['YYYY-DDD', /\\d{4}-\\d{3}/],\n ['YYYY-MM', /\\d{4}-\\d\\d/, false],\n ['YYYYYYMMDD', /[+-]\\d{10}/],\n ['YYYYMMDD', /\\d{8}/],\n // YYYYMM is NOT allowed by the standard\n ['GGGG[W]WWE', /\\d{4}W\\d{3}/],\n ['GGGG[W]WW', /\\d{4}W\\d{2}/, false],\n ['YYYYDDD', /\\d{7}/]\n ];\n\n // iso time formats and regexes\n var isoTimes = [\n ['HH:mm:ss.SSSS', /\\d\\d:\\d\\d:\\d\\d\\.\\d+/],\n ['HH:mm:ss,SSSS', /\\d\\d:\\d\\d:\\d\\d,\\d+/],\n ['HH:mm:ss', /\\d\\d:\\d\\d:\\d\\d/],\n ['HH:mm', /\\d\\d:\\d\\d/],\n ['HHmmss.SSSS', /\\d\\d\\d\\d\\d\\d\\.\\d+/],\n ['HHmmss,SSSS', /\\d\\d\\d\\d\\d\\d,\\d+/],\n ['HHmmss', /\\d\\d\\d\\d\\d\\d/],\n ['HHmm', /\\d\\d\\d\\d/],\n ['HH', /\\d\\d/]\n ];\n\n var aspNetJsonRegex = /^\\/?Date\\((\\-?\\d+)/i;\n\n // date from iso format\n function configFromISO(config) {\n var i, l,\n string = config._i,\n match = extendedIsoRegex.exec(string) || basicIsoRegex.exec(string),\n allowTime, dateFormat, timeFormat, tzFormat;\n\n if (match) {\n getParsingFlags(config).iso = true;\n\n for (i = 0, l = isoDates.length; i < l; i++) {\n if (isoDates[i][1].exec(match[1])) {\n dateFormat = isoDates[i][0];\n allowTime = isoDates[i][2] !== false;\n break;\n }\n }\n if (dateFormat == null) {\n config._isValid = false;\n return;\n }\n if (match[3]) {\n for (i = 0, l = isoTimes.length; i < l; i++) {\n if (isoTimes[i][1].exec(match[3])) {\n // match[2] should be 'T' or space\n timeFormat = (match[2] || ' ') + isoTimes[i][0];\n break;\n }\n }\n if (timeFormat == null) {\n config._isValid = false;\n return;\n }\n }\n if (!allowTime && timeFormat != null) {\n config._isValid = false;\n return;\n }\n if (match[4]) {\n if (tzRegex.exec(match[4])) {\n tzFormat = 'Z';\n } else {\n config._isValid = false;\n return;\n }\n }\n config._f = dateFormat + (timeFormat || '') + (tzFormat || '');\n configFromStringAndFormat(config);\n } else {\n config._isValid = false;\n }\n }\n\n // RFC 2822 regex: For details see https://tools.ietf.org/html/rfc2822#section-3.3\n var rfc2822 = /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\\s)?(\\d{1,2})\\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\\s(\\d{2,4})\\s(\\d\\d):(\\d\\d)(?::(\\d\\d))?\\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\\d{4}))$/;\n\n function extractFromRFC2822Strings(yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr) {\n var result = [\n untruncateYear(yearStr),\n defaultLocaleMonthsShort.indexOf(monthStr),\n parseInt(dayStr, 10),\n parseInt(hourStr, 10),\n parseInt(minuteStr, 10)\n ];\n\n if (secondStr) {\n result.push(parseInt(secondStr, 10));\n }\n\n return result;\n }\n\n function untruncateYear(yearStr) {\n var year = parseInt(yearStr, 10);\n if (year <= 49) {\n return 2000 + year;\n } else if (year <= 999) {\n return 1900 + year;\n }\n return year;\n }\n\n function preprocessRFC2822(s) {\n // Remove comments and folding whitespace and replace multiple-spaces with a single space\n return s.replace(/\\([^)]*\\)|[\\n\\t]/g, ' ').replace(/(\\s\\s+)/g, ' ').replace(/^\\s\\s*/, '').replace(/\\s\\s*$/, '');\n }\n\n function checkWeekday(weekdayStr, parsedInput, config) {\n if (weekdayStr) {\n // TODO: Replace the vanilla JS Date object with an indepentent day-of-week check.\n var weekdayProvided = defaultLocaleWeekdaysShort.indexOf(weekdayStr),\n weekdayActual = new Date(parsedInput[0], parsedInput[1], parsedInput[2]).getDay();\n if (weekdayProvided !== weekdayActual) {\n getParsingFlags(config).weekdayMismatch = true;\n config._isValid = false;\n return false;\n }\n }\n return true;\n }\n\n var obsOffsets = {\n UT: 0,\n GMT: 0,\n EDT: -4 * 60,\n EST: -5 * 60,\n CDT: -5 * 60,\n CST: -6 * 60,\n MDT: -6 * 60,\n MST: -7 * 60,\n PDT: -7 * 60,\n PST: -8 * 60\n };\n\n function calculateOffset(obsOffset, militaryOffset, numOffset) {\n if (obsOffset) {\n return obsOffsets[obsOffset];\n } else if (militaryOffset) {\n // the only allowed military tz is Z\n return 0;\n } else {\n var hm = parseInt(numOffset, 10);\n var m = hm % 100, h = (hm - m) / 100;\n return h * 60 + m;\n }\n }\n\n // date and time from ref 2822 format\n function configFromRFC2822(config) {\n var match = rfc2822.exec(preprocessRFC2822(config._i));\n if (match) {\n var parsedArray = extractFromRFC2822Strings(match[4], match[3], match[2], match[5], match[6], match[7]);\n if (!checkWeekday(match[1], parsedArray, config)) {\n return;\n }\n\n config._a = parsedArray;\n config._tzm = calculateOffset(match[8], match[9], match[10]);\n\n config._d = createUTCDate.apply(null, config._a);\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n\n getParsingFlags(config).rfc2822 = true;\n } else {\n config._isValid = false;\n }\n }\n\n // date from iso format or fallback\n function configFromString(config) {\n var matched = aspNetJsonRegex.exec(config._i);\n\n if (matched !== null) {\n config._d = new Date(+matched[1]);\n return;\n }\n\n configFromISO(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n configFromRFC2822(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n // Final attempt, use Input Fallback\n hooks.createFromInputFallback(config);\n }\n\n hooks.createFromInputFallback = deprecate(\n 'value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), ' +\n 'which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are ' +\n 'discouraged and will be removed in an upcoming major release. Please refer to ' +\n 'http://momentjs.com/guides/#/warnings/js-date/ for more info.',\n function (config) {\n config._d = new Date(config._i + (config._useUTC ? ' UTC' : ''));\n }\n );\n\n // constant that refers to the ISO standard\n hooks.ISO_8601 = function () {};\n\n // constant that refers to the RFC 2822 form\n hooks.RFC_2822 = function () {};\n\n // date from string and format string\n function configFromStringAndFormat(config) {\n // TODO: Move this to another part of the creation flow to prevent circular deps\n if (config._f === hooks.ISO_8601) {\n configFromISO(config);\n return;\n }\n if (config._f === hooks.RFC_2822) {\n configFromRFC2822(config);\n return;\n }\n config._a = [];\n getParsingFlags(config).empty = true;\n\n // This array is used to make a Date, either with `new Date` or `Date.UTC`\n var string = '' + config._i,\n i, parsedInput, tokens, token, skipped,\n stringLength = string.length,\n totalParsedInputLength = 0;\n\n tokens = expandFormat(config._f, config._locale).match(formattingTokens) || [];\n\n for (i = 0; i < tokens.length; i++) {\n token = tokens[i];\n parsedInput = (string.match(getParseRegexForToken(token, config)) || [])[0];\n // console.log('token', token, 'parsedInput', parsedInput,\n // 'regex', getParseRegexForToken(token, config));\n if (parsedInput) {\n skipped = string.substr(0, string.indexOf(parsedInput));\n if (skipped.length > 0) {\n getParsingFlags(config).unusedInput.push(skipped);\n }\n string = string.slice(string.indexOf(parsedInput) + parsedInput.length);\n totalParsedInputLength += parsedInput.length;\n }\n // don't parse if it's not a known token\n if (formatTokenFunctions[token]) {\n if (parsedInput) {\n getParsingFlags(config).empty = false;\n }\n else {\n getParsingFlags(config).unusedTokens.push(token);\n }\n addTimeToArrayFromToken(token, parsedInput, config);\n }\n else if (config._strict && !parsedInput) {\n getParsingFlags(config).unusedTokens.push(token);\n }\n }\n\n // add remaining unparsed input length to the string\n getParsingFlags(config).charsLeftOver = stringLength - totalParsedInputLength;\n if (string.length > 0) {\n getParsingFlags(config).unusedInput.push(string);\n }\n\n // clear _12h flag if hour is <= 12\n if (config._a[HOUR] <= 12 &&\n getParsingFlags(config).bigHour === true &&\n config._a[HOUR] > 0) {\n getParsingFlags(config).bigHour = undefined;\n }\n\n getParsingFlags(config).parsedDateParts = config._a.slice(0);\n getParsingFlags(config).meridiem = config._meridiem;\n // handle meridiem\n config._a[HOUR] = meridiemFixWrap(config._locale, config._a[HOUR], config._meridiem);\n\n configFromArray(config);\n checkOverflow(config);\n }\n\n\n function meridiemFixWrap (locale, hour, meridiem) {\n var isPm;\n\n if (meridiem == null) {\n // nothing to do\n return hour;\n }\n if (locale.meridiemHour != null) {\n return locale.meridiemHour(hour, meridiem);\n } else if (locale.isPM != null) {\n // Fallback\n isPm = locale.isPM(meridiem);\n if (isPm && hour < 12) {\n hour += 12;\n }\n if (!isPm && hour === 12) {\n hour = 0;\n }\n return hour;\n } else {\n // this is not supposed to happen\n return hour;\n }\n }\n\n // date from string and array of format strings\n function configFromStringAndArray(config) {\n var tempConfig,\n bestMoment,\n\n scoreToBeat,\n i,\n currentScore;\n\n if (config._f.length === 0) {\n getParsingFlags(config).invalidFormat = true;\n config._d = new Date(NaN);\n return;\n }\n\n for (i = 0; i < config._f.length; i++) {\n currentScore = 0;\n tempConfig = copyConfig({}, config);\n if (config._useUTC != null) {\n tempConfig._useUTC = config._useUTC;\n }\n tempConfig._f = config._f[i];\n configFromStringAndFormat(tempConfig);\n\n if (!isValid(tempConfig)) {\n continue;\n }\n\n // if there is any input that was not parsed add a penalty for that format\n currentScore += getParsingFlags(tempConfig).charsLeftOver;\n\n //or tokens\n currentScore += getParsingFlags(tempConfig).unusedTokens.length * 10;\n\n getParsingFlags(tempConfig).score = currentScore;\n\n if (scoreToBeat == null || currentScore < scoreToBeat) {\n scoreToBeat = currentScore;\n bestMoment = tempConfig;\n }\n }\n\n extend(config, bestMoment || tempConfig);\n }\n\n function configFromObject(config) {\n if (config._d) {\n return;\n }\n\n var i = normalizeObjectUnits(config._i);\n config._a = map([i.year, i.month, i.day || i.date, i.hour, i.minute, i.second, i.millisecond], function (obj) {\n return obj && parseInt(obj, 10);\n });\n\n configFromArray(config);\n }\n\n function createFromConfig (config) {\n var res = new Moment(checkOverflow(prepareConfig(config)));\n if (res._nextDay) {\n // Adding is smart enough around DST\n res.add(1, 'd');\n res._nextDay = undefined;\n }\n\n return res;\n }\n\n function prepareConfig (config) {\n var input = config._i,\n format = config._f;\n\n config._locale = config._locale || getLocale(config._l);\n\n if (input === null || (format === undefined && input === '')) {\n return createInvalid({nullInput: true});\n }\n\n if (typeof input === 'string') {\n config._i = input = config._locale.preparse(input);\n }\n\n if (isMoment(input)) {\n return new Moment(checkOverflow(input));\n } else if (isDate(input)) {\n config._d = input;\n } else if (isArray(format)) {\n configFromStringAndArray(config);\n } else if (format) {\n configFromStringAndFormat(config);\n } else {\n configFromInput(config);\n }\n\n if (!isValid(config)) {\n config._d = null;\n }\n\n return config;\n }\n\n function configFromInput(config) {\n var input = config._i;\n if (isUndefined(input)) {\n config._d = new Date(hooks.now());\n } else if (isDate(input)) {\n config._d = new Date(input.valueOf());\n } else if (typeof input === 'string') {\n configFromString(config);\n } else if (isArray(input)) {\n config._a = map(input.slice(0), function (obj) {\n return parseInt(obj, 10);\n });\n configFromArray(config);\n } else if (isObject(input)) {\n configFromObject(config);\n } else if (isNumber(input)) {\n // from milliseconds\n config._d = new Date(input);\n } else {\n hooks.createFromInputFallback(config);\n }\n }\n\n function createLocalOrUTC (input, format, locale, strict, isUTC) {\n var c = {};\n\n if (locale === true || locale === false) {\n strict = locale;\n locale = undefined;\n }\n\n if ((isObject(input) && isObjectEmpty(input)) ||\n (isArray(input) && input.length === 0)) {\n input = undefined;\n }\n // object construction must be done this way.\n // https://github.com/moment/moment/issues/1423\n c._isAMomentObject = true;\n c._useUTC = c._isUTC = isUTC;\n c._l = locale;\n c._i = input;\n c._f = format;\n c._strict = strict;\n\n return createFromConfig(c);\n }\n\n function createLocal (input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, false);\n }\n\n var prototypeMin = deprecate(\n 'moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/',\n function () {\n var other = createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other < this ? this : other;\n } else {\n return createInvalid();\n }\n }\n );\n\n var prototypeMax = deprecate(\n 'moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/',\n function () {\n var other = createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other > this ? this : other;\n } else {\n return createInvalid();\n }\n }\n );\n\n // Pick a moment m from moments so that m[fn](other) is true for all\n // other. This relies on the function fn to be transitive.\n //\n // moments should either be an array of moment objects or an array, whose\n // first element is an array of moment objects.\n function pickBy(fn, moments) {\n var res, i;\n if (moments.length === 1 && isArray(moments[0])) {\n moments = moments[0];\n }\n if (!moments.length) {\n return createLocal();\n }\n res = moments[0];\n for (i = 1; i < moments.length; ++i) {\n if (!moments[i].isValid() || moments[i][fn](res)) {\n res = moments[i];\n }\n }\n return res;\n }\n\n // TODO: Use [].sort instead?\n function min () {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isBefore', args);\n }\n\n function max () {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isAfter', args);\n }\n\n var now = function () {\n return Date.now ? Date.now() : +(new Date());\n };\n\n var ordering = ['year', 'quarter', 'month', 'week', 'day', 'hour', 'minute', 'second', 'millisecond'];\n\n function isDurationValid(m) {\n for (var key in m) {\n if (!(indexOf.call(ordering, key) !== -1 && (m[key] == null || !isNaN(m[key])))) {\n return false;\n }\n }\n\n var unitHasDecimal = false;\n for (var i = 0; i < ordering.length; ++i) {\n if (m[ordering[i]]) {\n if (unitHasDecimal) {\n return false; // only allow non-integers for smallest unit\n }\n if (parseFloat(m[ordering[i]]) !== toInt(m[ordering[i]])) {\n unitHasDecimal = true;\n }\n }\n }\n\n return true;\n }\n\n function isValid$1() {\n return this._isValid;\n }\n\n function createInvalid$1() {\n return createDuration(NaN);\n }\n\n function Duration (duration) {\n var normalizedInput = normalizeObjectUnits(duration),\n years = normalizedInput.year || 0,\n quarters = normalizedInput.quarter || 0,\n months = normalizedInput.month || 0,\n weeks = normalizedInput.week || 0,\n days = normalizedInput.day || 0,\n hours = normalizedInput.hour || 0,\n minutes = normalizedInput.minute || 0,\n seconds = normalizedInput.second || 0,\n milliseconds = normalizedInput.millisecond || 0;\n\n this._isValid = isDurationValid(normalizedInput);\n\n // representation for dateAddRemove\n this._milliseconds = +milliseconds +\n seconds * 1e3 + // 1000\n minutes * 6e4 + // 1000 * 60\n hours * 1000 * 60 * 60; //using 1000 * 60 * 60 instead of 36e5 to avoid floating point rounding errors https://github.com/moment/moment/issues/2978\n // Because of dateAddRemove treats 24 hours as different from a\n // day when working around DST, we need to store them separately\n this._days = +days +\n weeks * 7;\n // It is impossible to translate months into days without knowing\n // which months you are are talking about, so we have to store\n // it separately.\n this._months = +months +\n quarters * 3 +\n years * 12;\n\n this._data = {};\n\n this._locale = getLocale();\n\n this._bubble();\n }\n\n function isDuration (obj) {\n return obj instanceof Duration;\n }\n\n function absRound (number) {\n if (number < 0) {\n return Math.round(-1 * number) * -1;\n } else {\n return Math.round(number);\n }\n }\n\n // FORMATTING\n\n function offset (token, separator) {\n addFormatToken(token, 0, 0, function () {\n var offset = this.utcOffset();\n var sign = '+';\n if (offset < 0) {\n offset = -offset;\n sign = '-';\n }\n return sign + zeroFill(~~(offset / 60), 2) + separator + zeroFill(~~(offset) % 60, 2);\n });\n }\n\n offset('Z', ':');\n offset('ZZ', '');\n\n // PARSING\n\n addRegexToken('Z', matchShortOffset);\n addRegexToken('ZZ', matchShortOffset);\n addParseToken(['Z', 'ZZ'], function (input, array, config) {\n config._useUTC = true;\n config._tzm = offsetFromString(matchShortOffset, input);\n });\n\n // HELPERS\n\n // timezone chunker\n // '+10:00' > ['10', '00']\n // '-1530' > ['-15', '30']\n var chunkOffset = /([\\+\\-]|\\d\\d)/gi;\n\n function offsetFromString(matcher, string) {\n var matches = (string || '').match(matcher);\n\n if (matches === null) {\n return null;\n }\n\n var chunk = matches[matches.length - 1] || [];\n var parts = (chunk + '').match(chunkOffset) || ['-', 0, 0];\n var minutes = +(parts[1] * 60) + toInt(parts[2]);\n\n return minutes === 0 ?\n 0 :\n parts[0] === '+' ? minutes : -minutes;\n }\n\n // Return a moment from input, that is local/utc/zone equivalent to model.\n function cloneWithOffset(input, model) {\n var res, diff;\n if (model._isUTC) {\n res = model.clone();\n diff = (isMoment(input) || isDate(input) ? input.valueOf() : createLocal(input).valueOf()) - res.valueOf();\n // Use low-level api, because this fn is low-level api.\n res._d.setTime(res._d.valueOf() + diff);\n hooks.updateOffset(res, false);\n return res;\n } else {\n return createLocal(input).local();\n }\n }\n\n function getDateOffset (m) {\n // On Firefox.24 Date#getTimezoneOffset returns a floating point.\n // https://github.com/moment/moment/pull/1871\n return -Math.round(m._d.getTimezoneOffset() / 15) * 15;\n }\n\n // HOOKS\n\n // This function will be called whenever a moment is mutated.\n // It is intended to keep the offset in sync with the timezone.\n hooks.updateOffset = function () {};\n\n // MOMENTS\n\n // keepLocalTime = true means only change the timezone, without\n // affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]-->\n // 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset\n // +0200, so we adjust the time as needed, to be valid.\n //\n // Keeping the time actually adds/subtracts (one hour)\n // from the actual represented time. That is why we call updateOffset\n // a second time. In case it wants us to change the offset again\n // _changeInProgress == true case, then we have to adjust, because\n // there is no such time in the given timezone.\n function getSetOffset (input, keepLocalTime, keepMinutes) {\n var offset = this._offset || 0,\n localAdjust;\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n if (input != null) {\n if (typeof input === 'string') {\n input = offsetFromString(matchShortOffset, input);\n if (input === null) {\n return this;\n }\n } else if (Math.abs(input) < 16 && !keepMinutes) {\n input = input * 60;\n }\n if (!this._isUTC && keepLocalTime) {\n localAdjust = getDateOffset(this);\n }\n this._offset = input;\n this._isUTC = true;\n if (localAdjust != null) {\n this.add(localAdjust, 'm');\n }\n if (offset !== input) {\n if (!keepLocalTime || this._changeInProgress) {\n addSubtract(this, createDuration(input - offset, 'm'), 1, false);\n } else if (!this._changeInProgress) {\n this._changeInProgress = true;\n hooks.updateOffset(this, true);\n this._changeInProgress = null;\n }\n }\n return this;\n } else {\n return this._isUTC ? offset : getDateOffset(this);\n }\n }\n\n function getSetZone (input, keepLocalTime) {\n if (input != null) {\n if (typeof input !== 'string') {\n input = -input;\n }\n\n this.utcOffset(input, keepLocalTime);\n\n return this;\n } else {\n return -this.utcOffset();\n }\n }\n\n function setOffsetToUTC (keepLocalTime) {\n return this.utcOffset(0, keepLocalTime);\n }\n\n function setOffsetToLocal (keepLocalTime) {\n if (this._isUTC) {\n this.utcOffset(0, keepLocalTime);\n this._isUTC = false;\n\n if (keepLocalTime) {\n this.subtract(getDateOffset(this), 'm');\n }\n }\n return this;\n }\n\n function setOffsetToParsedOffset () {\n if (this._tzm != null) {\n this.utcOffset(this._tzm, false, true);\n } else if (typeof this._i === 'string') {\n var tZone = offsetFromString(matchOffset, this._i);\n if (tZone != null) {\n this.utcOffset(tZone);\n }\n else {\n this.utcOffset(0, true);\n }\n }\n return this;\n }\n\n function hasAlignedHourOffset (input) {\n if (!this.isValid()) {\n return false;\n }\n input = input ? createLocal(input).utcOffset() : 0;\n\n return (this.utcOffset() - input) % 60 === 0;\n }\n\n function isDaylightSavingTime () {\n return (\n this.utcOffset() > this.clone().month(0).utcOffset() ||\n this.utcOffset() > this.clone().month(5).utcOffset()\n );\n }\n\n function isDaylightSavingTimeShifted () {\n if (!isUndefined(this._isDSTShifted)) {\n return this._isDSTShifted;\n }\n\n var c = {};\n\n copyConfig(c, this);\n c = prepareConfig(c);\n\n if (c._a) {\n var other = c._isUTC ? createUTC(c._a) : createLocal(c._a);\n this._isDSTShifted = this.isValid() &&\n compareArrays(c._a, other.toArray()) > 0;\n } else {\n this._isDSTShifted = false;\n }\n\n return this._isDSTShifted;\n }\n\n function isLocal () {\n return this.isValid() ? !this._isUTC : false;\n }\n\n function isUtcOffset () {\n return this.isValid() ? this._isUTC : false;\n }\n\n function isUtc () {\n return this.isValid() ? this._isUTC && this._offset === 0 : false;\n }\n\n // ASP.NET json date format regex\n var aspNetRegex = /^(\\-|\\+)?(?:(\\d*)[. ])?(\\d+)\\:(\\d+)(?:\\:(\\d+)(\\.\\d*)?)?$/;\n\n // from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html\n // somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere\n // and further modified to allow for strings containing both week and day\n var isoRegex = /^(-|\\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;\n\n function createDuration (input, key) {\n var duration = input,\n // matching against regexp is expensive, do it on demand\n match = null,\n sign,\n ret,\n diffRes;\n\n if (isDuration(input)) {\n duration = {\n ms : input._milliseconds,\n d : input._days,\n M : input._months\n };\n } else if (isNumber(input)) {\n duration = {};\n if (key) {\n duration[key] = input;\n } else {\n duration.milliseconds = input;\n }\n } else if (!!(match = aspNetRegex.exec(input))) {\n sign = (match[1] === '-') ? -1 : 1;\n duration = {\n y : 0,\n d : toInt(match[DATE]) * sign,\n h : toInt(match[HOUR]) * sign,\n m : toInt(match[MINUTE]) * sign,\n s : toInt(match[SECOND]) * sign,\n ms : toInt(absRound(match[MILLISECOND] * 1000)) * sign // the millisecond decimal point is included in the match\n };\n } else if (!!(match = isoRegex.exec(input))) {\n sign = (match[1] === '-') ? -1 : (match[1] === '+') ? 1 : 1;\n duration = {\n y : parseIso(match[2], sign),\n M : parseIso(match[3], sign),\n w : parseIso(match[4], sign),\n d : parseIso(match[5], sign),\n h : parseIso(match[6], sign),\n m : parseIso(match[7], sign),\n s : parseIso(match[8], sign)\n };\n } else if (duration == null) {// checks for null or undefined\n duration = {};\n } else if (typeof duration === 'object' && ('from' in duration || 'to' in duration)) {\n diffRes = momentsDifference(createLocal(duration.from), createLocal(duration.to));\n\n duration = {};\n duration.ms = diffRes.milliseconds;\n duration.M = diffRes.months;\n }\n\n ret = new Duration(duration);\n\n if (isDuration(input) && hasOwnProp(input, '_locale')) {\n ret._locale = input._locale;\n }\n\n return ret;\n }\n\n createDuration.fn = Duration.prototype;\n createDuration.invalid = createInvalid$1;\n\n function parseIso (inp, sign) {\n // We'd normally use ~~inp for this, but unfortunately it also\n // converts floats to ints.\n // inp may be undefined, so careful calling replace on it.\n var res = inp && parseFloat(inp.replace(',', '.'));\n // apply sign while we're at it\n return (isNaN(res) ? 0 : res) * sign;\n }\n\n function positiveMomentsDifference(base, other) {\n var res = {milliseconds: 0, months: 0};\n\n res.months = other.month() - base.month() +\n (other.year() - base.year()) * 12;\n if (base.clone().add(res.months, 'M').isAfter(other)) {\n --res.months;\n }\n\n res.milliseconds = +other - +(base.clone().add(res.months, 'M'));\n\n return res;\n }\n\n function momentsDifference(base, other) {\n var res;\n if (!(base.isValid() && other.isValid())) {\n return {milliseconds: 0, months: 0};\n }\n\n other = cloneWithOffset(other, base);\n if (base.isBefore(other)) {\n res = positiveMomentsDifference(base, other);\n } else {\n res = positiveMomentsDifference(other, base);\n res.milliseconds = -res.milliseconds;\n res.months = -res.months;\n }\n\n return res;\n }\n\n // TODO: remove 'name' arg after deprecation is removed\n function createAdder(direction, name) {\n return function (val, period) {\n var dur, tmp;\n //invert the arguments, but complain about it\n if (period !== null && !isNaN(+period)) {\n deprecateSimple(name, 'moment().' + name + '(period, number) is deprecated. Please use moment().' + name + '(number, period). ' +\n 'See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.');\n tmp = val; val = period; period = tmp;\n }\n\n val = typeof val === 'string' ? +val : val;\n dur = createDuration(val, period);\n addSubtract(this, dur, direction);\n return this;\n };\n }\n\n function addSubtract (mom, duration, isAdding, updateOffset) {\n var milliseconds = duration._milliseconds,\n days = absRound(duration._days),\n months = absRound(duration._months);\n\n if (!mom.isValid()) {\n // No op\n return;\n }\n\n updateOffset = updateOffset == null ? true : updateOffset;\n\n if (months) {\n setMonth(mom, get(mom, 'Month') + months * isAdding);\n }\n if (days) {\n set$1(mom, 'Date', get(mom, 'Date') + days * isAdding);\n }\n if (milliseconds) {\n mom._d.setTime(mom._d.valueOf() + milliseconds * isAdding);\n }\n if (updateOffset) {\n hooks.updateOffset(mom, days || months);\n }\n }\n\n var add = createAdder(1, 'add');\n var subtract = createAdder(-1, 'subtract');\n\n function getCalendarFormat(myMoment, now) {\n var diff = myMoment.diff(now, 'days', true);\n return diff < -6 ? 'sameElse' :\n diff < -1 ? 'lastWeek' :\n diff < 0 ? 'lastDay' :\n diff < 1 ? 'sameDay' :\n diff < 2 ? 'nextDay' :\n diff < 7 ? 'nextWeek' : 'sameElse';\n }\n\n function calendar$1 (time, formats) {\n // We want to compare the start of today, vs this.\n // Getting start-of-today depends on whether we're local/utc/offset or not.\n var now = time || createLocal(),\n sod = cloneWithOffset(now, this).startOf('day'),\n format = hooks.calendarFormat(this, sod) || 'sameElse';\n\n var output = formats && (isFunction(formats[format]) ? formats[format].call(this, now) : formats[format]);\n\n return this.format(output || this.localeData().calendar(format, this, createLocal(now)));\n }\n\n function clone () {\n return new Moment(this);\n }\n\n function isAfter (input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(!isUndefined(units) ? units : 'millisecond');\n if (units === 'millisecond') {\n return this.valueOf() > localInput.valueOf();\n } else {\n return localInput.valueOf() < this.clone().startOf(units).valueOf();\n }\n }\n\n function isBefore (input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(!isUndefined(units) ? units : 'millisecond');\n if (units === 'millisecond') {\n return this.valueOf() < localInput.valueOf();\n } else {\n return this.clone().endOf(units).valueOf() < localInput.valueOf();\n }\n }\n\n function isBetween (from, to, units, inclusivity) {\n inclusivity = inclusivity || '()';\n return (inclusivity[0] === '(' ? this.isAfter(from, units) : !this.isBefore(from, units)) &&\n (inclusivity[1] === ')' ? this.isBefore(to, units) : !this.isAfter(to, units));\n }\n\n function isSame (input, units) {\n var localInput = isMoment(input) ? input : createLocal(input),\n inputMs;\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units || 'millisecond');\n if (units === 'millisecond') {\n return this.valueOf() === localInput.valueOf();\n } else {\n inputMs = localInput.valueOf();\n return this.clone().startOf(units).valueOf() <= inputMs && inputMs <= this.clone().endOf(units).valueOf();\n }\n }\n\n function isSameOrAfter (input, units) {\n return this.isSame(input, units) || this.isAfter(input,units);\n }\n\n function isSameOrBefore (input, units) {\n return this.isSame(input, units) || this.isBefore(input,units);\n }\n\n function diff (input, units, asFloat) {\n var that,\n zoneDelta,\n output;\n\n if (!this.isValid()) {\n return NaN;\n }\n\n that = cloneWithOffset(input, this);\n\n if (!that.isValid()) {\n return NaN;\n }\n\n zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4;\n\n units = normalizeUnits(units);\n\n switch (units) {\n case 'year': output = monthDiff(this, that) / 12; break;\n case 'month': output = monthDiff(this, that); break;\n case 'quarter': output = monthDiff(this, that) / 3; break;\n case 'second': output = (this - that) / 1e3; break; // 1000\n case 'minute': output = (this - that) / 6e4; break; // 1000 * 60\n case 'hour': output = (this - that) / 36e5; break; // 1000 * 60 * 60\n case 'day': output = (this - that - zoneDelta) / 864e5; break; // 1000 * 60 * 60 * 24, negate dst\n case 'week': output = (this - that - zoneDelta) / 6048e5; break; // 1000 * 60 * 60 * 24 * 7, negate dst\n default: output = this - that;\n }\n\n return asFloat ? output : absFloor(output);\n }\n\n function monthDiff (a, b) {\n // difference in months\n var wholeMonthDiff = ((b.year() - a.year()) * 12) + (b.month() - a.month()),\n // b is in (anchor - 1 month, anchor + 1 month)\n anchor = a.clone().add(wholeMonthDiff, 'months'),\n anchor2, adjust;\n\n if (b - anchor < 0) {\n anchor2 = a.clone().add(wholeMonthDiff - 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor - anchor2);\n } else {\n anchor2 = a.clone().add(wholeMonthDiff + 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor2 - anchor);\n }\n\n //check for negative zero, return zero if negative zero\n return -(wholeMonthDiff + adjust) || 0;\n }\n\n hooks.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ';\n hooks.defaultFormatUtc = 'YYYY-MM-DDTHH:mm:ss[Z]';\n\n function toString () {\n return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ');\n }\n\n function toISOString(keepOffset) {\n if (!this.isValid()) {\n return null;\n }\n var utc = keepOffset !== true;\n var m = utc ? this.clone().utc() : this;\n if (m.year() < 0 || m.year() > 9999) {\n return formatMoment(m, utc ? 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYYYY-MM-DD[T]HH:mm:ss.SSSZ');\n }\n if (isFunction(Date.prototype.toISOString)) {\n // native implementation is ~50x faster, use it when we can\n if (utc) {\n return this.toDate().toISOString();\n } else {\n return new Date(this.valueOf() + this.utcOffset() * 60 * 1000).toISOString().replace('Z', formatMoment(m, 'Z'));\n }\n }\n return formatMoment(m, utc ? 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYY-MM-DD[T]HH:mm:ss.SSSZ');\n }\n\n /**\n * Return a human readable representation of a moment that can\n * also be evaluated to get a new moment which is the same\n *\n * @link https://nodejs.org/dist/latest/docs/api/util.html#util_custom_inspect_function_on_objects\n */\n function inspect () {\n if (!this.isValid()) {\n return 'moment.invalid(/* ' + this._i + ' */)';\n }\n var func = 'moment';\n var zone = '';\n if (!this.isLocal()) {\n func = this.utcOffset() === 0 ? 'moment.utc' : 'moment.parseZone';\n zone = 'Z';\n }\n var prefix = '[' + func + '(\"]';\n var year = (0 <= this.year() && this.year() <= 9999) ? 'YYYY' : 'YYYYYY';\n var datetime = '-MM-DD[T]HH:mm:ss.SSS';\n var suffix = zone + '[\")]';\n\n return this.format(prefix + year + datetime + suffix);\n }\n\n function format (inputString) {\n if (!inputString) {\n inputString = this.isUtc() ? hooks.defaultFormatUtc : hooks.defaultFormat;\n }\n var output = formatMoment(this, inputString);\n return this.localeData().postformat(output);\n }\n\n function from (time, withoutSuffix) {\n if (this.isValid() &&\n ((isMoment(time) && time.isValid()) ||\n createLocal(time).isValid())) {\n return createDuration({to: this, from: time}).locale(this.locale()).humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n\n function fromNow (withoutSuffix) {\n return this.from(createLocal(), withoutSuffix);\n }\n\n function to (time, withoutSuffix) {\n if (this.isValid() &&\n ((isMoment(time) && time.isValid()) ||\n createLocal(time).isValid())) {\n return createDuration({from: this, to: time}).locale(this.locale()).humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n\n function toNow (withoutSuffix) {\n return this.to(createLocal(), withoutSuffix);\n }\n\n // If passed a locale key, it will set the locale for this\n // instance. Otherwise, it will return the locale configuration\n // variables for this instance.\n function locale (key) {\n var newLocaleData;\n\n if (key === undefined) {\n return this._locale._abbr;\n } else {\n newLocaleData = getLocale(key);\n if (newLocaleData != null) {\n this._locale = newLocaleData;\n }\n return this;\n }\n }\n\n var lang = deprecate(\n 'moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.',\n function (key) {\n if (key === undefined) {\n return this.localeData();\n } else {\n return this.locale(key);\n }\n }\n );\n\n function localeData () {\n return this._locale;\n }\n\n function startOf (units) {\n units = normalizeUnits(units);\n // the following switch intentionally omits break keywords\n // to utilize falling through the cases.\n switch (units) {\n case 'year':\n this.month(0);\n /* falls through */\n case 'quarter':\n case 'month':\n this.date(1);\n /* falls through */\n case 'week':\n case 'isoWeek':\n case 'day':\n case 'date':\n this.hours(0);\n /* falls through */\n case 'hour':\n this.minutes(0);\n /* falls through */\n case 'minute':\n this.seconds(0);\n /* falls through */\n case 'second':\n this.milliseconds(0);\n }\n\n // weeks are a special case\n if (units === 'week') {\n this.weekday(0);\n }\n if (units === 'isoWeek') {\n this.isoWeekday(1);\n }\n\n // quarters are also special\n if (units === 'quarter') {\n this.month(Math.floor(this.month() / 3) * 3);\n }\n\n return this;\n }\n\n function endOf (units) {\n units = normalizeUnits(units);\n if (units === undefined || units === 'millisecond') {\n return this;\n }\n\n // 'date' is an alias for 'day', so it should be considered as such.\n if (units === 'date') {\n units = 'day';\n }\n\n return this.startOf(units).add(1, (units === 'isoWeek' ? 'week' : units)).subtract(1, 'ms');\n }\n\n function valueOf () {\n return this._d.valueOf() - ((this._offset || 0) * 60000);\n }\n\n function unix () {\n return Math.floor(this.valueOf() / 1000);\n }\n\n function toDate () {\n return new Date(this.valueOf());\n }\n\n function toArray () {\n var m = this;\n return [m.year(), m.month(), m.date(), m.hour(), m.minute(), m.second(), m.millisecond()];\n }\n\n function toObject () {\n var m = this;\n return {\n years: m.year(),\n months: m.month(),\n date: m.date(),\n hours: m.hours(),\n minutes: m.minutes(),\n seconds: m.seconds(),\n milliseconds: m.milliseconds()\n };\n }\n\n function toJSON () {\n // new Date(NaN).toJSON() === null\n return this.isValid() ? this.toISOString() : null;\n }\n\n function isValid$2 () {\n return isValid(this);\n }\n\n function parsingFlags () {\n return extend({}, getParsingFlags(this));\n }\n\n function invalidAt () {\n return getParsingFlags(this).overflow;\n }\n\n function creationData() {\n return {\n input: this._i,\n format: this._f,\n locale: this._locale,\n isUTC: this._isUTC,\n strict: this._strict\n };\n }\n\n // FORMATTING\n\n addFormatToken(0, ['gg', 2], 0, function () {\n return this.weekYear() % 100;\n });\n\n addFormatToken(0, ['GG', 2], 0, function () {\n return this.isoWeekYear() % 100;\n });\n\n function addWeekYearFormatToken (token, getter) {\n addFormatToken(0, [token, token.length], 0, getter);\n }\n\n addWeekYearFormatToken('gggg', 'weekYear');\n addWeekYearFormatToken('ggggg', 'weekYear');\n addWeekYearFormatToken('GGGG', 'isoWeekYear');\n addWeekYearFormatToken('GGGGG', 'isoWeekYear');\n\n // ALIASES\n\n addUnitAlias('weekYear', 'gg');\n addUnitAlias('isoWeekYear', 'GG');\n\n // PRIORITY\n\n addUnitPriority('weekYear', 1);\n addUnitPriority('isoWeekYear', 1);\n\n\n // PARSING\n\n addRegexToken('G', matchSigned);\n addRegexToken('g', matchSigned);\n addRegexToken('GG', match1to2, match2);\n addRegexToken('gg', match1to2, match2);\n addRegexToken('GGGG', match1to4, match4);\n addRegexToken('gggg', match1to4, match4);\n addRegexToken('GGGGG', match1to6, match6);\n addRegexToken('ggggg', match1to6, match6);\n\n addWeekParseToken(['gggg', 'ggggg', 'GGGG', 'GGGGG'], function (input, week, config, token) {\n week[token.substr(0, 2)] = toInt(input);\n });\n\n addWeekParseToken(['gg', 'GG'], function (input, week, config, token) {\n week[token] = hooks.parseTwoDigitYear(input);\n });\n\n // MOMENTS\n\n function getSetWeekYear (input) {\n return getSetWeekYearHelper.call(this,\n input,\n this.week(),\n this.weekday(),\n this.localeData()._week.dow,\n this.localeData()._week.doy);\n }\n\n function getSetISOWeekYear (input) {\n return getSetWeekYearHelper.call(this,\n input, this.isoWeek(), this.isoWeekday(), 1, 4);\n }\n\n function getISOWeeksInYear () {\n return weeksInYear(this.year(), 1, 4);\n }\n\n function getWeeksInYear () {\n var weekInfo = this.localeData()._week;\n return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy);\n }\n\n function getSetWeekYearHelper(input, week, weekday, dow, doy) {\n var weeksTarget;\n if (input == null) {\n return weekOfYear(this, dow, doy).year;\n } else {\n weeksTarget = weeksInYear(input, dow, doy);\n if (week > weeksTarget) {\n week = weeksTarget;\n }\n return setWeekAll.call(this, input, week, weekday, dow, doy);\n }\n }\n\n function setWeekAll(weekYear, week, weekday, dow, doy) {\n var dayOfYearData = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy),\n date = createUTCDate(dayOfYearData.year, 0, dayOfYearData.dayOfYear);\n\n this.year(date.getUTCFullYear());\n this.month(date.getUTCMonth());\n this.date(date.getUTCDate());\n return this;\n }\n\n // FORMATTING\n\n addFormatToken('Q', 0, 'Qo', 'quarter');\n\n // ALIASES\n\n addUnitAlias('quarter', 'Q');\n\n // PRIORITY\n\n addUnitPriority('quarter', 7);\n\n // PARSING\n\n addRegexToken('Q', match1);\n addParseToken('Q', function (input, array) {\n array[MONTH] = (toInt(input) - 1) * 3;\n });\n\n // MOMENTS\n\n function getSetQuarter (input) {\n return input == null ? Math.ceil((this.month() + 1) / 3) : this.month((input - 1) * 3 + this.month() % 3);\n }\n\n // FORMATTING\n\n addFormatToken('D', ['DD', 2], 'Do', 'date');\n\n // ALIASES\n\n addUnitAlias('date', 'D');\n\n // PRIORITY\n addUnitPriority('date', 9);\n\n // PARSING\n\n addRegexToken('D', match1to2);\n addRegexToken('DD', match1to2, match2);\n addRegexToken('Do', function (isStrict, locale) {\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n return isStrict ?\n (locale._dayOfMonthOrdinalParse || locale._ordinalParse) :\n locale._dayOfMonthOrdinalParseLenient;\n });\n\n addParseToken(['D', 'DD'], DATE);\n addParseToken('Do', function (input, array) {\n array[DATE] = toInt(input.match(match1to2)[0]);\n });\n\n // MOMENTS\n\n var getSetDayOfMonth = makeGetSet('Date', true);\n\n // FORMATTING\n\n addFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear');\n\n // ALIASES\n\n addUnitAlias('dayOfYear', 'DDD');\n\n // PRIORITY\n addUnitPriority('dayOfYear', 4);\n\n // PARSING\n\n addRegexToken('DDD', match1to3);\n addRegexToken('DDDD', match3);\n addParseToken(['DDD', 'DDDD'], function (input, array, config) {\n config._dayOfYear = toInt(input);\n });\n\n // HELPERS\n\n // MOMENTS\n\n function getSetDayOfYear (input) {\n var dayOfYear = Math.round((this.clone().startOf('day') - this.clone().startOf('year')) / 864e5) + 1;\n return input == null ? dayOfYear : this.add((input - dayOfYear), 'd');\n }\n\n // FORMATTING\n\n addFormatToken('m', ['mm', 2], 0, 'minute');\n\n // ALIASES\n\n addUnitAlias('minute', 'm');\n\n // PRIORITY\n\n addUnitPriority('minute', 14);\n\n // PARSING\n\n addRegexToken('m', match1to2);\n addRegexToken('mm', match1to2, match2);\n addParseToken(['m', 'mm'], MINUTE);\n\n // MOMENTS\n\n var getSetMinute = makeGetSet('Minutes', false);\n\n // FORMATTING\n\n addFormatToken('s', ['ss', 2], 0, 'second');\n\n // ALIASES\n\n addUnitAlias('second', 's');\n\n // PRIORITY\n\n addUnitPriority('second', 15);\n\n // PARSING\n\n addRegexToken('s', match1to2);\n addRegexToken('ss', match1to2, match2);\n addParseToken(['s', 'ss'], SECOND);\n\n // MOMENTS\n\n var getSetSecond = makeGetSet('Seconds', false);\n\n // FORMATTING\n\n addFormatToken('S', 0, 0, function () {\n return ~~(this.millisecond() / 100);\n });\n\n addFormatToken(0, ['SS', 2], 0, function () {\n return ~~(this.millisecond() / 10);\n });\n\n addFormatToken(0, ['SSS', 3], 0, 'millisecond');\n addFormatToken(0, ['SSSS', 4], 0, function () {\n return this.millisecond() * 10;\n });\n addFormatToken(0, ['SSSSS', 5], 0, function () {\n return this.millisecond() * 100;\n });\n addFormatToken(0, ['SSSSSS', 6], 0, function () {\n return this.millisecond() * 1000;\n });\n addFormatToken(0, ['SSSSSSS', 7], 0, function () {\n return this.millisecond() * 10000;\n });\n addFormatToken(0, ['SSSSSSSS', 8], 0, function () {\n return this.millisecond() * 100000;\n });\n addFormatToken(0, ['SSSSSSSSS', 9], 0, function () {\n return this.millisecond() * 1000000;\n });\n\n\n // ALIASES\n\n addUnitAlias('millisecond', 'ms');\n\n // PRIORITY\n\n addUnitPriority('millisecond', 16);\n\n // PARSING\n\n addRegexToken('S', match1to3, match1);\n addRegexToken('SS', match1to3, match2);\n addRegexToken('SSS', match1to3, match3);\n\n var token;\n for (token = 'SSSS'; token.length <= 9; token += 'S') {\n addRegexToken(token, matchUnsigned);\n }\n\n function parseMs(input, array) {\n array[MILLISECOND] = toInt(('0.' + input) * 1000);\n }\n\n for (token = 'S'; token.length <= 9; token += 'S') {\n addParseToken(token, parseMs);\n }\n // MOMENTS\n\n var getSetMillisecond = makeGetSet('Milliseconds', false);\n\n // FORMATTING\n\n addFormatToken('z', 0, 0, 'zoneAbbr');\n addFormatToken('zz', 0, 0, 'zoneName');\n\n // MOMENTS\n\n function getZoneAbbr () {\n return this._isUTC ? 'UTC' : '';\n }\n\n function getZoneName () {\n return this._isUTC ? 'Coordinated Universal Time' : '';\n }\n\n var proto = Moment.prototype;\n\n proto.add = add;\n proto.calendar = calendar$1;\n proto.clone = clone;\n proto.diff = diff;\n proto.endOf = endOf;\n proto.format = format;\n proto.from = from;\n proto.fromNow = fromNow;\n proto.to = to;\n proto.toNow = toNow;\n proto.get = stringGet;\n proto.invalidAt = invalidAt;\n proto.isAfter = isAfter;\n proto.isBefore = isBefore;\n proto.isBetween = isBetween;\n proto.isSame = isSame;\n proto.isSameOrAfter = isSameOrAfter;\n proto.isSameOrBefore = isSameOrBefore;\n proto.isValid = isValid$2;\n proto.lang = lang;\n proto.locale = locale;\n proto.localeData = localeData;\n proto.max = prototypeMax;\n proto.min = prototypeMin;\n proto.parsingFlags = parsingFlags;\n proto.set = stringSet;\n proto.startOf = startOf;\n proto.subtract = subtract;\n proto.toArray = toArray;\n proto.toObject = toObject;\n proto.toDate = toDate;\n proto.toISOString = toISOString;\n proto.inspect = inspect;\n proto.toJSON = toJSON;\n proto.toString = toString;\n proto.unix = unix;\n proto.valueOf = valueOf;\n proto.creationData = creationData;\n proto.year = getSetYear;\n proto.isLeapYear = getIsLeapYear;\n proto.weekYear = getSetWeekYear;\n proto.isoWeekYear = getSetISOWeekYear;\n proto.quarter = proto.quarters = getSetQuarter;\n proto.month = getSetMonth;\n proto.daysInMonth = getDaysInMonth;\n proto.week = proto.weeks = getSetWeek;\n proto.isoWeek = proto.isoWeeks = getSetISOWeek;\n proto.weeksInYear = getWeeksInYear;\n proto.isoWeeksInYear = getISOWeeksInYear;\n proto.date = getSetDayOfMonth;\n proto.day = proto.days = getSetDayOfWeek;\n proto.weekday = getSetLocaleDayOfWeek;\n proto.isoWeekday = getSetISODayOfWeek;\n proto.dayOfYear = getSetDayOfYear;\n proto.hour = proto.hours = getSetHour;\n proto.minute = proto.minutes = getSetMinute;\n proto.second = proto.seconds = getSetSecond;\n proto.millisecond = proto.milliseconds = getSetMillisecond;\n proto.utcOffset = getSetOffset;\n proto.utc = setOffsetToUTC;\n proto.local = setOffsetToLocal;\n proto.parseZone = setOffsetToParsedOffset;\n proto.hasAlignedHourOffset = hasAlignedHourOffset;\n proto.isDST = isDaylightSavingTime;\n proto.isLocal = isLocal;\n proto.isUtcOffset = isUtcOffset;\n proto.isUtc = isUtc;\n proto.isUTC = isUtc;\n proto.zoneAbbr = getZoneAbbr;\n proto.zoneName = getZoneName;\n proto.dates = deprecate('dates accessor is deprecated. Use date instead.', getSetDayOfMonth);\n proto.months = deprecate('months accessor is deprecated. Use month instead', getSetMonth);\n proto.years = deprecate('years accessor is deprecated. Use year instead', getSetYear);\n proto.zone = deprecate('moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/', getSetZone);\n proto.isDSTShifted = deprecate('isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information', isDaylightSavingTimeShifted);\n\n function createUnix (input) {\n return createLocal(input * 1000);\n }\n\n function createInZone () {\n return createLocal.apply(null, arguments).parseZone();\n }\n\n function preParsePostFormat (string) {\n return string;\n }\n\n var proto$1 = Locale.prototype;\n\n proto$1.calendar = calendar;\n proto$1.longDateFormat = longDateFormat;\n proto$1.invalidDate = invalidDate;\n proto$1.ordinal = ordinal;\n proto$1.preparse = preParsePostFormat;\n proto$1.postformat = preParsePostFormat;\n proto$1.relativeTime = relativeTime;\n proto$1.pastFuture = pastFuture;\n proto$1.set = set;\n\n proto$1.months = localeMonths;\n proto$1.monthsShort = localeMonthsShort;\n proto$1.monthsParse = localeMonthsParse;\n proto$1.monthsRegex = monthsRegex;\n proto$1.monthsShortRegex = monthsShortRegex;\n proto$1.week = localeWeek;\n proto$1.firstDayOfYear = localeFirstDayOfYear;\n proto$1.firstDayOfWeek = localeFirstDayOfWeek;\n\n proto$1.weekdays = localeWeekdays;\n proto$1.weekdaysMin = localeWeekdaysMin;\n proto$1.weekdaysShort = localeWeekdaysShort;\n proto$1.weekdaysParse = localeWeekdaysParse;\n\n proto$1.weekdaysRegex = weekdaysRegex;\n proto$1.weekdaysShortRegex = weekdaysShortRegex;\n proto$1.weekdaysMinRegex = weekdaysMinRegex;\n\n proto$1.isPM = localeIsPM;\n proto$1.meridiem = localeMeridiem;\n\n function get$1 (format, index, field, setter) {\n var locale = getLocale();\n var utc = createUTC().set(setter, index);\n return locale[field](utc, format);\n }\n\n function listMonthsImpl (format, index, field) {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n\n if (index != null) {\n return get$1(format, index, field, 'month');\n }\n\n var i;\n var out = [];\n for (i = 0; i < 12; i++) {\n out[i] = get$1(format, i, field, 'month');\n }\n return out;\n }\n\n // ()\n // (5)\n // (fmt, 5)\n // (fmt)\n // (true)\n // (true, 5)\n // (true, fmt, 5)\n // (true, fmt)\n function listWeekdaysImpl (localeSorted, format, index, field) {\n if (typeof localeSorted === 'boolean') {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n } else {\n format = localeSorted;\n index = format;\n localeSorted = false;\n\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n }\n\n var locale = getLocale(),\n shift = localeSorted ? locale._week.dow : 0;\n\n if (index != null) {\n return get$1(format, (index + shift) % 7, field, 'day');\n }\n\n var i;\n var out = [];\n for (i = 0; i < 7; i++) {\n out[i] = get$1(format, (i + shift) % 7, field, 'day');\n }\n return out;\n }\n\n function listMonths (format, index) {\n return listMonthsImpl(format, index, 'months');\n }\n\n function listMonthsShort (format, index) {\n return listMonthsImpl(format, index, 'monthsShort');\n }\n\n function listWeekdays (localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdays');\n }\n\n function listWeekdaysShort (localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysShort');\n }\n\n function listWeekdaysMin (localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysMin');\n }\n\n getSetGlobalLocale('en', {\n dayOfMonthOrdinalParse: /\\d{1,2}(th|st|nd|rd)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (toInt(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n }\n });\n\n // Side effect imports\n\n hooks.lang = deprecate('moment.lang is deprecated. Use moment.locale instead.', getSetGlobalLocale);\n hooks.langData = deprecate('moment.langData is deprecated. Use moment.localeData instead.', getLocale);\n\n var mathAbs = Math.abs;\n\n function abs () {\n var data = this._data;\n\n this._milliseconds = mathAbs(this._milliseconds);\n this._days = mathAbs(this._days);\n this._months = mathAbs(this._months);\n\n data.milliseconds = mathAbs(data.milliseconds);\n data.seconds = mathAbs(data.seconds);\n data.minutes = mathAbs(data.minutes);\n data.hours = mathAbs(data.hours);\n data.months = mathAbs(data.months);\n data.years = mathAbs(data.years);\n\n return this;\n }\n\n function addSubtract$1 (duration, input, value, direction) {\n var other = createDuration(input, value);\n\n duration._milliseconds += direction * other._milliseconds;\n duration._days += direction * other._days;\n duration._months += direction * other._months;\n\n return duration._bubble();\n }\n\n // supports only 2.0-style add(1, 's') or add(duration)\n function add$1 (input, value) {\n return addSubtract$1(this, input, value, 1);\n }\n\n // supports only 2.0-style subtract(1, 's') or subtract(duration)\n function subtract$1 (input, value) {\n return addSubtract$1(this, input, value, -1);\n }\n\n function absCeil (number) {\n if (number < 0) {\n return Math.floor(number);\n } else {\n return Math.ceil(number);\n }\n }\n\n function bubble () {\n var milliseconds = this._milliseconds;\n var days = this._days;\n var months = this._months;\n var data = this._data;\n var seconds, minutes, hours, years, monthsFromDays;\n\n // if we have a mix of positive and negative values, bubble down first\n // check: https://github.com/moment/moment/issues/2166\n if (!((milliseconds >= 0 && days >= 0 && months >= 0) ||\n (milliseconds <= 0 && days <= 0 && months <= 0))) {\n milliseconds += absCeil(monthsToDays(months) + days) * 864e5;\n days = 0;\n months = 0;\n }\n\n // The following code bubbles up values, see the tests for\n // examples of what that means.\n data.milliseconds = milliseconds % 1000;\n\n seconds = absFloor(milliseconds / 1000);\n data.seconds = seconds % 60;\n\n minutes = absFloor(seconds / 60);\n data.minutes = minutes % 60;\n\n hours = absFloor(minutes / 60);\n data.hours = hours % 24;\n\n days += absFloor(hours / 24);\n\n // convert days to months\n monthsFromDays = absFloor(daysToMonths(days));\n months += monthsFromDays;\n days -= absCeil(monthsToDays(monthsFromDays));\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n data.days = days;\n data.months = months;\n data.years = years;\n\n return this;\n }\n\n function daysToMonths (days) {\n // 400 years have 146097 days (taking into account leap year rules)\n // 400 years have 12 months === 4800\n return days * 4800 / 146097;\n }\n\n function monthsToDays (months) {\n // the reverse of daysToMonths\n return months * 146097 / 4800;\n }\n\n function as (units) {\n if (!this.isValid()) {\n return NaN;\n }\n var days;\n var months;\n var milliseconds = this._milliseconds;\n\n units = normalizeUnits(units);\n\n if (units === 'month' || units === 'year') {\n days = this._days + milliseconds / 864e5;\n months = this._months + daysToMonths(days);\n return units === 'month' ? months : months / 12;\n } else {\n // handle milliseconds separately because of floating point math errors (issue #1867)\n days = this._days + Math.round(monthsToDays(this._months));\n switch (units) {\n case 'week' : return days / 7 + milliseconds / 6048e5;\n case 'day' : return days + milliseconds / 864e5;\n case 'hour' : return days * 24 + milliseconds / 36e5;\n case 'minute' : return days * 1440 + milliseconds / 6e4;\n case 'second' : return days * 86400 + milliseconds / 1000;\n // Math.floor prevents floating point math errors here\n case 'millisecond': return Math.floor(days * 864e5) + milliseconds;\n default: throw new Error('Unknown unit ' + units);\n }\n }\n }\n\n // TODO: Use this.as('ms')?\n function valueOf$1 () {\n if (!this.isValid()) {\n return NaN;\n }\n return (\n this._milliseconds +\n this._days * 864e5 +\n (this._months % 12) * 2592e6 +\n toInt(this._months / 12) * 31536e6\n );\n }\n\n function makeAs (alias) {\n return function () {\n return this.as(alias);\n };\n }\n\n var asMilliseconds = makeAs('ms');\n var asSeconds = makeAs('s');\n var asMinutes = makeAs('m');\n var asHours = makeAs('h');\n var asDays = makeAs('d');\n var asWeeks = makeAs('w');\n var asMonths = makeAs('M');\n var asYears = makeAs('y');\n\n function clone$1 () {\n return createDuration(this);\n }\n\n function get$2 (units) {\n units = normalizeUnits(units);\n return this.isValid() ? this[units + 's']() : NaN;\n }\n\n function makeGetter(name) {\n return function () {\n return this.isValid() ? this._data[name] : NaN;\n };\n }\n\n var milliseconds = makeGetter('milliseconds');\n var seconds = makeGetter('seconds');\n var minutes = makeGetter('minutes');\n var hours = makeGetter('hours');\n var days = makeGetter('days');\n var months = makeGetter('months');\n var years = makeGetter('years');\n\n function weeks () {\n return absFloor(this.days() / 7);\n }\n\n var round = Math.round;\n var thresholds = {\n ss: 44, // a few seconds to seconds\n s : 45, // seconds to minute\n m : 45, // minutes to hour\n h : 22, // hours to day\n d : 26, // days to month\n M : 11 // months to year\n };\n\n // helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize\n function substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) {\n return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture);\n }\n\n function relativeTime$1 (posNegDuration, withoutSuffix, locale) {\n var duration = createDuration(posNegDuration).abs();\n var seconds = round(duration.as('s'));\n var minutes = round(duration.as('m'));\n var hours = round(duration.as('h'));\n var days = round(duration.as('d'));\n var months = round(duration.as('M'));\n var years = round(duration.as('y'));\n\n var a = seconds <= thresholds.ss && ['s', seconds] ||\n seconds < thresholds.s && ['ss', seconds] ||\n minutes <= 1 && ['m'] ||\n minutes < thresholds.m && ['mm', minutes] ||\n hours <= 1 && ['h'] ||\n hours < thresholds.h && ['hh', hours] ||\n days <= 1 && ['d'] ||\n days < thresholds.d && ['dd', days] ||\n months <= 1 && ['M'] ||\n months < thresholds.M && ['MM', months] ||\n years <= 1 && ['y'] || ['yy', years];\n\n a[2] = withoutSuffix;\n a[3] = +posNegDuration > 0;\n a[4] = locale;\n return substituteTimeAgo.apply(null, a);\n }\n\n // This function allows you to set the rounding function for relative time strings\n function getSetRelativeTimeRounding (roundingFunction) {\n if (roundingFunction === undefined) {\n return round;\n }\n if (typeof(roundingFunction) === 'function') {\n round = roundingFunction;\n return true;\n }\n return false;\n }\n\n // This function allows you to set a threshold for relative time strings\n function getSetRelativeTimeThreshold (threshold, limit) {\n if (thresholds[threshold] === undefined) {\n return false;\n }\n if (limit === undefined) {\n return thresholds[threshold];\n }\n thresholds[threshold] = limit;\n if (threshold === 's') {\n thresholds.ss = limit - 1;\n }\n return true;\n }\n\n function humanize (withSuffix) {\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var locale = this.localeData();\n var output = relativeTime$1(this, !withSuffix, locale);\n\n if (withSuffix) {\n output = locale.pastFuture(+this, output);\n }\n\n return locale.postformat(output);\n }\n\n var abs$1 = Math.abs;\n\n function sign(x) {\n return ((x > 0) - (x < 0)) || +x;\n }\n\n function toISOString$1() {\n // for ISO strings we do not use the normal bubbling rules:\n // * milliseconds bubble up until they become hours\n // * days do not bubble at all\n // * months bubble up until they become years\n // This is because there is no context-free conversion between hours and days\n // (think of clock changes)\n // and also not between days and months (28-31 days per month)\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var seconds = abs$1(this._milliseconds) / 1000;\n var days = abs$1(this._days);\n var months = abs$1(this._months);\n var minutes, hours, years;\n\n // 3600 seconds -> 60 minutes -> 1 hour\n minutes = absFloor(seconds / 60);\n hours = absFloor(minutes / 60);\n seconds %= 60;\n minutes %= 60;\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n\n // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js\n var Y = years;\n var M = months;\n var D = days;\n var h = hours;\n var m = minutes;\n var s = seconds ? seconds.toFixed(3).replace(/\\.?0+$/, '') : '';\n var total = this.asSeconds();\n\n if (!total) {\n // this is the same as C#'s (Noda) and python (isodate)...\n // but not other JS (goog.date)\n return 'P0D';\n }\n\n var totalSign = total < 0 ? '-' : '';\n var ymSign = sign(this._months) !== sign(total) ? '-' : '';\n var daysSign = sign(this._days) !== sign(total) ? '-' : '';\n var hmsSign = sign(this._milliseconds) !== sign(total) ? '-' : '';\n\n return totalSign + 'P' +\n (Y ? ymSign + Y + 'Y' : '') +\n (M ? ymSign + M + 'M' : '') +\n (D ? daysSign + D + 'D' : '') +\n ((h || m || s) ? 'T' : '') +\n (h ? hmsSign + h + 'H' : '') +\n (m ? hmsSign + m + 'M' : '') +\n (s ? hmsSign + s + 'S' : '');\n }\n\n var proto$2 = Duration.prototype;\n\n proto$2.isValid = isValid$1;\n proto$2.abs = abs;\n proto$2.add = add$1;\n proto$2.subtract = subtract$1;\n proto$2.as = as;\n proto$2.asMilliseconds = asMilliseconds;\n proto$2.asSeconds = asSeconds;\n proto$2.asMinutes = asMinutes;\n proto$2.asHours = asHours;\n proto$2.asDays = asDays;\n proto$2.asWeeks = asWeeks;\n proto$2.asMonths = asMonths;\n proto$2.asYears = asYears;\n proto$2.valueOf = valueOf$1;\n proto$2._bubble = bubble;\n proto$2.clone = clone$1;\n proto$2.get = get$2;\n proto$2.milliseconds = milliseconds;\n proto$2.seconds = seconds;\n proto$2.minutes = minutes;\n proto$2.hours = hours;\n proto$2.days = days;\n proto$2.weeks = weeks;\n proto$2.months = months;\n proto$2.years = years;\n proto$2.humanize = humanize;\n proto$2.toISOString = toISOString$1;\n proto$2.toString = toISOString$1;\n proto$2.toJSON = toISOString$1;\n proto$2.locale = locale;\n proto$2.localeData = localeData;\n\n proto$2.toIsoString = deprecate('toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)', toISOString$1);\n proto$2.lang = lang;\n\n // Side effect imports\n\n // FORMATTING\n\n addFormatToken('X', 0, 0, 'unix');\n addFormatToken('x', 0, 0, 'valueOf');\n\n // PARSING\n\n addRegexToken('x', matchSigned);\n addRegexToken('X', matchTimestamp);\n addParseToken('X', function (input, array, config) {\n config._d = new Date(parseFloat(input, 10) * 1000);\n });\n addParseToken('x', function (input, array, config) {\n config._d = new Date(toInt(input));\n });\n\n // Side effect imports\n\n\n hooks.version = '2.22.2';\n\n setHookCallback(createLocal);\n\n hooks.fn = proto;\n hooks.min = min;\n hooks.max = max;\n hooks.now = now;\n hooks.utc = createUTC;\n hooks.unix = createUnix;\n hooks.months = listMonths;\n hooks.isDate = isDate;\n hooks.locale = getSetGlobalLocale;\n hooks.invalid = createInvalid;\n hooks.duration = createDuration;\n hooks.isMoment = isMoment;\n hooks.weekdays = listWeekdays;\n hooks.parseZone = createInZone;\n hooks.localeData = getLocale;\n hooks.isDuration = isDuration;\n hooks.monthsShort = listMonthsShort;\n hooks.weekdaysMin = listWeekdaysMin;\n hooks.defineLocale = defineLocale;\n hooks.updateLocale = updateLocale;\n hooks.locales = listLocales;\n hooks.weekdaysShort = listWeekdaysShort;\n hooks.normalizeUnits = normalizeUnits;\n hooks.relativeTimeRounding = getSetRelativeTimeRounding;\n hooks.relativeTimeThreshold = getSetRelativeTimeThreshold;\n hooks.calendarFormat = getCalendarFormat;\n hooks.prototype = proto;\n\n // currently HTML5 input type only supports 24-hour formats\n hooks.HTML5_FMT = {\n DATETIME_LOCAL: 'YYYY-MM-DDTHH:mm', // \n DATETIME_LOCAL_SECONDS: 'YYYY-MM-DDTHH:mm:ss', // \n DATETIME_LOCAL_MS: 'YYYY-MM-DDTHH:mm:ss.SSS', // \n DATE: 'YYYY-MM-DD', // \n TIME: 'HH:mm', // \n TIME_SECONDS: 'HH:mm:ss', // \n TIME_MS: 'HH:mm:ss.SSS', // \n WEEK: 'YYYY-[W]WW', // \n MONTH: 'YYYY-MM' // \n };\n\n return hooks;\n\n})));\n","export function each(o, cb, s) {\n var n;\n if (!o) {\n return 0;\n }\n s = !s ? o : s;\n if (o instanceof Array) {\n // Indexed arrays, needed for Safari\n for (n = 0; n < o.length; n++) {\n if (cb.call(s, o[n], n, o) === false) {\n return 0;\n }\n }\n } else {\n // Hashtables\n for (n in o) {\n if (o.hasOwnProperty(n)) {\n if (cb.call(s, o[n], n, o) === false){\n return 0;\n }\n }\n }\n }\n return 1;\n}\n","const matchHtmlRegExp = /[\"'&<>]/;\n\n/**\n * Escape special characters in the given string of html.\n *\n * @param {string} string The string to escape for inserting into HTML\n * @return {string}\n * @public\n */\n\nexport function escapeHtml(string) {\n var str = '' + string;\n var match = matchHtmlRegExp.exec(str);\n\n if (!match) {\n return str;\n }\n\n var escape;\n var html = '';\n var index = 0;\n var lastIndex = 0;\n\n for (index = match.index; index < str.length; index++) {\n switch (str.charCodeAt(index)) {\n case 34: // \"\n escape = '"';\n break;\n case 38: // &\n escape = '&';\n break;\n case 39: // '\n escape = ''';\n break;\n case 60: // <\n escape = '<';\n break;\n case 62: // >\n escape = '>';\n break;\n default:\n continue;\n }\n\n if (lastIndex !== index) {\n html += str.substring(lastIndex, index);\n }\n\n lastIndex = index + 1;\n html += escape;\n }\n\n return lastIndex !== index\n ? html + str.substring(lastIndex, index)\n : html;\n}\n","export function extend(target) {\n for (var i = 1; i < arguments.length; i++) {\n for (var prop in arguments[i]){\n target[prop] = arguments[i][prop];\n }\n }\n return target;\n}\n","export function testObject(input) {\n if (input !== null && typeof input.getTime === 'function' && !isNaN(input.getTime())) {\n return true;\n }\n return false;\n}\n\nexport function testString(input) {\n const ISO_8601 = /^\\d{4}-\\d\\d-\\d\\dT\\d\\d:\\d\\d:\\d\\d(\\.\\d+)?(([+-]\\d\\d:\\d\\d)|Z)?$/i;\n return ISO_8601.test(input);\n}\n\nexport default function (input) {\n if (typeof input === 'object') {\n return testObject(input);\n } else if (typeof input === 'string') {\n return testString(input);\n }\n return false;\n}\n","/**\n * Strip html tags from string\n *\n * @param {string} string The string to strip\n * @return {string}\n * @public\n */\n\nexport function stripHtmlTags(inputString) {\n return inputString.replace(/(<([^>]+)>)/ig, '');\n}\n","export default function (len) {\n const list = [];\n for (let i = 0; i < len; i++) {\n list.push(null);\n }\n return list;\n}\n","import createNullList from '../utils/create-null-list';\nimport { each } from '../../utils/each';\n\nexport function appendColumn(str, input) {\n const self = this;\n const args = Array.prototype.slice.call(arguments, 2);\n const label = (str !== undefined) ? str : null;\n\n if (typeof input === 'function') {\n self.matrix[0].push(label);\n each(self.matrix, function(row, i) {\n let cell;\n if (i > 0) {\n cell = input.call(self, row, i);\n if (typeof cell === 'undefined') {\n cell = null;\n }\n self.matrix[i].push(cell);\n }\n });\n }\n\n else if (!input || input instanceof Array) {\n input = input || [];\n\n if (input.length <= self.matrix.length - 1) {\n input = input.concat(createNullList(self.matrix.length - 1 - input.length));\n }\n else {\n // If this new column is longer than existing columns,\n // we need to update the rest to match ...\n each(input, function(value, i){\n if (self.matrix.length -1 < input.length) {\n appendRow.call(self, String(self.matrix.length));\n }\n });\n }\n\n self.matrix[0].push(label);\n each(input, function(value, i){\n self.matrix[i+1][self.matrix[0].length-1] = value;\n });\n\n }\n\n return self;\n}\n\nexport function appendRow(str, input) {\n const self = this;\n const args = Array.prototype.slice.call(arguments, 2);\n const label = (str !== undefined) ? str : null;\n const newRow = [];\n\n newRow.push(label);\n\n if (typeof input === 'function') {\n each(self.matrix[0], function(label, i){\n let col;\n let cell;\n if (i > 0) {\n col = self.selectColumn(i);\n cell = input.call(self, col, i);\n if (typeof cell === 'undefined') {\n cell = null;\n }\n newRow.push(cell);\n }\n });\n self.matrix.push(newRow);\n }\n\n else if (!input || input instanceof Array) {\n input = input || [];\n\n if (input.length <= self.matrix[0].length - 1) {\n input = input.concat( createNullList( self.matrix[0].length - 1 - input.length ) );\n }\n else {\n each(input, function(value, i){\n if (self.matrix[0].length -1 < input.length) {\n appendColumn.call(self, String( self.matrix[0].length));\n }\n });\n }\n\n self.matrix.push(newRow.concat(input));\n }\n\n return self;\n}\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var zhTw = moment.defineLocale('zh-tw', {\n months : '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'),\n monthsShort : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n weekdays : '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n weekdaysShort : '週日_週一_週二_週三_週四_週五_週六'.split('_'),\n weekdaysMin : '日_一_二_三_四_五_六'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY/MM/DD',\n LL : 'YYYY年M月D日',\n LLL : 'YYYY年M月D日 HH:mm',\n LLLL : 'YYYY年M月D日dddd HH:mm',\n l : 'YYYY/M/D',\n ll : 'YYYY年M月D日',\n lll : 'YYYY年M月D日 HH:mm',\n llll : 'YYYY年M月D日dddd HH:mm'\n },\n meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n return hour;\n } else if (meridiem === '中午') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === '下午' || meridiem === '晚上') {\n return hour + 12;\n }\n },\n meridiem : function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n if (hm < 600) {\n return '凌晨';\n } else if (hm < 900) {\n return '早上';\n } else if (hm < 1130) {\n return '上午';\n } else if (hm < 1230) {\n return '中午';\n } else if (hm < 1800) {\n return '下午';\n } else {\n return '晚上';\n }\n },\n calendar : {\n sameDay : '[今天] LT',\n nextDay : '[明天] LT',\n nextWeek : '[下]dddd LT',\n lastDay : '[昨天] LT',\n lastWeek : '[上]dddd LT',\n sameElse : 'L'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(日|月|週)/,\n ordinal : function (number, period) {\n switch (period) {\n case 'd' :\n case 'D' :\n case 'DDD' :\n return number + '日';\n case 'M' :\n return number + '月';\n case 'w' :\n case 'W' :\n return number + '週';\n default :\n return number;\n }\n },\n relativeTime : {\n future : '%s內',\n past : '%s前',\n s : '幾秒',\n ss : '%d 秒',\n m : '1 分鐘',\n mm : '%d 分鐘',\n h : '1 小時',\n hh : '%d 小時',\n d : '1 天',\n dd : '%d 天',\n M : '1 個月',\n MM : '%d 個月',\n y : '1 年',\n yy : '%d 年'\n }\n });\n\n return zhTw;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var zhHk = moment.defineLocale('zh-hk', {\n months : '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'),\n monthsShort : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n weekdays : '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n weekdaysShort : '週日_週一_週二_週三_週四_週五_週六'.split('_'),\n weekdaysMin : '日_一_二_三_四_五_六'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY/MM/DD',\n LL : 'YYYY年M月D日',\n LLL : 'YYYY年M月D日 HH:mm',\n LLLL : 'YYYY年M月D日dddd HH:mm',\n l : 'YYYY/M/D',\n ll : 'YYYY年M月D日',\n lll : 'YYYY年M月D日 HH:mm',\n llll : 'YYYY年M月D日dddd HH:mm'\n },\n meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n return hour;\n } else if (meridiem === '中午') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === '下午' || meridiem === '晚上') {\n return hour + 12;\n }\n },\n meridiem : function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n if (hm < 600) {\n return '凌晨';\n } else if (hm < 900) {\n return '早上';\n } else if (hm < 1130) {\n return '上午';\n } else if (hm < 1230) {\n return '中午';\n } else if (hm < 1800) {\n return '下午';\n } else {\n return '晚上';\n }\n },\n calendar : {\n sameDay : '[今天]LT',\n nextDay : '[明天]LT',\n nextWeek : '[下]ddddLT',\n lastDay : '[昨天]LT',\n lastWeek : '[上]ddddLT',\n sameElse : 'L'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(日|月|週)/,\n ordinal : function (number, period) {\n switch (period) {\n case 'd' :\n case 'D' :\n case 'DDD' :\n return number + '日';\n case 'M' :\n return number + '月';\n case 'w' :\n case 'W' :\n return number + '週';\n default :\n return number;\n }\n },\n relativeTime : {\n future : '%s內',\n past : '%s前',\n s : '幾秒',\n ss : '%d 秒',\n m : '1 分鐘',\n mm : '%d 分鐘',\n h : '1 小時',\n hh : '%d 小時',\n d : '1 天',\n dd : '%d 天',\n M : '1 個月',\n MM : '%d 個月',\n y : '1 年',\n yy : '%d 年'\n }\n });\n\n return zhHk;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var zhCn = moment.defineLocale('zh-cn', {\n months : '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'),\n monthsShort : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n weekdays : '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n weekdaysShort : '周日_周一_周二_周三_周四_周五_周六'.split('_'),\n weekdaysMin : '日_一_二_三_四_五_六'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY/MM/DD',\n LL : 'YYYY年M月D日',\n LLL : 'YYYY年M月D日Ah点mm分',\n LLLL : 'YYYY年M月D日ddddAh点mm分',\n l : 'YYYY/M/D',\n ll : 'YYYY年M月D日',\n lll : 'YYYY年M月D日 HH:mm',\n llll : 'YYYY年M月D日dddd HH:mm'\n },\n meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === '凌晨' || meridiem === '早上' ||\n meridiem === '上午') {\n return hour;\n } else if (meridiem === '下午' || meridiem === '晚上') {\n return hour + 12;\n } else {\n // '中午'\n return hour >= 11 ? hour : hour + 12;\n }\n },\n meridiem : function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n if (hm < 600) {\n return '凌晨';\n } else if (hm < 900) {\n return '早上';\n } else if (hm < 1130) {\n return '上午';\n } else if (hm < 1230) {\n return '中午';\n } else if (hm < 1800) {\n return '下午';\n } else {\n return '晚上';\n }\n },\n calendar : {\n sameDay : '[今天]LT',\n nextDay : '[明天]LT',\n nextWeek : '[下]ddddLT',\n lastDay : '[昨天]LT',\n lastWeek : '[上]ddddLT',\n sameElse : 'L'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(日|月|周)/,\n ordinal : function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '日';\n case 'M':\n return number + '月';\n case 'w':\n case 'W':\n return number + '周';\n default:\n return number;\n }\n },\n relativeTime : {\n future : '%s内',\n past : '%s前',\n s : '几秒',\n ss : '%d 秒',\n m : '1 分钟',\n mm : '%d 分钟',\n h : '1 小时',\n hh : '%d 小时',\n d : '1 天',\n dd : '%d 天',\n M : '1 个月',\n MM : '%d 个月',\n y : '1 年',\n yy : '%d 年'\n },\n week : {\n // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return zhCn;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var yo = moment.defineLocale('yo', {\n months : 'Sẹ́rẹ́_Èrèlè_Ẹrẹ̀nà_Ìgbé_Èbibi_Òkùdu_Agẹmo_Ògún_Owewe_Ọ̀wàrà_Bélú_Ọ̀pẹ̀̀'.split('_'),\n monthsShort : 'Sẹ́r_Èrl_Ẹrn_Ìgb_Èbi_Òkù_Agẹ_Ògú_Owe_Ọ̀wà_Bél_Ọ̀pẹ̀̀'.split('_'),\n weekdays : 'Àìkú_Ajé_Ìsẹ́gun_Ọjọ́rú_Ọjọ́bọ_Ẹtì_Àbámẹ́ta'.split('_'),\n weekdaysShort : 'Àìk_Ajé_Ìsẹ́_Ọjr_Ọjb_Ẹtì_Àbá'.split('_'),\n weekdaysMin : 'Àì_Aj_Ìs_Ọr_Ọb_Ẹt_Àb'.split('_'),\n longDateFormat : {\n LT : 'h:mm A',\n LTS : 'h:mm:ss A',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY h:mm A',\n LLLL : 'dddd, D MMMM YYYY h:mm A'\n },\n calendar : {\n sameDay : '[Ònì ni] LT',\n nextDay : '[Ọ̀la ni] LT',\n nextWeek : 'dddd [Ọsẹ̀ tón\\'bọ] [ni] LT',\n lastDay : '[Àna ni] LT',\n lastWeek : 'dddd [Ọsẹ̀ tólọ́] [ni] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'ní %s',\n past : '%s kọjá',\n s : 'ìsẹjú aayá die',\n ss :'aayá %d',\n m : 'ìsẹjú kan',\n mm : 'ìsẹjú %d',\n h : 'wákati kan',\n hh : 'wákati %d',\n d : 'ọjọ́ kan',\n dd : 'ọjọ́ %d',\n M : 'osù kan',\n MM : 'osù %d',\n y : 'ọdún kan',\n yy : 'ọdún %d'\n },\n dayOfMonthOrdinalParse : /ọjọ́\\s\\d{1,2}/,\n ordinal : 'ọjọ́ %d',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return yo;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var xPseudo = moment.defineLocale('x-pseudo', {\n months : 'J~áñúá~rý_F~ébrú~árý_~Márc~h_Áp~ríl_~Máý_~Júñé~_Júl~ý_Áú~gúst~_Sép~témb~ér_Ó~ctób~ér_Ñ~óvém~bér_~Décé~mbér'.split('_'),\n monthsShort : 'J~áñ_~Féb_~Már_~Ápr_~Máý_~Júñ_~Júl_~Áúg_~Sép_~Óct_~Ñóv_~Déc'.split('_'),\n monthsParseExact : true,\n weekdays : 'S~úñdá~ý_Mó~ñdáý~_Túé~sdáý~_Wéd~ñésd~áý_T~húrs~dáý_~Fríd~áý_S~átúr~dáý'.split('_'),\n weekdaysShort : 'S~úñ_~Móñ_~Túé_~Wéd_~Thú_~Frí_~Sát'.split('_'),\n weekdaysMin : 'S~ú_Mó~_Tú_~Wé_T~h_Fr~_Sá'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[T~ódá~ý át] LT',\n nextDay : '[T~ómó~rró~w át] LT',\n nextWeek : 'dddd [át] LT',\n lastDay : '[Ý~ést~érdá~ý át] LT',\n lastWeek : '[L~ást] dddd [át] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'í~ñ %s',\n past : '%s á~gó',\n s : 'á ~féw ~sécó~ñds',\n ss : '%d s~écóñ~ds',\n m : 'á ~míñ~úté',\n mm : '%d m~íñú~tés',\n h : 'á~ñ hó~úr',\n hh : '%d h~óúrs',\n d : 'á ~dáý',\n dd : '%d d~áýs',\n M : 'á ~móñ~th',\n MM : '%d m~óñt~hs',\n y : 'á ~ýéár',\n yy : '%d ý~éárs'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(th|st|nd|rd)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return xPseudo;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var vi = moment.defineLocale('vi', {\n months : 'tháng 1_tháng 2_tháng 3_tháng 4_tháng 5_tháng 6_tháng 7_tháng 8_tháng 9_tháng 10_tháng 11_tháng 12'.split('_'),\n monthsShort : 'Th01_Th02_Th03_Th04_Th05_Th06_Th07_Th08_Th09_Th10_Th11_Th12'.split('_'),\n monthsParseExact : true,\n weekdays : 'chủ nhật_thứ hai_thứ ba_thứ tư_thứ năm_thứ sáu_thứ bảy'.split('_'),\n weekdaysShort : 'CN_T2_T3_T4_T5_T6_T7'.split('_'),\n weekdaysMin : 'CN_T2_T3_T4_T5_T6_T7'.split('_'),\n weekdaysParseExact : true,\n meridiemParse: /sa|ch/i,\n isPM : function (input) {\n return /^ch$/i.test(input);\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours < 12) {\n return isLower ? 'sa' : 'SA';\n } else {\n return isLower ? 'ch' : 'CH';\n }\n },\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM [năm] YYYY',\n LLL : 'D MMMM [năm] YYYY HH:mm',\n LLLL : 'dddd, D MMMM [năm] YYYY HH:mm',\n l : 'DD/M/YYYY',\n ll : 'D MMM YYYY',\n lll : 'D MMM YYYY HH:mm',\n llll : 'ddd, D MMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[Hôm nay lúc] LT',\n nextDay: '[Ngày mai lúc] LT',\n nextWeek: 'dddd [tuần tới lúc] LT',\n lastDay: '[Hôm qua lúc] LT',\n lastWeek: 'dddd [tuần rồi lúc] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : '%s tới',\n past : '%s trước',\n s : 'vài giây',\n ss : '%d giây' ,\n m : 'một phút',\n mm : '%d phút',\n h : 'một giờ',\n hh : '%d giờ',\n d : 'một ngày',\n dd : '%d ngày',\n M : 'một tháng',\n MM : '%d tháng',\n y : 'một năm',\n yy : '%d năm'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}/,\n ordinal : function (number) {\n return number;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return vi;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var uzLatn = moment.defineLocale('uz-latn', {\n months : 'Yanvar_Fevral_Mart_Aprel_May_Iyun_Iyul_Avgust_Sentabr_Oktabr_Noyabr_Dekabr'.split('_'),\n monthsShort : 'Yan_Fev_Mar_Apr_May_Iyun_Iyul_Avg_Sen_Okt_Noy_Dek'.split('_'),\n weekdays : 'Yakshanba_Dushanba_Seshanba_Chorshanba_Payshanba_Juma_Shanba'.split('_'),\n weekdaysShort : 'Yak_Dush_Sesh_Chor_Pay_Jum_Shan'.split('_'),\n weekdaysMin : 'Ya_Du_Se_Cho_Pa_Ju_Sha'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'D MMMM YYYY, dddd HH:mm'\n },\n calendar : {\n sameDay : '[Bugun soat] LT [da]',\n nextDay : '[Ertaga] LT [da]',\n nextWeek : 'dddd [kuni soat] LT [da]',\n lastDay : '[Kecha soat] LT [da]',\n lastWeek : '[O\\'tgan] dddd [kuni soat] LT [da]',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'Yaqin %s ichida',\n past : 'Bir necha %s oldin',\n s : 'soniya',\n ss : '%d soniya',\n m : 'bir daqiqa',\n mm : '%d daqiqa',\n h : 'bir soat',\n hh : '%d soat',\n d : 'bir kun',\n dd : '%d kun',\n M : 'bir oy',\n MM : '%d oy',\n y : 'bir yil',\n yy : '%d yil'\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return uzLatn;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var uz = moment.defineLocale('uz', {\n months : 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split('_'),\n monthsShort : 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'),\n weekdays : 'Якшанба_Душанба_Сешанба_Чоршанба_Пайшанба_Жума_Шанба'.split('_'),\n weekdaysShort : 'Якш_Душ_Сеш_Чор_Пай_Жум_Шан'.split('_'),\n weekdaysMin : 'Як_Ду_Се_Чо_Па_Жу_Ша'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'D MMMM YYYY, dddd HH:mm'\n },\n calendar : {\n sameDay : '[Бугун соат] LT [да]',\n nextDay : '[Эртага] LT [да]',\n nextWeek : 'dddd [куни соат] LT [да]',\n lastDay : '[Кеча соат] LT [да]',\n lastWeek : '[Утган] dddd [куни соат] LT [да]',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'Якин %s ичида',\n past : 'Бир неча %s олдин',\n s : 'фурсат',\n ss : '%d фурсат',\n m : 'бир дакика',\n mm : '%d дакика',\n h : 'бир соат',\n hh : '%d соат',\n d : 'бир кун',\n dd : '%d кун',\n M : 'бир ой',\n MM : '%d ой',\n y : 'бир йил',\n yy : '%d йил'\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return uz;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var months = [\n 'جنوری',\n 'فروری',\n 'مارچ',\n 'اپریل',\n 'مئی',\n 'جون',\n 'جولائی',\n 'اگست',\n 'ستمبر',\n 'اکتوبر',\n 'نومبر',\n 'دسمبر'\n ];\n var days = [\n 'اتوار',\n 'پیر',\n 'منگل',\n 'بدھ',\n 'جمعرات',\n 'جمعہ',\n 'ہفتہ'\n ];\n\n var ur = moment.defineLocale('ur', {\n months : months,\n monthsShort : months,\n weekdays : days,\n weekdaysShort : days,\n weekdaysMin : days,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd، D MMMM YYYY HH:mm'\n },\n meridiemParse: /صبح|شام/,\n isPM : function (input) {\n return 'شام' === input;\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'صبح';\n }\n return 'شام';\n },\n calendar : {\n sameDay : '[آج بوقت] LT',\n nextDay : '[کل بوقت] LT',\n nextWeek : 'dddd [بوقت] LT',\n lastDay : '[گذشتہ روز بوقت] LT',\n lastWeek : '[گذشتہ] dddd [بوقت] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s بعد',\n past : '%s قبل',\n s : 'چند سیکنڈ',\n ss : '%d سیکنڈ',\n m : 'ایک منٹ',\n mm : '%d منٹ',\n h : 'ایک گھنٹہ',\n hh : '%d گھنٹے',\n d : 'ایک دن',\n dd : '%d دن',\n M : 'ایک ماہ',\n MM : '%d ماہ',\n y : 'ایک سال',\n yy : '%d سال'\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/,/g, '،');\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return ur;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function plural(word, num) {\n var forms = word.split('_');\n return num % 10 === 1 && num % 100 !== 11 ? forms[0] : (num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) ? forms[1] : forms[2]);\n }\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n var format = {\n 'ss': withoutSuffix ? 'секунда_секунди_секунд' : 'секунду_секунди_секунд',\n 'mm': withoutSuffix ? 'хвилина_хвилини_хвилин' : 'хвилину_хвилини_хвилин',\n 'hh': withoutSuffix ? 'година_години_годин' : 'годину_години_годин',\n 'dd': 'день_дні_днів',\n 'MM': 'місяць_місяці_місяців',\n 'yy': 'рік_роки_років'\n };\n if (key === 'm') {\n return withoutSuffix ? 'хвилина' : 'хвилину';\n }\n else if (key === 'h') {\n return withoutSuffix ? 'година' : 'годину';\n }\n else {\n return number + ' ' + plural(format[key], +number);\n }\n }\n function weekdaysCaseReplace(m, format) {\n var weekdays = {\n 'nominative': 'неділя_понеділок_вівторок_середа_четвер_п’ятниця_субота'.split('_'),\n 'accusative': 'неділю_понеділок_вівторок_середу_четвер_п’ятницю_суботу'.split('_'),\n 'genitive': 'неділі_понеділка_вівторка_середи_четверга_п’ятниці_суботи'.split('_')\n };\n\n if (!m) {\n return weekdays['nominative'];\n }\n\n var nounCase = (/(\\[[ВвУу]\\]) ?dddd/).test(format) ?\n 'accusative' :\n ((/\\[?(?:минулої|наступної)? ?\\] ?dddd/).test(format) ?\n 'genitive' :\n 'nominative');\n return weekdays[nounCase][m.day()];\n }\n function processHoursFunction(str) {\n return function () {\n return str + 'о' + (this.hours() === 11 ? 'б' : '') + '] LT';\n };\n }\n\n var uk = moment.defineLocale('uk', {\n months : {\n 'format': 'січня_лютого_березня_квітня_травня_червня_липня_серпня_вересня_жовтня_листопада_грудня'.split('_'),\n 'standalone': 'січень_лютий_березень_квітень_травень_червень_липень_серпень_вересень_жовтень_листопад_грудень'.split('_')\n },\n monthsShort : 'січ_лют_бер_квіт_трав_черв_лип_серп_вер_жовт_лист_груд'.split('_'),\n weekdays : weekdaysCaseReplace,\n weekdaysShort : 'нд_пн_вт_ср_чт_пт_сб'.split('_'),\n weekdaysMin : 'нд_пн_вт_ср_чт_пт_сб'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY р.',\n LLL : 'D MMMM YYYY р., HH:mm',\n LLLL : 'dddd, D MMMM YYYY р., HH:mm'\n },\n calendar : {\n sameDay: processHoursFunction('[Сьогодні '),\n nextDay: processHoursFunction('[Завтра '),\n lastDay: processHoursFunction('[Вчора '),\n nextWeek: processHoursFunction('[У] dddd ['),\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n case 3:\n case 5:\n case 6:\n return processHoursFunction('[Минулої] dddd [').call(this);\n case 1:\n case 2:\n case 4:\n return processHoursFunction('[Минулого] dddd [').call(this);\n }\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : 'за %s',\n past : '%s тому',\n s : 'декілька секунд',\n ss : relativeTimeWithPlural,\n m : relativeTimeWithPlural,\n mm : relativeTimeWithPlural,\n h : 'годину',\n hh : relativeTimeWithPlural,\n d : 'день',\n dd : relativeTimeWithPlural,\n M : 'місяць',\n MM : relativeTimeWithPlural,\n y : 'рік',\n yy : relativeTimeWithPlural\n },\n // M. E.: those two are virtually unused but a user might want to implement them for his/her website for some reason\n meridiemParse: /ночі|ранку|дня|вечора/,\n isPM: function (input) {\n return /^(дня|вечора)$/.test(input);\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ночі';\n } else if (hour < 12) {\n return 'ранку';\n } else if (hour < 17) {\n return 'дня';\n } else {\n return 'вечора';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(й|го)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'M':\n case 'd':\n case 'DDD':\n case 'w':\n case 'W':\n return number + '-й';\n case 'D':\n return number + '-го';\n default:\n return number;\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return uk;\n\n})));\n","//! moment.js language configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var ugCn = moment.defineLocale('ug-cn', {\n months: 'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.split(\n '_'\n ),\n monthsShort: 'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.split(\n '_'\n ),\n weekdays: 'يەكشەنبە_دۈشەنبە_سەيشەنبە_چارشەنبە_پەيشەنبە_جۈمە_شەنبە'.split(\n '_'\n ),\n weekdaysShort: 'يە_دۈ_سە_چا_پە_جۈ_شە'.split('_'),\n weekdaysMin: 'يە_دۈ_سە_چا_پە_جۈ_شە'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: 'YYYY-يىلىM-ئاينىڭD-كۈنى',\n LLL: 'YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm',\n LLLL: 'dddd، YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm'\n },\n meridiemParse: /يېرىم كېچە|سەھەر|چۈشتىن بۇرۇن|چۈش|چۈشتىن كېيىن|كەچ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (\n meridiem === 'يېرىم كېچە' ||\n meridiem === 'سەھەر' ||\n meridiem === 'چۈشتىن بۇرۇن'\n ) {\n return hour;\n } else if (meridiem === 'چۈشتىن كېيىن' || meridiem === 'كەچ') {\n return hour + 12;\n } else {\n return hour >= 11 ? hour : hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n if (hm < 600) {\n return 'يېرىم كېچە';\n } else if (hm < 900) {\n return 'سەھەر';\n } else if (hm < 1130) {\n return 'چۈشتىن بۇرۇن';\n } else if (hm < 1230) {\n return 'چۈش';\n } else if (hm < 1800) {\n return 'چۈشتىن كېيىن';\n } else {\n return 'كەچ';\n }\n },\n calendar: {\n sameDay: '[بۈگۈن سائەت] LT',\n nextDay: '[ئەتە سائەت] LT',\n nextWeek: '[كېلەركى] dddd [سائەت] LT',\n lastDay: '[تۆنۈگۈن] LT',\n lastWeek: '[ئالدىنقى] dddd [سائەت] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s كېيىن',\n past: '%s بۇرۇن',\n s: 'نەچچە سېكونت',\n ss: '%d سېكونت',\n m: 'بىر مىنۇت',\n mm: '%d مىنۇت',\n h: 'بىر سائەت',\n hh: '%d سائەت',\n d: 'بىر كۈن',\n dd: '%d كۈن',\n M: 'بىر ئاي',\n MM: '%d ئاي',\n y: 'بىر يىل',\n yy: '%d يىل'\n },\n\n dayOfMonthOrdinalParse: /\\d{1,2}(-كۈنى|-ئاي|-ھەپتە)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '-كۈنى';\n case 'w':\n case 'W':\n return number + '-ھەپتە';\n default:\n return number;\n }\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/,/g, '،');\n },\n week: {\n // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效\n dow: 1, // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return ugCn;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var tzmLatn = moment.defineLocale('tzm-latn', {\n months : 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split('_'),\n monthsShort : 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split('_'),\n weekdays : 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),\n weekdaysShort : 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),\n weekdaysMin : 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[asdkh g] LT',\n nextDay: '[aska g] LT',\n nextWeek: 'dddd [g] LT',\n lastDay: '[assant g] LT',\n lastWeek: 'dddd [g] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'dadkh s yan %s',\n past : 'yan %s',\n s : 'imik',\n ss : '%d imik',\n m : 'minuḍ',\n mm : '%d minuḍ',\n h : 'saɛa',\n hh : '%d tassaɛin',\n d : 'ass',\n dd : '%d ossan',\n M : 'ayowr',\n MM : '%d iyyirn',\n y : 'asgas',\n yy : '%d isgasn'\n },\n week : {\n dow : 6, // Saturday is the first day of the week.\n doy : 12 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return tzmLatn;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var tzm = moment.defineLocale('tzm', {\n months : 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split('_'),\n monthsShort : 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split('_'),\n weekdays : 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),\n weekdaysShort : 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),\n weekdaysMin : 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS: 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[ⴰⵙⴷⵅ ⴴ] LT',\n nextDay: '[ⴰⵙⴽⴰ ⴴ] LT',\n nextWeek: 'dddd [ⴴ] LT',\n lastDay: '[ⴰⵚⴰⵏⵜ ⴴ] LT',\n lastWeek: 'dddd [ⴴ] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'ⴷⴰⴷⵅ ⵙ ⵢⴰⵏ %s',\n past : 'ⵢⴰⵏ %s',\n s : 'ⵉⵎⵉⴽ',\n ss : '%d ⵉⵎⵉⴽ',\n m : 'ⵎⵉⵏⵓⴺ',\n mm : '%d ⵎⵉⵏⵓⴺ',\n h : 'ⵙⴰⵄⴰ',\n hh : '%d ⵜⴰⵙⵙⴰⵄⵉⵏ',\n d : 'ⴰⵙⵙ',\n dd : '%d oⵙⵙⴰⵏ',\n M : 'ⴰⵢoⵓⵔ',\n MM : '%d ⵉⵢⵢⵉⵔⵏ',\n y : 'ⴰⵙⴳⴰⵙ',\n yy : '%d ⵉⵙⴳⴰⵙⵏ'\n },\n week : {\n dow : 6, // Saturday is the first day of the week.\n doy : 12 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return tzm;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n // After the year there should be a slash and the amount of years since December 26, 1979 in Roman numerals.\n // This is currently too difficult (maybe even impossible) to add.\n var tzl = moment.defineLocale('tzl', {\n months : 'Januar_Fevraglh_Març_Avrïu_Mai_Gün_Julia_Guscht_Setemvar_Listopäts_Noemvar_Zecemvar'.split('_'),\n monthsShort : 'Jan_Fev_Mar_Avr_Mai_Gün_Jul_Gus_Set_Lis_Noe_Zec'.split('_'),\n weekdays : 'Súladi_Lúneçi_Maitzi_Márcuri_Xhúadi_Viénerçi_Sáturi'.split('_'),\n weekdaysShort : 'Súl_Lún_Mai_Már_Xhú_Vié_Sát'.split('_'),\n weekdaysMin : 'Sú_Lú_Ma_Má_Xh_Vi_Sá'.split('_'),\n longDateFormat : {\n LT : 'HH.mm',\n LTS : 'HH.mm.ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM [dallas] YYYY',\n LLL : 'D. MMMM [dallas] YYYY HH.mm',\n LLLL : 'dddd, [li] D. MMMM [dallas] YYYY HH.mm'\n },\n meridiemParse: /d\\'o|d\\'a/i,\n isPM : function (input) {\n return 'd\\'o' === input.toLowerCase();\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'd\\'o' : 'D\\'O';\n } else {\n return isLower ? 'd\\'a' : 'D\\'A';\n }\n },\n calendar : {\n sameDay : '[oxhi à] LT',\n nextDay : '[demà à] LT',\n nextWeek : 'dddd [à] LT',\n lastDay : '[ieiri à] LT',\n lastWeek : '[sür el] dddd [lasteu à] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'osprei %s',\n past : 'ja%s',\n s : processRelativeTime,\n ss : processRelativeTime,\n m : processRelativeTime,\n mm : processRelativeTime,\n h : processRelativeTime,\n hh : processRelativeTime,\n d : processRelativeTime,\n dd : processRelativeTime,\n M : processRelativeTime,\n MM : processRelativeTime,\n y : processRelativeTime,\n yy : processRelativeTime\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n 's': ['viensas secunds', '\\'iensas secunds'],\n 'ss': [number + ' secunds', '' + number + ' secunds'],\n 'm': ['\\'n míut', '\\'iens míut'],\n 'mm': [number + ' míuts', '' + number + ' míuts'],\n 'h': ['\\'n þora', '\\'iensa þora'],\n 'hh': [number + ' þoras', '' + number + ' þoras'],\n 'd': ['\\'n ziua', '\\'iensa ziua'],\n 'dd': [number + ' ziuas', '' + number + ' ziuas'],\n 'M': ['\\'n mes', '\\'iens mes'],\n 'MM': [number + ' mesen', '' + number + ' mesen'],\n 'y': ['\\'n ar', '\\'iens ar'],\n 'yy': [number + ' ars', '' + number + ' ars']\n };\n return isFuture ? format[key][0] : (withoutSuffix ? format[key][0] : format[key][1]);\n }\n\n return tzl;\n\n})));\n","\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n var suffixes = {\n 1: '\\'inci',\n 5: '\\'inci',\n 8: '\\'inci',\n 70: '\\'inci',\n 80: '\\'inci',\n 2: '\\'nci',\n 7: '\\'nci',\n 20: '\\'nci',\n 50: '\\'nci',\n 3: '\\'üncü',\n 4: '\\'üncü',\n 100: '\\'üncü',\n 6: '\\'ncı',\n 9: '\\'uncu',\n 10: '\\'uncu',\n 30: '\\'uncu',\n 60: '\\'ıncı',\n 90: '\\'ıncı'\n };\n\n var tr = moment.defineLocale('tr', {\n months : 'Ocak_Şubat_Mart_Nisan_Mayıs_Haziran_Temmuz_Ağustos_Eylül_Ekim_Kasım_Aralık'.split('_'),\n monthsShort : 'Oca_Şub_Mar_Nis_May_Haz_Tem_Ağu_Eyl_Eki_Kas_Ara'.split('_'),\n weekdays : 'Pazar_Pazartesi_Salı_Çarşamba_Perşembe_Cuma_Cumartesi'.split('_'),\n weekdaysShort : 'Paz_Pts_Sal_Çar_Per_Cum_Cts'.split('_'),\n weekdaysMin : 'Pz_Pt_Sa_Ça_Pe_Cu_Ct'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[bugün saat] LT',\n nextDay : '[yarın saat] LT',\n nextWeek : '[gelecek] dddd [saat] LT',\n lastDay : '[dün] LT',\n lastWeek : '[geçen] dddd [saat] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s sonra',\n past : '%s önce',\n s : 'birkaç saniye',\n ss : '%d saniye',\n m : 'bir dakika',\n mm : '%d dakika',\n h : 'bir saat',\n hh : '%d saat',\n d : 'bir gün',\n dd : '%d gün',\n M : 'bir ay',\n MM : '%d ay',\n y : 'bir yıl',\n yy : '%d yıl'\n },\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'Do':\n case 'DD':\n return number;\n default:\n if (number === 0) { // special case for zero\n return number + '\\'ıncı';\n }\n var a = number % 10,\n b = number % 100 - a,\n c = number >= 100 ? 100 : null;\n return number + (suffixes[a] || suffixes[b] || suffixes[c]);\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return tr;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var numbersNouns = 'pagh_wa’_cha’_wej_loS_vagh_jav_Soch_chorgh_Hut'.split('_');\n\n function translateFuture(output) {\n var time = output;\n time = (output.indexOf('jaj') !== -1) ?\n time.slice(0, -3) + 'leS' :\n (output.indexOf('jar') !== -1) ?\n time.slice(0, -3) + 'waQ' :\n (output.indexOf('DIS') !== -1) ?\n time.slice(0, -3) + 'nem' :\n time + ' pIq';\n return time;\n }\n\n function translatePast(output) {\n var time = output;\n time = (output.indexOf('jaj') !== -1) ?\n time.slice(0, -3) + 'Hu’' :\n (output.indexOf('jar') !== -1) ?\n time.slice(0, -3) + 'wen' :\n (output.indexOf('DIS') !== -1) ?\n time.slice(0, -3) + 'ben' :\n time + ' ret';\n return time;\n }\n\n function translate(number, withoutSuffix, string, isFuture) {\n var numberNoun = numberAsNoun(number);\n switch (string) {\n case 'ss':\n return numberNoun + ' lup';\n case 'mm':\n return numberNoun + ' tup';\n case 'hh':\n return numberNoun + ' rep';\n case 'dd':\n return numberNoun + ' jaj';\n case 'MM':\n return numberNoun + ' jar';\n case 'yy':\n return numberNoun + ' DIS';\n }\n }\n\n function numberAsNoun(number) {\n var hundred = Math.floor((number % 1000) / 100),\n ten = Math.floor((number % 100) / 10),\n one = number % 10,\n word = '';\n if (hundred > 0) {\n word += numbersNouns[hundred] + 'vatlh';\n }\n if (ten > 0) {\n word += ((word !== '') ? ' ' : '') + numbersNouns[ten] + 'maH';\n }\n if (one > 0) {\n word += ((word !== '') ? ' ' : '') + numbersNouns[one];\n }\n return (word === '') ? 'pagh' : word;\n }\n\n var tlh = moment.defineLocale('tlh', {\n months : 'tera’ jar wa’_tera’ jar cha’_tera’ jar wej_tera’ jar loS_tera’ jar vagh_tera’ jar jav_tera’ jar Soch_tera’ jar chorgh_tera’ jar Hut_tera’ jar wa’maH_tera’ jar wa’maH wa’_tera’ jar wa’maH cha’'.split('_'),\n monthsShort : 'jar wa’_jar cha’_jar wej_jar loS_jar vagh_jar jav_jar Soch_jar chorgh_jar Hut_jar wa’maH_jar wa’maH wa’_jar wa’maH cha’'.split('_'),\n monthsParseExact : true,\n weekdays : 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),\n weekdaysShort : 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),\n weekdaysMin : 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[DaHjaj] LT',\n nextDay: '[wa’leS] LT',\n nextWeek: 'LLL',\n lastDay: '[wa’Hu’] LT',\n lastWeek: 'LLL',\n sameElse: 'L'\n },\n relativeTime : {\n future : translateFuture,\n past : translatePast,\n s : 'puS lup',\n ss : translate,\n m : 'wa’ tup',\n mm : translate,\n h : 'wa’ rep',\n hh : translate,\n d : 'wa’ jaj',\n dd : translate,\n M : 'wa’ jar',\n MM : translate,\n y : 'wa’ DIS',\n yy : translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return tlh;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var tlPh = moment.defineLocale('tl-ph', {\n months : 'Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre'.split('_'),\n monthsShort : 'Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis'.split('_'),\n weekdays : 'Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado'.split('_'),\n weekdaysShort : 'Lin_Lun_Mar_Miy_Huw_Biy_Sab'.split('_'),\n weekdaysMin : 'Li_Lu_Ma_Mi_Hu_Bi_Sab'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'MM/D/YYYY',\n LL : 'MMMM D, YYYY',\n LLL : 'MMMM D, YYYY HH:mm',\n LLLL : 'dddd, MMMM DD, YYYY HH:mm'\n },\n calendar : {\n sameDay: 'LT [ngayong araw]',\n nextDay: '[Bukas ng] LT',\n nextWeek: 'LT [sa susunod na] dddd',\n lastDay: 'LT [kahapon]',\n lastWeek: 'LT [noong nakaraang] dddd',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'sa loob ng %s',\n past : '%s ang nakalipas',\n s : 'ilang segundo',\n ss : '%d segundo',\n m : 'isang minuto',\n mm : '%d minuto',\n h : 'isang oras',\n hh : '%d oras',\n d : 'isang araw',\n dd : '%d araw',\n M : 'isang buwan',\n MM : '%d buwan',\n y : 'isang taon',\n yy : '%d taon'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}/,\n ordinal : function (number) {\n return number;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return tlPh;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var th = moment.defineLocale('th', {\n months : 'มกราคม_กุมภาพันธ์_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_กรกฎาคม_สิงหาคม_กันยายน_ตุลาคม_พฤศจิกายน_ธันวาคม'.split('_'),\n monthsShort : 'ม.ค._ก.พ._มี.ค._เม.ย._พ.ค._มิ.ย._ก.ค._ส.ค._ก.ย._ต.ค._พ.ย._ธ.ค.'.split('_'),\n monthsParseExact: true,\n weekdays : 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัสบดี_ศุกร์_เสาร์'.split('_'),\n weekdaysShort : 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัส_ศุกร์_เสาร์'.split('_'), // yes, three characters difference\n weekdaysMin : 'อา._จ._อ._พ._พฤ._ศ._ส.'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY เวลา H:mm',\n LLLL : 'วันddddที่ D MMMM YYYY เวลา H:mm'\n },\n meridiemParse: /ก่อนเที่ยง|หลังเที่ยง/,\n isPM: function (input) {\n return input === 'หลังเที่ยง';\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ก่อนเที่ยง';\n } else {\n return 'หลังเที่ยง';\n }\n },\n calendar : {\n sameDay : '[วันนี้ เวลา] LT',\n nextDay : '[พรุ่งนี้ เวลา] LT',\n nextWeek : 'dddd[หน้า เวลา] LT',\n lastDay : '[เมื่อวานนี้ เวลา] LT',\n lastWeek : '[วัน]dddd[ที่แล้ว เวลา] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'อีก %s',\n past : '%sที่แล้ว',\n s : 'ไม่กี่วินาที',\n ss : '%d วินาที',\n m : '1 นาที',\n mm : '%d นาที',\n h : '1 ชั่วโมง',\n hh : '%d ชั่วโมง',\n d : '1 วัน',\n dd : '%d วัน',\n M : '1 เดือน',\n MM : '%d เดือน',\n y : '1 ปี',\n yy : '%d ปี'\n }\n });\n\n return th;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var suffixes = {\n 0: '-ум',\n 1: '-ум',\n 2: '-юм',\n 3: '-юм',\n 4: '-ум',\n 5: '-ум',\n 6: '-ум',\n 7: '-ум',\n 8: '-ум',\n 9: '-ум',\n 10: '-ум',\n 12: '-ум',\n 13: '-ум',\n 20: '-ум',\n 30: '-юм',\n 40: '-ум',\n 50: '-ум',\n 60: '-ум',\n 70: '-ум',\n 80: '-ум',\n 90: '-ум',\n 100: '-ум'\n };\n\n var tg = moment.defineLocale('tg', {\n months : 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split('_'),\n monthsShort : 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'),\n weekdays : 'якшанбе_душанбе_сешанбе_чоршанбе_панҷшанбе_ҷумъа_шанбе'.split('_'),\n weekdaysShort : 'яшб_дшб_сшб_чшб_пшб_ҷум_шнб'.split('_'),\n weekdaysMin : 'яш_дш_сш_чш_пш_ҷм_шб'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Имрӯз соати] LT',\n nextDay : '[Пагоҳ соати] LT',\n lastDay : '[Дирӯз соати] LT',\n nextWeek : 'dddd[и] [ҳафтаи оянда соати] LT',\n lastWeek : 'dddd[и] [ҳафтаи гузашта соати] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'баъди %s',\n past : '%s пеш',\n s : 'якчанд сония',\n m : 'як дақиқа',\n mm : '%d дақиқа',\n h : 'як соат',\n hh : '%d соат',\n d : 'як рӯз',\n dd : '%d рӯз',\n M : 'як моҳ',\n MM : '%d моҳ',\n y : 'як сол',\n yy : '%d сол'\n },\n meridiemParse: /шаб|субҳ|рӯз|бегоҳ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'шаб') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'субҳ') {\n return hour;\n } else if (meridiem === 'рӯз') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'бегоҳ') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'шаб';\n } else if (hour < 11) {\n return 'субҳ';\n } else if (hour < 16) {\n return 'рӯз';\n } else if (hour < 19) {\n return 'бегоҳ';\n } else {\n return 'шаб';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ум|юм)/,\n ordinal: function (number) {\n var a = number % 10,\n b = number >= 100 ? 100 : null;\n return number + (suffixes[number] || suffixes[a] || suffixes[b]);\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1th is the first week of the year.\n }\n });\n\n return tg;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var tet = moment.defineLocale('tet', {\n months : 'Janeiru_Fevereiru_Marsu_Abril_Maiu_Juñu_Jullu_Agustu_Setembru_Outubru_Novembru_Dezembru'.split('_'),\n monthsShort : 'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez'.split('_'),\n weekdays : 'Domingu_Segunda_Tersa_Kuarta_Kinta_Sesta_Sabadu'.split('_'),\n weekdaysShort : 'Dom_Seg_Ters_Kua_Kint_Sest_Sab'.split('_'),\n weekdaysMin : 'Do_Seg_Te_Ku_Ki_Ses_Sa'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[Ohin iha] LT',\n nextDay: '[Aban iha] LT',\n nextWeek: 'dddd [iha] LT',\n lastDay: '[Horiseik iha] LT',\n lastWeek: 'dddd [semana kotuk] [iha] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'iha %s',\n past : '%s liuba',\n s : 'minutu balun',\n ss : 'minutu %d',\n m : 'minutu ida',\n mm : 'minutu %d',\n h : 'oras ida',\n hh : 'oras %d',\n d : 'loron ida',\n dd : 'loron %d',\n M : 'fulan ida',\n MM : 'fulan %d',\n y : 'tinan ida',\n yy : 'tinan %d'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return tet;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var te = moment.defineLocale('te', {\n months : 'జనవరి_ఫిబ్రవరి_మార్చి_ఏప్రిల్_మే_జూన్_జూలై_ఆగస్టు_సెప్టెంబర్_అక్టోబర్_నవంబర్_డిసెంబర్'.split('_'),\n monthsShort : 'జన._ఫిబ్ర._మార్చి_ఏప్రి._మే_జూన్_జూలై_ఆగ._సెప్._అక్టో._నవ._డిసె.'.split('_'),\n monthsParseExact : true,\n weekdays : 'ఆదివారం_సోమవారం_మంగళవారం_బుధవారం_గురువారం_శుక్రవారం_శనివారం'.split('_'),\n weekdaysShort : 'ఆది_సోమ_మంగళ_బుధ_గురు_శుక్ర_శని'.split('_'),\n weekdaysMin : 'ఆ_సో_మం_బు_గు_శు_శ'.split('_'),\n longDateFormat : {\n LT : 'A h:mm',\n LTS : 'A h:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, A h:mm',\n LLLL : 'dddd, D MMMM YYYY, A h:mm'\n },\n calendar : {\n sameDay : '[నేడు] LT',\n nextDay : '[రేపు] LT',\n nextWeek : 'dddd, LT',\n lastDay : '[నిన్న] LT',\n lastWeek : '[గత] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s లో',\n past : '%s క్రితం',\n s : 'కొన్ని క్షణాలు',\n ss : '%d సెకన్లు',\n m : 'ఒక నిమిషం',\n mm : '%d నిమిషాలు',\n h : 'ఒక గంట',\n hh : '%d గంటలు',\n d : 'ఒక రోజు',\n dd : '%d రోజులు',\n M : 'ఒక నెల',\n MM : '%d నెలలు',\n y : 'ఒక సంవత్సరం',\n yy : '%d సంవత్సరాలు'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}వ/,\n ordinal : '%dవ',\n meridiemParse: /రాత్రి|ఉదయం|మధ్యాహ్నం|సాయంత్రం/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'రాత్రి') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'ఉదయం') {\n return hour;\n } else if (meridiem === 'మధ్యాహ్నం') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'సాయంత్రం') {\n return hour + 12;\n }\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'రాత్రి';\n } else if (hour < 10) {\n return 'ఉదయం';\n } else if (hour < 17) {\n return 'మధ్యాహ్నం';\n } else if (hour < 20) {\n return 'సాయంత్రం';\n } else {\n return 'రాత్రి';\n }\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return te;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '௧',\n '2': '௨',\n '3': '௩',\n '4': '௪',\n '5': '௫',\n '6': '௬',\n '7': '௭',\n '8': '௮',\n '9': '௯',\n '0': '௦'\n }, numberMap = {\n '௧': '1',\n '௨': '2',\n '௩': '3',\n '௪': '4',\n '௫': '5',\n '௬': '6',\n '௭': '7',\n '௮': '8',\n '௯': '9',\n '௦': '0'\n };\n\n var ta = moment.defineLocale('ta', {\n months : 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split('_'),\n monthsShort : 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split('_'),\n weekdays : 'ஞாயிற்றுக்கிழமை_திங்கட்கிழமை_செவ்வாய்கிழமை_புதன்கிழமை_வியாழக்கிழமை_வெள்ளிக்கிழமை_சனிக்கிழமை'.split('_'),\n weekdaysShort : 'ஞாயிறு_திங்கள்_செவ்வாய்_புதன்_வியாழன்_வெள்ளி_சனி'.split('_'),\n weekdaysMin : 'ஞா_தி_செ_பு_வி_வெ_ச'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, HH:mm',\n LLLL : 'dddd, D MMMM YYYY, HH:mm'\n },\n calendar : {\n sameDay : '[இன்று] LT',\n nextDay : '[நாளை] LT',\n nextWeek : 'dddd, LT',\n lastDay : '[நேற்று] LT',\n lastWeek : '[கடந்த வாரம்] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s இல்',\n past : '%s முன்',\n s : 'ஒரு சில விநாடிகள்',\n ss : '%d விநாடிகள்',\n m : 'ஒரு நிமிடம்',\n mm : '%d நிமிடங்கள்',\n h : 'ஒரு மணி நேரம்',\n hh : '%d மணி நேரம்',\n d : 'ஒரு நாள்',\n dd : '%d நாட்கள்',\n M : 'ஒரு மாதம்',\n MM : '%d மாதங்கள்',\n y : 'ஒரு வருடம்',\n yy : '%d ஆண்டுகள்'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}வது/,\n ordinal : function (number) {\n return number + 'வது';\n },\n preparse: function (string) {\n return string.replace(/[௧௨௩௪௫௬௭௮௯௦]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n // refer http://ta.wikipedia.org/s/1er1\n meridiemParse: /யாமம்|வைகறை|காலை|நண்பகல்|எற்பாடு|மாலை/,\n meridiem : function (hour, minute, isLower) {\n if (hour < 2) {\n return ' யாமம்';\n } else if (hour < 6) {\n return ' வைகறை'; // வைகறை\n } else if (hour < 10) {\n return ' காலை'; // காலை\n } else if (hour < 14) {\n return ' நண்பகல்'; // நண்பகல்\n } else if (hour < 18) {\n return ' எற்பாடு'; // எற்பாடு\n } else if (hour < 22) {\n return ' மாலை'; // மாலை\n } else {\n return ' யாமம்';\n }\n },\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'யாமம்') {\n return hour < 2 ? hour : hour + 12;\n } else if (meridiem === 'வைகறை' || meridiem === 'காலை') {\n return hour;\n } else if (meridiem === 'நண்பகல்') {\n return hour >= 10 ? hour : hour + 12;\n } else {\n return hour + 12;\n }\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return ta;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var sw = moment.defineLocale('sw', {\n months : 'Januari_Februari_Machi_Aprili_Mei_Juni_Julai_Agosti_Septemba_Oktoba_Novemba_Desemba'.split('_'),\n monthsShort : 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ago_Sep_Okt_Nov_Des'.split('_'),\n weekdays : 'Jumapili_Jumatatu_Jumanne_Jumatano_Alhamisi_Ijumaa_Jumamosi'.split('_'),\n weekdaysShort : 'Jpl_Jtat_Jnne_Jtan_Alh_Ijm_Jmos'.split('_'),\n weekdaysMin : 'J2_J3_J4_J5_Al_Ij_J1'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[leo saa] LT',\n nextDay : '[kesho saa] LT',\n nextWeek : '[wiki ijayo] dddd [saat] LT',\n lastDay : '[jana] LT',\n lastWeek : '[wiki iliyopita] dddd [saat] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s baadaye',\n past : 'tokea %s',\n s : 'hivi punde',\n ss : 'sekunde %d',\n m : 'dakika moja',\n mm : 'dakika %d',\n h : 'saa limoja',\n hh : 'masaa %d',\n d : 'siku moja',\n dd : 'masiku %d',\n M : 'mwezi mmoja',\n MM : 'miezi %d',\n y : 'mwaka mmoja',\n yy : 'miaka %d'\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return sw;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var sv = moment.defineLocale('sv', {\n months : 'januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december'.split('_'),\n monthsShort : 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n weekdays : 'söndag_måndag_tisdag_onsdag_torsdag_fredag_lördag'.split('_'),\n weekdaysShort : 'sön_mån_tis_ons_tor_fre_lör'.split('_'),\n weekdaysMin : 'sö_må_ti_on_to_fr_lö'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY-MM-DD',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY [kl.] HH:mm',\n LLLL : 'dddd D MMMM YYYY [kl.] HH:mm',\n lll : 'D MMM YYYY HH:mm',\n llll : 'ddd D MMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[Idag] LT',\n nextDay: '[Imorgon] LT',\n lastDay: '[Igår] LT',\n nextWeek: '[På] dddd LT',\n lastWeek: '[I] dddd[s] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'om %s',\n past : 'för %s sedan',\n s : 'några sekunder',\n ss : '%d sekunder',\n m : 'en minut',\n mm : '%d minuter',\n h : 'en timme',\n hh : '%d timmar',\n d : 'en dag',\n dd : '%d dagar',\n M : 'en månad',\n MM : '%d månader',\n y : 'ett år',\n yy : '%d år'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(e|a)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'e' :\n (b === 1) ? 'a' :\n (b === 2) ? 'a' :\n (b === 3) ? 'e' : 'e';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return sv;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var ss = moment.defineLocale('ss', {\n months : \"Bhimbidvwane_Indlovana_Indlov'lenkhulu_Mabasa_Inkhwekhweti_Inhlaba_Kholwane_Ingci_Inyoni_Imphala_Lweti_Ingongoni\".split('_'),\n monthsShort : 'Bhi_Ina_Inu_Mab_Ink_Inh_Kho_Igc_Iny_Imp_Lwe_Igo'.split('_'),\n weekdays : 'Lisontfo_Umsombuluko_Lesibili_Lesitsatfu_Lesine_Lesihlanu_Umgcibelo'.split('_'),\n weekdaysShort : 'Lis_Umb_Lsb_Les_Lsi_Lsh_Umg'.split('_'),\n weekdaysMin : 'Li_Us_Lb_Lt_Ls_Lh_Ug'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'h:mm A',\n LTS : 'h:mm:ss A',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY h:mm A',\n LLLL : 'dddd, D MMMM YYYY h:mm A'\n },\n calendar : {\n sameDay : '[Namuhla nga] LT',\n nextDay : '[Kusasa nga] LT',\n nextWeek : 'dddd [nga] LT',\n lastDay : '[Itolo nga] LT',\n lastWeek : 'dddd [leliphelile] [nga] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'nga %s',\n past : 'wenteka nga %s',\n s : 'emizuzwana lomcane',\n ss : '%d mzuzwana',\n m : 'umzuzu',\n mm : '%d emizuzu',\n h : 'lihora',\n hh : '%d emahora',\n d : 'lilanga',\n dd : '%d emalanga',\n M : 'inyanga',\n MM : '%d tinyanga',\n y : 'umnyaka',\n yy : '%d iminyaka'\n },\n meridiemParse: /ekuseni|emini|entsambama|ebusuku/,\n meridiem : function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'ekuseni';\n } else if (hours < 15) {\n return 'emini';\n } else if (hours < 19) {\n return 'entsambama';\n } else {\n return 'ebusuku';\n }\n },\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'ekuseni') {\n return hour;\n } else if (meridiem === 'emini') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'entsambama' || meridiem === 'ebusuku') {\n if (hour === 0) {\n return 0;\n }\n return hour + 12;\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}/,\n ordinal : '%d',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return ss;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var translator = {\n words: { //Different grammatical cases\n ss: ['секунда', 'секунде', 'секунди'],\n m: ['један минут', 'једне минуте'],\n mm: ['минут', 'минуте', 'минута'],\n h: ['један сат', 'једног сата'],\n hh: ['сат', 'сата', 'сати'],\n dd: ['дан', 'дана', 'дана'],\n MM: ['месец', 'месеца', 'месеци'],\n yy: ['година', 'године', 'година']\n },\n correctGrammaticalCase: function (number, wordKey) {\n return number === 1 ? wordKey[0] : (number >= 2 && number <= 4 ? wordKey[1] : wordKey[2]);\n },\n translate: function (number, withoutSuffix, key) {\n var wordKey = translator.words[key];\n if (key.length === 1) {\n return withoutSuffix ? wordKey[0] : wordKey[1];\n } else {\n return number + ' ' + translator.correctGrammaticalCase(number, wordKey);\n }\n }\n };\n\n var srCyrl = moment.defineLocale('sr-cyrl', {\n months: 'јануар_фебруар_март_април_мај_јун_јул_август_септембар_октобар_новембар_децембар'.split('_'),\n monthsShort: 'јан._феб._мар._апр._мај_јун_јул_авг._сеп._окт._нов._дец.'.split('_'),\n monthsParseExact: true,\n weekdays: 'недеља_понедељак_уторак_среда_четвртак_петак_субота'.split('_'),\n weekdaysShort: 'нед._пон._уто._сре._чет._пет._суб.'.split('_'),\n weekdaysMin: 'не_по_ут_ср_че_пе_су'.split('_'),\n weekdaysParseExact : true,\n longDateFormat: {\n LT: 'H:mm',\n LTS : 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd, D. MMMM YYYY H:mm'\n },\n calendar: {\n sameDay: '[данас у] LT',\n nextDay: '[сутра у] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[у] [недељу] [у] LT';\n case 3:\n return '[у] [среду] [у] LT';\n case 6:\n return '[у] [суботу] [у] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[у] dddd [у] LT';\n }\n },\n lastDay : '[јуче у] LT',\n lastWeek : function () {\n var lastWeekDays = [\n '[прошле] [недеље] [у] LT',\n '[прошлог] [понедељка] [у] LT',\n '[прошлог] [уторка] [у] LT',\n '[прошле] [среде] [у] LT',\n '[прошлог] [четвртка] [у] LT',\n '[прошлог] [петка] [у] LT',\n '[прошле] [суботе] [у] LT'\n ];\n return lastWeekDays[this.day()];\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'за %s',\n past : 'пре %s',\n s : 'неколико секунди',\n ss : translator.translate,\n m : translator.translate,\n mm : translator.translate,\n h : translator.translate,\n hh : translator.translate,\n d : 'дан',\n dd : translator.translate,\n M : 'месец',\n MM : translator.translate,\n y : 'годину',\n yy : translator.translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return srCyrl;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var translator = {\n words: { //Different grammatical cases\n ss: ['sekunda', 'sekunde', 'sekundi'],\n m: ['jedan minut', 'jedne minute'],\n mm: ['minut', 'minute', 'minuta'],\n h: ['jedan sat', 'jednog sata'],\n hh: ['sat', 'sata', 'sati'],\n dd: ['dan', 'dana', 'dana'],\n MM: ['mesec', 'meseca', 'meseci'],\n yy: ['godina', 'godine', 'godina']\n },\n correctGrammaticalCase: function (number, wordKey) {\n return number === 1 ? wordKey[0] : (number >= 2 && number <= 4 ? wordKey[1] : wordKey[2]);\n },\n translate: function (number, withoutSuffix, key) {\n var wordKey = translator.words[key];\n if (key.length === 1) {\n return withoutSuffix ? wordKey[0] : wordKey[1];\n } else {\n return number + ' ' + translator.correctGrammaticalCase(number, wordKey);\n }\n }\n };\n\n var sr = moment.defineLocale('sr', {\n months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split('_'),\n monthsShort: 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays: 'nedelja_ponedeljak_utorak_sreda_četvrtak_petak_subota'.split('_'),\n weekdaysShort: 'ned._pon._uto._sre._čet._pet._sub.'.split('_'),\n weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact : true,\n longDateFormat: {\n LT: 'H:mm',\n LTS : 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd, D. MMMM YYYY H:mm'\n },\n calendar: {\n sameDay: '[danas u] LT',\n nextDay: '[sutra u] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[u] [nedelju] [u] LT';\n case 3:\n return '[u] [sredu] [u] LT';\n case 6:\n return '[u] [subotu] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay : '[juče u] LT',\n lastWeek : function () {\n var lastWeekDays = [\n '[prošle] [nedelje] [u] LT',\n '[prošlog] [ponedeljka] [u] LT',\n '[prošlog] [utorka] [u] LT',\n '[prošle] [srede] [u] LT',\n '[prošlog] [četvrtka] [u] LT',\n '[prošlog] [petka] [u] LT',\n '[prošle] [subote] [u] LT'\n ];\n return lastWeekDays[this.day()];\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'za %s',\n past : 'pre %s',\n s : 'nekoliko sekundi',\n ss : translator.translate,\n m : translator.translate,\n mm : translator.translate,\n h : translator.translate,\n hh : translator.translate,\n d : 'dan',\n dd : translator.translate,\n M : 'mesec',\n MM : translator.translate,\n y : 'godinu',\n yy : translator.translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return sr;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var sq = moment.defineLocale('sq', {\n months : 'Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_Nëntor_Dhjetor'.split('_'),\n monthsShort : 'Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_Nën_Dhj'.split('_'),\n weekdays : 'E Diel_E Hënë_E Martë_E Mërkurë_E Enjte_E Premte_E Shtunë'.split('_'),\n weekdaysShort : 'Die_Hën_Mar_Mër_Enj_Pre_Sht'.split('_'),\n weekdaysMin : 'D_H_Ma_Më_E_P_Sh'.split('_'),\n weekdaysParseExact : true,\n meridiemParse: /PD|MD/,\n isPM: function (input) {\n return input.charAt(0) === 'M';\n },\n meridiem : function (hours, minutes, isLower) {\n return hours < 12 ? 'PD' : 'MD';\n },\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Sot në] LT',\n nextDay : '[Nesër në] LT',\n nextWeek : 'dddd [në] LT',\n lastDay : '[Dje në] LT',\n lastWeek : 'dddd [e kaluar në] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'në %s',\n past : '%s më parë',\n s : 'disa sekonda',\n ss : '%d sekonda',\n m : 'një minutë',\n mm : '%d minuta',\n h : 'një orë',\n hh : '%d orë',\n d : 'një ditë',\n dd : '%d ditë',\n M : 'një muaj',\n MM : '%d muaj',\n y : 'një vit',\n yy : '%d vite'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return sq;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n switch (key) {\n case 's':\n return withoutSuffix || isFuture ? 'nekaj sekund' : 'nekaj sekundami';\n case 'ss':\n if (number === 1) {\n result += withoutSuffix ? 'sekundo' : 'sekundi';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'sekundi' : 'sekundah';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'sekunde' : 'sekundah';\n } else {\n result += withoutSuffix || isFuture ? 'sekund' : 'sekund';\n }\n return result;\n case 'm':\n return withoutSuffix ? 'ena minuta' : 'eno minuto';\n case 'mm':\n if (number === 1) {\n result += withoutSuffix ? 'minuta' : 'minuto';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'minuti' : 'minutama';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'minute' : 'minutami';\n } else {\n result += withoutSuffix || isFuture ? 'minut' : 'minutami';\n }\n return result;\n case 'h':\n return withoutSuffix ? 'ena ura' : 'eno uro';\n case 'hh':\n if (number === 1) {\n result += withoutSuffix ? 'ura' : 'uro';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'uri' : 'urama';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'ure' : 'urami';\n } else {\n result += withoutSuffix || isFuture ? 'ur' : 'urami';\n }\n return result;\n case 'd':\n return withoutSuffix || isFuture ? 'en dan' : 'enim dnem';\n case 'dd':\n if (number === 1) {\n result += withoutSuffix || isFuture ? 'dan' : 'dnem';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'dni' : 'dnevoma';\n } else {\n result += withoutSuffix || isFuture ? 'dni' : 'dnevi';\n }\n return result;\n case 'M':\n return withoutSuffix || isFuture ? 'en mesec' : 'enim mesecem';\n case 'MM':\n if (number === 1) {\n result += withoutSuffix || isFuture ? 'mesec' : 'mesecem';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'meseca' : 'mesecema';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'mesece' : 'meseci';\n } else {\n result += withoutSuffix || isFuture ? 'mesecev' : 'meseci';\n }\n return result;\n case 'y':\n return withoutSuffix || isFuture ? 'eno leto' : 'enim letom';\n case 'yy':\n if (number === 1) {\n result += withoutSuffix || isFuture ? 'leto' : 'letom';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'leti' : 'letoma';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'leta' : 'leti';\n } else {\n result += withoutSuffix || isFuture ? 'let' : 'leti';\n }\n return result;\n }\n }\n\n var sl = moment.defineLocale('sl', {\n months : 'januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december'.split('_'),\n monthsShort : 'jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays : 'nedelja_ponedeljek_torek_sreda_četrtek_petek_sobota'.split('_'),\n weekdaysShort : 'ned._pon._tor._sre._čet._pet._sob.'.split('_'),\n weekdaysMin : 'ne_po_to_sr_če_pe_so'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY H:mm',\n LLLL : 'dddd, D. MMMM YYYY H:mm'\n },\n calendar : {\n sameDay : '[danes ob] LT',\n nextDay : '[jutri ob] LT',\n\n nextWeek : function () {\n switch (this.day()) {\n case 0:\n return '[v] [nedeljo] [ob] LT';\n case 3:\n return '[v] [sredo] [ob] LT';\n case 6:\n return '[v] [soboto] [ob] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[v] dddd [ob] LT';\n }\n },\n lastDay : '[včeraj ob] LT',\n lastWeek : function () {\n switch (this.day()) {\n case 0:\n return '[prejšnjo] [nedeljo] [ob] LT';\n case 3:\n return '[prejšnjo] [sredo] [ob] LT';\n case 6:\n return '[prejšnjo] [soboto] [ob] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[prejšnji] dddd [ob] LT';\n }\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'čez %s',\n past : 'pred %s',\n s : processRelativeTime,\n ss : processRelativeTime,\n m : processRelativeTime,\n mm : processRelativeTime,\n h : processRelativeTime,\n hh : processRelativeTime,\n d : processRelativeTime,\n dd : processRelativeTime,\n M : processRelativeTime,\n MM : processRelativeTime,\n y : processRelativeTime,\n yy : processRelativeTime\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return sl;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var months = 'január_február_marec_apríl_máj_jún_júl_august_september_október_november_december'.split('_'),\n monthsShort = 'jan_feb_mar_apr_máj_jún_júl_aug_sep_okt_nov_dec'.split('_');\n function plural(n) {\n return (n > 1) && (n < 5);\n }\n function translate(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n switch (key) {\n case 's': // a few seconds / in a few seconds / a few seconds ago\n return (withoutSuffix || isFuture) ? 'pár sekúnd' : 'pár sekundami';\n case 'ss': // 9 seconds / in 9 seconds / 9 seconds ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'sekundy' : 'sekúnd');\n } else {\n return result + 'sekundami';\n }\n break;\n case 'm': // a minute / in a minute / a minute ago\n return withoutSuffix ? 'minúta' : (isFuture ? 'minútu' : 'minútou');\n case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'minúty' : 'minút');\n } else {\n return result + 'minútami';\n }\n break;\n case 'h': // an hour / in an hour / an hour ago\n return withoutSuffix ? 'hodina' : (isFuture ? 'hodinu' : 'hodinou');\n case 'hh': // 9 hours / in 9 hours / 9 hours ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'hodiny' : 'hodín');\n } else {\n return result + 'hodinami';\n }\n break;\n case 'd': // a day / in a day / a day ago\n return (withoutSuffix || isFuture) ? 'deň' : 'dňom';\n case 'dd': // 9 days / in 9 days / 9 days ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'dni' : 'dní');\n } else {\n return result + 'dňami';\n }\n break;\n case 'M': // a month / in a month / a month ago\n return (withoutSuffix || isFuture) ? 'mesiac' : 'mesiacom';\n case 'MM': // 9 months / in 9 months / 9 months ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'mesiace' : 'mesiacov');\n } else {\n return result + 'mesiacmi';\n }\n break;\n case 'y': // a year / in a year / a year ago\n return (withoutSuffix || isFuture) ? 'rok' : 'rokom';\n case 'yy': // 9 years / in 9 years / 9 years ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'roky' : 'rokov');\n } else {\n return result + 'rokmi';\n }\n break;\n }\n }\n\n var sk = moment.defineLocale('sk', {\n months : months,\n monthsShort : monthsShort,\n weekdays : 'nedeľa_pondelok_utorok_streda_štvrtok_piatok_sobota'.split('_'),\n weekdaysShort : 'ne_po_ut_st_št_pi_so'.split('_'),\n weekdaysMin : 'ne_po_ut_st_št_pi_so'.split('_'),\n longDateFormat : {\n LT: 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY H:mm',\n LLLL : 'dddd D. MMMM YYYY H:mm'\n },\n calendar : {\n sameDay: '[dnes o] LT',\n nextDay: '[zajtra o] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[v nedeľu o] LT';\n case 1:\n case 2:\n return '[v] dddd [o] LT';\n case 3:\n return '[v stredu o] LT';\n case 4:\n return '[vo štvrtok o] LT';\n case 5:\n return '[v piatok o] LT';\n case 6:\n return '[v sobotu o] LT';\n }\n },\n lastDay: '[včera o] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[minulú nedeľu o] LT';\n case 1:\n case 2:\n return '[minulý] dddd [o] LT';\n case 3:\n return '[minulú stredu o] LT';\n case 4:\n case 5:\n return '[minulý] dddd [o] LT';\n case 6:\n return '[minulú sobotu o] LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : 'za %s',\n past : 'pred %s',\n s : translate,\n ss : translate,\n m : translate,\n mm : translate,\n h : translate,\n hh : translate,\n d : translate,\n dd : translate,\n M : translate,\n MM : translate,\n y : translate,\n yy : translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return sk;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n /*jshint -W100*/\n var si = moment.defineLocale('si', {\n months : 'ජනවාරි_පෙබරවාරි_මාර්තු_අප්‍රේල්_මැයි_ජූනි_ජූලි_අගෝස්තු_සැප්තැම්බර්_ඔක්තෝබර්_නොවැම්බර්_දෙසැම්බර්'.split('_'),\n monthsShort : 'ජන_පෙබ_මාර්_අප්_මැයි_ජූනි_ජූලි_අගෝ_සැප්_ඔක්_නොවැ_දෙසැ'.split('_'),\n weekdays : 'ඉරිදා_සඳුදා_අඟහරුවාදා_බදාදා_බ්‍රහස්පතින්දා_සිකුරාදා_සෙනසුරාදා'.split('_'),\n weekdaysShort : 'ඉරි_සඳු_අඟ_බදා_බ්‍රහ_සිකු_සෙන'.split('_'),\n weekdaysMin : 'ඉ_ස_අ_බ_බ්‍ර_සි_සෙ'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'a h:mm',\n LTS : 'a h:mm:ss',\n L : 'YYYY/MM/DD',\n LL : 'YYYY MMMM D',\n LLL : 'YYYY MMMM D, a h:mm',\n LLLL : 'YYYY MMMM D [වැනි] dddd, a h:mm:ss'\n },\n calendar : {\n sameDay : '[අද] LT[ට]',\n nextDay : '[හෙට] LT[ට]',\n nextWeek : 'dddd LT[ට]',\n lastDay : '[ඊයේ] LT[ට]',\n lastWeek : '[පසුගිය] dddd LT[ට]',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%sකින්',\n past : '%sකට පෙර',\n s : 'තත්පර කිහිපය',\n ss : 'තත්පර %d',\n m : 'මිනිත්තුව',\n mm : 'මිනිත්තු %d',\n h : 'පැය',\n hh : 'පැය %d',\n d : 'දිනය',\n dd : 'දින %d',\n M : 'මාසය',\n MM : 'මාස %d',\n y : 'වසර',\n yy : 'වසර %d'\n },\n dayOfMonthOrdinalParse: /\\d{1,2} වැනි/,\n ordinal : function (number) {\n return number + ' වැනි';\n },\n meridiemParse : /පෙර වරු|පස් වරු|පෙ.ව|ප.ව./,\n isPM : function (input) {\n return input === 'ප.ව.' || input === 'පස් වරු';\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'ප.ව.' : 'පස් වරු';\n } else {\n return isLower ? 'පෙ.ව.' : 'පෙර වරු';\n }\n }\n });\n\n return si;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var se = moment.defineLocale('se', {\n months : 'ođđajagemánnu_guovvamánnu_njukčamánnu_cuoŋománnu_miessemánnu_geassemánnu_suoidnemánnu_borgemánnu_čakčamánnu_golggotmánnu_skábmamánnu_juovlamánnu'.split('_'),\n monthsShort : 'ođđj_guov_njuk_cuo_mies_geas_suoi_borg_čakč_golg_skáb_juov'.split('_'),\n weekdays : 'sotnabeaivi_vuossárga_maŋŋebárga_gaskavahkku_duorastat_bearjadat_lávvardat'.split('_'),\n weekdaysShort : 'sotn_vuos_maŋ_gask_duor_bear_láv'.split('_'),\n weekdaysMin : 's_v_m_g_d_b_L'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'MMMM D. [b.] YYYY',\n LLL : 'MMMM D. [b.] YYYY [ti.] HH:mm',\n LLLL : 'dddd, MMMM D. [b.] YYYY [ti.] HH:mm'\n },\n calendar : {\n sameDay: '[otne ti] LT',\n nextDay: '[ihttin ti] LT',\n nextWeek: 'dddd [ti] LT',\n lastDay: '[ikte ti] LT',\n lastWeek: '[ovddit] dddd [ti] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : '%s geažes',\n past : 'maŋit %s',\n s : 'moadde sekunddat',\n ss: '%d sekunddat',\n m : 'okta minuhta',\n mm : '%d minuhtat',\n h : 'okta diimmu',\n hh : '%d diimmut',\n d : 'okta beaivi',\n dd : '%d beaivvit',\n M : 'okta mánnu',\n MM : '%d mánut',\n y : 'okta jahki',\n yy : '%d jagit'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return se;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var months = [\n 'جنوري',\n 'فيبروري',\n 'مارچ',\n 'اپريل',\n 'مئي',\n 'جون',\n 'جولاءِ',\n 'آگسٽ',\n 'سيپٽمبر',\n 'آڪٽوبر',\n 'نومبر',\n 'ڊسمبر'\n ];\n var days = [\n 'آچر',\n 'سومر',\n 'اڱارو',\n 'اربع',\n 'خميس',\n 'جمع',\n 'ڇنڇر'\n ];\n\n var sd = moment.defineLocale('sd', {\n months : months,\n monthsShort : months,\n weekdays : days,\n weekdaysShort : days,\n weekdaysMin : days,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd، D MMMM YYYY HH:mm'\n },\n meridiemParse: /صبح|شام/,\n isPM : function (input) {\n return 'شام' === input;\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'صبح';\n }\n return 'شام';\n },\n calendar : {\n sameDay : '[اڄ] LT',\n nextDay : '[سڀاڻي] LT',\n nextWeek : 'dddd [اڳين هفتي تي] LT',\n lastDay : '[ڪالهه] LT',\n lastWeek : '[گزريل هفتي] dddd [تي] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s پوء',\n past : '%s اڳ',\n s : 'چند سيڪنڊ',\n ss : '%d سيڪنڊ',\n m : 'هڪ منٽ',\n mm : '%d منٽ',\n h : 'هڪ ڪلاڪ',\n hh : '%d ڪلاڪ',\n d : 'هڪ ڏينهن',\n dd : '%d ڏينهن',\n M : 'هڪ مهينو',\n MM : '%d مهينا',\n y : 'هڪ سال',\n yy : '%d سال'\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/,/g, '،');\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return sd;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function plural(word, num) {\n var forms = word.split('_');\n return num % 10 === 1 && num % 100 !== 11 ? forms[0] : (num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) ? forms[1] : forms[2]);\n }\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n var format = {\n 'ss': withoutSuffix ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд',\n 'mm': withoutSuffix ? 'минута_минуты_минут' : 'минуту_минуты_минут',\n 'hh': 'час_часа_часов',\n 'dd': 'день_дня_дней',\n 'MM': 'месяц_месяца_месяцев',\n 'yy': 'год_года_лет'\n };\n if (key === 'm') {\n return withoutSuffix ? 'минута' : 'минуту';\n }\n else {\n return number + ' ' + plural(format[key], +number);\n }\n }\n var monthsParse = [/^янв/i, /^фев/i, /^мар/i, /^апр/i, /^ма[йя]/i, /^июн/i, /^июл/i, /^авг/i, /^сен/i, /^окт/i, /^ноя/i, /^дек/i];\n\n // http://new.gramota.ru/spravka/rules/139-prop : § 103\n // Сокращения месяцев: http://new.gramota.ru/spravka/buro/search-answer?s=242637\n // CLDR data: http://www.unicode.org/cldr/charts/28/summary/ru.html#1753\n var ru = moment.defineLocale('ru', {\n months : {\n format: 'января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря'.split('_'),\n standalone: 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split('_')\n },\n monthsShort : {\n // по CLDR именно \"июл.\" и \"июн.\", но какой смысл менять букву на точку ?\n format: 'янв._февр._мар._апр._мая_июня_июля_авг._сент._окт._нояб._дек.'.split('_'),\n standalone: 'янв._февр._март_апр._май_июнь_июль_авг._сент._окт._нояб._дек.'.split('_')\n },\n weekdays : {\n standalone: 'воскресенье_понедельник_вторник_среда_четверг_пятница_суббота'.split('_'),\n format: 'воскресенье_понедельник_вторник_среду_четверг_пятницу_субботу'.split('_'),\n isFormat: /\\[ ?[Вв] ?(?:прошлую|следующую|эту)? ?\\] ?dddd/\n },\n weekdaysShort : 'вс_пн_вт_ср_чт_пт_сб'.split('_'),\n weekdaysMin : 'вс_пн_вт_ср_чт_пт_сб'.split('_'),\n monthsParse : monthsParse,\n longMonthsParse : monthsParse,\n shortMonthsParse : monthsParse,\n\n // полные названия с падежами, по три буквы, для некоторых, по 4 буквы, сокращения с точкой и без точки\n monthsRegex: /^(январ[ья]|янв\\.?|феврал[ья]|февр?\\.?|марта?|мар\\.?|апрел[ья]|апр\\.?|ма[йя]|июн[ья]|июн\\.?|июл[ья]|июл\\.?|августа?|авг\\.?|сентябр[ья]|сент?\\.?|октябр[ья]|окт\\.?|ноябр[ья]|нояб?\\.?|декабр[ья]|дек\\.?)/i,\n\n // копия предыдущего\n monthsShortRegex: /^(январ[ья]|янв\\.?|феврал[ья]|февр?\\.?|марта?|мар\\.?|апрел[ья]|апр\\.?|ма[йя]|июн[ья]|июн\\.?|июл[ья]|июл\\.?|августа?|авг\\.?|сентябр[ья]|сент?\\.?|октябр[ья]|окт\\.?|ноябр[ья]|нояб?\\.?|декабр[ья]|дек\\.?)/i,\n\n // полные названия с падежами\n monthsStrictRegex: /^(январ[яь]|феврал[яь]|марта?|апрел[яь]|ма[яй]|июн[яь]|июл[яь]|августа?|сентябр[яь]|октябр[яь]|ноябр[яь]|декабр[яь])/i,\n\n // Выражение, которое соотвествует только сокращённым формам\n monthsShortStrictRegex: /^(янв\\.|февр?\\.|мар[т.]|апр\\.|ма[яй]|июн[ья.]|июл[ья.]|авг\\.|сент?\\.|окт\\.|нояб?\\.|дек\\.)/i,\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY г.',\n LLL : 'D MMMM YYYY г., H:mm',\n LLLL : 'dddd, D MMMM YYYY г., H:mm'\n },\n calendar : {\n sameDay: '[Сегодня, в] LT',\n nextDay: '[Завтра, в] LT',\n lastDay: '[Вчера, в] LT',\n nextWeek: function (now) {\n if (now.week() !== this.week()) {\n switch (this.day()) {\n case 0:\n return '[В следующее] dddd, [в] LT';\n case 1:\n case 2:\n case 4:\n return '[В следующий] dddd, [в] LT';\n case 3:\n case 5:\n case 6:\n return '[В следующую] dddd, [в] LT';\n }\n } else {\n if (this.day() === 2) {\n return '[Во] dddd, [в] LT';\n } else {\n return '[В] dddd, [в] LT';\n }\n }\n },\n lastWeek: function (now) {\n if (now.week() !== this.week()) {\n switch (this.day()) {\n case 0:\n return '[В прошлое] dddd, [в] LT';\n case 1:\n case 2:\n case 4:\n return '[В прошлый] dddd, [в] LT';\n case 3:\n case 5:\n case 6:\n return '[В прошлую] dddd, [в] LT';\n }\n } else {\n if (this.day() === 2) {\n return '[Во] dddd, [в] LT';\n } else {\n return '[В] dddd, [в] LT';\n }\n }\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : 'через %s',\n past : '%s назад',\n s : 'несколько секунд',\n ss : relativeTimeWithPlural,\n m : relativeTimeWithPlural,\n mm : relativeTimeWithPlural,\n h : 'час',\n hh : relativeTimeWithPlural,\n d : 'день',\n dd : relativeTimeWithPlural,\n M : 'месяц',\n MM : relativeTimeWithPlural,\n y : 'год',\n yy : relativeTimeWithPlural\n },\n meridiemParse: /ночи|утра|дня|вечера/i,\n isPM : function (input) {\n return /^(дня|вечера)$/.test(input);\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ночи';\n } else if (hour < 12) {\n return 'утра';\n } else if (hour < 17) {\n return 'дня';\n } else {\n return 'вечера';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(й|го|я)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'M':\n case 'd':\n case 'DDD':\n return number + '-й';\n case 'D':\n return number + '-го';\n case 'w':\n case 'W':\n return number + '-я';\n default:\n return number;\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return ru;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n var format = {\n 'ss': 'secunde',\n 'mm': 'minute',\n 'hh': 'ore',\n 'dd': 'zile',\n 'MM': 'luni',\n 'yy': 'ani'\n },\n separator = ' ';\n if (number % 100 >= 20 || (number >= 100 && number % 100 === 0)) {\n separator = ' de ';\n }\n return number + separator + format[key];\n }\n\n var ro = moment.defineLocale('ro', {\n months : 'ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie'.split('_'),\n monthsShort : 'ian._febr._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays : 'duminică_luni_marți_miercuri_joi_vineri_sâmbătă'.split('_'),\n weekdaysShort : 'Dum_Lun_Mar_Mie_Joi_Vin_Sâm'.split('_'),\n weekdaysMin : 'Du_Lu_Ma_Mi_Jo_Vi_Sâ'.split('_'),\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY H:mm',\n LLLL : 'dddd, D MMMM YYYY H:mm'\n },\n calendar : {\n sameDay: '[azi la] LT',\n nextDay: '[mâine la] LT',\n nextWeek: 'dddd [la] LT',\n lastDay: '[ieri la] LT',\n lastWeek: '[fosta] dddd [la] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'peste %s',\n past : '%s în urmă',\n s : 'câteva secunde',\n ss : relativeTimeWithPlural,\n m : 'un minut',\n mm : relativeTimeWithPlural,\n h : 'o oră',\n hh : relativeTimeWithPlural,\n d : 'o zi',\n dd : relativeTimeWithPlural,\n M : 'o lună',\n MM : relativeTimeWithPlural,\n y : 'un an',\n yy : relativeTimeWithPlural\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return ro;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var ptBr = moment.defineLocale('pt-br', {\n months : 'janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro'.split('_'),\n monthsShort : 'jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez'.split('_'),\n weekdays : 'Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado'.split('_'),\n weekdaysShort : 'Dom_Seg_Ter_Qua_Qui_Sex_Sáb'.split('_'),\n weekdaysMin : 'Do_2ª_3ª_4ª_5ª_6ª_Sá'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D [de] MMMM [de] YYYY',\n LLL : 'D [de] MMMM [de] YYYY [às] HH:mm',\n LLLL : 'dddd, D [de] MMMM [de] YYYY [às] HH:mm'\n },\n calendar : {\n sameDay: '[Hoje às] LT',\n nextDay: '[Amanhã às] LT',\n nextWeek: 'dddd [às] LT',\n lastDay: '[Ontem às] LT',\n lastWeek: function () {\n return (this.day() === 0 || this.day() === 6) ?\n '[Último] dddd [às] LT' : // Saturday + Sunday\n '[Última] dddd [às] LT'; // Monday - Friday\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : 'em %s',\n past : 'há %s',\n s : 'poucos segundos',\n ss : '%d segundos',\n m : 'um minuto',\n mm : '%d minutos',\n h : 'uma hora',\n hh : '%d horas',\n d : 'um dia',\n dd : '%d dias',\n M : 'um mês',\n MM : '%d meses',\n y : 'um ano',\n yy : '%d anos'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal : '%dº'\n });\n\n return ptBr;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var pt = moment.defineLocale('pt', {\n months : 'janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro'.split('_'),\n monthsShort : 'jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez'.split('_'),\n weekdays : 'Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado'.split('_'),\n weekdaysShort : 'Dom_Seg_Ter_Qua_Qui_Sex_Sáb'.split('_'),\n weekdaysMin : 'Do_2ª_3ª_4ª_5ª_6ª_Sá'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D [de] MMMM [de] YYYY',\n LLL : 'D [de] MMMM [de] YYYY HH:mm',\n LLLL : 'dddd, D [de] MMMM [de] YYYY HH:mm'\n },\n calendar : {\n sameDay: '[Hoje às] LT',\n nextDay: '[Amanhã às] LT',\n nextWeek: 'dddd [às] LT',\n lastDay: '[Ontem às] LT',\n lastWeek: function () {\n return (this.day() === 0 || this.day() === 6) ?\n '[Último] dddd [às] LT' : // Saturday + Sunday\n '[Última] dddd [às] LT'; // Monday - Friday\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : 'em %s',\n past : 'há %s',\n s : 'segundos',\n ss : '%d segundos',\n m : 'um minuto',\n mm : '%d minutos',\n h : 'uma hora',\n hh : '%d horas',\n d : 'um dia',\n dd : '%d dias',\n M : 'um mês',\n MM : '%d meses',\n y : 'um ano',\n yy : '%d anos'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal : '%dº',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return pt;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var monthsNominative = 'styczeń_luty_marzec_kwiecień_maj_czerwiec_lipiec_sierpień_wrzesień_październik_listopad_grudzień'.split('_'),\n monthsSubjective = 'stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_września_października_listopada_grudnia'.split('_');\n function plural(n) {\n return (n % 10 < 5) && (n % 10 > 1) && ((~~(n / 10) % 10) !== 1);\n }\n function translate(number, withoutSuffix, key) {\n var result = number + ' ';\n switch (key) {\n case 'ss':\n return result + (plural(number) ? 'sekundy' : 'sekund');\n case 'm':\n return withoutSuffix ? 'minuta' : 'minutę';\n case 'mm':\n return result + (plural(number) ? 'minuty' : 'minut');\n case 'h':\n return withoutSuffix ? 'godzina' : 'godzinę';\n case 'hh':\n return result + (plural(number) ? 'godziny' : 'godzin');\n case 'MM':\n return result + (plural(number) ? 'miesiące' : 'miesięcy');\n case 'yy':\n return result + (plural(number) ? 'lata' : 'lat');\n }\n }\n\n var pl = moment.defineLocale('pl', {\n months : function (momentToFormat, format) {\n if (!momentToFormat) {\n return monthsNominative;\n } else if (format === '') {\n // Hack: if format empty we know this is used to generate\n // RegExp by moment. Give then back both valid forms of months\n // in RegExp ready format.\n return '(' + monthsSubjective[momentToFormat.month()] + '|' + monthsNominative[momentToFormat.month()] + ')';\n } else if (/D MMMM/.test(format)) {\n return monthsSubjective[momentToFormat.month()];\n } else {\n return monthsNominative[momentToFormat.month()];\n }\n },\n monthsShort : 'sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paź_lis_gru'.split('_'),\n weekdays : 'niedziela_poniedziałek_wtorek_środa_czwartek_piątek_sobota'.split('_'),\n weekdaysShort : 'ndz_pon_wt_śr_czw_pt_sob'.split('_'),\n weekdaysMin : 'Nd_Pn_Wt_Śr_Cz_Pt_So'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[Dziś o] LT',\n nextDay: '[Jutro o] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[W niedzielę o] LT';\n\n case 2:\n return '[We wtorek o] LT';\n\n case 3:\n return '[W środę o] LT';\n\n case 6:\n return '[W sobotę o] LT';\n\n default:\n return '[W] dddd [o] LT';\n }\n },\n lastDay: '[Wczoraj o] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[W zeszłą niedzielę o] LT';\n case 3:\n return '[W zeszłą środę o] LT';\n case 6:\n return '[W zeszłą sobotę o] LT';\n default:\n return '[W zeszły] dddd [o] LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : 'za %s',\n past : '%s temu',\n s : 'kilka sekund',\n ss : translate,\n m : translate,\n mm : translate,\n h : translate,\n hh : translate,\n d : '1 dzień',\n dd : '%d dni',\n M : 'miesiąc',\n MM : translate,\n y : 'rok',\n yy : translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return pl;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '੧',\n '2': '੨',\n '3': '੩',\n '4': '੪',\n '5': '੫',\n '6': '੬',\n '7': '੭',\n '8': '੮',\n '9': '੯',\n '0': '੦'\n },\n numberMap = {\n '੧': '1',\n '੨': '2',\n '੩': '3',\n '੪': '4',\n '੫': '5',\n '੬': '6',\n '੭': '7',\n '੮': '8',\n '੯': '9',\n '੦': '0'\n };\n\n var paIn = moment.defineLocale('pa-in', {\n // There are months name as per Nanakshahi Calender but they are not used as rigidly in modern Punjabi.\n months : 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split('_'),\n monthsShort : 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split('_'),\n weekdays : 'ਐਤਵਾਰ_ਸੋਮਵਾਰ_ਮੰਗਲਵਾਰ_ਬੁਧਵਾਰ_ਵੀਰਵਾਰ_ਸ਼ੁੱਕਰਵਾਰ_ਸ਼ਨੀਚਰਵਾਰ'.split('_'),\n weekdaysShort : 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'),\n weekdaysMin : 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'),\n longDateFormat : {\n LT : 'A h:mm ਵਜੇ',\n LTS : 'A h:mm:ss ਵਜੇ',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, A h:mm ਵਜੇ',\n LLLL : 'dddd, D MMMM YYYY, A h:mm ਵਜੇ'\n },\n calendar : {\n sameDay : '[ਅਜ] LT',\n nextDay : '[ਕਲ] LT',\n nextWeek : '[ਅਗਲਾ] dddd, LT',\n lastDay : '[ਕਲ] LT',\n lastWeek : '[ਪਿਛਲੇ] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s ਵਿੱਚ',\n past : '%s ਪਿਛਲੇ',\n s : 'ਕੁਝ ਸਕਿੰਟ',\n ss : '%d ਸਕਿੰਟ',\n m : 'ਇਕ ਮਿੰਟ',\n mm : '%d ਮਿੰਟ',\n h : 'ਇੱਕ ਘੰਟਾ',\n hh : '%d ਘੰਟੇ',\n d : 'ਇੱਕ ਦਿਨ',\n dd : '%d ਦਿਨ',\n M : 'ਇੱਕ ਮਹੀਨਾ',\n MM : '%d ਮਹੀਨੇ',\n y : 'ਇੱਕ ਸਾਲ',\n yy : '%d ਸਾਲ'\n },\n preparse: function (string) {\n return string.replace(/[੧੨੩੪੫੬੭੮੯੦]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n // Punjabi notation for meridiems are quite fuzzy in practice. While there exists\n // a rigid notion of a 'Pahar' it is not used as rigidly in modern Punjabi.\n meridiemParse: /ਰਾਤ|ਸਵੇਰ|ਦੁਪਹਿਰ|ਸ਼ਾਮ/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'ਰਾਤ') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'ਸਵੇਰ') {\n return hour;\n } else if (meridiem === 'ਦੁਪਹਿਰ') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'ਸ਼ਾਮ') {\n return hour + 12;\n }\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ਰਾਤ';\n } else if (hour < 10) {\n return 'ਸਵੇਰ';\n } else if (hour < 17) {\n return 'ਦੁਪਹਿਰ';\n } else if (hour < 20) {\n return 'ਸ਼ਾਮ';\n } else {\n return 'ਰਾਤ';\n }\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return paIn;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var nn = moment.defineLocale('nn', {\n months : 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split('_'),\n monthsShort : 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'),\n weekdays : 'sundag_måndag_tysdag_onsdag_torsdag_fredag_laurdag'.split('_'),\n weekdaysShort : 'sun_mån_tys_ons_tor_fre_lau'.split('_'),\n weekdaysMin : 'su_må_ty_on_to_fr_lø'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY [kl.] H:mm',\n LLLL : 'dddd D. MMMM YYYY [kl.] HH:mm'\n },\n calendar : {\n sameDay: '[I dag klokka] LT',\n nextDay: '[I morgon klokka] LT',\n nextWeek: 'dddd [klokka] LT',\n lastDay: '[I går klokka] LT',\n lastWeek: '[Føregåande] dddd [klokka] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'om %s',\n past : '%s sidan',\n s : 'nokre sekund',\n ss : '%d sekund',\n m : 'eit minutt',\n mm : '%d minutt',\n h : 'ein time',\n hh : '%d timar',\n d : 'ein dag',\n dd : '%d dagar',\n M : 'ein månad',\n MM : '%d månader',\n y : 'eit år',\n yy : '%d år'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return nn;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var monthsShortWithDots = 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'),\n monthsShortWithoutDots = 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_');\n\n var monthsParse = [/^jan/i, /^feb/i, /^maart|mrt.?$/i, /^apr/i, /^mei$/i, /^jun[i.]?$/i, /^jul[i.]?$/i, /^aug/i, /^sep/i, /^okt/i, /^nov/i, /^dec/i];\n var monthsRegex = /^(januari|februari|maart|april|mei|april|ju[nl]i|augustus|september|oktober|november|december|jan\\.?|feb\\.?|mrt\\.?|apr\\.?|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i;\n\n var nlBe = moment.defineLocale('nl-be', {\n months : 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split('_'),\n monthsShort : function (m, format) {\n if (!m) {\n return monthsShortWithDots;\n } else if (/-MMM-/.test(format)) {\n return monthsShortWithoutDots[m.month()];\n } else {\n return monthsShortWithDots[m.month()];\n }\n },\n\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: /^(januari|februari|maart|mei|ju[nl]i|april|augustus|september|oktober|november|december)/i,\n monthsShortStrictRegex: /^(jan\\.?|feb\\.?|mrt\\.?|apr\\.?|mei|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i,\n\n monthsParse : monthsParse,\n longMonthsParse : monthsParse,\n shortMonthsParse : monthsParse,\n\n weekdays : 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split('_'),\n weekdaysShort : 'zo._ma._di._wo._do._vr._za.'.split('_'),\n weekdaysMin : 'zo_ma_di_wo_do_vr_za'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[vandaag om] LT',\n nextDay: '[morgen om] LT',\n nextWeek: 'dddd [om] LT',\n lastDay: '[gisteren om] LT',\n lastWeek: '[afgelopen] dddd [om] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'over %s',\n past : '%s geleden',\n s : 'een paar seconden',\n ss : '%d seconden',\n m : 'één minuut',\n mm : '%d minuten',\n h : 'één uur',\n hh : '%d uur',\n d : 'één dag',\n dd : '%d dagen',\n M : 'één maand',\n MM : '%d maanden',\n y : 'één jaar',\n yy : '%d jaar'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n ordinal : function (number) {\n return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de');\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return nlBe;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var monthsShortWithDots = 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'),\n monthsShortWithoutDots = 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_');\n\n var monthsParse = [/^jan/i, /^feb/i, /^maart|mrt.?$/i, /^apr/i, /^mei$/i, /^jun[i.]?$/i, /^jul[i.]?$/i, /^aug/i, /^sep/i, /^okt/i, /^nov/i, /^dec/i];\n var monthsRegex = /^(januari|februari|maart|april|mei|april|ju[nl]i|augustus|september|oktober|november|december|jan\\.?|feb\\.?|mrt\\.?|apr\\.?|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i;\n\n var nl = moment.defineLocale('nl', {\n months : 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split('_'),\n monthsShort : function (m, format) {\n if (!m) {\n return monthsShortWithDots;\n } else if (/-MMM-/.test(format)) {\n return monthsShortWithoutDots[m.month()];\n } else {\n return monthsShortWithDots[m.month()];\n }\n },\n\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: /^(januari|februari|maart|mei|ju[nl]i|april|augustus|september|oktober|november|december)/i,\n monthsShortStrictRegex: /^(jan\\.?|feb\\.?|mrt\\.?|apr\\.?|mei|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i,\n\n monthsParse : monthsParse,\n longMonthsParse : monthsParse,\n shortMonthsParse : monthsParse,\n\n weekdays : 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split('_'),\n weekdaysShort : 'zo._ma._di._wo._do._vr._za.'.split('_'),\n weekdaysMin : 'zo_ma_di_wo_do_vr_za'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD-MM-YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[vandaag om] LT',\n nextDay: '[morgen om] LT',\n nextWeek: 'dddd [om] LT',\n lastDay: '[gisteren om] LT',\n lastWeek: '[afgelopen] dddd [om] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'over %s',\n past : '%s geleden',\n s : 'een paar seconden',\n ss : '%d seconden',\n m : 'één minuut',\n mm : '%d minuten',\n h : 'één uur',\n hh : '%d uur',\n d : 'één dag',\n dd : '%d dagen',\n M : 'één maand',\n MM : '%d maanden',\n y : 'één jaar',\n yy : '%d jaar'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n ordinal : function (number) {\n return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de');\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return nl;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '१',\n '2': '२',\n '3': '३',\n '4': '४',\n '5': '५',\n '6': '६',\n '7': '७',\n '8': '८',\n '9': '९',\n '0': '०'\n },\n numberMap = {\n '१': '1',\n '२': '2',\n '३': '3',\n '४': '4',\n '५': '5',\n '६': '6',\n '७': '7',\n '८': '8',\n '९': '9',\n '०': '0'\n };\n\n var ne = moment.defineLocale('ne', {\n months : 'जनवरी_फेब्रुवरी_मार्च_अप्रिल_मई_जुन_जुलाई_अगष्ट_सेप्टेम्बर_अक्टोबर_नोभेम्बर_डिसेम्बर'.split('_'),\n monthsShort : 'जन._फेब्रु._मार्च_अप्रि._मई_जुन_जुलाई._अग._सेप्ट._अक्टो._नोभे._डिसे.'.split('_'),\n monthsParseExact : true,\n weekdays : 'आइतबार_सोमबार_मङ्गलबार_बुधबार_बिहिबार_शुक्रबार_शनिबार'.split('_'),\n weekdaysShort : 'आइत._सोम._मङ्गल._बुध._बिहि._शुक्र._शनि.'.split('_'),\n weekdaysMin : 'आ._सो._मं._बु._बि._शु._श.'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'Aको h:mm बजे',\n LTS : 'Aको h:mm:ss बजे',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, Aको h:mm बजे',\n LLLL : 'dddd, D MMMM YYYY, Aको h:mm बजे'\n },\n preparse: function (string) {\n return string.replace(/[१२३४५६७८९०]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /राति|बिहान|दिउँसो|साँझ/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'राति') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'बिहान') {\n return hour;\n } else if (meridiem === 'दिउँसो') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'साँझ') {\n return hour + 12;\n }\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 3) {\n return 'राति';\n } else if (hour < 12) {\n return 'बिहान';\n } else if (hour < 16) {\n return 'दिउँसो';\n } else if (hour < 20) {\n return 'साँझ';\n } else {\n return 'राति';\n }\n },\n calendar : {\n sameDay : '[आज] LT',\n nextDay : '[भोलि] LT',\n nextWeek : '[आउँदो] dddd[,] LT',\n lastDay : '[हिजो] LT',\n lastWeek : '[गएको] dddd[,] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%sमा',\n past : '%s अगाडि',\n s : 'केही क्षण',\n ss : '%d सेकेण्ड',\n m : 'एक मिनेट',\n mm : '%d मिनेट',\n h : 'एक घण्टा',\n hh : '%d घण्टा',\n d : 'एक दिन',\n dd : '%d दिन',\n M : 'एक महिना',\n MM : '%d महिना',\n y : 'एक बर्ष',\n yy : '%d बर्ष'\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return ne;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var nb = moment.defineLocale('nb', {\n months : 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split('_'),\n monthsShort : 'jan._feb._mars_april_mai_juni_juli_aug._sep._okt._nov._des.'.split('_'),\n monthsParseExact : true,\n weekdays : 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),\n weekdaysShort : 'sø._ma._ti._on._to._fr._lø.'.split('_'),\n weekdaysMin : 'sø_ma_ti_on_to_fr_lø'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY [kl.] HH:mm',\n LLLL : 'dddd D. MMMM YYYY [kl.] HH:mm'\n },\n calendar : {\n sameDay: '[i dag kl.] LT',\n nextDay: '[i morgen kl.] LT',\n nextWeek: 'dddd [kl.] LT',\n lastDay: '[i går kl.] LT',\n lastWeek: '[forrige] dddd [kl.] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'om %s',\n past : '%s siden',\n s : 'noen sekunder',\n ss : '%d sekunder',\n m : 'ett minutt',\n mm : '%d minutter',\n h : 'en time',\n hh : '%d timer',\n d : 'en dag',\n dd : '%d dager',\n M : 'en måned',\n MM : '%d måneder',\n y : 'ett år',\n yy : '%d år'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return nb;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '၁',\n '2': '၂',\n '3': '၃',\n '4': '၄',\n '5': '၅',\n '6': '၆',\n '7': '၇',\n '8': '၈',\n '9': '၉',\n '0': '၀'\n }, numberMap = {\n '၁': '1',\n '၂': '2',\n '၃': '3',\n '၄': '4',\n '၅': '5',\n '၆': '6',\n '၇': '7',\n '၈': '8',\n '၉': '9',\n '၀': '0'\n };\n\n var my = moment.defineLocale('my', {\n months: 'ဇန်နဝါရီ_ဖေဖော်ဝါရီ_မတ်_ဧပြီ_မေ_ဇွန်_ဇူလိုင်_သြဂုတ်_စက်တင်ဘာ_အောက်တိုဘာ_နိုဝင်ဘာ_ဒီဇင်ဘာ'.split('_'),\n monthsShort: 'ဇန်_ဖေ_မတ်_ပြီ_မေ_ဇွန်_လိုင်_သြ_စက်_အောက်_နို_ဒီ'.split('_'),\n weekdays: 'တနင်္ဂနွေ_တနင်္လာ_အင်္ဂါ_ဗုဒ္ဓဟူး_ကြာသပတေး_သောကြာ_စနေ'.split('_'),\n weekdaysShort: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'),\n weekdaysMin: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'),\n\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[ယနေ.] LT [မှာ]',\n nextDay: '[မနက်ဖြန်] LT [မှာ]',\n nextWeek: 'dddd LT [မှာ]',\n lastDay: '[မနေ.က] LT [မှာ]',\n lastWeek: '[ပြီးခဲ့သော] dddd LT [မှာ]',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'လာမည့် %s မှာ',\n past: 'လွန်ခဲ့သော %s က',\n s: 'စက္ကန်.အနည်းငယ်',\n ss : '%d စက္ကန့်',\n m: 'တစ်မိနစ်',\n mm: '%d မိနစ်',\n h: 'တစ်နာရီ',\n hh: '%d နာရီ',\n d: 'တစ်ရက်',\n dd: '%d ရက်',\n M: 'တစ်လ',\n MM: '%d လ',\n y: 'တစ်နှစ်',\n yy: '%d နှစ်'\n },\n preparse: function (string) {\n return string.replace(/[၁၂၃၄၅၆၇၈၉၀]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return my;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var mt = moment.defineLocale('mt', {\n months : 'Jannar_Frar_Marzu_April_Mejju_Ġunju_Lulju_Awwissu_Settembru_Ottubru_Novembru_Diċembru'.split('_'),\n monthsShort : 'Jan_Fra_Mar_Apr_Mej_Ġun_Lul_Aww_Set_Ott_Nov_Diċ'.split('_'),\n weekdays : 'Il-Ħadd_It-Tnejn_It-Tlieta_L-Erbgħa_Il-Ħamis_Il-Ġimgħa_Is-Sibt'.split('_'),\n weekdaysShort : 'Ħad_Tne_Tli_Erb_Ħam_Ġim_Sib'.split('_'),\n weekdaysMin : 'Ħa_Tn_Tl_Er_Ħa_Ġi_Si'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Illum fil-]LT',\n nextDay : '[Għada fil-]LT',\n nextWeek : 'dddd [fil-]LT',\n lastDay : '[Il-bieraħ fil-]LT',\n lastWeek : 'dddd [li għadda] [fil-]LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'f’ %s',\n past : '%s ilu',\n s : 'ftit sekondi',\n ss : '%d sekondi',\n m : 'minuta',\n mm : '%d minuti',\n h : 'siegħa',\n hh : '%d siegħat',\n d : 'ġurnata',\n dd : '%d ġranet',\n M : 'xahar',\n MM : '%d xhur',\n y : 'sena',\n yy : '%d sni'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}º/,\n ordinal: '%dº',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return mt;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var msMy = moment.defineLocale('ms-my', {\n months : 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split('_'),\n monthsShort : 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'),\n weekdays : 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'),\n weekdaysShort : 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'),\n weekdaysMin : 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'),\n longDateFormat : {\n LT : 'HH.mm',\n LTS : 'HH.mm.ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY [pukul] HH.mm',\n LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm'\n },\n meridiemParse: /pagi|tengahari|petang|malam/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'pagi') {\n return hour;\n } else if (meridiem === 'tengahari') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'petang' || meridiem === 'malam') {\n return hour + 12;\n }\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'pagi';\n } else if (hours < 15) {\n return 'tengahari';\n } else if (hours < 19) {\n return 'petang';\n } else {\n return 'malam';\n }\n },\n calendar : {\n sameDay : '[Hari ini pukul] LT',\n nextDay : '[Esok pukul] LT',\n nextWeek : 'dddd [pukul] LT',\n lastDay : '[Kelmarin pukul] LT',\n lastWeek : 'dddd [lepas pukul] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'dalam %s',\n past : '%s yang lepas',\n s : 'beberapa saat',\n ss : '%d saat',\n m : 'seminit',\n mm : '%d minit',\n h : 'sejam',\n hh : '%d jam',\n d : 'sehari',\n dd : '%d hari',\n M : 'sebulan',\n MM : '%d bulan',\n y : 'setahun',\n yy : '%d tahun'\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return msMy;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var ms = moment.defineLocale('ms', {\n months : 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split('_'),\n monthsShort : 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'),\n weekdays : 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'),\n weekdaysShort : 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'),\n weekdaysMin : 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'),\n longDateFormat : {\n LT : 'HH.mm',\n LTS : 'HH.mm.ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY [pukul] HH.mm',\n LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm'\n },\n meridiemParse: /pagi|tengahari|petang|malam/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'pagi') {\n return hour;\n } else if (meridiem === 'tengahari') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'petang' || meridiem === 'malam') {\n return hour + 12;\n }\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'pagi';\n } else if (hours < 15) {\n return 'tengahari';\n } else if (hours < 19) {\n return 'petang';\n } else {\n return 'malam';\n }\n },\n calendar : {\n sameDay : '[Hari ini pukul] LT',\n nextDay : '[Esok pukul] LT',\n nextWeek : 'dddd [pukul] LT',\n lastDay : '[Kelmarin pukul] LT',\n lastWeek : 'dddd [lepas pukul] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'dalam %s',\n past : '%s yang lepas',\n s : 'beberapa saat',\n ss : '%d saat',\n m : 'seminit',\n mm : '%d minit',\n h : 'sejam',\n hh : '%d jam',\n d : 'sehari',\n dd : '%d hari',\n M : 'sebulan',\n MM : '%d bulan',\n y : 'setahun',\n yy : '%d tahun'\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return ms;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '१',\n '2': '२',\n '3': '३',\n '4': '४',\n '5': '५',\n '6': '६',\n '7': '७',\n '8': '८',\n '9': '९',\n '0': '०'\n },\n numberMap = {\n '१': '1',\n '२': '2',\n '३': '3',\n '४': '4',\n '५': '5',\n '६': '6',\n '७': '7',\n '८': '8',\n '९': '9',\n '०': '0'\n };\n\n function relativeTimeMr(number, withoutSuffix, string, isFuture)\n {\n var output = '';\n if (withoutSuffix) {\n switch (string) {\n case 's': output = 'काही सेकंद'; break;\n case 'ss': output = '%d सेकंद'; break;\n case 'm': output = 'एक मिनिट'; break;\n case 'mm': output = '%d मिनिटे'; break;\n case 'h': output = 'एक तास'; break;\n case 'hh': output = '%d तास'; break;\n case 'd': output = 'एक दिवस'; break;\n case 'dd': output = '%d दिवस'; break;\n case 'M': output = 'एक महिना'; break;\n case 'MM': output = '%d महिने'; break;\n case 'y': output = 'एक वर्ष'; break;\n case 'yy': output = '%d वर्षे'; break;\n }\n }\n else {\n switch (string) {\n case 's': output = 'काही सेकंदां'; break;\n case 'ss': output = '%d सेकंदां'; break;\n case 'm': output = 'एका मिनिटा'; break;\n case 'mm': output = '%d मिनिटां'; break;\n case 'h': output = 'एका तासा'; break;\n case 'hh': output = '%d तासां'; break;\n case 'd': output = 'एका दिवसा'; break;\n case 'dd': output = '%d दिवसां'; break;\n case 'M': output = 'एका महिन्या'; break;\n case 'MM': output = '%d महिन्यां'; break;\n case 'y': output = 'एका वर्षा'; break;\n case 'yy': output = '%d वर्षां'; break;\n }\n }\n return output.replace(/%d/i, number);\n }\n\n var mr = moment.defineLocale('mr', {\n months : 'जानेवारी_फेब्रुवारी_मार्च_एप्रिल_मे_जून_जुलै_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर'.split('_'),\n monthsShort: 'जाने._फेब्रु._मार्च._एप्रि._मे._जून._जुलै._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.'.split('_'),\n monthsParseExact : true,\n weekdays : 'रविवार_सोमवार_मंगळवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'),\n weekdaysShort : 'रवि_सोम_मंगळ_बुध_गुरू_शुक्र_शनि'.split('_'),\n weekdaysMin : 'र_सो_मं_बु_गु_शु_श'.split('_'),\n longDateFormat : {\n LT : 'A h:mm वाजता',\n LTS : 'A h:mm:ss वाजता',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, A h:mm वाजता',\n LLLL : 'dddd, D MMMM YYYY, A h:mm वाजता'\n },\n calendar : {\n sameDay : '[आज] LT',\n nextDay : '[उद्या] LT',\n nextWeek : 'dddd, LT',\n lastDay : '[काल] LT',\n lastWeek: '[मागील] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future: '%sमध्ये',\n past: '%sपूर्वी',\n s: relativeTimeMr,\n ss: relativeTimeMr,\n m: relativeTimeMr,\n mm: relativeTimeMr,\n h: relativeTimeMr,\n hh: relativeTimeMr,\n d: relativeTimeMr,\n dd: relativeTimeMr,\n M: relativeTimeMr,\n MM: relativeTimeMr,\n y: relativeTimeMr,\n yy: relativeTimeMr\n },\n preparse: function (string) {\n return string.replace(/[१२३४५६७८९०]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /रात्री|सकाळी|दुपारी|सायंकाळी/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'रात्री') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'सकाळी') {\n return hour;\n } else if (meridiem === 'दुपारी') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'सायंकाळी') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'रात्री';\n } else if (hour < 10) {\n return 'सकाळी';\n } else if (hour < 17) {\n return 'दुपारी';\n } else if (hour < 20) {\n return 'सायंकाळी';\n } else {\n return 'रात्री';\n }\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return mr;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function translate(number, withoutSuffix, key, isFuture) {\n switch (key) {\n case 's':\n return withoutSuffix ? 'хэдхэн секунд' : 'хэдхэн секундын';\n case 'ss':\n return number + (withoutSuffix ? ' секунд' : ' секундын');\n case 'm':\n case 'mm':\n return number + (withoutSuffix ? ' минут' : ' минутын');\n case 'h':\n case 'hh':\n return number + (withoutSuffix ? ' цаг' : ' цагийн');\n case 'd':\n case 'dd':\n return number + (withoutSuffix ? ' өдөр' : ' өдрийн');\n case 'M':\n case 'MM':\n return number + (withoutSuffix ? ' сар' : ' сарын');\n case 'y':\n case 'yy':\n return number + (withoutSuffix ? ' жил' : ' жилийн');\n default:\n return number;\n }\n }\n\n var mn = moment.defineLocale('mn', {\n months : 'Нэгдүгээр сар_Хоёрдугаар сар_Гуравдугаар сар_Дөрөвдүгээр сар_Тавдугаар сар_Зургадугаар сар_Долдугаар сар_Наймдугаар сар_Есдүгээр сар_Аравдугаар сар_Арван нэгдүгээр сар_Арван хоёрдугаар сар'.split('_'),\n monthsShort : '1 сар_2 сар_3 сар_4 сар_5 сар_6 сар_7 сар_8 сар_9 сар_10 сар_11 сар_12 сар'.split('_'),\n monthsParseExact : true,\n weekdays : 'Ням_Даваа_Мягмар_Лхагва_Пүрэв_Баасан_Бямба'.split('_'),\n weekdaysShort : 'Ням_Дав_Мяг_Лха_Пүр_Баа_Бям'.split('_'),\n weekdaysMin : 'Ня_Да_Мя_Лх_Пү_Ба_Бя'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY-MM-DD',\n LL : 'YYYY оны MMMMын D',\n LLL : 'YYYY оны MMMMын D HH:mm',\n LLLL : 'dddd, YYYY оны MMMMын D HH:mm'\n },\n meridiemParse: /ҮӨ|ҮХ/i,\n isPM : function (input) {\n return input === 'ҮХ';\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ҮӨ';\n } else {\n return 'ҮХ';\n }\n },\n calendar : {\n sameDay : '[Өнөөдөр] LT',\n nextDay : '[Маргааш] LT',\n nextWeek : '[Ирэх] dddd LT',\n lastDay : '[Өчигдөр] LT',\n lastWeek : '[Өнгөрсөн] dddd LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s дараа',\n past : '%s өмнө',\n s : translate,\n ss : translate,\n m : translate,\n mm : translate,\n h : translate,\n hh : translate,\n d : translate,\n dd : translate,\n M : translate,\n MM : translate,\n y : translate,\n yy : translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2} өдөр/,\n ordinal : function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + ' өдөр';\n default:\n return number;\n }\n }\n });\n\n return mn;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var ml = moment.defineLocale('ml', {\n months : 'ജനുവരി_ഫെബ്രുവരി_മാർച്ച്_ഏപ്രിൽ_മേയ്_ജൂൺ_ജൂലൈ_ഓഗസ്റ്റ്_സെപ്റ്റംബർ_ഒക്ടോബർ_നവംബർ_ഡിസംബർ'.split('_'),\n monthsShort : 'ജനു._ഫെബ്രു._മാർ._ഏപ്രി._മേയ്_ജൂൺ_ജൂലൈ._ഓഗ._സെപ്റ്റ._ഒക്ടോ._നവം._ഡിസം.'.split('_'),\n monthsParseExact : true,\n weekdays : 'ഞായറാഴ്ച_തിങ്കളാഴ്ച_ചൊവ്വാഴ്ച_ബുധനാഴ്ച_വ്യാഴാഴ്ച_വെള്ളിയാഴ്ച_ശനിയാഴ്ച'.split('_'),\n weekdaysShort : 'ഞായർ_തിങ്കൾ_ചൊവ്വ_ബുധൻ_വ്യാഴം_വെള്ളി_ശനി'.split('_'),\n weekdaysMin : 'ഞാ_തി_ചൊ_ബു_വ്യാ_വെ_ശ'.split('_'),\n longDateFormat : {\n LT : 'A h:mm -നു',\n LTS : 'A h:mm:ss -നു',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, A h:mm -നു',\n LLLL : 'dddd, D MMMM YYYY, A h:mm -നു'\n },\n calendar : {\n sameDay : '[ഇന്ന്] LT',\n nextDay : '[നാളെ] LT',\n nextWeek : 'dddd, LT',\n lastDay : '[ഇന്നലെ] LT',\n lastWeek : '[കഴിഞ്ഞ] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s കഴിഞ്ഞ്',\n past : '%s മുൻപ്',\n s : 'അൽപ നിമിഷങ്ങൾ',\n ss : '%d സെക്കൻഡ്',\n m : 'ഒരു മിനിറ്റ്',\n mm : '%d മിനിറ്റ്',\n h : 'ഒരു മണിക്കൂർ',\n hh : '%d മണിക്കൂർ',\n d : 'ഒരു ദിവസം',\n dd : '%d ദിവസം',\n M : 'ഒരു മാസം',\n MM : '%d മാസം',\n y : 'ഒരു വർഷം',\n yy : '%d വർഷം'\n },\n meridiemParse: /രാത്രി|രാവിലെ|ഉച്ച കഴിഞ്ഞ്|വൈകുന്നേരം|രാത്രി/i,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if ((meridiem === 'രാത്രി' && hour >= 4) ||\n meridiem === 'ഉച്ച കഴിഞ്ഞ്' ||\n meridiem === 'വൈകുന്നേരം') {\n return hour + 12;\n } else {\n return hour;\n }\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'രാത്രി';\n } else if (hour < 12) {\n return 'രാവിലെ';\n } else if (hour < 17) {\n return 'ഉച്ച കഴിഞ്ഞ്';\n } else if (hour < 20) {\n return 'വൈകുന്നേരം';\n } else {\n return 'രാത്രി';\n }\n }\n });\n\n return ml;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var mk = moment.defineLocale('mk', {\n months : 'јануари_февруари_март_април_мај_јуни_јули_август_септември_октомври_ноември_декември'.split('_'),\n monthsShort : 'јан_фев_мар_апр_мај_јун_јул_авг_сеп_окт_ное_дек'.split('_'),\n weekdays : 'недела_понеделник_вторник_среда_четврток_петок_сабота'.split('_'),\n weekdaysShort : 'нед_пон_вто_сре_чет_пет_саб'.split('_'),\n weekdaysMin : 'нe_пo_вт_ср_че_пе_сa'.split('_'),\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'D.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY H:mm',\n LLLL : 'dddd, D MMMM YYYY H:mm'\n },\n calendar : {\n sameDay : '[Денес во] LT',\n nextDay : '[Утре во] LT',\n nextWeek : '[Во] dddd [во] LT',\n lastDay : '[Вчера во] LT',\n lastWeek : function () {\n switch (this.day()) {\n case 0:\n case 3:\n case 6:\n return '[Изминатата] dddd [во] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[Изминатиот] dddd [во] LT';\n }\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'после %s',\n past : 'пред %s',\n s : 'неколку секунди',\n ss : '%d секунди',\n m : 'минута',\n mm : '%d минути',\n h : 'час',\n hh : '%d часа',\n d : 'ден',\n dd : '%d дена',\n M : 'месец',\n MM : '%d месеци',\n y : 'година',\n yy : '%d години'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ев|ен|ти|ви|ри|ми)/,\n ordinal : function (number) {\n var lastDigit = number % 10,\n last2Digits = number % 100;\n if (number === 0) {\n return number + '-ев';\n } else if (last2Digits === 0) {\n return number + '-ен';\n } else if (last2Digits > 10 && last2Digits < 20) {\n return number + '-ти';\n } else if (lastDigit === 1) {\n return number + '-ви';\n } else if (lastDigit === 2) {\n return number + '-ри';\n } else if (lastDigit === 7 || lastDigit === 8) {\n return number + '-ми';\n } else {\n return number + '-ти';\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return mk;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var mi = moment.defineLocale('mi', {\n months: 'Kohi-tāte_Hui-tanguru_Poutū-te-rangi_Paenga-whāwhā_Haratua_Pipiri_Hōngoingoi_Here-turi-kōkā_Mahuru_Whiringa-ā-nuku_Whiringa-ā-rangi_Hakihea'.split('_'),\n monthsShort: 'Kohi_Hui_Pou_Pae_Hara_Pipi_Hōngoi_Here_Mahu_Whi-nu_Whi-ra_Haki'.split('_'),\n monthsRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,\n monthsStrictRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,\n monthsShortRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,\n monthsShortStrictRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,2}/i,\n weekdays: 'Rātapu_Mane_Tūrei_Wenerei_Tāite_Paraire_Hātarei'.split('_'),\n weekdaysShort: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'),\n weekdaysMin: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY [i] HH:mm',\n LLLL: 'dddd, D MMMM YYYY [i] HH:mm'\n },\n calendar: {\n sameDay: '[i teie mahana, i] LT',\n nextDay: '[apopo i] LT',\n nextWeek: 'dddd [i] LT',\n lastDay: '[inanahi i] LT',\n lastWeek: 'dddd [whakamutunga i] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'i roto i %s',\n past: '%s i mua',\n s: 'te hēkona ruarua',\n ss: '%d hēkona',\n m: 'he meneti',\n mm: '%d meneti',\n h: 'te haora',\n hh: '%d haora',\n d: 'he ra',\n dd: '%d ra',\n M: 'he marama',\n MM: '%d marama',\n y: 'he tau',\n yy: '%d tau'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return mi;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var translator = {\n words: { //Different grammatical cases\n ss: ['sekund', 'sekunda', 'sekundi'],\n m: ['jedan minut', 'jednog minuta'],\n mm: ['minut', 'minuta', 'minuta'],\n h: ['jedan sat', 'jednog sata'],\n hh: ['sat', 'sata', 'sati'],\n dd: ['dan', 'dana', 'dana'],\n MM: ['mjesec', 'mjeseca', 'mjeseci'],\n yy: ['godina', 'godine', 'godina']\n },\n correctGrammaticalCase: function (number, wordKey) {\n return number === 1 ? wordKey[0] : (number >= 2 && number <= 4 ? wordKey[1] : wordKey[2]);\n },\n translate: function (number, withoutSuffix, key) {\n var wordKey = translator.words[key];\n if (key.length === 1) {\n return withoutSuffix ? wordKey[0] : wordKey[1];\n } else {\n return number + ' ' + translator.correctGrammaticalCase(number, wordKey);\n }\n }\n };\n\n var me = moment.defineLocale('me', {\n months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split('_'),\n monthsShort: 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split('_'),\n monthsParseExact : true,\n weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split('_'),\n weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact : true,\n longDateFormat: {\n LT: 'H:mm',\n LTS : 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd, D. MMMM YYYY H:mm'\n },\n calendar: {\n sameDay: '[danas u] LT',\n nextDay: '[sjutra u] LT',\n\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[u] [nedjelju] [u] LT';\n case 3:\n return '[u] [srijedu] [u] LT';\n case 6:\n return '[u] [subotu] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay : '[juče u] LT',\n lastWeek : function () {\n var lastWeekDays = [\n '[prošle] [nedjelje] [u] LT',\n '[prošlog] [ponedjeljka] [u] LT',\n '[prošlog] [utorka] [u] LT',\n '[prošle] [srijede] [u] LT',\n '[prošlog] [četvrtka] [u] LT',\n '[prošlog] [petka] [u] LT',\n '[prošle] [subote] [u] LT'\n ];\n return lastWeekDays[this.day()];\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'za %s',\n past : 'prije %s',\n s : 'nekoliko sekundi',\n ss : translator.translate,\n m : translator.translate,\n mm : translator.translate,\n h : translator.translate,\n hh : translator.translate,\n d : 'dan',\n dd : translator.translate,\n M : 'mjesec',\n MM : translator.translate,\n y : 'godinu',\n yy : translator.translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return me;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var units = {\n 'ss': 'sekundes_sekundēm_sekunde_sekundes'.split('_'),\n 'm': 'minūtes_minūtēm_minūte_minūtes'.split('_'),\n 'mm': 'minūtes_minūtēm_minūte_minūtes'.split('_'),\n 'h': 'stundas_stundām_stunda_stundas'.split('_'),\n 'hh': 'stundas_stundām_stunda_stundas'.split('_'),\n 'd': 'dienas_dienām_diena_dienas'.split('_'),\n 'dd': 'dienas_dienām_diena_dienas'.split('_'),\n 'M': 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'),\n 'MM': 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'),\n 'y': 'gada_gadiem_gads_gadi'.split('_'),\n 'yy': 'gada_gadiem_gads_gadi'.split('_')\n };\n /**\n * @param withoutSuffix boolean true = a length of time; false = before/after a period of time.\n */\n function format(forms, number, withoutSuffix) {\n if (withoutSuffix) {\n // E.g. \"21 minūte\", \"3 minūtes\".\n return number % 10 === 1 && number % 100 !== 11 ? forms[2] : forms[3];\n } else {\n // E.g. \"21 minūtes\" as in \"pēc 21 minūtes\".\n // E.g. \"3 minūtēm\" as in \"pēc 3 minūtēm\".\n return number % 10 === 1 && number % 100 !== 11 ? forms[0] : forms[1];\n }\n }\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n return number + ' ' + format(units[key], number, withoutSuffix);\n }\n function relativeTimeWithSingular(number, withoutSuffix, key) {\n return format(units[key], number, withoutSuffix);\n }\n function relativeSeconds(number, withoutSuffix) {\n return withoutSuffix ? 'dažas sekundes' : 'dažām sekundēm';\n }\n\n var lv = moment.defineLocale('lv', {\n months : 'janvāris_februāris_marts_aprīlis_maijs_jūnijs_jūlijs_augusts_septembris_oktobris_novembris_decembris'.split('_'),\n monthsShort : 'jan_feb_mar_apr_mai_jūn_jūl_aug_sep_okt_nov_dec'.split('_'),\n weekdays : 'svētdiena_pirmdiena_otrdiena_trešdiena_ceturtdiena_piektdiena_sestdiena'.split('_'),\n weekdaysShort : 'Sv_P_O_T_C_Pk_S'.split('_'),\n weekdaysMin : 'Sv_P_O_T_C_Pk_S'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY.',\n LL : 'YYYY. [gada] D. MMMM',\n LLL : 'YYYY. [gada] D. MMMM, HH:mm',\n LLLL : 'YYYY. [gada] D. MMMM, dddd, HH:mm'\n },\n calendar : {\n sameDay : '[Šodien pulksten] LT',\n nextDay : '[Rīt pulksten] LT',\n nextWeek : 'dddd [pulksten] LT',\n lastDay : '[Vakar pulksten] LT',\n lastWeek : '[Pagājušā] dddd [pulksten] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'pēc %s',\n past : 'pirms %s',\n s : relativeSeconds,\n ss : relativeTimeWithPlural,\n m : relativeTimeWithSingular,\n mm : relativeTimeWithPlural,\n h : relativeTimeWithSingular,\n hh : relativeTimeWithPlural,\n d : relativeTimeWithSingular,\n dd : relativeTimeWithPlural,\n M : relativeTimeWithSingular,\n MM : relativeTimeWithPlural,\n y : relativeTimeWithSingular,\n yy : relativeTimeWithPlural\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return lv;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var units = {\n 'ss' : 'sekundė_sekundžių_sekundes',\n 'm' : 'minutė_minutės_minutę',\n 'mm': 'minutės_minučių_minutes',\n 'h' : 'valanda_valandos_valandą',\n 'hh': 'valandos_valandų_valandas',\n 'd' : 'diena_dienos_dieną',\n 'dd': 'dienos_dienų_dienas',\n 'M' : 'mėnuo_mėnesio_mėnesį',\n 'MM': 'mėnesiai_mėnesių_mėnesius',\n 'y' : 'metai_metų_metus',\n 'yy': 'metai_metų_metus'\n };\n function translateSeconds(number, withoutSuffix, key, isFuture) {\n if (withoutSuffix) {\n return 'kelios sekundės';\n } else {\n return isFuture ? 'kelių sekundžių' : 'kelias sekundes';\n }\n }\n function translateSingular(number, withoutSuffix, key, isFuture) {\n return withoutSuffix ? forms(key)[0] : (isFuture ? forms(key)[1] : forms(key)[2]);\n }\n function special(number) {\n return number % 10 === 0 || (number > 10 && number < 20);\n }\n function forms(key) {\n return units[key].split('_');\n }\n function translate(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n if (number === 1) {\n return result + translateSingular(number, withoutSuffix, key[0], isFuture);\n } else if (withoutSuffix) {\n return result + (special(number) ? forms(key)[1] : forms(key)[0]);\n } else {\n if (isFuture) {\n return result + forms(key)[1];\n } else {\n return result + (special(number) ? forms(key)[1] : forms(key)[2]);\n }\n }\n }\n var lt = moment.defineLocale('lt', {\n months : {\n format: 'sausio_vasario_kovo_balandžio_gegužės_birželio_liepos_rugpjūčio_rugsėjo_spalio_lapkričio_gruodžio'.split('_'),\n standalone: 'sausis_vasaris_kovas_balandis_gegužė_birželis_liepa_rugpjūtis_rugsėjis_spalis_lapkritis_gruodis'.split('_'),\n isFormat: /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?|MMMM?(\\[[^\\[\\]]*\\]|\\s)+D[oD]?/\n },\n monthsShort : 'sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd'.split('_'),\n weekdays : {\n format: 'sekmadienį_pirmadienį_antradienį_trečiadienį_ketvirtadienį_penktadienį_šeštadienį'.split('_'),\n standalone: 'sekmadienis_pirmadienis_antradienis_trečiadienis_ketvirtadienis_penktadienis_šeštadienis'.split('_'),\n isFormat: /dddd HH:mm/\n },\n weekdaysShort : 'Sek_Pir_Ant_Tre_Ket_Pen_Šeš'.split('_'),\n weekdaysMin : 'S_P_A_T_K_Pn_Š'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY-MM-DD',\n LL : 'YYYY [m.] MMMM D [d.]',\n LLL : 'YYYY [m.] MMMM D [d.], HH:mm [val.]',\n LLLL : 'YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]',\n l : 'YYYY-MM-DD',\n ll : 'YYYY [m.] MMMM D [d.]',\n lll : 'YYYY [m.] MMMM D [d.], HH:mm [val.]',\n llll : 'YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]'\n },\n calendar : {\n sameDay : '[Šiandien] LT',\n nextDay : '[Rytoj] LT',\n nextWeek : 'dddd LT',\n lastDay : '[Vakar] LT',\n lastWeek : '[Praėjusį] dddd LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'po %s',\n past : 'prieš %s',\n s : translateSeconds,\n ss : translate,\n m : translateSingular,\n mm : translate,\n h : translateSingular,\n hh : translate,\n d : translateSingular,\n dd : translate,\n M : translateSingular,\n MM : translate,\n y : translateSingular,\n yy : translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-oji/,\n ordinal : function (number) {\n return number + '-oji';\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return lt;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var lo = moment.defineLocale('lo', {\n months : 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split('_'),\n monthsShort : 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split('_'),\n weekdays : 'ອາທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'),\n weekdaysShort : 'ທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'),\n weekdaysMin : 'ທ_ຈ_ອຄ_ພ_ພຫ_ສກ_ສ'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'ວັນdddd D MMMM YYYY HH:mm'\n },\n meridiemParse: /ຕອນເຊົ້າ|ຕອນແລງ/,\n isPM: function (input) {\n return input === 'ຕອນແລງ';\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ຕອນເຊົ້າ';\n } else {\n return 'ຕອນແລງ';\n }\n },\n calendar : {\n sameDay : '[ມື້ນີ້ເວລາ] LT',\n nextDay : '[ມື້ອື່ນເວລາ] LT',\n nextWeek : '[ວັນ]dddd[ໜ້າເວລາ] LT',\n lastDay : '[ມື້ວານນີ້ເວລາ] LT',\n lastWeek : '[ວັນ]dddd[ແລ້ວນີ້ເວລາ] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'ອີກ %s',\n past : '%sຜ່ານມາ',\n s : 'ບໍ່ເທົ່າໃດວິນາທີ',\n ss : '%d ວິນາທີ' ,\n m : '1 ນາທີ',\n mm : '%d ນາທີ',\n h : '1 ຊົ່ວໂມງ',\n hh : '%d ຊົ່ວໂມງ',\n d : '1 ມື້',\n dd : '%d ມື້',\n M : '1 ເດືອນ',\n MM : '%d ເດືອນ',\n y : '1 ປີ',\n yy : '%d ປີ'\n },\n dayOfMonthOrdinalParse: /(ທີ່)\\d{1,2}/,\n ordinal : function (number) {\n return 'ທີ່' + number;\n }\n });\n\n return lo;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n 'm': ['eng Minutt', 'enger Minutt'],\n 'h': ['eng Stonn', 'enger Stonn'],\n 'd': ['een Dag', 'engem Dag'],\n 'M': ['ee Mount', 'engem Mount'],\n 'y': ['ee Joer', 'engem Joer']\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n function processFutureTime(string) {\n var number = string.substr(0, string.indexOf(' '));\n if (eifelerRegelAppliesToNumber(number)) {\n return 'a ' + string;\n }\n return 'an ' + string;\n }\n function processPastTime(string) {\n var number = string.substr(0, string.indexOf(' '));\n if (eifelerRegelAppliesToNumber(number)) {\n return 'viru ' + string;\n }\n return 'virun ' + string;\n }\n /**\n * Returns true if the word before the given number loses the '-n' ending.\n * e.g. 'an 10 Deeg' but 'a 5 Deeg'\n *\n * @param number {integer}\n * @returns {boolean}\n */\n function eifelerRegelAppliesToNumber(number) {\n number = parseInt(number, 10);\n if (isNaN(number)) {\n return false;\n }\n if (number < 0) {\n // Negative Number --> always true\n return true;\n } else if (number < 10) {\n // Only 1 digit\n if (4 <= number && number <= 7) {\n return true;\n }\n return false;\n } else if (number < 100) {\n // 2 digits\n var lastDigit = number % 10, firstDigit = number / 10;\n if (lastDigit === 0) {\n return eifelerRegelAppliesToNumber(firstDigit);\n }\n return eifelerRegelAppliesToNumber(lastDigit);\n } else if (number < 10000) {\n // 3 or 4 digits --> recursively check first digit\n while (number >= 10) {\n number = number / 10;\n }\n return eifelerRegelAppliesToNumber(number);\n } else {\n // Anything larger than 4 digits: recursively check first n-3 digits\n number = number / 1000;\n return eifelerRegelAppliesToNumber(number);\n }\n }\n\n var lb = moment.defineLocale('lb', {\n months: 'Januar_Februar_Mäerz_Abrëll_Mee_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),\n monthsShort: 'Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.'.split('_'),\n monthsParseExact : true,\n weekdays: 'Sonndeg_Méindeg_Dënschdeg_Mëttwoch_Donneschdeg_Freideg_Samschdeg'.split('_'),\n weekdaysShort: 'So._Mé._Dë._Më._Do._Fr._Sa.'.split('_'),\n weekdaysMin: 'So_Mé_Dë_Më_Do_Fr_Sa'.split('_'),\n weekdaysParseExact : true,\n longDateFormat: {\n LT: 'H:mm [Auer]',\n LTS: 'H:mm:ss [Auer]',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm [Auer]',\n LLLL: 'dddd, D. MMMM YYYY H:mm [Auer]'\n },\n calendar: {\n sameDay: '[Haut um] LT',\n sameElse: 'L',\n nextDay: '[Muer um] LT',\n nextWeek: 'dddd [um] LT',\n lastDay: '[Gëschter um] LT',\n lastWeek: function () {\n // Different date string for 'Dënschdeg' (Tuesday) and 'Donneschdeg' (Thursday) due to phonological rule\n switch (this.day()) {\n case 2:\n case 4:\n return '[Leschten] dddd [um] LT';\n default:\n return '[Leschte] dddd [um] LT';\n }\n }\n },\n relativeTime : {\n future : processFutureTime,\n past : processPastTime,\n s : 'e puer Sekonnen',\n ss : '%d Sekonnen',\n m : processRelativeTime,\n mm : '%d Minutten',\n h : processRelativeTime,\n hh : '%d Stonnen',\n d : processRelativeTime,\n dd : '%d Deeg',\n M : processRelativeTime,\n MM : '%d Méint',\n y : processRelativeTime,\n yy : '%d Joer'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return lb;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var suffixes = {\n 0: '-чү',\n 1: '-чи',\n 2: '-чи',\n 3: '-чү',\n 4: '-чү',\n 5: '-чи',\n 6: '-чы',\n 7: '-чи',\n 8: '-чи',\n 9: '-чу',\n 10: '-чу',\n 20: '-чы',\n 30: '-чу',\n 40: '-чы',\n 50: '-чү',\n 60: '-чы',\n 70: '-чи',\n 80: '-чи',\n 90: '-чу',\n 100: '-чү'\n };\n\n var ky = moment.defineLocale('ky', {\n months : 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split('_'),\n monthsShort : 'янв_фев_март_апр_май_июнь_июль_авг_сен_окт_ноя_дек'.split('_'),\n weekdays : 'Жекшемби_Дүйшөмбү_Шейшемби_Шаршемби_Бейшемби_Жума_Ишемби'.split('_'),\n weekdaysShort : 'Жек_Дүй_Шей_Шар_Бей_Жум_Ише'.split('_'),\n weekdaysMin : 'Жк_Дй_Шй_Шр_Бй_Жм_Иш'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Бүгүн саат] LT',\n nextDay : '[Эртең саат] LT',\n nextWeek : 'dddd [саат] LT',\n lastDay : '[Кече саат] LT',\n lastWeek : '[Өткен аптанын] dddd [күнү] [саат] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s ичинде',\n past : '%s мурун',\n s : 'бирнече секунд',\n ss : '%d секунд',\n m : 'бир мүнөт',\n mm : '%d мүнөт',\n h : 'бир саат',\n hh : '%d саат',\n d : 'бир күн',\n dd : '%d күн',\n M : 'бир ай',\n MM : '%d ай',\n y : 'бир жыл',\n yy : '%d жыл'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(чи|чы|чү|чу)/,\n ordinal : function (number) {\n var a = number % 10,\n b = number >= 100 ? 100 : null;\n return number + (suffixes[number] || suffixes[a] || suffixes[b]);\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return ky;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var ko = moment.defineLocale('ko', {\n months : '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split('_'),\n monthsShort : '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split('_'),\n weekdays : '일요일_월요일_화요일_수요일_목요일_금요일_토요일'.split('_'),\n weekdaysShort : '일_월_화_수_목_금_토'.split('_'),\n weekdaysMin : '일_월_화_수_목_금_토'.split('_'),\n longDateFormat : {\n LT : 'A h:mm',\n LTS : 'A h:mm:ss',\n L : 'YYYY.MM.DD.',\n LL : 'YYYY년 MMMM D일',\n LLL : 'YYYY년 MMMM D일 A h:mm',\n LLLL : 'YYYY년 MMMM D일 dddd A h:mm',\n l : 'YYYY.MM.DD.',\n ll : 'YYYY년 MMMM D일',\n lll : 'YYYY년 MMMM D일 A h:mm',\n llll : 'YYYY년 MMMM D일 dddd A h:mm'\n },\n calendar : {\n sameDay : '오늘 LT',\n nextDay : '내일 LT',\n nextWeek : 'dddd LT',\n lastDay : '어제 LT',\n lastWeek : '지난주 dddd LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s 후',\n past : '%s 전',\n s : '몇 초',\n ss : '%d초',\n m : '1분',\n mm : '%d분',\n h : '한 시간',\n hh : '%d시간',\n d : '하루',\n dd : '%d일',\n M : '한 달',\n MM : '%d달',\n y : '일 년',\n yy : '%d년'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}(일|월|주)/,\n ordinal : function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '일';\n case 'M':\n return number + '월';\n case 'w':\n case 'W':\n return number + '주';\n default:\n return number;\n }\n },\n meridiemParse : /오전|오후/,\n isPM : function (token) {\n return token === '오후';\n },\n meridiem : function (hour, minute, isUpper) {\n return hour < 12 ? '오전' : '오후';\n }\n });\n\n return ko;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '೧',\n '2': '೨',\n '3': '೩',\n '4': '೪',\n '5': '೫',\n '6': '೬',\n '7': '೭',\n '8': '೮',\n '9': '೯',\n '0': '೦'\n },\n numberMap = {\n '೧': '1',\n '೨': '2',\n '೩': '3',\n '೪': '4',\n '೫': '5',\n '೬': '6',\n '೭': '7',\n '೮': '8',\n '೯': '9',\n '೦': '0'\n };\n\n var kn = moment.defineLocale('kn', {\n months : 'ಜನವರಿ_ಫೆಬ್ರವರಿ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂಬರ್_ಅಕ್ಟೋಬರ್_ನವೆಂಬರ್_ಡಿಸೆಂಬರ್'.split('_'),\n monthsShort : 'ಜನ_ಫೆಬ್ರ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂ_ಅಕ್ಟೋ_ನವೆಂ_ಡಿಸೆಂ'.split('_'),\n monthsParseExact: true,\n weekdays : 'ಭಾನುವಾರ_ಸೋಮವಾರ_ಮಂಗಳವಾರ_ಬುಧವಾರ_ಗುರುವಾರ_ಶುಕ್ರವಾರ_ಶನಿವಾರ'.split('_'),\n weekdaysShort : 'ಭಾನು_ಸೋಮ_ಮಂಗಳ_ಬುಧ_ಗುರು_ಶುಕ್ರ_ಶನಿ'.split('_'),\n weekdaysMin : 'ಭಾ_ಸೋ_ಮಂ_ಬು_ಗು_ಶು_ಶ'.split('_'),\n longDateFormat : {\n LT : 'A h:mm',\n LTS : 'A h:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, A h:mm',\n LLLL : 'dddd, D MMMM YYYY, A h:mm'\n },\n calendar : {\n sameDay : '[ಇಂದು] LT',\n nextDay : '[ನಾಳೆ] LT',\n nextWeek : 'dddd, LT',\n lastDay : '[ನಿನ್ನೆ] LT',\n lastWeek : '[ಕೊನೆಯ] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s ನಂತರ',\n past : '%s ಹಿಂದೆ',\n s : 'ಕೆಲವು ಕ್ಷಣಗಳು',\n ss : '%d ಸೆಕೆಂಡುಗಳು',\n m : 'ಒಂದು ನಿಮಿಷ',\n mm : '%d ನಿಮಿಷ',\n h : 'ಒಂದು ಗಂಟೆ',\n hh : '%d ಗಂಟೆ',\n d : 'ಒಂದು ದಿನ',\n dd : '%d ದಿನ',\n M : 'ಒಂದು ತಿಂಗಳು',\n MM : '%d ತಿಂಗಳು',\n y : 'ಒಂದು ವರ್ಷ',\n yy : '%d ವರ್ಷ'\n },\n preparse: function (string) {\n return string.replace(/[೧೨೩೪೫೬೭೮೯೦]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /ರಾತ್ರಿ|ಬೆಳಿಗ್ಗೆ|ಮಧ್ಯಾಹ್ನ|ಸಂಜೆ/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'ರಾತ್ರಿ') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'ಬೆಳಿಗ್ಗೆ') {\n return hour;\n } else if (meridiem === 'ಮಧ್ಯಾಹ್ನ') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'ಸಂಜೆ') {\n return hour + 12;\n }\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ರಾತ್ರಿ';\n } else if (hour < 10) {\n return 'ಬೆಳಿಗ್ಗೆ';\n } else if (hour < 17) {\n return 'ಮಧ್ಯಾಹ್ನ';\n } else if (hour < 20) {\n return 'ಸಂಜೆ';\n } else {\n return 'ರಾತ್ರಿ';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ನೇ)/,\n ordinal : function (number) {\n return number + 'ನೇ';\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return kn;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '១',\n '2': '២',\n '3': '៣',\n '4': '៤',\n '5': '៥',\n '6': '៦',\n '7': '៧',\n '8': '៨',\n '9': '៩',\n '0': '០'\n }, numberMap = {\n '១': '1',\n '២': '2',\n '៣': '3',\n '៤': '4',\n '៥': '5',\n '៦': '6',\n '៧': '7',\n '៨': '8',\n '៩': '9',\n '០': '0'\n };\n\n var km = moment.defineLocale('km', {\n months: 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split(\n '_'\n ),\n monthsShort: 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split(\n '_'\n ),\n weekdays: 'អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍'.split('_'),\n weekdaysShort: 'អា_ច_អ_ព_ព្រ_សុ_ស'.split('_'),\n weekdaysMin: 'អា_ច_អ_ព_ព្រ_សុ_ស'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n meridiemParse: /ព្រឹក|ល្ងាច/,\n isPM: function (input) {\n return input === 'ល្ងាច';\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ព្រឹក';\n } else {\n return 'ល្ងាច';\n }\n },\n calendar: {\n sameDay: '[ថ្ងៃនេះ ម៉ោង] LT',\n nextDay: '[ស្អែក ម៉ោង] LT',\n nextWeek: 'dddd [ម៉ោង] LT',\n lastDay: '[ម្សិលមិញ ម៉ោង] LT',\n lastWeek: 'dddd [សប្តាហ៍មុន] [ម៉ោង] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%sទៀត',\n past: '%sមុន',\n s: 'ប៉ុន្មានវិនាទី',\n ss: '%d វិនាទី',\n m: 'មួយនាទី',\n mm: '%d នាទី',\n h: 'មួយម៉ោង',\n hh: '%d ម៉ោង',\n d: 'មួយថ្ងៃ',\n dd: '%d ថ្ងៃ',\n M: 'មួយខែ',\n MM: '%d ខែ',\n y: 'មួយឆ្នាំ',\n yy: '%d ឆ្នាំ'\n },\n dayOfMonthOrdinalParse : /ទី\\d{1,2}/,\n ordinal : 'ទី%d',\n preparse: function (string) {\n return string.replace(/[១២៣៤៥៦៧៨៩០]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return km;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var suffixes = {\n 0: '-ші',\n 1: '-ші',\n 2: '-ші',\n 3: '-ші',\n 4: '-ші',\n 5: '-ші',\n 6: '-шы',\n 7: '-ші',\n 8: '-ші',\n 9: '-шы',\n 10: '-шы',\n 20: '-шы',\n 30: '-шы',\n 40: '-шы',\n 50: '-ші',\n 60: '-шы',\n 70: '-ші',\n 80: '-ші',\n 90: '-шы',\n 100: '-ші'\n };\n\n var kk = moment.defineLocale('kk', {\n months : 'қаңтар_ақпан_наурыз_сәуір_мамыр_маусым_шілде_тамыз_қыркүйек_қазан_қараша_желтоқсан'.split('_'),\n monthsShort : 'қаң_ақп_нау_сәу_мам_мау_шіл_там_қыр_қаз_қар_жел'.split('_'),\n weekdays : 'жексенбі_дүйсенбі_сейсенбі_сәрсенбі_бейсенбі_жұма_сенбі'.split('_'),\n weekdaysShort : 'жек_дүй_сей_сәр_бей_жұм_сен'.split('_'),\n weekdaysMin : 'жк_дй_сй_ср_бй_жм_сн'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Бүгін сағат] LT',\n nextDay : '[Ертең сағат] LT',\n nextWeek : 'dddd [сағат] LT',\n lastDay : '[Кеше сағат] LT',\n lastWeek : '[Өткен аптаның] dddd [сағат] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s ішінде',\n past : '%s бұрын',\n s : 'бірнеше секунд',\n ss : '%d секунд',\n m : 'бір минут',\n mm : '%d минут',\n h : 'бір сағат',\n hh : '%d сағат',\n d : 'бір күн',\n dd : '%d күн',\n M : 'бір ай',\n MM : '%d ай',\n y : 'бір жыл',\n yy : '%d жыл'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ші|шы)/,\n ordinal : function (number) {\n var a = number % 10,\n b = number >= 100 ? 100 : null;\n return number + (suffixes[number] || suffixes[a] || suffixes[b]);\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return kk;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var ka = moment.defineLocale('ka', {\n months : {\n standalone: 'იანვარი_თებერვალი_მარტი_აპრილი_მაისი_ივნისი_ივლისი_აგვისტო_სექტემბერი_ოქტომბერი_ნოემბერი_დეკემბერი'.split('_'),\n format: 'იანვარს_თებერვალს_მარტს_აპრილის_მაისს_ივნისს_ივლისს_აგვისტს_სექტემბერს_ოქტომბერს_ნოემბერს_დეკემბერს'.split('_')\n },\n monthsShort : 'იან_თებ_მარ_აპრ_მაი_ივნ_ივლ_აგვ_სექ_ოქტ_ნოე_დეკ'.split('_'),\n weekdays : {\n standalone: 'კვირა_ორშაბათი_სამშაბათი_ოთხშაბათი_ხუთშაბათი_პარასკევი_შაბათი'.split('_'),\n format: 'კვირას_ორშაბათს_სამშაბათს_ოთხშაბათს_ხუთშაბათს_პარასკევს_შაბათს'.split('_'),\n isFormat: /(წინა|შემდეგ)/\n },\n weekdaysShort : 'კვი_ორშ_სამ_ოთხ_ხუთ_პარ_შაბ'.split('_'),\n weekdaysMin : 'კვ_ორ_სა_ოთ_ხუ_პა_შა'.split('_'),\n longDateFormat : {\n LT : 'h:mm A',\n LTS : 'h:mm:ss A',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY h:mm A',\n LLLL : 'dddd, D MMMM YYYY h:mm A'\n },\n calendar : {\n sameDay : '[დღეს] LT[-ზე]',\n nextDay : '[ხვალ] LT[-ზე]',\n lastDay : '[გუშინ] LT[-ზე]',\n nextWeek : '[შემდეგ] dddd LT[-ზე]',\n lastWeek : '[წინა] dddd LT-ზე',\n sameElse : 'L'\n },\n relativeTime : {\n future : function (s) {\n return (/(წამი|წუთი|საათი|წელი)/).test(s) ?\n s.replace(/ი$/, 'ში') :\n s + 'ში';\n },\n past : function (s) {\n if ((/(წამი|წუთი|საათი|დღე|თვე)/).test(s)) {\n return s.replace(/(ი|ე)$/, 'ის წინ');\n }\n if ((/წელი/).test(s)) {\n return s.replace(/წელი$/, 'წლის წინ');\n }\n },\n s : 'რამდენიმე წამი',\n ss : '%d წამი',\n m : 'წუთი',\n mm : '%d წუთი',\n h : 'საათი',\n hh : '%d საათი',\n d : 'დღე',\n dd : '%d დღე',\n M : 'თვე',\n MM : '%d თვე',\n y : 'წელი',\n yy : '%d წელი'\n },\n dayOfMonthOrdinalParse: /0|1-ლი|მე-\\d{1,2}|\\d{1,2}-ე/,\n ordinal : function (number) {\n if (number === 0) {\n return number;\n }\n if (number === 1) {\n return number + '-ლი';\n }\n if ((number < 20) || (number <= 100 && (number % 20 === 0)) || (number % 100 === 0)) {\n return 'მე-' + number;\n }\n return number + '-ე';\n },\n week : {\n dow : 1,\n doy : 7\n }\n });\n\n return ka;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var jv = moment.defineLocale('jv', {\n months : 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember'.split('_'),\n monthsShort : 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des'.split('_'),\n weekdays : 'Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu'.split('_'),\n weekdaysShort : 'Min_Sen_Sel_Reb_Kem_Jem_Sep'.split('_'),\n weekdaysMin : 'Mg_Sn_Sl_Rb_Km_Jm_Sp'.split('_'),\n longDateFormat : {\n LT : 'HH.mm',\n LTS : 'HH.mm.ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY [pukul] HH.mm',\n LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm'\n },\n meridiemParse: /enjing|siyang|sonten|ndalu/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'enjing') {\n return hour;\n } else if (meridiem === 'siyang') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'sonten' || meridiem === 'ndalu') {\n return hour + 12;\n }\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'enjing';\n } else if (hours < 15) {\n return 'siyang';\n } else if (hours < 19) {\n return 'sonten';\n } else {\n return 'ndalu';\n }\n },\n calendar : {\n sameDay : '[Dinten puniko pukul] LT',\n nextDay : '[Mbenjang pukul] LT',\n nextWeek : 'dddd [pukul] LT',\n lastDay : '[Kala wingi pukul] LT',\n lastWeek : 'dddd [kepengker pukul] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'wonten ing %s',\n past : '%s ingkang kepengker',\n s : 'sawetawis detik',\n ss : '%d detik',\n m : 'setunggal menit',\n mm : '%d menit',\n h : 'setunggal jam',\n hh : '%d jam',\n d : 'sedinten',\n dd : '%d dinten',\n M : 'sewulan',\n MM : '%d wulan',\n y : 'setaun',\n yy : '%d taun'\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return jv;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var ja = moment.defineLocale('ja', {\n months : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n monthsShort : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n weekdays : '日曜日_月曜日_火曜日_水曜日_木曜日_金曜日_土曜日'.split('_'),\n weekdaysShort : '日_月_火_水_木_金_土'.split('_'),\n weekdaysMin : '日_月_火_水_木_金_土'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY/MM/DD',\n LL : 'YYYY年M月D日',\n LLL : 'YYYY年M月D日 HH:mm',\n LLLL : 'YYYY年M月D日 dddd HH:mm',\n l : 'YYYY/MM/DD',\n ll : 'YYYY年M月D日',\n lll : 'YYYY年M月D日 HH:mm',\n llll : 'YYYY年M月D日(ddd) HH:mm'\n },\n meridiemParse: /午前|午後/i,\n isPM : function (input) {\n return input === '午後';\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return '午前';\n } else {\n return '午後';\n }\n },\n calendar : {\n sameDay : '[今日] LT',\n nextDay : '[明日] LT',\n nextWeek : function (now) {\n if (now.week() < this.week()) {\n return '[来週]dddd LT';\n } else {\n return 'dddd LT';\n }\n },\n lastDay : '[昨日] LT',\n lastWeek : function (now) {\n if (this.week() < now.week()) {\n return '[先週]dddd LT';\n } else {\n return 'dddd LT';\n }\n },\n sameElse : 'L'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}日/,\n ordinal : function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '日';\n default:\n return number;\n }\n },\n relativeTime : {\n future : '%s後',\n past : '%s前',\n s : '数秒',\n ss : '%d秒',\n m : '1分',\n mm : '%d分',\n h : '1時間',\n hh : '%d時間',\n d : '1日',\n dd : '%d日',\n M : '1ヶ月',\n MM : '%dヶ月',\n y : '1年',\n yy : '%d年'\n }\n });\n\n return ja;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var it = moment.defineLocale('it', {\n months : 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split('_'),\n monthsShort : 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'),\n weekdays : 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split('_'),\n weekdaysShort : 'dom_lun_mar_mer_gio_ven_sab'.split('_'),\n weekdaysMin : 'do_lu_ma_me_gi_ve_sa'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[Oggi alle] LT',\n nextDay: '[Domani alle] LT',\n nextWeek: 'dddd [alle] LT',\n lastDay: '[Ieri alle] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[la scorsa] dddd [alle] LT';\n default:\n return '[lo scorso] dddd [alle] LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : function (s) {\n return ((/^[0-9].+$/).test(s) ? 'tra' : 'in') + ' ' + s;\n },\n past : '%s fa',\n s : 'alcuni secondi',\n ss : '%d secondi',\n m : 'un minuto',\n mm : '%d minuti',\n h : 'un\\'ora',\n hh : '%d ore',\n d : 'un giorno',\n dd : '%d giorni',\n M : 'un mese',\n MM : '%d mesi',\n y : 'un anno',\n yy : '%d anni'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}º/,\n ordinal: '%dº',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return it;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function plural(n) {\n if (n % 100 === 11) {\n return true;\n } else if (n % 10 === 1) {\n return false;\n }\n return true;\n }\n function translate(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n switch (key) {\n case 's':\n return withoutSuffix || isFuture ? 'nokkrar sekúndur' : 'nokkrum sekúndum';\n case 'ss':\n if (plural(number)) {\n return result + (withoutSuffix || isFuture ? 'sekúndur' : 'sekúndum');\n }\n return result + 'sekúnda';\n case 'm':\n return withoutSuffix ? 'mínúta' : 'mínútu';\n case 'mm':\n if (plural(number)) {\n return result + (withoutSuffix || isFuture ? 'mínútur' : 'mínútum');\n } else if (withoutSuffix) {\n return result + 'mínúta';\n }\n return result + 'mínútu';\n case 'hh':\n if (plural(number)) {\n return result + (withoutSuffix || isFuture ? 'klukkustundir' : 'klukkustundum');\n }\n return result + 'klukkustund';\n case 'd':\n if (withoutSuffix) {\n return 'dagur';\n }\n return isFuture ? 'dag' : 'degi';\n case 'dd':\n if (plural(number)) {\n if (withoutSuffix) {\n return result + 'dagar';\n }\n return result + (isFuture ? 'daga' : 'dögum');\n } else if (withoutSuffix) {\n return result + 'dagur';\n }\n return result + (isFuture ? 'dag' : 'degi');\n case 'M':\n if (withoutSuffix) {\n return 'mánuður';\n }\n return isFuture ? 'mánuð' : 'mánuði';\n case 'MM':\n if (plural(number)) {\n if (withoutSuffix) {\n return result + 'mánuðir';\n }\n return result + (isFuture ? 'mánuði' : 'mánuðum');\n } else if (withoutSuffix) {\n return result + 'mánuður';\n }\n return result + (isFuture ? 'mánuð' : 'mánuði');\n case 'y':\n return withoutSuffix || isFuture ? 'ár' : 'ári';\n case 'yy':\n if (plural(number)) {\n return result + (withoutSuffix || isFuture ? 'ár' : 'árum');\n }\n return result + (withoutSuffix || isFuture ? 'ár' : 'ári');\n }\n }\n\n var is = moment.defineLocale('is', {\n months : 'janúar_febrúar_mars_apríl_maí_júní_júlí_ágúst_september_október_nóvember_desember'.split('_'),\n monthsShort : 'jan_feb_mar_apr_maí_jún_júl_ágú_sep_okt_nóv_des'.split('_'),\n weekdays : 'sunnudagur_mánudagur_þriðjudagur_miðvikudagur_fimmtudagur_föstudagur_laugardagur'.split('_'),\n weekdaysShort : 'sun_mán_þri_mið_fim_fös_lau'.split('_'),\n weekdaysMin : 'Su_Má_Þr_Mi_Fi_Fö_La'.split('_'),\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY [kl.] H:mm',\n LLLL : 'dddd, D. MMMM YYYY [kl.] H:mm'\n },\n calendar : {\n sameDay : '[í dag kl.] LT',\n nextDay : '[á morgun kl.] LT',\n nextWeek : 'dddd [kl.] LT',\n lastDay : '[í gær kl.] LT',\n lastWeek : '[síðasta] dddd [kl.] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'eftir %s',\n past : 'fyrir %s síðan',\n s : translate,\n ss : translate,\n m : translate,\n mm : translate,\n h : 'klukkustund',\n hh : translate,\n d : translate,\n dd : translate,\n M : translate,\n MM : translate,\n y : translate,\n yy : translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return is;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var id = moment.defineLocale('id', {\n months : 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember'.split('_'),\n monthsShort : 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Agt_Sep_Okt_Nov_Des'.split('_'),\n weekdays : 'Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu'.split('_'),\n weekdaysShort : 'Min_Sen_Sel_Rab_Kam_Jum_Sab'.split('_'),\n weekdaysMin : 'Mg_Sn_Sl_Rb_Km_Jm_Sb'.split('_'),\n longDateFormat : {\n LT : 'HH.mm',\n LTS : 'HH.mm.ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY [pukul] HH.mm',\n LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm'\n },\n meridiemParse: /pagi|siang|sore|malam/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'pagi') {\n return hour;\n } else if (meridiem === 'siang') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'sore' || meridiem === 'malam') {\n return hour + 12;\n }\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'pagi';\n } else if (hours < 15) {\n return 'siang';\n } else if (hours < 19) {\n return 'sore';\n } else {\n return 'malam';\n }\n },\n calendar : {\n sameDay : '[Hari ini pukul] LT',\n nextDay : '[Besok pukul] LT',\n nextWeek : 'dddd [pukul] LT',\n lastDay : '[Kemarin pukul] LT',\n lastWeek : 'dddd [lalu pukul] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'dalam %s',\n past : '%s yang lalu',\n s : 'beberapa detik',\n ss : '%d detik',\n m : 'semenit',\n mm : '%d menit',\n h : 'sejam',\n hh : '%d jam',\n d : 'sehari',\n dd : '%d hari',\n M : 'sebulan',\n MM : '%d bulan',\n y : 'setahun',\n yy : '%d tahun'\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return id;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var hyAm = moment.defineLocale('hy-am', {\n months : {\n format: 'հունվարի_փետրվարի_մարտի_ապրիլի_մայիսի_հունիսի_հուլիսի_օգոստոսի_սեպտեմբերի_հոկտեմբերի_նոյեմբերի_դեկտեմբերի'.split('_'),\n standalone: 'հունվար_փետրվար_մարտ_ապրիլ_մայիս_հունիս_հուլիս_օգոստոս_սեպտեմբեր_հոկտեմբեր_նոյեմբեր_դեկտեմբեր'.split('_')\n },\n monthsShort : 'հնվ_փտր_մրտ_ապր_մյս_հնս_հլս_օգս_սպտ_հկտ_նմբ_դկտ'.split('_'),\n weekdays : 'կիրակի_երկուշաբթի_երեքշաբթի_չորեքշաբթի_հինգշաբթի_ուրբաթ_շաբաթ'.split('_'),\n weekdaysShort : 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'),\n weekdaysMin : 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY թ.',\n LLL : 'D MMMM YYYY թ., HH:mm',\n LLLL : 'dddd, D MMMM YYYY թ., HH:mm'\n },\n calendar : {\n sameDay: '[այսօր] LT',\n nextDay: '[վաղը] LT',\n lastDay: '[երեկ] LT',\n nextWeek: function () {\n return 'dddd [օրը ժամը] LT';\n },\n lastWeek: function () {\n return '[անցած] dddd [օրը ժամը] LT';\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : '%s հետո',\n past : '%s առաջ',\n s : 'մի քանի վայրկյան',\n ss : '%d վայրկյան',\n m : 'րոպե',\n mm : '%d րոպե',\n h : 'ժամ',\n hh : '%d ժամ',\n d : 'օր',\n dd : '%d օր',\n M : 'ամիս',\n MM : '%d ամիս',\n y : 'տարի',\n yy : '%d տարի'\n },\n meridiemParse: /գիշերվա|առավոտվա|ցերեկվա|երեկոյան/,\n isPM: function (input) {\n return /^(ցերեկվա|երեկոյան)$/.test(input);\n },\n meridiem : function (hour) {\n if (hour < 4) {\n return 'գիշերվա';\n } else if (hour < 12) {\n return 'առավոտվա';\n } else if (hour < 17) {\n return 'ցերեկվա';\n } else {\n return 'երեկոյան';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}|\\d{1,2}-(ին|րդ)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'DDD':\n case 'w':\n case 'W':\n case 'DDDo':\n if (number === 1) {\n return number + '-ին';\n }\n return number + '-րդ';\n default:\n return number;\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return hyAm;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var weekEndings = 'vasárnap hétfőn kedden szerdán csütörtökön pénteken szombaton'.split(' ');\n function translate(number, withoutSuffix, key, isFuture) {\n var num = number;\n switch (key) {\n case 's':\n return (isFuture || withoutSuffix) ? 'néhány másodperc' : 'néhány másodperce';\n case 'ss':\n return num + (isFuture || withoutSuffix) ? ' másodperc' : ' másodperce';\n case 'm':\n return 'egy' + (isFuture || withoutSuffix ? ' perc' : ' perce');\n case 'mm':\n return num + (isFuture || withoutSuffix ? ' perc' : ' perce');\n case 'h':\n return 'egy' + (isFuture || withoutSuffix ? ' óra' : ' órája');\n case 'hh':\n return num + (isFuture || withoutSuffix ? ' óra' : ' órája');\n case 'd':\n return 'egy' + (isFuture || withoutSuffix ? ' nap' : ' napja');\n case 'dd':\n return num + (isFuture || withoutSuffix ? ' nap' : ' napja');\n case 'M':\n return 'egy' + (isFuture || withoutSuffix ? ' hónap' : ' hónapja');\n case 'MM':\n return num + (isFuture || withoutSuffix ? ' hónap' : ' hónapja');\n case 'y':\n return 'egy' + (isFuture || withoutSuffix ? ' év' : ' éve');\n case 'yy':\n return num + (isFuture || withoutSuffix ? ' év' : ' éve');\n }\n return '';\n }\n function week(isFuture) {\n return (isFuture ? '' : '[múlt] ') + '[' + weekEndings[this.day()] + '] LT[-kor]';\n }\n\n var hu = moment.defineLocale('hu', {\n months : 'január_február_március_április_május_június_július_augusztus_szeptember_október_november_december'.split('_'),\n monthsShort : 'jan_feb_márc_ápr_máj_jún_júl_aug_szept_okt_nov_dec'.split('_'),\n weekdays : 'vasárnap_hétfő_kedd_szerda_csütörtök_péntek_szombat'.split('_'),\n weekdaysShort : 'vas_hét_kedd_sze_csüt_pén_szo'.split('_'),\n weekdaysMin : 'v_h_k_sze_cs_p_szo'.split('_'),\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'YYYY.MM.DD.',\n LL : 'YYYY. MMMM D.',\n LLL : 'YYYY. MMMM D. H:mm',\n LLLL : 'YYYY. MMMM D., dddd H:mm'\n },\n meridiemParse: /de|du/i,\n isPM: function (input) {\n return input.charAt(1).toLowerCase() === 'u';\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours < 12) {\n return isLower === true ? 'de' : 'DE';\n } else {\n return isLower === true ? 'du' : 'DU';\n }\n },\n calendar : {\n sameDay : '[ma] LT[-kor]',\n nextDay : '[holnap] LT[-kor]',\n nextWeek : function () {\n return week.call(this, true);\n },\n lastDay : '[tegnap] LT[-kor]',\n lastWeek : function () {\n return week.call(this, false);\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s múlva',\n past : '%s',\n s : translate,\n ss : translate,\n m : translate,\n mm : translate,\n h : translate,\n hh : translate,\n d : translate,\n dd : translate,\n M : translate,\n MM : translate,\n y : translate,\n yy : translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return hu;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function translate(number, withoutSuffix, key) {\n var result = number + ' ';\n switch (key) {\n case 'ss':\n if (number === 1) {\n result += 'sekunda';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sekunde';\n } else {\n result += 'sekundi';\n }\n return result;\n case 'm':\n return withoutSuffix ? 'jedna minuta' : 'jedne minute';\n case 'mm':\n if (number === 1) {\n result += 'minuta';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'minute';\n } else {\n result += 'minuta';\n }\n return result;\n case 'h':\n return withoutSuffix ? 'jedan sat' : 'jednog sata';\n case 'hh':\n if (number === 1) {\n result += 'sat';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sata';\n } else {\n result += 'sati';\n }\n return result;\n case 'dd':\n if (number === 1) {\n result += 'dan';\n } else {\n result += 'dana';\n }\n return result;\n case 'MM':\n if (number === 1) {\n result += 'mjesec';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'mjeseca';\n } else {\n result += 'mjeseci';\n }\n return result;\n case 'yy':\n if (number === 1) {\n result += 'godina';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'godine';\n } else {\n result += 'godina';\n }\n return result;\n }\n }\n\n var hr = moment.defineLocale('hr', {\n months : {\n format: 'siječnja_veljače_ožujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca'.split('_'),\n standalone: 'siječanj_veljača_ožujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac'.split('_')\n },\n monthsShort : 'sij._velj._ožu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.'.split('_'),\n monthsParseExact: true,\n weekdays : 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split('_'),\n weekdaysShort : 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n weekdaysMin : 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY H:mm',\n LLLL : 'dddd, D. MMMM YYYY H:mm'\n },\n calendar : {\n sameDay : '[danas u] LT',\n nextDay : '[sutra u] LT',\n nextWeek : function () {\n switch (this.day()) {\n case 0:\n return '[u] [nedjelju] [u] LT';\n case 3:\n return '[u] [srijedu] [u] LT';\n case 6:\n return '[u] [subotu] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay : '[jučer u] LT',\n lastWeek : function () {\n switch (this.day()) {\n case 0:\n case 3:\n return '[prošlu] dddd [u] LT';\n case 6:\n return '[prošle] [subote] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[prošli] dddd [u] LT';\n }\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'za %s',\n past : 'prije %s',\n s : 'par sekundi',\n ss : translate,\n m : translate,\n mm : translate,\n h : translate,\n hh : translate,\n d : 'dan',\n dd : translate,\n M : 'mjesec',\n MM : translate,\n y : 'godinu',\n yy : translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return hr;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '१',\n '2': '२',\n '3': '३',\n '4': '४',\n '5': '५',\n '6': '६',\n '7': '७',\n '8': '८',\n '9': '९',\n '0': '०'\n },\n numberMap = {\n '१': '1',\n '२': '2',\n '३': '3',\n '४': '4',\n '५': '5',\n '६': '6',\n '७': '7',\n '८': '8',\n '९': '9',\n '०': '0'\n };\n\n var hi = moment.defineLocale('hi', {\n months : 'जनवरी_फ़रवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितम्बर_अक्टूबर_नवम्बर_दिसम्बर'.split('_'),\n monthsShort : 'जन._फ़र._मार्च_अप्रै._मई_जून_जुल._अग._सित._अक्टू._नव._दिस.'.split('_'),\n monthsParseExact: true,\n weekdays : 'रविवार_सोमवार_मंगलवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'),\n weekdaysShort : 'रवि_सोम_मंगल_बुध_गुरू_शुक्र_शनि'.split('_'),\n weekdaysMin : 'र_सो_मं_बु_गु_शु_श'.split('_'),\n longDateFormat : {\n LT : 'A h:mm बजे',\n LTS : 'A h:mm:ss बजे',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, A h:mm बजे',\n LLLL : 'dddd, D MMMM YYYY, A h:mm बजे'\n },\n calendar : {\n sameDay : '[आज] LT',\n nextDay : '[कल] LT',\n nextWeek : 'dddd, LT',\n lastDay : '[कल] LT',\n lastWeek : '[पिछले] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s में',\n past : '%s पहले',\n s : 'कुछ ही क्षण',\n ss : '%d सेकंड',\n m : 'एक मिनट',\n mm : '%d मिनट',\n h : 'एक घंटा',\n hh : '%d घंटे',\n d : 'एक दिन',\n dd : '%d दिन',\n M : 'एक महीने',\n MM : '%d महीने',\n y : 'एक वर्ष',\n yy : '%d वर्ष'\n },\n preparse: function (string) {\n return string.replace(/[१२३४५६७८९०]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n // Hindi notation for meridiems are quite fuzzy in practice. While there exists\n // a rigid notion of a 'Pahar' it is not used as rigidly in modern Hindi.\n meridiemParse: /रात|सुबह|दोपहर|शाम/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'रात') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'सुबह') {\n return hour;\n } else if (meridiem === 'दोपहर') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'शाम') {\n return hour + 12;\n }\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'रात';\n } else if (hour < 10) {\n return 'सुबह';\n } else if (hour < 17) {\n return 'दोपहर';\n } else if (hour < 20) {\n return 'शाम';\n } else {\n return 'रात';\n }\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return hi;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var he = moment.defineLocale('he', {\n months : 'ינואר_פברואר_מרץ_אפריל_מאי_יוני_יולי_אוגוסט_ספטמבר_אוקטובר_נובמבר_דצמבר'.split('_'),\n monthsShort : 'ינו׳_פבר׳_מרץ_אפר׳_מאי_יוני_יולי_אוג׳_ספט׳_אוק׳_נוב׳_דצמ׳'.split('_'),\n weekdays : 'ראשון_שני_שלישי_רביעי_חמישי_שישי_שבת'.split('_'),\n weekdaysShort : 'א׳_ב׳_ג׳_ד׳_ה׳_ו׳_ש׳'.split('_'),\n weekdaysMin : 'א_ב_ג_ד_ה_ו_ש'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D [ב]MMMM YYYY',\n LLL : 'D [ב]MMMM YYYY HH:mm',\n LLLL : 'dddd, D [ב]MMMM YYYY HH:mm',\n l : 'D/M/YYYY',\n ll : 'D MMM YYYY',\n lll : 'D MMM YYYY HH:mm',\n llll : 'ddd, D MMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[היום ב־]LT',\n nextDay : '[מחר ב־]LT',\n nextWeek : 'dddd [בשעה] LT',\n lastDay : '[אתמול ב־]LT',\n lastWeek : '[ביום] dddd [האחרון בשעה] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'בעוד %s',\n past : 'לפני %s',\n s : 'מספר שניות',\n ss : '%d שניות',\n m : 'דקה',\n mm : '%d דקות',\n h : 'שעה',\n hh : function (number) {\n if (number === 2) {\n return 'שעתיים';\n }\n return number + ' שעות';\n },\n d : 'יום',\n dd : function (number) {\n if (number === 2) {\n return 'יומיים';\n }\n return number + ' ימים';\n },\n M : 'חודש',\n MM : function (number) {\n if (number === 2) {\n return 'חודשיים';\n }\n return number + ' חודשים';\n },\n y : 'שנה',\n yy : function (number) {\n if (number === 2) {\n return 'שנתיים';\n } else if (number % 10 === 0 && number !== 10) {\n return number + ' שנה';\n }\n return number + ' שנים';\n }\n },\n meridiemParse: /אחה\"צ|לפנה\"צ|אחרי הצהריים|לפני הצהריים|לפנות בוקר|בבוקר|בערב/i,\n isPM : function (input) {\n return /^(אחה\"צ|אחרי הצהריים|בערב)$/.test(input);\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 5) {\n return 'לפנות בוקר';\n } else if (hour < 10) {\n return 'בבוקר';\n } else if (hour < 12) {\n return isLower ? 'לפנה\"צ' : 'לפני הצהריים';\n } else if (hour < 18) {\n return isLower ? 'אחה\"צ' : 'אחרי הצהריים';\n } else {\n return 'בערב';\n }\n }\n });\n\n return he;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '૧',\n '2': '૨',\n '3': '૩',\n '4': '૪',\n '5': '૫',\n '6': '૬',\n '7': '૭',\n '8': '૮',\n '9': '૯',\n '0': '૦'\n },\n numberMap = {\n '૧': '1',\n '૨': '2',\n '૩': '3',\n '૪': '4',\n '૫': '5',\n '૬': '6',\n '૭': '7',\n '૮': '8',\n '૯': '9',\n '૦': '0'\n };\n\n var gu = moment.defineLocale('gu', {\n months: 'જાન્યુઆરી_ફેબ્રુઆરી_માર્ચ_એપ્રિલ_મે_જૂન_જુલાઈ_ઑગસ્ટ_સપ્ટેમ્બર_ઑક્ટ્બર_નવેમ્બર_ડિસેમ્બર'.split('_'),\n monthsShort: 'જાન્યુ._ફેબ્રુ._માર્ચ_એપ્રિ._મે_જૂન_જુલા._ઑગ._સપ્ટે._ઑક્ટ્._નવે._ડિસે.'.split('_'),\n monthsParseExact: true,\n weekdays: 'રવિવાર_સોમવાર_મંગળવાર_બુધ્વાર_ગુરુવાર_શુક્રવાર_શનિવાર'.split('_'),\n weekdaysShort: 'રવિ_સોમ_મંગળ_બુધ્_ગુરુ_શુક્ર_શનિ'.split('_'),\n weekdaysMin: 'ર_સો_મં_બુ_ગુ_શુ_શ'.split('_'),\n longDateFormat: {\n LT: 'A h:mm વાગ્યે',\n LTS: 'A h:mm:ss વાગ્યે',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm વાગ્યે',\n LLLL: 'dddd, D MMMM YYYY, A h:mm વાગ્યે'\n },\n calendar: {\n sameDay: '[આજ] LT',\n nextDay: '[કાલે] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[ગઇકાલે] LT',\n lastWeek: '[પાછલા] dddd, LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s મા',\n past: '%s પેહલા',\n s: 'અમુક પળો',\n ss: '%d સેકંડ',\n m: 'એક મિનિટ',\n mm: '%d મિનિટ',\n h: 'એક કલાક',\n hh: '%d કલાક',\n d: 'એક દિવસ',\n dd: '%d દિવસ',\n M: 'એક મહિનો',\n MM: '%d મહિનો',\n y: 'એક વર્ષ',\n yy: '%d વર્ષ'\n },\n preparse: function (string) {\n return string.replace(/[૧૨૩૪૫૬૭૮૯૦]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n // Gujarati notation for meridiems are quite fuzzy in practice. While there exists\n // a rigid notion of a 'Pahar' it is not used as rigidly in modern Gujarati.\n meridiemParse: /રાત|બપોર|સવાર|સાંજ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'રાત') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'સવાર') {\n return hour;\n } else if (meridiem === 'બપોર') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'સાંજ') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'રાત';\n } else if (hour < 10) {\n return 'સવાર';\n } else if (hour < 17) {\n return 'બપોર';\n } else if (hour < 20) {\n return 'સાંજ';\n } else {\n return 'રાત';\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return gu;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n 's': ['thodde secondanim', 'thodde second'],\n 'ss': [number + ' secondanim', number + ' second'],\n 'm': ['eka mintan', 'ek minute'],\n 'mm': [number + ' mintanim', number + ' mintam'],\n 'h': ['eka horan', 'ek hor'],\n 'hh': [number + ' horanim', number + ' horam'],\n 'd': ['eka disan', 'ek dis'],\n 'dd': [number + ' disanim', number + ' dis'],\n 'M': ['eka mhoinean', 'ek mhoino'],\n 'MM': [number + ' mhoineanim', number + ' mhoine'],\n 'y': ['eka vorsan', 'ek voros'],\n 'yy': [number + ' vorsanim', number + ' vorsam']\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n\n var gomLatn = moment.defineLocale('gom-latn', {\n months : 'Janer_Febrer_Mars_Abril_Mai_Jun_Julai_Agost_Setembr_Otubr_Novembr_Dezembr'.split('_'),\n monthsShort : 'Jan._Feb._Mars_Abr._Mai_Jun_Jul._Ago._Set._Otu._Nov._Dez.'.split('_'),\n monthsParseExact : true,\n weekdays : 'Aitar_Somar_Mongllar_Budvar_Brestar_Sukrar_Son\\'var'.split('_'),\n weekdaysShort : 'Ait._Som._Mon._Bud._Bre._Suk._Son.'.split('_'),\n weekdaysMin : 'Ai_Sm_Mo_Bu_Br_Su_Sn'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'A h:mm [vazta]',\n LTS : 'A h:mm:ss [vazta]',\n L : 'DD-MM-YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY A h:mm [vazta]',\n LLLL : 'dddd, MMMM[achea] Do, YYYY, A h:mm [vazta]',\n llll: 'ddd, D MMM YYYY, A h:mm [vazta]'\n },\n calendar : {\n sameDay: '[Aiz] LT',\n nextDay: '[Faleam] LT',\n nextWeek: '[Ieta to] dddd[,] LT',\n lastDay: '[Kal] LT',\n lastWeek: '[Fatlo] dddd[,] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : '%s',\n past : '%s adim',\n s : processRelativeTime,\n ss : processRelativeTime,\n m : processRelativeTime,\n mm : processRelativeTime,\n h : processRelativeTime,\n hh : processRelativeTime,\n d : processRelativeTime,\n dd : processRelativeTime,\n M : processRelativeTime,\n MM : processRelativeTime,\n y : processRelativeTime,\n yy : processRelativeTime\n },\n dayOfMonthOrdinalParse : /\\d{1,2}(er)/,\n ordinal : function (number, period) {\n switch (period) {\n // the ordinal 'er' only applies to day of the month\n case 'D':\n return number + 'er';\n default:\n case 'M':\n case 'Q':\n case 'DDD':\n case 'd':\n case 'w':\n case 'W':\n return number;\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n },\n meridiemParse: /rati|sokalli|donparam|sanje/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'rati') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'sokalli') {\n return hour;\n } else if (meridiem === 'donparam') {\n return hour > 12 ? hour : hour + 12;\n } else if (meridiem === 'sanje') {\n return hour + 12;\n }\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'rati';\n } else if (hour < 12) {\n return 'sokalli';\n } else if (hour < 16) {\n return 'donparam';\n } else if (hour < 20) {\n return 'sanje';\n } else {\n return 'rati';\n }\n }\n });\n\n return gomLatn;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var gl = moment.defineLocale('gl', {\n months : 'xaneiro_febreiro_marzo_abril_maio_xuño_xullo_agosto_setembro_outubro_novembro_decembro'.split('_'),\n monthsShort : 'xan._feb._mar._abr._mai._xuñ._xul._ago._set._out._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays : 'domingo_luns_martes_mércores_xoves_venres_sábado'.split('_'),\n weekdaysShort : 'dom._lun._mar._mér._xov._ven._sáb.'.split('_'),\n weekdaysMin : 'do_lu_ma_mé_xo_ve_sá'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D [de] MMMM [de] YYYY',\n LLL : 'D [de] MMMM [de] YYYY H:mm',\n LLLL : 'dddd, D [de] MMMM [de] YYYY H:mm'\n },\n calendar : {\n sameDay : function () {\n return '[hoxe ' + ((this.hours() !== 1) ? 'ás' : 'á') + '] LT';\n },\n nextDay : function () {\n return '[mañá ' + ((this.hours() !== 1) ? 'ás' : 'á') + '] LT';\n },\n nextWeek : function () {\n return 'dddd [' + ((this.hours() !== 1) ? 'ás' : 'a') + '] LT';\n },\n lastDay : function () {\n return '[onte ' + ((this.hours() !== 1) ? 'á' : 'a') + '] LT';\n },\n lastWeek : function () {\n return '[o] dddd [pasado ' + ((this.hours() !== 1) ? 'ás' : 'a') + '] LT';\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : function (str) {\n if (str.indexOf('un') === 0) {\n return 'n' + str;\n }\n return 'en ' + str;\n },\n past : 'hai %s',\n s : 'uns segundos',\n ss : '%d segundos',\n m : 'un minuto',\n mm : '%d minutos',\n h : 'unha hora',\n hh : '%d horas',\n d : 'un día',\n dd : '%d días',\n M : 'un mes',\n MM : '%d meses',\n y : 'un ano',\n yy : '%d anos'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}º/,\n ordinal : '%dº',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return gl;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var months = [\n 'Am Faoilleach', 'An Gearran', 'Am Màrt', 'An Giblean', 'An Cèitean', 'An t-Ògmhios', 'An t-Iuchar', 'An Lùnastal', 'An t-Sultain', 'An Dàmhair', 'An t-Samhain', 'An Dùbhlachd'\n ];\n\n var monthsShort = ['Faoi', 'Gear', 'Màrt', 'Gibl', 'Cèit', 'Ògmh', 'Iuch', 'Lùn', 'Sult', 'Dàmh', 'Samh', 'Dùbh'];\n\n var weekdays = ['Didòmhnaich', 'Diluain', 'Dimàirt', 'Diciadain', 'Diardaoin', 'Dihaoine', 'Disathairne'];\n\n var weekdaysShort = ['Did', 'Dil', 'Dim', 'Dic', 'Dia', 'Dih', 'Dis'];\n\n var weekdaysMin = ['Dò', 'Lu', 'Mà', 'Ci', 'Ar', 'Ha', 'Sa'];\n\n var gd = moment.defineLocale('gd', {\n months : months,\n monthsShort : monthsShort,\n monthsParseExact : true,\n weekdays : weekdays,\n weekdaysShort : weekdaysShort,\n weekdaysMin : weekdaysMin,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[An-diugh aig] LT',\n nextDay : '[A-màireach aig] LT',\n nextWeek : 'dddd [aig] LT',\n lastDay : '[An-dè aig] LT',\n lastWeek : 'dddd [seo chaidh] [aig] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'ann an %s',\n past : 'bho chionn %s',\n s : 'beagan diogan',\n ss : '%d diogan',\n m : 'mionaid',\n mm : '%d mionaidean',\n h : 'uair',\n hh : '%d uairean',\n d : 'latha',\n dd : '%d latha',\n M : 'mìos',\n MM : '%d mìosan',\n y : 'bliadhna',\n yy : '%d bliadhna'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}(d|na|mh)/,\n ordinal : function (number) {\n var output = number === 1 ? 'd' : number % 10 === 2 ? 'na' : 'mh';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return gd;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var monthsShortWithDots = 'jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.'.split('_'),\n monthsShortWithoutDots = 'jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_');\n\n var fy = moment.defineLocale('fy', {\n months : 'jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber'.split('_'),\n monthsShort : function (m, format) {\n if (!m) {\n return monthsShortWithDots;\n } else if (/-MMM-/.test(format)) {\n return monthsShortWithoutDots[m.month()];\n } else {\n return monthsShortWithDots[m.month()];\n }\n },\n monthsParseExact : true,\n weekdays : 'snein_moandei_tiisdei_woansdei_tongersdei_freed_sneon'.split('_'),\n weekdaysShort : 'si._mo._ti._wo._to._fr._so.'.split('_'),\n weekdaysMin : 'Si_Mo_Ti_Wo_To_Fr_So'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD-MM-YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[hjoed om] LT',\n nextDay: '[moarn om] LT',\n nextWeek: 'dddd [om] LT',\n lastDay: '[juster om] LT',\n lastWeek: '[ôfrûne] dddd [om] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'oer %s',\n past : '%s lyn',\n s : 'in pear sekonden',\n ss : '%d sekonden',\n m : 'ien minút',\n mm : '%d minuten',\n h : 'ien oere',\n hh : '%d oeren',\n d : 'ien dei',\n dd : '%d dagen',\n M : 'ien moanne',\n MM : '%d moannen',\n y : 'ien jier',\n yy : '%d jierren'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n ordinal : function (number) {\n return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de');\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return fy;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var frCh = moment.defineLocale('fr-ch', {\n months : 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'),\n monthsShort : 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'),\n monthsParseExact : true,\n weekdays : 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n weekdaysShort : 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n weekdaysMin : 'di_lu_ma_me_je_ve_sa'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Aujourd’hui à] LT',\n nextDay : '[Demain à] LT',\n nextWeek : 'dddd [à] LT',\n lastDay : '[Hier à] LT',\n lastWeek : 'dddd [dernier à] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'dans %s',\n past : 'il y a %s',\n s : 'quelques secondes',\n ss : '%d secondes',\n m : 'une minute',\n mm : '%d minutes',\n h : 'une heure',\n hh : '%d heures',\n d : 'un jour',\n dd : '%d jours',\n M : 'un mois',\n MM : '%d mois',\n y : 'un an',\n yy : '%d ans'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(er|e)/,\n ordinal : function (number, period) {\n switch (period) {\n // Words with masculine grammatical gender: mois, trimestre, jour\n default:\n case 'M':\n case 'Q':\n case 'D':\n case 'DDD':\n case 'd':\n return number + (number === 1 ? 'er' : 'e');\n\n // Words with feminine grammatical gender: semaine\n case 'w':\n case 'W':\n return number + (number === 1 ? 're' : 'e');\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return frCh;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var frCa = moment.defineLocale('fr-ca', {\n months : 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'),\n monthsShort : 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'),\n monthsParseExact : true,\n weekdays : 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n weekdaysShort : 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n weekdaysMin : 'di_lu_ma_me_je_ve_sa'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY-MM-DD',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Aujourd’hui à] LT',\n nextDay : '[Demain à] LT',\n nextWeek : 'dddd [à] LT',\n lastDay : '[Hier à] LT',\n lastWeek : 'dddd [dernier à] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'dans %s',\n past : 'il y a %s',\n s : 'quelques secondes',\n ss : '%d secondes',\n m : 'une minute',\n mm : '%d minutes',\n h : 'une heure',\n hh : '%d heures',\n d : 'un jour',\n dd : '%d jours',\n M : 'un mois',\n MM : '%d mois',\n y : 'un an',\n yy : '%d ans'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(er|e)/,\n ordinal : function (number, period) {\n switch (period) {\n // Words with masculine grammatical gender: mois, trimestre, jour\n default:\n case 'M':\n case 'Q':\n case 'D':\n case 'DDD':\n case 'd':\n return number + (number === 1 ? 'er' : 'e');\n\n // Words with feminine grammatical gender: semaine\n case 'w':\n case 'W':\n return number + (number === 1 ? 're' : 'e');\n }\n }\n });\n\n return frCa;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var fr = moment.defineLocale('fr', {\n months : 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'),\n monthsShort : 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'),\n monthsParseExact : true,\n weekdays : 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n weekdaysShort : 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n weekdaysMin : 'di_lu_ma_me_je_ve_sa'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Aujourd’hui à] LT',\n nextDay : '[Demain à] LT',\n nextWeek : 'dddd [à] LT',\n lastDay : '[Hier à] LT',\n lastWeek : 'dddd [dernier à] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'dans %s',\n past : 'il y a %s',\n s : 'quelques secondes',\n ss : '%d secondes',\n m : 'une minute',\n mm : '%d minutes',\n h : 'une heure',\n hh : '%d heures',\n d : 'un jour',\n dd : '%d jours',\n M : 'un mois',\n MM : '%d mois',\n y : 'un an',\n yy : '%d ans'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(er|)/,\n ordinal : function (number, period) {\n switch (period) {\n // TODO: Return 'e' when day of month > 1. Move this case inside\n // block for masculine words below.\n // See https://github.com/moment/moment/issues/3375\n case 'D':\n return number + (number === 1 ? 'er' : '');\n\n // Words with masculine grammatical gender: mois, trimestre, jour\n default:\n case 'M':\n case 'Q':\n case 'DDD':\n case 'd':\n return number + (number === 1 ? 'er' : 'e');\n\n // Words with feminine grammatical gender: semaine\n case 'w':\n case 'W':\n return number + (number === 1 ? 're' : 'e');\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return fr;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var fo = moment.defineLocale('fo', {\n months : 'januar_februar_mars_apríl_mai_juni_juli_august_september_oktober_november_desember'.split('_'),\n monthsShort : 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'),\n weekdays : 'sunnudagur_mánadagur_týsdagur_mikudagur_hósdagur_fríggjadagur_leygardagur'.split('_'),\n weekdaysShort : 'sun_mán_týs_mik_hós_frí_ley'.split('_'),\n weekdaysMin : 'su_má_tý_mi_hó_fr_le'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D. MMMM, YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Í dag kl.] LT',\n nextDay : '[Í morgin kl.] LT',\n nextWeek : 'dddd [kl.] LT',\n lastDay : '[Í gjár kl.] LT',\n lastWeek : '[síðstu] dddd [kl] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'um %s',\n past : '%s síðani',\n s : 'fá sekund',\n ss : '%d sekundir',\n m : 'ein minutt',\n mm : '%d minuttir',\n h : 'ein tími',\n hh : '%d tímar',\n d : 'ein dagur',\n dd : '%d dagar',\n M : 'ein mánaði',\n MM : '%d mánaðir',\n y : 'eitt ár',\n yy : '%d ár'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return fo;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var numbersPast = 'nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän'.split(' '),\n numbersFuture = [\n 'nolla', 'yhden', 'kahden', 'kolmen', 'neljän', 'viiden', 'kuuden',\n numbersPast[7], numbersPast[8], numbersPast[9]\n ];\n function translate(number, withoutSuffix, key, isFuture) {\n var result = '';\n switch (key) {\n case 's':\n return isFuture ? 'muutaman sekunnin' : 'muutama sekunti';\n case 'ss':\n return isFuture ? 'sekunnin' : 'sekuntia';\n case 'm':\n return isFuture ? 'minuutin' : 'minuutti';\n case 'mm':\n result = isFuture ? 'minuutin' : 'minuuttia';\n break;\n case 'h':\n return isFuture ? 'tunnin' : 'tunti';\n case 'hh':\n result = isFuture ? 'tunnin' : 'tuntia';\n break;\n case 'd':\n return isFuture ? 'päivän' : 'päivä';\n case 'dd':\n result = isFuture ? 'päivän' : 'päivää';\n break;\n case 'M':\n return isFuture ? 'kuukauden' : 'kuukausi';\n case 'MM':\n result = isFuture ? 'kuukauden' : 'kuukautta';\n break;\n case 'y':\n return isFuture ? 'vuoden' : 'vuosi';\n case 'yy':\n result = isFuture ? 'vuoden' : 'vuotta';\n break;\n }\n result = verbalNumber(number, isFuture) + ' ' + result;\n return result;\n }\n function verbalNumber(number, isFuture) {\n return number < 10 ? (isFuture ? numbersFuture[number] : numbersPast[number]) : number;\n }\n\n var fi = moment.defineLocale('fi', {\n months : 'tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu'.split('_'),\n monthsShort : 'tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu'.split('_'),\n weekdays : 'sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai'.split('_'),\n weekdaysShort : 'su_ma_ti_ke_to_pe_la'.split('_'),\n weekdaysMin : 'su_ma_ti_ke_to_pe_la'.split('_'),\n longDateFormat : {\n LT : 'HH.mm',\n LTS : 'HH.mm.ss',\n L : 'DD.MM.YYYY',\n LL : 'Do MMMM[ta] YYYY',\n LLL : 'Do MMMM[ta] YYYY, [klo] HH.mm',\n LLLL : 'dddd, Do MMMM[ta] YYYY, [klo] HH.mm',\n l : 'D.M.YYYY',\n ll : 'Do MMM YYYY',\n lll : 'Do MMM YYYY, [klo] HH.mm',\n llll : 'ddd, Do MMM YYYY, [klo] HH.mm'\n },\n calendar : {\n sameDay : '[tänään] [klo] LT',\n nextDay : '[huomenna] [klo] LT',\n nextWeek : 'dddd [klo] LT',\n lastDay : '[eilen] [klo] LT',\n lastWeek : '[viime] dddd[na] [klo] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s päästä',\n past : '%s sitten',\n s : translate,\n ss : translate,\n m : translate,\n mm : translate,\n h : translate,\n hh : translate,\n d : translate,\n dd : translate,\n M : translate,\n MM : translate,\n y : translate,\n yy : translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return fi;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '۱',\n '2': '۲',\n '3': '۳',\n '4': '۴',\n '5': '۵',\n '6': '۶',\n '7': '۷',\n '8': '۸',\n '9': '۹',\n '0': '۰'\n }, numberMap = {\n '۱': '1',\n '۲': '2',\n '۳': '3',\n '۴': '4',\n '۵': '5',\n '۶': '6',\n '۷': '7',\n '۸': '8',\n '۹': '9',\n '۰': '0'\n };\n\n var fa = moment.defineLocale('fa', {\n months : 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split('_'),\n monthsShort : 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split('_'),\n weekdays : 'یک\\u200cشنبه_دوشنبه_سه\\u200cشنبه_چهارشنبه_پنج\\u200cشنبه_جمعه_شنبه'.split('_'),\n weekdaysShort : 'یک\\u200cشنبه_دوشنبه_سه\\u200cشنبه_چهارشنبه_پنج\\u200cشنبه_جمعه_شنبه'.split('_'),\n weekdaysMin : 'ی_د_س_چ_پ_ج_ش'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n meridiemParse: /قبل از ظهر|بعد از ظهر/,\n isPM: function (input) {\n return /بعد از ظهر/.test(input);\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'قبل از ظهر';\n } else {\n return 'بعد از ظهر';\n }\n },\n calendar : {\n sameDay : '[امروز ساعت] LT',\n nextDay : '[فردا ساعت] LT',\n nextWeek : 'dddd [ساعت] LT',\n lastDay : '[دیروز ساعت] LT',\n lastWeek : 'dddd [پیش] [ساعت] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'در %s',\n past : '%s پیش',\n s : 'چند ثانیه',\n ss : 'ثانیه d%',\n m : 'یک دقیقه',\n mm : '%d دقیقه',\n h : 'یک ساعت',\n hh : '%d ساعت',\n d : 'یک روز',\n dd : '%d روز',\n M : 'یک ماه',\n MM : '%d ماه',\n y : 'یک سال',\n yy : '%d سال'\n },\n preparse: function (string) {\n return string.replace(/[۰-۹]/g, function (match) {\n return numberMap[match];\n }).replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n }).replace(/,/g, '،');\n },\n dayOfMonthOrdinalParse: /\\d{1,2}م/,\n ordinal : '%dم',\n week : {\n dow : 6, // Saturday is the first day of the week.\n doy : 12 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return fa;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var eu = moment.defineLocale('eu', {\n months : 'urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua'.split('_'),\n monthsShort : 'urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.'.split('_'),\n monthsParseExact : true,\n weekdays : 'igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata'.split('_'),\n weekdaysShort : 'ig._al._ar._az._og._ol._lr.'.split('_'),\n weekdaysMin : 'ig_al_ar_az_og_ol_lr'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY-MM-DD',\n LL : 'YYYY[ko] MMMM[ren] D[a]',\n LLL : 'YYYY[ko] MMMM[ren] D[a] HH:mm',\n LLLL : 'dddd, YYYY[ko] MMMM[ren] D[a] HH:mm',\n l : 'YYYY-M-D',\n ll : 'YYYY[ko] MMM D[a]',\n lll : 'YYYY[ko] MMM D[a] HH:mm',\n llll : 'ddd, YYYY[ko] MMM D[a] HH:mm'\n },\n calendar : {\n sameDay : '[gaur] LT[etan]',\n nextDay : '[bihar] LT[etan]',\n nextWeek : 'dddd LT[etan]',\n lastDay : '[atzo] LT[etan]',\n lastWeek : '[aurreko] dddd LT[etan]',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s barru',\n past : 'duela %s',\n s : 'segundo batzuk',\n ss : '%d segundo',\n m : 'minutu bat',\n mm : '%d minutu',\n h : 'ordu bat',\n hh : '%d ordu',\n d : 'egun bat',\n dd : '%d egun',\n M : 'hilabete bat',\n MM : '%d hilabete',\n y : 'urte bat',\n yy : '%d urte'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return eu;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n 's' : ['mõne sekundi', 'mõni sekund', 'paar sekundit'],\n 'ss': [number + 'sekundi', number + 'sekundit'],\n 'm' : ['ühe minuti', 'üks minut'],\n 'mm': [number + ' minuti', number + ' minutit'],\n 'h' : ['ühe tunni', 'tund aega', 'üks tund'],\n 'hh': [number + ' tunni', number + ' tundi'],\n 'd' : ['ühe päeva', 'üks päev'],\n 'M' : ['kuu aja', 'kuu aega', 'üks kuu'],\n 'MM': [number + ' kuu', number + ' kuud'],\n 'y' : ['ühe aasta', 'aasta', 'üks aasta'],\n 'yy': [number + ' aasta', number + ' aastat']\n };\n if (withoutSuffix) {\n return format[key][2] ? format[key][2] : format[key][1];\n }\n return isFuture ? format[key][0] : format[key][1];\n }\n\n var et = moment.defineLocale('et', {\n months : 'jaanuar_veebruar_märts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember'.split('_'),\n monthsShort : 'jaan_veebr_märts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets'.split('_'),\n weekdays : 'pühapäev_esmaspäev_teisipäev_kolmapäev_neljapäev_reede_laupäev'.split('_'),\n weekdaysShort : 'P_E_T_K_N_R_L'.split('_'),\n weekdaysMin : 'P_E_T_K_N_R_L'.split('_'),\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY H:mm',\n LLLL : 'dddd, D. MMMM YYYY H:mm'\n },\n calendar : {\n sameDay : '[Täna,] LT',\n nextDay : '[Homme,] LT',\n nextWeek : '[Järgmine] dddd LT',\n lastDay : '[Eile,] LT',\n lastWeek : '[Eelmine] dddd LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s pärast',\n past : '%s tagasi',\n s : processRelativeTime,\n ss : processRelativeTime,\n m : processRelativeTime,\n mm : processRelativeTime,\n h : processRelativeTime,\n hh : processRelativeTime,\n d : processRelativeTime,\n dd : '%d päeva',\n M : processRelativeTime,\n MM : processRelativeTime,\n y : processRelativeTime,\n yy : processRelativeTime\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return et;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_'),\n monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_');\n\n var esUs = moment.defineLocale('es-us', {\n months : 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'),\n monthsShort : function (m, format) {\n if (!m) {\n return monthsShortDot;\n } else if (/-MMM-/.test(format)) {\n return monthsShort[m.month()];\n } else {\n return monthsShortDot[m.month()];\n }\n },\n monthsParseExact : true,\n weekdays : 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n weekdaysShort : 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n weekdaysMin : 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'h:mm A',\n LTS : 'h:mm:ss A',\n L : 'MM/DD/YYYY',\n LL : 'MMMM [de] D [de] YYYY',\n LLL : 'MMMM [de] D [de] YYYY h:mm A',\n LLLL : 'dddd, MMMM [de] D [de] YYYY h:mm A'\n },\n calendar : {\n sameDay : function () {\n return '[hoy a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n nextDay : function () {\n return '[mañana a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n nextWeek : function () {\n return 'dddd [a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n lastDay : function () {\n return '[ayer a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n lastWeek : function () {\n return '[el] dddd [pasado a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'en %s',\n past : 'hace %s',\n s : 'unos segundos',\n ss : '%d segundos',\n m : 'un minuto',\n mm : '%d minutos',\n h : 'una hora',\n hh : '%d horas',\n d : 'un día',\n dd : '%d días',\n M : 'un mes',\n MM : '%d meses',\n y : 'un año',\n yy : '%d años'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}º/,\n ordinal : '%dº',\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return esUs;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_'),\n monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_');\n\n var monthsParse = [/^ene/i, /^feb/i, /^mar/i, /^abr/i, /^may/i, /^jun/i, /^jul/i, /^ago/i, /^sep/i, /^oct/i, /^nov/i, /^dic/i];\n var monthsRegex = /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n\n var esDo = moment.defineLocale('es-do', {\n months : 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'),\n monthsShort : function (m, format) {\n if (!m) {\n return monthsShortDot;\n } else if (/-MMM-/.test(format)) {\n return monthsShort[m.month()];\n } else {\n return monthsShortDot[m.month()];\n }\n },\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n monthsShortStrictRegex: /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n weekdays : 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n weekdaysShort : 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n weekdaysMin : 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'h:mm A',\n LTS : 'h:mm:ss A',\n L : 'DD/MM/YYYY',\n LL : 'D [de] MMMM [de] YYYY',\n LLL : 'D [de] MMMM [de] YYYY h:mm A',\n LLLL : 'dddd, D [de] MMMM [de] YYYY h:mm A'\n },\n calendar : {\n sameDay : function () {\n return '[hoy a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n nextDay : function () {\n return '[mañana a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n nextWeek : function () {\n return 'dddd [a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n lastDay : function () {\n return '[ayer a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n lastWeek : function () {\n return '[el] dddd [pasado a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'en %s',\n past : 'hace %s',\n s : 'unos segundos',\n ss : '%d segundos',\n m : 'un minuto',\n mm : '%d minutos',\n h : 'una hora',\n hh : '%d horas',\n d : 'un día',\n dd : '%d días',\n M : 'un mes',\n MM : '%d meses',\n y : 'un año',\n yy : '%d años'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}º/,\n ordinal : '%dº',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return esDo;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_'),\n monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_');\n\n var monthsParse = [/^ene/i, /^feb/i, /^mar/i, /^abr/i, /^may/i, /^jun/i, /^jul/i, /^ago/i, /^sep/i, /^oct/i, /^nov/i, /^dic/i];\n var monthsRegex = /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n\n var es = moment.defineLocale('es', {\n months : 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'),\n monthsShort : function (m, format) {\n if (!m) {\n return monthsShortDot;\n } else if (/-MMM-/.test(format)) {\n return monthsShort[m.month()];\n } else {\n return monthsShortDot[m.month()];\n }\n },\n monthsRegex : monthsRegex,\n monthsShortRegex : monthsRegex,\n monthsStrictRegex : /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n monthsShortStrictRegex : /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n monthsParse : monthsParse,\n longMonthsParse : monthsParse,\n shortMonthsParse : monthsParse,\n weekdays : 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n weekdaysShort : 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n weekdaysMin : 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D [de] MMMM [de] YYYY',\n LLL : 'D [de] MMMM [de] YYYY H:mm',\n LLLL : 'dddd, D [de] MMMM [de] YYYY H:mm'\n },\n calendar : {\n sameDay : function () {\n return '[hoy a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n nextDay : function () {\n return '[mañana a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n nextWeek : function () {\n return 'dddd [a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n lastDay : function () {\n return '[ayer a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n lastWeek : function () {\n return '[el] dddd [pasado a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'en %s',\n past : 'hace %s',\n s : 'unos segundos',\n ss : '%d segundos',\n m : 'un minuto',\n mm : '%d minutos',\n h : 'una hora',\n hh : '%d horas',\n d : 'un día',\n dd : '%d días',\n M : 'un mes',\n MM : '%d meses',\n y : 'un año',\n yy : '%d años'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}º/,\n ordinal : '%dº',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return es;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var eo = moment.defineLocale('eo', {\n months : 'januaro_februaro_marto_aprilo_majo_junio_julio_aŭgusto_septembro_oktobro_novembro_decembro'.split('_'),\n monthsShort : 'jan_feb_mar_apr_maj_jun_jul_aŭg_sep_okt_nov_dec'.split('_'),\n weekdays : 'dimanĉo_lundo_mardo_merkredo_ĵaŭdo_vendredo_sabato'.split('_'),\n weekdaysShort : 'dim_lun_mard_merk_ĵaŭ_ven_sab'.split('_'),\n weekdaysMin : 'di_lu_ma_me_ĵa_ve_sa'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY-MM-DD',\n LL : 'D[-a de] MMMM, YYYY',\n LLL : 'D[-a de] MMMM, YYYY HH:mm',\n LLLL : 'dddd, [la] D[-a de] MMMM, YYYY HH:mm'\n },\n meridiemParse: /[ap]\\.t\\.m/i,\n isPM: function (input) {\n return input.charAt(0).toLowerCase() === 'p';\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'p.t.m.' : 'P.T.M.';\n } else {\n return isLower ? 'a.t.m.' : 'A.T.M.';\n }\n },\n calendar : {\n sameDay : '[Hodiaŭ je] LT',\n nextDay : '[Morgaŭ je] LT',\n nextWeek : 'dddd [je] LT',\n lastDay : '[Hieraŭ je] LT',\n lastWeek : '[pasinta] dddd [je] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'post %s',\n past : 'antaŭ %s',\n s : 'sekundoj',\n ss : '%d sekundoj',\n m : 'minuto',\n mm : '%d minutoj',\n h : 'horo',\n hh : '%d horoj',\n d : 'tago',//ne 'diurno', ĉar estas uzita por proksimumo\n dd : '%d tagoj',\n M : 'monato',\n MM : '%d monatoj',\n y : 'jaro',\n yy : '%d jaroj'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}a/,\n ordinal : '%da',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return eo;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var enNz = moment.defineLocale('en-nz', {\n months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat : {\n LT : 'h:mm A',\n LTS : 'h:mm:ss A',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY h:mm A',\n LLLL : 'dddd, D MMMM YYYY h:mm A'\n },\n calendar : {\n sameDay : '[Today at] LT',\n nextDay : '[Tomorrow at] LT',\n nextWeek : 'dddd [at] LT',\n lastDay : '[Yesterday at] LT',\n lastWeek : '[Last] dddd [at] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'in %s',\n past : '%s ago',\n s : 'a few seconds',\n ss : '%d seconds',\n m : 'a minute',\n mm : '%d minutes',\n h : 'an hour',\n hh : '%d hours',\n d : 'a day',\n dd : '%d days',\n M : 'a month',\n MM : '%d months',\n y : 'a year',\n yy : '%d years'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return enNz;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var enIl = moment.defineLocale('en-il', {\n months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Today at] LT',\n nextDay : '[Tomorrow at] LT',\n nextWeek : 'dddd [at] LT',\n lastDay : '[Yesterday at] LT',\n lastWeek : '[Last] dddd [at] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'in %s',\n past : '%s ago',\n s : 'a few seconds',\n m : 'a minute',\n mm : '%d minutes',\n h : 'an hour',\n hh : '%d hours',\n d : 'a day',\n dd : '%d days',\n M : 'a month',\n MM : '%d months',\n y : 'a year',\n yy : '%d years'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n }\n });\n\n return enIl;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var enIe = moment.defineLocale('en-ie', {\n months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD-MM-YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Today at] LT',\n nextDay : '[Tomorrow at] LT',\n nextWeek : 'dddd [at] LT',\n lastDay : '[Yesterday at] LT',\n lastWeek : '[Last] dddd [at] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'in %s',\n past : '%s ago',\n s : 'a few seconds',\n ss : '%d seconds',\n m : 'a minute',\n mm : '%d minutes',\n h : 'an hour',\n hh : '%d hours',\n d : 'a day',\n dd : '%d days',\n M : 'a month',\n MM : '%d months',\n y : 'a year',\n yy : '%d years'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return enIe;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var enGb = moment.defineLocale('en-gb', {\n months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Today at] LT',\n nextDay : '[Tomorrow at] LT',\n nextWeek : 'dddd [at] LT',\n lastDay : '[Yesterday at] LT',\n lastWeek : '[Last] dddd [at] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'in %s',\n past : '%s ago',\n s : 'a few seconds',\n ss : '%d seconds',\n m : 'a minute',\n mm : '%d minutes',\n h : 'an hour',\n hh : '%d hours',\n d : 'a day',\n dd : '%d days',\n M : 'a month',\n MM : '%d months',\n y : 'a year',\n yy : '%d years'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return enGb;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var enCa = moment.defineLocale('en-ca', {\n months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat : {\n LT : 'h:mm A',\n LTS : 'h:mm:ss A',\n L : 'YYYY-MM-DD',\n LL : 'MMMM D, YYYY',\n LLL : 'MMMM D, YYYY h:mm A',\n LLLL : 'dddd, MMMM D, YYYY h:mm A'\n },\n calendar : {\n sameDay : '[Today at] LT',\n nextDay : '[Tomorrow at] LT',\n nextWeek : 'dddd [at] LT',\n lastDay : '[Yesterday at] LT',\n lastWeek : '[Last] dddd [at] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'in %s',\n past : '%s ago',\n s : 'a few seconds',\n ss : '%d seconds',\n m : 'a minute',\n mm : '%d minutes',\n h : 'an hour',\n hh : '%d hours',\n d : 'a day',\n dd : '%d days',\n M : 'a month',\n MM : '%d months',\n y : 'a year',\n yy : '%d years'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n }\n });\n\n return enCa;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var enAu = moment.defineLocale('en-au', {\n months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat : {\n LT : 'h:mm A',\n LTS : 'h:mm:ss A',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY h:mm A',\n LLLL : 'dddd, D MMMM YYYY h:mm A'\n },\n calendar : {\n sameDay : '[Today at] LT',\n nextDay : '[Tomorrow at] LT',\n nextWeek : 'dddd [at] LT',\n lastDay : '[Yesterday at] LT',\n lastWeek : '[Last] dddd [at] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'in %s',\n past : '%s ago',\n s : 'a few seconds',\n ss : '%d seconds',\n m : 'a minute',\n mm : '%d minutes',\n h : 'an hour',\n hh : '%d hours',\n d : 'a day',\n dd : '%d days',\n M : 'a month',\n MM : '%d months',\n y : 'a year',\n yy : '%d years'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return enAu;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n function isFunction(input) {\n return input instanceof Function || Object.prototype.toString.call(input) === '[object Function]';\n }\n\n\n var el = moment.defineLocale('el', {\n monthsNominativeEl : 'Ιανουάριος_Φεβρουάριος_Μάρτιος_Απρίλιος_Μάιος_Ιούνιος_Ιούλιος_Αύγουστος_Σεπτέμβριος_Οκτώβριος_Νοέμβριος_Δεκέμβριος'.split('_'),\n monthsGenitiveEl : 'Ιανουαρίου_Φεβρουαρίου_Μαρτίου_Απριλίου_Μαΐου_Ιουνίου_Ιουλίου_Αυγούστου_Σεπτεμβρίου_Οκτωβρίου_Νοεμβρίου_Δεκεμβρίου'.split('_'),\n months : function (momentToFormat, format) {\n if (!momentToFormat) {\n return this._monthsNominativeEl;\n } else if (typeof format === 'string' && /D/.test(format.substring(0, format.indexOf('MMMM')))) { // if there is a day number before 'MMMM'\n return this._monthsGenitiveEl[momentToFormat.month()];\n } else {\n return this._monthsNominativeEl[momentToFormat.month()];\n }\n },\n monthsShort : 'Ιαν_Φεβ_Μαρ_Απρ_Μαϊ_Ιουν_Ιουλ_Αυγ_Σεπ_Οκτ_Νοε_Δεκ'.split('_'),\n weekdays : 'Κυριακή_Δευτέρα_Τρίτη_Τετάρτη_Πέμπτη_Παρασκευή_Σάββατο'.split('_'),\n weekdaysShort : 'Κυρ_Δευ_Τρι_Τετ_Πεμ_Παρ_Σαβ'.split('_'),\n weekdaysMin : 'Κυ_Δε_Τρ_Τε_Πε_Πα_Σα'.split('_'),\n meridiem : function (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'μμ' : 'ΜΜ';\n } else {\n return isLower ? 'πμ' : 'ΠΜ';\n }\n },\n isPM : function (input) {\n return ((input + '').toLowerCase()[0] === 'μ');\n },\n meridiemParse : /[ΠΜ]\\.?Μ?\\.?/i,\n longDateFormat : {\n LT : 'h:mm A',\n LTS : 'h:mm:ss A',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY h:mm A',\n LLLL : 'dddd, D MMMM YYYY h:mm A'\n },\n calendarEl : {\n sameDay : '[Σήμερα {}] LT',\n nextDay : '[Αύριο {}] LT',\n nextWeek : 'dddd [{}] LT',\n lastDay : '[Χθες {}] LT',\n lastWeek : function () {\n switch (this.day()) {\n case 6:\n return '[το προηγούμενο] dddd [{}] LT';\n default:\n return '[την προηγούμενη] dddd [{}] LT';\n }\n },\n sameElse : 'L'\n },\n calendar : function (key, mom) {\n var output = this._calendarEl[key],\n hours = mom && mom.hours();\n if (isFunction(output)) {\n output = output.apply(mom);\n }\n return output.replace('{}', (hours % 12 === 1 ? 'στη' : 'στις'));\n },\n relativeTime : {\n future : 'σε %s',\n past : '%s πριν',\n s : 'λίγα δευτερόλεπτα',\n ss : '%d δευτερόλεπτα',\n m : 'ένα λεπτό',\n mm : '%d λεπτά',\n h : 'μία ώρα',\n hh : '%d ώρες',\n d : 'μία μέρα',\n dd : '%d μέρες',\n M : 'ένας μήνας',\n MM : '%d μήνες',\n y : 'ένας χρόνος',\n yy : '%d χρόνια'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}η/,\n ordinal: '%dη',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4st is the first week of the year.\n }\n });\n\n return el;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var months = [\n 'ޖެނުއަރީ',\n 'ފެބްރުއަރީ',\n 'މާރިޗު',\n 'އޭޕްރީލު',\n 'މޭ',\n 'ޖޫން',\n 'ޖުލައި',\n 'އޯގަސްޓު',\n 'ސެޕްޓެމްބަރު',\n 'އޮކްޓޯބަރު',\n 'ނޮވެމްބަރު',\n 'ޑިސެމްބަރު'\n ], weekdays = [\n 'އާދިއްތަ',\n 'ހޯމަ',\n 'އަންގާރަ',\n 'ބުދަ',\n 'ބުރާސްފަތި',\n 'ހުކުރު',\n 'ހޮނިހިރު'\n ];\n\n var dv = moment.defineLocale('dv', {\n months : months,\n monthsShort : months,\n weekdays : weekdays,\n weekdaysShort : weekdays,\n weekdaysMin : 'އާދި_ހޯމަ_އަން_ބުދަ_ބުރާ_ހުކު_ހޮނި'.split('_'),\n longDateFormat : {\n\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'D/M/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n meridiemParse: /މކ|މފ/,\n isPM : function (input) {\n return 'މފ' === input;\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'މކ';\n } else {\n return 'މފ';\n }\n },\n calendar : {\n sameDay : '[މިއަދު] LT',\n nextDay : '[މާދަމާ] LT',\n nextWeek : 'dddd LT',\n lastDay : '[އިއްޔެ] LT',\n lastWeek : '[ފާއިތުވި] dddd LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'ތެރޭގައި %s',\n past : 'ކުރިން %s',\n s : 'ސިކުންތުކޮޅެއް',\n ss : 'd% ސިކުންތު',\n m : 'މިނިޓެއް',\n mm : 'މިނިޓު %d',\n h : 'ގަޑިއިރެއް',\n hh : 'ގަޑިއިރު %d',\n d : 'ދުވަހެއް',\n dd : 'ދުވަސް %d',\n M : 'މަހެއް',\n MM : 'މަސް %d',\n y : 'އަހަރެއް',\n yy : 'އަހަރު %d'\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/,/g, '،');\n },\n week : {\n dow : 7, // Sunday is the first day of the week.\n doy : 12 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return dv;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n 'm': ['eine Minute', 'einer Minute'],\n 'h': ['eine Stunde', 'einer Stunde'],\n 'd': ['ein Tag', 'einem Tag'],\n 'dd': [number + ' Tage', number + ' Tagen'],\n 'M': ['ein Monat', 'einem Monat'],\n 'MM': [number + ' Monate', number + ' Monaten'],\n 'y': ['ein Jahr', 'einem Jahr'],\n 'yy': [number + ' Jahre', number + ' Jahren']\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n\n var deCh = moment.defineLocale('de-ch', {\n months : 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),\n monthsShort : 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),\n monthsParseExact : true,\n weekdays : 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'),\n weekdaysShort : 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n weekdaysMin : 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY HH:mm',\n LLLL : 'dddd, D. MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[heute um] LT [Uhr]',\n sameElse: 'L',\n nextDay: '[morgen um] LT [Uhr]',\n nextWeek: 'dddd [um] LT [Uhr]',\n lastDay: '[gestern um] LT [Uhr]',\n lastWeek: '[letzten] dddd [um] LT [Uhr]'\n },\n relativeTime : {\n future : 'in %s',\n past : 'vor %s',\n s : 'ein paar Sekunden',\n ss : '%d Sekunden',\n m : processRelativeTime,\n mm : '%d Minuten',\n h : processRelativeTime,\n hh : '%d Stunden',\n d : processRelativeTime,\n dd : processRelativeTime,\n M : processRelativeTime,\n MM : processRelativeTime,\n y : processRelativeTime,\n yy : processRelativeTime\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return deCh;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n 'm': ['eine Minute', 'einer Minute'],\n 'h': ['eine Stunde', 'einer Stunde'],\n 'd': ['ein Tag', 'einem Tag'],\n 'dd': [number + ' Tage', number + ' Tagen'],\n 'M': ['ein Monat', 'einem Monat'],\n 'MM': [number + ' Monate', number + ' Monaten'],\n 'y': ['ein Jahr', 'einem Jahr'],\n 'yy': [number + ' Jahre', number + ' Jahren']\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n\n var deAt = moment.defineLocale('de-at', {\n months : 'Jänner_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),\n monthsShort : 'Jän._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),\n monthsParseExact : true,\n weekdays : 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'),\n weekdaysShort : 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'),\n weekdaysMin : 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY HH:mm',\n LLLL : 'dddd, D. MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[heute um] LT [Uhr]',\n sameElse: 'L',\n nextDay: '[morgen um] LT [Uhr]',\n nextWeek: 'dddd [um] LT [Uhr]',\n lastDay: '[gestern um] LT [Uhr]',\n lastWeek: '[letzten] dddd [um] LT [Uhr]'\n },\n relativeTime : {\n future : 'in %s',\n past : 'vor %s',\n s : 'ein paar Sekunden',\n ss : '%d Sekunden',\n m : processRelativeTime,\n mm : '%d Minuten',\n h : processRelativeTime,\n hh : '%d Stunden',\n d : processRelativeTime,\n dd : processRelativeTime,\n M : processRelativeTime,\n MM : processRelativeTime,\n y : processRelativeTime,\n yy : processRelativeTime\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return deAt;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n 'm': ['eine Minute', 'einer Minute'],\n 'h': ['eine Stunde', 'einer Stunde'],\n 'd': ['ein Tag', 'einem Tag'],\n 'dd': [number + ' Tage', number + ' Tagen'],\n 'M': ['ein Monat', 'einem Monat'],\n 'MM': [number + ' Monate', number + ' Monaten'],\n 'y': ['ein Jahr', 'einem Jahr'],\n 'yy': [number + ' Jahre', number + ' Jahren']\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n\n var de = moment.defineLocale('de', {\n months : 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),\n monthsShort : 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),\n monthsParseExact : true,\n weekdays : 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'),\n weekdaysShort : 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'),\n weekdaysMin : 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY HH:mm',\n LLLL : 'dddd, D. MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[heute um] LT [Uhr]',\n sameElse: 'L',\n nextDay: '[morgen um] LT [Uhr]',\n nextWeek: 'dddd [um] LT [Uhr]',\n lastDay: '[gestern um] LT [Uhr]',\n lastWeek: '[letzten] dddd [um] LT [Uhr]'\n },\n relativeTime : {\n future : 'in %s',\n past : 'vor %s',\n s : 'ein paar Sekunden',\n ss : '%d Sekunden',\n m : processRelativeTime,\n mm : '%d Minuten',\n h : processRelativeTime,\n hh : '%d Stunden',\n d : processRelativeTime,\n dd : processRelativeTime,\n M : processRelativeTime,\n MM : processRelativeTime,\n y : processRelativeTime,\n yy : processRelativeTime\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return de;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var da = moment.defineLocale('da', {\n months : 'januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december'.split('_'),\n monthsShort : 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n weekdays : 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),\n weekdaysShort : 'søn_man_tir_ons_tor_fre_lør'.split('_'),\n weekdaysMin : 'sø_ma_ti_on_to_fr_lø'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY HH:mm',\n LLLL : 'dddd [d.] D. MMMM YYYY [kl.] HH:mm'\n },\n calendar : {\n sameDay : '[i dag kl.] LT',\n nextDay : '[i morgen kl.] LT',\n nextWeek : 'på dddd [kl.] LT',\n lastDay : '[i går kl.] LT',\n lastWeek : '[i] dddd[s kl.] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'om %s',\n past : '%s siden',\n s : 'få sekunder',\n ss : '%d sekunder',\n m : 'et minut',\n mm : '%d minutter',\n h : 'en time',\n hh : '%d timer',\n d : 'en dag',\n dd : '%d dage',\n M : 'en måned',\n MM : '%d måneder',\n y : 'et år',\n yy : '%d år'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return da;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var cy = moment.defineLocale('cy', {\n months: 'Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr'.split('_'),\n monthsShort: 'Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag'.split('_'),\n weekdays: 'Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn'.split('_'),\n weekdaysShort: 'Sul_Llun_Maw_Mer_Iau_Gwe_Sad'.split('_'),\n weekdaysMin: 'Su_Ll_Ma_Me_Ia_Gw_Sa'.split('_'),\n weekdaysParseExact : true,\n // time formats are the same as en-gb\n longDateFormat: {\n LT: 'HH:mm',\n LTS : 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Heddiw am] LT',\n nextDay: '[Yfory am] LT',\n nextWeek: 'dddd [am] LT',\n lastDay: '[Ddoe am] LT',\n lastWeek: 'dddd [diwethaf am] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'mewn %s',\n past: '%s yn ôl',\n s: 'ychydig eiliadau',\n ss: '%d eiliad',\n m: 'munud',\n mm: '%d munud',\n h: 'awr',\n hh: '%d awr',\n d: 'diwrnod',\n dd: '%d diwrnod',\n M: 'mis',\n MM: '%d mis',\n y: 'blwyddyn',\n yy: '%d flynedd'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(fed|ain|af|il|ydd|ed|eg)/,\n // traditional ordinal numbers above 31 are not commonly used in colloquial Welsh\n ordinal: function (number) {\n var b = number,\n output = '',\n lookup = [\n '', 'af', 'il', 'ydd', 'ydd', 'ed', 'ed', 'ed', 'fed', 'fed', 'fed', // 1af to 10fed\n 'eg', 'fed', 'eg', 'eg', 'fed', 'eg', 'eg', 'fed', 'eg', 'fed' // 11eg to 20fed\n ];\n if (b > 20) {\n if (b === 40 || b === 50 || b === 60 || b === 80 || b === 100) {\n output = 'fed'; // not 30ain, 70ain or 90ain\n } else {\n output = 'ain';\n }\n } else if (b > 0) {\n output = lookup[b];\n }\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return cy;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var cv = moment.defineLocale('cv', {\n months : 'кӑрлач_нарӑс_пуш_ака_май_ҫӗртме_утӑ_ҫурла_авӑн_юпа_чӳк_раштав'.split('_'),\n monthsShort : 'кӑр_нар_пуш_ака_май_ҫӗр_утӑ_ҫур_авн_юпа_чӳк_раш'.split('_'),\n weekdays : 'вырсарникун_тунтикун_ытларикун_юнкун_кӗҫнерникун_эрнекун_шӑматкун'.split('_'),\n weekdaysShort : 'выр_тун_ытл_юн_кӗҫ_эрн_шӑм'.split('_'),\n weekdaysMin : 'вр_тн_ыт_юн_кҫ_эр_шм'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD-MM-YYYY',\n LL : 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ]',\n LLL : 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm',\n LLLL : 'dddd, YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm'\n },\n calendar : {\n sameDay: '[Паян] LT [сехетре]',\n nextDay: '[Ыран] LT [сехетре]',\n lastDay: '[Ӗнер] LT [сехетре]',\n nextWeek: '[Ҫитес] dddd LT [сехетре]',\n lastWeek: '[Иртнӗ] dddd LT [сехетре]',\n sameElse: 'L'\n },\n relativeTime : {\n future : function (output) {\n var affix = /сехет$/i.exec(output) ? 'рен' : /ҫул$/i.exec(output) ? 'тан' : 'ран';\n return output + affix;\n },\n past : '%s каялла',\n s : 'пӗр-ик ҫеккунт',\n ss : '%d ҫеккунт',\n m : 'пӗр минут',\n mm : '%d минут',\n h : 'пӗр сехет',\n hh : '%d сехет',\n d : 'пӗр кун',\n dd : '%d кун',\n M : 'пӗр уйӑх',\n MM : '%d уйӑх',\n y : 'пӗр ҫул',\n yy : '%d ҫул'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-мӗш/,\n ordinal : '%d-мӗш',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return cv;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var months = 'leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec'.split('_'),\n monthsShort = 'led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro'.split('_');\n function plural(n) {\n return (n > 1) && (n < 5) && (~~(n / 10) !== 1);\n }\n function translate(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n switch (key) {\n case 's': // a few seconds / in a few seconds / a few seconds ago\n return (withoutSuffix || isFuture) ? 'pár sekund' : 'pár sekundami';\n case 'ss': // 9 seconds / in 9 seconds / 9 seconds ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'sekundy' : 'sekund');\n } else {\n return result + 'sekundami';\n }\n break;\n case 'm': // a minute / in a minute / a minute ago\n return withoutSuffix ? 'minuta' : (isFuture ? 'minutu' : 'minutou');\n case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'minuty' : 'minut');\n } else {\n return result + 'minutami';\n }\n break;\n case 'h': // an hour / in an hour / an hour ago\n return withoutSuffix ? 'hodina' : (isFuture ? 'hodinu' : 'hodinou');\n case 'hh': // 9 hours / in 9 hours / 9 hours ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'hodiny' : 'hodin');\n } else {\n return result + 'hodinami';\n }\n break;\n case 'd': // a day / in a day / a day ago\n return (withoutSuffix || isFuture) ? 'den' : 'dnem';\n case 'dd': // 9 days / in 9 days / 9 days ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'dny' : 'dní');\n } else {\n return result + 'dny';\n }\n break;\n case 'M': // a month / in a month / a month ago\n return (withoutSuffix || isFuture) ? 'měsíc' : 'měsícem';\n case 'MM': // 9 months / in 9 months / 9 months ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'měsíce' : 'měsíců');\n } else {\n return result + 'měsíci';\n }\n break;\n case 'y': // a year / in a year / a year ago\n return (withoutSuffix || isFuture) ? 'rok' : 'rokem';\n case 'yy': // 9 years / in 9 years / 9 years ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'roky' : 'let');\n } else {\n return result + 'lety';\n }\n break;\n }\n }\n\n var cs = moment.defineLocale('cs', {\n months : months,\n monthsShort : monthsShort,\n monthsParse : (function (months, monthsShort) {\n var i, _monthsParse = [];\n for (i = 0; i < 12; i++) {\n // use custom parser to solve problem with July (červenec)\n _monthsParse[i] = new RegExp('^' + months[i] + '$|^' + monthsShort[i] + '$', 'i');\n }\n return _monthsParse;\n }(months, monthsShort)),\n shortMonthsParse : (function (monthsShort) {\n var i, _shortMonthsParse = [];\n for (i = 0; i < 12; i++) {\n _shortMonthsParse[i] = new RegExp('^' + monthsShort[i] + '$', 'i');\n }\n return _shortMonthsParse;\n }(monthsShort)),\n longMonthsParse : (function (months) {\n var i, _longMonthsParse = [];\n for (i = 0; i < 12; i++) {\n _longMonthsParse[i] = new RegExp('^' + months[i] + '$', 'i');\n }\n return _longMonthsParse;\n }(months)),\n weekdays : 'neděle_pondělí_úterý_středa_čtvrtek_pátek_sobota'.split('_'),\n weekdaysShort : 'ne_po_út_st_čt_pá_so'.split('_'),\n weekdaysMin : 'ne_po_út_st_čt_pá_so'.split('_'),\n longDateFormat : {\n LT: 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY H:mm',\n LLLL : 'dddd D. MMMM YYYY H:mm',\n l : 'D. M. YYYY'\n },\n calendar : {\n sameDay: '[dnes v] LT',\n nextDay: '[zítra v] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[v neděli v] LT';\n case 1:\n case 2:\n return '[v] dddd [v] LT';\n case 3:\n return '[ve středu v] LT';\n case 4:\n return '[ve čtvrtek v] LT';\n case 5:\n return '[v pátek v] LT';\n case 6:\n return '[v sobotu v] LT';\n }\n },\n lastDay: '[včera v] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[minulou neděli v] LT';\n case 1:\n case 2:\n return '[minulé] dddd [v] LT';\n case 3:\n return '[minulou středu v] LT';\n case 4:\n case 5:\n return '[minulý] dddd [v] LT';\n case 6:\n return '[minulou sobotu v] LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : 'za %s',\n past : 'před %s',\n s : translate,\n ss : translate,\n m : translate,\n mm : translate,\n h : translate,\n hh : translate,\n d : translate,\n dd : translate,\n M : translate,\n MM : translate,\n y : translate,\n yy : translate\n },\n dayOfMonthOrdinalParse : /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return cs;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var ca = moment.defineLocale('ca', {\n months : {\n standalone: 'gener_febrer_març_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre'.split('_'),\n format: 'de gener_de febrer_de març_d\\'abril_de maig_de juny_de juliol_d\\'agost_de setembre_d\\'octubre_de novembre_de desembre'.split('_'),\n isFormat: /D[oD]?(\\s)+MMMM/\n },\n monthsShort : 'gen._febr._març_abr._maig_juny_jul._ag._set._oct._nov._des.'.split('_'),\n monthsParseExact : true,\n weekdays : 'diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte'.split('_'),\n weekdaysShort : 'dg._dl._dt._dc._dj._dv._ds.'.split('_'),\n weekdaysMin : 'dg_dl_dt_dc_dj_dv_ds'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM [de] YYYY',\n ll : 'D MMM YYYY',\n LLL : 'D MMMM [de] YYYY [a les] H:mm',\n lll : 'D MMM YYYY, H:mm',\n LLLL : 'dddd D MMMM [de] YYYY [a les] H:mm',\n llll : 'ddd D MMM YYYY, H:mm'\n },\n calendar : {\n sameDay : function () {\n return '[avui a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';\n },\n nextDay : function () {\n return '[demà a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';\n },\n nextWeek : function () {\n return 'dddd [a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';\n },\n lastDay : function () {\n return '[ahir a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';\n },\n lastWeek : function () {\n return '[el] dddd [passat a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'd\\'aquí %s',\n past : 'fa %s',\n s : 'uns segons',\n ss : '%d segons',\n m : 'un minut',\n mm : '%d minuts',\n h : 'una hora',\n hh : '%d hores',\n d : 'un dia',\n dd : '%d dies',\n M : 'un mes',\n MM : '%d mesos',\n y : 'un any',\n yy : '%d anys'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(r|n|t|è|a)/,\n ordinal : function (number, period) {\n var output = (number === 1) ? 'r' :\n (number === 2) ? 'n' :\n (number === 3) ? 'r' :\n (number === 4) ? 't' : 'è';\n if (period === 'w' || period === 'W') {\n output = 'a';\n }\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return ca;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function translate(number, withoutSuffix, key) {\n var result = number + ' ';\n switch (key) {\n case 'ss':\n if (number === 1) {\n result += 'sekunda';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sekunde';\n } else {\n result += 'sekundi';\n }\n return result;\n case 'm':\n return withoutSuffix ? 'jedna minuta' : 'jedne minute';\n case 'mm':\n if (number === 1) {\n result += 'minuta';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'minute';\n } else {\n result += 'minuta';\n }\n return result;\n case 'h':\n return withoutSuffix ? 'jedan sat' : 'jednog sata';\n case 'hh':\n if (number === 1) {\n result += 'sat';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sata';\n } else {\n result += 'sati';\n }\n return result;\n case 'dd':\n if (number === 1) {\n result += 'dan';\n } else {\n result += 'dana';\n }\n return result;\n case 'MM':\n if (number === 1) {\n result += 'mjesec';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'mjeseca';\n } else {\n result += 'mjeseci';\n }\n return result;\n case 'yy':\n if (number === 1) {\n result += 'godina';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'godine';\n } else {\n result += 'godina';\n }\n return result;\n }\n }\n\n var bs = moment.defineLocale('bs', {\n months : 'januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar'.split('_'),\n monthsShort : 'jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays : 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split('_'),\n weekdaysShort : 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n weekdaysMin : 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY H:mm',\n LLLL : 'dddd, D. MMMM YYYY H:mm'\n },\n calendar : {\n sameDay : '[danas u] LT',\n nextDay : '[sutra u] LT',\n nextWeek : function () {\n switch (this.day()) {\n case 0:\n return '[u] [nedjelju] [u] LT';\n case 3:\n return '[u] [srijedu] [u] LT';\n case 6:\n return '[u] [subotu] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay : '[jučer u] LT',\n lastWeek : function () {\n switch (this.day()) {\n case 0:\n case 3:\n return '[prošlu] dddd [u] LT';\n case 6:\n return '[prošle] [subote] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[prošli] dddd [u] LT';\n }\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'za %s',\n past : 'prije %s',\n s : 'par sekundi',\n ss : translate,\n m : translate,\n mm : translate,\n h : translate,\n hh : translate,\n d : 'dan',\n dd : translate,\n M : 'mjesec',\n MM : translate,\n y : 'godinu',\n yy : translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return bs;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function relativeTimeWithMutation(number, withoutSuffix, key) {\n var format = {\n 'mm': 'munutenn',\n 'MM': 'miz',\n 'dd': 'devezh'\n };\n return number + ' ' + mutation(format[key], number);\n }\n function specialMutationForYears(number) {\n switch (lastNumber(number)) {\n case 1:\n case 3:\n case 4:\n case 5:\n case 9:\n return number + ' bloaz';\n default:\n return number + ' vloaz';\n }\n }\n function lastNumber(number) {\n if (number > 9) {\n return lastNumber(number % 10);\n }\n return number;\n }\n function mutation(text, number) {\n if (number === 2) {\n return softMutation(text);\n }\n return text;\n }\n function softMutation(text) {\n var mutationTable = {\n 'm': 'v',\n 'b': 'v',\n 'd': 'z'\n };\n if (mutationTable[text.charAt(0)] === undefined) {\n return text;\n }\n return mutationTable[text.charAt(0)] + text.substring(1);\n }\n\n var br = moment.defineLocale('br', {\n months : 'Genver_C\\'hwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu'.split('_'),\n monthsShort : 'Gen_C\\'hwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker'.split('_'),\n weekdays : 'Sul_Lun_Meurzh_Merc\\'her_Yaou_Gwener_Sadorn'.split('_'),\n weekdaysShort : 'Sul_Lun_Meu_Mer_Yao_Gwe_Sad'.split('_'),\n weekdaysMin : 'Su_Lu_Me_Mer_Ya_Gw_Sa'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'h[e]mm A',\n LTS : 'h[e]mm:ss A',\n L : 'DD/MM/YYYY',\n LL : 'D [a viz] MMMM YYYY',\n LLL : 'D [a viz] MMMM YYYY h[e]mm A',\n LLLL : 'dddd, D [a viz] MMMM YYYY h[e]mm A'\n },\n calendar : {\n sameDay : '[Hiziv da] LT',\n nextDay : '[Warc\\'hoazh da] LT',\n nextWeek : 'dddd [da] LT',\n lastDay : '[Dec\\'h da] LT',\n lastWeek : 'dddd [paset da] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'a-benn %s',\n past : '%s \\'zo',\n s : 'un nebeud segondennoù',\n ss : '%d eilenn',\n m : 'ur vunutenn',\n mm : relativeTimeWithMutation,\n h : 'un eur',\n hh : '%d eur',\n d : 'un devezh',\n dd : relativeTimeWithMutation,\n M : 'ur miz',\n MM : relativeTimeWithMutation,\n y : 'ur bloaz',\n yy : specialMutationForYears\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(añ|vet)/,\n ordinal : function (number) {\n var output = (number === 1) ? 'añ' : 'vet';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return br;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '༡',\n '2': '༢',\n '3': '༣',\n '4': '༤',\n '5': '༥',\n '6': '༦',\n '7': '༧',\n '8': '༨',\n '9': '༩',\n '0': '༠'\n },\n numberMap = {\n '༡': '1',\n '༢': '2',\n '༣': '3',\n '༤': '4',\n '༥': '5',\n '༦': '6',\n '༧': '7',\n '༨': '8',\n '༩': '9',\n '༠': '0'\n };\n\n var bo = moment.defineLocale('bo', {\n months : 'ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ'.split('_'),\n monthsShort : 'ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ'.split('_'),\n weekdays : 'གཟའ་ཉི་མ་_གཟའ་ཟླ་བ་_གཟའ་མིག་དམར་_གཟའ་ལྷག་པ་_གཟའ་ཕུར་བུ_གཟའ་པ་སངས་_གཟའ་སྤེན་པ་'.split('_'),\n weekdaysShort : 'ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་'.split('_'),\n weekdaysMin : 'ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་'.split('_'),\n longDateFormat : {\n LT : 'A h:mm',\n LTS : 'A h:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, A h:mm',\n LLLL : 'dddd, D MMMM YYYY, A h:mm'\n },\n calendar : {\n sameDay : '[དི་རིང] LT',\n nextDay : '[སང་ཉིན] LT',\n nextWeek : '[བདུན་ཕྲག་རྗེས་མ], LT',\n lastDay : '[ཁ་སང] LT',\n lastWeek : '[བདུན་ཕྲག་མཐའ་མ] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s ལ་',\n past : '%s སྔན་ལ',\n s : 'ལམ་སང',\n ss : '%d སྐར་ཆ།',\n m : 'སྐར་མ་གཅིག',\n mm : '%d སྐར་མ',\n h : 'ཆུ་ཚོད་གཅིག',\n hh : '%d ཆུ་ཚོད',\n d : 'ཉིན་གཅིག',\n dd : '%d ཉིན་',\n M : 'ཟླ་བ་གཅིག',\n MM : '%d ཟླ་བ',\n y : 'ལོ་གཅིག',\n yy : '%d ལོ'\n },\n preparse: function (string) {\n return string.replace(/[༡༢༣༤༥༦༧༨༩༠]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /མཚན་མོ|ཞོགས་ཀས|ཉིན་གུང|དགོང་དག|མཚན་མོ/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if ((meridiem === 'མཚན་མོ' && hour >= 4) ||\n (meridiem === 'ཉིན་གུང' && hour < 5) ||\n meridiem === 'དགོང་དག') {\n return hour + 12;\n } else {\n return hour;\n }\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'མཚན་མོ';\n } else if (hour < 10) {\n return 'ཞོགས་ཀས';\n } else if (hour < 17) {\n return 'ཉིན་གུང';\n } else if (hour < 20) {\n return 'དགོང་དག';\n } else {\n return 'མཚན་མོ';\n }\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return bo;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '১',\n '2': '২',\n '3': '৩',\n '4': '৪',\n '5': '৫',\n '6': '৬',\n '7': '৭',\n '8': '৮',\n '9': '৯',\n '0': '০'\n },\n numberMap = {\n '১': '1',\n '২': '2',\n '৩': '3',\n '৪': '4',\n '৫': '5',\n '৬': '6',\n '৭': '7',\n '৮': '8',\n '৯': '9',\n '০': '0'\n };\n\n var bn = moment.defineLocale('bn', {\n months : 'জানুয়ারী_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর'.split('_'),\n monthsShort : 'জানু_ফেব_মার্চ_এপ্র_মে_জুন_জুল_আগ_সেপ্ট_অক্টো_নভে_ডিসে'.split('_'),\n weekdays : 'রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার'.split('_'),\n weekdaysShort : 'রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি'.split('_'),\n weekdaysMin : 'রবি_সোম_মঙ্গ_বুধ_বৃহঃ_শুক্র_শনি'.split('_'),\n longDateFormat : {\n LT : 'A h:mm সময়',\n LTS : 'A h:mm:ss সময়',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, A h:mm সময়',\n LLLL : 'dddd, D MMMM YYYY, A h:mm সময়'\n },\n calendar : {\n sameDay : '[আজ] LT',\n nextDay : '[আগামীকাল] LT',\n nextWeek : 'dddd, LT',\n lastDay : '[গতকাল] LT',\n lastWeek : '[গত] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s পরে',\n past : '%s আগে',\n s : 'কয়েক সেকেন্ড',\n ss : '%d সেকেন্ড',\n m : 'এক মিনিট',\n mm : '%d মিনিট',\n h : 'এক ঘন্টা',\n hh : '%d ঘন্টা',\n d : 'এক দিন',\n dd : '%d দিন',\n M : 'এক মাস',\n MM : '%d মাস',\n y : 'এক বছর',\n yy : '%d বছর'\n },\n preparse: function (string) {\n return string.replace(/[১২৩৪৫৬৭৮৯০]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /রাত|সকাল|দুপুর|বিকাল|রাত/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if ((meridiem === 'রাত' && hour >= 4) ||\n (meridiem === 'দুপুর' && hour < 5) ||\n meridiem === 'বিকাল') {\n return hour + 12;\n } else {\n return hour;\n }\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'রাত';\n } else if (hour < 10) {\n return 'সকাল';\n } else if (hour < 17) {\n return 'দুপুর';\n } else if (hour < 20) {\n return 'বিকাল';\n } else {\n return 'রাত';\n }\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return bn;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var bm = moment.defineLocale('bm', {\n months : 'Zanwuyekalo_Fewuruyekalo_Marisikalo_Awirilikalo_Mɛkalo_Zuwɛnkalo_Zuluyekalo_Utikalo_Sɛtanburukalo_ɔkutɔburukalo_Nowanburukalo_Desanburukalo'.split('_'),\n monthsShort : 'Zan_Few_Mar_Awi_Mɛ_Zuw_Zul_Uti_Sɛt_ɔku_Now_Des'.split('_'),\n weekdays : 'Kari_Ntɛnɛn_Tarata_Araba_Alamisa_Juma_Sibiri'.split('_'),\n weekdaysShort : 'Kar_Ntɛ_Tar_Ara_Ala_Jum_Sib'.split('_'),\n weekdaysMin : 'Ka_Nt_Ta_Ar_Al_Ju_Si'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'MMMM [tile] D [san] YYYY',\n LLL : 'MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm',\n LLLL : 'dddd MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm'\n },\n calendar : {\n sameDay : '[Bi lɛrɛ] LT',\n nextDay : '[Sini lɛrɛ] LT',\n nextWeek : 'dddd [don lɛrɛ] LT',\n lastDay : '[Kunu lɛrɛ] LT',\n lastWeek : 'dddd [tɛmɛnen lɛrɛ] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s kɔnɔ',\n past : 'a bɛ %s bɔ',\n s : 'sanga dama dama',\n ss : 'sekondi %d',\n m : 'miniti kelen',\n mm : 'miniti %d',\n h : 'lɛrɛ kelen',\n hh : 'lɛrɛ %d',\n d : 'tile kelen',\n dd : 'tile %d',\n M : 'kalo kelen',\n MM : 'kalo %d',\n y : 'san kelen',\n yy : 'san %d'\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return bm;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var bg = moment.defineLocale('bg', {\n months : 'януари_февруари_март_април_май_юни_юли_август_септември_октомври_ноември_декември'.split('_'),\n monthsShort : 'янр_фев_мар_апр_май_юни_юли_авг_сеп_окт_ное_дек'.split('_'),\n weekdays : 'неделя_понеделник_вторник_сряда_четвъртък_петък_събота'.split('_'),\n weekdaysShort : 'нед_пон_вто_сря_чет_пет_съб'.split('_'),\n weekdaysMin : 'нд_пн_вт_ср_чт_пт_сб'.split('_'),\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'D.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY H:mm',\n LLLL : 'dddd, D MMMM YYYY H:mm'\n },\n calendar : {\n sameDay : '[Днес в] LT',\n nextDay : '[Утре в] LT',\n nextWeek : 'dddd [в] LT',\n lastDay : '[Вчера в] LT',\n lastWeek : function () {\n switch (this.day()) {\n case 0:\n case 3:\n case 6:\n return '[В изминалата] dddd [в] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[В изминалия] dddd [в] LT';\n }\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'след %s',\n past : 'преди %s',\n s : 'няколко секунди',\n ss : '%d секунди',\n m : 'минута',\n mm : '%d минути',\n h : 'час',\n hh : '%d часа',\n d : 'ден',\n dd : '%d дни',\n M : 'месец',\n MM : '%d месеца',\n y : 'година',\n yy : '%d години'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ев|ен|ти|ви|ри|ми)/,\n ordinal : function (number) {\n var lastDigit = number % 10,\n last2Digits = number % 100;\n if (number === 0) {\n return number + '-ев';\n } else if (last2Digits === 0) {\n return number + '-ен';\n } else if (last2Digits > 10 && last2Digits < 20) {\n return number + '-ти';\n } else if (lastDigit === 1) {\n return number + '-ви';\n } else if (lastDigit === 2) {\n return number + '-ри';\n } else if (lastDigit === 7 || lastDigit === 8) {\n return number + '-ми';\n } else {\n return number + '-ти';\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return bg;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function plural(word, num) {\n var forms = word.split('_');\n return num % 10 === 1 && num % 100 !== 11 ? forms[0] : (num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) ? forms[1] : forms[2]);\n }\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n var format = {\n 'ss': withoutSuffix ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд',\n 'mm': withoutSuffix ? 'хвіліна_хвіліны_хвілін' : 'хвіліну_хвіліны_хвілін',\n 'hh': withoutSuffix ? 'гадзіна_гадзіны_гадзін' : 'гадзіну_гадзіны_гадзін',\n 'dd': 'дзень_дні_дзён',\n 'MM': 'месяц_месяцы_месяцаў',\n 'yy': 'год_гады_гадоў'\n };\n if (key === 'm') {\n return withoutSuffix ? 'хвіліна' : 'хвіліну';\n }\n else if (key === 'h') {\n return withoutSuffix ? 'гадзіна' : 'гадзіну';\n }\n else {\n return number + ' ' + plural(format[key], +number);\n }\n }\n\n var be = moment.defineLocale('be', {\n months : {\n format: 'студзеня_лютага_сакавіка_красавіка_траўня_чэрвеня_ліпеня_жніўня_верасня_кастрычніка_лістапада_снежня'.split('_'),\n standalone: 'студзень_люты_сакавік_красавік_травень_чэрвень_ліпень_жнівень_верасень_кастрычнік_лістапад_снежань'.split('_')\n },\n monthsShort : 'студ_лют_сак_крас_трав_чэрв_ліп_жнів_вер_каст_ліст_снеж'.split('_'),\n weekdays : {\n format: 'нядзелю_панядзелак_аўторак_сераду_чацвер_пятніцу_суботу'.split('_'),\n standalone: 'нядзеля_панядзелак_аўторак_серада_чацвер_пятніца_субота'.split('_'),\n isFormat: /\\[ ?[Ууў] ?(?:мінулую|наступную)? ?\\] ?dddd/\n },\n weekdaysShort : 'нд_пн_ат_ср_чц_пт_сб'.split('_'),\n weekdaysMin : 'нд_пн_ат_ср_чц_пт_сб'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY г.',\n LLL : 'D MMMM YYYY г., HH:mm',\n LLLL : 'dddd, D MMMM YYYY г., HH:mm'\n },\n calendar : {\n sameDay: '[Сёння ў] LT',\n nextDay: '[Заўтра ў] LT',\n lastDay: '[Учора ў] LT',\n nextWeek: function () {\n return '[У] dddd [ў] LT';\n },\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n case 3:\n case 5:\n case 6:\n return '[У мінулую] dddd [ў] LT';\n case 1:\n case 2:\n case 4:\n return '[У мінулы] dddd [ў] LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : 'праз %s',\n past : '%s таму',\n s : 'некалькі секунд',\n m : relativeTimeWithPlural,\n mm : relativeTimeWithPlural,\n h : relativeTimeWithPlural,\n hh : relativeTimeWithPlural,\n d : 'дзень',\n dd : relativeTimeWithPlural,\n M : 'месяц',\n MM : relativeTimeWithPlural,\n y : 'год',\n yy : relativeTimeWithPlural\n },\n meridiemParse: /ночы|раніцы|дня|вечара/,\n isPM : function (input) {\n return /^(дня|вечара)$/.test(input);\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ночы';\n } else if (hour < 12) {\n return 'раніцы';\n } else if (hour < 17) {\n return 'дня';\n } else {\n return 'вечара';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(і|ы|га)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'M':\n case 'd':\n case 'DDD':\n case 'w':\n case 'W':\n return (number % 10 === 2 || number % 10 === 3) && (number % 100 !== 12 && number % 100 !== 13) ? number + '-і' : number + '-ы';\n case 'D':\n return number + '-га';\n default:\n return number;\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return be;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var suffixes = {\n 1: '-inci',\n 5: '-inci',\n 8: '-inci',\n 70: '-inci',\n 80: '-inci',\n 2: '-nci',\n 7: '-nci',\n 20: '-nci',\n 50: '-nci',\n 3: '-üncü',\n 4: '-üncü',\n 100: '-üncü',\n 6: '-ncı',\n 9: '-uncu',\n 10: '-uncu',\n 30: '-uncu',\n 60: '-ıncı',\n 90: '-ıncı'\n };\n\n var az = moment.defineLocale('az', {\n months : 'yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr'.split('_'),\n monthsShort : 'yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek'.split('_'),\n weekdays : 'Bazar_Bazar ertəsi_Çərşənbə axşamı_Çərşənbə_Cümə axşamı_Cümə_Şənbə'.split('_'),\n weekdaysShort : 'Baz_BzE_ÇAx_Çər_CAx_Cüm_Şən'.split('_'),\n weekdaysMin : 'Bz_BE_ÇA_Çə_CA_Cü_Şə'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[bugün saat] LT',\n nextDay : '[sabah saat] LT',\n nextWeek : '[gələn həftə] dddd [saat] LT',\n lastDay : '[dünən] LT',\n lastWeek : '[keçən həftə] dddd [saat] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s sonra',\n past : '%s əvvəl',\n s : 'birneçə saniyə',\n ss : '%d saniyə',\n m : 'bir dəqiqə',\n mm : '%d dəqiqə',\n h : 'bir saat',\n hh : '%d saat',\n d : 'bir gün',\n dd : '%d gün',\n M : 'bir ay',\n MM : '%d ay',\n y : 'bir il',\n yy : '%d il'\n },\n meridiemParse: /gecə|səhər|gündüz|axşam/,\n isPM : function (input) {\n return /^(gündüz|axşam)$/.test(input);\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'gecə';\n } else if (hour < 12) {\n return 'səhər';\n } else if (hour < 17) {\n return 'gündüz';\n } else {\n return 'axşam';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ıncı|inci|nci|üncü|ncı|uncu)/,\n ordinal : function (number) {\n if (number === 0) { // special case for zero\n return number + '-ıncı';\n }\n var a = number % 10,\n b = number % 100 - a,\n c = number >= 100 ? 100 : null;\n return number + (suffixes[a] || suffixes[b] || suffixes[c]);\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return az;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var arTn = moment.defineLocale('ar-tn', {\n months: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),\n monthsShort: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact : true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'في %s',\n past: 'منذ %s',\n s: 'ثوان',\n ss : '%d ثانية',\n m: 'دقيقة',\n mm: '%d دقائق',\n h: 'ساعة',\n hh: '%d ساعات',\n d: 'يوم',\n dd: '%d أيام',\n M: 'شهر',\n MM: '%d أشهر',\n y: 'سنة',\n yy: '%d سنوات'\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return arTn;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '١',\n '2': '٢',\n '3': '٣',\n '4': '٤',\n '5': '٥',\n '6': '٦',\n '7': '٧',\n '8': '٨',\n '9': '٩',\n '0': '٠'\n }, numberMap = {\n '١': '1',\n '٢': '2',\n '٣': '3',\n '٤': '4',\n '٥': '5',\n '٦': '6',\n '٧': '7',\n '٨': '8',\n '٩': '9',\n '٠': '0'\n };\n\n var arSa = moment.defineLocale('ar-sa', {\n months : 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),\n monthsShort : 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),\n weekdays : 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort : 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n meridiemParse: /ص|م/,\n isPM : function (input) {\n return 'م' === input;\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ص';\n } else {\n return 'م';\n }\n },\n calendar : {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'في %s',\n past : 'منذ %s',\n s : 'ثوان',\n ss : '%d ثانية',\n m : 'دقيقة',\n mm : '%d دقائق',\n h : 'ساعة',\n hh : '%d ساعات',\n d : 'يوم',\n dd : '%d أيام',\n M : 'شهر',\n MM : '%d أشهر',\n y : 'سنة',\n yy : '%d سنوات'\n },\n preparse: function (string) {\n return string.replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\n return numberMap[match];\n }).replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n }).replace(/,/g, '،');\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return arSa;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var arMa = moment.defineLocale('ar-ma', {\n months : 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),\n monthsShort : 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),\n weekdays : 'الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort : 'احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'في %s',\n past : 'منذ %s',\n s : 'ثوان',\n ss : '%d ثانية',\n m : 'دقيقة',\n mm : '%d دقائق',\n h : 'ساعة',\n hh : '%d ساعات',\n d : 'يوم',\n dd : '%d أيام',\n M : 'شهر',\n MM : '%d أشهر',\n y : 'سنة',\n yy : '%d سنوات'\n },\n week : {\n dow : 6, // Saturday is the first day of the week.\n doy : 12 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return arMa;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '1',\n '2': '2',\n '3': '3',\n '4': '4',\n '5': '5',\n '6': '6',\n '7': '7',\n '8': '8',\n '9': '9',\n '0': '0'\n }, pluralForm = function (n) {\n return n === 0 ? 0 : n === 1 ? 1 : n === 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5;\n }, plurals = {\n s : ['أقل من ثانية', 'ثانية واحدة', ['ثانيتان', 'ثانيتين'], '%d ثوان', '%d ثانية', '%d ثانية'],\n m : ['أقل من دقيقة', 'دقيقة واحدة', ['دقيقتان', 'دقيقتين'], '%d دقائق', '%d دقيقة', '%d دقيقة'],\n h : ['أقل من ساعة', 'ساعة واحدة', ['ساعتان', 'ساعتين'], '%d ساعات', '%d ساعة', '%d ساعة'],\n d : ['أقل من يوم', 'يوم واحد', ['يومان', 'يومين'], '%d أيام', '%d يومًا', '%d يوم'],\n M : ['أقل من شهر', 'شهر واحد', ['شهران', 'شهرين'], '%d أشهر', '%d شهرا', '%d شهر'],\n y : ['أقل من عام', 'عام واحد', ['عامان', 'عامين'], '%d أعوام', '%d عامًا', '%d عام']\n }, pluralize = function (u) {\n return function (number, withoutSuffix, string, isFuture) {\n var f = pluralForm(number),\n str = plurals[u][pluralForm(number)];\n if (f === 2) {\n str = str[withoutSuffix ? 0 : 1];\n }\n return str.replace(/%d/i, number);\n };\n }, months = [\n 'يناير',\n 'فبراير',\n 'مارس',\n 'أبريل',\n 'مايو',\n 'يونيو',\n 'يوليو',\n 'أغسطس',\n 'سبتمبر',\n 'أكتوبر',\n 'نوفمبر',\n 'ديسمبر'\n ];\n\n var arLy = moment.defineLocale('ar-ly', {\n months : months,\n monthsShort : months,\n weekdays : 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort : 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'D/\\u200FM/\\u200FYYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n meridiemParse: /ص|م/,\n isPM : function (input) {\n return 'م' === input;\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ص';\n } else {\n return 'م';\n }\n },\n calendar : {\n sameDay: '[اليوم عند الساعة] LT',\n nextDay: '[غدًا عند الساعة] LT',\n nextWeek: 'dddd [عند الساعة] LT',\n lastDay: '[أمس عند الساعة] LT',\n lastWeek: 'dddd [عند الساعة] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'بعد %s',\n past : 'منذ %s',\n s : pluralize('s'),\n ss : pluralize('s'),\n m : pluralize('m'),\n mm : pluralize('m'),\n h : pluralize('h'),\n hh : pluralize('h'),\n d : pluralize('d'),\n dd : pluralize('d'),\n M : pluralize('M'),\n MM : pluralize('M'),\n y : pluralize('y'),\n yy : pluralize('y')\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n }).replace(/,/g, '،');\n },\n week : {\n dow : 6, // Saturday is the first day of the week.\n doy : 12 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return arLy;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var arKw = moment.defineLocale('ar-kw', {\n months : 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),\n monthsShort : 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),\n weekdays : 'الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort : 'احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'في %s',\n past : 'منذ %s',\n s : 'ثوان',\n ss : '%d ثانية',\n m : 'دقيقة',\n mm : '%d دقائق',\n h : 'ساعة',\n hh : '%d ساعات',\n d : 'يوم',\n dd : '%d أيام',\n M : 'شهر',\n MM : '%d أشهر',\n y : 'سنة',\n yy : '%d سنوات'\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 12 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return arKw;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var arDz = moment.defineLocale('ar-dz', {\n months : 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),\n monthsShort : 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),\n weekdays : 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort : 'احد_اثنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin : 'أح_إث_ثلا_أر_خم_جم_سب'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'في %s',\n past : 'منذ %s',\n s : 'ثوان',\n ss : '%d ثانية',\n m : 'دقيقة',\n mm : '%d دقائق',\n h : 'ساعة',\n hh : '%d ساعات',\n d : 'يوم',\n dd : '%d أيام',\n M : 'شهر',\n MM : '%d أشهر',\n y : 'سنة',\n yy : '%d سنوات'\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 4 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return arDz;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '١',\n '2': '٢',\n '3': '٣',\n '4': '٤',\n '5': '٥',\n '6': '٦',\n '7': '٧',\n '8': '٨',\n '9': '٩',\n '0': '٠'\n }, numberMap = {\n '١': '1',\n '٢': '2',\n '٣': '3',\n '٤': '4',\n '٥': '5',\n '٦': '6',\n '٧': '7',\n '٨': '8',\n '٩': '9',\n '٠': '0'\n }, pluralForm = function (n) {\n return n === 0 ? 0 : n === 1 ? 1 : n === 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5;\n }, plurals = {\n s : ['أقل من ثانية', 'ثانية واحدة', ['ثانيتان', 'ثانيتين'], '%d ثوان', '%d ثانية', '%d ثانية'],\n m : ['أقل من دقيقة', 'دقيقة واحدة', ['دقيقتان', 'دقيقتين'], '%d دقائق', '%d دقيقة', '%d دقيقة'],\n h : ['أقل من ساعة', 'ساعة واحدة', ['ساعتان', 'ساعتين'], '%d ساعات', '%d ساعة', '%d ساعة'],\n d : ['أقل من يوم', 'يوم واحد', ['يومان', 'يومين'], '%d أيام', '%d يومًا', '%d يوم'],\n M : ['أقل من شهر', 'شهر واحد', ['شهران', 'شهرين'], '%d أشهر', '%d شهرا', '%d شهر'],\n y : ['أقل من عام', 'عام واحد', ['عامان', 'عامين'], '%d أعوام', '%d عامًا', '%d عام']\n }, pluralize = function (u) {\n return function (number, withoutSuffix, string, isFuture) {\n var f = pluralForm(number),\n str = plurals[u][pluralForm(number)];\n if (f === 2) {\n str = str[withoutSuffix ? 0 : 1];\n }\n return str.replace(/%d/i, number);\n };\n }, months = [\n 'يناير',\n 'فبراير',\n 'مارس',\n 'أبريل',\n 'مايو',\n 'يونيو',\n 'يوليو',\n 'أغسطس',\n 'سبتمبر',\n 'أكتوبر',\n 'نوفمبر',\n 'ديسمبر'\n ];\n\n var ar = moment.defineLocale('ar', {\n months : months,\n monthsShort : months,\n weekdays : 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort : 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'D/\\u200FM/\\u200FYYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n meridiemParse: /ص|م/,\n isPM : function (input) {\n return 'م' === input;\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ص';\n } else {\n return 'م';\n }\n },\n calendar : {\n sameDay: '[اليوم عند الساعة] LT',\n nextDay: '[غدًا عند الساعة] LT',\n nextWeek: 'dddd [عند الساعة] LT',\n lastDay: '[أمس عند الساعة] LT',\n lastWeek: 'dddd [عند الساعة] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'بعد %s',\n past : 'منذ %s',\n s : pluralize('s'),\n ss : pluralize('s'),\n m : pluralize('m'),\n mm : pluralize('m'),\n h : pluralize('h'),\n hh : pluralize('h'),\n d : pluralize('d'),\n dd : pluralize('d'),\n M : pluralize('M'),\n MM : pluralize('M'),\n y : pluralize('y'),\n yy : pluralize('y')\n },\n preparse: function (string) {\n return string.replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\n return numberMap[match];\n }).replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n }).replace(/,/g, '،');\n },\n week : {\n dow : 6, // Saturday is the first day of the week.\n doy : 12 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return ar;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var af = moment.defineLocale('af', {\n months : 'Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember'.split('_'),\n monthsShort : 'Jan_Feb_Mrt_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des'.split('_'),\n weekdays : 'Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag'.split('_'),\n weekdaysShort : 'Son_Maa_Din_Woe_Don_Vry_Sat'.split('_'),\n weekdaysMin : 'So_Ma_Di_Wo_Do_Vr_Sa'.split('_'),\n meridiemParse: /vm|nm/i,\n isPM : function (input) {\n return /^nm$/i.test(input);\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours < 12) {\n return isLower ? 'vm' : 'VM';\n } else {\n return isLower ? 'nm' : 'NM';\n }\n },\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Vandag om] LT',\n nextDay : '[Môre om] LT',\n nextWeek : 'dddd [om] LT',\n lastDay : '[Gister om] LT',\n lastWeek : '[Laas] dddd [om] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'oor %s',\n past : '%s gelede',\n s : '\\'n paar sekondes',\n ss : '%d sekondes',\n m : '\\'n minuut',\n mm : '%d minute',\n h : '\\'n uur',\n hh : '%d ure',\n d : '\\'n dag',\n dd : '%d dae',\n M : '\\'n maand',\n MM : '%d maande',\n y : '\\'n jaar',\n yy : '%d jaar'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n ordinal : function (number) {\n return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de'); // Thanks to Joris Röling : https://github.com/jjupiter\n },\n week : {\n dow : 1, // Maandag is die eerste dag van die week.\n doy : 4 // Die week wat die 4de Januarie bevat is die eerste week van die jaar.\n }\n });\n\n return af;\n\n})));\n","import { each } from './each';\n\nexport function extendDeep(target) {\n for (var i = 1; i < arguments.length; i++) {\n each(arguments[i], function(prop, key){\n if (( typeof target[key] !== 'undefined' && typeof prop !== 'undefined' ) &&\n ( typeof target[key] === 'object' && typeof prop === 'object' ) &&\n ( target[key] !== null && prop !== null )) {\n extendDeep(target[key], prop);\n }\n else {\n target[key] = prop;\n }\n });\n }\n return target;\n}\n","module.exports = __WEBPACK_EXTERNAL_MODULE__132__;","module.exports = __WEBPACK_EXTERNAL_MODULE__133__;","import { each } from '../../utils/each';\nimport { extend } from '../../utils/extend';\n\nfunction average(arr, start, end){\n var set = arr.slice(start||0, (end ? end+1 : arr.length)),\n sum = 0,\n avg = null;\n\n // Add numeric values\n each(set, function(val, i){\n if (typeof val === 'number' && !isNaN(parseFloat(val))) {\n sum += parseFloat(val);\n }\n });\n return sum / set.length;\n}\n\nfunction maximum(arr, start, end){\n var set = arr.slice(start||0, (end ? end+1 : arr.length)),\n nums = [];\n\n // Pull numeric values\n each(set, function(val, i){\n if (typeof val === 'number' && !isNaN(parseFloat(val))) {\n nums.push(parseFloat(val));\n }\n });\n return Math.max.apply(Math, nums);\n}\n\nfunction minimum(arr, start, end){\n var set = arr.slice(start||0, (end ? end+1 : arr.length)),\n nums = [];\n\n // Pull numeric values\n each(set, function(val, i){\n if (typeof val === 'number' && !isNaN(parseFloat(val))) {\n nums.push(parseFloat(val));\n }\n });\n return Math.min.apply(Math, nums);\n}\n\nfunction sum(arr, start, end){\n // Copy set with given range\n var set = arr.slice(start||0, (end ? end+1 : arr.length)),\n sum = 0;\n\n // Add numeric values\n each(set, function(val, i){\n if (typeof val === 'number' && !isNaN(parseFloat(val))) {\n sum += parseFloat(val);\n }\n });\n return sum;\n}\n\nconst getColumnAverage = function (arr) {\n return average(arr, 1);\n};\nconst getRowAverage = getColumnAverage;\n\nconst getColumnSum = function (arr) {\n return sum(arr, 1);\n};\nconst getRowSum = getColumnSum;\n\nconst getColumnMaximum = function (arr) {\n return maximum(arr, 1);\n};\nconst getRowMaximum = getColumnMaximum;\n\nconst getColumnMinimum = function (arr) {\n return minimum(arr, 1);\n};\nconst getRowMinimum = getColumnMinimum;\n\nconst getColumnLabel = function (arr) {\n return arr[0];\n};\nconst getRowIndex = getColumnLabel;\n\nexport default {\n average,\n maximum,\n minimum,\n sum,\n getColumnAverage,\n getRowAverage,\n getColumnSum,\n getRowSum,\n getColumnMaximum,\n getRowMaximum,\n getColumnMinimum,\n getRowMinimum,\n getColumnLabel,\n getRowIndex,\n};\n","// Modifiers\nimport * as append from './modifiers/append';\nimport * as del from './modifiers/delete';\nimport * as filter from './modifiers/filter';\nimport * as insert from './modifiers/insert';\nimport * as select from './modifiers/select';\nimport * as sort from './modifiers/sort';\nimport * as update from './modifiers/update';\n\n// Utils\nimport analyses from './utils/analyses';\nimport { extend } from '../utils/extend';\nimport parsers from './utils/parsers';\n\nexport const Dataset = function (config = {}) {\n if (this instanceof Dataset === false) {\n return new Dataset(config);\n }\n\n this.matrix = [\n ['Index']\n ];\n this.meta = {\n type: undefined\n };\n this.config = config;\n}\n\nDataset.prototype.data = function (arr) {\n if (!arguments.length) return this.matrix;\n this.matrix = (arr instanceof Array ? arr : null);\n return this;\n};\n\nDataset.prototype.set = function (coords, value) {\n if (arguments.length < 2 || coords.length < 2) {\n throw Error('Incorrect arguments provided for #set method');\n }\n\n var colIndex = 'number' === typeof coords[0] ? coords[0] : this.matrix[0].indexOf(coords[0]),\n rowIndex = 'number' === typeof coords[1] ? coords[1] : select.selectColumn.call(this, 0).indexOf(coords[1]);\n\n var colResult = select.selectColumn.call(this, coords[0]),\n rowResult = select.selectRow.call(this, coords[1]);\n\n // Column doesn't exist, create and reset colIndex\n if (colResult.length < 1) {\n append.appendColumn.call(this, String(coords[0]));\n colIndex = this.matrix[0].length - 1;\n }\n\n // Row doesn't exist, create and reset rowIndex\n if (rowResult.length < 1) {\n append.appendRow.call(this, String(coords[1]));\n rowIndex = this.matrix.length - 1;\n }\n\n // Set provided value\n this.matrix[ rowIndex ][ colIndex ] = value;\n return this;\n};\n\nDataset.prototype.type = function(str){\n if (!arguments.length) return this.meta['type'];\n this.meta['type'] = (str ? String(str) : undefined);\n return this;\n};\n\nextend(Dataset.prototype, append);\nextend(Dataset.prototype, del);\nextend(Dataset.prototype, filter);\nextend(Dataset.prototype, insert);\nextend(Dataset.prototype, select);\nextend(Dataset.prototype, sort);\nextend(Dataset.prototype, update);\nextend(Dataset.prototype, analyses);\nDataset.parser = parsers(Dataset);\n\nexport default Dataset;\n","export default {\n render: function(){\n let html = '';\n const artifacts = this.view._artifacts.spinner = {};\n\n // Build DOM element\n html += '
';\n html += '
';\n html += '
';\n html += '
';\n html += '
';\n this.el().innerHTML = html;\n },\n update: function(){\n // no special update handling\n this.render();\n },\n destroy: function(){\n if (this.view._artifacts.spinner) {\n if (this.view._artifacts.spinner.interval) {\n clearInterval(this.view._artifacts.spinner.interval);\n }\n this.view._artifacts.spinner.radius = 0;\n try {\n delete this.view._artifacts.spinner;\n }\n catch (e) {\n this.view._artifacts.spinner = undefined;\n }\n }\n this.el().innerHTML = '';\n }\n};\n","var map = {\n\t\"./af\": 130,\n\t\"./af.js\": 130,\n\t\"./ar\": 129,\n\t\"./ar-dz\": 128,\n\t\"./ar-dz.js\": 128,\n\t\"./ar-kw\": 127,\n\t\"./ar-kw.js\": 127,\n\t\"./ar-ly\": 126,\n\t\"./ar-ly.js\": 126,\n\t\"./ar-ma\": 125,\n\t\"./ar-ma.js\": 125,\n\t\"./ar-sa\": 124,\n\t\"./ar-sa.js\": 124,\n\t\"./ar-tn\": 123,\n\t\"./ar-tn.js\": 123,\n\t\"./ar.js\": 129,\n\t\"./az\": 122,\n\t\"./az.js\": 122,\n\t\"./be\": 121,\n\t\"./be.js\": 121,\n\t\"./bg\": 120,\n\t\"./bg.js\": 120,\n\t\"./bm\": 119,\n\t\"./bm.js\": 119,\n\t\"./bn\": 118,\n\t\"./bn.js\": 118,\n\t\"./bo\": 117,\n\t\"./bo.js\": 117,\n\t\"./br\": 116,\n\t\"./br.js\": 116,\n\t\"./bs\": 115,\n\t\"./bs.js\": 115,\n\t\"./ca\": 114,\n\t\"./ca.js\": 114,\n\t\"./cs\": 113,\n\t\"./cs.js\": 113,\n\t\"./cv\": 112,\n\t\"./cv.js\": 112,\n\t\"./cy\": 111,\n\t\"./cy.js\": 111,\n\t\"./da\": 110,\n\t\"./da.js\": 110,\n\t\"./de\": 109,\n\t\"./de-at\": 108,\n\t\"./de-at.js\": 108,\n\t\"./de-ch\": 107,\n\t\"./de-ch.js\": 107,\n\t\"./de.js\": 109,\n\t\"./dv\": 106,\n\t\"./dv.js\": 106,\n\t\"./el\": 105,\n\t\"./el.js\": 105,\n\t\"./en-au\": 104,\n\t\"./en-au.js\": 104,\n\t\"./en-ca\": 103,\n\t\"./en-ca.js\": 103,\n\t\"./en-gb\": 102,\n\t\"./en-gb.js\": 102,\n\t\"./en-ie\": 101,\n\t\"./en-ie.js\": 101,\n\t\"./en-il\": 100,\n\t\"./en-il.js\": 100,\n\t\"./en-nz\": 99,\n\t\"./en-nz.js\": 99,\n\t\"./eo\": 98,\n\t\"./eo.js\": 98,\n\t\"./es\": 97,\n\t\"./es-do\": 96,\n\t\"./es-do.js\": 96,\n\t\"./es-us\": 95,\n\t\"./es-us.js\": 95,\n\t\"./es.js\": 97,\n\t\"./et\": 94,\n\t\"./et.js\": 94,\n\t\"./eu\": 93,\n\t\"./eu.js\": 93,\n\t\"./fa\": 92,\n\t\"./fa.js\": 92,\n\t\"./fi\": 91,\n\t\"./fi.js\": 91,\n\t\"./fo\": 90,\n\t\"./fo.js\": 90,\n\t\"./fr\": 89,\n\t\"./fr-ca\": 88,\n\t\"./fr-ca.js\": 88,\n\t\"./fr-ch\": 87,\n\t\"./fr-ch.js\": 87,\n\t\"./fr.js\": 89,\n\t\"./fy\": 86,\n\t\"./fy.js\": 86,\n\t\"./gd\": 85,\n\t\"./gd.js\": 85,\n\t\"./gl\": 84,\n\t\"./gl.js\": 84,\n\t\"./gom-latn\": 83,\n\t\"./gom-latn.js\": 83,\n\t\"./gu\": 82,\n\t\"./gu.js\": 82,\n\t\"./he\": 81,\n\t\"./he.js\": 81,\n\t\"./hi\": 80,\n\t\"./hi.js\": 80,\n\t\"./hr\": 79,\n\t\"./hr.js\": 79,\n\t\"./hu\": 78,\n\t\"./hu.js\": 78,\n\t\"./hy-am\": 77,\n\t\"./hy-am.js\": 77,\n\t\"./id\": 76,\n\t\"./id.js\": 76,\n\t\"./is\": 75,\n\t\"./is.js\": 75,\n\t\"./it\": 74,\n\t\"./it.js\": 74,\n\t\"./ja\": 73,\n\t\"./ja.js\": 73,\n\t\"./jv\": 72,\n\t\"./jv.js\": 72,\n\t\"./ka\": 71,\n\t\"./ka.js\": 71,\n\t\"./kk\": 70,\n\t\"./kk.js\": 70,\n\t\"./km\": 69,\n\t\"./km.js\": 69,\n\t\"./kn\": 68,\n\t\"./kn.js\": 68,\n\t\"./ko\": 67,\n\t\"./ko.js\": 67,\n\t\"./ky\": 66,\n\t\"./ky.js\": 66,\n\t\"./lb\": 65,\n\t\"./lb.js\": 65,\n\t\"./lo\": 64,\n\t\"./lo.js\": 64,\n\t\"./lt\": 63,\n\t\"./lt.js\": 63,\n\t\"./lv\": 62,\n\t\"./lv.js\": 62,\n\t\"./me\": 61,\n\t\"./me.js\": 61,\n\t\"./mi\": 60,\n\t\"./mi.js\": 60,\n\t\"./mk\": 59,\n\t\"./mk.js\": 59,\n\t\"./ml\": 58,\n\t\"./ml.js\": 58,\n\t\"./mn\": 57,\n\t\"./mn.js\": 57,\n\t\"./mr\": 56,\n\t\"./mr.js\": 56,\n\t\"./ms\": 55,\n\t\"./ms-my\": 54,\n\t\"./ms-my.js\": 54,\n\t\"./ms.js\": 55,\n\t\"./mt\": 53,\n\t\"./mt.js\": 53,\n\t\"./my\": 52,\n\t\"./my.js\": 52,\n\t\"./nb\": 51,\n\t\"./nb.js\": 51,\n\t\"./ne\": 50,\n\t\"./ne.js\": 50,\n\t\"./nl\": 49,\n\t\"./nl-be\": 48,\n\t\"./nl-be.js\": 48,\n\t\"./nl.js\": 49,\n\t\"./nn\": 47,\n\t\"./nn.js\": 47,\n\t\"./pa-in\": 46,\n\t\"./pa-in.js\": 46,\n\t\"./pl\": 45,\n\t\"./pl.js\": 45,\n\t\"./pt\": 44,\n\t\"./pt-br\": 43,\n\t\"./pt-br.js\": 43,\n\t\"./pt.js\": 44,\n\t\"./ro\": 42,\n\t\"./ro.js\": 42,\n\t\"./ru\": 41,\n\t\"./ru.js\": 41,\n\t\"./sd\": 40,\n\t\"./sd.js\": 40,\n\t\"./se\": 39,\n\t\"./se.js\": 39,\n\t\"./si\": 38,\n\t\"./si.js\": 38,\n\t\"./sk\": 37,\n\t\"./sk.js\": 37,\n\t\"./sl\": 36,\n\t\"./sl.js\": 36,\n\t\"./sq\": 35,\n\t\"./sq.js\": 35,\n\t\"./sr\": 34,\n\t\"./sr-cyrl\": 33,\n\t\"./sr-cyrl.js\": 33,\n\t\"./sr.js\": 34,\n\t\"./ss\": 32,\n\t\"./ss.js\": 32,\n\t\"./sv\": 31,\n\t\"./sv.js\": 31,\n\t\"./sw\": 30,\n\t\"./sw.js\": 30,\n\t\"./ta\": 29,\n\t\"./ta.js\": 29,\n\t\"./te\": 28,\n\t\"./te.js\": 28,\n\t\"./tet\": 27,\n\t\"./tet.js\": 27,\n\t\"./tg\": 26,\n\t\"./tg.js\": 26,\n\t\"./th\": 25,\n\t\"./th.js\": 25,\n\t\"./tl-ph\": 24,\n\t\"./tl-ph.js\": 24,\n\t\"./tlh\": 23,\n\t\"./tlh.js\": 23,\n\t\"./tr\": 22,\n\t\"./tr.js\": 22,\n\t\"./tzl\": 21,\n\t\"./tzl.js\": 21,\n\t\"./tzm\": 20,\n\t\"./tzm-latn\": 19,\n\t\"./tzm-latn.js\": 19,\n\t\"./tzm.js\": 20,\n\t\"./ug-cn\": 18,\n\t\"./ug-cn.js\": 18,\n\t\"./uk\": 17,\n\t\"./uk.js\": 17,\n\t\"./ur\": 16,\n\t\"./ur.js\": 16,\n\t\"./uz\": 15,\n\t\"./uz-latn\": 14,\n\t\"./uz-latn.js\": 14,\n\t\"./uz.js\": 15,\n\t\"./vi\": 13,\n\t\"./vi.js\": 13,\n\t\"./x-pseudo\": 12,\n\t\"./x-pseudo.js\": 12,\n\t\"./yo\": 11,\n\t\"./yo.js\": 11,\n\t\"./zh-cn\": 10,\n\t\"./zh-cn.js\": 10,\n\t\"./zh-hk\": 9,\n\t\"./zh-hk.js\": 9,\n\t\"./zh-tw\": 8,\n\t\"./zh-tw.js\": 8\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\tvar module = __webpack_require__(id);\n\treturn module;\n}\nfunction webpackContextResolve(req) {\n\tvar id = map[req];\n\tif(!(id + 1)) { // check for number or string\n\t\tvar e = new Error('Cannot find module \"' + req + '\".');\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn id;\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 138;","module.exports = function(module) {\r\n\tif (!module.webpackPolyfill) {\r\n\t\tmodule.deprecate = function() {};\r\n\t\tmodule.paths = [];\r\n\t\t// module.parent = undefined by default\r\n\t\tif (!module.children) module.children = [];\r\n\t\tObject.defineProperty(module, \"loaded\", {\r\n\t\t\tenumerable: true,\r\n\t\t\tget: function() {\r\n\t\t\t\treturn module.l;\r\n\t\t\t}\r\n\t\t});\r\n\t\tObject.defineProperty(module, \"id\", {\r\n\t\t\tenumerable: true,\r\n\t\t\tget: function() {\r\n\t\t\t\treturn module.i;\r\n\t\t\t}\r\n\t\t});\r\n\t\tmodule.webpackPolyfill = 1;\r\n\t}\r\n\treturn module;\r\n};\r\n","//! moment-timezone.js\n//! version : 0.5.21\n//! Copyright (c) JS Foundation and other contributors\n//! license : MIT\n//! github.com/moment/moment-timezone\n\n(function (root, factory) {\n\t\"use strict\";\n\n\t/*global define*/\n\tif (typeof module === 'object' && module.exports) {\n\t\tmodule.exports = factory(require('moment')); // Node\n\t} else if (typeof define === 'function' && define.amd) {\n\t\tdefine(['moment'], factory); // AMD\n\t} else {\n\t\tfactory(root.moment); // Browser\n\t}\n}(this, function (moment) {\n\t\"use strict\";\n\n\t// Do not load moment-timezone a second time.\n\t// if (moment.tz !== undefined) {\n\t// \tlogError('Moment Timezone ' + moment.tz.version + ' was already loaded ' + (moment.tz.dataVersion ? 'with data from ' : 'without any data') + moment.tz.dataVersion);\n\t// \treturn moment;\n\t// }\n\n\tvar VERSION = \"0.5.21\",\n\t\tzones = {},\n\t\tlinks = {},\n\t\tnames = {},\n\t\tguesses = {},\n\t\tcachedGuess;\n\n\tif (!moment || typeof moment.version !== 'string') {\n\t\tlogError('Moment Timezone requires Moment.js. See https://momentjs.com/timezone/docs/#/use-it/browser/');\n\t}\n\n\tvar momentVersion = moment.version.split('.'),\n\t\tmajor = +momentVersion[0],\n\t\tminor = +momentVersion[1];\n\n\t// Moment.js version check\n\tif (major < 2 || (major === 2 && minor < 6)) {\n\t\tlogError('Moment Timezone requires Moment.js >= 2.6.0. You are using Moment.js ' + moment.version + '. See momentjs.com');\n\t}\n\n\t/************************************\n\t\tUnpacking\n\t************************************/\n\n\tfunction charCodeToInt(charCode) {\n\t\tif (charCode > 96) {\n\t\t\treturn charCode - 87;\n\t\t} else if (charCode > 64) {\n\t\t\treturn charCode - 29;\n\t\t}\n\t\treturn charCode - 48;\n\t}\n\n\tfunction unpackBase60(string) {\n\t\tvar i = 0,\n\t\t\tparts = string.split('.'),\n\t\t\twhole = parts[0],\n\t\t\tfractional = parts[1] || '',\n\t\t\tmultiplier = 1,\n\t\t\tnum,\n\t\t\tout = 0,\n\t\t\tsign = 1;\n\n\t\t// handle negative numbers\n\t\tif (string.charCodeAt(0) === 45) {\n\t\t\ti = 1;\n\t\t\tsign = -1;\n\t\t}\n\n\t\t// handle digits before the decimal\n\t\tfor (i; i < whole.length; i++) {\n\t\t\tnum = charCodeToInt(whole.charCodeAt(i));\n\t\t\tout = 60 * out + num;\n\t\t}\n\n\t\t// handle digits after the decimal\n\t\tfor (i = 0; i < fractional.length; i++) {\n\t\t\tmultiplier = multiplier / 60;\n\t\t\tnum = charCodeToInt(fractional.charCodeAt(i));\n\t\t\tout += num * multiplier;\n\t\t}\n\n\t\treturn out * sign;\n\t}\n\n\tfunction arrayToInt (array) {\n\t\tfor (var i = 0; i < array.length; i++) {\n\t\t\tarray[i] = unpackBase60(array[i]);\n\t\t}\n\t}\n\n\tfunction intToUntil (array, length) {\n\t\tfor (var i = 0; i < length; i++) {\n\t\t\tarray[i] = Math.round((array[i - 1] || 0) + (array[i] * 60000)); // minutes to milliseconds\n\t\t}\n\n\t\tarray[length - 1] = Infinity;\n\t}\n\n\tfunction mapIndices (source, indices) {\n\t\tvar out = [], i;\n\n\t\tfor (i = 0; i < indices.length; i++) {\n\t\t\tout[i] = source[indices[i]];\n\t\t}\n\n\t\treturn out;\n\t}\n\n\tfunction unpack (string) {\n\t\tvar data = string.split('|'),\n\t\t\toffsets = data[2].split(' '),\n\t\t\tindices = data[3].split(''),\n\t\t\tuntils = data[4].split(' ');\n\n\t\tarrayToInt(offsets);\n\t\tarrayToInt(indices);\n\t\tarrayToInt(untils);\n\n\t\tintToUntil(untils, indices.length);\n\n\t\treturn {\n\t\t\tname : data[0],\n\t\t\tabbrs : mapIndices(data[1].split(' '), indices),\n\t\t\toffsets : mapIndices(offsets, indices),\n\t\t\tuntils : untils,\n\t\t\tpopulation : data[5] | 0\n\t\t};\n\t}\n\n\t/************************************\n\t\tZone object\n\t************************************/\n\n\tfunction Zone (packedString) {\n\t\tif (packedString) {\n\t\t\tthis._set(unpack(packedString));\n\t\t}\n\t}\n\n\tZone.prototype = {\n\t\t_set : function (unpacked) {\n\t\t\tthis.name = unpacked.name;\n\t\t\tthis.abbrs = unpacked.abbrs;\n\t\t\tthis.untils = unpacked.untils;\n\t\t\tthis.offsets = unpacked.offsets;\n\t\t\tthis.population = unpacked.population;\n\t\t},\n\n\t\t_index : function (timestamp) {\n\t\t\tvar target = +timestamp,\n\t\t\t\tuntils = this.untils,\n\t\t\t\ti;\n\n\t\t\tfor (i = 0; i < untils.length; i++) {\n\t\t\t\tif (target < untils[i]) {\n\t\t\t\t\treturn i;\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\tparse : function (timestamp) {\n\t\t\tvar target = +timestamp,\n\t\t\t\toffsets = this.offsets,\n\t\t\t\tuntils = this.untils,\n\t\t\t\tmax = untils.length - 1,\n\t\t\t\toffset, offsetNext, offsetPrev, i;\n\n\t\t\tfor (i = 0; i < max; i++) {\n\t\t\t\toffset = offsets[i];\n\t\t\t\toffsetNext = offsets[i + 1];\n\t\t\t\toffsetPrev = offsets[i ? i - 1 : i];\n\n\t\t\t\tif (offset < offsetNext && tz.moveAmbiguousForward) {\n\t\t\t\t\toffset = offsetNext;\n\t\t\t\t} else if (offset > offsetPrev && tz.moveInvalidForward) {\n\t\t\t\t\toffset = offsetPrev;\n\t\t\t\t}\n\n\t\t\t\tif (target < untils[i] - (offset * 60000)) {\n\t\t\t\t\treturn offsets[i];\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn offsets[max];\n\t\t},\n\n\t\tabbr : function (mom) {\n\t\t\treturn this.abbrs[this._index(mom)];\n\t\t},\n\n\t\toffset : function (mom) {\n\t\t\tlogError(\"zone.offset has been deprecated in favor of zone.utcOffset\");\n\t\t\treturn this.offsets[this._index(mom)];\n\t\t},\n\n\t\tutcOffset : function (mom) {\n\t\t\treturn this.offsets[this._index(mom)];\n\t\t}\n\t};\n\n\t/************************************\n\t\tCurrent Timezone\n\t************************************/\n\n\tfunction OffsetAt(at) {\n\t\tvar timeString = at.toTimeString();\n\t\tvar abbr = timeString.match(/\\([a-z ]+\\)/i);\n\t\tif (abbr && abbr[0]) {\n\t\t\t// 17:56:31 GMT-0600 (CST)\n\t\t\t// 17:56:31 GMT-0600 (Central Standard Time)\n\t\t\tabbr = abbr[0].match(/[A-Z]/g);\n\t\t\tabbr = abbr ? abbr.join('') : undefined;\n\t\t} else {\n\t\t\t// 17:56:31 CST\n\t\t\t// 17:56:31 GMT+0800 (台北標準時間)\n\t\t\tabbr = timeString.match(/[A-Z]{3,5}/g);\n\t\t\tabbr = abbr ? abbr[0] : undefined;\n\t\t}\n\n\t\tif (abbr === 'GMT') {\n\t\t\tabbr = undefined;\n\t\t}\n\n\t\tthis.at = +at;\n\t\tthis.abbr = abbr;\n\t\tthis.offset = at.getTimezoneOffset();\n\t}\n\n\tfunction ZoneScore(zone) {\n\t\tthis.zone = zone;\n\t\tthis.offsetScore = 0;\n\t\tthis.abbrScore = 0;\n\t}\n\n\tZoneScore.prototype.scoreOffsetAt = function (offsetAt) {\n\t\tthis.offsetScore += Math.abs(this.zone.utcOffset(offsetAt.at) - offsetAt.offset);\n\t\tif (this.zone.abbr(offsetAt.at).replace(/[^A-Z]/g, '') !== offsetAt.abbr) {\n\t\t\tthis.abbrScore++;\n\t\t}\n\t};\n\n\tfunction findChange(low, high) {\n\t\tvar mid, diff;\n\n\t\twhile ((diff = ((high.at - low.at) / 12e4 | 0) * 6e4)) {\n\t\t\tmid = new OffsetAt(new Date(low.at + diff));\n\t\t\tif (mid.offset === low.offset) {\n\t\t\t\tlow = mid;\n\t\t\t} else {\n\t\t\t\thigh = mid;\n\t\t\t}\n\t\t}\n\n\t\treturn low;\n\t}\n\n\tfunction userOffsets() {\n\t\tvar startYear = new Date().getFullYear() - 2,\n\t\t\tlast = new OffsetAt(new Date(startYear, 0, 1)),\n\t\t\toffsets = [last],\n\t\t\tchange, next, i;\n\n\t\tfor (i = 1; i < 48; i++) {\n\t\t\tnext = new OffsetAt(new Date(startYear, i, 1));\n\t\t\tif (next.offset !== last.offset) {\n\t\t\t\tchange = findChange(last, next);\n\t\t\t\toffsets.push(change);\n\t\t\t\toffsets.push(new OffsetAt(new Date(change.at + 6e4)));\n\t\t\t}\n\t\t\tlast = next;\n\t\t}\n\n\t\tfor (i = 0; i < 4; i++) {\n\t\t\toffsets.push(new OffsetAt(new Date(startYear + i, 0, 1)));\n\t\t\toffsets.push(new OffsetAt(new Date(startYear + i, 6, 1)));\n\t\t}\n\n\t\treturn offsets;\n\t}\n\n\tfunction sortZoneScores (a, b) {\n\t\tif (a.offsetScore !== b.offsetScore) {\n\t\t\treturn a.offsetScore - b.offsetScore;\n\t\t}\n\t\tif (a.abbrScore !== b.abbrScore) {\n\t\t\treturn a.abbrScore - b.abbrScore;\n\t\t}\n\t\treturn b.zone.population - a.zone.population;\n\t}\n\n\tfunction addToGuesses (name, offsets) {\n\t\tvar i, offset;\n\t\tarrayToInt(offsets);\n\t\tfor (i = 0; i < offsets.length; i++) {\n\t\t\toffset = offsets[i];\n\t\t\tguesses[offset] = guesses[offset] || {};\n\t\t\tguesses[offset][name] = true;\n\t\t}\n\t}\n\n\tfunction guessesForUserOffsets (offsets) {\n\t\tvar offsetsLength = offsets.length,\n\t\t\tfilteredGuesses = {},\n\t\t\tout = [],\n\t\t\ti, j, guessesOffset;\n\n\t\tfor (i = 0; i < offsetsLength; i++) {\n\t\t\tguessesOffset = guesses[offsets[i].offset] || {};\n\t\t\tfor (j in guessesOffset) {\n\t\t\t\tif (guessesOffset.hasOwnProperty(j)) {\n\t\t\t\t\tfilteredGuesses[j] = true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tfor (i in filteredGuesses) {\n\t\t\tif (filteredGuesses.hasOwnProperty(i)) {\n\t\t\t\tout.push(names[i]);\n\t\t\t}\n\t\t}\n\n\t\treturn out;\n\t}\n\n\tfunction rebuildGuess () {\n\n\t\t// use Intl API when available and returning valid time zone\n\t\ttry {\n\t\t\tvar intlName = Intl.DateTimeFormat().resolvedOptions().timeZone;\n\t\t\tif (intlName && intlName.length > 3) {\n\t\t\t\tvar name = names[normalizeName(intlName)];\n\t\t\t\tif (name) {\n\t\t\t\t\treturn name;\n\t\t\t\t}\n\t\t\t\tlogError(\"Moment Timezone found \" + intlName + \" from the Intl api, but did not have that data loaded.\");\n\t\t\t}\n\t\t} catch (e) {\n\t\t\t// Intl unavailable, fall back to manual guessing.\n\t\t}\n\n\t\tvar offsets = userOffsets(),\n\t\t\toffsetsLength = offsets.length,\n\t\t\tguesses = guessesForUserOffsets(offsets),\n\t\t\tzoneScores = [],\n\t\t\tzoneScore, i, j;\n\n\t\tfor (i = 0; i < guesses.length; i++) {\n\t\t\tzoneScore = new ZoneScore(getZone(guesses[i]), offsetsLength);\n\t\t\tfor (j = 0; j < offsetsLength; j++) {\n\t\t\t\tzoneScore.scoreOffsetAt(offsets[j]);\n\t\t\t}\n\t\t\tzoneScores.push(zoneScore);\n\t\t}\n\n\t\tzoneScores.sort(sortZoneScores);\n\n\t\treturn zoneScores.length > 0 ? zoneScores[0].zone.name : undefined;\n\t}\n\n\tfunction guess (ignoreCache) {\n\t\tif (!cachedGuess || ignoreCache) {\n\t\t\tcachedGuess = rebuildGuess();\n\t\t}\n\t\treturn cachedGuess;\n\t}\n\n\t/************************************\n\t\tGlobal Methods\n\t************************************/\n\n\tfunction normalizeName (name) {\n\t\treturn (name || '').toLowerCase().replace(/\\//g, '_');\n\t}\n\n\tfunction addZone (packed) {\n\t\tvar i, name, split, normalized;\n\n\t\tif (typeof packed === \"string\") {\n\t\t\tpacked = [packed];\n\t\t}\n\n\t\tfor (i = 0; i < packed.length; i++) {\n\t\t\tsplit = packed[i].split('|');\n\t\t\tname = split[0];\n\t\t\tnormalized = normalizeName(name);\n\t\t\tzones[normalized] = packed[i];\n\t\t\tnames[normalized] = name;\n\t\t\taddToGuesses(normalized, split[2].split(' '));\n\t\t}\n\t}\n\n\tfunction getZone (name, caller) {\n\t\t\n\t\tname = normalizeName(name);\n\n\t\tvar zone = zones[name];\n\t\tvar link;\n\n\t\tif (zone instanceof Zone) {\n\t\t\treturn zone;\n\t\t}\n\n\t\tif (typeof zone === 'string') {\n\t\t\tzone = new Zone(zone);\n\t\t\tzones[name] = zone;\n\t\t\treturn zone;\n\t\t}\n\n\t\t// Pass getZone to prevent recursion more than 1 level deep\n\t\tif (links[name] && caller !== getZone && (link = getZone(links[name], getZone))) {\n\t\t\tzone = zones[name] = new Zone();\n\t\t\tzone._set(link);\n\t\t\tzone.name = names[name];\n\t\t\treturn zone;\n\t\t}\n\n\t\treturn null;\n\t}\n\n\tfunction getNames () {\n\t\tvar i, out = [];\n\n\t\tfor (i in names) {\n\t\t\tif (names.hasOwnProperty(i) && (zones[i] || zones[links[i]]) && names[i]) {\n\t\t\t\tout.push(names[i]);\n\t\t\t}\n\t\t}\n\n\t\treturn out.sort();\n\t}\n\n\tfunction addLink (aliases) {\n\t\tvar i, alias, normal0, normal1;\n\n\t\tif (typeof aliases === \"string\") {\n\t\t\taliases = [aliases];\n\t\t}\n\n\t\tfor (i = 0; i < aliases.length; i++) {\n\t\t\talias = aliases[i].split('|');\n\n\t\t\tnormal0 = normalizeName(alias[0]);\n\t\t\tnormal1 = normalizeName(alias[1]);\n\n\t\t\tlinks[normal0] = normal1;\n\t\t\tnames[normal0] = alias[0];\n\n\t\t\tlinks[normal1] = normal0;\n\t\t\tnames[normal1] = alias[1];\n\t\t}\n\t}\n\n\tfunction loadData (data) {\n\t\taddZone(data.zones);\n\t\taddLink(data.links);\n\t\ttz.dataVersion = data.version;\n\t}\n\n\tfunction zoneExists (name) {\n\t\tif (!zoneExists.didShowError) {\n\t\t\tzoneExists.didShowError = true;\n\t\t\t\tlogError(\"moment.tz.zoneExists('\" + name + \"') has been deprecated in favor of !moment.tz.zone('\" + name + \"')\");\n\t\t}\n\t\treturn !!getZone(name);\n\t}\n\n\tfunction needsOffset (m) {\n\t\tvar isUnixTimestamp = (m._f === 'X' || m._f === 'x');\n\t\treturn !!(m._a && (m._tzm === undefined) && !isUnixTimestamp);\n\t}\n\n\tfunction logError (message) {\n\t\tif (typeof console !== 'undefined' && typeof console.error === 'function') {\n\t\t\tconsole.error(message);\n\t\t}\n\t}\n\n\t/************************************\n\t\tmoment.tz namespace\n\t************************************/\n\n\tfunction tz (input) {\n\t\tvar args = Array.prototype.slice.call(arguments, 0, -1),\n\t\t\tname = arguments[arguments.length - 1],\n\t\t\tzone = getZone(name),\n\t\t\tout = moment.utc.apply(null, args);\n\n\t\tif (zone && !moment.isMoment(input) && needsOffset(out)) {\n\t\t\tout.add(zone.parse(out), 'minutes');\n\t\t}\n\n\t\tout.tz(name);\n\n\t\treturn out;\n\t}\n\n\ttz.version = VERSION;\n\ttz.dataVersion = '';\n\ttz._zones = zones;\n\ttz._links = links;\n\ttz._names = names;\n\ttz.add = addZone;\n\ttz.link = addLink;\n\ttz.load = loadData;\n\ttz.zone = getZone;\n\ttz.zoneExists = zoneExists; // deprecated in 0.1.0\n\ttz.guess = guess;\n\ttz.names = getNames;\n\ttz.Zone = Zone;\n\ttz.unpack = unpack;\n\ttz.unpackBase60 = unpackBase60;\n\ttz.needsOffset = needsOffset;\n\ttz.moveInvalidForward = true;\n\ttz.moveAmbiguousForward = false;\n\n\t/************************************\n\t\tInterface with Moment.js\n\t************************************/\n\n\tvar fn = moment.fn;\n\n\tmoment.tz = tz;\n\n\tmoment.defaultZone = null;\n\n\tmoment.updateOffset = function (mom, keepTime) {\n\t\tvar zone = moment.defaultZone,\n\t\t\toffset;\n\n\t\tif (mom._z === undefined) {\n\t\t\tif (zone && needsOffset(mom) && !mom._isUTC) {\n\t\t\t\tmom._d = moment.utc(mom._a)._d;\n\t\t\t\tmom.utc().add(zone.parse(mom), 'minutes');\n\t\t\t}\n\t\t\tmom._z = zone;\n\t\t}\n\t\tif (mom._z) {\n\t\t\toffset = mom._z.utcOffset(mom);\n\t\t\tif (Math.abs(offset) < 16) {\n\t\t\t\toffset = offset / 60;\n\t\t\t}\n\t\t\tif (mom.utcOffset !== undefined) {\n\t\t\t\tmom.utcOffset(-offset, keepTime);\n\t\t\t} else {\n\t\t\t\tmom.zone(offset, keepTime);\n\t\t\t}\n\t\t}\n\t};\n\n\tfn.tz = function (name, keepTime) {\n\t\tif (name) {\n\t\t\tif (typeof name !== 'string') {\n\t\t\t\tthrow new Error('Time zone name must be a string, got ' + name + ' [' + typeof name + ']');\n\t\t\t}\n\t\t\tthis._z = getZone(name);\n\t\t\tif (this._z) {\n\t\t\t\tmoment.updateOffset(this, keepTime);\n\t\t\t} else {\n\t\t\t\tlogError(\"Moment Timezone has no data for \" + name + \". See http://momentjs.com/timezone/docs/#/data-loading/.\");\n\t\t\t}\n\t\t\treturn this;\n\t\t}\n\t\tif (this._z) { return this._z.name; }\n\t};\n\n\tfunction abbrWrap (old) {\n\t\treturn function () {\n\t\t\tif (this._z) { return this._z.abbr(this); }\n\t\t\treturn old.call(this);\n\t\t};\n\t}\n\n\tfunction resetZoneWrap (old) {\n\t\treturn function () {\n\t\t\tthis._z = null;\n\t\t\treturn old.apply(this, arguments);\n\t\t};\n\t}\n\n\tfn.zoneName = abbrWrap(fn.zoneName);\n\tfn.zoneAbbr = abbrWrap(fn.zoneAbbr);\n\tfn.utc = resetZoneWrap(fn.utc);\n\n\tmoment.tz.setDefault = function(name) {\n\t\tif (major < 2 || (major === 2 && minor < 9)) {\n\t\t\tlogError('Moment Timezone setDefault() requires Moment.js >= 2.9.0. You are using Moment.js ' + moment.version + '.');\n\t\t}\n\t\tmoment.defaultZone = name ? getZone(name) : null;\n\t\treturn moment;\n\t};\n\n\t// Cloning a moment should include the _z property.\n\tvar momentProperties = moment.momentProperties;\n\tif (Object.prototype.toString.call(momentProperties) === '[object Array]') {\n\t\t// moment 2.8.1+\n\t\tmomentProperties.push('_z');\n\t\tmomentProperties.push('_a');\n\t} else if (momentProperties) {\n\t\t// moment 2.7.0\n\t\tmomentProperties._z = null;\n\t}\n\n\t// INJECT DATA\n\n\treturn moment;\n}));\n","var moment = module.exports = require(\"./moment-timezone\");\nmoment.tz.load(require('./data/packed/latest.json'));\n","import moment from 'moment-timezone';\n\nimport { each } from '../../utils/each';\nimport { stripHtmlTags } from '../../utils/strip-html-tags';\nimport { escapeHtml } from '../../utils/escape-html';\n\nconst defaults = {\n /*\n DEPRECATED - use CSS styles\n\n height: undefined,\n width: undefined,\n stickyHeader: false,\n stickyFooter: false\n */\n};\n\nlet currentPage;\nfunction _generateTableRows(datavizInstance, dataset) {\n let html = '';\n const defaultConfig = {\n page: 1,\n limit: 0,\n arrows: true\n };\n let customConfig = {};\n if (datavizInstance.config.table && datavizInstance.config.table.pagination) {\n customConfig = datavizInstance.config.table.pagination;\n }\n const config = {\n ...defaultConfig,\n ...customConfig\n };\n\n if (!currentPage){\n currentPage = config.page;\n }\n\n let datasetPaginated;\n let pages = 0;\n if (config.limit === 0) {\n datasetPaginated = dataset.slice(1); // remove header\n } else {\n const start = config.limit * (currentPage - 1) + 1;\n const end = start + config.limit;\n datasetPaginated = dataset.slice(start, end);\n pages = Math.ceil((dataset.length - 1) / config.limit);\n }\n\n let columnsArray = datavizInstance.config.table.columns ?\n datavizInstance.config.table.columns :\n datavizInstance.dataset.matrix[0];\n\n const checkArray = {};\n const { mapValues } = datavizInstance.config.table;\n for (let key in mapValues){\n checkArray[columnsArray.indexOf(key)] = key;\n }\n\n // var london = newYork.clone().tz(\"Europe/London\");\n for (let row of datasetPaginated) {\n html += '';\n for (let [index, rowCol] of row.entries()) {\n if (\n datavizInstance.config.timezone\n && rowCol instanceof Date\n ) {\n let dateTimeTimezoned = moment\n .tz(rowCol, \"UTC\")\n .clone()\n .tz(datavizInstance.config.timezone);\n html += `${dateTimeTimezoned.toString()}`;\n continue;\n }\n let rowColEscaped = escapeHtml(rowCol);\n if(checkArray[index]){\n html += `${mapValues[checkArray[index]](rowColEscaped)}`;\n continue;\n }\n html += `${rowColEscaped}`\n }\n html += '';\n }\n\n if (pages > 1){\n html += ``;\n let pageNumber = 1;\n const prevPage = (currentPage === 1) ? 1 : (currentPage - 1);\n const nextPage = (currentPage === pages) ? pages : (currentPage + 1);\n if (config.arrows){\n html += `<`;\n }\n while (pageNumber <= pages){\n html += `${pageNumber}`;\n pageNumber++;\n }\n if (config.arrows){\n html += `>`;\n }\n html += '';\n }\n\n return html;\n}\n\nfunction _generateTableHeader(datavizInstance, dataset) {\n let html = '';\n let fieldNumber = -1;\n let columnNames =\n (datavizInstance.config.table && datavizInstance.config.table.columns)\n || dataset[0];\n for (let colName of columnNames) {\n let colNameEscaped = escapeHtml(colName);\n fieldNumber +=1;\n html += `${colNameEscaped}`;\n }\n return html;\n}\n\n\n const render = function() {\n const dataset = this.dataset.matrix;\n\n const el = this.el();\n const theme = this.config.theme;\n const datavizInstance = this;\n\n let html = '';\n\n const isEmpty = dataset.length === 1 && dataset[0].length === 0;\n if (isEmpty) {\n const msg = 'No data to display';\n const mappedMsg = this.config.errorMapping[msg] || msg;\n if (this.config.showErrorMessages) {\n this.message(mappedMsg);\n }\n return;\n }\n\n // Open wrapper\n html += `
`;\n\n // Static, scrollable table\n html += ``;\n html += '';\n html += '';\n html += _generateTableHeader(datavizInstance, dataset);\n html += '';\n html += '';\n // Table data\n html += '';\n html += _generateTableRows(datavizInstance, dataset);\n html += '';\n html += '
';\n/* */\n // Close wrapper\n html += '
';\n\n // Inject HTML string\n el.querySelector(`.${theme}-rendering`).innerHTML = html;\n\n el\n .querySelectorAll(`.${theme}-rendering th`)\n .forEach((item) => {\n item.addEventListener('click', (event) => {\n let sortOrder = event.target.getAttribute('order') || 'asc';\n let fieldNumber = event.target.getAttribute('fieldNumber');\n let checker = function (a, b) {\n let sortOrderNumber = (sortOrder === 'asc') ? 1 : -1;\n\n if (typeof a[fieldNumber] === 'string') {\n let nameA = a[fieldNumber].toUpperCase(); // ignore upper and lowercase\n let nameB = b[fieldNumber].toUpperCase(); // ignore upper and lowercase\n if (nameA < nameB) {\n return -1 * sortOrderNumber;\n }\n if (nameA > nameB) {\n return 1* sortOrderNumber;\n }\n\n // names must be equal\n return 0;\n }\n return (a[fieldNumber] - b[fieldNumber]) * sortOrderNumber;\n };\n\n if (sortOrder === 'asc') {\n sortOrder = 'desc';\n } else {\n sortOrder = 'asc'\n }\n event.target.setAttribute('order', sortOrder);\n\n const first = this.dataset.matrix.shift();\n this.dataset.matrix.sort(checker);\n this.dataset.matrix.unshift(first);\n\n el.querySelector(`.${theme}-rendering tbody`).innerHTML =\n _generateTableRows(datavizInstance, dataset);\n attachBtnEventListeners();\n });\n });\n\n\n const attachBtnEventListeners = () => {\n el.querySelectorAll('.btn').forEach(btn => {\n btn.addEventListener('click', (event) => {\n currentPage = parseInt(event.target.getAttribute('data-page'));\n el.querySelector(`.${theme}-rendering tbody`).innerHTML =\n _generateTableRows(datavizInstance, dataset);\n attachBtnEventListeners();\n }, true);\n });\n };\n\n attachBtnEventListeners(datavizInstance, el, theme);\n\n if (this.config.onrendered) {\n this.config.onrendered();\n }\n };\n\n\n\nconst update = function(){\n // no special update handling\n this.render();\n };\n\nconst destroy= function(){};\n\nexport default { render, update, destroy };\n","export function prettyNumber(input) {\n // If it has 3 or fewer sig figs already, just return the number.\n var input = Number(input),\n sciNo = input.toPrecision(3),\n prefix = '',\n suffixes = ['', 'k', 'M', 'B', 'T'];\n\n if (Number(sciNo) == input && String(input).length <= 4) {\n return String(input);\n }\n\n if (Math.abs(input) >= 1000000000000000) {\n return sciNo;\n }\n\n if (input >= 1 || input <= -1) {\n if (input < 0){\n //Pull off the negative side and stash that.\n input = -input;\n prefix = '-';\n }\n return prefix + recurse(input, 0);\n }\n else {\n return input.toPrecision(3);\n }\n\n function recurse(input, iteration) {\n var input = String(input);\n var split = input.split('.');\n // If there's a dot\n if (split.length > 1) {\n // Keep the left hand side only\n input = split[0];\n var rhs = split[1];\n // If the left-hand side is too short, pad until it has 3 digits\n if (input.length == 2 && rhs.length > 0) {\n // Pad with right-hand side if possible\n if (rhs.length > 0) {\n input = input + '.' + rhs.charAt(0);\n }\n // Pad with zeroes if you must\n else {\n input += '0';\n }\n }\n else if (input.length == 1 && rhs.length > 0) {\n input = input + '.' + rhs.charAt(0);\n // Pad with right-hand side if possible\n if (rhs.length > 1) {\n input += rhs.charAt(1);\n }\n // Pad with zeroes if you must\n else {\n input += '0';\n }\n }\n }\n var numNumerals = input.length;\n // if it has a period, then numNumerals is 1 smaller than the string length:\n if (input.split('.').length > 1) {\n numNumerals--;\n }\n if (numNumerals <= 3) {\n return String(input) + suffixes[iteration];\n }\n else {\n return recurse(Number(input) / 1000, iteration + 1);\n }\n }\n}\n","import { prettyNumber } from '../../utils/pretty-number';\nimport { escapeHtml } from '../../utils/escape-html';\n\nexport default {\n render: function(){\n const color = this.config.colors[0];\n const theme = this.config.theme;\n const title = this.config.title;\n const opts = this.config;\n let value = '-';\n let html = '';\n let prefix = '';\n let suffix = '';\n let formattedNum;\n let valueEl;\n let flexDifferenceStyle = '';\n let resultDifference = '';\n let differenceStyle = '';\n let smallerValue = '';\n const { results, previousResults } = this.config;\n if(results && previousResults){\n flexDifferenceStyle = previousResults ? ' metric-comparison' : '';\n smallerValue = previousResults && title ? '-smaller' : '';\n resultDifference = results.result - previousResults.result;\n differenceStyle = (resultDifference > 0) ? '-green' : '-red';\n resultDifference = Math.abs(resultDifference);\n }\n\n if (typeof this.data()[1][1] === 'number') {\n value = this.data()[1][1];\n }\n\n formattedNum = value;\n if ( (typeof opts['prettyNumber'] === 'undefined' || opts['prettyNumber'] === true)\n && !isNaN(parseInt(value)) ) {\n formattedNum = prettyNumber(value);\n if(results && previousResults){\n resultDifference = prettyNumber(resultDifference);\n }\n }\n\n if (opts['prefix']) {\n prefix = '' + opts['prefix'] + '';\n }\n if (opts['suffix']) {\n suffix = '' + opts['suffix'] + '';\n }\n html += '
';\n html += '
';\n if (results && previousResults) {\n html += '
' + escapeHtml(resultDifference) + '
';\n }\n html += '
' + prefix + escapeHtml(formattedNum) + suffix + '
';\n if (title) {\n html += '
' + escapeHtml(title) + '
';\n }\n html += '
';\n html += '
';\n\n this.el().innerHTML = html;\n\n if (this.config.onrendered) {\n this.config.onrendered();\n }\n },\n update: function(){\n // no special update handling\n this.render();\n },\n destroy: function(){\n // no special clean-up\n }\n};\n","import { escapeHtml } from '../../utils/escape-html';\n\nexport default {\n render: function(text){\n const outer = document.createElement('div');\n const inner = document.createElement('div');\n const msg = document.createElement('span');\n\n const titleContainer = document.createElement('div');\n const notesContainer = document.createElement('div');\n\n outer.className = this.config.theme + ' keen-dataviz-box';\n inner.className = this.config.theme + '-message';\n\n // Create title and notes for message\n titleContainer.className = this.config.theme + '-title';\n titleContainer.innerHTML = escapeHtml(this.config.title || '');\n notesContainer.className = this.config.theme + '-notes';\n notesContainer.innerHTML = escapeHtml(this.config.notes || '');\n\n msg.innerHTML = escapeHtml(text) || '';\n inner.appendChild(msg);\n\n if (this.config.title && this.config.showTitle) {\n outer.appendChild(titleContainer);\n }\n\n outer.appendChild(inner);\n\n if (this.config.notes) {\n outer.appendChild(notesContainer);\n }\n\n this.el().innerHTML = '';\n this.el().appendChild(outer);\n\n },\n update: function(){\n // no special update handling\n this.render();\n },\n destroy: function(){\n // no special clean-up\n }\n};\n","import { escapeHtml } from '../../../utils/escape-html';\n\nexport default function (d, defaultTitleFormat, defaultValueFormat, color) {\n let text;\n let title;\n // Set config options or defaults\n const nameFormat = this.config.tooltip_format_name || function (name) { return name; };\n const titleFormat = this.config.tooltip_format_title || defaultTitleFormat;\n const valueFormat = this.config.tooltip_format_value || defaultValueFormat;\n\n // Reverse list to match legend\n for (let i = 0; i < d.length; i++) {\n if (! (d[i] && (d[i].value || d[i].value === 0))) { continue; }\n if (!text) {\n title = titleFormat ? titleFormat(d[i].x) : d[i].x;\n text = \"\" + (title || title === 0 ? \"\" : \"\");\n }\n let name = nameFormat(d[i].name);\n let value = valueFormat(d[i].value, d[i].ratio, d[i].id, d[i].index);\n let bgcolor = this.levelColor ? this.levelColor(d[i].value) : color(d[i].id);\n if (value) {\n text += \"\";\n if (name.indexOf('__tooltip_ignore_name_field__') === -1) {\n text += \"\";\n }\n text += \"\";\n text += \"\";\n }\n }\n return text + \"
\" + escapeHtml(title) + \"
\" + escapeHtml(name) + \"\" + escapeHtml(value) + \"
\";\n}\n","import * as d3 from 'd3';\n\nimport isDateString from '../../../utils/assert-date-string';\n\nexport default function (options) {\n const cols = options.data.columns;\n const datavizInstance = this;\n const chart = this.view._artifacts.c3;\n let columns = [];\n const domNode = this.el().querySelector('.' + datavizInstance.config.theme + '-rendering');\n const legendConfig = datavizInstance.config.legend;\n\n const pagination = this.view._artifacts.pagination = {\n ...{\n hidden: [],\n labels: [],\n offset: 0,\n limit: Math.round((domNode.offsetHeight - 78) / 20),\n total: 0\n },\n ...legendConfig.pagination\n };\n\n if (options.legend.sort) {\n columns = options.legend.sort(cols);\n\n // update column order in the data, so tooltip will be the same order\n const columnsSorted = [];\n const dataColumnsSorted = [];\n if (cols[0][0] === 'x') {\n dataColumnsSorted.push(cols[0]);\n }\n columns.forEach(column => {\n let columnData = options.data.columns.find(item => item[0] === column);\n dataColumnsSorted.push(columnData);\n });\n options.data.columns = dataColumnsSorted;\n } else {\n for (let i = 0; i < cols.length; i++) {\n if (cols[i][0] !== 'x' && !isDateString(cols[i][1])) {\n columns.push(cols[i][0]);\n }\n }\n }\n\n const legendElement = this.el().querySelector('.keen-c3-legend');\n\n let align = 'vertical';\n if (legendConfig.position === 'top' || legendConfig.position === 'bottom') {\n align = 'horizontal';\n }\n\n const paginateHorizontalLeftElement = document.createElement('div');\n paginateHorizontalLeftElement.setAttribute('class', 'keen-c3-legend-pagination-icons keen-c3-legend-horizontal-pagination-left');\n if (align === 'horizontal') {\n legendElement.append(paginateHorizontalLeftElement);\n }\n\n const legendItemsElement = document.createElement('div');\n legendItemsElement.setAttribute('class', `keen-c3-legend-items keen-c3-legend-${align}-items`);\n legendElement.append(legendItemsElement);\n\n const paginateVerticalElement = document.createElement('div');\n paginateVerticalElement.setAttribute('class', 'keen-c3-legend-pagination keen-c3-legend-pagination-icons');\n if (align === 'vertical') {\n legendElement.append(paginateVerticalElement);\n }\n\n const paginateHorizontalRightElement = document.createElement('div');\n paginateHorizontalRightElement.setAttribute('class', 'keen-c3-legend-pagination-icons keen-c3-legend-horizontal-pagination-right');\n if (align === 'horizontal') {\n legendElement.append(paginateHorizontalRightElement);\n }\n\n paginateData();\n\n function paginateData(){\n pagination.labels = columns.slice(pagination.offset, pagination.offset + pagination.limit);\n pagination.total = columns.length;\n renderLegendComponent.call(datavizInstance, pagination.labels);\n if (pagination.total > pagination.limit) {\n renderPaginationComponent.call(datavizInstance);\n }\n if (options.onPaginated){\n options.onPaginated();\n }\n }\n\n function renderLegendComponent(){\n legendItemsElement.innerHTML = '';\n\n pagination.labels.forEach(label => {\n const labelShortened = legendConfig.label.textMaxLength ? label.slice(0, legendConfig.label.textMaxLength - 1) : label;\n const legendItem = document.createElement(\"div\");\n legendItem.innerHTML = `${labelShortened}`;\n legendItem.chartPartId = label;\n legendItem.setAttribute('class', 'legend-item');\n legendItemsElement.append(legendItem);\n\n const legendItemColorSample = document.createElement(\"span\");\n legendItemColorSample.setAttribute('class', 'legend-item-color-sample');\n legendItemColorSample.style.backgroundColor = chart.color(legendItem.chartPartId);\n legendItem.prepend(legendItemColorSample);\n\n const tooltipElement = document.createElement(\"div\");\n legendItem.addEventListener('mouseover', (event) => {\n chart.focus(legendItem.chartPartId);\n if (legendConfig.tooltip.show && legendItem.chartPartId.length > legendConfig.label.textMaxLength) {\n tooltipElement.setAttribute('class', `keen-c3-legend-label-overlay keen-c3-legend-position-${legendConfig.position}`);\n tooltipElement.innerHTML =\n `${\n options.legend.tooltip.pointer ? `
` : ``\n }${legendItem.chartPartId}`;\n legendItem.append(tooltipElement);\n }\n });\n legendItem.addEventListener('mouseout', (event) => {\n chart.revert();\n tooltipElement.remove();\n });\n legendItem.addEventListener('click', (event) => {\n let opacity = 1;\n const isHidden = pagination.hidden.indexOf(legendItem.chartPartId);\n if (isHidden < 0) {\n pagination.hidden.push(legendItem.chartPartId);\n opacity = .35;\n }\n else {\n pagination.hidden.splice(isHidden, 1);\n opacity = 1;\n }\n legendItem.style.opacity = opacity;\n chart.toggle(legendItem.chartPartId);\n });\n });\n\n if (options.onLegendRendered){\n options.onLegendRendered();\n options.onLegendRendered = null;\n }\n\n }\n\n function renderPaginationComponent(){\n paginateVerticalElement.innerHTML = '';\n paginateHorizontalLeftElement.innerHTML = '';\n paginateHorizontalRightElement.innerHTML = '';\n\n const arrowUp = document.createElement('i');\n const arrowDown = document.createElement('i');\n\n const paginate = (direction) => {\n if (direction === 'forward') {\n const diff = pagination.offset + pagination.limit;\n if (diff < pagination.total) {\n pagination.offset = diff;\n return;\n }\n pagination.offset = 0;\n return;\n }\n\n const diff = pagination.offset - pagination.limit;\n if (diff >= 0) {\n pagination.offset = diff;\n return;\n }\n\n pagination.offset = Math.floor(pagination.total/pagination.limit) * pagination.limit;\n };\n\n arrowDown.addEventListener('click', () => {\n paginate('forward');\n paginateData();\n clearSelectedText();\n });\n\n arrowUp.addEventListener('click', () => {\n paginate('backward');\n paginateData();\n clearSelectedText();\n });\n\n if (legendConfig.position === 'left' || legendConfig.position === 'right') {\n arrowUp.setAttribute('class', 'up');\n arrowDown.setAttribute('class', 'down');\n paginateVerticalElement.append(arrowDown);\n paginateVerticalElement.append(arrowUp);\n } else {\n // bottom top\n arrowUp.setAttribute('class', 'left');\n arrowDown.setAttribute('class', 'right');\n paginateHorizontalLeftElement.append(arrowUp);\n paginateHorizontalRightElement.append(arrowDown);\n }\n\n }\n\n function clearSelectedText() {\n let selection;\n if (document.selection && document.selection.empty) {\n selection = document.selection;\n selection.empty();\n }\n else if (window.getSelection) {\n selection = window.getSelection();\n selection.removeAllRanges();\n }\n }\n}\n","export default function (startDate, endDate) {\n const timeDiff = Math.abs(new Date(startDate).getTime() - new Date(endDate).getTime());\n const months = [\n 'Jan',\n 'Feb',\n 'Mar',\n 'Apr',\n 'May',\n 'June',\n 'July',\n 'Aug',\n 'Sept',\n 'Oct',\n 'Nov',\n 'Dec'\n ];\n\n // Yearly (31536000000) + Monthly\n if (timeDiff >= 2419200000) {\n return function(ms){\n const date = new Date(ms);\n return months[date.getMonth()] + ' ' + date.getFullYear();\n };\n }\n // Daily\n else if (timeDiff >= 86400000) {\n return function(ms){\n const date = new Date(ms);\n return months[date.getMonth()] + ' ' + date.getDate();\n };\n }\n // Hourly\n else if (timeDiff >= 3600000) {\n return '%I:%M %p';\n }\n // Minutely\n else {\n return '%I:%M:%S %p';\n }\n}\n","import c3 from 'c3';\n\nimport { each } from '../utils/each';\nimport { extend } from '../utils/extend';\nimport { extendDeep } from '../utils/extend-deep';\nimport isDateString from '../utils/assert-date-string';\nimport c3DefaultDateFormat from './c3/extensions/default-date-format';\nimport c3PaginatingLegend from './c3/extensions/paginating-legend';\nimport c3TooltipContents from './c3/extensions/tooltip-contents';\n\nimport message from './default/message';\nimport metric from './default/metric';\nimport table from './default/table';\nimport spinner from './default/spinner';\n\nexport default function(lib) {\n let timer;\n bindResizeListener(function(){\n if (timer) {\n clearTimeout(timer);\n }\n const delay = (lib.visuals.length > 12) ? 1000 : 250;\n timer = setTimeout(function(){\n each(lib.visuals, function(chart){\n if (chart.view._artifacts.c3) {\n chart.view._artifacts.c3.resize();\n }\n });\n }, delay);\n });\n\n // FIX for c3 tooltip bug - REMOVE when https://github.com/c3js/c3/pull/2476 is merged\n if (c3.chart && c3.chart.internal && c3.chart.internal.fn) {\n c3.chart.internal.fn.horizontalDistance = function(data, pos) {\n var $$ = this,\n config = $$.config,\n xIndex = config.axis_rotated ? 1 : 0,\n x = $$.x(data.x);\n return Math.abs(x - pos[xIndex]);\n };\n c3.chart.internal.fn.findClosest = function (values, pos) {\n const CLASS = c3.chart.internal.fn.CLASS;\n var $$ = this,\n minDist = $$.config.point_sensitivity,\n minDist = Infinity,\n closest;\n // find mouseovering bar\n values.filter(function (v) {\n return v && $$.isBarType(v.id);\n }).forEach(function (v) {\n var shape = $$.main.select('.' + CLASS.bars + $$.getTargetSelectorSuffix(v.id) + ' .' + CLASS.bar + '-' + v.index).node();\n if (!closest && $$.isWithinBar($$.d3.mouse(shape), shape)) {\n closest = v;\n }\n });\n // find closest point from non-bar\n values.filter(function (v) {\n return v && !$$.isBarType(v.id);\n }).forEach(function (v) {\n var d = $$.dist(v, pos);\n var d = $$.horizontalDistance(v, pos);\n if (d < minDist) {\n minDist = d;\n closest = v;\n }\n });\n return closest;\n };\n }\n\n return defineC3();\n};\n\nfunction defineC3(){\n const types = {\n message,\n metric,\n table,\n spinner,\n };\n\n const c3Types = [\n // Standard types\n 'area',\n 'area-spline',\n 'area-step',\n 'bar',\n 'donut',\n 'gauge',\n 'line',\n 'pie',\n 'step',\n 'spline',\n\n // Horizontal variant types\n 'horizontal-area',\n 'horizontal-area-spline',\n 'horizontal-area-step',\n 'horizontal-bar',\n 'horizontal-line',\n 'horizontal-step',\n 'horizontal-spline'\n ];\n\n const getPaddings = (element, paddingName) => {\n return parseInt(window.getComputedStyle(element)[`padding${paddingName}`].replace('px', ''));\n }\n\n function getDefaultOptions(){\n\n const ENFORCED_OPTIONS = {\n bindto: this.el().querySelector('.' + this.config.theme + '-rendering .c3-chart'),\n color: {\n pattern: this.config.colors\n },\n data: {\n colors: { ...this.config.colorMapping },\n columns: [],\n type: this.config.type.replace('horizontal-', '')\n },\n };\n\n const renderingElement = this.el();\n// .querySelector('.' + this.config.theme + '-rendering');\n\n let height = renderingElement.offsetHeight;\n\n height -= (getPaddings(renderingElement, 'Top') + getPaddings(renderingElement, 'Bottom'));\n\n if (this.config.showTitle) {\n const titleElement = this.el().querySelector('.keen-dataviz-title');\n if (titleElement) {\n height -= titleElement.offsetHeight;\n } else {\n height -= parseInt(\n window\n .getComputedStyle(this.el(), null)\n ['font-size'].replace('px','')\n );\n }\n }\n\n if (this.config.notes) {\n const notesElement = this.el().querySelector('.keen-dataviz-notes');\n if (notesElement) {\n height -= notesElement.offsetHeight;\n } else {\n height -= parseInt(\n window\n .getComputedStyle(this.el(), null)\n ['font-size'].replace('px','')\n );\n }\n }\n\n let width = this.el().querySelector('.c3-chart').offsetWidth\n - (getPaddings(renderingElement, 'Left') + getPaddings(renderingElement, 'Right'));\n if (width < 0) {\n width = 0;\n }\n\n const DEFAULT_OPTIONS = {\n size: {\n width,\n height:\n height > 0 ?\n height\n : undefined,\n }\n };\n\n return extendDeep({}, DEFAULT_OPTIONS, this.config, ENFORCED_OPTIONS);\n }\n\n each(c3Types, function(type, index) {\n types[type] = {\n render: function(){\n const options = getDefaultOptions.call(this);\n\n if (!!this.config.clearOnRender && options.data.columns.length > 0) {\n options.data.columns.splice(1);\n }\n\n if (this.data()[0].length === 1 || this.data().length === 1) {\n const msg = 'No data to display';\n const mappedMsg = this.config.errorMapping[msg] || msg;\n if (this.config.showErrorMessages) {\n this.message(mappedMsg);\n }\n return;\n }\n\n let removeLegend = false;\n\n if (type === 'gauge') {\n // Accommodate a neat bug:\n options.legend.show = false;\n options.data.columns = [[\n this.config.title || this.data()[1][0],\n this.data()[1][1]\n ]];\n removeLegend = true;\n }\n else if (type === 'pie' || type === 'donut') {\n options.data.columns = this.data().slice(1);\n }\n else {\n\n // Apply formatting for horizontal variant types\n if (type.indexOf('horizontal-') > -1) {\n options.axis.rotated = type.indexOf('horizontal-') > -1;\n }\n\n if (isDateString(this.data()[1][0])) {\n // TIMESERIES\n options.axis.x = options.axis.x || {};\n options.axis.x.type = 'timeseries';\n options.axis.x.tick = options.axis.x.tick || {\n format: this.config.dateFormat || c3DefaultDateFormat(this.data()[1][0], this.data()[2] ? this.data()[2][0] : this.data()[1][0]),\n culling: { max: 5 }\n };\n\n options.data.columns[0] = [];\n each(this.dataset.selectColumn(0), function(cell, i){\n if (i > 0) {\n cell = new Date(cell);\n }\n options.data.columns[0][i] = cell;\n });\n options.data.columns[0][0] = 'x';\n options.data.x = 'x';\n if (this.config.stacked && this.data()[0].length > 2) {\n options.data.groups = [ this.dataset.selectRow(0).slice(1) ];\n }\n }\n else {\n // CATEGORIES\n options.axis.x = options.axis.x || {};\n options.axis.x.type = 'category';\n options.axis.x.categories = this.dataset.selectColumn(0).slice(1);\n if (this.config.stacked && this.data()[0].length > 2) {\n options.data.groups = [ this.dataset.selectRow(0).slice(1) ];\n }\n }\n\n if (this.data()[0].length === 2) {\n options.legend.show = false;\n removeLegend = true;\n }\n\n each(this.data()[0], function(cell, i){\n if (i > 0) {\n options.data.columns.push(this.dataset.selectColumn(i));\n }\n }.bind(this));\n }\n\n if (removeLegend){\n const legendElement = this.el().querySelector('.keen-c3-legend');\n if (legendElement) {\n legendElement.remove();\n options.size.width = this.el().querySelector('.c3-chart').offsetWidth;\n }\n options.legend.show = false;\n }\n\n const chartTypesWithPartialIntervalIndicator = ['area', 'area-spline', 'area-step', 'line', 'spline', 'step'];\n\n if (options.partialIntervalIndicator\n && options.partialIntervalIndicator.show\n && chartTypesWithPartialIntervalIndicator.indexOf(options.type) > -1\n ) {\n const results = options.data.columns && options.data.columns[0];\n if (results && results.length > 1) {\n const partialResultsRegion = {\n axis: 'x',\n start: new Date(results[results.length-2]),\n class: options.partialIntervalIndicator.className\n };\n options.regions = [...(options.regions || []), partialResultsRegion];\n }\n }\n\n if (\n !(options.tooltip && options.tooltip.show === false)\n &&\n (options.legend.show === true ||\n (options.legend\n && options.legend.tooltip\n && options.legend.tooltip.show)\n )) {\n // Apply custom tooltip\n options.tooltip = {\n contents: c3TooltipContents,\n format: {\n title: this.config.tooltip.format.title,\n value: (value, ratio, id, index) => {\n let valueFormatted = c3CustomTooltipFiltering.call(this, value, ratio, id, index);\n if (this.config.tooltip && this.config.tooltip.format && this.config.tooltip.format.value)\n {\n valueFormatted = this.config.tooltip.format.value.call(this, valueFormatted, ratio, id, index);\n }\n return valueFormatted;\n }\n }\n };\n }\n\n if (options.legend.show === true) {\n const c3options = { ...options };\n // Apply custom color handling\n c3options.data.color = c3CustomDataMapping.bind(this);\n\n c3options.legend.hide = true; // hide default c3 legend\n\n // Render artifacts\n this.view._artifacts['c3'] = c3.generate(c3options);\n\n c3PaginatingLegend.call(this, {...options, onLegendRendered: () => {\n const legendElement = this.el().querySelector('.keen-c3-legend');\n if (legendElement) {\n if (\n options.legend.position === 'top' ||\n options.legend.position === 'bottom'\n ) {\n c3options.size.height -= legendElement.offsetHeight;\n this.view._artifacts['c3'].resize({ height: c3options.size.height });\n } else {\n if (c3options.size.width === 0) {\n c3options.size.width = this.el().offsetWidth\n - getPaddings(this.el(), 'Left')\n - getPaddings(this.el(), 'Right');\n }\n c3options.size.width -= legendElement.offsetWidth;\n this.view._artifacts['c3'].resize({ width: c3options.size.width });\n }\n }\n },\n onPaginated: () => {\n this.view._artifacts['c3'].flush();\n }\n });\n }\n else {\n this.view._artifacts['c3'] = c3.generate(options);\n }\n\n },\n update: function(){\n // no special update handling\n this.render();\n },\n destroy: function(){\n if (this.view._artifacts['c3']) {\n this.view._artifacts['c3'].destroy();\n this.view._artifacts['c3'] = null;\n }\n }\n };\n });\n\n return types;\n}\n\nfunction c3CustomDataMapping(color, d) {\n const type = this.config.type;\n if (this.view._artifacts.pagination\n && type !== 'gauge'\n /*&& this.type() !== 'pie'\n && this.type() !== 'donut'*/) {\n const scope = this.view._artifacts.pagination.labels;\n if ((d.id && scope.indexOf(d.id) > -1)\n || (d && !d.id && scope.indexOf(d) > -1)) {\n return color;\n }\n else {\n if (type === 'donut' || type === 'pie') {\n return 'rgba(0,0,0,.1)';\n }\n else {\n return 'rgba(0,0,0,.07)';\n }\n }\n }\n else {\n return color;\n }\n}\n\nfunction c3CustomTooltipFiltering(value, ratio, id, index) {\n const type = this.config.type;\n\n if (this.view._artifacts.pagination\n && type !== 'gauge'\n /*&& this.type() !== 'pie'\n && this.type() !== 'donut'*/) {\n const scope = this.view._artifacts.pagination.labels;\n if (scope.indexOf(id) > -1) {\n return value;\n }\n }\n else {\n return value;\n }\n}\n\nfunction bindResizeListener(fn){\n if (typeof window === 'undefined') return;\n window.onresize = window.resize = function(){};\n if (window.addEventListener) {\n window.addEventListener('resize', fn, true);\n }\n else if (window.attachEvent) {\n window.attachEvent('onresize', fn);\n }\n}\n","import Dataset from './dataset';\nimport { extend } from './utils/extend';\nimport { stripHtmlTags } from './utils/strip-html-tags';\n\nexport default function (data) {\n if (!arguments.length) return this.dataset.data();\n if (data instanceof Dataset) {\n this.dataset = data;\n return this;\n }\n else {\n return parseResponse.call(this, data);\n }\n};\n\nfunction parseResponse(response) {\n var dataset,\n indexBy,\n meta,\n parser,\n parserArgs = [],\n query,\n selectedParser,\n title,\n type;\n\n indexBy = this.config.indexBy;\n meta = response.metadata || {};\n query = (typeof response.query !== 'undefined') ? response.query : {};\n\n // Ensure all required params are present\n query = extend({\n analysis_type: null,\n event_collection: null,\n filters: [],\n group_by: null,\n interval: null,\n timeframe: null,\n timezone: null\n }, query);\n\n if (query.analysis_type === 'funnel') {\n parser = 'funnel';\n }\n else if (query.analysis_type === 'extraction'){\n parser = 'extraction';\n }\n else if (query.analysis_type === 'select_unique') {\n if (!query.group_by && !query.interval) {\n parser = 'list';\n }\n // else { Not supported }\n }\n else if (query.analysis_type) {\n if (!query.group_by && !query.interval) {\n parser = 'metric';\n }\n else if (query.group_by && !query.interval) {\n if (query.group_by instanceof Array && query.group_by.length > 1) {\n parser = 'double-grouped-metric';\n parserArgs.push(query.group_by);\n }\n else {\n parser = 'grouped-metric';\n }\n }\n else if (query.interval && !query.group_by) {\n parser = 'interval';\n parserArgs.push(indexBy);\n }\n else if (query.group_by && query.interval) {\n if (query.group_by instanceof Array && query.group_by.length > 1) {\n parser = 'double-grouped-interval';\n parserArgs.push(query.group_by);\n parserArgs.push(indexBy);\n }\n else {\n parser = 'grouped-interval';\n parserArgs.push(indexBy);\n }\n }\n }\n\n if (!parser) {\n\n // Metric\n // -------------------------------\n if (typeof response.result === 'number'){\n parser = 'metric';\n }\n\n // Everything else\n // -------------------------------\n if (response.result instanceof Array && response.result.length > 0){\n\n // Interval w/ single value\n // -------------------------------\n if (response.result[0].timeframe && (typeof response.result[0].value == 'number' || response.result[0].value == null)) {\n parser = 'interval';\n parserArgs.push(indexBy)\n }\n\n // Static GroupBy\n // -------------------------------\n if (typeof response.result[0].result == 'number'){\n parser = 'grouped-metric';\n }\n\n // Grouped Interval\n // -------------------------------\n if (response.result[0].value instanceof Array){\n parser = 'grouped-interval';\n parserArgs.push(indexBy)\n }\n\n // Funnel\n // -------------------------------\n if (typeof response.result[0] === 'number'\n && typeof response.steps !== 'undefined'){\n parser = 'funnel';\n // Move steps into query object\n query.steps = response.steps;\n }\n\n // Select Unique\n // -------------------------------\n if ((typeof response.result[0] === 'string' || typeof response.result[0] == 'number') && typeof response.steps === 'undefined'){\n parser = 'list';\n }\n\n // Extraction\n // -------------------------------\n if (!parser) {\n parser = 'extraction';\n }\n }\n\n if (!parser) {\n parser = 'extraction';\n }\n }\n\n // Set title from saved query body, or create a default title\n if (this.config.title === undefined) {\n if (meta.display_name) {\n title = meta.display_name;\n }\n else {\n title = getDefaultTitle(query);\n }\n this.config.title = title;\n }\n\n // Set type from saved query body, or use a default type\n if (!this.config.type) {\n if (meta.visualization && meta.visualization.chart_type) {\n type = meta.visualization.chart_type;\n }\n else {\n type = getDefaultType(parser);\n }\n this.config.type = type;\n }\n\n // Define the appropriate parser\n selectedParser = Dataset.parser.apply(this, [parser].concat(parserArgs));\n\n // Parse the response with augmented query body\n dataset = selectedParser(extend(response, { 'query': query }));\n\n // Set true dates for 'interval' data\n if (parser.indexOf('interval') > -1) {\n dataset.updateColumn(0, function(value, i){\n return new Date(value);\n });\n }\n\n dataset.updateRow(0, function(value, i){\n return stripHtmlTags(value);\n });\n\n this.dataset = dataset;\n\n return this;\n}\n\nfunction getDefaultTitle(query) {\n var analysis = query.analysis_type ? query.analysis_type.replace('_', ' ') : '',\n title;\n\n title = analysis.replace( /\\b./g, function(a){\n return a.toUpperCase();\n });\n\n if (query.event_collection) {\n title += ' - ' + query.event_collection;\n }\n return title;\n}\n\nfunction getDefaultType(parser) {\n let type;\n switch (parser) {\n case 'metric':\n type = 'metric';\n break;\n case 'interval':\n type = 'area';\n break;\n case 'grouped-metric':\n case 'double-grouped-metric':\n type = 'bar';\n break;\n case 'grouped-interval':\n case 'double-grouped-interval':\n type = 'line';\n break;\n case 'funnel':\n type = 'horizontal-bar';\n break;\n case 'list':\n case 'extraction':\n default:\n type = 'table';\n }\n return type;\n}\n","export function valueAtDeepKey(obj, is, value) {\n if (typeof is == 'string')\n return valueAtDeepKey(obj, is.split('.'), value);\n else if (is.length==1 && value!==undefined && obj !== null &&\n typeof obj[is[0]] !== 'undefined')\n return obj[is[0]] = value;\n else if (is.length==0)\n return obj;\n else if (typeof is === 'undefined' || typeof obj === 'undefined'\n || is === null || obj === null\n || typeof obj[is[0]] === 'undefined')\n return null;\n else\n return valueAtDeepKey(obj[is[0]], is.slice(1), value);\n}\n","// Pure awesomeness by Will Rayner (penguinboy)\n// https://gist.github.com/penguinboy/762197\n\nexport function flatten(ob){\n var toReturn = {};\n for (var i in ob) {\n if (!ob.hasOwnProperty(i)) continue;\n if ((typeof ob[i]) == 'object' && ob[i] !== null) {\n var flatObject = flatten(ob[i]);\n for (var x in flatObject) {\n if (!flatObject.hasOwnProperty(x)) continue;\n toReturn[i + '.' + x] = flatObject[x];\n }\n } else {\n toReturn[i] = ob[i];\n }\n }\n return toReturn;\n};\n","let Dataset; /* injected */\n\nimport { each } from '../../utils/each';\nimport { flatten } from '../utils/flatten';\nimport { valueAtDeepKey } from '../utils/object';\n\nexport default function initialize(lib){\n Dataset = lib;\n return function(name){\n var options = Array.prototype.slice.call(arguments, 1);\n\n if (!parsers[name]) {\n throw 'Requested parser does not exist';\n }\n else {\n return parsers[name].apply(this, options);\n }\n };\n}\n\nfunction parseMetric(){\n return function(res){\n return new Dataset()\n .set(['Value', 'Result'], res.result)\n .type('metric');\n }\n}\n\n//var myParser = Dataset.parser('interval', 'timeframe.end');\nfunction parseInterval(){\n var options = Array.prototype.slice.call(arguments);\n return function(res){\n var dataset = new Dataset()\n .type('interval');\n each(res.result, function(record, i){\n var index = options[0] && options[0] === 'timeframe.end' ? record.timeframe.end : record.timeframe.start;\n dataset.set(['Result', index], record.value);\n });\n return dataset;\n }\n}\n\nfunction parseGroupedMetric(){\n return function(res){\n var dataset = new Dataset()\n .type('grouped-metric');\n each(res.result, function(record, i){\n var label;\n each(record, function(value, key){\n if (key !== 'result') {\n label = key;\n }\n });\n dataset.set(['Result', String(record[label])], record.result);\n });\n return dataset;\n }\n}\n\n//var myParser = Dataset.parser('grouped-interval', 'timeframe.end');\nfunction parseGroupedInterval(){\n var options = Array.prototype.slice.call(arguments);\n return function(res){\n var dataset = new Dataset()\n .type('grouped-interval');\n each(res.result, function(record, i){\n var index = options[0] && options[0] === 'timeframe.end' ? record.timeframe.end : record.timeframe.start;\n if (record.value.length) {\n each(record.value, function(group, j){\n var label;\n each(group, function(value, key){\n if (key !== 'result') {\n label = key;\n }\n });\n dataset.set([ String(group[label]), index ], group.result);\n });\n }\n else {\n dataset.appendRow(index);\n }\n });\n return dataset;\n }\n}\n\n//var myParser = Dataset.parser('double-grouped-metric', ['first', 'second']);\nfunction parseDoubleGroupedMetric(){\n var options = Array.prototype.slice.call(arguments);\n if (!options[0]) throw 'Requested parser requires a sequential list (array) of properties to target as a second argument';\n return function(res){\n var dataset = new Dataset()\n .type('double-grouped-metric');\n each(res.result, function(record, i){\n var rowLabel = record[options[0][0]] + ' ' + record[options[0][1]];\n dataset.set([ 'Result', rowLabel ], record.result);\n });\n return dataset;\n }\n}\n\n//var myParser = Dataset.parser('double-grouped-interval', ['first', 'second'], 'timeframe.end');\nfunction parseDoubleGroupedInterval(){\n var options = Array.prototype.slice.call(arguments);\n if (!options[0]) throw 'Requested parser requires a sequential list (array) of properties to target as a second argument';\n return function(res){\n var dataset = new Dataset()\n .type('double-grouped-interval');\n each(res.result, function(record, i){\n var index = options[1] && options[1] === 'timeframe.end' ? record.timeframe.end : record.timeframe.start;\n each(record['value'], function(value, j){\n var label = value[options[0][0]] + ' ' + value[options[0][1]];\n dataset.set([ label, index ], value.result);\n });\n });\n return dataset;\n }\n}\n\nfunction parseFunnel(){\n return function(res){\n var result, steps, dataset;\n if (typeof res.steps !== 'undefined'\n && typeof res.result !== 'undefined'\n && res.result instanceof Array) {\n // Ad-hoc funnel response\n result = res.result;\n steps = res.steps;\n }\n else if (typeof res.result.steps !== 'undefined'\n && typeof res.result.result !== 'undefined'\n && res.result.result instanceof Array) {\n // Saved funnel response\n result = res.result.result;\n steps = res.result.steps;\n }\n dataset = new Dataset().type('funnel');\n dataset.appendColumn('Step Value');\n each(result, function(value, i){\n if (typeof steps !== 'undefined' && steps[i]) {\n dataset.appendRow(String(steps[i].event_collection), [value]);\n }\n });\n return dataset;\n }\n}\n\nfunction parseList(){\n return function(res){\n var dataset = new Dataset()\n .type('list');\n each(res.result, function(value, i){\n dataset.set( [ 'Result', String(i+1) ], value );\n });\n return dataset;\n }\n}\n\nfunction parseExtraction(){\n let config = this.config;\n return function(res){\n const datasetExtraction = new Dataset()\n .type('extraction');\n // create header\n for (let i=0; i<1; i++){\n let record = res.result[i];\n each(flatten(record), function(value, key){\n datasetExtraction.set([ key, String(i+1) ], value);\n });\n }\n\n // get keys of the Object\n let names = Object.keys(flatten(res.result[0]));\n\n if (Dataset) {\n if (config.table\n && config.table.columns) {\n names = config.table.columns;\n }\n }\n\n for (let i=0; i -1) {\n\n if (typeof input === 'function') {\n\n each(self.data(), function(row, i){\n var cell;\n if (i > 0) {\n cell = input.call(self, row[index], i, row);\n if (typeof cell !== 'undefined') {\n self.matrix[i][index] = cell;\n }\n }\n });\n\n } else if (!input || input instanceof Array) {\n input = input || [];\n\n if (input.length <= self.data().length - 1) {\n input = input.concat( createNullList(self.data().length - 1 - input.length) );\n }\n else {\n // If this new column is longer than existing columns,\n // we need to update the rest to match ...\n each(input, function(value, i){\n if (self.matrix.length -1 < input.length) {\n appendRow.call(self, String( self.matrix.length ));\n }\n });\n }\n\n each(input, function(value, i){\n self.matrix[i+1][index] = value;\n });\n\n }\n\n }\n return self;\n}\n\nexport function updateRow(q, input){\n var self = this,\n index = (typeof q === 'number') ? q : this.selectColumn(0).indexOf(q);\n\n if (index > -1) {\n\n if (typeof input === 'function') {\n\n each(self.data()[index], function(value, i){\n var col = self.selectColumn(i),\n cell = input.call(self, value, i, col);\n if (typeof cell !== 'undefined') {\n self.matrix[index][i] = cell;\n }\n });\n\n } else if (!input || input instanceof Array) {\n input = input || [];\n\n if (input.length <= self.matrix[0].length - 1) {\n input = input.concat( createNullList( self.matrix[0].length - 1 - input.length ) );\n }\n else {\n each(input, function(value, i){\n if (self.matrix[0].length -1 < input.length) {\n appendColumn.call(self, String( self.matrix[0].length ));\n }\n });\n }\n\n each(input, function(value, i){\n self.matrix[index][i+1] = value;\n });\n }\n\n }\n return self;\n}\n","import { each } from '../../utils/each';\nimport analysesUtilMethods from '../utils/analyses';\n\nexport function sortColumns(str, comp) {\n var self = this,\n head = this.matrix[0].slice(1), // minus index\n cols = [],\n clone = [],\n fn = comp || analysesUtilMethods.getColumnLabel;\n\n // Isolate each column (except the index)\n each(head, function(cell, i) {\n cols.push(self.selectColumn(i+1).slice(0));\n });\n cols.sort(function(a,b){\n // If fn(a) > fn(b)\n var op = fn.call(self, a) > fn.call(self, b);\n if (op) {\n return (str === 'asc' ? 1 : -1);\n } else if (!op) {\n return (str === 'asc' ? -1 : 1);\n } else {\n return 0;\n }\n });\n each(cols, function(col, i) {\n self\n .deleteColumn(i+1)\n .insertColumn(i+1, col[0], col.slice(1));\n });\n return self;\n}\n\nexport function sortRows(str, comp) {\n var self = this,\n head = this.matrix.slice(0,1),\n body = this.matrix.slice(1),\n fn = comp || analysesUtilMethods.getRowIndex;\n body.sort(function(a, b){\n // If fn(a) > fn(b)\n var op = fn.call(self, a) > fn.call(self, b);\n if (op) {\n return (str === 'asc' ? 1 : -1);\n } else if (!op) {\n return (str === 'asc' ? -1 : 1);\n } else {\n return 0;\n }\n });\n self.data(head.concat(body));\n return self;\n}\n","import { each } from '../../utils/each';\n\nexport function selectColumn(q) {\n const result = [];\n const index = (typeof q === 'number') ? q : this.matrix[0].indexOf(q);\n\n if (index > -1 && typeof this.matrix[0][index] !== 'undefined') {\n each(this.matrix, function(row, i) {\n result.push(row[index]);\n });\n }\n return result;\n}\n\nexport function selectRow(q) {\n let result = [];\n const index = (typeof q === 'number') ? q : this.selectColumn(0).indexOf(q);\n\n if (index > -1 && typeof this.matrix[index] !== 'undefined') {\n result = this.matrix[index];\n }\n return result;\n}\n","import { each } from '../../utils/each';\nimport createNullList from '../utils/create-null-list';\nimport { appendRow, appendColumn } from './append';\n\nexport function insertColumn(index, str, input) {\n const self = this;\n const label = (str !== undefined) ? str : null;\n\n if (typeof input === 'function') {\n\n self.matrix[0].splice(index, 0, label);\n each(self.matrix, function(row, i) {\n var cell;\n if (i > 0) {\n cell = input.call(self, row, i);\n if (typeof cell === 'undefined') {\n cell = null;\n }\n self.matrix[i].splice(index, 0, cell);\n }\n });\n\n }\n\n else if (!input || input instanceof Array) {\n input = input || [];\n\n if (input.length <= self.matrix.length - 1) {\n input = input.concat( createNullList(self.matrix.length - 1 - input.length) );\n }\n else {\n // If this new column is longer than existing columns,\n // we need to update the rest to match ...\n each(input, function(value, i){\n if (self.matrix.length -1 < input.length) {\n appendRow.call(self, String( self.matrix.length ));\n }\n });\n }\n\n self.matrix[0].splice(index, 0, label);\n each(input, function(value, i){\n self.matrix[i+1].splice(index, 0, value);\n });\n\n }\n return self;\n}\n\nexport function insertRow(index, str, input) {\n const self = this;\n const newRow = [];\n const label = (str !== undefined) ? str : null;\n newRow.push(label);\n\n if (typeof input === 'function') {\n each(self.matrix[0], function(label, i) {\n let col;\n let cell;\n if (i > 0) {\n col = self.selectColumn(i);\n cell = input.call(self, col, i);\n if (typeof cell === 'undefined') {\n cell = null;\n }\n newRow.push(cell);\n }\n });\n self.matrix.splice(index, 0, newRow);\n }\n\n else if (!input || input instanceof Array) {\n input = input || [];\n\n if (input.length <= self.matrix[0].length - 1) {\n input = input.concat( createNullList( self.matrix[0].length - 1 - input.length ) );\n }\n else {\n each(input, function(value, i){\n if (self.matrix[0].length -1 < input.length) {\n appendColumn.call(self, String( self.matrix[0].length ));\n }\n });\n }\n\n self.matrix.splice(index, 0, newRow.concat(input) );\n }\n\n return self;\n}\n","import { each } from '../../utils/each';\n\nexport function filterColumns(fn) {\n const self = this;\n const clone = [];\n\n each(self.matrix, function(row, i) {\n clone.push([]);\n });\n\n each(self.matrix[0], function(col, i){\n var selectedColumn = self.selectColumn(i);\n if (i == 0 || fn.call(self, selectedColumn, i)) {\n each(selectedColumn, function(cell, ri){\n clone[ri].push(cell);\n });\n }\n });\n\n self.data(clone);\n return self;\n}\n\nexport function filterRows(fn) {\n const self = this;\n const clone = [];\n\n each(self.matrix, function(row, i){\n if (i == 0 || fn.call(self, row, i)) {\n clone.push(row);\n }\n });\n\n self.data(clone);\n return self;\n}\n","import { each } from '../../utils/each';\n\nexport function deleteColumn(q) {\n const self = this;\n const index = (typeof q === 'number') ? q : this.matrix[0].indexOf(q);\n\n if (index > -1) {\n each(self.matrix, function(row, i){\n self.matrix[i].splice(index, 1);\n });\n }\n return self;\n}\n\nexport function deleteRow(q) {\n var index = (typeof q === 'number') ? q : this.selectColumn(0).indexOf(q);\n\n if (index > -1) {\n this.matrix.splice(index, 1);\n }\n return this;\n}\n","import * as d3 from \"d3\";\nimport c3 from 'c3';\n\nimport pkg from '../package.json';\nimport data from './data';\nimport { Dataset } from './dataset';\n\n// Utils\nimport { each } from './utils/each';\nimport isDateString from './utils/assert-date-string';\nimport { stripHtmlTags } from './utils/strip-html-tags';\nimport { escapeHtml } from './utils/escape-html';\nimport libraries from './libraries';\nimport { extendDeep } from './utils/extend-deep';\n\n// Constructor\nexport const Dataviz = function (options = {}) {\n if (this instanceof Dataviz === false) {\n return new Dataviz(options);\n }\n\n this.c3 = c3; // expose for use outside\n this.d3 = d3;\n\n const datavizInstance = this;\n\n const defaultOptions = {\n showDeprecationWarnings: true,\n showLoadingSpinner: false,\n\n container: undefined, // querySelector of container, for example '#someDiv'\n containerElement: undefined, // HTML parent element for the chart\n\n // width: undefined, *deprecated* - use CSS\n // height: undefined, *deprecated* - use CSS\n\n title: undefined,\n showTitle: true,\n\n notes: undefined,\n theme: 'keen-dataviz',\n\n colors: [\n '#00bbde', '#fe6672', '#eeb058', '#8a8ad6', '#ff855c', '#00cfbb',\n '#5a9eed', '#73d483', '#c879bb', '#0099b6', '#d74d58', '#cb9141',\n '#6b6bb6', '#d86945', '#00aa99', '#4281c9', '#57b566', '#ac5c9e',\n '#27cceb', '#ff818b', '#f6bf71', '#9b9be1', '#ff9b79', '#26dfcd',\n '#73aff4', '#87e096', '#d88bcb',\n ],\n\n colorMapping: {},\n\n indexBy: 'timeframe.start',\n labels: [],\n labelMapping: {},\n labelMappingRegExp: undefined,\n errorMapping: {},\n showErrorMessages: true,\n library: 'default',\n sortGroups: undefined,\n sortIntervals: undefined,\n\n results: undefined, // raw data\n\n // C3 chartOptions\n type: undefined,\n stacked: false,\n dateFormat: undefined,\n legend: {\n show: true,\n position: 'right',\n label: {\n textMaxLength: 12\n },\n pagination: {\n offset: 0, // start from\n limit: 5 // items per page\n },\n tooltip: {\n show: true,\n pointer: true\n },\n sort: undefined\n },\n\n axis: {},\n color: {},\n data: {\n order: null\n },\n size: {\n // control it with CSS of .c3-chart\n },\n padding: {\n top: 15\n },\n point: {\n focus: {\n expand: {\n enabled: false\n }\n },\n r: 2,\n show: true\n },\n tooltip: {\n format: {\n // https://c3js.org/samples/tooltip_format.html\n }\n },\n transition: {\n // duration: 0\n },\n data: {\n selection: {\n enabled: true,\n draggable: true,\n multiple: true\n }\n },\n grid: {\n y: {\n show: true\n }\n },\n partialIntervalIndicator: {\n show: undefined,\n className: 'partial-interval-indicator'\n },\n timezone: 'UTC',\n table: {},\n renderOnVisible: false\n };\n\n this.config = { ...extendDeep(defaultOptions, options) };\n\n if (this.config.type) {\n // backward compatibility with v2016... areachart -> area\n this.config.type = convertChartTypes(this.config.type);\n }\n\n // get DOM node by query\n if (this.config.container) {\n this.el(this.config.container);\n }\n\n if (options.legend !== undefined && !options.legend) {\n this.config.legend = {\n ...options,\n show: false\n };\n }\n\n if (options.color && options.color.pattern) {\n // to match c3 options\n this.config.colors = options.color.pattern;\n }\n\n if (this.config.legend\n && this.config.legend.tooltip\n && this.config.legend.tooltip.show === false\n && this.config.tooltip.show === undefined) {\n this.config.tooltip = { show: false };\n }\n\n if (options.color && options.color.pattern) {\n // to match c3 options\n this.config.colors = options.color.pattern;\n }\n\n this.dataset = new Dataset(this.config);\n this.view = {\n _prepared: false,\n _rendered: false,\n _artifacts: { /* state bin */ }\n };\n\n Dataviz.visuals.push(this);\n\n if (this.config.showLoadingSpinner) {\n this.prepare();\n }\n\n if (!!this.config.results) {\n this.render(this.config.results);\n }\n this.config.firstVisibilityState = document.visibilityState;\n};\n\nDataviz.libraries = { default: {} };\nif (typeof window !== 'undefined') {\n Dataviz.libraries.default = libraries(Dataviz);\n}\nDataviz.visuals = [];\n\nDataviz.register = function (name, actions) {\n Dataviz.libraries[name] = Dataviz.libraries[name] || {};\n each(actions, function(method, key){\n Dataviz.libraries[name][key] = method;\n });\n};\n\nDataviz.find = function(target){\n if (!arguments.length) return Dataviz.visuals;\n const el = target.nodeName ? target : document.querySelector(target);\n let match = null;\n each(Dataviz.visuals, function(visual){\n if (el == visual.config.container){\n match = visual;\n return false;\n }\n });\n return match;\n};\n\n\n // Prototype\n // ------------\n\nDataviz.prototype.attributes = function(obj){\n if (this.config.showDeprecationWarnings) {\n console.log('.attributes() is deprecated. Use: new KeenDataviz({ _your_value_here_ })');\n }\n if (!arguments.length) return this.config;\n const view = this.config;\n each(obj, function(prop, key){\n // Handle deprecated property names\n if (key === 'chartType') {\n key = 'type';\n }\n view[key] = prop;\n });\n return this;\n};\n\nDataviz.prototype.call = function(fn){\n fn.call(this);\n return this;\n};\n\nDataviz.prototype.chartOptions = function(obj){\n if (this.config.showDeprecationWarnings) {\n console.log('.chartOptions() is deprecated. Use: new KeenDataviz({ _your_value_here_ })');\n }\n if (!arguments.length) return this.config;\n this.config = extendDeep(this.config, obj);\n return this;\n};\n\nDataviz.prototype.colors = function(arr){\n if (this.config.showDeprecationWarnings) {\n console.log('.colors() is deprecated. Use: new KeenDataviz({ colors: _your_value_here_ })');\n }\n if (!arguments.length) return this.config.colors;\n this.config.colors = (arr instanceof Array ? arr : []);\n return this;\n};\n\nDataviz.prototype.colorMapping = function(obj){\n if (this.config.showDeprecationWarnings) {\n console.log('.colorMapping() is deprecated. Use: new KeenDataviz({ colorMapping: _your_value_here_ })');\n }\n const datavizInstance = this;\n if (!arguments.length) return this.config.colorMapping;\n if (obj === null) {\n this.config.colorMapping = {};\n }\n else if (typeof obj === 'object') {\n each(obj, function(value, key){\n datavizInstance.config.colorMapping[key] = (value ? value : null);\n });\n }\n return this;\n};\n\nDataviz.prototype.data = data;\n\nDataviz.prototype.dateFormat = function(val){\n if (this.config.showDeprecationWarnings) {\n console.log('.dateFormat() is deprecated. Use: new KeenDataviz({ dateFormat: _your_value_here_ })');\n }\n if (!arguments.length) return this.config.dateFormat;\n if (typeof val === 'string' || typeof val === 'function') {\n this.config.dateFormat = val;\n }\n else {\n this.config.dateFormat = undefined;\n }\n return this;\n};\n\nDataviz.prototype.destroy = function(){\n const library = this.library();\n const type = this.config.type;\n const element = this.el();\n\n // Call destroy method if present\n if (Dataviz.libraries[library]\n && Dataviz.libraries[library][type]){\n Dataviz.libraries[library][type].destroy.call(this);\n }\n\n // Clear rendered artifacts, state bin\n if (element) {\n element.innerHTML = '';\n }\n this.view._prepared = false;\n this.view._rendered = false;\n this.view._artifacts = {};\n return this;\n};\n\nDataviz.prototype.el = function(target){\n const datavizInstance = this;\n if (!arguments.length) return this.config.containerElement;\n domReady(function(){\n if (target && target !== null) {\n if (target.nodeName) {\n datavizInstance.config.containerElement = target;\n }\n else if (document.querySelector) {\n datavizInstance.config.containerElement = document.querySelector(target);\n }\n }\n else {\n datavizInstance.config.containerElement = undefined;\n }\n });\n return this;\n};\n\nDataviz.prototype.height = function(num){\n if (this.config.showDeprecationWarnings) {\n console.log('.height() is deprecated - use CSS classes');\n }\n return this;\n};\n\n// IMPORTANT: Must be run before data parsing\nDataviz.prototype.indexBy = function(str){\n if (this.config.showDeprecationWarnings) {\n console.log('.indexBy() is deprecated. Use: new KeenDataviz({ indexBy: _your_value_here_ })');\n }\n if (!arguments.length) return this.config.indexBy;\n this.config.indexBy = (str ? String(str) : 'timeframe.start');\n return this;\n};\n\nDataviz.prototype.labels = function(arr){\n if (this.config.showDeprecationWarnings) {\n console.log('.labels() is deprecated. Use: new KeenDataviz({ labels: _your_value_here_ })');\n }\n\n if (!arguments.length) return this.config.labels;\n this.config.labels = (arr instanceof Array ? arr : []);\n\n setLabels(this);\n\n return this;\n};\n\nfunction setLabels(datavizInstance){\n // Write labels\n if (datavizInstance.data()[0].length === 2 && !isDateString(datavizInstance.data()[1][0])) {\n datavizInstance.dataset.updateColumn(0, function(value, index){\n if (datavizInstance.config.labels[index-1]) {\n return stripHtmlTags(String(datavizInstance.config.labels[index-1]));\n }\n return stripHtmlTags(value);\n }.bind(datavizInstance));\n }\n else {\n datavizInstance.dataset.updateRow(0, function(value, index){\n if (index > 0 && datavizInstance.config.labels[index-1]) {\n return stripHtmlTags(String(datavizInstance.config.labels[index-1]));\n }\n return stripHtmlTags(value);\n }.bind(datavizInstance));\n }\n}\n\nDataviz.prototype.labelMapping = function(obj){\n if (this.config.showDeprecationWarnings) {\n console.log('.labelMapping() is deprecated. Use: new KeenDataviz({ labelMapping: _your_value_here_ })');\n }\n if (!arguments.length) return this.config.labelMapping;\n if (obj === null) {\n this.config.labelMapping = {};\n }\n else if (typeof obj === 'object') {\n each(obj, function(value, key){\n this.config.labelMapping[key] = (value ? value : null);\n }.bind(this));\n }\n\n mapLabels(this);\n\n return this;\n};\n\nfunction mapLabelsExec({ datavizInstance, value }){\n if (datavizInstance.config.labelMappingRegExp){\n let valueAfterMatching = value;\n datavizInstance.config.labelMappingRegExp.forEach(regExpAndLabel => {\n if (regExpAndLabel.length > 1) {\n let regExpObj = regExpAndLabel[0];\n if (regExpObj.test(value)){\n valueAfterMatching = regExpAndLabel[1];\n }\n }\n });\n return stripHtmlTags(valueAfterMatching);\n }\n if (datavizInstance.config.labelMapping[value]) {\n return stripHtmlTags(String(datavizInstance.config.labelMapping[value]));\n }\n return stripHtmlTags(value);\n}\n\nfunction mapLabels(datavizInstance){\n // Write labels\n if (!datavizInstance.config.labelMappingDimension) {\n // if not defined use deprecated auto-detecting\n if (datavizInstance.data()[0].length === 2 && !isDateString(datavizInstance.data()[1][0])) {\n datavizInstance.config.labelMappingDimension = 'row';\n } else {\n datavizInstance.config.labelMappingDimension = 'column';\n }\n }\n\n if (datavizInstance.config.labelMappingDimension === 'row'\n || datavizInstance.config.labelMappingDimension === 'both') {\n datavizInstance.dataset.updateColumn(0, function(value){\n return mapLabelsExec({ datavizInstance, value });\n }.bind(datavizInstance));\n }\n\n if (datavizInstance.config.labelMappingDimension === 'column'\n || datavizInstance.config.labelMappingDimension === 'both') {\n datavizInstance.dataset.updateRow(0, function(value){\n return mapLabelsExec({ datavizInstance, value });\n }.bind(datavizInstance));\n }\n}\n\nDataviz.prototype.library = function(str){\n if (!arguments.length) return this.config['library'];\n this.config['library'] = (str ? String(str) : null);\n return this;\n};\n\nDataviz.prototype.message = function(){\n if (this.view._rendered) {\n this.destroy();\n }\n if (this.el()) {\n this.el().innerHTML = '';\n const message = Dataviz.libraries.default.message;\n if (message.render) {\n message.render.apply(this, arguments);\n }\n }\n return this;\n};\n\nDataviz.prototype.notes = function(str){\n if (this.config.showDeprecationWarnings) {\n console.log('.notes() is deprecated. Use: new KeenDataviz({ notes: _your_value_here_ })');\n }\n if (!arguments.length) return this.config.notes;\n this.config.notes = (str ? String(str) : null);\n return this;\n};\n\nDataviz.prototype.prepare = function(){\n const datavizInstance = this;\n\n if (!this.el()) {\n throw `${this.config.container} not found. A DOM parent element is required to mount the chart.`;\n return;\n }\n\n domReady(function(){\n if (datavizInstance.view._rendered) {\n datavizInstance.destroy();\n }\n if (datavizInstance.el()) {\n datavizInstance.el().innerHTML = '';\n const loader = Dataviz.libraries.default.spinner;\n if (loader.render) {\n loader.render.call(datavizInstance);\n }\n datavizInstance.view._prepared = true;\n }\n });\n\n return this;\n};\n\nDataviz.prototype.render = function(results = undefined){\n const datavizInstance = this;\n if (!!results) {\n const firstResult = results[0] || results;\n if (\n firstResult.query\n && firstResult.query.interval\n && firstResult.query.timeframe\n && firstResult.query.timeframe === 'string'\n && firstResult.query.timeframe.indexOf('this_') > -1\n && this.config.partialIntervalIndicator\n && this.config.partialIntervalIndicator.show === undefined\n )\n {\n this.config.partialIntervalIndicator.show = true;\n }\n\n if (Array.isArray(results)) {\n const timeframes = results.map(resultItem => resultItem.query.timeframe);\n timeframes.forEach(resultTimeframe => {\n let foundDifferent = timeframes.find(timeframeItem =>\n JSON.stringify(timeframeItem) !== JSON.stringify(resultTimeframe)\n );\n if (foundDifferent){\n const msg = 'Timeframes of the queries should be the same';\n console.error(msg);\n throw msg;\n }\n });\n // first result is important to prepare X on the chart\n return datavizInstance\n .data(results[0])\n .call(() => {\n const getLabel = (input) => {\n return `${input.query.event_collection} ${input.query.analysis_type}`;\n }\n let label = getLabel(results[0]);\n if (datavizInstance.config.labelMapping[label]) {\n label = datavizInstance.config.labelMapping[label];\n }\n this.dataset.deleteColumn(1);\n let firstResultPassed = false;\n for (let result of results) {\n label = getLabel(result);;\n let ds2 = Dataset.parser('interval')(result);\n datavizInstance.dataset.appendColumn(label, ds2.selectColumn(1).slice(1));\n }\n })\n .render();\n }\n\n return datavizInstance.data(results).render();\n }\n if (\n (!!this.config.labelMapping && Object.keys(this.config.labelMapping).length > 0)\n ||\n (!!this.config.labelMappingRegExp && this.config.labelMappingRegExp.length > 0)\n ){\n mapLabels(datavizInstance);\n }\n if (!!this.config.labels && Object.keys(this.config.labels).length > 0){\n setLabels(datavizInstance);\n }\n if (!!this.config.sortGroups) {\n sortGroups(datavizInstance);\n }\n if (!!this.config.sortIntervals) {\n sortIntervals(datavizInstance);\n }\n\n const loader = Dataviz.libraries.default.spinner;\n const library = this.config.library;\n const type = this.config.type;\n const containerElement = this.el();\n\n if (!containerElement || containerElement === undefined) {\n const msg = `${this.config.container} not found. A DOM parent element is required to mount the chart.`;\n console.error(msg);\n throw msg;\n return;\n }\n\n let returnValue = datavizInstance;\n\n if (datavizInstance.config.renderAsPromise) {\n returnValue = new Promise((resolve, reject) => {\n const customCallback = this.config.onrendered;\n datavizInstance.config.onrendered = () => {\n if (customCallback) {\n customCallback();\n }\n resolve(datavizInstance);\n }\n });\n }\n\n domReady(function(){\n if (datavizInstance.view._prepared && loader.destroy) {\n loader.destroy.apply(datavizInstance, arguments);\n }\n containerElement.innerHTML = '';\n\n if (Dataviz.libraries[library] === 'undefined'){\n // Error: Unregistered library\n const msg = `Incorrect library`;\n datavizInstance.message(msg);\n throw msg;\n return;\n }\n else {\n if (typeof Dataviz.libraries[library][type] === 'undefined') {\n const msg = `Incorrect chart type`;\n const mappedMsg = this.config.errorMapping[msg] || msg;\n datavizInstance.message(mappedMsg);\n throw msg;\n return;\n }\n else {\n buildDomWrapper(containerElement,\n datavizInstance.config\n );\n const { renderOnVisible } = datavizInstance.config;\n if(renderOnVisible){\n if(typeof IntersectionObserver !== 'undefined'){\n const chartVisibleCallback = (events, observer) => {\n events.forEach(el => {\n if(el.isIntersecting){\n if(!datavizInstance.view._rendered){\n Dataviz.libraries[library][type].render.call(datavizInstance);\n datavizInstance.view._rendered = true;\n }\n }\n })\n }\n const observer = new IntersectionObserver(chartVisibleCallback);\n observer.observe(containerElement);\n return;\n }\n }\n if(datavizInstance.config.firstVisibilityState === 'hidden'){\n if(typeof document !== 'undefined') {\n let hidden, visibilityChange;\n if (typeof document.hidden !== \"undefined\") {\n hidden = \"hidden\";\n visibilityChange = \"visibilitychange\";\n } else if (typeof document.msHidden !== \"undefined\") {\n hidden = \"msHidden\";\n visibilityChange = \"msvisibilitychange\";\n } else if (typeof document.webkitHidden !== \"undefined\") {\n hidden = \"webkitHidden\";\n visibilityChange = \"webkitvisibilitychange\";\n }\n const handleVisibilityChange = () => {\n if(!document[hidden]) {\n datavizInstance.view._artifacts.c3.load(datavizInstance.dataset.matrix);\n }\n }\n if(typeof document.addEventListener !== \"undefined\" ||\n hidden !== undefined){\n document.addEventListener(visibilityChange, handleVisibilityChange, {\n once: true\n });\n }\n }\n }\n Dataviz.libraries[library][type].render.call(datavizInstance);\n datavizInstance.view._rendered = true;\n }\n }\n });\n\n return returnValue;\n};\n\nDataviz.prototype.sortGroups = function(str){\n if (this.config.showDeprecationWarnings) {\n console.log('.sortGroups() is deprecated. Use: new KeenDataviz({ sortGroups: _your_value_here_ })');\n }\n if (!arguments.length) return this.config.sortGroups;\n this.config.sortGroups = (str ? String(str) : null);\n\n sortGroups(this, str);\n\n return this;\n};\n\nfunction sortGroups(datavizInstance){\n // Sort groups\n if (datavizInstance.config.sortGroups && datavizInstance.data().length > 1) {\n if (isDateString(datavizInstance.data()[1][0])) {\n datavizInstance.dataset.sortColumns(datavizInstance.config.sortGroups, datavizInstance.dataset.getColumnSum);\n }\n else {\n datavizInstance.dataset.sortRows(datavizInstance.config.sortGroups, datavizInstance.dataset.getRowSum);\n }\n }\n}\n\nDataviz.prototype.sortIntervals = function(str){\n if (this.config.showDeprecationWarnings) {\n console.log('.sortIntervals() is deprecated. Use: new KeenDataviz({ sortIntervals: _your_value_here_ })');\n }\n if (!arguments.length) return this.config.sortIntervals;\n this.config.sortIntervals = (str ? String(str) : null);\n\n sortIntervals(this);\n\n return this;\n};\n\nfunction sortIntervals(datavizInstance){\n if (datavizInstance.config.sortIntervals) {\n datavizInstance.dataset.sortRows(datavizInstance.config.sortIntervals);\n }\n}\n\nDataviz.prototype.stacked = function(bool){\n if (this.config.showDeprecationWarnings) {\n console.log('.stacked() is deprecated. Use: new KeenDataviz({ stacked: _your_value_here_ })');\n }\n if (!arguments.length) return this.config.stacked;\n this.config.stacked = bool ? true : false;\n return this;\n};\n\nDataviz.prototype.theme = function(str){\n if (this.config.showDeprecationWarnings) {\n console.log('.theme() is deprecated. Use: new KeenDataviz({ theme: _your_value_here_ })');\n }\n if (!arguments.length) return this.config.theme;\n this.config.theme = (str ? String(str) : null);\n return this;\n};\n\nDataviz.prototype.title = function(str){\n if (this.config.showDeprecationWarnings) {\n console.log('.title() is deprecated. Use: new KeenDataviz({ title: _your_value_here_ })');\n }\n if (!arguments.length) return this.config.title;\n this.config.title = (str ? String(str) : null);\n return this;\n};\n\nDataviz.prototype.type = function(str){\n if (this.config.showDeprecationWarnings) {\n console.log('.type() is deprecated. Use: new KeenDataviz({ type: _your_value_here_ })');\n }\n if (!arguments.length) return this.config.type;\n this.config.type = (str ? convertChartTypes(str) : null);\n return this;\n};\n\nDataviz.prototype.update = function(){\n const library = this.config.library;\n const type = this.config.type;\n const element = this.el();\n if (library && type && element && Dataviz.libraries[library][type].update) {\n Dataviz.libraries[library][type].update.apply(this, arguments);\n }\n return this;\n};\n\nDataviz.prototype.width = function(num){\n if (this.config.showDeprecationWarnings) {\n console.log('.width() is deprecated - use CSS classes');\n }\n return this;\n};\n\n// Deprecations\nDataviz.prototype.chartType = Dataviz.prototype.type;\nDataviz.prototype.error = Dataviz.prototype.message;\nDataviz.prototype.parseRawData = Dataviz.prototype.data;\nDataviz.prototype.parseRequest = function(){\n // this.emit('error', 'This method is no longer supported. Use .data() instead: https://github.com/keen/keen-dataviz.js#data');\n return this;\n};\nDataviz.prototype.initialize = function(){\n // this.emit('error', 'This method is no longer supported, and can be omitted as it has no impact');\n return this;\n};\n\nDataviz.version = pkg.version;\n\n// Private\n\nfunction buildDomWrapper(el, options) {\n let html = '';\n let chart100percentWide = '';\n if (options.legend.position === 'top' || options.legend.position === 'bottom') {\n chart100percentWide = 'c3-chart-100-percent';\n }\n\n let container = `
`;\n let align = 'horizontal';\n if (options.legend.position === 'left' || options.legend.position === 'right') {\n align = 'vertical';\n }\n if (options.legend && options.legend.show) {\n if (options.legend.position === 'top' || options.legend.position === 'left') {\n container = `
${container}`;\n } else {\n container = `${container}
`;\n }\n }\n html += `
`;\n if (options.title && options.showTitle) {\n html += `
${options.title}
`;\n }\n html += `
${container}
`;\n if (options.notes) {\n html += `
${options.notes}
`;\n }\n html += `
`;\n el.innerHTML = html;\n}\n\nfunction convertChartTypes(str) {\n const map = {\n areachart: 'area',\n barchart: 'horizontal-bar',\n columnchart: 'bar',\n linechart: 'line',\n piechart: 'pie',\n };\n return map[str] || str;\n}\n\nfunction testDom(fn) {\n if (/in/.test(document.readyState)) {\n setTimeout(function(){\n testDom(fn);\n }, 9);\n } else {\n fn();\n }\n}\n\nfunction domReady(fn) {\n if (typeof document !== 'undefined' || typeof window === 'undefined') {\n fn();\n return;\n }\n // Firefox 3.5 shim\n if (document.readyState == null && document.addEventListener) {\n document.addEventListener('DOMContentLoaded', function DOMContentLoaded() {\n document.removeEventListener('DOMContentLoaded', DOMContentLoaded, false);\n document.readyState = 'complete';\n }, false);\n document.readyState = 'loading';\n }\n testDom(fn);\n}\n\nexport { Dataset } from './dataset';\n\nexport default Dataviz;\n","var g;\r\n\r\n// This works in non-strict mode\r\ng = (function() {\r\n\treturn this;\r\n})();\r\n\r\ntry {\r\n\t// This works if eval is allowed (see CSP)\r\n\tg = g || Function(\"return this\")() || (1, eval)(\"this\");\r\n} catch (e) {\r\n\t// This works if the window reference is available\r\n\tif (typeof window === \"object\") g = window;\r\n}\r\n\r\n// g can still be undefined, but nothing to do about it...\r\n// We return undefined, instead of nothing here, so it's\r\n// easier to handle this case. if(!global) { ...}\r\n\r\nmodule.exports = g;\r\n","import { Dataviz, Dataset } from './index';\n\nconst env = typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : typeof window !== 'undefined' ? window : {};\n\nexport const extendKeenGlobalObject = function(env) {\n env.KeenDataviz = Dataviz;\n env.KeenDataset = Dataset;\n\n // just for backward compatibility\n env.Keen = env.Keen || {};\n env.Keen.Dataset = Dataset;\n env.Keen.Dataviz = Dataviz;\n};\n\nif (typeof KEEN_GLOBAL_OBJECT !== 'undefined'\n && KEEN_GLOBAL_OBJECT) {\n extendKeenGlobalObject(env);\n}\n\nexport let keenGlobals = undefined;\nif (typeof webpackKeenGlobals !== 'undefined') {\n keenGlobals = webpackKeenGlobals;\n}\n\nexport { Dataviz, Dataset } from './index';\nexport default Dataviz;\n"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap","webpack:///./node_modules/moment/moment.js","webpack:///./lib/utils/each.js","webpack:///external \"d3\"","webpack:///./lib/utils/pretty-number.js","webpack:///./lib/utils/escape-html.js","webpack:///./lib/utils/svg-text-wrap.js","webpack:///./lib/utils/extend.js","webpack:///./lib/utils/assert-date-string.js","webpack:///./lib/utils/strip-html-tags.js","webpack:///./lib/dataset/utils/create-null-list.js","webpack:///./lib/dataset/modifiers/append.js","webpack:///./node_modules/moment/locale/zh-tw.js","webpack:///./node_modules/moment/locale/zh-hk.js","webpack:///./node_modules/moment/locale/zh-cn.js","webpack:///./node_modules/moment/locale/yo.js","webpack:///./node_modules/moment/locale/x-pseudo.js","webpack:///./node_modules/moment/locale/vi.js","webpack:///./node_modules/moment/locale/uz-latn.js","webpack:///./node_modules/moment/locale/uz.js","webpack:///./node_modules/moment/locale/ur.js","webpack:///./node_modules/moment/locale/uk.js","webpack:///./node_modules/moment/locale/ug-cn.js","webpack:///./node_modules/moment/locale/tzm-latn.js","webpack:///./node_modules/moment/locale/tzm.js","webpack:///./node_modules/moment/locale/tzl.js","webpack:///./node_modules/moment/locale/tr.js","webpack:///./node_modules/moment/locale/tlh.js","webpack:///./node_modules/moment/locale/tl-ph.js","webpack:///./node_modules/moment/locale/th.js","webpack:///./node_modules/moment/locale/tg.js","webpack:///./node_modules/moment/locale/tet.js","webpack:///./node_modules/moment/locale/te.js","webpack:///./node_modules/moment/locale/ta.js","webpack:///./node_modules/moment/locale/sw.js","webpack:///./node_modules/moment/locale/sv.js","webpack:///./node_modules/moment/locale/ss.js","webpack:///./node_modules/moment/locale/sr-cyrl.js","webpack:///./node_modules/moment/locale/sr.js","webpack:///./node_modules/moment/locale/sq.js","webpack:///./node_modules/moment/locale/sl.js","webpack:///./node_modules/moment/locale/sk.js","webpack:///./node_modules/moment/locale/si.js","webpack:///./node_modules/moment/locale/se.js","webpack:///./node_modules/moment/locale/sd.js","webpack:///./node_modules/moment/locale/ru.js","webpack:///./node_modules/moment/locale/ro.js","webpack:///./node_modules/moment/locale/pt-br.js","webpack:///./node_modules/moment/locale/pt.js","webpack:///./node_modules/moment/locale/pl.js","webpack:///./node_modules/moment/locale/pa-in.js","webpack:///./node_modules/moment/locale/nn.js","webpack:///./node_modules/moment/locale/nl-be.js","webpack:///./node_modules/moment/locale/nl.js","webpack:///./node_modules/moment/locale/ne.js","webpack:///./node_modules/moment/locale/nb.js","webpack:///./node_modules/moment/locale/my.js","webpack:///./node_modules/moment/locale/mt.js","webpack:///./node_modules/moment/locale/ms-my.js","webpack:///./node_modules/moment/locale/ms.js","webpack:///./node_modules/moment/locale/mr.js","webpack:///./node_modules/moment/locale/mn.js","webpack:///./node_modules/moment/locale/ml.js","webpack:///./node_modules/moment/locale/mk.js","webpack:///./node_modules/moment/locale/mi.js","webpack:///./node_modules/moment/locale/me.js","webpack:///./node_modules/moment/locale/lv.js","webpack:///./node_modules/moment/locale/lt.js","webpack:///./node_modules/moment/locale/lo.js","webpack:///./node_modules/moment/locale/lb.js","webpack:///./node_modules/moment/locale/ky.js","webpack:///./node_modules/moment/locale/ko.js","webpack:///./node_modules/moment/locale/kn.js","webpack:///./node_modules/moment/locale/km.js","webpack:///./node_modules/moment/locale/kk.js","webpack:///./node_modules/moment/locale/ka.js","webpack:///./node_modules/moment/locale/jv.js","webpack:///./node_modules/moment/locale/ja.js","webpack:///./node_modules/moment/locale/it.js","webpack:///./node_modules/moment/locale/is.js","webpack:///./node_modules/moment/locale/id.js","webpack:///./node_modules/moment/locale/hy-am.js","webpack:///./node_modules/moment/locale/hu.js","webpack:///./node_modules/moment/locale/hr.js","webpack:///./node_modules/moment/locale/hi.js","webpack:///./node_modules/moment/locale/he.js","webpack:///./node_modules/moment/locale/gu.js","webpack:///./node_modules/moment/locale/gom-latn.js","webpack:///./node_modules/moment/locale/gl.js","webpack:///./node_modules/moment/locale/gd.js","webpack:///./node_modules/moment/locale/fy.js","webpack:///./node_modules/moment/locale/fr-ch.js","webpack:///./node_modules/moment/locale/fr-ca.js","webpack:///./node_modules/moment/locale/fr.js","webpack:///./node_modules/moment/locale/fo.js","webpack:///./node_modules/moment/locale/fi.js","webpack:///./node_modules/moment/locale/fa.js","webpack:///./node_modules/moment/locale/eu.js","webpack:///./node_modules/moment/locale/et.js","webpack:///./node_modules/moment/locale/es-us.js","webpack:///./node_modules/moment/locale/es-do.js","webpack:///./node_modules/moment/locale/es.js","webpack:///./node_modules/moment/locale/eo.js","webpack:///./node_modules/moment/locale/en-nz.js","webpack:///./node_modules/moment/locale/en-il.js","webpack:///./node_modules/moment/locale/en-ie.js","webpack:///./node_modules/moment/locale/en-gb.js","webpack:///./node_modules/moment/locale/en-ca.js","webpack:///./node_modules/moment/locale/en-au.js","webpack:///./node_modules/moment/locale/el.js","webpack:///./node_modules/moment/locale/dv.js","webpack:///./node_modules/moment/locale/de-ch.js","webpack:///./node_modules/moment/locale/de-at.js","webpack:///./node_modules/moment/locale/de.js","webpack:///./node_modules/moment/locale/da.js","webpack:///./node_modules/moment/locale/cy.js","webpack:///./node_modules/moment/locale/cv.js","webpack:///./node_modules/moment/locale/cs.js","webpack:///./node_modules/moment/locale/ca.js","webpack:///./node_modules/moment/locale/bs.js","webpack:///./node_modules/moment/locale/br.js","webpack:///./node_modules/moment/locale/bo.js","webpack:///./node_modules/moment/locale/bn.js","webpack:///./node_modules/moment/locale/bm.js","webpack:///./node_modules/moment/locale/bg.js","webpack:///./node_modules/moment/locale/be.js","webpack:///./node_modules/moment/locale/az.js","webpack:///./node_modules/moment/locale/ar-tn.js","webpack:///./node_modules/moment/locale/ar-sa.js","webpack:///./node_modules/moment/locale/ar-ma.js","webpack:///./node_modules/moment/locale/ar-ly.js","webpack:///./node_modules/moment/locale/ar-kw.js","webpack:///./node_modules/moment/locale/ar-dz.js","webpack:///./node_modules/moment/locale/ar.js","webpack:///./node_modules/moment/locale/af.js","webpack:///./lib/utils/extend-deep.js","webpack:///external \"c3\"","webpack:///./lib/dataset/utils/analyses.js","webpack:///./lib/dataset/index.js","webpack:///./lib/libraries/default/horizontal-funnel-3d.js","webpack:///./lib/libraries/default/horizontal-funnel.js","webpack:///./lib/libraries/default/funnel-3d.js","webpack:///./lib/libraries/default/funnel.js","webpack:///./lib/libraries/default/spinner.js","webpack:///./node_modules/moment/locale sync ^\\.\\/.*$","webpack:///(webpack)/buildin/module.js","webpack:///./node_modules/moment-timezone/moment-timezone.js","webpack:///./node_modules/moment-timezone/index.js","webpack:///./lib/libraries/default/table.js","webpack:///./lib/libraries/default/metric.js","webpack:///./lib/libraries/default/message.js","webpack:///./lib/libraries/c3/extensions/tooltip-contents.js","webpack:///./lib/libraries/c3/extensions/paginating-legend.js","webpack:///./lib/libraries/c3/extensions/default-date-format.js","webpack:///./lib/libraries/index.js","webpack:///./lib/data.js","webpack:///./lib/dataset/utils/object.js","webpack:///./lib/dataset/utils/flatten.js","webpack:///./lib/dataset/utils/parsers.js","webpack:///./lib/dataset/modifiers/update.js","webpack:///./lib/dataset/modifiers/sort.js","webpack:///./lib/dataset/modifiers/select.js","webpack:///./lib/dataset/modifiers/insert.js","webpack:///./lib/dataset/modifiers/filter.js","webpack:///./lib/dataset/modifiers/delete.js","webpack:///./lib/index.js","webpack:///(webpack)/buildin/global.js","webpack:///./lib/browser.js"],"names":["root","factory","exports","module","require","define","amd","a","i","window","__WEBPACK_EXTERNAL_MODULE__2__","__WEBPACK_EXTERNAL_MODULE__135__","installedModules","__webpack_require__","moduleId","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","configurable","enumerable","get","r","value","n","__esModule","object","property","prototype","hasOwnProperty","p","s","hookCallback","some","hooks","apply","arguments","isArray","input","Array","toString","isObject","isUndefined","isNumber","isDate","Date","map","arr","fn","res","length","push","hasOwnProp","b","extend","valueOf","createUTC","format","locale","strict","createLocalOrUTC","utc","getParsingFlags","_pf","empty","unusedTokens","unusedInput","overflow","charsLeftOver","nullInput","invalidMonth","invalidFormat","userInvalidated","iso","parsedDateParts","meridiem","rfc2822","weekdayMismatch","isValid","_isValid","flags","parsedParts","isNowValid","isNaN","_d","getTime","invalidWeekday","_strict","undefined","bigHour","isFrozen","createInvalid","NaN","fun","t","this","len","momentProperties","copyConfig","to","from","prop","val","_isAMomentObject","_i","_f","_l","_tzm","_isUTC","_offset","_locale","updateInProgress","Moment","config","updateOffset","isMoment","obj","absFloor","number","Math","ceil","floor","toInt","argumentForCoercion","coercedNumber","isFinite","compareArrays","array1","array2","dontConvert","min","lengthDiff","abs","diffs","warn","msg","suppressDeprecationWarnings","console","deprecate","firstTime","deprecationHandler","arg","args","key","slice","join","Error","stack","keys","deprecations","deprecateSimple","isFunction","Function","mergeConfigs","parentConfig","childConfig","Locale","set","aliases","addUnitAlias","unit","shorthand","lowerCase","toLowerCase","normalizeUnits","units","normalizeObjectUnits","inputObject","normalizedProp","normalizedInput","priorities","addUnitPriority","priority","zeroFill","targetLength","forceSign","absNumber","zerosToFill","sign","pow","max","substr","formattingTokens","localFormattingTokens","formatFunctions","formatTokenFunctions","addFormatToken","token","padded","ordinal","callback","func","localeData","formatMoment","expandFormat","array","match","replace","mom","output","makeFormatFunction","invalidDate","replaceLongDateFormatTokens","longDateFormat","lastIndex","test","match1","match2","match3","match4","match6","match1to2","match3to4","match5to6","match1to3","match1to4","match1to6","matchUnsigned","matchSigned","matchOffset","matchShortOffset","matchWord","regexes","addRegexToken","regex","strictRegex","isStrict","getParseRegexForToken","RegExp","regexEscape","matched","p1","p2","p3","p4","tokens","addParseToken","addWeekParseToken","_w","addTimeToArrayFromToken","_a","YEAR","MONTH","DATE","HOUR","MINUTE","SECOND","MILLISECOND","WEEK","WEEKDAY","daysInYear","year","isLeapYear","y","parseTwoDigitYear","parseInt","indexOf","getSetYear","makeGetSet","keepTime","set$1","month","date","daysInMonth","x","modMonth","monthsShort","months","monthsShortRegex","monthsRegex","monthsParse","MONTHS_IN_FORMAT","defaultLocaleMonths","split","defaultLocaleMonthsShort","setMonth","dayOfMonth","getSetMonth","defaultMonthsShortRegex","defaultMonthsRegex","computeMonthsParse","cmpLenRev","shortPieces","longPieces","mixedPieces","sort","_monthsRegex","_monthsShortRegex","_monthsStrictRegex","_monthsShortStrictRegex","createUTCDate","UTC","getUTCFullYear","setUTCFullYear","firstWeekOffset","dow","doy","fwd","fwdlw","getUTCDay","dayOfYearFromWeeks","week","weekday","resYear","resDayOfYear","localWeekday","weekOffset","dayOfYear","weekOfYear","resWeek","weeksInYear","weekOffsetNext","weekdaysMin","weekdaysShort","weekdays","weekdaysMinRegex","weekdaysShortRegex","weekdaysRegex","weekdaysParse","defaultLocaleWeekdays","defaultLocaleWeekdaysShort","defaultLocaleWeekdaysMin","defaultWeekdaysRegex","defaultWeekdaysShortRegex","defaultWeekdaysMinRegex","computeWeekdaysParse","minp","shortp","longp","minPieces","day","_weekdaysRegex","_weekdaysShortRegex","_weekdaysMinRegex","_weekdaysStrictRegex","_weekdaysShortStrictRegex","_weekdaysMinStrictRegex","hFormat","hours","lowercase","minutes","matchMeridiem","_meridiemParse","seconds","kInput","_isPm","isPM","_meridiem","pos","pos1","pos2","globalLocale","getSetHour","baseConfig","calendar","sameDay","nextDay","nextWeek","lastDay","lastWeek","sameElse","LTS","LT","L","LL","LLL","LLLL","dayOfMonthOrdinalParse","relativeTime","future","past","ss","mm","h","hh","dd","M","MM","yy","meridiemParse","locales","localeFamilies","normalizeLocale","loadLocale","oldLocale","_abbr","getSetGlobalLocale","e","values","data","getLocale","defineLocale","abbr","_config","parentLocale","forEach","names","j","next","chooseLocale","checkOverflow","_overflowDayOfYear","_overflowWeeks","_overflowWeekday","defaults","configFromArray","currentDate","expectedWeekday","yearToUse","nowValue","now","_useUTC","getUTCMonth","getUTCDate","getFullYear","getMonth","getDate","currentDateArray","w","weekYear","temp","weekdayOverflow","GG","W","E","createLocal","_week","curWeek","gg","_dayOfYear","dayOfYearFromWeekInfo","_nextDay","ms","setFullYear","getDay","setUTCMinutes","getUTCMinutes","extendedIsoRegex","basicIsoRegex","tzRegex","isoDates","isoTimes","aspNetJsonRegex","configFromISO","allowTime","dateFormat","timeFormat","tzFormat","string","exec","configFromStringAndFormat","extractFromRFC2822Strings","yearStr","monthStr","dayStr","hourStr","minuteStr","secondStr","result","untruncateYear","obsOffsets","UT","GMT","EDT","EST","CDT","CST","MDT","MST","PDT","PST","configFromRFC2822","parsedArray","weekdayStr","parsedInput","weekdayProvided","weekdayActual","checkWeekday","obsOffset","militaryOffset","numOffset","hm","calculateOffset","ISO_8601","RFC_2822","skipped","stringLength","totalParsedInputLength","hour","meridiemHour","isPm","prepareConfig","preparse","tempConfig","bestMoment","scoreToBeat","currentScore","score","configFromStringAndArray","createFromInputFallback","configFromString","minute","second","millisecond","configFromObject","configFromInput","isUTC","getOwnPropertyNames","k","isObjectEmpty","add","prototypeMin","other","prototypeMax","pickBy","moments","ordering","Duration","duration","years","quarters","quarter","weeks","days","milliseconds","unitHasDecimal","parseFloat","isDurationValid","_milliseconds","_days","_months","_data","_bubble","isDuration","absRound","round","offset","separator","utcOffset","offsetFromString","chunkOffset","matcher","matches","chunk","parts","cloneWithOffset","model","diff","clone","setTime","local","getDateOffset","getTimezoneOffset","isUtc","aspNetRegex","isoRegex","createDuration","ret","diffRes","base","parseIso","isBefore","positiveMomentsDifference","inp","isAfter","createAdder","direction","period","tmp","addSubtract","isAdding","invalid","subtract","monthDiff","anchor2","adjust","wholeMonthDiff","anchor","newLocaleData","defaultFormat","defaultFormatUtc","lang","addWeekYearFormatToken","getSetWeekYearHelper","weeksTarget","dayOfYearData","isoWeekYear","_dayOfMonthOrdinalParse","_ordinalParse","_dayOfMonthOrdinalParseLenient","getSetDayOfMonth","getSetMinute","getSetSecond","parseMs","getSetMillisecond","proto","preParsePostFormat","time","formats","sod","startOf","calendarFormat","asFloat","that","zoneDelta","endOf","inputString","postformat","withoutSuffix","humanize","fromNow","toNow","invalidAt","localInput","isBetween","inclusivity","isSame","inputMs","isSameOrAfter","isSameOrBefore","parsingFlags","prioritized","unitsObj","u","getPrioritizedUnits","isoWeekday","toArray","toObject","toDate","toISOString","keepOffset","inspect","zone","isLocal","prefix","suffix","toJSON","unix","creationData","isoWeek","isoWeeks","weekInfo","isoWeeksInYear","parseWeekday","parseIsoWeekday","keepLocalTime","keepMinutes","localAdjust","_changeInProgress","parseZone","tZone","hasAlignedHourOffset","isDST","isUtcOffset","zoneAbbr","zoneName","dates","isDSTShifted","_isDSTShifted","proto$1","get$1","index","field","setter","listMonthsImpl","out","listWeekdaysImpl","localeSorted","shift","_calendar","_longDateFormat","formatUpper","toUpperCase","_invalidDate","_ordinal","isFuture","_relativeTime","pastFuture","source","isFormat","_monthsShort","monthName","_monthsParseExact","ii","llc","toLocaleLowerCase","_monthsParse","_longMonthsParse","_shortMonthsParse","firstDayOfYear","firstDayOfWeek","_weekdays","_weekdaysMin","_weekdaysShort","weekdayName","_weekdaysParseExact","_weekdaysParse","_shortWeekdaysParse","_minWeekdaysParse","_fullWeekdaysParse","charAt","isLower","langData","mathAbs","addSubtract$1","absCeil","daysToMonths","monthsToDays","makeAs","alias","as","asMilliseconds","asSeconds","asMinutes","asHours","asDays","asWeeks","asMonths","asYears","makeGetter","thresholds","abs$1","toISOString$1","Y","D","toFixed","total","totalSign","ymSign","daysSign","hmsSign","proto$2","monthsFromDays","withSuffix","posNegDuration","relativeTime$1","toIsoString","version","updateLocale","tmpLocale","relativeTimeRounding","roundingFunction","relativeTimeThreshold","threshold","limit","myMoment","HTML5_FMT","DATETIME_LOCAL","DATETIME_LOCAL_SECONDS","DATETIME_LOCAL_MS","TIME","TIME_SECONDS","TIME_MS","each","cb","prettyNumber","sciNo","Number","toPrecision","suffixes","String","recurse","iteration","rhs","numNumerals","escapeHtml","escape","str","matchHtmlRegExp","html","charCodeAt","substring","textWrap","text","width","d3","select","words","reverse","word","line","lineNumber","attr","tspan","append","dy","pop","node","getComputedTextLength","target","testObject","testString","_typeof","stripHtmlTags","list","appendColumn","appendRow","_createNullList","_each","self","label","matrix","row","cell","concat","_createNullList2","default","newRow","col","selectColumn","moment","ll","lll","llll","monthsParseExact","weekdaysParseExact","relativeTimeWithPlural","num","forms","processHoursFunction","standalone","nominative","accusative","genitive","nounCase","processRelativeTime","1","5","8","70","80","2","7","20","50","3","4","100","6","9","10","30","60","90","numbersNouns","translate","numberNoun","hundred","ten","one","numberAsNoun","0","12","13","40","symbolMap","numberMap","௧","௨","௩","௪","௫","௬","௭","௮","௯","௦","translator","correctGrammaticalCase","wordKey","plural","longMonthsParse","shortMonthsParse","monthsStrictRegex","monthsShortStrictRegex","monthsNominative","monthsSubjective","momentToFormat","੧","੨","੩","੪","੫","੬","੭","੮","੯","੦","monthsShortWithDots","monthsShortWithoutDots","१","२","३","४","५","६","७","८","९","०","၁","၂","၃","၄","၅","၆","၇","၈","၉","၀","relativeTimeMr","lastDigit","last2Digits","relativeTimeWithSingular","translateSingular","special","eifelerRegelAppliesToNumber","firstDigit","isUpper","೧","೨","೩","೪","೫","೬","೭","೮","೯","೦","១","២","៣","៤","៥","៦","៧","៨","៩","០","weekEndings","૧","૨","૩","૪","૫","૬","૭","૮","૯","૦","numbersPast","numbersFuture","verbalNumber","۱","۲","۳","۴","۵","۶","۷","۸","۹","۰","monthsShortDot","monthsNominativeEl","monthsGenitiveEl","_monthsGenitiveEl","_monthsNominativeEl","calendarEl","_calendarEl","affix","relativeTimeWithMutation","mutationTable","softMutation","mutation","lastNumber","༡","༢","༣","༤","༥","༦","༧","༨","༩","༠","১","২","৩","৪","৫","৬","৭","৮","৯","০","١","٢","٣","٤","٥","٦","٧","٨","٩","٠","pluralForm","plurals","pluralize","f","extendDeep","average","start","end","sum","maximum","nums","minimum","getColumnAverage","getRowAverage","getColumnSum","getRowSum","getColumnMaximum","getRowMaximum","getColumnMinimum","getRowMinimum","getColumnLabel","getRowIndex","del","filter","insert","update","_extend","Dataset","meta","type","coords","colIndex","rowIndex","colResult","rowResult","selectRow","analyses","parser","_parsers2","_svgTextWrap","_prettyNumber","HorizontalFunnel3d","dataset","colors","container","labelMapping","colorMapping","opts","_config$funnel","funnel","_config$funnel$percen","percents","show","countingMethod","decimals","lines","resultValues","effect3d","hover","margin","funnelContainer","chart","svgWidth","style","svgHeight","elemWidth","xMarginElement","shadowCut","prevElemHeight","percent","polygons","newPoints","points","polygonsShadows","polygons3d","selectAll","enter","rgb","darker","handleMouseOver","polygonsHover","labelHover","thisLabel","handleMouseOut","on","destroy","render","remove","HorizontalFunnel","marginBetweenSteps","Funnel3d","elemHeight","yMarginElement","prevElemWidth","Funnel","view","_artifacts","spinner","theme","el","innerHTML","interval","clearInterval","radius","./af","./af.js","./ar","./ar-dz","./ar-dz.js","./ar-kw","./ar-kw.js","./ar-ly","./ar-ly.js","./ar-ma","./ar-ma.js","./ar-sa","./ar-sa.js","./ar-tn","./ar-tn.js","./ar.js","./az","./az.js","./be","./be.js","./bg","./bg.js","./bm","./bm.js","./bn","./bn.js","./bo","./bo.js","./br","./br.js","./bs","./bs.js","./ca","./ca.js","./cs","./cs.js","./cv","./cv.js","./cy","./cy.js","./da","./da.js","./de","./de-at","./de-at.js","./de-ch","./de-ch.js","./de.js","./dv","./dv.js","./el","./el.js","./en-au","./en-au.js","./en-ca","./en-ca.js","./en-gb","./en-gb.js","./en-ie","./en-ie.js","./en-il","./en-il.js","./en-nz","./en-nz.js","./eo","./eo.js","./es","./es-do","./es-do.js","./es-us","./es-us.js","./es.js","./et","./et.js","./eu","./eu.js","./fa","./fa.js","./fi","./fi.js","./fo","./fo.js","./fr","./fr-ca","./fr-ca.js","./fr-ch","./fr-ch.js","./fr.js","./fy","./fy.js","./gd","./gd.js","./gl","./gl.js","./gom-latn","./gom-latn.js","./gu","./gu.js","./he","./he.js","./hi","./hi.js","./hr","./hr.js","./hu","./hu.js","./hy-am","./hy-am.js","./id","./id.js","./is","./is.js","./it","./it.js","./ja","./ja.js","./jv","./jv.js","./ka","./ka.js","./kk","./kk.js","./km","./km.js","./kn","./kn.js","./ko","./ko.js","./ky","./ky.js","./lb","./lb.js","./lo","./lo.js","./lt","./lt.js","./lv","./lv.js","./me","./me.js","./mi","./mi.js","./mk","./mk.js","./ml","./ml.js","./mn","./mn.js","./mr","./mr.js","./ms","./ms-my","./ms-my.js","./ms.js","./mt","./mt.js","./my","./my.js","./nb","./nb.js","./ne","./ne.js","./nl","./nl-be","./nl-be.js","./nl.js","./nn","./nn.js","./pa-in","./pa-in.js","./pl","./pl.js","./pt","./pt-br","./pt-br.js","./pt.js","./ro","./ro.js","./ru","./ru.js","./sd","./sd.js","./se","./se.js","./si","./si.js","./sk","./sk.js","./sl","./sl.js","./sq","./sq.js","./sr","./sr-cyrl","./sr-cyrl.js","./sr.js","./ss","./ss.js","./sv","./sv.js","./sw","./sw.js","./ta","./ta.js","./te","./te.js","./tet","./tet.js","./tg","./tg.js","./th","./th.js","./tl-ph","./tl-ph.js","./tlh","./tlh.js","./tr","./tr.js","./tzl","./tzl.js","./tzm","./tzm-latn","./tzm-latn.js","./tzm.js","./ug-cn","./ug-cn.js","./uk","./uk.js","./ur","./ur.js","./uz","./uz-latn","./uz-latn.js","./uz.js","./vi","./vi.js","./x-pseudo","./x-pseudo.js","./yo","./yo.js","./zh-cn","./zh-cn.js","./zh-hk","./zh-hk.js","./zh-tw","./zh-tw.js","webpackContext","req","id","webpackContextResolve","code","resolve","webpackPolyfill","paths","children","__WEBPACK_AMD_DEFINE_FACTORY__","__WEBPACK_AMD_DEFINE_ARRAY__","__WEBPACK_AMD_DEFINE_RESULT__","cachedGuess","zones","links","guesses","logError","momentVersion","major","minor","charCodeToInt","charCode","unpackBase60","whole","fractional","multiplier","arrayToInt","mapIndices","indices","unpack","offsets","untils","Infinity","intToUntil","abbrs","population","Zone","packedString","_set","OffsetAt","at","timeString","toTimeString","ZoneScore","offsetScore","abbrScore","findChange","low","high","mid","sortZoneScores","addToGuesses","guessesForUserOffsets","guessesOffset","offsetsLength","filteredGuesses","rebuildGuess","intlName","Intl","DateTimeFormat","resolvedOptions","timeZone","normalizeName","zoneScore","change","startYear","last","userOffsets","zoneScores","getZone","scoreOffsetAt","addZone","packed","normalized","caller","link","addLink","normal0","normal1","needsOffset","isUnixTimestamp","message","error","tz","parse","unpacked","_index","timestamp","offsetNext","offsetPrev","moveAmbiguousForward","moveInvalidForward","offsetAt","dataVersion","_zones","_links","_names","load","zoneExists","didShowError","guess","ignoreCache","old","abbrWrap","_z","defaultZone","setDefault","_momentTimezone","_escapeHtml","currentPage","_generateTableRows","datavizInstance","customConfig","table","pagination","page","arrows","datasetPaginated","pages","columnsArray","columns","checkArray","mapValues","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_step","_iterator","Symbol","iterator","done","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_step2","_iterator2","entries","_ref","_ref2","_slicedToArray","rowCol","timezone","rowColEscaped","err","return","pageNumber","prevPage","nextPage","_this","mappedMsg","errorMapping","showErrorMessages","fieldNumber","columnNames","_iteratorNormalCompletion3","_didIteratorError3","_iteratorError3","_step3","_iterator3","colName","colNameEscaped","_generateTableHeader","querySelector","querySelectorAll","item","addEventListener","event","sortOrder","getAttribute","setAttribute","first","sortOrderNumber","nameA","nameB","unshift","attachBtnEventListeners","btn","onrendered","title","formattedNum","flexDifferenceStyle","resultDifference","differenceStyle","smallerValue","results","previousResults","outer","document","createElement","inner","titleContainer","notesContainer","className","notes","appendChild","showTitle","defaultTitleFormat","defaultValueFormat","color","nameFormat","tooltip_format_name","titleFormat","tooltip_format_title","valueFormat","tooltip_format_value","CLASS","tooltip","ratio","bgcolor","levelColor","tooltipName","options","cols","c3","domNode","legendConfig","legend","_extends","hidden","labels","offsetHeight","dataColumnsSorted","column","columnData","find","_assertDateString2","legendElement","align","position","paginateHorizontalLeftElement","legendItemsElement","paginateVerticalElement","paginateHorizontalRightElement","paginateData","labelShortened","textMaxLength","legendItem","chartPartId","legendItemColorSample","backgroundColor","prepend","tooltipElement","focus","pointer","revert","opacity","isHidden","splice","toggle","onLegendRendered","arrowUp","arrowDown","paginate","clearSelectedText","onPaginated","selection","getSelection","removeAllRanges","_assertDateString","startDate","endDate","timeDiff","lib","timer","onresize","resize","attachEvent","bindResizeListener","clearTimeout","delay","visuals","setTimeout","internal","horizontalDistance","xIndex","axis_rotated","findClosest","closest","$$","minDist","point_sensitivity","v","isBarType","shape","main","bars","getTargetSelectorSuffix","bar","isWithinBar","mouse","dist","types","metric","funnel-3d","horizontal-funnel","horizontal-funnel-3d","getPaddings","element","paddingName","getComputedStyle","ENFORCED_OPTIONS","bindto","pattern","renderingElement","height","titleElement","notesElement","offsetWidth","DEFAULT_OPTIONS","size","_extendDeep","clearOnRender","removeLegend","axis","rotated","tick","_defaultDateFormat2","culling","stacked","groups","categories","bind","partialIntervalIndicator","partialResultsRegion","class","regions","_toConsumableArray","contents","c3TooltipContents","valueFormatted","scope","c3options","hide","generate","c3PaginatingLegend","flush","defineC3","response","indexBy","query","selectedParser","parserArgs","metadata","analysis_type","event_collection","filters","group_by","timeframe","steps","display_name","analysis","getDefaultTitle","visualization","chart_type","getDefaultType","updateColumn","updateRow","_stripHtmlTags","_dataset","valueAtDeepKey","is","flatten","ob","toReturn","flatObject","parsers","_flatten","_object","record","grouped-metric","grouped-interval","group","double-grouped-metric","rowLabel","double-grouped-interval","extraction","datasetExtraction","_loop","iNames","deleteColumn","q","_append","sortColumns","comp","head","analysesUtilMethods","op","insertColumn","sortRows","body","_analyses","insertRow","filterColumns","selectedColumn","ri","filterRows","deleteRow","Dataviz","_defaultOptions","defaultOptions","_defineProperty","showDeprecationWarnings","showLoadingSpinner","containerElement","labelMappingRegExp","library","sortGroups","sortIntervals","order","padding","top","point","expand","enabled","transition","draggable","multiple","marginBetweenElements","convertChartTypes","_prepared","_rendered","prepare","firstVisibilityState","visibilityState","setLabels","mapLabelsExec","valueAfterMatching","regExpAndLabel","mapLabels","labelMappingDimension","areachart","barchart","columnchart","linechart","piechart","domReady","readyState","DOMContentLoaded","removeEventListener","testDom","libraries","_libraries2","register","actions","method","nodeName","visual","attributes","log","chartOptions","loader","firstResult","timeframes","resultItem","resultTimeframe","timeframeItem","JSON","stringify","getLabel","ds2","returnValue","renderAsPromise","Promise","reject","customCallback","chart100percentWide","buildDomWrapper","renderOnVisible","IntersectionObserver","events","observer","isIntersecting","observe","visibilityChange","msHidden","webkitHidden","once","bool","chartType","parseRawData","parseRequest","initialize","pkg","g","eval","global","extendKeenGlobalObject","env","KeenDataviz","KeenDataset","Keen","keenGlobals","webpackKeenGlobals"],"mappings":"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,IACAC,UAAA,IACAC,aAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,aAAA,IACAC,UAAA,IACAC,aAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,UAAA,IACAC,aAAA,IACAC,UAAA,IACAC,aAAA,IACAC,UAAA,IACAC,aAAA,IACAC,UAAA,IACAC,aAAA,IACAC,UAAA,IACAC,aAAA,IACAC,UAAA,IACAC,aAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,GACAC,aAAA,GACAC,UAAA,GACAC,aAAA,GACAC,UAAA,IACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,aAAA,GACAC,UAAA,GACAC,aAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,aAAA,GACAC,gBAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,UAAA,GACAC,aAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,aAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,aAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,UAAA,GACAC,aAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,aAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,YAAA,GACAC,eAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,QAAA,GACAC,WAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,UAAA,GACAC,aAAA,GACAC,QAAA,GACAC,WAAA,GACAC,OAAA,GACAC,UAAA,GACAC,QAAA,GACAC,WAAA,GACAC,QAAA,GACAC,aAAA,GACAC,gBAAA,GACAC,WAAA,GACAC,UAAA,GACAC,aAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA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","file":"keen-dataviz.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"d3\"), require(\"c3\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"d3\", \"c3\"], factory);\n\telse {\n\t\tvar a = typeof exports === 'object' ? factory(require(\"d3\"), require(\"c3\")) : factory(root[\"d3\"], root[\"c3\"]);\n\t\tfor(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i];\n\t}\n})(window, function(__WEBPACK_EXTERNAL_MODULE__2__, __WEBPACK_EXTERNAL_MODULE__135__) {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 168);\n","//! moment.js\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n global.moment = factory()\n}(this, (function () { 'use strict';\n\n var hookCallback;\n\n function hooks () {\n return hookCallback.apply(null, arguments);\n }\n\n // This is done to register the method called with moment()\n // without creating circular dependencies.\n function setHookCallback (callback) {\n hookCallback = callback;\n }\n\n function isArray(input) {\n return input instanceof Array || Object.prototype.toString.call(input) === '[object Array]';\n }\n\n function isObject(input) {\n // IE8 will treat undefined and null as object if it wasn't for\n // input != null\n return input != null && Object.prototype.toString.call(input) === '[object Object]';\n }\n\n function isObjectEmpty(obj) {\n if (Object.getOwnPropertyNames) {\n return (Object.getOwnPropertyNames(obj).length === 0);\n } else {\n var k;\n for (k in obj) {\n if (obj.hasOwnProperty(k)) {\n return false;\n }\n }\n return true;\n }\n }\n\n function isUndefined(input) {\n return input === void 0;\n }\n\n function isNumber(input) {\n return typeof input === 'number' || Object.prototype.toString.call(input) === '[object Number]';\n }\n\n function isDate(input) {\n return input instanceof Date || Object.prototype.toString.call(input) === '[object Date]';\n }\n\n function map(arr, fn) {\n var res = [], i;\n for (i = 0; i < arr.length; ++i) {\n res.push(fn(arr[i], i));\n }\n return res;\n }\n\n function hasOwnProp(a, b) {\n return Object.prototype.hasOwnProperty.call(a, b);\n }\n\n function extend(a, b) {\n for (var i in b) {\n if (hasOwnProp(b, i)) {\n a[i] = b[i];\n }\n }\n\n if (hasOwnProp(b, 'toString')) {\n a.toString = b.toString;\n }\n\n if (hasOwnProp(b, 'valueOf')) {\n a.valueOf = b.valueOf;\n }\n\n return a;\n }\n\n function createUTC (input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, true).utc();\n }\n\n function defaultParsingFlags() {\n // We need to deep clone this object.\n return {\n empty : false,\n unusedTokens : [],\n unusedInput : [],\n overflow : -2,\n charsLeftOver : 0,\n nullInput : false,\n invalidMonth : null,\n invalidFormat : false,\n userInvalidated : false,\n iso : false,\n parsedDateParts : [],\n meridiem : null,\n rfc2822 : false,\n weekdayMismatch : false\n };\n }\n\n function getParsingFlags(m) {\n if (m._pf == null) {\n m._pf = defaultParsingFlags();\n }\n return m._pf;\n }\n\n var some;\n if (Array.prototype.some) {\n some = Array.prototype.some;\n } else {\n some = function (fun) {\n var t = Object(this);\n var len = t.length >>> 0;\n\n for (var i = 0; i < len; i++) {\n if (i in t && fun.call(this, t[i], i, t)) {\n return true;\n }\n }\n\n return false;\n };\n }\n\n function isValid(m) {\n if (m._isValid == null) {\n var flags = getParsingFlags(m);\n var parsedParts = some.call(flags.parsedDateParts, function (i) {\n return i != null;\n });\n var isNowValid = !isNaN(m._d.getTime()) &&\n flags.overflow < 0 &&\n !flags.empty &&\n !flags.invalidMonth &&\n !flags.invalidWeekday &&\n !flags.weekdayMismatch &&\n !flags.nullInput &&\n !flags.invalidFormat &&\n !flags.userInvalidated &&\n (!flags.meridiem || (flags.meridiem && parsedParts));\n\n if (m._strict) {\n isNowValid = isNowValid &&\n flags.charsLeftOver === 0 &&\n flags.unusedTokens.length === 0 &&\n flags.bigHour === undefined;\n }\n\n if (Object.isFrozen == null || !Object.isFrozen(m)) {\n m._isValid = isNowValid;\n }\n else {\n return isNowValid;\n }\n }\n return m._isValid;\n }\n\n function createInvalid (flags) {\n var m = createUTC(NaN);\n if (flags != null) {\n extend(getParsingFlags(m), flags);\n }\n else {\n getParsingFlags(m).userInvalidated = true;\n }\n\n return m;\n }\n\n // Plugins that add properties should also add the key here (null value),\n // so we can properly clone ourselves.\n var momentProperties = hooks.momentProperties = [];\n\n function copyConfig(to, from) {\n var i, prop, val;\n\n if (!isUndefined(from._isAMomentObject)) {\n to._isAMomentObject = from._isAMomentObject;\n }\n if (!isUndefined(from._i)) {\n to._i = from._i;\n }\n if (!isUndefined(from._f)) {\n to._f = from._f;\n }\n if (!isUndefined(from._l)) {\n to._l = from._l;\n }\n if (!isUndefined(from._strict)) {\n to._strict = from._strict;\n }\n if (!isUndefined(from._tzm)) {\n to._tzm = from._tzm;\n }\n if (!isUndefined(from._isUTC)) {\n to._isUTC = from._isUTC;\n }\n if (!isUndefined(from._offset)) {\n to._offset = from._offset;\n }\n if (!isUndefined(from._pf)) {\n to._pf = getParsingFlags(from);\n }\n if (!isUndefined(from._locale)) {\n to._locale = from._locale;\n }\n\n if (momentProperties.length > 0) {\n for (i = 0; i < momentProperties.length; i++) {\n prop = momentProperties[i];\n val = from[prop];\n if (!isUndefined(val)) {\n to[prop] = val;\n }\n }\n }\n\n return to;\n }\n\n var updateInProgress = false;\n\n // Moment prototype object\n function Moment(config) {\n copyConfig(this, config);\n this._d = new Date(config._d != null ? config._d.getTime() : NaN);\n if (!this.isValid()) {\n this._d = new Date(NaN);\n }\n // Prevent infinite loop in case updateOffset creates new moment\n // objects.\n if (updateInProgress === false) {\n updateInProgress = true;\n hooks.updateOffset(this);\n updateInProgress = false;\n }\n }\n\n function isMoment (obj) {\n return obj instanceof Moment || (obj != null && obj._isAMomentObject != null);\n }\n\n function absFloor (number) {\n if (number < 0) {\n // -0 -> 0\n return Math.ceil(number) || 0;\n } else {\n return Math.floor(number);\n }\n }\n\n function toInt(argumentForCoercion) {\n var coercedNumber = +argumentForCoercion,\n value = 0;\n\n if (coercedNumber !== 0 && isFinite(coercedNumber)) {\n value = absFloor(coercedNumber);\n }\n\n return value;\n }\n\n // compare two arrays, return the number of differences\n function compareArrays(array1, array2, dontConvert) {\n var len = Math.min(array1.length, array2.length),\n lengthDiff = Math.abs(array1.length - array2.length),\n diffs = 0,\n i;\n for (i = 0; i < len; i++) {\n if ((dontConvert && array1[i] !== array2[i]) ||\n (!dontConvert && toInt(array1[i]) !== toInt(array2[i]))) {\n diffs++;\n }\n }\n return diffs + lengthDiff;\n }\n\n function warn(msg) {\n if (hooks.suppressDeprecationWarnings === false &&\n (typeof console !== 'undefined') && console.warn) {\n console.warn('Deprecation warning: ' + msg);\n }\n }\n\n function deprecate(msg, fn) {\n var firstTime = true;\n\n return extend(function () {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(null, msg);\n }\n if (firstTime) {\n var args = [];\n var arg;\n for (var i = 0; i < arguments.length; i++) {\n arg = '';\n if (typeof arguments[i] === 'object') {\n arg += '\\n[' + i + '] ';\n for (var key in arguments[0]) {\n arg += key + ': ' + arguments[0][key] + ', ';\n }\n arg = arg.slice(0, -2); // Remove trailing comma and space\n } else {\n arg = arguments[i];\n }\n args.push(arg);\n }\n warn(msg + '\\nArguments: ' + Array.prototype.slice.call(args).join('') + '\\n' + (new Error()).stack);\n firstTime = false;\n }\n return fn.apply(this, arguments);\n }, fn);\n }\n\n var deprecations = {};\n\n function deprecateSimple(name, msg) {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(name, msg);\n }\n if (!deprecations[name]) {\n warn(msg);\n deprecations[name] = true;\n }\n }\n\n hooks.suppressDeprecationWarnings = false;\n hooks.deprecationHandler = null;\n\n function isFunction(input) {\n return input instanceof Function || Object.prototype.toString.call(input) === '[object Function]';\n }\n\n function set (config) {\n var prop, i;\n for (i in config) {\n prop = config[i];\n if (isFunction(prop)) {\n this[i] = prop;\n } else {\n this['_' + i] = prop;\n }\n }\n this._config = config;\n // Lenient ordinal parsing accepts just a number in addition to\n // number + (possibly) stuff coming from _dayOfMonthOrdinalParse.\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n this._dayOfMonthOrdinalParseLenient = new RegExp(\n (this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) +\n '|' + (/\\d{1,2}/).source);\n }\n\n function mergeConfigs(parentConfig, childConfig) {\n var res = extend({}, parentConfig), prop;\n for (prop in childConfig) {\n if (hasOwnProp(childConfig, prop)) {\n if (isObject(parentConfig[prop]) && isObject(childConfig[prop])) {\n res[prop] = {};\n extend(res[prop], parentConfig[prop]);\n extend(res[prop], childConfig[prop]);\n } else if (childConfig[prop] != null) {\n res[prop] = childConfig[prop];\n } else {\n delete res[prop];\n }\n }\n }\n for (prop in parentConfig) {\n if (hasOwnProp(parentConfig, prop) &&\n !hasOwnProp(childConfig, prop) &&\n isObject(parentConfig[prop])) {\n // make sure changes to properties don't modify parent config\n res[prop] = extend({}, res[prop]);\n }\n }\n return res;\n }\n\n function Locale(config) {\n if (config != null) {\n this.set(config);\n }\n }\n\n var keys;\n\n if (Object.keys) {\n keys = Object.keys;\n } else {\n keys = function (obj) {\n var i, res = [];\n for (i in obj) {\n if (hasOwnProp(obj, i)) {\n res.push(i);\n }\n }\n return res;\n };\n }\n\n var defaultCalendar = {\n sameDay : '[Today at] LT',\n nextDay : '[Tomorrow at] LT',\n nextWeek : 'dddd [at] LT',\n lastDay : '[Yesterday at] LT',\n lastWeek : '[Last] dddd [at] LT',\n sameElse : 'L'\n };\n\n function calendar (key, mom, now) {\n var output = this._calendar[key] || this._calendar['sameElse'];\n return isFunction(output) ? output.call(mom, now) : output;\n }\n\n var defaultLongDateFormat = {\n LTS : 'h:mm:ss A',\n LT : 'h:mm A',\n L : 'MM/DD/YYYY',\n LL : 'MMMM D, YYYY',\n LLL : 'MMMM D, YYYY h:mm A',\n LLLL : 'dddd, MMMM D, YYYY h:mm A'\n };\n\n function longDateFormat (key) {\n var format = this._longDateFormat[key],\n formatUpper = this._longDateFormat[key.toUpperCase()];\n\n if (format || !formatUpper) {\n return format;\n }\n\n this._longDateFormat[key] = formatUpper.replace(/MMMM|MM|DD|dddd/g, function (val) {\n return val.slice(1);\n });\n\n return this._longDateFormat[key];\n }\n\n var defaultInvalidDate = 'Invalid date';\n\n function invalidDate () {\n return this._invalidDate;\n }\n\n var defaultOrdinal = '%d';\n var defaultDayOfMonthOrdinalParse = /\\d{1,2}/;\n\n function ordinal (number) {\n return this._ordinal.replace('%d', number);\n }\n\n var defaultRelativeTime = {\n future : 'in %s',\n past : '%s ago',\n s : 'a few seconds',\n ss : '%d seconds',\n m : 'a minute',\n mm : '%d minutes',\n h : 'an hour',\n hh : '%d hours',\n d : 'a day',\n dd : '%d days',\n M : 'a month',\n MM : '%d months',\n y : 'a year',\n yy : '%d years'\n };\n\n function relativeTime (number, withoutSuffix, string, isFuture) {\n var output = this._relativeTime[string];\n return (isFunction(output)) ?\n output(number, withoutSuffix, string, isFuture) :\n output.replace(/%d/i, number);\n }\n\n function pastFuture (diff, output) {\n var format = this._relativeTime[diff > 0 ? 'future' : 'past'];\n return isFunction(format) ? format(output) : format.replace(/%s/i, output);\n }\n\n var aliases = {};\n\n function addUnitAlias (unit, shorthand) {\n var lowerCase = unit.toLowerCase();\n aliases[lowerCase] = aliases[lowerCase + 's'] = aliases[shorthand] = unit;\n }\n\n function normalizeUnits(units) {\n return typeof units === 'string' ? aliases[units] || aliases[units.toLowerCase()] : undefined;\n }\n\n function normalizeObjectUnits(inputObject) {\n var normalizedInput = {},\n normalizedProp,\n prop;\n\n for (prop in inputObject) {\n if (hasOwnProp(inputObject, prop)) {\n normalizedProp = normalizeUnits(prop);\n if (normalizedProp) {\n normalizedInput[normalizedProp] = inputObject[prop];\n }\n }\n }\n\n return normalizedInput;\n }\n\n var priorities = {};\n\n function addUnitPriority(unit, priority) {\n priorities[unit] = priority;\n }\n\n function getPrioritizedUnits(unitsObj) {\n var units = [];\n for (var u in unitsObj) {\n units.push({unit: u, priority: priorities[u]});\n }\n units.sort(function (a, b) {\n return a.priority - b.priority;\n });\n return units;\n }\n\n function zeroFill(number, targetLength, forceSign) {\n var absNumber = '' + Math.abs(number),\n zerosToFill = targetLength - absNumber.length,\n sign = number >= 0;\n return (sign ? (forceSign ? '+' : '') : '-') +\n Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) + absNumber;\n }\n\n var formattingTokens = /(\\[[^\\[]*\\])|(\\\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g;\n\n var localFormattingTokens = /(\\[[^\\[]*\\])|(\\\\)?(LTS|LT|LL?L?L?|l{1,4})/g;\n\n var formatFunctions = {};\n\n var formatTokenFunctions = {};\n\n // token: 'M'\n // padded: ['MM', 2]\n // ordinal: 'Mo'\n // callback: function () { this.month() + 1 }\n function addFormatToken (token, padded, ordinal, callback) {\n var func = callback;\n if (typeof callback === 'string') {\n func = function () {\n return this[callback]();\n };\n }\n if (token) {\n formatTokenFunctions[token] = func;\n }\n if (padded) {\n formatTokenFunctions[padded[0]] = function () {\n return zeroFill(func.apply(this, arguments), padded[1], padded[2]);\n };\n }\n if (ordinal) {\n formatTokenFunctions[ordinal] = function () {\n return this.localeData().ordinal(func.apply(this, arguments), token);\n };\n }\n }\n\n function removeFormattingTokens(input) {\n if (input.match(/\\[[\\s\\S]/)) {\n return input.replace(/^\\[|\\]$/g, '');\n }\n return input.replace(/\\\\/g, '');\n }\n\n function makeFormatFunction(format) {\n var array = format.match(formattingTokens), i, length;\n\n for (i = 0, length = array.length; i < length; i++) {\n if (formatTokenFunctions[array[i]]) {\n array[i] = formatTokenFunctions[array[i]];\n } else {\n array[i] = removeFormattingTokens(array[i]);\n }\n }\n\n return function (mom) {\n var output = '', i;\n for (i = 0; i < length; i++) {\n output += isFunction(array[i]) ? array[i].call(mom, format) : array[i];\n }\n return output;\n };\n }\n\n // format date using native date object\n function formatMoment(m, format) {\n if (!m.isValid()) {\n return m.localeData().invalidDate();\n }\n\n format = expandFormat(format, m.localeData());\n formatFunctions[format] = formatFunctions[format] || makeFormatFunction(format);\n\n return formatFunctions[format](m);\n }\n\n function expandFormat(format, locale) {\n var i = 5;\n\n function replaceLongDateFormatTokens(input) {\n return locale.longDateFormat(input) || input;\n }\n\n localFormattingTokens.lastIndex = 0;\n while (i >= 0 && localFormattingTokens.test(format)) {\n format = format.replace(localFormattingTokens, replaceLongDateFormatTokens);\n localFormattingTokens.lastIndex = 0;\n i -= 1;\n }\n\n return format;\n }\n\n var match1 = /\\d/; // 0 - 9\n var match2 = /\\d\\d/; // 00 - 99\n var match3 = /\\d{3}/; // 000 - 999\n var match4 = /\\d{4}/; // 0000 - 9999\n var match6 = /[+-]?\\d{6}/; // -999999 - 999999\n var match1to2 = /\\d\\d?/; // 0 - 99\n var match3to4 = /\\d\\d\\d\\d?/; // 999 - 9999\n var match5to6 = /\\d\\d\\d\\d\\d\\d?/; // 99999 - 999999\n var match1to3 = /\\d{1,3}/; // 0 - 999\n var match1to4 = /\\d{1,4}/; // 0 - 9999\n var match1to6 = /[+-]?\\d{1,6}/; // -999999 - 999999\n\n var matchUnsigned = /\\d+/; // 0 - inf\n var matchSigned = /[+-]?\\d+/; // -inf - inf\n\n var matchOffset = /Z|[+-]\\d\\d:?\\d\\d/gi; // +00:00 -00:00 +0000 -0000 or Z\n var matchShortOffset = /Z|[+-]\\d\\d(?::?\\d\\d)?/gi; // +00 -00 +00:00 -00:00 +0000 -0000 or Z\n\n var matchTimestamp = /[+-]?\\d+(\\.\\d{1,3})?/; // 123456789 123456789.123\n\n // any word (or two) characters or numbers including two/three word month in arabic.\n // includes scottish gaelic two word and hyphenated months\n var matchWord = /[0-9]{0,256}['a-z\\u00A0-\\u05FF\\u0700-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFF07\\uFF10-\\uFFEF]{1,256}|[\\u0600-\\u06FF\\/]{1,256}(\\s*?[\\u0600-\\u06FF]{1,256}){1,2}/i;\n\n var regexes = {};\n\n function addRegexToken (token, regex, strictRegex) {\n regexes[token] = isFunction(regex) ? regex : function (isStrict, localeData) {\n return (isStrict && strictRegex) ? strictRegex : regex;\n };\n }\n\n function getParseRegexForToken (token, config) {\n if (!hasOwnProp(regexes, token)) {\n return new RegExp(unescapeFormat(token));\n }\n\n return regexes[token](config._strict, config._locale);\n }\n\n // Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript\n function unescapeFormat(s) {\n return regexEscape(s.replace('\\\\', '').replace(/\\\\(\\[)|\\\\(\\])|\\[([^\\]\\[]*)\\]|\\\\(.)/g, function (matched, p1, p2, p3, p4) {\n return p1 || p2 || p3 || p4;\n }));\n }\n\n function regexEscape(s) {\n return s.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n }\n\n var tokens = {};\n\n function addParseToken (token, callback) {\n var i, func = callback;\n if (typeof token === 'string') {\n token = [token];\n }\n if (isNumber(callback)) {\n func = function (input, array) {\n array[callback] = toInt(input);\n };\n }\n for (i = 0; i < token.length; i++) {\n tokens[token[i]] = func;\n }\n }\n\n function addWeekParseToken (token, callback) {\n addParseToken(token, function (input, array, config, token) {\n config._w = config._w || {};\n callback(input, config._w, config, token);\n });\n }\n\n function addTimeToArrayFromToken(token, input, config) {\n if (input != null && hasOwnProp(tokens, token)) {\n tokens[token](input, config._a, config, token);\n }\n }\n\n var YEAR = 0;\n var MONTH = 1;\n var DATE = 2;\n var HOUR = 3;\n var MINUTE = 4;\n var SECOND = 5;\n var MILLISECOND = 6;\n var WEEK = 7;\n var WEEKDAY = 8;\n\n // FORMATTING\n\n addFormatToken('Y', 0, 0, function () {\n var y = this.year();\n return y <= 9999 ? '' + y : '+' + y;\n });\n\n addFormatToken(0, ['YY', 2], 0, function () {\n return this.year() % 100;\n });\n\n addFormatToken(0, ['YYYY', 4], 0, 'year');\n addFormatToken(0, ['YYYYY', 5], 0, 'year');\n addFormatToken(0, ['YYYYYY', 6, true], 0, 'year');\n\n // ALIASES\n\n addUnitAlias('year', 'y');\n\n // PRIORITIES\n\n addUnitPriority('year', 1);\n\n // PARSING\n\n addRegexToken('Y', matchSigned);\n addRegexToken('YY', match1to2, match2);\n addRegexToken('YYYY', match1to4, match4);\n addRegexToken('YYYYY', match1to6, match6);\n addRegexToken('YYYYYY', match1to6, match6);\n\n addParseToken(['YYYYY', 'YYYYYY'], YEAR);\n addParseToken('YYYY', function (input, array) {\n array[YEAR] = input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input);\n });\n addParseToken('YY', function (input, array) {\n array[YEAR] = hooks.parseTwoDigitYear(input);\n });\n addParseToken('Y', function (input, array) {\n array[YEAR] = parseInt(input, 10);\n });\n\n // HELPERS\n\n function daysInYear(year) {\n return isLeapYear(year) ? 366 : 365;\n }\n\n function isLeapYear(year) {\n return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;\n }\n\n // HOOKS\n\n hooks.parseTwoDigitYear = function (input) {\n return toInt(input) + (toInt(input) > 68 ? 1900 : 2000);\n };\n\n // MOMENTS\n\n var getSetYear = makeGetSet('FullYear', true);\n\n function getIsLeapYear () {\n return isLeapYear(this.year());\n }\n\n function makeGetSet (unit, keepTime) {\n return function (value) {\n if (value != null) {\n set$1(this, unit, value);\n hooks.updateOffset(this, keepTime);\n return this;\n } else {\n return get(this, unit);\n }\n };\n }\n\n function get (mom, unit) {\n return mom.isValid() ?\n mom._d['get' + (mom._isUTC ? 'UTC' : '') + unit]() : NaN;\n }\n\n function set$1 (mom, unit, value) {\n if (mom.isValid() && !isNaN(value)) {\n if (unit === 'FullYear' && isLeapYear(mom.year()) && mom.month() === 1 && mom.date() === 29) {\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value, mom.month(), daysInMonth(value, mom.month()));\n }\n else {\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value);\n }\n }\n }\n\n // MOMENTS\n\n function stringGet (units) {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units]();\n }\n return this;\n }\n\n\n function stringSet (units, value) {\n if (typeof units === 'object') {\n units = normalizeObjectUnits(units);\n var prioritized = getPrioritizedUnits(units);\n for (var i = 0; i < prioritized.length; i++) {\n this[prioritized[i].unit](units[prioritized[i].unit]);\n }\n } else {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units](value);\n }\n }\n return this;\n }\n\n function mod(n, x) {\n return ((n % x) + x) % x;\n }\n\n var indexOf;\n\n if (Array.prototype.indexOf) {\n indexOf = Array.prototype.indexOf;\n } else {\n indexOf = function (o) {\n // I know\n var i;\n for (i = 0; i < this.length; ++i) {\n if (this[i] === o) {\n return i;\n }\n }\n return -1;\n };\n }\n\n function daysInMonth(year, month) {\n if (isNaN(year) || isNaN(month)) {\n return NaN;\n }\n var modMonth = mod(month, 12);\n year += (month - modMonth) / 12;\n return modMonth === 1 ? (isLeapYear(year) ? 29 : 28) : (31 - modMonth % 7 % 2);\n }\n\n // FORMATTING\n\n addFormatToken('M', ['MM', 2], 'Mo', function () {\n return this.month() + 1;\n });\n\n addFormatToken('MMM', 0, 0, function (format) {\n return this.localeData().monthsShort(this, format);\n });\n\n addFormatToken('MMMM', 0, 0, function (format) {\n return this.localeData().months(this, format);\n });\n\n // ALIASES\n\n addUnitAlias('month', 'M');\n\n // PRIORITY\n\n addUnitPriority('month', 8);\n\n // PARSING\n\n addRegexToken('M', match1to2);\n addRegexToken('MM', match1to2, match2);\n addRegexToken('MMM', function (isStrict, locale) {\n return locale.monthsShortRegex(isStrict);\n });\n addRegexToken('MMMM', function (isStrict, locale) {\n return locale.monthsRegex(isStrict);\n });\n\n addParseToken(['M', 'MM'], function (input, array) {\n array[MONTH] = toInt(input) - 1;\n });\n\n addParseToken(['MMM', 'MMMM'], function (input, array, config, token) {\n var month = config._locale.monthsParse(input, token, config._strict);\n // if we didn't find a month name, mark the date as invalid.\n if (month != null) {\n array[MONTH] = month;\n } else {\n getParsingFlags(config).invalidMonth = input;\n }\n });\n\n // LOCALES\n\n var MONTHS_IN_FORMAT = /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?/;\n var defaultLocaleMonths = 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_');\n function localeMonths (m, format) {\n if (!m) {\n return isArray(this._months) ? this._months :\n this._months['standalone'];\n }\n return isArray(this._months) ? this._months[m.month()] :\n this._months[(this._months.isFormat || MONTHS_IN_FORMAT).test(format) ? 'format' : 'standalone'][m.month()];\n }\n\n var defaultLocaleMonthsShort = 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_');\n function localeMonthsShort (m, format) {\n if (!m) {\n return isArray(this._monthsShort) ? this._monthsShort :\n this._monthsShort['standalone'];\n }\n return isArray(this._monthsShort) ? this._monthsShort[m.month()] :\n this._monthsShort[MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone'][m.month()];\n }\n\n function handleStrictParse(monthName, format, strict) {\n var i, ii, mom, llc = monthName.toLocaleLowerCase();\n if (!this._monthsParse) {\n // this is not used\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n for (i = 0; i < 12; ++i) {\n mom = createUTC([2000, i]);\n this._shortMonthsParse[i] = this.monthsShort(mom, '').toLocaleLowerCase();\n this._longMonthsParse[i] = this.months(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n }\n\n function localeMonthsParse (monthName, format, strict) {\n var i, mom, regex;\n\n if (this._monthsParseExact) {\n return handleStrictParse.call(this, monthName, format, strict);\n }\n\n if (!this._monthsParse) {\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n }\n\n // TODO: add sorting\n // Sorting makes sure if one month (or abbr) is a prefix of another\n // see sorting in computeMonthsParse\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n if (strict && !this._longMonthsParse[i]) {\n this._longMonthsParse[i] = new RegExp('^' + this.months(mom, '').replace('.', '') + '$', 'i');\n this._shortMonthsParse[i] = new RegExp('^' + this.monthsShort(mom, '').replace('.', '') + '$', 'i');\n }\n if (!strict && !this._monthsParse[i]) {\n regex = '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, '');\n this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (strict && format === 'MMMM' && this._longMonthsParse[i].test(monthName)) {\n return i;\n } else if (strict && format === 'MMM' && this._shortMonthsParse[i].test(monthName)) {\n return i;\n } else if (!strict && this._monthsParse[i].test(monthName)) {\n return i;\n }\n }\n }\n\n // MOMENTS\n\n function setMonth (mom, value) {\n var dayOfMonth;\n\n if (!mom.isValid()) {\n // No op\n return mom;\n }\n\n if (typeof value === 'string') {\n if (/^\\d+$/.test(value)) {\n value = toInt(value);\n } else {\n value = mom.localeData().monthsParse(value);\n // TODO: Another silent failure?\n if (!isNumber(value)) {\n return mom;\n }\n }\n }\n\n dayOfMonth = Math.min(mom.date(), daysInMonth(mom.year(), value));\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + 'Month'](value, dayOfMonth);\n return mom;\n }\n\n function getSetMonth (value) {\n if (value != null) {\n setMonth(this, value);\n hooks.updateOffset(this, true);\n return this;\n } else {\n return get(this, 'Month');\n }\n }\n\n function getDaysInMonth () {\n return daysInMonth(this.year(), this.month());\n }\n\n var defaultMonthsShortRegex = matchWord;\n function monthsShortRegex (isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n if (isStrict) {\n return this._monthsShortStrictRegex;\n } else {\n return this._monthsShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsShortRegex')) {\n this._monthsShortRegex = defaultMonthsShortRegex;\n }\n return this._monthsShortStrictRegex && isStrict ?\n this._monthsShortStrictRegex : this._monthsShortRegex;\n }\n }\n\n var defaultMonthsRegex = matchWord;\n function monthsRegex (isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n if (isStrict) {\n return this._monthsStrictRegex;\n } else {\n return this._monthsRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsRegex')) {\n this._monthsRegex = defaultMonthsRegex;\n }\n return this._monthsStrictRegex && isStrict ?\n this._monthsStrictRegex : this._monthsRegex;\n }\n }\n\n function computeMonthsParse () {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var shortPieces = [], longPieces = [], mixedPieces = [],\n i, mom;\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n shortPieces.push(this.monthsShort(mom, ''));\n longPieces.push(this.months(mom, ''));\n mixedPieces.push(this.months(mom, ''));\n mixedPieces.push(this.monthsShort(mom, ''));\n }\n // Sorting makes sure if one month (or abbr) is a prefix of another it\n // will match the longer piece.\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n for (i = 0; i < 12; i++) {\n shortPieces[i] = regexEscape(shortPieces[i]);\n longPieces[i] = regexEscape(longPieces[i]);\n }\n for (i = 0; i < 24; i++) {\n mixedPieces[i] = regexEscape(mixedPieces[i]);\n }\n\n this._monthsRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._monthsShortRegex = this._monthsRegex;\n this._monthsStrictRegex = new RegExp('^(' + longPieces.join('|') + ')', 'i');\n this._monthsShortStrictRegex = new RegExp('^(' + shortPieces.join('|') + ')', 'i');\n }\n\n function createDate (y, m, d, h, M, s, ms) {\n // can't just apply() to create a date:\n // https://stackoverflow.com/q/181348\n var date = new Date(y, m, d, h, M, s, ms);\n\n // the date constructor remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0 && isFinite(date.getFullYear())) {\n date.setFullYear(y);\n }\n return date;\n }\n\n function createUTCDate (y) {\n var date = new Date(Date.UTC.apply(null, arguments));\n\n // the Date.UTC function remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0 && isFinite(date.getUTCFullYear())) {\n date.setUTCFullYear(y);\n }\n return date;\n }\n\n // start-of-first-week - start-of-year\n function firstWeekOffset(year, dow, doy) {\n var // first-week day -- which january is always in the first week (4 for iso, 1 for other)\n fwd = 7 + dow - doy,\n // first-week day local weekday -- which local weekday is fwd\n fwdlw = (7 + createUTCDate(year, 0, fwd).getUTCDay() - dow) % 7;\n\n return -fwdlw + fwd - 1;\n }\n\n // https://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday\n function dayOfYearFromWeeks(year, week, weekday, dow, doy) {\n var localWeekday = (7 + weekday - dow) % 7,\n weekOffset = firstWeekOffset(year, dow, doy),\n dayOfYear = 1 + 7 * (week - 1) + localWeekday + weekOffset,\n resYear, resDayOfYear;\n\n if (dayOfYear <= 0) {\n resYear = year - 1;\n resDayOfYear = daysInYear(resYear) + dayOfYear;\n } else if (dayOfYear > daysInYear(year)) {\n resYear = year + 1;\n resDayOfYear = dayOfYear - daysInYear(year);\n } else {\n resYear = year;\n resDayOfYear = dayOfYear;\n }\n\n return {\n year: resYear,\n dayOfYear: resDayOfYear\n };\n }\n\n function weekOfYear(mom, dow, doy) {\n var weekOffset = firstWeekOffset(mom.year(), dow, doy),\n week = Math.floor((mom.dayOfYear() - weekOffset - 1) / 7) + 1,\n resWeek, resYear;\n\n if (week < 1) {\n resYear = mom.year() - 1;\n resWeek = week + weeksInYear(resYear, dow, doy);\n } else if (week > weeksInYear(mom.year(), dow, doy)) {\n resWeek = week - weeksInYear(mom.year(), dow, doy);\n resYear = mom.year() + 1;\n } else {\n resYear = mom.year();\n resWeek = week;\n }\n\n return {\n week: resWeek,\n year: resYear\n };\n }\n\n function weeksInYear(year, dow, doy) {\n var weekOffset = firstWeekOffset(year, dow, doy),\n weekOffsetNext = firstWeekOffset(year + 1, dow, doy);\n return (daysInYear(year) - weekOffset + weekOffsetNext) / 7;\n }\n\n // FORMATTING\n\n addFormatToken('w', ['ww', 2], 'wo', 'week');\n addFormatToken('W', ['WW', 2], 'Wo', 'isoWeek');\n\n // ALIASES\n\n addUnitAlias('week', 'w');\n addUnitAlias('isoWeek', 'W');\n\n // PRIORITIES\n\n addUnitPriority('week', 5);\n addUnitPriority('isoWeek', 5);\n\n // PARSING\n\n addRegexToken('w', match1to2);\n addRegexToken('ww', match1to2, match2);\n addRegexToken('W', match1to2);\n addRegexToken('WW', match1to2, match2);\n\n addWeekParseToken(['w', 'ww', 'W', 'WW'], function (input, week, config, token) {\n week[token.substr(0, 1)] = toInt(input);\n });\n\n // HELPERS\n\n // LOCALES\n\n function localeWeek (mom) {\n return weekOfYear(mom, this._week.dow, this._week.doy).week;\n }\n\n var defaultLocaleWeek = {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n };\n\n function localeFirstDayOfWeek () {\n return this._week.dow;\n }\n\n function localeFirstDayOfYear () {\n return this._week.doy;\n }\n\n // MOMENTS\n\n function getSetWeek (input) {\n var week = this.localeData().week(this);\n return input == null ? week : this.add((input - week) * 7, 'd');\n }\n\n function getSetISOWeek (input) {\n var week = weekOfYear(this, 1, 4).week;\n return input == null ? week : this.add((input - week) * 7, 'd');\n }\n\n // FORMATTING\n\n addFormatToken('d', 0, 'do', 'day');\n\n addFormatToken('dd', 0, 0, function (format) {\n return this.localeData().weekdaysMin(this, format);\n });\n\n addFormatToken('ddd', 0, 0, function (format) {\n return this.localeData().weekdaysShort(this, format);\n });\n\n addFormatToken('dddd', 0, 0, function (format) {\n return this.localeData().weekdays(this, format);\n });\n\n addFormatToken('e', 0, 0, 'weekday');\n addFormatToken('E', 0, 0, 'isoWeekday');\n\n // ALIASES\n\n addUnitAlias('day', 'd');\n addUnitAlias('weekday', 'e');\n addUnitAlias('isoWeekday', 'E');\n\n // PRIORITY\n addUnitPriority('day', 11);\n addUnitPriority('weekday', 11);\n addUnitPriority('isoWeekday', 11);\n\n // PARSING\n\n addRegexToken('d', match1to2);\n addRegexToken('e', match1to2);\n addRegexToken('E', match1to2);\n addRegexToken('dd', function (isStrict, locale) {\n return locale.weekdaysMinRegex(isStrict);\n });\n addRegexToken('ddd', function (isStrict, locale) {\n return locale.weekdaysShortRegex(isStrict);\n });\n addRegexToken('dddd', function (isStrict, locale) {\n return locale.weekdaysRegex(isStrict);\n });\n\n addWeekParseToken(['dd', 'ddd', 'dddd'], function (input, week, config, token) {\n var weekday = config._locale.weekdaysParse(input, token, config._strict);\n // if we didn't get a weekday name, mark the date as invalid\n if (weekday != null) {\n week.d = weekday;\n } else {\n getParsingFlags(config).invalidWeekday = input;\n }\n });\n\n addWeekParseToken(['d', 'e', 'E'], function (input, week, config, token) {\n week[token] = toInt(input);\n });\n\n // HELPERS\n\n function parseWeekday(input, locale) {\n if (typeof input !== 'string') {\n return input;\n }\n\n if (!isNaN(input)) {\n return parseInt(input, 10);\n }\n\n input = locale.weekdaysParse(input);\n if (typeof input === 'number') {\n return input;\n }\n\n return null;\n }\n\n function parseIsoWeekday(input, locale) {\n if (typeof input === 'string') {\n return locale.weekdaysParse(input) % 7 || 7;\n }\n return isNaN(input) ? null : input;\n }\n\n // LOCALES\n\n var defaultLocaleWeekdays = 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_');\n function localeWeekdays (m, format) {\n if (!m) {\n return isArray(this._weekdays) ? this._weekdays :\n this._weekdays['standalone'];\n }\n return isArray(this._weekdays) ? this._weekdays[m.day()] :\n this._weekdays[this._weekdays.isFormat.test(format) ? 'format' : 'standalone'][m.day()];\n }\n\n var defaultLocaleWeekdaysShort = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_');\n function localeWeekdaysShort (m) {\n return (m) ? this._weekdaysShort[m.day()] : this._weekdaysShort;\n }\n\n var defaultLocaleWeekdaysMin = 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_');\n function localeWeekdaysMin (m) {\n return (m) ? this._weekdaysMin[m.day()] : this._weekdaysMin;\n }\n\n function handleStrictParse$1(weekdayName, format, strict) {\n var i, ii, mom, llc = weekdayName.toLocaleLowerCase();\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._minWeekdaysParse = [];\n\n for (i = 0; i < 7; ++i) {\n mom = createUTC([2000, 1]).day(i);\n this._minWeekdaysParse[i] = this.weekdaysMin(mom, '').toLocaleLowerCase();\n this._shortWeekdaysParse[i] = this.weekdaysShort(mom, '').toLocaleLowerCase();\n this._weekdaysParse[i] = this.weekdays(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n }\n\n function localeWeekdaysParse (weekdayName, format, strict) {\n var i, mom, regex;\n\n if (this._weekdaysParseExact) {\n return handleStrictParse$1.call(this, weekdayName, format, strict);\n }\n\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._minWeekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._fullWeekdaysParse = [];\n }\n\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n\n mom = createUTC([2000, 1]).day(i);\n if (strict && !this._fullWeekdaysParse[i]) {\n this._fullWeekdaysParse[i] = new RegExp('^' + this.weekdays(mom, '').replace('.', '\\\\.?') + '$', 'i');\n this._shortWeekdaysParse[i] = new RegExp('^' + this.weekdaysShort(mom, '').replace('.', '\\\\.?') + '$', 'i');\n this._minWeekdaysParse[i] = new RegExp('^' + this.weekdaysMin(mom, '').replace('.', '\\\\.?') + '$', 'i');\n }\n if (!this._weekdaysParse[i]) {\n regex = '^' + this.weekdays(mom, '') + '|^' + this.weekdaysShort(mom, '') + '|^' + this.weekdaysMin(mom, '');\n this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (strict && format === 'dddd' && this._fullWeekdaysParse[i].test(weekdayName)) {\n return i;\n } else if (strict && format === 'ddd' && this._shortWeekdaysParse[i].test(weekdayName)) {\n return i;\n } else if (strict && format === 'dd' && this._minWeekdaysParse[i].test(weekdayName)) {\n return i;\n } else if (!strict && this._weekdaysParse[i].test(weekdayName)) {\n return i;\n }\n }\n }\n\n // MOMENTS\n\n function getSetDayOfWeek (input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n var day = this._isUTC ? this._d.getUTCDay() : this._d.getDay();\n if (input != null) {\n input = parseWeekday(input, this.localeData());\n return this.add(input - day, 'd');\n } else {\n return day;\n }\n }\n\n function getSetLocaleDayOfWeek (input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7;\n return input == null ? weekday : this.add(input - weekday, 'd');\n }\n\n function getSetISODayOfWeek (input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n\n // behaves the same as moment#day except\n // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6)\n // as a setter, sunday should belong to the previous week.\n\n if (input != null) {\n var weekday = parseIsoWeekday(input, this.localeData());\n return this.day(this.day() % 7 ? weekday : weekday - 7);\n } else {\n return this.day() || 7;\n }\n }\n\n var defaultWeekdaysRegex = matchWord;\n function weekdaysRegex (isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysStrictRegex;\n } else {\n return this._weekdaysRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n this._weekdaysRegex = defaultWeekdaysRegex;\n }\n return this._weekdaysStrictRegex && isStrict ?\n this._weekdaysStrictRegex : this._weekdaysRegex;\n }\n }\n\n var defaultWeekdaysShortRegex = matchWord;\n function weekdaysShortRegex (isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysShortStrictRegex;\n } else {\n return this._weekdaysShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysShortRegex')) {\n this._weekdaysShortRegex = defaultWeekdaysShortRegex;\n }\n return this._weekdaysShortStrictRegex && isStrict ?\n this._weekdaysShortStrictRegex : this._weekdaysShortRegex;\n }\n }\n\n var defaultWeekdaysMinRegex = matchWord;\n function weekdaysMinRegex (isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysMinStrictRegex;\n } else {\n return this._weekdaysMinRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysMinRegex')) {\n this._weekdaysMinRegex = defaultWeekdaysMinRegex;\n }\n return this._weekdaysMinStrictRegex && isStrict ?\n this._weekdaysMinStrictRegex : this._weekdaysMinRegex;\n }\n }\n\n\n function computeWeekdaysParse () {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var minPieces = [], shortPieces = [], longPieces = [], mixedPieces = [],\n i, mom, minp, shortp, longp;\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, 1]).day(i);\n minp = this.weekdaysMin(mom, '');\n shortp = this.weekdaysShort(mom, '');\n longp = this.weekdays(mom, '');\n minPieces.push(minp);\n shortPieces.push(shortp);\n longPieces.push(longp);\n mixedPieces.push(minp);\n mixedPieces.push(shortp);\n mixedPieces.push(longp);\n }\n // Sorting makes sure if one weekday (or abbr) is a prefix of another it\n // will match the longer piece.\n minPieces.sort(cmpLenRev);\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n for (i = 0; i < 7; i++) {\n shortPieces[i] = regexEscape(shortPieces[i]);\n longPieces[i] = regexEscape(longPieces[i]);\n mixedPieces[i] = regexEscape(mixedPieces[i]);\n }\n\n this._weekdaysRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._weekdaysShortRegex = this._weekdaysRegex;\n this._weekdaysMinRegex = this._weekdaysRegex;\n\n this._weekdaysStrictRegex = new RegExp('^(' + longPieces.join('|') + ')', 'i');\n this._weekdaysShortStrictRegex = new RegExp('^(' + shortPieces.join('|') + ')', 'i');\n this._weekdaysMinStrictRegex = new RegExp('^(' + minPieces.join('|') + ')', 'i');\n }\n\n // FORMATTING\n\n function hFormat() {\n return this.hours() % 12 || 12;\n }\n\n function kFormat() {\n return this.hours() || 24;\n }\n\n addFormatToken('H', ['HH', 2], 0, 'hour');\n addFormatToken('h', ['hh', 2], 0, hFormat);\n addFormatToken('k', ['kk', 2], 0, kFormat);\n\n addFormatToken('hmm', 0, 0, function () {\n return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2);\n });\n\n addFormatToken('hmmss', 0, 0, function () {\n return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2);\n });\n\n addFormatToken('Hmm', 0, 0, function () {\n return '' + this.hours() + zeroFill(this.minutes(), 2);\n });\n\n addFormatToken('Hmmss', 0, 0, function () {\n return '' + this.hours() + zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2);\n });\n\n function meridiem (token, lowercase) {\n addFormatToken(token, 0, 0, function () {\n return this.localeData().meridiem(this.hours(), this.minutes(), lowercase);\n });\n }\n\n meridiem('a', true);\n meridiem('A', false);\n\n // ALIASES\n\n addUnitAlias('hour', 'h');\n\n // PRIORITY\n addUnitPriority('hour', 13);\n\n // PARSING\n\n function matchMeridiem (isStrict, locale) {\n return locale._meridiemParse;\n }\n\n addRegexToken('a', matchMeridiem);\n addRegexToken('A', matchMeridiem);\n addRegexToken('H', match1to2);\n addRegexToken('h', match1to2);\n addRegexToken('k', match1to2);\n addRegexToken('HH', match1to2, match2);\n addRegexToken('hh', match1to2, match2);\n addRegexToken('kk', match1to2, match2);\n\n addRegexToken('hmm', match3to4);\n addRegexToken('hmmss', match5to6);\n addRegexToken('Hmm', match3to4);\n addRegexToken('Hmmss', match5to6);\n\n addParseToken(['H', 'HH'], HOUR);\n addParseToken(['k', 'kk'], function (input, array, config) {\n var kInput = toInt(input);\n array[HOUR] = kInput === 24 ? 0 : kInput;\n });\n addParseToken(['a', 'A'], function (input, array, config) {\n config._isPm = config._locale.isPM(input);\n config._meridiem = input;\n });\n addParseToken(['h', 'hh'], function (input, array, config) {\n array[HOUR] = toInt(input);\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('hmmss', function (input, array, config) {\n var pos1 = input.length - 4;\n var pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('Hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n });\n addParseToken('Hmmss', function (input, array, config) {\n var pos1 = input.length - 4;\n var pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n });\n\n // LOCALES\n\n function localeIsPM (input) {\n // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays\n // Using charAt should be more compatible.\n return ((input + '').toLowerCase().charAt(0) === 'p');\n }\n\n var defaultLocaleMeridiemParse = /[ap]\\.?m?\\.?/i;\n function localeMeridiem (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'pm' : 'PM';\n } else {\n return isLower ? 'am' : 'AM';\n }\n }\n\n\n // MOMENTS\n\n // Setting the hour should keep the time, because the user explicitly\n // specified which hour they want. So trying to maintain the same hour (in\n // a new timezone) makes sense. Adding/subtracting hours does not follow\n // this rule.\n var getSetHour = makeGetSet('Hours', true);\n\n var baseConfig = {\n calendar: defaultCalendar,\n longDateFormat: defaultLongDateFormat,\n invalidDate: defaultInvalidDate,\n ordinal: defaultOrdinal,\n dayOfMonthOrdinalParse: defaultDayOfMonthOrdinalParse,\n relativeTime: defaultRelativeTime,\n\n months: defaultLocaleMonths,\n monthsShort: defaultLocaleMonthsShort,\n\n week: defaultLocaleWeek,\n\n weekdays: defaultLocaleWeekdays,\n weekdaysMin: defaultLocaleWeekdaysMin,\n weekdaysShort: defaultLocaleWeekdaysShort,\n\n meridiemParse: defaultLocaleMeridiemParse\n };\n\n // internal storage for locale config files\n var locales = {};\n var localeFamilies = {};\n var globalLocale;\n\n function normalizeLocale(key) {\n return key ? key.toLowerCase().replace('_', '-') : key;\n }\n\n // pick the locale from the array\n // try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each\n // substring from most specific to least, but move to the next array item if it's a more specific variant than the current root\n function chooseLocale(names) {\n var i = 0, j, next, locale, split;\n\n while (i < names.length) {\n split = normalizeLocale(names[i]).split('-');\n j = split.length;\n next = normalizeLocale(names[i + 1]);\n next = next ? next.split('-') : null;\n while (j > 0) {\n locale = loadLocale(split.slice(0, j).join('-'));\n if (locale) {\n return locale;\n }\n if (next && next.length >= j && compareArrays(split, next, true) >= j - 1) {\n //the next array item is better than a shallower substring of this one\n break;\n }\n j--;\n }\n i++;\n }\n return globalLocale;\n }\n\n function loadLocale(name) {\n var oldLocale = null;\n // TODO: Find a better way to register and load all the locales in Node\n if (!locales[name] && (typeof module !== 'undefined') &&\n module && module.exports) {\n try {\n oldLocale = globalLocale._abbr;\n var aliasedRequire = require;\n aliasedRequire('./locale/' + name);\n getSetGlobalLocale(oldLocale);\n } catch (e) {}\n }\n return locales[name];\n }\n\n // This function will load locale and then set the global locale. If\n // no arguments are passed in, it will simply return the current global\n // locale key.\n function getSetGlobalLocale (key, values) {\n var data;\n if (key) {\n if (isUndefined(values)) {\n data = getLocale(key);\n }\n else {\n data = defineLocale(key, values);\n }\n\n if (data) {\n // moment.duration._locale = moment._locale = data;\n globalLocale = data;\n }\n else {\n if ((typeof console !== 'undefined') && console.warn) {\n //warn user if arguments are passed but the locale could not be set\n console.warn('Locale ' + key + ' not found. Did you forget to load it?');\n }\n }\n }\n\n return globalLocale._abbr;\n }\n\n function defineLocale (name, config) {\n if (config !== null) {\n var locale, parentConfig = baseConfig;\n config.abbr = name;\n if (locales[name] != null) {\n deprecateSimple('defineLocaleOverride',\n 'use moment.updateLocale(localeName, config) to change ' +\n 'an existing locale. moment.defineLocale(localeName, ' +\n 'config) should only be used for creating a new locale ' +\n 'See http://momentjs.com/guides/#/warnings/define-locale/ for more info.');\n parentConfig = locales[name]._config;\n } else if (config.parentLocale != null) {\n if (locales[config.parentLocale] != null) {\n parentConfig = locales[config.parentLocale]._config;\n } else {\n locale = loadLocale(config.parentLocale);\n if (locale != null) {\n parentConfig = locale._config;\n } else {\n if (!localeFamilies[config.parentLocale]) {\n localeFamilies[config.parentLocale] = [];\n }\n localeFamilies[config.parentLocale].push({\n name: name,\n config: config\n });\n return null;\n }\n }\n }\n locales[name] = new Locale(mergeConfigs(parentConfig, config));\n\n if (localeFamilies[name]) {\n localeFamilies[name].forEach(function (x) {\n defineLocale(x.name, x.config);\n });\n }\n\n // backwards compat for now: also set the locale\n // make sure we set the locale AFTER all child locales have been\n // created, so we won't end up with the child locale set.\n getSetGlobalLocale(name);\n\n\n return locales[name];\n } else {\n // useful for testing\n delete locales[name];\n return null;\n }\n }\n\n function updateLocale(name, config) {\n if (config != null) {\n var locale, tmpLocale, parentConfig = baseConfig;\n // MERGE\n tmpLocale = loadLocale(name);\n if (tmpLocale != null) {\n parentConfig = tmpLocale._config;\n }\n config = mergeConfigs(parentConfig, config);\n locale = new Locale(config);\n locale.parentLocale = locales[name];\n locales[name] = locale;\n\n // backwards compat for now: also set the locale\n getSetGlobalLocale(name);\n } else {\n // pass null for config to unupdate, useful for tests\n if (locales[name] != null) {\n if (locales[name].parentLocale != null) {\n locales[name] = locales[name].parentLocale;\n } else if (locales[name] != null) {\n delete locales[name];\n }\n }\n }\n return locales[name];\n }\n\n // returns locale data\n function getLocale (key) {\n var locale;\n\n if (key && key._locale && key._locale._abbr) {\n key = key._locale._abbr;\n }\n\n if (!key) {\n return globalLocale;\n }\n\n if (!isArray(key)) {\n //short-circuit everything else\n locale = loadLocale(key);\n if (locale) {\n return locale;\n }\n key = [key];\n }\n\n return chooseLocale(key);\n }\n\n function listLocales() {\n return keys(locales);\n }\n\n function checkOverflow (m) {\n var overflow;\n var a = m._a;\n\n if (a && getParsingFlags(m).overflow === -2) {\n overflow =\n a[MONTH] < 0 || a[MONTH] > 11 ? MONTH :\n a[DATE] < 1 || a[DATE] > daysInMonth(a[YEAR], a[MONTH]) ? DATE :\n a[HOUR] < 0 || a[HOUR] > 24 || (a[HOUR] === 24 && (a[MINUTE] !== 0 || a[SECOND] !== 0 || a[MILLISECOND] !== 0)) ? HOUR :\n a[MINUTE] < 0 || a[MINUTE] > 59 ? MINUTE :\n a[SECOND] < 0 || a[SECOND] > 59 ? SECOND :\n a[MILLISECOND] < 0 || a[MILLISECOND] > 999 ? MILLISECOND :\n -1;\n\n if (getParsingFlags(m)._overflowDayOfYear && (overflow < YEAR || overflow > DATE)) {\n overflow = DATE;\n }\n if (getParsingFlags(m)._overflowWeeks && overflow === -1) {\n overflow = WEEK;\n }\n if (getParsingFlags(m)._overflowWeekday && overflow === -1) {\n overflow = WEEKDAY;\n }\n\n getParsingFlags(m).overflow = overflow;\n }\n\n return m;\n }\n\n // Pick the first defined of two or three arguments.\n function defaults(a, b, c) {\n if (a != null) {\n return a;\n }\n if (b != null) {\n return b;\n }\n return c;\n }\n\n function currentDateArray(config) {\n // hooks is actually the exported moment object\n var nowValue = new Date(hooks.now());\n if (config._useUTC) {\n return [nowValue.getUTCFullYear(), nowValue.getUTCMonth(), nowValue.getUTCDate()];\n }\n return [nowValue.getFullYear(), nowValue.getMonth(), nowValue.getDate()];\n }\n\n // convert an array to a date.\n // the array should mirror the parameters below\n // note: all values past the year are optional and will default to the lowest possible value.\n // [year, month, day , hour, minute, second, millisecond]\n function configFromArray (config) {\n var i, date, input = [], currentDate, expectedWeekday, yearToUse;\n\n if (config._d) {\n return;\n }\n\n currentDate = currentDateArray(config);\n\n //compute day of the year from weeks and weekdays\n if (config._w && config._a[DATE] == null && config._a[MONTH] == null) {\n dayOfYearFromWeekInfo(config);\n }\n\n //if the day of the year is set, figure out what it is\n if (config._dayOfYear != null) {\n yearToUse = defaults(config._a[YEAR], currentDate[YEAR]);\n\n if (config._dayOfYear > daysInYear(yearToUse) || config._dayOfYear === 0) {\n getParsingFlags(config)._overflowDayOfYear = true;\n }\n\n date = createUTCDate(yearToUse, 0, config._dayOfYear);\n config._a[MONTH] = date.getUTCMonth();\n config._a[DATE] = date.getUTCDate();\n }\n\n // Default to current date.\n // * if no year, month, day of month are given, default to today\n // * if day of month is given, default month and year\n // * if month is given, default only year\n // * if year is given, don't default anything\n for (i = 0; i < 3 && config._a[i] == null; ++i) {\n config._a[i] = input[i] = currentDate[i];\n }\n\n // Zero out whatever was not defaulted, including time\n for (; i < 7; i++) {\n config._a[i] = input[i] = (config._a[i] == null) ? (i === 2 ? 1 : 0) : config._a[i];\n }\n\n // Check for 24:00:00.000\n if (config._a[HOUR] === 24 &&\n config._a[MINUTE] === 0 &&\n config._a[SECOND] === 0 &&\n config._a[MILLISECOND] === 0) {\n config._nextDay = true;\n config._a[HOUR] = 0;\n }\n\n config._d = (config._useUTC ? createUTCDate : createDate).apply(null, input);\n expectedWeekday = config._useUTC ? config._d.getUTCDay() : config._d.getDay();\n\n // Apply timezone offset from input. The actual utcOffset can be changed\n // with parseZone.\n if (config._tzm != null) {\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n }\n\n if (config._nextDay) {\n config._a[HOUR] = 24;\n }\n\n // check for mismatching day of week\n if (config._w && typeof config._w.d !== 'undefined' && config._w.d !== expectedWeekday) {\n getParsingFlags(config).weekdayMismatch = true;\n }\n }\n\n function dayOfYearFromWeekInfo(config) {\n var w, weekYear, week, weekday, dow, doy, temp, weekdayOverflow;\n\n w = config._w;\n if (w.GG != null || w.W != null || w.E != null) {\n dow = 1;\n doy = 4;\n\n // TODO: We need to take the current isoWeekYear, but that depends on\n // how we interpret now (local, utc, fixed offset). So create\n // a now version of current config (take local/utc/offset flags, and\n // create now).\n weekYear = defaults(w.GG, config._a[YEAR], weekOfYear(createLocal(), 1, 4).year);\n week = defaults(w.W, 1);\n weekday = defaults(w.E, 1);\n if (weekday < 1 || weekday > 7) {\n weekdayOverflow = true;\n }\n } else {\n dow = config._locale._week.dow;\n doy = config._locale._week.doy;\n\n var curWeek = weekOfYear(createLocal(), dow, doy);\n\n weekYear = defaults(w.gg, config._a[YEAR], curWeek.year);\n\n // Default to current week.\n week = defaults(w.w, curWeek.week);\n\n if (w.d != null) {\n // weekday -- low day numbers are considered next week\n weekday = w.d;\n if (weekday < 0 || weekday > 6) {\n weekdayOverflow = true;\n }\n } else if (w.e != null) {\n // local weekday -- counting starts from begining of week\n weekday = w.e + dow;\n if (w.e < 0 || w.e > 6) {\n weekdayOverflow = true;\n }\n } else {\n // default to begining of week\n weekday = dow;\n }\n }\n if (week < 1 || week > weeksInYear(weekYear, dow, doy)) {\n getParsingFlags(config)._overflowWeeks = true;\n } else if (weekdayOverflow != null) {\n getParsingFlags(config)._overflowWeekday = true;\n } else {\n temp = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy);\n config._a[YEAR] = temp.year;\n config._dayOfYear = temp.dayOfYear;\n }\n }\n\n // iso 8601 regex\n // 0000-00-00 0000-W00 or 0000-W00-0 + T + 00 or 00:00 or 00:00:00 or 00:00:00.000 + +00:00 or +0000 or +00)\n var extendedIsoRegex = /^\\s*((?:[+-]\\d{6}|\\d{4})-(?:\\d\\d-\\d\\d|W\\d\\d-\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?::\\d\\d(?::\\d\\d(?:[.,]\\d+)?)?)?)([\\+\\-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/;\n var basicIsoRegex = /^\\s*((?:[+-]\\d{6}|\\d{4})(?:\\d\\d\\d\\d|W\\d\\d\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?:\\d\\d(?:\\d\\d(?:[.,]\\d+)?)?)?)([\\+\\-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/;\n\n var tzRegex = /Z|[+-]\\d\\d(?::?\\d\\d)?/;\n\n var isoDates = [\n ['YYYYYY-MM-DD', /[+-]\\d{6}-\\d\\d-\\d\\d/],\n ['YYYY-MM-DD', /\\d{4}-\\d\\d-\\d\\d/],\n ['GGGG-[W]WW-E', /\\d{4}-W\\d\\d-\\d/],\n ['GGGG-[W]WW', /\\d{4}-W\\d\\d/, false],\n ['YYYY-DDD', /\\d{4}-\\d{3}/],\n ['YYYY-MM', /\\d{4}-\\d\\d/, false],\n ['YYYYYYMMDD', /[+-]\\d{10}/],\n ['YYYYMMDD', /\\d{8}/],\n // YYYYMM is NOT allowed by the standard\n ['GGGG[W]WWE', /\\d{4}W\\d{3}/],\n ['GGGG[W]WW', /\\d{4}W\\d{2}/, false],\n ['YYYYDDD', /\\d{7}/]\n ];\n\n // iso time formats and regexes\n var isoTimes = [\n ['HH:mm:ss.SSSS', /\\d\\d:\\d\\d:\\d\\d\\.\\d+/],\n ['HH:mm:ss,SSSS', /\\d\\d:\\d\\d:\\d\\d,\\d+/],\n ['HH:mm:ss', /\\d\\d:\\d\\d:\\d\\d/],\n ['HH:mm', /\\d\\d:\\d\\d/],\n ['HHmmss.SSSS', /\\d\\d\\d\\d\\d\\d\\.\\d+/],\n ['HHmmss,SSSS', /\\d\\d\\d\\d\\d\\d,\\d+/],\n ['HHmmss', /\\d\\d\\d\\d\\d\\d/],\n ['HHmm', /\\d\\d\\d\\d/],\n ['HH', /\\d\\d/]\n ];\n\n var aspNetJsonRegex = /^\\/?Date\\((\\-?\\d+)/i;\n\n // date from iso format\n function configFromISO(config) {\n var i, l,\n string = config._i,\n match = extendedIsoRegex.exec(string) || basicIsoRegex.exec(string),\n allowTime, dateFormat, timeFormat, tzFormat;\n\n if (match) {\n getParsingFlags(config).iso = true;\n\n for (i = 0, l = isoDates.length; i < l; i++) {\n if (isoDates[i][1].exec(match[1])) {\n dateFormat = isoDates[i][0];\n allowTime = isoDates[i][2] !== false;\n break;\n }\n }\n if (dateFormat == null) {\n config._isValid = false;\n return;\n }\n if (match[3]) {\n for (i = 0, l = isoTimes.length; i < l; i++) {\n if (isoTimes[i][1].exec(match[3])) {\n // match[2] should be 'T' or space\n timeFormat = (match[2] || ' ') + isoTimes[i][0];\n break;\n }\n }\n if (timeFormat == null) {\n config._isValid = false;\n return;\n }\n }\n if (!allowTime && timeFormat != null) {\n config._isValid = false;\n return;\n }\n if (match[4]) {\n if (tzRegex.exec(match[4])) {\n tzFormat = 'Z';\n } else {\n config._isValid = false;\n return;\n }\n }\n config._f = dateFormat + (timeFormat || '') + (tzFormat || '');\n configFromStringAndFormat(config);\n } else {\n config._isValid = false;\n }\n }\n\n // RFC 2822 regex: For details see https://tools.ietf.org/html/rfc2822#section-3.3\n var rfc2822 = /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\\s)?(\\d{1,2})\\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\\s(\\d{2,4})\\s(\\d\\d):(\\d\\d)(?::(\\d\\d))?\\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\\d{4}))$/;\n\n function extractFromRFC2822Strings(yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr) {\n var result = [\n untruncateYear(yearStr),\n defaultLocaleMonthsShort.indexOf(monthStr),\n parseInt(dayStr, 10),\n parseInt(hourStr, 10),\n parseInt(minuteStr, 10)\n ];\n\n if (secondStr) {\n result.push(parseInt(secondStr, 10));\n }\n\n return result;\n }\n\n function untruncateYear(yearStr) {\n var year = parseInt(yearStr, 10);\n if (year <= 49) {\n return 2000 + year;\n } else if (year <= 999) {\n return 1900 + year;\n }\n return year;\n }\n\n function preprocessRFC2822(s) {\n // Remove comments and folding whitespace and replace multiple-spaces with a single space\n return s.replace(/\\([^)]*\\)|[\\n\\t]/g, ' ').replace(/(\\s\\s+)/g, ' ').replace(/^\\s\\s*/, '').replace(/\\s\\s*$/, '');\n }\n\n function checkWeekday(weekdayStr, parsedInput, config) {\n if (weekdayStr) {\n // TODO: Replace the vanilla JS Date object with an indepentent day-of-week check.\n var weekdayProvided = defaultLocaleWeekdaysShort.indexOf(weekdayStr),\n weekdayActual = new Date(parsedInput[0], parsedInput[1], parsedInput[2]).getDay();\n if (weekdayProvided !== weekdayActual) {\n getParsingFlags(config).weekdayMismatch = true;\n config._isValid = false;\n return false;\n }\n }\n return true;\n }\n\n var obsOffsets = {\n UT: 0,\n GMT: 0,\n EDT: -4 * 60,\n EST: -5 * 60,\n CDT: -5 * 60,\n CST: -6 * 60,\n MDT: -6 * 60,\n MST: -7 * 60,\n PDT: -7 * 60,\n PST: -8 * 60\n };\n\n function calculateOffset(obsOffset, militaryOffset, numOffset) {\n if (obsOffset) {\n return obsOffsets[obsOffset];\n } else if (militaryOffset) {\n // the only allowed military tz is Z\n return 0;\n } else {\n var hm = parseInt(numOffset, 10);\n var m = hm % 100, h = (hm - m) / 100;\n return h * 60 + m;\n }\n }\n\n // date and time from ref 2822 format\n function configFromRFC2822(config) {\n var match = rfc2822.exec(preprocessRFC2822(config._i));\n if (match) {\n var parsedArray = extractFromRFC2822Strings(match[4], match[3], match[2], match[5], match[6], match[7]);\n if (!checkWeekday(match[1], parsedArray, config)) {\n return;\n }\n\n config._a = parsedArray;\n config._tzm = calculateOffset(match[8], match[9], match[10]);\n\n config._d = createUTCDate.apply(null, config._a);\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n\n getParsingFlags(config).rfc2822 = true;\n } else {\n config._isValid = false;\n }\n }\n\n // date from iso format or fallback\n function configFromString(config) {\n var matched = aspNetJsonRegex.exec(config._i);\n\n if (matched !== null) {\n config._d = new Date(+matched[1]);\n return;\n }\n\n configFromISO(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n configFromRFC2822(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n // Final attempt, use Input Fallback\n hooks.createFromInputFallback(config);\n }\n\n hooks.createFromInputFallback = deprecate(\n 'value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), ' +\n 'which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are ' +\n 'discouraged and will be removed in an upcoming major release. Please refer to ' +\n 'http://momentjs.com/guides/#/warnings/js-date/ for more info.',\n function (config) {\n config._d = new Date(config._i + (config._useUTC ? ' UTC' : ''));\n }\n );\n\n // constant that refers to the ISO standard\n hooks.ISO_8601 = function () {};\n\n // constant that refers to the RFC 2822 form\n hooks.RFC_2822 = function () {};\n\n // date from string and format string\n function configFromStringAndFormat(config) {\n // TODO: Move this to another part of the creation flow to prevent circular deps\n if (config._f === hooks.ISO_8601) {\n configFromISO(config);\n return;\n }\n if (config._f === hooks.RFC_2822) {\n configFromRFC2822(config);\n return;\n }\n config._a = [];\n getParsingFlags(config).empty = true;\n\n // This array is used to make a Date, either with `new Date` or `Date.UTC`\n var string = '' + config._i,\n i, parsedInput, tokens, token, skipped,\n stringLength = string.length,\n totalParsedInputLength = 0;\n\n tokens = expandFormat(config._f, config._locale).match(formattingTokens) || [];\n\n for (i = 0; i < tokens.length; i++) {\n token = tokens[i];\n parsedInput = (string.match(getParseRegexForToken(token, config)) || [])[0];\n // console.log('token', token, 'parsedInput', parsedInput,\n // 'regex', getParseRegexForToken(token, config));\n if (parsedInput) {\n skipped = string.substr(0, string.indexOf(parsedInput));\n if (skipped.length > 0) {\n getParsingFlags(config).unusedInput.push(skipped);\n }\n string = string.slice(string.indexOf(parsedInput) + parsedInput.length);\n totalParsedInputLength += parsedInput.length;\n }\n // don't parse if it's not a known token\n if (formatTokenFunctions[token]) {\n if (parsedInput) {\n getParsingFlags(config).empty = false;\n }\n else {\n getParsingFlags(config).unusedTokens.push(token);\n }\n addTimeToArrayFromToken(token, parsedInput, config);\n }\n else if (config._strict && !parsedInput) {\n getParsingFlags(config).unusedTokens.push(token);\n }\n }\n\n // add remaining unparsed input length to the string\n getParsingFlags(config).charsLeftOver = stringLength - totalParsedInputLength;\n if (string.length > 0) {\n getParsingFlags(config).unusedInput.push(string);\n }\n\n // clear _12h flag if hour is <= 12\n if (config._a[HOUR] <= 12 &&\n getParsingFlags(config).bigHour === true &&\n config._a[HOUR] > 0) {\n getParsingFlags(config).bigHour = undefined;\n }\n\n getParsingFlags(config).parsedDateParts = config._a.slice(0);\n getParsingFlags(config).meridiem = config._meridiem;\n // handle meridiem\n config._a[HOUR] = meridiemFixWrap(config._locale, config._a[HOUR], config._meridiem);\n\n configFromArray(config);\n checkOverflow(config);\n }\n\n\n function meridiemFixWrap (locale, hour, meridiem) {\n var isPm;\n\n if (meridiem == null) {\n // nothing to do\n return hour;\n }\n if (locale.meridiemHour != null) {\n return locale.meridiemHour(hour, meridiem);\n } else if (locale.isPM != null) {\n // Fallback\n isPm = locale.isPM(meridiem);\n if (isPm && hour < 12) {\n hour += 12;\n }\n if (!isPm && hour === 12) {\n hour = 0;\n }\n return hour;\n } else {\n // this is not supposed to happen\n return hour;\n }\n }\n\n // date from string and array of format strings\n function configFromStringAndArray(config) {\n var tempConfig,\n bestMoment,\n\n scoreToBeat,\n i,\n currentScore;\n\n if (config._f.length === 0) {\n getParsingFlags(config).invalidFormat = true;\n config._d = new Date(NaN);\n return;\n }\n\n for (i = 0; i < config._f.length; i++) {\n currentScore = 0;\n tempConfig = copyConfig({}, config);\n if (config._useUTC != null) {\n tempConfig._useUTC = config._useUTC;\n }\n tempConfig._f = config._f[i];\n configFromStringAndFormat(tempConfig);\n\n if (!isValid(tempConfig)) {\n continue;\n }\n\n // if there is any input that was not parsed add a penalty for that format\n currentScore += getParsingFlags(tempConfig).charsLeftOver;\n\n //or tokens\n currentScore += getParsingFlags(tempConfig).unusedTokens.length * 10;\n\n getParsingFlags(tempConfig).score = currentScore;\n\n if (scoreToBeat == null || currentScore < scoreToBeat) {\n scoreToBeat = currentScore;\n bestMoment = tempConfig;\n }\n }\n\n extend(config, bestMoment || tempConfig);\n }\n\n function configFromObject(config) {\n if (config._d) {\n return;\n }\n\n var i = normalizeObjectUnits(config._i);\n config._a = map([i.year, i.month, i.day || i.date, i.hour, i.minute, i.second, i.millisecond], function (obj) {\n return obj && parseInt(obj, 10);\n });\n\n configFromArray(config);\n }\n\n function createFromConfig (config) {\n var res = new Moment(checkOverflow(prepareConfig(config)));\n if (res._nextDay) {\n // Adding is smart enough around DST\n res.add(1, 'd');\n res._nextDay = undefined;\n }\n\n return res;\n }\n\n function prepareConfig (config) {\n var input = config._i,\n format = config._f;\n\n config._locale = config._locale || getLocale(config._l);\n\n if (input === null || (format === undefined && input === '')) {\n return createInvalid({nullInput: true});\n }\n\n if (typeof input === 'string') {\n config._i = input = config._locale.preparse(input);\n }\n\n if (isMoment(input)) {\n return new Moment(checkOverflow(input));\n } else if (isDate(input)) {\n config._d = input;\n } else if (isArray(format)) {\n configFromStringAndArray(config);\n } else if (format) {\n configFromStringAndFormat(config);\n } else {\n configFromInput(config);\n }\n\n if (!isValid(config)) {\n config._d = null;\n }\n\n return config;\n }\n\n function configFromInput(config) {\n var input = config._i;\n if (isUndefined(input)) {\n config._d = new Date(hooks.now());\n } else if (isDate(input)) {\n config._d = new Date(input.valueOf());\n } else if (typeof input === 'string') {\n configFromString(config);\n } else if (isArray(input)) {\n config._a = map(input.slice(0), function (obj) {\n return parseInt(obj, 10);\n });\n configFromArray(config);\n } else if (isObject(input)) {\n configFromObject(config);\n } else if (isNumber(input)) {\n // from milliseconds\n config._d = new Date(input);\n } else {\n hooks.createFromInputFallback(config);\n }\n }\n\n function createLocalOrUTC (input, format, locale, strict, isUTC) {\n var c = {};\n\n if (locale === true || locale === false) {\n strict = locale;\n locale = undefined;\n }\n\n if ((isObject(input) && isObjectEmpty(input)) ||\n (isArray(input) && input.length === 0)) {\n input = undefined;\n }\n // object construction must be done this way.\n // https://github.com/moment/moment/issues/1423\n c._isAMomentObject = true;\n c._useUTC = c._isUTC = isUTC;\n c._l = locale;\n c._i = input;\n c._f = format;\n c._strict = strict;\n\n return createFromConfig(c);\n }\n\n function createLocal (input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, false);\n }\n\n var prototypeMin = deprecate(\n 'moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/',\n function () {\n var other = createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other < this ? this : other;\n } else {\n return createInvalid();\n }\n }\n );\n\n var prototypeMax = deprecate(\n 'moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/',\n function () {\n var other = createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other > this ? this : other;\n } else {\n return createInvalid();\n }\n }\n );\n\n // Pick a moment m from moments so that m[fn](other) is true for all\n // other. This relies on the function fn to be transitive.\n //\n // moments should either be an array of moment objects or an array, whose\n // first element is an array of moment objects.\n function pickBy(fn, moments) {\n var res, i;\n if (moments.length === 1 && isArray(moments[0])) {\n moments = moments[0];\n }\n if (!moments.length) {\n return createLocal();\n }\n res = moments[0];\n for (i = 1; i < moments.length; ++i) {\n if (!moments[i].isValid() || moments[i][fn](res)) {\n res = moments[i];\n }\n }\n return res;\n }\n\n // TODO: Use [].sort instead?\n function min () {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isBefore', args);\n }\n\n function max () {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isAfter', args);\n }\n\n var now = function () {\n return Date.now ? Date.now() : +(new Date());\n };\n\n var ordering = ['year', 'quarter', 'month', 'week', 'day', 'hour', 'minute', 'second', 'millisecond'];\n\n function isDurationValid(m) {\n for (var key in m) {\n if (!(indexOf.call(ordering, key) !== -1 && (m[key] == null || !isNaN(m[key])))) {\n return false;\n }\n }\n\n var unitHasDecimal = false;\n for (var i = 0; i < ordering.length; ++i) {\n if (m[ordering[i]]) {\n if (unitHasDecimal) {\n return false; // only allow non-integers for smallest unit\n }\n if (parseFloat(m[ordering[i]]) !== toInt(m[ordering[i]])) {\n unitHasDecimal = true;\n }\n }\n }\n\n return true;\n }\n\n function isValid$1() {\n return this._isValid;\n }\n\n function createInvalid$1() {\n return createDuration(NaN);\n }\n\n function Duration (duration) {\n var normalizedInput = normalizeObjectUnits(duration),\n years = normalizedInput.year || 0,\n quarters = normalizedInput.quarter || 0,\n months = normalizedInput.month || 0,\n weeks = normalizedInput.week || 0,\n days = normalizedInput.day || 0,\n hours = normalizedInput.hour || 0,\n minutes = normalizedInput.minute || 0,\n seconds = normalizedInput.second || 0,\n milliseconds = normalizedInput.millisecond || 0;\n\n this._isValid = isDurationValid(normalizedInput);\n\n // representation for dateAddRemove\n this._milliseconds = +milliseconds +\n seconds * 1e3 + // 1000\n minutes * 6e4 + // 1000 * 60\n hours * 1000 * 60 * 60; //using 1000 * 60 * 60 instead of 36e5 to avoid floating point rounding errors https://github.com/moment/moment/issues/2978\n // Because of dateAddRemove treats 24 hours as different from a\n // day when working around DST, we need to store them separately\n this._days = +days +\n weeks * 7;\n // It is impossible to translate months into days without knowing\n // which months you are are talking about, so we have to store\n // it separately.\n this._months = +months +\n quarters * 3 +\n years * 12;\n\n this._data = {};\n\n this._locale = getLocale();\n\n this._bubble();\n }\n\n function isDuration (obj) {\n return obj instanceof Duration;\n }\n\n function absRound (number) {\n if (number < 0) {\n return Math.round(-1 * number) * -1;\n } else {\n return Math.round(number);\n }\n }\n\n // FORMATTING\n\n function offset (token, separator) {\n addFormatToken(token, 0, 0, function () {\n var offset = this.utcOffset();\n var sign = '+';\n if (offset < 0) {\n offset = -offset;\n sign = '-';\n }\n return sign + zeroFill(~~(offset / 60), 2) + separator + zeroFill(~~(offset) % 60, 2);\n });\n }\n\n offset('Z', ':');\n offset('ZZ', '');\n\n // PARSING\n\n addRegexToken('Z', matchShortOffset);\n addRegexToken('ZZ', matchShortOffset);\n addParseToken(['Z', 'ZZ'], function (input, array, config) {\n config._useUTC = true;\n config._tzm = offsetFromString(matchShortOffset, input);\n });\n\n // HELPERS\n\n // timezone chunker\n // '+10:00' > ['10', '00']\n // '-1530' > ['-15', '30']\n var chunkOffset = /([\\+\\-]|\\d\\d)/gi;\n\n function offsetFromString(matcher, string) {\n var matches = (string || '').match(matcher);\n\n if (matches === null) {\n return null;\n }\n\n var chunk = matches[matches.length - 1] || [];\n var parts = (chunk + '').match(chunkOffset) || ['-', 0, 0];\n var minutes = +(parts[1] * 60) + toInt(parts[2]);\n\n return minutes === 0 ?\n 0 :\n parts[0] === '+' ? minutes : -minutes;\n }\n\n // Return a moment from input, that is local/utc/zone equivalent to model.\n function cloneWithOffset(input, model) {\n var res, diff;\n if (model._isUTC) {\n res = model.clone();\n diff = (isMoment(input) || isDate(input) ? input.valueOf() : createLocal(input).valueOf()) - res.valueOf();\n // Use low-level api, because this fn is low-level api.\n res._d.setTime(res._d.valueOf() + diff);\n hooks.updateOffset(res, false);\n return res;\n } else {\n return createLocal(input).local();\n }\n }\n\n function getDateOffset (m) {\n // On Firefox.24 Date#getTimezoneOffset returns a floating point.\n // https://github.com/moment/moment/pull/1871\n return -Math.round(m._d.getTimezoneOffset() / 15) * 15;\n }\n\n // HOOKS\n\n // This function will be called whenever a moment is mutated.\n // It is intended to keep the offset in sync with the timezone.\n hooks.updateOffset = function () {};\n\n // MOMENTS\n\n // keepLocalTime = true means only change the timezone, without\n // affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]-->\n // 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset\n // +0200, so we adjust the time as needed, to be valid.\n //\n // Keeping the time actually adds/subtracts (one hour)\n // from the actual represented time. That is why we call updateOffset\n // a second time. In case it wants us to change the offset again\n // _changeInProgress == true case, then we have to adjust, because\n // there is no such time in the given timezone.\n function getSetOffset (input, keepLocalTime, keepMinutes) {\n var offset = this._offset || 0,\n localAdjust;\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n if (input != null) {\n if (typeof input === 'string') {\n input = offsetFromString(matchShortOffset, input);\n if (input === null) {\n return this;\n }\n } else if (Math.abs(input) < 16 && !keepMinutes) {\n input = input * 60;\n }\n if (!this._isUTC && keepLocalTime) {\n localAdjust = getDateOffset(this);\n }\n this._offset = input;\n this._isUTC = true;\n if (localAdjust != null) {\n this.add(localAdjust, 'm');\n }\n if (offset !== input) {\n if (!keepLocalTime || this._changeInProgress) {\n addSubtract(this, createDuration(input - offset, 'm'), 1, false);\n } else if (!this._changeInProgress) {\n this._changeInProgress = true;\n hooks.updateOffset(this, true);\n this._changeInProgress = null;\n }\n }\n return this;\n } else {\n return this._isUTC ? offset : getDateOffset(this);\n }\n }\n\n function getSetZone (input, keepLocalTime) {\n if (input != null) {\n if (typeof input !== 'string') {\n input = -input;\n }\n\n this.utcOffset(input, keepLocalTime);\n\n return this;\n } else {\n return -this.utcOffset();\n }\n }\n\n function setOffsetToUTC (keepLocalTime) {\n return this.utcOffset(0, keepLocalTime);\n }\n\n function setOffsetToLocal (keepLocalTime) {\n if (this._isUTC) {\n this.utcOffset(0, keepLocalTime);\n this._isUTC = false;\n\n if (keepLocalTime) {\n this.subtract(getDateOffset(this), 'm');\n }\n }\n return this;\n }\n\n function setOffsetToParsedOffset () {\n if (this._tzm != null) {\n this.utcOffset(this._tzm, false, true);\n } else if (typeof this._i === 'string') {\n var tZone = offsetFromString(matchOffset, this._i);\n if (tZone != null) {\n this.utcOffset(tZone);\n }\n else {\n this.utcOffset(0, true);\n }\n }\n return this;\n }\n\n function hasAlignedHourOffset (input) {\n if (!this.isValid()) {\n return false;\n }\n input = input ? createLocal(input).utcOffset() : 0;\n\n return (this.utcOffset() - input) % 60 === 0;\n }\n\n function isDaylightSavingTime () {\n return (\n this.utcOffset() > this.clone().month(0).utcOffset() ||\n this.utcOffset() > this.clone().month(5).utcOffset()\n );\n }\n\n function isDaylightSavingTimeShifted () {\n if (!isUndefined(this._isDSTShifted)) {\n return this._isDSTShifted;\n }\n\n var c = {};\n\n copyConfig(c, this);\n c = prepareConfig(c);\n\n if (c._a) {\n var other = c._isUTC ? createUTC(c._a) : createLocal(c._a);\n this._isDSTShifted = this.isValid() &&\n compareArrays(c._a, other.toArray()) > 0;\n } else {\n this._isDSTShifted = false;\n }\n\n return this._isDSTShifted;\n }\n\n function isLocal () {\n return this.isValid() ? !this._isUTC : false;\n }\n\n function isUtcOffset () {\n return this.isValid() ? this._isUTC : false;\n }\n\n function isUtc () {\n return this.isValid() ? this._isUTC && this._offset === 0 : false;\n }\n\n // ASP.NET json date format regex\n var aspNetRegex = /^(\\-|\\+)?(?:(\\d*)[. ])?(\\d+)\\:(\\d+)(?:\\:(\\d+)(\\.\\d*)?)?$/;\n\n // from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html\n // somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere\n // and further modified to allow for strings containing both week and day\n var isoRegex = /^(-|\\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;\n\n function createDuration (input, key) {\n var duration = input,\n // matching against regexp is expensive, do it on demand\n match = null,\n sign,\n ret,\n diffRes;\n\n if (isDuration(input)) {\n duration = {\n ms : input._milliseconds,\n d : input._days,\n M : input._months\n };\n } else if (isNumber(input)) {\n duration = {};\n if (key) {\n duration[key] = input;\n } else {\n duration.milliseconds = input;\n }\n } else if (!!(match = aspNetRegex.exec(input))) {\n sign = (match[1] === '-') ? -1 : 1;\n duration = {\n y : 0,\n d : toInt(match[DATE]) * sign,\n h : toInt(match[HOUR]) * sign,\n m : toInt(match[MINUTE]) * sign,\n s : toInt(match[SECOND]) * sign,\n ms : toInt(absRound(match[MILLISECOND] * 1000)) * sign // the millisecond decimal point is included in the match\n };\n } else if (!!(match = isoRegex.exec(input))) {\n sign = (match[1] === '-') ? -1 : (match[1] === '+') ? 1 : 1;\n duration = {\n y : parseIso(match[2], sign),\n M : parseIso(match[3], sign),\n w : parseIso(match[4], sign),\n d : parseIso(match[5], sign),\n h : parseIso(match[6], sign),\n m : parseIso(match[7], sign),\n s : parseIso(match[8], sign)\n };\n } else if (duration == null) {// checks for null or undefined\n duration = {};\n } else if (typeof duration === 'object' && ('from' in duration || 'to' in duration)) {\n diffRes = momentsDifference(createLocal(duration.from), createLocal(duration.to));\n\n duration = {};\n duration.ms = diffRes.milliseconds;\n duration.M = diffRes.months;\n }\n\n ret = new Duration(duration);\n\n if (isDuration(input) && hasOwnProp(input, '_locale')) {\n ret._locale = input._locale;\n }\n\n return ret;\n }\n\n createDuration.fn = Duration.prototype;\n createDuration.invalid = createInvalid$1;\n\n function parseIso (inp, sign) {\n // We'd normally use ~~inp for this, but unfortunately it also\n // converts floats to ints.\n // inp may be undefined, so careful calling replace on it.\n var res = inp && parseFloat(inp.replace(',', '.'));\n // apply sign while we're at it\n return (isNaN(res) ? 0 : res) * sign;\n }\n\n function positiveMomentsDifference(base, other) {\n var res = {milliseconds: 0, months: 0};\n\n res.months = other.month() - base.month() +\n (other.year() - base.year()) * 12;\n if (base.clone().add(res.months, 'M').isAfter(other)) {\n --res.months;\n }\n\n res.milliseconds = +other - +(base.clone().add(res.months, 'M'));\n\n return res;\n }\n\n function momentsDifference(base, other) {\n var res;\n if (!(base.isValid() && other.isValid())) {\n return {milliseconds: 0, months: 0};\n }\n\n other = cloneWithOffset(other, base);\n if (base.isBefore(other)) {\n res = positiveMomentsDifference(base, other);\n } else {\n res = positiveMomentsDifference(other, base);\n res.milliseconds = -res.milliseconds;\n res.months = -res.months;\n }\n\n return res;\n }\n\n // TODO: remove 'name' arg after deprecation is removed\n function createAdder(direction, name) {\n return function (val, period) {\n var dur, tmp;\n //invert the arguments, but complain about it\n if (period !== null && !isNaN(+period)) {\n deprecateSimple(name, 'moment().' + name + '(period, number) is deprecated. Please use moment().' + name + '(number, period). ' +\n 'See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.');\n tmp = val; val = period; period = tmp;\n }\n\n val = typeof val === 'string' ? +val : val;\n dur = createDuration(val, period);\n addSubtract(this, dur, direction);\n return this;\n };\n }\n\n function addSubtract (mom, duration, isAdding, updateOffset) {\n var milliseconds = duration._milliseconds,\n days = absRound(duration._days),\n months = absRound(duration._months);\n\n if (!mom.isValid()) {\n // No op\n return;\n }\n\n updateOffset = updateOffset == null ? true : updateOffset;\n\n if (months) {\n setMonth(mom, get(mom, 'Month') + months * isAdding);\n }\n if (days) {\n set$1(mom, 'Date', get(mom, 'Date') + days * isAdding);\n }\n if (milliseconds) {\n mom._d.setTime(mom._d.valueOf() + milliseconds * isAdding);\n }\n if (updateOffset) {\n hooks.updateOffset(mom, days || months);\n }\n }\n\n var add = createAdder(1, 'add');\n var subtract = createAdder(-1, 'subtract');\n\n function getCalendarFormat(myMoment, now) {\n var diff = myMoment.diff(now, 'days', true);\n return diff < -6 ? 'sameElse' :\n diff < -1 ? 'lastWeek' :\n diff < 0 ? 'lastDay' :\n diff < 1 ? 'sameDay' :\n diff < 2 ? 'nextDay' :\n diff < 7 ? 'nextWeek' : 'sameElse';\n }\n\n function calendar$1 (time, formats) {\n // We want to compare the start of today, vs this.\n // Getting start-of-today depends on whether we're local/utc/offset or not.\n var now = time || createLocal(),\n sod = cloneWithOffset(now, this).startOf('day'),\n format = hooks.calendarFormat(this, sod) || 'sameElse';\n\n var output = formats && (isFunction(formats[format]) ? formats[format].call(this, now) : formats[format]);\n\n return this.format(output || this.localeData().calendar(format, this, createLocal(now)));\n }\n\n function clone () {\n return new Moment(this);\n }\n\n function isAfter (input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(!isUndefined(units) ? units : 'millisecond');\n if (units === 'millisecond') {\n return this.valueOf() > localInput.valueOf();\n } else {\n return localInput.valueOf() < this.clone().startOf(units).valueOf();\n }\n }\n\n function isBefore (input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(!isUndefined(units) ? units : 'millisecond');\n if (units === 'millisecond') {\n return this.valueOf() < localInput.valueOf();\n } else {\n return this.clone().endOf(units).valueOf() < localInput.valueOf();\n }\n }\n\n function isBetween (from, to, units, inclusivity) {\n inclusivity = inclusivity || '()';\n return (inclusivity[0] === '(' ? this.isAfter(from, units) : !this.isBefore(from, units)) &&\n (inclusivity[1] === ')' ? this.isBefore(to, units) : !this.isAfter(to, units));\n }\n\n function isSame (input, units) {\n var localInput = isMoment(input) ? input : createLocal(input),\n inputMs;\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units || 'millisecond');\n if (units === 'millisecond') {\n return this.valueOf() === localInput.valueOf();\n } else {\n inputMs = localInput.valueOf();\n return this.clone().startOf(units).valueOf() <= inputMs && inputMs <= this.clone().endOf(units).valueOf();\n }\n }\n\n function isSameOrAfter (input, units) {\n return this.isSame(input, units) || this.isAfter(input,units);\n }\n\n function isSameOrBefore (input, units) {\n return this.isSame(input, units) || this.isBefore(input,units);\n }\n\n function diff (input, units, asFloat) {\n var that,\n zoneDelta,\n output;\n\n if (!this.isValid()) {\n return NaN;\n }\n\n that = cloneWithOffset(input, this);\n\n if (!that.isValid()) {\n return NaN;\n }\n\n zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4;\n\n units = normalizeUnits(units);\n\n switch (units) {\n case 'year': output = monthDiff(this, that) / 12; break;\n case 'month': output = monthDiff(this, that); break;\n case 'quarter': output = monthDiff(this, that) / 3; break;\n case 'second': output = (this - that) / 1e3; break; // 1000\n case 'minute': output = (this - that) / 6e4; break; // 1000 * 60\n case 'hour': output = (this - that) / 36e5; break; // 1000 * 60 * 60\n case 'day': output = (this - that - zoneDelta) / 864e5; break; // 1000 * 60 * 60 * 24, negate dst\n case 'week': output = (this - that - zoneDelta) / 6048e5; break; // 1000 * 60 * 60 * 24 * 7, negate dst\n default: output = this - that;\n }\n\n return asFloat ? output : absFloor(output);\n }\n\n function monthDiff (a, b) {\n // difference in months\n var wholeMonthDiff = ((b.year() - a.year()) * 12) + (b.month() - a.month()),\n // b is in (anchor - 1 month, anchor + 1 month)\n anchor = a.clone().add(wholeMonthDiff, 'months'),\n anchor2, adjust;\n\n if (b - anchor < 0) {\n anchor2 = a.clone().add(wholeMonthDiff - 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor - anchor2);\n } else {\n anchor2 = a.clone().add(wholeMonthDiff + 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor2 - anchor);\n }\n\n //check for negative zero, return zero if negative zero\n return -(wholeMonthDiff + adjust) || 0;\n }\n\n hooks.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ';\n hooks.defaultFormatUtc = 'YYYY-MM-DDTHH:mm:ss[Z]';\n\n function toString () {\n return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ');\n }\n\n function toISOString(keepOffset) {\n if (!this.isValid()) {\n return null;\n }\n var utc = keepOffset !== true;\n var m = utc ? this.clone().utc() : this;\n if (m.year() < 0 || m.year() > 9999) {\n return formatMoment(m, utc ? 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYYYY-MM-DD[T]HH:mm:ss.SSSZ');\n }\n if (isFunction(Date.prototype.toISOString)) {\n // native implementation is ~50x faster, use it when we can\n if (utc) {\n return this.toDate().toISOString();\n } else {\n return new Date(this.valueOf() + this.utcOffset() * 60 * 1000).toISOString().replace('Z', formatMoment(m, 'Z'));\n }\n }\n return formatMoment(m, utc ? 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYY-MM-DD[T]HH:mm:ss.SSSZ');\n }\n\n /**\n * Return a human readable representation of a moment that can\n * also be evaluated to get a new moment which is the same\n *\n * @link https://nodejs.org/dist/latest/docs/api/util.html#util_custom_inspect_function_on_objects\n */\n function inspect () {\n if (!this.isValid()) {\n return 'moment.invalid(/* ' + this._i + ' */)';\n }\n var func = 'moment';\n var zone = '';\n if (!this.isLocal()) {\n func = this.utcOffset() === 0 ? 'moment.utc' : 'moment.parseZone';\n zone = 'Z';\n }\n var prefix = '[' + func + '(\"]';\n var year = (0 <= this.year() && this.year() <= 9999) ? 'YYYY' : 'YYYYYY';\n var datetime = '-MM-DD[T]HH:mm:ss.SSS';\n var suffix = zone + '[\")]';\n\n return this.format(prefix + year + datetime + suffix);\n }\n\n function format (inputString) {\n if (!inputString) {\n inputString = this.isUtc() ? hooks.defaultFormatUtc : hooks.defaultFormat;\n }\n var output = formatMoment(this, inputString);\n return this.localeData().postformat(output);\n }\n\n function from (time, withoutSuffix) {\n if (this.isValid() &&\n ((isMoment(time) && time.isValid()) ||\n createLocal(time).isValid())) {\n return createDuration({to: this, from: time}).locale(this.locale()).humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n\n function fromNow (withoutSuffix) {\n return this.from(createLocal(), withoutSuffix);\n }\n\n function to (time, withoutSuffix) {\n if (this.isValid() &&\n ((isMoment(time) && time.isValid()) ||\n createLocal(time).isValid())) {\n return createDuration({from: this, to: time}).locale(this.locale()).humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n\n function toNow (withoutSuffix) {\n return this.to(createLocal(), withoutSuffix);\n }\n\n // If passed a locale key, it will set the locale for this\n // instance. Otherwise, it will return the locale configuration\n // variables for this instance.\n function locale (key) {\n var newLocaleData;\n\n if (key === undefined) {\n return this._locale._abbr;\n } else {\n newLocaleData = getLocale(key);\n if (newLocaleData != null) {\n this._locale = newLocaleData;\n }\n return this;\n }\n }\n\n var lang = deprecate(\n 'moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.',\n function (key) {\n if (key === undefined) {\n return this.localeData();\n } else {\n return this.locale(key);\n }\n }\n );\n\n function localeData () {\n return this._locale;\n }\n\n function startOf (units) {\n units = normalizeUnits(units);\n // the following switch intentionally omits break keywords\n // to utilize falling through the cases.\n switch (units) {\n case 'year':\n this.month(0);\n /* falls through */\n case 'quarter':\n case 'month':\n this.date(1);\n /* falls through */\n case 'week':\n case 'isoWeek':\n case 'day':\n case 'date':\n this.hours(0);\n /* falls through */\n case 'hour':\n this.minutes(0);\n /* falls through */\n case 'minute':\n this.seconds(0);\n /* falls through */\n case 'second':\n this.milliseconds(0);\n }\n\n // weeks are a special case\n if (units === 'week') {\n this.weekday(0);\n }\n if (units === 'isoWeek') {\n this.isoWeekday(1);\n }\n\n // quarters are also special\n if (units === 'quarter') {\n this.month(Math.floor(this.month() / 3) * 3);\n }\n\n return this;\n }\n\n function endOf (units) {\n units = normalizeUnits(units);\n if (units === undefined || units === 'millisecond') {\n return this;\n }\n\n // 'date' is an alias for 'day', so it should be considered as such.\n if (units === 'date') {\n units = 'day';\n }\n\n return this.startOf(units).add(1, (units === 'isoWeek' ? 'week' : units)).subtract(1, 'ms');\n }\n\n function valueOf () {\n return this._d.valueOf() - ((this._offset || 0) * 60000);\n }\n\n function unix () {\n return Math.floor(this.valueOf() / 1000);\n }\n\n function toDate () {\n return new Date(this.valueOf());\n }\n\n function toArray () {\n var m = this;\n return [m.year(), m.month(), m.date(), m.hour(), m.minute(), m.second(), m.millisecond()];\n }\n\n function toObject () {\n var m = this;\n return {\n years: m.year(),\n months: m.month(),\n date: m.date(),\n hours: m.hours(),\n minutes: m.minutes(),\n seconds: m.seconds(),\n milliseconds: m.milliseconds()\n };\n }\n\n function toJSON () {\n // new Date(NaN).toJSON() === null\n return this.isValid() ? this.toISOString() : null;\n }\n\n function isValid$2 () {\n return isValid(this);\n }\n\n function parsingFlags () {\n return extend({}, getParsingFlags(this));\n }\n\n function invalidAt () {\n return getParsingFlags(this).overflow;\n }\n\n function creationData() {\n return {\n input: this._i,\n format: this._f,\n locale: this._locale,\n isUTC: this._isUTC,\n strict: this._strict\n };\n }\n\n // FORMATTING\n\n addFormatToken(0, ['gg', 2], 0, function () {\n return this.weekYear() % 100;\n });\n\n addFormatToken(0, ['GG', 2], 0, function () {\n return this.isoWeekYear() % 100;\n });\n\n function addWeekYearFormatToken (token, getter) {\n addFormatToken(0, [token, token.length], 0, getter);\n }\n\n addWeekYearFormatToken('gggg', 'weekYear');\n addWeekYearFormatToken('ggggg', 'weekYear');\n addWeekYearFormatToken('GGGG', 'isoWeekYear');\n addWeekYearFormatToken('GGGGG', 'isoWeekYear');\n\n // ALIASES\n\n addUnitAlias('weekYear', 'gg');\n addUnitAlias('isoWeekYear', 'GG');\n\n // PRIORITY\n\n addUnitPriority('weekYear', 1);\n addUnitPriority('isoWeekYear', 1);\n\n\n // PARSING\n\n addRegexToken('G', matchSigned);\n addRegexToken('g', matchSigned);\n addRegexToken('GG', match1to2, match2);\n addRegexToken('gg', match1to2, match2);\n addRegexToken('GGGG', match1to4, match4);\n addRegexToken('gggg', match1to4, match4);\n addRegexToken('GGGGG', match1to6, match6);\n addRegexToken('ggggg', match1to6, match6);\n\n addWeekParseToken(['gggg', 'ggggg', 'GGGG', 'GGGGG'], function (input, week, config, token) {\n week[token.substr(0, 2)] = toInt(input);\n });\n\n addWeekParseToken(['gg', 'GG'], function (input, week, config, token) {\n week[token] = hooks.parseTwoDigitYear(input);\n });\n\n // MOMENTS\n\n function getSetWeekYear (input) {\n return getSetWeekYearHelper.call(this,\n input,\n this.week(),\n this.weekday(),\n this.localeData()._week.dow,\n this.localeData()._week.doy);\n }\n\n function getSetISOWeekYear (input) {\n return getSetWeekYearHelper.call(this,\n input, this.isoWeek(), this.isoWeekday(), 1, 4);\n }\n\n function getISOWeeksInYear () {\n return weeksInYear(this.year(), 1, 4);\n }\n\n function getWeeksInYear () {\n var weekInfo = this.localeData()._week;\n return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy);\n }\n\n function getSetWeekYearHelper(input, week, weekday, dow, doy) {\n var weeksTarget;\n if (input == null) {\n return weekOfYear(this, dow, doy).year;\n } else {\n weeksTarget = weeksInYear(input, dow, doy);\n if (week > weeksTarget) {\n week = weeksTarget;\n }\n return setWeekAll.call(this, input, week, weekday, dow, doy);\n }\n }\n\n function setWeekAll(weekYear, week, weekday, dow, doy) {\n var dayOfYearData = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy),\n date = createUTCDate(dayOfYearData.year, 0, dayOfYearData.dayOfYear);\n\n this.year(date.getUTCFullYear());\n this.month(date.getUTCMonth());\n this.date(date.getUTCDate());\n return this;\n }\n\n // FORMATTING\n\n addFormatToken('Q', 0, 'Qo', 'quarter');\n\n // ALIASES\n\n addUnitAlias('quarter', 'Q');\n\n // PRIORITY\n\n addUnitPriority('quarter', 7);\n\n // PARSING\n\n addRegexToken('Q', match1);\n addParseToken('Q', function (input, array) {\n array[MONTH] = (toInt(input) - 1) * 3;\n });\n\n // MOMENTS\n\n function getSetQuarter (input) {\n return input == null ? Math.ceil((this.month() + 1) / 3) : this.month((input - 1) * 3 + this.month() % 3);\n }\n\n // FORMATTING\n\n addFormatToken('D', ['DD', 2], 'Do', 'date');\n\n // ALIASES\n\n addUnitAlias('date', 'D');\n\n // PRIORITY\n addUnitPriority('date', 9);\n\n // PARSING\n\n addRegexToken('D', match1to2);\n addRegexToken('DD', match1to2, match2);\n addRegexToken('Do', function (isStrict, locale) {\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n return isStrict ?\n (locale._dayOfMonthOrdinalParse || locale._ordinalParse) :\n locale._dayOfMonthOrdinalParseLenient;\n });\n\n addParseToken(['D', 'DD'], DATE);\n addParseToken('Do', function (input, array) {\n array[DATE] = toInt(input.match(match1to2)[0]);\n });\n\n // MOMENTS\n\n var getSetDayOfMonth = makeGetSet('Date', true);\n\n // FORMATTING\n\n addFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear');\n\n // ALIASES\n\n addUnitAlias('dayOfYear', 'DDD');\n\n // PRIORITY\n addUnitPriority('dayOfYear', 4);\n\n // PARSING\n\n addRegexToken('DDD', match1to3);\n addRegexToken('DDDD', match3);\n addParseToken(['DDD', 'DDDD'], function (input, array, config) {\n config._dayOfYear = toInt(input);\n });\n\n // HELPERS\n\n // MOMENTS\n\n function getSetDayOfYear (input) {\n var dayOfYear = Math.round((this.clone().startOf('day') - this.clone().startOf('year')) / 864e5) + 1;\n return input == null ? dayOfYear : this.add((input - dayOfYear), 'd');\n }\n\n // FORMATTING\n\n addFormatToken('m', ['mm', 2], 0, 'minute');\n\n // ALIASES\n\n addUnitAlias('minute', 'm');\n\n // PRIORITY\n\n addUnitPriority('minute', 14);\n\n // PARSING\n\n addRegexToken('m', match1to2);\n addRegexToken('mm', match1to2, match2);\n addParseToken(['m', 'mm'], MINUTE);\n\n // MOMENTS\n\n var getSetMinute = makeGetSet('Minutes', false);\n\n // FORMATTING\n\n addFormatToken('s', ['ss', 2], 0, 'second');\n\n // ALIASES\n\n addUnitAlias('second', 's');\n\n // PRIORITY\n\n addUnitPriority('second', 15);\n\n // PARSING\n\n addRegexToken('s', match1to2);\n addRegexToken('ss', match1to2, match2);\n addParseToken(['s', 'ss'], SECOND);\n\n // MOMENTS\n\n var getSetSecond = makeGetSet('Seconds', false);\n\n // FORMATTING\n\n addFormatToken('S', 0, 0, function () {\n return ~~(this.millisecond() / 100);\n });\n\n addFormatToken(0, ['SS', 2], 0, function () {\n return ~~(this.millisecond() / 10);\n });\n\n addFormatToken(0, ['SSS', 3], 0, 'millisecond');\n addFormatToken(0, ['SSSS', 4], 0, function () {\n return this.millisecond() * 10;\n });\n addFormatToken(0, ['SSSSS', 5], 0, function () {\n return this.millisecond() * 100;\n });\n addFormatToken(0, ['SSSSSS', 6], 0, function () {\n return this.millisecond() * 1000;\n });\n addFormatToken(0, ['SSSSSSS', 7], 0, function () {\n return this.millisecond() * 10000;\n });\n addFormatToken(0, ['SSSSSSSS', 8], 0, function () {\n return this.millisecond() * 100000;\n });\n addFormatToken(0, ['SSSSSSSSS', 9], 0, function () {\n return this.millisecond() * 1000000;\n });\n\n\n // ALIASES\n\n addUnitAlias('millisecond', 'ms');\n\n // PRIORITY\n\n addUnitPriority('millisecond', 16);\n\n // PARSING\n\n addRegexToken('S', match1to3, match1);\n addRegexToken('SS', match1to3, match2);\n addRegexToken('SSS', match1to3, match3);\n\n var token;\n for (token = 'SSSS'; token.length <= 9; token += 'S') {\n addRegexToken(token, matchUnsigned);\n }\n\n function parseMs(input, array) {\n array[MILLISECOND] = toInt(('0.' + input) * 1000);\n }\n\n for (token = 'S'; token.length <= 9; token += 'S') {\n addParseToken(token, parseMs);\n }\n // MOMENTS\n\n var getSetMillisecond = makeGetSet('Milliseconds', false);\n\n // FORMATTING\n\n addFormatToken('z', 0, 0, 'zoneAbbr');\n addFormatToken('zz', 0, 0, 'zoneName');\n\n // MOMENTS\n\n function getZoneAbbr () {\n return this._isUTC ? 'UTC' : '';\n }\n\n function getZoneName () {\n return this._isUTC ? 'Coordinated Universal Time' : '';\n }\n\n var proto = Moment.prototype;\n\n proto.add = add;\n proto.calendar = calendar$1;\n proto.clone = clone;\n proto.diff = diff;\n proto.endOf = endOf;\n proto.format = format;\n proto.from = from;\n proto.fromNow = fromNow;\n proto.to = to;\n proto.toNow = toNow;\n proto.get = stringGet;\n proto.invalidAt = invalidAt;\n proto.isAfter = isAfter;\n proto.isBefore = isBefore;\n proto.isBetween = isBetween;\n proto.isSame = isSame;\n proto.isSameOrAfter = isSameOrAfter;\n proto.isSameOrBefore = isSameOrBefore;\n proto.isValid = isValid$2;\n proto.lang = lang;\n proto.locale = locale;\n proto.localeData = localeData;\n proto.max = prototypeMax;\n proto.min = prototypeMin;\n proto.parsingFlags = parsingFlags;\n proto.set = stringSet;\n proto.startOf = startOf;\n proto.subtract = subtract;\n proto.toArray = toArray;\n proto.toObject = toObject;\n proto.toDate = toDate;\n proto.toISOString = toISOString;\n proto.inspect = inspect;\n proto.toJSON = toJSON;\n proto.toString = toString;\n proto.unix = unix;\n proto.valueOf = valueOf;\n proto.creationData = creationData;\n proto.year = getSetYear;\n proto.isLeapYear = getIsLeapYear;\n proto.weekYear = getSetWeekYear;\n proto.isoWeekYear = getSetISOWeekYear;\n proto.quarter = proto.quarters = getSetQuarter;\n proto.month = getSetMonth;\n proto.daysInMonth = getDaysInMonth;\n proto.week = proto.weeks = getSetWeek;\n proto.isoWeek = proto.isoWeeks = getSetISOWeek;\n proto.weeksInYear = getWeeksInYear;\n proto.isoWeeksInYear = getISOWeeksInYear;\n proto.date = getSetDayOfMonth;\n proto.day = proto.days = getSetDayOfWeek;\n proto.weekday = getSetLocaleDayOfWeek;\n proto.isoWeekday = getSetISODayOfWeek;\n proto.dayOfYear = getSetDayOfYear;\n proto.hour = proto.hours = getSetHour;\n proto.minute = proto.minutes = getSetMinute;\n proto.second = proto.seconds = getSetSecond;\n proto.millisecond = proto.milliseconds = getSetMillisecond;\n proto.utcOffset = getSetOffset;\n proto.utc = setOffsetToUTC;\n proto.local = setOffsetToLocal;\n proto.parseZone = setOffsetToParsedOffset;\n proto.hasAlignedHourOffset = hasAlignedHourOffset;\n proto.isDST = isDaylightSavingTime;\n proto.isLocal = isLocal;\n proto.isUtcOffset = isUtcOffset;\n proto.isUtc = isUtc;\n proto.isUTC = isUtc;\n proto.zoneAbbr = getZoneAbbr;\n proto.zoneName = getZoneName;\n proto.dates = deprecate('dates accessor is deprecated. Use date instead.', getSetDayOfMonth);\n proto.months = deprecate('months accessor is deprecated. Use month instead', getSetMonth);\n proto.years = deprecate('years accessor is deprecated. Use year instead', getSetYear);\n proto.zone = deprecate('moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/', getSetZone);\n proto.isDSTShifted = deprecate('isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information', isDaylightSavingTimeShifted);\n\n function createUnix (input) {\n return createLocal(input * 1000);\n }\n\n function createInZone () {\n return createLocal.apply(null, arguments).parseZone();\n }\n\n function preParsePostFormat (string) {\n return string;\n }\n\n var proto$1 = Locale.prototype;\n\n proto$1.calendar = calendar;\n proto$1.longDateFormat = longDateFormat;\n proto$1.invalidDate = invalidDate;\n proto$1.ordinal = ordinal;\n proto$1.preparse = preParsePostFormat;\n proto$1.postformat = preParsePostFormat;\n proto$1.relativeTime = relativeTime;\n proto$1.pastFuture = pastFuture;\n proto$1.set = set;\n\n proto$1.months = localeMonths;\n proto$1.monthsShort = localeMonthsShort;\n proto$1.monthsParse = localeMonthsParse;\n proto$1.monthsRegex = monthsRegex;\n proto$1.monthsShortRegex = monthsShortRegex;\n proto$1.week = localeWeek;\n proto$1.firstDayOfYear = localeFirstDayOfYear;\n proto$1.firstDayOfWeek = localeFirstDayOfWeek;\n\n proto$1.weekdays = localeWeekdays;\n proto$1.weekdaysMin = localeWeekdaysMin;\n proto$1.weekdaysShort = localeWeekdaysShort;\n proto$1.weekdaysParse = localeWeekdaysParse;\n\n proto$1.weekdaysRegex = weekdaysRegex;\n proto$1.weekdaysShortRegex = weekdaysShortRegex;\n proto$1.weekdaysMinRegex = weekdaysMinRegex;\n\n proto$1.isPM = localeIsPM;\n proto$1.meridiem = localeMeridiem;\n\n function get$1 (format, index, field, setter) {\n var locale = getLocale();\n var utc = createUTC().set(setter, index);\n return locale[field](utc, format);\n }\n\n function listMonthsImpl (format, index, field) {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n\n if (index != null) {\n return get$1(format, index, field, 'month');\n }\n\n var i;\n var out = [];\n for (i = 0; i < 12; i++) {\n out[i] = get$1(format, i, field, 'month');\n }\n return out;\n }\n\n // ()\n // (5)\n // (fmt, 5)\n // (fmt)\n // (true)\n // (true, 5)\n // (true, fmt, 5)\n // (true, fmt)\n function listWeekdaysImpl (localeSorted, format, index, field) {\n if (typeof localeSorted === 'boolean') {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n } else {\n format = localeSorted;\n index = format;\n localeSorted = false;\n\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n }\n\n var locale = getLocale(),\n shift = localeSorted ? locale._week.dow : 0;\n\n if (index != null) {\n return get$1(format, (index + shift) % 7, field, 'day');\n }\n\n var i;\n var out = [];\n for (i = 0; i < 7; i++) {\n out[i] = get$1(format, (i + shift) % 7, field, 'day');\n }\n return out;\n }\n\n function listMonths (format, index) {\n return listMonthsImpl(format, index, 'months');\n }\n\n function listMonthsShort (format, index) {\n return listMonthsImpl(format, index, 'monthsShort');\n }\n\n function listWeekdays (localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdays');\n }\n\n function listWeekdaysShort (localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysShort');\n }\n\n function listWeekdaysMin (localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysMin');\n }\n\n getSetGlobalLocale('en', {\n dayOfMonthOrdinalParse: /\\d{1,2}(th|st|nd|rd)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (toInt(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n }\n });\n\n // Side effect imports\n\n hooks.lang = deprecate('moment.lang is deprecated. Use moment.locale instead.', getSetGlobalLocale);\n hooks.langData = deprecate('moment.langData is deprecated. Use moment.localeData instead.', getLocale);\n\n var mathAbs = Math.abs;\n\n function abs () {\n var data = this._data;\n\n this._milliseconds = mathAbs(this._milliseconds);\n this._days = mathAbs(this._days);\n this._months = mathAbs(this._months);\n\n data.milliseconds = mathAbs(data.milliseconds);\n data.seconds = mathAbs(data.seconds);\n data.minutes = mathAbs(data.minutes);\n data.hours = mathAbs(data.hours);\n data.months = mathAbs(data.months);\n data.years = mathAbs(data.years);\n\n return this;\n }\n\n function addSubtract$1 (duration, input, value, direction) {\n var other = createDuration(input, value);\n\n duration._milliseconds += direction * other._milliseconds;\n duration._days += direction * other._days;\n duration._months += direction * other._months;\n\n return duration._bubble();\n }\n\n // supports only 2.0-style add(1, 's') or add(duration)\n function add$1 (input, value) {\n return addSubtract$1(this, input, value, 1);\n }\n\n // supports only 2.0-style subtract(1, 's') or subtract(duration)\n function subtract$1 (input, value) {\n return addSubtract$1(this, input, value, -1);\n }\n\n function absCeil (number) {\n if (number < 0) {\n return Math.floor(number);\n } else {\n return Math.ceil(number);\n }\n }\n\n function bubble () {\n var milliseconds = this._milliseconds;\n var days = this._days;\n var months = this._months;\n var data = this._data;\n var seconds, minutes, hours, years, monthsFromDays;\n\n // if we have a mix of positive and negative values, bubble down first\n // check: https://github.com/moment/moment/issues/2166\n if (!((milliseconds >= 0 && days >= 0 && months >= 0) ||\n (milliseconds <= 0 && days <= 0 && months <= 0))) {\n milliseconds += absCeil(monthsToDays(months) + days) * 864e5;\n days = 0;\n months = 0;\n }\n\n // The following code bubbles up values, see the tests for\n // examples of what that means.\n data.milliseconds = milliseconds % 1000;\n\n seconds = absFloor(milliseconds / 1000);\n data.seconds = seconds % 60;\n\n minutes = absFloor(seconds / 60);\n data.minutes = minutes % 60;\n\n hours = absFloor(minutes / 60);\n data.hours = hours % 24;\n\n days += absFloor(hours / 24);\n\n // convert days to months\n monthsFromDays = absFloor(daysToMonths(days));\n months += monthsFromDays;\n days -= absCeil(monthsToDays(monthsFromDays));\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n data.days = days;\n data.months = months;\n data.years = years;\n\n return this;\n }\n\n function daysToMonths (days) {\n // 400 years have 146097 days (taking into account leap year rules)\n // 400 years have 12 months === 4800\n return days * 4800 / 146097;\n }\n\n function monthsToDays (months) {\n // the reverse of daysToMonths\n return months * 146097 / 4800;\n }\n\n function as (units) {\n if (!this.isValid()) {\n return NaN;\n }\n var days;\n var months;\n var milliseconds = this._milliseconds;\n\n units = normalizeUnits(units);\n\n if (units === 'month' || units === 'year') {\n days = this._days + milliseconds / 864e5;\n months = this._months + daysToMonths(days);\n return units === 'month' ? months : months / 12;\n } else {\n // handle milliseconds separately because of floating point math errors (issue #1867)\n days = this._days + Math.round(monthsToDays(this._months));\n switch (units) {\n case 'week' : return days / 7 + milliseconds / 6048e5;\n case 'day' : return days + milliseconds / 864e5;\n case 'hour' : return days * 24 + milliseconds / 36e5;\n case 'minute' : return days * 1440 + milliseconds / 6e4;\n case 'second' : return days * 86400 + milliseconds / 1000;\n // Math.floor prevents floating point math errors here\n case 'millisecond': return Math.floor(days * 864e5) + milliseconds;\n default: throw new Error('Unknown unit ' + units);\n }\n }\n }\n\n // TODO: Use this.as('ms')?\n function valueOf$1 () {\n if (!this.isValid()) {\n return NaN;\n }\n return (\n this._milliseconds +\n this._days * 864e5 +\n (this._months % 12) * 2592e6 +\n toInt(this._months / 12) * 31536e6\n );\n }\n\n function makeAs (alias) {\n return function () {\n return this.as(alias);\n };\n }\n\n var asMilliseconds = makeAs('ms');\n var asSeconds = makeAs('s');\n var asMinutes = makeAs('m');\n var asHours = makeAs('h');\n var asDays = makeAs('d');\n var asWeeks = makeAs('w');\n var asMonths = makeAs('M');\n var asYears = makeAs('y');\n\n function clone$1 () {\n return createDuration(this);\n }\n\n function get$2 (units) {\n units = normalizeUnits(units);\n return this.isValid() ? this[units + 's']() : NaN;\n }\n\n function makeGetter(name) {\n return function () {\n return this.isValid() ? this._data[name] : NaN;\n };\n }\n\n var milliseconds = makeGetter('milliseconds');\n var seconds = makeGetter('seconds');\n var minutes = makeGetter('minutes');\n var hours = makeGetter('hours');\n var days = makeGetter('days');\n var months = makeGetter('months');\n var years = makeGetter('years');\n\n function weeks () {\n return absFloor(this.days() / 7);\n }\n\n var round = Math.round;\n var thresholds = {\n ss: 44, // a few seconds to seconds\n s : 45, // seconds to minute\n m : 45, // minutes to hour\n h : 22, // hours to day\n d : 26, // days to month\n M : 11 // months to year\n };\n\n // helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize\n function substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) {\n return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture);\n }\n\n function relativeTime$1 (posNegDuration, withoutSuffix, locale) {\n var duration = createDuration(posNegDuration).abs();\n var seconds = round(duration.as('s'));\n var minutes = round(duration.as('m'));\n var hours = round(duration.as('h'));\n var days = round(duration.as('d'));\n var months = round(duration.as('M'));\n var years = round(duration.as('y'));\n\n var a = seconds <= thresholds.ss && ['s', seconds] ||\n seconds < thresholds.s && ['ss', seconds] ||\n minutes <= 1 && ['m'] ||\n minutes < thresholds.m && ['mm', minutes] ||\n hours <= 1 && ['h'] ||\n hours < thresholds.h && ['hh', hours] ||\n days <= 1 && ['d'] ||\n days < thresholds.d && ['dd', days] ||\n months <= 1 && ['M'] ||\n months < thresholds.M && ['MM', months] ||\n years <= 1 && ['y'] || ['yy', years];\n\n a[2] = withoutSuffix;\n a[3] = +posNegDuration > 0;\n a[4] = locale;\n return substituteTimeAgo.apply(null, a);\n }\n\n // This function allows you to set the rounding function for relative time strings\n function getSetRelativeTimeRounding (roundingFunction) {\n if (roundingFunction === undefined) {\n return round;\n }\n if (typeof(roundingFunction) === 'function') {\n round = roundingFunction;\n return true;\n }\n return false;\n }\n\n // This function allows you to set a threshold for relative time strings\n function getSetRelativeTimeThreshold (threshold, limit) {\n if (thresholds[threshold] === undefined) {\n return false;\n }\n if (limit === undefined) {\n return thresholds[threshold];\n }\n thresholds[threshold] = limit;\n if (threshold === 's') {\n thresholds.ss = limit - 1;\n }\n return true;\n }\n\n function humanize (withSuffix) {\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var locale = this.localeData();\n var output = relativeTime$1(this, !withSuffix, locale);\n\n if (withSuffix) {\n output = locale.pastFuture(+this, output);\n }\n\n return locale.postformat(output);\n }\n\n var abs$1 = Math.abs;\n\n function sign(x) {\n return ((x > 0) - (x < 0)) || +x;\n }\n\n function toISOString$1() {\n // for ISO strings we do not use the normal bubbling rules:\n // * milliseconds bubble up until they become hours\n // * days do not bubble at all\n // * months bubble up until they become years\n // This is because there is no context-free conversion between hours and days\n // (think of clock changes)\n // and also not between days and months (28-31 days per month)\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var seconds = abs$1(this._milliseconds) / 1000;\n var days = abs$1(this._days);\n var months = abs$1(this._months);\n var minutes, hours, years;\n\n // 3600 seconds -> 60 minutes -> 1 hour\n minutes = absFloor(seconds / 60);\n hours = absFloor(minutes / 60);\n seconds %= 60;\n minutes %= 60;\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n\n // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js\n var Y = years;\n var M = months;\n var D = days;\n var h = hours;\n var m = minutes;\n var s = seconds ? seconds.toFixed(3).replace(/\\.?0+$/, '') : '';\n var total = this.asSeconds();\n\n if (!total) {\n // this is the same as C#'s (Noda) and python (isodate)...\n // but not other JS (goog.date)\n return 'P0D';\n }\n\n var totalSign = total < 0 ? '-' : '';\n var ymSign = sign(this._months) !== sign(total) ? '-' : '';\n var daysSign = sign(this._days) !== sign(total) ? '-' : '';\n var hmsSign = sign(this._milliseconds) !== sign(total) ? '-' : '';\n\n return totalSign + 'P' +\n (Y ? ymSign + Y + 'Y' : '') +\n (M ? ymSign + M + 'M' : '') +\n (D ? daysSign + D + 'D' : '') +\n ((h || m || s) ? 'T' : '') +\n (h ? hmsSign + h + 'H' : '') +\n (m ? hmsSign + m + 'M' : '') +\n (s ? hmsSign + s + 'S' : '');\n }\n\n var proto$2 = Duration.prototype;\n\n proto$2.isValid = isValid$1;\n proto$2.abs = abs;\n proto$2.add = add$1;\n proto$2.subtract = subtract$1;\n proto$2.as = as;\n proto$2.asMilliseconds = asMilliseconds;\n proto$2.asSeconds = asSeconds;\n proto$2.asMinutes = asMinutes;\n proto$2.asHours = asHours;\n proto$2.asDays = asDays;\n proto$2.asWeeks = asWeeks;\n proto$2.asMonths = asMonths;\n proto$2.asYears = asYears;\n proto$2.valueOf = valueOf$1;\n proto$2._bubble = bubble;\n proto$2.clone = clone$1;\n proto$2.get = get$2;\n proto$2.milliseconds = milliseconds;\n proto$2.seconds = seconds;\n proto$2.minutes = minutes;\n proto$2.hours = hours;\n proto$2.days = days;\n proto$2.weeks = weeks;\n proto$2.months = months;\n proto$2.years = years;\n proto$2.humanize = humanize;\n proto$2.toISOString = toISOString$1;\n proto$2.toString = toISOString$1;\n proto$2.toJSON = toISOString$1;\n proto$2.locale = locale;\n proto$2.localeData = localeData;\n\n proto$2.toIsoString = deprecate('toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)', toISOString$1);\n proto$2.lang = lang;\n\n // Side effect imports\n\n // FORMATTING\n\n addFormatToken('X', 0, 0, 'unix');\n addFormatToken('x', 0, 0, 'valueOf');\n\n // PARSING\n\n addRegexToken('x', matchSigned);\n addRegexToken('X', matchTimestamp);\n addParseToken('X', function (input, array, config) {\n config._d = new Date(parseFloat(input, 10) * 1000);\n });\n addParseToken('x', function (input, array, config) {\n config._d = new Date(toInt(input));\n });\n\n // Side effect imports\n\n\n hooks.version = '2.22.2';\n\n setHookCallback(createLocal);\n\n hooks.fn = proto;\n hooks.min = min;\n hooks.max = max;\n hooks.now = now;\n hooks.utc = createUTC;\n hooks.unix = createUnix;\n hooks.months = listMonths;\n hooks.isDate = isDate;\n hooks.locale = getSetGlobalLocale;\n hooks.invalid = createInvalid;\n hooks.duration = createDuration;\n hooks.isMoment = isMoment;\n hooks.weekdays = listWeekdays;\n hooks.parseZone = createInZone;\n hooks.localeData = getLocale;\n hooks.isDuration = isDuration;\n hooks.monthsShort = listMonthsShort;\n hooks.weekdaysMin = listWeekdaysMin;\n hooks.defineLocale = defineLocale;\n hooks.updateLocale = updateLocale;\n hooks.locales = listLocales;\n hooks.weekdaysShort = listWeekdaysShort;\n hooks.normalizeUnits = normalizeUnits;\n hooks.relativeTimeRounding = getSetRelativeTimeRounding;\n hooks.relativeTimeThreshold = getSetRelativeTimeThreshold;\n hooks.calendarFormat = getCalendarFormat;\n hooks.prototype = proto;\n\n // currently HTML5 input type only supports 24-hour formats\n hooks.HTML5_FMT = {\n DATETIME_LOCAL: 'YYYY-MM-DDTHH:mm', // \n DATETIME_LOCAL_SECONDS: 'YYYY-MM-DDTHH:mm:ss', // \n DATETIME_LOCAL_MS: 'YYYY-MM-DDTHH:mm:ss.SSS', // \n DATE: 'YYYY-MM-DD', // \n TIME: 'HH:mm', // \n TIME_SECONDS: 'HH:mm:ss', // \n TIME_MS: 'HH:mm:ss.SSS', // \n WEEK: 'YYYY-[W]WW', // \n MONTH: 'YYYY-MM' // \n };\n\n return hooks;\n\n})));\n","export function each(o, cb, s) {\n var n;\n if (!o) {\n return 0;\n }\n s = !s ? o : s;\n if (o instanceof Array) {\n // Indexed arrays, needed for Safari\n for (n = 0; n < o.length; n++) {\n if (cb.call(s, o[n], n, o) === false) {\n return 0;\n }\n }\n } else {\n // Hashtables\n for (n in o) {\n if (o.hasOwnProperty(n)) {\n if (cb.call(s, o[n], n, o) === false){\n return 0;\n }\n }\n }\n }\n return 1;\n}\n","module.exports = __WEBPACK_EXTERNAL_MODULE__2__;","export function prettyNumber(input) {\n // If it has 3 or fewer sig figs already, just return the number.\n var input = Number(input),\n sciNo = input.toPrecision(3),\n prefix = '',\n suffixes = ['', 'k', 'M', 'B', 'T'];\n\n if (Number(sciNo) == input && String(input).length <= 4) {\n return String(input);\n }\n\n if (Math.abs(input) >= 1000000000000000) {\n return sciNo;\n }\n\n if (input >= 1 || input <= -1) {\n if (input < 0){\n //Pull off the negative side and stash that.\n input = -input;\n prefix = '-';\n }\n return prefix + recurse(input, 0);\n }\n else {\n return input.toPrecision(3);\n }\n\n function recurse(input, iteration) {\n var input = String(input);\n var split = input.split('.');\n // If there's a dot\n if (split.length > 1) {\n // Keep the left hand side only\n input = split[0];\n var rhs = split[1];\n // If the left-hand side is too short, pad until it has 3 digits\n if (input.length == 2 && rhs.length > 0) {\n // Pad with right-hand side if possible\n if (rhs.length > 0) {\n input = input + '.' + rhs.charAt(0);\n }\n // Pad with zeroes if you must\n else {\n input += '0';\n }\n }\n else if (input.length == 1 && rhs.length > 0) {\n input = input + '.' + rhs.charAt(0);\n // Pad with right-hand side if possible\n if (rhs.length > 1) {\n input += rhs.charAt(1);\n }\n // Pad with zeroes if you must\n else {\n input += '0';\n }\n }\n }\n var numNumerals = input.length;\n // if it has a period, then numNumerals is 1 smaller than the string length:\n if (input.split('.').length > 1) {\n numNumerals--;\n }\n if (numNumerals <= 3) {\n return String(input) + suffixes[iteration];\n }\n else {\n return recurse(Number(input) / 1000, iteration + 1);\n }\n }\n}\n","const matchHtmlRegExp = /[\"'&<>]/;\n\n/**\n * Escape special characters in the given string of html.\n *\n * @param {string} string The string to escape for inserting into HTML\n * @return {string}\n * @public\n */\n\nexport function escapeHtml(string) {\n var str = '' + string;\n var match = matchHtmlRegExp.exec(str);\n\n if (!match) {\n return str;\n }\n\n var escape;\n var html = '';\n var index = 0;\n var lastIndex = 0;\n\n for (index = match.index; index < str.length; index++) {\n switch (str.charCodeAt(index)) {\n case 34: // \"\n escape = '"';\n break;\n case 38: // &\n escape = '&';\n break;\n case 39: // '\n escape = ''';\n break;\n case 60: // <\n escape = '<';\n break;\n case 62: // >\n escape = '>';\n break;\n default:\n continue;\n }\n\n if (lastIndex !== index) {\n html += str.substring(lastIndex, index);\n }\n\n lastIndex = index + 1;\n html += escape;\n }\n\n return lastIndex !== index\n ? html + str.substring(lastIndex, index)\n : html;\n}\n","import * as d3 from 'd3';\n\nexport function textWrap(text, width) {\n text.each(function () {\n let text = d3.select(this),\n words = text.text().split(/\\s+/).reverse(),\n word,\n line = [],\n lineNumber = 0,\n lineHeight = 1.1, // ems\n x = text.attr(\"x\"),\n y = text.attr(\"y\"),\n dy = 0, //parseFloat(text.attr(\"dy\")),\n tspan = text.text(null)\n .append(\"tspan\")\n .attr(\"x\", x)\n .attr(\"y\", y)\n .attr(\"dy\", dy + \"em\");\n while (word = words.pop()) {\n line.push(word);\n tspan.text(line.join(\" \"));\n if (tspan.node().getComputedTextLength() > width) {\n line.pop();\n tspan.text(line.join(\" \"));\n line = [word];\n tspan = text.append(\"tspan\")\n .attr(\"x\", x)\n .attr(\"y\", y)\n .attr(\"dy\", ++lineNumber * lineHeight + dy + \"em\")\n .text(word);\n }\n }\n });\n}\n","export function extend(target) {\n for (var i = 1; i < arguments.length; i++) {\n for (var prop in arguments[i]){\n target[prop] = arguments[i][prop];\n }\n }\n return target;\n}\n","export function testObject(input) {\n if (input !== null && typeof input.getTime === 'function' && !isNaN(input.getTime())) {\n return true;\n }\n return false;\n}\n\nexport function testString(input) {\n const ISO_8601 = /^\\d{4}-\\d\\d-\\d\\dT\\d\\d:\\d\\d:\\d\\d(\\.\\d+)?(([+-]\\d\\d:\\d\\d)|Z)?$/i;\n return ISO_8601.test(input);\n}\n\nexport default function (input) {\n if (typeof input === 'object') {\n return testObject(input);\n } else if (typeof input === 'string') {\n return testString(input);\n }\n return false;\n}\n","/**\n * Strip html tags from string\n *\n * @param {string} string The string to strip\n * @return {string}\n * @public\n */\n\nexport function stripHtmlTags(inputString) {\n return inputString.replace(/(<([^>]+)>)/ig, '');\n}\n","export default function (len) {\n const list = [];\n for (let i = 0; i < len; i++) {\n list.push(null);\n }\n return list;\n}\n","import createNullList from '../utils/create-null-list';\nimport { each } from '../../utils/each';\n\nexport function appendColumn(str, input) {\n const self = this;\n const args = Array.prototype.slice.call(arguments, 2);\n const label = (str !== undefined) ? str : null;\n\n if (typeof input === 'function') {\n self.matrix[0].push(label);\n each(self.matrix, function(row, i) {\n let cell;\n if (i > 0) {\n cell = input.call(self, row, i);\n if (typeof cell === 'undefined') {\n cell = null;\n }\n self.matrix[i].push(cell);\n }\n });\n }\n\n else if (!input || input instanceof Array) {\n input = input || [];\n\n if (input.length <= self.matrix.length - 1) {\n input = input.concat(createNullList(self.matrix.length - 1 - input.length));\n }\n else {\n // If this new column is longer than existing columns,\n // we need to update the rest to match ...\n each(input, function(value, i){\n if (self.matrix.length -1 < input.length) {\n appendRow.call(self, String(self.matrix.length));\n }\n });\n }\n\n self.matrix[0].push(label);\n each(input, function(value, i){\n self.matrix[i+1][self.matrix[0].length-1] = value;\n });\n\n }\n\n return self;\n}\n\nexport function appendRow(str, input) {\n const self = this;\n const args = Array.prototype.slice.call(arguments, 2);\n const label = (str !== undefined) ? str : null;\n const newRow = [];\n\n newRow.push(label);\n\n if (typeof input === 'function') {\n each(self.matrix[0], function(label, i){\n let col;\n let cell;\n if (i > 0) {\n col = self.selectColumn(i);\n cell = input.call(self, col, i);\n if (typeof cell === 'undefined') {\n cell = null;\n }\n newRow.push(cell);\n }\n });\n self.matrix.push(newRow);\n }\n\n else if (!input || input instanceof Array) {\n input = input || [];\n\n if (input.length <= self.matrix[0].length - 1) {\n input = input.concat( createNullList( self.matrix[0].length - 1 - input.length ) );\n }\n else {\n each(input, function(value, i){\n if (self.matrix[0].length -1 < input.length) {\n appendColumn.call(self, String( self.matrix[0].length));\n }\n });\n }\n\n self.matrix.push(newRow.concat(input));\n }\n\n return self;\n}\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var zhTw = moment.defineLocale('zh-tw', {\n months : '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'),\n monthsShort : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n weekdays : '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n weekdaysShort : '週日_週一_週二_週三_週四_週五_週六'.split('_'),\n weekdaysMin : '日_一_二_三_四_五_六'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY/MM/DD',\n LL : 'YYYY年M月D日',\n LLL : 'YYYY年M月D日 HH:mm',\n LLLL : 'YYYY年M月D日dddd HH:mm',\n l : 'YYYY/M/D',\n ll : 'YYYY年M月D日',\n lll : 'YYYY年M月D日 HH:mm',\n llll : 'YYYY年M月D日dddd HH:mm'\n },\n meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n return hour;\n } else if (meridiem === '中午') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === '下午' || meridiem === '晚上') {\n return hour + 12;\n }\n },\n meridiem : function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n if (hm < 600) {\n return '凌晨';\n } else if (hm < 900) {\n return '早上';\n } else if (hm < 1130) {\n return '上午';\n } else if (hm < 1230) {\n return '中午';\n } else if (hm < 1800) {\n return '下午';\n } else {\n return '晚上';\n }\n },\n calendar : {\n sameDay : '[今天] LT',\n nextDay : '[明天] LT',\n nextWeek : '[下]dddd LT',\n lastDay : '[昨天] LT',\n lastWeek : '[上]dddd LT',\n sameElse : 'L'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(日|月|週)/,\n ordinal : function (number, period) {\n switch (period) {\n case 'd' :\n case 'D' :\n case 'DDD' :\n return number + '日';\n case 'M' :\n return number + '月';\n case 'w' :\n case 'W' :\n return number + '週';\n default :\n return number;\n }\n },\n relativeTime : {\n future : '%s內',\n past : '%s前',\n s : '幾秒',\n ss : '%d 秒',\n m : '1 分鐘',\n mm : '%d 分鐘',\n h : '1 小時',\n hh : '%d 小時',\n d : '1 天',\n dd : '%d 天',\n M : '1 個月',\n MM : '%d 個月',\n y : '1 年',\n yy : '%d 年'\n }\n });\n\n return zhTw;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var zhHk = moment.defineLocale('zh-hk', {\n months : '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'),\n monthsShort : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n weekdays : '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n weekdaysShort : '週日_週一_週二_週三_週四_週五_週六'.split('_'),\n weekdaysMin : '日_一_二_三_四_五_六'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY/MM/DD',\n LL : 'YYYY年M月D日',\n LLL : 'YYYY年M月D日 HH:mm',\n LLLL : 'YYYY年M月D日dddd HH:mm',\n l : 'YYYY/M/D',\n ll : 'YYYY年M月D日',\n lll : 'YYYY年M月D日 HH:mm',\n llll : 'YYYY年M月D日dddd HH:mm'\n },\n meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n return hour;\n } else if (meridiem === '中午') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === '下午' || meridiem === '晚上') {\n return hour + 12;\n }\n },\n meridiem : function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n if (hm < 600) {\n return '凌晨';\n } else if (hm < 900) {\n return '早上';\n } else if (hm < 1130) {\n return '上午';\n } else if (hm < 1230) {\n return '中午';\n } else if (hm < 1800) {\n return '下午';\n } else {\n return '晚上';\n }\n },\n calendar : {\n sameDay : '[今天]LT',\n nextDay : '[明天]LT',\n nextWeek : '[下]ddddLT',\n lastDay : '[昨天]LT',\n lastWeek : '[上]ddddLT',\n sameElse : 'L'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(日|月|週)/,\n ordinal : function (number, period) {\n switch (period) {\n case 'd' :\n case 'D' :\n case 'DDD' :\n return number + '日';\n case 'M' :\n return number + '月';\n case 'w' :\n case 'W' :\n return number + '週';\n default :\n return number;\n }\n },\n relativeTime : {\n future : '%s內',\n past : '%s前',\n s : '幾秒',\n ss : '%d 秒',\n m : '1 分鐘',\n mm : '%d 分鐘',\n h : '1 小時',\n hh : '%d 小時',\n d : '1 天',\n dd : '%d 天',\n M : '1 個月',\n MM : '%d 個月',\n y : '1 年',\n yy : '%d 年'\n }\n });\n\n return zhHk;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var zhCn = moment.defineLocale('zh-cn', {\n months : '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'),\n monthsShort : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n weekdays : '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n weekdaysShort : '周日_周一_周二_周三_周四_周五_周六'.split('_'),\n weekdaysMin : '日_一_二_三_四_五_六'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY/MM/DD',\n LL : 'YYYY年M月D日',\n LLL : 'YYYY年M月D日Ah点mm分',\n LLLL : 'YYYY年M月D日ddddAh点mm分',\n l : 'YYYY/M/D',\n ll : 'YYYY年M月D日',\n lll : 'YYYY年M月D日 HH:mm',\n llll : 'YYYY年M月D日dddd HH:mm'\n },\n meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === '凌晨' || meridiem === '早上' ||\n meridiem === '上午') {\n return hour;\n } else if (meridiem === '下午' || meridiem === '晚上') {\n return hour + 12;\n } else {\n // '中午'\n return hour >= 11 ? hour : hour + 12;\n }\n },\n meridiem : function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n if (hm < 600) {\n return '凌晨';\n } else if (hm < 900) {\n return '早上';\n } else if (hm < 1130) {\n return '上午';\n } else if (hm < 1230) {\n return '中午';\n } else if (hm < 1800) {\n return '下午';\n } else {\n return '晚上';\n }\n },\n calendar : {\n sameDay : '[今天]LT',\n nextDay : '[明天]LT',\n nextWeek : '[下]ddddLT',\n lastDay : '[昨天]LT',\n lastWeek : '[上]ddddLT',\n sameElse : 'L'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(日|月|周)/,\n ordinal : function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '日';\n case 'M':\n return number + '月';\n case 'w':\n case 'W':\n return number + '周';\n default:\n return number;\n }\n },\n relativeTime : {\n future : '%s内',\n past : '%s前',\n s : '几秒',\n ss : '%d 秒',\n m : '1 分钟',\n mm : '%d 分钟',\n h : '1 小时',\n hh : '%d 小时',\n d : '1 天',\n dd : '%d 天',\n M : '1 个月',\n MM : '%d 个月',\n y : '1 年',\n yy : '%d 年'\n },\n week : {\n // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return zhCn;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var yo = moment.defineLocale('yo', {\n months : 'Sẹ́rẹ́_Èrèlè_Ẹrẹ̀nà_Ìgbé_Èbibi_Òkùdu_Agẹmo_Ògún_Owewe_Ọ̀wàrà_Bélú_Ọ̀pẹ̀̀'.split('_'),\n monthsShort : 'Sẹ́r_Èrl_Ẹrn_Ìgb_Èbi_Òkù_Agẹ_Ògú_Owe_Ọ̀wà_Bél_Ọ̀pẹ̀̀'.split('_'),\n weekdays : 'Àìkú_Ajé_Ìsẹ́gun_Ọjọ́rú_Ọjọ́bọ_Ẹtì_Àbámẹ́ta'.split('_'),\n weekdaysShort : 'Àìk_Ajé_Ìsẹ́_Ọjr_Ọjb_Ẹtì_Àbá'.split('_'),\n weekdaysMin : 'Àì_Aj_Ìs_Ọr_Ọb_Ẹt_Àb'.split('_'),\n longDateFormat : {\n LT : 'h:mm A',\n LTS : 'h:mm:ss A',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY h:mm A',\n LLLL : 'dddd, D MMMM YYYY h:mm A'\n },\n calendar : {\n sameDay : '[Ònì ni] LT',\n nextDay : '[Ọ̀la ni] LT',\n nextWeek : 'dddd [Ọsẹ̀ tón\\'bọ] [ni] LT',\n lastDay : '[Àna ni] LT',\n lastWeek : 'dddd [Ọsẹ̀ tólọ́] [ni] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'ní %s',\n past : '%s kọjá',\n s : 'ìsẹjú aayá die',\n ss :'aayá %d',\n m : 'ìsẹjú kan',\n mm : 'ìsẹjú %d',\n h : 'wákati kan',\n hh : 'wákati %d',\n d : 'ọjọ́ kan',\n dd : 'ọjọ́ %d',\n M : 'osù kan',\n MM : 'osù %d',\n y : 'ọdún kan',\n yy : 'ọdún %d'\n },\n dayOfMonthOrdinalParse : /ọjọ́\\s\\d{1,2}/,\n ordinal : 'ọjọ́ %d',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return yo;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var xPseudo = moment.defineLocale('x-pseudo', {\n months : 'J~áñúá~rý_F~ébrú~árý_~Márc~h_Áp~ríl_~Máý_~Júñé~_Júl~ý_Áú~gúst~_Sép~témb~ér_Ó~ctób~ér_Ñ~óvém~bér_~Décé~mbér'.split('_'),\n monthsShort : 'J~áñ_~Féb_~Már_~Ápr_~Máý_~Júñ_~Júl_~Áúg_~Sép_~Óct_~Ñóv_~Déc'.split('_'),\n monthsParseExact : true,\n weekdays : 'S~úñdá~ý_Mó~ñdáý~_Túé~sdáý~_Wéd~ñésd~áý_T~húrs~dáý_~Fríd~áý_S~átúr~dáý'.split('_'),\n weekdaysShort : 'S~úñ_~Móñ_~Túé_~Wéd_~Thú_~Frí_~Sát'.split('_'),\n weekdaysMin : 'S~ú_Mó~_Tú_~Wé_T~h_Fr~_Sá'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[T~ódá~ý át] LT',\n nextDay : '[T~ómó~rró~w át] LT',\n nextWeek : 'dddd [át] LT',\n lastDay : '[Ý~ést~érdá~ý át] LT',\n lastWeek : '[L~ást] dddd [át] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'í~ñ %s',\n past : '%s á~gó',\n s : 'á ~féw ~sécó~ñds',\n ss : '%d s~écóñ~ds',\n m : 'á ~míñ~úté',\n mm : '%d m~íñú~tés',\n h : 'á~ñ hó~úr',\n hh : '%d h~óúrs',\n d : 'á ~dáý',\n dd : '%d d~áýs',\n M : 'á ~móñ~th',\n MM : '%d m~óñt~hs',\n y : 'á ~ýéár',\n yy : '%d ý~éárs'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(th|st|nd|rd)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return xPseudo;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var vi = moment.defineLocale('vi', {\n months : 'tháng 1_tháng 2_tháng 3_tháng 4_tháng 5_tháng 6_tháng 7_tháng 8_tháng 9_tháng 10_tháng 11_tháng 12'.split('_'),\n monthsShort : 'Th01_Th02_Th03_Th04_Th05_Th06_Th07_Th08_Th09_Th10_Th11_Th12'.split('_'),\n monthsParseExact : true,\n weekdays : 'chủ nhật_thứ hai_thứ ba_thứ tư_thứ năm_thứ sáu_thứ bảy'.split('_'),\n weekdaysShort : 'CN_T2_T3_T4_T5_T6_T7'.split('_'),\n weekdaysMin : 'CN_T2_T3_T4_T5_T6_T7'.split('_'),\n weekdaysParseExact : true,\n meridiemParse: /sa|ch/i,\n isPM : function (input) {\n return /^ch$/i.test(input);\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours < 12) {\n return isLower ? 'sa' : 'SA';\n } else {\n return isLower ? 'ch' : 'CH';\n }\n },\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM [năm] YYYY',\n LLL : 'D MMMM [năm] YYYY HH:mm',\n LLLL : 'dddd, D MMMM [năm] YYYY HH:mm',\n l : 'DD/M/YYYY',\n ll : 'D MMM YYYY',\n lll : 'D MMM YYYY HH:mm',\n llll : 'ddd, D MMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[Hôm nay lúc] LT',\n nextDay: '[Ngày mai lúc] LT',\n nextWeek: 'dddd [tuần tới lúc] LT',\n lastDay: '[Hôm qua lúc] LT',\n lastWeek: 'dddd [tuần rồi lúc] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : '%s tới',\n past : '%s trước',\n s : 'vài giây',\n ss : '%d giây' ,\n m : 'một phút',\n mm : '%d phút',\n h : 'một giờ',\n hh : '%d giờ',\n d : 'một ngày',\n dd : '%d ngày',\n M : 'một tháng',\n MM : '%d tháng',\n y : 'một năm',\n yy : '%d năm'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}/,\n ordinal : function (number) {\n return number;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return vi;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var uzLatn = moment.defineLocale('uz-latn', {\n months : 'Yanvar_Fevral_Mart_Aprel_May_Iyun_Iyul_Avgust_Sentabr_Oktabr_Noyabr_Dekabr'.split('_'),\n monthsShort : 'Yan_Fev_Mar_Apr_May_Iyun_Iyul_Avg_Sen_Okt_Noy_Dek'.split('_'),\n weekdays : 'Yakshanba_Dushanba_Seshanba_Chorshanba_Payshanba_Juma_Shanba'.split('_'),\n weekdaysShort : 'Yak_Dush_Sesh_Chor_Pay_Jum_Shan'.split('_'),\n weekdaysMin : 'Ya_Du_Se_Cho_Pa_Ju_Sha'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'D MMMM YYYY, dddd HH:mm'\n },\n calendar : {\n sameDay : '[Bugun soat] LT [da]',\n nextDay : '[Ertaga] LT [da]',\n nextWeek : 'dddd [kuni soat] LT [da]',\n lastDay : '[Kecha soat] LT [da]',\n lastWeek : '[O\\'tgan] dddd [kuni soat] LT [da]',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'Yaqin %s ichida',\n past : 'Bir necha %s oldin',\n s : 'soniya',\n ss : '%d soniya',\n m : 'bir daqiqa',\n mm : '%d daqiqa',\n h : 'bir soat',\n hh : '%d soat',\n d : 'bir kun',\n dd : '%d kun',\n M : 'bir oy',\n MM : '%d oy',\n y : 'bir yil',\n yy : '%d yil'\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return uzLatn;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var uz = moment.defineLocale('uz', {\n months : 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split('_'),\n monthsShort : 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'),\n weekdays : 'Якшанба_Душанба_Сешанба_Чоршанба_Пайшанба_Жума_Шанба'.split('_'),\n weekdaysShort : 'Якш_Душ_Сеш_Чор_Пай_Жум_Шан'.split('_'),\n weekdaysMin : 'Як_Ду_Се_Чо_Па_Жу_Ша'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'D MMMM YYYY, dddd HH:mm'\n },\n calendar : {\n sameDay : '[Бугун соат] LT [да]',\n nextDay : '[Эртага] LT [да]',\n nextWeek : 'dddd [куни соат] LT [да]',\n lastDay : '[Кеча соат] LT [да]',\n lastWeek : '[Утган] dddd [куни соат] LT [да]',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'Якин %s ичида',\n past : 'Бир неча %s олдин',\n s : 'фурсат',\n ss : '%d фурсат',\n m : 'бир дакика',\n mm : '%d дакика',\n h : 'бир соат',\n hh : '%d соат',\n d : 'бир кун',\n dd : '%d кун',\n M : 'бир ой',\n MM : '%d ой',\n y : 'бир йил',\n yy : '%d йил'\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return uz;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var months = [\n 'جنوری',\n 'فروری',\n 'مارچ',\n 'اپریل',\n 'مئی',\n 'جون',\n 'جولائی',\n 'اگست',\n 'ستمبر',\n 'اکتوبر',\n 'نومبر',\n 'دسمبر'\n ];\n var days = [\n 'اتوار',\n 'پیر',\n 'منگل',\n 'بدھ',\n 'جمعرات',\n 'جمعہ',\n 'ہفتہ'\n ];\n\n var ur = moment.defineLocale('ur', {\n months : months,\n monthsShort : months,\n weekdays : days,\n weekdaysShort : days,\n weekdaysMin : days,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd، D MMMM YYYY HH:mm'\n },\n meridiemParse: /صبح|شام/,\n isPM : function (input) {\n return 'شام' === input;\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'صبح';\n }\n return 'شام';\n },\n calendar : {\n sameDay : '[آج بوقت] LT',\n nextDay : '[کل بوقت] LT',\n nextWeek : 'dddd [بوقت] LT',\n lastDay : '[گذشتہ روز بوقت] LT',\n lastWeek : '[گذشتہ] dddd [بوقت] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s بعد',\n past : '%s قبل',\n s : 'چند سیکنڈ',\n ss : '%d سیکنڈ',\n m : 'ایک منٹ',\n mm : '%d منٹ',\n h : 'ایک گھنٹہ',\n hh : '%d گھنٹے',\n d : 'ایک دن',\n dd : '%d دن',\n M : 'ایک ماہ',\n MM : '%d ماہ',\n y : 'ایک سال',\n yy : '%d سال'\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/,/g, '،');\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return ur;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function plural(word, num) {\n var forms = word.split('_');\n return num % 10 === 1 && num % 100 !== 11 ? forms[0] : (num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) ? forms[1] : forms[2]);\n }\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n var format = {\n 'ss': withoutSuffix ? 'секунда_секунди_секунд' : 'секунду_секунди_секунд',\n 'mm': withoutSuffix ? 'хвилина_хвилини_хвилин' : 'хвилину_хвилини_хвилин',\n 'hh': withoutSuffix ? 'година_години_годин' : 'годину_години_годин',\n 'dd': 'день_дні_днів',\n 'MM': 'місяць_місяці_місяців',\n 'yy': 'рік_роки_років'\n };\n if (key === 'm') {\n return withoutSuffix ? 'хвилина' : 'хвилину';\n }\n else if (key === 'h') {\n return withoutSuffix ? 'година' : 'годину';\n }\n else {\n return number + ' ' + plural(format[key], +number);\n }\n }\n function weekdaysCaseReplace(m, format) {\n var weekdays = {\n 'nominative': 'неділя_понеділок_вівторок_середа_четвер_п’ятниця_субота'.split('_'),\n 'accusative': 'неділю_понеділок_вівторок_середу_четвер_п’ятницю_суботу'.split('_'),\n 'genitive': 'неділі_понеділка_вівторка_середи_четверга_п’ятниці_суботи'.split('_')\n };\n\n if (!m) {\n return weekdays['nominative'];\n }\n\n var nounCase = (/(\\[[ВвУу]\\]) ?dddd/).test(format) ?\n 'accusative' :\n ((/\\[?(?:минулої|наступної)? ?\\] ?dddd/).test(format) ?\n 'genitive' :\n 'nominative');\n return weekdays[nounCase][m.day()];\n }\n function processHoursFunction(str) {\n return function () {\n return str + 'о' + (this.hours() === 11 ? 'б' : '') + '] LT';\n };\n }\n\n var uk = moment.defineLocale('uk', {\n months : {\n 'format': 'січня_лютого_березня_квітня_травня_червня_липня_серпня_вересня_жовтня_листопада_грудня'.split('_'),\n 'standalone': 'січень_лютий_березень_квітень_травень_червень_липень_серпень_вересень_жовтень_листопад_грудень'.split('_')\n },\n monthsShort : 'січ_лют_бер_квіт_трав_черв_лип_серп_вер_жовт_лист_груд'.split('_'),\n weekdays : weekdaysCaseReplace,\n weekdaysShort : 'нд_пн_вт_ср_чт_пт_сб'.split('_'),\n weekdaysMin : 'нд_пн_вт_ср_чт_пт_сб'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY р.',\n LLL : 'D MMMM YYYY р., HH:mm',\n LLLL : 'dddd, D MMMM YYYY р., HH:mm'\n },\n calendar : {\n sameDay: processHoursFunction('[Сьогодні '),\n nextDay: processHoursFunction('[Завтра '),\n lastDay: processHoursFunction('[Вчора '),\n nextWeek: processHoursFunction('[У] dddd ['),\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n case 3:\n case 5:\n case 6:\n return processHoursFunction('[Минулої] dddd [').call(this);\n case 1:\n case 2:\n case 4:\n return processHoursFunction('[Минулого] dddd [').call(this);\n }\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : 'за %s',\n past : '%s тому',\n s : 'декілька секунд',\n ss : relativeTimeWithPlural,\n m : relativeTimeWithPlural,\n mm : relativeTimeWithPlural,\n h : 'годину',\n hh : relativeTimeWithPlural,\n d : 'день',\n dd : relativeTimeWithPlural,\n M : 'місяць',\n MM : relativeTimeWithPlural,\n y : 'рік',\n yy : relativeTimeWithPlural\n },\n // M. E.: those two are virtually unused but a user might want to implement them for his/her website for some reason\n meridiemParse: /ночі|ранку|дня|вечора/,\n isPM: function (input) {\n return /^(дня|вечора)$/.test(input);\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ночі';\n } else if (hour < 12) {\n return 'ранку';\n } else if (hour < 17) {\n return 'дня';\n } else {\n return 'вечора';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(й|го)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'M':\n case 'd':\n case 'DDD':\n case 'w':\n case 'W':\n return number + '-й';\n case 'D':\n return number + '-го';\n default:\n return number;\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return uk;\n\n})));\n","//! moment.js language configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var ugCn = moment.defineLocale('ug-cn', {\n months: 'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.split(\n '_'\n ),\n monthsShort: 'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.split(\n '_'\n ),\n weekdays: 'يەكشەنبە_دۈشەنبە_سەيشەنبە_چارشەنبە_پەيشەنبە_جۈمە_شەنبە'.split(\n '_'\n ),\n weekdaysShort: 'يە_دۈ_سە_چا_پە_جۈ_شە'.split('_'),\n weekdaysMin: 'يە_دۈ_سە_چا_پە_جۈ_شە'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: 'YYYY-يىلىM-ئاينىڭD-كۈنى',\n LLL: 'YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm',\n LLLL: 'dddd، YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm'\n },\n meridiemParse: /يېرىم كېچە|سەھەر|چۈشتىن بۇرۇن|چۈش|چۈشتىن كېيىن|كەچ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (\n meridiem === 'يېرىم كېچە' ||\n meridiem === 'سەھەر' ||\n meridiem === 'چۈشتىن بۇرۇن'\n ) {\n return hour;\n } else if (meridiem === 'چۈشتىن كېيىن' || meridiem === 'كەچ') {\n return hour + 12;\n } else {\n return hour >= 11 ? hour : hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n if (hm < 600) {\n return 'يېرىم كېچە';\n } else if (hm < 900) {\n return 'سەھەر';\n } else if (hm < 1130) {\n return 'چۈشتىن بۇرۇن';\n } else if (hm < 1230) {\n return 'چۈش';\n } else if (hm < 1800) {\n return 'چۈشتىن كېيىن';\n } else {\n return 'كەچ';\n }\n },\n calendar: {\n sameDay: '[بۈگۈن سائەت] LT',\n nextDay: '[ئەتە سائەت] LT',\n nextWeek: '[كېلەركى] dddd [سائەت] LT',\n lastDay: '[تۆنۈگۈن] LT',\n lastWeek: '[ئالدىنقى] dddd [سائەت] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s كېيىن',\n past: '%s بۇرۇن',\n s: 'نەچچە سېكونت',\n ss: '%d سېكونت',\n m: 'بىر مىنۇت',\n mm: '%d مىنۇت',\n h: 'بىر سائەت',\n hh: '%d سائەت',\n d: 'بىر كۈن',\n dd: '%d كۈن',\n M: 'بىر ئاي',\n MM: '%d ئاي',\n y: 'بىر يىل',\n yy: '%d يىل'\n },\n\n dayOfMonthOrdinalParse: /\\d{1,2}(-كۈنى|-ئاي|-ھەپتە)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '-كۈنى';\n case 'w':\n case 'W':\n return number + '-ھەپتە';\n default:\n return number;\n }\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/,/g, '،');\n },\n week: {\n // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效\n dow: 1, // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return ugCn;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var tzmLatn = moment.defineLocale('tzm-latn', {\n months : 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split('_'),\n monthsShort : 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split('_'),\n weekdays : 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),\n weekdaysShort : 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),\n weekdaysMin : 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[asdkh g] LT',\n nextDay: '[aska g] LT',\n nextWeek: 'dddd [g] LT',\n lastDay: '[assant g] LT',\n lastWeek: 'dddd [g] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'dadkh s yan %s',\n past : 'yan %s',\n s : 'imik',\n ss : '%d imik',\n m : 'minuḍ',\n mm : '%d minuḍ',\n h : 'saɛa',\n hh : '%d tassaɛin',\n d : 'ass',\n dd : '%d ossan',\n M : 'ayowr',\n MM : '%d iyyirn',\n y : 'asgas',\n yy : '%d isgasn'\n },\n week : {\n dow : 6, // Saturday is the first day of the week.\n doy : 12 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return tzmLatn;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var tzm = moment.defineLocale('tzm', {\n months : 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split('_'),\n monthsShort : 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split('_'),\n weekdays : 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),\n weekdaysShort : 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),\n weekdaysMin : 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS: 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[ⴰⵙⴷⵅ ⴴ] LT',\n nextDay: '[ⴰⵙⴽⴰ ⴴ] LT',\n nextWeek: 'dddd [ⴴ] LT',\n lastDay: '[ⴰⵚⴰⵏⵜ ⴴ] LT',\n lastWeek: 'dddd [ⴴ] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'ⴷⴰⴷⵅ ⵙ ⵢⴰⵏ %s',\n past : 'ⵢⴰⵏ %s',\n s : 'ⵉⵎⵉⴽ',\n ss : '%d ⵉⵎⵉⴽ',\n m : 'ⵎⵉⵏⵓⴺ',\n mm : '%d ⵎⵉⵏⵓⴺ',\n h : 'ⵙⴰⵄⴰ',\n hh : '%d ⵜⴰⵙⵙⴰⵄⵉⵏ',\n d : 'ⴰⵙⵙ',\n dd : '%d oⵙⵙⴰⵏ',\n M : 'ⴰⵢoⵓⵔ',\n MM : '%d ⵉⵢⵢⵉⵔⵏ',\n y : 'ⴰⵙⴳⴰⵙ',\n yy : '%d ⵉⵙⴳⴰⵙⵏ'\n },\n week : {\n dow : 6, // Saturday is the first day of the week.\n doy : 12 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return tzm;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n // After the year there should be a slash and the amount of years since December 26, 1979 in Roman numerals.\n // This is currently too difficult (maybe even impossible) to add.\n var tzl = moment.defineLocale('tzl', {\n months : 'Januar_Fevraglh_Març_Avrïu_Mai_Gün_Julia_Guscht_Setemvar_Listopäts_Noemvar_Zecemvar'.split('_'),\n monthsShort : 'Jan_Fev_Mar_Avr_Mai_Gün_Jul_Gus_Set_Lis_Noe_Zec'.split('_'),\n weekdays : 'Súladi_Lúneçi_Maitzi_Márcuri_Xhúadi_Viénerçi_Sáturi'.split('_'),\n weekdaysShort : 'Súl_Lún_Mai_Már_Xhú_Vié_Sát'.split('_'),\n weekdaysMin : 'Sú_Lú_Ma_Má_Xh_Vi_Sá'.split('_'),\n longDateFormat : {\n LT : 'HH.mm',\n LTS : 'HH.mm.ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM [dallas] YYYY',\n LLL : 'D. MMMM [dallas] YYYY HH.mm',\n LLLL : 'dddd, [li] D. MMMM [dallas] YYYY HH.mm'\n },\n meridiemParse: /d\\'o|d\\'a/i,\n isPM : function (input) {\n return 'd\\'o' === input.toLowerCase();\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'd\\'o' : 'D\\'O';\n } else {\n return isLower ? 'd\\'a' : 'D\\'A';\n }\n },\n calendar : {\n sameDay : '[oxhi à] LT',\n nextDay : '[demà à] LT',\n nextWeek : 'dddd [à] LT',\n lastDay : '[ieiri à] LT',\n lastWeek : '[sür el] dddd [lasteu à] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'osprei %s',\n past : 'ja%s',\n s : processRelativeTime,\n ss : processRelativeTime,\n m : processRelativeTime,\n mm : processRelativeTime,\n h : processRelativeTime,\n hh : processRelativeTime,\n d : processRelativeTime,\n dd : processRelativeTime,\n M : processRelativeTime,\n MM : processRelativeTime,\n y : processRelativeTime,\n yy : processRelativeTime\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n 's': ['viensas secunds', '\\'iensas secunds'],\n 'ss': [number + ' secunds', '' + number + ' secunds'],\n 'm': ['\\'n míut', '\\'iens míut'],\n 'mm': [number + ' míuts', '' + number + ' míuts'],\n 'h': ['\\'n þora', '\\'iensa þora'],\n 'hh': [number + ' þoras', '' + number + ' þoras'],\n 'd': ['\\'n ziua', '\\'iensa ziua'],\n 'dd': [number + ' ziuas', '' + number + ' ziuas'],\n 'M': ['\\'n mes', '\\'iens mes'],\n 'MM': [number + ' mesen', '' + number + ' mesen'],\n 'y': ['\\'n ar', '\\'iens ar'],\n 'yy': [number + ' ars', '' + number + ' ars']\n };\n return isFuture ? format[key][0] : (withoutSuffix ? format[key][0] : format[key][1]);\n }\n\n return tzl;\n\n})));\n","\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n var suffixes = {\n 1: '\\'inci',\n 5: '\\'inci',\n 8: '\\'inci',\n 70: '\\'inci',\n 80: '\\'inci',\n 2: '\\'nci',\n 7: '\\'nci',\n 20: '\\'nci',\n 50: '\\'nci',\n 3: '\\'üncü',\n 4: '\\'üncü',\n 100: '\\'üncü',\n 6: '\\'ncı',\n 9: '\\'uncu',\n 10: '\\'uncu',\n 30: '\\'uncu',\n 60: '\\'ıncı',\n 90: '\\'ıncı'\n };\n\n var tr = moment.defineLocale('tr', {\n months : 'Ocak_Şubat_Mart_Nisan_Mayıs_Haziran_Temmuz_Ağustos_Eylül_Ekim_Kasım_Aralık'.split('_'),\n monthsShort : 'Oca_Şub_Mar_Nis_May_Haz_Tem_Ağu_Eyl_Eki_Kas_Ara'.split('_'),\n weekdays : 'Pazar_Pazartesi_Salı_Çarşamba_Perşembe_Cuma_Cumartesi'.split('_'),\n weekdaysShort : 'Paz_Pts_Sal_Çar_Per_Cum_Cts'.split('_'),\n weekdaysMin : 'Pz_Pt_Sa_Ça_Pe_Cu_Ct'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[bugün saat] LT',\n nextDay : '[yarın saat] LT',\n nextWeek : '[gelecek] dddd [saat] LT',\n lastDay : '[dün] LT',\n lastWeek : '[geçen] dddd [saat] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s sonra',\n past : '%s önce',\n s : 'birkaç saniye',\n ss : '%d saniye',\n m : 'bir dakika',\n mm : '%d dakika',\n h : 'bir saat',\n hh : '%d saat',\n d : 'bir gün',\n dd : '%d gün',\n M : 'bir ay',\n MM : '%d ay',\n y : 'bir yıl',\n yy : '%d yıl'\n },\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'Do':\n case 'DD':\n return number;\n default:\n if (number === 0) { // special case for zero\n return number + '\\'ıncı';\n }\n var a = number % 10,\n b = number % 100 - a,\n c = number >= 100 ? 100 : null;\n return number + (suffixes[a] || suffixes[b] || suffixes[c]);\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return tr;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var numbersNouns = 'pagh_wa’_cha’_wej_loS_vagh_jav_Soch_chorgh_Hut'.split('_');\n\n function translateFuture(output) {\n var time = output;\n time = (output.indexOf('jaj') !== -1) ?\n time.slice(0, -3) + 'leS' :\n (output.indexOf('jar') !== -1) ?\n time.slice(0, -3) + 'waQ' :\n (output.indexOf('DIS') !== -1) ?\n time.slice(0, -3) + 'nem' :\n time + ' pIq';\n return time;\n }\n\n function translatePast(output) {\n var time = output;\n time = (output.indexOf('jaj') !== -1) ?\n time.slice(0, -3) + 'Hu’' :\n (output.indexOf('jar') !== -1) ?\n time.slice(0, -3) + 'wen' :\n (output.indexOf('DIS') !== -1) ?\n time.slice(0, -3) + 'ben' :\n time + ' ret';\n return time;\n }\n\n function translate(number, withoutSuffix, string, isFuture) {\n var numberNoun = numberAsNoun(number);\n switch (string) {\n case 'ss':\n return numberNoun + ' lup';\n case 'mm':\n return numberNoun + ' tup';\n case 'hh':\n return numberNoun + ' rep';\n case 'dd':\n return numberNoun + ' jaj';\n case 'MM':\n return numberNoun + ' jar';\n case 'yy':\n return numberNoun + ' DIS';\n }\n }\n\n function numberAsNoun(number) {\n var hundred = Math.floor((number % 1000) / 100),\n ten = Math.floor((number % 100) / 10),\n one = number % 10,\n word = '';\n if (hundred > 0) {\n word += numbersNouns[hundred] + 'vatlh';\n }\n if (ten > 0) {\n word += ((word !== '') ? ' ' : '') + numbersNouns[ten] + 'maH';\n }\n if (one > 0) {\n word += ((word !== '') ? ' ' : '') + numbersNouns[one];\n }\n return (word === '') ? 'pagh' : word;\n }\n\n var tlh = moment.defineLocale('tlh', {\n months : 'tera’ jar wa’_tera’ jar cha’_tera’ jar wej_tera’ jar loS_tera’ jar vagh_tera’ jar jav_tera’ jar Soch_tera’ jar chorgh_tera’ jar Hut_tera’ jar wa’maH_tera’ jar wa’maH wa’_tera’ jar wa’maH cha’'.split('_'),\n monthsShort : 'jar wa’_jar cha’_jar wej_jar loS_jar vagh_jar jav_jar Soch_jar chorgh_jar Hut_jar wa’maH_jar wa’maH wa’_jar wa’maH cha’'.split('_'),\n monthsParseExact : true,\n weekdays : 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),\n weekdaysShort : 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),\n weekdaysMin : 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[DaHjaj] LT',\n nextDay: '[wa’leS] LT',\n nextWeek: 'LLL',\n lastDay: '[wa’Hu’] LT',\n lastWeek: 'LLL',\n sameElse: 'L'\n },\n relativeTime : {\n future : translateFuture,\n past : translatePast,\n s : 'puS lup',\n ss : translate,\n m : 'wa’ tup',\n mm : translate,\n h : 'wa’ rep',\n hh : translate,\n d : 'wa’ jaj',\n dd : translate,\n M : 'wa’ jar',\n MM : translate,\n y : 'wa’ DIS',\n yy : translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return tlh;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var tlPh = moment.defineLocale('tl-ph', {\n months : 'Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre'.split('_'),\n monthsShort : 'Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis'.split('_'),\n weekdays : 'Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado'.split('_'),\n weekdaysShort : 'Lin_Lun_Mar_Miy_Huw_Biy_Sab'.split('_'),\n weekdaysMin : 'Li_Lu_Ma_Mi_Hu_Bi_Sab'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'MM/D/YYYY',\n LL : 'MMMM D, YYYY',\n LLL : 'MMMM D, YYYY HH:mm',\n LLLL : 'dddd, MMMM DD, YYYY HH:mm'\n },\n calendar : {\n sameDay: 'LT [ngayong araw]',\n nextDay: '[Bukas ng] LT',\n nextWeek: 'LT [sa susunod na] dddd',\n lastDay: 'LT [kahapon]',\n lastWeek: 'LT [noong nakaraang] dddd',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'sa loob ng %s',\n past : '%s ang nakalipas',\n s : 'ilang segundo',\n ss : '%d segundo',\n m : 'isang minuto',\n mm : '%d minuto',\n h : 'isang oras',\n hh : '%d oras',\n d : 'isang araw',\n dd : '%d araw',\n M : 'isang buwan',\n MM : '%d buwan',\n y : 'isang taon',\n yy : '%d taon'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}/,\n ordinal : function (number) {\n return number;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return tlPh;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var th = moment.defineLocale('th', {\n months : 'มกราคม_กุมภาพันธ์_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_กรกฎาคม_สิงหาคม_กันยายน_ตุลาคม_พฤศจิกายน_ธันวาคม'.split('_'),\n monthsShort : 'ม.ค._ก.พ._มี.ค._เม.ย._พ.ค._มิ.ย._ก.ค._ส.ค._ก.ย._ต.ค._พ.ย._ธ.ค.'.split('_'),\n monthsParseExact: true,\n weekdays : 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัสบดี_ศุกร์_เสาร์'.split('_'),\n weekdaysShort : 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัส_ศุกร์_เสาร์'.split('_'), // yes, three characters difference\n weekdaysMin : 'อา._จ._อ._พ._พฤ._ศ._ส.'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY เวลา H:mm',\n LLLL : 'วันddddที่ D MMMM YYYY เวลา H:mm'\n },\n meridiemParse: /ก่อนเที่ยง|หลังเที่ยง/,\n isPM: function (input) {\n return input === 'หลังเที่ยง';\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ก่อนเที่ยง';\n } else {\n return 'หลังเที่ยง';\n }\n },\n calendar : {\n sameDay : '[วันนี้ เวลา] LT',\n nextDay : '[พรุ่งนี้ เวลา] LT',\n nextWeek : 'dddd[หน้า เวลา] LT',\n lastDay : '[เมื่อวานนี้ เวลา] LT',\n lastWeek : '[วัน]dddd[ที่แล้ว เวลา] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'อีก %s',\n past : '%sที่แล้ว',\n s : 'ไม่กี่วินาที',\n ss : '%d วินาที',\n m : '1 นาที',\n mm : '%d นาที',\n h : '1 ชั่วโมง',\n hh : '%d ชั่วโมง',\n d : '1 วัน',\n dd : '%d วัน',\n M : '1 เดือน',\n MM : '%d เดือน',\n y : '1 ปี',\n yy : '%d ปี'\n }\n });\n\n return th;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var suffixes = {\n 0: '-ум',\n 1: '-ум',\n 2: '-юм',\n 3: '-юм',\n 4: '-ум',\n 5: '-ум',\n 6: '-ум',\n 7: '-ум',\n 8: '-ум',\n 9: '-ум',\n 10: '-ум',\n 12: '-ум',\n 13: '-ум',\n 20: '-ум',\n 30: '-юм',\n 40: '-ум',\n 50: '-ум',\n 60: '-ум',\n 70: '-ум',\n 80: '-ум',\n 90: '-ум',\n 100: '-ум'\n };\n\n var tg = moment.defineLocale('tg', {\n months : 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split('_'),\n monthsShort : 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'),\n weekdays : 'якшанбе_душанбе_сешанбе_чоршанбе_панҷшанбе_ҷумъа_шанбе'.split('_'),\n weekdaysShort : 'яшб_дшб_сшб_чшб_пшб_ҷум_шнб'.split('_'),\n weekdaysMin : 'яш_дш_сш_чш_пш_ҷм_шб'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Имрӯз соати] LT',\n nextDay : '[Пагоҳ соати] LT',\n lastDay : '[Дирӯз соати] LT',\n nextWeek : 'dddd[и] [ҳафтаи оянда соати] LT',\n lastWeek : 'dddd[и] [ҳафтаи гузашта соати] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'баъди %s',\n past : '%s пеш',\n s : 'якчанд сония',\n m : 'як дақиқа',\n mm : '%d дақиқа',\n h : 'як соат',\n hh : '%d соат',\n d : 'як рӯз',\n dd : '%d рӯз',\n M : 'як моҳ',\n MM : '%d моҳ',\n y : 'як сол',\n yy : '%d сол'\n },\n meridiemParse: /шаб|субҳ|рӯз|бегоҳ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'шаб') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'субҳ') {\n return hour;\n } else if (meridiem === 'рӯз') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'бегоҳ') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'шаб';\n } else if (hour < 11) {\n return 'субҳ';\n } else if (hour < 16) {\n return 'рӯз';\n } else if (hour < 19) {\n return 'бегоҳ';\n } else {\n return 'шаб';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ум|юм)/,\n ordinal: function (number) {\n var a = number % 10,\n b = number >= 100 ? 100 : null;\n return number + (suffixes[number] || suffixes[a] || suffixes[b]);\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1th is the first week of the year.\n }\n });\n\n return tg;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var tet = moment.defineLocale('tet', {\n months : 'Janeiru_Fevereiru_Marsu_Abril_Maiu_Juñu_Jullu_Agustu_Setembru_Outubru_Novembru_Dezembru'.split('_'),\n monthsShort : 'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez'.split('_'),\n weekdays : 'Domingu_Segunda_Tersa_Kuarta_Kinta_Sesta_Sabadu'.split('_'),\n weekdaysShort : 'Dom_Seg_Ters_Kua_Kint_Sest_Sab'.split('_'),\n weekdaysMin : 'Do_Seg_Te_Ku_Ki_Ses_Sa'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[Ohin iha] LT',\n nextDay: '[Aban iha] LT',\n nextWeek: 'dddd [iha] LT',\n lastDay: '[Horiseik iha] LT',\n lastWeek: 'dddd [semana kotuk] [iha] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'iha %s',\n past : '%s liuba',\n s : 'minutu balun',\n ss : 'minutu %d',\n m : 'minutu ida',\n mm : 'minutu %d',\n h : 'oras ida',\n hh : 'oras %d',\n d : 'loron ida',\n dd : 'loron %d',\n M : 'fulan ida',\n MM : 'fulan %d',\n y : 'tinan ida',\n yy : 'tinan %d'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return tet;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var te = moment.defineLocale('te', {\n months : 'జనవరి_ఫిబ్రవరి_మార్చి_ఏప్రిల్_మే_జూన్_జూలై_ఆగస్టు_సెప్టెంబర్_అక్టోబర్_నవంబర్_డిసెంబర్'.split('_'),\n monthsShort : 'జన._ఫిబ్ర._మార్చి_ఏప్రి._మే_జూన్_జూలై_ఆగ._సెప్._అక్టో._నవ._డిసె.'.split('_'),\n monthsParseExact : true,\n weekdays : 'ఆదివారం_సోమవారం_మంగళవారం_బుధవారం_గురువారం_శుక్రవారం_శనివారం'.split('_'),\n weekdaysShort : 'ఆది_సోమ_మంగళ_బుధ_గురు_శుక్ర_శని'.split('_'),\n weekdaysMin : 'ఆ_సో_మం_బు_గు_శు_శ'.split('_'),\n longDateFormat : {\n LT : 'A h:mm',\n LTS : 'A h:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, A h:mm',\n LLLL : 'dddd, D MMMM YYYY, A h:mm'\n },\n calendar : {\n sameDay : '[నేడు] LT',\n nextDay : '[రేపు] LT',\n nextWeek : 'dddd, LT',\n lastDay : '[నిన్న] LT',\n lastWeek : '[గత] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s లో',\n past : '%s క్రితం',\n s : 'కొన్ని క్షణాలు',\n ss : '%d సెకన్లు',\n m : 'ఒక నిమిషం',\n mm : '%d నిమిషాలు',\n h : 'ఒక గంట',\n hh : '%d గంటలు',\n d : 'ఒక రోజు',\n dd : '%d రోజులు',\n M : 'ఒక నెల',\n MM : '%d నెలలు',\n y : 'ఒక సంవత్సరం',\n yy : '%d సంవత్సరాలు'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}వ/,\n ordinal : '%dవ',\n meridiemParse: /రాత్రి|ఉదయం|మధ్యాహ్నం|సాయంత్రం/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'రాత్రి') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'ఉదయం') {\n return hour;\n } else if (meridiem === 'మధ్యాహ్నం') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'సాయంత్రం') {\n return hour + 12;\n }\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'రాత్రి';\n } else if (hour < 10) {\n return 'ఉదయం';\n } else if (hour < 17) {\n return 'మధ్యాహ్నం';\n } else if (hour < 20) {\n return 'సాయంత్రం';\n } else {\n return 'రాత్రి';\n }\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return te;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '௧',\n '2': '௨',\n '3': '௩',\n '4': '௪',\n '5': '௫',\n '6': '௬',\n '7': '௭',\n '8': '௮',\n '9': '௯',\n '0': '௦'\n }, numberMap = {\n '௧': '1',\n '௨': '2',\n '௩': '3',\n '௪': '4',\n '௫': '5',\n '௬': '6',\n '௭': '7',\n '௮': '8',\n '௯': '9',\n '௦': '0'\n };\n\n var ta = moment.defineLocale('ta', {\n months : 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split('_'),\n monthsShort : 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split('_'),\n weekdays : 'ஞாயிற்றுக்கிழமை_திங்கட்கிழமை_செவ்வாய்கிழமை_புதன்கிழமை_வியாழக்கிழமை_வெள்ளிக்கிழமை_சனிக்கிழமை'.split('_'),\n weekdaysShort : 'ஞாயிறு_திங்கள்_செவ்வாய்_புதன்_வியாழன்_வெள்ளி_சனி'.split('_'),\n weekdaysMin : 'ஞா_தி_செ_பு_வி_வெ_ச'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, HH:mm',\n LLLL : 'dddd, D MMMM YYYY, HH:mm'\n },\n calendar : {\n sameDay : '[இன்று] LT',\n nextDay : '[நாளை] LT',\n nextWeek : 'dddd, LT',\n lastDay : '[நேற்று] LT',\n lastWeek : '[கடந்த வாரம்] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s இல்',\n past : '%s முன்',\n s : 'ஒரு சில விநாடிகள்',\n ss : '%d விநாடிகள்',\n m : 'ஒரு நிமிடம்',\n mm : '%d நிமிடங்கள்',\n h : 'ஒரு மணி நேரம்',\n hh : '%d மணி நேரம்',\n d : 'ஒரு நாள்',\n dd : '%d நாட்கள்',\n M : 'ஒரு மாதம்',\n MM : '%d மாதங்கள்',\n y : 'ஒரு வருடம்',\n yy : '%d ஆண்டுகள்'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}வது/,\n ordinal : function (number) {\n return number + 'வது';\n },\n preparse: function (string) {\n return string.replace(/[௧௨௩௪௫௬௭௮௯௦]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n // refer http://ta.wikipedia.org/s/1er1\n meridiemParse: /யாமம்|வைகறை|காலை|நண்பகல்|எற்பாடு|மாலை/,\n meridiem : function (hour, minute, isLower) {\n if (hour < 2) {\n return ' யாமம்';\n } else if (hour < 6) {\n return ' வைகறை'; // வைகறை\n } else if (hour < 10) {\n return ' காலை'; // காலை\n } else if (hour < 14) {\n return ' நண்பகல்'; // நண்பகல்\n } else if (hour < 18) {\n return ' எற்பாடு'; // எற்பாடு\n } else if (hour < 22) {\n return ' மாலை'; // மாலை\n } else {\n return ' யாமம்';\n }\n },\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'யாமம்') {\n return hour < 2 ? hour : hour + 12;\n } else if (meridiem === 'வைகறை' || meridiem === 'காலை') {\n return hour;\n } else if (meridiem === 'நண்பகல்') {\n return hour >= 10 ? hour : hour + 12;\n } else {\n return hour + 12;\n }\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return ta;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var sw = moment.defineLocale('sw', {\n months : 'Januari_Februari_Machi_Aprili_Mei_Juni_Julai_Agosti_Septemba_Oktoba_Novemba_Desemba'.split('_'),\n monthsShort : 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ago_Sep_Okt_Nov_Des'.split('_'),\n weekdays : 'Jumapili_Jumatatu_Jumanne_Jumatano_Alhamisi_Ijumaa_Jumamosi'.split('_'),\n weekdaysShort : 'Jpl_Jtat_Jnne_Jtan_Alh_Ijm_Jmos'.split('_'),\n weekdaysMin : 'J2_J3_J4_J5_Al_Ij_J1'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[leo saa] LT',\n nextDay : '[kesho saa] LT',\n nextWeek : '[wiki ijayo] dddd [saat] LT',\n lastDay : '[jana] LT',\n lastWeek : '[wiki iliyopita] dddd [saat] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s baadaye',\n past : 'tokea %s',\n s : 'hivi punde',\n ss : 'sekunde %d',\n m : 'dakika moja',\n mm : 'dakika %d',\n h : 'saa limoja',\n hh : 'masaa %d',\n d : 'siku moja',\n dd : 'masiku %d',\n M : 'mwezi mmoja',\n MM : 'miezi %d',\n y : 'mwaka mmoja',\n yy : 'miaka %d'\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return sw;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var sv = moment.defineLocale('sv', {\n months : 'januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december'.split('_'),\n monthsShort : 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n weekdays : 'söndag_måndag_tisdag_onsdag_torsdag_fredag_lördag'.split('_'),\n weekdaysShort : 'sön_mån_tis_ons_tor_fre_lör'.split('_'),\n weekdaysMin : 'sö_må_ti_on_to_fr_lö'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY-MM-DD',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY [kl.] HH:mm',\n LLLL : 'dddd D MMMM YYYY [kl.] HH:mm',\n lll : 'D MMM YYYY HH:mm',\n llll : 'ddd D MMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[Idag] LT',\n nextDay: '[Imorgon] LT',\n lastDay: '[Igår] LT',\n nextWeek: '[På] dddd LT',\n lastWeek: '[I] dddd[s] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'om %s',\n past : 'för %s sedan',\n s : 'några sekunder',\n ss : '%d sekunder',\n m : 'en minut',\n mm : '%d minuter',\n h : 'en timme',\n hh : '%d timmar',\n d : 'en dag',\n dd : '%d dagar',\n M : 'en månad',\n MM : '%d månader',\n y : 'ett år',\n yy : '%d år'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(e|a)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'e' :\n (b === 1) ? 'a' :\n (b === 2) ? 'a' :\n (b === 3) ? 'e' : 'e';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return sv;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var ss = moment.defineLocale('ss', {\n months : \"Bhimbidvwane_Indlovana_Indlov'lenkhulu_Mabasa_Inkhwekhweti_Inhlaba_Kholwane_Ingci_Inyoni_Imphala_Lweti_Ingongoni\".split('_'),\n monthsShort : 'Bhi_Ina_Inu_Mab_Ink_Inh_Kho_Igc_Iny_Imp_Lwe_Igo'.split('_'),\n weekdays : 'Lisontfo_Umsombuluko_Lesibili_Lesitsatfu_Lesine_Lesihlanu_Umgcibelo'.split('_'),\n weekdaysShort : 'Lis_Umb_Lsb_Les_Lsi_Lsh_Umg'.split('_'),\n weekdaysMin : 'Li_Us_Lb_Lt_Ls_Lh_Ug'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'h:mm A',\n LTS : 'h:mm:ss A',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY h:mm A',\n LLLL : 'dddd, D MMMM YYYY h:mm A'\n },\n calendar : {\n sameDay : '[Namuhla nga] LT',\n nextDay : '[Kusasa nga] LT',\n nextWeek : 'dddd [nga] LT',\n lastDay : '[Itolo nga] LT',\n lastWeek : 'dddd [leliphelile] [nga] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'nga %s',\n past : 'wenteka nga %s',\n s : 'emizuzwana lomcane',\n ss : '%d mzuzwana',\n m : 'umzuzu',\n mm : '%d emizuzu',\n h : 'lihora',\n hh : '%d emahora',\n d : 'lilanga',\n dd : '%d emalanga',\n M : 'inyanga',\n MM : '%d tinyanga',\n y : 'umnyaka',\n yy : '%d iminyaka'\n },\n meridiemParse: /ekuseni|emini|entsambama|ebusuku/,\n meridiem : function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'ekuseni';\n } else if (hours < 15) {\n return 'emini';\n } else if (hours < 19) {\n return 'entsambama';\n } else {\n return 'ebusuku';\n }\n },\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'ekuseni') {\n return hour;\n } else if (meridiem === 'emini') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'entsambama' || meridiem === 'ebusuku') {\n if (hour === 0) {\n return 0;\n }\n return hour + 12;\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}/,\n ordinal : '%d',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return ss;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var translator = {\n words: { //Different grammatical cases\n ss: ['секунда', 'секунде', 'секунди'],\n m: ['један минут', 'једне минуте'],\n mm: ['минут', 'минуте', 'минута'],\n h: ['један сат', 'једног сата'],\n hh: ['сат', 'сата', 'сати'],\n dd: ['дан', 'дана', 'дана'],\n MM: ['месец', 'месеца', 'месеци'],\n yy: ['година', 'године', 'година']\n },\n correctGrammaticalCase: function (number, wordKey) {\n return number === 1 ? wordKey[0] : (number >= 2 && number <= 4 ? wordKey[1] : wordKey[2]);\n },\n translate: function (number, withoutSuffix, key) {\n var wordKey = translator.words[key];\n if (key.length === 1) {\n return withoutSuffix ? wordKey[0] : wordKey[1];\n } else {\n return number + ' ' + translator.correctGrammaticalCase(number, wordKey);\n }\n }\n };\n\n var srCyrl = moment.defineLocale('sr-cyrl', {\n months: 'јануар_фебруар_март_април_мај_јун_јул_август_септембар_октобар_новембар_децембар'.split('_'),\n monthsShort: 'јан._феб._мар._апр._мај_јун_јул_авг._сеп._окт._нов._дец.'.split('_'),\n monthsParseExact: true,\n weekdays: 'недеља_понедељак_уторак_среда_четвртак_петак_субота'.split('_'),\n weekdaysShort: 'нед._пон._уто._сре._чет._пет._суб.'.split('_'),\n weekdaysMin: 'не_по_ут_ср_че_пе_су'.split('_'),\n weekdaysParseExact : true,\n longDateFormat: {\n LT: 'H:mm',\n LTS : 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd, D. MMMM YYYY H:mm'\n },\n calendar: {\n sameDay: '[данас у] LT',\n nextDay: '[сутра у] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[у] [недељу] [у] LT';\n case 3:\n return '[у] [среду] [у] LT';\n case 6:\n return '[у] [суботу] [у] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[у] dddd [у] LT';\n }\n },\n lastDay : '[јуче у] LT',\n lastWeek : function () {\n var lastWeekDays = [\n '[прошле] [недеље] [у] LT',\n '[прошлог] [понедељка] [у] LT',\n '[прошлог] [уторка] [у] LT',\n '[прошле] [среде] [у] LT',\n '[прошлог] [четвртка] [у] LT',\n '[прошлог] [петка] [у] LT',\n '[прошле] [суботе] [у] LT'\n ];\n return lastWeekDays[this.day()];\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'за %s',\n past : 'пре %s',\n s : 'неколико секунди',\n ss : translator.translate,\n m : translator.translate,\n mm : translator.translate,\n h : translator.translate,\n hh : translator.translate,\n d : 'дан',\n dd : translator.translate,\n M : 'месец',\n MM : translator.translate,\n y : 'годину',\n yy : translator.translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return srCyrl;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var translator = {\n words: { //Different grammatical cases\n ss: ['sekunda', 'sekunde', 'sekundi'],\n m: ['jedan minut', 'jedne minute'],\n mm: ['minut', 'minute', 'minuta'],\n h: ['jedan sat', 'jednog sata'],\n hh: ['sat', 'sata', 'sati'],\n dd: ['dan', 'dana', 'dana'],\n MM: ['mesec', 'meseca', 'meseci'],\n yy: ['godina', 'godine', 'godina']\n },\n correctGrammaticalCase: function (number, wordKey) {\n return number === 1 ? wordKey[0] : (number >= 2 && number <= 4 ? wordKey[1] : wordKey[2]);\n },\n translate: function (number, withoutSuffix, key) {\n var wordKey = translator.words[key];\n if (key.length === 1) {\n return withoutSuffix ? wordKey[0] : wordKey[1];\n } else {\n return number + ' ' + translator.correctGrammaticalCase(number, wordKey);\n }\n }\n };\n\n var sr = moment.defineLocale('sr', {\n months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split('_'),\n monthsShort: 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays: 'nedelja_ponedeljak_utorak_sreda_četvrtak_petak_subota'.split('_'),\n weekdaysShort: 'ned._pon._uto._sre._čet._pet._sub.'.split('_'),\n weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact : true,\n longDateFormat: {\n LT: 'H:mm',\n LTS : 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd, D. MMMM YYYY H:mm'\n },\n calendar: {\n sameDay: '[danas u] LT',\n nextDay: '[sutra u] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[u] [nedelju] [u] LT';\n case 3:\n return '[u] [sredu] [u] LT';\n case 6:\n return '[u] [subotu] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay : '[juče u] LT',\n lastWeek : function () {\n var lastWeekDays = [\n '[prošle] [nedelje] [u] LT',\n '[prošlog] [ponedeljka] [u] LT',\n '[prošlog] [utorka] [u] LT',\n '[prošle] [srede] [u] LT',\n '[prošlog] [četvrtka] [u] LT',\n '[prošlog] [petka] [u] LT',\n '[prošle] [subote] [u] LT'\n ];\n return lastWeekDays[this.day()];\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'za %s',\n past : 'pre %s',\n s : 'nekoliko sekundi',\n ss : translator.translate,\n m : translator.translate,\n mm : translator.translate,\n h : translator.translate,\n hh : translator.translate,\n d : 'dan',\n dd : translator.translate,\n M : 'mesec',\n MM : translator.translate,\n y : 'godinu',\n yy : translator.translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return sr;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var sq = moment.defineLocale('sq', {\n months : 'Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_Nëntor_Dhjetor'.split('_'),\n monthsShort : 'Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_Nën_Dhj'.split('_'),\n weekdays : 'E Diel_E Hënë_E Martë_E Mërkurë_E Enjte_E Premte_E Shtunë'.split('_'),\n weekdaysShort : 'Die_Hën_Mar_Mër_Enj_Pre_Sht'.split('_'),\n weekdaysMin : 'D_H_Ma_Më_E_P_Sh'.split('_'),\n weekdaysParseExact : true,\n meridiemParse: /PD|MD/,\n isPM: function (input) {\n return input.charAt(0) === 'M';\n },\n meridiem : function (hours, minutes, isLower) {\n return hours < 12 ? 'PD' : 'MD';\n },\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Sot në] LT',\n nextDay : '[Nesër në] LT',\n nextWeek : 'dddd [në] LT',\n lastDay : '[Dje në] LT',\n lastWeek : 'dddd [e kaluar në] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'në %s',\n past : '%s më parë',\n s : 'disa sekonda',\n ss : '%d sekonda',\n m : 'një minutë',\n mm : '%d minuta',\n h : 'një orë',\n hh : '%d orë',\n d : 'një ditë',\n dd : '%d ditë',\n M : 'një muaj',\n MM : '%d muaj',\n y : 'një vit',\n yy : '%d vite'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return sq;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n switch (key) {\n case 's':\n return withoutSuffix || isFuture ? 'nekaj sekund' : 'nekaj sekundami';\n case 'ss':\n if (number === 1) {\n result += withoutSuffix ? 'sekundo' : 'sekundi';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'sekundi' : 'sekundah';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'sekunde' : 'sekundah';\n } else {\n result += withoutSuffix || isFuture ? 'sekund' : 'sekund';\n }\n return result;\n case 'm':\n return withoutSuffix ? 'ena minuta' : 'eno minuto';\n case 'mm':\n if (number === 1) {\n result += withoutSuffix ? 'minuta' : 'minuto';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'minuti' : 'minutama';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'minute' : 'minutami';\n } else {\n result += withoutSuffix || isFuture ? 'minut' : 'minutami';\n }\n return result;\n case 'h':\n return withoutSuffix ? 'ena ura' : 'eno uro';\n case 'hh':\n if (number === 1) {\n result += withoutSuffix ? 'ura' : 'uro';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'uri' : 'urama';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'ure' : 'urami';\n } else {\n result += withoutSuffix || isFuture ? 'ur' : 'urami';\n }\n return result;\n case 'd':\n return withoutSuffix || isFuture ? 'en dan' : 'enim dnem';\n case 'dd':\n if (number === 1) {\n result += withoutSuffix || isFuture ? 'dan' : 'dnem';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'dni' : 'dnevoma';\n } else {\n result += withoutSuffix || isFuture ? 'dni' : 'dnevi';\n }\n return result;\n case 'M':\n return withoutSuffix || isFuture ? 'en mesec' : 'enim mesecem';\n case 'MM':\n if (number === 1) {\n result += withoutSuffix || isFuture ? 'mesec' : 'mesecem';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'meseca' : 'mesecema';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'mesece' : 'meseci';\n } else {\n result += withoutSuffix || isFuture ? 'mesecev' : 'meseci';\n }\n return result;\n case 'y':\n return withoutSuffix || isFuture ? 'eno leto' : 'enim letom';\n case 'yy':\n if (number === 1) {\n result += withoutSuffix || isFuture ? 'leto' : 'letom';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'leti' : 'letoma';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'leta' : 'leti';\n } else {\n result += withoutSuffix || isFuture ? 'let' : 'leti';\n }\n return result;\n }\n }\n\n var sl = moment.defineLocale('sl', {\n months : 'januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december'.split('_'),\n monthsShort : 'jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays : 'nedelja_ponedeljek_torek_sreda_četrtek_petek_sobota'.split('_'),\n weekdaysShort : 'ned._pon._tor._sre._čet._pet._sob.'.split('_'),\n weekdaysMin : 'ne_po_to_sr_če_pe_so'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY H:mm',\n LLLL : 'dddd, D. MMMM YYYY H:mm'\n },\n calendar : {\n sameDay : '[danes ob] LT',\n nextDay : '[jutri ob] LT',\n\n nextWeek : function () {\n switch (this.day()) {\n case 0:\n return '[v] [nedeljo] [ob] LT';\n case 3:\n return '[v] [sredo] [ob] LT';\n case 6:\n return '[v] [soboto] [ob] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[v] dddd [ob] LT';\n }\n },\n lastDay : '[včeraj ob] LT',\n lastWeek : function () {\n switch (this.day()) {\n case 0:\n return '[prejšnjo] [nedeljo] [ob] LT';\n case 3:\n return '[prejšnjo] [sredo] [ob] LT';\n case 6:\n return '[prejšnjo] [soboto] [ob] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[prejšnji] dddd [ob] LT';\n }\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'čez %s',\n past : 'pred %s',\n s : processRelativeTime,\n ss : processRelativeTime,\n m : processRelativeTime,\n mm : processRelativeTime,\n h : processRelativeTime,\n hh : processRelativeTime,\n d : processRelativeTime,\n dd : processRelativeTime,\n M : processRelativeTime,\n MM : processRelativeTime,\n y : processRelativeTime,\n yy : processRelativeTime\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return sl;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var months = 'január_február_marec_apríl_máj_jún_júl_august_september_október_november_december'.split('_'),\n monthsShort = 'jan_feb_mar_apr_máj_jún_júl_aug_sep_okt_nov_dec'.split('_');\n function plural(n) {\n return (n > 1) && (n < 5);\n }\n function translate(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n switch (key) {\n case 's': // a few seconds / in a few seconds / a few seconds ago\n return (withoutSuffix || isFuture) ? 'pár sekúnd' : 'pár sekundami';\n case 'ss': // 9 seconds / in 9 seconds / 9 seconds ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'sekundy' : 'sekúnd');\n } else {\n return result + 'sekundami';\n }\n break;\n case 'm': // a minute / in a minute / a minute ago\n return withoutSuffix ? 'minúta' : (isFuture ? 'minútu' : 'minútou');\n case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'minúty' : 'minút');\n } else {\n return result + 'minútami';\n }\n break;\n case 'h': // an hour / in an hour / an hour ago\n return withoutSuffix ? 'hodina' : (isFuture ? 'hodinu' : 'hodinou');\n case 'hh': // 9 hours / in 9 hours / 9 hours ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'hodiny' : 'hodín');\n } else {\n return result + 'hodinami';\n }\n break;\n case 'd': // a day / in a day / a day ago\n return (withoutSuffix || isFuture) ? 'deň' : 'dňom';\n case 'dd': // 9 days / in 9 days / 9 days ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'dni' : 'dní');\n } else {\n return result + 'dňami';\n }\n break;\n case 'M': // a month / in a month / a month ago\n return (withoutSuffix || isFuture) ? 'mesiac' : 'mesiacom';\n case 'MM': // 9 months / in 9 months / 9 months ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'mesiace' : 'mesiacov');\n } else {\n return result + 'mesiacmi';\n }\n break;\n case 'y': // a year / in a year / a year ago\n return (withoutSuffix || isFuture) ? 'rok' : 'rokom';\n case 'yy': // 9 years / in 9 years / 9 years ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'roky' : 'rokov');\n } else {\n return result + 'rokmi';\n }\n break;\n }\n }\n\n var sk = moment.defineLocale('sk', {\n months : months,\n monthsShort : monthsShort,\n weekdays : 'nedeľa_pondelok_utorok_streda_štvrtok_piatok_sobota'.split('_'),\n weekdaysShort : 'ne_po_ut_st_št_pi_so'.split('_'),\n weekdaysMin : 'ne_po_ut_st_št_pi_so'.split('_'),\n longDateFormat : {\n LT: 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY H:mm',\n LLLL : 'dddd D. MMMM YYYY H:mm'\n },\n calendar : {\n sameDay: '[dnes o] LT',\n nextDay: '[zajtra o] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[v nedeľu o] LT';\n case 1:\n case 2:\n return '[v] dddd [o] LT';\n case 3:\n return '[v stredu o] LT';\n case 4:\n return '[vo štvrtok o] LT';\n case 5:\n return '[v piatok o] LT';\n case 6:\n return '[v sobotu o] LT';\n }\n },\n lastDay: '[včera o] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[minulú nedeľu o] LT';\n case 1:\n case 2:\n return '[minulý] dddd [o] LT';\n case 3:\n return '[minulú stredu o] LT';\n case 4:\n case 5:\n return '[minulý] dddd [o] LT';\n case 6:\n return '[minulú sobotu o] LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : 'za %s',\n past : 'pred %s',\n s : translate,\n ss : translate,\n m : translate,\n mm : translate,\n h : translate,\n hh : translate,\n d : translate,\n dd : translate,\n M : translate,\n MM : translate,\n y : translate,\n yy : translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return sk;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n /*jshint -W100*/\n var si = moment.defineLocale('si', {\n months : 'ජනවාරි_පෙබරවාරි_මාර්තු_අප්‍රේල්_මැයි_ජූනි_ජූලි_අගෝස්තු_සැප්තැම්බර්_ඔක්තෝබර්_නොවැම්බර්_දෙසැම්බර්'.split('_'),\n monthsShort : 'ජන_පෙබ_මාර්_අප්_මැයි_ජූනි_ජූලි_අගෝ_සැප්_ඔක්_නොවැ_දෙසැ'.split('_'),\n weekdays : 'ඉරිදා_සඳුදා_අඟහරුවාදා_බදාදා_බ්‍රහස්පතින්දා_සිකුරාදා_සෙනසුරාදා'.split('_'),\n weekdaysShort : 'ඉරි_සඳු_අඟ_බදා_බ්‍රහ_සිකු_සෙන'.split('_'),\n weekdaysMin : 'ඉ_ස_අ_බ_බ්‍ර_සි_සෙ'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'a h:mm',\n LTS : 'a h:mm:ss',\n L : 'YYYY/MM/DD',\n LL : 'YYYY MMMM D',\n LLL : 'YYYY MMMM D, a h:mm',\n LLLL : 'YYYY MMMM D [වැනි] dddd, a h:mm:ss'\n },\n calendar : {\n sameDay : '[අද] LT[ට]',\n nextDay : '[හෙට] LT[ට]',\n nextWeek : 'dddd LT[ට]',\n lastDay : '[ඊයේ] LT[ට]',\n lastWeek : '[පසුගිය] dddd LT[ට]',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%sකින්',\n past : '%sකට පෙර',\n s : 'තත්පර කිහිපය',\n ss : 'තත්පර %d',\n m : 'මිනිත්තුව',\n mm : 'මිනිත්තු %d',\n h : 'පැය',\n hh : 'පැය %d',\n d : 'දිනය',\n dd : 'දින %d',\n M : 'මාසය',\n MM : 'මාස %d',\n y : 'වසර',\n yy : 'වසර %d'\n },\n dayOfMonthOrdinalParse: /\\d{1,2} වැනි/,\n ordinal : function (number) {\n return number + ' වැනි';\n },\n meridiemParse : /පෙර වරු|පස් වරු|පෙ.ව|ප.ව./,\n isPM : function (input) {\n return input === 'ප.ව.' || input === 'පස් වරු';\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'ප.ව.' : 'පස් වරු';\n } else {\n return isLower ? 'පෙ.ව.' : 'පෙර වරු';\n }\n }\n });\n\n return si;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var se = moment.defineLocale('se', {\n months : 'ođđajagemánnu_guovvamánnu_njukčamánnu_cuoŋománnu_miessemánnu_geassemánnu_suoidnemánnu_borgemánnu_čakčamánnu_golggotmánnu_skábmamánnu_juovlamánnu'.split('_'),\n monthsShort : 'ođđj_guov_njuk_cuo_mies_geas_suoi_borg_čakč_golg_skáb_juov'.split('_'),\n weekdays : 'sotnabeaivi_vuossárga_maŋŋebárga_gaskavahkku_duorastat_bearjadat_lávvardat'.split('_'),\n weekdaysShort : 'sotn_vuos_maŋ_gask_duor_bear_láv'.split('_'),\n weekdaysMin : 's_v_m_g_d_b_L'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'MMMM D. [b.] YYYY',\n LLL : 'MMMM D. [b.] YYYY [ti.] HH:mm',\n LLLL : 'dddd, MMMM D. [b.] YYYY [ti.] HH:mm'\n },\n calendar : {\n sameDay: '[otne ti] LT',\n nextDay: '[ihttin ti] LT',\n nextWeek: 'dddd [ti] LT',\n lastDay: '[ikte ti] LT',\n lastWeek: '[ovddit] dddd [ti] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : '%s geažes',\n past : 'maŋit %s',\n s : 'moadde sekunddat',\n ss: '%d sekunddat',\n m : 'okta minuhta',\n mm : '%d minuhtat',\n h : 'okta diimmu',\n hh : '%d diimmut',\n d : 'okta beaivi',\n dd : '%d beaivvit',\n M : 'okta mánnu',\n MM : '%d mánut',\n y : 'okta jahki',\n yy : '%d jagit'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return se;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var months = [\n 'جنوري',\n 'فيبروري',\n 'مارچ',\n 'اپريل',\n 'مئي',\n 'جون',\n 'جولاءِ',\n 'آگسٽ',\n 'سيپٽمبر',\n 'آڪٽوبر',\n 'نومبر',\n 'ڊسمبر'\n ];\n var days = [\n 'آچر',\n 'سومر',\n 'اڱارو',\n 'اربع',\n 'خميس',\n 'جمع',\n 'ڇنڇر'\n ];\n\n var sd = moment.defineLocale('sd', {\n months : months,\n monthsShort : months,\n weekdays : days,\n weekdaysShort : days,\n weekdaysMin : days,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd، D MMMM YYYY HH:mm'\n },\n meridiemParse: /صبح|شام/,\n isPM : function (input) {\n return 'شام' === input;\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'صبح';\n }\n return 'شام';\n },\n calendar : {\n sameDay : '[اڄ] LT',\n nextDay : '[سڀاڻي] LT',\n nextWeek : 'dddd [اڳين هفتي تي] LT',\n lastDay : '[ڪالهه] LT',\n lastWeek : '[گزريل هفتي] dddd [تي] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s پوء',\n past : '%s اڳ',\n s : 'چند سيڪنڊ',\n ss : '%d سيڪنڊ',\n m : 'هڪ منٽ',\n mm : '%d منٽ',\n h : 'هڪ ڪلاڪ',\n hh : '%d ڪلاڪ',\n d : 'هڪ ڏينهن',\n dd : '%d ڏينهن',\n M : 'هڪ مهينو',\n MM : '%d مهينا',\n y : 'هڪ سال',\n yy : '%d سال'\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/,/g, '،');\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return sd;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function plural(word, num) {\n var forms = word.split('_');\n return num % 10 === 1 && num % 100 !== 11 ? forms[0] : (num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) ? forms[1] : forms[2]);\n }\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n var format = {\n 'ss': withoutSuffix ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд',\n 'mm': withoutSuffix ? 'минута_минуты_минут' : 'минуту_минуты_минут',\n 'hh': 'час_часа_часов',\n 'dd': 'день_дня_дней',\n 'MM': 'месяц_месяца_месяцев',\n 'yy': 'год_года_лет'\n };\n if (key === 'm') {\n return withoutSuffix ? 'минута' : 'минуту';\n }\n else {\n return number + ' ' + plural(format[key], +number);\n }\n }\n var monthsParse = [/^янв/i, /^фев/i, /^мар/i, /^апр/i, /^ма[йя]/i, /^июн/i, /^июл/i, /^авг/i, /^сен/i, /^окт/i, /^ноя/i, /^дек/i];\n\n // http://new.gramota.ru/spravka/rules/139-prop : § 103\n // Сокращения месяцев: http://new.gramota.ru/spravka/buro/search-answer?s=242637\n // CLDR data: http://www.unicode.org/cldr/charts/28/summary/ru.html#1753\n var ru = moment.defineLocale('ru', {\n months : {\n format: 'января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря'.split('_'),\n standalone: 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split('_')\n },\n monthsShort : {\n // по CLDR именно \"июл.\" и \"июн.\", но какой смысл менять букву на точку ?\n format: 'янв._февр._мар._апр._мая_июня_июля_авг._сент._окт._нояб._дек.'.split('_'),\n standalone: 'янв._февр._март_апр._май_июнь_июль_авг._сент._окт._нояб._дек.'.split('_')\n },\n weekdays : {\n standalone: 'воскресенье_понедельник_вторник_среда_четверг_пятница_суббота'.split('_'),\n format: 'воскресенье_понедельник_вторник_среду_четверг_пятницу_субботу'.split('_'),\n isFormat: /\\[ ?[Вв] ?(?:прошлую|следующую|эту)? ?\\] ?dddd/\n },\n weekdaysShort : 'вс_пн_вт_ср_чт_пт_сб'.split('_'),\n weekdaysMin : 'вс_пн_вт_ср_чт_пт_сб'.split('_'),\n monthsParse : monthsParse,\n longMonthsParse : monthsParse,\n shortMonthsParse : monthsParse,\n\n // полные названия с падежами, по три буквы, для некоторых, по 4 буквы, сокращения с точкой и без точки\n monthsRegex: /^(январ[ья]|янв\\.?|феврал[ья]|февр?\\.?|марта?|мар\\.?|апрел[ья]|апр\\.?|ма[йя]|июн[ья]|июн\\.?|июл[ья]|июл\\.?|августа?|авг\\.?|сентябр[ья]|сент?\\.?|октябр[ья]|окт\\.?|ноябр[ья]|нояб?\\.?|декабр[ья]|дек\\.?)/i,\n\n // копия предыдущего\n monthsShortRegex: /^(январ[ья]|янв\\.?|феврал[ья]|февр?\\.?|марта?|мар\\.?|апрел[ья]|апр\\.?|ма[йя]|июн[ья]|июн\\.?|июл[ья]|июл\\.?|августа?|авг\\.?|сентябр[ья]|сент?\\.?|октябр[ья]|окт\\.?|ноябр[ья]|нояб?\\.?|декабр[ья]|дек\\.?)/i,\n\n // полные названия с падежами\n monthsStrictRegex: /^(январ[яь]|феврал[яь]|марта?|апрел[яь]|ма[яй]|июн[яь]|июл[яь]|августа?|сентябр[яь]|октябр[яь]|ноябр[яь]|декабр[яь])/i,\n\n // Выражение, которое соотвествует только сокращённым формам\n monthsShortStrictRegex: /^(янв\\.|февр?\\.|мар[т.]|апр\\.|ма[яй]|июн[ья.]|июл[ья.]|авг\\.|сент?\\.|окт\\.|нояб?\\.|дек\\.)/i,\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY г.',\n LLL : 'D MMMM YYYY г., H:mm',\n LLLL : 'dddd, D MMMM YYYY г., H:mm'\n },\n calendar : {\n sameDay: '[Сегодня, в] LT',\n nextDay: '[Завтра, в] LT',\n lastDay: '[Вчера, в] LT',\n nextWeek: function (now) {\n if (now.week() !== this.week()) {\n switch (this.day()) {\n case 0:\n return '[В следующее] dddd, [в] LT';\n case 1:\n case 2:\n case 4:\n return '[В следующий] dddd, [в] LT';\n case 3:\n case 5:\n case 6:\n return '[В следующую] dddd, [в] LT';\n }\n } else {\n if (this.day() === 2) {\n return '[Во] dddd, [в] LT';\n } else {\n return '[В] dddd, [в] LT';\n }\n }\n },\n lastWeek: function (now) {\n if (now.week() !== this.week()) {\n switch (this.day()) {\n case 0:\n return '[В прошлое] dddd, [в] LT';\n case 1:\n case 2:\n case 4:\n return '[В прошлый] dddd, [в] LT';\n case 3:\n case 5:\n case 6:\n return '[В прошлую] dddd, [в] LT';\n }\n } else {\n if (this.day() === 2) {\n return '[Во] dddd, [в] LT';\n } else {\n return '[В] dddd, [в] LT';\n }\n }\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : 'через %s',\n past : '%s назад',\n s : 'несколько секунд',\n ss : relativeTimeWithPlural,\n m : relativeTimeWithPlural,\n mm : relativeTimeWithPlural,\n h : 'час',\n hh : relativeTimeWithPlural,\n d : 'день',\n dd : relativeTimeWithPlural,\n M : 'месяц',\n MM : relativeTimeWithPlural,\n y : 'год',\n yy : relativeTimeWithPlural\n },\n meridiemParse: /ночи|утра|дня|вечера/i,\n isPM : function (input) {\n return /^(дня|вечера)$/.test(input);\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ночи';\n } else if (hour < 12) {\n return 'утра';\n } else if (hour < 17) {\n return 'дня';\n } else {\n return 'вечера';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(й|го|я)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'M':\n case 'd':\n case 'DDD':\n return number + '-й';\n case 'D':\n return number + '-го';\n case 'w':\n case 'W':\n return number + '-я';\n default:\n return number;\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return ru;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n var format = {\n 'ss': 'secunde',\n 'mm': 'minute',\n 'hh': 'ore',\n 'dd': 'zile',\n 'MM': 'luni',\n 'yy': 'ani'\n },\n separator = ' ';\n if (number % 100 >= 20 || (number >= 100 && number % 100 === 0)) {\n separator = ' de ';\n }\n return number + separator + format[key];\n }\n\n var ro = moment.defineLocale('ro', {\n months : 'ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie'.split('_'),\n monthsShort : 'ian._febr._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays : 'duminică_luni_marți_miercuri_joi_vineri_sâmbătă'.split('_'),\n weekdaysShort : 'Dum_Lun_Mar_Mie_Joi_Vin_Sâm'.split('_'),\n weekdaysMin : 'Du_Lu_Ma_Mi_Jo_Vi_Sâ'.split('_'),\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY H:mm',\n LLLL : 'dddd, D MMMM YYYY H:mm'\n },\n calendar : {\n sameDay: '[azi la] LT',\n nextDay: '[mâine la] LT',\n nextWeek: 'dddd [la] LT',\n lastDay: '[ieri la] LT',\n lastWeek: '[fosta] dddd [la] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'peste %s',\n past : '%s în urmă',\n s : 'câteva secunde',\n ss : relativeTimeWithPlural,\n m : 'un minut',\n mm : relativeTimeWithPlural,\n h : 'o oră',\n hh : relativeTimeWithPlural,\n d : 'o zi',\n dd : relativeTimeWithPlural,\n M : 'o lună',\n MM : relativeTimeWithPlural,\n y : 'un an',\n yy : relativeTimeWithPlural\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return ro;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var ptBr = moment.defineLocale('pt-br', {\n months : 'janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro'.split('_'),\n monthsShort : 'jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez'.split('_'),\n weekdays : 'Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado'.split('_'),\n weekdaysShort : 'Dom_Seg_Ter_Qua_Qui_Sex_Sáb'.split('_'),\n weekdaysMin : 'Do_2ª_3ª_4ª_5ª_6ª_Sá'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D [de] MMMM [de] YYYY',\n LLL : 'D [de] MMMM [de] YYYY [às] HH:mm',\n LLLL : 'dddd, D [de] MMMM [de] YYYY [às] HH:mm'\n },\n calendar : {\n sameDay: '[Hoje às] LT',\n nextDay: '[Amanhã às] LT',\n nextWeek: 'dddd [às] LT',\n lastDay: '[Ontem às] LT',\n lastWeek: function () {\n return (this.day() === 0 || this.day() === 6) ?\n '[Último] dddd [às] LT' : // Saturday + Sunday\n '[Última] dddd [às] LT'; // Monday - Friday\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : 'em %s',\n past : 'há %s',\n s : 'poucos segundos',\n ss : '%d segundos',\n m : 'um minuto',\n mm : '%d minutos',\n h : 'uma hora',\n hh : '%d horas',\n d : 'um dia',\n dd : '%d dias',\n M : 'um mês',\n MM : '%d meses',\n y : 'um ano',\n yy : '%d anos'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal : '%dº'\n });\n\n return ptBr;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var pt = moment.defineLocale('pt', {\n months : 'janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro'.split('_'),\n monthsShort : 'jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez'.split('_'),\n weekdays : 'Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado'.split('_'),\n weekdaysShort : 'Dom_Seg_Ter_Qua_Qui_Sex_Sáb'.split('_'),\n weekdaysMin : 'Do_2ª_3ª_4ª_5ª_6ª_Sá'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D [de] MMMM [de] YYYY',\n LLL : 'D [de] MMMM [de] YYYY HH:mm',\n LLLL : 'dddd, D [de] MMMM [de] YYYY HH:mm'\n },\n calendar : {\n sameDay: '[Hoje às] LT',\n nextDay: '[Amanhã às] LT',\n nextWeek: 'dddd [às] LT',\n lastDay: '[Ontem às] LT',\n lastWeek: function () {\n return (this.day() === 0 || this.day() === 6) ?\n '[Último] dddd [às] LT' : // Saturday + Sunday\n '[Última] dddd [às] LT'; // Monday - Friday\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : 'em %s',\n past : 'há %s',\n s : 'segundos',\n ss : '%d segundos',\n m : 'um minuto',\n mm : '%d minutos',\n h : 'uma hora',\n hh : '%d horas',\n d : 'um dia',\n dd : '%d dias',\n M : 'um mês',\n MM : '%d meses',\n y : 'um ano',\n yy : '%d anos'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal : '%dº',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return pt;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var monthsNominative = 'styczeń_luty_marzec_kwiecień_maj_czerwiec_lipiec_sierpień_wrzesień_październik_listopad_grudzień'.split('_'),\n monthsSubjective = 'stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_września_października_listopada_grudnia'.split('_');\n function plural(n) {\n return (n % 10 < 5) && (n % 10 > 1) && ((~~(n / 10) % 10) !== 1);\n }\n function translate(number, withoutSuffix, key) {\n var result = number + ' ';\n switch (key) {\n case 'ss':\n return result + (plural(number) ? 'sekundy' : 'sekund');\n case 'm':\n return withoutSuffix ? 'minuta' : 'minutę';\n case 'mm':\n return result + (plural(number) ? 'minuty' : 'minut');\n case 'h':\n return withoutSuffix ? 'godzina' : 'godzinę';\n case 'hh':\n return result + (plural(number) ? 'godziny' : 'godzin');\n case 'MM':\n return result + (plural(number) ? 'miesiące' : 'miesięcy');\n case 'yy':\n return result + (plural(number) ? 'lata' : 'lat');\n }\n }\n\n var pl = moment.defineLocale('pl', {\n months : function (momentToFormat, format) {\n if (!momentToFormat) {\n return monthsNominative;\n } else if (format === '') {\n // Hack: if format empty we know this is used to generate\n // RegExp by moment. Give then back both valid forms of months\n // in RegExp ready format.\n return '(' + monthsSubjective[momentToFormat.month()] + '|' + monthsNominative[momentToFormat.month()] + ')';\n } else if (/D MMMM/.test(format)) {\n return monthsSubjective[momentToFormat.month()];\n } else {\n return monthsNominative[momentToFormat.month()];\n }\n },\n monthsShort : 'sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paź_lis_gru'.split('_'),\n weekdays : 'niedziela_poniedziałek_wtorek_środa_czwartek_piątek_sobota'.split('_'),\n weekdaysShort : 'ndz_pon_wt_śr_czw_pt_sob'.split('_'),\n weekdaysMin : 'Nd_Pn_Wt_Śr_Cz_Pt_So'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[Dziś o] LT',\n nextDay: '[Jutro o] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[W niedzielę o] LT';\n\n case 2:\n return '[We wtorek o] LT';\n\n case 3:\n return '[W środę o] LT';\n\n case 6:\n return '[W sobotę o] LT';\n\n default:\n return '[W] dddd [o] LT';\n }\n },\n lastDay: '[Wczoraj o] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[W zeszłą niedzielę o] LT';\n case 3:\n return '[W zeszłą środę o] LT';\n case 6:\n return '[W zeszłą sobotę o] LT';\n default:\n return '[W zeszły] dddd [o] LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : 'za %s',\n past : '%s temu',\n s : 'kilka sekund',\n ss : translate,\n m : translate,\n mm : translate,\n h : translate,\n hh : translate,\n d : '1 dzień',\n dd : '%d dni',\n M : 'miesiąc',\n MM : translate,\n y : 'rok',\n yy : translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return pl;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '੧',\n '2': '੨',\n '3': '੩',\n '4': '੪',\n '5': '੫',\n '6': '੬',\n '7': '੭',\n '8': '੮',\n '9': '੯',\n '0': '੦'\n },\n numberMap = {\n '੧': '1',\n '੨': '2',\n '੩': '3',\n '੪': '4',\n '੫': '5',\n '੬': '6',\n '੭': '7',\n '੮': '8',\n '੯': '9',\n '੦': '0'\n };\n\n var paIn = moment.defineLocale('pa-in', {\n // There are months name as per Nanakshahi Calender but they are not used as rigidly in modern Punjabi.\n months : 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split('_'),\n monthsShort : 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split('_'),\n weekdays : 'ਐਤਵਾਰ_ਸੋਮਵਾਰ_ਮੰਗਲਵਾਰ_ਬੁਧਵਾਰ_ਵੀਰਵਾਰ_ਸ਼ੁੱਕਰਵਾਰ_ਸ਼ਨੀਚਰਵਾਰ'.split('_'),\n weekdaysShort : 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'),\n weekdaysMin : 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'),\n longDateFormat : {\n LT : 'A h:mm ਵਜੇ',\n LTS : 'A h:mm:ss ਵਜੇ',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, A h:mm ਵਜੇ',\n LLLL : 'dddd, D MMMM YYYY, A h:mm ਵਜੇ'\n },\n calendar : {\n sameDay : '[ਅਜ] LT',\n nextDay : '[ਕਲ] LT',\n nextWeek : '[ਅਗਲਾ] dddd, LT',\n lastDay : '[ਕਲ] LT',\n lastWeek : '[ਪਿਛਲੇ] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s ਵਿੱਚ',\n past : '%s ਪਿਛਲੇ',\n s : 'ਕੁਝ ਸਕਿੰਟ',\n ss : '%d ਸਕਿੰਟ',\n m : 'ਇਕ ਮਿੰਟ',\n mm : '%d ਮਿੰਟ',\n h : 'ਇੱਕ ਘੰਟਾ',\n hh : '%d ਘੰਟੇ',\n d : 'ਇੱਕ ਦਿਨ',\n dd : '%d ਦਿਨ',\n M : 'ਇੱਕ ਮਹੀਨਾ',\n MM : '%d ਮਹੀਨੇ',\n y : 'ਇੱਕ ਸਾਲ',\n yy : '%d ਸਾਲ'\n },\n preparse: function (string) {\n return string.replace(/[੧੨੩੪੫੬੭੮੯੦]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n // Punjabi notation for meridiems are quite fuzzy in practice. While there exists\n // a rigid notion of a 'Pahar' it is not used as rigidly in modern Punjabi.\n meridiemParse: /ਰਾਤ|ਸਵੇਰ|ਦੁਪਹਿਰ|ਸ਼ਾਮ/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'ਰਾਤ') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'ਸਵੇਰ') {\n return hour;\n } else if (meridiem === 'ਦੁਪਹਿਰ') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'ਸ਼ਾਮ') {\n return hour + 12;\n }\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ਰਾਤ';\n } else if (hour < 10) {\n return 'ਸਵੇਰ';\n } else if (hour < 17) {\n return 'ਦੁਪਹਿਰ';\n } else if (hour < 20) {\n return 'ਸ਼ਾਮ';\n } else {\n return 'ਰਾਤ';\n }\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return paIn;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var nn = moment.defineLocale('nn', {\n months : 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split('_'),\n monthsShort : 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'),\n weekdays : 'sundag_måndag_tysdag_onsdag_torsdag_fredag_laurdag'.split('_'),\n weekdaysShort : 'sun_mån_tys_ons_tor_fre_lau'.split('_'),\n weekdaysMin : 'su_må_ty_on_to_fr_lø'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY [kl.] H:mm',\n LLLL : 'dddd D. MMMM YYYY [kl.] HH:mm'\n },\n calendar : {\n sameDay: '[I dag klokka] LT',\n nextDay: '[I morgon klokka] LT',\n nextWeek: 'dddd [klokka] LT',\n lastDay: '[I går klokka] LT',\n lastWeek: '[Føregåande] dddd [klokka] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'om %s',\n past : '%s sidan',\n s : 'nokre sekund',\n ss : '%d sekund',\n m : 'eit minutt',\n mm : '%d minutt',\n h : 'ein time',\n hh : '%d timar',\n d : 'ein dag',\n dd : '%d dagar',\n M : 'ein månad',\n MM : '%d månader',\n y : 'eit år',\n yy : '%d år'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return nn;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var monthsShortWithDots = 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'),\n monthsShortWithoutDots = 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_');\n\n var monthsParse = [/^jan/i, /^feb/i, /^maart|mrt.?$/i, /^apr/i, /^mei$/i, /^jun[i.]?$/i, /^jul[i.]?$/i, /^aug/i, /^sep/i, /^okt/i, /^nov/i, /^dec/i];\n var monthsRegex = /^(januari|februari|maart|april|mei|april|ju[nl]i|augustus|september|oktober|november|december|jan\\.?|feb\\.?|mrt\\.?|apr\\.?|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i;\n\n var nlBe = moment.defineLocale('nl-be', {\n months : 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split('_'),\n monthsShort : function (m, format) {\n if (!m) {\n return monthsShortWithDots;\n } else if (/-MMM-/.test(format)) {\n return monthsShortWithoutDots[m.month()];\n } else {\n return monthsShortWithDots[m.month()];\n }\n },\n\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: /^(januari|februari|maart|mei|ju[nl]i|april|augustus|september|oktober|november|december)/i,\n monthsShortStrictRegex: /^(jan\\.?|feb\\.?|mrt\\.?|apr\\.?|mei|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i,\n\n monthsParse : monthsParse,\n longMonthsParse : monthsParse,\n shortMonthsParse : monthsParse,\n\n weekdays : 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split('_'),\n weekdaysShort : 'zo._ma._di._wo._do._vr._za.'.split('_'),\n weekdaysMin : 'zo_ma_di_wo_do_vr_za'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[vandaag om] LT',\n nextDay: '[morgen om] LT',\n nextWeek: 'dddd [om] LT',\n lastDay: '[gisteren om] LT',\n lastWeek: '[afgelopen] dddd [om] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'over %s',\n past : '%s geleden',\n s : 'een paar seconden',\n ss : '%d seconden',\n m : 'één minuut',\n mm : '%d minuten',\n h : 'één uur',\n hh : '%d uur',\n d : 'één dag',\n dd : '%d dagen',\n M : 'één maand',\n MM : '%d maanden',\n y : 'één jaar',\n yy : '%d jaar'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n ordinal : function (number) {\n return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de');\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return nlBe;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var monthsShortWithDots = 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'),\n monthsShortWithoutDots = 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_');\n\n var monthsParse = [/^jan/i, /^feb/i, /^maart|mrt.?$/i, /^apr/i, /^mei$/i, /^jun[i.]?$/i, /^jul[i.]?$/i, /^aug/i, /^sep/i, /^okt/i, /^nov/i, /^dec/i];\n var monthsRegex = /^(januari|februari|maart|april|mei|april|ju[nl]i|augustus|september|oktober|november|december|jan\\.?|feb\\.?|mrt\\.?|apr\\.?|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i;\n\n var nl = moment.defineLocale('nl', {\n months : 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split('_'),\n monthsShort : function (m, format) {\n if (!m) {\n return monthsShortWithDots;\n } else if (/-MMM-/.test(format)) {\n return monthsShortWithoutDots[m.month()];\n } else {\n return monthsShortWithDots[m.month()];\n }\n },\n\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: /^(januari|februari|maart|mei|ju[nl]i|april|augustus|september|oktober|november|december)/i,\n monthsShortStrictRegex: /^(jan\\.?|feb\\.?|mrt\\.?|apr\\.?|mei|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i,\n\n monthsParse : monthsParse,\n longMonthsParse : monthsParse,\n shortMonthsParse : monthsParse,\n\n weekdays : 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split('_'),\n weekdaysShort : 'zo._ma._di._wo._do._vr._za.'.split('_'),\n weekdaysMin : 'zo_ma_di_wo_do_vr_za'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD-MM-YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[vandaag om] LT',\n nextDay: '[morgen om] LT',\n nextWeek: 'dddd [om] LT',\n lastDay: '[gisteren om] LT',\n lastWeek: '[afgelopen] dddd [om] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'over %s',\n past : '%s geleden',\n s : 'een paar seconden',\n ss : '%d seconden',\n m : 'één minuut',\n mm : '%d minuten',\n h : 'één uur',\n hh : '%d uur',\n d : 'één dag',\n dd : '%d dagen',\n M : 'één maand',\n MM : '%d maanden',\n y : 'één jaar',\n yy : '%d jaar'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n ordinal : function (number) {\n return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de');\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return nl;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '१',\n '2': '२',\n '3': '३',\n '4': '४',\n '5': '५',\n '6': '६',\n '7': '७',\n '8': '८',\n '9': '९',\n '0': '०'\n },\n numberMap = {\n '१': '1',\n '२': '2',\n '३': '3',\n '४': '4',\n '५': '5',\n '६': '6',\n '७': '7',\n '८': '8',\n '९': '9',\n '०': '0'\n };\n\n var ne = moment.defineLocale('ne', {\n months : 'जनवरी_फेब्रुवरी_मार्च_अप्रिल_मई_जुन_जुलाई_अगष्ट_सेप्टेम्बर_अक्टोबर_नोभेम्बर_डिसेम्बर'.split('_'),\n monthsShort : 'जन._फेब्रु._मार्च_अप्रि._मई_जुन_जुलाई._अग._सेप्ट._अक्टो._नोभे._डिसे.'.split('_'),\n monthsParseExact : true,\n weekdays : 'आइतबार_सोमबार_मङ्गलबार_बुधबार_बिहिबार_शुक्रबार_शनिबार'.split('_'),\n weekdaysShort : 'आइत._सोम._मङ्गल._बुध._बिहि._शुक्र._शनि.'.split('_'),\n weekdaysMin : 'आ._सो._मं._बु._बि._शु._श.'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'Aको h:mm बजे',\n LTS : 'Aको h:mm:ss बजे',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, Aको h:mm बजे',\n LLLL : 'dddd, D MMMM YYYY, Aको h:mm बजे'\n },\n preparse: function (string) {\n return string.replace(/[१२३४५६७८९०]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /राति|बिहान|दिउँसो|साँझ/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'राति') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'बिहान') {\n return hour;\n } else if (meridiem === 'दिउँसो') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'साँझ') {\n return hour + 12;\n }\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 3) {\n return 'राति';\n } else if (hour < 12) {\n return 'बिहान';\n } else if (hour < 16) {\n return 'दिउँसो';\n } else if (hour < 20) {\n return 'साँझ';\n } else {\n return 'राति';\n }\n },\n calendar : {\n sameDay : '[आज] LT',\n nextDay : '[भोलि] LT',\n nextWeek : '[आउँदो] dddd[,] LT',\n lastDay : '[हिजो] LT',\n lastWeek : '[गएको] dddd[,] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%sमा',\n past : '%s अगाडि',\n s : 'केही क्षण',\n ss : '%d सेकेण्ड',\n m : 'एक मिनेट',\n mm : '%d मिनेट',\n h : 'एक घण्टा',\n hh : '%d घण्टा',\n d : 'एक दिन',\n dd : '%d दिन',\n M : 'एक महिना',\n MM : '%d महिना',\n y : 'एक बर्ष',\n yy : '%d बर्ष'\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return ne;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var nb = moment.defineLocale('nb', {\n months : 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split('_'),\n monthsShort : 'jan._feb._mars_april_mai_juni_juli_aug._sep._okt._nov._des.'.split('_'),\n monthsParseExact : true,\n weekdays : 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),\n weekdaysShort : 'sø._ma._ti._on._to._fr._lø.'.split('_'),\n weekdaysMin : 'sø_ma_ti_on_to_fr_lø'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY [kl.] HH:mm',\n LLLL : 'dddd D. MMMM YYYY [kl.] HH:mm'\n },\n calendar : {\n sameDay: '[i dag kl.] LT',\n nextDay: '[i morgen kl.] LT',\n nextWeek: 'dddd [kl.] LT',\n lastDay: '[i går kl.] LT',\n lastWeek: '[forrige] dddd [kl.] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'om %s',\n past : '%s siden',\n s : 'noen sekunder',\n ss : '%d sekunder',\n m : 'ett minutt',\n mm : '%d minutter',\n h : 'en time',\n hh : '%d timer',\n d : 'en dag',\n dd : '%d dager',\n M : 'en måned',\n MM : '%d måneder',\n y : 'ett år',\n yy : '%d år'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return nb;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '၁',\n '2': '၂',\n '3': '၃',\n '4': '၄',\n '5': '၅',\n '6': '၆',\n '7': '၇',\n '8': '၈',\n '9': '၉',\n '0': '၀'\n }, numberMap = {\n '၁': '1',\n '၂': '2',\n '၃': '3',\n '၄': '4',\n '၅': '5',\n '၆': '6',\n '၇': '7',\n '၈': '8',\n '၉': '9',\n '၀': '0'\n };\n\n var my = moment.defineLocale('my', {\n months: 'ဇန်နဝါရီ_ဖေဖော်ဝါရီ_မတ်_ဧပြီ_မေ_ဇွန်_ဇူလိုင်_သြဂုတ်_စက်တင်ဘာ_အောက်တိုဘာ_နိုဝင်ဘာ_ဒီဇင်ဘာ'.split('_'),\n monthsShort: 'ဇန်_ဖေ_မတ်_ပြီ_မေ_ဇွန်_လိုင်_သြ_စက်_အောက်_နို_ဒီ'.split('_'),\n weekdays: 'တနင်္ဂနွေ_တနင်္လာ_အင်္ဂါ_ဗုဒ္ဓဟူး_ကြာသပတေး_သောကြာ_စနေ'.split('_'),\n weekdaysShort: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'),\n weekdaysMin: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'),\n\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[ယနေ.] LT [မှာ]',\n nextDay: '[မနက်ဖြန်] LT [မှာ]',\n nextWeek: 'dddd LT [မှာ]',\n lastDay: '[မနေ.က] LT [မှာ]',\n lastWeek: '[ပြီးခဲ့သော] dddd LT [မှာ]',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'လာမည့် %s မှာ',\n past: 'လွန်ခဲ့သော %s က',\n s: 'စက္ကန်.အနည်းငယ်',\n ss : '%d စက္ကန့်',\n m: 'တစ်မိနစ်',\n mm: '%d မိနစ်',\n h: 'တစ်နာရီ',\n hh: '%d နာရီ',\n d: 'တစ်ရက်',\n dd: '%d ရက်',\n M: 'တစ်လ',\n MM: '%d လ',\n y: 'တစ်နှစ်',\n yy: '%d နှစ်'\n },\n preparse: function (string) {\n return string.replace(/[၁၂၃၄၅၆၇၈၉၀]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return my;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var mt = moment.defineLocale('mt', {\n months : 'Jannar_Frar_Marzu_April_Mejju_Ġunju_Lulju_Awwissu_Settembru_Ottubru_Novembru_Diċembru'.split('_'),\n monthsShort : 'Jan_Fra_Mar_Apr_Mej_Ġun_Lul_Aww_Set_Ott_Nov_Diċ'.split('_'),\n weekdays : 'Il-Ħadd_It-Tnejn_It-Tlieta_L-Erbgħa_Il-Ħamis_Il-Ġimgħa_Is-Sibt'.split('_'),\n weekdaysShort : 'Ħad_Tne_Tli_Erb_Ħam_Ġim_Sib'.split('_'),\n weekdaysMin : 'Ħa_Tn_Tl_Er_Ħa_Ġi_Si'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Illum fil-]LT',\n nextDay : '[Għada fil-]LT',\n nextWeek : 'dddd [fil-]LT',\n lastDay : '[Il-bieraħ fil-]LT',\n lastWeek : 'dddd [li għadda] [fil-]LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'f’ %s',\n past : '%s ilu',\n s : 'ftit sekondi',\n ss : '%d sekondi',\n m : 'minuta',\n mm : '%d minuti',\n h : 'siegħa',\n hh : '%d siegħat',\n d : 'ġurnata',\n dd : '%d ġranet',\n M : 'xahar',\n MM : '%d xhur',\n y : 'sena',\n yy : '%d sni'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}º/,\n ordinal: '%dº',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return mt;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var msMy = moment.defineLocale('ms-my', {\n months : 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split('_'),\n monthsShort : 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'),\n weekdays : 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'),\n weekdaysShort : 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'),\n weekdaysMin : 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'),\n longDateFormat : {\n LT : 'HH.mm',\n LTS : 'HH.mm.ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY [pukul] HH.mm',\n LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm'\n },\n meridiemParse: /pagi|tengahari|petang|malam/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'pagi') {\n return hour;\n } else if (meridiem === 'tengahari') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'petang' || meridiem === 'malam') {\n return hour + 12;\n }\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'pagi';\n } else if (hours < 15) {\n return 'tengahari';\n } else if (hours < 19) {\n return 'petang';\n } else {\n return 'malam';\n }\n },\n calendar : {\n sameDay : '[Hari ini pukul] LT',\n nextDay : '[Esok pukul] LT',\n nextWeek : 'dddd [pukul] LT',\n lastDay : '[Kelmarin pukul] LT',\n lastWeek : 'dddd [lepas pukul] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'dalam %s',\n past : '%s yang lepas',\n s : 'beberapa saat',\n ss : '%d saat',\n m : 'seminit',\n mm : '%d minit',\n h : 'sejam',\n hh : '%d jam',\n d : 'sehari',\n dd : '%d hari',\n M : 'sebulan',\n MM : '%d bulan',\n y : 'setahun',\n yy : '%d tahun'\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return msMy;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var ms = moment.defineLocale('ms', {\n months : 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split('_'),\n monthsShort : 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'),\n weekdays : 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'),\n weekdaysShort : 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'),\n weekdaysMin : 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'),\n longDateFormat : {\n LT : 'HH.mm',\n LTS : 'HH.mm.ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY [pukul] HH.mm',\n LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm'\n },\n meridiemParse: /pagi|tengahari|petang|malam/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'pagi') {\n return hour;\n } else if (meridiem === 'tengahari') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'petang' || meridiem === 'malam') {\n return hour + 12;\n }\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'pagi';\n } else if (hours < 15) {\n return 'tengahari';\n } else if (hours < 19) {\n return 'petang';\n } else {\n return 'malam';\n }\n },\n calendar : {\n sameDay : '[Hari ini pukul] LT',\n nextDay : '[Esok pukul] LT',\n nextWeek : 'dddd [pukul] LT',\n lastDay : '[Kelmarin pukul] LT',\n lastWeek : 'dddd [lepas pukul] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'dalam %s',\n past : '%s yang lepas',\n s : 'beberapa saat',\n ss : '%d saat',\n m : 'seminit',\n mm : '%d minit',\n h : 'sejam',\n hh : '%d jam',\n d : 'sehari',\n dd : '%d hari',\n M : 'sebulan',\n MM : '%d bulan',\n y : 'setahun',\n yy : '%d tahun'\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return ms;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '१',\n '2': '२',\n '3': '३',\n '4': '४',\n '5': '५',\n '6': '६',\n '7': '७',\n '8': '८',\n '9': '९',\n '0': '०'\n },\n numberMap = {\n '१': '1',\n '२': '2',\n '३': '3',\n '४': '4',\n '५': '5',\n '६': '6',\n '७': '7',\n '८': '8',\n '९': '9',\n '०': '0'\n };\n\n function relativeTimeMr(number, withoutSuffix, string, isFuture)\n {\n var output = '';\n if (withoutSuffix) {\n switch (string) {\n case 's': output = 'काही सेकंद'; break;\n case 'ss': output = '%d सेकंद'; break;\n case 'm': output = 'एक मिनिट'; break;\n case 'mm': output = '%d मिनिटे'; break;\n case 'h': output = 'एक तास'; break;\n case 'hh': output = '%d तास'; break;\n case 'd': output = 'एक दिवस'; break;\n case 'dd': output = '%d दिवस'; break;\n case 'M': output = 'एक महिना'; break;\n case 'MM': output = '%d महिने'; break;\n case 'y': output = 'एक वर्ष'; break;\n case 'yy': output = '%d वर्षे'; break;\n }\n }\n else {\n switch (string) {\n case 's': output = 'काही सेकंदां'; break;\n case 'ss': output = '%d सेकंदां'; break;\n case 'm': output = 'एका मिनिटा'; break;\n case 'mm': output = '%d मिनिटां'; break;\n case 'h': output = 'एका तासा'; break;\n case 'hh': output = '%d तासां'; break;\n case 'd': output = 'एका दिवसा'; break;\n case 'dd': output = '%d दिवसां'; break;\n case 'M': output = 'एका महिन्या'; break;\n case 'MM': output = '%d महिन्यां'; break;\n case 'y': output = 'एका वर्षा'; break;\n case 'yy': output = '%d वर्षां'; break;\n }\n }\n return output.replace(/%d/i, number);\n }\n\n var mr = moment.defineLocale('mr', {\n months : 'जानेवारी_फेब्रुवारी_मार्च_एप्रिल_मे_जून_जुलै_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर'.split('_'),\n monthsShort: 'जाने._फेब्रु._मार्च._एप्रि._मे._जून._जुलै._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.'.split('_'),\n monthsParseExact : true,\n weekdays : 'रविवार_सोमवार_मंगळवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'),\n weekdaysShort : 'रवि_सोम_मंगळ_बुध_गुरू_शुक्र_शनि'.split('_'),\n weekdaysMin : 'र_सो_मं_बु_गु_शु_श'.split('_'),\n longDateFormat : {\n LT : 'A h:mm वाजता',\n LTS : 'A h:mm:ss वाजता',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, A h:mm वाजता',\n LLLL : 'dddd, D MMMM YYYY, A h:mm वाजता'\n },\n calendar : {\n sameDay : '[आज] LT',\n nextDay : '[उद्या] LT',\n nextWeek : 'dddd, LT',\n lastDay : '[काल] LT',\n lastWeek: '[मागील] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future: '%sमध्ये',\n past: '%sपूर्वी',\n s: relativeTimeMr,\n ss: relativeTimeMr,\n m: relativeTimeMr,\n mm: relativeTimeMr,\n h: relativeTimeMr,\n hh: relativeTimeMr,\n d: relativeTimeMr,\n dd: relativeTimeMr,\n M: relativeTimeMr,\n MM: relativeTimeMr,\n y: relativeTimeMr,\n yy: relativeTimeMr\n },\n preparse: function (string) {\n return string.replace(/[१२३४५६७८९०]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /रात्री|सकाळी|दुपारी|सायंकाळी/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'रात्री') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'सकाळी') {\n return hour;\n } else if (meridiem === 'दुपारी') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'सायंकाळी') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'रात्री';\n } else if (hour < 10) {\n return 'सकाळी';\n } else if (hour < 17) {\n return 'दुपारी';\n } else if (hour < 20) {\n return 'सायंकाळी';\n } else {\n return 'रात्री';\n }\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return mr;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function translate(number, withoutSuffix, key, isFuture) {\n switch (key) {\n case 's':\n return withoutSuffix ? 'хэдхэн секунд' : 'хэдхэн секундын';\n case 'ss':\n return number + (withoutSuffix ? ' секунд' : ' секундын');\n case 'm':\n case 'mm':\n return number + (withoutSuffix ? ' минут' : ' минутын');\n case 'h':\n case 'hh':\n return number + (withoutSuffix ? ' цаг' : ' цагийн');\n case 'd':\n case 'dd':\n return number + (withoutSuffix ? ' өдөр' : ' өдрийн');\n case 'M':\n case 'MM':\n return number + (withoutSuffix ? ' сар' : ' сарын');\n case 'y':\n case 'yy':\n return number + (withoutSuffix ? ' жил' : ' жилийн');\n default:\n return number;\n }\n }\n\n var mn = moment.defineLocale('mn', {\n months : 'Нэгдүгээр сар_Хоёрдугаар сар_Гуравдугаар сар_Дөрөвдүгээр сар_Тавдугаар сар_Зургадугаар сар_Долдугаар сар_Наймдугаар сар_Есдүгээр сар_Аравдугаар сар_Арван нэгдүгээр сар_Арван хоёрдугаар сар'.split('_'),\n monthsShort : '1 сар_2 сар_3 сар_4 сар_5 сар_6 сар_7 сар_8 сар_9 сар_10 сар_11 сар_12 сар'.split('_'),\n monthsParseExact : true,\n weekdays : 'Ням_Даваа_Мягмар_Лхагва_Пүрэв_Баасан_Бямба'.split('_'),\n weekdaysShort : 'Ням_Дав_Мяг_Лха_Пүр_Баа_Бям'.split('_'),\n weekdaysMin : 'Ня_Да_Мя_Лх_Пү_Ба_Бя'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY-MM-DD',\n LL : 'YYYY оны MMMMын D',\n LLL : 'YYYY оны MMMMын D HH:mm',\n LLLL : 'dddd, YYYY оны MMMMын D HH:mm'\n },\n meridiemParse: /ҮӨ|ҮХ/i,\n isPM : function (input) {\n return input === 'ҮХ';\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ҮӨ';\n } else {\n return 'ҮХ';\n }\n },\n calendar : {\n sameDay : '[Өнөөдөр] LT',\n nextDay : '[Маргааш] LT',\n nextWeek : '[Ирэх] dddd LT',\n lastDay : '[Өчигдөр] LT',\n lastWeek : '[Өнгөрсөн] dddd LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s дараа',\n past : '%s өмнө',\n s : translate,\n ss : translate,\n m : translate,\n mm : translate,\n h : translate,\n hh : translate,\n d : translate,\n dd : translate,\n M : translate,\n MM : translate,\n y : translate,\n yy : translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2} өдөр/,\n ordinal : function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + ' өдөр';\n default:\n return number;\n }\n }\n });\n\n return mn;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var ml = moment.defineLocale('ml', {\n months : 'ജനുവരി_ഫെബ്രുവരി_മാർച്ച്_ഏപ്രിൽ_മേയ്_ജൂൺ_ജൂലൈ_ഓഗസ്റ്റ്_സെപ്റ്റംബർ_ഒക്ടോബർ_നവംബർ_ഡിസംബർ'.split('_'),\n monthsShort : 'ജനു._ഫെബ്രു._മാർ._ഏപ്രി._മേയ്_ജൂൺ_ജൂലൈ._ഓഗ._സെപ്റ്റ._ഒക്ടോ._നവം._ഡിസം.'.split('_'),\n monthsParseExact : true,\n weekdays : 'ഞായറാഴ്ച_തിങ്കളാഴ്ച_ചൊവ്വാഴ്ച_ബുധനാഴ്ച_വ്യാഴാഴ്ച_വെള്ളിയാഴ്ച_ശനിയാഴ്ച'.split('_'),\n weekdaysShort : 'ഞായർ_തിങ്കൾ_ചൊവ്വ_ബുധൻ_വ്യാഴം_വെള്ളി_ശനി'.split('_'),\n weekdaysMin : 'ഞാ_തി_ചൊ_ബു_വ്യാ_വെ_ശ'.split('_'),\n longDateFormat : {\n LT : 'A h:mm -നു',\n LTS : 'A h:mm:ss -നു',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, A h:mm -നു',\n LLLL : 'dddd, D MMMM YYYY, A h:mm -നു'\n },\n calendar : {\n sameDay : '[ഇന്ന്] LT',\n nextDay : '[നാളെ] LT',\n nextWeek : 'dddd, LT',\n lastDay : '[ഇന്നലെ] LT',\n lastWeek : '[കഴിഞ്ഞ] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s കഴിഞ്ഞ്',\n past : '%s മുൻപ്',\n s : 'അൽപ നിമിഷങ്ങൾ',\n ss : '%d സെക്കൻഡ്',\n m : 'ഒരു മിനിറ്റ്',\n mm : '%d മിനിറ്റ്',\n h : 'ഒരു മണിക്കൂർ',\n hh : '%d മണിക്കൂർ',\n d : 'ഒരു ദിവസം',\n dd : '%d ദിവസം',\n M : 'ഒരു മാസം',\n MM : '%d മാസം',\n y : 'ഒരു വർഷം',\n yy : '%d വർഷം'\n },\n meridiemParse: /രാത്രി|രാവിലെ|ഉച്ച കഴിഞ്ഞ്|വൈകുന്നേരം|രാത്രി/i,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if ((meridiem === 'രാത്രി' && hour >= 4) ||\n meridiem === 'ഉച്ച കഴിഞ്ഞ്' ||\n meridiem === 'വൈകുന്നേരം') {\n return hour + 12;\n } else {\n return hour;\n }\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'രാത്രി';\n } else if (hour < 12) {\n return 'രാവിലെ';\n } else if (hour < 17) {\n return 'ഉച്ച കഴിഞ്ഞ്';\n } else if (hour < 20) {\n return 'വൈകുന്നേരം';\n } else {\n return 'രാത്രി';\n }\n }\n });\n\n return ml;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var mk = moment.defineLocale('mk', {\n months : 'јануари_февруари_март_април_мај_јуни_јули_август_септември_октомври_ноември_декември'.split('_'),\n monthsShort : 'јан_фев_мар_апр_мај_јун_јул_авг_сеп_окт_ное_дек'.split('_'),\n weekdays : 'недела_понеделник_вторник_среда_четврток_петок_сабота'.split('_'),\n weekdaysShort : 'нед_пон_вто_сре_чет_пет_саб'.split('_'),\n weekdaysMin : 'нe_пo_вт_ср_че_пе_сa'.split('_'),\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'D.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY H:mm',\n LLLL : 'dddd, D MMMM YYYY H:mm'\n },\n calendar : {\n sameDay : '[Денес во] LT',\n nextDay : '[Утре во] LT',\n nextWeek : '[Во] dddd [во] LT',\n lastDay : '[Вчера во] LT',\n lastWeek : function () {\n switch (this.day()) {\n case 0:\n case 3:\n case 6:\n return '[Изминатата] dddd [во] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[Изминатиот] dddd [во] LT';\n }\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'после %s',\n past : 'пред %s',\n s : 'неколку секунди',\n ss : '%d секунди',\n m : 'минута',\n mm : '%d минути',\n h : 'час',\n hh : '%d часа',\n d : 'ден',\n dd : '%d дена',\n M : 'месец',\n MM : '%d месеци',\n y : 'година',\n yy : '%d години'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ев|ен|ти|ви|ри|ми)/,\n ordinal : function (number) {\n var lastDigit = number % 10,\n last2Digits = number % 100;\n if (number === 0) {\n return number + '-ев';\n } else if (last2Digits === 0) {\n return number + '-ен';\n } else if (last2Digits > 10 && last2Digits < 20) {\n return number + '-ти';\n } else if (lastDigit === 1) {\n return number + '-ви';\n } else if (lastDigit === 2) {\n return number + '-ри';\n } else if (lastDigit === 7 || lastDigit === 8) {\n return number + '-ми';\n } else {\n return number + '-ти';\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return mk;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var mi = moment.defineLocale('mi', {\n months: 'Kohi-tāte_Hui-tanguru_Poutū-te-rangi_Paenga-whāwhā_Haratua_Pipiri_Hōngoingoi_Here-turi-kōkā_Mahuru_Whiringa-ā-nuku_Whiringa-ā-rangi_Hakihea'.split('_'),\n monthsShort: 'Kohi_Hui_Pou_Pae_Hara_Pipi_Hōngoi_Here_Mahu_Whi-nu_Whi-ra_Haki'.split('_'),\n monthsRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,\n monthsStrictRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,\n monthsShortRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,\n monthsShortStrictRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,2}/i,\n weekdays: 'Rātapu_Mane_Tūrei_Wenerei_Tāite_Paraire_Hātarei'.split('_'),\n weekdaysShort: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'),\n weekdaysMin: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY [i] HH:mm',\n LLLL: 'dddd, D MMMM YYYY [i] HH:mm'\n },\n calendar: {\n sameDay: '[i teie mahana, i] LT',\n nextDay: '[apopo i] LT',\n nextWeek: 'dddd [i] LT',\n lastDay: '[inanahi i] LT',\n lastWeek: 'dddd [whakamutunga i] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'i roto i %s',\n past: '%s i mua',\n s: 'te hēkona ruarua',\n ss: '%d hēkona',\n m: 'he meneti',\n mm: '%d meneti',\n h: 'te haora',\n hh: '%d haora',\n d: 'he ra',\n dd: '%d ra',\n M: 'he marama',\n MM: '%d marama',\n y: 'he tau',\n yy: '%d tau'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return mi;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var translator = {\n words: { //Different grammatical cases\n ss: ['sekund', 'sekunda', 'sekundi'],\n m: ['jedan minut', 'jednog minuta'],\n mm: ['minut', 'minuta', 'minuta'],\n h: ['jedan sat', 'jednog sata'],\n hh: ['sat', 'sata', 'sati'],\n dd: ['dan', 'dana', 'dana'],\n MM: ['mjesec', 'mjeseca', 'mjeseci'],\n yy: ['godina', 'godine', 'godina']\n },\n correctGrammaticalCase: function (number, wordKey) {\n return number === 1 ? wordKey[0] : (number >= 2 && number <= 4 ? wordKey[1] : wordKey[2]);\n },\n translate: function (number, withoutSuffix, key) {\n var wordKey = translator.words[key];\n if (key.length === 1) {\n return withoutSuffix ? wordKey[0] : wordKey[1];\n } else {\n return number + ' ' + translator.correctGrammaticalCase(number, wordKey);\n }\n }\n };\n\n var me = moment.defineLocale('me', {\n months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split('_'),\n monthsShort: 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split('_'),\n monthsParseExact : true,\n weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split('_'),\n weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact : true,\n longDateFormat: {\n LT: 'H:mm',\n LTS : 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd, D. MMMM YYYY H:mm'\n },\n calendar: {\n sameDay: '[danas u] LT',\n nextDay: '[sjutra u] LT',\n\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[u] [nedjelju] [u] LT';\n case 3:\n return '[u] [srijedu] [u] LT';\n case 6:\n return '[u] [subotu] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay : '[juče u] LT',\n lastWeek : function () {\n var lastWeekDays = [\n '[prošle] [nedjelje] [u] LT',\n '[prošlog] [ponedjeljka] [u] LT',\n '[prošlog] [utorka] [u] LT',\n '[prošle] [srijede] [u] LT',\n '[prošlog] [četvrtka] [u] LT',\n '[prošlog] [petka] [u] LT',\n '[prošle] [subote] [u] LT'\n ];\n return lastWeekDays[this.day()];\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'za %s',\n past : 'prije %s',\n s : 'nekoliko sekundi',\n ss : translator.translate,\n m : translator.translate,\n mm : translator.translate,\n h : translator.translate,\n hh : translator.translate,\n d : 'dan',\n dd : translator.translate,\n M : 'mjesec',\n MM : translator.translate,\n y : 'godinu',\n yy : translator.translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return me;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var units = {\n 'ss': 'sekundes_sekundēm_sekunde_sekundes'.split('_'),\n 'm': 'minūtes_minūtēm_minūte_minūtes'.split('_'),\n 'mm': 'minūtes_minūtēm_minūte_minūtes'.split('_'),\n 'h': 'stundas_stundām_stunda_stundas'.split('_'),\n 'hh': 'stundas_stundām_stunda_stundas'.split('_'),\n 'd': 'dienas_dienām_diena_dienas'.split('_'),\n 'dd': 'dienas_dienām_diena_dienas'.split('_'),\n 'M': 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'),\n 'MM': 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'),\n 'y': 'gada_gadiem_gads_gadi'.split('_'),\n 'yy': 'gada_gadiem_gads_gadi'.split('_')\n };\n /**\n * @param withoutSuffix boolean true = a length of time; false = before/after a period of time.\n */\n function format(forms, number, withoutSuffix) {\n if (withoutSuffix) {\n // E.g. \"21 minūte\", \"3 minūtes\".\n return number % 10 === 1 && number % 100 !== 11 ? forms[2] : forms[3];\n } else {\n // E.g. \"21 minūtes\" as in \"pēc 21 minūtes\".\n // E.g. \"3 minūtēm\" as in \"pēc 3 minūtēm\".\n return number % 10 === 1 && number % 100 !== 11 ? forms[0] : forms[1];\n }\n }\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n return number + ' ' + format(units[key], number, withoutSuffix);\n }\n function relativeTimeWithSingular(number, withoutSuffix, key) {\n return format(units[key], number, withoutSuffix);\n }\n function relativeSeconds(number, withoutSuffix) {\n return withoutSuffix ? 'dažas sekundes' : 'dažām sekundēm';\n }\n\n var lv = moment.defineLocale('lv', {\n months : 'janvāris_februāris_marts_aprīlis_maijs_jūnijs_jūlijs_augusts_septembris_oktobris_novembris_decembris'.split('_'),\n monthsShort : 'jan_feb_mar_apr_mai_jūn_jūl_aug_sep_okt_nov_dec'.split('_'),\n weekdays : 'svētdiena_pirmdiena_otrdiena_trešdiena_ceturtdiena_piektdiena_sestdiena'.split('_'),\n weekdaysShort : 'Sv_P_O_T_C_Pk_S'.split('_'),\n weekdaysMin : 'Sv_P_O_T_C_Pk_S'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY.',\n LL : 'YYYY. [gada] D. MMMM',\n LLL : 'YYYY. [gada] D. MMMM, HH:mm',\n LLLL : 'YYYY. [gada] D. MMMM, dddd, HH:mm'\n },\n calendar : {\n sameDay : '[Šodien pulksten] LT',\n nextDay : '[Rīt pulksten] LT',\n nextWeek : 'dddd [pulksten] LT',\n lastDay : '[Vakar pulksten] LT',\n lastWeek : '[Pagājušā] dddd [pulksten] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'pēc %s',\n past : 'pirms %s',\n s : relativeSeconds,\n ss : relativeTimeWithPlural,\n m : relativeTimeWithSingular,\n mm : relativeTimeWithPlural,\n h : relativeTimeWithSingular,\n hh : relativeTimeWithPlural,\n d : relativeTimeWithSingular,\n dd : relativeTimeWithPlural,\n M : relativeTimeWithSingular,\n MM : relativeTimeWithPlural,\n y : relativeTimeWithSingular,\n yy : relativeTimeWithPlural\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return lv;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var units = {\n 'ss' : 'sekundė_sekundžių_sekundes',\n 'm' : 'minutė_minutės_minutę',\n 'mm': 'minutės_minučių_minutes',\n 'h' : 'valanda_valandos_valandą',\n 'hh': 'valandos_valandų_valandas',\n 'd' : 'diena_dienos_dieną',\n 'dd': 'dienos_dienų_dienas',\n 'M' : 'mėnuo_mėnesio_mėnesį',\n 'MM': 'mėnesiai_mėnesių_mėnesius',\n 'y' : 'metai_metų_metus',\n 'yy': 'metai_metų_metus'\n };\n function translateSeconds(number, withoutSuffix, key, isFuture) {\n if (withoutSuffix) {\n return 'kelios sekundės';\n } else {\n return isFuture ? 'kelių sekundžių' : 'kelias sekundes';\n }\n }\n function translateSingular(number, withoutSuffix, key, isFuture) {\n return withoutSuffix ? forms(key)[0] : (isFuture ? forms(key)[1] : forms(key)[2]);\n }\n function special(number) {\n return number % 10 === 0 || (number > 10 && number < 20);\n }\n function forms(key) {\n return units[key].split('_');\n }\n function translate(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n if (number === 1) {\n return result + translateSingular(number, withoutSuffix, key[0], isFuture);\n } else if (withoutSuffix) {\n return result + (special(number) ? forms(key)[1] : forms(key)[0]);\n } else {\n if (isFuture) {\n return result + forms(key)[1];\n } else {\n return result + (special(number) ? forms(key)[1] : forms(key)[2]);\n }\n }\n }\n var lt = moment.defineLocale('lt', {\n months : {\n format: 'sausio_vasario_kovo_balandžio_gegužės_birželio_liepos_rugpjūčio_rugsėjo_spalio_lapkričio_gruodžio'.split('_'),\n standalone: 'sausis_vasaris_kovas_balandis_gegužė_birželis_liepa_rugpjūtis_rugsėjis_spalis_lapkritis_gruodis'.split('_'),\n isFormat: /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?|MMMM?(\\[[^\\[\\]]*\\]|\\s)+D[oD]?/\n },\n monthsShort : 'sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd'.split('_'),\n weekdays : {\n format: 'sekmadienį_pirmadienį_antradienį_trečiadienį_ketvirtadienį_penktadienį_šeštadienį'.split('_'),\n standalone: 'sekmadienis_pirmadienis_antradienis_trečiadienis_ketvirtadienis_penktadienis_šeštadienis'.split('_'),\n isFormat: /dddd HH:mm/\n },\n weekdaysShort : 'Sek_Pir_Ant_Tre_Ket_Pen_Šeš'.split('_'),\n weekdaysMin : 'S_P_A_T_K_Pn_Š'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY-MM-DD',\n LL : 'YYYY [m.] MMMM D [d.]',\n LLL : 'YYYY [m.] MMMM D [d.], HH:mm [val.]',\n LLLL : 'YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]',\n l : 'YYYY-MM-DD',\n ll : 'YYYY [m.] MMMM D [d.]',\n lll : 'YYYY [m.] MMMM D [d.], HH:mm [val.]',\n llll : 'YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]'\n },\n calendar : {\n sameDay : '[Šiandien] LT',\n nextDay : '[Rytoj] LT',\n nextWeek : 'dddd LT',\n lastDay : '[Vakar] LT',\n lastWeek : '[Praėjusį] dddd LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'po %s',\n past : 'prieš %s',\n s : translateSeconds,\n ss : translate,\n m : translateSingular,\n mm : translate,\n h : translateSingular,\n hh : translate,\n d : translateSingular,\n dd : translate,\n M : translateSingular,\n MM : translate,\n y : translateSingular,\n yy : translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-oji/,\n ordinal : function (number) {\n return number + '-oji';\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return lt;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var lo = moment.defineLocale('lo', {\n months : 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split('_'),\n monthsShort : 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split('_'),\n weekdays : 'ອາທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'),\n weekdaysShort : 'ທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'),\n weekdaysMin : 'ທ_ຈ_ອຄ_ພ_ພຫ_ສກ_ສ'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'ວັນdddd D MMMM YYYY HH:mm'\n },\n meridiemParse: /ຕອນເຊົ້າ|ຕອນແລງ/,\n isPM: function (input) {\n return input === 'ຕອນແລງ';\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ຕອນເຊົ້າ';\n } else {\n return 'ຕອນແລງ';\n }\n },\n calendar : {\n sameDay : '[ມື້ນີ້ເວລາ] LT',\n nextDay : '[ມື້ອື່ນເວລາ] LT',\n nextWeek : '[ວັນ]dddd[ໜ້າເວລາ] LT',\n lastDay : '[ມື້ວານນີ້ເວລາ] LT',\n lastWeek : '[ວັນ]dddd[ແລ້ວນີ້ເວລາ] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'ອີກ %s',\n past : '%sຜ່ານມາ',\n s : 'ບໍ່ເທົ່າໃດວິນາທີ',\n ss : '%d ວິນາທີ' ,\n m : '1 ນາທີ',\n mm : '%d ນາທີ',\n h : '1 ຊົ່ວໂມງ',\n hh : '%d ຊົ່ວໂມງ',\n d : '1 ມື້',\n dd : '%d ມື້',\n M : '1 ເດືອນ',\n MM : '%d ເດືອນ',\n y : '1 ປີ',\n yy : '%d ປີ'\n },\n dayOfMonthOrdinalParse: /(ທີ່)\\d{1,2}/,\n ordinal : function (number) {\n return 'ທີ່' + number;\n }\n });\n\n return lo;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n 'm': ['eng Minutt', 'enger Minutt'],\n 'h': ['eng Stonn', 'enger Stonn'],\n 'd': ['een Dag', 'engem Dag'],\n 'M': ['ee Mount', 'engem Mount'],\n 'y': ['ee Joer', 'engem Joer']\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n function processFutureTime(string) {\n var number = string.substr(0, string.indexOf(' '));\n if (eifelerRegelAppliesToNumber(number)) {\n return 'a ' + string;\n }\n return 'an ' + string;\n }\n function processPastTime(string) {\n var number = string.substr(0, string.indexOf(' '));\n if (eifelerRegelAppliesToNumber(number)) {\n return 'viru ' + string;\n }\n return 'virun ' + string;\n }\n /**\n * Returns true if the word before the given number loses the '-n' ending.\n * e.g. 'an 10 Deeg' but 'a 5 Deeg'\n *\n * @param number {integer}\n * @returns {boolean}\n */\n function eifelerRegelAppliesToNumber(number) {\n number = parseInt(number, 10);\n if (isNaN(number)) {\n return false;\n }\n if (number < 0) {\n // Negative Number --> always true\n return true;\n } else if (number < 10) {\n // Only 1 digit\n if (4 <= number && number <= 7) {\n return true;\n }\n return false;\n } else if (number < 100) {\n // 2 digits\n var lastDigit = number % 10, firstDigit = number / 10;\n if (lastDigit === 0) {\n return eifelerRegelAppliesToNumber(firstDigit);\n }\n return eifelerRegelAppliesToNumber(lastDigit);\n } else if (number < 10000) {\n // 3 or 4 digits --> recursively check first digit\n while (number >= 10) {\n number = number / 10;\n }\n return eifelerRegelAppliesToNumber(number);\n } else {\n // Anything larger than 4 digits: recursively check first n-3 digits\n number = number / 1000;\n return eifelerRegelAppliesToNumber(number);\n }\n }\n\n var lb = moment.defineLocale('lb', {\n months: 'Januar_Februar_Mäerz_Abrëll_Mee_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),\n monthsShort: 'Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.'.split('_'),\n monthsParseExact : true,\n weekdays: 'Sonndeg_Méindeg_Dënschdeg_Mëttwoch_Donneschdeg_Freideg_Samschdeg'.split('_'),\n weekdaysShort: 'So._Mé._Dë._Më._Do._Fr._Sa.'.split('_'),\n weekdaysMin: 'So_Mé_Dë_Më_Do_Fr_Sa'.split('_'),\n weekdaysParseExact : true,\n longDateFormat: {\n LT: 'H:mm [Auer]',\n LTS: 'H:mm:ss [Auer]',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm [Auer]',\n LLLL: 'dddd, D. MMMM YYYY H:mm [Auer]'\n },\n calendar: {\n sameDay: '[Haut um] LT',\n sameElse: 'L',\n nextDay: '[Muer um] LT',\n nextWeek: 'dddd [um] LT',\n lastDay: '[Gëschter um] LT',\n lastWeek: function () {\n // Different date string for 'Dënschdeg' (Tuesday) and 'Donneschdeg' (Thursday) due to phonological rule\n switch (this.day()) {\n case 2:\n case 4:\n return '[Leschten] dddd [um] LT';\n default:\n return '[Leschte] dddd [um] LT';\n }\n }\n },\n relativeTime : {\n future : processFutureTime,\n past : processPastTime,\n s : 'e puer Sekonnen',\n ss : '%d Sekonnen',\n m : processRelativeTime,\n mm : '%d Minutten',\n h : processRelativeTime,\n hh : '%d Stonnen',\n d : processRelativeTime,\n dd : '%d Deeg',\n M : processRelativeTime,\n MM : '%d Méint',\n y : processRelativeTime,\n yy : '%d Joer'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return lb;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var suffixes = {\n 0: '-чү',\n 1: '-чи',\n 2: '-чи',\n 3: '-чү',\n 4: '-чү',\n 5: '-чи',\n 6: '-чы',\n 7: '-чи',\n 8: '-чи',\n 9: '-чу',\n 10: '-чу',\n 20: '-чы',\n 30: '-чу',\n 40: '-чы',\n 50: '-чү',\n 60: '-чы',\n 70: '-чи',\n 80: '-чи',\n 90: '-чу',\n 100: '-чү'\n };\n\n var ky = moment.defineLocale('ky', {\n months : 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split('_'),\n monthsShort : 'янв_фев_март_апр_май_июнь_июль_авг_сен_окт_ноя_дек'.split('_'),\n weekdays : 'Жекшемби_Дүйшөмбү_Шейшемби_Шаршемби_Бейшемби_Жума_Ишемби'.split('_'),\n weekdaysShort : 'Жек_Дүй_Шей_Шар_Бей_Жум_Ише'.split('_'),\n weekdaysMin : 'Жк_Дй_Шй_Шр_Бй_Жм_Иш'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Бүгүн саат] LT',\n nextDay : '[Эртең саат] LT',\n nextWeek : 'dddd [саат] LT',\n lastDay : '[Кече саат] LT',\n lastWeek : '[Өткен аптанын] dddd [күнү] [саат] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s ичинде',\n past : '%s мурун',\n s : 'бирнече секунд',\n ss : '%d секунд',\n m : 'бир мүнөт',\n mm : '%d мүнөт',\n h : 'бир саат',\n hh : '%d саат',\n d : 'бир күн',\n dd : '%d күн',\n M : 'бир ай',\n MM : '%d ай',\n y : 'бир жыл',\n yy : '%d жыл'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(чи|чы|чү|чу)/,\n ordinal : function (number) {\n var a = number % 10,\n b = number >= 100 ? 100 : null;\n return number + (suffixes[number] || suffixes[a] || suffixes[b]);\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return ky;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var ko = moment.defineLocale('ko', {\n months : '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split('_'),\n monthsShort : '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split('_'),\n weekdays : '일요일_월요일_화요일_수요일_목요일_금요일_토요일'.split('_'),\n weekdaysShort : '일_월_화_수_목_금_토'.split('_'),\n weekdaysMin : '일_월_화_수_목_금_토'.split('_'),\n longDateFormat : {\n LT : 'A h:mm',\n LTS : 'A h:mm:ss',\n L : 'YYYY.MM.DD.',\n LL : 'YYYY년 MMMM D일',\n LLL : 'YYYY년 MMMM D일 A h:mm',\n LLLL : 'YYYY년 MMMM D일 dddd A h:mm',\n l : 'YYYY.MM.DD.',\n ll : 'YYYY년 MMMM D일',\n lll : 'YYYY년 MMMM D일 A h:mm',\n llll : 'YYYY년 MMMM D일 dddd A h:mm'\n },\n calendar : {\n sameDay : '오늘 LT',\n nextDay : '내일 LT',\n nextWeek : 'dddd LT',\n lastDay : '어제 LT',\n lastWeek : '지난주 dddd LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s 후',\n past : '%s 전',\n s : '몇 초',\n ss : '%d초',\n m : '1분',\n mm : '%d분',\n h : '한 시간',\n hh : '%d시간',\n d : '하루',\n dd : '%d일',\n M : '한 달',\n MM : '%d달',\n y : '일 년',\n yy : '%d년'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}(일|월|주)/,\n ordinal : function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '일';\n case 'M':\n return number + '월';\n case 'w':\n case 'W':\n return number + '주';\n default:\n return number;\n }\n },\n meridiemParse : /오전|오후/,\n isPM : function (token) {\n return token === '오후';\n },\n meridiem : function (hour, minute, isUpper) {\n return hour < 12 ? '오전' : '오후';\n }\n });\n\n return ko;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '೧',\n '2': '೨',\n '3': '೩',\n '4': '೪',\n '5': '೫',\n '6': '೬',\n '7': '೭',\n '8': '೮',\n '9': '೯',\n '0': '೦'\n },\n numberMap = {\n '೧': '1',\n '೨': '2',\n '೩': '3',\n '೪': '4',\n '೫': '5',\n '೬': '6',\n '೭': '7',\n '೮': '8',\n '೯': '9',\n '೦': '0'\n };\n\n var kn = moment.defineLocale('kn', {\n months : 'ಜನವರಿ_ಫೆಬ್ರವರಿ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂಬರ್_ಅಕ್ಟೋಬರ್_ನವೆಂಬರ್_ಡಿಸೆಂಬರ್'.split('_'),\n monthsShort : 'ಜನ_ಫೆಬ್ರ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂ_ಅಕ್ಟೋ_ನವೆಂ_ಡಿಸೆಂ'.split('_'),\n monthsParseExact: true,\n weekdays : 'ಭಾನುವಾರ_ಸೋಮವಾರ_ಮಂಗಳವಾರ_ಬುಧವಾರ_ಗುರುವಾರ_ಶುಕ್ರವಾರ_ಶನಿವಾರ'.split('_'),\n weekdaysShort : 'ಭಾನು_ಸೋಮ_ಮಂಗಳ_ಬುಧ_ಗುರು_ಶುಕ್ರ_ಶನಿ'.split('_'),\n weekdaysMin : 'ಭಾ_ಸೋ_ಮಂ_ಬು_ಗು_ಶು_ಶ'.split('_'),\n longDateFormat : {\n LT : 'A h:mm',\n LTS : 'A h:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, A h:mm',\n LLLL : 'dddd, D MMMM YYYY, A h:mm'\n },\n calendar : {\n sameDay : '[ಇಂದು] LT',\n nextDay : '[ನಾಳೆ] LT',\n nextWeek : 'dddd, LT',\n lastDay : '[ನಿನ್ನೆ] LT',\n lastWeek : '[ಕೊನೆಯ] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s ನಂತರ',\n past : '%s ಹಿಂದೆ',\n s : 'ಕೆಲವು ಕ್ಷಣಗಳು',\n ss : '%d ಸೆಕೆಂಡುಗಳು',\n m : 'ಒಂದು ನಿಮಿಷ',\n mm : '%d ನಿಮಿಷ',\n h : 'ಒಂದು ಗಂಟೆ',\n hh : '%d ಗಂಟೆ',\n d : 'ಒಂದು ದಿನ',\n dd : '%d ದಿನ',\n M : 'ಒಂದು ತಿಂಗಳು',\n MM : '%d ತಿಂಗಳು',\n y : 'ಒಂದು ವರ್ಷ',\n yy : '%d ವರ್ಷ'\n },\n preparse: function (string) {\n return string.replace(/[೧೨೩೪೫೬೭೮೯೦]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /ರಾತ್ರಿ|ಬೆಳಿಗ್ಗೆ|ಮಧ್ಯಾಹ್ನ|ಸಂಜೆ/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'ರಾತ್ರಿ') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'ಬೆಳಿಗ್ಗೆ') {\n return hour;\n } else if (meridiem === 'ಮಧ್ಯಾಹ್ನ') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'ಸಂಜೆ') {\n return hour + 12;\n }\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ರಾತ್ರಿ';\n } else if (hour < 10) {\n return 'ಬೆಳಿಗ್ಗೆ';\n } else if (hour < 17) {\n return 'ಮಧ್ಯಾಹ್ನ';\n } else if (hour < 20) {\n return 'ಸಂಜೆ';\n } else {\n return 'ರಾತ್ರಿ';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ನೇ)/,\n ordinal : function (number) {\n return number + 'ನೇ';\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return kn;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '១',\n '2': '២',\n '3': '៣',\n '4': '៤',\n '5': '៥',\n '6': '៦',\n '7': '៧',\n '8': '៨',\n '9': '៩',\n '0': '០'\n }, numberMap = {\n '១': '1',\n '២': '2',\n '៣': '3',\n '៤': '4',\n '៥': '5',\n '៦': '6',\n '៧': '7',\n '៨': '8',\n '៩': '9',\n '០': '0'\n };\n\n var km = moment.defineLocale('km', {\n months: 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split(\n '_'\n ),\n monthsShort: 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split(\n '_'\n ),\n weekdays: 'អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍'.split('_'),\n weekdaysShort: 'អា_ច_អ_ព_ព្រ_សុ_ស'.split('_'),\n weekdaysMin: 'អា_ច_អ_ព_ព្រ_សុ_ស'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n meridiemParse: /ព្រឹក|ល្ងាច/,\n isPM: function (input) {\n return input === 'ល្ងាច';\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ព្រឹក';\n } else {\n return 'ល្ងាច';\n }\n },\n calendar: {\n sameDay: '[ថ្ងៃនេះ ម៉ោង] LT',\n nextDay: '[ស្អែក ម៉ោង] LT',\n nextWeek: 'dddd [ម៉ោង] LT',\n lastDay: '[ម្សិលមិញ ម៉ោង] LT',\n lastWeek: 'dddd [សប្តាហ៍មុន] [ម៉ោង] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%sទៀត',\n past: '%sមុន',\n s: 'ប៉ុន្មានវិនាទី',\n ss: '%d វិនាទី',\n m: 'មួយនាទី',\n mm: '%d នាទី',\n h: 'មួយម៉ោង',\n hh: '%d ម៉ោង',\n d: 'មួយថ្ងៃ',\n dd: '%d ថ្ងៃ',\n M: 'មួយខែ',\n MM: '%d ខែ',\n y: 'មួយឆ្នាំ',\n yy: '%d ឆ្នាំ'\n },\n dayOfMonthOrdinalParse : /ទី\\d{1,2}/,\n ordinal : 'ទី%d',\n preparse: function (string) {\n return string.replace(/[១២៣៤៥៦៧៨៩០]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return km;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var suffixes = {\n 0: '-ші',\n 1: '-ші',\n 2: '-ші',\n 3: '-ші',\n 4: '-ші',\n 5: '-ші',\n 6: '-шы',\n 7: '-ші',\n 8: '-ші',\n 9: '-шы',\n 10: '-шы',\n 20: '-шы',\n 30: '-шы',\n 40: '-шы',\n 50: '-ші',\n 60: '-шы',\n 70: '-ші',\n 80: '-ші',\n 90: '-шы',\n 100: '-ші'\n };\n\n var kk = moment.defineLocale('kk', {\n months : 'қаңтар_ақпан_наурыз_сәуір_мамыр_маусым_шілде_тамыз_қыркүйек_қазан_қараша_желтоқсан'.split('_'),\n monthsShort : 'қаң_ақп_нау_сәу_мам_мау_шіл_там_қыр_қаз_қар_жел'.split('_'),\n weekdays : 'жексенбі_дүйсенбі_сейсенбі_сәрсенбі_бейсенбі_жұма_сенбі'.split('_'),\n weekdaysShort : 'жек_дүй_сей_сәр_бей_жұм_сен'.split('_'),\n weekdaysMin : 'жк_дй_сй_ср_бй_жм_сн'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Бүгін сағат] LT',\n nextDay : '[Ертең сағат] LT',\n nextWeek : 'dddd [сағат] LT',\n lastDay : '[Кеше сағат] LT',\n lastWeek : '[Өткен аптаның] dddd [сағат] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s ішінде',\n past : '%s бұрын',\n s : 'бірнеше секунд',\n ss : '%d секунд',\n m : 'бір минут',\n mm : '%d минут',\n h : 'бір сағат',\n hh : '%d сағат',\n d : 'бір күн',\n dd : '%d күн',\n M : 'бір ай',\n MM : '%d ай',\n y : 'бір жыл',\n yy : '%d жыл'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ші|шы)/,\n ordinal : function (number) {\n var a = number % 10,\n b = number >= 100 ? 100 : null;\n return number + (suffixes[number] || suffixes[a] || suffixes[b]);\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return kk;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var ka = moment.defineLocale('ka', {\n months : {\n standalone: 'იანვარი_თებერვალი_მარტი_აპრილი_მაისი_ივნისი_ივლისი_აგვისტო_სექტემბერი_ოქტომბერი_ნოემბერი_დეკემბერი'.split('_'),\n format: 'იანვარს_თებერვალს_მარტს_აპრილის_მაისს_ივნისს_ივლისს_აგვისტს_სექტემბერს_ოქტომბერს_ნოემბერს_დეკემბერს'.split('_')\n },\n monthsShort : 'იან_თებ_მარ_აპრ_მაი_ივნ_ივლ_აგვ_სექ_ოქტ_ნოე_დეკ'.split('_'),\n weekdays : {\n standalone: 'კვირა_ორშაბათი_სამშაბათი_ოთხშაბათი_ხუთშაბათი_პარასკევი_შაბათი'.split('_'),\n format: 'კვირას_ორშაბათს_სამშაბათს_ოთხშაბათს_ხუთშაბათს_პარასკევს_შაბათს'.split('_'),\n isFormat: /(წინა|შემდეგ)/\n },\n weekdaysShort : 'კვი_ორშ_სამ_ოთხ_ხუთ_პარ_შაბ'.split('_'),\n weekdaysMin : 'კვ_ორ_სა_ოთ_ხუ_პა_შა'.split('_'),\n longDateFormat : {\n LT : 'h:mm A',\n LTS : 'h:mm:ss A',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY h:mm A',\n LLLL : 'dddd, D MMMM YYYY h:mm A'\n },\n calendar : {\n sameDay : '[დღეს] LT[-ზე]',\n nextDay : '[ხვალ] LT[-ზე]',\n lastDay : '[გუშინ] LT[-ზე]',\n nextWeek : '[შემდეგ] dddd LT[-ზე]',\n lastWeek : '[წინა] dddd LT-ზე',\n sameElse : 'L'\n },\n relativeTime : {\n future : function (s) {\n return (/(წამი|წუთი|საათი|წელი)/).test(s) ?\n s.replace(/ი$/, 'ში') :\n s + 'ში';\n },\n past : function (s) {\n if ((/(წამი|წუთი|საათი|დღე|თვე)/).test(s)) {\n return s.replace(/(ი|ე)$/, 'ის წინ');\n }\n if ((/წელი/).test(s)) {\n return s.replace(/წელი$/, 'წლის წინ');\n }\n },\n s : 'რამდენიმე წამი',\n ss : '%d წამი',\n m : 'წუთი',\n mm : '%d წუთი',\n h : 'საათი',\n hh : '%d საათი',\n d : 'დღე',\n dd : '%d დღე',\n M : 'თვე',\n MM : '%d თვე',\n y : 'წელი',\n yy : '%d წელი'\n },\n dayOfMonthOrdinalParse: /0|1-ლი|მე-\\d{1,2}|\\d{1,2}-ე/,\n ordinal : function (number) {\n if (number === 0) {\n return number;\n }\n if (number === 1) {\n return number + '-ლი';\n }\n if ((number < 20) || (number <= 100 && (number % 20 === 0)) || (number % 100 === 0)) {\n return 'მე-' + number;\n }\n return number + '-ე';\n },\n week : {\n dow : 1,\n doy : 7\n }\n });\n\n return ka;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var jv = moment.defineLocale('jv', {\n months : 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember'.split('_'),\n monthsShort : 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des'.split('_'),\n weekdays : 'Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu'.split('_'),\n weekdaysShort : 'Min_Sen_Sel_Reb_Kem_Jem_Sep'.split('_'),\n weekdaysMin : 'Mg_Sn_Sl_Rb_Km_Jm_Sp'.split('_'),\n longDateFormat : {\n LT : 'HH.mm',\n LTS : 'HH.mm.ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY [pukul] HH.mm',\n LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm'\n },\n meridiemParse: /enjing|siyang|sonten|ndalu/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'enjing') {\n return hour;\n } else if (meridiem === 'siyang') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'sonten' || meridiem === 'ndalu') {\n return hour + 12;\n }\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'enjing';\n } else if (hours < 15) {\n return 'siyang';\n } else if (hours < 19) {\n return 'sonten';\n } else {\n return 'ndalu';\n }\n },\n calendar : {\n sameDay : '[Dinten puniko pukul] LT',\n nextDay : '[Mbenjang pukul] LT',\n nextWeek : 'dddd [pukul] LT',\n lastDay : '[Kala wingi pukul] LT',\n lastWeek : 'dddd [kepengker pukul] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'wonten ing %s',\n past : '%s ingkang kepengker',\n s : 'sawetawis detik',\n ss : '%d detik',\n m : 'setunggal menit',\n mm : '%d menit',\n h : 'setunggal jam',\n hh : '%d jam',\n d : 'sedinten',\n dd : '%d dinten',\n M : 'sewulan',\n MM : '%d wulan',\n y : 'setaun',\n yy : '%d taun'\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return jv;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var ja = moment.defineLocale('ja', {\n months : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n monthsShort : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n weekdays : '日曜日_月曜日_火曜日_水曜日_木曜日_金曜日_土曜日'.split('_'),\n weekdaysShort : '日_月_火_水_木_金_土'.split('_'),\n weekdaysMin : '日_月_火_水_木_金_土'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY/MM/DD',\n LL : 'YYYY年M月D日',\n LLL : 'YYYY年M月D日 HH:mm',\n LLLL : 'YYYY年M月D日 dddd HH:mm',\n l : 'YYYY/MM/DD',\n ll : 'YYYY年M月D日',\n lll : 'YYYY年M月D日 HH:mm',\n llll : 'YYYY年M月D日(ddd) HH:mm'\n },\n meridiemParse: /午前|午後/i,\n isPM : function (input) {\n return input === '午後';\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return '午前';\n } else {\n return '午後';\n }\n },\n calendar : {\n sameDay : '[今日] LT',\n nextDay : '[明日] LT',\n nextWeek : function (now) {\n if (now.week() < this.week()) {\n return '[来週]dddd LT';\n } else {\n return 'dddd LT';\n }\n },\n lastDay : '[昨日] LT',\n lastWeek : function (now) {\n if (this.week() < now.week()) {\n return '[先週]dddd LT';\n } else {\n return 'dddd LT';\n }\n },\n sameElse : 'L'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}日/,\n ordinal : function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '日';\n default:\n return number;\n }\n },\n relativeTime : {\n future : '%s後',\n past : '%s前',\n s : '数秒',\n ss : '%d秒',\n m : '1分',\n mm : '%d分',\n h : '1時間',\n hh : '%d時間',\n d : '1日',\n dd : '%d日',\n M : '1ヶ月',\n MM : '%dヶ月',\n y : '1年',\n yy : '%d年'\n }\n });\n\n return ja;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var it = moment.defineLocale('it', {\n months : 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split('_'),\n monthsShort : 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'),\n weekdays : 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split('_'),\n weekdaysShort : 'dom_lun_mar_mer_gio_ven_sab'.split('_'),\n weekdaysMin : 'do_lu_ma_me_gi_ve_sa'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[Oggi alle] LT',\n nextDay: '[Domani alle] LT',\n nextWeek: 'dddd [alle] LT',\n lastDay: '[Ieri alle] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[la scorsa] dddd [alle] LT';\n default:\n return '[lo scorso] dddd [alle] LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : function (s) {\n return ((/^[0-9].+$/).test(s) ? 'tra' : 'in') + ' ' + s;\n },\n past : '%s fa',\n s : 'alcuni secondi',\n ss : '%d secondi',\n m : 'un minuto',\n mm : '%d minuti',\n h : 'un\\'ora',\n hh : '%d ore',\n d : 'un giorno',\n dd : '%d giorni',\n M : 'un mese',\n MM : '%d mesi',\n y : 'un anno',\n yy : '%d anni'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}º/,\n ordinal: '%dº',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return it;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function plural(n) {\n if (n % 100 === 11) {\n return true;\n } else if (n % 10 === 1) {\n return false;\n }\n return true;\n }\n function translate(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n switch (key) {\n case 's':\n return withoutSuffix || isFuture ? 'nokkrar sekúndur' : 'nokkrum sekúndum';\n case 'ss':\n if (plural(number)) {\n return result + (withoutSuffix || isFuture ? 'sekúndur' : 'sekúndum');\n }\n return result + 'sekúnda';\n case 'm':\n return withoutSuffix ? 'mínúta' : 'mínútu';\n case 'mm':\n if (plural(number)) {\n return result + (withoutSuffix || isFuture ? 'mínútur' : 'mínútum');\n } else if (withoutSuffix) {\n return result + 'mínúta';\n }\n return result + 'mínútu';\n case 'hh':\n if (plural(number)) {\n return result + (withoutSuffix || isFuture ? 'klukkustundir' : 'klukkustundum');\n }\n return result + 'klukkustund';\n case 'd':\n if (withoutSuffix) {\n return 'dagur';\n }\n return isFuture ? 'dag' : 'degi';\n case 'dd':\n if (plural(number)) {\n if (withoutSuffix) {\n return result + 'dagar';\n }\n return result + (isFuture ? 'daga' : 'dögum');\n } else if (withoutSuffix) {\n return result + 'dagur';\n }\n return result + (isFuture ? 'dag' : 'degi');\n case 'M':\n if (withoutSuffix) {\n return 'mánuður';\n }\n return isFuture ? 'mánuð' : 'mánuði';\n case 'MM':\n if (plural(number)) {\n if (withoutSuffix) {\n return result + 'mánuðir';\n }\n return result + (isFuture ? 'mánuði' : 'mánuðum');\n } else if (withoutSuffix) {\n return result + 'mánuður';\n }\n return result + (isFuture ? 'mánuð' : 'mánuði');\n case 'y':\n return withoutSuffix || isFuture ? 'ár' : 'ári';\n case 'yy':\n if (plural(number)) {\n return result + (withoutSuffix || isFuture ? 'ár' : 'árum');\n }\n return result + (withoutSuffix || isFuture ? 'ár' : 'ári');\n }\n }\n\n var is = moment.defineLocale('is', {\n months : 'janúar_febrúar_mars_apríl_maí_júní_júlí_ágúst_september_október_nóvember_desember'.split('_'),\n monthsShort : 'jan_feb_mar_apr_maí_jún_júl_ágú_sep_okt_nóv_des'.split('_'),\n weekdays : 'sunnudagur_mánudagur_þriðjudagur_miðvikudagur_fimmtudagur_föstudagur_laugardagur'.split('_'),\n weekdaysShort : 'sun_mán_þri_mið_fim_fös_lau'.split('_'),\n weekdaysMin : 'Su_Má_Þr_Mi_Fi_Fö_La'.split('_'),\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY [kl.] H:mm',\n LLLL : 'dddd, D. MMMM YYYY [kl.] H:mm'\n },\n calendar : {\n sameDay : '[í dag kl.] LT',\n nextDay : '[á morgun kl.] LT',\n nextWeek : 'dddd [kl.] LT',\n lastDay : '[í gær kl.] LT',\n lastWeek : '[síðasta] dddd [kl.] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'eftir %s',\n past : 'fyrir %s síðan',\n s : translate,\n ss : translate,\n m : translate,\n mm : translate,\n h : 'klukkustund',\n hh : translate,\n d : translate,\n dd : translate,\n M : translate,\n MM : translate,\n y : translate,\n yy : translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return is;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var id = moment.defineLocale('id', {\n months : 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember'.split('_'),\n monthsShort : 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Agt_Sep_Okt_Nov_Des'.split('_'),\n weekdays : 'Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu'.split('_'),\n weekdaysShort : 'Min_Sen_Sel_Rab_Kam_Jum_Sab'.split('_'),\n weekdaysMin : 'Mg_Sn_Sl_Rb_Km_Jm_Sb'.split('_'),\n longDateFormat : {\n LT : 'HH.mm',\n LTS : 'HH.mm.ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY [pukul] HH.mm',\n LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm'\n },\n meridiemParse: /pagi|siang|sore|malam/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'pagi') {\n return hour;\n } else if (meridiem === 'siang') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'sore' || meridiem === 'malam') {\n return hour + 12;\n }\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'pagi';\n } else if (hours < 15) {\n return 'siang';\n } else if (hours < 19) {\n return 'sore';\n } else {\n return 'malam';\n }\n },\n calendar : {\n sameDay : '[Hari ini pukul] LT',\n nextDay : '[Besok pukul] LT',\n nextWeek : 'dddd [pukul] LT',\n lastDay : '[Kemarin pukul] LT',\n lastWeek : 'dddd [lalu pukul] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'dalam %s',\n past : '%s yang lalu',\n s : 'beberapa detik',\n ss : '%d detik',\n m : 'semenit',\n mm : '%d menit',\n h : 'sejam',\n hh : '%d jam',\n d : 'sehari',\n dd : '%d hari',\n M : 'sebulan',\n MM : '%d bulan',\n y : 'setahun',\n yy : '%d tahun'\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return id;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var hyAm = moment.defineLocale('hy-am', {\n months : {\n format: 'հունվարի_փետրվարի_մարտի_ապրիլի_մայիսի_հունիսի_հուլիսի_օգոստոսի_սեպտեմբերի_հոկտեմբերի_նոյեմբերի_դեկտեմբերի'.split('_'),\n standalone: 'հունվար_փետրվար_մարտ_ապրիլ_մայիս_հունիս_հուլիս_օգոստոս_սեպտեմբեր_հոկտեմբեր_նոյեմբեր_դեկտեմբեր'.split('_')\n },\n monthsShort : 'հնվ_փտր_մրտ_ապր_մյս_հնս_հլս_օգս_սպտ_հկտ_նմբ_դկտ'.split('_'),\n weekdays : 'կիրակի_երկուշաբթի_երեքշաբթի_չորեքշաբթի_հինգշաբթի_ուրբաթ_շաբաթ'.split('_'),\n weekdaysShort : 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'),\n weekdaysMin : 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY թ.',\n LLL : 'D MMMM YYYY թ., HH:mm',\n LLLL : 'dddd, D MMMM YYYY թ., HH:mm'\n },\n calendar : {\n sameDay: '[այսօր] LT',\n nextDay: '[վաղը] LT',\n lastDay: '[երեկ] LT',\n nextWeek: function () {\n return 'dddd [օրը ժամը] LT';\n },\n lastWeek: function () {\n return '[անցած] dddd [օրը ժամը] LT';\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : '%s հետո',\n past : '%s առաջ',\n s : 'մի քանի վայրկյան',\n ss : '%d վայրկյան',\n m : 'րոպե',\n mm : '%d րոպե',\n h : 'ժամ',\n hh : '%d ժամ',\n d : 'օր',\n dd : '%d օր',\n M : 'ամիս',\n MM : '%d ամիս',\n y : 'տարի',\n yy : '%d տարի'\n },\n meridiemParse: /գիշերվա|առավոտվա|ցերեկվա|երեկոյան/,\n isPM: function (input) {\n return /^(ցերեկվա|երեկոյան)$/.test(input);\n },\n meridiem : function (hour) {\n if (hour < 4) {\n return 'գիշերվա';\n } else if (hour < 12) {\n return 'առավոտվա';\n } else if (hour < 17) {\n return 'ցերեկվա';\n } else {\n return 'երեկոյան';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}|\\d{1,2}-(ին|րդ)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'DDD':\n case 'w':\n case 'W':\n case 'DDDo':\n if (number === 1) {\n return number + '-ին';\n }\n return number + '-րդ';\n default:\n return number;\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return hyAm;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var weekEndings = 'vasárnap hétfőn kedden szerdán csütörtökön pénteken szombaton'.split(' ');\n function translate(number, withoutSuffix, key, isFuture) {\n var num = number;\n switch (key) {\n case 's':\n return (isFuture || withoutSuffix) ? 'néhány másodperc' : 'néhány másodperce';\n case 'ss':\n return num + (isFuture || withoutSuffix) ? ' másodperc' : ' másodperce';\n case 'm':\n return 'egy' + (isFuture || withoutSuffix ? ' perc' : ' perce');\n case 'mm':\n return num + (isFuture || withoutSuffix ? ' perc' : ' perce');\n case 'h':\n return 'egy' + (isFuture || withoutSuffix ? ' óra' : ' órája');\n case 'hh':\n return num + (isFuture || withoutSuffix ? ' óra' : ' órája');\n case 'd':\n return 'egy' + (isFuture || withoutSuffix ? ' nap' : ' napja');\n case 'dd':\n return num + (isFuture || withoutSuffix ? ' nap' : ' napja');\n case 'M':\n return 'egy' + (isFuture || withoutSuffix ? ' hónap' : ' hónapja');\n case 'MM':\n return num + (isFuture || withoutSuffix ? ' hónap' : ' hónapja');\n case 'y':\n return 'egy' + (isFuture || withoutSuffix ? ' év' : ' éve');\n case 'yy':\n return num + (isFuture || withoutSuffix ? ' év' : ' éve');\n }\n return '';\n }\n function week(isFuture) {\n return (isFuture ? '' : '[múlt] ') + '[' + weekEndings[this.day()] + '] LT[-kor]';\n }\n\n var hu = moment.defineLocale('hu', {\n months : 'január_február_március_április_május_június_július_augusztus_szeptember_október_november_december'.split('_'),\n monthsShort : 'jan_feb_márc_ápr_máj_jún_júl_aug_szept_okt_nov_dec'.split('_'),\n weekdays : 'vasárnap_hétfő_kedd_szerda_csütörtök_péntek_szombat'.split('_'),\n weekdaysShort : 'vas_hét_kedd_sze_csüt_pén_szo'.split('_'),\n weekdaysMin : 'v_h_k_sze_cs_p_szo'.split('_'),\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'YYYY.MM.DD.',\n LL : 'YYYY. MMMM D.',\n LLL : 'YYYY. MMMM D. H:mm',\n LLLL : 'YYYY. MMMM D., dddd H:mm'\n },\n meridiemParse: /de|du/i,\n isPM: function (input) {\n return input.charAt(1).toLowerCase() === 'u';\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours < 12) {\n return isLower === true ? 'de' : 'DE';\n } else {\n return isLower === true ? 'du' : 'DU';\n }\n },\n calendar : {\n sameDay : '[ma] LT[-kor]',\n nextDay : '[holnap] LT[-kor]',\n nextWeek : function () {\n return week.call(this, true);\n },\n lastDay : '[tegnap] LT[-kor]',\n lastWeek : function () {\n return week.call(this, false);\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s múlva',\n past : '%s',\n s : translate,\n ss : translate,\n m : translate,\n mm : translate,\n h : translate,\n hh : translate,\n d : translate,\n dd : translate,\n M : translate,\n MM : translate,\n y : translate,\n yy : translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return hu;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function translate(number, withoutSuffix, key) {\n var result = number + ' ';\n switch (key) {\n case 'ss':\n if (number === 1) {\n result += 'sekunda';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sekunde';\n } else {\n result += 'sekundi';\n }\n return result;\n case 'm':\n return withoutSuffix ? 'jedna minuta' : 'jedne minute';\n case 'mm':\n if (number === 1) {\n result += 'minuta';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'minute';\n } else {\n result += 'minuta';\n }\n return result;\n case 'h':\n return withoutSuffix ? 'jedan sat' : 'jednog sata';\n case 'hh':\n if (number === 1) {\n result += 'sat';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sata';\n } else {\n result += 'sati';\n }\n return result;\n case 'dd':\n if (number === 1) {\n result += 'dan';\n } else {\n result += 'dana';\n }\n return result;\n case 'MM':\n if (number === 1) {\n result += 'mjesec';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'mjeseca';\n } else {\n result += 'mjeseci';\n }\n return result;\n case 'yy':\n if (number === 1) {\n result += 'godina';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'godine';\n } else {\n result += 'godina';\n }\n return result;\n }\n }\n\n var hr = moment.defineLocale('hr', {\n months : {\n format: 'siječnja_veljače_ožujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca'.split('_'),\n standalone: 'siječanj_veljača_ožujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac'.split('_')\n },\n monthsShort : 'sij._velj._ožu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.'.split('_'),\n monthsParseExact: true,\n weekdays : 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split('_'),\n weekdaysShort : 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n weekdaysMin : 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY H:mm',\n LLLL : 'dddd, D. MMMM YYYY H:mm'\n },\n calendar : {\n sameDay : '[danas u] LT',\n nextDay : '[sutra u] LT',\n nextWeek : function () {\n switch (this.day()) {\n case 0:\n return '[u] [nedjelju] [u] LT';\n case 3:\n return '[u] [srijedu] [u] LT';\n case 6:\n return '[u] [subotu] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay : '[jučer u] LT',\n lastWeek : function () {\n switch (this.day()) {\n case 0:\n case 3:\n return '[prošlu] dddd [u] LT';\n case 6:\n return '[prošle] [subote] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[prošli] dddd [u] LT';\n }\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'za %s',\n past : 'prije %s',\n s : 'par sekundi',\n ss : translate,\n m : translate,\n mm : translate,\n h : translate,\n hh : translate,\n d : 'dan',\n dd : translate,\n M : 'mjesec',\n MM : translate,\n y : 'godinu',\n yy : translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return hr;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '१',\n '2': '२',\n '3': '३',\n '4': '४',\n '5': '५',\n '6': '६',\n '7': '७',\n '8': '८',\n '9': '९',\n '0': '०'\n },\n numberMap = {\n '१': '1',\n '२': '2',\n '३': '3',\n '४': '4',\n '५': '5',\n '६': '6',\n '७': '7',\n '८': '8',\n '९': '9',\n '०': '0'\n };\n\n var hi = moment.defineLocale('hi', {\n months : 'जनवरी_फ़रवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितम्बर_अक्टूबर_नवम्बर_दिसम्बर'.split('_'),\n monthsShort : 'जन._फ़र._मार्च_अप्रै._मई_जून_जुल._अग._सित._अक्टू._नव._दिस.'.split('_'),\n monthsParseExact: true,\n weekdays : 'रविवार_सोमवार_मंगलवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'),\n weekdaysShort : 'रवि_सोम_मंगल_बुध_गुरू_शुक्र_शनि'.split('_'),\n weekdaysMin : 'र_सो_मं_बु_गु_शु_श'.split('_'),\n longDateFormat : {\n LT : 'A h:mm बजे',\n LTS : 'A h:mm:ss बजे',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, A h:mm बजे',\n LLLL : 'dddd, D MMMM YYYY, A h:mm बजे'\n },\n calendar : {\n sameDay : '[आज] LT',\n nextDay : '[कल] LT',\n nextWeek : 'dddd, LT',\n lastDay : '[कल] LT',\n lastWeek : '[पिछले] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s में',\n past : '%s पहले',\n s : 'कुछ ही क्षण',\n ss : '%d सेकंड',\n m : 'एक मिनट',\n mm : '%d मिनट',\n h : 'एक घंटा',\n hh : '%d घंटे',\n d : 'एक दिन',\n dd : '%d दिन',\n M : 'एक महीने',\n MM : '%d महीने',\n y : 'एक वर्ष',\n yy : '%d वर्ष'\n },\n preparse: function (string) {\n return string.replace(/[१२३४५६७८९०]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n // Hindi notation for meridiems are quite fuzzy in practice. While there exists\n // a rigid notion of a 'Pahar' it is not used as rigidly in modern Hindi.\n meridiemParse: /रात|सुबह|दोपहर|शाम/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'रात') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'सुबह') {\n return hour;\n } else if (meridiem === 'दोपहर') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'शाम') {\n return hour + 12;\n }\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'रात';\n } else if (hour < 10) {\n return 'सुबह';\n } else if (hour < 17) {\n return 'दोपहर';\n } else if (hour < 20) {\n return 'शाम';\n } else {\n return 'रात';\n }\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return hi;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var he = moment.defineLocale('he', {\n months : 'ינואר_פברואר_מרץ_אפריל_מאי_יוני_יולי_אוגוסט_ספטמבר_אוקטובר_נובמבר_דצמבר'.split('_'),\n monthsShort : 'ינו׳_פבר׳_מרץ_אפר׳_מאי_יוני_יולי_אוג׳_ספט׳_אוק׳_נוב׳_דצמ׳'.split('_'),\n weekdays : 'ראשון_שני_שלישי_רביעי_חמישי_שישי_שבת'.split('_'),\n weekdaysShort : 'א׳_ב׳_ג׳_ד׳_ה׳_ו׳_ש׳'.split('_'),\n weekdaysMin : 'א_ב_ג_ד_ה_ו_ש'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D [ב]MMMM YYYY',\n LLL : 'D [ב]MMMM YYYY HH:mm',\n LLLL : 'dddd, D [ב]MMMM YYYY HH:mm',\n l : 'D/M/YYYY',\n ll : 'D MMM YYYY',\n lll : 'D MMM YYYY HH:mm',\n llll : 'ddd, D MMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[היום ב־]LT',\n nextDay : '[מחר ב־]LT',\n nextWeek : 'dddd [בשעה] LT',\n lastDay : '[אתמול ב־]LT',\n lastWeek : '[ביום] dddd [האחרון בשעה] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'בעוד %s',\n past : 'לפני %s',\n s : 'מספר שניות',\n ss : '%d שניות',\n m : 'דקה',\n mm : '%d דקות',\n h : 'שעה',\n hh : function (number) {\n if (number === 2) {\n return 'שעתיים';\n }\n return number + ' שעות';\n },\n d : 'יום',\n dd : function (number) {\n if (number === 2) {\n return 'יומיים';\n }\n return number + ' ימים';\n },\n M : 'חודש',\n MM : function (number) {\n if (number === 2) {\n return 'חודשיים';\n }\n return number + ' חודשים';\n },\n y : 'שנה',\n yy : function (number) {\n if (number === 2) {\n return 'שנתיים';\n } else if (number % 10 === 0 && number !== 10) {\n return number + ' שנה';\n }\n return number + ' שנים';\n }\n },\n meridiemParse: /אחה\"צ|לפנה\"צ|אחרי הצהריים|לפני הצהריים|לפנות בוקר|בבוקר|בערב/i,\n isPM : function (input) {\n return /^(אחה\"צ|אחרי הצהריים|בערב)$/.test(input);\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 5) {\n return 'לפנות בוקר';\n } else if (hour < 10) {\n return 'בבוקר';\n } else if (hour < 12) {\n return isLower ? 'לפנה\"צ' : 'לפני הצהריים';\n } else if (hour < 18) {\n return isLower ? 'אחה\"צ' : 'אחרי הצהריים';\n } else {\n return 'בערב';\n }\n }\n });\n\n return he;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '૧',\n '2': '૨',\n '3': '૩',\n '4': '૪',\n '5': '૫',\n '6': '૬',\n '7': '૭',\n '8': '૮',\n '9': '૯',\n '0': '૦'\n },\n numberMap = {\n '૧': '1',\n '૨': '2',\n '૩': '3',\n '૪': '4',\n '૫': '5',\n '૬': '6',\n '૭': '7',\n '૮': '8',\n '૯': '9',\n '૦': '0'\n };\n\n var gu = moment.defineLocale('gu', {\n months: 'જાન્યુઆરી_ફેબ્રુઆરી_માર્ચ_એપ્રિલ_મે_જૂન_જુલાઈ_ઑગસ્ટ_સપ્ટેમ્બર_ઑક્ટ્બર_નવેમ્બર_ડિસેમ્બર'.split('_'),\n monthsShort: 'જાન્યુ._ફેબ્રુ._માર્ચ_એપ્રિ._મે_જૂન_જુલા._ઑગ._સપ્ટે._ઑક્ટ્._નવે._ડિસે.'.split('_'),\n monthsParseExact: true,\n weekdays: 'રવિવાર_સોમવાર_મંગળવાર_બુધ્વાર_ગુરુવાર_શુક્રવાર_શનિવાર'.split('_'),\n weekdaysShort: 'રવિ_સોમ_મંગળ_બુધ્_ગુરુ_શુક્ર_શનિ'.split('_'),\n weekdaysMin: 'ર_સો_મં_બુ_ગુ_શુ_શ'.split('_'),\n longDateFormat: {\n LT: 'A h:mm વાગ્યે',\n LTS: 'A h:mm:ss વાગ્યે',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm વાગ્યે',\n LLLL: 'dddd, D MMMM YYYY, A h:mm વાગ્યે'\n },\n calendar: {\n sameDay: '[આજ] LT',\n nextDay: '[કાલે] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[ગઇકાલે] LT',\n lastWeek: '[પાછલા] dddd, LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s મા',\n past: '%s પેહલા',\n s: 'અમુક પળો',\n ss: '%d સેકંડ',\n m: 'એક મિનિટ',\n mm: '%d મિનિટ',\n h: 'એક કલાક',\n hh: '%d કલાક',\n d: 'એક દિવસ',\n dd: '%d દિવસ',\n M: 'એક મહિનો',\n MM: '%d મહિનો',\n y: 'એક વર્ષ',\n yy: '%d વર્ષ'\n },\n preparse: function (string) {\n return string.replace(/[૧૨૩૪૫૬૭૮૯૦]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n // Gujarati notation for meridiems are quite fuzzy in practice. While there exists\n // a rigid notion of a 'Pahar' it is not used as rigidly in modern Gujarati.\n meridiemParse: /રાત|બપોર|સવાર|સાંજ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'રાત') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'સવાર') {\n return hour;\n } else if (meridiem === 'બપોર') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'સાંજ') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'રાત';\n } else if (hour < 10) {\n return 'સવાર';\n } else if (hour < 17) {\n return 'બપોર';\n } else if (hour < 20) {\n return 'સાંજ';\n } else {\n return 'રાત';\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return gu;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n 's': ['thodde secondanim', 'thodde second'],\n 'ss': [number + ' secondanim', number + ' second'],\n 'm': ['eka mintan', 'ek minute'],\n 'mm': [number + ' mintanim', number + ' mintam'],\n 'h': ['eka horan', 'ek hor'],\n 'hh': [number + ' horanim', number + ' horam'],\n 'd': ['eka disan', 'ek dis'],\n 'dd': [number + ' disanim', number + ' dis'],\n 'M': ['eka mhoinean', 'ek mhoino'],\n 'MM': [number + ' mhoineanim', number + ' mhoine'],\n 'y': ['eka vorsan', 'ek voros'],\n 'yy': [number + ' vorsanim', number + ' vorsam']\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n\n var gomLatn = moment.defineLocale('gom-latn', {\n months : 'Janer_Febrer_Mars_Abril_Mai_Jun_Julai_Agost_Setembr_Otubr_Novembr_Dezembr'.split('_'),\n monthsShort : 'Jan._Feb._Mars_Abr._Mai_Jun_Jul._Ago._Set._Otu._Nov._Dez.'.split('_'),\n monthsParseExact : true,\n weekdays : 'Aitar_Somar_Mongllar_Budvar_Brestar_Sukrar_Son\\'var'.split('_'),\n weekdaysShort : 'Ait._Som._Mon._Bud._Bre._Suk._Son.'.split('_'),\n weekdaysMin : 'Ai_Sm_Mo_Bu_Br_Su_Sn'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'A h:mm [vazta]',\n LTS : 'A h:mm:ss [vazta]',\n L : 'DD-MM-YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY A h:mm [vazta]',\n LLLL : 'dddd, MMMM[achea] Do, YYYY, A h:mm [vazta]',\n llll: 'ddd, D MMM YYYY, A h:mm [vazta]'\n },\n calendar : {\n sameDay: '[Aiz] LT',\n nextDay: '[Faleam] LT',\n nextWeek: '[Ieta to] dddd[,] LT',\n lastDay: '[Kal] LT',\n lastWeek: '[Fatlo] dddd[,] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : '%s',\n past : '%s adim',\n s : processRelativeTime,\n ss : processRelativeTime,\n m : processRelativeTime,\n mm : processRelativeTime,\n h : processRelativeTime,\n hh : processRelativeTime,\n d : processRelativeTime,\n dd : processRelativeTime,\n M : processRelativeTime,\n MM : processRelativeTime,\n y : processRelativeTime,\n yy : processRelativeTime\n },\n dayOfMonthOrdinalParse : /\\d{1,2}(er)/,\n ordinal : function (number, period) {\n switch (period) {\n // the ordinal 'er' only applies to day of the month\n case 'D':\n return number + 'er';\n default:\n case 'M':\n case 'Q':\n case 'DDD':\n case 'd':\n case 'w':\n case 'W':\n return number;\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n },\n meridiemParse: /rati|sokalli|donparam|sanje/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'rati') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'sokalli') {\n return hour;\n } else if (meridiem === 'donparam') {\n return hour > 12 ? hour : hour + 12;\n } else if (meridiem === 'sanje') {\n return hour + 12;\n }\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'rati';\n } else if (hour < 12) {\n return 'sokalli';\n } else if (hour < 16) {\n return 'donparam';\n } else if (hour < 20) {\n return 'sanje';\n } else {\n return 'rati';\n }\n }\n });\n\n return gomLatn;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var gl = moment.defineLocale('gl', {\n months : 'xaneiro_febreiro_marzo_abril_maio_xuño_xullo_agosto_setembro_outubro_novembro_decembro'.split('_'),\n monthsShort : 'xan._feb._mar._abr._mai._xuñ._xul._ago._set._out._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays : 'domingo_luns_martes_mércores_xoves_venres_sábado'.split('_'),\n weekdaysShort : 'dom._lun._mar._mér._xov._ven._sáb.'.split('_'),\n weekdaysMin : 'do_lu_ma_mé_xo_ve_sá'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D [de] MMMM [de] YYYY',\n LLL : 'D [de] MMMM [de] YYYY H:mm',\n LLLL : 'dddd, D [de] MMMM [de] YYYY H:mm'\n },\n calendar : {\n sameDay : function () {\n return '[hoxe ' + ((this.hours() !== 1) ? 'ás' : 'á') + '] LT';\n },\n nextDay : function () {\n return '[mañá ' + ((this.hours() !== 1) ? 'ás' : 'á') + '] LT';\n },\n nextWeek : function () {\n return 'dddd [' + ((this.hours() !== 1) ? 'ás' : 'a') + '] LT';\n },\n lastDay : function () {\n return '[onte ' + ((this.hours() !== 1) ? 'á' : 'a') + '] LT';\n },\n lastWeek : function () {\n return '[o] dddd [pasado ' + ((this.hours() !== 1) ? 'ás' : 'a') + '] LT';\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : function (str) {\n if (str.indexOf('un') === 0) {\n return 'n' + str;\n }\n return 'en ' + str;\n },\n past : 'hai %s',\n s : 'uns segundos',\n ss : '%d segundos',\n m : 'un minuto',\n mm : '%d minutos',\n h : 'unha hora',\n hh : '%d horas',\n d : 'un día',\n dd : '%d días',\n M : 'un mes',\n MM : '%d meses',\n y : 'un ano',\n yy : '%d anos'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}º/,\n ordinal : '%dº',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return gl;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var months = [\n 'Am Faoilleach', 'An Gearran', 'Am Màrt', 'An Giblean', 'An Cèitean', 'An t-Ògmhios', 'An t-Iuchar', 'An Lùnastal', 'An t-Sultain', 'An Dàmhair', 'An t-Samhain', 'An Dùbhlachd'\n ];\n\n var monthsShort = ['Faoi', 'Gear', 'Màrt', 'Gibl', 'Cèit', 'Ògmh', 'Iuch', 'Lùn', 'Sult', 'Dàmh', 'Samh', 'Dùbh'];\n\n var weekdays = ['Didòmhnaich', 'Diluain', 'Dimàirt', 'Diciadain', 'Diardaoin', 'Dihaoine', 'Disathairne'];\n\n var weekdaysShort = ['Did', 'Dil', 'Dim', 'Dic', 'Dia', 'Dih', 'Dis'];\n\n var weekdaysMin = ['Dò', 'Lu', 'Mà', 'Ci', 'Ar', 'Ha', 'Sa'];\n\n var gd = moment.defineLocale('gd', {\n months : months,\n monthsShort : monthsShort,\n monthsParseExact : true,\n weekdays : weekdays,\n weekdaysShort : weekdaysShort,\n weekdaysMin : weekdaysMin,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[An-diugh aig] LT',\n nextDay : '[A-màireach aig] LT',\n nextWeek : 'dddd [aig] LT',\n lastDay : '[An-dè aig] LT',\n lastWeek : 'dddd [seo chaidh] [aig] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'ann an %s',\n past : 'bho chionn %s',\n s : 'beagan diogan',\n ss : '%d diogan',\n m : 'mionaid',\n mm : '%d mionaidean',\n h : 'uair',\n hh : '%d uairean',\n d : 'latha',\n dd : '%d latha',\n M : 'mìos',\n MM : '%d mìosan',\n y : 'bliadhna',\n yy : '%d bliadhna'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}(d|na|mh)/,\n ordinal : function (number) {\n var output = number === 1 ? 'd' : number % 10 === 2 ? 'na' : 'mh';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return gd;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var monthsShortWithDots = 'jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.'.split('_'),\n monthsShortWithoutDots = 'jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_');\n\n var fy = moment.defineLocale('fy', {\n months : 'jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber'.split('_'),\n monthsShort : function (m, format) {\n if (!m) {\n return monthsShortWithDots;\n } else if (/-MMM-/.test(format)) {\n return monthsShortWithoutDots[m.month()];\n } else {\n return monthsShortWithDots[m.month()];\n }\n },\n monthsParseExact : true,\n weekdays : 'snein_moandei_tiisdei_woansdei_tongersdei_freed_sneon'.split('_'),\n weekdaysShort : 'si._mo._ti._wo._to._fr._so.'.split('_'),\n weekdaysMin : 'Si_Mo_Ti_Wo_To_Fr_So'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD-MM-YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[hjoed om] LT',\n nextDay: '[moarn om] LT',\n nextWeek: 'dddd [om] LT',\n lastDay: '[juster om] LT',\n lastWeek: '[ôfrûne] dddd [om] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'oer %s',\n past : '%s lyn',\n s : 'in pear sekonden',\n ss : '%d sekonden',\n m : 'ien minút',\n mm : '%d minuten',\n h : 'ien oere',\n hh : '%d oeren',\n d : 'ien dei',\n dd : '%d dagen',\n M : 'ien moanne',\n MM : '%d moannen',\n y : 'ien jier',\n yy : '%d jierren'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n ordinal : function (number) {\n return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de');\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return fy;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var frCh = moment.defineLocale('fr-ch', {\n months : 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'),\n monthsShort : 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'),\n monthsParseExact : true,\n weekdays : 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n weekdaysShort : 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n weekdaysMin : 'di_lu_ma_me_je_ve_sa'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Aujourd’hui à] LT',\n nextDay : '[Demain à] LT',\n nextWeek : 'dddd [à] LT',\n lastDay : '[Hier à] LT',\n lastWeek : 'dddd [dernier à] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'dans %s',\n past : 'il y a %s',\n s : 'quelques secondes',\n ss : '%d secondes',\n m : 'une minute',\n mm : '%d minutes',\n h : 'une heure',\n hh : '%d heures',\n d : 'un jour',\n dd : '%d jours',\n M : 'un mois',\n MM : '%d mois',\n y : 'un an',\n yy : '%d ans'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(er|e)/,\n ordinal : function (number, period) {\n switch (period) {\n // Words with masculine grammatical gender: mois, trimestre, jour\n default:\n case 'M':\n case 'Q':\n case 'D':\n case 'DDD':\n case 'd':\n return number + (number === 1 ? 'er' : 'e');\n\n // Words with feminine grammatical gender: semaine\n case 'w':\n case 'W':\n return number + (number === 1 ? 're' : 'e');\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return frCh;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var frCa = moment.defineLocale('fr-ca', {\n months : 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'),\n monthsShort : 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'),\n monthsParseExact : true,\n weekdays : 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n weekdaysShort : 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n weekdaysMin : 'di_lu_ma_me_je_ve_sa'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY-MM-DD',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Aujourd’hui à] LT',\n nextDay : '[Demain à] LT',\n nextWeek : 'dddd [à] LT',\n lastDay : '[Hier à] LT',\n lastWeek : 'dddd [dernier à] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'dans %s',\n past : 'il y a %s',\n s : 'quelques secondes',\n ss : '%d secondes',\n m : 'une minute',\n mm : '%d minutes',\n h : 'une heure',\n hh : '%d heures',\n d : 'un jour',\n dd : '%d jours',\n M : 'un mois',\n MM : '%d mois',\n y : 'un an',\n yy : '%d ans'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(er|e)/,\n ordinal : function (number, period) {\n switch (period) {\n // Words with masculine grammatical gender: mois, trimestre, jour\n default:\n case 'M':\n case 'Q':\n case 'D':\n case 'DDD':\n case 'd':\n return number + (number === 1 ? 'er' : 'e');\n\n // Words with feminine grammatical gender: semaine\n case 'w':\n case 'W':\n return number + (number === 1 ? 're' : 'e');\n }\n }\n });\n\n return frCa;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var fr = moment.defineLocale('fr', {\n months : 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'),\n monthsShort : 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'),\n monthsParseExact : true,\n weekdays : 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n weekdaysShort : 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n weekdaysMin : 'di_lu_ma_me_je_ve_sa'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Aujourd’hui à] LT',\n nextDay : '[Demain à] LT',\n nextWeek : 'dddd [à] LT',\n lastDay : '[Hier à] LT',\n lastWeek : 'dddd [dernier à] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'dans %s',\n past : 'il y a %s',\n s : 'quelques secondes',\n ss : '%d secondes',\n m : 'une minute',\n mm : '%d minutes',\n h : 'une heure',\n hh : '%d heures',\n d : 'un jour',\n dd : '%d jours',\n M : 'un mois',\n MM : '%d mois',\n y : 'un an',\n yy : '%d ans'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(er|)/,\n ordinal : function (number, period) {\n switch (period) {\n // TODO: Return 'e' when day of month > 1. Move this case inside\n // block for masculine words below.\n // See https://github.com/moment/moment/issues/3375\n case 'D':\n return number + (number === 1 ? 'er' : '');\n\n // Words with masculine grammatical gender: mois, trimestre, jour\n default:\n case 'M':\n case 'Q':\n case 'DDD':\n case 'd':\n return number + (number === 1 ? 'er' : 'e');\n\n // Words with feminine grammatical gender: semaine\n case 'w':\n case 'W':\n return number + (number === 1 ? 're' : 'e');\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return fr;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var fo = moment.defineLocale('fo', {\n months : 'januar_februar_mars_apríl_mai_juni_juli_august_september_oktober_november_desember'.split('_'),\n monthsShort : 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'),\n weekdays : 'sunnudagur_mánadagur_týsdagur_mikudagur_hósdagur_fríggjadagur_leygardagur'.split('_'),\n weekdaysShort : 'sun_mán_týs_mik_hós_frí_ley'.split('_'),\n weekdaysMin : 'su_má_tý_mi_hó_fr_le'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D. MMMM, YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Í dag kl.] LT',\n nextDay : '[Í morgin kl.] LT',\n nextWeek : 'dddd [kl.] LT',\n lastDay : '[Í gjár kl.] LT',\n lastWeek : '[síðstu] dddd [kl] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'um %s',\n past : '%s síðani',\n s : 'fá sekund',\n ss : '%d sekundir',\n m : 'ein minutt',\n mm : '%d minuttir',\n h : 'ein tími',\n hh : '%d tímar',\n d : 'ein dagur',\n dd : '%d dagar',\n M : 'ein mánaði',\n MM : '%d mánaðir',\n y : 'eitt ár',\n yy : '%d ár'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return fo;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var numbersPast = 'nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän'.split(' '),\n numbersFuture = [\n 'nolla', 'yhden', 'kahden', 'kolmen', 'neljän', 'viiden', 'kuuden',\n numbersPast[7], numbersPast[8], numbersPast[9]\n ];\n function translate(number, withoutSuffix, key, isFuture) {\n var result = '';\n switch (key) {\n case 's':\n return isFuture ? 'muutaman sekunnin' : 'muutama sekunti';\n case 'ss':\n return isFuture ? 'sekunnin' : 'sekuntia';\n case 'm':\n return isFuture ? 'minuutin' : 'minuutti';\n case 'mm':\n result = isFuture ? 'minuutin' : 'minuuttia';\n break;\n case 'h':\n return isFuture ? 'tunnin' : 'tunti';\n case 'hh':\n result = isFuture ? 'tunnin' : 'tuntia';\n break;\n case 'd':\n return isFuture ? 'päivän' : 'päivä';\n case 'dd':\n result = isFuture ? 'päivän' : 'päivää';\n break;\n case 'M':\n return isFuture ? 'kuukauden' : 'kuukausi';\n case 'MM':\n result = isFuture ? 'kuukauden' : 'kuukautta';\n break;\n case 'y':\n return isFuture ? 'vuoden' : 'vuosi';\n case 'yy':\n result = isFuture ? 'vuoden' : 'vuotta';\n break;\n }\n result = verbalNumber(number, isFuture) + ' ' + result;\n return result;\n }\n function verbalNumber(number, isFuture) {\n return number < 10 ? (isFuture ? numbersFuture[number] : numbersPast[number]) : number;\n }\n\n var fi = moment.defineLocale('fi', {\n months : 'tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu'.split('_'),\n monthsShort : 'tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu'.split('_'),\n weekdays : 'sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai'.split('_'),\n weekdaysShort : 'su_ma_ti_ke_to_pe_la'.split('_'),\n weekdaysMin : 'su_ma_ti_ke_to_pe_la'.split('_'),\n longDateFormat : {\n LT : 'HH.mm',\n LTS : 'HH.mm.ss',\n L : 'DD.MM.YYYY',\n LL : 'Do MMMM[ta] YYYY',\n LLL : 'Do MMMM[ta] YYYY, [klo] HH.mm',\n LLLL : 'dddd, Do MMMM[ta] YYYY, [klo] HH.mm',\n l : 'D.M.YYYY',\n ll : 'Do MMM YYYY',\n lll : 'Do MMM YYYY, [klo] HH.mm',\n llll : 'ddd, Do MMM YYYY, [klo] HH.mm'\n },\n calendar : {\n sameDay : '[tänään] [klo] LT',\n nextDay : '[huomenna] [klo] LT',\n nextWeek : 'dddd [klo] LT',\n lastDay : '[eilen] [klo] LT',\n lastWeek : '[viime] dddd[na] [klo] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s päästä',\n past : '%s sitten',\n s : translate,\n ss : translate,\n m : translate,\n mm : translate,\n h : translate,\n hh : translate,\n d : translate,\n dd : translate,\n M : translate,\n MM : translate,\n y : translate,\n yy : translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return fi;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '۱',\n '2': '۲',\n '3': '۳',\n '4': '۴',\n '5': '۵',\n '6': '۶',\n '7': '۷',\n '8': '۸',\n '9': '۹',\n '0': '۰'\n }, numberMap = {\n '۱': '1',\n '۲': '2',\n '۳': '3',\n '۴': '4',\n '۵': '5',\n '۶': '6',\n '۷': '7',\n '۸': '8',\n '۹': '9',\n '۰': '0'\n };\n\n var fa = moment.defineLocale('fa', {\n months : 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split('_'),\n monthsShort : 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split('_'),\n weekdays : 'یک\\u200cشنبه_دوشنبه_سه\\u200cشنبه_چهارشنبه_پنج\\u200cشنبه_جمعه_شنبه'.split('_'),\n weekdaysShort : 'یک\\u200cشنبه_دوشنبه_سه\\u200cشنبه_چهارشنبه_پنج\\u200cشنبه_جمعه_شنبه'.split('_'),\n weekdaysMin : 'ی_د_س_چ_پ_ج_ش'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n meridiemParse: /قبل از ظهر|بعد از ظهر/,\n isPM: function (input) {\n return /بعد از ظهر/.test(input);\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'قبل از ظهر';\n } else {\n return 'بعد از ظهر';\n }\n },\n calendar : {\n sameDay : '[امروز ساعت] LT',\n nextDay : '[فردا ساعت] LT',\n nextWeek : 'dddd [ساعت] LT',\n lastDay : '[دیروز ساعت] LT',\n lastWeek : 'dddd [پیش] [ساعت] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'در %s',\n past : '%s پیش',\n s : 'چند ثانیه',\n ss : 'ثانیه d%',\n m : 'یک دقیقه',\n mm : '%d دقیقه',\n h : 'یک ساعت',\n hh : '%d ساعت',\n d : 'یک روز',\n dd : '%d روز',\n M : 'یک ماه',\n MM : '%d ماه',\n y : 'یک سال',\n yy : '%d سال'\n },\n preparse: function (string) {\n return string.replace(/[۰-۹]/g, function (match) {\n return numberMap[match];\n }).replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n }).replace(/,/g, '،');\n },\n dayOfMonthOrdinalParse: /\\d{1,2}م/,\n ordinal : '%dم',\n week : {\n dow : 6, // Saturday is the first day of the week.\n doy : 12 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return fa;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var eu = moment.defineLocale('eu', {\n months : 'urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua'.split('_'),\n monthsShort : 'urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.'.split('_'),\n monthsParseExact : true,\n weekdays : 'igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata'.split('_'),\n weekdaysShort : 'ig._al._ar._az._og._ol._lr.'.split('_'),\n weekdaysMin : 'ig_al_ar_az_og_ol_lr'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY-MM-DD',\n LL : 'YYYY[ko] MMMM[ren] D[a]',\n LLL : 'YYYY[ko] MMMM[ren] D[a] HH:mm',\n LLLL : 'dddd, YYYY[ko] MMMM[ren] D[a] HH:mm',\n l : 'YYYY-M-D',\n ll : 'YYYY[ko] MMM D[a]',\n lll : 'YYYY[ko] MMM D[a] HH:mm',\n llll : 'ddd, YYYY[ko] MMM D[a] HH:mm'\n },\n calendar : {\n sameDay : '[gaur] LT[etan]',\n nextDay : '[bihar] LT[etan]',\n nextWeek : 'dddd LT[etan]',\n lastDay : '[atzo] LT[etan]',\n lastWeek : '[aurreko] dddd LT[etan]',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s barru',\n past : 'duela %s',\n s : 'segundo batzuk',\n ss : '%d segundo',\n m : 'minutu bat',\n mm : '%d minutu',\n h : 'ordu bat',\n hh : '%d ordu',\n d : 'egun bat',\n dd : '%d egun',\n M : 'hilabete bat',\n MM : '%d hilabete',\n y : 'urte bat',\n yy : '%d urte'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return eu;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n 's' : ['mõne sekundi', 'mõni sekund', 'paar sekundit'],\n 'ss': [number + 'sekundi', number + 'sekundit'],\n 'm' : ['ühe minuti', 'üks minut'],\n 'mm': [number + ' minuti', number + ' minutit'],\n 'h' : ['ühe tunni', 'tund aega', 'üks tund'],\n 'hh': [number + ' tunni', number + ' tundi'],\n 'd' : ['ühe päeva', 'üks päev'],\n 'M' : ['kuu aja', 'kuu aega', 'üks kuu'],\n 'MM': [number + ' kuu', number + ' kuud'],\n 'y' : ['ühe aasta', 'aasta', 'üks aasta'],\n 'yy': [number + ' aasta', number + ' aastat']\n };\n if (withoutSuffix) {\n return format[key][2] ? format[key][2] : format[key][1];\n }\n return isFuture ? format[key][0] : format[key][1];\n }\n\n var et = moment.defineLocale('et', {\n months : 'jaanuar_veebruar_märts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember'.split('_'),\n monthsShort : 'jaan_veebr_märts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets'.split('_'),\n weekdays : 'pühapäev_esmaspäev_teisipäev_kolmapäev_neljapäev_reede_laupäev'.split('_'),\n weekdaysShort : 'P_E_T_K_N_R_L'.split('_'),\n weekdaysMin : 'P_E_T_K_N_R_L'.split('_'),\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY H:mm',\n LLLL : 'dddd, D. MMMM YYYY H:mm'\n },\n calendar : {\n sameDay : '[Täna,] LT',\n nextDay : '[Homme,] LT',\n nextWeek : '[Järgmine] dddd LT',\n lastDay : '[Eile,] LT',\n lastWeek : '[Eelmine] dddd LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s pärast',\n past : '%s tagasi',\n s : processRelativeTime,\n ss : processRelativeTime,\n m : processRelativeTime,\n mm : processRelativeTime,\n h : processRelativeTime,\n hh : processRelativeTime,\n d : processRelativeTime,\n dd : '%d päeva',\n M : processRelativeTime,\n MM : processRelativeTime,\n y : processRelativeTime,\n yy : processRelativeTime\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return et;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_'),\n monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_');\n\n var esUs = moment.defineLocale('es-us', {\n months : 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'),\n monthsShort : function (m, format) {\n if (!m) {\n return monthsShortDot;\n } else if (/-MMM-/.test(format)) {\n return monthsShort[m.month()];\n } else {\n return monthsShortDot[m.month()];\n }\n },\n monthsParseExact : true,\n weekdays : 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n weekdaysShort : 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n weekdaysMin : 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'h:mm A',\n LTS : 'h:mm:ss A',\n L : 'MM/DD/YYYY',\n LL : 'MMMM [de] D [de] YYYY',\n LLL : 'MMMM [de] D [de] YYYY h:mm A',\n LLLL : 'dddd, MMMM [de] D [de] YYYY h:mm A'\n },\n calendar : {\n sameDay : function () {\n return '[hoy a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n nextDay : function () {\n return '[mañana a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n nextWeek : function () {\n return 'dddd [a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n lastDay : function () {\n return '[ayer a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n lastWeek : function () {\n return '[el] dddd [pasado a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'en %s',\n past : 'hace %s',\n s : 'unos segundos',\n ss : '%d segundos',\n m : 'un minuto',\n mm : '%d minutos',\n h : 'una hora',\n hh : '%d horas',\n d : 'un día',\n dd : '%d días',\n M : 'un mes',\n MM : '%d meses',\n y : 'un año',\n yy : '%d años'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}º/,\n ordinal : '%dº',\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return esUs;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_'),\n monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_');\n\n var monthsParse = [/^ene/i, /^feb/i, /^mar/i, /^abr/i, /^may/i, /^jun/i, /^jul/i, /^ago/i, /^sep/i, /^oct/i, /^nov/i, /^dic/i];\n var monthsRegex = /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n\n var esDo = moment.defineLocale('es-do', {\n months : 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'),\n monthsShort : function (m, format) {\n if (!m) {\n return monthsShortDot;\n } else if (/-MMM-/.test(format)) {\n return monthsShort[m.month()];\n } else {\n return monthsShortDot[m.month()];\n }\n },\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n monthsShortStrictRegex: /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n weekdays : 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n weekdaysShort : 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n weekdaysMin : 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'h:mm A',\n LTS : 'h:mm:ss A',\n L : 'DD/MM/YYYY',\n LL : 'D [de] MMMM [de] YYYY',\n LLL : 'D [de] MMMM [de] YYYY h:mm A',\n LLLL : 'dddd, D [de] MMMM [de] YYYY h:mm A'\n },\n calendar : {\n sameDay : function () {\n return '[hoy a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n nextDay : function () {\n return '[mañana a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n nextWeek : function () {\n return 'dddd [a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n lastDay : function () {\n return '[ayer a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n lastWeek : function () {\n return '[el] dddd [pasado a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'en %s',\n past : 'hace %s',\n s : 'unos segundos',\n ss : '%d segundos',\n m : 'un minuto',\n mm : '%d minutos',\n h : 'una hora',\n hh : '%d horas',\n d : 'un día',\n dd : '%d días',\n M : 'un mes',\n MM : '%d meses',\n y : 'un año',\n yy : '%d años'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}º/,\n ordinal : '%dº',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return esDo;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_'),\n monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_');\n\n var monthsParse = [/^ene/i, /^feb/i, /^mar/i, /^abr/i, /^may/i, /^jun/i, /^jul/i, /^ago/i, /^sep/i, /^oct/i, /^nov/i, /^dic/i];\n var monthsRegex = /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n\n var es = moment.defineLocale('es', {\n months : 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'),\n monthsShort : function (m, format) {\n if (!m) {\n return monthsShortDot;\n } else if (/-MMM-/.test(format)) {\n return monthsShort[m.month()];\n } else {\n return monthsShortDot[m.month()];\n }\n },\n monthsRegex : monthsRegex,\n monthsShortRegex : monthsRegex,\n monthsStrictRegex : /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n monthsShortStrictRegex : /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n monthsParse : monthsParse,\n longMonthsParse : monthsParse,\n shortMonthsParse : monthsParse,\n weekdays : 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n weekdaysShort : 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n weekdaysMin : 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D [de] MMMM [de] YYYY',\n LLL : 'D [de] MMMM [de] YYYY H:mm',\n LLLL : 'dddd, D [de] MMMM [de] YYYY H:mm'\n },\n calendar : {\n sameDay : function () {\n return '[hoy a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n nextDay : function () {\n return '[mañana a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n nextWeek : function () {\n return 'dddd [a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n lastDay : function () {\n return '[ayer a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n lastWeek : function () {\n return '[el] dddd [pasado a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'en %s',\n past : 'hace %s',\n s : 'unos segundos',\n ss : '%d segundos',\n m : 'un minuto',\n mm : '%d minutos',\n h : 'una hora',\n hh : '%d horas',\n d : 'un día',\n dd : '%d días',\n M : 'un mes',\n MM : '%d meses',\n y : 'un año',\n yy : '%d años'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}º/,\n ordinal : '%dº',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return es;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var eo = moment.defineLocale('eo', {\n months : 'januaro_februaro_marto_aprilo_majo_junio_julio_aŭgusto_septembro_oktobro_novembro_decembro'.split('_'),\n monthsShort : 'jan_feb_mar_apr_maj_jun_jul_aŭg_sep_okt_nov_dec'.split('_'),\n weekdays : 'dimanĉo_lundo_mardo_merkredo_ĵaŭdo_vendredo_sabato'.split('_'),\n weekdaysShort : 'dim_lun_mard_merk_ĵaŭ_ven_sab'.split('_'),\n weekdaysMin : 'di_lu_ma_me_ĵa_ve_sa'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY-MM-DD',\n LL : 'D[-a de] MMMM, YYYY',\n LLL : 'D[-a de] MMMM, YYYY HH:mm',\n LLLL : 'dddd, [la] D[-a de] MMMM, YYYY HH:mm'\n },\n meridiemParse: /[ap]\\.t\\.m/i,\n isPM: function (input) {\n return input.charAt(0).toLowerCase() === 'p';\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'p.t.m.' : 'P.T.M.';\n } else {\n return isLower ? 'a.t.m.' : 'A.T.M.';\n }\n },\n calendar : {\n sameDay : '[Hodiaŭ je] LT',\n nextDay : '[Morgaŭ je] LT',\n nextWeek : 'dddd [je] LT',\n lastDay : '[Hieraŭ je] LT',\n lastWeek : '[pasinta] dddd [je] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'post %s',\n past : 'antaŭ %s',\n s : 'sekundoj',\n ss : '%d sekundoj',\n m : 'minuto',\n mm : '%d minutoj',\n h : 'horo',\n hh : '%d horoj',\n d : 'tago',//ne 'diurno', ĉar estas uzita por proksimumo\n dd : '%d tagoj',\n M : 'monato',\n MM : '%d monatoj',\n y : 'jaro',\n yy : '%d jaroj'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}a/,\n ordinal : '%da',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return eo;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var enNz = moment.defineLocale('en-nz', {\n months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat : {\n LT : 'h:mm A',\n LTS : 'h:mm:ss A',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY h:mm A',\n LLLL : 'dddd, D MMMM YYYY h:mm A'\n },\n calendar : {\n sameDay : '[Today at] LT',\n nextDay : '[Tomorrow at] LT',\n nextWeek : 'dddd [at] LT',\n lastDay : '[Yesterday at] LT',\n lastWeek : '[Last] dddd [at] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'in %s',\n past : '%s ago',\n s : 'a few seconds',\n ss : '%d seconds',\n m : 'a minute',\n mm : '%d minutes',\n h : 'an hour',\n hh : '%d hours',\n d : 'a day',\n dd : '%d days',\n M : 'a month',\n MM : '%d months',\n y : 'a year',\n yy : '%d years'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return enNz;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var enIl = moment.defineLocale('en-il', {\n months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Today at] LT',\n nextDay : '[Tomorrow at] LT',\n nextWeek : 'dddd [at] LT',\n lastDay : '[Yesterday at] LT',\n lastWeek : '[Last] dddd [at] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'in %s',\n past : '%s ago',\n s : 'a few seconds',\n m : 'a minute',\n mm : '%d minutes',\n h : 'an hour',\n hh : '%d hours',\n d : 'a day',\n dd : '%d days',\n M : 'a month',\n MM : '%d months',\n y : 'a year',\n yy : '%d years'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n }\n });\n\n return enIl;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var enIe = moment.defineLocale('en-ie', {\n months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD-MM-YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Today at] LT',\n nextDay : '[Tomorrow at] LT',\n nextWeek : 'dddd [at] LT',\n lastDay : '[Yesterday at] LT',\n lastWeek : '[Last] dddd [at] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'in %s',\n past : '%s ago',\n s : 'a few seconds',\n ss : '%d seconds',\n m : 'a minute',\n mm : '%d minutes',\n h : 'an hour',\n hh : '%d hours',\n d : 'a day',\n dd : '%d days',\n M : 'a month',\n MM : '%d months',\n y : 'a year',\n yy : '%d years'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return enIe;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var enGb = moment.defineLocale('en-gb', {\n months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Today at] LT',\n nextDay : '[Tomorrow at] LT',\n nextWeek : 'dddd [at] LT',\n lastDay : '[Yesterday at] LT',\n lastWeek : '[Last] dddd [at] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'in %s',\n past : '%s ago',\n s : 'a few seconds',\n ss : '%d seconds',\n m : 'a minute',\n mm : '%d minutes',\n h : 'an hour',\n hh : '%d hours',\n d : 'a day',\n dd : '%d days',\n M : 'a month',\n MM : '%d months',\n y : 'a year',\n yy : '%d years'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return enGb;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var enCa = moment.defineLocale('en-ca', {\n months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat : {\n LT : 'h:mm A',\n LTS : 'h:mm:ss A',\n L : 'YYYY-MM-DD',\n LL : 'MMMM D, YYYY',\n LLL : 'MMMM D, YYYY h:mm A',\n LLLL : 'dddd, MMMM D, YYYY h:mm A'\n },\n calendar : {\n sameDay : '[Today at] LT',\n nextDay : '[Tomorrow at] LT',\n nextWeek : 'dddd [at] LT',\n lastDay : '[Yesterday at] LT',\n lastWeek : '[Last] dddd [at] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'in %s',\n past : '%s ago',\n s : 'a few seconds',\n ss : '%d seconds',\n m : 'a minute',\n mm : '%d minutes',\n h : 'an hour',\n hh : '%d hours',\n d : 'a day',\n dd : '%d days',\n M : 'a month',\n MM : '%d months',\n y : 'a year',\n yy : '%d years'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n }\n });\n\n return enCa;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var enAu = moment.defineLocale('en-au', {\n months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat : {\n LT : 'h:mm A',\n LTS : 'h:mm:ss A',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY h:mm A',\n LLLL : 'dddd, D MMMM YYYY h:mm A'\n },\n calendar : {\n sameDay : '[Today at] LT',\n nextDay : '[Tomorrow at] LT',\n nextWeek : 'dddd [at] LT',\n lastDay : '[Yesterday at] LT',\n lastWeek : '[Last] dddd [at] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'in %s',\n past : '%s ago',\n s : 'a few seconds',\n ss : '%d seconds',\n m : 'a minute',\n mm : '%d minutes',\n h : 'an hour',\n hh : '%d hours',\n d : 'a day',\n dd : '%d days',\n M : 'a month',\n MM : '%d months',\n y : 'a year',\n yy : '%d years'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return enAu;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n function isFunction(input) {\n return input instanceof Function || Object.prototype.toString.call(input) === '[object Function]';\n }\n\n\n var el = moment.defineLocale('el', {\n monthsNominativeEl : 'Ιανουάριος_Φεβρουάριος_Μάρτιος_Απρίλιος_Μάιος_Ιούνιος_Ιούλιος_Αύγουστος_Σεπτέμβριος_Οκτώβριος_Νοέμβριος_Δεκέμβριος'.split('_'),\n monthsGenitiveEl : 'Ιανουαρίου_Φεβρουαρίου_Μαρτίου_Απριλίου_Μαΐου_Ιουνίου_Ιουλίου_Αυγούστου_Σεπτεμβρίου_Οκτωβρίου_Νοεμβρίου_Δεκεμβρίου'.split('_'),\n months : function (momentToFormat, format) {\n if (!momentToFormat) {\n return this._monthsNominativeEl;\n } else if (typeof format === 'string' && /D/.test(format.substring(0, format.indexOf('MMMM')))) { // if there is a day number before 'MMMM'\n return this._monthsGenitiveEl[momentToFormat.month()];\n } else {\n return this._monthsNominativeEl[momentToFormat.month()];\n }\n },\n monthsShort : 'Ιαν_Φεβ_Μαρ_Απρ_Μαϊ_Ιουν_Ιουλ_Αυγ_Σεπ_Οκτ_Νοε_Δεκ'.split('_'),\n weekdays : 'Κυριακή_Δευτέρα_Τρίτη_Τετάρτη_Πέμπτη_Παρασκευή_Σάββατο'.split('_'),\n weekdaysShort : 'Κυρ_Δευ_Τρι_Τετ_Πεμ_Παρ_Σαβ'.split('_'),\n weekdaysMin : 'Κυ_Δε_Τρ_Τε_Πε_Πα_Σα'.split('_'),\n meridiem : function (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'μμ' : 'ΜΜ';\n } else {\n return isLower ? 'πμ' : 'ΠΜ';\n }\n },\n isPM : function (input) {\n return ((input + '').toLowerCase()[0] === 'μ');\n },\n meridiemParse : /[ΠΜ]\\.?Μ?\\.?/i,\n longDateFormat : {\n LT : 'h:mm A',\n LTS : 'h:mm:ss A',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY h:mm A',\n LLLL : 'dddd, D MMMM YYYY h:mm A'\n },\n calendarEl : {\n sameDay : '[Σήμερα {}] LT',\n nextDay : '[Αύριο {}] LT',\n nextWeek : 'dddd [{}] LT',\n lastDay : '[Χθες {}] LT',\n lastWeek : function () {\n switch (this.day()) {\n case 6:\n return '[το προηγούμενο] dddd [{}] LT';\n default:\n return '[την προηγούμενη] dddd [{}] LT';\n }\n },\n sameElse : 'L'\n },\n calendar : function (key, mom) {\n var output = this._calendarEl[key],\n hours = mom && mom.hours();\n if (isFunction(output)) {\n output = output.apply(mom);\n }\n return output.replace('{}', (hours % 12 === 1 ? 'στη' : 'στις'));\n },\n relativeTime : {\n future : 'σε %s',\n past : '%s πριν',\n s : 'λίγα δευτερόλεπτα',\n ss : '%d δευτερόλεπτα',\n m : 'ένα λεπτό',\n mm : '%d λεπτά',\n h : 'μία ώρα',\n hh : '%d ώρες',\n d : 'μία μέρα',\n dd : '%d μέρες',\n M : 'ένας μήνας',\n MM : '%d μήνες',\n y : 'ένας χρόνος',\n yy : '%d χρόνια'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}η/,\n ordinal: '%dη',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4st is the first week of the year.\n }\n });\n\n return el;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var months = [\n 'ޖެނުއަރީ',\n 'ފެބްރުއަރީ',\n 'މާރިޗު',\n 'އޭޕްރީލު',\n 'މޭ',\n 'ޖޫން',\n 'ޖުލައި',\n 'އޯގަސްޓު',\n 'ސެޕްޓެމްބަރު',\n 'އޮކްޓޯބަރު',\n 'ނޮވެމްބަރު',\n 'ޑިސެމްބަރު'\n ], weekdays = [\n 'އާދިއްތަ',\n 'ހޯމަ',\n 'އަންގާރަ',\n 'ބުދަ',\n 'ބުރާސްފަތި',\n 'ހުކުރު',\n 'ހޮނިހިރު'\n ];\n\n var dv = moment.defineLocale('dv', {\n months : months,\n monthsShort : months,\n weekdays : weekdays,\n weekdaysShort : weekdays,\n weekdaysMin : 'އާދި_ހޯމަ_އަން_ބުދަ_ބުރާ_ހުކު_ހޮނި'.split('_'),\n longDateFormat : {\n\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'D/M/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n meridiemParse: /މކ|މފ/,\n isPM : function (input) {\n return 'މފ' === input;\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'މކ';\n } else {\n return 'މފ';\n }\n },\n calendar : {\n sameDay : '[މިއަދު] LT',\n nextDay : '[މާދަމާ] LT',\n nextWeek : 'dddd LT',\n lastDay : '[އިއްޔެ] LT',\n lastWeek : '[ފާއިތުވި] dddd LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'ތެރޭގައި %s',\n past : 'ކުރިން %s',\n s : 'ސިކުންތުކޮޅެއް',\n ss : 'd% ސިކުންތު',\n m : 'މިނިޓެއް',\n mm : 'މިނިޓު %d',\n h : 'ގަޑިއިރެއް',\n hh : 'ގަޑިއިރު %d',\n d : 'ދުވަހެއް',\n dd : 'ދުވަސް %d',\n M : 'މަހެއް',\n MM : 'މަސް %d',\n y : 'އަހަރެއް',\n yy : 'އަހަރު %d'\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/,/g, '،');\n },\n week : {\n dow : 7, // Sunday is the first day of the week.\n doy : 12 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return dv;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n 'm': ['eine Minute', 'einer Minute'],\n 'h': ['eine Stunde', 'einer Stunde'],\n 'd': ['ein Tag', 'einem Tag'],\n 'dd': [number + ' Tage', number + ' Tagen'],\n 'M': ['ein Monat', 'einem Monat'],\n 'MM': [number + ' Monate', number + ' Monaten'],\n 'y': ['ein Jahr', 'einem Jahr'],\n 'yy': [number + ' Jahre', number + ' Jahren']\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n\n var deCh = moment.defineLocale('de-ch', {\n months : 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),\n monthsShort : 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),\n monthsParseExact : true,\n weekdays : 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'),\n weekdaysShort : 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n weekdaysMin : 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY HH:mm',\n LLLL : 'dddd, D. MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[heute um] LT [Uhr]',\n sameElse: 'L',\n nextDay: '[morgen um] LT [Uhr]',\n nextWeek: 'dddd [um] LT [Uhr]',\n lastDay: '[gestern um] LT [Uhr]',\n lastWeek: '[letzten] dddd [um] LT [Uhr]'\n },\n relativeTime : {\n future : 'in %s',\n past : 'vor %s',\n s : 'ein paar Sekunden',\n ss : '%d Sekunden',\n m : processRelativeTime,\n mm : '%d Minuten',\n h : processRelativeTime,\n hh : '%d Stunden',\n d : processRelativeTime,\n dd : processRelativeTime,\n M : processRelativeTime,\n MM : processRelativeTime,\n y : processRelativeTime,\n yy : processRelativeTime\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return deCh;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n 'm': ['eine Minute', 'einer Minute'],\n 'h': ['eine Stunde', 'einer Stunde'],\n 'd': ['ein Tag', 'einem Tag'],\n 'dd': [number + ' Tage', number + ' Tagen'],\n 'M': ['ein Monat', 'einem Monat'],\n 'MM': [number + ' Monate', number + ' Monaten'],\n 'y': ['ein Jahr', 'einem Jahr'],\n 'yy': [number + ' Jahre', number + ' Jahren']\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n\n var deAt = moment.defineLocale('de-at', {\n months : 'Jänner_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),\n monthsShort : 'Jän._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),\n monthsParseExact : true,\n weekdays : 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'),\n weekdaysShort : 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'),\n weekdaysMin : 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY HH:mm',\n LLLL : 'dddd, D. MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[heute um] LT [Uhr]',\n sameElse: 'L',\n nextDay: '[morgen um] LT [Uhr]',\n nextWeek: 'dddd [um] LT [Uhr]',\n lastDay: '[gestern um] LT [Uhr]',\n lastWeek: '[letzten] dddd [um] LT [Uhr]'\n },\n relativeTime : {\n future : 'in %s',\n past : 'vor %s',\n s : 'ein paar Sekunden',\n ss : '%d Sekunden',\n m : processRelativeTime,\n mm : '%d Minuten',\n h : processRelativeTime,\n hh : '%d Stunden',\n d : processRelativeTime,\n dd : processRelativeTime,\n M : processRelativeTime,\n MM : processRelativeTime,\n y : processRelativeTime,\n yy : processRelativeTime\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return deAt;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n 'm': ['eine Minute', 'einer Minute'],\n 'h': ['eine Stunde', 'einer Stunde'],\n 'd': ['ein Tag', 'einem Tag'],\n 'dd': [number + ' Tage', number + ' Tagen'],\n 'M': ['ein Monat', 'einem Monat'],\n 'MM': [number + ' Monate', number + ' Monaten'],\n 'y': ['ein Jahr', 'einem Jahr'],\n 'yy': [number + ' Jahre', number + ' Jahren']\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n\n var de = moment.defineLocale('de', {\n months : 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),\n monthsShort : 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),\n monthsParseExact : true,\n weekdays : 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'),\n weekdaysShort : 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'),\n weekdaysMin : 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY HH:mm',\n LLLL : 'dddd, D. MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[heute um] LT [Uhr]',\n sameElse: 'L',\n nextDay: '[morgen um] LT [Uhr]',\n nextWeek: 'dddd [um] LT [Uhr]',\n lastDay: '[gestern um] LT [Uhr]',\n lastWeek: '[letzten] dddd [um] LT [Uhr]'\n },\n relativeTime : {\n future : 'in %s',\n past : 'vor %s',\n s : 'ein paar Sekunden',\n ss : '%d Sekunden',\n m : processRelativeTime,\n mm : '%d Minuten',\n h : processRelativeTime,\n hh : '%d Stunden',\n d : processRelativeTime,\n dd : processRelativeTime,\n M : processRelativeTime,\n MM : processRelativeTime,\n y : processRelativeTime,\n yy : processRelativeTime\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return de;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var da = moment.defineLocale('da', {\n months : 'januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december'.split('_'),\n monthsShort : 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n weekdays : 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),\n weekdaysShort : 'søn_man_tir_ons_tor_fre_lør'.split('_'),\n weekdaysMin : 'sø_ma_ti_on_to_fr_lø'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY HH:mm',\n LLLL : 'dddd [d.] D. MMMM YYYY [kl.] HH:mm'\n },\n calendar : {\n sameDay : '[i dag kl.] LT',\n nextDay : '[i morgen kl.] LT',\n nextWeek : 'på dddd [kl.] LT',\n lastDay : '[i går kl.] LT',\n lastWeek : '[i] dddd[s kl.] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'om %s',\n past : '%s siden',\n s : 'få sekunder',\n ss : '%d sekunder',\n m : 'et minut',\n mm : '%d minutter',\n h : 'en time',\n hh : '%d timer',\n d : 'en dag',\n dd : '%d dage',\n M : 'en måned',\n MM : '%d måneder',\n y : 'et år',\n yy : '%d år'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return da;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var cy = moment.defineLocale('cy', {\n months: 'Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr'.split('_'),\n monthsShort: 'Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag'.split('_'),\n weekdays: 'Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn'.split('_'),\n weekdaysShort: 'Sul_Llun_Maw_Mer_Iau_Gwe_Sad'.split('_'),\n weekdaysMin: 'Su_Ll_Ma_Me_Ia_Gw_Sa'.split('_'),\n weekdaysParseExact : true,\n // time formats are the same as en-gb\n longDateFormat: {\n LT: 'HH:mm',\n LTS : 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Heddiw am] LT',\n nextDay: '[Yfory am] LT',\n nextWeek: 'dddd [am] LT',\n lastDay: '[Ddoe am] LT',\n lastWeek: 'dddd [diwethaf am] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'mewn %s',\n past: '%s yn ôl',\n s: 'ychydig eiliadau',\n ss: '%d eiliad',\n m: 'munud',\n mm: '%d munud',\n h: 'awr',\n hh: '%d awr',\n d: 'diwrnod',\n dd: '%d diwrnod',\n M: 'mis',\n MM: '%d mis',\n y: 'blwyddyn',\n yy: '%d flynedd'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(fed|ain|af|il|ydd|ed|eg)/,\n // traditional ordinal numbers above 31 are not commonly used in colloquial Welsh\n ordinal: function (number) {\n var b = number,\n output = '',\n lookup = [\n '', 'af', 'il', 'ydd', 'ydd', 'ed', 'ed', 'ed', 'fed', 'fed', 'fed', // 1af to 10fed\n 'eg', 'fed', 'eg', 'eg', 'fed', 'eg', 'eg', 'fed', 'eg', 'fed' // 11eg to 20fed\n ];\n if (b > 20) {\n if (b === 40 || b === 50 || b === 60 || b === 80 || b === 100) {\n output = 'fed'; // not 30ain, 70ain or 90ain\n } else {\n output = 'ain';\n }\n } else if (b > 0) {\n output = lookup[b];\n }\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return cy;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var cv = moment.defineLocale('cv', {\n months : 'кӑрлач_нарӑс_пуш_ака_май_ҫӗртме_утӑ_ҫурла_авӑн_юпа_чӳк_раштав'.split('_'),\n monthsShort : 'кӑр_нар_пуш_ака_май_ҫӗр_утӑ_ҫур_авн_юпа_чӳк_раш'.split('_'),\n weekdays : 'вырсарникун_тунтикун_ытларикун_юнкун_кӗҫнерникун_эрнекун_шӑматкун'.split('_'),\n weekdaysShort : 'выр_тун_ытл_юн_кӗҫ_эрн_шӑм'.split('_'),\n weekdaysMin : 'вр_тн_ыт_юн_кҫ_эр_шм'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD-MM-YYYY',\n LL : 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ]',\n LLL : 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm',\n LLLL : 'dddd, YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm'\n },\n calendar : {\n sameDay: '[Паян] LT [сехетре]',\n nextDay: '[Ыран] LT [сехетре]',\n lastDay: '[Ӗнер] LT [сехетре]',\n nextWeek: '[Ҫитес] dddd LT [сехетре]',\n lastWeek: '[Иртнӗ] dddd LT [сехетре]',\n sameElse: 'L'\n },\n relativeTime : {\n future : function (output) {\n var affix = /сехет$/i.exec(output) ? 'рен' : /ҫул$/i.exec(output) ? 'тан' : 'ран';\n return output + affix;\n },\n past : '%s каялла',\n s : 'пӗр-ик ҫеккунт',\n ss : '%d ҫеккунт',\n m : 'пӗр минут',\n mm : '%d минут',\n h : 'пӗр сехет',\n hh : '%d сехет',\n d : 'пӗр кун',\n dd : '%d кун',\n M : 'пӗр уйӑх',\n MM : '%d уйӑх',\n y : 'пӗр ҫул',\n yy : '%d ҫул'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-мӗш/,\n ordinal : '%d-мӗш',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return cv;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var months = 'leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec'.split('_'),\n monthsShort = 'led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro'.split('_');\n function plural(n) {\n return (n > 1) && (n < 5) && (~~(n / 10) !== 1);\n }\n function translate(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n switch (key) {\n case 's': // a few seconds / in a few seconds / a few seconds ago\n return (withoutSuffix || isFuture) ? 'pár sekund' : 'pár sekundami';\n case 'ss': // 9 seconds / in 9 seconds / 9 seconds ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'sekundy' : 'sekund');\n } else {\n return result + 'sekundami';\n }\n break;\n case 'm': // a minute / in a minute / a minute ago\n return withoutSuffix ? 'minuta' : (isFuture ? 'minutu' : 'minutou');\n case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'minuty' : 'minut');\n } else {\n return result + 'minutami';\n }\n break;\n case 'h': // an hour / in an hour / an hour ago\n return withoutSuffix ? 'hodina' : (isFuture ? 'hodinu' : 'hodinou');\n case 'hh': // 9 hours / in 9 hours / 9 hours ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'hodiny' : 'hodin');\n } else {\n return result + 'hodinami';\n }\n break;\n case 'd': // a day / in a day / a day ago\n return (withoutSuffix || isFuture) ? 'den' : 'dnem';\n case 'dd': // 9 days / in 9 days / 9 days ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'dny' : 'dní');\n } else {\n return result + 'dny';\n }\n break;\n case 'M': // a month / in a month / a month ago\n return (withoutSuffix || isFuture) ? 'měsíc' : 'měsícem';\n case 'MM': // 9 months / in 9 months / 9 months ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'měsíce' : 'měsíců');\n } else {\n return result + 'měsíci';\n }\n break;\n case 'y': // a year / in a year / a year ago\n return (withoutSuffix || isFuture) ? 'rok' : 'rokem';\n case 'yy': // 9 years / in 9 years / 9 years ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'roky' : 'let');\n } else {\n return result + 'lety';\n }\n break;\n }\n }\n\n var cs = moment.defineLocale('cs', {\n months : months,\n monthsShort : monthsShort,\n monthsParse : (function (months, monthsShort) {\n var i, _monthsParse = [];\n for (i = 0; i < 12; i++) {\n // use custom parser to solve problem with July (červenec)\n _monthsParse[i] = new RegExp('^' + months[i] + '$|^' + monthsShort[i] + '$', 'i');\n }\n return _monthsParse;\n }(months, monthsShort)),\n shortMonthsParse : (function (monthsShort) {\n var i, _shortMonthsParse = [];\n for (i = 0; i < 12; i++) {\n _shortMonthsParse[i] = new RegExp('^' + monthsShort[i] + '$', 'i');\n }\n return _shortMonthsParse;\n }(monthsShort)),\n longMonthsParse : (function (months) {\n var i, _longMonthsParse = [];\n for (i = 0; i < 12; i++) {\n _longMonthsParse[i] = new RegExp('^' + months[i] + '$', 'i');\n }\n return _longMonthsParse;\n }(months)),\n weekdays : 'neděle_pondělí_úterý_středa_čtvrtek_pátek_sobota'.split('_'),\n weekdaysShort : 'ne_po_út_st_čt_pá_so'.split('_'),\n weekdaysMin : 'ne_po_út_st_čt_pá_so'.split('_'),\n longDateFormat : {\n LT: 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY H:mm',\n LLLL : 'dddd D. MMMM YYYY H:mm',\n l : 'D. M. YYYY'\n },\n calendar : {\n sameDay: '[dnes v] LT',\n nextDay: '[zítra v] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[v neděli v] LT';\n case 1:\n case 2:\n return '[v] dddd [v] LT';\n case 3:\n return '[ve středu v] LT';\n case 4:\n return '[ve čtvrtek v] LT';\n case 5:\n return '[v pátek v] LT';\n case 6:\n return '[v sobotu v] LT';\n }\n },\n lastDay: '[včera v] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[minulou neděli v] LT';\n case 1:\n case 2:\n return '[minulé] dddd [v] LT';\n case 3:\n return '[minulou středu v] LT';\n case 4:\n case 5:\n return '[minulý] dddd [v] LT';\n case 6:\n return '[minulou sobotu v] LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : 'za %s',\n past : 'před %s',\n s : translate,\n ss : translate,\n m : translate,\n mm : translate,\n h : translate,\n hh : translate,\n d : translate,\n dd : translate,\n M : translate,\n MM : translate,\n y : translate,\n yy : translate\n },\n dayOfMonthOrdinalParse : /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return cs;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var ca = moment.defineLocale('ca', {\n months : {\n standalone: 'gener_febrer_març_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre'.split('_'),\n format: 'de gener_de febrer_de març_d\\'abril_de maig_de juny_de juliol_d\\'agost_de setembre_d\\'octubre_de novembre_de desembre'.split('_'),\n isFormat: /D[oD]?(\\s)+MMMM/\n },\n monthsShort : 'gen._febr._març_abr._maig_juny_jul._ag._set._oct._nov._des.'.split('_'),\n monthsParseExact : true,\n weekdays : 'diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte'.split('_'),\n weekdaysShort : 'dg._dl._dt._dc._dj._dv._ds.'.split('_'),\n weekdaysMin : 'dg_dl_dt_dc_dj_dv_ds'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM [de] YYYY',\n ll : 'D MMM YYYY',\n LLL : 'D MMMM [de] YYYY [a les] H:mm',\n lll : 'D MMM YYYY, H:mm',\n LLLL : 'dddd D MMMM [de] YYYY [a les] H:mm',\n llll : 'ddd D MMM YYYY, H:mm'\n },\n calendar : {\n sameDay : function () {\n return '[avui a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';\n },\n nextDay : function () {\n return '[demà a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';\n },\n nextWeek : function () {\n return 'dddd [a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';\n },\n lastDay : function () {\n return '[ahir a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';\n },\n lastWeek : function () {\n return '[el] dddd [passat a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'd\\'aquí %s',\n past : 'fa %s',\n s : 'uns segons',\n ss : '%d segons',\n m : 'un minut',\n mm : '%d minuts',\n h : 'una hora',\n hh : '%d hores',\n d : 'un dia',\n dd : '%d dies',\n M : 'un mes',\n MM : '%d mesos',\n y : 'un any',\n yy : '%d anys'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(r|n|t|è|a)/,\n ordinal : function (number, period) {\n var output = (number === 1) ? 'r' :\n (number === 2) ? 'n' :\n (number === 3) ? 'r' :\n (number === 4) ? 't' : 'è';\n if (period === 'w' || period === 'W') {\n output = 'a';\n }\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return ca;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function translate(number, withoutSuffix, key) {\n var result = number + ' ';\n switch (key) {\n case 'ss':\n if (number === 1) {\n result += 'sekunda';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sekunde';\n } else {\n result += 'sekundi';\n }\n return result;\n case 'm':\n return withoutSuffix ? 'jedna minuta' : 'jedne minute';\n case 'mm':\n if (number === 1) {\n result += 'minuta';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'minute';\n } else {\n result += 'minuta';\n }\n return result;\n case 'h':\n return withoutSuffix ? 'jedan sat' : 'jednog sata';\n case 'hh':\n if (number === 1) {\n result += 'sat';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sata';\n } else {\n result += 'sati';\n }\n return result;\n case 'dd':\n if (number === 1) {\n result += 'dan';\n } else {\n result += 'dana';\n }\n return result;\n case 'MM':\n if (number === 1) {\n result += 'mjesec';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'mjeseca';\n } else {\n result += 'mjeseci';\n }\n return result;\n case 'yy':\n if (number === 1) {\n result += 'godina';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'godine';\n } else {\n result += 'godina';\n }\n return result;\n }\n }\n\n var bs = moment.defineLocale('bs', {\n months : 'januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar'.split('_'),\n monthsShort : 'jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays : 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split('_'),\n weekdaysShort : 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n weekdaysMin : 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY H:mm',\n LLLL : 'dddd, D. MMMM YYYY H:mm'\n },\n calendar : {\n sameDay : '[danas u] LT',\n nextDay : '[sutra u] LT',\n nextWeek : function () {\n switch (this.day()) {\n case 0:\n return '[u] [nedjelju] [u] LT';\n case 3:\n return '[u] [srijedu] [u] LT';\n case 6:\n return '[u] [subotu] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay : '[jučer u] LT',\n lastWeek : function () {\n switch (this.day()) {\n case 0:\n case 3:\n return '[prošlu] dddd [u] LT';\n case 6:\n return '[prošle] [subote] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[prošli] dddd [u] LT';\n }\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'za %s',\n past : 'prije %s',\n s : 'par sekundi',\n ss : translate,\n m : translate,\n mm : translate,\n h : translate,\n hh : translate,\n d : 'dan',\n dd : translate,\n M : 'mjesec',\n MM : translate,\n y : 'godinu',\n yy : translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return bs;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function relativeTimeWithMutation(number, withoutSuffix, key) {\n var format = {\n 'mm': 'munutenn',\n 'MM': 'miz',\n 'dd': 'devezh'\n };\n return number + ' ' + mutation(format[key], number);\n }\n function specialMutationForYears(number) {\n switch (lastNumber(number)) {\n case 1:\n case 3:\n case 4:\n case 5:\n case 9:\n return number + ' bloaz';\n default:\n return number + ' vloaz';\n }\n }\n function lastNumber(number) {\n if (number > 9) {\n return lastNumber(number % 10);\n }\n return number;\n }\n function mutation(text, number) {\n if (number === 2) {\n return softMutation(text);\n }\n return text;\n }\n function softMutation(text) {\n var mutationTable = {\n 'm': 'v',\n 'b': 'v',\n 'd': 'z'\n };\n if (mutationTable[text.charAt(0)] === undefined) {\n return text;\n }\n return mutationTable[text.charAt(0)] + text.substring(1);\n }\n\n var br = moment.defineLocale('br', {\n months : 'Genver_C\\'hwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu'.split('_'),\n monthsShort : 'Gen_C\\'hwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker'.split('_'),\n weekdays : 'Sul_Lun_Meurzh_Merc\\'her_Yaou_Gwener_Sadorn'.split('_'),\n weekdaysShort : 'Sul_Lun_Meu_Mer_Yao_Gwe_Sad'.split('_'),\n weekdaysMin : 'Su_Lu_Me_Mer_Ya_Gw_Sa'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'h[e]mm A',\n LTS : 'h[e]mm:ss A',\n L : 'DD/MM/YYYY',\n LL : 'D [a viz] MMMM YYYY',\n LLL : 'D [a viz] MMMM YYYY h[e]mm A',\n LLLL : 'dddd, D [a viz] MMMM YYYY h[e]mm A'\n },\n calendar : {\n sameDay : '[Hiziv da] LT',\n nextDay : '[Warc\\'hoazh da] LT',\n nextWeek : 'dddd [da] LT',\n lastDay : '[Dec\\'h da] LT',\n lastWeek : 'dddd [paset da] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'a-benn %s',\n past : '%s \\'zo',\n s : 'un nebeud segondennoù',\n ss : '%d eilenn',\n m : 'ur vunutenn',\n mm : relativeTimeWithMutation,\n h : 'un eur',\n hh : '%d eur',\n d : 'un devezh',\n dd : relativeTimeWithMutation,\n M : 'ur miz',\n MM : relativeTimeWithMutation,\n y : 'ur bloaz',\n yy : specialMutationForYears\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(añ|vet)/,\n ordinal : function (number) {\n var output = (number === 1) ? 'añ' : 'vet';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return br;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '༡',\n '2': '༢',\n '3': '༣',\n '4': '༤',\n '5': '༥',\n '6': '༦',\n '7': '༧',\n '8': '༨',\n '9': '༩',\n '0': '༠'\n },\n numberMap = {\n '༡': '1',\n '༢': '2',\n '༣': '3',\n '༤': '4',\n '༥': '5',\n '༦': '6',\n '༧': '7',\n '༨': '8',\n '༩': '9',\n '༠': '0'\n };\n\n var bo = moment.defineLocale('bo', {\n months : 'ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ'.split('_'),\n monthsShort : 'ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ'.split('_'),\n weekdays : 'གཟའ་ཉི་མ་_གཟའ་ཟླ་བ་_གཟའ་མིག་དམར་_གཟའ་ལྷག་པ་_གཟའ་ཕུར་བུ_གཟའ་པ་སངས་_གཟའ་སྤེན་པ་'.split('_'),\n weekdaysShort : 'ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་'.split('_'),\n weekdaysMin : 'ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་'.split('_'),\n longDateFormat : {\n LT : 'A h:mm',\n LTS : 'A h:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, A h:mm',\n LLLL : 'dddd, D MMMM YYYY, A h:mm'\n },\n calendar : {\n sameDay : '[དི་རིང] LT',\n nextDay : '[སང་ཉིན] LT',\n nextWeek : '[བདུན་ཕྲག་རྗེས་མ], LT',\n lastDay : '[ཁ་སང] LT',\n lastWeek : '[བདུན་ཕྲག་མཐའ་མ] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s ལ་',\n past : '%s སྔན་ལ',\n s : 'ལམ་སང',\n ss : '%d སྐར་ཆ།',\n m : 'སྐར་མ་གཅིག',\n mm : '%d སྐར་མ',\n h : 'ཆུ་ཚོད་གཅིག',\n hh : '%d ཆུ་ཚོད',\n d : 'ཉིན་གཅིག',\n dd : '%d ཉིན་',\n M : 'ཟླ་བ་གཅིག',\n MM : '%d ཟླ་བ',\n y : 'ལོ་གཅིག',\n yy : '%d ལོ'\n },\n preparse: function (string) {\n return string.replace(/[༡༢༣༤༥༦༧༨༩༠]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /མཚན་མོ|ཞོགས་ཀས|ཉིན་གུང|དགོང་དག|མཚན་མོ/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if ((meridiem === 'མཚན་མོ' && hour >= 4) ||\n (meridiem === 'ཉིན་གུང' && hour < 5) ||\n meridiem === 'དགོང་དག') {\n return hour + 12;\n } else {\n return hour;\n }\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'མཚན་མོ';\n } else if (hour < 10) {\n return 'ཞོགས་ཀས';\n } else if (hour < 17) {\n return 'ཉིན་གུང';\n } else if (hour < 20) {\n return 'དགོང་དག';\n } else {\n return 'མཚན་མོ';\n }\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return bo;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '১',\n '2': '২',\n '3': '৩',\n '4': '৪',\n '5': '৫',\n '6': '৬',\n '7': '৭',\n '8': '৮',\n '9': '৯',\n '0': '০'\n },\n numberMap = {\n '১': '1',\n '২': '2',\n '৩': '3',\n '৪': '4',\n '৫': '5',\n '৬': '6',\n '৭': '7',\n '৮': '8',\n '৯': '9',\n '০': '0'\n };\n\n var bn = moment.defineLocale('bn', {\n months : 'জানুয়ারী_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর'.split('_'),\n monthsShort : 'জানু_ফেব_মার্চ_এপ্র_মে_জুন_জুল_আগ_সেপ্ট_অক্টো_নভে_ডিসে'.split('_'),\n weekdays : 'রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার'.split('_'),\n weekdaysShort : 'রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি'.split('_'),\n weekdaysMin : 'রবি_সোম_মঙ্গ_বুধ_বৃহঃ_শুক্র_শনি'.split('_'),\n longDateFormat : {\n LT : 'A h:mm সময়',\n LTS : 'A h:mm:ss সময়',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, A h:mm সময়',\n LLLL : 'dddd, D MMMM YYYY, A h:mm সময়'\n },\n calendar : {\n sameDay : '[আজ] LT',\n nextDay : '[আগামীকাল] LT',\n nextWeek : 'dddd, LT',\n lastDay : '[গতকাল] LT',\n lastWeek : '[গত] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s পরে',\n past : '%s আগে',\n s : 'কয়েক সেকেন্ড',\n ss : '%d সেকেন্ড',\n m : 'এক মিনিট',\n mm : '%d মিনিট',\n h : 'এক ঘন্টা',\n hh : '%d ঘন্টা',\n d : 'এক দিন',\n dd : '%d দিন',\n M : 'এক মাস',\n MM : '%d মাস',\n y : 'এক বছর',\n yy : '%d বছর'\n },\n preparse: function (string) {\n return string.replace(/[১২৩৪৫৬৭৮৯০]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /রাত|সকাল|দুপুর|বিকাল|রাত/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if ((meridiem === 'রাত' && hour >= 4) ||\n (meridiem === 'দুপুর' && hour < 5) ||\n meridiem === 'বিকাল') {\n return hour + 12;\n } else {\n return hour;\n }\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'রাত';\n } else if (hour < 10) {\n return 'সকাল';\n } else if (hour < 17) {\n return 'দুপুর';\n } else if (hour < 20) {\n return 'বিকাল';\n } else {\n return 'রাত';\n }\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return bn;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var bm = moment.defineLocale('bm', {\n months : 'Zanwuyekalo_Fewuruyekalo_Marisikalo_Awirilikalo_Mɛkalo_Zuwɛnkalo_Zuluyekalo_Utikalo_Sɛtanburukalo_ɔkutɔburukalo_Nowanburukalo_Desanburukalo'.split('_'),\n monthsShort : 'Zan_Few_Mar_Awi_Mɛ_Zuw_Zul_Uti_Sɛt_ɔku_Now_Des'.split('_'),\n weekdays : 'Kari_Ntɛnɛn_Tarata_Araba_Alamisa_Juma_Sibiri'.split('_'),\n weekdaysShort : 'Kar_Ntɛ_Tar_Ara_Ala_Jum_Sib'.split('_'),\n weekdaysMin : 'Ka_Nt_Ta_Ar_Al_Ju_Si'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'MMMM [tile] D [san] YYYY',\n LLL : 'MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm',\n LLLL : 'dddd MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm'\n },\n calendar : {\n sameDay : '[Bi lɛrɛ] LT',\n nextDay : '[Sini lɛrɛ] LT',\n nextWeek : 'dddd [don lɛrɛ] LT',\n lastDay : '[Kunu lɛrɛ] LT',\n lastWeek : 'dddd [tɛmɛnen lɛrɛ] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s kɔnɔ',\n past : 'a bɛ %s bɔ',\n s : 'sanga dama dama',\n ss : 'sekondi %d',\n m : 'miniti kelen',\n mm : 'miniti %d',\n h : 'lɛrɛ kelen',\n hh : 'lɛrɛ %d',\n d : 'tile kelen',\n dd : 'tile %d',\n M : 'kalo kelen',\n MM : 'kalo %d',\n y : 'san kelen',\n yy : 'san %d'\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return bm;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var bg = moment.defineLocale('bg', {\n months : 'януари_февруари_март_април_май_юни_юли_август_септември_октомври_ноември_декември'.split('_'),\n monthsShort : 'янр_фев_мар_апр_май_юни_юли_авг_сеп_окт_ное_дек'.split('_'),\n weekdays : 'неделя_понеделник_вторник_сряда_четвъртък_петък_събота'.split('_'),\n weekdaysShort : 'нед_пон_вто_сря_чет_пет_съб'.split('_'),\n weekdaysMin : 'нд_пн_вт_ср_чт_пт_сб'.split('_'),\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'D.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY H:mm',\n LLLL : 'dddd, D MMMM YYYY H:mm'\n },\n calendar : {\n sameDay : '[Днес в] LT',\n nextDay : '[Утре в] LT',\n nextWeek : 'dddd [в] LT',\n lastDay : '[Вчера в] LT',\n lastWeek : function () {\n switch (this.day()) {\n case 0:\n case 3:\n case 6:\n return '[В изминалата] dddd [в] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[В изминалия] dddd [в] LT';\n }\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'след %s',\n past : 'преди %s',\n s : 'няколко секунди',\n ss : '%d секунди',\n m : 'минута',\n mm : '%d минути',\n h : 'час',\n hh : '%d часа',\n d : 'ден',\n dd : '%d дни',\n M : 'месец',\n MM : '%d месеца',\n y : 'година',\n yy : '%d години'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ев|ен|ти|ви|ри|ми)/,\n ordinal : function (number) {\n var lastDigit = number % 10,\n last2Digits = number % 100;\n if (number === 0) {\n return number + '-ев';\n } else if (last2Digits === 0) {\n return number + '-ен';\n } else if (last2Digits > 10 && last2Digits < 20) {\n return number + '-ти';\n } else if (lastDigit === 1) {\n return number + '-ви';\n } else if (lastDigit === 2) {\n return number + '-ри';\n } else if (lastDigit === 7 || lastDigit === 8) {\n return number + '-ми';\n } else {\n return number + '-ти';\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return bg;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function plural(word, num) {\n var forms = word.split('_');\n return num % 10 === 1 && num % 100 !== 11 ? forms[0] : (num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) ? forms[1] : forms[2]);\n }\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n var format = {\n 'ss': withoutSuffix ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд',\n 'mm': withoutSuffix ? 'хвіліна_хвіліны_хвілін' : 'хвіліну_хвіліны_хвілін',\n 'hh': withoutSuffix ? 'гадзіна_гадзіны_гадзін' : 'гадзіну_гадзіны_гадзін',\n 'dd': 'дзень_дні_дзён',\n 'MM': 'месяц_месяцы_месяцаў',\n 'yy': 'год_гады_гадоў'\n };\n if (key === 'm') {\n return withoutSuffix ? 'хвіліна' : 'хвіліну';\n }\n else if (key === 'h') {\n return withoutSuffix ? 'гадзіна' : 'гадзіну';\n }\n else {\n return number + ' ' + plural(format[key], +number);\n }\n }\n\n var be = moment.defineLocale('be', {\n months : {\n format: 'студзеня_лютага_сакавіка_красавіка_траўня_чэрвеня_ліпеня_жніўня_верасня_кастрычніка_лістапада_снежня'.split('_'),\n standalone: 'студзень_люты_сакавік_красавік_травень_чэрвень_ліпень_жнівень_верасень_кастрычнік_лістапад_снежань'.split('_')\n },\n monthsShort : 'студ_лют_сак_крас_трав_чэрв_ліп_жнів_вер_каст_ліст_снеж'.split('_'),\n weekdays : {\n format: 'нядзелю_панядзелак_аўторак_сераду_чацвер_пятніцу_суботу'.split('_'),\n standalone: 'нядзеля_панядзелак_аўторак_серада_чацвер_пятніца_субота'.split('_'),\n isFormat: /\\[ ?[Ууў] ?(?:мінулую|наступную)? ?\\] ?dddd/\n },\n weekdaysShort : 'нд_пн_ат_ср_чц_пт_сб'.split('_'),\n weekdaysMin : 'нд_пн_ат_ср_чц_пт_сб'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY г.',\n LLL : 'D MMMM YYYY г., HH:mm',\n LLLL : 'dddd, D MMMM YYYY г., HH:mm'\n },\n calendar : {\n sameDay: '[Сёння ў] LT',\n nextDay: '[Заўтра ў] LT',\n lastDay: '[Учора ў] LT',\n nextWeek: function () {\n return '[У] dddd [ў] LT';\n },\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n case 3:\n case 5:\n case 6:\n return '[У мінулую] dddd [ў] LT';\n case 1:\n case 2:\n case 4:\n return '[У мінулы] dddd [ў] LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : 'праз %s',\n past : '%s таму',\n s : 'некалькі секунд',\n m : relativeTimeWithPlural,\n mm : relativeTimeWithPlural,\n h : relativeTimeWithPlural,\n hh : relativeTimeWithPlural,\n d : 'дзень',\n dd : relativeTimeWithPlural,\n M : 'месяц',\n MM : relativeTimeWithPlural,\n y : 'год',\n yy : relativeTimeWithPlural\n },\n meridiemParse: /ночы|раніцы|дня|вечара/,\n isPM : function (input) {\n return /^(дня|вечара)$/.test(input);\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ночы';\n } else if (hour < 12) {\n return 'раніцы';\n } else if (hour < 17) {\n return 'дня';\n } else {\n return 'вечара';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(і|ы|га)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'M':\n case 'd':\n case 'DDD':\n case 'w':\n case 'W':\n return (number % 10 === 2 || number % 10 === 3) && (number % 100 !== 12 && number % 100 !== 13) ? number + '-і' : number + '-ы';\n case 'D':\n return number + '-га';\n default:\n return number;\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return be;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var suffixes = {\n 1: '-inci',\n 5: '-inci',\n 8: '-inci',\n 70: '-inci',\n 80: '-inci',\n 2: '-nci',\n 7: '-nci',\n 20: '-nci',\n 50: '-nci',\n 3: '-üncü',\n 4: '-üncü',\n 100: '-üncü',\n 6: '-ncı',\n 9: '-uncu',\n 10: '-uncu',\n 30: '-uncu',\n 60: '-ıncı',\n 90: '-ıncı'\n };\n\n var az = moment.defineLocale('az', {\n months : 'yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr'.split('_'),\n monthsShort : 'yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek'.split('_'),\n weekdays : 'Bazar_Bazar ertəsi_Çərşənbə axşamı_Çərşənbə_Cümə axşamı_Cümə_Şənbə'.split('_'),\n weekdaysShort : 'Baz_BzE_ÇAx_Çər_CAx_Cüm_Şən'.split('_'),\n weekdaysMin : 'Bz_BE_ÇA_Çə_CA_Cü_Şə'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[bugün saat] LT',\n nextDay : '[sabah saat] LT',\n nextWeek : '[gələn həftə] dddd [saat] LT',\n lastDay : '[dünən] LT',\n lastWeek : '[keçən həftə] dddd [saat] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s sonra',\n past : '%s əvvəl',\n s : 'birneçə saniyə',\n ss : '%d saniyə',\n m : 'bir dəqiqə',\n mm : '%d dəqiqə',\n h : 'bir saat',\n hh : '%d saat',\n d : 'bir gün',\n dd : '%d gün',\n M : 'bir ay',\n MM : '%d ay',\n y : 'bir il',\n yy : '%d il'\n },\n meridiemParse: /gecə|səhər|gündüz|axşam/,\n isPM : function (input) {\n return /^(gündüz|axşam)$/.test(input);\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'gecə';\n } else if (hour < 12) {\n return 'səhər';\n } else if (hour < 17) {\n return 'gündüz';\n } else {\n return 'axşam';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ıncı|inci|nci|üncü|ncı|uncu)/,\n ordinal : function (number) {\n if (number === 0) { // special case for zero\n return number + '-ıncı';\n }\n var a = number % 10,\n b = number % 100 - a,\n c = number >= 100 ? 100 : null;\n return number + (suffixes[a] || suffixes[b] || suffixes[c]);\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return az;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var arTn = moment.defineLocale('ar-tn', {\n months: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),\n monthsShort: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact : true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'في %s',\n past: 'منذ %s',\n s: 'ثوان',\n ss : '%d ثانية',\n m: 'دقيقة',\n mm: '%d دقائق',\n h: 'ساعة',\n hh: '%d ساعات',\n d: 'يوم',\n dd: '%d أيام',\n M: 'شهر',\n MM: '%d أشهر',\n y: 'سنة',\n yy: '%d سنوات'\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return arTn;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '١',\n '2': '٢',\n '3': '٣',\n '4': '٤',\n '5': '٥',\n '6': '٦',\n '7': '٧',\n '8': '٨',\n '9': '٩',\n '0': '٠'\n }, numberMap = {\n '١': '1',\n '٢': '2',\n '٣': '3',\n '٤': '4',\n '٥': '5',\n '٦': '6',\n '٧': '7',\n '٨': '8',\n '٩': '9',\n '٠': '0'\n };\n\n var arSa = moment.defineLocale('ar-sa', {\n months : 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),\n monthsShort : 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),\n weekdays : 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort : 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n meridiemParse: /ص|م/,\n isPM : function (input) {\n return 'م' === input;\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ص';\n } else {\n return 'م';\n }\n },\n calendar : {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'في %s',\n past : 'منذ %s',\n s : 'ثوان',\n ss : '%d ثانية',\n m : 'دقيقة',\n mm : '%d دقائق',\n h : 'ساعة',\n hh : '%d ساعات',\n d : 'يوم',\n dd : '%d أيام',\n M : 'شهر',\n MM : '%d أشهر',\n y : 'سنة',\n yy : '%d سنوات'\n },\n preparse: function (string) {\n return string.replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\n return numberMap[match];\n }).replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n }).replace(/,/g, '،');\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return arSa;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var arMa = moment.defineLocale('ar-ma', {\n months : 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),\n monthsShort : 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),\n weekdays : 'الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort : 'احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'في %s',\n past : 'منذ %s',\n s : 'ثوان',\n ss : '%d ثانية',\n m : 'دقيقة',\n mm : '%d دقائق',\n h : 'ساعة',\n hh : '%d ساعات',\n d : 'يوم',\n dd : '%d أيام',\n M : 'شهر',\n MM : '%d أشهر',\n y : 'سنة',\n yy : '%d سنوات'\n },\n week : {\n dow : 6, // Saturday is the first day of the week.\n doy : 12 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return arMa;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '1',\n '2': '2',\n '3': '3',\n '4': '4',\n '5': '5',\n '6': '6',\n '7': '7',\n '8': '8',\n '9': '9',\n '0': '0'\n }, pluralForm = function (n) {\n return n === 0 ? 0 : n === 1 ? 1 : n === 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5;\n }, plurals = {\n s : ['أقل من ثانية', 'ثانية واحدة', ['ثانيتان', 'ثانيتين'], '%d ثوان', '%d ثانية', '%d ثانية'],\n m : ['أقل من دقيقة', 'دقيقة واحدة', ['دقيقتان', 'دقيقتين'], '%d دقائق', '%d دقيقة', '%d دقيقة'],\n h : ['أقل من ساعة', 'ساعة واحدة', ['ساعتان', 'ساعتين'], '%d ساعات', '%d ساعة', '%d ساعة'],\n d : ['أقل من يوم', 'يوم واحد', ['يومان', 'يومين'], '%d أيام', '%d يومًا', '%d يوم'],\n M : ['أقل من شهر', 'شهر واحد', ['شهران', 'شهرين'], '%d أشهر', '%d شهرا', '%d شهر'],\n y : ['أقل من عام', 'عام واحد', ['عامان', 'عامين'], '%d أعوام', '%d عامًا', '%d عام']\n }, pluralize = function (u) {\n return function (number, withoutSuffix, string, isFuture) {\n var f = pluralForm(number),\n str = plurals[u][pluralForm(number)];\n if (f === 2) {\n str = str[withoutSuffix ? 0 : 1];\n }\n return str.replace(/%d/i, number);\n };\n }, months = [\n 'يناير',\n 'فبراير',\n 'مارس',\n 'أبريل',\n 'مايو',\n 'يونيو',\n 'يوليو',\n 'أغسطس',\n 'سبتمبر',\n 'أكتوبر',\n 'نوفمبر',\n 'ديسمبر'\n ];\n\n var arLy = moment.defineLocale('ar-ly', {\n months : months,\n monthsShort : months,\n weekdays : 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort : 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'D/\\u200FM/\\u200FYYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n meridiemParse: /ص|م/,\n isPM : function (input) {\n return 'م' === input;\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ص';\n } else {\n return 'م';\n }\n },\n calendar : {\n sameDay: '[اليوم عند الساعة] LT',\n nextDay: '[غدًا عند الساعة] LT',\n nextWeek: 'dddd [عند الساعة] LT',\n lastDay: '[أمس عند الساعة] LT',\n lastWeek: 'dddd [عند الساعة] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'بعد %s',\n past : 'منذ %s',\n s : pluralize('s'),\n ss : pluralize('s'),\n m : pluralize('m'),\n mm : pluralize('m'),\n h : pluralize('h'),\n hh : pluralize('h'),\n d : pluralize('d'),\n dd : pluralize('d'),\n M : pluralize('M'),\n MM : pluralize('M'),\n y : pluralize('y'),\n yy : pluralize('y')\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n }).replace(/,/g, '،');\n },\n week : {\n dow : 6, // Saturday is the first day of the week.\n doy : 12 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return arLy;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var arKw = moment.defineLocale('ar-kw', {\n months : 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),\n monthsShort : 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),\n weekdays : 'الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort : 'احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'في %s',\n past : 'منذ %s',\n s : 'ثوان',\n ss : '%d ثانية',\n m : 'دقيقة',\n mm : '%d دقائق',\n h : 'ساعة',\n hh : '%d ساعات',\n d : 'يوم',\n dd : '%d أيام',\n M : 'شهر',\n MM : '%d أشهر',\n y : 'سنة',\n yy : '%d سنوات'\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 12 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return arKw;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var arDz = moment.defineLocale('ar-dz', {\n months : 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),\n monthsShort : 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),\n weekdays : 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort : 'احد_اثنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin : 'أح_إث_ثلا_أر_خم_جم_سب'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'في %s',\n past : 'منذ %s',\n s : 'ثوان',\n ss : '%d ثانية',\n m : 'دقيقة',\n mm : '%d دقائق',\n h : 'ساعة',\n hh : '%d ساعات',\n d : 'يوم',\n dd : '%d أيام',\n M : 'شهر',\n MM : '%d أشهر',\n y : 'سنة',\n yy : '%d سنوات'\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 4 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return arDz;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '١',\n '2': '٢',\n '3': '٣',\n '4': '٤',\n '5': '٥',\n '6': '٦',\n '7': '٧',\n '8': '٨',\n '9': '٩',\n '0': '٠'\n }, numberMap = {\n '١': '1',\n '٢': '2',\n '٣': '3',\n '٤': '4',\n '٥': '5',\n '٦': '6',\n '٧': '7',\n '٨': '8',\n '٩': '9',\n '٠': '0'\n }, pluralForm = function (n) {\n return n === 0 ? 0 : n === 1 ? 1 : n === 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5;\n }, plurals = {\n s : ['أقل من ثانية', 'ثانية واحدة', ['ثانيتان', 'ثانيتين'], '%d ثوان', '%d ثانية', '%d ثانية'],\n m : ['أقل من دقيقة', 'دقيقة واحدة', ['دقيقتان', 'دقيقتين'], '%d دقائق', '%d دقيقة', '%d دقيقة'],\n h : ['أقل من ساعة', 'ساعة واحدة', ['ساعتان', 'ساعتين'], '%d ساعات', '%d ساعة', '%d ساعة'],\n d : ['أقل من يوم', 'يوم واحد', ['يومان', 'يومين'], '%d أيام', '%d يومًا', '%d يوم'],\n M : ['أقل من شهر', 'شهر واحد', ['شهران', 'شهرين'], '%d أشهر', '%d شهرا', '%d شهر'],\n y : ['أقل من عام', 'عام واحد', ['عامان', 'عامين'], '%d أعوام', '%d عامًا', '%d عام']\n }, pluralize = function (u) {\n return function (number, withoutSuffix, string, isFuture) {\n var f = pluralForm(number),\n str = plurals[u][pluralForm(number)];\n if (f === 2) {\n str = str[withoutSuffix ? 0 : 1];\n }\n return str.replace(/%d/i, number);\n };\n }, months = [\n 'يناير',\n 'فبراير',\n 'مارس',\n 'أبريل',\n 'مايو',\n 'يونيو',\n 'يوليو',\n 'أغسطس',\n 'سبتمبر',\n 'أكتوبر',\n 'نوفمبر',\n 'ديسمبر'\n ];\n\n var ar = moment.defineLocale('ar', {\n months : months,\n monthsShort : months,\n weekdays : 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort : 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'D/\\u200FM/\\u200FYYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n meridiemParse: /ص|م/,\n isPM : function (input) {\n return 'م' === input;\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ص';\n } else {\n return 'م';\n }\n },\n calendar : {\n sameDay: '[اليوم عند الساعة] LT',\n nextDay: '[غدًا عند الساعة] LT',\n nextWeek: 'dddd [عند الساعة] LT',\n lastDay: '[أمس عند الساعة] LT',\n lastWeek: 'dddd [عند الساعة] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'بعد %s',\n past : 'منذ %s',\n s : pluralize('s'),\n ss : pluralize('s'),\n m : pluralize('m'),\n mm : pluralize('m'),\n h : pluralize('h'),\n hh : pluralize('h'),\n d : pluralize('d'),\n dd : pluralize('d'),\n M : pluralize('M'),\n MM : pluralize('M'),\n y : pluralize('y'),\n yy : pluralize('y')\n },\n preparse: function (string) {\n return string.replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\n return numberMap[match];\n }).replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n }).replace(/,/g, '،');\n },\n week : {\n dow : 6, // Saturday is the first day of the week.\n doy : 12 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return ar;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var af = moment.defineLocale('af', {\n months : 'Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember'.split('_'),\n monthsShort : 'Jan_Feb_Mrt_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des'.split('_'),\n weekdays : 'Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag'.split('_'),\n weekdaysShort : 'Son_Maa_Din_Woe_Don_Vry_Sat'.split('_'),\n weekdaysMin : 'So_Ma_Di_Wo_Do_Vr_Sa'.split('_'),\n meridiemParse: /vm|nm/i,\n isPM : function (input) {\n return /^nm$/i.test(input);\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours < 12) {\n return isLower ? 'vm' : 'VM';\n } else {\n return isLower ? 'nm' : 'NM';\n }\n },\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Vandag om] LT',\n nextDay : '[Môre om] LT',\n nextWeek : 'dddd [om] LT',\n lastDay : '[Gister om] LT',\n lastWeek : '[Laas] dddd [om] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'oor %s',\n past : '%s gelede',\n s : '\\'n paar sekondes',\n ss : '%d sekondes',\n m : '\\'n minuut',\n mm : '%d minute',\n h : '\\'n uur',\n hh : '%d ure',\n d : '\\'n dag',\n dd : '%d dae',\n M : '\\'n maand',\n MM : '%d maande',\n y : '\\'n jaar',\n yy : '%d jaar'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n ordinal : function (number) {\n return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de'); // Thanks to Joris Röling : https://github.com/jjupiter\n },\n week : {\n dow : 1, // Maandag is die eerste dag van die week.\n doy : 4 // Die week wat die 4de Januarie bevat is die eerste week van die jaar.\n }\n });\n\n return af;\n\n})));\n","import { each } from './each';\n\nexport function extendDeep(target) {\n for (var i = 1; i < arguments.length; i++) {\n each(arguments[i], function(prop, key){\n if (( typeof target[key] !== 'undefined' && typeof prop !== 'undefined' ) &&\n ( typeof target[key] === 'object' && typeof prop === 'object' ) &&\n ( target[key] !== null && prop !== null )) {\n extendDeep(target[key], prop);\n }\n else {\n target[key] = prop;\n }\n });\n }\n return target;\n}\n","module.exports = __WEBPACK_EXTERNAL_MODULE__135__;","import { each } from '../../utils/each';\nimport { extend } from '../../utils/extend';\n\nfunction average(arr, start, end){\n var set = arr.slice(start||0, (end ? end+1 : arr.length)),\n sum = 0,\n avg = null;\n\n // Add numeric values\n each(set, function(val, i){\n if (typeof val === 'number' && !isNaN(parseFloat(val))) {\n sum += parseFloat(val);\n }\n });\n return sum / set.length;\n}\n\nfunction maximum(arr, start, end){\n var set = arr.slice(start||0, (end ? end+1 : arr.length)),\n nums = [];\n\n // Pull numeric values\n each(set, function(val, i){\n if (typeof val === 'number' && !isNaN(parseFloat(val))) {\n nums.push(parseFloat(val));\n }\n });\n return Math.max.apply(Math, nums);\n}\n\nfunction minimum(arr, start, end){\n var set = arr.slice(start||0, (end ? end+1 : arr.length)),\n nums = [];\n\n // Pull numeric values\n each(set, function(val, i){\n if (typeof val === 'number' && !isNaN(parseFloat(val))) {\n nums.push(parseFloat(val));\n }\n });\n return Math.min.apply(Math, nums);\n}\n\nfunction sum(arr, start, end){\n // Copy set with given range\n var set = arr.slice(start||0, (end ? end+1 : arr.length)),\n sum = 0;\n\n // Add numeric values\n each(set, function(val, i){\n if (typeof val === 'number' && !isNaN(parseFloat(val))) {\n sum += parseFloat(val);\n }\n });\n return sum;\n}\n\nconst getColumnAverage = function (arr) {\n return average(arr, 1);\n};\nconst getRowAverage = getColumnAverage;\n\nconst getColumnSum = function (arr) {\n return sum(arr, 1);\n};\nconst getRowSum = getColumnSum;\n\nconst getColumnMaximum = function (arr) {\n return maximum(arr, 1);\n};\nconst getRowMaximum = getColumnMaximum;\n\nconst getColumnMinimum = function (arr) {\n return minimum(arr, 1);\n};\nconst getRowMinimum = getColumnMinimum;\n\nconst getColumnLabel = function (arr) {\n return arr[0];\n};\nconst getRowIndex = getColumnLabel;\n\nexport default {\n average,\n maximum,\n minimum,\n sum,\n getColumnAverage,\n getRowAverage,\n getColumnSum,\n getRowSum,\n getColumnMaximum,\n getRowMaximum,\n getColumnMinimum,\n getRowMinimum,\n getColumnLabel,\n getRowIndex,\n};\n","// Modifiers\nimport * as append from './modifiers/append';\nimport * as del from './modifiers/delete';\nimport * as filter from './modifiers/filter';\nimport * as insert from './modifiers/insert';\nimport * as select from './modifiers/select';\nimport * as sort from './modifiers/sort';\nimport * as update from './modifiers/update';\n\n// Utils\nimport analyses from './utils/analyses';\nimport { extend } from '../utils/extend';\nimport parsers from './utils/parsers';\n\nexport const Dataset = function (config = {}) {\n if (this instanceof Dataset === false) {\n return new Dataset(config);\n }\n\n this.matrix = [\n ['Index']\n ];\n this.meta = {\n type: undefined\n };\n this.config = config;\n}\n\nDataset.prototype.data = function (arr) {\n if (!arguments.length) return this.matrix;\n this.matrix = (arr instanceof Array ? arr : null);\n return this;\n};\n\nDataset.prototype.set = function (coords, value) {\n if (arguments.length < 2 || coords.length < 2) {\n throw Error('Incorrect arguments provided for #set method');\n }\n\n var colIndex = 'number' === typeof coords[0] ? coords[0] : this.matrix[0].indexOf(coords[0]),\n rowIndex = 'number' === typeof coords[1] ? coords[1] : select.selectColumn.call(this, 0).indexOf(coords[1]);\n\n var colResult = select.selectColumn.call(this, coords[0]),\n rowResult = select.selectRow.call(this, coords[1]);\n\n // Column doesn't exist, create and reset colIndex\n if (colResult.length < 1) {\n append.appendColumn.call(this, String(coords[0]));\n colIndex = this.matrix[0].length - 1;\n }\n\n // Row doesn't exist, create and reset rowIndex\n if (rowResult.length < 1) {\n append.appendRow.call(this, String(coords[1]));\n rowIndex = this.matrix.length - 1;\n }\n\n // Set provided value\n this.matrix[ rowIndex ][ colIndex ] = value;\n return this;\n};\n\nDataset.prototype.type = function(str){\n if (!arguments.length) return this.meta['type'];\n this.meta['type'] = (str ? String(str) : undefined);\n return this;\n};\n\nextend(Dataset.prototype, append);\nextend(Dataset.prototype, del);\nextend(Dataset.prototype, filter);\nextend(Dataset.prototype, insert);\nextend(Dataset.prototype, select);\nextend(Dataset.prototype, sort);\nextend(Dataset.prototype, update);\nextend(Dataset.prototype, analyses);\nDataset.parser = parsers(Dataset);\n\nexport default Dataset;\n","import * as d3 from 'd3';\nimport { textWrap } from '../../utils/svg-text-wrap';\nimport { prettyNumber } from '../../utils/pretty-number';\n\nexport default class HorizontalFunnel3d {\n render() {\n const { matrix } = this.dataset;\n const {\n colors,\n container,\n labelMapping,\n colorMapping\n } = this.config;\n const opts = this.config;\n const {\n percents: {\n show,\n countingMethod,\n decimals,\n },\n lines,\n resultValues,\n effect3d,\n hover\n } = this.config.funnel;\n const margin = { top: 0, right: 30, bottom: 100, left: 10 };\n const funnelContainer = d3.select(container);\n const chartContainer = d3.select(container + ' .c3-chart');\n const chart = chartContainer.append('svg');\n const svgWidth = funnelContainer.style('width').slice(0, -2)\n - margin.right - margin.left;\n const svgHeight = funnelContainer.style('height').slice(0, -2)\n - margin.top - margin.bottom - 30;\n const elemWidth= svgWidth/(matrix.length - 1);\n const xMarginElement = elemWidth * 0.3;\n const shadowCut = (xMarginElement/1.5);\n let prevElemHeight = svgHeight;\n let percent = (100).toFixed(decimals);\n\n // prepare normal funnel polygons\n const polygons = matrix.slice(1).map((d, i) => {\n const newPoints = [\n {\n x: elemWidth * i + xMarginElement,\n y: ((svgHeight - prevElemHeight)/2)\n },\n {\n x: elemWidth * i + xMarginElement,\n y: ((svgHeight - prevElemHeight)/2 + prevElemHeight)\n },\n ]\n if(i !== 0){\n if(countingMethod === 'relative'){\n prevElemHeight = prevElemHeight * d[1]/matrix[i][1];\n percent = ((d[1]/matrix[i][1])*100).toFixed(decimals);\n }\n if(countingMethod === 'absolute'){\n prevElemHeight = svgHeight * d[1]/matrix[1][1];\n percent = ((d[1]/matrix[1][1])*100).toFixed(decimals);\n }\n }\n let label = d[0];\n if(Object.keys(labelMapping).length){\n for (let key in labelMapping) {\n if(labelMapping[key] === d[0]) {\n label = key;\n }\n }\n }\n let result = d[1];\n if ( (typeof opts['prettyNumber'] === 'undefined' || opts['prettyNumber'] === true)\n && !isNaN(parseInt(d[1])) ) {\n result = prettyNumber(d[1]);\n }\n return {\n name: d[0],\n label,\n percent: percent + '%',\n result,\n points: [\n ...newPoints,\n {\n x: elemWidth * (i + 1),\n y: ((svgHeight - prevElemHeight)/2 + prevElemHeight)\n },\n {\n x: elemWidth * (i + 1),\n y: ((svgHeight - prevElemHeight)/2)\n }\n ]\n }\n });\n\n //funnel shadows preparing\n const polygonsShadows = polygons.map((d, i) => {\n return {\n label: d.label,\n points: [\n {\n x: d.points[0].x,\n y: d.points[0].y\n },\n {\n x: d.points[1].x,\n y: d.points[1].y\n },\n {\n x: effect3d === 'top'\n ? d.points[1].x\n : d.points[1].x - shadowCut,\n y: effect3d === 'top'\n ? d.points[1].y\n : d.points[1].y - xMarginElement < svgHeight/2\n ? svgHeight/2 + 5\n : d.points[1].y - xMarginElement\n },\n {\n x: effect3d === 'bottom'\n ? d.points[0].x\n : d.points[0].x - shadowCut,\n y: effect3d === 'bottom'\n ? d.points[0].y\n : d.points[0].y + xMarginElement > svgHeight/2\n ? svgHeight/2 - 5\n : d.points[0].y + xMarginElement\n },\n ]\n }\n })\n\n //connecting funnels with shadows for rendering\n const polygons3d = polygons.concat(polygonsShadows);\n\n //chart rendering with polygons\n chart\n .attr('height', svgHeight + margin.top + margin.bottom - 30)\n .attr('width', svgWidth + margin.left + margin.right)\n .append('g')\n .attr('transform', 'translate(' + margin.left + ',' + margin.top + ')')\n .selectAll('polygon')\n .data(polygons3d)\n .enter()\n .append('polygon')\n .attr('points', (d) => {\n return d.points.map((p) => {\n return [p.x,p.y].join(',');\n })\n .join(' ');\n })\n .style('fill', (d, i) => {\n if(i > (polygons.length - 1)){\n if(colorMapping[d.label]){\n return d3.rgb(colorMapping[d.label]).darker(1.5);\n }\n return d3.rgb(colors[i - (polygons.length)]).darker(1.5);\n }\n if(colorMapping[d.label]){\n return colorMapping[d.label];\n }\n return colors[i];\n })\n .attr('class', (d) => { return d.label; })\n .attr('cursor', 'pointer');\n\n if(lines){\n //rendering lines\n chart\n .selectAll('line')\n .data(polygons)\n .enter()\n .append('line')\n .attr('x1', (d) => {\n return d.points[0].x + margin.left - (xMarginElement * 0.8);\n })\n .attr('y1', svgHeight + margin.bottom)\n .attr('x2', (d) => {\n return d.points[0].x + margin.left - (xMarginElement * 0.8);\n })\n .attr('y2', (d) => { return d.points[0].y; })\n .attr('class', 'chart-lines');\n\n //rendering last line\n chart\n .append('line')\n .attr('x1', svgWidth + margin.left + (xMarginElement/4))\n .attr('y1', svgHeight + margin.bottom)\n .attr('x2', polygons[polygons.length-1].points[3].x\n + margin.left + (xMarginElement/4))\n .attr('y2', polygons[polygons.length-1].points[3].y)\n .attr('class', 'chart-lines');\n }\n\n //rendering labels when lines are visible\n if(lines){\n chart\n .selectAll('text.label')\n .data(polygons)\n .enter()\n .append('text')\n .style('text-anchor', 'middle')\n .attr('x', (d) => {\n return d.points[0].x + margin.left + (elemWidth * 0.25)\n })\n .attr('y', svgHeight + (margin.bottom * 0.4))\n .attr('class', (d) => { return 'text-label ' + d.label; })\n .text((d) => { return d.name; })\n .call(textWrap, elemWidth)\n .attr('cursor', 'pointer');\n }\n\n //rendering labels when lines are not visible\n if(!lines) {\n chart\n .selectAll('text.label')\n .data(polygons)\n .enter()\n .append('text')\n .style('text-anchor', 'middle')\n .attr('x', (d) => {\n return d.points[0].x + margin.left + (elemWidth * 0.25)\n })\n .attr('y', (d) => {\n if(d.points[2].y + (elemWidth/4) >\n svgHeight + margin.bottom - 40){\n return svgHeight + margin.bottom - 40;\n }\n if(d.points[2].y + (elemWidth/4) < d.points[1].y){\n return d.points[1].y + 20;\n }\n return d.points[2].y + (elemWidth/4) + 10;\n })\n .attr('class', (d) => { return 'text-label ' + d.label; })\n .text((d) => { return d.name; })\n .call(textWrap, elemWidth)\n .attr('cursor', 'pointer');\n }\n\n //rendering percents for each step\n if(show && !resultValues){\n chart\n .selectAll('text.label')\n .data(polygons)\n .enter()\n .append('text')\n .style('text-anchor', 'middle')\n .attr('x', (d) => {\n return d.points[1].x + (elemWidth/2.8) + margin.left\n })\n .attr('y', svgHeight/2 + margin.top + 10)\n .attr('class', (d) => { return 'text-main ' + d.label; })\n .text((d) => { return d.percent; })\n .attr('cursor', 'pointer');\n }\n\n //rendering results for each step\n if(resultValues && !show){\n chart\n .selectAll('text.label')\n .data(polygons)\n .enter()\n .append('text')\n .style('text-anchor', 'middle')\n .attr('x', (d) => {\n return d.points[1].x + (elemWidth/2.8) + margin.left\n })\n .attr('y', svgHeight/2 + margin.top + 10)\n .attr('class', (d) => { return 'text-main ' + d.label; })\n .text((d) => { return d.result; })\n .attr('cursor', 'pointer');\n }\n\n //rendering results and percenage together\n if(show && resultValues){\n //rendering percents\n chart\n .selectAll('text.label')\n .data(polygons)\n .enter()\n .append('text')\n .style('text-anchor', 'middle')\n .attr('x', (d) => {\n return d.points[1].x + (elemWidth/2.8) + margin.left\n })\n .attr('y', svgHeight/2 + margin.top + 16)\n .attr('class', (d) => { return 'text-second ' + d.label; })\n .text((d) => { return d.percent; })\n .attr('cursor', 'pointer');\n\n //rendering results\n chart\n .selectAll('text.label')\n .data(polygons)\n .enter()\n .append('text')\n .style('text-anchor', 'middle')\n .attr('x', (d) => {\n return d.points[1].x + (elemWidth/2.8) + margin.left\n })\n .attr('y', svgHeight/2+ margin.top - 3)\n .attr('class', (d) => { return 'text-main ' + d.label; })\n .text((d) => { return d.result; })\n .attr('cursor', 'pointer');\n }\n\n //hover handling\n if(hover){\n const polygonsHover = chart.selectAll('polygon');\n polygonsHover\n .on(\"mouseover\", handleMouseOver)\n .on(\"mouseout\", handleMouseOut);\n\n const labelHover = chart.selectAll('text');\n labelHover\n .on(\"mouseover\", handleMouseOver)\n .on(\"mouseout\", handleMouseOut);\n\n function handleMouseOver(d) {\n polygonsHover\n .style('opacity', 0.5);\n labelHover\n .style('opacity', 0.5);\n const thisLabel = /[^ ]*$/.exec(d3.select(this).attr('class'))[0];\n chart\n .selectAll(`.${thisLabel}`)\n .style('opacity', 1);\n }\n function handleMouseOut(d) {\n polygonsHover\n .style('opacity', 1);\n labelHover\n .style('opacity', 1);\n }\n }\n }\n update() {\n this.destroy();\n this.render();\n }\n destroy() {\n const { container } = this.config;\n const chartContainer = d3.select(container + ' .c3-chart > *');\n chartContainer.remove();\n }\n}\n","import * as d3 from 'd3';\nimport { textWrap } from '../../utils/svg-text-wrap';\nimport { prettyNumber } from '../../utils/pretty-number';\n\nexport default class HorizontalFunnel {\n render() {\n const { matrix } = this.dataset;\n const {\n colors,\n container,\n labelMapping,\n colorMapping\n } = this.config;\n const opts = this.config;\n const {\n percents: {\n show,\n countingMethod,\n decimals,\n },\n lines,\n marginBetweenSteps,\n resultValues,\n hover\n } = this.config.funnel;\n const margin = { top: 0, right: 30, bottom: 100, left: 10 };\n let xMarginElement = 0;\n if(marginBetweenSteps){\n xMarginElement = 5;\n }\n const funnelContainer = d3.select(container);\n const chartContainer = d3.select(container + ' .c3-chart');\n const chart = chartContainer.append('svg');\n const svgWidth = funnelContainer.style('width').slice(0, -2)\n - margin.right - margin.left;\n const svgHeight = funnelContainer.style('height').slice(0, -2)\n - margin.top - margin.bottom - 30;\n const elemWidth= svgWidth/(matrix.length - 1);\n let prevElemHeight = svgHeight;\n let percent = (100).toFixed(decimals);\n\n // prepare normal funnel polygons\n const polygons = matrix.slice(1).map((d, i) => {\n const newPoints = [\n {\n x: elemWidth * i + xMarginElement,\n y: ((svgHeight - prevElemHeight)/2)\n },\n {\n x: elemWidth * i + xMarginElement,\n y: ((svgHeight - prevElemHeight)/2 + prevElemHeight)\n },\n ]\n if(i !== 0){\n if(countingMethod === 'relative'){\n prevElemHeight = prevElemHeight * d[1]/matrix[i][1];\n percent = ((d[1]/matrix[i][1])*100).toFixed(decimals);\n }\n if(countingMethod === 'absolute'){\n prevElemHeight = svgHeight * d[1]/matrix[1][1];\n percent = ((d[1]/matrix[1][1])*100).toFixed(decimals);\n }\n }\n let label = d[0];\n if(Object.keys(labelMapping).length){\n for (let key in labelMapping) {\n if(labelMapping[key] === d[0]) {\n label = key;\n }\n }\n }\n let result = d[1];\n if ( (typeof opts['prettyNumber'] === 'undefined'\n || opts['prettyNumber'] === true)\n && !isNaN(parseInt(d[1])) ) {\n result = prettyNumber(d[1]);\n }\n return {\n name: d[0],\n label,\n percent: percent + '%',\n result,\n points: [\n ...newPoints,\n {\n x: elemWidth * (i + 1),\n y: ((svgHeight - prevElemHeight)/2 + prevElemHeight)\n },\n {\n x: elemWidth * (i + 1),\n y: ((svgHeight - prevElemHeight)/2)\n }\n ]\n }\n });\n\n //chart rendering with polygons\n chart\n .attr('height', svgHeight + margin.top + margin.bottom - 30)\n .attr('width', svgWidth + margin.left + margin.right)\n .append('g')\n .attr('transform', 'translate(' + margin.left + ',' + margin.top + ')')\n .selectAll('polygon')\n .data(polygons)\n .enter()\n .append('polygon')\n .attr('points', (d) => {\n return d.points.map((p) => {\n return [p.x,p.y].join(',');\n })\n .join(' ');\n })\n .style('fill', (d, i) => {\n if(colorMapping[d.label]){\n return colorMapping[d.label];\n }\n return colors[i];\n })\n .attr('class', (d) => { return d.label; })\n .attr('cursor', 'pointer');\n\n if(lines){\n //rendering lines\n chart\n .selectAll('line')\n .data(polygons)\n .enter()\n .append('line')\n .attr('x1', (d) => {\n return d.points[0].x + margin.left - (xMarginElement/2);\n })\n .attr('y1', svgHeight + margin.bottom)\n .attr('x2', (d) => {\n return d.points[0].x + margin.left - (xMarginElement/2);\n })\n .attr('y2', (d) => { return d.points[0].y; })\n .attr('class', 'chart-lines');\n\n //rendering last line\n chart\n .append('line')\n .attr('x1', svgWidth + margin.left - (xMarginElement/2))\n .attr('y1', svgHeight + margin.bottom)\n .attr('x2', polygons[polygons.length-1].points[3].x\n + margin.left + (xMarginElement/2))\n .attr('y2', polygons[polygons.length-1].points[3].y)\n .attr('class', 'chart-lines');\n }\n\n //rendering labels when lines are visible\n if(lines){\n chart\n .selectAll('text.label')\n .data(polygons)\n .enter()\n .append('text')\n .style('text-anchor', 'middle')\n .attr('x', (d) => {\n return d.points[1].x + (elemWidth/2) + margin.left\n })\n .attr('y', svgHeight + (margin.bottom * 0.5))\n .attr('class', (d) => { return 'text-label ' + d.label; })\n .text((d) => { return d.name; })\n .call(textWrap, elemWidth)\n .attr('cursor', 'pointer');\n }\n\n //rendering labels when lines are not visible\n if(!lines) {\n chart\n .selectAll('text.label')\n .data(polygons)\n .enter()\n .append('text')\n .style('text-anchor', 'middle')\n .attr('x', (d) => {\n return d.points[1].x + (elemWidth/2) + margin.left\n })\n .attr('y', (d) => {\n if(d.points[2].y + ((d.points[3].y - d.points[0].y)/2)\n + (elemWidth/4) > svgHeight + margin.bottom - 40){\n return svgHeight + margin.bottom - 40;\n }\n return d.points[2].y + ((d.points[3].y - d.points[0].y)/2)\n + (elemWidth/4);\n })\n .attr('class', (d) => { return 'text-label ' + d.label; })\n .text((d) => { return d.name; })\n .call(textWrap, elemWidth)\n .attr('cursor', 'pointer');\n }\n\n //rendering percents for each step\n if(show && !resultValues){\n chart\n .selectAll('text.label')\n .data(polygons)\n .enter()\n .append('text')\n .style('text-anchor', 'middle')\n .attr('x', (d) => {\n return d.points[1].x + (elemWidth/2) + margin.left\n })\n .attr('y', svgHeight/2 + margin.top + 10)\n .attr('class', (d) => { return 'text-main ' + d.label; })\n .text((d) => { return d.percent; })\n .attr('cursor', 'pointer');\n }\n\n //rendering results for each step\n if(resultValues && !show){\n chart\n .selectAll('text.label')\n .data(polygons)\n .enter()\n .append('text')\n .style('text-anchor', 'middle')\n .attr('x', (d) => {\n return d.points[1].x + (elemWidth/2) + margin.left\n })\n .attr('y', svgHeight/2 + margin.top + 10)\n .attr('class', (d) => { return 'text-main ' + d.label; })\n .text((d) => { return d.result; })\n .attr('cursor', 'pointer');\n }\n\n //rendering results and percenage together\n if(show && resultValues){\n //rendering percents\n chart\n .selectAll('text.label')\n .data(polygons)\n .enter()\n .append('text')\n .style('text-anchor', 'middle')\n .attr('x', (d) => {\n return d.points[1].x + (elemWidth/2) + margin.left\n })\n .attr('y', svgHeight/2 + margin.top + 16)\n .attr('class', (d) => { return 'text-second ' + d.label; })\n .text((d) => { return d.percent; })\n .attr('cursor', 'pointer');\n\n //rendering results\n chart\n .selectAll('text.label')\n .data(polygons)\n .enter()\n .append('text')\n .style('text-anchor', 'middle')\n .attr('x', (d) => {\n return d.points[1].x + (elemWidth/2) + margin.left\n })\n .attr('y', svgHeight/2+ margin.top - 3)\n .attr('class', (d) => { return 'text-main ' + d.label; })\n .text((d) => { return d.result; })\n .attr('cursor', 'pointer');\n }\n //hover handling\n if(hover){\n const polygonsHover = chart.selectAll('polygon');\n polygonsHover\n .on(\"mouseover\", handleMouseOver)\n .on(\"mouseout\", handleMouseOut);\n\n const labelHover = chart.selectAll('text');\n labelHover\n .on(\"mouseover\", handleMouseOver)\n .on(\"mouseout\", handleMouseOut);\n\n function handleMouseOver(d) {\n polygonsHover\n .style('opacity', 0.5);\n labelHover\n .style('opacity', 0.5);\n const thisLabel = /[^ ]*$/.exec(d3.select(this).attr('class'))[0];\n chart\n .selectAll(`.${thisLabel}`)\n .style('opacity', 1);\n }\n function handleMouseOut(d) {\n polygonsHover\n .style('opacity', 1);\n labelHover\n .style('opacity', 1);\n }\n }\n\n }\n update() {\n this.destroy();\n this.render();\n }\n destroy() {\n const { container } = this.config;\n const chartContainer = d3.select(container + ' .c3-chart > *');\n chartContainer.remove();\n }\n}\n","import * as d3 from 'd3';\nimport { textWrap } from '../../utils/svg-text-wrap';\nimport { prettyNumber } from '../../utils/pretty-number';\n\nexport default class Funnel3d {\n render() {\n const { matrix } = this.dataset;\n const {\n colors,\n container,\n labelMapping,\n colorMapping\n } = this.config;\n const opts = this.config;\n const {\n percents: {\n show,\n countingMethod,\n decimals,\n },\n lines,\n resultValues,\n effect3d,\n hover,\n } = this.config.funnel;\n const margin = { top: 10, right: 30, bottom: 60, left: 200 };\n const funnelContainer = d3.select(container);\n const chartContainer = d3.select(container + ' .c3-chart');\n const chart = chartContainer.append('svg');\n const svgWidth = funnelContainer.style('width').slice(0, -2)\n - margin.right - margin.left;\n const svgHeight = funnelContainer.style('height').slice(0, -2)\n - margin.top - margin.bottom - 30;\n const elemHeight = svgHeight/(matrix.length - 1);\n const yMarginElement = elemHeight * 0.3;\n const shadowCut = (yMarginElement * 2.5);\n let prevElemWidth = svgWidth;\n let percent = (100).toFixed(decimals);\n\n // prepare normal funnel polygons\n const polygons = matrix.slice(1).map((d, i) => {\n const newPoints = [\n {\n x: ((svgWidth - prevElemWidth)/2),\n y: elemHeight * i + yMarginElement\n },\n {\n x: ((svgWidth - prevElemWidth)/2 + prevElemWidth),\n y: elemHeight * i + yMarginElement\n },\n ]\n if(i !== 0){\n if(countingMethod === 'relative'){\n prevElemWidth = prevElemWidth * d[1]/matrix[i][1];\n percent = ((d[1]/matrix[i][1])*100).toFixed(decimals);\n }\n if(countingMethod === 'absolute'){\n prevElemWidth = svgWidth * d[1]/matrix[1][1];\n percent = ((d[1]/matrix[1][1])*100).toFixed(decimals);\n }\n }\n let label = d[0];\n if(Object.keys(labelMapping).length){\n for (let key in labelMapping) {\n if(labelMapping[key] === d[0]) {\n label = key;\n }\n }\n }\n let result = d[1];\n if ( (typeof opts['prettyNumber'] === 'undefined' || opts['prettyNumber'] === true)\n && !isNaN(parseInt(d[1])) ) {\n result = prettyNumber(d[1]);\n }\n return {\n name: d[0],\n label,\n percent: percent + '%',\n result,\n points: [\n ...newPoints,\n {\n x: ((svgWidth - prevElemWidth)/2 + prevElemWidth),\n y: elemHeight * (i + 1)\n },\n {\n x: ((svgWidth - prevElemWidth)/2),\n y: elemHeight * (i + 1)\n }\n ]\n }\n });\n\n //funnel shadows preparing\n const polygonsShadows = polygons.map((d, i) => {\n return {\n label: d.label,\n points: [\n {\n x: d.points[3].x,\n y: d.points[3].y\n },\n {\n x: d.points[2].x,\n y: d.points[2].y\n },\n {\n x: effect3d === 'left'\n ? d.points[2].x\n : d.points[2].x - shadowCut < svgWidth/2\n ? svgWidth/2 + 5\n : d.points[2].x - shadowCut,\n y: effect3d === 'left'\n ? d.points[2].y\n : d.points[2].y + (yMarginElement/1.5)\n },\n {\n x: effect3d === 'right'\n ? d.points[3].x\n : d.points[3].x + shadowCut > svgWidth/2\n ? svgWidth/2 - 5\n : d.points[3].x + shadowCut,\n y: effect3d === 'right'\n ? d.points[3].y\n : d.points[3].y + (yMarginElement/1.5)\n },\n ]\n }\n })\n\n //connecting funnels with shadows for rendering\n const polygons3d = polygons.concat(polygonsShadows);\n\n //chart rendering with polygons\n chart\n .attr('height', svgHeight + margin.top + margin.bottom - 30)\n .attr('width', svgWidth + margin.left + margin.right)\n .append('g')\n .attr('transform', 'translate(' + margin.left + ',' + margin.top + ')')\n .selectAll('polygon')\n .data(polygons3d)\n .enter()\n .append('polygon')\n .attr('points', (d) => {\n return d.points.map((p) => {\n return [p.x,p.y].join(',');\n })\n .join(' ');\n })\n .style('fill', (d, i) => {\n if(i > (polygons.length - 1)){\n if(colorMapping[d.label]){\n return d3.rgb(colorMapping[d.label]).darker(1.5);\n }\n return d3.rgb(colors[i - (polygons.length)]).darker(1.5);\n }\n if(colorMapping[d.label]){\n return colorMapping[d.label];\n }\n return colors[i];\n })\n .attr('class', (d) => { return d.label; })\n .attr('cursor', 'pointer');\n\n if(lines){\n //rendering lines\n chart\n .selectAll('line')\n .data(polygons)\n .enter()\n .append('line')\n .attr('x1', 10)\n .attr('y1', (d) => {\n return d.points[0].y + margin.top - (yMarginElement/5);\n })\n .attr('x2', (d, i) => {\n if(i === 0){\n return d.points[1].x + margin.left;\n }\n return d.points[1].x + margin.left - shadowCut;\n })\n .attr('y2', (d) => {\n return d.points[0].y + margin.top - (yMarginElement/5);\n })\n .attr('class', 'chart-lines');\n\n //rendering last line\n chart\n .append('line')\n .attr('x1', 10)\n .attr('y1', polygons[polygons.length-1].points[2].y + margin.top\n + yMarginElement - (yMarginElement/5))\n .attr('x2', polygons[polygons.length-1].points[2].x\n + margin.left - shadowCut )\n .attr('y2', polygons[polygons.length-1].points[2].y + margin.top\n + yMarginElement - (yMarginElement/5))\n .attr('class', 'chart-lines');\n }\n\n //rendering labels when lines are visible\n if(lines){\n chart\n .selectAll('text.label')\n .data(polygons)\n .enter()\n .append('text')\n .style('text-anchor', 'start')\n .attr('x', 20)\n .attr('y', (d) => {\n return ((d.points[2].y - d.points[1].y)/2) + d.points[1].y\n + margin.top + 5 + (yMarginElement/4)\n })\n .attr('class', (d) => { return 'text-label ' + d.label; })\n .text((d) => { return d.name; })\n .call(textWrap, margin.left)\n .attr('cursor', 'pointer');\n }\n\n //rendering labels when lines are not visible\n if(!lines){\n chart\n .selectAll('text.label')\n .data(polygons)\n .enter()\n .append('text')\n .style('text-anchor', 'end')\n .attr('x', (d) => {\n return d.points[0].x + ((d.points[3].x - d.points[0].x)/2) + 130;\n })\n .attr('y', (d) => {\n return ((d.points[2].y - d.points[1].y)/2) + d.points[1].y\n + margin.top + 5;\n })\n .attr('class', (d) => { return 'text-label ' + d.label; })\n .text((d) => { return d.name; })\n .call(textWrap, margin.left)\n .attr('cursor', 'pointer');\n }\n\n //rendering percents for each step\n if(show && !resultValues){\n chart\n .selectAll('text.label')\n .data(polygons)\n .enter()\n .append('text')\n .style('text-anchor', 'middle')\n .attr('x', svgWidth/2 + margin.left)\n .attr('y', (d) => {\n return ((d.points[2].y - d.points[1].y)/2) + d.points[1].y\n + margin.top + 8\n })\n .attr('class', (d) => { return 'text-main ' + d.label; })\n .text((d) => { return d.percent; })\n .attr('cursor', 'pointer');\n }\n\n //rendering results for each step\n if(resultValues && !show){\n chart\n .selectAll('text.label')\n .data(polygons)\n .enter()\n .append('text')\n .style('text-anchor', 'middle')\n .attr('x', svgWidth/2 + margin.left)\n .attr('y', (d) => {\n return ((d.points[2].y - d.points[1].y)/2) + d.points[1].y\n + margin.top + 8\n })\n .attr('class', (d) => { return 'text-main ' + d.label; })\n .text((d) => { return d.result; })\n .attr('cursor', 'pointer');\n }\n\n //rendering results and percenage together\n if(show && resultValues){\n //rendering percents\n chart\n .selectAll('text.label')\n .data(polygons)\n .enter()\n .append('text')\n .style('text-anchor', 'middle')\n .attr('x', svgWidth/2 + margin.left)\n .attr('y', (d) => {\n return ((d.points[2].y - d.points[1].y)/2) + d.points[1].y\n + margin.top + 18\n })\n .attr('class', (d) => { return 'text-second ' + d.label; })\n .text((d) => { return d.percent; })\n .attr('cursor', 'pointer');\n\n //rendering results\n chart\n .selectAll('text.label')\n .data(polygons)\n .enter()\n .append('text')\n .style('text-anchor', 'middle')\n .attr('x', svgWidth/2 + margin.left)\n .attr('y', (d) => {\n return ((d.points[2].y - d.points[1].y)/2) + d.points[1].y\n + margin.top + 3\n })\n .attr('class', (d) => { return 'text-main ' + d.label; })\n .text((d) => { return d.result; })\n .attr('cursor', 'pointer');\n }\n //hover handling\n if(hover){\n const polygonsHover = chart.selectAll('polygon');\n polygonsHover\n .on(\"mouseover\", handleMouseOver)\n .on(\"mouseout\", handleMouseOut);\n\n const labelHover = chart.selectAll('text');\n labelHover\n .on(\"mouseover\", handleMouseOver)\n .on(\"mouseout\", handleMouseOut);\n\n function handleMouseOver(d) {\n polygonsHover\n .style('opacity', 0.5);\n labelHover\n .style('opacity', 0.5);\n const thisLabel = /[^ ]*$/.exec(d3.select(this).attr('class'))[0];\n chart\n .selectAll(`.${thisLabel}`)\n .style('opacity', 1);\n }\n function handleMouseOut(d) {\n polygonsHover\n .style('opacity', 1);\n labelHover\n .style('opacity', 1);\n }\n }\n }\n update() {\n this.destroy();\n this.render();\n }\n destroy() {\n const { container } = this.config;\n const chartContainer = d3.select(container + ' .c3-chart > *');\n chartContainer.remove();\n }\n}\n","import * as d3 from 'd3';\nimport { textWrap } from '../../utils/svg-text-wrap';\nimport { prettyNumber } from '../../utils/pretty-number';\n\nexport default class Funnel {\n render() {\n const { matrix } = this.dataset;\n const {\n colors,\n container,\n labelMapping,\n colorMapping,\n } = this.config;\n const opts = this.config;\n const {\n percents: {\n show,\n countingMethod,\n decimals,\n },\n lines,\n marginBetweenSteps,\n resultValues,\n hover,\n } = this.config.funnel;\n const margin = { top: 10, right: 30, bottom: 30, left: 200 };\n let yMarginElement = 0;\n if(marginBetweenSteps){\n yMarginElement = 5;\n }\n const funnelContainer = d3.select(container);\n const chartContainer = d3.select(container + ' .c3-chart');\n const chart = chartContainer.append('svg');\n const svgWidth = funnelContainer.style('width').slice(0, -2)\n - margin.right - margin.left;\n const svgHeight = funnelContainer.style('height').slice(0, -2)\n - margin.top - margin.bottom - 30;\n const elemHeight = svgHeight/(matrix.length - 1);\n let prevElemWidth = svgWidth;\n let percent = (100).toFixed(decimals);\n\n // prepare normal funnel polygons\n const polygons = matrix.slice(1).map((d, i) => {\n const newPoints = [\n {\n x: ((svgWidth - prevElemWidth)/2),\n y: elemHeight * i + yMarginElement\n },\n {\n x: ((svgWidth - prevElemWidth)/2 + prevElemWidth),\n y: elemHeight * i + yMarginElement\n },\n ]\n if(i !== 0){\n if(countingMethod === 'relative'){\n prevElemWidth = prevElemWidth * d[1]/matrix[i][1];\n percent = ((d[1]/matrix[i][1])*100).toFixed(decimals);\n }\n if(countingMethod === 'absolute'){\n prevElemWidth = svgWidth * d[1]/matrix[1][1];\n percent = ((d[1]/matrix[1][1])*100).toFixed(decimals);\n }\n }\n let label = d[0];\n if(Object.keys(labelMapping).length){\n for (let key in labelMapping) {\n if(labelMapping[key] === d[0]) {\n label = key;\n }\n }\n }\n let result = d[1];\n if ( (typeof opts['prettyNumber'] === 'undefined' || opts['prettyNumber'] === true)\n && !isNaN(parseInt(d[1])) ) {\n result = prettyNumber(d[1]);\n }\n return {\n name: d[0],\n label,\n percent: percent + '%',\n result,\n points: [\n ...newPoints,\n {\n x: ((svgWidth - prevElemWidth)/2 + prevElemWidth),\n y: elemHeight * (i + 1)\n },\n {\n x: ((svgWidth - prevElemWidth)/2),\n y: elemHeight * (i + 1)\n }\n ]\n }\n });\n\n //chart rendering with polygons\n chart\n .attr('height', svgHeight + margin.top + margin.bottom - 30)\n .attr('width', svgWidth + margin.left + margin.right)\n .append('g')\n .attr('transform', 'translate(' + margin.left + ',' + margin.top + ')')\n .selectAll('polygon')\n .data(polygons)\n .enter()\n .append('polygon')\n .attr('points', (d) => {\n return d.points.map((p) => {\n return [p.x,p.y].join(',');\n })\n .join(' ');\n })\n .style('fill', (d, i) => {\n if(colorMapping[d.label]){\n return colorMapping[d.label];\n }\n return colors[i];\n })\n .attr('class', (d) => { return d.label; })\n .attr('cursor', 'pointer');\n\n if(lines){\n //rendering lines\n chart\n .selectAll('line')\n .data(polygons)\n .enter()\n .append('line')\n .attr('x1', 10)\n .attr('y1', (d) => {\n return d.points[0].y + margin.top - (yMarginElement/2);\n })\n .attr('x2', (d) => { return d.points[1].x + margin.left; })\n .attr('y2', (d) => {\n return d.points[0].y + margin.top - (yMarginElement/2);\n })\n .attr('class', 'chart-lines');\n\n //rendering last line\n chart\n .append('line')\n .attr('x1', 10)\n .attr('y1', polygons[polygons.length-1].points[2].y\n + margin.top + (yMarginElement/2))\n .attr('x2', polygons[polygons.length-1].points[2].x + margin.left)\n .attr('y2', polygons[polygons.length-1].points[2].y\n + margin.top + (yMarginElement/2))\n .attr('class', 'chart-lines');\n }\n\n //rendering labels when lines are visible\n if(lines){\n chart\n .selectAll('text.label')\n .data(polygons)\n .enter()\n .append('text')\n .style('text-anchor', 'start')\n .attr('x', 20)\n .attr('y', (d) => {\n return ((d.points[2].y - d.points[1].y)/2) + d.points[1].y\n + margin.top + yMarginElement + 5\n })\n .attr('class', (d) => { return 'text-label ' + d.label; })\n .text((d) => { return d.name; })\n .call(textWrap, margin.left)\n .attr('cursor', 'pointer');\n }\n\n //rendering labels when lines are not visible\n if(!lines) {\n chart\n .selectAll('text.label')\n .data(polygons)\n .enter()\n .append('text')\n .style('text-anchor', 'end')\n .attr('x', (d) => {\n return d.points[0].x + ((d.points[3].x - d.points[0].x)/2)\n + (margin.left * 0.9);\n })\n .attr('y', (d) => {\n return ((d.points[2].y - d.points[1].y)/2) + d.points[1].y\n + margin.top + yMarginElement + 5\n })\n .attr('class', (d) => { return 'text-label ' + d.label; })\n .text((d) => { return d.name; })\n .call(textWrap, margin.left)\n .attr('cursor', 'pointer');\n }\n\n //rendering percents for each step\n if(show && !resultValues){\n chart\n .selectAll('text.label')\n .data(polygons)\n .enter()\n .append('text')\n .style('text-anchor', 'middle')\n .attr('x', svgWidth/2 + margin.left)\n .attr('y', (d) => {\n return ((d.points[2].y - d.points[1].y)/2) + d.points[1].y\n + margin.top + yMarginElement + 8\n })\n .attr('class', (d) => { return 'text-main ' + d.label; })\n .text((d) => { return d.percent; })\n .attr('cursor', 'pointer');\n }\n\n //rendering results for each step\n if(resultValues && !show){\n chart\n .selectAll('text.label')\n .data(polygons)\n .enter()\n .append('text')\n .style('text-anchor', 'middle')\n .attr('x', svgWidth/2 + margin.left)\n .attr('y', (d) => {\n return ((d.points[2].y - d.points[1].y)/2) + d.points[1].y\n + margin.top + yMarginElement + 8\n })\n .attr('class', (d) => { return 'text-main ' + d.label; })\n .text((d) => { return d.result; })\n .attr('cursor', 'pointer');\n }\n\n //rendering results and percenage together\n if(show && resultValues){\n //rendering percents\n chart\n .selectAll('text.label')\n .data(polygons)\n .enter()\n .append('text')\n .style('text-anchor', 'middle')\n .attr('x', svgWidth/2 + margin.left)\n .attr('y', (d) => {\n if(yMarginElement === 0){\n return ((d.points[2].y - d.points[1].y)/2) + d.points[1].y\n + margin.top + 16\n }\n return ((d.points[2].y - d.points[1].y)/2) + d.points[1].y\n + margin.top + yMarginElement + 12\n })\n .attr('class', (d) => { return 'text-second ' + d.label; })\n .text((d) => { return d.percent; })\n .attr('cursor', 'pointer');\n\n //rendering results\n chart\n .selectAll('text.label')\n .data(polygons)\n .enter()\n .append('text')\n .style('text-anchor', 'middle')\n .attr('x', svgWidth/2 + margin.left)\n .attr('y', (d) => {\n if(yMarginElement === 0){\n return ((d.points[2].y - d.points[1].y)/2) + d.points[1].y\n + margin.top;\n }\n return ((d.points[2].y - d.points[1].y)/2) + d.points[1].y\n + margin.top + yMarginElement - 5;\n })\n .attr('class', (d) => { return 'text-main ' + d.label; })\n .text((d) => { return d.result; })\n .attr('cursor', 'pointer');\n }\n //hover handling\n if(hover){\n const polygonsHover = chart.selectAll('polygon');\n polygonsHover\n .on(\"mouseover\", handleMouseOver)\n .on(\"mouseout\", handleMouseOut);\n\n const labelHover = chart.selectAll('text');\n labelHover\n .on(\"mouseover\", handleMouseOver)\n .on(\"mouseout\", handleMouseOut);\n\n function handleMouseOver(d) {\n polygonsHover\n .style('opacity', 0.5);\n labelHover\n .style('opacity', 0.5);\n const thisLabel = /[^ ]*$/.exec(d3.select(this).attr('class'))[0];\n chart\n .selectAll(`.${thisLabel}`)\n .style('opacity', 1);\n }\n function handleMouseOut(d) {\n polygonsHover\n .style('opacity', 1);\n labelHover\n .style('opacity', 1);\n }\n }\n }\n update() {\n this.destroy();\n this.render();\n }\n destroy() {\n const { container } = this.config;\n const chartContainer = d3.select(container + ' .c3-chart > *');\n chartContainer.remove();\n }\n}\n","export default {\n render: function(){\n let html = '';\n const artifacts = this.view._artifacts.spinner = {};\n\n // Build DOM element\n html += '
';\n html += '
';\n html += '
';\n html += '
';\n html += '
';\n this.el().innerHTML = html;\n },\n update: function(){\n // no special update handling\n this.render();\n },\n destroy: function(){\n if (this.view._artifacts.spinner) {\n if (this.view._artifacts.spinner.interval) {\n clearInterval(this.view._artifacts.spinner.interval);\n }\n this.view._artifacts.spinner.radius = 0;\n try {\n delete this.view._artifacts.spinner;\n }\n catch (e) {\n this.view._artifacts.spinner = undefined;\n }\n }\n this.el().innerHTML = '';\n }\n};\n","var map = {\n\t\"./af\": 133,\n\t\"./af.js\": 133,\n\t\"./ar\": 132,\n\t\"./ar-dz\": 131,\n\t\"./ar-dz.js\": 131,\n\t\"./ar-kw\": 130,\n\t\"./ar-kw.js\": 130,\n\t\"./ar-ly\": 129,\n\t\"./ar-ly.js\": 129,\n\t\"./ar-ma\": 128,\n\t\"./ar-ma.js\": 128,\n\t\"./ar-sa\": 127,\n\t\"./ar-sa.js\": 127,\n\t\"./ar-tn\": 126,\n\t\"./ar-tn.js\": 126,\n\t\"./ar.js\": 132,\n\t\"./az\": 125,\n\t\"./az.js\": 125,\n\t\"./be\": 124,\n\t\"./be.js\": 124,\n\t\"./bg\": 123,\n\t\"./bg.js\": 123,\n\t\"./bm\": 122,\n\t\"./bm.js\": 122,\n\t\"./bn\": 121,\n\t\"./bn.js\": 121,\n\t\"./bo\": 120,\n\t\"./bo.js\": 120,\n\t\"./br\": 119,\n\t\"./br.js\": 119,\n\t\"./bs\": 118,\n\t\"./bs.js\": 118,\n\t\"./ca\": 117,\n\t\"./ca.js\": 117,\n\t\"./cs\": 116,\n\t\"./cs.js\": 116,\n\t\"./cv\": 115,\n\t\"./cv.js\": 115,\n\t\"./cy\": 114,\n\t\"./cy.js\": 114,\n\t\"./da\": 113,\n\t\"./da.js\": 113,\n\t\"./de\": 112,\n\t\"./de-at\": 111,\n\t\"./de-at.js\": 111,\n\t\"./de-ch\": 110,\n\t\"./de-ch.js\": 110,\n\t\"./de.js\": 112,\n\t\"./dv\": 109,\n\t\"./dv.js\": 109,\n\t\"./el\": 108,\n\t\"./el.js\": 108,\n\t\"./en-au\": 107,\n\t\"./en-au.js\": 107,\n\t\"./en-ca\": 106,\n\t\"./en-ca.js\": 106,\n\t\"./en-gb\": 105,\n\t\"./en-gb.js\": 105,\n\t\"./en-ie\": 104,\n\t\"./en-ie.js\": 104,\n\t\"./en-il\": 103,\n\t\"./en-il.js\": 103,\n\t\"./en-nz\": 102,\n\t\"./en-nz.js\": 102,\n\t\"./eo\": 101,\n\t\"./eo.js\": 101,\n\t\"./es\": 100,\n\t\"./es-do\": 99,\n\t\"./es-do.js\": 99,\n\t\"./es-us\": 98,\n\t\"./es-us.js\": 98,\n\t\"./es.js\": 100,\n\t\"./et\": 97,\n\t\"./et.js\": 97,\n\t\"./eu\": 96,\n\t\"./eu.js\": 96,\n\t\"./fa\": 95,\n\t\"./fa.js\": 95,\n\t\"./fi\": 94,\n\t\"./fi.js\": 94,\n\t\"./fo\": 93,\n\t\"./fo.js\": 93,\n\t\"./fr\": 92,\n\t\"./fr-ca\": 91,\n\t\"./fr-ca.js\": 91,\n\t\"./fr-ch\": 90,\n\t\"./fr-ch.js\": 90,\n\t\"./fr.js\": 92,\n\t\"./fy\": 89,\n\t\"./fy.js\": 89,\n\t\"./gd\": 88,\n\t\"./gd.js\": 88,\n\t\"./gl\": 87,\n\t\"./gl.js\": 87,\n\t\"./gom-latn\": 86,\n\t\"./gom-latn.js\": 86,\n\t\"./gu\": 85,\n\t\"./gu.js\": 85,\n\t\"./he\": 84,\n\t\"./he.js\": 84,\n\t\"./hi\": 83,\n\t\"./hi.js\": 83,\n\t\"./hr\": 82,\n\t\"./hr.js\": 82,\n\t\"./hu\": 81,\n\t\"./hu.js\": 81,\n\t\"./hy-am\": 80,\n\t\"./hy-am.js\": 80,\n\t\"./id\": 79,\n\t\"./id.js\": 79,\n\t\"./is\": 78,\n\t\"./is.js\": 78,\n\t\"./it\": 77,\n\t\"./it.js\": 77,\n\t\"./ja\": 76,\n\t\"./ja.js\": 76,\n\t\"./jv\": 75,\n\t\"./jv.js\": 75,\n\t\"./ka\": 74,\n\t\"./ka.js\": 74,\n\t\"./kk\": 73,\n\t\"./kk.js\": 73,\n\t\"./km\": 72,\n\t\"./km.js\": 72,\n\t\"./kn\": 71,\n\t\"./kn.js\": 71,\n\t\"./ko\": 70,\n\t\"./ko.js\": 70,\n\t\"./ky\": 69,\n\t\"./ky.js\": 69,\n\t\"./lb\": 68,\n\t\"./lb.js\": 68,\n\t\"./lo\": 67,\n\t\"./lo.js\": 67,\n\t\"./lt\": 66,\n\t\"./lt.js\": 66,\n\t\"./lv\": 65,\n\t\"./lv.js\": 65,\n\t\"./me\": 64,\n\t\"./me.js\": 64,\n\t\"./mi\": 63,\n\t\"./mi.js\": 63,\n\t\"./mk\": 62,\n\t\"./mk.js\": 62,\n\t\"./ml\": 61,\n\t\"./ml.js\": 61,\n\t\"./mn\": 60,\n\t\"./mn.js\": 60,\n\t\"./mr\": 59,\n\t\"./mr.js\": 59,\n\t\"./ms\": 58,\n\t\"./ms-my\": 57,\n\t\"./ms-my.js\": 57,\n\t\"./ms.js\": 58,\n\t\"./mt\": 56,\n\t\"./mt.js\": 56,\n\t\"./my\": 55,\n\t\"./my.js\": 55,\n\t\"./nb\": 54,\n\t\"./nb.js\": 54,\n\t\"./ne\": 53,\n\t\"./ne.js\": 53,\n\t\"./nl\": 52,\n\t\"./nl-be\": 51,\n\t\"./nl-be.js\": 51,\n\t\"./nl.js\": 52,\n\t\"./nn\": 50,\n\t\"./nn.js\": 50,\n\t\"./pa-in\": 49,\n\t\"./pa-in.js\": 49,\n\t\"./pl\": 48,\n\t\"./pl.js\": 48,\n\t\"./pt\": 47,\n\t\"./pt-br\": 46,\n\t\"./pt-br.js\": 46,\n\t\"./pt.js\": 47,\n\t\"./ro\": 45,\n\t\"./ro.js\": 45,\n\t\"./ru\": 44,\n\t\"./ru.js\": 44,\n\t\"./sd\": 43,\n\t\"./sd.js\": 43,\n\t\"./se\": 42,\n\t\"./se.js\": 42,\n\t\"./si\": 41,\n\t\"./si.js\": 41,\n\t\"./sk\": 40,\n\t\"./sk.js\": 40,\n\t\"./sl\": 39,\n\t\"./sl.js\": 39,\n\t\"./sq\": 38,\n\t\"./sq.js\": 38,\n\t\"./sr\": 37,\n\t\"./sr-cyrl\": 36,\n\t\"./sr-cyrl.js\": 36,\n\t\"./sr.js\": 37,\n\t\"./ss\": 35,\n\t\"./ss.js\": 35,\n\t\"./sv\": 34,\n\t\"./sv.js\": 34,\n\t\"./sw\": 33,\n\t\"./sw.js\": 33,\n\t\"./ta\": 32,\n\t\"./ta.js\": 32,\n\t\"./te\": 31,\n\t\"./te.js\": 31,\n\t\"./tet\": 30,\n\t\"./tet.js\": 30,\n\t\"./tg\": 29,\n\t\"./tg.js\": 29,\n\t\"./th\": 28,\n\t\"./th.js\": 28,\n\t\"./tl-ph\": 27,\n\t\"./tl-ph.js\": 27,\n\t\"./tlh\": 26,\n\t\"./tlh.js\": 26,\n\t\"./tr\": 25,\n\t\"./tr.js\": 25,\n\t\"./tzl\": 24,\n\t\"./tzl.js\": 24,\n\t\"./tzm\": 23,\n\t\"./tzm-latn\": 22,\n\t\"./tzm-latn.js\": 22,\n\t\"./tzm.js\": 23,\n\t\"./ug-cn\": 21,\n\t\"./ug-cn.js\": 21,\n\t\"./uk\": 20,\n\t\"./uk.js\": 20,\n\t\"./ur\": 19,\n\t\"./ur.js\": 19,\n\t\"./uz\": 18,\n\t\"./uz-latn\": 17,\n\t\"./uz-latn.js\": 17,\n\t\"./uz.js\": 18,\n\t\"./vi\": 16,\n\t\"./vi.js\": 16,\n\t\"./x-pseudo\": 15,\n\t\"./x-pseudo.js\": 15,\n\t\"./yo\": 14,\n\t\"./yo.js\": 14,\n\t\"./zh-cn\": 13,\n\t\"./zh-cn.js\": 13,\n\t\"./zh-hk\": 12,\n\t\"./zh-hk.js\": 12,\n\t\"./zh-tw\": 11,\n\t\"./zh-tw.js\": 11\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\tvar module = __webpack_require__(id);\n\treturn module;\n}\nfunction webpackContextResolve(req) {\n\tvar id = map[req];\n\tif(!(id + 1)) { // check for number or string\n\t\tvar e = new Error('Cannot find module \"' + req + '\".');\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn id;\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 144;","module.exports = function(module) {\r\n\tif (!module.webpackPolyfill) {\r\n\t\tmodule.deprecate = function() {};\r\n\t\tmodule.paths = [];\r\n\t\t// module.parent = undefined by default\r\n\t\tif (!module.children) module.children = [];\r\n\t\tObject.defineProperty(module, \"loaded\", {\r\n\t\t\tenumerable: true,\r\n\t\t\tget: function() {\r\n\t\t\t\treturn module.l;\r\n\t\t\t}\r\n\t\t});\r\n\t\tObject.defineProperty(module, \"id\", {\r\n\t\t\tenumerable: true,\r\n\t\t\tget: function() {\r\n\t\t\t\treturn module.i;\r\n\t\t\t}\r\n\t\t});\r\n\t\tmodule.webpackPolyfill = 1;\r\n\t}\r\n\treturn module;\r\n};\r\n","//! moment-timezone.js\n//! version : 0.5.21\n//! Copyright (c) JS Foundation and other contributors\n//! license : MIT\n//! github.com/moment/moment-timezone\n\n(function (root, factory) {\n\t\"use strict\";\n\n\t/*global define*/\n\tif (typeof module === 'object' && module.exports) {\n\t\tmodule.exports = factory(require('moment')); // Node\n\t} else if (typeof define === 'function' && define.amd) {\n\t\tdefine(['moment'], factory); // AMD\n\t} else {\n\t\tfactory(root.moment); // Browser\n\t}\n}(this, function (moment) {\n\t\"use strict\";\n\n\t// Do not load moment-timezone a second time.\n\t// if (moment.tz !== undefined) {\n\t// \tlogError('Moment Timezone ' + moment.tz.version + ' was already loaded ' + (moment.tz.dataVersion ? 'with data from ' : 'without any data') + moment.tz.dataVersion);\n\t// \treturn moment;\n\t// }\n\n\tvar VERSION = \"0.5.21\",\n\t\tzones = {},\n\t\tlinks = {},\n\t\tnames = {},\n\t\tguesses = {},\n\t\tcachedGuess;\n\n\tif (!moment || typeof moment.version !== 'string') {\n\t\tlogError('Moment Timezone requires Moment.js. See https://momentjs.com/timezone/docs/#/use-it/browser/');\n\t}\n\n\tvar momentVersion = moment.version.split('.'),\n\t\tmajor = +momentVersion[0],\n\t\tminor = +momentVersion[1];\n\n\t// Moment.js version check\n\tif (major < 2 || (major === 2 && minor < 6)) {\n\t\tlogError('Moment Timezone requires Moment.js >= 2.6.0. You are using Moment.js ' + moment.version + '. See momentjs.com');\n\t}\n\n\t/************************************\n\t\tUnpacking\n\t************************************/\n\n\tfunction charCodeToInt(charCode) {\n\t\tif (charCode > 96) {\n\t\t\treturn charCode - 87;\n\t\t} else if (charCode > 64) {\n\t\t\treturn charCode - 29;\n\t\t}\n\t\treturn charCode - 48;\n\t}\n\n\tfunction unpackBase60(string) {\n\t\tvar i = 0,\n\t\t\tparts = string.split('.'),\n\t\t\twhole = parts[0],\n\t\t\tfractional = parts[1] || '',\n\t\t\tmultiplier = 1,\n\t\t\tnum,\n\t\t\tout = 0,\n\t\t\tsign = 1;\n\n\t\t// handle negative numbers\n\t\tif (string.charCodeAt(0) === 45) {\n\t\t\ti = 1;\n\t\t\tsign = -1;\n\t\t}\n\n\t\t// handle digits before the decimal\n\t\tfor (i; i < whole.length; i++) {\n\t\t\tnum = charCodeToInt(whole.charCodeAt(i));\n\t\t\tout = 60 * out + num;\n\t\t}\n\n\t\t// handle digits after the decimal\n\t\tfor (i = 0; i < fractional.length; i++) {\n\t\t\tmultiplier = multiplier / 60;\n\t\t\tnum = charCodeToInt(fractional.charCodeAt(i));\n\t\t\tout += num * multiplier;\n\t\t}\n\n\t\treturn out * sign;\n\t}\n\n\tfunction arrayToInt (array) {\n\t\tfor (var i = 0; i < array.length; i++) {\n\t\t\tarray[i] = unpackBase60(array[i]);\n\t\t}\n\t}\n\n\tfunction intToUntil (array, length) {\n\t\tfor (var i = 0; i < length; i++) {\n\t\t\tarray[i] = Math.round((array[i - 1] || 0) + (array[i] * 60000)); // minutes to milliseconds\n\t\t}\n\n\t\tarray[length - 1] = Infinity;\n\t}\n\n\tfunction mapIndices (source, indices) {\n\t\tvar out = [], i;\n\n\t\tfor (i = 0; i < indices.length; i++) {\n\t\t\tout[i] = source[indices[i]];\n\t\t}\n\n\t\treturn out;\n\t}\n\n\tfunction unpack (string) {\n\t\tvar data = string.split('|'),\n\t\t\toffsets = data[2].split(' '),\n\t\t\tindices = data[3].split(''),\n\t\t\tuntils = data[4].split(' ');\n\n\t\tarrayToInt(offsets);\n\t\tarrayToInt(indices);\n\t\tarrayToInt(untils);\n\n\t\tintToUntil(untils, indices.length);\n\n\t\treturn {\n\t\t\tname : data[0],\n\t\t\tabbrs : mapIndices(data[1].split(' '), indices),\n\t\t\toffsets : mapIndices(offsets, indices),\n\t\t\tuntils : untils,\n\t\t\tpopulation : data[5] | 0\n\t\t};\n\t}\n\n\t/************************************\n\t\tZone object\n\t************************************/\n\n\tfunction Zone (packedString) {\n\t\tif (packedString) {\n\t\t\tthis._set(unpack(packedString));\n\t\t}\n\t}\n\n\tZone.prototype = {\n\t\t_set : function (unpacked) {\n\t\t\tthis.name = unpacked.name;\n\t\t\tthis.abbrs = unpacked.abbrs;\n\t\t\tthis.untils = unpacked.untils;\n\t\t\tthis.offsets = unpacked.offsets;\n\t\t\tthis.population = unpacked.population;\n\t\t},\n\n\t\t_index : function (timestamp) {\n\t\t\tvar target = +timestamp,\n\t\t\t\tuntils = this.untils,\n\t\t\t\ti;\n\n\t\t\tfor (i = 0; i < untils.length; i++) {\n\t\t\t\tif (target < untils[i]) {\n\t\t\t\t\treturn i;\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\tparse : function (timestamp) {\n\t\t\tvar target = +timestamp,\n\t\t\t\toffsets = this.offsets,\n\t\t\t\tuntils = this.untils,\n\t\t\t\tmax = untils.length - 1,\n\t\t\t\toffset, offsetNext, offsetPrev, i;\n\n\t\t\tfor (i = 0; i < max; i++) {\n\t\t\t\toffset = offsets[i];\n\t\t\t\toffsetNext = offsets[i + 1];\n\t\t\t\toffsetPrev = offsets[i ? i - 1 : i];\n\n\t\t\t\tif (offset < offsetNext && tz.moveAmbiguousForward) {\n\t\t\t\t\toffset = offsetNext;\n\t\t\t\t} else if (offset > offsetPrev && tz.moveInvalidForward) {\n\t\t\t\t\toffset = offsetPrev;\n\t\t\t\t}\n\n\t\t\t\tif (target < untils[i] - (offset * 60000)) {\n\t\t\t\t\treturn offsets[i];\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn offsets[max];\n\t\t},\n\n\t\tabbr : function (mom) {\n\t\t\treturn this.abbrs[this._index(mom)];\n\t\t},\n\n\t\toffset : function (mom) {\n\t\t\tlogError(\"zone.offset has been deprecated in favor of zone.utcOffset\");\n\t\t\treturn this.offsets[this._index(mom)];\n\t\t},\n\n\t\tutcOffset : function (mom) {\n\t\t\treturn this.offsets[this._index(mom)];\n\t\t}\n\t};\n\n\t/************************************\n\t\tCurrent Timezone\n\t************************************/\n\n\tfunction OffsetAt(at) {\n\t\tvar timeString = at.toTimeString();\n\t\tvar abbr = timeString.match(/\\([a-z ]+\\)/i);\n\t\tif (abbr && abbr[0]) {\n\t\t\t// 17:56:31 GMT-0600 (CST)\n\t\t\t// 17:56:31 GMT-0600 (Central Standard Time)\n\t\t\tabbr = abbr[0].match(/[A-Z]/g);\n\t\t\tabbr = abbr ? abbr.join('') : undefined;\n\t\t} else {\n\t\t\t// 17:56:31 CST\n\t\t\t// 17:56:31 GMT+0800 (台北標準時間)\n\t\t\tabbr = timeString.match(/[A-Z]{3,5}/g);\n\t\t\tabbr = abbr ? abbr[0] : undefined;\n\t\t}\n\n\t\tif (abbr === 'GMT') {\n\t\t\tabbr = undefined;\n\t\t}\n\n\t\tthis.at = +at;\n\t\tthis.abbr = abbr;\n\t\tthis.offset = at.getTimezoneOffset();\n\t}\n\n\tfunction ZoneScore(zone) {\n\t\tthis.zone = zone;\n\t\tthis.offsetScore = 0;\n\t\tthis.abbrScore = 0;\n\t}\n\n\tZoneScore.prototype.scoreOffsetAt = function (offsetAt) {\n\t\tthis.offsetScore += Math.abs(this.zone.utcOffset(offsetAt.at) - offsetAt.offset);\n\t\tif (this.zone.abbr(offsetAt.at).replace(/[^A-Z]/g, '') !== offsetAt.abbr) {\n\t\t\tthis.abbrScore++;\n\t\t}\n\t};\n\n\tfunction findChange(low, high) {\n\t\tvar mid, diff;\n\n\t\twhile ((diff = ((high.at - low.at) / 12e4 | 0) * 6e4)) {\n\t\t\tmid = new OffsetAt(new Date(low.at + diff));\n\t\t\tif (mid.offset === low.offset) {\n\t\t\t\tlow = mid;\n\t\t\t} else {\n\t\t\t\thigh = mid;\n\t\t\t}\n\t\t}\n\n\t\treturn low;\n\t}\n\n\tfunction userOffsets() {\n\t\tvar startYear = new Date().getFullYear() - 2,\n\t\t\tlast = new OffsetAt(new Date(startYear, 0, 1)),\n\t\t\toffsets = [last],\n\t\t\tchange, next, i;\n\n\t\tfor (i = 1; i < 48; i++) {\n\t\t\tnext = new OffsetAt(new Date(startYear, i, 1));\n\t\t\tif (next.offset !== last.offset) {\n\t\t\t\tchange = findChange(last, next);\n\t\t\t\toffsets.push(change);\n\t\t\t\toffsets.push(new OffsetAt(new Date(change.at + 6e4)));\n\t\t\t}\n\t\t\tlast = next;\n\t\t}\n\n\t\tfor (i = 0; i < 4; i++) {\n\t\t\toffsets.push(new OffsetAt(new Date(startYear + i, 0, 1)));\n\t\t\toffsets.push(new OffsetAt(new Date(startYear + i, 6, 1)));\n\t\t}\n\n\t\treturn offsets;\n\t}\n\n\tfunction sortZoneScores (a, b) {\n\t\tif (a.offsetScore !== b.offsetScore) {\n\t\t\treturn a.offsetScore - b.offsetScore;\n\t\t}\n\t\tif (a.abbrScore !== b.abbrScore) {\n\t\t\treturn a.abbrScore - b.abbrScore;\n\t\t}\n\t\treturn b.zone.population - a.zone.population;\n\t}\n\n\tfunction addToGuesses (name, offsets) {\n\t\tvar i, offset;\n\t\tarrayToInt(offsets);\n\t\tfor (i = 0; i < offsets.length; i++) {\n\t\t\toffset = offsets[i];\n\t\t\tguesses[offset] = guesses[offset] || {};\n\t\t\tguesses[offset][name] = true;\n\t\t}\n\t}\n\n\tfunction guessesForUserOffsets (offsets) {\n\t\tvar offsetsLength = offsets.length,\n\t\t\tfilteredGuesses = {},\n\t\t\tout = [],\n\t\t\ti, j, guessesOffset;\n\n\t\tfor (i = 0; i < offsetsLength; i++) {\n\t\t\tguessesOffset = guesses[offsets[i].offset] || {};\n\t\t\tfor (j in guessesOffset) {\n\t\t\t\tif (guessesOffset.hasOwnProperty(j)) {\n\t\t\t\t\tfilteredGuesses[j] = true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tfor (i in filteredGuesses) {\n\t\t\tif (filteredGuesses.hasOwnProperty(i)) {\n\t\t\t\tout.push(names[i]);\n\t\t\t}\n\t\t}\n\n\t\treturn out;\n\t}\n\n\tfunction rebuildGuess () {\n\n\t\t// use Intl API when available and returning valid time zone\n\t\ttry {\n\t\t\tvar intlName = Intl.DateTimeFormat().resolvedOptions().timeZone;\n\t\t\tif (intlName && intlName.length > 3) {\n\t\t\t\tvar name = names[normalizeName(intlName)];\n\t\t\t\tif (name) {\n\t\t\t\t\treturn name;\n\t\t\t\t}\n\t\t\t\tlogError(\"Moment Timezone found \" + intlName + \" from the Intl api, but did not have that data loaded.\");\n\t\t\t}\n\t\t} catch (e) {\n\t\t\t// Intl unavailable, fall back to manual guessing.\n\t\t}\n\n\t\tvar offsets = userOffsets(),\n\t\t\toffsetsLength = offsets.length,\n\t\t\tguesses = guessesForUserOffsets(offsets),\n\t\t\tzoneScores = [],\n\t\t\tzoneScore, i, j;\n\n\t\tfor (i = 0; i < guesses.length; i++) {\n\t\t\tzoneScore = new ZoneScore(getZone(guesses[i]), offsetsLength);\n\t\t\tfor (j = 0; j < offsetsLength; j++) {\n\t\t\t\tzoneScore.scoreOffsetAt(offsets[j]);\n\t\t\t}\n\t\t\tzoneScores.push(zoneScore);\n\t\t}\n\n\t\tzoneScores.sort(sortZoneScores);\n\n\t\treturn zoneScores.length > 0 ? zoneScores[0].zone.name : undefined;\n\t}\n\n\tfunction guess (ignoreCache) {\n\t\tif (!cachedGuess || ignoreCache) {\n\t\t\tcachedGuess = rebuildGuess();\n\t\t}\n\t\treturn cachedGuess;\n\t}\n\n\t/************************************\n\t\tGlobal Methods\n\t************************************/\n\n\tfunction normalizeName (name) {\n\t\treturn (name || '').toLowerCase().replace(/\\//g, '_');\n\t}\n\n\tfunction addZone (packed) {\n\t\tvar i, name, split, normalized;\n\n\t\tif (typeof packed === \"string\") {\n\t\t\tpacked = [packed];\n\t\t}\n\n\t\tfor (i = 0; i < packed.length; i++) {\n\t\t\tsplit = packed[i].split('|');\n\t\t\tname = split[0];\n\t\t\tnormalized = normalizeName(name);\n\t\t\tzones[normalized] = packed[i];\n\t\t\tnames[normalized] = name;\n\t\t\taddToGuesses(normalized, split[2].split(' '));\n\t\t}\n\t}\n\n\tfunction getZone (name, caller) {\n\t\t\n\t\tname = normalizeName(name);\n\n\t\tvar zone = zones[name];\n\t\tvar link;\n\n\t\tif (zone instanceof Zone) {\n\t\t\treturn zone;\n\t\t}\n\n\t\tif (typeof zone === 'string') {\n\t\t\tzone = new Zone(zone);\n\t\t\tzones[name] = zone;\n\t\t\treturn zone;\n\t\t}\n\n\t\t// Pass getZone to prevent recursion more than 1 level deep\n\t\tif (links[name] && caller !== getZone && (link = getZone(links[name], getZone))) {\n\t\t\tzone = zones[name] = new Zone();\n\t\t\tzone._set(link);\n\t\t\tzone.name = names[name];\n\t\t\treturn zone;\n\t\t}\n\n\t\treturn null;\n\t}\n\n\tfunction getNames () {\n\t\tvar i, out = [];\n\n\t\tfor (i in names) {\n\t\t\tif (names.hasOwnProperty(i) && (zones[i] || zones[links[i]]) && names[i]) {\n\t\t\t\tout.push(names[i]);\n\t\t\t}\n\t\t}\n\n\t\treturn out.sort();\n\t}\n\n\tfunction addLink (aliases) {\n\t\tvar i, alias, normal0, normal1;\n\n\t\tif (typeof aliases === \"string\") {\n\t\t\taliases = [aliases];\n\t\t}\n\n\t\tfor (i = 0; i < aliases.length; i++) {\n\t\t\talias = aliases[i].split('|');\n\n\t\t\tnormal0 = normalizeName(alias[0]);\n\t\t\tnormal1 = normalizeName(alias[1]);\n\n\t\t\tlinks[normal0] = normal1;\n\t\t\tnames[normal0] = alias[0];\n\n\t\t\tlinks[normal1] = normal0;\n\t\t\tnames[normal1] = alias[1];\n\t\t}\n\t}\n\n\tfunction loadData (data) {\n\t\taddZone(data.zones);\n\t\taddLink(data.links);\n\t\ttz.dataVersion = data.version;\n\t}\n\n\tfunction zoneExists (name) {\n\t\tif (!zoneExists.didShowError) {\n\t\t\tzoneExists.didShowError = true;\n\t\t\t\tlogError(\"moment.tz.zoneExists('\" + name + \"') has been deprecated in favor of !moment.tz.zone('\" + name + \"')\");\n\t\t}\n\t\treturn !!getZone(name);\n\t}\n\n\tfunction needsOffset (m) {\n\t\tvar isUnixTimestamp = (m._f === 'X' || m._f === 'x');\n\t\treturn !!(m._a && (m._tzm === undefined) && !isUnixTimestamp);\n\t}\n\n\tfunction logError (message) {\n\t\tif (typeof console !== 'undefined' && typeof console.error === 'function') {\n\t\t\tconsole.error(message);\n\t\t}\n\t}\n\n\t/************************************\n\t\tmoment.tz namespace\n\t************************************/\n\n\tfunction tz (input) {\n\t\tvar args = Array.prototype.slice.call(arguments, 0, -1),\n\t\t\tname = arguments[arguments.length - 1],\n\t\t\tzone = getZone(name),\n\t\t\tout = moment.utc.apply(null, args);\n\n\t\tif (zone && !moment.isMoment(input) && needsOffset(out)) {\n\t\t\tout.add(zone.parse(out), 'minutes');\n\t\t}\n\n\t\tout.tz(name);\n\n\t\treturn out;\n\t}\n\n\ttz.version = VERSION;\n\ttz.dataVersion = '';\n\ttz._zones = zones;\n\ttz._links = links;\n\ttz._names = names;\n\ttz.add = addZone;\n\ttz.link = addLink;\n\ttz.load = loadData;\n\ttz.zone = getZone;\n\ttz.zoneExists = zoneExists; // deprecated in 0.1.0\n\ttz.guess = guess;\n\ttz.names = getNames;\n\ttz.Zone = Zone;\n\ttz.unpack = unpack;\n\ttz.unpackBase60 = unpackBase60;\n\ttz.needsOffset = needsOffset;\n\ttz.moveInvalidForward = true;\n\ttz.moveAmbiguousForward = false;\n\n\t/************************************\n\t\tInterface with Moment.js\n\t************************************/\n\n\tvar fn = moment.fn;\n\n\tmoment.tz = tz;\n\n\tmoment.defaultZone = null;\n\n\tmoment.updateOffset = function (mom, keepTime) {\n\t\tvar zone = moment.defaultZone,\n\t\t\toffset;\n\n\t\tif (mom._z === undefined) {\n\t\t\tif (zone && needsOffset(mom) && !mom._isUTC) {\n\t\t\t\tmom._d = moment.utc(mom._a)._d;\n\t\t\t\tmom.utc().add(zone.parse(mom), 'minutes');\n\t\t\t}\n\t\t\tmom._z = zone;\n\t\t}\n\t\tif (mom._z) {\n\t\t\toffset = mom._z.utcOffset(mom);\n\t\t\tif (Math.abs(offset) < 16) {\n\t\t\t\toffset = offset / 60;\n\t\t\t}\n\t\t\tif (mom.utcOffset !== undefined) {\n\t\t\t\tmom.utcOffset(-offset, keepTime);\n\t\t\t} else {\n\t\t\t\tmom.zone(offset, keepTime);\n\t\t\t}\n\t\t}\n\t};\n\n\tfn.tz = function (name, keepTime) {\n\t\tif (name) {\n\t\t\tif (typeof name !== 'string') {\n\t\t\t\tthrow new Error('Time zone name must be a string, got ' + name + ' [' + typeof name + ']');\n\t\t\t}\n\t\t\tthis._z = getZone(name);\n\t\t\tif (this._z) {\n\t\t\t\tmoment.updateOffset(this, keepTime);\n\t\t\t} else {\n\t\t\t\tlogError(\"Moment Timezone has no data for \" + name + \". See http://momentjs.com/timezone/docs/#/data-loading/.\");\n\t\t\t}\n\t\t\treturn this;\n\t\t}\n\t\tif (this._z) { return this._z.name; }\n\t};\n\n\tfunction abbrWrap (old) {\n\t\treturn function () {\n\t\t\tif (this._z) { return this._z.abbr(this); }\n\t\t\treturn old.call(this);\n\t\t};\n\t}\n\n\tfunction resetZoneWrap (old) {\n\t\treturn function () {\n\t\t\tthis._z = null;\n\t\t\treturn old.apply(this, arguments);\n\t\t};\n\t}\n\n\tfn.zoneName = abbrWrap(fn.zoneName);\n\tfn.zoneAbbr = abbrWrap(fn.zoneAbbr);\n\tfn.utc = resetZoneWrap(fn.utc);\n\n\tmoment.tz.setDefault = function(name) {\n\t\tif (major < 2 || (major === 2 && minor < 9)) {\n\t\t\tlogError('Moment Timezone setDefault() requires Moment.js >= 2.9.0. You are using Moment.js ' + moment.version + '.');\n\t\t}\n\t\tmoment.defaultZone = name ? getZone(name) : null;\n\t\treturn moment;\n\t};\n\n\t// Cloning a moment should include the _z property.\n\tvar momentProperties = moment.momentProperties;\n\tif (Object.prototype.toString.call(momentProperties) === '[object Array]') {\n\t\t// moment 2.8.1+\n\t\tmomentProperties.push('_z');\n\t\tmomentProperties.push('_a');\n\t} else if (momentProperties) {\n\t\t// moment 2.7.0\n\t\tmomentProperties._z = null;\n\t}\n\n\t// INJECT DATA\n\n\treturn moment;\n}));\n","var moment = module.exports = require(\"./moment-timezone\");\nmoment.tz.load(require('./data/packed/latest.json'));\n","import moment from 'moment-timezone';\n\nimport { each } from '../../utils/each';\nimport { stripHtmlTags } from '../../utils/strip-html-tags';\nimport { escapeHtml } from '../../utils/escape-html';\n\nconst defaults = {\n /*\n DEPRECATED - use CSS styles\n\n height: undefined,\n width: undefined,\n stickyHeader: false,\n stickyFooter: false\n */\n};\n\nlet currentPage;\nfunction _generateTableRows(datavizInstance, dataset) {\n let html = '';\n const defaultConfig = {\n page: 1,\n limit: 0,\n arrows: true\n };\n let customConfig = {};\n if (datavizInstance.config.table && datavizInstance.config.table.pagination) {\n customConfig = datavizInstance.config.table.pagination;\n }\n const config = {\n ...defaultConfig,\n ...customConfig\n };\n\n if (!currentPage){\n currentPage = config.page;\n }\n\n let datasetPaginated;\n let pages = 0;\n if (config.limit === 0) {\n datasetPaginated = dataset.slice(1); // remove header\n } else {\n const start = config.limit * (currentPage - 1) + 1;\n const end = start + config.limit;\n datasetPaginated = dataset.slice(start, end);\n pages = Math.ceil((dataset.length - 1) / config.limit);\n }\n\n let columnsArray = datavizInstance.config.table.columns ?\n datavizInstance.config.table.columns :\n datavizInstance.dataset.matrix[0];\n\n const checkArray = {};\n const { mapValues } = datavizInstance.config.table;\n for (let key in mapValues){\n checkArray[columnsArray.indexOf(key)] = key;\n }\n\n // var london = newYork.clone().tz(\"Europe/London\");\n for (let row of datasetPaginated) {\n html += '';\n for (let [index, rowCol] of row.entries()) {\n if (\n datavizInstance.config.timezone\n && rowCol instanceof Date\n ) {\n let dateTimeTimezoned = moment\n .tz(rowCol, \"UTC\")\n .clone()\n .tz(datavizInstance.config.timezone);\n html += `${dateTimeTimezoned.toString()}`;\n continue;\n }\n let rowColEscaped = escapeHtml(rowCol);\n if(checkArray[index]){\n html += `${mapValues[checkArray[index]](rowColEscaped)}`;\n continue;\n }\n html += `${rowColEscaped}`\n }\n html += '';\n }\n\n if (pages > 1){\n html += ``;\n let pageNumber = 1;\n const prevPage = (currentPage === 1) ? 1 : (currentPage - 1);\n const nextPage = (currentPage === pages) ? pages : (currentPage + 1);\n if (config.arrows){\n html += `<`;\n }\n while (pageNumber <= pages){\n html += `${pageNumber}`;\n pageNumber++;\n }\n if (config.arrows){\n html += `>`;\n }\n html += '';\n }\n\n return html;\n}\n\nfunction _generateTableHeader(datavizInstance, dataset) {\n let html = '';\n let fieldNumber = -1;\n let columnNames =\n (datavizInstance.config.table && datavizInstance.config.table.columns)\n || dataset[0];\n for (let colName of columnNames) {\n let colNameEscaped = escapeHtml(colName);\n fieldNumber +=1;\n html += `${colNameEscaped}`;\n }\n return html;\n}\n\n\n const render = function() {\n const dataset = this.dataset.matrix;\n\n const el = this.el();\n const theme = this.config.theme;\n const datavizInstance = this;\n\n let html = '';\n\n const isEmpty = dataset.length === 1 && dataset[0].length === 0;\n if (isEmpty) {\n const msg = 'No data to display';\n const mappedMsg = this.config.errorMapping[msg] || msg;\n if (this.config.showErrorMessages) {\n this.message(mappedMsg);\n }\n return;\n }\n\n // Open wrapper\n html += `
`;\n\n // Static, scrollable table\n html += ``;\n html += '';\n html += '';\n html += _generateTableHeader(datavizInstance, dataset);\n html += '';\n html += '';\n // Table data\n html += '';\n html += _generateTableRows(datavizInstance, dataset);\n html += '';\n html += '
';\n/* */\n // Close wrapper\n html += '
';\n\n // Inject HTML string\n el.querySelector(`.${theme}-rendering`).innerHTML = html;\n\n el\n .querySelectorAll(`.${theme}-rendering th`)\n .forEach((item) => {\n item.addEventListener('click', (event) => {\n let sortOrder = event.target.getAttribute('order') || 'asc';\n let fieldNumber = event.target.getAttribute('fieldNumber');\n let checker = function (a, b) {\n let sortOrderNumber = (sortOrder === 'asc') ? 1 : -1;\n\n if (typeof a[fieldNumber] === 'string') {\n let nameA = a[fieldNumber].toUpperCase(); // ignore upper and lowercase\n let nameB = b[fieldNumber].toUpperCase(); // ignore upper and lowercase\n if (nameA < nameB) {\n return -1 * sortOrderNumber;\n }\n if (nameA > nameB) {\n return 1* sortOrderNumber;\n }\n\n // names must be equal\n return 0;\n }\n return (a[fieldNumber] - b[fieldNumber]) * sortOrderNumber;\n };\n\n if (sortOrder === 'asc') {\n sortOrder = 'desc';\n } else {\n sortOrder = 'asc'\n }\n event.target.setAttribute('order', sortOrder);\n\n const first = this.dataset.matrix.shift();\n this.dataset.matrix.sort(checker);\n this.dataset.matrix.unshift(first);\n\n el.querySelector(`.${theme}-rendering tbody`).innerHTML =\n _generateTableRows(datavizInstance, dataset);\n attachBtnEventListeners();\n });\n });\n\n\n const attachBtnEventListeners = () => {\n el.querySelectorAll('.btn').forEach(btn => {\n btn.addEventListener('click', (event) => {\n currentPage = parseInt(event.target.getAttribute('data-page'));\n el.querySelector(`.${theme}-rendering tbody`).innerHTML =\n _generateTableRows(datavizInstance, dataset);\n attachBtnEventListeners();\n }, true);\n });\n };\n\n attachBtnEventListeners(datavizInstance, el, theme);\n\n if (this.config.onrendered) {\n this.config.onrendered();\n }\n };\n\n\n\nconst update = function(){\n // no special update handling\n this.render();\n };\n\nconst destroy= function(){};\n\nexport default { render, update, destroy };\n","import { prettyNumber } from '../../utils/pretty-number';\nimport { escapeHtml } from '../../utils/escape-html';\n\nexport default {\n render: function(){\n const color = this.config.colors[0];\n const theme = this.config.theme;\n const title = this.config.title;\n const opts = this.config;\n let value = '-';\n let html = '';\n let prefix = '';\n let suffix = '';\n let formattedNum;\n let valueEl;\n let flexDifferenceStyle = '';\n let resultDifference = '';\n let differenceStyle = '';\n let smallerValue = '';\n const { results, previousResults } = this.config;\n if(results && previousResults){\n flexDifferenceStyle = previousResults ? ' metric-comparison' : '';\n smallerValue = previousResults && title ? '-smaller' : '';\n resultDifference = results.result - previousResults.result;\n differenceStyle = (resultDifference > 0) ? '-green' : '-red';\n resultDifference = Math.abs(resultDifference);\n }\n\n if (typeof this.data()[1][1] === 'number') {\n value = this.data()[1][1];\n }\n\n formattedNum = value;\n if ( (typeof opts['prettyNumber'] === 'undefined' || opts['prettyNumber'] === true)\n && !isNaN(parseInt(value)) ) {\n formattedNum = prettyNumber(value);\n if(results && previousResults){\n resultDifference = prettyNumber(resultDifference);\n }\n }\n\n if (opts['prefix']) {\n prefix = '' + opts['prefix'] + '';\n }\n if (opts['suffix']) {\n suffix = '' + opts['suffix'] + '';\n }\n html += '
';\n html += '
';\n if (results && previousResults) {\n html += '
' + escapeHtml(resultDifference) + '
';\n }\n html += '
' + prefix + escapeHtml(formattedNum) + suffix + '
';\n if (title) {\n html += '
' + escapeHtml(title) + '
';\n }\n html += '
';\n html += '
';\n\n this.el().innerHTML = html;\n\n if (this.config.onrendered) {\n this.config.onrendered();\n }\n },\n update: function(){\n // no special update handling\n this.render();\n },\n destroy: function(){\n // no special clean-up\n }\n};\n","import { escapeHtml } from '../../utils/escape-html';\n\nexport default {\n render: function(text){\n const outer = document.createElement('div');\n const inner = document.createElement('div');\n const msg = document.createElement('span');\n\n const titleContainer = document.createElement('div');\n const notesContainer = document.createElement('div');\n\n outer.className = this.config.theme + ' keen-dataviz-box';\n inner.className = this.config.theme + '-message';\n\n // Create title and notes for message\n titleContainer.className = this.config.theme + '-title';\n titleContainer.innerHTML = escapeHtml(this.config.title || '');\n notesContainer.className = this.config.theme + '-notes';\n notesContainer.innerHTML = escapeHtml(this.config.notes || '');\n\n msg.innerHTML = escapeHtml(text) || '';\n inner.appendChild(msg);\n\n if (this.config.title && this.config.showTitle) {\n outer.appendChild(titleContainer);\n }\n\n outer.appendChild(inner);\n\n if (this.config.notes) {\n outer.appendChild(notesContainer);\n }\n\n this.el().innerHTML = '';\n this.el().appendChild(outer);\n\n },\n update: function(){\n // no special update handling\n this.render();\n },\n destroy: function(){\n // no special clean-up\n }\n};\n","import { escapeHtml } from '../../../utils/escape-html';\n\nexport default function (d, defaultTitleFormat, defaultValueFormat, color) {\n let text;\n let title;\n // Set config options or defaults\n const nameFormat = this.config.tooltip_format_name || function (name) { return name; };\n const titleFormat = this.config.tooltip_format_title || defaultTitleFormat;\n const valueFormat = this.config.tooltip_format_value || defaultValueFormat;\n\n // Reverse list to match legend\n for (let i = 0; i < d.length; i++) {\n if (! (d[i] && (d[i].value || d[i].value === 0))) { continue; }\n if (!text) {\n title = titleFormat ? titleFormat(d[i].x) : d[i].x;\n text = \"\" + (title || title === 0 ? \"\" : \"\");\n }\n let name = nameFormat(d[i].name);\n let value = valueFormat(d[i].value, d[i].ratio, d[i].id, d[i].index);\n let bgcolor = this.levelColor ? this.levelColor(d[i].value) : color(d[i].id);\n if (value) {\n text += \"\";\n if (name.indexOf('__tooltip_ignore_name_field__') === -1) {\n text += \"\";\n }\n text += \"\";\n text += \"\";\n }\n }\n return text + \"
\" + escapeHtml(title) + \"
\" + escapeHtml(name) + \"\" + escapeHtml(value) + \"
\";\n}\n","import * as d3 from 'd3';\n\nimport isDateString from '../../../utils/assert-date-string';\n\nexport default function (options) {\n const cols = options.data.columns;\n const datavizInstance = this;\n const chart = this.view._artifacts.c3;\n let columns = [];\n const domNode = this.el().querySelector('.' + datavizInstance.config.theme + '-rendering');\n const legendConfig = datavizInstance.config.legend;\n\n const pagination = this.view._artifacts.pagination = {\n ...{\n hidden: [],\n labels: [],\n offset: 0,\n limit: Math.round((domNode.offsetHeight - 78) / 20),\n total: 0\n },\n ...legendConfig.pagination\n };\n\n if (options.legend.sort) {\n columns = options.legend.sort(cols);\n\n // update column order in the data, so tooltip will be the same order\n const columnsSorted = [];\n const dataColumnsSorted = [];\n if (cols[0][0] === 'x') {\n dataColumnsSorted.push(cols[0]);\n }\n columns.forEach(column => {\n let columnData = options.data.columns.find(item => item[0] === column);\n dataColumnsSorted.push(columnData);\n });\n options.data.columns = dataColumnsSorted;\n } else {\n for (let i = 0; i < cols.length; i++) {\n if (cols[i][0] !== 'x' && !isDateString(cols[i][1])) {\n columns.push(cols[i][0]);\n }\n }\n }\n\n const legendElement = this.el().querySelector('.keen-c3-legend');\n\n let align = 'vertical';\n if (legendConfig.position === 'top' || legendConfig.position === 'bottom') {\n align = 'horizontal';\n }\n\n const paginateHorizontalLeftElement = document.createElement('div');\n paginateHorizontalLeftElement.setAttribute('class', 'keen-c3-legend-pagination-icons keen-c3-legend-horizontal-pagination-left');\n if (align === 'horizontal') {\n legendElement.append(paginateHorizontalLeftElement);\n }\n\n const legendItemsElement = document.createElement('div');\n legendItemsElement.setAttribute('class', `keen-c3-legend-items keen-c3-legend-${align}-items`);\n legendElement.append(legendItemsElement);\n\n const paginateVerticalElement = document.createElement('div');\n paginateVerticalElement.setAttribute('class', 'keen-c3-legend-pagination keen-c3-legend-pagination-icons');\n if (align === 'vertical') {\n legendElement.append(paginateVerticalElement);\n }\n\n const paginateHorizontalRightElement = document.createElement('div');\n paginateHorizontalRightElement.setAttribute('class', 'keen-c3-legend-pagination-icons keen-c3-legend-horizontal-pagination-right');\n if (align === 'horizontal') {\n legendElement.append(paginateHorizontalRightElement);\n }\n\n paginateData();\n\n function paginateData(){\n pagination.labels = columns.slice(pagination.offset, pagination.offset + pagination.limit);\n pagination.total = columns.length;\n renderLegendComponent.call(datavizInstance, pagination.labels);\n if (pagination.total > pagination.limit) {\n renderPaginationComponent.call(datavizInstance);\n }\n if (options.onPaginated){\n options.onPaginated();\n }\n }\n\n function renderLegendComponent(){\n legendItemsElement.innerHTML = '';\n\n pagination.labels.forEach(label => {\n const labelShortened = legendConfig.label.textMaxLength ? label.slice(0, legendConfig.label.textMaxLength - 1) : label;\n const legendItem = document.createElement(\"div\");\n legendItem.innerHTML = `${labelShortened}`;\n legendItem.chartPartId = label;\n legendItem.setAttribute('class', 'legend-item');\n legendItemsElement.append(legendItem);\n\n const legendItemColorSample = document.createElement(\"span\");\n legendItemColorSample.setAttribute('class', 'legend-item-color-sample');\n legendItemColorSample.style.backgroundColor = chart.color(legendItem.chartPartId);\n legendItem.prepend(legendItemColorSample);\n\n const tooltipElement = document.createElement(\"div\");\n legendItem.addEventListener('mouseover', (event) => {\n chart.focus(legendItem.chartPartId);\n if (legendConfig.tooltip.show && legendItem.chartPartId.length > legendConfig.label.textMaxLength) {\n tooltipElement.setAttribute('class', `keen-c3-legend-label-overlay keen-c3-legend-position-${legendConfig.position}`);\n tooltipElement.innerHTML =\n `${\n options.legend.tooltip.pointer ? `
` : ``\n }${legendItem.chartPartId}`;\n legendItem.append(tooltipElement);\n }\n });\n legendItem.addEventListener('mouseout', (event) => {\n chart.revert();\n tooltipElement.remove();\n });\n legendItem.addEventListener('click', (event) => {\n let opacity = 1;\n const isHidden = pagination.hidden.indexOf(legendItem.chartPartId);\n if (isHidden < 0) {\n pagination.hidden.push(legendItem.chartPartId);\n opacity = .35;\n }\n else {\n pagination.hidden.splice(isHidden, 1);\n opacity = 1;\n }\n legendItem.style.opacity = opacity;\n chart.toggle(legendItem.chartPartId);\n });\n });\n\n if (options.onLegendRendered){\n options.onLegendRendered();\n options.onLegendRendered = null;\n }\n\n }\n\n function renderPaginationComponent(){\n paginateVerticalElement.innerHTML = '';\n paginateHorizontalLeftElement.innerHTML = '';\n paginateHorizontalRightElement.innerHTML = '';\n\n const arrowUp = document.createElement('i');\n const arrowDown = document.createElement('i');\n\n const paginate = (direction) => {\n if (direction === 'forward') {\n const diff = pagination.offset + pagination.limit;\n if (diff < pagination.total) {\n pagination.offset = diff;\n return;\n }\n pagination.offset = 0;\n return;\n }\n\n const diff = pagination.offset - pagination.limit;\n if (diff >= 0) {\n pagination.offset = diff;\n return;\n }\n\n pagination.offset = Math.floor(pagination.total/pagination.limit) * pagination.limit;\n };\n\n arrowDown.addEventListener('click', () => {\n paginate('forward');\n paginateData();\n clearSelectedText();\n });\n\n arrowUp.addEventListener('click', () => {\n paginate('backward');\n paginateData();\n clearSelectedText();\n });\n\n if (legendConfig.position === 'left' || legendConfig.position === 'right') {\n arrowUp.setAttribute('class', 'up');\n arrowDown.setAttribute('class', 'down');\n paginateVerticalElement.append(arrowDown);\n paginateVerticalElement.append(arrowUp);\n } else {\n // bottom top\n arrowUp.setAttribute('class', 'left');\n arrowDown.setAttribute('class', 'right');\n paginateHorizontalLeftElement.append(arrowUp);\n paginateHorizontalRightElement.append(arrowDown);\n }\n\n }\n\n function clearSelectedText() {\n let selection;\n if (document.selection && document.selection.empty) {\n selection = document.selection;\n selection.empty();\n }\n else if (window.getSelection) {\n selection = window.getSelection();\n selection.removeAllRanges();\n }\n }\n}\n","export default function (startDate, endDate) {\n const timeDiff = Math.abs(new Date(startDate).getTime() - new Date(endDate).getTime());\n const months = [\n 'Jan',\n 'Feb',\n 'Mar',\n 'Apr',\n 'May',\n 'June',\n 'July',\n 'Aug',\n 'Sept',\n 'Oct',\n 'Nov',\n 'Dec'\n ];\n\n // Yearly (31536000000) + Monthly\n if (timeDiff >= 2419200000) {\n return function(ms){\n const date = new Date(ms);\n return months[date.getMonth()] + ' ' + date.getFullYear();\n };\n }\n // Daily\n else if (timeDiff >= 86400000) {\n return function(ms){\n const date = new Date(ms);\n return months[date.getMonth()] + ' ' + date.getDate();\n };\n }\n // Hourly\n else if (timeDiff >= 3600000) {\n return '%I:%M %p';\n }\n // Minutely\n else {\n return '%I:%M:%S %p';\n }\n}\n","import c3 from 'c3';\n\nimport { each } from '../utils/each';\nimport { extend } from '../utils/extend';\nimport { extendDeep } from '../utils/extend-deep';\nimport isDateString from '../utils/assert-date-string';\nimport c3DefaultDateFormat from './c3/extensions/default-date-format';\nimport c3PaginatingLegend from './c3/extensions/paginating-legend';\nimport c3TooltipContents from './c3/extensions/tooltip-contents';\n\nimport message from './default/message';\nimport metric from './default/metric';\nimport table from './default/table';\nimport spinner from './default/spinner';\nimport Funnel from './default/funnel';\nimport Funnel3d from './default/funnel-3d';\nimport HorizontalFunnel from './default/horizontal-funnel';\nimport HorizontalFunnel3d from './default/horizontal-funnel-3d';\n\nexport default function(lib) {\n let timer;\n bindResizeListener(function(){\n if (timer) {\n clearTimeout(timer);\n }\n const delay = (lib.visuals.length > 12) ? 1000 : 250;\n timer = setTimeout(function(){\n each(lib.visuals, function(chart){\n if (chart.view._artifacts.c3) {\n chart.view._artifacts.c3.resize();\n }\n });\n }, delay);\n });\n\n // FIX for c3 tooltip bug - REMOVE when https://github.com/c3js/c3/pull/2476 is merged\n if (c3.chart && c3.chart.internal && c3.chart.internal.fn) {\n c3.chart.internal.fn.horizontalDistance = function(data, pos) {\n var $$ = this,\n config = $$.config,\n xIndex = config.axis_rotated ? 1 : 0,\n x = $$.x(data.x);\n return Math.abs(x - pos[xIndex]);\n };\n c3.chart.internal.fn.findClosest = function (values, pos) {\n const CLASS = c3.chart.internal.fn.CLASS;\n var $$ = this,\n minDist = $$.config.point_sensitivity,\n minDist = Infinity,\n closest;\n // find mouseovering bar\n values.filter(function (v) {\n return v && $$.isBarType(v.id);\n }).forEach(function (v) {\n var shape = $$.main.select('.' + CLASS.bars + $$.getTargetSelectorSuffix(v.id) + ' .' + CLASS.bar + '-' + v.index).node();\n if (!closest && $$.isWithinBar($$.d3.mouse(shape), shape)) {\n closest = v;\n }\n });\n // find closest point from non-bar\n values.filter(function (v) {\n return v && !$$.isBarType(v.id);\n }).forEach(function (v) {\n var d = $$.dist(v, pos);\n var d = $$.horizontalDistance(v, pos);\n if (d < minDist) {\n minDist = d;\n closest = v;\n }\n });\n return closest;\n };\n }\n\n return defineC3();\n};\n\nfunction defineC3(){\n const types = {\n message,\n metric,\n table,\n spinner,\n 'funnel': new Funnel,\n 'funnel-3d': new Funnel3d,\n 'horizontal-funnel': new HorizontalFunnel,\n 'horizontal-funnel-3d': new HorizontalFunnel3d,\n };\n\n const c3Types = [\n // Standard types\n 'area',\n 'area-spline',\n 'area-step',\n 'bar',\n 'donut',\n 'gauge',\n 'line',\n 'pie',\n 'step',\n 'spline',\n\n // Horizontal variant types\n 'horizontal-area',\n 'horizontal-area-spline',\n 'horizontal-area-step',\n 'horizontal-bar',\n 'horizontal-line',\n 'horizontal-step',\n 'horizontal-spline'\n ];\n\n const getPaddings = (element, paddingName) => {\n return parseInt(window.getComputedStyle(element)[`padding${paddingName}`].replace('px', ''));\n }\n\n function getDefaultOptions(){\n\n const ENFORCED_OPTIONS = {\n bindto: this.el().querySelector('.' + this.config.theme + '-rendering .c3-chart'),\n color: {\n pattern: this.config.colors\n },\n data: {\n colors: { ...this.config.colorMapping },\n columns: [],\n type: this.config.type.replace('horizontal-', '')\n },\n };\n\n const renderingElement = this.el();\n// .querySelector('.' + this.config.theme + '-rendering');\n\n let height = renderingElement.offsetHeight;\n\n height -= (getPaddings(renderingElement, 'Top') + getPaddings(renderingElement, 'Bottom'));\n\n if (this.config.showTitle) {\n const titleElement = this.el().querySelector('.keen-dataviz-title');\n if (titleElement) {\n height -= titleElement.offsetHeight;\n } else {\n height -= parseInt(\n window\n .getComputedStyle(this.el(), null)\n ['font-size'].replace('px','')\n );\n }\n }\n\n if (this.config.notes) {\n const notesElement = this.el().querySelector('.keen-dataviz-notes');\n if (notesElement) {\n height -= notesElement.offsetHeight;\n } else {\n height -= parseInt(\n window\n .getComputedStyle(this.el(), null)\n ['font-size'].replace('px','')\n );\n }\n }\n\n let width = this.el().querySelector('.c3-chart').offsetWidth\n - (getPaddings(renderingElement, 'Left') + getPaddings(renderingElement, 'Right'));\n if (width < 0) {\n width = 0;\n }\n\n const DEFAULT_OPTIONS = {\n size: {\n width,\n height:\n height > 0 ?\n height\n : undefined,\n }\n };\n\n return extendDeep({}, DEFAULT_OPTIONS, this.config, ENFORCED_OPTIONS);\n }\n\n each(c3Types, function(type, index) {\n types[type] = {\n render: function(){\n const options = getDefaultOptions.call(this);\n\n if (!!this.config.clearOnRender && options.data.columns.length > 0) {\n options.data.columns.splice(1);\n }\n\n if (this.data()[0].length === 1 || this.data().length === 1) {\n const msg = 'No data to display';\n const mappedMsg = this.config.errorMapping[msg] || msg;\n if (this.config.showErrorMessages) {\n this.message(mappedMsg);\n }\n return;\n }\n\n let removeLegend = false;\n\n if (type === 'gauge') {\n // Accommodate a neat bug:\n options.legend.show = false;\n options.data.columns = [[\n this.config.title || this.data()[1][0],\n this.data()[1][1]\n ]];\n removeLegend = true;\n }\n else if (type === 'pie' || type === 'donut') {\n options.data.columns = this.data().slice(1);\n }\n else {\n\n // Apply formatting for horizontal variant types\n if (type.indexOf('horizontal-') > -1) {\n options.axis.rotated = type.indexOf('horizontal-') > -1;\n }\n\n if (isDateString(this.data()[1][0])) {\n // TIMESERIES\n options.axis.x = options.axis.x || {};\n options.axis.x.type = 'timeseries';\n options.axis.x.tick = options.axis.x.tick || {\n format: this.config.dateFormat || c3DefaultDateFormat(this.data()[1][0], this.data()[2] ? this.data()[2][0] : this.data()[1][0]),\n culling: { max: 5 }\n };\n\n options.data.columns[0] = [];\n each(this.dataset.selectColumn(0), function(cell, i){\n if (i > 0) {\n cell = new Date(cell);\n }\n options.data.columns[0][i] = cell;\n });\n options.data.columns[0][0] = 'x';\n options.data.x = 'x';\n if (this.config.stacked && this.data()[0].length > 2) {\n options.data.groups = [ this.dataset.selectRow(0).slice(1) ];\n }\n }\n else {\n // CATEGORIES\n options.axis.x = options.axis.x || {};\n options.axis.x.type = 'category';\n options.axis.x.categories = this.dataset.selectColumn(0).slice(1);\n if (this.config.stacked && this.data()[0].length > 2) {\n options.data.groups = [ this.dataset.selectRow(0).slice(1) ];\n }\n }\n\n if (this.data()[0].length === 2) {\n options.legend.show = false;\n removeLegend = true;\n }\n\n each(this.data()[0], function(cell, i){\n if (i > 0) {\n options.data.columns.push(this.dataset.selectColumn(i));\n }\n }.bind(this));\n }\n\n if (removeLegend){\n const legendElement = this.el().querySelector('.keen-c3-legend');\n if (legendElement) {\n legendElement.remove();\n options.size.width = this.el().querySelector('.c3-chart').offsetWidth;\n }\n options.legend.show = false;\n }\n\n const chartTypesWithPartialIntervalIndicator = ['area', 'area-spline', 'area-step', 'line', 'spline', 'step'];\n\n if (options.partialIntervalIndicator\n && options.partialIntervalIndicator.show\n && chartTypesWithPartialIntervalIndicator.indexOf(options.type) > -1\n ) {\n const results = options.data.columns && options.data.columns[0];\n if (results && results.length > 1) {\n const partialResultsRegion = {\n axis: 'x',\n start: new Date(results[results.length-2]),\n class: options.partialIntervalIndicator.className\n };\n options.regions = [...(options.regions || []), partialResultsRegion];\n }\n }\n\n if (\n !(options.tooltip && options.tooltip.show === false)\n &&\n (options.legend.show === true ||\n (options.legend\n && options.legend.tooltip\n && options.legend.tooltip.show)\n )) {\n // Apply custom tooltip\n options.tooltip = {\n contents: c3TooltipContents,\n format: {\n title: this.config.tooltip.format.title,\n value: (value, ratio, id, index) => {\n let valueFormatted = c3CustomTooltipFiltering.call(this, value, ratio, id, index);\n if (this.config.tooltip && this.config.tooltip.format && this.config.tooltip.format.value)\n {\n valueFormatted = this.config.tooltip.format.value.call(this, valueFormatted, ratio, id, index);\n }\n return valueFormatted;\n }\n }\n };\n }\n\n if (options.legend.show === true) {\n const c3options = { ...options };\n // Apply custom color handling\n c3options.data.color = c3CustomDataMapping.bind(this);\n\n c3options.legend.hide = true; // hide default c3 legend\n\n // Render artifacts\n this.view._artifacts['c3'] = c3.generate(c3options);\n\n c3PaginatingLegend.call(this, {...options, onLegendRendered: () => {\n const legendElement = this.el().querySelector('.keen-c3-legend');\n if (legendElement) {\n if (\n options.legend.position === 'top' ||\n options.legend.position === 'bottom'\n ) {\n c3options.size.height -= legendElement.offsetHeight;\n this.view._artifacts['c3'].resize({ height: c3options.size.height });\n } else {\n if (c3options.size.width === 0) {\n c3options.size.width = this.el().offsetWidth\n - getPaddings(this.el(), 'Left')\n - getPaddings(this.el(), 'Right');\n }\n c3options.size.width -= legendElement.offsetWidth;\n this.view._artifacts['c3'].resize({ width: c3options.size.width });\n }\n }\n },\n onPaginated: () => {\n this.view._artifacts['c3'].flush();\n }\n });\n }\n else {\n this.view._artifacts['c3'] = c3.generate(options);\n }\n\n },\n update: function(){\n // no special update handling\n this.render();\n },\n destroy: function(){\n if (this.view._artifacts['c3']) {\n this.view._artifacts['c3'].destroy();\n this.view._artifacts['c3'] = null;\n }\n }\n };\n });\n\n return types;\n}\n\nfunction c3CustomDataMapping(color, d) {\n const type = this.config.type;\n if (this.view._artifacts.pagination\n && type !== 'gauge'\n /*&& this.type() !== 'pie'\n && this.type() !== 'donut'*/) {\n const scope = this.view._artifacts.pagination.labels;\n if ((d.id && scope.indexOf(d.id) > -1)\n || (d && !d.id && scope.indexOf(d) > -1)) {\n return color;\n }\n else {\n if (type === 'donut' || type === 'pie') {\n return 'rgba(0,0,0,.1)';\n }\n else {\n return 'rgba(0,0,0,.07)';\n }\n }\n }\n else {\n return color;\n }\n}\n\nfunction c3CustomTooltipFiltering(value, ratio, id, index) {\n const type = this.config.type;\n\n if (this.view._artifacts.pagination\n && type !== 'gauge'\n /*&& this.type() !== 'pie'\n && this.type() !== 'donut'*/) {\n const scope = this.view._artifacts.pagination.labels;\n if (scope.indexOf(id) > -1) {\n return value;\n }\n }\n else {\n return value;\n }\n}\n\nfunction bindResizeListener(fn){\n if (typeof window === 'undefined') return;\n window.onresize = window.resize = function(){};\n if (window.addEventListener) {\n window.addEventListener('resize', fn, true);\n }\n else if (window.attachEvent) {\n window.attachEvent('onresize', fn);\n }\n}\n","import Dataset from './dataset';\nimport { extend } from './utils/extend';\nimport { stripHtmlTags } from './utils/strip-html-tags';\n\nexport default function (data) {\n if (!arguments.length) return this.dataset.data();\n if (data instanceof Dataset) {\n this.dataset = data;\n return this;\n }\n else {\n return parseResponse.call(this, data);\n }\n};\n\nfunction parseResponse(response) {\n var dataset,\n indexBy,\n meta,\n parser,\n parserArgs = [],\n query,\n selectedParser,\n title,\n type;\n\n indexBy = this.config.indexBy;\n meta = response.metadata || {};\n query = (typeof response.query !== 'undefined') ? response.query : {};\n\n // Ensure all required params are present\n query = extend({\n analysis_type: null,\n event_collection: null,\n filters: [],\n group_by: null,\n interval: null,\n timeframe: null,\n timezone: null\n }, query);\n\n if (query.analysis_type === 'funnel') {\n parser = 'funnel';\n }\n else if (query.analysis_type === 'extraction'){\n parser = 'extraction';\n }\n else if (query.analysis_type === 'select_unique') {\n if (!query.group_by && !query.interval) {\n parser = 'list';\n }\n // else { Not supported }\n }\n else if (query.analysis_type) {\n if (!query.group_by && !query.interval) {\n parser = 'metric';\n }\n else if (query.group_by && !query.interval) {\n if (query.group_by instanceof Array && query.group_by.length > 1) {\n parser = 'double-grouped-metric';\n parserArgs.push(query.group_by);\n }\n else {\n parser = 'grouped-metric';\n }\n }\n else if (query.interval && !query.group_by) {\n parser = 'interval';\n parserArgs.push(indexBy);\n }\n else if (query.group_by && query.interval) {\n if (query.group_by instanceof Array && query.group_by.length > 1) {\n parser = 'double-grouped-interval';\n parserArgs.push(query.group_by);\n parserArgs.push(indexBy);\n }\n else {\n parser = 'grouped-interval';\n parserArgs.push(indexBy);\n }\n }\n }\n\n if (!parser) {\n\n // Metric\n // -------------------------------\n if (typeof response.result === 'number'){\n parser = 'metric';\n }\n\n // Everything else\n // -------------------------------\n if (response.result instanceof Array && response.result.length > 0){\n\n // Interval w/ single value\n // -------------------------------\n if (response.result[0].timeframe && (typeof response.result[0].value == 'number' || response.result[0].value == null)) {\n parser = 'interval';\n parserArgs.push(indexBy)\n }\n\n // Static GroupBy\n // -------------------------------\n if (typeof response.result[0].result == 'number'){\n parser = 'grouped-metric';\n }\n\n // Grouped Interval\n // -------------------------------\n if (response.result[0].value instanceof Array){\n parser = 'grouped-interval';\n parserArgs.push(indexBy)\n }\n\n // Funnel\n // -------------------------------\n if (typeof response.result[0] === 'number'\n && typeof response.steps !== 'undefined'){\n parser = 'funnel';\n // Move steps into query object\n query.steps = response.steps;\n }\n\n // Select Unique\n // -------------------------------\n if ((typeof response.result[0] === 'string' || typeof response.result[0] == 'number') && typeof response.steps === 'undefined'){\n parser = 'list';\n }\n\n // Extraction\n // -------------------------------\n if (!parser) {\n parser = 'extraction';\n }\n }\n\n if (!parser) {\n parser = 'extraction';\n }\n }\n\n // Set title from saved query body, or create a default title\n if (this.config.title === undefined) {\n if (meta.display_name) {\n title = meta.display_name;\n }\n else {\n title = getDefaultTitle(query);\n }\n this.config.title = title;\n }\n\n // Set type from saved query body, or use a default type\n if (!this.config.type) {\n if (meta.visualization && meta.visualization.chart_type) {\n type = meta.visualization.chart_type;\n }\n else {\n type = getDefaultType(parser);\n }\n this.config.type = type;\n }\n\n // Define the appropriate parser\n selectedParser = Dataset.parser.apply(this, [parser].concat(parserArgs));\n\n // Parse the response with augmented query body\n dataset = selectedParser(extend(response, { 'query': query }));\n\n // Set true dates for 'interval' data\n if (parser.indexOf('interval') > -1) {\n dataset.updateColumn(0, function(value, i){\n return new Date(value);\n });\n }\n\n dataset.updateRow(0, function(value, i){\n return stripHtmlTags(value);\n });\n\n this.dataset = dataset;\n\n return this;\n}\n\nfunction getDefaultTitle(query) {\n var analysis = query.analysis_type ? query.analysis_type.replace('_', ' ') : '',\n title;\n\n title = analysis.replace( /\\b./g, function(a){\n return a.toUpperCase();\n });\n\n if (query.event_collection) {\n title += ' - ' + query.event_collection;\n }\n return title;\n}\n\nfunction getDefaultType(parser) {\n let type;\n switch (parser) {\n case 'metric':\n type = 'metric';\n break;\n case 'interval':\n type = 'area';\n break;\n case 'grouped-metric':\n case 'double-grouped-metric':\n type = 'bar';\n break;\n case 'grouped-interval':\n case 'double-grouped-interval':\n type = 'line';\n break;\n case 'funnel':\n type = 'horizontal-bar';\n break;\n case 'list':\n case 'extraction':\n default:\n type = 'table';\n }\n return type;\n}\n","export function valueAtDeepKey(obj, is, value) {\n if (typeof is == 'string')\n return valueAtDeepKey(obj, is.split('.'), value);\n else if (is.length==1 && value!==undefined && obj !== null &&\n typeof obj[is[0]] !== 'undefined')\n return obj[is[0]] = value;\n else if (is.length==0)\n return obj;\n else if (typeof is === 'undefined' || typeof obj === 'undefined'\n || is === null || obj === null\n || typeof obj[is[0]] === 'undefined')\n return null;\n else\n return valueAtDeepKey(obj[is[0]], is.slice(1), value);\n}\n","// Pure awesomeness by Will Rayner (penguinboy)\n// https://gist.github.com/penguinboy/762197\n\nexport function flatten(ob){\n var toReturn = {};\n for (var i in ob) {\n if (!ob.hasOwnProperty(i)) continue;\n if ((typeof ob[i]) == 'object' && ob[i] !== null) {\n var flatObject = flatten(ob[i]);\n for (var x in flatObject) {\n if (!flatObject.hasOwnProperty(x)) continue;\n toReturn[i + '.' + x] = flatObject[x];\n }\n } else {\n toReturn[i] = ob[i];\n }\n }\n return toReturn;\n};\n","let Dataset; /* injected */\n\nimport { each } from '../../utils/each';\nimport { flatten } from '../utils/flatten';\nimport { valueAtDeepKey } from '../utils/object';\n\nexport default function initialize(lib){\n Dataset = lib;\n return function(name){\n var options = Array.prototype.slice.call(arguments, 1);\n\n if (!parsers[name]) {\n throw 'Requested parser does not exist';\n }\n else {\n return parsers[name].apply(this, options);\n }\n };\n}\n\nfunction parseMetric(){\n return function(res){\n return new Dataset()\n .set(['Value', 'Result'], res.result)\n .type('metric');\n }\n}\n\n//var myParser = Dataset.parser('interval', 'timeframe.end');\nfunction parseInterval(){\n var options = Array.prototype.slice.call(arguments);\n return function(res){\n var dataset = new Dataset()\n .type('interval');\n each(res.result, function(record, i){\n var index = options[0] && options[0] === 'timeframe.end' ? record.timeframe.end : record.timeframe.start;\n dataset.set(['Result', index], record.value);\n });\n return dataset;\n }\n}\n\nfunction parseGroupedMetric(){\n return function(res){\n var dataset = new Dataset()\n .type('grouped-metric');\n each(res.result, function(record, i){\n var label;\n each(record, function(value, key){\n if (key !== 'result') {\n label = key;\n }\n });\n dataset.set(['Result', String(record[label])], record.result);\n });\n return dataset;\n }\n}\n\n//var myParser = Dataset.parser('grouped-interval', 'timeframe.end');\nfunction parseGroupedInterval(){\n var options = Array.prototype.slice.call(arguments);\n return function(res){\n var dataset = new Dataset()\n .type('grouped-interval');\n each(res.result, function(record, i){\n var index = options[0] && options[0] === 'timeframe.end' ? record.timeframe.end : record.timeframe.start;\n if (record.value.length) {\n each(record.value, function(group, j){\n var label;\n each(group, function(value, key){\n if (key !== 'result') {\n label = key;\n }\n });\n dataset.set([ String(group[label]), index ], group.result);\n });\n }\n else {\n dataset.appendRow(index);\n }\n });\n return dataset;\n }\n}\n\n//var myParser = Dataset.parser('double-grouped-metric', ['first', 'second']);\nfunction parseDoubleGroupedMetric(){\n var options = Array.prototype.slice.call(arguments);\n if (!options[0]) throw 'Requested parser requires a sequential list (array) of properties to target as a second argument';\n return function(res){\n var dataset = new Dataset()\n .type('double-grouped-metric');\n each(res.result, function(record, i){\n var rowLabel = record[options[0][0]] + ' ' + record[options[0][1]];\n dataset.set([ 'Result', rowLabel ], record.result);\n });\n return dataset;\n }\n}\n\n//var myParser = Dataset.parser('double-grouped-interval', ['first', 'second'], 'timeframe.end');\nfunction parseDoubleGroupedInterval(){\n var options = Array.prototype.slice.call(arguments);\n if (!options[0]) throw 'Requested parser requires a sequential list (array) of properties to target as a second argument';\n return function(res){\n var dataset = new Dataset()\n .type('double-grouped-interval');\n each(res.result, function(record, i){\n var index = options[1] && options[1] === 'timeframe.end' ? record.timeframe.end : record.timeframe.start;\n each(record['value'], function(value, j){\n var label = value[options[0][0]] + ' ' + value[options[0][1]];\n dataset.set([ label, index ], value.result);\n });\n });\n return dataset;\n }\n}\n\nfunction parseFunnel(){\n return function(res){\n var result, steps, dataset;\n if (typeof res.steps !== 'undefined'\n && typeof res.result !== 'undefined'\n && res.result instanceof Array) {\n // Ad-hoc funnel response\n result = res.result;\n steps = res.steps;\n }\n else if (typeof res.result.steps !== 'undefined'\n && typeof res.result.result !== 'undefined'\n && res.result.result instanceof Array) {\n // Saved funnel response\n result = res.result.result;\n steps = res.result.steps;\n }\n dataset = new Dataset().type('funnel');\n dataset.appendColumn('Step Value');\n each(result, function(value, i){\n if (typeof steps !== 'undefined' && steps[i]) {\n dataset.appendRow(String(steps[i].event_collection), [value]);\n }\n });\n return dataset;\n }\n}\n\nfunction parseList(){\n return function(res){\n var dataset = new Dataset()\n .type('list');\n each(res.result, function(value, i){\n dataset.set( [ 'Result', String(i+1) ], value );\n });\n return dataset;\n }\n}\n\nfunction parseExtraction(){\n let config = this.config;\n return function(res){\n const datasetExtraction = new Dataset()\n .type('extraction');\n // create header\n for (let i=0; i<1; i++){\n let record = res.result[i];\n each(flatten(record), function(value, key){\n datasetExtraction.set([ key, String(i+1) ], value);\n });\n }\n\n // get keys of the Object\n let names = Object.keys(flatten(res.result[0]));\n\n if (Dataset) {\n if (config\n && config.table\n && config.table.columns) {\n names = config.table.columns;\n }\n }\n\n for (let i=0; i -1) {\n\n if (typeof input === 'function') {\n\n each(self.data(), function(row, i){\n var cell;\n if (i > 0) {\n cell = input.call(self, row[index], i, row);\n if (typeof cell !== 'undefined') {\n self.matrix[i][index] = cell;\n }\n }\n });\n\n } else if (!input || input instanceof Array) {\n input = input || [];\n\n if (input.length <= self.data().length - 1) {\n input = input.concat( createNullList(self.data().length - 1 - input.length) );\n }\n else {\n // If this new column is longer than existing columns,\n // we need to update the rest to match ...\n each(input, function(value, i){\n if (self.matrix.length -1 < input.length) {\n appendRow.call(self, String( self.matrix.length ));\n }\n });\n }\n\n each(input, function(value, i){\n self.matrix[i+1][index] = value;\n });\n\n }\n\n }\n return self;\n}\n\nexport function updateRow(q, input){\n var self = this,\n index = (typeof q === 'number') ? q : this.selectColumn(0).indexOf(q);\n\n if (index > -1) {\n\n if (typeof input === 'function') {\n\n each(self.data()[index], function(value, i){\n var col = self.selectColumn(i),\n cell = input.call(self, value, i, col);\n if (typeof cell !== 'undefined') {\n self.matrix[index][i] = cell;\n }\n });\n\n } else if (!input || input instanceof Array) {\n input = input || [];\n\n if (input.length <= self.matrix[0].length - 1) {\n input = input.concat( createNullList( self.matrix[0].length - 1 - input.length ) );\n }\n else {\n each(input, function(value, i){\n if (self.matrix[0].length -1 < input.length) {\n appendColumn.call(self, String( self.matrix[0].length ));\n }\n });\n }\n\n each(input, function(value, i){\n self.matrix[index][i+1] = value;\n });\n }\n\n }\n return self;\n}\n","import { each } from '../../utils/each';\nimport analysesUtilMethods from '../utils/analyses';\n\nexport function sortColumns(str, comp) {\n var self = this,\n head = this.matrix[0].slice(1), // minus index\n cols = [],\n clone = [],\n fn = comp || analysesUtilMethods.getColumnLabel;\n\n // Isolate each column (except the index)\n each(head, function(cell, i) {\n cols.push(self.selectColumn(i+1).slice(0));\n });\n cols.sort(function(a,b){\n // If fn(a) > fn(b)\n var op = fn.call(self, a) > fn.call(self, b);\n if (op) {\n return (str === 'asc' ? 1 : -1);\n } else if (!op) {\n return (str === 'asc' ? -1 : 1);\n } else {\n return 0;\n }\n });\n each(cols, function(col, i) {\n self\n .deleteColumn(i+1)\n .insertColumn(i+1, col[0], col.slice(1));\n });\n return self;\n}\n\nexport function sortRows(str, comp) {\n var self = this,\n head = this.matrix.slice(0,1),\n body = this.matrix.slice(1),\n fn = comp || analysesUtilMethods.getRowIndex;\n body.sort(function(a, b){\n // If fn(a) > fn(b)\n var op = fn.call(self, a) > fn.call(self, b);\n if (op) {\n return (str === 'asc' ? 1 : -1);\n } else if (!op) {\n return (str === 'asc' ? -1 : 1);\n } else {\n return 0;\n }\n });\n self.data(head.concat(body));\n return self;\n}\n","import { each } from '../../utils/each';\n\nexport function selectColumn(q) {\n const result = [];\n const index = (typeof q === 'number') ? q : this.matrix[0].indexOf(q);\n\n if (index > -1 && typeof this.matrix[0][index] !== 'undefined') {\n each(this.matrix, function(row, i) {\n result.push(row[index]);\n });\n }\n return result;\n}\n\nexport function selectRow(q) {\n let result = [];\n const index = (typeof q === 'number') ? q : this.selectColumn(0).indexOf(q);\n\n if (index > -1 && typeof this.matrix[index] !== 'undefined') {\n result = this.matrix[index];\n }\n return result;\n}\n","import { each } from '../../utils/each';\nimport createNullList from '../utils/create-null-list';\nimport { appendRow, appendColumn } from './append';\n\nexport function insertColumn(index, str, input) {\n const self = this;\n const label = (str !== undefined) ? str : null;\n\n if (typeof input === 'function') {\n\n self.matrix[0].splice(index, 0, label);\n each(self.matrix, function(row, i) {\n var cell;\n if (i > 0) {\n cell = input.call(self, row, i);\n if (typeof cell === 'undefined') {\n cell = null;\n }\n self.matrix[i].splice(index, 0, cell);\n }\n });\n\n }\n\n else if (!input || input instanceof Array) {\n input = input || [];\n\n if (input.length <= self.matrix.length - 1) {\n input = input.concat( createNullList(self.matrix.length - 1 - input.length) );\n }\n else {\n // If this new column is longer than existing columns,\n // we need to update the rest to match ...\n each(input, function(value, i){\n if (self.matrix.length -1 < input.length) {\n appendRow.call(self, String( self.matrix.length ));\n }\n });\n }\n\n self.matrix[0].splice(index, 0, label);\n each(input, function(value, i){\n self.matrix[i+1].splice(index, 0, value);\n });\n\n }\n return self;\n}\n\nexport function insertRow(index, str, input) {\n const self = this;\n const newRow = [];\n const label = (str !== undefined) ? str : null;\n newRow.push(label);\n\n if (typeof input === 'function') {\n each(self.matrix[0], function(label, i) {\n let col;\n let cell;\n if (i > 0) {\n col = self.selectColumn(i);\n cell = input.call(self, col, i);\n if (typeof cell === 'undefined') {\n cell = null;\n }\n newRow.push(cell);\n }\n });\n self.matrix.splice(index, 0, newRow);\n }\n\n else if (!input || input instanceof Array) {\n input = input || [];\n\n if (input.length <= self.matrix[0].length - 1) {\n input = input.concat( createNullList( self.matrix[0].length - 1 - input.length ) );\n }\n else {\n each(input, function(value, i){\n if (self.matrix[0].length -1 < input.length) {\n appendColumn.call(self, String( self.matrix[0].length ));\n }\n });\n }\n\n self.matrix.splice(index, 0, newRow.concat(input) );\n }\n\n return self;\n}\n","import { each } from '../../utils/each';\n\nexport function filterColumns(fn) {\n const self = this;\n const clone = [];\n\n each(self.matrix, function(row, i) {\n clone.push([]);\n });\n\n each(self.matrix[0], function(col, i){\n var selectedColumn = self.selectColumn(i);\n if (i == 0 || fn.call(self, selectedColumn, i)) {\n each(selectedColumn, function(cell, ri){\n clone[ri].push(cell);\n });\n }\n });\n\n self.data(clone);\n return self;\n}\n\nexport function filterRows(fn) {\n const self = this;\n const clone = [];\n\n each(self.matrix, function(row, i){\n if (i == 0 || fn.call(self, row, i)) {\n clone.push(row);\n }\n });\n\n self.data(clone);\n return self;\n}\n","import { each } from '../../utils/each';\n\nexport function deleteColumn(q) {\n const self = this;\n const index = (typeof q === 'number') ? q : this.matrix[0].indexOf(q);\n\n if (index > -1) {\n each(self.matrix, function(row, i){\n self.matrix[i].splice(index, 1);\n });\n }\n return self;\n}\n\nexport function deleteRow(q) {\n var index = (typeof q === 'number') ? q : this.selectColumn(0).indexOf(q);\n\n if (index > -1) {\n this.matrix.splice(index, 1);\n }\n return this;\n}\n","import * as d3 from \"d3\";\nimport c3 from 'c3';\n\nimport pkg from '../package.json';\nimport data from './data';\nimport { Dataset } from './dataset';\n\n// Utils\nimport { each } from './utils/each';\nimport isDateString from './utils/assert-date-string';\nimport { stripHtmlTags } from './utils/strip-html-tags';\nimport { escapeHtml } from './utils/escape-html';\nimport libraries from './libraries';\nimport { extendDeep } from './utils/extend-deep';\n\n// Constructor\nexport const Dataviz = function (options = {}) {\n if (this instanceof Dataviz === false) {\n return new Dataviz(options);\n }\n\n this.c3 = c3; // expose for use outside\n this.d3 = d3;\n\n const datavizInstance = this;\n\n const defaultOptions = {\n showDeprecationWarnings: true,\n showLoadingSpinner: false,\n\n container: undefined, // querySelector of container, for example '#someDiv'\n containerElement: undefined, // HTML parent element for the chart\n\n // width: undefined, *deprecated* - use CSS\n // height: undefined, *deprecated* - use CSS\n\n title: undefined,\n showTitle: true,\n\n notes: undefined,\n theme: 'keen-dataviz',\n\n colors: [\n '#00bbde', '#fe6672', '#eeb058', '#8a8ad6', '#ff855c', '#00cfbb',\n '#5a9eed', '#73d483', '#c879bb', '#0099b6', '#d74d58', '#cb9141',\n '#6b6bb6', '#d86945', '#00aa99', '#4281c9', '#57b566', '#ac5c9e',\n '#27cceb', '#ff818b', '#f6bf71', '#9b9be1', '#ff9b79', '#26dfcd',\n '#73aff4', '#87e096', '#d88bcb',\n ],\n\n colorMapping: {},\n\n indexBy: 'timeframe.start',\n labels: [],\n labelMapping: {},\n labelMappingRegExp: undefined,\n errorMapping: {},\n showErrorMessages: true,\n library: 'default',\n sortGroups: undefined,\n sortIntervals: undefined,\n\n results: undefined, // raw data\n\n // C3 chartOptions\n type: undefined,\n stacked: false,\n dateFormat: undefined,\n legend: {\n show: true,\n position: 'right',\n label: {\n textMaxLength: 12\n },\n pagination: {\n offset: 0, // start from\n limit: 5 // items per page\n },\n tooltip: {\n show: true,\n pointer: true\n },\n sort: undefined\n },\n\n axis: {},\n color: {},\n data: {\n order: null\n },\n size: {\n // control it with CSS of .c3-chart\n },\n padding: {\n top: 15\n },\n point: {\n focus: {\n expand: {\n enabled: false\n }\n },\n r: 2,\n show: true\n },\n tooltip: {\n format: {\n // https://c3js.org/samples/tooltip_format.html\n }\n },\n transition: {\n // duration: 0\n },\n data: {\n selection: {\n enabled: true,\n draggable: true,\n multiple: true\n }\n },\n grid: {\n y: {\n show: true\n }\n },\n partialIntervalIndicator: {\n show: undefined,\n className: 'partial-interval-indicator'\n },\n timezone: 'UTC',\n table: {},\n renderOnVisible: false,\n funnel: {\n lines: true,\n resultValues: true,\n percents: {\n show: false,\n countingMethod: 'absolute',\n decimals: 0\n },\n marginBetweenElements: false,\n hover: true,\n effect3d: 'both-sides',\n }\n };\n\n this.config = { ...extendDeep(defaultOptions, options) };\n\n if (this.config.type) {\n // backward compatibility with v2016... areachart -> area\n this.config.type = convertChartTypes(this.config.type);\n }\n\n // get DOM node by query\n if (this.config.container) {\n this.el(this.config.container);\n }\n\n if (options.legend !== undefined && !options.legend) {\n this.config.legend = {\n ...options,\n show: false\n };\n }\n\n if (options.color && options.color.pattern) {\n // to match c3 options\n this.config.colors = options.color.pattern;\n }\n\n if (this.config.legend\n && this.config.legend.tooltip\n && this.config.legend.tooltip.show === false\n && this.config.tooltip.show === undefined) {\n this.config.tooltip = { show: false };\n }\n\n if (options.color && options.color.pattern) {\n // to match c3 options\n this.config.colors = options.color.pattern;\n }\n\n this.dataset = new Dataset(this.config);\n this.view = {\n _prepared: false,\n _rendered: false,\n _artifacts: { /* state bin */ }\n };\n\n Dataviz.visuals.push(this);\n\n if (this.config.showLoadingSpinner) {\n this.prepare();\n }\n\n if (!!this.config.results) {\n this.render(this.config.results);\n }\n this.config.firstVisibilityState = document.visibilityState;\n};\n\nDataviz.libraries = { default: {} };\nif (typeof window !== 'undefined') {\n Dataviz.libraries.default = libraries(Dataviz);\n}\nDataviz.visuals = [];\n\nDataviz.register = function (name, actions) {\n Dataviz.libraries[name] = Dataviz.libraries[name] || {};\n each(actions, function(method, key){\n Dataviz.libraries[name][key] = method;\n });\n};\n\nDataviz.find = function(target){\n if (!arguments.length) return Dataviz.visuals;\n const el = target.nodeName ? target : document.querySelector(target);\n let match = null;\n each(Dataviz.visuals, function(visual){\n if (el == visual.config.container){\n match = visual;\n return false;\n }\n });\n return match;\n};\n\n\n // Prototype\n // ------------\n\nDataviz.prototype.attributes = function(obj){\n if (this.config.showDeprecationWarnings) {\n console.log('.attributes() is deprecated. Use: new KeenDataviz({ _your_value_here_ })');\n }\n if (!arguments.length) return this.config;\n const view = this.config;\n each(obj, function(prop, key){\n // Handle deprecated property names\n if (key === 'chartType') {\n key = 'type';\n }\n view[key] = prop;\n });\n return this;\n};\n\nDataviz.prototype.call = function(fn){\n fn.call(this);\n return this;\n};\n\nDataviz.prototype.chartOptions = function(obj){\n if (this.config.showDeprecationWarnings) {\n console.log('.chartOptions() is deprecated. Use: new KeenDataviz({ _your_value_here_ })');\n }\n if (!arguments.length) return this.config;\n this.config = extendDeep(this.config, obj);\n return this;\n};\n\nDataviz.prototype.colors = function(arr){\n if (this.config.showDeprecationWarnings) {\n console.log('.colors() is deprecated. Use: new KeenDataviz({ colors: _your_value_here_ })');\n }\n if (!arguments.length) return this.config.colors;\n this.config.colors = (arr instanceof Array ? arr : []);\n return this;\n};\n\nDataviz.prototype.colorMapping = function(obj){\n if (this.config.showDeprecationWarnings) {\n console.log('.colorMapping() is deprecated. Use: new KeenDataviz({ colorMapping: _your_value_here_ })');\n }\n const datavizInstance = this;\n if (!arguments.length) return this.config.colorMapping;\n if (obj === null) {\n this.config.colorMapping = {};\n }\n else if (typeof obj === 'object') {\n each(obj, function(value, key){\n datavizInstance.config.colorMapping[key] = (value ? value : null);\n });\n }\n return this;\n};\n\nDataviz.prototype.data = data;\n\nDataviz.prototype.dateFormat = function(val){\n if (this.config.showDeprecationWarnings) {\n console.log('.dateFormat() is deprecated. Use: new KeenDataviz({ dateFormat: _your_value_here_ })');\n }\n if (!arguments.length) return this.config.dateFormat;\n if (typeof val === 'string' || typeof val === 'function') {\n this.config.dateFormat = val;\n }\n else {\n this.config.dateFormat = undefined;\n }\n return this;\n};\n\nDataviz.prototype.destroy = function(){\n const library = this.library();\n const type = this.config.type;\n const element = this.el();\n\n // Call destroy method if present\n if (Dataviz.libraries[library]\n && Dataviz.libraries[library][type]){\n Dataviz.libraries[library][type].destroy.call(this);\n }\n\n // Clear rendered artifacts, state bin\n if (element) {\n element.innerHTML = '';\n }\n this.view._prepared = false;\n this.view._rendered = false;\n this.view._artifacts = {};\n return this;\n};\n\nDataviz.prototype.el = function(target){\n const datavizInstance = this;\n if (!arguments.length) return this.config.containerElement;\n domReady(function(){\n if (target && target !== null) {\n if (target.nodeName) {\n datavizInstance.config.containerElement = target;\n }\n else if (document.querySelector) {\n datavizInstance.config.containerElement = document.querySelector(target);\n }\n }\n else {\n datavizInstance.config.containerElement = undefined;\n }\n });\n return this;\n};\n\nDataviz.prototype.height = function(num){\n if (this.config.showDeprecationWarnings) {\n console.log('.height() is deprecated - use CSS classes');\n }\n return this;\n};\n\n// IMPORTANT: Must be run before data parsing\nDataviz.prototype.indexBy = function(str){\n if (this.config.showDeprecationWarnings) {\n console.log('.indexBy() is deprecated. Use: new KeenDataviz({ indexBy: _your_value_here_ })');\n }\n if (!arguments.length) return this.config.indexBy;\n this.config.indexBy = (str ? String(str) : 'timeframe.start');\n return this;\n};\n\nDataviz.prototype.labels = function(arr){\n if (this.config.showDeprecationWarnings) {\n console.log('.labels() is deprecated. Use: new KeenDataviz({ labels: _your_value_here_ })');\n }\n\n if (!arguments.length) return this.config.labels;\n this.config.labels = (arr instanceof Array ? arr : []);\n\n setLabels(this);\n\n return this;\n};\n\nfunction setLabels(datavizInstance){\n // Write labels\n if (datavizInstance.data()[0].length === 2 && !isDateString(datavizInstance.data()[1][0])) {\n datavizInstance.dataset.updateColumn(0, function(value, index){\n if (datavizInstance.config.labels[index-1]) {\n return stripHtmlTags(String(datavizInstance.config.labels[index-1]));\n }\n return stripHtmlTags(value);\n }.bind(datavizInstance));\n }\n else {\n datavizInstance.dataset.updateRow(0, function(value, index){\n if (index > 0 && datavizInstance.config.labels[index-1]) {\n return stripHtmlTags(String(datavizInstance.config.labels[index-1]));\n }\n return stripHtmlTags(value);\n }.bind(datavizInstance));\n }\n}\n\nDataviz.prototype.labelMapping = function(obj){\n if (this.config.showDeprecationWarnings) {\n console.log('.labelMapping() is deprecated. Use: new KeenDataviz({ labelMapping: _your_value_here_ })');\n }\n if (!arguments.length) return this.config.labelMapping;\n if (obj === null) {\n this.config.labelMapping = {};\n }\n else if (typeof obj === 'object') {\n each(obj, function(value, key){\n this.config.labelMapping[key] = (value ? value : null);\n }.bind(this));\n }\n\n mapLabels(this);\n\n return this;\n};\n\nfunction mapLabelsExec({ datavizInstance, value }){\n if (datavizInstance.config.labelMappingRegExp){\n let valueAfterMatching = value;\n datavizInstance.config.labelMappingRegExp.forEach(regExpAndLabel => {\n if (regExpAndLabel.length > 1) {\n let regExpObj = regExpAndLabel[0];\n if (regExpObj.test(value)){\n valueAfterMatching = regExpAndLabel[1];\n }\n }\n });\n return stripHtmlTags(valueAfterMatching);\n }\n if (datavizInstance.config.labelMapping[value]) {\n return stripHtmlTags(String(datavizInstance.config.labelMapping[value]));\n }\n return stripHtmlTags(value);\n}\n\nfunction mapLabels(datavizInstance){\n // Write labels\n if (!datavizInstance.config.labelMappingDimension) {\n // if not defined use deprecated auto-detecting\n if (datavizInstance.data()[0].length === 2 && !isDateString(datavizInstance.data()[1][0])) {\n datavizInstance.config.labelMappingDimension = 'row';\n } else {\n datavizInstance.config.labelMappingDimension = 'column';\n }\n }\n\n if (datavizInstance.config.labelMappingDimension === 'row'\n || datavizInstance.config.labelMappingDimension === 'both') {\n datavizInstance.dataset.updateColumn(0, function(value){\n return mapLabelsExec({ datavizInstance, value });\n }.bind(datavizInstance));\n }\n\n if (datavizInstance.config.labelMappingDimension === 'column'\n || datavizInstance.config.labelMappingDimension === 'both') {\n datavizInstance.dataset.updateRow(0, function(value){\n return mapLabelsExec({ datavizInstance, value });\n }.bind(datavizInstance));\n }\n}\n\nDataviz.prototype.library = function(str){\n if (!arguments.length) return this.config['library'];\n this.config['library'] = (str ? String(str) : null);\n return this;\n};\n\nDataviz.prototype.message = function(){\n if (this.view._rendered) {\n this.destroy();\n }\n if (this.el()) {\n this.el().innerHTML = '';\n const message = Dataviz.libraries.default.message;\n if (message.render) {\n message.render.apply(this, arguments);\n }\n }\n return this;\n};\n\nDataviz.prototype.notes = function(str){\n if (this.config.showDeprecationWarnings) {\n console.log('.notes() is deprecated. Use: new KeenDataviz({ notes: _your_value_here_ })');\n }\n if (!arguments.length) return this.config.notes;\n this.config.notes = (str ? String(str) : null);\n return this;\n};\n\nDataviz.prototype.prepare = function(){\n const datavizInstance = this;\n\n if (!this.el()) {\n throw `${this.config.container} not found. A DOM parent element is required to mount the chart.`;\n return;\n }\n\n domReady(function(){\n if (datavizInstance.view._rendered) {\n datavizInstance.destroy();\n }\n if (datavizInstance.el()) {\n datavizInstance.el().innerHTML = '';\n const loader = Dataviz.libraries.default.spinner;\n if (loader.render) {\n loader.render.call(datavizInstance);\n }\n datavizInstance.view._prepared = true;\n }\n });\n\n return this;\n};\n\nDataviz.prototype.render = function(results = undefined){\n const datavizInstance = this;\n if (!!results) {\n const firstResult = results[0] || results;\n if (\n firstResult.query\n && firstResult.query.interval\n && firstResult.query.timeframe\n && firstResult.query.timeframe === 'string'\n && firstResult.query.timeframe.indexOf('this_') > -1\n && this.config.partialIntervalIndicator\n && this.config.partialIntervalIndicator.show === undefined\n )\n {\n this.config.partialIntervalIndicator.show = true;\n }\n\n if (Array.isArray(results)) {\n const timeframes = results.map(resultItem => resultItem.query.timeframe);\n timeframes.forEach(resultTimeframe => {\n let foundDifferent = timeframes.find(timeframeItem =>\n JSON.stringify(timeframeItem) !== JSON.stringify(resultTimeframe)\n );\n if (foundDifferent){\n const msg = 'Timeframes of the queries should be the same';\n console.error(msg);\n throw msg;\n }\n });\n // first result is important to prepare X on the chart\n return datavizInstance\n .data(results[0])\n .call(() => {\n const getLabel = (input) => {\n return `${input.query.event_collection} ${input.query.analysis_type}`;\n }\n let label = getLabel(results[0]);\n if (datavizInstance.config.labelMapping[label]) {\n label = datavizInstance.config.labelMapping[label];\n }\n this.dataset.deleteColumn(1);\n let firstResultPassed = false;\n for (let result of results) {\n label = getLabel(result);;\n let ds2 = Dataset.parser('interval')(result);\n datavizInstance.dataset.appendColumn(label, ds2.selectColumn(1).slice(1));\n }\n })\n .render();\n }\n\n return datavizInstance.data(results).render();\n }\n if (\n (!!this.config.labelMapping && Object.keys(this.config.labelMapping).length > 0)\n ||\n (!!this.config.labelMappingRegExp && this.config.labelMappingRegExp.length > 0)\n ){\n mapLabels(datavizInstance);\n }\n if (!!this.config.labels && Object.keys(this.config.labels).length > 0){\n setLabels(datavizInstance);\n }\n if (!!this.config.sortGroups) {\n sortGroups(datavizInstance);\n }\n if (!!this.config.sortIntervals) {\n sortIntervals(datavizInstance);\n }\n\n const loader = Dataviz.libraries.default.spinner;\n const library = this.config.library;\n const type = this.config.type;\n const containerElement = this.el();\n\n if (!containerElement || containerElement === undefined) {\n const msg = `${this.config.container} not found. A DOM parent element is required to mount the chart.`;\n console.error(msg);\n throw msg;\n return;\n }\n\n let returnValue = datavizInstance;\n\n if (datavizInstance.config.renderAsPromise) {\n returnValue = new Promise((resolve, reject) => {\n const customCallback = this.config.onrendered;\n datavizInstance.config.onrendered = () => {\n if (customCallback) {\n customCallback();\n }\n resolve(datavizInstance);\n }\n });\n }\n\n domReady(function(){\n if (datavizInstance.view._prepared && loader.destroy) {\n loader.destroy.apply(datavizInstance, arguments);\n }\n containerElement.innerHTML = '';\n\n if (Dataviz.libraries[library] === 'undefined'){\n // Error: Unregistered library\n const msg = `Incorrect library`;\n datavizInstance.message(msg);\n throw msg;\n return;\n }\n else {\n if (typeof Dataviz.libraries[library][type] === 'undefined') {\n const msg = `Incorrect chart type`;\n const mappedMsg = this.config.errorMapping[msg] || msg;\n datavizInstance.message(mappedMsg);\n throw msg;\n return;\n }\n else {\n buildDomWrapper(containerElement,\n datavizInstance.config\n );\n const { renderOnVisible } = datavizInstance.config;\n if(renderOnVisible){\n if(typeof IntersectionObserver !== 'undefined'){\n const chartVisibleCallback = (events, observer) => {\n events.forEach(el => {\n if(el.isIntersecting){\n if(!datavizInstance.view._rendered){\n Dataviz.libraries[library][type].render.call(datavizInstance);\n datavizInstance.view._rendered = true;\n }\n }\n })\n }\n const observer = new IntersectionObserver(chartVisibleCallback);\n observer.observe(containerElement);\n return;\n }\n }\n if(datavizInstance.config.firstVisibilityState === 'hidden'){\n if(typeof document !== 'undefined') {\n let hidden, visibilityChange;\n if (typeof document.hidden !== \"undefined\") {\n hidden = \"hidden\";\n visibilityChange = \"visibilitychange\";\n } else if (typeof document.msHidden !== \"undefined\") {\n hidden = \"msHidden\";\n visibilityChange = \"msvisibilitychange\";\n } else if (typeof document.webkitHidden !== \"undefined\") {\n hidden = \"webkitHidden\";\n visibilityChange = \"webkitvisibilitychange\";\n }\n const handleVisibilityChange = () => {\n if(!document[hidden]) {\n datavizInstance.view._artifacts.c3.load(datavizInstance.dataset.matrix);\n }\n }\n if(typeof document.addEventListener !== \"undefined\" ||\n hidden !== undefined){\n document.addEventListener(visibilityChange, handleVisibilityChange, {\n once: true\n });\n }\n }\n }\n Dataviz.libraries[library][type].render.call(datavizInstance);\n datavizInstance.view._rendered = true;\n }\n }\n });\n\n return returnValue;\n};\n\nDataviz.prototype.sortGroups = function(str){\n if (this.config.showDeprecationWarnings) {\n console.log('.sortGroups() is deprecated. Use: new KeenDataviz({ sortGroups: _your_value_here_ })');\n }\n if (!arguments.length) return this.config.sortGroups;\n this.config.sortGroups = (str ? String(str) : null);\n\n sortGroups(this, str);\n\n return this;\n};\n\nfunction sortGroups(datavizInstance){\n // Sort groups\n if (datavizInstance.config.sortGroups && datavizInstance.data().length > 1) {\n if (isDateString(datavizInstance.data()[1][0])) {\n datavizInstance.dataset.sortColumns(datavizInstance.config.sortGroups, datavizInstance.dataset.getColumnSum);\n }\n else {\n datavizInstance.dataset.sortRows(datavizInstance.config.sortGroups, datavizInstance.dataset.getRowSum);\n }\n }\n}\n\nDataviz.prototype.sortIntervals = function(str){\n if (this.config.showDeprecationWarnings) {\n console.log('.sortIntervals() is deprecated. Use: new KeenDataviz({ sortIntervals: _your_value_here_ })');\n }\n if (!arguments.length) return this.config.sortIntervals;\n this.config.sortIntervals = (str ? String(str) : null);\n\n sortIntervals(this);\n\n return this;\n};\n\nfunction sortIntervals(datavizInstance){\n if (datavizInstance.config.sortIntervals) {\n datavizInstance.dataset.sortRows(datavizInstance.config.sortIntervals);\n }\n}\n\nDataviz.prototype.stacked = function(bool){\n if (this.config.showDeprecationWarnings) {\n console.log('.stacked() is deprecated. Use: new KeenDataviz({ stacked: _your_value_here_ })');\n }\n if (!arguments.length) return this.config.stacked;\n this.config.stacked = bool ? true : false;\n return this;\n};\n\nDataviz.prototype.theme = function(str){\n if (this.config.showDeprecationWarnings) {\n console.log('.theme() is deprecated. Use: new KeenDataviz({ theme: _your_value_here_ })');\n }\n if (!arguments.length) return this.config.theme;\n this.config.theme = (str ? String(str) : null);\n return this;\n};\n\nDataviz.prototype.title = function(str){\n if (this.config.showDeprecationWarnings) {\n console.log('.title() is deprecated. Use: new KeenDataviz({ title: _your_value_here_ })');\n }\n if (!arguments.length) return this.config.title;\n this.config.title = (str ? String(str) : null);\n return this;\n};\n\nDataviz.prototype.type = function(str){\n if (this.config.showDeprecationWarnings) {\n console.log('.type() is deprecated. Use: new KeenDataviz({ type: _your_value_here_ })');\n }\n if (!arguments.length) return this.config.type;\n this.config.type = (str ? convertChartTypes(str) : null);\n return this;\n};\n\nDataviz.prototype.update = function(){\n const library = this.config.library;\n const type = this.config.type;\n const element = this.el();\n if (library && type && element && Dataviz.libraries[library][type].update) {\n Dataviz.libraries[library][type].update.apply(this, arguments);\n }\n return this;\n};\n\nDataviz.prototype.width = function(num){\n if (this.config.showDeprecationWarnings) {\n console.log('.width() is deprecated - use CSS classes');\n }\n return this;\n};\n\n// Deprecations\nDataviz.prototype.chartType = Dataviz.prototype.type;\nDataviz.prototype.error = Dataviz.prototype.message;\nDataviz.prototype.parseRawData = Dataviz.prototype.data;\nDataviz.prototype.parseRequest = function(){\n // this.emit('error', 'This method is no longer supported. Use .data() instead: https://github.com/keen/keen-dataviz.js#data');\n return this;\n};\nDataviz.prototype.initialize = function(){\n // this.emit('error', 'This method is no longer supported, and can be omitted as it has no impact');\n return this;\n};\n\nDataviz.version = pkg.version;\n\n// Private\n\nfunction buildDomWrapper(el, options) {\n let html = '';\n let chart100percentWide = '';\n if (options.legend.position === 'top' || options.legend.position === 'bottom') {\n chart100percentWide = 'c3-chart-100-percent';\n }\n\n let container = `
`;\n let align = 'horizontal';\n if (options.legend.position === 'left' || options.legend.position === 'right') {\n align = 'vertical';\n }\n if (options.legend && options.legend.show) {\n if (options.legend.position === 'top' || options.legend.position === 'left') {\n container = `
${container}`;\n } else {\n container = `${container}
`;\n }\n }\n html += `
`;\n if (options.title && options.showTitle) {\n html += `
${options.title}
`;\n }\n html += `
${container}
`;\n if (options.notes) {\n html += `
${options.notes}
`;\n }\n html += `
`;\n el.innerHTML = html;\n}\n\nfunction convertChartTypes(str) {\n const map = {\n areachart: 'area',\n barchart: 'horizontal-bar',\n columnchart: 'bar',\n linechart: 'line',\n piechart: 'pie',\n };\n return map[str] || str;\n}\n\nfunction testDom(fn) {\n if (/in/.test(document.readyState)) {\n setTimeout(function(){\n testDom(fn);\n }, 9);\n } else {\n fn();\n }\n}\n\nfunction domReady(fn) {\n if (typeof document !== 'undefined' || typeof window === 'undefined') {\n fn();\n return;\n }\n // Firefox 3.5 shim\n if (document.readyState == null && document.addEventListener) {\n document.addEventListener('DOMContentLoaded', function DOMContentLoaded() {\n document.removeEventListener('DOMContentLoaded', DOMContentLoaded, false);\n document.readyState = 'complete';\n }, false);\n document.readyState = 'loading';\n }\n testDom(fn);\n}\n\nexport { Dataset } from './dataset';\n\nexport default Dataviz;\n","var g;\r\n\r\n// This works in non-strict mode\r\ng = (function() {\r\n\treturn this;\r\n})();\r\n\r\ntry {\r\n\t// This works if eval is allowed (see CSP)\r\n\tg = g || Function(\"return this\")() || (1, eval)(\"this\");\r\n} catch (e) {\r\n\t// This works if the window reference is available\r\n\tif (typeof window === \"object\") g = window;\r\n}\r\n\r\n// g can still be undefined, but nothing to do about it...\r\n// We return undefined, instead of nothing here, so it's\r\n// easier to handle this case. if(!global) { ...}\r\n\r\nmodule.exports = g;\r\n","import { Dataviz, Dataset } from './index';\n\nconst env = typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : typeof window !== 'undefined' ? window : {};\n\nexport const extendKeenGlobalObject = function(env) {\n env.KeenDataviz = Dataviz;\n env.KeenDataset = Dataset;\n\n // just for backward compatibility\n env.Keen = env.Keen || {};\n env.Keen.Dataset = Dataset;\n env.Keen.Dataviz = Dataviz;\n};\n\nif (typeof KEEN_GLOBAL_OBJECT !== 'undefined'\n && KEEN_GLOBAL_OBJECT) {\n extendKeenGlobalObject(env);\n}\n\nexport let keenGlobals = undefined;\nif (typeof webpackKeenGlobals !== 'undefined') {\n keenGlobals = webpackKeenGlobals;\n}\n\nexport { Dataviz, Dataset } from './index';\nexport default Dataviz;\n"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/external_d3_c3/node/keen-dataviz.js b/dist/external_d3_c3/node/keen-dataviz.js index 9f7423c..0ab31e7 100644 --- a/dist/external_d3_c3/node/keen-dataviz.js +++ b/dist/external_d3_c3/node/keen-dataviz.js @@ -1,13 +1,13 @@ (function webpackUniversalModuleDefinition(root, factory) { if(typeof exports === 'object' && typeof module === 'object') - module.exports = factory(require("c3"), require("d3")); + module.exports = factory(require("d3"), require("c3")); else if(typeof define === 'function' && define.amd) - define(["c3", "d3"], factory); + define(["d3", "c3"], factory); else { - var a = typeof exports === 'object' ? factory(require("c3"), require("d3")) : factory(root["c3"], root["d3"]); + var a = typeof exports === 'object' ? factory(require("d3"), require("c3")) : factory(root["d3"], root["c3"]); for(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i]; } -})(global, function(__WEBPACK_EXTERNAL_MODULE__132__, __WEBPACK_EXTERNAL_MODULE__133__) { +})(global, function(__WEBPACK_EXTERNAL_MODULE__2__, __WEBPACK_EXTERNAL_MODULE__135__) { return /******/ (function(modules) { // webpackBootstrap /******/ // The module cache /******/ var installedModules = {}; @@ -76,7 +76,7 @@ return /******/ (function(modules) { // webpackBootstrap /******/ /******/ /******/ // Load entry module and return exports -/******/ return __webpack_require__(__webpack_require__.s = 163); +/******/ return __webpack_require__(__webpack_require__.s = 168); /******/ }) /************************************************************************/ /******/ ([ @@ -1917,7 +1917,7 @@ return /******/ (function(modules) { // webpackBootstrap try { oldLocale = globalLocale._abbr; var aliasedRequire = require; - __webpack_require__(139)("./" + name); + __webpack_require__(145)("./" + name); getSetGlobalLocale(oldLocale); } catch (e) {} } @@ -4589,7 +4589,7 @@ return /******/ (function(modules) { // webpackBootstrap }))); -/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(140)(module))) +/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(146)(module))) /***/ }), /* 1 */ @@ -4630,6 +4630,92 @@ function each(o, cb, s) { /***/ }), /* 2 */ +/***/ (function(module, exports) { + +module.exports = __WEBPACK_EXTERNAL_MODULE__2__; + +/***/ }), +/* 3 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.prettyNumber = prettyNumber; +function prettyNumber(input) { + // If it has 3 or fewer sig figs already, just return the number. + var input = Number(input), + sciNo = input.toPrecision(3), + prefix = '', + suffixes = ['', 'k', 'M', 'B', 'T']; + + if (Number(sciNo) == input && String(input).length <= 4) { + return String(input); + } + + if (Math.abs(input) >= 1000000000000000) { + return sciNo; + } + + if (input >= 1 || input <= -1) { + if (input < 0) { + //Pull off the negative side and stash that. + input = -input; + prefix = '-'; + } + return prefix + recurse(input, 0); + } else { + return input.toPrecision(3); + } + + function recurse(input, iteration) { + var input = String(input); + var split = input.split('.'); + // If there's a dot + if (split.length > 1) { + // Keep the left hand side only + input = split[0]; + var rhs = split[1]; + // If the left-hand side is too short, pad until it has 3 digits + if (input.length == 2 && rhs.length > 0) { + // Pad with right-hand side if possible + if (rhs.length > 0) { + input = input + '.' + rhs.charAt(0); + } + // Pad with zeroes if you must + else { + input += '0'; + } + } else if (input.length == 1 && rhs.length > 0) { + input = input + '.' + rhs.charAt(0); + // Pad with right-hand side if possible + if (rhs.length > 1) { + input += rhs.charAt(1); + } + // Pad with zeroes if you must + else { + input += '0'; + } + } + } + var numNumerals = input.length; + // if it has a period, then numNumerals is 1 smaller than the string length: + if (input.split('.').length > 1) { + numNumerals--; + } + if (numNumerals <= 3) { + return String(input) + suffixes[iteration]; + } else { + return recurse(Number(input) / 1000, iteration + 1); + } + } +} + +/***/ }), +/* 4 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -4700,7 +4786,52 @@ function escapeHtml(string) { } /***/ }), -/* 3 */ +/* 5 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.textWrap = textWrap; + +var _d = __webpack_require__(2); + +var d3 = _interopRequireWildcard(_d); + +function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } + +function textWrap(text, width) { + text.each(function () { + var text = d3.select(this), + words = text.text().split(/\s+/).reverse(), + word = void 0, + line = [], + lineNumber = 0, + lineHeight = 1.1, + // ems + x = text.attr("x"), + y = text.attr("y"), + dy = 0, + //parseFloat(text.attr("dy")), + tspan = text.text(null).append("tspan").attr("x", x).attr("y", y).attr("dy", dy + "em"); + while (word = words.pop()) { + line.push(word); + tspan.text(line.join(" ")); + if (tspan.node().getComputedTextLength() > width) { + line.pop(); + tspan.text(line.join(" ")); + line = [word]; + tspan = text.append("tspan").attr("x", x).attr("y", y).attr("dy", ++lineNumber * lineHeight + dy + "em").text(word); + } + } + }); +} + +/***/ }), +/* 6 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -4720,7 +4851,7 @@ function extend(target) { } /***/ }), -/* 4 */ +/* 7 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -4757,7 +4888,7 @@ function testString(input) { } /***/ }), -/* 5 */ +/* 8 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -4780,7 +4911,7 @@ function stripHtmlTags(inputString) { } /***/ }), -/* 6 */ +/* 9 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -4799,7 +4930,7 @@ exports.default = function (len) { }; /***/ }), -/* 7 */ +/* 10 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -4811,7 +4942,7 @@ Object.defineProperty(exports, "__esModule", { exports.appendColumn = appendColumn; exports.appendRow = appendRow; -var _createNullList = __webpack_require__(6); +var _createNullList = __webpack_require__(9); var _createNullList2 = _interopRequireDefault(_createNullList); @@ -4902,7 +5033,7 @@ function appendRow(str, input) { } /***/ }), -/* 8 */ +/* 11 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -5008,7 +5139,7 @@ function appendRow(str, input) { /***/ }), -/* 9 */ +/* 12 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -5114,7 +5245,7 @@ function appendRow(str, input) { /***/ }), -/* 10 */ +/* 13 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -5227,7 +5358,7 @@ function appendRow(str, input) { /***/ }), -/* 11 */ +/* 14 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -5290,7 +5421,7 @@ function appendRow(str, input) { /***/ }), -/* 12 */ +/* 15 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -5361,7 +5492,7 @@ function appendRow(str, input) { /***/ }), -/* 13 */ +/* 16 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -5443,7 +5574,7 @@ function appendRow(str, input) { /***/ }), -/* 14 */ +/* 17 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -5504,7 +5635,7 @@ function appendRow(str, input) { /***/ }), -/* 15 */ +/* 18 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -5565,7 +5696,7 @@ function appendRow(str, input) { /***/ }), -/* 16 */ +/* 19 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -5666,7 +5797,7 @@ function appendRow(str, input) { /***/ }), -/* 17 */ +/* 20 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -5820,7 +5951,7 @@ function appendRow(str, input) { /***/ }), -/* 18 */ +/* 21 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js language configuration @@ -5942,7 +6073,7 @@ function appendRow(str, input) { /***/ }), -/* 19 */ +/* 22 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -6003,7 +6134,7 @@ function appendRow(str, input) { /***/ }), -/* 20 */ +/* 23 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -6064,7 +6195,7 @@ function appendRow(str, input) { /***/ }), -/* 21 */ +/* 24 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -6158,7 +6289,7 @@ function appendRow(str, input) { /***/ }), -/* 22 */ +/* 25 */ /***/ (function(module, exports, __webpack_require__) { @@ -6255,7 +6386,7 @@ function appendRow(str, input) { /***/ }), -/* 23 */ +/* 26 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -6380,7 +6511,7 @@ function appendRow(str, input) { /***/ }), -/* 24 */ +/* 27 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -6445,7 +6576,7 @@ function appendRow(str, input) { /***/ }), -/* 25 */ +/* 28 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -6515,7 +6646,7 @@ function appendRow(str, input) { /***/ }), -/* 26 */ +/* 29 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -6634,7 +6765,7 @@ function appendRow(str, input) { /***/ }), -/* 27 */ +/* 30 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -6704,7 +6835,7 @@ function appendRow(str, input) { /***/ }), -/* 28 */ +/* 31 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -6796,7 +6927,7 @@ function appendRow(str, input) { /***/ }), -/* 29 */ +/* 32 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -6928,7 +7059,7 @@ function appendRow(str, input) { /***/ }), -/* 30 */ +/* 33 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -6990,7 +7121,7 @@ function appendRow(str, input) { /***/ }), -/* 31 */ +/* 34 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -7062,7 +7193,7 @@ function appendRow(str, input) { /***/ }), -/* 32 */ +/* 35 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -7153,7 +7284,7 @@ function appendRow(str, input) { /***/ }), -/* 33 */ +/* 36 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -7267,7 +7398,7 @@ function appendRow(str, input) { /***/ }), -/* 34 */ +/* 37 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -7381,7 +7512,7 @@ function appendRow(str, input) { /***/ }), -/* 35 */ +/* 38 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -7452,7 +7583,7 @@ function appendRow(str, input) { /***/ }), -/* 36 */ +/* 39 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -7628,7 +7759,7 @@ function appendRow(str, input) { /***/ }), -/* 37 */ +/* 40 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -7787,7 +7918,7 @@ function appendRow(str, input) { /***/ }), -/* 38 */ +/* 41 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -7861,7 +7992,7 @@ function appendRow(str, input) { /***/ }), -/* 39 */ +/* 42 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -7924,7 +8055,7 @@ function appendRow(str, input) { /***/ }), -/* 40 */ +/* 43 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -8025,7 +8156,7 @@ function appendRow(str, input) { /***/ }), -/* 41 */ +/* 44 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -8210,7 +8341,7 @@ function appendRow(str, input) { /***/ }), -/* 42 */ +/* 45 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -8288,7 +8419,7 @@ function appendRow(str, input) { /***/ }), -/* 43 */ +/* 46 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -8352,7 +8483,7 @@ function appendRow(str, input) { /***/ }), -/* 44 */ +/* 47 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -8420,7 +8551,7 @@ function appendRow(str, input) { /***/ }), -/* 45 */ +/* 48 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -8549,7 +8680,7 @@ function appendRow(str, input) { /***/ }), -/* 46 */ +/* 49 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -8676,7 +8807,7 @@ function appendRow(str, input) { /***/ }), -/* 47 */ +/* 50 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -8739,7 +8870,7 @@ function appendRow(str, input) { /***/ }), -/* 48 */ +/* 51 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -8829,7 +8960,7 @@ function appendRow(str, input) { /***/ }), -/* 49 */ +/* 52 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -8919,7 +9050,7 @@ function appendRow(str, input) { /***/ }), -/* 50 */ +/* 53 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -9045,7 +9176,7 @@ function appendRow(str, input) { /***/ }), -/* 51 */ +/* 54 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -9110,7 +9241,7 @@ function appendRow(str, input) { /***/ }), -/* 52 */ +/* 55 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -9206,7 +9337,7 @@ function appendRow(str, input) { /***/ }), -/* 53 */ +/* 56 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -9269,7 +9400,7 @@ function appendRow(str, input) { /***/ }), -/* 54 */ +/* 57 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -9354,7 +9485,7 @@ function appendRow(str, input) { /***/ }), -/* 55 */ +/* 58 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -9439,7 +9570,7 @@ function appendRow(str, input) { /***/ }), -/* 56 */ +/* 59 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -9602,7 +9733,7 @@ function appendRow(str, input) { /***/ }), -/* 57 */ +/* 60 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -9709,7 +9840,7 @@ function appendRow(str, input) { /***/ }), -/* 58 */ +/* 61 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -9793,7 +9924,7 @@ function appendRow(str, input) { /***/ }), -/* 59 */ +/* 62 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -9886,7 +10017,7 @@ function appendRow(str, input) { /***/ }), -/* 60 */ +/* 63 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -9953,7 +10084,7 @@ function appendRow(str, input) { /***/ }), -/* 61 */ +/* 64 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -10068,7 +10199,7 @@ function appendRow(str, input) { /***/ }), -/* 62 */ +/* 65 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -10168,7 +10299,7 @@ function appendRow(str, input) { /***/ }), -/* 63 */ +/* 66 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -10289,7 +10420,7 @@ function appendRow(str, input) { /***/ }), -/* 64 */ +/* 67 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -10362,7 +10493,7 @@ function appendRow(str, input) { /***/ }), -/* 65 */ +/* 68 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -10501,7 +10632,7 @@ function appendRow(str, input) { /***/ }), -/* 66 */ +/* 69 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -10591,7 +10722,7 @@ function appendRow(str, input) { /***/ }), -/* 67 */ +/* 70 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -10675,7 +10806,7 @@ function appendRow(str, input) { /***/ }), -/* 68 */ +/* 71 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -10804,7 +10935,7 @@ function appendRow(str, input) { /***/ }), -/* 69 */ +/* 72 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -10917,7 +11048,7 @@ function appendRow(str, input) { /***/ }), -/* 70 */ +/* 73 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -11007,7 +11138,7 @@ function appendRow(str, input) { /***/ }), -/* 71 */ +/* 74 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -11099,7 +11230,7 @@ function appendRow(str, input) { /***/ }), -/* 72 */ +/* 75 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -11184,7 +11315,7 @@ function appendRow(str, input) { /***/ }), -/* 73 */ +/* 76 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -11279,7 +11410,7 @@ function appendRow(str, input) { /***/ }), -/* 74 */ +/* 77 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -11351,7 +11482,7 @@ function appendRow(str, input) { /***/ }), -/* 75 */ +/* 78 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -11486,7 +11617,7 @@ function appendRow(str, input) { /***/ }), -/* 76 */ +/* 79 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -11571,7 +11702,7 @@ function appendRow(str, input) { /***/ }), -/* 77 */ +/* 80 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -11669,7 +11800,7 @@ function appendRow(str, input) { /***/ }), -/* 78 */ +/* 81 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -11782,7 +11913,7 @@ function appendRow(str, input) { /***/ }), -/* 79 */ +/* 82 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -11939,7 +12070,7 @@ function appendRow(str, input) { /***/ }), -/* 80 */ +/* 83 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -12066,7 +12197,7 @@ function appendRow(str, input) { /***/ }), -/* 81 */ +/* 84 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -12166,7 +12297,7 @@ function appendRow(str, input) { /***/ }), -/* 82 */ +/* 85 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -12293,7 +12424,7 @@ function appendRow(str, input) { /***/ }), -/* 83 */ +/* 86 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -12419,7 +12550,7 @@ function appendRow(str, input) { /***/ }), -/* 84 */ +/* 87 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -12499,7 +12630,7 @@ function appendRow(str, input) { /***/ }), -/* 85 */ +/* 88 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -12578,7 +12709,7 @@ function appendRow(str, input) { /***/ }), -/* 86 */ +/* 89 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -12656,7 +12787,7 @@ function appendRow(str, input) { /***/ }), -/* 87 */ +/* 90 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -12737,7 +12868,7 @@ function appendRow(str, input) { /***/ }), -/* 88 */ +/* 91 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -12814,7 +12945,7 @@ function appendRow(str, input) { /***/ }), -/* 89 */ +/* 92 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -12900,7 +13031,7 @@ function appendRow(str, input) { /***/ }), -/* 90 */ +/* 93 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -12963,7 +13094,7 @@ function appendRow(str, input) { /***/ }), -/* 91 */ +/* 94 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -13075,7 +13206,7 @@ function appendRow(str, input) { /***/ }), -/* 92 */ +/* 95 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -13184,7 +13315,7 @@ function appendRow(str, input) { /***/ }), -/* 93 */ +/* 96 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -13253,7 +13384,7 @@ function appendRow(str, input) { /***/ }), -/* 94 */ +/* 97 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -13336,7 +13467,7 @@ function appendRow(str, input) { /***/ }), -/* 95 */ +/* 98 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -13422,7 +13553,7 @@ function appendRow(str, input) { /***/ }), -/* 96 */ +/* 99 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -13517,7 +13648,7 @@ function appendRow(str, input) { /***/ }), -/* 97 */ +/* 100 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -13612,7 +13743,7 @@ function appendRow(str, input) { /***/ }), -/* 98 */ +/* 101 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -13686,7 +13817,7 @@ function appendRow(str, input) { /***/ }), -/* 99 */ +/* 102 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -13756,7 +13887,7 @@ function appendRow(str, input) { /***/ }), -/* 100 */ +/* 103 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -13821,7 +13952,7 @@ function appendRow(str, input) { /***/ }), -/* 101 */ +/* 104 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -13891,7 +14022,7 @@ function appendRow(str, input) { /***/ }), -/* 102 */ +/* 105 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -13961,7 +14092,7 @@ function appendRow(str, input) { /***/ }), -/* 103 */ +/* 106 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -14027,7 +14158,7 @@ function appendRow(str, input) { /***/ }), -/* 104 */ +/* 107 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -14097,7 +14228,7 @@ function appendRow(str, input) { /***/ }), -/* 105 */ +/* 108 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -14200,7 +14331,7 @@ function appendRow(str, input) { /***/ }), -/* 106 */ +/* 109 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -14302,7 +14433,7 @@ function appendRow(str, input) { /***/ }), -/* 107 */ +/* 110 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -14381,7 +14512,7 @@ function appendRow(str, input) { /***/ }), -/* 108 */ +/* 111 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -14460,7 +14591,7 @@ function appendRow(str, input) { /***/ }), -/* 109 */ +/* 112 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -14539,7 +14670,7 @@ function appendRow(str, input) { /***/ }), -/* 110 */ +/* 113 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -14602,7 +14733,7 @@ function appendRow(str, input) { /***/ }), -/* 111 */ +/* 114 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -14685,7 +14816,7 @@ function appendRow(str, input) { /***/ }), -/* 112 */ +/* 115 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -14751,7 +14882,7 @@ function appendRow(str, input) { /***/ }), -/* 113 */ +/* 116 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -14933,7 +15064,7 @@ function appendRow(str, input) { /***/ }), -/* 114 */ +/* 117 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -15024,7 +15155,7 @@ function appendRow(str, input) { /***/ }), -/* 115 */ +/* 118 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -15178,7 +15309,7 @@ function appendRow(str, input) { /***/ }), -/* 116 */ +/* 119 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -15289,7 +15420,7 @@ function appendRow(str, input) { /***/ }), -/* 117 */ +/* 120 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -15411,7 +15542,7 @@ function appendRow(str, input) { /***/ }), -/* 118 */ +/* 121 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -15533,7 +15664,7 @@ function appendRow(str, input) { /***/ }), -/* 119 */ +/* 122 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -15594,7 +15725,7 @@ function appendRow(str, input) { /***/ }), -/* 120 */ +/* 123 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -15687,7 +15818,7 @@ function appendRow(str, input) { /***/ }), -/* 121 */ +/* 124 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -15822,7 +15953,7 @@ function appendRow(str, input) { /***/ }), -/* 122 */ +/* 125 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -15930,7 +16061,7 @@ function appendRow(str, input) { /***/ }), -/* 123 */ +/* 126 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -15992,7 +16123,7 @@ function appendRow(str, input) { /***/ }), -/* 124 */ +/* 127 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -16099,7 +16230,7 @@ function appendRow(str, input) { /***/ }), -/* 125 */ +/* 128 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -16161,7 +16292,7 @@ function appendRow(str, input) { /***/ }), -/* 126 */ +/* 129 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -16286,7 +16417,7 @@ function appendRow(str, input) { /***/ }), -/* 127 */ +/* 130 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -16348,7 +16479,7 @@ function appendRow(str, input) { /***/ }), -/* 128 */ +/* 131 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -16410,7 +16541,7 @@ function appendRow(str, input) { /***/ }), -/* 129 */ +/* 132 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -16548,7 +16679,7 @@ function appendRow(str, input) { /***/ }), -/* 130 */ +/* 133 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -16624,7 +16755,7 @@ function appendRow(str, input) { /***/ }), -/* 131 */ +/* 134 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -16654,19 +16785,13 @@ function extendDeep(target) { } /***/ }), -/* 132 */ -/***/ (function(module, exports) { - -module.exports = __WEBPACK_EXTERNAL_MODULE__132__; - -/***/ }), -/* 133 */ +/* 135 */ /***/ (function(module, exports) { -module.exports = __WEBPACK_EXTERNAL_MODULE__133__; +module.exports = __WEBPACK_EXTERNAL_MODULE__135__; /***/ }), -/* 134 */ +/* 136 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -16678,7 +16803,7 @@ Object.defineProperty(exports, "__esModule", { var _each = __webpack_require__(1); -var _extend = __webpack_require__(3); +var _extend = __webpack_require__(6); function average(arr, start, end) { var set = arr.slice(start || 0, end ? end + 1 : arr.length), @@ -16777,7 +16902,7 @@ exports.default = { }; /***/ }), -/* 135 */ +/* 137 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -16788,41 +16913,41 @@ Object.defineProperty(exports, "__esModule", { }); exports.Dataset = undefined; -var _append = __webpack_require__(7); +var _append = __webpack_require__(10); var append = _interopRequireWildcard(_append); -var _delete = __webpack_require__(161); +var _delete = __webpack_require__(166); var del = _interopRequireWildcard(_delete); -var _filter = __webpack_require__(160); +var _filter = __webpack_require__(165); var filter = _interopRequireWildcard(_filter); -var _insert = __webpack_require__(159); +var _insert = __webpack_require__(164); var insert = _interopRequireWildcard(_insert); -var _select = __webpack_require__(158); +var _select = __webpack_require__(163); var select = _interopRequireWildcard(_select); -var _sort = __webpack_require__(157); +var _sort = __webpack_require__(162); var sort = _interopRequireWildcard(_sort); -var _update = __webpack_require__(156); +var _update = __webpack_require__(161); var update = _interopRequireWildcard(_update); -var _analyses = __webpack_require__(134); +var _analyses = __webpack_require__(136); var _analyses2 = _interopRequireDefault(_analyses); -var _extend = __webpack_require__(3); +var _extend = __webpack_require__(6); -var _parsers = __webpack_require__(155); +var _parsers = __webpack_require__(160); var _parsers2 = _interopRequireDefault(_parsers); @@ -16901,7 +17026,7 @@ Dataset.parser = (0, _parsers2.default)(Dataset); exports.default = Dataset; /***/ }), -/* 136 */ +/* 138 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -17182,7 +17307,1068 @@ if (!globalNS.Promise) { /***/ }), -/* 137 */ +/* 139 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + +var _d = __webpack_require__(2); + +var d3 = _interopRequireWildcard(_d); + +var _svgTextWrap = __webpack_require__(5); + +var _prettyNumber = __webpack_require__(3); + +function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +var HorizontalFunnel3d = function () { + function HorizontalFunnel3d() { + _classCallCheck(this, HorizontalFunnel3d); + } + + _createClass(HorizontalFunnel3d, [{ + key: 'render', + value: function render() { + var matrix = this.dataset.matrix; + var _config = this.config, + colors = _config.colors, + container = _config.container, + labelMapping = _config.labelMapping, + colorMapping = _config.colorMapping; + + var opts = this.config; + var _config$funnel = this.config.funnel, + _config$funnel$percen = _config$funnel.percents, + show = _config$funnel$percen.show, + countingMethod = _config$funnel$percen.countingMethod, + decimals = _config$funnel$percen.decimals, + lines = _config$funnel.lines, + resultValues = _config$funnel.resultValues, + effect3d = _config$funnel.effect3d, + hover = _config$funnel.hover; + + var margin = { top: 0, right: 30, bottom: 100, left: 10 }; + var funnelContainer = d3.select(container); + var chartContainer = d3.select(container + ' .c3-chart'); + var chart = chartContainer.append('svg'); + var svgWidth = funnelContainer.style('width').slice(0, -2) - margin.right - margin.left; + var svgHeight = funnelContainer.style('height').slice(0, -2) - margin.top - margin.bottom - 30; + var elemWidth = svgWidth / (matrix.length - 1); + var xMarginElement = elemWidth * 0.3; + var shadowCut = xMarginElement / 1.5; + var prevElemHeight = svgHeight; + var percent = 100 .toFixed(decimals); + + // prepare normal funnel polygons + var polygons = matrix.slice(1).map(function (d, i) { + var newPoints = [{ + x: elemWidth * i + xMarginElement, + y: (svgHeight - prevElemHeight) / 2 + }, { + x: elemWidth * i + xMarginElement, + y: (svgHeight - prevElemHeight) / 2 + prevElemHeight + }]; + if (i !== 0) { + if (countingMethod === 'relative') { + prevElemHeight = prevElemHeight * d[1] / matrix[i][1]; + percent = (d[1] / matrix[i][1] * 100).toFixed(decimals); + } + if (countingMethod === 'absolute') { + prevElemHeight = svgHeight * d[1] / matrix[1][1]; + percent = (d[1] / matrix[1][1] * 100).toFixed(decimals); + } + } + var label = d[0]; + if (Object.keys(labelMapping).length) { + for (var key in labelMapping) { + if (labelMapping[key] === d[0]) { + label = key; + } + } + } + var result = d[1]; + if ((typeof opts['prettyNumber'] === 'undefined' || opts['prettyNumber'] === true) && !isNaN(parseInt(d[1]))) { + result = (0, _prettyNumber.prettyNumber)(d[1]); + } + return { + name: d[0], + label: label, + percent: percent + '%', + result: result, + points: [].concat(newPoints, [{ + x: elemWidth * (i + 1), + y: (svgHeight - prevElemHeight) / 2 + prevElemHeight + }, { + x: elemWidth * (i + 1), + y: (svgHeight - prevElemHeight) / 2 + }]) + }; + }); + + //funnel shadows preparing + var polygonsShadows = polygons.map(function (d, i) { + return { + label: d.label, + points: [{ + x: d.points[0].x, + y: d.points[0].y + }, { + x: d.points[1].x, + y: d.points[1].y + }, { + x: effect3d === 'top' ? d.points[1].x : d.points[1].x - shadowCut, + y: effect3d === 'top' ? d.points[1].y : d.points[1].y - xMarginElement < svgHeight / 2 ? svgHeight / 2 + 5 : d.points[1].y - xMarginElement + }, { + x: effect3d === 'bottom' ? d.points[0].x : d.points[0].x - shadowCut, + y: effect3d === 'bottom' ? d.points[0].y : d.points[0].y + xMarginElement > svgHeight / 2 ? svgHeight / 2 - 5 : d.points[0].y + xMarginElement + }] + }; + }); + + //connecting funnels with shadows for rendering + var polygons3d = polygons.concat(polygonsShadows); + + //chart rendering with polygons + chart.attr('height', svgHeight + margin.top + margin.bottom - 30).attr('width', svgWidth + margin.left + margin.right).append('g').attr('transform', 'translate(' + margin.left + ',' + margin.top + ')').selectAll('polygon').data(polygons3d).enter().append('polygon').attr('points', function (d) { + return d.points.map(function (p) { + return [p.x, p.y].join(','); + }).join(' '); + }).style('fill', function (d, i) { + if (i > polygons.length - 1) { + if (colorMapping[d.label]) { + return d3.rgb(colorMapping[d.label]).darker(1.5); + } + return d3.rgb(colors[i - polygons.length]).darker(1.5); + } + if (colorMapping[d.label]) { + return colorMapping[d.label]; + } + return colors[i]; + }).attr('class', function (d) { + return d.label; + }).attr('cursor', 'pointer'); + + if (lines) { + //rendering lines + chart.selectAll('line').data(polygons).enter().append('line').attr('x1', function (d) { + return d.points[0].x + margin.left - xMarginElement * 0.8; + }).attr('y1', svgHeight + margin.bottom).attr('x2', function (d) { + return d.points[0].x + margin.left - xMarginElement * 0.8; + }).attr('y2', function (d) { + return d.points[0].y; + }).attr('class', 'chart-lines'); + + //rendering last line + chart.append('line').attr('x1', svgWidth + margin.left + xMarginElement / 4).attr('y1', svgHeight + margin.bottom).attr('x2', polygons[polygons.length - 1].points[3].x + margin.left + xMarginElement / 4).attr('y2', polygons[polygons.length - 1].points[3].y).attr('class', 'chart-lines'); + } + + //rendering labels when lines are visible + if (lines) { + chart.selectAll('text.label').data(polygons).enter().append('text').style('text-anchor', 'middle').attr('x', function (d) { + return d.points[0].x + margin.left + elemWidth * 0.25; + }).attr('y', svgHeight + margin.bottom * 0.4).attr('class', function (d) { + return 'text-label ' + d.label; + }).text(function (d) { + return d.name; + }).call(_svgTextWrap.textWrap, elemWidth).attr('cursor', 'pointer'); + } + + //rendering labels when lines are not visible + if (!lines) { + chart.selectAll('text.label').data(polygons).enter().append('text').style('text-anchor', 'middle').attr('x', function (d) { + return d.points[0].x + margin.left + elemWidth * 0.25; + }).attr('y', function (d) { + if (d.points[2].y + elemWidth / 4 > svgHeight + margin.bottom - 40) { + return svgHeight + margin.bottom - 40; + } + if (d.points[2].y + elemWidth / 4 < d.points[1].y) { + return d.points[1].y + 20; + } + return d.points[2].y + elemWidth / 4 + 10; + }).attr('class', function (d) { + return 'text-label ' + d.label; + }).text(function (d) { + return d.name; + }).call(_svgTextWrap.textWrap, elemWidth).attr('cursor', 'pointer'); + } + + //rendering percents for each step + if (show && !resultValues) { + chart.selectAll('text.label').data(polygons).enter().append('text').style('text-anchor', 'middle').attr('x', function (d) { + return d.points[1].x + elemWidth / 2.8 + margin.left; + }).attr('y', svgHeight / 2 + margin.top + 10).attr('class', function (d) { + return 'text-main ' + d.label; + }).text(function (d) { + return d.percent; + }).attr('cursor', 'pointer'); + } + + //rendering results for each step + if (resultValues && !show) { + chart.selectAll('text.label').data(polygons).enter().append('text').style('text-anchor', 'middle').attr('x', function (d) { + return d.points[1].x + elemWidth / 2.8 + margin.left; + }).attr('y', svgHeight / 2 + margin.top + 10).attr('class', function (d) { + return 'text-main ' + d.label; + }).text(function (d) { + return d.result; + }).attr('cursor', 'pointer'); + } + + //rendering results and percenage together + if (show && resultValues) { + //rendering percents + chart.selectAll('text.label').data(polygons).enter().append('text').style('text-anchor', 'middle').attr('x', function (d) { + return d.points[1].x + elemWidth / 2.8 + margin.left; + }).attr('y', svgHeight / 2 + margin.top + 16).attr('class', function (d) { + return 'text-second ' + d.label; + }).text(function (d) { + return d.percent; + }).attr('cursor', 'pointer'); + + //rendering results + chart.selectAll('text.label').data(polygons).enter().append('text').style('text-anchor', 'middle').attr('x', function (d) { + return d.points[1].x + elemWidth / 2.8 + margin.left; + }).attr('y', svgHeight / 2 + margin.top - 3).attr('class', function (d) { + return 'text-main ' + d.label; + }).text(function (d) { + return d.result; + }).attr('cursor', 'pointer'); + } + + //hover handling + if (hover) { + var handleMouseOver = function handleMouseOver(d) { + polygonsHover.style('opacity', 0.5); + labelHover.style('opacity', 0.5); + var thisLabel = /[^ ]*$/.exec(d3.select(this).attr('class'))[0]; + chart.selectAll('.' + thisLabel).style('opacity', 1); + }; + + var handleMouseOut = function handleMouseOut(d) { + polygonsHover.style('opacity', 1); + labelHover.style('opacity', 1); + }; + + var polygonsHover = chart.selectAll('polygon'); + polygonsHover.on("mouseover", handleMouseOver).on("mouseout", handleMouseOut); + + var labelHover = chart.selectAll('text'); + labelHover.on("mouseover", handleMouseOver).on("mouseout", handleMouseOut); + } + } + }, { + key: 'update', + value: function update() { + this.destroy(); + this.render(); + } + }, { + key: 'destroy', + value: function destroy() { + var container = this.config.container; + + var chartContainer = d3.select(container + ' .c3-chart > *'); + chartContainer.remove(); + } + }]); + + return HorizontalFunnel3d; +}(); + +exports.default = HorizontalFunnel3d; + +/***/ }), +/* 140 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + +var _d = __webpack_require__(2); + +var d3 = _interopRequireWildcard(_d); + +var _svgTextWrap = __webpack_require__(5); + +var _prettyNumber = __webpack_require__(3); + +function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +var HorizontalFunnel = function () { + function HorizontalFunnel() { + _classCallCheck(this, HorizontalFunnel); + } + + _createClass(HorizontalFunnel, [{ + key: 'render', + value: function render() { + var matrix = this.dataset.matrix; + var _config = this.config, + colors = _config.colors, + container = _config.container, + labelMapping = _config.labelMapping, + colorMapping = _config.colorMapping; + + var opts = this.config; + var _config$funnel = this.config.funnel, + _config$funnel$percen = _config$funnel.percents, + show = _config$funnel$percen.show, + countingMethod = _config$funnel$percen.countingMethod, + decimals = _config$funnel$percen.decimals, + lines = _config$funnel.lines, + marginBetweenSteps = _config$funnel.marginBetweenSteps, + resultValues = _config$funnel.resultValues, + hover = _config$funnel.hover; + + var margin = { top: 0, right: 30, bottom: 100, left: 10 }; + var xMarginElement = 0; + if (marginBetweenSteps) { + xMarginElement = 5; + } + var funnelContainer = d3.select(container); + var chartContainer = d3.select(container + ' .c3-chart'); + var chart = chartContainer.append('svg'); + var svgWidth = funnelContainer.style('width').slice(0, -2) - margin.right - margin.left; + var svgHeight = funnelContainer.style('height').slice(0, -2) - margin.top - margin.bottom - 30; + var elemWidth = svgWidth / (matrix.length - 1); + var prevElemHeight = svgHeight; + var percent = 100 .toFixed(decimals); + + // prepare normal funnel polygons + var polygons = matrix.slice(1).map(function (d, i) { + var newPoints = [{ + x: elemWidth * i + xMarginElement, + y: (svgHeight - prevElemHeight) / 2 + }, { + x: elemWidth * i + xMarginElement, + y: (svgHeight - prevElemHeight) / 2 + prevElemHeight + }]; + if (i !== 0) { + if (countingMethod === 'relative') { + prevElemHeight = prevElemHeight * d[1] / matrix[i][1]; + percent = (d[1] / matrix[i][1] * 100).toFixed(decimals); + } + if (countingMethod === 'absolute') { + prevElemHeight = svgHeight * d[1] / matrix[1][1]; + percent = (d[1] / matrix[1][1] * 100).toFixed(decimals); + } + } + var label = d[0]; + if (Object.keys(labelMapping).length) { + for (var key in labelMapping) { + if (labelMapping[key] === d[0]) { + label = key; + } + } + } + var result = d[1]; + if ((typeof opts['prettyNumber'] === 'undefined' || opts['prettyNumber'] === true) && !isNaN(parseInt(d[1]))) { + result = (0, _prettyNumber.prettyNumber)(d[1]); + } + return { + name: d[0], + label: label, + percent: percent + '%', + result: result, + points: [].concat(newPoints, [{ + x: elemWidth * (i + 1), + y: (svgHeight - prevElemHeight) / 2 + prevElemHeight + }, { + x: elemWidth * (i + 1), + y: (svgHeight - prevElemHeight) / 2 + }]) + }; + }); + + //chart rendering with polygons + chart.attr('height', svgHeight + margin.top + margin.bottom - 30).attr('width', svgWidth + margin.left + margin.right).append('g').attr('transform', 'translate(' + margin.left + ',' + margin.top + ')').selectAll('polygon').data(polygons).enter().append('polygon').attr('points', function (d) { + return d.points.map(function (p) { + return [p.x, p.y].join(','); + }).join(' '); + }).style('fill', function (d, i) { + if (colorMapping[d.label]) { + return colorMapping[d.label]; + } + return colors[i]; + }).attr('class', function (d) { + return d.label; + }).attr('cursor', 'pointer'); + + if (lines) { + //rendering lines + chart.selectAll('line').data(polygons).enter().append('line').attr('x1', function (d) { + return d.points[0].x + margin.left - xMarginElement / 2; + }).attr('y1', svgHeight + margin.bottom).attr('x2', function (d) { + return d.points[0].x + margin.left - xMarginElement / 2; + }).attr('y2', function (d) { + return d.points[0].y; + }).attr('class', 'chart-lines'); + + //rendering last line + chart.append('line').attr('x1', svgWidth + margin.left - xMarginElement / 2).attr('y1', svgHeight + margin.bottom).attr('x2', polygons[polygons.length - 1].points[3].x + margin.left + xMarginElement / 2).attr('y2', polygons[polygons.length - 1].points[3].y).attr('class', 'chart-lines'); + } + + //rendering labels when lines are visible + if (lines) { + chart.selectAll('text.label').data(polygons).enter().append('text').style('text-anchor', 'middle').attr('x', function (d) { + return d.points[1].x + elemWidth / 2 + margin.left; + }).attr('y', svgHeight + margin.bottom * 0.5).attr('class', function (d) { + return 'text-label ' + d.label; + }).text(function (d) { + return d.name; + }).call(_svgTextWrap.textWrap, elemWidth).attr('cursor', 'pointer'); + } + + //rendering labels when lines are not visible + if (!lines) { + chart.selectAll('text.label').data(polygons).enter().append('text').style('text-anchor', 'middle').attr('x', function (d) { + return d.points[1].x + elemWidth / 2 + margin.left; + }).attr('y', function (d) { + if (d.points[2].y + (d.points[3].y - d.points[0].y) / 2 + elemWidth / 4 > svgHeight + margin.bottom - 40) { + return svgHeight + margin.bottom - 40; + } + return d.points[2].y + (d.points[3].y - d.points[0].y) / 2 + elemWidth / 4; + }).attr('class', function (d) { + return 'text-label ' + d.label; + }).text(function (d) { + return d.name; + }).call(_svgTextWrap.textWrap, elemWidth).attr('cursor', 'pointer'); + } + + //rendering percents for each step + if (show && !resultValues) { + chart.selectAll('text.label').data(polygons).enter().append('text').style('text-anchor', 'middle').attr('x', function (d) { + return d.points[1].x + elemWidth / 2 + margin.left; + }).attr('y', svgHeight / 2 + margin.top + 10).attr('class', function (d) { + return 'text-main ' + d.label; + }).text(function (d) { + return d.percent; + }).attr('cursor', 'pointer'); + } + + //rendering results for each step + if (resultValues && !show) { + chart.selectAll('text.label').data(polygons).enter().append('text').style('text-anchor', 'middle').attr('x', function (d) { + return d.points[1].x + elemWidth / 2 + margin.left; + }).attr('y', svgHeight / 2 + margin.top + 10).attr('class', function (d) { + return 'text-main ' + d.label; + }).text(function (d) { + return d.result; + }).attr('cursor', 'pointer'); + } + + //rendering results and percenage together + if (show && resultValues) { + //rendering percents + chart.selectAll('text.label').data(polygons).enter().append('text').style('text-anchor', 'middle').attr('x', function (d) { + return d.points[1].x + elemWidth / 2 + margin.left; + }).attr('y', svgHeight / 2 + margin.top + 16).attr('class', function (d) { + return 'text-second ' + d.label; + }).text(function (d) { + return d.percent; + }).attr('cursor', 'pointer'); + + //rendering results + chart.selectAll('text.label').data(polygons).enter().append('text').style('text-anchor', 'middle').attr('x', function (d) { + return d.points[1].x + elemWidth / 2 + margin.left; + }).attr('y', svgHeight / 2 + margin.top - 3).attr('class', function (d) { + return 'text-main ' + d.label; + }).text(function (d) { + return d.result; + }).attr('cursor', 'pointer'); + } + //hover handling + if (hover) { + var handleMouseOver = function handleMouseOver(d) { + polygonsHover.style('opacity', 0.5); + labelHover.style('opacity', 0.5); + var thisLabel = /[^ ]*$/.exec(d3.select(this).attr('class'))[0]; + chart.selectAll('.' + thisLabel).style('opacity', 1); + }; + + var handleMouseOut = function handleMouseOut(d) { + polygonsHover.style('opacity', 1); + labelHover.style('opacity', 1); + }; + + var polygonsHover = chart.selectAll('polygon'); + polygonsHover.on("mouseover", handleMouseOver).on("mouseout", handleMouseOut); + + var labelHover = chart.selectAll('text'); + labelHover.on("mouseover", handleMouseOver).on("mouseout", handleMouseOut); + } + } + }, { + key: 'update', + value: function update() { + this.destroy(); + this.render(); + } + }, { + key: 'destroy', + value: function destroy() { + var container = this.config.container; + + var chartContainer = d3.select(container + ' .c3-chart > *'); + chartContainer.remove(); + } + }]); + + return HorizontalFunnel; +}(); + +exports.default = HorizontalFunnel; + +/***/ }), +/* 141 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + +var _d = __webpack_require__(2); + +var d3 = _interopRequireWildcard(_d); + +var _svgTextWrap = __webpack_require__(5); + +var _prettyNumber = __webpack_require__(3); + +function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +var Funnel3d = function () { + function Funnel3d() { + _classCallCheck(this, Funnel3d); + } + + _createClass(Funnel3d, [{ + key: 'render', + value: function render() { + var matrix = this.dataset.matrix; + var _config = this.config, + colors = _config.colors, + container = _config.container, + labelMapping = _config.labelMapping, + colorMapping = _config.colorMapping; + + var opts = this.config; + var _config$funnel = this.config.funnel, + _config$funnel$percen = _config$funnel.percents, + show = _config$funnel$percen.show, + countingMethod = _config$funnel$percen.countingMethod, + decimals = _config$funnel$percen.decimals, + lines = _config$funnel.lines, + resultValues = _config$funnel.resultValues, + effect3d = _config$funnel.effect3d, + hover = _config$funnel.hover; + + var margin = { top: 10, right: 30, bottom: 60, left: 200 }; + var funnelContainer = d3.select(container); + var chartContainer = d3.select(container + ' .c3-chart'); + var chart = chartContainer.append('svg'); + var svgWidth = funnelContainer.style('width').slice(0, -2) - margin.right - margin.left; + var svgHeight = funnelContainer.style('height').slice(0, -2) - margin.top - margin.bottom - 30; + var elemHeight = svgHeight / (matrix.length - 1); + var yMarginElement = elemHeight * 0.3; + var shadowCut = yMarginElement * 2.5; + var prevElemWidth = svgWidth; + var percent = 100 .toFixed(decimals); + + // prepare normal funnel polygons + var polygons = matrix.slice(1).map(function (d, i) { + var newPoints = [{ + x: (svgWidth - prevElemWidth) / 2, + y: elemHeight * i + yMarginElement + }, { + x: (svgWidth - prevElemWidth) / 2 + prevElemWidth, + y: elemHeight * i + yMarginElement + }]; + if (i !== 0) { + if (countingMethod === 'relative') { + prevElemWidth = prevElemWidth * d[1] / matrix[i][1]; + percent = (d[1] / matrix[i][1] * 100).toFixed(decimals); + } + if (countingMethod === 'absolute') { + prevElemWidth = svgWidth * d[1] / matrix[1][1]; + percent = (d[1] / matrix[1][1] * 100).toFixed(decimals); + } + } + var label = d[0]; + if (Object.keys(labelMapping).length) { + for (var key in labelMapping) { + if (labelMapping[key] === d[0]) { + label = key; + } + } + } + var result = d[1]; + if ((typeof opts['prettyNumber'] === 'undefined' || opts['prettyNumber'] === true) && !isNaN(parseInt(d[1]))) { + result = (0, _prettyNumber.prettyNumber)(d[1]); + } + return { + name: d[0], + label: label, + percent: percent + '%', + result: result, + points: [].concat(newPoints, [{ + x: (svgWidth - prevElemWidth) / 2 + prevElemWidth, + y: elemHeight * (i + 1) + }, { + x: (svgWidth - prevElemWidth) / 2, + y: elemHeight * (i + 1) + }]) + }; + }); + + //funnel shadows preparing + var polygonsShadows = polygons.map(function (d, i) { + return { + label: d.label, + points: [{ + x: d.points[3].x, + y: d.points[3].y + }, { + x: d.points[2].x, + y: d.points[2].y + }, { + x: effect3d === 'left' ? d.points[2].x : d.points[2].x - shadowCut < svgWidth / 2 ? svgWidth / 2 + 5 : d.points[2].x - shadowCut, + y: effect3d === 'left' ? d.points[2].y : d.points[2].y + yMarginElement / 1.5 + }, { + x: effect3d === 'right' ? d.points[3].x : d.points[3].x + shadowCut > svgWidth / 2 ? svgWidth / 2 - 5 : d.points[3].x + shadowCut, + y: effect3d === 'right' ? d.points[3].y : d.points[3].y + yMarginElement / 1.5 + }] + }; + }); + + //connecting funnels with shadows for rendering + var polygons3d = polygons.concat(polygonsShadows); + + //chart rendering with polygons + chart.attr('height', svgHeight + margin.top + margin.bottom - 30).attr('width', svgWidth + margin.left + margin.right).append('g').attr('transform', 'translate(' + margin.left + ',' + margin.top + ')').selectAll('polygon').data(polygons3d).enter().append('polygon').attr('points', function (d) { + return d.points.map(function (p) { + return [p.x, p.y].join(','); + }).join(' '); + }).style('fill', function (d, i) { + if (i > polygons.length - 1) { + if (colorMapping[d.label]) { + return d3.rgb(colorMapping[d.label]).darker(1.5); + } + return d3.rgb(colors[i - polygons.length]).darker(1.5); + } + if (colorMapping[d.label]) { + return colorMapping[d.label]; + } + return colors[i]; + }).attr('class', function (d) { + return d.label; + }).attr('cursor', 'pointer'); + + if (lines) { + //rendering lines + chart.selectAll('line').data(polygons).enter().append('line').attr('x1', 10).attr('y1', function (d) { + return d.points[0].y + margin.top - yMarginElement / 5; + }).attr('x2', function (d, i) { + if (i === 0) { + return d.points[1].x + margin.left; + } + return d.points[1].x + margin.left - shadowCut; + }).attr('y2', function (d) { + return d.points[0].y + margin.top - yMarginElement / 5; + }).attr('class', 'chart-lines'); + + //rendering last line + chart.append('line').attr('x1', 10).attr('y1', polygons[polygons.length - 1].points[2].y + margin.top + yMarginElement - yMarginElement / 5).attr('x2', polygons[polygons.length - 1].points[2].x + margin.left - shadowCut).attr('y2', polygons[polygons.length - 1].points[2].y + margin.top + yMarginElement - yMarginElement / 5).attr('class', 'chart-lines'); + } + + //rendering labels when lines are visible + if (lines) { + chart.selectAll('text.label').data(polygons).enter().append('text').style('text-anchor', 'start').attr('x', 20).attr('y', function (d) { + return (d.points[2].y - d.points[1].y) / 2 + d.points[1].y + margin.top + 5 + yMarginElement / 4; + }).attr('class', function (d) { + return 'text-label ' + d.label; + }).text(function (d) { + return d.name; + }).call(_svgTextWrap.textWrap, margin.left).attr('cursor', 'pointer'); + } + + //rendering labels when lines are not visible + if (!lines) { + chart.selectAll('text.label').data(polygons).enter().append('text').style('text-anchor', 'end').attr('x', function (d) { + return d.points[0].x + (d.points[3].x - d.points[0].x) / 2 + 130; + }).attr('y', function (d) { + return (d.points[2].y - d.points[1].y) / 2 + d.points[1].y + margin.top + 5; + }).attr('class', function (d) { + return 'text-label ' + d.label; + }).text(function (d) { + return d.name; + }).call(_svgTextWrap.textWrap, margin.left).attr('cursor', 'pointer'); + } + + //rendering percents for each step + if (show && !resultValues) { + chart.selectAll('text.label').data(polygons).enter().append('text').style('text-anchor', 'middle').attr('x', svgWidth / 2 + margin.left).attr('y', function (d) { + return (d.points[2].y - d.points[1].y) / 2 + d.points[1].y + margin.top + 8; + }).attr('class', function (d) { + return 'text-main ' + d.label; + }).text(function (d) { + return d.percent; + }).attr('cursor', 'pointer'); + } + + //rendering results for each step + if (resultValues && !show) { + chart.selectAll('text.label').data(polygons).enter().append('text').style('text-anchor', 'middle').attr('x', svgWidth / 2 + margin.left).attr('y', function (d) { + return (d.points[2].y - d.points[1].y) / 2 + d.points[1].y + margin.top + 8; + }).attr('class', function (d) { + return 'text-main ' + d.label; + }).text(function (d) { + return d.result; + }).attr('cursor', 'pointer'); + } + + //rendering results and percenage together + if (show && resultValues) { + //rendering percents + chart.selectAll('text.label').data(polygons).enter().append('text').style('text-anchor', 'middle').attr('x', svgWidth / 2 + margin.left).attr('y', function (d) { + return (d.points[2].y - d.points[1].y) / 2 + d.points[1].y + margin.top + 18; + }).attr('class', function (d) { + return 'text-second ' + d.label; + }).text(function (d) { + return d.percent; + }).attr('cursor', 'pointer'); + + //rendering results + chart.selectAll('text.label').data(polygons).enter().append('text').style('text-anchor', 'middle').attr('x', svgWidth / 2 + margin.left).attr('y', function (d) { + return (d.points[2].y - d.points[1].y) / 2 + d.points[1].y + margin.top + 3; + }).attr('class', function (d) { + return 'text-main ' + d.label; + }).text(function (d) { + return d.result; + }).attr('cursor', 'pointer'); + } + //hover handling + if (hover) { + var handleMouseOver = function handleMouseOver(d) { + polygonsHover.style('opacity', 0.5); + labelHover.style('opacity', 0.5); + var thisLabel = /[^ ]*$/.exec(d3.select(this).attr('class'))[0]; + chart.selectAll('.' + thisLabel).style('opacity', 1); + }; + + var handleMouseOut = function handleMouseOut(d) { + polygonsHover.style('opacity', 1); + labelHover.style('opacity', 1); + }; + + var polygonsHover = chart.selectAll('polygon'); + polygonsHover.on("mouseover", handleMouseOver).on("mouseout", handleMouseOut); + + var labelHover = chart.selectAll('text'); + labelHover.on("mouseover", handleMouseOver).on("mouseout", handleMouseOut); + } + } + }, { + key: 'update', + value: function update() { + this.destroy(); + this.render(); + } + }, { + key: 'destroy', + value: function destroy() { + var container = this.config.container; + + var chartContainer = d3.select(container + ' .c3-chart > *'); + chartContainer.remove(); + } + }]); + + return Funnel3d; +}(); + +exports.default = Funnel3d; + +/***/ }), +/* 142 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + +var _d = __webpack_require__(2); + +var d3 = _interopRequireWildcard(_d); + +var _svgTextWrap = __webpack_require__(5); + +var _prettyNumber = __webpack_require__(3); + +function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +var Funnel = function () { + function Funnel() { + _classCallCheck(this, Funnel); + } + + _createClass(Funnel, [{ + key: 'render', + value: function render() { + var matrix = this.dataset.matrix; + var _config = this.config, + colors = _config.colors, + container = _config.container, + labelMapping = _config.labelMapping, + colorMapping = _config.colorMapping; + + var opts = this.config; + var _config$funnel = this.config.funnel, + _config$funnel$percen = _config$funnel.percents, + show = _config$funnel$percen.show, + countingMethod = _config$funnel$percen.countingMethod, + decimals = _config$funnel$percen.decimals, + lines = _config$funnel.lines, + marginBetweenSteps = _config$funnel.marginBetweenSteps, + resultValues = _config$funnel.resultValues, + hover = _config$funnel.hover; + + var margin = { top: 10, right: 30, bottom: 30, left: 200 }; + var yMarginElement = 0; + if (marginBetweenSteps) { + yMarginElement = 5; + } + var funnelContainer = d3.select(container); + var chartContainer = d3.select(container + ' .c3-chart'); + var chart = chartContainer.append('svg'); + var svgWidth = funnelContainer.style('width').slice(0, -2) - margin.right - margin.left; + var svgHeight = funnelContainer.style('height').slice(0, -2) - margin.top - margin.bottom - 30; + var elemHeight = svgHeight / (matrix.length - 1); + var prevElemWidth = svgWidth; + var percent = 100 .toFixed(decimals); + + // prepare normal funnel polygons + var polygons = matrix.slice(1).map(function (d, i) { + var newPoints = [{ + x: (svgWidth - prevElemWidth) / 2, + y: elemHeight * i + yMarginElement + }, { + x: (svgWidth - prevElemWidth) / 2 + prevElemWidth, + y: elemHeight * i + yMarginElement + }]; + if (i !== 0) { + if (countingMethod === 'relative') { + prevElemWidth = prevElemWidth * d[1] / matrix[i][1]; + percent = (d[1] / matrix[i][1] * 100).toFixed(decimals); + } + if (countingMethod === 'absolute') { + prevElemWidth = svgWidth * d[1] / matrix[1][1]; + percent = (d[1] / matrix[1][1] * 100).toFixed(decimals); + } + } + var label = d[0]; + if (Object.keys(labelMapping).length) { + for (var key in labelMapping) { + if (labelMapping[key] === d[0]) { + label = key; + } + } + } + var result = d[1]; + if ((typeof opts['prettyNumber'] === 'undefined' || opts['prettyNumber'] === true) && !isNaN(parseInt(d[1]))) { + result = (0, _prettyNumber.prettyNumber)(d[1]); + } + return { + name: d[0], + label: label, + percent: percent + '%', + result: result, + points: [].concat(newPoints, [{ + x: (svgWidth - prevElemWidth) / 2 + prevElemWidth, + y: elemHeight * (i + 1) + }, { + x: (svgWidth - prevElemWidth) / 2, + y: elemHeight * (i + 1) + }]) + }; + }); + + //chart rendering with polygons + chart.attr('height', svgHeight + margin.top + margin.bottom - 30).attr('width', svgWidth + margin.left + margin.right).append('g').attr('transform', 'translate(' + margin.left + ',' + margin.top + ')').selectAll('polygon').data(polygons).enter().append('polygon').attr('points', function (d) { + return d.points.map(function (p) { + return [p.x, p.y].join(','); + }).join(' '); + }).style('fill', function (d, i) { + if (colorMapping[d.label]) { + return colorMapping[d.label]; + } + return colors[i]; + }).attr('class', function (d) { + return d.label; + }).attr('cursor', 'pointer'); + + if (lines) { + //rendering lines + chart.selectAll('line').data(polygons).enter().append('line').attr('x1', 10).attr('y1', function (d) { + return d.points[0].y + margin.top - yMarginElement / 2; + }).attr('x2', function (d) { + return d.points[1].x + margin.left; + }).attr('y2', function (d) { + return d.points[0].y + margin.top - yMarginElement / 2; + }).attr('class', 'chart-lines'); + + //rendering last line + chart.append('line').attr('x1', 10).attr('y1', polygons[polygons.length - 1].points[2].y + margin.top + yMarginElement / 2).attr('x2', polygons[polygons.length - 1].points[2].x + margin.left).attr('y2', polygons[polygons.length - 1].points[2].y + margin.top + yMarginElement / 2).attr('class', 'chart-lines'); + } + + //rendering labels when lines are visible + if (lines) { + chart.selectAll('text.label').data(polygons).enter().append('text').style('text-anchor', 'start').attr('x', 20).attr('y', function (d) { + return (d.points[2].y - d.points[1].y) / 2 + d.points[1].y + margin.top + yMarginElement + 5; + }).attr('class', function (d) { + return 'text-label ' + d.label; + }).text(function (d) { + return d.name; + }).call(_svgTextWrap.textWrap, margin.left).attr('cursor', 'pointer'); + } + + //rendering labels when lines are not visible + if (!lines) { + chart.selectAll('text.label').data(polygons).enter().append('text').style('text-anchor', 'end').attr('x', function (d) { + return d.points[0].x + (d.points[3].x - d.points[0].x) / 2 + margin.left * 0.9; + }).attr('y', function (d) { + return (d.points[2].y - d.points[1].y) / 2 + d.points[1].y + margin.top + yMarginElement + 5; + }).attr('class', function (d) { + return 'text-label ' + d.label; + }).text(function (d) { + return d.name; + }).call(_svgTextWrap.textWrap, margin.left).attr('cursor', 'pointer'); + } + + //rendering percents for each step + if (show && !resultValues) { + chart.selectAll('text.label').data(polygons).enter().append('text').style('text-anchor', 'middle').attr('x', svgWidth / 2 + margin.left).attr('y', function (d) { + return (d.points[2].y - d.points[1].y) / 2 + d.points[1].y + margin.top + yMarginElement + 8; + }).attr('class', function (d) { + return 'text-main ' + d.label; + }).text(function (d) { + return d.percent; + }).attr('cursor', 'pointer'); + } + + //rendering results for each step + if (resultValues && !show) { + chart.selectAll('text.label').data(polygons).enter().append('text').style('text-anchor', 'middle').attr('x', svgWidth / 2 + margin.left).attr('y', function (d) { + return (d.points[2].y - d.points[1].y) / 2 + d.points[1].y + margin.top + yMarginElement + 8; + }).attr('class', function (d) { + return 'text-main ' + d.label; + }).text(function (d) { + return d.result; + }).attr('cursor', 'pointer'); + } + + //rendering results and percenage together + if (show && resultValues) { + //rendering percents + chart.selectAll('text.label').data(polygons).enter().append('text').style('text-anchor', 'middle').attr('x', svgWidth / 2 + margin.left).attr('y', function (d) { + if (yMarginElement === 0) { + return (d.points[2].y - d.points[1].y) / 2 + d.points[1].y + margin.top + 16; + } + return (d.points[2].y - d.points[1].y) / 2 + d.points[1].y + margin.top + yMarginElement + 12; + }).attr('class', function (d) { + return 'text-second ' + d.label; + }).text(function (d) { + return d.percent; + }).attr('cursor', 'pointer'); + + //rendering results + chart.selectAll('text.label').data(polygons).enter().append('text').style('text-anchor', 'middle').attr('x', svgWidth / 2 + margin.left).attr('y', function (d) { + if (yMarginElement === 0) { + return (d.points[2].y - d.points[1].y) / 2 + d.points[1].y + margin.top; + } + return (d.points[2].y - d.points[1].y) / 2 + d.points[1].y + margin.top + yMarginElement - 5; + }).attr('class', function (d) { + return 'text-main ' + d.label; + }).text(function (d) { + return d.result; + }).attr('cursor', 'pointer'); + } + //hover handling + if (hover) { + var handleMouseOver = function handleMouseOver(d) { + polygonsHover.style('opacity', 0.5); + labelHover.style('opacity', 0.5); + var thisLabel = /[^ ]*$/.exec(d3.select(this).attr('class'))[0]; + chart.selectAll('.' + thisLabel).style('opacity', 1); + }; + + var handleMouseOut = function handleMouseOut(d) { + polygonsHover.style('opacity', 1); + labelHover.style('opacity', 1); + }; + + var polygonsHover = chart.selectAll('polygon'); + polygonsHover.on("mouseover", handleMouseOver).on("mouseout", handleMouseOut); + + var labelHover = chart.selectAll('text'); + labelHover.on("mouseover", handleMouseOver).on("mouseout", handleMouseOut); + } + } + }, { + key: 'update', + value: function update() { + this.destroy(); + this.render(); + } + }, { + key: 'destroy', + value: function destroy() { + var container = this.config.container; + + var chartContainer = d3.select(container + ' .c3-chart > *'); + chartContainer.remove(); + } + }]); + + return Funnel; +}(); + +exports.default = Funnel; + +/***/ }), +/* 143 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -17225,262 +18411,262 @@ exports.default = { }; /***/ }), -/* 138 */ +/* 144 */ /***/ (function(module) { module.exports = {"version":"2018e","zones":["Africa/Abidjan|LMT GMT|g.8 0|01|-2ldXH.Q|48e5","Africa/Accra|LMT GMT +0020|.Q 0 -k|012121212121212121212121212121212121212121212121|-26BbX.8 6tzX.8 MnE 1BAk MnE 1BAk MnE 1BAk MnE 1C0k MnE 1BAk MnE 1BAk MnE 1BAk MnE 1C0k MnE 1BAk MnE 1BAk MnE 1BAk MnE 1C0k MnE 1BAk MnE 1BAk MnE 1BAk MnE 1C0k MnE 1BAk MnE 1BAk MnE 1BAk MnE 1C0k MnE 1BAk MnE 1BAk MnE|41e5","Africa/Nairobi|LMT EAT +0230 +0245|-2r.g -30 -2u -2J|01231|-1F3Cr.g 3Dzr.g okMu MFXJ|47e5","Africa/Algiers|PMT WET WEST CET CEST|-9.l 0 -10 -10 -20|0121212121212121343431312123431213|-2nco9.l cNb9.l HA0 19A0 1iM0 11c0 1oo0 Wo0 1rc0 QM0 1EM0 UM0 DA0 Imo0 rd0 De0 9Xz0 1fb0 1ap0 16K0 2yo0 mEp0 hwL0 jxA0 11A0 dDd0 17b0 11B0 1cN0 2Dy0 1cN0 1fB0 1cL0|26e5","Africa/Lagos|LMT WAT|-d.A -10|01|-22y0d.A|17e6","Africa/Bissau|LMT -01 GMT|12.k 10 0|012|-2ldX0 2xoo0|39e4","Africa/Maputo|LMT CAT|-2a.k -20|01|-2GJea.k|26e5","Africa/Cairo|EET EEST|-20 -30|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-1bIO0 vb0 1ip0 11z0 1iN0 1nz0 12p0 1pz0 10N0 1pz0 16p0 1jz0 s3d0 Vz0 1oN0 11b0 1oO0 10N0 1pz0 10N0 1pb0 10N0 1pb0 10N0 1pb0 10N0 1pz0 10N0 1pb0 10N0 1pb0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1WL0 rd0 1Rz0 wp0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1qL0 Xd0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1ny0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 WL0 1qN0 Rb0 1wp0 On0 1zd0 Lz0 1EN0 Fb0 c10 8n0 8Nd0 gL0 e10 mn0|15e6","Africa/Casablanca|LMT WET WEST CET|u.k 0 -10 -10|0121212121212121213121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2gMnt.E 130Lt.E rb0 Dd0 dVb0 b6p0 TX0 EoB0 LL0 gnd0 rz0 43d0 AL0 1Nd0 XX0 1Cp0 pz0 dEp0 4mn0 SyN0 AL0 1Nd0 wn0 1FB0 Db0 1zd0 Lz0 1Nf0 wM0 co0 go0 1o00 s00 dA0 vc0 11A0 A00 e00 y00 11A0 uM0 e00 Dc0 11A0 s00 e00 IM0 WM0 mo0 gM0 LA0 WM0 jA0 e00 Rc0 11A0 e00 e00 U00 11A0 8o0 e00 11A0 11A0 5A0 e00 17c0 1fA0 1a00 1a00 1fA0 17c0 1io0 14o0 1lc0 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1lc0 14o0 1fA0|32e5","Africa/Ceuta|WET WEST CET CEST|0 -10 -10 -20|010101010101010101010232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-25KN0 11z0 drd0 18p0 3HX0 17d0 1fz0 1a10 1io0 1a00 1y7o0 LL0 gnd0 rz0 43d0 AL0 1Nd0 XX0 1Cp0 pz0 dEp0 4VB0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|85e3","Africa/El_Aaiun|LMT -01 WET WEST|Q.M 10 0 -10|01232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-1rDz7.c 1GVA7.c 6L0 AL0 1Nd0 XX0 1Cp0 pz0 1cBB0 AL0 1Nd0 wn0 1FB0 Db0 1zd0 Lz0 1Nf0 wM0 co0 go0 1o00 s00 dA0 vc0 11A0 A00 e00 y00 11A0 uM0 e00 Dc0 11A0 s00 e00 IM0 WM0 mo0 gM0 LA0 WM0 jA0 e00 Rc0 11A0 e00 e00 U00 11A0 8o0 e00 11A0 11A0 5A0 e00 17c0 1fA0 1a00 1a00 1fA0 17c0 1io0 14o0 1lc0 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1lc0 14o0 1fA0|20e4","Africa/Johannesburg|SAST SAST SAST|-1u -20 -30|012121|-2GJdu 1Ajdu 1cL0 1cN0 1cL0|84e5","Africa/Juba|LMT CAT CAST EAT|-26.s -20 -30 -30|01212121212121212121212121212121213|-1yW26.s 1zK06.s 16L0 1iN0 17b0 1jd0 17b0 1ip0 17z0 1i10 17X0 1hB0 18n0 1hd0 19b0 1gp0 19z0 1iN0 17b0 1ip0 17z0 1i10 18n0 1hd0 18L0 1gN0 19b0 1gp0 19z0 1iN0 17z0 1i10 17X0 yGd0","Africa/Khartoum|LMT CAT CAST EAT|-2a.8 -20 -30 -30|012121212121212121212121212121212131|-1yW2a.8 1zK0a.8 16L0 1iN0 17b0 1jd0 17b0 1ip0 17z0 1i10 17X0 1hB0 18n0 1hd0 19b0 1gp0 19z0 1iN0 17b0 1ip0 17z0 1i10 18n0 1hd0 18L0 1gN0 19b0 1gp0 19z0 1iN0 17z0 1i10 17X0 yGd0 HjL0|51e5","Africa/Monrovia|MMT MMT GMT|H.8 I.u 0|012|-23Lzg.Q 28G01.m|11e5","Africa/Ndjamena|LMT WAT WAST|-10.c -10 -20|0121|-2le10.c 2J3c0.c Wn0|13e5","Africa/Sao_Tome|LMT GMT WAT|A.J 0 -10|012|-2le00 4i6N0","Africa/Tripoli|LMT CET CEST EET|-Q.I -10 -20 -20|012121213121212121212121213123123|-21JcQ.I 1hnBQ.I vx0 4iP0 xx0 4eN0 Bb0 7ip0 U0n0 A10 1db0 1cN0 1db0 1dd0 1db0 1eN0 1bb0 1e10 1cL0 1c10 1db0 1dd0 1db0 1cN0 1db0 1q10 fAn0 1ep0 1db0 AKq0 TA0 1o00|11e5","Africa/Tunis|PMT CET CEST|-9.l -10 -20|0121212121212121212121212121212121|-2nco9.l 18pa9.l 1qM0 DA0 3Tc0 11B0 1ze0 WM0 7z0 3d0 14L0 1cN0 1f90 1ar0 16J0 1gXB0 WM0 1rA0 11c0 nwo0 Ko0 1cM0 1cM0 1rA0 10M0 zuM0 10N0 1aN0 1qM0 WM0 1qM0 11A0 1o00|20e5","Africa/Windhoek|+0130 SAST SAST CAT WAT|-1u -20 -30 -20 -10|01213434343434343434343434343434343434343434343434343|-2GJdu 1Ajdu 1cL0 1SqL0 9Io0 16P0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0|32e4","America/Adak|NST NWT NPT BST BDT AHST HST HDT|b0 a0 a0 b0 a0 a0 a0 90|012034343434343434343434343434343456767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676|-17SX0 8wW0 iB0 Qlb0 52O0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 cm0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|326","America/Anchorage|AST AWT APT AHST AHDT YST AKST AKDT|a0 90 90 a0 90 90 90 80|012034343434343434343434343434343456767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676|-17T00 8wX0 iA0 Qlb0 52O0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 cm0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|30e4","America/Port_of_Spain|LMT AST|46.4 40|01|-2kNvR.U|43e3","America/Araguaina|LMT -03 -02|3c.M 30 20|0121212121212121212121212121212121212121212121212121|-2glwL.c HdKL.c 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 dMN0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 ny10 Lz0|14e4","America/Argentina/Buenos_Aires|CMT -04 -03 -02|4g.M 40 30 20|01212121212121212121212121212121212121212123232323232323232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wp0 Rb0 1wp0 TX0 A4p0 uL0 1qN0 WL0","America/Argentina/Catamarca|CMT -04 -03 -02|4g.M 40 30 20|01212121212121212121212121212121212121212123232323132321232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wq0 Ra0 1wp0 TX0 rlB0 7B0 8zb0 uL0","America/Argentina/Cordoba|CMT -04 -03 -02|4g.M 40 30 20|01212121212121212121212121212121212121212123232323132323232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wq0 Ra0 1wp0 TX0 A4p0 uL0 1qN0 WL0","America/Argentina/Jujuy|CMT -04 -03 -02|4g.M 40 30 20|012121212121212121212121212121212121212121232323121323232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1ze0 TX0 1ld0 WK0 1wp0 TX0 A4p0 uL0","America/Argentina/La_Rioja|CMT -04 -03 -02|4g.M 40 30 20|012121212121212121212121212121212121212121232323231232321232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Qn0 qO0 16n0 Rb0 1wp0 TX0 rlB0 7B0 8zb0 uL0","America/Argentina/Mendoza|CMT -04 -03 -02|4g.M 40 30 20|01212121212121212121212121212121212121212123232312121321232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1u20 SL0 1vd0 Tb0 1wp0 TW0 ri10 Op0 7TX0 uL0","America/Argentina/Rio_Gallegos|CMT -04 -03 -02|4g.M 40 30 20|01212121212121212121212121212121212121212123232323232321232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wp0 Rb0 1wp0 TX0 rlB0 7B0 8zb0 uL0","America/Argentina/Salta|CMT -04 -03 -02|4g.M 40 30 20|012121212121212121212121212121212121212121232323231323232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wq0 Ra0 1wp0 TX0 A4p0 uL0","America/Argentina/San_Juan|CMT -04 -03 -02|4g.M 40 30 20|012121212121212121212121212121212121212121232323231232321232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Qn0 qO0 16n0 Rb0 1wp0 TX0 rld0 m10 8lb0 uL0","America/Argentina/San_Luis|CMT -04 -03 -02|4g.M 40 30 20|012121212121212121212121212121212121212121232323121212321212|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 XX0 1q20 SL0 AN0 vDb0 m10 8lb0 8L0 jd0 1qN0 WL0 1qN0","America/Argentina/Tucuman|CMT -04 -03 -02|4g.M 40 30 20|0121212121212121212121212121212121212121212323232313232123232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wq0 Ra0 1wp0 TX0 rlB0 4N0 8BX0 uL0 1qN0 WL0","America/Argentina/Ushuaia|CMT -04 -03 -02|4g.M 40 30 20|01212121212121212121212121212121212121212123232323232321232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wp0 Rb0 1wp0 TX0 rkN0 8p0 8zb0 uL0","America/Curacao|LMT -0430 AST|4z.L 4u 40|012|-2kV7o.d 28KLS.d|15e4","America/Asuncion|AMT -04 -03|3O.E 40 30|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212|-1x589.k 1DKM9.k 3CL0 3Dd0 10L0 1pB0 10n0 1pB0 10n0 1pB0 1cL0 1dd0 1db0 1dd0 1cL0 1dd0 1cL0 1dd0 1cL0 1dd0 1db0 1dd0 1cL0 1dd0 1cL0 1dd0 1cL0 1dd0 1db0 1dd0 1cL0 1lB0 14n0 1dd0 1cL0 1fd0 WL0 1rd0 1aL0 1dB0 Xz0 1qp0 Xb0 1qN0 10L0 1rB0 TX0 1tB0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 1cL0 WN0 1qL0 11B0 1nX0 1ip0 WL0 1qN0 WL0 1qN0 WL0 1tB0 TX0 1tB0 TX0 1tB0 19X0 1a10 1fz0 1a10 1fz0 1cN0 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0|28e5","America/Atikokan|CST CDT CWT CPT EST|60 50 50 50 50|0101234|-25TQ0 1in0 Rnb0 3je0 8x30 iw0|28e2","America/Bahia_Banderas|LMT MST CST PST MDT CDT|71 70 60 80 60 50|0121212131414141414141414141414141414152525252525252525252525252525252525252525252525252525252|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 otX0 gmN0 P2N0 13Vd0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nW0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0|84e3","America/Bahia|LMT -03 -02|2y.4 30 20|01212121212121212121212121212121212121212121212121212121212121|-2glxp.U HdLp.U 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 1EN0 Lz0 1C10 IL0 1HB0 Db0 1HB0 On0 1zd0 On0 1zd0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 l5B0 Rb0|27e5","America/Barbados|LMT BMT AST ADT|3W.t 3W.t 40 30|01232323232|-1Q0I1.v jsM0 1ODC1.v IL0 1ip0 17b0 1ip0 17b0 1ld0 13b0|28e4","America/Belem|LMT -03 -02|3d.U 30 20|012121212121212121212121212121|-2glwK.4 HdKK.4 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0|20e5","America/Belize|LMT CST -0530 CDT|5Q.M 60 5u 50|01212121212121212121212121212121212121212121212121213131|-2kBu7.c fPA7.c Onu 1zcu Rbu 1wou Rbu 1wou Rbu 1zcu Onu 1zcu Onu 1zcu Rbu 1wou Rbu 1wou Rbu 1wou Rbu 1zcu Onu 1zcu Onu 1zcu Rbu 1wou Rbu 1wou Rbu 1zcu Onu 1zcu Onu 1zcu Onu 1zcu Rbu 1wou Rbu 1wou Rbu 1zcu Onu 1zcu Onu 1zcu Rbu 1wou Rbu 1f0Mu qn0 lxB0 mn0|57e3","America/Blanc-Sablon|AST ADT AWT APT|40 30 30 30|010230|-25TS0 1in0 UGp0 8x50 iu0|11e2","America/Boa_Vista|LMT -04 -03|42.E 40 30|0121212121212121212121212121212121|-2glvV.k HdKV.k 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 smp0 WL0 1tB0 2L0|62e2","America/Bogota|BMT -05 -04|4U.g 50 40|0121|-2eb73.I 38yo3.I 2en0|90e5","America/Boise|PST PDT MST MWT MPT MDT|80 70 70 60 60 60|0101023425252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252|-261q0 1nX0 11B0 1nX0 8C10 JCL0 8x20 ix0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 Dd0 1Kn0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|21e4","America/Cambridge_Bay|-00 MST MWT MPT MDDT MDT CST CDT EST|0 70 60 60 50 60 60 50 50|0123141515151515151515151515151515151515151515678651515151515151515151515151515151515151515151515151515151515151515151515151|-21Jc0 RO90 8x20 ix0 LCL0 1fA0 zgO0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11A0 1nX0 2K0 WQ0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|15e2","America/Campo_Grande|LMT -04 -03|3C.s 40 30|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212|-2glwl.w HdLl.w 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 1EN0 Lz0 1C10 IL0 1HB0 Db0 1HB0 On0 1zd0 On0 1zd0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 1C10 Lz0 1Ip0 HX0 1zd0 On0 1HB0 IL0 1wp0 On0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 Rb0 1zd0 Lz0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 On0 1zd0 On0 1HB0 FX0 1HB0 FX0 1HB0 IL0 1HB0 FX0 1HB0 IL0 1EN0 FX0 1HB0 FX0 1HB0 IL0 1EN0 IL0 1HB0 FX0 1HB0 FX0 1HB0 FX0 1HB0 FX0 1HB0 FX0 1Kp0 FX0 1HB0 IL0 1EN0 FX0 1HB0 FX0 1HB0 IL0 1EN0|77e4","America/Cancun|LMT CST EST EDT CDT|5L.4 60 50 40 50|0123232341414141414141414141414141414141412|-1UQG0 2q2o0 yLB0 1lb0 14p0 1lb0 14p0 Lz0 xB0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 Dd0|63e4","America/Caracas|CMT -0430 -04|4r.E 4u 40|01212|-2kV7w.k 28KM2.k 1IwOu kqo0|29e5","America/Cayenne|LMT -04 -03|3t.k 40 30|012|-2mrwu.E 2gWou.E|58e3","America/Panama|CMT EST|5j.A 50|01|-2uduE.o|15e5","America/Chicago|CST CDT EST CWT CPT|60 50 50 50 50|01010101010101010101010101010101010102010101010103401010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261s0 1nX0 11B0 1nX0 1wp0 TX0 WN0 1qL0 1cN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 11B0 1Hz0 14p0 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 RB0 8x30 iw0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|92e5","America/Chihuahua|LMT MST CST CDT MDT|74.k 70 60 50 60|0121212323241414141414141414141414141414141414141414141414141414141414141414141414141414141|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 2zQN0 1lb0 14p0 1lb0 14q0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0|81e4","America/Costa_Rica|SJMT CST CDT|5A.d 60 50|0121212121|-1Xd6n.L 2lu0n.L Db0 1Kp0 Db0 pRB0 15b0 1kp0 mL0|12e5","America/Creston|MST PST|70 80|010|-29DR0 43B0|53e2","America/Cuiaba|LMT -04 -03|3I.k 40 30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212|-2glwf.E HdLf.E 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 1EN0 Lz0 1C10 IL0 1HB0 Db0 1HB0 On0 1zd0 On0 1zd0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 4a10 HX0 1zd0 On0 1HB0 IL0 1wp0 On0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 Rb0 1zd0 Lz0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 On0 1zd0 On0 1HB0 FX0 1HB0 FX0 1HB0 IL0 1HB0 FX0 1HB0 IL0 1EN0 FX0 1HB0 FX0 1HB0 IL0 1EN0 IL0 1HB0 FX0 1HB0 FX0 1HB0 FX0 1HB0 FX0 1HB0 FX0 1Kp0 FX0 1HB0 IL0 1EN0 FX0 1HB0 FX0 1HB0 IL0 1EN0|54e4","America/Danmarkshavn|LMT -03 -02 GMT|1e.E 30 20 0|01212121212121212121212121212121213|-2a5WJ.k 2z5fJ.k 19U0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 DC0|8","America/Dawson_Creek|PST PDT PWT PPT MST|80 70 70 70 70|0102301010101010101010101010101010101010101010101010101014|-25TO0 1in0 UGp0 8x10 iy0 3NB0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 ML0|12e3","America/Dawson|YST YDT YWT YPT YDDT PST PDT|90 80 80 80 70 80 70|0101023040565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565|-25TN0 1in0 1o10 13V0 Ser0 8x00 iz0 LCL0 1fA0 jrA0 fNd0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|13e2","America/Denver|MST MDT MWT MPT|70 60 60 60|01010101023010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261r0 1nX0 11B0 1nX0 11B0 1qL0 WN0 mn0 Ord0 8x20 ix0 LCN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|26e5","America/Detroit|LMT CST EST EWT EPT EDT|5w.b 60 50 40 40 40|012342525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252|-2Cgir.N peqr.N 156L0 8x40 iv0 6fd0 11z0 XQp0 1cL0 s10 1Vz0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|37e5","America/Edmonton|LMT MST MDT MWT MPT|7x.Q 70 60 60 60|01212121212121341212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2yd4q.8 shdq.8 1in0 17d0 hz0 2dB0 1fz0 1a10 11z0 1qN0 WL0 1qN0 11z0 IGN0 8x20 ix0 3NB0 11z0 LFB0 1cL0 3Cp0 1cL0 66N0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|10e5","America/Eirunepe|LMT -05 -04|4D.s 50 40|0121212121212121212121212121212121|-2glvk.w HdLk.w 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 dPB0 On0 yTd0 d5X0|31e3","America/El_Salvador|LMT CST CDT|5U.M 60 50|012121|-1XiG3.c 2Fvc3.c WL0 1qN0 WL0|11e5","America/Tijuana|LMT MST PST PDT PWT PPT|7M.4 70 80 70 70 70|012123245232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-1UQE0 4PX0 8mM0 8lc0 SN0 1cL0 pHB0 83r0 zI0 5O10 1Rz0 cOO0 11A0 1o00 11A0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 BUp0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 U10 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|20e5","America/Fort_Nelson|PST PDT PWT PPT MST|80 70 70 70 70|01023010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010104|-25TO0 1in0 UGp0 8x10 iy0 3NB0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0|39e2","America/Fort_Wayne|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|010101023010101010101010101040454545454545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 QI10 Db0 RB0 8x30 iw0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 5Tz0 1o10 qLb0 1cL0 1cN0 1cL0 1qhd0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Fortaleza|LMT -03 -02|2y 30 20|0121212121212121212121212121212121212121|-2glxq HdLq 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 nsp0 WL0 1tB0 5z0 2mN0 On0|34e5","America/Glace_Bay|LMT AST ADT AWT APT|3X.M 40 30 30 30|012134121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2IsI0.c CwO0.c 1in0 UGp0 8x50 iu0 iq10 11z0 Jg10 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|19e3","America/Godthab|LMT -03 -02|3q.U 30 20|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2a5Ux.4 2z5dx.4 19U0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|17e3","America/Goose_Bay|NST NDT NST NDT NWT NPT AST ADT ADDT|3u.Q 2u.Q 3u 2u 2u 2u 40 30 20|010232323232323245232323232323232323232323232323232323232326767676767676767676767676767676767676767676768676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676|-25TSt.8 1in0 DXb0 2HbX.8 WL0 1qN0 WL0 1qN0 WL0 1tB0 TX0 1tB0 WL0 1qN0 WL0 1qN0 7UHu itu 1tB0 WL0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1tB0 WL0 1ld0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 S10 g0u 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14n1 1lb0 14p0 1nW0 11C0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zcX Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|76e2","America/Grand_Turk|KMT EST EDT AST|57.a 50 40 40|01212121212121212121212121212121212121212121212121212121212121212121212121232121212121212121212121212121212121212121|-2l1uQ.O 2HHBQ.O 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 5Ip0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|37e2","America/Guatemala|LMT CST CDT|62.4 60 50|0121212121|-24KhV.U 2efXV.U An0 mtd0 Nz0 ifB0 17b0 zDB0 11z0|13e5","America/Guayaquil|QMT -05 -04|5e 50 40|0121|-1yVSK 2uILK rz0|27e5","America/Guyana|LMT -0345 -03 -04|3Q.E 3J 30 40|0123|-2dvU7.k 2r6LQ.k Bxbf|80e4","America/Halifax|LMT AST ADT AWT APT|4e.o 40 30 30 30|0121212121212121212121212121212121212121212121212134121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2IsHJ.A xzzJ.A 1db0 3I30 1in0 3HX0 IL0 1E10 ML0 1yN0 Pb0 1Bd0 Mn0 1Bd0 Rz0 1w10 Xb0 1w10 LX0 1w10 Xb0 1w10 Lz0 1C10 Jz0 1E10 OL0 1yN0 Un0 1qp0 Xb0 1qp0 11X0 1w10 Lz0 1HB0 LX0 1C10 FX0 1w10 Xb0 1qp0 Xb0 1BB0 LX0 1td0 Xb0 1qp0 Xb0 Rf0 8x50 iu0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 3Qp0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 3Qp0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 6i10 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|39e4","America/Havana|HMT CST CDT|5t.A 50 40|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1Meuu.o 72zu.o ML0 sld0 An0 1Nd0 Db0 1Nd0 An0 6Ep0 An0 1Nd0 An0 JDd0 Mn0 1Ap0 On0 1fd0 11X0 1qN0 WL0 1wp0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 14n0 1ld0 14L0 1kN0 15b0 1kp0 1cL0 1cN0 1fz0 1a10 1fz0 1fB0 11z0 14p0 1nX0 11B0 1nX0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 14n0 1ld0 14n0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 1a10 1in0 1a10 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 17c0 1o00 11A0 1qM0 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 11A0 6i00 Rc0 1wo0 U00 1tA0 Rc0 1wo0 U00 1wo0 U00 1zc0 U00 1qM0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0|21e5","America/Hermosillo|LMT MST CST PST MDT|7n.Q 70 60 80 60|0121212131414141|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 otX0 gmN0 P2N0 13Vd0 1lb0 14p0 1lb0 14p0 1lb0|64e4","America/Indiana/Knox|CST CDT CWT CPT EST|60 50 50 50 50|0101023010101010101010101010101010101040101010101010101010101010101010101010101010101010141010101010101010101010101010101010101010101010101010101010101010|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 3NB0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 11z0 1o10 11z0 1o10 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 3Cn0 8wp0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 z8o0 1o00 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Indiana/Marengo|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|0101023010101010101010104545454545414545454545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 dyN0 11z0 6fd0 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 jrz0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1VA0 LA0 1BX0 1e6p0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Indiana/Petersburg|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|01010230101010101010101010104010101010101010101010141014545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 njX0 WN0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 3Fb0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 19co0 1o00 Rd0 1zb0 Oo0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Indiana/Tell_City|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|01010230101010101010101010101010454541010101010101010101010101010101010101010101010101010101010101010|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 1o10 11z0 g0p0 11z0 1o10 11z0 1qL0 WN0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 WL0 1qN0 1cL0 1cN0 1cL0 1cN0 caL0 1cL0 1cN0 1cL0 1qhd0 1o00 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Indiana/Vevay|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|010102304545454545454545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 kPB0 Awn0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1lnd0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Indiana/Vincennes|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|01010230101010101010101010101010454541014545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 1o10 11z0 g0p0 11z0 1o10 11z0 1qL0 WN0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 WL0 1qN0 1cL0 1cN0 1cL0 1cN0 caL0 1cL0 1cN0 1cL0 1qhd0 1o00 Rd0 1zb0 Oo0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Indiana/Winamac|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|01010230101010101010101010101010101010454541054545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 jrz0 1cL0 1cN0 1cL0 1qhd0 1o00 Rd0 1za0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Inuvik|-00 PST PDDT MST MDT|0 80 60 70 60|0121343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343|-FnA0 tWU0 1fA0 wPe0 2pz0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|35e2","America/Iqaluit|-00 EWT EPT EST EDDT EDT CST CDT|0 40 40 50 30 40 60 50|01234353535353535353535353535353535353535353567353535353535353535353535353535353535353535353535353535353535353535353535353|-16K00 7nX0 iv0 LCL0 1fA0 zgO0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11C0 1nX0 11A0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|67e2","America/Jamaica|KMT EST EDT|57.a 50 40|0121212121212121212121|-2l1uQ.O 2uM1Q.O 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0|94e4","America/Juneau|PST PWT PPT PDT YDT YST AKST AKDT|80 70 70 70 80 90 90 80|01203030303030303030303030403030356767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676|-17T20 8x10 iy0 Vo10 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cM0 1cM0 1cL0 1cN0 1fz0 1a10 1fz0 co0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|33e3","America/Kentucky/Louisville|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|0101010102301010101010101010101010101454545454545414545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 3Fd0 Nb0 LPd0 11z0 RB0 8x30 iw0 Bb0 10N0 2bB0 8in0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 xz0 gso0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1VA0 LA0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Kentucky/Monticello|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|0101023010101010101010101010101010101010101010101010101010101010101010101454545454545454545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 SWp0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11A0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/La_Paz|CMT BST -04|4w.A 3w.A 40|012|-1x37r.o 13b0|19e5","America/Lima|LMT -05 -04|58.A 50 40|0121212121212121|-2tyGP.o 1bDzP.o zX0 1aN0 1cL0 1cN0 1cL0 1PrB0 zX0 1O10 zX0 6Gp0 zX0 98p0 zX0|11e6","America/Los_Angeles|PST PDT PWT PPT|80 70 70 70|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261q0 1nX0 11B0 1nX0 SgN0 8x10 iy0 5Wp1 1VaX 3dA0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1a00 1fA0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|15e6","America/Maceio|LMT -03 -02|2m.Q 30 20|012121212121212121212121212121212121212121|-2glxB.8 HdLB.8 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 dMN0 Lz0 8Q10 WL0 1tB0 5z0 2mN0 On0|93e4","America/Managua|MMT CST EST CDT|5J.c 60 50 50|0121313121213131|-1quie.M 1yAMe.M 4mn0 9Up0 Dz0 1K10 Dz0 s3F0 1KH0 DB0 9In0 k8p0 19X0 1o30 11y0|22e5","America/Manaus|LMT -04 -03|40.4 40 30|01212121212121212121212121212121|-2glvX.U HdKX.U 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 dPB0 On0|19e5","America/Martinique|FFMT AST ADT|44.k 40 30|0121|-2mPTT.E 2LPbT.E 19X0|39e4","America/Matamoros|LMT CST CDT|6E 60 50|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1UQG0 2FjC0 1nX0 i6p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 U10 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|45e4","America/Mazatlan|LMT MST CST PST MDT|75.E 70 60 80 60|0121212131414141414141414141414141414141414141414141414141414141414141414141414141414141414141|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 otX0 gmN0 P2N0 13Vd0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0|44e4","America/Menominee|CST CDT CWT CPT EST|60 50 50 50 50|01010230101041010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 1o10 11z0 LCN0 1fz0 6410 9Jb0 1cM0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|85e2","America/Merida|LMT CST EST CDT|5W.s 60 50 50|0121313131313131313131313131313131313131313131313131313131313131313131313131313131313131|-1UQG0 2q2o0 2hz0 wu30 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0|11e5","America/Metlakatla|PST PWT PPT PDT AKST AKDT|80 70 70 70 90 80|0120303030303030303030303030303030454545454545454545454545454545454545454545454|-17T20 8x10 iy0 Vo10 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1hU10 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|14e2","America/Mexico_City|LMT MST CST CDT CWT|6A.A 70 60 50 50|012121232324232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 gEn0 TX0 3xd0 Jb0 6zB0 SL0 e5d0 17b0 1Pff0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0|20e6","America/Miquelon|LMT AST -03 -02|3I.E 40 30 20|012323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-2mKkf.k 2LTAf.k gQ10 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|61e2","America/Moncton|EST AST ADT AWT APT|50 40 30 30 30|012121212121212121212134121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2IsH0 CwN0 1in0 zAo0 An0 1Nd0 An0 1Nd0 An0 1Nd0 An0 1Nd0 An0 1Nd0 An0 1K10 Lz0 1zB0 NX0 1u10 Wn0 S20 8x50 iu0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 3Cp0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14n1 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 ReX 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|64e3","America/Monterrey|LMT CST CDT|6F.g 60 50|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1UQG0 2FjC0 1nX0 i6p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0|41e5","America/Montevideo|LMT MMT -04 -03 -0330 -0230 -02 -0130|3I.P 3I.P 40 30 3u 2u 20 1u|012343434343434343434343435353636353636375363636363636363636363636363636363636363636363|-2tRUf.9 sVc0 8jcf.9 1db0 1dcu 1cLu 1dcu 1cLu ircu 11zu 1o0u 11zu 1o0u 11zu 1o0u 11zu 1qMu WLu 1qMu WLu 1fAu 1cLu 1o0u 11zu NAu 3jXu zXu Dq0u 19Xu pcu jz0 cm10 19X0 6tB0 1fbu 3o0u jX0 4vB0 xz0 3Cp0 mmu 1a10 IMu Db0 4c10 uL0 1Nd0 An0 1SN0 uL0 mp0 28L0 iPB0 un0 1SN0 xz0 1zd0 Lz0 1zd0 Rb0 1zd0 On0 1wp0 Rb0 s8p0 1fB0 1ip0 11z0 1ld0 14n0 1o10 11z0 1o10 11z0 1o10 14n0 1ld0 14n0 1ld0 14n0 1o10 11z0 1o10 11z0 1o10 11z0|17e5","America/Toronto|EST EDT EWT EPT|50 40 40 40|01010101010101010101010101010101010101010101012301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-25TR0 1in0 11Wu 1nzu 1fD0 WJ0 1wr0 Nb0 1Ap0 On0 1zd0 On0 1wp0 TX0 1tB0 TX0 1tB0 TX0 1tB0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 4kM0 8x40 iv0 1o10 11z0 1nX0 11z0 1o10 11z0 1o10 1qL0 11D0 1nX0 11B0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|65e5","America/Nassau|LMT EST EDT|59.u 50 40|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2kNuO.u 26XdO.u 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|24e4","America/New_York|EST EDT EWT EPT|50 40 40 40|01010101010101010101010101010101010101010101010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261t0 1nX0 11B0 1nX0 11B0 1qL0 1a10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 RB0 8x40 iv0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|21e6","America/Nipigon|EST EDT EWT EPT|50 40 40 40|010123010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-25TR0 1in0 Rnb0 3je0 8x40 iv0 19yN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|16e2","America/Nome|NST NWT NPT BST BDT YST AKST AKDT|b0 a0 a0 b0 a0 90 90 80|012034343434343434343434343434343456767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676|-17SX0 8wW0 iB0 Qlb0 52O0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 cl0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|38e2","America/Noronha|LMT -02 -01|29.E 20 10|0121212121212121212121212121212121212121|-2glxO.k HdKO.k 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 nsp0 WL0 1tB0 2L0 2pB0 On0|30e2","America/North_Dakota/Beulah|MST MDT MWT MPT CST CDT|70 60 60 60 60 50|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101014545454545454545454545454545454545454545454545454545454|-261r0 1nX0 11B0 1nX0 SgN0 8x20 ix0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Oo0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/North_Dakota/Center|MST MDT MWT MPT CST CDT|70 60 60 60 60 50|010102301010101010101010101010101010101010101010101010101014545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-261r0 1nX0 11B0 1nX0 SgN0 8x20 ix0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14o0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/North_Dakota/New_Salem|MST MDT MWT MPT CST CDT|70 60 60 60 60 50|010102301010101010101010101010101010101010101010101010101010101010101010101010101454545454545454545454545454545454545454545454545454545454545454545454|-261r0 1nX0 11B0 1nX0 SgN0 8x20 ix0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14o0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Ojinaga|LMT MST CST CDT MDT|6V.E 70 60 50 60|0121212323241414141414141414141414141414141414141414141414141414141414141414141414141414141|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 2zQN0 1lb0 14p0 1lb0 14q0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 U10 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|23e3","America/Pangnirtung|-00 AST AWT APT ADDT ADT EDT EST CST CDT|0 40 30 30 20 30 40 50 60 50|012314151515151515151515151515151515167676767689767676767676767676767676767676767676767676767676767676767676767676767676767|-1XiM0 PnG0 8x50 iu0 LCL0 1fA0 zgO0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1o00 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11C0 1nX0 11A0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|14e2","America/Paramaribo|LMT PMT PMT -0330 -03|3E.E 3E.Q 3E.A 3u 30|01234|-2nDUj.k Wqo0.c qanX.I 1yVXN.o|24e4","America/Phoenix|MST MDT MWT|70 60 60|01010202010|-261r0 1nX0 11B0 1nX0 SgN0 4Al1 Ap0 1db0 SWqX 1cL0|42e5","America/Port-au-Prince|PPMT EST EDT|4N 50 40|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-28RHb 2FnMb 19X0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14q0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 i6n0 1nX0 11B0 1nX0 d430 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 3iN0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|23e5","America/Rio_Branco|LMT -05 -04|4v.c 50 40|01212121212121212121212121212121|-2glvs.M HdLs.M 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 NBd0 d5X0|31e4","America/Porto_Velho|LMT -04 -03|4f.A 40 30|012121212121212121212121212121|-2glvI.o HdKI.o 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0|37e4","America/Puerto_Rico|AST AWT APT|40 30 30|0120|-17lU0 7XT0 iu0|24e5","America/Punta_Arenas|SMT -05 -04 -03|4G.K 50 40 30|0102021212121212121232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323|-2q2jh.e fJAh.e 5knG.K 1Vzh.e jRAG.K 1pbh.e 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 nHX0 op0 blz0 ko0 Qeo0 WL0 1zd0 On0 1ip0 11z0 1o10 11z0 1qN0 WL0 1ld0 14n0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 1cL0 1cN0 11z0 1o10 11z0 1qN0 WL0 1fB0 19X0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1ip0 1fz0 1fB0 11z0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1o10 19X0 1fB0 1nX0 G10 1EL0 Op0 1zb0 Rd0 1wn0 Rd0 46n0 Ap0","America/Rainy_River|CST CDT CWT CPT|60 50 50 50|010123010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-25TQ0 1in0 Rnb0 3je0 8x30 iw0 19yN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|842","America/Rankin_Inlet|-00 CST CDDT CDT EST|0 60 40 50 50|012131313131313131313131313131313131313131313431313131313131313131313131313131313131313131313131313131313131313131313131|-vDc0 keu0 1fA0 zgO0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|26e2","America/Recife|LMT -03 -02|2j.A 30 20|0121212121212121212121212121212121212121|-2glxE.o HdLE.o 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 nsp0 WL0 1tB0 2L0 2pB0 On0|33e5","America/Regina|LMT MST MDT MWT MPT CST|6W.A 70 60 60 60 60|012121212121212121212121341212121212121212121212121215|-2AD51.o uHe1.o 1in0 s2L0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 66N0 1cL0 1cN0 19X0 1fB0 1cL0 1fB0 1cL0 1cN0 1cL0 M30 8x20 ix0 1ip0 1cL0 1ip0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 3NB0 1cL0 1cN0|19e4","America/Resolute|-00 CST CDDT CDT EST|0 60 40 50 50|012131313131313131313131313131313131313131313431313131313431313131313131313131313131313131313131313131313131313131313131|-SnA0 GWS0 1fA0 zgO0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|229","America/Santarem|LMT -04 -03|3C.M 40 30|0121212121212121212121212121212|-2glwl.c HdLl.c 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 NBd0|21e4","America/Santiago|SMT -05 -04 -03|4G.K 50 40 30|010202121212121212321232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323|-2q2jh.e fJAh.e 5knG.K 1Vzh.e jRAG.K 1pbh.e 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 nHX0 op0 9Bz0 jb0 1oN0 ko0 Qeo0 WL0 1zd0 On0 1ip0 11z0 1o10 11z0 1qN0 WL0 1ld0 14n0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 1cL0 1cN0 11z0 1o10 11z0 1qN0 WL0 1fB0 19X0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1ip0 1fz0 1fB0 11z0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1o10 19X0 1fB0 1nX0 G10 1EL0 Op0 1zb0 Rd0 1wn0 Rd0 46n0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Dd0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Dd0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Dd0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0|62e5","America/Santo_Domingo|SDMT EST EDT -0430 AST|4E 50 40 4u 40|01213131313131414|-1ttjk 1lJMk Mn0 6sp0 Lbu 1Cou yLu 1RAu wLu 1QMu xzu 1Q0u xXu 1PAu 13jB0 e00|29e5","America/Sao_Paulo|LMT -03 -02|36.s 30 20|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212|-2glwR.w HdKR.w 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 pTd0 PX0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 1EN0 Lz0 1C10 IL0 1HB0 Db0 1HB0 On0 1zd0 On0 1zd0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 1C10 Lz0 1Ip0 HX0 1zd0 On0 1HB0 IL0 1wp0 On0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 Rb0 1zd0 Lz0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 On0 1zd0 On0 1HB0 FX0 1HB0 FX0 1HB0 IL0 1HB0 FX0 1HB0 IL0 1EN0 FX0 1HB0 FX0 1HB0 IL0 1EN0 IL0 1HB0 FX0 1HB0 FX0 1HB0 FX0 1HB0 FX0 1HB0 FX0 1Kp0 FX0 1HB0 IL0 1EN0 FX0 1HB0 FX0 1HB0 IL0 1EN0|20e6","America/Scoresbysund|LMT -02 -01 +00|1r.Q 20 10 0|0121323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-2a5Ww.8 2z5ew.8 1a00 1cK0 1cL0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|452","America/Sitka|PST PWT PPT PDT YST AKST AKDT|80 70 70 70 90 90 80|01203030303030303030303030303030345656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565|-17T20 8x10 iy0 Vo10 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 co0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|90e2","America/St_Johns|NST NDT NST NDT NWT NPT NDDT|3u.Q 2u.Q 3u 2u 2u 2u 1u|01010101010101010101010101010101010102323232323232324523232323232323232323232323232323232323232323232323232323232323232323232323232323232326232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-28oit.8 14L0 1nB0 1in0 1gm0 Dz0 1JB0 1cL0 1cN0 1cL0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1fB0 1cL0 1cN0 1cL0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1fB0 1cL0 1fB0 19X0 1fB0 19X0 10O0 eKX.8 19X0 1iq0 WL0 1qN0 WL0 1qN0 WL0 1tB0 TX0 1tB0 WL0 1qN0 WL0 1qN0 7UHu itu 1tB0 WL0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1tB0 WL0 1ld0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14n1 1lb0 14p0 1nW0 11C0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zcX Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|11e4","America/Swift_Current|LMT MST MDT MWT MPT CST|7b.k 70 60 60 60 60|012134121212121212121215|-2AD4M.E uHdM.E 1in0 UGp0 8x20 ix0 1o10 17b0 1ip0 11z0 1o10 11z0 1o10 11z0 isN0 1cL0 3Cp0 1cL0 1cN0 11z0 1qN0 WL0 pMp0|16e3","America/Tegucigalpa|LMT CST CDT|5M.Q 60 50|01212121|-1WGGb.8 2ETcb.8 WL0 1qN0 WL0 GRd0 AL0|11e5","America/Thule|LMT AST ADT|4z.8 40 30|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2a5To.Q 31NBo.Q 1cL0 1cN0 1cL0 1fB0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|656","America/Thunder_Bay|CST EST EWT EPT EDT|60 50 40 40 40|0123141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141|-2q5S0 1iaN0 8x40 iv0 XNB0 1cL0 1cN0 1fz0 1cN0 1cL0 3Cp0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|11e4","America/Vancouver|PST PDT PWT PPT|80 70 70 70|0102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-25TO0 1in0 UGp0 8x10 iy0 1o10 17b0 1ip0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|23e5","America/Whitehorse|YST YDT YWT YPT YDDT PST PDT|90 80 80 80 70 80 70|0101023040565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565|-25TN0 1in0 1o10 13V0 Ser0 8x00 iz0 LCL0 1fA0 3NA0 vrd0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|23e3","America/Winnipeg|CST CDT CWT CPT|60 50 50 50|010101023010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aIi0 WL0 3ND0 1in0 Jap0 Rb0 aCN0 8x30 iw0 1tB0 11z0 1ip0 11z0 1o10 11z0 1o10 11z0 1rd0 10L0 1op0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 1cL0 1cN0 11z0 6i10 WL0 6i10 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1a00 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1a00 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|66e4","America/Yakutat|YST YWT YPT YDT AKST AKDT|90 80 80 80 90 80|01203030303030303030303030303030304545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-17T10 8x00 iz0 Vo10 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 cn0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|642","America/Yellowknife|-00 MST MWT MPT MDDT MDT|0 70 60 60 50 60|012314151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151|-1pdA0 hix0 8x20 ix0 LCL0 1fA0 zgO0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|19e3","Antarctica/Casey|-00 +08 +11|0 -80 -b0|01212121|-2q00 1DjS0 T90 40P0 KL0 blz0 3m10|10","Antarctica/Davis|-00 +07 +05|0 -70 -50|01012121|-vyo0 iXt0 alj0 1D7v0 VB0 3Wn0 KN0|70","Antarctica/DumontDUrville|-00 +10|0 -a0|0101|-U0o0 cfq0 bFm0|80","Antarctica/Macquarie|AEST AEDT -00 +11|-a0 -b0 0 -b0|0102010101010101010101010101010101010101010101010101010101010101010101010101010101010101013|-29E80 19X0 4SL0 1ayy0 Lvs0 1cM0 1o00 Rc0 1wo0 Rc0 1wo0 U00 1wo0 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 11A0 1qM0 WM0 1qM0 Oo0 1zc0 Oo0 1zc0 Oo0 1wo0 WM0 1tA0 WM0 1tA0 U00 1tA0 U00 1tA0 11A0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 11A0 1o00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1cM0 1cM0 1cM0|1","Antarctica/Mawson|-00 +06 +05|0 -60 -50|012|-CEo0 2fyk0|60","Pacific/Auckland|NZMT NZST NZST NZDT|-bu -cu -c0 -d0|01020202020202020202020202023232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323|-1GCVu Lz0 1tB0 11zu 1o0u 11zu 1o0u 11zu 1o0u 14nu 1lcu 14nu 1lcu 1lbu 11Au 1nXu 11Au 1nXu 11Au 1nXu 11Au 1nXu 11Au 1qLu WMu 1qLu 11Au 1n1bu IM0 1C00 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1qM0 14o0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1io0 17c0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1io0 17c0 1io0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00|14e5","Antarctica/Palmer|-00 -03 -04 -02|0 30 40 20|0121212121213121212121212121212121212121212121212121212121212121212121212121212121|-cao0 nD0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 jsN0 14N0 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 1cL0 1cN0 11z0 1o10 11z0 1qN0 WL0 1fB0 19X0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1ip0 1fz0 1fB0 11z0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1o10 19X0 1fB0 1nX0 G10 1EL0 Op0 1zb0 Rd0 1wn0 Rd0 46n0 Ap0|40","Antarctica/Rothera|-00 -03|0 30|01|gOo0|130","Antarctica/Syowa|-00 +03|0 -30|01|-vs00|20","Antarctica/Troll|-00 +00 +02|0 0 -20|01212121212121212121212121212121212121212121212121212121212121212121|1puo0 hd0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|40","Antarctica/Vostok|-00 +06|0 -60|01|-tjA0|25","Europe/Oslo|CET CEST|-10 -20|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2awM0 Qm0 W6o0 5pf0 WM0 1fA0 1cM0 1cM0 1cM0 1cM0 wJc0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1qM0 WM0 zpc0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|62e4","Asia/Riyadh|LMT +03|-36.Q -30|01|-TvD6.Q|57e5","Asia/Almaty|LMT +05 +06 +07|-57.M -50 -60 -70|012323232323232323232321232323232323232323232323232|-1Pc57.M eUo7.M 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0|15e5","Asia/Amman|LMT EET EEST|-2n.I -20 -30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1yW2n.I 1HiMn.I KL0 1oN0 11b0 1oN0 11b0 1pd0 1dz0 1cp0 11b0 1op0 11b0 fO10 1db0 1e10 1cL0 1cN0 1cL0 1cN0 1fz0 1pd0 10n0 1ld0 14n0 1hB0 15b0 1ip0 19X0 1cN0 1cL0 1cN0 17b0 1ld0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1So0 y00 1fc0 1dc0 1co0 1dc0 1cM0 1cM0 1cM0 1o00 11A0 1lc0 17c0 1cM0 1cM0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 4bX0 Dd0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0|25e5","Asia/Anadyr|LMT +12 +13 +14 +11|-bN.U -c0 -d0 -e0 -b0|01232121212121212121214121212121212121212121212121212121212141|-1PcbN.U eUnN.U 23CL0 1db0 2q10 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 2sp0 WM0|13e3","Asia/Aqtau|LMT +04 +05 +06|-3l.4 -40 -50 -60|012323232323232323232123232312121212121212121212|-1Pc3l.4 eUnl.4 24PX0 2pX0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0|15e4","Asia/Aqtobe|LMT +04 +05 +06|-3M.E -40 -50 -60|0123232323232323232321232323232323232323232323232|-1Pc3M.E eUnM.E 23CL0 3Db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0|27e4","Asia/Ashgabat|LMT +04 +05 +06|-3R.w -40 -50 -60|0123232323232323232323212|-1Pc3R.w eUnR.w 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0|41e4","Asia/Atyrau|LMT +03 +05 +06 +04|-3r.I -30 -50 -60 -40|01232323232323232323242323232323232324242424242|-1Pc3r.I eUor.I 24PW0 2pX0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 2sp0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0","Asia/Baghdad|BMT +03 +04|-2V.A -30 -40|012121212121212121212121212121212121212121212121212121|-26BeV.A 2ACnV.A 11b0 1cp0 1dz0 1dd0 1db0 1cN0 1cp0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1de0 1dc0 1dc0 1dc0 1cM0 1dc0 1cM0 1dc0 1cM0 1dc0 1dc0 1dc0 1cM0 1dc0 1cM0 1dc0 1cM0 1dc0 1dc0 1dc0 1cM0 1dc0 1cM0 1dc0 1cM0 1dc0 1dc0 1dc0 1cM0 1dc0 1cM0 1dc0 1cM0 1dc0|66e5","Asia/Qatar|LMT +04 +03|-3q.8 -40 -30|012|-21Jfq.8 27BXq.8|96e4","Asia/Baku|LMT +03 +04 +05|-3j.o -30 -40 -50|01232323232323232323232123232323232323232323232323232323232323232|-1Pc3j.o 1jUoj.o WCL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 1cM0 9Je0 1o00 11z0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|27e5","Asia/Bangkok|BMT +07|-6G.4 -70|01|-218SG.4|15e6","Asia/Barnaul|LMT +06 +07 +08|-5z -60 -70 -80|0123232323232323232323212323232321212121212121212121212121212121212|-21S5z pCnz 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 p90 LE0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3rd0","Asia/Beirut|EET EEST|-20 -30|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-21aq0 1on0 1410 1db0 19B0 1in0 1ip0 WL0 1lQp0 11b0 1oN0 11b0 1oN0 11b0 1pd0 11b0 1oN0 11b0 q6N0 En0 1oN0 11b0 1oN0 11b0 1oN0 11b0 1pd0 11b0 1oN0 11b0 1op0 11b0 dA10 17b0 1iN0 17b0 1iN0 17b0 1iN0 17b0 1vB0 SL0 1mp0 13z0 1iN0 17b0 1iN0 17b0 1jd0 12n0 1a10 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0|22e5","Asia/Bishkek|LMT +05 +06 +07|-4W.o -50 -60 -70|012323232323232323232321212121212121212121212121212|-1Pc4W.o eUnW.o 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2e00 1tX0 17b0 1ip0 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1cPu 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0|87e4","Asia/Brunei|LMT +0730 +08|-7D.E -7u -80|012|-1KITD.E gDc9.E|42e4","Asia/Kolkata|MMT IST +0630|-5l.a -5u -6u|012121|-2zOtl.a 1r2LP.a 1un0 HB0 7zX0|15e6","Asia/Chita|LMT +08 +09 +10|-7x.Q -80 -90 -a0|012323232323232323232321232323232323232323232323232323232323232312|-21Q7x.Q pAnx.Q 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3re0|33e4","Asia/Choibalsan|LMT +07 +08 +10 +09|-7C -70 -80 -a0 -90|0123434343434343434343434343434343434343434343424242|-2APHC 2UkoC cKn0 1da0 1dd0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 6hD0 11z0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 3Db0 h1f0 1cJ0 1cP0 1cJ0|38e3","Asia/Shanghai|CST CDT|-80 -90|01010101010101010|-1c1I0 LX0 16p0 1jz0 1Myp0 Rb0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0|23e6","Asia/Colombo|MMT +0530 +06 +0630|-5j.w -5u -60 -6u|01231321|-2zOtj.w 1rFbN.w 1zzu 7Apu 23dz0 11zu n3cu|22e5","Asia/Dhaka|HMT +0630 +0530 +06 +07|-5R.k -6u -5u -60 -70|0121343|-18LFR.k 1unn.k HB0 m6n0 2kxbu 1i00|16e6","Asia/Damascus|LMT EET EEST|-2p.c -20 -30|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-21Jep.c Hep.c 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1xRB0 11X0 1oN0 10L0 1pB0 11b0 1oN0 10L0 1mp0 13X0 1oN0 11b0 1pd0 11b0 1oN0 11b0 1oN0 11b0 1oN0 11b0 1pd0 11b0 1oN0 11b0 1oN0 11b0 1oN0 11b0 1pd0 11b0 1oN0 Nb0 1AN0 Nb0 bcp0 19X0 1gp0 19X0 3ld0 1xX0 Vd0 1Bz0 Sp0 1vX0 10p0 1dz0 1cN0 1cL0 1db0 1db0 1g10 1an0 1ap0 1db0 1fd0 1db0 1cN0 1db0 1dd0 1db0 1cp0 1dz0 1c10 1dX0 1cN0 1db0 1dd0 1db0 1cN0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1db0 1cN0 1db0 1cN0 19z0 1fB0 1qL0 11B0 1on0 Wp0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0|26e5","Asia/Dili|LMT +08 +09|-8m.k -80 -90|01212|-2le8m.k 1dnXm.k 1nfA0 Xld0|19e4","Asia/Dubai|LMT +04|-3F.c -40|01|-21JfF.c|39e5","Asia/Dushanbe|LMT +05 +06 +07|-4z.c -50 -60 -70|012323232323232323232321|-1Pc4z.c eUnz.c 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2hB0|76e4","Asia/Famagusta|LMT EET EEST +03|-2f.M -20 -30 -30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212312121212121212121212121212121212121212121|-1Vc2f.M 2a3cf.M 1cL0 1qp0 Xz0 19B0 19X0 1fB0 1db0 1cp0 1cL0 1fB0 19X0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1o30 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 15U0 2Ks0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","Asia/Gaza|EET EEST IST IDT|-20 -30 -20 -30|010101010101010101010101010101012323232323232323232323232320101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-1c2q0 5Rb0 10r0 1px0 10N0 1pz0 16p0 1jB0 16p0 1jx0 pBd0 Vz0 1oN0 11b0 1oO0 10N0 1pz0 10N0 1pb0 10N0 1pb0 10N0 1pb0 10N0 1pz0 10N0 1pb0 10N0 1pb0 11d0 1oL0 dW0 hfB0 Db0 1fB0 Rb0 npB0 11z0 1C10 IL0 1s10 10n0 1o10 WL0 1zd0 On0 1ld0 11z0 1o10 14n0 1o10 14n0 1nd0 12n0 1nd0 Xz0 1q10 12n0 M10 C00 17c0 1io0 17c0 1io0 17c0 1o00 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 17c0 1io0 18N0 1bz0 19z0 1gp0 1610 1iL0 11z0 1o10 14o0 1lA1 SKX 1xd1 MKX 1AN0 1a00 1fA0 1cL0 1cN0 1nX0 1210 1nz0 1220 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1qL0|18e5","Asia/Hebron|EET EEST IST IDT|-20 -30 -20 -30|01010101010101010101010101010101232323232323232323232323232010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-1c2q0 5Rb0 10r0 1px0 10N0 1pz0 16p0 1jB0 16p0 1jx0 pBd0 Vz0 1oN0 11b0 1oO0 10N0 1pz0 10N0 1pb0 10N0 1pb0 10N0 1pb0 10N0 1pz0 10N0 1pb0 10N0 1pb0 11d0 1oL0 dW0 hfB0 Db0 1fB0 Rb0 npB0 11z0 1C10 IL0 1s10 10n0 1o10 WL0 1zd0 On0 1ld0 11z0 1o10 14n0 1o10 14n0 1nd0 12n0 1nd0 Xz0 1q10 12n0 M10 C00 17c0 1io0 17c0 1io0 17c0 1o00 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 17c0 1io0 18N0 1bz0 19z0 1gp0 1610 1iL0 12L0 1mN0 14o0 1lc0 Tb0 1xd1 MKX bB0 cn0 1cN0 1a00 1fA0 1cL0 1cN0 1nX0 1210 1nz0 1220 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1qL0|25e4","Asia/Ho_Chi_Minh|LMT PLMT +07 +08 +09|-76.E -76.u -70 -80 -90|0123423232|-2yC76.E bK00.a 1h7b6.u 5lz0 18o0 3Oq0 k5b0 aW00 BAM0|90e5","Asia/Hong_Kong|LMT HKT HKST JST|-7A.G -80 -90 -90|0121312121212121212121212121212121212121212121212121212121212121212121|-2CFHA.G 1sEP6.G 1cL0 ylu 93X0 1qQu 1tX0 Rd0 1In0 NB0 1cL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1kL0 14N0 1nX0 U10 1tz0 U10 1wn0 Rd0 1wn0 U10 1tz0 U10 1tz0 U10 1tz0 U10 1wn0 Rd0 1wn0 Rd0 1wn0 U10 1tz0 U10 1tz0 17d0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 s10 1Vz0 1cN0 1cL0 1cN0 1cL0 6fd0 14n0|73e5","Asia/Hovd|LMT +06 +07 +08|-66.A -60 -70 -80|012323232323232323232323232323232323232323232323232|-2APG6.A 2Uko6.A cKn0 1db0 1dd0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 6hD0 11z0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 kEp0 1cJ0 1cP0 1cJ0|81e3","Asia/Irkutsk|IMT +07 +08 +09|-6V.5 -70 -80 -90|01232323232323232323232123232323232323232323232323232323232323232|-21zGV.5 pjXV.5 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|60e4","Europe/Istanbul|IMT EET EEST +04 +03|-1U.U -20 -30 -40 -30|012121212121212121212121212121212121212121212121212121234343434342121212121212121212121212121212121212121212121212121212121212124|-2ogNU.U dzzU.U 11b0 8tB0 1on0 1410 1db0 19B0 1in0 3Rd0 Un0 1oN0 11b0 zSp0 CL0 mN0 1Vz0 1gN0 1pz0 5Rd0 1fz0 1yp0 ML0 1kp0 17b0 1ip0 17b0 1fB0 19X0 1jB0 18L0 1ip0 17z0 qdd0 xX0 3S10 Tz0 dA10 11z0 1o10 11z0 1qN0 11z0 1ze0 11B0 WM0 1qO0 WI0 1nX0 1rB0 10L0 11B0 1in0 17d0 1in0 2pX0 19E0 1fU0 16Q0 1iI0 16Q0 1iI0 1Vd0 pb0 3Kp0 14o0 1de0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1a00 1fA0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WO0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 Xc0 1qo0 WM0 1qM0 11A0 1o00 1200 1nA0 11A0 1tA0 U00 15w0|13e6","Asia/Jakarta|BMT +0720 +0730 +09 +08 WIB|-77.c -7k -7u -90 -80 -70|01232425|-1Q0Tk luM0 mPzO 8vWu 6kpu 4PXu xhcu|31e6","Asia/Jayapura|LMT +09 +0930 WIT|-9m.M -90 -9u -90|0123|-1uu9m.M sMMm.M L4nu|26e4","Asia/Jerusalem|JMT IST IDT IDDT|-2k.E -20 -30 -40|01212121212132121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-26Bek.E SyMk.E 5Rb0 10r0 1px0 10N0 1pz0 16p0 1jB0 16p0 1jx0 3LB0 Em0 or0 1cn0 1dB0 16n0 10O0 1ja0 1tC0 14o0 1cM0 1a00 11A0 1Na0 An0 1MP0 AJ0 1Kp0 LC0 1oo0 Wl0 EQN0 Db0 1fB0 Rb0 npB0 11z0 1C10 IL0 1s10 10n0 1o10 WL0 1zd0 On0 1ld0 11z0 1o10 14n0 1o10 14n0 1nd0 12n0 1nd0 Xz0 1q10 12n0 1hB0 1dX0 1ep0 1aL0 1eN0 17X0 1nf0 11z0 1tB0 19W0 1e10 17b0 1ep0 1gL0 18N0 1fz0 1eN0 17b0 1gq0 1gn0 19d0 1dz0 1c10 17X0 1hB0 1gn0 19d0 1dz0 1c10 17X0 1kp0 1dz0 1c10 1aL0 1eN0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0|81e4","Asia/Kabul|+04 +0430|-40 -4u|01|-10Qs0|46e5","Asia/Kamchatka|LMT +11 +12 +13|-ay.A -b0 -c0 -d0|012323232323232323232321232323232323232323232323232323232323212|-1SLKy.A ivXy.A 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 2sp0 WM0|18e4","Asia/Karachi|LMT +0530 +0630 +05 PKT PKST|-4s.c -5u -6u -50 -50 -60|012134545454|-2xoss.c 1qOKW.c 7zX0 eup0 LqMu 1fy00 1cL0 dK10 11b0 1610 1jX0|24e6","Asia/Urumqi|LMT +06|-5O.k -60|01|-1GgtO.k|32e5","Asia/Kathmandu|LMT +0530 +0545|-5F.g -5u -5J|012|-21JhF.g 2EGMb.g|12e5","Asia/Khandyga|LMT +08 +09 +10 +11|-92.d -80 -90 -a0 -b0|0123232323232323232323212323232323232323232323232343434343434343432|-21Q92.d pAp2.d 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 qK0 yN0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 17V0 7zD0|66e2","Asia/Krasnoyarsk|LMT +06 +07 +08|-6b.q -60 -70 -80|01232323232323232323232123232323232323232323232323232323232323232|-21Hib.q prAb.q 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|10e5","Asia/Kuala_Lumpur|SMT +07 +0720 +0730 +09 +08|-6T.p -70 -7k -7u -90 -80|0123435|-2Bg6T.p 17anT.p l5XE 17bO 8Fyu 1so1u|71e5","Asia/Kuching|LMT +0730 +08 +0820 +09|-7l.k -7u -80 -8k -90|0123232323232323242|-1KITl.k gDbP.k 6ynu AnE 1O0k AnE 1NAk AnE 1NAk AnE 1NAk AnE 1O0k AnE 1NAk AnE pAk 8Fz0|13e4","Asia/Macau|LMT CST CDT|-7y.k -80 -90|012121212121212121212121212121212121212121|-2le80 1XO3u 1wn0 Rd0 1wn0 R9u 1wqu U10 1tz0 TVu 1tz0 17gu 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cJu 1cL0 1cN0 1fz0 1cN0 1cOu 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cJu 1cL0 1cN0 1fz0 1cN0 1cL0|57e4","Asia/Magadan|LMT +10 +11 +12|-a3.c -a0 -b0 -c0|012323232323232323232321232323232323232323232323232323232323232312|-1Pca3.c eUo3.c 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3Cq0|95e3","Asia/Makassar|LMT MMT +08 +09 WITA|-7V.A -7V.A -80 -90 -80|01234|-21JjV.A vfc0 myLV.A 8ML0|15e5","Asia/Manila|+08 +09|-80 -90|010101010|-1kJI0 AL0 cK10 65X0 mXB0 vX0 VK10 1db0|24e6","Asia/Nicosia|LMT EET EEST|-2d.s -20 -30|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1Vc2d.s 2a3cd.s 1cL0 1qp0 Xz0 19B0 19X0 1fB0 1db0 1cp0 1cL0 1fB0 19X0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1o30 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|32e4","Asia/Novokuznetsk|LMT +06 +07 +08|-5M.M -60 -70 -80|012323232323232323232321232323232323232323232323232323232323212|-1PctM.M eULM.M 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 2sp0 WM0|55e4","Asia/Novosibirsk|LMT +06 +07 +08|-5v.E -60 -70 -80|0123232323232323232323212323212121212121212121212121212121212121212|-21Qnv.E pAFv.E 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 ml0 Os0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 4eN0|15e5","Asia/Omsk|LMT +05 +06 +07|-4R.u -50 -60 -70|01232323232323232323232123232323232323232323232323232323232323232|-224sR.u pMLR.u 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|12e5","Asia/Oral|LMT +03 +05 +06 +04|-3p.o -30 -50 -60 -40|01232323232323232424242424242424242424242424242|-1Pc3p.o eUop.o 23CK0 3Db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1fA0 1cM0 1cM0 IM0 1EM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0|27e4","Asia/Pontianak|LMT PMT +0730 +09 +08 WITA WIB|-7h.k -7h.k -7u -90 -80 -80 -70|012324256|-2ua7h.k XE00 munL.k 8Rau 6kpu 4PXu xhcu Wqnu|23e4","Asia/Pyongyang|LMT KST JST KST|-8n -8u -90 -90|012313|-2um8n 97XR 1lTzu 2Onc0 6BAu|29e5","Asia/Qyzylorda|LMT +04 +05 +06|-4l.Q -40 -50 -60|0123232323232323232323232323232323232323232323|-1Pc4l.Q eUol.Q 23CL0 3Db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 3ao0 1EM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0|73e4","Asia/Rangoon|RMT +0630 +09|-6o.L -6u -90|0121|-21Jio.L SmnS.L 7j9u|48e5","Asia/Sakhalin|LMT +09 +11 +12 +10|-9u.M -90 -b0 -c0 -a0|01232323232323232323232423232323232424242424242424242424242424242|-2AGVu.M 1BoMu.M 1qFa0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 2pB0 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3rd0|58e4","Asia/Samarkand|LMT +04 +05 +06|-4r.R -40 -50 -60|01232323232323232323232|-1Pc4r.R eUor.R 23CL0 3Db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0|36e4","Asia/Seoul|LMT KST JST KST KDT KDT|-8r.Q -8u -90 -90 -9u -a0|0123141414141414135353|-2um8r.Q 97XV.Q 1m1zu kKo0 2I0u OL0 1FB0 Rb0 1qN0 TX0 1tB0 TX0 1tB0 TX0 1tB0 TX0 2ap0 12FBu 11A0 1o00 11A0|23e6","Asia/Srednekolymsk|LMT +10 +11 +12|-ae.Q -a0 -b0 -c0|01232323232323232323232123232323232323232323232323232323232323232|-1Pcae.Q eUoe.Q 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|35e2","Asia/Taipei|CST JST CDT|-80 -90 -90|01020202020202020202020202020202020202020|-1iw80 joM0 1yo0 Tz0 1ip0 1jX0 1cN0 11b0 1oN0 11b0 1oN0 11b0 1oN0 11b0 10N0 1BX0 10p0 1pz0 10p0 1pz0 10p0 1db0 1dd0 1db0 1cN0 1db0 1cN0 1db0 1cN0 1db0 1BB0 ML0 1Bd0 ML0 uq10 1db0 1cN0 1db0 97B0 AL0|74e5","Asia/Tashkent|LMT +05 +06 +07|-4B.b -50 -60 -70|012323232323232323232321|-1Pc4B.b eUnB.b 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0|23e5","Asia/Tbilisi|TBMT +03 +04 +05|-2X.b -30 -40 -50|0123232323232323232323212121232323232323232323212|-1Pc2X.b 1jUnX.b WCL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 1cK0 1cL0 1cN0 1cL0 1cN0 2pz0 1cL0 1fB0 3Nz0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 An0 Os0 WM0|11e5","Asia/Tehran|LMT TMT +0330 +04 +05 +0430|-3p.I -3p.I -3u -40 -50 -4u|01234325252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252|-2btDp.I 1d3c0 1huLT.I TXu 1pz0 sN0 vAu 1cL0 1dB0 1en0 pNB0 UL0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 64p0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0|14e6","Asia/Thimphu|LMT +0530 +06|-5W.A -5u -60|012|-Su5W.A 1BGMs.A|79e3","Asia/Tokyo|JST JDT|-90 -a0|010101010|-QJJ0 Rb0 1ld0 14n0 1zd0 On0 1zd0 On0|38e6","Asia/Tomsk|LMT +06 +07 +08|-5D.P -60 -70 -80|0123232323232323232323212323232323232323232323212121212121212121212|-21NhD.P pxzD.P 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 co0 1bB0 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3Qp0|10e5","Asia/Ulaanbaatar|LMT +07 +08 +09|-77.w -70 -80 -90|012323232323232323232323232323232323232323232323232|-2APH7.w 2Uko7.w cKn0 1db0 1dd0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 6hD0 11z0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 kEp0 1cJ0 1cP0 1cJ0|12e5","Asia/Ust-Nera|LMT +08 +09 +12 +11 +10|-9w.S -80 -90 -c0 -b0 -a0|012343434343434343434345434343434343434343434343434343434343434345|-21Q9w.S pApw.S 23CL0 1d90 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 17V0 7zD0|65e2","Asia/Vladivostok|LMT +09 +10 +11|-8L.v -90 -a0 -b0|01232323232323232323232123232323232323232323232323232323232323232|-1SJIL.v itXL.v 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|60e4","Asia/Yakutsk|LMT +08 +09 +10|-8C.W -80 -90 -a0|01232323232323232323232123232323232323232323232323232323232323232|-21Q8C.W pAoC.W 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|28e4","Asia/Yekaterinburg|LMT PMT +04 +05 +06|-42.x -3J.5 -40 -50 -60|012343434343434343434343234343434343434343434343434343434343434343|-2ag42.x 7mQh.s qBvJ.5 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|14e5","Asia/Yerevan|LMT +03 +04 +05|-2W -30 -40 -50|0123232323232323232323212121212323232323232323232323232323232|-1Pc2W 1jUnW WCL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 4RX0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0|13e5","Atlantic/Azores|HMT -02 -01 +00 WET|1S.w 20 10 0 0|01212121212121212121212121212121212121212121232123212321232121212121212121212121212121212121212121232323232323232323232323232323234323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-2ldW0 aPX0 Sp0 LX0 1vc0 Tc0 1uM0 SM0 1vc0 Tc0 1vc0 SM0 1vc0 6600 1co0 3E00 17c0 1fA0 1a00 1io0 1a00 1io0 17c0 3I00 17c0 1cM0 1cM0 3Fc0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Dc0 1tA0 1cM0 1dc0 1400 gL0 IM0 s10 U00 dX0 Rc0 pd0 Rc0 gL0 Oo0 pd0 Rc0 gL0 Oo0 pd0 14o0 1cM0 1cP0 1cM0 1cM0 1cM0 1cM0 1cM0 3Co0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 qIl0 1cM0 1fA0 1cM0 1cM0 1cN0 1cL0 1cN0 1cM0 1cM0 1cM0 1cM0 1cN0 1cL0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cL0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|25e4","Atlantic/Bermuda|LMT AST ADT|4j.i 40 30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1BnRE.G 1LTbE.G 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|65e3","Atlantic/Canary|LMT -01 WET WEST|11.A 10 0 -10|01232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-1UtaW.o XPAW.o 1lAK0 1a10 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|54e4","Atlantic/Cape_Verde|LMT -02 -01|1y.4 20 10|01212|-2ldW0 1eEo0 7zX0 1djf0|50e4","Atlantic/Faroe|LMT WET WEST|r.4 0 -10|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2uSnw.U 2Wgow.U 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|49e3","Atlantic/Madeira|FMT -01 +00 +01 WET WEST|17.A 10 0 -10 0 -10|01212121212121212121212121212121212121212121232123212321232121212121212121212121212121212121212121454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-2ldX0 aPX0 Sp0 LX0 1vc0 Tc0 1uM0 SM0 1vc0 Tc0 1vc0 SM0 1vc0 6600 1co0 3E00 17c0 1fA0 1a00 1io0 1a00 1io0 17c0 3I00 17c0 1cM0 1cM0 3Fc0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Dc0 1tA0 1cM0 1dc0 1400 gL0 IM0 s10 U00 dX0 Rc0 pd0 Rc0 gL0 Oo0 pd0 Rc0 gL0 Oo0 pd0 14o0 1cM0 1cP0 1cM0 1cM0 1cM0 1cM0 1cM0 3Co0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 qIl0 1cM0 1fA0 1cM0 1cM0 1cN0 1cL0 1cN0 1cM0 1cM0 1cM0 1cM0 1cN0 1cL0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|27e4","Atlantic/Reykjavik|LMT -01 +00 GMT|1s 10 0 0|012121212121212121212121212121212121212121212121212121212121212121213|-2uWmw mfaw 1Bd0 ML0 1LB0 Cn0 1LB0 3fX0 C10 HrX0 1cO0 LB0 1EL0 LA0 1C00 Oo0 1wo0 Rc0 1wo0 Rc0 1wo0 Rc0 1zc0 Oo0 1zc0 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1lc0 14o0 1o00 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1o00 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1o00 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1o00 14o0|12e4","Atlantic/South_Georgia|-02|20|0||30","Atlantic/Stanley|SMT -04 -03 -02|3P.o 40 30 20|012121212121212323212121212121212121212121212121212121212121212121212|-2kJw8.A 12bA8.A 19X0 1fB0 19X0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 Cn0 1Cc10 WL0 1qL0 U10 1tz0 2mN0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1tz0 U10 1tz0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1tz0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qN0 U10 1wn0 Rd0 1wn0 U10 1tz0 U10 1tz0 U10 1tz0 U10 1tz0 U10 1wn0 U10 1tz0 U10 1tz0 U10|21e2","Australia/Sydney|AEST AEDT|-a0 -b0|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-293lX xcX 10jd0 yL0 1cN0 1cL0 1fB0 19X0 17c10 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 14o0 1o00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 U00 1qM0 WM0 1tA0 WM0 1tA0 U00 1tA0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 11A0 1o00 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 14o0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0|40e5","Australia/Adelaide|ACST ACDT|-9u -au|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-293lt xcX 10jd0 yL0 1cN0 1cL0 1fB0 19X0 17c10 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 U00 1qM0 WM0 1tA0 WM0 1tA0 U00 1tA0 U00 1tA0 Oo0 1zc0 WM0 1qM0 Rc0 1zc0 U00 1tA0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 14o0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0|11e5","Australia/Brisbane|AEST AEDT|-a0 -b0|01010101010101010|-293lX xcX 10jd0 yL0 1cN0 1cL0 1fB0 19X0 17c10 LA0 H1A0 Oo0 1zc0 Oo0 1zc0 Oo0|20e5","Australia/Broken_Hill|ACST ACDT|-9u -au|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-293lt xcX 10jd0 yL0 1cN0 1cL0 1fB0 19X0 17c10 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 14o0 1o00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 U00 1qM0 WM0 1tA0 WM0 1tA0 U00 1tA0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 14o0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0|18e3","Australia/Currie|AEST AEDT|-a0 -b0|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-29E80 19X0 10jd0 yL0 1cN0 1cL0 1fB0 19X0 17c10 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 11A0 1qM0 WM0 1qM0 Oo0 1zc0 Oo0 1zc0 Oo0 1wo0 WM0 1tA0 WM0 1tA0 U00 1tA0 U00 1tA0 11A0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 11A0 1o00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0|746","Australia/Darwin|ACST ACDT|-9u -au|010101010|-293lt xcX 10jd0 yL0 1cN0 1cL0 1fB0 19X0|12e4","Australia/Eucla|+0845 +0945|-8J -9J|0101010101010101010|-293kI xcX 10jd0 yL0 1cN0 1cL0 1gSp0 Oo0 l5A0 Oo0 iJA0 G00 zU00 IM0 1qM0 11A0 1o00 11A0|368","Australia/Hobart|AEST AEDT|-a0 -b0|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-29E80 19X0 10jd0 yL0 1cN0 1cL0 1fB0 19X0 VfB0 1cM0 1o00 Rc0 1wo0 Rc0 1wo0 U00 1wo0 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 11A0 1qM0 WM0 1qM0 Oo0 1zc0 Oo0 1zc0 Oo0 1wo0 WM0 1tA0 WM0 1tA0 U00 1tA0 U00 1tA0 11A0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 11A0 1o00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0|21e4","Australia/Lord_Howe|AEST +1030 +1130 +11|-a0 -au -bu -b0|0121212121313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313|raC0 1zdu Rb0 1zd0 On0 1zd0 On0 1zd0 On0 1zd0 TXu 1qMu WLu 1tAu WLu 1tAu TXu 1tAu Onu 1zcu Onu 1zcu Onu 1zcu Rbu 1zcu Onu 1zcu Onu 1zcu 11zu 1o0u 11zu 1o0u 11zu 1o0u 11zu 1qMu WLu 11Au 1nXu 1qMu 11zu 1o0u 11zu 1o0u 11zu 1qMu WLu 1qMu 11zu 1o0u WLu 1qMu 14nu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1fzu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu|347","Australia/Lindeman|AEST AEDT|-a0 -b0|010101010101010101010|-293lX xcX 10jd0 yL0 1cN0 1cL0 1fB0 19X0 17c10 LA0 H1A0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0|10","Australia/Melbourne|AEST AEDT|-a0 -b0|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-293lX xcX 10jd0 yL0 1cN0 1cL0 1fB0 19X0 17c10 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 U00 1qM0 WM0 1qM0 11A0 1tA0 U00 1tA0 U00 1tA0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 11A0 1o00 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 14o0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0|39e5","Australia/Perth|AWST AWDT|-80 -90|0101010101010101010|-293jX xcX 10jd0 yL0 1cN0 1cL0 1gSp0 Oo0 l5A0 Oo0 iJA0 G00 zU00 IM0 1qM0 11A0 1o00 11A0|18e5","CET|CET CEST|-10 -20|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1o00 11A0 Qrc0 6i00 WM0 1fA0 1cM0 1cM0 1cM0 16M0 1gMM0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","Pacific/Easter|EMT -07 -06 -05|7h.s 70 60 50|012121212121212121212121212123232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323|-1uSgG.w 1s4IG.w WL0 1zd0 On0 1ip0 11z0 1o10 11z0 1qN0 WL0 1ld0 14n0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 2pA0 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 1cL0 1cN0 11z0 1o10 11z0 1qN0 WL0 1fB0 19X0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1ip0 1fz0 1fB0 11z0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1o10 19X0 1fB0 1nX0 G10 1EL0 Op0 1zb0 Rd0 1wn0 Rd0 46n0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Dd0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Dd0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Dd0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0|30e2","CST6CDT|CST CDT CWT CPT|60 50 50 50|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","EET|EET EEST|-20 -30|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|hDB0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","Europe/Dublin|DMT IST GMT BST IST|p.l -y.D 0 -10 -10|01232323232324242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242|-2ax9y.D Rc0 1fzy.D 14M0 1fc0 1g00 1co0 1dc0 1co0 1oo0 1400 1dc0 19A0 1io0 1io0 WM0 1o00 14o0 1o00 17c0 1io0 17c0 1fA0 1a00 1lc0 17c0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1cM0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1a00 1io0 1qM0 Dc0 g600 14o0 1wo0 17c0 1io0 11A0 1o00 17c0 1fA0 1a00 1fA0 1cM0 1fA0 1a00 17c0 1fA0 1a00 1io0 17c0 1lc0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1a00 1a00 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1tA0 IM0 90o0 U00 1tA0 U00 1tA0 U00 1tA0 U00 1tA0 WM0 1qM0 WM0 1qM0 WM0 1tA0 U00 1tA0 U00 1tA0 11z0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 14o0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|12e5","EST|EST|50|0|","EST5EDT|EST EDT EWT EPT|50 40 40 40|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261t0 1nX0 11B0 1nX0 SgN0 8x40 iv0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","Etc/GMT-0|GMT|0|0|","Etc/GMT-1|+01|-10|0|","Pacific/Port_Moresby|+10|-a0|0||25e4","Pacific/Pohnpei|+11|-b0|0||34e3","Pacific/Tarawa|+12|-c0|0||29e3","Etc/GMT-13|+13|-d0|0|","Etc/GMT-14|+14|-e0|0|","Etc/GMT-2|+02|-20|0|","Etc/GMT-3|+03|-30|0|","Etc/GMT-4|+04|-40|0|","Etc/GMT-5|+05|-50|0|","Etc/GMT-6|+06|-60|0|","Indian/Christmas|+07|-70|0||21e2","Etc/GMT-8|+08|-80|0|","Pacific/Palau|+09|-90|0||21e3","Etc/GMT+1|-01|10|0|","Etc/GMT+10|-10|a0|0|","Etc/GMT+11|-11|b0|0|","Etc/GMT+12|-12|c0|0|","Etc/GMT+3|-03|30|0|","Etc/GMT+4|-04|40|0|","Etc/GMT+5|-05|50|0|","Etc/GMT+6|-06|60|0|","Etc/GMT+7|-07|70|0|","Etc/GMT+8|-08|80|0|","Etc/GMT+9|-09|90|0|","Etc/UCT|UCT|0|0|","Etc/UTC|UTC|0|0|","Europe/Amsterdam|AMT NST +0120 +0020 CEST CET|-j.w -1j.w -1k -k -20 -10|010101010101010101010101010101010101010101012323234545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545|-2aFcj.w 11b0 1iP0 11A0 1io0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1co0 1io0 1yo0 Pc0 1a00 1fA0 1Bc0 Mo0 1tc0 Uo0 1tA0 U00 1uo0 W00 1s00 VA0 1so0 Vc0 1sM0 UM0 1wo0 Rc0 1u00 Wo0 1rA0 W00 1s00 VA0 1sM0 UM0 1w00 fV0 BCX.w 1tA0 U00 1u00 Wo0 1sm0 601k WM0 1fA0 1cM0 1cM0 1cM0 16M0 1gMM0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|16e5","Europe/Andorra|WET CET CEST|0 -10 -20|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-UBA0 1xIN0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|79e3","Europe/Astrakhan|LMT +03 +04 +05|-3c.c -30 -40 -50|012323232323232323212121212121212121212121212121212121212121212|-1Pcrc.c eUMc.c 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1fA0 1cM0 3Co0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3rd0","Europe/Athens|AMT EET EEST CEST CET|-1y.Q -20 -30 -20 -10|012123434121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2a61x.Q CNbx.Q mn0 kU10 9b0 3Es0 Xa0 1fb0 1dd0 k3X0 Nz0 SCp0 1vc0 SO0 1cM0 1a00 1ao0 1fc0 1a10 1fG0 1cg0 1dX0 1bX0 1cQ0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|35e5","Europe/London|GMT BST BDST|0 -10 -20|0101010101010101010101010101010101010101010101010121212121210101210101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2axa0 Rc0 1fA0 14M0 1fc0 1g00 1co0 1dc0 1co0 1oo0 1400 1dc0 19A0 1io0 1io0 WM0 1o00 14o0 1o00 17c0 1io0 17c0 1fA0 1a00 1lc0 17c0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1cM0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1a00 1io0 1qM0 Dc0 2Rz0 Dc0 1zc0 Oo0 1zc0 Rc0 1wo0 17c0 1iM0 FA0 xB0 1fA0 1a00 14o0 bb0 LA0 xB0 Rc0 1wo0 11A0 1o00 17c0 1fA0 1a00 1fA0 1cM0 1fA0 1a00 17c0 1fA0 1a00 1io0 17c0 1lc0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1a00 1a00 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1tA0 IM0 90o0 U00 1tA0 U00 1tA0 U00 1tA0 U00 1tA0 WM0 1qM0 WM0 1qM0 WM0 1tA0 U00 1tA0 U00 1tA0 11z0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 14o0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|10e6","Europe/Belgrade|CET CEST|-10 -20|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-19RC0 3IP0 WM0 1fA0 1cM0 1cM0 1rc0 Qo0 1vmo0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|12e5","Europe/Berlin|CET CEST CEMT|-10 -20 -30|01010101010101210101210101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1o00 11A0 Qrc0 6i00 WM0 1fA0 1cM0 1cM0 1cM0 kL0 Nc0 m10 WM0 1ao0 1cp0 dX0 jz0 Dd0 1io0 17c0 1fA0 1a00 1ehA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|41e5","Europe/Prague|CET CEST GMT|-10 -20 0|01010101010101010201010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1o00 11A0 Qrc0 6i00 WM0 1fA0 1cM0 1cM0 1cM0 1cM0 1qM0 11c0 mp0 xA0 mn0 17c0 1io0 17c0 1fc0 1ao0 1bNc0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|13e5","Europe/Brussels|WET CET CEST WEST|0 -10 -20 -10|0121212103030303030303030303030303030303030303030303212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2ehc0 3zX0 11c0 1iO0 11A0 1o00 11A0 my0 Ic0 1qM0 Rc0 1EM0 UM0 1u00 10o0 1io0 1io0 17c0 1a00 1fA0 1cM0 1cM0 1io0 17c0 1fA0 1a00 1io0 1a30 1io0 17c0 1fA0 1a00 1io0 17c0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Dc0 y00 5Wn0 WM0 1fA0 1cM0 16M0 1iM0 16M0 1C00 Uo0 1eeo0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|21e5","Europe/Bucharest|BMT EET EEST|-1I.o -20 -30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1xApI.o 20LI.o RA0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1Axc0 On0 1fA0 1a10 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cK0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cL0 1cN0 1cL0 1fB0 1nX0 11E0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|19e5","Europe/Budapest|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1ip0 17b0 1op0 1tb0 Q2m0 3Ne0 WM0 1fA0 1cM0 1cM0 1oJ0 1dc0 1030 1fA0 1cM0 1cM0 1cM0 1cM0 1fA0 1a00 1iM0 1fA0 8Ha0 Rb0 1wN0 Rb0 1BB0 Lz0 1C20 LB0 SNX0 1a10 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|17e5","Europe/Zurich|CET CEST|-10 -20|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-19Lc0 11A0 1o00 11A0 1xG10 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|38e4","Europe/Chisinau|CMT BMT EET EEST CEST CET MSK MSD|-1T -1I.o -20 -30 -20 -10 -30 -40|012323232323232323234545467676767676767676767323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-26jdT wGMa.A 20LI.o RA0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 27A0 2en0 39g0 WM0 1fA0 1cM0 V90 1t7z0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 gL0 WO0 1cM0 1cM0 1cK0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1nX0 11D0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|67e4","Europe/Copenhagen|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2azC0 Tz0 VuO0 60q0 WM0 1fA0 1cM0 1cM0 1cM0 S00 1HA0 Nc0 1C00 Dc0 1Nc0 Ao0 1h5A0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|12e5","Europe/Gibraltar|GMT BST BDST CET CEST|0 -10 -20 -10 -20|010101010101010101010101010101010101010101010101012121212121010121010101010101010101034343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343|-2axa0 Rc0 1fA0 14M0 1fc0 1g00 1co0 1dc0 1co0 1oo0 1400 1dc0 19A0 1io0 1io0 WM0 1o00 14o0 1o00 17c0 1io0 17c0 1fA0 1a00 1lc0 17c0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1cM0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1a00 1io0 1qM0 Dc0 2Rz0 Dc0 1zc0 Oo0 1zc0 Rc0 1wo0 17c0 1iM0 FA0 xB0 1fA0 1a00 14o0 bb0 LA0 xB0 Rc0 1wo0 11A0 1o00 17c0 1fA0 1a00 1fA0 1cM0 1fA0 1a00 17c0 1fA0 1a00 1io0 17c0 1lc0 17c0 1fA0 10Jz0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|30e3","Europe/Helsinki|HMT EET EEST|-1D.N -20 -30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1WuND.N OULD.N 1dA0 1xGq0 1cM0 1cM0 1cM0 1cN0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|12e5","Europe/Kaliningrad|CET CEST CET CEST MSK MSD EEST EET +03|-10 -20 -20 -30 -30 -40 -30 -20 -30|0101010101010232454545454545454546767676767676767676767676767676767676767676787|-2aFe0 11d0 1iO0 11A0 1o00 11A0 Qrc0 6i00 WM0 1fA0 1cM0 1cM0 Am0 Lb0 1en0 op0 1pNz0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|44e4","Europe/Kiev|KMT EET MSK CEST CET MSD EEST|-22.4 -20 -30 -20 -10 -40 -30|0123434252525252525252525256161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161|-1Pc22.4 eUo2.4 rnz0 2Hg0 WM0 1fA0 da0 1v4m0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 Db0 3220 1cK0 1cL0 1cN0 1cL0 1cN0 1cL0 1cQ0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|34e5","Europe/Kirov|LMT +03 +04 +05|-3i.M -30 -40 -50|01232323232323232321212121212121212121212121212121212121212121|-22WM0 qH90 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1fA0 1cM0 3Co0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|48e4","Europe/Lisbon|LMT WET WEST WEMT CET CEST|A.J 0 -10 -20 -10 -20|012121212121212121212121212121212121212121212321232123212321212121212121212121212121212121212121214121212121212121212121212121212124545454212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2le00 aPX0 Sp0 LX0 1vc0 Tc0 1uM0 SM0 1vc0 Tc0 1vc0 SM0 1vc0 6600 1co0 3E00 17c0 1fA0 1a00 1io0 1a00 1io0 17c0 3I00 17c0 1cM0 1cM0 3Fc0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Dc0 1tA0 1cM0 1dc0 1400 gL0 IM0 s10 U00 dX0 Rc0 pd0 Rc0 gL0 Oo0 pd0 Rc0 gL0 Oo0 pd0 14o0 1cM0 1cP0 1cM0 1cM0 1cM0 1cM0 1cM0 3Co0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 pvy0 1cM0 1cM0 1fA0 1cM0 1cM0 1cN0 1cL0 1cN0 1cM0 1cM0 1cM0 1cM0 1cN0 1cL0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|27e5","Europe/Luxembourg|LMT CET CEST WET WEST WEST WET|-o.A -10 -20 0 -10 -20 -10|0121212134343434343434343434343434343434343434343434565651212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2DG0o.A t6mo.A TB0 1nX0 Up0 1o20 11A0 rW0 CM0 1qP0 R90 1EO0 UK0 1u20 10m0 1ip0 1in0 17e0 19W0 1fB0 1db0 1cp0 1in0 17d0 1fz0 1a10 1in0 1a10 1in0 17f0 1fA0 1a00 1io0 17c0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Dc0 vA0 60L0 WM0 1fA0 1cM0 17c0 1io0 16M0 1C00 Uo0 1eeo0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|54e4","Europe/Madrid|WET WEST WEMT CET CEST|0 -10 -20 -10 -20|010101010101010101210343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343|-25Td0 19B0 1cL0 1dd0 b1z0 18p0 3HX0 17d0 1fz0 1a10 1io0 1a00 1in0 17d0 iIn0 Hd0 1cL0 bb0 1200 2s20 14n0 5aL0 Mp0 1vz0 17d0 1in0 17d0 1in0 17d0 1in0 17d0 6hX0 11B0 XHX0 1a10 1fz0 1a10 19X0 1cN0 1fz0 1a10 1fC0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|62e5","Europe/Malta|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2arB0 Lz0 1cN0 1db0 1410 1on0 Wp0 1qL0 17d0 1cL0 M3B0 5M20 WM0 1fA0 1co0 17c0 1iM0 16m0 1de0 1lc0 14m0 1lc0 WO0 1qM0 GTW0 On0 1C10 LA0 1C00 LA0 1EM0 LA0 1C00 LA0 1zc0 Oo0 1C00 Oo0 1co0 1cM0 1lA0 Xc0 1qq0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1iN0 19z0 1fB0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|42e4","Europe/Minsk|MMT EET MSK CEST CET MSD EEST +03|-1O -20 -30 -20 -10 -40 -30 -30|01234343252525252525252525261616161616161616161616161616161616161617|-1Pc1O eUnO qNX0 3gQ0 WM0 1fA0 1cM0 Al0 1tsn0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 3Fc0 1cN0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0|19e5","Europe/Monaco|PMT WET WEST WEMT CET CEST|-9.l 0 -10 -20 -10 -20|01212121212121212121212121212121212121212121212121232323232345454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-2nco9.l cNb9.l HA0 19A0 1iM0 11c0 1oo0 Wo0 1rc0 QM0 1EM0 UM0 1u00 10o0 1io0 1wo0 Rc0 1a00 1fA0 1cM0 1cM0 1io0 17c0 1fA0 1a00 1io0 1a00 1io0 17c0 1fA0 1a00 1io0 17c0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Df0 2RV0 11z0 11B0 1ze0 WM0 1fA0 1cM0 1fa0 1aq0 16M0 1ekn0 1cL0 1fC0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|38e3","Europe/Moscow|MMT MMT MST MDST MSD MSK +05 EET EEST MSK|-2u.h -2v.j -3v.j -4v.j -40 -30 -50 -20 -30 -40|012132345464575454545454545454545458754545454545454545454545454545454545454595|-2ag2u.h 2pyW.W 1bA0 11X0 GN0 1Hb0 c4v.j ik0 3DA0 dz0 15A0 c10 2q10 iM10 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cN0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|16e6","Europe/Paris|PMT WET WEST CEST CET WEMT|-9.l 0 -10 -20 -10 -20|0121212121212121212121212121212121212121212121212123434352543434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434|-2nco8.l cNb8.l HA0 19A0 1iM0 11c0 1oo0 Wo0 1rc0 QM0 1EM0 UM0 1u00 10o0 1io0 1wo0 Rc0 1a00 1fA0 1cM0 1cM0 1io0 17c0 1fA0 1a00 1io0 1a00 1io0 17c0 1fA0 1a00 1io0 17c0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Df0 Ik0 5M30 WM0 1fA0 1cM0 Vx0 hB0 1aq0 16M0 1ekn0 1cL0 1fC0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|11e6","Europe/Riga|RMT LST EET MSK CEST CET MSD EEST|-1A.y -2A.y -20 -30 -20 -10 -40 -30|010102345454536363636363636363727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272|-25TzA.y 11A0 1iM0 ko0 gWm0 yDXA.y 2bX0 3fE0 WM0 1fA0 1cM0 1cM0 4m0 1sLy0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cN0 1o00 11A0 1o00 11A0 1qM0 3oo0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|64e4","Europe/Rome|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2arB0 Lz0 1cN0 1db0 1410 1on0 Wp0 1qL0 17d0 1cL0 M3B0 5M20 WM0 1fA0 1cM0 16M0 1iM0 16m0 1de0 1lc0 14m0 1lc0 WO0 1qM0 GTW0 On0 1C10 LA0 1C00 LA0 1EM0 LA0 1C00 LA0 1zc0 Oo0 1C00 Oo0 1C00 LA0 1zc0 Oo0 1C00 LA0 1C00 LA0 1zc0 Oo0 1C00 Oo0 1zc0 Oo0 1fC0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|39e5","Europe/Samara|LMT +03 +04 +05|-3k.k -30 -40 -50|0123232323232323232121232323232323232323232323232323232323212|-22WM0 qH90 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1fA0 2y10 14m0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 2sp0 WM0|12e5","Europe/Saratov|LMT +03 +04 +05|-34.i -30 -40 -50|012323232323232321212121212121212121212121212121212121212121212|-22WM0 qH90 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1cM0 1cM0 1fA0 1cM0 3Co0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 5810","Europe/Simferopol|SMT EET MSK CEST CET MSD EEST MSK|-2g -20 -30 -20 -10 -40 -30 -40|012343432525252525252525252161616525252616161616161616161616161616161616172|-1Pc2g eUog rEn0 2qs0 WM0 1fA0 1cM0 3V0 1u0L0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1Q00 4eL0 1cL0 1cN0 1cL0 1cN0 dX0 WL0 1cN0 1cL0 1fB0 1o30 11B0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11z0 1nW0|33e4","Europe/Sofia|EET CET CEST EEST|-20 -10 -20 -30|01212103030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030|-168L0 WM0 1fA0 1cM0 1cM0 1cN0 1mKH0 1dd0 1fb0 1ap0 1fb0 1a20 1fy0 1a30 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cK0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1nX0 11E0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|12e5","Europe/Stockholm|CET CEST|-10 -20|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2azC0 TB0 2yDe0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|15e5","Europe/Tallinn|TMT CET CEST EET MSK MSD EEST|-1D -10 -20 -20 -30 -40 -30|012103421212454545454545454546363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363|-26oND teD 11A0 1Ta0 4rXl KSLD 2FX0 2Jg0 WM0 1fA0 1cM0 18J0 1sTX0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o10 11A0 1qM0 5QM0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|41e4","Europe/Tirane|LMT CET CEST|-1j.k -10 -20|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2glBj.k 14pcj.k 5LC0 WM0 4M0 1fCK0 10n0 1op0 11z0 1pd0 11z0 1qN0 WL0 1qp0 Xb0 1qp0 Xb0 1qp0 11z0 1lB0 11z0 1qN0 11z0 1iN0 16n0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|42e4","Europe/Ulyanovsk|LMT +03 +04 +05 +02|-3d.A -30 -40 -50 -20|01232323232323232321214121212121212121212121212121212121212121212|-22WM0 qH90 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3rd0","Europe/Uzhgorod|CET CEST MSK MSD EET EEST|-10 -20 -30 -40 -20 -30|010101023232323232323232320454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-1cqL0 6i00 WM0 1fA0 1cM0 1ml0 1Cp0 1r3W0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1Q00 1Nf0 2pw0 1cL0 1cN0 1cL0 1cN0 1cL0 1cQ0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|11e4","Europe/Vienna|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1o00 11A0 3KM0 14o0 LA00 6i00 WM0 1fA0 1cM0 1cM0 1cM0 400 2qM0 1a00 1cM0 1cM0 1io0 17c0 1gHa0 19X0 1cP0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|18e5","Europe/Vilnius|WMT KMT CET EET MSK CEST MSD EEST|-1o -1z.A -10 -20 -30 -20 -40 -30|012324525254646464646464646473737373737373737352537373737373737373737373737373737373737373737373737373737373737373737373|-293do 6ILM.o 1Ooz.A zz0 Mfd0 29W0 3is0 WM0 1fA0 1cM0 LV0 1tgL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11B0 1o00 11A0 1qM0 8io0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|54e4","Europe/Volgograd|LMT +03 +04 +05|-2V.E -30 -40 -50|01232323232323232121212121212121212121212121212121212121212121|-21IqV.E psLV.E 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1cM0 1cM0 1fA0 1cM0 3Co0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|10e5","Europe/Warsaw|WMT CET CEST EET EEST|-1o -10 -20 -20 -30|012121234312121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2ctdo 1LXo 11d0 1iO0 11A0 1o00 11A0 1on0 11A0 6zy0 HWP0 5IM0 WM0 1fA0 1cM0 1dz0 1mL0 1en0 15B0 1aq0 1nA0 11A0 1io0 17c0 1fA0 1a00 iDX0 LA0 1cM0 1cM0 1C00 Oo0 1cM0 1cM0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1C00 LA0 uso0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|17e5","Europe/Zaporozhye|+0220 EET MSK CEST CET MSD EEST|-2k -20 -30 -20 -10 -40 -30|01234342525252525252525252526161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161|-1Pc2k eUok rdb0 2RE0 WM0 1fA0 8m0 1v9a0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cK0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cQ0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|77e4","HST|HST|a0|0|","Indian/Chagos|LMT +05 +06|-4N.E -50 -60|012|-2xosN.E 3AGLN.E|30e2","Indian/Cocos|+0630|-6u|0||596","Indian/Kerguelen|-00 +05|0 -50|01|-MG00|130","Indian/Mahe|LMT +04|-3F.M -40|01|-2yO3F.M|79e3","Indian/Maldives|MMT +05|-4S -50|01|-olgS|35e4","Indian/Mauritius|LMT +04 +05|-3O -40 -50|012121|-2xorO 34unO 14L0 12kr0 11z0|15e4","Indian/Reunion|LMT +04|-3F.Q -40|01|-2mDDF.Q|84e4","Pacific/Kwajalein|+11 -12 +12|-b0 c0 -c0|012|-AX0 W9X0|14e3","MET|MET MEST|-10 -20|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1o00 11A0 Qrc0 6i00 WM0 1fA0 1cM0 1cM0 1cM0 16M0 1gMM0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","MST|MST|70|0|","MST7MDT|MST MDT MWT MPT|70 60 60 60|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261r0 1nX0 11B0 1nX0 SgN0 8x20 ix0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","Pacific/Chatham|+1215 +1245 +1345|-cf -cJ -dJ|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212|-WqAf 1adef IM0 1C00 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1qM0 14o0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1io0 17c0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1io0 17c0 1io0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00|600","Pacific/Apia|LMT -1130 -11 -10 +14 +13|bq.U bu b0 a0 -e0 -d0|01232345454545454545454545454545454545454545454545454545454|-2nDMx.4 1yW03.4 2rRbu 1ff0 1a00 CI0 AQ0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00|37e3","Pacific/Bougainville|+10 +09 +11|-a0 -90 -b0|0102|-16Wy0 7CN0 2MQp0|18e4","Pacific/Efate|LMT +11 +12|-bd.g -b0 -c0|0121212121212121212121|-2l9nd.g 2Szcd.g 1cL0 1oN0 10L0 1fB0 19X0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 Lz0 1Nd0 An0|66e3","Pacific/Enderbury|-12 -11 +13|c0 b0 -d0|012|nIc0 B7X0|1","Pacific/Fakaofo|-11 +13|b0 -d0|01|1Gfn0|483","Pacific/Fiji|LMT +12 +13|-bT.I -c0 -d0|0121212121212121212121212121212121212121212121212121212121212121|-2bUzT.I 3m8NT.I LA0 1EM0 IM0 nJc0 LA0 1o00 Rc0 1wo0 Ao0 1Nc0 Ao0 1Q00 xz0 1SN0 uM0 1SM0 uM0 1VA0 s00 1VA0 s00 1VA0 uM0 1SM0 uM0 1SM0 uM0 1VA0 s00 1VA0 s00 1VA0 s00 1VA0 uM0 1SM0 uM0 1SM0 uM0 1VA0 s00 1VA0 s00 1VA0 uM0 1SM0 uM0 1SM0 uM0 1VA0 s00 1VA0 s00 1VA0 s00 1VA0 uM0 1SM0 uM0 1SM0 uM0|88e4","Pacific/Galapagos|LMT -05 -06|5W.o 50 60|01212|-1yVS1.A 2dTz1.A gNd0 rz0|25e3","Pacific/Gambier|LMT -09|8X.M 90|01|-2jof0.c|125","Pacific/Guadalcanal|LMT +11|-aD.M -b0|01|-2joyD.M|11e4","Pacific/Guam|GST ChST|-a0 -a0|01|1fpq0|17e4","Pacific/Honolulu|HST HDT HST|au 9u a0|010102|-1thLu 8x0 lef0 8Pz0 46p0|37e4","Pacific/Kiritimati|-1040 -10 +14|aE a0 -e0|012|nIaE B7Xk|51e2","Pacific/Kosrae|+11 +12|-b0 -c0|010|-AX0 1bdz0|66e2","Pacific/Majuro|+11 +12|-b0 -c0|01|-AX0|28e3","Pacific/Marquesas|LMT -0930|9i 9u|01|-2joeG|86e2","Pacific/Pago_Pago|LMT SST|bm.M b0|01|-2nDMB.c|37e2","Pacific/Nauru|LMT +1130 +09 +12|-b7.E -bu -90 -c0|01213|-1Xdn7.E PvzB.E 5RCu 1ouJu|10e3","Pacific/Niue|-1120 -1130 -11|bk bu b0|012|-KfME 17y0a|12e2","Pacific/Norfolk|+1112 +1130 +1230 +11|-bc -bu -cu -b0|01213|-Kgbc W01G On0 1COp0|25e4","Pacific/Noumea|LMT +11 +12|-b5.M -b0 -c0|01212121|-2l9n5.M 2EqM5.M xX0 1PB0 yn0 HeP0 Ao0|98e3","Pacific/Pitcairn|-0830 -08|8u 80|01|18Vku|56","Pacific/Rarotonga|-1030 -0930 -10|au 9u a0|012121212121212121212121212|lyWu IL0 1zcu Onu 1zcu Onu 1zcu Rbu 1zcu Onu 1zcu Onu 1zcu Onu 1zcu Onu 1zcu Onu 1zcu Rbu 1zcu Onu 1zcu Onu 1zcu Onu|13e3","Pacific/Tahiti|LMT -10|9W.g a0|01|-2joe1.I|18e4","Pacific/Tongatapu|+1220 +13 +14|-ck -d0 -e0|0121212121|-1aB0k 2n5dk 15A0 1wo0 xz0 1Q10 xz0 zWN0 s00|75e3","PST8PDT|PST PDT PWT PPT|80 70 70 70|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261q0 1nX0 11B0 1nX0 SgN0 8x10 iy0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","WET|WET WEST|0 -10|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|hDB0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00"],"links":["Africa/Abidjan|Africa/Bamako","Africa/Abidjan|Africa/Banjul","Africa/Abidjan|Africa/Conakry","Africa/Abidjan|Africa/Dakar","Africa/Abidjan|Africa/Freetown","Africa/Abidjan|Africa/Lome","Africa/Abidjan|Africa/Nouakchott","Africa/Abidjan|Africa/Ouagadougou","Africa/Abidjan|Africa/Timbuktu","Africa/Abidjan|Atlantic/St_Helena","Africa/Cairo|Egypt","Africa/Johannesburg|Africa/Maseru","Africa/Johannesburg|Africa/Mbabane","Africa/Lagos|Africa/Bangui","Africa/Lagos|Africa/Brazzaville","Africa/Lagos|Africa/Douala","Africa/Lagos|Africa/Kinshasa","Africa/Lagos|Africa/Libreville","Africa/Lagos|Africa/Luanda","Africa/Lagos|Africa/Malabo","Africa/Lagos|Africa/Niamey","Africa/Lagos|Africa/Porto-Novo","Africa/Maputo|Africa/Blantyre","Africa/Maputo|Africa/Bujumbura","Africa/Maputo|Africa/Gaborone","Africa/Maputo|Africa/Harare","Africa/Maputo|Africa/Kigali","Africa/Maputo|Africa/Lubumbashi","Africa/Maputo|Africa/Lusaka","Africa/Nairobi|Africa/Addis_Ababa","Africa/Nairobi|Africa/Asmara","Africa/Nairobi|Africa/Asmera","Africa/Nairobi|Africa/Dar_es_Salaam","Africa/Nairobi|Africa/Djibouti","Africa/Nairobi|Africa/Kampala","Africa/Nairobi|Africa/Mogadishu","Africa/Nairobi|Indian/Antananarivo","Africa/Nairobi|Indian/Comoro","Africa/Nairobi|Indian/Mayotte","Africa/Tripoli|Libya","America/Adak|America/Atka","America/Adak|US/Aleutian","America/Anchorage|US/Alaska","America/Argentina/Buenos_Aires|America/Buenos_Aires","America/Argentina/Catamarca|America/Argentina/ComodRivadavia","America/Argentina/Catamarca|America/Catamarca","America/Argentina/Cordoba|America/Cordoba","America/Argentina/Cordoba|America/Rosario","America/Argentina/Jujuy|America/Jujuy","America/Argentina/Mendoza|America/Mendoza","America/Atikokan|America/Coral_Harbour","America/Chicago|US/Central","America/Curacao|America/Aruba","America/Curacao|America/Kralendijk","America/Curacao|America/Lower_Princes","America/Denver|America/Shiprock","America/Denver|Navajo","America/Denver|US/Mountain","America/Detroit|US/Michigan","America/Edmonton|Canada/Mountain","America/Fort_Wayne|America/Indiana/Indianapolis","America/Fort_Wayne|America/Indianapolis","America/Fort_Wayne|US/East-Indiana","America/Halifax|Canada/Atlantic","America/Havana|Cuba","America/Indiana/Knox|America/Knox_IN","America/Indiana/Knox|US/Indiana-Starke","America/Jamaica|Jamaica","America/Kentucky/Louisville|America/Louisville","America/Los_Angeles|US/Pacific","America/Los_Angeles|US/Pacific-New","America/Manaus|Brazil/West","America/Mazatlan|Mexico/BajaSur","America/Mexico_City|Mexico/General","America/New_York|US/Eastern","America/Noronha|Brazil/DeNoronha","America/Panama|America/Cayman","America/Phoenix|US/Arizona","America/Port_of_Spain|America/Anguilla","America/Port_of_Spain|America/Antigua","America/Port_of_Spain|America/Dominica","America/Port_of_Spain|America/Grenada","America/Port_of_Spain|America/Guadeloupe","America/Port_of_Spain|America/Marigot","America/Port_of_Spain|America/Montserrat","America/Port_of_Spain|America/St_Barthelemy","America/Port_of_Spain|America/St_Kitts","America/Port_of_Spain|America/St_Lucia","America/Port_of_Spain|America/St_Thomas","America/Port_of_Spain|America/St_Vincent","America/Port_of_Spain|America/Tortola","America/Port_of_Spain|America/Virgin","America/Regina|Canada/Saskatchewan","America/Rio_Branco|America/Porto_Acre","America/Rio_Branco|Brazil/Acre","America/Santiago|Chile/Continental","America/Sao_Paulo|Brazil/East","America/St_Johns|Canada/Newfoundland","America/Tijuana|America/Ensenada","America/Tijuana|America/Santa_Isabel","America/Tijuana|Mexico/BajaNorte","America/Toronto|America/Montreal","America/Toronto|Canada/Eastern","America/Vancouver|Canada/Pacific","America/Whitehorse|Canada/Yukon","America/Winnipeg|Canada/Central","Asia/Ashgabat|Asia/Ashkhabad","Asia/Bangkok|Asia/Phnom_Penh","Asia/Bangkok|Asia/Vientiane","Asia/Dhaka|Asia/Dacca","Asia/Dubai|Asia/Muscat","Asia/Ho_Chi_Minh|Asia/Saigon","Asia/Hong_Kong|Hongkong","Asia/Jerusalem|Asia/Tel_Aviv","Asia/Jerusalem|Israel","Asia/Kathmandu|Asia/Katmandu","Asia/Kolkata|Asia/Calcutta","Asia/Kuala_Lumpur|Asia/Singapore","Asia/Kuala_Lumpur|Singapore","Asia/Macau|Asia/Macao","Asia/Makassar|Asia/Ujung_Pandang","Asia/Nicosia|Europe/Nicosia","Asia/Qatar|Asia/Bahrain","Asia/Rangoon|Asia/Yangon","Asia/Riyadh|Asia/Aden","Asia/Riyadh|Asia/Kuwait","Asia/Seoul|ROK","Asia/Shanghai|Asia/Chongqing","Asia/Shanghai|Asia/Chungking","Asia/Shanghai|Asia/Harbin","Asia/Shanghai|PRC","Asia/Taipei|ROC","Asia/Tehran|Iran","Asia/Thimphu|Asia/Thimbu","Asia/Tokyo|Japan","Asia/Ulaanbaatar|Asia/Ulan_Bator","Asia/Urumqi|Asia/Kashgar","Atlantic/Faroe|Atlantic/Faeroe","Atlantic/Reykjavik|Iceland","Atlantic/South_Georgia|Etc/GMT+2","Australia/Adelaide|Australia/South","Australia/Brisbane|Australia/Queensland","Australia/Broken_Hill|Australia/Yancowinna","Australia/Darwin|Australia/North","Australia/Hobart|Australia/Tasmania","Australia/Lord_Howe|Australia/LHI","Australia/Melbourne|Australia/Victoria","Australia/Perth|Australia/West","Australia/Sydney|Australia/ACT","Australia/Sydney|Australia/Canberra","Australia/Sydney|Australia/NSW","Etc/GMT-0|Etc/GMT","Etc/GMT-0|Etc/GMT+0","Etc/GMT-0|Etc/GMT0","Etc/GMT-0|Etc/Greenwich","Etc/GMT-0|GMT","Etc/GMT-0|GMT+0","Etc/GMT-0|GMT-0","Etc/GMT-0|GMT0","Etc/GMT-0|Greenwich","Etc/UCT|UCT","Etc/UTC|Etc/Universal","Etc/UTC|Etc/Zulu","Etc/UTC|UTC","Etc/UTC|Universal","Etc/UTC|Zulu","Europe/Belgrade|Europe/Ljubljana","Europe/Belgrade|Europe/Podgorica","Europe/Belgrade|Europe/Sarajevo","Europe/Belgrade|Europe/Skopje","Europe/Belgrade|Europe/Zagreb","Europe/Chisinau|Europe/Tiraspol","Europe/Dublin|Eire","Europe/Helsinki|Europe/Mariehamn","Europe/Istanbul|Asia/Istanbul","Europe/Istanbul|Turkey","Europe/Lisbon|Portugal","Europe/London|Europe/Belfast","Europe/London|Europe/Guernsey","Europe/London|Europe/Isle_of_Man","Europe/London|Europe/Jersey","Europe/London|GB","Europe/London|GB-Eire","Europe/Moscow|W-SU","Europe/Oslo|Arctic/Longyearbyen","Europe/Oslo|Atlantic/Jan_Mayen","Europe/Prague|Europe/Bratislava","Europe/Rome|Europe/San_Marino","Europe/Rome|Europe/Vatican","Europe/Warsaw|Poland","Europe/Zurich|Europe/Busingen","Europe/Zurich|Europe/Vaduz","Indian/Christmas|Etc/GMT-7","Pacific/Auckland|Antarctica/McMurdo","Pacific/Auckland|Antarctica/South_Pole","Pacific/Auckland|NZ","Pacific/Chatham|NZ-CHAT","Pacific/Easter|Chile/EasterIsland","Pacific/Guam|Pacific/Saipan","Pacific/Honolulu|Pacific/Johnston","Pacific/Honolulu|US/Hawaii","Pacific/Kwajalein|Kwajalein","Pacific/Pago_Pago|Pacific/Midway","Pacific/Pago_Pago|Pacific/Samoa","Pacific/Pago_Pago|US/Samoa","Pacific/Palau|Etc/GMT-9","Pacific/Pohnpei|Etc/GMT-11","Pacific/Pohnpei|Pacific/Ponape","Pacific/Port_Moresby|Etc/GMT-10","Pacific/Port_Moresby|Pacific/Chuuk","Pacific/Port_Moresby|Pacific/Truk","Pacific/Port_Moresby|Pacific/Yap","Pacific/Tarawa|Etc/GMT-12","Pacific/Tarawa|Pacific/Funafuti","Pacific/Tarawa|Pacific/Wake","Pacific/Tarawa|Pacific/Wallis"]}; /***/ }), -/* 139 */ +/* 145 */ /***/ (function(module, exports, __webpack_require__) { var map = { - "./af": 130, - "./af.js": 130, - "./ar": 129, - "./ar-dz": 128, - "./ar-dz.js": 128, - "./ar-kw": 127, - "./ar-kw.js": 127, - "./ar-ly": 126, - "./ar-ly.js": 126, - "./ar-ma": 125, - "./ar-ma.js": 125, - "./ar-sa": 124, - "./ar-sa.js": 124, - "./ar-tn": 123, - "./ar-tn.js": 123, - "./ar.js": 129, - "./az": 122, - "./az.js": 122, - "./be": 121, - "./be.js": 121, - "./bg": 120, - "./bg.js": 120, - "./bm": 119, - "./bm.js": 119, - "./bn": 118, - "./bn.js": 118, - "./bo": 117, - "./bo.js": 117, - "./br": 116, - "./br.js": 116, - "./bs": 115, - "./bs.js": 115, - "./ca": 114, - "./ca.js": 114, - "./cs": 113, - "./cs.js": 113, - "./cv": 112, - "./cv.js": 112, - "./cy": 111, - "./cy.js": 111, - "./da": 110, - "./da.js": 110, - "./de": 109, - "./de-at": 108, - "./de-at.js": 108, - "./de-ch": 107, - "./de-ch.js": 107, - "./de.js": 109, - "./dv": 106, - "./dv.js": 106, - "./el": 105, - "./el.js": 105, - "./en-au": 104, - "./en-au.js": 104, - "./en-ca": 103, - "./en-ca.js": 103, - "./en-gb": 102, - "./en-gb.js": 102, - "./en-ie": 101, - "./en-ie.js": 101, - "./en-il": 100, - "./en-il.js": 100, - "./en-nz": 99, - "./en-nz.js": 99, - "./eo": 98, - "./eo.js": 98, - "./es": 97, - "./es-do": 96, - "./es-do.js": 96, - "./es-us": 95, - "./es-us.js": 95, - "./es.js": 97, - "./et": 94, - "./et.js": 94, - "./eu": 93, - "./eu.js": 93, - "./fa": 92, - "./fa.js": 92, - "./fi": 91, - "./fi.js": 91, - "./fo": 90, - "./fo.js": 90, - "./fr": 89, - "./fr-ca": 88, - "./fr-ca.js": 88, - "./fr-ch": 87, - "./fr-ch.js": 87, - "./fr.js": 89, - "./fy": 86, - "./fy.js": 86, - "./gd": 85, - "./gd.js": 85, - "./gl": 84, - "./gl.js": 84, - "./gom-latn": 83, - "./gom-latn.js": 83, - "./gu": 82, - "./gu.js": 82, - "./he": 81, - "./he.js": 81, - "./hi": 80, - "./hi.js": 80, - "./hr": 79, - "./hr.js": 79, - "./hu": 78, - "./hu.js": 78, - "./hy-am": 77, - "./hy-am.js": 77, - "./id": 76, - "./id.js": 76, - "./is": 75, - "./is.js": 75, - "./it": 74, - "./it.js": 74, - "./ja": 73, - "./ja.js": 73, - "./jv": 72, - "./jv.js": 72, - "./ka": 71, - "./ka.js": 71, - "./kk": 70, - "./kk.js": 70, - "./km": 69, - "./km.js": 69, - "./kn": 68, - "./kn.js": 68, - "./ko": 67, - "./ko.js": 67, - "./ky": 66, - "./ky.js": 66, - "./lb": 65, - "./lb.js": 65, - "./lo": 64, - "./lo.js": 64, - "./lt": 63, - "./lt.js": 63, - "./lv": 62, - "./lv.js": 62, - "./me": 61, - "./me.js": 61, - "./mi": 60, - "./mi.js": 60, - "./mk": 59, - "./mk.js": 59, - "./ml": 58, - "./ml.js": 58, - "./mn": 57, - "./mn.js": 57, - "./mr": 56, - "./mr.js": 56, - "./ms": 55, - "./ms-my": 54, - "./ms-my.js": 54, - "./ms.js": 55, - "./mt": 53, - "./mt.js": 53, - "./my": 52, - "./my.js": 52, - "./nb": 51, - "./nb.js": 51, - "./ne": 50, - "./ne.js": 50, - "./nl": 49, - "./nl-be": 48, - "./nl-be.js": 48, - "./nl.js": 49, - "./nn": 47, - "./nn.js": 47, - "./pa-in": 46, - "./pa-in.js": 46, - "./pl": 45, - "./pl.js": 45, - "./pt": 44, - "./pt-br": 43, - "./pt-br.js": 43, - "./pt.js": 44, - "./ro": 42, - "./ro.js": 42, - "./ru": 41, - "./ru.js": 41, - "./sd": 40, - "./sd.js": 40, - "./se": 39, - "./se.js": 39, - "./si": 38, - "./si.js": 38, - "./sk": 37, - "./sk.js": 37, - "./sl": 36, - "./sl.js": 36, - "./sq": 35, - "./sq.js": 35, - "./sr": 34, - "./sr-cyrl": 33, - "./sr-cyrl.js": 33, - "./sr.js": 34, - "./ss": 32, - "./ss.js": 32, - "./sv": 31, - "./sv.js": 31, - "./sw": 30, - "./sw.js": 30, - "./ta": 29, - "./ta.js": 29, - "./te": 28, - "./te.js": 28, - "./tet": 27, - "./tet.js": 27, - "./tg": 26, - "./tg.js": 26, - "./th": 25, - "./th.js": 25, - "./tl-ph": 24, - "./tl-ph.js": 24, - "./tlh": 23, - "./tlh.js": 23, - "./tr": 22, - "./tr.js": 22, - "./tzl": 21, - "./tzl.js": 21, - "./tzm": 20, - "./tzm-latn": 19, - "./tzm-latn.js": 19, - "./tzm.js": 20, - "./ug-cn": 18, - "./ug-cn.js": 18, - "./uk": 17, - "./uk.js": 17, - "./ur": 16, - "./ur.js": 16, - "./uz": 15, - "./uz-latn": 14, - "./uz-latn.js": 14, - "./uz.js": 15, - "./vi": 13, - "./vi.js": 13, - "./x-pseudo": 12, - "./x-pseudo.js": 12, - "./yo": 11, - "./yo.js": 11, - "./zh-cn": 10, - "./zh-cn.js": 10, - "./zh-hk": 9, - "./zh-hk.js": 9, - "./zh-tw": 8, - "./zh-tw.js": 8 + "./af": 133, + "./af.js": 133, + "./ar": 132, + "./ar-dz": 131, + "./ar-dz.js": 131, + "./ar-kw": 130, + "./ar-kw.js": 130, + "./ar-ly": 129, + "./ar-ly.js": 129, + "./ar-ma": 128, + "./ar-ma.js": 128, + "./ar-sa": 127, + "./ar-sa.js": 127, + "./ar-tn": 126, + "./ar-tn.js": 126, + "./ar.js": 132, + "./az": 125, + "./az.js": 125, + "./be": 124, + "./be.js": 124, + "./bg": 123, + "./bg.js": 123, + "./bm": 122, + "./bm.js": 122, + "./bn": 121, + "./bn.js": 121, + "./bo": 120, + "./bo.js": 120, + "./br": 119, + "./br.js": 119, + "./bs": 118, + "./bs.js": 118, + "./ca": 117, + "./ca.js": 117, + "./cs": 116, + "./cs.js": 116, + "./cv": 115, + "./cv.js": 115, + "./cy": 114, + "./cy.js": 114, + "./da": 113, + "./da.js": 113, + "./de": 112, + "./de-at": 111, + "./de-at.js": 111, + "./de-ch": 110, + "./de-ch.js": 110, + "./de.js": 112, + "./dv": 109, + "./dv.js": 109, + "./el": 108, + "./el.js": 108, + "./en-au": 107, + "./en-au.js": 107, + "./en-ca": 106, + "./en-ca.js": 106, + "./en-gb": 105, + "./en-gb.js": 105, + "./en-ie": 104, + "./en-ie.js": 104, + "./en-il": 103, + "./en-il.js": 103, + "./en-nz": 102, + "./en-nz.js": 102, + "./eo": 101, + "./eo.js": 101, + "./es": 100, + "./es-do": 99, + "./es-do.js": 99, + "./es-us": 98, + "./es-us.js": 98, + "./es.js": 100, + "./et": 97, + "./et.js": 97, + "./eu": 96, + "./eu.js": 96, + "./fa": 95, + "./fa.js": 95, + "./fi": 94, + "./fi.js": 94, + "./fo": 93, + "./fo.js": 93, + "./fr": 92, + "./fr-ca": 91, + "./fr-ca.js": 91, + "./fr-ch": 90, + "./fr-ch.js": 90, + "./fr.js": 92, + "./fy": 89, + "./fy.js": 89, + "./gd": 88, + "./gd.js": 88, + "./gl": 87, + "./gl.js": 87, + "./gom-latn": 86, + "./gom-latn.js": 86, + "./gu": 85, + "./gu.js": 85, + "./he": 84, + "./he.js": 84, + "./hi": 83, + "./hi.js": 83, + "./hr": 82, + "./hr.js": 82, + "./hu": 81, + "./hu.js": 81, + "./hy-am": 80, + "./hy-am.js": 80, + "./id": 79, + "./id.js": 79, + "./is": 78, + "./is.js": 78, + "./it": 77, + "./it.js": 77, + "./ja": 76, + "./ja.js": 76, + "./jv": 75, + "./jv.js": 75, + "./ka": 74, + "./ka.js": 74, + "./kk": 73, + "./kk.js": 73, + "./km": 72, + "./km.js": 72, + "./kn": 71, + "./kn.js": 71, + "./ko": 70, + "./ko.js": 70, + "./ky": 69, + "./ky.js": 69, + "./lb": 68, + "./lb.js": 68, + "./lo": 67, + "./lo.js": 67, + "./lt": 66, + "./lt.js": 66, + "./lv": 65, + "./lv.js": 65, + "./me": 64, + "./me.js": 64, + "./mi": 63, + "./mi.js": 63, + "./mk": 62, + "./mk.js": 62, + "./ml": 61, + "./ml.js": 61, + "./mn": 60, + "./mn.js": 60, + "./mr": 59, + "./mr.js": 59, + "./ms": 58, + "./ms-my": 57, + "./ms-my.js": 57, + "./ms.js": 58, + "./mt": 56, + "./mt.js": 56, + "./my": 55, + "./my.js": 55, + "./nb": 54, + "./nb.js": 54, + "./ne": 53, + "./ne.js": 53, + "./nl": 52, + "./nl-be": 51, + "./nl-be.js": 51, + "./nl.js": 52, + "./nn": 50, + "./nn.js": 50, + "./pa-in": 49, + "./pa-in.js": 49, + "./pl": 48, + "./pl.js": 48, + "./pt": 47, + "./pt-br": 46, + "./pt-br.js": 46, + "./pt.js": 47, + "./ro": 45, + "./ro.js": 45, + "./ru": 44, + "./ru.js": 44, + "./sd": 43, + "./sd.js": 43, + "./se": 42, + "./se.js": 42, + "./si": 41, + "./si.js": 41, + "./sk": 40, + "./sk.js": 40, + "./sl": 39, + "./sl.js": 39, + "./sq": 38, + "./sq.js": 38, + "./sr": 37, + "./sr-cyrl": 36, + "./sr-cyrl.js": 36, + "./sr.js": 37, + "./ss": 35, + "./ss.js": 35, + "./sv": 34, + "./sv.js": 34, + "./sw": 33, + "./sw.js": 33, + "./ta": 32, + "./ta.js": 32, + "./te": 31, + "./te.js": 31, + "./tet": 30, + "./tet.js": 30, + "./tg": 29, + "./tg.js": 29, + "./th": 28, + "./th.js": 28, + "./tl-ph": 27, + "./tl-ph.js": 27, + "./tlh": 26, + "./tlh.js": 26, + "./tr": 25, + "./tr.js": 25, + "./tzl": 24, + "./tzl.js": 24, + "./tzm": 23, + "./tzm-latn": 22, + "./tzm-latn.js": 22, + "./tzm.js": 23, + "./ug-cn": 21, + "./ug-cn.js": 21, + "./uk": 20, + "./uk.js": 20, + "./ur": 19, + "./ur.js": 19, + "./uz": 18, + "./uz-latn": 17, + "./uz-latn.js": 17, + "./uz.js": 18, + "./vi": 16, + "./vi.js": 16, + "./x-pseudo": 15, + "./x-pseudo.js": 15, + "./yo": 14, + "./yo.js": 14, + "./zh-cn": 13, + "./zh-cn.js": 13, + "./zh-hk": 12, + "./zh-hk.js": 12, + "./zh-tw": 11, + "./zh-tw.js": 11 }; @@ -17503,10 +18689,10 @@ webpackContext.keys = function webpackContextKeys() { }; webpackContext.resolve = webpackContextResolve; module.exports = webpackContext; -webpackContext.id = 139; +webpackContext.id = 145; /***/ }), -/* 140 */ +/* 146 */ /***/ (function(module, exports) { module.exports = function(module) { @@ -17534,7 +18720,7 @@ module.exports = function(module) { /***/ }), -/* 141 */ +/* 147 */ /***/ (function(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;//! moment-timezone.js @@ -18154,15 +19340,15 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ /***/ }), -/* 142 */ +/* 148 */ /***/ (function(module, exports, __webpack_require__) { -var moment = module.exports = __webpack_require__(141); -moment.tz.load(__webpack_require__(138)); +var moment = module.exports = __webpack_require__(147); +moment.tz.load(__webpack_require__(144)); /***/ }), -/* 143 */ +/* 149 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -18176,15 +19362,15 @@ var _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = [ var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; -var _momentTimezone = __webpack_require__(142); +var _momentTimezone = __webpack_require__(148); var _momentTimezone2 = _interopRequireDefault(_momentTimezone); var _each = __webpack_require__(1); -var _stripHtmlTags = __webpack_require__(5); +var _stripHtmlTags = __webpack_require__(8); -var _escapeHtml = __webpack_require__(2); +var _escapeHtml = __webpack_require__(4); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } @@ -18467,87 +19653,7 @@ var destroy = function destroy() {}; exports.default = { render: render, update: update, destroy: destroy }; /***/ }), -/* 144 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.prettyNumber = prettyNumber; -function prettyNumber(input) { - // If it has 3 or fewer sig figs already, just return the number. - var input = Number(input), - sciNo = input.toPrecision(3), - prefix = '', - suffixes = ['', 'k', 'M', 'B', 'T']; - - if (Number(sciNo) == input && String(input).length <= 4) { - return String(input); - } - - if (Math.abs(input) >= 1000000000000000) { - return sciNo; - } - - if (input >= 1 || input <= -1) { - if (input < 0) { - //Pull off the negative side and stash that. - input = -input; - prefix = '-'; - } - return prefix + recurse(input, 0); - } else { - return input.toPrecision(3); - } - - function recurse(input, iteration) { - var input = String(input); - var split = input.split('.'); - // If there's a dot - if (split.length > 1) { - // Keep the left hand side only - input = split[0]; - var rhs = split[1]; - // If the left-hand side is too short, pad until it has 3 digits - if (input.length == 2 && rhs.length > 0) { - // Pad with right-hand side if possible - if (rhs.length > 0) { - input = input + '.' + rhs.charAt(0); - } - // Pad with zeroes if you must - else { - input += '0'; - } - } else if (input.length == 1 && rhs.length > 0) { - input = input + '.' + rhs.charAt(0); - // Pad with right-hand side if possible - if (rhs.length > 1) { - input += rhs.charAt(1); - } - // Pad with zeroes if you must - else { - input += '0'; - } - } - } - var numNumerals = input.length; - // if it has a period, then numNumerals is 1 smaller than the string length: - if (input.split('.').length > 1) { - numNumerals--; - } - if (numNumerals <= 3) { - return String(input) + suffixes[iteration]; - } else { - return recurse(Number(input) / 1000, iteration + 1); - } - } -} - -/***/ }), -/* 145 */ +/* 150 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -18557,9 +19663,9 @@ Object.defineProperty(exports, "__esModule", { value: true }); -var _prettyNumber = __webpack_require__(144); +var _prettyNumber = __webpack_require__(3); -var _escapeHtml = __webpack_require__(2); +var _escapeHtml = __webpack_require__(4); exports.default = { render: function render() { @@ -18635,7 +19741,7 @@ exports.default = { }; /***/ }), -/* 146 */ +/* 151 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -18645,7 +19751,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); -var _escapeHtml = __webpack_require__(2); +var _escapeHtml = __webpack_require__(4); exports.default = { render: function render(text) { @@ -18691,7 +19797,7 @@ exports.default = { }; /***/ }), -/* 147 */ +/* 152 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -18735,10 +19841,10 @@ exports.default = function (d, defaultTitleFormat, defaultValueFormat, color) { return text + ""; }; -var _escapeHtml = __webpack_require__(2); +var _escapeHtml = __webpack_require__(4); /***/ }), -/* 148 */ +/* 153 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -18949,11 +20055,11 @@ exports.default = function (options) { } }; -var _d = __webpack_require__(133); +var _d = __webpack_require__(2); var d3 = _interopRequireWildcard(_d); -var _assertDateString = __webpack_require__(4); +var _assertDateString = __webpack_require__(7); var _assertDateString2 = _interopRequireDefault(_assertDateString); @@ -18962,7 +20068,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } /***/ }), -/* 149 */ +/* 154 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -19001,7 +20107,7 @@ exports.default = function (startDate, endDate) { }; /***/ }), -/* 150 */ +/* 155 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -19071,48 +20177,64 @@ exports.default = function (lib) { return defineC3(); }; -var _c = __webpack_require__(132); +var _c = __webpack_require__(135); var _c2 = _interopRequireDefault(_c); var _each = __webpack_require__(1); -var _extend = __webpack_require__(3); +var _extend = __webpack_require__(6); -var _extendDeep = __webpack_require__(131); +var _extendDeep = __webpack_require__(134); -var _assertDateString = __webpack_require__(4); +var _assertDateString = __webpack_require__(7); var _assertDateString2 = _interopRequireDefault(_assertDateString); -var _defaultDateFormat = __webpack_require__(149); +var _defaultDateFormat = __webpack_require__(154); var _defaultDateFormat2 = _interopRequireDefault(_defaultDateFormat); -var _paginatingLegend = __webpack_require__(148); +var _paginatingLegend = __webpack_require__(153); var _paginatingLegend2 = _interopRequireDefault(_paginatingLegend); -var _tooltipContents = __webpack_require__(147); +var _tooltipContents = __webpack_require__(152); var _tooltipContents2 = _interopRequireDefault(_tooltipContents); -var _message = __webpack_require__(146); +var _message = __webpack_require__(151); var _message2 = _interopRequireDefault(_message); -var _metric = __webpack_require__(145); +var _metric = __webpack_require__(150); var _metric2 = _interopRequireDefault(_metric); -var _table = __webpack_require__(143); +var _table = __webpack_require__(149); var _table2 = _interopRequireDefault(_table); -var _spinner = __webpack_require__(137); +var _spinner = __webpack_require__(143); var _spinner2 = _interopRequireDefault(_spinner); +var _funnel = __webpack_require__(142); + +var _funnel2 = _interopRequireDefault(_funnel); + +var _funnel3d = __webpack_require__(141); + +var _funnel3d2 = _interopRequireDefault(_funnel3d); + +var _horizontalFunnel = __webpack_require__(140); + +var _horizontalFunnel2 = _interopRequireDefault(_horizontalFunnel); + +var _horizontalFunnel3d = __webpack_require__(139); + +var _horizontalFunnel3d2 = _interopRequireDefault(_horizontalFunnel3d); + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } } @@ -19124,7 +20246,11 @@ function defineC3() { message: _message2.default, metric: _metric2.default, table: _table2.default, - spinner: _spinner2.default + spinner: _spinner2.default, + 'funnel': new _funnel2.default(), + 'funnel-3d': new _funnel3d2.default(), + 'horizontal-funnel': new _horizontalFunnel2.default(), + 'horizontal-funnel-3d': new _horizontalFunnel3d2.default() }; var c3Types = [ @@ -19406,7 +20532,7 @@ function bindResizeListener(fn) { } /***/ }), -/* 151 */ +/* 156 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -19426,13 +20552,13 @@ exports.default = function (data) { } }; -var _dataset = __webpack_require__(135); +var _dataset = __webpack_require__(137); var _dataset2 = _interopRequireDefault(_dataset); -var _extend = __webpack_require__(3); +var _extend = __webpack_require__(6); -var _stripHtmlTags = __webpack_require__(5); +var _stripHtmlTags = __webpack_require__(8); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } @@ -19641,13 +20767,13 @@ function getDefaultType(parser) { } /***/ }), -/* 152 */ +/* 157 */ /***/ (function(module) { -module.exports = {"name":"keen-dataviz","description":"Data Visualization SDK for Keen IO","license":"MIT","version":"3.2.4","main":"dist/external_d3_c3/node/keen-dataviz.js","browser":"dist/external_d3_c3/keen-dataviz.js","style":"dist/keen-dataviz.css","scripts":{"start":"concurrently --kill-others \"NODE_ENV=development webpack-dev-server\" \"npm run postcss-watch\"","postcss-watch":"node_modules/postcss-cli/bin/postcss lib/style/keen-dataviz-c3.css -o test/demo/keen-dataviz.css --watch --config postcss.config.js","build":"NODE_ENV=production webpack -p && npm run build:css && NODE_ENV=production OPTIMIZE_MINIMIZE=1 webpack -p && npm run build:css && npm run build:css:min && npm run build:external_d3_c3 && npm run build:external_d3_c3:css && npm run build:external_d3_c3:css:min && npm run build:node","build:css":"node_modules/postcss-cli/bin/postcss lib/style/keen-dataviz-c3.css -o dist/keen-dataviz.css --config postcss.config.js","build:css:min":"OPTIMIZE_MINIMIZE=1 node_modules/postcss-cli/bin/postcss lib/style/keen-dataviz-c3.css -o dist/keen-dataviz.min.css --config postcss.config.js","build:external_d3_c3:css":"node_modules/postcss-cli/bin/postcss lib/style/keen-dataviz.css -o dist/external_d3_c3/keen-dataviz.css --config postcss.config.js","build:external_d3_c3:css:min":"OPTIMIZE_MINIMIZE=1 node_modules/postcss-cli/bin/postcss lib/style/keen-dataviz.css -o dist/external_d3_c3/keen-dataviz.min.css --config postcss.config.js","build:external_d3_c3":"NODE_ENV=production EXTERNAL_D3_C3=1 webpack -p && NODE_ENV=production EXTERNAL_D3_C3=1 OPTIMIZE_MINIMIZE=1 webpack -p","build:node":"TARGET=node NODE_ENV=production EXTERNAL_D3_C3=1 webpack -p","profile":"webpack --profile --json > stats.json","analyze":"webpack-bundle-analyzer stats.json /dist","version":"npm run build && git add .","postversion":"git push && git push --tags","test":"NODE_ENV=test jest","test:watch":"NODE_ENV=test jest --watch"},"repository":{"type":"git","url":"https://github.com/keen/keen-dataviz.js.git"},"bugs":"https://github.com/keen/keen-dataviz.js/issues","author":"Keen.IO (https://keen.io/)","contributors":["Dustin Larimer (https://github.com/dustinlarimer)","Joanne Cheng (https://github.com/joannecheng)","Eric Anderson (https://github.com/aroc)","Joe Wegner (https://github.com/josephwegner)","Sara Falkoff (https://github.com/adamkasprowicz)"],"homepage":"https://keen.io","keywords":["d3","c3","Analytics","Stats","Statistics","Visualization","Visualizations","Data Visualization","Chart","Charts","Charting","Svg","Dataviz","Plots","Graphs","Funnels"],"dependencies":{"c3":"^0.6.12","d3":"^5.4.0","moment-timezone":"^0.5.21","promise-polyfill":"^8.0.0"},"devDependencies":{"autoprefixer":"^8.2.0","babel-loader":"^7.1.4","babel-plugin-transform-es2015-modules-commonjs":"^6.26.2","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-preset-env":"^1.7.0","concurrently":"^3.5.1","cssnano":"^3.10.0","eslint":"^4.19.1","eslint-config-airbnb":"^16.1.0","eslint-loader":"^2.0.0","eslint-plugin-import":"^2.11.0","eslint-plugin-jsx-a11y":"^6.0.3","eslint-plugin-react":"^7.7.0","html-loader":"^0.5.5","html-webpack-plugin":"^3.2.0","jest":"^22.4.3","jest-environment-jsdom-c3":"^2.0.0","nock":"^9.2.6","postcss":"^6.0.21","postcss-cli":"^5.0.0","postcss-color-function":"^4.0.1","postcss-css-variables":"^0.8.1","postcss-cssnext":"^2.4.0","postcss-import":"^8.0.2","postcss-loader":"^2.1.3","precss":"^3.1.2","regenerator-runtime":"^0.11.1","replace-in-file":"^3.4.0","style-loader":"^0.20.3","webpack":"^4.5.0","webpack-bundle-analyzer":"^2.11.1","webpack-cli":"^2.0.13","webpack-dev-server":"^3.1.1","xhr-mock":"^2.3.2"}}; +module.exports = {"name":"keen-dataviz","description":"Data Visualization SDK for Keen IO","license":"MIT","version":"3.3.0","main":"dist/external_d3_c3/node/keen-dataviz.js","browser":"dist/external_d3_c3/keen-dataviz.js","style":"dist/keen-dataviz.css","scripts":{"start":"concurrently --kill-others \"NODE_ENV=development webpack-dev-server\" \"npm run postcss-watch\"","postcss-watch":"node_modules/postcss-cli/bin/postcss lib/style/keen-dataviz-c3.css -o test/demo/keen-dataviz.css --watch --config postcss.config.js","build":"NODE_ENV=production webpack -p && npm run build:css && NODE_ENV=production OPTIMIZE_MINIMIZE=1 webpack -p && npm run build:css && npm run build:css:min && npm run build:external_d3_c3 && npm run build:external_d3_c3:css && npm run build:external_d3_c3:css:min && npm run build:node","build:css":"node_modules/postcss-cli/bin/postcss lib/style/keen-dataviz-c3.css -o dist/keen-dataviz.css --config postcss.config.js","build:css:min":"OPTIMIZE_MINIMIZE=1 node_modules/postcss-cli/bin/postcss lib/style/keen-dataviz-c3.css -o dist/keen-dataviz.min.css --config postcss.config.js","build:external_d3_c3:css":"node_modules/postcss-cli/bin/postcss lib/style/keen-dataviz.css -o dist/external_d3_c3/keen-dataviz.css --config postcss.config.js","build:external_d3_c3:css:min":"OPTIMIZE_MINIMIZE=1 node_modules/postcss-cli/bin/postcss lib/style/keen-dataviz.css -o dist/external_d3_c3/keen-dataviz.min.css --config postcss.config.js","build:external_d3_c3":"NODE_ENV=production EXTERNAL_D3_C3=1 webpack -p && NODE_ENV=production EXTERNAL_D3_C3=1 OPTIMIZE_MINIMIZE=1 webpack -p","build:node":"TARGET=node NODE_ENV=production EXTERNAL_D3_C3=1 webpack -p","profile":"webpack --profile --json > stats.json","analyze":"webpack-bundle-analyzer stats.json /dist","version":"npm run build && git add .","postversion":"git push && git push --tags","test":"NODE_ENV=test jest","test:watch":"NODE_ENV=test jest --watch"},"repository":{"type":"git","url":"https://github.com/keen/keen-dataviz.js.git"},"bugs":"https://github.com/keen/keen-dataviz.js/issues","author":"Keen.IO (https://keen.io/)","contributors":["Dustin Larimer (https://github.com/dustinlarimer)","Joanne Cheng (https://github.com/joannecheng)","Eric Anderson (https://github.com/aroc)","Joe Wegner (https://github.com/josephwegner)","Sara Falkoff (https://github.com/adamkasprowicz)","Dariusz Łacheta (https://github.com/dariuszlacheta)"],"homepage":"https://keen.io","keywords":["d3","c3","Analytics","Stats","Statistics","Visualization","Visualizations","Data Visualization","Chart","Charts","Charting","Svg","Dataviz","Plots","Graphs","Funnels"],"dependencies":{"c3":"^0.6.12","d3":"^5.4.0","moment-timezone":"^0.5.21","promise-polyfill":"^8.0.0"},"devDependencies":{"autoprefixer":"^8.2.0","babel-loader":"^7.1.4","babel-plugin-transform-es2015-modules-commonjs":"^6.26.2","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-preset-env":"^1.7.0","concurrently":"^3.5.1","cssnano":"^3.10.0","eslint":"^4.19.1","eslint-config-airbnb":"^16.1.0","eslint-loader":"^2.0.0","eslint-plugin-import":"^2.11.0","eslint-plugin-jsx-a11y":"^6.0.3","eslint-plugin-react":"^7.7.0","html-loader":"^0.5.5","html-webpack-plugin":"^3.2.0","jest":"^22.4.3","jest-environment-jsdom-c3":"^2.0.0","nock":"^9.2.6","postcss":"^6.0.21","postcss-cli":"^5.0.0","postcss-color-function":"^4.0.1","postcss-css-variables":"^0.8.1","postcss-cssnext":"^2.4.0","postcss-import":"^8.0.2","postcss-loader":"^2.1.3","precss":"^3.1.2","regenerator-runtime":"^0.11.1","replace-in-file":"^3.4.0","style-loader":"^0.20.3","webpack":"^4.5.0","webpack-bundle-analyzer":"^2.11.1","webpack-cli":"^2.0.13","webpack-dev-server":"^3.1.1","xhr-mock":"^2.3.2"}}; /***/ }), -/* 153 */ +/* 158 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -19662,7 +20788,7 @@ function valueAtDeepKey(obj, is, value) { } /***/ }), -/* 154 */ +/* 159 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -19696,7 +20822,7 @@ function flatten(ob) { }; /***/ }), -/* 155 */ +/* 160 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -19709,9 +20835,9 @@ exports.default = initialize; var _each = __webpack_require__(1); -var _flatten = __webpack_require__(154); +var _flatten = __webpack_require__(159); -var _object = __webpack_require__(153); +var _object = __webpack_require__(158); var Dataset = void 0; /* injected */ @@ -19873,7 +20999,7 @@ function parseExtraction() { var names = Object.keys((0, _flatten.flatten)(res.result[0])); if (Dataset) { - if (config.table && config.table.columns) { + if (config && config.table && config.table.columns) { names = config.table.columns; } } @@ -19905,7 +21031,7 @@ var parsers = { }; /***/ }), -/* 156 */ +/* 161 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -19919,11 +21045,11 @@ exports.updateRow = updateRow; var _each = __webpack_require__(1); -var _createNullList = __webpack_require__(6); +var _createNullList = __webpack_require__(9); var _createNullList2 = _interopRequireDefault(_createNullList); -var _append = __webpack_require__(7); +var _append = __webpack_require__(10); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } @@ -20004,7 +21130,7 @@ function updateRow(q, input) { } /***/ }), -/* 157 */ +/* 162 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -20018,7 +21144,7 @@ exports.sortRows = sortRows; var _each = __webpack_require__(1); -var _analyses = __webpack_require__(134); +var _analyses = __webpack_require__(136); var _analyses2 = _interopRequireDefault(_analyses); @@ -20074,7 +21200,7 @@ function sortRows(str, comp) { } /***/ }), -/* 158 */ +/* 163 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -20111,7 +21237,7 @@ function selectRow(q) { } /***/ }), -/* 159 */ +/* 164 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -20125,11 +21251,11 @@ exports.insertRow = insertRow; var _each = __webpack_require__(1); -var _createNullList = __webpack_require__(6); +var _createNullList = __webpack_require__(9); var _createNullList2 = _interopRequireDefault(_createNullList); -var _append = __webpack_require__(7); +var _append = __webpack_require__(10); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } @@ -20213,7 +21339,7 @@ function insertRow(index, str, input) { } /***/ }), -/* 160 */ +/* 165 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -20263,7 +21389,7 @@ function filterRows(fn) { } /***/ }), -/* 161 */ +/* 166 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -20299,7 +21425,7 @@ function deleteRow(q) { } /***/ }), -/* 162 */ +/* 167 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -20314,7 +21440,7 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; -var _dataset = __webpack_require__(135); +var _dataset = __webpack_require__(137); Object.defineProperty(exports, 'Dataset', { enumerable: true, @@ -20323,37 +21449,37 @@ Object.defineProperty(exports, 'Dataset', { } }); -var _d = __webpack_require__(133); +var _d = __webpack_require__(2); var d3 = _interopRequireWildcard(_d); -var _c = __webpack_require__(132); +var _c = __webpack_require__(135); var _c2 = _interopRequireDefault(_c); -var _package = __webpack_require__(152); +var _package = __webpack_require__(157); var _package2 = _interopRequireDefault(_package); -var _data = __webpack_require__(151); +var _data = __webpack_require__(156); var _data2 = _interopRequireDefault(_data); var _each = __webpack_require__(1); -var _assertDateString = __webpack_require__(4); +var _assertDateString = __webpack_require__(7); var _assertDateString2 = _interopRequireDefault(_assertDateString); -var _stripHtmlTags = __webpack_require__(5); +var _stripHtmlTags = __webpack_require__(8); -var _escapeHtml = __webpack_require__(2); +var _escapeHtml = __webpack_require__(4); -var _libraries = __webpack_require__(150); +var _libraries = __webpack_require__(155); var _libraries2 = _interopRequireDefault(_libraries); -var _extendDeep = __webpack_require__(131); +var _extendDeep = __webpack_require__(134); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } @@ -20473,7 +21599,18 @@ var Dataviz = exports.Dataviz = function Dataviz() { }), _defineProperty(_defaultOptions, 'partialIntervalIndicator', { show: undefined, className: 'partial-interval-indicator' - }), _defineProperty(_defaultOptions, 'timezone', 'UTC'), _defineProperty(_defaultOptions, 'table', {}), _defineProperty(_defaultOptions, 'renderOnVisible', false), _defaultOptions); + }), _defineProperty(_defaultOptions, 'timezone', 'UTC'), _defineProperty(_defaultOptions, 'table', {}), _defineProperty(_defaultOptions, 'renderOnVisible', false), _defineProperty(_defaultOptions, 'funnel', { + lines: true, + resultValues: true, + percents: { + show: false, + countingMethod: 'absolute', + decimals: 0 + }, + marginBetweenElements: false, + hover: true, + effect3d: 'both-sides' + }), _defaultOptions); this.config = _extends({}, (0, _extendDeep.extendDeep)(defaultOptions, options)); @@ -21193,15 +22330,15 @@ function domReady(fn) { exports.default = Dataviz; /***/ }), -/* 163 */ +/* 168 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -__webpack_require__(136); +__webpack_require__(138); -var _index = __webpack_require__(162); +var _index = __webpack_require__(167); module.exports = { default: _index.Dataviz, diff --git a/dist/external_d3_c3/node/keen-dataviz.js.map b/dist/external_d3_c3/node/keen-dataviz.js.map index 4268498..41267e5 100644 --- a/dist/external_d3_c3/node/keen-dataviz.js.map +++ b/dist/external_d3_c3/node/keen-dataviz.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap","webpack:///./node_modules/moment/moment.js","webpack:///./lib/utils/each.js","webpack:///./lib/utils/escape-html.js","webpack:///./lib/utils/extend.js","webpack:///./lib/utils/assert-date-string.js","webpack:///./lib/utils/strip-html-tags.js","webpack:///./lib/dataset/utils/create-null-list.js","webpack:///./lib/dataset/modifiers/append.js","webpack:///./node_modules/moment/locale/zh-tw.js","webpack:///./node_modules/moment/locale/zh-hk.js","webpack:///./node_modules/moment/locale/zh-cn.js","webpack:///./node_modules/moment/locale/yo.js","webpack:///./node_modules/moment/locale/x-pseudo.js","webpack:///./node_modules/moment/locale/vi.js","webpack:///./node_modules/moment/locale/uz-latn.js","webpack:///./node_modules/moment/locale/uz.js","webpack:///./node_modules/moment/locale/ur.js","webpack:///./node_modules/moment/locale/uk.js","webpack:///./node_modules/moment/locale/ug-cn.js","webpack:///./node_modules/moment/locale/tzm-latn.js","webpack:///./node_modules/moment/locale/tzm.js","webpack:///./node_modules/moment/locale/tzl.js","webpack:///./node_modules/moment/locale/tr.js","webpack:///./node_modules/moment/locale/tlh.js","webpack:///./node_modules/moment/locale/tl-ph.js","webpack:///./node_modules/moment/locale/th.js","webpack:///./node_modules/moment/locale/tg.js","webpack:///./node_modules/moment/locale/tet.js","webpack:///./node_modules/moment/locale/te.js","webpack:///./node_modules/moment/locale/ta.js","webpack:///./node_modules/moment/locale/sw.js","webpack:///./node_modules/moment/locale/sv.js","webpack:///./node_modules/moment/locale/ss.js","webpack:///./node_modules/moment/locale/sr-cyrl.js","webpack:///./node_modules/moment/locale/sr.js","webpack:///./node_modules/moment/locale/sq.js","webpack:///./node_modules/moment/locale/sl.js","webpack:///./node_modules/moment/locale/sk.js","webpack:///./node_modules/moment/locale/si.js","webpack:///./node_modules/moment/locale/se.js","webpack:///./node_modules/moment/locale/sd.js","webpack:///./node_modules/moment/locale/ru.js","webpack:///./node_modules/moment/locale/ro.js","webpack:///./node_modules/moment/locale/pt-br.js","webpack:///./node_modules/moment/locale/pt.js","webpack:///./node_modules/moment/locale/pl.js","webpack:///./node_modules/moment/locale/pa-in.js","webpack:///./node_modules/moment/locale/nn.js","webpack:///./node_modules/moment/locale/nl-be.js","webpack:///./node_modules/moment/locale/nl.js","webpack:///./node_modules/moment/locale/ne.js","webpack:///./node_modules/moment/locale/nb.js","webpack:///./node_modules/moment/locale/my.js","webpack:///./node_modules/moment/locale/mt.js","webpack:///./node_modules/moment/locale/ms-my.js","webpack:///./node_modules/moment/locale/ms.js","webpack:///./node_modules/moment/locale/mr.js","webpack:///./node_modules/moment/locale/mn.js","webpack:///./node_modules/moment/locale/ml.js","webpack:///./node_modules/moment/locale/mk.js","webpack:///./node_modules/moment/locale/mi.js","webpack:///./node_modules/moment/locale/me.js","webpack:///./node_modules/moment/locale/lv.js","webpack:///./node_modules/moment/locale/lt.js","webpack:///./node_modules/moment/locale/lo.js","webpack:///./node_modules/moment/locale/lb.js","webpack:///./node_modules/moment/locale/ky.js","webpack:///./node_modules/moment/locale/ko.js","webpack:///./node_modules/moment/locale/kn.js","webpack:///./node_modules/moment/locale/km.js","webpack:///./node_modules/moment/locale/kk.js","webpack:///./node_modules/moment/locale/ka.js","webpack:///./node_modules/moment/locale/jv.js","webpack:///./node_modules/moment/locale/ja.js","webpack:///./node_modules/moment/locale/it.js","webpack:///./node_modules/moment/locale/is.js","webpack:///./node_modules/moment/locale/id.js","webpack:///./node_modules/moment/locale/hy-am.js","webpack:///./node_modules/moment/locale/hu.js","webpack:///./node_modules/moment/locale/hr.js","webpack:///./node_modules/moment/locale/hi.js","webpack:///./node_modules/moment/locale/he.js","webpack:///./node_modules/moment/locale/gu.js","webpack:///./node_modules/moment/locale/gom-latn.js","webpack:///./node_modules/moment/locale/gl.js","webpack:///./node_modules/moment/locale/gd.js","webpack:///./node_modules/moment/locale/fy.js","webpack:///./node_modules/moment/locale/fr-ch.js","webpack:///./node_modules/moment/locale/fr-ca.js","webpack:///./node_modules/moment/locale/fr.js","webpack:///./node_modules/moment/locale/fo.js","webpack:///./node_modules/moment/locale/fi.js","webpack:///./node_modules/moment/locale/fa.js","webpack:///./node_modules/moment/locale/eu.js","webpack:///./node_modules/moment/locale/et.js","webpack:///./node_modules/moment/locale/es-us.js","webpack:///./node_modules/moment/locale/es-do.js","webpack:///./node_modules/moment/locale/es.js","webpack:///./node_modules/moment/locale/eo.js","webpack:///./node_modules/moment/locale/en-nz.js","webpack:///./node_modules/moment/locale/en-il.js","webpack:///./node_modules/moment/locale/en-ie.js","webpack:///./node_modules/moment/locale/en-gb.js","webpack:///./node_modules/moment/locale/en-ca.js","webpack:///./node_modules/moment/locale/en-au.js","webpack:///./node_modules/moment/locale/el.js","webpack:///./node_modules/moment/locale/dv.js","webpack:///./node_modules/moment/locale/de-ch.js","webpack:///./node_modules/moment/locale/de-at.js","webpack:///./node_modules/moment/locale/de.js","webpack:///./node_modules/moment/locale/da.js","webpack:///./node_modules/moment/locale/cy.js","webpack:///./node_modules/moment/locale/cv.js","webpack:///./node_modules/moment/locale/cs.js","webpack:///./node_modules/moment/locale/ca.js","webpack:///./node_modules/moment/locale/bs.js","webpack:///./node_modules/moment/locale/br.js","webpack:///./node_modules/moment/locale/bo.js","webpack:///./node_modules/moment/locale/bn.js","webpack:///./node_modules/moment/locale/bm.js","webpack:///./node_modules/moment/locale/bg.js","webpack:///./node_modules/moment/locale/be.js","webpack:///./node_modules/moment/locale/az.js","webpack:///./node_modules/moment/locale/ar-tn.js","webpack:///./node_modules/moment/locale/ar-sa.js","webpack:///./node_modules/moment/locale/ar-ma.js","webpack:///./node_modules/moment/locale/ar-ly.js","webpack:///./node_modules/moment/locale/ar-kw.js","webpack:///./node_modules/moment/locale/ar-dz.js","webpack:///./node_modules/moment/locale/ar.js","webpack:///./node_modules/moment/locale/af.js","webpack:///./lib/utils/extend-deep.js","webpack:///external \"c3\"","webpack:///external \"d3\"","webpack:///./lib/dataset/utils/analyses.js","webpack:///./lib/dataset/index.js","webpack:///./node_modules/promise-polyfill/src/finally.js","webpack:///./node_modules/promise-polyfill/src/index.js","webpack:///./node_modules/promise-polyfill/src/polyfill.js","webpack:///./lib/libraries/default/spinner.js","webpack:///./node_modules/moment/locale sync ^\\.\\/.*$","webpack:///(webpack)/buildin/module.js","webpack:///./node_modules/moment-timezone/moment-timezone.js","webpack:///./node_modules/moment-timezone/index.js","webpack:///./lib/libraries/default/table.js","webpack:///./lib/utils/pretty-number.js","webpack:///./lib/libraries/default/metric.js","webpack:///./lib/libraries/default/message.js","webpack:///./lib/libraries/c3/extensions/tooltip-contents.js","webpack:///./lib/libraries/c3/extensions/paginating-legend.js","webpack:///./lib/libraries/c3/extensions/default-date-format.js","webpack:///./lib/libraries/index.js","webpack:///./lib/data.js","webpack:///./lib/dataset/utils/object.js","webpack:///./lib/dataset/utils/flatten.js","webpack:///./lib/dataset/utils/parsers.js","webpack:///./lib/dataset/modifiers/update.js","webpack:///./lib/dataset/modifiers/sort.js","webpack:///./lib/dataset/modifiers/select.js","webpack:///./lib/dataset/modifiers/insert.js","webpack:///./lib/dataset/modifiers/filter.js","webpack:///./lib/dataset/modifiers/delete.js","webpack:///./lib/index.js","webpack:///./lib/server.js"],"names":["each","o","cb","s","n","Array","length","call","hasOwnProperty","escapeHtml","matchHtmlRegExp","string","str","match","exec","escape","html","index","lastIndex","charCodeAt","substring","extend","target","i","arguments","prop","testObject","testString","input","getTime","isNaN","ISO_8601","test","stripHtmlTags","inputString","replace","len","list","push","appendColumn","appendRow","self","args","prototype","slice","label","undefined","matrix","row","cell","concat","value","String","newRow","col","selectColumn","extendDeep","key","average","arr","start","end","set","sum","avg","val","parseFloat","maximum","nums","Math","max","apply","minimum","min","getColumnAverage","getRowAverage","getColumnSum","getRowSum","getColumnMaximum","getRowMaximum","getColumnMinimum","getRowMinimum","getColumnLabel","getRowIndex","append","del","filter","insert","select","sort","update","Dataset","config","meta","type","data","coords","Error","colIndex","indexOf","rowIndex","colResult","rowResult","selectRow","analyses","parser","render","artifacts","view","_artifacts","spinner","theme","el","innerHTML","destroy","interval","clearInterval","radius","e","defaults","currentPage","_generateTableRows","datavizInstance","dataset","defaultConfig","page","limit","arrows","customConfig","table","pagination","datasetPaginated","pages","ceil","columnsArray","columns","checkArray","mapValues","entries","rowCol","timezone","Date","dateTimeTimezoned","moment","tz","clone","toString","rowColEscaped","pageNumber","prevPage","nextPage","_generateTableHeader","fieldNumber","columnNames","colName","colNameEscaped","isEmpty","msg","mappedMsg","errorMapping","showErrorMessages","message","querySelector","querySelectorAll","forEach","item","addEventListener","event","sortOrder","getAttribute","checker","a","b","sortOrderNumber","nameA","toUpperCase","nameB","setAttribute","first","shift","unshift","attachBtnEventListeners","btn","parseInt","onrendered","prettyNumber","Number","sciNo","toPrecision","prefix","suffixes","abs","recurse","iteration","split","rhs","charAt","numNumerals","color","colors","title","opts","suffix","formattedNum","valueEl","flexDifferenceStyle","resultDifference","differenceStyle","smallerValue","results","previousResults","result","text","outer","document","createElement","inner","titleContainer","notesContainer","className","notes","appendChild","showTitle","d","defaultTitleFormat","defaultValueFormat","nameFormat","tooltip_format_name","name","titleFormat","tooltip_format_title","valueFormat","tooltip_format_value","x","CLASS","tooltip","ratio","id","bgcolor","levelColor","tooltipName","options","cols","chart","c3","domNode","legendConfig","legend","hidden","labels","offset","round","offsetHeight","total","columnsSorted","dataColumnsSorted","columnData","find","column","legendElement","align","position","paginateHorizontalLeftElement","legendItemsElement","paginateVerticalElement","paginateHorizontalRightElement","paginateData","renderLegendComponent","renderPaginationComponent","onPaginated","labelShortened","textMaxLength","legendItem","chartPartId","legendItemColorSample","style","backgroundColor","prepend","tooltipElement","focus","show","pointer","revert","remove","opacity","isHidden","splice","toggle","onLegendRendered","arrowUp","arrowDown","paginate","direction","diff","floor","clearSelectedText","selection","empty","window","getSelection","removeAllRanges","d3","startDate","endDate","timeDiff","months","ms","date","getMonth","getFullYear","getDate","lib","timer","bindResizeListener","clearTimeout","delay","visuals","setTimeout","resize","internal","fn","horizontalDistance","pos","$$","xIndex","axis_rotated","findClosest","values","minDist","point_sensitivity","Infinity","closest","v","isBarType","shape","main","bars","getTargetSelectorSuffix","bar","node","isWithinBar","mouse","dist","defineC3","types","metric","c3Types","getPaddings","element","paddingName","getComputedStyle","getDefaultOptions","ENFORCED_OPTIONS","bindto","pattern","colorMapping","renderingElement","height","titleElement","notesElement","width","offsetWidth","DEFAULT_OPTIONS","size","clearOnRender","removeLegend","axis","rotated","tick","format","dateFormat","culling","stacked","groups","categories","bind","chartTypesWithPartialIntervalIndicator","partialIntervalIndicator","partialResultsRegion","class","regions","contents","c3TooltipContents","valueFormatted","c3CustomTooltipFiltering","c3options","c3CustomDataMapping","hide","generate","c3PaginatingLegend","flush","scope","onresize","attachEvent","parseResponse","response","indexBy","parserArgs","query","selectedParser","metadata","analysis_type","event_collection","filters","group_by","timeframe","steps","display_name","getDefaultTitle","visualization","chart_type","getDefaultType","updateColumn","updateRow","analysis","valueAtDeepKey","obj","is","flatten","ob","toReturn","flatObject","initialize","parsers","parseMetric","res","parseInterval","record","parseGroupedMetric","parseGroupedInterval","group","j","parseDoubleGroupedMetric","rowLabel","parseDoubleGroupedInterval","parseFunnel","parseList","parseExtraction","datasetExtraction","names","Object","keys","iNames","deleteColumn","funnel","extraction","q","sortColumns","sortRows","comp","head","analysesUtilMethods","op","insertColumn","body","insertRow","filterColumns","filterRows","selectedColumn","ri","deleteRow","Dataviz","defaultOptions","showDeprecationWarnings","showLoadingSpinner","container","containerElement","labelMapping","labelMappingRegExp","library","sortGroups","sortIntervals","order","padding","top","point","expand","enabled","r","transition","draggable","multiple","y","convertChartTypes","_prepared","_rendered","prepare","firstVisibilityState","visibilityState","libraries","default","register","actions","method","nodeName","visual","attributes","console","log","chartOptions","domReady","num","setLabels","mapLabels","mapLabelsExec","valueAfterMatching","regExpAndLabel","regExpObj","labelMappingDimension","loader","firstResult","isArray","timeframes","map","resultItem","foundDifferent","JSON","stringify","timeframeItem","resultTimeframe","error","getLabel","firstResultPassed","ds2","returnValue","renderAsPromise","Promise","resolve","reject","customCallback","buildDomWrapper","renderOnVisible","IntersectionObserver","chartVisibleCallback","events","observer","isIntersecting","observe","visibilityChange","msHidden","webkitHidden","handleVisibilityChange","load","once","bool","chartType","parseRawData","parseRequest","version","pkg","chart100percentWide","areachart","barchart","columnchart","linechart","piechart","testDom","readyState","DOMContentLoaded","removeEventListener","module","exports"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,O;ACVA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAK;AACL;AACA;;AAEA;AACA;AACA,yDAAiD,cAAc;AAC/D;;AAEA;AACA;AACA;AACA,mCAA2B,0BAA0B,EAAE;AACvD,yCAAiC,eAAe;AAChD;AACA;AACA;;AAEA;AACA,8DAAsD,+DAA+D;;AAErH;AACA;;;AAGA;AACA;;;;;;;8CCnEA;;AAEA,CAAC;AACD;AACA,aACA;AACA,CAAC,qBAAqB;;AAEtB;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,gBAAgB;AACnC;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA,2BAA2B,SAAS;AACpC;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,uBAAuB,6BAA6B;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,SAAS;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,sBAAsB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C;AAC/C,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,IAAI;AAC/B;;AAEA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,4CAA4C,IAAI;;AAEhD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,gCAAgC;AAChC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,wBAAwB,iCAAiC;AACzD;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,4LAA4L,IAAI;;AAEhM,qEAAqE,IAAI;;AAEzE;;AAEA;;AAEA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,0CAA0C,YAAY;AACtD;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA,uBAAuB,YAAY;AACnC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,8BAA8B;AAC9B,gCAAgC;AAChC,6BAA6B,EAAE,EAAE;AACjC,6BAA6B,EAAE,EAAE;AACjC,kCAAkC,EAAE,EAAE;AACtC,iCAAiC;AACjC,qCAAqC;AACrC,yCAAyC;AACzC,6BAA6B,IAAI,EAAE;AACnC,6BAA6B,IAAI,EAAE;AACnC,kCAAkC,IAAI,EAAE;;AAExC,+BAA+B;AAC/B,oCAAoC;;AAEpC,8CAA8C;AAC9C,qDAAqD;;AAErD,wCAAwC,IAAI,IAAI;;AAEhD;AACA;AACA,2BAA2B,MAAM,wEAAwE,MAAM,mBAAmB,MAAM,qBAAqB,MAAM,EAAE,IAAI;;AAEzK;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA,8CAA8C;AAC9C;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,kBAAkB;AACrC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA,2BAA2B,wBAAwB;AACnD;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,uBAAuB,iBAAiB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,QAAQ;AAC/B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,mBAAmB,QAAQ;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,QAAQ;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,QAAQ;AAC3B;AACA;AACA;AACA,mBAAmB,QAAQ;AAC3B;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,uBAAuB,OAAO;AAC9B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,mBAAmB,OAAO;AAC1B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,OAAO;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,OAAO;AAC1B;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB;AACjB;;AAEA;AACA;AACA;AACA;;;AAGA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,mBAAmB,+BAA+B;AAClD;AACA;;AAEA;AACA,cAAc,OAAO;AACrB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,2CAA2C,EAAE,IAAI,EAAE;AACnD,wCAAwC,EAAE,IAAI,EAAE;;AAEhD;;AAEA;AACA,iCAAiC,EAAE;AACnC,2BAA2B,EAAE;AAC7B,6BAA6B,EAAE;AAC/B,2BAA2B,EAAE;AAC7B,yBAAyB,EAAE,IAAI,EAAE;AACjC,wBAAwB,EAAE;AAC1B,+BAA+B,GAAG;AAClC,yBAAyB,EAAE;AAC3B;AACA,2BAA2B,EAAE,IAAI,EAAE;AACnC,0BAA0B,EAAE,IAAI,EAAE;AAClC,wBAAwB,EAAE;AAC1B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,4CAA4C,OAAO;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD,OAAO;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA,8DAA8D,IAAI,0DAA0D,IAAI,qEAAqE,EAAE;;AAEvM;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,mBAAmB,mBAAmB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,mBAAmB,sBAAsB;AACzC;AACA,sCAAsC;AACtC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,kCAAkC,gBAAgB;AAClD;;AAEA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,oBAAoB;AACvC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,uBAAuB,qBAAqB;AAC5C;AACA;AACA,iCAAiC;AACjC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,6BAA6B;AACtC;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,oBAAoB;AACpB;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,cAAc;AACxC;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA,6DAA6D;AAC7D,yDAAyD;AACzD,+DAA+D;AAC/D,wDAAwD,OAAO;AAC/D,wDAAwD,OAAO;AAC/D,uDAAuD,OAAO;AAC9D,mEAAmE,OAAO;AAC1E,qEAAqE,OAAO;AAC5E;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,mCAAmC,qBAAqB;AACxD,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,mCAAmC,qBAAqB;AACxD,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,wBAAwB;AACxB;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;;;AAGL;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,wBAAwB,mBAAmB;AAC3C;AACA;;AAEA;AACA;AACA;;AAEA,qBAAqB,mBAAmB;AACxC;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,QAAQ;AAC3B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,OAAO;AAC1B;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;;AAEL;;;AAGA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,CAAC;;;;;;;;;;;;;;QCz5IeA,I,GAAAA,I;AAAT,SAASA,IAAT,CAAcC,CAAd,EAAiBC,EAAjB,EAAqBC,CAArB,EAAwB;AAC7B,MAAIC,CAAJ;AACA,MAAI,CAACH,CAAL,EAAQ;AACN,WAAO,CAAP;AACD;AACDE,MAAI,CAACA,CAAD,GAAKF,CAAL,GAASE,CAAb;AACA,MAAIF,aAAaI,KAAjB,EAAwB;AACtB;AACA,SAAKD,IAAI,CAAT,EAAYA,IAAIH,EAAEK,MAAlB,EAA0BF,GAA1B,EAA+B;AAC7B,UAAIF,GAAGK,IAAH,CAAQJ,CAAR,EAAWF,EAAEG,CAAF,CAAX,EAAiBA,CAAjB,EAAoBH,CAApB,MAA2B,KAA/B,EAAsC;AACpC,eAAO,CAAP;AACD;AACF;AACF,GAPD,MAOO;AACL;AACA,SAAKG,CAAL,IAAUH,CAAV,EAAa;AACX,UAAIA,EAAEO,cAAF,CAAiBJ,CAAjB,CAAJ,EAAyB;AACvB,YAAIF,GAAGK,IAAH,CAAQJ,CAAR,EAAWF,EA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KD;;AAEDmC,SAAKM,MAAL,CAAYT,IAAZ,CAAiBe,OAAOH,MAAP,CAActB,KAAd,CAAjB;AACD;;AAED,SAAOa,IAAP;AACD,C;;;;;;AC1FD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACrGD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACrGD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC5GD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,2CAA2C,IAAI;AAC/C;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC1DD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AClED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC7ED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACxDD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACxDD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AChGD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACrJD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACrHD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACxDD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACxDD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,CAAC;;;;;;;;ACxFD,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;AAE5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC5FD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACxHD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC5DD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACjED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AClHD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACjED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,qCAAqC,IAAI;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACvFD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,gCAAgC;AAChC,aAAa;AACb,+BAA+B;AAC/B,aAAa;AACb,kCAAkC;AAClC,aAAa;AACb,kCAAkC;AAClC,aAAa;AACb,+BAA+B;AAC/B,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC/HD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACzDD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACnED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACtFD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC7GD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC7GD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AClED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC3KD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC1JD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACrED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC1DD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AChGD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACpLD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACzED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C;AAC5C,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC3DD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C;AAC5C,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC/DD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC5HD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC1HD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC1DD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACrFD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACrFD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACzHD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC5DD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC3FD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,qCAAqC,IAAI;AACzC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC1DD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AChFD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AChFD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,gDAAgD;AAChD,+CAA+C;AAC/C,8CAA8C;AAC9C,gDAAgD;AAChD,4CAA4C;AAC5C,6CAA6C;AAC7C,6CAA6C;AAC7C,8CAA8C;AAC9C,8CAA8C;AAC9C,+CAA+C;AAC/C,6CAA6C;AAC7C,+CAA+C;AAC/C;AACA;AACA;AACA;AACA,kDAAkD;AAClD,iDAAiD;AACjD,gDAAgD;AAChD,iDAAiD;AACjD,8CAA8C;AAC9C,+CAA+C;AAC/C,+CAA+C;AAC/C,gDAAgD;AAChD,iDAAiD;AACjD,kDAAkD;AAClD,+CAA+C;AAC/C,gDAAgD;AAChD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC9JD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACtGD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC/ED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACxFD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA,uDAAuD,IAAI;AAC3D,6DAA6D,IAAI;AACjE,4DAA4D,IAAI;AAChE,kEAAkE,IAAI;AACtE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC9DD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC9GD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC/FD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACpHD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,yCAAyC,IAAI;AAC7C;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACpED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACtID;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACrFD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,qCAAqC,IAAI;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC/ED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC5HD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,uCAAuC,IAAI;AAC3C;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC5GD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACrFD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,8CAA8C,IAAI,IAAI,IAAI;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACvFD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AChFD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT,qCAAqC,IAAI;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC1FD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,qCAAqC,IAAI;AACzC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACnED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AClID;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AChFD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT,oCAAoC,IAAI,IAAI,IAAI;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC7FD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC5GD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACxJD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC1HD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC/FD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC1HD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,qCAAqC,IAAI;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACzHD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,qCAAqC,IAAI;AACzC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC3ED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,qCAAqC,IAAI;AACzC;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC1ED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACzED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC5ED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACxED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACjFD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC1DD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC3GD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACxGD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AChED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC9ED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,qCAAqC,IAAI;AACzC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACjFD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,qCAAqC,IAAI;AACzC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC1FD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,qCAAqC,IAAI;AACzC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC1FD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACrED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACjED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC5DD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACjED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACjED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC7DD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACjED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;AAE5B;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,gGAAgG;AAC7G;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,iCAAiC;AACjC,gCAAgC;AAChC,gCAAgC;AAChC,+BAA+B;AAC/B;AACA;AACA;AACA,yDAAyD;AACzD;AACA,0DAA0D;AAC1D;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AClGD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACjGD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC1ED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC1ED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC1ED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC1DD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC;AACnC,iBAAiB;AACjB;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC9ED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC7DD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,uBAAuB,QAAQ;AAC/B;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,uBAAuB,QAAQ;AAC/B;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,uBAAuB,QAAQ;AAC/B;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,qCAAqC,IAAI;AACzC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACjLD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACtFD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACrJD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC1GD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACrHD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACrHD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACxDD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACxFD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AClID;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA,+BAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACvGD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACzDD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACtGD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACzDD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACxHD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACzDD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACzDD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACrID;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA,4FAA4F;AAC5F,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;;;;;QCrEee,U,GAAAA,U;;AAFhB;;AAEO,SAASA,UAAT,CAAoBlC,MAApB,EAA4B;AACjC,OAAK,IAAIC,IAAI,CAAb,EAAgBA,IAAIC,UAAUlB,MAA9B,EAAsCiB,GAAtC,EAA2C;AACzC,oBAAKC,UAAUD,CAAV,CAAL,EAAmB,UAASE,IAAT,EAAegC,GAAf,EAAmB;AACpC,UAAM,OAAOnC,OAAOmC,GAAP,CAAP,KAAuB,WAAvB,IAAsC,OAAOhC,IAAP,KAAgB,WAAxD,IACE,QAAOH,OAAOmC,GAAP,CAAP,MAAuB,QAAvB,IAAsC,QAAOhC,IAAP,yCAAOA,IAAP,OAAgB,QADxD,IA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,SAAf,EAA0B4C,MAA1B;AACA,oBAAOI,QAAQhD,SAAf,EAA0B6C,MAA1B;AACA,oBAAOG,QAAQhD,SAAf,EAA0B8C,IAA1B;AACA,oBAAOE,QAAQhD,SAAf,EAA0B+C,MAA1B;AACA,oBAAOC,QAAQhD,SAAf,EAA0B6D,kBAA1B;AACAb,QAAQc,MAAR,GAAiB,uBAAQd,OAAR,CAAjB;;kBAEeA,O;;;;;;;;;;AC9Ef;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;;ACdA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA,+CAA+C,SAAS;AACxD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA,mBAAmB,iBAAiB;AACpC;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA,wCAAwC,SAAS;AACjD;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA,+DAA+D;AAC/D;AACA;;AAEA;;;ACnOA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA,CAAC;AACD;AACA;;;;;;;;;;;;;kBCvBe;AACbe,UAAQ,kBAAU;AAChB,QAAI1F,OAAO,EAAX;AACA,QAAM2F,YAAY,KAAKC,IAAL,CAAUC,UAAV,CAAqBC,OAArB,GAA+B,EAAjD;;AAEA;AACA9F,YAAQ,iBAAiB,KAAK4E,MAAL,CAAYmB,KAA7B,GAAqC,IAA7C;AACA/F,YAAU,uDAAV;AACAA,YAAY,4CAAZ;AACAA,YAAU,QAAV;AACAA,YAAQ,QAAR;AACA,SAAKgG,EAAL,GAAUC,SAAV,GAAsBjG,IAAtB;AACD,GAZY;AAab0E,UAAQ,kBAAU;AAChB;AACA,SAAKgB,MAAL;AACD,GAhBY;AAiBbQ,WAAS,mBAAU;AACjB,QAAI,KAAKN,IAAL,CAAUC,UAAV,CAAqBC,OAAzB,EAAkC;AAChC,UAAI,KAAKF,IAAL,CAAUC,UAAV,CAAqBC,OAArB,CAA6BK,QAAjC,EAA2C;AACzCC,sBAAc,KAAKR,IAAL,CAAUC,UAAV,CAAqBC,OAArB,CAA6BK,QAA3C;AACD;AACD,WAAKP,IAAL,CAAUC,UAAV,CAAqBC,OAArB,CAA6BO,MAA7B,GAAsC,CAAtC;AACA,UAAI;AACF,eAAO,KAAKT,IAAL,CAAUC,UAAV,CAAqBC,OAA5B;AACD,OAFD,CAGA,OAAOQ,CAAP,EAAU;AACR,aAAKV,IAAL,CAAUC,UAAV,CAAqBC,OAArB,GAA+BhE,SAA/B;AACD;AACF;AACD,SAAKkE,EAAL,GAAUC,SAAV,GAAsB,EAAtB;AACD;AA/BY,C;;;;;;;;;;;;ACAf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wB;;;;;;AC7QA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;;;;;;ACrBA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,mDAA8C;AAC9C,EAAE;AACF;AAAA;AAAA;AAAA,qGAA8B;AAC9B,EAAE,QAEF;AACA,CAAC;AACD;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,YAAY;AACZ,YAAY;AACZ,YAAY;AACZ,cAAc;AACd;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,SAAS,kBAAkB;AAC3B;AACA;AACA;;AAEA;AACA,aAAa,uBAAuB;AACpC;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,iBAAiB,kBAAkB;AACnC;AACA;AACA;;AAEA;AACA,iBAAiB,YAAY;AAC7B,mEAAmE;AACnE;;AAEA;AACA;;AAEA;AACA;;AAEA,aAAa,oBAAoB;AACjC;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA,cAAc,mBAAmB;AACjC;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc,SAAS;AACvB;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,kCAAkC,IAAI;AACtC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,aAAa,OAAO;AACpB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,oBAAoB;AACjC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,uBAAuB;AACvB;AACA;;AAEA,aAAa,mBAAmB;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,aAAa,oBAAoB;AACjC;AACA,cAAc,mBAAmB;AACjC;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,aAAa,mBAAmB;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,aAAa,oBAAoB;AACjC;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA,gBAAgB,qBAAqB;AACrC;;AAEA;AACA;AACA,iBAAiB,2BAA2B;AAC5C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;;AAEA;;AAEA;AACA,CAAC;;;;;;;ACpmBD;AACA;;;;;;;;;;;;;;;;;;ACDA;;;;AAEA;;AACA;;AACA;;;;AAEA,IAAMM,WAAW;AACf;;;;;;;AADe,CAAjB;;AAWA,IAAIC,oBAAJ;AACA,SAASC,kBAAT,CAA4BC,eAA5B,EAA6CC,OAA7C,EAAsD;AACpD,MAAI3G,OAAO,EAAX;AACA,MAAM4G,gBAAgB;AACpBC,UAAM,CADc;AAEpBC,WAAO,CAFa;AAGpBC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","file":"node/keen-dataviz.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"c3\"), require(\"d3\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"c3\", \"d3\"], factory);\n\telse {\n\t\tvar a = typeof exports === 'object' ? factory(require(\"c3\"), require(\"d3\")) : factory(root[\"c3\"], root[\"d3\"]);\n\t\tfor(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i];\n\t}\n})(global, function(__WEBPACK_EXTERNAL_MODULE__132__, __WEBPACK_EXTERNAL_MODULE__133__) {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 163);\n","//! moment.js\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n global.moment = factory()\n}(this, (function () { 'use strict';\n\n var hookCallback;\n\n function hooks () {\n return hookCallback.apply(null, arguments);\n }\n\n // This is done to register the method called with moment()\n // without creating circular dependencies.\n function setHookCallback (callback) {\n hookCallback = callback;\n }\n\n function isArray(input) {\n return input instanceof Array || Object.prototype.toString.call(input) === '[object Array]';\n }\n\n function isObject(input) {\n // IE8 will treat undefined and null as object if it wasn't for\n // input != null\n return input != null && Object.prototype.toString.call(input) === '[object Object]';\n }\n\n function isObjectEmpty(obj) {\n if (Object.getOwnPropertyNames) {\n return (Object.getOwnPropertyNames(obj).length === 0);\n } else {\n var k;\n for (k in obj) {\n if (obj.hasOwnProperty(k)) {\n return false;\n }\n }\n return true;\n }\n }\n\n function isUndefined(input) {\n return input === void 0;\n }\n\n function isNumber(input) {\n return typeof input === 'number' || Object.prototype.toString.call(input) === '[object Number]';\n }\n\n function isDate(input) {\n return input instanceof Date || Object.prototype.toString.call(input) === '[object Date]';\n }\n\n function map(arr, fn) {\n var res = [], i;\n for (i = 0; i < arr.length; ++i) {\n res.push(fn(arr[i], i));\n }\n return res;\n }\n\n function hasOwnProp(a, b) {\n return Object.prototype.hasOwnProperty.call(a, b);\n }\n\n function extend(a, b) {\n for (var i in b) {\n if (hasOwnProp(b, i)) {\n a[i] = b[i];\n }\n }\n\n if (hasOwnProp(b, 'toString')) {\n a.toString = b.toString;\n }\n\n if (hasOwnProp(b, 'valueOf')) {\n a.valueOf = b.valueOf;\n }\n\n return a;\n }\n\n function createUTC (input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, true).utc();\n }\n\n function defaultParsingFlags() {\n // We need to deep clone this object.\n return {\n empty : false,\n unusedTokens : [],\n unusedInput : [],\n overflow : -2,\n charsLeftOver : 0,\n nullInput : false,\n invalidMonth : null,\n invalidFormat : false,\n userInvalidated : false,\n iso : false,\n parsedDateParts : [],\n meridiem : null,\n rfc2822 : false,\n weekdayMismatch : false\n };\n }\n\n function getParsingFlags(m) {\n if (m._pf == null) {\n m._pf = defaultParsingFlags();\n }\n return m._pf;\n }\n\n var some;\n if (Array.prototype.some) {\n some = Array.prototype.some;\n } else {\n some = function (fun) {\n var t = Object(this);\n var len = t.length >>> 0;\n\n for (var i = 0; i < len; i++) {\n if (i in t && fun.call(this, t[i], i, t)) {\n return true;\n }\n }\n\n return false;\n };\n }\n\n function isValid(m) {\n if (m._isValid == null) {\n var flags = getParsingFlags(m);\n var parsedParts = some.call(flags.parsedDateParts, function (i) {\n return i != null;\n });\n var isNowValid = !isNaN(m._d.getTime()) &&\n flags.overflow < 0 &&\n !flags.empty &&\n !flags.invalidMonth &&\n !flags.invalidWeekday &&\n !flags.weekdayMismatch &&\n !flags.nullInput &&\n !flags.invalidFormat &&\n !flags.userInvalidated &&\n (!flags.meridiem || (flags.meridiem && parsedParts));\n\n if (m._strict) {\n isNowValid = isNowValid &&\n flags.charsLeftOver === 0 &&\n flags.unusedTokens.length === 0 &&\n flags.bigHour === undefined;\n }\n\n if (Object.isFrozen == null || !Object.isFrozen(m)) {\n m._isValid = isNowValid;\n }\n else {\n return isNowValid;\n }\n }\n return m._isValid;\n }\n\n function createInvalid (flags) {\n var m = createUTC(NaN);\n if (flags != null) {\n extend(getParsingFlags(m), flags);\n }\n else {\n getParsingFlags(m).userInvalidated = true;\n }\n\n return m;\n }\n\n // Plugins that add properties should also add the key here (null value),\n // so we can properly clone ourselves.\n var momentProperties = hooks.momentProperties = [];\n\n function copyConfig(to, from) {\n var i, prop, val;\n\n if (!isUndefined(from._isAMomentObject)) {\n to._isAMomentObject = from._isAMomentObject;\n }\n if (!isUndefined(from._i)) {\n to._i = from._i;\n }\n if (!isUndefined(from._f)) {\n to._f = from._f;\n }\n if (!isUndefined(from._l)) {\n to._l = from._l;\n }\n if (!isUndefined(from._strict)) {\n to._strict = from._strict;\n }\n if (!isUndefined(from._tzm)) {\n to._tzm = from._tzm;\n }\n if (!isUndefined(from._isUTC)) {\n to._isUTC = from._isUTC;\n }\n if (!isUndefined(from._offset)) {\n to._offset = from._offset;\n }\n if (!isUndefined(from._pf)) {\n to._pf = getParsingFlags(from);\n }\n if (!isUndefined(from._locale)) {\n to._locale = from._locale;\n }\n\n if (momentProperties.length > 0) {\n for (i = 0; i < momentProperties.length; i++) {\n prop = momentProperties[i];\n val = from[prop];\n if (!isUndefined(val)) {\n to[prop] = val;\n }\n }\n }\n\n return to;\n }\n\n var updateInProgress = false;\n\n // Moment prototype object\n function Moment(config) {\n copyConfig(this, config);\n this._d = new Date(config._d != null ? config._d.getTime() : NaN);\n if (!this.isValid()) {\n this._d = new Date(NaN);\n }\n // Prevent infinite loop in case updateOffset creates new moment\n // objects.\n if (updateInProgress === false) {\n updateInProgress = true;\n hooks.updateOffset(this);\n updateInProgress = false;\n }\n }\n\n function isMoment (obj) {\n return obj instanceof Moment || (obj != null && obj._isAMomentObject != null);\n }\n\n function absFloor (number) {\n if (number < 0) {\n // -0 -> 0\n return Math.ceil(number) || 0;\n } else {\n return Math.floor(number);\n }\n }\n\n function toInt(argumentForCoercion) {\n var coercedNumber = +argumentForCoercion,\n value = 0;\n\n if (coercedNumber !== 0 && isFinite(coercedNumber)) {\n value = absFloor(coercedNumber);\n }\n\n return value;\n }\n\n // compare two arrays, return the number of differences\n function compareArrays(array1, array2, dontConvert) {\n var len = Math.min(array1.length, array2.length),\n lengthDiff = Math.abs(array1.length - array2.length),\n diffs = 0,\n i;\n for (i = 0; i < len; i++) {\n if ((dontConvert && array1[i] !== array2[i]) ||\n (!dontConvert && toInt(array1[i]) !== toInt(array2[i]))) {\n diffs++;\n }\n }\n return diffs + lengthDiff;\n }\n\n function warn(msg) {\n if (hooks.suppressDeprecationWarnings === false &&\n (typeof console !== 'undefined') && console.warn) {\n console.warn('Deprecation warning: ' + msg);\n }\n }\n\n function deprecate(msg, fn) {\n var firstTime = true;\n\n return extend(function () {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(null, msg);\n }\n if (firstTime) {\n var args = [];\n var arg;\n for (var i = 0; i < arguments.length; i++) {\n arg = '';\n if (typeof arguments[i] === 'object') {\n arg += '\\n[' + i + '] ';\n for (var key in arguments[0]) {\n arg += key + ': ' + arguments[0][key] + ', ';\n }\n arg = arg.slice(0, -2); // Remove trailing comma and space\n } else {\n arg = arguments[i];\n }\n args.push(arg);\n }\n warn(msg + '\\nArguments: ' + Array.prototype.slice.call(args).join('') + '\\n' + (new Error()).stack);\n firstTime = false;\n }\n return fn.apply(this, arguments);\n }, fn);\n }\n\n var deprecations = {};\n\n function deprecateSimple(name, msg) {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(name, msg);\n }\n if (!deprecations[name]) {\n warn(msg);\n deprecations[name] = true;\n }\n }\n\n hooks.suppressDeprecationWarnings = false;\n hooks.deprecationHandler = null;\n\n function isFunction(input) {\n return input instanceof Function || Object.prototype.toString.call(input) === '[object Function]';\n }\n\n function set (config) {\n var prop, i;\n for (i in config) {\n prop = config[i];\n if (isFunction(prop)) {\n this[i] = prop;\n } else {\n this['_' + i] = prop;\n }\n }\n this._config = config;\n // Lenient ordinal parsing accepts just a number in addition to\n // number + (possibly) stuff coming from _dayOfMonthOrdinalParse.\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n this._dayOfMonthOrdinalParseLenient = new RegExp(\n (this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) +\n '|' + (/\\d{1,2}/).source);\n }\n\n function mergeConfigs(parentConfig, childConfig) {\n var res = extend({}, parentConfig), prop;\n for (prop in childConfig) {\n if (hasOwnProp(childConfig, prop)) {\n if (isObject(parentConfig[prop]) && isObject(childConfig[prop])) {\n res[prop] = {};\n extend(res[prop], parentConfig[prop]);\n extend(res[prop], childConfig[prop]);\n } else if (childConfig[prop] != null) {\n res[prop] = childConfig[prop];\n } else {\n delete res[prop];\n }\n }\n }\n for (prop in parentConfig) {\n if (hasOwnProp(parentConfig, prop) &&\n !hasOwnProp(childConfig, prop) &&\n isObject(parentConfig[prop])) {\n // make sure changes to properties don't modify parent config\n res[prop] = extend({}, res[prop]);\n }\n }\n return res;\n }\n\n function Locale(config) {\n if (config != null) {\n this.set(config);\n }\n }\n\n var keys;\n\n if (Object.keys) {\n keys = Object.keys;\n } else {\n keys = function (obj) {\n var i, res = [];\n for (i in obj) {\n if (hasOwnProp(obj, i)) {\n res.push(i);\n }\n }\n return res;\n };\n }\n\n var defaultCalendar = {\n sameDay : '[Today at] LT',\n nextDay : '[Tomorrow at] LT',\n nextWeek : 'dddd [at] LT',\n lastDay : '[Yesterday at] LT',\n lastWeek : '[Last] dddd [at] LT',\n sameElse : 'L'\n };\n\n function calendar (key, mom, now) {\n var output = this._calendar[key] || this._calendar['sameElse'];\n return isFunction(output) ? output.call(mom, now) : output;\n }\n\n var defaultLongDateFormat = {\n LTS : 'h:mm:ss A',\n LT : 'h:mm A',\n L : 'MM/DD/YYYY',\n LL : 'MMMM D, YYYY',\n LLL : 'MMMM D, YYYY h:mm A',\n LLLL : 'dddd, MMMM D, YYYY h:mm A'\n };\n\n function longDateFormat (key) {\n var format = this._longDateFormat[key],\n formatUpper = this._longDateFormat[key.toUpperCase()];\n\n if (format || !formatUpper) {\n return format;\n }\n\n this._longDateFormat[key] = formatUpper.replace(/MMMM|MM|DD|dddd/g, function (val) {\n return val.slice(1);\n });\n\n return this._longDateFormat[key];\n }\n\n var defaultInvalidDate = 'Invalid date';\n\n function invalidDate () {\n return this._invalidDate;\n }\n\n var defaultOrdinal = '%d';\n var defaultDayOfMonthOrdinalParse = /\\d{1,2}/;\n\n function ordinal (number) {\n return this._ordinal.replace('%d', number);\n }\n\n var defaultRelativeTime = {\n future : 'in %s',\n past : '%s ago',\n s : 'a few seconds',\n ss : '%d seconds',\n m : 'a minute',\n mm : '%d minutes',\n h : 'an hour',\n hh : '%d hours',\n d : 'a day',\n dd : '%d days',\n M : 'a month',\n MM : '%d months',\n y : 'a year',\n yy : '%d years'\n };\n\n function relativeTime (number, withoutSuffix, string, isFuture) {\n var output = this._relativeTime[string];\n return (isFunction(output)) ?\n output(number, withoutSuffix, string, isFuture) :\n output.replace(/%d/i, number);\n }\n\n function pastFuture (diff, output) {\n var format = this._relativeTime[diff > 0 ? 'future' : 'past'];\n return isFunction(format) ? format(output) : format.replace(/%s/i, output);\n }\n\n var aliases = {};\n\n function addUnitAlias (unit, shorthand) {\n var lowerCase = unit.toLowerCase();\n aliases[lowerCase] = aliases[lowerCase + 's'] = aliases[shorthand] = unit;\n }\n\n function normalizeUnits(units) {\n return typeof units === 'string' ? aliases[units] || aliases[units.toLowerCase()] : undefined;\n }\n\n function normalizeObjectUnits(inputObject) {\n var normalizedInput = {},\n normalizedProp,\n prop;\n\n for (prop in inputObject) {\n if (hasOwnProp(inputObject, prop)) {\n normalizedProp = normalizeUnits(prop);\n if (normalizedProp) {\n normalizedInput[normalizedProp] = inputObject[prop];\n }\n }\n }\n\n return normalizedInput;\n }\n\n var priorities = {};\n\n function addUnitPriority(unit, priority) {\n priorities[unit] = priority;\n }\n\n function getPrioritizedUnits(unitsObj) {\n var units = [];\n for (var u in unitsObj) {\n units.push({unit: u, priority: priorities[u]});\n }\n units.sort(function (a, b) {\n return a.priority - b.priority;\n });\n return units;\n }\n\n function zeroFill(number, targetLength, forceSign) {\n var absNumber = '' + Math.abs(number),\n zerosToFill = targetLength - absNumber.length,\n sign = number >= 0;\n return (sign ? (forceSign ? '+' : '') : '-') +\n Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) + absNumber;\n }\n\n var formattingTokens = /(\\[[^\\[]*\\])|(\\\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g;\n\n var localFormattingTokens = /(\\[[^\\[]*\\])|(\\\\)?(LTS|LT|LL?L?L?|l{1,4})/g;\n\n var formatFunctions = {};\n\n var formatTokenFunctions = {};\n\n // token: 'M'\n // padded: ['MM', 2]\n // ordinal: 'Mo'\n // callback: function () { this.month() + 1 }\n function addFormatToken (token, padded, ordinal, callback) {\n var func = callback;\n if (typeof callback === 'string') {\n func = function () {\n return this[callback]();\n };\n }\n if (token) {\n formatTokenFunctions[token] = func;\n }\n if (padded) {\n formatTokenFunctions[padded[0]] = function () {\n return zeroFill(func.apply(this, arguments), padded[1], padded[2]);\n };\n }\n if (ordinal) {\n formatTokenFunctions[ordinal] = function () {\n return this.localeData().ordinal(func.apply(this, arguments), token);\n };\n }\n }\n\n function removeFormattingTokens(input) {\n if (input.match(/\\[[\\s\\S]/)) {\n return input.replace(/^\\[|\\]$/g, '');\n }\n return input.replace(/\\\\/g, '');\n }\n\n function makeFormatFunction(format) {\n var array = format.match(formattingTokens), i, length;\n\n for (i = 0, length = array.length; i < length; i++) {\n if (formatTokenFunctions[array[i]]) {\n array[i] = formatTokenFunctions[array[i]];\n } else {\n array[i] = removeFormattingTokens(array[i]);\n }\n }\n\n return function (mom) {\n var output = '', i;\n for (i = 0; i < length; i++) {\n output += isFunction(array[i]) ? array[i].call(mom, format) : array[i];\n }\n return output;\n };\n }\n\n // format date using native date object\n function formatMoment(m, format) {\n if (!m.isValid()) {\n return m.localeData().invalidDate();\n }\n\n format = expandFormat(format, m.localeData());\n formatFunctions[format] = formatFunctions[format] || makeFormatFunction(format);\n\n return formatFunctions[format](m);\n }\n\n function expandFormat(format, locale) {\n var i = 5;\n\n function replaceLongDateFormatTokens(input) {\n return locale.longDateFormat(input) || input;\n }\n\n localFormattingTokens.lastIndex = 0;\n while (i >= 0 && localFormattingTokens.test(format)) {\n format = format.replace(localFormattingTokens, replaceLongDateFormatTokens);\n localFormattingTokens.lastIndex = 0;\n i -= 1;\n }\n\n return format;\n }\n\n var match1 = /\\d/; // 0 - 9\n var match2 = /\\d\\d/; // 00 - 99\n var match3 = /\\d{3}/; // 000 - 999\n var match4 = /\\d{4}/; // 0000 - 9999\n var match6 = /[+-]?\\d{6}/; // -999999 - 999999\n var match1to2 = /\\d\\d?/; // 0 - 99\n var match3to4 = /\\d\\d\\d\\d?/; // 999 - 9999\n var match5to6 = /\\d\\d\\d\\d\\d\\d?/; // 99999 - 999999\n var match1to3 = /\\d{1,3}/; // 0 - 999\n var match1to4 = /\\d{1,4}/; // 0 - 9999\n var match1to6 = /[+-]?\\d{1,6}/; // -999999 - 999999\n\n var matchUnsigned = /\\d+/; // 0 - inf\n var matchSigned = /[+-]?\\d+/; // -inf - inf\n\n var matchOffset = /Z|[+-]\\d\\d:?\\d\\d/gi; // +00:00 -00:00 +0000 -0000 or Z\n var matchShortOffset = /Z|[+-]\\d\\d(?::?\\d\\d)?/gi; // +00 -00 +00:00 -00:00 +0000 -0000 or Z\n\n var matchTimestamp = /[+-]?\\d+(\\.\\d{1,3})?/; // 123456789 123456789.123\n\n // any word (or two) characters or numbers including two/three word month in arabic.\n // includes scottish gaelic two word and hyphenated months\n var matchWord = /[0-9]{0,256}['a-z\\u00A0-\\u05FF\\u0700-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFF07\\uFF10-\\uFFEF]{1,256}|[\\u0600-\\u06FF\\/]{1,256}(\\s*?[\\u0600-\\u06FF]{1,256}){1,2}/i;\n\n var regexes = {};\n\n function addRegexToken (token, regex, strictRegex) {\n regexes[token] = isFunction(regex) ? regex : function (isStrict, localeData) {\n return (isStrict && strictRegex) ? strictRegex : regex;\n };\n }\n\n function getParseRegexForToken (token, config) {\n if (!hasOwnProp(regexes, token)) {\n return new RegExp(unescapeFormat(token));\n }\n\n return regexes[token](config._strict, config._locale);\n }\n\n // Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript\n function unescapeFormat(s) {\n return regexEscape(s.replace('\\\\', '').replace(/\\\\(\\[)|\\\\(\\])|\\[([^\\]\\[]*)\\]|\\\\(.)/g, function (matched, p1, p2, p3, p4) {\n return p1 || p2 || p3 || p4;\n }));\n }\n\n function regexEscape(s) {\n return s.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n }\n\n var tokens = {};\n\n function addParseToken (token, callback) {\n var i, func = callback;\n if (typeof token === 'string') {\n token = [token];\n }\n if (isNumber(callback)) {\n func = function (input, array) {\n array[callback] = toInt(input);\n };\n }\n for (i = 0; i < token.length; i++) {\n tokens[token[i]] = func;\n }\n }\n\n function addWeekParseToken (token, callback) {\n addParseToken(token, function (input, array, config, token) {\n config._w = config._w || {};\n callback(input, config._w, config, token);\n });\n }\n\n function addTimeToArrayFromToken(token, input, config) {\n if (input != null && hasOwnProp(tokens, token)) {\n tokens[token](input, config._a, config, token);\n }\n }\n\n var YEAR = 0;\n var MONTH = 1;\n var DATE = 2;\n var HOUR = 3;\n var MINUTE = 4;\n var SECOND = 5;\n var MILLISECOND = 6;\n var WEEK = 7;\n var WEEKDAY = 8;\n\n // FORMATTING\n\n addFormatToken('Y', 0, 0, function () {\n var y = this.year();\n return y <= 9999 ? '' + y : '+' + y;\n });\n\n addFormatToken(0, ['YY', 2], 0, function () {\n return this.year() % 100;\n });\n\n addFormatToken(0, ['YYYY', 4], 0, 'year');\n addFormatToken(0, ['YYYYY', 5], 0, 'year');\n addFormatToken(0, ['YYYYYY', 6, true], 0, 'year');\n\n // ALIASES\n\n addUnitAlias('year', 'y');\n\n // PRIORITIES\n\n addUnitPriority('year', 1);\n\n // PARSING\n\n addRegexToken('Y', matchSigned);\n addRegexToken('YY', match1to2, match2);\n addRegexToken('YYYY', match1to4, match4);\n addRegexToken('YYYYY', match1to6, match6);\n addRegexToken('YYYYYY', match1to6, match6);\n\n addParseToken(['YYYYY', 'YYYYYY'], YEAR);\n addParseToken('YYYY', function (input, array) {\n array[YEAR] = input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input);\n });\n addParseToken('YY', function (input, array) {\n array[YEAR] = hooks.parseTwoDigitYear(input);\n });\n addParseToken('Y', function (input, array) {\n array[YEAR] = parseInt(input, 10);\n });\n\n // HELPERS\n\n function daysInYear(year) {\n return isLeapYear(year) ? 366 : 365;\n }\n\n function isLeapYear(year) {\n return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;\n }\n\n // HOOKS\n\n hooks.parseTwoDigitYear = function (input) {\n return toInt(input) + (toInt(input) > 68 ? 1900 : 2000);\n };\n\n // MOMENTS\n\n var getSetYear = makeGetSet('FullYear', true);\n\n function getIsLeapYear () {\n return isLeapYear(this.year());\n }\n\n function makeGetSet (unit, keepTime) {\n return function (value) {\n if (value != null) {\n set$1(this, unit, value);\n hooks.updateOffset(this, keepTime);\n return this;\n } else {\n return get(this, unit);\n }\n };\n }\n\n function get (mom, unit) {\n return mom.isValid() ?\n mom._d['get' + (mom._isUTC ? 'UTC' : '') + unit]() : NaN;\n }\n\n function set$1 (mom, unit, value) {\n if (mom.isValid() && !isNaN(value)) {\n if (unit === 'FullYear' && isLeapYear(mom.year()) && mom.month() === 1 && mom.date() === 29) {\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value, mom.month(), daysInMonth(value, mom.month()));\n }\n else {\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value);\n }\n }\n }\n\n // MOMENTS\n\n function stringGet (units) {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units]();\n }\n return this;\n }\n\n\n function stringSet (units, value) {\n if (typeof units === 'object') {\n units = normalizeObjectUnits(units);\n var prioritized = getPrioritizedUnits(units);\n for (var i = 0; i < prioritized.length; i++) {\n this[prioritized[i].unit](units[prioritized[i].unit]);\n }\n } else {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units](value);\n }\n }\n return this;\n }\n\n function mod(n, x) {\n return ((n % x) + x) % x;\n }\n\n var indexOf;\n\n if (Array.prototype.indexOf) {\n indexOf = Array.prototype.indexOf;\n } else {\n indexOf = function (o) {\n // I know\n var i;\n for (i = 0; i < this.length; ++i) {\n if (this[i] === o) {\n return i;\n }\n }\n return -1;\n };\n }\n\n function daysInMonth(year, month) {\n if (isNaN(year) || isNaN(month)) {\n return NaN;\n }\n var modMonth = mod(month, 12);\n year += (month - modMonth) / 12;\n return modMonth === 1 ? (isLeapYear(year) ? 29 : 28) : (31 - modMonth % 7 % 2);\n }\n\n // FORMATTING\n\n addFormatToken('M', ['MM', 2], 'Mo', function () {\n return this.month() + 1;\n });\n\n addFormatToken('MMM', 0, 0, function (format) {\n return this.localeData().monthsShort(this, format);\n });\n\n addFormatToken('MMMM', 0, 0, function (format) {\n return this.localeData().months(this, format);\n });\n\n // ALIASES\n\n addUnitAlias('month', 'M');\n\n // PRIORITY\n\n addUnitPriority('month', 8);\n\n // PARSING\n\n addRegexToken('M', match1to2);\n addRegexToken('MM', match1to2, match2);\n addRegexToken('MMM', function (isStrict, locale) {\n return locale.monthsShortRegex(isStrict);\n });\n addRegexToken('MMMM', function (isStrict, locale) {\n return locale.monthsRegex(isStrict);\n });\n\n addParseToken(['M', 'MM'], function (input, array) {\n array[MONTH] = toInt(input) - 1;\n });\n\n addParseToken(['MMM', 'MMMM'], function (input, array, config, token) {\n var month = config._locale.monthsParse(input, token, config._strict);\n // if we didn't find a month name, mark the date as invalid.\n if (month != null) {\n array[MONTH] = month;\n } else {\n getParsingFlags(config).invalidMonth = input;\n }\n });\n\n // LOCALES\n\n var MONTHS_IN_FORMAT = /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?/;\n var defaultLocaleMonths = 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_');\n function localeMonths (m, format) {\n if (!m) {\n return isArray(this._months) ? this._months :\n this._months['standalone'];\n }\n return isArray(this._months) ? this._months[m.month()] :\n this._months[(this._months.isFormat || MONTHS_IN_FORMAT).test(format) ? 'format' : 'standalone'][m.month()];\n }\n\n var defaultLocaleMonthsShort = 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_');\n function localeMonthsShort (m, format) {\n if (!m) {\n return isArray(this._monthsShort) ? this._monthsShort :\n this._monthsShort['standalone'];\n }\n return isArray(this._monthsShort) ? this._monthsShort[m.month()] :\n this._monthsShort[MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone'][m.month()];\n }\n\n function handleStrictParse(monthName, format, strict) {\n var i, ii, mom, llc = monthName.toLocaleLowerCase();\n if (!this._monthsParse) {\n // this is not used\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n for (i = 0; i < 12; ++i) {\n mom = createUTC([2000, i]);\n this._shortMonthsParse[i] = this.monthsShort(mom, '').toLocaleLowerCase();\n this._longMonthsParse[i] = this.months(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n }\n\n function localeMonthsParse (monthName, format, strict) {\n var i, mom, regex;\n\n if (this._monthsParseExact) {\n return handleStrictParse.call(this, monthName, format, strict);\n }\n\n if (!this._monthsParse) {\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n }\n\n // TODO: add sorting\n // Sorting makes sure if one month (or abbr) is a prefix of another\n // see sorting in computeMonthsParse\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n if (strict && !this._longMonthsParse[i]) {\n this._longMonthsParse[i] = new RegExp('^' + this.months(mom, '').replace('.', '') + '$', 'i');\n this._shortMonthsParse[i] = new RegExp('^' + this.monthsShort(mom, '').replace('.', '') + '$', 'i');\n }\n if (!strict && !this._monthsParse[i]) {\n regex = '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, '');\n this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (strict && format === 'MMMM' && this._longMonthsParse[i].test(monthName)) {\n return i;\n } else if (strict && format === 'MMM' && this._shortMonthsParse[i].test(monthName)) {\n return i;\n } else if (!strict && this._monthsParse[i].test(monthName)) {\n return i;\n }\n }\n }\n\n // MOMENTS\n\n function setMonth (mom, value) {\n var dayOfMonth;\n\n if (!mom.isValid()) {\n // No op\n return mom;\n }\n\n if (typeof value === 'string') {\n if (/^\\d+$/.test(value)) {\n value = toInt(value);\n } else {\n value = mom.localeData().monthsParse(value);\n // TODO: Another silent failure?\n if (!isNumber(value)) {\n return mom;\n }\n }\n }\n\n dayOfMonth = Math.min(mom.date(), daysInMonth(mom.year(), value));\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + 'Month'](value, dayOfMonth);\n return mom;\n }\n\n function getSetMonth (value) {\n if (value != null) {\n setMonth(this, value);\n hooks.updateOffset(this, true);\n return this;\n } else {\n return get(this, 'Month');\n }\n }\n\n function getDaysInMonth () {\n return daysInMonth(this.year(), this.month());\n }\n\n var defaultMonthsShortRegex = matchWord;\n function monthsShortRegex (isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n if (isStrict) {\n return this._monthsShortStrictRegex;\n } else {\n return this._monthsShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsShortRegex')) {\n this._monthsShortRegex = defaultMonthsShortRegex;\n }\n return this._monthsShortStrictRegex && isStrict ?\n this._monthsShortStrictRegex : this._monthsShortRegex;\n }\n }\n\n var defaultMonthsRegex = matchWord;\n function monthsRegex (isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n if (isStrict) {\n return this._monthsStrictRegex;\n } else {\n return this._monthsRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsRegex')) {\n this._monthsRegex = defaultMonthsRegex;\n }\n return this._monthsStrictRegex && isStrict ?\n this._monthsStrictRegex : this._monthsRegex;\n }\n }\n\n function computeMonthsParse () {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var shortPieces = [], longPieces = [], mixedPieces = [],\n i, mom;\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n shortPieces.push(this.monthsShort(mom, ''));\n longPieces.push(this.months(mom, ''));\n mixedPieces.push(this.months(mom, ''));\n mixedPieces.push(this.monthsShort(mom, ''));\n }\n // Sorting makes sure if one month (or abbr) is a prefix of another it\n // will match the longer piece.\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n for (i = 0; i < 12; i++) {\n shortPieces[i] = regexEscape(shortPieces[i]);\n longPieces[i] = regexEscape(longPieces[i]);\n }\n for (i = 0; i < 24; i++) {\n mixedPieces[i] = regexEscape(mixedPieces[i]);\n }\n\n this._monthsRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._monthsShortRegex = this._monthsRegex;\n this._monthsStrictRegex = new RegExp('^(' + longPieces.join('|') + ')', 'i');\n this._monthsShortStrictRegex = new RegExp('^(' + shortPieces.join('|') + ')', 'i');\n }\n\n function createDate (y, m, d, h, M, s, ms) {\n // can't just apply() to create a date:\n // https://stackoverflow.com/q/181348\n var date = new Date(y, m, d, h, M, s, ms);\n\n // the date constructor remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0 && isFinite(date.getFullYear())) {\n date.setFullYear(y);\n }\n return date;\n }\n\n function createUTCDate (y) {\n var date = new Date(Date.UTC.apply(null, arguments));\n\n // the Date.UTC function remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0 && isFinite(date.getUTCFullYear())) {\n date.setUTCFullYear(y);\n }\n return date;\n }\n\n // start-of-first-week - start-of-year\n function firstWeekOffset(year, dow, doy) {\n var // first-week day -- which january is always in the first week (4 for iso, 1 for other)\n fwd = 7 + dow - doy,\n // first-week day local weekday -- which local weekday is fwd\n fwdlw = (7 + createUTCDate(year, 0, fwd).getUTCDay() - dow) % 7;\n\n return -fwdlw + fwd - 1;\n }\n\n // https://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday\n function dayOfYearFromWeeks(year, week, weekday, dow, doy) {\n var localWeekday = (7 + weekday - dow) % 7,\n weekOffset = firstWeekOffset(year, dow, doy),\n dayOfYear = 1 + 7 * (week - 1) + localWeekday + weekOffset,\n resYear, resDayOfYear;\n\n if (dayOfYear <= 0) {\n resYear = year - 1;\n resDayOfYear = daysInYear(resYear) + dayOfYear;\n } else if (dayOfYear > daysInYear(year)) {\n resYear = year + 1;\n resDayOfYear = dayOfYear - daysInYear(year);\n } else {\n resYear = year;\n resDayOfYear = dayOfYear;\n }\n\n return {\n year: resYear,\n dayOfYear: resDayOfYear\n };\n }\n\n function weekOfYear(mom, dow, doy) {\n var weekOffset = firstWeekOffset(mom.year(), dow, doy),\n week = Math.floor((mom.dayOfYear() - weekOffset - 1) / 7) + 1,\n resWeek, resYear;\n\n if (week < 1) {\n resYear = mom.year() - 1;\n resWeek = week + weeksInYear(resYear, dow, doy);\n } else if (week > weeksInYear(mom.year(), dow, doy)) {\n resWeek = week - weeksInYear(mom.year(), dow, doy);\n resYear = mom.year() + 1;\n } else {\n resYear = mom.year();\n resWeek = week;\n }\n\n return {\n week: resWeek,\n year: resYear\n };\n }\n\n function weeksInYear(year, dow, doy) {\n var weekOffset = firstWeekOffset(year, dow, doy),\n weekOffsetNext = firstWeekOffset(year + 1, dow, doy);\n return (daysInYear(year) - weekOffset + weekOffsetNext) / 7;\n }\n\n // FORMATTING\n\n addFormatToken('w', ['ww', 2], 'wo', 'week');\n addFormatToken('W', ['WW', 2], 'Wo', 'isoWeek');\n\n // ALIASES\n\n addUnitAlias('week', 'w');\n addUnitAlias('isoWeek', 'W');\n\n // PRIORITIES\n\n addUnitPriority('week', 5);\n addUnitPriority('isoWeek', 5);\n\n // PARSING\n\n addRegexToken('w', match1to2);\n addRegexToken('ww', match1to2, match2);\n addRegexToken('W', match1to2);\n addRegexToken('WW', match1to2, match2);\n\n addWeekParseToken(['w', 'ww', 'W', 'WW'], function (input, week, config, token) {\n week[token.substr(0, 1)] = toInt(input);\n });\n\n // HELPERS\n\n // LOCALES\n\n function localeWeek (mom) {\n return weekOfYear(mom, this._week.dow, this._week.doy).week;\n }\n\n var defaultLocaleWeek = {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n };\n\n function localeFirstDayOfWeek () {\n return this._week.dow;\n }\n\n function localeFirstDayOfYear () {\n return this._week.doy;\n }\n\n // MOMENTS\n\n function getSetWeek (input) {\n var week = this.localeData().week(this);\n return input == null ? week : this.add((input - week) * 7, 'd');\n }\n\n function getSetISOWeek (input) {\n var week = weekOfYear(this, 1, 4).week;\n return input == null ? week : this.add((input - week) * 7, 'd');\n }\n\n // FORMATTING\n\n addFormatToken('d', 0, 'do', 'day');\n\n addFormatToken('dd', 0, 0, function (format) {\n return this.localeData().weekdaysMin(this, format);\n });\n\n addFormatToken('ddd', 0, 0, function (format) {\n return this.localeData().weekdaysShort(this, format);\n });\n\n addFormatToken('dddd', 0, 0, function (format) {\n return this.localeData().weekdays(this, format);\n });\n\n addFormatToken('e', 0, 0, 'weekday');\n addFormatToken('E', 0, 0, 'isoWeekday');\n\n // ALIASES\n\n addUnitAlias('day', 'd');\n addUnitAlias('weekday', 'e');\n addUnitAlias('isoWeekday', 'E');\n\n // PRIORITY\n addUnitPriority('day', 11);\n addUnitPriority('weekday', 11);\n addUnitPriority('isoWeekday', 11);\n\n // PARSING\n\n addRegexToken('d', match1to2);\n addRegexToken('e', match1to2);\n addRegexToken('E', match1to2);\n addRegexToken('dd', function (isStrict, locale) {\n return locale.weekdaysMinRegex(isStrict);\n });\n addRegexToken('ddd', function (isStrict, locale) {\n return locale.weekdaysShortRegex(isStrict);\n });\n addRegexToken('dddd', function (isStrict, locale) {\n return locale.weekdaysRegex(isStrict);\n });\n\n addWeekParseToken(['dd', 'ddd', 'dddd'], function (input, week, config, token) {\n var weekday = config._locale.weekdaysParse(input, token, config._strict);\n // if we didn't get a weekday name, mark the date as invalid\n if (weekday != null) {\n week.d = weekday;\n } else {\n getParsingFlags(config).invalidWeekday = input;\n }\n });\n\n addWeekParseToken(['d', 'e', 'E'], function (input, week, config, token) {\n week[token] = toInt(input);\n });\n\n // HELPERS\n\n function parseWeekday(input, locale) {\n if (typeof input !== 'string') {\n return input;\n }\n\n if (!isNaN(input)) {\n return parseInt(input, 10);\n }\n\n input = locale.weekdaysParse(input);\n if (typeof input === 'number') {\n return input;\n }\n\n return null;\n }\n\n function parseIsoWeekday(input, locale) {\n if (typeof input === 'string') {\n return locale.weekdaysParse(input) % 7 || 7;\n }\n return isNaN(input) ? null : input;\n }\n\n // LOCALES\n\n var defaultLocaleWeekdays = 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_');\n function localeWeekdays (m, format) {\n if (!m) {\n return isArray(this._weekdays) ? this._weekdays :\n this._weekdays['standalone'];\n }\n return isArray(this._weekdays) ? this._weekdays[m.day()] :\n this._weekdays[this._weekdays.isFormat.test(format) ? 'format' : 'standalone'][m.day()];\n }\n\n var defaultLocaleWeekdaysShort = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_');\n function localeWeekdaysShort (m) {\n return (m) ? this._weekdaysShort[m.day()] : this._weekdaysShort;\n }\n\n var defaultLocaleWeekdaysMin = 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_');\n function localeWeekdaysMin (m) {\n return (m) ? this._weekdaysMin[m.day()] : this._weekdaysMin;\n }\n\n function handleStrictParse$1(weekdayName, format, strict) {\n var i, ii, mom, llc = weekdayName.toLocaleLowerCase();\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._minWeekdaysParse = [];\n\n for (i = 0; i < 7; ++i) {\n mom = createUTC([2000, 1]).day(i);\n this._minWeekdaysParse[i] = this.weekdaysMin(mom, '').toLocaleLowerCase();\n this._shortWeekdaysParse[i] = this.weekdaysShort(mom, '').toLocaleLowerCase();\n this._weekdaysParse[i] = this.weekdays(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n }\n\n function localeWeekdaysParse (weekdayName, format, strict) {\n var i, mom, regex;\n\n if (this._weekdaysParseExact) {\n return handleStrictParse$1.call(this, weekdayName, format, strict);\n }\n\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._minWeekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._fullWeekdaysParse = [];\n }\n\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n\n mom = createUTC([2000, 1]).day(i);\n if (strict && !this._fullWeekdaysParse[i]) {\n this._fullWeekdaysParse[i] = new RegExp('^' + this.weekdays(mom, '').replace('.', '\\\\.?') + '$', 'i');\n this._shortWeekdaysParse[i] = new RegExp('^' + this.weekdaysShort(mom, '').replace('.', '\\\\.?') + '$', 'i');\n this._minWeekdaysParse[i] = new RegExp('^' + this.weekdaysMin(mom, '').replace('.', '\\\\.?') + '$', 'i');\n }\n if (!this._weekdaysParse[i]) {\n regex = '^' + this.weekdays(mom, '') + '|^' + this.weekdaysShort(mom, '') + '|^' + this.weekdaysMin(mom, '');\n this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (strict && format === 'dddd' && this._fullWeekdaysParse[i].test(weekdayName)) {\n return i;\n } else if (strict && format === 'ddd' && this._shortWeekdaysParse[i].test(weekdayName)) {\n return i;\n } else if (strict && format === 'dd' && this._minWeekdaysParse[i].test(weekdayName)) {\n return i;\n } else if (!strict && this._weekdaysParse[i].test(weekdayName)) {\n return i;\n }\n }\n }\n\n // MOMENTS\n\n function getSetDayOfWeek (input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n var day = this._isUTC ? this._d.getUTCDay() : this._d.getDay();\n if (input != null) {\n input = parseWeekday(input, this.localeData());\n return this.add(input - day, 'd');\n } else {\n return day;\n }\n }\n\n function getSetLocaleDayOfWeek (input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7;\n return input == null ? weekday : this.add(input - weekday, 'd');\n }\n\n function getSetISODayOfWeek (input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n\n // behaves the same as moment#day except\n // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6)\n // as a setter, sunday should belong to the previous week.\n\n if (input != null) {\n var weekday = parseIsoWeekday(input, this.localeData());\n return this.day(this.day() % 7 ? weekday : weekday - 7);\n } else {\n return this.day() || 7;\n }\n }\n\n var defaultWeekdaysRegex = matchWord;\n function weekdaysRegex (isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysStrictRegex;\n } else {\n return this._weekdaysRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n this._weekdaysRegex = defaultWeekdaysRegex;\n }\n return this._weekdaysStrictRegex && isStrict ?\n this._weekdaysStrictRegex : this._weekdaysRegex;\n }\n }\n\n var defaultWeekdaysShortRegex = matchWord;\n function weekdaysShortRegex (isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysShortStrictRegex;\n } else {\n return this._weekdaysShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysShortRegex')) {\n this._weekdaysShortRegex = defaultWeekdaysShortRegex;\n }\n return this._weekdaysShortStrictRegex && isStrict ?\n this._weekdaysShortStrictRegex : this._weekdaysShortRegex;\n }\n }\n\n var defaultWeekdaysMinRegex = matchWord;\n function weekdaysMinRegex (isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysMinStrictRegex;\n } else {\n return this._weekdaysMinRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysMinRegex')) {\n this._weekdaysMinRegex = defaultWeekdaysMinRegex;\n }\n return this._weekdaysMinStrictRegex && isStrict ?\n this._weekdaysMinStrictRegex : this._weekdaysMinRegex;\n }\n }\n\n\n function computeWeekdaysParse () {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var minPieces = [], shortPieces = [], longPieces = [], mixedPieces = [],\n i, mom, minp, shortp, longp;\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, 1]).day(i);\n minp = this.weekdaysMin(mom, '');\n shortp = this.weekdaysShort(mom, '');\n longp = this.weekdays(mom, '');\n minPieces.push(minp);\n shortPieces.push(shortp);\n longPieces.push(longp);\n mixedPieces.push(minp);\n mixedPieces.push(shortp);\n mixedPieces.push(longp);\n }\n // Sorting makes sure if one weekday (or abbr) is a prefix of another it\n // will match the longer piece.\n minPieces.sort(cmpLenRev);\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n for (i = 0; i < 7; i++) {\n shortPieces[i] = regexEscape(shortPieces[i]);\n longPieces[i] = regexEscape(longPieces[i]);\n mixedPieces[i] = regexEscape(mixedPieces[i]);\n }\n\n this._weekdaysRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._weekdaysShortRegex = this._weekdaysRegex;\n this._weekdaysMinRegex = this._weekdaysRegex;\n\n this._weekdaysStrictRegex = new RegExp('^(' + longPieces.join('|') + ')', 'i');\n this._weekdaysShortStrictRegex = new RegExp('^(' + shortPieces.join('|') + ')', 'i');\n this._weekdaysMinStrictRegex = new RegExp('^(' + minPieces.join('|') + ')', 'i');\n }\n\n // FORMATTING\n\n function hFormat() {\n return this.hours() % 12 || 12;\n }\n\n function kFormat() {\n return this.hours() || 24;\n }\n\n addFormatToken('H', ['HH', 2], 0, 'hour');\n addFormatToken('h', ['hh', 2], 0, hFormat);\n addFormatToken('k', ['kk', 2], 0, kFormat);\n\n addFormatToken('hmm', 0, 0, function () {\n return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2);\n });\n\n addFormatToken('hmmss', 0, 0, function () {\n return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2);\n });\n\n addFormatToken('Hmm', 0, 0, function () {\n return '' + this.hours() + zeroFill(this.minutes(), 2);\n });\n\n addFormatToken('Hmmss', 0, 0, function () {\n return '' + this.hours() + zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2);\n });\n\n function meridiem (token, lowercase) {\n addFormatToken(token, 0, 0, function () {\n return this.localeData().meridiem(this.hours(), this.minutes(), lowercase);\n });\n }\n\n meridiem('a', true);\n meridiem('A', false);\n\n // ALIASES\n\n addUnitAlias('hour', 'h');\n\n // PRIORITY\n addUnitPriority('hour', 13);\n\n // PARSING\n\n function matchMeridiem (isStrict, locale) {\n return locale._meridiemParse;\n }\n\n addRegexToken('a', matchMeridiem);\n addRegexToken('A', matchMeridiem);\n addRegexToken('H', match1to2);\n addRegexToken('h', match1to2);\n addRegexToken('k', match1to2);\n addRegexToken('HH', match1to2, match2);\n addRegexToken('hh', match1to2, match2);\n addRegexToken('kk', match1to2, match2);\n\n addRegexToken('hmm', match3to4);\n addRegexToken('hmmss', match5to6);\n addRegexToken('Hmm', match3to4);\n addRegexToken('Hmmss', match5to6);\n\n addParseToken(['H', 'HH'], HOUR);\n addParseToken(['k', 'kk'], function (input, array, config) {\n var kInput = toInt(input);\n array[HOUR] = kInput === 24 ? 0 : kInput;\n });\n addParseToken(['a', 'A'], function (input, array, config) {\n config._isPm = config._locale.isPM(input);\n config._meridiem = input;\n });\n addParseToken(['h', 'hh'], function (input, array, config) {\n array[HOUR] = toInt(input);\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('hmmss', function (input, array, config) {\n var pos1 = input.length - 4;\n var pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('Hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n });\n addParseToken('Hmmss', function (input, array, config) {\n var pos1 = input.length - 4;\n var pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n });\n\n // LOCALES\n\n function localeIsPM (input) {\n // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays\n // Using charAt should be more compatible.\n return ((input + '').toLowerCase().charAt(0) === 'p');\n }\n\n var defaultLocaleMeridiemParse = /[ap]\\.?m?\\.?/i;\n function localeMeridiem (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'pm' : 'PM';\n } else {\n return isLower ? 'am' : 'AM';\n }\n }\n\n\n // MOMENTS\n\n // Setting the hour should keep the time, because the user explicitly\n // specified which hour they want. So trying to maintain the same hour (in\n // a new timezone) makes sense. Adding/subtracting hours does not follow\n // this rule.\n var getSetHour = makeGetSet('Hours', true);\n\n var baseConfig = {\n calendar: defaultCalendar,\n longDateFormat: defaultLongDateFormat,\n invalidDate: defaultInvalidDate,\n ordinal: defaultOrdinal,\n dayOfMonthOrdinalParse: defaultDayOfMonthOrdinalParse,\n relativeTime: defaultRelativeTime,\n\n months: defaultLocaleMonths,\n monthsShort: defaultLocaleMonthsShort,\n\n week: defaultLocaleWeek,\n\n weekdays: defaultLocaleWeekdays,\n weekdaysMin: defaultLocaleWeekdaysMin,\n weekdaysShort: defaultLocaleWeekdaysShort,\n\n meridiemParse: defaultLocaleMeridiemParse\n };\n\n // internal storage for locale config files\n var locales = {};\n var localeFamilies = {};\n var globalLocale;\n\n function normalizeLocale(key) {\n return key ? key.toLowerCase().replace('_', '-') : key;\n }\n\n // pick the locale from the array\n // try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each\n // substring from most specific to least, but move to the next array item if it's a more specific variant than the current root\n function chooseLocale(names) {\n var i = 0, j, next, locale, split;\n\n while (i < names.length) {\n split = normalizeLocale(names[i]).split('-');\n j = split.length;\n next = normalizeLocale(names[i + 1]);\n next = next ? next.split('-') : null;\n while (j > 0) {\n locale = loadLocale(split.slice(0, j).join('-'));\n if (locale) {\n return locale;\n }\n if (next && next.length >= j && compareArrays(split, next, true) >= j - 1) {\n //the next array item is better than a shallower substring of this one\n break;\n }\n j--;\n }\n i++;\n }\n return globalLocale;\n }\n\n function loadLocale(name) {\n var oldLocale = null;\n // TODO: Find a better way to register and load all the locales in Node\n if (!locales[name] && (typeof module !== 'undefined') &&\n module && module.exports) {\n try {\n oldLocale = globalLocale._abbr;\n var aliasedRequire = require;\n aliasedRequire('./locale/' + name);\n getSetGlobalLocale(oldLocale);\n } catch (e) {}\n }\n return locales[name];\n }\n\n // This function will load locale and then set the global locale. If\n // no arguments are passed in, it will simply return the current global\n // locale key.\n function getSetGlobalLocale (key, values) {\n var data;\n if (key) {\n if (isUndefined(values)) {\n data = getLocale(key);\n }\n else {\n data = defineLocale(key, values);\n }\n\n if (data) {\n // moment.duration._locale = moment._locale = data;\n globalLocale = data;\n }\n else {\n if ((typeof console !== 'undefined') && console.warn) {\n //warn user if arguments are passed but the locale could not be set\n console.warn('Locale ' + key + ' not found. Did you forget to load it?');\n }\n }\n }\n\n return globalLocale._abbr;\n }\n\n function defineLocale (name, config) {\n if (config !== null) {\n var locale, parentConfig = baseConfig;\n config.abbr = name;\n if (locales[name] != null) {\n deprecateSimple('defineLocaleOverride',\n 'use moment.updateLocale(localeName, config) to change ' +\n 'an existing locale. moment.defineLocale(localeName, ' +\n 'config) should only be used for creating a new locale ' +\n 'See http://momentjs.com/guides/#/warnings/define-locale/ for more info.');\n parentConfig = locales[name]._config;\n } else if (config.parentLocale != null) {\n if (locales[config.parentLocale] != null) {\n parentConfig = locales[config.parentLocale]._config;\n } else {\n locale = loadLocale(config.parentLocale);\n if (locale != null) {\n parentConfig = locale._config;\n } else {\n if (!localeFamilies[config.parentLocale]) {\n localeFamilies[config.parentLocale] = [];\n }\n localeFamilies[config.parentLocale].push({\n name: name,\n config: config\n });\n return null;\n }\n }\n }\n locales[name] = new Locale(mergeConfigs(parentConfig, config));\n\n if (localeFamilies[name]) {\n localeFamilies[name].forEach(function (x) {\n defineLocale(x.name, x.config);\n });\n }\n\n // backwards compat for now: also set the locale\n // make sure we set the locale AFTER all child locales have been\n // created, so we won't end up with the child locale set.\n getSetGlobalLocale(name);\n\n\n return locales[name];\n } else {\n // useful for testing\n delete locales[name];\n return null;\n }\n }\n\n function updateLocale(name, config) {\n if (config != null) {\n var locale, tmpLocale, parentConfig = baseConfig;\n // MERGE\n tmpLocale = loadLocale(name);\n if (tmpLocale != null) {\n parentConfig = tmpLocale._config;\n }\n config = mergeConfigs(parentConfig, config);\n locale = new Locale(config);\n locale.parentLocale = locales[name];\n locales[name] = locale;\n\n // backwards compat for now: also set the locale\n getSetGlobalLocale(name);\n } else {\n // pass null for config to unupdate, useful for tests\n if (locales[name] != null) {\n if (locales[name].parentLocale != null) {\n locales[name] = locales[name].parentLocale;\n } else if (locales[name] != null) {\n delete locales[name];\n }\n }\n }\n return locales[name];\n }\n\n // returns locale data\n function getLocale (key) {\n var locale;\n\n if (key && key._locale && key._locale._abbr) {\n key = key._locale._abbr;\n }\n\n if (!key) {\n return globalLocale;\n }\n\n if (!isArray(key)) {\n //short-circuit everything else\n locale = loadLocale(key);\n if (locale) {\n return locale;\n }\n key = [key];\n }\n\n return chooseLocale(key);\n }\n\n function listLocales() {\n return keys(locales);\n }\n\n function checkOverflow (m) {\n var overflow;\n var a = m._a;\n\n if (a && getParsingFlags(m).overflow === -2) {\n overflow =\n a[MONTH] < 0 || a[MONTH] > 11 ? MONTH :\n a[DATE] < 1 || a[DATE] > daysInMonth(a[YEAR], a[MONTH]) ? DATE :\n a[HOUR] < 0 || a[HOUR] > 24 || (a[HOUR] === 24 && (a[MINUTE] !== 0 || a[SECOND] !== 0 || a[MILLISECOND] !== 0)) ? HOUR :\n a[MINUTE] < 0 || a[MINUTE] > 59 ? MINUTE :\n a[SECOND] < 0 || a[SECOND] > 59 ? SECOND :\n a[MILLISECOND] < 0 || a[MILLISECOND] > 999 ? MILLISECOND :\n -1;\n\n if (getParsingFlags(m)._overflowDayOfYear && (overflow < YEAR || overflow > DATE)) {\n overflow = DATE;\n }\n if (getParsingFlags(m)._overflowWeeks && overflow === -1) {\n overflow = WEEK;\n }\n if (getParsingFlags(m)._overflowWeekday && overflow === -1) {\n overflow = WEEKDAY;\n }\n\n getParsingFlags(m).overflow = overflow;\n }\n\n return m;\n }\n\n // Pick the first defined of two or three arguments.\n function defaults(a, b, c) {\n if (a != null) {\n return a;\n }\n if (b != null) {\n return b;\n }\n return c;\n }\n\n function currentDateArray(config) {\n // hooks is actually the exported moment object\n var nowValue = new Date(hooks.now());\n if (config._useUTC) {\n return [nowValue.getUTCFullYear(), nowValue.getUTCMonth(), nowValue.getUTCDate()];\n }\n return [nowValue.getFullYear(), nowValue.getMonth(), nowValue.getDate()];\n }\n\n // convert an array to a date.\n // the array should mirror the parameters below\n // note: all values past the year are optional and will default to the lowest possible value.\n // [year, month, day , hour, minute, second, millisecond]\n function configFromArray (config) {\n var i, date, input = [], currentDate, expectedWeekday, yearToUse;\n\n if (config._d) {\n return;\n }\n\n currentDate = currentDateArray(config);\n\n //compute day of the year from weeks and weekdays\n if (config._w && config._a[DATE] == null && config._a[MONTH] == null) {\n dayOfYearFromWeekInfo(config);\n }\n\n //if the day of the year is set, figure out what it is\n if (config._dayOfYear != null) {\n yearToUse = defaults(config._a[YEAR], currentDate[YEAR]);\n\n if (config._dayOfYear > daysInYear(yearToUse) || config._dayOfYear === 0) {\n getParsingFlags(config)._overflowDayOfYear = true;\n }\n\n date = createUTCDate(yearToUse, 0, config._dayOfYear);\n config._a[MONTH] = date.getUTCMonth();\n config._a[DATE] = date.getUTCDate();\n }\n\n // Default to current date.\n // * if no year, month, day of month are given, default to today\n // * if day of month is given, default month and year\n // * if month is given, default only year\n // * if year is given, don't default anything\n for (i = 0; i < 3 && config._a[i] == null; ++i) {\n config._a[i] = input[i] = currentDate[i];\n }\n\n // Zero out whatever was not defaulted, including time\n for (; i < 7; i++) {\n config._a[i] = input[i] = (config._a[i] == null) ? (i === 2 ? 1 : 0) : config._a[i];\n }\n\n // Check for 24:00:00.000\n if (config._a[HOUR] === 24 &&\n config._a[MINUTE] === 0 &&\n config._a[SECOND] === 0 &&\n config._a[MILLISECOND] === 0) {\n config._nextDay = true;\n config._a[HOUR] = 0;\n }\n\n config._d = (config._useUTC ? createUTCDate : createDate).apply(null, input);\n expectedWeekday = config._useUTC ? config._d.getUTCDay() : config._d.getDay();\n\n // Apply timezone offset from input. The actual utcOffset can be changed\n // with parseZone.\n if (config._tzm != null) {\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n }\n\n if (config._nextDay) {\n config._a[HOUR] = 24;\n }\n\n // check for mismatching day of week\n if (config._w && typeof config._w.d !== 'undefined' && config._w.d !== expectedWeekday) {\n getParsingFlags(config).weekdayMismatch = true;\n }\n }\n\n function dayOfYearFromWeekInfo(config) {\n var w, weekYear, week, weekday, dow, doy, temp, weekdayOverflow;\n\n w = config._w;\n if (w.GG != null || w.W != null || w.E != null) {\n dow = 1;\n doy = 4;\n\n // TODO: We need to take the current isoWeekYear, but that depends on\n // how we interpret now (local, utc, fixed offset). So create\n // a now version of current config (take local/utc/offset flags, and\n // create now).\n weekYear = defaults(w.GG, config._a[YEAR], weekOfYear(createLocal(), 1, 4).year);\n week = defaults(w.W, 1);\n weekday = defaults(w.E, 1);\n if (weekday < 1 || weekday > 7) {\n weekdayOverflow = true;\n }\n } else {\n dow = config._locale._week.dow;\n doy = config._locale._week.doy;\n\n var curWeek = weekOfYear(createLocal(), dow, doy);\n\n weekYear = defaults(w.gg, config._a[YEAR], curWeek.year);\n\n // Default to current week.\n week = defaults(w.w, curWeek.week);\n\n if (w.d != null) {\n // weekday -- low day numbers are considered next week\n weekday = w.d;\n if (weekday < 0 || weekday > 6) {\n weekdayOverflow = true;\n }\n } else if (w.e != null) {\n // local weekday -- counting starts from begining of week\n weekday = w.e + dow;\n if (w.e < 0 || w.e > 6) {\n weekdayOverflow = true;\n }\n } else {\n // default to begining of week\n weekday = dow;\n }\n }\n if (week < 1 || week > weeksInYear(weekYear, dow, doy)) {\n getParsingFlags(config)._overflowWeeks = true;\n } else if (weekdayOverflow != null) {\n getParsingFlags(config)._overflowWeekday = true;\n } else {\n temp = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy);\n config._a[YEAR] = temp.year;\n config._dayOfYear = temp.dayOfYear;\n }\n }\n\n // iso 8601 regex\n // 0000-00-00 0000-W00 or 0000-W00-0 + T + 00 or 00:00 or 00:00:00 or 00:00:00.000 + +00:00 or +0000 or +00)\n var extendedIsoRegex = /^\\s*((?:[+-]\\d{6}|\\d{4})-(?:\\d\\d-\\d\\d|W\\d\\d-\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?::\\d\\d(?::\\d\\d(?:[.,]\\d+)?)?)?)([\\+\\-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/;\n var basicIsoRegex = /^\\s*((?:[+-]\\d{6}|\\d{4})(?:\\d\\d\\d\\d|W\\d\\d\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?:\\d\\d(?:\\d\\d(?:[.,]\\d+)?)?)?)([\\+\\-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/;\n\n var tzRegex = /Z|[+-]\\d\\d(?::?\\d\\d)?/;\n\n var isoDates = [\n ['YYYYYY-MM-DD', /[+-]\\d{6}-\\d\\d-\\d\\d/],\n ['YYYY-MM-DD', /\\d{4}-\\d\\d-\\d\\d/],\n ['GGGG-[W]WW-E', /\\d{4}-W\\d\\d-\\d/],\n ['GGGG-[W]WW', /\\d{4}-W\\d\\d/, false],\n ['YYYY-DDD', /\\d{4}-\\d{3}/],\n ['YYYY-MM', /\\d{4}-\\d\\d/, false],\n ['YYYYYYMMDD', /[+-]\\d{10}/],\n ['YYYYMMDD', /\\d{8}/],\n // YYYYMM is NOT allowed by the standard\n ['GGGG[W]WWE', /\\d{4}W\\d{3}/],\n ['GGGG[W]WW', /\\d{4}W\\d{2}/, false],\n ['YYYYDDD', /\\d{7}/]\n ];\n\n // iso time formats and regexes\n var isoTimes = [\n ['HH:mm:ss.SSSS', /\\d\\d:\\d\\d:\\d\\d\\.\\d+/],\n ['HH:mm:ss,SSSS', /\\d\\d:\\d\\d:\\d\\d,\\d+/],\n ['HH:mm:ss', /\\d\\d:\\d\\d:\\d\\d/],\n ['HH:mm', /\\d\\d:\\d\\d/],\n ['HHmmss.SSSS', /\\d\\d\\d\\d\\d\\d\\.\\d+/],\n ['HHmmss,SSSS', /\\d\\d\\d\\d\\d\\d,\\d+/],\n ['HHmmss', /\\d\\d\\d\\d\\d\\d/],\n ['HHmm', /\\d\\d\\d\\d/],\n ['HH', /\\d\\d/]\n ];\n\n var aspNetJsonRegex = /^\\/?Date\\((\\-?\\d+)/i;\n\n // date from iso format\n function configFromISO(config) {\n var i, l,\n string = config._i,\n match = extendedIsoRegex.exec(string) || basicIsoRegex.exec(string),\n allowTime, dateFormat, timeFormat, tzFormat;\n\n if (match) {\n getParsingFlags(config).iso = true;\n\n for (i = 0, l = isoDates.length; i < l; i++) {\n if (isoDates[i][1].exec(match[1])) {\n dateFormat = isoDates[i][0];\n allowTime = isoDates[i][2] !== false;\n break;\n }\n }\n if (dateFormat == null) {\n config._isValid = false;\n return;\n }\n if (match[3]) {\n for (i = 0, l = isoTimes.length; i < l; i++) {\n if (isoTimes[i][1].exec(match[3])) {\n // match[2] should be 'T' or space\n timeFormat = (match[2] || ' ') + isoTimes[i][0];\n break;\n }\n }\n if (timeFormat == null) {\n config._isValid = false;\n return;\n }\n }\n if (!allowTime && timeFormat != null) {\n config._isValid = false;\n return;\n }\n if (match[4]) {\n if (tzRegex.exec(match[4])) {\n tzFormat = 'Z';\n } else {\n config._isValid = false;\n return;\n }\n }\n config._f = dateFormat + (timeFormat || '') + (tzFormat || '');\n configFromStringAndFormat(config);\n } else {\n config._isValid = false;\n }\n }\n\n // RFC 2822 regex: For details see https://tools.ietf.org/html/rfc2822#section-3.3\n var rfc2822 = /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\\s)?(\\d{1,2})\\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\\s(\\d{2,4})\\s(\\d\\d):(\\d\\d)(?::(\\d\\d))?\\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\\d{4}))$/;\n\n function extractFromRFC2822Strings(yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr) {\n var result = [\n untruncateYear(yearStr),\n defaultLocaleMonthsShort.indexOf(monthStr),\n parseInt(dayStr, 10),\n parseInt(hourStr, 10),\n parseInt(minuteStr, 10)\n ];\n\n if (secondStr) {\n result.push(parseInt(secondStr, 10));\n }\n\n return result;\n }\n\n function untruncateYear(yearStr) {\n var year = parseInt(yearStr, 10);\n if (year <= 49) {\n return 2000 + year;\n } else if (year <= 999) {\n return 1900 + year;\n }\n return year;\n }\n\n function preprocessRFC2822(s) {\n // Remove comments and folding whitespace and replace multiple-spaces with a single space\n return s.replace(/\\([^)]*\\)|[\\n\\t]/g, ' ').replace(/(\\s\\s+)/g, ' ').replace(/^\\s\\s*/, '').replace(/\\s\\s*$/, '');\n }\n\n function checkWeekday(weekdayStr, parsedInput, config) {\n if (weekdayStr) {\n // TODO: Replace the vanilla JS Date object with an indepentent day-of-week check.\n var weekdayProvided = defaultLocaleWeekdaysShort.indexOf(weekdayStr),\n weekdayActual = new Date(parsedInput[0], parsedInput[1], parsedInput[2]).getDay();\n if (weekdayProvided !== weekdayActual) {\n getParsingFlags(config).weekdayMismatch = true;\n config._isValid = false;\n return false;\n }\n }\n return true;\n }\n\n var obsOffsets = {\n UT: 0,\n GMT: 0,\n EDT: -4 * 60,\n EST: -5 * 60,\n CDT: -5 * 60,\n CST: -6 * 60,\n MDT: -6 * 60,\n MST: -7 * 60,\n PDT: -7 * 60,\n PST: -8 * 60\n };\n\n function calculateOffset(obsOffset, militaryOffset, numOffset) {\n if (obsOffset) {\n return obsOffsets[obsOffset];\n } else if (militaryOffset) {\n // the only allowed military tz is Z\n return 0;\n } else {\n var hm = parseInt(numOffset, 10);\n var m = hm % 100, h = (hm - m) / 100;\n return h * 60 + m;\n }\n }\n\n // date and time from ref 2822 format\n function configFromRFC2822(config) {\n var match = rfc2822.exec(preprocessRFC2822(config._i));\n if (match) {\n var parsedArray = extractFromRFC2822Strings(match[4], match[3], match[2], match[5], match[6], match[7]);\n if (!checkWeekday(match[1], parsedArray, config)) {\n return;\n }\n\n config._a = parsedArray;\n config._tzm = calculateOffset(match[8], match[9], match[10]);\n\n config._d = createUTCDate.apply(null, config._a);\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n\n getParsingFlags(config).rfc2822 = true;\n } else {\n config._isValid = false;\n }\n }\n\n // date from iso format or fallback\n function configFromString(config) {\n var matched = aspNetJsonRegex.exec(config._i);\n\n if (matched !== null) {\n config._d = new Date(+matched[1]);\n return;\n }\n\n configFromISO(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n configFromRFC2822(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n // Final attempt, use Input Fallback\n hooks.createFromInputFallback(config);\n }\n\n hooks.createFromInputFallback = deprecate(\n 'value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), ' +\n 'which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are ' +\n 'discouraged and will be removed in an upcoming major release. Please refer to ' +\n 'http://momentjs.com/guides/#/warnings/js-date/ for more info.',\n function (config) {\n config._d = new Date(config._i + (config._useUTC ? ' UTC' : ''));\n }\n );\n\n // constant that refers to the ISO standard\n hooks.ISO_8601 = function () {};\n\n // constant that refers to the RFC 2822 form\n hooks.RFC_2822 = function () {};\n\n // date from string and format string\n function configFromStringAndFormat(config) {\n // TODO: Move this to another part of the creation flow to prevent circular deps\n if (config._f === hooks.ISO_8601) {\n configFromISO(config);\n return;\n }\n if (config._f === hooks.RFC_2822) {\n configFromRFC2822(config);\n return;\n }\n config._a = [];\n getParsingFlags(config).empty = true;\n\n // This array is used to make a Date, either with `new Date` or `Date.UTC`\n var string = '' + config._i,\n i, parsedInput, tokens, token, skipped,\n stringLength = string.length,\n totalParsedInputLength = 0;\n\n tokens = expandFormat(config._f, config._locale).match(formattingTokens) || [];\n\n for (i = 0; i < tokens.length; i++) {\n token = tokens[i];\n parsedInput = (string.match(getParseRegexForToken(token, config)) || [])[0];\n // console.log('token', token, 'parsedInput', parsedInput,\n // 'regex', getParseRegexForToken(token, config));\n if (parsedInput) {\n skipped = string.substr(0, string.indexOf(parsedInput));\n if (skipped.length > 0) {\n getParsingFlags(config).unusedInput.push(skipped);\n }\n string = string.slice(string.indexOf(parsedInput) + parsedInput.length);\n totalParsedInputLength += parsedInput.length;\n }\n // don't parse if it's not a known token\n if (formatTokenFunctions[token]) {\n if (parsedInput) {\n getParsingFlags(config).empty = false;\n }\n else {\n getParsingFlags(config).unusedTokens.push(token);\n }\n addTimeToArrayFromToken(token, parsedInput, config);\n }\n else if (config._strict && !parsedInput) {\n getParsingFlags(config).unusedTokens.push(token);\n }\n }\n\n // add remaining unparsed input length to the string\n getParsingFlags(config).charsLeftOver = stringLength - totalParsedInputLength;\n if (string.length > 0) {\n getParsingFlags(config).unusedInput.push(string);\n }\n\n // clear _12h flag if hour is <= 12\n if (config._a[HOUR] <= 12 &&\n getParsingFlags(config).bigHour === true &&\n config._a[HOUR] > 0) {\n getParsingFlags(config).bigHour = undefined;\n }\n\n getParsingFlags(config).parsedDateParts = config._a.slice(0);\n getParsingFlags(config).meridiem = config._meridiem;\n // handle meridiem\n config._a[HOUR] = meridiemFixWrap(config._locale, config._a[HOUR], config._meridiem);\n\n configFromArray(config);\n checkOverflow(config);\n }\n\n\n function meridiemFixWrap (locale, hour, meridiem) {\n var isPm;\n\n if (meridiem == null) {\n // nothing to do\n return hour;\n }\n if (locale.meridiemHour != null) {\n return locale.meridiemHour(hour, meridiem);\n } else if (locale.isPM != null) {\n // Fallback\n isPm = locale.isPM(meridiem);\n if (isPm && hour < 12) {\n hour += 12;\n }\n if (!isPm && hour === 12) {\n hour = 0;\n }\n return hour;\n } else {\n // this is not supposed to happen\n return hour;\n }\n }\n\n // date from string and array of format strings\n function configFromStringAndArray(config) {\n var tempConfig,\n bestMoment,\n\n scoreToBeat,\n i,\n currentScore;\n\n if (config._f.length === 0) {\n getParsingFlags(config).invalidFormat = true;\n config._d = new Date(NaN);\n return;\n }\n\n for (i = 0; i < config._f.length; i++) {\n currentScore = 0;\n tempConfig = copyConfig({}, config);\n if (config._useUTC != null) {\n tempConfig._useUTC = config._useUTC;\n }\n tempConfig._f = config._f[i];\n configFromStringAndFormat(tempConfig);\n\n if (!isValid(tempConfig)) {\n continue;\n }\n\n // if there is any input that was not parsed add a penalty for that format\n currentScore += getParsingFlags(tempConfig).charsLeftOver;\n\n //or tokens\n currentScore += getParsingFlags(tempConfig).unusedTokens.length * 10;\n\n getParsingFlags(tempConfig).score = currentScore;\n\n if (scoreToBeat == null || currentScore < scoreToBeat) {\n scoreToBeat = currentScore;\n bestMoment = tempConfig;\n }\n }\n\n extend(config, bestMoment || tempConfig);\n }\n\n function configFromObject(config) {\n if (config._d) {\n return;\n }\n\n var i = normalizeObjectUnits(config._i);\n config._a = map([i.year, i.month, i.day || i.date, i.hour, i.minute, i.second, i.millisecond], function (obj) {\n return obj && parseInt(obj, 10);\n });\n\n configFromArray(config);\n }\n\n function createFromConfig (config) {\n var res = new Moment(checkOverflow(prepareConfig(config)));\n if (res._nextDay) {\n // Adding is smart enough around DST\n res.add(1, 'd');\n res._nextDay = undefined;\n }\n\n return res;\n }\n\n function prepareConfig (config) {\n var input = config._i,\n format = config._f;\n\n config._locale = config._locale || getLocale(config._l);\n\n if (input === null || (format === undefined && input === '')) {\n return createInvalid({nullInput: true});\n }\n\n if (typeof input === 'string') {\n config._i = input = config._locale.preparse(input);\n }\n\n if (isMoment(input)) {\n return new Moment(checkOverflow(input));\n } else if (isDate(input)) {\n config._d = input;\n } else if (isArray(format)) {\n configFromStringAndArray(config);\n } else if (format) {\n configFromStringAndFormat(config);\n } else {\n configFromInput(config);\n }\n\n if (!isValid(config)) {\n config._d = null;\n }\n\n return config;\n }\n\n function configFromInput(config) {\n var input = config._i;\n if (isUndefined(input)) {\n config._d = new Date(hooks.now());\n } else if (isDate(input)) {\n config._d = new Date(input.valueOf());\n } else if (typeof input === 'string') {\n configFromString(config);\n } else if (isArray(input)) {\n config._a = map(input.slice(0), function (obj) {\n return parseInt(obj, 10);\n });\n configFromArray(config);\n } else if (isObject(input)) {\n configFromObject(config);\n } else if (isNumber(input)) {\n // from milliseconds\n config._d = new Date(input);\n } else {\n hooks.createFromInputFallback(config);\n }\n }\n\n function createLocalOrUTC (input, format, locale, strict, isUTC) {\n var c = {};\n\n if (locale === true || locale === false) {\n strict = locale;\n locale = undefined;\n }\n\n if ((isObject(input) && isObjectEmpty(input)) ||\n (isArray(input) && input.length === 0)) {\n input = undefined;\n }\n // object construction must be done this way.\n // https://github.com/moment/moment/issues/1423\n c._isAMomentObject = true;\n c._useUTC = c._isUTC = isUTC;\n c._l = locale;\n c._i = input;\n c._f = format;\n c._strict = strict;\n\n return createFromConfig(c);\n }\n\n function createLocal (input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, false);\n }\n\n var prototypeMin = deprecate(\n 'moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/',\n function () {\n var other = createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other < this ? this : other;\n } else {\n return createInvalid();\n }\n }\n );\n\n var prototypeMax = deprecate(\n 'moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/',\n function () {\n var other = createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other > this ? this : other;\n } else {\n return createInvalid();\n }\n }\n );\n\n // Pick a moment m from moments so that m[fn](other) is true for all\n // other. This relies on the function fn to be transitive.\n //\n // moments should either be an array of moment objects or an array, whose\n // first element is an array of moment objects.\n function pickBy(fn, moments) {\n var res, i;\n if (moments.length === 1 && isArray(moments[0])) {\n moments = moments[0];\n }\n if (!moments.length) {\n return createLocal();\n }\n res = moments[0];\n for (i = 1; i < moments.length; ++i) {\n if (!moments[i].isValid() || moments[i][fn](res)) {\n res = moments[i];\n }\n }\n return res;\n }\n\n // TODO: Use [].sort instead?\n function min () {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isBefore', args);\n }\n\n function max () {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isAfter', args);\n }\n\n var now = function () {\n return Date.now ? Date.now() : +(new Date());\n };\n\n var ordering = ['year', 'quarter', 'month', 'week', 'day', 'hour', 'minute', 'second', 'millisecond'];\n\n function isDurationValid(m) {\n for (var key in m) {\n if (!(indexOf.call(ordering, key) !== -1 && (m[key] == null || !isNaN(m[key])))) {\n return false;\n }\n }\n\n var unitHasDecimal = false;\n for (var i = 0; i < ordering.length; ++i) {\n if (m[ordering[i]]) {\n if (unitHasDecimal) {\n return false; // only allow non-integers for smallest unit\n }\n if (parseFloat(m[ordering[i]]) !== toInt(m[ordering[i]])) {\n unitHasDecimal = true;\n }\n }\n }\n\n return true;\n }\n\n function isValid$1() {\n return this._isValid;\n }\n\n function createInvalid$1() {\n return createDuration(NaN);\n }\n\n function Duration (duration) {\n var normalizedInput = normalizeObjectUnits(duration),\n years = normalizedInput.year || 0,\n quarters = normalizedInput.quarter || 0,\n months = normalizedInput.month || 0,\n weeks = normalizedInput.week || 0,\n days = normalizedInput.day || 0,\n hours = normalizedInput.hour || 0,\n minutes = normalizedInput.minute || 0,\n seconds = normalizedInput.second || 0,\n milliseconds = normalizedInput.millisecond || 0;\n\n this._isValid = isDurationValid(normalizedInput);\n\n // representation for dateAddRemove\n this._milliseconds = +milliseconds +\n seconds * 1e3 + // 1000\n minutes * 6e4 + // 1000 * 60\n hours * 1000 * 60 * 60; //using 1000 * 60 * 60 instead of 36e5 to avoid floating point rounding errors https://github.com/moment/moment/issues/2978\n // Because of dateAddRemove treats 24 hours as different from a\n // day when working around DST, we need to store them separately\n this._days = +days +\n weeks * 7;\n // It is impossible to translate months into days without knowing\n // which months you are are talking about, so we have to store\n // it separately.\n this._months = +months +\n quarters * 3 +\n years * 12;\n\n this._data = {};\n\n this._locale = getLocale();\n\n this._bubble();\n }\n\n function isDuration (obj) {\n return obj instanceof Duration;\n }\n\n function absRound (number) {\n if (number < 0) {\n return Math.round(-1 * number) * -1;\n } else {\n return Math.round(number);\n }\n }\n\n // FORMATTING\n\n function offset (token, separator) {\n addFormatToken(token, 0, 0, function () {\n var offset = this.utcOffset();\n var sign = '+';\n if (offset < 0) {\n offset = -offset;\n sign = '-';\n }\n return sign + zeroFill(~~(offset / 60), 2) + separator + zeroFill(~~(offset) % 60, 2);\n });\n }\n\n offset('Z', ':');\n offset('ZZ', '');\n\n // PARSING\n\n addRegexToken('Z', matchShortOffset);\n addRegexToken('ZZ', matchShortOffset);\n addParseToken(['Z', 'ZZ'], function (input, array, config) {\n config._useUTC = true;\n config._tzm = offsetFromString(matchShortOffset, input);\n });\n\n // HELPERS\n\n // timezone chunker\n // '+10:00' > ['10', '00']\n // '-1530' > ['-15', '30']\n var chunkOffset = /([\\+\\-]|\\d\\d)/gi;\n\n function offsetFromString(matcher, string) {\n var matches = (string || '').match(matcher);\n\n if (matches === null) {\n return null;\n }\n\n var chunk = matches[matches.length - 1] || [];\n var parts = (chunk + '').match(chunkOffset) || ['-', 0, 0];\n var minutes = +(parts[1] * 60) + toInt(parts[2]);\n\n return minutes === 0 ?\n 0 :\n parts[0] === '+' ? minutes : -minutes;\n }\n\n // Return a moment from input, that is local/utc/zone equivalent to model.\n function cloneWithOffset(input, model) {\n var res, diff;\n if (model._isUTC) {\n res = model.clone();\n diff = (isMoment(input) || isDate(input) ? input.valueOf() : createLocal(input).valueOf()) - res.valueOf();\n // Use low-level api, because this fn is low-level api.\n res._d.setTime(res._d.valueOf() + diff);\n hooks.updateOffset(res, false);\n return res;\n } else {\n return createLocal(input).local();\n }\n }\n\n function getDateOffset (m) {\n // On Firefox.24 Date#getTimezoneOffset returns a floating point.\n // https://github.com/moment/moment/pull/1871\n return -Math.round(m._d.getTimezoneOffset() / 15) * 15;\n }\n\n // HOOKS\n\n // This function will be called whenever a moment is mutated.\n // It is intended to keep the offset in sync with the timezone.\n hooks.updateOffset = function () {};\n\n // MOMENTS\n\n // keepLocalTime = true means only change the timezone, without\n // affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]-->\n // 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset\n // +0200, so we adjust the time as needed, to be valid.\n //\n // Keeping the time actually adds/subtracts (one hour)\n // from the actual represented time. That is why we call updateOffset\n // a second time. In case it wants us to change the offset again\n // _changeInProgress == true case, then we have to adjust, because\n // there is no such time in the given timezone.\n function getSetOffset (input, keepLocalTime, keepMinutes) {\n var offset = this._offset || 0,\n localAdjust;\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n if (input != null) {\n if (typeof input === 'string') {\n input = offsetFromString(matchShortOffset, input);\n if (input === null) {\n return this;\n }\n } else if (Math.abs(input) < 16 && !keepMinutes) {\n input = input * 60;\n }\n if (!this._isUTC && keepLocalTime) {\n localAdjust = getDateOffset(this);\n }\n this._offset = input;\n this._isUTC = true;\n if (localAdjust != null) {\n this.add(localAdjust, 'm');\n }\n if (offset !== input) {\n if (!keepLocalTime || this._changeInProgress) {\n addSubtract(this, createDuration(input - offset, 'm'), 1, false);\n } else if (!this._changeInProgress) {\n this._changeInProgress = true;\n hooks.updateOffset(this, true);\n this._changeInProgress = null;\n }\n }\n return this;\n } else {\n return this._isUTC ? offset : getDateOffset(this);\n }\n }\n\n function getSetZone (input, keepLocalTime) {\n if (input != null) {\n if (typeof input !== 'string') {\n input = -input;\n }\n\n this.utcOffset(input, keepLocalTime);\n\n return this;\n } else {\n return -this.utcOffset();\n }\n }\n\n function setOffsetToUTC (keepLocalTime) {\n return this.utcOffset(0, keepLocalTime);\n }\n\n function setOffsetToLocal (keepLocalTime) {\n if (this._isUTC) {\n this.utcOffset(0, keepLocalTime);\n this._isUTC = false;\n\n if (keepLocalTime) {\n this.subtract(getDateOffset(this), 'm');\n }\n }\n return this;\n }\n\n function setOffsetToParsedOffset () {\n if (this._tzm != null) {\n this.utcOffset(this._tzm, false, true);\n } else if (typeof this._i === 'string') {\n var tZone = offsetFromString(matchOffset, this._i);\n if (tZone != null) {\n this.utcOffset(tZone);\n }\n else {\n this.utcOffset(0, true);\n }\n }\n return this;\n }\n\n function hasAlignedHourOffset (input) {\n if (!this.isValid()) {\n return false;\n }\n input = input ? createLocal(input).utcOffset() : 0;\n\n return (this.utcOffset() - input) % 60 === 0;\n }\n\n function isDaylightSavingTime () {\n return (\n this.utcOffset() > this.clone().month(0).utcOffset() ||\n this.utcOffset() > this.clone().month(5).utcOffset()\n );\n }\n\n function isDaylightSavingTimeShifted () {\n if (!isUndefined(this._isDSTShifted)) {\n return this._isDSTShifted;\n }\n\n var c = {};\n\n copyConfig(c, this);\n c = prepareConfig(c);\n\n if (c._a) {\n var other = c._isUTC ? createUTC(c._a) : createLocal(c._a);\n this._isDSTShifted = this.isValid() &&\n compareArrays(c._a, other.toArray()) > 0;\n } else {\n this._isDSTShifted = false;\n }\n\n return this._isDSTShifted;\n }\n\n function isLocal () {\n return this.isValid() ? !this._isUTC : false;\n }\n\n function isUtcOffset () {\n return this.isValid() ? this._isUTC : false;\n }\n\n function isUtc () {\n return this.isValid() ? this._isUTC && this._offset === 0 : false;\n }\n\n // ASP.NET json date format regex\n var aspNetRegex = /^(\\-|\\+)?(?:(\\d*)[. ])?(\\d+)\\:(\\d+)(?:\\:(\\d+)(\\.\\d*)?)?$/;\n\n // from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html\n // somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere\n // and further modified to allow for strings containing both week and day\n var isoRegex = /^(-|\\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;\n\n function createDuration (input, key) {\n var duration = input,\n // matching against regexp is expensive, do it on demand\n match = null,\n sign,\n ret,\n diffRes;\n\n if (isDuration(input)) {\n duration = {\n ms : input._milliseconds,\n d : input._days,\n M : input._months\n };\n } else if (isNumber(input)) {\n duration = {};\n if (key) {\n duration[key] = input;\n } else {\n duration.milliseconds = input;\n }\n } else if (!!(match = aspNetRegex.exec(input))) {\n sign = (match[1] === '-') ? -1 : 1;\n duration = {\n y : 0,\n d : toInt(match[DATE]) * sign,\n h : toInt(match[HOUR]) * sign,\n m : toInt(match[MINUTE]) * sign,\n s : toInt(match[SECOND]) * sign,\n ms : toInt(absRound(match[MILLISECOND] * 1000)) * sign // the millisecond decimal point is included in the match\n };\n } else if (!!(match = isoRegex.exec(input))) {\n sign = (match[1] === '-') ? -1 : (match[1] === '+') ? 1 : 1;\n duration = {\n y : parseIso(match[2], sign),\n M : parseIso(match[3], sign),\n w : parseIso(match[4], sign),\n d : parseIso(match[5], sign),\n h : parseIso(match[6], sign),\n m : parseIso(match[7], sign),\n s : parseIso(match[8], sign)\n };\n } else if (duration == null) {// checks for null or undefined\n duration = {};\n } else if (typeof duration === 'object' && ('from' in duration || 'to' in duration)) {\n diffRes = momentsDifference(createLocal(duration.from), createLocal(duration.to));\n\n duration = {};\n duration.ms = diffRes.milliseconds;\n duration.M = diffRes.months;\n }\n\n ret = new Duration(duration);\n\n if (isDuration(input) && hasOwnProp(input, '_locale')) {\n ret._locale = input._locale;\n }\n\n return ret;\n }\n\n createDuration.fn = Duration.prototype;\n createDuration.invalid = createInvalid$1;\n\n function parseIso (inp, sign) {\n // We'd normally use ~~inp for this, but unfortunately it also\n // converts floats to ints.\n // inp may be undefined, so careful calling replace on it.\n var res = inp && parseFloat(inp.replace(',', '.'));\n // apply sign while we're at it\n return (isNaN(res) ? 0 : res) * sign;\n }\n\n function positiveMomentsDifference(base, other) {\n var res = {milliseconds: 0, months: 0};\n\n res.months = other.month() - base.month() +\n (other.year() - base.year()) * 12;\n if (base.clone().add(res.months, 'M').isAfter(other)) {\n --res.months;\n }\n\n res.milliseconds = +other - +(base.clone().add(res.months, 'M'));\n\n return res;\n }\n\n function momentsDifference(base, other) {\n var res;\n if (!(base.isValid() && other.isValid())) {\n return {milliseconds: 0, months: 0};\n }\n\n other = cloneWithOffset(other, base);\n if (base.isBefore(other)) {\n res = positiveMomentsDifference(base, other);\n } else {\n res = positiveMomentsDifference(other, base);\n res.milliseconds = -res.milliseconds;\n res.months = -res.months;\n }\n\n return res;\n }\n\n // TODO: remove 'name' arg after deprecation is removed\n function createAdder(direction, name) {\n return function (val, period) {\n var dur, tmp;\n //invert the arguments, but complain about it\n if (period !== null && !isNaN(+period)) {\n deprecateSimple(name, 'moment().' + name + '(period, number) is deprecated. Please use moment().' + name + '(number, period). ' +\n 'See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.');\n tmp = val; val = period; period = tmp;\n }\n\n val = typeof val === 'string' ? +val : val;\n dur = createDuration(val, period);\n addSubtract(this, dur, direction);\n return this;\n };\n }\n\n function addSubtract (mom, duration, isAdding, updateOffset) {\n var milliseconds = duration._milliseconds,\n days = absRound(duration._days),\n months = absRound(duration._months);\n\n if (!mom.isValid()) {\n // No op\n return;\n }\n\n updateOffset = updateOffset == null ? true : updateOffset;\n\n if (months) {\n setMonth(mom, get(mom, 'Month') + months * isAdding);\n }\n if (days) {\n set$1(mom, 'Date', get(mom, 'Date') + days * isAdding);\n }\n if (milliseconds) {\n mom._d.setTime(mom._d.valueOf() + milliseconds * isAdding);\n }\n if (updateOffset) {\n hooks.updateOffset(mom, days || months);\n }\n }\n\n var add = createAdder(1, 'add');\n var subtract = createAdder(-1, 'subtract');\n\n function getCalendarFormat(myMoment, now) {\n var diff = myMoment.diff(now, 'days', true);\n return diff < -6 ? 'sameElse' :\n diff < -1 ? 'lastWeek' :\n diff < 0 ? 'lastDay' :\n diff < 1 ? 'sameDay' :\n diff < 2 ? 'nextDay' :\n diff < 7 ? 'nextWeek' : 'sameElse';\n }\n\n function calendar$1 (time, formats) {\n // We want to compare the start of today, vs this.\n // Getting start-of-today depends on whether we're local/utc/offset or not.\n var now = time || createLocal(),\n sod = cloneWithOffset(now, this).startOf('day'),\n format = hooks.calendarFormat(this, sod) || 'sameElse';\n\n var output = formats && (isFunction(formats[format]) ? formats[format].call(this, now) : formats[format]);\n\n return this.format(output || this.localeData().calendar(format, this, createLocal(now)));\n }\n\n function clone () {\n return new Moment(this);\n }\n\n function isAfter (input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(!isUndefined(units) ? units : 'millisecond');\n if (units === 'millisecond') {\n return this.valueOf() > localInput.valueOf();\n } else {\n return localInput.valueOf() < this.clone().startOf(units).valueOf();\n }\n }\n\n function isBefore (input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(!isUndefined(units) ? units : 'millisecond');\n if (units === 'millisecond') {\n return this.valueOf() < localInput.valueOf();\n } else {\n return this.clone().endOf(units).valueOf() < localInput.valueOf();\n }\n }\n\n function isBetween (from, to, units, inclusivity) {\n inclusivity = inclusivity || '()';\n return (inclusivity[0] === '(' ? this.isAfter(from, units) : !this.isBefore(from, units)) &&\n (inclusivity[1] === ')' ? this.isBefore(to, units) : !this.isAfter(to, units));\n }\n\n function isSame (input, units) {\n var localInput = isMoment(input) ? input : createLocal(input),\n inputMs;\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units || 'millisecond');\n if (units === 'millisecond') {\n return this.valueOf() === localInput.valueOf();\n } else {\n inputMs = localInput.valueOf();\n return this.clone().startOf(units).valueOf() <= inputMs && inputMs <= this.clone().endOf(units).valueOf();\n }\n }\n\n function isSameOrAfter (input, units) {\n return this.isSame(input, units) || this.isAfter(input,units);\n }\n\n function isSameOrBefore (input, units) {\n return this.isSame(input, units) || this.isBefore(input,units);\n }\n\n function diff (input, units, asFloat) {\n var that,\n zoneDelta,\n output;\n\n if (!this.isValid()) {\n return NaN;\n }\n\n that = cloneWithOffset(input, this);\n\n if (!that.isValid()) {\n return NaN;\n }\n\n zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4;\n\n units = normalizeUnits(units);\n\n switch (units) {\n case 'year': output = monthDiff(this, that) / 12; break;\n case 'month': output = monthDiff(this, that); break;\n case 'quarter': output = monthDiff(this, that) / 3; break;\n case 'second': output = (this - that) / 1e3; break; // 1000\n case 'minute': output = (this - that) / 6e4; break; // 1000 * 60\n case 'hour': output = (this - that) / 36e5; break; // 1000 * 60 * 60\n case 'day': output = (this - that - zoneDelta) / 864e5; break; // 1000 * 60 * 60 * 24, negate dst\n case 'week': output = (this - that - zoneDelta) / 6048e5; break; // 1000 * 60 * 60 * 24 * 7, negate dst\n default: output = this - that;\n }\n\n return asFloat ? output : absFloor(output);\n }\n\n function monthDiff (a, b) {\n // difference in months\n var wholeMonthDiff = ((b.year() - a.year()) * 12) + (b.month() - a.month()),\n // b is in (anchor - 1 month, anchor + 1 month)\n anchor = a.clone().add(wholeMonthDiff, 'months'),\n anchor2, adjust;\n\n if (b - anchor < 0) {\n anchor2 = a.clone().add(wholeMonthDiff - 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor - anchor2);\n } else {\n anchor2 = a.clone().add(wholeMonthDiff + 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor2 - anchor);\n }\n\n //check for negative zero, return zero if negative zero\n return -(wholeMonthDiff + adjust) || 0;\n }\n\n hooks.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ';\n hooks.defaultFormatUtc = 'YYYY-MM-DDTHH:mm:ss[Z]';\n\n function toString () {\n return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ');\n }\n\n function toISOString(keepOffset) {\n if (!this.isValid()) {\n return null;\n }\n var utc = keepOffset !== true;\n var m = utc ? this.clone().utc() : this;\n if (m.year() < 0 || m.year() > 9999) {\n return formatMoment(m, utc ? 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYYYY-MM-DD[T]HH:mm:ss.SSSZ');\n }\n if (isFunction(Date.prototype.toISOString)) {\n // native implementation is ~50x faster, use it when we can\n if (utc) {\n return this.toDate().toISOString();\n } else {\n return new Date(this.valueOf() + this.utcOffset() * 60 * 1000).toISOString().replace('Z', formatMoment(m, 'Z'));\n }\n }\n return formatMoment(m, utc ? 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYY-MM-DD[T]HH:mm:ss.SSSZ');\n }\n\n /**\n * Return a human readable representation of a moment that can\n * also be evaluated to get a new moment which is the same\n *\n * @link https://nodejs.org/dist/latest/docs/api/util.html#util_custom_inspect_function_on_objects\n */\n function inspect () {\n if (!this.isValid()) {\n return 'moment.invalid(/* ' + this._i + ' */)';\n }\n var func = 'moment';\n var zone = '';\n if (!this.isLocal()) {\n func = this.utcOffset() === 0 ? 'moment.utc' : 'moment.parseZone';\n zone = 'Z';\n }\n var prefix = '[' + func + '(\"]';\n var year = (0 <= this.year() && this.year() <= 9999) ? 'YYYY' : 'YYYYYY';\n var datetime = '-MM-DD[T]HH:mm:ss.SSS';\n var suffix = zone + '[\")]';\n\n return this.format(prefix + year + datetime + suffix);\n }\n\n function format (inputString) {\n if (!inputString) {\n inputString = this.isUtc() ? hooks.defaultFormatUtc : hooks.defaultFormat;\n }\n var output = formatMoment(this, inputString);\n return this.localeData().postformat(output);\n }\n\n function from (time, withoutSuffix) {\n if (this.isValid() &&\n ((isMoment(time) && time.isValid()) ||\n createLocal(time).isValid())) {\n return createDuration({to: this, from: time}).locale(this.locale()).humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n\n function fromNow (withoutSuffix) {\n return this.from(createLocal(), withoutSuffix);\n }\n\n function to (time, withoutSuffix) {\n if (this.isValid() &&\n ((isMoment(time) && time.isValid()) ||\n createLocal(time).isValid())) {\n return createDuration({from: this, to: time}).locale(this.locale()).humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n\n function toNow (withoutSuffix) {\n return this.to(createLocal(), withoutSuffix);\n }\n\n // If passed a locale key, it will set the locale for this\n // instance. Otherwise, it will return the locale configuration\n // variables for this instance.\n function locale (key) {\n var newLocaleData;\n\n if (key === undefined) {\n return this._locale._abbr;\n } else {\n newLocaleData = getLocale(key);\n if (newLocaleData != null) {\n this._locale = newLocaleData;\n }\n return this;\n }\n }\n\n var lang = deprecate(\n 'moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.',\n function (key) {\n if (key === undefined) {\n return this.localeData();\n } else {\n return this.locale(key);\n }\n }\n );\n\n function localeData () {\n return this._locale;\n }\n\n function startOf (units) {\n units = normalizeUnits(units);\n // the following switch intentionally omits break keywords\n // to utilize falling through the cases.\n switch (units) {\n case 'year':\n this.month(0);\n /* falls through */\n case 'quarter':\n case 'month':\n this.date(1);\n /* falls through */\n case 'week':\n case 'isoWeek':\n case 'day':\n case 'date':\n this.hours(0);\n /* falls through */\n case 'hour':\n this.minutes(0);\n /* falls through */\n case 'minute':\n this.seconds(0);\n /* falls through */\n case 'second':\n this.milliseconds(0);\n }\n\n // weeks are a special case\n if (units === 'week') {\n this.weekday(0);\n }\n if (units === 'isoWeek') {\n this.isoWeekday(1);\n }\n\n // quarters are also special\n if (units === 'quarter') {\n this.month(Math.floor(this.month() / 3) * 3);\n }\n\n return this;\n }\n\n function endOf (units) {\n units = normalizeUnits(units);\n if (units === undefined || units === 'millisecond') {\n return this;\n }\n\n // 'date' is an alias for 'day', so it should be considered as such.\n if (units === 'date') {\n units = 'day';\n }\n\n return this.startOf(units).add(1, (units === 'isoWeek' ? 'week' : units)).subtract(1, 'ms');\n }\n\n function valueOf () {\n return this._d.valueOf() - ((this._offset || 0) * 60000);\n }\n\n function unix () {\n return Math.floor(this.valueOf() / 1000);\n }\n\n function toDate () {\n return new Date(this.valueOf());\n }\n\n function toArray () {\n var m = this;\n return [m.year(), m.month(), m.date(), m.hour(), m.minute(), m.second(), m.millisecond()];\n }\n\n function toObject () {\n var m = this;\n return {\n years: m.year(),\n months: m.month(),\n date: m.date(),\n hours: m.hours(),\n minutes: m.minutes(),\n seconds: m.seconds(),\n milliseconds: m.milliseconds()\n };\n }\n\n function toJSON () {\n // new Date(NaN).toJSON() === null\n return this.isValid() ? this.toISOString() : null;\n }\n\n function isValid$2 () {\n return isValid(this);\n }\n\n function parsingFlags () {\n return extend({}, getParsingFlags(this));\n }\n\n function invalidAt () {\n return getParsingFlags(this).overflow;\n }\n\n function creationData() {\n return {\n input: this._i,\n format: this._f,\n locale: this._locale,\n isUTC: this._isUTC,\n strict: this._strict\n };\n }\n\n // FORMATTING\n\n addFormatToken(0, ['gg', 2], 0, function () {\n return this.weekYear() % 100;\n });\n\n addFormatToken(0, ['GG', 2], 0, function () {\n return this.isoWeekYear() % 100;\n });\n\n function addWeekYearFormatToken (token, getter) {\n addFormatToken(0, [token, token.length], 0, getter);\n }\n\n addWeekYearFormatToken('gggg', 'weekYear');\n addWeekYearFormatToken('ggggg', 'weekYear');\n addWeekYearFormatToken('GGGG', 'isoWeekYear');\n addWeekYearFormatToken('GGGGG', 'isoWeekYear');\n\n // ALIASES\n\n addUnitAlias('weekYear', 'gg');\n addUnitAlias('isoWeekYear', 'GG');\n\n // PRIORITY\n\n addUnitPriority('weekYear', 1);\n addUnitPriority('isoWeekYear', 1);\n\n\n // PARSING\n\n addRegexToken('G', matchSigned);\n addRegexToken('g', matchSigned);\n addRegexToken('GG', match1to2, match2);\n addRegexToken('gg', match1to2, match2);\n addRegexToken('GGGG', match1to4, match4);\n addRegexToken('gggg', match1to4, match4);\n addRegexToken('GGGGG', match1to6, match6);\n addRegexToken('ggggg', match1to6, match6);\n\n addWeekParseToken(['gggg', 'ggggg', 'GGGG', 'GGGGG'], function (input, week, config, token) {\n week[token.substr(0, 2)] = toInt(input);\n });\n\n addWeekParseToken(['gg', 'GG'], function (input, week, config, token) {\n week[token] = hooks.parseTwoDigitYear(input);\n });\n\n // MOMENTS\n\n function getSetWeekYear (input) {\n return getSetWeekYearHelper.call(this,\n input,\n this.week(),\n this.weekday(),\n this.localeData()._week.dow,\n this.localeData()._week.doy);\n }\n\n function getSetISOWeekYear (input) {\n return getSetWeekYearHelper.call(this,\n input, this.isoWeek(), this.isoWeekday(), 1, 4);\n }\n\n function getISOWeeksInYear () {\n return weeksInYear(this.year(), 1, 4);\n }\n\n function getWeeksInYear () {\n var weekInfo = this.localeData()._week;\n return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy);\n }\n\n function getSetWeekYearHelper(input, week, weekday, dow, doy) {\n var weeksTarget;\n if (input == null) {\n return weekOfYear(this, dow, doy).year;\n } else {\n weeksTarget = weeksInYear(input, dow, doy);\n if (week > weeksTarget) {\n week = weeksTarget;\n }\n return setWeekAll.call(this, input, week, weekday, dow, doy);\n }\n }\n\n function setWeekAll(weekYear, week, weekday, dow, doy) {\n var dayOfYearData = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy),\n date = createUTCDate(dayOfYearData.year, 0, dayOfYearData.dayOfYear);\n\n this.year(date.getUTCFullYear());\n this.month(date.getUTCMonth());\n this.date(date.getUTCDate());\n return this;\n }\n\n // FORMATTING\n\n addFormatToken('Q', 0, 'Qo', 'quarter');\n\n // ALIASES\n\n addUnitAlias('quarter', 'Q');\n\n // PRIORITY\n\n addUnitPriority('quarter', 7);\n\n // PARSING\n\n addRegexToken('Q', match1);\n addParseToken('Q', function (input, array) {\n array[MONTH] = (toInt(input) - 1) * 3;\n });\n\n // MOMENTS\n\n function getSetQuarter (input) {\n return input == null ? Math.ceil((this.month() + 1) / 3) : this.month((input - 1) * 3 + this.month() % 3);\n }\n\n // FORMATTING\n\n addFormatToken('D', ['DD', 2], 'Do', 'date');\n\n // ALIASES\n\n addUnitAlias('date', 'D');\n\n // PRIORITY\n addUnitPriority('date', 9);\n\n // PARSING\n\n addRegexToken('D', match1to2);\n addRegexToken('DD', match1to2, match2);\n addRegexToken('Do', function (isStrict, locale) {\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n return isStrict ?\n (locale._dayOfMonthOrdinalParse || locale._ordinalParse) :\n locale._dayOfMonthOrdinalParseLenient;\n });\n\n addParseToken(['D', 'DD'], DATE);\n addParseToken('Do', function (input, array) {\n array[DATE] = toInt(input.match(match1to2)[0]);\n });\n\n // MOMENTS\n\n var getSetDayOfMonth = makeGetSet('Date', true);\n\n // FORMATTING\n\n addFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear');\n\n // ALIASES\n\n addUnitAlias('dayOfYear', 'DDD');\n\n // PRIORITY\n addUnitPriority('dayOfYear', 4);\n\n // PARSING\n\n addRegexToken('DDD', match1to3);\n addRegexToken('DDDD', match3);\n addParseToken(['DDD', 'DDDD'], function (input, array, config) {\n config._dayOfYear = toInt(input);\n });\n\n // HELPERS\n\n // MOMENTS\n\n function getSetDayOfYear (input) {\n var dayOfYear = Math.round((this.clone().startOf('day') - this.clone().startOf('year')) / 864e5) + 1;\n return input == null ? dayOfYear : this.add((input - dayOfYear), 'd');\n }\n\n // FORMATTING\n\n addFormatToken('m', ['mm', 2], 0, 'minute');\n\n // ALIASES\n\n addUnitAlias('minute', 'm');\n\n // PRIORITY\n\n addUnitPriority('minute', 14);\n\n // PARSING\n\n addRegexToken('m', match1to2);\n addRegexToken('mm', match1to2, match2);\n addParseToken(['m', 'mm'], MINUTE);\n\n // MOMENTS\n\n var getSetMinute = makeGetSet('Minutes', false);\n\n // FORMATTING\n\n addFormatToken('s', ['ss', 2], 0, 'second');\n\n // ALIASES\n\n addUnitAlias('second', 's');\n\n // PRIORITY\n\n addUnitPriority('second', 15);\n\n // PARSING\n\n addRegexToken('s', match1to2);\n addRegexToken('ss', match1to2, match2);\n addParseToken(['s', 'ss'], SECOND);\n\n // MOMENTS\n\n var getSetSecond = makeGetSet('Seconds', false);\n\n // FORMATTING\n\n addFormatToken('S', 0, 0, function () {\n return ~~(this.millisecond() / 100);\n });\n\n addFormatToken(0, ['SS', 2], 0, function () {\n return ~~(this.millisecond() / 10);\n });\n\n addFormatToken(0, ['SSS', 3], 0, 'millisecond');\n addFormatToken(0, ['SSSS', 4], 0, function () {\n return this.millisecond() * 10;\n });\n addFormatToken(0, ['SSSSS', 5], 0, function () {\n return this.millisecond() * 100;\n });\n addFormatToken(0, ['SSSSSS', 6], 0, function () {\n return this.millisecond() * 1000;\n });\n addFormatToken(0, ['SSSSSSS', 7], 0, function () {\n return this.millisecond() * 10000;\n });\n addFormatToken(0, ['SSSSSSSS', 8], 0, function () {\n return this.millisecond() * 100000;\n });\n addFormatToken(0, ['SSSSSSSSS', 9], 0, function () {\n return this.millisecond() * 1000000;\n });\n\n\n // ALIASES\n\n addUnitAlias('millisecond', 'ms');\n\n // PRIORITY\n\n addUnitPriority('millisecond', 16);\n\n // PARSING\n\n addRegexToken('S', match1to3, match1);\n addRegexToken('SS', match1to3, match2);\n addRegexToken('SSS', match1to3, match3);\n\n var token;\n for (token = 'SSSS'; token.length <= 9; token += 'S') {\n addRegexToken(token, matchUnsigned);\n }\n\n function parseMs(input, array) {\n array[MILLISECOND] = toInt(('0.' + input) * 1000);\n }\n\n for (token = 'S'; token.length <= 9; token += 'S') {\n addParseToken(token, parseMs);\n }\n // MOMENTS\n\n var getSetMillisecond = makeGetSet('Milliseconds', false);\n\n // FORMATTING\n\n addFormatToken('z', 0, 0, 'zoneAbbr');\n addFormatToken('zz', 0, 0, 'zoneName');\n\n // MOMENTS\n\n function getZoneAbbr () {\n return this._isUTC ? 'UTC' : '';\n }\n\n function getZoneName () {\n return this._isUTC ? 'Coordinated Universal Time' : '';\n }\n\n var proto = Moment.prototype;\n\n proto.add = add;\n proto.calendar = calendar$1;\n proto.clone = clone;\n proto.diff = diff;\n proto.endOf = endOf;\n proto.format = format;\n proto.from = from;\n proto.fromNow = fromNow;\n proto.to = to;\n proto.toNow = toNow;\n proto.get = stringGet;\n proto.invalidAt = invalidAt;\n proto.isAfter = isAfter;\n proto.isBefore = isBefore;\n proto.isBetween = isBetween;\n proto.isSame = isSame;\n proto.isSameOrAfter = isSameOrAfter;\n proto.isSameOrBefore = isSameOrBefore;\n proto.isValid = isValid$2;\n proto.lang = lang;\n proto.locale = locale;\n proto.localeData = localeData;\n proto.max = prototypeMax;\n proto.min = prototypeMin;\n proto.parsingFlags = parsingFlags;\n proto.set = stringSet;\n proto.startOf = startOf;\n proto.subtract = subtract;\n proto.toArray = toArray;\n proto.toObject = toObject;\n proto.toDate = toDate;\n proto.toISOString = toISOString;\n proto.inspect = inspect;\n proto.toJSON = toJSON;\n proto.toString = toString;\n proto.unix = unix;\n proto.valueOf = valueOf;\n proto.creationData = creationData;\n proto.year = getSetYear;\n proto.isLeapYear = getIsLeapYear;\n proto.weekYear = getSetWeekYear;\n proto.isoWeekYear = getSetISOWeekYear;\n proto.quarter = proto.quarters = getSetQuarter;\n proto.month = getSetMonth;\n proto.daysInMonth = getDaysInMonth;\n proto.week = proto.weeks = getSetWeek;\n proto.isoWeek = proto.isoWeeks = getSetISOWeek;\n proto.weeksInYear = getWeeksInYear;\n proto.isoWeeksInYear = getISOWeeksInYear;\n proto.date = getSetDayOfMonth;\n proto.day = proto.days = getSetDayOfWeek;\n proto.weekday = getSetLocaleDayOfWeek;\n proto.isoWeekday = getSetISODayOfWeek;\n proto.dayOfYear = getSetDayOfYear;\n proto.hour = proto.hours = getSetHour;\n proto.minute = proto.minutes = getSetMinute;\n proto.second = proto.seconds = getSetSecond;\n proto.millisecond = proto.milliseconds = getSetMillisecond;\n proto.utcOffset = getSetOffset;\n proto.utc = setOffsetToUTC;\n proto.local = setOffsetToLocal;\n proto.parseZone = setOffsetToParsedOffset;\n proto.hasAlignedHourOffset = hasAlignedHourOffset;\n proto.isDST = isDaylightSavingTime;\n proto.isLocal = isLocal;\n proto.isUtcOffset = isUtcOffset;\n proto.isUtc = isUtc;\n proto.isUTC = isUtc;\n proto.zoneAbbr = getZoneAbbr;\n proto.zoneName = getZoneName;\n proto.dates = deprecate('dates accessor is deprecated. Use date instead.', getSetDayOfMonth);\n proto.months = deprecate('months accessor is deprecated. Use month instead', getSetMonth);\n proto.years = deprecate('years accessor is deprecated. Use year instead', getSetYear);\n proto.zone = deprecate('moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/', getSetZone);\n proto.isDSTShifted = deprecate('isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information', isDaylightSavingTimeShifted);\n\n function createUnix (input) {\n return createLocal(input * 1000);\n }\n\n function createInZone () {\n return createLocal.apply(null, arguments).parseZone();\n }\n\n function preParsePostFormat (string) {\n return string;\n }\n\n var proto$1 = Locale.prototype;\n\n proto$1.calendar = calendar;\n proto$1.longDateFormat = longDateFormat;\n proto$1.invalidDate = invalidDate;\n proto$1.ordinal = ordinal;\n proto$1.preparse = preParsePostFormat;\n proto$1.postformat = preParsePostFormat;\n proto$1.relativeTime = relativeTime;\n proto$1.pastFuture = pastFuture;\n proto$1.set = set;\n\n proto$1.months = localeMonths;\n proto$1.monthsShort = localeMonthsShort;\n proto$1.monthsParse = localeMonthsParse;\n proto$1.monthsRegex = monthsRegex;\n proto$1.monthsShortRegex = monthsShortRegex;\n proto$1.week = localeWeek;\n proto$1.firstDayOfYear = localeFirstDayOfYear;\n proto$1.firstDayOfWeek = localeFirstDayOfWeek;\n\n proto$1.weekdays = localeWeekdays;\n proto$1.weekdaysMin = localeWeekdaysMin;\n proto$1.weekdaysShort = localeWeekdaysShort;\n proto$1.weekdaysParse = localeWeekdaysParse;\n\n proto$1.weekdaysRegex = weekdaysRegex;\n proto$1.weekdaysShortRegex = weekdaysShortRegex;\n proto$1.weekdaysMinRegex = weekdaysMinRegex;\n\n proto$1.isPM = localeIsPM;\n proto$1.meridiem = localeMeridiem;\n\n function get$1 (format, index, field, setter) {\n var locale = getLocale();\n var utc = createUTC().set(setter, index);\n return locale[field](utc, format);\n }\n\n function listMonthsImpl (format, index, field) {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n\n if (index != null) {\n return get$1(format, index, field, 'month');\n }\n\n var i;\n var out = [];\n for (i = 0; i < 12; i++) {\n out[i] = get$1(format, i, field, 'month');\n }\n return out;\n }\n\n // ()\n // (5)\n // (fmt, 5)\n // (fmt)\n // (true)\n // (true, 5)\n // (true, fmt, 5)\n // (true, fmt)\n function listWeekdaysImpl (localeSorted, format, index, field) {\n if (typeof localeSorted === 'boolean') {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n } else {\n format = localeSorted;\n index = format;\n localeSorted = false;\n\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n }\n\n var locale = getLocale(),\n shift = localeSorted ? locale._week.dow : 0;\n\n if (index != null) {\n return get$1(format, (index + shift) % 7, field, 'day');\n }\n\n var i;\n var out = [];\n for (i = 0; i < 7; i++) {\n out[i] = get$1(format, (i + shift) % 7, field, 'day');\n }\n return out;\n }\n\n function listMonths (format, index) {\n return listMonthsImpl(format, index, 'months');\n }\n\n function listMonthsShort (format, index) {\n return listMonthsImpl(format, index, 'monthsShort');\n }\n\n function listWeekdays (localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdays');\n }\n\n function listWeekdaysShort (localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysShort');\n }\n\n function listWeekdaysMin (localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysMin');\n }\n\n getSetGlobalLocale('en', {\n dayOfMonthOrdinalParse: /\\d{1,2}(th|st|nd|rd)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (toInt(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n }\n });\n\n // Side effect imports\n\n hooks.lang = deprecate('moment.lang is deprecated. Use moment.locale instead.', getSetGlobalLocale);\n hooks.langData = deprecate('moment.langData is deprecated. Use moment.localeData instead.', getLocale);\n\n var mathAbs = Math.abs;\n\n function abs () {\n var data = this._data;\n\n this._milliseconds = mathAbs(this._milliseconds);\n this._days = mathAbs(this._days);\n this._months = mathAbs(this._months);\n\n data.milliseconds = mathAbs(data.milliseconds);\n data.seconds = mathAbs(data.seconds);\n data.minutes = mathAbs(data.minutes);\n data.hours = mathAbs(data.hours);\n data.months = mathAbs(data.months);\n data.years = mathAbs(data.years);\n\n return this;\n }\n\n function addSubtract$1 (duration, input, value, direction) {\n var other = createDuration(input, value);\n\n duration._milliseconds += direction * other._milliseconds;\n duration._days += direction * other._days;\n duration._months += direction * other._months;\n\n return duration._bubble();\n }\n\n // supports only 2.0-style add(1, 's') or add(duration)\n function add$1 (input, value) {\n return addSubtract$1(this, input, value, 1);\n }\n\n // supports only 2.0-style subtract(1, 's') or subtract(duration)\n function subtract$1 (input, value) {\n return addSubtract$1(this, input, value, -1);\n }\n\n function absCeil (number) {\n if (number < 0) {\n return Math.floor(number);\n } else {\n return Math.ceil(number);\n }\n }\n\n function bubble () {\n var milliseconds = this._milliseconds;\n var days = this._days;\n var months = this._months;\n var data = this._data;\n var seconds, minutes, hours, years, monthsFromDays;\n\n // if we have a mix of positive and negative values, bubble down first\n // check: https://github.com/moment/moment/issues/2166\n if (!((milliseconds >= 0 && days >= 0 && months >= 0) ||\n (milliseconds <= 0 && days <= 0 && months <= 0))) {\n milliseconds += absCeil(monthsToDays(months) + days) * 864e5;\n days = 0;\n months = 0;\n }\n\n // The following code bubbles up values, see the tests for\n // examples of what that means.\n data.milliseconds = milliseconds % 1000;\n\n seconds = absFloor(milliseconds / 1000);\n data.seconds = seconds % 60;\n\n minutes = absFloor(seconds / 60);\n data.minutes = minutes % 60;\n\n hours = absFloor(minutes / 60);\n data.hours = hours % 24;\n\n days += absFloor(hours / 24);\n\n // convert days to months\n monthsFromDays = absFloor(daysToMonths(days));\n months += monthsFromDays;\n days -= absCeil(monthsToDays(monthsFromDays));\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n data.days = days;\n data.months = months;\n data.years = years;\n\n return this;\n }\n\n function daysToMonths (days) {\n // 400 years have 146097 days (taking into account leap year rules)\n // 400 years have 12 months === 4800\n return days * 4800 / 146097;\n }\n\n function monthsToDays (months) {\n // the reverse of daysToMonths\n return months * 146097 / 4800;\n }\n\n function as (units) {\n if (!this.isValid()) {\n return NaN;\n }\n var days;\n var months;\n var milliseconds = this._milliseconds;\n\n units = normalizeUnits(units);\n\n if (units === 'month' || units === 'year') {\n days = this._days + milliseconds / 864e5;\n months = this._months + daysToMonths(days);\n return units === 'month' ? months : months / 12;\n } else {\n // handle milliseconds separately because of floating point math errors (issue #1867)\n days = this._days + Math.round(monthsToDays(this._months));\n switch (units) {\n case 'week' : return days / 7 + milliseconds / 6048e5;\n case 'day' : return days + milliseconds / 864e5;\n case 'hour' : return days * 24 + milliseconds / 36e5;\n case 'minute' : return days * 1440 + milliseconds / 6e4;\n case 'second' : return days * 86400 + milliseconds / 1000;\n // Math.floor prevents floating point math errors here\n case 'millisecond': return Math.floor(days * 864e5) + milliseconds;\n default: throw new Error('Unknown unit ' + units);\n }\n }\n }\n\n // TODO: Use this.as('ms')?\n function valueOf$1 () {\n if (!this.isValid()) {\n return NaN;\n }\n return (\n this._milliseconds +\n this._days * 864e5 +\n (this._months % 12) * 2592e6 +\n toInt(this._months / 12) * 31536e6\n );\n }\n\n function makeAs (alias) {\n return function () {\n return this.as(alias);\n };\n }\n\n var asMilliseconds = makeAs('ms');\n var asSeconds = makeAs('s');\n var asMinutes = makeAs('m');\n var asHours = makeAs('h');\n var asDays = makeAs('d');\n var asWeeks = makeAs('w');\n var asMonths = makeAs('M');\n var asYears = makeAs('y');\n\n function clone$1 () {\n return createDuration(this);\n }\n\n function get$2 (units) {\n units = normalizeUnits(units);\n return this.isValid() ? this[units + 's']() : NaN;\n }\n\n function makeGetter(name) {\n return function () {\n return this.isValid() ? this._data[name] : NaN;\n };\n }\n\n var milliseconds = makeGetter('milliseconds');\n var seconds = makeGetter('seconds');\n var minutes = makeGetter('minutes');\n var hours = makeGetter('hours');\n var days = makeGetter('days');\n var months = makeGetter('months');\n var years = makeGetter('years');\n\n function weeks () {\n return absFloor(this.days() / 7);\n }\n\n var round = Math.round;\n var thresholds = {\n ss: 44, // a few seconds to seconds\n s : 45, // seconds to minute\n m : 45, // minutes to hour\n h : 22, // hours to day\n d : 26, // days to month\n M : 11 // months to year\n };\n\n // helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize\n function substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) {\n return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture);\n }\n\n function relativeTime$1 (posNegDuration, withoutSuffix, locale) {\n var duration = createDuration(posNegDuration).abs();\n var seconds = round(duration.as('s'));\n var minutes = round(duration.as('m'));\n var hours = round(duration.as('h'));\n var days = round(duration.as('d'));\n var months = round(duration.as('M'));\n var years = round(duration.as('y'));\n\n var a = seconds <= thresholds.ss && ['s', seconds] ||\n seconds < thresholds.s && ['ss', seconds] ||\n minutes <= 1 && ['m'] ||\n minutes < thresholds.m && ['mm', minutes] ||\n hours <= 1 && ['h'] ||\n hours < thresholds.h && ['hh', hours] ||\n days <= 1 && ['d'] ||\n days < thresholds.d && ['dd', days] ||\n months <= 1 && ['M'] ||\n months < thresholds.M && ['MM', months] ||\n years <= 1 && ['y'] || ['yy', years];\n\n a[2] = withoutSuffix;\n a[3] = +posNegDuration > 0;\n a[4] = locale;\n return substituteTimeAgo.apply(null, a);\n }\n\n // This function allows you to set the rounding function for relative time strings\n function getSetRelativeTimeRounding (roundingFunction) {\n if (roundingFunction === undefined) {\n return round;\n }\n if (typeof(roundingFunction) === 'function') {\n round = roundingFunction;\n return true;\n }\n return false;\n }\n\n // This function allows you to set a threshold for relative time strings\n function getSetRelativeTimeThreshold (threshold, limit) {\n if (thresholds[threshold] === undefined) {\n return false;\n }\n if (limit === undefined) {\n return thresholds[threshold];\n }\n thresholds[threshold] = limit;\n if (threshold === 's') {\n thresholds.ss = limit - 1;\n }\n return true;\n }\n\n function humanize (withSuffix) {\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var locale = this.localeData();\n var output = relativeTime$1(this, !withSuffix, locale);\n\n if (withSuffix) {\n output = locale.pastFuture(+this, output);\n }\n\n return locale.postformat(output);\n }\n\n var abs$1 = Math.abs;\n\n function sign(x) {\n return ((x > 0) - (x < 0)) || +x;\n }\n\n function toISOString$1() {\n // for ISO strings we do not use the normal bubbling rules:\n // * milliseconds bubble up until they become hours\n // * days do not bubble at all\n // * months bubble up until they become years\n // This is because there is no context-free conversion between hours and days\n // (think of clock changes)\n // and also not between days and months (28-31 days per month)\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var seconds = abs$1(this._milliseconds) / 1000;\n var days = abs$1(this._days);\n var months = abs$1(this._months);\n var minutes, hours, years;\n\n // 3600 seconds -> 60 minutes -> 1 hour\n minutes = absFloor(seconds / 60);\n hours = absFloor(minutes / 60);\n seconds %= 60;\n minutes %= 60;\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n\n // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js\n var Y = years;\n var M = months;\n var D = days;\n var h = hours;\n var m = minutes;\n var s = seconds ? seconds.toFixed(3).replace(/\\.?0+$/, '') : '';\n var total = this.asSeconds();\n\n if (!total) {\n // this is the same as C#'s (Noda) and python (isodate)...\n // but not other JS (goog.date)\n return 'P0D';\n }\n\n var totalSign = total < 0 ? '-' : '';\n var ymSign = sign(this._months) !== sign(total) ? '-' : '';\n var daysSign = sign(this._days) !== sign(total) ? '-' : '';\n var hmsSign = sign(this._milliseconds) !== sign(total) ? '-' : '';\n\n return totalSign + 'P' +\n (Y ? ymSign + Y + 'Y' : '') +\n (M ? ymSign + M + 'M' : '') +\n (D ? daysSign + D + 'D' : '') +\n ((h || m || s) ? 'T' : '') +\n (h ? hmsSign + h + 'H' : '') +\n (m ? hmsSign + m + 'M' : '') +\n (s ? hmsSign + s + 'S' : '');\n }\n\n var proto$2 = Duration.prototype;\n\n proto$2.isValid = isValid$1;\n proto$2.abs = abs;\n proto$2.add = add$1;\n proto$2.subtract = subtract$1;\n proto$2.as = as;\n proto$2.asMilliseconds = asMilliseconds;\n proto$2.asSeconds = asSeconds;\n proto$2.asMinutes = asMinutes;\n proto$2.asHours = asHours;\n proto$2.asDays = asDays;\n proto$2.asWeeks = asWeeks;\n proto$2.asMonths = asMonths;\n proto$2.asYears = asYears;\n proto$2.valueOf = valueOf$1;\n proto$2._bubble = bubble;\n proto$2.clone = clone$1;\n proto$2.get = get$2;\n proto$2.milliseconds = milliseconds;\n proto$2.seconds = seconds;\n proto$2.minutes = minutes;\n proto$2.hours = hours;\n proto$2.days = days;\n proto$2.weeks = weeks;\n proto$2.months = months;\n proto$2.years = years;\n proto$2.humanize = humanize;\n proto$2.toISOString = toISOString$1;\n proto$2.toString = toISOString$1;\n proto$2.toJSON = toISOString$1;\n proto$2.locale = locale;\n proto$2.localeData = localeData;\n\n proto$2.toIsoString = deprecate('toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)', toISOString$1);\n proto$2.lang = lang;\n\n // Side effect imports\n\n // FORMATTING\n\n addFormatToken('X', 0, 0, 'unix');\n addFormatToken('x', 0, 0, 'valueOf');\n\n // PARSING\n\n addRegexToken('x', matchSigned);\n addRegexToken('X', matchTimestamp);\n addParseToken('X', function (input, array, config) {\n config._d = new Date(parseFloat(input, 10) * 1000);\n });\n addParseToken('x', function (input, array, config) {\n config._d = new Date(toInt(input));\n });\n\n // Side effect imports\n\n\n hooks.version = '2.22.2';\n\n setHookCallback(createLocal);\n\n hooks.fn = proto;\n hooks.min = min;\n hooks.max = max;\n hooks.now = now;\n hooks.utc = createUTC;\n hooks.unix = createUnix;\n hooks.months = listMonths;\n hooks.isDate = isDate;\n hooks.locale = getSetGlobalLocale;\n hooks.invalid = createInvalid;\n hooks.duration = createDuration;\n hooks.isMoment = isMoment;\n hooks.weekdays = listWeekdays;\n hooks.parseZone = createInZone;\n hooks.localeData = getLocale;\n hooks.isDuration = isDuration;\n hooks.monthsShort = listMonthsShort;\n hooks.weekdaysMin = listWeekdaysMin;\n hooks.defineLocale = defineLocale;\n hooks.updateLocale = updateLocale;\n hooks.locales = listLocales;\n hooks.weekdaysShort = listWeekdaysShort;\n hooks.normalizeUnits = normalizeUnits;\n hooks.relativeTimeRounding = getSetRelativeTimeRounding;\n hooks.relativeTimeThreshold = getSetRelativeTimeThreshold;\n hooks.calendarFormat = getCalendarFormat;\n hooks.prototype = proto;\n\n // currently HTML5 input type only supports 24-hour formats\n hooks.HTML5_FMT = {\n DATETIME_LOCAL: 'YYYY-MM-DDTHH:mm', // \n DATETIME_LOCAL_SECONDS: 'YYYY-MM-DDTHH:mm:ss', // \n DATETIME_LOCAL_MS: 'YYYY-MM-DDTHH:mm:ss.SSS', // \n DATE: 'YYYY-MM-DD', // \n TIME: 'HH:mm', // \n TIME_SECONDS: 'HH:mm:ss', // \n TIME_MS: 'HH:mm:ss.SSS', // \n WEEK: 'YYYY-[W]WW', // \n MONTH: 'YYYY-MM' // \n };\n\n return hooks;\n\n})));\n","export function each(o, cb, s) {\n var n;\n if (!o) {\n return 0;\n }\n s = !s ? o : s;\n if (o instanceof Array) {\n // Indexed arrays, needed for Safari\n for (n = 0; n < o.length; n++) {\n if (cb.call(s, o[n], n, o) === false) {\n return 0;\n }\n }\n } else {\n // Hashtables\n for (n in o) {\n if (o.hasOwnProperty(n)) {\n if (cb.call(s, o[n], n, o) === false){\n return 0;\n }\n }\n }\n }\n return 1;\n}\n","const matchHtmlRegExp = /[\"'&<>]/;\n\n/**\n * Escape special characters in the given string of html.\n *\n * @param {string} string The string to escape for inserting into HTML\n * @return {string}\n * @public\n */\n\nexport function escapeHtml(string) {\n var str = '' + string;\n var match = matchHtmlRegExp.exec(str);\n\n if (!match) {\n return str;\n }\n\n var escape;\n var html = '';\n var index = 0;\n var lastIndex = 0;\n\n for (index = match.index; index < str.length; index++) {\n switch (str.charCodeAt(index)) {\n case 34: // \"\n escape = '"';\n break;\n case 38: // &\n escape = '&';\n break;\n case 39: // '\n escape = ''';\n break;\n case 60: // <\n escape = '<';\n break;\n case 62: // >\n escape = '>';\n break;\n default:\n continue;\n }\n\n if (lastIndex !== index) {\n html += str.substring(lastIndex, index);\n }\n\n lastIndex = index + 1;\n html += escape;\n }\n\n return lastIndex !== index\n ? html + str.substring(lastIndex, index)\n : html;\n}\n","export function extend(target) {\n for (var i = 1; i < arguments.length; i++) {\n for (var prop in arguments[i]){\n target[prop] = arguments[i][prop];\n }\n }\n return target;\n}\n","export function testObject(input) {\n if (input !== null && typeof input.getTime === 'function' && !isNaN(input.getTime())) {\n return true;\n }\n return false;\n}\n\nexport function testString(input) {\n const ISO_8601 = /^\\d{4}-\\d\\d-\\d\\dT\\d\\d:\\d\\d:\\d\\d(\\.\\d+)?(([+-]\\d\\d:\\d\\d)|Z)?$/i;\n return ISO_8601.test(input);\n}\n\nexport default function (input) {\n if (typeof input === 'object') {\n return testObject(input);\n } else if (typeof input === 'string') {\n return testString(input);\n }\n return false;\n}\n","/**\n * Strip html tags from string\n *\n * @param {string} string The string to strip\n * @return {string}\n * @public\n */\n\nexport function stripHtmlTags(inputString) {\n return inputString.replace(/(<([^>]+)>)/ig, '');\n}\n","export default function (len) {\n const list = [];\n for (let i = 0; i < len; i++) {\n list.push(null);\n }\n return list;\n}\n","import createNullList from '../utils/create-null-list';\nimport { each } from '../../utils/each';\n\nexport function appendColumn(str, input) {\n const self = this;\n const args = Array.prototype.slice.call(arguments, 2);\n const label = (str !== undefined) ? str : null;\n\n if (typeof input === 'function') {\n self.matrix[0].push(label);\n each(self.matrix, function(row, i) {\n let cell;\n if (i > 0) {\n cell = input.call(self, row, i);\n if (typeof cell === 'undefined') {\n cell = null;\n }\n self.matrix[i].push(cell);\n }\n });\n }\n\n else if (!input || input instanceof Array) {\n input = input || [];\n\n if (input.length <= self.matrix.length - 1) {\n input = input.concat(createNullList(self.matrix.length - 1 - input.length));\n }\n else {\n // If this new column is longer than existing columns,\n // we need to update the rest to match ...\n each(input, function(value, i){\n if (self.matrix.length -1 < input.length) {\n appendRow.call(self, String(self.matrix.length));\n }\n });\n }\n\n self.matrix[0].push(label);\n each(input, function(value, i){\n self.matrix[i+1][self.matrix[0].length-1] = value;\n });\n\n }\n\n return self;\n}\n\nexport function appendRow(str, input) {\n const self = this;\n const args = Array.prototype.slice.call(arguments, 2);\n const label = (str !== undefined) ? str : null;\n const newRow = [];\n\n newRow.push(label);\n\n if (typeof input === 'function') {\n each(self.matrix[0], function(label, i){\n let col;\n let cell;\n if (i > 0) {\n col = self.selectColumn(i);\n cell = input.call(self, col, i);\n if (typeof cell === 'undefined') {\n cell = null;\n }\n newRow.push(cell);\n }\n });\n self.matrix.push(newRow);\n }\n\n else if (!input || input instanceof Array) {\n input = input || [];\n\n if (input.length <= self.matrix[0].length - 1) {\n input = input.concat( createNullList( self.matrix[0].length - 1 - input.length ) );\n }\n else {\n each(input, function(value, i){\n if (self.matrix[0].length -1 < input.length) {\n appendColumn.call(self, String( self.matrix[0].length));\n }\n });\n }\n\n self.matrix.push(newRow.concat(input));\n }\n\n return self;\n}\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var zhTw = moment.defineLocale('zh-tw', {\n months : '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'),\n monthsShort : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n weekdays : '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n weekdaysShort : '週日_週一_週二_週三_週四_週五_週六'.split('_'),\n weekdaysMin : '日_一_二_三_四_五_六'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY/MM/DD',\n LL : 'YYYY年M月D日',\n LLL : 'YYYY年M月D日 HH:mm',\n LLLL : 'YYYY年M月D日dddd HH:mm',\n l : 'YYYY/M/D',\n ll : 'YYYY年M月D日',\n lll : 'YYYY年M月D日 HH:mm',\n llll : 'YYYY年M月D日dddd HH:mm'\n },\n meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n return hour;\n } else if (meridiem === '中午') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === '下午' || meridiem === '晚上') {\n return hour + 12;\n }\n },\n meridiem : function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n if (hm < 600) {\n return '凌晨';\n } else if (hm < 900) {\n return '早上';\n } else if (hm < 1130) {\n return '上午';\n } else if (hm < 1230) {\n return '中午';\n } else if (hm < 1800) {\n return '下午';\n } else {\n return '晚上';\n }\n },\n calendar : {\n sameDay : '[今天] LT',\n nextDay : '[明天] LT',\n nextWeek : '[下]dddd LT',\n lastDay : '[昨天] LT',\n lastWeek : '[上]dddd LT',\n sameElse : 'L'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(日|月|週)/,\n ordinal : function (number, period) {\n switch (period) {\n case 'd' :\n case 'D' :\n case 'DDD' :\n return number + '日';\n case 'M' :\n return number + '月';\n case 'w' :\n case 'W' :\n return number + '週';\n default :\n return number;\n }\n },\n relativeTime : {\n future : '%s內',\n past : '%s前',\n s : '幾秒',\n ss : '%d 秒',\n m : '1 分鐘',\n mm : '%d 分鐘',\n h : '1 小時',\n hh : '%d 小時',\n d : '1 天',\n dd : '%d 天',\n M : '1 個月',\n MM : '%d 個月',\n y : '1 年',\n yy : '%d 年'\n }\n });\n\n return zhTw;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var zhHk = moment.defineLocale('zh-hk', {\n months : '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'),\n monthsShort : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n weekdays : '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n weekdaysShort : '週日_週一_週二_週三_週四_週五_週六'.split('_'),\n weekdaysMin : '日_一_二_三_四_五_六'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY/MM/DD',\n LL : 'YYYY年M月D日',\n LLL : 'YYYY年M月D日 HH:mm',\n LLLL : 'YYYY年M月D日dddd HH:mm',\n l : 'YYYY/M/D',\n ll : 'YYYY年M月D日',\n lll : 'YYYY年M月D日 HH:mm',\n llll : 'YYYY年M月D日dddd HH:mm'\n },\n meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n return hour;\n } else if (meridiem === '中午') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === '下午' || meridiem === '晚上') {\n return hour + 12;\n }\n },\n meridiem : function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n if (hm < 600) {\n return '凌晨';\n } else if (hm < 900) {\n return '早上';\n } else if (hm < 1130) {\n return '上午';\n } else if (hm < 1230) {\n return '中午';\n } else if (hm < 1800) {\n return '下午';\n } else {\n return '晚上';\n }\n },\n calendar : {\n sameDay : '[今天]LT',\n nextDay : '[明天]LT',\n nextWeek : '[下]ddddLT',\n lastDay : '[昨天]LT',\n lastWeek : '[上]ddddLT',\n sameElse : 'L'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(日|月|週)/,\n ordinal : function (number, period) {\n switch (period) {\n case 'd' :\n case 'D' :\n case 'DDD' :\n return number + '日';\n case 'M' :\n return number + '月';\n case 'w' :\n case 'W' :\n return number + '週';\n default :\n return number;\n }\n },\n relativeTime : {\n future : '%s內',\n past : '%s前',\n s : '幾秒',\n ss : '%d 秒',\n m : '1 分鐘',\n mm : '%d 分鐘',\n h : '1 小時',\n hh : '%d 小時',\n d : '1 天',\n dd : '%d 天',\n M : '1 個月',\n MM : '%d 個月',\n y : '1 年',\n yy : '%d 年'\n }\n });\n\n return zhHk;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var zhCn = moment.defineLocale('zh-cn', {\n months : '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'),\n monthsShort : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n weekdays : '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n weekdaysShort : '周日_周一_周二_周三_周四_周五_周六'.split('_'),\n weekdaysMin : '日_一_二_三_四_五_六'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY/MM/DD',\n LL : 'YYYY年M月D日',\n LLL : 'YYYY年M月D日Ah点mm分',\n LLLL : 'YYYY年M月D日ddddAh点mm分',\n l : 'YYYY/M/D',\n ll : 'YYYY年M月D日',\n lll : 'YYYY年M月D日 HH:mm',\n llll : 'YYYY年M月D日dddd HH:mm'\n },\n meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === '凌晨' || meridiem === '早上' ||\n meridiem === '上午') {\n return hour;\n } else if (meridiem === '下午' || meridiem === '晚上') {\n return hour + 12;\n } else {\n // '中午'\n return hour >= 11 ? hour : hour + 12;\n }\n },\n meridiem : function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n if (hm < 600) {\n return '凌晨';\n } else if (hm < 900) {\n return '早上';\n } else if (hm < 1130) {\n return '上午';\n } else if (hm < 1230) {\n return '中午';\n } else if (hm < 1800) {\n return '下午';\n } else {\n return '晚上';\n }\n },\n calendar : {\n sameDay : '[今天]LT',\n nextDay : '[明天]LT',\n nextWeek : '[下]ddddLT',\n lastDay : '[昨天]LT',\n lastWeek : '[上]ddddLT',\n sameElse : 'L'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(日|月|周)/,\n ordinal : function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '日';\n case 'M':\n return number + '月';\n case 'w':\n case 'W':\n return number + '周';\n default:\n return number;\n }\n },\n relativeTime : {\n future : '%s内',\n past : '%s前',\n s : '几秒',\n ss : '%d 秒',\n m : '1 分钟',\n mm : '%d 分钟',\n h : '1 小时',\n hh : '%d 小时',\n d : '1 天',\n dd : '%d 天',\n M : '1 个月',\n MM : '%d 个月',\n y : '1 年',\n yy : '%d 年'\n },\n week : {\n // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return zhCn;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var yo = moment.defineLocale('yo', {\n months : 'Sẹ́rẹ́_Èrèlè_Ẹrẹ̀nà_Ìgbé_Èbibi_Òkùdu_Agẹmo_Ògún_Owewe_Ọ̀wàrà_Bélú_Ọ̀pẹ̀̀'.split('_'),\n monthsShort : 'Sẹ́r_Èrl_Ẹrn_Ìgb_Èbi_Òkù_Agẹ_Ògú_Owe_Ọ̀wà_Bél_Ọ̀pẹ̀̀'.split('_'),\n weekdays : 'Àìkú_Ajé_Ìsẹ́gun_Ọjọ́rú_Ọjọ́bọ_Ẹtì_Àbámẹ́ta'.split('_'),\n weekdaysShort : 'Àìk_Ajé_Ìsẹ́_Ọjr_Ọjb_Ẹtì_Àbá'.split('_'),\n weekdaysMin : 'Àì_Aj_Ìs_Ọr_Ọb_Ẹt_Àb'.split('_'),\n longDateFormat : {\n LT : 'h:mm A',\n LTS : 'h:mm:ss A',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY h:mm A',\n LLLL : 'dddd, D MMMM YYYY h:mm A'\n },\n calendar : {\n sameDay : '[Ònì ni] LT',\n nextDay : '[Ọ̀la ni] LT',\n nextWeek : 'dddd [Ọsẹ̀ tón\\'bọ] [ni] LT',\n lastDay : '[Àna ni] LT',\n lastWeek : 'dddd [Ọsẹ̀ tólọ́] [ni] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'ní %s',\n past : '%s kọjá',\n s : 'ìsẹjú aayá die',\n ss :'aayá %d',\n m : 'ìsẹjú kan',\n mm : 'ìsẹjú %d',\n h : 'wákati kan',\n hh : 'wákati %d',\n d : 'ọjọ́ kan',\n dd : 'ọjọ́ %d',\n M : 'osù kan',\n MM : 'osù %d',\n y : 'ọdún kan',\n yy : 'ọdún %d'\n },\n dayOfMonthOrdinalParse : /ọjọ́\\s\\d{1,2}/,\n ordinal : 'ọjọ́ %d',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return yo;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var xPseudo = moment.defineLocale('x-pseudo', {\n months : 'J~áñúá~rý_F~ébrú~árý_~Márc~h_Áp~ríl_~Máý_~Júñé~_Júl~ý_Áú~gúst~_Sép~témb~ér_Ó~ctób~ér_Ñ~óvém~bér_~Décé~mbér'.split('_'),\n monthsShort : 'J~áñ_~Féb_~Már_~Ápr_~Máý_~Júñ_~Júl_~Áúg_~Sép_~Óct_~Ñóv_~Déc'.split('_'),\n monthsParseExact : true,\n weekdays : 'S~úñdá~ý_Mó~ñdáý~_Túé~sdáý~_Wéd~ñésd~áý_T~húrs~dáý_~Fríd~áý_S~átúr~dáý'.split('_'),\n weekdaysShort : 'S~úñ_~Móñ_~Túé_~Wéd_~Thú_~Frí_~Sát'.split('_'),\n weekdaysMin : 'S~ú_Mó~_Tú_~Wé_T~h_Fr~_Sá'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[T~ódá~ý át] LT',\n nextDay : '[T~ómó~rró~w át] LT',\n nextWeek : 'dddd [át] LT',\n lastDay : '[Ý~ést~érdá~ý át] LT',\n lastWeek : '[L~ást] dddd [át] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'í~ñ %s',\n past : '%s á~gó',\n s : 'á ~féw ~sécó~ñds',\n ss : '%d s~écóñ~ds',\n m : 'á ~míñ~úté',\n mm : '%d m~íñú~tés',\n h : 'á~ñ hó~úr',\n hh : '%d h~óúrs',\n d : 'á ~dáý',\n dd : '%d d~áýs',\n M : 'á ~móñ~th',\n MM : '%d m~óñt~hs',\n y : 'á ~ýéár',\n yy : '%d ý~éárs'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(th|st|nd|rd)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return xPseudo;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var vi = moment.defineLocale('vi', {\n months : 'tháng 1_tháng 2_tháng 3_tháng 4_tháng 5_tháng 6_tháng 7_tháng 8_tháng 9_tháng 10_tháng 11_tháng 12'.split('_'),\n monthsShort : 'Th01_Th02_Th03_Th04_Th05_Th06_Th07_Th08_Th09_Th10_Th11_Th12'.split('_'),\n monthsParseExact : true,\n weekdays : 'chủ nhật_thứ hai_thứ ba_thứ tư_thứ năm_thứ sáu_thứ bảy'.split('_'),\n weekdaysShort : 'CN_T2_T3_T4_T5_T6_T7'.split('_'),\n weekdaysMin : 'CN_T2_T3_T4_T5_T6_T7'.split('_'),\n weekdaysParseExact : true,\n meridiemParse: /sa|ch/i,\n isPM : function (input) {\n return /^ch$/i.test(input);\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours < 12) {\n return isLower ? 'sa' : 'SA';\n } else {\n return isLower ? 'ch' : 'CH';\n }\n },\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM [năm] YYYY',\n LLL : 'D MMMM [năm] YYYY HH:mm',\n LLLL : 'dddd, D MMMM [năm] YYYY HH:mm',\n l : 'DD/M/YYYY',\n ll : 'D MMM YYYY',\n lll : 'D MMM YYYY HH:mm',\n llll : 'ddd, D MMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[Hôm nay lúc] LT',\n nextDay: '[Ngày mai lúc] LT',\n nextWeek: 'dddd [tuần tới lúc] LT',\n lastDay: '[Hôm qua lúc] LT',\n lastWeek: 'dddd [tuần rồi lúc] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : '%s tới',\n past : '%s trước',\n s : 'vài giây',\n ss : '%d giây' ,\n m : 'một phút',\n mm : '%d phút',\n h : 'một giờ',\n hh : '%d giờ',\n d : 'một ngày',\n dd : '%d ngày',\n M : 'một tháng',\n MM : '%d tháng',\n y : 'một năm',\n yy : '%d năm'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}/,\n ordinal : function (number) {\n return number;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return vi;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var uzLatn = moment.defineLocale('uz-latn', {\n months : 'Yanvar_Fevral_Mart_Aprel_May_Iyun_Iyul_Avgust_Sentabr_Oktabr_Noyabr_Dekabr'.split('_'),\n monthsShort : 'Yan_Fev_Mar_Apr_May_Iyun_Iyul_Avg_Sen_Okt_Noy_Dek'.split('_'),\n weekdays : 'Yakshanba_Dushanba_Seshanba_Chorshanba_Payshanba_Juma_Shanba'.split('_'),\n weekdaysShort : 'Yak_Dush_Sesh_Chor_Pay_Jum_Shan'.split('_'),\n weekdaysMin : 'Ya_Du_Se_Cho_Pa_Ju_Sha'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'D MMMM YYYY, dddd HH:mm'\n },\n calendar : {\n sameDay : '[Bugun soat] LT [da]',\n nextDay : '[Ertaga] LT [da]',\n nextWeek : 'dddd [kuni soat] LT [da]',\n lastDay : '[Kecha soat] LT [da]',\n lastWeek : '[O\\'tgan] dddd [kuni soat] LT [da]',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'Yaqin %s ichida',\n past : 'Bir necha %s oldin',\n s : 'soniya',\n ss : '%d soniya',\n m : 'bir daqiqa',\n mm : '%d daqiqa',\n h : 'bir soat',\n hh : '%d soat',\n d : 'bir kun',\n dd : '%d kun',\n M : 'bir oy',\n MM : '%d oy',\n y : 'bir yil',\n yy : '%d yil'\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return uzLatn;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var uz = moment.defineLocale('uz', {\n months : 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split('_'),\n monthsShort : 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'),\n weekdays : 'Якшанба_Душанба_Сешанба_Чоршанба_Пайшанба_Жума_Шанба'.split('_'),\n weekdaysShort : 'Якш_Душ_Сеш_Чор_Пай_Жум_Шан'.split('_'),\n weekdaysMin : 'Як_Ду_Се_Чо_Па_Жу_Ша'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'D MMMM YYYY, dddd HH:mm'\n },\n calendar : {\n sameDay : '[Бугун соат] LT [да]',\n nextDay : '[Эртага] LT [да]',\n nextWeek : 'dddd [куни соат] LT [да]',\n lastDay : '[Кеча соат] LT [да]',\n lastWeek : '[Утган] dddd [куни соат] LT [да]',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'Якин %s ичида',\n past : 'Бир неча %s олдин',\n s : 'фурсат',\n ss : '%d фурсат',\n m : 'бир дакика',\n mm : '%d дакика',\n h : 'бир соат',\n hh : '%d соат',\n d : 'бир кун',\n dd : '%d кун',\n M : 'бир ой',\n MM : '%d ой',\n y : 'бир йил',\n yy : '%d йил'\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return uz;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var months = [\n 'جنوری',\n 'فروری',\n 'مارچ',\n 'اپریل',\n 'مئی',\n 'جون',\n 'جولائی',\n 'اگست',\n 'ستمبر',\n 'اکتوبر',\n 'نومبر',\n 'دسمبر'\n ];\n var days = [\n 'اتوار',\n 'پیر',\n 'منگل',\n 'بدھ',\n 'جمعرات',\n 'جمعہ',\n 'ہفتہ'\n ];\n\n var ur = moment.defineLocale('ur', {\n months : months,\n monthsShort : months,\n weekdays : days,\n weekdaysShort : days,\n weekdaysMin : days,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd، D MMMM YYYY HH:mm'\n },\n meridiemParse: /صبح|شام/,\n isPM : function (input) {\n return 'شام' === input;\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'صبح';\n }\n return 'شام';\n },\n calendar : {\n sameDay : '[آج بوقت] LT',\n nextDay : '[کل بوقت] LT',\n nextWeek : 'dddd [بوقت] LT',\n lastDay : '[گذشتہ روز بوقت] LT',\n lastWeek : '[گذشتہ] dddd [بوقت] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s بعد',\n past : '%s قبل',\n s : 'چند سیکنڈ',\n ss : '%d سیکنڈ',\n m : 'ایک منٹ',\n mm : '%d منٹ',\n h : 'ایک گھنٹہ',\n hh : '%d گھنٹے',\n d : 'ایک دن',\n dd : '%d دن',\n M : 'ایک ماہ',\n MM : '%d ماہ',\n y : 'ایک سال',\n yy : '%d سال'\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/,/g, '،');\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return ur;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function plural(word, num) {\n var forms = word.split('_');\n return num % 10 === 1 && num % 100 !== 11 ? forms[0] : (num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) ? forms[1] : forms[2]);\n }\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n var format = {\n 'ss': withoutSuffix ? 'секунда_секунди_секунд' : 'секунду_секунди_секунд',\n 'mm': withoutSuffix ? 'хвилина_хвилини_хвилин' : 'хвилину_хвилини_хвилин',\n 'hh': withoutSuffix ? 'година_години_годин' : 'годину_години_годин',\n 'dd': 'день_дні_днів',\n 'MM': 'місяць_місяці_місяців',\n 'yy': 'рік_роки_років'\n };\n if (key === 'm') {\n return withoutSuffix ? 'хвилина' : 'хвилину';\n }\n else if (key === 'h') {\n return withoutSuffix ? 'година' : 'годину';\n }\n else {\n return number + ' ' + plural(format[key], +number);\n }\n }\n function weekdaysCaseReplace(m, format) {\n var weekdays = {\n 'nominative': 'неділя_понеділок_вівторок_середа_четвер_п’ятниця_субота'.split('_'),\n 'accusative': 'неділю_понеділок_вівторок_середу_четвер_п’ятницю_суботу'.split('_'),\n 'genitive': 'неділі_понеділка_вівторка_середи_четверга_п’ятниці_суботи'.split('_')\n };\n\n if (!m) {\n return weekdays['nominative'];\n }\n\n var nounCase = (/(\\[[ВвУу]\\]) ?dddd/).test(format) ?\n 'accusative' :\n ((/\\[?(?:минулої|наступної)? ?\\] ?dddd/).test(format) ?\n 'genitive' :\n 'nominative');\n return weekdays[nounCase][m.day()];\n }\n function processHoursFunction(str) {\n return function () {\n return str + 'о' + (this.hours() === 11 ? 'б' : '') + '] LT';\n };\n }\n\n var uk = moment.defineLocale('uk', {\n months : {\n 'format': 'січня_лютого_березня_квітня_травня_червня_липня_серпня_вересня_жовтня_листопада_грудня'.split('_'),\n 'standalone': 'січень_лютий_березень_квітень_травень_червень_липень_серпень_вересень_жовтень_листопад_грудень'.split('_')\n },\n monthsShort : 'січ_лют_бер_квіт_трав_черв_лип_серп_вер_жовт_лист_груд'.split('_'),\n weekdays : weekdaysCaseReplace,\n weekdaysShort : 'нд_пн_вт_ср_чт_пт_сб'.split('_'),\n weekdaysMin : 'нд_пн_вт_ср_чт_пт_сб'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY р.',\n LLL : 'D MMMM YYYY р., HH:mm',\n LLLL : 'dddd, D MMMM YYYY р., HH:mm'\n },\n calendar : {\n sameDay: processHoursFunction('[Сьогодні '),\n nextDay: processHoursFunction('[Завтра '),\n lastDay: processHoursFunction('[Вчора '),\n nextWeek: processHoursFunction('[У] dddd ['),\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n case 3:\n case 5:\n case 6:\n return processHoursFunction('[Минулої] dddd [').call(this);\n case 1:\n case 2:\n case 4:\n return processHoursFunction('[Минулого] dddd [').call(this);\n }\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : 'за %s',\n past : '%s тому',\n s : 'декілька секунд',\n ss : relativeTimeWithPlural,\n m : relativeTimeWithPlural,\n mm : relativeTimeWithPlural,\n h : 'годину',\n hh : relativeTimeWithPlural,\n d : 'день',\n dd : relativeTimeWithPlural,\n M : 'місяць',\n MM : relativeTimeWithPlural,\n y : 'рік',\n yy : relativeTimeWithPlural\n },\n // M. E.: those two are virtually unused but a user might want to implement them for his/her website for some reason\n meridiemParse: /ночі|ранку|дня|вечора/,\n isPM: function (input) {\n return /^(дня|вечора)$/.test(input);\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ночі';\n } else if (hour < 12) {\n return 'ранку';\n } else if (hour < 17) {\n return 'дня';\n } else {\n return 'вечора';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(й|го)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'M':\n case 'd':\n case 'DDD':\n case 'w':\n case 'W':\n return number + '-й';\n case 'D':\n return number + '-го';\n default:\n return number;\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return uk;\n\n})));\n","//! moment.js language configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var ugCn = moment.defineLocale('ug-cn', {\n months: 'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.split(\n '_'\n ),\n monthsShort: 'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.split(\n '_'\n ),\n weekdays: 'يەكشەنبە_دۈشەنبە_سەيشەنبە_چارشەنبە_پەيشەنبە_جۈمە_شەنبە'.split(\n '_'\n ),\n weekdaysShort: 'يە_دۈ_سە_چا_پە_جۈ_شە'.split('_'),\n weekdaysMin: 'يە_دۈ_سە_چا_پە_جۈ_شە'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: 'YYYY-يىلىM-ئاينىڭD-كۈنى',\n LLL: 'YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm',\n LLLL: 'dddd، YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm'\n },\n meridiemParse: /يېرىم كېچە|سەھەر|چۈشتىن بۇرۇن|چۈش|چۈشتىن كېيىن|كەچ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (\n meridiem === 'يېرىم كېچە' ||\n meridiem === 'سەھەر' ||\n meridiem === 'چۈشتىن بۇرۇن'\n ) {\n return hour;\n } else if (meridiem === 'چۈشتىن كېيىن' || meridiem === 'كەچ') {\n return hour + 12;\n } else {\n return hour >= 11 ? hour : hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n if (hm < 600) {\n return 'يېرىم كېچە';\n } else if (hm < 900) {\n return 'سەھەر';\n } else if (hm < 1130) {\n return 'چۈشتىن بۇرۇن';\n } else if (hm < 1230) {\n return 'چۈش';\n } else if (hm < 1800) {\n return 'چۈشتىن كېيىن';\n } else {\n return 'كەچ';\n }\n },\n calendar: {\n sameDay: '[بۈگۈن سائەت] LT',\n nextDay: '[ئەتە سائەت] LT',\n nextWeek: '[كېلەركى] dddd [سائەت] LT',\n lastDay: '[تۆنۈگۈن] LT',\n lastWeek: '[ئالدىنقى] dddd [سائەت] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s كېيىن',\n past: '%s بۇرۇن',\n s: 'نەچچە سېكونت',\n ss: '%d سېكونت',\n m: 'بىر مىنۇت',\n mm: '%d مىنۇت',\n h: 'بىر سائەت',\n hh: '%d سائەت',\n d: 'بىر كۈن',\n dd: '%d كۈن',\n M: 'بىر ئاي',\n MM: '%d ئاي',\n y: 'بىر يىل',\n yy: '%d يىل'\n },\n\n dayOfMonthOrdinalParse: /\\d{1,2}(-كۈنى|-ئاي|-ھەپتە)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '-كۈنى';\n case 'w':\n case 'W':\n return number + '-ھەپتە';\n default:\n return number;\n }\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/,/g, '،');\n },\n week: {\n // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效\n dow: 1, // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return ugCn;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var tzmLatn = moment.defineLocale('tzm-latn', {\n months : 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split('_'),\n monthsShort : 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split('_'),\n weekdays : 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),\n weekdaysShort : 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),\n weekdaysMin : 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[asdkh g] LT',\n nextDay: '[aska g] LT',\n nextWeek: 'dddd [g] LT',\n lastDay: '[assant g] LT',\n lastWeek: 'dddd [g] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'dadkh s yan %s',\n past : 'yan %s',\n s : 'imik',\n ss : '%d imik',\n m : 'minuḍ',\n mm : '%d minuḍ',\n h : 'saɛa',\n hh : '%d tassaɛin',\n d : 'ass',\n dd : '%d ossan',\n M : 'ayowr',\n MM : '%d iyyirn',\n y : 'asgas',\n yy : '%d isgasn'\n },\n week : {\n dow : 6, // Saturday is the first day of the week.\n doy : 12 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return tzmLatn;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var tzm = moment.defineLocale('tzm', {\n months : 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split('_'),\n monthsShort : 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split('_'),\n weekdays : 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),\n weekdaysShort : 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),\n weekdaysMin : 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS: 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[ⴰⵙⴷⵅ ⴴ] LT',\n nextDay: '[ⴰⵙⴽⴰ ⴴ] LT',\n nextWeek: 'dddd [ⴴ] LT',\n lastDay: '[ⴰⵚⴰⵏⵜ ⴴ] LT',\n lastWeek: 'dddd [ⴴ] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'ⴷⴰⴷⵅ ⵙ ⵢⴰⵏ %s',\n past : 'ⵢⴰⵏ %s',\n s : 'ⵉⵎⵉⴽ',\n ss : '%d ⵉⵎⵉⴽ',\n m : 'ⵎⵉⵏⵓⴺ',\n mm : '%d ⵎⵉⵏⵓⴺ',\n h : 'ⵙⴰⵄⴰ',\n hh : '%d ⵜⴰⵙⵙⴰⵄⵉⵏ',\n d : 'ⴰⵙⵙ',\n dd : '%d oⵙⵙⴰⵏ',\n M : 'ⴰⵢoⵓⵔ',\n MM : '%d ⵉⵢⵢⵉⵔⵏ',\n y : 'ⴰⵙⴳⴰⵙ',\n yy : '%d ⵉⵙⴳⴰⵙⵏ'\n },\n week : {\n dow : 6, // Saturday is the first day of the week.\n doy : 12 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return tzm;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n // After the year there should be a slash and the amount of years since December 26, 1979 in Roman numerals.\n // This is currently too difficult (maybe even impossible) to add.\n var tzl = moment.defineLocale('tzl', {\n months : 'Januar_Fevraglh_Març_Avrïu_Mai_Gün_Julia_Guscht_Setemvar_Listopäts_Noemvar_Zecemvar'.split('_'),\n monthsShort : 'Jan_Fev_Mar_Avr_Mai_Gün_Jul_Gus_Set_Lis_Noe_Zec'.split('_'),\n weekdays : 'Súladi_Lúneçi_Maitzi_Márcuri_Xhúadi_Viénerçi_Sáturi'.split('_'),\n weekdaysShort : 'Súl_Lún_Mai_Már_Xhú_Vié_Sát'.split('_'),\n weekdaysMin : 'Sú_Lú_Ma_Má_Xh_Vi_Sá'.split('_'),\n longDateFormat : {\n LT : 'HH.mm',\n LTS : 'HH.mm.ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM [dallas] YYYY',\n LLL : 'D. MMMM [dallas] YYYY HH.mm',\n LLLL : 'dddd, [li] D. MMMM [dallas] YYYY HH.mm'\n },\n meridiemParse: /d\\'o|d\\'a/i,\n isPM : function (input) {\n return 'd\\'o' === input.toLowerCase();\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'd\\'o' : 'D\\'O';\n } else {\n return isLower ? 'd\\'a' : 'D\\'A';\n }\n },\n calendar : {\n sameDay : '[oxhi à] LT',\n nextDay : '[demà à] LT',\n nextWeek : 'dddd [à] LT',\n lastDay : '[ieiri à] LT',\n lastWeek : '[sür el] dddd [lasteu à] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'osprei %s',\n past : 'ja%s',\n s : processRelativeTime,\n ss : processRelativeTime,\n m : processRelativeTime,\n mm : processRelativeTime,\n h : processRelativeTime,\n hh : processRelativeTime,\n d : processRelativeTime,\n dd : processRelativeTime,\n M : processRelativeTime,\n MM : processRelativeTime,\n y : processRelativeTime,\n yy : processRelativeTime\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n 's': ['viensas secunds', '\\'iensas secunds'],\n 'ss': [number + ' secunds', '' + number + ' secunds'],\n 'm': ['\\'n míut', '\\'iens míut'],\n 'mm': [number + ' míuts', '' + number + ' míuts'],\n 'h': ['\\'n þora', '\\'iensa þora'],\n 'hh': [number + ' þoras', '' + number + ' þoras'],\n 'd': ['\\'n ziua', '\\'iensa ziua'],\n 'dd': [number + ' ziuas', '' + number + ' ziuas'],\n 'M': ['\\'n mes', '\\'iens mes'],\n 'MM': [number + ' mesen', '' + number + ' mesen'],\n 'y': ['\\'n ar', '\\'iens ar'],\n 'yy': [number + ' ars', '' + number + ' ars']\n };\n return isFuture ? format[key][0] : (withoutSuffix ? format[key][0] : format[key][1]);\n }\n\n return tzl;\n\n})));\n","\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n var suffixes = {\n 1: '\\'inci',\n 5: '\\'inci',\n 8: '\\'inci',\n 70: '\\'inci',\n 80: '\\'inci',\n 2: '\\'nci',\n 7: '\\'nci',\n 20: '\\'nci',\n 50: '\\'nci',\n 3: '\\'üncü',\n 4: '\\'üncü',\n 100: '\\'üncü',\n 6: '\\'ncı',\n 9: '\\'uncu',\n 10: '\\'uncu',\n 30: '\\'uncu',\n 60: '\\'ıncı',\n 90: '\\'ıncı'\n };\n\n var tr = moment.defineLocale('tr', {\n months : 'Ocak_Şubat_Mart_Nisan_Mayıs_Haziran_Temmuz_Ağustos_Eylül_Ekim_Kasım_Aralık'.split('_'),\n monthsShort : 'Oca_Şub_Mar_Nis_May_Haz_Tem_Ağu_Eyl_Eki_Kas_Ara'.split('_'),\n weekdays : 'Pazar_Pazartesi_Salı_Çarşamba_Perşembe_Cuma_Cumartesi'.split('_'),\n weekdaysShort : 'Paz_Pts_Sal_Çar_Per_Cum_Cts'.split('_'),\n weekdaysMin : 'Pz_Pt_Sa_Ça_Pe_Cu_Ct'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[bugün saat] LT',\n nextDay : '[yarın saat] LT',\n nextWeek : '[gelecek] dddd [saat] LT',\n lastDay : '[dün] LT',\n lastWeek : '[geçen] dddd [saat] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s sonra',\n past : '%s önce',\n s : 'birkaç saniye',\n ss : '%d saniye',\n m : 'bir dakika',\n mm : '%d dakika',\n h : 'bir saat',\n hh : '%d saat',\n d : 'bir gün',\n dd : '%d gün',\n M : 'bir ay',\n MM : '%d ay',\n y : 'bir yıl',\n yy : '%d yıl'\n },\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'Do':\n case 'DD':\n return number;\n default:\n if (number === 0) { // special case for zero\n return number + '\\'ıncı';\n }\n var a = number % 10,\n b = number % 100 - a,\n c = number >= 100 ? 100 : null;\n return number + (suffixes[a] || suffixes[b] || suffixes[c]);\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return tr;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var numbersNouns = 'pagh_wa’_cha’_wej_loS_vagh_jav_Soch_chorgh_Hut'.split('_');\n\n function translateFuture(output) {\n var time = output;\n time = (output.indexOf('jaj') !== -1) ?\n time.slice(0, -3) + 'leS' :\n (output.indexOf('jar') !== -1) ?\n time.slice(0, -3) + 'waQ' :\n (output.indexOf('DIS') !== -1) ?\n time.slice(0, -3) + 'nem' :\n time + ' pIq';\n return time;\n }\n\n function translatePast(output) {\n var time = output;\n time = (output.indexOf('jaj') !== -1) ?\n time.slice(0, -3) + 'Hu’' :\n (output.indexOf('jar') !== -1) ?\n time.slice(0, -3) + 'wen' :\n (output.indexOf('DIS') !== -1) ?\n time.slice(0, -3) + 'ben' :\n time + ' ret';\n return time;\n }\n\n function translate(number, withoutSuffix, string, isFuture) {\n var numberNoun = numberAsNoun(number);\n switch (string) {\n case 'ss':\n return numberNoun + ' lup';\n case 'mm':\n return numberNoun + ' tup';\n case 'hh':\n return numberNoun + ' rep';\n case 'dd':\n return numberNoun + ' jaj';\n case 'MM':\n return numberNoun + ' jar';\n case 'yy':\n return numberNoun + ' DIS';\n }\n }\n\n function numberAsNoun(number) {\n var hundred = Math.floor((number % 1000) / 100),\n ten = Math.floor((number % 100) / 10),\n one = number % 10,\n word = '';\n if (hundred > 0) {\n word += numbersNouns[hundred] + 'vatlh';\n }\n if (ten > 0) {\n word += ((word !== '') ? ' ' : '') + numbersNouns[ten] + 'maH';\n }\n if (one > 0) {\n word += ((word !== '') ? ' ' : '') + numbersNouns[one];\n }\n return (word === '') ? 'pagh' : word;\n }\n\n var tlh = moment.defineLocale('tlh', {\n months : 'tera’ jar wa’_tera’ jar cha’_tera’ jar wej_tera’ jar loS_tera’ jar vagh_tera’ jar jav_tera’ jar Soch_tera’ jar chorgh_tera’ jar Hut_tera’ jar wa’maH_tera’ jar wa’maH wa’_tera’ jar wa’maH cha’'.split('_'),\n monthsShort : 'jar wa’_jar cha’_jar wej_jar loS_jar vagh_jar jav_jar Soch_jar chorgh_jar Hut_jar wa’maH_jar wa’maH wa’_jar wa’maH cha’'.split('_'),\n monthsParseExact : true,\n weekdays : 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),\n weekdaysShort : 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),\n weekdaysMin : 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[DaHjaj] LT',\n nextDay: '[wa’leS] LT',\n nextWeek: 'LLL',\n lastDay: '[wa’Hu’] LT',\n lastWeek: 'LLL',\n sameElse: 'L'\n },\n relativeTime : {\n future : translateFuture,\n past : translatePast,\n s : 'puS lup',\n ss : translate,\n m : 'wa’ tup',\n mm : translate,\n h : 'wa’ rep',\n hh : translate,\n d : 'wa’ jaj',\n dd : translate,\n M : 'wa’ jar',\n MM : translate,\n y : 'wa’ DIS',\n yy : translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return tlh;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var tlPh = moment.defineLocale('tl-ph', {\n months : 'Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre'.split('_'),\n monthsShort : 'Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis'.split('_'),\n weekdays : 'Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado'.split('_'),\n weekdaysShort : 'Lin_Lun_Mar_Miy_Huw_Biy_Sab'.split('_'),\n weekdaysMin : 'Li_Lu_Ma_Mi_Hu_Bi_Sab'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'MM/D/YYYY',\n LL : 'MMMM D, YYYY',\n LLL : 'MMMM D, YYYY HH:mm',\n LLLL : 'dddd, MMMM DD, YYYY HH:mm'\n },\n calendar : {\n sameDay: 'LT [ngayong araw]',\n nextDay: '[Bukas ng] LT',\n nextWeek: 'LT [sa susunod na] dddd',\n lastDay: 'LT [kahapon]',\n lastWeek: 'LT [noong nakaraang] dddd',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'sa loob ng %s',\n past : '%s ang nakalipas',\n s : 'ilang segundo',\n ss : '%d segundo',\n m : 'isang minuto',\n mm : '%d minuto',\n h : 'isang oras',\n hh : '%d oras',\n d : 'isang araw',\n dd : '%d araw',\n M : 'isang buwan',\n MM : '%d buwan',\n y : 'isang taon',\n yy : '%d taon'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}/,\n ordinal : function (number) {\n return number;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return tlPh;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var th = moment.defineLocale('th', {\n months : 'มกราคม_กุมภาพันธ์_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_กรกฎาคม_สิงหาคม_กันยายน_ตุลาคม_พฤศจิกายน_ธันวาคม'.split('_'),\n monthsShort : 'ม.ค._ก.พ._มี.ค._เม.ย._พ.ค._มิ.ย._ก.ค._ส.ค._ก.ย._ต.ค._พ.ย._ธ.ค.'.split('_'),\n monthsParseExact: true,\n weekdays : 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัสบดี_ศุกร์_เสาร์'.split('_'),\n weekdaysShort : 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัส_ศุกร์_เสาร์'.split('_'), // yes, three characters difference\n weekdaysMin : 'อา._จ._อ._พ._พฤ._ศ._ส.'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY เวลา H:mm',\n LLLL : 'วันddddที่ D MMMM YYYY เวลา H:mm'\n },\n meridiemParse: /ก่อนเที่ยง|หลังเที่ยง/,\n isPM: function (input) {\n return input === 'หลังเที่ยง';\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ก่อนเที่ยง';\n } else {\n return 'หลังเที่ยง';\n }\n },\n calendar : {\n sameDay : '[วันนี้ เวลา] LT',\n nextDay : '[พรุ่งนี้ เวลา] LT',\n nextWeek : 'dddd[หน้า เวลา] LT',\n lastDay : '[เมื่อวานนี้ เวลา] LT',\n lastWeek : '[วัน]dddd[ที่แล้ว เวลา] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'อีก %s',\n past : '%sที่แล้ว',\n s : 'ไม่กี่วินาที',\n ss : '%d วินาที',\n m : '1 นาที',\n mm : '%d นาที',\n h : '1 ชั่วโมง',\n hh : '%d ชั่วโมง',\n d : '1 วัน',\n dd : '%d วัน',\n M : '1 เดือน',\n MM : '%d เดือน',\n y : '1 ปี',\n yy : '%d ปี'\n }\n });\n\n return th;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var suffixes = {\n 0: '-ум',\n 1: '-ум',\n 2: '-юм',\n 3: '-юм',\n 4: '-ум',\n 5: '-ум',\n 6: '-ум',\n 7: '-ум',\n 8: '-ум',\n 9: '-ум',\n 10: '-ум',\n 12: '-ум',\n 13: '-ум',\n 20: '-ум',\n 30: '-юм',\n 40: '-ум',\n 50: '-ум',\n 60: '-ум',\n 70: '-ум',\n 80: '-ум',\n 90: '-ум',\n 100: '-ум'\n };\n\n var tg = moment.defineLocale('tg', {\n months : 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split('_'),\n monthsShort : 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'),\n weekdays : 'якшанбе_душанбе_сешанбе_чоршанбе_панҷшанбе_ҷумъа_шанбе'.split('_'),\n weekdaysShort : 'яшб_дшб_сшб_чшб_пшб_ҷум_шнб'.split('_'),\n weekdaysMin : 'яш_дш_сш_чш_пш_ҷм_шб'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Имрӯз соати] LT',\n nextDay : '[Пагоҳ соати] LT',\n lastDay : '[Дирӯз соати] LT',\n nextWeek : 'dddd[и] [ҳафтаи оянда соати] LT',\n lastWeek : 'dddd[и] [ҳафтаи гузашта соати] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'баъди %s',\n past : '%s пеш',\n s : 'якчанд сония',\n m : 'як дақиқа',\n mm : '%d дақиқа',\n h : 'як соат',\n hh : '%d соат',\n d : 'як рӯз',\n dd : '%d рӯз',\n M : 'як моҳ',\n MM : '%d моҳ',\n y : 'як сол',\n yy : '%d сол'\n },\n meridiemParse: /шаб|субҳ|рӯз|бегоҳ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'шаб') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'субҳ') {\n return hour;\n } else if (meridiem === 'рӯз') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'бегоҳ') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'шаб';\n } else if (hour < 11) {\n return 'субҳ';\n } else if (hour < 16) {\n return 'рӯз';\n } else if (hour < 19) {\n return 'бегоҳ';\n } else {\n return 'шаб';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ум|юм)/,\n ordinal: function (number) {\n var a = number % 10,\n b = number >= 100 ? 100 : null;\n return number + (suffixes[number] || suffixes[a] || suffixes[b]);\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1th is the first week of the year.\n }\n });\n\n return tg;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var tet = moment.defineLocale('tet', {\n months : 'Janeiru_Fevereiru_Marsu_Abril_Maiu_Juñu_Jullu_Agustu_Setembru_Outubru_Novembru_Dezembru'.split('_'),\n monthsShort : 'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez'.split('_'),\n weekdays : 'Domingu_Segunda_Tersa_Kuarta_Kinta_Sesta_Sabadu'.split('_'),\n weekdaysShort : 'Dom_Seg_Ters_Kua_Kint_Sest_Sab'.split('_'),\n weekdaysMin : 'Do_Seg_Te_Ku_Ki_Ses_Sa'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[Ohin iha] LT',\n nextDay: '[Aban iha] LT',\n nextWeek: 'dddd [iha] LT',\n lastDay: '[Horiseik iha] LT',\n lastWeek: 'dddd [semana kotuk] [iha] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'iha %s',\n past : '%s liuba',\n s : 'minutu balun',\n ss : 'minutu %d',\n m : 'minutu ida',\n mm : 'minutu %d',\n h : 'oras ida',\n hh : 'oras %d',\n d : 'loron ida',\n dd : 'loron %d',\n M : 'fulan ida',\n MM : 'fulan %d',\n y : 'tinan ida',\n yy : 'tinan %d'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return tet;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var te = moment.defineLocale('te', {\n months : 'జనవరి_ఫిబ్రవరి_మార్చి_ఏప్రిల్_మే_జూన్_జూలై_ఆగస్టు_సెప్టెంబర్_అక్టోబర్_నవంబర్_డిసెంబర్'.split('_'),\n monthsShort : 'జన._ఫిబ్ర._మార్చి_ఏప్రి._మే_జూన్_జూలై_ఆగ._సెప్._అక్టో._నవ._డిసె.'.split('_'),\n monthsParseExact : true,\n weekdays : 'ఆదివారం_సోమవారం_మంగళవారం_బుధవారం_గురువారం_శుక్రవారం_శనివారం'.split('_'),\n weekdaysShort : 'ఆది_సోమ_మంగళ_బుధ_గురు_శుక్ర_శని'.split('_'),\n weekdaysMin : 'ఆ_సో_మం_బు_గు_శు_శ'.split('_'),\n longDateFormat : {\n LT : 'A h:mm',\n LTS : 'A h:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, A h:mm',\n LLLL : 'dddd, D MMMM YYYY, A h:mm'\n },\n calendar : {\n sameDay : '[నేడు] LT',\n nextDay : '[రేపు] LT',\n nextWeek : 'dddd, LT',\n lastDay : '[నిన్న] LT',\n lastWeek : '[గత] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s లో',\n past : '%s క్రితం',\n s : 'కొన్ని క్షణాలు',\n ss : '%d సెకన్లు',\n m : 'ఒక నిమిషం',\n mm : '%d నిమిషాలు',\n h : 'ఒక గంట',\n hh : '%d గంటలు',\n d : 'ఒక రోజు',\n dd : '%d రోజులు',\n M : 'ఒక నెల',\n MM : '%d నెలలు',\n y : 'ఒక సంవత్సరం',\n yy : '%d సంవత్సరాలు'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}వ/,\n ordinal : '%dవ',\n meridiemParse: /రాత్రి|ఉదయం|మధ్యాహ్నం|సాయంత్రం/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'రాత్రి') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'ఉదయం') {\n return hour;\n } else if (meridiem === 'మధ్యాహ్నం') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'సాయంత్రం') {\n return hour + 12;\n }\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'రాత్రి';\n } else if (hour < 10) {\n return 'ఉదయం';\n } else if (hour < 17) {\n return 'మధ్యాహ్నం';\n } else if (hour < 20) {\n return 'సాయంత్రం';\n } else {\n return 'రాత్రి';\n }\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return te;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '௧',\n '2': '௨',\n '3': '௩',\n '4': '௪',\n '5': '௫',\n '6': '௬',\n '7': '௭',\n '8': '௮',\n '9': '௯',\n '0': '௦'\n }, numberMap = {\n '௧': '1',\n '௨': '2',\n '௩': '3',\n '௪': '4',\n '௫': '5',\n '௬': '6',\n '௭': '7',\n '௮': '8',\n '௯': '9',\n '௦': '0'\n };\n\n var ta = moment.defineLocale('ta', {\n months : 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split('_'),\n monthsShort : 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split('_'),\n weekdays : 'ஞாயிற்றுக்கிழமை_திங்கட்கிழமை_செவ்வாய்கிழமை_புதன்கிழமை_வியாழக்கிழமை_வெள்ளிக்கிழமை_சனிக்கிழமை'.split('_'),\n weekdaysShort : 'ஞாயிறு_திங்கள்_செவ்வாய்_புதன்_வியாழன்_வெள்ளி_சனி'.split('_'),\n weekdaysMin : 'ஞா_தி_செ_பு_வி_வெ_ச'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, HH:mm',\n LLLL : 'dddd, D MMMM YYYY, HH:mm'\n },\n calendar : {\n sameDay : '[இன்று] LT',\n nextDay : '[நாளை] LT',\n nextWeek : 'dddd, LT',\n lastDay : '[நேற்று] LT',\n lastWeek : '[கடந்த வாரம்] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s இல்',\n past : '%s முன்',\n s : 'ஒரு சில விநாடிகள்',\n ss : '%d விநாடிகள்',\n m : 'ஒரு நிமிடம்',\n mm : '%d நிமிடங்கள்',\n h : 'ஒரு மணி நேரம்',\n hh : '%d மணி நேரம்',\n d : 'ஒரு நாள்',\n dd : '%d நாட்கள்',\n M : 'ஒரு மாதம்',\n MM : '%d மாதங்கள்',\n y : 'ஒரு வருடம்',\n yy : '%d ஆண்டுகள்'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}வது/,\n ordinal : function (number) {\n return number + 'வது';\n },\n preparse: function (string) {\n return string.replace(/[௧௨௩௪௫௬௭௮௯௦]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n // refer http://ta.wikipedia.org/s/1er1\n meridiemParse: /யாமம்|வைகறை|காலை|நண்பகல்|எற்பாடு|மாலை/,\n meridiem : function (hour, minute, isLower) {\n if (hour < 2) {\n return ' யாமம்';\n } else if (hour < 6) {\n return ' வைகறை'; // வைகறை\n } else if (hour < 10) {\n return ' காலை'; // காலை\n } else if (hour < 14) {\n return ' நண்பகல்'; // நண்பகல்\n } else if (hour < 18) {\n return ' எற்பாடு'; // எற்பாடு\n } else if (hour < 22) {\n return ' மாலை'; // மாலை\n } else {\n return ' யாமம்';\n }\n },\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'யாமம்') {\n return hour < 2 ? hour : hour + 12;\n } else if (meridiem === 'வைகறை' || meridiem === 'காலை') {\n return hour;\n } else if (meridiem === 'நண்பகல்') {\n return hour >= 10 ? hour : hour + 12;\n } else {\n return hour + 12;\n }\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return ta;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var sw = moment.defineLocale('sw', {\n months : 'Januari_Februari_Machi_Aprili_Mei_Juni_Julai_Agosti_Septemba_Oktoba_Novemba_Desemba'.split('_'),\n monthsShort : 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ago_Sep_Okt_Nov_Des'.split('_'),\n weekdays : 'Jumapili_Jumatatu_Jumanne_Jumatano_Alhamisi_Ijumaa_Jumamosi'.split('_'),\n weekdaysShort : 'Jpl_Jtat_Jnne_Jtan_Alh_Ijm_Jmos'.split('_'),\n weekdaysMin : 'J2_J3_J4_J5_Al_Ij_J1'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[leo saa] LT',\n nextDay : '[kesho saa] LT',\n nextWeek : '[wiki ijayo] dddd [saat] LT',\n lastDay : '[jana] LT',\n lastWeek : '[wiki iliyopita] dddd [saat] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s baadaye',\n past : 'tokea %s',\n s : 'hivi punde',\n ss : 'sekunde %d',\n m : 'dakika moja',\n mm : 'dakika %d',\n h : 'saa limoja',\n hh : 'masaa %d',\n d : 'siku moja',\n dd : 'masiku %d',\n M : 'mwezi mmoja',\n MM : 'miezi %d',\n y : 'mwaka mmoja',\n yy : 'miaka %d'\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return sw;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var sv = moment.defineLocale('sv', {\n months : 'januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december'.split('_'),\n monthsShort : 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n weekdays : 'söndag_måndag_tisdag_onsdag_torsdag_fredag_lördag'.split('_'),\n weekdaysShort : 'sön_mån_tis_ons_tor_fre_lör'.split('_'),\n weekdaysMin : 'sö_må_ti_on_to_fr_lö'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY-MM-DD',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY [kl.] HH:mm',\n LLLL : 'dddd D MMMM YYYY [kl.] HH:mm',\n lll : 'D MMM YYYY HH:mm',\n llll : 'ddd D MMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[Idag] LT',\n nextDay: '[Imorgon] LT',\n lastDay: '[Igår] LT',\n nextWeek: '[På] dddd LT',\n lastWeek: '[I] dddd[s] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'om %s',\n past : 'för %s sedan',\n s : 'några sekunder',\n ss : '%d sekunder',\n m : 'en minut',\n mm : '%d minuter',\n h : 'en timme',\n hh : '%d timmar',\n d : 'en dag',\n dd : '%d dagar',\n M : 'en månad',\n MM : '%d månader',\n y : 'ett år',\n yy : '%d år'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(e|a)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'e' :\n (b === 1) ? 'a' :\n (b === 2) ? 'a' :\n (b === 3) ? 'e' : 'e';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return sv;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var ss = moment.defineLocale('ss', {\n months : \"Bhimbidvwane_Indlovana_Indlov'lenkhulu_Mabasa_Inkhwekhweti_Inhlaba_Kholwane_Ingci_Inyoni_Imphala_Lweti_Ingongoni\".split('_'),\n monthsShort : 'Bhi_Ina_Inu_Mab_Ink_Inh_Kho_Igc_Iny_Imp_Lwe_Igo'.split('_'),\n weekdays : 'Lisontfo_Umsombuluko_Lesibili_Lesitsatfu_Lesine_Lesihlanu_Umgcibelo'.split('_'),\n weekdaysShort : 'Lis_Umb_Lsb_Les_Lsi_Lsh_Umg'.split('_'),\n weekdaysMin : 'Li_Us_Lb_Lt_Ls_Lh_Ug'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'h:mm A',\n LTS : 'h:mm:ss A',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY h:mm A',\n LLLL : 'dddd, D MMMM YYYY h:mm A'\n },\n calendar : {\n sameDay : '[Namuhla nga] LT',\n nextDay : '[Kusasa nga] LT',\n nextWeek : 'dddd [nga] LT',\n lastDay : '[Itolo nga] LT',\n lastWeek : 'dddd [leliphelile] [nga] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'nga %s',\n past : 'wenteka nga %s',\n s : 'emizuzwana lomcane',\n ss : '%d mzuzwana',\n m : 'umzuzu',\n mm : '%d emizuzu',\n h : 'lihora',\n hh : '%d emahora',\n d : 'lilanga',\n dd : '%d emalanga',\n M : 'inyanga',\n MM : '%d tinyanga',\n y : 'umnyaka',\n yy : '%d iminyaka'\n },\n meridiemParse: /ekuseni|emini|entsambama|ebusuku/,\n meridiem : function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'ekuseni';\n } else if (hours < 15) {\n return 'emini';\n } else if (hours < 19) {\n return 'entsambama';\n } else {\n return 'ebusuku';\n }\n },\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'ekuseni') {\n return hour;\n } else if (meridiem === 'emini') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'entsambama' || meridiem === 'ebusuku') {\n if (hour === 0) {\n return 0;\n }\n return hour + 12;\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}/,\n ordinal : '%d',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return ss;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var translator = {\n words: { //Different grammatical cases\n ss: ['секунда', 'секунде', 'секунди'],\n m: ['један минут', 'једне минуте'],\n mm: ['минут', 'минуте', 'минута'],\n h: ['један сат', 'једног сата'],\n hh: ['сат', 'сата', 'сати'],\n dd: ['дан', 'дана', 'дана'],\n MM: ['месец', 'месеца', 'месеци'],\n yy: ['година', 'године', 'година']\n },\n correctGrammaticalCase: function (number, wordKey) {\n return number === 1 ? wordKey[0] : (number >= 2 && number <= 4 ? wordKey[1] : wordKey[2]);\n },\n translate: function (number, withoutSuffix, key) {\n var wordKey = translator.words[key];\n if (key.length === 1) {\n return withoutSuffix ? wordKey[0] : wordKey[1];\n } else {\n return number + ' ' + translator.correctGrammaticalCase(number, wordKey);\n }\n }\n };\n\n var srCyrl = moment.defineLocale('sr-cyrl', {\n months: 'јануар_фебруар_март_април_мај_јун_јул_август_септембар_октобар_новембар_децембар'.split('_'),\n monthsShort: 'јан._феб._мар._апр._мај_јун_јул_авг._сеп._окт._нов._дец.'.split('_'),\n monthsParseExact: true,\n weekdays: 'недеља_понедељак_уторак_среда_четвртак_петак_субота'.split('_'),\n weekdaysShort: 'нед._пон._уто._сре._чет._пет._суб.'.split('_'),\n weekdaysMin: 'не_по_ут_ср_че_пе_су'.split('_'),\n weekdaysParseExact : true,\n longDateFormat: {\n LT: 'H:mm',\n LTS : 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd, D. MMMM YYYY H:mm'\n },\n calendar: {\n sameDay: '[данас у] LT',\n nextDay: '[сутра у] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[у] [недељу] [у] LT';\n case 3:\n return '[у] [среду] [у] LT';\n case 6:\n return '[у] [суботу] [у] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[у] dddd [у] LT';\n }\n },\n lastDay : '[јуче у] LT',\n lastWeek : function () {\n var lastWeekDays = [\n '[прошле] [недеље] [у] LT',\n '[прошлог] [понедељка] [у] LT',\n '[прошлог] [уторка] [у] LT',\n '[прошле] [среде] [у] LT',\n '[прошлог] [четвртка] [у] LT',\n '[прошлог] [петка] [у] LT',\n '[прошле] [суботе] [у] LT'\n ];\n return lastWeekDays[this.day()];\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'за %s',\n past : 'пре %s',\n s : 'неколико секунди',\n ss : translator.translate,\n m : translator.translate,\n mm : translator.translate,\n h : translator.translate,\n hh : translator.translate,\n d : 'дан',\n dd : translator.translate,\n M : 'месец',\n MM : translator.translate,\n y : 'годину',\n yy : translator.translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return srCyrl;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var translator = {\n words: { //Different grammatical cases\n ss: ['sekunda', 'sekunde', 'sekundi'],\n m: ['jedan minut', 'jedne minute'],\n mm: ['minut', 'minute', 'minuta'],\n h: ['jedan sat', 'jednog sata'],\n hh: ['sat', 'sata', 'sati'],\n dd: ['dan', 'dana', 'dana'],\n MM: ['mesec', 'meseca', 'meseci'],\n yy: ['godina', 'godine', 'godina']\n },\n correctGrammaticalCase: function (number, wordKey) {\n return number === 1 ? wordKey[0] : (number >= 2 && number <= 4 ? wordKey[1] : wordKey[2]);\n },\n translate: function (number, withoutSuffix, key) {\n var wordKey = translator.words[key];\n if (key.length === 1) {\n return withoutSuffix ? wordKey[0] : wordKey[1];\n } else {\n return number + ' ' + translator.correctGrammaticalCase(number, wordKey);\n }\n }\n };\n\n var sr = moment.defineLocale('sr', {\n months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split('_'),\n monthsShort: 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays: 'nedelja_ponedeljak_utorak_sreda_četvrtak_petak_subota'.split('_'),\n weekdaysShort: 'ned._pon._uto._sre._čet._pet._sub.'.split('_'),\n weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact : true,\n longDateFormat: {\n LT: 'H:mm',\n LTS : 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd, D. MMMM YYYY H:mm'\n },\n calendar: {\n sameDay: '[danas u] LT',\n nextDay: '[sutra u] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[u] [nedelju] [u] LT';\n case 3:\n return '[u] [sredu] [u] LT';\n case 6:\n return '[u] [subotu] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay : '[juče u] LT',\n lastWeek : function () {\n var lastWeekDays = [\n '[prošle] [nedelje] [u] LT',\n '[prošlog] [ponedeljka] [u] LT',\n '[prošlog] [utorka] [u] LT',\n '[prošle] [srede] [u] LT',\n '[prošlog] [četvrtka] [u] LT',\n '[prošlog] [petka] [u] LT',\n '[prošle] [subote] [u] LT'\n ];\n return lastWeekDays[this.day()];\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'za %s',\n past : 'pre %s',\n s : 'nekoliko sekundi',\n ss : translator.translate,\n m : translator.translate,\n mm : translator.translate,\n h : translator.translate,\n hh : translator.translate,\n d : 'dan',\n dd : translator.translate,\n M : 'mesec',\n MM : translator.translate,\n y : 'godinu',\n yy : translator.translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return sr;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var sq = moment.defineLocale('sq', {\n months : 'Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_Nëntor_Dhjetor'.split('_'),\n monthsShort : 'Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_Nën_Dhj'.split('_'),\n weekdays : 'E Diel_E Hënë_E Martë_E Mërkurë_E Enjte_E Premte_E Shtunë'.split('_'),\n weekdaysShort : 'Die_Hën_Mar_Mër_Enj_Pre_Sht'.split('_'),\n weekdaysMin : 'D_H_Ma_Më_E_P_Sh'.split('_'),\n weekdaysParseExact : true,\n meridiemParse: /PD|MD/,\n isPM: function (input) {\n return input.charAt(0) === 'M';\n },\n meridiem : function (hours, minutes, isLower) {\n return hours < 12 ? 'PD' : 'MD';\n },\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Sot në] LT',\n nextDay : '[Nesër në] LT',\n nextWeek : 'dddd [në] LT',\n lastDay : '[Dje në] LT',\n lastWeek : 'dddd [e kaluar në] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'në %s',\n past : '%s më parë',\n s : 'disa sekonda',\n ss : '%d sekonda',\n m : 'një minutë',\n mm : '%d minuta',\n h : 'një orë',\n hh : '%d orë',\n d : 'një ditë',\n dd : '%d ditë',\n M : 'një muaj',\n MM : '%d muaj',\n y : 'një vit',\n yy : '%d vite'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return sq;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n switch (key) {\n case 's':\n return withoutSuffix || isFuture ? 'nekaj sekund' : 'nekaj sekundami';\n case 'ss':\n if (number === 1) {\n result += withoutSuffix ? 'sekundo' : 'sekundi';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'sekundi' : 'sekundah';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'sekunde' : 'sekundah';\n } else {\n result += withoutSuffix || isFuture ? 'sekund' : 'sekund';\n }\n return result;\n case 'm':\n return withoutSuffix ? 'ena minuta' : 'eno minuto';\n case 'mm':\n if (number === 1) {\n result += withoutSuffix ? 'minuta' : 'minuto';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'minuti' : 'minutama';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'minute' : 'minutami';\n } else {\n result += withoutSuffix || isFuture ? 'minut' : 'minutami';\n }\n return result;\n case 'h':\n return withoutSuffix ? 'ena ura' : 'eno uro';\n case 'hh':\n if (number === 1) {\n result += withoutSuffix ? 'ura' : 'uro';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'uri' : 'urama';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'ure' : 'urami';\n } else {\n result += withoutSuffix || isFuture ? 'ur' : 'urami';\n }\n return result;\n case 'd':\n return withoutSuffix || isFuture ? 'en dan' : 'enim dnem';\n case 'dd':\n if (number === 1) {\n result += withoutSuffix || isFuture ? 'dan' : 'dnem';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'dni' : 'dnevoma';\n } else {\n result += withoutSuffix || isFuture ? 'dni' : 'dnevi';\n }\n return result;\n case 'M':\n return withoutSuffix || isFuture ? 'en mesec' : 'enim mesecem';\n case 'MM':\n if (number === 1) {\n result += withoutSuffix || isFuture ? 'mesec' : 'mesecem';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'meseca' : 'mesecema';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'mesece' : 'meseci';\n } else {\n result += withoutSuffix || isFuture ? 'mesecev' : 'meseci';\n }\n return result;\n case 'y':\n return withoutSuffix || isFuture ? 'eno leto' : 'enim letom';\n case 'yy':\n if (number === 1) {\n result += withoutSuffix || isFuture ? 'leto' : 'letom';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'leti' : 'letoma';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'leta' : 'leti';\n } else {\n result += withoutSuffix || isFuture ? 'let' : 'leti';\n }\n return result;\n }\n }\n\n var sl = moment.defineLocale('sl', {\n months : 'januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december'.split('_'),\n monthsShort : 'jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays : 'nedelja_ponedeljek_torek_sreda_četrtek_petek_sobota'.split('_'),\n weekdaysShort : 'ned._pon._tor._sre._čet._pet._sob.'.split('_'),\n weekdaysMin : 'ne_po_to_sr_če_pe_so'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY H:mm',\n LLLL : 'dddd, D. MMMM YYYY H:mm'\n },\n calendar : {\n sameDay : '[danes ob] LT',\n nextDay : '[jutri ob] LT',\n\n nextWeek : function () {\n switch (this.day()) {\n case 0:\n return '[v] [nedeljo] [ob] LT';\n case 3:\n return '[v] [sredo] [ob] LT';\n case 6:\n return '[v] [soboto] [ob] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[v] dddd [ob] LT';\n }\n },\n lastDay : '[včeraj ob] LT',\n lastWeek : function () {\n switch (this.day()) {\n case 0:\n return '[prejšnjo] [nedeljo] [ob] LT';\n case 3:\n return '[prejšnjo] [sredo] [ob] LT';\n case 6:\n return '[prejšnjo] [soboto] [ob] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[prejšnji] dddd [ob] LT';\n }\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'čez %s',\n past : 'pred %s',\n s : processRelativeTime,\n ss : processRelativeTime,\n m : processRelativeTime,\n mm : processRelativeTime,\n h : processRelativeTime,\n hh : processRelativeTime,\n d : processRelativeTime,\n dd : processRelativeTime,\n M : processRelativeTime,\n MM : processRelativeTime,\n y : processRelativeTime,\n yy : processRelativeTime\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return sl;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var months = 'január_február_marec_apríl_máj_jún_júl_august_september_október_november_december'.split('_'),\n monthsShort = 'jan_feb_mar_apr_máj_jún_júl_aug_sep_okt_nov_dec'.split('_');\n function plural(n) {\n return (n > 1) && (n < 5);\n }\n function translate(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n switch (key) {\n case 's': // a few seconds / in a few seconds / a few seconds ago\n return (withoutSuffix || isFuture) ? 'pár sekúnd' : 'pár sekundami';\n case 'ss': // 9 seconds / in 9 seconds / 9 seconds ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'sekundy' : 'sekúnd');\n } else {\n return result + 'sekundami';\n }\n break;\n case 'm': // a minute / in a minute / a minute ago\n return withoutSuffix ? 'minúta' : (isFuture ? 'minútu' : 'minútou');\n case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'minúty' : 'minút');\n } else {\n return result + 'minútami';\n }\n break;\n case 'h': // an hour / in an hour / an hour ago\n return withoutSuffix ? 'hodina' : (isFuture ? 'hodinu' : 'hodinou');\n case 'hh': // 9 hours / in 9 hours / 9 hours ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'hodiny' : 'hodín');\n } else {\n return result + 'hodinami';\n }\n break;\n case 'd': // a day / in a day / a day ago\n return (withoutSuffix || isFuture) ? 'deň' : 'dňom';\n case 'dd': // 9 days / in 9 days / 9 days ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'dni' : 'dní');\n } else {\n return result + 'dňami';\n }\n break;\n case 'M': // a month / in a month / a month ago\n return (withoutSuffix || isFuture) ? 'mesiac' : 'mesiacom';\n case 'MM': // 9 months / in 9 months / 9 months ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'mesiace' : 'mesiacov');\n } else {\n return result + 'mesiacmi';\n }\n break;\n case 'y': // a year / in a year / a year ago\n return (withoutSuffix || isFuture) ? 'rok' : 'rokom';\n case 'yy': // 9 years / in 9 years / 9 years ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'roky' : 'rokov');\n } else {\n return result + 'rokmi';\n }\n break;\n }\n }\n\n var sk = moment.defineLocale('sk', {\n months : months,\n monthsShort : monthsShort,\n weekdays : 'nedeľa_pondelok_utorok_streda_štvrtok_piatok_sobota'.split('_'),\n weekdaysShort : 'ne_po_ut_st_št_pi_so'.split('_'),\n weekdaysMin : 'ne_po_ut_st_št_pi_so'.split('_'),\n longDateFormat : {\n LT: 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY H:mm',\n LLLL : 'dddd D. MMMM YYYY H:mm'\n },\n calendar : {\n sameDay: '[dnes o] LT',\n nextDay: '[zajtra o] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[v nedeľu o] LT';\n case 1:\n case 2:\n return '[v] dddd [o] LT';\n case 3:\n return '[v stredu o] LT';\n case 4:\n return '[vo štvrtok o] LT';\n case 5:\n return '[v piatok o] LT';\n case 6:\n return '[v sobotu o] LT';\n }\n },\n lastDay: '[včera o] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[minulú nedeľu o] LT';\n case 1:\n case 2:\n return '[minulý] dddd [o] LT';\n case 3:\n return '[minulú stredu o] LT';\n case 4:\n case 5:\n return '[minulý] dddd [o] LT';\n case 6:\n return '[minulú sobotu o] LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : 'za %s',\n past : 'pred %s',\n s : translate,\n ss : translate,\n m : translate,\n mm : translate,\n h : translate,\n hh : translate,\n d : translate,\n dd : translate,\n M : translate,\n MM : translate,\n y : translate,\n yy : translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return sk;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n /*jshint -W100*/\n var si = moment.defineLocale('si', {\n months : 'ජනවාරි_පෙබරවාරි_මාර්තු_අප්‍රේල්_මැයි_ජූනි_ජූලි_අගෝස්තු_සැප්තැම්බර්_ඔක්තෝබර්_නොවැම්බර්_දෙසැම්බර්'.split('_'),\n monthsShort : 'ජන_පෙබ_මාර්_අප්_මැයි_ජූනි_ජූලි_අගෝ_සැප්_ඔක්_නොවැ_දෙසැ'.split('_'),\n weekdays : 'ඉරිදා_සඳුදා_අඟහරුවාදා_බදාදා_බ්‍රහස්පතින්දා_සිකුරාදා_සෙනසුරාදා'.split('_'),\n weekdaysShort : 'ඉරි_සඳු_අඟ_බදා_බ්‍රහ_සිකු_සෙන'.split('_'),\n weekdaysMin : 'ඉ_ස_අ_බ_බ්‍ර_සි_සෙ'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'a h:mm',\n LTS : 'a h:mm:ss',\n L : 'YYYY/MM/DD',\n LL : 'YYYY MMMM D',\n LLL : 'YYYY MMMM D, a h:mm',\n LLLL : 'YYYY MMMM D [වැනි] dddd, a h:mm:ss'\n },\n calendar : {\n sameDay : '[අද] LT[ට]',\n nextDay : '[හෙට] LT[ට]',\n nextWeek : 'dddd LT[ට]',\n lastDay : '[ඊයේ] LT[ට]',\n lastWeek : '[පසුගිය] dddd LT[ට]',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%sකින්',\n past : '%sකට පෙර',\n s : 'තත්පර කිහිපය',\n ss : 'තත්පර %d',\n m : 'මිනිත්තුව',\n mm : 'මිනිත්තු %d',\n h : 'පැය',\n hh : 'පැය %d',\n d : 'දිනය',\n dd : 'දින %d',\n M : 'මාසය',\n MM : 'මාස %d',\n y : 'වසර',\n yy : 'වසර %d'\n },\n dayOfMonthOrdinalParse: /\\d{1,2} වැනි/,\n ordinal : function (number) {\n return number + ' වැනි';\n },\n meridiemParse : /පෙර වරු|පස් වරු|පෙ.ව|ප.ව./,\n isPM : function (input) {\n return input === 'ප.ව.' || input === 'පස් වරු';\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'ප.ව.' : 'පස් වරු';\n } else {\n return isLower ? 'පෙ.ව.' : 'පෙර වරු';\n }\n }\n });\n\n return si;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var se = moment.defineLocale('se', {\n months : 'ođđajagemánnu_guovvamánnu_njukčamánnu_cuoŋománnu_miessemánnu_geassemánnu_suoidnemánnu_borgemánnu_čakčamánnu_golggotmánnu_skábmamánnu_juovlamánnu'.split('_'),\n monthsShort : 'ođđj_guov_njuk_cuo_mies_geas_suoi_borg_čakč_golg_skáb_juov'.split('_'),\n weekdays : 'sotnabeaivi_vuossárga_maŋŋebárga_gaskavahkku_duorastat_bearjadat_lávvardat'.split('_'),\n weekdaysShort : 'sotn_vuos_maŋ_gask_duor_bear_láv'.split('_'),\n weekdaysMin : 's_v_m_g_d_b_L'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'MMMM D. [b.] YYYY',\n LLL : 'MMMM D. [b.] YYYY [ti.] HH:mm',\n LLLL : 'dddd, MMMM D. [b.] YYYY [ti.] HH:mm'\n },\n calendar : {\n sameDay: '[otne ti] LT',\n nextDay: '[ihttin ti] LT',\n nextWeek: 'dddd [ti] LT',\n lastDay: '[ikte ti] LT',\n lastWeek: '[ovddit] dddd [ti] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : '%s geažes',\n past : 'maŋit %s',\n s : 'moadde sekunddat',\n ss: '%d sekunddat',\n m : 'okta minuhta',\n mm : '%d minuhtat',\n h : 'okta diimmu',\n hh : '%d diimmut',\n d : 'okta beaivi',\n dd : '%d beaivvit',\n M : 'okta mánnu',\n MM : '%d mánut',\n y : 'okta jahki',\n yy : '%d jagit'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return se;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var months = [\n 'جنوري',\n 'فيبروري',\n 'مارچ',\n 'اپريل',\n 'مئي',\n 'جون',\n 'جولاءِ',\n 'آگسٽ',\n 'سيپٽمبر',\n 'آڪٽوبر',\n 'نومبر',\n 'ڊسمبر'\n ];\n var days = [\n 'آچر',\n 'سومر',\n 'اڱارو',\n 'اربع',\n 'خميس',\n 'جمع',\n 'ڇنڇر'\n ];\n\n var sd = moment.defineLocale('sd', {\n months : months,\n monthsShort : months,\n weekdays : days,\n weekdaysShort : days,\n weekdaysMin : days,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd، D MMMM YYYY HH:mm'\n },\n meridiemParse: /صبح|شام/,\n isPM : function (input) {\n return 'شام' === input;\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'صبح';\n }\n return 'شام';\n },\n calendar : {\n sameDay : '[اڄ] LT',\n nextDay : '[سڀاڻي] LT',\n nextWeek : 'dddd [اڳين هفتي تي] LT',\n lastDay : '[ڪالهه] LT',\n lastWeek : '[گزريل هفتي] dddd [تي] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s پوء',\n past : '%s اڳ',\n s : 'چند سيڪنڊ',\n ss : '%d سيڪنڊ',\n m : 'هڪ منٽ',\n mm : '%d منٽ',\n h : 'هڪ ڪلاڪ',\n hh : '%d ڪلاڪ',\n d : 'هڪ ڏينهن',\n dd : '%d ڏينهن',\n M : 'هڪ مهينو',\n MM : '%d مهينا',\n y : 'هڪ سال',\n yy : '%d سال'\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/,/g, '،');\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return sd;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function plural(word, num) {\n var forms = word.split('_');\n return num % 10 === 1 && num % 100 !== 11 ? forms[0] : (num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) ? forms[1] : forms[2]);\n }\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n var format = {\n 'ss': withoutSuffix ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд',\n 'mm': withoutSuffix ? 'минута_минуты_минут' : 'минуту_минуты_минут',\n 'hh': 'час_часа_часов',\n 'dd': 'день_дня_дней',\n 'MM': 'месяц_месяца_месяцев',\n 'yy': 'год_года_лет'\n };\n if (key === 'm') {\n return withoutSuffix ? 'минута' : 'минуту';\n }\n else {\n return number + ' ' + plural(format[key], +number);\n }\n }\n var monthsParse = [/^янв/i, /^фев/i, /^мар/i, /^апр/i, /^ма[йя]/i, /^июн/i, /^июл/i, /^авг/i, /^сен/i, /^окт/i, /^ноя/i, /^дек/i];\n\n // http://new.gramota.ru/spravka/rules/139-prop : § 103\n // Сокращения месяцев: http://new.gramota.ru/spravka/buro/search-answer?s=242637\n // CLDR data: http://www.unicode.org/cldr/charts/28/summary/ru.html#1753\n var ru = moment.defineLocale('ru', {\n months : {\n format: 'января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря'.split('_'),\n standalone: 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split('_')\n },\n monthsShort : {\n // по CLDR именно \"июл.\" и \"июн.\", но какой смысл менять букву на точку ?\n format: 'янв._февр._мар._апр._мая_июня_июля_авг._сент._окт._нояб._дек.'.split('_'),\n standalone: 'янв._февр._март_апр._май_июнь_июль_авг._сент._окт._нояб._дек.'.split('_')\n },\n weekdays : {\n standalone: 'воскресенье_понедельник_вторник_среда_четверг_пятница_суббота'.split('_'),\n format: 'воскресенье_понедельник_вторник_среду_четверг_пятницу_субботу'.split('_'),\n isFormat: /\\[ ?[Вв] ?(?:прошлую|следующую|эту)? ?\\] ?dddd/\n },\n weekdaysShort : 'вс_пн_вт_ср_чт_пт_сб'.split('_'),\n weekdaysMin : 'вс_пн_вт_ср_чт_пт_сб'.split('_'),\n monthsParse : monthsParse,\n longMonthsParse : monthsParse,\n shortMonthsParse : monthsParse,\n\n // полные названия с падежами, по три буквы, для некоторых, по 4 буквы, сокращения с точкой и без точки\n monthsRegex: /^(январ[ья]|янв\\.?|феврал[ья]|февр?\\.?|марта?|мар\\.?|апрел[ья]|апр\\.?|ма[йя]|июн[ья]|июн\\.?|июл[ья]|июл\\.?|августа?|авг\\.?|сентябр[ья]|сент?\\.?|октябр[ья]|окт\\.?|ноябр[ья]|нояб?\\.?|декабр[ья]|дек\\.?)/i,\n\n // копия предыдущего\n monthsShortRegex: /^(январ[ья]|янв\\.?|феврал[ья]|февр?\\.?|марта?|мар\\.?|апрел[ья]|апр\\.?|ма[йя]|июн[ья]|июн\\.?|июл[ья]|июл\\.?|августа?|авг\\.?|сентябр[ья]|сент?\\.?|октябр[ья]|окт\\.?|ноябр[ья]|нояб?\\.?|декабр[ья]|дек\\.?)/i,\n\n // полные названия с падежами\n monthsStrictRegex: /^(январ[яь]|феврал[яь]|марта?|апрел[яь]|ма[яй]|июн[яь]|июл[яь]|августа?|сентябр[яь]|октябр[яь]|ноябр[яь]|декабр[яь])/i,\n\n // Выражение, которое соотвествует только сокращённым формам\n monthsShortStrictRegex: /^(янв\\.|февр?\\.|мар[т.]|апр\\.|ма[яй]|июн[ья.]|июл[ья.]|авг\\.|сент?\\.|окт\\.|нояб?\\.|дек\\.)/i,\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY г.',\n LLL : 'D MMMM YYYY г., H:mm',\n LLLL : 'dddd, D MMMM YYYY г., H:mm'\n },\n calendar : {\n sameDay: '[Сегодня, в] LT',\n nextDay: '[Завтра, в] LT',\n lastDay: '[Вчера, в] LT',\n nextWeek: function (now) {\n if (now.week() !== this.week()) {\n switch (this.day()) {\n case 0:\n return '[В следующее] dddd, [в] LT';\n case 1:\n case 2:\n case 4:\n return '[В следующий] dddd, [в] LT';\n case 3:\n case 5:\n case 6:\n return '[В следующую] dddd, [в] LT';\n }\n } else {\n if (this.day() === 2) {\n return '[Во] dddd, [в] LT';\n } else {\n return '[В] dddd, [в] LT';\n }\n }\n },\n lastWeek: function (now) {\n if (now.week() !== this.week()) {\n switch (this.day()) {\n case 0:\n return '[В прошлое] dddd, [в] LT';\n case 1:\n case 2:\n case 4:\n return '[В прошлый] dddd, [в] LT';\n case 3:\n case 5:\n case 6:\n return '[В прошлую] dddd, [в] LT';\n }\n } else {\n if (this.day() === 2) {\n return '[Во] dddd, [в] LT';\n } else {\n return '[В] dddd, [в] LT';\n }\n }\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : 'через %s',\n past : '%s назад',\n s : 'несколько секунд',\n ss : relativeTimeWithPlural,\n m : relativeTimeWithPlural,\n mm : relativeTimeWithPlural,\n h : 'час',\n hh : relativeTimeWithPlural,\n d : 'день',\n dd : relativeTimeWithPlural,\n M : 'месяц',\n MM : relativeTimeWithPlural,\n y : 'год',\n yy : relativeTimeWithPlural\n },\n meridiemParse: /ночи|утра|дня|вечера/i,\n isPM : function (input) {\n return /^(дня|вечера)$/.test(input);\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ночи';\n } else if (hour < 12) {\n return 'утра';\n } else if (hour < 17) {\n return 'дня';\n } else {\n return 'вечера';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(й|го|я)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'M':\n case 'd':\n case 'DDD':\n return number + '-й';\n case 'D':\n return number + '-го';\n case 'w':\n case 'W':\n return number + '-я';\n default:\n return number;\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return ru;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n var format = {\n 'ss': 'secunde',\n 'mm': 'minute',\n 'hh': 'ore',\n 'dd': 'zile',\n 'MM': 'luni',\n 'yy': 'ani'\n },\n separator = ' ';\n if (number % 100 >= 20 || (number >= 100 && number % 100 === 0)) {\n separator = ' de ';\n }\n return number + separator + format[key];\n }\n\n var ro = moment.defineLocale('ro', {\n months : 'ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie'.split('_'),\n monthsShort : 'ian._febr._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays : 'duminică_luni_marți_miercuri_joi_vineri_sâmbătă'.split('_'),\n weekdaysShort : 'Dum_Lun_Mar_Mie_Joi_Vin_Sâm'.split('_'),\n weekdaysMin : 'Du_Lu_Ma_Mi_Jo_Vi_Sâ'.split('_'),\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY H:mm',\n LLLL : 'dddd, D MMMM YYYY H:mm'\n },\n calendar : {\n sameDay: '[azi la] LT',\n nextDay: '[mâine la] LT',\n nextWeek: 'dddd [la] LT',\n lastDay: '[ieri la] LT',\n lastWeek: '[fosta] dddd [la] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'peste %s',\n past : '%s în urmă',\n s : 'câteva secunde',\n ss : relativeTimeWithPlural,\n m : 'un minut',\n mm : relativeTimeWithPlural,\n h : 'o oră',\n hh : relativeTimeWithPlural,\n d : 'o zi',\n dd : relativeTimeWithPlural,\n M : 'o lună',\n MM : relativeTimeWithPlural,\n y : 'un an',\n yy : relativeTimeWithPlural\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return ro;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var ptBr = moment.defineLocale('pt-br', {\n months : 'janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro'.split('_'),\n monthsShort : 'jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez'.split('_'),\n weekdays : 'Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado'.split('_'),\n weekdaysShort : 'Dom_Seg_Ter_Qua_Qui_Sex_Sáb'.split('_'),\n weekdaysMin : 'Do_2ª_3ª_4ª_5ª_6ª_Sá'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D [de] MMMM [de] YYYY',\n LLL : 'D [de] MMMM [de] YYYY [às] HH:mm',\n LLLL : 'dddd, D [de] MMMM [de] YYYY [às] HH:mm'\n },\n calendar : {\n sameDay: '[Hoje às] LT',\n nextDay: '[Amanhã às] LT',\n nextWeek: 'dddd [às] LT',\n lastDay: '[Ontem às] LT',\n lastWeek: function () {\n return (this.day() === 0 || this.day() === 6) ?\n '[Último] dddd [às] LT' : // Saturday + Sunday\n '[Última] dddd [às] LT'; // Monday - Friday\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : 'em %s',\n past : 'há %s',\n s : 'poucos segundos',\n ss : '%d segundos',\n m : 'um minuto',\n mm : '%d minutos',\n h : 'uma hora',\n hh : '%d horas',\n d : 'um dia',\n dd : '%d dias',\n M : 'um mês',\n MM : '%d meses',\n y : 'um ano',\n yy : '%d anos'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal : '%dº'\n });\n\n return ptBr;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var pt = moment.defineLocale('pt', {\n months : 'janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro'.split('_'),\n monthsShort : 'jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez'.split('_'),\n weekdays : 'Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado'.split('_'),\n weekdaysShort : 'Dom_Seg_Ter_Qua_Qui_Sex_Sáb'.split('_'),\n weekdaysMin : 'Do_2ª_3ª_4ª_5ª_6ª_Sá'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D [de] MMMM [de] YYYY',\n LLL : 'D [de] MMMM [de] YYYY HH:mm',\n LLLL : 'dddd, D [de] MMMM [de] YYYY HH:mm'\n },\n calendar : {\n sameDay: '[Hoje às] LT',\n nextDay: '[Amanhã às] LT',\n nextWeek: 'dddd [às] LT',\n lastDay: '[Ontem às] LT',\n lastWeek: function () {\n return (this.day() === 0 || this.day() === 6) ?\n '[Último] dddd [às] LT' : // Saturday + Sunday\n '[Última] dddd [às] LT'; // Monday - Friday\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : 'em %s',\n past : 'há %s',\n s : 'segundos',\n ss : '%d segundos',\n m : 'um minuto',\n mm : '%d minutos',\n h : 'uma hora',\n hh : '%d horas',\n d : 'um dia',\n dd : '%d dias',\n M : 'um mês',\n MM : '%d meses',\n y : 'um ano',\n yy : '%d anos'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal : '%dº',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return pt;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var monthsNominative = 'styczeń_luty_marzec_kwiecień_maj_czerwiec_lipiec_sierpień_wrzesień_październik_listopad_grudzień'.split('_'),\n monthsSubjective = 'stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_września_października_listopada_grudnia'.split('_');\n function plural(n) {\n return (n % 10 < 5) && (n % 10 > 1) && ((~~(n / 10) % 10) !== 1);\n }\n function translate(number, withoutSuffix, key) {\n var result = number + ' ';\n switch (key) {\n case 'ss':\n return result + (plural(number) ? 'sekundy' : 'sekund');\n case 'm':\n return withoutSuffix ? 'minuta' : 'minutę';\n case 'mm':\n return result + (plural(number) ? 'minuty' : 'minut');\n case 'h':\n return withoutSuffix ? 'godzina' : 'godzinę';\n case 'hh':\n return result + (plural(number) ? 'godziny' : 'godzin');\n case 'MM':\n return result + (plural(number) ? 'miesiące' : 'miesięcy');\n case 'yy':\n return result + (plural(number) ? 'lata' : 'lat');\n }\n }\n\n var pl = moment.defineLocale('pl', {\n months : function (momentToFormat, format) {\n if (!momentToFormat) {\n return monthsNominative;\n } else if (format === '') {\n // Hack: if format empty we know this is used to generate\n // RegExp by moment. Give then back both valid forms of months\n // in RegExp ready format.\n return '(' + monthsSubjective[momentToFormat.month()] + '|' + monthsNominative[momentToFormat.month()] + ')';\n } else if (/D MMMM/.test(format)) {\n return monthsSubjective[momentToFormat.month()];\n } else {\n return monthsNominative[momentToFormat.month()];\n }\n },\n monthsShort : 'sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paź_lis_gru'.split('_'),\n weekdays : 'niedziela_poniedziałek_wtorek_środa_czwartek_piątek_sobota'.split('_'),\n weekdaysShort : 'ndz_pon_wt_śr_czw_pt_sob'.split('_'),\n weekdaysMin : 'Nd_Pn_Wt_Śr_Cz_Pt_So'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[Dziś o] LT',\n nextDay: '[Jutro o] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[W niedzielę o] LT';\n\n case 2:\n return '[We wtorek o] LT';\n\n case 3:\n return '[W środę o] LT';\n\n case 6:\n return '[W sobotę o] LT';\n\n default:\n return '[W] dddd [o] LT';\n }\n },\n lastDay: '[Wczoraj o] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[W zeszłą niedzielę o] LT';\n case 3:\n return '[W zeszłą środę o] LT';\n case 6:\n return '[W zeszłą sobotę o] LT';\n default:\n return '[W zeszły] dddd [o] LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : 'za %s',\n past : '%s temu',\n s : 'kilka sekund',\n ss : translate,\n m : translate,\n mm : translate,\n h : translate,\n hh : translate,\n d : '1 dzień',\n dd : '%d dni',\n M : 'miesiąc',\n MM : translate,\n y : 'rok',\n yy : translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return pl;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '੧',\n '2': '੨',\n '3': '੩',\n '4': '੪',\n '5': '੫',\n '6': '੬',\n '7': '੭',\n '8': '੮',\n '9': '੯',\n '0': '੦'\n },\n numberMap = {\n '੧': '1',\n '੨': '2',\n '੩': '3',\n '੪': '4',\n '੫': '5',\n '੬': '6',\n '੭': '7',\n '੮': '8',\n '੯': '9',\n '੦': '0'\n };\n\n var paIn = moment.defineLocale('pa-in', {\n // There are months name as per Nanakshahi Calender but they are not used as rigidly in modern Punjabi.\n months : 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split('_'),\n monthsShort : 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split('_'),\n weekdays : 'ਐਤਵਾਰ_ਸੋਮਵਾਰ_ਮੰਗਲਵਾਰ_ਬੁਧਵਾਰ_ਵੀਰਵਾਰ_ਸ਼ੁੱਕਰਵਾਰ_ਸ਼ਨੀਚਰਵਾਰ'.split('_'),\n weekdaysShort : 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'),\n weekdaysMin : 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'),\n longDateFormat : {\n LT : 'A h:mm ਵਜੇ',\n LTS : 'A h:mm:ss ਵਜੇ',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, A h:mm ਵਜੇ',\n LLLL : 'dddd, D MMMM YYYY, A h:mm ਵਜੇ'\n },\n calendar : {\n sameDay : '[ਅਜ] LT',\n nextDay : '[ਕਲ] LT',\n nextWeek : '[ਅਗਲਾ] dddd, LT',\n lastDay : '[ਕਲ] LT',\n lastWeek : '[ਪਿਛਲੇ] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s ਵਿੱਚ',\n past : '%s ਪਿਛਲੇ',\n s : 'ਕੁਝ ਸਕਿੰਟ',\n ss : '%d ਸਕਿੰਟ',\n m : 'ਇਕ ਮਿੰਟ',\n mm : '%d ਮਿੰਟ',\n h : 'ਇੱਕ ਘੰਟਾ',\n hh : '%d ਘੰਟੇ',\n d : 'ਇੱਕ ਦਿਨ',\n dd : '%d ਦਿਨ',\n M : 'ਇੱਕ ਮਹੀਨਾ',\n MM : '%d ਮਹੀਨੇ',\n y : 'ਇੱਕ ਸਾਲ',\n yy : '%d ਸਾਲ'\n },\n preparse: function (string) {\n return string.replace(/[੧੨੩੪੫੬੭੮੯੦]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n // Punjabi notation for meridiems are quite fuzzy in practice. While there exists\n // a rigid notion of a 'Pahar' it is not used as rigidly in modern Punjabi.\n meridiemParse: /ਰਾਤ|ਸਵੇਰ|ਦੁਪਹਿਰ|ਸ਼ਾਮ/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'ਰਾਤ') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'ਸਵੇਰ') {\n return hour;\n } else if (meridiem === 'ਦੁਪਹਿਰ') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'ਸ਼ਾਮ') {\n return hour + 12;\n }\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ਰਾਤ';\n } else if (hour < 10) {\n return 'ਸਵੇਰ';\n } else if (hour < 17) {\n return 'ਦੁਪਹਿਰ';\n } else if (hour < 20) {\n return 'ਸ਼ਾਮ';\n } else {\n return 'ਰਾਤ';\n }\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return paIn;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var nn = moment.defineLocale('nn', {\n months : 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split('_'),\n monthsShort : 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'),\n weekdays : 'sundag_måndag_tysdag_onsdag_torsdag_fredag_laurdag'.split('_'),\n weekdaysShort : 'sun_mån_tys_ons_tor_fre_lau'.split('_'),\n weekdaysMin : 'su_må_ty_on_to_fr_lø'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY [kl.] H:mm',\n LLLL : 'dddd D. MMMM YYYY [kl.] HH:mm'\n },\n calendar : {\n sameDay: '[I dag klokka] LT',\n nextDay: '[I morgon klokka] LT',\n nextWeek: 'dddd [klokka] LT',\n lastDay: '[I går klokka] LT',\n lastWeek: '[Føregåande] dddd [klokka] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'om %s',\n past : '%s sidan',\n s : 'nokre sekund',\n ss : '%d sekund',\n m : 'eit minutt',\n mm : '%d minutt',\n h : 'ein time',\n hh : '%d timar',\n d : 'ein dag',\n dd : '%d dagar',\n M : 'ein månad',\n MM : '%d månader',\n y : 'eit år',\n yy : '%d år'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return nn;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var monthsShortWithDots = 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'),\n monthsShortWithoutDots = 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_');\n\n var monthsParse = [/^jan/i, /^feb/i, /^maart|mrt.?$/i, /^apr/i, /^mei$/i, /^jun[i.]?$/i, /^jul[i.]?$/i, /^aug/i, /^sep/i, /^okt/i, /^nov/i, /^dec/i];\n var monthsRegex = /^(januari|februari|maart|april|mei|april|ju[nl]i|augustus|september|oktober|november|december|jan\\.?|feb\\.?|mrt\\.?|apr\\.?|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i;\n\n var nlBe = moment.defineLocale('nl-be', {\n months : 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split('_'),\n monthsShort : function (m, format) {\n if (!m) {\n return monthsShortWithDots;\n } else if (/-MMM-/.test(format)) {\n return monthsShortWithoutDots[m.month()];\n } else {\n return monthsShortWithDots[m.month()];\n }\n },\n\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: /^(januari|februari|maart|mei|ju[nl]i|april|augustus|september|oktober|november|december)/i,\n monthsShortStrictRegex: /^(jan\\.?|feb\\.?|mrt\\.?|apr\\.?|mei|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i,\n\n monthsParse : monthsParse,\n longMonthsParse : monthsParse,\n shortMonthsParse : monthsParse,\n\n weekdays : 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split('_'),\n weekdaysShort : 'zo._ma._di._wo._do._vr._za.'.split('_'),\n weekdaysMin : 'zo_ma_di_wo_do_vr_za'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[vandaag om] LT',\n nextDay: '[morgen om] LT',\n nextWeek: 'dddd [om] LT',\n lastDay: '[gisteren om] LT',\n lastWeek: '[afgelopen] dddd [om] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'over %s',\n past : '%s geleden',\n s : 'een paar seconden',\n ss : '%d seconden',\n m : 'één minuut',\n mm : '%d minuten',\n h : 'één uur',\n hh : '%d uur',\n d : 'één dag',\n dd : '%d dagen',\n M : 'één maand',\n MM : '%d maanden',\n y : 'één jaar',\n yy : '%d jaar'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n ordinal : function (number) {\n return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de');\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return nlBe;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var monthsShortWithDots = 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'),\n monthsShortWithoutDots = 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_');\n\n var monthsParse = [/^jan/i, /^feb/i, /^maart|mrt.?$/i, /^apr/i, /^mei$/i, /^jun[i.]?$/i, /^jul[i.]?$/i, /^aug/i, /^sep/i, /^okt/i, /^nov/i, /^dec/i];\n var monthsRegex = /^(januari|februari|maart|april|mei|april|ju[nl]i|augustus|september|oktober|november|december|jan\\.?|feb\\.?|mrt\\.?|apr\\.?|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i;\n\n var nl = moment.defineLocale('nl', {\n months : 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split('_'),\n monthsShort : function (m, format) {\n if (!m) {\n return monthsShortWithDots;\n } else if (/-MMM-/.test(format)) {\n return monthsShortWithoutDots[m.month()];\n } else {\n return monthsShortWithDots[m.month()];\n }\n },\n\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: /^(januari|februari|maart|mei|ju[nl]i|april|augustus|september|oktober|november|december)/i,\n monthsShortStrictRegex: /^(jan\\.?|feb\\.?|mrt\\.?|apr\\.?|mei|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i,\n\n monthsParse : monthsParse,\n longMonthsParse : monthsParse,\n shortMonthsParse : monthsParse,\n\n weekdays : 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split('_'),\n weekdaysShort : 'zo._ma._di._wo._do._vr._za.'.split('_'),\n weekdaysMin : 'zo_ma_di_wo_do_vr_za'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD-MM-YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[vandaag om] LT',\n nextDay: '[morgen om] LT',\n nextWeek: 'dddd [om] LT',\n lastDay: '[gisteren om] LT',\n lastWeek: '[afgelopen] dddd [om] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'over %s',\n past : '%s geleden',\n s : 'een paar seconden',\n ss : '%d seconden',\n m : 'één minuut',\n mm : '%d minuten',\n h : 'één uur',\n hh : '%d uur',\n d : 'één dag',\n dd : '%d dagen',\n M : 'één maand',\n MM : '%d maanden',\n y : 'één jaar',\n yy : '%d jaar'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n ordinal : function (number) {\n return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de');\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return nl;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '१',\n '2': '२',\n '3': '३',\n '4': '४',\n '5': '५',\n '6': '६',\n '7': '७',\n '8': '८',\n '9': '९',\n '0': '०'\n },\n numberMap = {\n '१': '1',\n '२': '2',\n '३': '3',\n '४': '4',\n '५': '5',\n '६': '6',\n '७': '7',\n '८': '8',\n '९': '9',\n '०': '0'\n };\n\n var ne = moment.defineLocale('ne', {\n months : 'जनवरी_फेब्रुवरी_मार्च_अप्रिल_मई_जुन_जुलाई_अगष्ट_सेप्टेम्बर_अक्टोबर_नोभेम्बर_डिसेम्बर'.split('_'),\n monthsShort : 'जन._फेब्रु._मार्च_अप्रि._मई_जुन_जुलाई._अग._सेप्ट._अक्टो._नोभे._डिसे.'.split('_'),\n monthsParseExact : true,\n weekdays : 'आइतबार_सोमबार_मङ्गलबार_बुधबार_बिहिबार_शुक्रबार_शनिबार'.split('_'),\n weekdaysShort : 'आइत._सोम._मङ्गल._बुध._बिहि._शुक्र._शनि.'.split('_'),\n weekdaysMin : 'आ._सो._मं._बु._बि._शु._श.'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'Aको h:mm बजे',\n LTS : 'Aको h:mm:ss बजे',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, Aको h:mm बजे',\n LLLL : 'dddd, D MMMM YYYY, Aको h:mm बजे'\n },\n preparse: function (string) {\n return string.replace(/[१२३४५६७८९०]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /राति|बिहान|दिउँसो|साँझ/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'राति') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'बिहान') {\n return hour;\n } else if (meridiem === 'दिउँसो') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'साँझ') {\n return hour + 12;\n }\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 3) {\n return 'राति';\n } else if (hour < 12) {\n return 'बिहान';\n } else if (hour < 16) {\n return 'दिउँसो';\n } else if (hour < 20) {\n return 'साँझ';\n } else {\n return 'राति';\n }\n },\n calendar : {\n sameDay : '[आज] LT',\n nextDay : '[भोलि] LT',\n nextWeek : '[आउँदो] dddd[,] LT',\n lastDay : '[हिजो] LT',\n lastWeek : '[गएको] dddd[,] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%sमा',\n past : '%s अगाडि',\n s : 'केही क्षण',\n ss : '%d सेकेण्ड',\n m : 'एक मिनेट',\n mm : '%d मिनेट',\n h : 'एक घण्टा',\n hh : '%d घण्टा',\n d : 'एक दिन',\n dd : '%d दिन',\n M : 'एक महिना',\n MM : '%d महिना',\n y : 'एक बर्ष',\n yy : '%d बर्ष'\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return ne;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var nb = moment.defineLocale('nb', {\n months : 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split('_'),\n monthsShort : 'jan._feb._mars_april_mai_juni_juli_aug._sep._okt._nov._des.'.split('_'),\n monthsParseExact : true,\n weekdays : 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),\n weekdaysShort : 'sø._ma._ti._on._to._fr._lø.'.split('_'),\n weekdaysMin : 'sø_ma_ti_on_to_fr_lø'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY [kl.] HH:mm',\n LLLL : 'dddd D. MMMM YYYY [kl.] HH:mm'\n },\n calendar : {\n sameDay: '[i dag kl.] LT',\n nextDay: '[i morgen kl.] LT',\n nextWeek: 'dddd [kl.] LT',\n lastDay: '[i går kl.] LT',\n lastWeek: '[forrige] dddd [kl.] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'om %s',\n past : '%s siden',\n s : 'noen sekunder',\n ss : '%d sekunder',\n m : 'ett minutt',\n mm : '%d minutter',\n h : 'en time',\n hh : '%d timer',\n d : 'en dag',\n dd : '%d dager',\n M : 'en måned',\n MM : '%d måneder',\n y : 'ett år',\n yy : '%d år'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return nb;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '၁',\n '2': '၂',\n '3': '၃',\n '4': '၄',\n '5': '၅',\n '6': '၆',\n '7': '၇',\n '8': '၈',\n '9': '၉',\n '0': '၀'\n }, numberMap = {\n '၁': '1',\n '၂': '2',\n '၃': '3',\n '၄': '4',\n '၅': '5',\n '၆': '6',\n '၇': '7',\n '၈': '8',\n '၉': '9',\n '၀': '0'\n };\n\n var my = moment.defineLocale('my', {\n months: 'ဇန်နဝါရီ_ဖေဖော်ဝါရီ_မတ်_ဧပြီ_မေ_ဇွန်_ဇူလိုင်_သြဂုတ်_စက်တင်ဘာ_အောက်တိုဘာ_နိုဝင်ဘာ_ဒီဇင်ဘာ'.split('_'),\n monthsShort: 'ဇန်_ဖေ_မတ်_ပြီ_မေ_ဇွန်_လိုင်_သြ_စက်_အောက်_နို_ဒီ'.split('_'),\n weekdays: 'တနင်္ဂနွေ_တနင်္လာ_အင်္ဂါ_ဗုဒ္ဓဟူး_ကြာသပတေး_သောကြာ_စနေ'.split('_'),\n weekdaysShort: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'),\n weekdaysMin: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'),\n\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[ယနေ.] LT [မှာ]',\n nextDay: '[မနက်ဖြန်] LT [မှာ]',\n nextWeek: 'dddd LT [မှာ]',\n lastDay: '[မနေ.က] LT [မှာ]',\n lastWeek: '[ပြီးခဲ့သော] dddd LT [မှာ]',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'လာမည့် %s မှာ',\n past: 'လွန်ခဲ့သော %s က',\n s: 'စက္ကန်.အနည်းငယ်',\n ss : '%d စက္ကန့်',\n m: 'တစ်မိနစ်',\n mm: '%d မိနစ်',\n h: 'တစ်နာရီ',\n hh: '%d နာရီ',\n d: 'တစ်ရက်',\n dd: '%d ရက်',\n M: 'တစ်လ',\n MM: '%d လ',\n y: 'တစ်နှစ်',\n yy: '%d နှစ်'\n },\n preparse: function (string) {\n return string.replace(/[၁၂၃၄၅၆၇၈၉၀]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return my;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var mt = moment.defineLocale('mt', {\n months : 'Jannar_Frar_Marzu_April_Mejju_Ġunju_Lulju_Awwissu_Settembru_Ottubru_Novembru_Diċembru'.split('_'),\n monthsShort : 'Jan_Fra_Mar_Apr_Mej_Ġun_Lul_Aww_Set_Ott_Nov_Diċ'.split('_'),\n weekdays : 'Il-Ħadd_It-Tnejn_It-Tlieta_L-Erbgħa_Il-Ħamis_Il-Ġimgħa_Is-Sibt'.split('_'),\n weekdaysShort : 'Ħad_Tne_Tli_Erb_Ħam_Ġim_Sib'.split('_'),\n weekdaysMin : 'Ħa_Tn_Tl_Er_Ħa_Ġi_Si'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Illum fil-]LT',\n nextDay : '[Għada fil-]LT',\n nextWeek : 'dddd [fil-]LT',\n lastDay : '[Il-bieraħ fil-]LT',\n lastWeek : 'dddd [li għadda] [fil-]LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'f’ %s',\n past : '%s ilu',\n s : 'ftit sekondi',\n ss : '%d sekondi',\n m : 'minuta',\n mm : '%d minuti',\n h : 'siegħa',\n hh : '%d siegħat',\n d : 'ġurnata',\n dd : '%d ġranet',\n M : 'xahar',\n MM : '%d xhur',\n y : 'sena',\n yy : '%d sni'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}º/,\n ordinal: '%dº',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return mt;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var msMy = moment.defineLocale('ms-my', {\n months : 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split('_'),\n monthsShort : 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'),\n weekdays : 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'),\n weekdaysShort : 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'),\n weekdaysMin : 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'),\n longDateFormat : {\n LT : 'HH.mm',\n LTS : 'HH.mm.ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY [pukul] HH.mm',\n LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm'\n },\n meridiemParse: /pagi|tengahari|petang|malam/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'pagi') {\n return hour;\n } else if (meridiem === 'tengahari') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'petang' || meridiem === 'malam') {\n return hour + 12;\n }\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'pagi';\n } else if (hours < 15) {\n return 'tengahari';\n } else if (hours < 19) {\n return 'petang';\n } else {\n return 'malam';\n }\n },\n calendar : {\n sameDay : '[Hari ini pukul] LT',\n nextDay : '[Esok pukul] LT',\n nextWeek : 'dddd [pukul] LT',\n lastDay : '[Kelmarin pukul] LT',\n lastWeek : 'dddd [lepas pukul] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'dalam %s',\n past : '%s yang lepas',\n s : 'beberapa saat',\n ss : '%d saat',\n m : 'seminit',\n mm : '%d minit',\n h : 'sejam',\n hh : '%d jam',\n d : 'sehari',\n dd : '%d hari',\n M : 'sebulan',\n MM : '%d bulan',\n y : 'setahun',\n yy : '%d tahun'\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return msMy;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var ms = moment.defineLocale('ms', {\n months : 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split('_'),\n monthsShort : 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'),\n weekdays : 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'),\n weekdaysShort : 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'),\n weekdaysMin : 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'),\n longDateFormat : {\n LT : 'HH.mm',\n LTS : 'HH.mm.ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY [pukul] HH.mm',\n LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm'\n },\n meridiemParse: /pagi|tengahari|petang|malam/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'pagi') {\n return hour;\n } else if (meridiem === 'tengahari') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'petang' || meridiem === 'malam') {\n return hour + 12;\n }\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'pagi';\n } else if (hours < 15) {\n return 'tengahari';\n } else if (hours < 19) {\n return 'petang';\n } else {\n return 'malam';\n }\n },\n calendar : {\n sameDay : '[Hari ini pukul] LT',\n nextDay : '[Esok pukul] LT',\n nextWeek : 'dddd [pukul] LT',\n lastDay : '[Kelmarin pukul] LT',\n lastWeek : 'dddd [lepas pukul] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'dalam %s',\n past : '%s yang lepas',\n s : 'beberapa saat',\n ss : '%d saat',\n m : 'seminit',\n mm : '%d minit',\n h : 'sejam',\n hh : '%d jam',\n d : 'sehari',\n dd : '%d hari',\n M : 'sebulan',\n MM : '%d bulan',\n y : 'setahun',\n yy : '%d tahun'\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return ms;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '१',\n '2': '२',\n '3': '३',\n '4': '४',\n '5': '५',\n '6': '६',\n '7': '७',\n '8': '८',\n '9': '९',\n '0': '०'\n },\n numberMap = {\n '१': '1',\n '२': '2',\n '३': '3',\n '४': '4',\n '५': '5',\n '६': '6',\n '७': '7',\n '८': '8',\n '९': '9',\n '०': '0'\n };\n\n function relativeTimeMr(number, withoutSuffix, string, isFuture)\n {\n var output = '';\n if (withoutSuffix) {\n switch (string) {\n case 's': output = 'काही सेकंद'; break;\n case 'ss': output = '%d सेकंद'; break;\n case 'm': output = 'एक मिनिट'; break;\n case 'mm': output = '%d मिनिटे'; break;\n case 'h': output = 'एक तास'; break;\n case 'hh': output = '%d तास'; break;\n case 'd': output = 'एक दिवस'; break;\n case 'dd': output = '%d दिवस'; break;\n case 'M': output = 'एक महिना'; break;\n case 'MM': output = '%d महिने'; break;\n case 'y': output = 'एक वर्ष'; break;\n case 'yy': output = '%d वर्षे'; break;\n }\n }\n else {\n switch (string) {\n case 's': output = 'काही सेकंदां'; break;\n case 'ss': output = '%d सेकंदां'; break;\n case 'm': output = 'एका मिनिटा'; break;\n case 'mm': output = '%d मिनिटां'; break;\n case 'h': output = 'एका तासा'; break;\n case 'hh': output = '%d तासां'; break;\n case 'd': output = 'एका दिवसा'; break;\n case 'dd': output = '%d दिवसां'; break;\n case 'M': output = 'एका महिन्या'; break;\n case 'MM': output = '%d महिन्यां'; break;\n case 'y': output = 'एका वर्षा'; break;\n case 'yy': output = '%d वर्षां'; break;\n }\n }\n return output.replace(/%d/i, number);\n }\n\n var mr = moment.defineLocale('mr', {\n months : 'जानेवारी_फेब्रुवारी_मार्च_एप्रिल_मे_जून_जुलै_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर'.split('_'),\n monthsShort: 'जाने._फेब्रु._मार्च._एप्रि._मे._जून._जुलै._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.'.split('_'),\n monthsParseExact : true,\n weekdays : 'रविवार_सोमवार_मंगळवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'),\n weekdaysShort : 'रवि_सोम_मंगळ_बुध_गुरू_शुक्र_शनि'.split('_'),\n weekdaysMin : 'र_सो_मं_बु_गु_शु_श'.split('_'),\n longDateFormat : {\n LT : 'A h:mm वाजता',\n LTS : 'A h:mm:ss वाजता',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, A h:mm वाजता',\n LLLL : 'dddd, D MMMM YYYY, A h:mm वाजता'\n },\n calendar : {\n sameDay : '[आज] LT',\n nextDay : '[उद्या] LT',\n nextWeek : 'dddd, LT',\n lastDay : '[काल] LT',\n lastWeek: '[मागील] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future: '%sमध्ये',\n past: '%sपूर्वी',\n s: relativeTimeMr,\n ss: relativeTimeMr,\n m: relativeTimeMr,\n mm: relativeTimeMr,\n h: relativeTimeMr,\n hh: relativeTimeMr,\n d: relativeTimeMr,\n dd: relativeTimeMr,\n M: relativeTimeMr,\n MM: relativeTimeMr,\n y: relativeTimeMr,\n yy: relativeTimeMr\n },\n preparse: function (string) {\n return string.replace(/[१२३४५६७८९०]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /रात्री|सकाळी|दुपारी|सायंकाळी/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'रात्री') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'सकाळी') {\n return hour;\n } else if (meridiem === 'दुपारी') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'सायंकाळी') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'रात्री';\n } else if (hour < 10) {\n return 'सकाळी';\n } else if (hour < 17) {\n return 'दुपारी';\n } else if (hour < 20) {\n return 'सायंकाळी';\n } else {\n return 'रात्री';\n }\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return mr;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function translate(number, withoutSuffix, key, isFuture) {\n switch (key) {\n case 's':\n return withoutSuffix ? 'хэдхэн секунд' : 'хэдхэн секундын';\n case 'ss':\n return number + (withoutSuffix ? ' секунд' : ' секундын');\n case 'm':\n case 'mm':\n return number + (withoutSuffix ? ' минут' : ' минутын');\n case 'h':\n case 'hh':\n return number + (withoutSuffix ? ' цаг' : ' цагийн');\n case 'd':\n case 'dd':\n return number + (withoutSuffix ? ' өдөр' : ' өдрийн');\n case 'M':\n case 'MM':\n return number + (withoutSuffix ? ' сар' : ' сарын');\n case 'y':\n case 'yy':\n return number + (withoutSuffix ? ' жил' : ' жилийн');\n default:\n return number;\n }\n }\n\n var mn = moment.defineLocale('mn', {\n months : 'Нэгдүгээр сар_Хоёрдугаар сар_Гуравдугаар сар_Дөрөвдүгээр сар_Тавдугаар сар_Зургадугаар сар_Долдугаар сар_Наймдугаар сар_Есдүгээр сар_Аравдугаар сар_Арван нэгдүгээр сар_Арван хоёрдугаар сар'.split('_'),\n monthsShort : '1 сар_2 сар_3 сар_4 сар_5 сар_6 сар_7 сар_8 сар_9 сар_10 сар_11 сар_12 сар'.split('_'),\n monthsParseExact : true,\n weekdays : 'Ням_Даваа_Мягмар_Лхагва_Пүрэв_Баасан_Бямба'.split('_'),\n weekdaysShort : 'Ням_Дав_Мяг_Лха_Пүр_Баа_Бям'.split('_'),\n weekdaysMin : 'Ня_Да_Мя_Лх_Пү_Ба_Бя'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY-MM-DD',\n LL : 'YYYY оны MMMMын D',\n LLL : 'YYYY оны MMMMын D HH:mm',\n LLLL : 'dddd, YYYY оны MMMMын D HH:mm'\n },\n meridiemParse: /ҮӨ|ҮХ/i,\n isPM : function (input) {\n return input === 'ҮХ';\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ҮӨ';\n } else {\n return 'ҮХ';\n }\n },\n calendar : {\n sameDay : '[Өнөөдөр] LT',\n nextDay : '[Маргааш] LT',\n nextWeek : '[Ирэх] dddd LT',\n lastDay : '[Өчигдөр] LT',\n lastWeek : '[Өнгөрсөн] dddd LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s дараа',\n past : '%s өмнө',\n s : translate,\n ss : translate,\n m : translate,\n mm : translate,\n h : translate,\n hh : translate,\n d : translate,\n dd : translate,\n M : translate,\n MM : translate,\n y : translate,\n yy : translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2} өдөр/,\n ordinal : function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + ' өдөр';\n default:\n return number;\n }\n }\n });\n\n return mn;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var ml = moment.defineLocale('ml', {\n months : 'ജനുവരി_ഫെബ്രുവരി_മാർച്ച്_ഏപ്രിൽ_മേയ്_ജൂൺ_ജൂലൈ_ഓഗസ്റ്റ്_സെപ്റ്റംബർ_ഒക്ടോബർ_നവംബർ_ഡിസംബർ'.split('_'),\n monthsShort : 'ജനു._ഫെബ്രു._മാർ._ഏപ്രി._മേയ്_ജൂൺ_ജൂലൈ._ഓഗ._സെപ്റ്റ._ഒക്ടോ._നവം._ഡിസം.'.split('_'),\n monthsParseExact : true,\n weekdays : 'ഞായറാഴ്ച_തിങ്കളാഴ്ച_ചൊവ്വാഴ്ച_ബുധനാഴ്ച_വ്യാഴാഴ്ച_വെള്ളിയാഴ്ച_ശനിയാഴ്ച'.split('_'),\n weekdaysShort : 'ഞായർ_തിങ്കൾ_ചൊവ്വ_ബുധൻ_വ്യാഴം_വെള്ളി_ശനി'.split('_'),\n weekdaysMin : 'ഞാ_തി_ചൊ_ബു_വ്യാ_വെ_ശ'.split('_'),\n longDateFormat : {\n LT : 'A h:mm -നു',\n LTS : 'A h:mm:ss -നു',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, A h:mm -നു',\n LLLL : 'dddd, D MMMM YYYY, A h:mm -നു'\n },\n calendar : {\n sameDay : '[ഇന്ന്] LT',\n nextDay : '[നാളെ] LT',\n nextWeek : 'dddd, LT',\n lastDay : '[ഇന്നലെ] LT',\n lastWeek : '[കഴിഞ്ഞ] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s കഴിഞ്ഞ്',\n past : '%s മുൻപ്',\n s : 'അൽപ നിമിഷങ്ങൾ',\n ss : '%d സെക്കൻഡ്',\n m : 'ഒരു മിനിറ്റ്',\n mm : '%d മിനിറ്റ്',\n h : 'ഒരു മണിക്കൂർ',\n hh : '%d മണിക്കൂർ',\n d : 'ഒരു ദിവസം',\n dd : '%d ദിവസം',\n M : 'ഒരു മാസം',\n MM : '%d മാസം',\n y : 'ഒരു വർഷം',\n yy : '%d വർഷം'\n },\n meridiemParse: /രാത്രി|രാവിലെ|ഉച്ച കഴിഞ്ഞ്|വൈകുന്നേരം|രാത്രി/i,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if ((meridiem === 'രാത്രി' && hour >= 4) ||\n meridiem === 'ഉച്ച കഴിഞ്ഞ്' ||\n meridiem === 'വൈകുന്നേരം') {\n return hour + 12;\n } else {\n return hour;\n }\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'രാത്രി';\n } else if (hour < 12) {\n return 'രാവിലെ';\n } else if (hour < 17) {\n return 'ഉച്ച കഴിഞ്ഞ്';\n } else if (hour < 20) {\n return 'വൈകുന്നേരം';\n } else {\n return 'രാത്രി';\n }\n }\n });\n\n return ml;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var mk = moment.defineLocale('mk', {\n months : 'јануари_февруари_март_април_мај_јуни_јули_август_септември_октомври_ноември_декември'.split('_'),\n monthsShort : 'јан_фев_мар_апр_мај_јун_јул_авг_сеп_окт_ное_дек'.split('_'),\n weekdays : 'недела_понеделник_вторник_среда_четврток_петок_сабота'.split('_'),\n weekdaysShort : 'нед_пон_вто_сре_чет_пет_саб'.split('_'),\n weekdaysMin : 'нe_пo_вт_ср_че_пе_сa'.split('_'),\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'D.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY H:mm',\n LLLL : 'dddd, D MMMM YYYY H:mm'\n },\n calendar : {\n sameDay : '[Денес во] LT',\n nextDay : '[Утре во] LT',\n nextWeek : '[Во] dddd [во] LT',\n lastDay : '[Вчера во] LT',\n lastWeek : function () {\n switch (this.day()) {\n case 0:\n case 3:\n case 6:\n return '[Изминатата] dddd [во] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[Изминатиот] dddd [во] LT';\n }\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'после %s',\n past : 'пред %s',\n s : 'неколку секунди',\n ss : '%d секунди',\n m : 'минута',\n mm : '%d минути',\n h : 'час',\n hh : '%d часа',\n d : 'ден',\n dd : '%d дена',\n M : 'месец',\n MM : '%d месеци',\n y : 'година',\n yy : '%d години'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ев|ен|ти|ви|ри|ми)/,\n ordinal : function (number) {\n var lastDigit = number % 10,\n last2Digits = number % 100;\n if (number === 0) {\n return number + '-ев';\n } else if (last2Digits === 0) {\n return number + '-ен';\n } else if (last2Digits > 10 && last2Digits < 20) {\n return number + '-ти';\n } else if (lastDigit === 1) {\n return number + '-ви';\n } else if (lastDigit === 2) {\n return number + '-ри';\n } else if (lastDigit === 7 || lastDigit === 8) {\n return number + '-ми';\n } else {\n return number + '-ти';\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return mk;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var mi = moment.defineLocale('mi', {\n months: 'Kohi-tāte_Hui-tanguru_Poutū-te-rangi_Paenga-whāwhā_Haratua_Pipiri_Hōngoingoi_Here-turi-kōkā_Mahuru_Whiringa-ā-nuku_Whiringa-ā-rangi_Hakihea'.split('_'),\n monthsShort: 'Kohi_Hui_Pou_Pae_Hara_Pipi_Hōngoi_Here_Mahu_Whi-nu_Whi-ra_Haki'.split('_'),\n monthsRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,\n monthsStrictRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,\n monthsShortRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,\n monthsShortStrictRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,2}/i,\n weekdays: 'Rātapu_Mane_Tūrei_Wenerei_Tāite_Paraire_Hātarei'.split('_'),\n weekdaysShort: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'),\n weekdaysMin: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY [i] HH:mm',\n LLLL: 'dddd, D MMMM YYYY [i] HH:mm'\n },\n calendar: {\n sameDay: '[i teie mahana, i] LT',\n nextDay: '[apopo i] LT',\n nextWeek: 'dddd [i] LT',\n lastDay: '[inanahi i] LT',\n lastWeek: 'dddd [whakamutunga i] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'i roto i %s',\n past: '%s i mua',\n s: 'te hēkona ruarua',\n ss: '%d hēkona',\n m: 'he meneti',\n mm: '%d meneti',\n h: 'te haora',\n hh: '%d haora',\n d: 'he ra',\n dd: '%d ra',\n M: 'he marama',\n MM: '%d marama',\n y: 'he tau',\n yy: '%d tau'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return mi;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var translator = {\n words: { //Different grammatical cases\n ss: ['sekund', 'sekunda', 'sekundi'],\n m: ['jedan minut', 'jednog minuta'],\n mm: ['minut', 'minuta', 'minuta'],\n h: ['jedan sat', 'jednog sata'],\n hh: ['sat', 'sata', 'sati'],\n dd: ['dan', 'dana', 'dana'],\n MM: ['mjesec', 'mjeseca', 'mjeseci'],\n yy: ['godina', 'godine', 'godina']\n },\n correctGrammaticalCase: function (number, wordKey) {\n return number === 1 ? wordKey[0] : (number >= 2 && number <= 4 ? wordKey[1] : wordKey[2]);\n },\n translate: function (number, withoutSuffix, key) {\n var wordKey = translator.words[key];\n if (key.length === 1) {\n return withoutSuffix ? wordKey[0] : wordKey[1];\n } else {\n return number + ' ' + translator.correctGrammaticalCase(number, wordKey);\n }\n }\n };\n\n var me = moment.defineLocale('me', {\n months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split('_'),\n monthsShort: 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split('_'),\n monthsParseExact : true,\n weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split('_'),\n weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact : true,\n longDateFormat: {\n LT: 'H:mm',\n LTS : 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd, D. MMMM YYYY H:mm'\n },\n calendar: {\n sameDay: '[danas u] LT',\n nextDay: '[sjutra u] LT',\n\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[u] [nedjelju] [u] LT';\n case 3:\n return '[u] [srijedu] [u] LT';\n case 6:\n return '[u] [subotu] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay : '[juče u] LT',\n lastWeek : function () {\n var lastWeekDays = [\n '[prošle] [nedjelje] [u] LT',\n '[prošlog] [ponedjeljka] [u] LT',\n '[prošlog] [utorka] [u] LT',\n '[prošle] [srijede] [u] LT',\n '[prošlog] [četvrtka] [u] LT',\n '[prošlog] [petka] [u] LT',\n '[prošle] [subote] [u] LT'\n ];\n return lastWeekDays[this.day()];\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'za %s',\n past : 'prije %s',\n s : 'nekoliko sekundi',\n ss : translator.translate,\n m : translator.translate,\n mm : translator.translate,\n h : translator.translate,\n hh : translator.translate,\n d : 'dan',\n dd : translator.translate,\n M : 'mjesec',\n MM : translator.translate,\n y : 'godinu',\n yy : translator.translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return me;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var units = {\n 'ss': 'sekundes_sekundēm_sekunde_sekundes'.split('_'),\n 'm': 'minūtes_minūtēm_minūte_minūtes'.split('_'),\n 'mm': 'minūtes_minūtēm_minūte_minūtes'.split('_'),\n 'h': 'stundas_stundām_stunda_stundas'.split('_'),\n 'hh': 'stundas_stundām_stunda_stundas'.split('_'),\n 'd': 'dienas_dienām_diena_dienas'.split('_'),\n 'dd': 'dienas_dienām_diena_dienas'.split('_'),\n 'M': 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'),\n 'MM': 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'),\n 'y': 'gada_gadiem_gads_gadi'.split('_'),\n 'yy': 'gada_gadiem_gads_gadi'.split('_')\n };\n /**\n * @param withoutSuffix boolean true = a length of time; false = before/after a period of time.\n */\n function format(forms, number, withoutSuffix) {\n if (withoutSuffix) {\n // E.g. \"21 minūte\", \"3 minūtes\".\n return number % 10 === 1 && number % 100 !== 11 ? forms[2] : forms[3];\n } else {\n // E.g. \"21 minūtes\" as in \"pēc 21 minūtes\".\n // E.g. \"3 minūtēm\" as in \"pēc 3 minūtēm\".\n return number % 10 === 1 && number % 100 !== 11 ? forms[0] : forms[1];\n }\n }\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n return number + ' ' + format(units[key], number, withoutSuffix);\n }\n function relativeTimeWithSingular(number, withoutSuffix, key) {\n return format(units[key], number, withoutSuffix);\n }\n function relativeSeconds(number, withoutSuffix) {\n return withoutSuffix ? 'dažas sekundes' : 'dažām sekundēm';\n }\n\n var lv = moment.defineLocale('lv', {\n months : 'janvāris_februāris_marts_aprīlis_maijs_jūnijs_jūlijs_augusts_septembris_oktobris_novembris_decembris'.split('_'),\n monthsShort : 'jan_feb_mar_apr_mai_jūn_jūl_aug_sep_okt_nov_dec'.split('_'),\n weekdays : 'svētdiena_pirmdiena_otrdiena_trešdiena_ceturtdiena_piektdiena_sestdiena'.split('_'),\n weekdaysShort : 'Sv_P_O_T_C_Pk_S'.split('_'),\n weekdaysMin : 'Sv_P_O_T_C_Pk_S'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY.',\n LL : 'YYYY. [gada] D. MMMM',\n LLL : 'YYYY. [gada] D. MMMM, HH:mm',\n LLLL : 'YYYY. [gada] D. MMMM, dddd, HH:mm'\n },\n calendar : {\n sameDay : '[Šodien pulksten] LT',\n nextDay : '[Rīt pulksten] LT',\n nextWeek : 'dddd [pulksten] LT',\n lastDay : '[Vakar pulksten] LT',\n lastWeek : '[Pagājušā] dddd [pulksten] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'pēc %s',\n past : 'pirms %s',\n s : relativeSeconds,\n ss : relativeTimeWithPlural,\n m : relativeTimeWithSingular,\n mm : relativeTimeWithPlural,\n h : relativeTimeWithSingular,\n hh : relativeTimeWithPlural,\n d : relativeTimeWithSingular,\n dd : relativeTimeWithPlural,\n M : relativeTimeWithSingular,\n MM : relativeTimeWithPlural,\n y : relativeTimeWithSingular,\n yy : relativeTimeWithPlural\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return lv;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var units = {\n 'ss' : 'sekundė_sekundžių_sekundes',\n 'm' : 'minutė_minutės_minutę',\n 'mm': 'minutės_minučių_minutes',\n 'h' : 'valanda_valandos_valandą',\n 'hh': 'valandos_valandų_valandas',\n 'd' : 'diena_dienos_dieną',\n 'dd': 'dienos_dienų_dienas',\n 'M' : 'mėnuo_mėnesio_mėnesį',\n 'MM': 'mėnesiai_mėnesių_mėnesius',\n 'y' : 'metai_metų_metus',\n 'yy': 'metai_metų_metus'\n };\n function translateSeconds(number, withoutSuffix, key, isFuture) {\n if (withoutSuffix) {\n return 'kelios sekundės';\n } else {\n return isFuture ? 'kelių sekundžių' : 'kelias sekundes';\n }\n }\n function translateSingular(number, withoutSuffix, key, isFuture) {\n return withoutSuffix ? forms(key)[0] : (isFuture ? forms(key)[1] : forms(key)[2]);\n }\n function special(number) {\n return number % 10 === 0 || (number > 10 && number < 20);\n }\n function forms(key) {\n return units[key].split('_');\n }\n function translate(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n if (number === 1) {\n return result + translateSingular(number, withoutSuffix, key[0], isFuture);\n } else if (withoutSuffix) {\n return result + (special(number) ? forms(key)[1] : forms(key)[0]);\n } else {\n if (isFuture) {\n return result + forms(key)[1];\n } else {\n return result + (special(number) ? forms(key)[1] : forms(key)[2]);\n }\n }\n }\n var lt = moment.defineLocale('lt', {\n months : {\n format: 'sausio_vasario_kovo_balandžio_gegužės_birželio_liepos_rugpjūčio_rugsėjo_spalio_lapkričio_gruodžio'.split('_'),\n standalone: 'sausis_vasaris_kovas_balandis_gegužė_birželis_liepa_rugpjūtis_rugsėjis_spalis_lapkritis_gruodis'.split('_'),\n isFormat: /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?|MMMM?(\\[[^\\[\\]]*\\]|\\s)+D[oD]?/\n },\n monthsShort : 'sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd'.split('_'),\n weekdays : {\n format: 'sekmadienį_pirmadienį_antradienį_trečiadienį_ketvirtadienį_penktadienį_šeštadienį'.split('_'),\n standalone: 'sekmadienis_pirmadienis_antradienis_trečiadienis_ketvirtadienis_penktadienis_šeštadienis'.split('_'),\n isFormat: /dddd HH:mm/\n },\n weekdaysShort : 'Sek_Pir_Ant_Tre_Ket_Pen_Šeš'.split('_'),\n weekdaysMin : 'S_P_A_T_K_Pn_Š'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY-MM-DD',\n LL : 'YYYY [m.] MMMM D [d.]',\n LLL : 'YYYY [m.] MMMM D [d.], HH:mm [val.]',\n LLLL : 'YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]',\n l : 'YYYY-MM-DD',\n ll : 'YYYY [m.] MMMM D [d.]',\n lll : 'YYYY [m.] MMMM D [d.], HH:mm [val.]',\n llll : 'YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]'\n },\n calendar : {\n sameDay : '[Šiandien] LT',\n nextDay : '[Rytoj] LT',\n nextWeek : 'dddd LT',\n lastDay : '[Vakar] LT',\n lastWeek : '[Praėjusį] dddd LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'po %s',\n past : 'prieš %s',\n s : translateSeconds,\n ss : translate,\n m : translateSingular,\n mm : translate,\n h : translateSingular,\n hh : translate,\n d : translateSingular,\n dd : translate,\n M : translateSingular,\n MM : translate,\n y : translateSingular,\n yy : translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-oji/,\n ordinal : function (number) {\n return number + '-oji';\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return lt;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var lo = moment.defineLocale('lo', {\n months : 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split('_'),\n monthsShort : 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split('_'),\n weekdays : 'ອາທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'),\n weekdaysShort : 'ທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'),\n weekdaysMin : 'ທ_ຈ_ອຄ_ພ_ພຫ_ສກ_ສ'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'ວັນdddd D MMMM YYYY HH:mm'\n },\n meridiemParse: /ຕອນເຊົ້າ|ຕອນແລງ/,\n isPM: function (input) {\n return input === 'ຕອນແລງ';\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ຕອນເຊົ້າ';\n } else {\n return 'ຕອນແລງ';\n }\n },\n calendar : {\n sameDay : '[ມື້ນີ້ເວລາ] LT',\n nextDay : '[ມື້ອື່ນເວລາ] LT',\n nextWeek : '[ວັນ]dddd[ໜ້າເວລາ] LT',\n lastDay : '[ມື້ວານນີ້ເວລາ] LT',\n lastWeek : '[ວັນ]dddd[ແລ້ວນີ້ເວລາ] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'ອີກ %s',\n past : '%sຜ່ານມາ',\n s : 'ບໍ່ເທົ່າໃດວິນາທີ',\n ss : '%d ວິນາທີ' ,\n m : '1 ນາທີ',\n mm : '%d ນາທີ',\n h : '1 ຊົ່ວໂມງ',\n hh : '%d ຊົ່ວໂມງ',\n d : '1 ມື້',\n dd : '%d ມື້',\n M : '1 ເດືອນ',\n MM : '%d ເດືອນ',\n y : '1 ປີ',\n yy : '%d ປີ'\n },\n dayOfMonthOrdinalParse: /(ທີ່)\\d{1,2}/,\n ordinal : function (number) {\n return 'ທີ່' + number;\n }\n });\n\n return lo;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n 'm': ['eng Minutt', 'enger Minutt'],\n 'h': ['eng Stonn', 'enger Stonn'],\n 'd': ['een Dag', 'engem Dag'],\n 'M': ['ee Mount', 'engem Mount'],\n 'y': ['ee Joer', 'engem Joer']\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n function processFutureTime(string) {\n var number = string.substr(0, string.indexOf(' '));\n if (eifelerRegelAppliesToNumber(number)) {\n return 'a ' + string;\n }\n return 'an ' + string;\n }\n function processPastTime(string) {\n var number = string.substr(0, string.indexOf(' '));\n if (eifelerRegelAppliesToNumber(number)) {\n return 'viru ' + string;\n }\n return 'virun ' + string;\n }\n /**\n * Returns true if the word before the given number loses the '-n' ending.\n * e.g. 'an 10 Deeg' but 'a 5 Deeg'\n *\n * @param number {integer}\n * @returns {boolean}\n */\n function eifelerRegelAppliesToNumber(number) {\n number = parseInt(number, 10);\n if (isNaN(number)) {\n return false;\n }\n if (number < 0) {\n // Negative Number --> always true\n return true;\n } else if (number < 10) {\n // Only 1 digit\n if (4 <= number && number <= 7) {\n return true;\n }\n return false;\n } else if (number < 100) {\n // 2 digits\n var lastDigit = number % 10, firstDigit = number / 10;\n if (lastDigit === 0) {\n return eifelerRegelAppliesToNumber(firstDigit);\n }\n return eifelerRegelAppliesToNumber(lastDigit);\n } else if (number < 10000) {\n // 3 or 4 digits --> recursively check first digit\n while (number >= 10) {\n number = number / 10;\n }\n return eifelerRegelAppliesToNumber(number);\n } else {\n // Anything larger than 4 digits: recursively check first n-3 digits\n number = number / 1000;\n return eifelerRegelAppliesToNumber(number);\n }\n }\n\n var lb = moment.defineLocale('lb', {\n months: 'Januar_Februar_Mäerz_Abrëll_Mee_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),\n monthsShort: 'Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.'.split('_'),\n monthsParseExact : true,\n weekdays: 'Sonndeg_Méindeg_Dënschdeg_Mëttwoch_Donneschdeg_Freideg_Samschdeg'.split('_'),\n weekdaysShort: 'So._Mé._Dë._Më._Do._Fr._Sa.'.split('_'),\n weekdaysMin: 'So_Mé_Dë_Më_Do_Fr_Sa'.split('_'),\n weekdaysParseExact : true,\n longDateFormat: {\n LT: 'H:mm [Auer]',\n LTS: 'H:mm:ss [Auer]',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm [Auer]',\n LLLL: 'dddd, D. MMMM YYYY H:mm [Auer]'\n },\n calendar: {\n sameDay: '[Haut um] LT',\n sameElse: 'L',\n nextDay: '[Muer um] LT',\n nextWeek: 'dddd [um] LT',\n lastDay: '[Gëschter um] LT',\n lastWeek: function () {\n // Different date string for 'Dënschdeg' (Tuesday) and 'Donneschdeg' (Thursday) due to phonological rule\n switch (this.day()) {\n case 2:\n case 4:\n return '[Leschten] dddd [um] LT';\n default:\n return '[Leschte] dddd [um] LT';\n }\n }\n },\n relativeTime : {\n future : processFutureTime,\n past : processPastTime,\n s : 'e puer Sekonnen',\n ss : '%d Sekonnen',\n m : processRelativeTime,\n mm : '%d Minutten',\n h : processRelativeTime,\n hh : '%d Stonnen',\n d : processRelativeTime,\n dd : '%d Deeg',\n M : processRelativeTime,\n MM : '%d Méint',\n y : processRelativeTime,\n yy : '%d Joer'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return lb;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var suffixes = {\n 0: '-чү',\n 1: '-чи',\n 2: '-чи',\n 3: '-чү',\n 4: '-чү',\n 5: '-чи',\n 6: '-чы',\n 7: '-чи',\n 8: '-чи',\n 9: '-чу',\n 10: '-чу',\n 20: '-чы',\n 30: '-чу',\n 40: '-чы',\n 50: '-чү',\n 60: '-чы',\n 70: '-чи',\n 80: '-чи',\n 90: '-чу',\n 100: '-чү'\n };\n\n var ky = moment.defineLocale('ky', {\n months : 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split('_'),\n monthsShort : 'янв_фев_март_апр_май_июнь_июль_авг_сен_окт_ноя_дек'.split('_'),\n weekdays : 'Жекшемби_Дүйшөмбү_Шейшемби_Шаршемби_Бейшемби_Жума_Ишемби'.split('_'),\n weekdaysShort : 'Жек_Дүй_Шей_Шар_Бей_Жум_Ише'.split('_'),\n weekdaysMin : 'Жк_Дй_Шй_Шр_Бй_Жм_Иш'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Бүгүн саат] LT',\n nextDay : '[Эртең саат] LT',\n nextWeek : 'dddd [саат] LT',\n lastDay : '[Кече саат] LT',\n lastWeek : '[Өткен аптанын] dddd [күнү] [саат] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s ичинде',\n past : '%s мурун',\n s : 'бирнече секунд',\n ss : '%d секунд',\n m : 'бир мүнөт',\n mm : '%d мүнөт',\n h : 'бир саат',\n hh : '%d саат',\n d : 'бир күн',\n dd : '%d күн',\n M : 'бир ай',\n MM : '%d ай',\n y : 'бир жыл',\n yy : '%d жыл'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(чи|чы|чү|чу)/,\n ordinal : function (number) {\n var a = number % 10,\n b = number >= 100 ? 100 : null;\n return number + (suffixes[number] || suffixes[a] || suffixes[b]);\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return ky;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var ko = moment.defineLocale('ko', {\n months : '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split('_'),\n monthsShort : '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split('_'),\n weekdays : '일요일_월요일_화요일_수요일_목요일_금요일_토요일'.split('_'),\n weekdaysShort : '일_월_화_수_목_금_토'.split('_'),\n weekdaysMin : '일_월_화_수_목_금_토'.split('_'),\n longDateFormat : {\n LT : 'A h:mm',\n LTS : 'A h:mm:ss',\n L : 'YYYY.MM.DD.',\n LL : 'YYYY년 MMMM D일',\n LLL : 'YYYY년 MMMM D일 A h:mm',\n LLLL : 'YYYY년 MMMM D일 dddd A h:mm',\n l : 'YYYY.MM.DD.',\n ll : 'YYYY년 MMMM D일',\n lll : 'YYYY년 MMMM D일 A h:mm',\n llll : 'YYYY년 MMMM D일 dddd A h:mm'\n },\n calendar : {\n sameDay : '오늘 LT',\n nextDay : '내일 LT',\n nextWeek : 'dddd LT',\n lastDay : '어제 LT',\n lastWeek : '지난주 dddd LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s 후',\n past : '%s 전',\n s : '몇 초',\n ss : '%d초',\n m : '1분',\n mm : '%d분',\n h : '한 시간',\n hh : '%d시간',\n d : '하루',\n dd : '%d일',\n M : '한 달',\n MM : '%d달',\n y : '일 년',\n yy : '%d년'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}(일|월|주)/,\n ordinal : function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '일';\n case 'M':\n return number + '월';\n case 'w':\n case 'W':\n return number + '주';\n default:\n return number;\n }\n },\n meridiemParse : /오전|오후/,\n isPM : function (token) {\n return token === '오후';\n },\n meridiem : function (hour, minute, isUpper) {\n return hour < 12 ? '오전' : '오후';\n }\n });\n\n return ko;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '೧',\n '2': '೨',\n '3': '೩',\n '4': '೪',\n '5': '೫',\n '6': '೬',\n '7': '೭',\n '8': '೮',\n '9': '೯',\n '0': '೦'\n },\n numberMap = {\n '೧': '1',\n '೨': '2',\n '೩': '3',\n '೪': '4',\n '೫': '5',\n '೬': '6',\n '೭': '7',\n '೮': '8',\n '೯': '9',\n '೦': '0'\n };\n\n var kn = moment.defineLocale('kn', {\n months : 'ಜನವರಿ_ಫೆಬ್ರವರಿ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂಬರ್_ಅಕ್ಟೋಬರ್_ನವೆಂಬರ್_ಡಿಸೆಂಬರ್'.split('_'),\n monthsShort : 'ಜನ_ಫೆಬ್ರ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂ_ಅಕ್ಟೋ_ನವೆಂ_ಡಿಸೆಂ'.split('_'),\n monthsParseExact: true,\n weekdays : 'ಭಾನುವಾರ_ಸೋಮವಾರ_ಮಂಗಳವಾರ_ಬುಧವಾರ_ಗುರುವಾರ_ಶುಕ್ರವಾರ_ಶನಿವಾರ'.split('_'),\n weekdaysShort : 'ಭಾನು_ಸೋಮ_ಮಂಗಳ_ಬುಧ_ಗುರು_ಶುಕ್ರ_ಶನಿ'.split('_'),\n weekdaysMin : 'ಭಾ_ಸೋ_ಮಂ_ಬು_ಗು_ಶು_ಶ'.split('_'),\n longDateFormat : {\n LT : 'A h:mm',\n LTS : 'A h:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, A h:mm',\n LLLL : 'dddd, D MMMM YYYY, A h:mm'\n },\n calendar : {\n sameDay : '[ಇಂದು] LT',\n nextDay : '[ನಾಳೆ] LT',\n nextWeek : 'dddd, LT',\n lastDay : '[ನಿನ್ನೆ] LT',\n lastWeek : '[ಕೊನೆಯ] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s ನಂತರ',\n past : '%s ಹಿಂದೆ',\n s : 'ಕೆಲವು ಕ್ಷಣಗಳು',\n ss : '%d ಸೆಕೆಂಡುಗಳು',\n m : 'ಒಂದು ನಿಮಿಷ',\n mm : '%d ನಿಮಿಷ',\n h : 'ಒಂದು ಗಂಟೆ',\n hh : '%d ಗಂಟೆ',\n d : 'ಒಂದು ದಿನ',\n dd : '%d ದಿನ',\n M : 'ಒಂದು ತಿಂಗಳು',\n MM : '%d ತಿಂಗಳು',\n y : 'ಒಂದು ವರ್ಷ',\n yy : '%d ವರ್ಷ'\n },\n preparse: function (string) {\n return string.replace(/[೧೨೩೪೫೬೭೮೯೦]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /ರಾತ್ರಿ|ಬೆಳಿಗ್ಗೆ|ಮಧ್ಯಾಹ್ನ|ಸಂಜೆ/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'ರಾತ್ರಿ') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'ಬೆಳಿಗ್ಗೆ') {\n return hour;\n } else if (meridiem === 'ಮಧ್ಯಾಹ್ನ') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'ಸಂಜೆ') {\n return hour + 12;\n }\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ರಾತ್ರಿ';\n } else if (hour < 10) {\n return 'ಬೆಳಿಗ್ಗೆ';\n } else if (hour < 17) {\n return 'ಮಧ್ಯಾಹ್ನ';\n } else if (hour < 20) {\n return 'ಸಂಜೆ';\n } else {\n return 'ರಾತ್ರಿ';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ನೇ)/,\n ordinal : function (number) {\n return number + 'ನೇ';\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return kn;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '១',\n '2': '២',\n '3': '៣',\n '4': '៤',\n '5': '៥',\n '6': '៦',\n '7': '៧',\n '8': '៨',\n '9': '៩',\n '0': '០'\n }, numberMap = {\n '១': '1',\n '២': '2',\n '៣': '3',\n '៤': '4',\n '៥': '5',\n '៦': '6',\n '៧': '7',\n '៨': '8',\n '៩': '9',\n '០': '0'\n };\n\n var km = moment.defineLocale('km', {\n months: 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split(\n '_'\n ),\n monthsShort: 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split(\n '_'\n ),\n weekdays: 'អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍'.split('_'),\n weekdaysShort: 'អា_ច_អ_ព_ព្រ_សុ_ស'.split('_'),\n weekdaysMin: 'អា_ច_អ_ព_ព្រ_សុ_ស'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n meridiemParse: /ព្រឹក|ល្ងាច/,\n isPM: function (input) {\n return input === 'ល្ងាច';\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ព្រឹក';\n } else {\n return 'ល្ងាច';\n }\n },\n calendar: {\n sameDay: '[ថ្ងៃនេះ ម៉ោង] LT',\n nextDay: '[ស្អែក ម៉ោង] LT',\n nextWeek: 'dddd [ម៉ោង] LT',\n lastDay: '[ម្សិលមិញ ម៉ោង] LT',\n lastWeek: 'dddd [សប្តាហ៍មុន] [ម៉ោង] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%sទៀត',\n past: '%sមុន',\n s: 'ប៉ុន្មានវិនាទី',\n ss: '%d វិនាទី',\n m: 'មួយនាទី',\n mm: '%d នាទី',\n h: 'មួយម៉ោង',\n hh: '%d ម៉ោង',\n d: 'មួយថ្ងៃ',\n dd: '%d ថ្ងៃ',\n M: 'មួយខែ',\n MM: '%d ខែ',\n y: 'មួយឆ្នាំ',\n yy: '%d ឆ្នាំ'\n },\n dayOfMonthOrdinalParse : /ទី\\d{1,2}/,\n ordinal : 'ទី%d',\n preparse: function (string) {\n return string.replace(/[១២៣៤៥៦៧៨៩០]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return km;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var suffixes = {\n 0: '-ші',\n 1: '-ші',\n 2: '-ші',\n 3: '-ші',\n 4: '-ші',\n 5: '-ші',\n 6: '-шы',\n 7: '-ші',\n 8: '-ші',\n 9: '-шы',\n 10: '-шы',\n 20: '-шы',\n 30: '-шы',\n 40: '-шы',\n 50: '-ші',\n 60: '-шы',\n 70: '-ші',\n 80: '-ші',\n 90: '-шы',\n 100: '-ші'\n };\n\n var kk = moment.defineLocale('kk', {\n months : 'қаңтар_ақпан_наурыз_сәуір_мамыр_маусым_шілде_тамыз_қыркүйек_қазан_қараша_желтоқсан'.split('_'),\n monthsShort : 'қаң_ақп_нау_сәу_мам_мау_шіл_там_қыр_қаз_қар_жел'.split('_'),\n weekdays : 'жексенбі_дүйсенбі_сейсенбі_сәрсенбі_бейсенбі_жұма_сенбі'.split('_'),\n weekdaysShort : 'жек_дүй_сей_сәр_бей_жұм_сен'.split('_'),\n weekdaysMin : 'жк_дй_сй_ср_бй_жм_сн'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Бүгін сағат] LT',\n nextDay : '[Ертең сағат] LT',\n nextWeek : 'dddd [сағат] LT',\n lastDay : '[Кеше сағат] LT',\n lastWeek : '[Өткен аптаның] dddd [сағат] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s ішінде',\n past : '%s бұрын',\n s : 'бірнеше секунд',\n ss : '%d секунд',\n m : 'бір минут',\n mm : '%d минут',\n h : 'бір сағат',\n hh : '%d сағат',\n d : 'бір күн',\n dd : '%d күн',\n M : 'бір ай',\n MM : '%d ай',\n y : 'бір жыл',\n yy : '%d жыл'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ші|шы)/,\n ordinal : function (number) {\n var a = number % 10,\n b = number >= 100 ? 100 : null;\n return number + (suffixes[number] || suffixes[a] || suffixes[b]);\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return kk;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var ka = moment.defineLocale('ka', {\n months : {\n standalone: 'იანვარი_თებერვალი_მარტი_აპრილი_მაისი_ივნისი_ივლისი_აგვისტო_სექტემბერი_ოქტომბერი_ნოემბერი_დეკემბერი'.split('_'),\n format: 'იანვარს_თებერვალს_მარტს_აპრილის_მაისს_ივნისს_ივლისს_აგვისტს_სექტემბერს_ოქტომბერს_ნოემბერს_დეკემბერს'.split('_')\n },\n monthsShort : 'იან_თებ_მარ_აპრ_მაი_ივნ_ივლ_აგვ_სექ_ოქტ_ნოე_დეკ'.split('_'),\n weekdays : {\n standalone: 'კვირა_ორშაბათი_სამშაბათი_ოთხშაბათი_ხუთშაბათი_პარასკევი_შაბათი'.split('_'),\n format: 'კვირას_ორშაბათს_სამშაბათს_ოთხშაბათს_ხუთშაბათს_პარასკევს_შაბათს'.split('_'),\n isFormat: /(წინა|შემდეგ)/\n },\n weekdaysShort : 'კვი_ორშ_სამ_ოთხ_ხუთ_პარ_შაბ'.split('_'),\n weekdaysMin : 'კვ_ორ_სა_ოთ_ხუ_პა_შა'.split('_'),\n longDateFormat : {\n LT : 'h:mm A',\n LTS : 'h:mm:ss A',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY h:mm A',\n LLLL : 'dddd, D MMMM YYYY h:mm A'\n },\n calendar : {\n sameDay : '[დღეს] LT[-ზე]',\n nextDay : '[ხვალ] LT[-ზე]',\n lastDay : '[გუშინ] LT[-ზე]',\n nextWeek : '[შემდეგ] dddd LT[-ზე]',\n lastWeek : '[წინა] dddd LT-ზე',\n sameElse : 'L'\n },\n relativeTime : {\n future : function (s) {\n return (/(წამი|წუთი|საათი|წელი)/).test(s) ?\n s.replace(/ი$/, 'ში') :\n s + 'ში';\n },\n past : function (s) {\n if ((/(წამი|წუთი|საათი|დღე|თვე)/).test(s)) {\n return s.replace(/(ი|ე)$/, 'ის წინ');\n }\n if ((/წელი/).test(s)) {\n return s.replace(/წელი$/, 'წლის წინ');\n }\n },\n s : 'რამდენიმე წამი',\n ss : '%d წამი',\n m : 'წუთი',\n mm : '%d წუთი',\n h : 'საათი',\n hh : '%d საათი',\n d : 'დღე',\n dd : '%d დღე',\n M : 'თვე',\n MM : '%d თვე',\n y : 'წელი',\n yy : '%d წელი'\n },\n dayOfMonthOrdinalParse: /0|1-ლი|მე-\\d{1,2}|\\d{1,2}-ე/,\n ordinal : function (number) {\n if (number === 0) {\n return number;\n }\n if (number === 1) {\n return number + '-ლი';\n }\n if ((number < 20) || (number <= 100 && (number % 20 === 0)) || (number % 100 === 0)) {\n return 'მე-' + number;\n }\n return number + '-ე';\n },\n week : {\n dow : 1,\n doy : 7\n }\n });\n\n return ka;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var jv = moment.defineLocale('jv', {\n months : 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember'.split('_'),\n monthsShort : 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des'.split('_'),\n weekdays : 'Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu'.split('_'),\n weekdaysShort : 'Min_Sen_Sel_Reb_Kem_Jem_Sep'.split('_'),\n weekdaysMin : 'Mg_Sn_Sl_Rb_Km_Jm_Sp'.split('_'),\n longDateFormat : {\n LT : 'HH.mm',\n LTS : 'HH.mm.ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY [pukul] HH.mm',\n LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm'\n },\n meridiemParse: /enjing|siyang|sonten|ndalu/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'enjing') {\n return hour;\n } else if (meridiem === 'siyang') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'sonten' || meridiem === 'ndalu') {\n return hour + 12;\n }\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'enjing';\n } else if (hours < 15) {\n return 'siyang';\n } else if (hours < 19) {\n return 'sonten';\n } else {\n return 'ndalu';\n }\n },\n calendar : {\n sameDay : '[Dinten puniko pukul] LT',\n nextDay : '[Mbenjang pukul] LT',\n nextWeek : 'dddd [pukul] LT',\n lastDay : '[Kala wingi pukul] LT',\n lastWeek : 'dddd [kepengker pukul] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'wonten ing %s',\n past : '%s ingkang kepengker',\n s : 'sawetawis detik',\n ss : '%d detik',\n m : 'setunggal menit',\n mm : '%d menit',\n h : 'setunggal jam',\n hh : '%d jam',\n d : 'sedinten',\n dd : '%d dinten',\n M : 'sewulan',\n MM : '%d wulan',\n y : 'setaun',\n yy : '%d taun'\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return jv;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var ja = moment.defineLocale('ja', {\n months : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n monthsShort : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n weekdays : '日曜日_月曜日_火曜日_水曜日_木曜日_金曜日_土曜日'.split('_'),\n weekdaysShort : '日_月_火_水_木_金_土'.split('_'),\n weekdaysMin : '日_月_火_水_木_金_土'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY/MM/DD',\n LL : 'YYYY年M月D日',\n LLL : 'YYYY年M月D日 HH:mm',\n LLLL : 'YYYY年M月D日 dddd HH:mm',\n l : 'YYYY/MM/DD',\n ll : 'YYYY年M月D日',\n lll : 'YYYY年M月D日 HH:mm',\n llll : 'YYYY年M月D日(ddd) HH:mm'\n },\n meridiemParse: /午前|午後/i,\n isPM : function (input) {\n return input === '午後';\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return '午前';\n } else {\n return '午後';\n }\n },\n calendar : {\n sameDay : '[今日] LT',\n nextDay : '[明日] LT',\n nextWeek : function (now) {\n if (now.week() < this.week()) {\n return '[来週]dddd LT';\n } else {\n return 'dddd LT';\n }\n },\n lastDay : '[昨日] LT',\n lastWeek : function (now) {\n if (this.week() < now.week()) {\n return '[先週]dddd LT';\n } else {\n return 'dddd LT';\n }\n },\n sameElse : 'L'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}日/,\n ordinal : function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '日';\n default:\n return number;\n }\n },\n relativeTime : {\n future : '%s後',\n past : '%s前',\n s : '数秒',\n ss : '%d秒',\n m : '1分',\n mm : '%d分',\n h : '1時間',\n hh : '%d時間',\n d : '1日',\n dd : '%d日',\n M : '1ヶ月',\n MM : '%dヶ月',\n y : '1年',\n yy : '%d年'\n }\n });\n\n return ja;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var it = moment.defineLocale('it', {\n months : 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split('_'),\n monthsShort : 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'),\n weekdays : 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split('_'),\n weekdaysShort : 'dom_lun_mar_mer_gio_ven_sab'.split('_'),\n weekdaysMin : 'do_lu_ma_me_gi_ve_sa'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[Oggi alle] LT',\n nextDay: '[Domani alle] LT',\n nextWeek: 'dddd [alle] LT',\n lastDay: '[Ieri alle] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[la scorsa] dddd [alle] LT';\n default:\n return '[lo scorso] dddd [alle] LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : function (s) {\n return ((/^[0-9].+$/).test(s) ? 'tra' : 'in') + ' ' + s;\n },\n past : '%s fa',\n s : 'alcuni secondi',\n ss : '%d secondi',\n m : 'un minuto',\n mm : '%d minuti',\n h : 'un\\'ora',\n hh : '%d ore',\n d : 'un giorno',\n dd : '%d giorni',\n M : 'un mese',\n MM : '%d mesi',\n y : 'un anno',\n yy : '%d anni'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}º/,\n ordinal: '%dº',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return it;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function plural(n) {\n if (n % 100 === 11) {\n return true;\n } else if (n % 10 === 1) {\n return false;\n }\n return true;\n }\n function translate(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n switch (key) {\n case 's':\n return withoutSuffix || isFuture ? 'nokkrar sekúndur' : 'nokkrum sekúndum';\n case 'ss':\n if (plural(number)) {\n return result + (withoutSuffix || isFuture ? 'sekúndur' : 'sekúndum');\n }\n return result + 'sekúnda';\n case 'm':\n return withoutSuffix ? 'mínúta' : 'mínútu';\n case 'mm':\n if (plural(number)) {\n return result + (withoutSuffix || isFuture ? 'mínútur' : 'mínútum');\n } else if (withoutSuffix) {\n return result + 'mínúta';\n }\n return result + 'mínútu';\n case 'hh':\n if (plural(number)) {\n return result + (withoutSuffix || isFuture ? 'klukkustundir' : 'klukkustundum');\n }\n return result + 'klukkustund';\n case 'd':\n if (withoutSuffix) {\n return 'dagur';\n }\n return isFuture ? 'dag' : 'degi';\n case 'dd':\n if (plural(number)) {\n if (withoutSuffix) {\n return result + 'dagar';\n }\n return result + (isFuture ? 'daga' : 'dögum');\n } else if (withoutSuffix) {\n return result + 'dagur';\n }\n return result + (isFuture ? 'dag' : 'degi');\n case 'M':\n if (withoutSuffix) {\n return 'mánuður';\n }\n return isFuture ? 'mánuð' : 'mánuði';\n case 'MM':\n if (plural(number)) {\n if (withoutSuffix) {\n return result + 'mánuðir';\n }\n return result + (isFuture ? 'mánuði' : 'mánuðum');\n } else if (withoutSuffix) {\n return result + 'mánuður';\n }\n return result + (isFuture ? 'mánuð' : 'mánuði');\n case 'y':\n return withoutSuffix || isFuture ? 'ár' : 'ári';\n case 'yy':\n if (plural(number)) {\n return result + (withoutSuffix || isFuture ? 'ár' : 'árum');\n }\n return result + (withoutSuffix || isFuture ? 'ár' : 'ári');\n }\n }\n\n var is = moment.defineLocale('is', {\n months : 'janúar_febrúar_mars_apríl_maí_júní_júlí_ágúst_september_október_nóvember_desember'.split('_'),\n monthsShort : 'jan_feb_mar_apr_maí_jún_júl_ágú_sep_okt_nóv_des'.split('_'),\n weekdays : 'sunnudagur_mánudagur_þriðjudagur_miðvikudagur_fimmtudagur_föstudagur_laugardagur'.split('_'),\n weekdaysShort : 'sun_mán_þri_mið_fim_fös_lau'.split('_'),\n weekdaysMin : 'Su_Má_Þr_Mi_Fi_Fö_La'.split('_'),\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY [kl.] H:mm',\n LLLL : 'dddd, D. MMMM YYYY [kl.] H:mm'\n },\n calendar : {\n sameDay : '[í dag kl.] LT',\n nextDay : '[á morgun kl.] LT',\n nextWeek : 'dddd [kl.] LT',\n lastDay : '[í gær kl.] LT',\n lastWeek : '[síðasta] dddd [kl.] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'eftir %s',\n past : 'fyrir %s síðan',\n s : translate,\n ss : translate,\n m : translate,\n mm : translate,\n h : 'klukkustund',\n hh : translate,\n d : translate,\n dd : translate,\n M : translate,\n MM : translate,\n y : translate,\n yy : translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return is;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var id = moment.defineLocale('id', {\n months : 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember'.split('_'),\n monthsShort : 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Agt_Sep_Okt_Nov_Des'.split('_'),\n weekdays : 'Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu'.split('_'),\n weekdaysShort : 'Min_Sen_Sel_Rab_Kam_Jum_Sab'.split('_'),\n weekdaysMin : 'Mg_Sn_Sl_Rb_Km_Jm_Sb'.split('_'),\n longDateFormat : {\n LT : 'HH.mm',\n LTS : 'HH.mm.ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY [pukul] HH.mm',\n LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm'\n },\n meridiemParse: /pagi|siang|sore|malam/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'pagi') {\n return hour;\n } else if (meridiem === 'siang') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'sore' || meridiem === 'malam') {\n return hour + 12;\n }\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'pagi';\n } else if (hours < 15) {\n return 'siang';\n } else if (hours < 19) {\n return 'sore';\n } else {\n return 'malam';\n }\n },\n calendar : {\n sameDay : '[Hari ini pukul] LT',\n nextDay : '[Besok pukul] LT',\n nextWeek : 'dddd [pukul] LT',\n lastDay : '[Kemarin pukul] LT',\n lastWeek : 'dddd [lalu pukul] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'dalam %s',\n past : '%s yang lalu',\n s : 'beberapa detik',\n ss : '%d detik',\n m : 'semenit',\n mm : '%d menit',\n h : 'sejam',\n hh : '%d jam',\n d : 'sehari',\n dd : '%d hari',\n M : 'sebulan',\n MM : '%d bulan',\n y : 'setahun',\n yy : '%d tahun'\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return id;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var hyAm = moment.defineLocale('hy-am', {\n months : {\n format: 'հունվարի_փետրվարի_մարտի_ապրիլի_մայիսի_հունիսի_հուլիսի_օգոստոսի_սեպտեմբերի_հոկտեմբերի_նոյեմբերի_դեկտեմբերի'.split('_'),\n standalone: 'հունվար_փետրվար_մարտ_ապրիլ_մայիս_հունիս_հուլիս_օգոստոս_սեպտեմբեր_հոկտեմբեր_նոյեմբեր_դեկտեմբեր'.split('_')\n },\n monthsShort : 'հնվ_փտր_մրտ_ապր_մյս_հնս_հլս_օգս_սպտ_հկտ_նմբ_դկտ'.split('_'),\n weekdays : 'կիրակի_երկուշաբթի_երեքշաբթի_չորեքշաբթի_հինգշաբթի_ուրբաթ_շաբաթ'.split('_'),\n weekdaysShort : 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'),\n weekdaysMin : 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY թ.',\n LLL : 'D MMMM YYYY թ., HH:mm',\n LLLL : 'dddd, D MMMM YYYY թ., HH:mm'\n },\n calendar : {\n sameDay: '[այսօր] LT',\n nextDay: '[վաղը] LT',\n lastDay: '[երեկ] LT',\n nextWeek: function () {\n return 'dddd [օրը ժամը] LT';\n },\n lastWeek: function () {\n return '[անցած] dddd [օրը ժամը] LT';\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : '%s հետո',\n past : '%s առաջ',\n s : 'մի քանի վայրկյան',\n ss : '%d վայրկյան',\n m : 'րոպե',\n mm : '%d րոպե',\n h : 'ժամ',\n hh : '%d ժամ',\n d : 'օր',\n dd : '%d օր',\n M : 'ամիս',\n MM : '%d ամիս',\n y : 'տարի',\n yy : '%d տարի'\n },\n meridiemParse: /գիշերվա|առավոտվա|ցերեկվա|երեկոյան/,\n isPM: function (input) {\n return /^(ցերեկվա|երեկոյան)$/.test(input);\n },\n meridiem : function (hour) {\n if (hour < 4) {\n return 'գիշերվա';\n } else if (hour < 12) {\n return 'առավոտվա';\n } else if (hour < 17) {\n return 'ցերեկվա';\n } else {\n return 'երեկոյան';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}|\\d{1,2}-(ին|րդ)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'DDD':\n case 'w':\n case 'W':\n case 'DDDo':\n if (number === 1) {\n return number + '-ին';\n }\n return number + '-րդ';\n default:\n return number;\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return hyAm;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var weekEndings = 'vasárnap hétfőn kedden szerdán csütörtökön pénteken szombaton'.split(' ');\n function translate(number, withoutSuffix, key, isFuture) {\n var num = number;\n switch (key) {\n case 's':\n return (isFuture || withoutSuffix) ? 'néhány másodperc' : 'néhány másodperce';\n case 'ss':\n return num + (isFuture || withoutSuffix) ? ' másodperc' : ' másodperce';\n case 'm':\n return 'egy' + (isFuture || withoutSuffix ? ' perc' : ' perce');\n case 'mm':\n return num + (isFuture || withoutSuffix ? ' perc' : ' perce');\n case 'h':\n return 'egy' + (isFuture || withoutSuffix ? ' óra' : ' órája');\n case 'hh':\n return num + (isFuture || withoutSuffix ? ' óra' : ' órája');\n case 'd':\n return 'egy' + (isFuture || withoutSuffix ? ' nap' : ' napja');\n case 'dd':\n return num + (isFuture || withoutSuffix ? ' nap' : ' napja');\n case 'M':\n return 'egy' + (isFuture || withoutSuffix ? ' hónap' : ' hónapja');\n case 'MM':\n return num + (isFuture || withoutSuffix ? ' hónap' : ' hónapja');\n case 'y':\n return 'egy' + (isFuture || withoutSuffix ? ' év' : ' éve');\n case 'yy':\n return num + (isFuture || withoutSuffix ? ' év' : ' éve');\n }\n return '';\n }\n function week(isFuture) {\n return (isFuture ? '' : '[múlt] ') + '[' + weekEndings[this.day()] + '] LT[-kor]';\n }\n\n var hu = moment.defineLocale('hu', {\n months : 'január_február_március_április_május_június_július_augusztus_szeptember_október_november_december'.split('_'),\n monthsShort : 'jan_feb_márc_ápr_máj_jún_júl_aug_szept_okt_nov_dec'.split('_'),\n weekdays : 'vasárnap_hétfő_kedd_szerda_csütörtök_péntek_szombat'.split('_'),\n weekdaysShort : 'vas_hét_kedd_sze_csüt_pén_szo'.split('_'),\n weekdaysMin : 'v_h_k_sze_cs_p_szo'.split('_'),\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'YYYY.MM.DD.',\n LL : 'YYYY. MMMM D.',\n LLL : 'YYYY. MMMM D. H:mm',\n LLLL : 'YYYY. MMMM D., dddd H:mm'\n },\n meridiemParse: /de|du/i,\n isPM: function (input) {\n return input.charAt(1).toLowerCase() === 'u';\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours < 12) {\n return isLower === true ? 'de' : 'DE';\n } else {\n return isLower === true ? 'du' : 'DU';\n }\n },\n calendar : {\n sameDay : '[ma] LT[-kor]',\n nextDay : '[holnap] LT[-kor]',\n nextWeek : function () {\n return week.call(this, true);\n },\n lastDay : '[tegnap] LT[-kor]',\n lastWeek : function () {\n return week.call(this, false);\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s múlva',\n past : '%s',\n s : translate,\n ss : translate,\n m : translate,\n mm : translate,\n h : translate,\n hh : translate,\n d : translate,\n dd : translate,\n M : translate,\n MM : translate,\n y : translate,\n yy : translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return hu;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function translate(number, withoutSuffix, key) {\n var result = number + ' ';\n switch (key) {\n case 'ss':\n if (number === 1) {\n result += 'sekunda';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sekunde';\n } else {\n result += 'sekundi';\n }\n return result;\n case 'm':\n return withoutSuffix ? 'jedna minuta' : 'jedne minute';\n case 'mm':\n if (number === 1) {\n result += 'minuta';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'minute';\n } else {\n result += 'minuta';\n }\n return result;\n case 'h':\n return withoutSuffix ? 'jedan sat' : 'jednog sata';\n case 'hh':\n if (number === 1) {\n result += 'sat';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sata';\n } else {\n result += 'sati';\n }\n return result;\n case 'dd':\n if (number === 1) {\n result += 'dan';\n } else {\n result += 'dana';\n }\n return result;\n case 'MM':\n if (number === 1) {\n result += 'mjesec';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'mjeseca';\n } else {\n result += 'mjeseci';\n }\n return result;\n case 'yy':\n if (number === 1) {\n result += 'godina';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'godine';\n } else {\n result += 'godina';\n }\n return result;\n }\n }\n\n var hr = moment.defineLocale('hr', {\n months : {\n format: 'siječnja_veljače_ožujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca'.split('_'),\n standalone: 'siječanj_veljača_ožujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac'.split('_')\n },\n monthsShort : 'sij._velj._ožu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.'.split('_'),\n monthsParseExact: true,\n weekdays : 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split('_'),\n weekdaysShort : 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n weekdaysMin : 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY H:mm',\n LLLL : 'dddd, D. MMMM YYYY H:mm'\n },\n calendar : {\n sameDay : '[danas u] LT',\n nextDay : '[sutra u] LT',\n nextWeek : function () {\n switch (this.day()) {\n case 0:\n return '[u] [nedjelju] [u] LT';\n case 3:\n return '[u] [srijedu] [u] LT';\n case 6:\n return '[u] [subotu] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay : '[jučer u] LT',\n lastWeek : function () {\n switch (this.day()) {\n case 0:\n case 3:\n return '[prošlu] dddd [u] LT';\n case 6:\n return '[prošle] [subote] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[prošli] dddd [u] LT';\n }\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'za %s',\n past : 'prije %s',\n s : 'par sekundi',\n ss : translate,\n m : translate,\n mm : translate,\n h : translate,\n hh : translate,\n d : 'dan',\n dd : translate,\n M : 'mjesec',\n MM : translate,\n y : 'godinu',\n yy : translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return hr;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '१',\n '2': '२',\n '3': '३',\n '4': '४',\n '5': '५',\n '6': '६',\n '7': '७',\n '8': '८',\n '9': '९',\n '0': '०'\n },\n numberMap = {\n '१': '1',\n '२': '2',\n '३': '3',\n '४': '4',\n '५': '5',\n '६': '6',\n '७': '7',\n '८': '8',\n '९': '9',\n '०': '0'\n };\n\n var hi = moment.defineLocale('hi', {\n months : 'जनवरी_फ़रवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितम्बर_अक्टूबर_नवम्बर_दिसम्बर'.split('_'),\n monthsShort : 'जन._फ़र._मार्च_अप्रै._मई_जून_जुल._अग._सित._अक्टू._नव._दिस.'.split('_'),\n monthsParseExact: true,\n weekdays : 'रविवार_सोमवार_मंगलवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'),\n weekdaysShort : 'रवि_सोम_मंगल_बुध_गुरू_शुक्र_शनि'.split('_'),\n weekdaysMin : 'र_सो_मं_बु_गु_शु_श'.split('_'),\n longDateFormat : {\n LT : 'A h:mm बजे',\n LTS : 'A h:mm:ss बजे',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, A h:mm बजे',\n LLLL : 'dddd, D MMMM YYYY, A h:mm बजे'\n },\n calendar : {\n sameDay : '[आज] LT',\n nextDay : '[कल] LT',\n nextWeek : 'dddd, LT',\n lastDay : '[कल] LT',\n lastWeek : '[पिछले] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s में',\n past : '%s पहले',\n s : 'कुछ ही क्षण',\n ss : '%d सेकंड',\n m : 'एक मिनट',\n mm : '%d मिनट',\n h : 'एक घंटा',\n hh : '%d घंटे',\n d : 'एक दिन',\n dd : '%d दिन',\n M : 'एक महीने',\n MM : '%d महीने',\n y : 'एक वर्ष',\n yy : '%d वर्ष'\n },\n preparse: function (string) {\n return string.replace(/[१२३४५६७८९०]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n // Hindi notation for meridiems are quite fuzzy in practice. While there exists\n // a rigid notion of a 'Pahar' it is not used as rigidly in modern Hindi.\n meridiemParse: /रात|सुबह|दोपहर|शाम/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'रात') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'सुबह') {\n return hour;\n } else if (meridiem === 'दोपहर') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'शाम') {\n return hour + 12;\n }\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'रात';\n } else if (hour < 10) {\n return 'सुबह';\n } else if (hour < 17) {\n return 'दोपहर';\n } else if (hour < 20) {\n return 'शाम';\n } else {\n return 'रात';\n }\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return hi;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var he = moment.defineLocale('he', {\n months : 'ינואר_פברואר_מרץ_אפריל_מאי_יוני_יולי_אוגוסט_ספטמבר_אוקטובר_נובמבר_דצמבר'.split('_'),\n monthsShort : 'ינו׳_פבר׳_מרץ_אפר׳_מאי_יוני_יולי_אוג׳_ספט׳_אוק׳_נוב׳_דצמ׳'.split('_'),\n weekdays : 'ראשון_שני_שלישי_רביעי_חמישי_שישי_שבת'.split('_'),\n weekdaysShort : 'א׳_ב׳_ג׳_ד׳_ה׳_ו׳_ש׳'.split('_'),\n weekdaysMin : 'א_ב_ג_ד_ה_ו_ש'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D [ב]MMMM YYYY',\n LLL : 'D [ב]MMMM YYYY HH:mm',\n LLLL : 'dddd, D [ב]MMMM YYYY HH:mm',\n l : 'D/M/YYYY',\n ll : 'D MMM YYYY',\n lll : 'D MMM YYYY HH:mm',\n llll : 'ddd, D MMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[היום ב־]LT',\n nextDay : '[מחר ב־]LT',\n nextWeek : 'dddd [בשעה] LT',\n lastDay : '[אתמול ב־]LT',\n lastWeek : '[ביום] dddd [האחרון בשעה] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'בעוד %s',\n past : 'לפני %s',\n s : 'מספר שניות',\n ss : '%d שניות',\n m : 'דקה',\n mm : '%d דקות',\n h : 'שעה',\n hh : function (number) {\n if (number === 2) {\n return 'שעתיים';\n }\n return number + ' שעות';\n },\n d : 'יום',\n dd : function (number) {\n if (number === 2) {\n return 'יומיים';\n }\n return number + ' ימים';\n },\n M : 'חודש',\n MM : function (number) {\n if (number === 2) {\n return 'חודשיים';\n }\n return number + ' חודשים';\n },\n y : 'שנה',\n yy : function (number) {\n if (number === 2) {\n return 'שנתיים';\n } else if (number % 10 === 0 && number !== 10) {\n return number + ' שנה';\n }\n return number + ' שנים';\n }\n },\n meridiemParse: /אחה\"צ|לפנה\"צ|אחרי הצהריים|לפני הצהריים|לפנות בוקר|בבוקר|בערב/i,\n isPM : function (input) {\n return /^(אחה\"צ|אחרי הצהריים|בערב)$/.test(input);\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 5) {\n return 'לפנות בוקר';\n } else if (hour < 10) {\n return 'בבוקר';\n } else if (hour < 12) {\n return isLower ? 'לפנה\"צ' : 'לפני הצהריים';\n } else if (hour < 18) {\n return isLower ? 'אחה\"צ' : 'אחרי הצהריים';\n } else {\n return 'בערב';\n }\n }\n });\n\n return he;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '૧',\n '2': '૨',\n '3': '૩',\n '4': '૪',\n '5': '૫',\n '6': '૬',\n '7': '૭',\n '8': '૮',\n '9': '૯',\n '0': '૦'\n },\n numberMap = {\n '૧': '1',\n '૨': '2',\n '૩': '3',\n '૪': '4',\n '૫': '5',\n '૬': '6',\n '૭': '7',\n '૮': '8',\n '૯': '9',\n '૦': '0'\n };\n\n var gu = moment.defineLocale('gu', {\n months: 'જાન્યુઆરી_ફેબ્રુઆરી_માર્ચ_એપ્રિલ_મે_જૂન_જુલાઈ_ઑગસ્ટ_સપ્ટેમ્બર_ઑક્ટ્બર_નવેમ્બર_ડિસેમ્બર'.split('_'),\n monthsShort: 'જાન્યુ._ફેબ્રુ._માર્ચ_એપ્રિ._મે_જૂન_જુલા._ઑગ._સપ્ટે._ઑક્ટ્._નવે._ડિસે.'.split('_'),\n monthsParseExact: true,\n weekdays: 'રવિવાર_સોમવાર_મંગળવાર_બુધ્વાર_ગુરુવાર_શુક્રવાર_શનિવાર'.split('_'),\n weekdaysShort: 'રવિ_સોમ_મંગળ_બુધ્_ગુરુ_શુક્ર_શનિ'.split('_'),\n weekdaysMin: 'ર_સો_મં_બુ_ગુ_શુ_શ'.split('_'),\n longDateFormat: {\n LT: 'A h:mm વાગ્યે',\n LTS: 'A h:mm:ss વાગ્યે',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm વાગ્યે',\n LLLL: 'dddd, D MMMM YYYY, A h:mm વાગ્યે'\n },\n calendar: {\n sameDay: '[આજ] LT',\n nextDay: '[કાલે] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[ગઇકાલે] LT',\n lastWeek: '[પાછલા] dddd, LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s મા',\n past: '%s પેહલા',\n s: 'અમુક પળો',\n ss: '%d સેકંડ',\n m: 'એક મિનિટ',\n mm: '%d મિનિટ',\n h: 'એક કલાક',\n hh: '%d કલાક',\n d: 'એક દિવસ',\n dd: '%d દિવસ',\n M: 'એક મહિનો',\n MM: '%d મહિનો',\n y: 'એક વર્ષ',\n yy: '%d વર્ષ'\n },\n preparse: function (string) {\n return string.replace(/[૧૨૩૪૫૬૭૮૯૦]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n // Gujarati notation for meridiems are quite fuzzy in practice. While there exists\n // a rigid notion of a 'Pahar' it is not used as rigidly in modern Gujarati.\n meridiemParse: /રાત|બપોર|સવાર|સાંજ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'રાત') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'સવાર') {\n return hour;\n } else if (meridiem === 'બપોર') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'સાંજ') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'રાત';\n } else if (hour < 10) {\n return 'સવાર';\n } else if (hour < 17) {\n return 'બપોર';\n } else if (hour < 20) {\n return 'સાંજ';\n } else {\n return 'રાત';\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return gu;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n 's': ['thodde secondanim', 'thodde second'],\n 'ss': [number + ' secondanim', number + ' second'],\n 'm': ['eka mintan', 'ek minute'],\n 'mm': [number + ' mintanim', number + ' mintam'],\n 'h': ['eka horan', 'ek hor'],\n 'hh': [number + ' horanim', number + ' horam'],\n 'd': ['eka disan', 'ek dis'],\n 'dd': [number + ' disanim', number + ' dis'],\n 'M': ['eka mhoinean', 'ek mhoino'],\n 'MM': [number + ' mhoineanim', number + ' mhoine'],\n 'y': ['eka vorsan', 'ek voros'],\n 'yy': [number + ' vorsanim', number + ' vorsam']\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n\n var gomLatn = moment.defineLocale('gom-latn', {\n months : 'Janer_Febrer_Mars_Abril_Mai_Jun_Julai_Agost_Setembr_Otubr_Novembr_Dezembr'.split('_'),\n monthsShort : 'Jan._Feb._Mars_Abr._Mai_Jun_Jul._Ago._Set._Otu._Nov._Dez.'.split('_'),\n monthsParseExact : true,\n weekdays : 'Aitar_Somar_Mongllar_Budvar_Brestar_Sukrar_Son\\'var'.split('_'),\n weekdaysShort : 'Ait._Som._Mon._Bud._Bre._Suk._Son.'.split('_'),\n weekdaysMin : 'Ai_Sm_Mo_Bu_Br_Su_Sn'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'A h:mm [vazta]',\n LTS : 'A h:mm:ss [vazta]',\n L : 'DD-MM-YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY A h:mm [vazta]',\n LLLL : 'dddd, MMMM[achea] Do, YYYY, A h:mm [vazta]',\n llll: 'ddd, D MMM YYYY, A h:mm [vazta]'\n },\n calendar : {\n sameDay: '[Aiz] LT',\n nextDay: '[Faleam] LT',\n nextWeek: '[Ieta to] dddd[,] LT',\n lastDay: '[Kal] LT',\n lastWeek: '[Fatlo] dddd[,] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : '%s',\n past : '%s adim',\n s : processRelativeTime,\n ss : processRelativeTime,\n m : processRelativeTime,\n mm : processRelativeTime,\n h : processRelativeTime,\n hh : processRelativeTime,\n d : processRelativeTime,\n dd : processRelativeTime,\n M : processRelativeTime,\n MM : processRelativeTime,\n y : processRelativeTime,\n yy : processRelativeTime\n },\n dayOfMonthOrdinalParse : /\\d{1,2}(er)/,\n ordinal : function (number, period) {\n switch (period) {\n // the ordinal 'er' only applies to day of the month\n case 'D':\n return number + 'er';\n default:\n case 'M':\n case 'Q':\n case 'DDD':\n case 'd':\n case 'w':\n case 'W':\n return number;\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n },\n meridiemParse: /rati|sokalli|donparam|sanje/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'rati') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'sokalli') {\n return hour;\n } else if (meridiem === 'donparam') {\n return hour > 12 ? hour : hour + 12;\n } else if (meridiem === 'sanje') {\n return hour + 12;\n }\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'rati';\n } else if (hour < 12) {\n return 'sokalli';\n } else if (hour < 16) {\n return 'donparam';\n } else if (hour < 20) {\n return 'sanje';\n } else {\n return 'rati';\n }\n }\n });\n\n return gomLatn;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var gl = moment.defineLocale('gl', {\n months : 'xaneiro_febreiro_marzo_abril_maio_xuño_xullo_agosto_setembro_outubro_novembro_decembro'.split('_'),\n monthsShort : 'xan._feb._mar._abr._mai._xuñ._xul._ago._set._out._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays : 'domingo_luns_martes_mércores_xoves_venres_sábado'.split('_'),\n weekdaysShort : 'dom._lun._mar._mér._xov._ven._sáb.'.split('_'),\n weekdaysMin : 'do_lu_ma_mé_xo_ve_sá'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D [de] MMMM [de] YYYY',\n LLL : 'D [de] MMMM [de] YYYY H:mm',\n LLLL : 'dddd, D [de] MMMM [de] YYYY H:mm'\n },\n calendar : {\n sameDay : function () {\n return '[hoxe ' + ((this.hours() !== 1) ? 'ás' : 'á') + '] LT';\n },\n nextDay : function () {\n return '[mañá ' + ((this.hours() !== 1) ? 'ás' : 'á') + '] LT';\n },\n nextWeek : function () {\n return 'dddd [' + ((this.hours() !== 1) ? 'ás' : 'a') + '] LT';\n },\n lastDay : function () {\n return '[onte ' + ((this.hours() !== 1) ? 'á' : 'a') + '] LT';\n },\n lastWeek : function () {\n return '[o] dddd [pasado ' + ((this.hours() !== 1) ? 'ás' : 'a') + '] LT';\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : function (str) {\n if (str.indexOf('un') === 0) {\n return 'n' + str;\n }\n return 'en ' + str;\n },\n past : 'hai %s',\n s : 'uns segundos',\n ss : '%d segundos',\n m : 'un minuto',\n mm : '%d minutos',\n h : 'unha hora',\n hh : '%d horas',\n d : 'un día',\n dd : '%d días',\n M : 'un mes',\n MM : '%d meses',\n y : 'un ano',\n yy : '%d anos'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}º/,\n ordinal : '%dº',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return gl;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var months = [\n 'Am Faoilleach', 'An Gearran', 'Am Màrt', 'An Giblean', 'An Cèitean', 'An t-Ògmhios', 'An t-Iuchar', 'An Lùnastal', 'An t-Sultain', 'An Dàmhair', 'An t-Samhain', 'An Dùbhlachd'\n ];\n\n var monthsShort = ['Faoi', 'Gear', 'Màrt', 'Gibl', 'Cèit', 'Ògmh', 'Iuch', 'Lùn', 'Sult', 'Dàmh', 'Samh', 'Dùbh'];\n\n var weekdays = ['Didòmhnaich', 'Diluain', 'Dimàirt', 'Diciadain', 'Diardaoin', 'Dihaoine', 'Disathairne'];\n\n var weekdaysShort = ['Did', 'Dil', 'Dim', 'Dic', 'Dia', 'Dih', 'Dis'];\n\n var weekdaysMin = ['Dò', 'Lu', 'Mà', 'Ci', 'Ar', 'Ha', 'Sa'];\n\n var gd = moment.defineLocale('gd', {\n months : months,\n monthsShort : monthsShort,\n monthsParseExact : true,\n weekdays : weekdays,\n weekdaysShort : weekdaysShort,\n weekdaysMin : weekdaysMin,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[An-diugh aig] LT',\n nextDay : '[A-màireach aig] LT',\n nextWeek : 'dddd [aig] LT',\n lastDay : '[An-dè aig] LT',\n lastWeek : 'dddd [seo chaidh] [aig] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'ann an %s',\n past : 'bho chionn %s',\n s : 'beagan diogan',\n ss : '%d diogan',\n m : 'mionaid',\n mm : '%d mionaidean',\n h : 'uair',\n hh : '%d uairean',\n d : 'latha',\n dd : '%d latha',\n M : 'mìos',\n MM : '%d mìosan',\n y : 'bliadhna',\n yy : '%d bliadhna'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}(d|na|mh)/,\n ordinal : function (number) {\n var output = number === 1 ? 'd' : number % 10 === 2 ? 'na' : 'mh';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return gd;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var monthsShortWithDots = 'jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.'.split('_'),\n monthsShortWithoutDots = 'jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_');\n\n var fy = moment.defineLocale('fy', {\n months : 'jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber'.split('_'),\n monthsShort : function (m, format) {\n if (!m) {\n return monthsShortWithDots;\n } else if (/-MMM-/.test(format)) {\n return monthsShortWithoutDots[m.month()];\n } else {\n return monthsShortWithDots[m.month()];\n }\n },\n monthsParseExact : true,\n weekdays : 'snein_moandei_tiisdei_woansdei_tongersdei_freed_sneon'.split('_'),\n weekdaysShort : 'si._mo._ti._wo._to._fr._so.'.split('_'),\n weekdaysMin : 'Si_Mo_Ti_Wo_To_Fr_So'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD-MM-YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[hjoed om] LT',\n nextDay: '[moarn om] LT',\n nextWeek: 'dddd [om] LT',\n lastDay: '[juster om] LT',\n lastWeek: '[ôfrûne] dddd [om] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'oer %s',\n past : '%s lyn',\n s : 'in pear sekonden',\n ss : '%d sekonden',\n m : 'ien minút',\n mm : '%d minuten',\n h : 'ien oere',\n hh : '%d oeren',\n d : 'ien dei',\n dd : '%d dagen',\n M : 'ien moanne',\n MM : '%d moannen',\n y : 'ien jier',\n yy : '%d jierren'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n ordinal : function (number) {\n return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de');\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return fy;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var frCh = moment.defineLocale('fr-ch', {\n months : 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'),\n monthsShort : 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'),\n monthsParseExact : true,\n weekdays : 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n weekdaysShort : 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n weekdaysMin : 'di_lu_ma_me_je_ve_sa'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Aujourd’hui à] LT',\n nextDay : '[Demain à] LT',\n nextWeek : 'dddd [à] LT',\n lastDay : '[Hier à] LT',\n lastWeek : 'dddd [dernier à] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'dans %s',\n past : 'il y a %s',\n s : 'quelques secondes',\n ss : '%d secondes',\n m : 'une minute',\n mm : '%d minutes',\n h : 'une heure',\n hh : '%d heures',\n d : 'un jour',\n dd : '%d jours',\n M : 'un mois',\n MM : '%d mois',\n y : 'un an',\n yy : '%d ans'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(er|e)/,\n ordinal : function (number, period) {\n switch (period) {\n // Words with masculine grammatical gender: mois, trimestre, jour\n default:\n case 'M':\n case 'Q':\n case 'D':\n case 'DDD':\n case 'd':\n return number + (number === 1 ? 'er' : 'e');\n\n // Words with feminine grammatical gender: semaine\n case 'w':\n case 'W':\n return number + (number === 1 ? 're' : 'e');\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return frCh;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var frCa = moment.defineLocale('fr-ca', {\n months : 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'),\n monthsShort : 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'),\n monthsParseExact : true,\n weekdays : 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n weekdaysShort : 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n weekdaysMin : 'di_lu_ma_me_je_ve_sa'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY-MM-DD',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Aujourd’hui à] LT',\n nextDay : '[Demain à] LT',\n nextWeek : 'dddd [à] LT',\n lastDay : '[Hier à] LT',\n lastWeek : 'dddd [dernier à] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'dans %s',\n past : 'il y a %s',\n s : 'quelques secondes',\n ss : '%d secondes',\n m : 'une minute',\n mm : '%d minutes',\n h : 'une heure',\n hh : '%d heures',\n d : 'un jour',\n dd : '%d jours',\n M : 'un mois',\n MM : '%d mois',\n y : 'un an',\n yy : '%d ans'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(er|e)/,\n ordinal : function (number, period) {\n switch (period) {\n // Words with masculine grammatical gender: mois, trimestre, jour\n default:\n case 'M':\n case 'Q':\n case 'D':\n case 'DDD':\n case 'd':\n return number + (number === 1 ? 'er' : 'e');\n\n // Words with feminine grammatical gender: semaine\n case 'w':\n case 'W':\n return number + (number === 1 ? 're' : 'e');\n }\n }\n });\n\n return frCa;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var fr = moment.defineLocale('fr', {\n months : 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'),\n monthsShort : 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'),\n monthsParseExact : true,\n weekdays : 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n weekdaysShort : 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n weekdaysMin : 'di_lu_ma_me_je_ve_sa'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Aujourd’hui à] LT',\n nextDay : '[Demain à] LT',\n nextWeek : 'dddd [à] LT',\n lastDay : '[Hier à] LT',\n lastWeek : 'dddd [dernier à] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'dans %s',\n past : 'il y a %s',\n s : 'quelques secondes',\n ss : '%d secondes',\n m : 'une minute',\n mm : '%d minutes',\n h : 'une heure',\n hh : '%d heures',\n d : 'un jour',\n dd : '%d jours',\n M : 'un mois',\n MM : '%d mois',\n y : 'un an',\n yy : '%d ans'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(er|)/,\n ordinal : function (number, period) {\n switch (period) {\n // TODO: Return 'e' when day of month > 1. Move this case inside\n // block for masculine words below.\n // See https://github.com/moment/moment/issues/3375\n case 'D':\n return number + (number === 1 ? 'er' : '');\n\n // Words with masculine grammatical gender: mois, trimestre, jour\n default:\n case 'M':\n case 'Q':\n case 'DDD':\n case 'd':\n return number + (number === 1 ? 'er' : 'e');\n\n // Words with feminine grammatical gender: semaine\n case 'w':\n case 'W':\n return number + (number === 1 ? 're' : 'e');\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return fr;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var fo = moment.defineLocale('fo', {\n months : 'januar_februar_mars_apríl_mai_juni_juli_august_september_oktober_november_desember'.split('_'),\n monthsShort : 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'),\n weekdays : 'sunnudagur_mánadagur_týsdagur_mikudagur_hósdagur_fríggjadagur_leygardagur'.split('_'),\n weekdaysShort : 'sun_mán_týs_mik_hós_frí_ley'.split('_'),\n weekdaysMin : 'su_má_tý_mi_hó_fr_le'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D. MMMM, YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Í dag kl.] LT',\n nextDay : '[Í morgin kl.] LT',\n nextWeek : 'dddd [kl.] LT',\n lastDay : '[Í gjár kl.] LT',\n lastWeek : '[síðstu] dddd [kl] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'um %s',\n past : '%s síðani',\n s : 'fá sekund',\n ss : '%d sekundir',\n m : 'ein minutt',\n mm : '%d minuttir',\n h : 'ein tími',\n hh : '%d tímar',\n d : 'ein dagur',\n dd : '%d dagar',\n M : 'ein mánaði',\n MM : '%d mánaðir',\n y : 'eitt ár',\n yy : '%d ár'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return fo;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var numbersPast = 'nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän'.split(' '),\n numbersFuture = [\n 'nolla', 'yhden', 'kahden', 'kolmen', 'neljän', 'viiden', 'kuuden',\n numbersPast[7], numbersPast[8], numbersPast[9]\n ];\n function translate(number, withoutSuffix, key, isFuture) {\n var result = '';\n switch (key) {\n case 's':\n return isFuture ? 'muutaman sekunnin' : 'muutama sekunti';\n case 'ss':\n return isFuture ? 'sekunnin' : 'sekuntia';\n case 'm':\n return isFuture ? 'minuutin' : 'minuutti';\n case 'mm':\n result = isFuture ? 'minuutin' : 'minuuttia';\n break;\n case 'h':\n return isFuture ? 'tunnin' : 'tunti';\n case 'hh':\n result = isFuture ? 'tunnin' : 'tuntia';\n break;\n case 'd':\n return isFuture ? 'päivän' : 'päivä';\n case 'dd':\n result = isFuture ? 'päivän' : 'päivää';\n break;\n case 'M':\n return isFuture ? 'kuukauden' : 'kuukausi';\n case 'MM':\n result = isFuture ? 'kuukauden' : 'kuukautta';\n break;\n case 'y':\n return isFuture ? 'vuoden' : 'vuosi';\n case 'yy':\n result = isFuture ? 'vuoden' : 'vuotta';\n break;\n }\n result = verbalNumber(number, isFuture) + ' ' + result;\n return result;\n }\n function verbalNumber(number, isFuture) {\n return number < 10 ? (isFuture ? numbersFuture[number] : numbersPast[number]) : number;\n }\n\n var fi = moment.defineLocale('fi', {\n months : 'tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu'.split('_'),\n monthsShort : 'tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu'.split('_'),\n weekdays : 'sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai'.split('_'),\n weekdaysShort : 'su_ma_ti_ke_to_pe_la'.split('_'),\n weekdaysMin : 'su_ma_ti_ke_to_pe_la'.split('_'),\n longDateFormat : {\n LT : 'HH.mm',\n LTS : 'HH.mm.ss',\n L : 'DD.MM.YYYY',\n LL : 'Do MMMM[ta] YYYY',\n LLL : 'Do MMMM[ta] YYYY, [klo] HH.mm',\n LLLL : 'dddd, Do MMMM[ta] YYYY, [klo] HH.mm',\n l : 'D.M.YYYY',\n ll : 'Do MMM YYYY',\n lll : 'Do MMM YYYY, [klo] HH.mm',\n llll : 'ddd, Do MMM YYYY, [klo] HH.mm'\n },\n calendar : {\n sameDay : '[tänään] [klo] LT',\n nextDay : '[huomenna] [klo] LT',\n nextWeek : 'dddd [klo] LT',\n lastDay : '[eilen] [klo] LT',\n lastWeek : '[viime] dddd[na] [klo] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s päästä',\n past : '%s sitten',\n s : translate,\n ss : translate,\n m : translate,\n mm : translate,\n h : translate,\n hh : translate,\n d : translate,\n dd : translate,\n M : translate,\n MM : translate,\n y : translate,\n yy : translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return fi;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '۱',\n '2': '۲',\n '3': '۳',\n '4': '۴',\n '5': '۵',\n '6': '۶',\n '7': '۷',\n '8': '۸',\n '9': '۹',\n '0': '۰'\n }, numberMap = {\n '۱': '1',\n '۲': '2',\n '۳': '3',\n '۴': '4',\n '۵': '5',\n '۶': '6',\n '۷': '7',\n '۸': '8',\n '۹': '9',\n '۰': '0'\n };\n\n var fa = moment.defineLocale('fa', {\n months : 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split('_'),\n monthsShort : 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split('_'),\n weekdays : 'یک\\u200cشنبه_دوشنبه_سه\\u200cشنبه_چهارشنبه_پنج\\u200cشنبه_جمعه_شنبه'.split('_'),\n weekdaysShort : 'یک\\u200cشنبه_دوشنبه_سه\\u200cشنبه_چهارشنبه_پنج\\u200cشنبه_جمعه_شنبه'.split('_'),\n weekdaysMin : 'ی_د_س_چ_پ_ج_ش'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n meridiemParse: /قبل از ظهر|بعد از ظهر/,\n isPM: function (input) {\n return /بعد از ظهر/.test(input);\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'قبل از ظهر';\n } else {\n return 'بعد از ظهر';\n }\n },\n calendar : {\n sameDay : '[امروز ساعت] LT',\n nextDay : '[فردا ساعت] LT',\n nextWeek : 'dddd [ساعت] LT',\n lastDay : '[دیروز ساعت] LT',\n lastWeek : 'dddd [پیش] [ساعت] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'در %s',\n past : '%s پیش',\n s : 'چند ثانیه',\n ss : 'ثانیه d%',\n m : 'یک دقیقه',\n mm : '%d دقیقه',\n h : 'یک ساعت',\n hh : '%d ساعت',\n d : 'یک روز',\n dd : '%d روز',\n M : 'یک ماه',\n MM : '%d ماه',\n y : 'یک سال',\n yy : '%d سال'\n },\n preparse: function (string) {\n return string.replace(/[۰-۹]/g, function (match) {\n return numberMap[match];\n }).replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n }).replace(/,/g, '،');\n },\n dayOfMonthOrdinalParse: /\\d{1,2}م/,\n ordinal : '%dم',\n week : {\n dow : 6, // Saturday is the first day of the week.\n doy : 12 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return fa;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var eu = moment.defineLocale('eu', {\n months : 'urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua'.split('_'),\n monthsShort : 'urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.'.split('_'),\n monthsParseExact : true,\n weekdays : 'igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata'.split('_'),\n weekdaysShort : 'ig._al._ar._az._og._ol._lr.'.split('_'),\n weekdaysMin : 'ig_al_ar_az_og_ol_lr'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY-MM-DD',\n LL : 'YYYY[ko] MMMM[ren] D[a]',\n LLL : 'YYYY[ko] MMMM[ren] D[a] HH:mm',\n LLLL : 'dddd, YYYY[ko] MMMM[ren] D[a] HH:mm',\n l : 'YYYY-M-D',\n ll : 'YYYY[ko] MMM D[a]',\n lll : 'YYYY[ko] MMM D[a] HH:mm',\n llll : 'ddd, YYYY[ko] MMM D[a] HH:mm'\n },\n calendar : {\n sameDay : '[gaur] LT[etan]',\n nextDay : '[bihar] LT[etan]',\n nextWeek : 'dddd LT[etan]',\n lastDay : '[atzo] LT[etan]',\n lastWeek : '[aurreko] dddd LT[etan]',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s barru',\n past : 'duela %s',\n s : 'segundo batzuk',\n ss : '%d segundo',\n m : 'minutu bat',\n mm : '%d minutu',\n h : 'ordu bat',\n hh : '%d ordu',\n d : 'egun bat',\n dd : '%d egun',\n M : 'hilabete bat',\n MM : '%d hilabete',\n y : 'urte bat',\n yy : '%d urte'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return eu;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n 's' : ['mõne sekundi', 'mõni sekund', 'paar sekundit'],\n 'ss': [number + 'sekundi', number + 'sekundit'],\n 'm' : ['ühe minuti', 'üks minut'],\n 'mm': [number + ' minuti', number + ' minutit'],\n 'h' : ['ühe tunni', 'tund aega', 'üks tund'],\n 'hh': [number + ' tunni', number + ' tundi'],\n 'd' : ['ühe päeva', 'üks päev'],\n 'M' : ['kuu aja', 'kuu aega', 'üks kuu'],\n 'MM': [number + ' kuu', number + ' kuud'],\n 'y' : ['ühe aasta', 'aasta', 'üks aasta'],\n 'yy': [number + ' aasta', number + ' aastat']\n };\n if (withoutSuffix) {\n return format[key][2] ? format[key][2] : format[key][1];\n }\n return isFuture ? format[key][0] : format[key][1];\n }\n\n var et = moment.defineLocale('et', {\n months : 'jaanuar_veebruar_märts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember'.split('_'),\n monthsShort : 'jaan_veebr_märts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets'.split('_'),\n weekdays : 'pühapäev_esmaspäev_teisipäev_kolmapäev_neljapäev_reede_laupäev'.split('_'),\n weekdaysShort : 'P_E_T_K_N_R_L'.split('_'),\n weekdaysMin : 'P_E_T_K_N_R_L'.split('_'),\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY H:mm',\n LLLL : 'dddd, D. MMMM YYYY H:mm'\n },\n calendar : {\n sameDay : '[Täna,] LT',\n nextDay : '[Homme,] LT',\n nextWeek : '[Järgmine] dddd LT',\n lastDay : '[Eile,] LT',\n lastWeek : '[Eelmine] dddd LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s pärast',\n past : '%s tagasi',\n s : processRelativeTime,\n ss : processRelativeTime,\n m : processRelativeTime,\n mm : processRelativeTime,\n h : processRelativeTime,\n hh : processRelativeTime,\n d : processRelativeTime,\n dd : '%d päeva',\n M : processRelativeTime,\n MM : processRelativeTime,\n y : processRelativeTime,\n yy : processRelativeTime\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return et;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_'),\n monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_');\n\n var esUs = moment.defineLocale('es-us', {\n months : 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'),\n monthsShort : function (m, format) {\n if (!m) {\n return monthsShortDot;\n } else if (/-MMM-/.test(format)) {\n return monthsShort[m.month()];\n } else {\n return monthsShortDot[m.month()];\n }\n },\n monthsParseExact : true,\n weekdays : 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n weekdaysShort : 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n weekdaysMin : 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'h:mm A',\n LTS : 'h:mm:ss A',\n L : 'MM/DD/YYYY',\n LL : 'MMMM [de] D [de] YYYY',\n LLL : 'MMMM [de] D [de] YYYY h:mm A',\n LLLL : 'dddd, MMMM [de] D [de] YYYY h:mm A'\n },\n calendar : {\n sameDay : function () {\n return '[hoy a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n nextDay : function () {\n return '[mañana a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n nextWeek : function () {\n return 'dddd [a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n lastDay : function () {\n return '[ayer a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n lastWeek : function () {\n return '[el] dddd [pasado a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'en %s',\n past : 'hace %s',\n s : 'unos segundos',\n ss : '%d segundos',\n m : 'un minuto',\n mm : '%d minutos',\n h : 'una hora',\n hh : '%d horas',\n d : 'un día',\n dd : '%d días',\n M : 'un mes',\n MM : '%d meses',\n y : 'un año',\n yy : '%d años'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}º/,\n ordinal : '%dº',\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return esUs;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_'),\n monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_');\n\n var monthsParse = [/^ene/i, /^feb/i, /^mar/i, /^abr/i, /^may/i, /^jun/i, /^jul/i, /^ago/i, /^sep/i, /^oct/i, /^nov/i, /^dic/i];\n var monthsRegex = /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n\n var esDo = moment.defineLocale('es-do', {\n months : 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'),\n monthsShort : function (m, format) {\n if (!m) {\n return monthsShortDot;\n } else if (/-MMM-/.test(format)) {\n return monthsShort[m.month()];\n } else {\n return monthsShortDot[m.month()];\n }\n },\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n monthsShortStrictRegex: /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n weekdays : 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n weekdaysShort : 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n weekdaysMin : 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'h:mm A',\n LTS : 'h:mm:ss A',\n L : 'DD/MM/YYYY',\n LL : 'D [de] MMMM [de] YYYY',\n LLL : 'D [de] MMMM [de] YYYY h:mm A',\n LLLL : 'dddd, D [de] MMMM [de] YYYY h:mm A'\n },\n calendar : {\n sameDay : function () {\n return '[hoy a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n nextDay : function () {\n return '[mañana a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n nextWeek : function () {\n return 'dddd [a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n lastDay : function () {\n return '[ayer a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n lastWeek : function () {\n return '[el] dddd [pasado a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'en %s',\n past : 'hace %s',\n s : 'unos segundos',\n ss : '%d segundos',\n m : 'un minuto',\n mm : '%d minutos',\n h : 'una hora',\n hh : '%d horas',\n d : 'un día',\n dd : '%d días',\n M : 'un mes',\n MM : '%d meses',\n y : 'un año',\n yy : '%d años'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}º/,\n ordinal : '%dº',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return esDo;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_'),\n monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_');\n\n var monthsParse = [/^ene/i, /^feb/i, /^mar/i, /^abr/i, /^may/i, /^jun/i, /^jul/i, /^ago/i, /^sep/i, /^oct/i, /^nov/i, /^dic/i];\n var monthsRegex = /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n\n var es = moment.defineLocale('es', {\n months : 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'),\n monthsShort : function (m, format) {\n if (!m) {\n return monthsShortDot;\n } else if (/-MMM-/.test(format)) {\n return monthsShort[m.month()];\n } else {\n return monthsShortDot[m.month()];\n }\n },\n monthsRegex : monthsRegex,\n monthsShortRegex : monthsRegex,\n monthsStrictRegex : /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n monthsShortStrictRegex : /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n monthsParse : monthsParse,\n longMonthsParse : monthsParse,\n shortMonthsParse : monthsParse,\n weekdays : 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n weekdaysShort : 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n weekdaysMin : 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D [de] MMMM [de] YYYY',\n LLL : 'D [de] MMMM [de] YYYY H:mm',\n LLLL : 'dddd, D [de] MMMM [de] YYYY H:mm'\n },\n calendar : {\n sameDay : function () {\n return '[hoy a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n nextDay : function () {\n return '[mañana a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n nextWeek : function () {\n return 'dddd [a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n lastDay : function () {\n return '[ayer a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n lastWeek : function () {\n return '[el] dddd [pasado a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'en %s',\n past : 'hace %s',\n s : 'unos segundos',\n ss : '%d segundos',\n m : 'un minuto',\n mm : '%d minutos',\n h : 'una hora',\n hh : '%d horas',\n d : 'un día',\n dd : '%d días',\n M : 'un mes',\n MM : '%d meses',\n y : 'un año',\n yy : '%d años'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}º/,\n ordinal : '%dº',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return es;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var eo = moment.defineLocale('eo', {\n months : 'januaro_februaro_marto_aprilo_majo_junio_julio_aŭgusto_septembro_oktobro_novembro_decembro'.split('_'),\n monthsShort : 'jan_feb_mar_apr_maj_jun_jul_aŭg_sep_okt_nov_dec'.split('_'),\n weekdays : 'dimanĉo_lundo_mardo_merkredo_ĵaŭdo_vendredo_sabato'.split('_'),\n weekdaysShort : 'dim_lun_mard_merk_ĵaŭ_ven_sab'.split('_'),\n weekdaysMin : 'di_lu_ma_me_ĵa_ve_sa'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY-MM-DD',\n LL : 'D[-a de] MMMM, YYYY',\n LLL : 'D[-a de] MMMM, YYYY HH:mm',\n LLLL : 'dddd, [la] D[-a de] MMMM, YYYY HH:mm'\n },\n meridiemParse: /[ap]\\.t\\.m/i,\n isPM: function (input) {\n return input.charAt(0).toLowerCase() === 'p';\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'p.t.m.' : 'P.T.M.';\n } else {\n return isLower ? 'a.t.m.' : 'A.T.M.';\n }\n },\n calendar : {\n sameDay : '[Hodiaŭ je] LT',\n nextDay : '[Morgaŭ je] LT',\n nextWeek : 'dddd [je] LT',\n lastDay : '[Hieraŭ je] LT',\n lastWeek : '[pasinta] dddd [je] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'post %s',\n past : 'antaŭ %s',\n s : 'sekundoj',\n ss : '%d sekundoj',\n m : 'minuto',\n mm : '%d minutoj',\n h : 'horo',\n hh : '%d horoj',\n d : 'tago',//ne 'diurno', ĉar estas uzita por proksimumo\n dd : '%d tagoj',\n M : 'monato',\n MM : '%d monatoj',\n y : 'jaro',\n yy : '%d jaroj'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}a/,\n ordinal : '%da',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return eo;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var enNz = moment.defineLocale('en-nz', {\n months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat : {\n LT : 'h:mm A',\n LTS : 'h:mm:ss A',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY h:mm A',\n LLLL : 'dddd, D MMMM YYYY h:mm A'\n },\n calendar : {\n sameDay : '[Today at] LT',\n nextDay : '[Tomorrow at] LT',\n nextWeek : 'dddd [at] LT',\n lastDay : '[Yesterday at] LT',\n lastWeek : '[Last] dddd [at] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'in %s',\n past : '%s ago',\n s : 'a few seconds',\n ss : '%d seconds',\n m : 'a minute',\n mm : '%d minutes',\n h : 'an hour',\n hh : '%d hours',\n d : 'a day',\n dd : '%d days',\n M : 'a month',\n MM : '%d months',\n y : 'a year',\n yy : '%d years'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return enNz;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var enIl = moment.defineLocale('en-il', {\n months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Today at] LT',\n nextDay : '[Tomorrow at] LT',\n nextWeek : 'dddd [at] LT',\n lastDay : '[Yesterday at] LT',\n lastWeek : '[Last] dddd [at] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'in %s',\n past : '%s ago',\n s : 'a few seconds',\n m : 'a minute',\n mm : '%d minutes',\n h : 'an hour',\n hh : '%d hours',\n d : 'a day',\n dd : '%d days',\n M : 'a month',\n MM : '%d months',\n y : 'a year',\n yy : '%d years'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n }\n });\n\n return enIl;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var enIe = moment.defineLocale('en-ie', {\n months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD-MM-YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Today at] LT',\n nextDay : '[Tomorrow at] LT',\n nextWeek : 'dddd [at] LT',\n lastDay : '[Yesterday at] LT',\n lastWeek : '[Last] dddd [at] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'in %s',\n past : '%s ago',\n s : 'a few seconds',\n ss : '%d seconds',\n m : 'a minute',\n mm : '%d minutes',\n h : 'an hour',\n hh : '%d hours',\n d : 'a day',\n dd : '%d days',\n M : 'a month',\n MM : '%d months',\n y : 'a year',\n yy : '%d years'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return enIe;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var enGb = moment.defineLocale('en-gb', {\n months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Today at] LT',\n nextDay : '[Tomorrow at] LT',\n nextWeek : 'dddd [at] LT',\n lastDay : '[Yesterday at] LT',\n lastWeek : '[Last] dddd [at] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'in %s',\n past : '%s ago',\n s : 'a few seconds',\n ss : '%d seconds',\n m : 'a minute',\n mm : '%d minutes',\n h : 'an hour',\n hh : '%d hours',\n d : 'a day',\n dd : '%d days',\n M : 'a month',\n MM : '%d months',\n y : 'a year',\n yy : '%d years'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return enGb;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var enCa = moment.defineLocale('en-ca', {\n months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat : {\n LT : 'h:mm A',\n LTS : 'h:mm:ss A',\n L : 'YYYY-MM-DD',\n LL : 'MMMM D, YYYY',\n LLL : 'MMMM D, YYYY h:mm A',\n LLLL : 'dddd, MMMM D, YYYY h:mm A'\n },\n calendar : {\n sameDay : '[Today at] LT',\n nextDay : '[Tomorrow at] LT',\n nextWeek : 'dddd [at] LT',\n lastDay : '[Yesterday at] LT',\n lastWeek : '[Last] dddd [at] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'in %s',\n past : '%s ago',\n s : 'a few seconds',\n ss : '%d seconds',\n m : 'a minute',\n mm : '%d minutes',\n h : 'an hour',\n hh : '%d hours',\n d : 'a day',\n dd : '%d days',\n M : 'a month',\n MM : '%d months',\n y : 'a year',\n yy : '%d years'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n }\n });\n\n return enCa;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var enAu = moment.defineLocale('en-au', {\n months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat : {\n LT : 'h:mm A',\n LTS : 'h:mm:ss A',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY h:mm A',\n LLLL : 'dddd, D MMMM YYYY h:mm A'\n },\n calendar : {\n sameDay : '[Today at] LT',\n nextDay : '[Tomorrow at] LT',\n nextWeek : 'dddd [at] LT',\n lastDay : '[Yesterday at] LT',\n lastWeek : '[Last] dddd [at] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'in %s',\n past : '%s ago',\n s : 'a few seconds',\n ss : '%d seconds',\n m : 'a minute',\n mm : '%d minutes',\n h : 'an hour',\n hh : '%d hours',\n d : 'a day',\n dd : '%d days',\n M : 'a month',\n MM : '%d months',\n y : 'a year',\n yy : '%d years'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return enAu;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n function isFunction(input) {\n return input instanceof Function || Object.prototype.toString.call(input) === '[object Function]';\n }\n\n\n var el = moment.defineLocale('el', {\n monthsNominativeEl : 'Ιανουάριος_Φεβρουάριος_Μάρτιος_Απρίλιος_Μάιος_Ιούνιος_Ιούλιος_Αύγουστος_Σεπτέμβριος_Οκτώβριος_Νοέμβριος_Δεκέμβριος'.split('_'),\n monthsGenitiveEl : 'Ιανουαρίου_Φεβρουαρίου_Μαρτίου_Απριλίου_Μαΐου_Ιουνίου_Ιουλίου_Αυγούστου_Σεπτεμβρίου_Οκτωβρίου_Νοεμβρίου_Δεκεμβρίου'.split('_'),\n months : function (momentToFormat, format) {\n if (!momentToFormat) {\n return this._monthsNominativeEl;\n } else if (typeof format === 'string' && /D/.test(format.substring(0, format.indexOf('MMMM')))) { // if there is a day number before 'MMMM'\n return this._monthsGenitiveEl[momentToFormat.month()];\n } else {\n return this._monthsNominativeEl[momentToFormat.month()];\n }\n },\n monthsShort : 'Ιαν_Φεβ_Μαρ_Απρ_Μαϊ_Ιουν_Ιουλ_Αυγ_Σεπ_Οκτ_Νοε_Δεκ'.split('_'),\n weekdays : 'Κυριακή_Δευτέρα_Τρίτη_Τετάρτη_Πέμπτη_Παρασκευή_Σάββατο'.split('_'),\n weekdaysShort : 'Κυρ_Δευ_Τρι_Τετ_Πεμ_Παρ_Σαβ'.split('_'),\n weekdaysMin : 'Κυ_Δε_Τρ_Τε_Πε_Πα_Σα'.split('_'),\n meridiem : function (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'μμ' : 'ΜΜ';\n } else {\n return isLower ? 'πμ' : 'ΠΜ';\n }\n },\n isPM : function (input) {\n return ((input + '').toLowerCase()[0] === 'μ');\n },\n meridiemParse : /[ΠΜ]\\.?Μ?\\.?/i,\n longDateFormat : {\n LT : 'h:mm A',\n LTS : 'h:mm:ss A',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY h:mm A',\n LLLL : 'dddd, D MMMM YYYY h:mm A'\n },\n calendarEl : {\n sameDay : '[Σήμερα {}] LT',\n nextDay : '[Αύριο {}] LT',\n nextWeek : 'dddd [{}] LT',\n lastDay : '[Χθες {}] LT',\n lastWeek : function () {\n switch (this.day()) {\n case 6:\n return '[το προηγούμενο] dddd [{}] LT';\n default:\n return '[την προηγούμενη] dddd [{}] LT';\n }\n },\n sameElse : 'L'\n },\n calendar : function (key, mom) {\n var output = this._calendarEl[key],\n hours = mom && mom.hours();\n if (isFunction(output)) {\n output = output.apply(mom);\n }\n return output.replace('{}', (hours % 12 === 1 ? 'στη' : 'στις'));\n },\n relativeTime : {\n future : 'σε %s',\n past : '%s πριν',\n s : 'λίγα δευτερόλεπτα',\n ss : '%d δευτερόλεπτα',\n m : 'ένα λεπτό',\n mm : '%d λεπτά',\n h : 'μία ώρα',\n hh : '%d ώρες',\n d : 'μία μέρα',\n dd : '%d μέρες',\n M : 'ένας μήνας',\n MM : '%d μήνες',\n y : 'ένας χρόνος',\n yy : '%d χρόνια'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}η/,\n ordinal: '%dη',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4st is the first week of the year.\n }\n });\n\n return el;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var months = [\n 'ޖެނުއަރީ',\n 'ފެބްރުއަރީ',\n 'މާރިޗު',\n 'އޭޕްރީލު',\n 'މޭ',\n 'ޖޫން',\n 'ޖުލައި',\n 'އޯގަސްޓު',\n 'ސެޕްޓެމްބަރު',\n 'އޮކްޓޯބަރު',\n 'ނޮވެމްބަރު',\n 'ޑިސެމްބަރު'\n ], weekdays = [\n 'އާދިއްތަ',\n 'ހޯމަ',\n 'އަންގާރަ',\n 'ބުދަ',\n 'ބުރާސްފަތި',\n 'ހުކުރު',\n 'ހޮނިހިރު'\n ];\n\n var dv = moment.defineLocale('dv', {\n months : months,\n monthsShort : months,\n weekdays : weekdays,\n weekdaysShort : weekdays,\n weekdaysMin : 'އާދި_ހޯމަ_އަން_ބުދަ_ބުރާ_ހުކު_ހޮނި'.split('_'),\n longDateFormat : {\n\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'D/M/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n meridiemParse: /މކ|މފ/,\n isPM : function (input) {\n return 'މފ' === input;\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'މކ';\n } else {\n return 'މފ';\n }\n },\n calendar : {\n sameDay : '[މިއަދު] LT',\n nextDay : '[މާދަމާ] LT',\n nextWeek : 'dddd LT',\n lastDay : '[އިއްޔެ] LT',\n lastWeek : '[ފާއިތުވި] dddd LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'ތެރޭގައި %s',\n past : 'ކުރިން %s',\n s : 'ސިކުންތުކޮޅެއް',\n ss : 'd% ސިކުންތު',\n m : 'މިނިޓެއް',\n mm : 'މިނިޓު %d',\n h : 'ގަޑިއިރެއް',\n hh : 'ގަޑިއިރު %d',\n d : 'ދުވަހެއް',\n dd : 'ދުވަސް %d',\n M : 'މަހެއް',\n MM : 'މަސް %d',\n y : 'އަހަރެއް',\n yy : 'އަހަރު %d'\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/,/g, '،');\n },\n week : {\n dow : 7, // Sunday is the first day of the week.\n doy : 12 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return dv;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n 'm': ['eine Minute', 'einer Minute'],\n 'h': ['eine Stunde', 'einer Stunde'],\n 'd': ['ein Tag', 'einem Tag'],\n 'dd': [number + ' Tage', number + ' Tagen'],\n 'M': ['ein Monat', 'einem Monat'],\n 'MM': [number + ' Monate', number + ' Monaten'],\n 'y': ['ein Jahr', 'einem Jahr'],\n 'yy': [number + ' Jahre', number + ' Jahren']\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n\n var deCh = moment.defineLocale('de-ch', {\n months : 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),\n monthsShort : 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),\n monthsParseExact : true,\n weekdays : 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'),\n weekdaysShort : 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n weekdaysMin : 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY HH:mm',\n LLLL : 'dddd, D. MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[heute um] LT [Uhr]',\n sameElse: 'L',\n nextDay: '[morgen um] LT [Uhr]',\n nextWeek: 'dddd [um] LT [Uhr]',\n lastDay: '[gestern um] LT [Uhr]',\n lastWeek: '[letzten] dddd [um] LT [Uhr]'\n },\n relativeTime : {\n future : 'in %s',\n past : 'vor %s',\n s : 'ein paar Sekunden',\n ss : '%d Sekunden',\n m : processRelativeTime,\n mm : '%d Minuten',\n h : processRelativeTime,\n hh : '%d Stunden',\n d : processRelativeTime,\n dd : processRelativeTime,\n M : processRelativeTime,\n MM : processRelativeTime,\n y : processRelativeTime,\n yy : processRelativeTime\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return deCh;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n 'm': ['eine Minute', 'einer Minute'],\n 'h': ['eine Stunde', 'einer Stunde'],\n 'd': ['ein Tag', 'einem Tag'],\n 'dd': [number + ' Tage', number + ' Tagen'],\n 'M': ['ein Monat', 'einem Monat'],\n 'MM': [number + ' Monate', number + ' Monaten'],\n 'y': ['ein Jahr', 'einem Jahr'],\n 'yy': [number + ' Jahre', number + ' Jahren']\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n\n var deAt = moment.defineLocale('de-at', {\n months : 'Jänner_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),\n monthsShort : 'Jän._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),\n monthsParseExact : true,\n weekdays : 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'),\n weekdaysShort : 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'),\n weekdaysMin : 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY HH:mm',\n LLLL : 'dddd, D. MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[heute um] LT [Uhr]',\n sameElse: 'L',\n nextDay: '[morgen um] LT [Uhr]',\n nextWeek: 'dddd [um] LT [Uhr]',\n lastDay: '[gestern um] LT [Uhr]',\n lastWeek: '[letzten] dddd [um] LT [Uhr]'\n },\n relativeTime : {\n future : 'in %s',\n past : 'vor %s',\n s : 'ein paar Sekunden',\n ss : '%d Sekunden',\n m : processRelativeTime,\n mm : '%d Minuten',\n h : processRelativeTime,\n hh : '%d Stunden',\n d : processRelativeTime,\n dd : processRelativeTime,\n M : processRelativeTime,\n MM : processRelativeTime,\n y : processRelativeTime,\n yy : processRelativeTime\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return deAt;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n 'm': ['eine Minute', 'einer Minute'],\n 'h': ['eine Stunde', 'einer Stunde'],\n 'd': ['ein Tag', 'einem Tag'],\n 'dd': [number + ' Tage', number + ' Tagen'],\n 'M': ['ein Monat', 'einem Monat'],\n 'MM': [number + ' Monate', number + ' Monaten'],\n 'y': ['ein Jahr', 'einem Jahr'],\n 'yy': [number + ' Jahre', number + ' Jahren']\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n\n var de = moment.defineLocale('de', {\n months : 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),\n monthsShort : 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),\n monthsParseExact : true,\n weekdays : 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'),\n weekdaysShort : 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'),\n weekdaysMin : 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY HH:mm',\n LLLL : 'dddd, D. MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[heute um] LT [Uhr]',\n sameElse: 'L',\n nextDay: '[morgen um] LT [Uhr]',\n nextWeek: 'dddd [um] LT [Uhr]',\n lastDay: '[gestern um] LT [Uhr]',\n lastWeek: '[letzten] dddd [um] LT [Uhr]'\n },\n relativeTime : {\n future : 'in %s',\n past : 'vor %s',\n s : 'ein paar Sekunden',\n ss : '%d Sekunden',\n m : processRelativeTime,\n mm : '%d Minuten',\n h : processRelativeTime,\n hh : '%d Stunden',\n d : processRelativeTime,\n dd : processRelativeTime,\n M : processRelativeTime,\n MM : processRelativeTime,\n y : processRelativeTime,\n yy : processRelativeTime\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return de;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var da = moment.defineLocale('da', {\n months : 'januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december'.split('_'),\n monthsShort : 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n weekdays : 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),\n weekdaysShort : 'søn_man_tir_ons_tor_fre_lør'.split('_'),\n weekdaysMin : 'sø_ma_ti_on_to_fr_lø'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY HH:mm',\n LLLL : 'dddd [d.] D. MMMM YYYY [kl.] HH:mm'\n },\n calendar : {\n sameDay : '[i dag kl.] LT',\n nextDay : '[i morgen kl.] LT',\n nextWeek : 'på dddd [kl.] LT',\n lastDay : '[i går kl.] LT',\n lastWeek : '[i] dddd[s kl.] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'om %s',\n past : '%s siden',\n s : 'få sekunder',\n ss : '%d sekunder',\n m : 'et minut',\n mm : '%d minutter',\n h : 'en time',\n hh : '%d timer',\n d : 'en dag',\n dd : '%d dage',\n M : 'en måned',\n MM : '%d måneder',\n y : 'et år',\n yy : '%d år'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return da;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var cy = moment.defineLocale('cy', {\n months: 'Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr'.split('_'),\n monthsShort: 'Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag'.split('_'),\n weekdays: 'Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn'.split('_'),\n weekdaysShort: 'Sul_Llun_Maw_Mer_Iau_Gwe_Sad'.split('_'),\n weekdaysMin: 'Su_Ll_Ma_Me_Ia_Gw_Sa'.split('_'),\n weekdaysParseExact : true,\n // time formats are the same as en-gb\n longDateFormat: {\n LT: 'HH:mm',\n LTS : 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Heddiw am] LT',\n nextDay: '[Yfory am] LT',\n nextWeek: 'dddd [am] LT',\n lastDay: '[Ddoe am] LT',\n lastWeek: 'dddd [diwethaf am] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'mewn %s',\n past: '%s yn ôl',\n s: 'ychydig eiliadau',\n ss: '%d eiliad',\n m: 'munud',\n mm: '%d munud',\n h: 'awr',\n hh: '%d awr',\n d: 'diwrnod',\n dd: '%d diwrnod',\n M: 'mis',\n MM: '%d mis',\n y: 'blwyddyn',\n yy: '%d flynedd'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(fed|ain|af|il|ydd|ed|eg)/,\n // traditional ordinal numbers above 31 are not commonly used in colloquial Welsh\n ordinal: function (number) {\n var b = number,\n output = '',\n lookup = [\n '', 'af', 'il', 'ydd', 'ydd', 'ed', 'ed', 'ed', 'fed', 'fed', 'fed', // 1af to 10fed\n 'eg', 'fed', 'eg', 'eg', 'fed', 'eg', 'eg', 'fed', 'eg', 'fed' // 11eg to 20fed\n ];\n if (b > 20) {\n if (b === 40 || b === 50 || b === 60 || b === 80 || b === 100) {\n output = 'fed'; // not 30ain, 70ain or 90ain\n } else {\n output = 'ain';\n }\n } else if (b > 0) {\n output = lookup[b];\n }\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return cy;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var cv = moment.defineLocale('cv', {\n months : 'кӑрлач_нарӑс_пуш_ака_май_ҫӗртме_утӑ_ҫурла_авӑн_юпа_чӳк_раштав'.split('_'),\n monthsShort : 'кӑр_нар_пуш_ака_май_ҫӗр_утӑ_ҫур_авн_юпа_чӳк_раш'.split('_'),\n weekdays : 'вырсарникун_тунтикун_ытларикун_юнкун_кӗҫнерникун_эрнекун_шӑматкун'.split('_'),\n weekdaysShort : 'выр_тун_ытл_юн_кӗҫ_эрн_шӑм'.split('_'),\n weekdaysMin : 'вр_тн_ыт_юн_кҫ_эр_шм'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD-MM-YYYY',\n LL : 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ]',\n LLL : 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm',\n LLLL : 'dddd, YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm'\n },\n calendar : {\n sameDay: '[Паян] LT [сехетре]',\n nextDay: '[Ыран] LT [сехетре]',\n lastDay: '[Ӗнер] LT [сехетре]',\n nextWeek: '[Ҫитес] dddd LT [сехетре]',\n lastWeek: '[Иртнӗ] dddd LT [сехетре]',\n sameElse: 'L'\n },\n relativeTime : {\n future : function (output) {\n var affix = /сехет$/i.exec(output) ? 'рен' : /ҫул$/i.exec(output) ? 'тан' : 'ран';\n return output + affix;\n },\n past : '%s каялла',\n s : 'пӗр-ик ҫеккунт',\n ss : '%d ҫеккунт',\n m : 'пӗр минут',\n mm : '%d минут',\n h : 'пӗр сехет',\n hh : '%d сехет',\n d : 'пӗр кун',\n dd : '%d кун',\n M : 'пӗр уйӑх',\n MM : '%d уйӑх',\n y : 'пӗр ҫул',\n yy : '%d ҫул'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-мӗш/,\n ordinal : '%d-мӗш',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return cv;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var months = 'leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec'.split('_'),\n monthsShort = 'led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro'.split('_');\n function plural(n) {\n return (n > 1) && (n < 5) && (~~(n / 10) !== 1);\n }\n function translate(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n switch (key) {\n case 's': // a few seconds / in a few seconds / a few seconds ago\n return (withoutSuffix || isFuture) ? 'pár sekund' : 'pár sekundami';\n case 'ss': // 9 seconds / in 9 seconds / 9 seconds ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'sekundy' : 'sekund');\n } else {\n return result + 'sekundami';\n }\n break;\n case 'm': // a minute / in a minute / a minute ago\n return withoutSuffix ? 'minuta' : (isFuture ? 'minutu' : 'minutou');\n case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'minuty' : 'minut');\n } else {\n return result + 'minutami';\n }\n break;\n case 'h': // an hour / in an hour / an hour ago\n return withoutSuffix ? 'hodina' : (isFuture ? 'hodinu' : 'hodinou');\n case 'hh': // 9 hours / in 9 hours / 9 hours ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'hodiny' : 'hodin');\n } else {\n return result + 'hodinami';\n }\n break;\n case 'd': // a day / in a day / a day ago\n return (withoutSuffix || isFuture) ? 'den' : 'dnem';\n case 'dd': // 9 days / in 9 days / 9 days ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'dny' : 'dní');\n } else {\n return result + 'dny';\n }\n break;\n case 'M': // a month / in a month / a month ago\n return (withoutSuffix || isFuture) ? 'měsíc' : 'měsícem';\n case 'MM': // 9 months / in 9 months / 9 months ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'měsíce' : 'měsíců');\n } else {\n return result + 'měsíci';\n }\n break;\n case 'y': // a year / in a year / a year ago\n return (withoutSuffix || isFuture) ? 'rok' : 'rokem';\n case 'yy': // 9 years / in 9 years / 9 years ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'roky' : 'let');\n } else {\n return result + 'lety';\n }\n break;\n }\n }\n\n var cs = moment.defineLocale('cs', {\n months : months,\n monthsShort : monthsShort,\n monthsParse : (function (months, monthsShort) {\n var i, _monthsParse = [];\n for (i = 0; i < 12; i++) {\n // use custom parser to solve problem with July (červenec)\n _monthsParse[i] = new RegExp('^' + months[i] + '$|^' + monthsShort[i] + '$', 'i');\n }\n return _monthsParse;\n }(months, monthsShort)),\n shortMonthsParse : (function (monthsShort) {\n var i, _shortMonthsParse = [];\n for (i = 0; i < 12; i++) {\n _shortMonthsParse[i] = new RegExp('^' + monthsShort[i] + '$', 'i');\n }\n return _shortMonthsParse;\n }(monthsShort)),\n longMonthsParse : (function (months) {\n var i, _longMonthsParse = [];\n for (i = 0; i < 12; i++) {\n _longMonthsParse[i] = new RegExp('^' + months[i] + '$', 'i');\n }\n return _longMonthsParse;\n }(months)),\n weekdays : 'neděle_pondělí_úterý_středa_čtvrtek_pátek_sobota'.split('_'),\n weekdaysShort : 'ne_po_út_st_čt_pá_so'.split('_'),\n weekdaysMin : 'ne_po_út_st_čt_pá_so'.split('_'),\n longDateFormat : {\n LT: 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY H:mm',\n LLLL : 'dddd D. MMMM YYYY H:mm',\n l : 'D. M. YYYY'\n },\n calendar : {\n sameDay: '[dnes v] LT',\n nextDay: '[zítra v] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[v neděli v] LT';\n case 1:\n case 2:\n return '[v] dddd [v] LT';\n case 3:\n return '[ve středu v] LT';\n case 4:\n return '[ve čtvrtek v] LT';\n case 5:\n return '[v pátek v] LT';\n case 6:\n return '[v sobotu v] LT';\n }\n },\n lastDay: '[včera v] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[minulou neděli v] LT';\n case 1:\n case 2:\n return '[minulé] dddd [v] LT';\n case 3:\n return '[minulou středu v] LT';\n case 4:\n case 5:\n return '[minulý] dddd [v] LT';\n case 6:\n return '[minulou sobotu v] LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : 'za %s',\n past : 'před %s',\n s : translate,\n ss : translate,\n m : translate,\n mm : translate,\n h : translate,\n hh : translate,\n d : translate,\n dd : translate,\n M : translate,\n MM : translate,\n y : translate,\n yy : translate\n },\n dayOfMonthOrdinalParse : /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return cs;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var ca = moment.defineLocale('ca', {\n months : {\n standalone: 'gener_febrer_març_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre'.split('_'),\n format: 'de gener_de febrer_de març_d\\'abril_de maig_de juny_de juliol_d\\'agost_de setembre_d\\'octubre_de novembre_de desembre'.split('_'),\n isFormat: /D[oD]?(\\s)+MMMM/\n },\n monthsShort : 'gen._febr._març_abr._maig_juny_jul._ag._set._oct._nov._des.'.split('_'),\n monthsParseExact : true,\n weekdays : 'diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte'.split('_'),\n weekdaysShort : 'dg._dl._dt._dc._dj._dv._ds.'.split('_'),\n weekdaysMin : 'dg_dl_dt_dc_dj_dv_ds'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM [de] YYYY',\n ll : 'D MMM YYYY',\n LLL : 'D MMMM [de] YYYY [a les] H:mm',\n lll : 'D MMM YYYY, H:mm',\n LLLL : 'dddd D MMMM [de] YYYY [a les] H:mm',\n llll : 'ddd D MMM YYYY, H:mm'\n },\n calendar : {\n sameDay : function () {\n return '[avui a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';\n },\n nextDay : function () {\n return '[demà a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';\n },\n nextWeek : function () {\n return 'dddd [a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';\n },\n lastDay : function () {\n return '[ahir a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';\n },\n lastWeek : function () {\n return '[el] dddd [passat a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'd\\'aquí %s',\n past : 'fa %s',\n s : 'uns segons',\n ss : '%d segons',\n m : 'un minut',\n mm : '%d minuts',\n h : 'una hora',\n hh : '%d hores',\n d : 'un dia',\n dd : '%d dies',\n M : 'un mes',\n MM : '%d mesos',\n y : 'un any',\n yy : '%d anys'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(r|n|t|è|a)/,\n ordinal : function (number, period) {\n var output = (number === 1) ? 'r' :\n (number === 2) ? 'n' :\n (number === 3) ? 'r' :\n (number === 4) ? 't' : 'è';\n if (period === 'w' || period === 'W') {\n output = 'a';\n }\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return ca;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function translate(number, withoutSuffix, key) {\n var result = number + ' ';\n switch (key) {\n case 'ss':\n if (number === 1) {\n result += 'sekunda';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sekunde';\n } else {\n result += 'sekundi';\n }\n return result;\n case 'm':\n return withoutSuffix ? 'jedna minuta' : 'jedne minute';\n case 'mm':\n if (number === 1) {\n result += 'minuta';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'minute';\n } else {\n result += 'minuta';\n }\n return result;\n case 'h':\n return withoutSuffix ? 'jedan sat' : 'jednog sata';\n case 'hh':\n if (number === 1) {\n result += 'sat';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sata';\n } else {\n result += 'sati';\n }\n return result;\n case 'dd':\n if (number === 1) {\n result += 'dan';\n } else {\n result += 'dana';\n }\n return result;\n case 'MM':\n if (number === 1) {\n result += 'mjesec';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'mjeseca';\n } else {\n result += 'mjeseci';\n }\n return result;\n case 'yy':\n if (number === 1) {\n result += 'godina';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'godine';\n } else {\n result += 'godina';\n }\n return result;\n }\n }\n\n var bs = moment.defineLocale('bs', {\n months : 'januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar'.split('_'),\n monthsShort : 'jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays : 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split('_'),\n weekdaysShort : 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n weekdaysMin : 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY H:mm',\n LLLL : 'dddd, D. MMMM YYYY H:mm'\n },\n calendar : {\n sameDay : '[danas u] LT',\n nextDay : '[sutra u] LT',\n nextWeek : function () {\n switch (this.day()) {\n case 0:\n return '[u] [nedjelju] [u] LT';\n case 3:\n return '[u] [srijedu] [u] LT';\n case 6:\n return '[u] [subotu] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay : '[jučer u] LT',\n lastWeek : function () {\n switch (this.day()) {\n case 0:\n case 3:\n return '[prošlu] dddd [u] LT';\n case 6:\n return '[prošle] [subote] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[prošli] dddd [u] LT';\n }\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'za %s',\n past : 'prije %s',\n s : 'par sekundi',\n ss : translate,\n m : translate,\n mm : translate,\n h : translate,\n hh : translate,\n d : 'dan',\n dd : translate,\n M : 'mjesec',\n MM : translate,\n y : 'godinu',\n yy : translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return bs;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function relativeTimeWithMutation(number, withoutSuffix, key) {\n var format = {\n 'mm': 'munutenn',\n 'MM': 'miz',\n 'dd': 'devezh'\n };\n return number + ' ' + mutation(format[key], number);\n }\n function specialMutationForYears(number) {\n switch (lastNumber(number)) {\n case 1:\n case 3:\n case 4:\n case 5:\n case 9:\n return number + ' bloaz';\n default:\n return number + ' vloaz';\n }\n }\n function lastNumber(number) {\n if (number > 9) {\n return lastNumber(number % 10);\n }\n return number;\n }\n function mutation(text, number) {\n if (number === 2) {\n return softMutation(text);\n }\n return text;\n }\n function softMutation(text) {\n var mutationTable = {\n 'm': 'v',\n 'b': 'v',\n 'd': 'z'\n };\n if (mutationTable[text.charAt(0)] === undefined) {\n return text;\n }\n return mutationTable[text.charAt(0)] + text.substring(1);\n }\n\n var br = moment.defineLocale('br', {\n months : 'Genver_C\\'hwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu'.split('_'),\n monthsShort : 'Gen_C\\'hwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker'.split('_'),\n weekdays : 'Sul_Lun_Meurzh_Merc\\'her_Yaou_Gwener_Sadorn'.split('_'),\n weekdaysShort : 'Sul_Lun_Meu_Mer_Yao_Gwe_Sad'.split('_'),\n weekdaysMin : 'Su_Lu_Me_Mer_Ya_Gw_Sa'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'h[e]mm A',\n LTS : 'h[e]mm:ss A',\n L : 'DD/MM/YYYY',\n LL : 'D [a viz] MMMM YYYY',\n LLL : 'D [a viz] MMMM YYYY h[e]mm A',\n LLLL : 'dddd, D [a viz] MMMM YYYY h[e]mm A'\n },\n calendar : {\n sameDay : '[Hiziv da] LT',\n nextDay : '[Warc\\'hoazh da] LT',\n nextWeek : 'dddd [da] LT',\n lastDay : '[Dec\\'h da] LT',\n lastWeek : 'dddd [paset da] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'a-benn %s',\n past : '%s \\'zo',\n s : 'un nebeud segondennoù',\n ss : '%d eilenn',\n m : 'ur vunutenn',\n mm : relativeTimeWithMutation,\n h : 'un eur',\n hh : '%d eur',\n d : 'un devezh',\n dd : relativeTimeWithMutation,\n M : 'ur miz',\n MM : relativeTimeWithMutation,\n y : 'ur bloaz',\n yy : specialMutationForYears\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(añ|vet)/,\n ordinal : function (number) {\n var output = (number === 1) ? 'añ' : 'vet';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return br;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '༡',\n '2': '༢',\n '3': '༣',\n '4': '༤',\n '5': '༥',\n '6': '༦',\n '7': '༧',\n '8': '༨',\n '9': '༩',\n '0': '༠'\n },\n numberMap = {\n '༡': '1',\n '༢': '2',\n '༣': '3',\n '༤': '4',\n '༥': '5',\n '༦': '6',\n '༧': '7',\n '༨': '8',\n '༩': '9',\n '༠': '0'\n };\n\n var bo = moment.defineLocale('bo', {\n months : 'ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ'.split('_'),\n monthsShort : 'ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ'.split('_'),\n weekdays : 'གཟའ་ཉི་མ་_གཟའ་ཟླ་བ་_གཟའ་མིག་དམར་_གཟའ་ལྷག་པ་_གཟའ་ཕུར་བུ_གཟའ་པ་སངས་_གཟའ་སྤེན་པ་'.split('_'),\n weekdaysShort : 'ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་'.split('_'),\n weekdaysMin : 'ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་'.split('_'),\n longDateFormat : {\n LT : 'A h:mm',\n LTS : 'A h:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, A h:mm',\n LLLL : 'dddd, D MMMM YYYY, A h:mm'\n },\n calendar : {\n sameDay : '[དི་རིང] LT',\n nextDay : '[སང་ཉིན] LT',\n nextWeek : '[བདུན་ཕྲག་རྗེས་མ], LT',\n lastDay : '[ཁ་སང] LT',\n lastWeek : '[བདུན་ཕྲག་མཐའ་མ] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s ལ་',\n past : '%s སྔན་ལ',\n s : 'ལམ་སང',\n ss : '%d སྐར་ཆ།',\n m : 'སྐར་མ་གཅིག',\n mm : '%d སྐར་མ',\n h : 'ཆུ་ཚོད་གཅིག',\n hh : '%d ཆུ་ཚོད',\n d : 'ཉིན་གཅིག',\n dd : '%d ཉིན་',\n M : 'ཟླ་བ་གཅིག',\n MM : '%d ཟླ་བ',\n y : 'ལོ་གཅིག',\n yy : '%d ལོ'\n },\n preparse: function (string) {\n return string.replace(/[༡༢༣༤༥༦༧༨༩༠]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /མཚན་མོ|ཞོགས་ཀས|ཉིན་གུང|དགོང་དག|མཚན་མོ/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if ((meridiem === 'མཚན་མོ' && hour >= 4) ||\n (meridiem === 'ཉིན་གུང' && hour < 5) ||\n meridiem === 'དགོང་དག') {\n return hour + 12;\n } else {\n return hour;\n }\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'མཚན་མོ';\n } else if (hour < 10) {\n return 'ཞོགས་ཀས';\n } else if (hour < 17) {\n return 'ཉིན་གུང';\n } else if (hour < 20) {\n return 'དགོང་དག';\n } else {\n return 'མཚན་མོ';\n }\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return bo;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '১',\n '2': '২',\n '3': '৩',\n '4': '৪',\n '5': '৫',\n '6': '৬',\n '7': '৭',\n '8': '৮',\n '9': '৯',\n '0': '০'\n },\n numberMap = {\n '১': '1',\n '২': '2',\n '৩': '3',\n '৪': '4',\n '৫': '5',\n '৬': '6',\n '৭': '7',\n '৮': '8',\n '৯': '9',\n '০': '0'\n };\n\n var bn = moment.defineLocale('bn', {\n months : 'জানুয়ারী_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর'.split('_'),\n monthsShort : 'জানু_ফেব_মার্চ_এপ্র_মে_জুন_জুল_আগ_সেপ্ট_অক্টো_নভে_ডিসে'.split('_'),\n weekdays : 'রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার'.split('_'),\n weekdaysShort : 'রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি'.split('_'),\n weekdaysMin : 'রবি_সোম_মঙ্গ_বুধ_বৃহঃ_শুক্র_শনি'.split('_'),\n longDateFormat : {\n LT : 'A h:mm সময়',\n LTS : 'A h:mm:ss সময়',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, A h:mm সময়',\n LLLL : 'dddd, D MMMM YYYY, A h:mm সময়'\n },\n calendar : {\n sameDay : '[আজ] LT',\n nextDay : '[আগামীকাল] LT',\n nextWeek : 'dddd, LT',\n lastDay : '[গতকাল] LT',\n lastWeek : '[গত] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s পরে',\n past : '%s আগে',\n s : 'কয়েক সেকেন্ড',\n ss : '%d সেকেন্ড',\n m : 'এক মিনিট',\n mm : '%d মিনিট',\n h : 'এক ঘন্টা',\n hh : '%d ঘন্টা',\n d : 'এক দিন',\n dd : '%d দিন',\n M : 'এক মাস',\n MM : '%d মাস',\n y : 'এক বছর',\n yy : '%d বছর'\n },\n preparse: function (string) {\n return string.replace(/[১২৩৪৫৬৭৮৯০]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /রাত|সকাল|দুপুর|বিকাল|রাত/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if ((meridiem === 'রাত' && hour >= 4) ||\n (meridiem === 'দুপুর' && hour < 5) ||\n meridiem === 'বিকাল') {\n return hour + 12;\n } else {\n return hour;\n }\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'রাত';\n } else if (hour < 10) {\n return 'সকাল';\n } else if (hour < 17) {\n return 'দুপুর';\n } else if (hour < 20) {\n return 'বিকাল';\n } else {\n return 'রাত';\n }\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return bn;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var bm = moment.defineLocale('bm', {\n months : 'Zanwuyekalo_Fewuruyekalo_Marisikalo_Awirilikalo_Mɛkalo_Zuwɛnkalo_Zuluyekalo_Utikalo_Sɛtanburukalo_ɔkutɔburukalo_Nowanburukalo_Desanburukalo'.split('_'),\n monthsShort : 'Zan_Few_Mar_Awi_Mɛ_Zuw_Zul_Uti_Sɛt_ɔku_Now_Des'.split('_'),\n weekdays : 'Kari_Ntɛnɛn_Tarata_Araba_Alamisa_Juma_Sibiri'.split('_'),\n weekdaysShort : 'Kar_Ntɛ_Tar_Ara_Ala_Jum_Sib'.split('_'),\n weekdaysMin : 'Ka_Nt_Ta_Ar_Al_Ju_Si'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'MMMM [tile] D [san] YYYY',\n LLL : 'MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm',\n LLLL : 'dddd MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm'\n },\n calendar : {\n sameDay : '[Bi lɛrɛ] LT',\n nextDay : '[Sini lɛrɛ] LT',\n nextWeek : 'dddd [don lɛrɛ] LT',\n lastDay : '[Kunu lɛrɛ] LT',\n lastWeek : 'dddd [tɛmɛnen lɛrɛ] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s kɔnɔ',\n past : 'a bɛ %s bɔ',\n s : 'sanga dama dama',\n ss : 'sekondi %d',\n m : 'miniti kelen',\n mm : 'miniti %d',\n h : 'lɛrɛ kelen',\n hh : 'lɛrɛ %d',\n d : 'tile kelen',\n dd : 'tile %d',\n M : 'kalo kelen',\n MM : 'kalo %d',\n y : 'san kelen',\n yy : 'san %d'\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return bm;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var bg = moment.defineLocale('bg', {\n months : 'януари_февруари_март_април_май_юни_юли_август_септември_октомври_ноември_декември'.split('_'),\n monthsShort : 'янр_фев_мар_апр_май_юни_юли_авг_сеп_окт_ное_дек'.split('_'),\n weekdays : 'неделя_понеделник_вторник_сряда_четвъртък_петък_събота'.split('_'),\n weekdaysShort : 'нед_пон_вто_сря_чет_пет_съб'.split('_'),\n weekdaysMin : 'нд_пн_вт_ср_чт_пт_сб'.split('_'),\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'D.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY H:mm',\n LLLL : 'dddd, D MMMM YYYY H:mm'\n },\n calendar : {\n sameDay : '[Днес в] LT',\n nextDay : '[Утре в] LT',\n nextWeek : 'dddd [в] LT',\n lastDay : '[Вчера в] LT',\n lastWeek : function () {\n switch (this.day()) {\n case 0:\n case 3:\n case 6:\n return '[В изминалата] dddd [в] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[В изминалия] dddd [в] LT';\n }\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'след %s',\n past : 'преди %s',\n s : 'няколко секунди',\n ss : '%d секунди',\n m : 'минута',\n mm : '%d минути',\n h : 'час',\n hh : '%d часа',\n d : 'ден',\n dd : '%d дни',\n M : 'месец',\n MM : '%d месеца',\n y : 'година',\n yy : '%d години'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ев|ен|ти|ви|ри|ми)/,\n ordinal : function (number) {\n var lastDigit = number % 10,\n last2Digits = number % 100;\n if (number === 0) {\n return number + '-ев';\n } else if (last2Digits === 0) {\n return number + '-ен';\n } else if (last2Digits > 10 && last2Digits < 20) {\n return number + '-ти';\n } else if (lastDigit === 1) {\n return number + '-ви';\n } else if (lastDigit === 2) {\n return number + '-ри';\n } else if (lastDigit === 7 || lastDigit === 8) {\n return number + '-ми';\n } else {\n return number + '-ти';\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return bg;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function plural(word, num) {\n var forms = word.split('_');\n return num % 10 === 1 && num % 100 !== 11 ? forms[0] : (num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) ? forms[1] : forms[2]);\n }\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n var format = {\n 'ss': withoutSuffix ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд',\n 'mm': withoutSuffix ? 'хвіліна_хвіліны_хвілін' : 'хвіліну_хвіліны_хвілін',\n 'hh': withoutSuffix ? 'гадзіна_гадзіны_гадзін' : 'гадзіну_гадзіны_гадзін',\n 'dd': 'дзень_дні_дзён',\n 'MM': 'месяц_месяцы_месяцаў',\n 'yy': 'год_гады_гадоў'\n };\n if (key === 'm') {\n return withoutSuffix ? 'хвіліна' : 'хвіліну';\n }\n else if (key === 'h') {\n return withoutSuffix ? 'гадзіна' : 'гадзіну';\n }\n else {\n return number + ' ' + plural(format[key], +number);\n }\n }\n\n var be = moment.defineLocale('be', {\n months : {\n format: 'студзеня_лютага_сакавіка_красавіка_траўня_чэрвеня_ліпеня_жніўня_верасня_кастрычніка_лістапада_снежня'.split('_'),\n standalone: 'студзень_люты_сакавік_красавік_травень_чэрвень_ліпень_жнівень_верасень_кастрычнік_лістапад_снежань'.split('_')\n },\n monthsShort : 'студ_лют_сак_крас_трав_чэрв_ліп_жнів_вер_каст_ліст_снеж'.split('_'),\n weekdays : {\n format: 'нядзелю_панядзелак_аўторак_сераду_чацвер_пятніцу_суботу'.split('_'),\n standalone: 'нядзеля_панядзелак_аўторак_серада_чацвер_пятніца_субота'.split('_'),\n isFormat: /\\[ ?[Ууў] ?(?:мінулую|наступную)? ?\\] ?dddd/\n },\n weekdaysShort : 'нд_пн_ат_ср_чц_пт_сб'.split('_'),\n weekdaysMin : 'нд_пн_ат_ср_чц_пт_сб'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY г.',\n LLL : 'D MMMM YYYY г., HH:mm',\n LLLL : 'dddd, D MMMM YYYY г., HH:mm'\n },\n calendar : {\n sameDay: '[Сёння ў] LT',\n nextDay: '[Заўтра ў] LT',\n lastDay: '[Учора ў] LT',\n nextWeek: function () {\n return '[У] dddd [ў] LT';\n },\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n case 3:\n case 5:\n case 6:\n return '[У мінулую] dddd [ў] LT';\n case 1:\n case 2:\n case 4:\n return '[У мінулы] dddd [ў] LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : 'праз %s',\n past : '%s таму',\n s : 'некалькі секунд',\n m : relativeTimeWithPlural,\n mm : relativeTimeWithPlural,\n h : relativeTimeWithPlural,\n hh : relativeTimeWithPlural,\n d : 'дзень',\n dd : relativeTimeWithPlural,\n M : 'месяц',\n MM : relativeTimeWithPlural,\n y : 'год',\n yy : relativeTimeWithPlural\n },\n meridiemParse: /ночы|раніцы|дня|вечара/,\n isPM : function (input) {\n return /^(дня|вечара)$/.test(input);\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ночы';\n } else if (hour < 12) {\n return 'раніцы';\n } else if (hour < 17) {\n return 'дня';\n } else {\n return 'вечара';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(і|ы|га)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'M':\n case 'd':\n case 'DDD':\n case 'w':\n case 'W':\n return (number % 10 === 2 || number % 10 === 3) && (number % 100 !== 12 && number % 100 !== 13) ? number + '-і' : number + '-ы';\n case 'D':\n return number + '-га';\n default:\n return number;\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return be;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var suffixes = {\n 1: '-inci',\n 5: '-inci',\n 8: '-inci',\n 70: '-inci',\n 80: '-inci',\n 2: '-nci',\n 7: '-nci',\n 20: '-nci',\n 50: '-nci',\n 3: '-üncü',\n 4: '-üncü',\n 100: '-üncü',\n 6: '-ncı',\n 9: '-uncu',\n 10: '-uncu',\n 30: '-uncu',\n 60: '-ıncı',\n 90: '-ıncı'\n };\n\n var az = moment.defineLocale('az', {\n months : 'yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr'.split('_'),\n monthsShort : 'yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek'.split('_'),\n weekdays : 'Bazar_Bazar ertəsi_Çərşənbə axşamı_Çərşənbə_Cümə axşamı_Cümə_Şənbə'.split('_'),\n weekdaysShort : 'Baz_BzE_ÇAx_Çər_CAx_Cüm_Şən'.split('_'),\n weekdaysMin : 'Bz_BE_ÇA_Çə_CA_Cü_Şə'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[bugün saat] LT',\n nextDay : '[sabah saat] LT',\n nextWeek : '[gələn həftə] dddd [saat] LT',\n lastDay : '[dünən] LT',\n lastWeek : '[keçən həftə] dddd [saat] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s sonra',\n past : '%s əvvəl',\n s : 'birneçə saniyə',\n ss : '%d saniyə',\n m : 'bir dəqiqə',\n mm : '%d dəqiqə',\n h : 'bir saat',\n hh : '%d saat',\n d : 'bir gün',\n dd : '%d gün',\n M : 'bir ay',\n MM : '%d ay',\n y : 'bir il',\n yy : '%d il'\n },\n meridiemParse: /gecə|səhər|gündüz|axşam/,\n isPM : function (input) {\n return /^(gündüz|axşam)$/.test(input);\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'gecə';\n } else if (hour < 12) {\n return 'səhər';\n } else if (hour < 17) {\n return 'gündüz';\n } else {\n return 'axşam';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ıncı|inci|nci|üncü|ncı|uncu)/,\n ordinal : function (number) {\n if (number === 0) { // special case for zero\n return number + '-ıncı';\n }\n var a = number % 10,\n b = number % 100 - a,\n c = number >= 100 ? 100 : null;\n return number + (suffixes[a] || suffixes[b] || suffixes[c]);\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return az;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var arTn = moment.defineLocale('ar-tn', {\n months: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),\n monthsShort: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact : true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'في %s',\n past: 'منذ %s',\n s: 'ثوان',\n ss : '%d ثانية',\n m: 'دقيقة',\n mm: '%d دقائق',\n h: 'ساعة',\n hh: '%d ساعات',\n d: 'يوم',\n dd: '%d أيام',\n M: 'شهر',\n MM: '%d أشهر',\n y: 'سنة',\n yy: '%d سنوات'\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return arTn;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '١',\n '2': '٢',\n '3': '٣',\n '4': '٤',\n '5': '٥',\n '6': '٦',\n '7': '٧',\n '8': '٨',\n '9': '٩',\n '0': '٠'\n }, numberMap = {\n '١': '1',\n '٢': '2',\n '٣': '3',\n '٤': '4',\n '٥': '5',\n '٦': '6',\n '٧': '7',\n '٨': '8',\n '٩': '9',\n '٠': '0'\n };\n\n var arSa = moment.defineLocale('ar-sa', {\n months : 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),\n monthsShort : 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),\n weekdays : 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort : 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n meridiemParse: /ص|م/,\n isPM : function (input) {\n return 'م' === input;\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ص';\n } else {\n return 'م';\n }\n },\n calendar : {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'في %s',\n past : 'منذ %s',\n s : 'ثوان',\n ss : '%d ثانية',\n m : 'دقيقة',\n mm : '%d دقائق',\n h : 'ساعة',\n hh : '%d ساعات',\n d : 'يوم',\n dd : '%d أيام',\n M : 'شهر',\n MM : '%d أشهر',\n y : 'سنة',\n yy : '%d سنوات'\n },\n preparse: function (string) {\n return string.replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\n return numberMap[match];\n }).replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n }).replace(/,/g, '،');\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return arSa;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var arMa = moment.defineLocale('ar-ma', {\n months : 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),\n monthsShort : 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),\n weekdays : 'الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort : 'احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'في %s',\n past : 'منذ %s',\n s : 'ثوان',\n ss : '%d ثانية',\n m : 'دقيقة',\n mm : '%d دقائق',\n h : 'ساعة',\n hh : '%d ساعات',\n d : 'يوم',\n dd : '%d أيام',\n M : 'شهر',\n MM : '%d أشهر',\n y : 'سنة',\n yy : '%d سنوات'\n },\n week : {\n dow : 6, // Saturday is the first day of the week.\n doy : 12 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return arMa;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '1',\n '2': '2',\n '3': '3',\n '4': '4',\n '5': '5',\n '6': '6',\n '7': '7',\n '8': '8',\n '9': '9',\n '0': '0'\n }, pluralForm = function (n) {\n return n === 0 ? 0 : n === 1 ? 1 : n === 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5;\n }, plurals = {\n s : ['أقل من ثانية', 'ثانية واحدة', ['ثانيتان', 'ثانيتين'], '%d ثوان', '%d ثانية', '%d ثانية'],\n m : ['أقل من دقيقة', 'دقيقة واحدة', ['دقيقتان', 'دقيقتين'], '%d دقائق', '%d دقيقة', '%d دقيقة'],\n h : ['أقل من ساعة', 'ساعة واحدة', ['ساعتان', 'ساعتين'], '%d ساعات', '%d ساعة', '%d ساعة'],\n d : ['أقل من يوم', 'يوم واحد', ['يومان', 'يومين'], '%d أيام', '%d يومًا', '%d يوم'],\n M : ['أقل من شهر', 'شهر واحد', ['شهران', 'شهرين'], '%d أشهر', '%d شهرا', '%d شهر'],\n y : ['أقل من عام', 'عام واحد', ['عامان', 'عامين'], '%d أعوام', '%d عامًا', '%d عام']\n }, pluralize = function (u) {\n return function (number, withoutSuffix, string, isFuture) {\n var f = pluralForm(number),\n str = plurals[u][pluralForm(number)];\n if (f === 2) {\n str = str[withoutSuffix ? 0 : 1];\n }\n return str.replace(/%d/i, number);\n };\n }, months = [\n 'يناير',\n 'فبراير',\n 'مارس',\n 'أبريل',\n 'مايو',\n 'يونيو',\n 'يوليو',\n 'أغسطس',\n 'سبتمبر',\n 'أكتوبر',\n 'نوفمبر',\n 'ديسمبر'\n ];\n\n var arLy = moment.defineLocale('ar-ly', {\n months : months,\n monthsShort : months,\n weekdays : 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort : 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'D/\\u200FM/\\u200FYYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n meridiemParse: /ص|م/,\n isPM : function (input) {\n return 'م' === input;\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ص';\n } else {\n return 'م';\n }\n },\n calendar : {\n sameDay: '[اليوم عند الساعة] LT',\n nextDay: '[غدًا عند الساعة] LT',\n nextWeek: 'dddd [عند الساعة] LT',\n lastDay: '[أمس عند الساعة] LT',\n lastWeek: 'dddd [عند الساعة] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'بعد %s',\n past : 'منذ %s',\n s : pluralize('s'),\n ss : pluralize('s'),\n m : pluralize('m'),\n mm : pluralize('m'),\n h : pluralize('h'),\n hh : pluralize('h'),\n d : pluralize('d'),\n dd : pluralize('d'),\n M : pluralize('M'),\n MM : pluralize('M'),\n y : pluralize('y'),\n yy : pluralize('y')\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n }).replace(/,/g, '،');\n },\n week : {\n dow : 6, // Saturday is the first day of the week.\n doy : 12 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return arLy;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var arKw = moment.defineLocale('ar-kw', {\n months : 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),\n monthsShort : 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),\n weekdays : 'الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort : 'احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'في %s',\n past : 'منذ %s',\n s : 'ثوان',\n ss : '%d ثانية',\n m : 'دقيقة',\n mm : '%d دقائق',\n h : 'ساعة',\n hh : '%d ساعات',\n d : 'يوم',\n dd : '%d أيام',\n M : 'شهر',\n MM : '%d أشهر',\n y : 'سنة',\n yy : '%d سنوات'\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 12 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return arKw;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var arDz = moment.defineLocale('ar-dz', {\n months : 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),\n monthsShort : 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),\n weekdays : 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort : 'احد_اثنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin : 'أح_إث_ثلا_أر_خم_جم_سب'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'في %s',\n past : 'منذ %s',\n s : 'ثوان',\n ss : '%d ثانية',\n m : 'دقيقة',\n mm : '%d دقائق',\n h : 'ساعة',\n hh : '%d ساعات',\n d : 'يوم',\n dd : '%d أيام',\n M : 'شهر',\n MM : '%d أشهر',\n y : 'سنة',\n yy : '%d سنوات'\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 4 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return arDz;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '١',\n '2': '٢',\n '3': '٣',\n '4': '٤',\n '5': '٥',\n '6': '٦',\n '7': '٧',\n '8': '٨',\n '9': '٩',\n '0': '٠'\n }, numberMap = {\n '١': '1',\n '٢': '2',\n '٣': '3',\n '٤': '4',\n '٥': '5',\n '٦': '6',\n '٧': '7',\n '٨': '8',\n '٩': '9',\n '٠': '0'\n }, pluralForm = function (n) {\n return n === 0 ? 0 : n === 1 ? 1 : n === 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5;\n }, plurals = {\n s : ['أقل من ثانية', 'ثانية واحدة', ['ثانيتان', 'ثانيتين'], '%d ثوان', '%d ثانية', '%d ثانية'],\n m : ['أقل من دقيقة', 'دقيقة واحدة', ['دقيقتان', 'دقيقتين'], '%d دقائق', '%d دقيقة', '%d دقيقة'],\n h : ['أقل من ساعة', 'ساعة واحدة', ['ساعتان', 'ساعتين'], '%d ساعات', '%d ساعة', '%d ساعة'],\n d : ['أقل من يوم', 'يوم واحد', ['يومان', 'يومين'], '%d أيام', '%d يومًا', '%d يوم'],\n M : ['أقل من شهر', 'شهر واحد', ['شهران', 'شهرين'], '%d أشهر', '%d شهرا', '%d شهر'],\n y : ['أقل من عام', 'عام واحد', ['عامان', 'عامين'], '%d أعوام', '%d عامًا', '%d عام']\n }, pluralize = function (u) {\n return function (number, withoutSuffix, string, isFuture) {\n var f = pluralForm(number),\n str = plurals[u][pluralForm(number)];\n if (f === 2) {\n str = str[withoutSuffix ? 0 : 1];\n }\n return str.replace(/%d/i, number);\n };\n }, months = [\n 'يناير',\n 'فبراير',\n 'مارس',\n 'أبريل',\n 'مايو',\n 'يونيو',\n 'يوليو',\n 'أغسطس',\n 'سبتمبر',\n 'أكتوبر',\n 'نوفمبر',\n 'ديسمبر'\n ];\n\n var ar = moment.defineLocale('ar', {\n months : months,\n monthsShort : months,\n weekdays : 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort : 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'D/\\u200FM/\\u200FYYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n meridiemParse: /ص|م/,\n isPM : function (input) {\n return 'م' === input;\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ص';\n } else {\n return 'م';\n }\n },\n calendar : {\n sameDay: '[اليوم عند الساعة] LT',\n nextDay: '[غدًا عند الساعة] LT',\n nextWeek: 'dddd [عند الساعة] LT',\n lastDay: '[أمس عند الساعة] LT',\n lastWeek: 'dddd [عند الساعة] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'بعد %s',\n past : 'منذ %s',\n s : pluralize('s'),\n ss : pluralize('s'),\n m : pluralize('m'),\n mm : pluralize('m'),\n h : pluralize('h'),\n hh : pluralize('h'),\n d : pluralize('d'),\n dd : pluralize('d'),\n M : pluralize('M'),\n MM : pluralize('M'),\n y : pluralize('y'),\n yy : pluralize('y')\n },\n preparse: function (string) {\n return string.replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\n return numberMap[match];\n }).replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n }).replace(/,/g, '،');\n },\n week : {\n dow : 6, // Saturday is the first day of the week.\n doy : 12 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return ar;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var af = moment.defineLocale('af', {\n months : 'Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember'.split('_'),\n monthsShort : 'Jan_Feb_Mrt_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des'.split('_'),\n weekdays : 'Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag'.split('_'),\n weekdaysShort : 'Son_Maa_Din_Woe_Don_Vry_Sat'.split('_'),\n weekdaysMin : 'So_Ma_Di_Wo_Do_Vr_Sa'.split('_'),\n meridiemParse: /vm|nm/i,\n isPM : function (input) {\n return /^nm$/i.test(input);\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours < 12) {\n return isLower ? 'vm' : 'VM';\n } else {\n return isLower ? 'nm' : 'NM';\n }\n },\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Vandag om] LT',\n nextDay : '[Môre om] LT',\n nextWeek : 'dddd [om] LT',\n lastDay : '[Gister om] LT',\n lastWeek : '[Laas] dddd [om] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'oor %s',\n past : '%s gelede',\n s : '\\'n paar sekondes',\n ss : '%d sekondes',\n m : '\\'n minuut',\n mm : '%d minute',\n h : '\\'n uur',\n hh : '%d ure',\n d : '\\'n dag',\n dd : '%d dae',\n M : '\\'n maand',\n MM : '%d maande',\n y : '\\'n jaar',\n yy : '%d jaar'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n ordinal : function (number) {\n return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de'); // Thanks to Joris Röling : https://github.com/jjupiter\n },\n week : {\n dow : 1, // Maandag is die eerste dag van die week.\n doy : 4 // Die week wat die 4de Januarie bevat is die eerste week van die jaar.\n }\n });\n\n return af;\n\n})));\n","import { each } from './each';\n\nexport function extendDeep(target) {\n for (var i = 1; i < arguments.length; i++) {\n each(arguments[i], function(prop, key){\n if (( typeof target[key] !== 'undefined' && typeof prop !== 'undefined' ) &&\n ( typeof target[key] === 'object' && typeof prop === 'object' ) &&\n ( target[key] !== null && prop !== null )) {\n extendDeep(target[key], prop);\n }\n else {\n target[key] = prop;\n }\n });\n }\n return target;\n}\n","module.exports = __WEBPACK_EXTERNAL_MODULE__132__;","module.exports = __WEBPACK_EXTERNAL_MODULE__133__;","import { each } from '../../utils/each';\nimport { extend } from '../../utils/extend';\n\nfunction average(arr, start, end){\n var set = arr.slice(start||0, (end ? end+1 : arr.length)),\n sum = 0,\n avg = null;\n\n // Add numeric values\n each(set, function(val, i){\n if (typeof val === 'number' && !isNaN(parseFloat(val))) {\n sum += parseFloat(val);\n }\n });\n return sum / set.length;\n}\n\nfunction maximum(arr, start, end){\n var set = arr.slice(start||0, (end ? end+1 : arr.length)),\n nums = [];\n\n // Pull numeric values\n each(set, function(val, i){\n if (typeof val === 'number' && !isNaN(parseFloat(val))) {\n nums.push(parseFloat(val));\n }\n });\n return Math.max.apply(Math, nums);\n}\n\nfunction minimum(arr, start, end){\n var set = arr.slice(start||0, (end ? end+1 : arr.length)),\n nums = [];\n\n // Pull numeric values\n each(set, function(val, i){\n if (typeof val === 'number' && !isNaN(parseFloat(val))) {\n nums.push(parseFloat(val));\n }\n });\n return Math.min.apply(Math, nums);\n}\n\nfunction sum(arr, start, end){\n // Copy set with given range\n var set = arr.slice(start||0, (end ? end+1 : arr.length)),\n sum = 0;\n\n // Add numeric values\n each(set, function(val, i){\n if (typeof val === 'number' && !isNaN(parseFloat(val))) {\n sum += parseFloat(val);\n }\n });\n return sum;\n}\n\nconst getColumnAverage = function (arr) {\n return average(arr, 1);\n};\nconst getRowAverage = getColumnAverage;\n\nconst getColumnSum = function (arr) {\n return sum(arr, 1);\n};\nconst getRowSum = getColumnSum;\n\nconst getColumnMaximum = function (arr) {\n return maximum(arr, 1);\n};\nconst getRowMaximum = getColumnMaximum;\n\nconst getColumnMinimum = function (arr) {\n return minimum(arr, 1);\n};\nconst getRowMinimum = getColumnMinimum;\n\nconst getColumnLabel = function (arr) {\n return arr[0];\n};\nconst getRowIndex = getColumnLabel;\n\nexport default {\n average,\n maximum,\n minimum,\n sum,\n getColumnAverage,\n getRowAverage,\n getColumnSum,\n getRowSum,\n getColumnMaximum,\n getRowMaximum,\n getColumnMinimum,\n getRowMinimum,\n getColumnLabel,\n getRowIndex,\n};\n","// Modifiers\nimport * as append from './modifiers/append';\nimport * as del from './modifiers/delete';\nimport * as filter from './modifiers/filter';\nimport * as insert from './modifiers/insert';\nimport * as select from './modifiers/select';\nimport * as sort from './modifiers/sort';\nimport * as update from './modifiers/update';\n\n// Utils\nimport analyses from './utils/analyses';\nimport { extend } from '../utils/extend';\nimport parsers from './utils/parsers';\n\nexport const Dataset = function (config = {}) {\n if (this instanceof Dataset === false) {\n return new Dataset(config);\n }\n\n this.matrix = [\n ['Index']\n ];\n this.meta = {\n type: undefined\n };\n this.config = config;\n}\n\nDataset.prototype.data = function (arr) {\n if (!arguments.length) return this.matrix;\n this.matrix = (arr instanceof Array ? arr : null);\n return this;\n};\n\nDataset.prototype.set = function (coords, value) {\n if (arguments.length < 2 || coords.length < 2) {\n throw Error('Incorrect arguments provided for #set method');\n }\n\n var colIndex = 'number' === typeof coords[0] ? coords[0] : this.matrix[0].indexOf(coords[0]),\n rowIndex = 'number' === typeof coords[1] ? coords[1] : select.selectColumn.call(this, 0).indexOf(coords[1]);\n\n var colResult = select.selectColumn.call(this, coords[0]),\n rowResult = select.selectRow.call(this, coords[1]);\n\n // Column doesn't exist, create and reset colIndex\n if (colResult.length < 1) {\n append.appendColumn.call(this, String(coords[0]));\n colIndex = this.matrix[0].length - 1;\n }\n\n // Row doesn't exist, create and reset rowIndex\n if (rowResult.length < 1) {\n append.appendRow.call(this, String(coords[1]));\n rowIndex = this.matrix.length - 1;\n }\n\n // Set provided value\n this.matrix[ rowIndex ][ colIndex ] = value;\n return this;\n};\n\nDataset.prototype.type = function(str){\n if (!arguments.length) return this.meta['type'];\n this.meta['type'] = (str ? String(str) : undefined);\n return this;\n};\n\nextend(Dataset.prototype, append);\nextend(Dataset.prototype, del);\nextend(Dataset.prototype, filter);\nextend(Dataset.prototype, insert);\nextend(Dataset.prototype, select);\nextend(Dataset.prototype, sort);\nextend(Dataset.prototype, update);\nextend(Dataset.prototype, analyses);\nDataset.parser = parsers(Dataset);\n\nexport default Dataset;\n","export default function(callback) {\n var constructor = this.constructor;\n return this.then(\n function(value) {\n return constructor.resolve(callback()).then(function() {\n return value;\n });\n },\n function(reason) {\n return constructor.resolve(callback()).then(function() {\n return constructor.reject(reason);\n });\n }\n );\n}\n","import promiseFinally from './finally';\n\n// Store setTimeout reference so promise-polyfill will be unaffected by\n// other code modifying setTimeout (like sinon.useFakeTimers())\nvar setTimeoutFunc = setTimeout;\n\nfunction noop() {}\n\n// Polyfill for Function.prototype.bind\nfunction bind(fn, thisArg) {\n return function() {\n fn.apply(thisArg, arguments);\n };\n}\n\nfunction Promise(fn) {\n if (!(this instanceof Promise))\n throw new TypeError('Promises must be constructed via new');\n if (typeof fn !== 'function') throw new TypeError('not a function');\n this._state = 0;\n this._handled = false;\n this._value = undefined;\n this._deferreds = [];\n\n doResolve(fn, this);\n}\n\nfunction handle(self, deferred) {\n while (self._state === 3) {\n self = self._value;\n }\n if (self._state === 0) {\n self._deferreds.push(deferred);\n return;\n }\n self._handled = true;\n Promise._immediateFn(function() {\n var cb = self._state === 1 ? deferred.onFulfilled : deferred.onRejected;\n if (cb === null) {\n (self._state === 1 ? resolve : reject)(deferred.promise, self._value);\n return;\n }\n var ret;\n try {\n ret = cb(self._value);\n } catch (e) {\n reject(deferred.promise, e);\n return;\n }\n resolve(deferred.promise, ret);\n });\n}\n\nfunction resolve(self, newValue) {\n try {\n // Promise Resolution Procedure: https://github.com/promises-aplus/promises-spec#the-promise-resolution-procedure\n if (newValue === self)\n throw new TypeError('A promise cannot be resolved with itself.');\n if (\n newValue &&\n (typeof newValue === 'object' || typeof newValue === 'function')\n ) {\n var then = newValue.then;\n if (newValue instanceof Promise) {\n self._state = 3;\n self._value = newValue;\n finale(self);\n return;\n } else if (typeof then === 'function') {\n doResolve(bind(then, newValue), self);\n return;\n }\n }\n self._state = 1;\n self._value = newValue;\n finale(self);\n } catch (e) {\n reject(self, e);\n }\n}\n\nfunction reject(self, newValue) {\n self._state = 2;\n self._value = newValue;\n finale(self);\n}\n\nfunction finale(self) {\n if (self._state === 2 && self._deferreds.length === 0) {\n Promise._immediateFn(function() {\n if (!self._handled) {\n Promise._unhandledRejectionFn(self._value);\n }\n });\n }\n\n for (var i = 0, len = self._deferreds.length; i < len; i++) {\n handle(self, self._deferreds[i]);\n }\n self._deferreds = null;\n}\n\nfunction Handler(onFulfilled, onRejected, promise) {\n this.onFulfilled = typeof onFulfilled === 'function' ? onFulfilled : null;\n this.onRejected = typeof onRejected === 'function' ? onRejected : null;\n this.promise = promise;\n}\n\n/**\n * Take a potentially misbehaving resolver function and make sure\n * onFulfilled and onRejected are only called once.\n *\n * Makes no guarantees about asynchrony.\n */\nfunction doResolve(fn, self) {\n var done = false;\n try {\n fn(\n function(value) {\n if (done) return;\n done = true;\n resolve(self, value);\n },\n function(reason) {\n if (done) return;\n done = true;\n reject(self, reason);\n }\n );\n } catch (ex) {\n if (done) return;\n done = true;\n reject(self, ex);\n }\n}\n\nPromise.prototype['catch'] = function(onRejected) {\n return this.then(null, onRejected);\n};\n\nPromise.prototype.then = function(onFulfilled, onRejected) {\n var prom = new this.constructor(noop);\n\n handle(this, new Handler(onFulfilled, onRejected, prom));\n return prom;\n};\n\nPromise.prototype['finally'] = promiseFinally;\n\nPromise.all = function(arr) {\n return new Promise(function(resolve, reject) {\n if (!arr || typeof arr.length === 'undefined')\n throw new TypeError('Promise.all accepts an array');\n var args = Array.prototype.slice.call(arr);\n if (args.length === 0) return resolve([]);\n var remaining = args.length;\n\n function res(i, val) {\n try {\n if (val && (typeof val === 'object' || typeof val === 'function')) {\n var then = val.then;\n if (typeof then === 'function') {\n then.call(\n val,\n function(val) {\n res(i, val);\n },\n reject\n );\n return;\n }\n }\n args[i] = val;\n if (--remaining === 0) {\n resolve(args);\n }\n } catch (ex) {\n reject(ex);\n }\n }\n\n for (var i = 0; i < args.length; i++) {\n res(i, args[i]);\n }\n });\n};\n\nPromise.resolve = function(value) {\n if (value && typeof value === 'object' && value.constructor === Promise) {\n return value;\n }\n\n return new Promise(function(resolve) {\n resolve(value);\n });\n};\n\nPromise.reject = function(value) {\n return new Promise(function(resolve, reject) {\n reject(value);\n });\n};\n\nPromise.race = function(values) {\n return new Promise(function(resolve, reject) {\n for (var i = 0, len = values.length; i < len; i++) {\n values[i].then(resolve, reject);\n }\n });\n};\n\n// Use polyfill for setImmediate for performance gains\nPromise._immediateFn =\n (typeof setImmediate === 'function' &&\n function(fn) {\n setImmediate(fn);\n }) ||\n function(fn) {\n setTimeoutFunc(fn, 0);\n };\n\nPromise._unhandledRejectionFn = function _unhandledRejectionFn(err) {\n if (typeof console !== 'undefined' && console) {\n console.warn('Possible Unhandled Promise Rejection:', err); // eslint-disable-line no-console\n }\n};\n\nexport default Promise;\n","import Promise from './index';\nimport promiseFinally from './finally';\n\nvar globalNS = (function() {\n // the only reliable means to get the global object is\n // `Function('return this')()`\n // However, this causes CSP violations in Chrome apps.\n if (typeof self !== 'undefined') {\n return self;\n }\n if (typeof window !== 'undefined') {\n return window;\n }\n if (typeof global !== 'undefined') {\n return global;\n }\n throw new Error('unable to locate global object');\n})();\n\nif (!globalNS.Promise) {\n globalNS.Promise = Promise;\n} else if (!globalNS.Promise.prototype['finally']) {\n globalNS.Promise.prototype['finally'] = promiseFinally;\n}\n","export default {\n render: function(){\n let html = '';\n const artifacts = this.view._artifacts.spinner = {};\n\n // Build DOM element\n html += '
';\n html += '
';\n html += '
';\n html += '
';\n html += '
';\n this.el().innerHTML = html;\n },\n update: function(){\n // no special update handling\n this.render();\n },\n destroy: function(){\n if (this.view._artifacts.spinner) {\n if (this.view._artifacts.spinner.interval) {\n clearInterval(this.view._artifacts.spinner.interval);\n }\n this.view._artifacts.spinner.radius = 0;\n try {\n delete this.view._artifacts.spinner;\n }\n catch (e) {\n this.view._artifacts.spinner = undefined;\n }\n }\n this.el().innerHTML = '';\n }\n};\n","var map = {\n\t\"./af\": 130,\n\t\"./af.js\": 130,\n\t\"./ar\": 129,\n\t\"./ar-dz\": 128,\n\t\"./ar-dz.js\": 128,\n\t\"./ar-kw\": 127,\n\t\"./ar-kw.js\": 127,\n\t\"./ar-ly\": 126,\n\t\"./ar-ly.js\": 126,\n\t\"./ar-ma\": 125,\n\t\"./ar-ma.js\": 125,\n\t\"./ar-sa\": 124,\n\t\"./ar-sa.js\": 124,\n\t\"./ar-tn\": 123,\n\t\"./ar-tn.js\": 123,\n\t\"./ar.js\": 129,\n\t\"./az\": 122,\n\t\"./az.js\": 122,\n\t\"./be\": 121,\n\t\"./be.js\": 121,\n\t\"./bg\": 120,\n\t\"./bg.js\": 120,\n\t\"./bm\": 119,\n\t\"./bm.js\": 119,\n\t\"./bn\": 118,\n\t\"./bn.js\": 118,\n\t\"./bo\": 117,\n\t\"./bo.js\": 117,\n\t\"./br\": 116,\n\t\"./br.js\": 116,\n\t\"./bs\": 115,\n\t\"./bs.js\": 115,\n\t\"./ca\": 114,\n\t\"./ca.js\": 114,\n\t\"./cs\": 113,\n\t\"./cs.js\": 113,\n\t\"./cv\": 112,\n\t\"./cv.js\": 112,\n\t\"./cy\": 111,\n\t\"./cy.js\": 111,\n\t\"./da\": 110,\n\t\"./da.js\": 110,\n\t\"./de\": 109,\n\t\"./de-at\": 108,\n\t\"./de-at.js\": 108,\n\t\"./de-ch\": 107,\n\t\"./de-ch.js\": 107,\n\t\"./de.js\": 109,\n\t\"./dv\": 106,\n\t\"./dv.js\": 106,\n\t\"./el\": 105,\n\t\"./el.js\": 105,\n\t\"./en-au\": 104,\n\t\"./en-au.js\": 104,\n\t\"./en-ca\": 103,\n\t\"./en-ca.js\": 103,\n\t\"./en-gb\": 102,\n\t\"./en-gb.js\": 102,\n\t\"./en-ie\": 101,\n\t\"./en-ie.js\": 101,\n\t\"./en-il\": 100,\n\t\"./en-il.js\": 100,\n\t\"./en-nz\": 99,\n\t\"./en-nz.js\": 99,\n\t\"./eo\": 98,\n\t\"./eo.js\": 98,\n\t\"./es\": 97,\n\t\"./es-do\": 96,\n\t\"./es-do.js\": 96,\n\t\"./es-us\": 95,\n\t\"./es-us.js\": 95,\n\t\"./es.js\": 97,\n\t\"./et\": 94,\n\t\"./et.js\": 94,\n\t\"./eu\": 93,\n\t\"./eu.js\": 93,\n\t\"./fa\": 92,\n\t\"./fa.js\": 92,\n\t\"./fi\": 91,\n\t\"./fi.js\": 91,\n\t\"./fo\": 90,\n\t\"./fo.js\": 90,\n\t\"./fr\": 89,\n\t\"./fr-ca\": 88,\n\t\"./fr-ca.js\": 88,\n\t\"./fr-ch\": 87,\n\t\"./fr-ch.js\": 87,\n\t\"./fr.js\": 89,\n\t\"./fy\": 86,\n\t\"./fy.js\": 86,\n\t\"./gd\": 85,\n\t\"./gd.js\": 85,\n\t\"./gl\": 84,\n\t\"./gl.js\": 84,\n\t\"./gom-latn\": 83,\n\t\"./gom-latn.js\": 83,\n\t\"./gu\": 82,\n\t\"./gu.js\": 82,\n\t\"./he\": 81,\n\t\"./he.js\": 81,\n\t\"./hi\": 80,\n\t\"./hi.js\": 80,\n\t\"./hr\": 79,\n\t\"./hr.js\": 79,\n\t\"./hu\": 78,\n\t\"./hu.js\": 78,\n\t\"./hy-am\": 77,\n\t\"./hy-am.js\": 77,\n\t\"./id\": 76,\n\t\"./id.js\": 76,\n\t\"./is\": 75,\n\t\"./is.js\": 75,\n\t\"./it\": 74,\n\t\"./it.js\": 74,\n\t\"./ja\": 73,\n\t\"./ja.js\": 73,\n\t\"./jv\": 72,\n\t\"./jv.js\": 72,\n\t\"./ka\": 71,\n\t\"./ka.js\": 71,\n\t\"./kk\": 70,\n\t\"./kk.js\": 70,\n\t\"./km\": 69,\n\t\"./km.js\": 69,\n\t\"./kn\": 68,\n\t\"./kn.js\": 68,\n\t\"./ko\": 67,\n\t\"./ko.js\": 67,\n\t\"./ky\": 66,\n\t\"./ky.js\": 66,\n\t\"./lb\": 65,\n\t\"./lb.js\": 65,\n\t\"./lo\": 64,\n\t\"./lo.js\": 64,\n\t\"./lt\": 63,\n\t\"./lt.js\": 63,\n\t\"./lv\": 62,\n\t\"./lv.js\": 62,\n\t\"./me\": 61,\n\t\"./me.js\": 61,\n\t\"./mi\": 60,\n\t\"./mi.js\": 60,\n\t\"./mk\": 59,\n\t\"./mk.js\": 59,\n\t\"./ml\": 58,\n\t\"./ml.js\": 58,\n\t\"./mn\": 57,\n\t\"./mn.js\": 57,\n\t\"./mr\": 56,\n\t\"./mr.js\": 56,\n\t\"./ms\": 55,\n\t\"./ms-my\": 54,\n\t\"./ms-my.js\": 54,\n\t\"./ms.js\": 55,\n\t\"./mt\": 53,\n\t\"./mt.js\": 53,\n\t\"./my\": 52,\n\t\"./my.js\": 52,\n\t\"./nb\": 51,\n\t\"./nb.js\": 51,\n\t\"./ne\": 50,\n\t\"./ne.js\": 50,\n\t\"./nl\": 49,\n\t\"./nl-be\": 48,\n\t\"./nl-be.js\": 48,\n\t\"./nl.js\": 49,\n\t\"./nn\": 47,\n\t\"./nn.js\": 47,\n\t\"./pa-in\": 46,\n\t\"./pa-in.js\": 46,\n\t\"./pl\": 45,\n\t\"./pl.js\": 45,\n\t\"./pt\": 44,\n\t\"./pt-br\": 43,\n\t\"./pt-br.js\": 43,\n\t\"./pt.js\": 44,\n\t\"./ro\": 42,\n\t\"./ro.js\": 42,\n\t\"./ru\": 41,\n\t\"./ru.js\": 41,\n\t\"./sd\": 40,\n\t\"./sd.js\": 40,\n\t\"./se\": 39,\n\t\"./se.js\": 39,\n\t\"./si\": 38,\n\t\"./si.js\": 38,\n\t\"./sk\": 37,\n\t\"./sk.js\": 37,\n\t\"./sl\": 36,\n\t\"./sl.js\": 36,\n\t\"./sq\": 35,\n\t\"./sq.js\": 35,\n\t\"./sr\": 34,\n\t\"./sr-cyrl\": 33,\n\t\"./sr-cyrl.js\": 33,\n\t\"./sr.js\": 34,\n\t\"./ss\": 32,\n\t\"./ss.js\": 32,\n\t\"./sv\": 31,\n\t\"./sv.js\": 31,\n\t\"./sw\": 30,\n\t\"./sw.js\": 30,\n\t\"./ta\": 29,\n\t\"./ta.js\": 29,\n\t\"./te\": 28,\n\t\"./te.js\": 28,\n\t\"./tet\": 27,\n\t\"./tet.js\": 27,\n\t\"./tg\": 26,\n\t\"./tg.js\": 26,\n\t\"./th\": 25,\n\t\"./th.js\": 25,\n\t\"./tl-ph\": 24,\n\t\"./tl-ph.js\": 24,\n\t\"./tlh\": 23,\n\t\"./tlh.js\": 23,\n\t\"./tr\": 22,\n\t\"./tr.js\": 22,\n\t\"./tzl\": 21,\n\t\"./tzl.js\": 21,\n\t\"./tzm\": 20,\n\t\"./tzm-latn\": 19,\n\t\"./tzm-latn.js\": 19,\n\t\"./tzm.js\": 20,\n\t\"./ug-cn\": 18,\n\t\"./ug-cn.js\": 18,\n\t\"./uk\": 17,\n\t\"./uk.js\": 17,\n\t\"./ur\": 16,\n\t\"./ur.js\": 16,\n\t\"./uz\": 15,\n\t\"./uz-latn\": 14,\n\t\"./uz-latn.js\": 14,\n\t\"./uz.js\": 15,\n\t\"./vi\": 13,\n\t\"./vi.js\": 13,\n\t\"./x-pseudo\": 12,\n\t\"./x-pseudo.js\": 12,\n\t\"./yo\": 11,\n\t\"./yo.js\": 11,\n\t\"./zh-cn\": 10,\n\t\"./zh-cn.js\": 10,\n\t\"./zh-hk\": 9,\n\t\"./zh-hk.js\": 9,\n\t\"./zh-tw\": 8,\n\t\"./zh-tw.js\": 8\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\tvar module = __webpack_require__(id);\n\treturn module;\n}\nfunction webpackContextResolve(req) {\n\tvar id = map[req];\n\tif(!(id + 1)) { // check for number or string\n\t\tvar e = new Error('Cannot find module \"' + req + '\".');\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn id;\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 139;","module.exports = function(module) {\r\n\tif (!module.webpackPolyfill) {\r\n\t\tmodule.deprecate = function() {};\r\n\t\tmodule.paths = [];\r\n\t\t// module.parent = undefined by default\r\n\t\tif (!module.children) module.children = [];\r\n\t\tObject.defineProperty(module, \"loaded\", {\r\n\t\t\tenumerable: true,\r\n\t\t\tget: function() {\r\n\t\t\t\treturn module.l;\r\n\t\t\t}\r\n\t\t});\r\n\t\tObject.defineProperty(module, \"id\", {\r\n\t\t\tenumerable: true,\r\n\t\t\tget: function() {\r\n\t\t\t\treturn module.i;\r\n\t\t\t}\r\n\t\t});\r\n\t\tmodule.webpackPolyfill = 1;\r\n\t}\r\n\treturn module;\r\n};\r\n","//! moment-timezone.js\n//! version : 0.5.21\n//! Copyright (c) JS Foundation and other contributors\n//! license : MIT\n//! github.com/moment/moment-timezone\n\n(function (root, factory) {\n\t\"use strict\";\n\n\t/*global define*/\n\tif (typeof module === 'object' && module.exports) {\n\t\tmodule.exports = factory(require('moment')); // Node\n\t} else if (typeof define === 'function' && define.amd) {\n\t\tdefine(['moment'], factory); // AMD\n\t} else {\n\t\tfactory(root.moment); // Browser\n\t}\n}(this, function (moment) {\n\t\"use strict\";\n\n\t// Do not load moment-timezone a second time.\n\t// if (moment.tz !== undefined) {\n\t// \tlogError('Moment Timezone ' + moment.tz.version + ' was already loaded ' + (moment.tz.dataVersion ? 'with data from ' : 'without any data') + moment.tz.dataVersion);\n\t// \treturn moment;\n\t// }\n\n\tvar VERSION = \"0.5.21\",\n\t\tzones = {},\n\t\tlinks = {},\n\t\tnames = {},\n\t\tguesses = {},\n\t\tcachedGuess;\n\n\tif (!moment || typeof moment.version !== 'string') {\n\t\tlogError('Moment Timezone requires Moment.js. See https://momentjs.com/timezone/docs/#/use-it/browser/');\n\t}\n\n\tvar momentVersion = moment.version.split('.'),\n\t\tmajor = +momentVersion[0],\n\t\tminor = +momentVersion[1];\n\n\t// Moment.js version check\n\tif (major < 2 || (major === 2 && minor < 6)) {\n\t\tlogError('Moment Timezone requires Moment.js >= 2.6.0. You are using Moment.js ' + moment.version + '. See momentjs.com');\n\t}\n\n\t/************************************\n\t\tUnpacking\n\t************************************/\n\n\tfunction charCodeToInt(charCode) {\n\t\tif (charCode > 96) {\n\t\t\treturn charCode - 87;\n\t\t} else if (charCode > 64) {\n\t\t\treturn charCode - 29;\n\t\t}\n\t\treturn charCode - 48;\n\t}\n\n\tfunction unpackBase60(string) {\n\t\tvar i = 0,\n\t\t\tparts = string.split('.'),\n\t\t\twhole = parts[0],\n\t\t\tfractional = parts[1] || '',\n\t\t\tmultiplier = 1,\n\t\t\tnum,\n\t\t\tout = 0,\n\t\t\tsign = 1;\n\n\t\t// handle negative numbers\n\t\tif (string.charCodeAt(0) === 45) {\n\t\t\ti = 1;\n\t\t\tsign = -1;\n\t\t}\n\n\t\t// handle digits before the decimal\n\t\tfor (i; i < whole.length; i++) {\n\t\t\tnum = charCodeToInt(whole.charCodeAt(i));\n\t\t\tout = 60 * out + num;\n\t\t}\n\n\t\t// handle digits after the decimal\n\t\tfor (i = 0; i < fractional.length; i++) {\n\t\t\tmultiplier = multiplier / 60;\n\t\t\tnum = charCodeToInt(fractional.charCodeAt(i));\n\t\t\tout += num * multiplier;\n\t\t}\n\n\t\treturn out * sign;\n\t}\n\n\tfunction arrayToInt (array) {\n\t\tfor (var i = 0; i < array.length; i++) {\n\t\t\tarray[i] = unpackBase60(array[i]);\n\t\t}\n\t}\n\n\tfunction intToUntil (array, length) {\n\t\tfor (var i = 0; i < length; i++) {\n\t\t\tarray[i] = Math.round((array[i - 1] || 0) + (array[i] * 60000)); // minutes to milliseconds\n\t\t}\n\n\t\tarray[length - 1] = Infinity;\n\t}\n\n\tfunction mapIndices (source, indices) {\n\t\tvar out = [], i;\n\n\t\tfor (i = 0; i < indices.length; i++) {\n\t\t\tout[i] = source[indices[i]];\n\t\t}\n\n\t\treturn out;\n\t}\n\n\tfunction unpack (string) {\n\t\tvar data = string.split('|'),\n\t\t\toffsets = data[2].split(' '),\n\t\t\tindices = data[3].split(''),\n\t\t\tuntils = data[4].split(' ');\n\n\t\tarrayToInt(offsets);\n\t\tarrayToInt(indices);\n\t\tarrayToInt(untils);\n\n\t\tintToUntil(untils, indices.length);\n\n\t\treturn {\n\t\t\tname : data[0],\n\t\t\tabbrs : mapIndices(data[1].split(' '), indices),\n\t\t\toffsets : mapIndices(offsets, indices),\n\t\t\tuntils : untils,\n\t\t\tpopulation : data[5] | 0\n\t\t};\n\t}\n\n\t/************************************\n\t\tZone object\n\t************************************/\n\n\tfunction Zone (packedString) {\n\t\tif (packedString) {\n\t\t\tthis._set(unpack(packedString));\n\t\t}\n\t}\n\n\tZone.prototype = {\n\t\t_set : function (unpacked) {\n\t\t\tthis.name = unpacked.name;\n\t\t\tthis.abbrs = unpacked.abbrs;\n\t\t\tthis.untils = unpacked.untils;\n\t\t\tthis.offsets = unpacked.offsets;\n\t\t\tthis.population = unpacked.population;\n\t\t},\n\n\t\t_index : function (timestamp) {\n\t\t\tvar target = +timestamp,\n\t\t\t\tuntils = this.untils,\n\t\t\t\ti;\n\n\t\t\tfor (i = 0; i < untils.length; i++) {\n\t\t\t\tif (target < untils[i]) {\n\t\t\t\t\treturn i;\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\tparse : function (timestamp) {\n\t\t\tvar target = +timestamp,\n\t\t\t\toffsets = this.offsets,\n\t\t\t\tuntils = this.untils,\n\t\t\t\tmax = untils.length - 1,\n\t\t\t\toffset, offsetNext, offsetPrev, i;\n\n\t\t\tfor (i = 0; i < max; i++) {\n\t\t\t\toffset = offsets[i];\n\t\t\t\toffsetNext = offsets[i + 1];\n\t\t\t\toffsetPrev = offsets[i ? i - 1 : i];\n\n\t\t\t\tif (offset < offsetNext && tz.moveAmbiguousForward) {\n\t\t\t\t\toffset = offsetNext;\n\t\t\t\t} else if (offset > offsetPrev && tz.moveInvalidForward) {\n\t\t\t\t\toffset = offsetPrev;\n\t\t\t\t}\n\n\t\t\t\tif (target < untils[i] - (offset * 60000)) {\n\t\t\t\t\treturn offsets[i];\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn offsets[max];\n\t\t},\n\n\t\tabbr : function (mom) {\n\t\t\treturn this.abbrs[this._index(mom)];\n\t\t},\n\n\t\toffset : function (mom) {\n\t\t\tlogError(\"zone.offset has been deprecated in favor of zone.utcOffset\");\n\t\t\treturn this.offsets[this._index(mom)];\n\t\t},\n\n\t\tutcOffset : function (mom) {\n\t\t\treturn this.offsets[this._index(mom)];\n\t\t}\n\t};\n\n\t/************************************\n\t\tCurrent Timezone\n\t************************************/\n\n\tfunction OffsetAt(at) {\n\t\tvar timeString = at.toTimeString();\n\t\tvar abbr = timeString.match(/\\([a-z ]+\\)/i);\n\t\tif (abbr && abbr[0]) {\n\t\t\t// 17:56:31 GMT-0600 (CST)\n\t\t\t// 17:56:31 GMT-0600 (Central Standard Time)\n\t\t\tabbr = abbr[0].match(/[A-Z]/g);\n\t\t\tabbr = abbr ? abbr.join('') : undefined;\n\t\t} else {\n\t\t\t// 17:56:31 CST\n\t\t\t// 17:56:31 GMT+0800 (台北標準時間)\n\t\t\tabbr = timeString.match(/[A-Z]{3,5}/g);\n\t\t\tabbr = abbr ? abbr[0] : undefined;\n\t\t}\n\n\t\tif (abbr === 'GMT') {\n\t\t\tabbr = undefined;\n\t\t}\n\n\t\tthis.at = +at;\n\t\tthis.abbr = abbr;\n\t\tthis.offset = at.getTimezoneOffset();\n\t}\n\n\tfunction ZoneScore(zone) {\n\t\tthis.zone = zone;\n\t\tthis.offsetScore = 0;\n\t\tthis.abbrScore = 0;\n\t}\n\n\tZoneScore.prototype.scoreOffsetAt = function (offsetAt) {\n\t\tthis.offsetScore += Math.abs(this.zone.utcOffset(offsetAt.at) - offsetAt.offset);\n\t\tif (this.zone.abbr(offsetAt.at).replace(/[^A-Z]/g, '') !== offsetAt.abbr) {\n\t\t\tthis.abbrScore++;\n\t\t}\n\t};\n\n\tfunction findChange(low, high) {\n\t\tvar mid, diff;\n\n\t\twhile ((diff = ((high.at - low.at) / 12e4 | 0) * 6e4)) {\n\t\t\tmid = new OffsetAt(new Date(low.at + diff));\n\t\t\tif (mid.offset === low.offset) {\n\t\t\t\tlow = mid;\n\t\t\t} else {\n\t\t\t\thigh = mid;\n\t\t\t}\n\t\t}\n\n\t\treturn low;\n\t}\n\n\tfunction userOffsets() {\n\t\tvar startYear = new Date().getFullYear() - 2,\n\t\t\tlast = new OffsetAt(new Date(startYear, 0, 1)),\n\t\t\toffsets = [last],\n\t\t\tchange, next, i;\n\n\t\tfor (i = 1; i < 48; i++) {\n\t\t\tnext = new OffsetAt(new Date(startYear, i, 1));\n\t\t\tif (next.offset !== last.offset) {\n\t\t\t\tchange = findChange(last, next);\n\t\t\t\toffsets.push(change);\n\t\t\t\toffsets.push(new OffsetAt(new Date(change.at + 6e4)));\n\t\t\t}\n\t\t\tlast = next;\n\t\t}\n\n\t\tfor (i = 0; i < 4; i++) {\n\t\t\toffsets.push(new OffsetAt(new Date(startYear + i, 0, 1)));\n\t\t\toffsets.push(new OffsetAt(new Date(startYear + i, 6, 1)));\n\t\t}\n\n\t\treturn offsets;\n\t}\n\n\tfunction sortZoneScores (a, b) {\n\t\tif (a.offsetScore !== b.offsetScore) {\n\t\t\treturn a.offsetScore - b.offsetScore;\n\t\t}\n\t\tif (a.abbrScore !== b.abbrScore) {\n\t\t\treturn a.abbrScore - b.abbrScore;\n\t\t}\n\t\treturn b.zone.population - a.zone.population;\n\t}\n\n\tfunction addToGuesses (name, offsets) {\n\t\tvar i, offset;\n\t\tarrayToInt(offsets);\n\t\tfor (i = 0; i < offsets.length; i++) {\n\t\t\toffset = offsets[i];\n\t\t\tguesses[offset] = guesses[offset] || {};\n\t\t\tguesses[offset][name] = true;\n\t\t}\n\t}\n\n\tfunction guessesForUserOffsets (offsets) {\n\t\tvar offsetsLength = offsets.length,\n\t\t\tfilteredGuesses = {},\n\t\t\tout = [],\n\t\t\ti, j, guessesOffset;\n\n\t\tfor (i = 0; i < offsetsLength; i++) {\n\t\t\tguessesOffset = guesses[offsets[i].offset] || {};\n\t\t\tfor (j in guessesOffset) {\n\t\t\t\tif (guessesOffset.hasOwnProperty(j)) {\n\t\t\t\t\tfilteredGuesses[j] = true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tfor (i in filteredGuesses) {\n\t\t\tif (filteredGuesses.hasOwnProperty(i)) {\n\t\t\t\tout.push(names[i]);\n\t\t\t}\n\t\t}\n\n\t\treturn out;\n\t}\n\n\tfunction rebuildGuess () {\n\n\t\t// use Intl API when available and returning valid time zone\n\t\ttry {\n\t\t\tvar intlName = Intl.DateTimeFormat().resolvedOptions().timeZone;\n\t\t\tif (intlName && intlName.length > 3) {\n\t\t\t\tvar name = names[normalizeName(intlName)];\n\t\t\t\tif (name) {\n\t\t\t\t\treturn name;\n\t\t\t\t}\n\t\t\t\tlogError(\"Moment Timezone found \" + intlName + \" from the Intl api, but did not have that data loaded.\");\n\t\t\t}\n\t\t} catch (e) {\n\t\t\t// Intl unavailable, fall back to manual guessing.\n\t\t}\n\n\t\tvar offsets = userOffsets(),\n\t\t\toffsetsLength = offsets.length,\n\t\t\tguesses = guessesForUserOffsets(offsets),\n\t\t\tzoneScores = [],\n\t\t\tzoneScore, i, j;\n\n\t\tfor (i = 0; i < guesses.length; i++) {\n\t\t\tzoneScore = new ZoneScore(getZone(guesses[i]), offsetsLength);\n\t\t\tfor (j = 0; j < offsetsLength; j++) {\n\t\t\t\tzoneScore.scoreOffsetAt(offsets[j]);\n\t\t\t}\n\t\t\tzoneScores.push(zoneScore);\n\t\t}\n\n\t\tzoneScores.sort(sortZoneScores);\n\n\t\treturn zoneScores.length > 0 ? zoneScores[0].zone.name : undefined;\n\t}\n\n\tfunction guess (ignoreCache) {\n\t\tif (!cachedGuess || ignoreCache) {\n\t\t\tcachedGuess = rebuildGuess();\n\t\t}\n\t\treturn cachedGuess;\n\t}\n\n\t/************************************\n\t\tGlobal Methods\n\t************************************/\n\n\tfunction normalizeName (name) {\n\t\treturn (name || '').toLowerCase().replace(/\\//g, '_');\n\t}\n\n\tfunction addZone (packed) {\n\t\tvar i, name, split, normalized;\n\n\t\tif (typeof packed === \"string\") {\n\t\t\tpacked = [packed];\n\t\t}\n\n\t\tfor (i = 0; i < packed.length; i++) {\n\t\t\tsplit = packed[i].split('|');\n\t\t\tname = split[0];\n\t\t\tnormalized = normalizeName(name);\n\t\t\tzones[normalized] = packed[i];\n\t\t\tnames[normalized] = name;\n\t\t\taddToGuesses(normalized, split[2].split(' '));\n\t\t}\n\t}\n\n\tfunction getZone (name, caller) {\n\t\t\n\t\tname = normalizeName(name);\n\n\t\tvar zone = zones[name];\n\t\tvar link;\n\n\t\tif (zone instanceof Zone) {\n\t\t\treturn zone;\n\t\t}\n\n\t\tif (typeof zone === 'string') {\n\t\t\tzone = new Zone(zone);\n\t\t\tzones[name] = zone;\n\t\t\treturn zone;\n\t\t}\n\n\t\t// Pass getZone to prevent recursion more than 1 level deep\n\t\tif (links[name] && caller !== getZone && (link = getZone(links[name], getZone))) {\n\t\t\tzone = zones[name] = new Zone();\n\t\t\tzone._set(link);\n\t\t\tzone.name = names[name];\n\t\t\treturn zone;\n\t\t}\n\n\t\treturn null;\n\t}\n\n\tfunction getNames () {\n\t\tvar i, out = [];\n\n\t\tfor (i in names) {\n\t\t\tif (names.hasOwnProperty(i) && (zones[i] || zones[links[i]]) && names[i]) {\n\t\t\t\tout.push(names[i]);\n\t\t\t}\n\t\t}\n\n\t\treturn out.sort();\n\t}\n\n\tfunction addLink (aliases) {\n\t\tvar i, alias, normal0, normal1;\n\n\t\tif (typeof aliases === \"string\") {\n\t\t\taliases = [aliases];\n\t\t}\n\n\t\tfor (i = 0; i < aliases.length; i++) {\n\t\t\talias = aliases[i].split('|');\n\n\t\t\tnormal0 = normalizeName(alias[0]);\n\t\t\tnormal1 = normalizeName(alias[1]);\n\n\t\t\tlinks[normal0] = normal1;\n\t\t\tnames[normal0] = alias[0];\n\n\t\t\tlinks[normal1] = normal0;\n\t\t\tnames[normal1] = alias[1];\n\t\t}\n\t}\n\n\tfunction loadData (data) {\n\t\taddZone(data.zones);\n\t\taddLink(data.links);\n\t\ttz.dataVersion = data.version;\n\t}\n\n\tfunction zoneExists (name) {\n\t\tif (!zoneExists.didShowError) {\n\t\t\tzoneExists.didShowError = true;\n\t\t\t\tlogError(\"moment.tz.zoneExists('\" + name + \"') has been deprecated in favor of !moment.tz.zone('\" + name + \"')\");\n\t\t}\n\t\treturn !!getZone(name);\n\t}\n\n\tfunction needsOffset (m) {\n\t\tvar isUnixTimestamp = (m._f === 'X' || m._f === 'x');\n\t\treturn !!(m._a && (m._tzm === undefined) && !isUnixTimestamp);\n\t}\n\n\tfunction logError (message) {\n\t\tif (typeof console !== 'undefined' && typeof console.error === 'function') {\n\t\t\tconsole.error(message);\n\t\t}\n\t}\n\n\t/************************************\n\t\tmoment.tz namespace\n\t************************************/\n\n\tfunction tz (input) {\n\t\tvar args = Array.prototype.slice.call(arguments, 0, -1),\n\t\t\tname = arguments[arguments.length - 1],\n\t\t\tzone = getZone(name),\n\t\t\tout = moment.utc.apply(null, args);\n\n\t\tif (zone && !moment.isMoment(input) && needsOffset(out)) {\n\t\t\tout.add(zone.parse(out), 'minutes');\n\t\t}\n\n\t\tout.tz(name);\n\n\t\treturn out;\n\t}\n\n\ttz.version = VERSION;\n\ttz.dataVersion = '';\n\ttz._zones = zones;\n\ttz._links = links;\n\ttz._names = names;\n\ttz.add = addZone;\n\ttz.link = addLink;\n\ttz.load = loadData;\n\ttz.zone = getZone;\n\ttz.zoneExists = zoneExists; // deprecated in 0.1.0\n\ttz.guess = guess;\n\ttz.names = getNames;\n\ttz.Zone = Zone;\n\ttz.unpack = unpack;\n\ttz.unpackBase60 = unpackBase60;\n\ttz.needsOffset = needsOffset;\n\ttz.moveInvalidForward = true;\n\ttz.moveAmbiguousForward = false;\n\n\t/************************************\n\t\tInterface with Moment.js\n\t************************************/\n\n\tvar fn = moment.fn;\n\n\tmoment.tz = tz;\n\n\tmoment.defaultZone = null;\n\n\tmoment.updateOffset = function (mom, keepTime) {\n\t\tvar zone = moment.defaultZone,\n\t\t\toffset;\n\n\t\tif (mom._z === undefined) {\n\t\t\tif (zone && needsOffset(mom) && !mom._isUTC) {\n\t\t\t\tmom._d = moment.utc(mom._a)._d;\n\t\t\t\tmom.utc().add(zone.parse(mom), 'minutes');\n\t\t\t}\n\t\t\tmom._z = zone;\n\t\t}\n\t\tif (mom._z) {\n\t\t\toffset = mom._z.utcOffset(mom);\n\t\t\tif (Math.abs(offset) < 16) {\n\t\t\t\toffset = offset / 60;\n\t\t\t}\n\t\t\tif (mom.utcOffset !== undefined) {\n\t\t\t\tmom.utcOffset(-offset, keepTime);\n\t\t\t} else {\n\t\t\t\tmom.zone(offset, keepTime);\n\t\t\t}\n\t\t}\n\t};\n\n\tfn.tz = function (name, keepTime) {\n\t\tif (name) {\n\t\t\tif (typeof name !== 'string') {\n\t\t\t\tthrow new Error('Time zone name must be a string, got ' + name + ' [' + typeof name + ']');\n\t\t\t}\n\t\t\tthis._z = getZone(name);\n\t\t\tif (this._z) {\n\t\t\t\tmoment.updateOffset(this, keepTime);\n\t\t\t} else {\n\t\t\t\tlogError(\"Moment Timezone has no data for \" + name + \". See http://momentjs.com/timezone/docs/#/data-loading/.\");\n\t\t\t}\n\t\t\treturn this;\n\t\t}\n\t\tif (this._z) { return this._z.name; }\n\t};\n\n\tfunction abbrWrap (old) {\n\t\treturn function () {\n\t\t\tif (this._z) { return this._z.abbr(this); }\n\t\t\treturn old.call(this);\n\t\t};\n\t}\n\n\tfunction resetZoneWrap (old) {\n\t\treturn function () {\n\t\t\tthis._z = null;\n\t\t\treturn old.apply(this, arguments);\n\t\t};\n\t}\n\n\tfn.zoneName = abbrWrap(fn.zoneName);\n\tfn.zoneAbbr = abbrWrap(fn.zoneAbbr);\n\tfn.utc = resetZoneWrap(fn.utc);\n\n\tmoment.tz.setDefault = function(name) {\n\t\tif (major < 2 || (major === 2 && minor < 9)) {\n\t\t\tlogError('Moment Timezone setDefault() requires Moment.js >= 2.9.0. You are using Moment.js ' + moment.version + '.');\n\t\t}\n\t\tmoment.defaultZone = name ? getZone(name) : null;\n\t\treturn moment;\n\t};\n\n\t// Cloning a moment should include the _z property.\n\tvar momentProperties = moment.momentProperties;\n\tif (Object.prototype.toString.call(momentProperties) === '[object Array]') {\n\t\t// moment 2.8.1+\n\t\tmomentProperties.push('_z');\n\t\tmomentProperties.push('_a');\n\t} else if (momentProperties) {\n\t\t// moment 2.7.0\n\t\tmomentProperties._z = null;\n\t}\n\n\t// INJECT DATA\n\n\treturn moment;\n}));\n","var moment = module.exports = require(\"./moment-timezone\");\nmoment.tz.load(require('./data/packed/latest.json'));\n","import moment from 'moment-timezone';\n\nimport { each } from '../../utils/each';\nimport { stripHtmlTags } from '../../utils/strip-html-tags';\nimport { escapeHtml } from '../../utils/escape-html';\n\nconst defaults = {\n /*\n DEPRECATED - use CSS styles\n\n height: undefined,\n width: undefined,\n stickyHeader: false,\n stickyFooter: false\n */\n};\n\nlet currentPage;\nfunction _generateTableRows(datavizInstance, dataset) {\n let html = '';\n const defaultConfig = {\n page: 1,\n limit: 0,\n arrows: true\n };\n let customConfig = {};\n if (datavizInstance.config.table && datavizInstance.config.table.pagination) {\n customConfig = datavizInstance.config.table.pagination;\n }\n const config = {\n ...defaultConfig,\n ...customConfig\n };\n\n if (!currentPage){\n currentPage = config.page;\n }\n\n let datasetPaginated;\n let pages = 0;\n if (config.limit === 0) {\n datasetPaginated = dataset.slice(1); // remove header\n } else {\n const start = config.limit * (currentPage - 1) + 1;\n const end = start + config.limit;\n datasetPaginated = dataset.slice(start, end);\n pages = Math.ceil((dataset.length - 1) / config.limit);\n }\n\n let columnsArray = datavizInstance.config.table.columns ?\n datavizInstance.config.table.columns :\n datavizInstance.dataset.matrix[0];\n\n const checkArray = {};\n const { mapValues } = datavizInstance.config.table;\n for (let key in mapValues){\n checkArray[columnsArray.indexOf(key)] = key;\n }\n\n // var london = newYork.clone().tz(\"Europe/London\");\n for (let row of datasetPaginated) {\n html += '';\n for (let [index, rowCol] of row.entries()) {\n if (\n datavizInstance.config.timezone\n && rowCol instanceof Date\n ) {\n let dateTimeTimezoned = moment\n .tz(rowCol, \"UTC\")\n .clone()\n .tz(datavizInstance.config.timezone);\n html += `${dateTimeTimezoned.toString()}`;\n continue;\n }\n let rowColEscaped = escapeHtml(rowCol);\n if(checkArray[index]){\n html += `${mapValues[checkArray[index]](rowColEscaped)}`;\n continue;\n }\n html += `${rowColEscaped}`\n }\n html += '';\n }\n\n if (pages > 1){\n html += ``;\n let pageNumber = 1;\n const prevPage = (currentPage === 1) ? 1 : (currentPage - 1);\n const nextPage = (currentPage === pages) ? pages : (currentPage + 1);\n if (config.arrows){\n html += `<`;\n }\n while (pageNumber <= pages){\n html += `${pageNumber}`;\n pageNumber++;\n }\n if (config.arrows){\n html += `>`;\n }\n html += '';\n }\n\n return html;\n}\n\nfunction _generateTableHeader(datavizInstance, dataset) {\n let html = '';\n let fieldNumber = -1;\n let columnNames =\n (datavizInstance.config.table && datavizInstance.config.table.columns)\n || dataset[0];\n for (let colName of columnNames) {\n let colNameEscaped = escapeHtml(colName);\n fieldNumber +=1;\n html += `${colNameEscaped}`;\n }\n return html;\n}\n\n\n const render = function() {\n const dataset = this.dataset.matrix;\n\n const el = this.el();\n const theme = this.config.theme;\n const datavizInstance = this;\n\n let html = '';\n\n const isEmpty = dataset.length === 1 && dataset[0].length === 0;\n if (isEmpty) {\n const msg = 'No data to display';\n const mappedMsg = this.config.errorMapping[msg] || msg;\n if (this.config.showErrorMessages) {\n this.message(mappedMsg);\n }\n return;\n }\n\n // Open wrapper\n html += `
`;\n\n // Static, scrollable table\n html += ``;\n html += '';\n html += '';\n html += _generateTableHeader(datavizInstance, dataset);\n html += '';\n html += '';\n // Table data\n html += '';\n html += _generateTableRows(datavizInstance, dataset);\n html += '';\n html += '
';\n/* */\n // Close wrapper\n html += '
';\n\n // Inject HTML string\n el.querySelector(`.${theme}-rendering`).innerHTML = html;\n\n el\n .querySelectorAll(`.${theme}-rendering th`)\n .forEach((item) => {\n item.addEventListener('click', (event) => {\n let sortOrder = event.target.getAttribute('order') || 'asc';\n let fieldNumber = event.target.getAttribute('fieldNumber');\n let checker = function (a, b) {\n let sortOrderNumber = (sortOrder === 'asc') ? 1 : -1;\n\n if (typeof a[fieldNumber] === 'string') {\n let nameA = a[fieldNumber].toUpperCase(); // ignore upper and lowercase\n let nameB = b[fieldNumber].toUpperCase(); // ignore upper and lowercase\n if (nameA < nameB) {\n return -1 * sortOrderNumber;\n }\n if (nameA > nameB) {\n return 1* sortOrderNumber;\n }\n\n // names must be equal\n return 0;\n }\n return (a[fieldNumber] - b[fieldNumber]) * sortOrderNumber;\n };\n\n if (sortOrder === 'asc') {\n sortOrder = 'desc';\n } else {\n sortOrder = 'asc'\n }\n event.target.setAttribute('order', sortOrder);\n\n const first = this.dataset.matrix.shift();\n this.dataset.matrix.sort(checker);\n this.dataset.matrix.unshift(first);\n\n el.querySelector(`.${theme}-rendering tbody`).innerHTML =\n _generateTableRows(datavizInstance, dataset);\n attachBtnEventListeners();\n });\n });\n\n\n const attachBtnEventListeners = () => {\n el.querySelectorAll('.btn').forEach(btn => {\n btn.addEventListener('click', (event) => {\n currentPage = parseInt(event.target.getAttribute('data-page'));\n el.querySelector(`.${theme}-rendering tbody`).innerHTML =\n _generateTableRows(datavizInstance, dataset);\n attachBtnEventListeners();\n }, true);\n });\n };\n\n attachBtnEventListeners(datavizInstance, el, theme);\n\n if (this.config.onrendered) {\n this.config.onrendered();\n }\n };\n\n\n\nconst update = function(){\n // no special update handling\n this.render();\n };\n\nconst destroy= function(){};\n\nexport default { render, update, destroy };\n","export function prettyNumber(input) {\n // If it has 3 or fewer sig figs already, just return the number.\n var input = Number(input),\n sciNo = input.toPrecision(3),\n prefix = '',\n suffixes = ['', 'k', 'M', 'B', 'T'];\n\n if (Number(sciNo) == input && String(input).length <= 4) {\n return String(input);\n }\n\n if (Math.abs(input) >= 1000000000000000) {\n return sciNo;\n }\n\n if (input >= 1 || input <= -1) {\n if (input < 0){\n //Pull off the negative side and stash that.\n input = -input;\n prefix = '-';\n }\n return prefix + recurse(input, 0);\n }\n else {\n return input.toPrecision(3);\n }\n\n function recurse(input, iteration) {\n var input = String(input);\n var split = input.split('.');\n // If there's a dot\n if (split.length > 1) {\n // Keep the left hand side only\n input = split[0];\n var rhs = split[1];\n // If the left-hand side is too short, pad until it has 3 digits\n if (input.length == 2 && rhs.length > 0) {\n // Pad with right-hand side if possible\n if (rhs.length > 0) {\n input = input + '.' + rhs.charAt(0);\n }\n // Pad with zeroes if you must\n else {\n input += '0';\n }\n }\n else if (input.length == 1 && rhs.length > 0) {\n input = input + '.' + rhs.charAt(0);\n // Pad with right-hand side if possible\n if (rhs.length > 1) {\n input += rhs.charAt(1);\n }\n // Pad with zeroes if you must\n else {\n input += '0';\n }\n }\n }\n var numNumerals = input.length;\n // if it has a period, then numNumerals is 1 smaller than the string length:\n if (input.split('.').length > 1) {\n numNumerals--;\n }\n if (numNumerals <= 3) {\n return String(input) + suffixes[iteration];\n }\n else {\n return recurse(Number(input) / 1000, iteration + 1);\n }\n }\n}\n","import { prettyNumber } from '../../utils/pretty-number';\nimport { escapeHtml } from '../../utils/escape-html';\n\nexport default {\n render: function(){\n const color = this.config.colors[0];\n const theme = this.config.theme;\n const title = this.config.title;\n const opts = this.config;\n let value = '-';\n let html = '';\n let prefix = '';\n let suffix = '';\n let formattedNum;\n let valueEl;\n let flexDifferenceStyle = '';\n let resultDifference = '';\n let differenceStyle = '';\n let smallerValue = '';\n const { results, previousResults } = this.config;\n if(results && previousResults){\n flexDifferenceStyle = previousResults ? ' metric-comparison' : '';\n smallerValue = previousResults && title ? '-smaller' : '';\n resultDifference = results.result - previousResults.result;\n differenceStyle = (resultDifference > 0) ? '-green' : '-red';\n resultDifference = Math.abs(resultDifference);\n }\n\n if (typeof this.data()[1][1] === 'number') {\n value = this.data()[1][1];\n }\n\n formattedNum = value;\n if ( (typeof opts['prettyNumber'] === 'undefined' || opts['prettyNumber'] === true)\n && !isNaN(parseInt(value)) ) {\n formattedNum = prettyNumber(value);\n if(results && previousResults){\n resultDifference = prettyNumber(resultDifference);\n }\n }\n\n if (opts['prefix']) {\n prefix = '' + opts['prefix'] + '';\n }\n if (opts['suffix']) {\n suffix = '' + opts['suffix'] + '';\n }\n html += '
';\n html += '
';\n if (results && previousResults) {\n html += '
' + escapeHtml(resultDifference) + '
';\n }\n html += '
' + prefix + escapeHtml(formattedNum) + suffix + '
';\n if (title) {\n html += '
' + escapeHtml(title) + '
';\n }\n html += '
';\n html += '
';\n\n this.el().innerHTML = html;\n\n if (this.config.onrendered) {\n this.config.onrendered();\n }\n },\n update: function(){\n // no special update handling\n this.render();\n },\n destroy: function(){\n // no special clean-up\n }\n};\n","import { escapeHtml } from '../../utils/escape-html';\n\nexport default {\n render: function(text){\n const outer = document.createElement('div');\n const inner = document.createElement('div');\n const msg = document.createElement('span');\n\n const titleContainer = document.createElement('div');\n const notesContainer = document.createElement('div');\n\n outer.className = this.config.theme + ' keen-dataviz-box';\n inner.className = this.config.theme + '-message';\n\n // Create title and notes for message\n titleContainer.className = this.config.theme + '-title';\n titleContainer.innerHTML = escapeHtml(this.config.title || '');\n notesContainer.className = this.config.theme + '-notes';\n notesContainer.innerHTML = escapeHtml(this.config.notes || '');\n\n msg.innerHTML = escapeHtml(text) || '';\n inner.appendChild(msg);\n\n if (this.config.title && this.config.showTitle) {\n outer.appendChild(titleContainer);\n }\n\n outer.appendChild(inner);\n\n if (this.config.notes) {\n outer.appendChild(notesContainer);\n }\n\n this.el().innerHTML = '';\n this.el().appendChild(outer);\n\n },\n update: function(){\n // no special update handling\n this.render();\n },\n destroy: function(){\n // no special clean-up\n }\n};\n","import { escapeHtml } from '../../../utils/escape-html';\n\nexport default function (d, defaultTitleFormat, defaultValueFormat, color) {\n let text;\n let title;\n // Set config options or defaults\n const nameFormat = this.config.tooltip_format_name || function (name) { return name; };\n const titleFormat = this.config.tooltip_format_title || defaultTitleFormat;\n const valueFormat = this.config.tooltip_format_value || defaultValueFormat;\n\n // Reverse list to match legend\n for (let i = 0; i < d.length; i++) {\n if (! (d[i] && (d[i].value || d[i].value === 0))) { continue; }\n if (!text) {\n title = titleFormat ? titleFormat(d[i].x) : d[i].x;\n text = \"\" + (title || title === 0 ? \"\" : \"\");\n }\n let name = nameFormat(d[i].name);\n let value = valueFormat(d[i].value, d[i].ratio, d[i].id, d[i].index);\n let bgcolor = this.levelColor ? this.levelColor(d[i].value) : color(d[i].id);\n if (value) {\n text += \"\";\n if (name.indexOf('__tooltip_ignore_name_field__') === -1) {\n text += \"\";\n }\n text += \"\";\n text += \"\";\n }\n }\n return text + \"
\" + escapeHtml(title) + \"
\" + escapeHtml(name) + \"\" + escapeHtml(value) + \"
\";\n}\n","import * as d3 from 'd3';\n\nimport isDateString from '../../../utils/assert-date-string';\n\nexport default function (options) {\n const cols = options.data.columns;\n const datavizInstance = this;\n const chart = this.view._artifacts.c3;\n let columns = [];\n const domNode = this.el().querySelector('.' + datavizInstance.config.theme + '-rendering');\n const legendConfig = datavizInstance.config.legend;\n\n const pagination = this.view._artifacts.pagination = {\n ...{\n hidden: [],\n labels: [],\n offset: 0,\n limit: Math.round((domNode.offsetHeight - 78) / 20),\n total: 0\n },\n ...legendConfig.pagination\n };\n\n if (options.legend.sort) {\n columns = options.legend.sort(cols);\n\n // update column order in the data, so tooltip will be the same order\n const columnsSorted = [];\n const dataColumnsSorted = [];\n if (cols[0][0] === 'x') {\n dataColumnsSorted.push(cols[0]);\n }\n columns.forEach(column => {\n let columnData = options.data.columns.find(item => item[0] === column);\n dataColumnsSorted.push(columnData);\n });\n options.data.columns = dataColumnsSorted;\n } else {\n for (let i = 0; i < cols.length; i++) {\n if (cols[i][0] !== 'x' && !isDateString(cols[i][1])) {\n columns.push(cols[i][0]);\n }\n }\n }\n\n const legendElement = this.el().querySelector('.keen-c3-legend');\n\n let align = 'vertical';\n if (legendConfig.position === 'top' || legendConfig.position === 'bottom') {\n align = 'horizontal';\n }\n\n const paginateHorizontalLeftElement = document.createElement('div');\n paginateHorizontalLeftElement.setAttribute('class', 'keen-c3-legend-pagination-icons keen-c3-legend-horizontal-pagination-left');\n if (align === 'horizontal') {\n legendElement.append(paginateHorizontalLeftElement);\n }\n\n const legendItemsElement = document.createElement('div');\n legendItemsElement.setAttribute('class', `keen-c3-legend-items keen-c3-legend-${align}-items`);\n legendElement.append(legendItemsElement);\n\n const paginateVerticalElement = document.createElement('div');\n paginateVerticalElement.setAttribute('class', 'keen-c3-legend-pagination keen-c3-legend-pagination-icons');\n if (align === 'vertical') {\n legendElement.append(paginateVerticalElement);\n }\n\n const paginateHorizontalRightElement = document.createElement('div');\n paginateHorizontalRightElement.setAttribute('class', 'keen-c3-legend-pagination-icons keen-c3-legend-horizontal-pagination-right');\n if (align === 'horizontal') {\n legendElement.append(paginateHorizontalRightElement);\n }\n\n paginateData();\n\n function paginateData(){\n pagination.labels = columns.slice(pagination.offset, pagination.offset + pagination.limit);\n pagination.total = columns.length;\n renderLegendComponent.call(datavizInstance, pagination.labels);\n if (pagination.total > pagination.limit) {\n renderPaginationComponent.call(datavizInstance);\n }\n if (options.onPaginated){\n options.onPaginated();\n }\n }\n\n function renderLegendComponent(){\n legendItemsElement.innerHTML = '';\n\n pagination.labels.forEach(label => {\n const labelShortened = legendConfig.label.textMaxLength ? label.slice(0, legendConfig.label.textMaxLength - 1) : label;\n const legendItem = document.createElement(\"div\");\n legendItem.innerHTML = `${labelShortened}`;\n legendItem.chartPartId = label;\n legendItem.setAttribute('class', 'legend-item');\n legendItemsElement.append(legendItem);\n\n const legendItemColorSample = document.createElement(\"span\");\n legendItemColorSample.setAttribute('class', 'legend-item-color-sample');\n legendItemColorSample.style.backgroundColor = chart.color(legendItem.chartPartId);\n legendItem.prepend(legendItemColorSample);\n\n const tooltipElement = document.createElement(\"div\");\n legendItem.addEventListener('mouseover', (event) => {\n chart.focus(legendItem.chartPartId);\n if (legendConfig.tooltip.show && legendItem.chartPartId.length > legendConfig.label.textMaxLength) {\n tooltipElement.setAttribute('class', `keen-c3-legend-label-overlay keen-c3-legend-position-${legendConfig.position}`);\n tooltipElement.innerHTML =\n `${\n options.legend.tooltip.pointer ? `
` : ``\n }${legendItem.chartPartId}`;\n legendItem.append(tooltipElement);\n }\n });\n legendItem.addEventListener('mouseout', (event) => {\n chart.revert();\n tooltipElement.remove();\n });\n legendItem.addEventListener('click', (event) => {\n let opacity = 1;\n const isHidden = pagination.hidden.indexOf(legendItem.chartPartId);\n if (isHidden < 0) {\n pagination.hidden.push(legendItem.chartPartId);\n opacity = .35;\n }\n else {\n pagination.hidden.splice(isHidden, 1);\n opacity = 1;\n }\n legendItem.style.opacity = opacity;\n chart.toggle(legendItem.chartPartId);\n });\n });\n\n if (options.onLegendRendered){\n options.onLegendRendered();\n options.onLegendRendered = null;\n }\n\n }\n\n function renderPaginationComponent(){\n paginateVerticalElement.innerHTML = '';\n paginateHorizontalLeftElement.innerHTML = '';\n paginateHorizontalRightElement.innerHTML = '';\n\n const arrowUp = document.createElement('i');\n const arrowDown = document.createElement('i');\n\n const paginate = (direction) => {\n if (direction === 'forward') {\n const diff = pagination.offset + pagination.limit;\n if (diff < pagination.total) {\n pagination.offset = diff;\n return;\n }\n pagination.offset = 0;\n return;\n }\n\n const diff = pagination.offset - pagination.limit;\n if (diff >= 0) {\n pagination.offset = diff;\n return;\n }\n\n pagination.offset = Math.floor(pagination.total/pagination.limit) * pagination.limit;\n };\n\n arrowDown.addEventListener('click', () => {\n paginate('forward');\n paginateData();\n clearSelectedText();\n });\n\n arrowUp.addEventListener('click', () => {\n paginate('backward');\n paginateData();\n clearSelectedText();\n });\n\n if (legendConfig.position === 'left' || legendConfig.position === 'right') {\n arrowUp.setAttribute('class', 'up');\n arrowDown.setAttribute('class', 'down');\n paginateVerticalElement.append(arrowDown);\n paginateVerticalElement.append(arrowUp);\n } else {\n // bottom top\n arrowUp.setAttribute('class', 'left');\n arrowDown.setAttribute('class', 'right');\n paginateHorizontalLeftElement.append(arrowUp);\n paginateHorizontalRightElement.append(arrowDown);\n }\n\n }\n\n function clearSelectedText() {\n let selection;\n if (document.selection && document.selection.empty) {\n selection = document.selection;\n selection.empty();\n }\n else if (window.getSelection) {\n selection = window.getSelection();\n selection.removeAllRanges();\n }\n }\n}\n","export default function (startDate, endDate) {\n const timeDiff = Math.abs(new Date(startDate).getTime() - new Date(endDate).getTime());\n const months = [\n 'Jan',\n 'Feb',\n 'Mar',\n 'Apr',\n 'May',\n 'June',\n 'July',\n 'Aug',\n 'Sept',\n 'Oct',\n 'Nov',\n 'Dec'\n ];\n\n // Yearly (31536000000) + Monthly\n if (timeDiff >= 2419200000) {\n return function(ms){\n const date = new Date(ms);\n return months[date.getMonth()] + ' ' + date.getFullYear();\n };\n }\n // Daily\n else if (timeDiff >= 86400000) {\n return function(ms){\n const date = new Date(ms);\n return months[date.getMonth()] + ' ' + date.getDate();\n };\n }\n // Hourly\n else if (timeDiff >= 3600000) {\n return '%I:%M %p';\n }\n // Minutely\n else {\n return '%I:%M:%S %p';\n }\n}\n","import c3 from 'c3';\n\nimport { each } from '../utils/each';\nimport { extend } from '../utils/extend';\nimport { extendDeep } from '../utils/extend-deep';\nimport isDateString from '../utils/assert-date-string';\nimport c3DefaultDateFormat from './c3/extensions/default-date-format';\nimport c3PaginatingLegend from './c3/extensions/paginating-legend';\nimport c3TooltipContents from './c3/extensions/tooltip-contents';\n\nimport message from './default/message';\nimport metric from './default/metric';\nimport table from './default/table';\nimport spinner from './default/spinner';\n\nexport default function(lib) {\n let timer;\n bindResizeListener(function(){\n if (timer) {\n clearTimeout(timer);\n }\n const delay = (lib.visuals.length > 12) ? 1000 : 250;\n timer = setTimeout(function(){\n each(lib.visuals, function(chart){\n if (chart.view._artifacts.c3) {\n chart.view._artifacts.c3.resize();\n }\n });\n }, delay);\n });\n\n // FIX for c3 tooltip bug - REMOVE when https://github.com/c3js/c3/pull/2476 is merged\n if (c3.chart && c3.chart.internal && c3.chart.internal.fn) {\n c3.chart.internal.fn.horizontalDistance = function(data, pos) {\n var $$ = this,\n config = $$.config,\n xIndex = config.axis_rotated ? 1 : 0,\n x = $$.x(data.x);\n return Math.abs(x - pos[xIndex]);\n };\n c3.chart.internal.fn.findClosest = function (values, pos) {\n const CLASS = c3.chart.internal.fn.CLASS;\n var $$ = this,\n minDist = $$.config.point_sensitivity,\n minDist = Infinity,\n closest;\n // find mouseovering bar\n values.filter(function (v) {\n return v && $$.isBarType(v.id);\n }).forEach(function (v) {\n var shape = $$.main.select('.' + CLASS.bars + $$.getTargetSelectorSuffix(v.id) + ' .' + CLASS.bar + '-' + v.index).node();\n if (!closest && $$.isWithinBar($$.d3.mouse(shape), shape)) {\n closest = v;\n }\n });\n // find closest point from non-bar\n values.filter(function (v) {\n return v && !$$.isBarType(v.id);\n }).forEach(function (v) {\n var d = $$.dist(v, pos);\n var d = $$.horizontalDistance(v, pos);\n if (d < minDist) {\n minDist = d;\n closest = v;\n }\n });\n return closest;\n };\n }\n\n return defineC3();\n};\n\nfunction defineC3(){\n const types = {\n message,\n metric,\n table,\n spinner,\n };\n\n const c3Types = [\n // Standard types\n 'area',\n 'area-spline',\n 'area-step',\n 'bar',\n 'donut',\n 'gauge',\n 'line',\n 'pie',\n 'step',\n 'spline',\n\n // Horizontal variant types\n 'horizontal-area',\n 'horizontal-area-spline',\n 'horizontal-area-step',\n 'horizontal-bar',\n 'horizontal-line',\n 'horizontal-step',\n 'horizontal-spline'\n ];\n\n const getPaddings = (element, paddingName) => {\n return parseInt(window.getComputedStyle(element)[`padding${paddingName}`].replace('px', ''));\n }\n\n function getDefaultOptions(){\n\n const ENFORCED_OPTIONS = {\n bindto: this.el().querySelector('.' + this.config.theme + '-rendering .c3-chart'),\n color: {\n pattern: this.config.colors\n },\n data: {\n colors: { ...this.config.colorMapping },\n columns: [],\n type: this.config.type.replace('horizontal-', '')\n },\n };\n\n const renderingElement = this.el();\n// .querySelector('.' + this.config.theme + '-rendering');\n\n let height = renderingElement.offsetHeight;\n\n height -= (getPaddings(renderingElement, 'Top') + getPaddings(renderingElement, 'Bottom'));\n\n if (this.config.showTitle) {\n const titleElement = this.el().querySelector('.keen-dataviz-title');\n if (titleElement) {\n height -= titleElement.offsetHeight;\n } else {\n height -= parseInt(\n window\n .getComputedStyle(this.el(), null)\n ['font-size'].replace('px','')\n );\n }\n }\n\n if (this.config.notes) {\n const notesElement = this.el().querySelector('.keen-dataviz-notes');\n if (notesElement) {\n height -= notesElement.offsetHeight;\n } else {\n height -= parseInt(\n window\n .getComputedStyle(this.el(), null)\n ['font-size'].replace('px','')\n );\n }\n }\n\n let width = this.el().querySelector('.c3-chart').offsetWidth\n - (getPaddings(renderingElement, 'Left') + getPaddings(renderingElement, 'Right'));\n if (width < 0) {\n width = 0;\n }\n\n const DEFAULT_OPTIONS = {\n size: {\n width,\n height:\n height > 0 ?\n height\n : undefined,\n }\n };\n\n return extendDeep({}, DEFAULT_OPTIONS, this.config, ENFORCED_OPTIONS);\n }\n\n each(c3Types, function(type, index) {\n types[type] = {\n render: function(){\n const options = getDefaultOptions.call(this);\n\n if (!!this.config.clearOnRender && options.data.columns.length > 0) {\n options.data.columns.splice(1);\n }\n\n if (this.data()[0].length === 1 || this.data().length === 1) {\n const msg = 'No data to display';\n const mappedMsg = this.config.errorMapping[msg] || msg;\n if (this.config.showErrorMessages) {\n this.message(mappedMsg);\n }\n return;\n }\n\n let removeLegend = false;\n\n if (type === 'gauge') {\n // Accommodate a neat bug:\n options.legend.show = false;\n options.data.columns = [[\n this.config.title || this.data()[1][0],\n this.data()[1][1]\n ]];\n removeLegend = true;\n }\n else if (type === 'pie' || type === 'donut') {\n options.data.columns = this.data().slice(1);\n }\n else {\n\n // Apply formatting for horizontal variant types\n if (type.indexOf('horizontal-') > -1) {\n options.axis.rotated = type.indexOf('horizontal-') > -1;\n }\n\n if (isDateString(this.data()[1][0])) {\n // TIMESERIES\n options.axis.x = options.axis.x || {};\n options.axis.x.type = 'timeseries';\n options.axis.x.tick = options.axis.x.tick || {\n format: this.config.dateFormat || c3DefaultDateFormat(this.data()[1][0], this.data()[2] ? this.data()[2][0] : this.data()[1][0]),\n culling: { max: 5 }\n };\n\n options.data.columns[0] = [];\n each(this.dataset.selectColumn(0), function(cell, i){\n if (i > 0) {\n cell = new Date(cell);\n }\n options.data.columns[0][i] = cell;\n });\n options.data.columns[0][0] = 'x';\n options.data.x = 'x';\n if (this.config.stacked && this.data()[0].length > 2) {\n options.data.groups = [ this.dataset.selectRow(0).slice(1) ];\n }\n }\n else {\n // CATEGORIES\n options.axis.x = options.axis.x || {};\n options.axis.x.type = 'category';\n options.axis.x.categories = this.dataset.selectColumn(0).slice(1);\n if (this.config.stacked && this.data()[0].length > 2) {\n options.data.groups = [ this.dataset.selectRow(0).slice(1) ];\n }\n }\n\n if (this.data()[0].length === 2) {\n options.legend.show = false;\n removeLegend = true;\n }\n\n each(this.data()[0], function(cell, i){\n if (i > 0) {\n options.data.columns.push(this.dataset.selectColumn(i));\n }\n }.bind(this));\n }\n\n if (removeLegend){\n const legendElement = this.el().querySelector('.keen-c3-legend');\n if (legendElement) {\n legendElement.remove();\n options.size.width = this.el().querySelector('.c3-chart').offsetWidth;\n }\n options.legend.show = false;\n }\n\n const chartTypesWithPartialIntervalIndicator = ['area', 'area-spline', 'area-step', 'line', 'spline', 'step'];\n\n if (options.partialIntervalIndicator\n && options.partialIntervalIndicator.show\n && chartTypesWithPartialIntervalIndicator.indexOf(options.type) > -1\n ) {\n const results = options.data.columns && options.data.columns[0];\n if (results && results.length > 1) {\n const partialResultsRegion = {\n axis: 'x',\n start: new Date(results[results.length-2]),\n class: options.partialIntervalIndicator.className\n };\n options.regions = [...(options.regions || []), partialResultsRegion];\n }\n }\n\n if (\n !(options.tooltip && options.tooltip.show === false)\n &&\n (options.legend.show === true ||\n (options.legend\n && options.legend.tooltip\n && options.legend.tooltip.show)\n )) {\n // Apply custom tooltip\n options.tooltip = {\n contents: c3TooltipContents,\n format: {\n title: this.config.tooltip.format.title,\n value: (value, ratio, id, index) => {\n let valueFormatted = c3CustomTooltipFiltering.call(this, value, ratio, id, index);\n if (this.config.tooltip && this.config.tooltip.format && this.config.tooltip.format.value)\n {\n valueFormatted = this.config.tooltip.format.value.call(this, valueFormatted, ratio, id, index);\n }\n return valueFormatted;\n }\n }\n };\n }\n\n if (options.legend.show === true) {\n const c3options = { ...options };\n // Apply custom color handling\n c3options.data.color = c3CustomDataMapping.bind(this);\n\n c3options.legend.hide = true; // hide default c3 legend\n\n // Render artifacts\n this.view._artifacts['c3'] = c3.generate(c3options);\n\n c3PaginatingLegend.call(this, {...options, onLegendRendered: () => {\n const legendElement = this.el().querySelector('.keen-c3-legend');\n if (legendElement) {\n if (\n options.legend.position === 'top' ||\n options.legend.position === 'bottom'\n ) {\n c3options.size.height -= legendElement.offsetHeight;\n this.view._artifacts['c3'].resize({ height: c3options.size.height });\n } else {\n if (c3options.size.width === 0) {\n c3options.size.width = this.el().offsetWidth\n - getPaddings(this.el(), 'Left')\n - getPaddings(this.el(), 'Right');\n }\n c3options.size.width -= legendElement.offsetWidth;\n this.view._artifacts['c3'].resize({ width: c3options.size.width });\n }\n }\n },\n onPaginated: () => {\n this.view._artifacts['c3'].flush();\n }\n });\n }\n else {\n this.view._artifacts['c3'] = c3.generate(options);\n }\n\n },\n update: function(){\n // no special update handling\n this.render();\n },\n destroy: function(){\n if (this.view._artifacts['c3']) {\n this.view._artifacts['c3'].destroy();\n this.view._artifacts['c3'] = null;\n }\n }\n };\n });\n\n return types;\n}\n\nfunction c3CustomDataMapping(color, d) {\n const type = this.config.type;\n if (this.view._artifacts.pagination\n && type !== 'gauge'\n /*&& this.type() !== 'pie'\n && this.type() !== 'donut'*/) {\n const scope = this.view._artifacts.pagination.labels;\n if ((d.id && scope.indexOf(d.id) > -1)\n || (d && !d.id && scope.indexOf(d) > -1)) {\n return color;\n }\n else {\n if (type === 'donut' || type === 'pie') {\n return 'rgba(0,0,0,.1)';\n }\n else {\n return 'rgba(0,0,0,.07)';\n }\n }\n }\n else {\n return color;\n }\n}\n\nfunction c3CustomTooltipFiltering(value, ratio, id, index) {\n const type = this.config.type;\n\n if (this.view._artifacts.pagination\n && type !== 'gauge'\n /*&& this.type() !== 'pie'\n && this.type() !== 'donut'*/) {\n const scope = this.view._artifacts.pagination.labels;\n if (scope.indexOf(id) > -1) {\n return value;\n }\n }\n else {\n return value;\n }\n}\n\nfunction bindResizeListener(fn){\n if (typeof window === 'undefined') return;\n window.onresize = window.resize = function(){};\n if (window.addEventListener) {\n window.addEventListener('resize', fn, true);\n }\n else if (window.attachEvent) {\n window.attachEvent('onresize', fn);\n }\n}\n","import Dataset from './dataset';\nimport { extend } from './utils/extend';\nimport { stripHtmlTags } from './utils/strip-html-tags';\n\nexport default function (data) {\n if (!arguments.length) return this.dataset.data();\n if (data instanceof Dataset) {\n this.dataset = data;\n return this;\n }\n else {\n return parseResponse.call(this, data);\n }\n};\n\nfunction parseResponse(response) {\n var dataset,\n indexBy,\n meta,\n parser,\n parserArgs = [],\n query,\n selectedParser,\n title,\n type;\n\n indexBy = this.config.indexBy;\n meta = response.metadata || {};\n query = (typeof response.query !== 'undefined') ? response.query : {};\n\n // Ensure all required params are present\n query = extend({\n analysis_type: null,\n event_collection: null,\n filters: [],\n group_by: null,\n interval: null,\n timeframe: null,\n timezone: null\n }, query);\n\n if (query.analysis_type === 'funnel') {\n parser = 'funnel';\n }\n else if (query.analysis_type === 'extraction'){\n parser = 'extraction';\n }\n else if (query.analysis_type === 'select_unique') {\n if (!query.group_by && !query.interval) {\n parser = 'list';\n }\n // else { Not supported }\n }\n else if (query.analysis_type) {\n if (!query.group_by && !query.interval) {\n parser = 'metric';\n }\n else if (query.group_by && !query.interval) {\n if (query.group_by instanceof Array && query.group_by.length > 1) {\n parser = 'double-grouped-metric';\n parserArgs.push(query.group_by);\n }\n else {\n parser = 'grouped-metric';\n }\n }\n else if (query.interval && !query.group_by) {\n parser = 'interval';\n parserArgs.push(indexBy);\n }\n else if (query.group_by && query.interval) {\n if (query.group_by instanceof Array && query.group_by.length > 1) {\n parser = 'double-grouped-interval';\n parserArgs.push(query.group_by);\n parserArgs.push(indexBy);\n }\n else {\n parser = 'grouped-interval';\n parserArgs.push(indexBy);\n }\n }\n }\n\n if (!parser) {\n\n // Metric\n // -------------------------------\n if (typeof response.result === 'number'){\n parser = 'metric';\n }\n\n // Everything else\n // -------------------------------\n if (response.result instanceof Array && response.result.length > 0){\n\n // Interval w/ single value\n // -------------------------------\n if (response.result[0].timeframe && (typeof response.result[0].value == 'number' || response.result[0].value == null)) {\n parser = 'interval';\n parserArgs.push(indexBy)\n }\n\n // Static GroupBy\n // -------------------------------\n if (typeof response.result[0].result == 'number'){\n parser = 'grouped-metric';\n }\n\n // Grouped Interval\n // -------------------------------\n if (response.result[0].value instanceof Array){\n parser = 'grouped-interval';\n parserArgs.push(indexBy)\n }\n\n // Funnel\n // -------------------------------\n if (typeof response.result[0] === 'number'\n && typeof response.steps !== 'undefined'){\n parser = 'funnel';\n // Move steps into query object\n query.steps = response.steps;\n }\n\n // Select Unique\n // -------------------------------\n if ((typeof response.result[0] === 'string' || typeof response.result[0] == 'number') && typeof response.steps === 'undefined'){\n parser = 'list';\n }\n\n // Extraction\n // -------------------------------\n if (!parser) {\n parser = 'extraction';\n }\n }\n\n if (!parser) {\n parser = 'extraction';\n }\n }\n\n // Set title from saved query body, or create a default title\n if (this.config.title === undefined) {\n if (meta.display_name) {\n title = meta.display_name;\n }\n else {\n title = getDefaultTitle(query);\n }\n this.config.title = title;\n }\n\n // Set type from saved query body, or use a default type\n if (!this.config.type) {\n if (meta.visualization && meta.visualization.chart_type) {\n type = meta.visualization.chart_type;\n }\n else {\n type = getDefaultType(parser);\n }\n this.config.type = type;\n }\n\n // Define the appropriate parser\n selectedParser = Dataset.parser.apply(this, [parser].concat(parserArgs));\n\n // Parse the response with augmented query body\n dataset = selectedParser(extend(response, { 'query': query }));\n\n // Set true dates for 'interval' data\n if (parser.indexOf('interval') > -1) {\n dataset.updateColumn(0, function(value, i){\n return new Date(value);\n });\n }\n\n dataset.updateRow(0, function(value, i){\n return stripHtmlTags(value);\n });\n\n this.dataset = dataset;\n\n return this;\n}\n\nfunction getDefaultTitle(query) {\n var analysis = query.analysis_type ? query.analysis_type.replace('_', ' ') : '',\n title;\n\n title = analysis.replace( /\\b./g, function(a){\n return a.toUpperCase();\n });\n\n if (query.event_collection) {\n title += ' - ' + query.event_collection;\n }\n return title;\n}\n\nfunction getDefaultType(parser) {\n let type;\n switch (parser) {\n case 'metric':\n type = 'metric';\n break;\n case 'interval':\n type = 'area';\n break;\n case 'grouped-metric':\n case 'double-grouped-metric':\n type = 'bar';\n break;\n case 'grouped-interval':\n case 'double-grouped-interval':\n type = 'line';\n break;\n case 'funnel':\n type = 'horizontal-bar';\n break;\n case 'list':\n case 'extraction':\n default:\n type = 'table';\n }\n return type;\n}\n","export function valueAtDeepKey(obj, is, value) {\n if (typeof is == 'string')\n return valueAtDeepKey(obj, is.split('.'), value);\n else if (is.length==1 && value!==undefined && obj !== null &&\n typeof obj[is[0]] !== 'undefined')\n return obj[is[0]] = value;\n else if (is.length==0)\n return obj;\n else if (typeof is === 'undefined' || typeof obj === 'undefined'\n || is === null || obj === null\n || typeof obj[is[0]] === 'undefined')\n return null;\n else\n return valueAtDeepKey(obj[is[0]], is.slice(1), value);\n}\n","// Pure awesomeness by Will Rayner (penguinboy)\n// https://gist.github.com/penguinboy/762197\n\nexport function flatten(ob){\n var toReturn = {};\n for (var i in ob) {\n if (!ob.hasOwnProperty(i)) continue;\n if ((typeof ob[i]) == 'object' && ob[i] !== null) {\n var flatObject = flatten(ob[i]);\n for (var x in flatObject) {\n if (!flatObject.hasOwnProperty(x)) continue;\n toReturn[i + '.' + x] = flatObject[x];\n }\n } else {\n toReturn[i] = ob[i];\n }\n }\n return toReturn;\n};\n","let Dataset; /* injected */\n\nimport { each } from '../../utils/each';\nimport { flatten } from '../utils/flatten';\nimport { valueAtDeepKey } from '../utils/object';\n\nexport default function initialize(lib){\n Dataset = lib;\n return function(name){\n var options = Array.prototype.slice.call(arguments, 1);\n\n if (!parsers[name]) {\n throw 'Requested parser does not exist';\n }\n else {\n return parsers[name].apply(this, options);\n }\n };\n}\n\nfunction parseMetric(){\n return function(res){\n return new Dataset()\n .set(['Value', 'Result'], res.result)\n .type('metric');\n }\n}\n\n//var myParser = Dataset.parser('interval', 'timeframe.end');\nfunction parseInterval(){\n var options = Array.prototype.slice.call(arguments);\n return function(res){\n var dataset = new Dataset()\n .type('interval');\n each(res.result, function(record, i){\n var index = options[0] && options[0] === 'timeframe.end' ? record.timeframe.end : record.timeframe.start;\n dataset.set(['Result', index], record.value);\n });\n return dataset;\n }\n}\n\nfunction parseGroupedMetric(){\n return function(res){\n var dataset = new Dataset()\n .type('grouped-metric');\n each(res.result, function(record, i){\n var label;\n each(record, function(value, key){\n if (key !== 'result') {\n label = key;\n }\n });\n dataset.set(['Result', String(record[label])], record.result);\n });\n return dataset;\n }\n}\n\n//var myParser = Dataset.parser('grouped-interval', 'timeframe.end');\nfunction parseGroupedInterval(){\n var options = Array.prototype.slice.call(arguments);\n return function(res){\n var dataset = new Dataset()\n .type('grouped-interval');\n each(res.result, function(record, i){\n var index = options[0] && options[0] === 'timeframe.end' ? record.timeframe.end : record.timeframe.start;\n if (record.value.length) {\n each(record.value, function(group, j){\n var label;\n each(group, function(value, key){\n if (key !== 'result') {\n label = key;\n }\n });\n dataset.set([ String(group[label]), index ], group.result);\n });\n }\n else {\n dataset.appendRow(index);\n }\n });\n return dataset;\n }\n}\n\n//var myParser = Dataset.parser('double-grouped-metric', ['first', 'second']);\nfunction parseDoubleGroupedMetric(){\n var options = Array.prototype.slice.call(arguments);\n if (!options[0]) throw 'Requested parser requires a sequential list (array) of properties to target as a second argument';\n return function(res){\n var dataset = new Dataset()\n .type('double-grouped-metric');\n each(res.result, function(record, i){\n var rowLabel = record[options[0][0]] + ' ' + record[options[0][1]];\n dataset.set([ 'Result', rowLabel ], record.result);\n });\n return dataset;\n }\n}\n\n//var myParser = Dataset.parser('double-grouped-interval', ['first', 'second'], 'timeframe.end');\nfunction parseDoubleGroupedInterval(){\n var options = Array.prototype.slice.call(arguments);\n if (!options[0]) throw 'Requested parser requires a sequential list (array) of properties to target as a second argument';\n return function(res){\n var dataset = new Dataset()\n .type('double-grouped-interval');\n each(res.result, function(record, i){\n var index = options[1] && options[1] === 'timeframe.end' ? record.timeframe.end : record.timeframe.start;\n each(record['value'], function(value, j){\n var label = value[options[0][0]] + ' ' + value[options[0][1]];\n dataset.set([ label, index ], value.result);\n });\n });\n return dataset;\n }\n}\n\nfunction parseFunnel(){\n return function(res){\n var result, steps, dataset;\n if (typeof res.steps !== 'undefined'\n && typeof res.result !== 'undefined'\n && res.result instanceof Array) {\n // Ad-hoc funnel response\n result = res.result;\n steps = res.steps;\n }\n else if (typeof res.result.steps !== 'undefined'\n && typeof res.result.result !== 'undefined'\n && res.result.result instanceof Array) {\n // Saved funnel response\n result = res.result.result;\n steps = res.result.steps;\n }\n dataset = new Dataset().type('funnel');\n dataset.appendColumn('Step Value');\n each(result, function(value, i){\n if (typeof steps !== 'undefined' && steps[i]) {\n dataset.appendRow(String(steps[i].event_collection), [value]);\n }\n });\n return dataset;\n }\n}\n\nfunction parseList(){\n return function(res){\n var dataset = new Dataset()\n .type('list');\n each(res.result, function(value, i){\n dataset.set( [ 'Result', String(i+1) ], value );\n });\n return dataset;\n }\n}\n\nfunction parseExtraction(){\n let config = this.config;\n return function(res){\n const datasetExtraction = new Dataset()\n .type('extraction');\n // create header\n for (let i=0; i<1; i++){\n let record = res.result[i];\n each(flatten(record), function(value, key){\n datasetExtraction.set([ key, String(i+1) ], value);\n });\n }\n\n // get keys of the Object\n let names = Object.keys(flatten(res.result[0]));\n\n if (Dataset) {\n if (config.table\n && config.table.columns) {\n names = config.table.columns;\n }\n }\n\n for (let i=0; i -1) {\n\n if (typeof input === 'function') {\n\n each(self.data(), function(row, i){\n var cell;\n if (i > 0) {\n cell = input.call(self, row[index], i, row);\n if (typeof cell !== 'undefined') {\n self.matrix[i][index] = cell;\n }\n }\n });\n\n } else if (!input || input instanceof Array) {\n input = input || [];\n\n if (input.length <= self.data().length - 1) {\n input = input.concat( createNullList(self.data().length - 1 - input.length) );\n }\n else {\n // If this new column is longer than existing columns,\n // we need to update the rest to match ...\n each(input, function(value, i){\n if (self.matrix.length -1 < input.length) {\n appendRow.call(self, String( self.matrix.length ));\n }\n });\n }\n\n each(input, function(value, i){\n self.matrix[i+1][index] = value;\n });\n\n }\n\n }\n return self;\n}\n\nexport function updateRow(q, input){\n var self = this,\n index = (typeof q === 'number') ? q : this.selectColumn(0).indexOf(q);\n\n if (index > -1) {\n\n if (typeof input === 'function') {\n\n each(self.data()[index], function(value, i){\n var col = self.selectColumn(i),\n cell = input.call(self, value, i, col);\n if (typeof cell !== 'undefined') {\n self.matrix[index][i] = cell;\n }\n });\n\n } else if (!input || input instanceof Array) {\n input = input || [];\n\n if (input.length <= self.matrix[0].length - 1) {\n input = input.concat( createNullList( self.matrix[0].length - 1 - input.length ) );\n }\n else {\n each(input, function(value, i){\n if (self.matrix[0].length -1 < input.length) {\n appendColumn.call(self, String( self.matrix[0].length ));\n }\n });\n }\n\n each(input, function(value, i){\n self.matrix[index][i+1] = value;\n });\n }\n\n }\n return self;\n}\n","import { each } from '../../utils/each';\nimport analysesUtilMethods from '../utils/analyses';\n\nexport function sortColumns(str, comp) {\n var self = this,\n head = this.matrix[0].slice(1), // minus index\n cols = [],\n clone = [],\n fn = comp || analysesUtilMethods.getColumnLabel;\n\n // Isolate each column (except the index)\n each(head, function(cell, i) {\n cols.push(self.selectColumn(i+1).slice(0));\n });\n cols.sort(function(a,b){\n // If fn(a) > fn(b)\n var op = fn.call(self, a) > fn.call(self, b);\n if (op) {\n return (str === 'asc' ? 1 : -1);\n } else if (!op) {\n return (str === 'asc' ? -1 : 1);\n } else {\n return 0;\n }\n });\n each(cols, function(col, i) {\n self\n .deleteColumn(i+1)\n .insertColumn(i+1, col[0], col.slice(1));\n });\n return self;\n}\n\nexport function sortRows(str, comp) {\n var self = this,\n head = this.matrix.slice(0,1),\n body = this.matrix.slice(1),\n fn = comp || analysesUtilMethods.getRowIndex;\n body.sort(function(a, b){\n // If fn(a) > fn(b)\n var op = fn.call(self, a) > fn.call(self, b);\n if (op) {\n return (str === 'asc' ? 1 : -1);\n } else if (!op) {\n return (str === 'asc' ? -1 : 1);\n } else {\n return 0;\n }\n });\n self.data(head.concat(body));\n return self;\n}\n","import { each } from '../../utils/each';\n\nexport function selectColumn(q) {\n const result = [];\n const index = (typeof q === 'number') ? q : this.matrix[0].indexOf(q);\n\n if (index > -1 && typeof this.matrix[0][index] !== 'undefined') {\n each(this.matrix, function(row, i) {\n result.push(row[index]);\n });\n }\n return result;\n}\n\nexport function selectRow(q) {\n let result = [];\n const index = (typeof q === 'number') ? q : this.selectColumn(0).indexOf(q);\n\n if (index > -1 && typeof this.matrix[index] !== 'undefined') {\n result = this.matrix[index];\n }\n return result;\n}\n","import { each } from '../../utils/each';\nimport createNullList from '../utils/create-null-list';\nimport { appendRow, appendColumn } from './append';\n\nexport function insertColumn(index, str, input) {\n const self = this;\n const label = (str !== undefined) ? str : null;\n\n if (typeof input === 'function') {\n\n self.matrix[0].splice(index, 0, label);\n each(self.matrix, function(row, i) {\n var cell;\n if (i > 0) {\n cell = input.call(self, row, i);\n if (typeof cell === 'undefined') {\n cell = null;\n }\n self.matrix[i].splice(index, 0, cell);\n }\n });\n\n }\n\n else if (!input || input instanceof Array) {\n input = input || [];\n\n if (input.length <= self.matrix.length - 1) {\n input = input.concat( createNullList(self.matrix.length - 1 - input.length) );\n }\n else {\n // If this new column is longer than existing columns,\n // we need to update the rest to match ...\n each(input, function(value, i){\n if (self.matrix.length -1 < input.length) {\n appendRow.call(self, String( self.matrix.length ));\n }\n });\n }\n\n self.matrix[0].splice(index, 0, label);\n each(input, function(value, i){\n self.matrix[i+1].splice(index, 0, value);\n });\n\n }\n return self;\n}\n\nexport function insertRow(index, str, input) {\n const self = this;\n const newRow = [];\n const label = (str !== undefined) ? str : null;\n newRow.push(label);\n\n if (typeof input === 'function') {\n each(self.matrix[0], function(label, i) {\n let col;\n let cell;\n if (i > 0) {\n col = self.selectColumn(i);\n cell = input.call(self, col, i);\n if (typeof cell === 'undefined') {\n cell = null;\n }\n newRow.push(cell);\n }\n });\n self.matrix.splice(index, 0, newRow);\n }\n\n else if (!input || input instanceof Array) {\n input = input || [];\n\n if (input.length <= self.matrix[0].length - 1) {\n input = input.concat( createNullList( self.matrix[0].length - 1 - input.length ) );\n }\n else {\n each(input, function(value, i){\n if (self.matrix[0].length -1 < input.length) {\n appendColumn.call(self, String( self.matrix[0].length ));\n }\n });\n }\n\n self.matrix.splice(index, 0, newRow.concat(input) );\n }\n\n return self;\n}\n","import { each } from '../../utils/each';\n\nexport function filterColumns(fn) {\n const self = this;\n const clone = [];\n\n each(self.matrix, function(row, i) {\n clone.push([]);\n });\n\n each(self.matrix[0], function(col, i){\n var selectedColumn = self.selectColumn(i);\n if (i == 0 || fn.call(self, selectedColumn, i)) {\n each(selectedColumn, function(cell, ri){\n clone[ri].push(cell);\n });\n }\n });\n\n self.data(clone);\n return self;\n}\n\nexport function filterRows(fn) {\n const self = this;\n const clone = [];\n\n each(self.matrix, function(row, i){\n if (i == 0 || fn.call(self, row, i)) {\n clone.push(row);\n }\n });\n\n self.data(clone);\n return self;\n}\n","import { each } from '../../utils/each';\n\nexport function deleteColumn(q) {\n const self = this;\n const index = (typeof q === 'number') ? q : this.matrix[0].indexOf(q);\n\n if (index > -1) {\n each(self.matrix, function(row, i){\n self.matrix[i].splice(index, 1);\n });\n }\n return self;\n}\n\nexport function deleteRow(q) {\n var index = (typeof q === 'number') ? q : this.selectColumn(0).indexOf(q);\n\n if (index > -1) {\n this.matrix.splice(index, 1);\n }\n return this;\n}\n","import * as d3 from \"d3\";\nimport c3 from 'c3';\n\nimport pkg from '../package.json';\nimport data from './data';\nimport { Dataset } from './dataset';\n\n// Utils\nimport { each } from './utils/each';\nimport isDateString from './utils/assert-date-string';\nimport { stripHtmlTags } from './utils/strip-html-tags';\nimport { escapeHtml } from './utils/escape-html';\nimport libraries from './libraries';\nimport { extendDeep } from './utils/extend-deep';\n\n// Constructor\nexport const Dataviz = function (options = {}) {\n if (this instanceof Dataviz === false) {\n return new Dataviz(options);\n }\n\n this.c3 = c3; // expose for use outside\n this.d3 = d3;\n\n const datavizInstance = this;\n\n const defaultOptions = {\n showDeprecationWarnings: true,\n showLoadingSpinner: false,\n\n container: undefined, // querySelector of container, for example '#someDiv'\n containerElement: undefined, // HTML parent element for the chart\n\n // width: undefined, *deprecated* - use CSS\n // height: undefined, *deprecated* - use CSS\n\n title: undefined,\n showTitle: true,\n\n notes: undefined,\n theme: 'keen-dataviz',\n\n colors: [\n '#00bbde', '#fe6672', '#eeb058', '#8a8ad6', '#ff855c', '#00cfbb',\n '#5a9eed', '#73d483', '#c879bb', '#0099b6', '#d74d58', '#cb9141',\n '#6b6bb6', '#d86945', '#00aa99', '#4281c9', '#57b566', '#ac5c9e',\n '#27cceb', '#ff818b', '#f6bf71', '#9b9be1', '#ff9b79', '#26dfcd',\n '#73aff4', '#87e096', '#d88bcb',\n ],\n\n colorMapping: {},\n\n indexBy: 'timeframe.start',\n labels: [],\n labelMapping: {},\n labelMappingRegExp: undefined,\n errorMapping: {},\n showErrorMessages: true,\n library: 'default',\n sortGroups: undefined,\n sortIntervals: undefined,\n\n results: undefined, // raw data\n\n // C3 chartOptions\n type: undefined,\n stacked: false,\n dateFormat: undefined,\n legend: {\n show: true,\n position: 'right',\n label: {\n textMaxLength: 12\n },\n pagination: {\n offset: 0, // start from\n limit: 5 // items per page\n },\n tooltip: {\n show: true,\n pointer: true\n },\n sort: undefined\n },\n\n axis: {},\n color: {},\n data: {\n order: null\n },\n size: {\n // control it with CSS of .c3-chart\n },\n padding: {\n top: 15\n },\n point: {\n focus: {\n expand: {\n enabled: false\n }\n },\n r: 2,\n show: true\n },\n tooltip: {\n format: {\n // https://c3js.org/samples/tooltip_format.html\n }\n },\n transition: {\n // duration: 0\n },\n data: {\n selection: {\n enabled: true,\n draggable: true,\n multiple: true\n }\n },\n grid: {\n y: {\n show: true\n }\n },\n partialIntervalIndicator: {\n show: undefined,\n className: 'partial-interval-indicator'\n },\n timezone: 'UTC',\n table: {},\n renderOnVisible: false\n };\n\n this.config = { ...extendDeep(defaultOptions, options) };\n\n if (this.config.type) {\n // backward compatibility with v2016... areachart -> area\n this.config.type = convertChartTypes(this.config.type);\n }\n\n // get DOM node by query\n if (this.config.container) {\n this.el(this.config.container);\n }\n\n if (options.legend !== undefined && !options.legend) {\n this.config.legend = {\n ...options,\n show: false\n };\n }\n\n if (options.color && options.color.pattern) {\n // to match c3 options\n this.config.colors = options.color.pattern;\n }\n\n if (this.config.legend\n && this.config.legend.tooltip\n && this.config.legend.tooltip.show === false\n && this.config.tooltip.show === undefined) {\n this.config.tooltip = { show: false };\n }\n\n if (options.color && options.color.pattern) {\n // to match c3 options\n this.config.colors = options.color.pattern;\n }\n\n this.dataset = new Dataset(this.config);\n this.view = {\n _prepared: false,\n _rendered: false,\n _artifacts: { /* state bin */ }\n };\n\n Dataviz.visuals.push(this);\n\n if (this.config.showLoadingSpinner) {\n this.prepare();\n }\n\n if (!!this.config.results) {\n this.render(this.config.results);\n }\n this.config.firstVisibilityState = document.visibilityState;\n};\n\nDataviz.libraries = { default: {} };\nif (typeof window !== 'undefined') {\n Dataviz.libraries.default = libraries(Dataviz);\n}\nDataviz.visuals = [];\n\nDataviz.register = function (name, actions) {\n Dataviz.libraries[name] = Dataviz.libraries[name] || {};\n each(actions, function(method, key){\n Dataviz.libraries[name][key] = method;\n });\n};\n\nDataviz.find = function(target){\n if (!arguments.length) return Dataviz.visuals;\n const el = target.nodeName ? target : document.querySelector(target);\n let match = null;\n each(Dataviz.visuals, function(visual){\n if (el == visual.config.container){\n match = visual;\n return false;\n }\n });\n return match;\n};\n\n\n // Prototype\n // ------------\n\nDataviz.prototype.attributes = function(obj){\n if (this.config.showDeprecationWarnings) {\n console.log('.attributes() is deprecated. Use: new KeenDataviz({ _your_value_here_ })');\n }\n if (!arguments.length) return this.config;\n const view = this.config;\n each(obj, function(prop, key){\n // Handle deprecated property names\n if (key === 'chartType') {\n key = 'type';\n }\n view[key] = prop;\n });\n return this;\n};\n\nDataviz.prototype.call = function(fn){\n fn.call(this);\n return this;\n};\n\nDataviz.prototype.chartOptions = function(obj){\n if (this.config.showDeprecationWarnings) {\n console.log('.chartOptions() is deprecated. Use: new KeenDataviz({ _your_value_here_ })');\n }\n if (!arguments.length) return this.config;\n this.config = extendDeep(this.config, obj);\n return this;\n};\n\nDataviz.prototype.colors = function(arr){\n if (this.config.showDeprecationWarnings) {\n console.log('.colors() is deprecated. Use: new KeenDataviz({ colors: _your_value_here_ })');\n }\n if (!arguments.length) return this.config.colors;\n this.config.colors = (arr instanceof Array ? arr : []);\n return this;\n};\n\nDataviz.prototype.colorMapping = function(obj){\n if (this.config.showDeprecationWarnings) {\n console.log('.colorMapping() is deprecated. Use: new KeenDataviz({ colorMapping: _your_value_here_ })');\n }\n const datavizInstance = this;\n if (!arguments.length) return this.config.colorMapping;\n if (obj === null) {\n this.config.colorMapping = {};\n }\n else if (typeof obj === 'object') {\n each(obj, function(value, key){\n datavizInstance.config.colorMapping[key] = (value ? value : null);\n });\n }\n return this;\n};\n\nDataviz.prototype.data = data;\n\nDataviz.prototype.dateFormat = function(val){\n if (this.config.showDeprecationWarnings) {\n console.log('.dateFormat() is deprecated. Use: new KeenDataviz({ dateFormat: _your_value_here_ })');\n }\n if (!arguments.length) return this.config.dateFormat;\n if (typeof val === 'string' || typeof val === 'function') {\n this.config.dateFormat = val;\n }\n else {\n this.config.dateFormat = undefined;\n }\n return this;\n};\n\nDataviz.prototype.destroy = function(){\n const library = this.library();\n const type = this.config.type;\n const element = this.el();\n\n // Call destroy method if present\n if (Dataviz.libraries[library]\n && Dataviz.libraries[library][type]){\n Dataviz.libraries[library][type].destroy.call(this);\n }\n\n // Clear rendered artifacts, state bin\n if (element) {\n element.innerHTML = '';\n }\n this.view._prepared = false;\n this.view._rendered = false;\n this.view._artifacts = {};\n return this;\n};\n\nDataviz.prototype.el = function(target){\n const datavizInstance = this;\n if (!arguments.length) return this.config.containerElement;\n domReady(function(){\n if (target && target !== null) {\n if (target.nodeName) {\n datavizInstance.config.containerElement = target;\n }\n else if (document.querySelector) {\n datavizInstance.config.containerElement = document.querySelector(target);\n }\n }\n else {\n datavizInstance.config.containerElement = undefined;\n }\n });\n return this;\n};\n\nDataviz.prototype.height = function(num){\n if (this.config.showDeprecationWarnings) {\n console.log('.height() is deprecated - use CSS classes');\n }\n return this;\n};\n\n// IMPORTANT: Must be run before data parsing\nDataviz.prototype.indexBy = function(str){\n if (this.config.showDeprecationWarnings) {\n console.log('.indexBy() is deprecated. Use: new KeenDataviz({ indexBy: _your_value_here_ })');\n }\n if (!arguments.length) return this.config.indexBy;\n this.config.indexBy = (str ? String(str) : 'timeframe.start');\n return this;\n};\n\nDataviz.prototype.labels = function(arr){\n if (this.config.showDeprecationWarnings) {\n console.log('.labels() is deprecated. Use: new KeenDataviz({ labels: _your_value_here_ })');\n }\n\n if (!arguments.length) return this.config.labels;\n this.config.labels = (arr instanceof Array ? arr : []);\n\n setLabels(this);\n\n return this;\n};\n\nfunction setLabels(datavizInstance){\n // Write labels\n if (datavizInstance.data()[0].length === 2 && !isDateString(datavizInstance.data()[1][0])) {\n datavizInstance.dataset.updateColumn(0, function(value, index){\n if (datavizInstance.config.labels[index-1]) {\n return stripHtmlTags(String(datavizInstance.config.labels[index-1]));\n }\n return stripHtmlTags(value);\n }.bind(datavizInstance));\n }\n else {\n datavizInstance.dataset.updateRow(0, function(value, index){\n if (index > 0 && datavizInstance.config.labels[index-1]) {\n return stripHtmlTags(String(datavizInstance.config.labels[index-1]));\n }\n return stripHtmlTags(value);\n }.bind(datavizInstance));\n }\n}\n\nDataviz.prototype.labelMapping = function(obj){\n if (this.config.showDeprecationWarnings) {\n console.log('.labelMapping() is deprecated. Use: new KeenDataviz({ labelMapping: _your_value_here_ })');\n }\n if (!arguments.length) return this.config.labelMapping;\n if (obj === null) {\n this.config.labelMapping = {};\n }\n else if (typeof obj === 'object') {\n each(obj, function(value, key){\n this.config.labelMapping[key] = (value ? value : null);\n }.bind(this));\n }\n\n mapLabels(this);\n\n return this;\n};\n\nfunction mapLabelsExec({ datavizInstance, value }){\n if (datavizInstance.config.labelMappingRegExp){\n let valueAfterMatching = value;\n datavizInstance.config.labelMappingRegExp.forEach(regExpAndLabel => {\n if (regExpAndLabel.length > 1) {\n let regExpObj = regExpAndLabel[0];\n if (regExpObj.test(value)){\n valueAfterMatching = regExpAndLabel[1];\n }\n }\n });\n return stripHtmlTags(valueAfterMatching);\n }\n if (datavizInstance.config.labelMapping[value]) {\n return stripHtmlTags(String(datavizInstance.config.labelMapping[value]));\n }\n return stripHtmlTags(value);\n}\n\nfunction mapLabels(datavizInstance){\n // Write labels\n if (!datavizInstance.config.labelMappingDimension) {\n // if not defined use deprecated auto-detecting\n if (datavizInstance.data()[0].length === 2 && !isDateString(datavizInstance.data()[1][0])) {\n datavizInstance.config.labelMappingDimension = 'row';\n } else {\n datavizInstance.config.labelMappingDimension = 'column';\n }\n }\n\n if (datavizInstance.config.labelMappingDimension === 'row'\n || datavizInstance.config.labelMappingDimension === 'both') {\n datavizInstance.dataset.updateColumn(0, function(value){\n return mapLabelsExec({ datavizInstance, value });\n }.bind(datavizInstance));\n }\n\n if (datavizInstance.config.labelMappingDimension === 'column'\n || datavizInstance.config.labelMappingDimension === 'both') {\n datavizInstance.dataset.updateRow(0, function(value){\n return mapLabelsExec({ datavizInstance, value });\n }.bind(datavizInstance));\n }\n}\n\nDataviz.prototype.library = function(str){\n if (!arguments.length) return this.config['library'];\n this.config['library'] = (str ? String(str) : null);\n return this;\n};\n\nDataviz.prototype.message = function(){\n if (this.view._rendered) {\n this.destroy();\n }\n if (this.el()) {\n this.el().innerHTML = '';\n const message = Dataviz.libraries.default.message;\n if (message.render) {\n message.render.apply(this, arguments);\n }\n }\n return this;\n};\n\nDataviz.prototype.notes = function(str){\n if (this.config.showDeprecationWarnings) {\n console.log('.notes() is deprecated. Use: new KeenDataviz({ notes: _your_value_here_ })');\n }\n if (!arguments.length) return this.config.notes;\n this.config.notes = (str ? String(str) : null);\n return this;\n};\n\nDataviz.prototype.prepare = function(){\n const datavizInstance = this;\n\n if (!this.el()) {\n throw `${this.config.container} not found. A DOM parent element is required to mount the chart.`;\n return;\n }\n\n domReady(function(){\n if (datavizInstance.view._rendered) {\n datavizInstance.destroy();\n }\n if (datavizInstance.el()) {\n datavizInstance.el().innerHTML = '';\n const loader = Dataviz.libraries.default.spinner;\n if (loader.render) {\n loader.render.call(datavizInstance);\n }\n datavizInstance.view._prepared = true;\n }\n });\n\n return this;\n};\n\nDataviz.prototype.render = function(results = undefined){\n const datavizInstance = this;\n if (!!results) {\n const firstResult = results[0] || results;\n if (\n firstResult.query\n && firstResult.query.interval\n && firstResult.query.timeframe\n && firstResult.query.timeframe === 'string'\n && firstResult.query.timeframe.indexOf('this_') > -1\n && this.config.partialIntervalIndicator\n && this.config.partialIntervalIndicator.show === undefined\n )\n {\n this.config.partialIntervalIndicator.show = true;\n }\n\n if (Array.isArray(results)) {\n const timeframes = results.map(resultItem => resultItem.query.timeframe);\n timeframes.forEach(resultTimeframe => {\n let foundDifferent = timeframes.find(timeframeItem =>\n JSON.stringify(timeframeItem) !== JSON.stringify(resultTimeframe)\n );\n if (foundDifferent){\n const msg = 'Timeframes of the queries should be the same';\n console.error(msg);\n throw msg;\n }\n });\n // first result is important to prepare X on the chart\n return datavizInstance\n .data(results[0])\n .call(() => {\n const getLabel = (input) => {\n return `${input.query.event_collection} ${input.query.analysis_type}`;\n }\n let label = getLabel(results[0]);\n if (datavizInstance.config.labelMapping[label]) {\n label = datavizInstance.config.labelMapping[label];\n }\n this.dataset.deleteColumn(1);\n let firstResultPassed = false;\n for (let result of results) {\n label = getLabel(result);;\n let ds2 = Dataset.parser('interval')(result);\n datavizInstance.dataset.appendColumn(label, ds2.selectColumn(1).slice(1));\n }\n })\n .render();\n }\n\n return datavizInstance.data(results).render();\n }\n if (\n (!!this.config.labelMapping && Object.keys(this.config.labelMapping).length > 0)\n ||\n (!!this.config.labelMappingRegExp && this.config.labelMappingRegExp.length > 0)\n ){\n mapLabels(datavizInstance);\n }\n if (!!this.config.labels && Object.keys(this.config.labels).length > 0){\n setLabels(datavizInstance);\n }\n if (!!this.config.sortGroups) {\n sortGroups(datavizInstance);\n }\n if (!!this.config.sortIntervals) {\n sortIntervals(datavizInstance);\n }\n\n const loader = Dataviz.libraries.default.spinner;\n const library = this.config.library;\n const type = this.config.type;\n const containerElement = this.el();\n\n if (!containerElement || containerElement === undefined) {\n const msg = `${this.config.container} not found. A DOM parent element is required to mount the chart.`;\n console.error(msg);\n throw msg;\n return;\n }\n\n let returnValue = datavizInstance;\n\n if (datavizInstance.config.renderAsPromise) {\n returnValue = new Promise((resolve, reject) => {\n const customCallback = this.config.onrendered;\n datavizInstance.config.onrendered = () => {\n if (customCallback) {\n customCallback();\n }\n resolve(datavizInstance);\n }\n });\n }\n\n domReady(function(){\n if (datavizInstance.view._prepared && loader.destroy) {\n loader.destroy.apply(datavizInstance, arguments);\n }\n containerElement.innerHTML = '';\n\n if (Dataviz.libraries[library] === 'undefined'){\n // Error: Unregistered library\n const msg = `Incorrect library`;\n datavizInstance.message(msg);\n throw msg;\n return;\n }\n else {\n if (typeof Dataviz.libraries[library][type] === 'undefined') {\n const msg = `Incorrect chart type`;\n const mappedMsg = this.config.errorMapping[msg] || msg;\n datavizInstance.message(mappedMsg);\n throw msg;\n return;\n }\n else {\n buildDomWrapper(containerElement,\n datavizInstance.config\n );\n const { renderOnVisible } = datavizInstance.config;\n if(renderOnVisible){\n if(typeof IntersectionObserver !== 'undefined'){\n const chartVisibleCallback = (events, observer) => {\n events.forEach(el => {\n if(el.isIntersecting){\n if(!datavizInstance.view._rendered){\n Dataviz.libraries[library][type].render.call(datavizInstance);\n datavizInstance.view._rendered = true;\n }\n }\n })\n }\n const observer = new IntersectionObserver(chartVisibleCallback);\n observer.observe(containerElement);\n return;\n }\n }\n if(datavizInstance.config.firstVisibilityState === 'hidden'){\n if(typeof document !== 'undefined') {\n let hidden, visibilityChange;\n if (typeof document.hidden !== \"undefined\") {\n hidden = \"hidden\";\n visibilityChange = \"visibilitychange\";\n } else if (typeof document.msHidden !== \"undefined\") {\n hidden = \"msHidden\";\n visibilityChange = \"msvisibilitychange\";\n } else if (typeof document.webkitHidden !== \"undefined\") {\n hidden = \"webkitHidden\";\n visibilityChange = \"webkitvisibilitychange\";\n }\n const handleVisibilityChange = () => {\n if(!document[hidden]) {\n datavizInstance.view._artifacts.c3.load(datavizInstance.dataset.matrix);\n }\n }\n if(typeof document.addEventListener !== \"undefined\" ||\n hidden !== undefined){\n document.addEventListener(visibilityChange, handleVisibilityChange, {\n once: true\n });\n }\n }\n }\n Dataviz.libraries[library][type].render.call(datavizInstance);\n datavizInstance.view._rendered = true;\n }\n }\n });\n\n return returnValue;\n};\n\nDataviz.prototype.sortGroups = function(str){\n if (this.config.showDeprecationWarnings) {\n console.log('.sortGroups() is deprecated. Use: new KeenDataviz({ sortGroups: _your_value_here_ })');\n }\n if (!arguments.length) return this.config.sortGroups;\n this.config.sortGroups = (str ? String(str) : null);\n\n sortGroups(this, str);\n\n return this;\n};\n\nfunction sortGroups(datavizInstance){\n // Sort groups\n if (datavizInstance.config.sortGroups && datavizInstance.data().length > 1) {\n if (isDateString(datavizInstance.data()[1][0])) {\n datavizInstance.dataset.sortColumns(datavizInstance.config.sortGroups, datavizInstance.dataset.getColumnSum);\n }\n else {\n datavizInstance.dataset.sortRows(datavizInstance.config.sortGroups, datavizInstance.dataset.getRowSum);\n }\n }\n}\n\nDataviz.prototype.sortIntervals = function(str){\n if (this.config.showDeprecationWarnings) {\n console.log('.sortIntervals() is deprecated. Use: new KeenDataviz({ sortIntervals: _your_value_here_ })');\n }\n if (!arguments.length) return this.config.sortIntervals;\n this.config.sortIntervals = (str ? String(str) : null);\n\n sortIntervals(this);\n\n return this;\n};\n\nfunction sortIntervals(datavizInstance){\n if (datavizInstance.config.sortIntervals) {\n datavizInstance.dataset.sortRows(datavizInstance.config.sortIntervals);\n }\n}\n\nDataviz.prototype.stacked = function(bool){\n if (this.config.showDeprecationWarnings) {\n console.log('.stacked() is deprecated. Use: new KeenDataviz({ stacked: _your_value_here_ })');\n }\n if (!arguments.length) return this.config.stacked;\n this.config.stacked = bool ? true : false;\n return this;\n};\n\nDataviz.prototype.theme = function(str){\n if (this.config.showDeprecationWarnings) {\n console.log('.theme() is deprecated. Use: new KeenDataviz({ theme: _your_value_here_ })');\n }\n if (!arguments.length) return this.config.theme;\n this.config.theme = (str ? String(str) : null);\n return this;\n};\n\nDataviz.prototype.title = function(str){\n if (this.config.showDeprecationWarnings) {\n console.log('.title() is deprecated. Use: new KeenDataviz({ title: _your_value_here_ })');\n }\n if (!arguments.length) return this.config.title;\n this.config.title = (str ? String(str) : null);\n return this;\n};\n\nDataviz.prototype.type = function(str){\n if (this.config.showDeprecationWarnings) {\n console.log('.type() is deprecated. Use: new KeenDataviz({ type: _your_value_here_ })');\n }\n if (!arguments.length) return this.config.type;\n this.config.type = (str ? convertChartTypes(str) : null);\n return this;\n};\n\nDataviz.prototype.update = function(){\n const library = this.config.library;\n const type = this.config.type;\n const element = this.el();\n if (library && type && element && Dataviz.libraries[library][type].update) {\n Dataviz.libraries[library][type].update.apply(this, arguments);\n }\n return this;\n};\n\nDataviz.prototype.width = function(num){\n if (this.config.showDeprecationWarnings) {\n console.log('.width() is deprecated - use CSS classes');\n }\n return this;\n};\n\n// Deprecations\nDataviz.prototype.chartType = Dataviz.prototype.type;\nDataviz.prototype.error = Dataviz.prototype.message;\nDataviz.prototype.parseRawData = Dataviz.prototype.data;\nDataviz.prototype.parseRequest = function(){\n // this.emit('error', 'This method is no longer supported. Use .data() instead: https://github.com/keen/keen-dataviz.js#data');\n return this;\n};\nDataviz.prototype.initialize = function(){\n // this.emit('error', 'This method is no longer supported, and can be omitted as it has no impact');\n return this;\n};\n\nDataviz.version = pkg.version;\n\n// Private\n\nfunction buildDomWrapper(el, options) {\n let html = '';\n let chart100percentWide = '';\n if (options.legend.position === 'top' || options.legend.position === 'bottom') {\n chart100percentWide = 'c3-chart-100-percent';\n }\n\n let container = `
`;\n let align = 'horizontal';\n if (options.legend.position === 'left' || options.legend.position === 'right') {\n align = 'vertical';\n }\n if (options.legend && options.legend.show) {\n if (options.legend.position === 'top' || options.legend.position === 'left') {\n container = `
${container}`;\n } else {\n container = `${container}
`;\n }\n }\n html += `
`;\n if (options.title && options.showTitle) {\n html += `
${options.title}
`;\n }\n html += `
${container}
`;\n if (options.notes) {\n html += `
${options.notes}
`;\n }\n html += `
`;\n el.innerHTML = html;\n}\n\nfunction convertChartTypes(str) {\n const map = {\n areachart: 'area',\n barchart: 'horizontal-bar',\n columnchart: 'bar',\n linechart: 'line',\n piechart: 'pie',\n };\n return map[str] || str;\n}\n\nfunction testDom(fn) {\n if (/in/.test(document.readyState)) {\n setTimeout(function(){\n testDom(fn);\n }, 9);\n } else {\n fn();\n }\n}\n\nfunction domReady(fn) {\n if (typeof document !== 'undefined' || typeof window === 'undefined') {\n fn();\n return;\n }\n // Firefox 3.5 shim\n if (document.readyState == null && document.addEventListener) {\n document.addEventListener('DOMContentLoaded', function DOMContentLoaded() {\n document.removeEventListener('DOMContentLoaded', DOMContentLoaded, false);\n document.readyState = 'complete';\n }, false);\n document.readyState = 'loading';\n }\n testDom(fn);\n}\n\nexport { Dataset } from './dataset';\n\nexport default Dataviz;\n","import 'promise-polyfill/src/polyfill';\nimport { Dataviz, Dataset } from './index';\n\nmodule.exports = {\n default: Dataviz,\n Dataviz,\n Dataset,\n};\n"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap","webpack:///./node_modules/moment/moment.js","webpack:///./lib/utils/each.js","webpack:///external \"d3\"","webpack:///./lib/utils/pretty-number.js","webpack:///./lib/utils/escape-html.js","webpack:///./lib/utils/svg-text-wrap.js","webpack:///./lib/utils/extend.js","webpack:///./lib/utils/assert-date-string.js","webpack:///./lib/utils/strip-html-tags.js","webpack:///./lib/dataset/utils/create-null-list.js","webpack:///./lib/dataset/modifiers/append.js","webpack:///./node_modules/moment/locale/zh-tw.js","webpack:///./node_modules/moment/locale/zh-hk.js","webpack:///./node_modules/moment/locale/zh-cn.js","webpack:///./node_modules/moment/locale/yo.js","webpack:///./node_modules/moment/locale/x-pseudo.js","webpack:///./node_modules/moment/locale/vi.js","webpack:///./node_modules/moment/locale/uz-latn.js","webpack:///./node_modules/moment/locale/uz.js","webpack:///./node_modules/moment/locale/ur.js","webpack:///./node_modules/moment/locale/uk.js","webpack:///./node_modules/moment/locale/ug-cn.js","webpack:///./node_modules/moment/locale/tzm-latn.js","webpack:///./node_modules/moment/locale/tzm.js","webpack:///./node_modules/moment/locale/tzl.js","webpack:///./node_modules/moment/locale/tr.js","webpack:///./node_modules/moment/locale/tlh.js","webpack:///./node_modules/moment/locale/tl-ph.js","webpack:///./node_modules/moment/locale/th.js","webpack:///./node_modules/moment/locale/tg.js","webpack:///./node_modules/moment/locale/tet.js","webpack:///./node_modules/moment/locale/te.js","webpack:///./node_modules/moment/locale/ta.js","webpack:///./node_modules/moment/locale/sw.js","webpack:///./node_modules/moment/locale/sv.js","webpack:///./node_modules/moment/locale/ss.js","webpack:///./node_modules/moment/locale/sr-cyrl.js","webpack:///./node_modules/moment/locale/sr.js","webpack:///./node_modules/moment/locale/sq.js","webpack:///./node_modules/moment/locale/sl.js","webpack:///./node_modules/moment/locale/sk.js","webpack:///./node_modules/moment/locale/si.js","webpack:///./node_modules/moment/locale/se.js","webpack:///./node_modules/moment/locale/sd.js","webpack:///./node_modules/moment/locale/ru.js","webpack:///./node_modules/moment/locale/ro.js","webpack:///./node_modules/moment/locale/pt-br.js","webpack:///./node_modules/moment/locale/pt.js","webpack:///./node_modules/moment/locale/pl.js","webpack:///./node_modules/moment/locale/pa-in.js","webpack:///./node_modules/moment/locale/nn.js","webpack:///./node_modules/moment/locale/nl-be.js","webpack:///./node_modules/moment/locale/nl.js","webpack:///./node_modules/moment/locale/ne.js","webpack:///./node_modules/moment/locale/nb.js","webpack:///./node_modules/moment/locale/my.js","webpack:///./node_modules/moment/locale/mt.js","webpack:///./node_modules/moment/locale/ms-my.js","webpack:///./node_modules/moment/locale/ms.js","webpack:///./node_modules/moment/locale/mr.js","webpack:///./node_modules/moment/locale/mn.js","webpack:///./node_modules/moment/locale/ml.js","webpack:///./node_modules/moment/locale/mk.js","webpack:///./node_modules/moment/locale/mi.js","webpack:///./node_modules/moment/locale/me.js","webpack:///./node_modules/moment/locale/lv.js","webpack:///./node_modules/moment/locale/lt.js","webpack:///./node_modules/moment/locale/lo.js","webpack:///./node_modules/moment/locale/lb.js","webpack:///./node_modules/moment/locale/ky.js","webpack:///./node_modules/moment/locale/ko.js","webpack:///./node_modules/moment/locale/kn.js","webpack:///./node_modules/moment/locale/km.js","webpack:///./node_modules/moment/locale/kk.js","webpack:///./node_modules/moment/locale/ka.js","webpack:///./node_modules/moment/locale/jv.js","webpack:///./node_modules/moment/locale/ja.js","webpack:///./node_modules/moment/locale/it.js","webpack:///./node_modules/moment/locale/is.js","webpack:///./node_modules/moment/locale/id.js","webpack:///./node_modules/moment/locale/hy-am.js","webpack:///./node_modules/moment/locale/hu.js","webpack:///./node_modules/moment/locale/hr.js","webpack:///./node_modules/moment/locale/hi.js","webpack:///./node_modules/moment/locale/he.js","webpack:///./node_modules/moment/locale/gu.js","webpack:///./node_modules/moment/locale/gom-latn.js","webpack:///./node_modules/moment/locale/gl.js","webpack:///./node_modules/moment/locale/gd.js","webpack:///./node_modules/moment/locale/fy.js","webpack:///./node_modules/moment/locale/fr-ch.js","webpack:///./node_modules/moment/locale/fr-ca.js","webpack:///./node_modules/moment/locale/fr.js","webpack:///./node_modules/moment/locale/fo.js","webpack:///./node_modules/moment/locale/fi.js","webpack:///./node_modules/moment/locale/fa.js","webpack:///./node_modules/moment/locale/eu.js","webpack:///./node_modules/moment/locale/et.js","webpack:///./node_modules/moment/locale/es-us.js","webpack:///./node_modules/moment/locale/es-do.js","webpack:///./node_modules/moment/locale/es.js","webpack:///./node_modules/moment/locale/eo.js","webpack:///./node_modules/moment/locale/en-nz.js","webpack:///./node_modules/moment/locale/en-il.js","webpack:///./node_modules/moment/locale/en-ie.js","webpack:///./node_modules/moment/locale/en-gb.js","webpack:///./node_modules/moment/locale/en-ca.js","webpack:///./node_modules/moment/locale/en-au.js","webpack:///./node_modules/moment/locale/el.js","webpack:///./node_modules/moment/locale/dv.js","webpack:///./node_modules/moment/locale/de-ch.js","webpack:///./node_modules/moment/locale/de-at.js","webpack:///./node_modules/moment/locale/de.js","webpack:///./node_modules/moment/locale/da.js","webpack:///./node_modules/moment/locale/cy.js","webpack:///./node_modules/moment/locale/cv.js","webpack:///./node_modules/moment/locale/cs.js","webpack:///./node_modules/moment/locale/ca.js","webpack:///./node_modules/moment/locale/bs.js","webpack:///./node_modules/moment/locale/br.js","webpack:///./node_modules/moment/locale/bo.js","webpack:///./node_modules/moment/locale/bn.js","webpack:///./node_modules/moment/locale/bm.js","webpack:///./node_modules/moment/locale/bg.js","webpack:///./node_modules/moment/locale/be.js","webpack:///./node_modules/moment/locale/az.js","webpack:///./node_modules/moment/locale/ar-tn.js","webpack:///./node_modules/moment/locale/ar-sa.js","webpack:///./node_modules/moment/locale/ar-ma.js","webpack:///./node_modules/moment/locale/ar-ly.js","webpack:///./node_modules/moment/locale/ar-kw.js","webpack:///./node_modules/moment/locale/ar-dz.js","webpack:///./node_modules/moment/locale/ar.js","webpack:///./node_modules/moment/locale/af.js","webpack:///./lib/utils/extend-deep.js","webpack:///external \"c3\"","webpack:///./lib/dataset/utils/analyses.js","webpack:///./lib/dataset/index.js","webpack:///./node_modules/promise-polyfill/src/finally.js","webpack:///./node_modules/promise-polyfill/src/index.js","webpack:///./node_modules/promise-polyfill/src/polyfill.js","webpack:///./lib/libraries/default/horizontal-funnel-3d.js","webpack:///./lib/libraries/default/horizontal-funnel.js","webpack:///./lib/libraries/default/funnel-3d.js","webpack:///./lib/libraries/default/funnel.js","webpack:///./lib/libraries/default/spinner.js","webpack:///./node_modules/moment/locale sync ^\\.\\/.*$","webpack:///(webpack)/buildin/module.js","webpack:///./node_modules/moment-timezone/moment-timezone.js","webpack:///./node_modules/moment-timezone/index.js","webpack:///./lib/libraries/default/table.js","webpack:///./lib/libraries/default/metric.js","webpack:///./lib/libraries/default/message.js","webpack:///./lib/libraries/c3/extensions/tooltip-contents.js","webpack:///./lib/libraries/c3/extensions/paginating-legend.js","webpack:///./lib/libraries/c3/extensions/default-date-format.js","webpack:///./lib/libraries/index.js","webpack:///./lib/data.js","webpack:///./lib/dataset/utils/object.js","webpack:///./lib/dataset/utils/flatten.js","webpack:///./lib/dataset/utils/parsers.js","webpack:///./lib/dataset/modifiers/update.js","webpack:///./lib/dataset/modifiers/sort.js","webpack:///./lib/dataset/modifiers/select.js","webpack:///./lib/dataset/modifiers/insert.js","webpack:///./lib/dataset/modifiers/filter.js","webpack:///./lib/dataset/modifiers/delete.js","webpack:///./lib/index.js","webpack:///./lib/server.js"],"names":["each","o","cb","s","n","Array","length","call","hasOwnProperty","prettyNumber","input","Number","sciNo","toPrecision","prefix","suffixes","String","Math","abs","recurse","iteration","split","rhs","charAt","numNumerals","escapeHtml","matchHtmlRegExp","string","str","match","exec","escape","html","index","lastIndex","charCodeAt","substring","textWrap","d3","text","width","select","words","reverse","word","line","lineNumber","lineHeight","x","attr","y","dy","tspan","append","pop","push","join","node","getComputedTextLength","extend","target","i","arguments","prop","testObject","testString","getTime","isNaN","ISO_8601","test","stripHtmlTags","inputString","replace","len","list","appendColumn","appendRow","self","args","prototype","slice","label","undefined","matrix","row","cell","concat","value","newRow","col","selectColumn","extendDeep","key","average","arr","start","end","set","sum","avg","val","parseFloat","maximum","nums","max","apply","minimum","min","getColumnAverage","getRowAverage","getColumnSum","getRowSum","getColumnMaximum","getRowMaximum","getColumnMinimum","getRowMinimum","getColumnLabel","getRowIndex","del","filter","insert","sort","update","Dataset","config","meta","type","data","coords","Error","colIndex","indexOf","rowIndex","colResult","rowResult","selectRow","analyses","parser","HorizontalFunnel3d","dataset","colors","container","labelMapping","colorMapping","opts","funnel","percents","show","countingMethod","decimals","lines","resultValues","effect3d","hover","margin","top","right","bottom","left","funnelContainer","chartContainer","chart","svgWidth","style","svgHeight","elemWidth","xMarginElement","shadowCut","prevElemHeight","percent","toFixed","polygons","map","d","newPoints","Object","keys","result","parseInt","name","points","polygonsShadows","polygons3d","selectAll","enter","p","rgb","darker","handleMouseOver","polygonsHover","labelHover","thisLabel","handleMouseOut","on","destroy","render","remove","HorizontalFunnel","marginBetweenSteps","Funnel3d","elemHeight","yMarginElement","prevElemWidth","Funnel","artifacts","view","_artifacts","spinner","theme","el","innerHTML","interval","clearInterval","radius","e","defaults","currentPage","_generateTableRows","datavizInstance","defaultConfig","page","limit","arrows","customConfig","table","pagination","datasetPaginated","pages","ceil","columnsArray","columns","checkArray","mapValues","entries","rowCol","timezone","Date","dateTimeTimezoned","moment","tz","clone","toString","rowColEscaped","pageNumber","prevPage","nextPage","_generateTableHeader","fieldNumber","columnNames","colName","colNameEscaped","isEmpty","msg","mappedMsg","errorMapping","showErrorMessages","message","querySelector","querySelectorAll","forEach","item","addEventListener","event","sortOrder","getAttribute","checker","a","b","sortOrderNumber","nameA","toUpperCase","nameB","setAttribute","first","shift","unshift","attachBtnEventListeners","btn","onrendered","color","title","suffix","formattedNum","valueEl","flexDifferenceStyle","resultDifference","differenceStyle","smallerValue","results","previousResults","outer","document","createElement","inner","titleContainer","notesContainer","className","notes","appendChild","showTitle","defaultTitleFormat","defaultValueFormat","nameFormat","tooltip_format_name","titleFormat","tooltip_format_title","valueFormat","tooltip_format_value","CLASS","tooltip","ratio","id","bgcolor","levelColor","tooltipName","options","cols","c3","domNode","legendConfig","legend","hidden","labels","offset","round","offsetHeight","total","columnsSorted","dataColumnsSorted","columnData","find","column","legendElement","align","position","paginateHorizontalLeftElement","legendItemsElement","paginateVerticalElement","paginateHorizontalRightElement","paginateData","renderLegendComponent","renderPaginationComponent","onPaginated","labelShortened","textMaxLength","legendItem","chartPartId","legendItemColorSample","backgroundColor","prepend","tooltipElement","focus","pointer","revert","opacity","isHidden","splice","toggle","onLegendRendered","arrowUp","arrowDown","paginate","direction","diff","floor","clearSelectedText","selection","empty","window","getSelection","removeAllRanges","startDate","endDate","timeDiff","months","ms","date","getMonth","getFullYear","getDate","lib","timer","bindResizeListener","clearTimeout","delay","visuals","setTimeout","resize","internal","fn","horizontalDistance","pos","$$","xIndex","axis_rotated","findClosest","values","minDist","point_sensitivity","Infinity","closest","v","isBarType","shape","main","bars","getTargetSelectorSuffix","bar","isWithinBar","mouse","dist","defineC3","types","metric","c3Types","getPaddings","element","paddingName","getComputedStyle","getDefaultOptions","ENFORCED_OPTIONS","bindto","pattern","renderingElement","height","titleElement","notesElement","offsetWidth","DEFAULT_OPTIONS","size","clearOnRender","removeLegend","axis","rotated","tick","format","dateFormat","culling","stacked","groups","categories","bind","chartTypesWithPartialIntervalIndicator","partialIntervalIndicator","partialResultsRegion","class","regions","contents","c3TooltipContents","valueFormatted","c3CustomTooltipFiltering","c3options","c3CustomDataMapping","hide","generate","c3PaginatingLegend","flush","scope","onresize","attachEvent","parseResponse","response","indexBy","parserArgs","query","selectedParser","metadata","analysis_type","event_collection","filters","group_by","timeframe","steps","display_name","getDefaultTitle","visualization","chart_type","getDefaultType","updateColumn","updateRow","analysis","valueAtDeepKey","obj","is","flatten","ob","toReturn","flatObject","initialize","parsers","parseMetric","res","parseInterval","record","parseGroupedMetric","parseGroupedInterval","group","j","parseDoubleGroupedMetric","rowLabel","parseDoubleGroupedInterval","parseFunnel","parseList","parseExtraction","datasetExtraction","names","iNames","deleteColumn","extraction","q","sortColumns","sortRows","comp","head","analysesUtilMethods","op","insertColumn","body","insertRow","filterColumns","filterRows","selectedColumn","ri","deleteRow","Dataviz","defaultOptions","showDeprecationWarnings","showLoadingSpinner","containerElement","labelMappingRegExp","library","sortGroups","sortIntervals","order","padding","point","expand","enabled","r","transition","draggable","multiple","marginBetweenElements","convertChartTypes","_prepared","_rendered","prepare","firstVisibilityState","visibilityState","libraries","default","register","actions","method","nodeName","visual","attributes","console","log","chartOptions","domReady","num","setLabels","mapLabels","mapLabelsExec","valueAfterMatching","regExpAndLabel","regExpObj","labelMappingDimension","loader","firstResult","isArray","timeframes","resultItem","foundDifferent","JSON","stringify","timeframeItem","resultTimeframe","error","getLabel","firstResultPassed","ds2","returnValue","renderAsPromise","Promise","resolve","reject","customCallback","buildDomWrapper","renderOnVisible","IntersectionObserver","chartVisibleCallback","events","observer","isIntersecting","observe","visibilityChange","msHidden","webkitHidden","handleVisibilityChange","load","once","bool","chartType","parseRawData","parseRequest","version","pkg","chart100percentWide","areachart","barchart","columnchart","linechart","piechart","testDom","readyState","DOMContentLoaded","removeEventListener","module","exports"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,O;ACVA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAK;AACL;AACA;;AAEA;AACA;AACA,yDAAiD,cAAc;AAC/D;;AAEA;AACA;AACA;AACA,mCAA2B,0BAA0B,EAAE;AACvD,yCAAiC,eAAe;AAChD;AACA;AACA;;AAEA;AACA,8DAAsD,+DAA+D;;AAErH;AACA;;;AAGA;AACA;;;;;;;8CCnEA;;AAEA,CAAC;AACD;AACA,aACA;AACA,CAAC,qBAAqB;;AAEtB;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,gBAAgB;AACnC;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA,2BAA2B,SAAS;AACpC;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,uBAAuB,6BAA6B;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,SAAS;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,sBAAsB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C;AAC/C,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,IAAI;AAC/B;;AAEA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,4CAA4C,IAAI;;AAEhD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,gCAAgC;AAChC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,wBAAwB,iCAAiC;AACzD;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,4LAA4L,IAAI;;AAEhM,qEAAqE,IAAI;;AAEzE;;AAEA;;AAEA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,0CAA0C,YAAY;AACtD;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA,uBAAuB,YAAY;AACnC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,8BAA8B;AAC9B,gCAAgC;AAChC,6BAA6B,EAAE,EAAE;AACjC,6BAA6B,EAAE,EAAE;AACjC,kCAAkC,EAAE,EAAE;AACtC,iCAAiC;AACjC,qCAAqC;AACrC,yCAAyC;AACzC,6BAA6B,IAAI,EAAE;AACnC,6BAA6B,IAAI,EAAE;AACnC,kCAAkC,IAAI,EAAE;;AAExC,+BAA+B;AAC/B,oCAAoC;;AAEpC,8CAA8C;AAC9C,qDAAqD;;AAErD,wCAAwC,IAAI,IAAI;;AAEhD;AACA;AACA,2BAA2B,MAAM,wEAAwE,MAAM,mBAAmB,MAAM,qBAAqB,MAAM,EAAE,IAAI;;AAEzK;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA,8CAA8C;AAC9C;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,kBAAkB;AACrC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA,2BAA2B,wBAAwB;AACnD;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,uBAAuB,iBAAiB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,QAAQ;AAC/B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,mBAAmB,QAAQ;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,QAAQ;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,QAAQ;AAC3B;AACA;AACA;AACA,mBAAmB,QAAQ;AAC3B;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,uBAAuB,OAAO;AAC9B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,mBAAmB,OAAO;AAC1B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,OAAO;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,OAAO;AAC1B;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB;AACjB;;AAEA;AACA;AACA;AACA;;;AAGA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,mBAAmB,+BAA+B;AAClD;AACA;;AAEA;AACA,cAAc,OAAO;AACrB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,2CAA2C,EAAE,IAAI,EAAE;AACnD,wCAAwC,EAAE,IAAI,EAAE;;AAEhD;;AAEA;AACA,iCAAiC,EAAE;AACnC,2BAA2B,EAAE;AAC7B,6BAA6B,EAAE;AAC/B,2BAA2B,EAAE;AAC7B,yBAAyB,EAAE,IAAI,EAAE;AACjC,wBAAwB,EAAE;AAC1B,+BAA+B,GAAG;AAClC,yBAAyB,EAAE;AAC3B;AACA,2BAA2B,EAAE,IAAI,EAAE;AACnC,0BAA0B,EAAE,IAAI,EAAE;AAClC,wBAAwB,EAAE;AAC1B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,4CAA4C,OAAO;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD,OAAO;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA,8DAA8D,IAAI,0DAA0D,IAAI,qEAAqE,EAAE;;AAEvM;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,mBAAmB,mBAAmB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,mBAAmB,sBAAsB;AACzC;AACA,sCAAsC;AACtC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,kCAAkC,gBAAgB;AAClD;;AAEA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,oBAAoB;AACvC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,uBAAuB,qBAAqB;AAC5C;AACA;AACA,iCAAiC;AACjC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,6BAA6B;AACtC;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,oBAAoB;AACpB;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,cAAc;AACxC;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA,6DAA6D;AAC7D,yDAAyD;AACzD,+DAA+D;AAC/D,wDAAwD,OAAO;AAC/D,wDAAwD,OAAO;AAC/D,uDAAuD,OAAO;AAC9D,mEAAmE,OAAO;AAC1E,qEAAqE,OAAO;AAC5E;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,mCAAmC,qBAAqB;AACxD,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,mCAAmC,qBAAqB;AACxD,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,wBAAwB;AACxB;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;;;AAGL;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,wBAAwB,mBAAmB;AAC3C;AACA;;AAEA;AACA;AACA;;AAEA,qBAAqB,mBAAmB;AACxC;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,QAAQ;AAC3B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,OAAO;AAC1B;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;;AAEL;;;AAGA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,CAAC;;;;;;;;;;;;;;QCz5IeA,I,GAAAA,I;AAAT,SAASA,IAAT,CAAcC,CAAd,EAAiBC,EAAjB,EAAqBC,CAArB,EAAwB;AAC7B,MAAIC,CAAJ;AACA,MAAI,CAACH,CAAL,EAAQ;AACN,WAAO,CAAP;AACD;AACDE,MAAI,CAACA,CAAD,GAAKF,CAAL,GAASE,CAAb;AACA,MAAIF,aAAaI,KAAjB,EAAwB;AACtB;AACA,SAAKD,IAAI,CAAT,EAAYA,IAAIH,EAAEK,MAAlB,EAA0BF,GAA1B,EAA+B;AAC7B,UAAIF,GAAGK,IAAH,CAAQJ,CAAR,EAAWF,EAAEG,CAAF,CAAX,EAAiBA,CAAjB,EAAoBH,CAApB,MAA2B,KAA/B,EAAsC;AACpC,eAAO,CAAP;AACD;AACF;AACF,GAPD,MAOO;AACL;AACA,SAAKG,CAAL,IAAUH,CAAV,EAAa;AACX,UAAIA,EAAEO,cAAF,CAAiBJ,CAAjB,CAAJ,EAAyB;AACvB,YAAIF,GAAGK,IAAH,CAAQJ,CAAR,EAAWF,EA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A;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACrGD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC5GD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,2CAA2C,IAAI;AAC/C;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC1DD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AClED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC7ED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACxDD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACxDD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AChGD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACrJD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACrHD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACxDD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACxDD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,CAAC;;;;;;;;ACxFD,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;AAE5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC5FD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACxHD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC5DD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACjED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AClHD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACjED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,qCAAqC,IAAI;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACvFD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,gCAAgC;AAChC,aAAa;AACb,+BAA+B;AAC/B,aAAa;AACb,kCAAkC;AAClC,aAAa;AACb,kCAAkC;AAClC,aAAa;AACb,+BAA+B;AAC/B,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC/HD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACzDD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACnED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACtFD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC7GD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC7GD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AClED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC3KD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC1JD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACrED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC1DD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AChGD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACpLD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACzED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C;AAC5C,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC3DD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C;AAC5C,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC/DD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC5HD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC1HD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC1DD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACrFD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACrFD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACzHD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC5DD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC3FD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,qCAAqC,IAAI;AACzC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC1DD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AChFD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AChFD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,gDAAgD;AAChD,+CAA+C;AAC/C,8CAA8C;AAC9C,gDAAgD;AAChD,4CAA4C;AAC5C,6CAA6C;AAC7C,6CAA6C;AAC7C,8CAA8C;AAC9C,8CAA8C;AAC9C,+CAA+C;AAC/C,6CAA6C;AAC7C,+CAA+C;AAC/C;AACA;AACA;AACA;AACA,kDAAkD;AAClD,iDAAiD;AACjD,gDAAgD;AAChD,iDAAiD;AACjD,8CAA8C;AAC9C,+CAA+C;AAC/C,+CAA+C;AAC/C,gDAAgD;AAChD,iDAAiD;AACjD,kDAAkD;AAClD,+CAA+C;AAC/C,gDAAgD;AAChD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC9JD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACtGD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC/ED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACxFD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA,uDAAuD,IAAI;AAC3D,6DAA6D,IAAI;AACjE,4DAA4D,IAAI;AAChE,kEAAkE,IAAI;AACtE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC9DD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC9GD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC/FD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACpHD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,yCAAyC,IAAI;AAC7C;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACpED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACtID;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACrFD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,qCAAqC,IAAI;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC/ED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC5HD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,uCAAuC,IAAI;AAC3C;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC5GD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACrFD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,8CAA8C,IAAI,IAAI,IAAI;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACvFD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AChFD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT,qCAAqC,IAAI;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC1FD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,qCAAqC,IAAI;AACzC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACnED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AClID;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AChFD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT,oCAAoC,IAAI,IAAI,IAAI;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC7FD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC5GD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACxJD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC1HD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC/FD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC1HD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,qCAAqC,IAAI;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACzHD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,qCAAqC,IAAI;AACzC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC3ED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,qCAAqC,IAAI;AACzC;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC1ED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACzED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC5ED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACxED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACjFD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC1DD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC3GD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACxGD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AChED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC9ED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,qCAAqC,IAAI;AACzC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACjFD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,qCAAqC,IAAI;AACzC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC1FD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,qCAAqC,IAAI;AACzC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC1FD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACrED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACjED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC5DD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACjED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACjED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC7DD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACjED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;AAE5B;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,gGAAgG;AAC7G;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,iCAAiC;AACjC,gCAAgC;AAChC,gCAAgC;AAChC,+BAA+B;AAC/B;AACA;AACA;AACA,yDAAyD;AACzD;AACA,0DAA0D;AAC1D;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AClGD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACjGD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC1ED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC1ED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC1ED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC1DD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC;AACnC,iBAAiB;AACjB;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC9ED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC7DD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,uBAAuB,QAAQ;AAC/B;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,uBAAuB,QAAQ;AAC/B;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,uBAAuB,QAAQ;AAC/B;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,qCAAqC,IAAI;AACzC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACjLD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACtFD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACrJD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC1GD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACrHD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACrHD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACxDD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACxFD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AClID;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA,+BAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACvGD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACzDD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACtGD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACzDD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACxHD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACzDD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACzDD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACrID;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA,4FAA4F;AAC5F,SAAS;AACT;AA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;;AAEA,+CAA+C,SAAS;AACxD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA,mBAAmB,iBAAiB;AACpC;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA,wCAAwC,SAAS;AACjD;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA,+DAA+D;AAC/D;AACA;;AAEA;;;ACnOA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA,CAAC;AACD;AACA;;;;;;;;;;;;;;;;ACvBA;;IAAYrF,E;;AACZ;;AACA;;;;;;IAEqBoG,kB;;;;;;;6BACV;AAAA,UACCvD,MADD,GACY,KAAKwD,OADjB,CACCxD,MADD;AAAA,oBAOH,KAAKyC,MAPF;AAAA,UAGLgB,MAHK,WAGLA,MAHK;AAAA,UAILC,SAJK,WAILA,SAJK;AAAA,UAKLC,YALK,WAKLA,YALK;AAAA,UAMLC,YANK,WAMLA,YANK;;AAQP,UAAMC,OAAO,KAAKpB,MAAlB;AARO,2BAmBH,KAAKA,MAAL,CAAYqB,MAnBT;AAAA,iDAULC,QAVK;AAAA,UAWHC,IAXG,yBAWHA,IAXG;AAAA,UAYHC,cAZG,yBAYHA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KN,IAAL,CAAUC,UAAV,CAAqBC,OAArB,CAA6BM,MAA7B,GAAsC,CAAtC;AACA,UAAI;AACF,eAAO,KAAKR,IAAL,CAAUC,UAAV,CAAqBC,OAA5B;AACD,OAFD,CAGA,OAAOO,CAAP,EAAU;AACR,aAAKT,IAAL,CAAUC,UAAV,CAAqBC,OAArB,GAA+B7H,SAA/B;AACD;AACF;AACD,SAAK+H,EAAL,GAAUC,SAAV,GAAsB,EAAtB;AACD;AA/BY,C;;;;;;;;;;;;ACAf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wB;;;;;;AC7QA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;;;;;;ACrBA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,mDAA8C;AAC9C,EAAE;AACF;AAAA;AAAA;AAAA,qGAA8B;AAC9B,EAAE,QAEF;AACA,CAAC;AACD;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,YAAY;AACZ,YAAY;AACZ,YAAY;AACZ,cAAc;AACd;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,SAAS,kBAAkB;AAC3B;AACA;AACA;;AAEA;AACA,aAAa,uBAAuB;AACpC;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,iBAAiB,kBAAkB;AACnC;AACA;AACA;;AAEA;AACA,iBAAiB,YAAY;AAC7B,mEAAmE;AACnE;;AAEA;AACA;;AAEA;AACA;;AAEA,aAAa,oBAAoB;AACjC;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA,cAAc,mBAAmB;AACjC;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc,SAAS;AACvB;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,kCAAkC,IAAI;AACtC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,aAAa,OAAO;AACpB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,oBAAoB;AACjC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,uBAAuB;AACvB;AACA;;AAEA,aAAa,mBAAmB;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,aAAa,oBAAoB;AACjC;AACA,cAAc,mBAAmB;AACjC;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,aAAa,mBAAmB;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,aAAa,oBAAoB;AACjC;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA,gBAAgB,qBAAqB;AACrC;;AAEA;AACA;AACA,iBAAiB,2BAA2B;AAC5C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;;AAEA;;AAEA;AACA,CAAC;;;;;;;ACpmBD;AACA;;;;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","file":"node/keen-dataviz.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"d3\"), require(\"c3\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"d3\", \"c3\"], factory);\n\telse {\n\t\tvar a = typeof exports === 'object' ? factory(require(\"d3\"), require(\"c3\")) : factory(root[\"d3\"], root[\"c3\"]);\n\t\tfor(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i];\n\t}\n})(global, function(__WEBPACK_EXTERNAL_MODULE__2__, __WEBPACK_EXTERNAL_MODULE__135__) {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 168);\n","//! moment.js\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n global.moment = factory()\n}(this, (function () { 'use strict';\n\n var hookCallback;\n\n function hooks () {\n return hookCallback.apply(null, arguments);\n }\n\n // This is done to register the method called with moment()\n // without creating circular dependencies.\n function setHookCallback (callback) {\n hookCallback = callback;\n }\n\n function isArray(input) {\n return input instanceof Array || Object.prototype.toString.call(input) === '[object Array]';\n }\n\n function isObject(input) {\n // IE8 will treat undefined and null as object if it wasn't for\n // input != null\n return input != null && Object.prototype.toString.call(input) === '[object Object]';\n }\n\n function isObjectEmpty(obj) {\n if (Object.getOwnPropertyNames) {\n return (Object.getOwnPropertyNames(obj).length === 0);\n } else {\n var k;\n for (k in obj) {\n if (obj.hasOwnProperty(k)) {\n return false;\n }\n }\n return true;\n }\n }\n\n function isUndefined(input) {\n return input === void 0;\n }\n\n function isNumber(input) {\n return typeof input === 'number' || Object.prototype.toString.call(input) === '[object Number]';\n }\n\n function isDate(input) {\n return input instanceof Date || Object.prototype.toString.call(input) === '[object Date]';\n }\n\n function map(arr, fn) {\n var res = [], i;\n for (i = 0; i < arr.length; ++i) {\n res.push(fn(arr[i], i));\n }\n return res;\n }\n\n function hasOwnProp(a, b) {\n return Object.prototype.hasOwnProperty.call(a, b);\n }\n\n function extend(a, b) {\n for (var i in b) {\n if (hasOwnProp(b, i)) {\n a[i] = b[i];\n }\n }\n\n if (hasOwnProp(b, 'toString')) {\n a.toString = b.toString;\n }\n\n if (hasOwnProp(b, 'valueOf')) {\n a.valueOf = b.valueOf;\n }\n\n return a;\n }\n\n function createUTC (input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, true).utc();\n }\n\n function defaultParsingFlags() {\n // We need to deep clone this object.\n return {\n empty : false,\n unusedTokens : [],\n unusedInput : [],\n overflow : -2,\n charsLeftOver : 0,\n nullInput : false,\n invalidMonth : null,\n invalidFormat : false,\n userInvalidated : false,\n iso : false,\n parsedDateParts : [],\n meridiem : null,\n rfc2822 : false,\n weekdayMismatch : false\n };\n }\n\n function getParsingFlags(m) {\n if (m._pf == null) {\n m._pf = defaultParsingFlags();\n }\n return m._pf;\n }\n\n var some;\n if (Array.prototype.some) {\n some = Array.prototype.some;\n } else {\n some = function (fun) {\n var t = Object(this);\n var len = t.length >>> 0;\n\n for (var i = 0; i < len; i++) {\n if (i in t && fun.call(this, t[i], i, t)) {\n return true;\n }\n }\n\n return false;\n };\n }\n\n function isValid(m) {\n if (m._isValid == null) {\n var flags = getParsingFlags(m);\n var parsedParts = some.call(flags.parsedDateParts, function (i) {\n return i != null;\n });\n var isNowValid = !isNaN(m._d.getTime()) &&\n flags.overflow < 0 &&\n !flags.empty &&\n !flags.invalidMonth &&\n !flags.invalidWeekday &&\n !flags.weekdayMismatch &&\n !flags.nullInput &&\n !flags.invalidFormat &&\n !flags.userInvalidated &&\n (!flags.meridiem || (flags.meridiem && parsedParts));\n\n if (m._strict) {\n isNowValid = isNowValid &&\n flags.charsLeftOver === 0 &&\n flags.unusedTokens.length === 0 &&\n flags.bigHour === undefined;\n }\n\n if (Object.isFrozen == null || !Object.isFrozen(m)) {\n m._isValid = isNowValid;\n }\n else {\n return isNowValid;\n }\n }\n return m._isValid;\n }\n\n function createInvalid (flags) {\n var m = createUTC(NaN);\n if (flags != null) {\n extend(getParsingFlags(m), flags);\n }\n else {\n getParsingFlags(m).userInvalidated = true;\n }\n\n return m;\n }\n\n // Plugins that add properties should also add the key here (null value),\n // so we can properly clone ourselves.\n var momentProperties = hooks.momentProperties = [];\n\n function copyConfig(to, from) {\n var i, prop, val;\n\n if (!isUndefined(from._isAMomentObject)) {\n to._isAMomentObject = from._isAMomentObject;\n }\n if (!isUndefined(from._i)) {\n to._i = from._i;\n }\n if (!isUndefined(from._f)) {\n to._f = from._f;\n }\n if (!isUndefined(from._l)) {\n to._l = from._l;\n }\n if (!isUndefined(from._strict)) {\n to._strict = from._strict;\n }\n if (!isUndefined(from._tzm)) {\n to._tzm = from._tzm;\n }\n if (!isUndefined(from._isUTC)) {\n to._isUTC = from._isUTC;\n }\n if (!isUndefined(from._offset)) {\n to._offset = from._offset;\n }\n if (!isUndefined(from._pf)) {\n to._pf = getParsingFlags(from);\n }\n if (!isUndefined(from._locale)) {\n to._locale = from._locale;\n }\n\n if (momentProperties.length > 0) {\n for (i = 0; i < momentProperties.length; i++) {\n prop = momentProperties[i];\n val = from[prop];\n if (!isUndefined(val)) {\n to[prop] = val;\n }\n }\n }\n\n return to;\n }\n\n var updateInProgress = false;\n\n // Moment prototype object\n function Moment(config) {\n copyConfig(this, config);\n this._d = new Date(config._d != null ? config._d.getTime() : NaN);\n if (!this.isValid()) {\n this._d = new Date(NaN);\n }\n // Prevent infinite loop in case updateOffset creates new moment\n // objects.\n if (updateInProgress === false) {\n updateInProgress = true;\n hooks.updateOffset(this);\n updateInProgress = false;\n }\n }\n\n function isMoment (obj) {\n return obj instanceof Moment || (obj != null && obj._isAMomentObject != null);\n }\n\n function absFloor (number) {\n if (number < 0) {\n // -0 -> 0\n return Math.ceil(number) || 0;\n } else {\n return Math.floor(number);\n }\n }\n\n function toInt(argumentForCoercion) {\n var coercedNumber = +argumentForCoercion,\n value = 0;\n\n if (coercedNumber !== 0 && isFinite(coercedNumber)) {\n value = absFloor(coercedNumber);\n }\n\n return value;\n }\n\n // compare two arrays, return the number of differences\n function compareArrays(array1, array2, dontConvert) {\n var len = Math.min(array1.length, array2.length),\n lengthDiff = Math.abs(array1.length - array2.length),\n diffs = 0,\n i;\n for (i = 0; i < len; i++) {\n if ((dontConvert && array1[i] !== array2[i]) ||\n (!dontConvert && toInt(array1[i]) !== toInt(array2[i]))) {\n diffs++;\n }\n }\n return diffs + lengthDiff;\n }\n\n function warn(msg) {\n if (hooks.suppressDeprecationWarnings === false &&\n (typeof console !== 'undefined') && console.warn) {\n console.warn('Deprecation warning: ' + msg);\n }\n }\n\n function deprecate(msg, fn) {\n var firstTime = true;\n\n return extend(function () {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(null, msg);\n }\n if (firstTime) {\n var args = [];\n var arg;\n for (var i = 0; i < arguments.length; i++) {\n arg = '';\n if (typeof arguments[i] === 'object') {\n arg += '\\n[' + i + '] ';\n for (var key in arguments[0]) {\n arg += key + ': ' + arguments[0][key] + ', ';\n }\n arg = arg.slice(0, -2); // Remove trailing comma and space\n } else {\n arg = arguments[i];\n }\n args.push(arg);\n }\n warn(msg + '\\nArguments: ' + Array.prototype.slice.call(args).join('') + '\\n' + (new Error()).stack);\n firstTime = false;\n }\n return fn.apply(this, arguments);\n }, fn);\n }\n\n var deprecations = {};\n\n function deprecateSimple(name, msg) {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(name, msg);\n }\n if (!deprecations[name]) {\n warn(msg);\n deprecations[name] = true;\n }\n }\n\n hooks.suppressDeprecationWarnings = false;\n hooks.deprecationHandler = null;\n\n function isFunction(input) {\n return input instanceof Function || Object.prototype.toString.call(input) === '[object Function]';\n }\n\n function set (config) {\n var prop, i;\n for (i in config) {\n prop = config[i];\n if (isFunction(prop)) {\n this[i] = prop;\n } else {\n this['_' + i] = prop;\n }\n }\n this._config = config;\n // Lenient ordinal parsing accepts just a number in addition to\n // number + (possibly) stuff coming from _dayOfMonthOrdinalParse.\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n this._dayOfMonthOrdinalParseLenient = new RegExp(\n (this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) +\n '|' + (/\\d{1,2}/).source);\n }\n\n function mergeConfigs(parentConfig, childConfig) {\n var res = extend({}, parentConfig), prop;\n for (prop in childConfig) {\n if (hasOwnProp(childConfig, prop)) {\n if (isObject(parentConfig[prop]) && isObject(childConfig[prop])) {\n res[prop] = {};\n extend(res[prop], parentConfig[prop]);\n extend(res[prop], childConfig[prop]);\n } else if (childConfig[prop] != null) {\n res[prop] = childConfig[prop];\n } else {\n delete res[prop];\n }\n }\n }\n for (prop in parentConfig) {\n if (hasOwnProp(parentConfig, prop) &&\n !hasOwnProp(childConfig, prop) &&\n isObject(parentConfig[prop])) {\n // make sure changes to properties don't modify parent config\n res[prop] = extend({}, res[prop]);\n }\n }\n return res;\n }\n\n function Locale(config) {\n if (config != null) {\n this.set(config);\n }\n }\n\n var keys;\n\n if (Object.keys) {\n keys = Object.keys;\n } else {\n keys = function (obj) {\n var i, res = [];\n for (i in obj) {\n if (hasOwnProp(obj, i)) {\n res.push(i);\n }\n }\n return res;\n };\n }\n\n var defaultCalendar = {\n sameDay : '[Today at] LT',\n nextDay : '[Tomorrow at] LT',\n nextWeek : 'dddd [at] LT',\n lastDay : '[Yesterday at] LT',\n lastWeek : '[Last] dddd [at] LT',\n sameElse : 'L'\n };\n\n function calendar (key, mom, now) {\n var output = this._calendar[key] || this._calendar['sameElse'];\n return isFunction(output) ? output.call(mom, now) : output;\n }\n\n var defaultLongDateFormat = {\n LTS : 'h:mm:ss A',\n LT : 'h:mm A',\n L : 'MM/DD/YYYY',\n LL : 'MMMM D, YYYY',\n LLL : 'MMMM D, YYYY h:mm A',\n LLLL : 'dddd, MMMM D, YYYY h:mm A'\n };\n\n function longDateFormat (key) {\n var format = this._longDateFormat[key],\n formatUpper = this._longDateFormat[key.toUpperCase()];\n\n if (format || !formatUpper) {\n return format;\n }\n\n this._longDateFormat[key] = formatUpper.replace(/MMMM|MM|DD|dddd/g, function (val) {\n return val.slice(1);\n });\n\n return this._longDateFormat[key];\n }\n\n var defaultInvalidDate = 'Invalid date';\n\n function invalidDate () {\n return this._invalidDate;\n }\n\n var defaultOrdinal = '%d';\n var defaultDayOfMonthOrdinalParse = /\\d{1,2}/;\n\n function ordinal (number) {\n return this._ordinal.replace('%d', number);\n }\n\n var defaultRelativeTime = {\n future : 'in %s',\n past : '%s ago',\n s : 'a few seconds',\n ss : '%d seconds',\n m : 'a minute',\n mm : '%d minutes',\n h : 'an hour',\n hh : '%d hours',\n d : 'a day',\n dd : '%d days',\n M : 'a month',\n MM : '%d months',\n y : 'a year',\n yy : '%d years'\n };\n\n function relativeTime (number, withoutSuffix, string, isFuture) {\n var output = this._relativeTime[string];\n return (isFunction(output)) ?\n output(number, withoutSuffix, string, isFuture) :\n output.replace(/%d/i, number);\n }\n\n function pastFuture (diff, output) {\n var format = this._relativeTime[diff > 0 ? 'future' : 'past'];\n return isFunction(format) ? format(output) : format.replace(/%s/i, output);\n }\n\n var aliases = {};\n\n function addUnitAlias (unit, shorthand) {\n var lowerCase = unit.toLowerCase();\n aliases[lowerCase] = aliases[lowerCase + 's'] = aliases[shorthand] = unit;\n }\n\n function normalizeUnits(units) {\n return typeof units === 'string' ? aliases[units] || aliases[units.toLowerCase()] : undefined;\n }\n\n function normalizeObjectUnits(inputObject) {\n var normalizedInput = {},\n normalizedProp,\n prop;\n\n for (prop in inputObject) {\n if (hasOwnProp(inputObject, prop)) {\n normalizedProp = normalizeUnits(prop);\n if (normalizedProp) {\n normalizedInput[normalizedProp] = inputObject[prop];\n }\n }\n }\n\n return normalizedInput;\n }\n\n var priorities = {};\n\n function addUnitPriority(unit, priority) {\n priorities[unit] = priority;\n }\n\n function getPrioritizedUnits(unitsObj) {\n var units = [];\n for (var u in unitsObj) {\n units.push({unit: u, priority: priorities[u]});\n }\n units.sort(function (a, b) {\n return a.priority - b.priority;\n });\n return units;\n }\n\n function zeroFill(number, targetLength, forceSign) {\n var absNumber = '' + Math.abs(number),\n zerosToFill = targetLength - absNumber.length,\n sign = number >= 0;\n return (sign ? (forceSign ? '+' : '') : '-') +\n Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) + absNumber;\n }\n\n var formattingTokens = /(\\[[^\\[]*\\])|(\\\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g;\n\n var localFormattingTokens = /(\\[[^\\[]*\\])|(\\\\)?(LTS|LT|LL?L?L?|l{1,4})/g;\n\n var formatFunctions = {};\n\n var formatTokenFunctions = {};\n\n // token: 'M'\n // padded: ['MM', 2]\n // ordinal: 'Mo'\n // callback: function () { this.month() + 1 }\n function addFormatToken (token, padded, ordinal, callback) {\n var func = callback;\n if (typeof callback === 'string') {\n func = function () {\n return this[callback]();\n };\n }\n if (token) {\n formatTokenFunctions[token] = func;\n }\n if (padded) {\n formatTokenFunctions[padded[0]] = function () {\n return zeroFill(func.apply(this, arguments), padded[1], padded[2]);\n };\n }\n if (ordinal) {\n formatTokenFunctions[ordinal] = function () {\n return this.localeData().ordinal(func.apply(this, arguments), token);\n };\n }\n }\n\n function removeFormattingTokens(input) {\n if (input.match(/\\[[\\s\\S]/)) {\n return input.replace(/^\\[|\\]$/g, '');\n }\n return input.replace(/\\\\/g, '');\n }\n\n function makeFormatFunction(format) {\n var array = format.match(formattingTokens), i, length;\n\n for (i = 0, length = array.length; i < length; i++) {\n if (formatTokenFunctions[array[i]]) {\n array[i] = formatTokenFunctions[array[i]];\n } else {\n array[i] = removeFormattingTokens(array[i]);\n }\n }\n\n return function (mom) {\n var output = '', i;\n for (i = 0; i < length; i++) {\n output += isFunction(array[i]) ? array[i].call(mom, format) : array[i];\n }\n return output;\n };\n }\n\n // format date using native date object\n function formatMoment(m, format) {\n if (!m.isValid()) {\n return m.localeData().invalidDate();\n }\n\n format = expandFormat(format, m.localeData());\n formatFunctions[format] = formatFunctions[format] || makeFormatFunction(format);\n\n return formatFunctions[format](m);\n }\n\n function expandFormat(format, locale) {\n var i = 5;\n\n function replaceLongDateFormatTokens(input) {\n return locale.longDateFormat(input) || input;\n }\n\n localFormattingTokens.lastIndex = 0;\n while (i >= 0 && localFormattingTokens.test(format)) {\n format = format.replace(localFormattingTokens, replaceLongDateFormatTokens);\n localFormattingTokens.lastIndex = 0;\n i -= 1;\n }\n\n return format;\n }\n\n var match1 = /\\d/; // 0 - 9\n var match2 = /\\d\\d/; // 00 - 99\n var match3 = /\\d{3}/; // 000 - 999\n var match4 = /\\d{4}/; // 0000 - 9999\n var match6 = /[+-]?\\d{6}/; // -999999 - 999999\n var match1to2 = /\\d\\d?/; // 0 - 99\n var match3to4 = /\\d\\d\\d\\d?/; // 999 - 9999\n var match5to6 = /\\d\\d\\d\\d\\d\\d?/; // 99999 - 999999\n var match1to3 = /\\d{1,3}/; // 0 - 999\n var match1to4 = /\\d{1,4}/; // 0 - 9999\n var match1to6 = /[+-]?\\d{1,6}/; // -999999 - 999999\n\n var matchUnsigned = /\\d+/; // 0 - inf\n var matchSigned = /[+-]?\\d+/; // -inf - inf\n\n var matchOffset = /Z|[+-]\\d\\d:?\\d\\d/gi; // +00:00 -00:00 +0000 -0000 or Z\n var matchShortOffset = /Z|[+-]\\d\\d(?::?\\d\\d)?/gi; // +00 -00 +00:00 -00:00 +0000 -0000 or Z\n\n var matchTimestamp = /[+-]?\\d+(\\.\\d{1,3})?/; // 123456789 123456789.123\n\n // any word (or two) characters or numbers including two/three word month in arabic.\n // includes scottish gaelic two word and hyphenated months\n var matchWord = /[0-9]{0,256}['a-z\\u00A0-\\u05FF\\u0700-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFF07\\uFF10-\\uFFEF]{1,256}|[\\u0600-\\u06FF\\/]{1,256}(\\s*?[\\u0600-\\u06FF]{1,256}){1,2}/i;\n\n var regexes = {};\n\n function addRegexToken (token, regex, strictRegex) {\n regexes[token] = isFunction(regex) ? regex : function (isStrict, localeData) {\n return (isStrict && strictRegex) ? strictRegex : regex;\n };\n }\n\n function getParseRegexForToken (token, config) {\n if (!hasOwnProp(regexes, token)) {\n return new RegExp(unescapeFormat(token));\n }\n\n return regexes[token](config._strict, config._locale);\n }\n\n // Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript\n function unescapeFormat(s) {\n return regexEscape(s.replace('\\\\', '').replace(/\\\\(\\[)|\\\\(\\])|\\[([^\\]\\[]*)\\]|\\\\(.)/g, function (matched, p1, p2, p3, p4) {\n return p1 || p2 || p3 || p4;\n }));\n }\n\n function regexEscape(s) {\n return s.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n }\n\n var tokens = {};\n\n function addParseToken (token, callback) {\n var i, func = callback;\n if (typeof token === 'string') {\n token = [token];\n }\n if (isNumber(callback)) {\n func = function (input, array) {\n array[callback] = toInt(input);\n };\n }\n for (i = 0; i < token.length; i++) {\n tokens[token[i]] = func;\n }\n }\n\n function addWeekParseToken (token, callback) {\n addParseToken(token, function (input, array, config, token) {\n config._w = config._w || {};\n callback(input, config._w, config, token);\n });\n }\n\n function addTimeToArrayFromToken(token, input, config) {\n if (input != null && hasOwnProp(tokens, token)) {\n tokens[token](input, config._a, config, token);\n }\n }\n\n var YEAR = 0;\n var MONTH = 1;\n var DATE = 2;\n var HOUR = 3;\n var MINUTE = 4;\n var SECOND = 5;\n var MILLISECOND = 6;\n var WEEK = 7;\n var WEEKDAY = 8;\n\n // FORMATTING\n\n addFormatToken('Y', 0, 0, function () {\n var y = this.year();\n return y <= 9999 ? '' + y : '+' + y;\n });\n\n addFormatToken(0, ['YY', 2], 0, function () {\n return this.year() % 100;\n });\n\n addFormatToken(0, ['YYYY', 4], 0, 'year');\n addFormatToken(0, ['YYYYY', 5], 0, 'year');\n addFormatToken(0, ['YYYYYY', 6, true], 0, 'year');\n\n // ALIASES\n\n addUnitAlias('year', 'y');\n\n // PRIORITIES\n\n addUnitPriority('year', 1);\n\n // PARSING\n\n addRegexToken('Y', matchSigned);\n addRegexToken('YY', match1to2, match2);\n addRegexToken('YYYY', match1to4, match4);\n addRegexToken('YYYYY', match1to6, match6);\n addRegexToken('YYYYYY', match1to6, match6);\n\n addParseToken(['YYYYY', 'YYYYYY'], YEAR);\n addParseToken('YYYY', function (input, array) {\n array[YEAR] = input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input);\n });\n addParseToken('YY', function (input, array) {\n array[YEAR] = hooks.parseTwoDigitYear(input);\n });\n addParseToken('Y', function (input, array) {\n array[YEAR] = parseInt(input, 10);\n });\n\n // HELPERS\n\n function daysInYear(year) {\n return isLeapYear(year) ? 366 : 365;\n }\n\n function isLeapYear(year) {\n return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;\n }\n\n // HOOKS\n\n hooks.parseTwoDigitYear = function (input) {\n return toInt(input) + (toInt(input) > 68 ? 1900 : 2000);\n };\n\n // MOMENTS\n\n var getSetYear = makeGetSet('FullYear', true);\n\n function getIsLeapYear () {\n return isLeapYear(this.year());\n }\n\n function makeGetSet (unit, keepTime) {\n return function (value) {\n if (value != null) {\n set$1(this, unit, value);\n hooks.updateOffset(this, keepTime);\n return this;\n } else {\n return get(this, unit);\n }\n };\n }\n\n function get (mom, unit) {\n return mom.isValid() ?\n mom._d['get' + (mom._isUTC ? 'UTC' : '') + unit]() : NaN;\n }\n\n function set$1 (mom, unit, value) {\n if (mom.isValid() && !isNaN(value)) {\n if (unit === 'FullYear' && isLeapYear(mom.year()) && mom.month() === 1 && mom.date() === 29) {\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value, mom.month(), daysInMonth(value, mom.month()));\n }\n else {\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value);\n }\n }\n }\n\n // MOMENTS\n\n function stringGet (units) {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units]();\n }\n return this;\n }\n\n\n function stringSet (units, value) {\n if (typeof units === 'object') {\n units = normalizeObjectUnits(units);\n var prioritized = getPrioritizedUnits(units);\n for (var i = 0; i < prioritized.length; i++) {\n this[prioritized[i].unit](units[prioritized[i].unit]);\n }\n } else {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units](value);\n }\n }\n return this;\n }\n\n function mod(n, x) {\n return ((n % x) + x) % x;\n }\n\n var indexOf;\n\n if (Array.prototype.indexOf) {\n indexOf = Array.prototype.indexOf;\n } else {\n indexOf = function (o) {\n // I know\n var i;\n for (i = 0; i < this.length; ++i) {\n if (this[i] === o) {\n return i;\n }\n }\n return -1;\n };\n }\n\n function daysInMonth(year, month) {\n if (isNaN(year) || isNaN(month)) {\n return NaN;\n }\n var modMonth = mod(month, 12);\n year += (month - modMonth) / 12;\n return modMonth === 1 ? (isLeapYear(year) ? 29 : 28) : (31 - modMonth % 7 % 2);\n }\n\n // FORMATTING\n\n addFormatToken('M', ['MM', 2], 'Mo', function () {\n return this.month() + 1;\n });\n\n addFormatToken('MMM', 0, 0, function (format) {\n return this.localeData().monthsShort(this, format);\n });\n\n addFormatToken('MMMM', 0, 0, function (format) {\n return this.localeData().months(this, format);\n });\n\n // ALIASES\n\n addUnitAlias('month', 'M');\n\n // PRIORITY\n\n addUnitPriority('month', 8);\n\n // PARSING\n\n addRegexToken('M', match1to2);\n addRegexToken('MM', match1to2, match2);\n addRegexToken('MMM', function (isStrict, locale) {\n return locale.monthsShortRegex(isStrict);\n });\n addRegexToken('MMMM', function (isStrict, locale) {\n return locale.monthsRegex(isStrict);\n });\n\n addParseToken(['M', 'MM'], function (input, array) {\n array[MONTH] = toInt(input) - 1;\n });\n\n addParseToken(['MMM', 'MMMM'], function (input, array, config, token) {\n var month = config._locale.monthsParse(input, token, config._strict);\n // if we didn't find a month name, mark the date as invalid.\n if (month != null) {\n array[MONTH] = month;\n } else {\n getParsingFlags(config).invalidMonth = input;\n }\n });\n\n // LOCALES\n\n var MONTHS_IN_FORMAT = /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?/;\n var defaultLocaleMonths = 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_');\n function localeMonths (m, format) {\n if (!m) {\n return isArray(this._months) ? this._months :\n this._months['standalone'];\n }\n return isArray(this._months) ? this._months[m.month()] :\n this._months[(this._months.isFormat || MONTHS_IN_FORMAT).test(format) ? 'format' : 'standalone'][m.month()];\n }\n\n var defaultLocaleMonthsShort = 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_');\n function localeMonthsShort (m, format) {\n if (!m) {\n return isArray(this._monthsShort) ? this._monthsShort :\n this._monthsShort['standalone'];\n }\n return isArray(this._monthsShort) ? this._monthsShort[m.month()] :\n this._monthsShort[MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone'][m.month()];\n }\n\n function handleStrictParse(monthName, format, strict) {\n var i, ii, mom, llc = monthName.toLocaleLowerCase();\n if (!this._monthsParse) {\n // this is not used\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n for (i = 0; i < 12; ++i) {\n mom = createUTC([2000, i]);\n this._shortMonthsParse[i] = this.monthsShort(mom, '').toLocaleLowerCase();\n this._longMonthsParse[i] = this.months(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n }\n\n function localeMonthsParse (monthName, format, strict) {\n var i, mom, regex;\n\n if (this._monthsParseExact) {\n return handleStrictParse.call(this, monthName, format, strict);\n }\n\n if (!this._monthsParse) {\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n }\n\n // TODO: add sorting\n // Sorting makes sure if one month (or abbr) is a prefix of another\n // see sorting in computeMonthsParse\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n if (strict && !this._longMonthsParse[i]) {\n this._longMonthsParse[i] = new RegExp('^' + this.months(mom, '').replace('.', '') + '$', 'i');\n this._shortMonthsParse[i] = new RegExp('^' + this.monthsShort(mom, '').replace('.', '') + '$', 'i');\n }\n if (!strict && !this._monthsParse[i]) {\n regex = '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, '');\n this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (strict && format === 'MMMM' && this._longMonthsParse[i].test(monthName)) {\n return i;\n } else if (strict && format === 'MMM' && this._shortMonthsParse[i].test(monthName)) {\n return i;\n } else if (!strict && this._monthsParse[i].test(monthName)) {\n return i;\n }\n }\n }\n\n // MOMENTS\n\n function setMonth (mom, value) {\n var dayOfMonth;\n\n if (!mom.isValid()) {\n // No op\n return mom;\n }\n\n if (typeof value === 'string') {\n if (/^\\d+$/.test(value)) {\n value = toInt(value);\n } else {\n value = mom.localeData().monthsParse(value);\n // TODO: Another silent failure?\n if (!isNumber(value)) {\n return mom;\n }\n }\n }\n\n dayOfMonth = Math.min(mom.date(), daysInMonth(mom.year(), value));\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + 'Month'](value, dayOfMonth);\n return mom;\n }\n\n function getSetMonth (value) {\n if (value != null) {\n setMonth(this, value);\n hooks.updateOffset(this, true);\n return this;\n } else {\n return get(this, 'Month');\n }\n }\n\n function getDaysInMonth () {\n return daysInMonth(this.year(), this.month());\n }\n\n var defaultMonthsShortRegex = matchWord;\n function monthsShortRegex (isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n if (isStrict) {\n return this._monthsShortStrictRegex;\n } else {\n return this._monthsShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsShortRegex')) {\n this._monthsShortRegex = defaultMonthsShortRegex;\n }\n return this._monthsShortStrictRegex && isStrict ?\n this._monthsShortStrictRegex : this._monthsShortRegex;\n }\n }\n\n var defaultMonthsRegex = matchWord;\n function monthsRegex (isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n if (isStrict) {\n return this._monthsStrictRegex;\n } else {\n return this._monthsRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsRegex')) {\n this._monthsRegex = defaultMonthsRegex;\n }\n return this._monthsStrictRegex && isStrict ?\n this._monthsStrictRegex : this._monthsRegex;\n }\n }\n\n function computeMonthsParse () {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var shortPieces = [], longPieces = [], mixedPieces = [],\n i, mom;\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n shortPieces.push(this.monthsShort(mom, ''));\n longPieces.push(this.months(mom, ''));\n mixedPieces.push(this.months(mom, ''));\n mixedPieces.push(this.monthsShort(mom, ''));\n }\n // Sorting makes sure if one month (or abbr) is a prefix of another it\n // will match the longer piece.\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n for (i = 0; i < 12; i++) {\n shortPieces[i] = regexEscape(shortPieces[i]);\n longPieces[i] = regexEscape(longPieces[i]);\n }\n for (i = 0; i < 24; i++) {\n mixedPieces[i] = regexEscape(mixedPieces[i]);\n }\n\n this._monthsRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._monthsShortRegex = this._monthsRegex;\n this._monthsStrictRegex = new RegExp('^(' + longPieces.join('|') + ')', 'i');\n this._monthsShortStrictRegex = new RegExp('^(' + shortPieces.join('|') + ')', 'i');\n }\n\n function createDate (y, m, d, h, M, s, ms) {\n // can't just apply() to create a date:\n // https://stackoverflow.com/q/181348\n var date = new Date(y, m, d, h, M, s, ms);\n\n // the date constructor remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0 && isFinite(date.getFullYear())) {\n date.setFullYear(y);\n }\n return date;\n }\n\n function createUTCDate (y) {\n var date = new Date(Date.UTC.apply(null, arguments));\n\n // the Date.UTC function remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0 && isFinite(date.getUTCFullYear())) {\n date.setUTCFullYear(y);\n }\n return date;\n }\n\n // start-of-first-week - start-of-year\n function firstWeekOffset(year, dow, doy) {\n var // first-week day -- which january is always in the first week (4 for iso, 1 for other)\n fwd = 7 + dow - doy,\n // first-week day local weekday -- which local weekday is fwd\n fwdlw = (7 + createUTCDate(year, 0, fwd).getUTCDay() - dow) % 7;\n\n return -fwdlw + fwd - 1;\n }\n\n // https://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday\n function dayOfYearFromWeeks(year, week, weekday, dow, doy) {\n var localWeekday = (7 + weekday - dow) % 7,\n weekOffset = firstWeekOffset(year, dow, doy),\n dayOfYear = 1 + 7 * (week - 1) + localWeekday + weekOffset,\n resYear, resDayOfYear;\n\n if (dayOfYear <= 0) {\n resYear = year - 1;\n resDayOfYear = daysInYear(resYear) + dayOfYear;\n } else if (dayOfYear > daysInYear(year)) {\n resYear = year + 1;\n resDayOfYear = dayOfYear - daysInYear(year);\n } else {\n resYear = year;\n resDayOfYear = dayOfYear;\n }\n\n return {\n year: resYear,\n dayOfYear: resDayOfYear\n };\n }\n\n function weekOfYear(mom, dow, doy) {\n var weekOffset = firstWeekOffset(mom.year(), dow, doy),\n week = Math.floor((mom.dayOfYear() - weekOffset - 1) / 7) + 1,\n resWeek, resYear;\n\n if (week < 1) {\n resYear = mom.year() - 1;\n resWeek = week + weeksInYear(resYear, dow, doy);\n } else if (week > weeksInYear(mom.year(), dow, doy)) {\n resWeek = week - weeksInYear(mom.year(), dow, doy);\n resYear = mom.year() + 1;\n } else {\n resYear = mom.year();\n resWeek = week;\n }\n\n return {\n week: resWeek,\n year: resYear\n };\n }\n\n function weeksInYear(year, dow, doy) {\n var weekOffset = firstWeekOffset(year, dow, doy),\n weekOffsetNext = firstWeekOffset(year + 1, dow, doy);\n return (daysInYear(year) - weekOffset + weekOffsetNext) / 7;\n }\n\n // FORMATTING\n\n addFormatToken('w', ['ww', 2], 'wo', 'week');\n addFormatToken('W', ['WW', 2], 'Wo', 'isoWeek');\n\n // ALIASES\n\n addUnitAlias('week', 'w');\n addUnitAlias('isoWeek', 'W');\n\n // PRIORITIES\n\n addUnitPriority('week', 5);\n addUnitPriority('isoWeek', 5);\n\n // PARSING\n\n addRegexToken('w', match1to2);\n addRegexToken('ww', match1to2, match2);\n addRegexToken('W', match1to2);\n addRegexToken('WW', match1to2, match2);\n\n addWeekParseToken(['w', 'ww', 'W', 'WW'], function (input, week, config, token) {\n week[token.substr(0, 1)] = toInt(input);\n });\n\n // HELPERS\n\n // LOCALES\n\n function localeWeek (mom) {\n return weekOfYear(mom, this._week.dow, this._week.doy).week;\n }\n\n var defaultLocaleWeek = {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n };\n\n function localeFirstDayOfWeek () {\n return this._week.dow;\n }\n\n function localeFirstDayOfYear () {\n return this._week.doy;\n }\n\n // MOMENTS\n\n function getSetWeek (input) {\n var week = this.localeData().week(this);\n return input == null ? week : this.add((input - week) * 7, 'd');\n }\n\n function getSetISOWeek (input) {\n var week = weekOfYear(this, 1, 4).week;\n return input == null ? week : this.add((input - week) * 7, 'd');\n }\n\n // FORMATTING\n\n addFormatToken('d', 0, 'do', 'day');\n\n addFormatToken('dd', 0, 0, function (format) {\n return this.localeData().weekdaysMin(this, format);\n });\n\n addFormatToken('ddd', 0, 0, function (format) {\n return this.localeData().weekdaysShort(this, format);\n });\n\n addFormatToken('dddd', 0, 0, function (format) {\n return this.localeData().weekdays(this, format);\n });\n\n addFormatToken('e', 0, 0, 'weekday');\n addFormatToken('E', 0, 0, 'isoWeekday');\n\n // ALIASES\n\n addUnitAlias('day', 'd');\n addUnitAlias('weekday', 'e');\n addUnitAlias('isoWeekday', 'E');\n\n // PRIORITY\n addUnitPriority('day', 11);\n addUnitPriority('weekday', 11);\n addUnitPriority('isoWeekday', 11);\n\n // PARSING\n\n addRegexToken('d', match1to2);\n addRegexToken('e', match1to2);\n addRegexToken('E', match1to2);\n addRegexToken('dd', function (isStrict, locale) {\n return locale.weekdaysMinRegex(isStrict);\n });\n addRegexToken('ddd', function (isStrict, locale) {\n return locale.weekdaysShortRegex(isStrict);\n });\n addRegexToken('dddd', function (isStrict, locale) {\n return locale.weekdaysRegex(isStrict);\n });\n\n addWeekParseToken(['dd', 'ddd', 'dddd'], function (input, week, config, token) {\n var weekday = config._locale.weekdaysParse(input, token, config._strict);\n // if we didn't get a weekday name, mark the date as invalid\n if (weekday != null) {\n week.d = weekday;\n } else {\n getParsingFlags(config).invalidWeekday = input;\n }\n });\n\n addWeekParseToken(['d', 'e', 'E'], function (input, week, config, token) {\n week[token] = toInt(input);\n });\n\n // HELPERS\n\n function parseWeekday(input, locale) {\n if (typeof input !== 'string') {\n return input;\n }\n\n if (!isNaN(input)) {\n return parseInt(input, 10);\n }\n\n input = locale.weekdaysParse(input);\n if (typeof input === 'number') {\n return input;\n }\n\n return null;\n }\n\n function parseIsoWeekday(input, locale) {\n if (typeof input === 'string') {\n return locale.weekdaysParse(input) % 7 || 7;\n }\n return isNaN(input) ? null : input;\n }\n\n // LOCALES\n\n var defaultLocaleWeekdays = 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_');\n function localeWeekdays (m, format) {\n if (!m) {\n return isArray(this._weekdays) ? this._weekdays :\n this._weekdays['standalone'];\n }\n return isArray(this._weekdays) ? this._weekdays[m.day()] :\n this._weekdays[this._weekdays.isFormat.test(format) ? 'format' : 'standalone'][m.day()];\n }\n\n var defaultLocaleWeekdaysShort = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_');\n function localeWeekdaysShort (m) {\n return (m) ? this._weekdaysShort[m.day()] : this._weekdaysShort;\n }\n\n var defaultLocaleWeekdaysMin = 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_');\n function localeWeekdaysMin (m) {\n return (m) ? this._weekdaysMin[m.day()] : this._weekdaysMin;\n }\n\n function handleStrictParse$1(weekdayName, format, strict) {\n var i, ii, mom, llc = weekdayName.toLocaleLowerCase();\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._minWeekdaysParse = [];\n\n for (i = 0; i < 7; ++i) {\n mom = createUTC([2000, 1]).day(i);\n this._minWeekdaysParse[i] = this.weekdaysMin(mom, '').toLocaleLowerCase();\n this._shortWeekdaysParse[i] = this.weekdaysShort(mom, '').toLocaleLowerCase();\n this._weekdaysParse[i] = this.weekdays(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n }\n\n function localeWeekdaysParse (weekdayName, format, strict) {\n var i, mom, regex;\n\n if (this._weekdaysParseExact) {\n return handleStrictParse$1.call(this, weekdayName, format, strict);\n }\n\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._minWeekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._fullWeekdaysParse = [];\n }\n\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n\n mom = createUTC([2000, 1]).day(i);\n if (strict && !this._fullWeekdaysParse[i]) {\n this._fullWeekdaysParse[i] = new RegExp('^' + this.weekdays(mom, '').replace('.', '\\\\.?') + '$', 'i');\n this._shortWeekdaysParse[i] = new RegExp('^' + this.weekdaysShort(mom, '').replace('.', '\\\\.?') + '$', 'i');\n this._minWeekdaysParse[i] = new RegExp('^' + this.weekdaysMin(mom, '').replace('.', '\\\\.?') + '$', 'i');\n }\n if (!this._weekdaysParse[i]) {\n regex = '^' + this.weekdays(mom, '') + '|^' + this.weekdaysShort(mom, '') + '|^' + this.weekdaysMin(mom, '');\n this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (strict && format === 'dddd' && this._fullWeekdaysParse[i].test(weekdayName)) {\n return i;\n } else if (strict && format === 'ddd' && this._shortWeekdaysParse[i].test(weekdayName)) {\n return i;\n } else if (strict && format === 'dd' && this._minWeekdaysParse[i].test(weekdayName)) {\n return i;\n } else if (!strict && this._weekdaysParse[i].test(weekdayName)) {\n return i;\n }\n }\n }\n\n // MOMENTS\n\n function getSetDayOfWeek (input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n var day = this._isUTC ? this._d.getUTCDay() : this._d.getDay();\n if (input != null) {\n input = parseWeekday(input, this.localeData());\n return this.add(input - day, 'd');\n } else {\n return day;\n }\n }\n\n function getSetLocaleDayOfWeek (input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7;\n return input == null ? weekday : this.add(input - weekday, 'd');\n }\n\n function getSetISODayOfWeek (input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n\n // behaves the same as moment#day except\n // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6)\n // as a setter, sunday should belong to the previous week.\n\n if (input != null) {\n var weekday = parseIsoWeekday(input, this.localeData());\n return this.day(this.day() % 7 ? weekday : weekday - 7);\n } else {\n return this.day() || 7;\n }\n }\n\n var defaultWeekdaysRegex = matchWord;\n function weekdaysRegex (isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysStrictRegex;\n } else {\n return this._weekdaysRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n this._weekdaysRegex = defaultWeekdaysRegex;\n }\n return this._weekdaysStrictRegex && isStrict ?\n this._weekdaysStrictRegex : this._weekdaysRegex;\n }\n }\n\n var defaultWeekdaysShortRegex = matchWord;\n function weekdaysShortRegex (isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysShortStrictRegex;\n } else {\n return this._weekdaysShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysShortRegex')) {\n this._weekdaysShortRegex = defaultWeekdaysShortRegex;\n }\n return this._weekdaysShortStrictRegex && isStrict ?\n this._weekdaysShortStrictRegex : this._weekdaysShortRegex;\n }\n }\n\n var defaultWeekdaysMinRegex = matchWord;\n function weekdaysMinRegex (isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysMinStrictRegex;\n } else {\n return this._weekdaysMinRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysMinRegex')) {\n this._weekdaysMinRegex = defaultWeekdaysMinRegex;\n }\n return this._weekdaysMinStrictRegex && isStrict ?\n this._weekdaysMinStrictRegex : this._weekdaysMinRegex;\n }\n }\n\n\n function computeWeekdaysParse () {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var minPieces = [], shortPieces = [], longPieces = [], mixedPieces = [],\n i, mom, minp, shortp, longp;\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, 1]).day(i);\n minp = this.weekdaysMin(mom, '');\n shortp = this.weekdaysShort(mom, '');\n longp = this.weekdays(mom, '');\n minPieces.push(minp);\n shortPieces.push(shortp);\n longPieces.push(longp);\n mixedPieces.push(minp);\n mixedPieces.push(shortp);\n mixedPieces.push(longp);\n }\n // Sorting makes sure if one weekday (or abbr) is a prefix of another it\n // will match the longer piece.\n minPieces.sort(cmpLenRev);\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n for (i = 0; i < 7; i++) {\n shortPieces[i] = regexEscape(shortPieces[i]);\n longPieces[i] = regexEscape(longPieces[i]);\n mixedPieces[i] = regexEscape(mixedPieces[i]);\n }\n\n this._weekdaysRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._weekdaysShortRegex = this._weekdaysRegex;\n this._weekdaysMinRegex = this._weekdaysRegex;\n\n this._weekdaysStrictRegex = new RegExp('^(' + longPieces.join('|') + ')', 'i');\n this._weekdaysShortStrictRegex = new RegExp('^(' + shortPieces.join('|') + ')', 'i');\n this._weekdaysMinStrictRegex = new RegExp('^(' + minPieces.join('|') + ')', 'i');\n }\n\n // FORMATTING\n\n function hFormat() {\n return this.hours() % 12 || 12;\n }\n\n function kFormat() {\n return this.hours() || 24;\n }\n\n addFormatToken('H', ['HH', 2], 0, 'hour');\n addFormatToken('h', ['hh', 2], 0, hFormat);\n addFormatToken('k', ['kk', 2], 0, kFormat);\n\n addFormatToken('hmm', 0, 0, function () {\n return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2);\n });\n\n addFormatToken('hmmss', 0, 0, function () {\n return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2);\n });\n\n addFormatToken('Hmm', 0, 0, function () {\n return '' + this.hours() + zeroFill(this.minutes(), 2);\n });\n\n addFormatToken('Hmmss', 0, 0, function () {\n return '' + this.hours() + zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2);\n });\n\n function meridiem (token, lowercase) {\n addFormatToken(token, 0, 0, function () {\n return this.localeData().meridiem(this.hours(), this.minutes(), lowercase);\n });\n }\n\n meridiem('a', true);\n meridiem('A', false);\n\n // ALIASES\n\n addUnitAlias('hour', 'h');\n\n // PRIORITY\n addUnitPriority('hour', 13);\n\n // PARSING\n\n function matchMeridiem (isStrict, locale) {\n return locale._meridiemParse;\n }\n\n addRegexToken('a', matchMeridiem);\n addRegexToken('A', matchMeridiem);\n addRegexToken('H', match1to2);\n addRegexToken('h', match1to2);\n addRegexToken('k', match1to2);\n addRegexToken('HH', match1to2, match2);\n addRegexToken('hh', match1to2, match2);\n addRegexToken('kk', match1to2, match2);\n\n addRegexToken('hmm', match3to4);\n addRegexToken('hmmss', match5to6);\n addRegexToken('Hmm', match3to4);\n addRegexToken('Hmmss', match5to6);\n\n addParseToken(['H', 'HH'], HOUR);\n addParseToken(['k', 'kk'], function (input, array, config) {\n var kInput = toInt(input);\n array[HOUR] = kInput === 24 ? 0 : kInput;\n });\n addParseToken(['a', 'A'], function (input, array, config) {\n config._isPm = config._locale.isPM(input);\n config._meridiem = input;\n });\n addParseToken(['h', 'hh'], function (input, array, config) {\n array[HOUR] = toInt(input);\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('hmmss', function (input, array, config) {\n var pos1 = input.length - 4;\n var pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('Hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n });\n addParseToken('Hmmss', function (input, array, config) {\n var pos1 = input.length - 4;\n var pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n });\n\n // LOCALES\n\n function localeIsPM (input) {\n // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays\n // Using charAt should be more compatible.\n return ((input + '').toLowerCase().charAt(0) === 'p');\n }\n\n var defaultLocaleMeridiemParse = /[ap]\\.?m?\\.?/i;\n function localeMeridiem (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'pm' : 'PM';\n } else {\n return isLower ? 'am' : 'AM';\n }\n }\n\n\n // MOMENTS\n\n // Setting the hour should keep the time, because the user explicitly\n // specified which hour they want. So trying to maintain the same hour (in\n // a new timezone) makes sense. Adding/subtracting hours does not follow\n // this rule.\n var getSetHour = makeGetSet('Hours', true);\n\n var baseConfig = {\n calendar: defaultCalendar,\n longDateFormat: defaultLongDateFormat,\n invalidDate: defaultInvalidDate,\n ordinal: defaultOrdinal,\n dayOfMonthOrdinalParse: defaultDayOfMonthOrdinalParse,\n relativeTime: defaultRelativeTime,\n\n months: defaultLocaleMonths,\n monthsShort: defaultLocaleMonthsShort,\n\n week: defaultLocaleWeek,\n\n weekdays: defaultLocaleWeekdays,\n weekdaysMin: defaultLocaleWeekdaysMin,\n weekdaysShort: defaultLocaleWeekdaysShort,\n\n meridiemParse: defaultLocaleMeridiemParse\n };\n\n // internal storage for locale config files\n var locales = {};\n var localeFamilies = {};\n var globalLocale;\n\n function normalizeLocale(key) {\n return key ? key.toLowerCase().replace('_', '-') : key;\n }\n\n // pick the locale from the array\n // try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each\n // substring from most specific to least, but move to the next array item if it's a more specific variant than the current root\n function chooseLocale(names) {\n var i = 0, j, next, locale, split;\n\n while (i < names.length) {\n split = normalizeLocale(names[i]).split('-');\n j = split.length;\n next = normalizeLocale(names[i + 1]);\n next = next ? next.split('-') : null;\n while (j > 0) {\n locale = loadLocale(split.slice(0, j).join('-'));\n if (locale) {\n return locale;\n }\n if (next && next.length >= j && compareArrays(split, next, true) >= j - 1) {\n //the next array item is better than a shallower substring of this one\n break;\n }\n j--;\n }\n i++;\n }\n return globalLocale;\n }\n\n function loadLocale(name) {\n var oldLocale = null;\n // TODO: Find a better way to register and load all the locales in Node\n if (!locales[name] && (typeof module !== 'undefined') &&\n module && module.exports) {\n try {\n oldLocale = globalLocale._abbr;\n var aliasedRequire = require;\n aliasedRequire('./locale/' + name);\n getSetGlobalLocale(oldLocale);\n } catch (e) {}\n }\n return locales[name];\n }\n\n // This function will load locale and then set the global locale. If\n // no arguments are passed in, it will simply return the current global\n // locale key.\n function getSetGlobalLocale (key, values) {\n var data;\n if (key) {\n if (isUndefined(values)) {\n data = getLocale(key);\n }\n else {\n data = defineLocale(key, values);\n }\n\n if (data) {\n // moment.duration._locale = moment._locale = data;\n globalLocale = data;\n }\n else {\n if ((typeof console !== 'undefined') && console.warn) {\n //warn user if arguments are passed but the locale could not be set\n console.warn('Locale ' + key + ' not found. Did you forget to load it?');\n }\n }\n }\n\n return globalLocale._abbr;\n }\n\n function defineLocale (name, config) {\n if (config !== null) {\n var locale, parentConfig = baseConfig;\n config.abbr = name;\n if (locales[name] != null) {\n deprecateSimple('defineLocaleOverride',\n 'use moment.updateLocale(localeName, config) to change ' +\n 'an existing locale. moment.defineLocale(localeName, ' +\n 'config) should only be used for creating a new locale ' +\n 'See http://momentjs.com/guides/#/warnings/define-locale/ for more info.');\n parentConfig = locales[name]._config;\n } else if (config.parentLocale != null) {\n if (locales[config.parentLocale] != null) {\n parentConfig = locales[config.parentLocale]._config;\n } else {\n locale = loadLocale(config.parentLocale);\n if (locale != null) {\n parentConfig = locale._config;\n } else {\n if (!localeFamilies[config.parentLocale]) {\n localeFamilies[config.parentLocale] = [];\n }\n localeFamilies[config.parentLocale].push({\n name: name,\n config: config\n });\n return null;\n }\n }\n }\n locales[name] = new Locale(mergeConfigs(parentConfig, config));\n\n if (localeFamilies[name]) {\n localeFamilies[name].forEach(function (x) {\n defineLocale(x.name, x.config);\n });\n }\n\n // backwards compat for now: also set the locale\n // make sure we set the locale AFTER all child locales have been\n // created, so we won't end up with the child locale set.\n getSetGlobalLocale(name);\n\n\n return locales[name];\n } else {\n // useful for testing\n delete locales[name];\n return null;\n }\n }\n\n function updateLocale(name, config) {\n if (config != null) {\n var locale, tmpLocale, parentConfig = baseConfig;\n // MERGE\n tmpLocale = loadLocale(name);\n if (tmpLocale != null) {\n parentConfig = tmpLocale._config;\n }\n config = mergeConfigs(parentConfig, config);\n locale = new Locale(config);\n locale.parentLocale = locales[name];\n locales[name] = locale;\n\n // backwards compat for now: also set the locale\n getSetGlobalLocale(name);\n } else {\n // pass null for config to unupdate, useful for tests\n if (locales[name] != null) {\n if (locales[name].parentLocale != null) {\n locales[name] = locales[name].parentLocale;\n } else if (locales[name] != null) {\n delete locales[name];\n }\n }\n }\n return locales[name];\n }\n\n // returns locale data\n function getLocale (key) {\n var locale;\n\n if (key && key._locale && key._locale._abbr) {\n key = key._locale._abbr;\n }\n\n if (!key) {\n return globalLocale;\n }\n\n if (!isArray(key)) {\n //short-circuit everything else\n locale = loadLocale(key);\n if (locale) {\n return locale;\n }\n key = [key];\n }\n\n return chooseLocale(key);\n }\n\n function listLocales() {\n return keys(locales);\n }\n\n function checkOverflow (m) {\n var overflow;\n var a = m._a;\n\n if (a && getParsingFlags(m).overflow === -2) {\n overflow =\n a[MONTH] < 0 || a[MONTH] > 11 ? MONTH :\n a[DATE] < 1 || a[DATE] > daysInMonth(a[YEAR], a[MONTH]) ? DATE :\n a[HOUR] < 0 || a[HOUR] > 24 || (a[HOUR] === 24 && (a[MINUTE] !== 0 || a[SECOND] !== 0 || a[MILLISECOND] !== 0)) ? HOUR :\n a[MINUTE] < 0 || a[MINUTE] > 59 ? MINUTE :\n a[SECOND] < 0 || a[SECOND] > 59 ? SECOND :\n a[MILLISECOND] < 0 || a[MILLISECOND] > 999 ? MILLISECOND :\n -1;\n\n if (getParsingFlags(m)._overflowDayOfYear && (overflow < YEAR || overflow > DATE)) {\n overflow = DATE;\n }\n if (getParsingFlags(m)._overflowWeeks && overflow === -1) {\n overflow = WEEK;\n }\n if (getParsingFlags(m)._overflowWeekday && overflow === -1) {\n overflow = WEEKDAY;\n }\n\n getParsingFlags(m).overflow = overflow;\n }\n\n return m;\n }\n\n // Pick the first defined of two or three arguments.\n function defaults(a, b, c) {\n if (a != null) {\n return a;\n }\n if (b != null) {\n return b;\n }\n return c;\n }\n\n function currentDateArray(config) {\n // hooks is actually the exported moment object\n var nowValue = new Date(hooks.now());\n if (config._useUTC) {\n return [nowValue.getUTCFullYear(), nowValue.getUTCMonth(), nowValue.getUTCDate()];\n }\n return [nowValue.getFullYear(), nowValue.getMonth(), nowValue.getDate()];\n }\n\n // convert an array to a date.\n // the array should mirror the parameters below\n // note: all values past the year are optional and will default to the lowest possible value.\n // [year, month, day , hour, minute, second, millisecond]\n function configFromArray (config) {\n var i, date, input = [], currentDate, expectedWeekday, yearToUse;\n\n if (config._d) {\n return;\n }\n\n currentDate = currentDateArray(config);\n\n //compute day of the year from weeks and weekdays\n if (config._w && config._a[DATE] == null && config._a[MONTH] == null) {\n dayOfYearFromWeekInfo(config);\n }\n\n //if the day of the year is set, figure out what it is\n if (config._dayOfYear != null) {\n yearToUse = defaults(config._a[YEAR], currentDate[YEAR]);\n\n if (config._dayOfYear > daysInYear(yearToUse) || config._dayOfYear === 0) {\n getParsingFlags(config)._overflowDayOfYear = true;\n }\n\n date = createUTCDate(yearToUse, 0, config._dayOfYear);\n config._a[MONTH] = date.getUTCMonth();\n config._a[DATE] = date.getUTCDate();\n }\n\n // Default to current date.\n // * if no year, month, day of month are given, default to today\n // * if day of month is given, default month and year\n // * if month is given, default only year\n // * if year is given, don't default anything\n for (i = 0; i < 3 && config._a[i] == null; ++i) {\n config._a[i] = input[i] = currentDate[i];\n }\n\n // Zero out whatever was not defaulted, including time\n for (; i < 7; i++) {\n config._a[i] = input[i] = (config._a[i] == null) ? (i === 2 ? 1 : 0) : config._a[i];\n }\n\n // Check for 24:00:00.000\n if (config._a[HOUR] === 24 &&\n config._a[MINUTE] === 0 &&\n config._a[SECOND] === 0 &&\n config._a[MILLISECOND] === 0) {\n config._nextDay = true;\n config._a[HOUR] = 0;\n }\n\n config._d = (config._useUTC ? createUTCDate : createDate).apply(null, input);\n expectedWeekday = config._useUTC ? config._d.getUTCDay() : config._d.getDay();\n\n // Apply timezone offset from input. The actual utcOffset can be changed\n // with parseZone.\n if (config._tzm != null) {\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n }\n\n if (config._nextDay) {\n config._a[HOUR] = 24;\n }\n\n // check for mismatching day of week\n if (config._w && typeof config._w.d !== 'undefined' && config._w.d !== expectedWeekday) {\n getParsingFlags(config).weekdayMismatch = true;\n }\n }\n\n function dayOfYearFromWeekInfo(config) {\n var w, weekYear, week, weekday, dow, doy, temp, weekdayOverflow;\n\n w = config._w;\n if (w.GG != null || w.W != null || w.E != null) {\n dow = 1;\n doy = 4;\n\n // TODO: We need to take the current isoWeekYear, but that depends on\n // how we interpret now (local, utc, fixed offset). So create\n // a now version of current config (take local/utc/offset flags, and\n // create now).\n weekYear = defaults(w.GG, config._a[YEAR], weekOfYear(createLocal(), 1, 4).year);\n week = defaults(w.W, 1);\n weekday = defaults(w.E, 1);\n if (weekday < 1 || weekday > 7) {\n weekdayOverflow = true;\n }\n } else {\n dow = config._locale._week.dow;\n doy = config._locale._week.doy;\n\n var curWeek = weekOfYear(createLocal(), dow, doy);\n\n weekYear = defaults(w.gg, config._a[YEAR], curWeek.year);\n\n // Default to current week.\n week = defaults(w.w, curWeek.week);\n\n if (w.d != null) {\n // weekday -- low day numbers are considered next week\n weekday = w.d;\n if (weekday < 0 || weekday > 6) {\n weekdayOverflow = true;\n }\n } else if (w.e != null) {\n // local weekday -- counting starts from begining of week\n weekday = w.e + dow;\n if (w.e < 0 || w.e > 6) {\n weekdayOverflow = true;\n }\n } else {\n // default to begining of week\n weekday = dow;\n }\n }\n if (week < 1 || week > weeksInYear(weekYear, dow, doy)) {\n getParsingFlags(config)._overflowWeeks = true;\n } else if (weekdayOverflow != null) {\n getParsingFlags(config)._overflowWeekday = true;\n } else {\n temp = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy);\n config._a[YEAR] = temp.year;\n config._dayOfYear = temp.dayOfYear;\n }\n }\n\n // iso 8601 regex\n // 0000-00-00 0000-W00 or 0000-W00-0 + T + 00 or 00:00 or 00:00:00 or 00:00:00.000 + +00:00 or +0000 or +00)\n var extendedIsoRegex = /^\\s*((?:[+-]\\d{6}|\\d{4})-(?:\\d\\d-\\d\\d|W\\d\\d-\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?::\\d\\d(?::\\d\\d(?:[.,]\\d+)?)?)?)([\\+\\-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/;\n var basicIsoRegex = /^\\s*((?:[+-]\\d{6}|\\d{4})(?:\\d\\d\\d\\d|W\\d\\d\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?:\\d\\d(?:\\d\\d(?:[.,]\\d+)?)?)?)([\\+\\-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/;\n\n var tzRegex = /Z|[+-]\\d\\d(?::?\\d\\d)?/;\n\n var isoDates = [\n ['YYYYYY-MM-DD', /[+-]\\d{6}-\\d\\d-\\d\\d/],\n ['YYYY-MM-DD', /\\d{4}-\\d\\d-\\d\\d/],\n ['GGGG-[W]WW-E', /\\d{4}-W\\d\\d-\\d/],\n ['GGGG-[W]WW', /\\d{4}-W\\d\\d/, false],\n ['YYYY-DDD', /\\d{4}-\\d{3}/],\n ['YYYY-MM', /\\d{4}-\\d\\d/, false],\n ['YYYYYYMMDD', /[+-]\\d{10}/],\n ['YYYYMMDD', /\\d{8}/],\n // YYYYMM is NOT allowed by the standard\n ['GGGG[W]WWE', /\\d{4}W\\d{3}/],\n ['GGGG[W]WW', /\\d{4}W\\d{2}/, false],\n ['YYYYDDD', /\\d{7}/]\n ];\n\n // iso time formats and regexes\n var isoTimes = [\n ['HH:mm:ss.SSSS', /\\d\\d:\\d\\d:\\d\\d\\.\\d+/],\n ['HH:mm:ss,SSSS', /\\d\\d:\\d\\d:\\d\\d,\\d+/],\n ['HH:mm:ss', /\\d\\d:\\d\\d:\\d\\d/],\n ['HH:mm', /\\d\\d:\\d\\d/],\n ['HHmmss.SSSS', /\\d\\d\\d\\d\\d\\d\\.\\d+/],\n ['HHmmss,SSSS', /\\d\\d\\d\\d\\d\\d,\\d+/],\n ['HHmmss', /\\d\\d\\d\\d\\d\\d/],\n ['HHmm', /\\d\\d\\d\\d/],\n ['HH', /\\d\\d/]\n ];\n\n var aspNetJsonRegex = /^\\/?Date\\((\\-?\\d+)/i;\n\n // date from iso format\n function configFromISO(config) {\n var i, l,\n string = config._i,\n match = extendedIsoRegex.exec(string) || basicIsoRegex.exec(string),\n allowTime, dateFormat, timeFormat, tzFormat;\n\n if (match) {\n getParsingFlags(config).iso = true;\n\n for (i = 0, l = isoDates.length; i < l; i++) {\n if (isoDates[i][1].exec(match[1])) {\n dateFormat = isoDates[i][0];\n allowTime = isoDates[i][2] !== false;\n break;\n }\n }\n if (dateFormat == null) {\n config._isValid = false;\n return;\n }\n if (match[3]) {\n for (i = 0, l = isoTimes.length; i < l; i++) {\n if (isoTimes[i][1].exec(match[3])) {\n // match[2] should be 'T' or space\n timeFormat = (match[2] || ' ') + isoTimes[i][0];\n break;\n }\n }\n if (timeFormat == null) {\n config._isValid = false;\n return;\n }\n }\n if (!allowTime && timeFormat != null) {\n config._isValid = false;\n return;\n }\n if (match[4]) {\n if (tzRegex.exec(match[4])) {\n tzFormat = 'Z';\n } else {\n config._isValid = false;\n return;\n }\n }\n config._f = dateFormat + (timeFormat || '') + (tzFormat || '');\n configFromStringAndFormat(config);\n } else {\n config._isValid = false;\n }\n }\n\n // RFC 2822 regex: For details see https://tools.ietf.org/html/rfc2822#section-3.3\n var rfc2822 = /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\\s)?(\\d{1,2})\\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\\s(\\d{2,4})\\s(\\d\\d):(\\d\\d)(?::(\\d\\d))?\\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\\d{4}))$/;\n\n function extractFromRFC2822Strings(yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr) {\n var result = [\n untruncateYear(yearStr),\n defaultLocaleMonthsShort.indexOf(monthStr),\n parseInt(dayStr, 10),\n parseInt(hourStr, 10),\n parseInt(minuteStr, 10)\n ];\n\n if (secondStr) {\n result.push(parseInt(secondStr, 10));\n }\n\n return result;\n }\n\n function untruncateYear(yearStr) {\n var year = parseInt(yearStr, 10);\n if (year <= 49) {\n return 2000 + year;\n } else if (year <= 999) {\n return 1900 + year;\n }\n return year;\n }\n\n function preprocessRFC2822(s) {\n // Remove comments and folding whitespace and replace multiple-spaces with a single space\n return s.replace(/\\([^)]*\\)|[\\n\\t]/g, ' ').replace(/(\\s\\s+)/g, ' ').replace(/^\\s\\s*/, '').replace(/\\s\\s*$/, '');\n }\n\n function checkWeekday(weekdayStr, parsedInput, config) {\n if (weekdayStr) {\n // TODO: Replace the vanilla JS Date object with an indepentent day-of-week check.\n var weekdayProvided = defaultLocaleWeekdaysShort.indexOf(weekdayStr),\n weekdayActual = new Date(parsedInput[0], parsedInput[1], parsedInput[2]).getDay();\n if (weekdayProvided !== weekdayActual) {\n getParsingFlags(config).weekdayMismatch = true;\n config._isValid = false;\n return false;\n }\n }\n return true;\n }\n\n var obsOffsets = {\n UT: 0,\n GMT: 0,\n EDT: -4 * 60,\n EST: -5 * 60,\n CDT: -5 * 60,\n CST: -6 * 60,\n MDT: -6 * 60,\n MST: -7 * 60,\n PDT: -7 * 60,\n PST: -8 * 60\n };\n\n function calculateOffset(obsOffset, militaryOffset, numOffset) {\n if (obsOffset) {\n return obsOffsets[obsOffset];\n } else if (militaryOffset) {\n // the only allowed military tz is Z\n return 0;\n } else {\n var hm = parseInt(numOffset, 10);\n var m = hm % 100, h = (hm - m) / 100;\n return h * 60 + m;\n }\n }\n\n // date and time from ref 2822 format\n function configFromRFC2822(config) {\n var match = rfc2822.exec(preprocessRFC2822(config._i));\n if (match) {\n var parsedArray = extractFromRFC2822Strings(match[4], match[3], match[2], match[5], match[6], match[7]);\n if (!checkWeekday(match[1], parsedArray, config)) {\n return;\n }\n\n config._a = parsedArray;\n config._tzm = calculateOffset(match[8], match[9], match[10]);\n\n config._d = createUTCDate.apply(null, config._a);\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n\n getParsingFlags(config).rfc2822 = true;\n } else {\n config._isValid = false;\n }\n }\n\n // date from iso format or fallback\n function configFromString(config) {\n var matched = aspNetJsonRegex.exec(config._i);\n\n if (matched !== null) {\n config._d = new Date(+matched[1]);\n return;\n }\n\n configFromISO(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n configFromRFC2822(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n // Final attempt, use Input Fallback\n hooks.createFromInputFallback(config);\n }\n\n hooks.createFromInputFallback = deprecate(\n 'value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), ' +\n 'which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are ' +\n 'discouraged and will be removed in an upcoming major release. Please refer to ' +\n 'http://momentjs.com/guides/#/warnings/js-date/ for more info.',\n function (config) {\n config._d = new Date(config._i + (config._useUTC ? ' UTC' : ''));\n }\n );\n\n // constant that refers to the ISO standard\n hooks.ISO_8601 = function () {};\n\n // constant that refers to the RFC 2822 form\n hooks.RFC_2822 = function () {};\n\n // date from string and format string\n function configFromStringAndFormat(config) {\n // TODO: Move this to another part of the creation flow to prevent circular deps\n if (config._f === hooks.ISO_8601) {\n configFromISO(config);\n return;\n }\n if (config._f === hooks.RFC_2822) {\n configFromRFC2822(config);\n return;\n }\n config._a = [];\n getParsingFlags(config).empty = true;\n\n // This array is used to make a Date, either with `new Date` or `Date.UTC`\n var string = '' + config._i,\n i, parsedInput, tokens, token, skipped,\n stringLength = string.length,\n totalParsedInputLength = 0;\n\n tokens = expandFormat(config._f, config._locale).match(formattingTokens) || [];\n\n for (i = 0; i < tokens.length; i++) {\n token = tokens[i];\n parsedInput = (string.match(getParseRegexForToken(token, config)) || [])[0];\n // console.log('token', token, 'parsedInput', parsedInput,\n // 'regex', getParseRegexForToken(token, config));\n if (parsedInput) {\n skipped = string.substr(0, string.indexOf(parsedInput));\n if (skipped.length > 0) {\n getParsingFlags(config).unusedInput.push(skipped);\n }\n string = string.slice(string.indexOf(parsedInput) + parsedInput.length);\n totalParsedInputLength += parsedInput.length;\n }\n // don't parse if it's not a known token\n if (formatTokenFunctions[token]) {\n if (parsedInput) {\n getParsingFlags(config).empty = false;\n }\n else {\n getParsingFlags(config).unusedTokens.push(token);\n }\n addTimeToArrayFromToken(token, parsedInput, config);\n }\n else if (config._strict && !parsedInput) {\n getParsingFlags(config).unusedTokens.push(token);\n }\n }\n\n // add remaining unparsed input length to the string\n getParsingFlags(config).charsLeftOver = stringLength - totalParsedInputLength;\n if (string.length > 0) {\n getParsingFlags(config).unusedInput.push(string);\n }\n\n // clear _12h flag if hour is <= 12\n if (config._a[HOUR] <= 12 &&\n getParsingFlags(config).bigHour === true &&\n config._a[HOUR] > 0) {\n getParsingFlags(config).bigHour = undefined;\n }\n\n getParsingFlags(config).parsedDateParts = config._a.slice(0);\n getParsingFlags(config).meridiem = config._meridiem;\n // handle meridiem\n config._a[HOUR] = meridiemFixWrap(config._locale, config._a[HOUR], config._meridiem);\n\n configFromArray(config);\n checkOverflow(config);\n }\n\n\n function meridiemFixWrap (locale, hour, meridiem) {\n var isPm;\n\n if (meridiem == null) {\n // nothing to do\n return hour;\n }\n if (locale.meridiemHour != null) {\n return locale.meridiemHour(hour, meridiem);\n } else if (locale.isPM != null) {\n // Fallback\n isPm = locale.isPM(meridiem);\n if (isPm && hour < 12) {\n hour += 12;\n }\n if (!isPm && hour === 12) {\n hour = 0;\n }\n return hour;\n } else {\n // this is not supposed to happen\n return hour;\n }\n }\n\n // date from string and array of format strings\n function configFromStringAndArray(config) {\n var tempConfig,\n bestMoment,\n\n scoreToBeat,\n i,\n currentScore;\n\n if (config._f.length === 0) {\n getParsingFlags(config).invalidFormat = true;\n config._d = new Date(NaN);\n return;\n }\n\n for (i = 0; i < config._f.length; i++) {\n currentScore = 0;\n tempConfig = copyConfig({}, config);\n if (config._useUTC != null) {\n tempConfig._useUTC = config._useUTC;\n }\n tempConfig._f = config._f[i];\n configFromStringAndFormat(tempConfig);\n\n if (!isValid(tempConfig)) {\n continue;\n }\n\n // if there is any input that was not parsed add a penalty for that format\n currentScore += getParsingFlags(tempConfig).charsLeftOver;\n\n //or tokens\n currentScore += getParsingFlags(tempConfig).unusedTokens.length * 10;\n\n getParsingFlags(tempConfig).score = currentScore;\n\n if (scoreToBeat == null || currentScore < scoreToBeat) {\n scoreToBeat = currentScore;\n bestMoment = tempConfig;\n }\n }\n\n extend(config, bestMoment || tempConfig);\n }\n\n function configFromObject(config) {\n if (config._d) {\n return;\n }\n\n var i = normalizeObjectUnits(config._i);\n config._a = map([i.year, i.month, i.day || i.date, i.hour, i.minute, i.second, i.millisecond], function (obj) {\n return obj && parseInt(obj, 10);\n });\n\n configFromArray(config);\n }\n\n function createFromConfig (config) {\n var res = new Moment(checkOverflow(prepareConfig(config)));\n if (res._nextDay) {\n // Adding is smart enough around DST\n res.add(1, 'd');\n res._nextDay = undefined;\n }\n\n return res;\n }\n\n function prepareConfig (config) {\n var input = config._i,\n format = config._f;\n\n config._locale = config._locale || getLocale(config._l);\n\n if (input === null || (format === undefined && input === '')) {\n return createInvalid({nullInput: true});\n }\n\n if (typeof input === 'string') {\n config._i = input = config._locale.preparse(input);\n }\n\n if (isMoment(input)) {\n return new Moment(checkOverflow(input));\n } else if (isDate(input)) {\n config._d = input;\n } else if (isArray(format)) {\n configFromStringAndArray(config);\n } else if (format) {\n configFromStringAndFormat(config);\n } else {\n configFromInput(config);\n }\n\n if (!isValid(config)) {\n config._d = null;\n }\n\n return config;\n }\n\n function configFromInput(config) {\n var input = config._i;\n if (isUndefined(input)) {\n config._d = new Date(hooks.now());\n } else if (isDate(input)) {\n config._d = new Date(input.valueOf());\n } else if (typeof input === 'string') {\n configFromString(config);\n } else if (isArray(input)) {\n config._a = map(input.slice(0), function (obj) {\n return parseInt(obj, 10);\n });\n configFromArray(config);\n } else if (isObject(input)) {\n configFromObject(config);\n } else if (isNumber(input)) {\n // from milliseconds\n config._d = new Date(input);\n } else {\n hooks.createFromInputFallback(config);\n }\n }\n\n function createLocalOrUTC (input, format, locale, strict, isUTC) {\n var c = {};\n\n if (locale === true || locale === false) {\n strict = locale;\n locale = undefined;\n }\n\n if ((isObject(input) && isObjectEmpty(input)) ||\n (isArray(input) && input.length === 0)) {\n input = undefined;\n }\n // object construction must be done this way.\n // https://github.com/moment/moment/issues/1423\n c._isAMomentObject = true;\n c._useUTC = c._isUTC = isUTC;\n c._l = locale;\n c._i = input;\n c._f = format;\n c._strict = strict;\n\n return createFromConfig(c);\n }\n\n function createLocal (input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, false);\n }\n\n var prototypeMin = deprecate(\n 'moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/',\n function () {\n var other = createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other < this ? this : other;\n } else {\n return createInvalid();\n }\n }\n );\n\n var prototypeMax = deprecate(\n 'moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/',\n function () {\n var other = createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other > this ? this : other;\n } else {\n return createInvalid();\n }\n }\n );\n\n // Pick a moment m from moments so that m[fn](other) is true for all\n // other. This relies on the function fn to be transitive.\n //\n // moments should either be an array of moment objects or an array, whose\n // first element is an array of moment objects.\n function pickBy(fn, moments) {\n var res, i;\n if (moments.length === 1 && isArray(moments[0])) {\n moments = moments[0];\n }\n if (!moments.length) {\n return createLocal();\n }\n res = moments[0];\n for (i = 1; i < moments.length; ++i) {\n if (!moments[i].isValid() || moments[i][fn](res)) {\n res = moments[i];\n }\n }\n return res;\n }\n\n // TODO: Use [].sort instead?\n function min () {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isBefore', args);\n }\n\n function max () {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isAfter', args);\n }\n\n var now = function () {\n return Date.now ? Date.now() : +(new Date());\n };\n\n var ordering = ['year', 'quarter', 'month', 'week', 'day', 'hour', 'minute', 'second', 'millisecond'];\n\n function isDurationValid(m) {\n for (var key in m) {\n if (!(indexOf.call(ordering, key) !== -1 && (m[key] == null || !isNaN(m[key])))) {\n return false;\n }\n }\n\n var unitHasDecimal = false;\n for (var i = 0; i < ordering.length; ++i) {\n if (m[ordering[i]]) {\n if (unitHasDecimal) {\n return false; // only allow non-integers for smallest unit\n }\n if (parseFloat(m[ordering[i]]) !== toInt(m[ordering[i]])) {\n unitHasDecimal = true;\n }\n }\n }\n\n return true;\n }\n\n function isValid$1() {\n return this._isValid;\n }\n\n function createInvalid$1() {\n return createDuration(NaN);\n }\n\n function Duration (duration) {\n var normalizedInput = normalizeObjectUnits(duration),\n years = normalizedInput.year || 0,\n quarters = normalizedInput.quarter || 0,\n months = normalizedInput.month || 0,\n weeks = normalizedInput.week || 0,\n days = normalizedInput.day || 0,\n hours = normalizedInput.hour || 0,\n minutes = normalizedInput.minute || 0,\n seconds = normalizedInput.second || 0,\n milliseconds = normalizedInput.millisecond || 0;\n\n this._isValid = isDurationValid(normalizedInput);\n\n // representation for dateAddRemove\n this._milliseconds = +milliseconds +\n seconds * 1e3 + // 1000\n minutes * 6e4 + // 1000 * 60\n hours * 1000 * 60 * 60; //using 1000 * 60 * 60 instead of 36e5 to avoid floating point rounding errors https://github.com/moment/moment/issues/2978\n // Because of dateAddRemove treats 24 hours as different from a\n // day when working around DST, we need to store them separately\n this._days = +days +\n weeks * 7;\n // It is impossible to translate months into days without knowing\n // which months you are are talking about, so we have to store\n // it separately.\n this._months = +months +\n quarters * 3 +\n years * 12;\n\n this._data = {};\n\n this._locale = getLocale();\n\n this._bubble();\n }\n\n function isDuration (obj) {\n return obj instanceof Duration;\n }\n\n function absRound (number) {\n if (number < 0) {\n return Math.round(-1 * number) * -1;\n } else {\n return Math.round(number);\n }\n }\n\n // FORMATTING\n\n function offset (token, separator) {\n addFormatToken(token, 0, 0, function () {\n var offset = this.utcOffset();\n var sign = '+';\n if (offset < 0) {\n offset = -offset;\n sign = '-';\n }\n return sign + zeroFill(~~(offset / 60), 2) + separator + zeroFill(~~(offset) % 60, 2);\n });\n }\n\n offset('Z', ':');\n offset('ZZ', '');\n\n // PARSING\n\n addRegexToken('Z', matchShortOffset);\n addRegexToken('ZZ', matchShortOffset);\n addParseToken(['Z', 'ZZ'], function (input, array, config) {\n config._useUTC = true;\n config._tzm = offsetFromString(matchShortOffset, input);\n });\n\n // HELPERS\n\n // timezone chunker\n // '+10:00' > ['10', '00']\n // '-1530' > ['-15', '30']\n var chunkOffset = /([\\+\\-]|\\d\\d)/gi;\n\n function offsetFromString(matcher, string) {\n var matches = (string || '').match(matcher);\n\n if (matches === null) {\n return null;\n }\n\n var chunk = matches[matches.length - 1] || [];\n var parts = (chunk + '').match(chunkOffset) || ['-', 0, 0];\n var minutes = +(parts[1] * 60) + toInt(parts[2]);\n\n return minutes === 0 ?\n 0 :\n parts[0] === '+' ? minutes : -minutes;\n }\n\n // Return a moment from input, that is local/utc/zone equivalent to model.\n function cloneWithOffset(input, model) {\n var res, diff;\n if (model._isUTC) {\n res = model.clone();\n diff = (isMoment(input) || isDate(input) ? input.valueOf() : createLocal(input).valueOf()) - res.valueOf();\n // Use low-level api, because this fn is low-level api.\n res._d.setTime(res._d.valueOf() + diff);\n hooks.updateOffset(res, false);\n return res;\n } else {\n return createLocal(input).local();\n }\n }\n\n function getDateOffset (m) {\n // On Firefox.24 Date#getTimezoneOffset returns a floating point.\n // https://github.com/moment/moment/pull/1871\n return -Math.round(m._d.getTimezoneOffset() / 15) * 15;\n }\n\n // HOOKS\n\n // This function will be called whenever a moment is mutated.\n // It is intended to keep the offset in sync with the timezone.\n hooks.updateOffset = function () {};\n\n // MOMENTS\n\n // keepLocalTime = true means only change the timezone, without\n // affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]-->\n // 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset\n // +0200, so we adjust the time as needed, to be valid.\n //\n // Keeping the time actually adds/subtracts (one hour)\n // from the actual represented time. That is why we call updateOffset\n // a second time. In case it wants us to change the offset again\n // _changeInProgress == true case, then we have to adjust, because\n // there is no such time in the given timezone.\n function getSetOffset (input, keepLocalTime, keepMinutes) {\n var offset = this._offset || 0,\n localAdjust;\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n if (input != null) {\n if (typeof input === 'string') {\n input = offsetFromString(matchShortOffset, input);\n if (input === null) {\n return this;\n }\n } else if (Math.abs(input) < 16 && !keepMinutes) {\n input = input * 60;\n }\n if (!this._isUTC && keepLocalTime) {\n localAdjust = getDateOffset(this);\n }\n this._offset = input;\n this._isUTC = true;\n if (localAdjust != null) {\n this.add(localAdjust, 'm');\n }\n if (offset !== input) {\n if (!keepLocalTime || this._changeInProgress) {\n addSubtract(this, createDuration(input - offset, 'm'), 1, false);\n } else if (!this._changeInProgress) {\n this._changeInProgress = true;\n hooks.updateOffset(this, true);\n this._changeInProgress = null;\n }\n }\n return this;\n } else {\n return this._isUTC ? offset : getDateOffset(this);\n }\n }\n\n function getSetZone (input, keepLocalTime) {\n if (input != null) {\n if (typeof input !== 'string') {\n input = -input;\n }\n\n this.utcOffset(input, keepLocalTime);\n\n return this;\n } else {\n return -this.utcOffset();\n }\n }\n\n function setOffsetToUTC (keepLocalTime) {\n return this.utcOffset(0, keepLocalTime);\n }\n\n function setOffsetToLocal (keepLocalTime) {\n if (this._isUTC) {\n this.utcOffset(0, keepLocalTime);\n this._isUTC = false;\n\n if (keepLocalTime) {\n this.subtract(getDateOffset(this), 'm');\n }\n }\n return this;\n }\n\n function setOffsetToParsedOffset () {\n if (this._tzm != null) {\n this.utcOffset(this._tzm, false, true);\n } else if (typeof this._i === 'string') {\n var tZone = offsetFromString(matchOffset, this._i);\n if (tZone != null) {\n this.utcOffset(tZone);\n }\n else {\n this.utcOffset(0, true);\n }\n }\n return this;\n }\n\n function hasAlignedHourOffset (input) {\n if (!this.isValid()) {\n return false;\n }\n input = input ? createLocal(input).utcOffset() : 0;\n\n return (this.utcOffset() - input) % 60 === 0;\n }\n\n function isDaylightSavingTime () {\n return (\n this.utcOffset() > this.clone().month(0).utcOffset() ||\n this.utcOffset() > this.clone().month(5).utcOffset()\n );\n }\n\n function isDaylightSavingTimeShifted () {\n if (!isUndefined(this._isDSTShifted)) {\n return this._isDSTShifted;\n }\n\n var c = {};\n\n copyConfig(c, this);\n c = prepareConfig(c);\n\n if (c._a) {\n var other = c._isUTC ? createUTC(c._a) : createLocal(c._a);\n this._isDSTShifted = this.isValid() &&\n compareArrays(c._a, other.toArray()) > 0;\n } else {\n this._isDSTShifted = false;\n }\n\n return this._isDSTShifted;\n }\n\n function isLocal () {\n return this.isValid() ? !this._isUTC : false;\n }\n\n function isUtcOffset () {\n return this.isValid() ? this._isUTC : false;\n }\n\n function isUtc () {\n return this.isValid() ? this._isUTC && this._offset === 0 : false;\n }\n\n // ASP.NET json date format regex\n var aspNetRegex = /^(\\-|\\+)?(?:(\\d*)[. ])?(\\d+)\\:(\\d+)(?:\\:(\\d+)(\\.\\d*)?)?$/;\n\n // from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html\n // somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere\n // and further modified to allow for strings containing both week and day\n var isoRegex = /^(-|\\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;\n\n function createDuration (input, key) {\n var duration = input,\n // matching against regexp is expensive, do it on demand\n match = null,\n sign,\n ret,\n diffRes;\n\n if (isDuration(input)) {\n duration = {\n ms : input._milliseconds,\n d : input._days,\n M : input._months\n };\n } else if (isNumber(input)) {\n duration = {};\n if (key) {\n duration[key] = input;\n } else {\n duration.milliseconds = input;\n }\n } else if (!!(match = aspNetRegex.exec(input))) {\n sign = (match[1] === '-') ? -1 : 1;\n duration = {\n y : 0,\n d : toInt(match[DATE]) * sign,\n h : toInt(match[HOUR]) * sign,\n m : toInt(match[MINUTE]) * sign,\n s : toInt(match[SECOND]) * sign,\n ms : toInt(absRound(match[MILLISECOND] * 1000)) * sign // the millisecond decimal point is included in the match\n };\n } else if (!!(match = isoRegex.exec(input))) {\n sign = (match[1] === '-') ? -1 : (match[1] === '+') ? 1 : 1;\n duration = {\n y : parseIso(match[2], sign),\n M : parseIso(match[3], sign),\n w : parseIso(match[4], sign),\n d : parseIso(match[5], sign),\n h : parseIso(match[6], sign),\n m : parseIso(match[7], sign),\n s : parseIso(match[8], sign)\n };\n } else if (duration == null) {// checks for null or undefined\n duration = {};\n } else if (typeof duration === 'object' && ('from' in duration || 'to' in duration)) {\n diffRes = momentsDifference(createLocal(duration.from), createLocal(duration.to));\n\n duration = {};\n duration.ms = diffRes.milliseconds;\n duration.M = diffRes.months;\n }\n\n ret = new Duration(duration);\n\n if (isDuration(input) && hasOwnProp(input, '_locale')) {\n ret._locale = input._locale;\n }\n\n return ret;\n }\n\n createDuration.fn = Duration.prototype;\n createDuration.invalid = createInvalid$1;\n\n function parseIso (inp, sign) {\n // We'd normally use ~~inp for this, but unfortunately it also\n // converts floats to ints.\n // inp may be undefined, so careful calling replace on it.\n var res = inp && parseFloat(inp.replace(',', '.'));\n // apply sign while we're at it\n return (isNaN(res) ? 0 : res) * sign;\n }\n\n function positiveMomentsDifference(base, other) {\n var res = {milliseconds: 0, months: 0};\n\n res.months = other.month() - base.month() +\n (other.year() - base.year()) * 12;\n if (base.clone().add(res.months, 'M').isAfter(other)) {\n --res.months;\n }\n\n res.milliseconds = +other - +(base.clone().add(res.months, 'M'));\n\n return res;\n }\n\n function momentsDifference(base, other) {\n var res;\n if (!(base.isValid() && other.isValid())) {\n return {milliseconds: 0, months: 0};\n }\n\n other = cloneWithOffset(other, base);\n if (base.isBefore(other)) {\n res = positiveMomentsDifference(base, other);\n } else {\n res = positiveMomentsDifference(other, base);\n res.milliseconds = -res.milliseconds;\n res.months = -res.months;\n }\n\n return res;\n }\n\n // TODO: remove 'name' arg after deprecation is removed\n function createAdder(direction, name) {\n return function (val, period) {\n var dur, tmp;\n //invert the arguments, but complain about it\n if (period !== null && !isNaN(+period)) {\n deprecateSimple(name, 'moment().' + name + '(period, number) is deprecated. Please use moment().' + name + '(number, period). ' +\n 'See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.');\n tmp = val; val = period; period = tmp;\n }\n\n val = typeof val === 'string' ? +val : val;\n dur = createDuration(val, period);\n addSubtract(this, dur, direction);\n return this;\n };\n }\n\n function addSubtract (mom, duration, isAdding, updateOffset) {\n var milliseconds = duration._milliseconds,\n days = absRound(duration._days),\n months = absRound(duration._months);\n\n if (!mom.isValid()) {\n // No op\n return;\n }\n\n updateOffset = updateOffset == null ? true : updateOffset;\n\n if (months) {\n setMonth(mom, get(mom, 'Month') + months * isAdding);\n }\n if (days) {\n set$1(mom, 'Date', get(mom, 'Date') + days * isAdding);\n }\n if (milliseconds) {\n mom._d.setTime(mom._d.valueOf() + milliseconds * isAdding);\n }\n if (updateOffset) {\n hooks.updateOffset(mom, days || months);\n }\n }\n\n var add = createAdder(1, 'add');\n var subtract = createAdder(-1, 'subtract');\n\n function getCalendarFormat(myMoment, now) {\n var diff = myMoment.diff(now, 'days', true);\n return diff < -6 ? 'sameElse' :\n diff < -1 ? 'lastWeek' :\n diff < 0 ? 'lastDay' :\n diff < 1 ? 'sameDay' :\n diff < 2 ? 'nextDay' :\n diff < 7 ? 'nextWeek' : 'sameElse';\n }\n\n function calendar$1 (time, formats) {\n // We want to compare the start of today, vs this.\n // Getting start-of-today depends on whether we're local/utc/offset or not.\n var now = time || createLocal(),\n sod = cloneWithOffset(now, this).startOf('day'),\n format = hooks.calendarFormat(this, sod) || 'sameElse';\n\n var output = formats && (isFunction(formats[format]) ? formats[format].call(this, now) : formats[format]);\n\n return this.format(output || this.localeData().calendar(format, this, createLocal(now)));\n }\n\n function clone () {\n return new Moment(this);\n }\n\n function isAfter (input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(!isUndefined(units) ? units : 'millisecond');\n if (units === 'millisecond') {\n return this.valueOf() > localInput.valueOf();\n } else {\n return localInput.valueOf() < this.clone().startOf(units).valueOf();\n }\n }\n\n function isBefore (input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(!isUndefined(units) ? units : 'millisecond');\n if (units === 'millisecond') {\n return this.valueOf() < localInput.valueOf();\n } else {\n return this.clone().endOf(units).valueOf() < localInput.valueOf();\n }\n }\n\n function isBetween (from, to, units, inclusivity) {\n inclusivity = inclusivity || '()';\n return (inclusivity[0] === '(' ? this.isAfter(from, units) : !this.isBefore(from, units)) &&\n (inclusivity[1] === ')' ? this.isBefore(to, units) : !this.isAfter(to, units));\n }\n\n function isSame (input, units) {\n var localInput = isMoment(input) ? input : createLocal(input),\n inputMs;\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units || 'millisecond');\n if (units === 'millisecond') {\n return this.valueOf() === localInput.valueOf();\n } else {\n inputMs = localInput.valueOf();\n return this.clone().startOf(units).valueOf() <= inputMs && inputMs <= this.clone().endOf(units).valueOf();\n }\n }\n\n function isSameOrAfter (input, units) {\n return this.isSame(input, units) || this.isAfter(input,units);\n }\n\n function isSameOrBefore (input, units) {\n return this.isSame(input, units) || this.isBefore(input,units);\n }\n\n function diff (input, units, asFloat) {\n var that,\n zoneDelta,\n output;\n\n if (!this.isValid()) {\n return NaN;\n }\n\n that = cloneWithOffset(input, this);\n\n if (!that.isValid()) {\n return NaN;\n }\n\n zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4;\n\n units = normalizeUnits(units);\n\n switch (units) {\n case 'year': output = monthDiff(this, that) / 12; break;\n case 'month': output = monthDiff(this, that); break;\n case 'quarter': output = monthDiff(this, that) / 3; break;\n case 'second': output = (this - that) / 1e3; break; // 1000\n case 'minute': output = (this - that) / 6e4; break; // 1000 * 60\n case 'hour': output = (this - that) / 36e5; break; // 1000 * 60 * 60\n case 'day': output = (this - that - zoneDelta) / 864e5; break; // 1000 * 60 * 60 * 24, negate dst\n case 'week': output = (this - that - zoneDelta) / 6048e5; break; // 1000 * 60 * 60 * 24 * 7, negate dst\n default: output = this - that;\n }\n\n return asFloat ? output : absFloor(output);\n }\n\n function monthDiff (a, b) {\n // difference in months\n var wholeMonthDiff = ((b.year() - a.year()) * 12) + (b.month() - a.month()),\n // b is in (anchor - 1 month, anchor + 1 month)\n anchor = a.clone().add(wholeMonthDiff, 'months'),\n anchor2, adjust;\n\n if (b - anchor < 0) {\n anchor2 = a.clone().add(wholeMonthDiff - 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor - anchor2);\n } else {\n anchor2 = a.clone().add(wholeMonthDiff + 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor2 - anchor);\n }\n\n //check for negative zero, return zero if negative zero\n return -(wholeMonthDiff + adjust) || 0;\n }\n\n hooks.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ';\n hooks.defaultFormatUtc = 'YYYY-MM-DDTHH:mm:ss[Z]';\n\n function toString () {\n return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ');\n }\n\n function toISOString(keepOffset) {\n if (!this.isValid()) {\n return null;\n }\n var utc = keepOffset !== true;\n var m = utc ? this.clone().utc() : this;\n if (m.year() < 0 || m.year() > 9999) {\n return formatMoment(m, utc ? 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYYYY-MM-DD[T]HH:mm:ss.SSSZ');\n }\n if (isFunction(Date.prototype.toISOString)) {\n // native implementation is ~50x faster, use it when we can\n if (utc) {\n return this.toDate().toISOString();\n } else {\n return new Date(this.valueOf() + this.utcOffset() * 60 * 1000).toISOString().replace('Z', formatMoment(m, 'Z'));\n }\n }\n return formatMoment(m, utc ? 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYY-MM-DD[T]HH:mm:ss.SSSZ');\n }\n\n /**\n * Return a human readable representation of a moment that can\n * also be evaluated to get a new moment which is the same\n *\n * @link https://nodejs.org/dist/latest/docs/api/util.html#util_custom_inspect_function_on_objects\n */\n function inspect () {\n if (!this.isValid()) {\n return 'moment.invalid(/* ' + this._i + ' */)';\n }\n var func = 'moment';\n var zone = '';\n if (!this.isLocal()) {\n func = this.utcOffset() === 0 ? 'moment.utc' : 'moment.parseZone';\n zone = 'Z';\n }\n var prefix = '[' + func + '(\"]';\n var year = (0 <= this.year() && this.year() <= 9999) ? 'YYYY' : 'YYYYYY';\n var datetime = '-MM-DD[T]HH:mm:ss.SSS';\n var suffix = zone + '[\")]';\n\n return this.format(prefix + year + datetime + suffix);\n }\n\n function format (inputString) {\n if (!inputString) {\n inputString = this.isUtc() ? hooks.defaultFormatUtc : hooks.defaultFormat;\n }\n var output = formatMoment(this, inputString);\n return this.localeData().postformat(output);\n }\n\n function from (time, withoutSuffix) {\n if (this.isValid() &&\n ((isMoment(time) && time.isValid()) ||\n createLocal(time).isValid())) {\n return createDuration({to: this, from: time}).locale(this.locale()).humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n\n function fromNow (withoutSuffix) {\n return this.from(createLocal(), withoutSuffix);\n }\n\n function to (time, withoutSuffix) {\n if (this.isValid() &&\n ((isMoment(time) && time.isValid()) ||\n createLocal(time).isValid())) {\n return createDuration({from: this, to: time}).locale(this.locale()).humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n\n function toNow (withoutSuffix) {\n return this.to(createLocal(), withoutSuffix);\n }\n\n // If passed a locale key, it will set the locale for this\n // instance. Otherwise, it will return the locale configuration\n // variables for this instance.\n function locale (key) {\n var newLocaleData;\n\n if (key === undefined) {\n return this._locale._abbr;\n } else {\n newLocaleData = getLocale(key);\n if (newLocaleData != null) {\n this._locale = newLocaleData;\n }\n return this;\n }\n }\n\n var lang = deprecate(\n 'moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.',\n function (key) {\n if (key === undefined) {\n return this.localeData();\n } else {\n return this.locale(key);\n }\n }\n );\n\n function localeData () {\n return this._locale;\n }\n\n function startOf (units) {\n units = normalizeUnits(units);\n // the following switch intentionally omits break keywords\n // to utilize falling through the cases.\n switch (units) {\n case 'year':\n this.month(0);\n /* falls through */\n case 'quarter':\n case 'month':\n this.date(1);\n /* falls through */\n case 'week':\n case 'isoWeek':\n case 'day':\n case 'date':\n this.hours(0);\n /* falls through */\n case 'hour':\n this.minutes(0);\n /* falls through */\n case 'minute':\n this.seconds(0);\n /* falls through */\n case 'second':\n this.milliseconds(0);\n }\n\n // weeks are a special case\n if (units === 'week') {\n this.weekday(0);\n }\n if (units === 'isoWeek') {\n this.isoWeekday(1);\n }\n\n // quarters are also special\n if (units === 'quarter') {\n this.month(Math.floor(this.month() / 3) * 3);\n }\n\n return this;\n }\n\n function endOf (units) {\n units = normalizeUnits(units);\n if (units === undefined || units === 'millisecond') {\n return this;\n }\n\n // 'date' is an alias for 'day', so it should be considered as such.\n if (units === 'date') {\n units = 'day';\n }\n\n return this.startOf(units).add(1, (units === 'isoWeek' ? 'week' : units)).subtract(1, 'ms');\n }\n\n function valueOf () {\n return this._d.valueOf() - ((this._offset || 0) * 60000);\n }\n\n function unix () {\n return Math.floor(this.valueOf() / 1000);\n }\n\n function toDate () {\n return new Date(this.valueOf());\n }\n\n function toArray () {\n var m = this;\n return [m.year(), m.month(), m.date(), m.hour(), m.minute(), m.second(), m.millisecond()];\n }\n\n function toObject () {\n var m = this;\n return {\n years: m.year(),\n months: m.month(),\n date: m.date(),\n hours: m.hours(),\n minutes: m.minutes(),\n seconds: m.seconds(),\n milliseconds: m.milliseconds()\n };\n }\n\n function toJSON () {\n // new Date(NaN).toJSON() === null\n return this.isValid() ? this.toISOString() : null;\n }\n\n function isValid$2 () {\n return isValid(this);\n }\n\n function parsingFlags () {\n return extend({}, getParsingFlags(this));\n }\n\n function invalidAt () {\n return getParsingFlags(this).overflow;\n }\n\n function creationData() {\n return {\n input: this._i,\n format: this._f,\n locale: this._locale,\n isUTC: this._isUTC,\n strict: this._strict\n };\n }\n\n // FORMATTING\n\n addFormatToken(0, ['gg', 2], 0, function () {\n return this.weekYear() % 100;\n });\n\n addFormatToken(0, ['GG', 2], 0, function () {\n return this.isoWeekYear() % 100;\n });\n\n function addWeekYearFormatToken (token, getter) {\n addFormatToken(0, [token, token.length], 0, getter);\n }\n\n addWeekYearFormatToken('gggg', 'weekYear');\n addWeekYearFormatToken('ggggg', 'weekYear');\n addWeekYearFormatToken('GGGG', 'isoWeekYear');\n addWeekYearFormatToken('GGGGG', 'isoWeekYear');\n\n // ALIASES\n\n addUnitAlias('weekYear', 'gg');\n addUnitAlias('isoWeekYear', 'GG');\n\n // PRIORITY\n\n addUnitPriority('weekYear', 1);\n addUnitPriority('isoWeekYear', 1);\n\n\n // PARSING\n\n addRegexToken('G', matchSigned);\n addRegexToken('g', matchSigned);\n addRegexToken('GG', match1to2, match2);\n addRegexToken('gg', match1to2, match2);\n addRegexToken('GGGG', match1to4, match4);\n addRegexToken('gggg', match1to4, match4);\n addRegexToken('GGGGG', match1to6, match6);\n addRegexToken('ggggg', match1to6, match6);\n\n addWeekParseToken(['gggg', 'ggggg', 'GGGG', 'GGGGG'], function (input, week, config, token) {\n week[token.substr(0, 2)] = toInt(input);\n });\n\n addWeekParseToken(['gg', 'GG'], function (input, week, config, token) {\n week[token] = hooks.parseTwoDigitYear(input);\n });\n\n // MOMENTS\n\n function getSetWeekYear (input) {\n return getSetWeekYearHelper.call(this,\n input,\n this.week(),\n this.weekday(),\n this.localeData()._week.dow,\n this.localeData()._week.doy);\n }\n\n function getSetISOWeekYear (input) {\n return getSetWeekYearHelper.call(this,\n input, this.isoWeek(), this.isoWeekday(), 1, 4);\n }\n\n function getISOWeeksInYear () {\n return weeksInYear(this.year(), 1, 4);\n }\n\n function getWeeksInYear () {\n var weekInfo = this.localeData()._week;\n return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy);\n }\n\n function getSetWeekYearHelper(input, week, weekday, dow, doy) {\n var weeksTarget;\n if (input == null) {\n return weekOfYear(this, dow, doy).year;\n } else {\n weeksTarget = weeksInYear(input, dow, doy);\n if (week > weeksTarget) {\n week = weeksTarget;\n }\n return setWeekAll.call(this, input, week, weekday, dow, doy);\n }\n }\n\n function setWeekAll(weekYear, week, weekday, dow, doy) {\n var dayOfYearData = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy),\n date = createUTCDate(dayOfYearData.year, 0, dayOfYearData.dayOfYear);\n\n this.year(date.getUTCFullYear());\n this.month(date.getUTCMonth());\n this.date(date.getUTCDate());\n return this;\n }\n\n // FORMATTING\n\n addFormatToken('Q', 0, 'Qo', 'quarter');\n\n // ALIASES\n\n addUnitAlias('quarter', 'Q');\n\n // PRIORITY\n\n addUnitPriority('quarter', 7);\n\n // PARSING\n\n addRegexToken('Q', match1);\n addParseToken('Q', function (input, array) {\n array[MONTH] = (toInt(input) - 1) * 3;\n });\n\n // MOMENTS\n\n function getSetQuarter (input) {\n return input == null ? Math.ceil((this.month() + 1) / 3) : this.month((input - 1) * 3 + this.month() % 3);\n }\n\n // FORMATTING\n\n addFormatToken('D', ['DD', 2], 'Do', 'date');\n\n // ALIASES\n\n addUnitAlias('date', 'D');\n\n // PRIORITY\n addUnitPriority('date', 9);\n\n // PARSING\n\n addRegexToken('D', match1to2);\n addRegexToken('DD', match1to2, match2);\n addRegexToken('Do', function (isStrict, locale) {\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n return isStrict ?\n (locale._dayOfMonthOrdinalParse || locale._ordinalParse) :\n locale._dayOfMonthOrdinalParseLenient;\n });\n\n addParseToken(['D', 'DD'], DATE);\n addParseToken('Do', function (input, array) {\n array[DATE] = toInt(input.match(match1to2)[0]);\n });\n\n // MOMENTS\n\n var getSetDayOfMonth = makeGetSet('Date', true);\n\n // FORMATTING\n\n addFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear');\n\n // ALIASES\n\n addUnitAlias('dayOfYear', 'DDD');\n\n // PRIORITY\n addUnitPriority('dayOfYear', 4);\n\n // PARSING\n\n addRegexToken('DDD', match1to3);\n addRegexToken('DDDD', match3);\n addParseToken(['DDD', 'DDDD'], function (input, array, config) {\n config._dayOfYear = toInt(input);\n });\n\n // HELPERS\n\n // MOMENTS\n\n function getSetDayOfYear (input) {\n var dayOfYear = Math.round((this.clone().startOf('day') - this.clone().startOf('year')) / 864e5) + 1;\n return input == null ? dayOfYear : this.add((input - dayOfYear), 'd');\n }\n\n // FORMATTING\n\n addFormatToken('m', ['mm', 2], 0, 'minute');\n\n // ALIASES\n\n addUnitAlias('minute', 'm');\n\n // PRIORITY\n\n addUnitPriority('minute', 14);\n\n // PARSING\n\n addRegexToken('m', match1to2);\n addRegexToken('mm', match1to2, match2);\n addParseToken(['m', 'mm'], MINUTE);\n\n // MOMENTS\n\n var getSetMinute = makeGetSet('Minutes', false);\n\n // FORMATTING\n\n addFormatToken('s', ['ss', 2], 0, 'second');\n\n // ALIASES\n\n addUnitAlias('second', 's');\n\n // PRIORITY\n\n addUnitPriority('second', 15);\n\n // PARSING\n\n addRegexToken('s', match1to2);\n addRegexToken('ss', match1to2, match2);\n addParseToken(['s', 'ss'], SECOND);\n\n // MOMENTS\n\n var getSetSecond = makeGetSet('Seconds', false);\n\n // FORMATTING\n\n addFormatToken('S', 0, 0, function () {\n return ~~(this.millisecond() / 100);\n });\n\n addFormatToken(0, ['SS', 2], 0, function () {\n return ~~(this.millisecond() / 10);\n });\n\n addFormatToken(0, ['SSS', 3], 0, 'millisecond');\n addFormatToken(0, ['SSSS', 4], 0, function () {\n return this.millisecond() * 10;\n });\n addFormatToken(0, ['SSSSS', 5], 0, function () {\n return this.millisecond() * 100;\n });\n addFormatToken(0, ['SSSSSS', 6], 0, function () {\n return this.millisecond() * 1000;\n });\n addFormatToken(0, ['SSSSSSS', 7], 0, function () {\n return this.millisecond() * 10000;\n });\n addFormatToken(0, ['SSSSSSSS', 8], 0, function () {\n return this.millisecond() * 100000;\n });\n addFormatToken(0, ['SSSSSSSSS', 9], 0, function () {\n return this.millisecond() * 1000000;\n });\n\n\n // ALIASES\n\n addUnitAlias('millisecond', 'ms');\n\n // PRIORITY\n\n addUnitPriority('millisecond', 16);\n\n // PARSING\n\n addRegexToken('S', match1to3, match1);\n addRegexToken('SS', match1to3, match2);\n addRegexToken('SSS', match1to3, match3);\n\n var token;\n for (token = 'SSSS'; token.length <= 9; token += 'S') {\n addRegexToken(token, matchUnsigned);\n }\n\n function parseMs(input, array) {\n array[MILLISECOND] = toInt(('0.' + input) * 1000);\n }\n\n for (token = 'S'; token.length <= 9; token += 'S') {\n addParseToken(token, parseMs);\n }\n // MOMENTS\n\n var getSetMillisecond = makeGetSet('Milliseconds', false);\n\n // FORMATTING\n\n addFormatToken('z', 0, 0, 'zoneAbbr');\n addFormatToken('zz', 0, 0, 'zoneName');\n\n // MOMENTS\n\n function getZoneAbbr () {\n return this._isUTC ? 'UTC' : '';\n }\n\n function getZoneName () {\n return this._isUTC ? 'Coordinated Universal Time' : '';\n }\n\n var proto = Moment.prototype;\n\n proto.add = add;\n proto.calendar = calendar$1;\n proto.clone = clone;\n proto.diff = diff;\n proto.endOf = endOf;\n proto.format = format;\n proto.from = from;\n proto.fromNow = fromNow;\n proto.to = to;\n proto.toNow = toNow;\n proto.get = stringGet;\n proto.invalidAt = invalidAt;\n proto.isAfter = isAfter;\n proto.isBefore = isBefore;\n proto.isBetween = isBetween;\n proto.isSame = isSame;\n proto.isSameOrAfter = isSameOrAfter;\n proto.isSameOrBefore = isSameOrBefore;\n proto.isValid = isValid$2;\n proto.lang = lang;\n proto.locale = locale;\n proto.localeData = localeData;\n proto.max = prototypeMax;\n proto.min = prototypeMin;\n proto.parsingFlags = parsingFlags;\n proto.set = stringSet;\n proto.startOf = startOf;\n proto.subtract = subtract;\n proto.toArray = toArray;\n proto.toObject = toObject;\n proto.toDate = toDate;\n proto.toISOString = toISOString;\n proto.inspect = inspect;\n proto.toJSON = toJSON;\n proto.toString = toString;\n proto.unix = unix;\n proto.valueOf = valueOf;\n proto.creationData = creationData;\n proto.year = getSetYear;\n proto.isLeapYear = getIsLeapYear;\n proto.weekYear = getSetWeekYear;\n proto.isoWeekYear = getSetISOWeekYear;\n proto.quarter = proto.quarters = getSetQuarter;\n proto.month = getSetMonth;\n proto.daysInMonth = getDaysInMonth;\n proto.week = proto.weeks = getSetWeek;\n proto.isoWeek = proto.isoWeeks = getSetISOWeek;\n proto.weeksInYear = getWeeksInYear;\n proto.isoWeeksInYear = getISOWeeksInYear;\n proto.date = getSetDayOfMonth;\n proto.day = proto.days = getSetDayOfWeek;\n proto.weekday = getSetLocaleDayOfWeek;\n proto.isoWeekday = getSetISODayOfWeek;\n proto.dayOfYear = getSetDayOfYear;\n proto.hour = proto.hours = getSetHour;\n proto.minute = proto.minutes = getSetMinute;\n proto.second = proto.seconds = getSetSecond;\n proto.millisecond = proto.milliseconds = getSetMillisecond;\n proto.utcOffset = getSetOffset;\n proto.utc = setOffsetToUTC;\n proto.local = setOffsetToLocal;\n proto.parseZone = setOffsetToParsedOffset;\n proto.hasAlignedHourOffset = hasAlignedHourOffset;\n proto.isDST = isDaylightSavingTime;\n proto.isLocal = isLocal;\n proto.isUtcOffset = isUtcOffset;\n proto.isUtc = isUtc;\n proto.isUTC = isUtc;\n proto.zoneAbbr = getZoneAbbr;\n proto.zoneName = getZoneName;\n proto.dates = deprecate('dates accessor is deprecated. Use date instead.', getSetDayOfMonth);\n proto.months = deprecate('months accessor is deprecated. Use month instead', getSetMonth);\n proto.years = deprecate('years accessor is deprecated. Use year instead', getSetYear);\n proto.zone = deprecate('moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/', getSetZone);\n proto.isDSTShifted = deprecate('isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information', isDaylightSavingTimeShifted);\n\n function createUnix (input) {\n return createLocal(input * 1000);\n }\n\n function createInZone () {\n return createLocal.apply(null, arguments).parseZone();\n }\n\n function preParsePostFormat (string) {\n return string;\n }\n\n var proto$1 = Locale.prototype;\n\n proto$1.calendar = calendar;\n proto$1.longDateFormat = longDateFormat;\n proto$1.invalidDate = invalidDate;\n proto$1.ordinal = ordinal;\n proto$1.preparse = preParsePostFormat;\n proto$1.postformat = preParsePostFormat;\n proto$1.relativeTime = relativeTime;\n proto$1.pastFuture = pastFuture;\n proto$1.set = set;\n\n proto$1.months = localeMonths;\n proto$1.monthsShort = localeMonthsShort;\n proto$1.monthsParse = localeMonthsParse;\n proto$1.monthsRegex = monthsRegex;\n proto$1.monthsShortRegex = monthsShortRegex;\n proto$1.week = localeWeek;\n proto$1.firstDayOfYear = localeFirstDayOfYear;\n proto$1.firstDayOfWeek = localeFirstDayOfWeek;\n\n proto$1.weekdays = localeWeekdays;\n proto$1.weekdaysMin = localeWeekdaysMin;\n proto$1.weekdaysShort = localeWeekdaysShort;\n proto$1.weekdaysParse = localeWeekdaysParse;\n\n proto$1.weekdaysRegex = weekdaysRegex;\n proto$1.weekdaysShortRegex = weekdaysShortRegex;\n proto$1.weekdaysMinRegex = weekdaysMinRegex;\n\n proto$1.isPM = localeIsPM;\n proto$1.meridiem = localeMeridiem;\n\n function get$1 (format, index, field, setter) {\n var locale = getLocale();\n var utc = createUTC().set(setter, index);\n return locale[field](utc, format);\n }\n\n function listMonthsImpl (format, index, field) {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n\n if (index != null) {\n return get$1(format, index, field, 'month');\n }\n\n var i;\n var out = [];\n for (i = 0; i < 12; i++) {\n out[i] = get$1(format, i, field, 'month');\n }\n return out;\n }\n\n // ()\n // (5)\n // (fmt, 5)\n // (fmt)\n // (true)\n // (true, 5)\n // (true, fmt, 5)\n // (true, fmt)\n function listWeekdaysImpl (localeSorted, format, index, field) {\n if (typeof localeSorted === 'boolean') {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n } else {\n format = localeSorted;\n index = format;\n localeSorted = false;\n\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n }\n\n var locale = getLocale(),\n shift = localeSorted ? locale._week.dow : 0;\n\n if (index != null) {\n return get$1(format, (index + shift) % 7, field, 'day');\n }\n\n var i;\n var out = [];\n for (i = 0; i < 7; i++) {\n out[i] = get$1(format, (i + shift) % 7, field, 'day');\n }\n return out;\n }\n\n function listMonths (format, index) {\n return listMonthsImpl(format, index, 'months');\n }\n\n function listMonthsShort (format, index) {\n return listMonthsImpl(format, index, 'monthsShort');\n }\n\n function listWeekdays (localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdays');\n }\n\n function listWeekdaysShort (localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysShort');\n }\n\n function listWeekdaysMin (localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysMin');\n }\n\n getSetGlobalLocale('en', {\n dayOfMonthOrdinalParse: /\\d{1,2}(th|st|nd|rd)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (toInt(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n }\n });\n\n // Side effect imports\n\n hooks.lang = deprecate('moment.lang is deprecated. Use moment.locale instead.', getSetGlobalLocale);\n hooks.langData = deprecate('moment.langData is deprecated. Use moment.localeData instead.', getLocale);\n\n var mathAbs = Math.abs;\n\n function abs () {\n var data = this._data;\n\n this._milliseconds = mathAbs(this._milliseconds);\n this._days = mathAbs(this._days);\n this._months = mathAbs(this._months);\n\n data.milliseconds = mathAbs(data.milliseconds);\n data.seconds = mathAbs(data.seconds);\n data.minutes = mathAbs(data.minutes);\n data.hours = mathAbs(data.hours);\n data.months = mathAbs(data.months);\n data.years = mathAbs(data.years);\n\n return this;\n }\n\n function addSubtract$1 (duration, input, value, direction) {\n var other = createDuration(input, value);\n\n duration._milliseconds += direction * other._milliseconds;\n duration._days += direction * other._days;\n duration._months += direction * other._months;\n\n return duration._bubble();\n }\n\n // supports only 2.0-style add(1, 's') or add(duration)\n function add$1 (input, value) {\n return addSubtract$1(this, input, value, 1);\n }\n\n // supports only 2.0-style subtract(1, 's') or subtract(duration)\n function subtract$1 (input, value) {\n return addSubtract$1(this, input, value, -1);\n }\n\n function absCeil (number) {\n if (number < 0) {\n return Math.floor(number);\n } else {\n return Math.ceil(number);\n }\n }\n\n function bubble () {\n var milliseconds = this._milliseconds;\n var days = this._days;\n var months = this._months;\n var data = this._data;\n var seconds, minutes, hours, years, monthsFromDays;\n\n // if we have a mix of positive and negative values, bubble down first\n // check: https://github.com/moment/moment/issues/2166\n if (!((milliseconds >= 0 && days >= 0 && months >= 0) ||\n (milliseconds <= 0 && days <= 0 && months <= 0))) {\n milliseconds += absCeil(monthsToDays(months) + days) * 864e5;\n days = 0;\n months = 0;\n }\n\n // The following code bubbles up values, see the tests for\n // examples of what that means.\n data.milliseconds = milliseconds % 1000;\n\n seconds = absFloor(milliseconds / 1000);\n data.seconds = seconds % 60;\n\n minutes = absFloor(seconds / 60);\n data.minutes = minutes % 60;\n\n hours = absFloor(minutes / 60);\n data.hours = hours % 24;\n\n days += absFloor(hours / 24);\n\n // convert days to months\n monthsFromDays = absFloor(daysToMonths(days));\n months += monthsFromDays;\n days -= absCeil(monthsToDays(monthsFromDays));\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n data.days = days;\n data.months = months;\n data.years = years;\n\n return this;\n }\n\n function daysToMonths (days) {\n // 400 years have 146097 days (taking into account leap year rules)\n // 400 years have 12 months === 4800\n return days * 4800 / 146097;\n }\n\n function monthsToDays (months) {\n // the reverse of daysToMonths\n return months * 146097 / 4800;\n }\n\n function as (units) {\n if (!this.isValid()) {\n return NaN;\n }\n var days;\n var months;\n var milliseconds = this._milliseconds;\n\n units = normalizeUnits(units);\n\n if (units === 'month' || units === 'year') {\n days = this._days + milliseconds / 864e5;\n months = this._months + daysToMonths(days);\n return units === 'month' ? months : months / 12;\n } else {\n // handle milliseconds separately because of floating point math errors (issue #1867)\n days = this._days + Math.round(monthsToDays(this._months));\n switch (units) {\n case 'week' : return days / 7 + milliseconds / 6048e5;\n case 'day' : return days + milliseconds / 864e5;\n case 'hour' : return days * 24 + milliseconds / 36e5;\n case 'minute' : return days * 1440 + milliseconds / 6e4;\n case 'second' : return days * 86400 + milliseconds / 1000;\n // Math.floor prevents floating point math errors here\n case 'millisecond': return Math.floor(days * 864e5) + milliseconds;\n default: throw new Error('Unknown unit ' + units);\n }\n }\n }\n\n // TODO: Use this.as('ms')?\n function valueOf$1 () {\n if (!this.isValid()) {\n return NaN;\n }\n return (\n this._milliseconds +\n this._days * 864e5 +\n (this._months % 12) * 2592e6 +\n toInt(this._months / 12) * 31536e6\n );\n }\n\n function makeAs (alias) {\n return function () {\n return this.as(alias);\n };\n }\n\n var asMilliseconds = makeAs('ms');\n var asSeconds = makeAs('s');\n var asMinutes = makeAs('m');\n var asHours = makeAs('h');\n var asDays = makeAs('d');\n var asWeeks = makeAs('w');\n var asMonths = makeAs('M');\n var asYears = makeAs('y');\n\n function clone$1 () {\n return createDuration(this);\n }\n\n function get$2 (units) {\n units = normalizeUnits(units);\n return this.isValid() ? this[units + 's']() : NaN;\n }\n\n function makeGetter(name) {\n return function () {\n return this.isValid() ? this._data[name] : NaN;\n };\n }\n\n var milliseconds = makeGetter('milliseconds');\n var seconds = makeGetter('seconds');\n var minutes = makeGetter('minutes');\n var hours = makeGetter('hours');\n var days = makeGetter('days');\n var months = makeGetter('months');\n var years = makeGetter('years');\n\n function weeks () {\n return absFloor(this.days() / 7);\n }\n\n var round = Math.round;\n var thresholds = {\n ss: 44, // a few seconds to seconds\n s : 45, // seconds to minute\n m : 45, // minutes to hour\n h : 22, // hours to day\n d : 26, // days to month\n M : 11 // months to year\n };\n\n // helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize\n function substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) {\n return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture);\n }\n\n function relativeTime$1 (posNegDuration, withoutSuffix, locale) {\n var duration = createDuration(posNegDuration).abs();\n var seconds = round(duration.as('s'));\n var minutes = round(duration.as('m'));\n var hours = round(duration.as('h'));\n var days = round(duration.as('d'));\n var months = round(duration.as('M'));\n var years = round(duration.as('y'));\n\n var a = seconds <= thresholds.ss && ['s', seconds] ||\n seconds < thresholds.s && ['ss', seconds] ||\n minutes <= 1 && ['m'] ||\n minutes < thresholds.m && ['mm', minutes] ||\n hours <= 1 && ['h'] ||\n hours < thresholds.h && ['hh', hours] ||\n days <= 1 && ['d'] ||\n days < thresholds.d && ['dd', days] ||\n months <= 1 && ['M'] ||\n months < thresholds.M && ['MM', months] ||\n years <= 1 && ['y'] || ['yy', years];\n\n a[2] = withoutSuffix;\n a[3] = +posNegDuration > 0;\n a[4] = locale;\n return substituteTimeAgo.apply(null, a);\n }\n\n // This function allows you to set the rounding function for relative time strings\n function getSetRelativeTimeRounding (roundingFunction) {\n if (roundingFunction === undefined) {\n return round;\n }\n if (typeof(roundingFunction) === 'function') {\n round = roundingFunction;\n return true;\n }\n return false;\n }\n\n // This function allows you to set a threshold for relative time strings\n function getSetRelativeTimeThreshold (threshold, limit) {\n if (thresholds[threshold] === undefined) {\n return false;\n }\n if (limit === undefined) {\n return thresholds[threshold];\n }\n thresholds[threshold] = limit;\n if (threshold === 's') {\n thresholds.ss = limit - 1;\n }\n return true;\n }\n\n function humanize (withSuffix) {\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var locale = this.localeData();\n var output = relativeTime$1(this, !withSuffix, locale);\n\n if (withSuffix) {\n output = locale.pastFuture(+this, output);\n }\n\n return locale.postformat(output);\n }\n\n var abs$1 = Math.abs;\n\n function sign(x) {\n return ((x > 0) - (x < 0)) || +x;\n }\n\n function toISOString$1() {\n // for ISO strings we do not use the normal bubbling rules:\n // * milliseconds bubble up until they become hours\n // * days do not bubble at all\n // * months bubble up until they become years\n // This is because there is no context-free conversion between hours and days\n // (think of clock changes)\n // and also not between days and months (28-31 days per month)\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var seconds = abs$1(this._milliseconds) / 1000;\n var days = abs$1(this._days);\n var months = abs$1(this._months);\n var minutes, hours, years;\n\n // 3600 seconds -> 60 minutes -> 1 hour\n minutes = absFloor(seconds / 60);\n hours = absFloor(minutes / 60);\n seconds %= 60;\n minutes %= 60;\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n\n // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js\n var Y = years;\n var M = months;\n var D = days;\n var h = hours;\n var m = minutes;\n var s = seconds ? seconds.toFixed(3).replace(/\\.?0+$/, '') : '';\n var total = this.asSeconds();\n\n if (!total) {\n // this is the same as C#'s (Noda) and python (isodate)...\n // but not other JS (goog.date)\n return 'P0D';\n }\n\n var totalSign = total < 0 ? '-' : '';\n var ymSign = sign(this._months) !== sign(total) ? '-' : '';\n var daysSign = sign(this._days) !== sign(total) ? '-' : '';\n var hmsSign = sign(this._milliseconds) !== sign(total) ? '-' : '';\n\n return totalSign + 'P' +\n (Y ? ymSign + Y + 'Y' : '') +\n (M ? ymSign + M + 'M' : '') +\n (D ? daysSign + D + 'D' : '') +\n ((h || m || s) ? 'T' : '') +\n (h ? hmsSign + h + 'H' : '') +\n (m ? hmsSign + m + 'M' : '') +\n (s ? hmsSign + s + 'S' : '');\n }\n\n var proto$2 = Duration.prototype;\n\n proto$2.isValid = isValid$1;\n proto$2.abs = abs;\n proto$2.add = add$1;\n proto$2.subtract = subtract$1;\n proto$2.as = as;\n proto$2.asMilliseconds = asMilliseconds;\n proto$2.asSeconds = asSeconds;\n proto$2.asMinutes = asMinutes;\n proto$2.asHours = asHours;\n proto$2.asDays = asDays;\n proto$2.asWeeks = asWeeks;\n proto$2.asMonths = asMonths;\n proto$2.asYears = asYears;\n proto$2.valueOf = valueOf$1;\n proto$2._bubble = bubble;\n proto$2.clone = clone$1;\n proto$2.get = get$2;\n proto$2.milliseconds = milliseconds;\n proto$2.seconds = seconds;\n proto$2.minutes = minutes;\n proto$2.hours = hours;\n proto$2.days = days;\n proto$2.weeks = weeks;\n proto$2.months = months;\n proto$2.years = years;\n proto$2.humanize = humanize;\n proto$2.toISOString = toISOString$1;\n proto$2.toString = toISOString$1;\n proto$2.toJSON = toISOString$1;\n proto$2.locale = locale;\n proto$2.localeData = localeData;\n\n proto$2.toIsoString = deprecate('toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)', toISOString$1);\n proto$2.lang = lang;\n\n // Side effect imports\n\n // FORMATTING\n\n addFormatToken('X', 0, 0, 'unix');\n addFormatToken('x', 0, 0, 'valueOf');\n\n // PARSING\n\n addRegexToken('x', matchSigned);\n addRegexToken('X', matchTimestamp);\n addParseToken('X', function (input, array, config) {\n config._d = new Date(parseFloat(input, 10) * 1000);\n });\n addParseToken('x', function (input, array, config) {\n config._d = new Date(toInt(input));\n });\n\n // Side effect imports\n\n\n hooks.version = '2.22.2';\n\n setHookCallback(createLocal);\n\n hooks.fn = proto;\n hooks.min = min;\n hooks.max = max;\n hooks.now = now;\n hooks.utc = createUTC;\n hooks.unix = createUnix;\n hooks.months = listMonths;\n hooks.isDate = isDate;\n hooks.locale = getSetGlobalLocale;\n hooks.invalid = createInvalid;\n hooks.duration = createDuration;\n hooks.isMoment = isMoment;\n hooks.weekdays = listWeekdays;\n hooks.parseZone = createInZone;\n hooks.localeData = getLocale;\n hooks.isDuration = isDuration;\n hooks.monthsShort = listMonthsShort;\n hooks.weekdaysMin = listWeekdaysMin;\n hooks.defineLocale = defineLocale;\n hooks.updateLocale = updateLocale;\n hooks.locales = listLocales;\n hooks.weekdaysShort = listWeekdaysShort;\n hooks.normalizeUnits = normalizeUnits;\n hooks.relativeTimeRounding = getSetRelativeTimeRounding;\n hooks.relativeTimeThreshold = getSetRelativeTimeThreshold;\n hooks.calendarFormat = getCalendarFormat;\n hooks.prototype = proto;\n\n // currently HTML5 input type only supports 24-hour formats\n hooks.HTML5_FMT = {\n DATETIME_LOCAL: 'YYYY-MM-DDTHH:mm', // \n DATETIME_LOCAL_SECONDS: 'YYYY-MM-DDTHH:mm:ss', // \n DATETIME_LOCAL_MS: 'YYYY-MM-DDTHH:mm:ss.SSS', // \n DATE: 'YYYY-MM-DD', // \n TIME: 'HH:mm', // \n TIME_SECONDS: 'HH:mm:ss', // \n TIME_MS: 'HH:mm:ss.SSS', // \n WEEK: 'YYYY-[W]WW', // \n MONTH: 'YYYY-MM' // \n };\n\n return hooks;\n\n})));\n","export function each(o, cb, s) {\n var n;\n if (!o) {\n return 0;\n }\n s = !s ? o : s;\n if (o instanceof Array) {\n // Indexed arrays, needed for Safari\n for (n = 0; n < o.length; n++) {\n if (cb.call(s, o[n], n, o) === false) {\n return 0;\n }\n }\n } else {\n // Hashtables\n for (n in o) {\n if (o.hasOwnProperty(n)) {\n if (cb.call(s, o[n], n, o) === false){\n return 0;\n }\n }\n }\n }\n return 1;\n}\n","module.exports = __WEBPACK_EXTERNAL_MODULE__2__;","export function prettyNumber(input) {\n // If it has 3 or fewer sig figs already, just return the number.\n var input = Number(input),\n sciNo = input.toPrecision(3),\n prefix = '',\n suffixes = ['', 'k', 'M', 'B', 'T'];\n\n if (Number(sciNo) == input && String(input).length <= 4) {\n return String(input);\n }\n\n if (Math.abs(input) >= 1000000000000000) {\n return sciNo;\n }\n\n if (input >= 1 || input <= -1) {\n if (input < 0){\n //Pull off the negative side and stash that.\n input = -input;\n prefix = '-';\n }\n return prefix + recurse(input, 0);\n }\n else {\n return input.toPrecision(3);\n }\n\n function recurse(input, iteration) {\n var input = String(input);\n var split = input.split('.');\n // If there's a dot\n if (split.length > 1) {\n // Keep the left hand side only\n input = split[0];\n var rhs = split[1];\n // If the left-hand side is too short, pad until it has 3 digits\n if (input.length == 2 && rhs.length > 0) {\n // Pad with right-hand side if possible\n if (rhs.length > 0) {\n input = input + '.' + rhs.charAt(0);\n }\n // Pad with zeroes if you must\n else {\n input += '0';\n }\n }\n else if (input.length == 1 && rhs.length > 0) {\n input = input + '.' + rhs.charAt(0);\n // Pad with right-hand side if possible\n if (rhs.length > 1) {\n input += rhs.charAt(1);\n }\n // Pad with zeroes if you must\n else {\n input += '0';\n }\n }\n }\n var numNumerals = input.length;\n // if it has a period, then numNumerals is 1 smaller than the string length:\n if (input.split('.').length > 1) {\n numNumerals--;\n }\n if (numNumerals <= 3) {\n return String(input) + suffixes[iteration];\n }\n else {\n return recurse(Number(input) / 1000, iteration + 1);\n }\n }\n}\n","const matchHtmlRegExp = /[\"'&<>]/;\n\n/**\n * Escape special characters in the given string of html.\n *\n * @param {string} string The string to escape for inserting into HTML\n * @return {string}\n * @public\n */\n\nexport function escapeHtml(string) {\n var str = '' + string;\n var match = matchHtmlRegExp.exec(str);\n\n if (!match) {\n return str;\n }\n\n var escape;\n var html = '';\n var index = 0;\n var lastIndex = 0;\n\n for (index = match.index; index < str.length; index++) {\n switch (str.charCodeAt(index)) {\n case 34: // \"\n escape = '"';\n break;\n case 38: // &\n escape = '&';\n break;\n case 39: // '\n escape = ''';\n break;\n case 60: // <\n escape = '<';\n break;\n case 62: // >\n escape = '>';\n break;\n default:\n continue;\n }\n\n if (lastIndex !== index) {\n html += str.substring(lastIndex, index);\n }\n\n lastIndex = index + 1;\n html += escape;\n }\n\n return lastIndex !== index\n ? html + str.substring(lastIndex, index)\n : html;\n}\n","import * as d3 from 'd3';\n\nexport function textWrap(text, width) {\n text.each(function () {\n let text = d3.select(this),\n words = text.text().split(/\\s+/).reverse(),\n word,\n line = [],\n lineNumber = 0,\n lineHeight = 1.1, // ems\n x = text.attr(\"x\"),\n y = text.attr(\"y\"),\n dy = 0, //parseFloat(text.attr(\"dy\")),\n tspan = text.text(null)\n .append(\"tspan\")\n .attr(\"x\", x)\n .attr(\"y\", y)\n .attr(\"dy\", dy + \"em\");\n while (word = words.pop()) {\n line.push(word);\n tspan.text(line.join(\" \"));\n if (tspan.node().getComputedTextLength() > width) {\n line.pop();\n tspan.text(line.join(\" \"));\n line = [word];\n tspan = text.append(\"tspan\")\n .attr(\"x\", x)\n .attr(\"y\", y)\n .attr(\"dy\", ++lineNumber * lineHeight + dy + \"em\")\n .text(word);\n }\n }\n });\n}\n","export function extend(target) {\n for (var i = 1; i < arguments.length; i++) {\n for (var prop in arguments[i]){\n target[prop] = arguments[i][prop];\n }\n }\n return target;\n}\n","export function testObject(input) {\n if (input !== null && typeof input.getTime === 'function' && !isNaN(input.getTime())) {\n return true;\n }\n return false;\n}\n\nexport function testString(input) {\n const ISO_8601 = /^\\d{4}-\\d\\d-\\d\\dT\\d\\d:\\d\\d:\\d\\d(\\.\\d+)?(([+-]\\d\\d:\\d\\d)|Z)?$/i;\n return ISO_8601.test(input);\n}\n\nexport default function (input) {\n if (typeof input === 'object') {\n return testObject(input);\n } else if (typeof input === 'string') {\n return testString(input);\n }\n return false;\n}\n","/**\n * Strip html tags from string\n *\n * @param {string} string The string to strip\n * @return {string}\n * @public\n */\n\nexport function stripHtmlTags(inputString) {\n return inputString.replace(/(<([^>]+)>)/ig, '');\n}\n","export default function (len) {\n const list = [];\n for (let i = 0; i < len; i++) {\n list.push(null);\n }\n return list;\n}\n","import createNullList from '../utils/create-null-list';\nimport { each } from '../../utils/each';\n\nexport function appendColumn(str, input) {\n const self = this;\n const args = Array.prototype.slice.call(arguments, 2);\n const label = (str !== undefined) ? str : null;\n\n if (typeof input === 'function') {\n self.matrix[0].push(label);\n each(self.matrix, function(row, i) {\n let cell;\n if (i > 0) {\n cell = input.call(self, row, i);\n if (typeof cell === 'undefined') {\n cell = null;\n }\n self.matrix[i].push(cell);\n }\n });\n }\n\n else if (!input || input instanceof Array) {\n input = input || [];\n\n if (input.length <= self.matrix.length - 1) {\n input = input.concat(createNullList(self.matrix.length - 1 - input.length));\n }\n else {\n // If this new column is longer than existing columns,\n // we need to update the rest to match ...\n each(input, function(value, i){\n if (self.matrix.length -1 < input.length) {\n appendRow.call(self, String(self.matrix.length));\n }\n });\n }\n\n self.matrix[0].push(label);\n each(input, function(value, i){\n self.matrix[i+1][self.matrix[0].length-1] = value;\n });\n\n }\n\n return self;\n}\n\nexport function appendRow(str, input) {\n const self = this;\n const args = Array.prototype.slice.call(arguments, 2);\n const label = (str !== undefined) ? str : null;\n const newRow = [];\n\n newRow.push(label);\n\n if (typeof input === 'function') {\n each(self.matrix[0], function(label, i){\n let col;\n let cell;\n if (i > 0) {\n col = self.selectColumn(i);\n cell = input.call(self, col, i);\n if (typeof cell === 'undefined') {\n cell = null;\n }\n newRow.push(cell);\n }\n });\n self.matrix.push(newRow);\n }\n\n else if (!input || input instanceof Array) {\n input = input || [];\n\n if (input.length <= self.matrix[0].length - 1) {\n input = input.concat( createNullList( self.matrix[0].length - 1 - input.length ) );\n }\n else {\n each(input, function(value, i){\n if (self.matrix[0].length -1 < input.length) {\n appendColumn.call(self, String( self.matrix[0].length));\n }\n });\n }\n\n self.matrix.push(newRow.concat(input));\n }\n\n return self;\n}\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var zhTw = moment.defineLocale('zh-tw', {\n months : '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'),\n monthsShort : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n weekdays : '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n weekdaysShort : '週日_週一_週二_週三_週四_週五_週六'.split('_'),\n weekdaysMin : '日_一_二_三_四_五_六'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY/MM/DD',\n LL : 'YYYY年M月D日',\n LLL : 'YYYY年M月D日 HH:mm',\n LLLL : 'YYYY年M月D日dddd HH:mm',\n l : 'YYYY/M/D',\n ll : 'YYYY年M月D日',\n lll : 'YYYY年M月D日 HH:mm',\n llll : 'YYYY年M月D日dddd HH:mm'\n },\n meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n return hour;\n } else if (meridiem === '中午') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === '下午' || meridiem === '晚上') {\n return hour + 12;\n }\n },\n meridiem : function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n if (hm < 600) {\n return '凌晨';\n } else if (hm < 900) {\n return '早上';\n } else if (hm < 1130) {\n return '上午';\n } else if (hm < 1230) {\n return '中午';\n } else if (hm < 1800) {\n return '下午';\n } else {\n return '晚上';\n }\n },\n calendar : {\n sameDay : '[今天] LT',\n nextDay : '[明天] LT',\n nextWeek : '[下]dddd LT',\n lastDay : '[昨天] LT',\n lastWeek : '[上]dddd LT',\n sameElse : 'L'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(日|月|週)/,\n ordinal : function (number, period) {\n switch (period) {\n case 'd' :\n case 'D' :\n case 'DDD' :\n return number + '日';\n case 'M' :\n return number + '月';\n case 'w' :\n case 'W' :\n return number + '週';\n default :\n return number;\n }\n },\n relativeTime : {\n future : '%s內',\n past : '%s前',\n s : '幾秒',\n ss : '%d 秒',\n m : '1 分鐘',\n mm : '%d 分鐘',\n h : '1 小時',\n hh : '%d 小時',\n d : '1 天',\n dd : '%d 天',\n M : '1 個月',\n MM : '%d 個月',\n y : '1 年',\n yy : '%d 年'\n }\n });\n\n return zhTw;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var zhHk = moment.defineLocale('zh-hk', {\n months : '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'),\n monthsShort : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n weekdays : '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n weekdaysShort : '週日_週一_週二_週三_週四_週五_週六'.split('_'),\n weekdaysMin : '日_一_二_三_四_五_六'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY/MM/DD',\n LL : 'YYYY年M月D日',\n LLL : 'YYYY年M月D日 HH:mm',\n LLLL : 'YYYY年M月D日dddd HH:mm',\n l : 'YYYY/M/D',\n ll : 'YYYY年M月D日',\n lll : 'YYYY年M月D日 HH:mm',\n llll : 'YYYY年M月D日dddd HH:mm'\n },\n meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n return hour;\n } else if (meridiem === '中午') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === '下午' || meridiem === '晚上') {\n return hour + 12;\n }\n },\n meridiem : function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n if (hm < 600) {\n return '凌晨';\n } else if (hm < 900) {\n return '早上';\n } else if (hm < 1130) {\n return '上午';\n } else if (hm < 1230) {\n return '中午';\n } else if (hm < 1800) {\n return '下午';\n } else {\n return '晚上';\n }\n },\n calendar : {\n sameDay : '[今天]LT',\n nextDay : '[明天]LT',\n nextWeek : '[下]ddddLT',\n lastDay : '[昨天]LT',\n lastWeek : '[上]ddddLT',\n sameElse : 'L'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(日|月|週)/,\n ordinal : function (number, period) {\n switch (period) {\n case 'd' :\n case 'D' :\n case 'DDD' :\n return number + '日';\n case 'M' :\n return number + '月';\n case 'w' :\n case 'W' :\n return number + '週';\n default :\n return number;\n }\n },\n relativeTime : {\n future : '%s內',\n past : '%s前',\n s : '幾秒',\n ss : '%d 秒',\n m : '1 分鐘',\n mm : '%d 分鐘',\n h : '1 小時',\n hh : '%d 小時',\n d : '1 天',\n dd : '%d 天',\n M : '1 個月',\n MM : '%d 個月',\n y : '1 年',\n yy : '%d 年'\n }\n });\n\n return zhHk;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var zhCn = moment.defineLocale('zh-cn', {\n months : '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'),\n monthsShort : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n weekdays : '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n weekdaysShort : '周日_周一_周二_周三_周四_周五_周六'.split('_'),\n weekdaysMin : '日_一_二_三_四_五_六'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY/MM/DD',\n LL : 'YYYY年M月D日',\n LLL : 'YYYY年M月D日Ah点mm分',\n LLLL : 'YYYY年M月D日ddddAh点mm分',\n l : 'YYYY/M/D',\n ll : 'YYYY年M月D日',\n lll : 'YYYY年M月D日 HH:mm',\n llll : 'YYYY年M月D日dddd HH:mm'\n },\n meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === '凌晨' || meridiem === '早上' ||\n meridiem === '上午') {\n return hour;\n } else if (meridiem === '下午' || meridiem === '晚上') {\n return hour + 12;\n } else {\n // '中午'\n return hour >= 11 ? hour : hour + 12;\n }\n },\n meridiem : function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n if (hm < 600) {\n return '凌晨';\n } else if (hm < 900) {\n return '早上';\n } else if (hm < 1130) {\n return '上午';\n } else if (hm < 1230) {\n return '中午';\n } else if (hm < 1800) {\n return '下午';\n } else {\n return '晚上';\n }\n },\n calendar : {\n sameDay : '[今天]LT',\n nextDay : '[明天]LT',\n nextWeek : '[下]ddddLT',\n lastDay : '[昨天]LT',\n lastWeek : '[上]ddddLT',\n sameElse : 'L'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(日|月|周)/,\n ordinal : function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '日';\n case 'M':\n return number + '月';\n case 'w':\n case 'W':\n return number + '周';\n default:\n return number;\n }\n },\n relativeTime : {\n future : '%s内',\n past : '%s前',\n s : '几秒',\n ss : '%d 秒',\n m : '1 分钟',\n mm : '%d 分钟',\n h : '1 小时',\n hh : '%d 小时',\n d : '1 天',\n dd : '%d 天',\n M : '1 个月',\n MM : '%d 个月',\n y : '1 年',\n yy : '%d 年'\n },\n week : {\n // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return zhCn;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var yo = moment.defineLocale('yo', {\n months : 'Sẹ́rẹ́_Èrèlè_Ẹrẹ̀nà_Ìgbé_Èbibi_Òkùdu_Agẹmo_Ògún_Owewe_Ọ̀wàrà_Bélú_Ọ̀pẹ̀̀'.split('_'),\n monthsShort : 'Sẹ́r_Èrl_Ẹrn_Ìgb_Èbi_Òkù_Agẹ_Ògú_Owe_Ọ̀wà_Bél_Ọ̀pẹ̀̀'.split('_'),\n weekdays : 'Àìkú_Ajé_Ìsẹ́gun_Ọjọ́rú_Ọjọ́bọ_Ẹtì_Àbámẹ́ta'.split('_'),\n weekdaysShort : 'Àìk_Ajé_Ìsẹ́_Ọjr_Ọjb_Ẹtì_Àbá'.split('_'),\n weekdaysMin : 'Àì_Aj_Ìs_Ọr_Ọb_Ẹt_Àb'.split('_'),\n longDateFormat : {\n LT : 'h:mm A',\n LTS : 'h:mm:ss A',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY h:mm A',\n LLLL : 'dddd, D MMMM YYYY h:mm A'\n },\n calendar : {\n sameDay : '[Ònì ni] LT',\n nextDay : '[Ọ̀la ni] LT',\n nextWeek : 'dddd [Ọsẹ̀ tón\\'bọ] [ni] LT',\n lastDay : '[Àna ni] LT',\n lastWeek : 'dddd [Ọsẹ̀ tólọ́] [ni] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'ní %s',\n past : '%s kọjá',\n s : 'ìsẹjú aayá die',\n ss :'aayá %d',\n m : 'ìsẹjú kan',\n mm : 'ìsẹjú %d',\n h : 'wákati kan',\n hh : 'wákati %d',\n d : 'ọjọ́ kan',\n dd : 'ọjọ́ %d',\n M : 'osù kan',\n MM : 'osù %d',\n y : 'ọdún kan',\n yy : 'ọdún %d'\n },\n dayOfMonthOrdinalParse : /ọjọ́\\s\\d{1,2}/,\n ordinal : 'ọjọ́ %d',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return yo;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var xPseudo = moment.defineLocale('x-pseudo', {\n months : 'J~áñúá~rý_F~ébrú~árý_~Márc~h_Áp~ríl_~Máý_~Júñé~_Júl~ý_Áú~gúst~_Sép~témb~ér_Ó~ctób~ér_Ñ~óvém~bér_~Décé~mbér'.split('_'),\n monthsShort : 'J~áñ_~Féb_~Már_~Ápr_~Máý_~Júñ_~Júl_~Áúg_~Sép_~Óct_~Ñóv_~Déc'.split('_'),\n monthsParseExact : true,\n weekdays : 'S~úñdá~ý_Mó~ñdáý~_Túé~sdáý~_Wéd~ñésd~áý_T~húrs~dáý_~Fríd~áý_S~átúr~dáý'.split('_'),\n weekdaysShort : 'S~úñ_~Móñ_~Túé_~Wéd_~Thú_~Frí_~Sát'.split('_'),\n weekdaysMin : 'S~ú_Mó~_Tú_~Wé_T~h_Fr~_Sá'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[T~ódá~ý át] LT',\n nextDay : '[T~ómó~rró~w át] LT',\n nextWeek : 'dddd [át] LT',\n lastDay : '[Ý~ést~érdá~ý át] LT',\n lastWeek : '[L~ást] dddd [át] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'í~ñ %s',\n past : '%s á~gó',\n s : 'á ~féw ~sécó~ñds',\n ss : '%d s~écóñ~ds',\n m : 'á ~míñ~úté',\n mm : '%d m~íñú~tés',\n h : 'á~ñ hó~úr',\n hh : '%d h~óúrs',\n d : 'á ~dáý',\n dd : '%d d~áýs',\n M : 'á ~móñ~th',\n MM : '%d m~óñt~hs',\n y : 'á ~ýéár',\n yy : '%d ý~éárs'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(th|st|nd|rd)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return xPseudo;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var vi = moment.defineLocale('vi', {\n months : 'tháng 1_tháng 2_tháng 3_tháng 4_tháng 5_tháng 6_tháng 7_tháng 8_tháng 9_tháng 10_tháng 11_tháng 12'.split('_'),\n monthsShort : 'Th01_Th02_Th03_Th04_Th05_Th06_Th07_Th08_Th09_Th10_Th11_Th12'.split('_'),\n monthsParseExact : true,\n weekdays : 'chủ nhật_thứ hai_thứ ba_thứ tư_thứ năm_thứ sáu_thứ bảy'.split('_'),\n weekdaysShort : 'CN_T2_T3_T4_T5_T6_T7'.split('_'),\n weekdaysMin : 'CN_T2_T3_T4_T5_T6_T7'.split('_'),\n weekdaysParseExact : true,\n meridiemParse: /sa|ch/i,\n isPM : function (input) {\n return /^ch$/i.test(input);\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours < 12) {\n return isLower ? 'sa' : 'SA';\n } else {\n return isLower ? 'ch' : 'CH';\n }\n },\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM [năm] YYYY',\n LLL : 'D MMMM [năm] YYYY HH:mm',\n LLLL : 'dddd, D MMMM [năm] YYYY HH:mm',\n l : 'DD/M/YYYY',\n ll : 'D MMM YYYY',\n lll : 'D MMM YYYY HH:mm',\n llll : 'ddd, D MMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[Hôm nay lúc] LT',\n nextDay: '[Ngày mai lúc] LT',\n nextWeek: 'dddd [tuần tới lúc] LT',\n lastDay: '[Hôm qua lúc] LT',\n lastWeek: 'dddd [tuần rồi lúc] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : '%s tới',\n past : '%s trước',\n s : 'vài giây',\n ss : '%d giây' ,\n m : 'một phút',\n mm : '%d phút',\n h : 'một giờ',\n hh : '%d giờ',\n d : 'một ngày',\n dd : '%d ngày',\n M : 'một tháng',\n MM : '%d tháng',\n y : 'một năm',\n yy : '%d năm'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}/,\n ordinal : function (number) {\n return number;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return vi;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var uzLatn = moment.defineLocale('uz-latn', {\n months : 'Yanvar_Fevral_Mart_Aprel_May_Iyun_Iyul_Avgust_Sentabr_Oktabr_Noyabr_Dekabr'.split('_'),\n monthsShort : 'Yan_Fev_Mar_Apr_May_Iyun_Iyul_Avg_Sen_Okt_Noy_Dek'.split('_'),\n weekdays : 'Yakshanba_Dushanba_Seshanba_Chorshanba_Payshanba_Juma_Shanba'.split('_'),\n weekdaysShort : 'Yak_Dush_Sesh_Chor_Pay_Jum_Shan'.split('_'),\n weekdaysMin : 'Ya_Du_Se_Cho_Pa_Ju_Sha'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'D MMMM YYYY, dddd HH:mm'\n },\n calendar : {\n sameDay : '[Bugun soat] LT [da]',\n nextDay : '[Ertaga] LT [da]',\n nextWeek : 'dddd [kuni soat] LT [da]',\n lastDay : '[Kecha soat] LT [da]',\n lastWeek : '[O\\'tgan] dddd [kuni soat] LT [da]',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'Yaqin %s ichida',\n past : 'Bir necha %s oldin',\n s : 'soniya',\n ss : '%d soniya',\n m : 'bir daqiqa',\n mm : '%d daqiqa',\n h : 'bir soat',\n hh : '%d soat',\n d : 'bir kun',\n dd : '%d kun',\n M : 'bir oy',\n MM : '%d oy',\n y : 'bir yil',\n yy : '%d yil'\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return uzLatn;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var uz = moment.defineLocale('uz', {\n months : 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split('_'),\n monthsShort : 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'),\n weekdays : 'Якшанба_Душанба_Сешанба_Чоршанба_Пайшанба_Жума_Шанба'.split('_'),\n weekdaysShort : 'Якш_Душ_Сеш_Чор_Пай_Жум_Шан'.split('_'),\n weekdaysMin : 'Як_Ду_Се_Чо_Па_Жу_Ша'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'D MMMM YYYY, dddd HH:mm'\n },\n calendar : {\n sameDay : '[Бугун соат] LT [да]',\n nextDay : '[Эртага] LT [да]',\n nextWeek : 'dddd [куни соат] LT [да]',\n lastDay : '[Кеча соат] LT [да]',\n lastWeek : '[Утган] dddd [куни соат] LT [да]',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'Якин %s ичида',\n past : 'Бир неча %s олдин',\n s : 'фурсат',\n ss : '%d фурсат',\n m : 'бир дакика',\n mm : '%d дакика',\n h : 'бир соат',\n hh : '%d соат',\n d : 'бир кун',\n dd : '%d кун',\n M : 'бир ой',\n MM : '%d ой',\n y : 'бир йил',\n yy : '%d йил'\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return uz;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var months = [\n 'جنوری',\n 'فروری',\n 'مارچ',\n 'اپریل',\n 'مئی',\n 'جون',\n 'جولائی',\n 'اگست',\n 'ستمبر',\n 'اکتوبر',\n 'نومبر',\n 'دسمبر'\n ];\n var days = [\n 'اتوار',\n 'پیر',\n 'منگل',\n 'بدھ',\n 'جمعرات',\n 'جمعہ',\n 'ہفتہ'\n ];\n\n var ur = moment.defineLocale('ur', {\n months : months,\n monthsShort : months,\n weekdays : days,\n weekdaysShort : days,\n weekdaysMin : days,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd، D MMMM YYYY HH:mm'\n },\n meridiemParse: /صبح|شام/,\n isPM : function (input) {\n return 'شام' === input;\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'صبح';\n }\n return 'شام';\n },\n calendar : {\n sameDay : '[آج بوقت] LT',\n nextDay : '[کل بوقت] LT',\n nextWeek : 'dddd [بوقت] LT',\n lastDay : '[گذشتہ روز بوقت] LT',\n lastWeek : '[گذشتہ] dddd [بوقت] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s بعد',\n past : '%s قبل',\n s : 'چند سیکنڈ',\n ss : '%d سیکنڈ',\n m : 'ایک منٹ',\n mm : '%d منٹ',\n h : 'ایک گھنٹہ',\n hh : '%d گھنٹے',\n d : 'ایک دن',\n dd : '%d دن',\n M : 'ایک ماہ',\n MM : '%d ماہ',\n y : 'ایک سال',\n yy : '%d سال'\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/,/g, '،');\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return ur;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function plural(word, num) {\n var forms = word.split('_');\n return num % 10 === 1 && num % 100 !== 11 ? forms[0] : (num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) ? forms[1] : forms[2]);\n }\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n var format = {\n 'ss': withoutSuffix ? 'секунда_секунди_секунд' : 'секунду_секунди_секунд',\n 'mm': withoutSuffix ? 'хвилина_хвилини_хвилин' : 'хвилину_хвилини_хвилин',\n 'hh': withoutSuffix ? 'година_години_годин' : 'годину_години_годин',\n 'dd': 'день_дні_днів',\n 'MM': 'місяць_місяці_місяців',\n 'yy': 'рік_роки_років'\n };\n if (key === 'm') {\n return withoutSuffix ? 'хвилина' : 'хвилину';\n }\n else if (key === 'h') {\n return withoutSuffix ? 'година' : 'годину';\n }\n else {\n return number + ' ' + plural(format[key], +number);\n }\n }\n function weekdaysCaseReplace(m, format) {\n var weekdays = {\n 'nominative': 'неділя_понеділок_вівторок_середа_четвер_п’ятниця_субота'.split('_'),\n 'accusative': 'неділю_понеділок_вівторок_середу_четвер_п’ятницю_суботу'.split('_'),\n 'genitive': 'неділі_понеділка_вівторка_середи_четверга_п’ятниці_суботи'.split('_')\n };\n\n if (!m) {\n return weekdays['nominative'];\n }\n\n var nounCase = (/(\\[[ВвУу]\\]) ?dddd/).test(format) ?\n 'accusative' :\n ((/\\[?(?:минулої|наступної)? ?\\] ?dddd/).test(format) ?\n 'genitive' :\n 'nominative');\n return weekdays[nounCase][m.day()];\n }\n function processHoursFunction(str) {\n return function () {\n return str + 'о' + (this.hours() === 11 ? 'б' : '') + '] LT';\n };\n }\n\n var uk = moment.defineLocale('uk', {\n months : {\n 'format': 'січня_лютого_березня_квітня_травня_червня_липня_серпня_вересня_жовтня_листопада_грудня'.split('_'),\n 'standalone': 'січень_лютий_березень_квітень_травень_червень_липень_серпень_вересень_жовтень_листопад_грудень'.split('_')\n },\n monthsShort : 'січ_лют_бер_квіт_трав_черв_лип_серп_вер_жовт_лист_груд'.split('_'),\n weekdays : weekdaysCaseReplace,\n weekdaysShort : 'нд_пн_вт_ср_чт_пт_сб'.split('_'),\n weekdaysMin : 'нд_пн_вт_ср_чт_пт_сб'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY р.',\n LLL : 'D MMMM YYYY р., HH:mm',\n LLLL : 'dddd, D MMMM YYYY р., HH:mm'\n },\n calendar : {\n sameDay: processHoursFunction('[Сьогодні '),\n nextDay: processHoursFunction('[Завтра '),\n lastDay: processHoursFunction('[Вчора '),\n nextWeek: processHoursFunction('[У] dddd ['),\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n case 3:\n case 5:\n case 6:\n return processHoursFunction('[Минулої] dddd [').call(this);\n case 1:\n case 2:\n case 4:\n return processHoursFunction('[Минулого] dddd [').call(this);\n }\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : 'за %s',\n past : '%s тому',\n s : 'декілька секунд',\n ss : relativeTimeWithPlural,\n m : relativeTimeWithPlural,\n mm : relativeTimeWithPlural,\n h : 'годину',\n hh : relativeTimeWithPlural,\n d : 'день',\n dd : relativeTimeWithPlural,\n M : 'місяць',\n MM : relativeTimeWithPlural,\n y : 'рік',\n yy : relativeTimeWithPlural\n },\n // M. E.: those two are virtually unused but a user might want to implement them for his/her website for some reason\n meridiemParse: /ночі|ранку|дня|вечора/,\n isPM: function (input) {\n return /^(дня|вечора)$/.test(input);\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ночі';\n } else if (hour < 12) {\n return 'ранку';\n } else if (hour < 17) {\n return 'дня';\n } else {\n return 'вечора';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(й|го)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'M':\n case 'd':\n case 'DDD':\n case 'w':\n case 'W':\n return number + '-й';\n case 'D':\n return number + '-го';\n default:\n return number;\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return uk;\n\n})));\n","//! moment.js language configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var ugCn = moment.defineLocale('ug-cn', {\n months: 'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.split(\n '_'\n ),\n monthsShort: 'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.split(\n '_'\n ),\n weekdays: 'يەكشەنبە_دۈشەنبە_سەيشەنبە_چارشەنبە_پەيشەنبە_جۈمە_شەنبە'.split(\n '_'\n ),\n weekdaysShort: 'يە_دۈ_سە_چا_پە_جۈ_شە'.split('_'),\n weekdaysMin: 'يە_دۈ_سە_چا_پە_جۈ_شە'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: 'YYYY-يىلىM-ئاينىڭD-كۈنى',\n LLL: 'YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm',\n LLLL: 'dddd، YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm'\n },\n meridiemParse: /يېرىم كېچە|سەھەر|چۈشتىن بۇرۇن|چۈش|چۈشتىن كېيىن|كەچ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (\n meridiem === 'يېرىم كېچە' ||\n meridiem === 'سەھەر' ||\n meridiem === 'چۈشتىن بۇرۇن'\n ) {\n return hour;\n } else if (meridiem === 'چۈشتىن كېيىن' || meridiem === 'كەچ') {\n return hour + 12;\n } else {\n return hour >= 11 ? hour : hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n if (hm < 600) {\n return 'يېرىم كېچە';\n } else if (hm < 900) {\n return 'سەھەر';\n } else if (hm < 1130) {\n return 'چۈشتىن بۇرۇن';\n } else if (hm < 1230) {\n return 'چۈش';\n } else if (hm < 1800) {\n return 'چۈشتىن كېيىن';\n } else {\n return 'كەچ';\n }\n },\n calendar: {\n sameDay: '[بۈگۈن سائەت] LT',\n nextDay: '[ئەتە سائەت] LT',\n nextWeek: '[كېلەركى] dddd [سائەت] LT',\n lastDay: '[تۆنۈگۈن] LT',\n lastWeek: '[ئالدىنقى] dddd [سائەت] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s كېيىن',\n past: '%s بۇرۇن',\n s: 'نەچچە سېكونت',\n ss: '%d سېكونت',\n m: 'بىر مىنۇت',\n mm: '%d مىنۇت',\n h: 'بىر سائەت',\n hh: '%d سائەت',\n d: 'بىر كۈن',\n dd: '%d كۈن',\n M: 'بىر ئاي',\n MM: '%d ئاي',\n y: 'بىر يىل',\n yy: '%d يىل'\n },\n\n dayOfMonthOrdinalParse: /\\d{1,2}(-كۈنى|-ئاي|-ھەپتە)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '-كۈنى';\n case 'w':\n case 'W':\n return number + '-ھەپتە';\n default:\n return number;\n }\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/,/g, '،');\n },\n week: {\n // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效\n dow: 1, // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return ugCn;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var tzmLatn = moment.defineLocale('tzm-latn', {\n months : 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split('_'),\n monthsShort : 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split('_'),\n weekdays : 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),\n weekdaysShort : 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),\n weekdaysMin : 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[asdkh g] LT',\n nextDay: '[aska g] LT',\n nextWeek: 'dddd [g] LT',\n lastDay: '[assant g] LT',\n lastWeek: 'dddd [g] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'dadkh s yan %s',\n past : 'yan %s',\n s : 'imik',\n ss : '%d imik',\n m : 'minuḍ',\n mm : '%d minuḍ',\n h : 'saɛa',\n hh : '%d tassaɛin',\n d : 'ass',\n dd : '%d ossan',\n M : 'ayowr',\n MM : '%d iyyirn',\n y : 'asgas',\n yy : '%d isgasn'\n },\n week : {\n dow : 6, // Saturday is the first day of the week.\n doy : 12 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return tzmLatn;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var tzm = moment.defineLocale('tzm', {\n months : 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split('_'),\n monthsShort : 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split('_'),\n weekdays : 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),\n weekdaysShort : 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),\n weekdaysMin : 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS: 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[ⴰⵙⴷⵅ ⴴ] LT',\n nextDay: '[ⴰⵙⴽⴰ ⴴ] LT',\n nextWeek: 'dddd [ⴴ] LT',\n lastDay: '[ⴰⵚⴰⵏⵜ ⴴ] LT',\n lastWeek: 'dddd [ⴴ] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'ⴷⴰⴷⵅ ⵙ ⵢⴰⵏ %s',\n past : 'ⵢⴰⵏ %s',\n s : 'ⵉⵎⵉⴽ',\n ss : '%d ⵉⵎⵉⴽ',\n m : 'ⵎⵉⵏⵓⴺ',\n mm : '%d ⵎⵉⵏⵓⴺ',\n h : 'ⵙⴰⵄⴰ',\n hh : '%d ⵜⴰⵙⵙⴰⵄⵉⵏ',\n d : 'ⴰⵙⵙ',\n dd : '%d oⵙⵙⴰⵏ',\n M : 'ⴰⵢoⵓⵔ',\n MM : '%d ⵉⵢⵢⵉⵔⵏ',\n y : 'ⴰⵙⴳⴰⵙ',\n yy : '%d ⵉⵙⴳⴰⵙⵏ'\n },\n week : {\n dow : 6, // Saturday is the first day of the week.\n doy : 12 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return tzm;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n // After the year there should be a slash and the amount of years since December 26, 1979 in Roman numerals.\n // This is currently too difficult (maybe even impossible) to add.\n var tzl = moment.defineLocale('tzl', {\n months : 'Januar_Fevraglh_Març_Avrïu_Mai_Gün_Julia_Guscht_Setemvar_Listopäts_Noemvar_Zecemvar'.split('_'),\n monthsShort : 'Jan_Fev_Mar_Avr_Mai_Gün_Jul_Gus_Set_Lis_Noe_Zec'.split('_'),\n weekdays : 'Súladi_Lúneçi_Maitzi_Márcuri_Xhúadi_Viénerçi_Sáturi'.split('_'),\n weekdaysShort : 'Súl_Lún_Mai_Már_Xhú_Vié_Sát'.split('_'),\n weekdaysMin : 'Sú_Lú_Ma_Má_Xh_Vi_Sá'.split('_'),\n longDateFormat : {\n LT : 'HH.mm',\n LTS : 'HH.mm.ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM [dallas] YYYY',\n LLL : 'D. MMMM [dallas] YYYY HH.mm',\n LLLL : 'dddd, [li] D. MMMM [dallas] YYYY HH.mm'\n },\n meridiemParse: /d\\'o|d\\'a/i,\n isPM : function (input) {\n return 'd\\'o' === input.toLowerCase();\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'd\\'o' : 'D\\'O';\n } else {\n return isLower ? 'd\\'a' : 'D\\'A';\n }\n },\n calendar : {\n sameDay : '[oxhi à] LT',\n nextDay : '[demà à] LT',\n nextWeek : 'dddd [à] LT',\n lastDay : '[ieiri à] LT',\n lastWeek : '[sür el] dddd [lasteu à] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'osprei %s',\n past : 'ja%s',\n s : processRelativeTime,\n ss : processRelativeTime,\n m : processRelativeTime,\n mm : processRelativeTime,\n h : processRelativeTime,\n hh : processRelativeTime,\n d : processRelativeTime,\n dd : processRelativeTime,\n M : processRelativeTime,\n MM : processRelativeTime,\n y : processRelativeTime,\n yy : processRelativeTime\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n 's': ['viensas secunds', '\\'iensas secunds'],\n 'ss': [number + ' secunds', '' + number + ' secunds'],\n 'm': ['\\'n míut', '\\'iens míut'],\n 'mm': [number + ' míuts', '' + number + ' míuts'],\n 'h': ['\\'n þora', '\\'iensa þora'],\n 'hh': [number + ' þoras', '' + number + ' þoras'],\n 'd': ['\\'n ziua', '\\'iensa ziua'],\n 'dd': [number + ' ziuas', '' + number + ' ziuas'],\n 'M': ['\\'n mes', '\\'iens mes'],\n 'MM': [number + ' mesen', '' + number + ' mesen'],\n 'y': ['\\'n ar', '\\'iens ar'],\n 'yy': [number + ' ars', '' + number + ' ars']\n };\n return isFuture ? format[key][0] : (withoutSuffix ? format[key][0] : format[key][1]);\n }\n\n return tzl;\n\n})));\n","\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n var suffixes = {\n 1: '\\'inci',\n 5: '\\'inci',\n 8: '\\'inci',\n 70: '\\'inci',\n 80: '\\'inci',\n 2: '\\'nci',\n 7: '\\'nci',\n 20: '\\'nci',\n 50: '\\'nci',\n 3: '\\'üncü',\n 4: '\\'üncü',\n 100: '\\'üncü',\n 6: '\\'ncı',\n 9: '\\'uncu',\n 10: '\\'uncu',\n 30: '\\'uncu',\n 60: '\\'ıncı',\n 90: '\\'ıncı'\n };\n\n var tr = moment.defineLocale('tr', {\n months : 'Ocak_Şubat_Mart_Nisan_Mayıs_Haziran_Temmuz_Ağustos_Eylül_Ekim_Kasım_Aralık'.split('_'),\n monthsShort : 'Oca_Şub_Mar_Nis_May_Haz_Tem_Ağu_Eyl_Eki_Kas_Ara'.split('_'),\n weekdays : 'Pazar_Pazartesi_Salı_Çarşamba_Perşembe_Cuma_Cumartesi'.split('_'),\n weekdaysShort : 'Paz_Pts_Sal_Çar_Per_Cum_Cts'.split('_'),\n weekdaysMin : 'Pz_Pt_Sa_Ça_Pe_Cu_Ct'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[bugün saat] LT',\n nextDay : '[yarın saat] LT',\n nextWeek : '[gelecek] dddd [saat] LT',\n lastDay : '[dün] LT',\n lastWeek : '[geçen] dddd [saat] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s sonra',\n past : '%s önce',\n s : 'birkaç saniye',\n ss : '%d saniye',\n m : 'bir dakika',\n mm : '%d dakika',\n h : 'bir saat',\n hh : '%d saat',\n d : 'bir gün',\n dd : '%d gün',\n M : 'bir ay',\n MM : '%d ay',\n y : 'bir yıl',\n yy : '%d yıl'\n },\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'Do':\n case 'DD':\n return number;\n default:\n if (number === 0) { // special case for zero\n return number + '\\'ıncı';\n }\n var a = number % 10,\n b = number % 100 - a,\n c = number >= 100 ? 100 : null;\n return number + (suffixes[a] || suffixes[b] || suffixes[c]);\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return tr;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var numbersNouns = 'pagh_wa’_cha’_wej_loS_vagh_jav_Soch_chorgh_Hut'.split('_');\n\n function translateFuture(output) {\n var time = output;\n time = (output.indexOf('jaj') !== -1) ?\n time.slice(0, -3) + 'leS' :\n (output.indexOf('jar') !== -1) ?\n time.slice(0, -3) + 'waQ' :\n (output.indexOf('DIS') !== -1) ?\n time.slice(0, -3) + 'nem' :\n time + ' pIq';\n return time;\n }\n\n function translatePast(output) {\n var time = output;\n time = (output.indexOf('jaj') !== -1) ?\n time.slice(0, -3) + 'Hu’' :\n (output.indexOf('jar') !== -1) ?\n time.slice(0, -3) + 'wen' :\n (output.indexOf('DIS') !== -1) ?\n time.slice(0, -3) + 'ben' :\n time + ' ret';\n return time;\n }\n\n function translate(number, withoutSuffix, string, isFuture) {\n var numberNoun = numberAsNoun(number);\n switch (string) {\n case 'ss':\n return numberNoun + ' lup';\n case 'mm':\n return numberNoun + ' tup';\n case 'hh':\n return numberNoun + ' rep';\n case 'dd':\n return numberNoun + ' jaj';\n case 'MM':\n return numberNoun + ' jar';\n case 'yy':\n return numberNoun + ' DIS';\n }\n }\n\n function numberAsNoun(number) {\n var hundred = Math.floor((number % 1000) / 100),\n ten = Math.floor((number % 100) / 10),\n one = number % 10,\n word = '';\n if (hundred > 0) {\n word += numbersNouns[hundred] + 'vatlh';\n }\n if (ten > 0) {\n word += ((word !== '') ? ' ' : '') + numbersNouns[ten] + 'maH';\n }\n if (one > 0) {\n word += ((word !== '') ? ' ' : '') + numbersNouns[one];\n }\n return (word === '') ? 'pagh' : word;\n }\n\n var tlh = moment.defineLocale('tlh', {\n months : 'tera’ jar wa’_tera’ jar cha’_tera’ jar wej_tera’ jar loS_tera’ jar vagh_tera’ jar jav_tera’ jar Soch_tera’ jar chorgh_tera’ jar Hut_tera’ jar wa’maH_tera’ jar wa’maH wa’_tera’ jar wa’maH cha’'.split('_'),\n monthsShort : 'jar wa’_jar cha’_jar wej_jar loS_jar vagh_jar jav_jar Soch_jar chorgh_jar Hut_jar wa’maH_jar wa’maH wa’_jar wa’maH cha’'.split('_'),\n monthsParseExact : true,\n weekdays : 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),\n weekdaysShort : 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),\n weekdaysMin : 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[DaHjaj] LT',\n nextDay: '[wa’leS] LT',\n nextWeek: 'LLL',\n lastDay: '[wa’Hu’] LT',\n lastWeek: 'LLL',\n sameElse: 'L'\n },\n relativeTime : {\n future : translateFuture,\n past : translatePast,\n s : 'puS lup',\n ss : translate,\n m : 'wa’ tup',\n mm : translate,\n h : 'wa’ rep',\n hh : translate,\n d : 'wa’ jaj',\n dd : translate,\n M : 'wa’ jar',\n MM : translate,\n y : 'wa’ DIS',\n yy : translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return tlh;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var tlPh = moment.defineLocale('tl-ph', {\n months : 'Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre'.split('_'),\n monthsShort : 'Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis'.split('_'),\n weekdays : 'Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado'.split('_'),\n weekdaysShort : 'Lin_Lun_Mar_Miy_Huw_Biy_Sab'.split('_'),\n weekdaysMin : 'Li_Lu_Ma_Mi_Hu_Bi_Sab'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'MM/D/YYYY',\n LL : 'MMMM D, YYYY',\n LLL : 'MMMM D, YYYY HH:mm',\n LLLL : 'dddd, MMMM DD, YYYY HH:mm'\n },\n calendar : {\n sameDay: 'LT [ngayong araw]',\n nextDay: '[Bukas ng] LT',\n nextWeek: 'LT [sa susunod na] dddd',\n lastDay: 'LT [kahapon]',\n lastWeek: 'LT [noong nakaraang] dddd',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'sa loob ng %s',\n past : '%s ang nakalipas',\n s : 'ilang segundo',\n ss : '%d segundo',\n m : 'isang minuto',\n mm : '%d minuto',\n h : 'isang oras',\n hh : '%d oras',\n d : 'isang araw',\n dd : '%d araw',\n M : 'isang buwan',\n MM : '%d buwan',\n y : 'isang taon',\n yy : '%d taon'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}/,\n ordinal : function (number) {\n return number;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return tlPh;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var th = moment.defineLocale('th', {\n months : 'มกราคม_กุมภาพันธ์_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_กรกฎาคม_สิงหาคม_กันยายน_ตุลาคม_พฤศจิกายน_ธันวาคม'.split('_'),\n monthsShort : 'ม.ค._ก.พ._มี.ค._เม.ย._พ.ค._มิ.ย._ก.ค._ส.ค._ก.ย._ต.ค._พ.ย._ธ.ค.'.split('_'),\n monthsParseExact: true,\n weekdays : 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัสบดี_ศุกร์_เสาร์'.split('_'),\n weekdaysShort : 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัส_ศุกร์_เสาร์'.split('_'), // yes, three characters difference\n weekdaysMin : 'อา._จ._อ._พ._พฤ._ศ._ส.'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY เวลา H:mm',\n LLLL : 'วันddddที่ D MMMM YYYY เวลา H:mm'\n },\n meridiemParse: /ก่อนเที่ยง|หลังเที่ยง/,\n isPM: function (input) {\n return input === 'หลังเที่ยง';\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ก่อนเที่ยง';\n } else {\n return 'หลังเที่ยง';\n }\n },\n calendar : {\n sameDay : '[วันนี้ เวลา] LT',\n nextDay : '[พรุ่งนี้ เวลา] LT',\n nextWeek : 'dddd[หน้า เวลา] LT',\n lastDay : '[เมื่อวานนี้ เวลา] LT',\n lastWeek : '[วัน]dddd[ที่แล้ว เวลา] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'อีก %s',\n past : '%sที่แล้ว',\n s : 'ไม่กี่วินาที',\n ss : '%d วินาที',\n m : '1 นาที',\n mm : '%d นาที',\n h : '1 ชั่วโมง',\n hh : '%d ชั่วโมง',\n d : '1 วัน',\n dd : '%d วัน',\n M : '1 เดือน',\n MM : '%d เดือน',\n y : '1 ปี',\n yy : '%d ปี'\n }\n });\n\n return th;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var suffixes = {\n 0: '-ум',\n 1: '-ум',\n 2: '-юм',\n 3: '-юм',\n 4: '-ум',\n 5: '-ум',\n 6: '-ум',\n 7: '-ум',\n 8: '-ум',\n 9: '-ум',\n 10: '-ум',\n 12: '-ум',\n 13: '-ум',\n 20: '-ум',\n 30: '-юм',\n 40: '-ум',\n 50: '-ум',\n 60: '-ум',\n 70: '-ум',\n 80: '-ум',\n 90: '-ум',\n 100: '-ум'\n };\n\n var tg = moment.defineLocale('tg', {\n months : 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split('_'),\n monthsShort : 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'),\n weekdays : 'якшанбе_душанбе_сешанбе_чоршанбе_панҷшанбе_ҷумъа_шанбе'.split('_'),\n weekdaysShort : 'яшб_дшб_сшб_чшб_пшб_ҷум_шнб'.split('_'),\n weekdaysMin : 'яш_дш_сш_чш_пш_ҷм_шб'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Имрӯз соати] LT',\n nextDay : '[Пагоҳ соати] LT',\n lastDay : '[Дирӯз соати] LT',\n nextWeek : 'dddd[и] [ҳафтаи оянда соати] LT',\n lastWeek : 'dddd[и] [ҳафтаи гузашта соати] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'баъди %s',\n past : '%s пеш',\n s : 'якчанд сония',\n m : 'як дақиқа',\n mm : '%d дақиқа',\n h : 'як соат',\n hh : '%d соат',\n d : 'як рӯз',\n dd : '%d рӯз',\n M : 'як моҳ',\n MM : '%d моҳ',\n y : 'як сол',\n yy : '%d сол'\n },\n meridiemParse: /шаб|субҳ|рӯз|бегоҳ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'шаб') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'субҳ') {\n return hour;\n } else if (meridiem === 'рӯз') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'бегоҳ') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'шаб';\n } else if (hour < 11) {\n return 'субҳ';\n } else if (hour < 16) {\n return 'рӯз';\n } else if (hour < 19) {\n return 'бегоҳ';\n } else {\n return 'шаб';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ум|юм)/,\n ordinal: function (number) {\n var a = number % 10,\n b = number >= 100 ? 100 : null;\n return number + (suffixes[number] || suffixes[a] || suffixes[b]);\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1th is the first week of the year.\n }\n });\n\n return tg;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var tet = moment.defineLocale('tet', {\n months : 'Janeiru_Fevereiru_Marsu_Abril_Maiu_Juñu_Jullu_Agustu_Setembru_Outubru_Novembru_Dezembru'.split('_'),\n monthsShort : 'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez'.split('_'),\n weekdays : 'Domingu_Segunda_Tersa_Kuarta_Kinta_Sesta_Sabadu'.split('_'),\n weekdaysShort : 'Dom_Seg_Ters_Kua_Kint_Sest_Sab'.split('_'),\n weekdaysMin : 'Do_Seg_Te_Ku_Ki_Ses_Sa'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[Ohin iha] LT',\n nextDay: '[Aban iha] LT',\n nextWeek: 'dddd [iha] LT',\n lastDay: '[Horiseik iha] LT',\n lastWeek: 'dddd [semana kotuk] [iha] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'iha %s',\n past : '%s liuba',\n s : 'minutu balun',\n ss : 'minutu %d',\n m : 'minutu ida',\n mm : 'minutu %d',\n h : 'oras ida',\n hh : 'oras %d',\n d : 'loron ida',\n dd : 'loron %d',\n M : 'fulan ida',\n MM : 'fulan %d',\n y : 'tinan ida',\n yy : 'tinan %d'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return tet;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var te = moment.defineLocale('te', {\n months : 'జనవరి_ఫిబ్రవరి_మార్చి_ఏప్రిల్_మే_జూన్_జూలై_ఆగస్టు_సెప్టెంబర్_అక్టోబర్_నవంబర్_డిసెంబర్'.split('_'),\n monthsShort : 'జన._ఫిబ్ర._మార్చి_ఏప్రి._మే_జూన్_జూలై_ఆగ._సెప్._అక్టో._నవ._డిసె.'.split('_'),\n monthsParseExact : true,\n weekdays : 'ఆదివారం_సోమవారం_మంగళవారం_బుధవారం_గురువారం_శుక్రవారం_శనివారం'.split('_'),\n weekdaysShort : 'ఆది_సోమ_మంగళ_బుధ_గురు_శుక్ర_శని'.split('_'),\n weekdaysMin : 'ఆ_సో_మం_బు_గు_శు_శ'.split('_'),\n longDateFormat : {\n LT : 'A h:mm',\n LTS : 'A h:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, A h:mm',\n LLLL : 'dddd, D MMMM YYYY, A h:mm'\n },\n calendar : {\n sameDay : '[నేడు] LT',\n nextDay : '[రేపు] LT',\n nextWeek : 'dddd, LT',\n lastDay : '[నిన్న] LT',\n lastWeek : '[గత] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s లో',\n past : '%s క్రితం',\n s : 'కొన్ని క్షణాలు',\n ss : '%d సెకన్లు',\n m : 'ఒక నిమిషం',\n mm : '%d నిమిషాలు',\n h : 'ఒక గంట',\n hh : '%d గంటలు',\n d : 'ఒక రోజు',\n dd : '%d రోజులు',\n M : 'ఒక నెల',\n MM : '%d నెలలు',\n y : 'ఒక సంవత్సరం',\n yy : '%d సంవత్సరాలు'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}వ/,\n ordinal : '%dవ',\n meridiemParse: /రాత్రి|ఉదయం|మధ్యాహ్నం|సాయంత్రం/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'రాత్రి') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'ఉదయం') {\n return hour;\n } else if (meridiem === 'మధ్యాహ్నం') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'సాయంత్రం') {\n return hour + 12;\n }\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'రాత్రి';\n } else if (hour < 10) {\n return 'ఉదయం';\n } else if (hour < 17) {\n return 'మధ్యాహ్నం';\n } else if (hour < 20) {\n return 'సాయంత్రం';\n } else {\n return 'రాత్రి';\n }\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return te;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '௧',\n '2': '௨',\n '3': '௩',\n '4': '௪',\n '5': '௫',\n '6': '௬',\n '7': '௭',\n '8': '௮',\n '9': '௯',\n '0': '௦'\n }, numberMap = {\n '௧': '1',\n '௨': '2',\n '௩': '3',\n '௪': '4',\n '௫': '5',\n '௬': '6',\n '௭': '7',\n '௮': '8',\n '௯': '9',\n '௦': '0'\n };\n\n var ta = moment.defineLocale('ta', {\n months : 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split('_'),\n monthsShort : 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split('_'),\n weekdays : 'ஞாயிற்றுக்கிழமை_திங்கட்கிழமை_செவ்வாய்கிழமை_புதன்கிழமை_வியாழக்கிழமை_வெள்ளிக்கிழமை_சனிக்கிழமை'.split('_'),\n weekdaysShort : 'ஞாயிறு_திங்கள்_செவ்வாய்_புதன்_வியாழன்_வெள்ளி_சனி'.split('_'),\n weekdaysMin : 'ஞா_தி_செ_பு_வி_வெ_ச'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, HH:mm',\n LLLL : 'dddd, D MMMM YYYY, HH:mm'\n },\n calendar : {\n sameDay : '[இன்று] LT',\n nextDay : '[நாளை] LT',\n nextWeek : 'dddd, LT',\n lastDay : '[நேற்று] LT',\n lastWeek : '[கடந்த வாரம்] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s இல்',\n past : '%s முன்',\n s : 'ஒரு சில விநாடிகள்',\n ss : '%d விநாடிகள்',\n m : 'ஒரு நிமிடம்',\n mm : '%d நிமிடங்கள்',\n h : 'ஒரு மணி நேரம்',\n hh : '%d மணி நேரம்',\n d : 'ஒரு நாள்',\n dd : '%d நாட்கள்',\n M : 'ஒரு மாதம்',\n MM : '%d மாதங்கள்',\n y : 'ஒரு வருடம்',\n yy : '%d ஆண்டுகள்'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}வது/,\n ordinal : function (number) {\n return number + 'வது';\n },\n preparse: function (string) {\n return string.replace(/[௧௨௩௪௫௬௭௮௯௦]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n // refer http://ta.wikipedia.org/s/1er1\n meridiemParse: /யாமம்|வைகறை|காலை|நண்பகல்|எற்பாடு|மாலை/,\n meridiem : function (hour, minute, isLower) {\n if (hour < 2) {\n return ' யாமம்';\n } else if (hour < 6) {\n return ' வைகறை'; // வைகறை\n } else if (hour < 10) {\n return ' காலை'; // காலை\n } else if (hour < 14) {\n return ' நண்பகல்'; // நண்பகல்\n } else if (hour < 18) {\n return ' எற்பாடு'; // எற்பாடு\n } else if (hour < 22) {\n return ' மாலை'; // மாலை\n } else {\n return ' யாமம்';\n }\n },\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'யாமம்') {\n return hour < 2 ? hour : hour + 12;\n } else if (meridiem === 'வைகறை' || meridiem === 'காலை') {\n return hour;\n } else if (meridiem === 'நண்பகல்') {\n return hour >= 10 ? hour : hour + 12;\n } else {\n return hour + 12;\n }\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return ta;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var sw = moment.defineLocale('sw', {\n months : 'Januari_Februari_Machi_Aprili_Mei_Juni_Julai_Agosti_Septemba_Oktoba_Novemba_Desemba'.split('_'),\n monthsShort : 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ago_Sep_Okt_Nov_Des'.split('_'),\n weekdays : 'Jumapili_Jumatatu_Jumanne_Jumatano_Alhamisi_Ijumaa_Jumamosi'.split('_'),\n weekdaysShort : 'Jpl_Jtat_Jnne_Jtan_Alh_Ijm_Jmos'.split('_'),\n weekdaysMin : 'J2_J3_J4_J5_Al_Ij_J1'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[leo saa] LT',\n nextDay : '[kesho saa] LT',\n nextWeek : '[wiki ijayo] dddd [saat] LT',\n lastDay : '[jana] LT',\n lastWeek : '[wiki iliyopita] dddd [saat] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s baadaye',\n past : 'tokea %s',\n s : 'hivi punde',\n ss : 'sekunde %d',\n m : 'dakika moja',\n mm : 'dakika %d',\n h : 'saa limoja',\n hh : 'masaa %d',\n d : 'siku moja',\n dd : 'masiku %d',\n M : 'mwezi mmoja',\n MM : 'miezi %d',\n y : 'mwaka mmoja',\n yy : 'miaka %d'\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return sw;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var sv = moment.defineLocale('sv', {\n months : 'januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december'.split('_'),\n monthsShort : 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n weekdays : 'söndag_måndag_tisdag_onsdag_torsdag_fredag_lördag'.split('_'),\n weekdaysShort : 'sön_mån_tis_ons_tor_fre_lör'.split('_'),\n weekdaysMin : 'sö_må_ti_on_to_fr_lö'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY-MM-DD',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY [kl.] HH:mm',\n LLLL : 'dddd D MMMM YYYY [kl.] HH:mm',\n lll : 'D MMM YYYY HH:mm',\n llll : 'ddd D MMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[Idag] LT',\n nextDay: '[Imorgon] LT',\n lastDay: '[Igår] LT',\n nextWeek: '[På] dddd LT',\n lastWeek: '[I] dddd[s] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'om %s',\n past : 'för %s sedan',\n s : 'några sekunder',\n ss : '%d sekunder',\n m : 'en minut',\n mm : '%d minuter',\n h : 'en timme',\n hh : '%d timmar',\n d : 'en dag',\n dd : '%d dagar',\n M : 'en månad',\n MM : '%d månader',\n y : 'ett år',\n yy : '%d år'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(e|a)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'e' :\n (b === 1) ? 'a' :\n (b === 2) ? 'a' :\n (b === 3) ? 'e' : 'e';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return sv;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var ss = moment.defineLocale('ss', {\n months : \"Bhimbidvwane_Indlovana_Indlov'lenkhulu_Mabasa_Inkhwekhweti_Inhlaba_Kholwane_Ingci_Inyoni_Imphala_Lweti_Ingongoni\".split('_'),\n monthsShort : 'Bhi_Ina_Inu_Mab_Ink_Inh_Kho_Igc_Iny_Imp_Lwe_Igo'.split('_'),\n weekdays : 'Lisontfo_Umsombuluko_Lesibili_Lesitsatfu_Lesine_Lesihlanu_Umgcibelo'.split('_'),\n weekdaysShort : 'Lis_Umb_Lsb_Les_Lsi_Lsh_Umg'.split('_'),\n weekdaysMin : 'Li_Us_Lb_Lt_Ls_Lh_Ug'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'h:mm A',\n LTS : 'h:mm:ss A',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY h:mm A',\n LLLL : 'dddd, D MMMM YYYY h:mm A'\n },\n calendar : {\n sameDay : '[Namuhla nga] LT',\n nextDay : '[Kusasa nga] LT',\n nextWeek : 'dddd [nga] LT',\n lastDay : '[Itolo nga] LT',\n lastWeek : 'dddd [leliphelile] [nga] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'nga %s',\n past : 'wenteka nga %s',\n s : 'emizuzwana lomcane',\n ss : '%d mzuzwana',\n m : 'umzuzu',\n mm : '%d emizuzu',\n h : 'lihora',\n hh : '%d emahora',\n d : 'lilanga',\n dd : '%d emalanga',\n M : 'inyanga',\n MM : '%d tinyanga',\n y : 'umnyaka',\n yy : '%d iminyaka'\n },\n meridiemParse: /ekuseni|emini|entsambama|ebusuku/,\n meridiem : function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'ekuseni';\n } else if (hours < 15) {\n return 'emini';\n } else if (hours < 19) {\n return 'entsambama';\n } else {\n return 'ebusuku';\n }\n },\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'ekuseni') {\n return hour;\n } else if (meridiem === 'emini') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'entsambama' || meridiem === 'ebusuku') {\n if (hour === 0) {\n return 0;\n }\n return hour + 12;\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}/,\n ordinal : '%d',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return ss;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var translator = {\n words: { //Different grammatical cases\n ss: ['секунда', 'секунде', 'секунди'],\n m: ['један минут', 'једне минуте'],\n mm: ['минут', 'минуте', 'минута'],\n h: ['један сат', 'једног сата'],\n hh: ['сат', 'сата', 'сати'],\n dd: ['дан', 'дана', 'дана'],\n MM: ['месец', 'месеца', 'месеци'],\n yy: ['година', 'године', 'година']\n },\n correctGrammaticalCase: function (number, wordKey) {\n return number === 1 ? wordKey[0] : (number >= 2 && number <= 4 ? wordKey[1] : wordKey[2]);\n },\n translate: function (number, withoutSuffix, key) {\n var wordKey = translator.words[key];\n if (key.length === 1) {\n return withoutSuffix ? wordKey[0] : wordKey[1];\n } else {\n return number + ' ' + translator.correctGrammaticalCase(number, wordKey);\n }\n }\n };\n\n var srCyrl = moment.defineLocale('sr-cyrl', {\n months: 'јануар_фебруар_март_април_мај_јун_јул_август_септембар_октобар_новембар_децембар'.split('_'),\n monthsShort: 'јан._феб._мар._апр._мај_јун_јул_авг._сеп._окт._нов._дец.'.split('_'),\n monthsParseExact: true,\n weekdays: 'недеља_понедељак_уторак_среда_четвртак_петак_субота'.split('_'),\n weekdaysShort: 'нед._пон._уто._сре._чет._пет._суб.'.split('_'),\n weekdaysMin: 'не_по_ут_ср_че_пе_су'.split('_'),\n weekdaysParseExact : true,\n longDateFormat: {\n LT: 'H:mm',\n LTS : 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd, D. MMMM YYYY H:mm'\n },\n calendar: {\n sameDay: '[данас у] LT',\n nextDay: '[сутра у] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[у] [недељу] [у] LT';\n case 3:\n return '[у] [среду] [у] LT';\n case 6:\n return '[у] [суботу] [у] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[у] dddd [у] LT';\n }\n },\n lastDay : '[јуче у] LT',\n lastWeek : function () {\n var lastWeekDays = [\n '[прошле] [недеље] [у] LT',\n '[прошлог] [понедељка] [у] LT',\n '[прошлог] [уторка] [у] LT',\n '[прошле] [среде] [у] LT',\n '[прошлог] [четвртка] [у] LT',\n '[прошлог] [петка] [у] LT',\n '[прошле] [суботе] [у] LT'\n ];\n return lastWeekDays[this.day()];\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'за %s',\n past : 'пре %s',\n s : 'неколико секунди',\n ss : translator.translate,\n m : translator.translate,\n mm : translator.translate,\n h : translator.translate,\n hh : translator.translate,\n d : 'дан',\n dd : translator.translate,\n M : 'месец',\n MM : translator.translate,\n y : 'годину',\n yy : translator.translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return srCyrl;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var translator = {\n words: { //Different grammatical cases\n ss: ['sekunda', 'sekunde', 'sekundi'],\n m: ['jedan minut', 'jedne minute'],\n mm: ['minut', 'minute', 'minuta'],\n h: ['jedan sat', 'jednog sata'],\n hh: ['sat', 'sata', 'sati'],\n dd: ['dan', 'dana', 'dana'],\n MM: ['mesec', 'meseca', 'meseci'],\n yy: ['godina', 'godine', 'godina']\n },\n correctGrammaticalCase: function (number, wordKey) {\n return number === 1 ? wordKey[0] : (number >= 2 && number <= 4 ? wordKey[1] : wordKey[2]);\n },\n translate: function (number, withoutSuffix, key) {\n var wordKey = translator.words[key];\n if (key.length === 1) {\n return withoutSuffix ? wordKey[0] : wordKey[1];\n } else {\n return number + ' ' + translator.correctGrammaticalCase(number, wordKey);\n }\n }\n };\n\n var sr = moment.defineLocale('sr', {\n months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split('_'),\n monthsShort: 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays: 'nedelja_ponedeljak_utorak_sreda_četvrtak_petak_subota'.split('_'),\n weekdaysShort: 'ned._pon._uto._sre._čet._pet._sub.'.split('_'),\n weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact : true,\n longDateFormat: {\n LT: 'H:mm',\n LTS : 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd, D. MMMM YYYY H:mm'\n },\n calendar: {\n sameDay: '[danas u] LT',\n nextDay: '[sutra u] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[u] [nedelju] [u] LT';\n case 3:\n return '[u] [sredu] [u] LT';\n case 6:\n return '[u] [subotu] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay : '[juče u] LT',\n lastWeek : function () {\n var lastWeekDays = [\n '[prošle] [nedelje] [u] LT',\n '[prošlog] [ponedeljka] [u] LT',\n '[prošlog] [utorka] [u] LT',\n '[prošle] [srede] [u] LT',\n '[prošlog] [četvrtka] [u] LT',\n '[prošlog] [petka] [u] LT',\n '[prošle] [subote] [u] LT'\n ];\n return lastWeekDays[this.day()];\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'za %s',\n past : 'pre %s',\n s : 'nekoliko sekundi',\n ss : translator.translate,\n m : translator.translate,\n mm : translator.translate,\n h : translator.translate,\n hh : translator.translate,\n d : 'dan',\n dd : translator.translate,\n M : 'mesec',\n MM : translator.translate,\n y : 'godinu',\n yy : translator.translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return sr;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var sq = moment.defineLocale('sq', {\n months : 'Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_Nëntor_Dhjetor'.split('_'),\n monthsShort : 'Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_Nën_Dhj'.split('_'),\n weekdays : 'E Diel_E Hënë_E Martë_E Mërkurë_E Enjte_E Premte_E Shtunë'.split('_'),\n weekdaysShort : 'Die_Hën_Mar_Mër_Enj_Pre_Sht'.split('_'),\n weekdaysMin : 'D_H_Ma_Më_E_P_Sh'.split('_'),\n weekdaysParseExact : true,\n meridiemParse: /PD|MD/,\n isPM: function (input) {\n return input.charAt(0) === 'M';\n },\n meridiem : function (hours, minutes, isLower) {\n return hours < 12 ? 'PD' : 'MD';\n },\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Sot në] LT',\n nextDay : '[Nesër në] LT',\n nextWeek : 'dddd [në] LT',\n lastDay : '[Dje në] LT',\n lastWeek : 'dddd [e kaluar në] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'në %s',\n past : '%s më parë',\n s : 'disa sekonda',\n ss : '%d sekonda',\n m : 'një minutë',\n mm : '%d minuta',\n h : 'një orë',\n hh : '%d orë',\n d : 'një ditë',\n dd : '%d ditë',\n M : 'një muaj',\n MM : '%d muaj',\n y : 'një vit',\n yy : '%d vite'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return sq;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n switch (key) {\n case 's':\n return withoutSuffix || isFuture ? 'nekaj sekund' : 'nekaj sekundami';\n case 'ss':\n if (number === 1) {\n result += withoutSuffix ? 'sekundo' : 'sekundi';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'sekundi' : 'sekundah';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'sekunde' : 'sekundah';\n } else {\n result += withoutSuffix || isFuture ? 'sekund' : 'sekund';\n }\n return result;\n case 'm':\n return withoutSuffix ? 'ena minuta' : 'eno minuto';\n case 'mm':\n if (number === 1) {\n result += withoutSuffix ? 'minuta' : 'minuto';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'minuti' : 'minutama';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'minute' : 'minutami';\n } else {\n result += withoutSuffix || isFuture ? 'minut' : 'minutami';\n }\n return result;\n case 'h':\n return withoutSuffix ? 'ena ura' : 'eno uro';\n case 'hh':\n if (number === 1) {\n result += withoutSuffix ? 'ura' : 'uro';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'uri' : 'urama';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'ure' : 'urami';\n } else {\n result += withoutSuffix || isFuture ? 'ur' : 'urami';\n }\n return result;\n case 'd':\n return withoutSuffix || isFuture ? 'en dan' : 'enim dnem';\n case 'dd':\n if (number === 1) {\n result += withoutSuffix || isFuture ? 'dan' : 'dnem';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'dni' : 'dnevoma';\n } else {\n result += withoutSuffix || isFuture ? 'dni' : 'dnevi';\n }\n return result;\n case 'M':\n return withoutSuffix || isFuture ? 'en mesec' : 'enim mesecem';\n case 'MM':\n if (number === 1) {\n result += withoutSuffix || isFuture ? 'mesec' : 'mesecem';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'meseca' : 'mesecema';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'mesece' : 'meseci';\n } else {\n result += withoutSuffix || isFuture ? 'mesecev' : 'meseci';\n }\n return result;\n case 'y':\n return withoutSuffix || isFuture ? 'eno leto' : 'enim letom';\n case 'yy':\n if (number === 1) {\n result += withoutSuffix || isFuture ? 'leto' : 'letom';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'leti' : 'letoma';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'leta' : 'leti';\n } else {\n result += withoutSuffix || isFuture ? 'let' : 'leti';\n }\n return result;\n }\n }\n\n var sl = moment.defineLocale('sl', {\n months : 'januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december'.split('_'),\n monthsShort : 'jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays : 'nedelja_ponedeljek_torek_sreda_četrtek_petek_sobota'.split('_'),\n weekdaysShort : 'ned._pon._tor._sre._čet._pet._sob.'.split('_'),\n weekdaysMin : 'ne_po_to_sr_če_pe_so'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY H:mm',\n LLLL : 'dddd, D. MMMM YYYY H:mm'\n },\n calendar : {\n sameDay : '[danes ob] LT',\n nextDay : '[jutri ob] LT',\n\n nextWeek : function () {\n switch (this.day()) {\n case 0:\n return '[v] [nedeljo] [ob] LT';\n case 3:\n return '[v] [sredo] [ob] LT';\n case 6:\n return '[v] [soboto] [ob] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[v] dddd [ob] LT';\n }\n },\n lastDay : '[včeraj ob] LT',\n lastWeek : function () {\n switch (this.day()) {\n case 0:\n return '[prejšnjo] [nedeljo] [ob] LT';\n case 3:\n return '[prejšnjo] [sredo] [ob] LT';\n case 6:\n return '[prejšnjo] [soboto] [ob] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[prejšnji] dddd [ob] LT';\n }\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'čez %s',\n past : 'pred %s',\n s : processRelativeTime,\n ss : processRelativeTime,\n m : processRelativeTime,\n mm : processRelativeTime,\n h : processRelativeTime,\n hh : processRelativeTime,\n d : processRelativeTime,\n dd : processRelativeTime,\n M : processRelativeTime,\n MM : processRelativeTime,\n y : processRelativeTime,\n yy : processRelativeTime\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return sl;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var months = 'január_február_marec_apríl_máj_jún_júl_august_september_október_november_december'.split('_'),\n monthsShort = 'jan_feb_mar_apr_máj_jún_júl_aug_sep_okt_nov_dec'.split('_');\n function plural(n) {\n return (n > 1) && (n < 5);\n }\n function translate(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n switch (key) {\n case 's': // a few seconds / in a few seconds / a few seconds ago\n return (withoutSuffix || isFuture) ? 'pár sekúnd' : 'pár sekundami';\n case 'ss': // 9 seconds / in 9 seconds / 9 seconds ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'sekundy' : 'sekúnd');\n } else {\n return result + 'sekundami';\n }\n break;\n case 'm': // a minute / in a minute / a minute ago\n return withoutSuffix ? 'minúta' : (isFuture ? 'minútu' : 'minútou');\n case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'minúty' : 'minút');\n } else {\n return result + 'minútami';\n }\n break;\n case 'h': // an hour / in an hour / an hour ago\n return withoutSuffix ? 'hodina' : (isFuture ? 'hodinu' : 'hodinou');\n case 'hh': // 9 hours / in 9 hours / 9 hours ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'hodiny' : 'hodín');\n } else {\n return result + 'hodinami';\n }\n break;\n case 'd': // a day / in a day / a day ago\n return (withoutSuffix || isFuture) ? 'deň' : 'dňom';\n case 'dd': // 9 days / in 9 days / 9 days ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'dni' : 'dní');\n } else {\n return result + 'dňami';\n }\n break;\n case 'M': // a month / in a month / a month ago\n return (withoutSuffix || isFuture) ? 'mesiac' : 'mesiacom';\n case 'MM': // 9 months / in 9 months / 9 months ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'mesiace' : 'mesiacov');\n } else {\n return result + 'mesiacmi';\n }\n break;\n case 'y': // a year / in a year / a year ago\n return (withoutSuffix || isFuture) ? 'rok' : 'rokom';\n case 'yy': // 9 years / in 9 years / 9 years ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'roky' : 'rokov');\n } else {\n return result + 'rokmi';\n }\n break;\n }\n }\n\n var sk = moment.defineLocale('sk', {\n months : months,\n monthsShort : monthsShort,\n weekdays : 'nedeľa_pondelok_utorok_streda_štvrtok_piatok_sobota'.split('_'),\n weekdaysShort : 'ne_po_ut_st_št_pi_so'.split('_'),\n weekdaysMin : 'ne_po_ut_st_št_pi_so'.split('_'),\n longDateFormat : {\n LT: 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY H:mm',\n LLLL : 'dddd D. MMMM YYYY H:mm'\n },\n calendar : {\n sameDay: '[dnes o] LT',\n nextDay: '[zajtra o] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[v nedeľu o] LT';\n case 1:\n case 2:\n return '[v] dddd [o] LT';\n case 3:\n return '[v stredu o] LT';\n case 4:\n return '[vo štvrtok o] LT';\n case 5:\n return '[v piatok o] LT';\n case 6:\n return '[v sobotu o] LT';\n }\n },\n lastDay: '[včera o] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[minulú nedeľu o] LT';\n case 1:\n case 2:\n return '[minulý] dddd [o] LT';\n case 3:\n return '[minulú stredu o] LT';\n case 4:\n case 5:\n return '[minulý] dddd [o] LT';\n case 6:\n return '[minulú sobotu o] LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : 'za %s',\n past : 'pred %s',\n s : translate,\n ss : translate,\n m : translate,\n mm : translate,\n h : translate,\n hh : translate,\n d : translate,\n dd : translate,\n M : translate,\n MM : translate,\n y : translate,\n yy : translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return sk;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n /*jshint -W100*/\n var si = moment.defineLocale('si', {\n months : 'ජනවාරි_පෙබරවාරි_මාර්තු_අප්‍රේල්_මැයි_ජූනි_ජූලි_අගෝස්තු_සැප්තැම්බර්_ඔක්තෝබර්_නොවැම්බර්_දෙසැම්බර්'.split('_'),\n monthsShort : 'ජන_පෙබ_මාර්_අප්_මැයි_ජූනි_ජූලි_අගෝ_සැප්_ඔක්_නොවැ_දෙසැ'.split('_'),\n weekdays : 'ඉරිදා_සඳුදා_අඟහරුවාදා_බදාදා_බ්‍රහස්පතින්දා_සිකුරාදා_සෙනසුරාදා'.split('_'),\n weekdaysShort : 'ඉරි_සඳු_අඟ_බදා_බ්‍රහ_සිකු_සෙන'.split('_'),\n weekdaysMin : 'ඉ_ස_අ_බ_බ්‍ර_සි_සෙ'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'a h:mm',\n LTS : 'a h:mm:ss',\n L : 'YYYY/MM/DD',\n LL : 'YYYY MMMM D',\n LLL : 'YYYY MMMM D, a h:mm',\n LLLL : 'YYYY MMMM D [වැනි] dddd, a h:mm:ss'\n },\n calendar : {\n sameDay : '[අද] LT[ට]',\n nextDay : '[හෙට] LT[ට]',\n nextWeek : 'dddd LT[ට]',\n lastDay : '[ඊයේ] LT[ට]',\n lastWeek : '[පසුගිය] dddd LT[ට]',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%sකින්',\n past : '%sකට පෙර',\n s : 'තත්පර කිහිපය',\n ss : 'තත්පර %d',\n m : 'මිනිත්තුව',\n mm : 'මිනිත්තු %d',\n h : 'පැය',\n hh : 'පැය %d',\n d : 'දිනය',\n dd : 'දින %d',\n M : 'මාසය',\n MM : 'මාස %d',\n y : 'වසර',\n yy : 'වසර %d'\n },\n dayOfMonthOrdinalParse: /\\d{1,2} වැනි/,\n ordinal : function (number) {\n return number + ' වැනි';\n },\n meridiemParse : /පෙර වරු|පස් වරු|පෙ.ව|ප.ව./,\n isPM : function (input) {\n return input === 'ප.ව.' || input === 'පස් වරු';\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'ප.ව.' : 'පස් වරු';\n } else {\n return isLower ? 'පෙ.ව.' : 'පෙර වරු';\n }\n }\n });\n\n return si;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var se = moment.defineLocale('se', {\n months : 'ođđajagemánnu_guovvamánnu_njukčamánnu_cuoŋománnu_miessemánnu_geassemánnu_suoidnemánnu_borgemánnu_čakčamánnu_golggotmánnu_skábmamánnu_juovlamánnu'.split('_'),\n monthsShort : 'ođđj_guov_njuk_cuo_mies_geas_suoi_borg_čakč_golg_skáb_juov'.split('_'),\n weekdays : 'sotnabeaivi_vuossárga_maŋŋebárga_gaskavahkku_duorastat_bearjadat_lávvardat'.split('_'),\n weekdaysShort : 'sotn_vuos_maŋ_gask_duor_bear_láv'.split('_'),\n weekdaysMin : 's_v_m_g_d_b_L'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'MMMM D. [b.] YYYY',\n LLL : 'MMMM D. [b.] YYYY [ti.] HH:mm',\n LLLL : 'dddd, MMMM D. [b.] YYYY [ti.] HH:mm'\n },\n calendar : {\n sameDay: '[otne ti] LT',\n nextDay: '[ihttin ti] LT',\n nextWeek: 'dddd [ti] LT',\n lastDay: '[ikte ti] LT',\n lastWeek: '[ovddit] dddd [ti] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : '%s geažes',\n past : 'maŋit %s',\n s : 'moadde sekunddat',\n ss: '%d sekunddat',\n m : 'okta minuhta',\n mm : '%d minuhtat',\n h : 'okta diimmu',\n hh : '%d diimmut',\n d : 'okta beaivi',\n dd : '%d beaivvit',\n M : 'okta mánnu',\n MM : '%d mánut',\n y : 'okta jahki',\n yy : '%d jagit'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return se;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var months = [\n 'جنوري',\n 'فيبروري',\n 'مارچ',\n 'اپريل',\n 'مئي',\n 'جون',\n 'جولاءِ',\n 'آگسٽ',\n 'سيپٽمبر',\n 'آڪٽوبر',\n 'نومبر',\n 'ڊسمبر'\n ];\n var days = [\n 'آچر',\n 'سومر',\n 'اڱارو',\n 'اربع',\n 'خميس',\n 'جمع',\n 'ڇنڇر'\n ];\n\n var sd = moment.defineLocale('sd', {\n months : months,\n monthsShort : months,\n weekdays : days,\n weekdaysShort : days,\n weekdaysMin : days,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd، D MMMM YYYY HH:mm'\n },\n meridiemParse: /صبح|شام/,\n isPM : function (input) {\n return 'شام' === input;\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'صبح';\n }\n return 'شام';\n },\n calendar : {\n sameDay : '[اڄ] LT',\n nextDay : '[سڀاڻي] LT',\n nextWeek : 'dddd [اڳين هفتي تي] LT',\n lastDay : '[ڪالهه] LT',\n lastWeek : '[گزريل هفتي] dddd [تي] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s پوء',\n past : '%s اڳ',\n s : 'چند سيڪنڊ',\n ss : '%d سيڪنڊ',\n m : 'هڪ منٽ',\n mm : '%d منٽ',\n h : 'هڪ ڪلاڪ',\n hh : '%d ڪلاڪ',\n d : 'هڪ ڏينهن',\n dd : '%d ڏينهن',\n M : 'هڪ مهينو',\n MM : '%d مهينا',\n y : 'هڪ سال',\n yy : '%d سال'\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/,/g, '،');\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return sd;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function plural(word, num) {\n var forms = word.split('_');\n return num % 10 === 1 && num % 100 !== 11 ? forms[0] : (num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) ? forms[1] : forms[2]);\n }\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n var format = {\n 'ss': withoutSuffix ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд',\n 'mm': withoutSuffix ? 'минута_минуты_минут' : 'минуту_минуты_минут',\n 'hh': 'час_часа_часов',\n 'dd': 'день_дня_дней',\n 'MM': 'месяц_месяца_месяцев',\n 'yy': 'год_года_лет'\n };\n if (key === 'm') {\n return withoutSuffix ? 'минута' : 'минуту';\n }\n else {\n return number + ' ' + plural(format[key], +number);\n }\n }\n var monthsParse = [/^янв/i, /^фев/i, /^мар/i, /^апр/i, /^ма[йя]/i, /^июн/i, /^июл/i, /^авг/i, /^сен/i, /^окт/i, /^ноя/i, /^дек/i];\n\n // http://new.gramota.ru/spravka/rules/139-prop : § 103\n // Сокращения месяцев: http://new.gramota.ru/spravka/buro/search-answer?s=242637\n // CLDR data: http://www.unicode.org/cldr/charts/28/summary/ru.html#1753\n var ru = moment.defineLocale('ru', {\n months : {\n format: 'января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря'.split('_'),\n standalone: 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split('_')\n },\n monthsShort : {\n // по CLDR именно \"июл.\" и \"июн.\", но какой смысл менять букву на точку ?\n format: 'янв._февр._мар._апр._мая_июня_июля_авг._сент._окт._нояб._дек.'.split('_'),\n standalone: 'янв._февр._март_апр._май_июнь_июль_авг._сент._окт._нояб._дек.'.split('_')\n },\n weekdays : {\n standalone: 'воскресенье_понедельник_вторник_среда_четверг_пятница_суббота'.split('_'),\n format: 'воскресенье_понедельник_вторник_среду_четверг_пятницу_субботу'.split('_'),\n isFormat: /\\[ ?[Вв] ?(?:прошлую|следующую|эту)? ?\\] ?dddd/\n },\n weekdaysShort : 'вс_пн_вт_ср_чт_пт_сб'.split('_'),\n weekdaysMin : 'вс_пн_вт_ср_чт_пт_сб'.split('_'),\n monthsParse : monthsParse,\n longMonthsParse : monthsParse,\n shortMonthsParse : monthsParse,\n\n // полные названия с падежами, по три буквы, для некоторых, по 4 буквы, сокращения с точкой и без точки\n monthsRegex: /^(январ[ья]|янв\\.?|феврал[ья]|февр?\\.?|марта?|мар\\.?|апрел[ья]|апр\\.?|ма[йя]|июн[ья]|июн\\.?|июл[ья]|июл\\.?|августа?|авг\\.?|сентябр[ья]|сент?\\.?|октябр[ья]|окт\\.?|ноябр[ья]|нояб?\\.?|декабр[ья]|дек\\.?)/i,\n\n // копия предыдущего\n monthsShortRegex: /^(январ[ья]|янв\\.?|феврал[ья]|февр?\\.?|марта?|мар\\.?|апрел[ья]|апр\\.?|ма[йя]|июн[ья]|июн\\.?|июл[ья]|июл\\.?|августа?|авг\\.?|сентябр[ья]|сент?\\.?|октябр[ья]|окт\\.?|ноябр[ья]|нояб?\\.?|декабр[ья]|дек\\.?)/i,\n\n // полные названия с падежами\n monthsStrictRegex: /^(январ[яь]|феврал[яь]|марта?|апрел[яь]|ма[яй]|июн[яь]|июл[яь]|августа?|сентябр[яь]|октябр[яь]|ноябр[яь]|декабр[яь])/i,\n\n // Выражение, которое соотвествует только сокращённым формам\n monthsShortStrictRegex: /^(янв\\.|февр?\\.|мар[т.]|апр\\.|ма[яй]|июн[ья.]|июл[ья.]|авг\\.|сент?\\.|окт\\.|нояб?\\.|дек\\.)/i,\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY г.',\n LLL : 'D MMMM YYYY г., H:mm',\n LLLL : 'dddd, D MMMM YYYY г., H:mm'\n },\n calendar : {\n sameDay: '[Сегодня, в] LT',\n nextDay: '[Завтра, в] LT',\n lastDay: '[Вчера, в] LT',\n nextWeek: function (now) {\n if (now.week() !== this.week()) {\n switch (this.day()) {\n case 0:\n return '[В следующее] dddd, [в] LT';\n case 1:\n case 2:\n case 4:\n return '[В следующий] dddd, [в] LT';\n case 3:\n case 5:\n case 6:\n return '[В следующую] dddd, [в] LT';\n }\n } else {\n if (this.day() === 2) {\n return '[Во] dddd, [в] LT';\n } else {\n return '[В] dddd, [в] LT';\n }\n }\n },\n lastWeek: function (now) {\n if (now.week() !== this.week()) {\n switch (this.day()) {\n case 0:\n return '[В прошлое] dddd, [в] LT';\n case 1:\n case 2:\n case 4:\n return '[В прошлый] dddd, [в] LT';\n case 3:\n case 5:\n case 6:\n return '[В прошлую] dddd, [в] LT';\n }\n } else {\n if (this.day() === 2) {\n return '[Во] dddd, [в] LT';\n } else {\n return '[В] dddd, [в] LT';\n }\n }\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : 'через %s',\n past : '%s назад',\n s : 'несколько секунд',\n ss : relativeTimeWithPlural,\n m : relativeTimeWithPlural,\n mm : relativeTimeWithPlural,\n h : 'час',\n hh : relativeTimeWithPlural,\n d : 'день',\n dd : relativeTimeWithPlural,\n M : 'месяц',\n MM : relativeTimeWithPlural,\n y : 'год',\n yy : relativeTimeWithPlural\n },\n meridiemParse: /ночи|утра|дня|вечера/i,\n isPM : function (input) {\n return /^(дня|вечера)$/.test(input);\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ночи';\n } else if (hour < 12) {\n return 'утра';\n } else if (hour < 17) {\n return 'дня';\n } else {\n return 'вечера';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(й|го|я)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'M':\n case 'd':\n case 'DDD':\n return number + '-й';\n case 'D':\n return number + '-го';\n case 'w':\n case 'W':\n return number + '-я';\n default:\n return number;\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return ru;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n var format = {\n 'ss': 'secunde',\n 'mm': 'minute',\n 'hh': 'ore',\n 'dd': 'zile',\n 'MM': 'luni',\n 'yy': 'ani'\n },\n separator = ' ';\n if (number % 100 >= 20 || (number >= 100 && number % 100 === 0)) {\n separator = ' de ';\n }\n return number + separator + format[key];\n }\n\n var ro = moment.defineLocale('ro', {\n months : 'ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie'.split('_'),\n monthsShort : 'ian._febr._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays : 'duminică_luni_marți_miercuri_joi_vineri_sâmbătă'.split('_'),\n weekdaysShort : 'Dum_Lun_Mar_Mie_Joi_Vin_Sâm'.split('_'),\n weekdaysMin : 'Du_Lu_Ma_Mi_Jo_Vi_Sâ'.split('_'),\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY H:mm',\n LLLL : 'dddd, D MMMM YYYY H:mm'\n },\n calendar : {\n sameDay: '[azi la] LT',\n nextDay: '[mâine la] LT',\n nextWeek: 'dddd [la] LT',\n lastDay: '[ieri la] LT',\n lastWeek: '[fosta] dddd [la] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'peste %s',\n past : '%s în urmă',\n s : 'câteva secunde',\n ss : relativeTimeWithPlural,\n m : 'un minut',\n mm : relativeTimeWithPlural,\n h : 'o oră',\n hh : relativeTimeWithPlural,\n d : 'o zi',\n dd : relativeTimeWithPlural,\n M : 'o lună',\n MM : relativeTimeWithPlural,\n y : 'un an',\n yy : relativeTimeWithPlural\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return ro;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var ptBr = moment.defineLocale('pt-br', {\n months : 'janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro'.split('_'),\n monthsShort : 'jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez'.split('_'),\n weekdays : 'Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado'.split('_'),\n weekdaysShort : 'Dom_Seg_Ter_Qua_Qui_Sex_Sáb'.split('_'),\n weekdaysMin : 'Do_2ª_3ª_4ª_5ª_6ª_Sá'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D [de] MMMM [de] YYYY',\n LLL : 'D [de] MMMM [de] YYYY [às] HH:mm',\n LLLL : 'dddd, D [de] MMMM [de] YYYY [às] HH:mm'\n },\n calendar : {\n sameDay: '[Hoje às] LT',\n nextDay: '[Amanhã às] LT',\n nextWeek: 'dddd [às] LT',\n lastDay: '[Ontem às] LT',\n lastWeek: function () {\n return (this.day() === 0 || this.day() === 6) ?\n '[Último] dddd [às] LT' : // Saturday + Sunday\n '[Última] dddd [às] LT'; // Monday - Friday\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : 'em %s',\n past : 'há %s',\n s : 'poucos segundos',\n ss : '%d segundos',\n m : 'um minuto',\n mm : '%d minutos',\n h : 'uma hora',\n hh : '%d horas',\n d : 'um dia',\n dd : '%d dias',\n M : 'um mês',\n MM : '%d meses',\n y : 'um ano',\n yy : '%d anos'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal : '%dº'\n });\n\n return ptBr;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var pt = moment.defineLocale('pt', {\n months : 'janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro'.split('_'),\n monthsShort : 'jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez'.split('_'),\n weekdays : 'Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado'.split('_'),\n weekdaysShort : 'Dom_Seg_Ter_Qua_Qui_Sex_Sáb'.split('_'),\n weekdaysMin : 'Do_2ª_3ª_4ª_5ª_6ª_Sá'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D [de] MMMM [de] YYYY',\n LLL : 'D [de] MMMM [de] YYYY HH:mm',\n LLLL : 'dddd, D [de] MMMM [de] YYYY HH:mm'\n },\n calendar : {\n sameDay: '[Hoje às] LT',\n nextDay: '[Amanhã às] LT',\n nextWeek: 'dddd [às] LT',\n lastDay: '[Ontem às] LT',\n lastWeek: function () {\n return (this.day() === 0 || this.day() === 6) ?\n '[Último] dddd [às] LT' : // Saturday + Sunday\n '[Última] dddd [às] LT'; // Monday - Friday\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : 'em %s',\n past : 'há %s',\n s : 'segundos',\n ss : '%d segundos',\n m : 'um minuto',\n mm : '%d minutos',\n h : 'uma hora',\n hh : '%d horas',\n d : 'um dia',\n dd : '%d dias',\n M : 'um mês',\n MM : '%d meses',\n y : 'um ano',\n yy : '%d anos'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal : '%dº',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return pt;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var monthsNominative = 'styczeń_luty_marzec_kwiecień_maj_czerwiec_lipiec_sierpień_wrzesień_październik_listopad_grudzień'.split('_'),\n monthsSubjective = 'stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_września_października_listopada_grudnia'.split('_');\n function plural(n) {\n return (n % 10 < 5) && (n % 10 > 1) && ((~~(n / 10) % 10) !== 1);\n }\n function translate(number, withoutSuffix, key) {\n var result = number + ' ';\n switch (key) {\n case 'ss':\n return result + (plural(number) ? 'sekundy' : 'sekund');\n case 'm':\n return withoutSuffix ? 'minuta' : 'minutę';\n case 'mm':\n return result + (plural(number) ? 'minuty' : 'minut');\n case 'h':\n return withoutSuffix ? 'godzina' : 'godzinę';\n case 'hh':\n return result + (plural(number) ? 'godziny' : 'godzin');\n case 'MM':\n return result + (plural(number) ? 'miesiące' : 'miesięcy');\n case 'yy':\n return result + (plural(number) ? 'lata' : 'lat');\n }\n }\n\n var pl = moment.defineLocale('pl', {\n months : function (momentToFormat, format) {\n if (!momentToFormat) {\n return monthsNominative;\n } else if (format === '') {\n // Hack: if format empty we know this is used to generate\n // RegExp by moment. Give then back both valid forms of months\n // in RegExp ready format.\n return '(' + monthsSubjective[momentToFormat.month()] + '|' + monthsNominative[momentToFormat.month()] + ')';\n } else if (/D MMMM/.test(format)) {\n return monthsSubjective[momentToFormat.month()];\n } else {\n return monthsNominative[momentToFormat.month()];\n }\n },\n monthsShort : 'sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paź_lis_gru'.split('_'),\n weekdays : 'niedziela_poniedziałek_wtorek_środa_czwartek_piątek_sobota'.split('_'),\n weekdaysShort : 'ndz_pon_wt_śr_czw_pt_sob'.split('_'),\n weekdaysMin : 'Nd_Pn_Wt_Śr_Cz_Pt_So'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[Dziś o] LT',\n nextDay: '[Jutro o] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[W niedzielę o] LT';\n\n case 2:\n return '[We wtorek o] LT';\n\n case 3:\n return '[W środę o] LT';\n\n case 6:\n return '[W sobotę o] LT';\n\n default:\n return '[W] dddd [o] LT';\n }\n },\n lastDay: '[Wczoraj o] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[W zeszłą niedzielę o] LT';\n case 3:\n return '[W zeszłą środę o] LT';\n case 6:\n return '[W zeszłą sobotę o] LT';\n default:\n return '[W zeszły] dddd [o] LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : 'za %s',\n past : '%s temu',\n s : 'kilka sekund',\n ss : translate,\n m : translate,\n mm : translate,\n h : translate,\n hh : translate,\n d : '1 dzień',\n dd : '%d dni',\n M : 'miesiąc',\n MM : translate,\n y : 'rok',\n yy : translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return pl;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '੧',\n '2': '੨',\n '3': '੩',\n '4': '੪',\n '5': '੫',\n '6': '੬',\n '7': '੭',\n '8': '੮',\n '9': '੯',\n '0': '੦'\n },\n numberMap = {\n '੧': '1',\n '੨': '2',\n '੩': '3',\n '੪': '4',\n '੫': '5',\n '੬': '6',\n '੭': '7',\n '੮': '8',\n '੯': '9',\n '੦': '0'\n };\n\n var paIn = moment.defineLocale('pa-in', {\n // There are months name as per Nanakshahi Calender but they are not used as rigidly in modern Punjabi.\n months : 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split('_'),\n monthsShort : 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split('_'),\n weekdays : 'ਐਤਵਾਰ_ਸੋਮਵਾਰ_ਮੰਗਲਵਾਰ_ਬੁਧਵਾਰ_ਵੀਰਵਾਰ_ਸ਼ੁੱਕਰਵਾਰ_ਸ਼ਨੀਚਰਵਾਰ'.split('_'),\n weekdaysShort : 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'),\n weekdaysMin : 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'),\n longDateFormat : {\n LT : 'A h:mm ਵਜੇ',\n LTS : 'A h:mm:ss ਵਜੇ',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, A h:mm ਵਜੇ',\n LLLL : 'dddd, D MMMM YYYY, A h:mm ਵਜੇ'\n },\n calendar : {\n sameDay : '[ਅਜ] LT',\n nextDay : '[ਕਲ] LT',\n nextWeek : '[ਅਗਲਾ] dddd, LT',\n lastDay : '[ਕਲ] LT',\n lastWeek : '[ਪਿਛਲੇ] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s ਵਿੱਚ',\n past : '%s ਪਿਛਲੇ',\n s : 'ਕੁਝ ਸਕਿੰਟ',\n ss : '%d ਸਕਿੰਟ',\n m : 'ਇਕ ਮਿੰਟ',\n mm : '%d ਮਿੰਟ',\n h : 'ਇੱਕ ਘੰਟਾ',\n hh : '%d ਘੰਟੇ',\n d : 'ਇੱਕ ਦਿਨ',\n dd : '%d ਦਿਨ',\n M : 'ਇੱਕ ਮਹੀਨਾ',\n MM : '%d ਮਹੀਨੇ',\n y : 'ਇੱਕ ਸਾਲ',\n yy : '%d ਸਾਲ'\n },\n preparse: function (string) {\n return string.replace(/[੧੨੩੪੫੬੭੮੯੦]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n // Punjabi notation for meridiems are quite fuzzy in practice. While there exists\n // a rigid notion of a 'Pahar' it is not used as rigidly in modern Punjabi.\n meridiemParse: /ਰਾਤ|ਸਵੇਰ|ਦੁਪਹਿਰ|ਸ਼ਾਮ/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'ਰਾਤ') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'ਸਵੇਰ') {\n return hour;\n } else if (meridiem === 'ਦੁਪਹਿਰ') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'ਸ਼ਾਮ') {\n return hour + 12;\n }\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ਰਾਤ';\n } else if (hour < 10) {\n return 'ਸਵੇਰ';\n } else if (hour < 17) {\n return 'ਦੁਪਹਿਰ';\n } else if (hour < 20) {\n return 'ਸ਼ਾਮ';\n } else {\n return 'ਰਾਤ';\n }\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return paIn;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var nn = moment.defineLocale('nn', {\n months : 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split('_'),\n monthsShort : 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'),\n weekdays : 'sundag_måndag_tysdag_onsdag_torsdag_fredag_laurdag'.split('_'),\n weekdaysShort : 'sun_mån_tys_ons_tor_fre_lau'.split('_'),\n weekdaysMin : 'su_må_ty_on_to_fr_lø'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY [kl.] H:mm',\n LLLL : 'dddd D. MMMM YYYY [kl.] HH:mm'\n },\n calendar : {\n sameDay: '[I dag klokka] LT',\n nextDay: '[I morgon klokka] LT',\n nextWeek: 'dddd [klokka] LT',\n lastDay: '[I går klokka] LT',\n lastWeek: '[Føregåande] dddd [klokka] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'om %s',\n past : '%s sidan',\n s : 'nokre sekund',\n ss : '%d sekund',\n m : 'eit minutt',\n mm : '%d minutt',\n h : 'ein time',\n hh : '%d timar',\n d : 'ein dag',\n dd : '%d dagar',\n M : 'ein månad',\n MM : '%d månader',\n y : 'eit år',\n yy : '%d år'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return nn;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var monthsShortWithDots = 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'),\n monthsShortWithoutDots = 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_');\n\n var monthsParse = [/^jan/i, /^feb/i, /^maart|mrt.?$/i, /^apr/i, /^mei$/i, /^jun[i.]?$/i, /^jul[i.]?$/i, /^aug/i, /^sep/i, /^okt/i, /^nov/i, /^dec/i];\n var monthsRegex = /^(januari|februari|maart|april|mei|april|ju[nl]i|augustus|september|oktober|november|december|jan\\.?|feb\\.?|mrt\\.?|apr\\.?|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i;\n\n var nlBe = moment.defineLocale('nl-be', {\n months : 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split('_'),\n monthsShort : function (m, format) {\n if (!m) {\n return monthsShortWithDots;\n } else if (/-MMM-/.test(format)) {\n return monthsShortWithoutDots[m.month()];\n } else {\n return monthsShortWithDots[m.month()];\n }\n },\n\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: /^(januari|februari|maart|mei|ju[nl]i|april|augustus|september|oktober|november|december)/i,\n monthsShortStrictRegex: /^(jan\\.?|feb\\.?|mrt\\.?|apr\\.?|mei|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i,\n\n monthsParse : monthsParse,\n longMonthsParse : monthsParse,\n shortMonthsParse : monthsParse,\n\n weekdays : 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split('_'),\n weekdaysShort : 'zo._ma._di._wo._do._vr._za.'.split('_'),\n weekdaysMin : 'zo_ma_di_wo_do_vr_za'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[vandaag om] LT',\n nextDay: '[morgen om] LT',\n nextWeek: 'dddd [om] LT',\n lastDay: '[gisteren om] LT',\n lastWeek: '[afgelopen] dddd [om] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'over %s',\n past : '%s geleden',\n s : 'een paar seconden',\n ss : '%d seconden',\n m : 'één minuut',\n mm : '%d minuten',\n h : 'één uur',\n hh : '%d uur',\n d : 'één dag',\n dd : '%d dagen',\n M : 'één maand',\n MM : '%d maanden',\n y : 'één jaar',\n yy : '%d jaar'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n ordinal : function (number) {\n return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de');\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return nlBe;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var monthsShortWithDots = 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'),\n monthsShortWithoutDots = 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_');\n\n var monthsParse = [/^jan/i, /^feb/i, /^maart|mrt.?$/i, /^apr/i, /^mei$/i, /^jun[i.]?$/i, /^jul[i.]?$/i, /^aug/i, /^sep/i, /^okt/i, /^nov/i, /^dec/i];\n var monthsRegex = /^(januari|februari|maart|april|mei|april|ju[nl]i|augustus|september|oktober|november|december|jan\\.?|feb\\.?|mrt\\.?|apr\\.?|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i;\n\n var nl = moment.defineLocale('nl', {\n months : 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split('_'),\n monthsShort : function (m, format) {\n if (!m) {\n return monthsShortWithDots;\n } else if (/-MMM-/.test(format)) {\n return monthsShortWithoutDots[m.month()];\n } else {\n return monthsShortWithDots[m.month()];\n }\n },\n\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: /^(januari|februari|maart|mei|ju[nl]i|april|augustus|september|oktober|november|december)/i,\n monthsShortStrictRegex: /^(jan\\.?|feb\\.?|mrt\\.?|apr\\.?|mei|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i,\n\n monthsParse : monthsParse,\n longMonthsParse : monthsParse,\n shortMonthsParse : monthsParse,\n\n weekdays : 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split('_'),\n weekdaysShort : 'zo._ma._di._wo._do._vr._za.'.split('_'),\n weekdaysMin : 'zo_ma_di_wo_do_vr_za'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD-MM-YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[vandaag om] LT',\n nextDay: '[morgen om] LT',\n nextWeek: 'dddd [om] LT',\n lastDay: '[gisteren om] LT',\n lastWeek: '[afgelopen] dddd [om] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'over %s',\n past : '%s geleden',\n s : 'een paar seconden',\n ss : '%d seconden',\n m : 'één minuut',\n mm : '%d minuten',\n h : 'één uur',\n hh : '%d uur',\n d : 'één dag',\n dd : '%d dagen',\n M : 'één maand',\n MM : '%d maanden',\n y : 'één jaar',\n yy : '%d jaar'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n ordinal : function (number) {\n return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de');\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return nl;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '१',\n '2': '२',\n '3': '३',\n '4': '४',\n '5': '५',\n '6': '६',\n '7': '७',\n '8': '८',\n '9': '९',\n '0': '०'\n },\n numberMap = {\n '१': '1',\n '२': '2',\n '३': '3',\n '४': '4',\n '५': '5',\n '६': '6',\n '७': '7',\n '८': '8',\n '९': '9',\n '०': '0'\n };\n\n var ne = moment.defineLocale('ne', {\n months : 'जनवरी_फेब्रुवरी_मार्च_अप्रिल_मई_जुन_जुलाई_अगष्ट_सेप्टेम्बर_अक्टोबर_नोभेम्बर_डिसेम्बर'.split('_'),\n monthsShort : 'जन._फेब्रु._मार्च_अप्रि._मई_जुन_जुलाई._अग._सेप्ट._अक्टो._नोभे._डिसे.'.split('_'),\n monthsParseExact : true,\n weekdays : 'आइतबार_सोमबार_मङ्गलबार_बुधबार_बिहिबार_शुक्रबार_शनिबार'.split('_'),\n weekdaysShort : 'आइत._सोम._मङ्गल._बुध._बिहि._शुक्र._शनि.'.split('_'),\n weekdaysMin : 'आ._सो._मं._बु._बि._शु._श.'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'Aको h:mm बजे',\n LTS : 'Aको h:mm:ss बजे',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, Aको h:mm बजे',\n LLLL : 'dddd, D MMMM YYYY, Aको h:mm बजे'\n },\n preparse: function (string) {\n return string.replace(/[१२३४५६७८९०]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /राति|बिहान|दिउँसो|साँझ/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'राति') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'बिहान') {\n return hour;\n } else if (meridiem === 'दिउँसो') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'साँझ') {\n return hour + 12;\n }\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 3) {\n return 'राति';\n } else if (hour < 12) {\n return 'बिहान';\n } else if (hour < 16) {\n return 'दिउँसो';\n } else if (hour < 20) {\n return 'साँझ';\n } else {\n return 'राति';\n }\n },\n calendar : {\n sameDay : '[आज] LT',\n nextDay : '[भोलि] LT',\n nextWeek : '[आउँदो] dddd[,] LT',\n lastDay : '[हिजो] LT',\n lastWeek : '[गएको] dddd[,] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%sमा',\n past : '%s अगाडि',\n s : 'केही क्षण',\n ss : '%d सेकेण्ड',\n m : 'एक मिनेट',\n mm : '%d मिनेट',\n h : 'एक घण्टा',\n hh : '%d घण्टा',\n d : 'एक दिन',\n dd : '%d दिन',\n M : 'एक महिना',\n MM : '%d महिना',\n y : 'एक बर्ष',\n yy : '%d बर्ष'\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return ne;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var nb = moment.defineLocale('nb', {\n months : 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split('_'),\n monthsShort : 'jan._feb._mars_april_mai_juni_juli_aug._sep._okt._nov._des.'.split('_'),\n monthsParseExact : true,\n weekdays : 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),\n weekdaysShort : 'sø._ma._ti._on._to._fr._lø.'.split('_'),\n weekdaysMin : 'sø_ma_ti_on_to_fr_lø'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY [kl.] HH:mm',\n LLLL : 'dddd D. MMMM YYYY [kl.] HH:mm'\n },\n calendar : {\n sameDay: '[i dag kl.] LT',\n nextDay: '[i morgen kl.] LT',\n nextWeek: 'dddd [kl.] LT',\n lastDay: '[i går kl.] LT',\n lastWeek: '[forrige] dddd [kl.] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'om %s',\n past : '%s siden',\n s : 'noen sekunder',\n ss : '%d sekunder',\n m : 'ett minutt',\n mm : '%d minutter',\n h : 'en time',\n hh : '%d timer',\n d : 'en dag',\n dd : '%d dager',\n M : 'en måned',\n MM : '%d måneder',\n y : 'ett år',\n yy : '%d år'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return nb;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '၁',\n '2': '၂',\n '3': '၃',\n '4': '၄',\n '5': '၅',\n '6': '၆',\n '7': '၇',\n '8': '၈',\n '9': '၉',\n '0': '၀'\n }, numberMap = {\n '၁': '1',\n '၂': '2',\n '၃': '3',\n '၄': '4',\n '၅': '5',\n '၆': '6',\n '၇': '7',\n '၈': '8',\n '၉': '9',\n '၀': '0'\n };\n\n var my = moment.defineLocale('my', {\n months: 'ဇန်နဝါရီ_ဖေဖော်ဝါရီ_မတ်_ဧပြီ_မေ_ဇွန်_ဇူလိုင်_သြဂုတ်_စက်တင်ဘာ_အောက်တိုဘာ_နိုဝင်ဘာ_ဒီဇင်ဘာ'.split('_'),\n monthsShort: 'ဇန်_ဖေ_မတ်_ပြီ_မေ_ဇွန်_လိုင်_သြ_စက်_အောက်_နို_ဒီ'.split('_'),\n weekdays: 'တနင်္ဂနွေ_တနင်္လာ_အင်္ဂါ_ဗုဒ္ဓဟူး_ကြာသပတေး_သောကြာ_စနေ'.split('_'),\n weekdaysShort: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'),\n weekdaysMin: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'),\n\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[ယနေ.] LT [မှာ]',\n nextDay: '[မနက်ဖြန်] LT [မှာ]',\n nextWeek: 'dddd LT [မှာ]',\n lastDay: '[မနေ.က] LT [မှာ]',\n lastWeek: '[ပြီးခဲ့သော] dddd LT [မှာ]',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'လာမည့် %s မှာ',\n past: 'လွန်ခဲ့သော %s က',\n s: 'စက္ကန်.အနည်းငယ်',\n ss : '%d စက္ကန့်',\n m: 'တစ်မိနစ်',\n mm: '%d မိနစ်',\n h: 'တစ်နာရီ',\n hh: '%d နာရီ',\n d: 'တစ်ရက်',\n dd: '%d ရက်',\n M: 'တစ်လ',\n MM: '%d လ',\n y: 'တစ်နှစ်',\n yy: '%d နှစ်'\n },\n preparse: function (string) {\n return string.replace(/[၁၂၃၄၅၆၇၈၉၀]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return my;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var mt = moment.defineLocale('mt', {\n months : 'Jannar_Frar_Marzu_April_Mejju_Ġunju_Lulju_Awwissu_Settembru_Ottubru_Novembru_Diċembru'.split('_'),\n monthsShort : 'Jan_Fra_Mar_Apr_Mej_Ġun_Lul_Aww_Set_Ott_Nov_Diċ'.split('_'),\n weekdays : 'Il-Ħadd_It-Tnejn_It-Tlieta_L-Erbgħa_Il-Ħamis_Il-Ġimgħa_Is-Sibt'.split('_'),\n weekdaysShort : 'Ħad_Tne_Tli_Erb_Ħam_Ġim_Sib'.split('_'),\n weekdaysMin : 'Ħa_Tn_Tl_Er_Ħa_Ġi_Si'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Illum fil-]LT',\n nextDay : '[Għada fil-]LT',\n nextWeek : 'dddd [fil-]LT',\n lastDay : '[Il-bieraħ fil-]LT',\n lastWeek : 'dddd [li għadda] [fil-]LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'f’ %s',\n past : '%s ilu',\n s : 'ftit sekondi',\n ss : '%d sekondi',\n m : 'minuta',\n mm : '%d minuti',\n h : 'siegħa',\n hh : '%d siegħat',\n d : 'ġurnata',\n dd : '%d ġranet',\n M : 'xahar',\n MM : '%d xhur',\n y : 'sena',\n yy : '%d sni'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}º/,\n ordinal: '%dº',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return mt;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var msMy = moment.defineLocale('ms-my', {\n months : 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split('_'),\n monthsShort : 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'),\n weekdays : 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'),\n weekdaysShort : 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'),\n weekdaysMin : 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'),\n longDateFormat : {\n LT : 'HH.mm',\n LTS : 'HH.mm.ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY [pukul] HH.mm',\n LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm'\n },\n meridiemParse: /pagi|tengahari|petang|malam/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'pagi') {\n return hour;\n } else if (meridiem === 'tengahari') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'petang' || meridiem === 'malam') {\n return hour + 12;\n }\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'pagi';\n } else if (hours < 15) {\n return 'tengahari';\n } else if (hours < 19) {\n return 'petang';\n } else {\n return 'malam';\n }\n },\n calendar : {\n sameDay : '[Hari ini pukul] LT',\n nextDay : '[Esok pukul] LT',\n nextWeek : 'dddd [pukul] LT',\n lastDay : '[Kelmarin pukul] LT',\n lastWeek : 'dddd [lepas pukul] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'dalam %s',\n past : '%s yang lepas',\n s : 'beberapa saat',\n ss : '%d saat',\n m : 'seminit',\n mm : '%d minit',\n h : 'sejam',\n hh : '%d jam',\n d : 'sehari',\n dd : '%d hari',\n M : 'sebulan',\n MM : '%d bulan',\n y : 'setahun',\n yy : '%d tahun'\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return msMy;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var ms = moment.defineLocale('ms', {\n months : 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split('_'),\n monthsShort : 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'),\n weekdays : 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'),\n weekdaysShort : 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'),\n weekdaysMin : 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'),\n longDateFormat : {\n LT : 'HH.mm',\n LTS : 'HH.mm.ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY [pukul] HH.mm',\n LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm'\n },\n meridiemParse: /pagi|tengahari|petang|malam/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'pagi') {\n return hour;\n } else if (meridiem === 'tengahari') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'petang' || meridiem === 'malam') {\n return hour + 12;\n }\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'pagi';\n } else if (hours < 15) {\n return 'tengahari';\n } else if (hours < 19) {\n return 'petang';\n } else {\n return 'malam';\n }\n },\n calendar : {\n sameDay : '[Hari ini pukul] LT',\n nextDay : '[Esok pukul] LT',\n nextWeek : 'dddd [pukul] LT',\n lastDay : '[Kelmarin pukul] LT',\n lastWeek : 'dddd [lepas pukul] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'dalam %s',\n past : '%s yang lepas',\n s : 'beberapa saat',\n ss : '%d saat',\n m : 'seminit',\n mm : '%d minit',\n h : 'sejam',\n hh : '%d jam',\n d : 'sehari',\n dd : '%d hari',\n M : 'sebulan',\n MM : '%d bulan',\n y : 'setahun',\n yy : '%d tahun'\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return ms;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '१',\n '2': '२',\n '3': '३',\n '4': '४',\n '5': '५',\n '6': '६',\n '7': '७',\n '8': '८',\n '9': '९',\n '0': '०'\n },\n numberMap = {\n '१': '1',\n '२': '2',\n '३': '3',\n '४': '4',\n '५': '5',\n '६': '6',\n '७': '7',\n '८': '8',\n '९': '9',\n '०': '0'\n };\n\n function relativeTimeMr(number, withoutSuffix, string, isFuture)\n {\n var output = '';\n if (withoutSuffix) {\n switch (string) {\n case 's': output = 'काही सेकंद'; break;\n case 'ss': output = '%d सेकंद'; break;\n case 'm': output = 'एक मिनिट'; break;\n case 'mm': output = '%d मिनिटे'; break;\n case 'h': output = 'एक तास'; break;\n case 'hh': output = '%d तास'; break;\n case 'd': output = 'एक दिवस'; break;\n case 'dd': output = '%d दिवस'; break;\n case 'M': output = 'एक महिना'; break;\n case 'MM': output = '%d महिने'; break;\n case 'y': output = 'एक वर्ष'; break;\n case 'yy': output = '%d वर्षे'; break;\n }\n }\n else {\n switch (string) {\n case 's': output = 'काही सेकंदां'; break;\n case 'ss': output = '%d सेकंदां'; break;\n case 'm': output = 'एका मिनिटा'; break;\n case 'mm': output = '%d मिनिटां'; break;\n case 'h': output = 'एका तासा'; break;\n case 'hh': output = '%d तासां'; break;\n case 'd': output = 'एका दिवसा'; break;\n case 'dd': output = '%d दिवसां'; break;\n case 'M': output = 'एका महिन्या'; break;\n case 'MM': output = '%d महिन्यां'; break;\n case 'y': output = 'एका वर्षा'; break;\n case 'yy': output = '%d वर्षां'; break;\n }\n }\n return output.replace(/%d/i, number);\n }\n\n var mr = moment.defineLocale('mr', {\n months : 'जानेवारी_फेब्रुवारी_मार्च_एप्रिल_मे_जून_जुलै_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर'.split('_'),\n monthsShort: 'जाने._फेब्रु._मार्च._एप्रि._मे._जून._जुलै._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.'.split('_'),\n monthsParseExact : true,\n weekdays : 'रविवार_सोमवार_मंगळवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'),\n weekdaysShort : 'रवि_सोम_मंगळ_बुध_गुरू_शुक्र_शनि'.split('_'),\n weekdaysMin : 'र_सो_मं_बु_गु_शु_श'.split('_'),\n longDateFormat : {\n LT : 'A h:mm वाजता',\n LTS : 'A h:mm:ss वाजता',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, A h:mm वाजता',\n LLLL : 'dddd, D MMMM YYYY, A h:mm वाजता'\n },\n calendar : {\n sameDay : '[आज] LT',\n nextDay : '[उद्या] LT',\n nextWeek : 'dddd, LT',\n lastDay : '[काल] LT',\n lastWeek: '[मागील] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future: '%sमध्ये',\n past: '%sपूर्वी',\n s: relativeTimeMr,\n ss: relativeTimeMr,\n m: relativeTimeMr,\n mm: relativeTimeMr,\n h: relativeTimeMr,\n hh: relativeTimeMr,\n d: relativeTimeMr,\n dd: relativeTimeMr,\n M: relativeTimeMr,\n MM: relativeTimeMr,\n y: relativeTimeMr,\n yy: relativeTimeMr\n },\n preparse: function (string) {\n return string.replace(/[१२३४५६७८९०]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /रात्री|सकाळी|दुपारी|सायंकाळी/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'रात्री') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'सकाळी') {\n return hour;\n } else if (meridiem === 'दुपारी') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'सायंकाळी') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'रात्री';\n } else if (hour < 10) {\n return 'सकाळी';\n } else if (hour < 17) {\n return 'दुपारी';\n } else if (hour < 20) {\n return 'सायंकाळी';\n } else {\n return 'रात्री';\n }\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return mr;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function translate(number, withoutSuffix, key, isFuture) {\n switch (key) {\n case 's':\n return withoutSuffix ? 'хэдхэн секунд' : 'хэдхэн секундын';\n case 'ss':\n return number + (withoutSuffix ? ' секунд' : ' секундын');\n case 'm':\n case 'mm':\n return number + (withoutSuffix ? ' минут' : ' минутын');\n case 'h':\n case 'hh':\n return number + (withoutSuffix ? ' цаг' : ' цагийн');\n case 'd':\n case 'dd':\n return number + (withoutSuffix ? ' өдөр' : ' өдрийн');\n case 'M':\n case 'MM':\n return number + (withoutSuffix ? ' сар' : ' сарын');\n case 'y':\n case 'yy':\n return number + (withoutSuffix ? ' жил' : ' жилийн');\n default:\n return number;\n }\n }\n\n var mn = moment.defineLocale('mn', {\n months : 'Нэгдүгээр сар_Хоёрдугаар сар_Гуравдугаар сар_Дөрөвдүгээр сар_Тавдугаар сар_Зургадугаар сар_Долдугаар сар_Наймдугаар сар_Есдүгээр сар_Аравдугаар сар_Арван нэгдүгээр сар_Арван хоёрдугаар сар'.split('_'),\n monthsShort : '1 сар_2 сар_3 сар_4 сар_5 сар_6 сар_7 сар_8 сар_9 сар_10 сар_11 сар_12 сар'.split('_'),\n monthsParseExact : true,\n weekdays : 'Ням_Даваа_Мягмар_Лхагва_Пүрэв_Баасан_Бямба'.split('_'),\n weekdaysShort : 'Ням_Дав_Мяг_Лха_Пүр_Баа_Бям'.split('_'),\n weekdaysMin : 'Ня_Да_Мя_Лх_Пү_Ба_Бя'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY-MM-DD',\n LL : 'YYYY оны MMMMын D',\n LLL : 'YYYY оны MMMMын D HH:mm',\n LLLL : 'dddd, YYYY оны MMMMын D HH:mm'\n },\n meridiemParse: /ҮӨ|ҮХ/i,\n isPM : function (input) {\n return input === 'ҮХ';\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ҮӨ';\n } else {\n return 'ҮХ';\n }\n },\n calendar : {\n sameDay : '[Өнөөдөр] LT',\n nextDay : '[Маргааш] LT',\n nextWeek : '[Ирэх] dddd LT',\n lastDay : '[Өчигдөр] LT',\n lastWeek : '[Өнгөрсөн] dddd LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s дараа',\n past : '%s өмнө',\n s : translate,\n ss : translate,\n m : translate,\n mm : translate,\n h : translate,\n hh : translate,\n d : translate,\n dd : translate,\n M : translate,\n MM : translate,\n y : translate,\n yy : translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2} өдөр/,\n ordinal : function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + ' өдөр';\n default:\n return number;\n }\n }\n });\n\n return mn;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var ml = moment.defineLocale('ml', {\n months : 'ജനുവരി_ഫെബ്രുവരി_മാർച്ച്_ഏപ്രിൽ_മേയ്_ജൂൺ_ജൂലൈ_ഓഗസ്റ്റ്_സെപ്റ്റംബർ_ഒക്ടോബർ_നവംബർ_ഡിസംബർ'.split('_'),\n monthsShort : 'ജനു._ഫെബ്രു._മാർ._ഏപ്രി._മേയ്_ജൂൺ_ജൂലൈ._ഓഗ._സെപ്റ്റ._ഒക്ടോ._നവം._ഡിസം.'.split('_'),\n monthsParseExact : true,\n weekdays : 'ഞായറാഴ്ച_തിങ്കളാഴ്ച_ചൊവ്വാഴ്ച_ബുധനാഴ്ച_വ്യാഴാഴ്ച_വെള്ളിയാഴ്ച_ശനിയാഴ്ച'.split('_'),\n weekdaysShort : 'ഞായർ_തിങ്കൾ_ചൊവ്വ_ബുധൻ_വ്യാഴം_വെള്ളി_ശനി'.split('_'),\n weekdaysMin : 'ഞാ_തി_ചൊ_ബു_വ്യാ_വെ_ശ'.split('_'),\n longDateFormat : {\n LT : 'A h:mm -നു',\n LTS : 'A h:mm:ss -നു',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, A h:mm -നു',\n LLLL : 'dddd, D MMMM YYYY, A h:mm -നു'\n },\n calendar : {\n sameDay : '[ഇന്ന്] LT',\n nextDay : '[നാളെ] LT',\n nextWeek : 'dddd, LT',\n lastDay : '[ഇന്നലെ] LT',\n lastWeek : '[കഴിഞ്ഞ] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s കഴിഞ്ഞ്',\n past : '%s മുൻപ്',\n s : 'അൽപ നിമിഷങ്ങൾ',\n ss : '%d സെക്കൻഡ്',\n m : 'ഒരു മിനിറ്റ്',\n mm : '%d മിനിറ്റ്',\n h : 'ഒരു മണിക്കൂർ',\n hh : '%d മണിക്കൂർ',\n d : 'ഒരു ദിവസം',\n dd : '%d ദിവസം',\n M : 'ഒരു മാസം',\n MM : '%d മാസം',\n y : 'ഒരു വർഷം',\n yy : '%d വർഷം'\n },\n meridiemParse: /രാത്രി|രാവിലെ|ഉച്ച കഴിഞ്ഞ്|വൈകുന്നേരം|രാത്രി/i,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if ((meridiem === 'രാത്രി' && hour >= 4) ||\n meridiem === 'ഉച്ച കഴിഞ്ഞ്' ||\n meridiem === 'വൈകുന്നേരം') {\n return hour + 12;\n } else {\n return hour;\n }\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'രാത്രി';\n } else if (hour < 12) {\n return 'രാവിലെ';\n } else if (hour < 17) {\n return 'ഉച്ച കഴിഞ്ഞ്';\n } else if (hour < 20) {\n return 'വൈകുന്നേരം';\n } else {\n return 'രാത്രി';\n }\n }\n });\n\n return ml;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var mk = moment.defineLocale('mk', {\n months : 'јануари_февруари_март_април_мај_јуни_јули_август_септември_октомври_ноември_декември'.split('_'),\n monthsShort : 'јан_фев_мар_апр_мај_јун_јул_авг_сеп_окт_ное_дек'.split('_'),\n weekdays : 'недела_понеделник_вторник_среда_четврток_петок_сабота'.split('_'),\n weekdaysShort : 'нед_пон_вто_сре_чет_пет_саб'.split('_'),\n weekdaysMin : 'нe_пo_вт_ср_че_пе_сa'.split('_'),\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'D.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY H:mm',\n LLLL : 'dddd, D MMMM YYYY H:mm'\n },\n calendar : {\n sameDay : '[Денес во] LT',\n nextDay : '[Утре во] LT',\n nextWeek : '[Во] dddd [во] LT',\n lastDay : '[Вчера во] LT',\n lastWeek : function () {\n switch (this.day()) {\n case 0:\n case 3:\n case 6:\n return '[Изминатата] dddd [во] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[Изминатиот] dddd [во] LT';\n }\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'после %s',\n past : 'пред %s',\n s : 'неколку секунди',\n ss : '%d секунди',\n m : 'минута',\n mm : '%d минути',\n h : 'час',\n hh : '%d часа',\n d : 'ден',\n dd : '%d дена',\n M : 'месец',\n MM : '%d месеци',\n y : 'година',\n yy : '%d години'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ев|ен|ти|ви|ри|ми)/,\n ordinal : function (number) {\n var lastDigit = number % 10,\n last2Digits = number % 100;\n if (number === 0) {\n return number + '-ев';\n } else if (last2Digits === 0) {\n return number + '-ен';\n } else if (last2Digits > 10 && last2Digits < 20) {\n return number + '-ти';\n } else if (lastDigit === 1) {\n return number + '-ви';\n } else if (lastDigit === 2) {\n return number + '-ри';\n } else if (lastDigit === 7 || lastDigit === 8) {\n return number + '-ми';\n } else {\n return number + '-ти';\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return mk;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var mi = moment.defineLocale('mi', {\n months: 'Kohi-tāte_Hui-tanguru_Poutū-te-rangi_Paenga-whāwhā_Haratua_Pipiri_Hōngoingoi_Here-turi-kōkā_Mahuru_Whiringa-ā-nuku_Whiringa-ā-rangi_Hakihea'.split('_'),\n monthsShort: 'Kohi_Hui_Pou_Pae_Hara_Pipi_Hōngoi_Here_Mahu_Whi-nu_Whi-ra_Haki'.split('_'),\n monthsRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,\n monthsStrictRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,\n monthsShortRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,\n monthsShortStrictRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,2}/i,\n weekdays: 'Rātapu_Mane_Tūrei_Wenerei_Tāite_Paraire_Hātarei'.split('_'),\n weekdaysShort: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'),\n weekdaysMin: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY [i] HH:mm',\n LLLL: 'dddd, D MMMM YYYY [i] HH:mm'\n },\n calendar: {\n sameDay: '[i teie mahana, i] LT',\n nextDay: '[apopo i] LT',\n nextWeek: 'dddd [i] LT',\n lastDay: '[inanahi i] LT',\n lastWeek: 'dddd [whakamutunga i] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'i roto i %s',\n past: '%s i mua',\n s: 'te hēkona ruarua',\n ss: '%d hēkona',\n m: 'he meneti',\n mm: '%d meneti',\n h: 'te haora',\n hh: '%d haora',\n d: 'he ra',\n dd: '%d ra',\n M: 'he marama',\n MM: '%d marama',\n y: 'he tau',\n yy: '%d tau'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return mi;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var translator = {\n words: { //Different grammatical cases\n ss: ['sekund', 'sekunda', 'sekundi'],\n m: ['jedan minut', 'jednog minuta'],\n mm: ['minut', 'minuta', 'minuta'],\n h: ['jedan sat', 'jednog sata'],\n hh: ['sat', 'sata', 'sati'],\n dd: ['dan', 'dana', 'dana'],\n MM: ['mjesec', 'mjeseca', 'mjeseci'],\n yy: ['godina', 'godine', 'godina']\n },\n correctGrammaticalCase: function (number, wordKey) {\n return number === 1 ? wordKey[0] : (number >= 2 && number <= 4 ? wordKey[1] : wordKey[2]);\n },\n translate: function (number, withoutSuffix, key) {\n var wordKey = translator.words[key];\n if (key.length === 1) {\n return withoutSuffix ? wordKey[0] : wordKey[1];\n } else {\n return number + ' ' + translator.correctGrammaticalCase(number, wordKey);\n }\n }\n };\n\n var me = moment.defineLocale('me', {\n months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split('_'),\n monthsShort: 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split('_'),\n monthsParseExact : true,\n weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split('_'),\n weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact : true,\n longDateFormat: {\n LT: 'H:mm',\n LTS : 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd, D. MMMM YYYY H:mm'\n },\n calendar: {\n sameDay: '[danas u] LT',\n nextDay: '[sjutra u] LT',\n\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[u] [nedjelju] [u] LT';\n case 3:\n return '[u] [srijedu] [u] LT';\n case 6:\n return '[u] [subotu] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay : '[juče u] LT',\n lastWeek : function () {\n var lastWeekDays = [\n '[prošle] [nedjelje] [u] LT',\n '[prošlog] [ponedjeljka] [u] LT',\n '[prošlog] [utorka] [u] LT',\n '[prošle] [srijede] [u] LT',\n '[prošlog] [četvrtka] [u] LT',\n '[prošlog] [petka] [u] LT',\n '[prošle] [subote] [u] LT'\n ];\n return lastWeekDays[this.day()];\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'za %s',\n past : 'prije %s',\n s : 'nekoliko sekundi',\n ss : translator.translate,\n m : translator.translate,\n mm : translator.translate,\n h : translator.translate,\n hh : translator.translate,\n d : 'dan',\n dd : translator.translate,\n M : 'mjesec',\n MM : translator.translate,\n y : 'godinu',\n yy : translator.translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return me;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var units = {\n 'ss': 'sekundes_sekundēm_sekunde_sekundes'.split('_'),\n 'm': 'minūtes_minūtēm_minūte_minūtes'.split('_'),\n 'mm': 'minūtes_minūtēm_minūte_minūtes'.split('_'),\n 'h': 'stundas_stundām_stunda_stundas'.split('_'),\n 'hh': 'stundas_stundām_stunda_stundas'.split('_'),\n 'd': 'dienas_dienām_diena_dienas'.split('_'),\n 'dd': 'dienas_dienām_diena_dienas'.split('_'),\n 'M': 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'),\n 'MM': 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'),\n 'y': 'gada_gadiem_gads_gadi'.split('_'),\n 'yy': 'gada_gadiem_gads_gadi'.split('_')\n };\n /**\n * @param withoutSuffix boolean true = a length of time; false = before/after a period of time.\n */\n function format(forms, number, withoutSuffix) {\n if (withoutSuffix) {\n // E.g. \"21 minūte\", \"3 minūtes\".\n return number % 10 === 1 && number % 100 !== 11 ? forms[2] : forms[3];\n } else {\n // E.g. \"21 minūtes\" as in \"pēc 21 minūtes\".\n // E.g. \"3 minūtēm\" as in \"pēc 3 minūtēm\".\n return number % 10 === 1 && number % 100 !== 11 ? forms[0] : forms[1];\n }\n }\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n return number + ' ' + format(units[key], number, withoutSuffix);\n }\n function relativeTimeWithSingular(number, withoutSuffix, key) {\n return format(units[key], number, withoutSuffix);\n }\n function relativeSeconds(number, withoutSuffix) {\n return withoutSuffix ? 'dažas sekundes' : 'dažām sekundēm';\n }\n\n var lv = moment.defineLocale('lv', {\n months : 'janvāris_februāris_marts_aprīlis_maijs_jūnijs_jūlijs_augusts_septembris_oktobris_novembris_decembris'.split('_'),\n monthsShort : 'jan_feb_mar_apr_mai_jūn_jūl_aug_sep_okt_nov_dec'.split('_'),\n weekdays : 'svētdiena_pirmdiena_otrdiena_trešdiena_ceturtdiena_piektdiena_sestdiena'.split('_'),\n weekdaysShort : 'Sv_P_O_T_C_Pk_S'.split('_'),\n weekdaysMin : 'Sv_P_O_T_C_Pk_S'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY.',\n LL : 'YYYY. [gada] D. MMMM',\n LLL : 'YYYY. [gada] D. MMMM, HH:mm',\n LLLL : 'YYYY. [gada] D. MMMM, dddd, HH:mm'\n },\n calendar : {\n sameDay : '[Šodien pulksten] LT',\n nextDay : '[Rīt pulksten] LT',\n nextWeek : 'dddd [pulksten] LT',\n lastDay : '[Vakar pulksten] LT',\n lastWeek : '[Pagājušā] dddd [pulksten] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'pēc %s',\n past : 'pirms %s',\n s : relativeSeconds,\n ss : relativeTimeWithPlural,\n m : relativeTimeWithSingular,\n mm : relativeTimeWithPlural,\n h : relativeTimeWithSingular,\n hh : relativeTimeWithPlural,\n d : relativeTimeWithSingular,\n dd : relativeTimeWithPlural,\n M : relativeTimeWithSingular,\n MM : relativeTimeWithPlural,\n y : relativeTimeWithSingular,\n yy : relativeTimeWithPlural\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return lv;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var units = {\n 'ss' : 'sekundė_sekundžių_sekundes',\n 'm' : 'minutė_minutės_minutę',\n 'mm': 'minutės_minučių_minutes',\n 'h' : 'valanda_valandos_valandą',\n 'hh': 'valandos_valandų_valandas',\n 'd' : 'diena_dienos_dieną',\n 'dd': 'dienos_dienų_dienas',\n 'M' : 'mėnuo_mėnesio_mėnesį',\n 'MM': 'mėnesiai_mėnesių_mėnesius',\n 'y' : 'metai_metų_metus',\n 'yy': 'metai_metų_metus'\n };\n function translateSeconds(number, withoutSuffix, key, isFuture) {\n if (withoutSuffix) {\n return 'kelios sekundės';\n } else {\n return isFuture ? 'kelių sekundžių' : 'kelias sekundes';\n }\n }\n function translateSingular(number, withoutSuffix, key, isFuture) {\n return withoutSuffix ? forms(key)[0] : (isFuture ? forms(key)[1] : forms(key)[2]);\n }\n function special(number) {\n return number % 10 === 0 || (number > 10 && number < 20);\n }\n function forms(key) {\n return units[key].split('_');\n }\n function translate(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n if (number === 1) {\n return result + translateSingular(number, withoutSuffix, key[0], isFuture);\n } else if (withoutSuffix) {\n return result + (special(number) ? forms(key)[1] : forms(key)[0]);\n } else {\n if (isFuture) {\n return result + forms(key)[1];\n } else {\n return result + (special(number) ? forms(key)[1] : forms(key)[2]);\n }\n }\n }\n var lt = moment.defineLocale('lt', {\n months : {\n format: 'sausio_vasario_kovo_balandžio_gegužės_birželio_liepos_rugpjūčio_rugsėjo_spalio_lapkričio_gruodžio'.split('_'),\n standalone: 'sausis_vasaris_kovas_balandis_gegužė_birželis_liepa_rugpjūtis_rugsėjis_spalis_lapkritis_gruodis'.split('_'),\n isFormat: /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?|MMMM?(\\[[^\\[\\]]*\\]|\\s)+D[oD]?/\n },\n monthsShort : 'sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd'.split('_'),\n weekdays : {\n format: 'sekmadienį_pirmadienį_antradienį_trečiadienį_ketvirtadienį_penktadienį_šeštadienį'.split('_'),\n standalone: 'sekmadienis_pirmadienis_antradienis_trečiadienis_ketvirtadienis_penktadienis_šeštadienis'.split('_'),\n isFormat: /dddd HH:mm/\n },\n weekdaysShort : 'Sek_Pir_Ant_Tre_Ket_Pen_Šeš'.split('_'),\n weekdaysMin : 'S_P_A_T_K_Pn_Š'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY-MM-DD',\n LL : 'YYYY [m.] MMMM D [d.]',\n LLL : 'YYYY [m.] MMMM D [d.], HH:mm [val.]',\n LLLL : 'YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]',\n l : 'YYYY-MM-DD',\n ll : 'YYYY [m.] MMMM D [d.]',\n lll : 'YYYY [m.] MMMM D [d.], HH:mm [val.]',\n llll : 'YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]'\n },\n calendar : {\n sameDay : '[Šiandien] LT',\n nextDay : '[Rytoj] LT',\n nextWeek : 'dddd LT',\n lastDay : '[Vakar] LT',\n lastWeek : '[Praėjusį] dddd LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'po %s',\n past : 'prieš %s',\n s : translateSeconds,\n ss : translate,\n m : translateSingular,\n mm : translate,\n h : translateSingular,\n hh : translate,\n d : translateSingular,\n dd : translate,\n M : translateSingular,\n MM : translate,\n y : translateSingular,\n yy : translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-oji/,\n ordinal : function (number) {\n return number + '-oji';\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return lt;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var lo = moment.defineLocale('lo', {\n months : 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split('_'),\n monthsShort : 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split('_'),\n weekdays : 'ອາທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'),\n weekdaysShort : 'ທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'),\n weekdaysMin : 'ທ_ຈ_ອຄ_ພ_ພຫ_ສກ_ສ'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'ວັນdddd D MMMM YYYY HH:mm'\n },\n meridiemParse: /ຕອນເຊົ້າ|ຕອນແລງ/,\n isPM: function (input) {\n return input === 'ຕອນແລງ';\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ຕອນເຊົ້າ';\n } else {\n return 'ຕອນແລງ';\n }\n },\n calendar : {\n sameDay : '[ມື້ນີ້ເວລາ] LT',\n nextDay : '[ມື້ອື່ນເວລາ] LT',\n nextWeek : '[ວັນ]dddd[ໜ້າເວລາ] LT',\n lastDay : '[ມື້ວານນີ້ເວລາ] LT',\n lastWeek : '[ວັນ]dddd[ແລ້ວນີ້ເວລາ] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'ອີກ %s',\n past : '%sຜ່ານມາ',\n s : 'ບໍ່ເທົ່າໃດວິນາທີ',\n ss : '%d ວິນາທີ' ,\n m : '1 ນາທີ',\n mm : '%d ນາທີ',\n h : '1 ຊົ່ວໂມງ',\n hh : '%d ຊົ່ວໂມງ',\n d : '1 ມື້',\n dd : '%d ມື້',\n M : '1 ເດືອນ',\n MM : '%d ເດືອນ',\n y : '1 ປີ',\n yy : '%d ປີ'\n },\n dayOfMonthOrdinalParse: /(ທີ່)\\d{1,2}/,\n ordinal : function (number) {\n return 'ທີ່' + number;\n }\n });\n\n return lo;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n 'm': ['eng Minutt', 'enger Minutt'],\n 'h': ['eng Stonn', 'enger Stonn'],\n 'd': ['een Dag', 'engem Dag'],\n 'M': ['ee Mount', 'engem Mount'],\n 'y': ['ee Joer', 'engem Joer']\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n function processFutureTime(string) {\n var number = string.substr(0, string.indexOf(' '));\n if (eifelerRegelAppliesToNumber(number)) {\n return 'a ' + string;\n }\n return 'an ' + string;\n }\n function processPastTime(string) {\n var number = string.substr(0, string.indexOf(' '));\n if (eifelerRegelAppliesToNumber(number)) {\n return 'viru ' + string;\n }\n return 'virun ' + string;\n }\n /**\n * Returns true if the word before the given number loses the '-n' ending.\n * e.g. 'an 10 Deeg' but 'a 5 Deeg'\n *\n * @param number {integer}\n * @returns {boolean}\n */\n function eifelerRegelAppliesToNumber(number) {\n number = parseInt(number, 10);\n if (isNaN(number)) {\n return false;\n }\n if (number < 0) {\n // Negative Number --> always true\n return true;\n } else if (number < 10) {\n // Only 1 digit\n if (4 <= number && number <= 7) {\n return true;\n }\n return false;\n } else if (number < 100) {\n // 2 digits\n var lastDigit = number % 10, firstDigit = number / 10;\n if (lastDigit === 0) {\n return eifelerRegelAppliesToNumber(firstDigit);\n }\n return eifelerRegelAppliesToNumber(lastDigit);\n } else if (number < 10000) {\n // 3 or 4 digits --> recursively check first digit\n while (number >= 10) {\n number = number / 10;\n }\n return eifelerRegelAppliesToNumber(number);\n } else {\n // Anything larger than 4 digits: recursively check first n-3 digits\n number = number / 1000;\n return eifelerRegelAppliesToNumber(number);\n }\n }\n\n var lb = moment.defineLocale('lb', {\n months: 'Januar_Februar_Mäerz_Abrëll_Mee_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),\n monthsShort: 'Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.'.split('_'),\n monthsParseExact : true,\n weekdays: 'Sonndeg_Méindeg_Dënschdeg_Mëttwoch_Donneschdeg_Freideg_Samschdeg'.split('_'),\n weekdaysShort: 'So._Mé._Dë._Më._Do._Fr._Sa.'.split('_'),\n weekdaysMin: 'So_Mé_Dë_Më_Do_Fr_Sa'.split('_'),\n weekdaysParseExact : true,\n longDateFormat: {\n LT: 'H:mm [Auer]',\n LTS: 'H:mm:ss [Auer]',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm [Auer]',\n LLLL: 'dddd, D. MMMM YYYY H:mm [Auer]'\n },\n calendar: {\n sameDay: '[Haut um] LT',\n sameElse: 'L',\n nextDay: '[Muer um] LT',\n nextWeek: 'dddd [um] LT',\n lastDay: '[Gëschter um] LT',\n lastWeek: function () {\n // Different date string for 'Dënschdeg' (Tuesday) and 'Donneschdeg' (Thursday) due to phonological rule\n switch (this.day()) {\n case 2:\n case 4:\n return '[Leschten] dddd [um] LT';\n default:\n return '[Leschte] dddd [um] LT';\n }\n }\n },\n relativeTime : {\n future : processFutureTime,\n past : processPastTime,\n s : 'e puer Sekonnen',\n ss : '%d Sekonnen',\n m : processRelativeTime,\n mm : '%d Minutten',\n h : processRelativeTime,\n hh : '%d Stonnen',\n d : processRelativeTime,\n dd : '%d Deeg',\n M : processRelativeTime,\n MM : '%d Méint',\n y : processRelativeTime,\n yy : '%d Joer'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return lb;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var suffixes = {\n 0: '-чү',\n 1: '-чи',\n 2: '-чи',\n 3: '-чү',\n 4: '-чү',\n 5: '-чи',\n 6: '-чы',\n 7: '-чи',\n 8: '-чи',\n 9: '-чу',\n 10: '-чу',\n 20: '-чы',\n 30: '-чу',\n 40: '-чы',\n 50: '-чү',\n 60: '-чы',\n 70: '-чи',\n 80: '-чи',\n 90: '-чу',\n 100: '-чү'\n };\n\n var ky = moment.defineLocale('ky', {\n months : 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split('_'),\n monthsShort : 'янв_фев_март_апр_май_июнь_июль_авг_сен_окт_ноя_дек'.split('_'),\n weekdays : 'Жекшемби_Дүйшөмбү_Шейшемби_Шаршемби_Бейшемби_Жума_Ишемби'.split('_'),\n weekdaysShort : 'Жек_Дүй_Шей_Шар_Бей_Жум_Ише'.split('_'),\n weekdaysMin : 'Жк_Дй_Шй_Шр_Бй_Жм_Иш'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Бүгүн саат] LT',\n nextDay : '[Эртең саат] LT',\n nextWeek : 'dddd [саат] LT',\n lastDay : '[Кече саат] LT',\n lastWeek : '[Өткен аптанын] dddd [күнү] [саат] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s ичинде',\n past : '%s мурун',\n s : 'бирнече секунд',\n ss : '%d секунд',\n m : 'бир мүнөт',\n mm : '%d мүнөт',\n h : 'бир саат',\n hh : '%d саат',\n d : 'бир күн',\n dd : '%d күн',\n M : 'бир ай',\n MM : '%d ай',\n y : 'бир жыл',\n yy : '%d жыл'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(чи|чы|чү|чу)/,\n ordinal : function (number) {\n var a = number % 10,\n b = number >= 100 ? 100 : null;\n return number + (suffixes[number] || suffixes[a] || suffixes[b]);\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return ky;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var ko = moment.defineLocale('ko', {\n months : '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split('_'),\n monthsShort : '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split('_'),\n weekdays : '일요일_월요일_화요일_수요일_목요일_금요일_토요일'.split('_'),\n weekdaysShort : '일_월_화_수_목_금_토'.split('_'),\n weekdaysMin : '일_월_화_수_목_금_토'.split('_'),\n longDateFormat : {\n LT : 'A h:mm',\n LTS : 'A h:mm:ss',\n L : 'YYYY.MM.DD.',\n LL : 'YYYY년 MMMM D일',\n LLL : 'YYYY년 MMMM D일 A h:mm',\n LLLL : 'YYYY년 MMMM D일 dddd A h:mm',\n l : 'YYYY.MM.DD.',\n ll : 'YYYY년 MMMM D일',\n lll : 'YYYY년 MMMM D일 A h:mm',\n llll : 'YYYY년 MMMM D일 dddd A h:mm'\n },\n calendar : {\n sameDay : '오늘 LT',\n nextDay : '내일 LT',\n nextWeek : 'dddd LT',\n lastDay : '어제 LT',\n lastWeek : '지난주 dddd LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s 후',\n past : '%s 전',\n s : '몇 초',\n ss : '%d초',\n m : '1분',\n mm : '%d분',\n h : '한 시간',\n hh : '%d시간',\n d : '하루',\n dd : '%d일',\n M : '한 달',\n MM : '%d달',\n y : '일 년',\n yy : '%d년'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}(일|월|주)/,\n ordinal : function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '일';\n case 'M':\n return number + '월';\n case 'w':\n case 'W':\n return number + '주';\n default:\n return number;\n }\n },\n meridiemParse : /오전|오후/,\n isPM : function (token) {\n return token === '오후';\n },\n meridiem : function (hour, minute, isUpper) {\n return hour < 12 ? '오전' : '오후';\n }\n });\n\n return ko;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '೧',\n '2': '೨',\n '3': '೩',\n '4': '೪',\n '5': '೫',\n '6': '೬',\n '7': '೭',\n '8': '೮',\n '9': '೯',\n '0': '೦'\n },\n numberMap = {\n '೧': '1',\n '೨': '2',\n '೩': '3',\n '೪': '4',\n '೫': '5',\n '೬': '6',\n '೭': '7',\n '೮': '8',\n '೯': '9',\n '೦': '0'\n };\n\n var kn = moment.defineLocale('kn', {\n months : 'ಜನವರಿ_ಫೆಬ್ರವರಿ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂಬರ್_ಅಕ್ಟೋಬರ್_ನವೆಂಬರ್_ಡಿಸೆಂಬರ್'.split('_'),\n monthsShort : 'ಜನ_ಫೆಬ್ರ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂ_ಅಕ್ಟೋ_ನವೆಂ_ಡಿಸೆಂ'.split('_'),\n monthsParseExact: true,\n weekdays : 'ಭಾನುವಾರ_ಸೋಮವಾರ_ಮಂಗಳವಾರ_ಬುಧವಾರ_ಗುರುವಾರ_ಶುಕ್ರವಾರ_ಶನಿವಾರ'.split('_'),\n weekdaysShort : 'ಭಾನು_ಸೋಮ_ಮಂಗಳ_ಬುಧ_ಗುರು_ಶುಕ್ರ_ಶನಿ'.split('_'),\n weekdaysMin : 'ಭಾ_ಸೋ_ಮಂ_ಬು_ಗು_ಶು_ಶ'.split('_'),\n longDateFormat : {\n LT : 'A h:mm',\n LTS : 'A h:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, A h:mm',\n LLLL : 'dddd, D MMMM YYYY, A h:mm'\n },\n calendar : {\n sameDay : '[ಇಂದು] LT',\n nextDay : '[ನಾಳೆ] LT',\n nextWeek : 'dddd, LT',\n lastDay : '[ನಿನ್ನೆ] LT',\n lastWeek : '[ಕೊನೆಯ] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s ನಂತರ',\n past : '%s ಹಿಂದೆ',\n s : 'ಕೆಲವು ಕ್ಷಣಗಳು',\n ss : '%d ಸೆಕೆಂಡುಗಳು',\n m : 'ಒಂದು ನಿಮಿಷ',\n mm : '%d ನಿಮಿಷ',\n h : 'ಒಂದು ಗಂಟೆ',\n hh : '%d ಗಂಟೆ',\n d : 'ಒಂದು ದಿನ',\n dd : '%d ದಿನ',\n M : 'ಒಂದು ತಿಂಗಳು',\n MM : '%d ತಿಂಗಳು',\n y : 'ಒಂದು ವರ್ಷ',\n yy : '%d ವರ್ಷ'\n },\n preparse: function (string) {\n return string.replace(/[೧೨೩೪೫೬೭೮೯೦]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /ರಾತ್ರಿ|ಬೆಳಿಗ್ಗೆ|ಮಧ್ಯಾಹ್ನ|ಸಂಜೆ/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'ರಾತ್ರಿ') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'ಬೆಳಿಗ್ಗೆ') {\n return hour;\n } else if (meridiem === 'ಮಧ್ಯಾಹ್ನ') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'ಸಂಜೆ') {\n return hour + 12;\n }\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ರಾತ್ರಿ';\n } else if (hour < 10) {\n return 'ಬೆಳಿಗ್ಗೆ';\n } else if (hour < 17) {\n return 'ಮಧ್ಯಾಹ್ನ';\n } else if (hour < 20) {\n return 'ಸಂಜೆ';\n } else {\n return 'ರಾತ್ರಿ';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ನೇ)/,\n ordinal : function (number) {\n return number + 'ನೇ';\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return kn;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '១',\n '2': '២',\n '3': '៣',\n '4': '៤',\n '5': '៥',\n '6': '៦',\n '7': '៧',\n '8': '៨',\n '9': '៩',\n '0': '០'\n }, numberMap = {\n '១': '1',\n '២': '2',\n '៣': '3',\n '៤': '4',\n '៥': '5',\n '៦': '6',\n '៧': '7',\n '៨': '8',\n '៩': '9',\n '០': '0'\n };\n\n var km = moment.defineLocale('km', {\n months: 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split(\n '_'\n ),\n monthsShort: 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split(\n '_'\n ),\n weekdays: 'អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍'.split('_'),\n weekdaysShort: 'អា_ច_អ_ព_ព្រ_សុ_ស'.split('_'),\n weekdaysMin: 'អា_ច_អ_ព_ព្រ_សុ_ស'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n meridiemParse: /ព្រឹក|ល្ងាច/,\n isPM: function (input) {\n return input === 'ល្ងាច';\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ព្រឹក';\n } else {\n return 'ល្ងាច';\n }\n },\n calendar: {\n sameDay: '[ថ្ងៃនេះ ម៉ោង] LT',\n nextDay: '[ស្អែក ម៉ោង] LT',\n nextWeek: 'dddd [ម៉ោង] LT',\n lastDay: '[ម្សិលមិញ ម៉ោង] LT',\n lastWeek: 'dddd [សប្តាហ៍មុន] [ម៉ោង] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%sទៀត',\n past: '%sមុន',\n s: 'ប៉ុន្មានវិនាទី',\n ss: '%d វិនាទី',\n m: 'មួយនាទី',\n mm: '%d នាទី',\n h: 'មួយម៉ោង',\n hh: '%d ម៉ោង',\n d: 'មួយថ្ងៃ',\n dd: '%d ថ្ងៃ',\n M: 'មួយខែ',\n MM: '%d ខែ',\n y: 'មួយឆ្នាំ',\n yy: '%d ឆ្នាំ'\n },\n dayOfMonthOrdinalParse : /ទី\\d{1,2}/,\n ordinal : 'ទី%d',\n preparse: function (string) {\n return string.replace(/[១២៣៤៥៦៧៨៩០]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return km;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var suffixes = {\n 0: '-ші',\n 1: '-ші',\n 2: '-ші',\n 3: '-ші',\n 4: '-ші',\n 5: '-ші',\n 6: '-шы',\n 7: '-ші',\n 8: '-ші',\n 9: '-шы',\n 10: '-шы',\n 20: '-шы',\n 30: '-шы',\n 40: '-шы',\n 50: '-ші',\n 60: '-шы',\n 70: '-ші',\n 80: '-ші',\n 90: '-шы',\n 100: '-ші'\n };\n\n var kk = moment.defineLocale('kk', {\n months : 'қаңтар_ақпан_наурыз_сәуір_мамыр_маусым_шілде_тамыз_қыркүйек_қазан_қараша_желтоқсан'.split('_'),\n monthsShort : 'қаң_ақп_нау_сәу_мам_мау_шіл_там_қыр_қаз_қар_жел'.split('_'),\n weekdays : 'жексенбі_дүйсенбі_сейсенбі_сәрсенбі_бейсенбі_жұма_сенбі'.split('_'),\n weekdaysShort : 'жек_дүй_сей_сәр_бей_жұм_сен'.split('_'),\n weekdaysMin : 'жк_дй_сй_ср_бй_жм_сн'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Бүгін сағат] LT',\n nextDay : '[Ертең сағат] LT',\n nextWeek : 'dddd [сағат] LT',\n lastDay : '[Кеше сағат] LT',\n lastWeek : '[Өткен аптаның] dddd [сағат] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s ішінде',\n past : '%s бұрын',\n s : 'бірнеше секунд',\n ss : '%d секунд',\n m : 'бір минут',\n mm : '%d минут',\n h : 'бір сағат',\n hh : '%d сағат',\n d : 'бір күн',\n dd : '%d күн',\n M : 'бір ай',\n MM : '%d ай',\n y : 'бір жыл',\n yy : '%d жыл'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ші|шы)/,\n ordinal : function (number) {\n var a = number % 10,\n b = number >= 100 ? 100 : null;\n return number + (suffixes[number] || suffixes[a] || suffixes[b]);\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return kk;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var ka = moment.defineLocale('ka', {\n months : {\n standalone: 'იანვარი_თებერვალი_მარტი_აპრილი_მაისი_ივნისი_ივლისი_აგვისტო_სექტემბერი_ოქტომბერი_ნოემბერი_დეკემბერი'.split('_'),\n format: 'იანვარს_თებერვალს_მარტს_აპრილის_მაისს_ივნისს_ივლისს_აგვისტს_სექტემბერს_ოქტომბერს_ნოემბერს_დეკემბერს'.split('_')\n },\n monthsShort : 'იან_თებ_მარ_აპრ_მაი_ივნ_ივლ_აგვ_სექ_ოქტ_ნოე_დეკ'.split('_'),\n weekdays : {\n standalone: 'კვირა_ორშაბათი_სამშაბათი_ოთხშაბათი_ხუთშაბათი_პარასკევი_შაბათი'.split('_'),\n format: 'კვირას_ორშაბათს_სამშაბათს_ოთხშაბათს_ხუთშაბათს_პარასკევს_შაბათს'.split('_'),\n isFormat: /(წინა|შემდეგ)/\n },\n weekdaysShort : 'კვი_ორშ_სამ_ოთხ_ხუთ_პარ_შაბ'.split('_'),\n weekdaysMin : 'კვ_ორ_სა_ოთ_ხუ_პა_შა'.split('_'),\n longDateFormat : {\n LT : 'h:mm A',\n LTS : 'h:mm:ss A',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY h:mm A',\n LLLL : 'dddd, D MMMM YYYY h:mm A'\n },\n calendar : {\n sameDay : '[დღეს] LT[-ზე]',\n nextDay : '[ხვალ] LT[-ზე]',\n lastDay : '[გუშინ] LT[-ზე]',\n nextWeek : '[შემდეგ] dddd LT[-ზე]',\n lastWeek : '[წინა] dddd LT-ზე',\n sameElse : 'L'\n },\n relativeTime : {\n future : function (s) {\n return (/(წამი|წუთი|საათი|წელი)/).test(s) ?\n s.replace(/ი$/, 'ში') :\n s + 'ში';\n },\n past : function (s) {\n if ((/(წამი|წუთი|საათი|დღე|თვე)/).test(s)) {\n return s.replace(/(ი|ე)$/, 'ის წინ');\n }\n if ((/წელი/).test(s)) {\n return s.replace(/წელი$/, 'წლის წინ');\n }\n },\n s : 'რამდენიმე წამი',\n ss : '%d წამი',\n m : 'წუთი',\n mm : '%d წუთი',\n h : 'საათი',\n hh : '%d საათი',\n d : 'დღე',\n dd : '%d დღე',\n M : 'თვე',\n MM : '%d თვე',\n y : 'წელი',\n yy : '%d წელი'\n },\n dayOfMonthOrdinalParse: /0|1-ლი|მე-\\d{1,2}|\\d{1,2}-ე/,\n ordinal : function (number) {\n if (number === 0) {\n return number;\n }\n if (number === 1) {\n return number + '-ლი';\n }\n if ((number < 20) || (number <= 100 && (number % 20 === 0)) || (number % 100 === 0)) {\n return 'მე-' + number;\n }\n return number + '-ე';\n },\n week : {\n dow : 1,\n doy : 7\n }\n });\n\n return ka;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var jv = moment.defineLocale('jv', {\n months : 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember'.split('_'),\n monthsShort : 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des'.split('_'),\n weekdays : 'Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu'.split('_'),\n weekdaysShort : 'Min_Sen_Sel_Reb_Kem_Jem_Sep'.split('_'),\n weekdaysMin : 'Mg_Sn_Sl_Rb_Km_Jm_Sp'.split('_'),\n longDateFormat : {\n LT : 'HH.mm',\n LTS : 'HH.mm.ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY [pukul] HH.mm',\n LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm'\n },\n meridiemParse: /enjing|siyang|sonten|ndalu/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'enjing') {\n return hour;\n } else if (meridiem === 'siyang') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'sonten' || meridiem === 'ndalu') {\n return hour + 12;\n }\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'enjing';\n } else if (hours < 15) {\n return 'siyang';\n } else if (hours < 19) {\n return 'sonten';\n } else {\n return 'ndalu';\n }\n },\n calendar : {\n sameDay : '[Dinten puniko pukul] LT',\n nextDay : '[Mbenjang pukul] LT',\n nextWeek : 'dddd [pukul] LT',\n lastDay : '[Kala wingi pukul] LT',\n lastWeek : 'dddd [kepengker pukul] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'wonten ing %s',\n past : '%s ingkang kepengker',\n s : 'sawetawis detik',\n ss : '%d detik',\n m : 'setunggal menit',\n mm : '%d menit',\n h : 'setunggal jam',\n hh : '%d jam',\n d : 'sedinten',\n dd : '%d dinten',\n M : 'sewulan',\n MM : '%d wulan',\n y : 'setaun',\n yy : '%d taun'\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return jv;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var ja = moment.defineLocale('ja', {\n months : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n monthsShort : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n weekdays : '日曜日_月曜日_火曜日_水曜日_木曜日_金曜日_土曜日'.split('_'),\n weekdaysShort : '日_月_火_水_木_金_土'.split('_'),\n weekdaysMin : '日_月_火_水_木_金_土'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY/MM/DD',\n LL : 'YYYY年M月D日',\n LLL : 'YYYY年M月D日 HH:mm',\n LLLL : 'YYYY年M月D日 dddd HH:mm',\n l : 'YYYY/MM/DD',\n ll : 'YYYY年M月D日',\n lll : 'YYYY年M月D日 HH:mm',\n llll : 'YYYY年M月D日(ddd) HH:mm'\n },\n meridiemParse: /午前|午後/i,\n isPM : function (input) {\n return input === '午後';\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return '午前';\n } else {\n return '午後';\n }\n },\n calendar : {\n sameDay : '[今日] LT',\n nextDay : '[明日] LT',\n nextWeek : function (now) {\n if (now.week() < this.week()) {\n return '[来週]dddd LT';\n } else {\n return 'dddd LT';\n }\n },\n lastDay : '[昨日] LT',\n lastWeek : function (now) {\n if (this.week() < now.week()) {\n return '[先週]dddd LT';\n } else {\n return 'dddd LT';\n }\n },\n sameElse : 'L'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}日/,\n ordinal : function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '日';\n default:\n return number;\n }\n },\n relativeTime : {\n future : '%s後',\n past : '%s前',\n s : '数秒',\n ss : '%d秒',\n m : '1分',\n mm : '%d分',\n h : '1時間',\n hh : '%d時間',\n d : '1日',\n dd : '%d日',\n M : '1ヶ月',\n MM : '%dヶ月',\n y : '1年',\n yy : '%d年'\n }\n });\n\n return ja;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var it = moment.defineLocale('it', {\n months : 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split('_'),\n monthsShort : 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'),\n weekdays : 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split('_'),\n weekdaysShort : 'dom_lun_mar_mer_gio_ven_sab'.split('_'),\n weekdaysMin : 'do_lu_ma_me_gi_ve_sa'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[Oggi alle] LT',\n nextDay: '[Domani alle] LT',\n nextWeek: 'dddd [alle] LT',\n lastDay: '[Ieri alle] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[la scorsa] dddd [alle] LT';\n default:\n return '[lo scorso] dddd [alle] LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : function (s) {\n return ((/^[0-9].+$/).test(s) ? 'tra' : 'in') + ' ' + s;\n },\n past : '%s fa',\n s : 'alcuni secondi',\n ss : '%d secondi',\n m : 'un minuto',\n mm : '%d minuti',\n h : 'un\\'ora',\n hh : '%d ore',\n d : 'un giorno',\n dd : '%d giorni',\n M : 'un mese',\n MM : '%d mesi',\n y : 'un anno',\n yy : '%d anni'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}º/,\n ordinal: '%dº',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return it;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function plural(n) {\n if (n % 100 === 11) {\n return true;\n } else if (n % 10 === 1) {\n return false;\n }\n return true;\n }\n function translate(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n switch (key) {\n case 's':\n return withoutSuffix || isFuture ? 'nokkrar sekúndur' : 'nokkrum sekúndum';\n case 'ss':\n if (plural(number)) {\n return result + (withoutSuffix || isFuture ? 'sekúndur' : 'sekúndum');\n }\n return result + 'sekúnda';\n case 'm':\n return withoutSuffix ? 'mínúta' : 'mínútu';\n case 'mm':\n if (plural(number)) {\n return result + (withoutSuffix || isFuture ? 'mínútur' : 'mínútum');\n } else if (withoutSuffix) {\n return result + 'mínúta';\n }\n return result + 'mínútu';\n case 'hh':\n if (plural(number)) {\n return result + (withoutSuffix || isFuture ? 'klukkustundir' : 'klukkustundum');\n }\n return result + 'klukkustund';\n case 'd':\n if (withoutSuffix) {\n return 'dagur';\n }\n return isFuture ? 'dag' : 'degi';\n case 'dd':\n if (plural(number)) {\n if (withoutSuffix) {\n return result + 'dagar';\n }\n return result + (isFuture ? 'daga' : 'dögum');\n } else if (withoutSuffix) {\n return result + 'dagur';\n }\n return result + (isFuture ? 'dag' : 'degi');\n case 'M':\n if (withoutSuffix) {\n return 'mánuður';\n }\n return isFuture ? 'mánuð' : 'mánuði';\n case 'MM':\n if (plural(number)) {\n if (withoutSuffix) {\n return result + 'mánuðir';\n }\n return result + (isFuture ? 'mánuði' : 'mánuðum');\n } else if (withoutSuffix) {\n return result + 'mánuður';\n }\n return result + (isFuture ? 'mánuð' : 'mánuði');\n case 'y':\n return withoutSuffix || isFuture ? 'ár' : 'ári';\n case 'yy':\n if (plural(number)) {\n return result + (withoutSuffix || isFuture ? 'ár' : 'árum');\n }\n return result + (withoutSuffix || isFuture ? 'ár' : 'ári');\n }\n }\n\n var is = moment.defineLocale('is', {\n months : 'janúar_febrúar_mars_apríl_maí_júní_júlí_ágúst_september_október_nóvember_desember'.split('_'),\n monthsShort : 'jan_feb_mar_apr_maí_jún_júl_ágú_sep_okt_nóv_des'.split('_'),\n weekdays : 'sunnudagur_mánudagur_þriðjudagur_miðvikudagur_fimmtudagur_föstudagur_laugardagur'.split('_'),\n weekdaysShort : 'sun_mán_þri_mið_fim_fös_lau'.split('_'),\n weekdaysMin : 'Su_Má_Þr_Mi_Fi_Fö_La'.split('_'),\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY [kl.] H:mm',\n LLLL : 'dddd, D. MMMM YYYY [kl.] H:mm'\n },\n calendar : {\n sameDay : '[í dag kl.] LT',\n nextDay : '[á morgun kl.] LT',\n nextWeek : 'dddd [kl.] LT',\n lastDay : '[í gær kl.] LT',\n lastWeek : '[síðasta] dddd [kl.] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'eftir %s',\n past : 'fyrir %s síðan',\n s : translate,\n ss : translate,\n m : translate,\n mm : translate,\n h : 'klukkustund',\n hh : translate,\n d : translate,\n dd : translate,\n M : translate,\n MM : translate,\n y : translate,\n yy : translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return is;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var id = moment.defineLocale('id', {\n months : 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember'.split('_'),\n monthsShort : 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Agt_Sep_Okt_Nov_Des'.split('_'),\n weekdays : 'Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu'.split('_'),\n weekdaysShort : 'Min_Sen_Sel_Rab_Kam_Jum_Sab'.split('_'),\n weekdaysMin : 'Mg_Sn_Sl_Rb_Km_Jm_Sb'.split('_'),\n longDateFormat : {\n LT : 'HH.mm',\n LTS : 'HH.mm.ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY [pukul] HH.mm',\n LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm'\n },\n meridiemParse: /pagi|siang|sore|malam/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'pagi') {\n return hour;\n } else if (meridiem === 'siang') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'sore' || meridiem === 'malam') {\n return hour + 12;\n }\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'pagi';\n } else if (hours < 15) {\n return 'siang';\n } else if (hours < 19) {\n return 'sore';\n } else {\n return 'malam';\n }\n },\n calendar : {\n sameDay : '[Hari ini pukul] LT',\n nextDay : '[Besok pukul] LT',\n nextWeek : 'dddd [pukul] LT',\n lastDay : '[Kemarin pukul] LT',\n lastWeek : 'dddd [lalu pukul] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'dalam %s',\n past : '%s yang lalu',\n s : 'beberapa detik',\n ss : '%d detik',\n m : 'semenit',\n mm : '%d menit',\n h : 'sejam',\n hh : '%d jam',\n d : 'sehari',\n dd : '%d hari',\n M : 'sebulan',\n MM : '%d bulan',\n y : 'setahun',\n yy : '%d tahun'\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return id;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var hyAm = moment.defineLocale('hy-am', {\n months : {\n format: 'հունվարի_փետրվարի_մարտի_ապրիլի_մայիսի_հունիսի_հուլիսի_օգոստոսի_սեպտեմբերի_հոկտեմբերի_նոյեմբերի_դեկտեմբերի'.split('_'),\n standalone: 'հունվար_փետրվար_մարտ_ապրիլ_մայիս_հունիս_հուլիս_օգոստոս_սեպտեմբեր_հոկտեմբեր_նոյեմբեր_դեկտեմբեր'.split('_')\n },\n monthsShort : 'հնվ_փտր_մրտ_ապր_մյս_հնս_հլս_օգս_սպտ_հկտ_նմբ_դկտ'.split('_'),\n weekdays : 'կիրակի_երկուշաբթի_երեքշաբթի_չորեքշաբթի_հինգշաբթի_ուրբաթ_շաբաթ'.split('_'),\n weekdaysShort : 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'),\n weekdaysMin : 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY թ.',\n LLL : 'D MMMM YYYY թ., HH:mm',\n LLLL : 'dddd, D MMMM YYYY թ., HH:mm'\n },\n calendar : {\n sameDay: '[այսօր] LT',\n nextDay: '[վաղը] LT',\n lastDay: '[երեկ] LT',\n nextWeek: function () {\n return 'dddd [օրը ժամը] LT';\n },\n lastWeek: function () {\n return '[անցած] dddd [օրը ժամը] LT';\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : '%s հետո',\n past : '%s առաջ',\n s : 'մի քանի վայրկյան',\n ss : '%d վայրկյան',\n m : 'րոպե',\n mm : '%d րոպե',\n h : 'ժամ',\n hh : '%d ժամ',\n d : 'օր',\n dd : '%d օր',\n M : 'ամիս',\n MM : '%d ամիս',\n y : 'տարի',\n yy : '%d տարի'\n },\n meridiemParse: /գիշերվա|առավոտվա|ցերեկվա|երեկոյան/,\n isPM: function (input) {\n return /^(ցերեկվա|երեկոյան)$/.test(input);\n },\n meridiem : function (hour) {\n if (hour < 4) {\n return 'գիշերվա';\n } else if (hour < 12) {\n return 'առավոտվա';\n } else if (hour < 17) {\n return 'ցերեկվա';\n } else {\n return 'երեկոյան';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}|\\d{1,2}-(ին|րդ)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'DDD':\n case 'w':\n case 'W':\n case 'DDDo':\n if (number === 1) {\n return number + '-ին';\n }\n return number + '-րդ';\n default:\n return number;\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return hyAm;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var weekEndings = 'vasárnap hétfőn kedden szerdán csütörtökön pénteken szombaton'.split(' ');\n function translate(number, withoutSuffix, key, isFuture) {\n var num = number;\n switch (key) {\n case 's':\n return (isFuture || withoutSuffix) ? 'néhány másodperc' : 'néhány másodperce';\n case 'ss':\n return num + (isFuture || withoutSuffix) ? ' másodperc' : ' másodperce';\n case 'm':\n return 'egy' + (isFuture || withoutSuffix ? ' perc' : ' perce');\n case 'mm':\n return num + (isFuture || withoutSuffix ? ' perc' : ' perce');\n case 'h':\n return 'egy' + (isFuture || withoutSuffix ? ' óra' : ' órája');\n case 'hh':\n return num + (isFuture || withoutSuffix ? ' óra' : ' órája');\n case 'd':\n return 'egy' + (isFuture || withoutSuffix ? ' nap' : ' napja');\n case 'dd':\n return num + (isFuture || withoutSuffix ? ' nap' : ' napja');\n case 'M':\n return 'egy' + (isFuture || withoutSuffix ? ' hónap' : ' hónapja');\n case 'MM':\n return num + (isFuture || withoutSuffix ? ' hónap' : ' hónapja');\n case 'y':\n return 'egy' + (isFuture || withoutSuffix ? ' év' : ' éve');\n case 'yy':\n return num + (isFuture || withoutSuffix ? ' év' : ' éve');\n }\n return '';\n }\n function week(isFuture) {\n return (isFuture ? '' : '[múlt] ') + '[' + weekEndings[this.day()] + '] LT[-kor]';\n }\n\n var hu = moment.defineLocale('hu', {\n months : 'január_február_március_április_május_június_július_augusztus_szeptember_október_november_december'.split('_'),\n monthsShort : 'jan_feb_márc_ápr_máj_jún_júl_aug_szept_okt_nov_dec'.split('_'),\n weekdays : 'vasárnap_hétfő_kedd_szerda_csütörtök_péntek_szombat'.split('_'),\n weekdaysShort : 'vas_hét_kedd_sze_csüt_pén_szo'.split('_'),\n weekdaysMin : 'v_h_k_sze_cs_p_szo'.split('_'),\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'YYYY.MM.DD.',\n LL : 'YYYY. MMMM D.',\n LLL : 'YYYY. MMMM D. H:mm',\n LLLL : 'YYYY. MMMM D., dddd H:mm'\n },\n meridiemParse: /de|du/i,\n isPM: function (input) {\n return input.charAt(1).toLowerCase() === 'u';\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours < 12) {\n return isLower === true ? 'de' : 'DE';\n } else {\n return isLower === true ? 'du' : 'DU';\n }\n },\n calendar : {\n sameDay : '[ma] LT[-kor]',\n nextDay : '[holnap] LT[-kor]',\n nextWeek : function () {\n return week.call(this, true);\n },\n lastDay : '[tegnap] LT[-kor]',\n lastWeek : function () {\n return week.call(this, false);\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s múlva',\n past : '%s',\n s : translate,\n ss : translate,\n m : translate,\n mm : translate,\n h : translate,\n hh : translate,\n d : translate,\n dd : translate,\n M : translate,\n MM : translate,\n y : translate,\n yy : translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return hu;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function translate(number, withoutSuffix, key) {\n var result = number + ' ';\n switch (key) {\n case 'ss':\n if (number === 1) {\n result += 'sekunda';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sekunde';\n } else {\n result += 'sekundi';\n }\n return result;\n case 'm':\n return withoutSuffix ? 'jedna minuta' : 'jedne minute';\n case 'mm':\n if (number === 1) {\n result += 'minuta';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'minute';\n } else {\n result += 'minuta';\n }\n return result;\n case 'h':\n return withoutSuffix ? 'jedan sat' : 'jednog sata';\n case 'hh':\n if (number === 1) {\n result += 'sat';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sata';\n } else {\n result += 'sati';\n }\n return result;\n case 'dd':\n if (number === 1) {\n result += 'dan';\n } else {\n result += 'dana';\n }\n return result;\n case 'MM':\n if (number === 1) {\n result += 'mjesec';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'mjeseca';\n } else {\n result += 'mjeseci';\n }\n return result;\n case 'yy':\n if (number === 1) {\n result += 'godina';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'godine';\n } else {\n result += 'godina';\n }\n return result;\n }\n }\n\n var hr = moment.defineLocale('hr', {\n months : {\n format: 'siječnja_veljače_ožujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca'.split('_'),\n standalone: 'siječanj_veljača_ožujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac'.split('_')\n },\n monthsShort : 'sij._velj._ožu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.'.split('_'),\n monthsParseExact: true,\n weekdays : 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split('_'),\n weekdaysShort : 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n weekdaysMin : 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY H:mm',\n LLLL : 'dddd, D. MMMM YYYY H:mm'\n },\n calendar : {\n sameDay : '[danas u] LT',\n nextDay : '[sutra u] LT',\n nextWeek : function () {\n switch (this.day()) {\n case 0:\n return '[u] [nedjelju] [u] LT';\n case 3:\n return '[u] [srijedu] [u] LT';\n case 6:\n return '[u] [subotu] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay : '[jučer u] LT',\n lastWeek : function () {\n switch (this.day()) {\n case 0:\n case 3:\n return '[prošlu] dddd [u] LT';\n case 6:\n return '[prošle] [subote] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[prošli] dddd [u] LT';\n }\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'za %s',\n past : 'prije %s',\n s : 'par sekundi',\n ss : translate,\n m : translate,\n mm : translate,\n h : translate,\n hh : translate,\n d : 'dan',\n dd : translate,\n M : 'mjesec',\n MM : translate,\n y : 'godinu',\n yy : translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return hr;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '१',\n '2': '२',\n '3': '३',\n '4': '४',\n '5': '५',\n '6': '६',\n '7': '७',\n '8': '८',\n '9': '९',\n '0': '०'\n },\n numberMap = {\n '१': '1',\n '२': '2',\n '३': '3',\n '४': '4',\n '५': '5',\n '६': '6',\n '७': '7',\n '८': '8',\n '९': '9',\n '०': '0'\n };\n\n var hi = moment.defineLocale('hi', {\n months : 'जनवरी_फ़रवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितम्बर_अक्टूबर_नवम्बर_दिसम्बर'.split('_'),\n monthsShort : 'जन._फ़र._मार्च_अप्रै._मई_जून_जुल._अग._सित._अक्टू._नव._दिस.'.split('_'),\n monthsParseExact: true,\n weekdays : 'रविवार_सोमवार_मंगलवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'),\n weekdaysShort : 'रवि_सोम_मंगल_बुध_गुरू_शुक्र_शनि'.split('_'),\n weekdaysMin : 'र_सो_मं_बु_गु_शु_श'.split('_'),\n longDateFormat : {\n LT : 'A h:mm बजे',\n LTS : 'A h:mm:ss बजे',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, A h:mm बजे',\n LLLL : 'dddd, D MMMM YYYY, A h:mm बजे'\n },\n calendar : {\n sameDay : '[आज] LT',\n nextDay : '[कल] LT',\n nextWeek : 'dddd, LT',\n lastDay : '[कल] LT',\n lastWeek : '[पिछले] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s में',\n past : '%s पहले',\n s : 'कुछ ही क्षण',\n ss : '%d सेकंड',\n m : 'एक मिनट',\n mm : '%d मिनट',\n h : 'एक घंटा',\n hh : '%d घंटे',\n d : 'एक दिन',\n dd : '%d दिन',\n M : 'एक महीने',\n MM : '%d महीने',\n y : 'एक वर्ष',\n yy : '%d वर्ष'\n },\n preparse: function (string) {\n return string.replace(/[१२३४५६७८९०]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n // Hindi notation for meridiems are quite fuzzy in practice. While there exists\n // a rigid notion of a 'Pahar' it is not used as rigidly in modern Hindi.\n meridiemParse: /रात|सुबह|दोपहर|शाम/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'रात') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'सुबह') {\n return hour;\n } else if (meridiem === 'दोपहर') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'शाम') {\n return hour + 12;\n }\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'रात';\n } else if (hour < 10) {\n return 'सुबह';\n } else if (hour < 17) {\n return 'दोपहर';\n } else if (hour < 20) {\n return 'शाम';\n } else {\n return 'रात';\n }\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return hi;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var he = moment.defineLocale('he', {\n months : 'ינואר_פברואר_מרץ_אפריל_מאי_יוני_יולי_אוגוסט_ספטמבר_אוקטובר_נובמבר_דצמבר'.split('_'),\n monthsShort : 'ינו׳_פבר׳_מרץ_אפר׳_מאי_יוני_יולי_אוג׳_ספט׳_אוק׳_נוב׳_דצמ׳'.split('_'),\n weekdays : 'ראשון_שני_שלישי_רביעי_חמישי_שישי_שבת'.split('_'),\n weekdaysShort : 'א׳_ב׳_ג׳_ד׳_ה׳_ו׳_ש׳'.split('_'),\n weekdaysMin : 'א_ב_ג_ד_ה_ו_ש'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D [ב]MMMM YYYY',\n LLL : 'D [ב]MMMM YYYY HH:mm',\n LLLL : 'dddd, D [ב]MMMM YYYY HH:mm',\n l : 'D/M/YYYY',\n ll : 'D MMM YYYY',\n lll : 'D MMM YYYY HH:mm',\n llll : 'ddd, D MMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[היום ב־]LT',\n nextDay : '[מחר ב־]LT',\n nextWeek : 'dddd [בשעה] LT',\n lastDay : '[אתמול ב־]LT',\n lastWeek : '[ביום] dddd [האחרון בשעה] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'בעוד %s',\n past : 'לפני %s',\n s : 'מספר שניות',\n ss : '%d שניות',\n m : 'דקה',\n mm : '%d דקות',\n h : 'שעה',\n hh : function (number) {\n if (number === 2) {\n return 'שעתיים';\n }\n return number + ' שעות';\n },\n d : 'יום',\n dd : function (number) {\n if (number === 2) {\n return 'יומיים';\n }\n return number + ' ימים';\n },\n M : 'חודש',\n MM : function (number) {\n if (number === 2) {\n return 'חודשיים';\n }\n return number + ' חודשים';\n },\n y : 'שנה',\n yy : function (number) {\n if (number === 2) {\n return 'שנתיים';\n } else if (number % 10 === 0 && number !== 10) {\n return number + ' שנה';\n }\n return number + ' שנים';\n }\n },\n meridiemParse: /אחה\"צ|לפנה\"צ|אחרי הצהריים|לפני הצהריים|לפנות בוקר|בבוקר|בערב/i,\n isPM : function (input) {\n return /^(אחה\"צ|אחרי הצהריים|בערב)$/.test(input);\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 5) {\n return 'לפנות בוקר';\n } else if (hour < 10) {\n return 'בבוקר';\n } else if (hour < 12) {\n return isLower ? 'לפנה\"צ' : 'לפני הצהריים';\n } else if (hour < 18) {\n return isLower ? 'אחה\"צ' : 'אחרי הצהריים';\n } else {\n return 'בערב';\n }\n }\n });\n\n return he;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '૧',\n '2': '૨',\n '3': '૩',\n '4': '૪',\n '5': '૫',\n '6': '૬',\n '7': '૭',\n '8': '૮',\n '9': '૯',\n '0': '૦'\n },\n numberMap = {\n '૧': '1',\n '૨': '2',\n '૩': '3',\n '૪': '4',\n '૫': '5',\n '૬': '6',\n '૭': '7',\n '૮': '8',\n '૯': '9',\n '૦': '0'\n };\n\n var gu = moment.defineLocale('gu', {\n months: 'જાન્યુઆરી_ફેબ્રુઆરી_માર્ચ_એપ્રિલ_મે_જૂન_જુલાઈ_ઑગસ્ટ_સપ્ટેમ્બર_ઑક્ટ્બર_નવેમ્બર_ડિસેમ્બર'.split('_'),\n monthsShort: 'જાન્યુ._ફેબ્રુ._માર્ચ_એપ્રિ._મે_જૂન_જુલા._ઑગ._સપ્ટે._ઑક્ટ્._નવે._ડિસે.'.split('_'),\n monthsParseExact: true,\n weekdays: 'રવિવાર_સોમવાર_મંગળવાર_બુધ્વાર_ગુરુવાર_શુક્રવાર_શનિવાર'.split('_'),\n weekdaysShort: 'રવિ_સોમ_મંગળ_બુધ્_ગુરુ_શુક્ર_શનિ'.split('_'),\n weekdaysMin: 'ર_સો_મં_બુ_ગુ_શુ_શ'.split('_'),\n longDateFormat: {\n LT: 'A h:mm વાગ્યે',\n LTS: 'A h:mm:ss વાગ્યે',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm વાગ્યે',\n LLLL: 'dddd, D MMMM YYYY, A h:mm વાગ્યે'\n },\n calendar: {\n sameDay: '[આજ] LT',\n nextDay: '[કાલે] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[ગઇકાલે] LT',\n lastWeek: '[પાછલા] dddd, LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s મા',\n past: '%s પેહલા',\n s: 'અમુક પળો',\n ss: '%d સેકંડ',\n m: 'એક મિનિટ',\n mm: '%d મિનિટ',\n h: 'એક કલાક',\n hh: '%d કલાક',\n d: 'એક દિવસ',\n dd: '%d દિવસ',\n M: 'એક મહિનો',\n MM: '%d મહિનો',\n y: 'એક વર્ષ',\n yy: '%d વર્ષ'\n },\n preparse: function (string) {\n return string.replace(/[૧૨૩૪૫૬૭૮૯૦]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n // Gujarati notation for meridiems are quite fuzzy in practice. While there exists\n // a rigid notion of a 'Pahar' it is not used as rigidly in modern Gujarati.\n meridiemParse: /રાત|બપોર|સવાર|સાંજ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'રાત') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'સવાર') {\n return hour;\n } else if (meridiem === 'બપોર') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'સાંજ') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'રાત';\n } else if (hour < 10) {\n return 'સવાર';\n } else if (hour < 17) {\n return 'બપોર';\n } else if (hour < 20) {\n return 'સાંજ';\n } else {\n return 'રાત';\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return gu;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n 's': ['thodde secondanim', 'thodde second'],\n 'ss': [number + ' secondanim', number + ' second'],\n 'm': ['eka mintan', 'ek minute'],\n 'mm': [number + ' mintanim', number + ' mintam'],\n 'h': ['eka horan', 'ek hor'],\n 'hh': [number + ' horanim', number + ' horam'],\n 'd': ['eka disan', 'ek dis'],\n 'dd': [number + ' disanim', number + ' dis'],\n 'M': ['eka mhoinean', 'ek mhoino'],\n 'MM': [number + ' mhoineanim', number + ' mhoine'],\n 'y': ['eka vorsan', 'ek voros'],\n 'yy': [number + ' vorsanim', number + ' vorsam']\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n\n var gomLatn = moment.defineLocale('gom-latn', {\n months : 'Janer_Febrer_Mars_Abril_Mai_Jun_Julai_Agost_Setembr_Otubr_Novembr_Dezembr'.split('_'),\n monthsShort : 'Jan._Feb._Mars_Abr._Mai_Jun_Jul._Ago._Set._Otu._Nov._Dez.'.split('_'),\n monthsParseExact : true,\n weekdays : 'Aitar_Somar_Mongllar_Budvar_Brestar_Sukrar_Son\\'var'.split('_'),\n weekdaysShort : 'Ait._Som._Mon._Bud._Bre._Suk._Son.'.split('_'),\n weekdaysMin : 'Ai_Sm_Mo_Bu_Br_Su_Sn'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'A h:mm [vazta]',\n LTS : 'A h:mm:ss [vazta]',\n L : 'DD-MM-YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY A h:mm [vazta]',\n LLLL : 'dddd, MMMM[achea] Do, YYYY, A h:mm [vazta]',\n llll: 'ddd, D MMM YYYY, A h:mm [vazta]'\n },\n calendar : {\n sameDay: '[Aiz] LT',\n nextDay: '[Faleam] LT',\n nextWeek: '[Ieta to] dddd[,] LT',\n lastDay: '[Kal] LT',\n lastWeek: '[Fatlo] dddd[,] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : '%s',\n past : '%s adim',\n s : processRelativeTime,\n ss : processRelativeTime,\n m : processRelativeTime,\n mm : processRelativeTime,\n h : processRelativeTime,\n hh : processRelativeTime,\n d : processRelativeTime,\n dd : processRelativeTime,\n M : processRelativeTime,\n MM : processRelativeTime,\n y : processRelativeTime,\n yy : processRelativeTime\n },\n dayOfMonthOrdinalParse : /\\d{1,2}(er)/,\n ordinal : function (number, period) {\n switch (period) {\n // the ordinal 'er' only applies to day of the month\n case 'D':\n return number + 'er';\n default:\n case 'M':\n case 'Q':\n case 'DDD':\n case 'd':\n case 'w':\n case 'W':\n return number;\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n },\n meridiemParse: /rati|sokalli|donparam|sanje/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'rati') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'sokalli') {\n return hour;\n } else if (meridiem === 'donparam') {\n return hour > 12 ? hour : hour + 12;\n } else if (meridiem === 'sanje') {\n return hour + 12;\n }\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'rati';\n } else if (hour < 12) {\n return 'sokalli';\n } else if (hour < 16) {\n return 'donparam';\n } else if (hour < 20) {\n return 'sanje';\n } else {\n return 'rati';\n }\n }\n });\n\n return gomLatn;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var gl = moment.defineLocale('gl', {\n months : 'xaneiro_febreiro_marzo_abril_maio_xuño_xullo_agosto_setembro_outubro_novembro_decembro'.split('_'),\n monthsShort : 'xan._feb._mar._abr._mai._xuñ._xul._ago._set._out._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays : 'domingo_luns_martes_mércores_xoves_venres_sábado'.split('_'),\n weekdaysShort : 'dom._lun._mar._mér._xov._ven._sáb.'.split('_'),\n weekdaysMin : 'do_lu_ma_mé_xo_ve_sá'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D [de] MMMM [de] YYYY',\n LLL : 'D [de] MMMM [de] YYYY H:mm',\n LLLL : 'dddd, D [de] MMMM [de] YYYY H:mm'\n },\n calendar : {\n sameDay : function () {\n return '[hoxe ' + ((this.hours() !== 1) ? 'ás' : 'á') + '] LT';\n },\n nextDay : function () {\n return '[mañá ' + ((this.hours() !== 1) ? 'ás' : 'á') + '] LT';\n },\n nextWeek : function () {\n return 'dddd [' + ((this.hours() !== 1) ? 'ás' : 'a') + '] LT';\n },\n lastDay : function () {\n return '[onte ' + ((this.hours() !== 1) ? 'á' : 'a') + '] LT';\n },\n lastWeek : function () {\n return '[o] dddd [pasado ' + ((this.hours() !== 1) ? 'ás' : 'a') + '] LT';\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : function (str) {\n if (str.indexOf('un') === 0) {\n return 'n' + str;\n }\n return 'en ' + str;\n },\n past : 'hai %s',\n s : 'uns segundos',\n ss : '%d segundos',\n m : 'un minuto',\n mm : '%d minutos',\n h : 'unha hora',\n hh : '%d horas',\n d : 'un día',\n dd : '%d días',\n M : 'un mes',\n MM : '%d meses',\n y : 'un ano',\n yy : '%d anos'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}º/,\n ordinal : '%dº',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return gl;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var months = [\n 'Am Faoilleach', 'An Gearran', 'Am Màrt', 'An Giblean', 'An Cèitean', 'An t-Ògmhios', 'An t-Iuchar', 'An Lùnastal', 'An t-Sultain', 'An Dàmhair', 'An t-Samhain', 'An Dùbhlachd'\n ];\n\n var monthsShort = ['Faoi', 'Gear', 'Màrt', 'Gibl', 'Cèit', 'Ògmh', 'Iuch', 'Lùn', 'Sult', 'Dàmh', 'Samh', 'Dùbh'];\n\n var weekdays = ['Didòmhnaich', 'Diluain', 'Dimàirt', 'Diciadain', 'Diardaoin', 'Dihaoine', 'Disathairne'];\n\n var weekdaysShort = ['Did', 'Dil', 'Dim', 'Dic', 'Dia', 'Dih', 'Dis'];\n\n var weekdaysMin = ['Dò', 'Lu', 'Mà', 'Ci', 'Ar', 'Ha', 'Sa'];\n\n var gd = moment.defineLocale('gd', {\n months : months,\n monthsShort : monthsShort,\n monthsParseExact : true,\n weekdays : weekdays,\n weekdaysShort : weekdaysShort,\n weekdaysMin : weekdaysMin,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[An-diugh aig] LT',\n nextDay : '[A-màireach aig] LT',\n nextWeek : 'dddd [aig] LT',\n lastDay : '[An-dè aig] LT',\n lastWeek : 'dddd [seo chaidh] [aig] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'ann an %s',\n past : 'bho chionn %s',\n s : 'beagan diogan',\n ss : '%d diogan',\n m : 'mionaid',\n mm : '%d mionaidean',\n h : 'uair',\n hh : '%d uairean',\n d : 'latha',\n dd : '%d latha',\n M : 'mìos',\n MM : '%d mìosan',\n y : 'bliadhna',\n yy : '%d bliadhna'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}(d|na|mh)/,\n ordinal : function (number) {\n var output = number === 1 ? 'd' : number % 10 === 2 ? 'na' : 'mh';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return gd;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var monthsShortWithDots = 'jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.'.split('_'),\n monthsShortWithoutDots = 'jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_');\n\n var fy = moment.defineLocale('fy', {\n months : 'jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber'.split('_'),\n monthsShort : function (m, format) {\n if (!m) {\n return monthsShortWithDots;\n } else if (/-MMM-/.test(format)) {\n return monthsShortWithoutDots[m.month()];\n } else {\n return monthsShortWithDots[m.month()];\n }\n },\n monthsParseExact : true,\n weekdays : 'snein_moandei_tiisdei_woansdei_tongersdei_freed_sneon'.split('_'),\n weekdaysShort : 'si._mo._ti._wo._to._fr._so.'.split('_'),\n weekdaysMin : 'Si_Mo_Ti_Wo_To_Fr_So'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD-MM-YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[hjoed om] LT',\n nextDay: '[moarn om] LT',\n nextWeek: 'dddd [om] LT',\n lastDay: '[juster om] LT',\n lastWeek: '[ôfrûne] dddd [om] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'oer %s',\n past : '%s lyn',\n s : 'in pear sekonden',\n ss : '%d sekonden',\n m : 'ien minút',\n mm : '%d minuten',\n h : 'ien oere',\n hh : '%d oeren',\n d : 'ien dei',\n dd : '%d dagen',\n M : 'ien moanne',\n MM : '%d moannen',\n y : 'ien jier',\n yy : '%d jierren'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n ordinal : function (number) {\n return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de');\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return fy;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var frCh = moment.defineLocale('fr-ch', {\n months : 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'),\n monthsShort : 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'),\n monthsParseExact : true,\n weekdays : 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n weekdaysShort : 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n weekdaysMin : 'di_lu_ma_me_je_ve_sa'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Aujourd’hui à] LT',\n nextDay : '[Demain à] LT',\n nextWeek : 'dddd [à] LT',\n lastDay : '[Hier à] LT',\n lastWeek : 'dddd [dernier à] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'dans %s',\n past : 'il y a %s',\n s : 'quelques secondes',\n ss : '%d secondes',\n m : 'une minute',\n mm : '%d minutes',\n h : 'une heure',\n hh : '%d heures',\n d : 'un jour',\n dd : '%d jours',\n M : 'un mois',\n MM : '%d mois',\n y : 'un an',\n yy : '%d ans'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(er|e)/,\n ordinal : function (number, period) {\n switch (period) {\n // Words with masculine grammatical gender: mois, trimestre, jour\n default:\n case 'M':\n case 'Q':\n case 'D':\n case 'DDD':\n case 'd':\n return number + (number === 1 ? 'er' : 'e');\n\n // Words with feminine grammatical gender: semaine\n case 'w':\n case 'W':\n return number + (number === 1 ? 're' : 'e');\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return frCh;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var frCa = moment.defineLocale('fr-ca', {\n months : 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'),\n monthsShort : 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'),\n monthsParseExact : true,\n weekdays : 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n weekdaysShort : 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n weekdaysMin : 'di_lu_ma_me_je_ve_sa'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY-MM-DD',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Aujourd’hui à] LT',\n nextDay : '[Demain à] LT',\n nextWeek : 'dddd [à] LT',\n lastDay : '[Hier à] LT',\n lastWeek : 'dddd [dernier à] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'dans %s',\n past : 'il y a %s',\n s : 'quelques secondes',\n ss : '%d secondes',\n m : 'une minute',\n mm : '%d minutes',\n h : 'une heure',\n hh : '%d heures',\n d : 'un jour',\n dd : '%d jours',\n M : 'un mois',\n MM : '%d mois',\n y : 'un an',\n yy : '%d ans'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(er|e)/,\n ordinal : function (number, period) {\n switch (period) {\n // Words with masculine grammatical gender: mois, trimestre, jour\n default:\n case 'M':\n case 'Q':\n case 'D':\n case 'DDD':\n case 'd':\n return number + (number === 1 ? 'er' : 'e');\n\n // Words with feminine grammatical gender: semaine\n case 'w':\n case 'W':\n return number + (number === 1 ? 're' : 'e');\n }\n }\n });\n\n return frCa;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var fr = moment.defineLocale('fr', {\n months : 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'),\n monthsShort : 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'),\n monthsParseExact : true,\n weekdays : 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n weekdaysShort : 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n weekdaysMin : 'di_lu_ma_me_je_ve_sa'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Aujourd’hui à] LT',\n nextDay : '[Demain à] LT',\n nextWeek : 'dddd [à] LT',\n lastDay : '[Hier à] LT',\n lastWeek : 'dddd [dernier à] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'dans %s',\n past : 'il y a %s',\n s : 'quelques secondes',\n ss : '%d secondes',\n m : 'une minute',\n mm : '%d minutes',\n h : 'une heure',\n hh : '%d heures',\n d : 'un jour',\n dd : '%d jours',\n M : 'un mois',\n MM : '%d mois',\n y : 'un an',\n yy : '%d ans'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(er|)/,\n ordinal : function (number, period) {\n switch (period) {\n // TODO: Return 'e' when day of month > 1. Move this case inside\n // block for masculine words below.\n // See https://github.com/moment/moment/issues/3375\n case 'D':\n return number + (number === 1 ? 'er' : '');\n\n // Words with masculine grammatical gender: mois, trimestre, jour\n default:\n case 'M':\n case 'Q':\n case 'DDD':\n case 'd':\n return number + (number === 1 ? 'er' : 'e');\n\n // Words with feminine grammatical gender: semaine\n case 'w':\n case 'W':\n return number + (number === 1 ? 're' : 'e');\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return fr;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var fo = moment.defineLocale('fo', {\n months : 'januar_februar_mars_apríl_mai_juni_juli_august_september_oktober_november_desember'.split('_'),\n monthsShort : 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'),\n weekdays : 'sunnudagur_mánadagur_týsdagur_mikudagur_hósdagur_fríggjadagur_leygardagur'.split('_'),\n weekdaysShort : 'sun_mán_týs_mik_hós_frí_ley'.split('_'),\n weekdaysMin : 'su_má_tý_mi_hó_fr_le'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D. MMMM, YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Í dag kl.] LT',\n nextDay : '[Í morgin kl.] LT',\n nextWeek : 'dddd [kl.] LT',\n lastDay : '[Í gjár kl.] LT',\n lastWeek : '[síðstu] dddd [kl] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'um %s',\n past : '%s síðani',\n s : 'fá sekund',\n ss : '%d sekundir',\n m : 'ein minutt',\n mm : '%d minuttir',\n h : 'ein tími',\n hh : '%d tímar',\n d : 'ein dagur',\n dd : '%d dagar',\n M : 'ein mánaði',\n MM : '%d mánaðir',\n y : 'eitt ár',\n yy : '%d ár'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return fo;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var numbersPast = 'nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän'.split(' '),\n numbersFuture = [\n 'nolla', 'yhden', 'kahden', 'kolmen', 'neljän', 'viiden', 'kuuden',\n numbersPast[7], numbersPast[8], numbersPast[9]\n ];\n function translate(number, withoutSuffix, key, isFuture) {\n var result = '';\n switch (key) {\n case 's':\n return isFuture ? 'muutaman sekunnin' : 'muutama sekunti';\n case 'ss':\n return isFuture ? 'sekunnin' : 'sekuntia';\n case 'm':\n return isFuture ? 'minuutin' : 'minuutti';\n case 'mm':\n result = isFuture ? 'minuutin' : 'minuuttia';\n break;\n case 'h':\n return isFuture ? 'tunnin' : 'tunti';\n case 'hh':\n result = isFuture ? 'tunnin' : 'tuntia';\n break;\n case 'd':\n return isFuture ? 'päivän' : 'päivä';\n case 'dd':\n result = isFuture ? 'päivän' : 'päivää';\n break;\n case 'M':\n return isFuture ? 'kuukauden' : 'kuukausi';\n case 'MM':\n result = isFuture ? 'kuukauden' : 'kuukautta';\n break;\n case 'y':\n return isFuture ? 'vuoden' : 'vuosi';\n case 'yy':\n result = isFuture ? 'vuoden' : 'vuotta';\n break;\n }\n result = verbalNumber(number, isFuture) + ' ' + result;\n return result;\n }\n function verbalNumber(number, isFuture) {\n return number < 10 ? (isFuture ? numbersFuture[number] : numbersPast[number]) : number;\n }\n\n var fi = moment.defineLocale('fi', {\n months : 'tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu'.split('_'),\n monthsShort : 'tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu'.split('_'),\n weekdays : 'sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai'.split('_'),\n weekdaysShort : 'su_ma_ti_ke_to_pe_la'.split('_'),\n weekdaysMin : 'su_ma_ti_ke_to_pe_la'.split('_'),\n longDateFormat : {\n LT : 'HH.mm',\n LTS : 'HH.mm.ss',\n L : 'DD.MM.YYYY',\n LL : 'Do MMMM[ta] YYYY',\n LLL : 'Do MMMM[ta] YYYY, [klo] HH.mm',\n LLLL : 'dddd, Do MMMM[ta] YYYY, [klo] HH.mm',\n l : 'D.M.YYYY',\n ll : 'Do MMM YYYY',\n lll : 'Do MMM YYYY, [klo] HH.mm',\n llll : 'ddd, Do MMM YYYY, [klo] HH.mm'\n },\n calendar : {\n sameDay : '[tänään] [klo] LT',\n nextDay : '[huomenna] [klo] LT',\n nextWeek : 'dddd [klo] LT',\n lastDay : '[eilen] [klo] LT',\n lastWeek : '[viime] dddd[na] [klo] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s päästä',\n past : '%s sitten',\n s : translate,\n ss : translate,\n m : translate,\n mm : translate,\n h : translate,\n hh : translate,\n d : translate,\n dd : translate,\n M : translate,\n MM : translate,\n y : translate,\n yy : translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return fi;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '۱',\n '2': '۲',\n '3': '۳',\n '4': '۴',\n '5': '۵',\n '6': '۶',\n '7': '۷',\n '8': '۸',\n '9': '۹',\n '0': '۰'\n }, numberMap = {\n '۱': '1',\n '۲': '2',\n '۳': '3',\n '۴': '4',\n '۵': '5',\n '۶': '6',\n '۷': '7',\n '۸': '8',\n '۹': '9',\n '۰': '0'\n };\n\n var fa = moment.defineLocale('fa', {\n months : 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split('_'),\n monthsShort : 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split('_'),\n weekdays : 'یک\\u200cشنبه_دوشنبه_سه\\u200cشنبه_چهارشنبه_پنج\\u200cشنبه_جمعه_شنبه'.split('_'),\n weekdaysShort : 'یک\\u200cشنبه_دوشنبه_سه\\u200cشنبه_چهارشنبه_پنج\\u200cشنبه_جمعه_شنبه'.split('_'),\n weekdaysMin : 'ی_د_س_چ_پ_ج_ش'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n meridiemParse: /قبل از ظهر|بعد از ظهر/,\n isPM: function (input) {\n return /بعد از ظهر/.test(input);\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'قبل از ظهر';\n } else {\n return 'بعد از ظهر';\n }\n },\n calendar : {\n sameDay : '[امروز ساعت] LT',\n nextDay : '[فردا ساعت] LT',\n nextWeek : 'dddd [ساعت] LT',\n lastDay : '[دیروز ساعت] LT',\n lastWeek : 'dddd [پیش] [ساعت] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'در %s',\n past : '%s پیش',\n s : 'چند ثانیه',\n ss : 'ثانیه d%',\n m : 'یک دقیقه',\n mm : '%d دقیقه',\n h : 'یک ساعت',\n hh : '%d ساعت',\n d : 'یک روز',\n dd : '%d روز',\n M : 'یک ماه',\n MM : '%d ماه',\n y : 'یک سال',\n yy : '%d سال'\n },\n preparse: function (string) {\n return string.replace(/[۰-۹]/g, function (match) {\n return numberMap[match];\n }).replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n }).replace(/,/g, '،');\n },\n dayOfMonthOrdinalParse: /\\d{1,2}م/,\n ordinal : '%dم',\n week : {\n dow : 6, // Saturday is the first day of the week.\n doy : 12 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return fa;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var eu = moment.defineLocale('eu', {\n months : 'urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua'.split('_'),\n monthsShort : 'urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.'.split('_'),\n monthsParseExact : true,\n weekdays : 'igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata'.split('_'),\n weekdaysShort : 'ig._al._ar._az._og._ol._lr.'.split('_'),\n weekdaysMin : 'ig_al_ar_az_og_ol_lr'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY-MM-DD',\n LL : 'YYYY[ko] MMMM[ren] D[a]',\n LLL : 'YYYY[ko] MMMM[ren] D[a] HH:mm',\n LLLL : 'dddd, YYYY[ko] MMMM[ren] D[a] HH:mm',\n l : 'YYYY-M-D',\n ll : 'YYYY[ko] MMM D[a]',\n lll : 'YYYY[ko] MMM D[a] HH:mm',\n llll : 'ddd, YYYY[ko] MMM D[a] HH:mm'\n },\n calendar : {\n sameDay : '[gaur] LT[etan]',\n nextDay : '[bihar] LT[etan]',\n nextWeek : 'dddd LT[etan]',\n lastDay : '[atzo] LT[etan]',\n lastWeek : '[aurreko] dddd LT[etan]',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s barru',\n past : 'duela %s',\n s : 'segundo batzuk',\n ss : '%d segundo',\n m : 'minutu bat',\n mm : '%d minutu',\n h : 'ordu bat',\n hh : '%d ordu',\n d : 'egun bat',\n dd : '%d egun',\n M : 'hilabete bat',\n MM : '%d hilabete',\n y : 'urte bat',\n yy : '%d urte'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return eu;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n 's' : ['mõne sekundi', 'mõni sekund', 'paar sekundit'],\n 'ss': [number + 'sekundi', number + 'sekundit'],\n 'm' : ['ühe minuti', 'üks minut'],\n 'mm': [number + ' minuti', number + ' minutit'],\n 'h' : ['ühe tunni', 'tund aega', 'üks tund'],\n 'hh': [number + ' tunni', number + ' tundi'],\n 'd' : ['ühe päeva', 'üks päev'],\n 'M' : ['kuu aja', 'kuu aega', 'üks kuu'],\n 'MM': [number + ' kuu', number + ' kuud'],\n 'y' : ['ühe aasta', 'aasta', 'üks aasta'],\n 'yy': [number + ' aasta', number + ' aastat']\n };\n if (withoutSuffix) {\n return format[key][2] ? format[key][2] : format[key][1];\n }\n return isFuture ? format[key][0] : format[key][1];\n }\n\n var et = moment.defineLocale('et', {\n months : 'jaanuar_veebruar_märts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember'.split('_'),\n monthsShort : 'jaan_veebr_märts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets'.split('_'),\n weekdays : 'pühapäev_esmaspäev_teisipäev_kolmapäev_neljapäev_reede_laupäev'.split('_'),\n weekdaysShort : 'P_E_T_K_N_R_L'.split('_'),\n weekdaysMin : 'P_E_T_K_N_R_L'.split('_'),\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY H:mm',\n LLLL : 'dddd, D. MMMM YYYY H:mm'\n },\n calendar : {\n sameDay : '[Täna,] LT',\n nextDay : '[Homme,] LT',\n nextWeek : '[Järgmine] dddd LT',\n lastDay : '[Eile,] LT',\n lastWeek : '[Eelmine] dddd LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s pärast',\n past : '%s tagasi',\n s : processRelativeTime,\n ss : processRelativeTime,\n m : processRelativeTime,\n mm : processRelativeTime,\n h : processRelativeTime,\n hh : processRelativeTime,\n d : processRelativeTime,\n dd : '%d päeva',\n M : processRelativeTime,\n MM : processRelativeTime,\n y : processRelativeTime,\n yy : processRelativeTime\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return et;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_'),\n monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_');\n\n var esUs = moment.defineLocale('es-us', {\n months : 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'),\n monthsShort : function (m, format) {\n if (!m) {\n return monthsShortDot;\n } else if (/-MMM-/.test(format)) {\n return monthsShort[m.month()];\n } else {\n return monthsShortDot[m.month()];\n }\n },\n monthsParseExact : true,\n weekdays : 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n weekdaysShort : 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n weekdaysMin : 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'h:mm A',\n LTS : 'h:mm:ss A',\n L : 'MM/DD/YYYY',\n LL : 'MMMM [de] D [de] YYYY',\n LLL : 'MMMM [de] D [de] YYYY h:mm A',\n LLLL : 'dddd, MMMM [de] D [de] YYYY h:mm A'\n },\n calendar : {\n sameDay : function () {\n return '[hoy a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n nextDay : function () {\n return '[mañana a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n nextWeek : function () {\n return 'dddd [a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n lastDay : function () {\n return '[ayer a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n lastWeek : function () {\n return '[el] dddd [pasado a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'en %s',\n past : 'hace %s',\n s : 'unos segundos',\n ss : '%d segundos',\n m : 'un minuto',\n mm : '%d minutos',\n h : 'una hora',\n hh : '%d horas',\n d : 'un día',\n dd : '%d días',\n M : 'un mes',\n MM : '%d meses',\n y : 'un año',\n yy : '%d años'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}º/,\n ordinal : '%dº',\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return esUs;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_'),\n monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_');\n\n var monthsParse = [/^ene/i, /^feb/i, /^mar/i, /^abr/i, /^may/i, /^jun/i, /^jul/i, /^ago/i, /^sep/i, /^oct/i, /^nov/i, /^dic/i];\n var monthsRegex = /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n\n var esDo = moment.defineLocale('es-do', {\n months : 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'),\n monthsShort : function (m, format) {\n if (!m) {\n return monthsShortDot;\n } else if (/-MMM-/.test(format)) {\n return monthsShort[m.month()];\n } else {\n return monthsShortDot[m.month()];\n }\n },\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n monthsShortStrictRegex: /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n weekdays : 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n weekdaysShort : 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n weekdaysMin : 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'h:mm A',\n LTS : 'h:mm:ss A',\n L : 'DD/MM/YYYY',\n LL : 'D [de] MMMM [de] YYYY',\n LLL : 'D [de] MMMM [de] YYYY h:mm A',\n LLLL : 'dddd, D [de] MMMM [de] YYYY h:mm A'\n },\n calendar : {\n sameDay : function () {\n return '[hoy a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n nextDay : function () {\n return '[mañana a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n nextWeek : function () {\n return 'dddd [a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n lastDay : function () {\n return '[ayer a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n lastWeek : function () {\n return '[el] dddd [pasado a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'en %s',\n past : 'hace %s',\n s : 'unos segundos',\n ss : '%d segundos',\n m : 'un minuto',\n mm : '%d minutos',\n h : 'una hora',\n hh : '%d horas',\n d : 'un día',\n dd : '%d días',\n M : 'un mes',\n MM : '%d meses',\n y : 'un año',\n yy : '%d años'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}º/,\n ordinal : '%dº',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return esDo;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_'),\n monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_');\n\n var monthsParse = [/^ene/i, /^feb/i, /^mar/i, /^abr/i, /^may/i, /^jun/i, /^jul/i, /^ago/i, /^sep/i, /^oct/i, /^nov/i, /^dic/i];\n var monthsRegex = /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n\n var es = moment.defineLocale('es', {\n months : 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'),\n monthsShort : function (m, format) {\n if (!m) {\n return monthsShortDot;\n } else if (/-MMM-/.test(format)) {\n return monthsShort[m.month()];\n } else {\n return monthsShortDot[m.month()];\n }\n },\n monthsRegex : monthsRegex,\n monthsShortRegex : monthsRegex,\n monthsStrictRegex : /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n monthsShortStrictRegex : /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n monthsParse : monthsParse,\n longMonthsParse : monthsParse,\n shortMonthsParse : monthsParse,\n weekdays : 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n weekdaysShort : 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n weekdaysMin : 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D [de] MMMM [de] YYYY',\n LLL : 'D [de] MMMM [de] YYYY H:mm',\n LLLL : 'dddd, D [de] MMMM [de] YYYY H:mm'\n },\n calendar : {\n sameDay : function () {\n return '[hoy a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n nextDay : function () {\n return '[mañana a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n nextWeek : function () {\n return 'dddd [a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n lastDay : function () {\n return '[ayer a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n lastWeek : function () {\n return '[el] dddd [pasado a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'en %s',\n past : 'hace %s',\n s : 'unos segundos',\n ss : '%d segundos',\n m : 'un minuto',\n mm : '%d minutos',\n h : 'una hora',\n hh : '%d horas',\n d : 'un día',\n dd : '%d días',\n M : 'un mes',\n MM : '%d meses',\n y : 'un año',\n yy : '%d años'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}º/,\n ordinal : '%dº',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return es;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var eo = moment.defineLocale('eo', {\n months : 'januaro_februaro_marto_aprilo_majo_junio_julio_aŭgusto_septembro_oktobro_novembro_decembro'.split('_'),\n monthsShort : 'jan_feb_mar_apr_maj_jun_jul_aŭg_sep_okt_nov_dec'.split('_'),\n weekdays : 'dimanĉo_lundo_mardo_merkredo_ĵaŭdo_vendredo_sabato'.split('_'),\n weekdaysShort : 'dim_lun_mard_merk_ĵaŭ_ven_sab'.split('_'),\n weekdaysMin : 'di_lu_ma_me_ĵa_ve_sa'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY-MM-DD',\n LL : 'D[-a de] MMMM, YYYY',\n LLL : 'D[-a de] MMMM, YYYY HH:mm',\n LLLL : 'dddd, [la] D[-a de] MMMM, YYYY HH:mm'\n },\n meridiemParse: /[ap]\\.t\\.m/i,\n isPM: function (input) {\n return input.charAt(0).toLowerCase() === 'p';\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'p.t.m.' : 'P.T.M.';\n } else {\n return isLower ? 'a.t.m.' : 'A.T.M.';\n }\n },\n calendar : {\n sameDay : '[Hodiaŭ je] LT',\n nextDay : '[Morgaŭ je] LT',\n nextWeek : 'dddd [je] LT',\n lastDay : '[Hieraŭ je] LT',\n lastWeek : '[pasinta] dddd [je] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'post %s',\n past : 'antaŭ %s',\n s : 'sekundoj',\n ss : '%d sekundoj',\n m : 'minuto',\n mm : '%d minutoj',\n h : 'horo',\n hh : '%d horoj',\n d : 'tago',//ne 'diurno', ĉar estas uzita por proksimumo\n dd : '%d tagoj',\n M : 'monato',\n MM : '%d monatoj',\n y : 'jaro',\n yy : '%d jaroj'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}a/,\n ordinal : '%da',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return eo;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var enNz = moment.defineLocale('en-nz', {\n months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat : {\n LT : 'h:mm A',\n LTS : 'h:mm:ss A',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY h:mm A',\n LLLL : 'dddd, D MMMM YYYY h:mm A'\n },\n calendar : {\n sameDay : '[Today at] LT',\n nextDay : '[Tomorrow at] LT',\n nextWeek : 'dddd [at] LT',\n lastDay : '[Yesterday at] LT',\n lastWeek : '[Last] dddd [at] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'in %s',\n past : '%s ago',\n s : 'a few seconds',\n ss : '%d seconds',\n m : 'a minute',\n mm : '%d minutes',\n h : 'an hour',\n hh : '%d hours',\n d : 'a day',\n dd : '%d days',\n M : 'a month',\n MM : '%d months',\n y : 'a year',\n yy : '%d years'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return enNz;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var enIl = moment.defineLocale('en-il', {\n months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Today at] LT',\n nextDay : '[Tomorrow at] LT',\n nextWeek : 'dddd [at] LT',\n lastDay : '[Yesterday at] LT',\n lastWeek : '[Last] dddd [at] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'in %s',\n past : '%s ago',\n s : 'a few seconds',\n m : 'a minute',\n mm : '%d minutes',\n h : 'an hour',\n hh : '%d hours',\n d : 'a day',\n dd : '%d days',\n M : 'a month',\n MM : '%d months',\n y : 'a year',\n yy : '%d years'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n }\n });\n\n return enIl;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var enIe = moment.defineLocale('en-ie', {\n months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD-MM-YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Today at] LT',\n nextDay : '[Tomorrow at] LT',\n nextWeek : 'dddd [at] LT',\n lastDay : '[Yesterday at] LT',\n lastWeek : '[Last] dddd [at] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'in %s',\n past : '%s ago',\n s : 'a few seconds',\n ss : '%d seconds',\n m : 'a minute',\n mm : '%d minutes',\n h : 'an hour',\n hh : '%d hours',\n d : 'a day',\n dd : '%d days',\n M : 'a month',\n MM : '%d months',\n y : 'a year',\n yy : '%d years'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return enIe;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var enGb = moment.defineLocale('en-gb', {\n months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Today at] LT',\n nextDay : '[Tomorrow at] LT',\n nextWeek : 'dddd [at] LT',\n lastDay : '[Yesterday at] LT',\n lastWeek : '[Last] dddd [at] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'in %s',\n past : '%s ago',\n s : 'a few seconds',\n ss : '%d seconds',\n m : 'a minute',\n mm : '%d minutes',\n h : 'an hour',\n hh : '%d hours',\n d : 'a day',\n dd : '%d days',\n M : 'a month',\n MM : '%d months',\n y : 'a year',\n yy : '%d years'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return enGb;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var enCa = moment.defineLocale('en-ca', {\n months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat : {\n LT : 'h:mm A',\n LTS : 'h:mm:ss A',\n L : 'YYYY-MM-DD',\n LL : 'MMMM D, YYYY',\n LLL : 'MMMM D, YYYY h:mm A',\n LLLL : 'dddd, MMMM D, YYYY h:mm A'\n },\n calendar : {\n sameDay : '[Today at] LT',\n nextDay : '[Tomorrow at] LT',\n nextWeek : 'dddd [at] LT',\n lastDay : '[Yesterday at] LT',\n lastWeek : '[Last] dddd [at] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'in %s',\n past : '%s ago',\n s : 'a few seconds',\n ss : '%d seconds',\n m : 'a minute',\n mm : '%d minutes',\n h : 'an hour',\n hh : '%d hours',\n d : 'a day',\n dd : '%d days',\n M : 'a month',\n MM : '%d months',\n y : 'a year',\n yy : '%d years'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n }\n });\n\n return enCa;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var enAu = moment.defineLocale('en-au', {\n months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat : {\n LT : 'h:mm A',\n LTS : 'h:mm:ss A',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY h:mm A',\n LLLL : 'dddd, D MMMM YYYY h:mm A'\n },\n calendar : {\n sameDay : '[Today at] LT',\n nextDay : '[Tomorrow at] LT',\n nextWeek : 'dddd [at] LT',\n lastDay : '[Yesterday at] LT',\n lastWeek : '[Last] dddd [at] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'in %s',\n past : '%s ago',\n s : 'a few seconds',\n ss : '%d seconds',\n m : 'a minute',\n mm : '%d minutes',\n h : 'an hour',\n hh : '%d hours',\n d : 'a day',\n dd : '%d days',\n M : 'a month',\n MM : '%d months',\n y : 'a year',\n yy : '%d years'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return enAu;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n function isFunction(input) {\n return input instanceof Function || Object.prototype.toString.call(input) === '[object Function]';\n }\n\n\n var el = moment.defineLocale('el', {\n monthsNominativeEl : 'Ιανουάριος_Φεβρουάριος_Μάρτιος_Απρίλιος_Μάιος_Ιούνιος_Ιούλιος_Αύγουστος_Σεπτέμβριος_Οκτώβριος_Νοέμβριος_Δεκέμβριος'.split('_'),\n monthsGenitiveEl : 'Ιανουαρίου_Φεβρουαρίου_Μαρτίου_Απριλίου_Μαΐου_Ιουνίου_Ιουλίου_Αυγούστου_Σεπτεμβρίου_Οκτωβρίου_Νοεμβρίου_Δεκεμβρίου'.split('_'),\n months : function (momentToFormat, format) {\n if (!momentToFormat) {\n return this._monthsNominativeEl;\n } else if (typeof format === 'string' && /D/.test(format.substring(0, format.indexOf('MMMM')))) { // if there is a day number before 'MMMM'\n return this._monthsGenitiveEl[momentToFormat.month()];\n } else {\n return this._monthsNominativeEl[momentToFormat.month()];\n }\n },\n monthsShort : 'Ιαν_Φεβ_Μαρ_Απρ_Μαϊ_Ιουν_Ιουλ_Αυγ_Σεπ_Οκτ_Νοε_Δεκ'.split('_'),\n weekdays : 'Κυριακή_Δευτέρα_Τρίτη_Τετάρτη_Πέμπτη_Παρασκευή_Σάββατο'.split('_'),\n weekdaysShort : 'Κυρ_Δευ_Τρι_Τετ_Πεμ_Παρ_Σαβ'.split('_'),\n weekdaysMin : 'Κυ_Δε_Τρ_Τε_Πε_Πα_Σα'.split('_'),\n meridiem : function (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'μμ' : 'ΜΜ';\n } else {\n return isLower ? 'πμ' : 'ΠΜ';\n }\n },\n isPM : function (input) {\n return ((input + '').toLowerCase()[0] === 'μ');\n },\n meridiemParse : /[ΠΜ]\\.?Μ?\\.?/i,\n longDateFormat : {\n LT : 'h:mm A',\n LTS : 'h:mm:ss A',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY h:mm A',\n LLLL : 'dddd, D MMMM YYYY h:mm A'\n },\n calendarEl : {\n sameDay : '[Σήμερα {}] LT',\n nextDay : '[Αύριο {}] LT',\n nextWeek : 'dddd [{}] LT',\n lastDay : '[Χθες {}] LT',\n lastWeek : function () {\n switch (this.day()) {\n case 6:\n return '[το προηγούμενο] dddd [{}] LT';\n default:\n return '[την προηγούμενη] dddd [{}] LT';\n }\n },\n sameElse : 'L'\n },\n calendar : function (key, mom) {\n var output = this._calendarEl[key],\n hours = mom && mom.hours();\n if (isFunction(output)) {\n output = output.apply(mom);\n }\n return output.replace('{}', (hours % 12 === 1 ? 'στη' : 'στις'));\n },\n relativeTime : {\n future : 'σε %s',\n past : '%s πριν',\n s : 'λίγα δευτερόλεπτα',\n ss : '%d δευτερόλεπτα',\n m : 'ένα λεπτό',\n mm : '%d λεπτά',\n h : 'μία ώρα',\n hh : '%d ώρες',\n d : 'μία μέρα',\n dd : '%d μέρες',\n M : 'ένας μήνας',\n MM : '%d μήνες',\n y : 'ένας χρόνος',\n yy : '%d χρόνια'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}η/,\n ordinal: '%dη',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4st is the first week of the year.\n }\n });\n\n return el;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var months = [\n 'ޖެނުއަރީ',\n 'ފެބްރުއަރީ',\n 'މާރިޗު',\n 'އޭޕްރީލު',\n 'މޭ',\n 'ޖޫން',\n 'ޖުލައި',\n 'އޯގަސްޓު',\n 'ސެޕްޓެމްބަރު',\n 'އޮކްޓޯބަރު',\n 'ނޮވެމްބަރު',\n 'ޑިސެމްބަރު'\n ], weekdays = [\n 'އާދިއްތަ',\n 'ހޯމަ',\n 'އަންގާރަ',\n 'ބުދަ',\n 'ބުރާސްފަތި',\n 'ހުކުރު',\n 'ހޮނިހިރު'\n ];\n\n var dv = moment.defineLocale('dv', {\n months : months,\n monthsShort : months,\n weekdays : weekdays,\n weekdaysShort : weekdays,\n weekdaysMin : 'އާދި_ހޯމަ_އަން_ބުދަ_ބުރާ_ހުކު_ހޮނި'.split('_'),\n longDateFormat : {\n\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'D/M/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n meridiemParse: /މކ|މފ/,\n isPM : function (input) {\n return 'މފ' === input;\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'މކ';\n } else {\n return 'މފ';\n }\n },\n calendar : {\n sameDay : '[މިއަދު] LT',\n nextDay : '[މާދަމާ] LT',\n nextWeek : 'dddd LT',\n lastDay : '[އިއްޔެ] LT',\n lastWeek : '[ފާއިތުވި] dddd LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'ތެރޭގައި %s',\n past : 'ކުރިން %s',\n s : 'ސިކުންތުކޮޅެއް',\n ss : 'd% ސިކުންތު',\n m : 'މިނިޓެއް',\n mm : 'މިނިޓު %d',\n h : 'ގަޑިއިރެއް',\n hh : 'ގަޑިއިރު %d',\n d : 'ދުވަހެއް',\n dd : 'ދުވަސް %d',\n M : 'މަހެއް',\n MM : 'މަސް %d',\n y : 'އަހަރެއް',\n yy : 'އަހަރު %d'\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/,/g, '،');\n },\n week : {\n dow : 7, // Sunday is the first day of the week.\n doy : 12 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return dv;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n 'm': ['eine Minute', 'einer Minute'],\n 'h': ['eine Stunde', 'einer Stunde'],\n 'd': ['ein Tag', 'einem Tag'],\n 'dd': [number + ' Tage', number + ' Tagen'],\n 'M': ['ein Monat', 'einem Monat'],\n 'MM': [number + ' Monate', number + ' Monaten'],\n 'y': ['ein Jahr', 'einem Jahr'],\n 'yy': [number + ' Jahre', number + ' Jahren']\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n\n var deCh = moment.defineLocale('de-ch', {\n months : 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),\n monthsShort : 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),\n monthsParseExact : true,\n weekdays : 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'),\n weekdaysShort : 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n weekdaysMin : 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY HH:mm',\n LLLL : 'dddd, D. MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[heute um] LT [Uhr]',\n sameElse: 'L',\n nextDay: '[morgen um] LT [Uhr]',\n nextWeek: 'dddd [um] LT [Uhr]',\n lastDay: '[gestern um] LT [Uhr]',\n lastWeek: '[letzten] dddd [um] LT [Uhr]'\n },\n relativeTime : {\n future : 'in %s',\n past : 'vor %s',\n s : 'ein paar Sekunden',\n ss : '%d Sekunden',\n m : processRelativeTime,\n mm : '%d Minuten',\n h : processRelativeTime,\n hh : '%d Stunden',\n d : processRelativeTime,\n dd : processRelativeTime,\n M : processRelativeTime,\n MM : processRelativeTime,\n y : processRelativeTime,\n yy : processRelativeTime\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return deCh;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n 'm': ['eine Minute', 'einer Minute'],\n 'h': ['eine Stunde', 'einer Stunde'],\n 'd': ['ein Tag', 'einem Tag'],\n 'dd': [number + ' Tage', number + ' Tagen'],\n 'M': ['ein Monat', 'einem Monat'],\n 'MM': [number + ' Monate', number + ' Monaten'],\n 'y': ['ein Jahr', 'einem Jahr'],\n 'yy': [number + ' Jahre', number + ' Jahren']\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n\n var deAt = moment.defineLocale('de-at', {\n months : 'Jänner_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),\n monthsShort : 'Jän._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),\n monthsParseExact : true,\n weekdays : 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'),\n weekdaysShort : 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'),\n weekdaysMin : 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY HH:mm',\n LLLL : 'dddd, D. MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[heute um] LT [Uhr]',\n sameElse: 'L',\n nextDay: '[morgen um] LT [Uhr]',\n nextWeek: 'dddd [um] LT [Uhr]',\n lastDay: '[gestern um] LT [Uhr]',\n lastWeek: '[letzten] dddd [um] LT [Uhr]'\n },\n relativeTime : {\n future : 'in %s',\n past : 'vor %s',\n s : 'ein paar Sekunden',\n ss : '%d Sekunden',\n m : processRelativeTime,\n mm : '%d Minuten',\n h : processRelativeTime,\n hh : '%d Stunden',\n d : processRelativeTime,\n dd : processRelativeTime,\n M : processRelativeTime,\n MM : processRelativeTime,\n y : processRelativeTime,\n yy : processRelativeTime\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return deAt;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n 'm': ['eine Minute', 'einer Minute'],\n 'h': ['eine Stunde', 'einer Stunde'],\n 'd': ['ein Tag', 'einem Tag'],\n 'dd': [number + ' Tage', number + ' Tagen'],\n 'M': ['ein Monat', 'einem Monat'],\n 'MM': [number + ' Monate', number + ' Monaten'],\n 'y': ['ein Jahr', 'einem Jahr'],\n 'yy': [number + ' Jahre', number + ' Jahren']\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n\n var de = moment.defineLocale('de', {\n months : 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),\n monthsShort : 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),\n monthsParseExact : true,\n weekdays : 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'),\n weekdaysShort : 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'),\n weekdaysMin : 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY HH:mm',\n LLLL : 'dddd, D. MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[heute um] LT [Uhr]',\n sameElse: 'L',\n nextDay: '[morgen um] LT [Uhr]',\n nextWeek: 'dddd [um] LT [Uhr]',\n lastDay: '[gestern um] LT [Uhr]',\n lastWeek: '[letzten] dddd [um] LT [Uhr]'\n },\n relativeTime : {\n future : 'in %s',\n past : 'vor %s',\n s : 'ein paar Sekunden',\n ss : '%d Sekunden',\n m : processRelativeTime,\n mm : '%d Minuten',\n h : processRelativeTime,\n hh : '%d Stunden',\n d : processRelativeTime,\n dd : processRelativeTime,\n M : processRelativeTime,\n MM : processRelativeTime,\n y : processRelativeTime,\n yy : processRelativeTime\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return de;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var da = moment.defineLocale('da', {\n months : 'januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december'.split('_'),\n monthsShort : 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n weekdays : 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),\n weekdaysShort : 'søn_man_tir_ons_tor_fre_lør'.split('_'),\n weekdaysMin : 'sø_ma_ti_on_to_fr_lø'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY HH:mm',\n LLLL : 'dddd [d.] D. MMMM YYYY [kl.] HH:mm'\n },\n calendar : {\n sameDay : '[i dag kl.] LT',\n nextDay : '[i morgen kl.] LT',\n nextWeek : 'på dddd [kl.] LT',\n lastDay : '[i går kl.] LT',\n lastWeek : '[i] dddd[s kl.] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'om %s',\n past : '%s siden',\n s : 'få sekunder',\n ss : '%d sekunder',\n m : 'et minut',\n mm : '%d minutter',\n h : 'en time',\n hh : '%d timer',\n d : 'en dag',\n dd : '%d dage',\n M : 'en måned',\n MM : '%d måneder',\n y : 'et år',\n yy : '%d år'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return da;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var cy = moment.defineLocale('cy', {\n months: 'Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr'.split('_'),\n monthsShort: 'Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag'.split('_'),\n weekdays: 'Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn'.split('_'),\n weekdaysShort: 'Sul_Llun_Maw_Mer_Iau_Gwe_Sad'.split('_'),\n weekdaysMin: 'Su_Ll_Ma_Me_Ia_Gw_Sa'.split('_'),\n weekdaysParseExact : true,\n // time formats are the same as en-gb\n longDateFormat: {\n LT: 'HH:mm',\n LTS : 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Heddiw am] LT',\n nextDay: '[Yfory am] LT',\n nextWeek: 'dddd [am] LT',\n lastDay: '[Ddoe am] LT',\n lastWeek: 'dddd [diwethaf am] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'mewn %s',\n past: '%s yn ôl',\n s: 'ychydig eiliadau',\n ss: '%d eiliad',\n m: 'munud',\n mm: '%d munud',\n h: 'awr',\n hh: '%d awr',\n d: 'diwrnod',\n dd: '%d diwrnod',\n M: 'mis',\n MM: '%d mis',\n y: 'blwyddyn',\n yy: '%d flynedd'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(fed|ain|af|il|ydd|ed|eg)/,\n // traditional ordinal numbers above 31 are not commonly used in colloquial Welsh\n ordinal: function (number) {\n var b = number,\n output = '',\n lookup = [\n '', 'af', 'il', 'ydd', 'ydd', 'ed', 'ed', 'ed', 'fed', 'fed', 'fed', // 1af to 10fed\n 'eg', 'fed', 'eg', 'eg', 'fed', 'eg', 'eg', 'fed', 'eg', 'fed' // 11eg to 20fed\n ];\n if (b > 20) {\n if (b === 40 || b === 50 || b === 60 || b === 80 || b === 100) {\n output = 'fed'; // not 30ain, 70ain or 90ain\n } else {\n output = 'ain';\n }\n } else if (b > 0) {\n output = lookup[b];\n }\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return cy;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var cv = moment.defineLocale('cv', {\n months : 'кӑрлач_нарӑс_пуш_ака_май_ҫӗртме_утӑ_ҫурла_авӑн_юпа_чӳк_раштав'.split('_'),\n monthsShort : 'кӑр_нар_пуш_ака_май_ҫӗр_утӑ_ҫур_авн_юпа_чӳк_раш'.split('_'),\n weekdays : 'вырсарникун_тунтикун_ытларикун_юнкун_кӗҫнерникун_эрнекун_шӑматкун'.split('_'),\n weekdaysShort : 'выр_тун_ытл_юн_кӗҫ_эрн_шӑм'.split('_'),\n weekdaysMin : 'вр_тн_ыт_юн_кҫ_эр_шм'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD-MM-YYYY',\n LL : 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ]',\n LLL : 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm',\n LLLL : 'dddd, YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm'\n },\n calendar : {\n sameDay: '[Паян] LT [сехетре]',\n nextDay: '[Ыран] LT [сехетре]',\n lastDay: '[Ӗнер] LT [сехетре]',\n nextWeek: '[Ҫитес] dddd LT [сехетре]',\n lastWeek: '[Иртнӗ] dddd LT [сехетре]',\n sameElse: 'L'\n },\n relativeTime : {\n future : function (output) {\n var affix = /сехет$/i.exec(output) ? 'рен' : /ҫул$/i.exec(output) ? 'тан' : 'ран';\n return output + affix;\n },\n past : '%s каялла',\n s : 'пӗр-ик ҫеккунт',\n ss : '%d ҫеккунт',\n m : 'пӗр минут',\n mm : '%d минут',\n h : 'пӗр сехет',\n hh : '%d сехет',\n d : 'пӗр кун',\n dd : '%d кун',\n M : 'пӗр уйӑх',\n MM : '%d уйӑх',\n y : 'пӗр ҫул',\n yy : '%d ҫул'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-мӗш/,\n ordinal : '%d-мӗш',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return cv;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var months = 'leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec'.split('_'),\n monthsShort = 'led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro'.split('_');\n function plural(n) {\n return (n > 1) && (n < 5) && (~~(n / 10) !== 1);\n }\n function translate(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n switch (key) {\n case 's': // a few seconds / in a few seconds / a few seconds ago\n return (withoutSuffix || isFuture) ? 'pár sekund' : 'pár sekundami';\n case 'ss': // 9 seconds / in 9 seconds / 9 seconds ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'sekundy' : 'sekund');\n } else {\n return result + 'sekundami';\n }\n break;\n case 'm': // a minute / in a minute / a minute ago\n return withoutSuffix ? 'minuta' : (isFuture ? 'minutu' : 'minutou');\n case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'minuty' : 'minut');\n } else {\n return result + 'minutami';\n }\n break;\n case 'h': // an hour / in an hour / an hour ago\n return withoutSuffix ? 'hodina' : (isFuture ? 'hodinu' : 'hodinou');\n case 'hh': // 9 hours / in 9 hours / 9 hours ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'hodiny' : 'hodin');\n } else {\n return result + 'hodinami';\n }\n break;\n case 'd': // a day / in a day / a day ago\n return (withoutSuffix || isFuture) ? 'den' : 'dnem';\n case 'dd': // 9 days / in 9 days / 9 days ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'dny' : 'dní');\n } else {\n return result + 'dny';\n }\n break;\n case 'M': // a month / in a month / a month ago\n return (withoutSuffix || isFuture) ? 'měsíc' : 'měsícem';\n case 'MM': // 9 months / in 9 months / 9 months ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'měsíce' : 'měsíců');\n } else {\n return result + 'měsíci';\n }\n break;\n case 'y': // a year / in a year / a year ago\n return (withoutSuffix || isFuture) ? 'rok' : 'rokem';\n case 'yy': // 9 years / in 9 years / 9 years ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'roky' : 'let');\n } else {\n return result + 'lety';\n }\n break;\n }\n }\n\n var cs = moment.defineLocale('cs', {\n months : months,\n monthsShort : monthsShort,\n monthsParse : (function (months, monthsShort) {\n var i, _monthsParse = [];\n for (i = 0; i < 12; i++) {\n // use custom parser to solve problem with July (červenec)\n _monthsParse[i] = new RegExp('^' + months[i] + '$|^' + monthsShort[i] + '$', 'i');\n }\n return _monthsParse;\n }(months, monthsShort)),\n shortMonthsParse : (function (monthsShort) {\n var i, _shortMonthsParse = [];\n for (i = 0; i < 12; i++) {\n _shortMonthsParse[i] = new RegExp('^' + monthsShort[i] + '$', 'i');\n }\n return _shortMonthsParse;\n }(monthsShort)),\n longMonthsParse : (function (months) {\n var i, _longMonthsParse = [];\n for (i = 0; i < 12; i++) {\n _longMonthsParse[i] = new RegExp('^' + months[i] + '$', 'i');\n }\n return _longMonthsParse;\n }(months)),\n weekdays : 'neděle_pondělí_úterý_středa_čtvrtek_pátek_sobota'.split('_'),\n weekdaysShort : 'ne_po_út_st_čt_pá_so'.split('_'),\n weekdaysMin : 'ne_po_út_st_čt_pá_so'.split('_'),\n longDateFormat : {\n LT: 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY H:mm',\n LLLL : 'dddd D. MMMM YYYY H:mm',\n l : 'D. M. YYYY'\n },\n calendar : {\n sameDay: '[dnes v] LT',\n nextDay: '[zítra v] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[v neděli v] LT';\n case 1:\n case 2:\n return '[v] dddd [v] LT';\n case 3:\n return '[ve středu v] LT';\n case 4:\n return '[ve čtvrtek v] LT';\n case 5:\n return '[v pátek v] LT';\n case 6:\n return '[v sobotu v] LT';\n }\n },\n lastDay: '[včera v] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[minulou neděli v] LT';\n case 1:\n case 2:\n return '[minulé] dddd [v] LT';\n case 3:\n return '[minulou středu v] LT';\n case 4:\n case 5:\n return '[minulý] dddd [v] LT';\n case 6:\n return '[minulou sobotu v] LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : 'za %s',\n past : 'před %s',\n s : translate,\n ss : translate,\n m : translate,\n mm : translate,\n h : translate,\n hh : translate,\n d : translate,\n dd : translate,\n M : translate,\n MM : translate,\n y : translate,\n yy : translate\n },\n dayOfMonthOrdinalParse : /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return cs;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var ca = moment.defineLocale('ca', {\n months : {\n standalone: 'gener_febrer_març_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre'.split('_'),\n format: 'de gener_de febrer_de març_d\\'abril_de maig_de juny_de juliol_d\\'agost_de setembre_d\\'octubre_de novembre_de desembre'.split('_'),\n isFormat: /D[oD]?(\\s)+MMMM/\n },\n monthsShort : 'gen._febr._març_abr._maig_juny_jul._ag._set._oct._nov._des.'.split('_'),\n monthsParseExact : true,\n weekdays : 'diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte'.split('_'),\n weekdaysShort : 'dg._dl._dt._dc._dj._dv._ds.'.split('_'),\n weekdaysMin : 'dg_dl_dt_dc_dj_dv_ds'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM [de] YYYY',\n ll : 'D MMM YYYY',\n LLL : 'D MMMM [de] YYYY [a les] H:mm',\n lll : 'D MMM YYYY, H:mm',\n LLLL : 'dddd D MMMM [de] YYYY [a les] H:mm',\n llll : 'ddd D MMM YYYY, H:mm'\n },\n calendar : {\n sameDay : function () {\n return '[avui a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';\n },\n nextDay : function () {\n return '[demà a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';\n },\n nextWeek : function () {\n return 'dddd [a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';\n },\n lastDay : function () {\n return '[ahir a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';\n },\n lastWeek : function () {\n return '[el] dddd [passat a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'd\\'aquí %s',\n past : 'fa %s',\n s : 'uns segons',\n ss : '%d segons',\n m : 'un minut',\n mm : '%d minuts',\n h : 'una hora',\n hh : '%d hores',\n d : 'un dia',\n dd : '%d dies',\n M : 'un mes',\n MM : '%d mesos',\n y : 'un any',\n yy : '%d anys'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(r|n|t|è|a)/,\n ordinal : function (number, period) {\n var output = (number === 1) ? 'r' :\n (number === 2) ? 'n' :\n (number === 3) ? 'r' :\n (number === 4) ? 't' : 'è';\n if (period === 'w' || period === 'W') {\n output = 'a';\n }\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return ca;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function translate(number, withoutSuffix, key) {\n var result = number + ' ';\n switch (key) {\n case 'ss':\n if (number === 1) {\n result += 'sekunda';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sekunde';\n } else {\n result += 'sekundi';\n }\n return result;\n case 'm':\n return withoutSuffix ? 'jedna minuta' : 'jedne minute';\n case 'mm':\n if (number === 1) {\n result += 'minuta';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'minute';\n } else {\n result += 'minuta';\n }\n return result;\n case 'h':\n return withoutSuffix ? 'jedan sat' : 'jednog sata';\n case 'hh':\n if (number === 1) {\n result += 'sat';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sata';\n } else {\n result += 'sati';\n }\n return result;\n case 'dd':\n if (number === 1) {\n result += 'dan';\n } else {\n result += 'dana';\n }\n return result;\n case 'MM':\n if (number === 1) {\n result += 'mjesec';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'mjeseca';\n } else {\n result += 'mjeseci';\n }\n return result;\n case 'yy':\n if (number === 1) {\n result += 'godina';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'godine';\n } else {\n result += 'godina';\n }\n return result;\n }\n }\n\n var bs = moment.defineLocale('bs', {\n months : 'januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar'.split('_'),\n monthsShort : 'jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays : 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split('_'),\n weekdaysShort : 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n weekdaysMin : 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY H:mm',\n LLLL : 'dddd, D. MMMM YYYY H:mm'\n },\n calendar : {\n sameDay : '[danas u] LT',\n nextDay : '[sutra u] LT',\n nextWeek : function () {\n switch (this.day()) {\n case 0:\n return '[u] [nedjelju] [u] LT';\n case 3:\n return '[u] [srijedu] [u] LT';\n case 6:\n return '[u] [subotu] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay : '[jučer u] LT',\n lastWeek : function () {\n switch (this.day()) {\n case 0:\n case 3:\n return '[prošlu] dddd [u] LT';\n case 6:\n return '[prošle] [subote] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[prošli] dddd [u] LT';\n }\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'za %s',\n past : 'prije %s',\n s : 'par sekundi',\n ss : translate,\n m : translate,\n mm : translate,\n h : translate,\n hh : translate,\n d : 'dan',\n dd : translate,\n M : 'mjesec',\n MM : translate,\n y : 'godinu',\n yy : translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return bs;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function relativeTimeWithMutation(number, withoutSuffix, key) {\n var format = {\n 'mm': 'munutenn',\n 'MM': 'miz',\n 'dd': 'devezh'\n };\n return number + ' ' + mutation(format[key], number);\n }\n function specialMutationForYears(number) {\n switch (lastNumber(number)) {\n case 1:\n case 3:\n case 4:\n case 5:\n case 9:\n return number + ' bloaz';\n default:\n return number + ' vloaz';\n }\n }\n function lastNumber(number) {\n if (number > 9) {\n return lastNumber(number % 10);\n }\n return number;\n }\n function mutation(text, number) {\n if (number === 2) {\n return softMutation(text);\n }\n return text;\n }\n function softMutation(text) {\n var mutationTable = {\n 'm': 'v',\n 'b': 'v',\n 'd': 'z'\n };\n if (mutationTable[text.charAt(0)] === undefined) {\n return text;\n }\n return mutationTable[text.charAt(0)] + text.substring(1);\n }\n\n var br = moment.defineLocale('br', {\n months : 'Genver_C\\'hwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu'.split('_'),\n monthsShort : 'Gen_C\\'hwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker'.split('_'),\n weekdays : 'Sul_Lun_Meurzh_Merc\\'her_Yaou_Gwener_Sadorn'.split('_'),\n weekdaysShort : 'Sul_Lun_Meu_Mer_Yao_Gwe_Sad'.split('_'),\n weekdaysMin : 'Su_Lu_Me_Mer_Ya_Gw_Sa'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'h[e]mm A',\n LTS : 'h[e]mm:ss A',\n L : 'DD/MM/YYYY',\n LL : 'D [a viz] MMMM YYYY',\n LLL : 'D [a viz] MMMM YYYY h[e]mm A',\n LLLL : 'dddd, D [a viz] MMMM YYYY h[e]mm A'\n },\n calendar : {\n sameDay : '[Hiziv da] LT',\n nextDay : '[Warc\\'hoazh da] LT',\n nextWeek : 'dddd [da] LT',\n lastDay : '[Dec\\'h da] LT',\n lastWeek : 'dddd [paset da] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'a-benn %s',\n past : '%s \\'zo',\n s : 'un nebeud segondennoù',\n ss : '%d eilenn',\n m : 'ur vunutenn',\n mm : relativeTimeWithMutation,\n h : 'un eur',\n hh : '%d eur',\n d : 'un devezh',\n dd : relativeTimeWithMutation,\n M : 'ur miz',\n MM : relativeTimeWithMutation,\n y : 'ur bloaz',\n yy : specialMutationForYears\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(añ|vet)/,\n ordinal : function (number) {\n var output = (number === 1) ? 'añ' : 'vet';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return br;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '༡',\n '2': '༢',\n '3': '༣',\n '4': '༤',\n '5': '༥',\n '6': '༦',\n '7': '༧',\n '8': '༨',\n '9': '༩',\n '0': '༠'\n },\n numberMap = {\n '༡': '1',\n '༢': '2',\n '༣': '3',\n '༤': '4',\n '༥': '5',\n '༦': '6',\n '༧': '7',\n '༨': '8',\n '༩': '9',\n '༠': '0'\n };\n\n var bo = moment.defineLocale('bo', {\n months : 'ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ'.split('_'),\n monthsShort : 'ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ'.split('_'),\n weekdays : 'གཟའ་ཉི་མ་_གཟའ་ཟླ་བ་_གཟའ་མིག་དམར་_གཟའ་ལྷག་པ་_གཟའ་ཕུར་བུ_གཟའ་པ་སངས་_གཟའ་སྤེན་པ་'.split('_'),\n weekdaysShort : 'ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་'.split('_'),\n weekdaysMin : 'ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་'.split('_'),\n longDateFormat : {\n LT : 'A h:mm',\n LTS : 'A h:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, A h:mm',\n LLLL : 'dddd, D MMMM YYYY, A h:mm'\n },\n calendar : {\n sameDay : '[དི་རིང] LT',\n nextDay : '[སང་ཉིན] LT',\n nextWeek : '[བདུན་ཕྲག་རྗེས་མ], LT',\n lastDay : '[ཁ་སང] LT',\n lastWeek : '[བདུན་ཕྲག་མཐའ་མ] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s ལ་',\n past : '%s སྔན་ལ',\n s : 'ལམ་སང',\n ss : '%d སྐར་ཆ།',\n m : 'སྐར་མ་གཅིག',\n mm : '%d སྐར་མ',\n h : 'ཆུ་ཚོད་གཅིག',\n hh : '%d ཆུ་ཚོད',\n d : 'ཉིན་གཅིག',\n dd : '%d ཉིན་',\n M : 'ཟླ་བ་གཅིག',\n MM : '%d ཟླ་བ',\n y : 'ལོ་གཅིག',\n yy : '%d ལོ'\n },\n preparse: function (string) {\n return string.replace(/[༡༢༣༤༥༦༧༨༩༠]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /མཚན་མོ|ཞོགས་ཀས|ཉིན་གུང|དགོང་དག|མཚན་མོ/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if ((meridiem === 'མཚན་མོ' && hour >= 4) ||\n (meridiem === 'ཉིན་གུང' && hour < 5) ||\n meridiem === 'དགོང་དག') {\n return hour + 12;\n } else {\n return hour;\n }\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'མཚན་མོ';\n } else if (hour < 10) {\n return 'ཞོགས་ཀས';\n } else if (hour < 17) {\n return 'ཉིན་གུང';\n } else if (hour < 20) {\n return 'དགོང་དག';\n } else {\n return 'མཚན་མོ';\n }\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return bo;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '১',\n '2': '২',\n '3': '৩',\n '4': '৪',\n '5': '৫',\n '6': '৬',\n '7': '৭',\n '8': '৮',\n '9': '৯',\n '0': '০'\n },\n numberMap = {\n '১': '1',\n '২': '2',\n '৩': '3',\n '৪': '4',\n '৫': '5',\n '৬': '6',\n '৭': '7',\n '৮': '8',\n '৯': '9',\n '০': '0'\n };\n\n var bn = moment.defineLocale('bn', {\n months : 'জানুয়ারী_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর'.split('_'),\n monthsShort : 'জানু_ফেব_মার্চ_এপ্র_মে_জুন_জুল_আগ_সেপ্ট_অক্টো_নভে_ডিসে'.split('_'),\n weekdays : 'রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার'.split('_'),\n weekdaysShort : 'রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি'.split('_'),\n weekdaysMin : 'রবি_সোম_মঙ্গ_বুধ_বৃহঃ_শুক্র_শনি'.split('_'),\n longDateFormat : {\n LT : 'A h:mm সময়',\n LTS : 'A h:mm:ss সময়',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, A h:mm সময়',\n LLLL : 'dddd, D MMMM YYYY, A h:mm সময়'\n },\n calendar : {\n sameDay : '[আজ] LT',\n nextDay : '[আগামীকাল] LT',\n nextWeek : 'dddd, LT',\n lastDay : '[গতকাল] LT',\n lastWeek : '[গত] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s পরে',\n past : '%s আগে',\n s : 'কয়েক সেকেন্ড',\n ss : '%d সেকেন্ড',\n m : 'এক মিনিট',\n mm : '%d মিনিট',\n h : 'এক ঘন্টা',\n hh : '%d ঘন্টা',\n d : 'এক দিন',\n dd : '%d দিন',\n M : 'এক মাস',\n MM : '%d মাস',\n y : 'এক বছর',\n yy : '%d বছর'\n },\n preparse: function (string) {\n return string.replace(/[১২৩৪৫৬৭৮৯০]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /রাত|সকাল|দুপুর|বিকাল|রাত/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if ((meridiem === 'রাত' && hour >= 4) ||\n (meridiem === 'দুপুর' && hour < 5) ||\n meridiem === 'বিকাল') {\n return hour + 12;\n } else {\n return hour;\n }\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'রাত';\n } else if (hour < 10) {\n return 'সকাল';\n } else if (hour < 17) {\n return 'দুপুর';\n } else if (hour < 20) {\n return 'বিকাল';\n } else {\n return 'রাত';\n }\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return bn;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var bm = moment.defineLocale('bm', {\n months : 'Zanwuyekalo_Fewuruyekalo_Marisikalo_Awirilikalo_Mɛkalo_Zuwɛnkalo_Zuluyekalo_Utikalo_Sɛtanburukalo_ɔkutɔburukalo_Nowanburukalo_Desanburukalo'.split('_'),\n monthsShort : 'Zan_Few_Mar_Awi_Mɛ_Zuw_Zul_Uti_Sɛt_ɔku_Now_Des'.split('_'),\n weekdays : 'Kari_Ntɛnɛn_Tarata_Araba_Alamisa_Juma_Sibiri'.split('_'),\n weekdaysShort : 'Kar_Ntɛ_Tar_Ara_Ala_Jum_Sib'.split('_'),\n weekdaysMin : 'Ka_Nt_Ta_Ar_Al_Ju_Si'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'MMMM [tile] D [san] YYYY',\n LLL : 'MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm',\n LLLL : 'dddd MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm'\n },\n calendar : {\n sameDay : '[Bi lɛrɛ] LT',\n nextDay : '[Sini lɛrɛ] LT',\n nextWeek : 'dddd [don lɛrɛ] LT',\n lastDay : '[Kunu lɛrɛ] LT',\n lastWeek : 'dddd [tɛmɛnen lɛrɛ] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s kɔnɔ',\n past : 'a bɛ %s bɔ',\n s : 'sanga dama dama',\n ss : 'sekondi %d',\n m : 'miniti kelen',\n mm : 'miniti %d',\n h : 'lɛrɛ kelen',\n hh : 'lɛrɛ %d',\n d : 'tile kelen',\n dd : 'tile %d',\n M : 'kalo kelen',\n MM : 'kalo %d',\n y : 'san kelen',\n yy : 'san %d'\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return bm;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var bg = moment.defineLocale('bg', {\n months : 'януари_февруари_март_април_май_юни_юли_август_септември_октомври_ноември_декември'.split('_'),\n monthsShort : 'янр_фев_мар_апр_май_юни_юли_авг_сеп_окт_ное_дек'.split('_'),\n weekdays : 'неделя_понеделник_вторник_сряда_четвъртък_петък_събота'.split('_'),\n weekdaysShort : 'нед_пон_вто_сря_чет_пет_съб'.split('_'),\n weekdaysMin : 'нд_пн_вт_ср_чт_пт_сб'.split('_'),\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'D.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY H:mm',\n LLLL : 'dddd, D MMMM YYYY H:mm'\n },\n calendar : {\n sameDay : '[Днес в] LT',\n nextDay : '[Утре в] LT',\n nextWeek : 'dddd [в] LT',\n lastDay : '[Вчера в] LT',\n lastWeek : function () {\n switch (this.day()) {\n case 0:\n case 3:\n case 6:\n return '[В изминалата] dddd [в] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[В изминалия] dddd [в] LT';\n }\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'след %s',\n past : 'преди %s',\n s : 'няколко секунди',\n ss : '%d секунди',\n m : 'минута',\n mm : '%d минути',\n h : 'час',\n hh : '%d часа',\n d : 'ден',\n dd : '%d дни',\n M : 'месец',\n MM : '%d месеца',\n y : 'година',\n yy : '%d години'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ев|ен|ти|ви|ри|ми)/,\n ordinal : function (number) {\n var lastDigit = number % 10,\n last2Digits = number % 100;\n if (number === 0) {\n return number + '-ев';\n } else if (last2Digits === 0) {\n return number + '-ен';\n } else if (last2Digits > 10 && last2Digits < 20) {\n return number + '-ти';\n } else if (lastDigit === 1) {\n return number + '-ви';\n } else if (lastDigit === 2) {\n return number + '-ри';\n } else if (lastDigit === 7 || lastDigit === 8) {\n return number + '-ми';\n } else {\n return number + '-ти';\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return bg;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function plural(word, num) {\n var forms = word.split('_');\n return num % 10 === 1 && num % 100 !== 11 ? forms[0] : (num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) ? forms[1] : forms[2]);\n }\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n var format = {\n 'ss': withoutSuffix ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд',\n 'mm': withoutSuffix ? 'хвіліна_хвіліны_хвілін' : 'хвіліну_хвіліны_хвілін',\n 'hh': withoutSuffix ? 'гадзіна_гадзіны_гадзін' : 'гадзіну_гадзіны_гадзін',\n 'dd': 'дзень_дні_дзён',\n 'MM': 'месяц_месяцы_месяцаў',\n 'yy': 'год_гады_гадоў'\n };\n if (key === 'm') {\n return withoutSuffix ? 'хвіліна' : 'хвіліну';\n }\n else if (key === 'h') {\n return withoutSuffix ? 'гадзіна' : 'гадзіну';\n }\n else {\n return number + ' ' + plural(format[key], +number);\n }\n }\n\n var be = moment.defineLocale('be', {\n months : {\n format: 'студзеня_лютага_сакавіка_красавіка_траўня_чэрвеня_ліпеня_жніўня_верасня_кастрычніка_лістапада_снежня'.split('_'),\n standalone: 'студзень_люты_сакавік_красавік_травень_чэрвень_ліпень_жнівень_верасень_кастрычнік_лістапад_снежань'.split('_')\n },\n monthsShort : 'студ_лют_сак_крас_трав_чэрв_ліп_жнів_вер_каст_ліст_снеж'.split('_'),\n weekdays : {\n format: 'нядзелю_панядзелак_аўторак_сераду_чацвер_пятніцу_суботу'.split('_'),\n standalone: 'нядзеля_панядзелак_аўторак_серада_чацвер_пятніца_субота'.split('_'),\n isFormat: /\\[ ?[Ууў] ?(?:мінулую|наступную)? ?\\] ?dddd/\n },\n weekdaysShort : 'нд_пн_ат_ср_чц_пт_сб'.split('_'),\n weekdaysMin : 'нд_пн_ат_ср_чц_пт_сб'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY г.',\n LLL : 'D MMMM YYYY г., HH:mm',\n LLLL : 'dddd, D MMMM YYYY г., HH:mm'\n },\n calendar : {\n sameDay: '[Сёння ў] LT',\n nextDay: '[Заўтра ў] LT',\n lastDay: '[Учора ў] LT',\n nextWeek: function () {\n return '[У] dddd [ў] LT';\n },\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n case 3:\n case 5:\n case 6:\n return '[У мінулую] dddd [ў] LT';\n case 1:\n case 2:\n case 4:\n return '[У мінулы] dddd [ў] LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : 'праз %s',\n past : '%s таму',\n s : 'некалькі секунд',\n m : relativeTimeWithPlural,\n mm : relativeTimeWithPlural,\n h : relativeTimeWithPlural,\n hh : relativeTimeWithPlural,\n d : 'дзень',\n dd : relativeTimeWithPlural,\n M : 'месяц',\n MM : relativeTimeWithPlural,\n y : 'год',\n yy : relativeTimeWithPlural\n },\n meridiemParse: /ночы|раніцы|дня|вечара/,\n isPM : function (input) {\n return /^(дня|вечара)$/.test(input);\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ночы';\n } else if (hour < 12) {\n return 'раніцы';\n } else if (hour < 17) {\n return 'дня';\n } else {\n return 'вечара';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(і|ы|га)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'M':\n case 'd':\n case 'DDD':\n case 'w':\n case 'W':\n return (number % 10 === 2 || number % 10 === 3) && (number % 100 !== 12 && number % 100 !== 13) ? number + '-і' : number + '-ы';\n case 'D':\n return number + '-га';\n default:\n return number;\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return be;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var suffixes = {\n 1: '-inci',\n 5: '-inci',\n 8: '-inci',\n 70: '-inci',\n 80: '-inci',\n 2: '-nci',\n 7: '-nci',\n 20: '-nci',\n 50: '-nci',\n 3: '-üncü',\n 4: '-üncü',\n 100: '-üncü',\n 6: '-ncı',\n 9: '-uncu',\n 10: '-uncu',\n 30: '-uncu',\n 60: '-ıncı',\n 90: '-ıncı'\n };\n\n var az = moment.defineLocale('az', {\n months : 'yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr'.split('_'),\n monthsShort : 'yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek'.split('_'),\n weekdays : 'Bazar_Bazar ertəsi_Çərşənbə axşamı_Çərşənbə_Cümə axşamı_Cümə_Şənbə'.split('_'),\n weekdaysShort : 'Baz_BzE_ÇAx_Çər_CAx_Cüm_Şən'.split('_'),\n weekdaysMin : 'Bz_BE_ÇA_Çə_CA_Cü_Şə'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[bugün saat] LT',\n nextDay : '[sabah saat] LT',\n nextWeek : '[gələn həftə] dddd [saat] LT',\n lastDay : '[dünən] LT',\n lastWeek : '[keçən həftə] dddd [saat] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s sonra',\n past : '%s əvvəl',\n s : 'birneçə saniyə',\n ss : '%d saniyə',\n m : 'bir dəqiqə',\n mm : '%d dəqiqə',\n h : 'bir saat',\n hh : '%d saat',\n d : 'bir gün',\n dd : '%d gün',\n M : 'bir ay',\n MM : '%d ay',\n y : 'bir il',\n yy : '%d il'\n },\n meridiemParse: /gecə|səhər|gündüz|axşam/,\n isPM : function (input) {\n return /^(gündüz|axşam)$/.test(input);\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'gecə';\n } else if (hour < 12) {\n return 'səhər';\n } else if (hour < 17) {\n return 'gündüz';\n } else {\n return 'axşam';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ıncı|inci|nci|üncü|ncı|uncu)/,\n ordinal : function (number) {\n if (number === 0) { // special case for zero\n return number + '-ıncı';\n }\n var a = number % 10,\n b = number % 100 - a,\n c = number >= 100 ? 100 : null;\n return number + (suffixes[a] || suffixes[b] || suffixes[c]);\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return az;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var arTn = moment.defineLocale('ar-tn', {\n months: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),\n monthsShort: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact : true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'في %s',\n past: 'منذ %s',\n s: 'ثوان',\n ss : '%d ثانية',\n m: 'دقيقة',\n mm: '%d دقائق',\n h: 'ساعة',\n hh: '%d ساعات',\n d: 'يوم',\n dd: '%d أيام',\n M: 'شهر',\n MM: '%d أشهر',\n y: 'سنة',\n yy: '%d سنوات'\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return arTn;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '١',\n '2': '٢',\n '3': '٣',\n '4': '٤',\n '5': '٥',\n '6': '٦',\n '7': '٧',\n '8': '٨',\n '9': '٩',\n '0': '٠'\n }, numberMap = {\n '١': '1',\n '٢': '2',\n '٣': '3',\n '٤': '4',\n '٥': '5',\n '٦': '6',\n '٧': '7',\n '٨': '8',\n '٩': '9',\n '٠': '0'\n };\n\n var arSa = moment.defineLocale('ar-sa', {\n months : 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),\n monthsShort : 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),\n weekdays : 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort : 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n meridiemParse: /ص|م/,\n isPM : function (input) {\n return 'م' === input;\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ص';\n } else {\n return 'م';\n }\n },\n calendar : {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'في %s',\n past : 'منذ %s',\n s : 'ثوان',\n ss : '%d ثانية',\n m : 'دقيقة',\n mm : '%d دقائق',\n h : 'ساعة',\n hh : '%d ساعات',\n d : 'يوم',\n dd : '%d أيام',\n M : 'شهر',\n MM : '%d أشهر',\n y : 'سنة',\n yy : '%d سنوات'\n },\n preparse: function (string) {\n return string.replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\n return numberMap[match];\n }).replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n }).replace(/,/g, '،');\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return arSa;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var arMa = moment.defineLocale('ar-ma', {\n months : 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),\n monthsShort : 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),\n weekdays : 'الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort : 'احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'في %s',\n past : 'منذ %s',\n s : 'ثوان',\n ss : '%d ثانية',\n m : 'دقيقة',\n mm : '%d دقائق',\n h : 'ساعة',\n hh : '%d ساعات',\n d : 'يوم',\n dd : '%d أيام',\n M : 'شهر',\n MM : '%d أشهر',\n y : 'سنة',\n yy : '%d سنوات'\n },\n week : {\n dow : 6, // Saturday is the first day of the week.\n doy : 12 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return arMa;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '1',\n '2': '2',\n '3': '3',\n '4': '4',\n '5': '5',\n '6': '6',\n '7': '7',\n '8': '8',\n '9': '9',\n '0': '0'\n }, pluralForm = function (n) {\n return n === 0 ? 0 : n === 1 ? 1 : n === 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5;\n }, plurals = {\n s : ['أقل من ثانية', 'ثانية واحدة', ['ثانيتان', 'ثانيتين'], '%d ثوان', '%d ثانية', '%d ثانية'],\n m : ['أقل من دقيقة', 'دقيقة واحدة', ['دقيقتان', 'دقيقتين'], '%d دقائق', '%d دقيقة', '%d دقيقة'],\n h : ['أقل من ساعة', 'ساعة واحدة', ['ساعتان', 'ساعتين'], '%d ساعات', '%d ساعة', '%d ساعة'],\n d : ['أقل من يوم', 'يوم واحد', ['يومان', 'يومين'], '%d أيام', '%d يومًا', '%d يوم'],\n M : ['أقل من شهر', 'شهر واحد', ['شهران', 'شهرين'], '%d أشهر', '%d شهرا', '%d شهر'],\n y : ['أقل من عام', 'عام واحد', ['عامان', 'عامين'], '%d أعوام', '%d عامًا', '%d عام']\n }, pluralize = function (u) {\n return function (number, withoutSuffix, string, isFuture) {\n var f = pluralForm(number),\n str = plurals[u][pluralForm(number)];\n if (f === 2) {\n str = str[withoutSuffix ? 0 : 1];\n }\n return str.replace(/%d/i, number);\n };\n }, months = [\n 'يناير',\n 'فبراير',\n 'مارس',\n 'أبريل',\n 'مايو',\n 'يونيو',\n 'يوليو',\n 'أغسطس',\n 'سبتمبر',\n 'أكتوبر',\n 'نوفمبر',\n 'ديسمبر'\n ];\n\n var arLy = moment.defineLocale('ar-ly', {\n months : months,\n monthsShort : months,\n weekdays : 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort : 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'D/\\u200FM/\\u200FYYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n meridiemParse: /ص|م/,\n isPM : function (input) {\n return 'م' === input;\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ص';\n } else {\n return 'م';\n }\n },\n calendar : {\n sameDay: '[اليوم عند الساعة] LT',\n nextDay: '[غدًا عند الساعة] LT',\n nextWeek: 'dddd [عند الساعة] LT',\n lastDay: '[أمس عند الساعة] LT',\n lastWeek: 'dddd [عند الساعة] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'بعد %s',\n past : 'منذ %s',\n s : pluralize('s'),\n ss : pluralize('s'),\n m : pluralize('m'),\n mm : pluralize('m'),\n h : pluralize('h'),\n hh : pluralize('h'),\n d : pluralize('d'),\n dd : pluralize('d'),\n M : pluralize('M'),\n MM : pluralize('M'),\n y : pluralize('y'),\n yy : pluralize('y')\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n }).replace(/,/g, '،');\n },\n week : {\n dow : 6, // Saturday is the first day of the week.\n doy : 12 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return arLy;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var arKw = moment.defineLocale('ar-kw', {\n months : 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),\n monthsShort : 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),\n weekdays : 'الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort : 'احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'في %s',\n past : 'منذ %s',\n s : 'ثوان',\n ss : '%d ثانية',\n m : 'دقيقة',\n mm : '%d دقائق',\n h : 'ساعة',\n hh : '%d ساعات',\n d : 'يوم',\n dd : '%d أيام',\n M : 'شهر',\n MM : '%d أشهر',\n y : 'سنة',\n yy : '%d سنوات'\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 12 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return arKw;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var arDz = moment.defineLocale('ar-dz', {\n months : 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),\n monthsShort : 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),\n weekdays : 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort : 'احد_اثنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin : 'أح_إث_ثلا_أر_خم_جم_سب'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'في %s',\n past : 'منذ %s',\n s : 'ثوان',\n ss : '%d ثانية',\n m : 'دقيقة',\n mm : '%d دقائق',\n h : 'ساعة',\n hh : '%d ساعات',\n d : 'يوم',\n dd : '%d أيام',\n M : 'شهر',\n MM : '%d أشهر',\n y : 'سنة',\n yy : '%d سنوات'\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 4 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return arDz;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '١',\n '2': '٢',\n '3': '٣',\n '4': '٤',\n '5': '٥',\n '6': '٦',\n '7': '٧',\n '8': '٨',\n '9': '٩',\n '0': '٠'\n }, numberMap = {\n '١': '1',\n '٢': '2',\n '٣': '3',\n '٤': '4',\n '٥': '5',\n '٦': '6',\n '٧': '7',\n '٨': '8',\n '٩': '9',\n '٠': '0'\n }, pluralForm = function (n) {\n return n === 0 ? 0 : n === 1 ? 1 : n === 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5;\n }, plurals = {\n s : ['أقل من ثانية', 'ثانية واحدة', ['ثانيتان', 'ثانيتين'], '%d ثوان', '%d ثانية', '%d ثانية'],\n m : ['أقل من دقيقة', 'دقيقة واحدة', ['دقيقتان', 'دقيقتين'], '%d دقائق', '%d دقيقة', '%d دقيقة'],\n h : ['أقل من ساعة', 'ساعة واحدة', ['ساعتان', 'ساعتين'], '%d ساعات', '%d ساعة', '%d ساعة'],\n d : ['أقل من يوم', 'يوم واحد', ['يومان', 'يومين'], '%d أيام', '%d يومًا', '%d يوم'],\n M : ['أقل من شهر', 'شهر واحد', ['شهران', 'شهرين'], '%d أشهر', '%d شهرا', '%d شهر'],\n y : ['أقل من عام', 'عام واحد', ['عامان', 'عامين'], '%d أعوام', '%d عامًا', '%d عام']\n }, pluralize = function (u) {\n return function (number, withoutSuffix, string, isFuture) {\n var f = pluralForm(number),\n str = plurals[u][pluralForm(number)];\n if (f === 2) {\n str = str[withoutSuffix ? 0 : 1];\n }\n return str.replace(/%d/i, number);\n };\n }, months = [\n 'يناير',\n 'فبراير',\n 'مارس',\n 'أبريل',\n 'مايو',\n 'يونيو',\n 'يوليو',\n 'أغسطس',\n 'سبتمبر',\n 'أكتوبر',\n 'نوفمبر',\n 'ديسمبر'\n ];\n\n var ar = moment.defineLocale('ar', {\n months : months,\n monthsShort : months,\n weekdays : 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort : 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'D/\\u200FM/\\u200FYYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n meridiemParse: /ص|م/,\n isPM : function (input) {\n return 'م' === input;\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ص';\n } else {\n return 'م';\n }\n },\n calendar : {\n sameDay: '[اليوم عند الساعة] LT',\n nextDay: '[غدًا عند الساعة] LT',\n nextWeek: 'dddd [عند الساعة] LT',\n lastDay: '[أمس عند الساعة] LT',\n lastWeek: 'dddd [عند الساعة] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'بعد %s',\n past : 'منذ %s',\n s : pluralize('s'),\n ss : pluralize('s'),\n m : pluralize('m'),\n mm : pluralize('m'),\n h : pluralize('h'),\n hh : pluralize('h'),\n d : pluralize('d'),\n dd : pluralize('d'),\n M : pluralize('M'),\n MM : pluralize('M'),\n y : pluralize('y'),\n yy : pluralize('y')\n },\n preparse: function (string) {\n return string.replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\n return numberMap[match];\n }).replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n }).replace(/,/g, '،');\n },\n week : {\n dow : 6, // Saturday is the first day of the week.\n doy : 12 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return ar;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var af = moment.defineLocale('af', {\n months : 'Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember'.split('_'),\n monthsShort : 'Jan_Feb_Mrt_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des'.split('_'),\n weekdays : 'Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag'.split('_'),\n weekdaysShort : 'Son_Maa_Din_Woe_Don_Vry_Sat'.split('_'),\n weekdaysMin : 'So_Ma_Di_Wo_Do_Vr_Sa'.split('_'),\n meridiemParse: /vm|nm/i,\n isPM : function (input) {\n return /^nm$/i.test(input);\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours < 12) {\n return isLower ? 'vm' : 'VM';\n } else {\n return isLower ? 'nm' : 'NM';\n }\n },\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Vandag om] LT',\n nextDay : '[Môre om] LT',\n nextWeek : 'dddd [om] LT',\n lastDay : '[Gister om] LT',\n lastWeek : '[Laas] dddd [om] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'oor %s',\n past : '%s gelede',\n s : '\\'n paar sekondes',\n ss : '%d sekondes',\n m : '\\'n minuut',\n mm : '%d minute',\n h : '\\'n uur',\n hh : '%d ure',\n d : '\\'n dag',\n dd : '%d dae',\n M : '\\'n maand',\n MM : '%d maande',\n y : '\\'n jaar',\n yy : '%d jaar'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n ordinal : function (number) {\n return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de'); // Thanks to Joris Röling : https://github.com/jjupiter\n },\n week : {\n dow : 1, // Maandag is die eerste dag van die week.\n doy : 4 // Die week wat die 4de Januarie bevat is die eerste week van die jaar.\n }\n });\n\n return af;\n\n})));\n","import { each } from './each';\n\nexport function extendDeep(target) {\n for (var i = 1; i < arguments.length; i++) {\n each(arguments[i], function(prop, key){\n if (( typeof target[key] !== 'undefined' && typeof prop !== 'undefined' ) &&\n ( typeof target[key] === 'object' && typeof prop === 'object' ) &&\n ( target[key] !== null && prop !== null )) {\n extendDeep(target[key], prop);\n }\n else {\n target[key] = prop;\n }\n });\n }\n return target;\n}\n","module.exports = __WEBPACK_EXTERNAL_MODULE__135__;","import { each } from '../../utils/each';\nimport { extend } from '../../utils/extend';\n\nfunction average(arr, start, end){\n var set = arr.slice(start||0, (end ? end+1 : arr.length)),\n sum = 0,\n avg = null;\n\n // Add numeric values\n each(set, function(val, i){\n if (typeof val === 'number' && !isNaN(parseFloat(val))) {\n sum += parseFloat(val);\n }\n });\n return sum / set.length;\n}\n\nfunction maximum(arr, start, end){\n var set = arr.slice(start||0, (end ? end+1 : arr.length)),\n nums = [];\n\n // Pull numeric values\n each(set, function(val, i){\n if (typeof val === 'number' && !isNaN(parseFloat(val))) {\n nums.push(parseFloat(val));\n }\n });\n return Math.max.apply(Math, nums);\n}\n\nfunction minimum(arr, start, end){\n var set = arr.slice(start||0, (end ? end+1 : arr.length)),\n nums = [];\n\n // Pull numeric values\n each(set, function(val, i){\n if (typeof val === 'number' && !isNaN(parseFloat(val))) {\n nums.push(parseFloat(val));\n }\n });\n return Math.min.apply(Math, nums);\n}\n\nfunction sum(arr, start, end){\n // Copy set with given range\n var set = arr.slice(start||0, (end ? end+1 : arr.length)),\n sum = 0;\n\n // Add numeric values\n each(set, function(val, i){\n if (typeof val === 'number' && !isNaN(parseFloat(val))) {\n sum += parseFloat(val);\n }\n });\n return sum;\n}\n\nconst getColumnAverage = function (arr) {\n return average(arr, 1);\n};\nconst getRowAverage = getColumnAverage;\n\nconst getColumnSum = function (arr) {\n return sum(arr, 1);\n};\nconst getRowSum = getColumnSum;\n\nconst getColumnMaximum = function (arr) {\n return maximum(arr, 1);\n};\nconst getRowMaximum = getColumnMaximum;\n\nconst getColumnMinimum = function (arr) {\n return minimum(arr, 1);\n};\nconst getRowMinimum = getColumnMinimum;\n\nconst getColumnLabel = function (arr) {\n return arr[0];\n};\nconst getRowIndex = getColumnLabel;\n\nexport default {\n average,\n maximum,\n minimum,\n sum,\n getColumnAverage,\n getRowAverage,\n getColumnSum,\n getRowSum,\n getColumnMaximum,\n getRowMaximum,\n getColumnMinimum,\n getRowMinimum,\n getColumnLabel,\n getRowIndex,\n};\n","// Modifiers\nimport * as append from './modifiers/append';\nimport * as del from './modifiers/delete';\nimport * as filter from './modifiers/filter';\nimport * as insert from './modifiers/insert';\nimport * as select from './modifiers/select';\nimport * as sort from './modifiers/sort';\nimport * as update from './modifiers/update';\n\n// Utils\nimport analyses from './utils/analyses';\nimport { extend } from '../utils/extend';\nimport parsers from './utils/parsers';\n\nexport const Dataset = function (config = {}) {\n if (this instanceof Dataset === false) {\n return new Dataset(config);\n }\n\n this.matrix = [\n ['Index']\n ];\n this.meta = {\n type: undefined\n };\n this.config = config;\n}\n\nDataset.prototype.data = function (arr) {\n if (!arguments.length) return this.matrix;\n this.matrix = (arr instanceof Array ? arr : null);\n return this;\n};\n\nDataset.prototype.set = function (coords, value) {\n if (arguments.length < 2 || coords.length < 2) {\n throw Error('Incorrect arguments provided for #set method');\n }\n\n var colIndex = 'number' === typeof coords[0] ? coords[0] : this.matrix[0].indexOf(coords[0]),\n rowIndex = 'number' === typeof coords[1] ? coords[1] : select.selectColumn.call(this, 0).indexOf(coords[1]);\n\n var colResult = select.selectColumn.call(this, coords[0]),\n rowResult = select.selectRow.call(this, coords[1]);\n\n // Column doesn't exist, create and reset colIndex\n if (colResult.length < 1) {\n append.appendColumn.call(this, String(coords[0]));\n colIndex = this.matrix[0].length - 1;\n }\n\n // Row doesn't exist, create and reset rowIndex\n if (rowResult.length < 1) {\n append.appendRow.call(this, String(coords[1]));\n rowIndex = this.matrix.length - 1;\n }\n\n // Set provided value\n this.matrix[ rowIndex ][ colIndex ] = value;\n return this;\n};\n\nDataset.prototype.type = function(str){\n if (!arguments.length) return this.meta['type'];\n this.meta['type'] = (str ? String(str) : undefined);\n return this;\n};\n\nextend(Dataset.prototype, append);\nextend(Dataset.prototype, del);\nextend(Dataset.prototype, filter);\nextend(Dataset.prototype, insert);\nextend(Dataset.prototype, select);\nextend(Dataset.prototype, sort);\nextend(Dataset.prototype, update);\nextend(Dataset.prototype, analyses);\nDataset.parser = parsers(Dataset);\n\nexport default Dataset;\n","export default function(callback) {\n var constructor = this.constructor;\n return this.then(\n function(value) {\n return constructor.resolve(callback()).then(function() {\n return value;\n });\n },\n function(reason) {\n return constructor.resolve(callback()).then(function() {\n return constructor.reject(reason);\n });\n }\n );\n}\n","import promiseFinally from './finally';\n\n// Store setTimeout reference so promise-polyfill will be unaffected by\n// other code modifying setTimeout (like sinon.useFakeTimers())\nvar setTimeoutFunc = setTimeout;\n\nfunction noop() {}\n\n// Polyfill for Function.prototype.bind\nfunction bind(fn, thisArg) {\n return function() {\n fn.apply(thisArg, arguments);\n };\n}\n\nfunction Promise(fn) {\n if (!(this instanceof Promise))\n throw new TypeError('Promises must be constructed via new');\n if (typeof fn !== 'function') throw new TypeError('not a function');\n this._state = 0;\n this._handled = false;\n this._value = undefined;\n this._deferreds = [];\n\n doResolve(fn, this);\n}\n\nfunction handle(self, deferred) {\n while (self._state === 3) {\n self = self._value;\n }\n if (self._state === 0) {\n self._deferreds.push(deferred);\n return;\n }\n self._handled = true;\n Promise._immediateFn(function() {\n var cb = self._state === 1 ? deferred.onFulfilled : deferred.onRejected;\n if (cb === null) {\n (self._state === 1 ? resolve : reject)(deferred.promise, self._value);\n return;\n }\n var ret;\n try {\n ret = cb(self._value);\n } catch (e) {\n reject(deferred.promise, e);\n return;\n }\n resolve(deferred.promise, ret);\n });\n}\n\nfunction resolve(self, newValue) {\n try {\n // Promise Resolution Procedure: https://github.com/promises-aplus/promises-spec#the-promise-resolution-procedure\n if (newValue === self)\n throw new TypeError('A promise cannot be resolved with itself.');\n if (\n newValue &&\n (typeof newValue === 'object' || typeof newValue === 'function')\n ) {\n var then = newValue.then;\n if (newValue instanceof Promise) {\n self._state = 3;\n self._value = newValue;\n finale(self);\n return;\n } else if (typeof then === 'function') {\n doResolve(bind(then, newValue), self);\n return;\n }\n }\n self._state = 1;\n self._value = newValue;\n finale(self);\n } catch (e) {\n reject(self, e);\n }\n}\n\nfunction reject(self, newValue) {\n self._state = 2;\n self._value = newValue;\n finale(self);\n}\n\nfunction finale(self) {\n if (self._state === 2 && self._deferreds.length === 0) {\n Promise._immediateFn(function() {\n if (!self._handled) {\n Promise._unhandledRejectionFn(self._value);\n }\n });\n }\n\n for (var i = 0, len = self._deferreds.length; i < len; i++) {\n handle(self, self._deferreds[i]);\n }\n self._deferreds = null;\n}\n\nfunction Handler(onFulfilled, onRejected, promise) {\n this.onFulfilled = typeof onFulfilled === 'function' ? onFulfilled : null;\n this.onRejected = typeof onRejected === 'function' ? onRejected : null;\n this.promise = promise;\n}\n\n/**\n * Take a potentially misbehaving resolver function and make sure\n * onFulfilled and onRejected are only called once.\n *\n * Makes no guarantees about asynchrony.\n */\nfunction doResolve(fn, self) {\n var done = false;\n try {\n fn(\n function(value) {\n if (done) return;\n done = true;\n resolve(self, value);\n },\n function(reason) {\n if (done) return;\n done = true;\n reject(self, reason);\n }\n );\n } catch (ex) {\n if (done) return;\n done = true;\n reject(self, ex);\n }\n}\n\nPromise.prototype['catch'] = function(onRejected) {\n return this.then(null, onRejected);\n};\n\nPromise.prototype.then = function(onFulfilled, onRejected) {\n var prom = new this.constructor(noop);\n\n handle(this, new Handler(onFulfilled, onRejected, prom));\n return prom;\n};\n\nPromise.prototype['finally'] = promiseFinally;\n\nPromise.all = function(arr) {\n return new Promise(function(resolve, reject) {\n if (!arr || typeof arr.length === 'undefined')\n throw new TypeError('Promise.all accepts an array');\n var args = Array.prototype.slice.call(arr);\n if (args.length === 0) return resolve([]);\n var remaining = args.length;\n\n function res(i, val) {\n try {\n if (val && (typeof val === 'object' || typeof val === 'function')) {\n var then = val.then;\n if (typeof then === 'function') {\n then.call(\n val,\n function(val) {\n res(i, val);\n },\n reject\n );\n return;\n }\n }\n args[i] = val;\n if (--remaining === 0) {\n resolve(args);\n }\n } catch (ex) {\n reject(ex);\n }\n }\n\n for (var i = 0; i < args.length; i++) {\n res(i, args[i]);\n }\n });\n};\n\nPromise.resolve = function(value) {\n if (value && typeof value === 'object' && value.constructor === Promise) {\n return value;\n }\n\n return new Promise(function(resolve) {\n resolve(value);\n });\n};\n\nPromise.reject = function(value) {\n return new Promise(function(resolve, reject) {\n reject(value);\n });\n};\n\nPromise.race = function(values) {\n return new Promise(function(resolve, reject) {\n for (var i = 0, len = values.length; i < len; i++) {\n values[i].then(resolve, reject);\n }\n });\n};\n\n// Use polyfill for setImmediate for performance gains\nPromise._immediateFn =\n (typeof setImmediate === 'function' &&\n function(fn) {\n setImmediate(fn);\n }) ||\n function(fn) {\n setTimeoutFunc(fn, 0);\n };\n\nPromise._unhandledRejectionFn = function _unhandledRejectionFn(err) {\n if (typeof console !== 'undefined' && console) {\n console.warn('Possible Unhandled Promise Rejection:', err); // eslint-disable-line no-console\n }\n};\n\nexport default Promise;\n","import Promise from './index';\nimport promiseFinally from './finally';\n\nvar globalNS = (function() {\n // the only reliable means to get the global object is\n // `Function('return this')()`\n // However, this causes CSP violations in Chrome apps.\n if (typeof self !== 'undefined') {\n return self;\n }\n if (typeof window !== 'undefined') {\n return window;\n }\n if (typeof global !== 'undefined') {\n return global;\n }\n throw new Error('unable to locate global object');\n})();\n\nif (!globalNS.Promise) {\n globalNS.Promise = Promise;\n} else if (!globalNS.Promise.prototype['finally']) {\n globalNS.Promise.prototype['finally'] = promiseFinally;\n}\n","import * as d3 from 'd3';\nimport { textWrap } from '../../utils/svg-text-wrap';\nimport { prettyNumber } from '../../utils/pretty-number';\n\nexport default class HorizontalFunnel3d {\n render() {\n const { matrix } = this.dataset;\n const {\n colors,\n container,\n labelMapping,\n colorMapping\n } = this.config;\n const opts = this.config;\n const {\n percents: {\n show,\n countingMethod,\n decimals,\n },\n lines,\n resultValues,\n effect3d,\n hover\n } = this.config.funnel;\n const margin = { top: 0, right: 30, bottom: 100, left: 10 };\n const funnelContainer = d3.select(container);\n const chartContainer = d3.select(container + ' .c3-chart');\n const chart = chartContainer.append('svg');\n const svgWidth = funnelContainer.style('width').slice(0, -2)\n - margin.right - margin.left;\n const svgHeight = funnelContainer.style('height').slice(0, -2)\n - margin.top - margin.bottom - 30;\n const elemWidth= svgWidth/(matrix.length - 1);\n const xMarginElement = elemWidth * 0.3;\n const shadowCut = (xMarginElement/1.5);\n let prevElemHeight = svgHeight;\n let percent = (100).toFixed(decimals);\n\n // prepare normal funnel polygons\n const polygons = matrix.slice(1).map((d, i) => {\n const newPoints = [\n {\n x: elemWidth * i + xMarginElement,\n y: ((svgHeight - prevElemHeight)/2)\n },\n {\n x: elemWidth * i + xMarginElement,\n y: ((svgHeight - prevElemHeight)/2 + prevElemHeight)\n },\n ]\n if(i !== 0){\n if(countingMethod === 'relative'){\n prevElemHeight = prevElemHeight * d[1]/matrix[i][1];\n percent = ((d[1]/matrix[i][1])*100).toFixed(decimals);\n }\n if(countingMethod === 'absolute'){\n prevElemHeight = svgHeight * d[1]/matrix[1][1];\n percent = ((d[1]/matrix[1][1])*100).toFixed(decimals);\n }\n }\n let label = d[0];\n if(Object.keys(labelMapping).length){\n for (let key in labelMapping) {\n if(labelMapping[key] === d[0]) {\n label = key;\n }\n }\n }\n let result = d[1];\n if ( (typeof opts['prettyNumber'] === 'undefined' || opts['prettyNumber'] === true)\n && !isNaN(parseInt(d[1])) ) {\n result = prettyNumber(d[1]);\n }\n return {\n name: d[0],\n label,\n percent: percent + '%',\n result,\n points: [\n ...newPoints,\n {\n x: elemWidth * (i + 1),\n y: ((svgHeight - prevElemHeight)/2 + prevElemHeight)\n },\n {\n x: elemWidth * (i + 1),\n y: ((svgHeight - prevElemHeight)/2)\n }\n ]\n }\n });\n\n //funnel shadows preparing\n const polygonsShadows = polygons.map((d, i) => {\n return {\n label: d.label,\n points: [\n {\n x: d.points[0].x,\n y: d.points[0].y\n },\n {\n x: d.points[1].x,\n y: d.points[1].y\n },\n {\n x: effect3d === 'top'\n ? d.points[1].x\n : d.points[1].x - shadowCut,\n y: effect3d === 'top'\n ? d.points[1].y\n : d.points[1].y - xMarginElement < svgHeight/2\n ? svgHeight/2 + 5\n : d.points[1].y - xMarginElement\n },\n {\n x: effect3d === 'bottom'\n ? d.points[0].x\n : d.points[0].x - shadowCut,\n y: effect3d === 'bottom'\n ? d.points[0].y\n : d.points[0].y + xMarginElement > svgHeight/2\n ? svgHeight/2 - 5\n : d.points[0].y + xMarginElement\n },\n ]\n }\n })\n\n //connecting funnels with shadows for rendering\n const polygons3d = polygons.concat(polygonsShadows);\n\n //chart rendering with polygons\n chart\n .attr('height', svgHeight + margin.top + margin.bottom - 30)\n .attr('width', svgWidth + margin.left + margin.right)\n .append('g')\n .attr('transform', 'translate(' + margin.left + ',' + margin.top + ')')\n .selectAll('polygon')\n .data(polygons3d)\n .enter()\n .append('polygon')\n .attr('points', (d) => {\n return d.points.map((p) => {\n return [p.x,p.y].join(',');\n })\n .join(' ');\n })\n .style('fill', (d, i) => {\n if(i > (polygons.length - 1)){\n if(colorMapping[d.label]){\n return d3.rgb(colorMapping[d.label]).darker(1.5);\n }\n return d3.rgb(colors[i - (polygons.length)]).darker(1.5);\n }\n if(colorMapping[d.label]){\n return colorMapping[d.label];\n }\n return colors[i];\n })\n .attr('class', (d) => { return d.label; })\n .attr('cursor', 'pointer');\n\n if(lines){\n //rendering lines\n chart\n .selectAll('line')\n .data(polygons)\n .enter()\n .append('line')\n .attr('x1', (d) => {\n return d.points[0].x + margin.left - (xMarginElement * 0.8);\n })\n .attr('y1', svgHeight + margin.bottom)\n .attr('x2', (d) => {\n return d.points[0].x + margin.left - (xMarginElement * 0.8);\n })\n .attr('y2', (d) => { return d.points[0].y; })\n .attr('class', 'chart-lines');\n\n //rendering last line\n chart\n .append('line')\n .attr('x1', svgWidth + margin.left + (xMarginElement/4))\n .attr('y1', svgHeight + margin.bottom)\n .attr('x2', polygons[polygons.length-1].points[3].x\n + margin.left + (xMarginElement/4))\n .attr('y2', polygons[polygons.length-1].points[3].y)\n .attr('class', 'chart-lines');\n }\n\n //rendering labels when lines are visible\n if(lines){\n chart\n .selectAll('text.label')\n .data(polygons)\n .enter()\n .append('text')\n .style('text-anchor', 'middle')\n .attr('x', (d) => {\n return d.points[0].x + margin.left + (elemWidth * 0.25)\n })\n .attr('y', svgHeight + (margin.bottom * 0.4))\n .attr('class', (d) => { return 'text-label ' + d.label; })\n .text((d) => { return d.name; })\n .call(textWrap, elemWidth)\n .attr('cursor', 'pointer');\n }\n\n //rendering labels when lines are not visible\n if(!lines) {\n chart\n .selectAll('text.label')\n .data(polygons)\n .enter()\n .append('text')\n .style('text-anchor', 'middle')\n .attr('x', (d) => {\n return d.points[0].x + margin.left + (elemWidth * 0.25)\n })\n .attr('y', (d) => {\n if(d.points[2].y + (elemWidth/4) >\n svgHeight + margin.bottom - 40){\n return svgHeight + margin.bottom - 40;\n }\n if(d.points[2].y + (elemWidth/4) < d.points[1].y){\n return d.points[1].y + 20;\n }\n return d.points[2].y + (elemWidth/4) + 10;\n })\n .attr('class', (d) => { return 'text-label ' + d.label; })\n .text((d) => { return d.name; })\n .call(textWrap, elemWidth)\n .attr('cursor', 'pointer');\n }\n\n //rendering percents for each step\n if(show && !resultValues){\n chart\n .selectAll('text.label')\n .data(polygons)\n .enter()\n .append('text')\n .style('text-anchor', 'middle')\n .attr('x', (d) => {\n return d.points[1].x + (elemWidth/2.8) + margin.left\n })\n .attr('y', svgHeight/2 + margin.top + 10)\n .attr('class', (d) => { return 'text-main ' + d.label; })\n .text((d) => { return d.percent; })\n .attr('cursor', 'pointer');\n }\n\n //rendering results for each step\n if(resultValues && !show){\n chart\n .selectAll('text.label')\n .data(polygons)\n .enter()\n .append('text')\n .style('text-anchor', 'middle')\n .attr('x', (d) => {\n return d.points[1].x + (elemWidth/2.8) + margin.left\n })\n .attr('y', svgHeight/2 + margin.top + 10)\n .attr('class', (d) => { return 'text-main ' + d.label; })\n .text((d) => { return d.result; })\n .attr('cursor', 'pointer');\n }\n\n //rendering results and percenage together\n if(show && resultValues){\n //rendering percents\n chart\n .selectAll('text.label')\n .data(polygons)\n .enter()\n .append('text')\n .style('text-anchor', 'middle')\n .attr('x', (d) => {\n return d.points[1].x + (elemWidth/2.8) + margin.left\n })\n .attr('y', svgHeight/2 + margin.top + 16)\n .attr('class', (d) => { return 'text-second ' + d.label; })\n .text((d) => { return d.percent; })\n .attr('cursor', 'pointer');\n\n //rendering results\n chart\n .selectAll('text.label')\n .data(polygons)\n .enter()\n .append('text')\n .style('text-anchor', 'middle')\n .attr('x', (d) => {\n return d.points[1].x + (elemWidth/2.8) + margin.left\n })\n .attr('y', svgHeight/2+ margin.top - 3)\n .attr('class', (d) => { return 'text-main ' + d.label; })\n .text((d) => { return d.result; })\n .attr('cursor', 'pointer');\n }\n\n //hover handling\n if(hover){\n const polygonsHover = chart.selectAll('polygon');\n polygonsHover\n .on(\"mouseover\", handleMouseOver)\n .on(\"mouseout\", handleMouseOut);\n\n const labelHover = chart.selectAll('text');\n labelHover\n .on(\"mouseover\", handleMouseOver)\n .on(\"mouseout\", handleMouseOut);\n\n function handleMouseOver(d) {\n polygonsHover\n .style('opacity', 0.5);\n labelHover\n .style('opacity', 0.5);\n const thisLabel = /[^ ]*$/.exec(d3.select(this).attr('class'))[0];\n chart\n .selectAll(`.${thisLabel}`)\n .style('opacity', 1);\n }\n function handleMouseOut(d) {\n polygonsHover\n .style('opacity', 1);\n labelHover\n .style('opacity', 1);\n }\n }\n }\n update() {\n this.destroy();\n this.render();\n }\n destroy() {\n const { container } = this.config;\n const chartContainer = d3.select(container + ' .c3-chart > *');\n chartContainer.remove();\n }\n}\n","import * as d3 from 'd3';\nimport { textWrap } from '../../utils/svg-text-wrap';\nimport { prettyNumber } from '../../utils/pretty-number';\n\nexport default class HorizontalFunnel {\n render() {\n const { matrix } = this.dataset;\n const {\n colors,\n container,\n labelMapping,\n colorMapping\n } = this.config;\n const opts = this.config;\n const {\n percents: {\n show,\n countingMethod,\n decimals,\n },\n lines,\n marginBetweenSteps,\n resultValues,\n hover\n } = this.config.funnel;\n const margin = { top: 0, right: 30, bottom: 100, left: 10 };\n let xMarginElement = 0;\n if(marginBetweenSteps){\n xMarginElement = 5;\n }\n const funnelContainer = d3.select(container);\n const chartContainer = d3.select(container + ' .c3-chart');\n const chart = chartContainer.append('svg');\n const svgWidth = funnelContainer.style('width').slice(0, -2)\n - margin.right - margin.left;\n const svgHeight = funnelContainer.style('height').slice(0, -2)\n - margin.top - margin.bottom - 30;\n const elemWidth= svgWidth/(matrix.length - 1);\n let prevElemHeight = svgHeight;\n let percent = (100).toFixed(decimals);\n\n // prepare normal funnel polygons\n const polygons = matrix.slice(1).map((d, i) => {\n const newPoints = [\n {\n x: elemWidth * i + xMarginElement,\n y: ((svgHeight - prevElemHeight)/2)\n },\n {\n x: elemWidth * i + xMarginElement,\n y: ((svgHeight - prevElemHeight)/2 + prevElemHeight)\n },\n ]\n if(i !== 0){\n if(countingMethod === 'relative'){\n prevElemHeight = prevElemHeight * d[1]/matrix[i][1];\n percent = ((d[1]/matrix[i][1])*100).toFixed(decimals);\n }\n if(countingMethod === 'absolute'){\n prevElemHeight = svgHeight * d[1]/matrix[1][1];\n percent = ((d[1]/matrix[1][1])*100).toFixed(decimals);\n }\n }\n let label = d[0];\n if(Object.keys(labelMapping).length){\n for (let key in labelMapping) {\n if(labelMapping[key] === d[0]) {\n label = key;\n }\n }\n }\n let result = d[1];\n if ( (typeof opts['prettyNumber'] === 'undefined'\n || opts['prettyNumber'] === true)\n && !isNaN(parseInt(d[1])) ) {\n result = prettyNumber(d[1]);\n }\n return {\n name: d[0],\n label,\n percent: percent + '%',\n result,\n points: [\n ...newPoints,\n {\n x: elemWidth * (i + 1),\n y: ((svgHeight - prevElemHeight)/2 + prevElemHeight)\n },\n {\n x: elemWidth * (i + 1),\n y: ((svgHeight - prevElemHeight)/2)\n }\n ]\n }\n });\n\n //chart rendering with polygons\n chart\n .attr('height', svgHeight + margin.top + margin.bottom - 30)\n .attr('width', svgWidth + margin.left + margin.right)\n .append('g')\n .attr('transform', 'translate(' + margin.left + ',' + margin.top + ')')\n .selectAll('polygon')\n .data(polygons)\n .enter()\n .append('polygon')\n .attr('points', (d) => {\n return d.points.map((p) => {\n return [p.x,p.y].join(',');\n })\n .join(' ');\n })\n .style('fill', (d, i) => {\n if(colorMapping[d.label]){\n return colorMapping[d.label];\n }\n return colors[i];\n })\n .attr('class', (d) => { return d.label; })\n .attr('cursor', 'pointer');\n\n if(lines){\n //rendering lines\n chart\n .selectAll('line')\n .data(polygons)\n .enter()\n .append('line')\n .attr('x1', (d) => {\n return d.points[0].x + margin.left - (xMarginElement/2);\n })\n .attr('y1', svgHeight + margin.bottom)\n .attr('x2', (d) => {\n return d.points[0].x + margin.left - (xMarginElement/2);\n })\n .attr('y2', (d) => { return d.points[0].y; })\n .attr('class', 'chart-lines');\n\n //rendering last line\n chart\n .append('line')\n .attr('x1', svgWidth + margin.left - (xMarginElement/2))\n .attr('y1', svgHeight + margin.bottom)\n .attr('x2', polygons[polygons.length-1].points[3].x\n + margin.left + (xMarginElement/2))\n .attr('y2', polygons[polygons.length-1].points[3].y)\n .attr('class', 'chart-lines');\n }\n\n //rendering labels when lines are visible\n if(lines){\n chart\n .selectAll('text.label')\n .data(polygons)\n .enter()\n .append('text')\n .style('text-anchor', 'middle')\n .attr('x', (d) => {\n return d.points[1].x + (elemWidth/2) + margin.left\n })\n .attr('y', svgHeight + (margin.bottom * 0.5))\n .attr('class', (d) => { return 'text-label ' + d.label; })\n .text((d) => { return d.name; })\n .call(textWrap, elemWidth)\n .attr('cursor', 'pointer');\n }\n\n //rendering labels when lines are not visible\n if(!lines) {\n chart\n .selectAll('text.label')\n .data(polygons)\n .enter()\n .append('text')\n .style('text-anchor', 'middle')\n .attr('x', (d) => {\n return d.points[1].x + (elemWidth/2) + margin.left\n })\n .attr('y', (d) => {\n if(d.points[2].y + ((d.points[3].y - d.points[0].y)/2)\n + (elemWidth/4) > svgHeight + margin.bottom - 40){\n return svgHeight + margin.bottom - 40;\n }\n return d.points[2].y + ((d.points[3].y - d.points[0].y)/2)\n + (elemWidth/4);\n })\n .attr('class', (d) => { return 'text-label ' + d.label; })\n .text((d) => { return d.name; })\n .call(textWrap, elemWidth)\n .attr('cursor', 'pointer');\n }\n\n //rendering percents for each step\n if(show && !resultValues){\n chart\n .selectAll('text.label')\n .data(polygons)\n .enter()\n .append('text')\n .style('text-anchor', 'middle')\n .attr('x', (d) => {\n return d.points[1].x + (elemWidth/2) + margin.left\n })\n .attr('y', svgHeight/2 + margin.top + 10)\n .attr('class', (d) => { return 'text-main ' + d.label; })\n .text((d) => { return d.percent; })\n .attr('cursor', 'pointer');\n }\n\n //rendering results for each step\n if(resultValues && !show){\n chart\n .selectAll('text.label')\n .data(polygons)\n .enter()\n .append('text')\n .style('text-anchor', 'middle')\n .attr('x', (d) => {\n return d.points[1].x + (elemWidth/2) + margin.left\n })\n .attr('y', svgHeight/2 + margin.top + 10)\n .attr('class', (d) => { return 'text-main ' + d.label; })\n .text((d) => { return d.result; })\n .attr('cursor', 'pointer');\n }\n\n //rendering results and percenage together\n if(show && resultValues){\n //rendering percents\n chart\n .selectAll('text.label')\n .data(polygons)\n .enter()\n .append('text')\n .style('text-anchor', 'middle')\n .attr('x', (d) => {\n return d.points[1].x + (elemWidth/2) + margin.left\n })\n .attr('y', svgHeight/2 + margin.top + 16)\n .attr('class', (d) => { return 'text-second ' + d.label; })\n .text((d) => { return d.percent; })\n .attr('cursor', 'pointer');\n\n //rendering results\n chart\n .selectAll('text.label')\n .data(polygons)\n .enter()\n .append('text')\n .style('text-anchor', 'middle')\n .attr('x', (d) => {\n return d.points[1].x + (elemWidth/2) + margin.left\n })\n .attr('y', svgHeight/2+ margin.top - 3)\n .attr('class', (d) => { return 'text-main ' + d.label; })\n .text((d) => { return d.result; })\n .attr('cursor', 'pointer');\n }\n //hover handling\n if(hover){\n const polygonsHover = chart.selectAll('polygon');\n polygonsHover\n .on(\"mouseover\", handleMouseOver)\n .on(\"mouseout\", handleMouseOut);\n\n const labelHover = chart.selectAll('text');\n labelHover\n .on(\"mouseover\", handleMouseOver)\n .on(\"mouseout\", handleMouseOut);\n\n function handleMouseOver(d) {\n polygonsHover\n .style('opacity', 0.5);\n labelHover\n .style('opacity', 0.5);\n const thisLabel = /[^ ]*$/.exec(d3.select(this).attr('class'))[0];\n chart\n .selectAll(`.${thisLabel}`)\n .style('opacity', 1);\n }\n function handleMouseOut(d) {\n polygonsHover\n .style('opacity', 1);\n labelHover\n .style('opacity', 1);\n }\n }\n\n }\n update() {\n this.destroy();\n this.render();\n }\n destroy() {\n const { container } = this.config;\n const chartContainer = d3.select(container + ' .c3-chart > *');\n chartContainer.remove();\n }\n}\n","import * as d3 from 'd3';\nimport { textWrap } from '../../utils/svg-text-wrap';\nimport { prettyNumber } from '../../utils/pretty-number';\n\nexport default class Funnel3d {\n render() {\n const { matrix } = this.dataset;\n const {\n colors,\n container,\n labelMapping,\n colorMapping\n } = this.config;\n const opts = this.config;\n const {\n percents: {\n show,\n countingMethod,\n decimals,\n },\n lines,\n resultValues,\n effect3d,\n hover,\n } = this.config.funnel;\n const margin = { top: 10, right: 30, bottom: 60, left: 200 };\n const funnelContainer = d3.select(container);\n const chartContainer = d3.select(container + ' .c3-chart');\n const chart = chartContainer.append('svg');\n const svgWidth = funnelContainer.style('width').slice(0, -2)\n - margin.right - margin.left;\n const svgHeight = funnelContainer.style('height').slice(0, -2)\n - margin.top - margin.bottom - 30;\n const elemHeight = svgHeight/(matrix.length - 1);\n const yMarginElement = elemHeight * 0.3;\n const shadowCut = (yMarginElement * 2.5);\n let prevElemWidth = svgWidth;\n let percent = (100).toFixed(decimals);\n\n // prepare normal funnel polygons\n const polygons = matrix.slice(1).map((d, i) => {\n const newPoints = [\n {\n x: ((svgWidth - prevElemWidth)/2),\n y: elemHeight * i + yMarginElement\n },\n {\n x: ((svgWidth - prevElemWidth)/2 + prevElemWidth),\n y: elemHeight * i + yMarginElement\n },\n ]\n if(i !== 0){\n if(countingMethod === 'relative'){\n prevElemWidth = prevElemWidth * d[1]/matrix[i][1];\n percent = ((d[1]/matrix[i][1])*100).toFixed(decimals);\n }\n if(countingMethod === 'absolute'){\n prevElemWidth = svgWidth * d[1]/matrix[1][1];\n percent = ((d[1]/matrix[1][1])*100).toFixed(decimals);\n }\n }\n let label = d[0];\n if(Object.keys(labelMapping).length){\n for (let key in labelMapping) {\n if(labelMapping[key] === d[0]) {\n label = key;\n }\n }\n }\n let result = d[1];\n if ( (typeof opts['prettyNumber'] === 'undefined' || opts['prettyNumber'] === true)\n && !isNaN(parseInt(d[1])) ) {\n result = prettyNumber(d[1]);\n }\n return {\n name: d[0],\n label,\n percent: percent + '%',\n result,\n points: [\n ...newPoints,\n {\n x: ((svgWidth - prevElemWidth)/2 + prevElemWidth),\n y: elemHeight * (i + 1)\n },\n {\n x: ((svgWidth - prevElemWidth)/2),\n y: elemHeight * (i + 1)\n }\n ]\n }\n });\n\n //funnel shadows preparing\n const polygonsShadows = polygons.map((d, i) => {\n return {\n label: d.label,\n points: [\n {\n x: d.points[3].x,\n y: d.points[3].y\n },\n {\n x: d.points[2].x,\n y: d.points[2].y\n },\n {\n x: effect3d === 'left'\n ? d.points[2].x\n : d.points[2].x - shadowCut < svgWidth/2\n ? svgWidth/2 + 5\n : d.points[2].x - shadowCut,\n y: effect3d === 'left'\n ? d.points[2].y\n : d.points[2].y + (yMarginElement/1.5)\n },\n {\n x: effect3d === 'right'\n ? d.points[3].x\n : d.points[3].x + shadowCut > svgWidth/2\n ? svgWidth/2 - 5\n : d.points[3].x + shadowCut,\n y: effect3d === 'right'\n ? d.points[3].y\n : d.points[3].y + (yMarginElement/1.5)\n },\n ]\n }\n })\n\n //connecting funnels with shadows for rendering\n const polygons3d = polygons.concat(polygonsShadows);\n\n //chart rendering with polygons\n chart\n .attr('height', svgHeight + margin.top + margin.bottom - 30)\n .attr('width', svgWidth + margin.left + margin.right)\n .append('g')\n .attr('transform', 'translate(' + margin.left + ',' + margin.top + ')')\n .selectAll('polygon')\n .data(polygons3d)\n .enter()\n .append('polygon')\n .attr('points', (d) => {\n return d.points.map((p) => {\n return [p.x,p.y].join(',');\n })\n .join(' ');\n })\n .style('fill', (d, i) => {\n if(i > (polygons.length - 1)){\n if(colorMapping[d.label]){\n return d3.rgb(colorMapping[d.label]).darker(1.5);\n }\n return d3.rgb(colors[i - (polygons.length)]).darker(1.5);\n }\n if(colorMapping[d.label]){\n return colorMapping[d.label];\n }\n return colors[i];\n })\n .attr('class', (d) => { return d.label; })\n .attr('cursor', 'pointer');\n\n if(lines){\n //rendering lines\n chart\n .selectAll('line')\n .data(polygons)\n .enter()\n .append('line')\n .attr('x1', 10)\n .attr('y1', (d) => {\n return d.points[0].y + margin.top - (yMarginElement/5);\n })\n .attr('x2', (d, i) => {\n if(i === 0){\n return d.points[1].x + margin.left;\n }\n return d.points[1].x + margin.left - shadowCut;\n })\n .attr('y2', (d) => {\n return d.points[0].y + margin.top - (yMarginElement/5);\n })\n .attr('class', 'chart-lines');\n\n //rendering last line\n chart\n .append('line')\n .attr('x1', 10)\n .attr('y1', polygons[polygons.length-1].points[2].y + margin.top\n + yMarginElement - (yMarginElement/5))\n .attr('x2', polygons[polygons.length-1].points[2].x\n + margin.left - shadowCut )\n .attr('y2', polygons[polygons.length-1].points[2].y + margin.top\n + yMarginElement - (yMarginElement/5))\n .attr('class', 'chart-lines');\n }\n\n //rendering labels when lines are visible\n if(lines){\n chart\n .selectAll('text.label')\n .data(polygons)\n .enter()\n .append('text')\n .style('text-anchor', 'start')\n .attr('x', 20)\n .attr('y', (d) => {\n return ((d.points[2].y - d.points[1].y)/2) + d.points[1].y\n + margin.top + 5 + (yMarginElement/4)\n })\n .attr('class', (d) => { return 'text-label ' + d.label; })\n .text((d) => { return d.name; })\n .call(textWrap, margin.left)\n .attr('cursor', 'pointer');\n }\n\n //rendering labels when lines are not visible\n if(!lines){\n chart\n .selectAll('text.label')\n .data(polygons)\n .enter()\n .append('text')\n .style('text-anchor', 'end')\n .attr('x', (d) => {\n return d.points[0].x + ((d.points[3].x - d.points[0].x)/2) + 130;\n })\n .attr('y', (d) => {\n return ((d.points[2].y - d.points[1].y)/2) + d.points[1].y\n + margin.top + 5;\n })\n .attr('class', (d) => { return 'text-label ' + d.label; })\n .text((d) => { return d.name; })\n .call(textWrap, margin.left)\n .attr('cursor', 'pointer');\n }\n\n //rendering percents for each step\n if(show && !resultValues){\n chart\n .selectAll('text.label')\n .data(polygons)\n .enter()\n .append('text')\n .style('text-anchor', 'middle')\n .attr('x', svgWidth/2 + margin.left)\n .attr('y', (d) => {\n return ((d.points[2].y - d.points[1].y)/2) + d.points[1].y\n + margin.top + 8\n })\n .attr('class', (d) => { return 'text-main ' + d.label; })\n .text((d) => { return d.percent; })\n .attr('cursor', 'pointer');\n }\n\n //rendering results for each step\n if(resultValues && !show){\n chart\n .selectAll('text.label')\n .data(polygons)\n .enter()\n .append('text')\n .style('text-anchor', 'middle')\n .attr('x', svgWidth/2 + margin.left)\n .attr('y', (d) => {\n return ((d.points[2].y - d.points[1].y)/2) + d.points[1].y\n + margin.top + 8\n })\n .attr('class', (d) => { return 'text-main ' + d.label; })\n .text((d) => { return d.result; })\n .attr('cursor', 'pointer');\n }\n\n //rendering results and percenage together\n if(show && resultValues){\n //rendering percents\n chart\n .selectAll('text.label')\n .data(polygons)\n .enter()\n .append('text')\n .style('text-anchor', 'middle')\n .attr('x', svgWidth/2 + margin.left)\n .attr('y', (d) => {\n return ((d.points[2].y - d.points[1].y)/2) + d.points[1].y\n + margin.top + 18\n })\n .attr('class', (d) => { return 'text-second ' + d.label; })\n .text((d) => { return d.percent; })\n .attr('cursor', 'pointer');\n\n //rendering results\n chart\n .selectAll('text.label')\n .data(polygons)\n .enter()\n .append('text')\n .style('text-anchor', 'middle')\n .attr('x', svgWidth/2 + margin.left)\n .attr('y', (d) => {\n return ((d.points[2].y - d.points[1].y)/2) + d.points[1].y\n + margin.top + 3\n })\n .attr('class', (d) => { return 'text-main ' + d.label; })\n .text((d) => { return d.result; })\n .attr('cursor', 'pointer');\n }\n //hover handling\n if(hover){\n const polygonsHover = chart.selectAll('polygon');\n polygonsHover\n .on(\"mouseover\", handleMouseOver)\n .on(\"mouseout\", handleMouseOut);\n\n const labelHover = chart.selectAll('text');\n labelHover\n .on(\"mouseover\", handleMouseOver)\n .on(\"mouseout\", handleMouseOut);\n\n function handleMouseOver(d) {\n polygonsHover\n .style('opacity', 0.5);\n labelHover\n .style('opacity', 0.5);\n const thisLabel = /[^ ]*$/.exec(d3.select(this).attr('class'))[0];\n chart\n .selectAll(`.${thisLabel}`)\n .style('opacity', 1);\n }\n function handleMouseOut(d) {\n polygonsHover\n .style('opacity', 1);\n labelHover\n .style('opacity', 1);\n }\n }\n }\n update() {\n this.destroy();\n this.render();\n }\n destroy() {\n const { container } = this.config;\n const chartContainer = d3.select(container + ' .c3-chart > *');\n chartContainer.remove();\n }\n}\n","import * as d3 from 'd3';\nimport { textWrap } from '../../utils/svg-text-wrap';\nimport { prettyNumber } from '../../utils/pretty-number';\n\nexport default class Funnel {\n render() {\n const { matrix } = this.dataset;\n const {\n colors,\n container,\n labelMapping,\n colorMapping,\n } = this.config;\n const opts = this.config;\n const {\n percents: {\n show,\n countingMethod,\n decimals,\n },\n lines,\n marginBetweenSteps,\n resultValues,\n hover,\n } = this.config.funnel;\n const margin = { top: 10, right: 30, bottom: 30, left: 200 };\n let yMarginElement = 0;\n if(marginBetweenSteps){\n yMarginElement = 5;\n }\n const funnelContainer = d3.select(container);\n const chartContainer = d3.select(container + ' .c3-chart');\n const chart = chartContainer.append('svg');\n const svgWidth = funnelContainer.style('width').slice(0, -2)\n - margin.right - margin.left;\n const svgHeight = funnelContainer.style('height').slice(0, -2)\n - margin.top - margin.bottom - 30;\n const elemHeight = svgHeight/(matrix.length - 1);\n let prevElemWidth = svgWidth;\n let percent = (100).toFixed(decimals);\n\n // prepare normal funnel polygons\n const polygons = matrix.slice(1).map((d, i) => {\n const newPoints = [\n {\n x: ((svgWidth - prevElemWidth)/2),\n y: elemHeight * i + yMarginElement\n },\n {\n x: ((svgWidth - prevElemWidth)/2 + prevElemWidth),\n y: elemHeight * i + yMarginElement\n },\n ]\n if(i !== 0){\n if(countingMethod === 'relative'){\n prevElemWidth = prevElemWidth * d[1]/matrix[i][1];\n percent = ((d[1]/matrix[i][1])*100).toFixed(decimals);\n }\n if(countingMethod === 'absolute'){\n prevElemWidth = svgWidth * d[1]/matrix[1][1];\n percent = ((d[1]/matrix[1][1])*100).toFixed(decimals);\n }\n }\n let label = d[0];\n if(Object.keys(labelMapping).length){\n for (let key in labelMapping) {\n if(labelMapping[key] === d[0]) {\n label = key;\n }\n }\n }\n let result = d[1];\n if ( (typeof opts['prettyNumber'] === 'undefined' || opts['prettyNumber'] === true)\n && !isNaN(parseInt(d[1])) ) {\n result = prettyNumber(d[1]);\n }\n return {\n name: d[0],\n label,\n percent: percent + '%',\n result,\n points: [\n ...newPoints,\n {\n x: ((svgWidth - prevElemWidth)/2 + prevElemWidth),\n y: elemHeight * (i + 1)\n },\n {\n x: ((svgWidth - prevElemWidth)/2),\n y: elemHeight * (i + 1)\n }\n ]\n }\n });\n\n //chart rendering with polygons\n chart\n .attr('height', svgHeight + margin.top + margin.bottom - 30)\n .attr('width', svgWidth + margin.left + margin.right)\n .append('g')\n .attr('transform', 'translate(' + margin.left + ',' + margin.top + ')')\n .selectAll('polygon')\n .data(polygons)\n .enter()\n .append('polygon')\n .attr('points', (d) => {\n return d.points.map((p) => {\n return [p.x,p.y].join(',');\n })\n .join(' ');\n })\n .style('fill', (d, i) => {\n if(colorMapping[d.label]){\n return colorMapping[d.label];\n }\n return colors[i];\n })\n .attr('class', (d) => { return d.label; })\n .attr('cursor', 'pointer');\n\n if(lines){\n //rendering lines\n chart\n .selectAll('line')\n .data(polygons)\n .enter()\n .append('line')\n .attr('x1', 10)\n .attr('y1', (d) => {\n return d.points[0].y + margin.top - (yMarginElement/2);\n })\n .attr('x2', (d) => { return d.points[1].x + margin.left; })\n .attr('y2', (d) => {\n return d.points[0].y + margin.top - (yMarginElement/2);\n })\n .attr('class', 'chart-lines');\n\n //rendering last line\n chart\n .append('line')\n .attr('x1', 10)\n .attr('y1', polygons[polygons.length-1].points[2].y\n + margin.top + (yMarginElement/2))\n .attr('x2', polygons[polygons.length-1].points[2].x + margin.left)\n .attr('y2', polygons[polygons.length-1].points[2].y\n + margin.top + (yMarginElement/2))\n .attr('class', 'chart-lines');\n }\n\n //rendering labels when lines are visible\n if(lines){\n chart\n .selectAll('text.label')\n .data(polygons)\n .enter()\n .append('text')\n .style('text-anchor', 'start')\n .attr('x', 20)\n .attr('y', (d) => {\n return ((d.points[2].y - d.points[1].y)/2) + d.points[1].y\n + margin.top + yMarginElement + 5\n })\n .attr('class', (d) => { return 'text-label ' + d.label; })\n .text((d) => { return d.name; })\n .call(textWrap, margin.left)\n .attr('cursor', 'pointer');\n }\n\n //rendering labels when lines are not visible\n if(!lines) {\n chart\n .selectAll('text.label')\n .data(polygons)\n .enter()\n .append('text')\n .style('text-anchor', 'end')\n .attr('x', (d) => {\n return d.points[0].x + ((d.points[3].x - d.points[0].x)/2)\n + (margin.left * 0.9);\n })\n .attr('y', (d) => {\n return ((d.points[2].y - d.points[1].y)/2) + d.points[1].y\n + margin.top + yMarginElement + 5\n })\n .attr('class', (d) => { return 'text-label ' + d.label; })\n .text((d) => { return d.name; })\n .call(textWrap, margin.left)\n .attr('cursor', 'pointer');\n }\n\n //rendering percents for each step\n if(show && !resultValues){\n chart\n .selectAll('text.label')\n .data(polygons)\n .enter()\n .append('text')\n .style('text-anchor', 'middle')\n .attr('x', svgWidth/2 + margin.left)\n .attr('y', (d) => {\n return ((d.points[2].y - d.points[1].y)/2) + d.points[1].y\n + margin.top + yMarginElement + 8\n })\n .attr('class', (d) => { return 'text-main ' + d.label; })\n .text((d) => { return d.percent; })\n .attr('cursor', 'pointer');\n }\n\n //rendering results for each step\n if(resultValues && !show){\n chart\n .selectAll('text.label')\n .data(polygons)\n .enter()\n .append('text')\n .style('text-anchor', 'middle')\n .attr('x', svgWidth/2 + margin.left)\n .attr('y', (d) => {\n return ((d.points[2].y - d.points[1].y)/2) + d.points[1].y\n + margin.top + yMarginElement + 8\n })\n .attr('class', (d) => { return 'text-main ' + d.label; })\n .text((d) => { return d.result; })\n .attr('cursor', 'pointer');\n }\n\n //rendering results and percenage together\n if(show && resultValues){\n //rendering percents\n chart\n .selectAll('text.label')\n .data(polygons)\n .enter()\n .append('text')\n .style('text-anchor', 'middle')\n .attr('x', svgWidth/2 + margin.left)\n .attr('y', (d) => {\n if(yMarginElement === 0){\n return ((d.points[2].y - d.points[1].y)/2) + d.points[1].y\n + margin.top + 16\n }\n return ((d.points[2].y - d.points[1].y)/2) + d.points[1].y\n + margin.top + yMarginElement + 12\n })\n .attr('class', (d) => { return 'text-second ' + d.label; })\n .text((d) => { return d.percent; })\n .attr('cursor', 'pointer');\n\n //rendering results\n chart\n .selectAll('text.label')\n .data(polygons)\n .enter()\n .append('text')\n .style('text-anchor', 'middle')\n .attr('x', svgWidth/2 + margin.left)\n .attr('y', (d) => {\n if(yMarginElement === 0){\n return ((d.points[2].y - d.points[1].y)/2) + d.points[1].y\n + margin.top;\n }\n return ((d.points[2].y - d.points[1].y)/2) + d.points[1].y\n + margin.top + yMarginElement - 5;\n })\n .attr('class', (d) => { return 'text-main ' + d.label; })\n .text((d) => { return d.result; })\n .attr('cursor', 'pointer');\n }\n //hover handling\n if(hover){\n const polygonsHover = chart.selectAll('polygon');\n polygonsHover\n .on(\"mouseover\", handleMouseOver)\n .on(\"mouseout\", handleMouseOut);\n\n const labelHover = chart.selectAll('text');\n labelHover\n .on(\"mouseover\", handleMouseOver)\n .on(\"mouseout\", handleMouseOut);\n\n function handleMouseOver(d) {\n polygonsHover\n .style('opacity', 0.5);\n labelHover\n .style('opacity', 0.5);\n const thisLabel = /[^ ]*$/.exec(d3.select(this).attr('class'))[0];\n chart\n .selectAll(`.${thisLabel}`)\n .style('opacity', 1);\n }\n function handleMouseOut(d) {\n polygonsHover\n .style('opacity', 1);\n labelHover\n .style('opacity', 1);\n }\n }\n }\n update() {\n this.destroy();\n this.render();\n }\n destroy() {\n const { container } = this.config;\n const chartContainer = d3.select(container + ' .c3-chart > *');\n chartContainer.remove();\n }\n}\n","export default {\n render: function(){\n let html = '';\n const artifacts = this.view._artifacts.spinner = {};\n\n // Build DOM element\n html += '
';\n html += '
';\n html += '
';\n html += '
';\n html += '
';\n this.el().innerHTML = html;\n },\n update: function(){\n // no special update handling\n this.render();\n },\n destroy: function(){\n if (this.view._artifacts.spinner) {\n if (this.view._artifacts.spinner.interval) {\n clearInterval(this.view._artifacts.spinner.interval);\n }\n this.view._artifacts.spinner.radius = 0;\n try {\n delete this.view._artifacts.spinner;\n }\n catch (e) {\n this.view._artifacts.spinner = undefined;\n }\n }\n this.el().innerHTML = '';\n }\n};\n","var map = {\n\t\"./af\": 133,\n\t\"./af.js\": 133,\n\t\"./ar\": 132,\n\t\"./ar-dz\": 131,\n\t\"./ar-dz.js\": 131,\n\t\"./ar-kw\": 130,\n\t\"./ar-kw.js\": 130,\n\t\"./ar-ly\": 129,\n\t\"./ar-ly.js\": 129,\n\t\"./ar-ma\": 128,\n\t\"./ar-ma.js\": 128,\n\t\"./ar-sa\": 127,\n\t\"./ar-sa.js\": 127,\n\t\"./ar-tn\": 126,\n\t\"./ar-tn.js\": 126,\n\t\"./ar.js\": 132,\n\t\"./az\": 125,\n\t\"./az.js\": 125,\n\t\"./be\": 124,\n\t\"./be.js\": 124,\n\t\"./bg\": 123,\n\t\"./bg.js\": 123,\n\t\"./bm\": 122,\n\t\"./bm.js\": 122,\n\t\"./bn\": 121,\n\t\"./bn.js\": 121,\n\t\"./bo\": 120,\n\t\"./bo.js\": 120,\n\t\"./br\": 119,\n\t\"./br.js\": 119,\n\t\"./bs\": 118,\n\t\"./bs.js\": 118,\n\t\"./ca\": 117,\n\t\"./ca.js\": 117,\n\t\"./cs\": 116,\n\t\"./cs.js\": 116,\n\t\"./cv\": 115,\n\t\"./cv.js\": 115,\n\t\"./cy\": 114,\n\t\"./cy.js\": 114,\n\t\"./da\": 113,\n\t\"./da.js\": 113,\n\t\"./de\": 112,\n\t\"./de-at\": 111,\n\t\"./de-at.js\": 111,\n\t\"./de-ch\": 110,\n\t\"./de-ch.js\": 110,\n\t\"./de.js\": 112,\n\t\"./dv\": 109,\n\t\"./dv.js\": 109,\n\t\"./el\": 108,\n\t\"./el.js\": 108,\n\t\"./en-au\": 107,\n\t\"./en-au.js\": 107,\n\t\"./en-ca\": 106,\n\t\"./en-ca.js\": 106,\n\t\"./en-gb\": 105,\n\t\"./en-gb.js\": 105,\n\t\"./en-ie\": 104,\n\t\"./en-ie.js\": 104,\n\t\"./en-il\": 103,\n\t\"./en-il.js\": 103,\n\t\"./en-nz\": 102,\n\t\"./en-nz.js\": 102,\n\t\"./eo\": 101,\n\t\"./eo.js\": 101,\n\t\"./es\": 100,\n\t\"./es-do\": 99,\n\t\"./es-do.js\": 99,\n\t\"./es-us\": 98,\n\t\"./es-us.js\": 98,\n\t\"./es.js\": 100,\n\t\"./et\": 97,\n\t\"./et.js\": 97,\n\t\"./eu\": 96,\n\t\"./eu.js\": 96,\n\t\"./fa\": 95,\n\t\"./fa.js\": 95,\n\t\"./fi\": 94,\n\t\"./fi.js\": 94,\n\t\"./fo\": 93,\n\t\"./fo.js\": 93,\n\t\"./fr\": 92,\n\t\"./fr-ca\": 91,\n\t\"./fr-ca.js\": 91,\n\t\"./fr-ch\": 90,\n\t\"./fr-ch.js\": 90,\n\t\"./fr.js\": 92,\n\t\"./fy\": 89,\n\t\"./fy.js\": 89,\n\t\"./gd\": 88,\n\t\"./gd.js\": 88,\n\t\"./gl\": 87,\n\t\"./gl.js\": 87,\n\t\"./gom-latn\": 86,\n\t\"./gom-latn.js\": 86,\n\t\"./gu\": 85,\n\t\"./gu.js\": 85,\n\t\"./he\": 84,\n\t\"./he.js\": 84,\n\t\"./hi\": 83,\n\t\"./hi.js\": 83,\n\t\"./hr\": 82,\n\t\"./hr.js\": 82,\n\t\"./hu\": 81,\n\t\"./hu.js\": 81,\n\t\"./hy-am\": 80,\n\t\"./hy-am.js\": 80,\n\t\"./id\": 79,\n\t\"./id.js\": 79,\n\t\"./is\": 78,\n\t\"./is.js\": 78,\n\t\"./it\": 77,\n\t\"./it.js\": 77,\n\t\"./ja\": 76,\n\t\"./ja.js\": 76,\n\t\"./jv\": 75,\n\t\"./jv.js\": 75,\n\t\"./ka\": 74,\n\t\"./ka.js\": 74,\n\t\"./kk\": 73,\n\t\"./kk.js\": 73,\n\t\"./km\": 72,\n\t\"./km.js\": 72,\n\t\"./kn\": 71,\n\t\"./kn.js\": 71,\n\t\"./ko\": 70,\n\t\"./ko.js\": 70,\n\t\"./ky\": 69,\n\t\"./ky.js\": 69,\n\t\"./lb\": 68,\n\t\"./lb.js\": 68,\n\t\"./lo\": 67,\n\t\"./lo.js\": 67,\n\t\"./lt\": 66,\n\t\"./lt.js\": 66,\n\t\"./lv\": 65,\n\t\"./lv.js\": 65,\n\t\"./me\": 64,\n\t\"./me.js\": 64,\n\t\"./mi\": 63,\n\t\"./mi.js\": 63,\n\t\"./mk\": 62,\n\t\"./mk.js\": 62,\n\t\"./ml\": 61,\n\t\"./ml.js\": 61,\n\t\"./mn\": 60,\n\t\"./mn.js\": 60,\n\t\"./mr\": 59,\n\t\"./mr.js\": 59,\n\t\"./ms\": 58,\n\t\"./ms-my\": 57,\n\t\"./ms-my.js\": 57,\n\t\"./ms.js\": 58,\n\t\"./mt\": 56,\n\t\"./mt.js\": 56,\n\t\"./my\": 55,\n\t\"./my.js\": 55,\n\t\"./nb\": 54,\n\t\"./nb.js\": 54,\n\t\"./ne\": 53,\n\t\"./ne.js\": 53,\n\t\"./nl\": 52,\n\t\"./nl-be\": 51,\n\t\"./nl-be.js\": 51,\n\t\"./nl.js\": 52,\n\t\"./nn\": 50,\n\t\"./nn.js\": 50,\n\t\"./pa-in\": 49,\n\t\"./pa-in.js\": 49,\n\t\"./pl\": 48,\n\t\"./pl.js\": 48,\n\t\"./pt\": 47,\n\t\"./pt-br\": 46,\n\t\"./pt-br.js\": 46,\n\t\"./pt.js\": 47,\n\t\"./ro\": 45,\n\t\"./ro.js\": 45,\n\t\"./ru\": 44,\n\t\"./ru.js\": 44,\n\t\"./sd\": 43,\n\t\"./sd.js\": 43,\n\t\"./se\": 42,\n\t\"./se.js\": 42,\n\t\"./si\": 41,\n\t\"./si.js\": 41,\n\t\"./sk\": 40,\n\t\"./sk.js\": 40,\n\t\"./sl\": 39,\n\t\"./sl.js\": 39,\n\t\"./sq\": 38,\n\t\"./sq.js\": 38,\n\t\"./sr\": 37,\n\t\"./sr-cyrl\": 36,\n\t\"./sr-cyrl.js\": 36,\n\t\"./sr.js\": 37,\n\t\"./ss\": 35,\n\t\"./ss.js\": 35,\n\t\"./sv\": 34,\n\t\"./sv.js\": 34,\n\t\"./sw\": 33,\n\t\"./sw.js\": 33,\n\t\"./ta\": 32,\n\t\"./ta.js\": 32,\n\t\"./te\": 31,\n\t\"./te.js\": 31,\n\t\"./tet\": 30,\n\t\"./tet.js\": 30,\n\t\"./tg\": 29,\n\t\"./tg.js\": 29,\n\t\"./th\": 28,\n\t\"./th.js\": 28,\n\t\"./tl-ph\": 27,\n\t\"./tl-ph.js\": 27,\n\t\"./tlh\": 26,\n\t\"./tlh.js\": 26,\n\t\"./tr\": 25,\n\t\"./tr.js\": 25,\n\t\"./tzl\": 24,\n\t\"./tzl.js\": 24,\n\t\"./tzm\": 23,\n\t\"./tzm-latn\": 22,\n\t\"./tzm-latn.js\": 22,\n\t\"./tzm.js\": 23,\n\t\"./ug-cn\": 21,\n\t\"./ug-cn.js\": 21,\n\t\"./uk\": 20,\n\t\"./uk.js\": 20,\n\t\"./ur\": 19,\n\t\"./ur.js\": 19,\n\t\"./uz\": 18,\n\t\"./uz-latn\": 17,\n\t\"./uz-latn.js\": 17,\n\t\"./uz.js\": 18,\n\t\"./vi\": 16,\n\t\"./vi.js\": 16,\n\t\"./x-pseudo\": 15,\n\t\"./x-pseudo.js\": 15,\n\t\"./yo\": 14,\n\t\"./yo.js\": 14,\n\t\"./zh-cn\": 13,\n\t\"./zh-cn.js\": 13,\n\t\"./zh-hk\": 12,\n\t\"./zh-hk.js\": 12,\n\t\"./zh-tw\": 11,\n\t\"./zh-tw.js\": 11\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\tvar module = __webpack_require__(id);\n\treturn module;\n}\nfunction webpackContextResolve(req) {\n\tvar id = map[req];\n\tif(!(id + 1)) { // check for number or string\n\t\tvar e = new Error('Cannot find module \"' + req + '\".');\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn id;\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 145;","module.exports = function(module) {\r\n\tif (!module.webpackPolyfill) {\r\n\t\tmodule.deprecate = function() {};\r\n\t\tmodule.paths = [];\r\n\t\t// module.parent = undefined by default\r\n\t\tif (!module.children) module.children = [];\r\n\t\tObject.defineProperty(module, \"loaded\", {\r\n\t\t\tenumerable: true,\r\n\t\t\tget: function() {\r\n\t\t\t\treturn module.l;\r\n\t\t\t}\r\n\t\t});\r\n\t\tObject.defineProperty(module, \"id\", {\r\n\t\t\tenumerable: true,\r\n\t\t\tget: function() {\r\n\t\t\t\treturn module.i;\r\n\t\t\t}\r\n\t\t});\r\n\t\tmodule.webpackPolyfill = 1;\r\n\t}\r\n\treturn module;\r\n};\r\n","//! moment-timezone.js\n//! version : 0.5.21\n//! Copyright (c) JS Foundation and other contributors\n//! license : MIT\n//! github.com/moment/moment-timezone\n\n(function (root, factory) {\n\t\"use strict\";\n\n\t/*global define*/\n\tif (typeof module === 'object' && module.exports) {\n\t\tmodule.exports = factory(require('moment')); // Node\n\t} else if (typeof define === 'function' && define.amd) {\n\t\tdefine(['moment'], factory); // AMD\n\t} else {\n\t\tfactory(root.moment); // Browser\n\t}\n}(this, function (moment) {\n\t\"use strict\";\n\n\t// Do not load moment-timezone a second time.\n\t// if (moment.tz !== undefined) {\n\t// \tlogError('Moment Timezone ' + moment.tz.version + ' was already loaded ' + (moment.tz.dataVersion ? 'with data from ' : 'without any data') + moment.tz.dataVersion);\n\t// \treturn moment;\n\t// }\n\n\tvar VERSION = \"0.5.21\",\n\t\tzones = {},\n\t\tlinks = {},\n\t\tnames = {},\n\t\tguesses = {},\n\t\tcachedGuess;\n\n\tif (!moment || typeof moment.version !== 'string') {\n\t\tlogError('Moment Timezone requires Moment.js. See https://momentjs.com/timezone/docs/#/use-it/browser/');\n\t}\n\n\tvar momentVersion = moment.version.split('.'),\n\t\tmajor = +momentVersion[0],\n\t\tminor = +momentVersion[1];\n\n\t// Moment.js version check\n\tif (major < 2 || (major === 2 && minor < 6)) {\n\t\tlogError('Moment Timezone requires Moment.js >= 2.6.0. You are using Moment.js ' + moment.version + '. See momentjs.com');\n\t}\n\n\t/************************************\n\t\tUnpacking\n\t************************************/\n\n\tfunction charCodeToInt(charCode) {\n\t\tif (charCode > 96) {\n\t\t\treturn charCode - 87;\n\t\t} else if (charCode > 64) {\n\t\t\treturn charCode - 29;\n\t\t}\n\t\treturn charCode - 48;\n\t}\n\n\tfunction unpackBase60(string) {\n\t\tvar i = 0,\n\t\t\tparts = string.split('.'),\n\t\t\twhole = parts[0],\n\t\t\tfractional = parts[1] || '',\n\t\t\tmultiplier = 1,\n\t\t\tnum,\n\t\t\tout = 0,\n\t\t\tsign = 1;\n\n\t\t// handle negative numbers\n\t\tif (string.charCodeAt(0) === 45) {\n\t\t\ti = 1;\n\t\t\tsign = -1;\n\t\t}\n\n\t\t// handle digits before the decimal\n\t\tfor (i; i < whole.length; i++) {\n\t\t\tnum = charCodeToInt(whole.charCodeAt(i));\n\t\t\tout = 60 * out + num;\n\t\t}\n\n\t\t// handle digits after the decimal\n\t\tfor (i = 0; i < fractional.length; i++) {\n\t\t\tmultiplier = multiplier / 60;\n\t\t\tnum = charCodeToInt(fractional.charCodeAt(i));\n\t\t\tout += num * multiplier;\n\t\t}\n\n\t\treturn out * sign;\n\t}\n\n\tfunction arrayToInt (array) {\n\t\tfor (var i = 0; i < array.length; i++) {\n\t\t\tarray[i] = unpackBase60(array[i]);\n\t\t}\n\t}\n\n\tfunction intToUntil (array, length) {\n\t\tfor (var i = 0; i < length; i++) {\n\t\t\tarray[i] = Math.round((array[i - 1] || 0) + (array[i] * 60000)); // minutes to milliseconds\n\t\t}\n\n\t\tarray[length - 1] = Infinity;\n\t}\n\n\tfunction mapIndices (source, indices) {\n\t\tvar out = [], i;\n\n\t\tfor (i = 0; i < indices.length; i++) {\n\t\t\tout[i] = source[indices[i]];\n\t\t}\n\n\t\treturn out;\n\t}\n\n\tfunction unpack (string) {\n\t\tvar data = string.split('|'),\n\t\t\toffsets = data[2].split(' '),\n\t\t\tindices = data[3].split(''),\n\t\t\tuntils = data[4].split(' ');\n\n\t\tarrayToInt(offsets);\n\t\tarrayToInt(indices);\n\t\tarrayToInt(untils);\n\n\t\tintToUntil(untils, indices.length);\n\n\t\treturn {\n\t\t\tname : data[0],\n\t\t\tabbrs : mapIndices(data[1].split(' '), indices),\n\t\t\toffsets : mapIndices(offsets, indices),\n\t\t\tuntils : untils,\n\t\t\tpopulation : data[5] | 0\n\t\t};\n\t}\n\n\t/************************************\n\t\tZone object\n\t************************************/\n\n\tfunction Zone (packedString) {\n\t\tif (packedString) {\n\t\t\tthis._set(unpack(packedString));\n\t\t}\n\t}\n\n\tZone.prototype = {\n\t\t_set : function (unpacked) {\n\t\t\tthis.name = unpacked.name;\n\t\t\tthis.abbrs = unpacked.abbrs;\n\t\t\tthis.untils = unpacked.untils;\n\t\t\tthis.offsets = unpacked.offsets;\n\t\t\tthis.population = unpacked.population;\n\t\t},\n\n\t\t_index : function (timestamp) {\n\t\t\tvar target = +timestamp,\n\t\t\t\tuntils = this.untils,\n\t\t\t\ti;\n\n\t\t\tfor (i = 0; i < untils.length; i++) {\n\t\t\t\tif (target < untils[i]) {\n\t\t\t\t\treturn i;\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\tparse : function (timestamp) {\n\t\t\tvar target = +timestamp,\n\t\t\t\toffsets = this.offsets,\n\t\t\t\tuntils = this.untils,\n\t\t\t\tmax = untils.length - 1,\n\t\t\t\toffset, offsetNext, offsetPrev, i;\n\n\t\t\tfor (i = 0; i < max; i++) {\n\t\t\t\toffset = offsets[i];\n\t\t\t\toffsetNext = offsets[i + 1];\n\t\t\t\toffsetPrev = offsets[i ? i - 1 : i];\n\n\t\t\t\tif (offset < offsetNext && tz.moveAmbiguousForward) {\n\t\t\t\t\toffset = offsetNext;\n\t\t\t\t} else if (offset > offsetPrev && tz.moveInvalidForward) {\n\t\t\t\t\toffset = offsetPrev;\n\t\t\t\t}\n\n\t\t\t\tif (target < untils[i] - (offset * 60000)) {\n\t\t\t\t\treturn offsets[i];\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn offsets[max];\n\t\t},\n\n\t\tabbr : function (mom) {\n\t\t\treturn this.abbrs[this._index(mom)];\n\t\t},\n\n\t\toffset : function (mom) {\n\t\t\tlogError(\"zone.offset has been deprecated in favor of zone.utcOffset\");\n\t\t\treturn this.offsets[this._index(mom)];\n\t\t},\n\n\t\tutcOffset : function (mom) {\n\t\t\treturn this.offsets[this._index(mom)];\n\t\t}\n\t};\n\n\t/************************************\n\t\tCurrent Timezone\n\t************************************/\n\n\tfunction OffsetAt(at) {\n\t\tvar timeString = at.toTimeString();\n\t\tvar abbr = timeString.match(/\\([a-z ]+\\)/i);\n\t\tif (abbr && abbr[0]) {\n\t\t\t// 17:56:31 GMT-0600 (CST)\n\t\t\t// 17:56:31 GMT-0600 (Central Standard Time)\n\t\t\tabbr = abbr[0].match(/[A-Z]/g);\n\t\t\tabbr = abbr ? abbr.join('') : undefined;\n\t\t} else {\n\t\t\t// 17:56:31 CST\n\t\t\t// 17:56:31 GMT+0800 (台北標準時間)\n\t\t\tabbr = timeString.match(/[A-Z]{3,5}/g);\n\t\t\tabbr = abbr ? abbr[0] : undefined;\n\t\t}\n\n\t\tif (abbr === 'GMT') {\n\t\t\tabbr = undefined;\n\t\t}\n\n\t\tthis.at = +at;\n\t\tthis.abbr = abbr;\n\t\tthis.offset = at.getTimezoneOffset();\n\t}\n\n\tfunction ZoneScore(zone) {\n\t\tthis.zone = zone;\n\t\tthis.offsetScore = 0;\n\t\tthis.abbrScore = 0;\n\t}\n\n\tZoneScore.prototype.scoreOffsetAt = function (offsetAt) {\n\t\tthis.offsetScore += Math.abs(this.zone.utcOffset(offsetAt.at) - offsetAt.offset);\n\t\tif (this.zone.abbr(offsetAt.at).replace(/[^A-Z]/g, '') !== offsetAt.abbr) {\n\t\t\tthis.abbrScore++;\n\t\t}\n\t};\n\n\tfunction findChange(low, high) {\n\t\tvar mid, diff;\n\n\t\twhile ((diff = ((high.at - low.at) / 12e4 | 0) * 6e4)) {\n\t\t\tmid = new OffsetAt(new Date(low.at + diff));\n\t\t\tif (mid.offset === low.offset) {\n\t\t\t\tlow = mid;\n\t\t\t} else {\n\t\t\t\thigh = mid;\n\t\t\t}\n\t\t}\n\n\t\treturn low;\n\t}\n\n\tfunction userOffsets() {\n\t\tvar startYear = new Date().getFullYear() - 2,\n\t\t\tlast = new OffsetAt(new Date(startYear, 0, 1)),\n\t\t\toffsets = [last],\n\t\t\tchange, next, i;\n\n\t\tfor (i = 1; i < 48; i++) {\n\t\t\tnext = new OffsetAt(new Date(startYear, i, 1));\n\t\t\tif (next.offset !== last.offset) {\n\t\t\t\tchange = findChange(last, next);\n\t\t\t\toffsets.push(change);\n\t\t\t\toffsets.push(new OffsetAt(new Date(change.at + 6e4)));\n\t\t\t}\n\t\t\tlast = next;\n\t\t}\n\n\t\tfor (i = 0; i < 4; i++) {\n\t\t\toffsets.push(new OffsetAt(new Date(startYear + i, 0, 1)));\n\t\t\toffsets.push(new OffsetAt(new Date(startYear + i, 6, 1)));\n\t\t}\n\n\t\treturn offsets;\n\t}\n\n\tfunction sortZoneScores (a, b) {\n\t\tif (a.offsetScore !== b.offsetScore) {\n\t\t\treturn a.offsetScore - b.offsetScore;\n\t\t}\n\t\tif (a.abbrScore !== b.abbrScore) {\n\t\t\treturn a.abbrScore - b.abbrScore;\n\t\t}\n\t\treturn b.zone.population - a.zone.population;\n\t}\n\n\tfunction addToGuesses (name, offsets) {\n\t\tvar i, offset;\n\t\tarrayToInt(offsets);\n\t\tfor (i = 0; i < offsets.length; i++) {\n\t\t\toffset = offsets[i];\n\t\t\tguesses[offset] = guesses[offset] || {};\n\t\t\tguesses[offset][name] = true;\n\t\t}\n\t}\n\n\tfunction guessesForUserOffsets (offsets) {\n\t\tvar offsetsLength = offsets.length,\n\t\t\tfilteredGuesses = {},\n\t\t\tout = [],\n\t\t\ti, j, guessesOffset;\n\n\t\tfor (i = 0; i < offsetsLength; i++) {\n\t\t\tguessesOffset = guesses[offsets[i].offset] || {};\n\t\t\tfor (j in guessesOffset) {\n\t\t\t\tif (guessesOffset.hasOwnProperty(j)) {\n\t\t\t\t\tfilteredGuesses[j] = true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tfor (i in filteredGuesses) {\n\t\t\tif (filteredGuesses.hasOwnProperty(i)) {\n\t\t\t\tout.push(names[i]);\n\t\t\t}\n\t\t}\n\n\t\treturn out;\n\t}\n\n\tfunction rebuildGuess () {\n\n\t\t// use Intl API when available and returning valid time zone\n\t\ttry {\n\t\t\tvar intlName = Intl.DateTimeFormat().resolvedOptions().timeZone;\n\t\t\tif (intlName && intlName.length > 3) {\n\t\t\t\tvar name = names[normalizeName(intlName)];\n\t\t\t\tif (name) {\n\t\t\t\t\treturn name;\n\t\t\t\t}\n\t\t\t\tlogError(\"Moment Timezone found \" + intlName + \" from the Intl api, but did not have that data loaded.\");\n\t\t\t}\n\t\t} catch (e) {\n\t\t\t// Intl unavailable, fall back to manual guessing.\n\t\t}\n\n\t\tvar offsets = userOffsets(),\n\t\t\toffsetsLength = offsets.length,\n\t\t\tguesses = guessesForUserOffsets(offsets),\n\t\t\tzoneScores = [],\n\t\t\tzoneScore, i, j;\n\n\t\tfor (i = 0; i < guesses.length; i++) {\n\t\t\tzoneScore = new ZoneScore(getZone(guesses[i]), offsetsLength);\n\t\t\tfor (j = 0; j < offsetsLength; j++) {\n\t\t\t\tzoneScore.scoreOffsetAt(offsets[j]);\n\t\t\t}\n\t\t\tzoneScores.push(zoneScore);\n\t\t}\n\n\t\tzoneScores.sort(sortZoneScores);\n\n\t\treturn zoneScores.length > 0 ? zoneScores[0].zone.name : undefined;\n\t}\n\n\tfunction guess (ignoreCache) {\n\t\tif (!cachedGuess || ignoreCache) {\n\t\t\tcachedGuess = rebuildGuess();\n\t\t}\n\t\treturn cachedGuess;\n\t}\n\n\t/************************************\n\t\tGlobal Methods\n\t************************************/\n\n\tfunction normalizeName (name) {\n\t\treturn (name || '').toLowerCase().replace(/\\//g, '_');\n\t}\n\n\tfunction addZone (packed) {\n\t\tvar i, name, split, normalized;\n\n\t\tif (typeof packed === \"string\") {\n\t\t\tpacked = [packed];\n\t\t}\n\n\t\tfor (i = 0; i < packed.length; i++) {\n\t\t\tsplit = packed[i].split('|');\n\t\t\tname = split[0];\n\t\t\tnormalized = normalizeName(name);\n\t\t\tzones[normalized] = packed[i];\n\t\t\tnames[normalized] = name;\n\t\t\taddToGuesses(normalized, split[2].split(' '));\n\t\t}\n\t}\n\n\tfunction getZone (name, caller) {\n\t\t\n\t\tname = normalizeName(name);\n\n\t\tvar zone = zones[name];\n\t\tvar link;\n\n\t\tif (zone instanceof Zone) {\n\t\t\treturn zone;\n\t\t}\n\n\t\tif (typeof zone === 'string') {\n\t\t\tzone = new Zone(zone);\n\t\t\tzones[name] = zone;\n\t\t\treturn zone;\n\t\t}\n\n\t\t// Pass getZone to prevent recursion more than 1 level deep\n\t\tif (links[name] && caller !== getZone && (link = getZone(links[name], getZone))) {\n\t\t\tzone = zones[name] = new Zone();\n\t\t\tzone._set(link);\n\t\t\tzone.name = names[name];\n\t\t\treturn zone;\n\t\t}\n\n\t\treturn null;\n\t}\n\n\tfunction getNames () {\n\t\tvar i, out = [];\n\n\t\tfor (i in names) {\n\t\t\tif (names.hasOwnProperty(i) && (zones[i] || zones[links[i]]) && names[i]) {\n\t\t\t\tout.push(names[i]);\n\t\t\t}\n\t\t}\n\n\t\treturn out.sort();\n\t}\n\n\tfunction addLink (aliases) {\n\t\tvar i, alias, normal0, normal1;\n\n\t\tif (typeof aliases === \"string\") {\n\t\t\taliases = [aliases];\n\t\t}\n\n\t\tfor (i = 0; i < aliases.length; i++) {\n\t\t\talias = aliases[i].split('|');\n\n\t\t\tnormal0 = normalizeName(alias[0]);\n\t\t\tnormal1 = normalizeName(alias[1]);\n\n\t\t\tlinks[normal0] = normal1;\n\t\t\tnames[normal0] = alias[0];\n\n\t\t\tlinks[normal1] = normal0;\n\t\t\tnames[normal1] = alias[1];\n\t\t}\n\t}\n\n\tfunction loadData (data) {\n\t\taddZone(data.zones);\n\t\taddLink(data.links);\n\t\ttz.dataVersion = data.version;\n\t}\n\n\tfunction zoneExists (name) {\n\t\tif (!zoneExists.didShowError) {\n\t\t\tzoneExists.didShowError = true;\n\t\t\t\tlogError(\"moment.tz.zoneExists('\" + name + \"') has been deprecated in favor of !moment.tz.zone('\" + name + \"')\");\n\t\t}\n\t\treturn !!getZone(name);\n\t}\n\n\tfunction needsOffset (m) {\n\t\tvar isUnixTimestamp = (m._f === 'X' || m._f === 'x');\n\t\treturn !!(m._a && (m._tzm === undefined) && !isUnixTimestamp);\n\t}\n\n\tfunction logError (message) {\n\t\tif (typeof console !== 'undefined' && typeof console.error === 'function') {\n\t\t\tconsole.error(message);\n\t\t}\n\t}\n\n\t/************************************\n\t\tmoment.tz namespace\n\t************************************/\n\n\tfunction tz (input) {\n\t\tvar args = Array.prototype.slice.call(arguments, 0, -1),\n\t\t\tname = arguments[arguments.length - 1],\n\t\t\tzone = getZone(name),\n\t\t\tout = moment.utc.apply(null, args);\n\n\t\tif (zone && !moment.isMoment(input) && needsOffset(out)) {\n\t\t\tout.add(zone.parse(out), 'minutes');\n\t\t}\n\n\t\tout.tz(name);\n\n\t\treturn out;\n\t}\n\n\ttz.version = VERSION;\n\ttz.dataVersion = '';\n\ttz._zones = zones;\n\ttz._links = links;\n\ttz._names = names;\n\ttz.add = addZone;\n\ttz.link = addLink;\n\ttz.load = loadData;\n\ttz.zone = getZone;\n\ttz.zoneExists = zoneExists; // deprecated in 0.1.0\n\ttz.guess = guess;\n\ttz.names = getNames;\n\ttz.Zone = Zone;\n\ttz.unpack = unpack;\n\ttz.unpackBase60 = unpackBase60;\n\ttz.needsOffset = needsOffset;\n\ttz.moveInvalidForward = true;\n\ttz.moveAmbiguousForward = false;\n\n\t/************************************\n\t\tInterface with Moment.js\n\t************************************/\n\n\tvar fn = moment.fn;\n\n\tmoment.tz = tz;\n\n\tmoment.defaultZone = null;\n\n\tmoment.updateOffset = function (mom, keepTime) {\n\t\tvar zone = moment.defaultZone,\n\t\t\toffset;\n\n\t\tif (mom._z === undefined) {\n\t\t\tif (zone && needsOffset(mom) && !mom._isUTC) {\n\t\t\t\tmom._d = moment.utc(mom._a)._d;\n\t\t\t\tmom.utc().add(zone.parse(mom), 'minutes');\n\t\t\t}\n\t\t\tmom._z = zone;\n\t\t}\n\t\tif (mom._z) {\n\t\t\toffset = mom._z.utcOffset(mom);\n\t\t\tif (Math.abs(offset) < 16) {\n\t\t\t\toffset = offset / 60;\n\t\t\t}\n\t\t\tif (mom.utcOffset !== undefined) {\n\t\t\t\tmom.utcOffset(-offset, keepTime);\n\t\t\t} else {\n\t\t\t\tmom.zone(offset, keepTime);\n\t\t\t}\n\t\t}\n\t};\n\n\tfn.tz = function (name, keepTime) {\n\t\tif (name) {\n\t\t\tif (typeof name !== 'string') {\n\t\t\t\tthrow new Error('Time zone name must be a string, got ' + name + ' [' + typeof name + ']');\n\t\t\t}\n\t\t\tthis._z = getZone(name);\n\t\t\tif (this._z) {\n\t\t\t\tmoment.updateOffset(this, keepTime);\n\t\t\t} else {\n\t\t\t\tlogError(\"Moment Timezone has no data for \" + name + \". See http://momentjs.com/timezone/docs/#/data-loading/.\");\n\t\t\t}\n\t\t\treturn this;\n\t\t}\n\t\tif (this._z) { return this._z.name; }\n\t};\n\n\tfunction abbrWrap (old) {\n\t\treturn function () {\n\t\t\tif (this._z) { return this._z.abbr(this); }\n\t\t\treturn old.call(this);\n\t\t};\n\t}\n\n\tfunction resetZoneWrap (old) {\n\t\treturn function () {\n\t\t\tthis._z = null;\n\t\t\treturn old.apply(this, arguments);\n\t\t};\n\t}\n\n\tfn.zoneName = abbrWrap(fn.zoneName);\n\tfn.zoneAbbr = abbrWrap(fn.zoneAbbr);\n\tfn.utc = resetZoneWrap(fn.utc);\n\n\tmoment.tz.setDefault = function(name) {\n\t\tif (major < 2 || (major === 2 && minor < 9)) {\n\t\t\tlogError('Moment Timezone setDefault() requires Moment.js >= 2.9.0. You are using Moment.js ' + moment.version + '.');\n\t\t}\n\t\tmoment.defaultZone = name ? getZone(name) : null;\n\t\treturn moment;\n\t};\n\n\t// Cloning a moment should include the _z property.\n\tvar momentProperties = moment.momentProperties;\n\tif (Object.prototype.toString.call(momentProperties) === '[object Array]') {\n\t\t// moment 2.8.1+\n\t\tmomentProperties.push('_z');\n\t\tmomentProperties.push('_a');\n\t} else if (momentProperties) {\n\t\t// moment 2.7.0\n\t\tmomentProperties._z = null;\n\t}\n\n\t// INJECT DATA\n\n\treturn moment;\n}));\n","var moment = module.exports = require(\"./moment-timezone\");\nmoment.tz.load(require('./data/packed/latest.json'));\n","import moment from 'moment-timezone';\n\nimport { each } from '../../utils/each';\nimport { stripHtmlTags } from '../../utils/strip-html-tags';\nimport { escapeHtml } from '../../utils/escape-html';\n\nconst defaults = {\n /*\n DEPRECATED - use CSS styles\n\n height: undefined,\n width: undefined,\n stickyHeader: false,\n stickyFooter: false\n */\n};\n\nlet currentPage;\nfunction _generateTableRows(datavizInstance, dataset) {\n let html = '';\n const defaultConfig = {\n page: 1,\n limit: 0,\n arrows: true\n };\n let customConfig = {};\n if (datavizInstance.config.table && datavizInstance.config.table.pagination) {\n customConfig = datavizInstance.config.table.pagination;\n }\n const config = {\n ...defaultConfig,\n ...customConfig\n };\n\n if (!currentPage){\n currentPage = config.page;\n }\n\n let datasetPaginated;\n let pages = 0;\n if (config.limit === 0) {\n datasetPaginated = dataset.slice(1); // remove header\n } else {\n const start = config.limit * (currentPage - 1) + 1;\n const end = start + config.limit;\n datasetPaginated = dataset.slice(start, end);\n pages = Math.ceil((dataset.length - 1) / config.limit);\n }\n\n let columnsArray = datavizInstance.config.table.columns ?\n datavizInstance.config.table.columns :\n datavizInstance.dataset.matrix[0];\n\n const checkArray = {};\n const { mapValues } = datavizInstance.config.table;\n for (let key in mapValues){\n checkArray[columnsArray.indexOf(key)] = key;\n }\n\n // var london = newYork.clone().tz(\"Europe/London\");\n for (let row of datasetPaginated) {\n html += '';\n for (let [index, rowCol] of row.entries()) {\n if (\n datavizInstance.config.timezone\n && rowCol instanceof Date\n ) {\n let dateTimeTimezoned = moment\n .tz(rowCol, \"UTC\")\n .clone()\n .tz(datavizInstance.config.timezone);\n html += `${dateTimeTimezoned.toString()}`;\n continue;\n }\n let rowColEscaped = escapeHtml(rowCol);\n if(checkArray[index]){\n html += `${mapValues[checkArray[index]](rowColEscaped)}`;\n continue;\n }\n html += `${rowColEscaped}`\n }\n html += '';\n }\n\n if (pages > 1){\n html += ``;\n let pageNumber = 1;\n const prevPage = (currentPage === 1) ? 1 : (currentPage - 1);\n const nextPage = (currentPage === pages) ? pages : (currentPage + 1);\n if (config.arrows){\n html += `<`;\n }\n while (pageNumber <= pages){\n html += `${pageNumber}`;\n pageNumber++;\n }\n if (config.arrows){\n html += `>`;\n }\n html += '';\n }\n\n return html;\n}\n\nfunction _generateTableHeader(datavizInstance, dataset) {\n let html = '';\n let fieldNumber = -1;\n let columnNames =\n (datavizInstance.config.table && datavizInstance.config.table.columns)\n || dataset[0];\n for (let colName of columnNames) {\n let colNameEscaped = escapeHtml(colName);\n fieldNumber +=1;\n html += `${colNameEscaped}`;\n }\n return html;\n}\n\n\n const render = function() {\n const dataset = this.dataset.matrix;\n\n const el = this.el();\n const theme = this.config.theme;\n const datavizInstance = this;\n\n let html = '';\n\n const isEmpty = dataset.length === 1 && dataset[0].length === 0;\n if (isEmpty) {\n const msg = 'No data to display';\n const mappedMsg = this.config.errorMapping[msg] || msg;\n if (this.config.showErrorMessages) {\n this.message(mappedMsg);\n }\n return;\n }\n\n // Open wrapper\n html += `
`;\n\n // Static, scrollable table\n html += ``;\n html += '';\n html += '';\n html += _generateTableHeader(datavizInstance, dataset);\n html += '';\n html += '';\n // Table data\n html += '';\n html += _generateTableRows(datavizInstance, dataset);\n html += '';\n html += '
';\n/* */\n // Close wrapper\n html += '
';\n\n // Inject HTML string\n el.querySelector(`.${theme}-rendering`).innerHTML = html;\n\n el\n .querySelectorAll(`.${theme}-rendering th`)\n .forEach((item) => {\n item.addEventListener('click', (event) => {\n let sortOrder = event.target.getAttribute('order') || 'asc';\n let fieldNumber = event.target.getAttribute('fieldNumber');\n let checker = function (a, b) {\n let sortOrderNumber = (sortOrder === 'asc') ? 1 : -1;\n\n if (typeof a[fieldNumber] === 'string') {\n let nameA = a[fieldNumber].toUpperCase(); // ignore upper and lowercase\n let nameB = b[fieldNumber].toUpperCase(); // ignore upper and lowercase\n if (nameA < nameB) {\n return -1 * sortOrderNumber;\n }\n if (nameA > nameB) {\n return 1* sortOrderNumber;\n }\n\n // names must be equal\n return 0;\n }\n return (a[fieldNumber] - b[fieldNumber]) * sortOrderNumber;\n };\n\n if (sortOrder === 'asc') {\n sortOrder = 'desc';\n } else {\n sortOrder = 'asc'\n }\n event.target.setAttribute('order', sortOrder);\n\n const first = this.dataset.matrix.shift();\n this.dataset.matrix.sort(checker);\n this.dataset.matrix.unshift(first);\n\n el.querySelector(`.${theme}-rendering tbody`).innerHTML =\n _generateTableRows(datavizInstance, dataset);\n attachBtnEventListeners();\n });\n });\n\n\n const attachBtnEventListeners = () => {\n el.querySelectorAll('.btn').forEach(btn => {\n btn.addEventListener('click', (event) => {\n currentPage = parseInt(event.target.getAttribute('data-page'));\n el.querySelector(`.${theme}-rendering tbody`).innerHTML =\n _generateTableRows(datavizInstance, dataset);\n attachBtnEventListeners();\n }, true);\n });\n };\n\n attachBtnEventListeners(datavizInstance, el, theme);\n\n if (this.config.onrendered) {\n this.config.onrendered();\n }\n };\n\n\n\nconst update = function(){\n // no special update handling\n this.render();\n };\n\nconst destroy= function(){};\n\nexport default { render, update, destroy };\n","import { prettyNumber } from '../../utils/pretty-number';\nimport { escapeHtml } from '../../utils/escape-html';\n\nexport default {\n render: function(){\n const color = this.config.colors[0];\n const theme = this.config.theme;\n const title = this.config.title;\n const opts = this.config;\n let value = '-';\n let html = '';\n let prefix = '';\n let suffix = '';\n let formattedNum;\n let valueEl;\n let flexDifferenceStyle = '';\n let resultDifference = '';\n let differenceStyle = '';\n let smallerValue = '';\n const { results, previousResults } = this.config;\n if(results && previousResults){\n flexDifferenceStyle = previousResults ? ' metric-comparison' : '';\n smallerValue = previousResults && title ? '-smaller' : '';\n resultDifference = results.result - previousResults.result;\n differenceStyle = (resultDifference > 0) ? '-green' : '-red';\n resultDifference = Math.abs(resultDifference);\n }\n\n if (typeof this.data()[1][1] === 'number') {\n value = this.data()[1][1];\n }\n\n formattedNum = value;\n if ( (typeof opts['prettyNumber'] === 'undefined' || opts['prettyNumber'] === true)\n && !isNaN(parseInt(value)) ) {\n formattedNum = prettyNumber(value);\n if(results && previousResults){\n resultDifference = prettyNumber(resultDifference);\n }\n }\n\n if (opts['prefix']) {\n prefix = '' + opts['prefix'] + '';\n }\n if (opts['suffix']) {\n suffix = '' + opts['suffix'] + '';\n }\n html += '
';\n html += '
';\n if (results && previousResults) {\n html += '
' + escapeHtml(resultDifference) + '
';\n }\n html += '
' + prefix + escapeHtml(formattedNum) + suffix + '
';\n if (title) {\n html += '
' + escapeHtml(title) + '
';\n }\n html += '
';\n html += '
';\n\n this.el().innerHTML = html;\n\n if (this.config.onrendered) {\n this.config.onrendered();\n }\n },\n update: function(){\n // no special update handling\n this.render();\n },\n destroy: function(){\n // no special clean-up\n }\n};\n","import { escapeHtml } from '../../utils/escape-html';\n\nexport default {\n render: function(text){\n const outer = document.createElement('div');\n const inner = document.createElement('div');\n const msg = document.createElement('span');\n\n const titleContainer = document.createElement('div');\n const notesContainer = document.createElement('div');\n\n outer.className = this.config.theme + ' keen-dataviz-box';\n inner.className = this.config.theme + '-message';\n\n // Create title and notes for message\n titleContainer.className = this.config.theme + '-title';\n titleContainer.innerHTML = escapeHtml(this.config.title || '');\n notesContainer.className = this.config.theme + '-notes';\n notesContainer.innerHTML = escapeHtml(this.config.notes || '');\n\n msg.innerHTML = escapeHtml(text) || '';\n inner.appendChild(msg);\n\n if (this.config.title && this.config.showTitle) {\n outer.appendChild(titleContainer);\n }\n\n outer.appendChild(inner);\n\n if (this.config.notes) {\n outer.appendChild(notesContainer);\n }\n\n this.el().innerHTML = '';\n this.el().appendChild(outer);\n\n },\n update: function(){\n // no special update handling\n this.render();\n },\n destroy: function(){\n // no special clean-up\n }\n};\n","import { escapeHtml } from '../../../utils/escape-html';\n\nexport default function (d, defaultTitleFormat, defaultValueFormat, color) {\n let text;\n let title;\n // Set config options or defaults\n const nameFormat = this.config.tooltip_format_name || function (name) { return name; };\n const titleFormat = this.config.tooltip_format_title || defaultTitleFormat;\n const valueFormat = this.config.tooltip_format_value || defaultValueFormat;\n\n // Reverse list to match legend\n for (let i = 0; i < d.length; i++) {\n if (! (d[i] && (d[i].value || d[i].value === 0))) { continue; }\n if (!text) {\n title = titleFormat ? titleFormat(d[i].x) : d[i].x;\n text = \"\" + (title || title === 0 ? \"\" : \"\");\n }\n let name = nameFormat(d[i].name);\n let value = valueFormat(d[i].value, d[i].ratio, d[i].id, d[i].index);\n let bgcolor = this.levelColor ? this.levelColor(d[i].value) : color(d[i].id);\n if (value) {\n text += \"\";\n if (name.indexOf('__tooltip_ignore_name_field__') === -1) {\n text += \"\";\n }\n text += \"\";\n text += \"\";\n }\n }\n return text + \"
\" + escapeHtml(title) + \"
\" + escapeHtml(name) + \"\" + escapeHtml(value) + \"
\";\n}\n","import * as d3 from 'd3';\n\nimport isDateString from '../../../utils/assert-date-string';\n\nexport default function (options) {\n const cols = options.data.columns;\n const datavizInstance = this;\n const chart = this.view._artifacts.c3;\n let columns = [];\n const domNode = this.el().querySelector('.' + datavizInstance.config.theme + '-rendering');\n const legendConfig = datavizInstance.config.legend;\n\n const pagination = this.view._artifacts.pagination = {\n ...{\n hidden: [],\n labels: [],\n offset: 0,\n limit: Math.round((domNode.offsetHeight - 78) / 20),\n total: 0\n },\n ...legendConfig.pagination\n };\n\n if (options.legend.sort) {\n columns = options.legend.sort(cols);\n\n // update column order in the data, so tooltip will be the same order\n const columnsSorted = [];\n const dataColumnsSorted = [];\n if (cols[0][0] === 'x') {\n dataColumnsSorted.push(cols[0]);\n }\n columns.forEach(column => {\n let columnData = options.data.columns.find(item => item[0] === column);\n dataColumnsSorted.push(columnData);\n });\n options.data.columns = dataColumnsSorted;\n } else {\n for (let i = 0; i < cols.length; i++) {\n if (cols[i][0] !== 'x' && !isDateString(cols[i][1])) {\n columns.push(cols[i][0]);\n }\n }\n }\n\n const legendElement = this.el().querySelector('.keen-c3-legend');\n\n let align = 'vertical';\n if (legendConfig.position === 'top' || legendConfig.position === 'bottom') {\n align = 'horizontal';\n }\n\n const paginateHorizontalLeftElement = document.createElement('div');\n paginateHorizontalLeftElement.setAttribute('class', 'keen-c3-legend-pagination-icons keen-c3-legend-horizontal-pagination-left');\n if (align === 'horizontal') {\n legendElement.append(paginateHorizontalLeftElement);\n }\n\n const legendItemsElement = document.createElement('div');\n legendItemsElement.setAttribute('class', `keen-c3-legend-items keen-c3-legend-${align}-items`);\n legendElement.append(legendItemsElement);\n\n const paginateVerticalElement = document.createElement('div');\n paginateVerticalElement.setAttribute('class', 'keen-c3-legend-pagination keen-c3-legend-pagination-icons');\n if (align === 'vertical') {\n legendElement.append(paginateVerticalElement);\n }\n\n const paginateHorizontalRightElement = document.createElement('div');\n paginateHorizontalRightElement.setAttribute('class', 'keen-c3-legend-pagination-icons keen-c3-legend-horizontal-pagination-right');\n if (align === 'horizontal') {\n legendElement.append(paginateHorizontalRightElement);\n }\n\n paginateData();\n\n function paginateData(){\n pagination.labels = columns.slice(pagination.offset, pagination.offset + pagination.limit);\n pagination.total = columns.length;\n renderLegendComponent.call(datavizInstance, pagination.labels);\n if (pagination.total > pagination.limit) {\n renderPaginationComponent.call(datavizInstance);\n }\n if (options.onPaginated){\n options.onPaginated();\n }\n }\n\n function renderLegendComponent(){\n legendItemsElement.innerHTML = '';\n\n pagination.labels.forEach(label => {\n const labelShortened = legendConfig.label.textMaxLength ? label.slice(0, legendConfig.label.textMaxLength - 1) : label;\n const legendItem = document.createElement(\"div\");\n legendItem.innerHTML = `${labelShortened}`;\n legendItem.chartPartId = label;\n legendItem.setAttribute('class', 'legend-item');\n legendItemsElement.append(legendItem);\n\n const legendItemColorSample = document.createElement(\"span\");\n legendItemColorSample.setAttribute('class', 'legend-item-color-sample');\n legendItemColorSample.style.backgroundColor = chart.color(legendItem.chartPartId);\n legendItem.prepend(legendItemColorSample);\n\n const tooltipElement = document.createElement(\"div\");\n legendItem.addEventListener('mouseover', (event) => {\n chart.focus(legendItem.chartPartId);\n if (legendConfig.tooltip.show && legendItem.chartPartId.length > legendConfig.label.textMaxLength) {\n tooltipElement.setAttribute('class', `keen-c3-legend-label-overlay keen-c3-legend-position-${legendConfig.position}`);\n tooltipElement.innerHTML =\n `${\n options.legend.tooltip.pointer ? `
` : ``\n }${legendItem.chartPartId}`;\n legendItem.append(tooltipElement);\n }\n });\n legendItem.addEventListener('mouseout', (event) => {\n chart.revert();\n tooltipElement.remove();\n });\n legendItem.addEventListener('click', (event) => {\n let opacity = 1;\n const isHidden = pagination.hidden.indexOf(legendItem.chartPartId);\n if (isHidden < 0) {\n pagination.hidden.push(legendItem.chartPartId);\n opacity = .35;\n }\n else {\n pagination.hidden.splice(isHidden, 1);\n opacity = 1;\n }\n legendItem.style.opacity = opacity;\n chart.toggle(legendItem.chartPartId);\n });\n });\n\n if (options.onLegendRendered){\n options.onLegendRendered();\n options.onLegendRendered = null;\n }\n\n }\n\n function renderPaginationComponent(){\n paginateVerticalElement.innerHTML = '';\n paginateHorizontalLeftElement.innerHTML = '';\n paginateHorizontalRightElement.innerHTML = '';\n\n const arrowUp = document.createElement('i');\n const arrowDown = document.createElement('i');\n\n const paginate = (direction) => {\n if (direction === 'forward') {\n const diff = pagination.offset + pagination.limit;\n if (diff < pagination.total) {\n pagination.offset = diff;\n return;\n }\n pagination.offset = 0;\n return;\n }\n\n const diff = pagination.offset - pagination.limit;\n if (diff >= 0) {\n pagination.offset = diff;\n return;\n }\n\n pagination.offset = Math.floor(pagination.total/pagination.limit) * pagination.limit;\n };\n\n arrowDown.addEventListener('click', () => {\n paginate('forward');\n paginateData();\n clearSelectedText();\n });\n\n arrowUp.addEventListener('click', () => {\n paginate('backward');\n paginateData();\n clearSelectedText();\n });\n\n if (legendConfig.position === 'left' || legendConfig.position === 'right') {\n arrowUp.setAttribute('class', 'up');\n arrowDown.setAttribute('class', 'down');\n paginateVerticalElement.append(arrowDown);\n paginateVerticalElement.append(arrowUp);\n } else {\n // bottom top\n arrowUp.setAttribute('class', 'left');\n arrowDown.setAttribute('class', 'right');\n paginateHorizontalLeftElement.append(arrowUp);\n paginateHorizontalRightElement.append(arrowDown);\n }\n\n }\n\n function clearSelectedText() {\n let selection;\n if (document.selection && document.selection.empty) {\n selection = document.selection;\n selection.empty();\n }\n else if (window.getSelection) {\n selection = window.getSelection();\n selection.removeAllRanges();\n }\n }\n}\n","export default function (startDate, endDate) {\n const timeDiff = Math.abs(new Date(startDate).getTime() - new Date(endDate).getTime());\n const months = [\n 'Jan',\n 'Feb',\n 'Mar',\n 'Apr',\n 'May',\n 'June',\n 'July',\n 'Aug',\n 'Sept',\n 'Oct',\n 'Nov',\n 'Dec'\n ];\n\n // Yearly (31536000000) + Monthly\n if (timeDiff >= 2419200000) {\n return function(ms){\n const date = new Date(ms);\n return months[date.getMonth()] + ' ' + date.getFullYear();\n };\n }\n // Daily\n else if (timeDiff >= 86400000) {\n return function(ms){\n const date = new Date(ms);\n return months[date.getMonth()] + ' ' + date.getDate();\n };\n }\n // Hourly\n else if (timeDiff >= 3600000) {\n return '%I:%M %p';\n }\n // Minutely\n else {\n return '%I:%M:%S %p';\n }\n}\n","import c3 from 'c3';\n\nimport { each } from '../utils/each';\nimport { extend } from '../utils/extend';\nimport { extendDeep } from '../utils/extend-deep';\nimport isDateString from '../utils/assert-date-string';\nimport c3DefaultDateFormat from './c3/extensions/default-date-format';\nimport c3PaginatingLegend from './c3/extensions/paginating-legend';\nimport c3TooltipContents from './c3/extensions/tooltip-contents';\n\nimport message from './default/message';\nimport metric from './default/metric';\nimport table from './default/table';\nimport spinner from './default/spinner';\nimport Funnel from './default/funnel';\nimport Funnel3d from './default/funnel-3d';\nimport HorizontalFunnel from './default/horizontal-funnel';\nimport HorizontalFunnel3d from './default/horizontal-funnel-3d';\n\nexport default function(lib) {\n let timer;\n bindResizeListener(function(){\n if (timer) {\n clearTimeout(timer);\n }\n const delay = (lib.visuals.length > 12) ? 1000 : 250;\n timer = setTimeout(function(){\n each(lib.visuals, function(chart){\n if (chart.view._artifacts.c3) {\n chart.view._artifacts.c3.resize();\n }\n });\n }, delay);\n });\n\n // FIX for c3 tooltip bug - REMOVE when https://github.com/c3js/c3/pull/2476 is merged\n if (c3.chart && c3.chart.internal && c3.chart.internal.fn) {\n c3.chart.internal.fn.horizontalDistance = function(data, pos) {\n var $$ = this,\n config = $$.config,\n xIndex = config.axis_rotated ? 1 : 0,\n x = $$.x(data.x);\n return Math.abs(x - pos[xIndex]);\n };\n c3.chart.internal.fn.findClosest = function (values, pos) {\n const CLASS = c3.chart.internal.fn.CLASS;\n var $$ = this,\n minDist = $$.config.point_sensitivity,\n minDist = Infinity,\n closest;\n // find mouseovering bar\n values.filter(function (v) {\n return v && $$.isBarType(v.id);\n }).forEach(function (v) {\n var shape = $$.main.select('.' + CLASS.bars + $$.getTargetSelectorSuffix(v.id) + ' .' + CLASS.bar + '-' + v.index).node();\n if (!closest && $$.isWithinBar($$.d3.mouse(shape), shape)) {\n closest = v;\n }\n });\n // find closest point from non-bar\n values.filter(function (v) {\n return v && !$$.isBarType(v.id);\n }).forEach(function (v) {\n var d = $$.dist(v, pos);\n var d = $$.horizontalDistance(v, pos);\n if (d < minDist) {\n minDist = d;\n closest = v;\n }\n });\n return closest;\n };\n }\n\n return defineC3();\n};\n\nfunction defineC3(){\n const types = {\n message,\n metric,\n table,\n spinner,\n 'funnel': new Funnel,\n 'funnel-3d': new Funnel3d,\n 'horizontal-funnel': new HorizontalFunnel,\n 'horizontal-funnel-3d': new HorizontalFunnel3d,\n };\n\n const c3Types = [\n // Standard types\n 'area',\n 'area-spline',\n 'area-step',\n 'bar',\n 'donut',\n 'gauge',\n 'line',\n 'pie',\n 'step',\n 'spline',\n\n // Horizontal variant types\n 'horizontal-area',\n 'horizontal-area-spline',\n 'horizontal-area-step',\n 'horizontal-bar',\n 'horizontal-line',\n 'horizontal-step',\n 'horizontal-spline'\n ];\n\n const getPaddings = (element, paddingName) => {\n return parseInt(window.getComputedStyle(element)[`padding${paddingName}`].replace('px', ''));\n }\n\n function getDefaultOptions(){\n\n const ENFORCED_OPTIONS = {\n bindto: this.el().querySelector('.' + this.config.theme + '-rendering .c3-chart'),\n color: {\n pattern: this.config.colors\n },\n data: {\n colors: { ...this.config.colorMapping },\n columns: [],\n type: this.config.type.replace('horizontal-', '')\n },\n };\n\n const renderingElement = this.el();\n// .querySelector('.' + this.config.theme + '-rendering');\n\n let height = renderingElement.offsetHeight;\n\n height -= (getPaddings(renderingElement, 'Top') + getPaddings(renderingElement, 'Bottom'));\n\n if (this.config.showTitle) {\n const titleElement = this.el().querySelector('.keen-dataviz-title');\n if (titleElement) {\n height -= titleElement.offsetHeight;\n } else {\n height -= parseInt(\n window\n .getComputedStyle(this.el(), null)\n ['font-size'].replace('px','')\n );\n }\n }\n\n if (this.config.notes) {\n const notesElement = this.el().querySelector('.keen-dataviz-notes');\n if (notesElement) {\n height -= notesElement.offsetHeight;\n } else {\n height -= parseInt(\n window\n .getComputedStyle(this.el(), null)\n ['font-size'].replace('px','')\n );\n }\n }\n\n let width = this.el().querySelector('.c3-chart').offsetWidth\n - (getPaddings(renderingElement, 'Left') + getPaddings(renderingElement, 'Right'));\n if (width < 0) {\n width = 0;\n }\n\n const DEFAULT_OPTIONS = {\n size: {\n width,\n height:\n height > 0 ?\n height\n : undefined,\n }\n };\n\n return extendDeep({}, DEFAULT_OPTIONS, this.config, ENFORCED_OPTIONS);\n }\n\n each(c3Types, function(type, index) {\n types[type] = {\n render: function(){\n const options = getDefaultOptions.call(this);\n\n if (!!this.config.clearOnRender && options.data.columns.length > 0) {\n options.data.columns.splice(1);\n }\n\n if (this.data()[0].length === 1 || this.data().length === 1) {\n const msg = 'No data to display';\n const mappedMsg = this.config.errorMapping[msg] || msg;\n if (this.config.showErrorMessages) {\n this.message(mappedMsg);\n }\n return;\n }\n\n let removeLegend = false;\n\n if (type === 'gauge') {\n // Accommodate a neat bug:\n options.legend.show = false;\n options.data.columns = [[\n this.config.title || this.data()[1][0],\n this.data()[1][1]\n ]];\n removeLegend = true;\n }\n else if (type === 'pie' || type === 'donut') {\n options.data.columns = this.data().slice(1);\n }\n else {\n\n // Apply formatting for horizontal variant types\n if (type.indexOf('horizontal-') > -1) {\n options.axis.rotated = type.indexOf('horizontal-') > -1;\n }\n\n if (isDateString(this.data()[1][0])) {\n // TIMESERIES\n options.axis.x = options.axis.x || {};\n options.axis.x.type = 'timeseries';\n options.axis.x.tick = options.axis.x.tick || {\n format: this.config.dateFormat || c3DefaultDateFormat(this.data()[1][0], this.data()[2] ? this.data()[2][0] : this.data()[1][0]),\n culling: { max: 5 }\n };\n\n options.data.columns[0] = [];\n each(this.dataset.selectColumn(0), function(cell, i){\n if (i > 0) {\n cell = new Date(cell);\n }\n options.data.columns[0][i] = cell;\n });\n options.data.columns[0][0] = 'x';\n options.data.x = 'x';\n if (this.config.stacked && this.data()[0].length > 2) {\n options.data.groups = [ this.dataset.selectRow(0).slice(1) ];\n }\n }\n else {\n // CATEGORIES\n options.axis.x = options.axis.x || {};\n options.axis.x.type = 'category';\n options.axis.x.categories = this.dataset.selectColumn(0).slice(1);\n if (this.config.stacked && this.data()[0].length > 2) {\n options.data.groups = [ this.dataset.selectRow(0).slice(1) ];\n }\n }\n\n if (this.data()[0].length === 2) {\n options.legend.show = false;\n removeLegend = true;\n }\n\n each(this.data()[0], function(cell, i){\n if (i > 0) {\n options.data.columns.push(this.dataset.selectColumn(i));\n }\n }.bind(this));\n }\n\n if (removeLegend){\n const legendElement = this.el().querySelector('.keen-c3-legend');\n if (legendElement) {\n legendElement.remove();\n options.size.width = this.el().querySelector('.c3-chart').offsetWidth;\n }\n options.legend.show = false;\n }\n\n const chartTypesWithPartialIntervalIndicator = ['area', 'area-spline', 'area-step', 'line', 'spline', 'step'];\n\n if (options.partialIntervalIndicator\n && options.partialIntervalIndicator.show\n && chartTypesWithPartialIntervalIndicator.indexOf(options.type) > -1\n ) {\n const results = options.data.columns && options.data.columns[0];\n if (results && results.length > 1) {\n const partialResultsRegion = {\n axis: 'x',\n start: new Date(results[results.length-2]),\n class: options.partialIntervalIndicator.className\n };\n options.regions = [...(options.regions || []), partialResultsRegion];\n }\n }\n\n if (\n !(options.tooltip && options.tooltip.show === false)\n &&\n (options.legend.show === true ||\n (options.legend\n && options.legend.tooltip\n && options.legend.tooltip.show)\n )) {\n // Apply custom tooltip\n options.tooltip = {\n contents: c3TooltipContents,\n format: {\n title: this.config.tooltip.format.title,\n value: (value, ratio, id, index) => {\n let valueFormatted = c3CustomTooltipFiltering.call(this, value, ratio, id, index);\n if (this.config.tooltip && this.config.tooltip.format && this.config.tooltip.format.value)\n {\n valueFormatted = this.config.tooltip.format.value.call(this, valueFormatted, ratio, id, index);\n }\n return valueFormatted;\n }\n }\n };\n }\n\n if (options.legend.show === true) {\n const c3options = { ...options };\n // Apply custom color handling\n c3options.data.color = c3CustomDataMapping.bind(this);\n\n c3options.legend.hide = true; // hide default c3 legend\n\n // Render artifacts\n this.view._artifacts['c3'] = c3.generate(c3options);\n\n c3PaginatingLegend.call(this, {...options, onLegendRendered: () => {\n const legendElement = this.el().querySelector('.keen-c3-legend');\n if (legendElement) {\n if (\n options.legend.position === 'top' ||\n options.legend.position === 'bottom'\n ) {\n c3options.size.height -= legendElement.offsetHeight;\n this.view._artifacts['c3'].resize({ height: c3options.size.height });\n } else {\n if (c3options.size.width === 0) {\n c3options.size.width = this.el().offsetWidth\n - getPaddings(this.el(), 'Left')\n - getPaddings(this.el(), 'Right');\n }\n c3options.size.width -= legendElement.offsetWidth;\n this.view._artifacts['c3'].resize({ width: c3options.size.width });\n }\n }\n },\n onPaginated: () => {\n this.view._artifacts['c3'].flush();\n }\n });\n }\n else {\n this.view._artifacts['c3'] = c3.generate(options);\n }\n\n },\n update: function(){\n // no special update handling\n this.render();\n },\n destroy: function(){\n if (this.view._artifacts['c3']) {\n this.view._artifacts['c3'].destroy();\n this.view._artifacts['c3'] = null;\n }\n }\n };\n });\n\n return types;\n}\n\nfunction c3CustomDataMapping(color, d) {\n const type = this.config.type;\n if (this.view._artifacts.pagination\n && type !== 'gauge'\n /*&& this.type() !== 'pie'\n && this.type() !== 'donut'*/) {\n const scope = this.view._artifacts.pagination.labels;\n if ((d.id && scope.indexOf(d.id) > -1)\n || (d && !d.id && scope.indexOf(d) > -1)) {\n return color;\n }\n else {\n if (type === 'donut' || type === 'pie') {\n return 'rgba(0,0,0,.1)';\n }\n else {\n return 'rgba(0,0,0,.07)';\n }\n }\n }\n else {\n return color;\n }\n}\n\nfunction c3CustomTooltipFiltering(value, ratio, id, index) {\n const type = this.config.type;\n\n if (this.view._artifacts.pagination\n && type !== 'gauge'\n /*&& this.type() !== 'pie'\n && this.type() !== 'donut'*/) {\n const scope = this.view._artifacts.pagination.labels;\n if (scope.indexOf(id) > -1) {\n return value;\n }\n }\n else {\n return value;\n }\n}\n\nfunction bindResizeListener(fn){\n if (typeof window === 'undefined') return;\n window.onresize = window.resize = function(){};\n if (window.addEventListener) {\n window.addEventListener('resize', fn, true);\n }\n else if (window.attachEvent) {\n window.attachEvent('onresize', fn);\n }\n}\n","import Dataset from './dataset';\nimport { extend } from './utils/extend';\nimport { stripHtmlTags } from './utils/strip-html-tags';\n\nexport default function (data) {\n if (!arguments.length) return this.dataset.data();\n if (data instanceof Dataset) {\n this.dataset = data;\n return this;\n }\n else {\n return parseResponse.call(this, data);\n }\n};\n\nfunction parseResponse(response) {\n var dataset,\n indexBy,\n meta,\n parser,\n parserArgs = [],\n query,\n selectedParser,\n title,\n type;\n\n indexBy = this.config.indexBy;\n meta = response.metadata || {};\n query = (typeof response.query !== 'undefined') ? response.query : {};\n\n // Ensure all required params are present\n query = extend({\n analysis_type: null,\n event_collection: null,\n filters: [],\n group_by: null,\n interval: null,\n timeframe: null,\n timezone: null\n }, query);\n\n if (query.analysis_type === 'funnel') {\n parser = 'funnel';\n }\n else if (query.analysis_type === 'extraction'){\n parser = 'extraction';\n }\n else if (query.analysis_type === 'select_unique') {\n if (!query.group_by && !query.interval) {\n parser = 'list';\n }\n // else { Not supported }\n }\n else if (query.analysis_type) {\n if (!query.group_by && !query.interval) {\n parser = 'metric';\n }\n else if (query.group_by && !query.interval) {\n if (query.group_by instanceof Array && query.group_by.length > 1) {\n parser = 'double-grouped-metric';\n parserArgs.push(query.group_by);\n }\n else {\n parser = 'grouped-metric';\n }\n }\n else if (query.interval && !query.group_by) {\n parser = 'interval';\n parserArgs.push(indexBy);\n }\n else if (query.group_by && query.interval) {\n if (query.group_by instanceof Array && query.group_by.length > 1) {\n parser = 'double-grouped-interval';\n parserArgs.push(query.group_by);\n parserArgs.push(indexBy);\n }\n else {\n parser = 'grouped-interval';\n parserArgs.push(indexBy);\n }\n }\n }\n\n if (!parser) {\n\n // Metric\n // -------------------------------\n if (typeof response.result === 'number'){\n parser = 'metric';\n }\n\n // Everything else\n // -------------------------------\n if (response.result instanceof Array && response.result.length > 0){\n\n // Interval w/ single value\n // -------------------------------\n if (response.result[0].timeframe && (typeof response.result[0].value == 'number' || response.result[0].value == null)) {\n parser = 'interval';\n parserArgs.push(indexBy)\n }\n\n // Static GroupBy\n // -------------------------------\n if (typeof response.result[0].result == 'number'){\n parser = 'grouped-metric';\n }\n\n // Grouped Interval\n // -------------------------------\n if (response.result[0].value instanceof Array){\n parser = 'grouped-interval';\n parserArgs.push(indexBy)\n }\n\n // Funnel\n // -------------------------------\n if (typeof response.result[0] === 'number'\n && typeof response.steps !== 'undefined'){\n parser = 'funnel';\n // Move steps into query object\n query.steps = response.steps;\n }\n\n // Select Unique\n // -------------------------------\n if ((typeof response.result[0] === 'string' || typeof response.result[0] == 'number') && typeof response.steps === 'undefined'){\n parser = 'list';\n }\n\n // Extraction\n // -------------------------------\n if (!parser) {\n parser = 'extraction';\n }\n }\n\n if (!parser) {\n parser = 'extraction';\n }\n }\n\n // Set title from saved query body, or create a default title\n if (this.config.title === undefined) {\n if (meta.display_name) {\n title = meta.display_name;\n }\n else {\n title = getDefaultTitle(query);\n }\n this.config.title = title;\n }\n\n // Set type from saved query body, or use a default type\n if (!this.config.type) {\n if (meta.visualization && meta.visualization.chart_type) {\n type = meta.visualization.chart_type;\n }\n else {\n type = getDefaultType(parser);\n }\n this.config.type = type;\n }\n\n // Define the appropriate parser\n selectedParser = Dataset.parser.apply(this, [parser].concat(parserArgs));\n\n // Parse the response with augmented query body\n dataset = selectedParser(extend(response, { 'query': query }));\n\n // Set true dates for 'interval' data\n if (parser.indexOf('interval') > -1) {\n dataset.updateColumn(0, function(value, i){\n return new Date(value);\n });\n }\n\n dataset.updateRow(0, function(value, i){\n return stripHtmlTags(value);\n });\n\n this.dataset = dataset;\n\n return this;\n}\n\nfunction getDefaultTitle(query) {\n var analysis = query.analysis_type ? query.analysis_type.replace('_', ' ') : '',\n title;\n\n title = analysis.replace( /\\b./g, function(a){\n return a.toUpperCase();\n });\n\n if (query.event_collection) {\n title += ' - ' + query.event_collection;\n }\n return title;\n}\n\nfunction getDefaultType(parser) {\n let type;\n switch (parser) {\n case 'metric':\n type = 'metric';\n break;\n case 'interval':\n type = 'area';\n break;\n case 'grouped-metric':\n case 'double-grouped-metric':\n type = 'bar';\n break;\n case 'grouped-interval':\n case 'double-grouped-interval':\n type = 'line';\n break;\n case 'funnel':\n type = 'horizontal-bar';\n break;\n case 'list':\n case 'extraction':\n default:\n type = 'table';\n }\n return type;\n}\n","export function valueAtDeepKey(obj, is, value) {\n if (typeof is == 'string')\n return valueAtDeepKey(obj, is.split('.'), value);\n else if (is.length==1 && value!==undefined && obj !== null &&\n typeof obj[is[0]] !== 'undefined')\n return obj[is[0]] = value;\n else if (is.length==0)\n return obj;\n else if (typeof is === 'undefined' || typeof obj === 'undefined'\n || is === null || obj === null\n || typeof obj[is[0]] === 'undefined')\n return null;\n else\n return valueAtDeepKey(obj[is[0]], is.slice(1), value);\n}\n","// Pure awesomeness by Will Rayner (penguinboy)\n// https://gist.github.com/penguinboy/762197\n\nexport function flatten(ob){\n var toReturn = {};\n for (var i in ob) {\n if (!ob.hasOwnProperty(i)) continue;\n if ((typeof ob[i]) == 'object' && ob[i] !== null) {\n var flatObject = flatten(ob[i]);\n for (var x in flatObject) {\n if (!flatObject.hasOwnProperty(x)) continue;\n toReturn[i + '.' + x] = flatObject[x];\n }\n } else {\n toReturn[i] = ob[i];\n }\n }\n return toReturn;\n};\n","let Dataset; /* injected */\n\nimport { each } from '../../utils/each';\nimport { flatten } from '../utils/flatten';\nimport { valueAtDeepKey } from '../utils/object';\n\nexport default function initialize(lib){\n Dataset = lib;\n return function(name){\n var options = Array.prototype.slice.call(arguments, 1);\n\n if (!parsers[name]) {\n throw 'Requested parser does not exist';\n }\n else {\n return parsers[name].apply(this, options);\n }\n };\n}\n\nfunction parseMetric(){\n return function(res){\n return new Dataset()\n .set(['Value', 'Result'], res.result)\n .type('metric');\n }\n}\n\n//var myParser = Dataset.parser('interval', 'timeframe.end');\nfunction parseInterval(){\n var options = Array.prototype.slice.call(arguments);\n return function(res){\n var dataset = new Dataset()\n .type('interval');\n each(res.result, function(record, i){\n var index = options[0] && options[0] === 'timeframe.end' ? record.timeframe.end : record.timeframe.start;\n dataset.set(['Result', index], record.value);\n });\n return dataset;\n }\n}\n\nfunction parseGroupedMetric(){\n return function(res){\n var dataset = new Dataset()\n .type('grouped-metric');\n each(res.result, function(record, i){\n var label;\n each(record, function(value, key){\n if (key !== 'result') {\n label = key;\n }\n });\n dataset.set(['Result', String(record[label])], record.result);\n });\n return dataset;\n }\n}\n\n//var myParser = Dataset.parser('grouped-interval', 'timeframe.end');\nfunction parseGroupedInterval(){\n var options = Array.prototype.slice.call(arguments);\n return function(res){\n var dataset = new Dataset()\n .type('grouped-interval');\n each(res.result, function(record, i){\n var index = options[0] && options[0] === 'timeframe.end' ? record.timeframe.end : record.timeframe.start;\n if (record.value.length) {\n each(record.value, function(group, j){\n var label;\n each(group, function(value, key){\n if (key !== 'result') {\n label = key;\n }\n });\n dataset.set([ String(group[label]), index ], group.result);\n });\n }\n else {\n dataset.appendRow(index);\n }\n });\n return dataset;\n }\n}\n\n//var myParser = Dataset.parser('double-grouped-metric', ['first', 'second']);\nfunction parseDoubleGroupedMetric(){\n var options = Array.prototype.slice.call(arguments);\n if (!options[0]) throw 'Requested parser requires a sequential list (array) of properties to target as a second argument';\n return function(res){\n var dataset = new Dataset()\n .type('double-grouped-metric');\n each(res.result, function(record, i){\n var rowLabel = record[options[0][0]] + ' ' + record[options[0][1]];\n dataset.set([ 'Result', rowLabel ], record.result);\n });\n return dataset;\n }\n}\n\n//var myParser = Dataset.parser('double-grouped-interval', ['first', 'second'], 'timeframe.end');\nfunction parseDoubleGroupedInterval(){\n var options = Array.prototype.slice.call(arguments);\n if (!options[0]) throw 'Requested parser requires a sequential list (array) of properties to target as a second argument';\n return function(res){\n var dataset = new Dataset()\n .type('double-grouped-interval');\n each(res.result, function(record, i){\n var index = options[1] && options[1] === 'timeframe.end' ? record.timeframe.end : record.timeframe.start;\n each(record['value'], function(value, j){\n var label = value[options[0][0]] + ' ' + value[options[0][1]];\n dataset.set([ label, index ], value.result);\n });\n });\n return dataset;\n }\n}\n\nfunction parseFunnel(){\n return function(res){\n var result, steps, dataset;\n if (typeof res.steps !== 'undefined'\n && typeof res.result !== 'undefined'\n && res.result instanceof Array) {\n // Ad-hoc funnel response\n result = res.result;\n steps = res.steps;\n }\n else if (typeof res.result.steps !== 'undefined'\n && typeof res.result.result !== 'undefined'\n && res.result.result instanceof Array) {\n // Saved funnel response\n result = res.result.result;\n steps = res.result.steps;\n }\n dataset = new Dataset().type('funnel');\n dataset.appendColumn('Step Value');\n each(result, function(value, i){\n if (typeof steps !== 'undefined' && steps[i]) {\n dataset.appendRow(String(steps[i].event_collection), [value]);\n }\n });\n return dataset;\n }\n}\n\nfunction parseList(){\n return function(res){\n var dataset = new Dataset()\n .type('list');\n each(res.result, function(value, i){\n dataset.set( [ 'Result', String(i+1) ], value );\n });\n return dataset;\n }\n}\n\nfunction parseExtraction(){\n let config = this.config;\n return function(res){\n const datasetExtraction = new Dataset()\n .type('extraction');\n // create header\n for (let i=0; i<1; i++){\n let record = res.result[i];\n each(flatten(record), function(value, key){\n datasetExtraction.set([ key, String(i+1) ], value);\n });\n }\n\n // get keys of the Object\n let names = Object.keys(flatten(res.result[0]));\n\n if (Dataset) {\n if (config\n && config.table\n && config.table.columns) {\n names = config.table.columns;\n }\n }\n\n for (let i=0; i -1) {\n\n if (typeof input === 'function') {\n\n each(self.data(), function(row, i){\n var cell;\n if (i > 0) {\n cell = input.call(self, row[index], i, row);\n if (typeof cell !== 'undefined') {\n self.matrix[i][index] = cell;\n }\n }\n });\n\n } else if (!input || input instanceof Array) {\n input = input || [];\n\n if (input.length <= self.data().length - 1) {\n input = input.concat( createNullList(self.data().length - 1 - input.length) );\n }\n else {\n // If this new column is longer than existing columns,\n // we need to update the rest to match ...\n each(input, function(value, i){\n if (self.matrix.length -1 < input.length) {\n appendRow.call(self, String( self.matrix.length ));\n }\n });\n }\n\n each(input, function(value, i){\n self.matrix[i+1][index] = value;\n });\n\n }\n\n }\n return self;\n}\n\nexport function updateRow(q, input){\n var self = this,\n index = (typeof q === 'number') ? q : this.selectColumn(0).indexOf(q);\n\n if (index > -1) {\n\n if (typeof input === 'function') {\n\n each(self.data()[index], function(value, i){\n var col = self.selectColumn(i),\n cell = input.call(self, value, i, col);\n if (typeof cell !== 'undefined') {\n self.matrix[index][i] = cell;\n }\n });\n\n } else if (!input || input instanceof Array) {\n input = input || [];\n\n if (input.length <= self.matrix[0].length - 1) {\n input = input.concat( createNullList( self.matrix[0].length - 1 - input.length ) );\n }\n else {\n each(input, function(value, i){\n if (self.matrix[0].length -1 < input.length) {\n appendColumn.call(self, String( self.matrix[0].length ));\n }\n });\n }\n\n each(input, function(value, i){\n self.matrix[index][i+1] = value;\n });\n }\n\n }\n return self;\n}\n","import { each } from '../../utils/each';\nimport analysesUtilMethods from '../utils/analyses';\n\nexport function sortColumns(str, comp) {\n var self = this,\n head = this.matrix[0].slice(1), // minus index\n cols = [],\n clone = [],\n fn = comp || analysesUtilMethods.getColumnLabel;\n\n // Isolate each column (except the index)\n each(head, function(cell, i) {\n cols.push(self.selectColumn(i+1).slice(0));\n });\n cols.sort(function(a,b){\n // If fn(a) > fn(b)\n var op = fn.call(self, a) > fn.call(self, b);\n if (op) {\n return (str === 'asc' ? 1 : -1);\n } else if (!op) {\n return (str === 'asc' ? -1 : 1);\n } else {\n return 0;\n }\n });\n each(cols, function(col, i) {\n self\n .deleteColumn(i+1)\n .insertColumn(i+1, col[0], col.slice(1));\n });\n return self;\n}\n\nexport function sortRows(str, comp) {\n var self = this,\n head = this.matrix.slice(0,1),\n body = this.matrix.slice(1),\n fn = comp || analysesUtilMethods.getRowIndex;\n body.sort(function(a, b){\n // If fn(a) > fn(b)\n var op = fn.call(self, a) > fn.call(self, b);\n if (op) {\n return (str === 'asc' ? 1 : -1);\n } else if (!op) {\n return (str === 'asc' ? -1 : 1);\n } else {\n return 0;\n }\n });\n self.data(head.concat(body));\n return self;\n}\n","import { each } from '../../utils/each';\n\nexport function selectColumn(q) {\n const result = [];\n const index = (typeof q === 'number') ? q : this.matrix[0].indexOf(q);\n\n if (index > -1 && typeof this.matrix[0][index] !== 'undefined') {\n each(this.matrix, function(row, i) {\n result.push(row[index]);\n });\n }\n return result;\n}\n\nexport function selectRow(q) {\n let result = [];\n const index = (typeof q === 'number') ? q : this.selectColumn(0).indexOf(q);\n\n if (index > -1 && typeof this.matrix[index] !== 'undefined') {\n result = this.matrix[index];\n }\n return result;\n}\n","import { each } from '../../utils/each';\nimport createNullList from '../utils/create-null-list';\nimport { appendRow, appendColumn } from './append';\n\nexport function insertColumn(index, str, input) {\n const self = this;\n const label = (str !== undefined) ? str : null;\n\n if (typeof input === 'function') {\n\n self.matrix[0].splice(index, 0, label);\n each(self.matrix, function(row, i) {\n var cell;\n if (i > 0) {\n cell = input.call(self, row, i);\n if (typeof cell === 'undefined') {\n cell = null;\n }\n self.matrix[i].splice(index, 0, cell);\n }\n });\n\n }\n\n else if (!input || input instanceof Array) {\n input = input || [];\n\n if (input.length <= self.matrix.length - 1) {\n input = input.concat( createNullList(self.matrix.length - 1 - input.length) );\n }\n else {\n // If this new column is longer than existing columns,\n // we need to update the rest to match ...\n each(input, function(value, i){\n if (self.matrix.length -1 < input.length) {\n appendRow.call(self, String( self.matrix.length ));\n }\n });\n }\n\n self.matrix[0].splice(index, 0, label);\n each(input, function(value, i){\n self.matrix[i+1].splice(index, 0, value);\n });\n\n }\n return self;\n}\n\nexport function insertRow(index, str, input) {\n const self = this;\n const newRow = [];\n const label = (str !== undefined) ? str : null;\n newRow.push(label);\n\n if (typeof input === 'function') {\n each(self.matrix[0], function(label, i) {\n let col;\n let cell;\n if (i > 0) {\n col = self.selectColumn(i);\n cell = input.call(self, col, i);\n if (typeof cell === 'undefined') {\n cell = null;\n }\n newRow.push(cell);\n }\n });\n self.matrix.splice(index, 0, newRow);\n }\n\n else if (!input || input instanceof Array) {\n input = input || [];\n\n if (input.length <= self.matrix[0].length - 1) {\n input = input.concat( createNullList( self.matrix[0].length - 1 - input.length ) );\n }\n else {\n each(input, function(value, i){\n if (self.matrix[0].length -1 < input.length) {\n appendColumn.call(self, String( self.matrix[0].length ));\n }\n });\n }\n\n self.matrix.splice(index, 0, newRow.concat(input) );\n }\n\n return self;\n}\n","import { each } from '../../utils/each';\n\nexport function filterColumns(fn) {\n const self = this;\n const clone = [];\n\n each(self.matrix, function(row, i) {\n clone.push([]);\n });\n\n each(self.matrix[0], function(col, i){\n var selectedColumn = self.selectColumn(i);\n if (i == 0 || fn.call(self, selectedColumn, i)) {\n each(selectedColumn, function(cell, ri){\n clone[ri].push(cell);\n });\n }\n });\n\n self.data(clone);\n return self;\n}\n\nexport function filterRows(fn) {\n const self = this;\n const clone = [];\n\n each(self.matrix, function(row, i){\n if (i == 0 || fn.call(self, row, i)) {\n clone.push(row);\n }\n });\n\n self.data(clone);\n return self;\n}\n","import { each } from '../../utils/each';\n\nexport function deleteColumn(q) {\n const self = this;\n const index = (typeof q === 'number') ? q : this.matrix[0].indexOf(q);\n\n if (index > -1) {\n each(self.matrix, function(row, i){\n self.matrix[i].splice(index, 1);\n });\n }\n return self;\n}\n\nexport function deleteRow(q) {\n var index = (typeof q === 'number') ? q : this.selectColumn(0).indexOf(q);\n\n if (index > -1) {\n this.matrix.splice(index, 1);\n }\n return this;\n}\n","import * as d3 from \"d3\";\nimport c3 from 'c3';\n\nimport pkg from '../package.json';\nimport data from './data';\nimport { Dataset } from './dataset';\n\n// Utils\nimport { each } from './utils/each';\nimport isDateString from './utils/assert-date-string';\nimport { stripHtmlTags } from './utils/strip-html-tags';\nimport { escapeHtml } from './utils/escape-html';\nimport libraries from './libraries';\nimport { extendDeep } from './utils/extend-deep';\n\n// Constructor\nexport const Dataviz = function (options = {}) {\n if (this instanceof Dataviz === false) {\n return new Dataviz(options);\n }\n\n this.c3 = c3; // expose for use outside\n this.d3 = d3;\n\n const datavizInstance = this;\n\n const defaultOptions = {\n showDeprecationWarnings: true,\n showLoadingSpinner: false,\n\n container: undefined, // querySelector of container, for example '#someDiv'\n containerElement: undefined, // HTML parent element for the chart\n\n // width: undefined, *deprecated* - use CSS\n // height: undefined, *deprecated* - use CSS\n\n title: undefined,\n showTitle: true,\n\n notes: undefined,\n theme: 'keen-dataviz',\n\n colors: [\n '#00bbde', '#fe6672', '#eeb058', '#8a8ad6', '#ff855c', '#00cfbb',\n '#5a9eed', '#73d483', '#c879bb', '#0099b6', '#d74d58', '#cb9141',\n '#6b6bb6', '#d86945', '#00aa99', '#4281c9', '#57b566', '#ac5c9e',\n '#27cceb', '#ff818b', '#f6bf71', '#9b9be1', '#ff9b79', '#26dfcd',\n '#73aff4', '#87e096', '#d88bcb',\n ],\n\n colorMapping: {},\n\n indexBy: 'timeframe.start',\n labels: [],\n labelMapping: {},\n labelMappingRegExp: undefined,\n errorMapping: {},\n showErrorMessages: true,\n library: 'default',\n sortGroups: undefined,\n sortIntervals: undefined,\n\n results: undefined, // raw data\n\n // C3 chartOptions\n type: undefined,\n stacked: false,\n dateFormat: undefined,\n legend: {\n show: true,\n position: 'right',\n label: {\n textMaxLength: 12\n },\n pagination: {\n offset: 0, // start from\n limit: 5 // items per page\n },\n tooltip: {\n show: true,\n pointer: true\n },\n sort: undefined\n },\n\n axis: {},\n color: {},\n data: {\n order: null\n },\n size: {\n // control it with CSS of .c3-chart\n },\n padding: {\n top: 15\n },\n point: {\n focus: {\n expand: {\n enabled: false\n }\n },\n r: 2,\n show: true\n },\n tooltip: {\n format: {\n // https://c3js.org/samples/tooltip_format.html\n }\n },\n transition: {\n // duration: 0\n },\n data: {\n selection: {\n enabled: true,\n draggable: true,\n multiple: true\n }\n },\n grid: {\n y: {\n show: true\n }\n },\n partialIntervalIndicator: {\n show: undefined,\n className: 'partial-interval-indicator'\n },\n timezone: 'UTC',\n table: {},\n renderOnVisible: false,\n funnel: {\n lines: true,\n resultValues: true,\n percents: {\n show: false,\n countingMethod: 'absolute',\n decimals: 0\n },\n marginBetweenElements: false,\n hover: true,\n effect3d: 'both-sides',\n }\n };\n\n this.config = { ...extendDeep(defaultOptions, options) };\n\n if (this.config.type) {\n // backward compatibility with v2016... areachart -> area\n this.config.type = convertChartTypes(this.config.type);\n }\n\n // get DOM node by query\n if (this.config.container) {\n this.el(this.config.container);\n }\n\n if (options.legend !== undefined && !options.legend) {\n this.config.legend = {\n ...options,\n show: false\n };\n }\n\n if (options.color && options.color.pattern) {\n // to match c3 options\n this.config.colors = options.color.pattern;\n }\n\n if (this.config.legend\n && this.config.legend.tooltip\n && this.config.legend.tooltip.show === false\n && this.config.tooltip.show === undefined) {\n this.config.tooltip = { show: false };\n }\n\n if (options.color && options.color.pattern) {\n // to match c3 options\n this.config.colors = options.color.pattern;\n }\n\n this.dataset = new Dataset(this.config);\n this.view = {\n _prepared: false,\n _rendered: false,\n _artifacts: { /* state bin */ }\n };\n\n Dataviz.visuals.push(this);\n\n if (this.config.showLoadingSpinner) {\n this.prepare();\n }\n\n if (!!this.config.results) {\n this.render(this.config.results);\n }\n this.config.firstVisibilityState = document.visibilityState;\n};\n\nDataviz.libraries = { default: {} };\nif (typeof window !== 'undefined') {\n Dataviz.libraries.default = libraries(Dataviz);\n}\nDataviz.visuals = [];\n\nDataviz.register = function (name, actions) {\n Dataviz.libraries[name] = Dataviz.libraries[name] || {};\n each(actions, function(method, key){\n Dataviz.libraries[name][key] = method;\n });\n};\n\nDataviz.find = function(target){\n if (!arguments.length) return Dataviz.visuals;\n const el = target.nodeName ? target : document.querySelector(target);\n let match = null;\n each(Dataviz.visuals, function(visual){\n if (el == visual.config.container){\n match = visual;\n return false;\n }\n });\n return match;\n};\n\n\n // Prototype\n // ------------\n\nDataviz.prototype.attributes = function(obj){\n if (this.config.showDeprecationWarnings) {\n console.log('.attributes() is deprecated. Use: new KeenDataviz({ _your_value_here_ })');\n }\n if (!arguments.length) return this.config;\n const view = this.config;\n each(obj, function(prop, key){\n // Handle deprecated property names\n if (key === 'chartType') {\n key = 'type';\n }\n view[key] = prop;\n });\n return this;\n};\n\nDataviz.prototype.call = function(fn){\n fn.call(this);\n return this;\n};\n\nDataviz.prototype.chartOptions = function(obj){\n if (this.config.showDeprecationWarnings) {\n console.log('.chartOptions() is deprecated. Use: new KeenDataviz({ _your_value_here_ })');\n }\n if (!arguments.length) return this.config;\n this.config = extendDeep(this.config, obj);\n return this;\n};\n\nDataviz.prototype.colors = function(arr){\n if (this.config.showDeprecationWarnings) {\n console.log('.colors() is deprecated. Use: new KeenDataviz({ colors: _your_value_here_ })');\n }\n if (!arguments.length) return this.config.colors;\n this.config.colors = (arr instanceof Array ? arr : []);\n return this;\n};\n\nDataviz.prototype.colorMapping = function(obj){\n if (this.config.showDeprecationWarnings) {\n console.log('.colorMapping() is deprecated. Use: new KeenDataviz({ colorMapping: _your_value_here_ })');\n }\n const datavizInstance = this;\n if (!arguments.length) return this.config.colorMapping;\n if (obj === null) {\n this.config.colorMapping = {};\n }\n else if (typeof obj === 'object') {\n each(obj, function(value, key){\n datavizInstance.config.colorMapping[key] = (value ? value : null);\n });\n }\n return this;\n};\n\nDataviz.prototype.data = data;\n\nDataviz.prototype.dateFormat = function(val){\n if (this.config.showDeprecationWarnings) {\n console.log('.dateFormat() is deprecated. Use: new KeenDataviz({ dateFormat: _your_value_here_ })');\n }\n if (!arguments.length) return this.config.dateFormat;\n if (typeof val === 'string' || typeof val === 'function') {\n this.config.dateFormat = val;\n }\n else {\n this.config.dateFormat = undefined;\n }\n return this;\n};\n\nDataviz.prototype.destroy = function(){\n const library = this.library();\n const type = this.config.type;\n const element = this.el();\n\n // Call destroy method if present\n if (Dataviz.libraries[library]\n && Dataviz.libraries[library][type]){\n Dataviz.libraries[library][type].destroy.call(this);\n }\n\n // Clear rendered artifacts, state bin\n if (element) {\n element.innerHTML = '';\n }\n this.view._prepared = false;\n this.view._rendered = false;\n this.view._artifacts = {};\n return this;\n};\n\nDataviz.prototype.el = function(target){\n const datavizInstance = this;\n if (!arguments.length) return this.config.containerElement;\n domReady(function(){\n if (target && target !== null) {\n if (target.nodeName) {\n datavizInstance.config.containerElement = target;\n }\n else if (document.querySelector) {\n datavizInstance.config.containerElement = document.querySelector(target);\n }\n }\n else {\n datavizInstance.config.containerElement = undefined;\n }\n });\n return this;\n};\n\nDataviz.prototype.height = function(num){\n if (this.config.showDeprecationWarnings) {\n console.log('.height() is deprecated - use CSS classes');\n }\n return this;\n};\n\n// IMPORTANT: Must be run before data parsing\nDataviz.prototype.indexBy = function(str){\n if (this.config.showDeprecationWarnings) {\n console.log('.indexBy() is deprecated. Use: new KeenDataviz({ indexBy: _your_value_here_ })');\n }\n if (!arguments.length) return this.config.indexBy;\n this.config.indexBy = (str ? String(str) : 'timeframe.start');\n return this;\n};\n\nDataviz.prototype.labels = function(arr){\n if (this.config.showDeprecationWarnings) {\n console.log('.labels() is deprecated. Use: new KeenDataviz({ labels: _your_value_here_ })');\n }\n\n if (!arguments.length) return this.config.labels;\n this.config.labels = (arr instanceof Array ? arr : []);\n\n setLabels(this);\n\n return this;\n};\n\nfunction setLabels(datavizInstance){\n // Write labels\n if (datavizInstance.data()[0].length === 2 && !isDateString(datavizInstance.data()[1][0])) {\n datavizInstance.dataset.updateColumn(0, function(value, index){\n if (datavizInstance.config.labels[index-1]) {\n return stripHtmlTags(String(datavizInstance.config.labels[index-1]));\n }\n return stripHtmlTags(value);\n }.bind(datavizInstance));\n }\n else {\n datavizInstance.dataset.updateRow(0, function(value, index){\n if (index > 0 && datavizInstance.config.labels[index-1]) {\n return stripHtmlTags(String(datavizInstance.config.labels[index-1]));\n }\n return stripHtmlTags(value);\n }.bind(datavizInstance));\n }\n}\n\nDataviz.prototype.labelMapping = function(obj){\n if (this.config.showDeprecationWarnings) {\n console.log('.labelMapping() is deprecated. Use: new KeenDataviz({ labelMapping: _your_value_here_ })');\n }\n if (!arguments.length) return this.config.labelMapping;\n if (obj === null) {\n this.config.labelMapping = {};\n }\n else if (typeof obj === 'object') {\n each(obj, function(value, key){\n this.config.labelMapping[key] = (value ? value : null);\n }.bind(this));\n }\n\n mapLabels(this);\n\n return this;\n};\n\nfunction mapLabelsExec({ datavizInstance, value }){\n if (datavizInstance.config.labelMappingRegExp){\n let valueAfterMatching = value;\n datavizInstance.config.labelMappingRegExp.forEach(regExpAndLabel => {\n if (regExpAndLabel.length > 1) {\n let regExpObj = regExpAndLabel[0];\n if (regExpObj.test(value)){\n valueAfterMatching = regExpAndLabel[1];\n }\n }\n });\n return stripHtmlTags(valueAfterMatching);\n }\n if (datavizInstance.config.labelMapping[value]) {\n return stripHtmlTags(String(datavizInstance.config.labelMapping[value]));\n }\n return stripHtmlTags(value);\n}\n\nfunction mapLabels(datavizInstance){\n // Write labels\n if (!datavizInstance.config.labelMappingDimension) {\n // if not defined use deprecated auto-detecting\n if (datavizInstance.data()[0].length === 2 && !isDateString(datavizInstance.data()[1][0])) {\n datavizInstance.config.labelMappingDimension = 'row';\n } else {\n datavizInstance.config.labelMappingDimension = 'column';\n }\n }\n\n if (datavizInstance.config.labelMappingDimension === 'row'\n || datavizInstance.config.labelMappingDimension === 'both') {\n datavizInstance.dataset.updateColumn(0, function(value){\n return mapLabelsExec({ datavizInstance, value });\n }.bind(datavizInstance));\n }\n\n if (datavizInstance.config.labelMappingDimension === 'column'\n || datavizInstance.config.labelMappingDimension === 'both') {\n datavizInstance.dataset.updateRow(0, function(value){\n return mapLabelsExec({ datavizInstance, value });\n }.bind(datavizInstance));\n }\n}\n\nDataviz.prototype.library = function(str){\n if (!arguments.length) return this.config['library'];\n this.config['library'] = (str ? String(str) : null);\n return this;\n};\n\nDataviz.prototype.message = function(){\n if (this.view._rendered) {\n this.destroy();\n }\n if (this.el()) {\n this.el().innerHTML = '';\n const message = Dataviz.libraries.default.message;\n if (message.render) {\n message.render.apply(this, arguments);\n }\n }\n return this;\n};\n\nDataviz.prototype.notes = function(str){\n if (this.config.showDeprecationWarnings) {\n console.log('.notes() is deprecated. Use: new KeenDataviz({ notes: _your_value_here_ })');\n }\n if (!arguments.length) return this.config.notes;\n this.config.notes = (str ? String(str) : null);\n return this;\n};\n\nDataviz.prototype.prepare = function(){\n const datavizInstance = this;\n\n if (!this.el()) {\n throw `${this.config.container} not found. A DOM parent element is required to mount the chart.`;\n return;\n }\n\n domReady(function(){\n if (datavizInstance.view._rendered) {\n datavizInstance.destroy();\n }\n if (datavizInstance.el()) {\n datavizInstance.el().innerHTML = '';\n const loader = Dataviz.libraries.default.spinner;\n if (loader.render) {\n loader.render.call(datavizInstance);\n }\n datavizInstance.view._prepared = true;\n }\n });\n\n return this;\n};\n\nDataviz.prototype.render = function(results = undefined){\n const datavizInstance = this;\n if (!!results) {\n const firstResult = results[0] || results;\n if (\n firstResult.query\n && firstResult.query.interval\n && firstResult.query.timeframe\n && firstResult.query.timeframe === 'string'\n && firstResult.query.timeframe.indexOf('this_') > -1\n && this.config.partialIntervalIndicator\n && this.config.partialIntervalIndicator.show === undefined\n )\n {\n this.config.partialIntervalIndicator.show = true;\n }\n\n if (Array.isArray(results)) {\n const timeframes = results.map(resultItem => resultItem.query.timeframe);\n timeframes.forEach(resultTimeframe => {\n let foundDifferent = timeframes.find(timeframeItem =>\n JSON.stringify(timeframeItem) !== JSON.stringify(resultTimeframe)\n );\n if (foundDifferent){\n const msg = 'Timeframes of the queries should be the same';\n console.error(msg);\n throw msg;\n }\n });\n // first result is important to prepare X on the chart\n return datavizInstance\n .data(results[0])\n .call(() => {\n const getLabel = (input) => {\n return `${input.query.event_collection} ${input.query.analysis_type}`;\n }\n let label = getLabel(results[0]);\n if (datavizInstance.config.labelMapping[label]) {\n label = datavizInstance.config.labelMapping[label];\n }\n this.dataset.deleteColumn(1);\n let firstResultPassed = false;\n for (let result of results) {\n label = getLabel(result);;\n let ds2 = Dataset.parser('interval')(result);\n datavizInstance.dataset.appendColumn(label, ds2.selectColumn(1).slice(1));\n }\n })\n .render();\n }\n\n return datavizInstance.data(results).render();\n }\n if (\n (!!this.config.labelMapping && Object.keys(this.config.labelMapping).length > 0)\n ||\n (!!this.config.labelMappingRegExp && this.config.labelMappingRegExp.length > 0)\n ){\n mapLabels(datavizInstance);\n }\n if (!!this.config.labels && Object.keys(this.config.labels).length > 0){\n setLabels(datavizInstance);\n }\n if (!!this.config.sortGroups) {\n sortGroups(datavizInstance);\n }\n if (!!this.config.sortIntervals) {\n sortIntervals(datavizInstance);\n }\n\n const loader = Dataviz.libraries.default.spinner;\n const library = this.config.library;\n const type = this.config.type;\n const containerElement = this.el();\n\n if (!containerElement || containerElement === undefined) {\n const msg = `${this.config.container} not found. A DOM parent element is required to mount the chart.`;\n console.error(msg);\n throw msg;\n return;\n }\n\n let returnValue = datavizInstance;\n\n if (datavizInstance.config.renderAsPromise) {\n returnValue = new Promise((resolve, reject) => {\n const customCallback = this.config.onrendered;\n datavizInstance.config.onrendered = () => {\n if (customCallback) {\n customCallback();\n }\n resolve(datavizInstance);\n }\n });\n }\n\n domReady(function(){\n if (datavizInstance.view._prepared && loader.destroy) {\n loader.destroy.apply(datavizInstance, arguments);\n }\n containerElement.innerHTML = '';\n\n if (Dataviz.libraries[library] === 'undefined'){\n // Error: Unregistered library\n const msg = `Incorrect library`;\n datavizInstance.message(msg);\n throw msg;\n return;\n }\n else {\n if (typeof Dataviz.libraries[library][type] === 'undefined') {\n const msg = `Incorrect chart type`;\n const mappedMsg = this.config.errorMapping[msg] || msg;\n datavizInstance.message(mappedMsg);\n throw msg;\n return;\n }\n else {\n buildDomWrapper(containerElement,\n datavizInstance.config\n );\n const { renderOnVisible } = datavizInstance.config;\n if(renderOnVisible){\n if(typeof IntersectionObserver !== 'undefined'){\n const chartVisibleCallback = (events, observer) => {\n events.forEach(el => {\n if(el.isIntersecting){\n if(!datavizInstance.view._rendered){\n Dataviz.libraries[library][type].render.call(datavizInstance);\n datavizInstance.view._rendered = true;\n }\n }\n })\n }\n const observer = new IntersectionObserver(chartVisibleCallback);\n observer.observe(containerElement);\n return;\n }\n }\n if(datavizInstance.config.firstVisibilityState === 'hidden'){\n if(typeof document !== 'undefined') {\n let hidden, visibilityChange;\n if (typeof document.hidden !== \"undefined\") {\n hidden = \"hidden\";\n visibilityChange = \"visibilitychange\";\n } else if (typeof document.msHidden !== \"undefined\") {\n hidden = \"msHidden\";\n visibilityChange = \"msvisibilitychange\";\n } else if (typeof document.webkitHidden !== \"undefined\") {\n hidden = \"webkitHidden\";\n visibilityChange = \"webkitvisibilitychange\";\n }\n const handleVisibilityChange = () => {\n if(!document[hidden]) {\n datavizInstance.view._artifacts.c3.load(datavizInstance.dataset.matrix);\n }\n }\n if(typeof document.addEventListener !== \"undefined\" ||\n hidden !== undefined){\n document.addEventListener(visibilityChange, handleVisibilityChange, {\n once: true\n });\n }\n }\n }\n Dataviz.libraries[library][type].render.call(datavizInstance);\n datavizInstance.view._rendered = true;\n }\n }\n });\n\n return returnValue;\n};\n\nDataviz.prototype.sortGroups = function(str){\n if (this.config.showDeprecationWarnings) {\n console.log('.sortGroups() is deprecated. Use: new KeenDataviz({ sortGroups: _your_value_here_ })');\n }\n if (!arguments.length) return this.config.sortGroups;\n this.config.sortGroups = (str ? String(str) : null);\n\n sortGroups(this, str);\n\n return this;\n};\n\nfunction sortGroups(datavizInstance){\n // Sort groups\n if (datavizInstance.config.sortGroups && datavizInstance.data().length > 1) {\n if (isDateString(datavizInstance.data()[1][0])) {\n datavizInstance.dataset.sortColumns(datavizInstance.config.sortGroups, datavizInstance.dataset.getColumnSum);\n }\n else {\n datavizInstance.dataset.sortRows(datavizInstance.config.sortGroups, datavizInstance.dataset.getRowSum);\n }\n }\n}\n\nDataviz.prototype.sortIntervals = function(str){\n if (this.config.showDeprecationWarnings) {\n console.log('.sortIntervals() is deprecated. Use: new KeenDataviz({ sortIntervals: _your_value_here_ })');\n }\n if (!arguments.length) return this.config.sortIntervals;\n this.config.sortIntervals = (str ? String(str) : null);\n\n sortIntervals(this);\n\n return this;\n};\n\nfunction sortIntervals(datavizInstance){\n if (datavizInstance.config.sortIntervals) {\n datavizInstance.dataset.sortRows(datavizInstance.config.sortIntervals);\n }\n}\n\nDataviz.prototype.stacked = function(bool){\n if (this.config.showDeprecationWarnings) {\n console.log('.stacked() is deprecated. Use: new KeenDataviz({ stacked: _your_value_here_ })');\n }\n if (!arguments.length) return this.config.stacked;\n this.config.stacked = bool ? true : false;\n return this;\n};\n\nDataviz.prototype.theme = function(str){\n if (this.config.showDeprecationWarnings) {\n console.log('.theme() is deprecated. Use: new KeenDataviz({ theme: _your_value_here_ })');\n }\n if (!arguments.length) return this.config.theme;\n this.config.theme = (str ? String(str) : null);\n return this;\n};\n\nDataviz.prototype.title = function(str){\n if (this.config.showDeprecationWarnings) {\n console.log('.title() is deprecated. Use: new KeenDataviz({ title: _your_value_here_ })');\n }\n if (!arguments.length) return this.config.title;\n this.config.title = (str ? String(str) : null);\n return this;\n};\n\nDataviz.prototype.type = function(str){\n if (this.config.showDeprecationWarnings) {\n console.log('.type() is deprecated. Use: new KeenDataviz({ type: _your_value_here_ })');\n }\n if (!arguments.length) return this.config.type;\n this.config.type = (str ? convertChartTypes(str) : null);\n return this;\n};\n\nDataviz.prototype.update = function(){\n const library = this.config.library;\n const type = this.config.type;\n const element = this.el();\n if (library && type && element && Dataviz.libraries[library][type].update) {\n Dataviz.libraries[library][type].update.apply(this, arguments);\n }\n return this;\n};\n\nDataviz.prototype.width = function(num){\n if (this.config.showDeprecationWarnings) {\n console.log('.width() is deprecated - use CSS classes');\n }\n return this;\n};\n\n// Deprecations\nDataviz.prototype.chartType = Dataviz.prototype.type;\nDataviz.prototype.error = Dataviz.prototype.message;\nDataviz.prototype.parseRawData = Dataviz.prototype.data;\nDataviz.prototype.parseRequest = function(){\n // this.emit('error', 'This method is no longer supported. Use .data() instead: https://github.com/keen/keen-dataviz.js#data');\n return this;\n};\nDataviz.prototype.initialize = function(){\n // this.emit('error', 'This method is no longer supported, and can be omitted as it has no impact');\n return this;\n};\n\nDataviz.version = pkg.version;\n\n// Private\n\nfunction buildDomWrapper(el, options) {\n let html = '';\n let chart100percentWide = '';\n if (options.legend.position === 'top' || options.legend.position === 'bottom') {\n chart100percentWide = 'c3-chart-100-percent';\n }\n\n let container = `
`;\n let align = 'horizontal';\n if (options.legend.position === 'left' || options.legend.position === 'right') {\n align = 'vertical';\n }\n if (options.legend && options.legend.show) {\n if (options.legend.position === 'top' || options.legend.position === 'left') {\n container = `
${container}`;\n } else {\n container = `${container}
`;\n }\n }\n html += `
`;\n if (options.title && options.showTitle) {\n html += `
${options.title}
`;\n }\n html += `
${container}
`;\n if (options.notes) {\n html += `
${options.notes}
`;\n }\n html += `
`;\n el.innerHTML = html;\n}\n\nfunction convertChartTypes(str) {\n const map = {\n areachart: 'area',\n barchart: 'horizontal-bar',\n columnchart: 'bar',\n linechart: 'line',\n piechart: 'pie',\n };\n return map[str] || str;\n}\n\nfunction testDom(fn) {\n if (/in/.test(document.readyState)) {\n setTimeout(function(){\n testDom(fn);\n }, 9);\n } else {\n fn();\n }\n}\n\nfunction domReady(fn) {\n if (typeof document !== 'undefined' || typeof window === 'undefined') {\n fn();\n return;\n }\n // Firefox 3.5 shim\n if (document.readyState == null && document.addEventListener) {\n document.addEventListener('DOMContentLoaded', function DOMContentLoaded() {\n document.removeEventListener('DOMContentLoaded', DOMContentLoaded, false);\n document.readyState = 'complete';\n }, false);\n document.readyState = 'loading';\n }\n testDom(fn);\n}\n\nexport { Dataset } from './dataset';\n\nexport default Dataviz;\n","import 'promise-polyfill/src/polyfill';\nimport { Dataviz, Dataset } from './index';\n\nmodule.exports = {\n default: Dataviz,\n Dataviz,\n Dataset,\n};\n"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/keen-dataviz.css b/dist/keen-dataviz.css index 17373b6..7674893 100644 --- a/dist/keen-dataviz.css +++ b/dist/keen-dataviz.css @@ -343,7 +343,24 @@ font-size: 1.5em; width:100%; } - +/* FUNNEL */ +.keen-dataviz .text-label { + fill: #1A1A1A; + fill: #1A1A1A; + } +.keen-dataviz .text-main { + fill: #FFFFFF; + fill: #FFFFFF; + font-size: 1.5em; + } +.keen-dataviz .text-second { + fill: #FFFFFF; + fill: #FFFFFF; + } +.keen-dataviz .chart-lines { + stroke: #E7E7E7; + stroke: #E7E7E7; + } /* TABLE */ .keen-dataviz-table { border-bottom: 1px solid #E7E7E7; diff --git a/dist/keen-dataviz.js b/dist/keen-dataviz.js index 9eec0ac..00a2025 100644 --- a/dist/keen-dataviz.js +++ b/dist/keen-dataviz.js @@ -76,7 +76,7 @@ return /******/ (function(modules) { // webpackBootstrap /******/ /******/ /******/ // Load entry module and return exports -/******/ return __webpack_require__(__webpack_require__.s = 163); +/******/ return __webpack_require__(__webpack_require__.s = 168); /******/ }) /************************************************************************/ /******/ ([ @@ -1917,7 +1917,7 @@ return /******/ (function(modules) { // webpackBootstrap try { oldLocale = globalLocale._abbr; var aliasedRequire = require; - __webpack_require__(138)("./" + name); + __webpack_require__(144)("./" + name); getSetGlobalLocale(oldLocale); } catch (e) {} } @@ -4589,7 +4589,7 @@ return /******/ (function(modules) { // webpackBootstrap }))); -/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(139)(module))) +/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(145)(module))) /***/ }), /* 1 */ @@ -4630,97 +4630,6 @@ function each(o, cb, s) { /***/ }), /* 2 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.escapeHtml = escapeHtml; -var matchHtmlRegExp = /["'&<>]/; - -/** - * Escape special characters in the given string of html. - * - * @param {string} string The string to escape for inserting into HTML - * @return {string} - * @public - */ - -function escapeHtml(string) { - var str = '' + string; - var match = matchHtmlRegExp.exec(str); - - if (!match) { - return str; - } - - var escape; - var html = ''; - var index = 0; - var lastIndex = 0; - - for (index = match.index; index < str.length; index++) { - switch (str.charCodeAt(index)) { - case 34: - // " - escape = '"'; - break; - case 38: - // & - escape = '&'; - break; - case 39: - // ' - escape = '''; - break; - case 60: - // < - escape = '<'; - break; - case 62: - // > - escape = '>'; - break; - default: - continue; - } - - if (lastIndex !== index) { - html += str.substring(lastIndex, index); - } - - lastIndex = index + 1; - html += escape; - } - - return lastIndex !== index ? html + str.substring(lastIndex, index) : html; -} - -/***/ }), -/* 3 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.extend = extend; -function extend(target) { - for (var i = 1; i < arguments.length; i++) { - for (var prop in arguments[i]) { - target[prop] = arguments[i][prop]; - } - } - return target; -} - -/***/ }), -/* 4 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -24491,6 +24400,157 @@ function defaultConstrain(transform, extent, translateExtent) { + +/***/ }), +/* 3 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.prettyNumber = prettyNumber; +function prettyNumber(input) { + // If it has 3 or fewer sig figs already, just return the number. + var input = Number(input), + sciNo = input.toPrecision(3), + prefix = '', + suffixes = ['', 'k', 'M', 'B', 'T']; + + if (Number(sciNo) == input && String(input).length <= 4) { + return String(input); + } + + if (Math.abs(input) >= 1000000000000000) { + return sciNo; + } + + if (input >= 1 || input <= -1) { + if (input < 0) { + //Pull off the negative side and stash that. + input = -input; + prefix = '-'; + } + return prefix + recurse(input, 0); + } else { + return input.toPrecision(3); + } + + function recurse(input, iteration) { + var input = String(input); + var split = input.split('.'); + // If there's a dot + if (split.length > 1) { + // Keep the left hand side only + input = split[0]; + var rhs = split[1]; + // If the left-hand side is too short, pad until it has 3 digits + if (input.length == 2 && rhs.length > 0) { + // Pad with right-hand side if possible + if (rhs.length > 0) { + input = input + '.' + rhs.charAt(0); + } + // Pad with zeroes if you must + else { + input += '0'; + } + } else if (input.length == 1 && rhs.length > 0) { + input = input + '.' + rhs.charAt(0); + // Pad with right-hand side if possible + if (rhs.length > 1) { + input += rhs.charAt(1); + } + // Pad with zeroes if you must + else { + input += '0'; + } + } + } + var numNumerals = input.length; + // if it has a period, then numNumerals is 1 smaller than the string length: + if (input.split('.').length > 1) { + numNumerals--; + } + if (numNumerals <= 3) { + return String(input) + suffixes[iteration]; + } else { + return recurse(Number(input) / 1000, iteration + 1); + } + } +} + +/***/ }), +/* 4 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.escapeHtml = escapeHtml; +var matchHtmlRegExp = /["'&<>]/; + +/** + * Escape special characters in the given string of html. + * + * @param {string} string The string to escape for inserting into HTML + * @return {string} + * @public + */ + +function escapeHtml(string) { + var str = '' + string; + var match = matchHtmlRegExp.exec(str); + + if (!match) { + return str; + } + + var escape; + var html = ''; + var index = 0; + var lastIndex = 0; + + for (index = match.index; index < str.length; index++) { + switch (str.charCodeAt(index)) { + case 34: + // " + escape = '"'; + break; + case 38: + // & + escape = '&'; + break; + case 39: + // ' + escape = '''; + break; + case 60: + // < + escape = '<'; + break; + case 62: + // > + escape = '>'; + break; + default: + continue; + } + + if (lastIndex !== index) { + html += str.substring(lastIndex, index); + } + + lastIndex = index + 1; + html += escape; + } + + return lastIndex !== index ? html + str.substring(lastIndex, index) : html; +} /***/ }), /* 5 */ @@ -24499,6 +24559,71 @@ function defaultConstrain(transform, extent, translateExtent) { "use strict"; +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.textWrap = textWrap; + +var _d = __webpack_require__(2); + +var d3 = _interopRequireWildcard(_d); + +function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } + +function textWrap(text, width) { + text.each(function () { + var text = d3.select(this), + words = text.text().split(/\s+/).reverse(), + word = void 0, + line = [], + lineNumber = 0, + lineHeight = 1.1, + // ems + x = text.attr("x"), + y = text.attr("y"), + dy = 0, + //parseFloat(text.attr("dy")), + tspan = text.text(null).append("tspan").attr("x", x).attr("y", y).attr("dy", dy + "em"); + while (word = words.pop()) { + line.push(word); + tspan.text(line.join(" ")); + if (tspan.node().getComputedTextLength() > width) { + line.pop(); + tspan.text(line.join(" ")); + line = [word]; + tspan = text.append("tspan").attr("x", x).attr("y", y).attr("dy", ++lineNumber * lineHeight + dy + "em").text(word); + } + } + }); +} + +/***/ }), +/* 6 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.extend = extend; +function extend(target) { + for (var i = 1; i < arguments.length; i++) { + for (var prop in arguments[i]) { + target[prop] = arguments[i][prop]; + } + } + return target; +} + +/***/ }), +/* 7 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + Object.defineProperty(exports, "__esModule", { value: true }); @@ -24530,7 +24655,7 @@ function testString(input) { } /***/ }), -/* 6 */ +/* 8 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -24553,7 +24678,7 @@ function stripHtmlTags(inputString) { } /***/ }), -/* 7 */ +/* 9 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -24572,7 +24697,7 @@ exports.default = function (len) { }; /***/ }), -/* 8 */ +/* 10 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -24584,7 +24709,7 @@ Object.defineProperty(exports, "__esModule", { exports.appendColumn = appendColumn; exports.appendRow = appendRow; -var _createNullList = __webpack_require__(7); +var _createNullList = __webpack_require__(9); var _createNullList2 = _interopRequireDefault(_createNullList); @@ -24675,7 +24800,7 @@ function appendRow(str, input) { } /***/ }), -/* 9 */ +/* 11 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -24781,7 +24906,7 @@ function appendRow(str, input) { /***/ }), -/* 10 */ +/* 12 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -24887,7 +25012,7 @@ function appendRow(str, input) { /***/ }), -/* 11 */ +/* 13 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -25000,7 +25125,7 @@ function appendRow(str, input) { /***/ }), -/* 12 */ +/* 14 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -25063,7 +25188,7 @@ function appendRow(str, input) { /***/ }), -/* 13 */ +/* 15 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -25134,7 +25259,7 @@ function appendRow(str, input) { /***/ }), -/* 14 */ +/* 16 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -25216,7 +25341,7 @@ function appendRow(str, input) { /***/ }), -/* 15 */ +/* 17 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -25277,7 +25402,7 @@ function appendRow(str, input) { /***/ }), -/* 16 */ +/* 18 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -25338,7 +25463,7 @@ function appendRow(str, input) { /***/ }), -/* 17 */ +/* 19 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -25439,7 +25564,7 @@ function appendRow(str, input) { /***/ }), -/* 18 */ +/* 20 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -25593,7 +25718,7 @@ function appendRow(str, input) { /***/ }), -/* 19 */ +/* 21 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js language configuration @@ -25715,7 +25840,7 @@ function appendRow(str, input) { /***/ }), -/* 20 */ +/* 22 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -25776,7 +25901,7 @@ function appendRow(str, input) { /***/ }), -/* 21 */ +/* 23 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -25837,7 +25962,7 @@ function appendRow(str, input) { /***/ }), -/* 22 */ +/* 24 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -25931,7 +26056,7 @@ function appendRow(str, input) { /***/ }), -/* 23 */ +/* 25 */ /***/ (function(module, exports, __webpack_require__) { @@ -26028,7 +26153,7 @@ function appendRow(str, input) { /***/ }), -/* 24 */ +/* 26 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -26153,7 +26278,7 @@ function appendRow(str, input) { /***/ }), -/* 25 */ +/* 27 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -26218,7 +26343,7 @@ function appendRow(str, input) { /***/ }), -/* 26 */ +/* 28 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -26288,7 +26413,7 @@ function appendRow(str, input) { /***/ }), -/* 27 */ +/* 29 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -26407,7 +26532,7 @@ function appendRow(str, input) { /***/ }), -/* 28 */ +/* 30 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -26477,7 +26602,7 @@ function appendRow(str, input) { /***/ }), -/* 29 */ +/* 31 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -26569,7 +26694,7 @@ function appendRow(str, input) { /***/ }), -/* 30 */ +/* 32 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -26701,7 +26826,7 @@ function appendRow(str, input) { /***/ }), -/* 31 */ +/* 33 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -26763,7 +26888,7 @@ function appendRow(str, input) { /***/ }), -/* 32 */ +/* 34 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -26835,7 +26960,7 @@ function appendRow(str, input) { /***/ }), -/* 33 */ +/* 35 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -26926,7 +27051,7 @@ function appendRow(str, input) { /***/ }), -/* 34 */ +/* 36 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -27040,7 +27165,7 @@ function appendRow(str, input) { /***/ }), -/* 35 */ +/* 37 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -27154,7 +27279,7 @@ function appendRow(str, input) { /***/ }), -/* 36 */ +/* 38 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -27225,7 +27350,7 @@ function appendRow(str, input) { /***/ }), -/* 37 */ +/* 39 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -27401,7 +27526,7 @@ function appendRow(str, input) { /***/ }), -/* 38 */ +/* 40 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -27560,7 +27685,7 @@ function appendRow(str, input) { /***/ }), -/* 39 */ +/* 41 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -27634,7 +27759,7 @@ function appendRow(str, input) { /***/ }), -/* 40 */ +/* 42 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -27697,7 +27822,7 @@ function appendRow(str, input) { /***/ }), -/* 41 */ +/* 43 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -27798,7 +27923,7 @@ function appendRow(str, input) { /***/ }), -/* 42 */ +/* 44 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -27983,7 +28108,7 @@ function appendRow(str, input) { /***/ }), -/* 43 */ +/* 45 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -28061,7 +28186,7 @@ function appendRow(str, input) { /***/ }), -/* 44 */ +/* 46 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -28125,7 +28250,7 @@ function appendRow(str, input) { /***/ }), -/* 45 */ +/* 47 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -28193,7 +28318,7 @@ function appendRow(str, input) { /***/ }), -/* 46 */ +/* 48 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -28322,7 +28447,7 @@ function appendRow(str, input) { /***/ }), -/* 47 */ +/* 49 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -28449,7 +28574,7 @@ function appendRow(str, input) { /***/ }), -/* 48 */ +/* 50 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -28512,7 +28637,7 @@ function appendRow(str, input) { /***/ }), -/* 49 */ +/* 51 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -28602,7 +28727,7 @@ function appendRow(str, input) { /***/ }), -/* 50 */ +/* 52 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -28692,7 +28817,7 @@ function appendRow(str, input) { /***/ }), -/* 51 */ +/* 53 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -28818,7 +28943,7 @@ function appendRow(str, input) { /***/ }), -/* 52 */ +/* 54 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -28883,7 +29008,7 @@ function appendRow(str, input) { /***/ }), -/* 53 */ +/* 55 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -28979,7 +29104,7 @@ function appendRow(str, input) { /***/ }), -/* 54 */ +/* 56 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -29042,7 +29167,7 @@ function appendRow(str, input) { /***/ }), -/* 55 */ +/* 57 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -29127,7 +29252,7 @@ function appendRow(str, input) { /***/ }), -/* 56 */ +/* 58 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -29212,7 +29337,7 @@ function appendRow(str, input) { /***/ }), -/* 57 */ +/* 59 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -29375,7 +29500,7 @@ function appendRow(str, input) { /***/ }), -/* 58 */ +/* 60 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -29482,7 +29607,7 @@ function appendRow(str, input) { /***/ }), -/* 59 */ +/* 61 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -29566,7 +29691,7 @@ function appendRow(str, input) { /***/ }), -/* 60 */ +/* 62 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -29659,7 +29784,7 @@ function appendRow(str, input) { /***/ }), -/* 61 */ +/* 63 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -29726,7 +29851,7 @@ function appendRow(str, input) { /***/ }), -/* 62 */ +/* 64 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -29841,7 +29966,7 @@ function appendRow(str, input) { /***/ }), -/* 63 */ +/* 65 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -29941,7 +30066,7 @@ function appendRow(str, input) { /***/ }), -/* 64 */ +/* 66 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -30062,7 +30187,7 @@ function appendRow(str, input) { /***/ }), -/* 65 */ +/* 67 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -30135,7 +30260,7 @@ function appendRow(str, input) { /***/ }), -/* 66 */ +/* 68 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -30274,7 +30399,7 @@ function appendRow(str, input) { /***/ }), -/* 67 */ +/* 69 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -30364,7 +30489,7 @@ function appendRow(str, input) { /***/ }), -/* 68 */ +/* 70 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -30448,7 +30573,7 @@ function appendRow(str, input) { /***/ }), -/* 69 */ +/* 71 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -30577,7 +30702,7 @@ function appendRow(str, input) { /***/ }), -/* 70 */ +/* 72 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -30690,7 +30815,7 @@ function appendRow(str, input) { /***/ }), -/* 71 */ +/* 73 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -30780,7 +30905,7 @@ function appendRow(str, input) { /***/ }), -/* 72 */ +/* 74 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -30872,7 +30997,7 @@ function appendRow(str, input) { /***/ }), -/* 73 */ +/* 75 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -30957,7 +31082,7 @@ function appendRow(str, input) { /***/ }), -/* 74 */ +/* 76 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -31052,7 +31177,7 @@ function appendRow(str, input) { /***/ }), -/* 75 */ +/* 77 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -31124,7 +31249,7 @@ function appendRow(str, input) { /***/ }), -/* 76 */ +/* 78 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -31259,7 +31384,7 @@ function appendRow(str, input) { /***/ }), -/* 77 */ +/* 79 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -31344,7 +31469,7 @@ function appendRow(str, input) { /***/ }), -/* 78 */ +/* 80 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -31442,7 +31567,7 @@ function appendRow(str, input) { /***/ }), -/* 79 */ +/* 81 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -31555,7 +31680,7 @@ function appendRow(str, input) { /***/ }), -/* 80 */ +/* 82 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -31712,7 +31837,7 @@ function appendRow(str, input) { /***/ }), -/* 81 */ +/* 83 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -31839,7 +31964,7 @@ function appendRow(str, input) { /***/ }), -/* 82 */ +/* 84 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -31939,7 +32064,7 @@ function appendRow(str, input) { /***/ }), -/* 83 */ +/* 85 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -32066,7 +32191,7 @@ function appendRow(str, input) { /***/ }), -/* 84 */ +/* 86 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -32192,7 +32317,7 @@ function appendRow(str, input) { /***/ }), -/* 85 */ +/* 87 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -32272,7 +32397,7 @@ function appendRow(str, input) { /***/ }), -/* 86 */ +/* 88 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -32351,7 +32476,7 @@ function appendRow(str, input) { /***/ }), -/* 87 */ +/* 89 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -32429,7 +32554,7 @@ function appendRow(str, input) { /***/ }), -/* 88 */ +/* 90 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -32510,7 +32635,7 @@ function appendRow(str, input) { /***/ }), -/* 89 */ +/* 91 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -32587,7 +32712,7 @@ function appendRow(str, input) { /***/ }), -/* 90 */ +/* 92 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -32673,7 +32798,7 @@ function appendRow(str, input) { /***/ }), -/* 91 */ +/* 93 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -32736,7 +32861,7 @@ function appendRow(str, input) { /***/ }), -/* 92 */ +/* 94 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -32848,7 +32973,7 @@ function appendRow(str, input) { /***/ }), -/* 93 */ +/* 95 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -32957,7 +33082,7 @@ function appendRow(str, input) { /***/ }), -/* 94 */ +/* 96 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -33026,7 +33151,7 @@ function appendRow(str, input) { /***/ }), -/* 95 */ +/* 97 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -33109,7 +33234,7 @@ function appendRow(str, input) { /***/ }), -/* 96 */ +/* 98 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -33195,7 +33320,7 @@ function appendRow(str, input) { /***/ }), -/* 97 */ +/* 99 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -33290,7 +33415,7 @@ function appendRow(str, input) { /***/ }), -/* 98 */ +/* 100 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -33385,7 +33510,7 @@ function appendRow(str, input) { /***/ }), -/* 99 */ +/* 101 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -33459,7 +33584,7 @@ function appendRow(str, input) { /***/ }), -/* 100 */ +/* 102 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -33529,7 +33654,7 @@ function appendRow(str, input) { /***/ }), -/* 101 */ +/* 103 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -33594,7 +33719,7 @@ function appendRow(str, input) { /***/ }), -/* 102 */ +/* 104 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -33664,7 +33789,7 @@ function appendRow(str, input) { /***/ }), -/* 103 */ +/* 105 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -33734,7 +33859,7 @@ function appendRow(str, input) { /***/ }), -/* 104 */ +/* 106 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -33800,7 +33925,7 @@ function appendRow(str, input) { /***/ }), -/* 105 */ +/* 107 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -33870,7 +33995,7 @@ function appendRow(str, input) { /***/ }), -/* 106 */ +/* 108 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -33973,7 +34098,7 @@ function appendRow(str, input) { /***/ }), -/* 107 */ +/* 109 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -34075,7 +34200,7 @@ function appendRow(str, input) { /***/ }), -/* 108 */ +/* 110 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -34154,7 +34279,7 @@ function appendRow(str, input) { /***/ }), -/* 109 */ +/* 111 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -34233,7 +34358,7 @@ function appendRow(str, input) { /***/ }), -/* 110 */ +/* 112 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -34312,7 +34437,7 @@ function appendRow(str, input) { /***/ }), -/* 111 */ +/* 113 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -34375,7 +34500,7 @@ function appendRow(str, input) { /***/ }), -/* 112 */ +/* 114 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -34458,7 +34583,7 @@ function appendRow(str, input) { /***/ }), -/* 113 */ +/* 115 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -34524,7 +34649,7 @@ function appendRow(str, input) { /***/ }), -/* 114 */ +/* 116 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -34706,7 +34831,7 @@ function appendRow(str, input) { /***/ }), -/* 115 */ +/* 117 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -34797,7 +34922,7 @@ function appendRow(str, input) { /***/ }), -/* 116 */ +/* 118 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -34951,7 +35076,7 @@ function appendRow(str, input) { /***/ }), -/* 117 */ +/* 119 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -35062,7 +35187,7 @@ function appendRow(str, input) { /***/ }), -/* 118 */ +/* 120 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -35184,7 +35309,7 @@ function appendRow(str, input) { /***/ }), -/* 119 */ +/* 121 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -35306,7 +35431,7 @@ function appendRow(str, input) { /***/ }), -/* 120 */ +/* 122 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -35367,7 +35492,7 @@ function appendRow(str, input) { /***/ }), -/* 121 */ +/* 123 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -35460,7 +35585,7 @@ function appendRow(str, input) { /***/ }), -/* 122 */ +/* 124 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -35595,7 +35720,7 @@ function appendRow(str, input) { /***/ }), -/* 123 */ +/* 125 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -35703,7 +35828,7 @@ function appendRow(str, input) { /***/ }), -/* 124 */ +/* 126 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -35765,7 +35890,7 @@ function appendRow(str, input) { /***/ }), -/* 125 */ +/* 127 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -35872,7 +35997,7 @@ function appendRow(str, input) { /***/ }), -/* 126 */ +/* 128 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -35934,7 +36059,7 @@ function appendRow(str, input) { /***/ }), -/* 127 */ +/* 129 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -36059,7 +36184,7 @@ function appendRow(str, input) { /***/ }), -/* 128 */ +/* 130 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -36121,7 +36246,7 @@ function appendRow(str, input) { /***/ }), -/* 129 */ +/* 131 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -36183,7 +36308,7 @@ function appendRow(str, input) { /***/ }), -/* 130 */ +/* 132 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -36321,7 +36446,7 @@ function appendRow(str, input) { /***/ }), -/* 131 */ +/* 133 */ /***/ (function(module, exports, __webpack_require__) { //! moment.js locale configuration @@ -36397,7 +36522,7 @@ function appendRow(str, input) { /***/ }), -/* 132 */ +/* 134 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -36427,7 +36552,7 @@ function extendDeep(target) { } /***/ }), -/* 133 */ +/* 135 */ /***/ (function(module, exports, __webpack_require__) { /* @license C3.js v0.6.12 | (c) C3 Team and other contributors | http://c3js.org/ */ @@ -36473,7 +36598,7 @@ function extendDeep(target) { function ChartInternal(api) { var $$ = this; - $$.d3 = window.d3 ? window.d3 : true ? __webpack_require__(4) : undefined; + $$.d3 = window.d3 ? window.d3 : true ? __webpack_require__(2) : undefined; $$.api = api; $$.config = $$.getDefaultConfig(); $$.data = {}; @@ -47127,7 +47252,7 @@ function extendDeep(target) { /***/ }), -/* 134 */ +/* 136 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -47139,7 +47264,7 @@ Object.defineProperty(exports, "__esModule", { var _each = __webpack_require__(1); -var _extend = __webpack_require__(3); +var _extend = __webpack_require__(6); function average(arr, start, end) { var set = arr.slice(start || 0, end ? end + 1 : arr.length), @@ -47238,7 +47363,7 @@ exports.default = { }; /***/ }), -/* 135 */ +/* 137 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -47249,41 +47374,41 @@ Object.defineProperty(exports, "__esModule", { }); exports.Dataset = undefined; -var _append = __webpack_require__(8); +var _append = __webpack_require__(10); var append = _interopRequireWildcard(_append); -var _delete = __webpack_require__(160); +var _delete = __webpack_require__(165); var del = _interopRequireWildcard(_delete); -var _filter = __webpack_require__(159); +var _filter = __webpack_require__(164); var filter = _interopRequireWildcard(_filter); -var _insert = __webpack_require__(158); +var _insert = __webpack_require__(163); var insert = _interopRequireWildcard(_insert); -var _select = __webpack_require__(157); +var _select = __webpack_require__(162); var select = _interopRequireWildcard(_select); -var _sort = __webpack_require__(156); +var _sort = __webpack_require__(161); var sort = _interopRequireWildcard(_sort); -var _update = __webpack_require__(155); +var _update = __webpack_require__(160); var update = _interopRequireWildcard(_update); -var _analyses = __webpack_require__(134); +var _analyses = __webpack_require__(136); var _analyses2 = _interopRequireDefault(_analyses); -var _extend = __webpack_require__(3); +var _extend = __webpack_require__(6); -var _parsers = __webpack_require__(154); +var _parsers = __webpack_require__(159); var _parsers2 = _interopRequireDefault(_parsers); @@ -47362,7 +47487,1068 @@ Dataset.parser = (0, _parsers2.default)(Dataset); exports.default = Dataset; /***/ }), -/* 136 */ +/* 138 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + +var _d = __webpack_require__(2); + +var d3 = _interopRequireWildcard(_d); + +var _svgTextWrap = __webpack_require__(5); + +var _prettyNumber = __webpack_require__(3); + +function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +var HorizontalFunnel3d = function () { + function HorizontalFunnel3d() { + _classCallCheck(this, HorizontalFunnel3d); + } + + _createClass(HorizontalFunnel3d, [{ + key: 'render', + value: function render() { + var matrix = this.dataset.matrix; + var _config = this.config, + colors = _config.colors, + container = _config.container, + labelMapping = _config.labelMapping, + colorMapping = _config.colorMapping; + + var opts = this.config; + var _config$funnel = this.config.funnel, + _config$funnel$percen = _config$funnel.percents, + show = _config$funnel$percen.show, + countingMethod = _config$funnel$percen.countingMethod, + decimals = _config$funnel$percen.decimals, + lines = _config$funnel.lines, + resultValues = _config$funnel.resultValues, + effect3d = _config$funnel.effect3d, + hover = _config$funnel.hover; + + var margin = { top: 0, right: 30, bottom: 100, left: 10 }; + var funnelContainer = d3.select(container); + var chartContainer = d3.select(container + ' .c3-chart'); + var chart = chartContainer.append('svg'); + var svgWidth = funnelContainer.style('width').slice(0, -2) - margin.right - margin.left; + var svgHeight = funnelContainer.style('height').slice(0, -2) - margin.top - margin.bottom - 30; + var elemWidth = svgWidth / (matrix.length - 1); + var xMarginElement = elemWidth * 0.3; + var shadowCut = xMarginElement / 1.5; + var prevElemHeight = svgHeight; + var percent = 100 .toFixed(decimals); + + // prepare normal funnel polygons + var polygons = matrix.slice(1).map(function (d, i) { + var newPoints = [{ + x: elemWidth * i + xMarginElement, + y: (svgHeight - prevElemHeight) / 2 + }, { + x: elemWidth * i + xMarginElement, + y: (svgHeight - prevElemHeight) / 2 + prevElemHeight + }]; + if (i !== 0) { + if (countingMethod === 'relative') { + prevElemHeight = prevElemHeight * d[1] / matrix[i][1]; + percent = (d[1] / matrix[i][1] * 100).toFixed(decimals); + } + if (countingMethod === 'absolute') { + prevElemHeight = svgHeight * d[1] / matrix[1][1]; + percent = (d[1] / matrix[1][1] * 100).toFixed(decimals); + } + } + var label = d[0]; + if (Object.keys(labelMapping).length) { + for (var key in labelMapping) { + if (labelMapping[key] === d[0]) { + label = key; + } + } + } + var result = d[1]; + if ((typeof opts['prettyNumber'] === 'undefined' || opts['prettyNumber'] === true) && !isNaN(parseInt(d[1]))) { + result = (0, _prettyNumber.prettyNumber)(d[1]); + } + return { + name: d[0], + label: label, + percent: percent + '%', + result: result, + points: [].concat(newPoints, [{ + x: elemWidth * (i + 1), + y: (svgHeight - prevElemHeight) / 2 + prevElemHeight + }, { + x: elemWidth * (i + 1), + y: (svgHeight - prevElemHeight) / 2 + }]) + }; + }); + + //funnel shadows preparing + var polygonsShadows = polygons.map(function (d, i) { + return { + label: d.label, + points: [{ + x: d.points[0].x, + y: d.points[0].y + }, { + x: d.points[1].x, + y: d.points[1].y + }, { + x: effect3d === 'top' ? d.points[1].x : d.points[1].x - shadowCut, + y: effect3d === 'top' ? d.points[1].y : d.points[1].y - xMarginElement < svgHeight / 2 ? svgHeight / 2 + 5 : d.points[1].y - xMarginElement + }, { + x: effect3d === 'bottom' ? d.points[0].x : d.points[0].x - shadowCut, + y: effect3d === 'bottom' ? d.points[0].y : d.points[0].y + xMarginElement > svgHeight / 2 ? svgHeight / 2 - 5 : d.points[0].y + xMarginElement + }] + }; + }); + + //connecting funnels with shadows for rendering + var polygons3d = polygons.concat(polygonsShadows); + + //chart rendering with polygons + chart.attr('height', svgHeight + margin.top + margin.bottom - 30).attr('width', svgWidth + margin.left + margin.right).append('g').attr('transform', 'translate(' + margin.left + ',' + margin.top + ')').selectAll('polygon').data(polygons3d).enter().append('polygon').attr('points', function (d) { + return d.points.map(function (p) { + return [p.x, p.y].join(','); + }).join(' '); + }).style('fill', function (d, i) { + if (i > polygons.length - 1) { + if (colorMapping[d.label]) { + return d3.rgb(colorMapping[d.label]).darker(1.5); + } + return d3.rgb(colors[i - polygons.length]).darker(1.5); + } + if (colorMapping[d.label]) { + return colorMapping[d.label]; + } + return colors[i]; + }).attr('class', function (d) { + return d.label; + }).attr('cursor', 'pointer'); + + if (lines) { + //rendering lines + chart.selectAll('line').data(polygons).enter().append('line').attr('x1', function (d) { + return d.points[0].x + margin.left - xMarginElement * 0.8; + }).attr('y1', svgHeight + margin.bottom).attr('x2', function (d) { + return d.points[0].x + margin.left - xMarginElement * 0.8; + }).attr('y2', function (d) { + return d.points[0].y; + }).attr('class', 'chart-lines'); + + //rendering last line + chart.append('line').attr('x1', svgWidth + margin.left + xMarginElement / 4).attr('y1', svgHeight + margin.bottom).attr('x2', polygons[polygons.length - 1].points[3].x + margin.left + xMarginElement / 4).attr('y2', polygons[polygons.length - 1].points[3].y).attr('class', 'chart-lines'); + } + + //rendering labels when lines are visible + if (lines) { + chart.selectAll('text.label').data(polygons).enter().append('text').style('text-anchor', 'middle').attr('x', function (d) { + return d.points[0].x + margin.left + elemWidth * 0.25; + }).attr('y', svgHeight + margin.bottom * 0.4).attr('class', function (d) { + return 'text-label ' + d.label; + }).text(function (d) { + return d.name; + }).call(_svgTextWrap.textWrap, elemWidth).attr('cursor', 'pointer'); + } + + //rendering labels when lines are not visible + if (!lines) { + chart.selectAll('text.label').data(polygons).enter().append('text').style('text-anchor', 'middle').attr('x', function (d) { + return d.points[0].x + margin.left + elemWidth * 0.25; + }).attr('y', function (d) { + if (d.points[2].y + elemWidth / 4 > svgHeight + margin.bottom - 40) { + return svgHeight + margin.bottom - 40; + } + if (d.points[2].y + elemWidth / 4 < d.points[1].y) { + return d.points[1].y + 20; + } + return d.points[2].y + elemWidth / 4 + 10; + }).attr('class', function (d) { + return 'text-label ' + d.label; + }).text(function (d) { + return d.name; + }).call(_svgTextWrap.textWrap, elemWidth).attr('cursor', 'pointer'); + } + + //rendering percents for each step + if (show && !resultValues) { + chart.selectAll('text.label').data(polygons).enter().append('text').style('text-anchor', 'middle').attr('x', function (d) { + return d.points[1].x + elemWidth / 2.8 + margin.left; + }).attr('y', svgHeight / 2 + margin.top + 10).attr('class', function (d) { + return 'text-main ' + d.label; + }).text(function (d) { + return d.percent; + }).attr('cursor', 'pointer'); + } + + //rendering results for each step + if (resultValues && !show) { + chart.selectAll('text.label').data(polygons).enter().append('text').style('text-anchor', 'middle').attr('x', function (d) { + return d.points[1].x + elemWidth / 2.8 + margin.left; + }).attr('y', svgHeight / 2 + margin.top + 10).attr('class', function (d) { + return 'text-main ' + d.label; + }).text(function (d) { + return d.result; + }).attr('cursor', 'pointer'); + } + + //rendering results and percenage together + if (show && resultValues) { + //rendering percents + chart.selectAll('text.label').data(polygons).enter().append('text').style('text-anchor', 'middle').attr('x', function (d) { + return d.points[1].x + elemWidth / 2.8 + margin.left; + }).attr('y', svgHeight / 2 + margin.top + 16).attr('class', function (d) { + return 'text-second ' + d.label; + }).text(function (d) { + return d.percent; + }).attr('cursor', 'pointer'); + + //rendering results + chart.selectAll('text.label').data(polygons).enter().append('text').style('text-anchor', 'middle').attr('x', function (d) { + return d.points[1].x + elemWidth / 2.8 + margin.left; + }).attr('y', svgHeight / 2 + margin.top - 3).attr('class', function (d) { + return 'text-main ' + d.label; + }).text(function (d) { + return d.result; + }).attr('cursor', 'pointer'); + } + + //hover handling + if (hover) { + var handleMouseOver = function handleMouseOver(d) { + polygonsHover.style('opacity', 0.5); + labelHover.style('opacity', 0.5); + var thisLabel = /[^ ]*$/.exec(d3.select(this).attr('class'))[0]; + chart.selectAll('.' + thisLabel).style('opacity', 1); + }; + + var handleMouseOut = function handleMouseOut(d) { + polygonsHover.style('opacity', 1); + labelHover.style('opacity', 1); + }; + + var polygonsHover = chart.selectAll('polygon'); + polygonsHover.on("mouseover", handleMouseOver).on("mouseout", handleMouseOut); + + var labelHover = chart.selectAll('text'); + labelHover.on("mouseover", handleMouseOver).on("mouseout", handleMouseOut); + } + } + }, { + key: 'update', + value: function update() { + this.destroy(); + this.render(); + } + }, { + key: 'destroy', + value: function destroy() { + var container = this.config.container; + + var chartContainer = d3.select(container + ' .c3-chart > *'); + chartContainer.remove(); + } + }]); + + return HorizontalFunnel3d; +}(); + +exports.default = HorizontalFunnel3d; + +/***/ }), +/* 139 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + +var _d = __webpack_require__(2); + +var d3 = _interopRequireWildcard(_d); + +var _svgTextWrap = __webpack_require__(5); + +var _prettyNumber = __webpack_require__(3); + +function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +var HorizontalFunnel = function () { + function HorizontalFunnel() { + _classCallCheck(this, HorizontalFunnel); + } + + _createClass(HorizontalFunnel, [{ + key: 'render', + value: function render() { + var matrix = this.dataset.matrix; + var _config = this.config, + colors = _config.colors, + container = _config.container, + labelMapping = _config.labelMapping, + colorMapping = _config.colorMapping; + + var opts = this.config; + var _config$funnel = this.config.funnel, + _config$funnel$percen = _config$funnel.percents, + show = _config$funnel$percen.show, + countingMethod = _config$funnel$percen.countingMethod, + decimals = _config$funnel$percen.decimals, + lines = _config$funnel.lines, + marginBetweenSteps = _config$funnel.marginBetweenSteps, + resultValues = _config$funnel.resultValues, + hover = _config$funnel.hover; + + var margin = { top: 0, right: 30, bottom: 100, left: 10 }; + var xMarginElement = 0; + if (marginBetweenSteps) { + xMarginElement = 5; + } + var funnelContainer = d3.select(container); + var chartContainer = d3.select(container + ' .c3-chart'); + var chart = chartContainer.append('svg'); + var svgWidth = funnelContainer.style('width').slice(0, -2) - margin.right - margin.left; + var svgHeight = funnelContainer.style('height').slice(0, -2) - margin.top - margin.bottom - 30; + var elemWidth = svgWidth / (matrix.length - 1); + var prevElemHeight = svgHeight; + var percent = 100 .toFixed(decimals); + + // prepare normal funnel polygons + var polygons = matrix.slice(1).map(function (d, i) { + var newPoints = [{ + x: elemWidth * i + xMarginElement, + y: (svgHeight - prevElemHeight) / 2 + }, { + x: elemWidth * i + xMarginElement, + y: (svgHeight - prevElemHeight) / 2 + prevElemHeight + }]; + if (i !== 0) { + if (countingMethod === 'relative') { + prevElemHeight = prevElemHeight * d[1] / matrix[i][1]; + percent = (d[1] / matrix[i][1] * 100).toFixed(decimals); + } + if (countingMethod === 'absolute') { + prevElemHeight = svgHeight * d[1] / matrix[1][1]; + percent = (d[1] / matrix[1][1] * 100).toFixed(decimals); + } + } + var label = d[0]; + if (Object.keys(labelMapping).length) { + for (var key in labelMapping) { + if (labelMapping[key] === d[0]) { + label = key; + } + } + } + var result = d[1]; + if ((typeof opts['prettyNumber'] === 'undefined' || opts['prettyNumber'] === true) && !isNaN(parseInt(d[1]))) { + result = (0, _prettyNumber.prettyNumber)(d[1]); + } + return { + name: d[0], + label: label, + percent: percent + '%', + result: result, + points: [].concat(newPoints, [{ + x: elemWidth * (i + 1), + y: (svgHeight - prevElemHeight) / 2 + prevElemHeight + }, { + x: elemWidth * (i + 1), + y: (svgHeight - prevElemHeight) / 2 + }]) + }; + }); + + //chart rendering with polygons + chart.attr('height', svgHeight + margin.top + margin.bottom - 30).attr('width', svgWidth + margin.left + margin.right).append('g').attr('transform', 'translate(' + margin.left + ',' + margin.top + ')').selectAll('polygon').data(polygons).enter().append('polygon').attr('points', function (d) { + return d.points.map(function (p) { + return [p.x, p.y].join(','); + }).join(' '); + }).style('fill', function (d, i) { + if (colorMapping[d.label]) { + return colorMapping[d.label]; + } + return colors[i]; + }).attr('class', function (d) { + return d.label; + }).attr('cursor', 'pointer'); + + if (lines) { + //rendering lines + chart.selectAll('line').data(polygons).enter().append('line').attr('x1', function (d) { + return d.points[0].x + margin.left - xMarginElement / 2; + }).attr('y1', svgHeight + margin.bottom).attr('x2', function (d) { + return d.points[0].x + margin.left - xMarginElement / 2; + }).attr('y2', function (d) { + return d.points[0].y; + }).attr('class', 'chart-lines'); + + //rendering last line + chart.append('line').attr('x1', svgWidth + margin.left - xMarginElement / 2).attr('y1', svgHeight + margin.bottom).attr('x2', polygons[polygons.length - 1].points[3].x + margin.left + xMarginElement / 2).attr('y2', polygons[polygons.length - 1].points[3].y).attr('class', 'chart-lines'); + } + + //rendering labels when lines are visible + if (lines) { + chart.selectAll('text.label').data(polygons).enter().append('text').style('text-anchor', 'middle').attr('x', function (d) { + return d.points[1].x + elemWidth / 2 + margin.left; + }).attr('y', svgHeight + margin.bottom * 0.5).attr('class', function (d) { + return 'text-label ' + d.label; + }).text(function (d) { + return d.name; + }).call(_svgTextWrap.textWrap, elemWidth).attr('cursor', 'pointer'); + } + + //rendering labels when lines are not visible + if (!lines) { + chart.selectAll('text.label').data(polygons).enter().append('text').style('text-anchor', 'middle').attr('x', function (d) { + return d.points[1].x + elemWidth / 2 + margin.left; + }).attr('y', function (d) { + if (d.points[2].y + (d.points[3].y - d.points[0].y) / 2 + elemWidth / 4 > svgHeight + margin.bottom - 40) { + return svgHeight + margin.bottom - 40; + } + return d.points[2].y + (d.points[3].y - d.points[0].y) / 2 + elemWidth / 4; + }).attr('class', function (d) { + return 'text-label ' + d.label; + }).text(function (d) { + return d.name; + }).call(_svgTextWrap.textWrap, elemWidth).attr('cursor', 'pointer'); + } + + //rendering percents for each step + if (show && !resultValues) { + chart.selectAll('text.label').data(polygons).enter().append('text').style('text-anchor', 'middle').attr('x', function (d) { + return d.points[1].x + elemWidth / 2 + margin.left; + }).attr('y', svgHeight / 2 + margin.top + 10).attr('class', function (d) { + return 'text-main ' + d.label; + }).text(function (d) { + return d.percent; + }).attr('cursor', 'pointer'); + } + + //rendering results for each step + if (resultValues && !show) { + chart.selectAll('text.label').data(polygons).enter().append('text').style('text-anchor', 'middle').attr('x', function (d) { + return d.points[1].x + elemWidth / 2 + margin.left; + }).attr('y', svgHeight / 2 + margin.top + 10).attr('class', function (d) { + return 'text-main ' + d.label; + }).text(function (d) { + return d.result; + }).attr('cursor', 'pointer'); + } + + //rendering results and percenage together + if (show && resultValues) { + //rendering percents + chart.selectAll('text.label').data(polygons).enter().append('text').style('text-anchor', 'middle').attr('x', function (d) { + return d.points[1].x + elemWidth / 2 + margin.left; + }).attr('y', svgHeight / 2 + margin.top + 16).attr('class', function (d) { + return 'text-second ' + d.label; + }).text(function (d) { + return d.percent; + }).attr('cursor', 'pointer'); + + //rendering results + chart.selectAll('text.label').data(polygons).enter().append('text').style('text-anchor', 'middle').attr('x', function (d) { + return d.points[1].x + elemWidth / 2 + margin.left; + }).attr('y', svgHeight / 2 + margin.top - 3).attr('class', function (d) { + return 'text-main ' + d.label; + }).text(function (d) { + return d.result; + }).attr('cursor', 'pointer'); + } + //hover handling + if (hover) { + var handleMouseOver = function handleMouseOver(d) { + polygonsHover.style('opacity', 0.5); + labelHover.style('opacity', 0.5); + var thisLabel = /[^ ]*$/.exec(d3.select(this).attr('class'))[0]; + chart.selectAll('.' + thisLabel).style('opacity', 1); + }; + + var handleMouseOut = function handleMouseOut(d) { + polygonsHover.style('opacity', 1); + labelHover.style('opacity', 1); + }; + + var polygonsHover = chart.selectAll('polygon'); + polygonsHover.on("mouseover", handleMouseOver).on("mouseout", handleMouseOut); + + var labelHover = chart.selectAll('text'); + labelHover.on("mouseover", handleMouseOver).on("mouseout", handleMouseOut); + } + } + }, { + key: 'update', + value: function update() { + this.destroy(); + this.render(); + } + }, { + key: 'destroy', + value: function destroy() { + var container = this.config.container; + + var chartContainer = d3.select(container + ' .c3-chart > *'); + chartContainer.remove(); + } + }]); + + return HorizontalFunnel; +}(); + +exports.default = HorizontalFunnel; + +/***/ }), +/* 140 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + +var _d = __webpack_require__(2); + +var d3 = _interopRequireWildcard(_d); + +var _svgTextWrap = __webpack_require__(5); + +var _prettyNumber = __webpack_require__(3); + +function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +var Funnel3d = function () { + function Funnel3d() { + _classCallCheck(this, Funnel3d); + } + + _createClass(Funnel3d, [{ + key: 'render', + value: function render() { + var matrix = this.dataset.matrix; + var _config = this.config, + colors = _config.colors, + container = _config.container, + labelMapping = _config.labelMapping, + colorMapping = _config.colorMapping; + + var opts = this.config; + var _config$funnel = this.config.funnel, + _config$funnel$percen = _config$funnel.percents, + show = _config$funnel$percen.show, + countingMethod = _config$funnel$percen.countingMethod, + decimals = _config$funnel$percen.decimals, + lines = _config$funnel.lines, + resultValues = _config$funnel.resultValues, + effect3d = _config$funnel.effect3d, + hover = _config$funnel.hover; + + var margin = { top: 10, right: 30, bottom: 60, left: 200 }; + var funnelContainer = d3.select(container); + var chartContainer = d3.select(container + ' .c3-chart'); + var chart = chartContainer.append('svg'); + var svgWidth = funnelContainer.style('width').slice(0, -2) - margin.right - margin.left; + var svgHeight = funnelContainer.style('height').slice(0, -2) - margin.top - margin.bottom - 30; + var elemHeight = svgHeight / (matrix.length - 1); + var yMarginElement = elemHeight * 0.3; + var shadowCut = yMarginElement * 2.5; + var prevElemWidth = svgWidth; + var percent = 100 .toFixed(decimals); + + // prepare normal funnel polygons + var polygons = matrix.slice(1).map(function (d, i) { + var newPoints = [{ + x: (svgWidth - prevElemWidth) / 2, + y: elemHeight * i + yMarginElement + }, { + x: (svgWidth - prevElemWidth) / 2 + prevElemWidth, + y: elemHeight * i + yMarginElement + }]; + if (i !== 0) { + if (countingMethod === 'relative') { + prevElemWidth = prevElemWidth * d[1] / matrix[i][1]; + percent = (d[1] / matrix[i][1] * 100).toFixed(decimals); + } + if (countingMethod === 'absolute') { + prevElemWidth = svgWidth * d[1] / matrix[1][1]; + percent = (d[1] / matrix[1][1] * 100).toFixed(decimals); + } + } + var label = d[0]; + if (Object.keys(labelMapping).length) { + for (var key in labelMapping) { + if (labelMapping[key] === d[0]) { + label = key; + } + } + } + var result = d[1]; + if ((typeof opts['prettyNumber'] === 'undefined' || opts['prettyNumber'] === true) && !isNaN(parseInt(d[1]))) { + result = (0, _prettyNumber.prettyNumber)(d[1]); + } + return { + name: d[0], + label: label, + percent: percent + '%', + result: result, + points: [].concat(newPoints, [{ + x: (svgWidth - prevElemWidth) / 2 + prevElemWidth, + y: elemHeight * (i + 1) + }, { + x: (svgWidth - prevElemWidth) / 2, + y: elemHeight * (i + 1) + }]) + }; + }); + + //funnel shadows preparing + var polygonsShadows = polygons.map(function (d, i) { + return { + label: d.label, + points: [{ + x: d.points[3].x, + y: d.points[3].y + }, { + x: d.points[2].x, + y: d.points[2].y + }, { + x: effect3d === 'left' ? d.points[2].x : d.points[2].x - shadowCut < svgWidth / 2 ? svgWidth / 2 + 5 : d.points[2].x - shadowCut, + y: effect3d === 'left' ? d.points[2].y : d.points[2].y + yMarginElement / 1.5 + }, { + x: effect3d === 'right' ? d.points[3].x : d.points[3].x + shadowCut > svgWidth / 2 ? svgWidth / 2 - 5 : d.points[3].x + shadowCut, + y: effect3d === 'right' ? d.points[3].y : d.points[3].y + yMarginElement / 1.5 + }] + }; + }); + + //connecting funnels with shadows for rendering + var polygons3d = polygons.concat(polygonsShadows); + + //chart rendering with polygons + chart.attr('height', svgHeight + margin.top + margin.bottom - 30).attr('width', svgWidth + margin.left + margin.right).append('g').attr('transform', 'translate(' + margin.left + ',' + margin.top + ')').selectAll('polygon').data(polygons3d).enter().append('polygon').attr('points', function (d) { + return d.points.map(function (p) { + return [p.x, p.y].join(','); + }).join(' '); + }).style('fill', function (d, i) { + if (i > polygons.length - 1) { + if (colorMapping[d.label]) { + return d3.rgb(colorMapping[d.label]).darker(1.5); + } + return d3.rgb(colors[i - polygons.length]).darker(1.5); + } + if (colorMapping[d.label]) { + return colorMapping[d.label]; + } + return colors[i]; + }).attr('class', function (d) { + return d.label; + }).attr('cursor', 'pointer'); + + if (lines) { + //rendering lines + chart.selectAll('line').data(polygons).enter().append('line').attr('x1', 10).attr('y1', function (d) { + return d.points[0].y + margin.top - yMarginElement / 5; + }).attr('x2', function (d, i) { + if (i === 0) { + return d.points[1].x + margin.left; + } + return d.points[1].x + margin.left - shadowCut; + }).attr('y2', function (d) { + return d.points[0].y + margin.top - yMarginElement / 5; + }).attr('class', 'chart-lines'); + + //rendering last line + chart.append('line').attr('x1', 10).attr('y1', polygons[polygons.length - 1].points[2].y + margin.top + yMarginElement - yMarginElement / 5).attr('x2', polygons[polygons.length - 1].points[2].x + margin.left - shadowCut).attr('y2', polygons[polygons.length - 1].points[2].y + margin.top + yMarginElement - yMarginElement / 5).attr('class', 'chart-lines'); + } + + //rendering labels when lines are visible + if (lines) { + chart.selectAll('text.label').data(polygons).enter().append('text').style('text-anchor', 'start').attr('x', 20).attr('y', function (d) { + return (d.points[2].y - d.points[1].y) / 2 + d.points[1].y + margin.top + 5 + yMarginElement / 4; + }).attr('class', function (d) { + return 'text-label ' + d.label; + }).text(function (d) { + return d.name; + }).call(_svgTextWrap.textWrap, margin.left).attr('cursor', 'pointer'); + } + + //rendering labels when lines are not visible + if (!lines) { + chart.selectAll('text.label').data(polygons).enter().append('text').style('text-anchor', 'end').attr('x', function (d) { + return d.points[0].x + (d.points[3].x - d.points[0].x) / 2 + 130; + }).attr('y', function (d) { + return (d.points[2].y - d.points[1].y) / 2 + d.points[1].y + margin.top + 5; + }).attr('class', function (d) { + return 'text-label ' + d.label; + }).text(function (d) { + return d.name; + }).call(_svgTextWrap.textWrap, margin.left).attr('cursor', 'pointer'); + } + + //rendering percents for each step + if (show && !resultValues) { + chart.selectAll('text.label').data(polygons).enter().append('text').style('text-anchor', 'middle').attr('x', svgWidth / 2 + margin.left).attr('y', function (d) { + return (d.points[2].y - d.points[1].y) / 2 + d.points[1].y + margin.top + 8; + }).attr('class', function (d) { + return 'text-main ' + d.label; + }).text(function (d) { + return d.percent; + }).attr('cursor', 'pointer'); + } + + //rendering results for each step + if (resultValues && !show) { + chart.selectAll('text.label').data(polygons).enter().append('text').style('text-anchor', 'middle').attr('x', svgWidth / 2 + margin.left).attr('y', function (d) { + return (d.points[2].y - d.points[1].y) / 2 + d.points[1].y + margin.top + 8; + }).attr('class', function (d) { + return 'text-main ' + d.label; + }).text(function (d) { + return d.result; + }).attr('cursor', 'pointer'); + } + + //rendering results and percenage together + if (show && resultValues) { + //rendering percents + chart.selectAll('text.label').data(polygons).enter().append('text').style('text-anchor', 'middle').attr('x', svgWidth / 2 + margin.left).attr('y', function (d) { + return (d.points[2].y - d.points[1].y) / 2 + d.points[1].y + margin.top + 18; + }).attr('class', function (d) { + return 'text-second ' + d.label; + }).text(function (d) { + return d.percent; + }).attr('cursor', 'pointer'); + + //rendering results + chart.selectAll('text.label').data(polygons).enter().append('text').style('text-anchor', 'middle').attr('x', svgWidth / 2 + margin.left).attr('y', function (d) { + return (d.points[2].y - d.points[1].y) / 2 + d.points[1].y + margin.top + 3; + }).attr('class', function (d) { + return 'text-main ' + d.label; + }).text(function (d) { + return d.result; + }).attr('cursor', 'pointer'); + } + //hover handling + if (hover) { + var handleMouseOver = function handleMouseOver(d) { + polygonsHover.style('opacity', 0.5); + labelHover.style('opacity', 0.5); + var thisLabel = /[^ ]*$/.exec(d3.select(this).attr('class'))[0]; + chart.selectAll('.' + thisLabel).style('opacity', 1); + }; + + var handleMouseOut = function handleMouseOut(d) { + polygonsHover.style('opacity', 1); + labelHover.style('opacity', 1); + }; + + var polygonsHover = chart.selectAll('polygon'); + polygonsHover.on("mouseover", handleMouseOver).on("mouseout", handleMouseOut); + + var labelHover = chart.selectAll('text'); + labelHover.on("mouseover", handleMouseOver).on("mouseout", handleMouseOut); + } + } + }, { + key: 'update', + value: function update() { + this.destroy(); + this.render(); + } + }, { + key: 'destroy', + value: function destroy() { + var container = this.config.container; + + var chartContainer = d3.select(container + ' .c3-chart > *'); + chartContainer.remove(); + } + }]); + + return Funnel3d; +}(); + +exports.default = Funnel3d; + +/***/ }), +/* 141 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + +var _d = __webpack_require__(2); + +var d3 = _interopRequireWildcard(_d); + +var _svgTextWrap = __webpack_require__(5); + +var _prettyNumber = __webpack_require__(3); + +function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +var Funnel = function () { + function Funnel() { + _classCallCheck(this, Funnel); + } + + _createClass(Funnel, [{ + key: 'render', + value: function render() { + var matrix = this.dataset.matrix; + var _config = this.config, + colors = _config.colors, + container = _config.container, + labelMapping = _config.labelMapping, + colorMapping = _config.colorMapping; + + var opts = this.config; + var _config$funnel = this.config.funnel, + _config$funnel$percen = _config$funnel.percents, + show = _config$funnel$percen.show, + countingMethod = _config$funnel$percen.countingMethod, + decimals = _config$funnel$percen.decimals, + lines = _config$funnel.lines, + marginBetweenSteps = _config$funnel.marginBetweenSteps, + resultValues = _config$funnel.resultValues, + hover = _config$funnel.hover; + + var margin = { top: 10, right: 30, bottom: 30, left: 200 }; + var yMarginElement = 0; + if (marginBetweenSteps) { + yMarginElement = 5; + } + var funnelContainer = d3.select(container); + var chartContainer = d3.select(container + ' .c3-chart'); + var chart = chartContainer.append('svg'); + var svgWidth = funnelContainer.style('width').slice(0, -2) - margin.right - margin.left; + var svgHeight = funnelContainer.style('height').slice(0, -2) - margin.top - margin.bottom - 30; + var elemHeight = svgHeight / (matrix.length - 1); + var prevElemWidth = svgWidth; + var percent = 100 .toFixed(decimals); + + // prepare normal funnel polygons + var polygons = matrix.slice(1).map(function (d, i) { + var newPoints = [{ + x: (svgWidth - prevElemWidth) / 2, + y: elemHeight * i + yMarginElement + }, { + x: (svgWidth - prevElemWidth) / 2 + prevElemWidth, + y: elemHeight * i + yMarginElement + }]; + if (i !== 0) { + if (countingMethod === 'relative') { + prevElemWidth = prevElemWidth * d[1] / matrix[i][1]; + percent = (d[1] / matrix[i][1] * 100).toFixed(decimals); + } + if (countingMethod === 'absolute') { + prevElemWidth = svgWidth * d[1] / matrix[1][1]; + percent = (d[1] / matrix[1][1] * 100).toFixed(decimals); + } + } + var label = d[0]; + if (Object.keys(labelMapping).length) { + for (var key in labelMapping) { + if (labelMapping[key] === d[0]) { + label = key; + } + } + } + var result = d[1]; + if ((typeof opts['prettyNumber'] === 'undefined' || opts['prettyNumber'] === true) && !isNaN(parseInt(d[1]))) { + result = (0, _prettyNumber.prettyNumber)(d[1]); + } + return { + name: d[0], + label: label, + percent: percent + '%', + result: result, + points: [].concat(newPoints, [{ + x: (svgWidth - prevElemWidth) / 2 + prevElemWidth, + y: elemHeight * (i + 1) + }, { + x: (svgWidth - prevElemWidth) / 2, + y: elemHeight * (i + 1) + }]) + }; + }); + + //chart rendering with polygons + chart.attr('height', svgHeight + margin.top + margin.bottom - 30).attr('width', svgWidth + margin.left + margin.right).append('g').attr('transform', 'translate(' + margin.left + ',' + margin.top + ')').selectAll('polygon').data(polygons).enter().append('polygon').attr('points', function (d) { + return d.points.map(function (p) { + return [p.x, p.y].join(','); + }).join(' '); + }).style('fill', function (d, i) { + if (colorMapping[d.label]) { + return colorMapping[d.label]; + } + return colors[i]; + }).attr('class', function (d) { + return d.label; + }).attr('cursor', 'pointer'); + + if (lines) { + //rendering lines + chart.selectAll('line').data(polygons).enter().append('line').attr('x1', 10).attr('y1', function (d) { + return d.points[0].y + margin.top - yMarginElement / 2; + }).attr('x2', function (d) { + return d.points[1].x + margin.left; + }).attr('y2', function (d) { + return d.points[0].y + margin.top - yMarginElement / 2; + }).attr('class', 'chart-lines'); + + //rendering last line + chart.append('line').attr('x1', 10).attr('y1', polygons[polygons.length - 1].points[2].y + margin.top + yMarginElement / 2).attr('x2', polygons[polygons.length - 1].points[2].x + margin.left).attr('y2', polygons[polygons.length - 1].points[2].y + margin.top + yMarginElement / 2).attr('class', 'chart-lines'); + } + + //rendering labels when lines are visible + if (lines) { + chart.selectAll('text.label').data(polygons).enter().append('text').style('text-anchor', 'start').attr('x', 20).attr('y', function (d) { + return (d.points[2].y - d.points[1].y) / 2 + d.points[1].y + margin.top + yMarginElement + 5; + }).attr('class', function (d) { + return 'text-label ' + d.label; + }).text(function (d) { + return d.name; + }).call(_svgTextWrap.textWrap, margin.left).attr('cursor', 'pointer'); + } + + //rendering labels when lines are not visible + if (!lines) { + chart.selectAll('text.label').data(polygons).enter().append('text').style('text-anchor', 'end').attr('x', function (d) { + return d.points[0].x + (d.points[3].x - d.points[0].x) / 2 + margin.left * 0.9; + }).attr('y', function (d) { + return (d.points[2].y - d.points[1].y) / 2 + d.points[1].y + margin.top + yMarginElement + 5; + }).attr('class', function (d) { + return 'text-label ' + d.label; + }).text(function (d) { + return d.name; + }).call(_svgTextWrap.textWrap, margin.left).attr('cursor', 'pointer'); + } + + //rendering percents for each step + if (show && !resultValues) { + chart.selectAll('text.label').data(polygons).enter().append('text').style('text-anchor', 'middle').attr('x', svgWidth / 2 + margin.left).attr('y', function (d) { + return (d.points[2].y - d.points[1].y) / 2 + d.points[1].y + margin.top + yMarginElement + 8; + }).attr('class', function (d) { + return 'text-main ' + d.label; + }).text(function (d) { + return d.percent; + }).attr('cursor', 'pointer'); + } + + //rendering results for each step + if (resultValues && !show) { + chart.selectAll('text.label').data(polygons).enter().append('text').style('text-anchor', 'middle').attr('x', svgWidth / 2 + margin.left).attr('y', function (d) { + return (d.points[2].y - d.points[1].y) / 2 + d.points[1].y + margin.top + yMarginElement + 8; + }).attr('class', function (d) { + return 'text-main ' + d.label; + }).text(function (d) { + return d.result; + }).attr('cursor', 'pointer'); + } + + //rendering results and percenage together + if (show && resultValues) { + //rendering percents + chart.selectAll('text.label').data(polygons).enter().append('text').style('text-anchor', 'middle').attr('x', svgWidth / 2 + margin.left).attr('y', function (d) { + if (yMarginElement === 0) { + return (d.points[2].y - d.points[1].y) / 2 + d.points[1].y + margin.top + 16; + } + return (d.points[2].y - d.points[1].y) / 2 + d.points[1].y + margin.top + yMarginElement + 12; + }).attr('class', function (d) { + return 'text-second ' + d.label; + }).text(function (d) { + return d.percent; + }).attr('cursor', 'pointer'); + + //rendering results + chart.selectAll('text.label').data(polygons).enter().append('text').style('text-anchor', 'middle').attr('x', svgWidth / 2 + margin.left).attr('y', function (d) { + if (yMarginElement === 0) { + return (d.points[2].y - d.points[1].y) / 2 + d.points[1].y + margin.top; + } + return (d.points[2].y - d.points[1].y) / 2 + d.points[1].y + margin.top + yMarginElement - 5; + }).attr('class', function (d) { + return 'text-main ' + d.label; + }).text(function (d) { + return d.result; + }).attr('cursor', 'pointer'); + } + //hover handling + if (hover) { + var handleMouseOver = function handleMouseOver(d) { + polygonsHover.style('opacity', 0.5); + labelHover.style('opacity', 0.5); + var thisLabel = /[^ ]*$/.exec(d3.select(this).attr('class'))[0]; + chart.selectAll('.' + thisLabel).style('opacity', 1); + }; + + var handleMouseOut = function handleMouseOut(d) { + polygonsHover.style('opacity', 1); + labelHover.style('opacity', 1); + }; + + var polygonsHover = chart.selectAll('polygon'); + polygonsHover.on("mouseover", handleMouseOver).on("mouseout", handleMouseOut); + + var labelHover = chart.selectAll('text'); + labelHover.on("mouseover", handleMouseOver).on("mouseout", handleMouseOut); + } + } + }, { + key: 'update', + value: function update() { + this.destroy(); + this.render(); + } + }, { + key: 'destroy', + value: function destroy() { + var container = this.config.container; + + var chartContainer = d3.select(container + ' .c3-chart > *'); + chartContainer.remove(); + } + }]); + + return Funnel; +}(); + +exports.default = Funnel; + +/***/ }), +/* 142 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -47405,262 +48591,262 @@ exports.default = { }; /***/ }), -/* 137 */ +/* 143 */ /***/ (function(module) { module.exports = {"version":"2018e","zones":["Africa/Abidjan|LMT GMT|g.8 0|01|-2ldXH.Q|48e5","Africa/Accra|LMT GMT +0020|.Q 0 -k|012121212121212121212121212121212121212121212121|-26BbX.8 6tzX.8 MnE 1BAk MnE 1BAk MnE 1BAk MnE 1C0k MnE 1BAk MnE 1BAk MnE 1BAk MnE 1C0k MnE 1BAk MnE 1BAk MnE 1BAk MnE 1C0k MnE 1BAk MnE 1BAk MnE 1BAk MnE 1C0k MnE 1BAk MnE 1BAk MnE 1BAk MnE 1C0k MnE 1BAk MnE 1BAk MnE|41e5","Africa/Nairobi|LMT EAT +0230 +0245|-2r.g -30 -2u -2J|01231|-1F3Cr.g 3Dzr.g okMu MFXJ|47e5","Africa/Algiers|PMT WET WEST CET CEST|-9.l 0 -10 -10 -20|0121212121212121343431312123431213|-2nco9.l cNb9.l HA0 19A0 1iM0 11c0 1oo0 Wo0 1rc0 QM0 1EM0 UM0 DA0 Imo0 rd0 De0 9Xz0 1fb0 1ap0 16K0 2yo0 mEp0 hwL0 jxA0 11A0 dDd0 17b0 11B0 1cN0 2Dy0 1cN0 1fB0 1cL0|26e5","Africa/Lagos|LMT WAT|-d.A -10|01|-22y0d.A|17e6","Africa/Bissau|LMT -01 GMT|12.k 10 0|012|-2ldX0 2xoo0|39e4","Africa/Maputo|LMT CAT|-2a.k -20|01|-2GJea.k|26e5","Africa/Cairo|EET EEST|-20 -30|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-1bIO0 vb0 1ip0 11z0 1iN0 1nz0 12p0 1pz0 10N0 1pz0 16p0 1jz0 s3d0 Vz0 1oN0 11b0 1oO0 10N0 1pz0 10N0 1pb0 10N0 1pb0 10N0 1pb0 10N0 1pz0 10N0 1pb0 10N0 1pb0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1WL0 rd0 1Rz0 wp0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1qL0 Xd0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1ny0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 WL0 1qN0 Rb0 1wp0 On0 1zd0 Lz0 1EN0 Fb0 c10 8n0 8Nd0 gL0 e10 mn0|15e6","Africa/Casablanca|LMT WET WEST CET|u.k 0 -10 -10|0121212121212121213121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2gMnt.E 130Lt.E rb0 Dd0 dVb0 b6p0 TX0 EoB0 LL0 gnd0 rz0 43d0 AL0 1Nd0 XX0 1Cp0 pz0 dEp0 4mn0 SyN0 AL0 1Nd0 wn0 1FB0 Db0 1zd0 Lz0 1Nf0 wM0 co0 go0 1o00 s00 dA0 vc0 11A0 A00 e00 y00 11A0 uM0 e00 Dc0 11A0 s00 e00 IM0 WM0 mo0 gM0 LA0 WM0 jA0 e00 Rc0 11A0 e00 e00 U00 11A0 8o0 e00 11A0 11A0 5A0 e00 17c0 1fA0 1a00 1a00 1fA0 17c0 1io0 14o0 1lc0 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1lc0 14o0 1fA0|32e5","Africa/Ceuta|WET WEST CET CEST|0 -10 -10 -20|010101010101010101010232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-25KN0 11z0 drd0 18p0 3HX0 17d0 1fz0 1a10 1io0 1a00 1y7o0 LL0 gnd0 rz0 43d0 AL0 1Nd0 XX0 1Cp0 pz0 dEp0 4VB0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|85e3","Africa/El_Aaiun|LMT -01 WET WEST|Q.M 10 0 -10|01232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-1rDz7.c 1GVA7.c 6L0 AL0 1Nd0 XX0 1Cp0 pz0 1cBB0 AL0 1Nd0 wn0 1FB0 Db0 1zd0 Lz0 1Nf0 wM0 co0 go0 1o00 s00 dA0 vc0 11A0 A00 e00 y00 11A0 uM0 e00 Dc0 11A0 s00 e00 IM0 WM0 mo0 gM0 LA0 WM0 jA0 e00 Rc0 11A0 e00 e00 U00 11A0 8o0 e00 11A0 11A0 5A0 e00 17c0 1fA0 1a00 1a00 1fA0 17c0 1io0 14o0 1lc0 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1lc0 14o0 1fA0|20e4","Africa/Johannesburg|SAST SAST SAST|-1u -20 -30|012121|-2GJdu 1Ajdu 1cL0 1cN0 1cL0|84e5","Africa/Juba|LMT CAT CAST EAT|-26.s -20 -30 -30|01212121212121212121212121212121213|-1yW26.s 1zK06.s 16L0 1iN0 17b0 1jd0 17b0 1ip0 17z0 1i10 17X0 1hB0 18n0 1hd0 19b0 1gp0 19z0 1iN0 17b0 1ip0 17z0 1i10 18n0 1hd0 18L0 1gN0 19b0 1gp0 19z0 1iN0 17z0 1i10 17X0 yGd0","Africa/Khartoum|LMT CAT CAST EAT|-2a.8 -20 -30 -30|012121212121212121212121212121212131|-1yW2a.8 1zK0a.8 16L0 1iN0 17b0 1jd0 17b0 1ip0 17z0 1i10 17X0 1hB0 18n0 1hd0 19b0 1gp0 19z0 1iN0 17b0 1ip0 17z0 1i10 18n0 1hd0 18L0 1gN0 19b0 1gp0 19z0 1iN0 17z0 1i10 17X0 yGd0 HjL0|51e5","Africa/Monrovia|MMT MMT GMT|H.8 I.u 0|012|-23Lzg.Q 28G01.m|11e5","Africa/Ndjamena|LMT WAT WAST|-10.c -10 -20|0121|-2le10.c 2J3c0.c Wn0|13e5","Africa/Sao_Tome|LMT GMT WAT|A.J 0 -10|012|-2le00 4i6N0","Africa/Tripoli|LMT CET CEST EET|-Q.I -10 -20 -20|012121213121212121212121213123123|-21JcQ.I 1hnBQ.I vx0 4iP0 xx0 4eN0 Bb0 7ip0 U0n0 A10 1db0 1cN0 1db0 1dd0 1db0 1eN0 1bb0 1e10 1cL0 1c10 1db0 1dd0 1db0 1cN0 1db0 1q10 fAn0 1ep0 1db0 AKq0 TA0 1o00|11e5","Africa/Tunis|PMT CET CEST|-9.l -10 -20|0121212121212121212121212121212121|-2nco9.l 18pa9.l 1qM0 DA0 3Tc0 11B0 1ze0 WM0 7z0 3d0 14L0 1cN0 1f90 1ar0 16J0 1gXB0 WM0 1rA0 11c0 nwo0 Ko0 1cM0 1cM0 1rA0 10M0 zuM0 10N0 1aN0 1qM0 WM0 1qM0 11A0 1o00|20e5","Africa/Windhoek|+0130 SAST SAST CAT WAT|-1u -20 -30 -20 -10|01213434343434343434343434343434343434343434343434343|-2GJdu 1Ajdu 1cL0 1SqL0 9Io0 16P0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0|32e4","America/Adak|NST NWT NPT BST BDT AHST HST HDT|b0 a0 a0 b0 a0 a0 a0 90|012034343434343434343434343434343456767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676|-17SX0 8wW0 iB0 Qlb0 52O0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 cm0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|326","America/Anchorage|AST AWT APT AHST AHDT YST AKST AKDT|a0 90 90 a0 90 90 90 80|012034343434343434343434343434343456767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676|-17T00 8wX0 iA0 Qlb0 52O0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 cm0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|30e4","America/Port_of_Spain|LMT AST|46.4 40|01|-2kNvR.U|43e3","America/Araguaina|LMT -03 -02|3c.M 30 20|0121212121212121212121212121212121212121212121212121|-2glwL.c HdKL.c 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 dMN0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 ny10 Lz0|14e4","America/Argentina/Buenos_Aires|CMT -04 -03 -02|4g.M 40 30 20|01212121212121212121212121212121212121212123232323232323232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wp0 Rb0 1wp0 TX0 A4p0 uL0 1qN0 WL0","America/Argentina/Catamarca|CMT -04 -03 -02|4g.M 40 30 20|01212121212121212121212121212121212121212123232323132321232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wq0 Ra0 1wp0 TX0 rlB0 7B0 8zb0 uL0","America/Argentina/Cordoba|CMT -04 -03 -02|4g.M 40 30 20|01212121212121212121212121212121212121212123232323132323232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wq0 Ra0 1wp0 TX0 A4p0 uL0 1qN0 WL0","America/Argentina/Jujuy|CMT -04 -03 -02|4g.M 40 30 20|012121212121212121212121212121212121212121232323121323232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1ze0 TX0 1ld0 WK0 1wp0 TX0 A4p0 uL0","America/Argentina/La_Rioja|CMT -04 -03 -02|4g.M 40 30 20|012121212121212121212121212121212121212121232323231232321232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Qn0 qO0 16n0 Rb0 1wp0 TX0 rlB0 7B0 8zb0 uL0","America/Argentina/Mendoza|CMT -04 -03 -02|4g.M 40 30 20|01212121212121212121212121212121212121212123232312121321232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1u20 SL0 1vd0 Tb0 1wp0 TW0 ri10 Op0 7TX0 uL0","America/Argentina/Rio_Gallegos|CMT -04 -03 -02|4g.M 40 30 20|01212121212121212121212121212121212121212123232323232321232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wp0 Rb0 1wp0 TX0 rlB0 7B0 8zb0 uL0","America/Argentina/Salta|CMT -04 -03 -02|4g.M 40 30 20|012121212121212121212121212121212121212121232323231323232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wq0 Ra0 1wp0 TX0 A4p0 uL0","America/Argentina/San_Juan|CMT -04 -03 -02|4g.M 40 30 20|012121212121212121212121212121212121212121232323231232321232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Qn0 qO0 16n0 Rb0 1wp0 TX0 rld0 m10 8lb0 uL0","America/Argentina/San_Luis|CMT -04 -03 -02|4g.M 40 30 20|012121212121212121212121212121212121212121232323121212321212|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 XX0 1q20 SL0 AN0 vDb0 m10 8lb0 8L0 jd0 1qN0 WL0 1qN0","America/Argentina/Tucuman|CMT -04 -03 -02|4g.M 40 30 20|0121212121212121212121212121212121212121212323232313232123232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wq0 Ra0 1wp0 TX0 rlB0 4N0 8BX0 uL0 1qN0 WL0","America/Argentina/Ushuaia|CMT -04 -03 -02|4g.M 40 30 20|01212121212121212121212121212121212121212123232323232321232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wp0 Rb0 1wp0 TX0 rkN0 8p0 8zb0 uL0","America/Curacao|LMT -0430 AST|4z.L 4u 40|012|-2kV7o.d 28KLS.d|15e4","America/Asuncion|AMT -04 -03|3O.E 40 30|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212|-1x589.k 1DKM9.k 3CL0 3Dd0 10L0 1pB0 10n0 1pB0 10n0 1pB0 1cL0 1dd0 1db0 1dd0 1cL0 1dd0 1cL0 1dd0 1cL0 1dd0 1db0 1dd0 1cL0 1dd0 1cL0 1dd0 1cL0 1dd0 1db0 1dd0 1cL0 1lB0 14n0 1dd0 1cL0 1fd0 WL0 1rd0 1aL0 1dB0 Xz0 1qp0 Xb0 1qN0 10L0 1rB0 TX0 1tB0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 1cL0 WN0 1qL0 11B0 1nX0 1ip0 WL0 1qN0 WL0 1qN0 WL0 1tB0 TX0 1tB0 TX0 1tB0 19X0 1a10 1fz0 1a10 1fz0 1cN0 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0|28e5","America/Atikokan|CST CDT CWT CPT EST|60 50 50 50 50|0101234|-25TQ0 1in0 Rnb0 3je0 8x30 iw0|28e2","America/Bahia_Banderas|LMT MST CST PST MDT CDT|71 70 60 80 60 50|0121212131414141414141414141414141414152525252525252525252525252525252525252525252525252525252|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 otX0 gmN0 P2N0 13Vd0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nW0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0|84e3","America/Bahia|LMT -03 -02|2y.4 30 20|01212121212121212121212121212121212121212121212121212121212121|-2glxp.U HdLp.U 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 1EN0 Lz0 1C10 IL0 1HB0 Db0 1HB0 On0 1zd0 On0 1zd0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 l5B0 Rb0|27e5","America/Barbados|LMT BMT AST ADT|3W.t 3W.t 40 30|01232323232|-1Q0I1.v jsM0 1ODC1.v IL0 1ip0 17b0 1ip0 17b0 1ld0 13b0|28e4","America/Belem|LMT -03 -02|3d.U 30 20|012121212121212121212121212121|-2glwK.4 HdKK.4 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0|20e5","America/Belize|LMT CST -0530 CDT|5Q.M 60 5u 50|01212121212121212121212121212121212121212121212121213131|-2kBu7.c fPA7.c Onu 1zcu Rbu 1wou Rbu 1wou Rbu 1zcu Onu 1zcu Onu 1zcu Rbu 1wou Rbu 1wou Rbu 1wou Rbu 1zcu Onu 1zcu Onu 1zcu Rbu 1wou Rbu 1wou Rbu 1zcu Onu 1zcu Onu 1zcu Onu 1zcu Rbu 1wou Rbu 1wou Rbu 1zcu Onu 1zcu Onu 1zcu Rbu 1wou Rbu 1f0Mu qn0 lxB0 mn0|57e3","America/Blanc-Sablon|AST ADT AWT APT|40 30 30 30|010230|-25TS0 1in0 UGp0 8x50 iu0|11e2","America/Boa_Vista|LMT -04 -03|42.E 40 30|0121212121212121212121212121212121|-2glvV.k HdKV.k 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 smp0 WL0 1tB0 2L0|62e2","America/Bogota|BMT -05 -04|4U.g 50 40|0121|-2eb73.I 38yo3.I 2en0|90e5","America/Boise|PST PDT MST MWT MPT MDT|80 70 70 60 60 60|0101023425252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252|-261q0 1nX0 11B0 1nX0 8C10 JCL0 8x20 ix0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 Dd0 1Kn0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|21e4","America/Cambridge_Bay|-00 MST MWT MPT MDDT MDT CST CDT EST|0 70 60 60 50 60 60 50 50|0123141515151515151515151515151515151515151515678651515151515151515151515151515151515151515151515151515151515151515151515151|-21Jc0 RO90 8x20 ix0 LCL0 1fA0 zgO0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11A0 1nX0 2K0 WQ0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|15e2","America/Campo_Grande|LMT -04 -03|3C.s 40 30|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212|-2glwl.w HdLl.w 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 1EN0 Lz0 1C10 IL0 1HB0 Db0 1HB0 On0 1zd0 On0 1zd0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 1C10 Lz0 1Ip0 HX0 1zd0 On0 1HB0 IL0 1wp0 On0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 Rb0 1zd0 Lz0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 On0 1zd0 On0 1HB0 FX0 1HB0 FX0 1HB0 IL0 1HB0 FX0 1HB0 IL0 1EN0 FX0 1HB0 FX0 1HB0 IL0 1EN0 IL0 1HB0 FX0 1HB0 FX0 1HB0 FX0 1HB0 FX0 1HB0 FX0 1Kp0 FX0 1HB0 IL0 1EN0 FX0 1HB0 FX0 1HB0 IL0 1EN0|77e4","America/Cancun|LMT CST EST EDT CDT|5L.4 60 50 40 50|0123232341414141414141414141414141414141412|-1UQG0 2q2o0 yLB0 1lb0 14p0 1lb0 14p0 Lz0 xB0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 Dd0|63e4","America/Caracas|CMT -0430 -04|4r.E 4u 40|01212|-2kV7w.k 28KM2.k 1IwOu kqo0|29e5","America/Cayenne|LMT -04 -03|3t.k 40 30|012|-2mrwu.E 2gWou.E|58e3","America/Panama|CMT EST|5j.A 50|01|-2uduE.o|15e5","America/Chicago|CST CDT EST CWT CPT|60 50 50 50 50|01010101010101010101010101010101010102010101010103401010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261s0 1nX0 11B0 1nX0 1wp0 TX0 WN0 1qL0 1cN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 11B0 1Hz0 14p0 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 RB0 8x30 iw0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|92e5","America/Chihuahua|LMT MST CST CDT MDT|74.k 70 60 50 60|0121212323241414141414141414141414141414141414141414141414141414141414141414141414141414141|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 2zQN0 1lb0 14p0 1lb0 14q0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0|81e4","America/Costa_Rica|SJMT CST CDT|5A.d 60 50|0121212121|-1Xd6n.L 2lu0n.L Db0 1Kp0 Db0 pRB0 15b0 1kp0 mL0|12e5","America/Creston|MST PST|70 80|010|-29DR0 43B0|53e2","America/Cuiaba|LMT -04 -03|3I.k 40 30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212|-2glwf.E HdLf.E 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 1EN0 Lz0 1C10 IL0 1HB0 Db0 1HB0 On0 1zd0 On0 1zd0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 4a10 HX0 1zd0 On0 1HB0 IL0 1wp0 On0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 Rb0 1zd0 Lz0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 On0 1zd0 On0 1HB0 FX0 1HB0 FX0 1HB0 IL0 1HB0 FX0 1HB0 IL0 1EN0 FX0 1HB0 FX0 1HB0 IL0 1EN0 IL0 1HB0 FX0 1HB0 FX0 1HB0 FX0 1HB0 FX0 1HB0 FX0 1Kp0 FX0 1HB0 IL0 1EN0 FX0 1HB0 FX0 1HB0 IL0 1EN0|54e4","America/Danmarkshavn|LMT -03 -02 GMT|1e.E 30 20 0|01212121212121212121212121212121213|-2a5WJ.k 2z5fJ.k 19U0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 DC0|8","America/Dawson_Creek|PST PDT PWT PPT MST|80 70 70 70 70|0102301010101010101010101010101010101010101010101010101014|-25TO0 1in0 UGp0 8x10 iy0 3NB0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 ML0|12e3","America/Dawson|YST YDT YWT YPT YDDT PST PDT|90 80 80 80 70 80 70|0101023040565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565|-25TN0 1in0 1o10 13V0 Ser0 8x00 iz0 LCL0 1fA0 jrA0 fNd0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|13e2","America/Denver|MST MDT MWT MPT|70 60 60 60|01010101023010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261r0 1nX0 11B0 1nX0 11B0 1qL0 WN0 mn0 Ord0 8x20 ix0 LCN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|26e5","America/Detroit|LMT CST EST EWT EPT EDT|5w.b 60 50 40 40 40|012342525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252|-2Cgir.N peqr.N 156L0 8x40 iv0 6fd0 11z0 XQp0 1cL0 s10 1Vz0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|37e5","America/Edmonton|LMT MST MDT MWT MPT|7x.Q 70 60 60 60|01212121212121341212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2yd4q.8 shdq.8 1in0 17d0 hz0 2dB0 1fz0 1a10 11z0 1qN0 WL0 1qN0 11z0 IGN0 8x20 ix0 3NB0 11z0 LFB0 1cL0 3Cp0 1cL0 66N0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|10e5","America/Eirunepe|LMT -05 -04|4D.s 50 40|0121212121212121212121212121212121|-2glvk.w HdLk.w 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 dPB0 On0 yTd0 d5X0|31e3","America/El_Salvador|LMT CST CDT|5U.M 60 50|012121|-1XiG3.c 2Fvc3.c WL0 1qN0 WL0|11e5","America/Tijuana|LMT MST PST PDT PWT PPT|7M.4 70 80 70 70 70|012123245232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-1UQE0 4PX0 8mM0 8lc0 SN0 1cL0 pHB0 83r0 zI0 5O10 1Rz0 cOO0 11A0 1o00 11A0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 BUp0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 U10 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|20e5","America/Fort_Nelson|PST PDT PWT PPT MST|80 70 70 70 70|01023010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010104|-25TO0 1in0 UGp0 8x10 iy0 3NB0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0|39e2","America/Fort_Wayne|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|010101023010101010101010101040454545454545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 QI10 Db0 RB0 8x30 iw0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 5Tz0 1o10 qLb0 1cL0 1cN0 1cL0 1qhd0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Fortaleza|LMT -03 -02|2y 30 20|0121212121212121212121212121212121212121|-2glxq HdLq 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 nsp0 WL0 1tB0 5z0 2mN0 On0|34e5","America/Glace_Bay|LMT AST ADT AWT APT|3X.M 40 30 30 30|012134121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2IsI0.c CwO0.c 1in0 UGp0 8x50 iu0 iq10 11z0 Jg10 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|19e3","America/Godthab|LMT -03 -02|3q.U 30 20|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2a5Ux.4 2z5dx.4 19U0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|17e3","America/Goose_Bay|NST NDT NST NDT NWT NPT AST ADT ADDT|3u.Q 2u.Q 3u 2u 2u 2u 40 30 20|010232323232323245232323232323232323232323232323232323232326767676767676767676767676767676767676767676768676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676|-25TSt.8 1in0 DXb0 2HbX.8 WL0 1qN0 WL0 1qN0 WL0 1tB0 TX0 1tB0 WL0 1qN0 WL0 1qN0 7UHu itu 1tB0 WL0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1tB0 WL0 1ld0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 S10 g0u 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14n1 1lb0 14p0 1nW0 11C0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zcX Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|76e2","America/Grand_Turk|KMT EST EDT AST|57.a 50 40 40|01212121212121212121212121212121212121212121212121212121212121212121212121232121212121212121212121212121212121212121|-2l1uQ.O 2HHBQ.O 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 5Ip0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|37e2","America/Guatemala|LMT CST CDT|62.4 60 50|0121212121|-24KhV.U 2efXV.U An0 mtd0 Nz0 ifB0 17b0 zDB0 11z0|13e5","America/Guayaquil|QMT -05 -04|5e 50 40|0121|-1yVSK 2uILK rz0|27e5","America/Guyana|LMT -0345 -03 -04|3Q.E 3J 30 40|0123|-2dvU7.k 2r6LQ.k Bxbf|80e4","America/Halifax|LMT AST ADT AWT APT|4e.o 40 30 30 30|0121212121212121212121212121212121212121212121212134121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2IsHJ.A xzzJ.A 1db0 3I30 1in0 3HX0 IL0 1E10 ML0 1yN0 Pb0 1Bd0 Mn0 1Bd0 Rz0 1w10 Xb0 1w10 LX0 1w10 Xb0 1w10 Lz0 1C10 Jz0 1E10 OL0 1yN0 Un0 1qp0 Xb0 1qp0 11X0 1w10 Lz0 1HB0 LX0 1C10 FX0 1w10 Xb0 1qp0 Xb0 1BB0 LX0 1td0 Xb0 1qp0 Xb0 Rf0 8x50 iu0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 3Qp0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 3Qp0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 6i10 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|39e4","America/Havana|HMT CST CDT|5t.A 50 40|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1Meuu.o 72zu.o ML0 sld0 An0 1Nd0 Db0 1Nd0 An0 6Ep0 An0 1Nd0 An0 JDd0 Mn0 1Ap0 On0 1fd0 11X0 1qN0 WL0 1wp0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 14n0 1ld0 14L0 1kN0 15b0 1kp0 1cL0 1cN0 1fz0 1a10 1fz0 1fB0 11z0 14p0 1nX0 11B0 1nX0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 14n0 1ld0 14n0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 1a10 1in0 1a10 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 17c0 1o00 11A0 1qM0 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 11A0 6i00 Rc0 1wo0 U00 1tA0 Rc0 1wo0 U00 1wo0 U00 1zc0 U00 1qM0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0|21e5","America/Hermosillo|LMT MST CST PST MDT|7n.Q 70 60 80 60|0121212131414141|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 otX0 gmN0 P2N0 13Vd0 1lb0 14p0 1lb0 14p0 1lb0|64e4","America/Indiana/Knox|CST CDT CWT CPT EST|60 50 50 50 50|0101023010101010101010101010101010101040101010101010101010101010101010101010101010101010141010101010101010101010101010101010101010101010101010101010101010|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 3NB0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 11z0 1o10 11z0 1o10 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 3Cn0 8wp0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 z8o0 1o00 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Indiana/Marengo|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|0101023010101010101010104545454545414545454545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 dyN0 11z0 6fd0 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 jrz0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1VA0 LA0 1BX0 1e6p0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Indiana/Petersburg|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|01010230101010101010101010104010101010101010101010141014545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 njX0 WN0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 3Fb0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 19co0 1o00 Rd0 1zb0 Oo0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Indiana/Tell_City|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|01010230101010101010101010101010454541010101010101010101010101010101010101010101010101010101010101010|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 1o10 11z0 g0p0 11z0 1o10 11z0 1qL0 WN0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 WL0 1qN0 1cL0 1cN0 1cL0 1cN0 caL0 1cL0 1cN0 1cL0 1qhd0 1o00 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Indiana/Vevay|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|010102304545454545454545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 kPB0 Awn0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1lnd0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Indiana/Vincennes|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|01010230101010101010101010101010454541014545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 1o10 11z0 g0p0 11z0 1o10 11z0 1qL0 WN0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 WL0 1qN0 1cL0 1cN0 1cL0 1cN0 caL0 1cL0 1cN0 1cL0 1qhd0 1o00 Rd0 1zb0 Oo0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Indiana/Winamac|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|01010230101010101010101010101010101010454541054545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 jrz0 1cL0 1cN0 1cL0 1qhd0 1o00 Rd0 1za0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Inuvik|-00 PST PDDT MST MDT|0 80 60 70 60|0121343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343|-FnA0 tWU0 1fA0 wPe0 2pz0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|35e2","America/Iqaluit|-00 EWT EPT EST EDDT EDT CST CDT|0 40 40 50 30 40 60 50|01234353535353535353535353535353535353535353567353535353535353535353535353535353535353535353535353535353535353535353535353|-16K00 7nX0 iv0 LCL0 1fA0 zgO0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11C0 1nX0 11A0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|67e2","America/Jamaica|KMT EST EDT|57.a 50 40|0121212121212121212121|-2l1uQ.O 2uM1Q.O 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0|94e4","America/Juneau|PST PWT PPT PDT YDT YST AKST AKDT|80 70 70 70 80 90 90 80|01203030303030303030303030403030356767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676|-17T20 8x10 iy0 Vo10 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cM0 1cM0 1cL0 1cN0 1fz0 1a10 1fz0 co0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|33e3","America/Kentucky/Louisville|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|0101010102301010101010101010101010101454545454545414545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 3Fd0 Nb0 LPd0 11z0 RB0 8x30 iw0 Bb0 10N0 2bB0 8in0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 xz0 gso0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1VA0 LA0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Kentucky/Monticello|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|0101023010101010101010101010101010101010101010101010101010101010101010101454545454545454545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 SWp0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11A0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/La_Paz|CMT BST -04|4w.A 3w.A 40|012|-1x37r.o 13b0|19e5","America/Lima|LMT -05 -04|58.A 50 40|0121212121212121|-2tyGP.o 1bDzP.o zX0 1aN0 1cL0 1cN0 1cL0 1PrB0 zX0 1O10 zX0 6Gp0 zX0 98p0 zX0|11e6","America/Los_Angeles|PST PDT PWT PPT|80 70 70 70|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261q0 1nX0 11B0 1nX0 SgN0 8x10 iy0 5Wp1 1VaX 3dA0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1a00 1fA0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|15e6","America/Maceio|LMT -03 -02|2m.Q 30 20|012121212121212121212121212121212121212121|-2glxB.8 HdLB.8 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 dMN0 Lz0 8Q10 WL0 1tB0 5z0 2mN0 On0|93e4","America/Managua|MMT CST EST CDT|5J.c 60 50 50|0121313121213131|-1quie.M 1yAMe.M 4mn0 9Up0 Dz0 1K10 Dz0 s3F0 1KH0 DB0 9In0 k8p0 19X0 1o30 11y0|22e5","America/Manaus|LMT -04 -03|40.4 40 30|01212121212121212121212121212121|-2glvX.U HdKX.U 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 dPB0 On0|19e5","America/Martinique|FFMT AST ADT|44.k 40 30|0121|-2mPTT.E 2LPbT.E 19X0|39e4","America/Matamoros|LMT CST CDT|6E 60 50|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1UQG0 2FjC0 1nX0 i6p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 U10 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|45e4","America/Mazatlan|LMT MST CST PST MDT|75.E 70 60 80 60|0121212131414141414141414141414141414141414141414141414141414141414141414141414141414141414141|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 otX0 gmN0 P2N0 13Vd0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0|44e4","America/Menominee|CST CDT CWT CPT EST|60 50 50 50 50|01010230101041010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 1o10 11z0 LCN0 1fz0 6410 9Jb0 1cM0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|85e2","America/Merida|LMT CST EST CDT|5W.s 60 50 50|0121313131313131313131313131313131313131313131313131313131313131313131313131313131313131|-1UQG0 2q2o0 2hz0 wu30 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0|11e5","America/Metlakatla|PST PWT PPT PDT AKST AKDT|80 70 70 70 90 80|0120303030303030303030303030303030454545454545454545454545454545454545454545454|-17T20 8x10 iy0 Vo10 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1hU10 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|14e2","America/Mexico_City|LMT MST CST CDT CWT|6A.A 70 60 50 50|012121232324232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 gEn0 TX0 3xd0 Jb0 6zB0 SL0 e5d0 17b0 1Pff0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0|20e6","America/Miquelon|LMT AST -03 -02|3I.E 40 30 20|012323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-2mKkf.k 2LTAf.k gQ10 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|61e2","America/Moncton|EST AST ADT AWT APT|50 40 30 30 30|012121212121212121212134121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2IsH0 CwN0 1in0 zAo0 An0 1Nd0 An0 1Nd0 An0 1Nd0 An0 1Nd0 An0 1Nd0 An0 1K10 Lz0 1zB0 NX0 1u10 Wn0 S20 8x50 iu0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 3Cp0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14n1 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 ReX 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|64e3","America/Monterrey|LMT CST CDT|6F.g 60 50|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1UQG0 2FjC0 1nX0 i6p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0|41e5","America/Montevideo|LMT MMT -04 -03 -0330 -0230 -02 -0130|3I.P 3I.P 40 30 3u 2u 20 1u|012343434343434343434343435353636353636375363636363636363636363636363636363636363636363|-2tRUf.9 sVc0 8jcf.9 1db0 1dcu 1cLu 1dcu 1cLu ircu 11zu 1o0u 11zu 1o0u 11zu 1o0u 11zu 1qMu WLu 1qMu WLu 1fAu 1cLu 1o0u 11zu NAu 3jXu zXu Dq0u 19Xu pcu jz0 cm10 19X0 6tB0 1fbu 3o0u jX0 4vB0 xz0 3Cp0 mmu 1a10 IMu Db0 4c10 uL0 1Nd0 An0 1SN0 uL0 mp0 28L0 iPB0 un0 1SN0 xz0 1zd0 Lz0 1zd0 Rb0 1zd0 On0 1wp0 Rb0 s8p0 1fB0 1ip0 11z0 1ld0 14n0 1o10 11z0 1o10 11z0 1o10 14n0 1ld0 14n0 1ld0 14n0 1o10 11z0 1o10 11z0 1o10 11z0|17e5","America/Toronto|EST EDT EWT EPT|50 40 40 40|01010101010101010101010101010101010101010101012301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-25TR0 1in0 11Wu 1nzu 1fD0 WJ0 1wr0 Nb0 1Ap0 On0 1zd0 On0 1wp0 TX0 1tB0 TX0 1tB0 TX0 1tB0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 4kM0 8x40 iv0 1o10 11z0 1nX0 11z0 1o10 11z0 1o10 1qL0 11D0 1nX0 11B0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|65e5","America/Nassau|LMT EST EDT|59.u 50 40|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2kNuO.u 26XdO.u 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|24e4","America/New_York|EST EDT EWT EPT|50 40 40 40|01010101010101010101010101010101010101010101010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261t0 1nX0 11B0 1nX0 11B0 1qL0 1a10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 RB0 8x40 iv0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|21e6","America/Nipigon|EST EDT EWT EPT|50 40 40 40|010123010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-25TR0 1in0 Rnb0 3je0 8x40 iv0 19yN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|16e2","America/Nome|NST NWT NPT BST BDT YST AKST AKDT|b0 a0 a0 b0 a0 90 90 80|012034343434343434343434343434343456767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676|-17SX0 8wW0 iB0 Qlb0 52O0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 cl0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|38e2","America/Noronha|LMT -02 -01|29.E 20 10|0121212121212121212121212121212121212121|-2glxO.k HdKO.k 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 nsp0 WL0 1tB0 2L0 2pB0 On0|30e2","America/North_Dakota/Beulah|MST MDT MWT MPT CST CDT|70 60 60 60 60 50|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101014545454545454545454545454545454545454545454545454545454|-261r0 1nX0 11B0 1nX0 SgN0 8x20 ix0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Oo0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/North_Dakota/Center|MST MDT MWT MPT CST CDT|70 60 60 60 60 50|010102301010101010101010101010101010101010101010101010101014545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-261r0 1nX0 11B0 1nX0 SgN0 8x20 ix0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14o0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/North_Dakota/New_Salem|MST MDT MWT MPT CST CDT|70 60 60 60 60 50|010102301010101010101010101010101010101010101010101010101010101010101010101010101454545454545454545454545454545454545454545454545454545454545454545454|-261r0 1nX0 11B0 1nX0 SgN0 8x20 ix0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14o0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Ojinaga|LMT MST CST CDT MDT|6V.E 70 60 50 60|0121212323241414141414141414141414141414141414141414141414141414141414141414141414141414141|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 2zQN0 1lb0 14p0 1lb0 14q0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 U10 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|23e3","America/Pangnirtung|-00 AST AWT APT ADDT ADT EDT EST CST CDT|0 40 30 30 20 30 40 50 60 50|012314151515151515151515151515151515167676767689767676767676767676767676767676767676767676767676767676767676767676767676767|-1XiM0 PnG0 8x50 iu0 LCL0 1fA0 zgO0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1o00 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11C0 1nX0 11A0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|14e2","America/Paramaribo|LMT PMT PMT -0330 -03|3E.E 3E.Q 3E.A 3u 30|01234|-2nDUj.k Wqo0.c qanX.I 1yVXN.o|24e4","America/Phoenix|MST MDT MWT|70 60 60|01010202010|-261r0 1nX0 11B0 1nX0 SgN0 4Al1 Ap0 1db0 SWqX 1cL0|42e5","America/Port-au-Prince|PPMT EST EDT|4N 50 40|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-28RHb 2FnMb 19X0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14q0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 i6n0 1nX0 11B0 1nX0 d430 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 3iN0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|23e5","America/Rio_Branco|LMT -05 -04|4v.c 50 40|01212121212121212121212121212121|-2glvs.M HdLs.M 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 NBd0 d5X0|31e4","America/Porto_Velho|LMT -04 -03|4f.A 40 30|012121212121212121212121212121|-2glvI.o HdKI.o 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0|37e4","America/Puerto_Rico|AST AWT APT|40 30 30|0120|-17lU0 7XT0 iu0|24e5","America/Punta_Arenas|SMT -05 -04 -03|4G.K 50 40 30|0102021212121212121232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323|-2q2jh.e fJAh.e 5knG.K 1Vzh.e jRAG.K 1pbh.e 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 nHX0 op0 blz0 ko0 Qeo0 WL0 1zd0 On0 1ip0 11z0 1o10 11z0 1qN0 WL0 1ld0 14n0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 1cL0 1cN0 11z0 1o10 11z0 1qN0 WL0 1fB0 19X0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1ip0 1fz0 1fB0 11z0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1o10 19X0 1fB0 1nX0 G10 1EL0 Op0 1zb0 Rd0 1wn0 Rd0 46n0 Ap0","America/Rainy_River|CST CDT CWT CPT|60 50 50 50|010123010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-25TQ0 1in0 Rnb0 3je0 8x30 iw0 19yN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|842","America/Rankin_Inlet|-00 CST CDDT CDT EST|0 60 40 50 50|012131313131313131313131313131313131313131313431313131313131313131313131313131313131313131313131313131313131313131313131|-vDc0 keu0 1fA0 zgO0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|26e2","America/Recife|LMT -03 -02|2j.A 30 20|0121212121212121212121212121212121212121|-2glxE.o HdLE.o 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 nsp0 WL0 1tB0 2L0 2pB0 On0|33e5","America/Regina|LMT MST MDT MWT MPT CST|6W.A 70 60 60 60 60|012121212121212121212121341212121212121212121212121215|-2AD51.o uHe1.o 1in0 s2L0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 66N0 1cL0 1cN0 19X0 1fB0 1cL0 1fB0 1cL0 1cN0 1cL0 M30 8x20 ix0 1ip0 1cL0 1ip0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 3NB0 1cL0 1cN0|19e4","America/Resolute|-00 CST CDDT CDT EST|0 60 40 50 50|012131313131313131313131313131313131313131313431313131313431313131313131313131313131313131313131313131313131313131313131|-SnA0 GWS0 1fA0 zgO0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|229","America/Santarem|LMT -04 -03|3C.M 40 30|0121212121212121212121212121212|-2glwl.c HdLl.c 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 NBd0|21e4","America/Santiago|SMT -05 -04 -03|4G.K 50 40 30|010202121212121212321232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323|-2q2jh.e fJAh.e 5knG.K 1Vzh.e jRAG.K 1pbh.e 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 nHX0 op0 9Bz0 jb0 1oN0 ko0 Qeo0 WL0 1zd0 On0 1ip0 11z0 1o10 11z0 1qN0 WL0 1ld0 14n0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 1cL0 1cN0 11z0 1o10 11z0 1qN0 WL0 1fB0 19X0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1ip0 1fz0 1fB0 11z0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1o10 19X0 1fB0 1nX0 G10 1EL0 Op0 1zb0 Rd0 1wn0 Rd0 46n0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Dd0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Dd0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Dd0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0|62e5","America/Santo_Domingo|SDMT EST EDT -0430 AST|4E 50 40 4u 40|01213131313131414|-1ttjk 1lJMk Mn0 6sp0 Lbu 1Cou yLu 1RAu wLu 1QMu xzu 1Q0u xXu 1PAu 13jB0 e00|29e5","America/Sao_Paulo|LMT -03 -02|36.s 30 20|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212|-2glwR.w HdKR.w 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 pTd0 PX0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 1EN0 Lz0 1C10 IL0 1HB0 Db0 1HB0 On0 1zd0 On0 1zd0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 1C10 Lz0 1Ip0 HX0 1zd0 On0 1HB0 IL0 1wp0 On0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 Rb0 1zd0 Lz0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 On0 1zd0 On0 1HB0 FX0 1HB0 FX0 1HB0 IL0 1HB0 FX0 1HB0 IL0 1EN0 FX0 1HB0 FX0 1HB0 IL0 1EN0 IL0 1HB0 FX0 1HB0 FX0 1HB0 FX0 1HB0 FX0 1HB0 FX0 1Kp0 FX0 1HB0 IL0 1EN0 FX0 1HB0 FX0 1HB0 IL0 1EN0|20e6","America/Scoresbysund|LMT -02 -01 +00|1r.Q 20 10 0|0121323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-2a5Ww.8 2z5ew.8 1a00 1cK0 1cL0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|452","America/Sitka|PST PWT PPT PDT YST AKST AKDT|80 70 70 70 90 90 80|01203030303030303030303030303030345656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565|-17T20 8x10 iy0 Vo10 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 co0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|90e2","America/St_Johns|NST NDT NST NDT NWT NPT NDDT|3u.Q 2u.Q 3u 2u 2u 2u 1u|01010101010101010101010101010101010102323232323232324523232323232323232323232323232323232323232323232323232323232323232323232323232323232326232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-28oit.8 14L0 1nB0 1in0 1gm0 Dz0 1JB0 1cL0 1cN0 1cL0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1fB0 1cL0 1cN0 1cL0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1fB0 1cL0 1fB0 19X0 1fB0 19X0 10O0 eKX.8 19X0 1iq0 WL0 1qN0 WL0 1qN0 WL0 1tB0 TX0 1tB0 WL0 1qN0 WL0 1qN0 7UHu itu 1tB0 WL0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1tB0 WL0 1ld0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14n1 1lb0 14p0 1nW0 11C0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zcX Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|11e4","America/Swift_Current|LMT MST MDT MWT MPT CST|7b.k 70 60 60 60 60|012134121212121212121215|-2AD4M.E uHdM.E 1in0 UGp0 8x20 ix0 1o10 17b0 1ip0 11z0 1o10 11z0 1o10 11z0 isN0 1cL0 3Cp0 1cL0 1cN0 11z0 1qN0 WL0 pMp0|16e3","America/Tegucigalpa|LMT CST CDT|5M.Q 60 50|01212121|-1WGGb.8 2ETcb.8 WL0 1qN0 WL0 GRd0 AL0|11e5","America/Thule|LMT AST ADT|4z.8 40 30|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2a5To.Q 31NBo.Q 1cL0 1cN0 1cL0 1fB0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|656","America/Thunder_Bay|CST EST EWT EPT EDT|60 50 40 40 40|0123141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141|-2q5S0 1iaN0 8x40 iv0 XNB0 1cL0 1cN0 1fz0 1cN0 1cL0 3Cp0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|11e4","America/Vancouver|PST PDT PWT PPT|80 70 70 70|0102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-25TO0 1in0 UGp0 8x10 iy0 1o10 17b0 1ip0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|23e5","America/Whitehorse|YST YDT YWT YPT YDDT PST PDT|90 80 80 80 70 80 70|0101023040565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565|-25TN0 1in0 1o10 13V0 Ser0 8x00 iz0 LCL0 1fA0 3NA0 vrd0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|23e3","America/Winnipeg|CST CDT CWT CPT|60 50 50 50|010101023010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aIi0 WL0 3ND0 1in0 Jap0 Rb0 aCN0 8x30 iw0 1tB0 11z0 1ip0 11z0 1o10 11z0 1o10 11z0 1rd0 10L0 1op0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 1cL0 1cN0 11z0 6i10 WL0 6i10 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1a00 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1a00 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|66e4","America/Yakutat|YST YWT YPT YDT AKST AKDT|90 80 80 80 90 80|01203030303030303030303030303030304545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-17T10 8x00 iz0 Vo10 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 cn0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|642","America/Yellowknife|-00 MST MWT MPT MDDT MDT|0 70 60 60 50 60|012314151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151|-1pdA0 hix0 8x20 ix0 LCL0 1fA0 zgO0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|19e3","Antarctica/Casey|-00 +08 +11|0 -80 -b0|01212121|-2q00 1DjS0 T90 40P0 KL0 blz0 3m10|10","Antarctica/Davis|-00 +07 +05|0 -70 -50|01012121|-vyo0 iXt0 alj0 1D7v0 VB0 3Wn0 KN0|70","Antarctica/DumontDUrville|-00 +10|0 -a0|0101|-U0o0 cfq0 bFm0|80","Antarctica/Macquarie|AEST AEDT -00 +11|-a0 -b0 0 -b0|0102010101010101010101010101010101010101010101010101010101010101010101010101010101010101013|-29E80 19X0 4SL0 1ayy0 Lvs0 1cM0 1o00 Rc0 1wo0 Rc0 1wo0 U00 1wo0 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 11A0 1qM0 WM0 1qM0 Oo0 1zc0 Oo0 1zc0 Oo0 1wo0 WM0 1tA0 WM0 1tA0 U00 1tA0 U00 1tA0 11A0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 11A0 1o00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1cM0 1cM0 1cM0|1","Antarctica/Mawson|-00 +06 +05|0 -60 -50|012|-CEo0 2fyk0|60","Pacific/Auckland|NZMT NZST NZST NZDT|-bu -cu -c0 -d0|01020202020202020202020202023232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323|-1GCVu Lz0 1tB0 11zu 1o0u 11zu 1o0u 11zu 1o0u 14nu 1lcu 14nu 1lcu 1lbu 11Au 1nXu 11Au 1nXu 11Au 1nXu 11Au 1nXu 11Au 1qLu WMu 1qLu 11Au 1n1bu IM0 1C00 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1qM0 14o0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1io0 17c0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1io0 17c0 1io0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00|14e5","Antarctica/Palmer|-00 -03 -04 -02|0 30 40 20|0121212121213121212121212121212121212121212121212121212121212121212121212121212121|-cao0 nD0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 jsN0 14N0 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 1cL0 1cN0 11z0 1o10 11z0 1qN0 WL0 1fB0 19X0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1ip0 1fz0 1fB0 11z0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1o10 19X0 1fB0 1nX0 G10 1EL0 Op0 1zb0 Rd0 1wn0 Rd0 46n0 Ap0|40","Antarctica/Rothera|-00 -03|0 30|01|gOo0|130","Antarctica/Syowa|-00 +03|0 -30|01|-vs00|20","Antarctica/Troll|-00 +00 +02|0 0 -20|01212121212121212121212121212121212121212121212121212121212121212121|1puo0 hd0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|40","Antarctica/Vostok|-00 +06|0 -60|01|-tjA0|25","Europe/Oslo|CET CEST|-10 -20|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2awM0 Qm0 W6o0 5pf0 WM0 1fA0 1cM0 1cM0 1cM0 1cM0 wJc0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1qM0 WM0 zpc0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|62e4","Asia/Riyadh|LMT +03|-36.Q -30|01|-TvD6.Q|57e5","Asia/Almaty|LMT +05 +06 +07|-57.M -50 -60 -70|012323232323232323232321232323232323232323232323232|-1Pc57.M eUo7.M 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0|15e5","Asia/Amman|LMT EET EEST|-2n.I -20 -30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1yW2n.I 1HiMn.I KL0 1oN0 11b0 1oN0 11b0 1pd0 1dz0 1cp0 11b0 1op0 11b0 fO10 1db0 1e10 1cL0 1cN0 1cL0 1cN0 1fz0 1pd0 10n0 1ld0 14n0 1hB0 15b0 1ip0 19X0 1cN0 1cL0 1cN0 17b0 1ld0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1So0 y00 1fc0 1dc0 1co0 1dc0 1cM0 1cM0 1cM0 1o00 11A0 1lc0 17c0 1cM0 1cM0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 4bX0 Dd0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0|25e5","Asia/Anadyr|LMT +12 +13 +14 +11|-bN.U -c0 -d0 -e0 -b0|01232121212121212121214121212121212121212121212121212121212141|-1PcbN.U eUnN.U 23CL0 1db0 2q10 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 2sp0 WM0|13e3","Asia/Aqtau|LMT +04 +05 +06|-3l.4 -40 -50 -60|012323232323232323232123232312121212121212121212|-1Pc3l.4 eUnl.4 24PX0 2pX0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0|15e4","Asia/Aqtobe|LMT +04 +05 +06|-3M.E -40 -50 -60|0123232323232323232321232323232323232323232323232|-1Pc3M.E eUnM.E 23CL0 3Db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0|27e4","Asia/Ashgabat|LMT +04 +05 +06|-3R.w -40 -50 -60|0123232323232323232323212|-1Pc3R.w eUnR.w 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0|41e4","Asia/Atyrau|LMT +03 +05 +06 +04|-3r.I -30 -50 -60 -40|01232323232323232323242323232323232324242424242|-1Pc3r.I eUor.I 24PW0 2pX0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 2sp0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0","Asia/Baghdad|BMT +03 +04|-2V.A -30 -40|012121212121212121212121212121212121212121212121212121|-26BeV.A 2ACnV.A 11b0 1cp0 1dz0 1dd0 1db0 1cN0 1cp0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1de0 1dc0 1dc0 1dc0 1cM0 1dc0 1cM0 1dc0 1cM0 1dc0 1dc0 1dc0 1cM0 1dc0 1cM0 1dc0 1cM0 1dc0 1dc0 1dc0 1cM0 1dc0 1cM0 1dc0 1cM0 1dc0 1dc0 1dc0 1cM0 1dc0 1cM0 1dc0 1cM0 1dc0|66e5","Asia/Qatar|LMT +04 +03|-3q.8 -40 -30|012|-21Jfq.8 27BXq.8|96e4","Asia/Baku|LMT +03 +04 +05|-3j.o -30 -40 -50|01232323232323232323232123232323232323232323232323232323232323232|-1Pc3j.o 1jUoj.o WCL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 1cM0 9Je0 1o00 11z0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|27e5","Asia/Bangkok|BMT +07|-6G.4 -70|01|-218SG.4|15e6","Asia/Barnaul|LMT +06 +07 +08|-5z -60 -70 -80|0123232323232323232323212323232321212121212121212121212121212121212|-21S5z pCnz 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 p90 LE0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3rd0","Asia/Beirut|EET EEST|-20 -30|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-21aq0 1on0 1410 1db0 19B0 1in0 1ip0 WL0 1lQp0 11b0 1oN0 11b0 1oN0 11b0 1pd0 11b0 1oN0 11b0 q6N0 En0 1oN0 11b0 1oN0 11b0 1oN0 11b0 1pd0 11b0 1oN0 11b0 1op0 11b0 dA10 17b0 1iN0 17b0 1iN0 17b0 1iN0 17b0 1vB0 SL0 1mp0 13z0 1iN0 17b0 1iN0 17b0 1jd0 12n0 1a10 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0|22e5","Asia/Bishkek|LMT +05 +06 +07|-4W.o -50 -60 -70|012323232323232323232321212121212121212121212121212|-1Pc4W.o eUnW.o 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2e00 1tX0 17b0 1ip0 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1cPu 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0|87e4","Asia/Brunei|LMT +0730 +08|-7D.E -7u -80|012|-1KITD.E gDc9.E|42e4","Asia/Kolkata|MMT IST +0630|-5l.a -5u -6u|012121|-2zOtl.a 1r2LP.a 1un0 HB0 7zX0|15e6","Asia/Chita|LMT +08 +09 +10|-7x.Q -80 -90 -a0|012323232323232323232321232323232323232323232323232323232323232312|-21Q7x.Q pAnx.Q 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3re0|33e4","Asia/Choibalsan|LMT +07 +08 +10 +09|-7C -70 -80 -a0 -90|0123434343434343434343434343434343434343434343424242|-2APHC 2UkoC cKn0 1da0 1dd0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 6hD0 11z0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 3Db0 h1f0 1cJ0 1cP0 1cJ0|38e3","Asia/Shanghai|CST CDT|-80 -90|01010101010101010|-1c1I0 LX0 16p0 1jz0 1Myp0 Rb0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0|23e6","Asia/Colombo|MMT +0530 +06 +0630|-5j.w -5u -60 -6u|01231321|-2zOtj.w 1rFbN.w 1zzu 7Apu 23dz0 11zu n3cu|22e5","Asia/Dhaka|HMT +0630 +0530 +06 +07|-5R.k -6u -5u -60 -70|0121343|-18LFR.k 1unn.k HB0 m6n0 2kxbu 1i00|16e6","Asia/Damascus|LMT EET EEST|-2p.c -20 -30|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-21Jep.c Hep.c 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1xRB0 11X0 1oN0 10L0 1pB0 11b0 1oN0 10L0 1mp0 13X0 1oN0 11b0 1pd0 11b0 1oN0 11b0 1oN0 11b0 1oN0 11b0 1pd0 11b0 1oN0 11b0 1oN0 11b0 1oN0 11b0 1pd0 11b0 1oN0 Nb0 1AN0 Nb0 bcp0 19X0 1gp0 19X0 3ld0 1xX0 Vd0 1Bz0 Sp0 1vX0 10p0 1dz0 1cN0 1cL0 1db0 1db0 1g10 1an0 1ap0 1db0 1fd0 1db0 1cN0 1db0 1dd0 1db0 1cp0 1dz0 1c10 1dX0 1cN0 1db0 1dd0 1db0 1cN0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1db0 1cN0 1db0 1cN0 19z0 1fB0 1qL0 11B0 1on0 Wp0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0|26e5","Asia/Dili|LMT +08 +09|-8m.k -80 -90|01212|-2le8m.k 1dnXm.k 1nfA0 Xld0|19e4","Asia/Dubai|LMT +04|-3F.c -40|01|-21JfF.c|39e5","Asia/Dushanbe|LMT +05 +06 +07|-4z.c -50 -60 -70|012323232323232323232321|-1Pc4z.c eUnz.c 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2hB0|76e4","Asia/Famagusta|LMT EET EEST +03|-2f.M -20 -30 -30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212312121212121212121212121212121212121212121|-1Vc2f.M 2a3cf.M 1cL0 1qp0 Xz0 19B0 19X0 1fB0 1db0 1cp0 1cL0 1fB0 19X0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1o30 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 15U0 2Ks0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","Asia/Gaza|EET EEST IST IDT|-20 -30 -20 -30|010101010101010101010101010101012323232323232323232323232320101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-1c2q0 5Rb0 10r0 1px0 10N0 1pz0 16p0 1jB0 16p0 1jx0 pBd0 Vz0 1oN0 11b0 1oO0 10N0 1pz0 10N0 1pb0 10N0 1pb0 10N0 1pb0 10N0 1pz0 10N0 1pb0 10N0 1pb0 11d0 1oL0 dW0 hfB0 Db0 1fB0 Rb0 npB0 11z0 1C10 IL0 1s10 10n0 1o10 WL0 1zd0 On0 1ld0 11z0 1o10 14n0 1o10 14n0 1nd0 12n0 1nd0 Xz0 1q10 12n0 M10 C00 17c0 1io0 17c0 1io0 17c0 1o00 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 17c0 1io0 18N0 1bz0 19z0 1gp0 1610 1iL0 11z0 1o10 14o0 1lA1 SKX 1xd1 MKX 1AN0 1a00 1fA0 1cL0 1cN0 1nX0 1210 1nz0 1220 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1qL0|18e5","Asia/Hebron|EET EEST IST IDT|-20 -30 -20 -30|01010101010101010101010101010101232323232323232323232323232010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-1c2q0 5Rb0 10r0 1px0 10N0 1pz0 16p0 1jB0 16p0 1jx0 pBd0 Vz0 1oN0 11b0 1oO0 10N0 1pz0 10N0 1pb0 10N0 1pb0 10N0 1pb0 10N0 1pz0 10N0 1pb0 10N0 1pb0 11d0 1oL0 dW0 hfB0 Db0 1fB0 Rb0 npB0 11z0 1C10 IL0 1s10 10n0 1o10 WL0 1zd0 On0 1ld0 11z0 1o10 14n0 1o10 14n0 1nd0 12n0 1nd0 Xz0 1q10 12n0 M10 C00 17c0 1io0 17c0 1io0 17c0 1o00 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 17c0 1io0 18N0 1bz0 19z0 1gp0 1610 1iL0 12L0 1mN0 14o0 1lc0 Tb0 1xd1 MKX bB0 cn0 1cN0 1a00 1fA0 1cL0 1cN0 1nX0 1210 1nz0 1220 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1qL0|25e4","Asia/Ho_Chi_Minh|LMT PLMT +07 +08 +09|-76.E -76.u -70 -80 -90|0123423232|-2yC76.E bK00.a 1h7b6.u 5lz0 18o0 3Oq0 k5b0 aW00 BAM0|90e5","Asia/Hong_Kong|LMT HKT HKST JST|-7A.G -80 -90 -90|0121312121212121212121212121212121212121212121212121212121212121212121|-2CFHA.G 1sEP6.G 1cL0 ylu 93X0 1qQu 1tX0 Rd0 1In0 NB0 1cL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1kL0 14N0 1nX0 U10 1tz0 U10 1wn0 Rd0 1wn0 U10 1tz0 U10 1tz0 U10 1tz0 U10 1wn0 Rd0 1wn0 Rd0 1wn0 U10 1tz0 U10 1tz0 17d0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 s10 1Vz0 1cN0 1cL0 1cN0 1cL0 6fd0 14n0|73e5","Asia/Hovd|LMT +06 +07 +08|-66.A -60 -70 -80|012323232323232323232323232323232323232323232323232|-2APG6.A 2Uko6.A cKn0 1db0 1dd0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 6hD0 11z0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 kEp0 1cJ0 1cP0 1cJ0|81e3","Asia/Irkutsk|IMT +07 +08 +09|-6V.5 -70 -80 -90|01232323232323232323232123232323232323232323232323232323232323232|-21zGV.5 pjXV.5 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|60e4","Europe/Istanbul|IMT EET EEST +04 +03|-1U.U -20 -30 -40 -30|012121212121212121212121212121212121212121212121212121234343434342121212121212121212121212121212121212121212121212121212121212124|-2ogNU.U dzzU.U 11b0 8tB0 1on0 1410 1db0 19B0 1in0 3Rd0 Un0 1oN0 11b0 zSp0 CL0 mN0 1Vz0 1gN0 1pz0 5Rd0 1fz0 1yp0 ML0 1kp0 17b0 1ip0 17b0 1fB0 19X0 1jB0 18L0 1ip0 17z0 qdd0 xX0 3S10 Tz0 dA10 11z0 1o10 11z0 1qN0 11z0 1ze0 11B0 WM0 1qO0 WI0 1nX0 1rB0 10L0 11B0 1in0 17d0 1in0 2pX0 19E0 1fU0 16Q0 1iI0 16Q0 1iI0 1Vd0 pb0 3Kp0 14o0 1de0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1a00 1fA0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WO0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 Xc0 1qo0 WM0 1qM0 11A0 1o00 1200 1nA0 11A0 1tA0 U00 15w0|13e6","Asia/Jakarta|BMT +0720 +0730 +09 +08 WIB|-77.c -7k -7u -90 -80 -70|01232425|-1Q0Tk luM0 mPzO 8vWu 6kpu 4PXu xhcu|31e6","Asia/Jayapura|LMT +09 +0930 WIT|-9m.M -90 -9u -90|0123|-1uu9m.M sMMm.M L4nu|26e4","Asia/Jerusalem|JMT IST IDT IDDT|-2k.E -20 -30 -40|01212121212132121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-26Bek.E SyMk.E 5Rb0 10r0 1px0 10N0 1pz0 16p0 1jB0 16p0 1jx0 3LB0 Em0 or0 1cn0 1dB0 16n0 10O0 1ja0 1tC0 14o0 1cM0 1a00 11A0 1Na0 An0 1MP0 AJ0 1Kp0 LC0 1oo0 Wl0 EQN0 Db0 1fB0 Rb0 npB0 11z0 1C10 IL0 1s10 10n0 1o10 WL0 1zd0 On0 1ld0 11z0 1o10 14n0 1o10 14n0 1nd0 12n0 1nd0 Xz0 1q10 12n0 1hB0 1dX0 1ep0 1aL0 1eN0 17X0 1nf0 11z0 1tB0 19W0 1e10 17b0 1ep0 1gL0 18N0 1fz0 1eN0 17b0 1gq0 1gn0 19d0 1dz0 1c10 17X0 1hB0 1gn0 19d0 1dz0 1c10 17X0 1kp0 1dz0 1c10 1aL0 1eN0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0|81e4","Asia/Kabul|+04 +0430|-40 -4u|01|-10Qs0|46e5","Asia/Kamchatka|LMT +11 +12 +13|-ay.A -b0 -c0 -d0|012323232323232323232321232323232323232323232323232323232323212|-1SLKy.A ivXy.A 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 2sp0 WM0|18e4","Asia/Karachi|LMT +0530 +0630 +05 PKT PKST|-4s.c -5u -6u -50 -50 -60|012134545454|-2xoss.c 1qOKW.c 7zX0 eup0 LqMu 1fy00 1cL0 dK10 11b0 1610 1jX0|24e6","Asia/Urumqi|LMT +06|-5O.k -60|01|-1GgtO.k|32e5","Asia/Kathmandu|LMT +0530 +0545|-5F.g -5u -5J|012|-21JhF.g 2EGMb.g|12e5","Asia/Khandyga|LMT +08 +09 +10 +11|-92.d -80 -90 -a0 -b0|0123232323232323232323212323232323232323232323232343434343434343432|-21Q92.d pAp2.d 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 qK0 yN0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 17V0 7zD0|66e2","Asia/Krasnoyarsk|LMT +06 +07 +08|-6b.q -60 -70 -80|01232323232323232323232123232323232323232323232323232323232323232|-21Hib.q prAb.q 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|10e5","Asia/Kuala_Lumpur|SMT +07 +0720 +0730 +09 +08|-6T.p -70 -7k -7u -90 -80|0123435|-2Bg6T.p 17anT.p l5XE 17bO 8Fyu 1so1u|71e5","Asia/Kuching|LMT +0730 +08 +0820 +09|-7l.k -7u -80 -8k -90|0123232323232323242|-1KITl.k gDbP.k 6ynu AnE 1O0k AnE 1NAk AnE 1NAk AnE 1NAk AnE 1O0k AnE 1NAk AnE pAk 8Fz0|13e4","Asia/Macau|LMT CST CDT|-7y.k -80 -90|012121212121212121212121212121212121212121|-2le80 1XO3u 1wn0 Rd0 1wn0 R9u 1wqu U10 1tz0 TVu 1tz0 17gu 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cJu 1cL0 1cN0 1fz0 1cN0 1cOu 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cJu 1cL0 1cN0 1fz0 1cN0 1cL0|57e4","Asia/Magadan|LMT +10 +11 +12|-a3.c -a0 -b0 -c0|012323232323232323232321232323232323232323232323232323232323232312|-1Pca3.c eUo3.c 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3Cq0|95e3","Asia/Makassar|LMT MMT +08 +09 WITA|-7V.A -7V.A -80 -90 -80|01234|-21JjV.A vfc0 myLV.A 8ML0|15e5","Asia/Manila|+08 +09|-80 -90|010101010|-1kJI0 AL0 cK10 65X0 mXB0 vX0 VK10 1db0|24e6","Asia/Nicosia|LMT EET EEST|-2d.s -20 -30|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1Vc2d.s 2a3cd.s 1cL0 1qp0 Xz0 19B0 19X0 1fB0 1db0 1cp0 1cL0 1fB0 19X0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1o30 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|32e4","Asia/Novokuznetsk|LMT +06 +07 +08|-5M.M -60 -70 -80|012323232323232323232321232323232323232323232323232323232323212|-1PctM.M eULM.M 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 2sp0 WM0|55e4","Asia/Novosibirsk|LMT +06 +07 +08|-5v.E -60 -70 -80|0123232323232323232323212323212121212121212121212121212121212121212|-21Qnv.E pAFv.E 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 ml0 Os0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 4eN0|15e5","Asia/Omsk|LMT +05 +06 +07|-4R.u -50 -60 -70|01232323232323232323232123232323232323232323232323232323232323232|-224sR.u pMLR.u 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|12e5","Asia/Oral|LMT +03 +05 +06 +04|-3p.o -30 -50 -60 -40|01232323232323232424242424242424242424242424242|-1Pc3p.o eUop.o 23CK0 3Db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1fA0 1cM0 1cM0 IM0 1EM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0|27e4","Asia/Pontianak|LMT PMT +0730 +09 +08 WITA WIB|-7h.k -7h.k -7u -90 -80 -80 -70|012324256|-2ua7h.k XE00 munL.k 8Rau 6kpu 4PXu xhcu Wqnu|23e4","Asia/Pyongyang|LMT KST JST KST|-8n -8u -90 -90|012313|-2um8n 97XR 1lTzu 2Onc0 6BAu|29e5","Asia/Qyzylorda|LMT +04 +05 +06|-4l.Q -40 -50 -60|0123232323232323232323232323232323232323232323|-1Pc4l.Q eUol.Q 23CL0 3Db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 3ao0 1EM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0|73e4","Asia/Rangoon|RMT +0630 +09|-6o.L -6u -90|0121|-21Jio.L SmnS.L 7j9u|48e5","Asia/Sakhalin|LMT +09 +11 +12 +10|-9u.M -90 -b0 -c0 -a0|01232323232323232323232423232323232424242424242424242424242424242|-2AGVu.M 1BoMu.M 1qFa0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 2pB0 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3rd0|58e4","Asia/Samarkand|LMT +04 +05 +06|-4r.R -40 -50 -60|01232323232323232323232|-1Pc4r.R eUor.R 23CL0 3Db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0|36e4","Asia/Seoul|LMT KST JST KST KDT KDT|-8r.Q -8u -90 -90 -9u -a0|0123141414141414135353|-2um8r.Q 97XV.Q 1m1zu kKo0 2I0u OL0 1FB0 Rb0 1qN0 TX0 1tB0 TX0 1tB0 TX0 1tB0 TX0 2ap0 12FBu 11A0 1o00 11A0|23e6","Asia/Srednekolymsk|LMT +10 +11 +12|-ae.Q -a0 -b0 -c0|01232323232323232323232123232323232323232323232323232323232323232|-1Pcae.Q eUoe.Q 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|35e2","Asia/Taipei|CST JST CDT|-80 -90 -90|01020202020202020202020202020202020202020|-1iw80 joM0 1yo0 Tz0 1ip0 1jX0 1cN0 11b0 1oN0 11b0 1oN0 11b0 1oN0 11b0 10N0 1BX0 10p0 1pz0 10p0 1pz0 10p0 1db0 1dd0 1db0 1cN0 1db0 1cN0 1db0 1cN0 1db0 1BB0 ML0 1Bd0 ML0 uq10 1db0 1cN0 1db0 97B0 AL0|74e5","Asia/Tashkent|LMT +05 +06 +07|-4B.b -50 -60 -70|012323232323232323232321|-1Pc4B.b eUnB.b 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0|23e5","Asia/Tbilisi|TBMT +03 +04 +05|-2X.b -30 -40 -50|0123232323232323232323212121232323232323232323212|-1Pc2X.b 1jUnX.b WCL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 1cK0 1cL0 1cN0 1cL0 1cN0 2pz0 1cL0 1fB0 3Nz0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 An0 Os0 WM0|11e5","Asia/Tehran|LMT TMT +0330 +04 +05 +0430|-3p.I -3p.I -3u -40 -50 -4u|01234325252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252|-2btDp.I 1d3c0 1huLT.I TXu 1pz0 sN0 vAu 1cL0 1dB0 1en0 pNB0 UL0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 64p0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0|14e6","Asia/Thimphu|LMT +0530 +06|-5W.A -5u -60|012|-Su5W.A 1BGMs.A|79e3","Asia/Tokyo|JST JDT|-90 -a0|010101010|-QJJ0 Rb0 1ld0 14n0 1zd0 On0 1zd0 On0|38e6","Asia/Tomsk|LMT +06 +07 +08|-5D.P -60 -70 -80|0123232323232323232323212323232323232323232323212121212121212121212|-21NhD.P pxzD.P 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 co0 1bB0 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3Qp0|10e5","Asia/Ulaanbaatar|LMT +07 +08 +09|-77.w -70 -80 -90|012323232323232323232323232323232323232323232323232|-2APH7.w 2Uko7.w cKn0 1db0 1dd0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 6hD0 11z0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 kEp0 1cJ0 1cP0 1cJ0|12e5","Asia/Ust-Nera|LMT +08 +09 +12 +11 +10|-9w.S -80 -90 -c0 -b0 -a0|012343434343434343434345434343434343434343434343434343434343434345|-21Q9w.S pApw.S 23CL0 1d90 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 17V0 7zD0|65e2","Asia/Vladivostok|LMT +09 +10 +11|-8L.v -90 -a0 -b0|01232323232323232323232123232323232323232323232323232323232323232|-1SJIL.v itXL.v 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|60e4","Asia/Yakutsk|LMT +08 +09 +10|-8C.W -80 -90 -a0|01232323232323232323232123232323232323232323232323232323232323232|-21Q8C.W pAoC.W 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|28e4","Asia/Yekaterinburg|LMT PMT +04 +05 +06|-42.x -3J.5 -40 -50 -60|012343434343434343434343234343434343434343434343434343434343434343|-2ag42.x 7mQh.s qBvJ.5 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|14e5","Asia/Yerevan|LMT +03 +04 +05|-2W -30 -40 -50|0123232323232323232323212121212323232323232323232323232323232|-1Pc2W 1jUnW WCL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 4RX0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0|13e5","Atlantic/Azores|HMT -02 -01 +00 WET|1S.w 20 10 0 0|01212121212121212121212121212121212121212121232123212321232121212121212121212121212121212121212121232323232323232323232323232323234323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-2ldW0 aPX0 Sp0 LX0 1vc0 Tc0 1uM0 SM0 1vc0 Tc0 1vc0 SM0 1vc0 6600 1co0 3E00 17c0 1fA0 1a00 1io0 1a00 1io0 17c0 3I00 17c0 1cM0 1cM0 3Fc0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Dc0 1tA0 1cM0 1dc0 1400 gL0 IM0 s10 U00 dX0 Rc0 pd0 Rc0 gL0 Oo0 pd0 Rc0 gL0 Oo0 pd0 14o0 1cM0 1cP0 1cM0 1cM0 1cM0 1cM0 1cM0 3Co0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 qIl0 1cM0 1fA0 1cM0 1cM0 1cN0 1cL0 1cN0 1cM0 1cM0 1cM0 1cM0 1cN0 1cL0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cL0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|25e4","Atlantic/Bermuda|LMT AST ADT|4j.i 40 30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1BnRE.G 1LTbE.G 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|65e3","Atlantic/Canary|LMT -01 WET WEST|11.A 10 0 -10|01232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-1UtaW.o XPAW.o 1lAK0 1a10 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|54e4","Atlantic/Cape_Verde|LMT -02 -01|1y.4 20 10|01212|-2ldW0 1eEo0 7zX0 1djf0|50e4","Atlantic/Faroe|LMT WET WEST|r.4 0 -10|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2uSnw.U 2Wgow.U 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|49e3","Atlantic/Madeira|FMT -01 +00 +01 WET WEST|17.A 10 0 -10 0 -10|01212121212121212121212121212121212121212121232123212321232121212121212121212121212121212121212121454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-2ldX0 aPX0 Sp0 LX0 1vc0 Tc0 1uM0 SM0 1vc0 Tc0 1vc0 SM0 1vc0 6600 1co0 3E00 17c0 1fA0 1a00 1io0 1a00 1io0 17c0 3I00 17c0 1cM0 1cM0 3Fc0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Dc0 1tA0 1cM0 1dc0 1400 gL0 IM0 s10 U00 dX0 Rc0 pd0 Rc0 gL0 Oo0 pd0 Rc0 gL0 Oo0 pd0 14o0 1cM0 1cP0 1cM0 1cM0 1cM0 1cM0 1cM0 3Co0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 qIl0 1cM0 1fA0 1cM0 1cM0 1cN0 1cL0 1cN0 1cM0 1cM0 1cM0 1cM0 1cN0 1cL0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|27e4","Atlantic/Reykjavik|LMT -01 +00 GMT|1s 10 0 0|012121212121212121212121212121212121212121212121212121212121212121213|-2uWmw mfaw 1Bd0 ML0 1LB0 Cn0 1LB0 3fX0 C10 HrX0 1cO0 LB0 1EL0 LA0 1C00 Oo0 1wo0 Rc0 1wo0 Rc0 1wo0 Rc0 1zc0 Oo0 1zc0 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1lc0 14o0 1o00 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1o00 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1o00 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1o00 14o0|12e4","Atlantic/South_Georgia|-02|20|0||30","Atlantic/Stanley|SMT -04 -03 -02|3P.o 40 30 20|012121212121212323212121212121212121212121212121212121212121212121212|-2kJw8.A 12bA8.A 19X0 1fB0 19X0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 Cn0 1Cc10 WL0 1qL0 U10 1tz0 2mN0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1tz0 U10 1tz0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1tz0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qN0 U10 1wn0 Rd0 1wn0 U10 1tz0 U10 1tz0 U10 1tz0 U10 1tz0 U10 1wn0 U10 1tz0 U10 1tz0 U10|21e2","Australia/Sydney|AEST AEDT|-a0 -b0|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-293lX xcX 10jd0 yL0 1cN0 1cL0 1fB0 19X0 17c10 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 14o0 1o00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 U00 1qM0 WM0 1tA0 WM0 1tA0 U00 1tA0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 11A0 1o00 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 14o0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0|40e5","Australia/Adelaide|ACST ACDT|-9u -au|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-293lt xcX 10jd0 yL0 1cN0 1cL0 1fB0 19X0 17c10 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 U00 1qM0 WM0 1tA0 WM0 1tA0 U00 1tA0 U00 1tA0 Oo0 1zc0 WM0 1qM0 Rc0 1zc0 U00 1tA0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 14o0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0|11e5","Australia/Brisbane|AEST AEDT|-a0 -b0|01010101010101010|-293lX xcX 10jd0 yL0 1cN0 1cL0 1fB0 19X0 17c10 LA0 H1A0 Oo0 1zc0 Oo0 1zc0 Oo0|20e5","Australia/Broken_Hill|ACST ACDT|-9u -au|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-293lt xcX 10jd0 yL0 1cN0 1cL0 1fB0 19X0 17c10 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 14o0 1o00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 U00 1qM0 WM0 1tA0 WM0 1tA0 U00 1tA0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 14o0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0|18e3","Australia/Currie|AEST AEDT|-a0 -b0|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-29E80 19X0 10jd0 yL0 1cN0 1cL0 1fB0 19X0 17c10 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 11A0 1qM0 WM0 1qM0 Oo0 1zc0 Oo0 1zc0 Oo0 1wo0 WM0 1tA0 WM0 1tA0 U00 1tA0 U00 1tA0 11A0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 11A0 1o00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0|746","Australia/Darwin|ACST ACDT|-9u -au|010101010|-293lt xcX 10jd0 yL0 1cN0 1cL0 1fB0 19X0|12e4","Australia/Eucla|+0845 +0945|-8J -9J|0101010101010101010|-293kI xcX 10jd0 yL0 1cN0 1cL0 1gSp0 Oo0 l5A0 Oo0 iJA0 G00 zU00 IM0 1qM0 11A0 1o00 11A0|368","Australia/Hobart|AEST AEDT|-a0 -b0|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-29E80 19X0 10jd0 yL0 1cN0 1cL0 1fB0 19X0 VfB0 1cM0 1o00 Rc0 1wo0 Rc0 1wo0 U00 1wo0 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 11A0 1qM0 WM0 1qM0 Oo0 1zc0 Oo0 1zc0 Oo0 1wo0 WM0 1tA0 WM0 1tA0 U00 1tA0 U00 1tA0 11A0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 11A0 1o00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0|21e4","Australia/Lord_Howe|AEST +1030 +1130 +11|-a0 -au -bu -b0|0121212121313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313|raC0 1zdu Rb0 1zd0 On0 1zd0 On0 1zd0 On0 1zd0 TXu 1qMu WLu 1tAu WLu 1tAu TXu 1tAu Onu 1zcu Onu 1zcu Onu 1zcu Rbu 1zcu Onu 1zcu Onu 1zcu 11zu 1o0u 11zu 1o0u 11zu 1o0u 11zu 1qMu WLu 11Au 1nXu 1qMu 11zu 1o0u 11zu 1o0u 11zu 1qMu WLu 1qMu 11zu 1o0u WLu 1qMu 14nu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1fzu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu|347","Australia/Lindeman|AEST AEDT|-a0 -b0|010101010101010101010|-293lX xcX 10jd0 yL0 1cN0 1cL0 1fB0 19X0 17c10 LA0 H1A0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0|10","Australia/Melbourne|AEST AEDT|-a0 -b0|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-293lX xcX 10jd0 yL0 1cN0 1cL0 1fB0 19X0 17c10 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 U00 1qM0 WM0 1qM0 11A0 1tA0 U00 1tA0 U00 1tA0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 11A0 1o00 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 14o0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0|39e5","Australia/Perth|AWST AWDT|-80 -90|0101010101010101010|-293jX xcX 10jd0 yL0 1cN0 1cL0 1gSp0 Oo0 l5A0 Oo0 iJA0 G00 zU00 IM0 1qM0 11A0 1o00 11A0|18e5","CET|CET CEST|-10 -20|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1o00 11A0 Qrc0 6i00 WM0 1fA0 1cM0 1cM0 1cM0 16M0 1gMM0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","Pacific/Easter|EMT -07 -06 -05|7h.s 70 60 50|012121212121212121212121212123232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323|-1uSgG.w 1s4IG.w WL0 1zd0 On0 1ip0 11z0 1o10 11z0 1qN0 WL0 1ld0 14n0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 2pA0 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 1cL0 1cN0 11z0 1o10 11z0 1qN0 WL0 1fB0 19X0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1ip0 1fz0 1fB0 11z0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1o10 19X0 1fB0 1nX0 G10 1EL0 Op0 1zb0 Rd0 1wn0 Rd0 46n0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Dd0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Dd0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Dd0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0|30e2","CST6CDT|CST CDT CWT CPT|60 50 50 50|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","EET|EET EEST|-20 -30|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|hDB0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","Europe/Dublin|DMT IST GMT BST IST|p.l -y.D 0 -10 -10|01232323232324242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242|-2ax9y.D Rc0 1fzy.D 14M0 1fc0 1g00 1co0 1dc0 1co0 1oo0 1400 1dc0 19A0 1io0 1io0 WM0 1o00 14o0 1o00 17c0 1io0 17c0 1fA0 1a00 1lc0 17c0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1cM0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1a00 1io0 1qM0 Dc0 g600 14o0 1wo0 17c0 1io0 11A0 1o00 17c0 1fA0 1a00 1fA0 1cM0 1fA0 1a00 17c0 1fA0 1a00 1io0 17c0 1lc0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1a00 1a00 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1tA0 IM0 90o0 U00 1tA0 U00 1tA0 U00 1tA0 U00 1tA0 WM0 1qM0 WM0 1qM0 WM0 1tA0 U00 1tA0 U00 1tA0 11z0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 14o0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|12e5","EST|EST|50|0|","EST5EDT|EST EDT EWT EPT|50 40 40 40|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261t0 1nX0 11B0 1nX0 SgN0 8x40 iv0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","Etc/GMT-0|GMT|0|0|","Etc/GMT-1|+01|-10|0|","Pacific/Port_Moresby|+10|-a0|0||25e4","Pacific/Pohnpei|+11|-b0|0||34e3","Pacific/Tarawa|+12|-c0|0||29e3","Etc/GMT-13|+13|-d0|0|","Etc/GMT-14|+14|-e0|0|","Etc/GMT-2|+02|-20|0|","Etc/GMT-3|+03|-30|0|","Etc/GMT-4|+04|-40|0|","Etc/GMT-5|+05|-50|0|","Etc/GMT-6|+06|-60|0|","Indian/Christmas|+07|-70|0||21e2","Etc/GMT-8|+08|-80|0|","Pacific/Palau|+09|-90|0||21e3","Etc/GMT+1|-01|10|0|","Etc/GMT+10|-10|a0|0|","Etc/GMT+11|-11|b0|0|","Etc/GMT+12|-12|c0|0|","Etc/GMT+3|-03|30|0|","Etc/GMT+4|-04|40|0|","Etc/GMT+5|-05|50|0|","Etc/GMT+6|-06|60|0|","Etc/GMT+7|-07|70|0|","Etc/GMT+8|-08|80|0|","Etc/GMT+9|-09|90|0|","Etc/UCT|UCT|0|0|","Etc/UTC|UTC|0|0|","Europe/Amsterdam|AMT NST +0120 +0020 CEST CET|-j.w -1j.w -1k -k -20 -10|010101010101010101010101010101010101010101012323234545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545|-2aFcj.w 11b0 1iP0 11A0 1io0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1co0 1io0 1yo0 Pc0 1a00 1fA0 1Bc0 Mo0 1tc0 Uo0 1tA0 U00 1uo0 W00 1s00 VA0 1so0 Vc0 1sM0 UM0 1wo0 Rc0 1u00 Wo0 1rA0 W00 1s00 VA0 1sM0 UM0 1w00 fV0 BCX.w 1tA0 U00 1u00 Wo0 1sm0 601k WM0 1fA0 1cM0 1cM0 1cM0 16M0 1gMM0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|16e5","Europe/Andorra|WET CET CEST|0 -10 -20|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-UBA0 1xIN0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|79e3","Europe/Astrakhan|LMT +03 +04 +05|-3c.c -30 -40 -50|012323232323232323212121212121212121212121212121212121212121212|-1Pcrc.c eUMc.c 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1fA0 1cM0 3Co0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3rd0","Europe/Athens|AMT EET EEST CEST CET|-1y.Q -20 -30 -20 -10|012123434121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2a61x.Q CNbx.Q mn0 kU10 9b0 3Es0 Xa0 1fb0 1dd0 k3X0 Nz0 SCp0 1vc0 SO0 1cM0 1a00 1ao0 1fc0 1a10 1fG0 1cg0 1dX0 1bX0 1cQ0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|35e5","Europe/London|GMT BST BDST|0 -10 -20|0101010101010101010101010101010101010101010101010121212121210101210101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2axa0 Rc0 1fA0 14M0 1fc0 1g00 1co0 1dc0 1co0 1oo0 1400 1dc0 19A0 1io0 1io0 WM0 1o00 14o0 1o00 17c0 1io0 17c0 1fA0 1a00 1lc0 17c0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1cM0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1a00 1io0 1qM0 Dc0 2Rz0 Dc0 1zc0 Oo0 1zc0 Rc0 1wo0 17c0 1iM0 FA0 xB0 1fA0 1a00 14o0 bb0 LA0 xB0 Rc0 1wo0 11A0 1o00 17c0 1fA0 1a00 1fA0 1cM0 1fA0 1a00 17c0 1fA0 1a00 1io0 17c0 1lc0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1a00 1a00 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1tA0 IM0 90o0 U00 1tA0 U00 1tA0 U00 1tA0 U00 1tA0 WM0 1qM0 WM0 1qM0 WM0 1tA0 U00 1tA0 U00 1tA0 11z0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 14o0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|10e6","Europe/Belgrade|CET CEST|-10 -20|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-19RC0 3IP0 WM0 1fA0 1cM0 1cM0 1rc0 Qo0 1vmo0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|12e5","Europe/Berlin|CET CEST CEMT|-10 -20 -30|01010101010101210101210101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1o00 11A0 Qrc0 6i00 WM0 1fA0 1cM0 1cM0 1cM0 kL0 Nc0 m10 WM0 1ao0 1cp0 dX0 jz0 Dd0 1io0 17c0 1fA0 1a00 1ehA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|41e5","Europe/Prague|CET CEST GMT|-10 -20 0|01010101010101010201010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1o00 11A0 Qrc0 6i00 WM0 1fA0 1cM0 1cM0 1cM0 1cM0 1qM0 11c0 mp0 xA0 mn0 17c0 1io0 17c0 1fc0 1ao0 1bNc0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|13e5","Europe/Brussels|WET CET CEST WEST|0 -10 -20 -10|0121212103030303030303030303030303030303030303030303212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2ehc0 3zX0 11c0 1iO0 11A0 1o00 11A0 my0 Ic0 1qM0 Rc0 1EM0 UM0 1u00 10o0 1io0 1io0 17c0 1a00 1fA0 1cM0 1cM0 1io0 17c0 1fA0 1a00 1io0 1a30 1io0 17c0 1fA0 1a00 1io0 17c0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Dc0 y00 5Wn0 WM0 1fA0 1cM0 16M0 1iM0 16M0 1C00 Uo0 1eeo0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|21e5","Europe/Bucharest|BMT EET EEST|-1I.o -20 -30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1xApI.o 20LI.o RA0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1Axc0 On0 1fA0 1a10 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cK0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cL0 1cN0 1cL0 1fB0 1nX0 11E0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|19e5","Europe/Budapest|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1ip0 17b0 1op0 1tb0 Q2m0 3Ne0 WM0 1fA0 1cM0 1cM0 1oJ0 1dc0 1030 1fA0 1cM0 1cM0 1cM0 1cM0 1fA0 1a00 1iM0 1fA0 8Ha0 Rb0 1wN0 Rb0 1BB0 Lz0 1C20 LB0 SNX0 1a10 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|17e5","Europe/Zurich|CET CEST|-10 -20|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-19Lc0 11A0 1o00 11A0 1xG10 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|38e4","Europe/Chisinau|CMT BMT EET EEST CEST CET MSK MSD|-1T -1I.o -20 -30 -20 -10 -30 -40|012323232323232323234545467676767676767676767323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-26jdT wGMa.A 20LI.o RA0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 27A0 2en0 39g0 WM0 1fA0 1cM0 V90 1t7z0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 gL0 WO0 1cM0 1cM0 1cK0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1nX0 11D0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|67e4","Europe/Copenhagen|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2azC0 Tz0 VuO0 60q0 WM0 1fA0 1cM0 1cM0 1cM0 S00 1HA0 Nc0 1C00 Dc0 1Nc0 Ao0 1h5A0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|12e5","Europe/Gibraltar|GMT BST BDST CET CEST|0 -10 -20 -10 -20|010101010101010101010101010101010101010101010101012121212121010121010101010101010101034343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343|-2axa0 Rc0 1fA0 14M0 1fc0 1g00 1co0 1dc0 1co0 1oo0 1400 1dc0 19A0 1io0 1io0 WM0 1o00 14o0 1o00 17c0 1io0 17c0 1fA0 1a00 1lc0 17c0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1cM0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1a00 1io0 1qM0 Dc0 2Rz0 Dc0 1zc0 Oo0 1zc0 Rc0 1wo0 17c0 1iM0 FA0 xB0 1fA0 1a00 14o0 bb0 LA0 xB0 Rc0 1wo0 11A0 1o00 17c0 1fA0 1a00 1fA0 1cM0 1fA0 1a00 17c0 1fA0 1a00 1io0 17c0 1lc0 17c0 1fA0 10Jz0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|30e3","Europe/Helsinki|HMT EET EEST|-1D.N -20 -30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1WuND.N OULD.N 1dA0 1xGq0 1cM0 1cM0 1cM0 1cN0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|12e5","Europe/Kaliningrad|CET CEST CET CEST MSK MSD EEST EET +03|-10 -20 -20 -30 -30 -40 -30 -20 -30|0101010101010232454545454545454546767676767676767676767676767676767676767676787|-2aFe0 11d0 1iO0 11A0 1o00 11A0 Qrc0 6i00 WM0 1fA0 1cM0 1cM0 Am0 Lb0 1en0 op0 1pNz0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|44e4","Europe/Kiev|KMT EET MSK CEST CET MSD EEST|-22.4 -20 -30 -20 -10 -40 -30|0123434252525252525252525256161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161|-1Pc22.4 eUo2.4 rnz0 2Hg0 WM0 1fA0 da0 1v4m0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 Db0 3220 1cK0 1cL0 1cN0 1cL0 1cN0 1cL0 1cQ0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|34e5","Europe/Kirov|LMT +03 +04 +05|-3i.M -30 -40 -50|01232323232323232321212121212121212121212121212121212121212121|-22WM0 qH90 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1fA0 1cM0 3Co0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|48e4","Europe/Lisbon|LMT WET WEST WEMT CET CEST|A.J 0 -10 -20 -10 -20|012121212121212121212121212121212121212121212321232123212321212121212121212121212121212121212121214121212121212121212121212121212124545454212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2le00 aPX0 Sp0 LX0 1vc0 Tc0 1uM0 SM0 1vc0 Tc0 1vc0 SM0 1vc0 6600 1co0 3E00 17c0 1fA0 1a00 1io0 1a00 1io0 17c0 3I00 17c0 1cM0 1cM0 3Fc0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Dc0 1tA0 1cM0 1dc0 1400 gL0 IM0 s10 U00 dX0 Rc0 pd0 Rc0 gL0 Oo0 pd0 Rc0 gL0 Oo0 pd0 14o0 1cM0 1cP0 1cM0 1cM0 1cM0 1cM0 1cM0 3Co0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 pvy0 1cM0 1cM0 1fA0 1cM0 1cM0 1cN0 1cL0 1cN0 1cM0 1cM0 1cM0 1cM0 1cN0 1cL0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|27e5","Europe/Luxembourg|LMT CET CEST WET WEST WEST WET|-o.A -10 -20 0 -10 -20 -10|0121212134343434343434343434343434343434343434343434565651212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2DG0o.A t6mo.A TB0 1nX0 Up0 1o20 11A0 rW0 CM0 1qP0 R90 1EO0 UK0 1u20 10m0 1ip0 1in0 17e0 19W0 1fB0 1db0 1cp0 1in0 17d0 1fz0 1a10 1in0 1a10 1in0 17f0 1fA0 1a00 1io0 17c0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Dc0 vA0 60L0 WM0 1fA0 1cM0 17c0 1io0 16M0 1C00 Uo0 1eeo0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|54e4","Europe/Madrid|WET WEST WEMT CET CEST|0 -10 -20 -10 -20|010101010101010101210343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343|-25Td0 19B0 1cL0 1dd0 b1z0 18p0 3HX0 17d0 1fz0 1a10 1io0 1a00 1in0 17d0 iIn0 Hd0 1cL0 bb0 1200 2s20 14n0 5aL0 Mp0 1vz0 17d0 1in0 17d0 1in0 17d0 1in0 17d0 6hX0 11B0 XHX0 1a10 1fz0 1a10 19X0 1cN0 1fz0 1a10 1fC0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|62e5","Europe/Malta|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2arB0 Lz0 1cN0 1db0 1410 1on0 Wp0 1qL0 17d0 1cL0 M3B0 5M20 WM0 1fA0 1co0 17c0 1iM0 16m0 1de0 1lc0 14m0 1lc0 WO0 1qM0 GTW0 On0 1C10 LA0 1C00 LA0 1EM0 LA0 1C00 LA0 1zc0 Oo0 1C00 Oo0 1co0 1cM0 1lA0 Xc0 1qq0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1iN0 19z0 1fB0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|42e4","Europe/Minsk|MMT EET MSK CEST CET MSD EEST +03|-1O -20 -30 -20 -10 -40 -30 -30|01234343252525252525252525261616161616161616161616161616161616161617|-1Pc1O eUnO qNX0 3gQ0 WM0 1fA0 1cM0 Al0 1tsn0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 3Fc0 1cN0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0|19e5","Europe/Monaco|PMT WET WEST WEMT CET CEST|-9.l 0 -10 -20 -10 -20|01212121212121212121212121212121212121212121212121232323232345454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-2nco9.l cNb9.l HA0 19A0 1iM0 11c0 1oo0 Wo0 1rc0 QM0 1EM0 UM0 1u00 10o0 1io0 1wo0 Rc0 1a00 1fA0 1cM0 1cM0 1io0 17c0 1fA0 1a00 1io0 1a00 1io0 17c0 1fA0 1a00 1io0 17c0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Df0 2RV0 11z0 11B0 1ze0 WM0 1fA0 1cM0 1fa0 1aq0 16M0 1ekn0 1cL0 1fC0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|38e3","Europe/Moscow|MMT MMT MST MDST MSD MSK +05 EET EEST MSK|-2u.h -2v.j -3v.j -4v.j -40 -30 -50 -20 -30 -40|012132345464575454545454545454545458754545454545454545454545454545454545454595|-2ag2u.h 2pyW.W 1bA0 11X0 GN0 1Hb0 c4v.j ik0 3DA0 dz0 15A0 c10 2q10 iM10 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cN0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|16e6","Europe/Paris|PMT WET WEST CEST CET WEMT|-9.l 0 -10 -20 -10 -20|0121212121212121212121212121212121212121212121212123434352543434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434|-2nco8.l cNb8.l HA0 19A0 1iM0 11c0 1oo0 Wo0 1rc0 QM0 1EM0 UM0 1u00 10o0 1io0 1wo0 Rc0 1a00 1fA0 1cM0 1cM0 1io0 17c0 1fA0 1a00 1io0 1a00 1io0 17c0 1fA0 1a00 1io0 17c0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Df0 Ik0 5M30 WM0 1fA0 1cM0 Vx0 hB0 1aq0 16M0 1ekn0 1cL0 1fC0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|11e6","Europe/Riga|RMT LST EET MSK CEST CET MSD EEST|-1A.y -2A.y -20 -30 -20 -10 -40 -30|010102345454536363636363636363727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272|-25TzA.y 11A0 1iM0 ko0 gWm0 yDXA.y 2bX0 3fE0 WM0 1fA0 1cM0 1cM0 4m0 1sLy0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cN0 1o00 11A0 1o00 11A0 1qM0 3oo0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|64e4","Europe/Rome|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2arB0 Lz0 1cN0 1db0 1410 1on0 Wp0 1qL0 17d0 1cL0 M3B0 5M20 WM0 1fA0 1cM0 16M0 1iM0 16m0 1de0 1lc0 14m0 1lc0 WO0 1qM0 GTW0 On0 1C10 LA0 1C00 LA0 1EM0 LA0 1C00 LA0 1zc0 Oo0 1C00 Oo0 1C00 LA0 1zc0 Oo0 1C00 LA0 1C00 LA0 1zc0 Oo0 1C00 Oo0 1zc0 Oo0 1fC0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|39e5","Europe/Samara|LMT +03 +04 +05|-3k.k -30 -40 -50|0123232323232323232121232323232323232323232323232323232323212|-22WM0 qH90 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1fA0 2y10 14m0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 2sp0 WM0|12e5","Europe/Saratov|LMT +03 +04 +05|-34.i -30 -40 -50|012323232323232321212121212121212121212121212121212121212121212|-22WM0 qH90 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1cM0 1cM0 1fA0 1cM0 3Co0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 5810","Europe/Simferopol|SMT EET MSK CEST CET MSD EEST MSK|-2g -20 -30 -20 -10 -40 -30 -40|012343432525252525252525252161616525252616161616161616161616161616161616172|-1Pc2g eUog rEn0 2qs0 WM0 1fA0 1cM0 3V0 1u0L0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1Q00 4eL0 1cL0 1cN0 1cL0 1cN0 dX0 WL0 1cN0 1cL0 1fB0 1o30 11B0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11z0 1nW0|33e4","Europe/Sofia|EET CET CEST EEST|-20 -10 -20 -30|01212103030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030|-168L0 WM0 1fA0 1cM0 1cM0 1cN0 1mKH0 1dd0 1fb0 1ap0 1fb0 1a20 1fy0 1a30 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cK0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1nX0 11E0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|12e5","Europe/Stockholm|CET CEST|-10 -20|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2azC0 TB0 2yDe0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|15e5","Europe/Tallinn|TMT CET CEST EET MSK MSD EEST|-1D -10 -20 -20 -30 -40 -30|012103421212454545454545454546363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363|-26oND teD 11A0 1Ta0 4rXl KSLD 2FX0 2Jg0 WM0 1fA0 1cM0 18J0 1sTX0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o10 11A0 1qM0 5QM0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|41e4","Europe/Tirane|LMT CET CEST|-1j.k -10 -20|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2glBj.k 14pcj.k 5LC0 WM0 4M0 1fCK0 10n0 1op0 11z0 1pd0 11z0 1qN0 WL0 1qp0 Xb0 1qp0 Xb0 1qp0 11z0 1lB0 11z0 1qN0 11z0 1iN0 16n0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|42e4","Europe/Ulyanovsk|LMT +03 +04 +05 +02|-3d.A -30 -40 -50 -20|01232323232323232321214121212121212121212121212121212121212121212|-22WM0 qH90 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3rd0","Europe/Uzhgorod|CET CEST MSK MSD EET EEST|-10 -20 -30 -40 -20 -30|010101023232323232323232320454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-1cqL0 6i00 WM0 1fA0 1cM0 1ml0 1Cp0 1r3W0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1Q00 1Nf0 2pw0 1cL0 1cN0 1cL0 1cN0 1cL0 1cQ0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|11e4","Europe/Vienna|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1o00 11A0 3KM0 14o0 LA00 6i00 WM0 1fA0 1cM0 1cM0 1cM0 400 2qM0 1a00 1cM0 1cM0 1io0 17c0 1gHa0 19X0 1cP0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|18e5","Europe/Vilnius|WMT KMT CET EET MSK CEST MSD EEST|-1o -1z.A -10 -20 -30 -20 -40 -30|012324525254646464646464646473737373737373737352537373737373737373737373737373737373737373737373737373737373737373737373|-293do 6ILM.o 1Ooz.A zz0 Mfd0 29W0 3is0 WM0 1fA0 1cM0 LV0 1tgL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11B0 1o00 11A0 1qM0 8io0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|54e4","Europe/Volgograd|LMT +03 +04 +05|-2V.E -30 -40 -50|01232323232323232121212121212121212121212121212121212121212121|-21IqV.E psLV.E 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1cM0 1cM0 1fA0 1cM0 3Co0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|10e5","Europe/Warsaw|WMT CET CEST EET EEST|-1o -10 -20 -20 -30|012121234312121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2ctdo 1LXo 11d0 1iO0 11A0 1o00 11A0 1on0 11A0 6zy0 HWP0 5IM0 WM0 1fA0 1cM0 1dz0 1mL0 1en0 15B0 1aq0 1nA0 11A0 1io0 17c0 1fA0 1a00 iDX0 LA0 1cM0 1cM0 1C00 Oo0 1cM0 1cM0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1C00 LA0 uso0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|17e5","Europe/Zaporozhye|+0220 EET MSK CEST CET MSD EEST|-2k -20 -30 -20 -10 -40 -30|01234342525252525252525252526161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161|-1Pc2k eUok rdb0 2RE0 WM0 1fA0 8m0 1v9a0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cK0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cQ0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|77e4","HST|HST|a0|0|","Indian/Chagos|LMT +05 +06|-4N.E -50 -60|012|-2xosN.E 3AGLN.E|30e2","Indian/Cocos|+0630|-6u|0||596","Indian/Kerguelen|-00 +05|0 -50|01|-MG00|130","Indian/Mahe|LMT +04|-3F.M -40|01|-2yO3F.M|79e3","Indian/Maldives|MMT +05|-4S -50|01|-olgS|35e4","Indian/Mauritius|LMT +04 +05|-3O -40 -50|012121|-2xorO 34unO 14L0 12kr0 11z0|15e4","Indian/Reunion|LMT +04|-3F.Q -40|01|-2mDDF.Q|84e4","Pacific/Kwajalein|+11 -12 +12|-b0 c0 -c0|012|-AX0 W9X0|14e3","MET|MET MEST|-10 -20|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1o00 11A0 Qrc0 6i00 WM0 1fA0 1cM0 1cM0 1cM0 16M0 1gMM0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","MST|MST|70|0|","MST7MDT|MST MDT MWT MPT|70 60 60 60|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261r0 1nX0 11B0 1nX0 SgN0 8x20 ix0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","Pacific/Chatham|+1215 +1245 +1345|-cf -cJ -dJ|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212|-WqAf 1adef IM0 1C00 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1qM0 14o0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1io0 17c0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1io0 17c0 1io0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00|600","Pacific/Apia|LMT -1130 -11 -10 +14 +13|bq.U bu b0 a0 -e0 -d0|01232345454545454545454545454545454545454545454545454545454|-2nDMx.4 1yW03.4 2rRbu 1ff0 1a00 CI0 AQ0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00|37e3","Pacific/Bougainville|+10 +09 +11|-a0 -90 -b0|0102|-16Wy0 7CN0 2MQp0|18e4","Pacific/Efate|LMT +11 +12|-bd.g -b0 -c0|0121212121212121212121|-2l9nd.g 2Szcd.g 1cL0 1oN0 10L0 1fB0 19X0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 Lz0 1Nd0 An0|66e3","Pacific/Enderbury|-12 -11 +13|c0 b0 -d0|012|nIc0 B7X0|1","Pacific/Fakaofo|-11 +13|b0 -d0|01|1Gfn0|483","Pacific/Fiji|LMT +12 +13|-bT.I -c0 -d0|0121212121212121212121212121212121212121212121212121212121212121|-2bUzT.I 3m8NT.I LA0 1EM0 IM0 nJc0 LA0 1o00 Rc0 1wo0 Ao0 1Nc0 Ao0 1Q00 xz0 1SN0 uM0 1SM0 uM0 1VA0 s00 1VA0 s00 1VA0 uM0 1SM0 uM0 1SM0 uM0 1VA0 s00 1VA0 s00 1VA0 s00 1VA0 uM0 1SM0 uM0 1SM0 uM0 1VA0 s00 1VA0 s00 1VA0 uM0 1SM0 uM0 1SM0 uM0 1VA0 s00 1VA0 s00 1VA0 s00 1VA0 uM0 1SM0 uM0 1SM0 uM0|88e4","Pacific/Galapagos|LMT -05 -06|5W.o 50 60|01212|-1yVS1.A 2dTz1.A gNd0 rz0|25e3","Pacific/Gambier|LMT -09|8X.M 90|01|-2jof0.c|125","Pacific/Guadalcanal|LMT +11|-aD.M -b0|01|-2joyD.M|11e4","Pacific/Guam|GST ChST|-a0 -a0|01|1fpq0|17e4","Pacific/Honolulu|HST HDT HST|au 9u a0|010102|-1thLu 8x0 lef0 8Pz0 46p0|37e4","Pacific/Kiritimati|-1040 -10 +14|aE a0 -e0|012|nIaE B7Xk|51e2","Pacific/Kosrae|+11 +12|-b0 -c0|010|-AX0 1bdz0|66e2","Pacific/Majuro|+11 +12|-b0 -c0|01|-AX0|28e3","Pacific/Marquesas|LMT -0930|9i 9u|01|-2joeG|86e2","Pacific/Pago_Pago|LMT SST|bm.M b0|01|-2nDMB.c|37e2","Pacific/Nauru|LMT +1130 +09 +12|-b7.E -bu -90 -c0|01213|-1Xdn7.E PvzB.E 5RCu 1ouJu|10e3","Pacific/Niue|-1120 -1130 -11|bk bu b0|012|-KfME 17y0a|12e2","Pacific/Norfolk|+1112 +1130 +1230 +11|-bc -bu -cu -b0|01213|-Kgbc W01G On0 1COp0|25e4","Pacific/Noumea|LMT +11 +12|-b5.M -b0 -c0|01212121|-2l9n5.M 2EqM5.M xX0 1PB0 yn0 HeP0 Ao0|98e3","Pacific/Pitcairn|-0830 -08|8u 80|01|18Vku|56","Pacific/Rarotonga|-1030 -0930 -10|au 9u a0|012121212121212121212121212|lyWu IL0 1zcu Onu 1zcu Onu 1zcu Rbu 1zcu Onu 1zcu Onu 1zcu Onu 1zcu Onu 1zcu Onu 1zcu Rbu 1zcu Onu 1zcu Onu 1zcu Onu|13e3","Pacific/Tahiti|LMT -10|9W.g a0|01|-2joe1.I|18e4","Pacific/Tongatapu|+1220 +13 +14|-ck -d0 -e0|0121212121|-1aB0k 2n5dk 15A0 1wo0 xz0 1Q10 xz0 zWN0 s00|75e3","PST8PDT|PST PDT PWT PPT|80 70 70 70|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261q0 1nX0 11B0 1nX0 SgN0 8x10 iy0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","WET|WET WEST|0 -10|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|hDB0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00"],"links":["Africa/Abidjan|Africa/Bamako","Africa/Abidjan|Africa/Banjul","Africa/Abidjan|Africa/Conakry","Africa/Abidjan|Africa/Dakar","Africa/Abidjan|Africa/Freetown","Africa/Abidjan|Africa/Lome","Africa/Abidjan|Africa/Nouakchott","Africa/Abidjan|Africa/Ouagadougou","Africa/Abidjan|Africa/Timbuktu","Africa/Abidjan|Atlantic/St_Helena","Africa/Cairo|Egypt","Africa/Johannesburg|Africa/Maseru","Africa/Johannesburg|Africa/Mbabane","Africa/Lagos|Africa/Bangui","Africa/Lagos|Africa/Brazzaville","Africa/Lagos|Africa/Douala","Africa/Lagos|Africa/Kinshasa","Africa/Lagos|Africa/Libreville","Africa/Lagos|Africa/Luanda","Africa/Lagos|Africa/Malabo","Africa/Lagos|Africa/Niamey","Africa/Lagos|Africa/Porto-Novo","Africa/Maputo|Africa/Blantyre","Africa/Maputo|Africa/Bujumbura","Africa/Maputo|Africa/Gaborone","Africa/Maputo|Africa/Harare","Africa/Maputo|Africa/Kigali","Africa/Maputo|Africa/Lubumbashi","Africa/Maputo|Africa/Lusaka","Africa/Nairobi|Africa/Addis_Ababa","Africa/Nairobi|Africa/Asmara","Africa/Nairobi|Africa/Asmera","Africa/Nairobi|Africa/Dar_es_Salaam","Africa/Nairobi|Africa/Djibouti","Africa/Nairobi|Africa/Kampala","Africa/Nairobi|Africa/Mogadishu","Africa/Nairobi|Indian/Antananarivo","Africa/Nairobi|Indian/Comoro","Africa/Nairobi|Indian/Mayotte","Africa/Tripoli|Libya","America/Adak|America/Atka","America/Adak|US/Aleutian","America/Anchorage|US/Alaska","America/Argentina/Buenos_Aires|America/Buenos_Aires","America/Argentina/Catamarca|America/Argentina/ComodRivadavia","America/Argentina/Catamarca|America/Catamarca","America/Argentina/Cordoba|America/Cordoba","America/Argentina/Cordoba|America/Rosario","America/Argentina/Jujuy|America/Jujuy","America/Argentina/Mendoza|America/Mendoza","America/Atikokan|America/Coral_Harbour","America/Chicago|US/Central","America/Curacao|America/Aruba","America/Curacao|America/Kralendijk","America/Curacao|America/Lower_Princes","America/Denver|America/Shiprock","America/Denver|Navajo","America/Denver|US/Mountain","America/Detroit|US/Michigan","America/Edmonton|Canada/Mountain","America/Fort_Wayne|America/Indiana/Indianapolis","America/Fort_Wayne|America/Indianapolis","America/Fort_Wayne|US/East-Indiana","America/Halifax|Canada/Atlantic","America/Havana|Cuba","America/Indiana/Knox|America/Knox_IN","America/Indiana/Knox|US/Indiana-Starke","America/Jamaica|Jamaica","America/Kentucky/Louisville|America/Louisville","America/Los_Angeles|US/Pacific","America/Los_Angeles|US/Pacific-New","America/Manaus|Brazil/West","America/Mazatlan|Mexico/BajaSur","America/Mexico_City|Mexico/General","America/New_York|US/Eastern","America/Noronha|Brazil/DeNoronha","America/Panama|America/Cayman","America/Phoenix|US/Arizona","America/Port_of_Spain|America/Anguilla","America/Port_of_Spain|America/Antigua","America/Port_of_Spain|America/Dominica","America/Port_of_Spain|America/Grenada","America/Port_of_Spain|America/Guadeloupe","America/Port_of_Spain|America/Marigot","America/Port_of_Spain|America/Montserrat","America/Port_of_Spain|America/St_Barthelemy","America/Port_of_Spain|America/St_Kitts","America/Port_of_Spain|America/St_Lucia","America/Port_of_Spain|America/St_Thomas","America/Port_of_Spain|America/St_Vincent","America/Port_of_Spain|America/Tortola","America/Port_of_Spain|America/Virgin","America/Regina|Canada/Saskatchewan","America/Rio_Branco|America/Porto_Acre","America/Rio_Branco|Brazil/Acre","America/Santiago|Chile/Continental","America/Sao_Paulo|Brazil/East","America/St_Johns|Canada/Newfoundland","America/Tijuana|America/Ensenada","America/Tijuana|America/Santa_Isabel","America/Tijuana|Mexico/BajaNorte","America/Toronto|America/Montreal","America/Toronto|Canada/Eastern","America/Vancouver|Canada/Pacific","America/Whitehorse|Canada/Yukon","America/Winnipeg|Canada/Central","Asia/Ashgabat|Asia/Ashkhabad","Asia/Bangkok|Asia/Phnom_Penh","Asia/Bangkok|Asia/Vientiane","Asia/Dhaka|Asia/Dacca","Asia/Dubai|Asia/Muscat","Asia/Ho_Chi_Minh|Asia/Saigon","Asia/Hong_Kong|Hongkong","Asia/Jerusalem|Asia/Tel_Aviv","Asia/Jerusalem|Israel","Asia/Kathmandu|Asia/Katmandu","Asia/Kolkata|Asia/Calcutta","Asia/Kuala_Lumpur|Asia/Singapore","Asia/Kuala_Lumpur|Singapore","Asia/Macau|Asia/Macao","Asia/Makassar|Asia/Ujung_Pandang","Asia/Nicosia|Europe/Nicosia","Asia/Qatar|Asia/Bahrain","Asia/Rangoon|Asia/Yangon","Asia/Riyadh|Asia/Aden","Asia/Riyadh|Asia/Kuwait","Asia/Seoul|ROK","Asia/Shanghai|Asia/Chongqing","Asia/Shanghai|Asia/Chungking","Asia/Shanghai|Asia/Harbin","Asia/Shanghai|PRC","Asia/Taipei|ROC","Asia/Tehran|Iran","Asia/Thimphu|Asia/Thimbu","Asia/Tokyo|Japan","Asia/Ulaanbaatar|Asia/Ulan_Bator","Asia/Urumqi|Asia/Kashgar","Atlantic/Faroe|Atlantic/Faeroe","Atlantic/Reykjavik|Iceland","Atlantic/South_Georgia|Etc/GMT+2","Australia/Adelaide|Australia/South","Australia/Brisbane|Australia/Queensland","Australia/Broken_Hill|Australia/Yancowinna","Australia/Darwin|Australia/North","Australia/Hobart|Australia/Tasmania","Australia/Lord_Howe|Australia/LHI","Australia/Melbourne|Australia/Victoria","Australia/Perth|Australia/West","Australia/Sydney|Australia/ACT","Australia/Sydney|Australia/Canberra","Australia/Sydney|Australia/NSW","Etc/GMT-0|Etc/GMT","Etc/GMT-0|Etc/GMT+0","Etc/GMT-0|Etc/GMT0","Etc/GMT-0|Etc/Greenwich","Etc/GMT-0|GMT","Etc/GMT-0|GMT+0","Etc/GMT-0|GMT-0","Etc/GMT-0|GMT0","Etc/GMT-0|Greenwich","Etc/UCT|UCT","Etc/UTC|Etc/Universal","Etc/UTC|Etc/Zulu","Etc/UTC|UTC","Etc/UTC|Universal","Etc/UTC|Zulu","Europe/Belgrade|Europe/Ljubljana","Europe/Belgrade|Europe/Podgorica","Europe/Belgrade|Europe/Sarajevo","Europe/Belgrade|Europe/Skopje","Europe/Belgrade|Europe/Zagreb","Europe/Chisinau|Europe/Tiraspol","Europe/Dublin|Eire","Europe/Helsinki|Europe/Mariehamn","Europe/Istanbul|Asia/Istanbul","Europe/Istanbul|Turkey","Europe/Lisbon|Portugal","Europe/London|Europe/Belfast","Europe/London|Europe/Guernsey","Europe/London|Europe/Isle_of_Man","Europe/London|Europe/Jersey","Europe/London|GB","Europe/London|GB-Eire","Europe/Moscow|W-SU","Europe/Oslo|Arctic/Longyearbyen","Europe/Oslo|Atlantic/Jan_Mayen","Europe/Prague|Europe/Bratislava","Europe/Rome|Europe/San_Marino","Europe/Rome|Europe/Vatican","Europe/Warsaw|Poland","Europe/Zurich|Europe/Busingen","Europe/Zurich|Europe/Vaduz","Indian/Christmas|Etc/GMT-7","Pacific/Auckland|Antarctica/McMurdo","Pacific/Auckland|Antarctica/South_Pole","Pacific/Auckland|NZ","Pacific/Chatham|NZ-CHAT","Pacific/Easter|Chile/EasterIsland","Pacific/Guam|Pacific/Saipan","Pacific/Honolulu|Pacific/Johnston","Pacific/Honolulu|US/Hawaii","Pacific/Kwajalein|Kwajalein","Pacific/Pago_Pago|Pacific/Midway","Pacific/Pago_Pago|Pacific/Samoa","Pacific/Pago_Pago|US/Samoa","Pacific/Palau|Etc/GMT-9","Pacific/Pohnpei|Etc/GMT-11","Pacific/Pohnpei|Pacific/Ponape","Pacific/Port_Moresby|Etc/GMT-10","Pacific/Port_Moresby|Pacific/Chuuk","Pacific/Port_Moresby|Pacific/Truk","Pacific/Port_Moresby|Pacific/Yap","Pacific/Tarawa|Etc/GMT-12","Pacific/Tarawa|Pacific/Funafuti","Pacific/Tarawa|Pacific/Wake","Pacific/Tarawa|Pacific/Wallis"]}; /***/ }), -/* 138 */ +/* 144 */ /***/ (function(module, exports, __webpack_require__) { var map = { - "./af": 131, - "./af.js": 131, - "./ar": 130, - "./ar-dz": 129, - "./ar-dz.js": 129, - "./ar-kw": 128, - "./ar-kw.js": 128, - "./ar-ly": 127, - "./ar-ly.js": 127, - "./ar-ma": 126, - "./ar-ma.js": 126, - "./ar-sa": 125, - "./ar-sa.js": 125, - "./ar-tn": 124, - "./ar-tn.js": 124, - "./ar.js": 130, - "./az": 123, - "./az.js": 123, - "./be": 122, - "./be.js": 122, - "./bg": 121, - "./bg.js": 121, - "./bm": 120, - "./bm.js": 120, - "./bn": 119, - "./bn.js": 119, - "./bo": 118, - "./bo.js": 118, - "./br": 117, - "./br.js": 117, - "./bs": 116, - "./bs.js": 116, - "./ca": 115, - "./ca.js": 115, - "./cs": 114, - "./cs.js": 114, - "./cv": 113, - "./cv.js": 113, - "./cy": 112, - "./cy.js": 112, - "./da": 111, - "./da.js": 111, - "./de": 110, - "./de-at": 109, - "./de-at.js": 109, - "./de-ch": 108, - "./de-ch.js": 108, - "./de.js": 110, - "./dv": 107, - "./dv.js": 107, - "./el": 106, - "./el.js": 106, - "./en-au": 105, - "./en-au.js": 105, - "./en-ca": 104, - "./en-ca.js": 104, - "./en-gb": 103, - "./en-gb.js": 103, - "./en-ie": 102, - "./en-ie.js": 102, - "./en-il": 101, - "./en-il.js": 101, - "./en-nz": 100, - "./en-nz.js": 100, - "./eo": 99, - "./eo.js": 99, - "./es": 98, - "./es-do": 97, - "./es-do.js": 97, - "./es-us": 96, - "./es-us.js": 96, - "./es.js": 98, - "./et": 95, - "./et.js": 95, - "./eu": 94, - "./eu.js": 94, - "./fa": 93, - "./fa.js": 93, - "./fi": 92, - "./fi.js": 92, - "./fo": 91, - "./fo.js": 91, - "./fr": 90, - "./fr-ca": 89, - "./fr-ca.js": 89, - "./fr-ch": 88, - "./fr-ch.js": 88, - "./fr.js": 90, - "./fy": 87, - "./fy.js": 87, - "./gd": 86, - "./gd.js": 86, - "./gl": 85, - "./gl.js": 85, - "./gom-latn": 84, - "./gom-latn.js": 84, - "./gu": 83, - "./gu.js": 83, - "./he": 82, - "./he.js": 82, - "./hi": 81, - "./hi.js": 81, - "./hr": 80, - "./hr.js": 80, - "./hu": 79, - "./hu.js": 79, - "./hy-am": 78, - "./hy-am.js": 78, - "./id": 77, - "./id.js": 77, - "./is": 76, - "./is.js": 76, - "./it": 75, - "./it.js": 75, - "./ja": 74, - "./ja.js": 74, - "./jv": 73, - "./jv.js": 73, - "./ka": 72, - "./ka.js": 72, - "./kk": 71, - "./kk.js": 71, - "./km": 70, - "./km.js": 70, - "./kn": 69, - "./kn.js": 69, - "./ko": 68, - "./ko.js": 68, - "./ky": 67, - "./ky.js": 67, - "./lb": 66, - "./lb.js": 66, - "./lo": 65, - "./lo.js": 65, - "./lt": 64, - "./lt.js": 64, - "./lv": 63, - "./lv.js": 63, - "./me": 62, - "./me.js": 62, - "./mi": 61, - "./mi.js": 61, - "./mk": 60, - "./mk.js": 60, - "./ml": 59, - "./ml.js": 59, - "./mn": 58, - "./mn.js": 58, - "./mr": 57, - "./mr.js": 57, - "./ms": 56, - "./ms-my": 55, - "./ms-my.js": 55, - "./ms.js": 56, - "./mt": 54, - "./mt.js": 54, - "./my": 53, - "./my.js": 53, - "./nb": 52, - "./nb.js": 52, - "./ne": 51, - "./ne.js": 51, - "./nl": 50, - "./nl-be": 49, - "./nl-be.js": 49, - "./nl.js": 50, - "./nn": 48, - "./nn.js": 48, - "./pa-in": 47, - "./pa-in.js": 47, - "./pl": 46, - "./pl.js": 46, - "./pt": 45, - "./pt-br": 44, - "./pt-br.js": 44, - "./pt.js": 45, - "./ro": 43, - "./ro.js": 43, - "./ru": 42, - "./ru.js": 42, - "./sd": 41, - "./sd.js": 41, - "./se": 40, - "./se.js": 40, - "./si": 39, - "./si.js": 39, - "./sk": 38, - "./sk.js": 38, - "./sl": 37, - "./sl.js": 37, - "./sq": 36, - "./sq.js": 36, - "./sr": 35, - "./sr-cyrl": 34, - "./sr-cyrl.js": 34, - "./sr.js": 35, - "./ss": 33, - "./ss.js": 33, - "./sv": 32, - "./sv.js": 32, - "./sw": 31, - "./sw.js": 31, - "./ta": 30, - "./ta.js": 30, - "./te": 29, - "./te.js": 29, - "./tet": 28, - "./tet.js": 28, - "./tg": 27, - "./tg.js": 27, - "./th": 26, - "./th.js": 26, - "./tl-ph": 25, - "./tl-ph.js": 25, - "./tlh": 24, - "./tlh.js": 24, - "./tr": 23, - "./tr.js": 23, - "./tzl": 22, - "./tzl.js": 22, - "./tzm": 21, - "./tzm-latn": 20, - "./tzm-latn.js": 20, - "./tzm.js": 21, - "./ug-cn": 19, - "./ug-cn.js": 19, - "./uk": 18, - "./uk.js": 18, - "./ur": 17, - "./ur.js": 17, - "./uz": 16, - "./uz-latn": 15, - "./uz-latn.js": 15, - "./uz.js": 16, - "./vi": 14, - "./vi.js": 14, - "./x-pseudo": 13, - "./x-pseudo.js": 13, - "./yo": 12, - "./yo.js": 12, - "./zh-cn": 11, - "./zh-cn.js": 11, - "./zh-hk": 10, - "./zh-hk.js": 10, - "./zh-tw": 9, - "./zh-tw.js": 9 + "./af": 133, + "./af.js": 133, + "./ar": 132, + "./ar-dz": 131, + "./ar-dz.js": 131, + "./ar-kw": 130, + "./ar-kw.js": 130, + "./ar-ly": 129, + "./ar-ly.js": 129, + "./ar-ma": 128, + "./ar-ma.js": 128, + "./ar-sa": 127, + "./ar-sa.js": 127, + "./ar-tn": 126, + "./ar-tn.js": 126, + "./ar.js": 132, + "./az": 125, + "./az.js": 125, + "./be": 124, + "./be.js": 124, + "./bg": 123, + "./bg.js": 123, + "./bm": 122, + "./bm.js": 122, + "./bn": 121, + "./bn.js": 121, + "./bo": 120, + "./bo.js": 120, + "./br": 119, + "./br.js": 119, + "./bs": 118, + "./bs.js": 118, + "./ca": 117, + "./ca.js": 117, + "./cs": 116, + "./cs.js": 116, + "./cv": 115, + "./cv.js": 115, + "./cy": 114, + "./cy.js": 114, + "./da": 113, + "./da.js": 113, + "./de": 112, + "./de-at": 111, + "./de-at.js": 111, + "./de-ch": 110, + "./de-ch.js": 110, + "./de.js": 112, + "./dv": 109, + "./dv.js": 109, + "./el": 108, + "./el.js": 108, + "./en-au": 107, + "./en-au.js": 107, + "./en-ca": 106, + "./en-ca.js": 106, + "./en-gb": 105, + "./en-gb.js": 105, + "./en-ie": 104, + "./en-ie.js": 104, + "./en-il": 103, + "./en-il.js": 103, + "./en-nz": 102, + "./en-nz.js": 102, + "./eo": 101, + "./eo.js": 101, + "./es": 100, + "./es-do": 99, + "./es-do.js": 99, + "./es-us": 98, + "./es-us.js": 98, + "./es.js": 100, + "./et": 97, + "./et.js": 97, + "./eu": 96, + "./eu.js": 96, + "./fa": 95, + "./fa.js": 95, + "./fi": 94, + "./fi.js": 94, + "./fo": 93, + "./fo.js": 93, + "./fr": 92, + "./fr-ca": 91, + "./fr-ca.js": 91, + "./fr-ch": 90, + "./fr-ch.js": 90, + "./fr.js": 92, + "./fy": 89, + "./fy.js": 89, + "./gd": 88, + "./gd.js": 88, + "./gl": 87, + "./gl.js": 87, + "./gom-latn": 86, + "./gom-latn.js": 86, + "./gu": 85, + "./gu.js": 85, + "./he": 84, + "./he.js": 84, + "./hi": 83, + "./hi.js": 83, + "./hr": 82, + "./hr.js": 82, + "./hu": 81, + "./hu.js": 81, + "./hy-am": 80, + "./hy-am.js": 80, + "./id": 79, + "./id.js": 79, + "./is": 78, + "./is.js": 78, + "./it": 77, + "./it.js": 77, + "./ja": 76, + "./ja.js": 76, + "./jv": 75, + "./jv.js": 75, + "./ka": 74, + "./ka.js": 74, + "./kk": 73, + "./kk.js": 73, + "./km": 72, + "./km.js": 72, + "./kn": 71, + "./kn.js": 71, + "./ko": 70, + "./ko.js": 70, + "./ky": 69, + "./ky.js": 69, + "./lb": 68, + "./lb.js": 68, + "./lo": 67, + "./lo.js": 67, + "./lt": 66, + "./lt.js": 66, + "./lv": 65, + "./lv.js": 65, + "./me": 64, + "./me.js": 64, + "./mi": 63, + "./mi.js": 63, + "./mk": 62, + "./mk.js": 62, + "./ml": 61, + "./ml.js": 61, + "./mn": 60, + "./mn.js": 60, + "./mr": 59, + "./mr.js": 59, + "./ms": 58, + "./ms-my": 57, + "./ms-my.js": 57, + "./ms.js": 58, + "./mt": 56, + "./mt.js": 56, + "./my": 55, + "./my.js": 55, + "./nb": 54, + "./nb.js": 54, + "./ne": 53, + "./ne.js": 53, + "./nl": 52, + "./nl-be": 51, + "./nl-be.js": 51, + "./nl.js": 52, + "./nn": 50, + "./nn.js": 50, + "./pa-in": 49, + "./pa-in.js": 49, + "./pl": 48, + "./pl.js": 48, + "./pt": 47, + "./pt-br": 46, + "./pt-br.js": 46, + "./pt.js": 47, + "./ro": 45, + "./ro.js": 45, + "./ru": 44, + "./ru.js": 44, + "./sd": 43, + "./sd.js": 43, + "./se": 42, + "./se.js": 42, + "./si": 41, + "./si.js": 41, + "./sk": 40, + "./sk.js": 40, + "./sl": 39, + "./sl.js": 39, + "./sq": 38, + "./sq.js": 38, + "./sr": 37, + "./sr-cyrl": 36, + "./sr-cyrl.js": 36, + "./sr.js": 37, + "./ss": 35, + "./ss.js": 35, + "./sv": 34, + "./sv.js": 34, + "./sw": 33, + "./sw.js": 33, + "./ta": 32, + "./ta.js": 32, + "./te": 31, + "./te.js": 31, + "./tet": 30, + "./tet.js": 30, + "./tg": 29, + "./tg.js": 29, + "./th": 28, + "./th.js": 28, + "./tl-ph": 27, + "./tl-ph.js": 27, + "./tlh": 26, + "./tlh.js": 26, + "./tr": 25, + "./tr.js": 25, + "./tzl": 24, + "./tzl.js": 24, + "./tzm": 23, + "./tzm-latn": 22, + "./tzm-latn.js": 22, + "./tzm.js": 23, + "./ug-cn": 21, + "./ug-cn.js": 21, + "./uk": 20, + "./uk.js": 20, + "./ur": 19, + "./ur.js": 19, + "./uz": 18, + "./uz-latn": 17, + "./uz-latn.js": 17, + "./uz.js": 18, + "./vi": 16, + "./vi.js": 16, + "./x-pseudo": 15, + "./x-pseudo.js": 15, + "./yo": 14, + "./yo.js": 14, + "./zh-cn": 13, + "./zh-cn.js": 13, + "./zh-hk": 12, + "./zh-hk.js": 12, + "./zh-tw": 11, + "./zh-tw.js": 11 }; @@ -47683,10 +48869,10 @@ webpackContext.keys = function webpackContextKeys() { }; webpackContext.resolve = webpackContextResolve; module.exports = webpackContext; -webpackContext.id = 138; +webpackContext.id = 144; /***/ }), -/* 139 */ +/* 145 */ /***/ (function(module, exports) { module.exports = function(module) { @@ -47714,7 +48900,7 @@ module.exports = function(module) { /***/ }), -/* 140 */ +/* 146 */ /***/ (function(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;//! moment-timezone.js @@ -48117,7 +49303,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ } function getZone (name, caller) { - + name = normalizeName(name); var zone = zones[name]; @@ -48334,15 +49520,15 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ /***/ }), -/* 141 */ +/* 147 */ /***/ (function(module, exports, __webpack_require__) { -var moment = module.exports = __webpack_require__(140); -moment.tz.load(__webpack_require__(137)); +var moment = module.exports = __webpack_require__(146); +moment.tz.load(__webpack_require__(143)); /***/ }), -/* 142 */ +/* 148 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -48356,15 +49542,15 @@ var _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = [ var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; -var _momentTimezone = __webpack_require__(141); +var _momentTimezone = __webpack_require__(147); var _momentTimezone2 = _interopRequireDefault(_momentTimezone); var _each = __webpack_require__(1); -var _stripHtmlTags = __webpack_require__(6); +var _stripHtmlTags = __webpack_require__(8); -var _escapeHtml = __webpack_require__(2); +var _escapeHtml = __webpack_require__(4); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } @@ -48647,87 +49833,7 @@ var destroy = function destroy() {}; exports.default = { render: render, update: update, destroy: destroy }; /***/ }), -/* 143 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.prettyNumber = prettyNumber; -function prettyNumber(input) { - // If it has 3 or fewer sig figs already, just return the number. - var input = Number(input), - sciNo = input.toPrecision(3), - prefix = '', - suffixes = ['', 'k', 'M', 'B', 'T']; - - if (Number(sciNo) == input && String(input).length <= 4) { - return String(input); - } - - if (Math.abs(input) >= 1000000000000000) { - return sciNo; - } - - if (input >= 1 || input <= -1) { - if (input < 0) { - //Pull off the negative side and stash that. - input = -input; - prefix = '-'; - } - return prefix + recurse(input, 0); - } else { - return input.toPrecision(3); - } - - function recurse(input, iteration) { - var input = String(input); - var split = input.split('.'); - // If there's a dot - if (split.length > 1) { - // Keep the left hand side only - input = split[0]; - var rhs = split[1]; - // If the left-hand side is too short, pad until it has 3 digits - if (input.length == 2 && rhs.length > 0) { - // Pad with right-hand side if possible - if (rhs.length > 0) { - input = input + '.' + rhs.charAt(0); - } - // Pad with zeroes if you must - else { - input += '0'; - } - } else if (input.length == 1 && rhs.length > 0) { - input = input + '.' + rhs.charAt(0); - // Pad with right-hand side if possible - if (rhs.length > 1) { - input += rhs.charAt(1); - } - // Pad with zeroes if you must - else { - input += '0'; - } - } - } - var numNumerals = input.length; - // if it has a period, then numNumerals is 1 smaller than the string length: - if (input.split('.').length > 1) { - numNumerals--; - } - if (numNumerals <= 3) { - return String(input) + suffixes[iteration]; - } else { - return recurse(Number(input) / 1000, iteration + 1); - } - } -} - -/***/ }), -/* 144 */ +/* 149 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -48737,9 +49843,9 @@ Object.defineProperty(exports, "__esModule", { value: true }); -var _prettyNumber = __webpack_require__(143); +var _prettyNumber = __webpack_require__(3); -var _escapeHtml = __webpack_require__(2); +var _escapeHtml = __webpack_require__(4); exports.default = { render: function render() { @@ -48815,7 +49921,7 @@ exports.default = { }; /***/ }), -/* 145 */ +/* 150 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -48825,7 +49931,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); -var _escapeHtml = __webpack_require__(2); +var _escapeHtml = __webpack_require__(4); exports.default = { render: function render(text) { @@ -48871,7 +49977,7 @@ exports.default = { }; /***/ }), -/* 146 */ +/* 151 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -48915,10 +50021,10 @@ exports.default = function (d, defaultTitleFormat, defaultValueFormat, color) { return text + ""; }; -var _escapeHtml = __webpack_require__(2); +var _escapeHtml = __webpack_require__(4); /***/ }), -/* 147 */ +/* 152 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -49129,11 +50235,11 @@ exports.default = function (options) { } }; -var _d = __webpack_require__(4); +var _d = __webpack_require__(2); var d3 = _interopRequireWildcard(_d); -var _assertDateString = __webpack_require__(5); +var _assertDateString = __webpack_require__(7); var _assertDateString2 = _interopRequireDefault(_assertDateString); @@ -49142,7 +50248,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } /***/ }), -/* 148 */ +/* 153 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -49181,7 +50287,7 @@ exports.default = function (startDate, endDate) { }; /***/ }), -/* 149 */ +/* 154 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -49251,48 +50357,64 @@ exports.default = function (lib) { return defineC3(); }; -var _c = __webpack_require__(133); +var _c = __webpack_require__(135); var _c2 = _interopRequireDefault(_c); var _each = __webpack_require__(1); -var _extend = __webpack_require__(3); +var _extend = __webpack_require__(6); -var _extendDeep = __webpack_require__(132); +var _extendDeep = __webpack_require__(134); -var _assertDateString = __webpack_require__(5); +var _assertDateString = __webpack_require__(7); var _assertDateString2 = _interopRequireDefault(_assertDateString); -var _defaultDateFormat = __webpack_require__(148); +var _defaultDateFormat = __webpack_require__(153); var _defaultDateFormat2 = _interopRequireDefault(_defaultDateFormat); -var _paginatingLegend = __webpack_require__(147); +var _paginatingLegend = __webpack_require__(152); var _paginatingLegend2 = _interopRequireDefault(_paginatingLegend); -var _tooltipContents = __webpack_require__(146); +var _tooltipContents = __webpack_require__(151); var _tooltipContents2 = _interopRequireDefault(_tooltipContents); -var _message = __webpack_require__(145); +var _message = __webpack_require__(150); var _message2 = _interopRequireDefault(_message); -var _metric = __webpack_require__(144); +var _metric = __webpack_require__(149); var _metric2 = _interopRequireDefault(_metric); -var _table = __webpack_require__(142); +var _table = __webpack_require__(148); var _table2 = _interopRequireDefault(_table); -var _spinner = __webpack_require__(136); +var _spinner = __webpack_require__(142); var _spinner2 = _interopRequireDefault(_spinner); +var _funnel = __webpack_require__(141); + +var _funnel2 = _interopRequireDefault(_funnel); + +var _funnel3d = __webpack_require__(140); + +var _funnel3d2 = _interopRequireDefault(_funnel3d); + +var _horizontalFunnel = __webpack_require__(139); + +var _horizontalFunnel2 = _interopRequireDefault(_horizontalFunnel); + +var _horizontalFunnel3d = __webpack_require__(138); + +var _horizontalFunnel3d2 = _interopRequireDefault(_horizontalFunnel3d); + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } } @@ -49304,7 +50426,11 @@ function defineC3() { message: _message2.default, metric: _metric2.default, table: _table2.default, - spinner: _spinner2.default + spinner: _spinner2.default, + 'funnel': new _funnel2.default(), + 'funnel-3d': new _funnel3d2.default(), + 'horizontal-funnel': new _horizontalFunnel2.default(), + 'horizontal-funnel-3d': new _horizontalFunnel3d2.default() }; var c3Types = [ @@ -49586,7 +50712,7 @@ function bindResizeListener(fn) { } /***/ }), -/* 150 */ +/* 155 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -49606,13 +50732,13 @@ exports.default = function (data) { } }; -var _dataset = __webpack_require__(135); +var _dataset = __webpack_require__(137); var _dataset2 = _interopRequireDefault(_dataset); -var _extend = __webpack_require__(3); +var _extend = __webpack_require__(6); -var _stripHtmlTags = __webpack_require__(6); +var _stripHtmlTags = __webpack_require__(8); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } @@ -49821,13 +50947,13 @@ function getDefaultType(parser) { } /***/ }), -/* 151 */ +/* 156 */ /***/ (function(module) { -module.exports = {"name":"keen-dataviz","description":"Data Visualization SDK for Keen IO","license":"MIT","version":"3.2.4","main":"dist/external_d3_c3/node/keen-dataviz.js","browser":"dist/external_d3_c3/keen-dataviz.js","style":"dist/keen-dataviz.css","scripts":{"start":"concurrently --kill-others \"NODE_ENV=development webpack-dev-server\" \"npm run postcss-watch\"","postcss-watch":"node_modules/postcss-cli/bin/postcss lib/style/keen-dataviz-c3.css -o test/demo/keen-dataviz.css --watch --config postcss.config.js","build":"NODE_ENV=production webpack -p && npm run build:css && NODE_ENV=production OPTIMIZE_MINIMIZE=1 webpack -p && npm run build:css && npm run build:css:min && npm run build:external_d3_c3 && npm run build:external_d3_c3:css && npm run build:external_d3_c3:css:min && npm run build:node","build:css":"node_modules/postcss-cli/bin/postcss lib/style/keen-dataviz-c3.css -o dist/keen-dataviz.css --config postcss.config.js","build:css:min":"OPTIMIZE_MINIMIZE=1 node_modules/postcss-cli/bin/postcss lib/style/keen-dataviz-c3.css -o dist/keen-dataviz.min.css --config postcss.config.js","build:external_d3_c3:css":"node_modules/postcss-cli/bin/postcss lib/style/keen-dataviz.css -o dist/external_d3_c3/keen-dataviz.css --config postcss.config.js","build:external_d3_c3:css:min":"OPTIMIZE_MINIMIZE=1 node_modules/postcss-cli/bin/postcss lib/style/keen-dataviz.css -o dist/external_d3_c3/keen-dataviz.min.css --config postcss.config.js","build:external_d3_c3":"NODE_ENV=production EXTERNAL_D3_C3=1 webpack -p && NODE_ENV=production EXTERNAL_D3_C3=1 OPTIMIZE_MINIMIZE=1 webpack -p","build:node":"TARGET=node NODE_ENV=production EXTERNAL_D3_C3=1 webpack -p","profile":"webpack --profile --json > stats.json","analyze":"webpack-bundle-analyzer stats.json /dist","version":"npm run build && git add .","postversion":"git push && git push --tags","test":"NODE_ENV=test jest","test:watch":"NODE_ENV=test jest --watch"},"repository":{"type":"git","url":"https://github.com/keen/keen-dataviz.js.git"},"bugs":"https://github.com/keen/keen-dataviz.js/issues","author":"Keen.IO (https://keen.io/)","contributors":["Dustin Larimer (https://github.com/dustinlarimer)","Joanne Cheng (https://github.com/joannecheng)","Eric Anderson (https://github.com/aroc)","Joe Wegner (https://github.com/josephwegner)","Sara Falkoff (https://github.com/adamkasprowicz)"],"homepage":"https://keen.io","keywords":["d3","c3","Analytics","Stats","Statistics","Visualization","Visualizations","Data Visualization","Chart","Charts","Charting","Svg","Dataviz","Plots","Graphs","Funnels"],"dependencies":{"c3":"^0.6.12","d3":"^5.4.0","moment-timezone":"^0.5.21","promise-polyfill":"^8.0.0"},"devDependencies":{"autoprefixer":"^8.2.0","babel-loader":"^7.1.4","babel-plugin-transform-es2015-modules-commonjs":"^6.26.2","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-preset-env":"^1.7.0","concurrently":"^3.5.1","cssnano":"^3.10.0","eslint":"^4.19.1","eslint-config-airbnb":"^16.1.0","eslint-loader":"^2.0.0","eslint-plugin-import":"^2.11.0","eslint-plugin-jsx-a11y":"^6.0.3","eslint-plugin-react":"^7.7.0","html-loader":"^0.5.5","html-webpack-plugin":"^3.2.0","jest":"^22.4.3","jest-environment-jsdom-c3":"^2.0.0","nock":"^9.2.6","postcss":"^6.0.21","postcss-cli":"^5.0.0","postcss-color-function":"^4.0.1","postcss-css-variables":"^0.8.1","postcss-cssnext":"^2.4.0","postcss-import":"^8.0.2","postcss-loader":"^2.1.3","precss":"^3.1.2","regenerator-runtime":"^0.11.1","replace-in-file":"^3.4.0","style-loader":"^0.20.3","webpack":"^4.5.0","webpack-bundle-analyzer":"^2.11.1","webpack-cli":"^2.0.13","webpack-dev-server":"^3.1.1","xhr-mock":"^2.3.2"}}; +module.exports = {"name":"keen-dataviz","description":"Data Visualization SDK for Keen IO","license":"MIT","version":"3.3.0","main":"dist/external_d3_c3/node/keen-dataviz.js","browser":"dist/external_d3_c3/keen-dataviz.js","style":"dist/keen-dataviz.css","scripts":{"start":"concurrently --kill-others \"NODE_ENV=development webpack-dev-server\" \"npm run postcss-watch\"","postcss-watch":"node_modules/postcss-cli/bin/postcss lib/style/keen-dataviz-c3.css -o test/demo/keen-dataviz.css --watch --config postcss.config.js","build":"NODE_ENV=production webpack -p && npm run build:css && NODE_ENV=production OPTIMIZE_MINIMIZE=1 webpack -p && npm run build:css && npm run build:css:min && npm run build:external_d3_c3 && npm run build:external_d3_c3:css && npm run build:external_d3_c3:css:min && npm run build:node","build:css":"node_modules/postcss-cli/bin/postcss lib/style/keen-dataviz-c3.css -o dist/keen-dataviz.css --config postcss.config.js","build:css:min":"OPTIMIZE_MINIMIZE=1 node_modules/postcss-cli/bin/postcss lib/style/keen-dataviz-c3.css -o dist/keen-dataviz.min.css --config postcss.config.js","build:external_d3_c3:css":"node_modules/postcss-cli/bin/postcss lib/style/keen-dataviz.css -o dist/external_d3_c3/keen-dataviz.css --config postcss.config.js","build:external_d3_c3:css:min":"OPTIMIZE_MINIMIZE=1 node_modules/postcss-cli/bin/postcss lib/style/keen-dataviz.css -o dist/external_d3_c3/keen-dataviz.min.css --config postcss.config.js","build:external_d3_c3":"NODE_ENV=production EXTERNAL_D3_C3=1 webpack -p && NODE_ENV=production EXTERNAL_D3_C3=1 OPTIMIZE_MINIMIZE=1 webpack -p","build:node":"TARGET=node NODE_ENV=production EXTERNAL_D3_C3=1 webpack -p","profile":"webpack --profile --json > stats.json","analyze":"webpack-bundle-analyzer stats.json /dist","version":"npm run build && git add .","postversion":"git push && git push --tags","test":"NODE_ENV=test jest","test:watch":"NODE_ENV=test jest --watch"},"repository":{"type":"git","url":"https://github.com/keen/keen-dataviz.js.git"},"bugs":"https://github.com/keen/keen-dataviz.js/issues","author":"Keen.IO (https://keen.io/)","contributors":["Dustin Larimer (https://github.com/dustinlarimer)","Joanne Cheng (https://github.com/joannecheng)","Eric Anderson (https://github.com/aroc)","Joe Wegner (https://github.com/josephwegner)","Sara Falkoff (https://github.com/adamkasprowicz)","Dariusz Łacheta (https://github.com/dariuszlacheta)"],"homepage":"https://keen.io","keywords":["d3","c3","Analytics","Stats","Statistics","Visualization","Visualizations","Data Visualization","Chart","Charts","Charting","Svg","Dataviz","Plots","Graphs","Funnels"],"dependencies":{"c3":"^0.6.12","d3":"^5.4.0","moment-timezone":"^0.5.21","promise-polyfill":"^8.0.0"},"devDependencies":{"autoprefixer":"^8.2.0","babel-loader":"^7.1.4","babel-plugin-transform-es2015-modules-commonjs":"^6.26.2","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-preset-env":"^1.7.0","concurrently":"^3.5.1","cssnano":"^3.10.0","eslint":"^4.19.1","eslint-config-airbnb":"^16.1.0","eslint-loader":"^2.0.0","eslint-plugin-import":"^2.11.0","eslint-plugin-jsx-a11y":"^6.0.3","eslint-plugin-react":"^7.7.0","html-loader":"^0.5.5","html-webpack-plugin":"^3.2.0","jest":"^22.4.3","jest-environment-jsdom-c3":"^2.0.0","nock":"^9.2.6","postcss":"^6.0.21","postcss-cli":"^5.0.0","postcss-color-function":"^4.0.1","postcss-css-variables":"^0.8.1","postcss-cssnext":"^2.4.0","postcss-import":"^8.0.2","postcss-loader":"^2.1.3","precss":"^3.1.2","regenerator-runtime":"^0.11.1","replace-in-file":"^3.4.0","style-loader":"^0.20.3","webpack":"^4.5.0","webpack-bundle-analyzer":"^2.11.1","webpack-cli":"^2.0.13","webpack-dev-server":"^3.1.1","xhr-mock":"^2.3.2"}}; /***/ }), -/* 152 */ +/* 157 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -49842,7 +50968,7 @@ function valueAtDeepKey(obj, is, value) { } /***/ }), -/* 153 */ +/* 158 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -49876,7 +51002,7 @@ function flatten(ob) { }; /***/ }), -/* 154 */ +/* 159 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -49889,9 +51015,9 @@ exports.default = initialize; var _each = __webpack_require__(1); -var _flatten = __webpack_require__(153); +var _flatten = __webpack_require__(158); -var _object = __webpack_require__(152); +var _object = __webpack_require__(157); var Dataset = void 0; /* injected */ @@ -50053,7 +51179,7 @@ function parseExtraction() { var names = Object.keys((0, _flatten.flatten)(res.result[0])); if (Dataset) { - if (config.table && config.table.columns) { + if (config && config.table && config.table.columns) { names = config.table.columns; } } @@ -50085,7 +51211,7 @@ var parsers = { }; /***/ }), -/* 155 */ +/* 160 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -50099,11 +51225,11 @@ exports.updateRow = updateRow; var _each = __webpack_require__(1); -var _createNullList = __webpack_require__(7); +var _createNullList = __webpack_require__(9); var _createNullList2 = _interopRequireDefault(_createNullList); -var _append = __webpack_require__(8); +var _append = __webpack_require__(10); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } @@ -50184,7 +51310,7 @@ function updateRow(q, input) { } /***/ }), -/* 156 */ +/* 161 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -50198,7 +51324,7 @@ exports.sortRows = sortRows; var _each = __webpack_require__(1); -var _analyses = __webpack_require__(134); +var _analyses = __webpack_require__(136); var _analyses2 = _interopRequireDefault(_analyses); @@ -50254,7 +51380,7 @@ function sortRows(str, comp) { } /***/ }), -/* 157 */ +/* 162 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -50291,7 +51417,7 @@ function selectRow(q) { } /***/ }), -/* 158 */ +/* 163 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -50305,11 +51431,11 @@ exports.insertRow = insertRow; var _each = __webpack_require__(1); -var _createNullList = __webpack_require__(7); +var _createNullList = __webpack_require__(9); var _createNullList2 = _interopRequireDefault(_createNullList); -var _append = __webpack_require__(8); +var _append = __webpack_require__(10); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } @@ -50393,7 +51519,7 @@ function insertRow(index, str, input) { } /***/ }), -/* 159 */ +/* 164 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -50443,7 +51569,7 @@ function filterRows(fn) { } /***/ }), -/* 160 */ +/* 165 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -50479,7 +51605,7 @@ function deleteRow(q) { } /***/ }), -/* 161 */ +/* 166 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -50494,7 +51620,7 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; -var _dataset = __webpack_require__(135); +var _dataset = __webpack_require__(137); Object.defineProperty(exports, 'Dataset', { enumerable: true, @@ -50503,37 +51629,37 @@ Object.defineProperty(exports, 'Dataset', { } }); -var _d = __webpack_require__(4); +var _d = __webpack_require__(2); var d3 = _interopRequireWildcard(_d); -var _c = __webpack_require__(133); +var _c = __webpack_require__(135); var _c2 = _interopRequireDefault(_c); -var _package = __webpack_require__(151); +var _package = __webpack_require__(156); var _package2 = _interopRequireDefault(_package); -var _data = __webpack_require__(150); +var _data = __webpack_require__(155); var _data2 = _interopRequireDefault(_data); var _each = __webpack_require__(1); -var _assertDateString = __webpack_require__(5); +var _assertDateString = __webpack_require__(7); var _assertDateString2 = _interopRequireDefault(_assertDateString); -var _stripHtmlTags = __webpack_require__(6); +var _stripHtmlTags = __webpack_require__(8); -var _escapeHtml = __webpack_require__(2); +var _escapeHtml = __webpack_require__(4); -var _libraries = __webpack_require__(149); +var _libraries = __webpack_require__(154); var _libraries2 = _interopRequireDefault(_libraries); -var _extendDeep = __webpack_require__(132); +var _extendDeep = __webpack_require__(134); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } @@ -50653,7 +51779,18 @@ var Dataviz = exports.Dataviz = function Dataviz() { }), _defineProperty(_defaultOptions, 'partialIntervalIndicator', { show: undefined, className: 'partial-interval-indicator' - }), _defineProperty(_defaultOptions, 'timezone', 'UTC'), _defineProperty(_defaultOptions, 'table', {}), _defineProperty(_defaultOptions, 'renderOnVisible', false), _defaultOptions); + }), _defineProperty(_defaultOptions, 'timezone', 'UTC'), _defineProperty(_defaultOptions, 'table', {}), _defineProperty(_defaultOptions, 'renderOnVisible', false), _defineProperty(_defaultOptions, 'funnel', { + lines: true, + resultValues: true, + percents: { + show: false, + countingMethod: 'absolute', + decimals: 0 + }, + marginBetweenElements: false, + hover: true, + effect3d: 'both-sides' + }), _defaultOptions); this.config = _extends({}, (0, _extendDeep.extendDeep)(defaultOptions, options)); @@ -51373,7 +52510,7 @@ function domReady(fn) { exports.default = Dataviz; /***/ }), -/* 162 */ +/* 167 */ /***/ (function(module, exports) { var g; @@ -51399,7 +52536,7 @@ module.exports = g; /***/ }), -/* 163 */ +/* 168 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -51410,7 +52547,7 @@ Object.defineProperty(exports, "__esModule", { }); exports.Dataset = exports.Dataviz = exports.keenGlobals = exports.extendKeenGlobalObject = undefined; -var _index = __webpack_require__(161); +var _index = __webpack_require__(166); Object.defineProperty(exports, 'Dataviz', { enumerable: true, @@ -51448,9 +52585,9 @@ if (typeof webpackKeenGlobals !== 'undefined') { } exports.default = _index.Dataviz; -/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(162))) +/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(167))) /***/ }) /******/ ]); }); -//# sourceMappingURL=keen-dataviz.js.map +//# sourceMappingURL=keen-dataviz.js.map \ No newline at end of file diff --git a/dist/keen-dataviz.js.map b/dist/keen-dataviz.js.map index 73f033d..825967f 100644 --- a/dist/keen-dataviz.js.map +++ b/dist/keen-dataviz.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap","webpack:///./node_modules/moment/moment.js","webpack:///./lib/utils/each.js","webpack:///./lib/utils/escape-html.js","webpack:///./lib/utils/extend.js","webpack:///./node_modules/d3/dist/package.js","webpack:///./node_modules/d3-array/src/ascending.js","webpack:///./node_modules/d3-array/src/bisector.js","webpack:///./node_modules/d3-array/src/bisect.js","webpack:///./node_modules/d3-array/src/pairs.js","webpack:///./node_modules/d3-array/src/cross.js","webpack:///./node_modules/d3-array/src/descending.js","webpack:///./node_modules/d3-array/src/number.js","webpack:///./node_modules/d3-array/src/variance.js","webpack:///./node_modules/d3-array/src/deviation.js","webpack:///./node_modules/d3-array/src/extent.js","webpack:///./node_modules/d3-array/src/array.js","webpack:///./node_modules/d3-array/src/constant.js","webpack:///./node_modules/d3-array/src/identity.js","webpack:///./node_modules/d3-array/src/range.js","webpack:///./node_modules/d3-array/src/ticks.js","webpack:///./node_modules/d3-array/src/threshold/sturges.js","webpack:///./node_modules/d3-array/src/histogram.js","webpack:///./node_modules/d3-array/src/quantile.js","webpack:///./node_modules/d3-array/src/threshold/freedmanDiaconis.js","webpack:///./node_modules/d3-array/src/threshold/scott.js","webpack:///./node_modules/d3-array/src/max.js","webpack:///./node_modules/d3-array/src/mean.js","webpack:///./node_modules/d3-array/src/median.js","webpack:///./node_modules/d3-array/src/merge.js","webpack:///./node_modules/d3-array/src/min.js","webpack:///./node_modules/d3-array/src/permute.js","webpack:///./node_modules/d3-array/src/scan.js","webpack:///./node_modules/d3-array/src/shuffle.js","webpack:///./node_modules/d3-array/src/sum.js","webpack:///./node_modules/d3-array/src/transpose.js","webpack:///./node_modules/d3-array/src/zip.js","webpack:///./node_modules/d3-array/index.js","webpack:///./node_modules/d3-axis/src/array.js","webpack:///./node_modules/d3-axis/src/identity.js","webpack:///./node_modules/d3-axis/src/axis.js","webpack:///./node_modules/d3-axis/index.js","webpack:///./node_modules/d3-dispatch/src/dispatch.js","webpack:///./node_modules/d3-dispatch/index.js","webpack:///./node_modules/d3-selection/src/namespaces.js","webpack:///./node_modules/d3-selection/src/namespace.js","webpack:///./node_modules/d3-selection/src/creator.js","webpack:///./node_modules/d3-selection/src/selector.js","webpack:///./node_modules/d3-selection/src/selection/select.js","webpack:///./node_modules/d3-selection/src/selectorAll.js","webpack:///./node_modules/d3-selection/src/selection/selectAll.js","webpack:///./node_modules/d3-selection/src/matcher.js","webpack:///./node_modules/d3-selection/src/selection/filter.js","webpack:///./node_modules/d3-selection/src/selection/sparse.js","webpack:///./node_modules/d3-selection/src/selection/enter.js","webpack:///./node_modules/d3-selection/src/constant.js","webpack:///./node_modules/d3-selection/src/selection/data.js","webpack:///./node_modules/d3-selection/src/selection/exit.js","webpack:///./node_modules/d3-selection/src/selection/merge.js","webpack:///./node_modules/d3-selection/src/selection/order.js","webpack:///./node_modules/d3-selection/src/selection/sort.js","webpack:///./node_modules/d3-selection/src/selection/call.js","webpack:///./node_modules/d3-selection/src/selection/nodes.js","webpack:///./node_modules/d3-selection/src/selection/node.js","webpack:///./node_modules/d3-selection/src/selection/size.js","webpack:///./node_modules/d3-selection/src/selection/empty.js","webpack:///./node_modules/d3-selection/src/selection/each.js","webpack:///./node_modules/d3-selection/src/selection/attr.js","webpack:///./node_modules/d3-selection/src/window.js","webpack:///./node_modules/d3-selection/src/selection/style.js","webpack:///./node_modules/d3-selection/src/selection/property.js","webpack:///./node_modules/d3-selection/src/selection/classed.js","webpack:///./node_modules/d3-selection/src/selection/text.js","webpack:///./node_modules/d3-selection/src/selection/html.js","webpack:///./node_modules/d3-selection/src/selection/raise.js","webpack:///./node_modules/d3-selection/src/selection/lower.js","webpack:///./node_modules/d3-selection/src/selection/append.js","webpack:///./node_modules/d3-selection/src/selection/insert.js","webpack:///./node_modules/d3-selection/src/selection/remove.js","webpack:///./node_modules/d3-selection/src/selection/clone.js","webpack:///./node_modules/d3-selection/src/selection/datum.js","webpack:///./node_modules/d3-selection/src/selection/on.js","webpack:///./node_modules/d3-selection/src/selection/dispatch.js","webpack:///./node_modules/d3-selection/src/selection/index.js","webpack:///./node_modules/d3-selection/src/select.js","webpack:///./node_modules/d3-selection/src/create.js","webpack:///./node_modules/d3-selection/src/local.js","webpack:///./node_modules/d3-selection/src/sourceEvent.js","webpack:///./node_modules/d3-selection/src/point.js","webpack:///./node_modules/d3-selection/src/mouse.js","webpack:///./node_modules/d3-selection/src/selectAll.js","webpack:///./node_modules/d3-selection/src/touch.js","webpack:///./node_modules/d3-selection/src/touches.js","webpack:///./node_modules/d3-selection/index.js","webpack:///./node_modules/d3-drag/src/noevent.js","webpack:///./node_modules/d3-drag/src/nodrag.js","webpack:///./node_modules/d3-drag/src/constant.js","webpack:///./node_modules/d3-drag/src/event.js","webpack:///./node_modules/d3-drag/src/drag.js","webpack:///./node_modules/d3-drag/index.js","webpack:///./node_modules/d3-color/src/define.js","webpack:///./node_modules/d3-color/src/color.js","webpack:///./node_modules/d3-color/src/math.js","webpack:///./node_modules/d3-color/src/lab.js","webpack:///./node_modules/d3-color/src/cubehelix.js","webpack:///./node_modules/d3-color/index.js","webpack:///./node_modules/d3-interpolate/src/basis.js","webpack:///./node_modules/d3-interpolate/src/basisClosed.js","webpack:///./node_modules/d3-interpolate/src/constant.js","webpack:///./node_modules/d3-interpolate/src/color.js","webpack:///./node_modules/d3-interpolate/src/rgb.js","webpack:///./node_modules/d3-interpolate/src/array.js","webpack:///./node_modules/d3-interpolate/src/date.js","webpack:///./node_modules/d3-interpolate/src/number.js","webpack:///./node_modules/d3-interpolate/src/object.js","webpack:///./node_modules/d3-interpolate/src/string.js","webpack:///./node_modules/d3-interpolate/src/value.js","webpack:///./node_modules/d3-interpolate/src/round.js","webpack:///./node_modules/d3-interpolate/src/transform/decompose.js","webpack:///./node_modules/d3-interpolate/src/transform/parse.js","webpack:///./node_modules/d3-interpolate/src/transform/index.js","webpack:///./node_modules/d3-interpolate/src/zoom.js","webpack:///./node_modules/d3-interpolate/src/hsl.js","webpack:///./node_modules/d3-interpolate/src/lab.js","webpack:///./node_modules/d3-interpolate/src/hcl.js","webpack:///./node_modules/d3-interpolate/src/cubehelix.js","webpack:///./node_modules/d3-interpolate/src/piecewise.js","webpack:///./node_modules/d3-interpolate/src/quantize.js","webpack:///./node_modules/d3-interpolate/index.js","webpack:///./node_modules/d3-timer/src/timer.js","webpack:///./node_modules/d3-timer/src/timeout.js","webpack:///./node_modules/d3-timer/src/interval.js","webpack:///./node_modules/d3-timer/index.js","webpack:///./node_modules/d3-transition/src/transition/schedule.js","webpack:///./node_modules/d3-transition/src/interrupt.js","webpack:///./node_modules/d3-transition/src/selection/interrupt.js","webpack:///./node_modules/d3-transition/src/transition/tween.js","webpack:///./node_modules/d3-transition/src/transition/interpolate.js","webpack:///./node_modules/d3-transition/src/transition/attr.js","webpack:///./node_modules/d3-transition/src/transition/attrTween.js","webpack:///./node_modules/d3-transition/src/transition/delay.js","webpack:///./node_modules/d3-transition/src/transition/duration.js","webpack:///./node_modules/d3-transition/src/transition/ease.js","webpack:///./node_modules/d3-transition/src/transition/filter.js","webpack:///./node_modules/d3-transition/src/transition/merge.js","webpack:///./node_modules/d3-transition/src/transition/on.js","webpack:///./node_modules/d3-transition/src/transition/remove.js","webpack:///./node_modules/d3-transition/src/transition/select.js","webpack:///./node_modules/d3-transition/src/transition/selectAll.js","webpack:///./node_modules/d3-transition/src/transition/selection.js","webpack:///./node_modules/d3-transition/src/transition/style.js","webpack:///./node_modules/d3-transition/src/transition/styleTween.js","webpack:///./node_modules/d3-transition/src/transition/text.js","webpack:///./node_modules/d3-transition/src/transition/transition.js","webpack:///./node_modules/d3-transition/src/transition/index.js","webpack:///./node_modules/d3-ease/src/linear.js","webpack:///./node_modules/d3-ease/src/quad.js","webpack:///./node_modules/d3-ease/src/cubic.js","webpack:///./node_modules/d3-ease/src/poly.js","webpack:///./node_modules/d3-ease/src/sin.js","webpack:///./node_modules/d3-ease/src/exp.js","webpack:///./node_modules/d3-ease/src/circle.js","webpack:///./node_modules/d3-ease/src/bounce.js","webpack:///./node_modules/d3-ease/src/back.js","webpack:///./node_modules/d3-ease/src/elastic.js","webpack:///./node_modules/d3-ease/index.js","webpack:///./node_modules/d3-transition/src/selection/transition.js","webpack:///./node_modules/d3-transition/src/selection/index.js","webpack:///./node_modules/d3-transition/src/active.js","webpack:///./node_modules/d3-transition/index.js","webpack:///./node_modules/d3-brush/src/constant.js","webpack:///./node_modules/d3-brush/src/event.js","webpack:///./node_modules/d3-brush/src/noevent.js","webpack:///./node_modules/d3-brush/src/brush.js","webpack:///./node_modules/d3-brush/index.js","webpack:///./node_modules/d3-chord/src/math.js","webpack:///./node_modules/d3-chord/src/chord.js","webpack:///./node_modules/d3-chord/src/array.js","webpack:///./node_modules/d3-chord/src/constant.js","webpack:///./node_modules/d3-path/src/path.js","webpack:///./node_modules/d3-path/index.js","webpack:///./node_modules/d3-chord/src/ribbon.js","webpack:///./node_modules/d3-chord/index.js","webpack:///./node_modules/d3-collection/src/map.js","webpack:///./node_modules/d3-collection/src/nest.js","webpack:///./node_modules/d3-collection/src/set.js","webpack:///./node_modules/d3-collection/src/keys.js","webpack:///./node_modules/d3-collection/src/values.js","webpack:///./node_modules/d3-collection/src/entries.js","webpack:///./node_modules/d3-collection/index.js","webpack:///./node_modules/d3-contour/src/array.js","webpack:///./node_modules/d3-contour/src/ascending.js","webpack:///./node_modules/d3-contour/src/area.js","webpack:///./node_modules/d3-contour/src/constant.js","webpack:///./node_modules/d3-contour/src/contains.js","webpack:///./node_modules/d3-contour/src/noop.js","webpack:///./node_modules/d3-contour/src/contours.js","webpack:///./node_modules/d3-contour/src/blur.js","webpack:///./node_modules/d3-contour/src/density.js","webpack:///./node_modules/d3-contour/index.js","webpack:///./node_modules/d3-dsv/src/dsv.js","webpack:///./node_modules/d3-dsv/src/csv.js","webpack:///./node_modules/d3-dsv/src/tsv.js","webpack:///./node_modules/d3-dsv/index.js","webpack:///./node_modules/d3-fetch/src/blob.js","webpack:///./node_modules/d3-fetch/src/buffer.js","webpack:///./node_modules/d3-fetch/src/text.js","webpack:///./node_modules/d3-fetch/src/dsv.js","webpack:///./node_modules/d3-fetch/src/image.js","webpack:///./node_modules/d3-fetch/src/json.js","webpack:///./node_modules/d3-fetch/src/xml.js","webpack:///./node_modules/d3-fetch/index.js","webpack:///./node_modules/d3-force/src/center.js","webpack:///./node_modules/d3-force/src/constant.js","webpack:///./node_modules/d3-force/src/jiggle.js","webpack:///./node_modules/d3-quadtree/src/add.js","webpack:///./node_modules/d3-quadtree/src/cover.js","webpack:///./node_modules/d3-quadtree/src/data.js","webpack:///./node_modules/d3-quadtree/src/extent.js","webpack:///./node_modules/d3-quadtree/src/quad.js","webpack:///./node_modules/d3-quadtree/src/find.js","webpack:///./node_modules/d3-quadtree/src/remove.js","webpack:///./node_modules/d3-quadtree/src/root.js","webpack:///./node_modules/d3-quadtree/src/size.js","webpack:///./node_modules/d3-quadtree/src/visit.js","webpack:///./node_modules/d3-quadtree/src/visitAfter.js","webpack:///./node_modules/d3-quadtree/src/x.js","webpack:///./node_modules/d3-quadtree/src/y.js","webpack:///./node_modules/d3-quadtree/src/quadtree.js","webpack:///./node_modules/d3-quadtree/index.js","webpack:///./node_modules/d3-force/src/collide.js","webpack:///./node_modules/d3-force/src/link.js","webpack:///./node_modules/d3-force/src/simulation.js","webpack:///./node_modules/d3-force/src/manyBody.js","webpack:///./node_modules/d3-force/src/radial.js","webpack:///./node_modules/d3-force/src/x.js","webpack:///./node_modules/d3-force/src/y.js","webpack:///./node_modules/d3-force/index.js","webpack:///./node_modules/d3-format/src/formatDecimal.js","webpack:///./node_modules/d3-format/src/exponent.js","webpack:///./node_modules/d3-format/src/formatGroup.js","webpack:///./node_modules/d3-format/src/formatNumerals.js","webpack:///./node_modules/d3-format/src/formatSpecifier.js","webpack:///./node_modules/d3-format/src/formatTrim.js","webpack:///./node_modules/d3-format/src/formatPrefixAuto.js","webpack:///./node_modules/d3-format/src/formatRounded.js","webpack:///./node_modules/d3-format/src/formatTypes.js","webpack:///./node_modules/d3-format/src/identity.js","webpack:///./node_modules/d3-format/src/locale.js","webpack:///./node_modules/d3-format/src/defaultLocale.js","webpack:///./node_modules/d3-format/src/precisionFixed.js","webpack:///./node_modules/d3-format/src/precisionPrefix.js","webpack:///./node_modules/d3-format/src/precisionRound.js","webpack:///./node_modules/d3-format/index.js","webpack:///./node_modules/d3-geo/src/adder.js","webpack:///./node_modules/d3-geo/src/math.js","webpack:///./node_modules/d3-geo/src/noop.js","webpack:///./node_modules/d3-geo/src/stream.js","webpack:///./node_modules/d3-geo/src/area.js","webpack:///./node_modules/d3-geo/src/cartesian.js","webpack:///./node_modules/d3-geo/src/bounds.js","webpack:///./node_modules/d3-geo/src/centroid.js","webpack:///./node_modules/d3-geo/src/constant.js","webpack:///./node_modules/d3-geo/src/compose.js","webpack:///./node_modules/d3-geo/src/rotation.js","webpack:///./node_modules/d3-geo/src/circle.js","webpack:///./node_modules/d3-geo/src/clip/buffer.js","webpack:///./node_modules/d3-geo/src/pointEqual.js","webpack:///./node_modules/d3-geo/src/clip/rejoin.js","webpack:///./node_modules/d3-geo/src/polygonContains.js","webpack:///./node_modules/d3-geo/src/clip/index.js","webpack:///./node_modules/d3-geo/src/clip/antimeridian.js","webpack:///./node_modules/d3-geo/src/clip/circle.js","webpack:///./node_modules/d3-geo/src/clip/line.js","webpack:///./node_modules/d3-geo/src/clip/rectangle.js","webpack:///./node_modules/d3-geo/src/clip/extent.js","webpack:///./node_modules/d3-geo/src/length.js","webpack:///./node_modules/d3-geo/src/distance.js","webpack:///./node_modules/d3-geo/src/contains.js","webpack:///./node_modules/d3-geo/src/graticule.js","webpack:///./node_modules/d3-geo/src/interpolate.js","webpack:///./node_modules/d3-geo/src/identity.js","webpack:///./node_modules/d3-geo/src/path/area.js","webpack:///./node_modules/d3-geo/src/path/bounds.js","webpack:///./node_modules/d3-geo/src/path/centroid.js","webpack:///./node_modules/d3-geo/src/path/context.js","webpack:///./node_modules/d3-geo/src/path/measure.js","webpack:///./node_modules/d3-geo/src/path/string.js","webpack:///./node_modules/d3-geo/src/path/index.js","webpack:///./node_modules/d3-geo/src/transform.js","webpack:///./node_modules/d3-geo/src/projection/fit.js","webpack:///./node_modules/d3-geo/src/projection/resample.js","webpack:///./node_modules/d3-geo/src/projection/index.js","webpack:///./node_modules/d3-geo/src/projection/conic.js","webpack:///./node_modules/d3-geo/src/projection/cylindricalEqualArea.js","webpack:///./node_modules/d3-geo/src/projection/conicEqualArea.js","webpack:///./node_modules/d3-geo/src/projection/albers.js","webpack:///./node_modules/d3-geo/src/projection/albersUsa.js","webpack:///./node_modules/d3-geo/src/projection/azimuthal.js","webpack:///./node_modules/d3-geo/src/projection/azimuthalEqualArea.js","webpack:///./node_modules/d3-geo/src/projection/azimuthalEquidistant.js","webpack:///./node_modules/d3-geo/src/projection/mercator.js","webpack:///./node_modules/d3-geo/src/projection/conicConformal.js","webpack:///./node_modules/d3-geo/src/projection/equirectangular.js","webpack:///./node_modules/d3-geo/src/projection/conicEquidistant.js","webpack:///./node_modules/d3-geo/src/projection/gnomonic.js","webpack:///./node_modules/d3-geo/src/projection/identity.js","webpack:///./node_modules/d3-geo/src/projection/naturalEarth1.js","webpack:///./node_modules/d3-geo/src/projection/orthographic.js","webpack:///./node_modules/d3-geo/src/projection/stereographic.js","webpack:///./node_modules/d3-geo/src/projection/transverseMercator.js","webpack:///./node_modules/d3-geo/index.js","webpack:///./node_modules/d3-hierarchy/src/cluster.js","webpack:///./node_modules/d3-hierarchy/src/hierarchy/count.js","webpack:///./node_modules/d3-hierarchy/src/hierarchy/each.js","webpack:///./node_modules/d3-hierarchy/src/hierarchy/eachBefore.js","webpack:///./node_modules/d3-hierarchy/src/hierarchy/eachAfter.js","webpack:///./node_modules/d3-hierarchy/src/hierarchy/sum.js","webpack:///./node_modules/d3-hierarchy/src/hierarchy/sort.js","webpack:///./node_modules/d3-hierarchy/src/hierarchy/path.js","webpack:///./node_modules/d3-hierarchy/src/hierarchy/ancestors.js","webpack:///./node_modules/d3-hierarchy/src/hierarchy/descendants.js","webpack:///./node_modules/d3-hierarchy/src/hierarchy/leaves.js","webpack:///./node_modules/d3-hierarchy/src/hierarchy/links.js","webpack:///./node_modules/d3-hierarchy/src/hierarchy/index.js","webpack:///./node_modules/d3-hierarchy/src/array.js","webpack:///./node_modules/d3-hierarchy/src/pack/enclose.js","webpack:///./node_modules/d3-hierarchy/src/pack/siblings.js","webpack:///./node_modules/d3-hierarchy/src/accessors.js","webpack:///./node_modules/d3-hierarchy/src/constant.js","webpack:///./node_modules/d3-hierarchy/src/pack/index.js","webpack:///./node_modules/d3-hierarchy/src/treemap/round.js","webpack:///./node_modules/d3-hierarchy/src/treemap/dice.js","webpack:///./node_modules/d3-hierarchy/src/partition.js","webpack:///./node_modules/d3-hierarchy/src/stratify.js","webpack:///./node_modules/d3-hierarchy/src/tree.js","webpack:///./node_modules/d3-hierarchy/src/treemap/slice.js","webpack:///./node_modules/d3-hierarchy/src/treemap/squarify.js","webpack:///./node_modules/d3-hierarchy/src/treemap/index.js","webpack:///./node_modules/d3-hierarchy/src/treemap/binary.js","webpack:///./node_modules/d3-hierarchy/src/treemap/sliceDice.js","webpack:///./node_modules/d3-hierarchy/src/treemap/resquarify.js","webpack:///./node_modules/d3-hierarchy/index.js","webpack:///./node_modules/d3-polygon/src/area.js","webpack:///./node_modules/d3-polygon/src/centroid.js","webpack:///./node_modules/d3-polygon/src/cross.js","webpack:///./node_modules/d3-polygon/src/hull.js","webpack:///./node_modules/d3-polygon/src/contains.js","webpack:///./node_modules/d3-polygon/src/length.js","webpack:///./node_modules/d3-polygon/index.js","webpack:///./node_modules/d3-random/src/defaultSource.js","webpack:///./node_modules/d3-random/src/uniform.js","webpack:///./node_modules/d3-random/src/normal.js","webpack:///./node_modules/d3-random/src/logNormal.js","webpack:///./node_modules/d3-random/src/irwinHall.js","webpack:///./node_modules/d3-random/src/bates.js","webpack:///./node_modules/d3-random/src/exponential.js","webpack:///./node_modules/d3-random/index.js","webpack:///./node_modules/d3-scale/src/array.js","webpack:///./node_modules/d3-scale/src/ordinal.js","webpack:///./node_modules/d3-scale/src/band.js","webpack:///./node_modules/d3-scale/src/constant.js","webpack:///./node_modules/d3-scale/src/number.js","webpack:///./node_modules/d3-scale/src/continuous.js","webpack:///./node_modules/d3-scale/src/tickFormat.js","webpack:///./node_modules/d3-scale/src/linear.js","webpack:///./node_modules/d3-scale/src/identity.js","webpack:///./node_modules/d3-scale/src/nice.js","webpack:///./node_modules/d3-scale/src/log.js","webpack:///./node_modules/d3-scale/src/pow.js","webpack:///./node_modules/d3-scale/src/quantile.js","webpack:///./node_modules/d3-scale/src/quantize.js","webpack:///./node_modules/d3-scale/src/threshold.js","webpack:///./node_modules/d3-time/src/interval.js","webpack:///./node_modules/d3-time/src/millisecond.js","webpack:///./node_modules/d3-time/src/duration.js","webpack:///./node_modules/d3-time/src/second.js","webpack:///./node_modules/d3-time/src/minute.js","webpack:///./node_modules/d3-time/src/hour.js","webpack:///./node_modules/d3-time/src/day.js","webpack:///./node_modules/d3-time/src/week.js","webpack:///./node_modules/d3-time/src/month.js","webpack:///./node_modules/d3-time/src/year.js","webpack:///./node_modules/d3-time/src/utcMinute.js","webpack:///./node_modules/d3-time/src/utcHour.js","webpack:///./node_modules/d3-time/src/utcDay.js","webpack:///./node_modules/d3-time/src/utcWeek.js","webpack:///./node_modules/d3-time/src/utcMonth.js","webpack:///./node_modules/d3-time/src/utcYear.js","webpack:///./node_modules/d3-time/index.js","webpack:///./node_modules/d3-time-format/src/locale.js","webpack:///./node_modules/d3-time-format/src/defaultLocale.js","webpack:///./node_modules/d3-time-format/src/isoFormat.js","webpack:///./node_modules/d3-time-format/src/isoParse.js","webpack:///./node_modules/d3-time-format/index.js","webpack:///./node_modules/d3-scale/src/time.js","webpack:///./node_modules/d3-scale/src/utcTime.js","webpack:///./node_modules/d3-scale/src/sequential.js","webpack:///./node_modules/d3-scale/index.js","webpack:///./node_modules/d3-scale-chromatic/src/colors.js","webpack:///./node_modules/d3-scale-chromatic/src/categorical/category10.js","webpack:///./node_modules/d3-scale-chromatic/src/categorical/Accent.js","webpack:///./node_modules/d3-scale-chromatic/src/categorical/Dark2.js","webpack:///./node_modules/d3-scale-chromatic/src/categorical/Paired.js","webpack:///./node_modules/d3-scale-chromatic/src/categorical/Pastel1.js","webpack:///./node_modules/d3-scale-chromatic/src/categorical/Pastel2.js","webpack:///./node_modules/d3-scale-chromatic/src/categorical/Set1.js","webpack:///./node_modules/d3-scale-chromatic/src/categorical/Set2.js","webpack:///./node_modules/d3-scale-chromatic/src/categorical/Set3.js","webpack:///./node_modules/d3-scale-chromatic/src/ramp.js","webpack:///./node_modules/d3-scale-chromatic/src/diverging/BrBG.js","webpack:///./node_modules/d3-scale-chromatic/src/diverging/PRGn.js","webpack:///./node_modules/d3-scale-chromatic/src/diverging/PiYG.js","webpack:///./node_modules/d3-scale-chromatic/src/diverging/PuOr.js","webpack:///./node_modules/d3-scale-chromatic/src/diverging/RdBu.js","webpack:///./node_modules/d3-scale-chromatic/src/diverging/RdGy.js","webpack:///./node_modules/d3-scale-chromatic/src/diverging/RdYlBu.js","webpack:///./node_modules/d3-scale-chromatic/src/diverging/RdYlGn.js","webpack:///./node_modules/d3-scale-chromatic/src/diverging/Spectral.js","webpack:///./node_modules/d3-scale-chromatic/src/sequential-multi/BuGn.js","webpack:///./node_modules/d3-scale-chromatic/src/sequential-multi/BuPu.js","webpack:///./node_modules/d3-scale-chromatic/src/sequential-multi/GnBu.js","webpack:///./node_modules/d3-scale-chromatic/src/sequential-multi/OrRd.js","webpack:///./node_modules/d3-scale-chromatic/src/sequential-multi/PuBuGn.js","webpack:///./node_modules/d3-scale-chromatic/src/sequential-multi/PuBu.js","webpack:///./node_modules/d3-scale-chromatic/src/sequential-multi/PuRd.js","webpack:///./node_modules/d3-scale-chromatic/src/sequential-multi/RdPu.js","webpack:///./node_modules/d3-scale-chromatic/src/sequential-multi/YlGnBu.js","webpack:///./node_modules/d3-scale-chromatic/src/sequential-multi/YlGn.js","webpack:///./node_modules/d3-scale-chromatic/src/sequential-multi/YlOrBr.js","webpack:///./node_modules/d3-scale-chromatic/src/sequential-multi/YlOrRd.js","webpack:///./node_modules/d3-scale-chromatic/src/sequential-single/Blues.js","webpack:///./node_modules/d3-scale-chromatic/src/sequential-single/Greens.js","webpack:///./node_modules/d3-scale-chromatic/src/sequential-single/Greys.js","webpack:///./node_modules/d3-scale-chromatic/src/sequential-single/Purples.js","webpack:///./node_modules/d3-scale-chromatic/src/sequential-single/Reds.js","webpack:///./node_modules/d3-scale-chromatic/src/sequential-single/Oranges.js","webpack:///./node_modules/d3-scale-chromatic/src/sequential-multi/cubehelix.js","webpack:///./node_modules/d3-scale-chromatic/src/sequential-multi/rainbow.js","webpack:///./node_modules/d3-scale-chromatic/src/sequential-multi/sinebow.js","webpack:///./node_modules/d3-scale-chromatic/src/sequential-multi/viridis.js","webpack:///./node_modules/d3-scale-chromatic/index.js","webpack:///./node_modules/d3-shape/src/constant.js","webpack:///./node_modules/d3-shape/src/math.js","webpack:///./node_modules/d3-shape/src/arc.js","webpack:///./node_modules/d3-shape/src/curve/linear.js","webpack:///./node_modules/d3-shape/src/point.js","webpack:///./node_modules/d3-shape/src/line.js","webpack:///./node_modules/d3-shape/src/area.js","webpack:///./node_modules/d3-shape/src/descending.js","webpack:///./node_modules/d3-shape/src/identity.js","webpack:///./node_modules/d3-shape/src/pie.js","webpack:///./node_modules/d3-shape/src/curve/radial.js","webpack:///./node_modules/d3-shape/src/lineRadial.js","webpack:///./node_modules/d3-shape/src/areaRadial.js","webpack:///./node_modules/d3-shape/src/pointRadial.js","webpack:///./node_modules/d3-shape/src/array.js","webpack:///./node_modules/d3-shape/src/link/index.js","webpack:///./node_modules/d3-shape/src/symbol/circle.js","webpack:///./node_modules/d3-shape/src/symbol/cross.js","webpack:///./node_modules/d3-shape/src/symbol/diamond.js","webpack:///./node_modules/d3-shape/src/symbol/star.js","webpack:///./node_modules/d3-shape/src/symbol/square.js","webpack:///./node_modules/d3-shape/src/symbol/triangle.js","webpack:///./node_modules/d3-shape/src/symbol/wye.js","webpack:///./node_modules/d3-shape/src/symbol.js","webpack:///./node_modules/d3-shape/src/noop.js","webpack:///./node_modules/d3-shape/src/curve/basis.js","webpack:///./node_modules/d3-shape/src/curve/basisClosed.js","webpack:///./node_modules/d3-shape/src/curve/basisOpen.js","webpack:///./node_modules/d3-shape/src/curve/bundle.js","webpack:///./node_modules/d3-shape/src/curve/cardinal.js","webpack:///./node_modules/d3-shape/src/curve/cardinalClosed.js","webpack:///./node_modules/d3-shape/src/curve/cardinalOpen.js","webpack:///./node_modules/d3-shape/src/curve/catmullRom.js","webpack:///./node_modules/d3-shape/src/curve/catmullRomClosed.js","webpack:///./node_modules/d3-shape/src/curve/catmullRomOpen.js","webpack:///./node_modules/d3-shape/src/curve/linearClosed.js","webpack:///./node_modules/d3-shape/src/curve/monotone.js","webpack:///./node_modules/d3-shape/src/curve/natural.js","webpack:///./node_modules/d3-shape/src/curve/step.js","webpack:///./node_modules/d3-shape/src/offset/none.js","webpack:///./node_modules/d3-shape/src/order/none.js","webpack:///./node_modules/d3-shape/src/stack.js","webpack:///./node_modules/d3-shape/src/offset/expand.js","webpack:///./node_modules/d3-shape/src/offset/diverging.js","webpack:///./node_modules/d3-shape/src/offset/silhouette.js","webpack:///./node_modules/d3-shape/src/offset/wiggle.js","webpack:///./node_modules/d3-shape/src/order/ascending.js","webpack:///./node_modules/d3-shape/src/order/descending.js","webpack:///./node_modules/d3-shape/src/order/insideOut.js","webpack:///./node_modules/d3-shape/src/order/reverse.js","webpack:///./node_modules/d3-shape/index.js","webpack:///./node_modules/d3-voronoi/src/constant.js","webpack:///./node_modules/d3-voronoi/src/point.js","webpack:///./node_modules/d3-voronoi/src/RedBlackTree.js","webpack:///./node_modules/d3-voronoi/src/Edge.js","webpack:///./node_modules/d3-voronoi/src/Cell.js","webpack:///./node_modules/d3-voronoi/src/Circle.js","webpack:///./node_modules/d3-voronoi/src/Beach.js","webpack:///./node_modules/d3-voronoi/src/Diagram.js","webpack:///./node_modules/d3-voronoi/src/voronoi.js","webpack:///./node_modules/d3-voronoi/index.js","webpack:///./node_modules/d3-zoom/src/constant.js","webpack:///./node_modules/d3-zoom/src/event.js","webpack:///./node_modules/d3-zoom/src/transform.js","webpack:///./node_modules/d3-zoom/src/noevent.js","webpack:///./node_modules/d3-zoom/src/zoom.js","webpack:///./node_modules/d3-zoom/index.js","webpack:///./node_modules/d3/index.js","webpack:///./lib/utils/assert-date-string.js","webpack:///./lib/utils/strip-html-tags.js","webpack:///./lib/dataset/utils/create-null-list.js","webpack:///./lib/dataset/modifiers/append.js","webpack:///./node_modules/moment/locale/zh-tw.js","webpack:///./node_modules/moment/locale/zh-hk.js","webpack:///./node_modules/moment/locale/zh-cn.js","webpack:///./node_modules/moment/locale/yo.js","webpack:///./node_modules/moment/locale/x-pseudo.js","webpack:///./node_modules/moment/locale/vi.js","webpack:///./node_modules/moment/locale/uz-latn.js","webpack:///./node_modules/moment/locale/uz.js","webpack:///./node_modules/moment/locale/ur.js","webpack:///./node_modules/moment/locale/uk.js","webpack:///./node_modules/moment/locale/ug-cn.js","webpack:///./node_modules/moment/locale/tzm-latn.js","webpack:///./node_modules/moment/locale/tzm.js","webpack:///./node_modules/moment/locale/tzl.js","webpack:///./node_modules/moment/locale/tr.js","webpack:///./node_modules/moment/locale/tlh.js","webpack:///./node_modules/moment/locale/tl-ph.js","webpack:///./node_modules/moment/locale/th.js","webpack:///./node_modules/moment/locale/tg.js","webpack:///./node_modules/moment/locale/tet.js","webpack:///./node_modules/moment/locale/te.js","webpack:///./node_modules/moment/locale/ta.js","webpack:///./node_modules/moment/locale/sw.js","webpack:///./node_modules/moment/locale/sv.js","webpack:///./node_modules/moment/locale/ss.js","webpack:///./node_modules/moment/locale/sr-cyrl.js","webpack:///./node_modules/moment/locale/sr.js","webpack:///./node_modules/moment/locale/sq.js","webpack:///./node_modules/moment/locale/sl.js","webpack:///./node_modules/moment/locale/sk.js","webpack:///./node_modules/moment/locale/si.js","webpack:///./node_modules/moment/locale/se.js","webpack:///./node_modules/moment/locale/sd.js","webpack:///./node_modules/moment/locale/ru.js","webpack:///./node_modules/moment/locale/ro.js","webpack:///./node_modules/moment/locale/pt-br.js","webpack:///./node_modules/moment/locale/pt.js","webpack:///./node_modules/moment/locale/pl.js","webpack:///./node_modules/moment/locale/pa-in.js","webpack:///./node_modules/moment/locale/nn.js","webpack:///./node_modules/moment/locale/nl-be.js","webpack:///./node_modules/moment/locale/nl.js","webpack:///./node_modules/moment/locale/ne.js","webpack:///./node_modules/moment/locale/nb.js","webpack:///./node_modules/moment/locale/my.js","webpack:///./node_modules/moment/locale/mt.js","webpack:///./node_modules/moment/locale/ms-my.js","webpack:///./node_modules/moment/locale/ms.js","webpack:///./node_modules/moment/locale/mr.js","webpack:///./node_modules/moment/locale/mn.js","webpack:///./node_modules/moment/locale/ml.js","webpack:///./node_modules/moment/locale/mk.js","webpack:///./node_modules/moment/locale/mi.js","webpack:///./node_modules/moment/locale/me.js","webpack:///./node_modules/moment/locale/lv.js","webpack:///./node_modules/moment/locale/lt.js","webpack:///./node_modules/moment/locale/lo.js","webpack:///./node_modules/moment/locale/lb.js","webpack:///./node_modules/moment/locale/ky.js","webpack:///./node_modules/moment/locale/ko.js","webpack:///./node_modules/moment/locale/kn.js","webpack:///./node_modules/moment/locale/km.js","webpack:///./node_modules/moment/locale/kk.js","webpack:///./node_modules/moment/locale/ka.js","webpack:///./node_modules/moment/locale/jv.js","webpack:///./node_modules/moment/locale/ja.js","webpack:///./node_modules/moment/locale/it.js","webpack:///./node_modules/moment/locale/is.js","webpack:///./node_modules/moment/locale/id.js","webpack:///./node_modules/moment/locale/hy-am.js","webpack:///./node_modules/moment/locale/hu.js","webpack:///./node_modules/moment/locale/hr.js","webpack:///./node_modules/moment/locale/hi.js","webpack:///./node_modules/moment/locale/he.js","webpack:///./node_modules/moment/locale/gu.js","webpack:///./node_modules/moment/locale/gom-latn.js","webpack:///./node_modules/moment/locale/gl.js","webpack:///./node_modules/moment/locale/gd.js","webpack:///./node_modules/moment/locale/fy.js","webpack:///./node_modules/moment/locale/fr-ch.js","webpack:///./node_modules/moment/locale/fr-ca.js","webpack:///./node_modules/moment/locale/fr.js","webpack:///./node_modules/moment/locale/fo.js","webpack:///./node_modules/moment/locale/fi.js","webpack:///./node_modules/moment/locale/fa.js","webpack:///./node_modules/moment/locale/eu.js","webpack:///./node_modules/moment/locale/et.js","webpack:///./node_modules/moment/locale/es-us.js","webpack:///./node_modules/moment/locale/es-do.js","webpack:///./node_modules/moment/locale/es.js","webpack:///./node_modules/moment/locale/eo.js","webpack:///./node_modules/moment/locale/en-nz.js","webpack:///./node_modules/moment/locale/en-il.js","webpack:///./node_modules/moment/locale/en-ie.js","webpack:///./node_modules/moment/locale/en-gb.js","webpack:///./node_modules/moment/locale/en-ca.js","webpack:///./node_modules/moment/locale/en-au.js","webpack:///./node_modules/moment/locale/el.js","webpack:///./node_modules/moment/locale/dv.js","webpack:///./node_modules/moment/locale/de-ch.js","webpack:///./node_modules/moment/locale/de-at.js","webpack:///./node_modules/moment/locale/de.js","webpack:///./node_modules/moment/locale/da.js","webpack:///./node_modules/moment/locale/cy.js","webpack:///./node_modules/moment/locale/cv.js","webpack:///./node_modules/moment/locale/cs.js","webpack:///./node_modules/moment/locale/ca.js","webpack:///./node_modules/moment/locale/bs.js","webpack:///./node_modules/moment/locale/br.js","webpack:///./node_modules/moment/locale/bo.js","webpack:///./node_modules/moment/locale/bn.js","webpack:///./node_modules/moment/locale/bm.js","webpack:///./node_modules/moment/locale/bg.js","webpack:///./node_modules/moment/locale/be.js","webpack:///./node_modules/moment/locale/az.js","webpack:///./node_modules/moment/locale/ar-tn.js","webpack:///./node_modules/moment/locale/ar-sa.js","webpack:///./node_modules/moment/locale/ar-ma.js","webpack:///./node_modules/moment/locale/ar-ly.js","webpack:///./node_modules/moment/locale/ar-kw.js","webpack:///./node_modules/moment/locale/ar-dz.js","webpack:///./node_modules/moment/locale/ar.js","webpack:///./node_modules/moment/locale/af.js","webpack:///./lib/utils/extend-deep.js","webpack:///./node_modules/c3/c3.js","webpack:///./lib/dataset/utils/analyses.js","webpack:///./lib/dataset/index.js","webpack:///./lib/libraries/default/spinner.js","webpack:///./node_modules/moment/locale sync ^\\.\\/.*$","webpack:///(webpack)/buildin/module.js","webpack:///./node_modules/moment-timezone/moment-timezone.js","webpack:///./node_modules/moment-timezone/index.js","webpack:///./lib/libraries/default/table.js","webpack:///./lib/utils/pretty-number.js","webpack:///./lib/libraries/default/metric.js","webpack:///./lib/libraries/default/message.js","webpack:///./lib/libraries/c3/extensions/tooltip-contents.js","webpack:///./lib/libraries/c3/extensions/paginating-legend.js","webpack:///./lib/libraries/c3/extensions/default-date-format.js","webpack:///./lib/libraries/index.js","webpack:///./lib/data.js","webpack:///./lib/dataset/utils/object.js","webpack:///./lib/dataset/utils/flatten.js","webpack:///./lib/dataset/utils/parsers.js","webpack:///./lib/dataset/modifiers/update.js","webpack:///./lib/dataset/modifiers/sort.js","webpack:///./lib/dataset/modifiers/select.js","webpack:///./lib/dataset/modifiers/insert.js","webpack:///./lib/dataset/modifiers/filter.js","webpack:///./lib/dataset/modifiers/delete.js","webpack:///./lib/index.js","webpack:///(webpack)/buildin/global.js","webpack:///./lib/browser.js"],"names":["each","o","cb","s","n","Array","length","call","hasOwnProperty","escapeHtml","matchHtmlRegExp","string","str","match","exec","escape","html","index","lastIndex","charCodeAt","substring","extend","target","i","arguments","prop","testObject","testString","input","getTime","isNaN","ISO_8601","test","stripHtmlTags","inputString","replace","len","list","push","appendColumn","appendRow","self","args","prototype","slice","label","undefined","matrix","row","cell","concat","value","String","newRow","col","selectColumn","extendDeep","key","average","arr","start","end","set","sum","avg","val","parseFloat","maximum","nums","Math","max","apply","minimum","min","getColumnAverage","getRowAverage","getColumnSum","getRowSum","getColumnMaximum","getRowMaximum","getColumnMinimum","getRowMinimum","getColumnLabel","getRowIndex","append","del","filter","insert","select","sort","update","Dataset","config","meta","type","data","coords","Error","colIndex","indexOf","rowIndex","colResult","rowResult","selectRow","analyses","parser","render","artifacts","view","_artifacts","spinner","theme","el","innerHTML","destroy","interval","clearInterval","radius","e","defaults","currentPage","_generateTableRows","datavizInstance","dataset","defaultConfig","page","limit","arrows","customConfig","table","pagination","datasetPaginated","pages","ceil","columnsArray","columns","checkArray","mapValues","entries","rowCol","timezone","Date","dateTimeTimezoned","moment","tz","clone","toString","rowColEscaped","pageNumber","prevPage","nextPage","_generateTableHeader","fieldNumber","columnNames","colName","colNameEscaped","isEmpty","msg","mappedMsg","errorMapping","showErrorMessages","message","querySelector","querySelectorAll","forEach","item","addEventListener","event","sortOrder","getAttribute","checker","a","b","sortOrderNumber","nameA","toUpperCase","nameB","setAttribute","first","shift","unshift","attachBtnEventListeners","btn","parseInt","onrendered","prettyNumber","Number","sciNo","toPrecision","prefix","suffixes","abs","recurse","iteration","split","rhs","charAt","numNumerals","color","colors","title","opts","suffix","formattedNum","valueEl","flexDifferenceStyle","resultDifference","differenceStyle","smallerValue","results","previousResults","result","text","outer","document","createElement","inner","titleContainer","notesContainer","className","notes","appendChild","showTitle","d","defaultTitleFormat","defaultValueFormat","nameFormat","tooltip_format_name","name","titleFormat","tooltip_format_title","valueFormat","tooltip_format_value","x","CLASS","tooltip","ratio","id","bgcolor","levelColor","tooltipName","options","cols","chart","c3","domNode","legendConfig","legend","hidden","labels","offset","round","offsetHeight","total","columnsSorted","dataColumnsSorted","columnData","find","column","legendElement","align","position","paginateHorizontalLeftElement","legendItemsElement","paginateVerticalElement","paginateHorizontalRightElement","paginateData","renderLegendComponent","renderPaginationComponent","onPaginated","labelShortened","textMaxLength","legendItem","chartPartId","legendItemColorSample","style","backgroundColor","prepend","tooltipElement","focus","show","pointer","revert","remove","opacity","isHidden","splice","toggle","onLegendRendered","arrowUp","arrowDown","paginate","direction","diff","floor","clearSelectedText","selection","empty","window","getSelection","removeAllRanges","d3","startDate","endDate","timeDiff","months","ms","date","getMonth","getFullYear","getDate","lib","timer","bindResizeListener","clearTimeout","delay","visuals","setTimeout","resize","internal","fn","horizontalDistance","pos","$$","xIndex","axis_rotated","findClosest","values","minDist","point_sensitivity","Infinity","closest","v","isBarType","shape","main","bars","getTargetSelectorSuffix","bar","node","isWithinBar","mouse","dist","defineC3","types","metric","c3Types","getPaddings","element","paddingName","getComputedStyle","getDefaultOptions","ENFORCED_OPTIONS","bindto","pattern","colorMapping","renderingElement","height","titleElement","notesElement","width","offsetWidth","DEFAULT_OPTIONS","size","clearOnRender","removeLegend","axis","rotated","tick","format","dateFormat","culling","stacked","groups","categories","bind","chartTypesWithPartialIntervalIndicator","partialIntervalIndicator","partialResultsRegion","class","regions","contents","c3TooltipContents","valueFormatted","c3CustomTooltipFiltering","c3options","c3CustomDataMapping","hide","generate","c3PaginatingLegend","flush","scope","onresize","attachEvent","parseResponse","response","indexBy","parserArgs","query","selectedParser","metadata","analysis_type","event_collection","filters","group_by","timeframe","steps","display_name","getDefaultTitle","visualization","chart_type","getDefaultType","updateColumn","updateRow","analysis","valueAtDeepKey","obj","is","flatten","ob","toReturn","flatObject","initialize","parsers","parseMetric","res","parseInterval","record","parseGroupedMetric","parseGroupedInterval","group","j","parseDoubleGroupedMetric","rowLabel","parseDoubleGroupedInterval","parseFunnel","parseList","parseExtraction","datasetExtraction","names","Object","keys","iNames","deleteColumn","funnel","extraction","q","sortColumns","sortRows","comp","head","analysesUtilMethods","op","insertColumn","body","insertRow","filterColumns","filterRows","selectedColumn","ri","deleteRow","Dataviz","defaultOptions","showDeprecationWarnings","showLoadingSpinner","container","containerElement","labelMapping","labelMappingRegExp","library","sortGroups","sortIntervals","order","padding","top","point","expand","enabled","r","transition","draggable","multiple","y","convertChartTypes","_prepared","_rendered","prepare","firstVisibilityState","visibilityState","libraries","default","register","actions","method","nodeName","visual","attributes","console","log","chartOptions","domReady","num","setLabels","mapLabels","mapLabelsExec","valueAfterMatching","regExpAndLabel","regExpObj","labelMappingDimension","loader","firstResult","isArray","timeframes","map","resultItem","foundDifferent","JSON","stringify","timeframeItem","resultTimeframe","error","getLabel","firstResultPassed","ds2","returnValue","renderAsPromise","Promise","resolve","reject","customCallback","buildDomWrapper","renderOnVisible","IntersectionObserver","chartVisibleCallback","events","observer","isIntersecting","observe","visibilityChange","msHidden","webkitHidden","handleVisibilityChange","load","once","bool","chartType","parseRawData","parseRequest","version","pkg","chart100percentWide","areachart","barchart","columnchart","linechart","piechart","testDom","readyState","DOMContentLoaded","removeEventListener","env","global","extendKeenGlobalObject","KeenDataviz","KeenDataset","Keen","keenGlobals","webpackKeenGlobals"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,O;ACVA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAK;AACL;AACA;;AAEA;AACA;AACA,yDAAiD,cAAc;AAC/D;;AAEA;AACA;AACA;AACA,mCAA2B,0BAA0B,EAAE;AACvD,yCAAiC,eAAe;AAChD;AACA;AACA;;AAEA;AACA,8DAAsD,+DAA+D;;AAErH;AACA;;;AAGA;AACA;;;;;;;8CCnEA;;AAEA,CAAC;AACD;AACA,aACA;AACA,CAAC,qBAAqB;;AAEtB;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,gBAAgB;AACnC;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA,2BAA2B,SAAS;AACpC;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,uBAAuB,6BAA6B;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,SAAS;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,sBAAsB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C;AAC/C,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,IAAI;AAC/B;;AAEA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,4CAA4C,IAAI;;AAEhD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,gCAAgC;AAChC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,wBAAwB,iCAAiC;AACzD;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,4LAA4L,IAAI;;AAEhM,qEAAqE,IAAI;;AAEzE;;AAEA;;AAEA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,0CAA0C,YAAY;AACtD;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA,uBAAuB,YAAY;AACnC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,8BAA8B;AAC9B,gCAAgC;AAChC,6BAA6B,EAAE,EAAE;AACjC,6BAA6B,EAAE,EAAE;AACjC,kCAAkC,EAAE,EAAE;AACtC,iCAAiC;AACjC,qCAAqC;AACrC,yCAAyC;AACzC,6BAA6B,IAAI,EAAE;AACnC,6BAA6B,IAAI,EAAE;AACnC,kCAAkC,IAAI,EAAE;;AAExC,+BAA+B;AAC/B,oCAAoC;;AAEpC,8CAA8C;AAC9C,qDAAqD;;AAErD,wCAAwC,IAAI,IAAI;;AAEhD;AACA;AACA,2BAA2B,MAAM,wEAAwE,MAAM,mBAAmB,MAAM,qBAAqB,MAAM,EAAE,IAAI;;AAEzK;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA,8CAA8C;AAC9C;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,kBAAkB;AACrC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA,2BAA2B,wBAAwB;AACnD;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,uBAAuB,iBAAiB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,QAAQ;AAC/B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,mBAAmB,QAAQ;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,QAAQ;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,QAAQ;AAC3B;AACA;AACA;AACA,mBAAmB,QAAQ;AAC3B;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,uBAAuB,OAAO;AAC9B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,mBAAmB,OAAO;AAC1B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,OAAO;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,OAAO;AAC1B;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB;AACjB;;AAEA;AACA;AACA;AACA;;;AAGA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,mBAAmB,+BAA+B;AAClD;AACA;;AAEA;AACA,cAAc,OAAO;AACrB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,2CAA2C,EAAE,IAAI,EAAE;AACnD,wCAAwC,EAAE,IAAI,EAAE;;AAEhD;;AAEA;AACA,iCAAiC,EAAE;AACnC,2BAA2B,EAAE;AAC7B,6BAA6B,EAAE;AAC/B,2BAA2B,EAAE;AAC7B,yBAAyB,EAAE,IAAI,EAAE;AACjC,wBAAwB,EAAE;AAC1B,+BAA+B,GAAG;AAClC,yBAAyB,EAAE;AAC3B;AACA,2BAA2B,EAAE,IAAI,EAAE;AACnC,0BAA0B,EAAE,IAAI,EAAE;AAClC,wBAAwB,EAAE;AAC1B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,4CAA4C,OAAO;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD,OAAO;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA,8DAA8D,IAAI,0DAA0D,IAAI,qEAAqE,EAAE;;AAEvM;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,mBAAmB,mBAAmB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,mBAAmB,sBAAsB;AACzC;AACA,sCAAsC;AACtC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,kCAAkC,gBAAgB;AAClD;;AAEA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,oBAAoB;AACvC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,uBAAuB,qBAAqB;AAC5C;AACA;AACA,iCAAiC;AACjC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,6BAA6B;AACtC;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,oBAAoB;AACpB;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,cAAc;AACxC;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA,6DAA6D;AAC7D,yDAAyD;AACzD,+DAA+D;AAC/D,wDAAwD,OAAO;AAC/D,wDAAwD,OAAO;AAC/D,uDAAuD,OAAO;AAC9D,mEAAmE,OAAO;AAC1E,qEAAqE,OAAO;AAC5E;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,mCAAmC,qBAAqB;AACxD,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,mCAAmC,qBAAqB;AACxD,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,wBAAwB;AACxB;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;;;AAGL;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,wBAAwB,mBAAmB;AAC3C;AACA;;AAEA;AACA;AACA;;AAEA,qBAAqB,mBAAmB;AACxC;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,QAAQ;AAC3B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,OAAO;AAC1B;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;;AAEL;;;AAGA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,CAAC;;;;;;;;;;;;;;QCz5IeA,I,GAAAA,I;AAAT,SAASA,IAAT,CAAcC,CAAd,EAAiBC,EAAjB,EAAqBC,CAArB,EAAwB;AAC7B,MAAIC,CAAJ;AACA,MAAI,CAACH,CAAL,EAAQ;AACN,WAAO,CAAP;AACD;AACDE,MAAI,CAACA,CAAD,GAAKF,CAAL,GAASE,CAAb;AACA,MAAIF,aAAaI,KAAjB,EAAwB;AACtB;AACA,SAAKD,IAAI,CAAT,EAAYA,IAAIH,EAAEK,MAAlB,EAA0BF,GAA1B,EAA+B;AAC7B,UAAIF,GAAGK,IAAH,CAAQJ,CAAR,EAAWF,EAAEG,CAAF,CAAX,EAAiBA,CAAjB,EAAoBH,CAApB,MAA2B,KAA/B,EAAsC;AACpC,eAAO,CAAP;AACD;AACF;AACF,GAPD,MAOO;AACL;AACA,SAAKG,CAAL,IAAUH,CAAV,EAAa;AACX,UAAIA,EAAEO,cAAF,CAAiBJ,CAAjB,CAAJ,EAAyB;AACvB,YAAIF,GAAGK,IAAH,CAAQJ,CAAR,EAAWF,EAAEG,CAAF,CAAX,EAAiBA,CAAjB,EAAoBH,CAApB,MAA2B,KAA/B,EAAqC;AACnC,iBAAO,CAAP;AACD;AACF;AACF;AACF;AACD,SAAO,CAAP;AACD,C;;;;;;;;;;;;QCdeQ,U,GAAAA,U;AAVhB,IAAMC,kBAAkB,SAAxB;;AAEA;;;;;;;;AAQO,SAASD,UAAT,CAAoBE,MAApB,EAA4B;AACjC,MAAIC,MAAM,KAAKD,MAAf;AACA,MAAIE,QAAQH,gBAAgBI,IAAhB,CAAqBF,GAArB,CAAZ;;AAEA,MAAI,CAACC,KAAL,EAAY;AACV,WAAOD,GAAP;AACD;;AAED,MAAIG,MAAJ;AACA,MAAIC,OAAO,EAAX;AACA,MAAIC,QAAQ,CAAZ;AACA,MAAIC,YAAY,CAAhB;;AAEA,OAAKD,QAAQJ,MAAMI,KAAnB,EAA0BA,QAAQL,IAAIN,MAAtC,EAA8CW,OAA9C,EAAuD;AACrD,YAAQL,IAAIO,UAAJ,CAAeF,KAAf,CAAR;AACE,WAAK,EAAL;AAAS;AACPF,iBAAS,QAAT;AACA;AACF,WAAK,EAAL;AAAS;AACPA,iBAAS,OAAT;AACA;AACF,WAAK,EAAL;AAAS;AACPA,iBAAS,OAAT;AACA;AACF,WAAK,EAAL;AAAS;AACPA,iBAAS,MAAT;AACA;AACF,WAAK,EAAL;AAAS;AACPA,iBAAS,MAAT;AACA;AACF;AACE;AAjBJ;;AAoBA,QAAIG,cAAcD,KAAlB,EAAyB;AACvBD,cAAQJ,IAAIQ,SAAJ,CAAcF,SAAd,EAAyBD,KAAzB,CAAR;AACD;;AAEDC,gBAAYD,QAAQ,CAApB;AACAD,YAAQD,MAAR;AACD;;AAED,SAAOG,cAAcD,KAAd,GACHD,OAAOJ,IAAIQ,SAAJ,CAAcF,SAAd,EAAyBD,KAAzB,CADJ,GAEHD,IAFJ;AAGD,C;;;;;;;;;;;;QCvDeK,M,GAAAA,M;AAAT,SAASA,MAAT,CAAgBC,MAAhB,EAAwB;AAC7B,OAAK,IAAIC,IAAI,CAAb,EAAgBA,IAAIC,UAAUlB,MAA9B,EAAsCiB,GAAtC,EAA2C;AACzC,SAAK,IAAIE,IAAT,IAAiBD,UAAUD,CAAV,CAAjB,EAA8B;AAC5BD,aAAOG,IAAP,IAAeD,UAAUD,CAAV,EAAaE,IAAb,CAAf;AACD;AACF;AACD,SAAOH,MAAP;AACD,C;;;;;;;;;;ACPD;AACA;AACA;AACA;AACA;AACA;AACA,cAAqB;AACrB;AACA;AACA;AACA;AACA,kBAAyB;AACzB,eAAsB,6gBAA6gB,oBAAoB,sMAAsM,oBAAoB,sBAAsB,oBAAoB,MAAM,oBAAoB;AACr1B,uBAA8B;AAC9B,oBAA2B;;;ACd3B;AACA;AACA;;;ACFA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;AChCA;AACA;;AAEA;AACA;AACA;AACA;;;ACNA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;ACTa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,kBAAkB,SAAS;AAC3B,sCAAsC,SAAS;AAC/C;AACA;AACA;;AAEA;AACA;;;ACpBA;AACA;AACA;;;ACFA;AACA;AACA;;;ACFA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AChCA;;AAEA;AACA;AACA;AACA;;;ACLA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,qBAAqB;AACrB;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,qBAAqB;AACrB;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;ACpCA;;AAEA;AACA;;;ACHA;AACA;AACA;AACA;AACA;;;ACJA;AACA;AACA;;;ACFA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;ACZA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AClDA;AACA;AACA;;;ACFc;AACd;AACA;AACA;AACA;AACA;AACiB;AACjB;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,eAAe,OAAO;AACtB;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,4EAAwE;AACxE;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,eAAe,QAAQ;AACvB;AACA;AACA;AACA;;AAEA;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;AC1EA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACbY;AACZ;AACA;AACA;;AAEA;AACA;AACA;AACA;;;ACRA;;AAEA;AACA;AACA;;;ACJA;AACA;AACA;AACA;AACA;;AAEA;AACA,qBAAqB;AACrB;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,qBAAqB;AACrB;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;ACjCA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;ACxBA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AC3BA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;ACpBA;AACA;AACA;AACA;AACA;;AAEA;AACA,qBAAqB;AACrB;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,qBAAqB;AACrB;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;ACjCA;AACA;AACA;AACA;AACA;;;ACJA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;ACnBA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;ACbA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,2CAA2C;AAC3C;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;ACnBA;;AAEA;AACA;AACA,mFAAqE,SAAS;AAC9E,0DAA0D,SAAS;AACnE;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;ACdA;;AAEA;AACA;AACA;;;ACJmD;AACtB;AACD;AACH;AACK;AACD;AACH;AACG;AACgB;AACX;AACE;AACb;AACC;AACE;AACD;AACF;AACE;AACE;AACC;AACH;AACD;AACG;AACJ;AAC2B;AACrB;AACD;AACL;;;AC1BvB;;;ACAA;AACA;AACA;;;ACFc;AACd;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,sDAAsD;AACtD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,0CAA0C,kFAAkF,EAAE;;AAE9H;AACA;AACA,0CAA0C,gCAAgC,6DAA6D,EAAE;AACzI;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,wCAAwC,+BAA+B,EAAE;;AAEzE;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,0BAA0B,wBAAwB,EAAE;AACpD;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;;ACxKC;;;ACLD,YAAY;;AAEZ;AACA,8CAA8C,IAAI,OAAO;AACzD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA,iBAAiB;AACjB;AACA;AACA,GAAG;AACH;AACA,kFAAkF,OAAO;AACzF;AACA,+CAA+C,OAAO;AACtD,GAAG;AACH;AACA;AACA,mDAAmD,OAAO;AAC1D;AACA;;AAEA;AACA,qCAAqC,OAAO;AAC5C;AACA;AACA;AACA;AACA;;AAEA;AACA,kCAAkC,OAAO;AACzC;AACA;AACA;AACA;AACA;AACA,mCAAmC,4BAA4B;AAC/D;AACA;;AAEA;;;ACnF4B;;;ACA5B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACRA;;AAEA;AACA;AACA;AACA,8CAA8C,uCAAuC;AACrF;;;ACNA;AACc;;AAEd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;ACxBA;;AAEA;AACA;AACA;AACA;AACA;;;ACNkB;AAClB;;AAEA;AACA;;AAEA,qFAAqF,OAAO;AAC5F,+GAA+G,OAAO;AACtH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AChBA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;ACRkB;AAClB;;AAEA;AACA;;AAEA,yFAAyF,OAAO;AAChG,8DAA8D,OAAO;AACrE;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AChBA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;ACrBkB;AAClB;;AAEA;AACA;;AAEA,qFAAqF,OAAO;AAC5F,4FAA4F,OAAO;AACnG;AACA;AACA;AACA;AACA;;AAEA;AACA;;;ACfA;AACA;AACA;;;ACFA;AACkB;;oDAElB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,gCAAgC,qDAAqD,EAAE;AACvF,uCAAuC,+CAA+C,EAAE;AACxF,qCAAqC,6CAA6C,EAAE;AACpF,wCAAwC,gDAAgD;AACxF;;;ACrBA;AACA;AACA;AACA;AACA;;;ACJkB;AACA;AAClB;;AAEA,oBAAoB;;AAEpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAQ,gBAAgB;AACxB;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA,QAAQ,iBAAiB;AACzB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,iBAAiB;AAC9B;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,gBAAgB;AAC7B;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA,aAAa,iBAAiB;AAC9B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,2BAA2B,eAAe,EAAE;AAC5C;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA,sGAAsG,OAAO;AAC7G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,4CAA4C,iBAAiB;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;ACrHA;AACkB;;AAElB;AACA;AACA;;;ACLkB;;AAElB;;AAEA,8JAA8J,OAAO;AACrK,wHAAwH,OAAO;AAC/H;AACA;AACA;AACA;AACA;;AAEA,QAAQ,QAAQ;AAChB;AACA;;AAEA;AACA;;;ACjBA;;AAEA,4DAA4D,SAAS;AACrE,4EAA4E,UAAU;AACtF;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;ACZkB;;AAElB;AACA;;AAEA;AACA;AACA;;AAEA,sFAAsF,OAAO;AAC7F,wGAAwG,OAAO;AAC/G;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;ACvBA;AACA;AACA;AACA;AACA;AACA;;;ACLA;AACA;AACA,wBAAwB,mBAAmB,EAAE;AAC7C;AACA;;;ACJA;;AAEA,2DAA2D,OAAO;AAClE,wDAAwD,OAAO;AAC/D;AACA;AACA;AACA;;AAEA;AACA;;;ACVA;AACA;AACA,wBAAwB,QAAQ,EAAE;AAClC;AACA;;;ACJA;AACA;AACA;;;ACFA;;AAEA,2DAA2D,OAAO;AAClE,8DAA8D,OAAO;AACrE;AACA;AACA;;AAEA;AACA;;;ACTA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;ACxDA;AACA;AACA;AACA,0BAA0B;AAC1B;;;ACJA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;AClCA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AC3BA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;AC1EA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACxBA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACxBA;AACA;AACA;;AAEA;AACA;AACA;;;ACNA;AACA;AACA;;AAEA;AACA;AACA;;;ACNA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;;ACPA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;ACbA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;ACPA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;;ACVA;AACA;AACA;AACA;AACA;;;ACJA;;AAEA;;AAEA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,0BAAuB;AACvB;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAY;AACZ,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA,6CAA6C,OAAO;AACpD;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,0CAA0C,OAAO;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,6CAA6C,OAAO;AACpD,4BAA4B,OAAO;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,OAAO;AACpB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;;AC1GA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;AC5EwB;;AAExB;AACA;AACA;AACA;AACA;;;ACNA;AACA;;AAEA;AACA;AACA;;;ACLA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;;AC1Bc;;AAEd;AACA;AACA;AACA;AACA;;;ACNA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;ACZA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;ACPwB;;AAExB;AACA;AACA;AACA;AACA;;;ACNA;AACA;;AAEA;AACA;;AAEA,0DAA0D,OAAO;AACjE;AACA;AACA;AACA;;AAEA;AACA;;;ACbA;AACA;;AAEA;AACA;;AAEA,0EAA0E,OAAO;AACjF;AACA;;AAEA;AACA;;;ACX0B;AACC;AACF;AACE;AACF;AACI;AACC;AACC;AACL;AACG;AACA;AACD;AACG;AACH;AACH;AACE;AACD;AACC;;;ACjBb;;AAEd;AACA;AACA;;AAEA;AACA;AACA;AACA;;;ACTe;AACf;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,2BAA2B,kCAAkC,EAAE;AAC/D;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;;AC3BA;AACA;AACA;AACA;AACA;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;AChBiB;AACgC;AACzB;AACO;AAC/B;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,sBAAsB,6BAAuB;AAC7C;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,yCAAyC,oBAAoB,EAAE,OAAO;AACtE,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,2DAA2D;AAC3D,kDAAkD;AAClD,0DAA0D;AAC1D;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;ACtKwB;AAC8B;;;ACDtD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;ACTuB;;AAEvB;;AAEA;AACA;;AAEA;AACA;AACA;AACA,0BAA0B,EAAE;AAC5B,0BAA0B,EAAE;AAC5B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;ACpVA;AACA;;;ACDuB;AACQ;AACN;;AAEzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,CAAC;;;ACxHsB;AAC0B;AACxB;;AAEzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;AC5DkC;AACI;AACV;;;ACF7B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AClBc;;AAEd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACZA;AACA;AACA;AACA;AACA;;;ACJA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;AC5BwB;AACxB;AACA;AACuB;;4CAEvB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;ACtDA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,aAAa,QAAQ;AACrB,QAAQ,QAAQ;;AAEhB;AACA,eAAe,QAAQ;AACvB;AACA;AACA;;;AChBA;AACA;AACA;AACA;AACA;AACA;;;ACLA;AACA;AACA;AACA;AACA;;;ACJA;;AAEA;AACA,YAAY;AACZ,YAAY;AACZ;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;ACtBA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;;AAEA;AACA;AACA;AACA,+BAA+B;AAC/B;AACA,2BAA2B;AAC3B;AACA;AACA,wCAAwC;AACxC,2BAA2B;AAC3B;AACA,KAAK,OAAO;AACZ;AACA,cAAc,4BAAwB;AACtC;AACA;AACA;;AAEA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,OAAO;AACnC;AACA,SAAS;AACT;;;AC/Dc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACnBA;AACA;AACA;AACA;AACA;;;ACJA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACzB4B;;AAE5B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACxBA;AAC2B;;AAE3B;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc,gCAA4B,GAAG,gCAA4B;AACzE,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA,gCAAgC,gCAAgC;AAChE,cAAc,uEAAmE;AACjF,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA,cAAc,sEAAkE;AAChF,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc,gCAA4B,GAAG,gCAA4B;AACzE,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AC9DA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;;AC/DwB;AACL;;AAEnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;ACpBwB;AACxB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACfwB;AACL;;AAEnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;ACpBoC;AACjB;;AAEnB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,GAAG;AACH;;AAEA;AACA;;;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACPA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;;;ACJ+B;AACK;AACA;AACM;AACP;AACE;AACA;AACD;AACC;AACoB;AACtB;AAC6E;AAC/C;AAC/B;AAC+B;AACkB;AACtD;AACD;;;ACjB5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qIAAqI,mBAAmB;;AAExJ;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,QAAQ;AACR,gBAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,0BAAoB;AACpB;AACA,8BAA8B;AAC9B;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;;AC7Gc;;AAEd;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;;ACVmB;;AAEnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;;ACRC;;AAIA;;AAIA;;;ACZgB;AACM;;AAEvB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA,0DAA0D;AAC1D;AACA;;AAEA;AACA;AACA,2DAA2D;AAC3D;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,2CAA2C;AAC3C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,wDAAwD;AACxD;AACA,0DAA0D;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,wCAAwC;AACxC;;AAEA;AACA;AACA,uBAAuB,OAAO;AAC9B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA;;;AC1JgC;;AAEhC;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA,kDAAkD,eAAe,UAAU;AAC3E;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;ACvBA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;;ACNiB;;AAEjB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,wCAAwC,OAAO;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,oBAAoB,yBAAyB,2BAA2B,OAAO;AAC/E;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,wCAAwC,OAAO;AAC/C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,2CAA2C;AAC3C,GAAG;;AAEH;AACA;AACA;AACA;;;AChFc;AAC+C;;AAE7D;AACA;AACA;AACA;AACA;AACA;AACA;;;ACTwD;AACtC;AACC;AACnB;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACzEkB;;AAElB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AC/BkB;;AAElB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;ACtBiB;;AAEjB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;ACtBiB;;AAEjB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;;ACfgB;AACG;;AAEnB;AACA;;AAEA,qFAAqF,OAAO;AAC5F,4FAA4F,OAAO;AACnG;AACA;AACA;AACA;AACA;;AAEA;AACA;;;ACfmB;;AAEnB;AACA;;AAEA,+JAA+J,OAAO;AACtK,wHAAwH,OAAO;AAC/H;AACA;AACA;AACA;AACA;;AAEA,QAAQ,QAAQ;AAChB;AACA;;AAEA;AACA;;;AClBuB;;AAEvB;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;ACViB;AACE;AACG;;AAEtB;AACA;AACA;;AAEA;;AAEA,qFAAqF,OAAO;AAC5F,+GAA+G,OAAO;AACtH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;ACrBoB;AACD;AACG;;AAEtB;AACA;AACA;;AAEA;;AAEA,yFAAyF,OAAO;AAChG,8DAA8D,OAAO;AACrE;AACA,4IAAmI,OAAO;AAC1I;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;ACzBkB;;AAElB;;AAEA;AACA;AACA;;;ACNwD;AAC1C;AACK;AACnB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACzDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACjBmB;;AAEnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;ACnB0B;AACJ;;0DAEtB;AACA;AACA;AACA;;AAEA,2DAA2D,OAAO;AAClE,8DAA8D,OAAO;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;;;ACvBkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AC/DA;AACA;AACA;;;ACFA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;;ACVA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;;ACVA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,CAAC;;;ACpCD;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;;ACbA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;;ACVA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;;ACrBA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,CAAC;;;ACpCD;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,qCAAqC,2BAA2B;AAChE,kCAAkC,qBAAqB;;AAEvD;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;;AAEA,sCAAsC,2BAA2B;AACjE,mCAAmC,qBAAqB;;AAExD;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,wCAAwC,2BAA2B;AACnE,qCAAqC,qBAAqB;;AAE1D;AACA,CAAC;;;ACzCA;;AAOA;;AAOA;;AAOA;;AAOA;;AAOA;;AAOA;;AAOA;;AAOA;;AAOA;;;ACjEyB;AAC1B;AACuB;AACX;;AAEZ;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA,2DAA2D,OAAO;AAClE,8DAA8D,OAAO;AACrE;AACA;AACA;AACA;AACA;;AAEA;AACA;;;ACzCkB;AAClB;AACA;;AAEA;AACA;;;ACLmB;AACD;;AAElB;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;ACpBA;AAC8B;AACJ;AACG;;;ACH7B;AACA;AACA;AACA;AACA;;;ACJA;AACA;AACA;AACA;AACA;;;ACJc;;AAEd;AACA;AACA;;AAEA;AACA;AACA;AACA;;;ACTiB;AACe;AACZ;AACsB;AACxB;AAClB;AACA;AAC+B;;AAE/B,iBAAiB,aAAa;AAC9B,kBAAkB,cAAc;AAChC,mBAAmB,eAAe;AAClC,mBAAmB;;AAEnB;AACA;AACA;AACA,yBAAyB,gDAAgD,EAAE;AAC3E,wBAAwB,mCAAmC;AAC3D;;AAEA;AACA;AACA;AACA,yBAAyB,gDAAgD,EAAE;AAC3E,wBAAwB,mCAAmC;AAC3D;;AAEA;AACA;AACA;AACA,uBAAuB,WAAW,EAAE;AACpC,wBAAwB,WAAW;AACnC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,UAAU;AACV;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;8CAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,sCAAsC,eAAe,EAAE;;AAEvD;;AAEA;AACA,oCAAoC,mCAAmC,EAAE;AACzE,qCAAqC,wBAAwB,EAAE;;AAE/D;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,yCAAyC,gDAAgD,EAAE;AAC3F,uDAAuD,gCAAgC,EAAE;AACzF;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,WAAW;AACX,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,kCAAkC,gHAAgH,EAAE;AACpJ,kCAAkC,gGAAgG,EAAE;AACpI,sCAAsC,uGAAuG,EAAE;AAC/I,uCAAuC,uGAAuG,EAAE;AAChJ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA,2BAAwB,oFAA0E;AAClG;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,uDAAuD;AACvD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,6CAA6C,oBAAoB,EAAE,OAAO;AAC1E;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,uDAAuD;AACvD;AACA;AACA;;AAEA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,UAAU;AAC5B;AACA,wCAAwC;AACxC,wCAAwC;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA,mCAAmC;AACnC,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,qCAAqC;AACrC,qCAAqC;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,iCAAiC;AACjC;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;;ACrhBC;;;ACLD;AACA;AACA;AACA;AACA;AACA;;;ACLc;AACG;;AAEjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,kBAAkB;AAClB,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,kBAAkB;AAClB,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,WAAW;AACX,gBAAgB;AAChB;AACA;AACA;AACA;AACA,iBAAiB;AACjB,iBAAiB,+BAA+B;AAChD;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;ACxHA;;;ACAA;AACA;AACA;AACA;AACA;;;ACJA;AACA;AACA;AACA;;AAEA;AACA;AACA,6BAA6B;AAC7B;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;;;ACjIwB;;;ACAV;AACd;AACyB;AACZ;;AAEb;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;ACtFyB;AACC;;;ACD1B;;AAEA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,6EAAyE,8CAA8C;AACvH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,+DAA+D,qBAAqB,EAAE;;AAEtF;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;;AC1EA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA,8CAA8C,aAAa,kCAAkC,EAAE,EAAE;AACjG,wDAAwD,8BAA8B,EAAE;AACxF;;AAEA;AACA,6BAA6B,iDAAiD,EAAE;AAChF,0BAA0B,2CAA2C,EAAE;AACvE,8BAA8B,uDAAuD,EAAE;AACvF,sBAAsB,cAAc,aAAa,EAAE;AACnD,+BAA+B,mCAAmC,aAAa,EAAE;AACjF,iCAAiC,oBAAoB,aAAa,EAAE;AACpE,yBAAyB,YAAY,aAAa;AAClD;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;;ACxE+B;;AAE/B;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,0DAA0D,gBAAgB,EAAE;;AAE5E;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;;ACtCA;AACA;AACA;AACA;AACA;;;ACJA;AACA;AACA;AACA;AACA;;;ACJA;AACA;AACA,qCAAqC,0BAA0B;AAC/D;AACA;;;ACJwB;AACD;AACA;AACC;AACE;AACC;;;ACL3B;;AAEA;;;ACFA;AACA;AACA;;;ACFA;AACA;AACA;AACA;AACA;;;ACJA;AACA;AACA;AACA;AACA;;;ACJA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,6CAA6C,OAAO;AACpD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,QAAQ;AACR;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;;AC1BA;;;ACAkD;AACpC;AACd;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,mDAAmD,OAAO;AAC1D;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,+DAA+D;AAC/D;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,+DAA+D;AAC/D;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,OAAO;AACP,iEAAiE;AACjE;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;AC1MA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB,2BAA2B,WAAW;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB,2BAA2B,WAAW;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AC1C6B;AACf;AACO;AACrB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,WAAW,mCAAmC,GAAG,mCAAmC;AACpF,WAAW,mCAAmC,GAAG,mCAAmC;AACpF,WAAW,mCAAmC,GAAG,mCAAmC;AACpF,WAAW,mCAAmC,GAAG,mCAAmC;AACpF,WAAW,mCAAmC,GAAG,mCAAmC;AACpF,WAAW,mCAAmC,GAAG,mCAAmC;;AAEpF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,0CAA0C;AAC1C;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AC1H4B;AACM;;;ACDlC,YAAY;AACZ,YAAY;AACZ;AACA;AACA;;AAEA;AACA,oCAAoC;AACpC;AACA,GAAG,gBAAgB;AACnB;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;;AAEpB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,YAAY,yCAAyC;AACrF;AACA;;AAEA;AACA;AACA;AACA,gCAAgC,YAAY,yCAAyC;AACrF;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;AC9HA;;AAEA;;AAEA;AACA;AACA;AACA;;;ACPA;;AAEA;;AAEA;AACA;AACA;AACA;;;ACP6B;AAC4B;AACA;;;ACFzD;AACA;AACA;AACA;;AAEA;AACA;AACA;;;ACPA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;ACPA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;ACPsC;AACtC;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;;;ACrBA;AACA;AACA;AACA;AACA;AACA,+BAA+B,gBAAgB;AAC/C;AACA,GAAG;AACH;;;ACRA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;ACPA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;wCAEA;;AAEA;;AAEA;;;ACdwB;AACE;AACO;AACR;AACD;AACA;AACU;;;ACNlC;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,eAAe,OAAO;AACtB;AACA;;AAEA,iDAAiD,OAAO;AACxD;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;ACnCA;AACA;AACA;AACA;AACA;;;ACJA;AACA;AACA;;;ACFA;AACA;AACA;AACA;AACA;;AAEA;AACA,wCAAwC;;AAExC;AACA;AACA,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,mDAAmD;AACnD,oDAAoD;AACpD;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,mDAAmD;AACnD,oDAAoD;AACpD,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,aAAa,OAAO;AACpB;AACA;;AAEA;AACA;;;ACpFA;AACA,kDAAkD;;AAElD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;ACzDA;AACA;AACA;AACA,8CAA8C;AAC9C,GAAG;AACH;AACA;;;ACNA;AACA;AACA;AACA;AACA;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACNA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;ACrEA;AACA,0FAA0F;;AAE1F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,mDAAmD;AACnD,oDAAoD;AACpD;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,kCAAkC,OAAO;AACzC;AACA;;;AC7DA;AACA;AACA;;;ACFA;AACA;AACA;AACA,gCAAgC;AAChC,GAAG;AACH;AACA;;;ACNA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACfA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACpBA;AACA;AACA;;AAEA;AACA;AACA;;;ACNA;AACA;AACA;;AAEA;AACA;AACA;;;ACNwC;AACxC;AACA;AACA;AACA;AACiD;AACjD;AACA;AACA;AACA;AACyB;AACA;;AAEzB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,cAAc,gBAAgB;AAC9B,+CAA+C;AAC/C;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA,YAAY,gDAAgD;AAC5D;AACA,mBAAmB,OAAO;AAC1B;AACA,sCAAsC,qDAAqD;AAC3F;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACxE4B;;;ACA5B;AACA;AACiB;;AAEjB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,mBAAmB,gBAAgB;AACnC;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,4BAA4B,OAAO;AACnC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;ACjGA;AACA;AACY;;AAEZ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;6CAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,qCAAqC,gBAAgB;AACrD,uDAAuD,OAAO;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,qCAAqC,OAAO;AAC5C;AACA;AACA;AACA;AACA;AACA;;AAEA,oCAAoC,OAAO;AAC3C;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,qCAAqC,OAAO;AAC5C;AACA;AACA;;AAEA;AACA;;AAEA,qCAAqC,OAAO;AAC5C;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;ACnHiB;AACL;AACE;;AAEd;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;;AAEL,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,2CAA2C,OAAO;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;;AC9IA;AACA;AACiB;AACJ;;6CAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,0BAA0B,OAAO;AACjC;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB;;AAEA;AACA;;AAEA;AACA;AACA,yBAAyB,OAAO;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,yCAAyC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,yCAAyC;AACzC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;ACjHA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,qCAAqC,OAAO;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;ACxDA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,2CAA2C,OAAO;AAClD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;ACxCA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,2CAA2C,OAAO;AAClD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;ACxC+B;AACC;AACH;AACI;AACF;AACI;AACT;AACA;;;ACP1B;AACA;AACA;AACA;AACA,+FAA+F;AAC/F;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACbA;;AAEA;AACA;AACA;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;ACjBA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;;ACNA;AACA;;AAEA;AACA;AACA;;AAEA,sDAAsD;;AAEtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACnCA;AACA;AACA,iDAAiD,OAAO;AACxD;AACA,4BAA4B;AAC5B,qCAAqC,QAAQ;AAC7C,4BAA4B,uBAAuB,QAAQ,EAAE;AAC7D;AACA;AACA;AACA;;;ACVA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wFAAwF;AACxF;;;ACfA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACVA;AACA;;AAEA;AACA,uBAAuB,6BAA6B,EAAE;AACtD,oBAAoB,kCAAkC,EAAE;AACxD,oBAAoB,eAAe,EAAE;AACrC,oBAAoB,mCAAmC,EAAE;AACzD,uBAAuB,2BAA2B,EAAE;AACpD,uBAAuB,qBAAqB,EAAE;AAC9C,uBAAuB,yBAAyB,EAAE;AAClD,oBAAoB,kCAAkC,EAAE;AACxD,uBAAuB,kCAAkC,EAAE;AAC3D;AACA;AACA,oBAAoB,iDAAiD,EAAE;AACvE,oBAAoB,mCAAmC;AACvD;;;ACjBA;AACA;AACA;;;ACFA;AACA;AACA;AACA;AACA;AACA;AACuB;AACvB;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,sEAAsE;AACtE,sEAAsE;AACtE,qIAAqI;AACrI,qEAAqE;AACrE;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;AC7IA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;;;AClBA;;AAEA;AACA;AACA;;;ACJA;;AAEA;AACA;AACA;;;ACJA;;AAEA;AACA;AACA;AACA;;;ACL6D;AAC7B;AACG;AACD;AACC;AACD;;;ACLlC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe;AACf,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;ACvCA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA4C,mCAAmC;AAC/E;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;;AClCA;;;ACAA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;;ACpEA;AACiD;AACjD;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,4BAA4B;;AAE5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;ACzEoC;;AAEpC;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;AChCA;AACgC;AACwC;AACjC;AACvC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,4CAA4C,OAAO;AACnD;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA,2EAA2E,QAAQ;AACnF;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;;AC/KyE;AACzE;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iCAAe;;AAEf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;iDAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AC3IA;AACA;AACA;AACA;AACA;;;ACJA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;ACXA;AACyD;;AAEzD;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;;AC3EwD;AACxD;AACuD;AACjC;;AAEtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,yBAAyB,iCAAiC;AAC1D;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;;AAEhB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;ACvEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACvBqB;;AAErB;AACA;AACA;;;ACJA;;AAEA;AACA;AACA;AACA,iBAAiB;AACjB,iBAAiB;AACjB,iBAAiB;AACjB,yBAAyB;AACzB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;AACA;;AAEA,8BAA8B,OAAO;AACrC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,OAAO;AAC/C,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,qCAAqC,QAAQ;AAC7C,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACpGA;AAC6D;AACM;;AAEnE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA,qCAAqC,OAAO;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,mBAAmB,OAAO;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;ACvEA;AACA;AACwB;AACxB;AACc;;AAEd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,OAAO;AAC5B;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;AClIA;AACiD;;sDAEjD;AACA,cAAc,aAAa,EAAE;AAC7B;AACA;AACA;AACA;;AAEA;AACA,uCAAuC,sBAAsB;AAC7D;AACA;AACA;AACA;AACA;AACA,YAAY;;AAEZ;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,oDAAsC;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,oDAA2C;AAClD,iFAAuE;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA,uBAAuB;AACvB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;;AC3FgG;AAC3E;AACwB;AAC7C;AACA;;AAEA;AACA;AACA;AACA;AACA,6CAAwC;;AAExC;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,kEAAkE;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B,mCAAmC;AACnC,4BAA4B;AAC5B,gCAAgC;AAChC;AACA;;AAEA;AACA;;;ACrLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;;;AC1DqB;AACrB;AACA;AACA;AACc;;AAEd;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,gCAAgC;AAChC;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,yCAAyC,OAAO;AAChD,kHAAkH,OAAO;AACzH;AACA,yBAAyB,yEAAyE;AAClG,gBAAgB,0EAA0E;AAC1F;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;ACvKA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;;ACnBA;AAC4C;AAC5C;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;ACpDA;;AAEA;AACA,uBAAc;;AAEd;AACA;AACA;AACA;AACA;;;ACTmC;AACP;AACH;;AAEzB;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;ACnFc;AACa;;AAE3B;AACA;AACA,sBAAsB,2BAA2B,eAAe,EAAE,EAAE;AACpE;;AAEA;AACA;AACA,sBAAsB,2BAA2B,eAAe,EAAE,EAAE;AACpE;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,YAAY;AACZ;;AAEA;AACA;AACA;AACA,0EAAsE,mCAA8B,EAAE;AACtG,0EAAsE,mCAA8B,EAAE;AACtG;;AAEA;AACA,8CAA8C,SAAS,8CAA8C,EAAE;AACvG;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;ACxGgE;;AAEhE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;AAEA;AACA;;;ACnCA;AACA;AACA;;;ACFA;AACY;AACZ;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;ACjDA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;AC3Ba;;AAEb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;ACnGY;AACZ;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;;AC5CA;AACa;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;;AC5CA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;AC1DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;oDAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AC5DA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,yBAAyB,yBAAyB,EAAE;AACpD,sBAAsB,sBAAsB,EAAE;AAC9C,yBAAyB,yBAAyB,EAAE;AACpD,uBAAuB,uBAAuB,EAAE;AAChD,4BAA4B,4BAA4B,EAAE;AAC1D,0BAA0B,0BAA0B;AACpD;;;ACzB6B;AAC7B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;AC9CkB;AACoC;AAClC;;AAEpB;AACA,4CAAuC;;AAEvC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC;;AAEpC;AACA;AACA;AACA;AACA,gCAAgC,uBAAuB,sCAAsC,EAAE;AAC/F,8BAA8B,qBAAqB,sCAAsC;AACzF;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;ACrGA;AACA;AACA;AACA;AACA;AACyC;AACnB;AACF;AAC4B;AAChD;;AAEA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,uCAAuC,gBAAgB,EAAE;AACzD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;ACnK6B;AACH;;AAE1B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;ACduB;;AAEvB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;ACdwD;AAChC;AACQ;;AAEhC;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;AC7BA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACTgB;AAChB;AACA;AACgD;;AAEhD;AACA;AACA;AACA;AACA;AACA,2BAA2B,YAAY,wCAAwC,EAAE;AACjF,wBAAwB,YAAY,qCAAqC,EAAE;AAC3E,2BAA2B,YAAY,wCAAwC,EAAE;AACjF,yBAAyB,YAAY,sCAAsC,EAAE;AAC7E,8BAA8B,YAAY,2CAA2C,EAAE;AACvF,4BAA4B,YAAY,yCAAyC;AACjF;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,uBAAuB,gBAAgB;;AAEnE;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;;AC9GoC;;AAEpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACzBmB;AACmB;AACtC;;AAEA;AACA;AACA,CAAC;;AAED;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;;;AChBkB;AACoB;AACtC;;AAEA;AACA;AACA,CAAC;;AAED;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;;;AChB6C;AAC7C;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B;;AAE5B;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;ACnD+E;AACvD;AACJ;;AAEpB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,gBAAgB,8EAAkD;AAClE,UAAU,4EAAgD;AAC1D;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;AClCA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;;ACXkD;AAC1B;AACG;;AAE3B;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;AC5BuB;AACC;AACxB;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;;ACfA;AACA;AACoB;AAC4B;;AAEhD;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;;AC7DA;AACqB;;AAErB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;AC3BgC;AACR;AACxB;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;;ACduB;AACC;AACxB;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;;;ACjBoC;AACT;;AAE3B;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;;AC1B2B;AACE;AACE;AACF;AACU;AACN;AAC0B;AACvB;AACL;AACA;AACgC;AAC7B;AACL;AACF;AACE;AACG;AAC4D;AACM;AAClB;AACA;AACM;AACH;AACrB;AAC/B;AAC6C;AACd;AACe;AACH;AACG;AACe;AAC7D;AACF;AACG;;;AChChC;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;ACnFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD,OAAO;AAC3D;AACA;AACA;AACA,GAAG;AACH;AACA;;;ACZA;AACA;AACA;AACA;AACA,+CAA+C,QAAQ;AACvD;AACA;AACA;AACA;AACA;;;ACTA;AACA;AACA;AACA;AACA,kDAAkD,OAAO;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;ACRA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACNA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;;ACRA;AACA;AACA;AACA,wBAAwB;AACxB,kBAAkB,kCAAkC;AACpD;AACA,GAAG;AACH;AACA;;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,qBAAqB,QAAQ;AAC7B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AC9EA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;ACfuB;;AAEvB;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA,aAAa,cAAc;AAC3B;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,kBAAkB;AAC/B,mBAAmB,cAAc;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB,cAAc;AAC/B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACrHA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,mBAAmB,OAAO;AAC1B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,mBAAmB,wCAAwC;;AAE3D;AACA,aAAa,OAAO;;AAEpB;AACA;;AAEA;AACA;AACA;AACA;;;ACrHA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;ACPA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;ACRoB;AACH;AACc;;AAE/B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,wBAAwB,OAAO;AAC/B;AACA,wBAAwB,OAAO;AAC/B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AC9EA;AACA;AACA;AACA;AACA;AACA;;;ACLA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;ACXA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;ACnDiB;AACW;;AAE5B;AACA,eAAe,UAAU;AACzB;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;iDAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,oCAAoC,oCAAoC,KAAK,EAAE;AAC/E;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;ACxEa;;AAEb;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,gBAAgB;AAChB,gBAAgB;AAChB,aAAa;AACb,aAAa;AACb,aAAa;AACb,aAAa;AACb,gBAAgB;AAChB,aAAa;AACb;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,qBAAqB,QAAQ;AAC7B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;AC5OA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;ACXA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;;AAEA;AACA,UAAU,QAAQ;AAClB;AACA;AACA;AACA;AACA;AACA,gCAAgC,uBAAuB,OAAO;AAC9D;AACA;;AAEA;AACA,qBAAqB,8DAA8D;AACnF;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,CAAC;;;ACjED;AACA;AACiB;AACc;;AAE/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;AC7FA;AACA;AACA;AACA;;AAEA,6BAA6B,OAAO;AACpC;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;;AC7CA;AACA;;AAEA;AACA;AACA;;;ACLA;AACA;AAC2B;;AAE3B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,iDAAiD,OAAO;AACxD;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,CAAC;;;ACnC0B;AACE;AACL;AACQ;AACD;AACF;AACD;AACJ;AACG;AACM;AACF;AACC;AACI;AACD;AACE;;;ACdrC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACNA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,OAAO;AACxB;AACA;AACA;;AAEA,gCAAgC;AAChC;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,aAAa,OAAO;AACpB;AACA,aAAa,OAAO;;AAEpB;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,mCAAmC,QAAQ;AAC3C,qBAAqB,qCAAqC;;AAE1D;AACA;;;AChDA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;;AAEA;AACA;;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;ACtB+B;AACI;AACJ;AACI;AACF;;;ACJjC;AACA;AACA;;;ACFA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,CAAC;;;AChBD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;;AAEA;;AAEA;AACA,CAAC;;;AC3BD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,CAAC;;;ACdD;;AAEA;AACA;AACA;AACA,8BAA8B,OAAO;AACrC;AACA;AACA;;AAEA;;AAEA;AACA,CAAC;;;ACbD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,CAAC;;;ACdD;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,CAAC;;;ACZgC;AACD;AACG;AACJ;AACI;AACE;;;ACLrC;;AAEA;AACA;;;ACHY;AACE;;AAEd,gBAAuB;;AAEvB;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AC7C0B;AAC1B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA8C,yBAAyB,EAAE;AACzE;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;ACpGA;AACA;AACA;AACA;AACA;;;ACJA;AACA;AACA;;;ACFe;AAC2C;AACvC;AACnB;AACA;;AAEA;;AAEA;AACA;AACA,qBAAqB,oBAAoB;AACzC;AACA;;AAEA;AACA;AACA;AACA,wBAAwB,uCAAuC;AAC/D;AACA;;AAEA;AACA;AACA;AACA,wBAAwB,uCAAuC;AAC/D;AACA;;AAEA;AACA;AACA;AACA;AACA,sBAAsB,kBAAkB;AACxC;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;AChHiB;AAC8E;;AAE/F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AC9B6B;AACc;AAC+B;AAC1E;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;ACpEY;AACM;AAClB;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;ACtBA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;ACjBc;AACC;AACf;AACA;AACoC;;AAEpC;AACA;AACA,qBAAqB,4BAA4B;AACjD;AACA;;AAEA;AACA;AACA,qBAAqB,+CAA+C;AACpE,qBAAqB,4CAA4C;AACjE;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,qBAAqB,0BAA0B;AAC/C;;AAEA;AACA;AACA;AACA;AACA,8CAA8C,2BAA2B,EAAE;AAC3E;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,uBAAuB,OAAO;AAC9B,gCAAgC,UAAU;AAC1C;AACA;AACA;AACA;AACA;AACA,OAAO,YAAY,OAAO;AAC1B,uCAAuC,QAAQ;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,0BAA0B,kCAAkC,EAAE;AAC9D,yBAAyB,iCAAiC;AAC1D,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;;;AC/HA;AACkB;AACkB;;AAEpC;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,uBAAuB,yCAAqC;AAC5D;AACA;;AAEA;AACA;AACA,wBAAwB,2CAAuC;AAC/D;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;ACrCiD;AACnC;;AAEd;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,oCAAoC,OAAO;AAC3C;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AClDe;AACD;AACI;;AAElB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AC7Ce;AACD;;AAEd;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AChCA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,qDAAqD;AACrD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,mDAAmD;AACnD,SAAS;AACT,mDAAmD;AACnD;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,6BAA6B,8BAA8B;AAC3D,6BAA6B,0CAA0C,EAAE;AACzE;AACA;;AAEA;AACA;;;ACnEA;;AAEA;AACA;AACA,CAAC;AACD;AACA,CAAC;AACD;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;;AAEA;AACA;;;ACzBA;AACA;AACA;AACA;AACA;;;ACJA;AACuB;;AAEvB;AACA;AACA,CAAC;AACD;AACA,CAAC;AACD;AACA,CAAC;AACD;AACA,CAAC;;+CAED;AACA;;;ACdA;AACuB;;AAEvB;AACA;AACA,CAAC;AACD;AACA,CAAC;AACD;AACA,CAAC;AACD;AACA,CAAC;;+CAED;AACA;;;ACdA;AACqC;;AAErC;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,CAAC;AACD;AACA,CAAC;AACD;AACA,CAAC;;AAED;AACA;;;AChBA;AACoC;;AAEpC;AACA;AACA,CAAC;AACD;AACA,CAAC;AACD;AACA,CAAC;AACD;AACA,CAAC;;AAED;AACA;;;ACdA;AACqC;;AAErC;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;AC5BA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA,CAAC;AACD;AACA,CAAC;AACD;AACA,CAAC;;AAED;AACA;;;ACdA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA,CAAC;AACD;AACA,CAAC;AACD;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;;AAEA;AACA;;;ACzBA;AACuB;;AAEvB;AACA;AACA,CAAC;AACD;AACA,CAAC;AACD;AACA,CAAC;AACD;AACA,CAAC;;AAED;AACA;;;ACdA;AACqB;;AAErB;AACA;AACA,CAAC;AACD;AACA,CAAC;AACD;AACA,CAAC;AACD;AACA,CAAC;;AAED;AACA;;;ACdA;AACoB;;AAEpB;AACA;AACA,CAAC;AACD;AACA,CAAC;AACD;AACA,CAAC;AACD;AACA,CAAC;;+CAED;AACA;;;ACdA;AACqB;;AAErB;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;AC5BA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA,CAAC;AACD;AACA,CAAC;AACD;AACA,CAAC;;AAED;AACA;;;ACdA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA,CAAC;AACD;AACA,CAAC;AACD;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;;AAEA;AACA;;;ACvBC;;AAOA;;AAOA;;AAKA;;AAKA;;AAKA;;AAmBA;;AAKA;;AAKA;;AAKA;;AAKA;;AAKA;;AAmBA;;AAKA;;AAKA;;;AC7FA;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,UAAU;AACV;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,+BAA+B,kBAAkB;AACjD;AACA,KAAK;AACL;AACA;AACA,+BAA+B,kBAAkB;AACjD;AACA,KAAK;AACL;AACA;AACA,+BAA+B,kBAAkB;AACjD;AACA,KAAK;AACL;AACA;AACA,+BAA+B,kBAAkB;AACjD;AACA;AACA;AACA;;AAEA,YAAY,4BAA4B;AACxC;AACA;AACA,kCAAkC;;AAElC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;;AC/nBA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AC1BkB;;AAElB;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;ACZqB;AACJ;;AAEjB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;ACZuF;AACnD;AACP;AACD;;;ACHD;AACgB;AACuD;AAC/E;AACP;AAC8D;AAC1E;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,oCAAoC,aAAa,EAAE;AACnD;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;ACtIiB;AACC;AACwE;;AAE1F;AACA;AACA;;;ACNkB;;AAElB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;AC1BC;;AAIA;;AAIA;;AAIA;;AAKA;;AAKA;;AAIA;;AAIA;;AAIA;;AAIA;;AAIA;;AAIA;;;ACjDD;AACA;AACA;AACA;AACA;;;ACJA;;AAEA;;;ACFA;;AAEA;;;ACFA;;AAEA;;;ACFA;;AAEA;;;ACFA;;AAEA;;;ACFA;;AAEA;;;ACFA;;AAEA;;;ACFA;;AAEA;;;ACFA;;AAEA;;;ACF4B;;AAE5B;AACA;AACA;;;ACJA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;ACfA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;ACfA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;ACfA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;ACfA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;ACfA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;ACfA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;ACfA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;ACfA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;ACfA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;ACbA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;ACbA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;ACbA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;ACbA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;ACbA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;ACbA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;ACbA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;ACbA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;ACbA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;ACbA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;ACbA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;ACbA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;ACbA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;ACbA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;ACbA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;ACbA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;ACbA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;ACbkB;AACe;;AAEjC;;;ACHkB;AACe;;AAEjC;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AChBY;;AAEZ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACbA;;AAEA;AACA;AACA;AACA;AACA;AACA;;4CAEA;;AAEA;;AAEA;;AAEA;;;ACfoC;AACJ;AACD;AACC;AACC;AACA;AACH;AACA;AACA;AAC2B;AACA;AACA;AACA;AACA;AACA;AACI;AACA;AACI;AACR;AACA;AACA;AACA;AACI;AACJ;AACA;AACA;AACI;AACJ;AACI;AACA;AACF;AACE;AACF;AACI;AACN;AACM;AAChB;AACyC;AAClD;AACuF;;;ACvC7H;AACA;AACA;AACA;AACA;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;;ACnBa;AACb;AACmF;;AAEnF;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,yBAAyB;AACzB;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;AClQA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,8BAA8B,sEAAsE;AACpG,8BAA8B;AAC9B,0CAA0C;AAC1C;AACA;AACA;;AAEA;AACA;AACA;;;AC9BA;AACA;AACA;;AAEA;AACA;AACA;;;ACNa;AACb;AACA;AACiC;;6CAEjC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,eAAe,QAAQ;AACvB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;ACtDa;AACb;AACA;AACA;AACiC;;AAEjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,eAAe,QAAQ;AACvB;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,yBAAyB,QAAQ;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;AC5GA;AACA;AACA;;;ACFA;AACA;AACA;;;ACFA;AACA;AACA;AACY;;AAEZ;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,eAAe,OAAO;AACtB;AACA;AACA;AACA;;AAEA;AACA,uDAAuD,qCAAqC,EAAE;AAC9F,sDAAsD,+BAA+B,EAAE;;AAEvF;AACA,kDAAkD,OAAO;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;AC9EA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;;ACnCuC;AACvC;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AClBuC;AACvC;AACmB;;+CAEnB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,yBAAyB,EAAE;AAC5D,+BAA+B,yBAAyB,EAAE;AAC1D,kCAAkC,yBAAyB,EAAE;AAC7D,kCAAkC,yBAAyB,EAAE;;AAE7D;AACA;AACA;;AAEA;AACA;;;AC5BA;AACA;AACA;;;ACFA;;;ACAa;AACC;AACd;AACiC;AACjC;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;ACnFgB;;AAEhB;AACA;AACA;AACA;AACA;AACA;AACA;;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACjBA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACbgB;;AAEhB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,OAAO;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACNA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACVA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACzBa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;AC7CA;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,oDAA8C;AAC9C,uDAAuD;AACvD;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,8BAA8B,sEAAsE;AACpG,8BAA8B;AAC9B,8BAA8B,oFAAoF;AAClH,uCAAiC;AACjC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;AClDA;AACc;;AAEd;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,8BAA8B,4BAA4B;AAC1D,8BAA8B,4BAA4B;AAC1D,8BAA8B,4BAA4B,4FAA4F;AACtJ,uCAAiC;AACjC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;ACnDc;;AAEd;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,8BAA8B;AAC9B,8BAA8B;AAC9B,8BAA8B,oFAAoF,0EAA0E;AAC5L,8BAA8B;AAC9B,uCAAiC;AACjC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;ACtCc;;AAEd;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,CAAC;;;ACvDD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,uDAAuD;AACvD,uDAA8C;AAC9C;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,8BAA8B,sEAAsE;AACpG,8BAA8B,4BAA4B;AAC1D,8BAA8B;AAC9B,0CAAiC;AACjC;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,CAAC;;;AC5DD;AACc;;AAEd;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,8BAA8B,4BAA4B;AAC1D,8BAA8B,kDAAkD;AAChF,8BAA8B,4BAA4B;AAC1D,0CAAiC;AACjC;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,CAAC;;;AC5Da;;AAEd;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,8BAA8B;AAC9B,8BAA8B;AAC9B,8BAA8B,kGAAkG;AAChI,8BAA8B;AAC9B,0CAAiC;AACjC;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,CAAC;;;AChDe;AACC;;AAEjB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,uDAAuD;AACvD,6CAA6C;AAC7C;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,8BAA8B,sEAAsE;AACpG,8BAA8B;AAC9B,8BAA8B;AAC9B,4CAAiC;AACjC;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,CAAC;;;ACvFsB;AACvB;AACc;;AAEd;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,8BAA8B,4BAA4B;AAC1D,8BAA8B,kDAAkD;AAChF,8BAA8B,4BAA4B;AAC1D,4CAAiC;AACjC;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,CAAC;;;ACzEoB;AACP;;AAEd;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,8BAA8B;AAC9B,8BAA8B;AAC9B,8BAA8B,kGAAkG;AAChI,8BAA8B;AAC9B,4CAAiC;AACjC;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,CAAC;;;AC7DD;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;ACxBA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,uDAAuD;AACvD,qEAA4D;AAC5D;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA,iDAAiD;AACjD;AACA,8BAA8B,sEAAsE;AACpG,8BAA8B;AAC9B,8BAA8B,iEAAwD;AACtF,uEAA8D;AAC9D;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,0BAA0B,4BAA4B,EAAE;AACxD,yBAAyB,2BAA2B,EAAE;AACtD,0BAA0B,4BAA4B,EAAE;AACxD,iDAAiD,mDAAmD;AACpG;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;;ACvGA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,gCAAgC,QAAQ;AACxC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,WAAW;AACxB;AACA,aAAa,OAAO;AACpB;AACA,iBAAiB,QAAQ;AACzB;AACA,aAAa,WAAW;AACxB;AACA;;AAEA;AACA;AACA;;;AChEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,8BAA8B,sEAAsE;AACpG,8BAA8B;AAC9B;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;;ACpDA;AACA;AACA,iEAAiE,OAAO;AACxE;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA;;;ACRA;AACA;AACA;AACA;AACA;;;ACJc;AACd;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,eAAe,OAAO;AACtB,iEAAiE,OAAO;AACxE;AACA;AACA;AACA;AACA;;AAEA,+BAA+B,OAAO;AACtC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;ACxDA;;AAEA;AACA;AACA,gDAAgD,OAAO;AACvD,mBAAmB,OAAO;AAC1B,sBAAsB,OAAO;AAC7B;AACA;AACA;;;ACTA;AACA;AACA,mEAAmE,OAAO;AAC1E,4BAA4B,OAAO;AACnC;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;;ACbA;;AAEA;AACA;AACA,0DAA0D,OAAO;AACjE,0BAA0B,OAAO;AACjC;AACA;AACA;AACA;;;ACTA;;AAEA;AACA;AACA,kCAAkC,OAAO;AACzC,mCAAmC,OAAO;AAC1C;AACA;AACA;AACA;AACA,qBAAqB,OAAO;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACvBA;;AAEA;AACA;AACA,iDAA2C,0BAA0B,EAAE;AACvE;;AAEA;AACA;AACA;AACA;AACA;;;ACXA;;AAEA;AACA;AACA;;;ACJA;AACY;;AAEZ;AACA;AACA;AACA;AACA;AACA,sDAAgD,0BAA0B,EAAE;AAC5E;AACA;AACA;AACA;;AAEA,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;;;AC1BA;;AAEA;AACA;AACA;;;ACJuB;AACC;AACA;AACD;AACuD;AACA;AAC/C;AACkB;;AAEd;AACH;AACD;AACE;AACD;AACF;AACI;AACL;;AAEO;AACF;AACJ;AACC;AACQ;AACF;AACJ;AACQ;AACF;AACJ;AACE;AACN;AACkC;AACjC;AACyD;;AAEhE;AACY;AACG;AACL;AACM;AACJ;AACE;AACC;AACD;AACL;AACG;;;AC5CrC;AACA;AACA;AACA;AACA;;;ACJA;AACA;AACA;;AAEA;AACA;AACA;;;ACNA;AACA,gBAAgB;AAChB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA,yBAAyB,gBAAgB,QAAQ;;AAEjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;;AC5O8B;;AAE9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA,0CAA0C;;AAE1C;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACvKyB;AACK;;AAE9B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,0DAA0D,OAAO;AACjE;AACA;AACA;AACA,iBAAiB,OAAO;AACxB,iCAAiC,4BAA4B,EAAE;AAC/D,iBAAiB,OAAO;AACxB,iBAAiB,OAAO;AACxB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,gBAAgB;AACjC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,iCAAiC,gBAAgB;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,2CAA2C;AAC3C,iBAAiB,gBAAgB;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;;;AC7HqB;AACK;;AAE1B;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,6DAA6D;;AAE7D;;AAEA;AACA;;AAEA;AACA;AACA;AACA,YAAY,iBAAiB,OAAO;AACpC,KAAK;AACL;AACA,YAAY,eAAe,OAAO;AAClC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AC7EqB;AACF;AACgB;AACJ;AACN;;AAEzB;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,gBAAgB,cAAc;AAC9B;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,6CAAqC;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;AChM8B;AAC0B;AACpC;AACF;AAClB;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,oDAAoD,0CAA0C,EAAE;AAChG;AACA;AACA,KAAK;AACL,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,GAAG;;AAEH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;;AAEL;;AAEA;AACA;AACA;;;AC7IA;AACiC;AACR;;AAEzB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;AC/C2B;;;ACA3B;AACA;AACA;AACA;AACA;;;ACJA;AACA;AACA;AACA;AACA;;;ACJA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;;ACjDc;;AAEd;AACA;AACA;;AAEA;AACA;AACA;AACA;;;ACTiB;AACe;AACR;AACyB;AAC/B;AAClB;AACA;AAC4B;AACG;;AAE/B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,sCAAsC,kCAAkC,EAAE;AAC1E,mDAAmD,gCAAgC,EAAE;AACrF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B,kBAAkB,4BAA4B,wDAAwD;AACtG;AACA;AACA,SAAS;AACT;;AAEA;AACA,2CAA2C,OAAO;AAClD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,6CAA6C,sBAAsB,EAAE;AACrE;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,yCAAyC,oBAAoB,EAAE;AAC/D,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;ACxawB;AACmC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACD3C;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;QC/BgBI,U,GAAAA,U;QAOAC,U,GAAAA,U;;kBAKD,UAAUC,KAAV,EAAiB;AAC9B,MAAI,QAAOA,KAAP,yCAAOA,KAAP,OAAiB,QAArB,EAA+B;AAC7B,WAAOF,WAAWE,KAAX,CAAP;AACD,GAFD,MAEO,IAAI,OAAOA,KAAP,KAAiB,QAArB,EAA+B;AACpC,WAAOD,WAAWC,KAAX,CAAP;AACD;AACD,SAAO,KAAP;AACD,C;;AAnBM,SAASF,UAAT,CAAoBE,KAApB,EAA2B;AAChC,MAAIA,UAAU,IAAV,IAAkB,OAAOA,MAAMC,OAAb,KAAyB,UAA3C,IAAyD,CAACC,MAAMF,MAAMC,OAAN,EAAN,CAA9D,EAAsF;AACpF,WAAO,IAAP;AACD;AACD,SAAO,KAAP;AACD;;AAEM,SAASF,UAAT,CAAoBC,KAApB,EAA2B;AAChC,MAAMG,WAAW,+DAAjB;AACA,SAAOA,SAASC,IAAT,CAAcJ,KAAd,CAAP;AACD,C;;;;;;;;;;;;QCFeK,a,GAAAA,a;AARhB;;;;;;;;AAQO,SAASA,aAAT,CAAuBC,WAAvB,EAAoC;AACzC,SAAOA,YAAYC,OAAZ,CAAoB,eAApB,EAAqC,EAArC,CAAP;AACD,C;;;;;;;;;;;;;kBCVc,UAAUC,GAAV,EAAe;AAC5B,MAAMC,OAAO,EAAb;AACA,OAAK,IAAId,IAAI,CAAb,EAAgBA,IAAIa,GAApB,EAAyBb,GAAzB,EAA8B;AAC5Bc,SAAKC,IAAL,CAAU,IAAV;AACD;AACD,SAAOD,IAAP;AACD,C;;;;;;;;;;;;QCHeE,Y,GAAAA,Y;QA6CAC,S,GAAAA,S;;AAhDhB;;;;AACA;;;;AAEO,SAASD,YAAT,CAAsB3B,GAAtB,EAA2BgB,KAA3B,EAAkC;AACvC,MAAMa,OAAO,IAAb;AACA,MAAMC,OAAOrC,MAAMsC,SAAN,CAAgBC,KAAhB,CAAsBrC,IAAtB,CAA2BiB,SAA3B,EAAsC,CAAtC,CAAb;AACA,MAAMqB,QAASjC,QAAQkC,SAAT,GAAsBlC,GAAtB,GAA4B,IAA1C;;AAEA,MAAI,OAAOgB,KAAP,KAAiB,UAArB,EAAiC;AAC/Ba,SAAKM,MAAL,CAAY,CAAZ,EAAeT,IAAf,CAAoBO,KAApB;AACA,oBAAKJ,KAAKM,MAAV,EAAkB,UAASC,GAAT,EAAczB,CAAd,EAAiB;AACjC,UAAI0B,aAAJ;AACA,UAAI1B,IAAI,CAAR,EAAW;AACT0B,eAAOrB,MAAMrB,IAAN,CAAWkC,IAAX,EAAiBO,GAAjB,EAAsBzB,CAAtB,CAAP;AACA,YAAI,OAAO0B,IAAP,KAAgB,WAApB,EAAiC;AAC/BA,iBAAO,IAAP;AACD;AACDR,aAAKM,MAAL,CAAYxB,CAAZ,EAAee,IAAf,CAAoBW,IAApB;AACD;AACF,KATD;AAUD,GAZD,MAcK,IAAI,CAACrB,KAAD,IAAUA,iBAAiBvB,KAA/B,EAAsC;AACzCuB,YAAQA,SAAS,EAAjB;;AAEA,QAAIA,MAAMtB,MAAN,IAAgBmC,KAAKM,MAAL,CAAYzC,MAAZ,GAAqB,CAAzC,EAA4C;AAC1CsB,cAAQA,MAAMsB,MAAN,CAAa,8BAAeT,KAAKM,MAAL,CAAYzC,MAAZ,GAAqB,CAArB,GAAyBsB,MAAMtB,MAA9C,CAAb,CAAR;AACD,KAFD,MAGK;AACH;AACA;AACA,sBAAKsB,KAAL,EAAY,UAASuB,KAAT,EAAgB5B,CAAhB,EAAkB;AAC5B,YAAIkB,KAAKM,MAAL,CAAYzC,MAAZ,GAAoB,CAApB,GAAwBsB,MAAMtB,MAAlC,EAA0C;AACxCkC,oBAAUjC,IAAV,CAAekC,IAAf,EAAqBW,OAAOX,KAAKM,MAAL,CAAYzC,MAAnB,CAArB;AACD;AACF,OAJD;AAKD;;AAEDmC,SAAKM,MAAL,CAAY,CAAZ,EAAeT,IAAf,CAAoBO,KAApB;AACA,oBAAKjB,KAAL,EAAY,UAASuB,KAAT,EAAgB5B,CAAhB,EAAkB;AAC5BkB,WAAKM,MAAL,CAAYxB,IAAE,CAAd,EAAiBkB,KAAKM,MAAL,CAAY,CAAZ,EAAezC,MAAf,GAAsB,CAAvC,IAA4C6C,KAA5C;AACD,KAFD;AAID;;AAED,SAAOV,IAAP;AACD;;AAEM,SAASD,SAAT,CAAmB5B,GAAnB,EAAwBgB,KAAxB,EAA+B;AACpC,MAAMa,OAAO,IAAb;AACA,MAAMC,OAAOrC,MAAMsC,SAAN,CAAgBC,KAAhB,CAAsBrC,IAAtB,CAA2BiB,SAA3B,EAAsC,CAAtC,CAAb;AACA,MAAMqB,QAASjC,QAAQkC,SAAT,GAAsBlC,GAAtB,GAA4B,IAA1C;AACA,MAAMyC,SAAS,EAAf;;AAEAA,SAAOf,IAAP,CAAYO,KAAZ;;AAEA,MAAI,OAAOjB,KAAP,KAAiB,UAArB,EAAiC;AAC/B,oBAAKa,KAAKM,MAAL,CAAY,CAAZ,CAAL,EAAqB,UAASF,KAAT,EAAgBtB,CAAhB,EAAkB;AACrC,UAAI+B,YAAJ;AACA,UAAIL,aAAJ;AACA,UAAI1B,IAAI,CAAR,EAAW;AACT+B,cAAMb,KAAKc,YAAL,CAAkBhC,CAAlB,CAAN;AACA0B,eAAOrB,MAAMrB,IAAN,CAAWkC,IAAX,EAAiBa,GAAjB,EAAsB/B,CAAtB,CAAP;AACA,YAAI,OAAO0B,IAAP,KAAgB,WAApB,EAAiC;AAC/BA,iBAAO,IAAP;AACD;AACDI,eAAOf,IAAP,CAAYW,IAAZ;AACD;AACF,KAXD;AAYAR,SAAKM,MAAL,CAAYT,IAAZ,CAAiBe,MAAjB;AACD,GAdD,MAgBK,IAAI,CAACzB,KAAD,IAAUA,iBAAiBvB,KAA/B,EAAsC;AACzCuB,YAAQA,SAAS,EAAjB;;AAEA,QAAIA,MAAMtB,MAAN,IAAgBmC,KAAKM,MAAL,CAAY,CAAZ,EAAezC,MAAf,GAAwB,CAA5C,EAA+C;AAC7CsB,cAAQA,MAAMsB,MAAN,CAAc,8BAAgBT,KAAKM,MAAL,CAAY,CAAZ,EAAezC,MAAf,GAAwB,CAAxB,GAA4BsB,MAAMtB,MAAlD,CAAd,CAAR;AACD,KAFD,MAGK;AACH,sBAAKsB,KAAL,EAAY,UAASuB,KAAT,EAAgB5B,CAAhB,EAAkB;AAC5B,YAAIkB,KAAKM,MAAL,CAAY,CAAZ,EAAezC,MAAf,GAAuB,CAAvB,GAA2BsB,MAAMtB,MAArC,EAA6C;AAC3CiC,uBAAahC,IAAb,CAAkBkC,IAAlB,EAAwBW,OAAQX,KAAKM,MAAL,CAAY,CAAZ,EAAezC,MAAvB,CAAxB;AACD;AACF,OAJD;AAKD;;AAEDmC,SAAKM,MAAL,CAAYT,IAAZ,CAAiBe,OAAOH,MAAP,CAActB,KAAd,CAAjB;AACD;;AAED,SAAOa,IAAP;AACD,C;;;;;;AC1FD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACrGD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACrGD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC5GD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,2CAA2C,IAAI;AAC/C;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC1DD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AClED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC7ED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACxDD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACxDD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AChGD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACrJD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACrHD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACxDD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACxDD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,CAAC;;;;;;;;ACxFD,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;AAE5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC5FD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACxHD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC5DD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACjED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AClHD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACjED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,qCAAqC,IAAI;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACvFD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,gCAAgC;AAChC,aAAa;AACb,+BAA+B;AAC/B,aAAa;AACb,kCAAkC;AAClC,aAAa;AACb,kCAAkC;AAClC,aAAa;AACb,+BAA+B;AAC/B,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC/HD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACzDD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACnED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACtFD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC7GD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC7GD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AClED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC3KD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC1JD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACrED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC1DD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AChGD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACpLD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACzED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C;AAC5C,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC3DD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C;AAC5C,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC/DD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC5HD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC1HD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC1DD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACrFD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACrFD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACzHD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC5DD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC3FD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,qCAAqC,IAAI;AACzC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC1DD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AChFD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AChFD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,gDAAgD;AAChD,+CAA+C;AAC/C,8CAA8C;AAC9C,gDAAgD;AAChD,4CAA4C;AAC5C,6CAA6C;AAC7C,6CAA6C;AAC7C,8CAA8C;AAC9C,8CAA8C;AAC9C,+CAA+C;AAC/C,6CAA6C;AAC7C,+CAA+C;AAC/C;AACA;AACA;AACA;AACA,kDAAkD;AAClD,iDAAiD;AACjD,gDAAgD;AAChD,iDAAiD;AACjD,8CAA8C;AAC9C,+CAA+C;AAC/C,+CAA+C;AAC/C,gDAAgD;AAChD,iDAAiD;AACjD,kDAAkD;AAClD,+CAA+C;AAC/C,gDAAgD;AAChD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC9JD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACtGD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC/ED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACxFD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA,uDAAuD,IAAI;AAC3D,6DAA6D,IAAI;AACjE,4DAA4D,IAAI;AAChE,kEAAkE,IAAI;AACtE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC9DD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC9GD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC/FD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACpHD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,yCAAyC,IAAI;AAC7C;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACpED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACtID;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACrFD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,qCAAqC,IAAI;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC/ED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC5HD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,uCAAuC,IAAI;AAC3C;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC5GD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACrFD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,8CAA8C,IAAI,IAAI,IAAI;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACvFD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AChFD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT,qCAAqC,IAAI;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC1FD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,qCAAqC,IAAI;AACzC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACnED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AClID;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AChFD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT,oCAAoC,IAAI,IAAI,IAAI;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC7FD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC5GD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACxJD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC1HD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC/FD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC1HD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,qCAAqC,IAAI;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACzHD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,qCAAqC,IAAI;AACzC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC3ED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,qCAAqC,IAAI;AACzC;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC1ED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACzED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC5ED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACxED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACjFD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC1DD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC3GD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACxGD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AChED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC9ED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,qCAAqC,IAAI;AACzC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACjFD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,qCAAqC,IAAI;AACzC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC1FD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,qCAAqC,IAAI;AACzC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC1FD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACrED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACjED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC5DD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACjED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACjED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC7DD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACjED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;AAE5B;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,gGAAgG;AAC7G;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,iCAAiC;AACjC,gCAAgC;AAChC,gCAAgC;AAChC,+BAA+B;AAC/B;AACA;AACA;AACA,yDAAyD;AACzD;AACA,0DAA0D;AAC1D;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AClGD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACjGD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC1ED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC1ED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC1ED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC1DD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC;AACnC,iBAAiB;AACjB;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC9ED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC7DD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,uBAAuB,QAAQ;AAC/B;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,uBAAuB,QAAQ;AAC/B;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,uBAAuB,QAAQ;AAC/B;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,qCAAqC,IAAI;AACzC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACjLD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACtFD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACrJD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC1GD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACrHD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACrHD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACxDD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACxFD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AClID;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA,+BAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACvGD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACzDD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACtGD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACzDD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACxHD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACzDD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACzDD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACrID;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA,4FAA4F;AAC5F,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;;;;;QCrEee,U,GAAAA,U;;AAFhB;;AAEO,SAASA,UAAT,CAAoBlC,MAApB,EAA4B;AACjC,OAAK,IAAIC,IAAI,CAAb,EAAgBA,IAAIC,UAAUlB,MAA9B,EAAsCiB,GAAtC,EAA2C;AACzC,oBAAKC,UAAUD,CAAV,CAAL,EAAmB,UAASE,IAAT,EAAegC,GAAf,EAAmB;AACpC,UAAM,OAAOnC,OAAOmC,GAAP,CAAP,KAAuB,WAAvB,IAAsC,OAAOhC,IAAP,KAAgB,WAAxD,IACE,QAAOH,OAAOmC,GAAP,CAAP,MAAuB,QAAvB,IAAsC,QAAOhC,IAAP,yCAAOA,IAAP,OAAgB,QADxD,IAEEH,OAAOmC,GAAP,MAAgB,IAAhB,IAAsChC,SAAS,IAFrD,EAE6D;AACvD+B,mBAAWlC,OAAOmC,GAAP,CAAX,EAAwBhC,IAAxB;AACL,OAJD,MAKK;AACHH,eAAOmC,GAAP,IAAchC,IAAd;AACD;AACF,KATD;AAUD;AACD,SAAOH,MAAP;AACD,C;;;;;;AChBD;AACA;AACA;AACA,WACA;AACA,CAAC,qBAAqB;;AAEtB;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,yBAAyB;;AAEzB;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA,kCAAkC,eAAe;AACjD;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,qBAAqB,iBAAiB;AACtC;AACA;AACA;;AAEA;AACA,iEAAiE;;AAEjE;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,yBAAyB,QAAQ;AACjC;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,yFAAyF;;AAEzF;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA,eAAe;AACf;AACA,eAAe;AACf;AACA,eAAe;AACf;AACA;AACA,eAAe;AACf;AACA,eAAe;AACf;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA,eAAe;AACf;AACA,eAAe;AACf;AACA,eAAe;AACf;AACA;AACA,eAAe;AACf;AACA,eAAe;AACf;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D,sBAAsB;AAClF;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,OAAO;AACP,KAAK;;;AAGL;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA,OAAO;AACP;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;;AAGL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,oEAAoE;;AAEpE;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA;AACA,+CAA+C;;AAE/C;;AAEA,mBAAmB,WAAW;AAC9B;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA,oDAAoD;AACpD;;AAEA,mDAAmD;AACnD;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA,2BAA2B;;AAE3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC;AACpC;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,gDAAgD;;AAEhD;AACA;;AAEA;AACA;AACA,KAAK;;;AAGL;AACA;AACA;;AAEA;AACA;AACA,KAAK;;;AAGL;AACA,sBAAsB;;AAEtB;AACA;AACA;AACA;AACA;AACA,oCAAoC;;AAEpC;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;;AAGL;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;;AAEvB;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;;;AAGA;AACA;AACA;AACA;AACA;;;AAGA;AACA,yCAAyC;AACzC;;AAEA,oBAAoB;;AAEpB,kBAAkB;;AAElB,+EAA+E;;AAE/E;AACA;AACA,KAAK;;;AAGL,uBAAuB;;AAEvB,2BAA2B;;AAE3B,mBAAmB;;AAEnB,sCAAsC;;AAEtC;AACA;AACA,KAAK;;;AAGL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;;;AAGL,oBAAoB;;AAEpB,yBAAyB;;AAEzB;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C;;AAE7C;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,MAAM;;AAEN;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,MAAM;;AAEN;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;;AAGL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,qCAAqC;;AAErC,oCAAoC;;AAEpC,qCAAqC;;AAErC;AACA;AACA;AACA;;;AAGA;AACA;AACA,KAAK;;;AAGL;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8EAA8E;;AAE9E;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;;;AAGL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;;AAGL,8CAA8C;;AAE9C,yCAAyC;;AAEzC;AACA;AACA,mBAAmB,uBAAuB;AAC1C;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA,KAAK;;;AAGL;AACA;AACA;AACA;AACA,iFAAiF;;AAEjF,uBAAuB;;AAEvB;AACA,qEAAqE;;AAErE;AACA;AACA;AACA,KAAK;;;AAGL,0BAA0B;;AAE1B,0MAA0M;;AAE1M;AACA;AACA,KAAK;;;AAGL,4BAA4B;;AAE5B,8BAA8B;;AAE9B,kCAAkC;;AAElC;AACA;AACA,4BAA4B;;AAE5B;AACA;AACA,KAAK;;;AAGL;AACA;AACA,KAAK;;;AAGL;AACA;AACA,KAAK;;;AAGL;AACA;AACA,KAAK;;;AAGL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS,EAAE;;AAEX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;;AAGL;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA,4BAA4B;;AAE5B;AACA;AACA,iEAAiE;;AAEjE;AACA;AACA;AACA,kHAAkH;;AAElH,qBAAqB;;AAErB;AACA,gHAAgH;;AAEhH;AACA,yBAAyB;;AAEzB;AACA,KAAK;;;AAGL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA,2DAA2D;AAC3D;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,gCAAgC;;AAEhC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA,WAAW;AACX;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,4CAA4C;;AAE5C;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;;AAEX;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;;;AAGP;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;;AAEA;AACA,qBAAqB,4BAA4B;AACjD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW;AACX;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kEAAkE;;AAElE;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,SAAS;AACT;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,SAAS;AACT;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,SAAS;AACT;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,SAAS;AACT;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,SAAS;AACT;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,SAAS;AACT;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,SAAS;AACT;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,SAAS;AACT;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,SAAS;AACT;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,SAAS;AACT;AACA,OAAO;;AAEP;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,SAAS;AACT;AACA,OAAO;;AAEP;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,SAAS;AACT;AACA,OAAO;;AAEP;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,SAAS;AACT;AACA,OAAO;;AAEP;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,SAAS;AACT;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,SAAS;AACT;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,SAAS;AACT;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,SAAS;AACT;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,SAAS;AACT;AACA,OAAO,EAAE;AACT;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iFAAiF;;AAEjF;;AAEA;AACA;AACA;AACA;AACA,WAAW;;AAEX;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,0EAA0E;;AAE1E;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,SAAS;AACT;AACA,OAAO,EAAE;AACT;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,OAAO,EAAE;;AAET;AACA;AACA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA,OAAO,EAAE;AACT;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,QAAQ;;;AAGR;AACA;;AAEA;;AAEA;AACA,QAAQ;;;AAGR;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,SAAS;;AAET;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA,4CAA4C;;;AAG5C;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA,0CAA0C;;AAE1C;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,SAAS;AACT;AACA,QAAQ;;;AAGR;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,+CAA+C;;AAE/C;AACA,UAAU;AACV;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,qCAAqC;;;AAGrC,0HAA0H;AAC1H;AACA;AACA;AACA;AACA,6BAA6B;;AAE7B;;AAEA;AACA;AACA,WAAW;;;AAGX;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;;;AAGX;AACA,iCAAiC;;AAEjC;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW;;;AAGX;AACA,iCAAiC;;AAEjC;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;;;AAGb;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA,4CAA4C,sCAAsC;;AAElF;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG,IAAI;AACP;AACA;AACA;;;AAGA;AACA;AACA,uCAAuC;;AAEvC;;AAEA;AACA;AACA,OAAO;AACP;;AAEA;AACA,yEAAyE;AACzE;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL,oCAAoC;;AAEpC;AACA;AACA;AACA,KAAK;;;AAGL,+BAA+B;;AAE/B;AACA,iDAAiD;;AAEjD;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA,wBAAwB;AACxB;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;;AAEA,kDAAkD;;AAElD;AACA;AACA;AACA;;AAEA,iBAAiB,oBAAoB;AACrC;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA,qBAAqB,YAAY;AACjC;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK,EAAE;;AAEP;AACA;;AAEA,iBAAiB,wBAAwB;AACzC;AACA;;AAEA,qBAAqB,YAAY;AACjC;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,KAAK,EAAE;;AAEP;AACA;AACA;AACA;;AAEA,oDAAoD,UAAU;AAC9D;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;;AAEA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA,OAAO;AACP;;AAEA,sDAAsD;AACtD;;AAEA;AACA;AACA,qCAAqC;;AAErC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA,KAAK;;;AAGL;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;;;AAGL,sCAAsC;;AAEtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C;AAC5C;;AAEA,2FAA2F;;AAE3F,wBAAwB;;AAExB;AACA;AACA,OAAO,EAAE;;AAET,qDAAqD;;AAErD;AACA;AACA;;AAEA,2CAA2C;;AAE3C;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD;;AAErD;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;;AAEvB;AACA,qBAAqB,gBAAgB;AACrC;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;;;AAGT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gHAAgH;;AAEhH;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA,iEAAiE;;AAEjE;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA,2BAA2B;;AAE3B;AACA;AACA,KAAK;;;AAGL;AACA;AACA,KAAK;;;AAGL;AACA;AACA;AACA,OAAO;AACP,KAAK;;;AAGL;AACA;AACA,KAAK;;;AAGL;AACA;AACA;AACA,OAAO;AACP,KAAK;;;AAGL;AACA;AACA;AACA,OAAO;AACP,KAAK;;;AAGL;AACA;AACA;AACA,KAAK;;;AAGL;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD;;AAErD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD;;AAErD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;;AAEA;AACA;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT;AACA;;AAEA;AACA;;AAEA;AACA,KAAK;;;AAGL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC;;AAEtC;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL,yCAAyC;;AAEzC;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA,OAAO;;;AAGP;AACA;AACA,MAAM;;;AAGN;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;;;AAGL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,uKAAuK;AACvK;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA,OAAO;AACP;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,+CAA+C;;AAE/C;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,+CAA+C;;AAE/C;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,mCAAmC;;AAEnC;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,mBAAmB,gBAAgB;AACnC;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,eAAe,gBAAgB;AAC/B;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,+EAA+E,WAAW;AAC1F;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,8CAA8C;;AAE9C;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;;AAEhB;AACA;AACA,OAAO;AACP;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,mBAAmB;AACpC;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C;AAC5C,sDAAsD;AACtD,kDAAkD;AAClD;AACA;AACA;AACA;AACA,4CAA4C;AAC5C,0CAA0C;AAC1C,sCAAsC;AACtC,wCAAwC;AACxC,kCAAkC;AAClC,0CAA0C;AAC1C;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,oBAAoB;AACpB,sBAAsB;AACtB;AACA,mBAAmB;AACnB;AACA,oBAAoB;AACpB,qBAAqB;AACrB;AACA,sBAAsB;AACtB;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,8CAA8C;AAC9C,sDAAsD;AACtD,oDAAoD;AACpD,oDAAoD;AACpD,wDAAwD;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sDAAsD;AACtD;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,kDAAkD;AAClD,kDAAkD;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,6BAA6B;;AAE7B;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA,oBAAoB;;AAEpB;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,sDAAsD;AACtD,SAAS,IAAI;AACb;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA,KAAK;AACL;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;;AAEA;AACA,6CAA6C;;AAE7C,mCAAmC;;AAEnC;;AAEA,mBAAmB,sBAAsB;AACzC;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,QAAQ;AACrB,cAAc;AACd;;;AAGA;AACA;AACA;;AAEA,mBAAmB,iBAAiB;AACpC;;AAEA,qBAAqB,oBAAoB;AACzC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,QAAQ;AACrB,cAAc;AACd;;;AAGA;AACA;AACA;;AAEA,mBAAmB,oBAAoB;AACvC;;AAEA,qBAAqB,uBAAuB;AAC5C;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,QAAQ;AACrB,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,QAAQ;AACrB,cAAc;AACd;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA,iCAAiC;;AAEjC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,WAAW;AACX,SAAS;AACT;AACA;AACA,WAAW;AACX;AACA;AACA,aAAa;;AAEb,OAAO;AACP;AACA;AACA,SAAS;AACT;AACA,KAAK,EAAE;;AAEP;AACA;AACA;AACA;AACA,KAAK,EAAE;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;;AAEhB;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,WAAW;;;AAGX;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA,KAAK,EAAE;;AAEP;AACA,YAAY;;AAEZ;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;;;AAGP;AACA;AACA;AACA,OAAO,EAAE;;AAET;AACA;AACA,OAAO;AACP,KAAK,EAAE;;AAEP;AACA,gEAAgE;;AAEhE;AACA;AACA;AACA,OAAO;AACP,KAAK;;;AAGL;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,eAAe,gBAAgB;AAC/B;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,eAAe,gBAAgB;AAC/B;;AAEA,iBAAiB,mBAAmB;AACpC;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,cAAc;AACd;;;AAGA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,cAAc;AACd;;;AAGA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,KAAK,EAAE;;AAEP;AACA;;AAEA;AACA;AACA;AACA,gBAAgB;;AAEhB;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,KAAK,EAAE;;AAEP;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,+BAA+B,OAAO;AACtC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;;;AAGP;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;;;AAGP;AACA,uBAAuB,oBAAoB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,wDAAwD;AACxD,KAAK;;;AAGL,sCAAsC;;AAEtC;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;;;AAGL;AACA;AACA,KAAK,EAAE;;AAEP;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA,mCAAmC;;AAEnC;AACA;AACA,OAAO;;;AAGP;AACA;AACA,OAAO;AACP,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,iBAAiB,+BAA+B;AAChD;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;;AAEA,+BAA+B;;AAE/B;AACA;AACA;AACA,WAAW;AACX,SAAS;;;AAGT,mBAAmB,uBAAuB;AAC1C;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,iBAAiB,+BAA+B;AAChD;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;;AAEA,+BAA+B;;AAE/B;AACA;AACA;AACA,WAAW;AACX,SAAS;;;AAGT,mBAAmB,uBAAuB;AAC1C;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0EAA0E;;AAE1E;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,uDAAuD;;AAEvD;AACA;AACA,KAAK;;;AAGL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;;AAGL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;;AAGL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;;AAEhB;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;;AAGL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;;AAGL;AACA;AACA,KAAK;;;AAGL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6HAA6H;;AAE7H;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA,mDAAmD;;AAEnD;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;;AAGL;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;;AAGL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;;;AAGN;AACA;AACA,KAAK;AACL;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C;;AAE5C;AACA;;AAEA;AACA;AACA;;AAEA,+GAA+G;;AAE/G;AACA;AACA,KAAK;AACL;AACA,yQAAyQ;;AAEzQ,oDAAoD;AACpD;;AAEA,kFAAkF;;AAElF;AACA;AACA;;AAEA,+GAA+G;;AAE/G;AACA;AACA,KAAK;AACL;AACA,yQAAyQ;;AAEzQ;AACA;AACA;AACA;AACA,KAAK,sBAAsB;;AAE3B;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA,KAAK;;;AAGL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,yBAAyB,eAAe;AACxC;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,wGAAwG;;AAExG;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;;AAEV;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;;AAGL;AACA;AACA;AACA;AACA,OAAO;;;AAGP;AACA;AACA;;AAEA;AACA,KAAK;AACL;;AAEA;AACA;AACA,OAAO;;;AAGP;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA,OAAO;;;AAGP;AACA;AACA,OAAO;AACP,yCAAyC;;AAEzC;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA,qDAAqD;;AAErD,sCAAsC;;AAEtC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,OAAO;;;AAGP;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK,kBAAkB;AACvB;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB,mBAAmB;AACnB,oBAAoB;AACpB;AACA,kBAAkB;AAClB;AACA;AACA,wCAAwC;;AAExC;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;;AAEpB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,MAAM;;;AAGN;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,8cAA8c;;AAE9c;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;;AAGL;AACA;AACA,KAAK,EAAE;;AAEP;AACA;AACA,8BAA8B;;AAE9B;AACA;AACA,uBAAuB;;AAEvB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,2BAA2B;;AAE3B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAY;;;AAGZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA,KAAK;;;AAGL;AACA;AACA;;AAEA;AACA;AACA,MAAM;;;AAGN;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,wBAAwB;;AAExB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD;;AAErD;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,qGAAqG;;AAErG;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iIAAiI;;AAEjI;AACA;AACA;AACA;AACA,KAAK;;;AAGL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,0DAA0D;;AAE1D;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;;AAEA;AACA;AACA,+DAA+D;;AAE/D;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,sCAAsC;;AAEtC,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,6GAA6G;;AAE7G;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC;;AAEnC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;;AAEzB;AACA;AACA;AACA;AACA,OAAO;;;AAGP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA,iBAAiB,+BAA+B;AAChD;AACA;AACA;;AAEA,mBAAmB,kCAAkC;AACrD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,oIAAoI;;AAEpI,wDAAwD;;AAExD,wDAAwD;;AAExD;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK,EAAE;;AAEP;AACA;AACA;AACA,OAAO;AACP,KAAK,EAAE;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;;AAEtB;AACA;AACA;AACA;AACA,OAAO;;;AAGP;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,iBAAiB,oBAAoB;AACrC;AACA;AACA;AACA;;AAEA;AACA,KAAK;;;AAGL;AACA,iBAAiB,qBAAqB;AACtC;;AAEA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;;;AAGL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,MAAM;;AAEN;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA,KAAK;;;AAGL,eAAe,cAAc;AAC7B;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,wBAAwB,QAAQ;AAChC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;;AAEtB;AACA;AACA;AACA;AACA,OAAO;;;AAGP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,sCAAsC;AACtC,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;;AAGL;AACA;AACA,KAAK;;;AAGL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,mBAAmB;;AAEnB;AACA;;AAEA;AACA;AACA;;AAEA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,iEAAiE;;AAEjE,4CAA4C;;AAE5C,6FAA6F;;AAE7F,iFAAiF;;AAEjF,kFAAkF;;AAElF,kFAAkF;AAClF;;AAEA;AACA;;AAEA;AACA,kBAAkB;;AAElB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,qEAAqE;;AAErE,2DAA2D;;AAE3D;AACA;AACA,wEAAwE;;AAExE,6DAA6D;;AAE7D,6DAA6D;;AAE7D;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gFAAgF;;AAEhF;AACA;AACA;AACA;AACA,OAAO;;;AAGP;AACA;AACA;AACA;AACA,SAAS;;;AAGT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,EAAE;;AAEP;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;;;AAGL;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;;;AAGL;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,yMAAyM;;AAEzM;AACA;AACA;;AAEA,mBAAmB,sCAAsC;AACzD;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,QAAQ;;;AAGR;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;;AAEA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,OAAO,EAAE;AACT;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA,eAAe,cAAc;AAC7B;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC;;AAElC;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA,6JAA6J;;AAE7J;AACA;AACA,iFAAiF;;AAEjF;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;;AAEA;AACA;AACA,OAAO;;;AAGP;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AAC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CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wB;;;;;;AC7QA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;;;;;;ACrBA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,mDAA8C;AAC9C,EAAE;AACF;AAAA;AAAA;AAAA,qGAA8B;AAC9B,EAAE,QAEF;AACA,CAAC;AACD;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,YAAY;AACZ,YAAY;AACZ,YAAY;AACZ,cAAc;AACd;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,SAAS,kBAAkB;AAC3B;AACA;AACA;;AAEA;AACA,aAAa,uBAAuB;AACpC;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,iBAAiB,kBAAkB;AACnC;AACA;AACA;;AAEA;AACA,iBAAiB,YAAY;AAC7B,mEAAmE;AACnE;;AAEA;AACA;;AAEA;AACA;;AAEA,aAAa,oBAAoB;AACjC;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA,cAAc,mBAAmB;AACjC;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc,SAAS;AACvB;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,kCAAkC,IAAI;AACtC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,aAAa,OAAO;AACpB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,oBAAoB;AACjC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,uBAAuB;AACvB;AACA;;AAEA,aAAa,mBAAmB;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,aAAa,oBAAoB;AACjC;AACA,cAAc,mBAAmB;AACjC;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,aAAa,mBAAmB;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,aAAa,oBAAoB;AACjC;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA,gBAAgB,qBAAqB;AACrC;;AAEA;AACA;AACA,iBAAiB,2BAA2B;AAC5C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;;AAEA;;AAEA;AACA,CAAC;;;;;;;ACpmBD;AACA;;;;;;;;;;;;;;;;;;ACDA;;;;AAEA;;AACA;;AACA;;;;AAEA,IAAMM,WAAW;AACf;;;;;;;AADe,CAAjB;;AAWA,IAAIC,oBAAJ;AACA,SAASC,kBAAT,CAA4BC,eAA5B,EAA6CC,OAA7C,EAAsD;AACpD,MAAI3G,OAAO,EAAX;AACA,MAAM4G,gBAAgB;AACpBC,UAAM,CADc;AAEpBC,WAAO,CAFa;AAGpBC,YAAQ;AAHY,GAAtB;AAKA,MAAIC,eAAe,EAAnB;AACA,MAAIN,gBAAgB9B,MAAhB,CAAuBqC,KAAvB,IAAgCP,gBAAgB9B,MAAhB,CAAuBqC,KAAvB,CAA6BC,UAAjE,EAA6E;AAC3EF,mBAAeN,gBAAgB9B,MAAhB,CAAuBqC,KAAvB,CAA6BC,UAA5C;AACD;AACD,MAAMtC,sBACDgC,aADC,EAEDI,YAFC,CAA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","file":"keen-dataviz.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse {\n\t\tvar a = factory();\n\t\tfor(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i];\n\t}\n})(window, function() {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 163);\n","//! moment.js\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n global.moment = factory()\n}(this, (function () { 'use strict';\n\n var hookCallback;\n\n function hooks () {\n return hookCallback.apply(null, arguments);\n }\n\n // This is done to register the method called with moment()\n // without creating circular dependencies.\n function setHookCallback (callback) {\n hookCallback = callback;\n }\n\n function isArray(input) {\n return input instanceof Array || Object.prototype.toString.call(input) === '[object Array]';\n }\n\n function isObject(input) {\n // IE8 will treat undefined and null as object if it wasn't for\n // input != null\n return input != null && Object.prototype.toString.call(input) === '[object Object]';\n }\n\n function isObjectEmpty(obj) {\n if (Object.getOwnPropertyNames) {\n return (Object.getOwnPropertyNames(obj).length === 0);\n } else {\n var k;\n for (k in obj) {\n if (obj.hasOwnProperty(k)) {\n return false;\n }\n }\n return true;\n }\n }\n\n function isUndefined(input) {\n return input === void 0;\n }\n\n function isNumber(input) {\n return typeof input === 'number' || Object.prototype.toString.call(input) === '[object Number]';\n }\n\n function isDate(input) {\n return input instanceof Date || Object.prototype.toString.call(input) === '[object Date]';\n }\n\n function map(arr, fn) {\n var res = [], i;\n for (i = 0; i < arr.length; ++i) {\n res.push(fn(arr[i], i));\n }\n return res;\n }\n\n function hasOwnProp(a, b) {\n return Object.prototype.hasOwnProperty.call(a, b);\n }\n\n function extend(a, b) {\n for (var i in b) {\n if (hasOwnProp(b, i)) {\n a[i] = b[i];\n }\n }\n\n if (hasOwnProp(b, 'toString')) {\n a.toString = b.toString;\n }\n\n if (hasOwnProp(b, 'valueOf')) {\n a.valueOf = b.valueOf;\n }\n\n return a;\n }\n\n function createUTC (input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, true).utc();\n }\n\n function defaultParsingFlags() {\n // We need to deep clone this object.\n return {\n empty : false,\n unusedTokens : [],\n unusedInput : [],\n overflow : -2,\n charsLeftOver : 0,\n nullInput : false,\n invalidMonth : null,\n invalidFormat : false,\n userInvalidated : false,\n iso : false,\n parsedDateParts : [],\n meridiem : null,\n rfc2822 : false,\n weekdayMismatch : false\n };\n }\n\n function getParsingFlags(m) {\n if (m._pf == null) {\n m._pf = defaultParsingFlags();\n }\n return m._pf;\n }\n\n var some;\n if (Array.prototype.some) {\n some = Array.prototype.some;\n } else {\n some = function (fun) {\n var t = Object(this);\n var len = t.length >>> 0;\n\n for (var i = 0; i < len; i++) {\n if (i in t && fun.call(this, t[i], i, t)) {\n return true;\n }\n }\n\n return false;\n };\n }\n\n function isValid(m) {\n if (m._isValid == null) {\n var flags = getParsingFlags(m);\n var parsedParts = some.call(flags.parsedDateParts, function (i) {\n return i != null;\n });\n var isNowValid = !isNaN(m._d.getTime()) &&\n flags.overflow < 0 &&\n !flags.empty &&\n !flags.invalidMonth &&\n !flags.invalidWeekday &&\n !flags.weekdayMismatch &&\n !flags.nullInput &&\n !flags.invalidFormat &&\n !flags.userInvalidated &&\n (!flags.meridiem || (flags.meridiem && parsedParts));\n\n if (m._strict) {\n isNowValid = isNowValid &&\n flags.charsLeftOver === 0 &&\n flags.unusedTokens.length === 0 &&\n flags.bigHour === undefined;\n }\n\n if (Object.isFrozen == null || !Object.isFrozen(m)) {\n m._isValid = isNowValid;\n }\n else {\n return isNowValid;\n }\n }\n return m._isValid;\n }\n\n function createInvalid (flags) {\n var m = createUTC(NaN);\n if (flags != null) {\n extend(getParsingFlags(m), flags);\n }\n else {\n getParsingFlags(m).userInvalidated = true;\n }\n\n return m;\n }\n\n // Plugins that add properties should also add the key here (null value),\n // so we can properly clone ourselves.\n var momentProperties = hooks.momentProperties = [];\n\n function copyConfig(to, from) {\n var i, prop, val;\n\n if (!isUndefined(from._isAMomentObject)) {\n to._isAMomentObject = from._isAMomentObject;\n }\n if (!isUndefined(from._i)) {\n to._i = from._i;\n }\n if (!isUndefined(from._f)) {\n to._f = from._f;\n }\n if (!isUndefined(from._l)) {\n to._l = from._l;\n }\n if (!isUndefined(from._strict)) {\n to._strict = from._strict;\n }\n if (!isUndefined(from._tzm)) {\n to._tzm = from._tzm;\n }\n if (!isUndefined(from._isUTC)) {\n to._isUTC = from._isUTC;\n }\n if (!isUndefined(from._offset)) {\n to._offset = from._offset;\n }\n if (!isUndefined(from._pf)) {\n to._pf = getParsingFlags(from);\n }\n if (!isUndefined(from._locale)) {\n to._locale = from._locale;\n }\n\n if (momentProperties.length > 0) {\n for (i = 0; i < momentProperties.length; i++) {\n prop = momentProperties[i];\n val = from[prop];\n if (!isUndefined(val)) {\n to[prop] = val;\n }\n }\n }\n\n return to;\n }\n\n var updateInProgress = false;\n\n // Moment prototype object\n function Moment(config) {\n copyConfig(this, config);\n this._d = new Date(config._d != null ? config._d.getTime() : NaN);\n if (!this.isValid()) {\n this._d = new Date(NaN);\n }\n // Prevent infinite loop in case updateOffset creates new moment\n // objects.\n if (updateInProgress === false) {\n updateInProgress = true;\n hooks.updateOffset(this);\n updateInProgress = false;\n }\n }\n\n function isMoment (obj) {\n return obj instanceof Moment || (obj != null && obj._isAMomentObject != null);\n }\n\n function absFloor (number) {\n if (number < 0) {\n // -0 -> 0\n return Math.ceil(number) || 0;\n } else {\n return Math.floor(number);\n }\n }\n\n function toInt(argumentForCoercion) {\n var coercedNumber = +argumentForCoercion,\n value = 0;\n\n if (coercedNumber !== 0 && isFinite(coercedNumber)) {\n value = absFloor(coercedNumber);\n }\n\n return value;\n }\n\n // compare two arrays, return the number of differences\n function compareArrays(array1, array2, dontConvert) {\n var len = Math.min(array1.length, array2.length),\n lengthDiff = Math.abs(array1.length - array2.length),\n diffs = 0,\n i;\n for (i = 0; i < len; i++) {\n if ((dontConvert && array1[i] !== array2[i]) ||\n (!dontConvert && toInt(array1[i]) !== toInt(array2[i]))) {\n diffs++;\n }\n }\n return diffs + lengthDiff;\n }\n\n function warn(msg) {\n if (hooks.suppressDeprecationWarnings === false &&\n (typeof console !== 'undefined') && console.warn) {\n console.warn('Deprecation warning: ' + msg);\n }\n }\n\n function deprecate(msg, fn) {\n var firstTime = true;\n\n return extend(function () {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(null, msg);\n }\n if (firstTime) {\n var args = [];\n var arg;\n for (var i = 0; i < arguments.length; i++) {\n arg = '';\n if (typeof arguments[i] === 'object') {\n arg += '\\n[' + i + '] ';\n for (var key in arguments[0]) {\n arg += key + ': ' + arguments[0][key] + ', ';\n }\n arg = arg.slice(0, -2); // Remove trailing comma and space\n } else {\n arg = arguments[i];\n }\n args.push(arg);\n }\n warn(msg + '\\nArguments: ' + Array.prototype.slice.call(args).join('') + '\\n' + (new Error()).stack);\n firstTime = false;\n }\n return fn.apply(this, arguments);\n }, fn);\n }\n\n var deprecations = {};\n\n function deprecateSimple(name, msg) {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(name, msg);\n }\n if (!deprecations[name]) {\n warn(msg);\n deprecations[name] = true;\n }\n }\n\n hooks.suppressDeprecationWarnings = false;\n hooks.deprecationHandler = null;\n\n function isFunction(input) {\n return input instanceof Function || Object.prototype.toString.call(input) === '[object Function]';\n }\n\n function set (config) {\n var prop, i;\n for (i in config) {\n prop = config[i];\n if (isFunction(prop)) {\n this[i] = prop;\n } else {\n this['_' + i] = prop;\n }\n }\n this._config = config;\n // Lenient ordinal parsing accepts just a number in addition to\n // number + (possibly) stuff coming from _dayOfMonthOrdinalParse.\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n this._dayOfMonthOrdinalParseLenient = new RegExp(\n (this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) +\n '|' + (/\\d{1,2}/).source);\n }\n\n function mergeConfigs(parentConfig, childConfig) {\n var res = extend({}, parentConfig), prop;\n for (prop in childConfig) {\n if (hasOwnProp(childConfig, prop)) {\n if (isObject(parentConfig[prop]) && isObject(childConfig[prop])) {\n res[prop] = {};\n extend(res[prop], parentConfig[prop]);\n extend(res[prop], childConfig[prop]);\n } else if (childConfig[prop] != null) {\n res[prop] = childConfig[prop];\n } else {\n delete res[prop];\n }\n }\n }\n for (prop in parentConfig) {\n if (hasOwnProp(parentConfig, prop) &&\n !hasOwnProp(childConfig, prop) &&\n isObject(parentConfig[prop])) {\n // make sure changes to properties don't modify parent config\n res[prop] = extend({}, res[prop]);\n }\n }\n return res;\n }\n\n function Locale(config) {\n if (config != null) {\n this.set(config);\n }\n }\n\n var keys;\n\n if (Object.keys) {\n keys = Object.keys;\n } else {\n keys = function (obj) {\n var i, res = [];\n for (i in obj) {\n if (hasOwnProp(obj, i)) {\n res.push(i);\n }\n }\n return res;\n };\n }\n\n var defaultCalendar = {\n sameDay : '[Today at] LT',\n nextDay : '[Tomorrow at] LT',\n nextWeek : 'dddd [at] LT',\n lastDay : '[Yesterday at] LT',\n lastWeek : '[Last] dddd [at] LT',\n sameElse : 'L'\n };\n\n function calendar (key, mom, now) {\n var output = this._calendar[key] || this._calendar['sameElse'];\n return isFunction(output) ? output.call(mom, now) : output;\n }\n\n var defaultLongDateFormat = {\n LTS : 'h:mm:ss A',\n LT : 'h:mm A',\n L : 'MM/DD/YYYY',\n LL : 'MMMM D, YYYY',\n LLL : 'MMMM D, YYYY h:mm A',\n LLLL : 'dddd, MMMM D, YYYY h:mm A'\n };\n\n function longDateFormat (key) {\n var format = this._longDateFormat[key],\n formatUpper = this._longDateFormat[key.toUpperCase()];\n\n if (format || !formatUpper) {\n return format;\n }\n\n this._longDateFormat[key] = formatUpper.replace(/MMMM|MM|DD|dddd/g, function (val) {\n return val.slice(1);\n });\n\n return this._longDateFormat[key];\n }\n\n var defaultInvalidDate = 'Invalid date';\n\n function invalidDate () {\n return this._invalidDate;\n }\n\n var defaultOrdinal = '%d';\n var defaultDayOfMonthOrdinalParse = /\\d{1,2}/;\n\n function ordinal (number) {\n return this._ordinal.replace('%d', number);\n }\n\n var defaultRelativeTime = {\n future : 'in %s',\n past : '%s ago',\n s : 'a few seconds',\n ss : '%d seconds',\n m : 'a minute',\n mm : '%d minutes',\n h : 'an hour',\n hh : '%d hours',\n d : 'a day',\n dd : '%d days',\n M : 'a month',\n MM : '%d months',\n y : 'a year',\n yy : '%d years'\n };\n\n function relativeTime (number, withoutSuffix, string, isFuture) {\n var output = this._relativeTime[string];\n return (isFunction(output)) ?\n output(number, withoutSuffix, string, isFuture) :\n output.replace(/%d/i, number);\n }\n\n function pastFuture (diff, output) {\n var format = this._relativeTime[diff > 0 ? 'future' : 'past'];\n return isFunction(format) ? format(output) : format.replace(/%s/i, output);\n }\n\n var aliases = {};\n\n function addUnitAlias (unit, shorthand) {\n var lowerCase = unit.toLowerCase();\n aliases[lowerCase] = aliases[lowerCase + 's'] = aliases[shorthand] = unit;\n }\n\n function normalizeUnits(units) {\n return typeof units === 'string' ? aliases[units] || aliases[units.toLowerCase()] : undefined;\n }\n\n function normalizeObjectUnits(inputObject) {\n var normalizedInput = {},\n normalizedProp,\n prop;\n\n for (prop in inputObject) {\n if (hasOwnProp(inputObject, prop)) {\n normalizedProp = normalizeUnits(prop);\n if (normalizedProp) {\n normalizedInput[normalizedProp] = inputObject[prop];\n }\n }\n }\n\n return normalizedInput;\n }\n\n var priorities = {};\n\n function addUnitPriority(unit, priority) {\n priorities[unit] = priority;\n }\n\n function getPrioritizedUnits(unitsObj) {\n var units = [];\n for (var u in unitsObj) {\n units.push({unit: u, priority: priorities[u]});\n }\n units.sort(function (a, b) {\n return a.priority - b.priority;\n });\n return units;\n }\n\n function zeroFill(number, targetLength, forceSign) {\n var absNumber = '' + Math.abs(number),\n zerosToFill = targetLength - absNumber.length,\n sign = number >= 0;\n return (sign ? (forceSign ? '+' : '') : '-') +\n Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) + absNumber;\n }\n\n var formattingTokens = /(\\[[^\\[]*\\])|(\\\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g;\n\n var localFormattingTokens = /(\\[[^\\[]*\\])|(\\\\)?(LTS|LT|LL?L?L?|l{1,4})/g;\n\n var formatFunctions = {};\n\n var formatTokenFunctions = {};\n\n // token: 'M'\n // padded: ['MM', 2]\n // ordinal: 'Mo'\n // callback: function () { this.month() + 1 }\n function addFormatToken (token, padded, ordinal, callback) {\n var func = callback;\n if (typeof callback === 'string') {\n func = function () {\n return this[callback]();\n };\n }\n if (token) {\n formatTokenFunctions[token] = func;\n }\n if (padded) {\n formatTokenFunctions[padded[0]] = function () {\n return zeroFill(func.apply(this, arguments), padded[1], padded[2]);\n };\n }\n if (ordinal) {\n formatTokenFunctions[ordinal] = function () {\n return this.localeData().ordinal(func.apply(this, arguments), token);\n };\n }\n }\n\n function removeFormattingTokens(input) {\n if (input.match(/\\[[\\s\\S]/)) {\n return input.replace(/^\\[|\\]$/g, '');\n }\n return input.replace(/\\\\/g, '');\n }\n\n function makeFormatFunction(format) {\n var array = format.match(formattingTokens), i, length;\n\n for (i = 0, length = array.length; i < length; i++) {\n if (formatTokenFunctions[array[i]]) {\n array[i] = formatTokenFunctions[array[i]];\n } else {\n array[i] = removeFormattingTokens(array[i]);\n }\n }\n\n return function (mom) {\n var output = '', i;\n for (i = 0; i < length; i++) {\n output += isFunction(array[i]) ? array[i].call(mom, format) : array[i];\n }\n return output;\n };\n }\n\n // format date using native date object\n function formatMoment(m, format) {\n if (!m.isValid()) {\n return m.localeData().invalidDate();\n }\n\n format = expandFormat(format, m.localeData());\n formatFunctions[format] = formatFunctions[format] || makeFormatFunction(format);\n\n return formatFunctions[format](m);\n }\n\n function expandFormat(format, locale) {\n var i = 5;\n\n function replaceLongDateFormatTokens(input) {\n return locale.longDateFormat(input) || input;\n }\n\n localFormattingTokens.lastIndex = 0;\n while (i >= 0 && localFormattingTokens.test(format)) {\n format = format.replace(localFormattingTokens, replaceLongDateFormatTokens);\n localFormattingTokens.lastIndex = 0;\n i -= 1;\n }\n\n return format;\n }\n\n var match1 = /\\d/; // 0 - 9\n var match2 = /\\d\\d/; // 00 - 99\n var match3 = /\\d{3}/; // 000 - 999\n var match4 = /\\d{4}/; // 0000 - 9999\n var match6 = /[+-]?\\d{6}/; // -999999 - 999999\n var match1to2 = /\\d\\d?/; // 0 - 99\n var match3to4 = /\\d\\d\\d\\d?/; // 999 - 9999\n var match5to6 = /\\d\\d\\d\\d\\d\\d?/; // 99999 - 999999\n var match1to3 = /\\d{1,3}/; // 0 - 999\n var match1to4 = /\\d{1,4}/; // 0 - 9999\n var match1to6 = /[+-]?\\d{1,6}/; // -999999 - 999999\n\n var matchUnsigned = /\\d+/; // 0 - inf\n var matchSigned = /[+-]?\\d+/; // -inf - inf\n\n var matchOffset = /Z|[+-]\\d\\d:?\\d\\d/gi; // +00:00 -00:00 +0000 -0000 or Z\n var matchShortOffset = /Z|[+-]\\d\\d(?::?\\d\\d)?/gi; // +00 -00 +00:00 -00:00 +0000 -0000 or Z\n\n var matchTimestamp = /[+-]?\\d+(\\.\\d{1,3})?/; // 123456789 123456789.123\n\n // any word (or two) characters or numbers including two/three word month in arabic.\n // includes scottish gaelic two word and hyphenated months\n var matchWord = /[0-9]{0,256}['a-z\\u00A0-\\u05FF\\u0700-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFF07\\uFF10-\\uFFEF]{1,256}|[\\u0600-\\u06FF\\/]{1,256}(\\s*?[\\u0600-\\u06FF]{1,256}){1,2}/i;\n\n var regexes = {};\n\n function addRegexToken (token, regex, strictRegex) {\n regexes[token] = isFunction(regex) ? regex : function (isStrict, localeData) {\n return (isStrict && strictRegex) ? strictRegex : regex;\n };\n }\n\n function getParseRegexForToken (token, config) {\n if (!hasOwnProp(regexes, token)) {\n return new RegExp(unescapeFormat(token));\n }\n\n return regexes[token](config._strict, config._locale);\n }\n\n // Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript\n function unescapeFormat(s) {\n return regexEscape(s.replace('\\\\', '').replace(/\\\\(\\[)|\\\\(\\])|\\[([^\\]\\[]*)\\]|\\\\(.)/g, function (matched, p1, p2, p3, p4) {\n return p1 || p2 || p3 || p4;\n }));\n }\n\n function regexEscape(s) {\n return s.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n }\n\n var tokens = {};\n\n function addParseToken (token, callback) {\n var i, func = callback;\n if (typeof token === 'string') {\n token = [token];\n }\n if (isNumber(callback)) {\n func = function (input, array) {\n array[callback] = toInt(input);\n };\n }\n for (i = 0; i < token.length; i++) {\n tokens[token[i]] = func;\n }\n }\n\n function addWeekParseToken (token, callback) {\n addParseToken(token, function (input, array, config, token) {\n config._w = config._w || {};\n callback(input, config._w, config, token);\n });\n }\n\n function addTimeToArrayFromToken(token, input, config) {\n if (input != null && hasOwnProp(tokens, token)) {\n tokens[token](input, config._a, config, token);\n }\n }\n\n var YEAR = 0;\n var MONTH = 1;\n var DATE = 2;\n var HOUR = 3;\n var MINUTE = 4;\n var SECOND = 5;\n var MILLISECOND = 6;\n var WEEK = 7;\n var WEEKDAY = 8;\n\n // FORMATTING\n\n addFormatToken('Y', 0, 0, function () {\n var y = this.year();\n return y <= 9999 ? '' + y : '+' + y;\n });\n\n addFormatToken(0, ['YY', 2], 0, function () {\n return this.year() % 100;\n });\n\n addFormatToken(0, ['YYYY', 4], 0, 'year');\n addFormatToken(0, ['YYYYY', 5], 0, 'year');\n addFormatToken(0, ['YYYYYY', 6, true], 0, 'year');\n\n // ALIASES\n\n addUnitAlias('year', 'y');\n\n // PRIORITIES\n\n addUnitPriority('year', 1);\n\n // PARSING\n\n addRegexToken('Y', matchSigned);\n addRegexToken('YY', match1to2, match2);\n addRegexToken('YYYY', match1to4, match4);\n addRegexToken('YYYYY', match1to6, match6);\n addRegexToken('YYYYYY', match1to6, match6);\n\n addParseToken(['YYYYY', 'YYYYYY'], YEAR);\n addParseToken('YYYY', function (input, array) {\n array[YEAR] = input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input);\n });\n addParseToken('YY', function (input, array) {\n array[YEAR] = hooks.parseTwoDigitYear(input);\n });\n addParseToken('Y', function (input, array) {\n array[YEAR] = parseInt(input, 10);\n });\n\n // HELPERS\n\n function daysInYear(year) {\n return isLeapYear(year) ? 366 : 365;\n }\n\n function isLeapYear(year) {\n return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;\n }\n\n // HOOKS\n\n hooks.parseTwoDigitYear = function (input) {\n return toInt(input) + (toInt(input) > 68 ? 1900 : 2000);\n };\n\n // MOMENTS\n\n var getSetYear = makeGetSet('FullYear', true);\n\n function getIsLeapYear () {\n return isLeapYear(this.year());\n }\n\n function makeGetSet (unit, keepTime) {\n return function (value) {\n if (value != null) {\n set$1(this, unit, value);\n hooks.updateOffset(this, keepTime);\n return this;\n } else {\n return get(this, unit);\n }\n };\n }\n\n function get (mom, unit) {\n return mom.isValid() ?\n mom._d['get' + (mom._isUTC ? 'UTC' : '') + unit]() : NaN;\n }\n\n function set$1 (mom, unit, value) {\n if (mom.isValid() && !isNaN(value)) {\n if (unit === 'FullYear' && isLeapYear(mom.year()) && mom.month() === 1 && mom.date() === 29) {\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value, mom.month(), daysInMonth(value, mom.month()));\n }\n else {\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value);\n }\n }\n }\n\n // MOMENTS\n\n function stringGet (units) {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units]();\n }\n return this;\n }\n\n\n function stringSet (units, value) {\n if (typeof units === 'object') {\n units = normalizeObjectUnits(units);\n var prioritized = getPrioritizedUnits(units);\n for (var i = 0; i < prioritized.length; i++) {\n this[prioritized[i].unit](units[prioritized[i].unit]);\n }\n } else {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units](value);\n }\n }\n return this;\n }\n\n function mod(n, x) {\n return ((n % x) + x) % x;\n }\n\n var indexOf;\n\n if (Array.prototype.indexOf) {\n indexOf = Array.prototype.indexOf;\n } else {\n indexOf = function (o) {\n // I know\n var i;\n for (i = 0; i < this.length; ++i) {\n if (this[i] === o) {\n return i;\n }\n }\n return -1;\n };\n }\n\n function daysInMonth(year, month) {\n if (isNaN(year) || isNaN(month)) {\n return NaN;\n }\n var modMonth = mod(month, 12);\n year += (month - modMonth) / 12;\n return modMonth === 1 ? (isLeapYear(year) ? 29 : 28) : (31 - modMonth % 7 % 2);\n }\n\n // FORMATTING\n\n addFormatToken('M', ['MM', 2], 'Mo', function () {\n return this.month() + 1;\n });\n\n addFormatToken('MMM', 0, 0, function (format) {\n return this.localeData().monthsShort(this, format);\n });\n\n addFormatToken('MMMM', 0, 0, function (format) {\n return this.localeData().months(this, format);\n });\n\n // ALIASES\n\n addUnitAlias('month', 'M');\n\n // PRIORITY\n\n addUnitPriority('month', 8);\n\n // PARSING\n\n addRegexToken('M', match1to2);\n addRegexToken('MM', match1to2, match2);\n addRegexToken('MMM', function (isStrict, locale) {\n return locale.monthsShortRegex(isStrict);\n });\n addRegexToken('MMMM', function (isStrict, locale) {\n return locale.monthsRegex(isStrict);\n });\n\n addParseToken(['M', 'MM'], function (input, array) {\n array[MONTH] = toInt(input) - 1;\n });\n\n addParseToken(['MMM', 'MMMM'], function (input, array, config, token) {\n var month = config._locale.monthsParse(input, token, config._strict);\n // if we didn't find a month name, mark the date as invalid.\n if (month != null) {\n array[MONTH] = month;\n } else {\n getParsingFlags(config).invalidMonth = input;\n }\n });\n\n // LOCALES\n\n var MONTHS_IN_FORMAT = /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?/;\n var defaultLocaleMonths = 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_');\n function localeMonths (m, format) {\n if (!m) {\n return isArray(this._months) ? this._months :\n this._months['standalone'];\n }\n return isArray(this._months) ? this._months[m.month()] :\n this._months[(this._months.isFormat || MONTHS_IN_FORMAT).test(format) ? 'format' : 'standalone'][m.month()];\n }\n\n var defaultLocaleMonthsShort = 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_');\n function localeMonthsShort (m, format) {\n if (!m) {\n return isArray(this._monthsShort) ? this._monthsShort :\n this._monthsShort['standalone'];\n }\n return isArray(this._monthsShort) ? this._monthsShort[m.month()] :\n this._monthsShort[MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone'][m.month()];\n }\n\n function handleStrictParse(monthName, format, strict) {\n var i, ii, mom, llc = monthName.toLocaleLowerCase();\n if (!this._monthsParse) {\n // this is not used\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n for (i = 0; i < 12; ++i) {\n mom = createUTC([2000, i]);\n this._shortMonthsParse[i] = this.monthsShort(mom, '').toLocaleLowerCase();\n this._longMonthsParse[i] = this.months(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n }\n\n function localeMonthsParse (monthName, format, strict) {\n var i, mom, regex;\n\n if (this._monthsParseExact) {\n return handleStrictParse.call(this, monthName, format, strict);\n }\n\n if (!this._monthsParse) {\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n }\n\n // TODO: add sorting\n // Sorting makes sure if one month (or abbr) is a prefix of another\n // see sorting in computeMonthsParse\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n if (strict && !this._longMonthsParse[i]) {\n this._longMonthsParse[i] = new RegExp('^' + this.months(mom, '').replace('.', '') + '$', 'i');\n this._shortMonthsParse[i] = new RegExp('^' + this.monthsShort(mom, '').replace('.', '') + '$', 'i');\n }\n if (!strict && !this._monthsParse[i]) {\n regex = '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, '');\n this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (strict && format === 'MMMM' && this._longMonthsParse[i].test(monthName)) {\n return i;\n } else if (strict && format === 'MMM' && this._shortMonthsParse[i].test(monthName)) {\n return i;\n } else if (!strict && this._monthsParse[i].test(monthName)) {\n return i;\n }\n }\n }\n\n // MOMENTS\n\n function setMonth (mom, value) {\n var dayOfMonth;\n\n if (!mom.isValid()) {\n // No op\n return mom;\n }\n\n if (typeof value === 'string') {\n if (/^\\d+$/.test(value)) {\n value = toInt(value);\n } else {\n value = mom.localeData().monthsParse(value);\n // TODO: Another silent failure?\n if (!isNumber(value)) {\n return mom;\n }\n }\n }\n\n dayOfMonth = Math.min(mom.date(), daysInMonth(mom.year(), value));\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + 'Month'](value, dayOfMonth);\n return mom;\n }\n\n function getSetMonth (value) {\n if (value != null) {\n setMonth(this, value);\n hooks.updateOffset(this, true);\n return this;\n } else {\n return get(this, 'Month');\n }\n }\n\n function getDaysInMonth () {\n return daysInMonth(this.year(), this.month());\n }\n\n var defaultMonthsShortRegex = matchWord;\n function monthsShortRegex (isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n if (isStrict) {\n return this._monthsShortStrictRegex;\n } else {\n return this._monthsShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsShortRegex')) {\n this._monthsShortRegex = defaultMonthsShortRegex;\n }\n return this._monthsShortStrictRegex && isStrict ?\n this._monthsShortStrictRegex : this._monthsShortRegex;\n }\n }\n\n var defaultMonthsRegex = matchWord;\n function monthsRegex (isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n if (isStrict) {\n return this._monthsStrictRegex;\n } else {\n return this._monthsRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsRegex')) {\n this._monthsRegex = defaultMonthsRegex;\n }\n return this._monthsStrictRegex && isStrict ?\n this._monthsStrictRegex : this._monthsRegex;\n }\n }\n\n function computeMonthsParse () {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var shortPieces = [], longPieces = [], mixedPieces = [],\n i, mom;\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n shortPieces.push(this.monthsShort(mom, ''));\n longPieces.push(this.months(mom, ''));\n mixedPieces.push(this.months(mom, ''));\n mixedPieces.push(this.monthsShort(mom, ''));\n }\n // Sorting makes sure if one month (or abbr) is a prefix of another it\n // will match the longer piece.\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n for (i = 0; i < 12; i++) {\n shortPieces[i] = regexEscape(shortPieces[i]);\n longPieces[i] = regexEscape(longPieces[i]);\n }\n for (i = 0; i < 24; i++) {\n mixedPieces[i] = regexEscape(mixedPieces[i]);\n }\n\n this._monthsRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._monthsShortRegex = this._monthsRegex;\n this._monthsStrictRegex = new RegExp('^(' + longPieces.join('|') + ')', 'i');\n this._monthsShortStrictRegex = new RegExp('^(' + shortPieces.join('|') + ')', 'i');\n }\n\n function createDate (y, m, d, h, M, s, ms) {\n // can't just apply() to create a date:\n // https://stackoverflow.com/q/181348\n var date = new Date(y, m, d, h, M, s, ms);\n\n // the date constructor remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0 && isFinite(date.getFullYear())) {\n date.setFullYear(y);\n }\n return date;\n }\n\n function createUTCDate (y) {\n var date = new Date(Date.UTC.apply(null, arguments));\n\n // the Date.UTC function remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0 && isFinite(date.getUTCFullYear())) {\n date.setUTCFullYear(y);\n }\n return date;\n }\n\n // start-of-first-week - start-of-year\n function firstWeekOffset(year, dow, doy) {\n var // first-week day -- which january is always in the first week (4 for iso, 1 for other)\n fwd = 7 + dow - doy,\n // first-week day local weekday -- which local weekday is fwd\n fwdlw = (7 + createUTCDate(year, 0, fwd).getUTCDay() - dow) % 7;\n\n return -fwdlw + fwd - 1;\n }\n\n // https://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday\n function dayOfYearFromWeeks(year, week, weekday, dow, doy) {\n var localWeekday = (7 + weekday - dow) % 7,\n weekOffset = firstWeekOffset(year, dow, doy),\n dayOfYear = 1 + 7 * (week - 1) + localWeekday + weekOffset,\n resYear, resDayOfYear;\n\n if (dayOfYear <= 0) {\n resYear = year - 1;\n resDayOfYear = daysInYear(resYear) + dayOfYear;\n } else if (dayOfYear > daysInYear(year)) {\n resYear = year + 1;\n resDayOfYear = dayOfYear - daysInYear(year);\n } else {\n resYear = year;\n resDayOfYear = dayOfYear;\n }\n\n return {\n year: resYear,\n dayOfYear: resDayOfYear\n };\n }\n\n function weekOfYear(mom, dow, doy) {\n var weekOffset = firstWeekOffset(mom.year(), dow, doy),\n week = Math.floor((mom.dayOfYear() - weekOffset - 1) / 7) + 1,\n resWeek, resYear;\n\n if (week < 1) {\n resYear = mom.year() - 1;\n resWeek = week + weeksInYear(resYear, dow, doy);\n } else if (week > weeksInYear(mom.year(), dow, doy)) {\n resWeek = week - weeksInYear(mom.year(), dow, doy);\n resYear = mom.year() + 1;\n } else {\n resYear = mom.year();\n resWeek = week;\n }\n\n return {\n week: resWeek,\n year: resYear\n };\n }\n\n function weeksInYear(year, dow, doy) {\n var weekOffset = firstWeekOffset(year, dow, doy),\n weekOffsetNext = firstWeekOffset(year + 1, dow, doy);\n return (daysInYear(year) - weekOffset + weekOffsetNext) / 7;\n }\n\n // FORMATTING\n\n addFormatToken('w', ['ww', 2], 'wo', 'week');\n addFormatToken('W', ['WW', 2], 'Wo', 'isoWeek');\n\n // ALIASES\n\n addUnitAlias('week', 'w');\n addUnitAlias('isoWeek', 'W');\n\n // PRIORITIES\n\n addUnitPriority('week', 5);\n addUnitPriority('isoWeek', 5);\n\n // PARSING\n\n addRegexToken('w', match1to2);\n addRegexToken('ww', match1to2, match2);\n addRegexToken('W', match1to2);\n addRegexToken('WW', match1to2, match2);\n\n addWeekParseToken(['w', 'ww', 'W', 'WW'], function (input, week, config, token) {\n week[token.substr(0, 1)] = toInt(input);\n });\n\n // HELPERS\n\n // LOCALES\n\n function localeWeek (mom) {\n return weekOfYear(mom, this._week.dow, this._week.doy).week;\n }\n\n var defaultLocaleWeek = {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n };\n\n function localeFirstDayOfWeek () {\n return this._week.dow;\n }\n\n function localeFirstDayOfYear () {\n return this._week.doy;\n }\n\n // MOMENTS\n\n function getSetWeek (input) {\n var week = this.localeData().week(this);\n return input == null ? week : this.add((input - week) * 7, 'd');\n }\n\n function getSetISOWeek (input) {\n var week = weekOfYear(this, 1, 4).week;\n return input == null ? week : this.add((input - week) * 7, 'd');\n }\n\n // FORMATTING\n\n addFormatToken('d', 0, 'do', 'day');\n\n addFormatToken('dd', 0, 0, function (format) {\n return this.localeData().weekdaysMin(this, format);\n });\n\n addFormatToken('ddd', 0, 0, function (format) {\n return this.localeData().weekdaysShort(this, format);\n });\n\n addFormatToken('dddd', 0, 0, function (format) {\n return this.localeData().weekdays(this, format);\n });\n\n addFormatToken('e', 0, 0, 'weekday');\n addFormatToken('E', 0, 0, 'isoWeekday');\n\n // ALIASES\n\n addUnitAlias('day', 'd');\n addUnitAlias('weekday', 'e');\n addUnitAlias('isoWeekday', 'E');\n\n // PRIORITY\n addUnitPriority('day', 11);\n addUnitPriority('weekday', 11);\n addUnitPriority('isoWeekday', 11);\n\n // PARSING\n\n addRegexToken('d', match1to2);\n addRegexToken('e', match1to2);\n addRegexToken('E', match1to2);\n addRegexToken('dd', function (isStrict, locale) {\n return locale.weekdaysMinRegex(isStrict);\n });\n addRegexToken('ddd', function (isStrict, locale) {\n return locale.weekdaysShortRegex(isStrict);\n });\n addRegexToken('dddd', function (isStrict, locale) {\n return locale.weekdaysRegex(isStrict);\n });\n\n addWeekParseToken(['dd', 'ddd', 'dddd'], function (input, week, config, token) {\n var weekday = config._locale.weekdaysParse(input, token, config._strict);\n // if we didn't get a weekday name, mark the date as invalid\n if (weekday != null) {\n week.d = weekday;\n } else {\n getParsingFlags(config).invalidWeekday = input;\n }\n });\n\n addWeekParseToken(['d', 'e', 'E'], function (input, week, config, token) {\n week[token] = toInt(input);\n });\n\n // HELPERS\n\n function parseWeekday(input, locale) {\n if (typeof input !== 'string') {\n return input;\n }\n\n if (!isNaN(input)) {\n return parseInt(input, 10);\n }\n\n input = locale.weekdaysParse(input);\n if (typeof input === 'number') {\n return input;\n }\n\n return null;\n }\n\n function parseIsoWeekday(input, locale) {\n if (typeof input === 'string') {\n return locale.weekdaysParse(input) % 7 || 7;\n }\n return isNaN(input) ? null : input;\n }\n\n // LOCALES\n\n var defaultLocaleWeekdays = 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_');\n function localeWeekdays (m, format) {\n if (!m) {\n return isArray(this._weekdays) ? this._weekdays :\n this._weekdays['standalone'];\n }\n return isArray(this._weekdays) ? this._weekdays[m.day()] :\n this._weekdays[this._weekdays.isFormat.test(format) ? 'format' : 'standalone'][m.day()];\n }\n\n var defaultLocaleWeekdaysShort = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_');\n function localeWeekdaysShort (m) {\n return (m) ? this._weekdaysShort[m.day()] : this._weekdaysShort;\n }\n\n var defaultLocaleWeekdaysMin = 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_');\n function localeWeekdaysMin (m) {\n return (m) ? this._weekdaysMin[m.day()] : this._weekdaysMin;\n }\n\n function handleStrictParse$1(weekdayName, format, strict) {\n var i, ii, mom, llc = weekdayName.toLocaleLowerCase();\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._minWeekdaysParse = [];\n\n for (i = 0; i < 7; ++i) {\n mom = createUTC([2000, 1]).day(i);\n this._minWeekdaysParse[i] = this.weekdaysMin(mom, '').toLocaleLowerCase();\n this._shortWeekdaysParse[i] = this.weekdaysShort(mom, '').toLocaleLowerCase();\n this._weekdaysParse[i] = this.weekdays(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n }\n\n function localeWeekdaysParse (weekdayName, format, strict) {\n var i, mom, regex;\n\n if (this._weekdaysParseExact) {\n return handleStrictParse$1.call(this, weekdayName, format, strict);\n }\n\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._minWeekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._fullWeekdaysParse = [];\n }\n\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n\n mom = createUTC([2000, 1]).day(i);\n if (strict && !this._fullWeekdaysParse[i]) {\n this._fullWeekdaysParse[i] = new RegExp('^' + this.weekdays(mom, '').replace('.', '\\\\.?') + '$', 'i');\n this._shortWeekdaysParse[i] = new RegExp('^' + this.weekdaysShort(mom, '').replace('.', '\\\\.?') + '$', 'i');\n this._minWeekdaysParse[i] = new RegExp('^' + this.weekdaysMin(mom, '').replace('.', '\\\\.?') + '$', 'i');\n }\n if (!this._weekdaysParse[i]) {\n regex = '^' + this.weekdays(mom, '') + '|^' + this.weekdaysShort(mom, '') + '|^' + this.weekdaysMin(mom, '');\n this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (strict && format === 'dddd' && this._fullWeekdaysParse[i].test(weekdayName)) {\n return i;\n } else if (strict && format === 'ddd' && this._shortWeekdaysParse[i].test(weekdayName)) {\n return i;\n } else if (strict && format === 'dd' && this._minWeekdaysParse[i].test(weekdayName)) {\n return i;\n } else if (!strict && this._weekdaysParse[i].test(weekdayName)) {\n return i;\n }\n }\n }\n\n // MOMENTS\n\n function getSetDayOfWeek (input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n var day = this._isUTC ? this._d.getUTCDay() : this._d.getDay();\n if (input != null) {\n input = parseWeekday(input, this.localeData());\n return this.add(input - day, 'd');\n } else {\n return day;\n }\n }\n\n function getSetLocaleDayOfWeek (input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7;\n return input == null ? weekday : this.add(input - weekday, 'd');\n }\n\n function getSetISODayOfWeek (input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n\n // behaves the same as moment#day except\n // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6)\n // as a setter, sunday should belong to the previous week.\n\n if (input != null) {\n var weekday = parseIsoWeekday(input, this.localeData());\n return this.day(this.day() % 7 ? weekday : weekday - 7);\n } else {\n return this.day() || 7;\n }\n }\n\n var defaultWeekdaysRegex = matchWord;\n function weekdaysRegex (isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysStrictRegex;\n } else {\n return this._weekdaysRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n this._weekdaysRegex = defaultWeekdaysRegex;\n }\n return this._weekdaysStrictRegex && isStrict ?\n this._weekdaysStrictRegex : this._weekdaysRegex;\n }\n }\n\n var defaultWeekdaysShortRegex = matchWord;\n function weekdaysShortRegex (isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysShortStrictRegex;\n } else {\n return this._weekdaysShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysShortRegex')) {\n this._weekdaysShortRegex = defaultWeekdaysShortRegex;\n }\n return this._weekdaysShortStrictRegex && isStrict ?\n this._weekdaysShortStrictRegex : this._weekdaysShortRegex;\n }\n }\n\n var defaultWeekdaysMinRegex = matchWord;\n function weekdaysMinRegex (isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysMinStrictRegex;\n } else {\n return this._weekdaysMinRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysMinRegex')) {\n this._weekdaysMinRegex = defaultWeekdaysMinRegex;\n }\n return this._weekdaysMinStrictRegex && isStrict ?\n this._weekdaysMinStrictRegex : this._weekdaysMinRegex;\n }\n }\n\n\n function computeWeekdaysParse () {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var minPieces = [], shortPieces = [], longPieces = [], mixedPieces = [],\n i, mom, minp, shortp, longp;\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, 1]).day(i);\n minp = this.weekdaysMin(mom, '');\n shortp = this.weekdaysShort(mom, '');\n longp = this.weekdays(mom, '');\n minPieces.push(minp);\n shortPieces.push(shortp);\n longPieces.push(longp);\n mixedPieces.push(minp);\n mixedPieces.push(shortp);\n mixedPieces.push(longp);\n }\n // Sorting makes sure if one weekday (or abbr) is a prefix of another it\n // will match the longer piece.\n minPieces.sort(cmpLenRev);\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n for (i = 0; i < 7; i++) {\n shortPieces[i] = regexEscape(shortPieces[i]);\n longPieces[i] = regexEscape(longPieces[i]);\n mixedPieces[i] = regexEscape(mixedPieces[i]);\n }\n\n this._weekdaysRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._weekdaysShortRegex = this._weekdaysRegex;\n this._weekdaysMinRegex = this._weekdaysRegex;\n\n this._weekdaysStrictRegex = new RegExp('^(' + longPieces.join('|') + ')', 'i');\n this._weekdaysShortStrictRegex = new RegExp('^(' + shortPieces.join('|') + ')', 'i');\n this._weekdaysMinStrictRegex = new RegExp('^(' + minPieces.join('|') + ')', 'i');\n }\n\n // FORMATTING\n\n function hFormat() {\n return this.hours() % 12 || 12;\n }\n\n function kFormat() {\n return this.hours() || 24;\n }\n\n addFormatToken('H', ['HH', 2], 0, 'hour');\n addFormatToken('h', ['hh', 2], 0, hFormat);\n addFormatToken('k', ['kk', 2], 0, kFormat);\n\n addFormatToken('hmm', 0, 0, function () {\n return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2);\n });\n\n addFormatToken('hmmss', 0, 0, function () {\n return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2);\n });\n\n addFormatToken('Hmm', 0, 0, function () {\n return '' + this.hours() + zeroFill(this.minutes(), 2);\n });\n\n addFormatToken('Hmmss', 0, 0, function () {\n return '' + this.hours() + zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2);\n });\n\n function meridiem (token, lowercase) {\n addFormatToken(token, 0, 0, function () {\n return this.localeData().meridiem(this.hours(), this.minutes(), lowercase);\n });\n }\n\n meridiem('a', true);\n meridiem('A', false);\n\n // ALIASES\n\n addUnitAlias('hour', 'h');\n\n // PRIORITY\n addUnitPriority('hour', 13);\n\n // PARSING\n\n function matchMeridiem (isStrict, locale) {\n return locale._meridiemParse;\n }\n\n addRegexToken('a', matchMeridiem);\n addRegexToken('A', matchMeridiem);\n addRegexToken('H', match1to2);\n addRegexToken('h', match1to2);\n addRegexToken('k', match1to2);\n addRegexToken('HH', match1to2, match2);\n addRegexToken('hh', match1to2, match2);\n addRegexToken('kk', match1to2, match2);\n\n addRegexToken('hmm', match3to4);\n addRegexToken('hmmss', match5to6);\n addRegexToken('Hmm', match3to4);\n addRegexToken('Hmmss', match5to6);\n\n addParseToken(['H', 'HH'], HOUR);\n addParseToken(['k', 'kk'], function (input, array, config) {\n var kInput = toInt(input);\n array[HOUR] = kInput === 24 ? 0 : kInput;\n });\n addParseToken(['a', 'A'], function (input, array, config) {\n config._isPm = config._locale.isPM(input);\n config._meridiem = input;\n });\n addParseToken(['h', 'hh'], function (input, array, config) {\n array[HOUR] = toInt(input);\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('hmmss', function (input, array, config) {\n var pos1 = input.length - 4;\n var pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('Hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n });\n addParseToken('Hmmss', function (input, array, config) {\n var pos1 = input.length - 4;\n var pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n });\n\n // LOCALES\n\n function localeIsPM (input) {\n // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays\n // Using charAt should be more compatible.\n return ((input + '').toLowerCase().charAt(0) === 'p');\n }\n\n var defaultLocaleMeridiemParse = /[ap]\\.?m?\\.?/i;\n function localeMeridiem (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'pm' : 'PM';\n } else {\n return isLower ? 'am' : 'AM';\n }\n }\n\n\n // MOMENTS\n\n // Setting the hour should keep the time, because the user explicitly\n // specified which hour they want. So trying to maintain the same hour (in\n // a new timezone) makes sense. Adding/subtracting hours does not follow\n // this rule.\n var getSetHour = makeGetSet('Hours', true);\n\n var baseConfig = {\n calendar: defaultCalendar,\n longDateFormat: defaultLongDateFormat,\n invalidDate: defaultInvalidDate,\n ordinal: defaultOrdinal,\n dayOfMonthOrdinalParse: defaultDayOfMonthOrdinalParse,\n relativeTime: defaultRelativeTime,\n\n months: defaultLocaleMonths,\n monthsShort: defaultLocaleMonthsShort,\n\n week: defaultLocaleWeek,\n\n weekdays: defaultLocaleWeekdays,\n weekdaysMin: defaultLocaleWeekdaysMin,\n weekdaysShort: defaultLocaleWeekdaysShort,\n\n meridiemParse: defaultLocaleMeridiemParse\n };\n\n // internal storage for locale config files\n var locales = {};\n var localeFamilies = {};\n var globalLocale;\n\n function normalizeLocale(key) {\n return key ? key.toLowerCase().replace('_', '-') : key;\n }\n\n // pick the locale from the array\n // try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each\n // substring from most specific to least, but move to the next array item if it's a more specific variant than the current root\n function chooseLocale(names) {\n var i = 0, j, next, locale, split;\n\n while (i < names.length) {\n split = normalizeLocale(names[i]).split('-');\n j = split.length;\n next = normalizeLocale(names[i + 1]);\n next = next ? next.split('-') : null;\n while (j > 0) {\n locale = loadLocale(split.slice(0, j).join('-'));\n if (locale) {\n return locale;\n }\n if (next && next.length >= j && compareArrays(split, next, true) >= j - 1) {\n //the next array item is better than a shallower substring of this one\n break;\n }\n j--;\n }\n i++;\n }\n return globalLocale;\n }\n\n function loadLocale(name) {\n var oldLocale = null;\n // TODO: Find a better way to register and load all the locales in Node\n if (!locales[name] && (typeof module !== 'undefined') &&\n module && module.exports) {\n try {\n oldLocale = globalLocale._abbr;\n var aliasedRequire = require;\n aliasedRequire('./locale/' + name);\n getSetGlobalLocale(oldLocale);\n } catch (e) {}\n }\n return locales[name];\n }\n\n // This function will load locale and then set the global locale. If\n // no arguments are passed in, it will simply return the current global\n // locale key.\n function getSetGlobalLocale (key, values) {\n var data;\n if (key) {\n if (isUndefined(values)) {\n data = getLocale(key);\n }\n else {\n data = defineLocale(key, values);\n }\n\n if (data) {\n // moment.duration._locale = moment._locale = data;\n globalLocale = data;\n }\n else {\n if ((typeof console !== 'undefined') && console.warn) {\n //warn user if arguments are passed but the locale could not be set\n console.warn('Locale ' + key + ' not found. Did you forget to load it?');\n }\n }\n }\n\n return globalLocale._abbr;\n }\n\n function defineLocale (name, config) {\n if (config !== null) {\n var locale, parentConfig = baseConfig;\n config.abbr = name;\n if (locales[name] != null) {\n deprecateSimple('defineLocaleOverride',\n 'use moment.updateLocale(localeName, config) to change ' +\n 'an existing locale. moment.defineLocale(localeName, ' +\n 'config) should only be used for creating a new locale ' +\n 'See http://momentjs.com/guides/#/warnings/define-locale/ for more info.');\n parentConfig = locales[name]._config;\n } else if (config.parentLocale != null) {\n if (locales[config.parentLocale] != null) {\n parentConfig = locales[config.parentLocale]._config;\n } else {\n locale = loadLocale(config.parentLocale);\n if (locale != null) {\n parentConfig = locale._config;\n } else {\n if (!localeFamilies[config.parentLocale]) {\n localeFamilies[config.parentLocale] = [];\n }\n localeFamilies[config.parentLocale].push({\n name: name,\n config: config\n });\n return null;\n }\n }\n }\n locales[name] = new Locale(mergeConfigs(parentConfig, config));\n\n if (localeFamilies[name]) {\n localeFamilies[name].forEach(function (x) {\n defineLocale(x.name, x.config);\n });\n }\n\n // backwards compat for now: also set the locale\n // make sure we set the locale AFTER all child locales have been\n // created, so we won't end up with the child locale set.\n getSetGlobalLocale(name);\n\n\n return locales[name];\n } else {\n // useful for testing\n delete locales[name];\n return null;\n }\n }\n\n function updateLocale(name, config) {\n if (config != null) {\n var locale, tmpLocale, parentConfig = baseConfig;\n // MERGE\n tmpLocale = loadLocale(name);\n if (tmpLocale != null) {\n parentConfig = tmpLocale._config;\n }\n config = mergeConfigs(parentConfig, config);\n locale = new Locale(config);\n locale.parentLocale = locales[name];\n locales[name] = locale;\n\n // backwards compat for now: also set the locale\n getSetGlobalLocale(name);\n } else {\n // pass null for config to unupdate, useful for tests\n if (locales[name] != null) {\n if (locales[name].parentLocale != null) {\n locales[name] = locales[name].parentLocale;\n } else if (locales[name] != null) {\n delete locales[name];\n }\n }\n }\n return locales[name];\n }\n\n // returns locale data\n function getLocale (key) {\n var locale;\n\n if (key && key._locale && key._locale._abbr) {\n key = key._locale._abbr;\n }\n\n if (!key) {\n return globalLocale;\n }\n\n if (!isArray(key)) {\n //short-circuit everything else\n locale = loadLocale(key);\n if (locale) {\n return locale;\n }\n key = [key];\n }\n\n return chooseLocale(key);\n }\n\n function listLocales() {\n return keys(locales);\n }\n\n function checkOverflow (m) {\n var overflow;\n var a = m._a;\n\n if (a && getParsingFlags(m).overflow === -2) {\n overflow =\n a[MONTH] < 0 || a[MONTH] > 11 ? MONTH :\n a[DATE] < 1 || a[DATE] > daysInMonth(a[YEAR], a[MONTH]) ? DATE :\n a[HOUR] < 0 || a[HOUR] > 24 || (a[HOUR] === 24 && (a[MINUTE] !== 0 || a[SECOND] !== 0 || a[MILLISECOND] !== 0)) ? HOUR :\n a[MINUTE] < 0 || a[MINUTE] > 59 ? MINUTE :\n a[SECOND] < 0 || a[SECOND] > 59 ? SECOND :\n a[MILLISECOND] < 0 || a[MILLISECOND] > 999 ? MILLISECOND :\n -1;\n\n if (getParsingFlags(m)._overflowDayOfYear && (overflow < YEAR || overflow > DATE)) {\n overflow = DATE;\n }\n if (getParsingFlags(m)._overflowWeeks && overflow === -1) {\n overflow = WEEK;\n }\n if (getParsingFlags(m)._overflowWeekday && overflow === -1) {\n overflow = WEEKDAY;\n }\n\n getParsingFlags(m).overflow = overflow;\n }\n\n return m;\n }\n\n // Pick the first defined of two or three arguments.\n function defaults(a, b, c) {\n if (a != null) {\n return a;\n }\n if (b != null) {\n return b;\n }\n return c;\n }\n\n function currentDateArray(config) {\n // hooks is actually the exported moment object\n var nowValue = new Date(hooks.now());\n if (config._useUTC) {\n return [nowValue.getUTCFullYear(), nowValue.getUTCMonth(), nowValue.getUTCDate()];\n }\n return [nowValue.getFullYear(), nowValue.getMonth(), nowValue.getDate()];\n }\n\n // convert an array to a date.\n // the array should mirror the parameters below\n // note: all values past the year are optional and will default to the lowest possible value.\n // [year, month, day , hour, minute, second, millisecond]\n function configFromArray (config) {\n var i, date, input = [], currentDate, expectedWeekday, yearToUse;\n\n if (config._d) {\n return;\n }\n\n currentDate = currentDateArray(config);\n\n //compute day of the year from weeks and weekdays\n if (config._w && config._a[DATE] == null && config._a[MONTH] == null) {\n dayOfYearFromWeekInfo(config);\n }\n\n //if the day of the year is set, figure out what it is\n if (config._dayOfYear != null) {\n yearToUse = defaults(config._a[YEAR], currentDate[YEAR]);\n\n if (config._dayOfYear > daysInYear(yearToUse) || config._dayOfYear === 0) {\n getParsingFlags(config)._overflowDayOfYear = true;\n }\n\n date = createUTCDate(yearToUse, 0, config._dayOfYear);\n config._a[MONTH] = date.getUTCMonth();\n config._a[DATE] = date.getUTCDate();\n }\n\n // Default to current date.\n // * if no year, month, day of month are given, default to today\n // * if day of month is given, default month and year\n // * if month is given, default only year\n // * if year is given, don't default anything\n for (i = 0; i < 3 && config._a[i] == null; ++i) {\n config._a[i] = input[i] = currentDate[i];\n }\n\n // Zero out whatever was not defaulted, including time\n for (; i < 7; i++) {\n config._a[i] = input[i] = (config._a[i] == null) ? (i === 2 ? 1 : 0) : config._a[i];\n }\n\n // Check for 24:00:00.000\n if (config._a[HOUR] === 24 &&\n config._a[MINUTE] === 0 &&\n config._a[SECOND] === 0 &&\n config._a[MILLISECOND] === 0) {\n config._nextDay = true;\n config._a[HOUR] = 0;\n }\n\n config._d = (config._useUTC ? createUTCDate : createDate).apply(null, input);\n expectedWeekday = config._useUTC ? config._d.getUTCDay() : config._d.getDay();\n\n // Apply timezone offset from input. The actual utcOffset can be changed\n // with parseZone.\n if (config._tzm != null) {\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n }\n\n if (config._nextDay) {\n config._a[HOUR] = 24;\n }\n\n // check for mismatching day of week\n if (config._w && typeof config._w.d !== 'undefined' && config._w.d !== expectedWeekday) {\n getParsingFlags(config).weekdayMismatch = true;\n }\n }\n\n function dayOfYearFromWeekInfo(config) {\n var w, weekYear, week, weekday, dow, doy, temp, weekdayOverflow;\n\n w = config._w;\n if (w.GG != null || w.W != null || w.E != null) {\n dow = 1;\n doy = 4;\n\n // TODO: We need to take the current isoWeekYear, but that depends on\n // how we interpret now (local, utc, fixed offset). So create\n // a now version of current config (take local/utc/offset flags, and\n // create now).\n weekYear = defaults(w.GG, config._a[YEAR], weekOfYear(createLocal(), 1, 4).year);\n week = defaults(w.W, 1);\n weekday = defaults(w.E, 1);\n if (weekday < 1 || weekday > 7) {\n weekdayOverflow = true;\n }\n } else {\n dow = config._locale._week.dow;\n doy = config._locale._week.doy;\n\n var curWeek = weekOfYear(createLocal(), dow, doy);\n\n weekYear = defaults(w.gg, config._a[YEAR], curWeek.year);\n\n // Default to current week.\n week = defaults(w.w, curWeek.week);\n\n if (w.d != null) {\n // weekday -- low day numbers are considered next week\n weekday = w.d;\n if (weekday < 0 || weekday > 6) {\n weekdayOverflow = true;\n }\n } else if (w.e != null) {\n // local weekday -- counting starts from begining of week\n weekday = w.e + dow;\n if (w.e < 0 || w.e > 6) {\n weekdayOverflow = true;\n }\n } else {\n // default to begining of week\n weekday = dow;\n }\n }\n if (week < 1 || week > weeksInYear(weekYear, dow, doy)) {\n getParsingFlags(config)._overflowWeeks = true;\n } else if (weekdayOverflow != null) {\n getParsingFlags(config)._overflowWeekday = true;\n } else {\n temp = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy);\n config._a[YEAR] = temp.year;\n config._dayOfYear = temp.dayOfYear;\n }\n }\n\n // iso 8601 regex\n // 0000-00-00 0000-W00 or 0000-W00-0 + T + 00 or 00:00 or 00:00:00 or 00:00:00.000 + +00:00 or +0000 or +00)\n var extendedIsoRegex = /^\\s*((?:[+-]\\d{6}|\\d{4})-(?:\\d\\d-\\d\\d|W\\d\\d-\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?::\\d\\d(?::\\d\\d(?:[.,]\\d+)?)?)?)([\\+\\-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/;\n var basicIsoRegex = /^\\s*((?:[+-]\\d{6}|\\d{4})(?:\\d\\d\\d\\d|W\\d\\d\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?:\\d\\d(?:\\d\\d(?:[.,]\\d+)?)?)?)([\\+\\-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/;\n\n var tzRegex = /Z|[+-]\\d\\d(?::?\\d\\d)?/;\n\n var isoDates = [\n ['YYYYYY-MM-DD', /[+-]\\d{6}-\\d\\d-\\d\\d/],\n ['YYYY-MM-DD', /\\d{4}-\\d\\d-\\d\\d/],\n ['GGGG-[W]WW-E', /\\d{4}-W\\d\\d-\\d/],\n ['GGGG-[W]WW', /\\d{4}-W\\d\\d/, false],\n ['YYYY-DDD', /\\d{4}-\\d{3}/],\n ['YYYY-MM', /\\d{4}-\\d\\d/, false],\n ['YYYYYYMMDD', /[+-]\\d{10}/],\n ['YYYYMMDD', /\\d{8}/],\n // YYYYMM is NOT allowed by the standard\n ['GGGG[W]WWE', /\\d{4}W\\d{3}/],\n ['GGGG[W]WW', /\\d{4}W\\d{2}/, false],\n ['YYYYDDD', /\\d{7}/]\n ];\n\n // iso time formats and regexes\n var isoTimes = [\n ['HH:mm:ss.SSSS', /\\d\\d:\\d\\d:\\d\\d\\.\\d+/],\n ['HH:mm:ss,SSSS', /\\d\\d:\\d\\d:\\d\\d,\\d+/],\n ['HH:mm:ss', /\\d\\d:\\d\\d:\\d\\d/],\n ['HH:mm', /\\d\\d:\\d\\d/],\n ['HHmmss.SSSS', /\\d\\d\\d\\d\\d\\d\\.\\d+/],\n ['HHmmss,SSSS', /\\d\\d\\d\\d\\d\\d,\\d+/],\n ['HHmmss', /\\d\\d\\d\\d\\d\\d/],\n ['HHmm', /\\d\\d\\d\\d/],\n ['HH', /\\d\\d/]\n ];\n\n var aspNetJsonRegex = /^\\/?Date\\((\\-?\\d+)/i;\n\n // date from iso format\n function configFromISO(config) {\n var i, l,\n string = config._i,\n match = extendedIsoRegex.exec(string) || basicIsoRegex.exec(string),\n allowTime, dateFormat, timeFormat, tzFormat;\n\n if (match) {\n getParsingFlags(config).iso = true;\n\n for (i = 0, l = isoDates.length; i < l; i++) {\n if (isoDates[i][1].exec(match[1])) {\n dateFormat = isoDates[i][0];\n allowTime = isoDates[i][2] !== false;\n break;\n }\n }\n if (dateFormat == null) {\n config._isValid = false;\n return;\n }\n if (match[3]) {\n for (i = 0, l = isoTimes.length; i < l; i++) {\n if (isoTimes[i][1].exec(match[3])) {\n // match[2] should be 'T' or space\n timeFormat = (match[2] || ' ') + isoTimes[i][0];\n break;\n }\n }\n if (timeFormat == null) {\n config._isValid = false;\n return;\n }\n }\n if (!allowTime && timeFormat != null) {\n config._isValid = false;\n return;\n }\n if (match[4]) {\n if (tzRegex.exec(match[4])) {\n tzFormat = 'Z';\n } else {\n config._isValid = false;\n return;\n }\n }\n config._f = dateFormat + (timeFormat || '') + (tzFormat || '');\n configFromStringAndFormat(config);\n } else {\n config._isValid = false;\n }\n }\n\n // RFC 2822 regex: For details see https://tools.ietf.org/html/rfc2822#section-3.3\n var rfc2822 = /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\\s)?(\\d{1,2})\\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\\s(\\d{2,4})\\s(\\d\\d):(\\d\\d)(?::(\\d\\d))?\\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\\d{4}))$/;\n\n function extractFromRFC2822Strings(yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr) {\n var result = [\n untruncateYear(yearStr),\n defaultLocaleMonthsShort.indexOf(monthStr),\n parseInt(dayStr, 10),\n parseInt(hourStr, 10),\n parseInt(minuteStr, 10)\n ];\n\n if (secondStr) {\n result.push(parseInt(secondStr, 10));\n }\n\n return result;\n }\n\n function untruncateYear(yearStr) {\n var year = parseInt(yearStr, 10);\n if (year <= 49) {\n return 2000 + year;\n } else if (year <= 999) {\n return 1900 + year;\n }\n return year;\n }\n\n function preprocessRFC2822(s) {\n // Remove comments and folding whitespace and replace multiple-spaces with a single space\n return s.replace(/\\([^)]*\\)|[\\n\\t]/g, ' ').replace(/(\\s\\s+)/g, ' ').replace(/^\\s\\s*/, '').replace(/\\s\\s*$/, '');\n }\n\n function checkWeekday(weekdayStr, parsedInput, config) {\n if (weekdayStr) {\n // TODO: Replace the vanilla JS Date object with an indepentent day-of-week check.\n var weekdayProvided = defaultLocaleWeekdaysShort.indexOf(weekdayStr),\n weekdayActual = new Date(parsedInput[0], parsedInput[1], parsedInput[2]).getDay();\n if (weekdayProvided !== weekdayActual) {\n getParsingFlags(config).weekdayMismatch = true;\n config._isValid = false;\n return false;\n }\n }\n return true;\n }\n\n var obsOffsets = {\n UT: 0,\n GMT: 0,\n EDT: -4 * 60,\n EST: -5 * 60,\n CDT: -5 * 60,\n CST: -6 * 60,\n MDT: -6 * 60,\n MST: -7 * 60,\n PDT: -7 * 60,\n PST: -8 * 60\n };\n\n function calculateOffset(obsOffset, militaryOffset, numOffset) {\n if (obsOffset) {\n return obsOffsets[obsOffset];\n } else if (militaryOffset) {\n // the only allowed military tz is Z\n return 0;\n } else {\n var hm = parseInt(numOffset, 10);\n var m = hm % 100, h = (hm - m) / 100;\n return h * 60 + m;\n }\n }\n\n // date and time from ref 2822 format\n function configFromRFC2822(config) {\n var match = rfc2822.exec(preprocessRFC2822(config._i));\n if (match) {\n var parsedArray = extractFromRFC2822Strings(match[4], match[3], match[2], match[5], match[6], match[7]);\n if (!checkWeekday(match[1], parsedArray, config)) {\n return;\n }\n\n config._a = parsedArray;\n config._tzm = calculateOffset(match[8], match[9], match[10]);\n\n config._d = createUTCDate.apply(null, config._a);\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n\n getParsingFlags(config).rfc2822 = true;\n } else {\n config._isValid = false;\n }\n }\n\n // date from iso format or fallback\n function configFromString(config) {\n var matched = aspNetJsonRegex.exec(config._i);\n\n if (matched !== null) {\n config._d = new Date(+matched[1]);\n return;\n }\n\n configFromISO(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n configFromRFC2822(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n // Final attempt, use Input Fallback\n hooks.createFromInputFallback(config);\n }\n\n hooks.createFromInputFallback = deprecate(\n 'value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), ' +\n 'which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are ' +\n 'discouraged and will be removed in an upcoming major release. Please refer to ' +\n 'http://momentjs.com/guides/#/warnings/js-date/ for more info.',\n function (config) {\n config._d = new Date(config._i + (config._useUTC ? ' UTC' : ''));\n }\n );\n\n // constant that refers to the ISO standard\n hooks.ISO_8601 = function () {};\n\n // constant that refers to the RFC 2822 form\n hooks.RFC_2822 = function () {};\n\n // date from string and format string\n function configFromStringAndFormat(config) {\n // TODO: Move this to another part of the creation flow to prevent circular deps\n if (config._f === hooks.ISO_8601) {\n configFromISO(config);\n return;\n }\n if (config._f === hooks.RFC_2822) {\n configFromRFC2822(config);\n return;\n }\n config._a = [];\n getParsingFlags(config).empty = true;\n\n // This array is used to make a Date, either with `new Date` or `Date.UTC`\n var string = '' + config._i,\n i, parsedInput, tokens, token, skipped,\n stringLength = string.length,\n totalParsedInputLength = 0;\n\n tokens = expandFormat(config._f, config._locale).match(formattingTokens) || [];\n\n for (i = 0; i < tokens.length; i++) {\n token = tokens[i];\n parsedInput = (string.match(getParseRegexForToken(token, config)) || [])[0];\n // console.log('token', token, 'parsedInput', parsedInput,\n // 'regex', getParseRegexForToken(token, config));\n if (parsedInput) {\n skipped = string.substr(0, string.indexOf(parsedInput));\n if (skipped.length > 0) {\n getParsingFlags(config).unusedInput.push(skipped);\n }\n string = string.slice(string.indexOf(parsedInput) + parsedInput.length);\n totalParsedInputLength += parsedInput.length;\n }\n // don't parse if it's not a known token\n if (formatTokenFunctions[token]) {\n if (parsedInput) {\n getParsingFlags(config).empty = false;\n }\n else {\n getParsingFlags(config).unusedTokens.push(token);\n }\n addTimeToArrayFromToken(token, parsedInput, config);\n }\n else if (config._strict && !parsedInput) {\n getParsingFlags(config).unusedTokens.push(token);\n }\n }\n\n // add remaining unparsed input length to the string\n getParsingFlags(config).charsLeftOver = stringLength - totalParsedInputLength;\n if (string.length > 0) {\n getParsingFlags(config).unusedInput.push(string);\n }\n\n // clear _12h flag if hour is <= 12\n if (config._a[HOUR] <= 12 &&\n getParsingFlags(config).bigHour === true &&\n config._a[HOUR] > 0) {\n getParsingFlags(config).bigHour = undefined;\n }\n\n getParsingFlags(config).parsedDateParts = config._a.slice(0);\n getParsingFlags(config).meridiem = config._meridiem;\n // handle meridiem\n config._a[HOUR] = meridiemFixWrap(config._locale, config._a[HOUR], config._meridiem);\n\n configFromArray(config);\n checkOverflow(config);\n }\n\n\n function meridiemFixWrap (locale, hour, meridiem) {\n var isPm;\n\n if (meridiem == null) {\n // nothing to do\n return hour;\n }\n if (locale.meridiemHour != null) {\n return locale.meridiemHour(hour, meridiem);\n } else if (locale.isPM != null) {\n // Fallback\n isPm = locale.isPM(meridiem);\n if (isPm && hour < 12) {\n hour += 12;\n }\n if (!isPm && hour === 12) {\n hour = 0;\n }\n return hour;\n } else {\n // this is not supposed to happen\n return hour;\n }\n }\n\n // date from string and array of format strings\n function configFromStringAndArray(config) {\n var tempConfig,\n bestMoment,\n\n scoreToBeat,\n i,\n currentScore;\n\n if (config._f.length === 0) {\n getParsingFlags(config).invalidFormat = true;\n config._d = new Date(NaN);\n return;\n }\n\n for (i = 0; i < config._f.length; i++) {\n currentScore = 0;\n tempConfig = copyConfig({}, config);\n if (config._useUTC != null) {\n tempConfig._useUTC = config._useUTC;\n }\n tempConfig._f = config._f[i];\n configFromStringAndFormat(tempConfig);\n\n if (!isValid(tempConfig)) {\n continue;\n }\n\n // if there is any input that was not parsed add a penalty for that format\n currentScore += getParsingFlags(tempConfig).charsLeftOver;\n\n //or tokens\n currentScore += getParsingFlags(tempConfig).unusedTokens.length * 10;\n\n getParsingFlags(tempConfig).score = currentScore;\n\n if (scoreToBeat == null || currentScore < scoreToBeat) {\n scoreToBeat = currentScore;\n bestMoment = tempConfig;\n }\n }\n\n extend(config, bestMoment || tempConfig);\n }\n\n function configFromObject(config) {\n if (config._d) {\n return;\n }\n\n var i = normalizeObjectUnits(config._i);\n config._a = map([i.year, i.month, i.day || i.date, i.hour, i.minute, i.second, i.millisecond], function (obj) {\n return obj && parseInt(obj, 10);\n });\n\n configFromArray(config);\n }\n\n function createFromConfig (config) {\n var res = new Moment(checkOverflow(prepareConfig(config)));\n if (res._nextDay) {\n // Adding is smart enough around DST\n res.add(1, 'd');\n res._nextDay = undefined;\n }\n\n return res;\n }\n\n function prepareConfig (config) {\n var input = config._i,\n format = config._f;\n\n config._locale = config._locale || getLocale(config._l);\n\n if (input === null || (format === undefined && input === '')) {\n return createInvalid({nullInput: true});\n }\n\n if (typeof input === 'string') {\n config._i = input = config._locale.preparse(input);\n }\n\n if (isMoment(input)) {\n return new Moment(checkOverflow(input));\n } else if (isDate(input)) {\n config._d = input;\n } else if (isArray(format)) {\n configFromStringAndArray(config);\n } else if (format) {\n configFromStringAndFormat(config);\n } else {\n configFromInput(config);\n }\n\n if (!isValid(config)) {\n config._d = null;\n }\n\n return config;\n }\n\n function configFromInput(config) {\n var input = config._i;\n if (isUndefined(input)) {\n config._d = new Date(hooks.now());\n } else if (isDate(input)) {\n config._d = new Date(input.valueOf());\n } else if (typeof input === 'string') {\n configFromString(config);\n } else if (isArray(input)) {\n config._a = map(input.slice(0), function (obj) {\n return parseInt(obj, 10);\n });\n configFromArray(config);\n } else if (isObject(input)) {\n configFromObject(config);\n } else if (isNumber(input)) {\n // from milliseconds\n config._d = new Date(input);\n } else {\n hooks.createFromInputFallback(config);\n }\n }\n\n function createLocalOrUTC (input, format, locale, strict, isUTC) {\n var c = {};\n\n if (locale === true || locale === false) {\n strict = locale;\n locale = undefined;\n }\n\n if ((isObject(input) && isObjectEmpty(input)) ||\n (isArray(input) && input.length === 0)) {\n input = undefined;\n }\n // object construction must be done this way.\n // https://github.com/moment/moment/issues/1423\n c._isAMomentObject = true;\n c._useUTC = c._isUTC = isUTC;\n c._l = locale;\n c._i = input;\n c._f = format;\n c._strict = strict;\n\n return createFromConfig(c);\n }\n\n function createLocal (input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, false);\n }\n\n var prototypeMin = deprecate(\n 'moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/',\n function () {\n var other = createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other < this ? this : other;\n } else {\n return createInvalid();\n }\n }\n );\n\n var prototypeMax = deprecate(\n 'moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/',\n function () {\n var other = createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other > this ? this : other;\n } else {\n return createInvalid();\n }\n }\n );\n\n // Pick a moment m from moments so that m[fn](other) is true for all\n // other. This relies on the function fn to be transitive.\n //\n // moments should either be an array of moment objects or an array, whose\n // first element is an array of moment objects.\n function pickBy(fn, moments) {\n var res, i;\n if (moments.length === 1 && isArray(moments[0])) {\n moments = moments[0];\n }\n if (!moments.length) {\n return createLocal();\n }\n res = moments[0];\n for (i = 1; i < moments.length; ++i) {\n if (!moments[i].isValid() || moments[i][fn](res)) {\n res = moments[i];\n }\n }\n return res;\n }\n\n // TODO: Use [].sort instead?\n function min () {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isBefore', args);\n }\n\n function max () {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isAfter', args);\n }\n\n var now = function () {\n return Date.now ? Date.now() : +(new Date());\n };\n\n var ordering = ['year', 'quarter', 'month', 'week', 'day', 'hour', 'minute', 'second', 'millisecond'];\n\n function isDurationValid(m) {\n for (var key in m) {\n if (!(indexOf.call(ordering, key) !== -1 && (m[key] == null || !isNaN(m[key])))) {\n return false;\n }\n }\n\n var unitHasDecimal = false;\n for (var i = 0; i < ordering.length; ++i) {\n if (m[ordering[i]]) {\n if (unitHasDecimal) {\n return false; // only allow non-integers for smallest unit\n }\n if (parseFloat(m[ordering[i]]) !== toInt(m[ordering[i]])) {\n unitHasDecimal = true;\n }\n }\n }\n\n return true;\n }\n\n function isValid$1() {\n return this._isValid;\n }\n\n function createInvalid$1() {\n return createDuration(NaN);\n }\n\n function Duration (duration) {\n var normalizedInput = normalizeObjectUnits(duration),\n years = normalizedInput.year || 0,\n quarters = normalizedInput.quarter || 0,\n months = normalizedInput.month || 0,\n weeks = normalizedInput.week || 0,\n days = normalizedInput.day || 0,\n hours = normalizedInput.hour || 0,\n minutes = normalizedInput.minute || 0,\n seconds = normalizedInput.second || 0,\n milliseconds = normalizedInput.millisecond || 0;\n\n this._isValid = isDurationValid(normalizedInput);\n\n // representation for dateAddRemove\n this._milliseconds = +milliseconds +\n seconds * 1e3 + // 1000\n minutes * 6e4 + // 1000 * 60\n hours * 1000 * 60 * 60; //using 1000 * 60 * 60 instead of 36e5 to avoid floating point rounding errors https://github.com/moment/moment/issues/2978\n // Because of dateAddRemove treats 24 hours as different from a\n // day when working around DST, we need to store them separately\n this._days = +days +\n weeks * 7;\n // It is impossible to translate months into days without knowing\n // which months you are are talking about, so we have to store\n // it separately.\n this._months = +months +\n quarters * 3 +\n years * 12;\n\n this._data = {};\n\n this._locale = getLocale();\n\n this._bubble();\n }\n\n function isDuration (obj) {\n return obj instanceof Duration;\n }\n\n function absRound (number) {\n if (number < 0) {\n return Math.round(-1 * number) * -1;\n } else {\n return Math.round(number);\n }\n }\n\n // FORMATTING\n\n function offset (token, separator) {\n addFormatToken(token, 0, 0, function () {\n var offset = this.utcOffset();\n var sign = '+';\n if (offset < 0) {\n offset = -offset;\n sign = '-';\n }\n return sign + zeroFill(~~(offset / 60), 2) + separator + zeroFill(~~(offset) % 60, 2);\n });\n }\n\n offset('Z', ':');\n offset('ZZ', '');\n\n // PARSING\n\n addRegexToken('Z', matchShortOffset);\n addRegexToken('ZZ', matchShortOffset);\n addParseToken(['Z', 'ZZ'], function (input, array, config) {\n config._useUTC = true;\n config._tzm = offsetFromString(matchShortOffset, input);\n });\n\n // HELPERS\n\n // timezone chunker\n // '+10:00' > ['10', '00']\n // '-1530' > ['-15', '30']\n var chunkOffset = /([\\+\\-]|\\d\\d)/gi;\n\n function offsetFromString(matcher, string) {\n var matches = (string || '').match(matcher);\n\n if (matches === null) {\n return null;\n }\n\n var chunk = matches[matches.length - 1] || [];\n var parts = (chunk + '').match(chunkOffset) || ['-', 0, 0];\n var minutes = +(parts[1] * 60) + toInt(parts[2]);\n\n return minutes === 0 ?\n 0 :\n parts[0] === '+' ? minutes : -minutes;\n }\n\n // Return a moment from input, that is local/utc/zone equivalent to model.\n function cloneWithOffset(input, model) {\n var res, diff;\n if (model._isUTC) {\n res = model.clone();\n diff = (isMoment(input) || isDate(input) ? input.valueOf() : createLocal(input).valueOf()) - res.valueOf();\n // Use low-level api, because this fn is low-level api.\n res._d.setTime(res._d.valueOf() + diff);\n hooks.updateOffset(res, false);\n return res;\n } else {\n return createLocal(input).local();\n }\n }\n\n function getDateOffset (m) {\n // On Firefox.24 Date#getTimezoneOffset returns a floating point.\n // https://github.com/moment/moment/pull/1871\n return -Math.round(m._d.getTimezoneOffset() / 15) * 15;\n }\n\n // HOOKS\n\n // This function will be called whenever a moment is mutated.\n // It is intended to keep the offset in sync with the timezone.\n hooks.updateOffset = function () {};\n\n // MOMENTS\n\n // keepLocalTime = true means only change the timezone, without\n // affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]-->\n // 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset\n // +0200, so we adjust the time as needed, to be valid.\n //\n // Keeping the time actually adds/subtracts (one hour)\n // from the actual represented time. That is why we call updateOffset\n // a second time. In case it wants us to change the offset again\n // _changeInProgress == true case, then we have to adjust, because\n // there is no such time in the given timezone.\n function getSetOffset (input, keepLocalTime, keepMinutes) {\n var offset = this._offset || 0,\n localAdjust;\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n if (input != null) {\n if (typeof input === 'string') {\n input = offsetFromString(matchShortOffset, input);\n if (input === null) {\n return this;\n }\n } else if (Math.abs(input) < 16 && !keepMinutes) {\n input = input * 60;\n }\n if (!this._isUTC && keepLocalTime) {\n localAdjust = getDateOffset(this);\n }\n this._offset = input;\n this._isUTC = true;\n if (localAdjust != null) {\n this.add(localAdjust, 'm');\n }\n if (offset !== input) {\n if (!keepLocalTime || this._changeInProgress) {\n addSubtract(this, createDuration(input - offset, 'm'), 1, false);\n } else if (!this._changeInProgress) {\n this._changeInProgress = true;\n hooks.updateOffset(this, true);\n this._changeInProgress = null;\n }\n }\n return this;\n } else {\n return this._isUTC ? offset : getDateOffset(this);\n }\n }\n\n function getSetZone (input, keepLocalTime) {\n if (input != null) {\n if (typeof input !== 'string') {\n input = -input;\n }\n\n this.utcOffset(input, keepLocalTime);\n\n return this;\n } else {\n return -this.utcOffset();\n }\n }\n\n function setOffsetToUTC (keepLocalTime) {\n return this.utcOffset(0, keepLocalTime);\n }\n\n function setOffsetToLocal (keepLocalTime) {\n if (this._isUTC) {\n this.utcOffset(0, keepLocalTime);\n this._isUTC = false;\n\n if (keepLocalTime) {\n this.subtract(getDateOffset(this), 'm');\n }\n }\n return this;\n }\n\n function setOffsetToParsedOffset () {\n if (this._tzm != null) {\n this.utcOffset(this._tzm, false, true);\n } else if (typeof this._i === 'string') {\n var tZone = offsetFromString(matchOffset, this._i);\n if (tZone != null) {\n this.utcOffset(tZone);\n }\n else {\n this.utcOffset(0, true);\n }\n }\n return this;\n }\n\n function hasAlignedHourOffset (input) {\n if (!this.isValid()) {\n return false;\n }\n input = input ? createLocal(input).utcOffset() : 0;\n\n return (this.utcOffset() - input) % 60 === 0;\n }\n\n function isDaylightSavingTime () {\n return (\n this.utcOffset() > this.clone().month(0).utcOffset() ||\n this.utcOffset() > this.clone().month(5).utcOffset()\n );\n }\n\n function isDaylightSavingTimeShifted () {\n if (!isUndefined(this._isDSTShifted)) {\n return this._isDSTShifted;\n }\n\n var c = {};\n\n copyConfig(c, this);\n c = prepareConfig(c);\n\n if (c._a) {\n var other = c._isUTC ? createUTC(c._a) : createLocal(c._a);\n this._isDSTShifted = this.isValid() &&\n compareArrays(c._a, other.toArray()) > 0;\n } else {\n this._isDSTShifted = false;\n }\n\n return this._isDSTShifted;\n }\n\n function isLocal () {\n return this.isValid() ? !this._isUTC : false;\n }\n\n function isUtcOffset () {\n return this.isValid() ? this._isUTC : false;\n }\n\n function isUtc () {\n return this.isValid() ? this._isUTC && this._offset === 0 : false;\n }\n\n // ASP.NET json date format regex\n var aspNetRegex = /^(\\-|\\+)?(?:(\\d*)[. ])?(\\d+)\\:(\\d+)(?:\\:(\\d+)(\\.\\d*)?)?$/;\n\n // from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html\n // somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere\n // and further modified to allow for strings containing both week and day\n var isoRegex = /^(-|\\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;\n\n function createDuration (input, key) {\n var duration = input,\n // matching against regexp is expensive, do it on demand\n match = null,\n sign,\n ret,\n diffRes;\n\n if (isDuration(input)) {\n duration = {\n ms : input._milliseconds,\n d : input._days,\n M : input._months\n };\n } else if (isNumber(input)) {\n duration = {};\n if (key) {\n duration[key] = input;\n } else {\n duration.milliseconds = input;\n }\n } else if (!!(match = aspNetRegex.exec(input))) {\n sign = (match[1] === '-') ? -1 : 1;\n duration = {\n y : 0,\n d : toInt(match[DATE]) * sign,\n h : toInt(match[HOUR]) * sign,\n m : toInt(match[MINUTE]) * sign,\n s : toInt(match[SECOND]) * sign,\n ms : toInt(absRound(match[MILLISECOND] * 1000)) * sign // the millisecond decimal point is included in the match\n };\n } else if (!!(match = isoRegex.exec(input))) {\n sign = (match[1] === '-') ? -1 : (match[1] === '+') ? 1 : 1;\n duration = {\n y : parseIso(match[2], sign),\n M : parseIso(match[3], sign),\n w : parseIso(match[4], sign),\n d : parseIso(match[5], sign),\n h : parseIso(match[6], sign),\n m : parseIso(match[7], sign),\n s : parseIso(match[8], sign)\n };\n } else if (duration == null) {// checks for null or undefined\n duration = {};\n } else if (typeof duration === 'object' && ('from' in duration || 'to' in duration)) {\n diffRes = momentsDifference(createLocal(duration.from), createLocal(duration.to));\n\n duration = {};\n duration.ms = diffRes.milliseconds;\n duration.M = diffRes.months;\n }\n\n ret = new Duration(duration);\n\n if (isDuration(input) && hasOwnProp(input, '_locale')) {\n ret._locale = input._locale;\n }\n\n return ret;\n }\n\n createDuration.fn = Duration.prototype;\n createDuration.invalid = createInvalid$1;\n\n function parseIso (inp, sign) {\n // We'd normally use ~~inp for this, but unfortunately it also\n // converts floats to ints.\n // inp may be undefined, so careful calling replace on it.\n var res = inp && parseFloat(inp.replace(',', '.'));\n // apply sign while we're at it\n return (isNaN(res) ? 0 : res) * sign;\n }\n\n function positiveMomentsDifference(base, other) {\n var res = {milliseconds: 0, months: 0};\n\n res.months = other.month() - base.month() +\n (other.year() - base.year()) * 12;\n if (base.clone().add(res.months, 'M').isAfter(other)) {\n --res.months;\n }\n\n res.milliseconds = +other - +(base.clone().add(res.months, 'M'));\n\n return res;\n }\n\n function momentsDifference(base, other) {\n var res;\n if (!(base.isValid() && other.isValid())) {\n return {milliseconds: 0, months: 0};\n }\n\n other = cloneWithOffset(other, base);\n if (base.isBefore(other)) {\n res = positiveMomentsDifference(base, other);\n } else {\n res = positiveMomentsDifference(other, base);\n res.milliseconds = -res.milliseconds;\n res.months = -res.months;\n }\n\n return res;\n }\n\n // TODO: remove 'name' arg after deprecation is removed\n function createAdder(direction, name) {\n return function (val, period) {\n var dur, tmp;\n //invert the arguments, but complain about it\n if (period !== null && !isNaN(+period)) {\n deprecateSimple(name, 'moment().' + name + '(period, number) is deprecated. Please use moment().' + name + '(number, period). ' +\n 'See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.');\n tmp = val; val = period; period = tmp;\n }\n\n val = typeof val === 'string' ? +val : val;\n dur = createDuration(val, period);\n addSubtract(this, dur, direction);\n return this;\n };\n }\n\n function addSubtract (mom, duration, isAdding, updateOffset) {\n var milliseconds = duration._milliseconds,\n days = absRound(duration._days),\n months = absRound(duration._months);\n\n if (!mom.isValid()) {\n // No op\n return;\n }\n\n updateOffset = updateOffset == null ? true : updateOffset;\n\n if (months) {\n setMonth(mom, get(mom, 'Month') + months * isAdding);\n }\n if (days) {\n set$1(mom, 'Date', get(mom, 'Date') + days * isAdding);\n }\n if (milliseconds) {\n mom._d.setTime(mom._d.valueOf() + milliseconds * isAdding);\n }\n if (updateOffset) {\n hooks.updateOffset(mom, days || months);\n }\n }\n\n var add = createAdder(1, 'add');\n var subtract = createAdder(-1, 'subtract');\n\n function getCalendarFormat(myMoment, now) {\n var diff = myMoment.diff(now, 'days', true);\n return diff < -6 ? 'sameElse' :\n diff < -1 ? 'lastWeek' :\n diff < 0 ? 'lastDay' :\n diff < 1 ? 'sameDay' :\n diff < 2 ? 'nextDay' :\n diff < 7 ? 'nextWeek' : 'sameElse';\n }\n\n function calendar$1 (time, formats) {\n // We want to compare the start of today, vs this.\n // Getting start-of-today depends on whether we're local/utc/offset or not.\n var now = time || createLocal(),\n sod = cloneWithOffset(now, this).startOf('day'),\n format = hooks.calendarFormat(this, sod) || 'sameElse';\n\n var output = formats && (isFunction(formats[format]) ? formats[format].call(this, now) : formats[format]);\n\n return this.format(output || this.localeData().calendar(format, this, createLocal(now)));\n }\n\n function clone () {\n return new Moment(this);\n }\n\n function isAfter (input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(!isUndefined(units) ? units : 'millisecond');\n if (units === 'millisecond') {\n return this.valueOf() > localInput.valueOf();\n } else {\n return localInput.valueOf() < this.clone().startOf(units).valueOf();\n }\n }\n\n function isBefore (input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(!isUndefined(units) ? units : 'millisecond');\n if (units === 'millisecond') {\n return this.valueOf() < localInput.valueOf();\n } else {\n return this.clone().endOf(units).valueOf() < localInput.valueOf();\n }\n }\n\n function isBetween (from, to, units, inclusivity) {\n inclusivity = inclusivity || '()';\n return (inclusivity[0] === '(' ? this.isAfter(from, units) : !this.isBefore(from, units)) &&\n (inclusivity[1] === ')' ? this.isBefore(to, units) : !this.isAfter(to, units));\n }\n\n function isSame (input, units) {\n var localInput = isMoment(input) ? input : createLocal(input),\n inputMs;\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units || 'millisecond');\n if (units === 'millisecond') {\n return this.valueOf() === localInput.valueOf();\n } else {\n inputMs = localInput.valueOf();\n return this.clone().startOf(units).valueOf() <= inputMs && inputMs <= this.clone().endOf(units).valueOf();\n }\n }\n\n function isSameOrAfter (input, units) {\n return this.isSame(input, units) || this.isAfter(input,units);\n }\n\n function isSameOrBefore (input, units) {\n return this.isSame(input, units) || this.isBefore(input,units);\n }\n\n function diff (input, units, asFloat) {\n var that,\n zoneDelta,\n output;\n\n if (!this.isValid()) {\n return NaN;\n }\n\n that = cloneWithOffset(input, this);\n\n if (!that.isValid()) {\n return NaN;\n }\n\n zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4;\n\n units = normalizeUnits(units);\n\n switch (units) {\n case 'year': output = monthDiff(this, that) / 12; break;\n case 'month': output = monthDiff(this, that); break;\n case 'quarter': output = monthDiff(this, that) / 3; break;\n case 'second': output = (this - that) / 1e3; break; // 1000\n case 'minute': output = (this - that) / 6e4; break; // 1000 * 60\n case 'hour': output = (this - that) / 36e5; break; // 1000 * 60 * 60\n case 'day': output = (this - that - zoneDelta) / 864e5; break; // 1000 * 60 * 60 * 24, negate dst\n case 'week': output = (this - that - zoneDelta) / 6048e5; break; // 1000 * 60 * 60 * 24 * 7, negate dst\n default: output = this - that;\n }\n\n return asFloat ? output : absFloor(output);\n }\n\n function monthDiff (a, b) {\n // difference in months\n var wholeMonthDiff = ((b.year() - a.year()) * 12) + (b.month() - a.month()),\n // b is in (anchor - 1 month, anchor + 1 month)\n anchor = a.clone().add(wholeMonthDiff, 'months'),\n anchor2, adjust;\n\n if (b - anchor < 0) {\n anchor2 = a.clone().add(wholeMonthDiff - 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor - anchor2);\n } else {\n anchor2 = a.clone().add(wholeMonthDiff + 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor2 - anchor);\n }\n\n //check for negative zero, return zero if negative zero\n return -(wholeMonthDiff + adjust) || 0;\n }\n\n hooks.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ';\n hooks.defaultFormatUtc = 'YYYY-MM-DDTHH:mm:ss[Z]';\n\n function toString () {\n return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ');\n }\n\n function toISOString(keepOffset) {\n if (!this.isValid()) {\n return null;\n }\n var utc = keepOffset !== true;\n var m = utc ? this.clone().utc() : this;\n if (m.year() < 0 || m.year() > 9999) {\n return formatMoment(m, utc ? 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYYYY-MM-DD[T]HH:mm:ss.SSSZ');\n }\n if (isFunction(Date.prototype.toISOString)) {\n // native implementation is ~50x faster, use it when we can\n if (utc) {\n return this.toDate().toISOString();\n } else {\n return new Date(this.valueOf() + this.utcOffset() * 60 * 1000).toISOString().replace('Z', formatMoment(m, 'Z'));\n }\n }\n return formatMoment(m, utc ? 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYY-MM-DD[T]HH:mm:ss.SSSZ');\n }\n\n /**\n * Return a human readable representation of a moment that can\n * also be evaluated to get a new moment which is the same\n *\n * @link https://nodejs.org/dist/latest/docs/api/util.html#util_custom_inspect_function_on_objects\n */\n function inspect () {\n if (!this.isValid()) {\n return 'moment.invalid(/* ' + this._i + ' */)';\n }\n var func = 'moment';\n var zone = '';\n if (!this.isLocal()) {\n func = this.utcOffset() === 0 ? 'moment.utc' : 'moment.parseZone';\n zone = 'Z';\n }\n var prefix = '[' + func + '(\"]';\n var year = (0 <= this.year() && this.year() <= 9999) ? 'YYYY' : 'YYYYYY';\n var datetime = '-MM-DD[T]HH:mm:ss.SSS';\n var suffix = zone + '[\")]';\n\n return this.format(prefix + year + datetime + suffix);\n }\n\n function format (inputString) {\n if (!inputString) {\n inputString = this.isUtc() ? hooks.defaultFormatUtc : hooks.defaultFormat;\n }\n var output = formatMoment(this, inputString);\n return this.localeData().postformat(output);\n }\n\n function from (time, withoutSuffix) {\n if (this.isValid() &&\n ((isMoment(time) && time.isValid()) ||\n createLocal(time).isValid())) {\n return createDuration({to: this, from: time}).locale(this.locale()).humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n\n function fromNow (withoutSuffix) {\n return this.from(createLocal(), withoutSuffix);\n }\n\n function to (time, withoutSuffix) {\n if (this.isValid() &&\n ((isMoment(time) && time.isValid()) ||\n createLocal(time).isValid())) {\n return createDuration({from: this, to: time}).locale(this.locale()).humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n\n function toNow (withoutSuffix) {\n return this.to(createLocal(), withoutSuffix);\n }\n\n // If passed a locale key, it will set the locale for this\n // instance. Otherwise, it will return the locale configuration\n // variables for this instance.\n function locale (key) {\n var newLocaleData;\n\n if (key === undefined) {\n return this._locale._abbr;\n } else {\n newLocaleData = getLocale(key);\n if (newLocaleData != null) {\n this._locale = newLocaleData;\n }\n return this;\n }\n }\n\n var lang = deprecate(\n 'moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.',\n function (key) {\n if (key === undefined) {\n return this.localeData();\n } else {\n return this.locale(key);\n }\n }\n );\n\n function localeData () {\n return this._locale;\n }\n\n function startOf (units) {\n units = normalizeUnits(units);\n // the following switch intentionally omits break keywords\n // to utilize falling through the cases.\n switch (units) {\n case 'year':\n this.month(0);\n /* falls through */\n case 'quarter':\n case 'month':\n this.date(1);\n /* falls through */\n case 'week':\n case 'isoWeek':\n case 'day':\n case 'date':\n this.hours(0);\n /* falls through */\n case 'hour':\n this.minutes(0);\n /* falls through */\n case 'minute':\n this.seconds(0);\n /* falls through */\n case 'second':\n this.milliseconds(0);\n }\n\n // weeks are a special case\n if (units === 'week') {\n this.weekday(0);\n }\n if (units === 'isoWeek') {\n this.isoWeekday(1);\n }\n\n // quarters are also special\n if (units === 'quarter') {\n this.month(Math.floor(this.month() / 3) * 3);\n }\n\n return this;\n }\n\n function endOf (units) {\n units = normalizeUnits(units);\n if (units === undefined || units === 'millisecond') {\n return this;\n }\n\n // 'date' is an alias for 'day', so it should be considered as such.\n if (units === 'date') {\n units = 'day';\n }\n\n return this.startOf(units).add(1, (units === 'isoWeek' ? 'week' : units)).subtract(1, 'ms');\n }\n\n function valueOf () {\n return this._d.valueOf() - ((this._offset || 0) * 60000);\n }\n\n function unix () {\n return Math.floor(this.valueOf() / 1000);\n }\n\n function toDate () {\n return new Date(this.valueOf());\n }\n\n function toArray () {\n var m = this;\n return [m.year(), m.month(), m.date(), m.hour(), m.minute(), m.second(), m.millisecond()];\n }\n\n function toObject () {\n var m = this;\n return {\n years: m.year(),\n months: m.month(),\n date: m.date(),\n hours: m.hours(),\n minutes: m.minutes(),\n seconds: m.seconds(),\n milliseconds: m.milliseconds()\n };\n }\n\n function toJSON () {\n // new Date(NaN).toJSON() === null\n return this.isValid() ? this.toISOString() : null;\n }\n\n function isValid$2 () {\n return isValid(this);\n }\n\n function parsingFlags () {\n return extend({}, getParsingFlags(this));\n }\n\n function invalidAt () {\n return getParsingFlags(this).overflow;\n }\n\n function creationData() {\n return {\n input: this._i,\n format: this._f,\n locale: this._locale,\n isUTC: this._isUTC,\n strict: this._strict\n };\n }\n\n // FORMATTING\n\n addFormatToken(0, ['gg', 2], 0, function () {\n return this.weekYear() % 100;\n });\n\n addFormatToken(0, ['GG', 2], 0, function () {\n return this.isoWeekYear() % 100;\n });\n\n function addWeekYearFormatToken (token, getter) {\n addFormatToken(0, [token, token.length], 0, getter);\n }\n\n addWeekYearFormatToken('gggg', 'weekYear');\n addWeekYearFormatToken('ggggg', 'weekYear');\n addWeekYearFormatToken('GGGG', 'isoWeekYear');\n addWeekYearFormatToken('GGGGG', 'isoWeekYear');\n\n // ALIASES\n\n addUnitAlias('weekYear', 'gg');\n addUnitAlias('isoWeekYear', 'GG');\n\n // PRIORITY\n\n addUnitPriority('weekYear', 1);\n addUnitPriority('isoWeekYear', 1);\n\n\n // PARSING\n\n addRegexToken('G', matchSigned);\n addRegexToken('g', matchSigned);\n addRegexToken('GG', match1to2, match2);\n addRegexToken('gg', match1to2, match2);\n addRegexToken('GGGG', match1to4, match4);\n addRegexToken('gggg', match1to4, match4);\n addRegexToken('GGGGG', match1to6, match6);\n addRegexToken('ggggg', match1to6, match6);\n\n addWeekParseToken(['gggg', 'ggggg', 'GGGG', 'GGGGG'], function (input, week, config, token) {\n week[token.substr(0, 2)] = toInt(input);\n });\n\n addWeekParseToken(['gg', 'GG'], function (input, week, config, token) {\n week[token] = hooks.parseTwoDigitYear(input);\n });\n\n // MOMENTS\n\n function getSetWeekYear (input) {\n return getSetWeekYearHelper.call(this,\n input,\n this.week(),\n this.weekday(),\n this.localeData()._week.dow,\n this.localeData()._week.doy);\n }\n\n function getSetISOWeekYear (input) {\n return getSetWeekYearHelper.call(this,\n input, this.isoWeek(), this.isoWeekday(), 1, 4);\n }\n\n function getISOWeeksInYear () {\n return weeksInYear(this.year(), 1, 4);\n }\n\n function getWeeksInYear () {\n var weekInfo = this.localeData()._week;\n return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy);\n }\n\n function getSetWeekYearHelper(input, week, weekday, dow, doy) {\n var weeksTarget;\n if (input == null) {\n return weekOfYear(this, dow, doy).year;\n } else {\n weeksTarget = weeksInYear(input, dow, doy);\n if (week > weeksTarget) {\n week = weeksTarget;\n }\n return setWeekAll.call(this, input, week, weekday, dow, doy);\n }\n }\n\n function setWeekAll(weekYear, week, weekday, dow, doy) {\n var dayOfYearData = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy),\n date = createUTCDate(dayOfYearData.year, 0, dayOfYearData.dayOfYear);\n\n this.year(date.getUTCFullYear());\n this.month(date.getUTCMonth());\n this.date(date.getUTCDate());\n return this;\n }\n\n // FORMATTING\n\n addFormatToken('Q', 0, 'Qo', 'quarter');\n\n // ALIASES\n\n addUnitAlias('quarter', 'Q');\n\n // PRIORITY\n\n addUnitPriority('quarter', 7);\n\n // PARSING\n\n addRegexToken('Q', match1);\n addParseToken('Q', function (input, array) {\n array[MONTH] = (toInt(input) - 1) * 3;\n });\n\n // MOMENTS\n\n function getSetQuarter (input) {\n return input == null ? Math.ceil((this.month() + 1) / 3) : this.month((input - 1) * 3 + this.month() % 3);\n }\n\n // FORMATTING\n\n addFormatToken('D', ['DD', 2], 'Do', 'date');\n\n // ALIASES\n\n addUnitAlias('date', 'D');\n\n // PRIORITY\n addUnitPriority('date', 9);\n\n // PARSING\n\n addRegexToken('D', match1to2);\n addRegexToken('DD', match1to2, match2);\n addRegexToken('Do', function (isStrict, locale) {\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n return isStrict ?\n (locale._dayOfMonthOrdinalParse || locale._ordinalParse) :\n locale._dayOfMonthOrdinalParseLenient;\n });\n\n addParseToken(['D', 'DD'], DATE);\n addParseToken('Do', function (input, array) {\n array[DATE] = toInt(input.match(match1to2)[0]);\n });\n\n // MOMENTS\n\n var getSetDayOfMonth = makeGetSet('Date', true);\n\n // FORMATTING\n\n addFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear');\n\n // ALIASES\n\n addUnitAlias('dayOfYear', 'DDD');\n\n // PRIORITY\n addUnitPriority('dayOfYear', 4);\n\n // PARSING\n\n addRegexToken('DDD', match1to3);\n addRegexToken('DDDD', match3);\n addParseToken(['DDD', 'DDDD'], function (input, array, config) {\n config._dayOfYear = toInt(input);\n });\n\n // HELPERS\n\n // MOMENTS\n\n function getSetDayOfYear (input) {\n var dayOfYear = Math.round((this.clone().startOf('day') - this.clone().startOf('year')) / 864e5) + 1;\n return input == null ? dayOfYear : this.add((input - dayOfYear), 'd');\n }\n\n // FORMATTING\n\n addFormatToken('m', ['mm', 2], 0, 'minute');\n\n // ALIASES\n\n addUnitAlias('minute', 'm');\n\n // PRIORITY\n\n addUnitPriority('minute', 14);\n\n // PARSING\n\n addRegexToken('m', match1to2);\n addRegexToken('mm', match1to2, match2);\n addParseToken(['m', 'mm'], MINUTE);\n\n // MOMENTS\n\n var getSetMinute = makeGetSet('Minutes', false);\n\n // FORMATTING\n\n addFormatToken('s', ['ss', 2], 0, 'second');\n\n // ALIASES\n\n addUnitAlias('second', 's');\n\n // PRIORITY\n\n addUnitPriority('second', 15);\n\n // PARSING\n\n addRegexToken('s', match1to2);\n addRegexToken('ss', match1to2, match2);\n addParseToken(['s', 'ss'], SECOND);\n\n // MOMENTS\n\n var getSetSecond = makeGetSet('Seconds', false);\n\n // FORMATTING\n\n addFormatToken('S', 0, 0, function () {\n return ~~(this.millisecond() / 100);\n });\n\n addFormatToken(0, ['SS', 2], 0, function () {\n return ~~(this.millisecond() / 10);\n });\n\n addFormatToken(0, ['SSS', 3], 0, 'millisecond');\n addFormatToken(0, ['SSSS', 4], 0, function () {\n return this.millisecond() * 10;\n });\n addFormatToken(0, ['SSSSS', 5], 0, function () {\n return this.millisecond() * 100;\n });\n addFormatToken(0, ['SSSSSS', 6], 0, function () {\n return this.millisecond() * 1000;\n });\n addFormatToken(0, ['SSSSSSS', 7], 0, function () {\n return this.millisecond() * 10000;\n });\n addFormatToken(0, ['SSSSSSSS', 8], 0, function () {\n return this.millisecond() * 100000;\n });\n addFormatToken(0, ['SSSSSSSSS', 9], 0, function () {\n return this.millisecond() * 1000000;\n });\n\n\n // ALIASES\n\n addUnitAlias('millisecond', 'ms');\n\n // PRIORITY\n\n addUnitPriority('millisecond', 16);\n\n // PARSING\n\n addRegexToken('S', match1to3, match1);\n addRegexToken('SS', match1to3, match2);\n addRegexToken('SSS', match1to3, match3);\n\n var token;\n for (token = 'SSSS'; token.length <= 9; token += 'S') {\n addRegexToken(token, matchUnsigned);\n }\n\n function parseMs(input, array) {\n array[MILLISECOND] = toInt(('0.' + input) * 1000);\n }\n\n for (token = 'S'; token.length <= 9; token += 'S') {\n addParseToken(token, parseMs);\n }\n // MOMENTS\n\n var getSetMillisecond = makeGetSet('Milliseconds', false);\n\n // FORMATTING\n\n addFormatToken('z', 0, 0, 'zoneAbbr');\n addFormatToken('zz', 0, 0, 'zoneName');\n\n // MOMENTS\n\n function getZoneAbbr () {\n return this._isUTC ? 'UTC' : '';\n }\n\n function getZoneName () {\n return this._isUTC ? 'Coordinated Universal Time' : '';\n }\n\n var proto = Moment.prototype;\n\n proto.add = add;\n proto.calendar = calendar$1;\n proto.clone = clone;\n proto.diff = diff;\n proto.endOf = endOf;\n proto.format = format;\n proto.from = from;\n proto.fromNow = fromNow;\n proto.to = to;\n proto.toNow = toNow;\n proto.get = stringGet;\n proto.invalidAt = invalidAt;\n proto.isAfter = isAfter;\n proto.isBefore = isBefore;\n proto.isBetween = isBetween;\n proto.isSame = isSame;\n proto.isSameOrAfter = isSameOrAfter;\n proto.isSameOrBefore = isSameOrBefore;\n proto.isValid = isValid$2;\n proto.lang = lang;\n proto.locale = locale;\n proto.localeData = localeData;\n proto.max = prototypeMax;\n proto.min = prototypeMin;\n proto.parsingFlags = parsingFlags;\n proto.set = stringSet;\n proto.startOf = startOf;\n proto.subtract = subtract;\n proto.toArray = toArray;\n proto.toObject = toObject;\n proto.toDate = toDate;\n proto.toISOString = toISOString;\n proto.inspect = inspect;\n proto.toJSON = toJSON;\n proto.toString = toString;\n proto.unix = unix;\n proto.valueOf = valueOf;\n proto.creationData = creationData;\n proto.year = getSetYear;\n proto.isLeapYear = getIsLeapYear;\n proto.weekYear = getSetWeekYear;\n proto.isoWeekYear = getSetISOWeekYear;\n proto.quarter = proto.quarters = getSetQuarter;\n proto.month = getSetMonth;\n proto.daysInMonth = getDaysInMonth;\n proto.week = proto.weeks = getSetWeek;\n proto.isoWeek = proto.isoWeeks = getSetISOWeek;\n proto.weeksInYear = getWeeksInYear;\n proto.isoWeeksInYear = getISOWeeksInYear;\n proto.date = getSetDayOfMonth;\n proto.day = proto.days = getSetDayOfWeek;\n proto.weekday = getSetLocaleDayOfWeek;\n proto.isoWeekday = getSetISODayOfWeek;\n proto.dayOfYear = getSetDayOfYear;\n proto.hour = proto.hours = getSetHour;\n proto.minute = proto.minutes = getSetMinute;\n proto.second = proto.seconds = getSetSecond;\n proto.millisecond = proto.milliseconds = getSetMillisecond;\n proto.utcOffset = getSetOffset;\n proto.utc = setOffsetToUTC;\n proto.local = setOffsetToLocal;\n proto.parseZone = setOffsetToParsedOffset;\n proto.hasAlignedHourOffset = hasAlignedHourOffset;\n proto.isDST = isDaylightSavingTime;\n proto.isLocal = isLocal;\n proto.isUtcOffset = isUtcOffset;\n proto.isUtc = isUtc;\n proto.isUTC = isUtc;\n proto.zoneAbbr = getZoneAbbr;\n proto.zoneName = getZoneName;\n proto.dates = deprecate('dates accessor is deprecated. Use date instead.', getSetDayOfMonth);\n proto.months = deprecate('months accessor is deprecated. Use month instead', getSetMonth);\n proto.years = deprecate('years accessor is deprecated. Use year instead', getSetYear);\n proto.zone = deprecate('moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/', getSetZone);\n proto.isDSTShifted = deprecate('isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information', isDaylightSavingTimeShifted);\n\n function createUnix (input) {\n return createLocal(input * 1000);\n }\n\n function createInZone () {\n return createLocal.apply(null, arguments).parseZone();\n }\n\n function preParsePostFormat (string) {\n return string;\n }\n\n var proto$1 = Locale.prototype;\n\n proto$1.calendar = calendar;\n proto$1.longDateFormat = longDateFormat;\n proto$1.invalidDate = invalidDate;\n proto$1.ordinal = ordinal;\n proto$1.preparse = preParsePostFormat;\n proto$1.postformat = preParsePostFormat;\n proto$1.relativeTime = relativeTime;\n proto$1.pastFuture = pastFuture;\n proto$1.set = set;\n\n proto$1.months = localeMonths;\n proto$1.monthsShort = localeMonthsShort;\n proto$1.monthsParse = localeMonthsParse;\n proto$1.monthsRegex = monthsRegex;\n proto$1.monthsShortRegex = monthsShortRegex;\n proto$1.week = localeWeek;\n proto$1.firstDayOfYear = localeFirstDayOfYear;\n proto$1.firstDayOfWeek = localeFirstDayOfWeek;\n\n proto$1.weekdays = localeWeekdays;\n proto$1.weekdaysMin = localeWeekdaysMin;\n proto$1.weekdaysShort = localeWeekdaysShort;\n proto$1.weekdaysParse = localeWeekdaysParse;\n\n proto$1.weekdaysRegex = weekdaysRegex;\n proto$1.weekdaysShortRegex = weekdaysShortRegex;\n proto$1.weekdaysMinRegex = weekdaysMinRegex;\n\n proto$1.isPM = localeIsPM;\n proto$1.meridiem = localeMeridiem;\n\n function get$1 (format, index, field, setter) {\n var locale = getLocale();\n var utc = createUTC().set(setter, index);\n return locale[field](utc, format);\n }\n\n function listMonthsImpl (format, index, field) {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n\n if (index != null) {\n return get$1(format, index, field, 'month');\n }\n\n var i;\n var out = [];\n for (i = 0; i < 12; i++) {\n out[i] = get$1(format, i, field, 'month');\n }\n return out;\n }\n\n // ()\n // (5)\n // (fmt, 5)\n // (fmt)\n // (true)\n // (true, 5)\n // (true, fmt, 5)\n // (true, fmt)\n function listWeekdaysImpl (localeSorted, format, index, field) {\n if (typeof localeSorted === 'boolean') {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n } else {\n format = localeSorted;\n index = format;\n localeSorted = false;\n\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n }\n\n var locale = getLocale(),\n shift = localeSorted ? locale._week.dow : 0;\n\n if (index != null) {\n return get$1(format, (index + shift) % 7, field, 'day');\n }\n\n var i;\n var out = [];\n for (i = 0; i < 7; i++) {\n out[i] = get$1(format, (i + shift) % 7, field, 'day');\n }\n return out;\n }\n\n function listMonths (format, index) {\n return listMonthsImpl(format, index, 'months');\n }\n\n function listMonthsShort (format, index) {\n return listMonthsImpl(format, index, 'monthsShort');\n }\n\n function listWeekdays (localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdays');\n }\n\n function listWeekdaysShort (localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysShort');\n }\n\n function listWeekdaysMin (localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysMin');\n }\n\n getSetGlobalLocale('en', {\n dayOfMonthOrdinalParse: /\\d{1,2}(th|st|nd|rd)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (toInt(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n }\n });\n\n // Side effect imports\n\n hooks.lang = deprecate('moment.lang is deprecated. Use moment.locale instead.', getSetGlobalLocale);\n hooks.langData = deprecate('moment.langData is deprecated. Use moment.localeData instead.', getLocale);\n\n var mathAbs = Math.abs;\n\n function abs () {\n var data = this._data;\n\n this._milliseconds = mathAbs(this._milliseconds);\n this._days = mathAbs(this._days);\n this._months = mathAbs(this._months);\n\n data.milliseconds = mathAbs(data.milliseconds);\n data.seconds = mathAbs(data.seconds);\n data.minutes = mathAbs(data.minutes);\n data.hours = mathAbs(data.hours);\n data.months = mathAbs(data.months);\n data.years = mathAbs(data.years);\n\n return this;\n }\n\n function addSubtract$1 (duration, input, value, direction) {\n var other = createDuration(input, value);\n\n duration._milliseconds += direction * other._milliseconds;\n duration._days += direction * other._days;\n duration._months += direction * other._months;\n\n return duration._bubble();\n }\n\n // supports only 2.0-style add(1, 's') or add(duration)\n function add$1 (input, value) {\n return addSubtract$1(this, input, value, 1);\n }\n\n // supports only 2.0-style subtract(1, 's') or subtract(duration)\n function subtract$1 (input, value) {\n return addSubtract$1(this, input, value, -1);\n }\n\n function absCeil (number) {\n if (number < 0) {\n return Math.floor(number);\n } else {\n return Math.ceil(number);\n }\n }\n\n function bubble () {\n var milliseconds = this._milliseconds;\n var days = this._days;\n var months = this._months;\n var data = this._data;\n var seconds, minutes, hours, years, monthsFromDays;\n\n // if we have a mix of positive and negative values, bubble down first\n // check: https://github.com/moment/moment/issues/2166\n if (!((milliseconds >= 0 && days >= 0 && months >= 0) ||\n (milliseconds <= 0 && days <= 0 && months <= 0))) {\n milliseconds += absCeil(monthsToDays(months) + days) * 864e5;\n days = 0;\n months = 0;\n }\n\n // The following code bubbles up values, see the tests for\n // examples of what that means.\n data.milliseconds = milliseconds % 1000;\n\n seconds = absFloor(milliseconds / 1000);\n data.seconds = seconds % 60;\n\n minutes = absFloor(seconds / 60);\n data.minutes = minutes % 60;\n\n hours = absFloor(minutes / 60);\n data.hours = hours % 24;\n\n days += absFloor(hours / 24);\n\n // convert days to months\n monthsFromDays = absFloor(daysToMonths(days));\n months += monthsFromDays;\n days -= absCeil(monthsToDays(monthsFromDays));\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n data.days = days;\n data.months = months;\n data.years = years;\n\n return this;\n }\n\n function daysToMonths (days) {\n // 400 years have 146097 days (taking into account leap year rules)\n // 400 years have 12 months === 4800\n return days * 4800 / 146097;\n }\n\n function monthsToDays (months) {\n // the reverse of daysToMonths\n return months * 146097 / 4800;\n }\n\n function as (units) {\n if (!this.isValid()) {\n return NaN;\n }\n var days;\n var months;\n var milliseconds = this._milliseconds;\n\n units = normalizeUnits(units);\n\n if (units === 'month' || units === 'year') {\n days = this._days + milliseconds / 864e5;\n months = this._months + daysToMonths(days);\n return units === 'month' ? months : months / 12;\n } else {\n // handle milliseconds separately because of floating point math errors (issue #1867)\n days = this._days + Math.round(monthsToDays(this._months));\n switch (units) {\n case 'week' : return days / 7 + milliseconds / 6048e5;\n case 'day' : return days + milliseconds / 864e5;\n case 'hour' : return days * 24 + milliseconds / 36e5;\n case 'minute' : return days * 1440 + milliseconds / 6e4;\n case 'second' : return days * 86400 + milliseconds / 1000;\n // Math.floor prevents floating point math errors here\n case 'millisecond': return Math.floor(days * 864e5) + milliseconds;\n default: throw new Error('Unknown unit ' + units);\n }\n }\n }\n\n // TODO: Use this.as('ms')?\n function valueOf$1 () {\n if (!this.isValid()) {\n return NaN;\n }\n return (\n this._milliseconds +\n this._days * 864e5 +\n (this._months % 12) * 2592e6 +\n toInt(this._months / 12) * 31536e6\n );\n }\n\n function makeAs (alias) {\n return function () {\n return this.as(alias);\n };\n }\n\n var asMilliseconds = makeAs('ms');\n var asSeconds = makeAs('s');\n var asMinutes = makeAs('m');\n var asHours = makeAs('h');\n var asDays = makeAs('d');\n var asWeeks = makeAs('w');\n var asMonths = makeAs('M');\n var asYears = makeAs('y');\n\n function clone$1 () {\n return createDuration(this);\n }\n\n function get$2 (units) {\n units = normalizeUnits(units);\n return this.isValid() ? this[units + 's']() : NaN;\n }\n\n function makeGetter(name) {\n return function () {\n return this.isValid() ? this._data[name] : NaN;\n };\n }\n\n var milliseconds = makeGetter('milliseconds');\n var seconds = makeGetter('seconds');\n var minutes = makeGetter('minutes');\n var hours = makeGetter('hours');\n var days = makeGetter('days');\n var months = makeGetter('months');\n var years = makeGetter('years');\n\n function weeks () {\n return absFloor(this.days() / 7);\n }\n\n var round = Math.round;\n var thresholds = {\n ss: 44, // a few seconds to seconds\n s : 45, // seconds to minute\n m : 45, // minutes to hour\n h : 22, // hours to day\n d : 26, // days to month\n M : 11 // months to year\n };\n\n // helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize\n function substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) {\n return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture);\n }\n\n function relativeTime$1 (posNegDuration, withoutSuffix, locale) {\n var duration = createDuration(posNegDuration).abs();\n var seconds = round(duration.as('s'));\n var minutes = round(duration.as('m'));\n var hours = round(duration.as('h'));\n var days = round(duration.as('d'));\n var months = round(duration.as('M'));\n var years = round(duration.as('y'));\n\n var a = seconds <= thresholds.ss && ['s', seconds] ||\n seconds < thresholds.s && ['ss', seconds] ||\n minutes <= 1 && ['m'] ||\n minutes < thresholds.m && ['mm', minutes] ||\n hours <= 1 && ['h'] ||\n hours < thresholds.h && ['hh', hours] ||\n days <= 1 && ['d'] ||\n days < thresholds.d && ['dd', days] ||\n months <= 1 && ['M'] ||\n months < thresholds.M && ['MM', months] ||\n years <= 1 && ['y'] || ['yy', years];\n\n a[2] = withoutSuffix;\n a[3] = +posNegDuration > 0;\n a[4] = locale;\n return substituteTimeAgo.apply(null, a);\n }\n\n // This function allows you to set the rounding function for relative time strings\n function getSetRelativeTimeRounding (roundingFunction) {\n if (roundingFunction === undefined) {\n return round;\n }\n if (typeof(roundingFunction) === 'function') {\n round = roundingFunction;\n return true;\n }\n return false;\n }\n\n // This function allows you to set a threshold for relative time strings\n function getSetRelativeTimeThreshold (threshold, limit) {\n if (thresholds[threshold] === undefined) {\n return false;\n }\n if (limit === undefined) {\n return thresholds[threshold];\n }\n thresholds[threshold] = limit;\n if (threshold === 's') {\n thresholds.ss = limit - 1;\n }\n return true;\n }\n\n function humanize (withSuffix) {\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var locale = this.localeData();\n var output = relativeTime$1(this, !withSuffix, locale);\n\n if (withSuffix) {\n output = locale.pastFuture(+this, output);\n }\n\n return locale.postformat(output);\n }\n\n var abs$1 = Math.abs;\n\n function sign(x) {\n return ((x > 0) - (x < 0)) || +x;\n }\n\n function toISOString$1() {\n // for ISO strings we do not use the normal bubbling rules:\n // * milliseconds bubble up until they become hours\n // * days do not bubble at all\n // * months bubble up until they become years\n // This is because there is no context-free conversion between hours and days\n // (think of clock changes)\n // and also not between days and months (28-31 days per month)\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var seconds = abs$1(this._milliseconds) / 1000;\n var days = abs$1(this._days);\n var months = abs$1(this._months);\n var minutes, hours, years;\n\n // 3600 seconds -> 60 minutes -> 1 hour\n minutes = absFloor(seconds / 60);\n hours = absFloor(minutes / 60);\n seconds %= 60;\n minutes %= 60;\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n\n // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js\n var Y = years;\n var M = months;\n var D = days;\n var h = hours;\n var m = minutes;\n var s = seconds ? seconds.toFixed(3).replace(/\\.?0+$/, '') : '';\n var total = this.asSeconds();\n\n if (!total) {\n // this is the same as C#'s (Noda) and python (isodate)...\n // but not other JS (goog.date)\n return 'P0D';\n }\n\n var totalSign = total < 0 ? '-' : '';\n var ymSign = sign(this._months) !== sign(total) ? '-' : '';\n var daysSign = sign(this._days) !== sign(total) ? '-' : '';\n var hmsSign = sign(this._milliseconds) !== sign(total) ? '-' : '';\n\n return totalSign + 'P' +\n (Y ? ymSign + Y + 'Y' : '') +\n (M ? ymSign + M + 'M' : '') +\n (D ? daysSign + D + 'D' : '') +\n ((h || m || s) ? 'T' : '') +\n (h ? hmsSign + h + 'H' : '') +\n (m ? hmsSign + m + 'M' : '') +\n (s ? hmsSign + s + 'S' : '');\n }\n\n var proto$2 = Duration.prototype;\n\n proto$2.isValid = isValid$1;\n proto$2.abs = abs;\n proto$2.add = add$1;\n proto$2.subtract = subtract$1;\n proto$2.as = as;\n proto$2.asMilliseconds = asMilliseconds;\n proto$2.asSeconds = asSeconds;\n proto$2.asMinutes = asMinutes;\n proto$2.asHours = asHours;\n proto$2.asDays = asDays;\n proto$2.asWeeks = asWeeks;\n proto$2.asMonths = asMonths;\n proto$2.asYears = asYears;\n proto$2.valueOf = valueOf$1;\n proto$2._bubble = bubble;\n proto$2.clone = clone$1;\n proto$2.get = get$2;\n proto$2.milliseconds = milliseconds;\n proto$2.seconds = seconds;\n proto$2.minutes = minutes;\n proto$2.hours = hours;\n proto$2.days = days;\n proto$2.weeks = weeks;\n proto$2.months = months;\n proto$2.years = years;\n proto$2.humanize = humanize;\n proto$2.toISOString = toISOString$1;\n proto$2.toString = toISOString$1;\n proto$2.toJSON = toISOString$1;\n proto$2.locale = locale;\n proto$2.localeData = localeData;\n\n proto$2.toIsoString = deprecate('toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)', toISOString$1);\n proto$2.lang = lang;\n\n // Side effect imports\n\n // FORMATTING\n\n addFormatToken('X', 0, 0, 'unix');\n addFormatToken('x', 0, 0, 'valueOf');\n\n // PARSING\n\n addRegexToken('x', matchSigned);\n addRegexToken('X', matchTimestamp);\n addParseToken('X', function (input, array, config) {\n config._d = new Date(parseFloat(input, 10) * 1000);\n });\n addParseToken('x', function (input, array, config) {\n config._d = new Date(toInt(input));\n });\n\n // Side effect imports\n\n\n hooks.version = '2.22.2';\n\n setHookCallback(createLocal);\n\n hooks.fn = proto;\n hooks.min = min;\n hooks.max = max;\n hooks.now = now;\n hooks.utc = createUTC;\n hooks.unix = createUnix;\n hooks.months = listMonths;\n hooks.isDate = isDate;\n hooks.locale = getSetGlobalLocale;\n hooks.invalid = createInvalid;\n hooks.duration = createDuration;\n hooks.isMoment = isMoment;\n hooks.weekdays = listWeekdays;\n hooks.parseZone = createInZone;\n hooks.localeData = getLocale;\n hooks.isDuration = isDuration;\n hooks.monthsShort = listMonthsShort;\n hooks.weekdaysMin = listWeekdaysMin;\n hooks.defineLocale = defineLocale;\n hooks.updateLocale = updateLocale;\n hooks.locales = listLocales;\n hooks.weekdaysShort = listWeekdaysShort;\n hooks.normalizeUnits = normalizeUnits;\n hooks.relativeTimeRounding = getSetRelativeTimeRounding;\n hooks.relativeTimeThreshold = getSetRelativeTimeThreshold;\n hooks.calendarFormat = getCalendarFormat;\n hooks.prototype = proto;\n\n // currently HTML5 input type only supports 24-hour formats\n hooks.HTML5_FMT = {\n DATETIME_LOCAL: 'YYYY-MM-DDTHH:mm', // \n DATETIME_LOCAL_SECONDS: 'YYYY-MM-DDTHH:mm:ss', // \n DATETIME_LOCAL_MS: 'YYYY-MM-DDTHH:mm:ss.SSS', // \n DATE: 'YYYY-MM-DD', // \n TIME: 'HH:mm', // \n TIME_SECONDS: 'HH:mm:ss', // \n TIME_MS: 'HH:mm:ss.SSS', // \n WEEK: 'YYYY-[W]WW', // \n MONTH: 'YYYY-MM' // \n };\n\n return hooks;\n\n})));\n","export function each(o, cb, s) {\n var n;\n if (!o) {\n return 0;\n }\n s = !s ? o : s;\n if (o instanceof Array) {\n // Indexed arrays, needed for Safari\n for (n = 0; n < o.length; n++) {\n if (cb.call(s, o[n], n, o) === false) {\n return 0;\n }\n }\n } else {\n // Hashtables\n for (n in o) {\n if (o.hasOwnProperty(n)) {\n if (cb.call(s, o[n], n, o) === false){\n return 0;\n }\n }\n }\n }\n return 1;\n}\n","const matchHtmlRegExp = /[\"'&<>]/;\n\n/**\n * Escape special characters in the given string of html.\n *\n * @param {string} string The string to escape for inserting into HTML\n * @return {string}\n * @public\n */\n\nexport function escapeHtml(string) {\n var str = '' + string;\n var match = matchHtmlRegExp.exec(str);\n\n if (!match) {\n return str;\n }\n\n var escape;\n var html = '';\n var index = 0;\n var lastIndex = 0;\n\n for (index = match.index; index < str.length; index++) {\n switch (str.charCodeAt(index)) {\n case 34: // \"\n escape = '"';\n break;\n case 38: // &\n escape = '&';\n break;\n case 39: // '\n escape = ''';\n break;\n case 60: // <\n escape = '<';\n break;\n case 62: // >\n escape = '>';\n break;\n default:\n continue;\n }\n\n if (lastIndex !== index) {\n html += str.substring(lastIndex, index);\n }\n\n lastIndex = index + 1;\n html += escape;\n }\n\n return lastIndex !== index\n ? html + str.substring(lastIndex, index)\n : html;\n}\n","export function extend(target) {\n for (var i = 1; i < arguments.length; i++) {\n for (var prop in arguments[i]){\n target[prop] = arguments[i][prop];\n }\n }\n return target;\n}\n","export var name = \"d3\";\nexport var version = \"5.4.0\";\nexport var description = \"Data-Driven Documents\";\nexport var keywords = [\"dom\",\"visualization\",\"svg\",\"animation\",\"canvas\"];\nexport var homepage = \"https://d3js.org\";\nexport var license = \"BSD-3-Clause\";\nexport var author = {\"name\":\"Mike Bostock\",\"url\":\"https://bost.ocks.org/mike\"};\nexport var main = \"dist/d3.node.js\";\nexport var unpkg = \"dist/d3.min.js\";\nexport var jsdelivr = \"dist/d3.min.js\";\nexport var module = \"index\";\nexport var repository = {\"type\":\"git\",\"url\":\"https://github.com/d3/d3.git\"};\nexport var scripts = {\"pretest\":\"rimraf dist && mkdir dist && json2module package.json > dist/package.js && node rollup.node\",\"test\":\"tape 'test/**/*-test.js'\",\"prepublishOnly\":\"npm run test && rollup -c --banner \\\"$(preamble)\\\" && uglifyjs -b beautify=false,preamble=\\\"'$(preamble)'\\\" dist/d3.js -c negate_iife=false -m -o dist/d3.min.js\",\"postpublish\":\"git push && git push --tags && cd ../d3.github.com && git pull && cp ../d3/dist/d3.js d3.v5.js && cp ../d3/dist/d3.min.js d3.v5.min.js && git add d3.v5.js d3.v5.min.js && git commit -m \\\"d3 ${npm_package_version}\\\" && git push && cd - && cd ../d3-bower && git pull && cp ../d3/LICENSE ../d3/README.md ../d3/dist/d3.js ../d3/dist/d3.min.js . && git add -- LICENSE README.md d3.js d3.min.js && git commit -m \\\"${npm_package_version}\\\" && git tag -am \\\"${npm_package_version}\\\" v${npm_package_version} && git push && git push --tags && cd - && zip -j dist/d3.zip -- LICENSE README.md API.md CHANGES.md dist/d3.js dist/d3.min.js\"};\nexport var devDependencies = {\"json2module\":\"0.0\",\"package-preamble\":\"0.1\",\"rimraf\":\"2\",\"rollup\":\"0.57\",\"rollup-plugin-ascii\":\"0.0\",\"rollup-plugin-node-resolve\":\"3\",\"tape\":\"4\",\"uglify-js\":\"3.2\"};\nexport var dependencies = {\"d3-array\":\"1\",\"d3-axis\":\"1\",\"d3-brush\":\"1\",\"d3-chord\":\"1\",\"d3-collection\":\"1\",\"d3-color\":\"1\",\"d3-contour\":\"1\",\"d3-dispatch\":\"1\",\"d3-drag\":\"1\",\"d3-dsv\":\"1\",\"d3-ease\":\"1\",\"d3-fetch\":\"1\",\"d3-force\":\"1\",\"d3-format\":\"1\",\"d3-geo\":\"1\",\"d3-hierarchy\":\"1\",\"d3-interpolate\":\"1\",\"d3-path\":\"1\",\"d3-polygon\":\"1\",\"d3-quadtree\":\"1\",\"d3-random\":\"1\",\"d3-scale\":\"2\",\"d3-scale-chromatic\":\"1\",\"d3-selection\":\"1\",\"d3-shape\":\"1\",\"d3-time\":\"1\",\"d3-time-format\":\"2\",\"d3-timer\":\"1\",\"d3-transition\":\"1\",\"d3-voronoi\":\"1\",\"d3-zoom\":\"1\"};\n","export default function(a, b) {\n return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;\n}\n","import ascending from \"./ascending\";\n\nexport default function(compare) {\n if (compare.length === 1) compare = ascendingComparator(compare);\n return {\n left: function(a, x, lo, hi) {\n if (lo == null) lo = 0;\n if (hi == null) hi = a.length;\n while (lo < hi) {\n var mid = lo + hi >>> 1;\n if (compare(a[mid], x) < 0) lo = mid + 1;\n else hi = mid;\n }\n return lo;\n },\n right: function(a, x, lo, hi) {\n if (lo == null) lo = 0;\n if (hi == null) hi = a.length;\n while (lo < hi) {\n var mid = lo + hi >>> 1;\n if (compare(a[mid], x) > 0) hi = mid;\n else lo = mid + 1;\n }\n return lo;\n }\n };\n}\n\nfunction ascendingComparator(f) {\n return function(d, x) {\n return ascending(f(d), x);\n };\n}\n","import ascending from \"./ascending\";\nimport bisector from \"./bisector\";\n\nvar ascendingBisect = bisector(ascending);\nexport var bisectRight = ascendingBisect.right;\nexport var bisectLeft = ascendingBisect.left;\nexport default bisectRight;\n","export default function(array, f) {\n if (f == null) f = pair;\n var i = 0, n = array.length - 1, p = array[0], pairs = new Array(n < 0 ? 0 : n);\n while (i < n) pairs[i] = f(p, p = array[++i]);\n return pairs;\n}\n\nexport function pair(a, b) {\n return [a, b];\n}\n","import {pair} from \"./pairs\";\n\nexport default function(values0, values1, reduce) {\n var n0 = values0.length,\n n1 = values1.length,\n values = new Array(n0 * n1),\n i0,\n i1,\n i,\n value0;\n\n if (reduce == null) reduce = pair;\n\n for (i0 = i = 0; i0 < n0; ++i0) {\n for (value0 = values0[i0], i1 = 0; i1 < n1; ++i1, ++i) {\n values[i] = reduce(value0, values1[i1]);\n }\n }\n\n return values;\n}\n","export default function(a, b) {\n return b < a ? -1 : b > a ? 1 : b >= a ? 0 : NaN;\n}\n","export default function(x) {\n return x === null ? NaN : +x;\n}\n","import number from \"./number\";\n\nexport default function(values, valueof) {\n var n = values.length,\n m = 0,\n i = -1,\n mean = 0,\n value,\n delta,\n sum = 0;\n\n if (valueof == null) {\n while (++i < n) {\n if (!isNaN(value = number(values[i]))) {\n delta = value - mean;\n mean += delta / ++m;\n sum += delta * (value - mean);\n }\n }\n }\n\n else {\n while (++i < n) {\n if (!isNaN(value = number(valueof(values[i], i, values)))) {\n delta = value - mean;\n mean += delta / ++m;\n sum += delta * (value - mean);\n }\n }\n }\n\n if (m > 1) return sum / (m - 1);\n}\n","import variance from \"./variance\";\n\nexport default function(array, f) {\n var v = variance(array, f);\n return v ? Math.sqrt(v) : v;\n}\n","export default function(values, valueof) {\n var n = values.length,\n i = -1,\n value,\n min,\n max;\n\n if (valueof == null) {\n while (++i < n) { // Find the first comparable value.\n if ((value = values[i]) != null && value >= value) {\n min = max = value;\n while (++i < n) { // Compare the remaining values.\n if ((value = values[i]) != null) {\n if (min > value) min = value;\n if (max < value) max = value;\n }\n }\n }\n }\n }\n\n else {\n while (++i < n) { // Find the first comparable value.\n if ((value = valueof(values[i], i, values)) != null && value >= value) {\n min = max = value;\n while (++i < n) { // Compare the remaining values.\n if ((value = valueof(values[i], i, values)) != null) {\n if (min > value) min = value;\n if (max < value) max = value;\n }\n }\n }\n }\n }\n\n return [min, max];\n}\n","var array = Array.prototype;\n\nexport var slice = array.slice;\nexport var map = array.map;\n","export default function(x) {\n return function() {\n return x;\n };\n}\n","export default function(x) {\n return x;\n}\n","export default function(start, stop, step) {\n start = +start, stop = +stop, step = (n = arguments.length) < 2 ? (stop = start, start = 0, 1) : n < 3 ? 1 : +step;\n\n var i = -1,\n n = Math.max(0, Math.ceil((stop - start) / step)) | 0,\n range = new Array(n);\n\n while (++i < n) {\n range[i] = start + i * step;\n }\n\n return range;\n}\n","var e10 = Math.sqrt(50),\n e5 = Math.sqrt(10),\n e2 = Math.sqrt(2);\n\nexport default function(start, stop, count) {\n var reverse,\n i = -1,\n n,\n ticks,\n step;\n\n stop = +stop, start = +start, count = +count;\n if (start === stop && count > 0) return [start];\n if (reverse = stop < start) n = start, start = stop, stop = n;\n if ((step = tickIncrement(start, stop, count)) === 0 || !isFinite(step)) return [];\n\n if (step > 0) {\n start = Math.ceil(start / step);\n stop = Math.floor(stop / step);\n ticks = new Array(n = Math.ceil(stop - start + 1));\n while (++i < n) ticks[i] = (start + i) * step;\n } else {\n start = Math.floor(start * step);\n stop = Math.ceil(stop * step);\n ticks = new Array(n = Math.ceil(start - stop + 1));\n while (++i < n) ticks[i] = (start - i) / step;\n }\n\n if (reverse) ticks.reverse();\n\n return ticks;\n}\n\nexport function tickIncrement(start, stop, count) {\n var step = (stop - start) / Math.max(0, count),\n power = Math.floor(Math.log(step) / Math.LN10),\n error = step / Math.pow(10, power);\n return power >= 0\n ? (error >= e10 ? 10 : error >= e5 ? 5 : error >= e2 ? 2 : 1) * Math.pow(10, power)\n : -Math.pow(10, -power) / (error >= e10 ? 10 : error >= e5 ? 5 : error >= e2 ? 2 : 1);\n}\n\nexport function tickStep(start, stop, count) {\n var step0 = Math.abs(stop - start) / Math.max(0, count),\n step1 = Math.pow(10, Math.floor(Math.log(step0) / Math.LN10)),\n error = step0 / step1;\n if (error >= e10) step1 *= 10;\n else if (error >= e5) step1 *= 5;\n else if (error >= e2) step1 *= 2;\n return stop < start ? -step1 : step1;\n}\n","export default function(values) {\n return Math.ceil(Math.log(values.length) / Math.LN2) + 1;\n}\n","import {slice} from \"./array\";\nimport bisect from \"./bisect\";\nimport constant from \"./constant\";\nimport extent from \"./extent\";\nimport identity from \"./identity\";\nimport range from \"./range\";\nimport {tickStep} from \"./ticks\";\nimport sturges from \"./threshold/sturges\";\n\nexport default function() {\n var value = identity,\n domain = extent,\n threshold = sturges;\n\n function histogram(data) {\n var i,\n n = data.length,\n x,\n values = new Array(n);\n\n for (i = 0; i < n; ++i) {\n values[i] = value(data[i], i, data);\n }\n\n var xz = domain(values),\n x0 = xz[0],\n x1 = xz[1],\n tz = threshold(values, x0, x1);\n\n // Convert number of thresholds into uniform thresholds.\n if (!Array.isArray(tz)) {\n tz = tickStep(x0, x1, tz);\n tz = range(Math.ceil(x0 / tz) * tz, Math.floor(x1 / tz) * tz, tz); // exclusive\n }\n\n // Remove any thresholds outside the domain.\n var m = tz.length;\n while (tz[0] <= x0) tz.shift(), --m;\n while (tz[m - 1] > x1) tz.pop(), --m;\n\n var bins = new Array(m + 1),\n bin;\n\n // Initialize bins.\n for (i = 0; i <= m; ++i) {\n bin = bins[i] = [];\n bin.x0 = i > 0 ? tz[i - 1] : x0;\n bin.x1 = i < m ? tz[i] : x1;\n }\n\n // Assign data to bins by value, ignoring any outside the domain.\n for (i = 0; i < n; ++i) {\n x = values[i];\n if (x0 <= x && x <= x1) {\n bins[bisect(tz, x, 0, m)].push(data[i]);\n }\n }\n\n return bins;\n }\n\n histogram.value = function(_) {\n return arguments.length ? (value = typeof _ === \"function\" ? _ : constant(_), histogram) : value;\n };\n\n histogram.domain = function(_) {\n return arguments.length ? (domain = typeof _ === \"function\" ? _ : constant([_[0], _[1]]), histogram) : domain;\n };\n\n histogram.thresholds = function(_) {\n return arguments.length ? (threshold = typeof _ === \"function\" ? _ : Array.isArray(_) ? constant(slice.call(_)) : constant(_), histogram) : threshold;\n };\n\n return histogram;\n}\n","import number from \"./number\";\n\nexport default function(values, p, valueof) {\n if (valueof == null) valueof = number;\n if (!(n = values.length)) return;\n if ((p = +p) <= 0 || n < 2) return +valueof(values[0], 0, values);\n if (p >= 1) return +valueof(values[n - 1], n - 1, values);\n var n,\n i = (n - 1) * p,\n i0 = Math.floor(i),\n value0 = +valueof(values[i0], i0, values),\n value1 = +valueof(values[i0 + 1], i0 + 1, values);\n return value0 + (value1 - value0) * (i - i0);\n}\n","import {map} from \"../array\";\nimport ascending from \"../ascending\";\nimport number from \"../number\";\nimport quantile from \"../quantile\";\n\nexport default function(values, min, max) {\n values = map.call(values, number).sort(ascending);\n return Math.ceil((max - min) / (2 * (quantile(values, 0.75) - quantile(values, 0.25)) * Math.pow(values.length, -1 / 3)));\n}\n","import deviation from \"../deviation\";\n\nexport default function(values, min, max) {\n return Math.ceil((max - min) / (3.5 * deviation(values) * Math.pow(values.length, -1 / 3)));\n}\n","export default function(values, valueof) {\n var n = values.length,\n i = -1,\n value,\n max;\n\n if (valueof == null) {\n while (++i < n) { // Find the first comparable value.\n if ((value = values[i]) != null && value >= value) {\n max = value;\n while (++i < n) { // Compare the remaining values.\n if ((value = values[i]) != null && value > max) {\n max = value;\n }\n }\n }\n }\n }\n\n else {\n while (++i < n) { // Find the first comparable value.\n if ((value = valueof(values[i], i, values)) != null && value >= value) {\n max = value;\n while (++i < n) { // Compare the remaining values.\n if ((value = valueof(values[i], i, values)) != null && value > max) {\n max = value;\n }\n }\n }\n }\n }\n\n return max;\n}\n","import number from \"./number\";\n\nexport default function(values, valueof) {\n var n = values.length,\n m = n,\n i = -1,\n value,\n sum = 0;\n\n if (valueof == null) {\n while (++i < n) {\n if (!isNaN(value = number(values[i]))) sum += value;\n else --m;\n }\n }\n\n else {\n while (++i < n) {\n if (!isNaN(value = number(valueof(values[i], i, values)))) sum += value;\n else --m;\n }\n }\n\n if (m) return sum / m;\n}\n","import ascending from \"./ascending\";\nimport number from \"./number\";\nimport quantile from \"./quantile\";\n\nexport default function(values, valueof) {\n var n = values.length,\n i = -1,\n value,\n numbers = [];\n\n if (valueof == null) {\n while (++i < n) {\n if (!isNaN(value = number(values[i]))) {\n numbers.push(value);\n }\n }\n }\n\n else {\n while (++i < n) {\n if (!isNaN(value = number(valueof(values[i], i, values)))) {\n numbers.push(value);\n }\n }\n }\n\n return quantile(numbers.sort(ascending), 0.5);\n}\n","export default function(arrays) {\n var n = arrays.length,\n m,\n i = -1,\n j = 0,\n merged,\n array;\n\n while (++i < n) j += arrays[i].length;\n merged = new Array(j);\n\n while (--n >= 0) {\n array = arrays[n];\n m = array.length;\n while (--m >= 0) {\n merged[--j] = array[m];\n }\n }\n\n return merged;\n}\n","export default function(values, valueof) {\n var n = values.length,\n i = -1,\n value,\n min;\n\n if (valueof == null) {\n while (++i < n) { // Find the first comparable value.\n if ((value = values[i]) != null && value >= value) {\n min = value;\n while (++i < n) { // Compare the remaining values.\n if ((value = values[i]) != null && min > value) {\n min = value;\n }\n }\n }\n }\n }\n\n else {\n while (++i < n) { // Find the first comparable value.\n if ((value = valueof(values[i], i, values)) != null && value >= value) {\n min = value;\n while (++i < n) { // Compare the remaining values.\n if ((value = valueof(values[i], i, values)) != null && min > value) {\n min = value;\n }\n }\n }\n }\n }\n\n return min;\n}\n","export default function(array, indexes) {\n var i = indexes.length, permutes = new Array(i);\n while (i--) permutes[i] = array[indexes[i]];\n return permutes;\n}\n","import ascending from \"./ascending\";\n\nexport default function(values, compare) {\n if (!(n = values.length)) return;\n var n,\n i = 0,\n j = 0,\n xi,\n xj = values[j];\n\n if (compare == null) compare = ascending;\n\n while (++i < n) {\n if (compare(xi = values[i], xj) < 0 || compare(xj, xj) !== 0) {\n xj = xi, j = i;\n }\n }\n\n if (compare(xj, xj) === 0) return j;\n}\n","export default function(array, i0, i1) {\n var m = (i1 == null ? array.length : i1) - (i0 = i0 == null ? 0 : +i0),\n t,\n i;\n\n while (m) {\n i = Math.random() * m-- | 0;\n t = array[m + i0];\n array[m + i0] = array[i + i0];\n array[i + i0] = t;\n }\n\n return array;\n}\n","export default function(values, valueof) {\n var n = values.length,\n i = -1,\n value,\n sum = 0;\n\n if (valueof == null) {\n while (++i < n) {\n if (value = +values[i]) sum += value; // Note: zero and null are equivalent.\n }\n }\n\n else {\n while (++i < n) {\n if (value = +valueof(values[i], i, values)) sum += value;\n }\n }\n\n return sum;\n}\n","import min from \"./min\";\n\nexport default function(matrix) {\n if (!(n = matrix.length)) return [];\n for (var i = -1, m = min(matrix, length), transpose = new Array(m); ++i < m;) {\n for (var j = -1, n, row = transpose[i] = new Array(n); ++j < n;) {\n row[j] = matrix[j][i];\n }\n }\n return transpose;\n}\n\nfunction length(d) {\n return d.length;\n}\n","import transpose from \"./transpose\";\n\nexport default function() {\n return transpose(arguments);\n}\n","export {default as bisect, bisectRight, bisectLeft} from \"./src/bisect\";\nexport {default as ascending} from \"./src/ascending\";\nexport {default as bisector} from \"./src/bisector\";\nexport {default as cross} from \"./src/cross\";\nexport {default as descending} from \"./src/descending\";\nexport {default as deviation} from \"./src/deviation\";\nexport {default as extent} from \"./src/extent\";\nexport {default as histogram} from \"./src/histogram\";\nexport {default as thresholdFreedmanDiaconis} from \"./src/threshold/freedmanDiaconis\";\nexport {default as thresholdScott} from \"./src/threshold/scott\";\nexport {default as thresholdSturges} from \"./src/threshold/sturges\";\nexport {default as max} from \"./src/max\";\nexport {default as mean} from \"./src/mean\";\nexport {default as median} from \"./src/median\";\nexport {default as merge} from \"./src/merge\";\nexport {default as min} from \"./src/min\";\nexport {default as pairs} from \"./src/pairs\";\nexport {default as permute} from \"./src/permute\";\nexport {default as quantile} from \"./src/quantile\";\nexport {default as range} from \"./src/range\";\nexport {default as scan} from \"./src/scan\";\nexport {default as shuffle} from \"./src/shuffle\";\nexport {default as sum} from \"./src/sum\";\nexport {default as ticks, tickIncrement, tickStep} from \"./src/ticks\";\nexport {default as transpose} from \"./src/transpose\";\nexport {default as variance} from \"./src/variance\";\nexport {default as zip} from \"./src/zip\";\n","export var slice = Array.prototype.slice;\n","export default function(x) {\n return x;\n}\n","import {slice} from \"./array\";\nimport identity from \"./identity\";\n\nvar top = 1,\n right = 2,\n bottom = 3,\n left = 4,\n epsilon = 1e-6;\n\nfunction translateX(x) {\n return \"translate(\" + (x + 0.5) + \",0)\";\n}\n\nfunction translateY(y) {\n return \"translate(0,\" + (y + 0.5) + \")\";\n}\n\nfunction number(scale) {\n return function(d) {\n return +scale(d);\n };\n}\n\nfunction center(scale) {\n var offset = Math.max(0, scale.bandwidth() - 1) / 2; // Adjust for 0.5px offset.\n if (scale.round()) offset = Math.round(offset);\n return function(d) {\n return +scale(d) + offset;\n };\n}\n\nfunction entering() {\n return !this.__axis;\n}\n\nfunction axis(orient, scale) {\n var tickArguments = [],\n tickValues = null,\n tickFormat = null,\n tickSizeInner = 6,\n tickSizeOuter = 6,\n tickPadding = 3,\n k = orient === top || orient === left ? -1 : 1,\n x = orient === left || orient === right ? \"x\" : \"y\",\n transform = orient === top || orient === bottom ? translateX : translateY;\n\n function axis(context) {\n var values = tickValues == null ? (scale.ticks ? scale.ticks.apply(scale, tickArguments) : scale.domain()) : tickValues,\n format = tickFormat == null ? (scale.tickFormat ? scale.tickFormat.apply(scale, tickArguments) : identity) : tickFormat,\n spacing = Math.max(tickSizeInner, 0) + tickPadding,\n range = scale.range(),\n range0 = +range[0] + 0.5,\n range1 = +range[range.length - 1] + 0.5,\n position = (scale.bandwidth ? center : number)(scale.copy()),\n selection = context.selection ? context.selection() : context,\n path = selection.selectAll(\".domain\").data([null]),\n tick = selection.selectAll(\".tick\").data(values, scale).order(),\n tickExit = tick.exit(),\n tickEnter = tick.enter().append(\"g\").attr(\"class\", \"tick\"),\n line = tick.select(\"line\"),\n text = tick.select(\"text\");\n\n path = path.merge(path.enter().insert(\"path\", \".tick\")\n .attr(\"class\", \"domain\")\n .attr(\"stroke\", \"#000\"));\n\n tick = tick.merge(tickEnter);\n\n line = line.merge(tickEnter.append(\"line\")\n .attr(\"stroke\", \"#000\")\n .attr(x + \"2\", k * tickSizeInner));\n\n text = text.merge(tickEnter.append(\"text\")\n .attr(\"fill\", \"#000\")\n .attr(x, k * spacing)\n .attr(\"dy\", orient === top ? \"0em\" : orient === bottom ? \"0.71em\" : \"0.32em\"));\n\n if (context !== selection) {\n path = path.transition(context);\n tick = tick.transition(context);\n line = line.transition(context);\n text = text.transition(context);\n\n tickExit = tickExit.transition(context)\n .attr(\"opacity\", epsilon)\n .attr(\"transform\", function(d) { return isFinite(d = position(d)) ? transform(d) : this.getAttribute(\"transform\"); });\n\n tickEnter\n .attr(\"opacity\", epsilon)\n .attr(\"transform\", function(d) { var p = this.parentNode.__axis; return transform(p && isFinite(p = p(d)) ? p : position(d)); });\n }\n\n tickExit.remove();\n\n path\n .attr(\"d\", orient === left || orient == right\n ? \"M\" + k * tickSizeOuter + \",\" + range0 + \"H0.5V\" + range1 + \"H\" + k * tickSizeOuter\n : \"M\" + range0 + \",\" + k * tickSizeOuter + \"V0.5H\" + range1 + \"V\" + k * tickSizeOuter);\n\n tick\n .attr(\"opacity\", 1)\n .attr(\"transform\", function(d) { return transform(position(d)); });\n\n line\n .attr(x + \"2\", k * tickSizeInner);\n\n text\n .attr(x, k * spacing)\n .text(format);\n\n selection.filter(entering)\n .attr(\"fill\", \"none\")\n .attr(\"font-size\", 10)\n .attr(\"font-family\", \"sans-serif\")\n .attr(\"text-anchor\", orient === right ? \"start\" : orient === left ? \"end\" : \"middle\");\n\n selection\n .each(function() { this.__axis = position; });\n }\n\n axis.scale = function(_) {\n return arguments.length ? (scale = _, axis) : scale;\n };\n\n axis.ticks = function() {\n return tickArguments = slice.call(arguments), axis;\n };\n\n axis.tickArguments = function(_) {\n return arguments.length ? (tickArguments = _ == null ? [] : slice.call(_), axis) : tickArguments.slice();\n };\n\n axis.tickValues = function(_) {\n return arguments.length ? (tickValues = _ == null ? null : slice.call(_), axis) : tickValues && tickValues.slice();\n };\n\n axis.tickFormat = function(_) {\n return arguments.length ? (tickFormat = _, axis) : tickFormat;\n };\n\n axis.tickSize = function(_) {\n return arguments.length ? (tickSizeInner = tickSizeOuter = +_, axis) : tickSizeInner;\n };\n\n axis.tickSizeInner = function(_) {\n return arguments.length ? (tickSizeInner = +_, axis) : tickSizeInner;\n };\n\n axis.tickSizeOuter = function(_) {\n return arguments.length ? (tickSizeOuter = +_, axis) : tickSizeOuter;\n };\n\n axis.tickPadding = function(_) {\n return arguments.length ? (tickPadding = +_, axis) : tickPadding;\n };\n\n return axis;\n}\n\nexport function axisTop(scale) {\n return axis(top, scale);\n}\n\nexport function axisRight(scale) {\n return axis(right, scale);\n}\n\nexport function axisBottom(scale) {\n return axis(bottom, scale);\n}\n\nexport function axisLeft(scale) {\n return axis(left, scale);\n}\n","export {\n axisTop,\n axisRight,\n axisBottom,\n axisLeft\n} from \"./src/axis\";\n","var noop = {value: function() {}};\n\nfunction dispatch() {\n for (var i = 0, n = arguments.length, _ = {}, t; i < n; ++i) {\n if (!(t = arguments[i] + \"\") || (t in _)) throw new Error(\"illegal type: \" + t);\n _[t] = [];\n }\n return new Dispatch(_);\n}\n\nfunction Dispatch(_) {\n this._ = _;\n}\n\nfunction parseTypenames(typenames, types) {\n return typenames.trim().split(/^|\\s+/).map(function(t) {\n var name = \"\", i = t.indexOf(\".\");\n if (i >= 0) name = t.slice(i + 1), t = t.slice(0, i);\n if (t && !types.hasOwnProperty(t)) throw new Error(\"unknown type: \" + t);\n return {type: t, name: name};\n });\n}\n\nDispatch.prototype = dispatch.prototype = {\n constructor: Dispatch,\n on: function(typename, callback) {\n var _ = this._,\n T = parseTypenames(typename + \"\", _),\n t,\n i = -1,\n n = T.length;\n\n // If no callback was specified, return the callback of the given type and name.\n if (arguments.length < 2) {\n while (++i < n) if ((t = (typename = T[i]).type) && (t = get(_[t], typename.name))) return t;\n return;\n }\n\n // If a type was specified, set the callback for the given type and name.\n // Otherwise, if a null callback was specified, remove callbacks of the given name.\n if (callback != null && typeof callback !== \"function\") throw new Error(\"invalid callback: \" + callback);\n while (++i < n) {\n if (t = (typename = T[i]).type) _[t] = set(_[t], typename.name, callback);\n else if (callback == null) for (t in _) _[t] = set(_[t], typename.name, null);\n }\n\n return this;\n },\n copy: function() {\n var copy = {}, _ = this._;\n for (var t in _) copy[t] = _[t].slice();\n return new Dispatch(copy);\n },\n call: function(type, that) {\n if ((n = arguments.length - 2) > 0) for (var args = new Array(n), i = 0, n, t; i < n; ++i) args[i] = arguments[i + 2];\n if (!this._.hasOwnProperty(type)) throw new Error(\"unknown type: \" + type);\n for (t = this._[type], i = 0, n = t.length; i < n; ++i) t[i].value.apply(that, args);\n },\n apply: function(type, that, args) {\n if (!this._.hasOwnProperty(type)) throw new Error(\"unknown type: \" + type);\n for (var t = this._[type], i = 0, n = t.length; i < n; ++i) t[i].value.apply(that, args);\n }\n};\n\nfunction get(type, name) {\n for (var i = 0, n = type.length, c; i < n; ++i) {\n if ((c = type[i]).name === name) {\n return c.value;\n }\n }\n}\n\nfunction set(type, name, callback) {\n for (var i = 0, n = type.length; i < n; ++i) {\n if (type[i].name === name) {\n type[i] = noop, type = type.slice(0, i).concat(type.slice(i + 1));\n break;\n }\n }\n if (callback != null) type.push({name: name, value: callback});\n return type;\n}\n\nexport default dispatch;\n","export {default as dispatch} from \"./src/dispatch\";\n","export var xhtml = \"http://www.w3.org/1999/xhtml\";\n\nexport default {\n svg: \"http://www.w3.org/2000/svg\",\n xhtml: xhtml,\n xlink: \"http://www.w3.org/1999/xlink\",\n xml: \"http://www.w3.org/XML/1998/namespace\",\n xmlns: \"http://www.w3.org/2000/xmlns/\"\n};\n","import namespaces from \"./namespaces\";\n\nexport default function(name) {\n var prefix = name += \"\", i = prefix.indexOf(\":\");\n if (i >= 0 && (prefix = name.slice(0, i)) !== \"xmlns\") name = name.slice(i + 1);\n return namespaces.hasOwnProperty(prefix) ? {space: namespaces[prefix], local: name} : name;\n}\n","import namespace from \"./namespace\";\nimport {xhtml} from \"./namespaces\";\n\nfunction creatorInherit(name) {\n return function() {\n var document = this.ownerDocument,\n uri = this.namespaceURI;\n return uri === xhtml && document.documentElement.namespaceURI === xhtml\n ? document.createElement(name)\n : document.createElementNS(uri, name);\n };\n}\n\nfunction creatorFixed(fullname) {\n return function() {\n return this.ownerDocument.createElementNS(fullname.space, fullname.local);\n };\n}\n\nexport default function(name) {\n var fullname = namespace(name);\n return (fullname.local\n ? creatorFixed\n : creatorInherit)(fullname);\n}\n","function none() {}\n\nexport default function(selector) {\n return selector == null ? none : function() {\n return this.querySelector(selector);\n };\n}\n","import {Selection} from \"./index\";\nimport selector from \"../selector\";\n\nexport default function(select) {\n if (typeof select !== \"function\") select = selector(select);\n\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = new Array(n), node, subnode, i = 0; i < n; ++i) {\n if ((node = group[i]) && (subnode = select.call(node, node.__data__, i, group))) {\n if (\"__data__\" in node) subnode.__data__ = node.__data__;\n subgroup[i] = subnode;\n }\n }\n }\n\n return new Selection(subgroups, this._parents);\n}\n","function empty() {\n return [];\n}\n\nexport default function(selector) {\n return selector == null ? empty : function() {\n return this.querySelectorAll(selector);\n };\n}\n","import {Selection} from \"./index\";\nimport selectorAll from \"../selectorAll\";\n\nexport default function(select) {\n if (typeof select !== \"function\") select = selectorAll(select);\n\n for (var groups = this._groups, m = groups.length, subgroups = [], parents = [], j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n subgroups.push(select.call(node, node.__data__, i, group));\n parents.push(node);\n }\n }\n }\n\n return new Selection(subgroups, parents);\n}\n","var matcher = function(selector) {\n return function() {\n return this.matches(selector);\n };\n};\n\nif (typeof document !== \"undefined\") {\n var element = document.documentElement;\n if (!element.matches) {\n var vendorMatches = element.webkitMatchesSelector\n || element.msMatchesSelector\n || element.mozMatchesSelector\n || element.oMatchesSelector;\n matcher = function(selector) {\n return function() {\n return vendorMatches.call(this, selector);\n };\n };\n }\n}\n\nexport default matcher;\n","import {Selection} from \"./index\";\nimport matcher from \"../matcher\";\n\nexport default function(match) {\n if (typeof match !== \"function\") match = matcher(match);\n\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = [], node, i = 0; i < n; ++i) {\n if ((node = group[i]) && match.call(node, node.__data__, i, group)) {\n subgroup.push(node);\n }\n }\n }\n\n return new Selection(subgroups, this._parents);\n}\n","export default function(update) {\n return new Array(update.length);\n}\n","import sparse from \"./sparse\";\nimport {Selection} from \"./index\";\n\nexport default function() {\n return new Selection(this._enter || this._groups.map(sparse), this._parents);\n}\n\nexport function EnterNode(parent, datum) {\n this.ownerDocument = parent.ownerDocument;\n this.namespaceURI = parent.namespaceURI;\n this._next = null;\n this._parent = parent;\n this.__data__ = datum;\n}\n\nEnterNode.prototype = {\n constructor: EnterNode,\n appendChild: function(child) { return this._parent.insertBefore(child, this._next); },\n insertBefore: function(child, next) { return this._parent.insertBefore(child, next); },\n querySelector: function(selector) { return this._parent.querySelector(selector); },\n querySelectorAll: function(selector) { return this._parent.querySelectorAll(selector); }\n};\n","export default function(x) {\n return function() {\n return x;\n };\n}\n","import {Selection} from \"./index\";\nimport {EnterNode} from \"./enter\";\nimport constant from \"../constant\";\n\nvar keyPrefix = \"$\"; // Protect against keys like “__proto__”.\n\nfunction bindIndex(parent, group, enter, update, exit, data) {\n var i = 0,\n node,\n groupLength = group.length,\n dataLength = data.length;\n\n // Put any non-null nodes that fit into update.\n // Put any null nodes into enter.\n // Put any remaining data into enter.\n for (; i < dataLength; ++i) {\n if (node = group[i]) {\n node.__data__ = data[i];\n update[i] = node;\n } else {\n enter[i] = new EnterNode(parent, data[i]);\n }\n }\n\n // Put any non-null nodes that don’t fit into exit.\n for (; i < groupLength; ++i) {\n if (node = group[i]) {\n exit[i] = node;\n }\n }\n}\n\nfunction bindKey(parent, group, enter, update, exit, data, key) {\n var i,\n node,\n nodeByKeyValue = {},\n groupLength = group.length,\n dataLength = data.length,\n keyValues = new Array(groupLength),\n keyValue;\n\n // Compute the key for each node.\n // If multiple nodes have the same key, the duplicates are added to exit.\n for (i = 0; i < groupLength; ++i) {\n if (node = group[i]) {\n keyValues[i] = keyValue = keyPrefix + key.call(node, node.__data__, i, group);\n if (keyValue in nodeByKeyValue) {\n exit[i] = node;\n } else {\n nodeByKeyValue[keyValue] = node;\n }\n }\n }\n\n // Compute the key for each datum.\n // If there a node associated with this key, join and add it to update.\n // If there is not (or the key is a duplicate), add it to enter.\n for (i = 0; i < dataLength; ++i) {\n keyValue = keyPrefix + key.call(parent, data[i], i, data);\n if (node = nodeByKeyValue[keyValue]) {\n update[i] = node;\n node.__data__ = data[i];\n nodeByKeyValue[keyValue] = null;\n } else {\n enter[i] = new EnterNode(parent, data[i]);\n }\n }\n\n // Add any remaining nodes that were not bound to data to exit.\n for (i = 0; i < groupLength; ++i) {\n if ((node = group[i]) && (nodeByKeyValue[keyValues[i]] === node)) {\n exit[i] = node;\n }\n }\n}\n\nexport default function(value, key) {\n if (!value) {\n data = new Array(this.size()), j = -1;\n this.each(function(d) { data[++j] = d; });\n return data;\n }\n\n var bind = key ? bindKey : bindIndex,\n parents = this._parents,\n groups = this._groups;\n\n if (typeof value !== \"function\") value = constant(value);\n\n for (var m = groups.length, update = new Array(m), enter = new Array(m), exit = new Array(m), j = 0; j < m; ++j) {\n var parent = parents[j],\n group = groups[j],\n groupLength = group.length,\n data = value.call(parent, parent && parent.__data__, j, parents),\n dataLength = data.length,\n enterGroup = enter[j] = new Array(dataLength),\n updateGroup = update[j] = new Array(dataLength),\n exitGroup = exit[j] = new Array(groupLength);\n\n bind(parent, group, enterGroup, updateGroup, exitGroup, data, key);\n\n // Now connect the enter nodes to their following update node, such that\n // appendChild can insert the materialized enter node before this node,\n // rather than at the end of the parent node.\n for (var i0 = 0, i1 = 0, previous, next; i0 < dataLength; ++i0) {\n if (previous = enterGroup[i0]) {\n if (i0 >= i1) i1 = i0 + 1;\n while (!(next = updateGroup[i1]) && ++i1 < dataLength);\n previous._next = next || null;\n }\n }\n }\n\n update = new Selection(update, parents);\n update._enter = enter;\n update._exit = exit;\n return update;\n}\n","import sparse from \"./sparse\";\nimport {Selection} from \"./index\";\n\nexport default function() {\n return new Selection(this._exit || this._groups.map(sparse), this._parents);\n}\n","import {Selection} from \"./index\";\n\nexport default function(selection) {\n\n for (var groups0 = this._groups, groups1 = selection._groups, m0 = groups0.length, m1 = groups1.length, m = Math.min(m0, m1), merges = new Array(m0), j = 0; j < m; ++j) {\n for (var group0 = groups0[j], group1 = groups1[j], n = group0.length, merge = merges[j] = new Array(n), node, i = 0; i < n; ++i) {\n if (node = group0[i] || group1[i]) {\n merge[i] = node;\n }\n }\n }\n\n for (; j < m0; ++j) {\n merges[j] = groups0[j];\n }\n\n return new Selection(merges, this._parents);\n}\n","export default function() {\n\n for (var groups = this._groups, j = -1, m = groups.length; ++j < m;) {\n for (var group = groups[j], i = group.length - 1, next = group[i], node; --i >= 0;) {\n if (node = group[i]) {\n if (next && next !== node.nextSibling) next.parentNode.insertBefore(node, next);\n next = node;\n }\n }\n }\n\n return this;\n}\n","import {Selection} from \"./index\";\n\nexport default function(compare) {\n if (!compare) compare = ascending;\n\n function compareNode(a, b) {\n return a && b ? compare(a.__data__, b.__data__) : !a - !b;\n }\n\n for (var groups = this._groups, m = groups.length, sortgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, sortgroup = sortgroups[j] = new Array(n), node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n sortgroup[i] = node;\n }\n }\n sortgroup.sort(compareNode);\n }\n\n return new Selection(sortgroups, this._parents).order();\n}\n\nfunction ascending(a, b) {\n return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;\n}\n","export default function() {\n var callback = arguments[0];\n arguments[0] = this;\n callback.apply(null, arguments);\n return this;\n}\n","export default function() {\n var nodes = new Array(this.size()), i = -1;\n this.each(function() { nodes[++i] = this; });\n return nodes;\n}\n","export default function() {\n\n for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) {\n for (var group = groups[j], i = 0, n = group.length; i < n; ++i) {\n var node = group[i];\n if (node) return node;\n }\n }\n\n return null;\n}\n","export default function() {\n var size = 0;\n this.each(function() { ++size; });\n return size;\n}\n","export default function() {\n return !this.node();\n}\n","export default function(callback) {\n\n for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) {\n for (var group = groups[j], i = 0, n = group.length, node; i < n; ++i) {\n if (node = group[i]) callback.call(node, node.__data__, i, group);\n }\n }\n\n return this;\n}\n","import namespace from \"../namespace\";\n\nfunction attrRemove(name) {\n return function() {\n this.removeAttribute(name);\n };\n}\n\nfunction attrRemoveNS(fullname) {\n return function() {\n this.removeAttributeNS(fullname.space, fullname.local);\n };\n}\n\nfunction attrConstant(name, value) {\n return function() {\n this.setAttribute(name, value);\n };\n}\n\nfunction attrConstantNS(fullname, value) {\n return function() {\n this.setAttributeNS(fullname.space, fullname.local, value);\n };\n}\n\nfunction attrFunction(name, value) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) this.removeAttribute(name);\n else this.setAttribute(name, v);\n };\n}\n\nfunction attrFunctionNS(fullname, value) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) this.removeAttributeNS(fullname.space, fullname.local);\n else this.setAttributeNS(fullname.space, fullname.local, v);\n };\n}\n\nexport default function(name, value) {\n var fullname = namespace(name);\n\n if (arguments.length < 2) {\n var node = this.node();\n return fullname.local\n ? node.getAttributeNS(fullname.space, fullname.local)\n : node.getAttribute(fullname);\n }\n\n return this.each((value == null\n ? (fullname.local ? attrRemoveNS : attrRemove) : (typeof value === \"function\"\n ? (fullname.local ? attrFunctionNS : attrFunction)\n : (fullname.local ? attrConstantNS : attrConstant)))(fullname, value));\n}\n","export default function(node) {\n return (node.ownerDocument && node.ownerDocument.defaultView) // node is a Node\n || (node.document && node) // node is a Window\n || node.defaultView; // node is a Document\n}\n","import defaultView from \"../window\";\n\nfunction styleRemove(name) {\n return function() {\n this.style.removeProperty(name);\n };\n}\n\nfunction styleConstant(name, value, priority) {\n return function() {\n this.style.setProperty(name, value, priority);\n };\n}\n\nfunction styleFunction(name, value, priority) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) this.style.removeProperty(name);\n else this.style.setProperty(name, v, priority);\n };\n}\n\nexport default function(name, value, priority) {\n return arguments.length > 1\n ? this.each((value == null\n ? styleRemove : typeof value === \"function\"\n ? styleFunction\n : styleConstant)(name, value, priority == null ? \"\" : priority))\n : styleValue(this.node(), name);\n}\n\nexport function styleValue(node, name) {\n return node.style.getPropertyValue(name)\n || defaultView(node).getComputedStyle(node, null).getPropertyValue(name);\n}\n","function propertyRemove(name) {\n return function() {\n delete this[name];\n };\n}\n\nfunction propertyConstant(name, value) {\n return function() {\n this[name] = value;\n };\n}\n\nfunction propertyFunction(name, value) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) delete this[name];\n else this[name] = v;\n };\n}\n\nexport default function(name, value) {\n return arguments.length > 1\n ? this.each((value == null\n ? propertyRemove : typeof value === \"function\"\n ? propertyFunction\n : propertyConstant)(name, value))\n : this.node()[name];\n}\n","function classArray(string) {\n return string.trim().split(/^|\\s+/);\n}\n\nfunction classList(node) {\n return node.classList || new ClassList(node);\n}\n\nfunction ClassList(node) {\n this._node = node;\n this._names = classArray(node.getAttribute(\"class\") || \"\");\n}\n\nClassList.prototype = {\n add: function(name) {\n var i = this._names.indexOf(name);\n if (i < 0) {\n this._names.push(name);\n this._node.setAttribute(\"class\", this._names.join(\" \"));\n }\n },\n remove: function(name) {\n var i = this._names.indexOf(name);\n if (i >= 0) {\n this._names.splice(i, 1);\n this._node.setAttribute(\"class\", this._names.join(\" \"));\n }\n },\n contains: function(name) {\n return this._names.indexOf(name) >= 0;\n }\n};\n\nfunction classedAdd(node, names) {\n var list = classList(node), i = -1, n = names.length;\n while (++i < n) list.add(names[i]);\n}\n\nfunction classedRemove(node, names) {\n var list = classList(node), i = -1, n = names.length;\n while (++i < n) list.remove(names[i]);\n}\n\nfunction classedTrue(names) {\n return function() {\n classedAdd(this, names);\n };\n}\n\nfunction classedFalse(names) {\n return function() {\n classedRemove(this, names);\n };\n}\n\nfunction classedFunction(names, value) {\n return function() {\n (value.apply(this, arguments) ? classedAdd : classedRemove)(this, names);\n };\n}\n\nexport default function(name, value) {\n var names = classArray(name + \"\");\n\n if (arguments.length < 2) {\n var list = classList(this.node()), i = -1, n = names.length;\n while (++i < n) if (!list.contains(names[i])) return false;\n return true;\n }\n\n return this.each((typeof value === \"function\"\n ? classedFunction : value\n ? classedTrue\n : classedFalse)(names, value));\n}\n","function textRemove() {\n this.textContent = \"\";\n}\n\nfunction textConstant(value) {\n return function() {\n this.textContent = value;\n };\n}\n\nfunction textFunction(value) {\n return function() {\n var v = value.apply(this, arguments);\n this.textContent = v == null ? \"\" : v;\n };\n}\n\nexport default function(value) {\n return arguments.length\n ? this.each(value == null\n ? textRemove : (typeof value === \"function\"\n ? textFunction\n : textConstant)(value))\n : this.node().textContent;\n}\n","function htmlRemove() {\n this.innerHTML = \"\";\n}\n\nfunction htmlConstant(value) {\n return function() {\n this.innerHTML = value;\n };\n}\n\nfunction htmlFunction(value) {\n return function() {\n var v = value.apply(this, arguments);\n this.innerHTML = v == null ? \"\" : v;\n };\n}\n\nexport default function(value) {\n return arguments.length\n ? this.each(value == null\n ? htmlRemove : (typeof value === \"function\"\n ? htmlFunction\n : htmlConstant)(value))\n : this.node().innerHTML;\n}\n","function raise() {\n if (this.nextSibling) this.parentNode.appendChild(this);\n}\n\nexport default function() {\n return this.each(raise);\n}\n","function lower() {\n if (this.previousSibling) this.parentNode.insertBefore(this, this.parentNode.firstChild);\n}\n\nexport default function() {\n return this.each(lower);\n}\n","import creator from \"../creator\";\n\nexport default function(name) {\n var create = typeof name === \"function\" ? name : creator(name);\n return this.select(function() {\n return this.appendChild(create.apply(this, arguments));\n });\n}\n","import creator from \"../creator\";\nimport selector from \"../selector\";\n\nfunction constantNull() {\n return null;\n}\n\nexport default function(name, before) {\n var create = typeof name === \"function\" ? name : creator(name),\n select = before == null ? constantNull : typeof before === \"function\" ? before : selector(before);\n return this.select(function() {\n return this.insertBefore(create.apply(this, arguments), select.apply(this, arguments) || null);\n });\n}\n","function remove() {\n var parent = this.parentNode;\n if (parent) parent.removeChild(this);\n}\n\nexport default function() {\n return this.each(remove);\n}\n","function selection_cloneShallow() {\n return this.parentNode.insertBefore(this.cloneNode(false), this.nextSibling);\n}\n\nfunction selection_cloneDeep() {\n return this.parentNode.insertBefore(this.cloneNode(true), this.nextSibling);\n}\n\nexport default function(deep) {\n return this.select(deep ? selection_cloneDeep : selection_cloneShallow);\n}\n","export default function(value) {\n return arguments.length\n ? this.property(\"__data__\", value)\n : this.node().__data__;\n}\n","var filterEvents = {};\n\nexport var event = null;\n\nif (typeof document !== \"undefined\") {\n var element = document.documentElement;\n if (!(\"onmouseenter\" in element)) {\n filterEvents = {mouseenter: \"mouseover\", mouseleave: \"mouseout\"};\n }\n}\n\nfunction filterContextListener(listener, index, group) {\n listener = contextListener(listener, index, group);\n return function(event) {\n var related = event.relatedTarget;\n if (!related || (related !== this && !(related.compareDocumentPosition(this) & 8))) {\n listener.call(this, event);\n }\n };\n}\n\nfunction contextListener(listener, index, group) {\n return function(event1) {\n var event0 = event; // Events can be reentrant (e.g., focus).\n event = event1;\n try {\n listener.call(this, this.__data__, index, group);\n } finally {\n event = event0;\n }\n };\n}\n\nfunction parseTypenames(typenames) {\n return typenames.trim().split(/^|\\s+/).map(function(t) {\n var name = \"\", i = t.indexOf(\".\");\n if (i >= 0) name = t.slice(i + 1), t = t.slice(0, i);\n return {type: t, name: name};\n });\n}\n\nfunction onRemove(typename) {\n return function() {\n var on = this.__on;\n if (!on) return;\n for (var j = 0, i = -1, m = on.length, o; j < m; ++j) {\n if (o = on[j], (!typename.type || o.type === typename.type) && o.name === typename.name) {\n this.removeEventListener(o.type, o.listener, o.capture);\n } else {\n on[++i] = o;\n }\n }\n if (++i) on.length = i;\n else delete this.__on;\n };\n}\n\nfunction onAdd(typename, value, capture) {\n var wrap = filterEvents.hasOwnProperty(typename.type) ? filterContextListener : contextListener;\n return function(d, i, group) {\n var on = this.__on, o, listener = wrap(value, i, group);\n if (on) for (var j = 0, m = on.length; j < m; ++j) {\n if ((o = on[j]).type === typename.type && o.name === typename.name) {\n this.removeEventListener(o.type, o.listener, o.capture);\n this.addEventListener(o.type, o.listener = listener, o.capture = capture);\n o.value = value;\n return;\n }\n }\n this.addEventListener(typename.type, listener, capture);\n o = {type: typename.type, name: typename.name, value: value, listener: listener, capture: capture};\n if (!on) this.__on = [o];\n else on.push(o);\n };\n}\n\nexport default function(typename, value, capture) {\n var typenames = parseTypenames(typename + \"\"), i, n = typenames.length, t;\n\n if (arguments.length < 2) {\n var on = this.node().__on;\n if (on) for (var j = 0, m = on.length, o; j < m; ++j) {\n for (i = 0, o = on[j]; i < n; ++i) {\n if ((t = typenames[i]).type === o.type && t.name === o.name) {\n return o.value;\n }\n }\n }\n return;\n }\n\n on = value ? onAdd : onRemove;\n if (capture == null) capture = false;\n for (i = 0; i < n; ++i) this.each(on(typenames[i], value, capture));\n return this;\n}\n\nexport function customEvent(event1, listener, that, args) {\n var event0 = event;\n event1.sourceEvent = event;\n event = event1;\n try {\n return listener.apply(that, args);\n } finally {\n event = event0;\n }\n}\n","import defaultView from \"../window\";\n\nfunction dispatchEvent(node, type, params) {\n var window = defaultView(node),\n event = window.CustomEvent;\n\n if (typeof event === \"function\") {\n event = new event(type, params);\n } else {\n event = window.document.createEvent(\"Event\");\n if (params) event.initEvent(type, params.bubbles, params.cancelable), event.detail = params.detail;\n else event.initEvent(type, false, false);\n }\n\n node.dispatchEvent(event);\n}\n\nfunction dispatchConstant(type, params) {\n return function() {\n return dispatchEvent(this, type, params);\n };\n}\n\nfunction dispatchFunction(type, params) {\n return function() {\n return dispatchEvent(this, type, params.apply(this, arguments));\n };\n}\n\nexport default function(type, params) {\n return this.each((typeof params === \"function\"\n ? dispatchFunction\n : dispatchConstant)(type, params));\n}\n","import selection_select from \"./select\";\nimport selection_selectAll from \"./selectAll\";\nimport selection_filter from \"./filter\";\nimport selection_data from \"./data\";\nimport selection_enter from \"./enter\";\nimport selection_exit from \"./exit\";\nimport selection_merge from \"./merge\";\nimport selection_order from \"./order\";\nimport selection_sort from \"./sort\";\nimport selection_call from \"./call\";\nimport selection_nodes from \"./nodes\";\nimport selection_node from \"./node\";\nimport selection_size from \"./size\";\nimport selection_empty from \"./empty\";\nimport selection_each from \"./each\";\nimport selection_attr from \"./attr\";\nimport selection_style from \"./style\";\nimport selection_property from \"./property\";\nimport selection_classed from \"./classed\";\nimport selection_text from \"./text\";\nimport selection_html from \"./html\";\nimport selection_raise from \"./raise\";\nimport selection_lower from \"./lower\";\nimport selection_append from \"./append\";\nimport selection_insert from \"./insert\";\nimport selection_remove from \"./remove\";\nimport selection_clone from \"./clone\";\nimport selection_datum from \"./datum\";\nimport selection_on from \"./on\";\nimport selection_dispatch from \"./dispatch\";\n\nexport var root = [null];\n\nexport function Selection(groups, parents) {\n this._groups = groups;\n this._parents = parents;\n}\n\nfunction selection() {\n return new Selection([[document.documentElement]], root);\n}\n\nSelection.prototype = selection.prototype = {\n constructor: Selection,\n select: selection_select,\n selectAll: selection_selectAll,\n filter: selection_filter,\n data: selection_data,\n enter: selection_enter,\n exit: selection_exit,\n merge: selection_merge,\n order: selection_order,\n sort: selection_sort,\n call: selection_call,\n nodes: selection_nodes,\n node: selection_node,\n size: selection_size,\n empty: selection_empty,\n each: selection_each,\n attr: selection_attr,\n style: selection_style,\n property: selection_property,\n classed: selection_classed,\n text: selection_text,\n html: selection_html,\n raise: selection_raise,\n lower: selection_lower,\n append: selection_append,\n insert: selection_insert,\n remove: selection_remove,\n clone: selection_clone,\n datum: selection_datum,\n on: selection_on,\n dispatch: selection_dispatch\n};\n\nexport default selection;\n","import {Selection, root} from \"./selection/index\";\n\nexport default function(selector) {\n return typeof selector === \"string\"\n ? new Selection([[document.querySelector(selector)]], [document.documentElement])\n : new Selection([[selector]], root);\n}\n","import creator from \"./creator\";\nimport select from \"./select\";\n\nexport default function(name) {\n return select(creator(name).call(document.documentElement));\n}\n","var nextId = 0;\n\nexport default function local() {\n return new Local;\n}\n\nfunction Local() {\n this._ = \"@\" + (++nextId).toString(36);\n}\n\nLocal.prototype = local.prototype = {\n constructor: Local,\n get: function(node) {\n var id = this._;\n while (!(id in node)) if (!(node = node.parentNode)) return;\n return node[id];\n },\n set: function(node, value) {\n return node[this._] = value;\n },\n remove: function(node) {\n return this._ in node && delete node[this._];\n },\n toString: function() {\n return this._;\n }\n};\n","import {event} from \"./selection/on\";\n\nexport default function() {\n var current = event, source;\n while (source = current.sourceEvent) current = source;\n return current;\n}\n","export default function(node, event) {\n var svg = node.ownerSVGElement || node;\n\n if (svg.createSVGPoint) {\n var point = svg.createSVGPoint();\n point.x = event.clientX, point.y = event.clientY;\n point = point.matrixTransform(node.getScreenCTM().inverse());\n return [point.x, point.y];\n }\n\n var rect = node.getBoundingClientRect();\n return [event.clientX - rect.left - node.clientLeft, event.clientY - rect.top - node.clientTop];\n}\n","import sourceEvent from \"./sourceEvent\";\nimport point from \"./point\";\n\nexport default function(node) {\n var event = sourceEvent();\n if (event.changedTouches) event = event.changedTouches[0];\n return point(node, event);\n}\n","import {Selection, root} from \"./selection/index\";\n\nexport default function(selector) {\n return typeof selector === \"string\"\n ? new Selection([document.querySelectorAll(selector)], [document.documentElement])\n : new Selection([selector == null ? [] : selector], root);\n}\n","import sourceEvent from \"./sourceEvent\";\nimport point from \"./point\";\n\nexport default function(node, touches, identifier) {\n if (arguments.length < 3) identifier = touches, touches = sourceEvent().changedTouches;\n\n for (var i = 0, n = touches ? touches.length : 0, touch; i < n; ++i) {\n if ((touch = touches[i]).identifier === identifier) {\n return point(node, touch);\n }\n }\n\n return null;\n}\n","import sourceEvent from \"./sourceEvent\";\nimport point from \"./point\";\n\nexport default function(node, touches) {\n if (touches == null) touches = sourceEvent().touches;\n\n for (var i = 0, n = touches ? touches.length : 0, points = new Array(n); i < n; ++i) {\n points[i] = point(node, touches[i]);\n }\n\n return points;\n}\n","export {default as create} from \"./src/create\";\nexport {default as creator} from \"./src/creator\";\nexport {default as local} from \"./src/local\";\nexport {default as matcher} from \"./src/matcher\";\nexport {default as mouse} from \"./src/mouse\";\nexport {default as namespace} from \"./src/namespace\";\nexport {default as namespaces} from \"./src/namespaces\";\nexport {default as clientPoint} from \"./src/point\";\nexport {default as select} from \"./src/select\";\nexport {default as selectAll} from \"./src/selectAll\";\nexport {default as selection} from \"./src/selection/index\";\nexport {default as selector} from \"./src/selector\";\nexport {default as selectorAll} from \"./src/selectorAll\";\nexport {styleValue as style} from \"./src/selection/style\";\nexport {default as touch} from \"./src/touch\";\nexport {default as touches} from \"./src/touches\";\nexport {default as window} from \"./src/window\";\nexport {event, customEvent} from \"./src/selection/on\";\n","import {event} from \"d3-selection\";\n\nexport function nopropagation() {\n event.stopImmediatePropagation();\n}\n\nexport default function() {\n event.preventDefault();\n event.stopImmediatePropagation();\n}\n","import {select} from \"d3-selection\";\nimport noevent from \"./noevent\";\n\nexport default function(view) {\n var root = view.document.documentElement,\n selection = select(view).on(\"dragstart.drag\", noevent, true);\n if (\"onselectstart\" in root) {\n selection.on(\"selectstart.drag\", noevent, true);\n } else {\n root.__noselect = root.style.MozUserSelect;\n root.style.MozUserSelect = \"none\";\n }\n}\n\nexport function yesdrag(view, noclick) {\n var root = view.document.documentElement,\n selection = select(view).on(\"dragstart.drag\", null);\n if (noclick) {\n selection.on(\"click.drag\", noevent, true);\n setTimeout(function() { selection.on(\"click.drag\", null); }, 0);\n }\n if (\"onselectstart\" in root) {\n selection.on(\"selectstart.drag\", null);\n } else {\n root.style.MozUserSelect = root.__noselect;\n delete root.__noselect;\n }\n}\n","export default function(x) {\n return function() {\n return x;\n };\n}\n","export default function DragEvent(target, type, subject, id, active, x, y, dx, dy, dispatch) {\n this.target = target;\n this.type = type;\n this.subject = subject;\n this.identifier = id;\n this.active = active;\n this.x = x;\n this.y = y;\n this.dx = dx;\n this.dy = dy;\n this._ = dispatch;\n}\n\nDragEvent.prototype.on = function() {\n var value = this._.on.apply(this._, arguments);\n return value === this._ ? this : value;\n};\n","import {dispatch} from \"d3-dispatch\";\nimport {event, customEvent, select, mouse, touch} from \"d3-selection\";\nimport nodrag, {yesdrag} from \"./nodrag\";\nimport noevent, {nopropagation} from \"./noevent\";\nimport constant from \"./constant\";\nimport DragEvent from \"./event\";\n\n// Ignore right-click, since that should open the context menu.\nfunction defaultFilter() {\n return !event.button;\n}\n\nfunction defaultContainer() {\n return this.parentNode;\n}\n\nfunction defaultSubject(d) {\n return d == null ? {x: event.x, y: event.y} : d;\n}\n\nfunction defaultTouchable() {\n return \"ontouchstart\" in this;\n}\n\nexport default function() {\n var filter = defaultFilter,\n container = defaultContainer,\n subject = defaultSubject,\n touchable = defaultTouchable,\n gestures = {},\n listeners = dispatch(\"start\", \"drag\", \"end\"),\n active = 0,\n mousedownx,\n mousedowny,\n mousemoving,\n touchending,\n clickDistance2 = 0;\n\n function drag(selection) {\n selection\n .on(\"mousedown.drag\", mousedowned)\n .filter(touchable)\n .on(\"touchstart.drag\", touchstarted)\n .on(\"touchmove.drag\", touchmoved)\n .on(\"touchend.drag touchcancel.drag\", touchended)\n .style(\"touch-action\", \"none\")\n .style(\"-webkit-tap-highlight-color\", \"rgba(0,0,0,0)\");\n }\n\n function mousedowned() {\n if (touchending || !filter.apply(this, arguments)) return;\n var gesture = beforestart(\"mouse\", container.apply(this, arguments), mouse, this, arguments);\n if (!gesture) return;\n select(event.view).on(\"mousemove.drag\", mousemoved, true).on(\"mouseup.drag\", mouseupped, true);\n nodrag(event.view);\n nopropagation();\n mousemoving = false;\n mousedownx = event.clientX;\n mousedowny = event.clientY;\n gesture(\"start\");\n }\n\n function mousemoved() {\n noevent();\n if (!mousemoving) {\n var dx = event.clientX - mousedownx, dy = event.clientY - mousedowny;\n mousemoving = dx * dx + dy * dy > clickDistance2;\n }\n gestures.mouse(\"drag\");\n }\n\n function mouseupped() {\n select(event.view).on(\"mousemove.drag mouseup.drag\", null);\n yesdrag(event.view, mousemoving);\n noevent();\n gestures.mouse(\"end\");\n }\n\n function touchstarted() {\n if (!filter.apply(this, arguments)) return;\n var touches = event.changedTouches,\n c = container.apply(this, arguments),\n n = touches.length, i, gesture;\n\n for (i = 0; i < n; ++i) {\n if (gesture = beforestart(touches[i].identifier, c, touch, this, arguments)) {\n nopropagation();\n gesture(\"start\");\n }\n }\n }\n\n function touchmoved() {\n var touches = event.changedTouches,\n n = touches.length, i, gesture;\n\n for (i = 0; i < n; ++i) {\n if (gesture = gestures[touches[i].identifier]) {\n noevent();\n gesture(\"drag\");\n }\n }\n }\n\n function touchended() {\n var touches = event.changedTouches,\n n = touches.length, i, gesture;\n\n if (touchending) clearTimeout(touchending);\n touchending = setTimeout(function() { touchending = null; }, 500); // Ghost clicks are delayed!\n for (i = 0; i < n; ++i) {\n if (gesture = gestures[touches[i].identifier]) {\n nopropagation();\n gesture(\"end\");\n }\n }\n }\n\n function beforestart(id, container, point, that, args) {\n var p = point(container, id), s, dx, dy,\n sublisteners = listeners.copy();\n\n if (!customEvent(new DragEvent(drag, \"beforestart\", s, id, active, p[0], p[1], 0, 0, sublisteners), function() {\n if ((event.subject = s = subject.apply(that, args)) == null) return false;\n dx = s.x - p[0] || 0;\n dy = s.y - p[1] || 0;\n return true;\n })) return;\n\n return function gesture(type) {\n var p0 = p, n;\n switch (type) {\n case \"start\": gestures[id] = gesture, n = active++; break;\n case \"end\": delete gestures[id], --active; // nobreak\n case \"drag\": p = point(container, id), n = active; break;\n }\n customEvent(new DragEvent(drag, type, s, id, n, p[0] + dx, p[1] + dy, p[0] - p0[0], p[1] - p0[1], sublisteners), sublisteners.apply, sublisteners, [type, that, args]);\n };\n }\n\n drag.filter = function(_) {\n return arguments.length ? (filter = typeof _ === \"function\" ? _ : constant(!!_), drag) : filter;\n };\n\n drag.container = function(_) {\n return arguments.length ? (container = typeof _ === \"function\" ? _ : constant(_), drag) : container;\n };\n\n drag.subject = function(_) {\n return arguments.length ? (subject = typeof _ === \"function\" ? _ : constant(_), drag) : subject;\n };\n\n drag.touchable = function(_) {\n return arguments.length ? (touchable = typeof _ === \"function\" ? _ : constant(!!_), drag) : touchable;\n };\n\n drag.on = function() {\n var value = listeners.on.apply(listeners, arguments);\n return value === listeners ? drag : value;\n };\n\n drag.clickDistance = function(_) {\n return arguments.length ? (clickDistance2 = (_ = +_) * _, drag) : Math.sqrt(clickDistance2);\n };\n\n return drag;\n}\n","export {default as drag} from \"./src/drag\";\nexport {default as dragDisable, yesdrag as dragEnable} from \"./src/nodrag\";\n","export default function(constructor, factory, prototype) {\n constructor.prototype = factory.prototype = prototype;\n prototype.constructor = constructor;\n}\n\nexport function extend(parent, definition) {\n var prototype = Object.create(parent.prototype);\n for (var key in definition) prototype[key] = definition[key];\n return prototype;\n}\n","import define, {extend} from \"./define\";\n\nexport function Color() {}\n\nexport var darker = 0.7;\nexport var brighter = 1 / darker;\n\nvar reI = \"\\\\s*([+-]?\\\\d+)\\\\s*\",\n reN = \"\\\\s*([+-]?\\\\d*\\\\.?\\\\d+(?:[eE][+-]?\\\\d+)?)\\\\s*\",\n reP = \"\\\\s*([+-]?\\\\d*\\\\.?\\\\d+(?:[eE][+-]?\\\\d+)?)%\\\\s*\",\n reHex3 = /^#([0-9a-f]{3})$/,\n reHex6 = /^#([0-9a-f]{6})$/,\n reRgbInteger = new RegExp(\"^rgb\\\\(\" + [reI, reI, reI] + \"\\\\)$\"),\n reRgbPercent = new RegExp(\"^rgb\\\\(\" + [reP, reP, reP] + \"\\\\)$\"),\n reRgbaInteger = new RegExp(\"^rgba\\\\(\" + [reI, reI, reI, reN] + \"\\\\)$\"),\n reRgbaPercent = new RegExp(\"^rgba\\\\(\" + [reP, reP, reP, reN] + \"\\\\)$\"),\n reHslPercent = new RegExp(\"^hsl\\\\(\" + [reN, reP, reP] + \"\\\\)$\"),\n reHslaPercent = new RegExp(\"^hsla\\\\(\" + [reN, reP, reP, reN] + \"\\\\)$\");\n\nvar named = {\n aliceblue: 0xf0f8ff,\n antiquewhite: 0xfaebd7,\n aqua: 0x00ffff,\n aquamarine: 0x7fffd4,\n azure: 0xf0ffff,\n beige: 0xf5f5dc,\n bisque: 0xffe4c4,\n black: 0x000000,\n blanchedalmond: 0xffebcd,\n blue: 0x0000ff,\n blueviolet: 0x8a2be2,\n brown: 0xa52a2a,\n burlywood: 0xdeb887,\n cadetblue: 0x5f9ea0,\n chartreuse: 0x7fff00,\n chocolate: 0xd2691e,\n coral: 0xff7f50,\n cornflowerblue: 0x6495ed,\n cornsilk: 0xfff8dc,\n crimson: 0xdc143c,\n cyan: 0x00ffff,\n darkblue: 0x00008b,\n darkcyan: 0x008b8b,\n darkgoldenrod: 0xb8860b,\n darkgray: 0xa9a9a9,\n darkgreen: 0x006400,\n darkgrey: 0xa9a9a9,\n darkkhaki: 0xbdb76b,\n darkmagenta: 0x8b008b,\n darkolivegreen: 0x556b2f,\n darkorange: 0xff8c00,\n darkorchid: 0x9932cc,\n darkred: 0x8b0000,\n darksalmon: 0xe9967a,\n darkseagreen: 0x8fbc8f,\n darkslateblue: 0x483d8b,\n darkslategray: 0x2f4f4f,\n darkslategrey: 0x2f4f4f,\n darkturquoise: 0x00ced1,\n darkviolet: 0x9400d3,\n deeppink: 0xff1493,\n deepskyblue: 0x00bfff,\n dimgray: 0x696969,\n dimgrey: 0x696969,\n dodgerblue: 0x1e90ff,\n firebrick: 0xb22222,\n floralwhite: 0xfffaf0,\n forestgreen: 0x228b22,\n fuchsia: 0xff00ff,\n gainsboro: 0xdcdcdc,\n ghostwhite: 0xf8f8ff,\n gold: 0xffd700,\n goldenrod: 0xdaa520,\n gray: 0x808080,\n green: 0x008000,\n greenyellow: 0xadff2f,\n grey: 0x808080,\n honeydew: 0xf0fff0,\n hotpink: 0xff69b4,\n indianred: 0xcd5c5c,\n indigo: 0x4b0082,\n ivory: 0xfffff0,\n khaki: 0xf0e68c,\n lavender: 0xe6e6fa,\n lavenderblush: 0xfff0f5,\n lawngreen: 0x7cfc00,\n lemonchiffon: 0xfffacd,\n lightblue: 0xadd8e6,\n lightcoral: 0xf08080,\n lightcyan: 0xe0ffff,\n lightgoldenrodyellow: 0xfafad2,\n lightgray: 0xd3d3d3,\n lightgreen: 0x90ee90,\n lightgrey: 0xd3d3d3,\n lightpink: 0xffb6c1,\n lightsalmon: 0xffa07a,\n lightseagreen: 0x20b2aa,\n lightskyblue: 0x87cefa,\n lightslategray: 0x778899,\n lightslategrey: 0x778899,\n lightsteelblue: 0xb0c4de,\n lightyellow: 0xffffe0,\n lime: 0x00ff00,\n limegreen: 0x32cd32,\n linen: 0xfaf0e6,\n magenta: 0xff00ff,\n maroon: 0x800000,\n mediumaquamarine: 0x66cdaa,\n mediumblue: 0x0000cd,\n mediumorchid: 0xba55d3,\n mediumpurple: 0x9370db,\n mediumseagreen: 0x3cb371,\n mediumslateblue: 0x7b68ee,\n mediumspringgreen: 0x00fa9a,\n mediumturquoise: 0x48d1cc,\n mediumvioletred: 0xc71585,\n midnightblue: 0x191970,\n mintcream: 0xf5fffa,\n mistyrose: 0xffe4e1,\n moccasin: 0xffe4b5,\n navajowhite: 0xffdead,\n navy: 0x000080,\n oldlace: 0xfdf5e6,\n olive: 0x808000,\n olivedrab: 0x6b8e23,\n orange: 0xffa500,\n orangered: 0xff4500,\n orchid: 0xda70d6,\n palegoldenrod: 0xeee8aa,\n palegreen: 0x98fb98,\n paleturquoise: 0xafeeee,\n palevioletred: 0xdb7093,\n papayawhip: 0xffefd5,\n peachpuff: 0xffdab9,\n peru: 0xcd853f,\n pink: 0xffc0cb,\n plum: 0xdda0dd,\n powderblue: 0xb0e0e6,\n purple: 0x800080,\n rebeccapurple: 0x663399,\n red: 0xff0000,\n rosybrown: 0xbc8f8f,\n royalblue: 0x4169e1,\n saddlebrown: 0x8b4513,\n salmon: 0xfa8072,\n sandybrown: 0xf4a460,\n seagreen: 0x2e8b57,\n seashell: 0xfff5ee,\n sienna: 0xa0522d,\n silver: 0xc0c0c0,\n skyblue: 0x87ceeb,\n slateblue: 0x6a5acd,\n slategray: 0x708090,\n slategrey: 0x708090,\n snow: 0xfffafa,\n springgreen: 0x00ff7f,\n steelblue: 0x4682b4,\n tan: 0xd2b48c,\n teal: 0x008080,\n thistle: 0xd8bfd8,\n tomato: 0xff6347,\n turquoise: 0x40e0d0,\n violet: 0xee82ee,\n wheat: 0xf5deb3,\n white: 0xffffff,\n whitesmoke: 0xf5f5f5,\n yellow: 0xffff00,\n yellowgreen: 0x9acd32\n};\n\ndefine(Color, color, {\n displayable: function() {\n return this.rgb().displayable();\n },\n hex: function() {\n return this.rgb().hex();\n },\n toString: function() {\n return this.rgb() + \"\";\n }\n});\n\nexport default function color(format) {\n var m;\n format = (format + \"\").trim().toLowerCase();\n return (m = reHex3.exec(format)) ? (m = parseInt(m[1], 16), new Rgb((m >> 8 & 0xf) | (m >> 4 & 0x0f0), (m >> 4 & 0xf) | (m & 0xf0), ((m & 0xf) << 4) | (m & 0xf), 1)) // #f00\n : (m = reHex6.exec(format)) ? rgbn(parseInt(m[1], 16)) // #ff0000\n : (m = reRgbInteger.exec(format)) ? new Rgb(m[1], m[2], m[3], 1) // rgb(255, 0, 0)\n : (m = reRgbPercent.exec(format)) ? new Rgb(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, 1) // rgb(100%, 0%, 0%)\n : (m = reRgbaInteger.exec(format)) ? rgba(m[1], m[2], m[3], m[4]) // rgba(255, 0, 0, 1)\n : (m = reRgbaPercent.exec(format)) ? rgba(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, m[4]) // rgb(100%, 0%, 0%, 1)\n : (m = reHslPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, 1) // hsl(120, 50%, 50%)\n : (m = reHslaPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, m[4]) // hsla(120, 50%, 50%, 1)\n : named.hasOwnProperty(format) ? rgbn(named[format])\n : format === \"transparent\" ? new Rgb(NaN, NaN, NaN, 0)\n : null;\n}\n\nfunction rgbn(n) {\n return new Rgb(n >> 16 & 0xff, n >> 8 & 0xff, n & 0xff, 1);\n}\n\nfunction rgba(r, g, b, a) {\n if (a <= 0) r = g = b = NaN;\n return new Rgb(r, g, b, a);\n}\n\nexport function rgbConvert(o) {\n if (!(o instanceof Color)) o = color(o);\n if (!o) return new Rgb;\n o = o.rgb();\n return new Rgb(o.r, o.g, o.b, o.opacity);\n}\n\nexport function rgb(r, g, b, opacity) {\n return arguments.length === 1 ? rgbConvert(r) : new Rgb(r, g, b, opacity == null ? 1 : opacity);\n}\n\nexport function Rgb(r, g, b, opacity) {\n this.r = +r;\n this.g = +g;\n this.b = +b;\n this.opacity = +opacity;\n}\n\ndefine(Rgb, rgb, extend(Color, {\n brighter: function(k) {\n k = k == null ? brighter : Math.pow(brighter, k);\n return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);\n },\n darker: function(k) {\n k = k == null ? darker : Math.pow(darker, k);\n return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);\n },\n rgb: function() {\n return this;\n },\n displayable: function() {\n return (0 <= this.r && this.r <= 255)\n && (0 <= this.g && this.g <= 255)\n && (0 <= this.b && this.b <= 255)\n && (0 <= this.opacity && this.opacity <= 1);\n },\n hex: function() {\n return \"#\" + hex(this.r) + hex(this.g) + hex(this.b);\n },\n toString: function() {\n var a = this.opacity; a = isNaN(a) ? 1 : Math.max(0, Math.min(1, a));\n return (a === 1 ? \"rgb(\" : \"rgba(\")\n + Math.max(0, Math.min(255, Math.round(this.r) || 0)) + \", \"\n + Math.max(0, Math.min(255, Math.round(this.g) || 0)) + \", \"\n + Math.max(0, Math.min(255, Math.round(this.b) || 0))\n + (a === 1 ? \")\" : \", \" + a + \")\");\n }\n}));\n\nfunction hex(value) {\n value = Math.max(0, Math.min(255, Math.round(value) || 0));\n return (value < 16 ? \"0\" : \"\") + value.toString(16);\n}\n\nfunction hsla(h, s, l, a) {\n if (a <= 0) h = s = l = NaN;\n else if (l <= 0 || l >= 1) h = s = NaN;\n else if (s <= 0) h = NaN;\n return new Hsl(h, s, l, a);\n}\n\nexport function hslConvert(o) {\n if (o instanceof Hsl) return new Hsl(o.h, o.s, o.l, o.opacity);\n if (!(o instanceof Color)) o = color(o);\n if (!o) return new Hsl;\n if (o instanceof Hsl) return o;\n o = o.rgb();\n var r = o.r / 255,\n g = o.g / 255,\n b = o.b / 255,\n min = Math.min(r, g, b),\n max = Math.max(r, g, b),\n h = NaN,\n s = max - min,\n l = (max + min) / 2;\n if (s) {\n if (r === max) h = (g - b) / s + (g < b) * 6;\n else if (g === max) h = (b - r) / s + 2;\n else h = (r - g) / s + 4;\n s /= l < 0.5 ? max + min : 2 - max - min;\n h *= 60;\n } else {\n s = l > 0 && l < 1 ? 0 : h;\n }\n return new Hsl(h, s, l, o.opacity);\n}\n\nexport function hsl(h, s, l, opacity) {\n return arguments.length === 1 ? hslConvert(h) : new Hsl(h, s, l, opacity == null ? 1 : opacity);\n}\n\nfunction Hsl(h, s, l, opacity) {\n this.h = +h;\n this.s = +s;\n this.l = +l;\n this.opacity = +opacity;\n}\n\ndefine(Hsl, hsl, extend(Color, {\n brighter: function(k) {\n k = k == null ? brighter : Math.pow(brighter, k);\n return new Hsl(this.h, this.s, this.l * k, this.opacity);\n },\n darker: function(k) {\n k = k == null ? darker : Math.pow(darker, k);\n return new Hsl(this.h, this.s, this.l * k, this.opacity);\n },\n rgb: function() {\n var h = this.h % 360 + (this.h < 0) * 360,\n s = isNaN(h) || isNaN(this.s) ? 0 : this.s,\n l = this.l,\n m2 = l + (l < 0.5 ? l : 1 - l) * s,\n m1 = 2 * l - m2;\n return new Rgb(\n hsl2rgb(h >= 240 ? h - 240 : h + 120, m1, m2),\n hsl2rgb(h, m1, m2),\n hsl2rgb(h < 120 ? h + 240 : h - 120, m1, m2),\n this.opacity\n );\n },\n displayable: function() {\n return (0 <= this.s && this.s <= 1 || isNaN(this.s))\n && (0 <= this.l && this.l <= 1)\n && (0 <= this.opacity && this.opacity <= 1);\n }\n}));\n\n/* From FvD 13.37, CSS Color Module Level 3 */\nfunction hsl2rgb(h, m1, m2) {\n return (h < 60 ? m1 + (m2 - m1) * h / 60\n : h < 180 ? m2\n : h < 240 ? m1 + (m2 - m1) * (240 - h) / 60\n : m1) * 255;\n}\n","export var deg2rad = Math.PI / 180;\nexport var rad2deg = 180 / Math.PI;\n","import define, {extend} from \"./define\";\nimport {Color, rgbConvert, Rgb} from \"./color\";\nimport {deg2rad, rad2deg} from \"./math\";\n\n// https://beta.observablehq.com/@mbostock/lab-and-rgb\nvar K = 18,\n Xn = 0.96422,\n Yn = 1,\n Zn = 0.82521,\n t0 = 4 / 29,\n t1 = 6 / 29,\n t2 = 3 * t1 * t1,\n t3 = t1 * t1 * t1;\n\nfunction labConvert(o) {\n if (o instanceof Lab) return new Lab(o.l, o.a, o.b, o.opacity);\n if (o instanceof Hcl) {\n if (isNaN(o.h)) return new Lab(o.l, 0, 0, o.opacity);\n var h = o.h * deg2rad;\n return new Lab(o.l, Math.cos(h) * o.c, Math.sin(h) * o.c, o.opacity);\n }\n if (!(o instanceof Rgb)) o = rgbConvert(o);\n var r = rgb2lrgb(o.r),\n g = rgb2lrgb(o.g),\n b = rgb2lrgb(o.b),\n y = xyz2lab((0.2225045 * r + 0.7168786 * g + 0.0606169 * b) / Yn), x, z;\n if (r === g && g === b) x = z = y; else {\n x = xyz2lab((0.4360747 * r + 0.3850649 * g + 0.1430804 * b) / Xn);\n z = xyz2lab((0.0139322 * r + 0.0971045 * g + 0.7141733 * b) / Zn);\n }\n return new Lab(116 * y - 16, 500 * (x - y), 200 * (y - z), o.opacity);\n}\n\nexport function gray(l, opacity) {\n return new Lab(l, 0, 0, opacity == null ? 1 : opacity);\n}\n\nexport default function lab(l, a, b, opacity) {\n return arguments.length === 1 ? labConvert(l) : new Lab(l, a, b, opacity == null ? 1 : opacity);\n}\n\nexport function Lab(l, a, b, opacity) {\n this.l = +l;\n this.a = +a;\n this.b = +b;\n this.opacity = +opacity;\n}\n\ndefine(Lab, lab, extend(Color, {\n brighter: function(k) {\n return new Lab(this.l + K * (k == null ? 1 : k), this.a, this.b, this.opacity);\n },\n darker: function(k) {\n return new Lab(this.l - K * (k == null ? 1 : k), this.a, this.b, this.opacity);\n },\n rgb: function() {\n var y = (this.l + 16) / 116,\n x = isNaN(this.a) ? y : y + this.a / 500,\n z = isNaN(this.b) ? y : y - this.b / 200;\n x = Xn * lab2xyz(x);\n y = Yn * lab2xyz(y);\n z = Zn * lab2xyz(z);\n return new Rgb(\n lrgb2rgb( 3.1338561 * x - 1.6168667 * y - 0.4906146 * z),\n lrgb2rgb(-0.9787684 * x + 1.9161415 * y + 0.0334540 * z),\n lrgb2rgb( 0.0719453 * x - 0.2289914 * y + 1.4052427 * z),\n this.opacity\n );\n }\n}));\n\nfunction xyz2lab(t) {\n return t > t3 ? Math.pow(t, 1 / 3) : t / t2 + t0;\n}\n\nfunction lab2xyz(t) {\n return t > t1 ? t * t * t : t2 * (t - t0);\n}\n\nfunction lrgb2rgb(x) {\n return 255 * (x <= 0.0031308 ? 12.92 * x : 1.055 * Math.pow(x, 1 / 2.4) - 0.055);\n}\n\nfunction rgb2lrgb(x) {\n return (x /= 255) <= 0.04045 ? x / 12.92 : Math.pow((x + 0.055) / 1.055, 2.4);\n}\n\nfunction hclConvert(o) {\n if (o instanceof Hcl) return new Hcl(o.h, o.c, o.l, o.opacity);\n if (!(o instanceof Lab)) o = labConvert(o);\n if (o.a === 0 && o.b === 0) return new Hcl(NaN, 0, o.l, o.opacity);\n var h = Math.atan2(o.b, o.a) * rad2deg;\n return new Hcl(h < 0 ? h + 360 : h, Math.sqrt(o.a * o.a + o.b * o.b), o.l, o.opacity);\n}\n\nexport function lch(l, c, h, opacity) {\n return arguments.length === 1 ? hclConvert(l) : new Hcl(h, c, l, opacity == null ? 1 : opacity);\n}\n\nexport function hcl(h, c, l, opacity) {\n return arguments.length === 1 ? hclConvert(h) : new Hcl(h, c, l, opacity == null ? 1 : opacity);\n}\n\nexport function Hcl(h, c, l, opacity) {\n this.h = +h;\n this.c = +c;\n this.l = +l;\n this.opacity = +opacity;\n}\n\ndefine(Hcl, hcl, extend(Color, {\n brighter: function(k) {\n return new Hcl(this.h, this.c, this.l + K * (k == null ? 1 : k), this.opacity);\n },\n darker: function(k) {\n return new Hcl(this.h, this.c, this.l - K * (k == null ? 1 : k), this.opacity);\n },\n rgb: function() {\n return labConvert(this).rgb();\n }\n}));\n","import define, {extend} from \"./define\";\nimport {Color, rgbConvert, Rgb, darker, brighter} from \"./color\";\nimport {deg2rad, rad2deg} from \"./math\";\n\nvar A = -0.14861,\n B = +1.78277,\n C = -0.29227,\n D = -0.90649,\n E = +1.97294,\n ED = E * D,\n EB = E * B,\n BC_DA = B * C - D * A;\n\nfunction cubehelixConvert(o) {\n if (o instanceof Cubehelix) return new Cubehelix(o.h, o.s, o.l, o.opacity);\n if (!(o instanceof Rgb)) o = rgbConvert(o);\n var r = o.r / 255,\n g = o.g / 255,\n b = o.b / 255,\n l = (BC_DA * b + ED * r - EB * g) / (BC_DA + ED - EB),\n bl = b - l,\n k = (E * (g - l) - C * bl) / D,\n s = Math.sqrt(k * k + bl * bl) / (E * l * (1 - l)), // NaN if l=0 or l=1\n h = s ? Math.atan2(k, bl) * rad2deg - 120 : NaN;\n return new Cubehelix(h < 0 ? h + 360 : h, s, l, o.opacity);\n}\n\nexport default function cubehelix(h, s, l, opacity) {\n return arguments.length === 1 ? cubehelixConvert(h) : new Cubehelix(h, s, l, opacity == null ? 1 : opacity);\n}\n\nexport function Cubehelix(h, s, l, opacity) {\n this.h = +h;\n this.s = +s;\n this.l = +l;\n this.opacity = +opacity;\n}\n\ndefine(Cubehelix, cubehelix, extend(Color, {\n brighter: function(k) {\n k = k == null ? brighter : Math.pow(brighter, k);\n return new Cubehelix(this.h, this.s, this.l * k, this.opacity);\n },\n darker: function(k) {\n k = k == null ? darker : Math.pow(darker, k);\n return new Cubehelix(this.h, this.s, this.l * k, this.opacity);\n },\n rgb: function() {\n var h = isNaN(this.h) ? 0 : (this.h + 120) * deg2rad,\n l = +this.l,\n a = isNaN(this.s) ? 0 : this.s * l * (1 - l),\n cosh = Math.cos(h),\n sinh = Math.sin(h);\n return new Rgb(\n 255 * (l + a * (A * cosh + B * sinh)),\n 255 * (l + a * (C * cosh + D * sinh)),\n 255 * (l + a * (E * cosh)),\n this.opacity\n );\n }\n}));\n","export {default as color, rgb, hsl} from \"./src/color\";\nexport {default as lab, hcl, lch, gray} from \"./src/lab\";\nexport {default as cubehelix} from \"./src/cubehelix\";\n","export function basis(t1, v0, v1, v2, v3) {\n var t2 = t1 * t1, t3 = t2 * t1;\n return ((1 - 3 * t1 + 3 * t2 - t3) * v0\n + (4 - 6 * t2 + 3 * t3) * v1\n + (1 + 3 * t1 + 3 * t2 - 3 * t3) * v2\n + t3 * v3) / 6;\n}\n\nexport default function(values) {\n var n = values.length - 1;\n return function(t) {\n var i = t <= 0 ? (t = 0) : t >= 1 ? (t = 1, n - 1) : Math.floor(t * n),\n v1 = values[i],\n v2 = values[i + 1],\n v0 = i > 0 ? values[i - 1] : 2 * v1 - v2,\n v3 = i < n - 1 ? values[i + 2] : 2 * v2 - v1;\n return basis((t - i / n) * n, v0, v1, v2, v3);\n };\n}\n","import {basis} from \"./basis\";\n\nexport default function(values) {\n var n = values.length;\n return function(t) {\n var i = Math.floor(((t %= 1) < 0 ? ++t : t) * n),\n v0 = values[(i + n - 1) % n],\n v1 = values[i % n],\n v2 = values[(i + 1) % n],\n v3 = values[(i + 2) % n];\n return basis((t - i / n) * n, v0, v1, v2, v3);\n };\n}\n","export default function(x) {\n return function() {\n return x;\n };\n}\n","import constant from \"./constant\";\n\nfunction linear(a, d) {\n return function(t) {\n return a + t * d;\n };\n}\n\nfunction exponential(a, b, y) {\n return a = Math.pow(a, y), b = Math.pow(b, y) - a, y = 1 / y, function(t) {\n return Math.pow(a + t * b, y);\n };\n}\n\nexport function hue(a, b) {\n var d = b - a;\n return d ? linear(a, d > 180 || d < -180 ? d - 360 * Math.round(d / 360) : d) : constant(isNaN(a) ? b : a);\n}\n\nexport function gamma(y) {\n return (y = +y) === 1 ? nogamma : function(a, b) {\n return b - a ? exponential(a, b, y) : constant(isNaN(a) ? b : a);\n };\n}\n\nexport default function nogamma(a, b) {\n var d = b - a;\n return d ? linear(a, d) : constant(isNaN(a) ? b : a);\n}\n","import {rgb as colorRgb} from \"d3-color\";\nimport basis from \"./basis\";\nimport basisClosed from \"./basisClosed\";\nimport nogamma, {gamma} from \"./color\";\n\nexport default (function rgbGamma(y) {\n var color = gamma(y);\n\n function rgb(start, end) {\n var r = color((start = colorRgb(start)).r, (end = colorRgb(end)).r),\n g = color(start.g, end.g),\n b = color(start.b, end.b),\n opacity = nogamma(start.opacity, end.opacity);\n return function(t) {\n start.r = r(t);\n start.g = g(t);\n start.b = b(t);\n start.opacity = opacity(t);\n return start + \"\";\n };\n }\n\n rgb.gamma = rgbGamma;\n\n return rgb;\n})(1);\n\nfunction rgbSpline(spline) {\n return function(colors) {\n var n = colors.length,\n r = new Array(n),\n g = new Array(n),\n b = new Array(n),\n i, color;\n for (i = 0; i < n; ++i) {\n color = colorRgb(colors[i]);\n r[i] = color.r || 0;\n g[i] = color.g || 0;\n b[i] = color.b || 0;\n }\n r = spline(r);\n g = spline(g);\n b = spline(b);\n color.opacity = 1;\n return function(t) {\n color.r = r(t);\n color.g = g(t);\n color.b = b(t);\n return color + \"\";\n };\n };\n}\n\nexport var rgbBasis = rgbSpline(basis);\nexport var rgbBasisClosed = rgbSpline(basisClosed);\n","import value from \"./value\";\n\nexport default function(a, b) {\n var nb = b ? b.length : 0,\n na = a ? Math.min(nb, a.length) : 0,\n x = new Array(na),\n c = new Array(nb),\n i;\n\n for (i = 0; i < na; ++i) x[i] = value(a[i], b[i]);\n for (; i < nb; ++i) c[i] = b[i];\n\n return function(t) {\n for (i = 0; i < na; ++i) c[i] = x[i](t);\n return c;\n };\n}\n","export default function(a, b) {\n var d = new Date;\n return a = +a, b -= a, function(t) {\n return d.setTime(a + b * t), d;\n };\n}\n","export default function(a, b) {\n return a = +a, b -= a, function(t) {\n return a + b * t;\n };\n}\n","import value from \"./value\";\n\nexport default function(a, b) {\n var i = {},\n c = {},\n k;\n\n if (a === null || typeof a !== \"object\") a = {};\n if (b === null || typeof b !== \"object\") b = {};\n\n for (k in b) {\n if (k in a) {\n i[k] = value(a[k], b[k]);\n } else {\n c[k] = b[k];\n }\n }\n\n return function(t) {\n for (k in i) c[k] = i[k](t);\n return c;\n };\n}\n","import number from \"./number\";\n\nvar reA = /[-+]?(?:\\d+\\.?\\d*|\\.?\\d+)(?:[eE][-+]?\\d+)?/g,\n reB = new RegExp(reA.source, \"g\");\n\nfunction zero(b) {\n return function() {\n return b;\n };\n}\n\nfunction one(b) {\n return function(t) {\n return b(t) + \"\";\n };\n}\n\nexport default function(a, b) {\n var bi = reA.lastIndex = reB.lastIndex = 0, // scan index for next number in b\n am, // current match in a\n bm, // current match in b\n bs, // string preceding current number in b, if any\n i = -1, // index in s\n s = [], // string constants and placeholders\n q = []; // number interpolators\n\n // Coerce inputs to strings.\n a = a + \"\", b = b + \"\";\n\n // Interpolate pairs of numbers in a & b.\n while ((am = reA.exec(a))\n && (bm = reB.exec(b))) {\n if ((bs = bm.index) > bi) { // a string precedes the next number in b\n bs = b.slice(bi, bs);\n if (s[i]) s[i] += bs; // coalesce with previous string\n else s[++i] = bs;\n }\n if ((am = am[0]) === (bm = bm[0])) { // numbers in a & b match\n if (s[i]) s[i] += bm; // coalesce with previous string\n else s[++i] = bm;\n } else { // interpolate non-matching numbers\n s[++i] = null;\n q.push({i: i, x: number(am, bm)});\n }\n bi = reB.lastIndex;\n }\n\n // Add remains of b.\n if (bi < b.length) {\n bs = b.slice(bi);\n if (s[i]) s[i] += bs; // coalesce with previous string\n else s[++i] = bs;\n }\n\n // Special optimization for only a single match.\n // Otherwise, interpolate each of the numbers and rejoin the string.\n return s.length < 2 ? (q[0]\n ? one(q[0].x)\n : zero(b))\n : (b = q.length, function(t) {\n for (var i = 0, o; i < b; ++i) s[(o = q[i]).i] = o.x(t);\n return s.join(\"\");\n });\n}\n","import {color} from \"d3-color\";\nimport rgb from \"./rgb\";\nimport array from \"./array\";\nimport date from \"./date\";\nimport number from \"./number\";\nimport object from \"./object\";\nimport string from \"./string\";\nimport constant from \"./constant\";\n\nexport default function(a, b) {\n var t = typeof b, c;\n return b == null || t === \"boolean\" ? constant(b)\n : (t === \"number\" ? number\n : t === \"string\" ? ((c = color(b)) ? (b = c, rgb) : string)\n : b instanceof color ? rgb\n : b instanceof Date ? date\n : Array.isArray(b) ? array\n : typeof b.valueOf !== \"function\" && typeof b.toString !== \"function\" || isNaN(b) ? object\n : number)(a, b);\n}\n","export default function(a, b) {\n return a = +a, b -= a, function(t) {\n return Math.round(a + b * t);\n };\n}\n","var degrees = 180 / Math.PI;\n\nexport var identity = {\n translateX: 0,\n translateY: 0,\n rotate: 0,\n skewX: 0,\n scaleX: 1,\n scaleY: 1\n};\n\nexport default function(a, b, c, d, e, f) {\n var scaleX, scaleY, skewX;\n if (scaleX = Math.sqrt(a * a + b * b)) a /= scaleX, b /= scaleX;\n if (skewX = a * c + b * d) c -= a * skewX, d -= b * skewX;\n if (scaleY = Math.sqrt(c * c + d * d)) c /= scaleY, d /= scaleY, skewX /= scaleY;\n if (a * d < b * c) a = -a, b = -b, skewX = -skewX, scaleX = -scaleX;\n return {\n translateX: e,\n translateY: f,\n rotate: Math.atan2(b, a) * degrees,\n skewX: Math.atan(skewX) * degrees,\n scaleX: scaleX,\n scaleY: scaleY\n };\n}\n","import decompose, {identity} from \"./decompose\";\n\nvar cssNode,\n cssRoot,\n cssView,\n svgNode;\n\nexport function parseCss(value) {\n if (value === \"none\") return identity;\n if (!cssNode) cssNode = document.createElement(\"DIV\"), cssRoot = document.documentElement, cssView = document.defaultView;\n cssNode.style.transform = value;\n value = cssView.getComputedStyle(cssRoot.appendChild(cssNode), null).getPropertyValue(\"transform\");\n cssRoot.removeChild(cssNode);\n value = value.slice(7, -1).split(\",\");\n return decompose(+value[0], +value[1], +value[2], +value[3], +value[4], +value[5]);\n}\n\nexport function parseSvg(value) {\n if (value == null) return identity;\n if (!svgNode) svgNode = document.createElementNS(\"http://www.w3.org/2000/svg\", \"g\");\n svgNode.setAttribute(\"transform\", value);\n if (!(value = svgNode.transform.baseVal.consolidate())) return identity;\n value = value.matrix;\n return decompose(value.a, value.b, value.c, value.d, value.e, value.f);\n}\n","import number from \"../number\";\nimport {parseCss, parseSvg} from \"./parse\";\n\nfunction interpolateTransform(parse, pxComma, pxParen, degParen) {\n\n function pop(s) {\n return s.length ? s.pop() + \" \" : \"\";\n }\n\n function translate(xa, ya, xb, yb, s, q) {\n if (xa !== xb || ya !== yb) {\n var i = s.push(\"translate(\", null, pxComma, null, pxParen);\n q.push({i: i - 4, x: number(xa, xb)}, {i: i - 2, x: number(ya, yb)});\n } else if (xb || yb) {\n s.push(\"translate(\" + xb + pxComma + yb + pxParen);\n }\n }\n\n function rotate(a, b, s, q) {\n if (a !== b) {\n if (a - b > 180) b += 360; else if (b - a > 180) a += 360; // shortest path\n q.push({i: s.push(pop(s) + \"rotate(\", null, degParen) - 2, x: number(a, b)});\n } else if (b) {\n s.push(pop(s) + \"rotate(\" + b + degParen);\n }\n }\n\n function skewX(a, b, s, q) {\n if (a !== b) {\n q.push({i: s.push(pop(s) + \"skewX(\", null, degParen) - 2, x: number(a, b)});\n } else if (b) {\n s.push(pop(s) + \"skewX(\" + b + degParen);\n }\n }\n\n function scale(xa, ya, xb, yb, s, q) {\n if (xa !== xb || ya !== yb) {\n var i = s.push(pop(s) + \"scale(\", null, \",\", null, \")\");\n q.push({i: i - 4, x: number(xa, xb)}, {i: i - 2, x: number(ya, yb)});\n } else if (xb !== 1 || yb !== 1) {\n s.push(pop(s) + \"scale(\" + xb + \",\" + yb + \")\");\n }\n }\n\n return function(a, b) {\n var s = [], // string constants and placeholders\n q = []; // number interpolators\n a = parse(a), b = parse(b);\n translate(a.translateX, a.translateY, b.translateX, b.translateY, s, q);\n rotate(a.rotate, b.rotate, s, q);\n skewX(a.skewX, b.skewX, s, q);\n scale(a.scaleX, a.scaleY, b.scaleX, b.scaleY, s, q);\n a = b = null; // gc\n return function(t) {\n var i = -1, n = q.length, o;\n while (++i < n) s[(o = q[i]).i] = o.x(t);\n return s.join(\"\");\n };\n };\n}\n\nexport var interpolateTransformCss = interpolateTransform(parseCss, \"px, \", \"px)\", \"deg)\");\nexport var interpolateTransformSvg = interpolateTransform(parseSvg, \", \", \")\", \")\");\n","var rho = Math.SQRT2,\n rho2 = 2,\n rho4 = 4,\n epsilon2 = 1e-12;\n\nfunction cosh(x) {\n return ((x = Math.exp(x)) + 1 / x) / 2;\n}\n\nfunction sinh(x) {\n return ((x = Math.exp(x)) - 1 / x) / 2;\n}\n\nfunction tanh(x) {\n return ((x = Math.exp(2 * x)) - 1) / (x + 1);\n}\n\n// p0 = [ux0, uy0, w0]\n// p1 = [ux1, uy1, w1]\nexport default function(p0, p1) {\n var ux0 = p0[0], uy0 = p0[1], w0 = p0[2],\n ux1 = p1[0], uy1 = p1[1], w1 = p1[2],\n dx = ux1 - ux0,\n dy = uy1 - uy0,\n d2 = dx * dx + dy * dy,\n i,\n S;\n\n // Special case for u0 ≅ u1.\n if (d2 < epsilon2) {\n S = Math.log(w1 / w0) / rho;\n i = function(t) {\n return [\n ux0 + t * dx,\n uy0 + t * dy,\n w0 * Math.exp(rho * t * S)\n ];\n }\n }\n\n // General case.\n else {\n var d1 = Math.sqrt(d2),\n b0 = (w1 * w1 - w0 * w0 + rho4 * d2) / (2 * w0 * rho2 * d1),\n b1 = (w1 * w1 - w0 * w0 - rho4 * d2) / (2 * w1 * rho2 * d1),\n r0 = Math.log(Math.sqrt(b0 * b0 + 1) - b0),\n r1 = Math.log(Math.sqrt(b1 * b1 + 1) - b1);\n S = (r1 - r0) / rho;\n i = function(t) {\n var s = t * S,\n coshr0 = cosh(r0),\n u = w0 / (rho2 * d1) * (coshr0 * tanh(rho * s + r0) - sinh(r0));\n return [\n ux0 + u * dx,\n uy0 + u * dy,\n w0 * coshr0 / cosh(rho * s + r0)\n ];\n }\n }\n\n i.duration = S * 1000;\n\n return i;\n}\n","import {hsl as colorHsl} from \"d3-color\";\nimport color, {hue} from \"./color\";\n\nfunction hsl(hue) {\n return function(start, end) {\n var h = hue((start = colorHsl(start)).h, (end = colorHsl(end)).h),\n s = color(start.s, end.s),\n l = color(start.l, end.l),\n opacity = color(start.opacity, end.opacity);\n return function(t) {\n start.h = h(t);\n start.s = s(t);\n start.l = l(t);\n start.opacity = opacity(t);\n return start + \"\";\n };\n }\n}\n\nexport default hsl(hue);\nexport var hslLong = hsl(color);\n","import {lab as colorLab} from \"d3-color\";\nimport color from \"./color\";\n\nexport default function lab(start, end) {\n var l = color((start = colorLab(start)).l, (end = colorLab(end)).l),\n a = color(start.a, end.a),\n b = color(start.b, end.b),\n opacity = color(start.opacity, end.opacity);\n return function(t) {\n start.l = l(t);\n start.a = a(t);\n start.b = b(t);\n start.opacity = opacity(t);\n return start + \"\";\n };\n}\n","import {hcl as colorHcl} from \"d3-color\";\nimport color, {hue} from \"./color\";\n\nfunction hcl(hue) {\n return function(start, end) {\n var h = hue((start = colorHcl(start)).h, (end = colorHcl(end)).h),\n c = color(start.c, end.c),\n l = color(start.l, end.l),\n opacity = color(start.opacity, end.opacity);\n return function(t) {\n start.h = h(t);\n start.c = c(t);\n start.l = l(t);\n start.opacity = opacity(t);\n return start + \"\";\n };\n }\n}\n\nexport default hcl(hue);\nexport var hclLong = hcl(color);\n","import {cubehelix as colorCubehelix} from \"d3-color\";\nimport color, {hue} from \"./color\";\n\nfunction cubehelix(hue) {\n return (function cubehelixGamma(y) {\n y = +y;\n\n function cubehelix(start, end) {\n var h = hue((start = colorCubehelix(start)).h, (end = colorCubehelix(end)).h),\n s = color(start.s, end.s),\n l = color(start.l, end.l),\n opacity = color(start.opacity, end.opacity);\n return function(t) {\n start.h = h(t);\n start.s = s(t);\n start.l = l(Math.pow(t, y));\n start.opacity = opacity(t);\n return start + \"\";\n };\n }\n\n cubehelix.gamma = cubehelixGamma;\n\n return cubehelix;\n })(1);\n}\n\nexport default cubehelix(hue);\nexport var cubehelixLong = cubehelix(color);\n","export default function piecewise(interpolate, values) {\n var i = 0, n = values.length - 1, v = values[0], I = new Array(n < 0 ? 0 : n);\n while (i < n) I[i] = interpolate(v, v = values[++i]);\n return function(t) {\n var i = Math.max(0, Math.min(n - 1, Math.floor(t *= n)));\n return I[i](t - i);\n };\n}\n","export default function(interpolator, n) {\n var samples = new Array(n);\n for (var i = 0; i < n; ++i) samples[i] = interpolator(i / (n - 1));\n return samples;\n}\n","export {default as interpolate} from \"./src/value\";\nexport {default as interpolateArray} from \"./src/array\";\nexport {default as interpolateBasis} from \"./src/basis\";\nexport {default as interpolateBasisClosed} from \"./src/basisClosed\";\nexport {default as interpolateDate} from \"./src/date\";\nexport {default as interpolateNumber} from \"./src/number\";\nexport {default as interpolateObject} from \"./src/object\";\nexport {default as interpolateRound} from \"./src/round\";\nexport {default as interpolateString} from \"./src/string\";\nexport {interpolateTransformCss, interpolateTransformSvg} from \"./src/transform/index\";\nexport {default as interpolateZoom} from \"./src/zoom\";\nexport {default as interpolateRgb, rgbBasis as interpolateRgbBasis, rgbBasisClosed as interpolateRgbBasisClosed} from \"./src/rgb\";\nexport {default as interpolateHsl, hslLong as interpolateHslLong} from \"./src/hsl\";\nexport {default as interpolateLab} from \"./src/lab\";\nexport {default as interpolateHcl, hclLong as interpolateHclLong} from \"./src/hcl\";\nexport {default as interpolateCubehelix, cubehelixLong as interpolateCubehelixLong} from \"./src/cubehelix\";\nexport {default as piecewise} from \"./src/piecewise\";\nexport {default as quantize} from \"./src/quantize\";\n","var frame = 0, // is an animation frame pending?\n timeout = 0, // is a timeout pending?\n interval = 0, // are any timers active?\n pokeDelay = 1000, // how frequently we check for clock skew\n taskHead,\n taskTail,\n clockLast = 0,\n clockNow = 0,\n clockSkew = 0,\n clock = typeof performance === \"object\" && performance.now ? performance : Date,\n setFrame = typeof window === \"object\" && window.requestAnimationFrame ? window.requestAnimationFrame.bind(window) : function(f) { setTimeout(f, 17); };\n\nexport function now() {\n return clockNow || (setFrame(clearNow), clockNow = clock.now() + clockSkew);\n}\n\nfunction clearNow() {\n clockNow = 0;\n}\n\nexport function Timer() {\n this._call =\n this._time =\n this._next = null;\n}\n\nTimer.prototype = timer.prototype = {\n constructor: Timer,\n restart: function(callback, delay, time) {\n if (typeof callback !== \"function\") throw new TypeError(\"callback is not a function\");\n time = (time == null ? now() : +time) + (delay == null ? 0 : +delay);\n if (!this._next && taskTail !== this) {\n if (taskTail) taskTail._next = this;\n else taskHead = this;\n taskTail = this;\n }\n this._call = callback;\n this._time = time;\n sleep();\n },\n stop: function() {\n if (this._call) {\n this._call = null;\n this._time = Infinity;\n sleep();\n }\n }\n};\n\nexport function timer(callback, delay, time) {\n var t = new Timer;\n t.restart(callback, delay, time);\n return t;\n}\n\nexport function timerFlush() {\n now(); // Get the current time, if not already set.\n ++frame; // Pretend we’ve set an alarm, if we haven’t already.\n var t = taskHead, e;\n while (t) {\n if ((e = clockNow - t._time) >= 0) t._call.call(null, e);\n t = t._next;\n }\n --frame;\n}\n\nfunction wake() {\n clockNow = (clockLast = clock.now()) + clockSkew;\n frame = timeout = 0;\n try {\n timerFlush();\n } finally {\n frame = 0;\n nap();\n clockNow = 0;\n }\n}\n\nfunction poke() {\n var now = clock.now(), delay = now - clockLast;\n if (delay > pokeDelay) clockSkew -= delay, clockLast = now;\n}\n\nfunction nap() {\n var t0, t1 = taskHead, t2, time = Infinity;\n while (t1) {\n if (t1._call) {\n if (time > t1._time) time = t1._time;\n t0 = t1, t1 = t1._next;\n } else {\n t2 = t1._next, t1._next = null;\n t1 = t0 ? t0._next = t2 : taskHead = t2;\n }\n }\n taskTail = t0;\n sleep(time);\n}\n\nfunction sleep(time) {\n if (frame) return; // Soonest alarm already set, or will be.\n if (timeout) timeout = clearTimeout(timeout);\n var delay = time - clockNow; // Strictly less than if we recomputed clockNow.\n if (delay > 24) {\n if (time < Infinity) timeout = setTimeout(wake, time - clock.now() - clockSkew);\n if (interval) interval = clearInterval(interval);\n } else {\n if (!interval) clockLast = clock.now(), interval = setInterval(poke, pokeDelay);\n frame = 1, setFrame(wake);\n }\n}\n","import {Timer} from \"./timer\";\n\nexport default function(callback, delay, time) {\n var t = new Timer;\n delay = delay == null ? 0 : +delay;\n t.restart(function(elapsed) {\n t.stop();\n callback(elapsed + delay);\n }, delay, time);\n return t;\n}\n","import {Timer, now} from \"./timer\";\n\nexport default function(callback, delay, time) {\n var t = new Timer, total = delay;\n if (delay == null) return t.restart(callback, delay, time), t;\n delay = +delay, time = time == null ? now() : +time;\n t.restart(function tick(elapsed) {\n elapsed += total;\n t.restart(tick, total += delay, time);\n callback(elapsed);\n }, delay, time);\n return t;\n}\n","export {\n now,\n timer,\n timerFlush\n} from \"./src/timer\";\n\nexport {\n default as timeout\n} from \"./src/timeout\";\n\nexport {\n default as interval\n} from \"./src/interval\";\n","import {dispatch} from \"d3-dispatch\";\nimport {timer, timeout} from \"d3-timer\";\n\nvar emptyOn = dispatch(\"start\", \"end\", \"interrupt\");\nvar emptyTween = [];\n\nexport var CREATED = 0;\nexport var SCHEDULED = 1;\nexport var STARTING = 2;\nexport var STARTED = 3;\nexport var RUNNING = 4;\nexport var ENDING = 5;\nexport var ENDED = 6;\n\nexport default function(node, name, id, index, group, timing) {\n var schedules = node.__transition;\n if (!schedules) node.__transition = {};\n else if (id in schedules) return;\n create(node, id, {\n name: name,\n index: index, // For context during callback.\n group: group, // For context during callback.\n on: emptyOn,\n tween: emptyTween,\n time: timing.time,\n delay: timing.delay,\n duration: timing.duration,\n ease: timing.ease,\n timer: null,\n state: CREATED\n });\n}\n\nexport function init(node, id) {\n var schedule = get(node, id);\n if (schedule.state > CREATED) throw new Error(\"too late; already scheduled\");\n return schedule;\n}\n\nexport function set(node, id) {\n var schedule = get(node, id);\n if (schedule.state > STARTING) throw new Error(\"too late; already started\");\n return schedule;\n}\n\nexport function get(node, id) {\n var schedule = node.__transition;\n if (!schedule || !(schedule = schedule[id])) throw new Error(\"transition not found\");\n return schedule;\n}\n\nfunction create(node, id, self) {\n var schedules = node.__transition,\n tween;\n\n // Initialize the self timer when the transition is created.\n // Note the actual delay is not known until the first callback!\n schedules[id] = self;\n self.timer = timer(schedule, 0, self.time);\n\n function schedule(elapsed) {\n self.state = SCHEDULED;\n self.timer.restart(start, self.delay, self.time);\n\n // If the elapsed delay is less than our first sleep, start immediately.\n if (self.delay <= elapsed) start(elapsed - self.delay);\n }\n\n function start(elapsed) {\n var i, j, n, o;\n\n // If the state is not SCHEDULED, then we previously errored on start.\n if (self.state !== SCHEDULED) return stop();\n\n for (i in schedules) {\n o = schedules[i];\n if (o.name !== self.name) continue;\n\n // While this element already has a starting transition during this frame,\n // defer starting an interrupting transition until that transition has a\n // chance to tick (and possibly end); see d3/d3-transition#54!\n if (o.state === STARTED) return timeout(start);\n\n // Interrupt the active transition, if any.\n // Dispatch the interrupt event.\n if (o.state === RUNNING) {\n o.state = ENDED;\n o.timer.stop();\n o.on.call(\"interrupt\", node, node.__data__, o.index, o.group);\n delete schedules[i];\n }\n\n // Cancel any pre-empted transitions. No interrupt event is dispatched\n // because the cancelled transitions never started. Note that this also\n // removes this transition from the pending list!\n else if (+i < id) {\n o.state = ENDED;\n o.timer.stop();\n delete schedules[i];\n }\n }\n\n // Defer the first tick to end of the current frame; see d3/d3#1576.\n // Note the transition may be canceled after start and before the first tick!\n // Note this must be scheduled before the start event; see d3/d3-transition#16!\n // Assuming this is successful, subsequent callbacks go straight to tick.\n timeout(function() {\n if (self.state === STARTED) {\n self.state = RUNNING;\n self.timer.restart(tick, self.delay, self.time);\n tick(elapsed);\n }\n });\n\n // Dispatch the start event.\n // Note this must be done before the tween are initialized.\n self.state = STARTING;\n self.on.call(\"start\", node, node.__data__, self.index, self.group);\n if (self.state !== STARTING) return; // interrupted\n self.state = STARTED;\n\n // Initialize the tween, deleting null tween.\n tween = new Array(n = self.tween.length);\n for (i = 0, j = -1; i < n; ++i) {\n if (o = self.tween[i].value.call(node, node.__data__, self.index, self.group)) {\n tween[++j] = o;\n }\n }\n tween.length = j + 1;\n }\n\n function tick(elapsed) {\n var t = elapsed < self.duration ? self.ease.call(null, elapsed / self.duration) : (self.timer.restart(stop), self.state = ENDING, 1),\n i = -1,\n n = tween.length;\n\n while (++i < n) {\n tween[i].call(null, t);\n }\n\n // Dispatch the end event.\n if (self.state === ENDING) {\n self.on.call(\"end\", node, node.__data__, self.index, self.group);\n stop();\n }\n }\n\n function stop() {\n self.state = ENDED;\n self.timer.stop();\n delete schedules[id];\n for (var i in schedules) return; // eslint-disable-line no-unused-vars\n delete node.__transition;\n }\n}\n","import {STARTING, ENDING, ENDED} from \"./transition/schedule\";\n\nexport default function(node, name) {\n var schedules = node.__transition,\n schedule,\n active,\n empty = true,\n i;\n\n if (!schedules) return;\n\n name = name == null ? null : name + \"\";\n\n for (i in schedules) {\n if ((schedule = schedules[i]).name !== name) { empty = false; continue; }\n active = schedule.state > STARTING && schedule.state < ENDING;\n schedule.state = ENDED;\n schedule.timer.stop();\n if (active) schedule.on.call(\"interrupt\", node, node.__data__, schedule.index, schedule.group);\n delete schedules[i];\n }\n\n if (empty) delete node.__transition;\n}\n","import interrupt from \"../interrupt\";\n\nexport default function(name) {\n return this.each(function() {\n interrupt(this, name);\n });\n}\n","import {get, set} from \"./schedule\";\n\nfunction tweenRemove(id, name) {\n var tween0, tween1;\n return function() {\n var schedule = set(this, id),\n tween = schedule.tween;\n\n // If this node shared tween with the previous node,\n // just assign the updated shared tween and we’re done!\n // Otherwise, copy-on-write.\n if (tween !== tween0) {\n tween1 = tween0 = tween;\n for (var i = 0, n = tween1.length; i < n; ++i) {\n if (tween1[i].name === name) {\n tween1 = tween1.slice();\n tween1.splice(i, 1);\n break;\n }\n }\n }\n\n schedule.tween = tween1;\n };\n}\n\nfunction tweenFunction(id, name, value) {\n var tween0, tween1;\n if (typeof value !== \"function\") throw new Error;\n return function() {\n var schedule = set(this, id),\n tween = schedule.tween;\n\n // If this node shared tween with the previous node,\n // just assign the updated shared tween and we’re done!\n // Otherwise, copy-on-write.\n if (tween !== tween0) {\n tween1 = (tween0 = tween).slice();\n for (var t = {name: name, value: value}, i = 0, n = tween1.length; i < n; ++i) {\n if (tween1[i].name === name) {\n tween1[i] = t;\n break;\n }\n }\n if (i === n) tween1.push(t);\n }\n\n schedule.tween = tween1;\n };\n}\n\nexport default function(name, value) {\n var id = this._id;\n\n name += \"\";\n\n if (arguments.length < 2) {\n var tween = get(this.node(), id).tween;\n for (var i = 0, n = tween.length, t; i < n; ++i) {\n if ((t = tween[i]).name === name) {\n return t.value;\n }\n }\n return null;\n }\n\n return this.each((value == null ? tweenRemove : tweenFunction)(id, name, value));\n}\n\nexport function tweenValue(transition, name, value) {\n var id = transition._id;\n\n transition.each(function() {\n var schedule = set(this, id);\n (schedule.value || (schedule.value = {}))[name] = value.apply(this, arguments);\n });\n\n return function(node) {\n return get(node, id).value[name];\n };\n}\n","import {color} from \"d3-color\";\nimport {interpolateNumber, interpolateRgb, interpolateString} from \"d3-interpolate\";\n\nexport default function(a, b) {\n var c;\n return (typeof b === \"number\" ? interpolateNumber\n : b instanceof color ? interpolateRgb\n : (c = color(b)) ? (b = c, interpolateRgb)\n : interpolateString)(a, b);\n}\n","import {interpolateTransformSvg as interpolateTransform} from \"d3-interpolate\";\nimport {namespace} from \"d3-selection\";\nimport {tweenValue} from \"./tween\";\nimport interpolate from \"./interpolate\";\n\nfunction attrRemove(name) {\n return function() {\n this.removeAttribute(name);\n };\n}\n\nfunction attrRemoveNS(fullname) {\n return function() {\n this.removeAttributeNS(fullname.space, fullname.local);\n };\n}\n\nfunction attrConstant(name, interpolate, value1) {\n var value00,\n interpolate0;\n return function() {\n var value0 = this.getAttribute(name);\n return value0 === value1 ? null\n : value0 === value00 ? interpolate0\n : interpolate0 = interpolate(value00 = value0, value1);\n };\n}\n\nfunction attrConstantNS(fullname, interpolate, value1) {\n var value00,\n interpolate0;\n return function() {\n var value0 = this.getAttributeNS(fullname.space, fullname.local);\n return value0 === value1 ? null\n : value0 === value00 ? interpolate0\n : interpolate0 = interpolate(value00 = value0, value1);\n };\n}\n\nfunction attrFunction(name, interpolate, value) {\n var value00,\n value10,\n interpolate0;\n return function() {\n var value0, value1 = value(this);\n if (value1 == null) return void this.removeAttribute(name);\n value0 = this.getAttribute(name);\n return value0 === value1 ? null\n : value0 === value00 && value1 === value10 ? interpolate0\n : interpolate0 = interpolate(value00 = value0, value10 = value1);\n };\n}\n\nfunction attrFunctionNS(fullname, interpolate, value) {\n var value00,\n value10,\n interpolate0;\n return function() {\n var value0, value1 = value(this);\n if (value1 == null) return void this.removeAttributeNS(fullname.space, fullname.local);\n value0 = this.getAttributeNS(fullname.space, fullname.local);\n return value0 === value1 ? null\n : value0 === value00 && value1 === value10 ? interpolate0\n : interpolate0 = interpolate(value00 = value0, value10 = value1);\n };\n}\n\nexport default function(name, value) {\n var fullname = namespace(name), i = fullname === \"transform\" ? interpolateTransform : interpolate;\n return this.attrTween(name, typeof value === \"function\"\n ? (fullname.local ? attrFunctionNS : attrFunction)(fullname, i, tweenValue(this, \"attr.\" + name, value))\n : value == null ? (fullname.local ? attrRemoveNS : attrRemove)(fullname)\n : (fullname.local ? attrConstantNS : attrConstant)(fullname, i, value + \"\"));\n}\n","import {namespace} from \"d3-selection\";\n\nfunction attrTweenNS(fullname, value) {\n function tween() {\n var node = this, i = value.apply(node, arguments);\n return i && function(t) {\n node.setAttributeNS(fullname.space, fullname.local, i(t));\n };\n }\n tween._value = value;\n return tween;\n}\n\nfunction attrTween(name, value) {\n function tween() {\n var node = this, i = value.apply(node, arguments);\n return i && function(t) {\n node.setAttribute(name, i(t));\n };\n }\n tween._value = value;\n return tween;\n}\n\nexport default function(name, value) {\n var key = \"attr.\" + name;\n if (arguments.length < 2) return (key = this.tween(key)) && key._value;\n if (value == null) return this.tween(key, null);\n if (typeof value !== \"function\") throw new Error;\n var fullname = namespace(name);\n return this.tween(key, (fullname.local ? attrTweenNS : attrTween)(fullname, value));\n}\n","import {get, init} from \"./schedule\";\n\nfunction delayFunction(id, value) {\n return function() {\n init(this, id).delay = +value.apply(this, arguments);\n };\n}\n\nfunction delayConstant(id, value) {\n return value = +value, function() {\n init(this, id).delay = value;\n };\n}\n\nexport default function(value) {\n var id = this._id;\n\n return arguments.length\n ? this.each((typeof value === \"function\"\n ? delayFunction\n : delayConstant)(id, value))\n : get(this.node(), id).delay;\n}\n","import {get, set} from \"./schedule\";\n\nfunction durationFunction(id, value) {\n return function() {\n set(this, id).duration = +value.apply(this, arguments);\n };\n}\n\nfunction durationConstant(id, value) {\n return value = +value, function() {\n set(this, id).duration = value;\n };\n}\n\nexport default function(value) {\n var id = this._id;\n\n return arguments.length\n ? this.each((typeof value === \"function\"\n ? durationFunction\n : durationConstant)(id, value))\n : get(this.node(), id).duration;\n}\n","import {get, set} from \"./schedule\";\n\nfunction easeConstant(id, value) {\n if (typeof value !== \"function\") throw new Error;\n return function() {\n set(this, id).ease = value;\n };\n}\n\nexport default function(value) {\n var id = this._id;\n\n return arguments.length\n ? this.each(easeConstant(id, value))\n : get(this.node(), id).ease;\n}\n","import {matcher} from \"d3-selection\";\nimport {Transition} from \"./index\";\n\nexport default function(match) {\n if (typeof match !== \"function\") match = matcher(match);\n\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = [], node, i = 0; i < n; ++i) {\n if ((node = group[i]) && match.call(node, node.__data__, i, group)) {\n subgroup.push(node);\n }\n }\n }\n\n return new Transition(subgroups, this._parents, this._name, this._id);\n}\n","import {Transition} from \"./index\";\n\nexport default function(transition) {\n if (transition._id !== this._id) throw new Error;\n\n for (var groups0 = this._groups, groups1 = transition._groups, m0 = groups0.length, m1 = groups1.length, m = Math.min(m0, m1), merges = new Array(m0), j = 0; j < m; ++j) {\n for (var group0 = groups0[j], group1 = groups1[j], n = group0.length, merge = merges[j] = new Array(n), node, i = 0; i < n; ++i) {\n if (node = group0[i] || group1[i]) {\n merge[i] = node;\n }\n }\n }\n\n for (; j < m0; ++j) {\n merges[j] = groups0[j];\n }\n\n return new Transition(merges, this._parents, this._name, this._id);\n}\n","import {get, set, init} from \"./schedule\";\n\nfunction start(name) {\n return (name + \"\").trim().split(/^|\\s+/).every(function(t) {\n var i = t.indexOf(\".\");\n if (i >= 0) t = t.slice(0, i);\n return !t || t === \"start\";\n });\n}\n\nfunction onFunction(id, name, listener) {\n var on0, on1, sit = start(name) ? init : set;\n return function() {\n var schedule = sit(this, id),\n on = schedule.on;\n\n // If this node shared a dispatch with the previous node,\n // just assign the updated shared dispatch and we’re done!\n // Otherwise, copy-on-write.\n if (on !== on0) (on1 = (on0 = on).copy()).on(name, listener);\n\n schedule.on = on1;\n };\n}\n\nexport default function(name, listener) {\n var id = this._id;\n\n return arguments.length < 2\n ? get(this.node(), id).on.on(name)\n : this.each(onFunction(id, name, listener));\n}\n","function removeFunction(id) {\n return function() {\n var parent = this.parentNode;\n for (var i in this.__transition) if (+i !== id) return;\n if (parent) parent.removeChild(this);\n };\n}\n\nexport default function() {\n return this.on(\"end.remove\", removeFunction(this._id));\n}\n","import {selector} from \"d3-selection\";\nimport {Transition} from \"./index\";\nimport schedule, {get} from \"./schedule\";\n\nexport default function(select) {\n var name = this._name,\n id = this._id;\n\n if (typeof select !== \"function\") select = selector(select);\n\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = new Array(n), node, subnode, i = 0; i < n; ++i) {\n if ((node = group[i]) && (subnode = select.call(node, node.__data__, i, group))) {\n if (\"__data__\" in node) subnode.__data__ = node.__data__;\n subgroup[i] = subnode;\n schedule(subgroup[i], name, id, i, subgroup, get(node, id));\n }\n }\n }\n\n return new Transition(subgroups, this._parents, name, id);\n}\n","import {selectorAll} from \"d3-selection\";\nimport {Transition} from \"./index\";\nimport schedule, {get} from \"./schedule\";\n\nexport default function(select) {\n var name = this._name,\n id = this._id;\n\n if (typeof select !== \"function\") select = selectorAll(select);\n\n for (var groups = this._groups, m = groups.length, subgroups = [], parents = [], j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n for (var children = select.call(node, node.__data__, i, group), child, inherit = get(node, id), k = 0, l = children.length; k < l; ++k) {\n if (child = children[k]) {\n schedule(child, name, id, k, children, inherit);\n }\n }\n subgroups.push(children);\n parents.push(node);\n }\n }\n }\n\n return new Transition(subgroups, parents, name, id);\n}\n","import {selection} from \"d3-selection\";\n\nvar Selection = selection.prototype.constructor;\n\nexport default function() {\n return new Selection(this._groups, this._parents);\n}\n","import {interpolateTransformCss as interpolateTransform} from \"d3-interpolate\";\nimport {style} from \"d3-selection\";\nimport {tweenValue} from \"./tween\";\nimport interpolate from \"./interpolate\";\n\nfunction styleRemove(name, interpolate) {\n var value00,\n value10,\n interpolate0;\n return function() {\n var value0 = style(this, name),\n value1 = (this.style.removeProperty(name), style(this, name));\n return value0 === value1 ? null\n : value0 === value00 && value1 === value10 ? interpolate0\n : interpolate0 = interpolate(value00 = value0, value10 = value1);\n };\n}\n\nfunction styleRemoveEnd(name) {\n return function() {\n this.style.removeProperty(name);\n };\n}\n\nfunction styleConstant(name, interpolate, value1) {\n var value00,\n interpolate0;\n return function() {\n var value0 = style(this, name);\n return value0 === value1 ? null\n : value0 === value00 ? interpolate0\n : interpolate0 = interpolate(value00 = value0, value1);\n };\n}\n\nfunction styleFunction(name, interpolate, value) {\n var value00,\n value10,\n interpolate0;\n return function() {\n var value0 = style(this, name),\n value1 = value(this);\n if (value1 == null) value1 = (this.style.removeProperty(name), style(this, name));\n return value0 === value1 ? null\n : value0 === value00 && value1 === value10 ? interpolate0\n : interpolate0 = interpolate(value00 = value0, value10 = value1);\n };\n}\n\nexport default function(name, value, priority) {\n var i = (name += \"\") === \"transform\" ? interpolateTransform : interpolate;\n return value == null ? this\n .styleTween(name, styleRemove(name, i))\n .on(\"end.style.\" + name, styleRemoveEnd(name))\n : this.styleTween(name, typeof value === \"function\"\n ? styleFunction(name, i, tweenValue(this, \"style.\" + name, value))\n : styleConstant(name, i, value + \"\"), priority);\n}\n","function styleTween(name, value, priority) {\n function tween() {\n var node = this, i = value.apply(node, arguments);\n return i && function(t) {\n node.style.setProperty(name, i(t), priority);\n };\n }\n tween._value = value;\n return tween;\n}\n\nexport default function(name, value, priority) {\n var key = \"style.\" + (name += \"\");\n if (arguments.length < 2) return (key = this.tween(key)) && key._value;\n if (value == null) return this.tween(key, null);\n if (typeof value !== \"function\") throw new Error;\n return this.tween(key, styleTween(name, value, priority == null ? \"\" : priority));\n}\n","import {tweenValue} from \"./tween\";\n\nfunction textConstant(value) {\n return function() {\n this.textContent = value;\n };\n}\n\nfunction textFunction(value) {\n return function() {\n var value1 = value(this);\n this.textContent = value1 == null ? \"\" : value1;\n };\n}\n\nexport default function(value) {\n return this.tween(\"text\", typeof value === \"function\"\n ? textFunction(tweenValue(this, \"text\", value))\n : textConstant(value == null ? \"\" : value + \"\"));\n}\n","import {Transition, newId} from \"./index\";\nimport schedule, {get} from \"./schedule\";\n\nexport default function() {\n var name = this._name,\n id0 = this._id,\n id1 = newId();\n\n for (var groups = this._groups, m = groups.length, j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n var inherit = get(node, id0);\n schedule(node, name, id1, i, group, {\n time: inherit.time + inherit.delay + inherit.duration,\n delay: 0,\n duration: inherit.duration,\n ease: inherit.ease\n });\n }\n }\n }\n\n return new Transition(groups, this._parents, name, id1);\n}\n","import {selection} from \"d3-selection\";\nimport transition_attr from \"./attr\";\nimport transition_attrTween from \"./attrTween\";\nimport transition_delay from \"./delay\";\nimport transition_duration from \"./duration\";\nimport transition_ease from \"./ease\";\nimport transition_filter from \"./filter\";\nimport transition_merge from \"./merge\";\nimport transition_on from \"./on\";\nimport transition_remove from \"./remove\";\nimport transition_select from \"./select\";\nimport transition_selectAll from \"./selectAll\";\nimport transition_selection from \"./selection\";\nimport transition_style from \"./style\";\nimport transition_styleTween from \"./styleTween\";\nimport transition_text from \"./text\";\nimport transition_transition from \"./transition\";\nimport transition_tween from \"./tween\";\n\nvar id = 0;\n\nexport function Transition(groups, parents, name, id) {\n this._groups = groups;\n this._parents = parents;\n this._name = name;\n this._id = id;\n}\n\nexport default function transition(name) {\n return selection().transition(name);\n}\n\nexport function newId() {\n return ++id;\n}\n\nvar selection_prototype = selection.prototype;\n\nTransition.prototype = transition.prototype = {\n constructor: Transition,\n select: transition_select,\n selectAll: transition_selectAll,\n filter: transition_filter,\n merge: transition_merge,\n selection: transition_selection,\n transition: transition_transition,\n call: selection_prototype.call,\n nodes: selection_prototype.nodes,\n node: selection_prototype.node,\n size: selection_prototype.size,\n empty: selection_prototype.empty,\n each: selection_prototype.each,\n on: transition_on,\n attr: transition_attr,\n attrTween: transition_attrTween,\n style: transition_style,\n styleTween: transition_styleTween,\n text: transition_text,\n remove: transition_remove,\n tween: transition_tween,\n delay: transition_delay,\n duration: transition_duration,\n ease: transition_ease\n};\n","export function linear(t) {\n return +t;\n}\n","export function quadIn(t) {\n return t * t;\n}\n\nexport function quadOut(t) {\n return t * (2 - t);\n}\n\nexport function quadInOut(t) {\n return ((t *= 2) <= 1 ? t * t : --t * (2 - t) + 1) / 2;\n}\n","export function cubicIn(t) {\n return t * t * t;\n}\n\nexport function cubicOut(t) {\n return --t * t * t + 1;\n}\n\nexport function cubicInOut(t) {\n return ((t *= 2) <= 1 ? t * t * t : (t -= 2) * t * t + 2) / 2;\n}\n","var exponent = 3;\n\nexport var polyIn = (function custom(e) {\n e = +e;\n\n function polyIn(t) {\n return Math.pow(t, e);\n }\n\n polyIn.exponent = custom;\n\n return polyIn;\n})(exponent);\n\nexport var polyOut = (function custom(e) {\n e = +e;\n\n function polyOut(t) {\n return 1 - Math.pow(1 - t, e);\n }\n\n polyOut.exponent = custom;\n\n return polyOut;\n})(exponent);\n\nexport var polyInOut = (function custom(e) {\n e = +e;\n\n function polyInOut(t) {\n return ((t *= 2) <= 1 ? Math.pow(t, e) : 2 - Math.pow(2 - t, e)) / 2;\n }\n\n polyInOut.exponent = custom;\n\n return polyInOut;\n})(exponent);\n","var pi = Math.PI,\n halfPi = pi / 2;\n\nexport function sinIn(t) {\n return 1 - Math.cos(t * halfPi);\n}\n\nexport function sinOut(t) {\n return Math.sin(t * halfPi);\n}\n\nexport function sinInOut(t) {\n return (1 - Math.cos(pi * t)) / 2;\n}\n","export function expIn(t) {\n return Math.pow(2, 10 * t - 10);\n}\n\nexport function expOut(t) {\n return 1 - Math.pow(2, -10 * t);\n}\n\nexport function expInOut(t) {\n return ((t *= 2) <= 1 ? Math.pow(2, 10 * t - 10) : 2 - Math.pow(2, 10 - 10 * t)) / 2;\n}\n","export function circleIn(t) {\n return 1 - Math.sqrt(1 - t * t);\n}\n\nexport function circleOut(t) {\n return Math.sqrt(1 - --t * t);\n}\n\nexport function circleInOut(t) {\n return ((t *= 2) <= 1 ? 1 - Math.sqrt(1 - t * t) : Math.sqrt(1 - (t -= 2) * t) + 1) / 2;\n}\n","var b1 = 4 / 11,\n b2 = 6 / 11,\n b3 = 8 / 11,\n b4 = 3 / 4,\n b5 = 9 / 11,\n b6 = 10 / 11,\n b7 = 15 / 16,\n b8 = 21 / 22,\n b9 = 63 / 64,\n b0 = 1 / b1 / b1;\n\nexport function bounceIn(t) {\n return 1 - bounceOut(1 - t);\n}\n\nexport function bounceOut(t) {\n return (t = +t) < b1 ? b0 * t * t : t < b3 ? b0 * (t -= b2) * t + b4 : t < b6 ? b0 * (t -= b5) * t + b7 : b0 * (t -= b8) * t + b9;\n}\n\nexport function bounceInOut(t) {\n return ((t *= 2) <= 1 ? 1 - bounceOut(1 - t) : bounceOut(t - 1) + 1) / 2;\n}\n","var overshoot = 1.70158;\n\nexport var backIn = (function custom(s) {\n s = +s;\n\n function backIn(t) {\n return t * t * ((s + 1) * t - s);\n }\n\n backIn.overshoot = custom;\n\n return backIn;\n})(overshoot);\n\nexport var backOut = (function custom(s) {\n s = +s;\n\n function backOut(t) {\n return --t * t * ((s + 1) * t + s) + 1;\n }\n\n backOut.overshoot = custom;\n\n return backOut;\n})(overshoot);\n\nexport var backInOut = (function custom(s) {\n s = +s;\n\n function backInOut(t) {\n return ((t *= 2) < 1 ? t * t * ((s + 1) * t - s) : (t -= 2) * t * ((s + 1) * t + s) + 2) / 2;\n }\n\n backInOut.overshoot = custom;\n\n return backInOut;\n})(overshoot);\n","var tau = 2 * Math.PI,\n amplitude = 1,\n period = 0.3;\n\nexport var elasticIn = (function custom(a, p) {\n var s = Math.asin(1 / (a = Math.max(1, a))) * (p /= tau);\n\n function elasticIn(t) {\n return a * Math.pow(2, 10 * --t) * Math.sin((s - t) / p);\n }\n\n elasticIn.amplitude = function(a) { return custom(a, p * tau); };\n elasticIn.period = function(p) { return custom(a, p); };\n\n return elasticIn;\n})(amplitude, period);\n\nexport var elasticOut = (function custom(a, p) {\n var s = Math.asin(1 / (a = Math.max(1, a))) * (p /= tau);\n\n function elasticOut(t) {\n return 1 - a * Math.pow(2, -10 * (t = +t)) * Math.sin((t + s) / p);\n }\n\n elasticOut.amplitude = function(a) { return custom(a, p * tau); };\n elasticOut.period = function(p) { return custom(a, p); };\n\n return elasticOut;\n})(amplitude, period);\n\nexport var elasticInOut = (function custom(a, p) {\n var s = Math.asin(1 / (a = Math.max(1, a))) * (p /= tau);\n\n function elasticInOut(t) {\n return ((t = t * 2 - 1) < 0\n ? a * Math.pow(2, 10 * t) * Math.sin((s - t) / p)\n : 2 - a * Math.pow(2, -10 * t) * Math.sin((s + t) / p)) / 2;\n }\n\n elasticInOut.amplitude = function(a) { return custom(a, p * tau); };\n elasticInOut.period = function(p) { return custom(a, p); };\n\n return elasticInOut;\n})(amplitude, period);\n","export {\n linear as easeLinear\n} from \"./src/linear\";\n\nexport {\n quadInOut as easeQuad,\n quadIn as easeQuadIn,\n quadOut as easeQuadOut,\n quadInOut as easeQuadInOut\n} from \"./src/quad\";\n\nexport {\n cubicInOut as easeCubic,\n cubicIn as easeCubicIn,\n cubicOut as easeCubicOut,\n cubicInOut as easeCubicInOut\n} from \"./src/cubic\";\n\nexport {\n polyInOut as easePoly,\n polyIn as easePolyIn,\n polyOut as easePolyOut,\n polyInOut as easePolyInOut\n} from \"./src/poly\";\n\nexport {\n sinInOut as easeSin,\n sinIn as easeSinIn,\n sinOut as easeSinOut,\n sinInOut as easeSinInOut\n} from \"./src/sin\";\n\nexport {\n expInOut as easeExp,\n expIn as easeExpIn,\n expOut as easeExpOut,\n expInOut as easeExpInOut\n} from \"./src/exp\";\n\nexport {\n circleInOut as easeCircle,\n circleIn as easeCircleIn,\n circleOut as easeCircleOut,\n circleInOut as easeCircleInOut\n} from \"./src/circle\";\n\nexport {\n bounceOut as easeBounce,\n bounceIn as easeBounceIn,\n bounceOut as easeBounceOut,\n bounceInOut as easeBounceInOut\n} from \"./src/bounce\";\n\nexport {\n backInOut as easeBack,\n backIn as easeBackIn,\n backOut as easeBackOut,\n backInOut as easeBackInOut\n} from \"./src/back\";\n\nexport {\n elasticOut as easeElastic,\n elasticIn as easeElasticIn,\n elasticOut as easeElasticOut,\n elasticInOut as easeElasticInOut\n} from \"./src/elastic\";\n","import {Transition, newId} from \"../transition/index\";\nimport schedule from \"../transition/schedule\";\nimport {easeCubicInOut} from \"d3-ease\";\nimport {now} from \"d3-timer\";\n\nvar defaultTiming = {\n time: null, // Set on use.\n delay: 0,\n duration: 250,\n ease: easeCubicInOut\n};\n\nfunction inherit(node, id) {\n var timing;\n while (!(timing = node.__transition) || !(timing = timing[id])) {\n if (!(node = node.parentNode)) {\n return defaultTiming.time = now(), defaultTiming;\n }\n }\n return timing;\n}\n\nexport default function(name) {\n var id,\n timing;\n\n if (name instanceof Transition) {\n id = name._id, name = name._name;\n } else {\n id = newId(), (timing = defaultTiming).time = now(), name = name == null ? null : name + \"\";\n }\n\n for (var groups = this._groups, m = groups.length, j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n schedule(node, name, id, i, group, timing || inherit(node, id));\n }\n }\n }\n\n return new Transition(groups, this._parents, name, id);\n}\n","import {selection} from \"d3-selection\";\nimport selection_interrupt from \"./interrupt\";\nimport selection_transition from \"./transition\";\n\nselection.prototype.interrupt = selection_interrupt;\nselection.prototype.transition = selection_transition;\n","import {Transition} from \"./transition/index\";\nimport {SCHEDULED} from \"./transition/schedule\";\n\nvar root = [null];\n\nexport default function(node, name) {\n var schedules = node.__transition,\n schedule,\n i;\n\n if (schedules) {\n name = name == null ? null : name + \"\";\n for (i in schedules) {\n if ((schedule = schedules[i]).state > SCHEDULED && schedule.name === name) {\n return new Transition([[node]], root, name, +i);\n }\n }\n }\n\n return null;\n}\n","import \"./src/selection/index\";\nexport {default as transition} from \"./src/transition/index\";\nexport {default as active} from \"./src/active\";\nexport {default as interrupt} from \"./src/interrupt\";\n","export default function(x) {\n return function() {\n return x;\n };\n}\n","export default function(target, type, selection) {\n this.target = target;\n this.type = type;\n this.selection = selection;\n}\n","import {event} from \"d3-selection\";\n\nexport function nopropagation() {\n event.stopImmediatePropagation();\n}\n\nexport default function() {\n event.preventDefault();\n event.stopImmediatePropagation();\n}\n","import {dispatch} from \"d3-dispatch\";\nimport {dragDisable, dragEnable} from \"d3-drag\";\nimport {interpolate} from \"d3-interpolate\";\nimport {customEvent, event, mouse, select} from \"d3-selection\";\nimport {interrupt} from \"d3-transition\";\nimport constant from \"./constant\";\nimport BrushEvent from \"./event\";\nimport noevent, {nopropagation} from \"./noevent\";\n\nvar MODE_DRAG = {name: \"drag\"},\n MODE_SPACE = {name: \"space\"},\n MODE_HANDLE = {name: \"handle\"},\n MODE_CENTER = {name: \"center\"};\n\nvar X = {\n name: \"x\",\n handles: [\"e\", \"w\"].map(type),\n input: function(x, e) { return x && [[x[0], e[0][1]], [x[1], e[1][1]]]; },\n output: function(xy) { return xy && [xy[0][0], xy[1][0]]; }\n};\n\nvar Y = {\n name: \"y\",\n handles: [\"n\", \"s\"].map(type),\n input: function(y, e) { return y && [[e[0][0], y[0]], [e[1][0], y[1]]]; },\n output: function(xy) { return xy && [xy[0][1], xy[1][1]]; }\n};\n\nvar XY = {\n name: \"xy\",\n handles: [\"n\", \"e\", \"s\", \"w\", \"nw\", \"ne\", \"se\", \"sw\"].map(type),\n input: function(xy) { return xy; },\n output: function(xy) { return xy; }\n};\n\nvar cursors = {\n overlay: \"crosshair\",\n selection: \"move\",\n n: \"ns-resize\",\n e: \"ew-resize\",\n s: \"ns-resize\",\n w: \"ew-resize\",\n nw: \"nwse-resize\",\n ne: \"nesw-resize\",\n se: \"nwse-resize\",\n sw: \"nesw-resize\"\n};\n\nvar flipX = {\n e: \"w\",\n w: \"e\",\n nw: \"ne\",\n ne: \"nw\",\n se: \"sw\",\n sw: \"se\"\n};\n\nvar flipY = {\n n: \"s\",\n s: \"n\",\n nw: \"sw\",\n ne: \"se\",\n se: \"ne\",\n sw: \"nw\"\n};\n\nvar signsX = {\n overlay: +1,\n selection: +1,\n n: null,\n e: +1,\n s: null,\n w: -1,\n nw: -1,\n ne: +1,\n se: +1,\n sw: -1\n};\n\nvar signsY = {\n overlay: +1,\n selection: +1,\n n: -1,\n e: null,\n s: +1,\n w: null,\n nw: -1,\n ne: -1,\n se: +1,\n sw: +1\n};\n\nfunction type(t) {\n return {type: t};\n}\n\n// Ignore right-click, since that should open the context menu.\nfunction defaultFilter() {\n return !event.button;\n}\n\nfunction defaultExtent() {\n var svg = this.ownerSVGElement || this;\n return [[0, 0], [svg.width.baseVal.value, svg.height.baseVal.value]];\n}\n\n// Like d3.local, but with the name “__brush” rather than auto-generated.\nfunction local(node) {\n while (!node.__brush) if (!(node = node.parentNode)) return;\n return node.__brush;\n}\n\nfunction empty(extent) {\n return extent[0][0] === extent[1][0]\n || extent[0][1] === extent[1][1];\n}\n\nexport function brushSelection(node) {\n var state = node.__brush;\n return state ? state.dim.output(state.selection) : null;\n}\n\nexport function brushX() {\n return brush(X);\n}\n\nexport function brushY() {\n return brush(Y);\n}\n\nexport default function() {\n return brush(XY);\n}\n\nfunction brush(dim) {\n var extent = defaultExtent,\n filter = defaultFilter,\n listeners = dispatch(brush, \"start\", \"brush\", \"end\"),\n handleSize = 6,\n touchending;\n\n function brush(group) {\n var overlay = group\n .property(\"__brush\", initialize)\n .selectAll(\".overlay\")\n .data([type(\"overlay\")]);\n\n overlay.enter().append(\"rect\")\n .attr(\"class\", \"overlay\")\n .attr(\"pointer-events\", \"all\")\n .attr(\"cursor\", cursors.overlay)\n .merge(overlay)\n .each(function() {\n var extent = local(this).extent;\n select(this)\n .attr(\"x\", extent[0][0])\n .attr(\"y\", extent[0][1])\n .attr(\"width\", extent[1][0] - extent[0][0])\n .attr(\"height\", extent[1][1] - extent[0][1]);\n });\n\n group.selectAll(\".selection\")\n .data([type(\"selection\")])\n .enter().append(\"rect\")\n .attr(\"class\", \"selection\")\n .attr(\"cursor\", cursors.selection)\n .attr(\"fill\", \"#777\")\n .attr(\"fill-opacity\", 0.3)\n .attr(\"stroke\", \"#fff\")\n .attr(\"shape-rendering\", \"crispEdges\");\n\n var handle = group.selectAll(\".handle\")\n .data(dim.handles, function(d) { return d.type; });\n\n handle.exit().remove();\n\n handle.enter().append(\"rect\")\n .attr(\"class\", function(d) { return \"handle handle--\" + d.type; })\n .attr(\"cursor\", function(d) { return cursors[d.type]; });\n\n group\n .each(redraw)\n .attr(\"fill\", \"none\")\n .attr(\"pointer-events\", \"all\")\n .style(\"-webkit-tap-highlight-color\", \"rgba(0,0,0,0)\")\n .on(\"mousedown.brush touchstart.brush\", started);\n }\n\n brush.move = function(group, selection) {\n if (group.selection) {\n group\n .on(\"start.brush\", function() { emitter(this, arguments).beforestart().start(); })\n .on(\"interrupt.brush end.brush\", function() { emitter(this, arguments).end(); })\n .tween(\"brush\", function() {\n var that = this,\n state = that.__brush,\n emit = emitter(that, arguments),\n selection0 = state.selection,\n selection1 = dim.input(typeof selection === \"function\" ? selection.apply(this, arguments) : selection, state.extent),\n i = interpolate(selection0, selection1);\n\n function tween(t) {\n state.selection = t === 1 && empty(selection1) ? null : i(t);\n redraw.call(that);\n emit.brush();\n }\n\n return selection0 && selection1 ? tween : tween(1);\n });\n } else {\n group\n .each(function() {\n var that = this,\n args = arguments,\n state = that.__brush,\n selection1 = dim.input(typeof selection === \"function\" ? selection.apply(that, args) : selection, state.extent),\n emit = emitter(that, args).beforestart();\n\n interrupt(that);\n state.selection = selection1 == null || empty(selection1) ? null : selection1;\n redraw.call(that);\n emit.start().brush().end();\n });\n }\n };\n\n function redraw() {\n var group = select(this),\n selection = local(this).selection;\n\n if (selection) {\n group.selectAll(\".selection\")\n .style(\"display\", null)\n .attr(\"x\", selection[0][0])\n .attr(\"y\", selection[0][1])\n .attr(\"width\", selection[1][0] - selection[0][0])\n .attr(\"height\", selection[1][1] - selection[0][1]);\n\n group.selectAll(\".handle\")\n .style(\"display\", null)\n .attr(\"x\", function(d) { return d.type[d.type.length - 1] === \"e\" ? selection[1][0] - handleSize / 2 : selection[0][0] - handleSize / 2; })\n .attr(\"y\", function(d) { return d.type[0] === \"s\" ? selection[1][1] - handleSize / 2 : selection[0][1] - handleSize / 2; })\n .attr(\"width\", function(d) { return d.type === \"n\" || d.type === \"s\" ? selection[1][0] - selection[0][0] + handleSize : handleSize; })\n .attr(\"height\", function(d) { return d.type === \"e\" || d.type === \"w\" ? selection[1][1] - selection[0][1] + handleSize : handleSize; });\n }\n\n else {\n group.selectAll(\".selection,.handle\")\n .style(\"display\", \"none\")\n .attr(\"x\", null)\n .attr(\"y\", null)\n .attr(\"width\", null)\n .attr(\"height\", null);\n }\n }\n\n function emitter(that, args) {\n return that.__brush.emitter || new Emitter(that, args);\n }\n\n function Emitter(that, args) {\n this.that = that;\n this.args = args;\n this.state = that.__brush;\n this.active = 0;\n }\n\n Emitter.prototype = {\n beforestart: function() {\n if (++this.active === 1) this.state.emitter = this, this.starting = true;\n return this;\n },\n start: function() {\n if (this.starting) this.starting = false, this.emit(\"start\");\n return this;\n },\n brush: function() {\n this.emit(\"brush\");\n return this;\n },\n end: function() {\n if (--this.active === 0) delete this.state.emitter, this.emit(\"end\");\n return this;\n },\n emit: function(type) {\n customEvent(new BrushEvent(brush, type, dim.output(this.state.selection)), listeners.apply, listeners, [type, this.that, this.args]);\n }\n };\n\n function started() {\n if (event.touches) { if (event.changedTouches.length < event.touches.length) return noevent(); }\n else if (touchending) return;\n if (!filter.apply(this, arguments)) return;\n\n var that = this,\n type = event.target.__data__.type,\n mode = (event.metaKey ? type = \"overlay\" : type) === \"selection\" ? MODE_DRAG : (event.altKey ? MODE_CENTER : MODE_HANDLE),\n signX = dim === Y ? null : signsX[type],\n signY = dim === X ? null : signsY[type],\n state = local(that),\n extent = state.extent,\n selection = state.selection,\n W = extent[0][0], w0, w1,\n N = extent[0][1], n0, n1,\n E = extent[1][0], e0, e1,\n S = extent[1][1], s0, s1,\n dx,\n dy,\n moving,\n shifting = signX && signY && event.shiftKey,\n lockX,\n lockY,\n point0 = mouse(that),\n point = point0,\n emit = emitter(that, arguments).beforestart();\n\n if (type === \"overlay\") {\n state.selection = selection = [\n [w0 = dim === Y ? W : point0[0], n0 = dim === X ? N : point0[1]],\n [e0 = dim === Y ? E : w0, s0 = dim === X ? S : n0]\n ];\n } else {\n w0 = selection[0][0];\n n0 = selection[0][1];\n e0 = selection[1][0];\n s0 = selection[1][1];\n }\n\n w1 = w0;\n n1 = n0;\n e1 = e0;\n s1 = s0;\n\n var group = select(that)\n .attr(\"pointer-events\", \"none\");\n\n var overlay = group.selectAll(\".overlay\")\n .attr(\"cursor\", cursors[type]);\n\n if (event.touches) {\n group\n .on(\"touchmove.brush\", moved, true)\n .on(\"touchend.brush touchcancel.brush\", ended, true);\n } else {\n var view = select(event.view)\n .on(\"keydown.brush\", keydowned, true)\n .on(\"keyup.brush\", keyupped, true)\n .on(\"mousemove.brush\", moved, true)\n .on(\"mouseup.brush\", ended, true);\n\n dragDisable(event.view);\n }\n\n nopropagation();\n interrupt(that);\n redraw.call(that);\n emit.start();\n\n function moved() {\n var point1 = mouse(that);\n if (shifting && !lockX && !lockY) {\n if (Math.abs(point1[0] - point[0]) > Math.abs(point1[1] - point[1])) lockY = true;\n else lockX = true;\n }\n point = point1;\n moving = true;\n noevent();\n move();\n }\n\n function move() {\n var t;\n\n dx = point[0] - point0[0];\n dy = point[1] - point0[1];\n\n switch (mode) {\n case MODE_SPACE:\n case MODE_DRAG: {\n if (signX) dx = Math.max(W - w0, Math.min(E - e0, dx)), w1 = w0 + dx, e1 = e0 + dx;\n if (signY) dy = Math.max(N - n0, Math.min(S - s0, dy)), n1 = n0 + dy, s1 = s0 + dy;\n break;\n }\n case MODE_HANDLE: {\n if (signX < 0) dx = Math.max(W - w0, Math.min(E - w0, dx)), w1 = w0 + dx, e1 = e0;\n else if (signX > 0) dx = Math.max(W - e0, Math.min(E - e0, dx)), w1 = w0, e1 = e0 + dx;\n if (signY < 0) dy = Math.max(N - n0, Math.min(S - n0, dy)), n1 = n0 + dy, s1 = s0;\n else if (signY > 0) dy = Math.max(N - s0, Math.min(S - s0, dy)), n1 = n0, s1 = s0 + dy;\n break;\n }\n case MODE_CENTER: {\n if (signX) w1 = Math.max(W, Math.min(E, w0 - dx * signX)), e1 = Math.max(W, Math.min(E, e0 + dx * signX));\n if (signY) n1 = Math.max(N, Math.min(S, n0 - dy * signY)), s1 = Math.max(N, Math.min(S, s0 + dy * signY));\n break;\n }\n }\n\n if (e1 < w1) {\n signX *= -1;\n t = w0, w0 = e0, e0 = t;\n t = w1, w1 = e1, e1 = t;\n if (type in flipX) overlay.attr(\"cursor\", cursors[type = flipX[type]]);\n }\n\n if (s1 < n1) {\n signY *= -1;\n t = n0, n0 = s0, s0 = t;\n t = n1, n1 = s1, s1 = t;\n if (type in flipY) overlay.attr(\"cursor\", cursors[type = flipY[type]]);\n }\n\n if (state.selection) selection = state.selection; // May be set by brush.move!\n if (lockX) w1 = selection[0][0], e1 = selection[1][0];\n if (lockY) n1 = selection[0][1], s1 = selection[1][1];\n\n if (selection[0][0] !== w1\n || selection[0][1] !== n1\n || selection[1][0] !== e1\n || selection[1][1] !== s1) {\n state.selection = [[w1, n1], [e1, s1]];\n redraw.call(that);\n emit.brush();\n }\n }\n\n function ended() {\n nopropagation();\n if (event.touches) {\n if (event.touches.length) return;\n if (touchending) clearTimeout(touchending);\n touchending = setTimeout(function() { touchending = null; }, 500); // Ghost clicks are delayed!\n group.on(\"touchmove.brush touchend.brush touchcancel.brush\", null);\n } else {\n dragEnable(event.view, moving);\n view.on(\"keydown.brush keyup.brush mousemove.brush mouseup.brush\", null);\n }\n group.attr(\"pointer-events\", \"all\");\n overlay.attr(\"cursor\", cursors.overlay);\n if (state.selection) selection = state.selection; // May be set by brush.move (on start)!\n if (empty(selection)) state.selection = null, redraw.call(that);\n emit.end();\n }\n\n function keydowned() {\n switch (event.keyCode) {\n case 16: { // SHIFT\n shifting = signX && signY;\n break;\n }\n case 18: { // ALT\n if (mode === MODE_HANDLE) {\n if (signX) e0 = e1 - dx * signX, w0 = w1 + dx * signX;\n if (signY) s0 = s1 - dy * signY, n0 = n1 + dy * signY;\n mode = MODE_CENTER;\n move();\n }\n break;\n }\n case 32: { // SPACE; takes priority over ALT\n if (mode === MODE_HANDLE || mode === MODE_CENTER) {\n if (signX < 0) e0 = e1 - dx; else if (signX > 0) w0 = w1 - dx;\n if (signY < 0) s0 = s1 - dy; else if (signY > 0) n0 = n1 - dy;\n mode = MODE_SPACE;\n overlay.attr(\"cursor\", cursors.selection);\n move();\n }\n break;\n }\n default: return;\n }\n noevent();\n }\n\n function keyupped() {\n switch (event.keyCode) {\n case 16: { // SHIFT\n if (shifting) {\n lockX = lockY = shifting = false;\n move();\n }\n break;\n }\n case 18: { // ALT\n if (mode === MODE_CENTER) {\n if (signX < 0) e0 = e1; else if (signX > 0) w0 = w1;\n if (signY < 0) s0 = s1; else if (signY > 0) n0 = n1;\n mode = MODE_HANDLE;\n move();\n }\n break;\n }\n case 32: { // SPACE\n if (mode === MODE_SPACE) {\n if (event.altKey) {\n if (signX) e0 = e1 - dx * signX, w0 = w1 + dx * signX;\n if (signY) s0 = s1 - dy * signY, n0 = n1 + dy * signY;\n mode = MODE_CENTER;\n } else {\n if (signX < 0) e0 = e1; else if (signX > 0) w0 = w1;\n if (signY < 0) s0 = s1; else if (signY > 0) n0 = n1;\n mode = MODE_HANDLE;\n }\n overlay.attr(\"cursor\", cursors[type]);\n move();\n }\n break;\n }\n default: return;\n }\n noevent();\n }\n }\n\n function initialize() {\n var state = this.__brush || {selection: null};\n state.extent = extent.apply(this, arguments);\n state.dim = dim;\n return state;\n }\n\n brush.extent = function(_) {\n return arguments.length ? (extent = typeof _ === \"function\" ? _ : constant([[+_[0][0], +_[0][1]], [+_[1][0], +_[1][1]]]), brush) : extent;\n };\n\n brush.filter = function(_) {\n return arguments.length ? (filter = typeof _ === \"function\" ? _ : constant(!!_), brush) : filter;\n };\n\n brush.handleSize = function(_) {\n return arguments.length ? (handleSize = +_, brush) : handleSize;\n };\n\n brush.on = function() {\n var value = listeners.on.apply(listeners, arguments);\n return value === listeners ? brush : value;\n };\n\n return brush;\n}\n","export {\n default as brush,\n brushX,\n brushY,\n brushSelection\n} from \"./src/brush\";\n","export var cos = Math.cos;\nexport var sin = Math.sin;\nexport var pi = Math.PI;\nexport var halfPi = pi / 2;\nexport var tau = pi * 2;\nexport var max = Math.max;\n","import {range} from \"d3-array\";\nimport {max, tau} from \"./math\";\n\nfunction compareValue(compare) {\n return function(a, b) {\n return compare(\n a.source.value + a.target.value,\n b.source.value + b.target.value\n );\n };\n}\n\nexport default function() {\n var padAngle = 0,\n sortGroups = null,\n sortSubgroups = null,\n sortChords = null;\n\n function chord(matrix) {\n var n = matrix.length,\n groupSums = [],\n groupIndex = range(n),\n subgroupIndex = [],\n chords = [],\n groups = chords.groups = new Array(n),\n subgroups = new Array(n * n),\n k,\n x,\n x0,\n dx,\n i,\n j;\n\n // Compute the sum.\n k = 0, i = -1; while (++i < n) {\n x = 0, j = -1; while (++j < n) {\n x += matrix[i][j];\n }\n groupSums.push(x);\n subgroupIndex.push(range(n));\n k += x;\n }\n\n // Sort groups…\n if (sortGroups) groupIndex.sort(function(a, b) {\n return sortGroups(groupSums[a], groupSums[b]);\n });\n\n // Sort subgroups…\n if (sortSubgroups) subgroupIndex.forEach(function(d, i) {\n d.sort(function(a, b) {\n return sortSubgroups(matrix[i][a], matrix[i][b]);\n });\n });\n\n // Convert the sum to scaling factor for [0, 2pi].\n // TODO Allow start and end angle to be specified?\n // TODO Allow padding to be specified as percentage?\n k = max(0, tau - padAngle * n) / k;\n dx = k ? padAngle : tau / n;\n\n // Compute the start and end angle for each group and subgroup.\n // Note: Opera has a bug reordering object literal properties!\n x = 0, i = -1; while (++i < n) {\n x0 = x, j = -1; while (++j < n) {\n var di = groupIndex[i],\n dj = subgroupIndex[di][j],\n v = matrix[di][dj],\n a0 = x,\n a1 = x += v * k;\n subgroups[dj * n + di] = {\n index: di,\n subindex: dj,\n startAngle: a0,\n endAngle: a1,\n value: v\n };\n }\n groups[di] = {\n index: di,\n startAngle: x0,\n endAngle: x,\n value: groupSums[di]\n };\n x += dx;\n }\n\n // Generate chords for each (non-empty) subgroup-subgroup link.\n i = -1; while (++i < n) {\n j = i - 1; while (++j < n) {\n var source = subgroups[j * n + i],\n target = subgroups[i * n + j];\n if (source.value || target.value) {\n chords.push(source.value < target.value\n ? {source: target, target: source}\n : {source: source, target: target});\n }\n }\n }\n\n return sortChords ? chords.sort(sortChords) : chords;\n }\n\n chord.padAngle = function(_) {\n return arguments.length ? (padAngle = max(0, _), chord) : padAngle;\n };\n\n chord.sortGroups = function(_) {\n return arguments.length ? (sortGroups = _, chord) : sortGroups;\n };\n\n chord.sortSubgroups = function(_) {\n return arguments.length ? (sortSubgroups = _, chord) : sortSubgroups;\n };\n\n chord.sortChords = function(_) {\n return arguments.length ? (_ == null ? sortChords = null : (sortChords = compareValue(_))._ = _, chord) : sortChords && sortChords._;\n };\n\n return chord;\n}\n","export var slice = Array.prototype.slice;\n","export default function(x) {\n return function() {\n return x;\n };\n}\n","var pi = Math.PI,\n tau = 2 * pi,\n epsilon = 1e-6,\n tauEpsilon = tau - epsilon;\n\nfunction Path() {\n this._x0 = this._y0 = // start of current subpath\n this._x1 = this._y1 = null; // end of current subpath\n this._ = \"\";\n}\n\nfunction path() {\n return new Path;\n}\n\nPath.prototype = path.prototype = {\n constructor: Path,\n moveTo: function(x, y) {\n this._ += \"M\" + (this._x0 = this._x1 = +x) + \",\" + (this._y0 = this._y1 = +y);\n },\n closePath: function() {\n if (this._x1 !== null) {\n this._x1 = this._x0, this._y1 = this._y0;\n this._ += \"Z\";\n }\n },\n lineTo: function(x, y) {\n this._ += \"L\" + (this._x1 = +x) + \",\" + (this._y1 = +y);\n },\n quadraticCurveTo: function(x1, y1, x, y) {\n this._ += \"Q\" + (+x1) + \",\" + (+y1) + \",\" + (this._x1 = +x) + \",\" + (this._y1 = +y);\n },\n bezierCurveTo: function(x1, y1, x2, y2, x, y) {\n this._ += \"C\" + (+x1) + \",\" + (+y1) + \",\" + (+x2) + \",\" + (+y2) + \",\" + (this._x1 = +x) + \",\" + (this._y1 = +y);\n },\n arcTo: function(x1, y1, x2, y2, r) {\n x1 = +x1, y1 = +y1, x2 = +x2, y2 = +y2, r = +r;\n var x0 = this._x1,\n y0 = this._y1,\n x21 = x2 - x1,\n y21 = y2 - y1,\n x01 = x0 - x1,\n y01 = y0 - y1,\n l01_2 = x01 * x01 + y01 * y01;\n\n // Is the radius negative? Error.\n if (r < 0) throw new Error(\"negative radius: \" + r);\n\n // Is this path empty? Move to (x1,y1).\n if (this._x1 === null) {\n this._ += \"M\" + (this._x1 = x1) + \",\" + (this._y1 = y1);\n }\n\n // Or, is (x1,y1) coincident with (x0,y0)? Do nothing.\n else if (!(l01_2 > epsilon)) {}\n\n // Or, are (x0,y0), (x1,y1) and (x2,y2) collinear?\n // Equivalently, is (x1,y1) coincident with (x2,y2)?\n // Or, is the radius zero? Line to (x1,y1).\n else if (!(Math.abs(y01 * x21 - y21 * x01) > epsilon) || !r) {\n this._ += \"L\" + (this._x1 = x1) + \",\" + (this._y1 = y1);\n }\n\n // Otherwise, draw an arc!\n else {\n var x20 = x2 - x0,\n y20 = y2 - y0,\n l21_2 = x21 * x21 + y21 * y21,\n l20_2 = x20 * x20 + y20 * y20,\n l21 = Math.sqrt(l21_2),\n l01 = Math.sqrt(l01_2),\n l = r * Math.tan((pi - Math.acos((l21_2 + l01_2 - l20_2) / (2 * l21 * l01))) / 2),\n t01 = l / l01,\n t21 = l / l21;\n\n // If the start tangent is not coincident with (x0,y0), line to.\n if (Math.abs(t01 - 1) > epsilon) {\n this._ += \"L\" + (x1 + t01 * x01) + \",\" + (y1 + t01 * y01);\n }\n\n this._ += \"A\" + r + \",\" + r + \",0,0,\" + (+(y01 * x20 > x01 * y20)) + \",\" + (this._x1 = x1 + t21 * x21) + \",\" + (this._y1 = y1 + t21 * y21);\n }\n },\n arc: function(x, y, r, a0, a1, ccw) {\n x = +x, y = +y, r = +r;\n var dx = r * Math.cos(a0),\n dy = r * Math.sin(a0),\n x0 = x + dx,\n y0 = y + dy,\n cw = 1 ^ ccw,\n da = ccw ? a0 - a1 : a1 - a0;\n\n // Is the radius negative? Error.\n if (r < 0) throw new Error(\"negative radius: \" + r);\n\n // Is this path empty? Move to (x0,y0).\n if (this._x1 === null) {\n this._ += \"M\" + x0 + \",\" + y0;\n }\n\n // Or, is (x0,y0) not coincident with the previous point? Line to (x0,y0).\n else if (Math.abs(this._x1 - x0) > epsilon || Math.abs(this._y1 - y0) > epsilon) {\n this._ += \"L\" + x0 + \",\" + y0;\n }\n\n // Is this arc empty? We’re done.\n if (!r) return;\n\n // Does the angle go the wrong way? Flip the direction.\n if (da < 0) da = da % tau + tau;\n\n // Is this a complete circle? Draw two arcs to complete the circle.\n if (da > tauEpsilon) {\n this._ += \"A\" + r + \",\" + r + \",0,1,\" + cw + \",\" + (x - dx) + \",\" + (y - dy) + \"A\" + r + \",\" + r + \",0,1,\" + cw + \",\" + (this._x1 = x0) + \",\" + (this._y1 = y0);\n }\n\n // Is this arc non-empty? Draw an arc!\n else if (da > epsilon) {\n this._ += \"A\" + r + \",\" + r + \",0,\" + (+(da >= pi)) + \",\" + cw + \",\" + (this._x1 = x + r * Math.cos(a1)) + \",\" + (this._y1 = y + r * Math.sin(a1));\n }\n },\n rect: function(x, y, w, h) {\n this._ += \"M\" + (this._x0 = this._x1 = +x) + \",\" + (this._y0 = this._y1 = +y) + \"h\" + (+w) + \"v\" + (+h) + \"h\" + (-w) + \"Z\";\n },\n toString: function() {\n return this._;\n }\n};\n\nexport default path;\n","export {default as path} from \"./src/path\";\n","import {slice} from \"./array\";\nimport constant from \"./constant\";\nimport {cos, halfPi, sin} from \"./math\";\nimport {path} from \"d3-path\";\n\nfunction defaultSource(d) {\n return d.source;\n}\n\nfunction defaultTarget(d) {\n return d.target;\n}\n\nfunction defaultRadius(d) {\n return d.radius;\n}\n\nfunction defaultStartAngle(d) {\n return d.startAngle;\n}\n\nfunction defaultEndAngle(d) {\n return d.endAngle;\n}\n\nexport default function() {\n var source = defaultSource,\n target = defaultTarget,\n radius = defaultRadius,\n startAngle = defaultStartAngle,\n endAngle = defaultEndAngle,\n context = null;\n\n function ribbon() {\n var buffer,\n argv = slice.call(arguments),\n s = source.apply(this, argv),\n t = target.apply(this, argv),\n sr = +radius.apply(this, (argv[0] = s, argv)),\n sa0 = startAngle.apply(this, argv) - halfPi,\n sa1 = endAngle.apply(this, argv) - halfPi,\n sx0 = sr * cos(sa0),\n sy0 = sr * sin(sa0),\n tr = +radius.apply(this, (argv[0] = t, argv)),\n ta0 = startAngle.apply(this, argv) - halfPi,\n ta1 = endAngle.apply(this, argv) - halfPi;\n\n if (!context) context = buffer = path();\n\n context.moveTo(sx0, sy0);\n context.arc(0, 0, sr, sa0, sa1);\n if (sa0 !== ta0 || sa1 !== ta1) { // TODO sr !== tr?\n context.quadraticCurveTo(0, 0, tr * cos(ta0), tr * sin(ta0));\n context.arc(0, 0, tr, ta0, ta1);\n }\n context.quadraticCurveTo(0, 0, sx0, sy0);\n context.closePath();\n\n if (buffer) return context = null, buffer + \"\" || null;\n }\n\n ribbon.radius = function(_) {\n return arguments.length ? (radius = typeof _ === \"function\" ? _ : constant(+_), ribbon) : radius;\n };\n\n ribbon.startAngle = function(_) {\n return arguments.length ? (startAngle = typeof _ === \"function\" ? _ : constant(+_), ribbon) : startAngle;\n };\n\n ribbon.endAngle = function(_) {\n return arguments.length ? (endAngle = typeof _ === \"function\" ? _ : constant(+_), ribbon) : endAngle;\n };\n\n ribbon.source = function(_) {\n return arguments.length ? (source = _, ribbon) : source;\n };\n\n ribbon.target = function(_) {\n return arguments.length ? (target = _, ribbon) : target;\n };\n\n ribbon.context = function(_) {\n return arguments.length ? ((context = _ == null ? null : _), ribbon) : context;\n };\n\n return ribbon;\n}\n","export {default as chord} from \"./src/chord\";\nexport {default as ribbon} from \"./src/ribbon\";\n","export var prefix = \"$\";\n\nfunction Map() {}\n\nMap.prototype = map.prototype = {\n constructor: Map,\n has: function(key) {\n return (prefix + key) in this;\n },\n get: function(key) {\n return this[prefix + key];\n },\n set: function(key, value) {\n this[prefix + key] = value;\n return this;\n },\n remove: function(key) {\n var property = prefix + key;\n return property in this && delete this[property];\n },\n clear: function() {\n for (var property in this) if (property[0] === prefix) delete this[property];\n },\n keys: function() {\n var keys = [];\n for (var property in this) if (property[0] === prefix) keys.push(property.slice(1));\n return keys;\n },\n values: function() {\n var values = [];\n for (var property in this) if (property[0] === prefix) values.push(this[property]);\n return values;\n },\n entries: function() {\n var entries = [];\n for (var property in this) if (property[0] === prefix) entries.push({key: property.slice(1), value: this[property]});\n return entries;\n },\n size: function() {\n var size = 0;\n for (var property in this) if (property[0] === prefix) ++size;\n return size;\n },\n empty: function() {\n for (var property in this) if (property[0] === prefix) return false;\n return true;\n },\n each: function(f) {\n for (var property in this) if (property[0] === prefix) f(this[property], property.slice(1), this);\n }\n};\n\nfunction map(object, f) {\n var map = new Map;\n\n // Copy constructor.\n if (object instanceof Map) object.each(function(value, key) { map.set(key, value); });\n\n // Index array by numeric index or specified key function.\n else if (Array.isArray(object)) {\n var i = -1,\n n = object.length,\n o;\n\n if (f == null) while (++i < n) map.set(i, object[i]);\n else while (++i < n) map.set(f(o = object[i], i, object), o);\n }\n\n // Convert object to map.\n else if (object) for (var key in object) map.set(key, object[key]);\n\n return map;\n}\n\nexport default map;\n","import map from \"./map\";\n\nexport default function() {\n var keys = [],\n sortKeys = [],\n sortValues,\n rollup,\n nest;\n\n function apply(array, depth, createResult, setResult) {\n if (depth >= keys.length) {\n if (sortValues != null) array.sort(sortValues);\n return rollup != null ? rollup(array) : array;\n }\n\n var i = -1,\n n = array.length,\n key = keys[depth++],\n keyValue,\n value,\n valuesByKey = map(),\n values,\n result = createResult();\n\n while (++i < n) {\n if (values = valuesByKey.get(keyValue = key(value = array[i]) + \"\")) {\n values.push(value);\n } else {\n valuesByKey.set(keyValue, [value]);\n }\n }\n\n valuesByKey.each(function(values, key) {\n setResult(result, key, apply(values, depth, createResult, setResult));\n });\n\n return result;\n }\n\n function entries(map, depth) {\n if (++depth > keys.length) return map;\n var array, sortKey = sortKeys[depth - 1];\n if (rollup != null && depth >= keys.length) array = map.entries();\n else array = [], map.each(function(v, k) { array.push({key: k, values: entries(v, depth)}); });\n return sortKey != null ? array.sort(function(a, b) { return sortKey(a.key, b.key); }) : array;\n }\n\n return nest = {\n object: function(array) { return apply(array, 0, createObject, setObject); },\n map: function(array) { return apply(array, 0, createMap, setMap); },\n entries: function(array) { return entries(apply(array, 0, createMap, setMap), 0); },\n key: function(d) { keys.push(d); return nest; },\n sortKeys: function(order) { sortKeys[keys.length - 1] = order; return nest; },\n sortValues: function(order) { sortValues = order; return nest; },\n rollup: function(f) { rollup = f; return nest; }\n };\n}\n\nfunction createObject() {\n return {};\n}\n\nfunction setObject(object, key, value) {\n object[key] = value;\n}\n\nfunction createMap() {\n return map();\n}\n\nfunction setMap(map, key, value) {\n map.set(key, value);\n}\n","import {default as map, prefix} from \"./map\";\n\nfunction Set() {}\n\nvar proto = map.prototype;\n\nSet.prototype = set.prototype = {\n constructor: Set,\n has: proto.has,\n add: function(value) {\n value += \"\";\n this[prefix + value] = value;\n return this;\n },\n remove: proto.remove,\n clear: proto.clear,\n values: proto.keys,\n size: proto.size,\n empty: proto.empty,\n each: proto.each\n};\n\nfunction set(object, f) {\n var set = new Set;\n\n // Copy constructor.\n if (object instanceof Set) object.each(function(value) { set.add(value); });\n\n // Otherwise, assume it’s an array.\n else if (object) {\n var i = -1, n = object.length;\n if (f == null) while (++i < n) set.add(object[i]);\n else while (++i < n) set.add(f(object[i], i, object));\n }\n\n return set;\n}\n\nexport default set;\n","export default function(map) {\n var keys = [];\n for (var key in map) keys.push(key);\n return keys;\n}\n","export default function(map) {\n var values = [];\n for (var key in map) values.push(map[key]);\n return values;\n}\n","export default function(map) {\n var entries = [];\n for (var key in map) entries.push({key: key, value: map[key]});\n return entries;\n}\n","export {default as nest} from \"./src/nest\";\nexport {default as set} from \"./src/set\";\nexport {default as map} from \"./src/map\";\nexport {default as keys} from \"./src/keys\";\nexport {default as values} from \"./src/values\";\nexport {default as entries} from \"./src/entries\";\n","var array = Array.prototype;\n\nexport var slice = array.slice;\n","export default function(a, b) {\n return a - b;\n}\n","export default function(ring) {\n var i = 0, n = ring.length, area = ring[n - 1][1] * ring[0][0] - ring[n - 1][0] * ring[0][1];\n while (++i < n) area += ring[i - 1][1] * ring[i][0] - ring[i - 1][0] * ring[i][1];\n return area;\n}\n","export default function(x) {\n return function() {\n return x;\n };\n}\n","export default function(ring, hole) {\n var i = -1, n = hole.length, c;\n while (++i < n) if (c = ringContains(ring, hole[i])) return c;\n return 0;\n}\n\nfunction ringContains(ring, point) {\n var x = point[0], y = point[1], contains = -1;\n for (var i = 0, n = ring.length, j = n - 1; i < n; j = i++) {\n var pi = ring[i], xi = pi[0], yi = pi[1], pj = ring[j], xj = pj[0], yj = pj[1];\n if (segmentContains(pi, pj, point)) return 0;\n if (((yi > y) !== (yj > y)) && ((x < (xj - xi) * (y - yi) / (yj - yi) + xi))) contains = -contains;\n }\n return contains;\n}\n\nfunction segmentContains(a, b, c) {\n var i; return collinear(a, b, c) && within(a[i = +(a[0] === b[0])], c[i], b[i]);\n}\n\nfunction collinear(a, b, c) {\n return (b[0] - a[0]) * (c[1] - a[1]) === (c[0] - a[0]) * (b[1] - a[1]);\n}\n\nfunction within(p, q, r) {\n return p <= q && q <= r || r <= q && q <= p;\n}\n","export default function() {}\n","import {extent, thresholdSturges, tickStep, range} from \"d3-array\";\nimport {slice} from \"./array\";\nimport ascending from \"./ascending\";\nimport area from \"./area\";\nimport constant from \"./constant\";\nimport contains from \"./contains\";\nimport noop from \"./noop\";\n\nvar cases = [\n [],\n [[[1.0, 1.5], [0.5, 1.0]]],\n [[[1.5, 1.0], [1.0, 1.5]]],\n [[[1.5, 1.0], [0.5, 1.0]]],\n [[[1.0, 0.5], [1.5, 1.0]]],\n [[[1.0, 1.5], [0.5, 1.0]], [[1.0, 0.5], [1.5, 1.0]]],\n [[[1.0, 0.5], [1.0, 1.5]]],\n [[[1.0, 0.5], [0.5, 1.0]]],\n [[[0.5, 1.0], [1.0, 0.5]]],\n [[[1.0, 1.5], [1.0, 0.5]]],\n [[[0.5, 1.0], [1.0, 0.5]], [[1.5, 1.0], [1.0, 1.5]]],\n [[[1.5, 1.0], [1.0, 0.5]]],\n [[[0.5, 1.0], [1.5, 1.0]]],\n [[[1.0, 1.5], [1.5, 1.0]]],\n [[[0.5, 1.0], [1.0, 1.5]]],\n []\n];\n\nexport default function() {\n var dx = 1,\n dy = 1,\n threshold = thresholdSturges,\n smooth = smoothLinear;\n\n function contours(values) {\n var tz = threshold(values);\n\n // Convert number of thresholds into uniform thresholds.\n if (!Array.isArray(tz)) {\n var domain = extent(values), start = domain[0], stop = domain[1];\n tz = tickStep(start, stop, tz);\n tz = range(Math.floor(start / tz) * tz, Math.floor(stop / tz) * tz, tz);\n } else {\n tz = tz.slice().sort(ascending);\n }\n\n return tz.map(function(value) {\n return contour(values, value);\n });\n }\n\n // Accumulate, smooth contour rings, assign holes to exterior rings.\n // Based on https://github.com/mbostock/shapefile/blob/v0.6.2/shp/polygon.js\n function contour(values, value) {\n var polygons = [],\n holes = [];\n\n isorings(values, value, function(ring) {\n smooth(ring, values, value);\n if (area(ring) > 0) polygons.push([ring]);\n else holes.push(ring);\n });\n\n holes.forEach(function(hole) {\n for (var i = 0, n = polygons.length, polygon; i < n; ++i) {\n if (contains((polygon = polygons[i])[0], hole) !== -1) {\n polygon.push(hole);\n return;\n }\n }\n });\n\n return {\n type: \"MultiPolygon\",\n value: value,\n coordinates: polygons\n };\n }\n\n // Marching squares with isolines stitched into rings.\n // Based on https://github.com/topojson/topojson-client/blob/v3.0.0/src/stitch.js\n function isorings(values, value, callback) {\n var fragmentByStart = new Array,\n fragmentByEnd = new Array,\n x, y, t0, t1, t2, t3;\n\n // Special case for the first row (y = -1, t2 = t3 = 0).\n x = y = -1;\n t1 = values[0] >= value;\n cases[t1 << 1].forEach(stitch);\n while (++x < dx - 1) {\n t0 = t1, t1 = values[x + 1] >= value;\n cases[t0 | t1 << 1].forEach(stitch);\n }\n cases[t1 << 0].forEach(stitch);\n\n // General case for the intermediate rows.\n while (++y < dy - 1) {\n x = -1;\n t1 = values[y * dx + dx] >= value;\n t2 = values[y * dx] >= value;\n cases[t1 << 1 | t2 << 2].forEach(stitch);\n while (++x < dx - 1) {\n t0 = t1, t1 = values[y * dx + dx + x + 1] >= value;\n t3 = t2, t2 = values[y * dx + x + 1] >= value;\n cases[t0 | t1 << 1 | t2 << 2 | t3 << 3].forEach(stitch);\n }\n cases[t1 | t2 << 3].forEach(stitch);\n }\n\n // Special case for the last row (y = dy - 1, t0 = t1 = 0).\n x = -1;\n t2 = values[y * dx] >= value;\n cases[t2 << 2].forEach(stitch);\n while (++x < dx - 1) {\n t3 = t2, t2 = values[y * dx + x + 1] >= value;\n cases[t2 << 2 | t3 << 3].forEach(stitch);\n }\n cases[t2 << 3].forEach(stitch);\n\n function stitch(line) {\n var start = [line[0][0] + x, line[0][1] + y],\n end = [line[1][0] + x, line[1][1] + y],\n startIndex = index(start),\n endIndex = index(end),\n f, g;\n if (f = fragmentByEnd[startIndex]) {\n if (g = fragmentByStart[endIndex]) {\n delete fragmentByEnd[f.end];\n delete fragmentByStart[g.start];\n if (f === g) {\n f.ring.push(end);\n callback(f.ring);\n } else {\n fragmentByStart[f.start] = fragmentByEnd[g.end] = {start: f.start, end: g.end, ring: f.ring.concat(g.ring)};\n }\n } else {\n delete fragmentByEnd[f.end];\n f.ring.push(end);\n fragmentByEnd[f.end = endIndex] = f;\n }\n } else if (f = fragmentByStart[endIndex]) {\n if (g = fragmentByEnd[startIndex]) {\n delete fragmentByStart[f.start];\n delete fragmentByEnd[g.end];\n if (f === g) {\n f.ring.push(end);\n callback(f.ring);\n } else {\n fragmentByStart[g.start] = fragmentByEnd[f.end] = {start: g.start, end: f.end, ring: g.ring.concat(f.ring)};\n }\n } else {\n delete fragmentByStart[f.start];\n f.ring.unshift(start);\n fragmentByStart[f.start = startIndex] = f;\n }\n } else {\n fragmentByStart[startIndex] = fragmentByEnd[endIndex] = {start: startIndex, end: endIndex, ring: [start, end]};\n }\n }\n }\n\n function index(point) {\n return point[0] * 2 + point[1] * (dx + 1) * 4;\n }\n\n function smoothLinear(ring, values, value) {\n ring.forEach(function(point) {\n var x = point[0],\n y = point[1],\n xt = x | 0,\n yt = y | 0,\n v0,\n v1 = values[yt * dx + xt];\n if (x > 0 && x < dx && xt === x) {\n v0 = values[yt * dx + xt - 1];\n point[0] = x + (value - v0) / (v1 - v0) - 0.5;\n }\n if (y > 0 && y < dy && yt === y) {\n v0 = values[(yt - 1) * dx + xt];\n point[1] = y + (value - v0) / (v1 - v0) - 0.5;\n }\n });\n }\n\n contours.contour = contour;\n\n contours.size = function(_) {\n if (!arguments.length) return [dx, dy];\n var _0 = Math.ceil(_[0]), _1 = Math.ceil(_[1]);\n if (!(_0 > 0) || !(_1 > 0)) throw new Error(\"invalid size\");\n return dx = _0, dy = _1, contours;\n };\n\n contours.thresholds = function(_) {\n return arguments.length ? (threshold = typeof _ === \"function\" ? _ : Array.isArray(_) ? constant(slice.call(_)) : constant(_), contours) : threshold;\n };\n\n contours.smooth = function(_) {\n return arguments.length ? (smooth = _ ? smoothLinear : noop, contours) : smooth === smoothLinear;\n };\n\n return contours;\n}\n","// TODO Optimize edge cases.\n// TODO Optimize index calculation.\n// TODO Optimize arguments.\nexport function blurX(source, target, r) {\n var n = source.width,\n m = source.height,\n w = (r << 1) + 1;\n for (var j = 0; j < m; ++j) {\n for (var i = 0, sr = 0; i < n + r; ++i) {\n if (i < n) {\n sr += source.data[i + j * n];\n }\n if (i >= r) {\n if (i >= w) {\n sr -= source.data[i - w + j * n];\n }\n target.data[i - r + j * n] = sr / Math.min(i + 1, n - 1 + w - i, w);\n }\n }\n }\n}\n\n// TODO Optimize edge cases.\n// TODO Optimize index calculation.\n// TODO Optimize arguments.\nexport function blurY(source, target, r) {\n var n = source.width,\n m = source.height,\n w = (r << 1) + 1;\n for (var i = 0; i < n; ++i) {\n for (var j = 0, sr = 0; j < m + r; ++j) {\n if (j < m) {\n sr += source.data[i + j * n];\n }\n if (j >= r) {\n if (j >= w) {\n sr -= source.data[i + (j - w) * n];\n }\n target.data[i + (j - r) * n] = sr / Math.min(j + 1, m - 1 + w - j, w);\n }\n }\n }\n}\n","import {max, range, tickStep} from \"d3-array\";\nimport {slice} from \"./array\";\nimport {blurX, blurY} from \"./blur\";\nimport constant from \"./constant\";\nimport contours from \"./contours\";\n\nfunction defaultX(d) {\n return d[0];\n}\n\nfunction defaultY(d) {\n return d[1];\n}\n\nexport default function() {\n var x = defaultX,\n y = defaultY,\n dx = 960,\n dy = 500,\n r = 20, // blur radius\n k = 2, // log2(grid cell size)\n o = r * 3, // grid offset, to pad for blur\n n = (dx + o * 2) >> k, // grid width\n m = (dy + o * 2) >> k, // grid height\n threshold = constant(20);\n\n function density(data) {\n var values0 = new Float32Array(n * m),\n values1 = new Float32Array(n * m);\n\n data.forEach(function(d, i, data) {\n var xi = (x(d, i, data) + o) >> k,\n yi = (y(d, i, data) + o) >> k;\n if (xi >= 0 && xi < n && yi >= 0 && yi < m) {\n ++values0[xi + yi * n];\n }\n });\n\n // TODO Optimize.\n blurX({width: n, height: m, data: values0}, {width: n, height: m, data: values1}, r >> k);\n blurY({width: n, height: m, data: values1}, {width: n, height: m, data: values0}, r >> k);\n blurX({width: n, height: m, data: values0}, {width: n, height: m, data: values1}, r >> k);\n blurY({width: n, height: m, data: values1}, {width: n, height: m, data: values0}, r >> k);\n blurX({width: n, height: m, data: values0}, {width: n, height: m, data: values1}, r >> k);\n blurY({width: n, height: m, data: values1}, {width: n, height: m, data: values0}, r >> k);\n\n var tz = threshold(values0);\n\n // Convert number of thresholds into uniform thresholds.\n if (!Array.isArray(tz)) {\n var stop = max(values0);\n tz = tickStep(0, stop, tz);\n tz = range(0, Math.floor(stop / tz) * tz, tz);\n tz.shift();\n }\n\n return contours()\n .thresholds(tz)\n .size([n, m])\n (values0)\n .map(transform);\n }\n\n function transform(geometry) {\n geometry.value *= Math.pow(2, -2 * k); // Density in points per square pixel.\n geometry.coordinates.forEach(transformPolygon);\n return geometry;\n }\n\n function transformPolygon(coordinates) {\n coordinates.forEach(transformRing);\n }\n\n function transformRing(coordinates) {\n coordinates.forEach(transformPoint);\n }\n\n // TODO Optimize.\n function transformPoint(coordinates) {\n coordinates[0] = coordinates[0] * Math.pow(2, k) - o;\n coordinates[1] = coordinates[1] * Math.pow(2, k) - o;\n }\n\n function resize() {\n o = r * 3;\n n = (dx + o * 2) >> k;\n m = (dy + o * 2) >> k;\n return density;\n }\n\n density.x = function(_) {\n return arguments.length ? (x = typeof _ === \"function\" ? _ : constant(+_), density) : x;\n };\n\n density.y = function(_) {\n return arguments.length ? (y = typeof _ === \"function\" ? _ : constant(+_), density) : y;\n };\n\n density.size = function(_) {\n if (!arguments.length) return [dx, dy];\n var _0 = Math.ceil(_[0]), _1 = Math.ceil(_[1]);\n if (!(_0 >= 0) && !(_0 >= 0)) throw new Error(\"invalid size\");\n return dx = _0, dy = _1, resize();\n };\n\n density.cellSize = function(_) {\n if (!arguments.length) return 1 << k;\n if (!((_ = +_) >= 1)) throw new Error(\"invalid cell size\");\n return k = Math.floor(Math.log(_) / Math.LN2), resize();\n };\n\n density.thresholds = function(_) {\n return arguments.length ? (threshold = typeof _ === \"function\" ? _ : Array.isArray(_) ? constant(slice.call(_)) : constant(_), density) : threshold;\n };\n\n density.bandwidth = function(_) {\n if (!arguments.length) return Math.sqrt(r * (r + 1));\n if (!((_ = +_) >= 0)) throw new Error(\"invalid bandwidth\");\n return r = Math.round((Math.sqrt(4 * _ * _ + 1) - 1) / 2), resize();\n };\n\n return density;\n}\n","export {default as contours} from \"./src/contours\";\nexport {default as contourDensity} from \"./src/density\";\n","var EOL = {},\n EOF = {},\n QUOTE = 34,\n NEWLINE = 10,\n RETURN = 13;\n\nfunction objectConverter(columns) {\n return new Function(\"d\", \"return {\" + columns.map(function(name, i) {\n return JSON.stringify(name) + \": d[\" + i + \"]\";\n }).join(\",\") + \"}\");\n}\n\nfunction customConverter(columns, f) {\n var object = objectConverter(columns);\n return function(row, i) {\n return f(object(row), i, columns);\n };\n}\n\n// Compute unique columns in order of discovery.\nfunction inferColumns(rows) {\n var columnSet = Object.create(null),\n columns = [];\n\n rows.forEach(function(row) {\n for (var column in row) {\n if (!(column in columnSet)) {\n columns.push(columnSet[column] = column);\n }\n }\n });\n\n return columns;\n}\n\nexport default function(delimiter) {\n var reFormat = new RegExp(\"[\\\"\" + delimiter + \"\\n\\r]\"),\n DELIMITER = delimiter.charCodeAt(0);\n\n function parse(text, f) {\n var convert, columns, rows = parseRows(text, function(row, i) {\n if (convert) return convert(row, i - 1);\n columns = row, convert = f ? customConverter(row, f) : objectConverter(row);\n });\n rows.columns = columns || [];\n return rows;\n }\n\n function parseRows(text, f) {\n var rows = [], // output rows\n N = text.length,\n I = 0, // current character index\n n = 0, // current line number\n t, // current token\n eof = N <= 0, // current token followed by EOF?\n eol = false; // current token followed by EOL?\n\n // Strip the trailing newline.\n if (text.charCodeAt(N - 1) === NEWLINE) --N;\n if (text.charCodeAt(N - 1) === RETURN) --N;\n\n function token() {\n if (eof) return EOF;\n if (eol) return eol = false, EOL;\n\n // Unescape quotes.\n var i, j = I, c;\n if (text.charCodeAt(j) === QUOTE) {\n while (I++ < N && text.charCodeAt(I) !== QUOTE || text.charCodeAt(++I) === QUOTE);\n if ((i = I) >= N) eof = true;\n else if ((c = text.charCodeAt(I++)) === NEWLINE) eol = true;\n else if (c === RETURN) { eol = true; if (text.charCodeAt(I) === NEWLINE) ++I; }\n return text.slice(j + 1, i - 1).replace(/\"\"/g, \"\\\"\");\n }\n\n // Find next delimiter or newline.\n while (I < N) {\n if ((c = text.charCodeAt(i = I++)) === NEWLINE) eol = true;\n else if (c === RETURN) { eol = true; if (text.charCodeAt(I) === NEWLINE) ++I; }\n else if (c !== DELIMITER) continue;\n return text.slice(j, i);\n }\n\n // Return last token before EOF.\n return eof = true, text.slice(j, N);\n }\n\n while ((t = token()) !== EOF) {\n var row = [];\n while (t !== EOL && t !== EOF) row.push(t), t = token();\n if (f && (row = f(row, n++)) == null) continue;\n rows.push(row);\n }\n\n return rows;\n }\n\n function format(rows, columns) {\n if (columns == null) columns = inferColumns(rows);\n return [columns.map(formatValue).join(delimiter)].concat(rows.map(function(row) {\n return columns.map(function(column) {\n return formatValue(row[column]);\n }).join(delimiter);\n })).join(\"\\n\");\n }\n\n function formatRows(rows) {\n return rows.map(formatRow).join(\"\\n\");\n }\n\n function formatRow(row) {\n return row.map(formatValue).join(delimiter);\n }\n\n function formatValue(text) {\n return text == null ? \"\"\n : reFormat.test(text += \"\") ? \"\\\"\" + text.replace(/\"/g, \"\\\"\\\"\") + \"\\\"\"\n : text;\n }\n\n return {\n parse: parse,\n parseRows: parseRows,\n format: format,\n formatRows: formatRows\n };\n}\n","import dsv from \"./dsv\";\n\nvar csv = dsv(\",\");\n\nexport var csvParse = csv.parse;\nexport var csvParseRows = csv.parseRows;\nexport var csvFormat = csv.format;\nexport var csvFormatRows = csv.formatRows;\n","import dsv from \"./dsv\";\n\nvar tsv = dsv(\"\\t\");\n\nexport var tsvParse = tsv.parse;\nexport var tsvParseRows = tsv.parseRows;\nexport var tsvFormat = tsv.format;\nexport var tsvFormatRows = tsv.formatRows;\n","export {default as dsvFormat} from \"./src/dsv\";\nexport {csvParse, csvParseRows, csvFormat, csvFormatRows} from \"./src/csv\";\nexport {tsvParse, tsvParseRows, tsvFormat, tsvFormatRows} from \"./src/tsv\";\n","function responseBlob(response) {\n if (!response.ok) throw new Error(response.status + \" \" + response.statusText);\n return response.blob();\n}\n\nexport default function(input, init) {\n return fetch(input, init).then(responseBlob);\n}\n","function responseArrayBuffer(response) {\n if (!response.ok) throw new Error(response.status + \" \" + response.statusText);\n return response.arrayBuffer();\n}\n\nexport default function(input, init) {\n return fetch(input, init).then(responseArrayBuffer);\n}\n","function responseText(response) {\n if (!response.ok) throw new Error(response.status + \" \" + response.statusText);\n return response.text();\n}\n\nexport default function(input, init) {\n return fetch(input, init).then(responseText);\n}\n","import {csvParse, dsvFormat, tsvParse} from \"d3-dsv\";\nimport text from \"./text\";\n\nfunction dsvParse(parse) {\n return function(input, init, row) {\n if (arguments.length === 2 && typeof init === \"function\") row = init, init = undefined;\n return text(input, init).then(function(response) {\n return parse(response, row);\n });\n };\n}\n\nexport default function dsv(delimiter, input, init, row) {\n if (arguments.length === 3 && typeof init === \"function\") row = init, init = undefined;\n var format = dsvFormat(delimiter);\n return text(input, init).then(function(response) {\n return format.parse(response, row);\n });\n}\n\nexport var csv = dsvParse(csvParse);\nexport var tsv = dsvParse(tsvParse);\n","export default function(input, init) {\n return new Promise(function(resolve, reject) {\n var image = new Image;\n for (var key in init) image[key] = init[key];\n image.onerror = reject;\n image.onload = function() { resolve(image); };\n image.src = input;\n });\n}\n","function responseJson(response) {\n if (!response.ok) throw new Error(response.status + \" \" + response.statusText);\n return response.json();\n}\n\nexport default function(input, init) {\n return fetch(input, init).then(responseJson);\n}\n","import text from \"./text\";\n\nfunction parser(type) {\n return function(input, init) {\n return text(input, init).then(function(text) {\n return (new DOMParser).parseFromString(text, type);\n });\n };\n}\n\nexport default parser(\"application/xml\");\n\nexport var html = parser(\"text/html\");\n\nexport var svg = parser(\"image/svg+xml\");\n","export {default as blob} from \"./src/blob\";\nexport {default as buffer} from \"./src/buffer\";\nexport {default as dsv, csv, tsv} from \"./src/dsv\";\nexport {default as image} from \"./src/image\";\nexport {default as json} from \"./src/json\";\nexport {default as text} from \"./src/text\";\nexport {default as xml, html, svg} from \"./src/xml\";\n","export default function(x, y) {\n var nodes;\n\n if (x == null) x = 0;\n if (y == null) y = 0;\n\n function force() {\n var i,\n n = nodes.length,\n node,\n sx = 0,\n sy = 0;\n\n for (i = 0; i < n; ++i) {\n node = nodes[i], sx += node.x, sy += node.y;\n }\n\n for (sx = sx / n - x, sy = sy / n - y, i = 0; i < n; ++i) {\n node = nodes[i], node.x -= sx, node.y -= sy;\n }\n }\n\n force.initialize = function(_) {\n nodes = _;\n };\n\n force.x = function(_) {\n return arguments.length ? (x = +_, force) : x;\n };\n\n force.y = function(_) {\n return arguments.length ? (y = +_, force) : y;\n };\n\n return force;\n}\n","export default function(x) {\n return function() {\n return x;\n };\n}\n","export default function() {\n return (Math.random() - 0.5) * 1e-6;\n}\n","export default function(d) {\n var x = +this._x.call(null, d),\n y = +this._y.call(null, d);\n return add(this.cover(x, y), x, y, d);\n}\n\nfunction add(tree, x, y, d) {\n if (isNaN(x) || isNaN(y)) return tree; // ignore invalid points\n\n var parent,\n node = tree._root,\n leaf = {data: d},\n x0 = tree._x0,\n y0 = tree._y0,\n x1 = tree._x1,\n y1 = tree._y1,\n xm,\n ym,\n xp,\n yp,\n right,\n bottom,\n i,\n j;\n\n // If the tree is empty, initialize the root as a leaf.\n if (!node) return tree._root = leaf, tree;\n\n // Find the existing leaf for the new point, or add it.\n while (node.length) {\n if (right = x >= (xm = (x0 + x1) / 2)) x0 = xm; else x1 = xm;\n if (bottom = y >= (ym = (y0 + y1) / 2)) y0 = ym; else y1 = ym;\n if (parent = node, !(node = node[i = bottom << 1 | right])) return parent[i] = leaf, tree;\n }\n\n // Is the new point is exactly coincident with the existing point?\n xp = +tree._x.call(null, node.data);\n yp = +tree._y.call(null, node.data);\n if (x === xp && y === yp) return leaf.next = node, parent ? parent[i] = leaf : tree._root = leaf, tree;\n\n // Otherwise, split the leaf node until the old and new point are separated.\n do {\n parent = parent ? parent[i] = new Array(4) : tree._root = new Array(4);\n if (right = x >= (xm = (x0 + x1) / 2)) x0 = xm; else x1 = xm;\n if (bottom = y >= (ym = (y0 + y1) / 2)) y0 = ym; else y1 = ym;\n } while ((i = bottom << 1 | right) === (j = (yp >= ym) << 1 | (xp >= xm)));\n return parent[j] = node, parent[i] = leaf, tree;\n}\n\nexport function addAll(data) {\n var d, i, n = data.length,\n x,\n y,\n xz = new Array(n),\n yz = new Array(n),\n x0 = Infinity,\n y0 = Infinity,\n x1 = -Infinity,\n y1 = -Infinity;\n\n // Compute the points and their extent.\n for (i = 0; i < n; ++i) {\n if (isNaN(x = +this._x.call(null, d = data[i])) || isNaN(y = +this._y.call(null, d))) continue;\n xz[i] = x;\n yz[i] = y;\n if (x < x0) x0 = x;\n if (x > x1) x1 = x;\n if (y < y0) y0 = y;\n if (y > y1) y1 = y;\n }\n\n // If there were no (valid) points, inherit the existing extent.\n if (x1 < x0) x0 = this._x0, x1 = this._x1;\n if (y1 < y0) y0 = this._y0, y1 = this._y1;\n\n // Expand the tree to cover the new points.\n this.cover(x0, y0).cover(x1, y1);\n\n // Add the new points.\n for (i = 0; i < n; ++i) {\n add(this, xz[i], yz[i], data[i]);\n }\n\n return this;\n}\n","export default function(x, y) {\n if (isNaN(x = +x) || isNaN(y = +y)) return this; // ignore invalid points\n\n var x0 = this._x0,\n y0 = this._y0,\n x1 = this._x1,\n y1 = this._y1;\n\n // If the quadtree has no extent, initialize them.\n // Integer extent are necessary so that if we later double the extent,\n // the existing quadrant boundaries don’t change due to floating point error!\n if (isNaN(x0)) {\n x1 = (x0 = Math.floor(x)) + 1;\n y1 = (y0 = Math.floor(y)) + 1;\n }\n\n // Otherwise, double repeatedly to cover.\n else if (x0 > x || x > x1 || y0 > y || y > y1) {\n var z = x1 - x0,\n node = this._root,\n parent,\n i;\n\n switch (i = (y < (y0 + y1) / 2) << 1 | (x < (x0 + x1) / 2)) {\n case 0: {\n do parent = new Array(4), parent[i] = node, node = parent;\n while (z *= 2, x1 = x0 + z, y1 = y0 + z, x > x1 || y > y1);\n break;\n }\n case 1: {\n do parent = new Array(4), parent[i] = node, node = parent;\n while (z *= 2, x0 = x1 - z, y1 = y0 + z, x0 > x || y > y1);\n break;\n }\n case 2: {\n do parent = new Array(4), parent[i] = node, node = parent;\n while (z *= 2, x1 = x0 + z, y0 = y1 - z, x > x1 || y0 > y);\n break;\n }\n case 3: {\n do parent = new Array(4), parent[i] = node, node = parent;\n while (z *= 2, x0 = x1 - z, y0 = y1 - z, x0 > x || y0 > y);\n break;\n }\n }\n\n if (this._root && this._root.length) this._root = node;\n }\n\n // If the quadtree covers the point already, just return.\n else return this;\n\n this._x0 = x0;\n this._y0 = y0;\n this._x1 = x1;\n this._y1 = y1;\n return this;\n}\n","export default function() {\n var data = [];\n this.visit(function(node) {\n if (!node.length) do data.push(node.data); while (node = node.next)\n });\n return data;\n}\n","export default function(_) {\n return arguments.length\n ? this.cover(+_[0][0], +_[0][1]).cover(+_[1][0], +_[1][1])\n : isNaN(this._x0) ? undefined : [[this._x0, this._y0], [this._x1, this._y1]];\n}\n","export default function(node, x0, y0, x1, y1) {\n this.node = node;\n this.x0 = x0;\n this.y0 = y0;\n this.x1 = x1;\n this.y1 = y1;\n}\n","import Quad from \"./quad\";\n\nexport default function(x, y, radius) {\n var data,\n x0 = this._x0,\n y0 = this._y0,\n x1,\n y1,\n x2,\n y2,\n x3 = this._x1,\n y3 = this._y1,\n quads = [],\n node = this._root,\n q,\n i;\n\n if (node) quads.push(new Quad(node, x0, y0, x3, y3));\n if (radius == null) radius = Infinity;\n else {\n x0 = x - radius, y0 = y - radius;\n x3 = x + radius, y3 = y + radius;\n radius *= radius;\n }\n\n while (q = quads.pop()) {\n\n // Stop searching if this quadrant can’t contain a closer node.\n if (!(node = q.node)\n || (x1 = q.x0) > x3\n || (y1 = q.y0) > y3\n || (x2 = q.x1) < x0\n || (y2 = q.y1) < y0) continue;\n\n // Bisect the current quadrant.\n if (node.length) {\n var xm = (x1 + x2) / 2,\n ym = (y1 + y2) / 2;\n\n quads.push(\n new Quad(node[3], xm, ym, x2, y2),\n new Quad(node[2], x1, ym, xm, y2),\n new Quad(node[1], xm, y1, x2, ym),\n new Quad(node[0], x1, y1, xm, ym)\n );\n\n // Visit the closest quadrant first.\n if (i = (y >= ym) << 1 | (x >= xm)) {\n q = quads[quads.length - 1];\n quads[quads.length - 1] = quads[quads.length - 1 - i];\n quads[quads.length - 1 - i] = q;\n }\n }\n\n // Visit this point. (Visiting coincident points isn’t necessary!)\n else {\n var dx = x - +this._x.call(null, node.data),\n dy = y - +this._y.call(null, node.data),\n d2 = dx * dx + dy * dy;\n if (d2 < radius) {\n var d = Math.sqrt(radius = d2);\n x0 = x - d, y0 = y - d;\n x3 = x + d, y3 = y + d;\n data = node.data;\n }\n }\n }\n\n return data;\n}\n","export default function(d) {\n if (isNaN(x = +this._x.call(null, d)) || isNaN(y = +this._y.call(null, d))) return this; // ignore invalid points\n\n var parent,\n node = this._root,\n retainer,\n previous,\n next,\n x0 = this._x0,\n y0 = this._y0,\n x1 = this._x1,\n y1 = this._y1,\n x,\n y,\n xm,\n ym,\n right,\n bottom,\n i,\n j;\n\n // If the tree is empty, initialize the root as a leaf.\n if (!node) return this;\n\n // Find the leaf node for the point.\n // While descending, also retain the deepest parent with a non-removed sibling.\n if (node.length) while (true) {\n if (right = x >= (xm = (x0 + x1) / 2)) x0 = xm; else x1 = xm;\n if (bottom = y >= (ym = (y0 + y1) / 2)) y0 = ym; else y1 = ym;\n if (!(parent = node, node = node[i = bottom << 1 | right])) return this;\n if (!node.length) break;\n if (parent[(i + 1) & 3] || parent[(i + 2) & 3] || parent[(i + 3) & 3]) retainer = parent, j = i;\n }\n\n // Find the point to remove.\n while (node.data !== d) if (!(previous = node, node = node.next)) return this;\n if (next = node.next) delete node.next;\n\n // If there are multiple coincident points, remove just the point.\n if (previous) return (next ? previous.next = next : delete previous.next), this;\n\n // If this is the root point, remove it.\n if (!parent) return this._root = next, this;\n\n // Remove this leaf.\n next ? parent[i] = next : delete parent[i];\n\n // If the parent now contains exactly one leaf, collapse superfluous parents.\n if ((node = parent[0] || parent[1] || parent[2] || parent[3])\n && node === (parent[3] || parent[2] || parent[1] || parent[0])\n && !node.length) {\n if (retainer) retainer[j] = node;\n else this._root = node;\n }\n\n return this;\n}\n\nexport function removeAll(data) {\n for (var i = 0, n = data.length; i < n; ++i) this.remove(data[i]);\n return this;\n}\n","export default function() {\n return this._root;\n}\n","export default function() {\n var size = 0;\n this.visit(function(node) {\n if (!node.length) do ++size; while (node = node.next)\n });\n return size;\n}\n","import Quad from \"./quad\";\n\nexport default function(callback) {\n var quads = [], q, node = this._root, child, x0, y0, x1, y1;\n if (node) quads.push(new Quad(node, this._x0, this._y0, this._x1, this._y1));\n while (q = quads.pop()) {\n if (!callback(node = q.node, x0 = q.x0, y0 = q.y0, x1 = q.x1, y1 = q.y1) && node.length) {\n var xm = (x0 + x1) / 2, ym = (y0 + y1) / 2;\n if (child = node[3]) quads.push(new Quad(child, xm, ym, x1, y1));\n if (child = node[2]) quads.push(new Quad(child, x0, ym, xm, y1));\n if (child = node[1]) quads.push(new Quad(child, xm, y0, x1, ym));\n if (child = node[0]) quads.push(new Quad(child, x0, y0, xm, ym));\n }\n }\n return this;\n}\n","import Quad from \"./quad\";\n\nexport default function(callback) {\n var quads = [], next = [], q;\n if (this._root) quads.push(new Quad(this._root, this._x0, this._y0, this._x1, this._y1));\n while (q = quads.pop()) {\n var node = q.node;\n if (node.length) {\n var child, x0 = q.x0, y0 = q.y0, x1 = q.x1, y1 = q.y1, xm = (x0 + x1) / 2, ym = (y0 + y1) / 2;\n if (child = node[0]) quads.push(new Quad(child, x0, y0, xm, ym));\n if (child = node[1]) quads.push(new Quad(child, xm, y0, x1, ym));\n if (child = node[2]) quads.push(new Quad(child, x0, ym, xm, y1));\n if (child = node[3]) quads.push(new Quad(child, xm, ym, x1, y1));\n }\n next.push(q);\n }\n while (q = next.pop()) {\n callback(q.node, q.x0, q.y0, q.x1, q.y1);\n }\n return this;\n}\n","export function defaultX(d) {\n return d[0];\n}\n\nexport default function(_) {\n return arguments.length ? (this._x = _, this) : this._x;\n}\n","export function defaultY(d) {\n return d[1];\n}\n\nexport default function(_) {\n return arguments.length ? (this._y = _, this) : this._y;\n}\n","import tree_add, {addAll as tree_addAll} from \"./add\";\nimport tree_cover from \"./cover\";\nimport tree_data from \"./data\";\nimport tree_extent from \"./extent\";\nimport tree_find from \"./find\";\nimport tree_remove, {removeAll as tree_removeAll} from \"./remove\";\nimport tree_root from \"./root\";\nimport tree_size from \"./size\";\nimport tree_visit from \"./visit\";\nimport tree_visitAfter from \"./visitAfter\";\nimport tree_x, {defaultX} from \"./x\";\nimport tree_y, {defaultY} from \"./y\";\n\nexport default function quadtree(nodes, x, y) {\n var tree = new Quadtree(x == null ? defaultX : x, y == null ? defaultY : y, NaN, NaN, NaN, NaN);\n return nodes == null ? tree : tree.addAll(nodes);\n}\n\nfunction Quadtree(x, y, x0, y0, x1, y1) {\n this._x = x;\n this._y = y;\n this._x0 = x0;\n this._y0 = y0;\n this._x1 = x1;\n this._y1 = y1;\n this._root = undefined;\n}\n\nfunction leaf_copy(leaf) {\n var copy = {data: leaf.data}, next = copy;\n while (leaf = leaf.next) next = next.next = {data: leaf.data};\n return copy;\n}\n\nvar treeProto = quadtree.prototype = Quadtree.prototype;\n\ntreeProto.copy = function() {\n var copy = new Quadtree(this._x, this._y, this._x0, this._y0, this._x1, this._y1),\n node = this._root,\n nodes,\n child;\n\n if (!node) return copy;\n\n if (!node.length) return copy._root = leaf_copy(node), copy;\n\n nodes = [{source: node, target: copy._root = new Array(4)}];\n while (node = nodes.pop()) {\n for (var i = 0; i < 4; ++i) {\n if (child = node.source[i]) {\n if (child.length) nodes.push({source: child, target: node.target[i] = new Array(4)});\n else node.target[i] = leaf_copy(child);\n }\n }\n }\n\n return copy;\n};\n\ntreeProto.add = tree_add;\ntreeProto.addAll = tree_addAll;\ntreeProto.cover = tree_cover;\ntreeProto.data = tree_data;\ntreeProto.extent = tree_extent;\ntreeProto.find = tree_find;\ntreeProto.remove = tree_remove;\ntreeProto.removeAll = tree_removeAll;\ntreeProto.root = tree_root;\ntreeProto.size = tree_size;\ntreeProto.visit = tree_visit;\ntreeProto.visitAfter = tree_visitAfter;\ntreeProto.x = tree_x;\ntreeProto.y = tree_y;\n","export {default as quadtree} from \"./src/quadtree\";\n","import constant from \"./constant\";\nimport jiggle from \"./jiggle\";\nimport {quadtree} from \"d3-quadtree\";\n\nfunction x(d) {\n return d.x + d.vx;\n}\n\nfunction y(d) {\n return d.y + d.vy;\n}\n\nexport default function(radius) {\n var nodes,\n radii,\n strength = 1,\n iterations = 1;\n\n if (typeof radius !== \"function\") radius = constant(radius == null ? 1 : +radius);\n\n function force() {\n var i, n = nodes.length,\n tree,\n node,\n xi,\n yi,\n ri,\n ri2;\n\n for (var k = 0; k < iterations; ++k) {\n tree = quadtree(nodes, x, y).visitAfter(prepare);\n for (i = 0; i < n; ++i) {\n node = nodes[i];\n ri = radii[node.index], ri2 = ri * ri;\n xi = node.x + node.vx;\n yi = node.y + node.vy;\n tree.visit(apply);\n }\n }\n\n function apply(quad, x0, y0, x1, y1) {\n var data = quad.data, rj = quad.r, r = ri + rj;\n if (data) {\n if (data.index > node.index) {\n var x = xi - data.x - data.vx,\n y = yi - data.y - data.vy,\n l = x * x + y * y;\n if (l < r * r) {\n if (x === 0) x = jiggle(), l += x * x;\n if (y === 0) y = jiggle(), l += y * y;\n l = (r - (l = Math.sqrt(l))) / l * strength;\n node.vx += (x *= l) * (r = (rj *= rj) / (ri2 + rj));\n node.vy += (y *= l) * r;\n data.vx -= x * (r = 1 - r);\n data.vy -= y * r;\n }\n }\n return;\n }\n return x0 > xi + r || x1 < xi - r || y0 > yi + r || y1 < yi - r;\n }\n }\n\n function prepare(quad) {\n if (quad.data) return quad.r = radii[quad.data.index];\n for (var i = quad.r = 0; i < 4; ++i) {\n if (quad[i] && quad[i].r > quad.r) {\n quad.r = quad[i].r;\n }\n }\n }\n\n function initialize() {\n if (!nodes) return;\n var i, n = nodes.length, node;\n radii = new Array(n);\n for (i = 0; i < n; ++i) node = nodes[i], radii[node.index] = +radius(node, i, nodes);\n }\n\n force.initialize = function(_) {\n nodes = _;\n initialize();\n };\n\n force.iterations = function(_) {\n return arguments.length ? (iterations = +_, force) : iterations;\n };\n\n force.strength = function(_) {\n return arguments.length ? (strength = +_, force) : strength;\n };\n\n force.radius = function(_) {\n return arguments.length ? (radius = typeof _ === \"function\" ? _ : constant(+_), initialize(), force) : radius;\n };\n\n return force;\n}\n","import constant from \"./constant\";\nimport jiggle from \"./jiggle\";\nimport {map} from \"d3-collection\";\n\nfunction index(d) {\n return d.index;\n}\n\nfunction find(nodeById, nodeId) {\n var node = nodeById.get(nodeId);\n if (!node) throw new Error(\"missing: \" + nodeId);\n return node;\n}\n\nexport default function(links) {\n var id = index,\n strength = defaultStrength,\n strengths,\n distance = constant(30),\n distances,\n nodes,\n count,\n bias,\n iterations = 1;\n\n if (links == null) links = [];\n\n function defaultStrength(link) {\n return 1 / Math.min(count[link.source.index], count[link.target.index]);\n }\n\n function force(alpha) {\n for (var k = 0, n = links.length; k < iterations; ++k) {\n for (var i = 0, link, source, target, x, y, l, b; i < n; ++i) {\n link = links[i], source = link.source, target = link.target;\n x = target.x + target.vx - source.x - source.vx || jiggle();\n y = target.y + target.vy - source.y - source.vy || jiggle();\n l = Math.sqrt(x * x + y * y);\n l = (l - distances[i]) / l * alpha * strengths[i];\n x *= l, y *= l;\n target.vx -= x * (b = bias[i]);\n target.vy -= y * b;\n source.vx += x * (b = 1 - b);\n source.vy += y * b;\n }\n }\n }\n\n function initialize() {\n if (!nodes) return;\n\n var i,\n n = nodes.length,\n m = links.length,\n nodeById = map(nodes, id),\n link;\n\n for (i = 0, count = new Array(n); i < m; ++i) {\n link = links[i], link.index = i;\n if (typeof link.source !== \"object\") link.source = find(nodeById, link.source);\n if (typeof link.target !== \"object\") link.target = find(nodeById, link.target);\n count[link.source.index] = (count[link.source.index] || 0) + 1;\n count[link.target.index] = (count[link.target.index] || 0) + 1;\n }\n\n for (i = 0, bias = new Array(m); i < m; ++i) {\n link = links[i], bias[i] = count[link.source.index] / (count[link.source.index] + count[link.target.index]);\n }\n\n strengths = new Array(m), initializeStrength();\n distances = new Array(m), initializeDistance();\n }\n\n function initializeStrength() {\n if (!nodes) return;\n\n for (var i = 0, n = links.length; i < n; ++i) {\n strengths[i] = +strength(links[i], i, links);\n }\n }\n\n function initializeDistance() {\n if (!nodes) return;\n\n for (var i = 0, n = links.length; i < n; ++i) {\n distances[i] = +distance(links[i], i, links);\n }\n }\n\n force.initialize = function(_) {\n nodes = _;\n initialize();\n };\n\n force.links = function(_) {\n return arguments.length ? (links = _, initialize(), force) : links;\n };\n\n force.id = function(_) {\n return arguments.length ? (id = _, force) : id;\n };\n\n force.iterations = function(_) {\n return arguments.length ? (iterations = +_, force) : iterations;\n };\n\n force.strength = function(_) {\n return arguments.length ? (strength = typeof _ === \"function\" ? _ : constant(+_), initializeStrength(), force) : strength;\n };\n\n force.distance = function(_) {\n return arguments.length ? (distance = typeof _ === \"function\" ? _ : constant(+_), initializeDistance(), force) : distance;\n };\n\n return force;\n}\n","import {dispatch} from \"d3-dispatch\";\nimport {map} from \"d3-collection\";\nimport {timer} from \"d3-timer\";\n\nexport function x(d) {\n return d.x;\n}\n\nexport function y(d) {\n return d.y;\n}\n\nvar initialRadius = 10,\n initialAngle = Math.PI * (3 - Math.sqrt(5));\n\nexport default function(nodes) {\n var simulation,\n alpha = 1,\n alphaMin = 0.001,\n alphaDecay = 1 - Math.pow(alphaMin, 1 / 300),\n alphaTarget = 0,\n velocityDecay = 0.6,\n forces = map(),\n stepper = timer(step),\n event = dispatch(\"tick\", \"end\");\n\n if (nodes == null) nodes = [];\n\n function step() {\n tick();\n event.call(\"tick\", simulation);\n if (alpha < alphaMin) {\n stepper.stop();\n event.call(\"end\", simulation);\n }\n }\n\n function tick() {\n var i, n = nodes.length, node;\n\n alpha += (alphaTarget - alpha) * alphaDecay;\n\n forces.each(function(force) {\n force(alpha);\n });\n\n for (i = 0; i < n; ++i) {\n node = nodes[i];\n if (node.fx == null) node.x += node.vx *= velocityDecay;\n else node.x = node.fx, node.vx = 0;\n if (node.fy == null) node.y += node.vy *= velocityDecay;\n else node.y = node.fy, node.vy = 0;\n }\n }\n\n function initializeNodes() {\n for (var i = 0, n = nodes.length, node; i < n; ++i) {\n node = nodes[i], node.index = i;\n if (isNaN(node.x) || isNaN(node.y)) {\n var radius = initialRadius * Math.sqrt(i), angle = i * initialAngle;\n node.x = radius * Math.cos(angle);\n node.y = radius * Math.sin(angle);\n }\n if (isNaN(node.vx) || isNaN(node.vy)) {\n node.vx = node.vy = 0;\n }\n }\n }\n\n function initializeForce(force) {\n if (force.initialize) force.initialize(nodes);\n return force;\n }\n\n initializeNodes();\n\n return simulation = {\n tick: tick,\n\n restart: function() {\n return stepper.restart(step), simulation;\n },\n\n stop: function() {\n return stepper.stop(), simulation;\n },\n\n nodes: function(_) {\n return arguments.length ? (nodes = _, initializeNodes(), forces.each(initializeForce), simulation) : nodes;\n },\n\n alpha: function(_) {\n return arguments.length ? (alpha = +_, simulation) : alpha;\n },\n\n alphaMin: function(_) {\n return arguments.length ? (alphaMin = +_, simulation) : alphaMin;\n },\n\n alphaDecay: function(_) {\n return arguments.length ? (alphaDecay = +_, simulation) : +alphaDecay;\n },\n\n alphaTarget: function(_) {\n return arguments.length ? (alphaTarget = +_, simulation) : alphaTarget;\n },\n\n velocityDecay: function(_) {\n return arguments.length ? (velocityDecay = 1 - _, simulation) : 1 - velocityDecay;\n },\n\n force: function(name, _) {\n return arguments.length > 1 ? ((_ == null ? forces.remove(name) : forces.set(name, initializeForce(_))), simulation) : forces.get(name);\n },\n\n find: function(x, y, radius) {\n var i = 0,\n n = nodes.length,\n dx,\n dy,\n d2,\n node,\n closest;\n\n if (radius == null) radius = Infinity;\n else radius *= radius;\n\n for (i = 0; i < n; ++i) {\n node = nodes[i];\n dx = x - node.x;\n dy = y - node.y;\n d2 = dx * dx + dy * dy;\n if (d2 < radius) closest = node, radius = d2;\n }\n\n return closest;\n },\n\n on: function(name, _) {\n return arguments.length > 1 ? (event.on(name, _), simulation) : event.on(name);\n }\n };\n}\n","import constant from \"./constant\";\nimport jiggle from \"./jiggle\";\nimport {quadtree} from \"d3-quadtree\";\nimport {x, y} from \"./simulation\";\n\nexport default function() {\n var nodes,\n node,\n alpha,\n strength = constant(-30),\n strengths,\n distanceMin2 = 1,\n distanceMax2 = Infinity,\n theta2 = 0.81;\n\n function force(_) {\n var i, n = nodes.length, tree = quadtree(nodes, x, y).visitAfter(accumulate);\n for (alpha = _, i = 0; i < n; ++i) node = nodes[i], tree.visit(apply);\n }\n\n function initialize() {\n if (!nodes) return;\n var i, n = nodes.length, node;\n strengths = new Array(n);\n for (i = 0; i < n; ++i) node = nodes[i], strengths[node.index] = +strength(node, i, nodes);\n }\n\n function accumulate(quad) {\n var strength = 0, q, c, weight = 0, x, y, i;\n\n // For internal nodes, accumulate forces from child quadrants.\n if (quad.length) {\n for (x = y = i = 0; i < 4; ++i) {\n if ((q = quad[i]) && (c = Math.abs(q.value))) {\n strength += q.value, weight += c, x += c * q.x, y += c * q.y;\n }\n }\n quad.x = x / weight;\n quad.y = y / weight;\n }\n\n // For leaf nodes, accumulate forces from coincident quadrants.\n else {\n q = quad;\n q.x = q.data.x;\n q.y = q.data.y;\n do strength += strengths[q.data.index];\n while (q = q.next);\n }\n\n quad.value = strength;\n }\n\n function apply(quad, x1, _, x2) {\n if (!quad.value) return true;\n\n var x = quad.x - node.x,\n y = quad.y - node.y,\n w = x2 - x1,\n l = x * x + y * y;\n\n // Apply the Barnes-Hut approximation if possible.\n // Limit forces for very close nodes; randomize direction if coincident.\n if (w * w / theta2 < l) {\n if (l < distanceMax2) {\n if (x === 0) x = jiggle(), l += x * x;\n if (y === 0) y = jiggle(), l += y * y;\n if (l < distanceMin2) l = Math.sqrt(distanceMin2 * l);\n node.vx += x * quad.value * alpha / l;\n node.vy += y * quad.value * alpha / l;\n }\n return true;\n }\n\n // Otherwise, process points directly.\n else if (quad.length || l >= distanceMax2) return;\n\n // Limit forces for very close nodes; randomize direction if coincident.\n if (quad.data !== node || quad.next) {\n if (x === 0) x = jiggle(), l += x * x;\n if (y === 0) y = jiggle(), l += y * y;\n if (l < distanceMin2) l = Math.sqrt(distanceMin2 * l);\n }\n\n do if (quad.data !== node) {\n w = strengths[quad.data.index] * alpha / l;\n node.vx += x * w;\n node.vy += y * w;\n } while (quad = quad.next);\n }\n\n force.initialize = function(_) {\n nodes = _;\n initialize();\n };\n\n force.strength = function(_) {\n return arguments.length ? (strength = typeof _ === \"function\" ? _ : constant(+_), initialize(), force) : strength;\n };\n\n force.distanceMin = function(_) {\n return arguments.length ? (distanceMin2 = _ * _, force) : Math.sqrt(distanceMin2);\n };\n\n force.distanceMax = function(_) {\n return arguments.length ? (distanceMax2 = _ * _, force) : Math.sqrt(distanceMax2);\n };\n\n force.theta = function(_) {\n return arguments.length ? (theta2 = _ * _, force) : Math.sqrt(theta2);\n };\n\n return force;\n}\n","import constant from \"./constant\";\n\nexport default function(radius, x, y) {\n var nodes,\n strength = constant(0.1),\n strengths,\n radiuses;\n\n if (typeof radius !== \"function\") radius = constant(+radius);\n if (x == null) x = 0;\n if (y == null) y = 0;\n\n function force(alpha) {\n for (var i = 0, n = nodes.length; i < n; ++i) {\n var node = nodes[i],\n dx = node.x - x || 1e-6,\n dy = node.y - y || 1e-6,\n r = Math.sqrt(dx * dx + dy * dy),\n k = (radiuses[i] - r) * strengths[i] * alpha / r;\n node.vx += dx * k;\n node.vy += dy * k;\n }\n }\n\n function initialize() {\n if (!nodes) return;\n var i, n = nodes.length;\n strengths = new Array(n);\n radiuses = new Array(n);\n for (i = 0; i < n; ++i) {\n radiuses[i] = +radius(nodes[i], i, nodes);\n strengths[i] = isNaN(radiuses[i]) ? 0 : +strength(nodes[i], i, nodes);\n }\n }\n\n force.initialize = function(_) {\n nodes = _, initialize();\n };\n\n force.strength = function(_) {\n return arguments.length ? (strength = typeof _ === \"function\" ? _ : constant(+_), initialize(), force) : strength;\n };\n\n force.radius = function(_) {\n return arguments.length ? (radius = typeof _ === \"function\" ? _ : constant(+_), initialize(), force) : radius;\n };\n\n force.x = function(_) {\n return arguments.length ? (x = +_, force) : x;\n };\n\n force.y = function(_) {\n return arguments.length ? (y = +_, force) : y;\n };\n\n return force;\n}\n","import constant from \"./constant\";\n\nexport default function(x) {\n var strength = constant(0.1),\n nodes,\n strengths,\n xz;\n\n if (typeof x !== \"function\") x = constant(x == null ? 0 : +x);\n\n function force(alpha) {\n for (var i = 0, n = nodes.length, node; i < n; ++i) {\n node = nodes[i], node.vx += (xz[i] - node.x) * strengths[i] * alpha;\n }\n }\n\n function initialize() {\n if (!nodes) return;\n var i, n = nodes.length;\n strengths = new Array(n);\n xz = new Array(n);\n for (i = 0; i < n; ++i) {\n strengths[i] = isNaN(xz[i] = +x(nodes[i], i, nodes)) ? 0 : +strength(nodes[i], i, nodes);\n }\n }\n\n force.initialize = function(_) {\n nodes = _;\n initialize();\n };\n\n force.strength = function(_) {\n return arguments.length ? (strength = typeof _ === \"function\" ? _ : constant(+_), initialize(), force) : strength;\n };\n\n force.x = function(_) {\n return arguments.length ? (x = typeof _ === \"function\" ? _ : constant(+_), initialize(), force) : x;\n };\n\n return force;\n}\n","import constant from \"./constant\";\n\nexport default function(y) {\n var strength = constant(0.1),\n nodes,\n strengths,\n yz;\n\n if (typeof y !== \"function\") y = constant(y == null ? 0 : +y);\n\n function force(alpha) {\n for (var i = 0, n = nodes.length, node; i < n; ++i) {\n node = nodes[i], node.vy += (yz[i] - node.y) * strengths[i] * alpha;\n }\n }\n\n function initialize() {\n if (!nodes) return;\n var i, n = nodes.length;\n strengths = new Array(n);\n yz = new Array(n);\n for (i = 0; i < n; ++i) {\n strengths[i] = isNaN(yz[i] = +y(nodes[i], i, nodes)) ? 0 : +strength(nodes[i], i, nodes);\n }\n }\n\n force.initialize = function(_) {\n nodes = _;\n initialize();\n };\n\n force.strength = function(_) {\n return arguments.length ? (strength = typeof _ === \"function\" ? _ : constant(+_), initialize(), force) : strength;\n };\n\n force.y = function(_) {\n return arguments.length ? (y = typeof _ === \"function\" ? _ : constant(+_), initialize(), force) : y;\n };\n\n return force;\n}\n","export {default as forceCenter} from \"./src/center\";\nexport {default as forceCollide} from \"./src/collide\";\nexport {default as forceLink} from \"./src/link\";\nexport {default as forceManyBody} from \"./src/manyBody\";\nexport {default as forceRadial} from \"./src/radial\";\nexport {default as forceSimulation} from \"./src/simulation\";\nexport {default as forceX} from \"./src/x\";\nexport {default as forceY} from \"./src/y\";\n","// Computes the decimal coefficient and exponent of the specified number x with\n// significant digits p, where x is positive and p is in [1, 21] or undefined.\n// For example, formatDecimal(1.23) returns [\"123\", 0].\nexport default function(x, p) {\n if ((i = (x = p ? x.toExponential(p - 1) : x.toExponential()).indexOf(\"e\")) < 0) return null; // NaN, ±Infinity\n var i, coefficient = x.slice(0, i);\n\n // The string returned by toExponential either has the form \\d\\.\\d+e[-+]\\d+\n // (e.g., 1.2e+3) or the form \\de[-+]\\d+ (e.g., 1e+3).\n return [\n coefficient.length > 1 ? coefficient[0] + coefficient.slice(2) : coefficient,\n +x.slice(i + 1)\n ];\n}\n","import formatDecimal from \"./formatDecimal\";\n\nexport default function(x) {\n return x = formatDecimal(Math.abs(x)), x ? x[1] : NaN;\n}\n","export default function(grouping, thousands) {\n return function(value, width) {\n var i = value.length,\n t = [],\n j = 0,\n g = grouping[0],\n length = 0;\n\n while (i > 0 && g > 0) {\n if (length + g + 1 > width) g = Math.max(1, width - length);\n t.push(value.substring(i -= g, i + g));\n if ((length += g + 1) > width) break;\n g = grouping[j = (j + 1) % grouping.length];\n }\n\n return t.reverse().join(thousands);\n };\n}\n","export default function(numerals) {\n return function(value) {\n return value.replace(/[0-9]/g, function(i) {\n return numerals[+i];\n });\n };\n}\n","// [[fill]align][sign][symbol][0][width][,][.precision][~][type]\nvar re = /^(?:(.)?([<>=^]))?([+\\-\\( ])?([$#])?(0)?(\\d+)?(,)?(\\.\\d+)?(~)?([a-z%])?$/i;\n\nexport default function formatSpecifier(specifier) {\n return new FormatSpecifier(specifier);\n}\n\nformatSpecifier.prototype = FormatSpecifier.prototype; // instanceof\n\nfunction FormatSpecifier(specifier) {\n if (!(match = re.exec(specifier))) throw new Error(\"invalid format: \" + specifier);\n var match;\n this.fill = match[1] || \" \";\n this.align = match[2] || \">\";\n this.sign = match[3] || \"-\";\n this.symbol = match[4] || \"\";\n this.zero = !!match[5];\n this.width = match[6] && +match[6];\n this.comma = !!match[7];\n this.precision = match[8] && +match[8].slice(1);\n this.trim = !!match[9];\n this.type = match[10] || \"\";\n}\n\nFormatSpecifier.prototype.toString = function() {\n return this.fill\n + this.align\n + this.sign\n + this.symbol\n + (this.zero ? \"0\" : \"\")\n + (this.width == null ? \"\" : Math.max(1, this.width | 0))\n + (this.comma ? \",\" : \"\")\n + (this.precision == null ? \"\" : \".\" + Math.max(0, this.precision | 0))\n + (this.trim ? \"~\" : \"\")\n + this.type;\n};\n","// Trims insignificant zeros, e.g., replaces 1.2000k with 1.2k.\nexport default function(s) {\n out: for (var n = s.length, i = 1, i0 = -1, i1; i < n; ++i) {\n switch (s[i]) {\n case \".\": i0 = i1 = i; break;\n case \"0\": if (i0 === 0) i0 = i; i1 = i; break;\n default: if (i0 > 0) { if (!+s[i]) break out; i0 = 0; } break;\n }\n }\n return i0 > 0 ? s.slice(0, i0) + s.slice(i1 + 1) : s;\n}\n","import formatDecimal from \"./formatDecimal\";\n\nexport var prefixExponent;\n\nexport default function(x, p) {\n var d = formatDecimal(x, p);\n if (!d) return x + \"\";\n var coefficient = d[0],\n exponent = d[1],\n i = exponent - (prefixExponent = Math.max(-8, Math.min(8, Math.floor(exponent / 3))) * 3) + 1,\n n = coefficient.length;\n return i === n ? coefficient\n : i > n ? coefficient + new Array(i - n + 1).join(\"0\")\n : i > 0 ? coefficient.slice(0, i) + \".\" + coefficient.slice(i)\n : \"0.\" + new Array(1 - i).join(\"0\") + formatDecimal(x, Math.max(0, p + i - 1))[0]; // less than 1y!\n}\n","import formatDecimal from \"./formatDecimal\";\n\nexport default function(x, p) {\n var d = formatDecimal(x, p);\n if (!d) return x + \"\";\n var coefficient = d[0],\n exponent = d[1];\n return exponent < 0 ? \"0.\" + new Array(-exponent).join(\"0\") + coefficient\n : coefficient.length > exponent + 1 ? coefficient.slice(0, exponent + 1) + \".\" + coefficient.slice(exponent + 1)\n : coefficient + new Array(exponent - coefficient.length + 2).join(\"0\");\n}\n","import formatPrefixAuto from \"./formatPrefixAuto\";\nimport formatRounded from \"./formatRounded\";\n\nexport default {\n \"%\": function(x, p) { return (x * 100).toFixed(p); },\n \"b\": function(x) { return Math.round(x).toString(2); },\n \"c\": function(x) { return x + \"\"; },\n \"d\": function(x) { return Math.round(x).toString(10); },\n \"e\": function(x, p) { return x.toExponential(p); },\n \"f\": function(x, p) { return x.toFixed(p); },\n \"g\": function(x, p) { return x.toPrecision(p); },\n \"o\": function(x) { return Math.round(x).toString(8); },\n \"p\": function(x, p) { return formatRounded(x * 100, p); },\n \"r\": formatRounded,\n \"s\": formatPrefixAuto,\n \"X\": function(x) { return Math.round(x).toString(16).toUpperCase(); },\n \"x\": function(x) { return Math.round(x).toString(16); }\n};\n","export default function(x) {\n return x;\n}\n","import exponent from \"./exponent\";\nimport formatGroup from \"./formatGroup\";\nimport formatNumerals from \"./formatNumerals\";\nimport formatSpecifier from \"./formatSpecifier\";\nimport formatTrim from \"./formatTrim\";\nimport formatTypes from \"./formatTypes\";\nimport {prefixExponent} from \"./formatPrefixAuto\";\nimport identity from \"./identity\";\n\nvar prefixes = [\"y\",\"z\",\"a\",\"f\",\"p\",\"n\",\"µ\",\"m\",\"\",\"k\",\"M\",\"G\",\"T\",\"P\",\"E\",\"Z\",\"Y\"];\n\nexport default function(locale) {\n var group = locale.grouping && locale.thousands ? formatGroup(locale.grouping, locale.thousands) : identity,\n currency = locale.currency,\n decimal = locale.decimal,\n numerals = locale.numerals ? formatNumerals(locale.numerals) : identity,\n percent = locale.percent || \"%\";\n\n function newFormat(specifier) {\n specifier = formatSpecifier(specifier);\n\n var fill = specifier.fill,\n align = specifier.align,\n sign = specifier.sign,\n symbol = specifier.symbol,\n zero = specifier.zero,\n width = specifier.width,\n comma = specifier.comma,\n precision = specifier.precision,\n trim = specifier.trim,\n type = specifier.type;\n\n // The \"n\" type is an alias for \",g\".\n if (type === \"n\") comma = true, type = \"g\";\n\n // The \"\" type, and any invalid type, is an alias for \".12~g\".\n else if (!formatTypes[type]) precision == null && (precision = 12), trim = true, type = \"g\";\n\n // If zero fill is specified, padding goes after sign and before digits.\n if (zero || (fill === \"0\" && align === \"=\")) zero = true, fill = \"0\", align = \"=\";\n\n // Compute the prefix and suffix.\n // For SI-prefix, the suffix is lazily computed.\n var prefix = symbol === \"$\" ? currency[0] : symbol === \"#\" && /[boxX]/.test(type) ? \"0\" + type.toLowerCase() : \"\",\n suffix = symbol === \"$\" ? currency[1] : /[%p]/.test(type) ? percent : \"\";\n\n // What format function should we use?\n // Is this an integer type?\n // Can this type generate exponential notation?\n var formatType = formatTypes[type],\n maybeSuffix = /[defgprs%]/.test(type);\n\n // Set the default precision if not specified,\n // or clamp the specified precision to the supported range.\n // For significant precision, it must be in [1, 21].\n // For fixed precision, it must be in [0, 20].\n precision = precision == null ? 6\n : /[gprs]/.test(type) ? Math.max(1, Math.min(21, precision))\n : Math.max(0, Math.min(20, precision));\n\n function format(value) {\n var valuePrefix = prefix,\n valueSuffix = suffix,\n i, n, c;\n\n if (type === \"c\") {\n valueSuffix = formatType(value) + valueSuffix;\n value = \"\";\n } else {\n value = +value;\n\n // Perform the initial formatting.\n var valueNegative = value < 0;\n value = formatType(Math.abs(value), precision);\n\n // Trim insignificant zeros.\n if (trim) value = formatTrim(value);\n\n // If a negative value rounds to zero during formatting, treat as positive.\n if (valueNegative && +value === 0) valueNegative = false;\n\n // Compute the prefix and suffix.\n valuePrefix = (valueNegative ? (sign === \"(\" ? sign : \"-\") : sign === \"-\" || sign === \"(\" ? \"\" : sign) + valuePrefix;\n valueSuffix = (type === \"s\" ? prefixes[8 + prefixExponent / 3] : \"\") + valueSuffix + (valueNegative && sign === \"(\" ? \")\" : \"\");\n\n // Break the formatted value into the integer “value” part that can be\n // grouped, and fractional or exponential “suffix” part that is not.\n if (maybeSuffix) {\n i = -1, n = value.length;\n while (++i < n) {\n if (c = value.charCodeAt(i), 48 > c || c > 57) {\n valueSuffix = (c === 46 ? decimal + value.slice(i + 1) : value.slice(i)) + valueSuffix;\n value = value.slice(0, i);\n break;\n }\n }\n }\n }\n\n // If the fill character is not \"0\", grouping is applied before padding.\n if (comma && !zero) value = group(value, Infinity);\n\n // Compute the padding.\n var length = valuePrefix.length + value.length + valueSuffix.length,\n padding = length < width ? new Array(width - length + 1).join(fill) : \"\";\n\n // If the fill character is \"0\", grouping is applied after padding.\n if (comma && zero) value = group(padding + value, padding.length ? width - valueSuffix.length : Infinity), padding = \"\";\n\n // Reconstruct the final output based on the desired alignment.\n switch (align) {\n case \"<\": value = valuePrefix + value + valueSuffix + padding; break;\n case \"=\": value = valuePrefix + padding + value + valueSuffix; break;\n case \"^\": value = padding.slice(0, length = padding.length >> 1) + valuePrefix + value + valueSuffix + padding.slice(length); break;\n default: value = padding + valuePrefix + value + valueSuffix; break;\n }\n\n return numerals(value);\n }\n\n format.toString = function() {\n return specifier + \"\";\n };\n\n return format;\n }\n\n function formatPrefix(specifier, value) {\n var f = newFormat((specifier = formatSpecifier(specifier), specifier.type = \"f\", specifier)),\n e = Math.max(-8, Math.min(8, Math.floor(exponent(value) / 3))) * 3,\n k = Math.pow(10, -e),\n prefix = prefixes[8 + e / 3];\n return function(value) {\n return f(k * value) + prefix;\n };\n }\n\n return {\n format: newFormat,\n formatPrefix: formatPrefix\n };\n}\n","import formatLocale from \"./locale\";\n\nvar locale;\nexport var format;\nexport var formatPrefix;\n\ndefaultLocale({\n decimal: \".\",\n thousands: \",\",\n grouping: [3],\n currency: [\"$\", \"\"]\n});\n\nexport default function defaultLocale(definition) {\n locale = formatLocale(definition);\n format = locale.format;\n formatPrefix = locale.formatPrefix;\n return locale;\n}\n","import exponent from \"./exponent\";\n\nexport default function(step) {\n return Math.max(0, -exponent(Math.abs(step)));\n}\n","import exponent from \"./exponent\";\n\nexport default function(step, value) {\n return Math.max(0, Math.max(-8, Math.min(8, Math.floor(exponent(value) / 3))) * 3 - exponent(Math.abs(step)));\n}\n","import exponent from \"./exponent\";\n\nexport default function(step, max) {\n step = Math.abs(step), max = Math.abs(max) - step;\n return Math.max(0, exponent(max) - exponent(step)) + 1;\n}\n","export {default as formatDefaultLocale, format, formatPrefix} from \"./src/defaultLocale\";\nexport {default as formatLocale} from \"./src/locale\";\nexport {default as formatSpecifier} from \"./src/formatSpecifier\";\nexport {default as precisionFixed} from \"./src/precisionFixed\";\nexport {default as precisionPrefix} from \"./src/precisionPrefix\";\nexport {default as precisionRound} from \"./src/precisionRound\";\n","// Adds floating point numbers with twice the normal precision.\n// Reference: J. R. Shewchuk, Adaptive Precision Floating-Point Arithmetic and\n// Fast Robust Geometric Predicates, Discrete & Computational Geometry 18(3)\n// 305–363 (1997).\n// Code adapted from GeographicLib by Charles F. F. Karney,\n// http://geographiclib.sourceforge.net/\n\nexport default function() {\n return new Adder;\n}\n\nfunction Adder() {\n this.reset();\n}\n\nAdder.prototype = {\n constructor: Adder,\n reset: function() {\n this.s = // rounded value\n this.t = 0; // exact error\n },\n add: function(y) {\n add(temp, y, this.t);\n add(this, temp.s, this.s);\n if (this.s) this.t += temp.t;\n else this.s = temp.t;\n },\n valueOf: function() {\n return this.s;\n }\n};\n\nvar temp = new Adder;\n\nfunction add(adder, a, b) {\n var x = adder.s = a + b,\n bv = x - a,\n av = x - bv;\n adder.t = (a - av) + (b - bv);\n}\n","export var epsilon = 1e-6;\nexport var epsilon2 = 1e-12;\nexport var pi = Math.PI;\nexport var halfPi = pi / 2;\nexport var quarterPi = pi / 4;\nexport var tau = pi * 2;\n\nexport var degrees = 180 / pi;\nexport var radians = pi / 180;\n\nexport var abs = Math.abs;\nexport var atan = Math.atan;\nexport var atan2 = Math.atan2;\nexport var cos = Math.cos;\nexport var ceil = Math.ceil;\nexport var exp = Math.exp;\nexport var floor = Math.floor;\nexport var log = Math.log;\nexport var pow = Math.pow;\nexport var sin = Math.sin;\nexport var sign = Math.sign || function(x) { return x > 0 ? 1 : x < 0 ? -1 : 0; };\nexport var sqrt = Math.sqrt;\nexport var tan = Math.tan;\n\nexport function acos(x) {\n return x > 1 ? 0 : x < -1 ? pi : Math.acos(x);\n}\n\nexport function asin(x) {\n return x > 1 ? halfPi : x < -1 ? -halfPi : Math.asin(x);\n}\n\nexport function haversin(x) {\n return (x = sin(x / 2)) * x;\n}\n","export default function noop() {}\n","function streamGeometry(geometry, stream) {\n if (geometry && streamGeometryType.hasOwnProperty(geometry.type)) {\n streamGeometryType[geometry.type](geometry, stream);\n }\n}\n\nvar streamObjectType = {\n Feature: function(object, stream) {\n streamGeometry(object.geometry, stream);\n },\n FeatureCollection: function(object, stream) {\n var features = object.features, i = -1, n = features.length;\n while (++i < n) streamGeometry(features[i].geometry, stream);\n }\n};\n\nvar streamGeometryType = {\n Sphere: function(object, stream) {\n stream.sphere();\n },\n Point: function(object, stream) {\n object = object.coordinates;\n stream.point(object[0], object[1], object[2]);\n },\n MultiPoint: function(object, stream) {\n var coordinates = object.coordinates, i = -1, n = coordinates.length;\n while (++i < n) object = coordinates[i], stream.point(object[0], object[1], object[2]);\n },\n LineString: function(object, stream) {\n streamLine(object.coordinates, stream, 0);\n },\n MultiLineString: function(object, stream) {\n var coordinates = object.coordinates, i = -1, n = coordinates.length;\n while (++i < n) streamLine(coordinates[i], stream, 0);\n },\n Polygon: function(object, stream) {\n streamPolygon(object.coordinates, stream);\n },\n MultiPolygon: function(object, stream) {\n var coordinates = object.coordinates, i = -1, n = coordinates.length;\n while (++i < n) streamPolygon(coordinates[i], stream);\n },\n GeometryCollection: function(object, stream) {\n var geometries = object.geometries, i = -1, n = geometries.length;\n while (++i < n) streamGeometry(geometries[i], stream);\n }\n};\n\nfunction streamLine(coordinates, stream, closed) {\n var i = -1, n = coordinates.length - closed, coordinate;\n stream.lineStart();\n while (++i < n) coordinate = coordinates[i], stream.point(coordinate[0], coordinate[1], coordinate[2]);\n stream.lineEnd();\n}\n\nfunction streamPolygon(coordinates, stream) {\n var i = -1, n = coordinates.length;\n stream.polygonStart();\n while (++i < n) streamLine(coordinates[i], stream, 1);\n stream.polygonEnd();\n}\n\nexport default function(object, stream) {\n if (object && streamObjectType.hasOwnProperty(object.type)) {\n streamObjectType[object.type](object, stream);\n } else {\n streamGeometry(object, stream);\n }\n}\n","import adder from \"./adder\";\nimport {atan2, cos, quarterPi, radians, sin, tau} from \"./math\";\nimport noop from \"./noop\";\nimport stream from \"./stream\";\n\nexport var areaRingSum = adder();\n\nvar areaSum = adder(),\n lambda00,\n phi00,\n lambda0,\n cosPhi0,\n sinPhi0;\n\nexport var areaStream = {\n point: noop,\n lineStart: noop,\n lineEnd: noop,\n polygonStart: function() {\n areaRingSum.reset();\n areaStream.lineStart = areaRingStart;\n areaStream.lineEnd = areaRingEnd;\n },\n polygonEnd: function() {\n var areaRing = +areaRingSum;\n areaSum.add(areaRing < 0 ? tau + areaRing : areaRing);\n this.lineStart = this.lineEnd = this.point = noop;\n },\n sphere: function() {\n areaSum.add(tau);\n }\n};\n\nfunction areaRingStart() {\n areaStream.point = areaPointFirst;\n}\n\nfunction areaRingEnd() {\n areaPoint(lambda00, phi00);\n}\n\nfunction areaPointFirst(lambda, phi) {\n areaStream.point = areaPoint;\n lambda00 = lambda, phi00 = phi;\n lambda *= radians, phi *= radians;\n lambda0 = lambda, cosPhi0 = cos(phi = phi / 2 + quarterPi), sinPhi0 = sin(phi);\n}\n\nfunction areaPoint(lambda, phi) {\n lambda *= radians, phi *= radians;\n phi = phi / 2 + quarterPi; // half the angular distance from south pole\n\n // Spherical excess E for a spherical triangle with vertices: south pole,\n // previous point, current point. Uses a formula derived from Cagnoli’s\n // theorem. See Todhunter, Spherical Trig. (1871), Sec. 103, Eq. (2).\n var dLambda = lambda - lambda0,\n sdLambda = dLambda >= 0 ? 1 : -1,\n adLambda = sdLambda * dLambda,\n cosPhi = cos(phi),\n sinPhi = sin(phi),\n k = sinPhi0 * sinPhi,\n u = cosPhi0 * cosPhi + k * cos(adLambda),\n v = k * sdLambda * sin(adLambda);\n areaRingSum.add(atan2(v, u));\n\n // Advance the previous points.\n lambda0 = lambda, cosPhi0 = cosPhi, sinPhi0 = sinPhi;\n}\n\nexport default function(object) {\n areaSum.reset();\n stream(object, areaStream);\n return areaSum * 2;\n}\n","import {asin, atan2, cos, sin, sqrt} from \"./math\";\n\nexport function spherical(cartesian) {\n return [atan2(cartesian[1], cartesian[0]), asin(cartesian[2])];\n}\n\nexport function cartesian(spherical) {\n var lambda = spherical[0], phi = spherical[1], cosPhi = cos(phi);\n return [cosPhi * cos(lambda), cosPhi * sin(lambda), sin(phi)];\n}\n\nexport function cartesianDot(a, b) {\n return a[0] * b[0] + a[1] * b[1] + a[2] * b[2];\n}\n\nexport function cartesianCross(a, b) {\n return [a[1] * b[2] - a[2] * b[1], a[2] * b[0] - a[0] * b[2], a[0] * b[1] - a[1] * b[0]];\n}\n\n// TODO return a\nexport function cartesianAddInPlace(a, b) {\n a[0] += b[0], a[1] += b[1], a[2] += b[2];\n}\n\nexport function cartesianScale(vector, k) {\n return [vector[0] * k, vector[1] * k, vector[2] * k];\n}\n\n// TODO return d\nexport function cartesianNormalizeInPlace(d) {\n var l = sqrt(d[0] * d[0] + d[1] * d[1] + d[2] * d[2]);\n d[0] /= l, d[1] /= l, d[2] /= l;\n}\n","import adder from \"./adder\";\nimport {areaStream, areaRingSum} from \"./area\";\nimport {cartesian, cartesianCross, cartesianNormalizeInPlace, spherical} from \"./cartesian\";\nimport {abs, degrees, epsilon, radians} from \"./math\";\nimport stream from \"./stream\";\n\nvar lambda0, phi0, lambda1, phi1, // bounds\n lambda2, // previous lambda-coordinate\n lambda00, phi00, // first point\n p0, // previous 3D point\n deltaSum = adder(),\n ranges,\n range;\n\nvar boundsStream = {\n point: boundsPoint,\n lineStart: boundsLineStart,\n lineEnd: boundsLineEnd,\n polygonStart: function() {\n boundsStream.point = boundsRingPoint;\n boundsStream.lineStart = boundsRingStart;\n boundsStream.lineEnd = boundsRingEnd;\n deltaSum.reset();\n areaStream.polygonStart();\n },\n polygonEnd: function() {\n areaStream.polygonEnd();\n boundsStream.point = boundsPoint;\n boundsStream.lineStart = boundsLineStart;\n boundsStream.lineEnd = boundsLineEnd;\n if (areaRingSum < 0) lambda0 = -(lambda1 = 180), phi0 = -(phi1 = 90);\n else if (deltaSum > epsilon) phi1 = 90;\n else if (deltaSum < -epsilon) phi0 = -90;\n range[0] = lambda0, range[1] = lambda1;\n }\n};\n\nfunction boundsPoint(lambda, phi) {\n ranges.push(range = [lambda0 = lambda, lambda1 = lambda]);\n if (phi < phi0) phi0 = phi;\n if (phi > phi1) phi1 = phi;\n}\n\nfunction linePoint(lambda, phi) {\n var p = cartesian([lambda * radians, phi * radians]);\n if (p0) {\n var normal = cartesianCross(p0, p),\n equatorial = [normal[1], -normal[0], 0],\n inflection = cartesianCross(equatorial, normal);\n cartesianNormalizeInPlace(inflection);\n inflection = spherical(inflection);\n var delta = lambda - lambda2,\n sign = delta > 0 ? 1 : -1,\n lambdai = inflection[0] * degrees * sign,\n phii,\n antimeridian = abs(delta) > 180;\n if (antimeridian ^ (sign * lambda2 < lambdai && lambdai < sign * lambda)) {\n phii = inflection[1] * degrees;\n if (phii > phi1) phi1 = phii;\n } else if (lambdai = (lambdai + 360) % 360 - 180, antimeridian ^ (sign * lambda2 < lambdai && lambdai < sign * lambda)) {\n phii = -inflection[1] * degrees;\n if (phii < phi0) phi0 = phii;\n } else {\n if (phi < phi0) phi0 = phi;\n if (phi > phi1) phi1 = phi;\n }\n if (antimeridian) {\n if (lambda < lambda2) {\n if (angle(lambda0, lambda) > angle(lambda0, lambda1)) lambda1 = lambda;\n } else {\n if (angle(lambda, lambda1) > angle(lambda0, lambda1)) lambda0 = lambda;\n }\n } else {\n if (lambda1 >= lambda0) {\n if (lambda < lambda0) lambda0 = lambda;\n if (lambda > lambda1) lambda1 = lambda;\n } else {\n if (lambda > lambda2) {\n if (angle(lambda0, lambda) > angle(lambda0, lambda1)) lambda1 = lambda;\n } else {\n if (angle(lambda, lambda1) > angle(lambda0, lambda1)) lambda0 = lambda;\n }\n }\n }\n } else {\n ranges.push(range = [lambda0 = lambda, lambda1 = lambda]);\n }\n if (phi < phi0) phi0 = phi;\n if (phi > phi1) phi1 = phi;\n p0 = p, lambda2 = lambda;\n}\n\nfunction boundsLineStart() {\n boundsStream.point = linePoint;\n}\n\nfunction boundsLineEnd() {\n range[0] = lambda0, range[1] = lambda1;\n boundsStream.point = boundsPoint;\n p0 = null;\n}\n\nfunction boundsRingPoint(lambda, phi) {\n if (p0) {\n var delta = lambda - lambda2;\n deltaSum.add(abs(delta) > 180 ? delta + (delta > 0 ? 360 : -360) : delta);\n } else {\n lambda00 = lambda, phi00 = phi;\n }\n areaStream.point(lambda, phi);\n linePoint(lambda, phi);\n}\n\nfunction boundsRingStart() {\n areaStream.lineStart();\n}\n\nfunction boundsRingEnd() {\n boundsRingPoint(lambda00, phi00);\n areaStream.lineEnd();\n if (abs(deltaSum) > epsilon) lambda0 = -(lambda1 = 180);\n range[0] = lambda0, range[1] = lambda1;\n p0 = null;\n}\n\n// Finds the left-right distance between two longitudes.\n// This is almost the same as (lambda1 - lambda0 + 360°) % 360°, except that we want\n// the distance between ±180° to be 360°.\nfunction angle(lambda0, lambda1) {\n return (lambda1 -= lambda0) < 0 ? lambda1 + 360 : lambda1;\n}\n\nfunction rangeCompare(a, b) {\n return a[0] - b[0];\n}\n\nfunction rangeContains(range, x) {\n return range[0] <= range[1] ? range[0] <= x && x <= range[1] : x < range[0] || range[1] < x;\n}\n\nexport default function(feature) {\n var i, n, a, b, merged, deltaMax, delta;\n\n phi1 = lambda1 = -(lambda0 = phi0 = Infinity);\n ranges = [];\n stream(feature, boundsStream);\n\n // First, sort ranges by their minimum longitudes.\n if (n = ranges.length) {\n ranges.sort(rangeCompare);\n\n // Then, merge any ranges that overlap.\n for (i = 1, a = ranges[0], merged = [a]; i < n; ++i) {\n b = ranges[i];\n if (rangeContains(a, b[0]) || rangeContains(a, b[1])) {\n if (angle(a[0], b[1]) > angle(a[0], a[1])) a[1] = b[1];\n if (angle(b[0], a[1]) > angle(a[0], a[1])) a[0] = b[0];\n } else {\n merged.push(a = b);\n }\n }\n\n // Finally, find the largest gap between the merged ranges.\n // The final bounding box will be the inverse of this gap.\n for (deltaMax = -Infinity, n = merged.length - 1, i = 0, a = merged[n]; i <= n; a = b, ++i) {\n b = merged[i];\n if ((delta = angle(a[1], b[0])) > deltaMax) deltaMax = delta, lambda0 = b[0], lambda1 = a[1];\n }\n }\n\n ranges = range = null;\n\n return lambda0 === Infinity || phi0 === Infinity\n ? [[NaN, NaN], [NaN, NaN]]\n : [[lambda0, phi0], [lambda1, phi1]];\n}\n","import {asin, atan2, cos, degrees, epsilon, epsilon2, radians, sin, sqrt} from \"./math\";\nimport noop from \"./noop\";\nimport stream from \"./stream\";\n\nvar W0, W1,\n X0, Y0, Z0,\n X1, Y1, Z1,\n X2, Y2, Z2,\n lambda00, phi00, // first point\n x0, y0, z0; // previous point\n\nvar centroidStream = {\n sphere: noop,\n point: centroidPoint,\n lineStart: centroidLineStart,\n lineEnd: centroidLineEnd,\n polygonStart: function() {\n centroidStream.lineStart = centroidRingStart;\n centroidStream.lineEnd = centroidRingEnd;\n },\n polygonEnd: function() {\n centroidStream.lineStart = centroidLineStart;\n centroidStream.lineEnd = centroidLineEnd;\n }\n};\n\n// Arithmetic mean of Cartesian vectors.\nfunction centroidPoint(lambda, phi) {\n lambda *= radians, phi *= radians;\n var cosPhi = cos(phi);\n centroidPointCartesian(cosPhi * cos(lambda), cosPhi * sin(lambda), sin(phi));\n}\n\nfunction centroidPointCartesian(x, y, z) {\n ++W0;\n X0 += (x - X0) / W0;\n Y0 += (y - Y0) / W0;\n Z0 += (z - Z0) / W0;\n}\n\nfunction centroidLineStart() {\n centroidStream.point = centroidLinePointFirst;\n}\n\nfunction centroidLinePointFirst(lambda, phi) {\n lambda *= radians, phi *= radians;\n var cosPhi = cos(phi);\n x0 = cosPhi * cos(lambda);\n y0 = cosPhi * sin(lambda);\n z0 = sin(phi);\n centroidStream.point = centroidLinePoint;\n centroidPointCartesian(x0, y0, z0);\n}\n\nfunction centroidLinePoint(lambda, phi) {\n lambda *= radians, phi *= radians;\n var cosPhi = cos(phi),\n x = cosPhi * cos(lambda),\n y = cosPhi * sin(lambda),\n z = sin(phi),\n w = atan2(sqrt((w = y0 * z - z0 * y) * w + (w = z0 * x - x0 * z) * w + (w = x0 * y - y0 * x) * w), x0 * x + y0 * y + z0 * z);\n W1 += w;\n X1 += w * (x0 + (x0 = x));\n Y1 += w * (y0 + (y0 = y));\n Z1 += w * (z0 + (z0 = z));\n centroidPointCartesian(x0, y0, z0);\n}\n\nfunction centroidLineEnd() {\n centroidStream.point = centroidPoint;\n}\n\n// See J. E. Brock, The Inertia Tensor for a Spherical Triangle,\n// J. Applied Mechanics 42, 239 (1975).\nfunction centroidRingStart() {\n centroidStream.point = centroidRingPointFirst;\n}\n\nfunction centroidRingEnd() {\n centroidRingPoint(lambda00, phi00);\n centroidStream.point = centroidPoint;\n}\n\nfunction centroidRingPointFirst(lambda, phi) {\n lambda00 = lambda, phi00 = phi;\n lambda *= radians, phi *= radians;\n centroidStream.point = centroidRingPoint;\n var cosPhi = cos(phi);\n x0 = cosPhi * cos(lambda);\n y0 = cosPhi * sin(lambda);\n z0 = sin(phi);\n centroidPointCartesian(x0, y0, z0);\n}\n\nfunction centroidRingPoint(lambda, phi) {\n lambda *= radians, phi *= radians;\n var cosPhi = cos(phi),\n x = cosPhi * cos(lambda),\n y = cosPhi * sin(lambda),\n z = sin(phi),\n cx = y0 * z - z0 * y,\n cy = z0 * x - x0 * z,\n cz = x0 * y - y0 * x,\n m = sqrt(cx * cx + cy * cy + cz * cz),\n w = asin(m), // line weight = angle\n v = m && -w / m; // area weight multiplier\n X2 += v * cx;\n Y2 += v * cy;\n Z2 += v * cz;\n W1 += w;\n X1 += w * (x0 + (x0 = x));\n Y1 += w * (y0 + (y0 = y));\n Z1 += w * (z0 + (z0 = z));\n centroidPointCartesian(x0, y0, z0);\n}\n\nexport default function(object) {\n W0 = W1 =\n X0 = Y0 = Z0 =\n X1 = Y1 = Z1 =\n X2 = Y2 = Z2 = 0;\n stream(object, centroidStream);\n\n var x = X2,\n y = Y2,\n z = Z2,\n m = x * x + y * y + z * z;\n\n // If the area-weighted ccentroid is undefined, fall back to length-weighted ccentroid.\n if (m < epsilon2) {\n x = X1, y = Y1, z = Z1;\n // If the feature has zero length, fall back to arithmetic mean of point vectors.\n if (W1 < epsilon) x = X0, y = Y0, z = Z0;\n m = x * x + y * y + z * z;\n // If the feature still has an undefined ccentroid, then return.\n if (m < epsilon2) return [NaN, NaN];\n }\n\n return [atan2(y, x) * degrees, asin(z / sqrt(m)) * degrees];\n}\n","export default function(x) {\n return function() {\n return x;\n };\n}\n","export default function(a, b) {\n\n function compose(x, y) {\n return x = a(x, y), b(x[0], x[1]);\n }\n\n if (a.invert && b.invert) compose.invert = function(x, y) {\n return x = b.invert(x, y), x && a.invert(x[0], x[1]);\n };\n\n return compose;\n}\n","import compose from \"./compose\";\nimport {asin, atan2, cos, degrees, pi, radians, sin, tau} from \"./math\";\n\nfunction rotationIdentity(lambda, phi) {\n return [lambda > pi ? lambda - tau : lambda < -pi ? lambda + tau : lambda, phi];\n}\n\nrotationIdentity.invert = rotationIdentity;\n\nexport function rotateRadians(deltaLambda, deltaPhi, deltaGamma) {\n return (deltaLambda %= tau) ? (deltaPhi || deltaGamma ? compose(rotationLambda(deltaLambda), rotationPhiGamma(deltaPhi, deltaGamma))\n : rotationLambda(deltaLambda))\n : (deltaPhi || deltaGamma ? rotationPhiGamma(deltaPhi, deltaGamma)\n : rotationIdentity);\n}\n\nfunction forwardRotationLambda(deltaLambda) {\n return function(lambda, phi) {\n return lambda += deltaLambda, [lambda > pi ? lambda - tau : lambda < -pi ? lambda + tau : lambda, phi];\n };\n}\n\nfunction rotationLambda(deltaLambda) {\n var rotation = forwardRotationLambda(deltaLambda);\n rotation.invert = forwardRotationLambda(-deltaLambda);\n return rotation;\n}\n\nfunction rotationPhiGamma(deltaPhi, deltaGamma) {\n var cosDeltaPhi = cos(deltaPhi),\n sinDeltaPhi = sin(deltaPhi),\n cosDeltaGamma = cos(deltaGamma),\n sinDeltaGamma = sin(deltaGamma);\n\n function rotation(lambda, phi) {\n var cosPhi = cos(phi),\n x = cos(lambda) * cosPhi,\n y = sin(lambda) * cosPhi,\n z = sin(phi),\n k = z * cosDeltaPhi + x * sinDeltaPhi;\n return [\n atan2(y * cosDeltaGamma - k * sinDeltaGamma, x * cosDeltaPhi - z * sinDeltaPhi),\n asin(k * cosDeltaGamma + y * sinDeltaGamma)\n ];\n }\n\n rotation.invert = function(lambda, phi) {\n var cosPhi = cos(phi),\n x = cos(lambda) * cosPhi,\n y = sin(lambda) * cosPhi,\n z = sin(phi),\n k = z * cosDeltaGamma - y * sinDeltaGamma;\n return [\n atan2(y * cosDeltaGamma + z * sinDeltaGamma, x * cosDeltaPhi + k * sinDeltaPhi),\n asin(k * cosDeltaPhi - x * sinDeltaPhi)\n ];\n };\n\n return rotation;\n}\n\nexport default function(rotate) {\n rotate = rotateRadians(rotate[0] * radians, rotate[1] * radians, rotate.length > 2 ? rotate[2] * radians : 0);\n\n function forward(coordinates) {\n coordinates = rotate(coordinates[0] * radians, coordinates[1] * radians);\n return coordinates[0] *= degrees, coordinates[1] *= degrees, coordinates;\n }\n\n forward.invert = function(coordinates) {\n coordinates = rotate.invert(coordinates[0] * radians, coordinates[1] * radians);\n return coordinates[0] *= degrees, coordinates[1] *= degrees, coordinates;\n };\n\n return forward;\n}\n","import {cartesian, cartesianNormalizeInPlace, spherical} from \"./cartesian\";\nimport constant from \"./constant\";\nimport {acos, cos, degrees, epsilon, radians, sin, tau} from \"./math\";\nimport {rotateRadians} from \"./rotation\";\n\n// Generates a circle centered at [0°, 0°], with a given radius and precision.\nexport function circleStream(stream, radius, delta, direction, t0, t1) {\n if (!delta) return;\n var cosRadius = cos(radius),\n sinRadius = sin(radius),\n step = direction * delta;\n if (t0 == null) {\n t0 = radius + direction * tau;\n t1 = radius - step / 2;\n } else {\n t0 = circleRadius(cosRadius, t0);\n t1 = circleRadius(cosRadius, t1);\n if (direction > 0 ? t0 < t1 : t0 > t1) t0 += direction * tau;\n }\n for (var point, t = t0; direction > 0 ? t > t1 : t < t1; t -= step) {\n point = spherical([cosRadius, -sinRadius * cos(t), -sinRadius * sin(t)]);\n stream.point(point[0], point[1]);\n }\n}\n\n// Returns the signed angle of a cartesian point relative to [cosRadius, 0, 0].\nfunction circleRadius(cosRadius, point) {\n point = cartesian(point), point[0] -= cosRadius;\n cartesianNormalizeInPlace(point);\n var radius = acos(-point[1]);\n return ((-point[2] < 0 ? -radius : radius) + tau - epsilon) % tau;\n}\n\nexport default function() {\n var center = constant([0, 0]),\n radius = constant(90),\n precision = constant(6),\n ring,\n rotate,\n stream = {point: point};\n\n function point(x, y) {\n ring.push(x = rotate(x, y));\n x[0] *= degrees, x[1] *= degrees;\n }\n\n function circle() {\n var c = center.apply(this, arguments),\n r = radius.apply(this, arguments) * radians,\n p = precision.apply(this, arguments) * radians;\n ring = [];\n rotate = rotateRadians(-c[0] * radians, -c[1] * radians, 0).invert;\n circleStream(stream, r, p, 1);\n c = {type: \"Polygon\", coordinates: [ring]};\n ring = rotate = null;\n return c;\n }\n\n circle.center = function(_) {\n return arguments.length ? (center = typeof _ === \"function\" ? _ : constant([+_[0], +_[1]]), circle) : center;\n };\n\n circle.radius = function(_) {\n return arguments.length ? (radius = typeof _ === \"function\" ? _ : constant(+_), circle) : radius;\n };\n\n circle.precision = function(_) {\n return arguments.length ? (precision = typeof _ === \"function\" ? _ : constant(+_), circle) : precision;\n };\n\n return circle;\n}\n","import noop from \"../noop\";\n\nexport default function() {\n var lines = [],\n line;\n return {\n point: function(x, y) {\n line.push([x, y]);\n },\n lineStart: function() {\n lines.push(line = []);\n },\n lineEnd: noop,\n rejoin: function() {\n if (lines.length > 1) lines.push(lines.pop().concat(lines.shift()));\n },\n result: function() {\n var result = lines;\n lines = [];\n line = null;\n return result;\n }\n };\n}\n","import {abs, epsilon} from \"./math\";\n\nexport default function(a, b) {\n return abs(a[0] - b[0]) < epsilon && abs(a[1] - b[1]) < epsilon;\n}\n","import pointEqual from \"../pointEqual\";\n\nfunction Intersection(point, points, other, entry) {\n this.x = point;\n this.z = points;\n this.o = other; // another intersection\n this.e = entry; // is an entry?\n this.v = false; // visited\n this.n = this.p = null; // next & previous\n}\n\n// A generalized polygon clipping algorithm: given a polygon that has been cut\n// into its visible line segments, and rejoins the segments by interpolating\n// along the clip edge.\nexport default function(segments, compareIntersection, startInside, interpolate, stream) {\n var subject = [],\n clip = [],\n i,\n n;\n\n segments.forEach(function(segment) {\n if ((n = segment.length - 1) <= 0) return;\n var n, p0 = segment[0], p1 = segment[n], x;\n\n // If the first and last points of a segment are coincident, then treat as a\n // closed ring. TODO if all rings are closed, then the winding order of the\n // exterior ring should be checked.\n if (pointEqual(p0, p1)) {\n stream.lineStart();\n for (i = 0; i < n; ++i) stream.point((p0 = segment[i])[0], p0[1]);\n stream.lineEnd();\n return;\n }\n\n subject.push(x = new Intersection(p0, segment, null, true));\n clip.push(x.o = new Intersection(p0, null, x, false));\n subject.push(x = new Intersection(p1, segment, null, false));\n clip.push(x.o = new Intersection(p1, null, x, true));\n });\n\n if (!subject.length) return;\n\n clip.sort(compareIntersection);\n link(subject);\n link(clip);\n\n for (i = 0, n = clip.length; i < n; ++i) {\n clip[i].e = startInside = !startInside;\n }\n\n var start = subject[0],\n points,\n point;\n\n while (1) {\n // Find first unvisited intersection.\n var current = start,\n isSubject = true;\n while (current.v) if ((current = current.n) === start) return;\n points = current.z;\n stream.lineStart();\n do {\n current.v = current.o.v = true;\n if (current.e) {\n if (isSubject) {\n for (i = 0, n = points.length; i < n; ++i) stream.point((point = points[i])[0], point[1]);\n } else {\n interpolate(current.x, current.n.x, 1, stream);\n }\n current = current.n;\n } else {\n if (isSubject) {\n points = current.p.z;\n for (i = points.length - 1; i >= 0; --i) stream.point((point = points[i])[0], point[1]);\n } else {\n interpolate(current.x, current.p.x, -1, stream);\n }\n current = current.p;\n }\n current = current.o;\n points = current.z;\n isSubject = !isSubject;\n } while (!current.v);\n stream.lineEnd();\n }\n}\n\nfunction link(array) {\n if (!(n = array.length)) return;\n var n,\n i = 0,\n a = array[0],\n b;\n while (++i < n) {\n a.n = b = array[i];\n b.p = a;\n a = b;\n }\n a.n = b = array[0];\n b.p = a;\n}\n","import adder from \"./adder\";\nimport {cartesian, cartesianCross, cartesianNormalizeInPlace} from \"./cartesian\";\nimport {asin, atan2, cos, epsilon, halfPi, pi, quarterPi, sin, tau} from \"./math\";\n\nvar sum = adder();\n\nexport default function(polygon, point) {\n var lambda = point[0],\n phi = point[1],\n sinPhi = sin(phi),\n normal = [sin(lambda), -cos(lambda), 0],\n angle = 0,\n winding = 0;\n\n sum.reset();\n\n if (sinPhi === 1) phi = halfPi + epsilon;\n else if (sinPhi === -1) phi = -halfPi - epsilon;\n\n for (var i = 0, n = polygon.length; i < n; ++i) {\n if (!(m = (ring = polygon[i]).length)) continue;\n var ring,\n m,\n point0 = ring[m - 1],\n lambda0 = point0[0],\n phi0 = point0[1] / 2 + quarterPi,\n sinPhi0 = sin(phi0),\n cosPhi0 = cos(phi0);\n\n for (var j = 0; j < m; ++j, lambda0 = lambda1, sinPhi0 = sinPhi1, cosPhi0 = cosPhi1, point0 = point1) {\n var point1 = ring[j],\n lambda1 = point1[0],\n phi1 = point1[1] / 2 + quarterPi,\n sinPhi1 = sin(phi1),\n cosPhi1 = cos(phi1),\n delta = lambda1 - lambda0,\n sign = delta >= 0 ? 1 : -1,\n absDelta = sign * delta,\n antimeridian = absDelta > pi,\n k = sinPhi0 * sinPhi1;\n\n sum.add(atan2(k * sign * sin(absDelta), cosPhi0 * cosPhi1 + k * cos(absDelta)));\n angle += antimeridian ? delta + sign * tau : delta;\n\n // Are the longitudes either side of the point’s meridian (lambda),\n // and are the latitudes smaller than the parallel (phi)?\n if (antimeridian ^ lambda0 >= lambda ^ lambda1 >= lambda) {\n var arc = cartesianCross(cartesian(point0), cartesian(point1));\n cartesianNormalizeInPlace(arc);\n var intersection = cartesianCross(normal, arc);\n cartesianNormalizeInPlace(intersection);\n var phiArc = (antimeridian ^ delta >= 0 ? -1 : 1) * asin(intersection[2]);\n if (phi > phiArc || phi === phiArc && (arc[0] || arc[1])) {\n winding += antimeridian ^ delta >= 0 ? 1 : -1;\n }\n }\n }\n }\n\n // First, determine whether the South pole is inside or outside:\n //\n // It is inside if:\n // * the polygon winds around it in a clockwise direction.\n // * the polygon does not (cumulatively) wind around it, but has a negative\n // (counter-clockwise) area.\n //\n // Second, count the (signed) number of times a segment crosses a lambda\n // from the point to the South pole. If it is zero, then the point is the\n // same side as the South pole.\n\n return (angle < -epsilon || angle < epsilon && sum < -epsilon) ^ (winding & 1);\n}\n","import clipBuffer from \"./buffer\";\nimport clipRejoin from \"./rejoin\";\nimport {epsilon, halfPi} from \"../math\";\nimport polygonContains from \"../polygonContains\";\nimport {merge} from \"d3-array\";\n\nexport default function(pointVisible, clipLine, interpolate, start) {\n return function(sink) {\n var line = clipLine(sink),\n ringBuffer = clipBuffer(),\n ringSink = clipLine(ringBuffer),\n polygonStarted = false,\n polygon,\n segments,\n ring;\n\n var clip = {\n point: point,\n lineStart: lineStart,\n lineEnd: lineEnd,\n polygonStart: function() {\n clip.point = pointRing;\n clip.lineStart = ringStart;\n clip.lineEnd = ringEnd;\n segments = [];\n polygon = [];\n },\n polygonEnd: function() {\n clip.point = point;\n clip.lineStart = lineStart;\n clip.lineEnd = lineEnd;\n segments = merge(segments);\n var startInside = polygonContains(polygon, start);\n if (segments.length) {\n if (!polygonStarted) sink.polygonStart(), polygonStarted = true;\n clipRejoin(segments, compareIntersection, startInside, interpolate, sink);\n } else if (startInside) {\n if (!polygonStarted) sink.polygonStart(), polygonStarted = true;\n sink.lineStart();\n interpolate(null, null, 1, sink);\n sink.lineEnd();\n }\n if (polygonStarted) sink.polygonEnd(), polygonStarted = false;\n segments = polygon = null;\n },\n sphere: function() {\n sink.polygonStart();\n sink.lineStart();\n interpolate(null, null, 1, sink);\n sink.lineEnd();\n sink.polygonEnd();\n }\n };\n\n function point(lambda, phi) {\n if (pointVisible(lambda, phi)) sink.point(lambda, phi);\n }\n\n function pointLine(lambda, phi) {\n line.point(lambda, phi);\n }\n\n function lineStart() {\n clip.point = pointLine;\n line.lineStart();\n }\n\n function lineEnd() {\n clip.point = point;\n line.lineEnd();\n }\n\n function pointRing(lambda, phi) {\n ring.push([lambda, phi]);\n ringSink.point(lambda, phi);\n }\n\n function ringStart() {\n ringSink.lineStart();\n ring = [];\n }\n\n function ringEnd() {\n pointRing(ring[0][0], ring[0][1]);\n ringSink.lineEnd();\n\n var clean = ringSink.clean(),\n ringSegments = ringBuffer.result(),\n i, n = ringSegments.length, m,\n segment,\n point;\n\n ring.pop();\n polygon.push(ring);\n ring = null;\n\n if (!n) return;\n\n // No intersections.\n if (clean & 1) {\n segment = ringSegments[0];\n if ((m = segment.length - 1) > 0) {\n if (!polygonStarted) sink.polygonStart(), polygonStarted = true;\n sink.lineStart();\n for (i = 0; i < m; ++i) sink.point((point = segment[i])[0], point[1]);\n sink.lineEnd();\n }\n return;\n }\n\n // Rejoin connected segments.\n // TODO reuse ringBuffer.rejoin()?\n if (n > 1 && clean & 2) ringSegments.push(ringSegments.pop().concat(ringSegments.shift()));\n\n segments.push(ringSegments.filter(validSegment));\n }\n\n return clip;\n };\n}\n\nfunction validSegment(segment) {\n return segment.length > 1;\n}\n\n// Intersections are sorted along the clip edge. For both antimeridian cutting\n// and circle clipping, the same comparison is used.\nfunction compareIntersection(a, b) {\n return ((a = a.x)[0] < 0 ? a[1] - halfPi - epsilon : halfPi - a[1])\n - ((b = b.x)[0] < 0 ? b[1] - halfPi - epsilon : halfPi - b[1]);\n}\n","import clip from \"./index\";\nimport {abs, atan, cos, epsilon, halfPi, pi, sin} from \"../math\";\n\nexport default clip(\n function() { return true; },\n clipAntimeridianLine,\n clipAntimeridianInterpolate,\n [-pi, -halfPi]\n);\n\n// Takes a line and cuts into visible segments. Return values: 0 - there were\n// intersections or the line was empty; 1 - no intersections; 2 - there were\n// intersections, and the first and last segments should be rejoined.\nfunction clipAntimeridianLine(stream) {\n var lambda0 = NaN,\n phi0 = NaN,\n sign0 = NaN,\n clean; // no intersections\n\n return {\n lineStart: function() {\n stream.lineStart();\n clean = 1;\n },\n point: function(lambda1, phi1) {\n var sign1 = lambda1 > 0 ? pi : -pi,\n delta = abs(lambda1 - lambda0);\n if (abs(delta - pi) < epsilon) { // line crosses a pole\n stream.point(lambda0, phi0 = (phi0 + phi1) / 2 > 0 ? halfPi : -halfPi);\n stream.point(sign0, phi0);\n stream.lineEnd();\n stream.lineStart();\n stream.point(sign1, phi0);\n stream.point(lambda1, phi0);\n clean = 0;\n } else if (sign0 !== sign1 && delta >= pi) { // line crosses antimeridian\n if (abs(lambda0 - sign0) < epsilon) lambda0 -= sign0 * epsilon; // handle degeneracies\n if (abs(lambda1 - sign1) < epsilon) lambda1 -= sign1 * epsilon;\n phi0 = clipAntimeridianIntersect(lambda0, phi0, lambda1, phi1);\n stream.point(sign0, phi0);\n stream.lineEnd();\n stream.lineStart();\n stream.point(sign1, phi0);\n clean = 0;\n }\n stream.point(lambda0 = lambda1, phi0 = phi1);\n sign0 = sign1;\n },\n lineEnd: function() {\n stream.lineEnd();\n lambda0 = phi0 = NaN;\n },\n clean: function() {\n return 2 - clean; // if intersections, rejoin first and last segments\n }\n };\n}\n\nfunction clipAntimeridianIntersect(lambda0, phi0, lambda1, phi1) {\n var cosPhi0,\n cosPhi1,\n sinLambda0Lambda1 = sin(lambda0 - lambda1);\n return abs(sinLambda0Lambda1) > epsilon\n ? atan((sin(phi0) * (cosPhi1 = cos(phi1)) * sin(lambda1)\n - sin(phi1) * (cosPhi0 = cos(phi0)) * sin(lambda0))\n / (cosPhi0 * cosPhi1 * sinLambda0Lambda1))\n : (phi0 + phi1) / 2;\n}\n\nfunction clipAntimeridianInterpolate(from, to, direction, stream) {\n var phi;\n if (from == null) {\n phi = direction * halfPi;\n stream.point(-pi, phi);\n stream.point(0, phi);\n stream.point(pi, phi);\n stream.point(pi, 0);\n stream.point(pi, -phi);\n stream.point(0, -phi);\n stream.point(-pi, -phi);\n stream.point(-pi, 0);\n stream.point(-pi, phi);\n } else if (abs(from[0] - to[0]) > epsilon) {\n var lambda = from[0] < to[0] ? pi : -pi;\n phi = direction * lambda / 2;\n stream.point(-lambda, phi);\n stream.point(0, phi);\n stream.point(lambda, phi);\n } else {\n stream.point(to[0], to[1]);\n }\n}\n","import {cartesian, cartesianAddInPlace, cartesianCross, cartesianDot, cartesianScale, spherical} from \"../cartesian\";\nimport {circleStream} from \"../circle\";\nimport {abs, cos, epsilon, pi, radians, sqrt} from \"../math\";\nimport pointEqual from \"../pointEqual\";\nimport clip from \"./index\";\n\nexport default function(radius) {\n var cr = cos(radius),\n delta = 6 * radians,\n smallRadius = cr > 0,\n notHemisphere = abs(cr) > epsilon; // TODO optimise for this common case\n\n function interpolate(from, to, direction, stream) {\n circleStream(stream, radius, delta, direction, from, to);\n }\n\n function visible(lambda, phi) {\n return cos(lambda) * cos(phi) > cr;\n }\n\n // Takes a line and cuts into visible segments. Return values used for polygon\n // clipping: 0 - there were intersections or the line was empty; 1 - no\n // intersections 2 - there were intersections, and the first and last segments\n // should be rejoined.\n function clipLine(stream) {\n var point0, // previous point\n c0, // code for previous point\n v0, // visibility of previous point\n v00, // visibility of first point\n clean; // no intersections\n return {\n lineStart: function() {\n v00 = v0 = false;\n clean = 1;\n },\n point: function(lambda, phi) {\n var point1 = [lambda, phi],\n point2,\n v = visible(lambda, phi),\n c = smallRadius\n ? v ? 0 : code(lambda, phi)\n : v ? code(lambda + (lambda < 0 ? pi : -pi), phi) : 0;\n if (!point0 && (v00 = v0 = v)) stream.lineStart();\n // Handle degeneracies.\n // TODO ignore if not clipping polygons.\n if (v !== v0) {\n point2 = intersect(point0, point1);\n if (!point2 || pointEqual(point0, point2) || pointEqual(point1, point2)) {\n point1[0] += epsilon;\n point1[1] += epsilon;\n v = visible(point1[0], point1[1]);\n }\n }\n if (v !== v0) {\n clean = 0;\n if (v) {\n // outside going in\n stream.lineStart();\n point2 = intersect(point1, point0);\n stream.point(point2[0], point2[1]);\n } else {\n // inside going out\n point2 = intersect(point0, point1);\n stream.point(point2[0], point2[1]);\n stream.lineEnd();\n }\n point0 = point2;\n } else if (notHemisphere && point0 && smallRadius ^ v) {\n var t;\n // If the codes for two points are different, or are both zero,\n // and there this segment intersects with the small circle.\n if (!(c & c0) && (t = intersect(point1, point0, true))) {\n clean = 0;\n if (smallRadius) {\n stream.lineStart();\n stream.point(t[0][0], t[0][1]);\n stream.point(t[1][0], t[1][1]);\n stream.lineEnd();\n } else {\n stream.point(t[1][0], t[1][1]);\n stream.lineEnd();\n stream.lineStart();\n stream.point(t[0][0], t[0][1]);\n }\n }\n }\n if (v && (!point0 || !pointEqual(point0, point1))) {\n stream.point(point1[0], point1[1]);\n }\n point0 = point1, v0 = v, c0 = c;\n },\n lineEnd: function() {\n if (v0) stream.lineEnd();\n point0 = null;\n },\n // Rejoin first and last segments if there were intersections and the first\n // and last points were visible.\n clean: function() {\n return clean | ((v00 && v0) << 1);\n }\n };\n }\n\n // Intersects the great circle between a and b with the clip circle.\n function intersect(a, b, two) {\n var pa = cartesian(a),\n pb = cartesian(b);\n\n // We have two planes, n1.p = d1 and n2.p = d2.\n // Find intersection line p(t) = c1 n1 + c2 n2 + t (n1 ⨯ n2).\n var n1 = [1, 0, 0], // normal\n n2 = cartesianCross(pa, pb),\n n2n2 = cartesianDot(n2, n2),\n n1n2 = n2[0], // cartesianDot(n1, n2),\n determinant = n2n2 - n1n2 * n1n2;\n\n // Two polar points.\n if (!determinant) return !two && a;\n\n var c1 = cr * n2n2 / determinant,\n c2 = -cr * n1n2 / determinant,\n n1xn2 = cartesianCross(n1, n2),\n A = cartesianScale(n1, c1),\n B = cartesianScale(n2, c2);\n cartesianAddInPlace(A, B);\n\n // Solve |p(t)|^2 = 1.\n var u = n1xn2,\n w = cartesianDot(A, u),\n uu = cartesianDot(u, u),\n t2 = w * w - uu * (cartesianDot(A, A) - 1);\n\n if (t2 < 0) return;\n\n var t = sqrt(t2),\n q = cartesianScale(u, (-w - t) / uu);\n cartesianAddInPlace(q, A);\n q = spherical(q);\n\n if (!two) return q;\n\n // Two intersection points.\n var lambda0 = a[0],\n lambda1 = b[0],\n phi0 = a[1],\n phi1 = b[1],\n z;\n\n if (lambda1 < lambda0) z = lambda0, lambda0 = lambda1, lambda1 = z;\n\n var delta = lambda1 - lambda0,\n polar = abs(delta - pi) < epsilon,\n meridian = polar || delta < epsilon;\n\n if (!polar && phi1 < phi0) z = phi0, phi0 = phi1, phi1 = z;\n\n // Check that the first point is between a and b.\n if (meridian\n ? polar\n ? phi0 + phi1 > 0 ^ q[1] < (abs(q[0] - lambda0) < epsilon ? phi0 : phi1)\n : phi0 <= q[1] && q[1] <= phi1\n : delta > pi ^ (lambda0 <= q[0] && q[0] <= lambda1)) {\n var q1 = cartesianScale(u, (-w + t) / uu);\n cartesianAddInPlace(q1, A);\n return [q, spherical(q1)];\n }\n }\n\n // Generates a 4-bit vector representing the location of a point relative to\n // the small circle's bounding box.\n function code(lambda, phi) {\n var r = smallRadius ? radius : pi - radius,\n code = 0;\n if (lambda < -r) code |= 1; // left\n else if (lambda > r) code |= 2; // right\n if (phi < -r) code |= 4; // below\n else if (phi > r) code |= 8; // above\n return code;\n }\n\n return clip(visible, clipLine, interpolate, smallRadius ? [0, -radius] : [-pi, radius - pi]);\n}\n","export default function(a, b, x0, y0, x1, y1) {\n var ax = a[0],\n ay = a[1],\n bx = b[0],\n by = b[1],\n t0 = 0,\n t1 = 1,\n dx = bx - ax,\n dy = by - ay,\n r;\n\n r = x0 - ax;\n if (!dx && r > 0) return;\n r /= dx;\n if (dx < 0) {\n if (r < t0) return;\n if (r < t1) t1 = r;\n } else if (dx > 0) {\n if (r > t1) return;\n if (r > t0) t0 = r;\n }\n\n r = x1 - ax;\n if (!dx && r < 0) return;\n r /= dx;\n if (dx < 0) {\n if (r > t1) return;\n if (r > t0) t0 = r;\n } else if (dx > 0) {\n if (r < t0) return;\n if (r < t1) t1 = r;\n }\n\n r = y0 - ay;\n if (!dy && r > 0) return;\n r /= dy;\n if (dy < 0) {\n if (r < t0) return;\n if (r < t1) t1 = r;\n } else if (dy > 0) {\n if (r > t1) return;\n if (r > t0) t0 = r;\n }\n\n r = y1 - ay;\n if (!dy && r < 0) return;\n r /= dy;\n if (dy < 0) {\n if (r > t1) return;\n if (r > t0) t0 = r;\n } else if (dy > 0) {\n if (r < t0) return;\n if (r < t1) t1 = r;\n }\n\n if (t0 > 0) a[0] = ax + t0 * dx, a[1] = ay + t0 * dy;\n if (t1 < 1) b[0] = ax + t1 * dx, b[1] = ay + t1 * dy;\n return true;\n}\n","import {abs, epsilon} from \"../math\";\nimport clipBuffer from \"./buffer\";\nimport clipLine from \"./line\";\nimport clipRejoin from \"./rejoin\";\nimport {merge} from \"d3-array\";\n\nvar clipMax = 1e9, clipMin = -clipMax;\n\n// TODO Use d3-polygon’s polygonContains here for the ring check?\n// TODO Eliminate duplicate buffering in clipBuffer and polygon.push?\n\nexport default function clipRectangle(x0, y0, x1, y1) {\n\n function visible(x, y) {\n return x0 <= x && x <= x1 && y0 <= y && y <= y1;\n }\n\n function interpolate(from, to, direction, stream) {\n var a = 0, a1 = 0;\n if (from == null\n || (a = corner(from, direction)) !== (a1 = corner(to, direction))\n || comparePoint(from, to) < 0 ^ direction > 0) {\n do stream.point(a === 0 || a === 3 ? x0 : x1, a > 1 ? y1 : y0);\n while ((a = (a + direction + 4) % 4) !== a1);\n } else {\n stream.point(to[0], to[1]);\n }\n }\n\n function corner(p, direction) {\n return abs(p[0] - x0) < epsilon ? direction > 0 ? 0 : 3\n : abs(p[0] - x1) < epsilon ? direction > 0 ? 2 : 1\n : abs(p[1] - y0) < epsilon ? direction > 0 ? 1 : 0\n : direction > 0 ? 3 : 2; // abs(p[1] - y1) < epsilon\n }\n\n function compareIntersection(a, b) {\n return comparePoint(a.x, b.x);\n }\n\n function comparePoint(a, b) {\n var ca = corner(a, 1),\n cb = corner(b, 1);\n return ca !== cb ? ca - cb\n : ca === 0 ? b[1] - a[1]\n : ca === 1 ? a[0] - b[0]\n : ca === 2 ? a[1] - b[1]\n : b[0] - a[0];\n }\n\n return function(stream) {\n var activeStream = stream,\n bufferStream = clipBuffer(),\n segments,\n polygon,\n ring,\n x__, y__, v__, // first point\n x_, y_, v_, // previous point\n first,\n clean;\n\n var clipStream = {\n point: point,\n lineStart: lineStart,\n lineEnd: lineEnd,\n polygonStart: polygonStart,\n polygonEnd: polygonEnd\n };\n\n function point(x, y) {\n if (visible(x, y)) activeStream.point(x, y);\n }\n\n function polygonInside() {\n var winding = 0;\n\n for (var i = 0, n = polygon.length; i < n; ++i) {\n for (var ring = polygon[i], j = 1, m = ring.length, point = ring[0], a0, a1, b0 = point[0], b1 = point[1]; j < m; ++j) {\n a0 = b0, a1 = b1, point = ring[j], b0 = point[0], b1 = point[1];\n if (a1 <= y1) { if (b1 > y1 && (b0 - a0) * (y1 - a1) > (b1 - a1) * (x0 - a0)) ++winding; }\n else { if (b1 <= y1 && (b0 - a0) * (y1 - a1) < (b1 - a1) * (x0 - a0)) --winding; }\n }\n }\n\n return winding;\n }\n\n // Buffer geometry within a polygon and then clip it en masse.\n function polygonStart() {\n activeStream = bufferStream, segments = [], polygon = [], clean = true;\n }\n\n function polygonEnd() {\n var startInside = polygonInside(),\n cleanInside = clean && startInside,\n visible = (segments = merge(segments)).length;\n if (cleanInside || visible) {\n stream.polygonStart();\n if (cleanInside) {\n stream.lineStart();\n interpolate(null, null, 1, stream);\n stream.lineEnd();\n }\n if (visible) {\n clipRejoin(segments, compareIntersection, startInside, interpolate, stream);\n }\n stream.polygonEnd();\n }\n activeStream = stream, segments = polygon = ring = null;\n }\n\n function lineStart() {\n clipStream.point = linePoint;\n if (polygon) polygon.push(ring = []);\n first = true;\n v_ = false;\n x_ = y_ = NaN;\n }\n\n // TODO rather than special-case polygons, simply handle them separately.\n // Ideally, coincident intersection points should be jittered to avoid\n // clipping issues.\n function lineEnd() {\n if (segments) {\n linePoint(x__, y__);\n if (v__ && v_) bufferStream.rejoin();\n segments.push(bufferStream.result());\n }\n clipStream.point = point;\n if (v_) activeStream.lineEnd();\n }\n\n function linePoint(x, y) {\n var v = visible(x, y);\n if (polygon) ring.push([x, y]);\n if (first) {\n x__ = x, y__ = y, v__ = v;\n first = false;\n if (v) {\n activeStream.lineStart();\n activeStream.point(x, y);\n }\n } else {\n if (v && v_) activeStream.point(x, y);\n else {\n var a = [x_ = Math.max(clipMin, Math.min(clipMax, x_)), y_ = Math.max(clipMin, Math.min(clipMax, y_))],\n b = [x = Math.max(clipMin, Math.min(clipMax, x)), y = Math.max(clipMin, Math.min(clipMax, y))];\n if (clipLine(a, b, x0, y0, x1, y1)) {\n if (!v_) {\n activeStream.lineStart();\n activeStream.point(a[0], a[1]);\n }\n activeStream.point(b[0], b[1]);\n if (!v) activeStream.lineEnd();\n clean = false;\n } else if (v) {\n activeStream.lineStart();\n activeStream.point(x, y);\n clean = false;\n }\n }\n }\n x_ = x, y_ = y, v_ = v;\n }\n\n return clipStream;\n };\n}\n","import clipRectangle from \"./rectangle\";\n\nexport default function() {\n var x0 = 0,\n y0 = 0,\n x1 = 960,\n y1 = 500,\n cache,\n cacheStream,\n clip;\n\n return clip = {\n stream: function(stream) {\n return cache && cacheStream === stream ? cache : cache = clipRectangle(x0, y0, x1, y1)(cacheStream = stream);\n },\n extent: function(_) {\n return arguments.length ? (x0 = +_[0][0], y0 = +_[0][1], x1 = +_[1][0], y1 = +_[1][1], cache = cacheStream = null, clip) : [[x0, y0], [x1, y1]];\n }\n };\n}\n","import adder from \"./adder\";\nimport {abs, atan2, cos, radians, sin, sqrt} from \"./math\";\nimport noop from \"./noop\";\nimport stream from \"./stream\";\n\nvar lengthSum = adder(),\n lambda0,\n sinPhi0,\n cosPhi0;\n\nvar lengthStream = {\n sphere: noop,\n point: noop,\n lineStart: lengthLineStart,\n lineEnd: noop,\n polygonStart: noop,\n polygonEnd: noop\n};\n\nfunction lengthLineStart() {\n lengthStream.point = lengthPointFirst;\n lengthStream.lineEnd = lengthLineEnd;\n}\n\nfunction lengthLineEnd() {\n lengthStream.point = lengthStream.lineEnd = noop;\n}\n\nfunction lengthPointFirst(lambda, phi) {\n lambda *= radians, phi *= radians;\n lambda0 = lambda, sinPhi0 = sin(phi), cosPhi0 = cos(phi);\n lengthStream.point = lengthPoint;\n}\n\nfunction lengthPoint(lambda, phi) {\n lambda *= radians, phi *= radians;\n var sinPhi = sin(phi),\n cosPhi = cos(phi),\n delta = abs(lambda - lambda0),\n cosDelta = cos(delta),\n sinDelta = sin(delta),\n x = cosPhi * sinDelta,\n y = cosPhi0 * sinPhi - sinPhi0 * cosPhi * cosDelta,\n z = sinPhi0 * sinPhi + cosPhi0 * cosPhi * cosDelta;\n lengthSum.add(atan2(sqrt(x * x + y * y), z));\n lambda0 = lambda, sinPhi0 = sinPhi, cosPhi0 = cosPhi;\n}\n\nexport default function(object) {\n lengthSum.reset();\n stream(object, lengthStream);\n return +lengthSum;\n}\n","import length from \"./length\";\n\nvar coordinates = [null, null],\n object = {type: \"LineString\", coordinates: coordinates};\n\nexport default function(a, b) {\n coordinates[0] = a;\n coordinates[1] = b;\n return length(object);\n}\n","import {default as polygonContains} from \"./polygonContains\";\nimport {default as distance} from \"./distance\";\nimport {epsilon, radians} from \"./math\";\n\nvar containsObjectType = {\n Feature: function(object, point) {\n return containsGeometry(object.geometry, point);\n },\n FeatureCollection: function(object, point) {\n var features = object.features, i = -1, n = features.length;\n while (++i < n) if (containsGeometry(features[i].geometry, point)) return true;\n return false;\n }\n};\n\nvar containsGeometryType = {\n Sphere: function() {\n return true;\n },\n Point: function(object, point) {\n return containsPoint(object.coordinates, point);\n },\n MultiPoint: function(object, point) {\n var coordinates = object.coordinates, i = -1, n = coordinates.length;\n while (++i < n) if (containsPoint(coordinates[i], point)) return true;\n return false;\n },\n LineString: function(object, point) {\n return containsLine(object.coordinates, point);\n },\n MultiLineString: function(object, point) {\n var coordinates = object.coordinates, i = -1, n = coordinates.length;\n while (++i < n) if (containsLine(coordinates[i], point)) return true;\n return false;\n },\n Polygon: function(object, point) {\n return containsPolygon(object.coordinates, point);\n },\n MultiPolygon: function(object, point) {\n var coordinates = object.coordinates, i = -1, n = coordinates.length;\n while (++i < n) if (containsPolygon(coordinates[i], point)) return true;\n return false;\n },\n GeometryCollection: function(object, point) {\n var geometries = object.geometries, i = -1, n = geometries.length;\n while (++i < n) if (containsGeometry(geometries[i], point)) return true;\n return false;\n }\n};\n\nfunction containsGeometry(geometry, point) {\n return geometry && containsGeometryType.hasOwnProperty(geometry.type)\n ? containsGeometryType[geometry.type](geometry, point)\n : false;\n}\n\nfunction containsPoint(coordinates, point) {\n return distance(coordinates, point) === 0;\n}\n\nfunction containsLine(coordinates, point) {\n var ab = distance(coordinates[0], coordinates[1]),\n ao = distance(coordinates[0], point),\n ob = distance(point, coordinates[1]);\n return ao + ob <= ab + epsilon;\n}\n\nfunction containsPolygon(coordinates, point) {\n return !!polygonContains(coordinates.map(ringRadians), pointRadians(point));\n}\n\nfunction ringRadians(ring) {\n return ring = ring.map(pointRadians), ring.pop(), ring;\n}\n\nfunction pointRadians(point) {\n return [point[0] * radians, point[1] * radians];\n}\n\nexport default function(object, point) {\n return (object && containsObjectType.hasOwnProperty(object.type)\n ? containsObjectType[object.type]\n : containsGeometry)(object, point);\n}\n","import {range} from \"d3-array\";\nimport {abs, ceil, epsilon} from \"./math\";\n\nfunction graticuleX(y0, y1, dy) {\n var y = range(y0, y1 - epsilon, dy).concat(y1);\n return function(x) { return y.map(function(y) { return [x, y]; }); };\n}\n\nfunction graticuleY(x0, x1, dx) {\n var x = range(x0, x1 - epsilon, dx).concat(x1);\n return function(y) { return x.map(function(x) { return [x, y]; }); };\n}\n\nexport default function graticule() {\n var x1, x0, X1, X0,\n y1, y0, Y1, Y0,\n dx = 10, dy = dx, DX = 90, DY = 360,\n x, y, X, Y,\n precision = 2.5;\n\n function graticule() {\n return {type: \"MultiLineString\", coordinates: lines()};\n }\n\n function lines() {\n return range(ceil(X0 / DX) * DX, X1, DX).map(X)\n .concat(range(ceil(Y0 / DY) * DY, Y1, DY).map(Y))\n .concat(range(ceil(x0 / dx) * dx, x1, dx).filter(function(x) { return abs(x % DX) > epsilon; }).map(x))\n .concat(range(ceil(y0 / dy) * dy, y1, dy).filter(function(y) { return abs(y % DY) > epsilon; }).map(y));\n }\n\n graticule.lines = function() {\n return lines().map(function(coordinates) { return {type: \"LineString\", coordinates: coordinates}; });\n };\n\n graticule.outline = function() {\n return {\n type: \"Polygon\",\n coordinates: [\n X(X0).concat(\n Y(Y1).slice(1),\n X(X1).reverse().slice(1),\n Y(Y0).reverse().slice(1))\n ]\n };\n };\n\n graticule.extent = function(_) {\n if (!arguments.length) return graticule.extentMinor();\n return graticule.extentMajor(_).extentMinor(_);\n };\n\n graticule.extentMajor = function(_) {\n if (!arguments.length) return [[X0, Y0], [X1, Y1]];\n X0 = +_[0][0], X1 = +_[1][0];\n Y0 = +_[0][1], Y1 = +_[1][1];\n if (X0 > X1) _ = X0, X0 = X1, X1 = _;\n if (Y0 > Y1) _ = Y0, Y0 = Y1, Y1 = _;\n return graticule.precision(precision);\n };\n\n graticule.extentMinor = function(_) {\n if (!arguments.length) return [[x0, y0], [x1, y1]];\n x0 = +_[0][0], x1 = +_[1][0];\n y0 = +_[0][1], y1 = +_[1][1];\n if (x0 > x1) _ = x0, x0 = x1, x1 = _;\n if (y0 > y1) _ = y0, y0 = y1, y1 = _;\n return graticule.precision(precision);\n };\n\n graticule.step = function(_) {\n if (!arguments.length) return graticule.stepMinor();\n return graticule.stepMajor(_).stepMinor(_);\n };\n\n graticule.stepMajor = function(_) {\n if (!arguments.length) return [DX, DY];\n DX = +_[0], DY = +_[1];\n return graticule;\n };\n\n graticule.stepMinor = function(_) {\n if (!arguments.length) return [dx, dy];\n dx = +_[0], dy = +_[1];\n return graticule;\n };\n\n graticule.precision = function(_) {\n if (!arguments.length) return precision;\n precision = +_;\n x = graticuleX(y0, y1, 90);\n y = graticuleY(x0, x1, precision);\n X = graticuleX(Y0, Y1, 90);\n Y = graticuleY(X0, X1, precision);\n return graticule;\n };\n\n return graticule\n .extentMajor([[-180, -90 + epsilon], [180, 90 - epsilon]])\n .extentMinor([[-180, -80 - epsilon], [180, 80 + epsilon]]);\n}\n\nexport function graticule10() {\n return graticule()();\n}\n","import {asin, atan2, cos, degrees, haversin, radians, sin, sqrt} from \"./math\";\n\nexport default function(a, b) {\n var x0 = a[0] * radians,\n y0 = a[1] * radians,\n x1 = b[0] * radians,\n y1 = b[1] * radians,\n cy0 = cos(y0),\n sy0 = sin(y0),\n cy1 = cos(y1),\n sy1 = sin(y1),\n kx0 = cy0 * cos(x0),\n ky0 = cy0 * sin(x0),\n kx1 = cy1 * cos(x1),\n ky1 = cy1 * sin(x1),\n d = 2 * asin(sqrt(haversin(y1 - y0) + cy0 * cy1 * haversin(x1 - x0))),\n k = sin(d);\n\n var interpolate = d ? function(t) {\n var B = sin(t *= d) / k,\n A = sin(d - t) / k,\n x = A * kx0 + B * kx1,\n y = A * ky0 + B * ky1,\n z = A * sy0 + B * sy1;\n return [\n atan2(y, x) * degrees,\n atan2(z, sqrt(x * x + y * y)) * degrees\n ];\n } : function() {\n return [x0 * degrees, y0 * degrees];\n };\n\n interpolate.distance = d;\n\n return interpolate;\n}\n","export default function(x) {\n return x;\n}\n","import adder from \"../adder\";\nimport {abs} from \"../math\";\nimport noop from \"../noop\";\n\nvar areaSum = adder(),\n areaRingSum = adder(),\n x00,\n y00,\n x0,\n y0;\n\nvar areaStream = {\n point: noop,\n lineStart: noop,\n lineEnd: noop,\n polygonStart: function() {\n areaStream.lineStart = areaRingStart;\n areaStream.lineEnd = areaRingEnd;\n },\n polygonEnd: function() {\n areaStream.lineStart = areaStream.lineEnd = areaStream.point = noop;\n areaSum.add(abs(areaRingSum));\n areaRingSum.reset();\n },\n result: function() {\n var area = areaSum / 2;\n areaSum.reset();\n return area;\n }\n};\n\nfunction areaRingStart() {\n areaStream.point = areaPointFirst;\n}\n\nfunction areaPointFirst(x, y) {\n areaStream.point = areaPoint;\n x00 = x0 = x, y00 = y0 = y;\n}\n\nfunction areaPoint(x, y) {\n areaRingSum.add(y0 * x - x0 * y);\n x0 = x, y0 = y;\n}\n\nfunction areaRingEnd() {\n areaPoint(x00, y00);\n}\n\nexport default areaStream;\n","import noop from \"../noop\";\n\nvar x0 = Infinity,\n y0 = x0,\n x1 = -x0,\n y1 = x1;\n\nvar boundsStream = {\n point: boundsPoint,\n lineStart: noop,\n lineEnd: noop,\n polygonStart: noop,\n polygonEnd: noop,\n result: function() {\n var bounds = [[x0, y0], [x1, y1]];\n x1 = y1 = -(y0 = x0 = Infinity);\n return bounds;\n }\n};\n\nfunction boundsPoint(x, y) {\n if (x < x0) x0 = x;\n if (x > x1) x1 = x;\n if (y < y0) y0 = y;\n if (y > y1) y1 = y;\n}\n\nexport default boundsStream;\n","import {sqrt} from \"../math\";\n\n// TODO Enforce positive area for exterior, negative area for interior?\n\nvar X0 = 0,\n Y0 = 0,\n Z0 = 0,\n X1 = 0,\n Y1 = 0,\n Z1 = 0,\n X2 = 0,\n Y2 = 0,\n Z2 = 0,\n x00,\n y00,\n x0,\n y0;\n\nvar centroidStream = {\n point: centroidPoint,\n lineStart: centroidLineStart,\n lineEnd: centroidLineEnd,\n polygonStart: function() {\n centroidStream.lineStart = centroidRingStart;\n centroidStream.lineEnd = centroidRingEnd;\n },\n polygonEnd: function() {\n centroidStream.point = centroidPoint;\n centroidStream.lineStart = centroidLineStart;\n centroidStream.lineEnd = centroidLineEnd;\n },\n result: function() {\n var centroid = Z2 ? [X2 / Z2, Y2 / Z2]\n : Z1 ? [X1 / Z1, Y1 / Z1]\n : Z0 ? [X0 / Z0, Y0 / Z0]\n : [NaN, NaN];\n X0 = Y0 = Z0 =\n X1 = Y1 = Z1 =\n X2 = Y2 = Z2 = 0;\n return centroid;\n }\n};\n\nfunction centroidPoint(x, y) {\n X0 += x;\n Y0 += y;\n ++Z0;\n}\n\nfunction centroidLineStart() {\n centroidStream.point = centroidPointFirstLine;\n}\n\nfunction centroidPointFirstLine(x, y) {\n centroidStream.point = centroidPointLine;\n centroidPoint(x0 = x, y0 = y);\n}\n\nfunction centroidPointLine(x, y) {\n var dx = x - x0, dy = y - y0, z = sqrt(dx * dx + dy * dy);\n X1 += z * (x0 + x) / 2;\n Y1 += z * (y0 + y) / 2;\n Z1 += z;\n centroidPoint(x0 = x, y0 = y);\n}\n\nfunction centroidLineEnd() {\n centroidStream.point = centroidPoint;\n}\n\nfunction centroidRingStart() {\n centroidStream.point = centroidPointFirstRing;\n}\n\nfunction centroidRingEnd() {\n centroidPointRing(x00, y00);\n}\n\nfunction centroidPointFirstRing(x, y) {\n centroidStream.point = centroidPointRing;\n centroidPoint(x00 = x0 = x, y00 = y0 = y);\n}\n\nfunction centroidPointRing(x, y) {\n var dx = x - x0,\n dy = y - y0,\n z = sqrt(dx * dx + dy * dy);\n\n X1 += z * (x0 + x) / 2;\n Y1 += z * (y0 + y) / 2;\n Z1 += z;\n\n z = y0 * x - x0 * y;\n X2 += z * (x0 + x);\n Y2 += z * (y0 + y);\n Z2 += z * 3;\n centroidPoint(x0 = x, y0 = y);\n}\n\nexport default centroidStream;\n","import {tau} from \"../math\";\nimport noop from \"../noop\";\n\nexport default function PathContext(context) {\n this._context = context;\n}\n\nPathContext.prototype = {\n _radius: 4.5,\n pointRadius: function(_) {\n return this._radius = _, this;\n },\n polygonStart: function() {\n this._line = 0;\n },\n polygonEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._point = 0;\n },\n lineEnd: function() {\n if (this._line === 0) this._context.closePath();\n this._point = NaN;\n },\n point: function(x, y) {\n switch (this._point) {\n case 0: {\n this._context.moveTo(x, y);\n this._point = 1;\n break;\n }\n case 1: {\n this._context.lineTo(x, y);\n break;\n }\n default: {\n this._context.moveTo(x + this._radius, y);\n this._context.arc(x, y, this._radius, 0, tau);\n break;\n }\n }\n },\n result: noop\n};\n","import adder from \"../adder\";\nimport {sqrt} from \"../math\";\nimport noop from \"../noop\";\n\nvar lengthSum = adder(),\n lengthRing,\n x00,\n y00,\n x0,\n y0;\n\nvar lengthStream = {\n point: noop,\n lineStart: function() {\n lengthStream.point = lengthPointFirst;\n },\n lineEnd: function() {\n if (lengthRing) lengthPoint(x00, y00);\n lengthStream.point = noop;\n },\n polygonStart: function() {\n lengthRing = true;\n },\n polygonEnd: function() {\n lengthRing = null;\n },\n result: function() {\n var length = +lengthSum;\n lengthSum.reset();\n return length;\n }\n};\n\nfunction lengthPointFirst(x, y) {\n lengthStream.point = lengthPoint;\n x00 = x0 = x, y00 = y0 = y;\n}\n\nfunction lengthPoint(x, y) {\n x0 -= x, y0 -= y;\n lengthSum.add(sqrt(x0 * x0 + y0 * y0));\n x0 = x, y0 = y;\n}\n\nexport default lengthStream;\n","export default function PathString() {\n this._string = [];\n}\n\nPathString.prototype = {\n _radius: 4.5,\n _circle: circle(4.5),\n pointRadius: function(_) {\n if ((_ = +_) !== this._radius) this._radius = _, this._circle = null;\n return this;\n },\n polygonStart: function() {\n this._line = 0;\n },\n polygonEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._point = 0;\n },\n lineEnd: function() {\n if (this._line === 0) this._string.push(\"Z\");\n this._point = NaN;\n },\n point: function(x, y) {\n switch (this._point) {\n case 0: {\n this._string.push(\"M\", x, \",\", y);\n this._point = 1;\n break;\n }\n case 1: {\n this._string.push(\"L\", x, \",\", y);\n break;\n }\n default: {\n if (this._circle == null) this._circle = circle(this._radius);\n this._string.push(\"M\", x, \",\", y, this._circle);\n break;\n }\n }\n },\n result: function() {\n if (this._string.length) {\n var result = this._string.join(\"\");\n this._string = [];\n return result;\n } else {\n return null;\n }\n }\n};\n\nfunction circle(radius) {\n return \"m0,\" + radius\n + \"a\" + radius + \",\" + radius + \" 0 1,1 0,\" + -2 * radius\n + \"a\" + radius + \",\" + radius + \" 0 1,1 0,\" + 2 * radius\n + \"z\";\n}\n","import identity from \"../identity\";\nimport stream from \"../stream\";\nimport pathArea from \"./area\";\nimport pathBounds from \"./bounds\";\nimport pathCentroid from \"./centroid\";\nimport PathContext from \"./context\";\nimport pathMeasure from \"./measure\";\nimport PathString from \"./string\";\n\nexport default function(projection, context) {\n var pointRadius = 4.5,\n projectionStream,\n contextStream;\n\n function path(object) {\n if (object) {\n if (typeof pointRadius === \"function\") contextStream.pointRadius(+pointRadius.apply(this, arguments));\n stream(object, projectionStream(contextStream));\n }\n return contextStream.result();\n }\n\n path.area = function(object) {\n stream(object, projectionStream(pathArea));\n return pathArea.result();\n };\n\n path.measure = function(object) {\n stream(object, projectionStream(pathMeasure));\n return pathMeasure.result();\n };\n\n path.bounds = function(object) {\n stream(object, projectionStream(pathBounds));\n return pathBounds.result();\n };\n\n path.centroid = function(object) {\n stream(object, projectionStream(pathCentroid));\n return pathCentroid.result();\n };\n\n path.projection = function(_) {\n return arguments.length ? (projectionStream = _ == null ? (projection = null, identity) : (projection = _).stream, path) : projection;\n };\n\n path.context = function(_) {\n if (!arguments.length) return context;\n contextStream = _ == null ? (context = null, new PathString) : new PathContext(context = _);\n if (typeof pointRadius !== \"function\") contextStream.pointRadius(pointRadius);\n return path;\n };\n\n path.pointRadius = function(_) {\n if (!arguments.length) return pointRadius;\n pointRadius = typeof _ === \"function\" ? _ : (contextStream.pointRadius(+_), +_);\n return path;\n };\n\n return path.projection(projection).context(context);\n}\n","export default function(methods) {\n return {\n stream: transformer(methods)\n };\n}\n\nexport function transformer(methods) {\n return function(stream) {\n var s = new TransformStream;\n for (var key in methods) s[key] = methods[key];\n s.stream = stream;\n return s;\n };\n}\n\nfunction TransformStream() {}\n\nTransformStream.prototype = {\n constructor: TransformStream,\n point: function(x, y) { this.stream.point(x, y); },\n sphere: function() { this.stream.sphere(); },\n lineStart: function() { this.stream.lineStart(); },\n lineEnd: function() { this.stream.lineEnd(); },\n polygonStart: function() { this.stream.polygonStart(); },\n polygonEnd: function() { this.stream.polygonEnd(); }\n};\n","import {default as geoStream} from \"../stream\";\nimport boundsStream from \"../path/bounds\";\n\nfunction fit(projection, fitBounds, object) {\n var clip = projection.clipExtent && projection.clipExtent();\n projection.scale(150).translate([0, 0]);\n if (clip != null) projection.clipExtent(null);\n geoStream(object, projection.stream(boundsStream));\n fitBounds(boundsStream.result());\n if (clip != null) projection.clipExtent(clip);\n return projection;\n}\n\nexport function fitExtent(projection, extent, object) {\n return fit(projection, function(b) {\n var w = extent[1][0] - extent[0][0],\n h = extent[1][1] - extent[0][1],\n k = Math.min(w / (b[1][0] - b[0][0]), h / (b[1][1] - b[0][1])),\n x = +extent[0][0] + (w - k * (b[1][0] + b[0][0])) / 2,\n y = +extent[0][1] + (h - k * (b[1][1] + b[0][1])) / 2;\n projection.scale(150 * k).translate([x, y]);\n }, object);\n}\n\nexport function fitSize(projection, size, object) {\n return fitExtent(projection, [[0, 0], size], object);\n}\n\nexport function fitWidth(projection, width, object) {\n return fit(projection, function(b) {\n var w = +width,\n k = w / (b[1][0] - b[0][0]),\n x = (w - k * (b[1][0] + b[0][0])) / 2,\n y = -k * b[0][1];\n projection.scale(150 * k).translate([x, y]);\n }, object);\n}\n\nexport function fitHeight(projection, height, object) {\n return fit(projection, function(b) {\n var h = +height,\n k = h / (b[1][1] - b[0][1]),\n x = -k * b[0][0],\n y = (h - k * (b[1][1] + b[0][1])) / 2;\n projection.scale(150 * k).translate([x, y]);\n }, object);\n}\n","import {cartesian} from \"../cartesian\";\nimport {abs, asin, atan2, cos, epsilon, radians, sqrt} from \"../math\";\nimport {transformer} from \"../transform\";\n\nvar maxDepth = 16, // maximum depth of subdivision\n cosMinDistance = cos(30 * radians); // cos(minimum angular distance)\n\nexport default function(project, delta2) {\n return +delta2 ? resample(project, delta2) : resampleNone(project);\n}\n\nfunction resampleNone(project) {\n return transformer({\n point: function(x, y) {\n x = project(x, y);\n this.stream.point(x[0], x[1]);\n }\n });\n}\n\nfunction resample(project, delta2) {\n\n function resampleLineTo(x0, y0, lambda0, a0, b0, c0, x1, y1, lambda1, a1, b1, c1, depth, stream) {\n var dx = x1 - x0,\n dy = y1 - y0,\n d2 = dx * dx + dy * dy;\n if (d2 > 4 * delta2 && depth--) {\n var a = a0 + a1,\n b = b0 + b1,\n c = c0 + c1,\n m = sqrt(a * a + b * b + c * c),\n phi2 = asin(c /= m),\n lambda2 = abs(abs(c) - 1) < epsilon || abs(lambda0 - lambda1) < epsilon ? (lambda0 + lambda1) / 2 : atan2(b, a),\n p = project(lambda2, phi2),\n x2 = p[0],\n y2 = p[1],\n dx2 = x2 - x0,\n dy2 = y2 - y0,\n dz = dy * dx2 - dx * dy2;\n if (dz * dz / d2 > delta2 // perpendicular projected distance\n || abs((dx * dx2 + dy * dy2) / d2 - 0.5) > 0.3 // midpoint close to an end\n || a0 * a1 + b0 * b1 + c0 * c1 < cosMinDistance) { // angular distance\n resampleLineTo(x0, y0, lambda0, a0, b0, c0, x2, y2, lambda2, a /= m, b /= m, c, depth, stream);\n stream.point(x2, y2);\n resampleLineTo(x2, y2, lambda2, a, b, c, x1, y1, lambda1, a1, b1, c1, depth, stream);\n }\n }\n }\n return function(stream) {\n var lambda00, x00, y00, a00, b00, c00, // first point\n lambda0, x0, y0, a0, b0, c0; // previous point\n\n var resampleStream = {\n point: point,\n lineStart: lineStart,\n lineEnd: lineEnd,\n polygonStart: function() { stream.polygonStart(); resampleStream.lineStart = ringStart; },\n polygonEnd: function() { stream.polygonEnd(); resampleStream.lineStart = lineStart; }\n };\n\n function point(x, y) {\n x = project(x, y);\n stream.point(x[0], x[1]);\n }\n\n function lineStart() {\n x0 = NaN;\n resampleStream.point = linePoint;\n stream.lineStart();\n }\n\n function linePoint(lambda, phi) {\n var c = cartesian([lambda, phi]), p = project(lambda, phi);\n resampleLineTo(x0, y0, lambda0, a0, b0, c0, x0 = p[0], y0 = p[1], lambda0 = lambda, a0 = c[0], b0 = c[1], c0 = c[2], maxDepth, stream);\n stream.point(x0, y0);\n }\n\n function lineEnd() {\n resampleStream.point = point;\n stream.lineEnd();\n }\n\n function ringStart() {\n lineStart();\n resampleStream.point = ringPoint;\n resampleStream.lineEnd = ringEnd;\n }\n\n function ringPoint(lambda, phi) {\n linePoint(lambda00 = lambda, phi), x00 = x0, y00 = y0, a00 = a0, b00 = b0, c00 = c0;\n resampleStream.point = linePoint;\n }\n\n function ringEnd() {\n resampleLineTo(x0, y0, lambda0, a0, b0, c0, x00, y00, lambda00, a00, b00, c00, maxDepth, stream);\n resampleStream.lineEnd = lineEnd;\n lineEnd();\n }\n\n return resampleStream;\n };\n}\n","import clipAntimeridian from \"../clip/antimeridian\";\nimport clipCircle from \"../clip/circle\";\nimport clipRectangle from \"../clip/rectangle\";\nimport compose from \"../compose\";\nimport identity from \"../identity\";\nimport {cos, degrees, radians, sin, sqrt} from \"../math\";\nimport {rotateRadians} from \"../rotation\";\nimport {transformer} from \"../transform\";\nimport {fitExtent, fitSize, fitWidth, fitHeight} from \"./fit\";\nimport resample from \"./resample\";\n\nvar transformRadians = transformer({\n point: function(x, y) {\n this.stream.point(x * radians, y * radians);\n }\n});\n\nfunction transformRotate(rotate) {\n return transformer({\n point: function(x, y) {\n var r = rotate(x, y);\n return this.stream.point(r[0], r[1]);\n }\n });\n}\n\nfunction scaleTranslate(k, dx, dy) {\n function transform(x, y) {\n return [dx + k * x, dy - k * y];\n }\n transform.invert = function(x, y) {\n return [(x - dx) / k, (dy - y) / k];\n };\n return transform;\n}\n\nfunction scaleTranslateRotate(k, dx, dy, alpha) {\n var cosAlpha = cos(alpha),\n sinAlpha = sin(alpha),\n a = cosAlpha * k,\n b = sinAlpha * k,\n ai = cosAlpha / k,\n bi = sinAlpha / k,\n ci = (sinAlpha * dy - cosAlpha * dx) / k,\n fi = (sinAlpha * dx + cosAlpha * dy) / k;\n function transform(x, y) {\n return [a * x - b * y + dx, dy - b * x - a * y];\n }\n transform.invert = function(x, y) {\n return [ai * x - bi * y + ci, fi - bi * x - ai * y];\n };\n return transform;\n}\n\nexport default function projection(project) {\n return projectionMutator(function() { return project; })();\n}\n\nexport function projectionMutator(projectAt) {\n var project,\n k = 150, // scale\n x = 480, y = 250, // translate\n lambda = 0, phi = 0, // center\n deltaLambda = 0, deltaPhi = 0, deltaGamma = 0, rotate, // pre-rotate\n alpha = 0, // post-rotate\n theta = null, preclip = clipAntimeridian, // pre-clip angle\n x0 = null, y0, x1, y1, postclip = identity, // post-clip extent\n delta2 = 0.5, // precision\n projectResample,\n projectTransform,\n projectRotateTransform,\n cache,\n cacheStream;\n\n function projection(point) {\n return projectRotateTransform(point[0] * radians, point[1] * radians);\n }\n\n function invert(point) {\n point = projectRotateTransform.invert(point[0], point[1]);\n return point && [point[0] * degrees, point[1] * degrees];\n }\n\n projection.stream = function(stream) {\n return cache && cacheStream === stream ? cache : cache = transformRadians(transformRotate(rotate)(preclip(projectResample(postclip(cacheStream = stream)))));\n };\n\n projection.preclip = function(_) {\n return arguments.length ? (preclip = _, theta = undefined, reset()) : preclip;\n };\n\n projection.postclip = function(_) {\n return arguments.length ? (postclip = _, x0 = y0 = x1 = y1 = null, reset()) : postclip;\n };\n\n projection.clipAngle = function(_) {\n return arguments.length ? (preclip = +_ ? clipCircle(theta = _ * radians) : (theta = null, clipAntimeridian), reset()) : theta * degrees;\n };\n\n projection.clipExtent = function(_) {\n return arguments.length ? (postclip = _ == null ? (x0 = y0 = x1 = y1 = null, identity) : clipRectangle(x0 = +_[0][0], y0 = +_[0][1], x1 = +_[1][0], y1 = +_[1][1]), reset()) : x0 == null ? null : [[x0, y0], [x1, y1]];\n };\n\n projection.scale = function(_) {\n return arguments.length ? (k = +_, recenter()) : k;\n };\n\n projection.translate = function(_) {\n return arguments.length ? (x = +_[0], y = +_[1], recenter()) : [x, y];\n };\n\n projection.center = function(_) {\n return arguments.length ? (lambda = _[0] % 360 * radians, phi = _[1] % 360 * radians, recenter()) : [lambda * degrees, phi * degrees];\n };\n\n projection.rotate = function(_) {\n return arguments.length ? (deltaLambda = _[0] % 360 * radians, deltaPhi = _[1] % 360 * radians, deltaGamma = _.length > 2 ? _[2] % 360 * radians : 0, recenter()) : [deltaLambda * degrees, deltaPhi * degrees, deltaGamma * degrees];\n };\n\n projection.angle = function(_) {\n return arguments.length ? (alpha = _ % 360 * radians, recenter()) : alpha * degrees;\n };\n\n projection.precision = function(_) {\n return arguments.length ? (projectResample = resample(projectTransform, delta2 = _ * _), reset()) : sqrt(delta2);\n };\n\n projection.fitExtent = function(extent, object) {\n return fitExtent(projection, extent, object);\n };\n\n projection.fitSize = function(size, object) {\n return fitSize(projection, size, object);\n };\n\n projection.fitWidth = function(width, object) {\n return fitWidth(projection, width, object);\n };\n\n projection.fitHeight = function(height, object) {\n return fitHeight(projection, height, object);\n };\n\n function recenter() {\n var center = scaleTranslateRotate(k, 0, 0, alpha).apply(null, project(lambda, phi)),\n transform = (alpha ? scaleTranslateRotate : scaleTranslate)(k, x - center[0], y - center[1], alpha);\n rotate = rotateRadians(deltaLambda, deltaPhi, deltaGamma);\n projectTransform = compose(project, transform);\n projectRotateTransform = compose(rotate, projectTransform);\n projectResample = resample(projectTransform, delta2);\n return reset();\n }\n\n function reset() {\n cache = cacheStream = null;\n return projection;\n }\n\n return function() {\n project = projectAt.apply(this, arguments);\n projection.invert = project.invert && invert;\n return recenter();\n };\n}\n","import {degrees, pi, radians} from \"../math\";\nimport {projectionMutator} from \"./index\";\n\nexport function conicProjection(projectAt) {\n var phi0 = 0,\n phi1 = pi / 3,\n m = projectionMutator(projectAt),\n p = m(phi0, phi1);\n\n p.parallels = function(_) {\n return arguments.length ? m(phi0 = _[0] * radians, phi1 = _[1] * radians) : [phi0 * degrees, phi1 * degrees];\n };\n\n return p;\n}\n","import {asin, cos, sin} from \"../math\";\n\nexport function cylindricalEqualAreaRaw(phi0) {\n var cosPhi0 = cos(phi0);\n\n function forward(lambda, phi) {\n return [lambda * cosPhi0, sin(phi) / cosPhi0];\n }\n\n forward.invert = function(x, y) {\n return [x / cosPhi0, asin(y * cosPhi0)];\n };\n\n return forward;\n}\n","import {abs, asin, atan2, cos, epsilon, sign, sin, sqrt} from \"../math\";\nimport {conicProjection} from \"./conic\";\nimport {cylindricalEqualAreaRaw} from \"./cylindricalEqualArea\";\n\nexport function conicEqualAreaRaw(y0, y1) {\n var sy0 = sin(y0), n = (sy0 + sin(y1)) / 2;\n\n // Are the parallels symmetrical around the Equator?\n if (abs(n) < epsilon) return cylindricalEqualAreaRaw(y0);\n\n var c = 1 + sy0 * (2 * n - sy0), r0 = sqrt(c) / n;\n\n function project(x, y) {\n var r = sqrt(c - 2 * n * sin(y)) / n;\n return [r * sin(x *= n), r0 - r * cos(x)];\n }\n\n project.invert = function(x, y) {\n var r0y = r0 - y;\n return [atan2(x, abs(r0y)) / n * sign(r0y), asin((c - (x * x + r0y * r0y) * n * n) / (2 * n))];\n };\n\n return project;\n}\n\nexport default function() {\n return conicProjection(conicEqualAreaRaw)\n .scale(155.424)\n .center([0, 33.6442]);\n}\n","import conicEqualArea from \"./conicEqualArea\";\n\nexport default function() {\n return conicEqualArea()\n .parallels([29.5, 45.5])\n .scale(1070)\n .translate([480, 250])\n .rotate([96, 0])\n .center([-0.6, 38.7]);\n}\n","import {epsilon} from \"../math\";\nimport albers from \"./albers\";\nimport conicEqualArea from \"./conicEqualArea\";\nimport {fitExtent, fitSize, fitWidth, fitHeight} from \"./fit\";\n\n// The projections must have mutually exclusive clip regions on the sphere,\n// as this will avoid emitting interleaving lines and polygons.\nfunction multiplex(streams) {\n var n = streams.length;\n return {\n point: function(x, y) { var i = -1; while (++i < n) streams[i].point(x, y); },\n sphere: function() { var i = -1; while (++i < n) streams[i].sphere(); },\n lineStart: function() { var i = -1; while (++i < n) streams[i].lineStart(); },\n lineEnd: function() { var i = -1; while (++i < n) streams[i].lineEnd(); },\n polygonStart: function() { var i = -1; while (++i < n) streams[i].polygonStart(); },\n polygonEnd: function() { var i = -1; while (++i < n) streams[i].polygonEnd(); }\n };\n}\n\n// A composite projection for the United States, configured by default for\n// 960×500. The projection also works quite well at 960×600 if you change the\n// scale to 1285 and adjust the translate accordingly. The set of standard\n// parallels for each region comes from USGS, which is published here:\n// http://egsc.usgs.gov/isb/pubs/MapProjections/projections.html#albers\nexport default function() {\n var cache,\n cacheStream,\n lower48 = albers(), lower48Point,\n alaska = conicEqualArea().rotate([154, 0]).center([-2, 58.5]).parallels([55, 65]), alaskaPoint, // EPSG:3338\n hawaii = conicEqualArea().rotate([157, 0]).center([-3, 19.9]).parallels([8, 18]), hawaiiPoint, // ESRI:102007\n point, pointStream = {point: function(x, y) { point = [x, y]; }};\n\n function albersUsa(coordinates) {\n var x = coordinates[0], y = coordinates[1];\n return point = null,\n (lower48Point.point(x, y), point)\n || (alaskaPoint.point(x, y), point)\n || (hawaiiPoint.point(x, y), point);\n }\n\n albersUsa.invert = function(coordinates) {\n var k = lower48.scale(),\n t = lower48.translate(),\n x = (coordinates[0] - t[0]) / k,\n y = (coordinates[1] - t[1]) / k;\n return (y >= 0.120 && y < 0.234 && x >= -0.425 && x < -0.214 ? alaska\n : y >= 0.166 && y < 0.234 && x >= -0.214 && x < -0.115 ? hawaii\n : lower48).invert(coordinates);\n };\n\n albersUsa.stream = function(stream) {\n return cache && cacheStream === stream ? cache : cache = multiplex([lower48.stream(cacheStream = stream), alaska.stream(stream), hawaii.stream(stream)]);\n };\n\n albersUsa.precision = function(_) {\n if (!arguments.length) return lower48.precision();\n lower48.precision(_), alaska.precision(_), hawaii.precision(_);\n return reset();\n };\n\n albersUsa.scale = function(_) {\n if (!arguments.length) return lower48.scale();\n lower48.scale(_), alaska.scale(_ * 0.35), hawaii.scale(_);\n return albersUsa.translate(lower48.translate());\n };\n\n albersUsa.translate = function(_) {\n if (!arguments.length) return lower48.translate();\n var k = lower48.scale(), x = +_[0], y = +_[1];\n\n lower48Point = lower48\n .translate(_)\n .clipExtent([[x - 0.455 * k, y - 0.238 * k], [x + 0.455 * k, y + 0.238 * k]])\n .stream(pointStream);\n\n alaskaPoint = alaska\n .translate([x - 0.307 * k, y + 0.201 * k])\n .clipExtent([[x - 0.425 * k + epsilon, y + 0.120 * k + epsilon], [x - 0.214 * k - epsilon, y + 0.234 * k - epsilon]])\n .stream(pointStream);\n\n hawaiiPoint = hawaii\n .translate([x - 0.205 * k, y + 0.212 * k])\n .clipExtent([[x - 0.214 * k + epsilon, y + 0.166 * k + epsilon], [x - 0.115 * k - epsilon, y + 0.234 * k - epsilon]])\n .stream(pointStream);\n\n return reset();\n };\n\n albersUsa.fitExtent = function(extent, object) {\n return fitExtent(albersUsa, extent, object);\n };\n\n albersUsa.fitSize = function(size, object) {\n return fitSize(albersUsa, size, object);\n };\n\n albersUsa.fitWidth = function(width, object) {\n return fitWidth(albersUsa, width, object);\n };\n\n albersUsa.fitHeight = function(height, object) {\n return fitHeight(albersUsa, height, object);\n };\n\n function reset() {\n cache = cacheStream = null;\n return albersUsa;\n }\n\n return albersUsa.scale(1070);\n}\n","import {asin, atan2, cos, sin, sqrt} from \"../math\";\n\nexport function azimuthalRaw(scale) {\n return function(x, y) {\n var cx = cos(x),\n cy = cos(y),\n k = scale(cx * cy);\n return [\n k * cy * sin(x),\n k * sin(y)\n ];\n }\n}\n\nexport function azimuthalInvert(angle) {\n return function(x, y) {\n var z = sqrt(x * x + y * y),\n c = angle(z),\n sc = sin(c),\n cc = cos(c);\n return [\n atan2(x * sc, z * cc),\n asin(z && y * sc / z)\n ];\n }\n}\n","import {asin, sqrt} from \"../math\";\nimport {azimuthalRaw, azimuthalInvert} from \"./azimuthal\";\nimport projection from \"./index\";\n\nexport var azimuthalEqualAreaRaw = azimuthalRaw(function(cxcy) {\n return sqrt(2 / (1 + cxcy));\n});\n\nazimuthalEqualAreaRaw.invert = azimuthalInvert(function(z) {\n return 2 * asin(z / 2);\n});\n\nexport default function() {\n return projection(azimuthalEqualAreaRaw)\n .scale(124.75)\n .clipAngle(180 - 1e-3);\n}\n","import {acos, sin} from \"../math\";\nimport {azimuthalRaw, azimuthalInvert} from \"./azimuthal\";\nimport projection from \"./index\";\n\nexport var azimuthalEquidistantRaw = azimuthalRaw(function(c) {\n return (c = acos(c)) && c / sin(c);\n});\n\nazimuthalEquidistantRaw.invert = azimuthalInvert(function(z) {\n return z;\n});\n\nexport default function() {\n return projection(azimuthalEquidistantRaw)\n .scale(79.4188)\n .clipAngle(180 - 1e-3);\n}\n","import {atan, exp, halfPi, log, pi, tan, tau} from \"../math\";\nimport rotation from \"../rotation\";\nimport projection from \"./index\";\n\nexport function mercatorRaw(lambda, phi) {\n return [lambda, log(tan((halfPi + phi) / 2))];\n}\n\nmercatorRaw.invert = function(x, y) {\n return [x, 2 * atan(exp(y)) - halfPi];\n};\n\nexport default function() {\n return mercatorProjection(mercatorRaw)\n .scale(961 / tau);\n}\n\nexport function mercatorProjection(project) {\n var m = projection(project),\n center = m.center,\n scale = m.scale,\n translate = m.translate,\n clipExtent = m.clipExtent,\n x0 = null, y0, x1, y1; // clip extent\n\n m.scale = function(_) {\n return arguments.length ? (scale(_), reclip()) : scale();\n };\n\n m.translate = function(_) {\n return arguments.length ? (translate(_), reclip()) : translate();\n };\n\n m.center = function(_) {\n return arguments.length ? (center(_), reclip()) : center();\n };\n\n m.clipExtent = function(_) {\n return arguments.length ? ((_ == null ? x0 = y0 = x1 = y1 = null : (x0 = +_[0][0], y0 = +_[0][1], x1 = +_[1][0], y1 = +_[1][1])), reclip()) : x0 == null ? null : [[x0, y0], [x1, y1]];\n };\n\n function reclip() {\n var k = pi * scale(),\n t = m(rotation(m.rotate()).invert([0, 0]));\n return clipExtent(x0 == null\n ? [[t[0] - k, t[1] - k], [t[0] + k, t[1] + k]] : project === mercatorRaw\n ? [[Math.max(t[0] - k, x0), y0], [Math.min(t[0] + k, x1), y1]]\n : [[x0, Math.max(t[1] - k, y0)], [x1, Math.min(t[1] + k, y1)]]);\n }\n\n return reclip();\n}\n","import {abs, atan, atan2, cos, epsilon, halfPi, log, pow, sign, sin, sqrt, tan} from \"../math\";\nimport {conicProjection} from \"./conic\";\nimport {mercatorRaw} from \"./mercator\";\n\nfunction tany(y) {\n return tan((halfPi + y) / 2);\n}\n\nexport function conicConformalRaw(y0, y1) {\n var cy0 = cos(y0),\n n = y0 === y1 ? sin(y0) : log(cy0 / cos(y1)) / log(tany(y1) / tany(y0)),\n f = cy0 * pow(tany(y0), n) / n;\n\n if (!n) return mercatorRaw;\n\n function project(x, y) {\n if (f > 0) { if (y < -halfPi + epsilon) y = -halfPi + epsilon; }\n else { if (y > halfPi - epsilon) y = halfPi - epsilon; }\n var r = f / pow(tany(y), n);\n return [r * sin(n * x), f - r * cos(n * x)];\n }\n\n project.invert = function(x, y) {\n var fy = f - y, r = sign(n) * sqrt(x * x + fy * fy);\n return [atan2(x, abs(fy)) / n * sign(fy), 2 * atan(pow(f / r, 1 / n)) - halfPi];\n };\n\n return project;\n}\n\nexport default function() {\n return conicProjection(conicConformalRaw)\n .scale(109.5)\n .parallels([30, 30]);\n}\n","import projection from \"./index\";\n\nexport function equirectangularRaw(lambda, phi) {\n return [lambda, phi];\n}\n\nequirectangularRaw.invert = equirectangularRaw;\n\nexport default function() {\n return projection(equirectangularRaw)\n .scale(152.63);\n}\n","import {abs, atan2, cos, epsilon, sign, sin, sqrt} from \"../math\";\nimport {conicProjection} from \"./conic\";\nimport {equirectangularRaw} from \"./equirectangular\";\n\nexport function conicEquidistantRaw(y0, y1) {\n var cy0 = cos(y0),\n n = y0 === y1 ? sin(y0) : (cy0 - cos(y1)) / (y1 - y0),\n g = cy0 / n + y0;\n\n if (abs(n) < epsilon) return equirectangularRaw;\n\n function project(x, y) {\n var gy = g - y, nx = n * x;\n return [gy * sin(nx), g - gy * cos(nx)];\n }\n\n project.invert = function(x, y) {\n var gy = g - y;\n return [atan2(x, abs(gy)) / n * sign(gy), g - sign(n) * sqrt(x * x + gy * gy)];\n };\n\n return project;\n}\n\nexport default function() {\n return conicProjection(conicEquidistantRaw)\n .scale(131.154)\n .center([0, 13.9389]);\n}\n","import {atan, cos, sin} from \"../math\";\nimport {azimuthalInvert} from \"./azimuthal\";\nimport projection from \"./index\";\n\nexport function gnomonicRaw(x, y) {\n var cy = cos(y), k = cos(x) * cy;\n return [cy * sin(x) / k, sin(y) / k];\n}\n\ngnomonicRaw.invert = azimuthalInvert(atan);\n\nexport default function() {\n return projection(gnomonicRaw)\n .scale(144.049)\n .clipAngle(60);\n}\n","import clipRectangle from \"../clip/rectangle\";\nimport identity from \"../identity\";\nimport {transformer} from \"../transform\";\nimport {fitExtent, fitSize, fitWidth, fitHeight} from \"./fit\";\n\nfunction scaleTranslate(kx, ky, tx, ty) {\n return kx === 1 && ky === 1 && tx === 0 && ty === 0 ? identity : transformer({\n point: function(x, y) {\n this.stream.point(x * kx + tx, y * ky + ty);\n }\n });\n}\n\nexport default function() {\n var k = 1, tx = 0, ty = 0, sx = 1, sy = 1, transform = identity, // scale, translate and reflect\n x0 = null, y0, x1, y1, // clip extent\n postclip = identity,\n cache,\n cacheStream,\n projection;\n\n function reset() {\n cache = cacheStream = null;\n return projection;\n }\n\n return projection = {\n stream: function(stream) {\n return cache && cacheStream === stream ? cache : cache = transform(postclip(cacheStream = stream));\n },\n postclip: function(_) {\n return arguments.length ? (postclip = _, x0 = y0 = x1 = y1 = null, reset()) : postclip;\n },\n clipExtent: function(_) {\n return arguments.length ? (postclip = _ == null ? (x0 = y0 = x1 = y1 = null, identity) : clipRectangle(x0 = +_[0][0], y0 = +_[0][1], x1 = +_[1][0], y1 = +_[1][1]), reset()) : x0 == null ? null : [[x0, y0], [x1, y1]];\n },\n scale: function(_) {\n return arguments.length ? (transform = scaleTranslate((k = +_) * sx, k * sy, tx, ty), reset()) : k;\n },\n translate: function(_) {\n return arguments.length ? (transform = scaleTranslate(k * sx, k * sy, tx = +_[0], ty = +_[1]), reset()) : [tx, ty];\n },\n reflectX: function(_) {\n return arguments.length ? (transform = scaleTranslate(k * (sx = _ ? -1 : 1), k * sy, tx, ty), reset()) : sx < 0;\n },\n reflectY: function(_) {\n return arguments.length ? (transform = scaleTranslate(k * sx, k * (sy = _ ? -1 : 1), tx, ty), reset()) : sy < 0;\n },\n fitExtent: function(extent, object) {\n return fitExtent(projection, extent, object);\n },\n fitSize: function(size, object) {\n return fitSize(projection, size, object);\n },\n fitWidth: function(width, object) {\n return fitWidth(projection, width, object);\n },\n fitHeight: function(height, object) {\n return fitHeight(projection, height, object);\n }\n };\n}\n","import projection from \"./index\";\nimport {abs, epsilon} from \"../math\";\n\nexport function naturalEarth1Raw(lambda, phi) {\n var phi2 = phi * phi, phi4 = phi2 * phi2;\n return [\n lambda * (0.8707 - 0.131979 * phi2 + phi4 * (-0.013791 + phi4 * (0.003971 * phi2 - 0.001529 * phi4))),\n phi * (1.007226 + phi2 * (0.015085 + phi4 * (-0.044475 + 0.028874 * phi2 - 0.005916 * phi4)))\n ];\n}\n\nnaturalEarth1Raw.invert = function(x, y) {\n var phi = y, i = 25, delta;\n do {\n var phi2 = phi * phi, phi4 = phi2 * phi2;\n phi -= delta = (phi * (1.007226 + phi2 * (0.015085 + phi4 * (-0.044475 + 0.028874 * phi2 - 0.005916 * phi4))) - y) /\n (1.007226 + phi2 * (0.015085 * 3 + phi4 * (-0.044475 * 7 + 0.028874 * 9 * phi2 - 0.005916 * 11 * phi4)));\n } while (abs(delta) > epsilon && --i > 0);\n return [\n x / (0.8707 + (phi2 = phi * phi) * (-0.131979 + phi2 * (-0.013791 + phi2 * phi2 * phi2 * (0.003971 - 0.001529 * phi2)))),\n phi\n ];\n};\n\nexport default function() {\n return projection(naturalEarth1Raw)\n .scale(175.295);\n}\n","import {asin, cos, epsilon, sin} from \"../math\";\nimport {azimuthalInvert} from \"./azimuthal\";\nimport projection from \"./index\";\n\nexport function orthographicRaw(x, y) {\n return [cos(y) * sin(x), sin(y)];\n}\n\northographicRaw.invert = azimuthalInvert(asin);\n\nexport default function() {\n return projection(orthographicRaw)\n .scale(249.5)\n .clipAngle(90 + epsilon);\n}\n","import {atan, cos, sin} from \"../math\";\nimport {azimuthalInvert} from \"./azimuthal\";\nimport projection from \"./index\";\n\nexport function stereographicRaw(x, y) {\n var cy = cos(y), k = 1 + cos(x) * cy;\n return [cy * sin(x) / k, sin(y) / k];\n}\n\nstereographicRaw.invert = azimuthalInvert(function(z) {\n return 2 * atan(z);\n});\n\nexport default function() {\n return projection(stereographicRaw)\n .scale(250)\n .clipAngle(142);\n}\n","import {atan, exp, halfPi, log, tan} from \"../math\";\nimport {mercatorProjection} from \"./mercator\";\n\nexport function transverseMercatorRaw(lambda, phi) {\n return [log(tan((halfPi + phi) / 2)), -lambda];\n}\n\ntransverseMercatorRaw.invert = function(x, y) {\n return [-y, 2 * atan(exp(x)) - halfPi];\n};\n\nexport default function() {\n var m = mercatorProjection(transverseMercatorRaw),\n center = m.center,\n rotate = m.rotate;\n\n m.center = function(_) {\n return arguments.length ? center([-_[1], _[0]]) : (_ = center(), [_[1], -_[0]]);\n };\n\n m.rotate = function(_) {\n return arguments.length ? rotate([_[0], _[1], _.length > 2 ? _[2] + 90 : 90]) : (_ = rotate(), [_[0], _[1], _[2] - 90]);\n };\n\n return rotate([0, 0, 90])\n .scale(159.155);\n}\n","export {default as geoArea} from \"./src/area\";\nexport {default as geoBounds} from \"./src/bounds\";\nexport {default as geoCentroid} from \"./src/centroid\";\nexport {default as geoCircle} from \"./src/circle\";\nexport {default as geoClipAntimeridian} from \"./src/clip/antimeridian\";\nexport {default as geoClipCircle} from \"./src/clip/circle\";\nexport {default as geoClipExtent} from \"./src/clip/extent\"; // DEPRECATED! Use d3.geoIdentity().clipExtent(…).\nexport {default as geoClipRectangle} from \"./src/clip/rectangle\";\nexport {default as geoContains} from \"./src/contains\";\nexport {default as geoDistance} from \"./src/distance\";\nexport {default as geoGraticule, graticule10 as geoGraticule10} from \"./src/graticule\";\nexport {default as geoInterpolate} from \"./src/interpolate\";\nexport {default as geoLength} from \"./src/length\";\nexport {default as geoPath} from \"./src/path/index\";\nexport {default as geoAlbers} from \"./src/projection/albers\";\nexport {default as geoAlbersUsa} from \"./src/projection/albersUsa\";\nexport {default as geoAzimuthalEqualArea, azimuthalEqualAreaRaw as geoAzimuthalEqualAreaRaw} from \"./src/projection/azimuthalEqualArea\";\nexport {default as geoAzimuthalEquidistant, azimuthalEquidistantRaw as geoAzimuthalEquidistantRaw} from \"./src/projection/azimuthalEquidistant\";\nexport {default as geoConicConformal, conicConformalRaw as geoConicConformalRaw} from \"./src/projection/conicConformal\";\nexport {default as geoConicEqualArea, conicEqualAreaRaw as geoConicEqualAreaRaw} from \"./src/projection/conicEqualArea\";\nexport {default as geoConicEquidistant, conicEquidistantRaw as geoConicEquidistantRaw} from \"./src/projection/conicEquidistant\";\nexport {default as geoEquirectangular, equirectangularRaw as geoEquirectangularRaw} from \"./src/projection/equirectangular\";\nexport {default as geoGnomonic, gnomonicRaw as geoGnomonicRaw} from \"./src/projection/gnomonic\";\nexport {default as geoIdentity} from \"./src/projection/identity\";\nexport {default as geoProjection, projectionMutator as geoProjectionMutator} from \"./src/projection/index\";\nexport {default as geoMercator, mercatorRaw as geoMercatorRaw} from \"./src/projection/mercator\";\nexport {default as geoNaturalEarth1, naturalEarth1Raw as geoNaturalEarth1Raw} from \"./src/projection/naturalEarth1\";\nexport {default as geoOrthographic, orthographicRaw as geoOrthographicRaw} from \"./src/projection/orthographic\";\nexport {default as geoStereographic, stereographicRaw as geoStereographicRaw} from \"./src/projection/stereographic\";\nexport {default as geoTransverseMercator, transverseMercatorRaw as geoTransverseMercatorRaw} from \"./src/projection/transverseMercator\";\nexport {default as geoRotation} from \"./src/rotation\";\nexport {default as geoStream} from \"./src/stream\";\nexport {default as geoTransform} from \"./src/transform\";\n","function defaultSeparation(a, b) {\n return a.parent === b.parent ? 1 : 2;\n}\n\nfunction meanX(children) {\n return children.reduce(meanXReduce, 0) / children.length;\n}\n\nfunction meanXReduce(x, c) {\n return x + c.x;\n}\n\nfunction maxY(children) {\n return 1 + children.reduce(maxYReduce, 0);\n}\n\nfunction maxYReduce(y, c) {\n return Math.max(y, c.y);\n}\n\nfunction leafLeft(node) {\n var children;\n while (children = node.children) node = children[0];\n return node;\n}\n\nfunction leafRight(node) {\n var children;\n while (children = node.children) node = children[children.length - 1];\n return node;\n}\n\nexport default function() {\n var separation = defaultSeparation,\n dx = 1,\n dy = 1,\n nodeSize = false;\n\n function cluster(root) {\n var previousNode,\n x = 0;\n\n // First walk, computing the initial x & y values.\n root.eachAfter(function(node) {\n var children = node.children;\n if (children) {\n node.x = meanX(children);\n node.y = maxY(children);\n } else {\n node.x = previousNode ? x += separation(node, previousNode) : 0;\n node.y = 0;\n previousNode = node;\n }\n });\n\n var left = leafLeft(root),\n right = leafRight(root),\n x0 = left.x - separation(left, right) / 2,\n x1 = right.x + separation(right, left) / 2;\n\n // Second walk, normalizing x & y to the desired size.\n return root.eachAfter(nodeSize ? function(node) {\n node.x = (node.x - root.x) * dx;\n node.y = (root.y - node.y) * dy;\n } : function(node) {\n node.x = (node.x - x0) / (x1 - x0) * dx;\n node.y = (1 - (root.y ? node.y / root.y : 1)) * dy;\n });\n }\n\n cluster.separation = function(x) {\n return arguments.length ? (separation = x, cluster) : separation;\n };\n\n cluster.size = function(x) {\n return arguments.length ? (nodeSize = false, dx = +x[0], dy = +x[1], cluster) : (nodeSize ? null : [dx, dy]);\n };\n\n cluster.nodeSize = function(x) {\n return arguments.length ? (nodeSize = true, dx = +x[0], dy = +x[1], cluster) : (nodeSize ? [dx, dy] : null);\n };\n\n return cluster;\n}\n","function count(node) {\n var sum = 0,\n children = node.children,\n i = children && children.length;\n if (!i) sum = 1;\n else while (--i >= 0) sum += children[i].value;\n node.value = sum;\n}\n\nexport default function() {\n return this.eachAfter(count);\n}\n","export default function(callback) {\n var node = this, current, next = [node], children, i, n;\n do {\n current = next.reverse(), next = [];\n while (node = current.pop()) {\n callback(node), children = node.children;\n if (children) for (i = 0, n = children.length; i < n; ++i) {\n next.push(children[i]);\n }\n }\n } while (next.length);\n return this;\n}\n","export default function(callback) {\n var node = this, nodes = [node], children, i;\n while (node = nodes.pop()) {\n callback(node), children = node.children;\n if (children) for (i = children.length - 1; i >= 0; --i) {\n nodes.push(children[i]);\n }\n }\n return this;\n}\n","export default function(callback) {\n var node = this, nodes = [node], next = [], children, i, n;\n while (node = nodes.pop()) {\n next.push(node), children = node.children;\n if (children) for (i = 0, n = children.length; i < n; ++i) {\n nodes.push(children[i]);\n }\n }\n while (node = next.pop()) {\n callback(node);\n }\n return this;\n}\n","export default function(value) {\n return this.eachAfter(function(node) {\n var sum = +value(node.data) || 0,\n children = node.children,\n i = children && children.length;\n while (--i >= 0) sum += children[i].value;\n node.value = sum;\n });\n}\n","export default function(compare) {\n return this.eachBefore(function(node) {\n if (node.children) {\n node.children.sort(compare);\n }\n });\n}\n","export default function(end) {\n var start = this,\n ancestor = leastCommonAncestor(start, end),\n nodes = [start];\n while (start !== ancestor) {\n start = start.parent;\n nodes.push(start);\n }\n var k = nodes.length;\n while (end !== ancestor) {\n nodes.splice(k, 0, end);\n end = end.parent;\n }\n return nodes;\n}\n\nfunction leastCommonAncestor(a, b) {\n if (a === b) return a;\n var aNodes = a.ancestors(),\n bNodes = b.ancestors(),\n c = null;\n a = aNodes.pop();\n b = bNodes.pop();\n while (a === b) {\n c = a;\n a = aNodes.pop();\n b = bNodes.pop();\n }\n return c;\n}\n","export default function() {\n var node = this, nodes = [node];\n while (node = node.parent) {\n nodes.push(node);\n }\n return nodes;\n}\n","export default function() {\n var nodes = [];\n this.each(function(node) {\n nodes.push(node);\n });\n return nodes;\n}\n","export default function() {\n var leaves = [];\n this.eachBefore(function(node) {\n if (!node.children) {\n leaves.push(node);\n }\n });\n return leaves;\n}\n","export default function() {\n var root = this, links = [];\n root.each(function(node) {\n if (node !== root) { // Don’t include the root’s parent, if any.\n links.push({source: node.parent, target: node});\n }\n });\n return links;\n}\n","import node_count from \"./count\";\nimport node_each from \"./each\";\nimport node_eachBefore from \"./eachBefore\";\nimport node_eachAfter from \"./eachAfter\";\nimport node_sum from \"./sum\";\nimport node_sort from \"./sort\";\nimport node_path from \"./path\";\nimport node_ancestors from \"./ancestors\";\nimport node_descendants from \"./descendants\";\nimport node_leaves from \"./leaves\";\nimport node_links from \"./links\";\n\nexport default function hierarchy(data, children) {\n var root = new Node(data),\n valued = +data.value && (root.value = data.value),\n node,\n nodes = [root],\n child,\n childs,\n i,\n n;\n\n if (children == null) children = defaultChildren;\n\n while (node = nodes.pop()) {\n if (valued) node.value = +node.data.value;\n if ((childs = children(node.data)) && (n = childs.length)) {\n node.children = new Array(n);\n for (i = n - 1; i >= 0; --i) {\n nodes.push(child = node.children[i] = new Node(childs[i]));\n child.parent = node;\n child.depth = node.depth + 1;\n }\n }\n }\n\n return root.eachBefore(computeHeight);\n}\n\nfunction node_copy() {\n return hierarchy(this).eachBefore(copyData);\n}\n\nfunction defaultChildren(d) {\n return d.children;\n}\n\nfunction copyData(node) {\n node.data = node.data.data;\n}\n\nexport function computeHeight(node) {\n var height = 0;\n do node.height = height;\n while ((node = node.parent) && (node.height < ++height));\n}\n\nexport function Node(data) {\n this.data = data;\n this.depth =\n this.height = 0;\n this.parent = null;\n}\n\nNode.prototype = hierarchy.prototype = {\n constructor: Node,\n count: node_count,\n each: node_each,\n eachAfter: node_eachAfter,\n eachBefore: node_eachBefore,\n sum: node_sum,\n sort: node_sort,\n path: node_path,\n ancestors: node_ancestors,\n descendants: node_descendants,\n leaves: node_leaves,\n links: node_links,\n copy: node_copy\n};\n","export var slice = Array.prototype.slice;\n\nexport function shuffle(array) {\n var m = array.length,\n t,\n i;\n\n while (m) {\n i = Math.random() * m-- | 0;\n t = array[m];\n array[m] = array[i];\n array[i] = t;\n }\n\n return array;\n}\n","import {shuffle, slice} from \"../array\";\n\nexport default function(circles) {\n var i = 0, n = (circles = shuffle(slice.call(circles))).length, B = [], p, e;\n\n while (i < n) {\n p = circles[i];\n if (e && enclosesWeak(e, p)) ++i;\n else e = encloseBasis(B = extendBasis(B, p)), i = 0;\n }\n\n return e;\n}\n\nfunction extendBasis(B, p) {\n var i, j;\n\n if (enclosesWeakAll(p, B)) return [p];\n\n // If we get here then B must have at least one element.\n for (i = 0; i < B.length; ++i) {\n if (enclosesNot(p, B[i])\n && enclosesWeakAll(encloseBasis2(B[i], p), B)) {\n return [B[i], p];\n }\n }\n\n // If we get here then B must have at least two elements.\n for (i = 0; i < B.length - 1; ++i) {\n for (j = i + 1; j < B.length; ++j) {\n if (enclosesNot(encloseBasis2(B[i], B[j]), p)\n && enclosesNot(encloseBasis2(B[i], p), B[j])\n && enclosesNot(encloseBasis2(B[j], p), B[i])\n && enclosesWeakAll(encloseBasis3(B[i], B[j], p), B)) {\n return [B[i], B[j], p];\n }\n }\n }\n\n // If we get here then something is very wrong.\n throw new Error;\n}\n\nfunction enclosesNot(a, b) {\n var dr = a.r - b.r, dx = b.x - a.x, dy = b.y - a.y;\n return dr < 0 || dr * dr < dx * dx + dy * dy;\n}\n\nfunction enclosesWeak(a, b) {\n var dr = a.r - b.r + 1e-6, dx = b.x - a.x, dy = b.y - a.y;\n return dr > 0 && dr * dr > dx * dx + dy * dy;\n}\n\nfunction enclosesWeakAll(a, B) {\n for (var i = 0; i < B.length; ++i) {\n if (!enclosesWeak(a, B[i])) {\n return false;\n }\n }\n return true;\n}\n\nfunction encloseBasis(B) {\n switch (B.length) {\n case 1: return encloseBasis1(B[0]);\n case 2: return encloseBasis2(B[0], B[1]);\n case 3: return encloseBasis3(B[0], B[1], B[2]);\n }\n}\n\nfunction encloseBasis1(a) {\n return {\n x: a.x,\n y: a.y,\n r: a.r\n };\n}\n\nfunction encloseBasis2(a, b) {\n var x1 = a.x, y1 = a.y, r1 = a.r,\n x2 = b.x, y2 = b.y, r2 = b.r,\n x21 = x2 - x1, y21 = y2 - y1, r21 = r2 - r1,\n l = Math.sqrt(x21 * x21 + y21 * y21);\n return {\n x: (x1 + x2 + x21 / l * r21) / 2,\n y: (y1 + y2 + y21 / l * r21) / 2,\n r: (l + r1 + r2) / 2\n };\n}\n\nfunction encloseBasis3(a, b, c) {\n var x1 = a.x, y1 = a.y, r1 = a.r,\n x2 = b.x, y2 = b.y, r2 = b.r,\n x3 = c.x, y3 = c.y, r3 = c.r,\n a2 = x1 - x2,\n a3 = x1 - x3,\n b2 = y1 - y2,\n b3 = y1 - y3,\n c2 = r2 - r1,\n c3 = r3 - r1,\n d1 = x1 * x1 + y1 * y1 - r1 * r1,\n d2 = d1 - x2 * x2 - y2 * y2 + r2 * r2,\n d3 = d1 - x3 * x3 - y3 * y3 + r3 * r3,\n ab = a3 * b2 - a2 * b3,\n xa = (b2 * d3 - b3 * d2) / (ab * 2) - x1,\n xb = (b3 * c2 - b2 * c3) / ab,\n ya = (a3 * d2 - a2 * d3) / (ab * 2) - y1,\n yb = (a2 * c3 - a3 * c2) / ab,\n A = xb * xb + yb * yb - 1,\n B = 2 * (r1 + xa * xb + ya * yb),\n C = xa * xa + ya * ya - r1 * r1,\n r = -(A ? (B + Math.sqrt(B * B - 4 * A * C)) / (2 * A) : C / B);\n return {\n x: x1 + xa + xb * r,\n y: y1 + ya + yb * r,\n r: r\n };\n}\n","import enclose from \"./enclose\";\n\nfunction place(b, a, c) {\n var dx = b.x - a.x, x, a2,\n dy = b.y - a.y, y, b2,\n d2 = dx * dx + dy * dy;\n if (d2) {\n a2 = a.r + c.r, a2 *= a2;\n b2 = b.r + c.r, b2 *= b2;\n if (a2 > b2) {\n x = (d2 + b2 - a2) / (2 * d2);\n y = Math.sqrt(Math.max(0, b2 / d2 - x * x));\n c.x = b.x - x * dx - y * dy;\n c.y = b.y - x * dy + y * dx;\n } else {\n x = (d2 + a2 - b2) / (2 * d2);\n y = Math.sqrt(Math.max(0, a2 / d2 - x * x));\n c.x = a.x + x * dx - y * dy;\n c.y = a.y + x * dy + y * dx;\n }\n } else {\n c.x = a.x + c.r;\n c.y = a.y;\n }\n}\n\nfunction intersects(a, b) {\n var dr = a.r + b.r - 1e-6, dx = b.x - a.x, dy = b.y - a.y;\n return dr > 0 && dr * dr > dx * dx + dy * dy;\n}\n\nfunction score(node) {\n var a = node._,\n b = node.next._,\n ab = a.r + b.r,\n dx = (a.x * b.r + b.x * a.r) / ab,\n dy = (a.y * b.r + b.y * a.r) / ab;\n return dx * dx + dy * dy;\n}\n\nfunction Node(circle) {\n this._ = circle;\n this.next = null;\n this.previous = null;\n}\n\nexport function packEnclose(circles) {\n if (!(n = circles.length)) return 0;\n\n var a, b, c, n, aa, ca, i, j, k, sj, sk;\n\n // Place the first circle.\n a = circles[0], a.x = 0, a.y = 0;\n if (!(n > 1)) return a.r;\n\n // Place the second circle.\n b = circles[1], a.x = -b.r, b.x = a.r, b.y = 0;\n if (!(n > 2)) return a.r + b.r;\n\n // Place the third circle.\n place(b, a, c = circles[2]);\n\n // Initialize the front-chain using the first three circles a, b and c.\n a = new Node(a), b = new Node(b), c = new Node(c);\n a.next = c.previous = b;\n b.next = a.previous = c;\n c.next = b.previous = a;\n\n // Attempt to place each remaining circle…\n pack: for (i = 3; i < n; ++i) {\n place(a._, b._, c = circles[i]), c = new Node(c);\n\n // Find the closest intersecting circle on the front-chain, if any.\n // “Closeness” is determined by linear distance along the front-chain.\n // “Ahead” or “behind” is likewise determined by linear distance.\n j = b.next, k = a.previous, sj = b._.r, sk = a._.r;\n do {\n if (sj <= sk) {\n if (intersects(j._, c._)) {\n b = j, a.next = b, b.previous = a, --i;\n continue pack;\n }\n sj += j._.r, j = j.next;\n } else {\n if (intersects(k._, c._)) {\n a = k, a.next = b, b.previous = a, --i;\n continue pack;\n }\n sk += k._.r, k = k.previous;\n }\n } while (j !== k.next);\n\n // Success! Insert the new circle c between a and b.\n c.previous = a, c.next = b, a.next = b.previous = b = c;\n\n // Compute the new closest circle pair to the centroid.\n aa = score(a);\n while ((c = c.next) !== b) {\n if ((ca = score(c)) < aa) {\n a = c, aa = ca;\n }\n }\n b = a.next;\n }\n\n // Compute the enclosing circle of the front chain.\n a = [b._], c = b; while ((c = c.next) !== b) a.push(c._); c = enclose(a);\n\n // Translate the circles to put the enclosing circle around the origin.\n for (i = 0; i < n; ++i) a = circles[i], a.x -= c.x, a.y -= c.y;\n\n return c.r;\n}\n\nexport default function(circles) {\n packEnclose(circles);\n return circles;\n}\n","export function optional(f) {\n return f == null ? null : required(f);\n}\n\nexport function required(f) {\n if (typeof f !== \"function\") throw new Error;\n return f;\n}\n","export function constantZero() {\n return 0;\n}\n\nexport default function(x) {\n return function() {\n return x;\n };\n}\n","import {packEnclose} from \"./siblings\";\nimport {optional} from \"../accessors\";\nimport constant, {constantZero} from \"../constant\";\n\nfunction defaultRadius(d) {\n return Math.sqrt(d.value);\n}\n\nexport default function() {\n var radius = null,\n dx = 1,\n dy = 1,\n padding = constantZero;\n\n function pack(root) {\n root.x = dx / 2, root.y = dy / 2;\n if (radius) {\n root.eachBefore(radiusLeaf(radius))\n .eachAfter(packChildren(padding, 0.5))\n .eachBefore(translateChild(1));\n } else {\n root.eachBefore(radiusLeaf(defaultRadius))\n .eachAfter(packChildren(constantZero, 1))\n .eachAfter(packChildren(padding, root.r / Math.min(dx, dy)))\n .eachBefore(translateChild(Math.min(dx, dy) / (2 * root.r)));\n }\n return root;\n }\n\n pack.radius = function(x) {\n return arguments.length ? (radius = optional(x), pack) : radius;\n };\n\n pack.size = function(x) {\n return arguments.length ? (dx = +x[0], dy = +x[1], pack) : [dx, dy];\n };\n\n pack.padding = function(x) {\n return arguments.length ? (padding = typeof x === \"function\" ? x : constant(+x), pack) : padding;\n };\n\n return pack;\n}\n\nfunction radiusLeaf(radius) {\n return function(node) {\n if (!node.children) {\n node.r = Math.max(0, +radius(node) || 0);\n }\n };\n}\n\nfunction packChildren(padding, k) {\n return function(node) {\n if (children = node.children) {\n var children,\n i,\n n = children.length,\n r = padding(node) * k || 0,\n e;\n\n if (r) for (i = 0; i < n; ++i) children[i].r += r;\n e = packEnclose(children);\n if (r) for (i = 0; i < n; ++i) children[i].r -= r;\n node.r = e + r;\n }\n };\n}\n\nfunction translateChild(k) {\n return function(node) {\n var parent = node.parent;\n node.r *= k;\n if (parent) {\n node.x = parent.x + k * node.x;\n node.y = parent.y + k * node.y;\n }\n };\n}\n","export default function(node) {\n node.x0 = Math.round(node.x0);\n node.y0 = Math.round(node.y0);\n node.x1 = Math.round(node.x1);\n node.y1 = Math.round(node.y1);\n}\n","export default function(parent, x0, y0, x1, y1) {\n var nodes = parent.children,\n node,\n i = -1,\n n = nodes.length,\n k = parent.value && (x1 - x0) / parent.value;\n\n while (++i < n) {\n node = nodes[i], node.y0 = y0, node.y1 = y1;\n node.x0 = x0, node.x1 = x0 += node.value * k;\n }\n}\n","import roundNode from \"./treemap/round\";\nimport treemapDice from \"./treemap/dice\";\n\nexport default function() {\n var dx = 1,\n dy = 1,\n padding = 0,\n round = false;\n\n function partition(root) {\n var n = root.height + 1;\n root.x0 =\n root.y0 = padding;\n root.x1 = dx;\n root.y1 = dy / n;\n root.eachBefore(positionNode(dy, n));\n if (round) root.eachBefore(roundNode);\n return root;\n }\n\n function positionNode(dy, n) {\n return function(node) {\n if (node.children) {\n treemapDice(node, node.x0, dy * (node.depth + 1) / n, node.x1, dy * (node.depth + 2) / n);\n }\n var x0 = node.x0,\n y0 = node.y0,\n x1 = node.x1 - padding,\n y1 = node.y1 - padding;\n if (x1 < x0) x0 = x1 = (x0 + x1) / 2;\n if (y1 < y0) y0 = y1 = (y0 + y1) / 2;\n node.x0 = x0;\n node.y0 = y0;\n node.x1 = x1;\n node.y1 = y1;\n };\n }\n\n partition.round = function(x) {\n return arguments.length ? (round = !!x, partition) : round;\n };\n\n partition.size = function(x) {\n return arguments.length ? (dx = +x[0], dy = +x[1], partition) : [dx, dy];\n };\n\n partition.padding = function(x) {\n return arguments.length ? (padding = +x, partition) : padding;\n };\n\n return partition;\n}\n","import {required} from \"./accessors\";\nimport {Node, computeHeight} from \"./hierarchy/index\";\n\nvar keyPrefix = \"$\", // Protect against keys like “__proto__”.\n preroot = {depth: -1},\n ambiguous = {};\n\nfunction defaultId(d) {\n return d.id;\n}\n\nfunction defaultParentId(d) {\n return d.parentId;\n}\n\nexport default function() {\n var id = defaultId,\n parentId = defaultParentId;\n\n function stratify(data) {\n var d,\n i,\n n = data.length,\n root,\n parent,\n node,\n nodes = new Array(n),\n nodeId,\n nodeKey,\n nodeByKey = {};\n\n for (i = 0; i < n; ++i) {\n d = data[i], node = nodes[i] = new Node(d);\n if ((nodeId = id(d, i, data)) != null && (nodeId += \"\")) {\n nodeKey = keyPrefix + (node.id = nodeId);\n nodeByKey[nodeKey] = nodeKey in nodeByKey ? ambiguous : node;\n }\n }\n\n for (i = 0; i < n; ++i) {\n node = nodes[i], nodeId = parentId(data[i], i, data);\n if (nodeId == null || !(nodeId += \"\")) {\n if (root) throw new Error(\"multiple roots\");\n root = node;\n } else {\n parent = nodeByKey[keyPrefix + nodeId];\n if (!parent) throw new Error(\"missing: \" + nodeId);\n if (parent === ambiguous) throw new Error(\"ambiguous: \" + nodeId);\n if (parent.children) parent.children.push(node);\n else parent.children = [node];\n node.parent = parent;\n }\n }\n\n if (!root) throw new Error(\"no root\");\n root.parent = preroot;\n root.eachBefore(function(node) { node.depth = node.parent.depth + 1; --n; }).eachBefore(computeHeight);\n root.parent = null;\n if (n > 0) throw new Error(\"cycle\");\n\n return root;\n }\n\n stratify.id = function(x) {\n return arguments.length ? (id = required(x), stratify) : id;\n };\n\n stratify.parentId = function(x) {\n return arguments.length ? (parentId = required(x), stratify) : parentId;\n };\n\n return stratify;\n}\n","import {Node} from \"./hierarchy/index\";\n\nfunction defaultSeparation(a, b) {\n return a.parent === b.parent ? 1 : 2;\n}\n\n// function radialSeparation(a, b) {\n// return (a.parent === b.parent ? 1 : 2) / a.depth;\n// }\n\n// This function is used to traverse the left contour of a subtree (or\n// subforest). It returns the successor of v on this contour. This successor is\n// either given by the leftmost child of v or by the thread of v. The function\n// returns null if and only if v is on the highest level of its subtree.\nfunction nextLeft(v) {\n var children = v.children;\n return children ? children[0] : v.t;\n}\n\n// This function works analogously to nextLeft.\nfunction nextRight(v) {\n var children = v.children;\n return children ? children[children.length - 1] : v.t;\n}\n\n// Shifts the current subtree rooted at w+. This is done by increasing\n// prelim(w+) and mod(w+) by shift.\nfunction moveSubtree(wm, wp, shift) {\n var change = shift / (wp.i - wm.i);\n wp.c -= change;\n wp.s += shift;\n wm.c += change;\n wp.z += shift;\n wp.m += shift;\n}\n\n// All other shifts, applied to the smaller subtrees between w- and w+, are\n// performed by this function. To prepare the shifts, we have to adjust\n// change(w+), shift(w+), and change(w-).\nfunction executeShifts(v) {\n var shift = 0,\n change = 0,\n children = v.children,\n i = children.length,\n w;\n while (--i >= 0) {\n w = children[i];\n w.z += shift;\n w.m += shift;\n shift += w.s + (change += w.c);\n }\n}\n\n// If vi-’s ancestor is a sibling of v, returns vi-’s ancestor. Otherwise,\n// returns the specified (default) ancestor.\nfunction nextAncestor(vim, v, ancestor) {\n return vim.a.parent === v.parent ? vim.a : ancestor;\n}\n\nfunction TreeNode(node, i) {\n this._ = node;\n this.parent = null;\n this.children = null;\n this.A = null; // default ancestor\n this.a = this; // ancestor\n this.z = 0; // prelim\n this.m = 0; // mod\n this.c = 0; // change\n this.s = 0; // shift\n this.t = null; // thread\n this.i = i; // number\n}\n\nTreeNode.prototype = Object.create(Node.prototype);\n\nfunction treeRoot(root) {\n var tree = new TreeNode(root, 0),\n node,\n nodes = [tree],\n child,\n children,\n i,\n n;\n\n while (node = nodes.pop()) {\n if (children = node._.children) {\n node.children = new Array(n = children.length);\n for (i = n - 1; i >= 0; --i) {\n nodes.push(child = node.children[i] = new TreeNode(children[i], i));\n child.parent = node;\n }\n }\n }\n\n (tree.parent = new TreeNode(null, 0)).children = [tree];\n return tree;\n}\n\n// Node-link tree diagram using the Reingold-Tilford \"tidy\" algorithm\nexport default function() {\n var separation = defaultSeparation,\n dx = 1,\n dy = 1,\n nodeSize = null;\n\n function tree(root) {\n var t = treeRoot(root);\n\n // Compute the layout using Buchheim et al.’s algorithm.\n t.eachAfter(firstWalk), t.parent.m = -t.z;\n t.eachBefore(secondWalk);\n\n // If a fixed node size is specified, scale x and y.\n if (nodeSize) root.eachBefore(sizeNode);\n\n // If a fixed tree size is specified, scale x and y based on the extent.\n // Compute the left-most, right-most, and depth-most nodes for extents.\n else {\n var left = root,\n right = root,\n bottom = root;\n root.eachBefore(function(node) {\n if (node.x < left.x) left = node;\n if (node.x > right.x) right = node;\n if (node.depth > bottom.depth) bottom = node;\n });\n var s = left === right ? 1 : separation(left, right) / 2,\n tx = s - left.x,\n kx = dx / (right.x + s + tx),\n ky = dy / (bottom.depth || 1);\n root.eachBefore(function(node) {\n node.x = (node.x + tx) * kx;\n node.y = node.depth * ky;\n });\n }\n\n return root;\n }\n\n // Computes a preliminary x-coordinate for v. Before that, FIRST WALK is\n // applied recursively to the children of v, as well as the function\n // APPORTION. After spacing out the children by calling EXECUTE SHIFTS, the\n // node v is placed to the midpoint of its outermost children.\n function firstWalk(v) {\n var children = v.children,\n siblings = v.parent.children,\n w = v.i ? siblings[v.i - 1] : null;\n if (children) {\n executeShifts(v);\n var midpoint = (children[0].z + children[children.length - 1].z) / 2;\n if (w) {\n v.z = w.z + separation(v._, w._);\n v.m = v.z - midpoint;\n } else {\n v.z = midpoint;\n }\n } else if (w) {\n v.z = w.z + separation(v._, w._);\n }\n v.parent.A = apportion(v, w, v.parent.A || siblings[0]);\n }\n\n // Computes all real x-coordinates by summing up the modifiers recursively.\n function secondWalk(v) {\n v._.x = v.z + v.parent.m;\n v.m += v.parent.m;\n }\n\n // The core of the algorithm. Here, a new subtree is combined with the\n // previous subtrees. Threads are used to traverse the inside and outside\n // contours of the left and right subtree up to the highest common level. The\n // vertices used for the traversals are vi+, vi-, vo-, and vo+, where the\n // superscript o means outside and i means inside, the subscript - means left\n // subtree and + means right subtree. For summing up the modifiers along the\n // contour, we use respective variables si+, si-, so-, and so+. Whenever two\n // nodes of the inside contours conflict, we compute the left one of the\n // greatest uncommon ancestors using the function ANCESTOR and call MOVE\n // SUBTREE to shift the subtree and prepare the shifts of smaller subtrees.\n // Finally, we add a new thread (if necessary).\n function apportion(v, w, ancestor) {\n if (w) {\n var vip = v,\n vop = v,\n vim = w,\n vom = vip.parent.children[0],\n sip = vip.m,\n sop = vop.m,\n sim = vim.m,\n som = vom.m,\n shift;\n while (vim = nextRight(vim), vip = nextLeft(vip), vim && vip) {\n vom = nextLeft(vom);\n vop = nextRight(vop);\n vop.a = v;\n shift = vim.z + sim - vip.z - sip + separation(vim._, vip._);\n if (shift > 0) {\n moveSubtree(nextAncestor(vim, v, ancestor), v, shift);\n sip += shift;\n sop += shift;\n }\n sim += vim.m;\n sip += vip.m;\n som += vom.m;\n sop += vop.m;\n }\n if (vim && !nextRight(vop)) {\n vop.t = vim;\n vop.m += sim - sop;\n }\n if (vip && !nextLeft(vom)) {\n vom.t = vip;\n vom.m += sip - som;\n ancestor = v;\n }\n }\n return ancestor;\n }\n\n function sizeNode(node) {\n node.x *= dx;\n node.y = node.depth * dy;\n }\n\n tree.separation = function(x) {\n return arguments.length ? (separation = x, tree) : separation;\n };\n\n tree.size = function(x) {\n return arguments.length ? (nodeSize = false, dx = +x[0], dy = +x[1], tree) : (nodeSize ? null : [dx, dy]);\n };\n\n tree.nodeSize = function(x) {\n return arguments.length ? (nodeSize = true, dx = +x[0], dy = +x[1], tree) : (nodeSize ? [dx, dy] : null);\n };\n\n return tree;\n}\n","export default function(parent, x0, y0, x1, y1) {\n var nodes = parent.children,\n node,\n i = -1,\n n = nodes.length,\n k = parent.value && (y1 - y0) / parent.value;\n\n while (++i < n) {\n node = nodes[i], node.x0 = x0, node.x1 = x1;\n node.y0 = y0, node.y1 = y0 += node.value * k;\n }\n}\n","import treemapDice from \"./dice\";\nimport treemapSlice from \"./slice\";\n\nexport var phi = (1 + Math.sqrt(5)) / 2;\n\nexport function squarifyRatio(ratio, parent, x0, y0, x1, y1) {\n var rows = [],\n nodes = parent.children,\n row,\n nodeValue,\n i0 = 0,\n i1 = 0,\n n = nodes.length,\n dx, dy,\n value = parent.value,\n sumValue,\n minValue,\n maxValue,\n newRatio,\n minRatio,\n alpha,\n beta;\n\n while (i0 < n) {\n dx = x1 - x0, dy = y1 - y0;\n\n // Find the next non-empty node.\n do sumValue = nodes[i1++].value; while (!sumValue && i1 < n);\n minValue = maxValue = sumValue;\n alpha = Math.max(dy / dx, dx / dy) / (value * ratio);\n beta = sumValue * sumValue * alpha;\n minRatio = Math.max(maxValue / beta, beta / minValue);\n\n // Keep adding nodes while the aspect ratio maintains or improves.\n for (; i1 < n; ++i1) {\n sumValue += nodeValue = nodes[i1].value;\n if (nodeValue < minValue) minValue = nodeValue;\n if (nodeValue > maxValue) maxValue = nodeValue;\n beta = sumValue * sumValue * alpha;\n newRatio = Math.max(maxValue / beta, beta / minValue);\n if (newRatio > minRatio) { sumValue -= nodeValue; break; }\n minRatio = newRatio;\n }\n\n // Position and record the row orientation.\n rows.push(row = {value: sumValue, dice: dx < dy, children: nodes.slice(i0, i1)});\n if (row.dice) treemapDice(row, x0, y0, x1, value ? y0 += dy * sumValue / value : y1);\n else treemapSlice(row, x0, y0, value ? x0 += dx * sumValue / value : x1, y1);\n value -= sumValue, i0 = i1;\n }\n\n return rows;\n}\n\nexport default (function custom(ratio) {\n\n function squarify(parent, x0, y0, x1, y1) {\n squarifyRatio(ratio, parent, x0, y0, x1, y1);\n }\n\n squarify.ratio = function(x) {\n return custom((x = +x) > 1 ? x : 1);\n };\n\n return squarify;\n})(phi);\n","import roundNode from \"./round\";\nimport squarify from \"./squarify\";\nimport {required} from \"../accessors\";\nimport constant, {constantZero} from \"../constant\";\n\nexport default function() {\n var tile = squarify,\n round = false,\n dx = 1,\n dy = 1,\n paddingStack = [0],\n paddingInner = constantZero,\n paddingTop = constantZero,\n paddingRight = constantZero,\n paddingBottom = constantZero,\n paddingLeft = constantZero;\n\n function treemap(root) {\n root.x0 =\n root.y0 = 0;\n root.x1 = dx;\n root.y1 = dy;\n root.eachBefore(positionNode);\n paddingStack = [0];\n if (round) root.eachBefore(roundNode);\n return root;\n }\n\n function positionNode(node) {\n var p = paddingStack[node.depth],\n x0 = node.x0 + p,\n y0 = node.y0 + p,\n x1 = node.x1 - p,\n y1 = node.y1 - p;\n if (x1 < x0) x0 = x1 = (x0 + x1) / 2;\n if (y1 < y0) y0 = y1 = (y0 + y1) / 2;\n node.x0 = x0;\n node.y0 = y0;\n node.x1 = x1;\n node.y1 = y1;\n if (node.children) {\n p = paddingStack[node.depth + 1] = paddingInner(node) / 2;\n x0 += paddingLeft(node) - p;\n y0 += paddingTop(node) - p;\n x1 -= paddingRight(node) - p;\n y1 -= paddingBottom(node) - p;\n if (x1 < x0) x0 = x1 = (x0 + x1) / 2;\n if (y1 < y0) y0 = y1 = (y0 + y1) / 2;\n tile(node, x0, y0, x1, y1);\n }\n }\n\n treemap.round = function(x) {\n return arguments.length ? (round = !!x, treemap) : round;\n };\n\n treemap.size = function(x) {\n return arguments.length ? (dx = +x[0], dy = +x[1], treemap) : [dx, dy];\n };\n\n treemap.tile = function(x) {\n return arguments.length ? (tile = required(x), treemap) : tile;\n };\n\n treemap.padding = function(x) {\n return arguments.length ? treemap.paddingInner(x).paddingOuter(x) : treemap.paddingInner();\n };\n\n treemap.paddingInner = function(x) {\n return arguments.length ? (paddingInner = typeof x === \"function\" ? x : constant(+x), treemap) : paddingInner;\n };\n\n treemap.paddingOuter = function(x) {\n return arguments.length ? treemap.paddingTop(x).paddingRight(x).paddingBottom(x).paddingLeft(x) : treemap.paddingTop();\n };\n\n treemap.paddingTop = function(x) {\n return arguments.length ? (paddingTop = typeof x === \"function\" ? x : constant(+x), treemap) : paddingTop;\n };\n\n treemap.paddingRight = function(x) {\n return arguments.length ? (paddingRight = typeof x === \"function\" ? x : constant(+x), treemap) : paddingRight;\n };\n\n treemap.paddingBottom = function(x) {\n return arguments.length ? (paddingBottom = typeof x === \"function\" ? x : constant(+x), treemap) : paddingBottom;\n };\n\n treemap.paddingLeft = function(x) {\n return arguments.length ? (paddingLeft = typeof x === \"function\" ? x : constant(+x), treemap) : paddingLeft;\n };\n\n return treemap;\n}\n","export default function(parent, x0, y0, x1, y1) {\n var nodes = parent.children,\n i, n = nodes.length,\n sum, sums = new Array(n + 1);\n\n for (sums[0] = sum = i = 0; i < n; ++i) {\n sums[i + 1] = sum += nodes[i].value;\n }\n\n partition(0, n, parent.value, x0, y0, x1, y1);\n\n function partition(i, j, value, x0, y0, x1, y1) {\n if (i >= j - 1) {\n var node = nodes[i];\n node.x0 = x0, node.y0 = y0;\n node.x1 = x1, node.y1 = y1;\n return;\n }\n\n var valueOffset = sums[i],\n valueTarget = (value / 2) + valueOffset,\n k = i + 1,\n hi = j - 1;\n\n while (k < hi) {\n var mid = k + hi >>> 1;\n if (sums[mid] < valueTarget) k = mid + 1;\n else hi = mid;\n }\n\n if ((valueTarget - sums[k - 1]) < (sums[k] - valueTarget) && i + 1 < k) --k;\n\n var valueLeft = sums[k] - valueOffset,\n valueRight = value - valueLeft;\n\n if ((x1 - x0) > (y1 - y0)) {\n var xk = (x0 * valueRight + x1 * valueLeft) / value;\n partition(i, k, valueLeft, x0, y0, xk, y1);\n partition(k, j, valueRight, xk, y0, x1, y1);\n } else {\n var yk = (y0 * valueRight + y1 * valueLeft) / value;\n partition(i, k, valueLeft, x0, y0, x1, yk);\n partition(k, j, valueRight, x0, yk, x1, y1);\n }\n }\n}\n","import dice from \"./dice\";\nimport slice from \"./slice\";\n\nexport default function(parent, x0, y0, x1, y1) {\n (parent.depth & 1 ? slice : dice)(parent, x0, y0, x1, y1);\n}\n","import treemapDice from \"./dice\";\nimport treemapSlice from \"./slice\";\nimport {phi, squarifyRatio} from \"./squarify\";\n\nexport default (function custom(ratio) {\n\n function resquarify(parent, x0, y0, x1, y1) {\n if ((rows = parent._squarify) && (rows.ratio === ratio)) {\n var rows,\n row,\n nodes,\n i,\n j = -1,\n n,\n m = rows.length,\n value = parent.value;\n\n while (++j < m) {\n row = rows[j], nodes = row.children;\n for (i = row.value = 0, n = nodes.length; i < n; ++i) row.value += nodes[i].value;\n if (row.dice) treemapDice(row, x0, y0, x1, y0 += (y1 - y0) * row.value / value);\n else treemapSlice(row, x0, y0, x0 += (x1 - x0) * row.value / value, y1);\n value -= row.value;\n }\n } else {\n parent._squarify = rows = squarifyRatio(ratio, parent, x0, y0, x1, y1);\n rows.ratio = ratio;\n }\n }\n\n resquarify.ratio = function(x) {\n return custom((x = +x) > 1 ? x : 1);\n };\n\n return resquarify;\n})(phi);\n","export {default as cluster} from \"./src/cluster\";\nexport {default as hierarchy} from \"./src/hierarchy/index\";\nexport {default as pack} from \"./src/pack/index\";\nexport {default as packSiblings} from \"./src/pack/siblings\";\nexport {default as packEnclose} from \"./src/pack/enclose\";\nexport {default as partition} from \"./src/partition\";\nexport {default as stratify} from \"./src/stratify\";\nexport {default as tree} from \"./src/tree\";\nexport {default as treemap} from \"./src/treemap/index\";\nexport {default as treemapBinary} from \"./src/treemap/binary\";\nexport {default as treemapDice} from \"./src/treemap/dice\";\nexport {default as treemapSlice} from \"./src/treemap/slice\";\nexport {default as treemapSliceDice} from \"./src/treemap/sliceDice\";\nexport {default as treemapSquarify} from \"./src/treemap/squarify\";\nexport {default as treemapResquarify} from \"./src/treemap/resquarify\";\n","export default function(polygon) {\n var i = -1,\n n = polygon.length,\n a,\n b = polygon[n - 1],\n area = 0;\n\n while (++i < n) {\n a = b;\n b = polygon[i];\n area += a[1] * b[0] - a[0] * b[1];\n }\n\n return area / 2;\n}\n","export default function(polygon) {\n var i = -1,\n n = polygon.length,\n x = 0,\n y = 0,\n a,\n b = polygon[n - 1],\n c,\n k = 0;\n\n while (++i < n) {\n a = b;\n b = polygon[i];\n k += c = a[0] * b[1] - b[0] * a[1];\n x += (a[0] + b[0]) * c;\n y += (a[1] + b[1]) * c;\n }\n\n return k *= 3, [x / k, y / k];\n}\n","// Returns the 2D cross product of AB and AC vectors, i.e., the z-component of\n// the 3D cross product in a quadrant I Cartesian coordinate system (+x is\n// right, +y is up). Returns a positive value if ABC is counter-clockwise,\n// negative if clockwise, and zero if the points are collinear.\nexport default function(a, b, c) {\n return (b[0] - a[0]) * (c[1] - a[1]) - (b[1] - a[1]) * (c[0] - a[0]);\n}\n","import cross from \"./cross\";\n\nfunction lexicographicOrder(a, b) {\n return a[0] - b[0] || a[1] - b[1];\n}\n\n// Computes the upper convex hull per the monotone chain algorithm.\n// Assumes points.length >= 3, is sorted by x, unique in y.\n// Returns an array of indices into points in left-to-right order.\nfunction computeUpperHullIndexes(points) {\n var n = points.length,\n indexes = [0, 1],\n size = 2;\n\n for (var i = 2; i < n; ++i) {\n while (size > 1 && cross(points[indexes[size - 2]], points[indexes[size - 1]], points[i]) <= 0) --size;\n indexes[size++] = i;\n }\n\n return indexes.slice(0, size); // remove popped points\n}\n\nexport default function(points) {\n if ((n = points.length) < 3) return null;\n\n var i,\n n,\n sortedPoints = new Array(n),\n flippedPoints = new Array(n);\n\n for (i = 0; i < n; ++i) sortedPoints[i] = [+points[i][0], +points[i][1], i];\n sortedPoints.sort(lexicographicOrder);\n for (i = 0; i < n; ++i) flippedPoints[i] = [sortedPoints[i][0], -sortedPoints[i][1]];\n\n var upperIndexes = computeUpperHullIndexes(sortedPoints),\n lowerIndexes = computeUpperHullIndexes(flippedPoints);\n\n // Construct the hull polygon, removing possible duplicate endpoints.\n var skipLeft = lowerIndexes[0] === upperIndexes[0],\n skipRight = lowerIndexes[lowerIndexes.length - 1] === upperIndexes[upperIndexes.length - 1],\n hull = [];\n\n // Add upper hull in right-to-l order.\n // Then add lower hull in left-to-right order.\n for (i = upperIndexes.length - 1; i >= 0; --i) hull.push(points[sortedPoints[upperIndexes[i]][2]]);\n for (i = +skipLeft; i < lowerIndexes.length - skipRight; ++i) hull.push(points[sortedPoints[lowerIndexes[i]][2]]);\n\n return hull;\n}\n","export default function(polygon, point) {\n var n = polygon.length,\n p = polygon[n - 1],\n x = point[0], y = point[1],\n x0 = p[0], y0 = p[1],\n x1, y1,\n inside = false;\n\n for (var i = 0; i < n; ++i) {\n p = polygon[i], x1 = p[0], y1 = p[1];\n if (((y1 > y) !== (y0 > y)) && (x < (x0 - x1) * (y - y1) / (y0 - y1) + x1)) inside = !inside;\n x0 = x1, y0 = y1;\n }\n\n return inside;\n}\n","export default function(polygon) {\n var i = -1,\n n = polygon.length,\n b = polygon[n - 1],\n xa,\n ya,\n xb = b[0],\n yb = b[1],\n perimeter = 0;\n\n while (++i < n) {\n xa = xb;\n ya = yb;\n b = polygon[i];\n xb = b[0];\n yb = b[1];\n xa -= xb;\n ya -= yb;\n perimeter += Math.sqrt(xa * xa + ya * ya);\n }\n\n return perimeter;\n}\n","export {default as polygonArea} from \"./src/area\";\nexport {default as polygonCentroid} from \"./src/centroid\";\nexport {default as polygonHull} from \"./src/hull\";\nexport {default as polygonContains} from \"./src/contains\";\nexport {default as polygonLength} from \"./src/length\";\n","export default function() {\n return Math.random();\n}\n","import defaultSource from \"./defaultSource\";\n\nexport default (function sourceRandomUniform(source) {\n function randomUniform(min, max) {\n min = min == null ? 0 : +min;\n max = max == null ? 1 : +max;\n if (arguments.length === 1) max = min, min = 0;\n else max -= min;\n return function() {\n return source() * max + min;\n };\n }\n\n randomUniform.source = sourceRandomUniform;\n\n return randomUniform;\n})(defaultSource);\n","import defaultSource from \"./defaultSource\";\n\nexport default (function sourceRandomNormal(source) {\n function randomNormal(mu, sigma) {\n var x, r;\n mu = mu == null ? 0 : +mu;\n sigma = sigma == null ? 1 : +sigma;\n return function() {\n var y;\n\n // If available, use the second previously-generated uniform random.\n if (x != null) y = x, x = null;\n\n // Otherwise, generate a new x and y.\n else do {\n x = source() * 2 - 1;\n y = source() * 2 - 1;\n r = x * x + y * y;\n } while (!r || r > 1);\n\n return mu + sigma * y * Math.sqrt(-2 * Math.log(r) / r);\n };\n }\n\n randomNormal.source = sourceRandomNormal;\n\n return randomNormal;\n})(defaultSource);\n","import defaultSource from \"./defaultSource\";\nimport normal from \"./normal\";\n\nexport default (function sourceRandomLogNormal(source) {\n function randomLogNormal() {\n var randomNormal = normal.source(source).apply(this, arguments);\n return function() {\n return Math.exp(randomNormal());\n };\n }\n\n randomLogNormal.source = sourceRandomLogNormal;\n\n return randomLogNormal;\n})(defaultSource);\n","import defaultSource from \"./defaultSource\";\n\nexport default (function sourceRandomIrwinHall(source) {\n function randomIrwinHall(n) {\n return function() {\n for (var sum = 0, i = 0; i < n; ++i) sum += source();\n return sum;\n };\n }\n\n randomIrwinHall.source = sourceRandomIrwinHall;\n\n return randomIrwinHall;\n})(defaultSource);\n","import defaultSource from \"./defaultSource\";\nimport irwinHall from \"./irwinHall\";\n\nexport default (function sourceRandomBates(source) {\n function randomBates(n) {\n var randomIrwinHall = irwinHall.source(source)(n);\n return function() {\n return randomIrwinHall() / n;\n };\n }\n\n randomBates.source = sourceRandomBates;\n\n return randomBates;\n})(defaultSource);\n","import defaultSource from \"./defaultSource\";\n\nexport default (function sourceRandomExponential(source) {\n function randomExponential(lambda) {\n return function() {\n return -Math.log(1 - source()) / lambda;\n };\n }\n\n randomExponential.source = sourceRandomExponential;\n\n return randomExponential;\n})(defaultSource);\n","export {default as randomUniform} from \"./src/uniform\";\nexport {default as randomNormal} from \"./src/normal\";\nexport {default as randomLogNormal} from \"./src/logNormal\";\nexport {default as randomBates} from \"./src/bates\";\nexport {default as randomIrwinHall} from \"./src/irwinHall\";\nexport {default as randomExponential} from \"./src/exponential\";\n","var array = Array.prototype;\n\nexport var map = array.map;\nexport var slice = array.slice;\n","import {map} from \"d3-collection\";\nimport {slice} from \"./array\";\n\nexport var implicit = {name: \"implicit\"};\n\nexport default function ordinal(range) {\n var index = map(),\n domain = [],\n unknown = implicit;\n\n range = range == null ? [] : slice.call(range);\n\n function scale(d) {\n var key = d + \"\", i = index.get(key);\n if (!i) {\n if (unknown !== implicit) return unknown;\n index.set(key, i = domain.push(d));\n }\n return range[(i - 1) % range.length];\n }\n\n scale.domain = function(_) {\n if (!arguments.length) return domain.slice();\n domain = [], index = map();\n var i = -1, n = _.length, d, key;\n while (++i < n) if (!index.has(key = (d = _[i]) + \"\")) index.set(key, domain.push(d));\n return scale;\n };\n\n scale.range = function(_) {\n return arguments.length ? (range = slice.call(_), scale) : range.slice();\n };\n\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n scale.copy = function() {\n return ordinal()\n .domain(domain)\n .range(range)\n .unknown(unknown);\n };\n\n return scale;\n}\n","import {range as sequence} from \"d3-array\";\nimport ordinal from \"./ordinal\";\n\nexport default function band() {\n var scale = ordinal().unknown(undefined),\n domain = scale.domain,\n ordinalRange = scale.range,\n range = [0, 1],\n step,\n bandwidth,\n round = false,\n paddingInner = 0,\n paddingOuter = 0,\n align = 0.5;\n\n delete scale.unknown;\n\n function rescale() {\n var n = domain().length,\n reverse = range[1] < range[0],\n start = range[reverse - 0],\n stop = range[1 - reverse];\n step = (stop - start) / Math.max(1, n - paddingInner + paddingOuter * 2);\n if (round) step = Math.floor(step);\n start += (stop - start - step * (n - paddingInner)) * align;\n bandwidth = step * (1 - paddingInner);\n if (round) start = Math.round(start), bandwidth = Math.round(bandwidth);\n var values = sequence(n).map(function(i) { return start + step * i; });\n return ordinalRange(reverse ? values.reverse() : values);\n }\n\n scale.domain = function(_) {\n return arguments.length ? (domain(_), rescale()) : domain();\n };\n\n scale.range = function(_) {\n return arguments.length ? (range = [+_[0], +_[1]], rescale()) : range.slice();\n };\n\n scale.rangeRound = function(_) {\n return range = [+_[0], +_[1]], round = true, rescale();\n };\n\n scale.bandwidth = function() {\n return bandwidth;\n };\n\n scale.step = function() {\n return step;\n };\n\n scale.round = function(_) {\n return arguments.length ? (round = !!_, rescale()) : round;\n };\n\n scale.padding = function(_) {\n return arguments.length ? (paddingInner = paddingOuter = Math.max(0, Math.min(1, _)), rescale()) : paddingInner;\n };\n\n scale.paddingInner = function(_) {\n return arguments.length ? (paddingInner = Math.max(0, Math.min(1, _)), rescale()) : paddingInner;\n };\n\n scale.paddingOuter = function(_) {\n return arguments.length ? (paddingOuter = Math.max(0, Math.min(1, _)), rescale()) : paddingOuter;\n };\n\n scale.align = function(_) {\n return arguments.length ? (align = Math.max(0, Math.min(1, _)), rescale()) : align;\n };\n\n scale.copy = function() {\n return band()\n .domain(domain())\n .range(range)\n .round(round)\n .paddingInner(paddingInner)\n .paddingOuter(paddingOuter)\n .align(align);\n };\n\n return rescale();\n}\n\nfunction pointish(scale) {\n var copy = scale.copy;\n\n scale.padding = scale.paddingOuter;\n delete scale.paddingInner;\n delete scale.paddingOuter;\n\n scale.copy = function() {\n return pointish(copy());\n };\n\n return scale;\n}\n\nexport function point() {\n return pointish(band().paddingInner(1));\n}\n","export default function(x) {\n return function() {\n return x;\n };\n}\n","export default function(x) {\n return +x;\n}\n","import {bisect} from \"d3-array\";\nimport {interpolate as interpolateValue, interpolateRound} from \"d3-interpolate\";\nimport {map, slice} from \"./array\";\nimport constant from \"./constant\";\nimport number from \"./number\";\n\nvar unit = [0, 1];\n\nexport function deinterpolateLinear(a, b) {\n return (b -= (a = +a))\n ? function(x) { return (x - a) / b; }\n : constant(b);\n}\n\nfunction deinterpolateClamp(deinterpolate) {\n return function(a, b) {\n var d = deinterpolate(a = +a, b = +b);\n return function(x) { return x <= a ? 0 : x >= b ? 1 : d(x); };\n };\n}\n\nfunction reinterpolateClamp(reinterpolate) {\n return function(a, b) {\n var r = reinterpolate(a = +a, b = +b);\n return function(t) { return t <= 0 ? a : t >= 1 ? b : r(t); };\n };\n}\n\nfunction bimap(domain, range, deinterpolate, reinterpolate) {\n var d0 = domain[0], d1 = domain[1], r0 = range[0], r1 = range[1];\n if (d1 < d0) d0 = deinterpolate(d1, d0), r0 = reinterpolate(r1, r0);\n else d0 = deinterpolate(d0, d1), r0 = reinterpolate(r0, r1);\n return function(x) { return r0(d0(x)); };\n}\n\nfunction polymap(domain, range, deinterpolate, reinterpolate) {\n var j = Math.min(domain.length, range.length) - 1,\n d = new Array(j),\n r = new Array(j),\n i = -1;\n\n // Reverse descending domains.\n if (domain[j] < domain[0]) {\n domain = domain.slice().reverse();\n range = range.slice().reverse();\n }\n\n while (++i < j) {\n d[i] = deinterpolate(domain[i], domain[i + 1]);\n r[i] = reinterpolate(range[i], range[i + 1]);\n }\n\n return function(x) {\n var i = bisect(domain, x, 1, j) - 1;\n return r[i](d[i](x));\n };\n}\n\nexport function copy(source, target) {\n return target\n .domain(source.domain())\n .range(source.range())\n .interpolate(source.interpolate())\n .clamp(source.clamp());\n}\n\n// deinterpolate(a, b)(x) takes a domain value x in [a,b] and returns the corresponding parameter t in [0,1].\n// reinterpolate(a, b)(t) takes a parameter t in [0,1] and returns the corresponding domain value x in [a,b].\nexport default function continuous(deinterpolate, reinterpolate) {\n var domain = unit,\n range = unit,\n interpolate = interpolateValue,\n clamp = false,\n piecewise,\n output,\n input;\n\n function rescale() {\n piecewise = Math.min(domain.length, range.length) > 2 ? polymap : bimap;\n output = input = null;\n return scale;\n }\n\n function scale(x) {\n return (output || (output = piecewise(domain, range, clamp ? deinterpolateClamp(deinterpolate) : deinterpolate, interpolate)))(+x);\n }\n\n scale.invert = function(y) {\n return (input || (input = piecewise(range, domain, deinterpolateLinear, clamp ? reinterpolateClamp(reinterpolate) : reinterpolate)))(+y);\n };\n\n scale.domain = function(_) {\n return arguments.length ? (domain = map.call(_, number), rescale()) : domain.slice();\n };\n\n scale.range = function(_) {\n return arguments.length ? (range = slice.call(_), rescale()) : range.slice();\n };\n\n scale.rangeRound = function(_) {\n return range = slice.call(_), interpolate = interpolateRound, rescale();\n };\n\n scale.clamp = function(_) {\n return arguments.length ? (clamp = !!_, rescale()) : clamp;\n };\n\n scale.interpolate = function(_) {\n return arguments.length ? (interpolate = _, rescale()) : interpolate;\n };\n\n return rescale();\n}\n","import {tickStep} from \"d3-array\";\nimport {format, formatPrefix, formatSpecifier, precisionFixed, precisionPrefix, precisionRound} from \"d3-format\";\n\nexport default function(domain, count, specifier) {\n var start = domain[0],\n stop = domain[domain.length - 1],\n step = tickStep(start, stop, count == null ? 10 : count),\n precision;\n specifier = formatSpecifier(specifier == null ? \",f\" : specifier);\n switch (specifier.type) {\n case \"s\": {\n var value = Math.max(Math.abs(start), Math.abs(stop));\n if (specifier.precision == null && !isNaN(precision = precisionPrefix(step, value))) specifier.precision = precision;\n return formatPrefix(specifier, value);\n }\n case \"\":\n case \"e\":\n case \"g\":\n case \"p\":\n case \"r\": {\n if (specifier.precision == null && !isNaN(precision = precisionRound(step, Math.max(Math.abs(start), Math.abs(stop))))) specifier.precision = precision - (specifier.type === \"e\");\n break;\n }\n case \"f\":\n case \"%\": {\n if (specifier.precision == null && !isNaN(precision = precisionFixed(step))) specifier.precision = precision - (specifier.type === \"%\") * 2;\n break;\n }\n }\n return format(specifier);\n}\n","import {ticks, tickIncrement} from \"d3-array\";\nimport {interpolateNumber as reinterpolate} from \"d3-interpolate\";\nimport {default as continuous, copy, deinterpolateLinear as deinterpolate} from \"./continuous\";\nimport tickFormat from \"./tickFormat\";\n\nexport function linearish(scale) {\n var domain = scale.domain;\n\n scale.ticks = function(count) {\n var d = domain();\n return ticks(d[0], d[d.length - 1], count == null ? 10 : count);\n };\n\n scale.tickFormat = function(count, specifier) {\n return tickFormat(domain(), count, specifier);\n };\n\n scale.nice = function(count) {\n if (count == null) count = 10;\n\n var d = domain(),\n i0 = 0,\n i1 = d.length - 1,\n start = d[i0],\n stop = d[i1],\n step;\n\n if (stop < start) {\n step = start, start = stop, stop = step;\n step = i0, i0 = i1, i1 = step;\n }\n\n step = tickIncrement(start, stop, count);\n\n if (step > 0) {\n start = Math.floor(start / step) * step;\n stop = Math.ceil(stop / step) * step;\n step = tickIncrement(start, stop, count);\n } else if (step < 0) {\n start = Math.ceil(start * step) / step;\n stop = Math.floor(stop * step) / step;\n step = tickIncrement(start, stop, count);\n }\n\n if (step > 0) {\n d[i0] = Math.floor(start / step) * step;\n d[i1] = Math.ceil(stop / step) * step;\n domain(d);\n } else if (step < 0) {\n d[i0] = Math.ceil(start * step) / step;\n d[i1] = Math.floor(stop * step) / step;\n domain(d);\n }\n\n return scale;\n };\n\n return scale;\n}\n\nexport default function linear() {\n var scale = continuous(deinterpolate, reinterpolate);\n\n scale.copy = function() {\n return copy(scale, linear());\n };\n\n return linearish(scale);\n}\n","import {map} from \"./array\";\nimport {linearish} from \"./linear\";\nimport number from \"./number\";\n\nexport default function identity() {\n var domain = [0, 1];\n\n function scale(x) {\n return +x;\n }\n\n scale.invert = scale;\n\n scale.domain = scale.range = function(_) {\n return arguments.length ? (domain = map.call(_, number), scale) : domain.slice();\n };\n\n scale.copy = function() {\n return identity().domain(domain);\n };\n\n return linearish(scale);\n}\n","export default function(domain, interval) {\n domain = domain.slice();\n\n var i0 = 0,\n i1 = domain.length - 1,\n x0 = domain[i0],\n x1 = domain[i1],\n t;\n\n if (x1 < x0) {\n t = i0, i0 = i1, i1 = t;\n t = x0, x0 = x1, x1 = t;\n }\n\n domain[i0] = interval.floor(x0);\n domain[i1] = interval.ceil(x1);\n return domain;\n}\n","import {ticks} from \"d3-array\";\nimport {format} from \"d3-format\";\nimport constant from \"./constant\";\nimport nice from \"./nice\";\nimport {default as continuous, copy} from \"./continuous\";\n\nfunction deinterpolate(a, b) {\n return (b = Math.log(b / a))\n ? function(x) { return Math.log(x / a) / b; }\n : constant(b);\n}\n\nfunction reinterpolate(a, b) {\n return a < 0\n ? function(t) { return -Math.pow(-b, t) * Math.pow(-a, 1 - t); }\n : function(t) { return Math.pow(b, t) * Math.pow(a, 1 - t); };\n}\n\nfunction pow10(x) {\n return isFinite(x) ? +(\"1e\" + x) : x < 0 ? 0 : x;\n}\n\nfunction powp(base) {\n return base === 10 ? pow10\n : base === Math.E ? Math.exp\n : function(x) { return Math.pow(base, x); };\n}\n\nfunction logp(base) {\n return base === Math.E ? Math.log\n : base === 10 && Math.log10\n || base === 2 && Math.log2\n || (base = Math.log(base), function(x) { return Math.log(x) / base; });\n}\n\nfunction reflect(f) {\n return function(x) {\n return -f(-x);\n };\n}\n\nexport default function log() {\n var scale = continuous(deinterpolate, reinterpolate).domain([1, 10]),\n domain = scale.domain,\n base = 10,\n logs = logp(10),\n pows = powp(10);\n\n function rescale() {\n logs = logp(base), pows = powp(base);\n if (domain()[0] < 0) logs = reflect(logs), pows = reflect(pows);\n return scale;\n }\n\n scale.base = function(_) {\n return arguments.length ? (base = +_, rescale()) : base;\n };\n\n scale.domain = function(_) {\n return arguments.length ? (domain(_), rescale()) : domain();\n };\n\n scale.ticks = function(count) {\n var d = domain(),\n u = d[0],\n v = d[d.length - 1],\n r;\n\n if (r = v < u) i = u, u = v, v = i;\n\n var i = logs(u),\n j = logs(v),\n p,\n k,\n t,\n n = count == null ? 10 : +count,\n z = [];\n\n if (!(base % 1) && j - i < n) {\n i = Math.round(i) - 1, j = Math.round(j) + 1;\n if (u > 0) for (; i < j; ++i) {\n for (k = 1, p = pows(i); k < base; ++k) {\n t = p * k;\n if (t < u) continue;\n if (t > v) break;\n z.push(t);\n }\n } else for (; i < j; ++i) {\n for (k = base - 1, p = pows(i); k >= 1; --k) {\n t = p * k;\n if (t < u) continue;\n if (t > v) break;\n z.push(t);\n }\n }\n } else {\n z = ticks(i, j, Math.min(j - i, n)).map(pows);\n }\n\n return r ? z.reverse() : z;\n };\n\n scale.tickFormat = function(count, specifier) {\n if (specifier == null) specifier = base === 10 ? \".0e\" : \",\";\n if (typeof specifier !== \"function\") specifier = format(specifier);\n if (count === Infinity) return specifier;\n if (count == null) count = 10;\n var k = Math.max(1, base * count / scale.ticks().length); // TODO fast estimate?\n return function(d) {\n var i = d / pows(Math.round(logs(d)));\n if (i * base < base - 0.5) i *= base;\n return i <= k ? specifier(d) : \"\";\n };\n };\n\n scale.nice = function() {\n return domain(nice(domain(), {\n floor: function(x) { return pows(Math.floor(logs(x))); },\n ceil: function(x) { return pows(Math.ceil(logs(x))); }\n }));\n };\n\n scale.copy = function() {\n return copy(scale, log().base(base));\n };\n\n return scale;\n}\n","import constant from \"./constant\";\nimport {linearish} from \"./linear\";\nimport {default as continuous, copy} from \"./continuous\";\n\nfunction raise(x, exponent) {\n return x < 0 ? -Math.pow(-x, exponent) : Math.pow(x, exponent);\n}\n\nexport default function pow() {\n var exponent = 1,\n scale = continuous(deinterpolate, reinterpolate),\n domain = scale.domain;\n\n function deinterpolate(a, b) {\n return (b = raise(b, exponent) - (a = raise(a, exponent)))\n ? function(x) { return (raise(x, exponent) - a) / b; }\n : constant(b);\n }\n\n function reinterpolate(a, b) {\n b = raise(b, exponent) - (a = raise(a, exponent));\n return function(t) { return raise(a + b * t, 1 / exponent); };\n }\n\n scale.exponent = function(_) {\n return arguments.length ? (exponent = +_, domain(domain())) : exponent;\n };\n\n scale.copy = function() {\n return copy(scale, pow().exponent(exponent));\n };\n\n return linearish(scale);\n}\n\nexport function sqrt() {\n return pow().exponent(0.5);\n}\n","import {ascending, bisect, quantile as threshold} from \"d3-array\";\nimport {slice} from \"./array\";\n\nexport default function quantile() {\n var domain = [],\n range = [],\n thresholds = [];\n\n function rescale() {\n var i = 0, n = Math.max(1, range.length);\n thresholds = new Array(n - 1);\n while (++i < n) thresholds[i - 1] = threshold(domain, i / n);\n return scale;\n }\n\n function scale(x) {\n if (!isNaN(x = +x)) return range[bisect(thresholds, x)];\n }\n\n scale.invertExtent = function(y) {\n var i = range.indexOf(y);\n return i < 0 ? [NaN, NaN] : [\n i > 0 ? thresholds[i - 1] : domain[0],\n i < thresholds.length ? thresholds[i] : domain[domain.length - 1]\n ];\n };\n\n scale.domain = function(_) {\n if (!arguments.length) return domain.slice();\n domain = [];\n for (var i = 0, n = _.length, d; i < n; ++i) if (d = _[i], d != null && !isNaN(d = +d)) domain.push(d);\n domain.sort(ascending);\n return rescale();\n };\n\n scale.range = function(_) {\n return arguments.length ? (range = slice.call(_), rescale()) : range.slice();\n };\n\n scale.quantiles = function() {\n return thresholds.slice();\n };\n\n scale.copy = function() {\n return quantile()\n .domain(domain)\n .range(range);\n };\n\n return scale;\n}\n","import {bisect} from \"d3-array\";\nimport {slice} from \"./array\";\nimport {linearish} from \"./linear\";\n\nexport default function quantize() {\n var x0 = 0,\n x1 = 1,\n n = 1,\n domain = [0.5],\n range = [0, 1];\n\n function scale(x) {\n if (x <= x) return range[bisect(domain, x, 0, n)];\n }\n\n function rescale() {\n var i = -1;\n domain = new Array(n);\n while (++i < n) domain[i] = ((i + 1) * x1 - (i - n) * x0) / (n + 1);\n return scale;\n }\n\n scale.domain = function(_) {\n return arguments.length ? (x0 = +_[0], x1 = +_[1], rescale()) : [x0, x1];\n };\n\n scale.range = function(_) {\n return arguments.length ? (n = (range = slice.call(_)).length - 1, rescale()) : range.slice();\n };\n\n scale.invertExtent = function(y) {\n var i = range.indexOf(y);\n return i < 0 ? [NaN, NaN]\n : i < 1 ? [x0, domain[0]]\n : i >= n ? [domain[n - 1], x1]\n : [domain[i - 1], domain[i]];\n };\n\n scale.copy = function() {\n return quantize()\n .domain([x0, x1])\n .range(range);\n };\n\n return linearish(scale);\n}\n","import {bisect} from \"d3-array\";\nimport {slice} from \"./array\";\n\nexport default function threshold() {\n var domain = [0.5],\n range = [0, 1],\n n = 1;\n\n function scale(x) {\n if (x <= x) return range[bisect(domain, x, 0, n)];\n }\n\n scale.domain = function(_) {\n return arguments.length ? (domain = slice.call(_), n = Math.min(domain.length, range.length - 1), scale) : domain.slice();\n };\n\n scale.range = function(_) {\n return arguments.length ? (range = slice.call(_), n = Math.min(domain.length, range.length - 1), scale) : range.slice();\n };\n\n scale.invertExtent = function(y) {\n var i = range.indexOf(y);\n return [domain[i - 1], domain[i]];\n };\n\n scale.copy = function() {\n return threshold()\n .domain(domain)\n .range(range);\n };\n\n return scale;\n}\n","var t0 = new Date,\n t1 = new Date;\n\nexport default function newInterval(floori, offseti, count, field) {\n\n function interval(date) {\n return floori(date = new Date(+date)), date;\n }\n\n interval.floor = interval;\n\n interval.ceil = function(date) {\n return floori(date = new Date(date - 1)), offseti(date, 1), floori(date), date;\n };\n\n interval.round = function(date) {\n var d0 = interval(date),\n d1 = interval.ceil(date);\n return date - d0 < d1 - date ? d0 : d1;\n };\n\n interval.offset = function(date, step) {\n return offseti(date = new Date(+date), step == null ? 1 : Math.floor(step)), date;\n };\n\n interval.range = function(start, stop, step) {\n var range = [], previous;\n start = interval.ceil(start);\n step = step == null ? 1 : Math.floor(step);\n if (!(start < stop) || !(step > 0)) return range; // also handles Invalid Date\n do range.push(previous = new Date(+start)), offseti(start, step), floori(start);\n while (previous < start && start < stop);\n return range;\n };\n\n interval.filter = function(test) {\n return newInterval(function(date) {\n if (date >= date) while (floori(date), !test(date)) date.setTime(date - 1);\n }, function(date, step) {\n if (date >= date) {\n if (step < 0) while (++step <= 0) {\n while (offseti(date, -1), !test(date)) {} // eslint-disable-line no-empty\n } else while (--step >= 0) {\n while (offseti(date, +1), !test(date)) {} // eslint-disable-line no-empty\n }\n }\n });\n };\n\n if (count) {\n interval.count = function(start, end) {\n t0.setTime(+start), t1.setTime(+end);\n floori(t0), floori(t1);\n return Math.floor(count(t0, t1));\n };\n\n interval.every = function(step) {\n step = Math.floor(step);\n return !isFinite(step) || !(step > 0) ? null\n : !(step > 1) ? interval\n : interval.filter(field\n ? function(d) { return field(d) % step === 0; }\n : function(d) { return interval.count(0, d) % step === 0; });\n };\n }\n\n return interval;\n}\n","import interval from \"./interval\";\n\nvar millisecond = interval(function() {\n // noop\n}, function(date, step) {\n date.setTime(+date + step);\n}, function(start, end) {\n return end - start;\n});\n\n// An optimized implementation for this simple case.\nmillisecond.every = function(k) {\n k = Math.floor(k);\n if (!isFinite(k) || !(k > 0)) return null;\n if (!(k > 1)) return millisecond;\n return interval(function(date) {\n date.setTime(Math.floor(date / k) * k);\n }, function(date, step) {\n date.setTime(+date + step * k);\n }, function(start, end) {\n return (end - start) / k;\n });\n};\n\nexport default millisecond;\nexport var milliseconds = millisecond.range;\n","export var durationSecond = 1e3;\nexport var durationMinute = 6e4;\nexport var durationHour = 36e5;\nexport var durationDay = 864e5;\nexport var durationWeek = 6048e5;\n","import interval from \"./interval\";\nimport {durationSecond} from \"./duration\";\n\nvar second = interval(function(date) {\n date.setTime(Math.floor(date / durationSecond) * durationSecond);\n}, function(date, step) {\n date.setTime(+date + step * durationSecond);\n}, function(start, end) {\n return (end - start) / durationSecond;\n}, function(date) {\n return date.getUTCSeconds();\n});\n\nexport default second;\nexport var seconds = second.range;\n","import interval from \"./interval\";\nimport {durationMinute} from \"./duration\";\n\nvar minute = interval(function(date) {\n date.setTime(Math.floor(date / durationMinute) * durationMinute);\n}, function(date, step) {\n date.setTime(+date + step * durationMinute);\n}, function(start, end) {\n return (end - start) / durationMinute;\n}, function(date) {\n return date.getMinutes();\n});\n\nexport default minute;\nexport var minutes = minute.range;\n","import interval from \"./interval\";\nimport {durationHour, durationMinute} from \"./duration\";\n\nvar hour = interval(function(date) {\n var offset = date.getTimezoneOffset() * durationMinute % durationHour;\n if (offset < 0) offset += durationHour;\n date.setTime(Math.floor((+date - offset) / durationHour) * durationHour + offset);\n}, function(date, step) {\n date.setTime(+date + step * durationHour);\n}, function(start, end) {\n return (end - start) / durationHour;\n}, function(date) {\n return date.getHours();\n});\n\nexport default hour;\nexport var hours = hour.range;\n","import interval from \"./interval\";\nimport {durationDay, durationMinute} from \"./duration\";\n\nvar day = interval(function(date) {\n date.setHours(0, 0, 0, 0);\n}, function(date, step) {\n date.setDate(date.getDate() + step);\n}, function(start, end) {\n return (end - start - (end.getTimezoneOffset() - start.getTimezoneOffset()) * durationMinute) / durationDay;\n}, function(date) {\n return date.getDate() - 1;\n});\n\nexport default day;\nexport var days = day.range;\n","import interval from \"./interval\";\nimport {durationMinute, durationWeek} from \"./duration\";\n\nfunction weekday(i) {\n return interval(function(date) {\n date.setDate(date.getDate() - (date.getDay() + 7 - i) % 7);\n date.setHours(0, 0, 0, 0);\n }, function(date, step) {\n date.setDate(date.getDate() + step * 7);\n }, function(start, end) {\n return (end - start - (end.getTimezoneOffset() - start.getTimezoneOffset()) * durationMinute) / durationWeek;\n });\n}\n\nexport var sunday = weekday(0);\nexport var monday = weekday(1);\nexport var tuesday = weekday(2);\nexport var wednesday = weekday(3);\nexport var thursday = weekday(4);\nexport var friday = weekday(5);\nexport var saturday = weekday(6);\n\nexport var sundays = sunday.range;\nexport var mondays = monday.range;\nexport var tuesdays = tuesday.range;\nexport var wednesdays = wednesday.range;\nexport var thursdays = thursday.range;\nexport var fridays = friday.range;\nexport var saturdays = saturday.range;\n","import interval from \"./interval\";\n\nvar month = interval(function(date) {\n date.setDate(1);\n date.setHours(0, 0, 0, 0);\n}, function(date, step) {\n date.setMonth(date.getMonth() + step);\n}, function(start, end) {\n return end.getMonth() - start.getMonth() + (end.getFullYear() - start.getFullYear()) * 12;\n}, function(date) {\n return date.getMonth();\n});\n\nexport default month;\nexport var months = month.range;\n","import interval from \"./interval\";\n\nvar year = interval(function(date) {\n date.setMonth(0, 1);\n date.setHours(0, 0, 0, 0);\n}, function(date, step) {\n date.setFullYear(date.getFullYear() + step);\n}, function(start, end) {\n return end.getFullYear() - start.getFullYear();\n}, function(date) {\n return date.getFullYear();\n});\n\n// An optimized implementation for this simple case.\nyear.every = function(k) {\n return !isFinite(k = Math.floor(k)) || !(k > 0) ? null : interval(function(date) {\n date.setFullYear(Math.floor(date.getFullYear() / k) * k);\n date.setMonth(0, 1);\n date.setHours(0, 0, 0, 0);\n }, function(date, step) {\n date.setFullYear(date.getFullYear() + step * k);\n });\n};\n\nexport default year;\nexport var years = year.range;\n","import interval from \"./interval\";\nimport {durationMinute} from \"./duration\";\n\nvar utcMinute = interval(function(date) {\n date.setUTCSeconds(0, 0);\n}, function(date, step) {\n date.setTime(+date + step * durationMinute);\n}, function(start, end) {\n return (end - start) / durationMinute;\n}, function(date) {\n return date.getUTCMinutes();\n});\n\nexport default utcMinute;\nexport var utcMinutes = utcMinute.range;\n","import interval from \"./interval\";\nimport {durationHour} from \"./duration\";\n\nvar utcHour = interval(function(date) {\n date.setUTCMinutes(0, 0, 0);\n}, function(date, step) {\n date.setTime(+date + step * durationHour);\n}, function(start, end) {\n return (end - start) / durationHour;\n}, function(date) {\n return date.getUTCHours();\n});\n\nexport default utcHour;\nexport var utcHours = utcHour.range;\n","import interval from \"./interval\";\nimport {durationDay} from \"./duration\";\n\nvar utcDay = interval(function(date) {\n date.setUTCHours(0, 0, 0, 0);\n}, function(date, step) {\n date.setUTCDate(date.getUTCDate() + step);\n}, function(start, end) {\n return (end - start) / durationDay;\n}, function(date) {\n return date.getUTCDate() - 1;\n});\n\nexport default utcDay;\nexport var utcDays = utcDay.range;\n","import interval from \"./interval\";\nimport {durationWeek} from \"./duration\";\n\nfunction utcWeekday(i) {\n return interval(function(date) {\n date.setUTCDate(date.getUTCDate() - (date.getUTCDay() + 7 - i) % 7);\n date.setUTCHours(0, 0, 0, 0);\n }, function(date, step) {\n date.setUTCDate(date.getUTCDate() + step * 7);\n }, function(start, end) {\n return (end - start) / durationWeek;\n });\n}\n\nexport var utcSunday = utcWeekday(0);\nexport var utcMonday = utcWeekday(1);\nexport var utcTuesday = utcWeekday(2);\nexport var utcWednesday = utcWeekday(3);\nexport var utcThursday = utcWeekday(4);\nexport var utcFriday = utcWeekday(5);\nexport var utcSaturday = utcWeekday(6);\n\nexport var utcSundays = utcSunday.range;\nexport var utcMondays = utcMonday.range;\nexport var utcTuesdays = utcTuesday.range;\nexport var utcWednesdays = utcWednesday.range;\nexport var utcThursdays = utcThursday.range;\nexport var utcFridays = utcFriday.range;\nexport var utcSaturdays = utcSaturday.range;\n","import interval from \"./interval\";\n\nvar utcMonth = interval(function(date) {\n date.setUTCDate(1);\n date.setUTCHours(0, 0, 0, 0);\n}, function(date, step) {\n date.setUTCMonth(date.getUTCMonth() + step);\n}, function(start, end) {\n return end.getUTCMonth() - start.getUTCMonth() + (end.getUTCFullYear() - start.getUTCFullYear()) * 12;\n}, function(date) {\n return date.getUTCMonth();\n});\n\nexport default utcMonth;\nexport var utcMonths = utcMonth.range;\n","import interval from \"./interval\";\n\nvar utcYear = interval(function(date) {\n date.setUTCMonth(0, 1);\n date.setUTCHours(0, 0, 0, 0);\n}, function(date, step) {\n date.setUTCFullYear(date.getUTCFullYear() + step);\n}, function(start, end) {\n return end.getUTCFullYear() - start.getUTCFullYear();\n}, function(date) {\n return date.getUTCFullYear();\n});\n\n// An optimized implementation for this simple case.\nutcYear.every = function(k) {\n return !isFinite(k = Math.floor(k)) || !(k > 0) ? null : interval(function(date) {\n date.setUTCFullYear(Math.floor(date.getUTCFullYear() / k) * k);\n date.setUTCMonth(0, 1);\n date.setUTCHours(0, 0, 0, 0);\n }, function(date, step) {\n date.setUTCFullYear(date.getUTCFullYear() + step * k);\n });\n};\n\nexport default utcYear;\nexport var utcYears = utcYear.range;\n","export {\n default as timeInterval\n} from \"./src/interval\";\n\nexport {\n default as timeMillisecond,\n milliseconds as timeMilliseconds,\n default as utcMillisecond,\n milliseconds as utcMilliseconds\n} from \"./src/millisecond\";\n\nexport {\n default as timeSecond,\n seconds as timeSeconds,\n default as utcSecond,\n seconds as utcSeconds\n} from \"./src/second\";\n\nexport {\n default as timeMinute,\n minutes as timeMinutes\n} from \"./src/minute\";\n\nexport {\n default as timeHour,\n hours as timeHours\n} from \"./src/hour\";\n\nexport {\n default as timeDay,\n days as timeDays\n} from \"./src/day\";\n\nexport {\n sunday as timeWeek,\n sundays as timeWeeks,\n sunday as timeSunday,\n sundays as timeSundays,\n monday as timeMonday,\n mondays as timeMondays,\n tuesday as timeTuesday,\n tuesdays as timeTuesdays,\n wednesday as timeWednesday,\n wednesdays as timeWednesdays,\n thursday as timeThursday,\n thursdays as timeThursdays,\n friday as timeFriday,\n fridays as timeFridays,\n saturday as timeSaturday,\n saturdays as timeSaturdays\n} from \"./src/week\";\n\nexport {\n default as timeMonth,\n months as timeMonths\n} from \"./src/month\";\n\nexport {\n default as timeYear,\n years as timeYears\n} from \"./src/year\";\n\nexport {\n default as utcMinute,\n utcMinutes as utcMinutes\n} from \"./src/utcMinute\";\n\nexport {\n default as utcHour,\n utcHours as utcHours\n} from \"./src/utcHour\";\n\nexport {\n default as utcDay,\n utcDays as utcDays\n} from \"./src/utcDay\";\n\nexport {\n utcSunday as utcWeek,\n utcSundays as utcWeeks,\n utcSunday as utcSunday,\n utcSundays as utcSundays,\n utcMonday as utcMonday,\n utcMondays as utcMondays,\n utcTuesday as utcTuesday,\n utcTuesdays as utcTuesdays,\n utcWednesday as utcWednesday,\n utcWednesdays as utcWednesdays,\n utcThursday as utcThursday,\n utcThursdays as utcThursdays,\n utcFriday as utcFriday,\n utcFridays as utcFridays,\n utcSaturday as utcSaturday,\n utcSaturdays as utcSaturdays\n} from \"./src/utcWeek\";\n\nexport {\n default as utcMonth,\n utcMonths as utcMonths\n} from \"./src/utcMonth\";\n\nexport {\n default as utcYear,\n utcYears as utcYears\n} from \"./src/utcYear\";\n","import {\n timeDay,\n timeSunday,\n timeMonday,\n timeThursday,\n timeYear,\n utcDay,\n utcSunday,\n utcMonday,\n utcThursday,\n utcYear\n} from \"d3-time\";\n\nfunction localDate(d) {\n if (0 <= d.y && d.y < 100) {\n var date = new Date(-1, d.m, d.d, d.H, d.M, d.S, d.L);\n date.setFullYear(d.y);\n return date;\n }\n return new Date(d.y, d.m, d.d, d.H, d.M, d.S, d.L);\n}\n\nfunction utcDate(d) {\n if (0 <= d.y && d.y < 100) {\n var date = new Date(Date.UTC(-1, d.m, d.d, d.H, d.M, d.S, d.L));\n date.setUTCFullYear(d.y);\n return date;\n }\n return new Date(Date.UTC(d.y, d.m, d.d, d.H, d.M, d.S, d.L));\n}\n\nfunction newYear(y) {\n return {y: y, m: 0, d: 1, H: 0, M: 0, S: 0, L: 0};\n}\n\nexport default function formatLocale(locale) {\n var locale_dateTime = locale.dateTime,\n locale_date = locale.date,\n locale_time = locale.time,\n locale_periods = locale.periods,\n locale_weekdays = locale.days,\n locale_shortWeekdays = locale.shortDays,\n locale_months = locale.months,\n locale_shortMonths = locale.shortMonths;\n\n var periodRe = formatRe(locale_periods),\n periodLookup = formatLookup(locale_periods),\n weekdayRe = formatRe(locale_weekdays),\n weekdayLookup = formatLookup(locale_weekdays),\n shortWeekdayRe = formatRe(locale_shortWeekdays),\n shortWeekdayLookup = formatLookup(locale_shortWeekdays),\n monthRe = formatRe(locale_months),\n monthLookup = formatLookup(locale_months),\n shortMonthRe = formatRe(locale_shortMonths),\n shortMonthLookup = formatLookup(locale_shortMonths);\n\n var formats = {\n \"a\": formatShortWeekday,\n \"A\": formatWeekday,\n \"b\": formatShortMonth,\n \"B\": formatMonth,\n \"c\": null,\n \"d\": formatDayOfMonth,\n \"e\": formatDayOfMonth,\n \"f\": formatMicroseconds,\n \"H\": formatHour24,\n \"I\": formatHour12,\n \"j\": formatDayOfYear,\n \"L\": formatMilliseconds,\n \"m\": formatMonthNumber,\n \"M\": formatMinutes,\n \"p\": formatPeriod,\n \"Q\": formatUnixTimestamp,\n \"s\": formatUnixTimestampSeconds,\n \"S\": formatSeconds,\n \"u\": formatWeekdayNumberMonday,\n \"U\": formatWeekNumberSunday,\n \"V\": formatWeekNumberISO,\n \"w\": formatWeekdayNumberSunday,\n \"W\": formatWeekNumberMonday,\n \"x\": null,\n \"X\": null,\n \"y\": formatYear,\n \"Y\": formatFullYear,\n \"Z\": formatZone,\n \"%\": formatLiteralPercent\n };\n\n var utcFormats = {\n \"a\": formatUTCShortWeekday,\n \"A\": formatUTCWeekday,\n \"b\": formatUTCShortMonth,\n \"B\": formatUTCMonth,\n \"c\": null,\n \"d\": formatUTCDayOfMonth,\n \"e\": formatUTCDayOfMonth,\n \"f\": formatUTCMicroseconds,\n \"H\": formatUTCHour24,\n \"I\": formatUTCHour12,\n \"j\": formatUTCDayOfYear,\n \"L\": formatUTCMilliseconds,\n \"m\": formatUTCMonthNumber,\n \"M\": formatUTCMinutes,\n \"p\": formatUTCPeriod,\n \"Q\": formatUnixTimestamp,\n \"s\": formatUnixTimestampSeconds,\n \"S\": formatUTCSeconds,\n \"u\": formatUTCWeekdayNumberMonday,\n \"U\": formatUTCWeekNumberSunday,\n \"V\": formatUTCWeekNumberISO,\n \"w\": formatUTCWeekdayNumberSunday,\n \"W\": formatUTCWeekNumberMonday,\n \"x\": null,\n \"X\": null,\n \"y\": formatUTCYear,\n \"Y\": formatUTCFullYear,\n \"Z\": formatUTCZone,\n \"%\": formatLiteralPercent\n };\n\n var parses = {\n \"a\": parseShortWeekday,\n \"A\": parseWeekday,\n \"b\": parseShortMonth,\n \"B\": parseMonth,\n \"c\": parseLocaleDateTime,\n \"d\": parseDayOfMonth,\n \"e\": parseDayOfMonth,\n \"f\": parseMicroseconds,\n \"H\": parseHour24,\n \"I\": parseHour24,\n \"j\": parseDayOfYear,\n \"L\": parseMilliseconds,\n \"m\": parseMonthNumber,\n \"M\": parseMinutes,\n \"p\": parsePeriod,\n \"Q\": parseUnixTimestamp,\n \"s\": parseUnixTimestampSeconds,\n \"S\": parseSeconds,\n \"u\": parseWeekdayNumberMonday,\n \"U\": parseWeekNumberSunday,\n \"V\": parseWeekNumberISO,\n \"w\": parseWeekdayNumberSunday,\n \"W\": parseWeekNumberMonday,\n \"x\": parseLocaleDate,\n \"X\": parseLocaleTime,\n \"y\": parseYear,\n \"Y\": parseFullYear,\n \"Z\": parseZone,\n \"%\": parseLiteralPercent\n };\n\n // These recursive directive definitions must be deferred.\n formats.x = newFormat(locale_date, formats);\n formats.X = newFormat(locale_time, formats);\n formats.c = newFormat(locale_dateTime, formats);\n utcFormats.x = newFormat(locale_date, utcFormats);\n utcFormats.X = newFormat(locale_time, utcFormats);\n utcFormats.c = newFormat(locale_dateTime, utcFormats);\n\n function newFormat(specifier, formats) {\n return function(date) {\n var string = [],\n i = -1,\n j = 0,\n n = specifier.length,\n c,\n pad,\n format;\n\n if (!(date instanceof Date)) date = new Date(+date);\n\n while (++i < n) {\n if (specifier.charCodeAt(i) === 37) {\n string.push(specifier.slice(j, i));\n if ((pad = pads[c = specifier.charAt(++i)]) != null) c = specifier.charAt(++i);\n else pad = c === \"e\" ? \" \" : \"0\";\n if (format = formats[c]) c = format(date, pad);\n string.push(c);\n j = i + 1;\n }\n }\n\n string.push(specifier.slice(j, i));\n return string.join(\"\");\n };\n }\n\n function newParse(specifier, newDate) {\n return function(string) {\n var d = newYear(1900),\n i = parseSpecifier(d, specifier, string += \"\", 0),\n week, day;\n if (i != string.length) return null;\n\n // If a UNIX timestamp is specified, return it.\n if (\"Q\" in d) return new Date(d.Q);\n\n // The am-pm flag is 0 for AM, and 1 for PM.\n if (\"p\" in d) d.H = d.H % 12 + d.p * 12;\n\n // Convert day-of-week and week-of-year to day-of-year.\n if (\"V\" in d) {\n if (d.V < 1 || d.V > 53) return null;\n if (!(\"w\" in d)) d.w = 1;\n if (\"Z\" in d) {\n week = utcDate(newYear(d.y)), day = week.getUTCDay();\n week = day > 4 || day === 0 ? utcMonday.ceil(week) : utcMonday(week);\n week = utcDay.offset(week, (d.V - 1) * 7);\n d.y = week.getUTCFullYear();\n d.m = week.getUTCMonth();\n d.d = week.getUTCDate() + (d.w + 6) % 7;\n } else {\n week = newDate(newYear(d.y)), day = week.getDay();\n week = day > 4 || day === 0 ? timeMonday.ceil(week) : timeMonday(week);\n week = timeDay.offset(week, (d.V - 1) * 7);\n d.y = week.getFullYear();\n d.m = week.getMonth();\n d.d = week.getDate() + (d.w + 6) % 7;\n }\n } else if (\"W\" in d || \"U\" in d) {\n if (!(\"w\" in d)) d.w = \"u\" in d ? d.u % 7 : \"W\" in d ? 1 : 0;\n day = \"Z\" in d ? utcDate(newYear(d.y)).getUTCDay() : newDate(newYear(d.y)).getDay();\n d.m = 0;\n d.d = \"W\" in d ? (d.w + 6) % 7 + d.W * 7 - (day + 5) % 7 : d.w + d.U * 7 - (day + 6) % 7;\n }\n\n // If a time zone is specified, all fields are interpreted as UTC and then\n // offset according to the specified time zone.\n if (\"Z\" in d) {\n d.H += d.Z / 100 | 0;\n d.M += d.Z % 100;\n return utcDate(d);\n }\n\n // Otherwise, all fields are in local time.\n return newDate(d);\n };\n }\n\n function parseSpecifier(d, specifier, string, j) {\n var i = 0,\n n = specifier.length,\n m = string.length,\n c,\n parse;\n\n while (i < n) {\n if (j >= m) return -1;\n c = specifier.charCodeAt(i++);\n if (c === 37) {\n c = specifier.charAt(i++);\n parse = parses[c in pads ? specifier.charAt(i++) : c];\n if (!parse || ((j = parse(d, string, j)) < 0)) return -1;\n } else if (c != string.charCodeAt(j++)) {\n return -1;\n }\n }\n\n return j;\n }\n\n function parsePeriod(d, string, i) {\n var n = periodRe.exec(string.slice(i));\n return n ? (d.p = periodLookup[n[0].toLowerCase()], i + n[0].length) : -1;\n }\n\n function parseShortWeekday(d, string, i) {\n var n = shortWeekdayRe.exec(string.slice(i));\n return n ? (d.w = shortWeekdayLookup[n[0].toLowerCase()], i + n[0].length) : -1;\n }\n\n function parseWeekday(d, string, i) {\n var n = weekdayRe.exec(string.slice(i));\n return n ? (d.w = weekdayLookup[n[0].toLowerCase()], i + n[0].length) : -1;\n }\n\n function parseShortMonth(d, string, i) {\n var n = shortMonthRe.exec(string.slice(i));\n return n ? (d.m = shortMonthLookup[n[0].toLowerCase()], i + n[0].length) : -1;\n }\n\n function parseMonth(d, string, i) {\n var n = monthRe.exec(string.slice(i));\n return n ? (d.m = monthLookup[n[0].toLowerCase()], i + n[0].length) : -1;\n }\n\n function parseLocaleDateTime(d, string, i) {\n return parseSpecifier(d, locale_dateTime, string, i);\n }\n\n function parseLocaleDate(d, string, i) {\n return parseSpecifier(d, locale_date, string, i);\n }\n\n function parseLocaleTime(d, string, i) {\n return parseSpecifier(d, locale_time, string, i);\n }\n\n function formatShortWeekday(d) {\n return locale_shortWeekdays[d.getDay()];\n }\n\n function formatWeekday(d) {\n return locale_weekdays[d.getDay()];\n }\n\n function formatShortMonth(d) {\n return locale_shortMonths[d.getMonth()];\n }\n\n function formatMonth(d) {\n return locale_months[d.getMonth()];\n }\n\n function formatPeriod(d) {\n return locale_periods[+(d.getHours() >= 12)];\n }\n\n function formatUTCShortWeekday(d) {\n return locale_shortWeekdays[d.getUTCDay()];\n }\n\n function formatUTCWeekday(d) {\n return locale_weekdays[d.getUTCDay()];\n }\n\n function formatUTCShortMonth(d) {\n return locale_shortMonths[d.getUTCMonth()];\n }\n\n function formatUTCMonth(d) {\n return locale_months[d.getUTCMonth()];\n }\n\n function formatUTCPeriod(d) {\n return locale_periods[+(d.getUTCHours() >= 12)];\n }\n\n return {\n format: function(specifier) {\n var f = newFormat(specifier += \"\", formats);\n f.toString = function() { return specifier; };\n return f;\n },\n parse: function(specifier) {\n var p = newParse(specifier += \"\", localDate);\n p.toString = function() { return specifier; };\n return p;\n },\n utcFormat: function(specifier) {\n var f = newFormat(specifier += \"\", utcFormats);\n f.toString = function() { return specifier; };\n return f;\n },\n utcParse: function(specifier) {\n var p = newParse(specifier, utcDate);\n p.toString = function() { return specifier; };\n return p;\n }\n };\n}\n\nvar pads = {\"-\": \"\", \"_\": \" \", \"0\": \"0\"},\n numberRe = /^\\s*\\d+/, // note: ignores next directive\n percentRe = /^%/,\n requoteRe = /[\\\\^$*+?|[\\]().{}]/g;\n\nfunction pad(value, fill, width) {\n var sign = value < 0 ? \"-\" : \"\",\n string = (sign ? -value : value) + \"\",\n length = string.length;\n return sign + (length < width ? new Array(width - length + 1).join(fill) + string : string);\n}\n\nfunction requote(s) {\n return s.replace(requoteRe, \"\\\\$&\");\n}\n\nfunction formatRe(names) {\n return new RegExp(\"^(?:\" + names.map(requote).join(\"|\") + \")\", \"i\");\n}\n\nfunction formatLookup(names) {\n var map = {}, i = -1, n = names.length;\n while (++i < n) map[names[i].toLowerCase()] = i;\n return map;\n}\n\nfunction parseWeekdayNumberSunday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 1));\n return n ? (d.w = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekdayNumberMonday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 1));\n return n ? (d.u = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekNumberSunday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.U = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekNumberISO(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.V = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekNumberMonday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.W = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseFullYear(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 4));\n return n ? (d.y = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseYear(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.y = +n[0] + (+n[0] > 68 ? 1900 : 2000), i + n[0].length) : -1;\n}\n\nfunction parseZone(d, string, i) {\n var n = /^(Z)|([+-]\\d\\d)(?::?(\\d\\d))?/.exec(string.slice(i, i + 6));\n return n ? (d.Z = n[1] ? 0 : -(n[2] + (n[3] || \"00\")), i + n[0].length) : -1;\n}\n\nfunction parseMonthNumber(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.m = n[0] - 1, i + n[0].length) : -1;\n}\n\nfunction parseDayOfMonth(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.d = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseDayOfYear(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 3));\n return n ? (d.m = 0, d.d = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseHour24(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.H = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseMinutes(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.M = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseSeconds(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.S = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseMilliseconds(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 3));\n return n ? (d.L = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseMicroseconds(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 6));\n return n ? (d.L = Math.floor(n[0] / 1000), i + n[0].length) : -1;\n}\n\nfunction parseLiteralPercent(d, string, i) {\n var n = percentRe.exec(string.slice(i, i + 1));\n return n ? i + n[0].length : -1;\n}\n\nfunction parseUnixTimestamp(d, string, i) {\n var n = numberRe.exec(string.slice(i));\n return n ? (d.Q = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseUnixTimestampSeconds(d, string, i) {\n var n = numberRe.exec(string.slice(i));\n return n ? (d.Q = (+n[0]) * 1000, i + n[0].length) : -1;\n}\n\nfunction formatDayOfMonth(d, p) {\n return pad(d.getDate(), p, 2);\n}\n\nfunction formatHour24(d, p) {\n return pad(d.getHours(), p, 2);\n}\n\nfunction formatHour12(d, p) {\n return pad(d.getHours() % 12 || 12, p, 2);\n}\n\nfunction formatDayOfYear(d, p) {\n return pad(1 + timeDay.count(timeYear(d), d), p, 3);\n}\n\nfunction formatMilliseconds(d, p) {\n return pad(d.getMilliseconds(), p, 3);\n}\n\nfunction formatMicroseconds(d, p) {\n return formatMilliseconds(d, p) + \"000\";\n}\n\nfunction formatMonthNumber(d, p) {\n return pad(d.getMonth() + 1, p, 2);\n}\n\nfunction formatMinutes(d, p) {\n return pad(d.getMinutes(), p, 2);\n}\n\nfunction formatSeconds(d, p) {\n return pad(d.getSeconds(), p, 2);\n}\n\nfunction formatWeekdayNumberMonday(d) {\n var day = d.getDay();\n return day === 0 ? 7 : day;\n}\n\nfunction formatWeekNumberSunday(d, p) {\n return pad(timeSunday.count(timeYear(d), d), p, 2);\n}\n\nfunction formatWeekNumberISO(d, p) {\n var day = d.getDay();\n d = (day >= 4 || day === 0) ? timeThursday(d) : timeThursday.ceil(d);\n return pad(timeThursday.count(timeYear(d), d) + (timeYear(d).getDay() === 4), p, 2);\n}\n\nfunction formatWeekdayNumberSunday(d) {\n return d.getDay();\n}\n\nfunction formatWeekNumberMonday(d, p) {\n return pad(timeMonday.count(timeYear(d), d), p, 2);\n}\n\nfunction formatYear(d, p) {\n return pad(d.getFullYear() % 100, p, 2);\n}\n\nfunction formatFullYear(d, p) {\n return pad(d.getFullYear() % 10000, p, 4);\n}\n\nfunction formatZone(d) {\n var z = d.getTimezoneOffset();\n return (z > 0 ? \"-\" : (z *= -1, \"+\"))\n + pad(z / 60 | 0, \"0\", 2)\n + pad(z % 60, \"0\", 2);\n}\n\nfunction formatUTCDayOfMonth(d, p) {\n return pad(d.getUTCDate(), p, 2);\n}\n\nfunction formatUTCHour24(d, p) {\n return pad(d.getUTCHours(), p, 2);\n}\n\nfunction formatUTCHour12(d, p) {\n return pad(d.getUTCHours() % 12 || 12, p, 2);\n}\n\nfunction formatUTCDayOfYear(d, p) {\n return pad(1 + utcDay.count(utcYear(d), d), p, 3);\n}\n\nfunction formatUTCMilliseconds(d, p) {\n return pad(d.getUTCMilliseconds(), p, 3);\n}\n\nfunction formatUTCMicroseconds(d, p) {\n return formatUTCMilliseconds(d, p) + \"000\";\n}\n\nfunction formatUTCMonthNumber(d, p) {\n return pad(d.getUTCMonth() + 1, p, 2);\n}\n\nfunction formatUTCMinutes(d, p) {\n return pad(d.getUTCMinutes(), p, 2);\n}\n\nfunction formatUTCSeconds(d, p) {\n return pad(d.getUTCSeconds(), p, 2);\n}\n\nfunction formatUTCWeekdayNumberMonday(d) {\n var dow = d.getUTCDay();\n return dow === 0 ? 7 : dow;\n}\n\nfunction formatUTCWeekNumberSunday(d, p) {\n return pad(utcSunday.count(utcYear(d), d), p, 2);\n}\n\nfunction formatUTCWeekNumberISO(d, p) {\n var day = d.getUTCDay();\n d = (day >= 4 || day === 0) ? utcThursday(d) : utcThursday.ceil(d);\n return pad(utcThursday.count(utcYear(d), d) + (utcYear(d).getUTCDay() === 4), p, 2);\n}\n\nfunction formatUTCWeekdayNumberSunday(d) {\n return d.getUTCDay();\n}\n\nfunction formatUTCWeekNumberMonday(d, p) {\n return pad(utcMonday.count(utcYear(d), d), p, 2);\n}\n\nfunction formatUTCYear(d, p) {\n return pad(d.getUTCFullYear() % 100, p, 2);\n}\n\nfunction formatUTCFullYear(d, p) {\n return pad(d.getUTCFullYear() % 10000, p, 4);\n}\n\nfunction formatUTCZone() {\n return \"+0000\";\n}\n\nfunction formatLiteralPercent() {\n return \"%\";\n}\n\nfunction formatUnixTimestamp(d) {\n return +d;\n}\n\nfunction formatUnixTimestampSeconds(d) {\n return Math.floor(+d / 1000);\n}\n","import formatLocale from \"./locale\";\n\nvar locale;\nexport var timeFormat;\nexport var timeParse;\nexport var utcFormat;\nexport var utcParse;\n\ndefaultLocale({\n dateTime: \"%x, %X\",\n date: \"%-m/%-d/%Y\",\n time: \"%-I:%M:%S %p\",\n periods: [\"AM\", \"PM\"],\n days: [\"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"],\n shortDays: [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"],\n months: [\"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\"],\n shortMonths: [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"]\n});\n\nexport default function defaultLocale(definition) {\n locale = formatLocale(definition);\n timeFormat = locale.format;\n timeParse = locale.parse;\n utcFormat = locale.utcFormat;\n utcParse = locale.utcParse;\n return locale;\n}\n","import {utcFormat} from \"./defaultLocale\";\n\nexport var isoSpecifier = \"%Y-%m-%dT%H:%M:%S.%LZ\";\n\nfunction formatIsoNative(date) {\n return date.toISOString();\n}\n\nvar formatIso = Date.prototype.toISOString\n ? formatIsoNative\n : utcFormat(isoSpecifier);\n\nexport default formatIso;\n","import {isoSpecifier} from \"./isoFormat\";\nimport {utcParse} from \"./defaultLocale\";\n\nfunction parseIsoNative(string) {\n var date = new Date(string);\n return isNaN(date) ? null : date;\n}\n\nvar parseIso = +new Date(\"2000-01-01T00:00:00.000Z\")\n ? parseIsoNative\n : utcParse(isoSpecifier);\n\nexport default parseIso;\n","export {default as timeFormatDefaultLocale, timeFormat, timeParse, utcFormat, utcParse} from \"./src/defaultLocale\";\nexport {default as timeFormatLocale} from \"./src/locale\";\nexport {default as isoFormat} from \"./src/isoFormat\";\nexport {default as isoParse} from \"./src/isoParse\";\n","import {bisector, tickStep} from \"d3-array\";\nimport {interpolateNumber as reinterpolate} from \"d3-interpolate\";\nimport {timeYear, timeMonth, timeWeek, timeDay, timeHour, timeMinute, timeSecond, timeMillisecond} from \"d3-time\";\nimport {timeFormat} from \"d3-time-format\";\nimport {map} from \"./array\";\nimport {default as continuous, copy, deinterpolateLinear as deinterpolate} from \"./continuous\";\nimport nice from \"./nice\";\n\nvar durationSecond = 1000,\n durationMinute = durationSecond * 60,\n durationHour = durationMinute * 60,\n durationDay = durationHour * 24,\n durationWeek = durationDay * 7,\n durationMonth = durationDay * 30,\n durationYear = durationDay * 365;\n\nfunction date(t) {\n return new Date(t);\n}\n\nfunction number(t) {\n return t instanceof Date ? +t : +new Date(+t);\n}\n\nexport function calendar(year, month, week, day, hour, minute, second, millisecond, format) {\n var scale = continuous(deinterpolate, reinterpolate),\n invert = scale.invert,\n domain = scale.domain;\n\n var formatMillisecond = format(\".%L\"),\n formatSecond = format(\":%S\"),\n formatMinute = format(\"%I:%M\"),\n formatHour = format(\"%I %p\"),\n formatDay = format(\"%a %d\"),\n formatWeek = format(\"%b %d\"),\n formatMonth = format(\"%B\"),\n formatYear = format(\"%Y\");\n\n var tickIntervals = [\n [second, 1, durationSecond],\n [second, 5, 5 * durationSecond],\n [second, 15, 15 * durationSecond],\n [second, 30, 30 * durationSecond],\n [minute, 1, durationMinute],\n [minute, 5, 5 * durationMinute],\n [minute, 15, 15 * durationMinute],\n [minute, 30, 30 * durationMinute],\n [ hour, 1, durationHour ],\n [ hour, 3, 3 * durationHour ],\n [ hour, 6, 6 * durationHour ],\n [ hour, 12, 12 * durationHour ],\n [ day, 1, durationDay ],\n [ day, 2, 2 * durationDay ],\n [ week, 1, durationWeek ],\n [ month, 1, durationMonth ],\n [ month, 3, 3 * durationMonth ],\n [ year, 1, durationYear ]\n ];\n\n function tickFormat(date) {\n return (second(date) < date ? formatMillisecond\n : minute(date) < date ? formatSecond\n : hour(date) < date ? formatMinute\n : day(date) < date ? formatHour\n : month(date) < date ? (week(date) < date ? formatDay : formatWeek)\n : year(date) < date ? formatMonth\n : formatYear)(date);\n }\n\n function tickInterval(interval, start, stop, step) {\n if (interval == null) interval = 10;\n\n // If a desired tick count is specified, pick a reasonable tick interval\n // based on the extent of the domain and a rough estimate of tick size.\n // Otherwise, assume interval is already a time interval and use it.\n if (typeof interval === \"number\") {\n var target = Math.abs(stop - start) / interval,\n i = bisector(function(i) { return i[2]; }).right(tickIntervals, target);\n if (i === tickIntervals.length) {\n step = tickStep(start / durationYear, stop / durationYear, interval);\n interval = year;\n } else if (i) {\n i = tickIntervals[target / tickIntervals[i - 1][2] < tickIntervals[i][2] / target ? i - 1 : i];\n step = i[1];\n interval = i[0];\n } else {\n step = Math.max(tickStep(start, stop, interval), 1);\n interval = millisecond;\n }\n }\n\n return step == null ? interval : interval.every(step);\n }\n\n scale.invert = function(y) {\n return new Date(invert(y));\n };\n\n scale.domain = function(_) {\n return arguments.length ? domain(map.call(_, number)) : domain().map(date);\n };\n\n scale.ticks = function(interval, step) {\n var d = domain(),\n t0 = d[0],\n t1 = d[d.length - 1],\n r = t1 < t0,\n t;\n if (r) t = t0, t0 = t1, t1 = t;\n t = tickInterval(interval, t0, t1, step);\n t = t ? t.range(t0, t1 + 1) : []; // inclusive stop\n return r ? t.reverse() : t;\n };\n\n scale.tickFormat = function(count, specifier) {\n return specifier == null ? tickFormat : format(specifier);\n };\n\n scale.nice = function(interval, step) {\n var d = domain();\n return (interval = tickInterval(interval, d[0], d[d.length - 1], step))\n ? domain(nice(d, interval))\n : scale;\n };\n\n scale.copy = function() {\n return copy(scale, calendar(year, month, week, day, hour, minute, second, millisecond, format));\n };\n\n return scale;\n}\n\nexport default function() {\n return calendar(timeYear, timeMonth, timeWeek, timeDay, timeHour, timeMinute, timeSecond, timeMillisecond, timeFormat).domain([new Date(2000, 0, 1), new Date(2000, 0, 2)]);\n}\n","import {calendar} from \"./time\";\nimport {utcFormat} from \"d3-time-format\";\nimport {utcYear, utcMonth, utcWeek, utcDay, utcHour, utcMinute, utcSecond, utcMillisecond} from \"d3-time\";\n\nexport default function() {\n return calendar(utcYear, utcMonth, utcWeek, utcDay, utcHour, utcMinute, utcSecond, utcMillisecond, utcFormat).domain([Date.UTC(2000, 0, 1), Date.UTC(2000, 0, 2)]);\n}\n","import {linearish} from \"./linear\";\n\nexport default function sequential(interpolator) {\n var x0 = 0,\n x1 = 1,\n clamp = false;\n\n function scale(x) {\n var t = (x - x0) / (x1 - x0);\n return interpolator(clamp ? Math.max(0, Math.min(1, t)) : t);\n }\n\n scale.domain = function(_) {\n return arguments.length ? (x0 = +_[0], x1 = +_[1], scale) : [x0, x1];\n };\n\n scale.clamp = function(_) {\n return arguments.length ? (clamp = !!_, scale) : clamp;\n };\n\n scale.interpolator = function(_) {\n return arguments.length ? (interpolator = _, scale) : interpolator;\n };\n\n scale.copy = function() {\n return sequential(interpolator).domain([x0, x1]).clamp(clamp);\n };\n\n return linearish(scale);\n}\n","export {\n default as scaleBand,\n point as scalePoint\n} from \"./src/band\";\n\nexport {\n default as scaleIdentity\n} from \"./src/identity\";\n\nexport {\n default as scaleLinear\n} from \"./src/linear\";\n\nexport {\n default as scaleLog\n} from \"./src/log\";\n\nexport {\n default as scaleOrdinal,\n implicit as scaleImplicit\n} from \"./src/ordinal\";\n\nexport {\n default as scalePow,\n sqrt as scaleSqrt\n} from \"./src/pow\";\n\nexport {\n default as scaleQuantile\n} from \"./src/quantile\";\n\nexport {\n default as scaleQuantize\n} from \"./src/quantize\";\n\nexport {\n default as scaleThreshold\n} from \"./src/threshold\";\n\nexport {\n default as scaleTime\n} from \"./src/time\";\n\nexport {\n default as scaleUtc\n} from \"./src/utcTime\";\n\nexport {\n default as scaleSequential\n} from \"./src/sequential\";\n","export default function(specifier) {\n var n = specifier.length / 6 | 0, colors = new Array(n), i = 0;\n while (i < n) colors[i] = \"#\" + specifier.slice(i * 6, ++i * 6);\n return colors;\n}\n","import colors from \"../colors\";\n\nexport default colors(\"1f77b4ff7f0e2ca02cd627289467bd8c564be377c27f7f7fbcbd2217becf\");\n","import colors from \"../colors\";\n\nexport default colors(\"7fc97fbeaed4fdc086ffff99386cb0f0027fbf5b17666666\");\n","import colors from \"../colors\";\n\nexport default colors(\"1b9e77d95f027570b3e7298a66a61ee6ab02a6761d666666\");\n","import colors from \"../colors\";\n\nexport default colors(\"a6cee31f78b4b2df8a33a02cfb9a99e31a1cfdbf6fff7f00cab2d66a3d9affff99b15928\");\n","import colors from \"../colors\";\n\nexport default colors(\"fbb4aeb3cde3ccebc5decbe4fed9a6ffffcce5d8bdfddaecf2f2f2\");\n","import colors from \"../colors\";\n\nexport default colors(\"b3e2cdfdcdaccbd5e8f4cae4e6f5c9fff2aef1e2cccccccc\");\n","import colors from \"../colors\";\n\nexport default colors(\"e41a1c377eb84daf4a984ea3ff7f00ffff33a65628f781bf999999\");\n","import colors from \"../colors\";\n\nexport default colors(\"66c2a5fc8d628da0cbe78ac3a6d854ffd92fe5c494b3b3b3\");\n","import colors from \"../colors\";\n\nexport default colors(\"8dd3c7ffffb3bebadafb807280b1d3fdb462b3de69fccde5d9d9d9bc80bdccebc5ffed6f\");\n","import {interpolateRgbBasis} from \"d3-interpolate\";\n\nexport default function(scheme) {\n return interpolateRgbBasis(scheme[scheme.length - 1]);\n}\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"d8b365f5f5f55ab4ac\",\n \"a6611adfc27d80cdc1018571\",\n \"a6611adfc27df5f5f580cdc1018571\",\n \"8c510ad8b365f6e8c3c7eae55ab4ac01665e\",\n \"8c510ad8b365f6e8c3f5f5f5c7eae55ab4ac01665e\",\n \"8c510abf812ddfc27df6e8c3c7eae580cdc135978f01665e\",\n \"8c510abf812ddfc27df6e8c3f5f5f5c7eae580cdc135978f01665e\",\n \"5430058c510abf812ddfc27df6e8c3c7eae580cdc135978f01665e003c30\",\n \"5430058c510abf812ddfc27df6e8c3f5f5f5c7eae580cdc135978f01665e003c30\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"af8dc3f7f7f77fbf7b\",\n \"7b3294c2a5cfa6dba0008837\",\n \"7b3294c2a5cff7f7f7a6dba0008837\",\n \"762a83af8dc3e7d4e8d9f0d37fbf7b1b7837\",\n \"762a83af8dc3e7d4e8f7f7f7d9f0d37fbf7b1b7837\",\n \"762a839970abc2a5cfe7d4e8d9f0d3a6dba05aae611b7837\",\n \"762a839970abc2a5cfe7d4e8f7f7f7d9f0d3a6dba05aae611b7837\",\n \"40004b762a839970abc2a5cfe7d4e8d9f0d3a6dba05aae611b783700441b\",\n \"40004b762a839970abc2a5cfe7d4e8f7f7f7d9f0d3a6dba05aae611b783700441b\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"e9a3c9f7f7f7a1d76a\",\n \"d01c8bf1b6dab8e1864dac26\",\n \"d01c8bf1b6daf7f7f7b8e1864dac26\",\n \"c51b7de9a3c9fde0efe6f5d0a1d76a4d9221\",\n \"c51b7de9a3c9fde0eff7f7f7e6f5d0a1d76a4d9221\",\n \"c51b7dde77aef1b6dafde0efe6f5d0b8e1867fbc414d9221\",\n \"c51b7dde77aef1b6dafde0eff7f7f7e6f5d0b8e1867fbc414d9221\",\n \"8e0152c51b7dde77aef1b6dafde0efe6f5d0b8e1867fbc414d9221276419\",\n \"8e0152c51b7dde77aef1b6dafde0eff7f7f7e6f5d0b8e1867fbc414d9221276419\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"998ec3f7f7f7f1a340\",\n \"5e3c99b2abd2fdb863e66101\",\n \"5e3c99b2abd2f7f7f7fdb863e66101\",\n \"542788998ec3d8daebfee0b6f1a340b35806\",\n \"542788998ec3d8daebf7f7f7fee0b6f1a340b35806\",\n \"5427888073acb2abd2d8daebfee0b6fdb863e08214b35806\",\n \"5427888073acb2abd2d8daebf7f7f7fee0b6fdb863e08214b35806\",\n \"2d004b5427888073acb2abd2d8daebfee0b6fdb863e08214b358067f3b08\",\n \"2d004b5427888073acb2abd2d8daebf7f7f7fee0b6fdb863e08214b358067f3b08\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"ef8a62f7f7f767a9cf\",\n \"ca0020f4a58292c5de0571b0\",\n \"ca0020f4a582f7f7f792c5de0571b0\",\n \"b2182bef8a62fddbc7d1e5f067a9cf2166ac\",\n \"b2182bef8a62fddbc7f7f7f7d1e5f067a9cf2166ac\",\n \"b2182bd6604df4a582fddbc7d1e5f092c5de4393c32166ac\",\n \"b2182bd6604df4a582fddbc7f7f7f7d1e5f092c5de4393c32166ac\",\n \"67001fb2182bd6604df4a582fddbc7d1e5f092c5de4393c32166ac053061\",\n \"67001fb2182bd6604df4a582fddbc7f7f7f7d1e5f092c5de4393c32166ac053061\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"ef8a62ffffff999999\",\n \"ca0020f4a582bababa404040\",\n \"ca0020f4a582ffffffbababa404040\",\n \"b2182bef8a62fddbc7e0e0e09999994d4d4d\",\n \"b2182bef8a62fddbc7ffffffe0e0e09999994d4d4d\",\n \"b2182bd6604df4a582fddbc7e0e0e0bababa8787874d4d4d\",\n \"b2182bd6604df4a582fddbc7ffffffe0e0e0bababa8787874d4d4d\",\n \"67001fb2182bd6604df4a582fddbc7e0e0e0bababa8787874d4d4d1a1a1a\",\n \"67001fb2182bd6604df4a582fddbc7ffffffe0e0e0bababa8787874d4d4d1a1a1a\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"fc8d59ffffbf91bfdb\",\n \"d7191cfdae61abd9e92c7bb6\",\n \"d7191cfdae61ffffbfabd9e92c7bb6\",\n \"d73027fc8d59fee090e0f3f891bfdb4575b4\",\n \"d73027fc8d59fee090ffffbfe0f3f891bfdb4575b4\",\n \"d73027f46d43fdae61fee090e0f3f8abd9e974add14575b4\",\n \"d73027f46d43fdae61fee090ffffbfe0f3f8abd9e974add14575b4\",\n \"a50026d73027f46d43fdae61fee090e0f3f8abd9e974add14575b4313695\",\n \"a50026d73027f46d43fdae61fee090ffffbfe0f3f8abd9e974add14575b4313695\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"fc8d59ffffbf91cf60\",\n \"d7191cfdae61a6d96a1a9641\",\n \"d7191cfdae61ffffbfa6d96a1a9641\",\n \"d73027fc8d59fee08bd9ef8b91cf601a9850\",\n \"d73027fc8d59fee08bffffbfd9ef8b91cf601a9850\",\n \"d73027f46d43fdae61fee08bd9ef8ba6d96a66bd631a9850\",\n \"d73027f46d43fdae61fee08bffffbfd9ef8ba6d96a66bd631a9850\",\n \"a50026d73027f46d43fdae61fee08bd9ef8ba6d96a66bd631a9850006837\",\n \"a50026d73027f46d43fdae61fee08bffffbfd9ef8ba6d96a66bd631a9850006837\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"fc8d59ffffbf99d594\",\n \"d7191cfdae61abdda42b83ba\",\n \"d7191cfdae61ffffbfabdda42b83ba\",\n \"d53e4ffc8d59fee08be6f59899d5943288bd\",\n \"d53e4ffc8d59fee08bffffbfe6f59899d5943288bd\",\n \"d53e4ff46d43fdae61fee08be6f598abdda466c2a53288bd\",\n \"d53e4ff46d43fdae61fee08bffffbfe6f598abdda466c2a53288bd\",\n \"9e0142d53e4ff46d43fdae61fee08be6f598abdda466c2a53288bd5e4fa2\",\n \"9e0142d53e4ff46d43fdae61fee08bffffbfe6f598abdda466c2a53288bd5e4fa2\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"e5f5f999d8c92ca25f\",\n \"edf8fbb2e2e266c2a4238b45\",\n \"edf8fbb2e2e266c2a42ca25f006d2c\",\n \"edf8fbccece699d8c966c2a42ca25f006d2c\",\n \"edf8fbccece699d8c966c2a441ae76238b45005824\",\n \"f7fcfde5f5f9ccece699d8c966c2a441ae76238b45005824\",\n \"f7fcfde5f5f9ccece699d8c966c2a441ae76238b45006d2c00441b\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"e0ecf49ebcda8856a7\",\n \"edf8fbb3cde38c96c688419d\",\n \"edf8fbb3cde38c96c68856a7810f7c\",\n \"edf8fbbfd3e69ebcda8c96c68856a7810f7c\",\n \"edf8fbbfd3e69ebcda8c96c68c6bb188419d6e016b\",\n \"f7fcfde0ecf4bfd3e69ebcda8c96c68c6bb188419d6e016b\",\n \"f7fcfde0ecf4bfd3e69ebcda8c96c68c6bb188419d810f7c4d004b\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"e0f3dba8ddb543a2ca\",\n \"f0f9e8bae4bc7bccc42b8cbe\",\n \"f0f9e8bae4bc7bccc443a2ca0868ac\",\n \"f0f9e8ccebc5a8ddb57bccc443a2ca0868ac\",\n \"f0f9e8ccebc5a8ddb57bccc44eb3d32b8cbe08589e\",\n \"f7fcf0e0f3dbccebc5a8ddb57bccc44eb3d32b8cbe08589e\",\n \"f7fcf0e0f3dbccebc5a8ddb57bccc44eb3d32b8cbe0868ac084081\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"fee8c8fdbb84e34a33\",\n \"fef0d9fdcc8afc8d59d7301f\",\n \"fef0d9fdcc8afc8d59e34a33b30000\",\n \"fef0d9fdd49efdbb84fc8d59e34a33b30000\",\n \"fef0d9fdd49efdbb84fc8d59ef6548d7301f990000\",\n \"fff7ecfee8c8fdd49efdbb84fc8d59ef6548d7301f990000\",\n \"fff7ecfee8c8fdd49efdbb84fc8d59ef6548d7301fb300007f0000\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"ece2f0a6bddb1c9099\",\n \"f6eff7bdc9e167a9cf02818a\",\n \"f6eff7bdc9e167a9cf1c9099016c59\",\n \"f6eff7d0d1e6a6bddb67a9cf1c9099016c59\",\n \"f6eff7d0d1e6a6bddb67a9cf3690c002818a016450\",\n \"fff7fbece2f0d0d1e6a6bddb67a9cf3690c002818a016450\",\n \"fff7fbece2f0d0d1e6a6bddb67a9cf3690c002818a016c59014636\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"ece7f2a6bddb2b8cbe\",\n \"f1eef6bdc9e174a9cf0570b0\",\n \"f1eef6bdc9e174a9cf2b8cbe045a8d\",\n \"f1eef6d0d1e6a6bddb74a9cf2b8cbe045a8d\",\n \"f1eef6d0d1e6a6bddb74a9cf3690c00570b0034e7b\",\n \"fff7fbece7f2d0d1e6a6bddb74a9cf3690c00570b0034e7b\",\n \"fff7fbece7f2d0d1e6a6bddb74a9cf3690c00570b0045a8d023858\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"e7e1efc994c7dd1c77\",\n \"f1eef6d7b5d8df65b0ce1256\",\n \"f1eef6d7b5d8df65b0dd1c77980043\",\n \"f1eef6d4b9dac994c7df65b0dd1c77980043\",\n \"f1eef6d4b9dac994c7df65b0e7298ace125691003f\",\n \"f7f4f9e7e1efd4b9dac994c7df65b0e7298ace125691003f\",\n \"f7f4f9e7e1efd4b9dac994c7df65b0e7298ace125698004367001f\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"fde0ddfa9fb5c51b8a\",\n \"feebe2fbb4b9f768a1ae017e\",\n \"feebe2fbb4b9f768a1c51b8a7a0177\",\n \"feebe2fcc5c0fa9fb5f768a1c51b8a7a0177\",\n \"feebe2fcc5c0fa9fb5f768a1dd3497ae017e7a0177\",\n \"fff7f3fde0ddfcc5c0fa9fb5f768a1dd3497ae017e7a0177\",\n \"fff7f3fde0ddfcc5c0fa9fb5f768a1dd3497ae017e7a017749006a\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"edf8b17fcdbb2c7fb8\",\n \"ffffcca1dab441b6c4225ea8\",\n \"ffffcca1dab441b6c42c7fb8253494\",\n \"ffffccc7e9b47fcdbb41b6c42c7fb8253494\",\n \"ffffccc7e9b47fcdbb41b6c41d91c0225ea80c2c84\",\n \"ffffd9edf8b1c7e9b47fcdbb41b6c41d91c0225ea80c2c84\",\n \"ffffd9edf8b1c7e9b47fcdbb41b6c41d91c0225ea8253494081d58\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"f7fcb9addd8e31a354\",\n \"ffffccc2e69978c679238443\",\n \"ffffccc2e69978c67931a354006837\",\n \"ffffccd9f0a3addd8e78c67931a354006837\",\n \"ffffccd9f0a3addd8e78c67941ab5d238443005a32\",\n \"ffffe5f7fcb9d9f0a3addd8e78c67941ab5d238443005a32\",\n \"ffffe5f7fcb9d9f0a3addd8e78c67941ab5d238443006837004529\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"fff7bcfec44fd95f0e\",\n \"ffffd4fed98efe9929cc4c02\",\n \"ffffd4fed98efe9929d95f0e993404\",\n \"ffffd4fee391fec44ffe9929d95f0e993404\",\n \"ffffd4fee391fec44ffe9929ec7014cc4c028c2d04\",\n \"ffffe5fff7bcfee391fec44ffe9929ec7014cc4c028c2d04\",\n \"ffffe5fff7bcfee391fec44ffe9929ec7014cc4c02993404662506\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"ffeda0feb24cf03b20\",\n \"ffffb2fecc5cfd8d3ce31a1c\",\n \"ffffb2fecc5cfd8d3cf03b20bd0026\",\n \"ffffb2fed976feb24cfd8d3cf03b20bd0026\",\n \"ffffb2fed976feb24cfd8d3cfc4e2ae31a1cb10026\",\n \"ffffccffeda0fed976feb24cfd8d3cfc4e2ae31a1cb10026\",\n \"ffffccffeda0fed976feb24cfd8d3cfc4e2ae31a1cbd0026800026\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"deebf79ecae13182bd\",\n \"eff3ffbdd7e76baed62171b5\",\n \"eff3ffbdd7e76baed63182bd08519c\",\n \"eff3ffc6dbef9ecae16baed63182bd08519c\",\n \"eff3ffc6dbef9ecae16baed64292c62171b5084594\",\n \"f7fbffdeebf7c6dbef9ecae16baed64292c62171b5084594\",\n \"f7fbffdeebf7c6dbef9ecae16baed64292c62171b508519c08306b\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"e5f5e0a1d99b31a354\",\n \"edf8e9bae4b374c476238b45\",\n \"edf8e9bae4b374c47631a354006d2c\",\n \"edf8e9c7e9c0a1d99b74c47631a354006d2c\",\n \"edf8e9c7e9c0a1d99b74c47641ab5d238b45005a32\",\n \"f7fcf5e5f5e0c7e9c0a1d99b74c47641ab5d238b45005a32\",\n \"f7fcf5e5f5e0c7e9c0a1d99b74c47641ab5d238b45006d2c00441b\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"f0f0f0bdbdbd636363\",\n \"f7f7f7cccccc969696525252\",\n \"f7f7f7cccccc969696636363252525\",\n \"f7f7f7d9d9d9bdbdbd969696636363252525\",\n \"f7f7f7d9d9d9bdbdbd969696737373525252252525\",\n \"fffffff0f0f0d9d9d9bdbdbd969696737373525252252525\",\n \"fffffff0f0f0d9d9d9bdbdbd969696737373525252252525000000\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"efedf5bcbddc756bb1\",\n \"f2f0f7cbc9e29e9ac86a51a3\",\n \"f2f0f7cbc9e29e9ac8756bb154278f\",\n \"f2f0f7dadaebbcbddc9e9ac8756bb154278f\",\n \"f2f0f7dadaebbcbddc9e9ac8807dba6a51a34a1486\",\n \"fcfbfdefedf5dadaebbcbddc9e9ac8807dba6a51a34a1486\",\n \"fcfbfdefedf5dadaebbcbddc9e9ac8807dba6a51a354278f3f007d\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"fee0d2fc9272de2d26\",\n \"fee5d9fcae91fb6a4acb181d\",\n \"fee5d9fcae91fb6a4ade2d26a50f15\",\n \"fee5d9fcbba1fc9272fb6a4ade2d26a50f15\",\n \"fee5d9fcbba1fc9272fb6a4aef3b2ccb181d99000d\",\n \"fff5f0fee0d2fcbba1fc9272fb6a4aef3b2ccb181d99000d\",\n \"fff5f0fee0d2fcbba1fc9272fb6a4aef3b2ccb181da50f1567000d\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"fee6cefdae6be6550d\",\n \"feeddefdbe85fd8d3cd94701\",\n \"feeddefdbe85fd8d3ce6550da63603\",\n \"feeddefdd0a2fdae6bfd8d3ce6550da63603\",\n \"feeddefdd0a2fdae6bfd8d3cf16913d948018c2d04\",\n \"fff5ebfee6cefdd0a2fdae6bfd8d3cf16913d948018c2d04\",\n \"fff5ebfee6cefdd0a2fdae6bfd8d3cf16913d94801a636037f2704\"\n).map(colors);\n\nexport default ramp(scheme);\n","import {cubehelix} from \"d3-color\";\nimport {interpolateCubehelixLong} from \"d3-interpolate\";\n\nexport default interpolateCubehelixLong(cubehelix(300, 0.5, 0.0), cubehelix(-240, 0.5, 1.0));\n","import {cubehelix} from \"d3-color\";\nimport {interpolateCubehelixLong} from \"d3-interpolate\";\n\nexport var warm = interpolateCubehelixLong(cubehelix(-100, 0.75, 0.35), cubehelix(80, 1.50, 0.8));\n\nexport var cool = interpolateCubehelixLong(cubehelix(260, 0.75, 0.35), cubehelix(80, 1.50, 0.8));\n\nvar c = cubehelix();\n\nexport default function(t) {\n if (t < 0 || t > 1) t -= Math.floor(t);\n var ts = Math.abs(t - 0.5);\n c.h = 360 * t - 100;\n c.s = 1.5 - 1.5 * ts;\n c.l = 0.8 - 0.9 * ts;\n return c + \"\";\n}\n","import {rgb} from \"d3-color\";\n\nvar c = rgb(),\n pi_1_3 = Math.PI / 3,\n pi_2_3 = Math.PI * 2 / 3;\n\nexport default function(t) {\n var x;\n t = (0.5 - t) * Math.PI;\n c.r = 255 * (x = Math.sin(t)) * x;\n c.g = 255 * (x = Math.sin(t + pi_1_3)) * x;\n c.b = 255 * (x = Math.sin(t + pi_2_3)) * x;\n return c + \"\";\n}\n","import colors from \"../colors\";\n\nfunction ramp(range) {\n var n = range.length;\n return function(t) {\n return range[Math.max(0, Math.min(n - 1, Math.floor(t * n)))];\n };\n}\n\nexport default ramp(colors(\"44015444025645045745055946075a46085c460a5d460b5e470d60470e6147106347116447136548146748166848176948186a481a6c481b6d481c6e481d6f481f70482071482173482374482475482576482677482878482979472a7a472c7a472d7b472e7c472f7d46307e46327e46337f463480453581453781453882443983443a83443b84433d84433e85423f854240864241864142874144874045884046883f47883f48893e49893e4a893e4c8a3d4d8a3d4e8a3c4f8a3c508b3b518b3b528b3a538b3a548c39558c39568c38588c38598c375a8c375b8d365c8d365d8d355e8d355f8d34608d34618d33628d33638d32648e32658e31668e31678e31688e30698e306a8e2f6b8e2f6c8e2e6d8e2e6e8e2e6f8e2d708e2d718e2c718e2c728e2c738e2b748e2b758e2a768e2a778e2a788e29798e297a8e297b8e287c8e287d8e277e8e277f8e27808e26818e26828e26828e25838e25848e25858e24868e24878e23888e23898e238a8d228b8d228c8d228d8d218e8d218f8d21908d21918c20928c20928c20938c1f948c1f958b1f968b1f978b1f988b1f998a1f9a8a1e9b8a1e9c891e9d891f9e891f9f881fa0881fa1881fa1871fa28720a38620a48621a58521a68522a78522a88423a98324aa8325ab8225ac8226ad8127ad8128ae8029af7f2ab07f2cb17e2db27d2eb37c2fb47c31b57b32b67a34b67935b77937b87838b9773aba763bbb753dbc743fbc7340bd7242be7144bf7046c06f48c16e4ac16d4cc26c4ec36b50c46a52c56954c56856c66758c7655ac8645cc8635ec96260ca6063cb5f65cb5e67cc5c69cd5b6ccd5a6ece5870cf5773d05675d05477d1537ad1517cd2507fd34e81d34d84d44b86d54989d5488bd6468ed64590d74393d74195d84098d83e9bd93c9dd93ba0da39a2da37a5db36a8db34aadc32addc30b0dd2fb2dd2db5de2bb8de29bade28bddf26c0df25c2df23c5e021c8e020cae11fcde11dd0e11cd2e21bd5e21ad8e219dae319dde318dfe318e2e418e5e419e7e419eae51aece51befe51cf1e51df4e61ef6e620f8e621fbe723fde725\"));\n\nexport var magma = ramp(colors(\"00000401000501010601010802010902020b02020d03030f03031204041405041606051806051a07061c08071e0907200a08220b09240c09260d0a290e0b2b100b2d110c2f120d31130d34140e36150e38160f3b180f3d19103f1a10421c10441d11471e114920114b21114e22115024125325125527125829115a2a115c2c115f2d11612f116331116533106734106936106b38106c390f6e3b0f703d0f713f0f72400f74420f75440f764510774710784910784a10794c117a4e117b4f127b51127c52137c54137d56147d57157e59157e5a167e5c167f5d177f5f187f601880621980641a80651a80671b80681c816a1c816b1d816d1d816e1e81701f81721f817320817521817621817822817922827b23827c23827e24828025828125818326818426818627818827818928818b29818c29818e2a81902a81912b81932b80942c80962c80982d80992d809b2e7f9c2e7f9e2f7fa02f7fa1307ea3307ea5317ea6317da8327daa337dab337cad347cae347bb0357bb2357bb3367ab5367ab73779b83779ba3878bc3978bd3977bf3a77c03a76c23b75c43c75c53c74c73d73c83e73ca3e72cc3f71cd4071cf4070d0416fd2426fd3436ed5446dd6456cd8456cd9466bdb476adc4869de4968df4a68e04c67e24d66e34e65e44f64e55064e75263e85362e95462ea5661eb5760ec5860ed5a5fee5b5eef5d5ef05f5ef1605df2625df2645cf3655cf4675cf4695cf56b5cf66c5cf66e5cf7705cf7725cf8745cf8765cf9785df9795df97b5dfa7d5efa7f5efa815ffb835ffb8560fb8761fc8961fc8a62fc8c63fc8e64fc9065fd9266fd9467fd9668fd9869fd9a6afd9b6bfe9d6cfe9f6dfea16efea36ffea571fea772fea973feaa74feac76feae77feb078feb27afeb47bfeb67cfeb77efeb97ffebb81febd82febf84fec185fec287fec488fec68afec88cfeca8dfecc8ffecd90fecf92fed194fed395fed597fed799fed89afdda9cfddc9efddea0fde0a1fde2a3fde3a5fde5a7fde7a9fde9aafdebacfcecaefceeb0fcf0b2fcf2b4fcf4b6fcf6b8fcf7b9fcf9bbfcfbbdfcfdbf\"));\n\nexport var inferno = ramp(colors(\"00000401000501010601010802010a02020c02020e03021004031204031405041706041907051b08051d09061f0a07220b07240c08260d08290e092b10092d110a30120a32140b34150b37160b39180c3c190c3e1b0c411c0c431e0c451f0c48210c4a230c4c240c4f260c51280b53290b552b0b572d0b592f0a5b310a5c320a5e340a5f3609613809623909633b09643d09653e0966400a67420a68440a68450a69470b6a490b6a4a0c6b4c0c6b4d0d6c4f0d6c510e6c520e6d540f6d550f6d57106e59106e5a116e5c126e5d126e5f136e61136e62146e64156e65156e67166e69166e6a176e6c186e6d186e6f196e71196e721a6e741a6e751b6e771c6d781c6d7a1d6d7c1d6d7d1e6d7f1e6c801f6c82206c84206b85216b87216b88226a8a226a8c23698d23698f24699025689225689326679526679727669827669a28659b29649d29649f2a63a02a63a22b62a32c61a52c60a62d60a82e5fa92e5eab2f5ead305dae305cb0315bb1325ab3325ab43359b63458b73557b93556ba3655bc3754bd3853bf3952c03a51c13a50c33b4fc43c4ec63d4dc73e4cc83f4bca404acb4149cc4248ce4347cf4446d04545d24644d34743d44842d54a41d74b3fd84c3ed94d3dda4e3cdb503bdd513ade5238df5337e05536e15635e25734e35933e45a31e55c30e65d2fe75e2ee8602de9612bea632aeb6429eb6628ec6726ed6925ee6a24ef6c23ef6e21f06f20f1711ff1731df2741cf3761bf37819f47918f57b17f57d15f67e14f68013f78212f78410f8850ff8870ef8890cf98b0bf98c0af98e09fa9008fa9207fa9407fb9606fb9706fb9906fb9b06fb9d07fc9f07fca108fca309fca50afca60cfca80dfcaa0ffcac11fcae12fcb014fcb216fcb418fbb61afbb81dfbba1ffbbc21fbbe23fac026fac228fac42afac62df9c72ff9c932f9cb35f8cd37f8cf3af7d13df7d340f6d543f6d746f5d949f5db4cf4dd4ff4df53f4e156f3e35af3e55df2e661f2e865f2ea69f1ec6df1ed71f1ef75f1f179f2f27df2f482f3f586f3f68af4f88ef5f992f6fa96f8fb9af9fc9dfafda1fcffa4\"));\n\nexport var plasma = ramp(colors(\"0d088710078813078916078a19068c1b068d1d068e20068f2206902406912605912805922a05932c05942e05952f059631059733059735049837049938049a3a049a3c049b3e049c3f049c41049d43039e44039e46039f48039f4903a04b03a14c02a14e02a25002a25102a35302a35502a45601a45801a45901a55b01a55c01a65e01a66001a66100a76300a76400a76600a76700a86900a86a00a86c00a86e00a86f00a87100a87201a87401a87501a87701a87801a87a02a87b02a87d03a87e03a88004a88104a78305a78405a78606a68707a68808a68a09a58b0aa58d0ba58e0ca48f0da4910ea3920fa39410a29511a19613a19814a099159f9a169f9c179e9d189d9e199da01a9ca11b9ba21d9aa31e9aa51f99a62098a72197a82296aa2395ab2494ac2694ad2793ae2892b02991b12a90b22b8fb32c8eb42e8db52f8cb6308bb7318ab83289ba3388bb3488bc3587bd3786be3885bf3984c03a83c13b82c23c81c33d80c43e7fc5407ec6417dc7427cc8437bc9447aca457acb4679cc4778cc4977cd4a76ce4b75cf4c74d04d73d14e72d24f71d35171d45270d5536fd5546ed6556dd7566cd8576bd9586ada5a6ada5b69db5c68dc5d67dd5e66de5f65de6164df6263e06363e16462e26561e26660e3685fe4695ee56a5de56b5de66c5ce76e5be76f5ae87059e97158e97257ea7457eb7556eb7655ec7754ed7953ed7a52ee7b51ef7c51ef7e50f07f4ff0804ef1814df1834cf2844bf3854bf3874af48849f48948f58b47f58c46f68d45f68f44f79044f79143f79342f89441f89540f9973ff9983ef99a3efa9b3dfa9c3cfa9e3bfb9f3afba139fba238fca338fca537fca636fca835fca934fdab33fdac33fdae32fdaf31fdb130fdb22ffdb42ffdb52efeb72dfeb82cfeba2cfebb2bfebd2afebe2afec029fdc229fdc328fdc527fdc627fdc827fdca26fdcb26fccd25fcce25fcd025fcd225fbd324fbd524fbd724fad824fada24f9dc24f9dd25f8df25f8e125f7e225f7e425f6e626f6e826f5e926f5eb27f4ed27f3ee27f3f027f2f227f1f426f1f525f0f724f0f921\"));\n","export {default as schemeCategory10} from \"./src/categorical/category10\";\nexport {default as schemeAccent} from \"./src/categorical/Accent\";\nexport {default as schemeDark2} from \"./src/categorical/Dark2\";\nexport {default as schemePaired} from \"./src/categorical/Paired\";\nexport {default as schemePastel1} from \"./src/categorical/Pastel1\";\nexport {default as schemePastel2} from \"./src/categorical/Pastel2\";\nexport {default as schemeSet1} from \"./src/categorical/Set1\";\nexport {default as schemeSet2} from \"./src/categorical/Set2\";\nexport {default as schemeSet3} from \"./src/categorical/Set3\";\nexport {default as interpolateBrBG, scheme as schemeBrBG} from \"./src/diverging/BrBG\";\nexport {default as interpolatePRGn, scheme as schemePRGn} from \"./src/diverging/PRGn\";\nexport {default as interpolatePiYG, scheme as schemePiYG} from \"./src/diverging/PiYG\";\nexport {default as interpolatePuOr, scheme as schemePuOr} from \"./src/diverging/PuOr\";\nexport {default as interpolateRdBu, scheme as schemeRdBu} from \"./src/diverging/RdBu\";\nexport {default as interpolateRdGy, scheme as schemeRdGy} from \"./src/diverging/RdGy\";\nexport {default as interpolateRdYlBu, scheme as schemeRdYlBu} from \"./src/diverging/RdYlBu\";\nexport {default as interpolateRdYlGn, scheme as schemeRdYlGn} from \"./src/diverging/RdYlGn\";\nexport {default as interpolateSpectral, scheme as schemeSpectral} from \"./src/diverging/Spectral\";\nexport {default as interpolateBuGn, scheme as schemeBuGn} from \"./src/sequential-multi/BuGn\";\nexport {default as interpolateBuPu, scheme as schemeBuPu} from \"./src/sequential-multi/BuPu\";\nexport {default as interpolateGnBu, scheme as schemeGnBu} from \"./src/sequential-multi/GnBu\";\nexport {default as interpolateOrRd, scheme as schemeOrRd} from \"./src/sequential-multi/OrRd\";\nexport {default as interpolatePuBuGn, scheme as schemePuBuGn} from \"./src/sequential-multi/PuBuGn\";\nexport {default as interpolatePuBu, scheme as schemePuBu} from \"./src/sequential-multi/PuBu\";\nexport {default as interpolatePuRd, scheme as schemePuRd} from \"./src/sequential-multi/PuRd\";\nexport {default as interpolateRdPu, scheme as schemeRdPu} from \"./src/sequential-multi/RdPu\";\nexport {default as interpolateYlGnBu, scheme as schemeYlGnBu} from \"./src/sequential-multi/YlGnBu\";\nexport {default as interpolateYlGn, scheme as schemeYlGn} from \"./src/sequential-multi/YlGn\";\nexport {default as interpolateYlOrBr, scheme as schemeYlOrBr} from \"./src/sequential-multi/YlOrBr\";\nexport {default as interpolateYlOrRd, scheme as schemeYlOrRd} from \"./src/sequential-multi/YlOrRd\";\nexport {default as interpolateBlues, scheme as schemeBlues} from \"./src/sequential-single/Blues\";\nexport {default as interpolateGreens, scheme as schemeGreens} from \"./src/sequential-single/Greens\";\nexport {default as interpolateGreys, scheme as schemeGreys} from \"./src/sequential-single/Greys\";\nexport {default as interpolatePurples, scheme as schemePurples} from \"./src/sequential-single/Purples\";\nexport {default as interpolateReds, scheme as schemeReds} from \"./src/sequential-single/Reds\";\nexport {default as interpolateOranges, scheme as schemeOranges} from \"./src/sequential-single/Oranges\";\nexport {default as interpolateCubehelixDefault} from \"./src/sequential-multi/cubehelix\";\nexport {default as interpolateRainbow, warm as interpolateWarm, cool as interpolateCool} from \"./src/sequential-multi/rainbow\";\nexport {default as interpolateSinebow} from \"./src/sequential-multi/sinebow\";\nexport {default as interpolateViridis, magma as interpolateMagma, inferno as interpolateInferno, plasma as interpolatePlasma} from \"./src/sequential-multi/viridis\";\n","export default function(x) {\n return function constant() {\n return x;\n };\n}\n","export var abs = Math.abs;\nexport var atan2 = Math.atan2;\nexport var cos = Math.cos;\nexport var max = Math.max;\nexport var min = Math.min;\nexport var sin = Math.sin;\nexport var sqrt = Math.sqrt;\n\nexport var epsilon = 1e-12;\nexport var pi = Math.PI;\nexport var halfPi = pi / 2;\nexport var tau = 2 * pi;\n\nexport function acos(x) {\n return x > 1 ? 0 : x < -1 ? pi : Math.acos(x);\n}\n\nexport function asin(x) {\n return x >= 1 ? halfPi : x <= -1 ? -halfPi : Math.asin(x);\n}\n","import {path} from \"d3-path\";\nimport constant from \"./constant\";\nimport {abs, acos, asin, atan2, cos, epsilon, halfPi, max, min, pi, sin, sqrt, tau} from \"./math\";\n\nfunction arcInnerRadius(d) {\n return d.innerRadius;\n}\n\nfunction arcOuterRadius(d) {\n return d.outerRadius;\n}\n\nfunction arcStartAngle(d) {\n return d.startAngle;\n}\n\nfunction arcEndAngle(d) {\n return d.endAngle;\n}\n\nfunction arcPadAngle(d) {\n return d && d.padAngle; // Note: optional!\n}\n\nfunction intersect(x0, y0, x1, y1, x2, y2, x3, y3) {\n var x10 = x1 - x0, y10 = y1 - y0,\n x32 = x3 - x2, y32 = y3 - y2,\n t = (x32 * (y0 - y2) - y32 * (x0 - x2)) / (y32 * x10 - x32 * y10);\n return [x0 + t * x10, y0 + t * y10];\n}\n\n// Compute perpendicular offset line of length rc.\n// http://mathworld.wolfram.com/Circle-LineIntersection.html\nfunction cornerTangents(x0, y0, x1, y1, r1, rc, cw) {\n var x01 = x0 - x1,\n y01 = y0 - y1,\n lo = (cw ? rc : -rc) / sqrt(x01 * x01 + y01 * y01),\n ox = lo * y01,\n oy = -lo * x01,\n x11 = x0 + ox,\n y11 = y0 + oy,\n x10 = x1 + ox,\n y10 = y1 + oy,\n x00 = (x11 + x10) / 2,\n y00 = (y11 + y10) / 2,\n dx = x10 - x11,\n dy = y10 - y11,\n d2 = dx * dx + dy * dy,\n r = r1 - rc,\n D = x11 * y10 - x10 * y11,\n d = (dy < 0 ? -1 : 1) * sqrt(max(0, r * r * d2 - D * D)),\n cx0 = (D * dy - dx * d) / d2,\n cy0 = (-D * dx - dy * d) / d2,\n cx1 = (D * dy + dx * d) / d2,\n cy1 = (-D * dx + dy * d) / d2,\n dx0 = cx0 - x00,\n dy0 = cy0 - y00,\n dx1 = cx1 - x00,\n dy1 = cy1 - y00;\n\n // Pick the closer of the two intersection points.\n // TODO Is there a faster way to determine which intersection to use?\n if (dx0 * dx0 + dy0 * dy0 > dx1 * dx1 + dy1 * dy1) cx0 = cx1, cy0 = cy1;\n\n return {\n cx: cx0,\n cy: cy0,\n x01: -ox,\n y01: -oy,\n x11: cx0 * (r1 / r - 1),\n y11: cy0 * (r1 / r - 1)\n };\n}\n\nexport default function() {\n var innerRadius = arcInnerRadius,\n outerRadius = arcOuterRadius,\n cornerRadius = constant(0),\n padRadius = null,\n startAngle = arcStartAngle,\n endAngle = arcEndAngle,\n padAngle = arcPadAngle,\n context = null;\n\n function arc() {\n var buffer,\n r,\n r0 = +innerRadius.apply(this, arguments),\n r1 = +outerRadius.apply(this, arguments),\n a0 = startAngle.apply(this, arguments) - halfPi,\n a1 = endAngle.apply(this, arguments) - halfPi,\n da = abs(a1 - a0),\n cw = a1 > a0;\n\n if (!context) context = buffer = path();\n\n // Ensure that the outer radius is always larger than the inner radius.\n if (r1 < r0) r = r1, r1 = r0, r0 = r;\n\n // Is it a point?\n if (!(r1 > epsilon)) context.moveTo(0, 0);\n\n // Or is it a circle or annulus?\n else if (da > tau - epsilon) {\n context.moveTo(r1 * cos(a0), r1 * sin(a0));\n context.arc(0, 0, r1, a0, a1, !cw);\n if (r0 > epsilon) {\n context.moveTo(r0 * cos(a1), r0 * sin(a1));\n context.arc(0, 0, r0, a1, a0, cw);\n }\n }\n\n // Or is it a circular or annular sector?\n else {\n var a01 = a0,\n a11 = a1,\n a00 = a0,\n a10 = a1,\n da0 = da,\n da1 = da,\n ap = padAngle.apply(this, arguments) / 2,\n rp = (ap > epsilon) && (padRadius ? +padRadius.apply(this, arguments) : sqrt(r0 * r0 + r1 * r1)),\n rc = min(abs(r1 - r0) / 2, +cornerRadius.apply(this, arguments)),\n rc0 = rc,\n rc1 = rc,\n t0,\n t1;\n\n // Apply padding? Note that since r1 ≥ r0, da1 ≥ da0.\n if (rp > epsilon) {\n var p0 = asin(rp / r0 * sin(ap)),\n p1 = asin(rp / r1 * sin(ap));\n if ((da0 -= p0 * 2) > epsilon) p0 *= (cw ? 1 : -1), a00 += p0, a10 -= p0;\n else da0 = 0, a00 = a10 = (a0 + a1) / 2;\n if ((da1 -= p1 * 2) > epsilon) p1 *= (cw ? 1 : -1), a01 += p1, a11 -= p1;\n else da1 = 0, a01 = a11 = (a0 + a1) / 2;\n }\n\n var x01 = r1 * cos(a01),\n y01 = r1 * sin(a01),\n x10 = r0 * cos(a10),\n y10 = r0 * sin(a10);\n\n // Apply rounded corners?\n if (rc > epsilon) {\n var x11 = r1 * cos(a11),\n y11 = r1 * sin(a11),\n x00 = r0 * cos(a00),\n y00 = r0 * sin(a00);\n\n // Restrict the corner radius according to the sector angle.\n if (da < pi) {\n var oc = da0 > epsilon ? intersect(x01, y01, x00, y00, x11, y11, x10, y10) : [x10, y10],\n ax = x01 - oc[0],\n ay = y01 - oc[1],\n bx = x11 - oc[0],\n by = y11 - oc[1],\n kc = 1 / sin(acos((ax * bx + ay * by) / (sqrt(ax * ax + ay * ay) * sqrt(bx * bx + by * by))) / 2),\n lc = sqrt(oc[0] * oc[0] + oc[1] * oc[1]);\n rc0 = min(rc, (r0 - lc) / (kc - 1));\n rc1 = min(rc, (r1 - lc) / (kc + 1));\n }\n }\n\n // Is the sector collapsed to a line?\n if (!(da1 > epsilon)) context.moveTo(x01, y01);\n\n // Does the sector’s outer ring have rounded corners?\n else if (rc1 > epsilon) {\n t0 = cornerTangents(x00, y00, x01, y01, r1, rc1, cw);\n t1 = cornerTangents(x11, y11, x10, y10, r1, rc1, cw);\n\n context.moveTo(t0.cx + t0.x01, t0.cy + t0.y01);\n\n // Have the corners merged?\n if (rc1 < rc) context.arc(t0.cx, t0.cy, rc1, atan2(t0.y01, t0.x01), atan2(t1.y01, t1.x01), !cw);\n\n // Otherwise, draw the two corners and the ring.\n else {\n context.arc(t0.cx, t0.cy, rc1, atan2(t0.y01, t0.x01), atan2(t0.y11, t0.x11), !cw);\n context.arc(0, 0, r1, atan2(t0.cy + t0.y11, t0.cx + t0.x11), atan2(t1.cy + t1.y11, t1.cx + t1.x11), !cw);\n context.arc(t1.cx, t1.cy, rc1, atan2(t1.y11, t1.x11), atan2(t1.y01, t1.x01), !cw);\n }\n }\n\n // Or is the outer ring just a circular arc?\n else context.moveTo(x01, y01), context.arc(0, 0, r1, a01, a11, !cw);\n\n // Is there no inner ring, and it’s a circular sector?\n // Or perhaps it’s an annular sector collapsed due to padding?\n if (!(r0 > epsilon) || !(da0 > epsilon)) context.lineTo(x10, y10);\n\n // Does the sector’s inner ring (or point) have rounded corners?\n else if (rc0 > epsilon) {\n t0 = cornerTangents(x10, y10, x11, y11, r0, -rc0, cw);\n t1 = cornerTangents(x01, y01, x00, y00, r0, -rc0, cw);\n\n context.lineTo(t0.cx + t0.x01, t0.cy + t0.y01);\n\n // Have the corners merged?\n if (rc0 < rc) context.arc(t0.cx, t0.cy, rc0, atan2(t0.y01, t0.x01), atan2(t1.y01, t1.x01), !cw);\n\n // Otherwise, draw the two corners and the ring.\n else {\n context.arc(t0.cx, t0.cy, rc0, atan2(t0.y01, t0.x01), atan2(t0.y11, t0.x11), !cw);\n context.arc(0, 0, r0, atan2(t0.cy + t0.y11, t0.cx + t0.x11), atan2(t1.cy + t1.y11, t1.cx + t1.x11), cw);\n context.arc(t1.cx, t1.cy, rc0, atan2(t1.y11, t1.x11), atan2(t1.y01, t1.x01), !cw);\n }\n }\n\n // Or is the inner ring just a circular arc?\n else context.arc(0, 0, r0, a10, a00, cw);\n }\n\n context.closePath();\n\n if (buffer) return context = null, buffer + \"\" || null;\n }\n\n arc.centroid = function() {\n var r = (+innerRadius.apply(this, arguments) + +outerRadius.apply(this, arguments)) / 2,\n a = (+startAngle.apply(this, arguments) + +endAngle.apply(this, arguments)) / 2 - pi / 2;\n return [cos(a) * r, sin(a) * r];\n };\n\n arc.innerRadius = function(_) {\n return arguments.length ? (innerRadius = typeof _ === \"function\" ? _ : constant(+_), arc) : innerRadius;\n };\n\n arc.outerRadius = function(_) {\n return arguments.length ? (outerRadius = typeof _ === \"function\" ? _ : constant(+_), arc) : outerRadius;\n };\n\n arc.cornerRadius = function(_) {\n return arguments.length ? (cornerRadius = typeof _ === \"function\" ? _ : constant(+_), arc) : cornerRadius;\n };\n\n arc.padRadius = function(_) {\n return arguments.length ? (padRadius = _ == null ? null : typeof _ === \"function\" ? _ : constant(+_), arc) : padRadius;\n };\n\n arc.startAngle = function(_) {\n return arguments.length ? (startAngle = typeof _ === \"function\" ? _ : constant(+_), arc) : startAngle;\n };\n\n arc.endAngle = function(_) {\n return arguments.length ? (endAngle = typeof _ === \"function\" ? _ : constant(+_), arc) : endAngle;\n };\n\n arc.padAngle = function(_) {\n return arguments.length ? (padAngle = typeof _ === \"function\" ? _ : constant(+_), arc) : padAngle;\n };\n\n arc.context = function(_) {\n return arguments.length ? ((context = _ == null ? null : _), arc) : context;\n };\n\n return arc;\n}\n","function Linear(context) {\n this._context = context;\n}\n\nLinear.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._point = 0;\n },\n lineEnd: function() {\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; // proceed\n default: this._context.lineTo(x, y); break;\n }\n }\n};\n\nexport default function(context) {\n return new Linear(context);\n}\n","export function x(p) {\n return p[0];\n}\n\nexport function y(p) {\n return p[1];\n}\n","import {path} from \"d3-path\";\nimport constant from \"./constant\";\nimport curveLinear from \"./curve/linear\";\nimport {x as pointX, y as pointY} from \"./point\";\n\nexport default function() {\n var x = pointX,\n y = pointY,\n defined = constant(true),\n context = null,\n curve = curveLinear,\n output = null;\n\n function line(data) {\n var i,\n n = data.length,\n d,\n defined0 = false,\n buffer;\n\n if (context == null) output = curve(buffer = path());\n\n for (i = 0; i <= n; ++i) {\n if (!(i < n && defined(d = data[i], i, data)) === defined0) {\n if (defined0 = !defined0) output.lineStart();\n else output.lineEnd();\n }\n if (defined0) output.point(+x(d, i, data), +y(d, i, data));\n }\n\n if (buffer) return output = null, buffer + \"\" || null;\n }\n\n line.x = function(_) {\n return arguments.length ? (x = typeof _ === \"function\" ? _ : constant(+_), line) : x;\n };\n\n line.y = function(_) {\n return arguments.length ? (y = typeof _ === \"function\" ? _ : constant(+_), line) : y;\n };\n\n line.defined = function(_) {\n return arguments.length ? (defined = typeof _ === \"function\" ? _ : constant(!!_), line) : defined;\n };\n\n line.curve = function(_) {\n return arguments.length ? (curve = _, context != null && (output = curve(context)), line) : curve;\n };\n\n line.context = function(_) {\n return arguments.length ? (_ == null ? context = output = null : output = curve(context = _), line) : context;\n };\n\n return line;\n}\n","import {path} from \"d3-path\";\nimport constant from \"./constant\";\nimport curveLinear from \"./curve/linear\";\nimport line from \"./line\";\nimport {x as pointX, y as pointY} from \"./point\";\n\nexport default function() {\n var x0 = pointX,\n x1 = null,\n y0 = constant(0),\n y1 = pointY,\n defined = constant(true),\n context = null,\n curve = curveLinear,\n output = null;\n\n function area(data) {\n var i,\n j,\n k,\n n = data.length,\n d,\n defined0 = false,\n buffer,\n x0z = new Array(n),\n y0z = new Array(n);\n\n if (context == null) output = curve(buffer = path());\n\n for (i = 0; i <= n; ++i) {\n if (!(i < n && defined(d = data[i], i, data)) === defined0) {\n if (defined0 = !defined0) {\n j = i;\n output.areaStart();\n output.lineStart();\n } else {\n output.lineEnd();\n output.lineStart();\n for (k = i - 1; k >= j; --k) {\n output.point(x0z[k], y0z[k]);\n }\n output.lineEnd();\n output.areaEnd();\n }\n }\n if (defined0) {\n x0z[i] = +x0(d, i, data), y0z[i] = +y0(d, i, data);\n output.point(x1 ? +x1(d, i, data) : x0z[i], y1 ? +y1(d, i, data) : y0z[i]);\n }\n }\n\n if (buffer) return output = null, buffer + \"\" || null;\n }\n\n function arealine() {\n return line().defined(defined).curve(curve).context(context);\n }\n\n area.x = function(_) {\n return arguments.length ? (x0 = typeof _ === \"function\" ? _ : constant(+_), x1 = null, area) : x0;\n };\n\n area.x0 = function(_) {\n return arguments.length ? (x0 = typeof _ === \"function\" ? _ : constant(+_), area) : x0;\n };\n\n area.x1 = function(_) {\n return arguments.length ? (x1 = _ == null ? null : typeof _ === \"function\" ? _ : constant(+_), area) : x1;\n };\n\n area.y = function(_) {\n return arguments.length ? (y0 = typeof _ === \"function\" ? _ : constant(+_), y1 = null, area) : y0;\n };\n\n area.y0 = function(_) {\n return arguments.length ? (y0 = typeof _ === \"function\" ? _ : constant(+_), area) : y0;\n };\n\n area.y1 = function(_) {\n return arguments.length ? (y1 = _ == null ? null : typeof _ === \"function\" ? _ : constant(+_), area) : y1;\n };\n\n area.lineX0 =\n area.lineY0 = function() {\n return arealine().x(x0).y(y0);\n };\n\n area.lineY1 = function() {\n return arealine().x(x0).y(y1);\n };\n\n area.lineX1 = function() {\n return arealine().x(x1).y(y0);\n };\n\n area.defined = function(_) {\n return arguments.length ? (defined = typeof _ === \"function\" ? _ : constant(!!_), area) : defined;\n };\n\n area.curve = function(_) {\n return arguments.length ? (curve = _, context != null && (output = curve(context)), area) : curve;\n };\n\n area.context = function(_) {\n return arguments.length ? (_ == null ? context = output = null : output = curve(context = _), area) : context;\n };\n\n return area;\n}\n","export default function(a, b) {\n return b < a ? -1 : b > a ? 1 : b >= a ? 0 : NaN;\n}\n","export default function(d) {\n return d;\n}\n","import constant from \"./constant\";\nimport descending from \"./descending\";\nimport identity from \"./identity\";\nimport {tau} from \"./math\";\n\nexport default function() {\n var value = identity,\n sortValues = descending,\n sort = null,\n startAngle = constant(0),\n endAngle = constant(tau),\n padAngle = constant(0);\n\n function pie(data) {\n var i,\n n = data.length,\n j,\n k,\n sum = 0,\n index = new Array(n),\n arcs = new Array(n),\n a0 = +startAngle.apply(this, arguments),\n da = Math.min(tau, Math.max(-tau, endAngle.apply(this, arguments) - a0)),\n a1,\n p = Math.min(Math.abs(da) / n, padAngle.apply(this, arguments)),\n pa = p * (da < 0 ? -1 : 1),\n v;\n\n for (i = 0; i < n; ++i) {\n if ((v = arcs[index[i] = i] = +value(data[i], i, data)) > 0) {\n sum += v;\n }\n }\n\n // Optionally sort the arcs by previously-computed values or by data.\n if (sortValues != null) index.sort(function(i, j) { return sortValues(arcs[i], arcs[j]); });\n else if (sort != null) index.sort(function(i, j) { return sort(data[i], data[j]); });\n\n // Compute the arcs! They are stored in the original data's order.\n for (i = 0, k = sum ? (da - n * pa) / sum : 0; i < n; ++i, a0 = a1) {\n j = index[i], v = arcs[j], a1 = a0 + (v > 0 ? v * k : 0) + pa, arcs[j] = {\n data: data[j],\n index: i,\n value: v,\n startAngle: a0,\n endAngle: a1,\n padAngle: p\n };\n }\n\n return arcs;\n }\n\n pie.value = function(_) {\n return arguments.length ? (value = typeof _ === \"function\" ? _ : constant(+_), pie) : value;\n };\n\n pie.sortValues = function(_) {\n return arguments.length ? (sortValues = _, sort = null, pie) : sortValues;\n };\n\n pie.sort = function(_) {\n return arguments.length ? (sort = _, sortValues = null, pie) : sort;\n };\n\n pie.startAngle = function(_) {\n return arguments.length ? (startAngle = typeof _ === \"function\" ? _ : constant(+_), pie) : startAngle;\n };\n\n pie.endAngle = function(_) {\n return arguments.length ? (endAngle = typeof _ === \"function\" ? _ : constant(+_), pie) : endAngle;\n };\n\n pie.padAngle = function(_) {\n return arguments.length ? (padAngle = typeof _ === \"function\" ? _ : constant(+_), pie) : padAngle;\n };\n\n return pie;\n}\n","import curveLinear from \"./linear\";\n\nexport var curveRadialLinear = curveRadial(curveLinear);\n\nfunction Radial(curve) {\n this._curve = curve;\n}\n\nRadial.prototype = {\n areaStart: function() {\n this._curve.areaStart();\n },\n areaEnd: function() {\n this._curve.areaEnd();\n },\n lineStart: function() {\n this._curve.lineStart();\n },\n lineEnd: function() {\n this._curve.lineEnd();\n },\n point: function(a, r) {\n this._curve.point(r * Math.sin(a), r * -Math.cos(a));\n }\n};\n\nexport default function curveRadial(curve) {\n\n function radial(context) {\n return new Radial(curve(context));\n }\n\n radial._curve = curve;\n\n return radial;\n}\n","import curveRadial, {curveRadialLinear} from \"./curve/radial\";\nimport line from \"./line\";\n\nexport function lineRadial(l) {\n var c = l.curve;\n\n l.angle = l.x, delete l.x;\n l.radius = l.y, delete l.y;\n\n l.curve = function(_) {\n return arguments.length ? c(curveRadial(_)) : c()._curve;\n };\n\n return l;\n}\n\nexport default function() {\n return lineRadial(line().curve(curveRadialLinear));\n}\n","import curveRadial, {curveRadialLinear} from \"./curve/radial\";\nimport area from \"./area\";\nimport {lineRadial} from \"./lineRadial\"\n\nexport default function() {\n var a = area().curve(curveRadialLinear),\n c = a.curve,\n x0 = a.lineX0,\n x1 = a.lineX1,\n y0 = a.lineY0,\n y1 = a.lineY1;\n\n a.angle = a.x, delete a.x;\n a.startAngle = a.x0, delete a.x0;\n a.endAngle = a.x1, delete a.x1;\n a.radius = a.y, delete a.y;\n a.innerRadius = a.y0, delete a.y0;\n a.outerRadius = a.y1, delete a.y1;\n a.lineStartAngle = function() { return lineRadial(x0()); }, delete a.lineX0;\n a.lineEndAngle = function() { return lineRadial(x1()); }, delete a.lineX1;\n a.lineInnerRadius = function() { return lineRadial(y0()); }, delete a.lineY0;\n a.lineOuterRadius = function() { return lineRadial(y1()); }, delete a.lineY1;\n\n a.curve = function(_) {\n return arguments.length ? c(curveRadial(_)) : c()._curve;\n };\n\n return a;\n}\n","export default function(x, y) {\n return [(y = +y) * Math.cos(x -= Math.PI / 2), y * Math.sin(x)];\n}\n","export var slice = Array.prototype.slice;\n","import {path} from \"d3-path\";\nimport {slice} from \"../array\";\nimport constant from \"../constant\";\nimport {x as pointX, y as pointY} from \"../point\";\nimport pointRadial from \"../pointRadial\";\n\nfunction linkSource(d) {\n return d.source;\n}\n\nfunction linkTarget(d) {\n return d.target;\n}\n\nfunction link(curve) {\n var source = linkSource,\n target = linkTarget,\n x = pointX,\n y = pointY,\n context = null;\n\n function link() {\n var buffer, argv = slice.call(arguments), s = source.apply(this, argv), t = target.apply(this, argv);\n if (!context) context = buffer = path();\n curve(context, +x.apply(this, (argv[0] = s, argv)), +y.apply(this, argv), +x.apply(this, (argv[0] = t, argv)), +y.apply(this, argv));\n if (buffer) return context = null, buffer + \"\" || null;\n }\n\n link.source = function(_) {\n return arguments.length ? (source = _, link) : source;\n };\n\n link.target = function(_) {\n return arguments.length ? (target = _, link) : target;\n };\n\n link.x = function(_) {\n return arguments.length ? (x = typeof _ === \"function\" ? _ : constant(+_), link) : x;\n };\n\n link.y = function(_) {\n return arguments.length ? (y = typeof _ === \"function\" ? _ : constant(+_), link) : y;\n };\n\n link.context = function(_) {\n return arguments.length ? ((context = _ == null ? null : _), link) : context;\n };\n\n return link;\n}\n\nfunction curveHorizontal(context, x0, y0, x1, y1) {\n context.moveTo(x0, y0);\n context.bezierCurveTo(x0 = (x0 + x1) / 2, y0, x0, y1, x1, y1);\n}\n\nfunction curveVertical(context, x0, y0, x1, y1) {\n context.moveTo(x0, y0);\n context.bezierCurveTo(x0, y0 = (y0 + y1) / 2, x1, y0, x1, y1);\n}\n\nfunction curveRadial(context, x0, y0, x1, y1) {\n var p0 = pointRadial(x0, y0),\n p1 = pointRadial(x0, y0 = (y0 + y1) / 2),\n p2 = pointRadial(x1, y0),\n p3 = pointRadial(x1, y1);\n context.moveTo(p0[0], p0[1]);\n context.bezierCurveTo(p1[0], p1[1], p2[0], p2[1], p3[0], p3[1]);\n}\n\nexport function linkHorizontal() {\n return link(curveHorizontal);\n}\n\nexport function linkVertical() {\n return link(curveVertical);\n}\n\nexport function linkRadial() {\n var l = link(curveRadial);\n l.angle = l.x, delete l.x;\n l.radius = l.y, delete l.y;\n return l;\n}\n","import {pi, tau} from \"../math\";\n\nexport default {\n draw: function(context, size) {\n var r = Math.sqrt(size / pi);\n context.moveTo(r, 0);\n context.arc(0, 0, r, 0, tau);\n }\n};\n","export default {\n draw: function(context, size) {\n var r = Math.sqrt(size / 5) / 2;\n context.moveTo(-3 * r, -r);\n context.lineTo(-r, -r);\n context.lineTo(-r, -3 * r);\n context.lineTo(r, -3 * r);\n context.lineTo(r, -r);\n context.lineTo(3 * r, -r);\n context.lineTo(3 * r, r);\n context.lineTo(r, r);\n context.lineTo(r, 3 * r);\n context.lineTo(-r, 3 * r);\n context.lineTo(-r, r);\n context.lineTo(-3 * r, r);\n context.closePath();\n }\n};\n","var tan30 = Math.sqrt(1 / 3),\n tan30_2 = tan30 * 2;\n\nexport default {\n draw: function(context, size) {\n var y = Math.sqrt(size / tan30_2),\n x = y * tan30;\n context.moveTo(0, -y);\n context.lineTo(x, 0);\n context.lineTo(0, y);\n context.lineTo(-x, 0);\n context.closePath();\n }\n};\n","import {pi, tau} from \"../math\";\n\nvar ka = 0.89081309152928522810,\n kr = Math.sin(pi / 10) / Math.sin(7 * pi / 10),\n kx = Math.sin(tau / 10) * kr,\n ky = -Math.cos(tau / 10) * kr;\n\nexport default {\n draw: function(context, size) {\n var r = Math.sqrt(size * ka),\n x = kx * r,\n y = ky * r;\n context.moveTo(0, -r);\n context.lineTo(x, y);\n for (var i = 1; i < 5; ++i) {\n var a = tau * i / 5,\n c = Math.cos(a),\n s = Math.sin(a);\n context.lineTo(s * r, -c * r);\n context.lineTo(c * x - s * y, s * x + c * y);\n }\n context.closePath();\n }\n};\n","export default {\n draw: function(context, size) {\n var w = Math.sqrt(size),\n x = -w / 2;\n context.rect(x, x, w, w);\n }\n};\n","var sqrt3 = Math.sqrt(3);\n\nexport default {\n draw: function(context, size) {\n var y = -Math.sqrt(size / (sqrt3 * 3));\n context.moveTo(0, y * 2);\n context.lineTo(-sqrt3 * y, -y);\n context.lineTo(sqrt3 * y, -y);\n context.closePath();\n }\n};\n","var c = -0.5,\n s = Math.sqrt(3) / 2,\n k = 1 / Math.sqrt(12),\n a = (k / 2 + 1) * 3;\n\nexport default {\n draw: function(context, size) {\n var r = Math.sqrt(size / a),\n x0 = r / 2,\n y0 = r * k,\n x1 = x0,\n y1 = r * k + r,\n x2 = -x1,\n y2 = y1;\n context.moveTo(x0, y0);\n context.lineTo(x1, y1);\n context.lineTo(x2, y2);\n context.lineTo(c * x0 - s * y0, s * x0 + c * y0);\n context.lineTo(c * x1 - s * y1, s * x1 + c * y1);\n context.lineTo(c * x2 - s * y2, s * x2 + c * y2);\n context.lineTo(c * x0 + s * y0, c * y0 - s * x0);\n context.lineTo(c * x1 + s * y1, c * y1 - s * x1);\n context.lineTo(c * x2 + s * y2, c * y2 - s * x2);\n context.closePath();\n }\n};\n","import {path} from \"d3-path\";\nimport circle from \"./symbol/circle\";\nimport cross from \"./symbol/cross\";\nimport diamond from \"./symbol/diamond\";\nimport star from \"./symbol/star\";\nimport square from \"./symbol/square\";\nimport triangle from \"./symbol/triangle\";\nimport wye from \"./symbol/wye\";\nimport constant from \"./constant\";\n\nexport var symbols = [\n circle,\n cross,\n diamond,\n square,\n star,\n triangle,\n wye\n];\n\nexport default function() {\n var type = constant(circle),\n size = constant(64),\n context = null;\n\n function symbol() {\n var buffer;\n if (!context) context = buffer = path();\n type.apply(this, arguments).draw(context, +size.apply(this, arguments));\n if (buffer) return context = null, buffer + \"\" || null;\n }\n\n symbol.type = function(_) {\n return arguments.length ? (type = typeof _ === \"function\" ? _ : constant(_), symbol) : type;\n };\n\n symbol.size = function(_) {\n return arguments.length ? (size = typeof _ === \"function\" ? _ : constant(+_), symbol) : size;\n };\n\n symbol.context = function(_) {\n return arguments.length ? (context = _ == null ? null : _, symbol) : context;\n };\n\n return symbol;\n}\n","export default function() {}\n","export function point(that, x, y) {\n that._context.bezierCurveTo(\n (2 * that._x0 + that._x1) / 3,\n (2 * that._y0 + that._y1) / 3,\n (that._x0 + 2 * that._x1) / 3,\n (that._y0 + 2 * that._y1) / 3,\n (that._x0 + 4 * that._x1 + x) / 6,\n (that._y0 + 4 * that._y1 + y) / 6\n );\n}\n\nexport function Basis(context) {\n this._context = context;\n}\n\nBasis.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 =\n this._y0 = this._y1 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 3: point(this, this._x1, this._y1); // proceed\n case 2: this._context.lineTo(this._x1, this._y1); break;\n }\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; break;\n case 2: this._point = 3; this._context.lineTo((5 * this._x0 + this._x1) / 6, (5 * this._y0 + this._y1) / 6); // proceed\n default: point(this, x, y); break;\n }\n this._x0 = this._x1, this._x1 = x;\n this._y0 = this._y1, this._y1 = y;\n }\n};\n\nexport default function(context) {\n return new Basis(context);\n}\n","import noop from \"../noop\";\nimport {point} from \"./basis\";\n\nfunction BasisClosed(context) {\n this._context = context;\n}\n\nBasisClosed.prototype = {\n areaStart: noop,\n areaEnd: noop,\n lineStart: function() {\n this._x0 = this._x1 = this._x2 = this._x3 = this._x4 =\n this._y0 = this._y1 = this._y2 = this._y3 = this._y4 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 1: {\n this._context.moveTo(this._x2, this._y2);\n this._context.closePath();\n break;\n }\n case 2: {\n this._context.moveTo((this._x2 + 2 * this._x3) / 3, (this._y2 + 2 * this._y3) / 3);\n this._context.lineTo((this._x3 + 2 * this._x2) / 3, (this._y3 + 2 * this._y2) / 3);\n this._context.closePath();\n break;\n }\n case 3: {\n this.point(this._x2, this._y2);\n this.point(this._x3, this._y3);\n this.point(this._x4, this._y4);\n break;\n }\n }\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._x2 = x, this._y2 = y; break;\n case 1: this._point = 2; this._x3 = x, this._y3 = y; break;\n case 2: this._point = 3; this._x4 = x, this._y4 = y; this._context.moveTo((this._x0 + 4 * this._x1 + x) / 6, (this._y0 + 4 * this._y1 + y) / 6); break;\n default: point(this, x, y); break;\n }\n this._x0 = this._x1, this._x1 = x;\n this._y0 = this._y1, this._y1 = y;\n }\n};\n\nexport default function(context) {\n return new BasisClosed(context);\n}\n","import {point} from \"./basis\";\n\nfunction BasisOpen(context) {\n this._context = context;\n}\n\nBasisOpen.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 =\n this._y0 = this._y1 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n if (this._line || (this._line !== 0 && this._point === 3)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; break;\n case 1: this._point = 2; break;\n case 2: this._point = 3; var x0 = (this._x0 + 4 * this._x1 + x) / 6, y0 = (this._y0 + 4 * this._y1 + y) / 6; this._line ? this._context.lineTo(x0, y0) : this._context.moveTo(x0, y0); break;\n case 3: this._point = 4; // proceed\n default: point(this, x, y); break;\n }\n this._x0 = this._x1, this._x1 = x;\n this._y0 = this._y1, this._y1 = y;\n }\n};\n\nexport default function(context) {\n return new BasisOpen(context);\n}\n","import {Basis} from \"./basis\";\n\nfunction Bundle(context, beta) {\n this._basis = new Basis(context);\n this._beta = beta;\n}\n\nBundle.prototype = {\n lineStart: function() {\n this._x = [];\n this._y = [];\n this._basis.lineStart();\n },\n lineEnd: function() {\n var x = this._x,\n y = this._y,\n j = x.length - 1;\n\n if (j > 0) {\n var x0 = x[0],\n y0 = y[0],\n dx = x[j] - x0,\n dy = y[j] - y0,\n i = -1,\n t;\n\n while (++i <= j) {\n t = i / j;\n this._basis.point(\n this._beta * x[i] + (1 - this._beta) * (x0 + t * dx),\n this._beta * y[i] + (1 - this._beta) * (y0 + t * dy)\n );\n }\n }\n\n this._x = this._y = null;\n this._basis.lineEnd();\n },\n point: function(x, y) {\n this._x.push(+x);\n this._y.push(+y);\n }\n};\n\nexport default (function custom(beta) {\n\n function bundle(context) {\n return beta === 1 ? new Basis(context) : new Bundle(context, beta);\n }\n\n bundle.beta = function(beta) {\n return custom(+beta);\n };\n\n return bundle;\n})(0.85);\n","export function point(that, x, y) {\n that._context.bezierCurveTo(\n that._x1 + that._k * (that._x2 - that._x0),\n that._y1 + that._k * (that._y2 - that._y0),\n that._x2 + that._k * (that._x1 - x),\n that._y2 + that._k * (that._y1 - y),\n that._x2,\n that._y2\n );\n}\n\nexport function Cardinal(context, tension) {\n this._context = context;\n this._k = (1 - tension) / 6;\n}\n\nCardinal.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 = this._x2 =\n this._y0 = this._y1 = this._y2 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 2: this._context.lineTo(this._x2, this._y2); break;\n case 3: point(this, this._x1, this._y1); break;\n }\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; this._x1 = x, this._y1 = y; break;\n case 2: this._point = 3; // proceed\n default: point(this, x, y); break;\n }\n this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;\n this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;\n }\n};\n\nexport default (function custom(tension) {\n\n function cardinal(context) {\n return new Cardinal(context, tension);\n }\n\n cardinal.tension = function(tension) {\n return custom(+tension);\n };\n\n return cardinal;\n})(0);\n","import noop from \"../noop\";\nimport {point} from \"./cardinal\";\n\nexport function CardinalClosed(context, tension) {\n this._context = context;\n this._k = (1 - tension) / 6;\n}\n\nCardinalClosed.prototype = {\n areaStart: noop,\n areaEnd: noop,\n lineStart: function() {\n this._x0 = this._x1 = this._x2 = this._x3 = this._x4 = this._x5 =\n this._y0 = this._y1 = this._y2 = this._y3 = this._y4 = this._y5 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 1: {\n this._context.moveTo(this._x3, this._y3);\n this._context.closePath();\n break;\n }\n case 2: {\n this._context.lineTo(this._x3, this._y3);\n this._context.closePath();\n break;\n }\n case 3: {\n this.point(this._x3, this._y3);\n this.point(this._x4, this._y4);\n this.point(this._x5, this._y5);\n break;\n }\n }\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._x3 = x, this._y3 = y; break;\n case 1: this._point = 2; this._context.moveTo(this._x4 = x, this._y4 = y); break;\n case 2: this._point = 3; this._x5 = x, this._y5 = y; break;\n default: point(this, x, y); break;\n }\n this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;\n this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;\n }\n};\n\nexport default (function custom(tension) {\n\n function cardinal(context) {\n return new CardinalClosed(context, tension);\n }\n\n cardinal.tension = function(tension) {\n return custom(+tension);\n };\n\n return cardinal;\n})(0);\n","import {point} from \"./cardinal\";\n\nexport function CardinalOpen(context, tension) {\n this._context = context;\n this._k = (1 - tension) / 6;\n}\n\nCardinalOpen.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 = this._x2 =\n this._y0 = this._y1 = this._y2 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n if (this._line || (this._line !== 0 && this._point === 3)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; break;\n case 1: this._point = 2; break;\n case 2: this._point = 3; this._line ? this._context.lineTo(this._x2, this._y2) : this._context.moveTo(this._x2, this._y2); break;\n case 3: this._point = 4; // proceed\n default: point(this, x, y); break;\n }\n this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;\n this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;\n }\n};\n\nexport default (function custom(tension) {\n\n function cardinal(context) {\n return new CardinalOpen(context, tension);\n }\n\n cardinal.tension = function(tension) {\n return custom(+tension);\n };\n\n return cardinal;\n})(0);\n","import {epsilon} from \"../math\";\nimport {Cardinal} from \"./cardinal\";\n\nexport function point(that, x, y) {\n var x1 = that._x1,\n y1 = that._y1,\n x2 = that._x2,\n y2 = that._y2;\n\n if (that._l01_a > epsilon) {\n var a = 2 * that._l01_2a + 3 * that._l01_a * that._l12_a + that._l12_2a,\n n = 3 * that._l01_a * (that._l01_a + that._l12_a);\n x1 = (x1 * a - that._x0 * that._l12_2a + that._x2 * that._l01_2a) / n;\n y1 = (y1 * a - that._y0 * that._l12_2a + that._y2 * that._l01_2a) / n;\n }\n\n if (that._l23_a > epsilon) {\n var b = 2 * that._l23_2a + 3 * that._l23_a * that._l12_a + that._l12_2a,\n m = 3 * that._l23_a * (that._l23_a + that._l12_a);\n x2 = (x2 * b + that._x1 * that._l23_2a - x * that._l12_2a) / m;\n y2 = (y2 * b + that._y1 * that._l23_2a - y * that._l12_2a) / m;\n }\n\n that._context.bezierCurveTo(x1, y1, x2, y2, that._x2, that._y2);\n}\n\nfunction CatmullRom(context, alpha) {\n this._context = context;\n this._alpha = alpha;\n}\n\nCatmullRom.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 = this._x2 =\n this._y0 = this._y1 = this._y2 = NaN;\n this._l01_a = this._l12_a = this._l23_a =\n this._l01_2a = this._l12_2a = this._l23_2a =\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 2: this._context.lineTo(this._x2, this._y2); break;\n case 3: this.point(this._x2, this._y2); break;\n }\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n\n if (this._point) {\n var x23 = this._x2 - x,\n y23 = this._y2 - y;\n this._l23_a = Math.sqrt(this._l23_2a = Math.pow(x23 * x23 + y23 * y23, this._alpha));\n }\n\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; break;\n case 2: this._point = 3; // proceed\n default: point(this, x, y); break;\n }\n\n this._l01_a = this._l12_a, this._l12_a = this._l23_a;\n this._l01_2a = this._l12_2a, this._l12_2a = this._l23_2a;\n this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;\n this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;\n }\n};\n\nexport default (function custom(alpha) {\n\n function catmullRom(context) {\n return alpha ? new CatmullRom(context, alpha) : new Cardinal(context, 0);\n }\n\n catmullRom.alpha = function(alpha) {\n return custom(+alpha);\n };\n\n return catmullRom;\n})(0.5);\n","import {CardinalClosed} from \"./cardinalClosed\";\nimport noop from \"../noop\";\nimport {point} from \"./catmullRom\";\n\nfunction CatmullRomClosed(context, alpha) {\n this._context = context;\n this._alpha = alpha;\n}\n\nCatmullRomClosed.prototype = {\n areaStart: noop,\n areaEnd: noop,\n lineStart: function() {\n this._x0 = this._x1 = this._x2 = this._x3 = this._x4 = this._x5 =\n this._y0 = this._y1 = this._y2 = this._y3 = this._y4 = this._y5 = NaN;\n this._l01_a = this._l12_a = this._l23_a =\n this._l01_2a = this._l12_2a = this._l23_2a =\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 1: {\n this._context.moveTo(this._x3, this._y3);\n this._context.closePath();\n break;\n }\n case 2: {\n this._context.lineTo(this._x3, this._y3);\n this._context.closePath();\n break;\n }\n case 3: {\n this.point(this._x3, this._y3);\n this.point(this._x4, this._y4);\n this.point(this._x5, this._y5);\n break;\n }\n }\n },\n point: function(x, y) {\n x = +x, y = +y;\n\n if (this._point) {\n var x23 = this._x2 - x,\n y23 = this._y2 - y;\n this._l23_a = Math.sqrt(this._l23_2a = Math.pow(x23 * x23 + y23 * y23, this._alpha));\n }\n\n switch (this._point) {\n case 0: this._point = 1; this._x3 = x, this._y3 = y; break;\n case 1: this._point = 2; this._context.moveTo(this._x4 = x, this._y4 = y); break;\n case 2: this._point = 3; this._x5 = x, this._y5 = y; break;\n default: point(this, x, y); break;\n }\n\n this._l01_a = this._l12_a, this._l12_a = this._l23_a;\n this._l01_2a = this._l12_2a, this._l12_2a = this._l23_2a;\n this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;\n this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;\n }\n};\n\nexport default (function custom(alpha) {\n\n function catmullRom(context) {\n return alpha ? new CatmullRomClosed(context, alpha) : new CardinalClosed(context, 0);\n }\n\n catmullRom.alpha = function(alpha) {\n return custom(+alpha);\n };\n\n return catmullRom;\n})(0.5);\n","import {CardinalOpen} from \"./cardinalOpen\";\nimport {point} from \"./catmullRom\";\n\nfunction CatmullRomOpen(context, alpha) {\n this._context = context;\n this._alpha = alpha;\n}\n\nCatmullRomOpen.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 = this._x2 =\n this._y0 = this._y1 = this._y2 = NaN;\n this._l01_a = this._l12_a = this._l23_a =\n this._l01_2a = this._l12_2a = this._l23_2a =\n this._point = 0;\n },\n lineEnd: function() {\n if (this._line || (this._line !== 0 && this._point === 3)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n\n if (this._point) {\n var x23 = this._x2 - x,\n y23 = this._y2 - y;\n this._l23_a = Math.sqrt(this._l23_2a = Math.pow(x23 * x23 + y23 * y23, this._alpha));\n }\n\n switch (this._point) {\n case 0: this._point = 1; break;\n case 1: this._point = 2; break;\n case 2: this._point = 3; this._line ? this._context.lineTo(this._x2, this._y2) : this._context.moveTo(this._x2, this._y2); break;\n case 3: this._point = 4; // proceed\n default: point(this, x, y); break;\n }\n\n this._l01_a = this._l12_a, this._l12_a = this._l23_a;\n this._l01_2a = this._l12_2a, this._l12_2a = this._l23_2a;\n this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;\n this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;\n }\n};\n\nexport default (function custom(alpha) {\n\n function catmullRom(context) {\n return alpha ? new CatmullRomOpen(context, alpha) : new CardinalOpen(context, 0);\n }\n\n catmullRom.alpha = function(alpha) {\n return custom(+alpha);\n };\n\n return catmullRom;\n})(0.5);\n","import noop from \"../noop\";\n\nfunction LinearClosed(context) {\n this._context = context;\n}\n\nLinearClosed.prototype = {\n areaStart: noop,\n areaEnd: noop,\n lineStart: function() {\n this._point = 0;\n },\n lineEnd: function() {\n if (this._point) this._context.closePath();\n },\n point: function(x, y) {\n x = +x, y = +y;\n if (this._point) this._context.lineTo(x, y);\n else this._point = 1, this._context.moveTo(x, y);\n }\n};\n\nexport default function(context) {\n return new LinearClosed(context);\n}\n","function sign(x) {\n return x < 0 ? -1 : 1;\n}\n\n// Calculate the slopes of the tangents (Hermite-type interpolation) based on\n// the following paper: Steffen, M. 1990. A Simple Method for Monotonic\n// Interpolation in One Dimension. Astronomy and Astrophysics, Vol. 239, NO.\n// NOV(II), P. 443, 1990.\nfunction slope3(that, x2, y2) {\n var h0 = that._x1 - that._x0,\n h1 = x2 - that._x1,\n s0 = (that._y1 - that._y0) / (h0 || h1 < 0 && -0),\n s1 = (y2 - that._y1) / (h1 || h0 < 0 && -0),\n p = (s0 * h1 + s1 * h0) / (h0 + h1);\n return (sign(s0) + sign(s1)) * Math.min(Math.abs(s0), Math.abs(s1), 0.5 * Math.abs(p)) || 0;\n}\n\n// Calculate a one-sided slope.\nfunction slope2(that, t) {\n var h = that._x1 - that._x0;\n return h ? (3 * (that._y1 - that._y0) / h - t) / 2 : t;\n}\n\n// According to https://en.wikipedia.org/wiki/Cubic_Hermite_spline#Representations\n// \"you can express cubic Hermite interpolation in terms of cubic Bézier curves\n// with respect to the four values p0, p0 + m0 / 3, p1 - m1 / 3, p1\".\nfunction point(that, t0, t1) {\n var x0 = that._x0,\n y0 = that._y0,\n x1 = that._x1,\n y1 = that._y1,\n dx = (x1 - x0) / 3;\n that._context.bezierCurveTo(x0 + dx, y0 + dx * t0, x1 - dx, y1 - dx * t1, x1, y1);\n}\n\nfunction MonotoneX(context) {\n this._context = context;\n}\n\nMonotoneX.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 =\n this._y0 = this._y1 =\n this._t0 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 2: this._context.lineTo(this._x1, this._y1); break;\n case 3: point(this, this._t0, slope2(this, this._t0)); break;\n }\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n var t1 = NaN;\n\n x = +x, y = +y;\n if (x === this._x1 && y === this._y1) return; // Ignore coincident points.\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; break;\n case 2: this._point = 3; point(this, slope2(this, t1 = slope3(this, x, y)), t1); break;\n default: point(this, this._t0, t1 = slope3(this, x, y)); break;\n }\n\n this._x0 = this._x1, this._x1 = x;\n this._y0 = this._y1, this._y1 = y;\n this._t0 = t1;\n }\n}\n\nfunction MonotoneY(context) {\n this._context = new ReflectContext(context);\n}\n\n(MonotoneY.prototype = Object.create(MonotoneX.prototype)).point = function(x, y) {\n MonotoneX.prototype.point.call(this, y, x);\n};\n\nfunction ReflectContext(context) {\n this._context = context;\n}\n\nReflectContext.prototype = {\n moveTo: function(x, y) { this._context.moveTo(y, x); },\n closePath: function() { this._context.closePath(); },\n lineTo: function(x, y) { this._context.lineTo(y, x); },\n bezierCurveTo: function(x1, y1, x2, y2, x, y) { this._context.bezierCurveTo(y1, x1, y2, x2, y, x); }\n};\n\nexport function monotoneX(context) {\n return new MonotoneX(context);\n}\n\nexport function monotoneY(context) {\n return new MonotoneY(context);\n}\n","function Natural(context) {\n this._context = context;\n}\n\nNatural.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x = [];\n this._y = [];\n },\n lineEnd: function() {\n var x = this._x,\n y = this._y,\n n = x.length;\n\n if (n) {\n this._line ? this._context.lineTo(x[0], y[0]) : this._context.moveTo(x[0], y[0]);\n if (n === 2) {\n this._context.lineTo(x[1], y[1]);\n } else {\n var px = controlPoints(x),\n py = controlPoints(y);\n for (var i0 = 0, i1 = 1; i1 < n; ++i0, ++i1) {\n this._context.bezierCurveTo(px[0][i0], py[0][i0], px[1][i0], py[1][i0], x[i1], y[i1]);\n }\n }\n }\n\n if (this._line || (this._line !== 0 && n === 1)) this._context.closePath();\n this._line = 1 - this._line;\n this._x = this._y = null;\n },\n point: function(x, y) {\n this._x.push(+x);\n this._y.push(+y);\n }\n};\n\n// See https://www.particleincell.com/2012/bezier-splines/ for derivation.\nfunction controlPoints(x) {\n var i,\n n = x.length - 1,\n m,\n a = new Array(n),\n b = new Array(n),\n r = new Array(n);\n a[0] = 0, b[0] = 2, r[0] = x[0] + 2 * x[1];\n for (i = 1; i < n - 1; ++i) a[i] = 1, b[i] = 4, r[i] = 4 * x[i] + 2 * x[i + 1];\n a[n - 1] = 2, b[n - 1] = 7, r[n - 1] = 8 * x[n - 1] + x[n];\n for (i = 1; i < n; ++i) m = a[i] / b[i - 1], b[i] -= m, r[i] -= m * r[i - 1];\n a[n - 1] = r[n - 1] / b[n - 1];\n for (i = n - 2; i >= 0; --i) a[i] = (r[i] - a[i + 1]) / b[i];\n b[n - 1] = (x[n] + a[n - 1]) / 2;\n for (i = 0; i < n - 1; ++i) b[i] = 2 * x[i + 1] - a[i + 1];\n return [a, b];\n}\n\nexport default function(context) {\n return new Natural(context);\n}\n","function Step(context, t) {\n this._context = context;\n this._t = t;\n}\n\nStep.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x = this._y = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n if (0 < this._t && this._t < 1 && this._point === 2) this._context.lineTo(this._x, this._y);\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n if (this._line >= 0) this._t = 1 - this._t, this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; // proceed\n default: {\n if (this._t <= 0) {\n this._context.lineTo(this._x, y);\n this._context.lineTo(x, y);\n } else {\n var x1 = this._x * (1 - this._t) + x * this._t;\n this._context.lineTo(x1, this._y);\n this._context.lineTo(x1, y);\n }\n break;\n }\n }\n this._x = x, this._y = y;\n }\n};\n\nexport default function(context) {\n return new Step(context, 0.5);\n}\n\nexport function stepBefore(context) {\n return new Step(context, 0);\n}\n\nexport function stepAfter(context) {\n return new Step(context, 1);\n}\n","export default function(series, order) {\n if (!((n = series.length) > 1)) return;\n for (var i = 1, j, s0, s1 = series[order[0]], n, m = s1.length; i < n; ++i) {\n s0 = s1, s1 = series[order[i]];\n for (j = 0; j < m; ++j) {\n s1[j][1] += s1[j][0] = isNaN(s0[j][1]) ? s0[j][0] : s0[j][1];\n }\n }\n}\n","export default function(series) {\n var n = series.length, o = new Array(n);\n while (--n >= 0) o[n] = n;\n return o;\n}\n","import {slice} from \"./array\";\nimport constant from \"./constant\";\nimport offsetNone from \"./offset/none\";\nimport orderNone from \"./order/none\";\n\nfunction stackValue(d, key) {\n return d[key];\n}\n\nexport default function() {\n var keys = constant([]),\n order = orderNone,\n offset = offsetNone,\n value = stackValue;\n\n function stack(data) {\n var kz = keys.apply(this, arguments),\n i,\n m = data.length,\n n = kz.length,\n sz = new Array(n),\n oz;\n\n for (i = 0; i < n; ++i) {\n for (var ki = kz[i], si = sz[i] = new Array(m), j = 0, sij; j < m; ++j) {\n si[j] = sij = [0, +value(data[j], ki, j, data)];\n sij.data = data[j];\n }\n si.key = ki;\n }\n\n for (i = 0, oz = order(sz); i < n; ++i) {\n sz[oz[i]].index = i;\n }\n\n offset(sz, oz);\n return sz;\n }\n\n stack.keys = function(_) {\n return arguments.length ? (keys = typeof _ === \"function\" ? _ : constant(slice.call(_)), stack) : keys;\n };\n\n stack.value = function(_) {\n return arguments.length ? (value = typeof _ === \"function\" ? _ : constant(+_), stack) : value;\n };\n\n stack.order = function(_) {\n return arguments.length ? (order = _ == null ? orderNone : typeof _ === \"function\" ? _ : constant(slice.call(_)), stack) : order;\n };\n\n stack.offset = function(_) {\n return arguments.length ? (offset = _ == null ? offsetNone : _, stack) : offset;\n };\n\n return stack;\n}\n","import none from \"./none\";\n\nexport default function(series, order) {\n if (!((n = series.length) > 0)) return;\n for (var i, n, j = 0, m = series[0].length, y; j < m; ++j) {\n for (y = i = 0; i < n; ++i) y += series[i][j][1] || 0;\n if (y) for (i = 0; i < n; ++i) series[i][j][1] /= y;\n }\n none(series, order);\n}\n","export default function(series, order) {\n if (!((n = series.length) > 1)) return;\n for (var i, j = 0, d, dy, yp, yn, n, m = series[order[0]].length; j < m; ++j) {\n for (yp = yn = 0, i = 0; i < n; ++i) {\n if ((dy = (d = series[order[i]][j])[1] - d[0]) >= 0) {\n d[0] = yp, d[1] = yp += dy;\n } else if (dy < 0) {\n d[1] = yn, d[0] = yn += dy;\n } else {\n d[0] = yp;\n }\n }\n }\n}\n","import none from \"./none\";\n\nexport default function(series, order) {\n if (!((n = series.length) > 0)) return;\n for (var j = 0, s0 = series[order[0]], n, m = s0.length; j < m; ++j) {\n for (var i = 0, y = 0; i < n; ++i) y += series[i][j][1] || 0;\n s0[j][1] += s0[j][0] = -y / 2;\n }\n none(series, order);\n}\n","import none from \"./none\";\n\nexport default function(series, order) {\n if (!((n = series.length) > 0) || !((m = (s0 = series[order[0]]).length) > 0)) return;\n for (var y = 0, j = 1, s0, m, n; j < m; ++j) {\n for (var i = 0, s1 = 0, s2 = 0; i < n; ++i) {\n var si = series[order[i]],\n sij0 = si[j][1] || 0,\n sij1 = si[j - 1][1] || 0,\n s3 = (sij0 - sij1) / 2;\n for (var k = 0; k < i; ++k) {\n var sk = series[order[k]],\n skj0 = sk[j][1] || 0,\n skj1 = sk[j - 1][1] || 0;\n s3 += skj0 - skj1;\n }\n s1 += sij0, s2 += s3 * sij0;\n }\n s0[j - 1][1] += s0[j - 1][0] = y;\n if (s1) y -= s2 / s1;\n }\n s0[j - 1][1] += s0[j - 1][0] = y;\n none(series, order);\n}\n","import none from \"./none\";\n\nexport default function(series) {\n var sums = series.map(sum);\n return none(series).sort(function(a, b) { return sums[a] - sums[b]; });\n}\n\nexport function sum(series) {\n var s = 0, i = -1, n = series.length, v;\n while (++i < n) if (v = +series[i][1]) s += v;\n return s;\n}\n","import ascending from \"./ascending\";\n\nexport default function(series) {\n return ascending(series).reverse();\n}\n","import none from \"./none\";\nimport {sum} from \"./ascending\";\n\nexport default function(series) {\n var n = series.length,\n i,\n j,\n sums = series.map(sum),\n order = none(series).sort(function(a, b) { return sums[b] - sums[a]; }),\n top = 0,\n bottom = 0,\n tops = [],\n bottoms = [];\n\n for (i = 0; i < n; ++i) {\n j = order[i];\n if (top < bottom) {\n top += sums[j];\n tops.push(j);\n } else {\n bottom += sums[j];\n bottoms.push(j);\n }\n }\n\n return bottoms.reverse().concat(tops);\n}\n","import none from \"./none\";\n\nexport default function(series) {\n return none(series).reverse();\n}\n","export {default as arc} from \"./src/arc\";\nexport {default as area} from \"./src/area\";\nexport {default as line} from \"./src/line\";\nexport {default as pie} from \"./src/pie\";\nexport {default as areaRadial, default as radialArea} from \"./src/areaRadial\"; // Note: radialArea is deprecated!\nexport {default as lineRadial, default as radialLine} from \"./src/lineRadial\"; // Note: radialLine is deprecated!\nexport {default as pointRadial} from \"./src/pointRadial\";\nexport {linkHorizontal, linkVertical, linkRadial} from \"./src/link/index\";\n\nexport {default as symbol, symbols} from \"./src/symbol\";\nexport {default as symbolCircle} from \"./src/symbol/circle\";\nexport {default as symbolCross} from \"./src/symbol/cross\";\nexport {default as symbolDiamond} from \"./src/symbol/diamond\";\nexport {default as symbolSquare} from \"./src/symbol/square\";\nexport {default as symbolStar} from \"./src/symbol/star\";\nexport {default as symbolTriangle} from \"./src/symbol/triangle\";\nexport {default as symbolWye} from \"./src/symbol/wye\";\n\nexport {default as curveBasisClosed} from \"./src/curve/basisClosed\";\nexport {default as curveBasisOpen} from \"./src/curve/basisOpen\";\nexport {default as curveBasis} from \"./src/curve/basis\";\nexport {default as curveBundle} from \"./src/curve/bundle\";\nexport {default as curveCardinalClosed} from \"./src/curve/cardinalClosed\";\nexport {default as curveCardinalOpen} from \"./src/curve/cardinalOpen\";\nexport {default as curveCardinal} from \"./src/curve/cardinal\";\nexport {default as curveCatmullRomClosed} from \"./src/curve/catmullRomClosed\";\nexport {default as curveCatmullRomOpen} from \"./src/curve/catmullRomOpen\";\nexport {default as curveCatmullRom} from \"./src/curve/catmullRom\";\nexport {default as curveLinearClosed} from \"./src/curve/linearClosed\";\nexport {default as curveLinear} from \"./src/curve/linear\";\nexport {monotoneX as curveMonotoneX, monotoneY as curveMonotoneY} from \"./src/curve/monotone\";\nexport {default as curveNatural} from \"./src/curve/natural\";\nexport {default as curveStep, stepAfter as curveStepAfter, stepBefore as curveStepBefore} from \"./src/curve/step\";\n\nexport {default as stack} from \"./src/stack\";\nexport {default as stackOffsetExpand} from \"./src/offset/expand\";\nexport {default as stackOffsetDiverging} from \"./src/offset/diverging\";\nexport {default as stackOffsetNone} from \"./src/offset/none\";\nexport {default as stackOffsetSilhouette} from \"./src/offset/silhouette\";\nexport {default as stackOffsetWiggle} from \"./src/offset/wiggle\";\nexport {default as stackOrderAscending} from \"./src/order/ascending\";\nexport {default as stackOrderDescending} from \"./src/order/descending\";\nexport {default as stackOrderInsideOut} from \"./src/order/insideOut\";\nexport {default as stackOrderNone} from \"./src/order/none\";\nexport {default as stackOrderReverse} from \"./src/order/reverse\";\n","export default function(x) {\n return function() {\n return x;\n };\n}\n","export function x(d) {\n return d[0];\n}\n\nexport function y(d) {\n return d[1];\n}\n","function RedBlackTree() {\n this._ = null; // root node\n}\n\nexport function RedBlackNode(node) {\n node.U = // parent node\n node.C = // color - true for red, false for black\n node.L = // left node\n node.R = // right node\n node.P = // previous node\n node.N = null; // next node\n}\n\nRedBlackTree.prototype = {\n constructor: RedBlackTree,\n\n insert: function(after, node) {\n var parent, grandpa, uncle;\n\n if (after) {\n node.P = after;\n node.N = after.N;\n if (after.N) after.N.P = node;\n after.N = node;\n if (after.R) {\n after = after.R;\n while (after.L) after = after.L;\n after.L = node;\n } else {\n after.R = node;\n }\n parent = after;\n } else if (this._) {\n after = RedBlackFirst(this._);\n node.P = null;\n node.N = after;\n after.P = after.L = node;\n parent = after;\n } else {\n node.P = node.N = null;\n this._ = node;\n parent = null;\n }\n node.L = node.R = null;\n node.U = parent;\n node.C = true;\n\n after = node;\n while (parent && parent.C) {\n grandpa = parent.U;\n if (parent === grandpa.L) {\n uncle = grandpa.R;\n if (uncle && uncle.C) {\n parent.C = uncle.C = false;\n grandpa.C = true;\n after = grandpa;\n } else {\n if (after === parent.R) {\n RedBlackRotateLeft(this, parent);\n after = parent;\n parent = after.U;\n }\n parent.C = false;\n grandpa.C = true;\n RedBlackRotateRight(this, grandpa);\n }\n } else {\n uncle = grandpa.L;\n if (uncle && uncle.C) {\n parent.C = uncle.C = false;\n grandpa.C = true;\n after = grandpa;\n } else {\n if (after === parent.L) {\n RedBlackRotateRight(this, parent);\n after = parent;\n parent = after.U;\n }\n parent.C = false;\n grandpa.C = true;\n RedBlackRotateLeft(this, grandpa);\n }\n }\n parent = after.U;\n }\n this._.C = false;\n },\n\n remove: function(node) {\n if (node.N) node.N.P = node.P;\n if (node.P) node.P.N = node.N;\n node.N = node.P = null;\n\n var parent = node.U,\n sibling,\n left = node.L,\n right = node.R,\n next,\n red;\n\n if (!left) next = right;\n else if (!right) next = left;\n else next = RedBlackFirst(right);\n\n if (parent) {\n if (parent.L === node) parent.L = next;\n else parent.R = next;\n } else {\n this._ = next;\n }\n\n if (left && right) {\n red = next.C;\n next.C = node.C;\n next.L = left;\n left.U = next;\n if (next !== right) {\n parent = next.U;\n next.U = node.U;\n node = next.R;\n parent.L = node;\n next.R = right;\n right.U = next;\n } else {\n next.U = parent;\n parent = next;\n node = next.R;\n }\n } else {\n red = node.C;\n node = next;\n }\n\n if (node) node.U = parent;\n if (red) return;\n if (node && node.C) { node.C = false; return; }\n\n do {\n if (node === this._) break;\n if (node === parent.L) {\n sibling = parent.R;\n if (sibling.C) {\n sibling.C = false;\n parent.C = true;\n RedBlackRotateLeft(this, parent);\n sibling = parent.R;\n }\n if ((sibling.L && sibling.L.C)\n || (sibling.R && sibling.R.C)) {\n if (!sibling.R || !sibling.R.C) {\n sibling.L.C = false;\n sibling.C = true;\n RedBlackRotateRight(this, sibling);\n sibling = parent.R;\n }\n sibling.C = parent.C;\n parent.C = sibling.R.C = false;\n RedBlackRotateLeft(this, parent);\n node = this._;\n break;\n }\n } else {\n sibling = parent.L;\n if (sibling.C) {\n sibling.C = false;\n parent.C = true;\n RedBlackRotateRight(this, parent);\n sibling = parent.L;\n }\n if ((sibling.L && sibling.L.C)\n || (sibling.R && sibling.R.C)) {\n if (!sibling.L || !sibling.L.C) {\n sibling.R.C = false;\n sibling.C = true;\n RedBlackRotateLeft(this, sibling);\n sibling = parent.L;\n }\n sibling.C = parent.C;\n parent.C = sibling.L.C = false;\n RedBlackRotateRight(this, parent);\n node = this._;\n break;\n }\n }\n sibling.C = true;\n node = parent;\n parent = parent.U;\n } while (!node.C);\n\n if (node) node.C = false;\n }\n};\n\nfunction RedBlackRotateLeft(tree, node) {\n var p = node,\n q = node.R,\n parent = p.U;\n\n if (parent) {\n if (parent.L === p) parent.L = q;\n else parent.R = q;\n } else {\n tree._ = q;\n }\n\n q.U = parent;\n p.U = q;\n p.R = q.L;\n if (p.R) p.R.U = p;\n q.L = p;\n}\n\nfunction RedBlackRotateRight(tree, node) {\n var p = node,\n q = node.L,\n parent = p.U;\n\n if (parent) {\n if (parent.L === p) parent.L = q;\n else parent.R = q;\n } else {\n tree._ = q;\n }\n\n q.U = parent;\n p.U = q;\n p.L = q.R;\n if (p.L) p.L.U = p;\n q.R = p;\n}\n\nfunction RedBlackFirst(node) {\n while (node.L) node = node.L;\n return node;\n}\n\nexport default RedBlackTree;\n","import {cells, edges, epsilon} from \"./Diagram\";\n\nexport function createEdge(left, right, v0, v1) {\n var edge = [null, null],\n index = edges.push(edge) - 1;\n edge.left = left;\n edge.right = right;\n if (v0) setEdgeEnd(edge, left, right, v0);\n if (v1) setEdgeEnd(edge, right, left, v1);\n cells[left.index].halfedges.push(index);\n cells[right.index].halfedges.push(index);\n return edge;\n}\n\nexport function createBorderEdge(left, v0, v1) {\n var edge = [v0, v1];\n edge.left = left;\n return edge;\n}\n\nexport function setEdgeEnd(edge, left, right, vertex) {\n if (!edge[0] && !edge[1]) {\n edge[0] = vertex;\n edge.left = left;\n edge.right = right;\n } else if (edge.left === right) {\n edge[1] = vertex;\n } else {\n edge[0] = vertex;\n }\n}\n\n// Liang–Barsky line clipping.\nfunction clipEdge(edge, x0, y0, x1, y1) {\n var a = edge[0],\n b = edge[1],\n ax = a[0],\n ay = a[1],\n bx = b[0],\n by = b[1],\n t0 = 0,\n t1 = 1,\n dx = bx - ax,\n dy = by - ay,\n r;\n\n r = x0 - ax;\n if (!dx && r > 0) return;\n r /= dx;\n if (dx < 0) {\n if (r < t0) return;\n if (r < t1) t1 = r;\n } else if (dx > 0) {\n if (r > t1) return;\n if (r > t0) t0 = r;\n }\n\n r = x1 - ax;\n if (!dx && r < 0) return;\n r /= dx;\n if (dx < 0) {\n if (r > t1) return;\n if (r > t0) t0 = r;\n } else if (dx > 0) {\n if (r < t0) return;\n if (r < t1) t1 = r;\n }\n\n r = y0 - ay;\n if (!dy && r > 0) return;\n r /= dy;\n if (dy < 0) {\n if (r < t0) return;\n if (r < t1) t1 = r;\n } else if (dy > 0) {\n if (r > t1) return;\n if (r > t0) t0 = r;\n }\n\n r = y1 - ay;\n if (!dy && r < 0) return;\n r /= dy;\n if (dy < 0) {\n if (r > t1) return;\n if (r > t0) t0 = r;\n } else if (dy > 0) {\n if (r < t0) return;\n if (r < t1) t1 = r;\n }\n\n if (!(t0 > 0) && !(t1 < 1)) return true; // TODO Better check?\n\n if (t0 > 0) edge[0] = [ax + t0 * dx, ay + t0 * dy];\n if (t1 < 1) edge[1] = [ax + t1 * dx, ay + t1 * dy];\n return true;\n}\n\nfunction connectEdge(edge, x0, y0, x1, y1) {\n var v1 = edge[1];\n if (v1) return true;\n\n var v0 = edge[0],\n left = edge.left,\n right = edge.right,\n lx = left[0],\n ly = left[1],\n rx = right[0],\n ry = right[1],\n fx = (lx + rx) / 2,\n fy = (ly + ry) / 2,\n fm,\n fb;\n\n if (ry === ly) {\n if (fx < x0 || fx >= x1) return;\n if (lx > rx) {\n if (!v0) v0 = [fx, y0];\n else if (v0[1] >= y1) return;\n v1 = [fx, y1];\n } else {\n if (!v0) v0 = [fx, y1];\n else if (v0[1] < y0) return;\n v1 = [fx, y0];\n }\n } else {\n fm = (lx - rx) / (ry - ly);\n fb = fy - fm * fx;\n if (fm < -1 || fm > 1) {\n if (lx > rx) {\n if (!v0) v0 = [(y0 - fb) / fm, y0];\n else if (v0[1] >= y1) return;\n v1 = [(y1 - fb) / fm, y1];\n } else {\n if (!v0) v0 = [(y1 - fb) / fm, y1];\n else if (v0[1] < y0) return;\n v1 = [(y0 - fb) / fm, y0];\n }\n } else {\n if (ly < ry) {\n if (!v0) v0 = [x0, fm * x0 + fb];\n else if (v0[0] >= x1) return;\n v1 = [x1, fm * x1 + fb];\n } else {\n if (!v0) v0 = [x1, fm * x1 + fb];\n else if (v0[0] < x0) return;\n v1 = [x0, fm * x0 + fb];\n }\n }\n }\n\n edge[0] = v0;\n edge[1] = v1;\n return true;\n}\n\nexport function clipEdges(x0, y0, x1, y1) {\n var i = edges.length,\n edge;\n\n while (i--) {\n if (!connectEdge(edge = edges[i], x0, y0, x1, y1)\n || !clipEdge(edge, x0, y0, x1, y1)\n || !(Math.abs(edge[0][0] - edge[1][0]) > epsilon\n || Math.abs(edge[0][1] - edge[1][1]) > epsilon)) {\n delete edges[i];\n }\n }\n}\n","import {createBorderEdge} from \"./Edge\";\nimport {cells, edges, epsilon} from \"./Diagram\";\n\nexport function createCell(site) {\n return cells[site.index] = {\n site: site,\n halfedges: []\n };\n}\n\nfunction cellHalfedgeAngle(cell, edge) {\n var site = cell.site,\n va = edge.left,\n vb = edge.right;\n if (site === vb) vb = va, va = site;\n if (vb) return Math.atan2(vb[1] - va[1], vb[0] - va[0]);\n if (site === va) va = edge[1], vb = edge[0];\n else va = edge[0], vb = edge[1];\n return Math.atan2(va[0] - vb[0], vb[1] - va[1]);\n}\n\nexport function cellHalfedgeStart(cell, edge) {\n return edge[+(edge.left !== cell.site)];\n}\n\nexport function cellHalfedgeEnd(cell, edge) {\n return edge[+(edge.left === cell.site)];\n}\n\nexport function sortCellHalfedges() {\n for (var i = 0, n = cells.length, cell, halfedges, j, m; i < n; ++i) {\n if ((cell = cells[i]) && (m = (halfedges = cell.halfedges).length)) {\n var index = new Array(m),\n array = new Array(m);\n for (j = 0; j < m; ++j) index[j] = j, array[j] = cellHalfedgeAngle(cell, edges[halfedges[j]]);\n index.sort(function(i, j) { return array[j] - array[i]; });\n for (j = 0; j < m; ++j) array[j] = halfedges[index[j]];\n for (j = 0; j < m; ++j) halfedges[j] = array[j];\n }\n }\n}\n\nexport function clipCells(x0, y0, x1, y1) {\n var nCells = cells.length,\n iCell,\n cell,\n site,\n iHalfedge,\n halfedges,\n nHalfedges,\n start,\n startX,\n startY,\n end,\n endX,\n endY,\n cover = true;\n\n for (iCell = 0; iCell < nCells; ++iCell) {\n if (cell = cells[iCell]) {\n site = cell.site;\n halfedges = cell.halfedges;\n iHalfedge = halfedges.length;\n\n // Remove any dangling clipped edges.\n while (iHalfedge--) {\n if (!edges[halfedges[iHalfedge]]) {\n halfedges.splice(iHalfedge, 1);\n }\n }\n\n // Insert any border edges as necessary.\n iHalfedge = 0, nHalfedges = halfedges.length;\n while (iHalfedge < nHalfedges) {\n end = cellHalfedgeEnd(cell, edges[halfedges[iHalfedge]]), endX = end[0], endY = end[1];\n start = cellHalfedgeStart(cell, edges[halfedges[++iHalfedge % nHalfedges]]), startX = start[0], startY = start[1];\n if (Math.abs(endX - startX) > epsilon || Math.abs(endY - startY) > epsilon) {\n halfedges.splice(iHalfedge, 0, edges.push(createBorderEdge(site, end,\n Math.abs(endX - x0) < epsilon && y1 - endY > epsilon ? [x0, Math.abs(startX - x0) < epsilon ? startY : y1]\n : Math.abs(endY - y1) < epsilon && x1 - endX > epsilon ? [Math.abs(startY - y1) < epsilon ? startX : x1, y1]\n : Math.abs(endX - x1) < epsilon && endY - y0 > epsilon ? [x1, Math.abs(startX - x1) < epsilon ? startY : y0]\n : Math.abs(endY - y0) < epsilon && endX - x0 > epsilon ? [Math.abs(startY - y0) < epsilon ? startX : x0, y0]\n : null)) - 1);\n ++nHalfedges;\n }\n }\n\n if (nHalfedges) cover = false;\n }\n }\n\n // If there weren’t any edges, have the closest site cover the extent.\n // It doesn’t matter which corner of the extent we measure!\n if (cover) {\n var dx, dy, d2, dc = Infinity;\n\n for (iCell = 0, cover = null; iCell < nCells; ++iCell) {\n if (cell = cells[iCell]) {\n site = cell.site;\n dx = site[0] - x0;\n dy = site[1] - y0;\n d2 = dx * dx + dy * dy;\n if (d2 < dc) dc = d2, cover = cell;\n }\n }\n\n if (cover) {\n var v00 = [x0, y0], v01 = [x0, y1], v11 = [x1, y1], v10 = [x1, y0];\n cover.halfedges.push(\n edges.push(createBorderEdge(site = cover.site, v00, v01)) - 1,\n edges.push(createBorderEdge(site, v01, v11)) - 1,\n edges.push(createBorderEdge(site, v11, v10)) - 1,\n edges.push(createBorderEdge(site, v10, v00)) - 1\n );\n }\n }\n\n // Lastly delete any cells with no edges; these were entirely clipped.\n for (iCell = 0; iCell < nCells; ++iCell) {\n if (cell = cells[iCell]) {\n if (!cell.halfedges.length) {\n delete cells[iCell];\n }\n }\n }\n}\n","import {RedBlackNode} from \"./RedBlackTree\";\nimport {circles, epsilon2} from \"./Diagram\";\n\nvar circlePool = [];\n\nexport var firstCircle;\n\nfunction Circle() {\n RedBlackNode(this);\n this.x =\n this.y =\n this.arc =\n this.site =\n this.cy = null;\n}\n\nexport function attachCircle(arc) {\n var lArc = arc.P,\n rArc = arc.N;\n\n if (!lArc || !rArc) return;\n\n var lSite = lArc.site,\n cSite = arc.site,\n rSite = rArc.site;\n\n if (lSite === rSite) return;\n\n var bx = cSite[0],\n by = cSite[1],\n ax = lSite[0] - bx,\n ay = lSite[1] - by,\n cx = rSite[0] - bx,\n cy = rSite[1] - by;\n\n var d = 2 * (ax * cy - ay * cx);\n if (d >= -epsilon2) return;\n\n var ha = ax * ax + ay * ay,\n hc = cx * cx + cy * cy,\n x = (cy * ha - ay * hc) / d,\n y = (ax * hc - cx * ha) / d;\n\n var circle = circlePool.pop() || new Circle;\n circle.arc = arc;\n circle.site = cSite;\n circle.x = x + bx;\n circle.y = (circle.cy = y + by) + Math.sqrt(x * x + y * y); // y bottom\n\n arc.circle = circle;\n\n var before = null,\n node = circles._;\n\n while (node) {\n if (circle.y < node.y || (circle.y === node.y && circle.x <= node.x)) {\n if (node.L) node = node.L;\n else { before = node.P; break; }\n } else {\n if (node.R) node = node.R;\n else { before = node; break; }\n }\n }\n\n circles.insert(before, circle);\n if (!before) firstCircle = circle;\n}\n\nexport function detachCircle(arc) {\n var circle = arc.circle;\n if (circle) {\n if (!circle.P) firstCircle = circle.N;\n circles.remove(circle);\n circlePool.push(circle);\n RedBlackNode(circle);\n arc.circle = null;\n }\n}\n","import {RedBlackNode} from \"./RedBlackTree\";\nimport {createCell} from \"./Cell\";\nimport {attachCircle, detachCircle} from \"./Circle\";\nimport {createEdge, setEdgeEnd} from \"./Edge\";\nimport {beaches, epsilon} from \"./Diagram\";\n\nvar beachPool = [];\n\nfunction Beach() {\n RedBlackNode(this);\n this.edge =\n this.site =\n this.circle = null;\n}\n\nfunction createBeach(site) {\n var beach = beachPool.pop() || new Beach;\n beach.site = site;\n return beach;\n}\n\nfunction detachBeach(beach) {\n detachCircle(beach);\n beaches.remove(beach);\n beachPool.push(beach);\n RedBlackNode(beach);\n}\n\nexport function removeBeach(beach) {\n var circle = beach.circle,\n x = circle.x,\n y = circle.cy,\n vertex = [x, y],\n previous = beach.P,\n next = beach.N,\n disappearing = [beach];\n\n detachBeach(beach);\n\n var lArc = previous;\n while (lArc.circle\n && Math.abs(x - lArc.circle.x) < epsilon\n && Math.abs(y - lArc.circle.cy) < epsilon) {\n previous = lArc.P;\n disappearing.unshift(lArc);\n detachBeach(lArc);\n lArc = previous;\n }\n\n disappearing.unshift(lArc);\n detachCircle(lArc);\n\n var rArc = next;\n while (rArc.circle\n && Math.abs(x - rArc.circle.x) < epsilon\n && Math.abs(y - rArc.circle.cy) < epsilon) {\n next = rArc.N;\n disappearing.push(rArc);\n detachBeach(rArc);\n rArc = next;\n }\n\n disappearing.push(rArc);\n detachCircle(rArc);\n\n var nArcs = disappearing.length,\n iArc;\n for (iArc = 1; iArc < nArcs; ++iArc) {\n rArc = disappearing[iArc];\n lArc = disappearing[iArc - 1];\n setEdgeEnd(rArc.edge, lArc.site, rArc.site, vertex);\n }\n\n lArc = disappearing[0];\n rArc = disappearing[nArcs - 1];\n rArc.edge = createEdge(lArc.site, rArc.site, null, vertex);\n\n attachCircle(lArc);\n attachCircle(rArc);\n}\n\nexport function addBeach(site) {\n var x = site[0],\n directrix = site[1],\n lArc,\n rArc,\n dxl,\n dxr,\n node = beaches._;\n\n while (node) {\n dxl = leftBreakPoint(node, directrix) - x;\n if (dxl > epsilon) node = node.L; else {\n dxr = x - rightBreakPoint(node, directrix);\n if (dxr > epsilon) {\n if (!node.R) {\n lArc = node;\n break;\n }\n node = node.R;\n } else {\n if (dxl > -epsilon) {\n lArc = node.P;\n rArc = node;\n } else if (dxr > -epsilon) {\n lArc = node;\n rArc = node.N;\n } else {\n lArc = rArc = node;\n }\n break;\n }\n }\n }\n\n createCell(site);\n var newArc = createBeach(site);\n beaches.insert(lArc, newArc);\n\n if (!lArc && !rArc) return;\n\n if (lArc === rArc) {\n detachCircle(lArc);\n rArc = createBeach(lArc.site);\n beaches.insert(newArc, rArc);\n newArc.edge = rArc.edge = createEdge(lArc.site, newArc.site);\n attachCircle(lArc);\n attachCircle(rArc);\n return;\n }\n\n if (!rArc) { // && lArc\n newArc.edge = createEdge(lArc.site, newArc.site);\n return;\n }\n\n // else lArc !== rArc\n detachCircle(lArc);\n detachCircle(rArc);\n\n var lSite = lArc.site,\n ax = lSite[0],\n ay = lSite[1],\n bx = site[0] - ax,\n by = site[1] - ay,\n rSite = rArc.site,\n cx = rSite[0] - ax,\n cy = rSite[1] - ay,\n d = 2 * (bx * cy - by * cx),\n hb = bx * bx + by * by,\n hc = cx * cx + cy * cy,\n vertex = [(cy * hb - by * hc) / d + ax, (bx * hc - cx * hb) / d + ay];\n\n setEdgeEnd(rArc.edge, lSite, rSite, vertex);\n newArc.edge = createEdge(lSite, site, null, vertex);\n rArc.edge = createEdge(site, rSite, null, vertex);\n attachCircle(lArc);\n attachCircle(rArc);\n}\n\nfunction leftBreakPoint(arc, directrix) {\n var site = arc.site,\n rfocx = site[0],\n rfocy = site[1],\n pby2 = rfocy - directrix;\n\n if (!pby2) return rfocx;\n\n var lArc = arc.P;\n if (!lArc) return -Infinity;\n\n site = lArc.site;\n var lfocx = site[0],\n lfocy = site[1],\n plby2 = lfocy - directrix;\n\n if (!plby2) return lfocx;\n\n var hl = lfocx - rfocx,\n aby2 = 1 / pby2 - 1 / plby2,\n b = hl / plby2;\n\n if (aby2) return (-b + Math.sqrt(b * b - 2 * aby2 * (hl * hl / (-2 * plby2) - lfocy + plby2 / 2 + rfocy - pby2 / 2))) / aby2 + rfocx;\n\n return (rfocx + lfocx) / 2;\n}\n\nfunction rightBreakPoint(arc, directrix) {\n var rArc = arc.N;\n if (rArc) return leftBreakPoint(rArc, directrix);\n var site = arc.site;\n return site[1] === directrix ? site[0] : Infinity;\n}\n","import {addBeach, removeBeach} from \"./Beach\";\nimport {sortCellHalfedges, cellHalfedgeStart, clipCells} from \"./Cell\";\nimport {firstCircle} from \"./Circle\";\nimport {clipEdges} from \"./Edge\";\nimport RedBlackTree from \"./RedBlackTree\";\n\nexport var epsilon = 1e-6;\nexport var epsilon2 = 1e-12;\nexport var beaches;\nexport var cells;\nexport var circles;\nexport var edges;\n\nfunction triangleArea(a, b, c) {\n return (a[0] - c[0]) * (b[1] - a[1]) - (a[0] - b[0]) * (c[1] - a[1]);\n}\n\nfunction lexicographic(a, b) {\n return b[1] - a[1]\n || b[0] - a[0];\n}\n\nexport default function Diagram(sites, extent) {\n var site = sites.sort(lexicographic).pop(),\n x,\n y,\n circle;\n\n edges = [];\n cells = new Array(sites.length);\n beaches = new RedBlackTree;\n circles = new RedBlackTree;\n\n while (true) {\n circle = firstCircle;\n if (site && (!circle || site[1] < circle.y || (site[1] === circle.y && site[0] < circle.x))) {\n if (site[0] !== x || site[1] !== y) {\n addBeach(site);\n x = site[0], y = site[1];\n }\n site = sites.pop();\n } else if (circle) {\n removeBeach(circle.arc);\n } else {\n break;\n }\n }\n\n sortCellHalfedges();\n\n if (extent) {\n var x0 = +extent[0][0],\n y0 = +extent[0][1],\n x1 = +extent[1][0],\n y1 = +extent[1][1];\n clipEdges(x0, y0, x1, y1);\n clipCells(x0, y0, x1, y1);\n }\n\n this.edges = edges;\n this.cells = cells;\n\n beaches =\n circles =\n edges =\n cells = null;\n}\n\nDiagram.prototype = {\n constructor: Diagram,\n\n polygons: function() {\n var edges = this.edges;\n\n return this.cells.map(function(cell) {\n var polygon = cell.halfedges.map(function(i) { return cellHalfedgeStart(cell, edges[i]); });\n polygon.data = cell.site.data;\n return polygon;\n });\n },\n\n triangles: function() {\n var triangles = [],\n edges = this.edges;\n\n this.cells.forEach(function(cell, i) {\n if (!(m = (halfedges = cell.halfedges).length)) return;\n var site = cell.site,\n halfedges,\n j = -1,\n m,\n s0,\n e1 = edges[halfedges[m - 1]],\n s1 = e1.left === site ? e1.right : e1.left;\n\n while (++j < m) {\n s0 = s1;\n e1 = edges[halfedges[j]];\n s1 = e1.left === site ? e1.right : e1.left;\n if (s0 && s1 && i < s0.index && i < s1.index && triangleArea(site, s0, s1) < 0) {\n triangles.push([site.data, s0.data, s1.data]);\n }\n }\n });\n\n return triangles;\n },\n\n links: function() {\n return this.edges.filter(function(edge) {\n return edge.right;\n }).map(function(edge) {\n return {\n source: edge.left.data,\n target: edge.right.data\n };\n });\n },\n\n find: function(x, y, radius) {\n var that = this, i0, i1 = that._found || 0, n = that.cells.length, cell;\n\n // Use the previously-found cell, or start with an arbitrary one.\n while (!(cell = that.cells[i1])) if (++i1 >= n) return null;\n var dx = x - cell.site[0], dy = y - cell.site[1], d2 = dx * dx + dy * dy;\n\n // Traverse the half-edges to find a closer cell, if any.\n do {\n cell = that.cells[i0 = i1], i1 = null;\n cell.halfedges.forEach(function(e) {\n var edge = that.edges[e], v = edge.left;\n if ((v === cell.site || !v) && !(v = edge.right)) return;\n var vx = x - v[0], vy = y - v[1], v2 = vx * vx + vy * vy;\n if (v2 < d2) d2 = v2, i1 = v.index;\n });\n } while (i1 !== null);\n\n that._found = i0;\n\n return radius == null || d2 <= radius * radius ? cell.site : null;\n }\n}\n","import constant from \"./constant\";\nimport {x as pointX, y as pointY} from \"./point\";\nimport Diagram, {epsilon} from \"./Diagram\";\n\nexport default function() {\n var x = pointX,\n y = pointY,\n extent = null;\n\n function voronoi(data) {\n return new Diagram(data.map(function(d, i) {\n var s = [Math.round(x(d, i, data) / epsilon) * epsilon, Math.round(y(d, i, data) / epsilon) * epsilon];\n s.index = i;\n s.data = d;\n return s;\n }), extent);\n }\n\n voronoi.polygons = function(data) {\n return voronoi(data).polygons();\n };\n\n voronoi.links = function(data) {\n return voronoi(data).links();\n };\n\n voronoi.triangles = function(data) {\n return voronoi(data).triangles();\n };\n\n voronoi.x = function(_) {\n return arguments.length ? (x = typeof _ === \"function\" ? _ : constant(+_), voronoi) : x;\n };\n\n voronoi.y = function(_) {\n return arguments.length ? (y = typeof _ === \"function\" ? _ : constant(+_), voronoi) : y;\n };\n\n voronoi.extent = function(_) {\n return arguments.length ? (extent = _ == null ? null : [[+_[0][0], +_[0][1]], [+_[1][0], +_[1][1]]], voronoi) : extent && [[extent[0][0], extent[0][1]], [extent[1][0], extent[1][1]]];\n };\n\n voronoi.size = function(_) {\n return arguments.length ? (extent = _ == null ? null : [[0, 0], [+_[0], +_[1]]], voronoi) : extent && [extent[1][0] - extent[0][0], extent[1][1] - extent[0][1]];\n };\n\n return voronoi;\n}\n","export {default as voronoi} from \"./src/voronoi\";\n","export default function(x) {\n return function() {\n return x;\n };\n}\n","export default function ZoomEvent(target, type, transform) {\n this.target = target;\n this.type = type;\n this.transform = transform;\n}\n","export function Transform(k, x, y) {\n this.k = k;\n this.x = x;\n this.y = y;\n}\n\nTransform.prototype = {\n constructor: Transform,\n scale: function(k) {\n return k === 1 ? this : new Transform(this.k * k, this.x, this.y);\n },\n translate: function(x, y) {\n return x === 0 & y === 0 ? this : new Transform(this.k, this.x + this.k * x, this.y + this.k * y);\n },\n apply: function(point) {\n return [point[0] * this.k + this.x, point[1] * this.k + this.y];\n },\n applyX: function(x) {\n return x * this.k + this.x;\n },\n applyY: function(y) {\n return y * this.k + this.y;\n },\n invert: function(location) {\n return [(location[0] - this.x) / this.k, (location[1] - this.y) / this.k];\n },\n invertX: function(x) {\n return (x - this.x) / this.k;\n },\n invertY: function(y) {\n return (y - this.y) / this.k;\n },\n rescaleX: function(x) {\n return x.copy().domain(x.range().map(this.invertX, this).map(x.invert, x));\n },\n rescaleY: function(y) {\n return y.copy().domain(y.range().map(this.invertY, this).map(y.invert, y));\n },\n toString: function() {\n return \"translate(\" + this.x + \",\" + this.y + \") scale(\" + this.k + \")\";\n }\n};\n\nexport var identity = new Transform(1, 0, 0);\n\ntransform.prototype = Transform.prototype;\n\nexport default function transform(node) {\n return node.__zoom || identity;\n}\n","import {event} from \"d3-selection\";\n\nexport function nopropagation() {\n event.stopImmediatePropagation();\n}\n\nexport default function() {\n event.preventDefault();\n event.stopImmediatePropagation();\n}\n","import {dispatch} from \"d3-dispatch\";\nimport {dragDisable, dragEnable} from \"d3-drag\";\nimport {interpolateZoom} from \"d3-interpolate\";\nimport {event, customEvent, select, mouse, touch} from \"d3-selection\";\nimport {interrupt} from \"d3-transition\";\nimport constant from \"./constant\";\nimport ZoomEvent from \"./event\";\nimport {Transform, identity} from \"./transform\";\nimport noevent, {nopropagation} from \"./noevent\";\n\n// Ignore right-click, since that should open the context menu.\nfunction defaultFilter() {\n return !event.button;\n}\n\nfunction defaultExtent() {\n var e = this, w, h;\n if (e instanceof SVGElement) {\n e = e.ownerSVGElement || e;\n w = e.width.baseVal.value;\n h = e.height.baseVal.value;\n } else {\n w = e.clientWidth;\n h = e.clientHeight;\n }\n return [[0, 0], [w, h]];\n}\n\nfunction defaultTransform() {\n return this.__zoom || identity;\n}\n\nfunction defaultWheelDelta() {\n return -event.deltaY * (event.deltaMode ? 120 : 1) / 500;\n}\n\nfunction defaultTouchable() {\n return \"ontouchstart\" in this;\n}\n\nfunction defaultConstrain(transform, extent, translateExtent) {\n var dx0 = transform.invertX(extent[0][0]) - translateExtent[0][0],\n dx1 = transform.invertX(extent[1][0]) - translateExtent[1][0],\n dy0 = transform.invertY(extent[0][1]) - translateExtent[0][1],\n dy1 = transform.invertY(extent[1][1]) - translateExtent[1][1];\n return transform.translate(\n dx1 > dx0 ? (dx0 + dx1) / 2 : Math.min(0, dx0) || Math.max(0, dx1),\n dy1 > dy0 ? (dy0 + dy1) / 2 : Math.min(0, dy0) || Math.max(0, dy1)\n );\n}\n\nexport default function() {\n var filter = defaultFilter,\n extent = defaultExtent,\n constrain = defaultConstrain,\n wheelDelta = defaultWheelDelta,\n touchable = defaultTouchable,\n scaleExtent = [0, Infinity],\n translateExtent = [[-Infinity, -Infinity], [Infinity, Infinity]],\n duration = 250,\n interpolate = interpolateZoom,\n gestures = [],\n listeners = dispatch(\"start\", \"zoom\", \"end\"),\n touchstarting,\n touchending,\n touchDelay = 500,\n wheelDelay = 150,\n clickDistance2 = 0;\n\n function zoom(selection) {\n selection\n .property(\"__zoom\", defaultTransform)\n .on(\"wheel.zoom\", wheeled)\n .on(\"mousedown.zoom\", mousedowned)\n .on(\"dblclick.zoom\", dblclicked)\n .filter(touchable)\n .on(\"touchstart.zoom\", touchstarted)\n .on(\"touchmove.zoom\", touchmoved)\n .on(\"touchend.zoom touchcancel.zoom\", touchended)\n .style(\"touch-action\", \"none\")\n .style(\"-webkit-tap-highlight-color\", \"rgba(0,0,0,0)\");\n }\n\n zoom.transform = function(collection, transform) {\n var selection = collection.selection ? collection.selection() : collection;\n selection.property(\"__zoom\", defaultTransform);\n if (collection !== selection) {\n schedule(collection, transform);\n } else {\n selection.interrupt().each(function() {\n gesture(this, arguments)\n .start()\n .zoom(null, typeof transform === \"function\" ? transform.apply(this, arguments) : transform)\n .end();\n });\n }\n };\n\n zoom.scaleBy = function(selection, k) {\n zoom.scaleTo(selection, function() {\n var k0 = this.__zoom.k,\n k1 = typeof k === \"function\" ? k.apply(this, arguments) : k;\n return k0 * k1;\n });\n };\n\n zoom.scaleTo = function(selection, k) {\n zoom.transform(selection, function() {\n var e = extent.apply(this, arguments),\n t0 = this.__zoom,\n p0 = centroid(e),\n p1 = t0.invert(p0),\n k1 = typeof k === \"function\" ? k.apply(this, arguments) : k;\n return constrain(translate(scale(t0, k1), p0, p1), e, translateExtent);\n });\n };\n\n zoom.translateBy = function(selection, x, y) {\n zoom.transform(selection, function() {\n return constrain(this.__zoom.translate(\n typeof x === \"function\" ? x.apply(this, arguments) : x,\n typeof y === \"function\" ? y.apply(this, arguments) : y\n ), extent.apply(this, arguments), translateExtent);\n });\n };\n\n zoom.translateTo = function(selection, x, y) {\n zoom.transform(selection, function() {\n var e = extent.apply(this, arguments),\n t = this.__zoom,\n p = centroid(e);\n return constrain(identity.translate(p[0], p[1]).scale(t.k).translate(\n typeof x === \"function\" ? -x.apply(this, arguments) : -x,\n typeof y === \"function\" ? -y.apply(this, arguments) : -y\n ), e, translateExtent);\n });\n };\n\n function scale(transform, k) {\n k = Math.max(scaleExtent[0], Math.min(scaleExtent[1], k));\n return k === transform.k ? transform : new Transform(k, transform.x, transform.y);\n }\n\n function translate(transform, p0, p1) {\n var x = p0[0] - p1[0] * transform.k, y = p0[1] - p1[1] * transform.k;\n return x === transform.x && y === transform.y ? transform : new Transform(transform.k, x, y);\n }\n\n function centroid(extent) {\n return [(+extent[0][0] + +extent[1][0]) / 2, (+extent[0][1] + +extent[1][1]) / 2];\n }\n\n function schedule(transition, transform, center) {\n transition\n .on(\"start.zoom\", function() { gesture(this, arguments).start(); })\n .on(\"interrupt.zoom end.zoom\", function() { gesture(this, arguments).end(); })\n .tween(\"zoom\", function() {\n var that = this,\n args = arguments,\n g = gesture(that, args),\n e = extent.apply(that, args),\n p = center || centroid(e),\n w = Math.max(e[1][0] - e[0][0], e[1][1] - e[0][1]),\n a = that.__zoom,\n b = typeof transform === \"function\" ? transform.apply(that, args) : transform,\n i = interpolate(a.invert(p).concat(w / a.k), b.invert(p).concat(w / b.k));\n return function(t) {\n if (t === 1) t = b; // Avoid rounding error on end.\n else { var l = i(t), k = w / l[2]; t = new Transform(k, p[0] - l[0] * k, p[1] - l[1] * k); }\n g.zoom(null, t);\n };\n });\n }\n\n function gesture(that, args) {\n for (var i = 0, n = gestures.length, g; i < n; ++i) {\n if ((g = gestures[i]).that === that) {\n return g;\n }\n }\n return new Gesture(that, args);\n }\n\n function Gesture(that, args) {\n this.that = that;\n this.args = args;\n this.index = -1;\n this.active = 0;\n this.extent = extent.apply(that, args);\n }\n\n Gesture.prototype = {\n start: function() {\n if (++this.active === 1) {\n this.index = gestures.push(this) - 1;\n this.emit(\"start\");\n }\n return this;\n },\n zoom: function(key, transform) {\n if (this.mouse && key !== \"mouse\") this.mouse[1] = transform.invert(this.mouse[0]);\n if (this.touch0 && key !== \"touch\") this.touch0[1] = transform.invert(this.touch0[0]);\n if (this.touch1 && key !== \"touch\") this.touch1[1] = transform.invert(this.touch1[0]);\n this.that.__zoom = transform;\n this.emit(\"zoom\");\n return this;\n },\n end: function() {\n if (--this.active === 0) {\n gestures.splice(this.index, 1);\n this.index = -1;\n this.emit(\"end\");\n }\n return this;\n },\n emit: function(type) {\n customEvent(new ZoomEvent(zoom, type, this.that.__zoom), listeners.apply, listeners, [type, this.that, this.args]);\n }\n };\n\n function wheeled() {\n if (!filter.apply(this, arguments)) return;\n var g = gesture(this, arguments),\n t = this.__zoom,\n k = Math.max(scaleExtent[0], Math.min(scaleExtent[1], t.k * Math.pow(2, wheelDelta.apply(this, arguments)))),\n p = mouse(this);\n\n // If the mouse is in the same location as before, reuse it.\n // If there were recent wheel events, reset the wheel idle timeout.\n if (g.wheel) {\n if (g.mouse[0][0] !== p[0] || g.mouse[0][1] !== p[1]) {\n g.mouse[1] = t.invert(g.mouse[0] = p);\n }\n clearTimeout(g.wheel);\n }\n\n // If this wheel event won’t trigger a transform change, ignore it.\n else if (t.k === k) return;\n\n // Otherwise, capture the mouse point and location at the start.\n else {\n g.mouse = [p, t.invert(p)];\n interrupt(this);\n g.start();\n }\n\n noevent();\n g.wheel = setTimeout(wheelidled, wheelDelay);\n g.zoom(\"mouse\", constrain(translate(scale(t, k), g.mouse[0], g.mouse[1]), g.extent, translateExtent));\n\n function wheelidled() {\n g.wheel = null;\n g.end();\n }\n }\n\n function mousedowned() {\n if (touchending || !filter.apply(this, arguments)) return;\n var g = gesture(this, arguments),\n v = select(event.view).on(\"mousemove.zoom\", mousemoved, true).on(\"mouseup.zoom\", mouseupped, true),\n p = mouse(this),\n x0 = event.clientX,\n y0 = event.clientY;\n\n dragDisable(event.view);\n nopropagation();\n g.mouse = [p, this.__zoom.invert(p)];\n interrupt(this);\n g.start();\n\n function mousemoved() {\n noevent();\n if (!g.moved) {\n var dx = event.clientX - x0, dy = event.clientY - y0;\n g.moved = dx * dx + dy * dy > clickDistance2;\n }\n g.zoom(\"mouse\", constrain(translate(g.that.__zoom, g.mouse[0] = mouse(g.that), g.mouse[1]), g.extent, translateExtent));\n }\n\n function mouseupped() {\n v.on(\"mousemove.zoom mouseup.zoom\", null);\n dragEnable(event.view, g.moved);\n noevent();\n g.end();\n }\n }\n\n function dblclicked() {\n if (!filter.apply(this, arguments)) return;\n var t0 = this.__zoom,\n p0 = mouse(this),\n p1 = t0.invert(p0),\n k1 = t0.k * (event.shiftKey ? 0.5 : 2),\n t1 = constrain(translate(scale(t0, k1), p0, p1), extent.apply(this, arguments), translateExtent);\n\n noevent();\n if (duration > 0) select(this).transition().duration(duration).call(schedule, t1, p0);\n else select(this).call(zoom.transform, t1);\n }\n\n function touchstarted() {\n if (!filter.apply(this, arguments)) return;\n var g = gesture(this, arguments),\n touches = event.changedTouches,\n started,\n n = touches.length, i, t, p;\n\n nopropagation();\n for (i = 0; i < n; ++i) {\n t = touches[i], p = touch(this, touches, t.identifier);\n p = [p, this.__zoom.invert(p), t.identifier];\n if (!g.touch0) g.touch0 = p, started = true;\n else if (!g.touch1) g.touch1 = p;\n }\n\n // If this is a dbltap, reroute to the (optional) dblclick.zoom handler.\n if (touchstarting) {\n touchstarting = clearTimeout(touchstarting);\n if (!g.touch1) {\n g.end();\n p = select(this).on(\"dblclick.zoom\");\n if (p) p.apply(this, arguments);\n return;\n }\n }\n\n if (started) {\n touchstarting = setTimeout(function() { touchstarting = null; }, touchDelay);\n interrupt(this);\n g.start();\n }\n }\n\n function touchmoved() {\n var g = gesture(this, arguments),\n touches = event.changedTouches,\n n = touches.length, i, t, p, l;\n\n noevent();\n if (touchstarting) touchstarting = clearTimeout(touchstarting);\n for (i = 0; i < n; ++i) {\n t = touches[i], p = touch(this, touches, t.identifier);\n if (g.touch0 && g.touch0[2] === t.identifier) g.touch0[0] = p;\n else if (g.touch1 && g.touch1[2] === t.identifier) g.touch1[0] = p;\n }\n t = g.that.__zoom;\n if (g.touch1) {\n var p0 = g.touch0[0], l0 = g.touch0[1],\n p1 = g.touch1[0], l1 = g.touch1[1],\n dp = (dp = p1[0] - p0[0]) * dp + (dp = p1[1] - p0[1]) * dp,\n dl = (dl = l1[0] - l0[0]) * dl + (dl = l1[1] - l0[1]) * dl;\n t = scale(t, Math.sqrt(dp / dl));\n p = [(p0[0] + p1[0]) / 2, (p0[1] + p1[1]) / 2];\n l = [(l0[0] + l1[0]) / 2, (l0[1] + l1[1]) / 2];\n }\n else if (g.touch0) p = g.touch0[0], l = g.touch0[1];\n else return;\n g.zoom(\"touch\", constrain(translate(t, p, l), g.extent, translateExtent));\n }\n\n function touchended() {\n var g = gesture(this, arguments),\n touches = event.changedTouches,\n n = touches.length, i, t;\n\n nopropagation();\n if (touchending) clearTimeout(touchending);\n touchending = setTimeout(function() { touchending = null; }, touchDelay);\n for (i = 0; i < n; ++i) {\n t = touches[i];\n if (g.touch0 && g.touch0[2] === t.identifier) delete g.touch0;\n else if (g.touch1 && g.touch1[2] === t.identifier) delete g.touch1;\n }\n if (g.touch1 && !g.touch0) g.touch0 = g.touch1, delete g.touch1;\n if (g.touch0) g.touch0[1] = this.__zoom.invert(g.touch0[0]);\n else g.end();\n }\n\n zoom.wheelDelta = function(_) {\n return arguments.length ? (wheelDelta = typeof _ === \"function\" ? _ : constant(+_), zoom) : wheelDelta;\n };\n\n zoom.filter = function(_) {\n return arguments.length ? (filter = typeof _ === \"function\" ? _ : constant(!!_), zoom) : filter;\n };\n\n zoom.touchable = function(_) {\n return arguments.length ? (touchable = typeof _ === \"function\" ? _ : constant(!!_), zoom) : touchable;\n };\n\n zoom.extent = function(_) {\n return arguments.length ? (extent = typeof _ === \"function\" ? _ : constant([[+_[0][0], +_[0][1]], [+_[1][0], +_[1][1]]]), zoom) : extent;\n };\n\n zoom.scaleExtent = function(_) {\n return arguments.length ? (scaleExtent[0] = +_[0], scaleExtent[1] = +_[1], zoom) : [scaleExtent[0], scaleExtent[1]];\n };\n\n zoom.translateExtent = function(_) {\n return arguments.length ? (translateExtent[0][0] = +_[0][0], translateExtent[1][0] = +_[1][0], translateExtent[0][1] = +_[0][1], translateExtent[1][1] = +_[1][1], zoom) : [[translateExtent[0][0], translateExtent[0][1]], [translateExtent[1][0], translateExtent[1][1]]];\n };\n\n zoom.constrain = function(_) {\n return arguments.length ? (constrain = _, zoom) : constrain;\n };\n\n zoom.duration = function(_) {\n return arguments.length ? (duration = +_, zoom) : duration;\n };\n\n zoom.interpolate = function(_) {\n return arguments.length ? (interpolate = _, zoom) : interpolate;\n };\n\n zoom.on = function() {\n var value = listeners.on.apply(listeners, arguments);\n return value === listeners ? zoom : value;\n };\n\n zoom.clickDistance = function(_) {\n return arguments.length ? (clickDistance2 = (_ = +_) * _, zoom) : Math.sqrt(clickDistance2);\n };\n\n return zoom;\n}\n","export {default as zoom} from \"./src/zoom\";\nexport {default as zoomTransform, identity as zoomIdentity} from \"./src/transform\";\n","export {version} from \"./dist/package\";\nexport * from \"d3-array\";\nexport * from \"d3-axis\";\nexport * from \"d3-brush\";\nexport * from \"d3-chord\";\nexport * from \"d3-collection\";\nexport * from \"d3-color\";\nexport * from \"d3-contour\";\nexport * from \"d3-dispatch\";\nexport * from \"d3-drag\";\nexport * from \"d3-dsv\";\nexport * from \"d3-ease\";\nexport * from \"d3-fetch\";\nexport * from \"d3-force\";\nexport * from \"d3-format\";\nexport * from \"d3-geo\";\nexport * from \"d3-hierarchy\";\nexport * from \"d3-interpolate\";\nexport * from \"d3-path\";\nexport * from \"d3-polygon\";\nexport * from \"d3-quadtree\";\nexport * from \"d3-random\";\nexport * from \"d3-scale\";\nexport * from \"d3-scale-chromatic\";\nexport * from \"d3-selection\";\nexport * from \"d3-shape\";\nexport * from \"d3-time\";\nexport * from \"d3-time-format\";\nexport * from \"d3-timer\";\nexport * from \"d3-transition\";\nexport * from \"d3-voronoi\";\nexport * from \"d3-zoom\";\n","export function testObject(input) {\n if (input !== null && typeof input.getTime === 'function' && !isNaN(input.getTime())) {\n return true;\n }\n return false;\n}\n\nexport function testString(input) {\n const ISO_8601 = /^\\d{4}-\\d\\d-\\d\\dT\\d\\d:\\d\\d:\\d\\d(\\.\\d+)?(([+-]\\d\\d:\\d\\d)|Z)?$/i;\n return ISO_8601.test(input);\n}\n\nexport default function (input) {\n if (typeof input === 'object') {\n return testObject(input);\n } else if (typeof input === 'string') {\n return testString(input);\n }\n return false;\n}\n","/**\n * Strip html tags from string\n *\n * @param {string} string The string to strip\n * @return {string}\n * @public\n */\n\nexport function stripHtmlTags(inputString) {\n return inputString.replace(/(<([^>]+)>)/ig, '');\n}\n","export default function (len) {\n const list = [];\n for (let i = 0; i < len; i++) {\n list.push(null);\n }\n return list;\n}\n","import createNullList from '../utils/create-null-list';\nimport { each } from '../../utils/each';\n\nexport function appendColumn(str, input) {\n const self = this;\n const args = Array.prototype.slice.call(arguments, 2);\n const label = (str !== undefined) ? str : null;\n\n if (typeof input === 'function') {\n self.matrix[0].push(label);\n each(self.matrix, function(row, i) {\n let cell;\n if (i > 0) {\n cell = input.call(self, row, i);\n if (typeof cell === 'undefined') {\n cell = null;\n }\n self.matrix[i].push(cell);\n }\n });\n }\n\n else if (!input || input instanceof Array) {\n input = input || [];\n\n if (input.length <= self.matrix.length - 1) {\n input = input.concat(createNullList(self.matrix.length - 1 - input.length));\n }\n else {\n // If this new column is longer than existing columns,\n // we need to update the rest to match ...\n each(input, function(value, i){\n if (self.matrix.length -1 < input.length) {\n appendRow.call(self, String(self.matrix.length));\n }\n });\n }\n\n self.matrix[0].push(label);\n each(input, function(value, i){\n self.matrix[i+1][self.matrix[0].length-1] = value;\n });\n\n }\n\n return self;\n}\n\nexport function appendRow(str, input) {\n const self = this;\n const args = Array.prototype.slice.call(arguments, 2);\n const label = (str !== undefined) ? str : null;\n const newRow = [];\n\n newRow.push(label);\n\n if (typeof input === 'function') {\n each(self.matrix[0], function(label, i){\n let col;\n let cell;\n if (i > 0) {\n col = self.selectColumn(i);\n cell = input.call(self, col, i);\n if (typeof cell === 'undefined') {\n cell = null;\n }\n newRow.push(cell);\n }\n });\n self.matrix.push(newRow);\n }\n\n else if (!input || input instanceof Array) {\n input = input || [];\n\n if (input.length <= self.matrix[0].length - 1) {\n input = input.concat( createNullList( self.matrix[0].length - 1 - input.length ) );\n }\n else {\n each(input, function(value, i){\n if (self.matrix[0].length -1 < input.length) {\n appendColumn.call(self, String( self.matrix[0].length));\n }\n });\n }\n\n self.matrix.push(newRow.concat(input));\n }\n\n return self;\n}\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var zhTw = moment.defineLocale('zh-tw', {\n months : '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'),\n monthsShort : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n weekdays : '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n weekdaysShort : '週日_週一_週二_週三_週四_週五_週六'.split('_'),\n weekdaysMin : '日_一_二_三_四_五_六'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY/MM/DD',\n LL : 'YYYY年M月D日',\n LLL : 'YYYY年M月D日 HH:mm',\n LLLL : 'YYYY年M月D日dddd HH:mm',\n l : 'YYYY/M/D',\n ll : 'YYYY年M月D日',\n lll : 'YYYY年M月D日 HH:mm',\n llll : 'YYYY年M月D日dddd HH:mm'\n },\n meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n return hour;\n } else if (meridiem === '中午') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === '下午' || meridiem === '晚上') {\n return hour + 12;\n }\n },\n meridiem : function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n if (hm < 600) {\n return '凌晨';\n } else if (hm < 900) {\n return '早上';\n } else if (hm < 1130) {\n return '上午';\n } else if (hm < 1230) {\n return '中午';\n } else if (hm < 1800) {\n return '下午';\n } else {\n return '晚上';\n }\n },\n calendar : {\n sameDay : '[今天] LT',\n nextDay : '[明天] LT',\n nextWeek : '[下]dddd LT',\n lastDay : '[昨天] LT',\n lastWeek : '[上]dddd LT',\n sameElse : 'L'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(日|月|週)/,\n ordinal : function (number, period) {\n switch (period) {\n case 'd' :\n case 'D' :\n case 'DDD' :\n return number + '日';\n case 'M' :\n return number + '月';\n case 'w' :\n case 'W' :\n return number + '週';\n default :\n return number;\n }\n },\n relativeTime : {\n future : '%s內',\n past : '%s前',\n s : '幾秒',\n ss : '%d 秒',\n m : '1 分鐘',\n mm : '%d 分鐘',\n h : '1 小時',\n hh : '%d 小時',\n d : '1 天',\n dd : '%d 天',\n M : '1 個月',\n MM : '%d 個月',\n y : '1 年',\n yy : '%d 年'\n }\n });\n\n return zhTw;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var zhHk = moment.defineLocale('zh-hk', {\n months : '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'),\n monthsShort : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n weekdays : '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n weekdaysShort : '週日_週一_週二_週三_週四_週五_週六'.split('_'),\n weekdaysMin : '日_一_二_三_四_五_六'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY/MM/DD',\n LL : 'YYYY年M月D日',\n LLL : 'YYYY年M月D日 HH:mm',\n LLLL : 'YYYY年M月D日dddd HH:mm',\n l : 'YYYY/M/D',\n ll : 'YYYY年M月D日',\n lll : 'YYYY年M月D日 HH:mm',\n llll : 'YYYY年M月D日dddd HH:mm'\n },\n meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n return hour;\n } else if (meridiem === '中午') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === '下午' || meridiem === '晚上') {\n return hour + 12;\n }\n },\n meridiem : function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n if (hm < 600) {\n return '凌晨';\n } else if (hm < 900) {\n return '早上';\n } else if (hm < 1130) {\n return '上午';\n } else if (hm < 1230) {\n return '中午';\n } else if (hm < 1800) {\n return '下午';\n } else {\n return '晚上';\n }\n },\n calendar : {\n sameDay : '[今天]LT',\n nextDay : '[明天]LT',\n nextWeek : '[下]ddddLT',\n lastDay : '[昨天]LT',\n lastWeek : '[上]ddddLT',\n sameElse : 'L'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(日|月|週)/,\n ordinal : function (number, period) {\n switch (period) {\n case 'd' :\n case 'D' :\n case 'DDD' :\n return number + '日';\n case 'M' :\n return number + '月';\n case 'w' :\n case 'W' :\n return number + '週';\n default :\n return number;\n }\n },\n relativeTime : {\n future : '%s內',\n past : '%s前',\n s : '幾秒',\n ss : '%d 秒',\n m : '1 分鐘',\n mm : '%d 分鐘',\n h : '1 小時',\n hh : '%d 小時',\n d : '1 天',\n dd : '%d 天',\n M : '1 個月',\n MM : '%d 個月',\n y : '1 年',\n yy : '%d 年'\n }\n });\n\n return zhHk;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var zhCn = moment.defineLocale('zh-cn', {\n months : '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'),\n monthsShort : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n weekdays : '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n weekdaysShort : '周日_周一_周二_周三_周四_周五_周六'.split('_'),\n weekdaysMin : '日_一_二_三_四_五_六'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY/MM/DD',\n LL : 'YYYY年M月D日',\n LLL : 'YYYY年M月D日Ah点mm分',\n LLLL : 'YYYY年M月D日ddddAh点mm分',\n l : 'YYYY/M/D',\n ll : 'YYYY年M月D日',\n lll : 'YYYY年M月D日 HH:mm',\n llll : 'YYYY年M月D日dddd HH:mm'\n },\n meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === '凌晨' || meridiem === '早上' ||\n meridiem === '上午') {\n return hour;\n } else if (meridiem === '下午' || meridiem === '晚上') {\n return hour + 12;\n } else {\n // '中午'\n return hour >= 11 ? hour : hour + 12;\n }\n },\n meridiem : function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n if (hm < 600) {\n return '凌晨';\n } else if (hm < 900) {\n return '早上';\n } else if (hm < 1130) {\n return '上午';\n } else if (hm < 1230) {\n return '中午';\n } else if (hm < 1800) {\n return '下午';\n } else {\n return '晚上';\n }\n },\n calendar : {\n sameDay : '[今天]LT',\n nextDay : '[明天]LT',\n nextWeek : '[下]ddddLT',\n lastDay : '[昨天]LT',\n lastWeek : '[上]ddddLT',\n sameElse : 'L'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(日|月|周)/,\n ordinal : function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '日';\n case 'M':\n return number + '月';\n case 'w':\n case 'W':\n return number + '周';\n default:\n return number;\n }\n },\n relativeTime : {\n future : '%s内',\n past : '%s前',\n s : '几秒',\n ss : '%d 秒',\n m : '1 分钟',\n mm : '%d 分钟',\n h : '1 小时',\n hh : '%d 小时',\n d : '1 天',\n dd : '%d 天',\n M : '1 个月',\n MM : '%d 个月',\n y : '1 年',\n yy : '%d 年'\n },\n week : {\n // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return zhCn;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var yo = moment.defineLocale('yo', {\n months : 'Sẹ́rẹ́_Èrèlè_Ẹrẹ̀nà_Ìgbé_Èbibi_Òkùdu_Agẹmo_Ògún_Owewe_Ọ̀wàrà_Bélú_Ọ̀pẹ̀̀'.split('_'),\n monthsShort : 'Sẹ́r_Èrl_Ẹrn_Ìgb_Èbi_Òkù_Agẹ_Ògú_Owe_Ọ̀wà_Bél_Ọ̀pẹ̀̀'.split('_'),\n weekdays : 'Àìkú_Ajé_Ìsẹ́gun_Ọjọ́rú_Ọjọ́bọ_Ẹtì_Àbámẹ́ta'.split('_'),\n weekdaysShort : 'Àìk_Ajé_Ìsẹ́_Ọjr_Ọjb_Ẹtì_Àbá'.split('_'),\n weekdaysMin : 'Àì_Aj_Ìs_Ọr_Ọb_Ẹt_Àb'.split('_'),\n longDateFormat : {\n LT : 'h:mm A',\n LTS : 'h:mm:ss A',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY h:mm A',\n LLLL : 'dddd, D MMMM YYYY h:mm A'\n },\n calendar : {\n sameDay : '[Ònì ni] LT',\n nextDay : '[Ọ̀la ni] LT',\n nextWeek : 'dddd [Ọsẹ̀ tón\\'bọ] [ni] LT',\n lastDay : '[Àna ni] LT',\n lastWeek : 'dddd [Ọsẹ̀ tólọ́] [ni] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'ní %s',\n past : '%s kọjá',\n s : 'ìsẹjú aayá die',\n ss :'aayá %d',\n m : 'ìsẹjú kan',\n mm : 'ìsẹjú %d',\n h : 'wákati kan',\n hh : 'wákati %d',\n d : 'ọjọ́ kan',\n dd : 'ọjọ́ %d',\n M : 'osù kan',\n MM : 'osù %d',\n y : 'ọdún kan',\n yy : 'ọdún %d'\n },\n dayOfMonthOrdinalParse : /ọjọ́\\s\\d{1,2}/,\n ordinal : 'ọjọ́ %d',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return yo;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var xPseudo = moment.defineLocale('x-pseudo', {\n months : 'J~áñúá~rý_F~ébrú~árý_~Márc~h_Áp~ríl_~Máý_~Júñé~_Júl~ý_Áú~gúst~_Sép~témb~ér_Ó~ctób~ér_Ñ~óvém~bér_~Décé~mbér'.split('_'),\n monthsShort : 'J~áñ_~Féb_~Már_~Ápr_~Máý_~Júñ_~Júl_~Áúg_~Sép_~Óct_~Ñóv_~Déc'.split('_'),\n monthsParseExact : true,\n weekdays : 'S~úñdá~ý_Mó~ñdáý~_Túé~sdáý~_Wéd~ñésd~áý_T~húrs~dáý_~Fríd~áý_S~átúr~dáý'.split('_'),\n weekdaysShort : 'S~úñ_~Móñ_~Túé_~Wéd_~Thú_~Frí_~Sát'.split('_'),\n weekdaysMin : 'S~ú_Mó~_Tú_~Wé_T~h_Fr~_Sá'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[T~ódá~ý át] LT',\n nextDay : '[T~ómó~rró~w át] LT',\n nextWeek : 'dddd [át] LT',\n lastDay : '[Ý~ést~érdá~ý át] LT',\n lastWeek : '[L~ást] dddd [át] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'í~ñ %s',\n past : '%s á~gó',\n s : 'á ~féw ~sécó~ñds',\n ss : '%d s~écóñ~ds',\n m : 'á ~míñ~úté',\n mm : '%d m~íñú~tés',\n h : 'á~ñ hó~úr',\n hh : '%d h~óúrs',\n d : 'á ~dáý',\n dd : '%d d~áýs',\n M : 'á ~móñ~th',\n MM : '%d m~óñt~hs',\n y : 'á ~ýéár',\n yy : '%d ý~éárs'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(th|st|nd|rd)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return xPseudo;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var vi = moment.defineLocale('vi', {\n months : 'tháng 1_tháng 2_tháng 3_tháng 4_tháng 5_tháng 6_tháng 7_tháng 8_tháng 9_tháng 10_tháng 11_tháng 12'.split('_'),\n monthsShort : 'Th01_Th02_Th03_Th04_Th05_Th06_Th07_Th08_Th09_Th10_Th11_Th12'.split('_'),\n monthsParseExact : true,\n weekdays : 'chủ nhật_thứ hai_thứ ba_thứ tư_thứ năm_thứ sáu_thứ bảy'.split('_'),\n weekdaysShort : 'CN_T2_T3_T4_T5_T6_T7'.split('_'),\n weekdaysMin : 'CN_T2_T3_T4_T5_T6_T7'.split('_'),\n weekdaysParseExact : true,\n meridiemParse: /sa|ch/i,\n isPM : function (input) {\n return /^ch$/i.test(input);\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours < 12) {\n return isLower ? 'sa' : 'SA';\n } else {\n return isLower ? 'ch' : 'CH';\n }\n },\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM [năm] YYYY',\n LLL : 'D MMMM [năm] YYYY HH:mm',\n LLLL : 'dddd, D MMMM [năm] YYYY HH:mm',\n l : 'DD/M/YYYY',\n ll : 'D MMM YYYY',\n lll : 'D MMM YYYY HH:mm',\n llll : 'ddd, D MMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[Hôm nay lúc] LT',\n nextDay: '[Ngày mai lúc] LT',\n nextWeek: 'dddd [tuần tới lúc] LT',\n lastDay: '[Hôm qua lúc] LT',\n lastWeek: 'dddd [tuần rồi lúc] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : '%s tới',\n past : '%s trước',\n s : 'vài giây',\n ss : '%d giây' ,\n m : 'một phút',\n mm : '%d phút',\n h : 'một giờ',\n hh : '%d giờ',\n d : 'một ngày',\n dd : '%d ngày',\n M : 'một tháng',\n MM : '%d tháng',\n y : 'một năm',\n yy : '%d năm'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}/,\n ordinal : function (number) {\n return number;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return vi;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var uzLatn = moment.defineLocale('uz-latn', {\n months : 'Yanvar_Fevral_Mart_Aprel_May_Iyun_Iyul_Avgust_Sentabr_Oktabr_Noyabr_Dekabr'.split('_'),\n monthsShort : 'Yan_Fev_Mar_Apr_May_Iyun_Iyul_Avg_Sen_Okt_Noy_Dek'.split('_'),\n weekdays : 'Yakshanba_Dushanba_Seshanba_Chorshanba_Payshanba_Juma_Shanba'.split('_'),\n weekdaysShort : 'Yak_Dush_Sesh_Chor_Pay_Jum_Shan'.split('_'),\n weekdaysMin : 'Ya_Du_Se_Cho_Pa_Ju_Sha'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'D MMMM YYYY, dddd HH:mm'\n },\n calendar : {\n sameDay : '[Bugun soat] LT [da]',\n nextDay : '[Ertaga] LT [da]',\n nextWeek : 'dddd [kuni soat] LT [da]',\n lastDay : '[Kecha soat] LT [da]',\n lastWeek : '[O\\'tgan] dddd [kuni soat] LT [da]',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'Yaqin %s ichida',\n past : 'Bir necha %s oldin',\n s : 'soniya',\n ss : '%d soniya',\n m : 'bir daqiqa',\n mm : '%d daqiqa',\n h : 'bir soat',\n hh : '%d soat',\n d : 'bir kun',\n dd : '%d kun',\n M : 'bir oy',\n MM : '%d oy',\n y : 'bir yil',\n yy : '%d yil'\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return uzLatn;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var uz = moment.defineLocale('uz', {\n months : 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split('_'),\n monthsShort : 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'),\n weekdays : 'Якшанба_Душанба_Сешанба_Чоршанба_Пайшанба_Жума_Шанба'.split('_'),\n weekdaysShort : 'Якш_Душ_Сеш_Чор_Пай_Жум_Шан'.split('_'),\n weekdaysMin : 'Як_Ду_Се_Чо_Па_Жу_Ша'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'D MMMM YYYY, dddd HH:mm'\n },\n calendar : {\n sameDay : '[Бугун соат] LT [да]',\n nextDay : '[Эртага] LT [да]',\n nextWeek : 'dddd [куни соат] LT [да]',\n lastDay : '[Кеча соат] LT [да]',\n lastWeek : '[Утган] dddd [куни соат] LT [да]',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'Якин %s ичида',\n past : 'Бир неча %s олдин',\n s : 'фурсат',\n ss : '%d фурсат',\n m : 'бир дакика',\n mm : '%d дакика',\n h : 'бир соат',\n hh : '%d соат',\n d : 'бир кун',\n dd : '%d кун',\n M : 'бир ой',\n MM : '%d ой',\n y : 'бир йил',\n yy : '%d йил'\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return uz;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var months = [\n 'جنوری',\n 'فروری',\n 'مارچ',\n 'اپریل',\n 'مئی',\n 'جون',\n 'جولائی',\n 'اگست',\n 'ستمبر',\n 'اکتوبر',\n 'نومبر',\n 'دسمبر'\n ];\n var days = [\n 'اتوار',\n 'پیر',\n 'منگل',\n 'بدھ',\n 'جمعرات',\n 'جمعہ',\n 'ہفتہ'\n ];\n\n var ur = moment.defineLocale('ur', {\n months : months,\n monthsShort : months,\n weekdays : days,\n weekdaysShort : days,\n weekdaysMin : days,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd، D MMMM YYYY HH:mm'\n },\n meridiemParse: /صبح|شام/,\n isPM : function (input) {\n return 'شام' === input;\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'صبح';\n }\n return 'شام';\n },\n calendar : {\n sameDay : '[آج بوقت] LT',\n nextDay : '[کل بوقت] LT',\n nextWeek : 'dddd [بوقت] LT',\n lastDay : '[گذشتہ روز بوقت] LT',\n lastWeek : '[گذشتہ] dddd [بوقت] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s بعد',\n past : '%s قبل',\n s : 'چند سیکنڈ',\n ss : '%d سیکنڈ',\n m : 'ایک منٹ',\n mm : '%d منٹ',\n h : 'ایک گھنٹہ',\n hh : '%d گھنٹے',\n d : 'ایک دن',\n dd : '%d دن',\n M : 'ایک ماہ',\n MM : '%d ماہ',\n y : 'ایک سال',\n yy : '%d سال'\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/,/g, '،');\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return ur;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function plural(word, num) {\n var forms = word.split('_');\n return num % 10 === 1 && num % 100 !== 11 ? forms[0] : (num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) ? forms[1] : forms[2]);\n }\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n var format = {\n 'ss': withoutSuffix ? 'секунда_секунди_секунд' : 'секунду_секунди_секунд',\n 'mm': withoutSuffix ? 'хвилина_хвилини_хвилин' : 'хвилину_хвилини_хвилин',\n 'hh': withoutSuffix ? 'година_години_годин' : 'годину_години_годин',\n 'dd': 'день_дні_днів',\n 'MM': 'місяць_місяці_місяців',\n 'yy': 'рік_роки_років'\n };\n if (key === 'm') {\n return withoutSuffix ? 'хвилина' : 'хвилину';\n }\n else if (key === 'h') {\n return withoutSuffix ? 'година' : 'годину';\n }\n else {\n return number + ' ' + plural(format[key], +number);\n }\n }\n function weekdaysCaseReplace(m, format) {\n var weekdays = {\n 'nominative': 'неділя_понеділок_вівторок_середа_четвер_п’ятниця_субота'.split('_'),\n 'accusative': 'неділю_понеділок_вівторок_середу_четвер_п’ятницю_суботу'.split('_'),\n 'genitive': 'неділі_понеділка_вівторка_середи_четверга_п’ятниці_суботи'.split('_')\n };\n\n if (!m) {\n return weekdays['nominative'];\n }\n\n var nounCase = (/(\\[[ВвУу]\\]) ?dddd/).test(format) ?\n 'accusative' :\n ((/\\[?(?:минулої|наступної)? ?\\] ?dddd/).test(format) ?\n 'genitive' :\n 'nominative');\n return weekdays[nounCase][m.day()];\n }\n function processHoursFunction(str) {\n return function () {\n return str + 'о' + (this.hours() === 11 ? 'б' : '') + '] LT';\n };\n }\n\n var uk = moment.defineLocale('uk', {\n months : {\n 'format': 'січня_лютого_березня_квітня_травня_червня_липня_серпня_вересня_жовтня_листопада_грудня'.split('_'),\n 'standalone': 'січень_лютий_березень_квітень_травень_червень_липень_серпень_вересень_жовтень_листопад_грудень'.split('_')\n },\n monthsShort : 'січ_лют_бер_квіт_трав_черв_лип_серп_вер_жовт_лист_груд'.split('_'),\n weekdays : weekdaysCaseReplace,\n weekdaysShort : 'нд_пн_вт_ср_чт_пт_сб'.split('_'),\n weekdaysMin : 'нд_пн_вт_ср_чт_пт_сб'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY р.',\n LLL : 'D MMMM YYYY р., HH:mm',\n LLLL : 'dddd, D MMMM YYYY р., HH:mm'\n },\n calendar : {\n sameDay: processHoursFunction('[Сьогодні '),\n nextDay: processHoursFunction('[Завтра '),\n lastDay: processHoursFunction('[Вчора '),\n nextWeek: processHoursFunction('[У] dddd ['),\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n case 3:\n case 5:\n case 6:\n return processHoursFunction('[Минулої] dddd [').call(this);\n case 1:\n case 2:\n case 4:\n return processHoursFunction('[Минулого] dddd [').call(this);\n }\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : 'за %s',\n past : '%s тому',\n s : 'декілька секунд',\n ss : relativeTimeWithPlural,\n m : relativeTimeWithPlural,\n mm : relativeTimeWithPlural,\n h : 'годину',\n hh : relativeTimeWithPlural,\n d : 'день',\n dd : relativeTimeWithPlural,\n M : 'місяць',\n MM : relativeTimeWithPlural,\n y : 'рік',\n yy : relativeTimeWithPlural\n },\n // M. E.: those two are virtually unused but a user might want to implement them for his/her website for some reason\n meridiemParse: /ночі|ранку|дня|вечора/,\n isPM: function (input) {\n return /^(дня|вечора)$/.test(input);\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ночі';\n } else if (hour < 12) {\n return 'ранку';\n } else if (hour < 17) {\n return 'дня';\n } else {\n return 'вечора';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(й|го)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'M':\n case 'd':\n case 'DDD':\n case 'w':\n case 'W':\n return number + '-й';\n case 'D':\n return number + '-го';\n default:\n return number;\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return uk;\n\n})));\n","//! moment.js language configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var ugCn = moment.defineLocale('ug-cn', {\n months: 'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.split(\n '_'\n ),\n monthsShort: 'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.split(\n '_'\n ),\n weekdays: 'يەكشەنبە_دۈشەنبە_سەيشەنبە_چارشەنبە_پەيشەنبە_جۈمە_شەنبە'.split(\n '_'\n ),\n weekdaysShort: 'يە_دۈ_سە_چا_پە_جۈ_شە'.split('_'),\n weekdaysMin: 'يە_دۈ_سە_چا_پە_جۈ_شە'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: 'YYYY-يىلىM-ئاينىڭD-كۈنى',\n LLL: 'YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm',\n LLLL: 'dddd، YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm'\n },\n meridiemParse: /يېرىم كېچە|سەھەر|چۈشتىن بۇرۇن|چۈش|چۈشتىن كېيىن|كەچ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (\n meridiem === 'يېرىم كېچە' ||\n meridiem === 'سەھەر' ||\n meridiem === 'چۈشتىن بۇرۇن'\n ) {\n return hour;\n } else if (meridiem === 'چۈشتىن كېيىن' || meridiem === 'كەچ') {\n return hour + 12;\n } else {\n return hour >= 11 ? hour : hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n if (hm < 600) {\n return 'يېرىم كېچە';\n } else if (hm < 900) {\n return 'سەھەر';\n } else if (hm < 1130) {\n return 'چۈشتىن بۇرۇن';\n } else if (hm < 1230) {\n return 'چۈش';\n } else if (hm < 1800) {\n return 'چۈشتىن كېيىن';\n } else {\n return 'كەچ';\n }\n },\n calendar: {\n sameDay: '[بۈگۈن سائەت] LT',\n nextDay: '[ئەتە سائەت] LT',\n nextWeek: '[كېلەركى] dddd [سائەت] LT',\n lastDay: '[تۆنۈگۈن] LT',\n lastWeek: '[ئالدىنقى] dddd [سائەت] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s كېيىن',\n past: '%s بۇرۇن',\n s: 'نەچچە سېكونت',\n ss: '%d سېكونت',\n m: 'بىر مىنۇت',\n mm: '%d مىنۇت',\n h: 'بىر سائەت',\n hh: '%d سائەت',\n d: 'بىر كۈن',\n dd: '%d كۈن',\n M: 'بىر ئاي',\n MM: '%d ئاي',\n y: 'بىر يىل',\n yy: '%d يىل'\n },\n\n dayOfMonthOrdinalParse: /\\d{1,2}(-كۈنى|-ئاي|-ھەپتە)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '-كۈنى';\n case 'w':\n case 'W':\n return number + '-ھەپتە';\n default:\n return number;\n }\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/,/g, '،');\n },\n week: {\n // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效\n dow: 1, // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return ugCn;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var tzmLatn = moment.defineLocale('tzm-latn', {\n months : 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split('_'),\n monthsShort : 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split('_'),\n weekdays : 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),\n weekdaysShort : 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),\n weekdaysMin : 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[asdkh g] LT',\n nextDay: '[aska g] LT',\n nextWeek: 'dddd [g] LT',\n lastDay: '[assant g] LT',\n lastWeek: 'dddd [g] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'dadkh s yan %s',\n past : 'yan %s',\n s : 'imik',\n ss : '%d imik',\n m : 'minuḍ',\n mm : '%d minuḍ',\n h : 'saɛa',\n hh : '%d tassaɛin',\n d : 'ass',\n dd : '%d ossan',\n M : 'ayowr',\n MM : '%d iyyirn',\n y : 'asgas',\n yy : '%d isgasn'\n },\n week : {\n dow : 6, // Saturday is the first day of the week.\n doy : 12 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return tzmLatn;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var tzm = moment.defineLocale('tzm', {\n months : 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split('_'),\n monthsShort : 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split('_'),\n weekdays : 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),\n weekdaysShort : 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),\n weekdaysMin : 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS: 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[ⴰⵙⴷⵅ ⴴ] LT',\n nextDay: '[ⴰⵙⴽⴰ ⴴ] LT',\n nextWeek: 'dddd [ⴴ] LT',\n lastDay: '[ⴰⵚⴰⵏⵜ ⴴ] LT',\n lastWeek: 'dddd [ⴴ] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'ⴷⴰⴷⵅ ⵙ ⵢⴰⵏ %s',\n past : 'ⵢⴰⵏ %s',\n s : 'ⵉⵎⵉⴽ',\n ss : '%d ⵉⵎⵉⴽ',\n m : 'ⵎⵉⵏⵓⴺ',\n mm : '%d ⵎⵉⵏⵓⴺ',\n h : 'ⵙⴰⵄⴰ',\n hh : '%d ⵜⴰⵙⵙⴰⵄⵉⵏ',\n d : 'ⴰⵙⵙ',\n dd : '%d oⵙⵙⴰⵏ',\n M : 'ⴰⵢoⵓⵔ',\n MM : '%d ⵉⵢⵢⵉⵔⵏ',\n y : 'ⴰⵙⴳⴰⵙ',\n yy : '%d ⵉⵙⴳⴰⵙⵏ'\n },\n week : {\n dow : 6, // Saturday is the first day of the week.\n doy : 12 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return tzm;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n // After the year there should be a slash and the amount of years since December 26, 1979 in Roman numerals.\n // This is currently too difficult (maybe even impossible) to add.\n var tzl = moment.defineLocale('tzl', {\n months : 'Januar_Fevraglh_Març_Avrïu_Mai_Gün_Julia_Guscht_Setemvar_Listopäts_Noemvar_Zecemvar'.split('_'),\n monthsShort : 'Jan_Fev_Mar_Avr_Mai_Gün_Jul_Gus_Set_Lis_Noe_Zec'.split('_'),\n weekdays : 'Súladi_Lúneçi_Maitzi_Márcuri_Xhúadi_Viénerçi_Sáturi'.split('_'),\n weekdaysShort : 'Súl_Lún_Mai_Már_Xhú_Vié_Sát'.split('_'),\n weekdaysMin : 'Sú_Lú_Ma_Má_Xh_Vi_Sá'.split('_'),\n longDateFormat : {\n LT : 'HH.mm',\n LTS : 'HH.mm.ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM [dallas] YYYY',\n LLL : 'D. MMMM [dallas] YYYY HH.mm',\n LLLL : 'dddd, [li] D. MMMM [dallas] YYYY HH.mm'\n },\n meridiemParse: /d\\'o|d\\'a/i,\n isPM : function (input) {\n return 'd\\'o' === input.toLowerCase();\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'd\\'o' : 'D\\'O';\n } else {\n return isLower ? 'd\\'a' : 'D\\'A';\n }\n },\n calendar : {\n sameDay : '[oxhi à] LT',\n nextDay : '[demà à] LT',\n nextWeek : 'dddd [à] LT',\n lastDay : '[ieiri à] LT',\n lastWeek : '[sür el] dddd [lasteu à] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'osprei %s',\n past : 'ja%s',\n s : processRelativeTime,\n ss : processRelativeTime,\n m : processRelativeTime,\n mm : processRelativeTime,\n h : processRelativeTime,\n hh : processRelativeTime,\n d : processRelativeTime,\n dd : processRelativeTime,\n M : processRelativeTime,\n MM : processRelativeTime,\n y : processRelativeTime,\n yy : processRelativeTime\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n 's': ['viensas secunds', '\\'iensas secunds'],\n 'ss': [number + ' secunds', '' + number + ' secunds'],\n 'm': ['\\'n míut', '\\'iens míut'],\n 'mm': [number + ' míuts', '' + number + ' míuts'],\n 'h': ['\\'n þora', '\\'iensa þora'],\n 'hh': [number + ' þoras', '' + number + ' þoras'],\n 'd': ['\\'n ziua', '\\'iensa ziua'],\n 'dd': [number + ' ziuas', '' + number + ' ziuas'],\n 'M': ['\\'n mes', '\\'iens mes'],\n 'MM': [number + ' mesen', '' + number + ' mesen'],\n 'y': ['\\'n ar', '\\'iens ar'],\n 'yy': [number + ' ars', '' + number + ' ars']\n };\n return isFuture ? format[key][0] : (withoutSuffix ? format[key][0] : format[key][1]);\n }\n\n return tzl;\n\n})));\n","\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n var suffixes = {\n 1: '\\'inci',\n 5: '\\'inci',\n 8: '\\'inci',\n 70: '\\'inci',\n 80: '\\'inci',\n 2: '\\'nci',\n 7: '\\'nci',\n 20: '\\'nci',\n 50: '\\'nci',\n 3: '\\'üncü',\n 4: '\\'üncü',\n 100: '\\'üncü',\n 6: '\\'ncı',\n 9: '\\'uncu',\n 10: '\\'uncu',\n 30: '\\'uncu',\n 60: '\\'ıncı',\n 90: '\\'ıncı'\n };\n\n var tr = moment.defineLocale('tr', {\n months : 'Ocak_Şubat_Mart_Nisan_Mayıs_Haziran_Temmuz_Ağustos_Eylül_Ekim_Kasım_Aralık'.split('_'),\n monthsShort : 'Oca_Şub_Mar_Nis_May_Haz_Tem_Ağu_Eyl_Eki_Kas_Ara'.split('_'),\n weekdays : 'Pazar_Pazartesi_Salı_Çarşamba_Perşembe_Cuma_Cumartesi'.split('_'),\n weekdaysShort : 'Paz_Pts_Sal_Çar_Per_Cum_Cts'.split('_'),\n weekdaysMin : 'Pz_Pt_Sa_Ça_Pe_Cu_Ct'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[bugün saat] LT',\n nextDay : '[yarın saat] LT',\n nextWeek : '[gelecek] dddd [saat] LT',\n lastDay : '[dün] LT',\n lastWeek : '[geçen] dddd [saat] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s sonra',\n past : '%s önce',\n s : 'birkaç saniye',\n ss : '%d saniye',\n m : 'bir dakika',\n mm : '%d dakika',\n h : 'bir saat',\n hh : '%d saat',\n d : 'bir gün',\n dd : '%d gün',\n M : 'bir ay',\n MM : '%d ay',\n y : 'bir yıl',\n yy : '%d yıl'\n },\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'Do':\n case 'DD':\n return number;\n default:\n if (number === 0) { // special case for zero\n return number + '\\'ıncı';\n }\n var a = number % 10,\n b = number % 100 - a,\n c = number >= 100 ? 100 : null;\n return number + (suffixes[a] || suffixes[b] || suffixes[c]);\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return tr;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var numbersNouns = 'pagh_wa’_cha’_wej_loS_vagh_jav_Soch_chorgh_Hut'.split('_');\n\n function translateFuture(output) {\n var time = output;\n time = (output.indexOf('jaj') !== -1) ?\n time.slice(0, -3) + 'leS' :\n (output.indexOf('jar') !== -1) ?\n time.slice(0, -3) + 'waQ' :\n (output.indexOf('DIS') !== -1) ?\n time.slice(0, -3) + 'nem' :\n time + ' pIq';\n return time;\n }\n\n function translatePast(output) {\n var time = output;\n time = (output.indexOf('jaj') !== -1) ?\n time.slice(0, -3) + 'Hu’' :\n (output.indexOf('jar') !== -1) ?\n time.slice(0, -3) + 'wen' :\n (output.indexOf('DIS') !== -1) ?\n time.slice(0, -3) + 'ben' :\n time + ' ret';\n return time;\n }\n\n function translate(number, withoutSuffix, string, isFuture) {\n var numberNoun = numberAsNoun(number);\n switch (string) {\n case 'ss':\n return numberNoun + ' lup';\n case 'mm':\n return numberNoun + ' tup';\n case 'hh':\n return numberNoun + ' rep';\n case 'dd':\n return numberNoun + ' jaj';\n case 'MM':\n return numberNoun + ' jar';\n case 'yy':\n return numberNoun + ' DIS';\n }\n }\n\n function numberAsNoun(number) {\n var hundred = Math.floor((number % 1000) / 100),\n ten = Math.floor((number % 100) / 10),\n one = number % 10,\n word = '';\n if (hundred > 0) {\n word += numbersNouns[hundred] + 'vatlh';\n }\n if (ten > 0) {\n word += ((word !== '') ? ' ' : '') + numbersNouns[ten] + 'maH';\n }\n if (one > 0) {\n word += ((word !== '') ? ' ' : '') + numbersNouns[one];\n }\n return (word === '') ? 'pagh' : word;\n }\n\n var tlh = moment.defineLocale('tlh', {\n months : 'tera’ jar wa’_tera’ jar cha’_tera’ jar wej_tera’ jar loS_tera’ jar vagh_tera’ jar jav_tera’ jar Soch_tera’ jar chorgh_tera’ jar Hut_tera’ jar wa’maH_tera’ jar wa’maH wa’_tera’ jar wa’maH cha’'.split('_'),\n monthsShort : 'jar wa’_jar cha’_jar wej_jar loS_jar vagh_jar jav_jar Soch_jar chorgh_jar Hut_jar wa’maH_jar wa’maH wa’_jar wa’maH cha’'.split('_'),\n monthsParseExact : true,\n weekdays : 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),\n weekdaysShort : 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),\n weekdaysMin : 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[DaHjaj] LT',\n nextDay: '[wa’leS] LT',\n nextWeek: 'LLL',\n lastDay: '[wa’Hu’] LT',\n lastWeek: 'LLL',\n sameElse: 'L'\n },\n relativeTime : {\n future : translateFuture,\n past : translatePast,\n s : 'puS lup',\n ss : translate,\n m : 'wa’ tup',\n mm : translate,\n h : 'wa’ rep',\n hh : translate,\n d : 'wa’ jaj',\n dd : translate,\n M : 'wa’ jar',\n MM : translate,\n y : 'wa’ DIS',\n yy : translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return tlh;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var tlPh = moment.defineLocale('tl-ph', {\n months : 'Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre'.split('_'),\n monthsShort : 'Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis'.split('_'),\n weekdays : 'Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado'.split('_'),\n weekdaysShort : 'Lin_Lun_Mar_Miy_Huw_Biy_Sab'.split('_'),\n weekdaysMin : 'Li_Lu_Ma_Mi_Hu_Bi_Sab'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'MM/D/YYYY',\n LL : 'MMMM D, YYYY',\n LLL : 'MMMM D, YYYY HH:mm',\n LLLL : 'dddd, MMMM DD, YYYY HH:mm'\n },\n calendar : {\n sameDay: 'LT [ngayong araw]',\n nextDay: '[Bukas ng] LT',\n nextWeek: 'LT [sa susunod na] dddd',\n lastDay: 'LT [kahapon]',\n lastWeek: 'LT [noong nakaraang] dddd',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'sa loob ng %s',\n past : '%s ang nakalipas',\n s : 'ilang segundo',\n ss : '%d segundo',\n m : 'isang minuto',\n mm : '%d minuto',\n h : 'isang oras',\n hh : '%d oras',\n d : 'isang araw',\n dd : '%d araw',\n M : 'isang buwan',\n MM : '%d buwan',\n y : 'isang taon',\n yy : '%d taon'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}/,\n ordinal : function (number) {\n return number;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return tlPh;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var th = moment.defineLocale('th', {\n months : 'มกราคม_กุมภาพันธ์_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_กรกฎาคม_สิงหาคม_กันยายน_ตุลาคม_พฤศจิกายน_ธันวาคม'.split('_'),\n monthsShort : 'ม.ค._ก.พ._มี.ค._เม.ย._พ.ค._มิ.ย._ก.ค._ส.ค._ก.ย._ต.ค._พ.ย._ธ.ค.'.split('_'),\n monthsParseExact: true,\n weekdays : 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัสบดี_ศุกร์_เสาร์'.split('_'),\n weekdaysShort : 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัส_ศุกร์_เสาร์'.split('_'), // yes, three characters difference\n weekdaysMin : 'อา._จ._อ._พ._พฤ._ศ._ส.'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY เวลา H:mm',\n LLLL : 'วันddddที่ D MMMM YYYY เวลา H:mm'\n },\n meridiemParse: /ก่อนเที่ยง|หลังเที่ยง/,\n isPM: function (input) {\n return input === 'หลังเที่ยง';\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ก่อนเที่ยง';\n } else {\n return 'หลังเที่ยง';\n }\n },\n calendar : {\n sameDay : '[วันนี้ เวลา] LT',\n nextDay : '[พรุ่งนี้ เวลา] LT',\n nextWeek : 'dddd[หน้า เวลา] LT',\n lastDay : '[เมื่อวานนี้ เวลา] LT',\n lastWeek : '[วัน]dddd[ที่แล้ว เวลา] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'อีก %s',\n past : '%sที่แล้ว',\n s : 'ไม่กี่วินาที',\n ss : '%d วินาที',\n m : '1 นาที',\n mm : '%d นาที',\n h : '1 ชั่วโมง',\n hh : '%d ชั่วโมง',\n d : '1 วัน',\n dd : '%d วัน',\n M : '1 เดือน',\n MM : '%d เดือน',\n y : '1 ปี',\n yy : '%d ปี'\n }\n });\n\n return th;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var suffixes = {\n 0: '-ум',\n 1: '-ум',\n 2: '-юм',\n 3: '-юм',\n 4: '-ум',\n 5: '-ум',\n 6: '-ум',\n 7: '-ум',\n 8: '-ум',\n 9: '-ум',\n 10: '-ум',\n 12: '-ум',\n 13: '-ум',\n 20: '-ум',\n 30: '-юм',\n 40: '-ум',\n 50: '-ум',\n 60: '-ум',\n 70: '-ум',\n 80: '-ум',\n 90: '-ум',\n 100: '-ум'\n };\n\n var tg = moment.defineLocale('tg', {\n months : 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split('_'),\n monthsShort : 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'),\n weekdays : 'якшанбе_душанбе_сешанбе_чоршанбе_панҷшанбе_ҷумъа_шанбе'.split('_'),\n weekdaysShort : 'яшб_дшб_сшб_чшб_пшб_ҷум_шнб'.split('_'),\n weekdaysMin : 'яш_дш_сш_чш_пш_ҷм_шб'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Имрӯз соати] LT',\n nextDay : '[Пагоҳ соати] LT',\n lastDay : '[Дирӯз соати] LT',\n nextWeek : 'dddd[и] [ҳафтаи оянда соати] LT',\n lastWeek : 'dddd[и] [ҳафтаи гузашта соати] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'баъди %s',\n past : '%s пеш',\n s : 'якчанд сония',\n m : 'як дақиқа',\n mm : '%d дақиқа',\n h : 'як соат',\n hh : '%d соат',\n d : 'як рӯз',\n dd : '%d рӯз',\n M : 'як моҳ',\n MM : '%d моҳ',\n y : 'як сол',\n yy : '%d сол'\n },\n meridiemParse: /шаб|субҳ|рӯз|бегоҳ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'шаб') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'субҳ') {\n return hour;\n } else if (meridiem === 'рӯз') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'бегоҳ') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'шаб';\n } else if (hour < 11) {\n return 'субҳ';\n } else if (hour < 16) {\n return 'рӯз';\n } else if (hour < 19) {\n return 'бегоҳ';\n } else {\n return 'шаб';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ум|юм)/,\n ordinal: function (number) {\n var a = number % 10,\n b = number >= 100 ? 100 : null;\n return number + (suffixes[number] || suffixes[a] || suffixes[b]);\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1th is the first week of the year.\n }\n });\n\n return tg;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var tet = moment.defineLocale('tet', {\n months : 'Janeiru_Fevereiru_Marsu_Abril_Maiu_Juñu_Jullu_Agustu_Setembru_Outubru_Novembru_Dezembru'.split('_'),\n monthsShort : 'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez'.split('_'),\n weekdays : 'Domingu_Segunda_Tersa_Kuarta_Kinta_Sesta_Sabadu'.split('_'),\n weekdaysShort : 'Dom_Seg_Ters_Kua_Kint_Sest_Sab'.split('_'),\n weekdaysMin : 'Do_Seg_Te_Ku_Ki_Ses_Sa'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[Ohin iha] LT',\n nextDay: '[Aban iha] LT',\n nextWeek: 'dddd [iha] LT',\n lastDay: '[Horiseik iha] LT',\n lastWeek: 'dddd [semana kotuk] [iha] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'iha %s',\n past : '%s liuba',\n s : 'minutu balun',\n ss : 'minutu %d',\n m : 'minutu ida',\n mm : 'minutu %d',\n h : 'oras ida',\n hh : 'oras %d',\n d : 'loron ida',\n dd : 'loron %d',\n M : 'fulan ida',\n MM : 'fulan %d',\n y : 'tinan ida',\n yy : 'tinan %d'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return tet;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var te = moment.defineLocale('te', {\n months : 'జనవరి_ఫిబ్రవరి_మార్చి_ఏప్రిల్_మే_జూన్_జూలై_ఆగస్టు_సెప్టెంబర్_అక్టోబర్_నవంబర్_డిసెంబర్'.split('_'),\n monthsShort : 'జన._ఫిబ్ర._మార్చి_ఏప్రి._మే_జూన్_జూలై_ఆగ._సెప్._అక్టో._నవ._డిసె.'.split('_'),\n monthsParseExact : true,\n weekdays : 'ఆదివారం_సోమవారం_మంగళవారం_బుధవారం_గురువారం_శుక్రవారం_శనివారం'.split('_'),\n weekdaysShort : 'ఆది_సోమ_మంగళ_బుధ_గురు_శుక్ర_శని'.split('_'),\n weekdaysMin : 'ఆ_సో_మం_బు_గు_శు_శ'.split('_'),\n longDateFormat : {\n LT : 'A h:mm',\n LTS : 'A h:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, A h:mm',\n LLLL : 'dddd, D MMMM YYYY, A h:mm'\n },\n calendar : {\n sameDay : '[నేడు] LT',\n nextDay : '[రేపు] LT',\n nextWeek : 'dddd, LT',\n lastDay : '[నిన్న] LT',\n lastWeek : '[గత] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s లో',\n past : '%s క్రితం',\n s : 'కొన్ని క్షణాలు',\n ss : '%d సెకన్లు',\n m : 'ఒక నిమిషం',\n mm : '%d నిమిషాలు',\n h : 'ఒక గంట',\n hh : '%d గంటలు',\n d : 'ఒక రోజు',\n dd : '%d రోజులు',\n M : 'ఒక నెల',\n MM : '%d నెలలు',\n y : 'ఒక సంవత్సరం',\n yy : '%d సంవత్సరాలు'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}వ/,\n ordinal : '%dవ',\n meridiemParse: /రాత్రి|ఉదయం|మధ్యాహ్నం|సాయంత్రం/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'రాత్రి') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'ఉదయం') {\n return hour;\n } else if (meridiem === 'మధ్యాహ్నం') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'సాయంత్రం') {\n return hour + 12;\n }\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'రాత్రి';\n } else if (hour < 10) {\n return 'ఉదయం';\n } else if (hour < 17) {\n return 'మధ్యాహ్నం';\n } else if (hour < 20) {\n return 'సాయంత్రం';\n } else {\n return 'రాత్రి';\n }\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return te;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '௧',\n '2': '௨',\n '3': '௩',\n '4': '௪',\n '5': '௫',\n '6': '௬',\n '7': '௭',\n '8': '௮',\n '9': '௯',\n '0': '௦'\n }, numberMap = {\n '௧': '1',\n '௨': '2',\n '௩': '3',\n '௪': '4',\n '௫': '5',\n '௬': '6',\n '௭': '7',\n '௮': '8',\n '௯': '9',\n '௦': '0'\n };\n\n var ta = moment.defineLocale('ta', {\n months : 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split('_'),\n monthsShort : 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split('_'),\n weekdays : 'ஞாயிற்றுக்கிழமை_திங்கட்கிழமை_செவ்வாய்கிழமை_புதன்கிழமை_வியாழக்கிழமை_வெள்ளிக்கிழமை_சனிக்கிழமை'.split('_'),\n weekdaysShort : 'ஞாயிறு_திங்கள்_செவ்வாய்_புதன்_வியாழன்_வெள்ளி_சனி'.split('_'),\n weekdaysMin : 'ஞா_தி_செ_பு_வி_வெ_ச'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, HH:mm',\n LLLL : 'dddd, D MMMM YYYY, HH:mm'\n },\n calendar : {\n sameDay : '[இன்று] LT',\n nextDay : '[நாளை] LT',\n nextWeek : 'dddd, LT',\n lastDay : '[நேற்று] LT',\n lastWeek : '[கடந்த வாரம்] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s இல்',\n past : '%s முன்',\n s : 'ஒரு சில விநாடிகள்',\n ss : '%d விநாடிகள்',\n m : 'ஒரு நிமிடம்',\n mm : '%d நிமிடங்கள்',\n h : 'ஒரு மணி நேரம்',\n hh : '%d மணி நேரம்',\n d : 'ஒரு நாள்',\n dd : '%d நாட்கள்',\n M : 'ஒரு மாதம்',\n MM : '%d மாதங்கள்',\n y : 'ஒரு வருடம்',\n yy : '%d ஆண்டுகள்'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}வது/,\n ordinal : function (number) {\n return number + 'வது';\n },\n preparse: function (string) {\n return string.replace(/[௧௨௩௪௫௬௭௮௯௦]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n // refer http://ta.wikipedia.org/s/1er1\n meridiemParse: /யாமம்|வைகறை|காலை|நண்பகல்|எற்பாடு|மாலை/,\n meridiem : function (hour, minute, isLower) {\n if (hour < 2) {\n return ' யாமம்';\n } else if (hour < 6) {\n return ' வைகறை'; // வைகறை\n } else if (hour < 10) {\n return ' காலை'; // காலை\n } else if (hour < 14) {\n return ' நண்பகல்'; // நண்பகல்\n } else if (hour < 18) {\n return ' எற்பாடு'; // எற்பாடு\n } else if (hour < 22) {\n return ' மாலை'; // மாலை\n } else {\n return ' யாமம்';\n }\n },\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'யாமம்') {\n return hour < 2 ? hour : hour + 12;\n } else if (meridiem === 'வைகறை' || meridiem === 'காலை') {\n return hour;\n } else if (meridiem === 'நண்பகல்') {\n return hour >= 10 ? hour : hour + 12;\n } else {\n return hour + 12;\n }\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return ta;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var sw = moment.defineLocale('sw', {\n months : 'Januari_Februari_Machi_Aprili_Mei_Juni_Julai_Agosti_Septemba_Oktoba_Novemba_Desemba'.split('_'),\n monthsShort : 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ago_Sep_Okt_Nov_Des'.split('_'),\n weekdays : 'Jumapili_Jumatatu_Jumanne_Jumatano_Alhamisi_Ijumaa_Jumamosi'.split('_'),\n weekdaysShort : 'Jpl_Jtat_Jnne_Jtan_Alh_Ijm_Jmos'.split('_'),\n weekdaysMin : 'J2_J3_J4_J5_Al_Ij_J1'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[leo saa] LT',\n nextDay : '[kesho saa] LT',\n nextWeek : '[wiki ijayo] dddd [saat] LT',\n lastDay : '[jana] LT',\n lastWeek : '[wiki iliyopita] dddd [saat] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s baadaye',\n past : 'tokea %s',\n s : 'hivi punde',\n ss : 'sekunde %d',\n m : 'dakika moja',\n mm : 'dakika %d',\n h : 'saa limoja',\n hh : 'masaa %d',\n d : 'siku moja',\n dd : 'masiku %d',\n M : 'mwezi mmoja',\n MM : 'miezi %d',\n y : 'mwaka mmoja',\n yy : 'miaka %d'\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return sw;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var sv = moment.defineLocale('sv', {\n months : 'januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december'.split('_'),\n monthsShort : 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n weekdays : 'söndag_måndag_tisdag_onsdag_torsdag_fredag_lördag'.split('_'),\n weekdaysShort : 'sön_mån_tis_ons_tor_fre_lör'.split('_'),\n weekdaysMin : 'sö_må_ti_on_to_fr_lö'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY-MM-DD',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY [kl.] HH:mm',\n LLLL : 'dddd D MMMM YYYY [kl.] HH:mm',\n lll : 'D MMM YYYY HH:mm',\n llll : 'ddd D MMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[Idag] LT',\n nextDay: '[Imorgon] LT',\n lastDay: '[Igår] LT',\n nextWeek: '[På] dddd LT',\n lastWeek: '[I] dddd[s] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'om %s',\n past : 'för %s sedan',\n s : 'några sekunder',\n ss : '%d sekunder',\n m : 'en minut',\n mm : '%d minuter',\n h : 'en timme',\n hh : '%d timmar',\n d : 'en dag',\n dd : '%d dagar',\n M : 'en månad',\n MM : '%d månader',\n y : 'ett år',\n yy : '%d år'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(e|a)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'e' :\n (b === 1) ? 'a' :\n (b === 2) ? 'a' :\n (b === 3) ? 'e' : 'e';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return sv;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var ss = moment.defineLocale('ss', {\n months : \"Bhimbidvwane_Indlovana_Indlov'lenkhulu_Mabasa_Inkhwekhweti_Inhlaba_Kholwane_Ingci_Inyoni_Imphala_Lweti_Ingongoni\".split('_'),\n monthsShort : 'Bhi_Ina_Inu_Mab_Ink_Inh_Kho_Igc_Iny_Imp_Lwe_Igo'.split('_'),\n weekdays : 'Lisontfo_Umsombuluko_Lesibili_Lesitsatfu_Lesine_Lesihlanu_Umgcibelo'.split('_'),\n weekdaysShort : 'Lis_Umb_Lsb_Les_Lsi_Lsh_Umg'.split('_'),\n weekdaysMin : 'Li_Us_Lb_Lt_Ls_Lh_Ug'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'h:mm A',\n LTS : 'h:mm:ss A',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY h:mm A',\n LLLL : 'dddd, D MMMM YYYY h:mm A'\n },\n calendar : {\n sameDay : '[Namuhla nga] LT',\n nextDay : '[Kusasa nga] LT',\n nextWeek : 'dddd [nga] LT',\n lastDay : '[Itolo nga] LT',\n lastWeek : 'dddd [leliphelile] [nga] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'nga %s',\n past : 'wenteka nga %s',\n s : 'emizuzwana lomcane',\n ss : '%d mzuzwana',\n m : 'umzuzu',\n mm : '%d emizuzu',\n h : 'lihora',\n hh : '%d emahora',\n d : 'lilanga',\n dd : '%d emalanga',\n M : 'inyanga',\n MM : '%d tinyanga',\n y : 'umnyaka',\n yy : '%d iminyaka'\n },\n meridiemParse: /ekuseni|emini|entsambama|ebusuku/,\n meridiem : function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'ekuseni';\n } else if (hours < 15) {\n return 'emini';\n } else if (hours < 19) {\n return 'entsambama';\n } else {\n return 'ebusuku';\n }\n },\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'ekuseni') {\n return hour;\n } else if (meridiem === 'emini') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'entsambama' || meridiem === 'ebusuku') {\n if (hour === 0) {\n return 0;\n }\n return hour + 12;\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}/,\n ordinal : '%d',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return ss;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var translator = {\n words: { //Different grammatical cases\n ss: ['секунда', 'секунде', 'секунди'],\n m: ['један минут', 'једне минуте'],\n mm: ['минут', 'минуте', 'минута'],\n h: ['један сат', 'једног сата'],\n hh: ['сат', 'сата', 'сати'],\n dd: ['дан', 'дана', 'дана'],\n MM: ['месец', 'месеца', 'месеци'],\n yy: ['година', 'године', 'година']\n },\n correctGrammaticalCase: function (number, wordKey) {\n return number === 1 ? wordKey[0] : (number >= 2 && number <= 4 ? wordKey[1] : wordKey[2]);\n },\n translate: function (number, withoutSuffix, key) {\n var wordKey = translator.words[key];\n if (key.length === 1) {\n return withoutSuffix ? wordKey[0] : wordKey[1];\n } else {\n return number + ' ' + translator.correctGrammaticalCase(number, wordKey);\n }\n }\n };\n\n var srCyrl = moment.defineLocale('sr-cyrl', {\n months: 'јануар_фебруар_март_април_мај_јун_јул_август_септембар_октобар_новембар_децембар'.split('_'),\n monthsShort: 'јан._феб._мар._апр._мај_јун_јул_авг._сеп._окт._нов._дец.'.split('_'),\n monthsParseExact: true,\n weekdays: 'недеља_понедељак_уторак_среда_четвртак_петак_субота'.split('_'),\n weekdaysShort: 'нед._пон._уто._сре._чет._пет._суб.'.split('_'),\n weekdaysMin: 'не_по_ут_ср_че_пе_су'.split('_'),\n weekdaysParseExact : true,\n longDateFormat: {\n LT: 'H:mm',\n LTS : 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd, D. MMMM YYYY H:mm'\n },\n calendar: {\n sameDay: '[данас у] LT',\n nextDay: '[сутра у] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[у] [недељу] [у] LT';\n case 3:\n return '[у] [среду] [у] LT';\n case 6:\n return '[у] [суботу] [у] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[у] dddd [у] LT';\n }\n },\n lastDay : '[јуче у] LT',\n lastWeek : function () {\n var lastWeekDays = [\n '[прошле] [недеље] [у] LT',\n '[прошлог] [понедељка] [у] LT',\n '[прошлог] [уторка] [у] LT',\n '[прошле] [среде] [у] LT',\n '[прошлог] [четвртка] [у] LT',\n '[прошлог] [петка] [у] LT',\n '[прошле] [суботе] [у] LT'\n ];\n return lastWeekDays[this.day()];\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'за %s',\n past : 'пре %s',\n s : 'неколико секунди',\n ss : translator.translate,\n m : translator.translate,\n mm : translator.translate,\n h : translator.translate,\n hh : translator.translate,\n d : 'дан',\n dd : translator.translate,\n M : 'месец',\n MM : translator.translate,\n y : 'годину',\n yy : translator.translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return srCyrl;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var translator = {\n words: { //Different grammatical cases\n ss: ['sekunda', 'sekunde', 'sekundi'],\n m: ['jedan minut', 'jedne minute'],\n mm: ['minut', 'minute', 'minuta'],\n h: ['jedan sat', 'jednog sata'],\n hh: ['sat', 'sata', 'sati'],\n dd: ['dan', 'dana', 'dana'],\n MM: ['mesec', 'meseca', 'meseci'],\n yy: ['godina', 'godine', 'godina']\n },\n correctGrammaticalCase: function (number, wordKey) {\n return number === 1 ? wordKey[0] : (number >= 2 && number <= 4 ? wordKey[1] : wordKey[2]);\n },\n translate: function (number, withoutSuffix, key) {\n var wordKey = translator.words[key];\n if (key.length === 1) {\n return withoutSuffix ? wordKey[0] : wordKey[1];\n } else {\n return number + ' ' + translator.correctGrammaticalCase(number, wordKey);\n }\n }\n };\n\n var sr = moment.defineLocale('sr', {\n months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split('_'),\n monthsShort: 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays: 'nedelja_ponedeljak_utorak_sreda_četvrtak_petak_subota'.split('_'),\n weekdaysShort: 'ned._pon._uto._sre._čet._pet._sub.'.split('_'),\n weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact : true,\n longDateFormat: {\n LT: 'H:mm',\n LTS : 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd, D. MMMM YYYY H:mm'\n },\n calendar: {\n sameDay: '[danas u] LT',\n nextDay: '[sutra u] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[u] [nedelju] [u] LT';\n case 3:\n return '[u] [sredu] [u] LT';\n case 6:\n return '[u] [subotu] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay : '[juče u] LT',\n lastWeek : function () {\n var lastWeekDays = [\n '[prošle] [nedelje] [u] LT',\n '[prošlog] [ponedeljka] [u] LT',\n '[prošlog] [utorka] [u] LT',\n '[prošle] [srede] [u] LT',\n '[prošlog] [četvrtka] [u] LT',\n '[prošlog] [petka] [u] LT',\n '[prošle] [subote] [u] LT'\n ];\n return lastWeekDays[this.day()];\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'za %s',\n past : 'pre %s',\n s : 'nekoliko sekundi',\n ss : translator.translate,\n m : translator.translate,\n mm : translator.translate,\n h : translator.translate,\n hh : translator.translate,\n d : 'dan',\n dd : translator.translate,\n M : 'mesec',\n MM : translator.translate,\n y : 'godinu',\n yy : translator.translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return sr;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var sq = moment.defineLocale('sq', {\n months : 'Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_Nëntor_Dhjetor'.split('_'),\n monthsShort : 'Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_Nën_Dhj'.split('_'),\n weekdays : 'E Diel_E Hënë_E Martë_E Mërkurë_E Enjte_E Premte_E Shtunë'.split('_'),\n weekdaysShort : 'Die_Hën_Mar_Mër_Enj_Pre_Sht'.split('_'),\n weekdaysMin : 'D_H_Ma_Më_E_P_Sh'.split('_'),\n weekdaysParseExact : true,\n meridiemParse: /PD|MD/,\n isPM: function (input) {\n return input.charAt(0) === 'M';\n },\n meridiem : function (hours, minutes, isLower) {\n return hours < 12 ? 'PD' : 'MD';\n },\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Sot në] LT',\n nextDay : '[Nesër në] LT',\n nextWeek : 'dddd [në] LT',\n lastDay : '[Dje në] LT',\n lastWeek : 'dddd [e kaluar në] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'në %s',\n past : '%s më parë',\n s : 'disa sekonda',\n ss : '%d sekonda',\n m : 'një minutë',\n mm : '%d minuta',\n h : 'një orë',\n hh : '%d orë',\n d : 'një ditë',\n dd : '%d ditë',\n M : 'një muaj',\n MM : '%d muaj',\n y : 'një vit',\n yy : '%d vite'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return sq;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n switch (key) {\n case 's':\n return withoutSuffix || isFuture ? 'nekaj sekund' : 'nekaj sekundami';\n case 'ss':\n if (number === 1) {\n result += withoutSuffix ? 'sekundo' : 'sekundi';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'sekundi' : 'sekundah';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'sekunde' : 'sekundah';\n } else {\n result += withoutSuffix || isFuture ? 'sekund' : 'sekund';\n }\n return result;\n case 'm':\n return withoutSuffix ? 'ena minuta' : 'eno minuto';\n case 'mm':\n if (number === 1) {\n result += withoutSuffix ? 'minuta' : 'minuto';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'minuti' : 'minutama';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'minute' : 'minutami';\n } else {\n result += withoutSuffix || isFuture ? 'minut' : 'minutami';\n }\n return result;\n case 'h':\n return withoutSuffix ? 'ena ura' : 'eno uro';\n case 'hh':\n if (number === 1) {\n result += withoutSuffix ? 'ura' : 'uro';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'uri' : 'urama';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'ure' : 'urami';\n } else {\n result += withoutSuffix || isFuture ? 'ur' : 'urami';\n }\n return result;\n case 'd':\n return withoutSuffix || isFuture ? 'en dan' : 'enim dnem';\n case 'dd':\n if (number === 1) {\n result += withoutSuffix || isFuture ? 'dan' : 'dnem';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'dni' : 'dnevoma';\n } else {\n result += withoutSuffix || isFuture ? 'dni' : 'dnevi';\n }\n return result;\n case 'M':\n return withoutSuffix || isFuture ? 'en mesec' : 'enim mesecem';\n case 'MM':\n if (number === 1) {\n result += withoutSuffix || isFuture ? 'mesec' : 'mesecem';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'meseca' : 'mesecema';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'mesece' : 'meseci';\n } else {\n result += withoutSuffix || isFuture ? 'mesecev' : 'meseci';\n }\n return result;\n case 'y':\n return withoutSuffix || isFuture ? 'eno leto' : 'enim letom';\n case 'yy':\n if (number === 1) {\n result += withoutSuffix || isFuture ? 'leto' : 'letom';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'leti' : 'letoma';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'leta' : 'leti';\n } else {\n result += withoutSuffix || isFuture ? 'let' : 'leti';\n }\n return result;\n }\n }\n\n var sl = moment.defineLocale('sl', {\n months : 'januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december'.split('_'),\n monthsShort : 'jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays : 'nedelja_ponedeljek_torek_sreda_četrtek_petek_sobota'.split('_'),\n weekdaysShort : 'ned._pon._tor._sre._čet._pet._sob.'.split('_'),\n weekdaysMin : 'ne_po_to_sr_če_pe_so'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY H:mm',\n LLLL : 'dddd, D. MMMM YYYY H:mm'\n },\n calendar : {\n sameDay : '[danes ob] LT',\n nextDay : '[jutri ob] LT',\n\n nextWeek : function () {\n switch (this.day()) {\n case 0:\n return '[v] [nedeljo] [ob] LT';\n case 3:\n return '[v] [sredo] [ob] LT';\n case 6:\n return '[v] [soboto] [ob] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[v] dddd [ob] LT';\n }\n },\n lastDay : '[včeraj ob] LT',\n lastWeek : function () {\n switch (this.day()) {\n case 0:\n return '[prejšnjo] [nedeljo] [ob] LT';\n case 3:\n return '[prejšnjo] [sredo] [ob] LT';\n case 6:\n return '[prejšnjo] [soboto] [ob] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[prejšnji] dddd [ob] LT';\n }\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'čez %s',\n past : 'pred %s',\n s : processRelativeTime,\n ss : processRelativeTime,\n m : processRelativeTime,\n mm : processRelativeTime,\n h : processRelativeTime,\n hh : processRelativeTime,\n d : processRelativeTime,\n dd : processRelativeTime,\n M : processRelativeTime,\n MM : processRelativeTime,\n y : processRelativeTime,\n yy : processRelativeTime\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return sl;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var months = 'január_február_marec_apríl_máj_jún_júl_august_september_október_november_december'.split('_'),\n monthsShort = 'jan_feb_mar_apr_máj_jún_júl_aug_sep_okt_nov_dec'.split('_');\n function plural(n) {\n return (n > 1) && (n < 5);\n }\n function translate(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n switch (key) {\n case 's': // a few seconds / in a few seconds / a few seconds ago\n return (withoutSuffix || isFuture) ? 'pár sekúnd' : 'pár sekundami';\n case 'ss': // 9 seconds / in 9 seconds / 9 seconds ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'sekundy' : 'sekúnd');\n } else {\n return result + 'sekundami';\n }\n break;\n case 'm': // a minute / in a minute / a minute ago\n return withoutSuffix ? 'minúta' : (isFuture ? 'minútu' : 'minútou');\n case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'minúty' : 'minút');\n } else {\n return result + 'minútami';\n }\n break;\n case 'h': // an hour / in an hour / an hour ago\n return withoutSuffix ? 'hodina' : (isFuture ? 'hodinu' : 'hodinou');\n case 'hh': // 9 hours / in 9 hours / 9 hours ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'hodiny' : 'hodín');\n } else {\n return result + 'hodinami';\n }\n break;\n case 'd': // a day / in a day / a day ago\n return (withoutSuffix || isFuture) ? 'deň' : 'dňom';\n case 'dd': // 9 days / in 9 days / 9 days ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'dni' : 'dní');\n } else {\n return result + 'dňami';\n }\n break;\n case 'M': // a month / in a month / a month ago\n return (withoutSuffix || isFuture) ? 'mesiac' : 'mesiacom';\n case 'MM': // 9 months / in 9 months / 9 months ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'mesiace' : 'mesiacov');\n } else {\n return result + 'mesiacmi';\n }\n break;\n case 'y': // a year / in a year / a year ago\n return (withoutSuffix || isFuture) ? 'rok' : 'rokom';\n case 'yy': // 9 years / in 9 years / 9 years ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'roky' : 'rokov');\n } else {\n return result + 'rokmi';\n }\n break;\n }\n }\n\n var sk = moment.defineLocale('sk', {\n months : months,\n monthsShort : monthsShort,\n weekdays : 'nedeľa_pondelok_utorok_streda_štvrtok_piatok_sobota'.split('_'),\n weekdaysShort : 'ne_po_ut_st_št_pi_so'.split('_'),\n weekdaysMin : 'ne_po_ut_st_št_pi_so'.split('_'),\n longDateFormat : {\n LT: 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY H:mm',\n LLLL : 'dddd D. MMMM YYYY H:mm'\n },\n calendar : {\n sameDay: '[dnes o] LT',\n nextDay: '[zajtra o] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[v nedeľu o] LT';\n case 1:\n case 2:\n return '[v] dddd [o] LT';\n case 3:\n return '[v stredu o] LT';\n case 4:\n return '[vo štvrtok o] LT';\n case 5:\n return '[v piatok o] LT';\n case 6:\n return '[v sobotu o] LT';\n }\n },\n lastDay: '[včera o] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[minulú nedeľu o] LT';\n case 1:\n case 2:\n return '[minulý] dddd [o] LT';\n case 3:\n return '[minulú stredu o] LT';\n case 4:\n case 5:\n return '[minulý] dddd [o] LT';\n case 6:\n return '[minulú sobotu o] LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : 'za %s',\n past : 'pred %s',\n s : translate,\n ss : translate,\n m : translate,\n mm : translate,\n h : translate,\n hh : translate,\n d : translate,\n dd : translate,\n M : translate,\n MM : translate,\n y : translate,\n yy : translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return sk;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n /*jshint -W100*/\n var si = moment.defineLocale('si', {\n months : 'ජනවාරි_පෙබරවාරි_මාර්තු_අප්‍රේල්_මැයි_ජූනි_ජූලි_අගෝස්තු_සැප්තැම්බර්_ඔක්තෝබර්_නොවැම්බර්_දෙසැම්බර්'.split('_'),\n monthsShort : 'ජන_පෙබ_මාර්_අප්_මැයි_ජූනි_ජූලි_අගෝ_සැප්_ඔක්_නොවැ_දෙසැ'.split('_'),\n weekdays : 'ඉරිදා_සඳුදා_අඟහරුවාදා_බදාදා_බ්‍රහස්පතින්දා_සිකුරාදා_සෙනසුරාදා'.split('_'),\n weekdaysShort : 'ඉරි_සඳු_අඟ_බදා_බ්‍රහ_සිකු_සෙන'.split('_'),\n weekdaysMin : 'ඉ_ස_අ_බ_බ්‍ර_සි_සෙ'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'a h:mm',\n LTS : 'a h:mm:ss',\n L : 'YYYY/MM/DD',\n LL : 'YYYY MMMM D',\n LLL : 'YYYY MMMM D, a h:mm',\n LLLL : 'YYYY MMMM D [වැනි] dddd, a h:mm:ss'\n },\n calendar : {\n sameDay : '[අද] LT[ට]',\n nextDay : '[හෙට] LT[ට]',\n nextWeek : 'dddd LT[ට]',\n lastDay : '[ඊයේ] LT[ට]',\n lastWeek : '[පසුගිය] dddd LT[ට]',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%sකින්',\n past : '%sකට පෙර',\n s : 'තත්පර කිහිපය',\n ss : 'තත්පර %d',\n m : 'මිනිත්තුව',\n mm : 'මිනිත්තු %d',\n h : 'පැය',\n hh : 'පැය %d',\n d : 'දිනය',\n dd : 'දින %d',\n M : 'මාසය',\n MM : 'මාස %d',\n y : 'වසර',\n yy : 'වසර %d'\n },\n dayOfMonthOrdinalParse: /\\d{1,2} වැනි/,\n ordinal : function (number) {\n return number + ' වැනි';\n },\n meridiemParse : /පෙර වරු|පස් වරු|පෙ.ව|ප.ව./,\n isPM : function (input) {\n return input === 'ප.ව.' || input === 'පස් වරු';\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'ප.ව.' : 'පස් වරු';\n } else {\n return isLower ? 'පෙ.ව.' : 'පෙර වරු';\n }\n }\n });\n\n return si;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var se = moment.defineLocale('se', {\n months : 'ođđajagemánnu_guovvamánnu_njukčamánnu_cuoŋománnu_miessemánnu_geassemánnu_suoidnemánnu_borgemánnu_čakčamánnu_golggotmánnu_skábmamánnu_juovlamánnu'.split('_'),\n monthsShort : 'ođđj_guov_njuk_cuo_mies_geas_suoi_borg_čakč_golg_skáb_juov'.split('_'),\n weekdays : 'sotnabeaivi_vuossárga_maŋŋebárga_gaskavahkku_duorastat_bearjadat_lávvardat'.split('_'),\n weekdaysShort : 'sotn_vuos_maŋ_gask_duor_bear_láv'.split('_'),\n weekdaysMin : 's_v_m_g_d_b_L'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'MMMM D. [b.] YYYY',\n LLL : 'MMMM D. [b.] YYYY [ti.] HH:mm',\n LLLL : 'dddd, MMMM D. [b.] YYYY [ti.] HH:mm'\n },\n calendar : {\n sameDay: '[otne ti] LT',\n nextDay: '[ihttin ti] LT',\n nextWeek: 'dddd [ti] LT',\n lastDay: '[ikte ti] LT',\n lastWeek: '[ovddit] dddd [ti] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : '%s geažes',\n past : 'maŋit %s',\n s : 'moadde sekunddat',\n ss: '%d sekunddat',\n m : 'okta minuhta',\n mm : '%d minuhtat',\n h : 'okta diimmu',\n hh : '%d diimmut',\n d : 'okta beaivi',\n dd : '%d beaivvit',\n M : 'okta mánnu',\n MM : '%d mánut',\n y : 'okta jahki',\n yy : '%d jagit'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return se;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var months = [\n 'جنوري',\n 'فيبروري',\n 'مارچ',\n 'اپريل',\n 'مئي',\n 'جون',\n 'جولاءِ',\n 'آگسٽ',\n 'سيپٽمبر',\n 'آڪٽوبر',\n 'نومبر',\n 'ڊسمبر'\n ];\n var days = [\n 'آچر',\n 'سومر',\n 'اڱارو',\n 'اربع',\n 'خميس',\n 'جمع',\n 'ڇنڇر'\n ];\n\n var sd = moment.defineLocale('sd', {\n months : months,\n monthsShort : months,\n weekdays : days,\n weekdaysShort : days,\n weekdaysMin : days,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd، D MMMM YYYY HH:mm'\n },\n meridiemParse: /صبح|شام/,\n isPM : function (input) {\n return 'شام' === input;\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'صبح';\n }\n return 'شام';\n },\n calendar : {\n sameDay : '[اڄ] LT',\n nextDay : '[سڀاڻي] LT',\n nextWeek : 'dddd [اڳين هفتي تي] LT',\n lastDay : '[ڪالهه] LT',\n lastWeek : '[گزريل هفتي] dddd [تي] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s پوء',\n past : '%s اڳ',\n s : 'چند سيڪنڊ',\n ss : '%d سيڪنڊ',\n m : 'هڪ منٽ',\n mm : '%d منٽ',\n h : 'هڪ ڪلاڪ',\n hh : '%d ڪلاڪ',\n d : 'هڪ ڏينهن',\n dd : '%d ڏينهن',\n M : 'هڪ مهينو',\n MM : '%d مهينا',\n y : 'هڪ سال',\n yy : '%d سال'\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/,/g, '،');\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return sd;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function plural(word, num) {\n var forms = word.split('_');\n return num % 10 === 1 && num % 100 !== 11 ? forms[0] : (num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) ? forms[1] : forms[2]);\n }\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n var format = {\n 'ss': withoutSuffix ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд',\n 'mm': withoutSuffix ? 'минута_минуты_минут' : 'минуту_минуты_минут',\n 'hh': 'час_часа_часов',\n 'dd': 'день_дня_дней',\n 'MM': 'месяц_месяца_месяцев',\n 'yy': 'год_года_лет'\n };\n if (key === 'm') {\n return withoutSuffix ? 'минута' : 'минуту';\n }\n else {\n return number + ' ' + plural(format[key], +number);\n }\n }\n var monthsParse = [/^янв/i, /^фев/i, /^мар/i, /^апр/i, /^ма[йя]/i, /^июн/i, /^июл/i, /^авг/i, /^сен/i, /^окт/i, /^ноя/i, /^дек/i];\n\n // http://new.gramota.ru/spravka/rules/139-prop : § 103\n // Сокращения месяцев: http://new.gramota.ru/spravka/buro/search-answer?s=242637\n // CLDR data: http://www.unicode.org/cldr/charts/28/summary/ru.html#1753\n var ru = moment.defineLocale('ru', {\n months : {\n format: 'января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря'.split('_'),\n standalone: 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split('_')\n },\n monthsShort : {\n // по CLDR именно \"июл.\" и \"июн.\", но какой смысл менять букву на точку ?\n format: 'янв._февр._мар._апр._мая_июня_июля_авг._сент._окт._нояб._дек.'.split('_'),\n standalone: 'янв._февр._март_апр._май_июнь_июль_авг._сент._окт._нояб._дек.'.split('_')\n },\n weekdays : {\n standalone: 'воскресенье_понедельник_вторник_среда_четверг_пятница_суббота'.split('_'),\n format: 'воскресенье_понедельник_вторник_среду_четверг_пятницу_субботу'.split('_'),\n isFormat: /\\[ ?[Вв] ?(?:прошлую|следующую|эту)? ?\\] ?dddd/\n },\n weekdaysShort : 'вс_пн_вт_ср_чт_пт_сб'.split('_'),\n weekdaysMin : 'вс_пн_вт_ср_чт_пт_сб'.split('_'),\n monthsParse : monthsParse,\n longMonthsParse : monthsParse,\n shortMonthsParse : monthsParse,\n\n // полные названия с падежами, по три буквы, для некоторых, по 4 буквы, сокращения с точкой и без точки\n monthsRegex: /^(январ[ья]|янв\\.?|феврал[ья]|февр?\\.?|марта?|мар\\.?|апрел[ья]|апр\\.?|ма[йя]|июн[ья]|июн\\.?|июл[ья]|июл\\.?|августа?|авг\\.?|сентябр[ья]|сент?\\.?|октябр[ья]|окт\\.?|ноябр[ья]|нояб?\\.?|декабр[ья]|дек\\.?)/i,\n\n // копия предыдущего\n monthsShortRegex: /^(январ[ья]|янв\\.?|феврал[ья]|февр?\\.?|марта?|мар\\.?|апрел[ья]|апр\\.?|ма[йя]|июн[ья]|июн\\.?|июл[ья]|июл\\.?|августа?|авг\\.?|сентябр[ья]|сент?\\.?|октябр[ья]|окт\\.?|ноябр[ья]|нояб?\\.?|декабр[ья]|дек\\.?)/i,\n\n // полные названия с падежами\n monthsStrictRegex: /^(январ[яь]|феврал[яь]|марта?|апрел[яь]|ма[яй]|июн[яь]|июл[яь]|августа?|сентябр[яь]|октябр[яь]|ноябр[яь]|декабр[яь])/i,\n\n // Выражение, которое соотвествует только сокращённым формам\n monthsShortStrictRegex: /^(янв\\.|февр?\\.|мар[т.]|апр\\.|ма[яй]|июн[ья.]|июл[ья.]|авг\\.|сент?\\.|окт\\.|нояб?\\.|дек\\.)/i,\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY г.',\n LLL : 'D MMMM YYYY г., H:mm',\n LLLL : 'dddd, D MMMM YYYY г., H:mm'\n },\n calendar : {\n sameDay: '[Сегодня, в] LT',\n nextDay: '[Завтра, в] LT',\n lastDay: '[Вчера, в] LT',\n nextWeek: function (now) {\n if (now.week() !== this.week()) {\n switch (this.day()) {\n case 0:\n return '[В следующее] dddd, [в] LT';\n case 1:\n case 2:\n case 4:\n return '[В следующий] dddd, [в] LT';\n case 3:\n case 5:\n case 6:\n return '[В следующую] dddd, [в] LT';\n }\n } else {\n if (this.day() === 2) {\n return '[Во] dddd, [в] LT';\n } else {\n return '[В] dddd, [в] LT';\n }\n }\n },\n lastWeek: function (now) {\n if (now.week() !== this.week()) {\n switch (this.day()) {\n case 0:\n return '[В прошлое] dddd, [в] LT';\n case 1:\n case 2:\n case 4:\n return '[В прошлый] dddd, [в] LT';\n case 3:\n case 5:\n case 6:\n return '[В прошлую] dddd, [в] LT';\n }\n } else {\n if (this.day() === 2) {\n return '[Во] dddd, [в] LT';\n } else {\n return '[В] dddd, [в] LT';\n }\n }\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : 'через %s',\n past : '%s назад',\n s : 'несколько секунд',\n ss : relativeTimeWithPlural,\n m : relativeTimeWithPlural,\n mm : relativeTimeWithPlural,\n h : 'час',\n hh : relativeTimeWithPlural,\n d : 'день',\n dd : relativeTimeWithPlural,\n M : 'месяц',\n MM : relativeTimeWithPlural,\n y : 'год',\n yy : relativeTimeWithPlural\n },\n meridiemParse: /ночи|утра|дня|вечера/i,\n isPM : function (input) {\n return /^(дня|вечера)$/.test(input);\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ночи';\n } else if (hour < 12) {\n return 'утра';\n } else if (hour < 17) {\n return 'дня';\n } else {\n return 'вечера';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(й|го|я)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'M':\n case 'd':\n case 'DDD':\n return number + '-й';\n case 'D':\n return number + '-го';\n case 'w':\n case 'W':\n return number + '-я';\n default:\n return number;\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return ru;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n var format = {\n 'ss': 'secunde',\n 'mm': 'minute',\n 'hh': 'ore',\n 'dd': 'zile',\n 'MM': 'luni',\n 'yy': 'ani'\n },\n separator = ' ';\n if (number % 100 >= 20 || (number >= 100 && number % 100 === 0)) {\n separator = ' de ';\n }\n return number + separator + format[key];\n }\n\n var ro = moment.defineLocale('ro', {\n months : 'ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie'.split('_'),\n monthsShort : 'ian._febr._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays : 'duminică_luni_marți_miercuri_joi_vineri_sâmbătă'.split('_'),\n weekdaysShort : 'Dum_Lun_Mar_Mie_Joi_Vin_Sâm'.split('_'),\n weekdaysMin : 'Du_Lu_Ma_Mi_Jo_Vi_Sâ'.split('_'),\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY H:mm',\n LLLL : 'dddd, D MMMM YYYY H:mm'\n },\n calendar : {\n sameDay: '[azi la] LT',\n nextDay: '[mâine la] LT',\n nextWeek: 'dddd [la] LT',\n lastDay: '[ieri la] LT',\n lastWeek: '[fosta] dddd [la] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'peste %s',\n past : '%s în urmă',\n s : 'câteva secunde',\n ss : relativeTimeWithPlural,\n m : 'un minut',\n mm : relativeTimeWithPlural,\n h : 'o oră',\n hh : relativeTimeWithPlural,\n d : 'o zi',\n dd : relativeTimeWithPlural,\n M : 'o lună',\n MM : relativeTimeWithPlural,\n y : 'un an',\n yy : relativeTimeWithPlural\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return ro;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var ptBr = moment.defineLocale('pt-br', {\n months : 'janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro'.split('_'),\n monthsShort : 'jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez'.split('_'),\n weekdays : 'Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado'.split('_'),\n weekdaysShort : 'Dom_Seg_Ter_Qua_Qui_Sex_Sáb'.split('_'),\n weekdaysMin : 'Do_2ª_3ª_4ª_5ª_6ª_Sá'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D [de] MMMM [de] YYYY',\n LLL : 'D [de] MMMM [de] YYYY [às] HH:mm',\n LLLL : 'dddd, D [de] MMMM [de] YYYY [às] HH:mm'\n },\n calendar : {\n sameDay: '[Hoje às] LT',\n nextDay: '[Amanhã às] LT',\n nextWeek: 'dddd [às] LT',\n lastDay: '[Ontem às] LT',\n lastWeek: function () {\n return (this.day() === 0 || this.day() === 6) ?\n '[Último] dddd [às] LT' : // Saturday + Sunday\n '[Última] dddd [às] LT'; // Monday - Friday\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : 'em %s',\n past : 'há %s',\n s : 'poucos segundos',\n ss : '%d segundos',\n m : 'um minuto',\n mm : '%d minutos',\n h : 'uma hora',\n hh : '%d horas',\n d : 'um dia',\n dd : '%d dias',\n M : 'um mês',\n MM : '%d meses',\n y : 'um ano',\n yy : '%d anos'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal : '%dº'\n });\n\n return ptBr;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var pt = moment.defineLocale('pt', {\n months : 'janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro'.split('_'),\n monthsShort : 'jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez'.split('_'),\n weekdays : 'Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado'.split('_'),\n weekdaysShort : 'Dom_Seg_Ter_Qua_Qui_Sex_Sáb'.split('_'),\n weekdaysMin : 'Do_2ª_3ª_4ª_5ª_6ª_Sá'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D [de] MMMM [de] YYYY',\n LLL : 'D [de] MMMM [de] YYYY HH:mm',\n LLLL : 'dddd, D [de] MMMM [de] YYYY HH:mm'\n },\n calendar : {\n sameDay: '[Hoje às] LT',\n nextDay: '[Amanhã às] LT',\n nextWeek: 'dddd [às] LT',\n lastDay: '[Ontem às] LT',\n lastWeek: function () {\n return (this.day() === 0 || this.day() === 6) ?\n '[Último] dddd [às] LT' : // Saturday + Sunday\n '[Última] dddd [às] LT'; // Monday - Friday\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : 'em %s',\n past : 'há %s',\n s : 'segundos',\n ss : '%d segundos',\n m : 'um minuto',\n mm : '%d minutos',\n h : 'uma hora',\n hh : '%d horas',\n d : 'um dia',\n dd : '%d dias',\n M : 'um mês',\n MM : '%d meses',\n y : 'um ano',\n yy : '%d anos'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal : '%dº',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return pt;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var monthsNominative = 'styczeń_luty_marzec_kwiecień_maj_czerwiec_lipiec_sierpień_wrzesień_październik_listopad_grudzień'.split('_'),\n monthsSubjective = 'stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_września_października_listopada_grudnia'.split('_');\n function plural(n) {\n return (n % 10 < 5) && (n % 10 > 1) && ((~~(n / 10) % 10) !== 1);\n }\n function translate(number, withoutSuffix, key) {\n var result = number + ' ';\n switch (key) {\n case 'ss':\n return result + (plural(number) ? 'sekundy' : 'sekund');\n case 'm':\n return withoutSuffix ? 'minuta' : 'minutę';\n case 'mm':\n return result + (plural(number) ? 'minuty' : 'minut');\n case 'h':\n return withoutSuffix ? 'godzina' : 'godzinę';\n case 'hh':\n return result + (plural(number) ? 'godziny' : 'godzin');\n case 'MM':\n return result + (plural(number) ? 'miesiące' : 'miesięcy');\n case 'yy':\n return result + (plural(number) ? 'lata' : 'lat');\n }\n }\n\n var pl = moment.defineLocale('pl', {\n months : function (momentToFormat, format) {\n if (!momentToFormat) {\n return monthsNominative;\n } else if (format === '') {\n // Hack: if format empty we know this is used to generate\n // RegExp by moment. Give then back both valid forms of months\n // in RegExp ready format.\n return '(' + monthsSubjective[momentToFormat.month()] + '|' + monthsNominative[momentToFormat.month()] + ')';\n } else if (/D MMMM/.test(format)) {\n return monthsSubjective[momentToFormat.month()];\n } else {\n return monthsNominative[momentToFormat.month()];\n }\n },\n monthsShort : 'sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paź_lis_gru'.split('_'),\n weekdays : 'niedziela_poniedziałek_wtorek_środa_czwartek_piątek_sobota'.split('_'),\n weekdaysShort : 'ndz_pon_wt_śr_czw_pt_sob'.split('_'),\n weekdaysMin : 'Nd_Pn_Wt_Śr_Cz_Pt_So'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[Dziś o] LT',\n nextDay: '[Jutro o] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[W niedzielę o] LT';\n\n case 2:\n return '[We wtorek o] LT';\n\n case 3:\n return '[W środę o] LT';\n\n case 6:\n return '[W sobotę o] LT';\n\n default:\n return '[W] dddd [o] LT';\n }\n },\n lastDay: '[Wczoraj o] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[W zeszłą niedzielę o] LT';\n case 3:\n return '[W zeszłą środę o] LT';\n case 6:\n return '[W zeszłą sobotę o] LT';\n default:\n return '[W zeszły] dddd [o] LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : 'za %s',\n past : '%s temu',\n s : 'kilka sekund',\n ss : translate,\n m : translate,\n mm : translate,\n h : translate,\n hh : translate,\n d : '1 dzień',\n dd : '%d dni',\n M : 'miesiąc',\n MM : translate,\n y : 'rok',\n yy : translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return pl;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '੧',\n '2': '੨',\n '3': '੩',\n '4': '੪',\n '5': '੫',\n '6': '੬',\n '7': '੭',\n '8': '੮',\n '9': '੯',\n '0': '੦'\n },\n numberMap = {\n '੧': '1',\n '੨': '2',\n '੩': '3',\n '੪': '4',\n '੫': '5',\n '੬': '6',\n '੭': '7',\n '੮': '8',\n '੯': '9',\n '੦': '0'\n };\n\n var paIn = moment.defineLocale('pa-in', {\n // There are months name as per Nanakshahi Calender but they are not used as rigidly in modern Punjabi.\n months : 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split('_'),\n monthsShort : 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split('_'),\n weekdays : 'ਐਤਵਾਰ_ਸੋਮਵਾਰ_ਮੰਗਲਵਾਰ_ਬੁਧਵਾਰ_ਵੀਰਵਾਰ_ਸ਼ੁੱਕਰਵਾਰ_ਸ਼ਨੀਚਰਵਾਰ'.split('_'),\n weekdaysShort : 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'),\n weekdaysMin : 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'),\n longDateFormat : {\n LT : 'A h:mm ਵਜੇ',\n LTS : 'A h:mm:ss ਵਜੇ',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, A h:mm ਵਜੇ',\n LLLL : 'dddd, D MMMM YYYY, A h:mm ਵਜੇ'\n },\n calendar : {\n sameDay : '[ਅਜ] LT',\n nextDay : '[ਕਲ] LT',\n nextWeek : '[ਅਗਲਾ] dddd, LT',\n lastDay : '[ਕਲ] LT',\n lastWeek : '[ਪਿਛਲੇ] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s ਵਿੱਚ',\n past : '%s ਪਿਛਲੇ',\n s : 'ਕੁਝ ਸਕਿੰਟ',\n ss : '%d ਸਕਿੰਟ',\n m : 'ਇਕ ਮਿੰਟ',\n mm : '%d ਮਿੰਟ',\n h : 'ਇੱਕ ਘੰਟਾ',\n hh : '%d ਘੰਟੇ',\n d : 'ਇੱਕ ਦਿਨ',\n dd : '%d ਦਿਨ',\n M : 'ਇੱਕ ਮਹੀਨਾ',\n MM : '%d ਮਹੀਨੇ',\n y : 'ਇੱਕ ਸਾਲ',\n yy : '%d ਸਾਲ'\n },\n preparse: function (string) {\n return string.replace(/[੧੨੩੪੫੬੭੮੯੦]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n // Punjabi notation for meridiems are quite fuzzy in practice. While there exists\n // a rigid notion of a 'Pahar' it is not used as rigidly in modern Punjabi.\n meridiemParse: /ਰਾਤ|ਸਵੇਰ|ਦੁਪਹਿਰ|ਸ਼ਾਮ/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'ਰਾਤ') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'ਸਵੇਰ') {\n return hour;\n } else if (meridiem === 'ਦੁਪਹਿਰ') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'ਸ਼ਾਮ') {\n return hour + 12;\n }\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ਰਾਤ';\n } else if (hour < 10) {\n return 'ਸਵੇਰ';\n } else if (hour < 17) {\n return 'ਦੁਪਹਿਰ';\n } else if (hour < 20) {\n return 'ਸ਼ਾਮ';\n } else {\n return 'ਰਾਤ';\n }\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return paIn;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var nn = moment.defineLocale('nn', {\n months : 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split('_'),\n monthsShort : 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'),\n weekdays : 'sundag_måndag_tysdag_onsdag_torsdag_fredag_laurdag'.split('_'),\n weekdaysShort : 'sun_mån_tys_ons_tor_fre_lau'.split('_'),\n weekdaysMin : 'su_må_ty_on_to_fr_lø'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY [kl.] H:mm',\n LLLL : 'dddd D. MMMM YYYY [kl.] HH:mm'\n },\n calendar : {\n sameDay: '[I dag klokka] LT',\n nextDay: '[I morgon klokka] LT',\n nextWeek: 'dddd [klokka] LT',\n lastDay: '[I går klokka] LT',\n lastWeek: '[Føregåande] dddd [klokka] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'om %s',\n past : '%s sidan',\n s : 'nokre sekund',\n ss : '%d sekund',\n m : 'eit minutt',\n mm : '%d minutt',\n h : 'ein time',\n hh : '%d timar',\n d : 'ein dag',\n dd : '%d dagar',\n M : 'ein månad',\n MM : '%d månader',\n y : 'eit år',\n yy : '%d år'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return nn;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var monthsShortWithDots = 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'),\n monthsShortWithoutDots = 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_');\n\n var monthsParse = [/^jan/i, /^feb/i, /^maart|mrt.?$/i, /^apr/i, /^mei$/i, /^jun[i.]?$/i, /^jul[i.]?$/i, /^aug/i, /^sep/i, /^okt/i, /^nov/i, /^dec/i];\n var monthsRegex = /^(januari|februari|maart|april|mei|april|ju[nl]i|augustus|september|oktober|november|december|jan\\.?|feb\\.?|mrt\\.?|apr\\.?|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i;\n\n var nlBe = moment.defineLocale('nl-be', {\n months : 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split('_'),\n monthsShort : function (m, format) {\n if (!m) {\n return monthsShortWithDots;\n } else if (/-MMM-/.test(format)) {\n return monthsShortWithoutDots[m.month()];\n } else {\n return monthsShortWithDots[m.month()];\n }\n },\n\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: /^(januari|februari|maart|mei|ju[nl]i|april|augustus|september|oktober|november|december)/i,\n monthsShortStrictRegex: /^(jan\\.?|feb\\.?|mrt\\.?|apr\\.?|mei|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i,\n\n monthsParse : monthsParse,\n longMonthsParse : monthsParse,\n shortMonthsParse : monthsParse,\n\n weekdays : 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split('_'),\n weekdaysShort : 'zo._ma._di._wo._do._vr._za.'.split('_'),\n weekdaysMin : 'zo_ma_di_wo_do_vr_za'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[vandaag om] LT',\n nextDay: '[morgen om] LT',\n nextWeek: 'dddd [om] LT',\n lastDay: '[gisteren om] LT',\n lastWeek: '[afgelopen] dddd [om] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'over %s',\n past : '%s geleden',\n s : 'een paar seconden',\n ss : '%d seconden',\n m : 'één minuut',\n mm : '%d minuten',\n h : 'één uur',\n hh : '%d uur',\n d : 'één dag',\n dd : '%d dagen',\n M : 'één maand',\n MM : '%d maanden',\n y : 'één jaar',\n yy : '%d jaar'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n ordinal : function (number) {\n return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de');\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return nlBe;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var monthsShortWithDots = 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'),\n monthsShortWithoutDots = 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_');\n\n var monthsParse = [/^jan/i, /^feb/i, /^maart|mrt.?$/i, /^apr/i, /^mei$/i, /^jun[i.]?$/i, /^jul[i.]?$/i, /^aug/i, /^sep/i, /^okt/i, /^nov/i, /^dec/i];\n var monthsRegex = /^(januari|februari|maart|april|mei|april|ju[nl]i|augustus|september|oktober|november|december|jan\\.?|feb\\.?|mrt\\.?|apr\\.?|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i;\n\n var nl = moment.defineLocale('nl', {\n months : 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split('_'),\n monthsShort : function (m, format) {\n if (!m) {\n return monthsShortWithDots;\n } else if (/-MMM-/.test(format)) {\n return monthsShortWithoutDots[m.month()];\n } else {\n return monthsShortWithDots[m.month()];\n }\n },\n\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: /^(januari|februari|maart|mei|ju[nl]i|april|augustus|september|oktober|november|december)/i,\n monthsShortStrictRegex: /^(jan\\.?|feb\\.?|mrt\\.?|apr\\.?|mei|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i,\n\n monthsParse : monthsParse,\n longMonthsParse : monthsParse,\n shortMonthsParse : monthsParse,\n\n weekdays : 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split('_'),\n weekdaysShort : 'zo._ma._di._wo._do._vr._za.'.split('_'),\n weekdaysMin : 'zo_ma_di_wo_do_vr_za'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD-MM-YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[vandaag om] LT',\n nextDay: '[morgen om] LT',\n nextWeek: 'dddd [om] LT',\n lastDay: '[gisteren om] LT',\n lastWeek: '[afgelopen] dddd [om] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'over %s',\n past : '%s geleden',\n s : 'een paar seconden',\n ss : '%d seconden',\n m : 'één minuut',\n mm : '%d minuten',\n h : 'één uur',\n hh : '%d uur',\n d : 'één dag',\n dd : '%d dagen',\n M : 'één maand',\n MM : '%d maanden',\n y : 'één jaar',\n yy : '%d jaar'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n ordinal : function (number) {\n return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de');\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return nl;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '१',\n '2': '२',\n '3': '३',\n '4': '४',\n '5': '५',\n '6': '६',\n '7': '७',\n '8': '८',\n '9': '९',\n '0': '०'\n },\n numberMap = {\n '१': '1',\n '२': '2',\n '३': '3',\n '४': '4',\n '५': '5',\n '६': '6',\n '७': '7',\n '८': '8',\n '९': '9',\n '०': '0'\n };\n\n var ne = moment.defineLocale('ne', {\n months : 'जनवरी_फेब्रुवरी_मार्च_अप्रिल_मई_जुन_जुलाई_अगष्ट_सेप्टेम्बर_अक्टोबर_नोभेम्बर_डिसेम्बर'.split('_'),\n monthsShort : 'जन._फेब्रु._मार्च_अप्रि._मई_जुन_जुलाई._अग._सेप्ट._अक्टो._नोभे._डिसे.'.split('_'),\n monthsParseExact : true,\n weekdays : 'आइतबार_सोमबार_मङ्गलबार_बुधबार_बिहिबार_शुक्रबार_शनिबार'.split('_'),\n weekdaysShort : 'आइत._सोम._मङ्गल._बुध._बिहि._शुक्र._शनि.'.split('_'),\n weekdaysMin : 'आ._सो._मं._बु._बि._शु._श.'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'Aको h:mm बजे',\n LTS : 'Aको h:mm:ss बजे',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, Aको h:mm बजे',\n LLLL : 'dddd, D MMMM YYYY, Aको h:mm बजे'\n },\n preparse: function (string) {\n return string.replace(/[१२३४५६७८९०]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /राति|बिहान|दिउँसो|साँझ/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'राति') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'बिहान') {\n return hour;\n } else if (meridiem === 'दिउँसो') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'साँझ') {\n return hour + 12;\n }\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 3) {\n return 'राति';\n } else if (hour < 12) {\n return 'बिहान';\n } else if (hour < 16) {\n return 'दिउँसो';\n } else if (hour < 20) {\n return 'साँझ';\n } else {\n return 'राति';\n }\n },\n calendar : {\n sameDay : '[आज] LT',\n nextDay : '[भोलि] LT',\n nextWeek : '[आउँदो] dddd[,] LT',\n lastDay : '[हिजो] LT',\n lastWeek : '[गएको] dddd[,] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%sमा',\n past : '%s अगाडि',\n s : 'केही क्षण',\n ss : '%d सेकेण्ड',\n m : 'एक मिनेट',\n mm : '%d मिनेट',\n h : 'एक घण्टा',\n hh : '%d घण्टा',\n d : 'एक दिन',\n dd : '%d दिन',\n M : 'एक महिना',\n MM : '%d महिना',\n y : 'एक बर्ष',\n yy : '%d बर्ष'\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return ne;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var nb = moment.defineLocale('nb', {\n months : 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split('_'),\n monthsShort : 'jan._feb._mars_april_mai_juni_juli_aug._sep._okt._nov._des.'.split('_'),\n monthsParseExact : true,\n weekdays : 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),\n weekdaysShort : 'sø._ma._ti._on._to._fr._lø.'.split('_'),\n weekdaysMin : 'sø_ma_ti_on_to_fr_lø'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY [kl.] HH:mm',\n LLLL : 'dddd D. MMMM YYYY [kl.] HH:mm'\n },\n calendar : {\n sameDay: '[i dag kl.] LT',\n nextDay: '[i morgen kl.] LT',\n nextWeek: 'dddd [kl.] LT',\n lastDay: '[i går kl.] LT',\n lastWeek: '[forrige] dddd [kl.] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'om %s',\n past : '%s siden',\n s : 'noen sekunder',\n ss : '%d sekunder',\n m : 'ett minutt',\n mm : '%d minutter',\n h : 'en time',\n hh : '%d timer',\n d : 'en dag',\n dd : '%d dager',\n M : 'en måned',\n MM : '%d måneder',\n y : 'ett år',\n yy : '%d år'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return nb;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '၁',\n '2': '၂',\n '3': '၃',\n '4': '၄',\n '5': '၅',\n '6': '၆',\n '7': '၇',\n '8': '၈',\n '9': '၉',\n '0': '၀'\n }, numberMap = {\n '၁': '1',\n '၂': '2',\n '၃': '3',\n '၄': '4',\n '၅': '5',\n '၆': '6',\n '၇': '7',\n '၈': '8',\n '၉': '9',\n '၀': '0'\n };\n\n var my = moment.defineLocale('my', {\n months: 'ဇန်နဝါရီ_ဖေဖော်ဝါရီ_မတ်_ဧပြီ_မေ_ဇွန်_ဇူလိုင်_သြဂုတ်_စက်တင်ဘာ_အောက်တိုဘာ_နိုဝင်ဘာ_ဒီဇင်ဘာ'.split('_'),\n monthsShort: 'ဇန်_ဖေ_မတ်_ပြီ_မေ_ဇွန်_လိုင်_သြ_စက်_အောက်_နို_ဒီ'.split('_'),\n weekdays: 'တနင်္ဂနွေ_တနင်္လာ_အင်္ဂါ_ဗုဒ္ဓဟူး_ကြာသပတေး_သောကြာ_စနေ'.split('_'),\n weekdaysShort: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'),\n weekdaysMin: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'),\n\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[ယနေ.] LT [မှာ]',\n nextDay: '[မနက်ဖြန်] LT [မှာ]',\n nextWeek: 'dddd LT [မှာ]',\n lastDay: '[မနေ.က] LT [မှာ]',\n lastWeek: '[ပြီးခဲ့သော] dddd LT [မှာ]',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'လာမည့် %s မှာ',\n past: 'လွန်ခဲ့သော %s က',\n s: 'စက္ကန်.အနည်းငယ်',\n ss : '%d စက္ကန့်',\n m: 'တစ်မိနစ်',\n mm: '%d မိနစ်',\n h: 'တစ်နာရီ',\n hh: '%d နာရီ',\n d: 'တစ်ရက်',\n dd: '%d ရက်',\n M: 'တစ်လ',\n MM: '%d လ',\n y: 'တစ်နှစ်',\n yy: '%d နှစ်'\n },\n preparse: function (string) {\n return string.replace(/[၁၂၃၄၅၆၇၈၉၀]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return my;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var mt = moment.defineLocale('mt', {\n months : 'Jannar_Frar_Marzu_April_Mejju_Ġunju_Lulju_Awwissu_Settembru_Ottubru_Novembru_Diċembru'.split('_'),\n monthsShort : 'Jan_Fra_Mar_Apr_Mej_Ġun_Lul_Aww_Set_Ott_Nov_Diċ'.split('_'),\n weekdays : 'Il-Ħadd_It-Tnejn_It-Tlieta_L-Erbgħa_Il-Ħamis_Il-Ġimgħa_Is-Sibt'.split('_'),\n weekdaysShort : 'Ħad_Tne_Tli_Erb_Ħam_Ġim_Sib'.split('_'),\n weekdaysMin : 'Ħa_Tn_Tl_Er_Ħa_Ġi_Si'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Illum fil-]LT',\n nextDay : '[Għada fil-]LT',\n nextWeek : 'dddd [fil-]LT',\n lastDay : '[Il-bieraħ fil-]LT',\n lastWeek : 'dddd [li għadda] [fil-]LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'f’ %s',\n past : '%s ilu',\n s : 'ftit sekondi',\n ss : '%d sekondi',\n m : 'minuta',\n mm : '%d minuti',\n h : 'siegħa',\n hh : '%d siegħat',\n d : 'ġurnata',\n dd : '%d ġranet',\n M : 'xahar',\n MM : '%d xhur',\n y : 'sena',\n yy : '%d sni'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}º/,\n ordinal: '%dº',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return mt;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var msMy = moment.defineLocale('ms-my', {\n months : 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split('_'),\n monthsShort : 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'),\n weekdays : 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'),\n weekdaysShort : 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'),\n weekdaysMin : 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'),\n longDateFormat : {\n LT : 'HH.mm',\n LTS : 'HH.mm.ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY [pukul] HH.mm',\n LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm'\n },\n meridiemParse: /pagi|tengahari|petang|malam/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'pagi') {\n return hour;\n } else if (meridiem === 'tengahari') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'petang' || meridiem === 'malam') {\n return hour + 12;\n }\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'pagi';\n } else if (hours < 15) {\n return 'tengahari';\n } else if (hours < 19) {\n return 'petang';\n } else {\n return 'malam';\n }\n },\n calendar : {\n sameDay : '[Hari ini pukul] LT',\n nextDay : '[Esok pukul] LT',\n nextWeek : 'dddd [pukul] LT',\n lastDay : '[Kelmarin pukul] LT',\n lastWeek : 'dddd [lepas pukul] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'dalam %s',\n past : '%s yang lepas',\n s : 'beberapa saat',\n ss : '%d saat',\n m : 'seminit',\n mm : '%d minit',\n h : 'sejam',\n hh : '%d jam',\n d : 'sehari',\n dd : '%d hari',\n M : 'sebulan',\n MM : '%d bulan',\n y : 'setahun',\n yy : '%d tahun'\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return msMy;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var ms = moment.defineLocale('ms', {\n months : 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split('_'),\n monthsShort : 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'),\n weekdays : 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'),\n weekdaysShort : 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'),\n weekdaysMin : 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'),\n longDateFormat : {\n LT : 'HH.mm',\n LTS : 'HH.mm.ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY [pukul] HH.mm',\n LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm'\n },\n meridiemParse: /pagi|tengahari|petang|malam/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'pagi') {\n return hour;\n } else if (meridiem === 'tengahari') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'petang' || meridiem === 'malam') {\n return hour + 12;\n }\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'pagi';\n } else if (hours < 15) {\n return 'tengahari';\n } else if (hours < 19) {\n return 'petang';\n } else {\n return 'malam';\n }\n },\n calendar : {\n sameDay : '[Hari ini pukul] LT',\n nextDay : '[Esok pukul] LT',\n nextWeek : 'dddd [pukul] LT',\n lastDay : '[Kelmarin pukul] LT',\n lastWeek : 'dddd [lepas pukul] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'dalam %s',\n past : '%s yang lepas',\n s : 'beberapa saat',\n ss : '%d saat',\n m : 'seminit',\n mm : '%d minit',\n h : 'sejam',\n hh : '%d jam',\n d : 'sehari',\n dd : '%d hari',\n M : 'sebulan',\n MM : '%d bulan',\n y : 'setahun',\n yy : '%d tahun'\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return ms;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '१',\n '2': '२',\n '3': '३',\n '4': '४',\n '5': '५',\n '6': '६',\n '7': '७',\n '8': '८',\n '9': '९',\n '0': '०'\n },\n numberMap = {\n '१': '1',\n '२': '2',\n '३': '3',\n '४': '4',\n '५': '5',\n '६': '6',\n '७': '7',\n '८': '8',\n '९': '9',\n '०': '0'\n };\n\n function relativeTimeMr(number, withoutSuffix, string, isFuture)\n {\n var output = '';\n if (withoutSuffix) {\n switch (string) {\n case 's': output = 'काही सेकंद'; break;\n case 'ss': output = '%d सेकंद'; break;\n case 'm': output = 'एक मिनिट'; break;\n case 'mm': output = '%d मिनिटे'; break;\n case 'h': output = 'एक तास'; break;\n case 'hh': output = '%d तास'; break;\n case 'd': output = 'एक दिवस'; break;\n case 'dd': output = '%d दिवस'; break;\n case 'M': output = 'एक महिना'; break;\n case 'MM': output = '%d महिने'; break;\n case 'y': output = 'एक वर्ष'; break;\n case 'yy': output = '%d वर्षे'; break;\n }\n }\n else {\n switch (string) {\n case 's': output = 'काही सेकंदां'; break;\n case 'ss': output = '%d सेकंदां'; break;\n case 'm': output = 'एका मिनिटा'; break;\n case 'mm': output = '%d मिनिटां'; break;\n case 'h': output = 'एका तासा'; break;\n case 'hh': output = '%d तासां'; break;\n case 'd': output = 'एका दिवसा'; break;\n case 'dd': output = '%d दिवसां'; break;\n case 'M': output = 'एका महिन्या'; break;\n case 'MM': output = '%d महिन्यां'; break;\n case 'y': output = 'एका वर्षा'; break;\n case 'yy': output = '%d वर्षां'; break;\n }\n }\n return output.replace(/%d/i, number);\n }\n\n var mr = moment.defineLocale('mr', {\n months : 'जानेवारी_फेब्रुवारी_मार्च_एप्रिल_मे_जून_जुलै_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर'.split('_'),\n monthsShort: 'जाने._फेब्रु._मार्च._एप्रि._मे._जून._जुलै._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.'.split('_'),\n monthsParseExact : true,\n weekdays : 'रविवार_सोमवार_मंगळवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'),\n weekdaysShort : 'रवि_सोम_मंगळ_बुध_गुरू_शुक्र_शनि'.split('_'),\n weekdaysMin : 'र_सो_मं_बु_गु_शु_श'.split('_'),\n longDateFormat : {\n LT : 'A h:mm वाजता',\n LTS : 'A h:mm:ss वाजता',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, A h:mm वाजता',\n LLLL : 'dddd, D MMMM YYYY, A h:mm वाजता'\n },\n calendar : {\n sameDay : '[आज] LT',\n nextDay : '[उद्या] LT',\n nextWeek : 'dddd, LT',\n lastDay : '[काल] LT',\n lastWeek: '[मागील] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future: '%sमध्ये',\n past: '%sपूर्वी',\n s: relativeTimeMr,\n ss: relativeTimeMr,\n m: relativeTimeMr,\n mm: relativeTimeMr,\n h: relativeTimeMr,\n hh: relativeTimeMr,\n d: relativeTimeMr,\n dd: relativeTimeMr,\n M: relativeTimeMr,\n MM: relativeTimeMr,\n y: relativeTimeMr,\n yy: relativeTimeMr\n },\n preparse: function (string) {\n return string.replace(/[१२३४५६७८९०]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /रात्री|सकाळी|दुपारी|सायंकाळी/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'रात्री') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'सकाळी') {\n return hour;\n } else if (meridiem === 'दुपारी') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'सायंकाळी') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'रात्री';\n } else if (hour < 10) {\n return 'सकाळी';\n } else if (hour < 17) {\n return 'दुपारी';\n } else if (hour < 20) {\n return 'सायंकाळी';\n } else {\n return 'रात्री';\n }\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return mr;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function translate(number, withoutSuffix, key, isFuture) {\n switch (key) {\n case 's':\n return withoutSuffix ? 'хэдхэн секунд' : 'хэдхэн секундын';\n case 'ss':\n return number + (withoutSuffix ? ' секунд' : ' секундын');\n case 'm':\n case 'mm':\n return number + (withoutSuffix ? ' минут' : ' минутын');\n case 'h':\n case 'hh':\n return number + (withoutSuffix ? ' цаг' : ' цагийн');\n case 'd':\n case 'dd':\n return number + (withoutSuffix ? ' өдөр' : ' өдрийн');\n case 'M':\n case 'MM':\n return number + (withoutSuffix ? ' сар' : ' сарын');\n case 'y':\n case 'yy':\n return number + (withoutSuffix ? ' жил' : ' жилийн');\n default:\n return number;\n }\n }\n\n var mn = moment.defineLocale('mn', {\n months : 'Нэгдүгээр сар_Хоёрдугаар сар_Гуравдугаар сар_Дөрөвдүгээр сар_Тавдугаар сар_Зургадугаар сар_Долдугаар сар_Наймдугаар сар_Есдүгээр сар_Аравдугаар сар_Арван нэгдүгээр сар_Арван хоёрдугаар сар'.split('_'),\n monthsShort : '1 сар_2 сар_3 сар_4 сар_5 сар_6 сар_7 сар_8 сар_9 сар_10 сар_11 сар_12 сар'.split('_'),\n monthsParseExact : true,\n weekdays : 'Ням_Даваа_Мягмар_Лхагва_Пүрэв_Баасан_Бямба'.split('_'),\n weekdaysShort : 'Ням_Дав_Мяг_Лха_Пүр_Баа_Бям'.split('_'),\n weekdaysMin : 'Ня_Да_Мя_Лх_Пү_Ба_Бя'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY-MM-DD',\n LL : 'YYYY оны MMMMын D',\n LLL : 'YYYY оны MMMMын D HH:mm',\n LLLL : 'dddd, YYYY оны MMMMын D HH:mm'\n },\n meridiemParse: /ҮӨ|ҮХ/i,\n isPM : function (input) {\n return input === 'ҮХ';\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ҮӨ';\n } else {\n return 'ҮХ';\n }\n },\n calendar : {\n sameDay : '[Өнөөдөр] LT',\n nextDay : '[Маргааш] LT',\n nextWeek : '[Ирэх] dddd LT',\n lastDay : '[Өчигдөр] LT',\n lastWeek : '[Өнгөрсөн] dddd LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s дараа',\n past : '%s өмнө',\n s : translate,\n ss : translate,\n m : translate,\n mm : translate,\n h : translate,\n hh : translate,\n d : translate,\n dd : translate,\n M : translate,\n MM : translate,\n y : translate,\n yy : translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2} өдөр/,\n ordinal : function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + ' өдөр';\n default:\n return number;\n }\n }\n });\n\n return mn;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var ml = moment.defineLocale('ml', {\n months : 'ജനുവരി_ഫെബ്രുവരി_മാർച്ച്_ഏപ്രിൽ_മേയ്_ജൂൺ_ജൂലൈ_ഓഗസ്റ്റ്_സെപ്റ്റംബർ_ഒക്ടോബർ_നവംബർ_ഡിസംബർ'.split('_'),\n monthsShort : 'ജനു._ഫെബ്രു._മാർ._ഏപ്രി._മേയ്_ജൂൺ_ജൂലൈ._ഓഗ._സെപ്റ്റ._ഒക്ടോ._നവം._ഡിസം.'.split('_'),\n monthsParseExact : true,\n weekdays : 'ഞായറാഴ്ച_തിങ്കളാഴ്ച_ചൊവ്വാഴ്ച_ബുധനാഴ്ച_വ്യാഴാഴ്ച_വെള്ളിയാഴ്ച_ശനിയാഴ്ച'.split('_'),\n weekdaysShort : 'ഞായർ_തിങ്കൾ_ചൊവ്വ_ബുധൻ_വ്യാഴം_വെള്ളി_ശനി'.split('_'),\n weekdaysMin : 'ഞാ_തി_ചൊ_ബു_വ്യാ_വെ_ശ'.split('_'),\n longDateFormat : {\n LT : 'A h:mm -നു',\n LTS : 'A h:mm:ss -നു',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, A h:mm -നു',\n LLLL : 'dddd, D MMMM YYYY, A h:mm -നു'\n },\n calendar : {\n sameDay : '[ഇന്ന്] LT',\n nextDay : '[നാളെ] LT',\n nextWeek : 'dddd, LT',\n lastDay : '[ഇന്നലെ] LT',\n lastWeek : '[കഴിഞ്ഞ] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s കഴിഞ്ഞ്',\n past : '%s മുൻപ്',\n s : 'അൽപ നിമിഷങ്ങൾ',\n ss : '%d സെക്കൻഡ്',\n m : 'ഒരു മിനിറ്റ്',\n mm : '%d മിനിറ്റ്',\n h : 'ഒരു മണിക്കൂർ',\n hh : '%d മണിക്കൂർ',\n d : 'ഒരു ദിവസം',\n dd : '%d ദിവസം',\n M : 'ഒരു മാസം',\n MM : '%d മാസം',\n y : 'ഒരു വർഷം',\n yy : '%d വർഷം'\n },\n meridiemParse: /രാത്രി|രാവിലെ|ഉച്ച കഴിഞ്ഞ്|വൈകുന്നേരം|രാത്രി/i,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if ((meridiem === 'രാത്രി' && hour >= 4) ||\n meridiem === 'ഉച്ച കഴിഞ്ഞ്' ||\n meridiem === 'വൈകുന്നേരം') {\n return hour + 12;\n } else {\n return hour;\n }\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'രാത്രി';\n } else if (hour < 12) {\n return 'രാവിലെ';\n } else if (hour < 17) {\n return 'ഉച്ച കഴിഞ്ഞ്';\n } else if (hour < 20) {\n return 'വൈകുന്നേരം';\n } else {\n return 'രാത്രി';\n }\n }\n });\n\n return ml;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var mk = moment.defineLocale('mk', {\n months : 'јануари_февруари_март_април_мај_јуни_јули_август_септември_октомври_ноември_декември'.split('_'),\n monthsShort : 'јан_фев_мар_апр_мај_јун_јул_авг_сеп_окт_ное_дек'.split('_'),\n weekdays : 'недела_понеделник_вторник_среда_четврток_петок_сабота'.split('_'),\n weekdaysShort : 'нед_пон_вто_сре_чет_пет_саб'.split('_'),\n weekdaysMin : 'нe_пo_вт_ср_че_пе_сa'.split('_'),\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'D.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY H:mm',\n LLLL : 'dddd, D MMMM YYYY H:mm'\n },\n calendar : {\n sameDay : '[Денес во] LT',\n nextDay : '[Утре во] LT',\n nextWeek : '[Во] dddd [во] LT',\n lastDay : '[Вчера во] LT',\n lastWeek : function () {\n switch (this.day()) {\n case 0:\n case 3:\n case 6:\n return '[Изминатата] dddd [во] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[Изминатиот] dddd [во] LT';\n }\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'после %s',\n past : 'пред %s',\n s : 'неколку секунди',\n ss : '%d секунди',\n m : 'минута',\n mm : '%d минути',\n h : 'час',\n hh : '%d часа',\n d : 'ден',\n dd : '%d дена',\n M : 'месец',\n MM : '%d месеци',\n y : 'година',\n yy : '%d години'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ев|ен|ти|ви|ри|ми)/,\n ordinal : function (number) {\n var lastDigit = number % 10,\n last2Digits = number % 100;\n if (number === 0) {\n return number + '-ев';\n } else if (last2Digits === 0) {\n return number + '-ен';\n } else if (last2Digits > 10 && last2Digits < 20) {\n return number + '-ти';\n } else if (lastDigit === 1) {\n return number + '-ви';\n } else if (lastDigit === 2) {\n return number + '-ри';\n } else if (lastDigit === 7 || lastDigit === 8) {\n return number + '-ми';\n } else {\n return number + '-ти';\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return mk;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var mi = moment.defineLocale('mi', {\n months: 'Kohi-tāte_Hui-tanguru_Poutū-te-rangi_Paenga-whāwhā_Haratua_Pipiri_Hōngoingoi_Here-turi-kōkā_Mahuru_Whiringa-ā-nuku_Whiringa-ā-rangi_Hakihea'.split('_'),\n monthsShort: 'Kohi_Hui_Pou_Pae_Hara_Pipi_Hōngoi_Here_Mahu_Whi-nu_Whi-ra_Haki'.split('_'),\n monthsRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,\n monthsStrictRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,\n monthsShortRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,\n monthsShortStrictRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,2}/i,\n weekdays: 'Rātapu_Mane_Tūrei_Wenerei_Tāite_Paraire_Hātarei'.split('_'),\n weekdaysShort: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'),\n weekdaysMin: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY [i] HH:mm',\n LLLL: 'dddd, D MMMM YYYY [i] HH:mm'\n },\n calendar: {\n sameDay: '[i teie mahana, i] LT',\n nextDay: '[apopo i] LT',\n nextWeek: 'dddd [i] LT',\n lastDay: '[inanahi i] LT',\n lastWeek: 'dddd [whakamutunga i] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'i roto i %s',\n past: '%s i mua',\n s: 'te hēkona ruarua',\n ss: '%d hēkona',\n m: 'he meneti',\n mm: '%d meneti',\n h: 'te haora',\n hh: '%d haora',\n d: 'he ra',\n dd: '%d ra',\n M: 'he marama',\n MM: '%d marama',\n y: 'he tau',\n yy: '%d tau'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return mi;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var translator = {\n words: { //Different grammatical cases\n ss: ['sekund', 'sekunda', 'sekundi'],\n m: ['jedan minut', 'jednog minuta'],\n mm: ['minut', 'minuta', 'minuta'],\n h: ['jedan sat', 'jednog sata'],\n hh: ['sat', 'sata', 'sati'],\n dd: ['dan', 'dana', 'dana'],\n MM: ['mjesec', 'mjeseca', 'mjeseci'],\n yy: ['godina', 'godine', 'godina']\n },\n correctGrammaticalCase: function (number, wordKey) {\n return number === 1 ? wordKey[0] : (number >= 2 && number <= 4 ? wordKey[1] : wordKey[2]);\n },\n translate: function (number, withoutSuffix, key) {\n var wordKey = translator.words[key];\n if (key.length === 1) {\n return withoutSuffix ? wordKey[0] : wordKey[1];\n } else {\n return number + ' ' + translator.correctGrammaticalCase(number, wordKey);\n }\n }\n };\n\n var me = moment.defineLocale('me', {\n months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split('_'),\n monthsShort: 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split('_'),\n monthsParseExact : true,\n weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split('_'),\n weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact : true,\n longDateFormat: {\n LT: 'H:mm',\n LTS : 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd, D. MMMM YYYY H:mm'\n },\n calendar: {\n sameDay: '[danas u] LT',\n nextDay: '[sjutra u] LT',\n\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[u] [nedjelju] [u] LT';\n case 3:\n return '[u] [srijedu] [u] LT';\n case 6:\n return '[u] [subotu] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay : '[juče u] LT',\n lastWeek : function () {\n var lastWeekDays = [\n '[prošle] [nedjelje] [u] LT',\n '[prošlog] [ponedjeljka] [u] LT',\n '[prošlog] [utorka] [u] LT',\n '[prošle] [srijede] [u] LT',\n '[prošlog] [četvrtka] [u] LT',\n '[prošlog] [petka] [u] LT',\n '[prošle] [subote] [u] LT'\n ];\n return lastWeekDays[this.day()];\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'za %s',\n past : 'prije %s',\n s : 'nekoliko sekundi',\n ss : translator.translate,\n m : translator.translate,\n mm : translator.translate,\n h : translator.translate,\n hh : translator.translate,\n d : 'dan',\n dd : translator.translate,\n M : 'mjesec',\n MM : translator.translate,\n y : 'godinu',\n yy : translator.translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return me;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var units = {\n 'ss': 'sekundes_sekundēm_sekunde_sekundes'.split('_'),\n 'm': 'minūtes_minūtēm_minūte_minūtes'.split('_'),\n 'mm': 'minūtes_minūtēm_minūte_minūtes'.split('_'),\n 'h': 'stundas_stundām_stunda_stundas'.split('_'),\n 'hh': 'stundas_stundām_stunda_stundas'.split('_'),\n 'd': 'dienas_dienām_diena_dienas'.split('_'),\n 'dd': 'dienas_dienām_diena_dienas'.split('_'),\n 'M': 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'),\n 'MM': 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'),\n 'y': 'gada_gadiem_gads_gadi'.split('_'),\n 'yy': 'gada_gadiem_gads_gadi'.split('_')\n };\n /**\n * @param withoutSuffix boolean true = a length of time; false = before/after a period of time.\n */\n function format(forms, number, withoutSuffix) {\n if (withoutSuffix) {\n // E.g. \"21 minūte\", \"3 minūtes\".\n return number % 10 === 1 && number % 100 !== 11 ? forms[2] : forms[3];\n } else {\n // E.g. \"21 minūtes\" as in \"pēc 21 minūtes\".\n // E.g. \"3 minūtēm\" as in \"pēc 3 minūtēm\".\n return number % 10 === 1 && number % 100 !== 11 ? forms[0] : forms[1];\n }\n }\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n return number + ' ' + format(units[key], number, withoutSuffix);\n }\n function relativeTimeWithSingular(number, withoutSuffix, key) {\n return format(units[key], number, withoutSuffix);\n }\n function relativeSeconds(number, withoutSuffix) {\n return withoutSuffix ? 'dažas sekundes' : 'dažām sekundēm';\n }\n\n var lv = moment.defineLocale('lv', {\n months : 'janvāris_februāris_marts_aprīlis_maijs_jūnijs_jūlijs_augusts_septembris_oktobris_novembris_decembris'.split('_'),\n monthsShort : 'jan_feb_mar_apr_mai_jūn_jūl_aug_sep_okt_nov_dec'.split('_'),\n weekdays : 'svētdiena_pirmdiena_otrdiena_trešdiena_ceturtdiena_piektdiena_sestdiena'.split('_'),\n weekdaysShort : 'Sv_P_O_T_C_Pk_S'.split('_'),\n weekdaysMin : 'Sv_P_O_T_C_Pk_S'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY.',\n LL : 'YYYY. [gada] D. MMMM',\n LLL : 'YYYY. [gada] D. MMMM, HH:mm',\n LLLL : 'YYYY. [gada] D. MMMM, dddd, HH:mm'\n },\n calendar : {\n sameDay : '[Šodien pulksten] LT',\n nextDay : '[Rīt pulksten] LT',\n nextWeek : 'dddd [pulksten] LT',\n lastDay : '[Vakar pulksten] LT',\n lastWeek : '[Pagājušā] dddd [pulksten] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'pēc %s',\n past : 'pirms %s',\n s : relativeSeconds,\n ss : relativeTimeWithPlural,\n m : relativeTimeWithSingular,\n mm : relativeTimeWithPlural,\n h : relativeTimeWithSingular,\n hh : relativeTimeWithPlural,\n d : relativeTimeWithSingular,\n dd : relativeTimeWithPlural,\n M : relativeTimeWithSingular,\n MM : relativeTimeWithPlural,\n y : relativeTimeWithSingular,\n yy : relativeTimeWithPlural\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return lv;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var units = {\n 'ss' : 'sekundė_sekundžių_sekundes',\n 'm' : 'minutė_minutės_minutę',\n 'mm': 'minutės_minučių_minutes',\n 'h' : 'valanda_valandos_valandą',\n 'hh': 'valandos_valandų_valandas',\n 'd' : 'diena_dienos_dieną',\n 'dd': 'dienos_dienų_dienas',\n 'M' : 'mėnuo_mėnesio_mėnesį',\n 'MM': 'mėnesiai_mėnesių_mėnesius',\n 'y' : 'metai_metų_metus',\n 'yy': 'metai_metų_metus'\n };\n function translateSeconds(number, withoutSuffix, key, isFuture) {\n if (withoutSuffix) {\n return 'kelios sekundės';\n } else {\n return isFuture ? 'kelių sekundžių' : 'kelias sekundes';\n }\n }\n function translateSingular(number, withoutSuffix, key, isFuture) {\n return withoutSuffix ? forms(key)[0] : (isFuture ? forms(key)[1] : forms(key)[2]);\n }\n function special(number) {\n return number % 10 === 0 || (number > 10 && number < 20);\n }\n function forms(key) {\n return units[key].split('_');\n }\n function translate(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n if (number === 1) {\n return result + translateSingular(number, withoutSuffix, key[0], isFuture);\n } else if (withoutSuffix) {\n return result + (special(number) ? forms(key)[1] : forms(key)[0]);\n } else {\n if (isFuture) {\n return result + forms(key)[1];\n } else {\n return result + (special(number) ? forms(key)[1] : forms(key)[2]);\n }\n }\n }\n var lt = moment.defineLocale('lt', {\n months : {\n format: 'sausio_vasario_kovo_balandžio_gegužės_birželio_liepos_rugpjūčio_rugsėjo_spalio_lapkričio_gruodžio'.split('_'),\n standalone: 'sausis_vasaris_kovas_balandis_gegužė_birželis_liepa_rugpjūtis_rugsėjis_spalis_lapkritis_gruodis'.split('_'),\n isFormat: /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?|MMMM?(\\[[^\\[\\]]*\\]|\\s)+D[oD]?/\n },\n monthsShort : 'sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd'.split('_'),\n weekdays : {\n format: 'sekmadienį_pirmadienį_antradienį_trečiadienį_ketvirtadienį_penktadienį_šeštadienį'.split('_'),\n standalone: 'sekmadienis_pirmadienis_antradienis_trečiadienis_ketvirtadienis_penktadienis_šeštadienis'.split('_'),\n isFormat: /dddd HH:mm/\n },\n weekdaysShort : 'Sek_Pir_Ant_Tre_Ket_Pen_Šeš'.split('_'),\n weekdaysMin : 'S_P_A_T_K_Pn_Š'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY-MM-DD',\n LL : 'YYYY [m.] MMMM D [d.]',\n LLL : 'YYYY [m.] MMMM D [d.], HH:mm [val.]',\n LLLL : 'YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]',\n l : 'YYYY-MM-DD',\n ll : 'YYYY [m.] MMMM D [d.]',\n lll : 'YYYY [m.] MMMM D [d.], HH:mm [val.]',\n llll : 'YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]'\n },\n calendar : {\n sameDay : '[Šiandien] LT',\n nextDay : '[Rytoj] LT',\n nextWeek : 'dddd LT',\n lastDay : '[Vakar] LT',\n lastWeek : '[Praėjusį] dddd LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'po %s',\n past : 'prieš %s',\n s : translateSeconds,\n ss : translate,\n m : translateSingular,\n mm : translate,\n h : translateSingular,\n hh : translate,\n d : translateSingular,\n dd : translate,\n M : translateSingular,\n MM : translate,\n y : translateSingular,\n yy : translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-oji/,\n ordinal : function (number) {\n return number + '-oji';\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return lt;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var lo = moment.defineLocale('lo', {\n months : 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split('_'),\n monthsShort : 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split('_'),\n weekdays : 'ອາທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'),\n weekdaysShort : 'ທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'),\n weekdaysMin : 'ທ_ຈ_ອຄ_ພ_ພຫ_ສກ_ສ'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'ວັນdddd D MMMM YYYY HH:mm'\n },\n meridiemParse: /ຕອນເຊົ້າ|ຕອນແລງ/,\n isPM: function (input) {\n return input === 'ຕອນແລງ';\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ຕອນເຊົ້າ';\n } else {\n return 'ຕອນແລງ';\n }\n },\n calendar : {\n sameDay : '[ມື້ນີ້ເວລາ] LT',\n nextDay : '[ມື້ອື່ນເວລາ] LT',\n nextWeek : '[ວັນ]dddd[ໜ້າເວລາ] LT',\n lastDay : '[ມື້ວານນີ້ເວລາ] LT',\n lastWeek : '[ວັນ]dddd[ແລ້ວນີ້ເວລາ] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'ອີກ %s',\n past : '%sຜ່ານມາ',\n s : 'ບໍ່ເທົ່າໃດວິນາທີ',\n ss : '%d ວິນາທີ' ,\n m : '1 ນາທີ',\n mm : '%d ນາທີ',\n h : '1 ຊົ່ວໂມງ',\n hh : '%d ຊົ່ວໂມງ',\n d : '1 ມື້',\n dd : '%d ມື້',\n M : '1 ເດືອນ',\n MM : '%d ເດືອນ',\n y : '1 ປີ',\n yy : '%d ປີ'\n },\n dayOfMonthOrdinalParse: /(ທີ່)\\d{1,2}/,\n ordinal : function (number) {\n return 'ທີ່' + number;\n }\n });\n\n return lo;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n 'm': ['eng Minutt', 'enger Minutt'],\n 'h': ['eng Stonn', 'enger Stonn'],\n 'd': ['een Dag', 'engem Dag'],\n 'M': ['ee Mount', 'engem Mount'],\n 'y': ['ee Joer', 'engem Joer']\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n function processFutureTime(string) {\n var number = string.substr(0, string.indexOf(' '));\n if (eifelerRegelAppliesToNumber(number)) {\n return 'a ' + string;\n }\n return 'an ' + string;\n }\n function processPastTime(string) {\n var number = string.substr(0, string.indexOf(' '));\n if (eifelerRegelAppliesToNumber(number)) {\n return 'viru ' + string;\n }\n return 'virun ' + string;\n }\n /**\n * Returns true if the word before the given number loses the '-n' ending.\n * e.g. 'an 10 Deeg' but 'a 5 Deeg'\n *\n * @param number {integer}\n * @returns {boolean}\n */\n function eifelerRegelAppliesToNumber(number) {\n number = parseInt(number, 10);\n if (isNaN(number)) {\n return false;\n }\n if (number < 0) {\n // Negative Number --> always true\n return true;\n } else if (number < 10) {\n // Only 1 digit\n if (4 <= number && number <= 7) {\n return true;\n }\n return false;\n } else if (number < 100) {\n // 2 digits\n var lastDigit = number % 10, firstDigit = number / 10;\n if (lastDigit === 0) {\n return eifelerRegelAppliesToNumber(firstDigit);\n }\n return eifelerRegelAppliesToNumber(lastDigit);\n } else if (number < 10000) {\n // 3 or 4 digits --> recursively check first digit\n while (number >= 10) {\n number = number / 10;\n }\n return eifelerRegelAppliesToNumber(number);\n } else {\n // Anything larger than 4 digits: recursively check first n-3 digits\n number = number / 1000;\n return eifelerRegelAppliesToNumber(number);\n }\n }\n\n var lb = moment.defineLocale('lb', {\n months: 'Januar_Februar_Mäerz_Abrëll_Mee_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),\n monthsShort: 'Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.'.split('_'),\n monthsParseExact : true,\n weekdays: 'Sonndeg_Méindeg_Dënschdeg_Mëttwoch_Donneschdeg_Freideg_Samschdeg'.split('_'),\n weekdaysShort: 'So._Mé._Dë._Më._Do._Fr._Sa.'.split('_'),\n weekdaysMin: 'So_Mé_Dë_Më_Do_Fr_Sa'.split('_'),\n weekdaysParseExact : true,\n longDateFormat: {\n LT: 'H:mm [Auer]',\n LTS: 'H:mm:ss [Auer]',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm [Auer]',\n LLLL: 'dddd, D. MMMM YYYY H:mm [Auer]'\n },\n calendar: {\n sameDay: '[Haut um] LT',\n sameElse: 'L',\n nextDay: '[Muer um] LT',\n nextWeek: 'dddd [um] LT',\n lastDay: '[Gëschter um] LT',\n lastWeek: function () {\n // Different date string for 'Dënschdeg' (Tuesday) and 'Donneschdeg' (Thursday) due to phonological rule\n switch (this.day()) {\n case 2:\n case 4:\n return '[Leschten] dddd [um] LT';\n default:\n return '[Leschte] dddd [um] LT';\n }\n }\n },\n relativeTime : {\n future : processFutureTime,\n past : processPastTime,\n s : 'e puer Sekonnen',\n ss : '%d Sekonnen',\n m : processRelativeTime,\n mm : '%d Minutten',\n h : processRelativeTime,\n hh : '%d Stonnen',\n d : processRelativeTime,\n dd : '%d Deeg',\n M : processRelativeTime,\n MM : '%d Méint',\n y : processRelativeTime,\n yy : '%d Joer'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return lb;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var suffixes = {\n 0: '-чү',\n 1: '-чи',\n 2: '-чи',\n 3: '-чү',\n 4: '-чү',\n 5: '-чи',\n 6: '-чы',\n 7: '-чи',\n 8: '-чи',\n 9: '-чу',\n 10: '-чу',\n 20: '-чы',\n 30: '-чу',\n 40: '-чы',\n 50: '-чү',\n 60: '-чы',\n 70: '-чи',\n 80: '-чи',\n 90: '-чу',\n 100: '-чү'\n };\n\n var ky = moment.defineLocale('ky', {\n months : 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split('_'),\n monthsShort : 'янв_фев_март_апр_май_июнь_июль_авг_сен_окт_ноя_дек'.split('_'),\n weekdays : 'Жекшемби_Дүйшөмбү_Шейшемби_Шаршемби_Бейшемби_Жума_Ишемби'.split('_'),\n weekdaysShort : 'Жек_Дүй_Шей_Шар_Бей_Жум_Ише'.split('_'),\n weekdaysMin : 'Жк_Дй_Шй_Шр_Бй_Жм_Иш'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Бүгүн саат] LT',\n nextDay : '[Эртең саат] LT',\n nextWeek : 'dddd [саат] LT',\n lastDay : '[Кече саат] LT',\n lastWeek : '[Өткен аптанын] dddd [күнү] [саат] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s ичинде',\n past : '%s мурун',\n s : 'бирнече секунд',\n ss : '%d секунд',\n m : 'бир мүнөт',\n mm : '%d мүнөт',\n h : 'бир саат',\n hh : '%d саат',\n d : 'бир күн',\n dd : '%d күн',\n M : 'бир ай',\n MM : '%d ай',\n y : 'бир жыл',\n yy : '%d жыл'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(чи|чы|чү|чу)/,\n ordinal : function (number) {\n var a = number % 10,\n b = number >= 100 ? 100 : null;\n return number + (suffixes[number] || suffixes[a] || suffixes[b]);\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return ky;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var ko = moment.defineLocale('ko', {\n months : '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split('_'),\n monthsShort : '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split('_'),\n weekdays : '일요일_월요일_화요일_수요일_목요일_금요일_토요일'.split('_'),\n weekdaysShort : '일_월_화_수_목_금_토'.split('_'),\n weekdaysMin : '일_월_화_수_목_금_토'.split('_'),\n longDateFormat : {\n LT : 'A h:mm',\n LTS : 'A h:mm:ss',\n L : 'YYYY.MM.DD.',\n LL : 'YYYY년 MMMM D일',\n LLL : 'YYYY년 MMMM D일 A h:mm',\n LLLL : 'YYYY년 MMMM D일 dddd A h:mm',\n l : 'YYYY.MM.DD.',\n ll : 'YYYY년 MMMM D일',\n lll : 'YYYY년 MMMM D일 A h:mm',\n llll : 'YYYY년 MMMM D일 dddd A h:mm'\n },\n calendar : {\n sameDay : '오늘 LT',\n nextDay : '내일 LT',\n nextWeek : 'dddd LT',\n lastDay : '어제 LT',\n lastWeek : '지난주 dddd LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s 후',\n past : '%s 전',\n s : '몇 초',\n ss : '%d초',\n m : '1분',\n mm : '%d분',\n h : '한 시간',\n hh : '%d시간',\n d : '하루',\n dd : '%d일',\n M : '한 달',\n MM : '%d달',\n y : '일 년',\n yy : '%d년'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}(일|월|주)/,\n ordinal : function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '일';\n case 'M':\n return number + '월';\n case 'w':\n case 'W':\n return number + '주';\n default:\n return number;\n }\n },\n meridiemParse : /오전|오후/,\n isPM : function (token) {\n return token === '오후';\n },\n meridiem : function (hour, minute, isUpper) {\n return hour < 12 ? '오전' : '오후';\n }\n });\n\n return ko;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '೧',\n '2': '೨',\n '3': '೩',\n '4': '೪',\n '5': '೫',\n '6': '೬',\n '7': '೭',\n '8': '೮',\n '9': '೯',\n '0': '೦'\n },\n numberMap = {\n '೧': '1',\n '೨': '2',\n '೩': '3',\n '೪': '4',\n '೫': '5',\n '೬': '6',\n '೭': '7',\n '೮': '8',\n '೯': '9',\n '೦': '0'\n };\n\n var kn = moment.defineLocale('kn', {\n months : 'ಜನವರಿ_ಫೆಬ್ರವರಿ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂಬರ್_ಅಕ್ಟೋಬರ್_ನವೆಂಬರ್_ಡಿಸೆಂಬರ್'.split('_'),\n monthsShort : 'ಜನ_ಫೆಬ್ರ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂ_ಅಕ್ಟೋ_ನವೆಂ_ಡಿಸೆಂ'.split('_'),\n monthsParseExact: true,\n weekdays : 'ಭಾನುವಾರ_ಸೋಮವಾರ_ಮಂಗಳವಾರ_ಬುಧವಾರ_ಗುರುವಾರ_ಶುಕ್ರವಾರ_ಶನಿವಾರ'.split('_'),\n weekdaysShort : 'ಭಾನು_ಸೋಮ_ಮಂಗಳ_ಬುಧ_ಗುರು_ಶುಕ್ರ_ಶನಿ'.split('_'),\n weekdaysMin : 'ಭಾ_ಸೋ_ಮಂ_ಬು_ಗು_ಶು_ಶ'.split('_'),\n longDateFormat : {\n LT : 'A h:mm',\n LTS : 'A h:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, A h:mm',\n LLLL : 'dddd, D MMMM YYYY, A h:mm'\n },\n calendar : {\n sameDay : '[ಇಂದು] LT',\n nextDay : '[ನಾಳೆ] LT',\n nextWeek : 'dddd, LT',\n lastDay : '[ನಿನ್ನೆ] LT',\n lastWeek : '[ಕೊನೆಯ] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s ನಂತರ',\n past : '%s ಹಿಂದೆ',\n s : 'ಕೆಲವು ಕ್ಷಣಗಳು',\n ss : '%d ಸೆಕೆಂಡುಗಳು',\n m : 'ಒಂದು ನಿಮಿಷ',\n mm : '%d ನಿಮಿಷ',\n h : 'ಒಂದು ಗಂಟೆ',\n hh : '%d ಗಂಟೆ',\n d : 'ಒಂದು ದಿನ',\n dd : '%d ದಿನ',\n M : 'ಒಂದು ತಿಂಗಳು',\n MM : '%d ತಿಂಗಳು',\n y : 'ಒಂದು ವರ್ಷ',\n yy : '%d ವರ್ಷ'\n },\n preparse: function (string) {\n return string.replace(/[೧೨೩೪೫೬೭೮೯೦]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /ರಾತ್ರಿ|ಬೆಳಿಗ್ಗೆ|ಮಧ್ಯಾಹ್ನ|ಸಂಜೆ/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'ರಾತ್ರಿ') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'ಬೆಳಿಗ್ಗೆ') {\n return hour;\n } else if (meridiem === 'ಮಧ್ಯಾಹ್ನ') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'ಸಂಜೆ') {\n return hour + 12;\n }\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ರಾತ್ರಿ';\n } else if (hour < 10) {\n return 'ಬೆಳಿಗ್ಗೆ';\n } else if (hour < 17) {\n return 'ಮಧ್ಯಾಹ್ನ';\n } else if (hour < 20) {\n return 'ಸಂಜೆ';\n } else {\n return 'ರಾತ್ರಿ';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ನೇ)/,\n ordinal : function (number) {\n return number + 'ನೇ';\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return kn;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '១',\n '2': '២',\n '3': '៣',\n '4': '៤',\n '5': '៥',\n '6': '៦',\n '7': '៧',\n '8': '៨',\n '9': '៩',\n '0': '០'\n }, numberMap = {\n '១': '1',\n '២': '2',\n '៣': '3',\n '៤': '4',\n '៥': '5',\n '៦': '6',\n '៧': '7',\n '៨': '8',\n '៩': '9',\n '០': '0'\n };\n\n var km = moment.defineLocale('km', {\n months: 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split(\n '_'\n ),\n monthsShort: 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split(\n '_'\n ),\n weekdays: 'អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍'.split('_'),\n weekdaysShort: 'អា_ច_អ_ព_ព្រ_សុ_ស'.split('_'),\n weekdaysMin: 'អា_ច_អ_ព_ព្រ_សុ_ស'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n meridiemParse: /ព្រឹក|ល្ងាច/,\n isPM: function (input) {\n return input === 'ល្ងាច';\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ព្រឹក';\n } else {\n return 'ល្ងាច';\n }\n },\n calendar: {\n sameDay: '[ថ្ងៃនេះ ម៉ោង] LT',\n nextDay: '[ស្អែក ម៉ោង] LT',\n nextWeek: 'dddd [ម៉ោង] LT',\n lastDay: '[ម្សិលមិញ ម៉ោង] LT',\n lastWeek: 'dddd [សប្តាហ៍មុន] [ម៉ោង] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%sទៀត',\n past: '%sមុន',\n s: 'ប៉ុន្មានវិនាទី',\n ss: '%d វិនាទី',\n m: 'មួយនាទី',\n mm: '%d នាទី',\n h: 'មួយម៉ោង',\n hh: '%d ម៉ោង',\n d: 'មួយថ្ងៃ',\n dd: '%d ថ្ងៃ',\n M: 'មួយខែ',\n MM: '%d ខែ',\n y: 'មួយឆ្នាំ',\n yy: '%d ឆ្នាំ'\n },\n dayOfMonthOrdinalParse : /ទី\\d{1,2}/,\n ordinal : 'ទី%d',\n preparse: function (string) {\n return string.replace(/[១២៣៤៥៦៧៨៩០]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return km;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var suffixes = {\n 0: '-ші',\n 1: '-ші',\n 2: '-ші',\n 3: '-ші',\n 4: '-ші',\n 5: '-ші',\n 6: '-шы',\n 7: '-ші',\n 8: '-ші',\n 9: '-шы',\n 10: '-шы',\n 20: '-шы',\n 30: '-шы',\n 40: '-шы',\n 50: '-ші',\n 60: '-шы',\n 70: '-ші',\n 80: '-ші',\n 90: '-шы',\n 100: '-ші'\n };\n\n var kk = moment.defineLocale('kk', {\n months : 'қаңтар_ақпан_наурыз_сәуір_мамыр_маусым_шілде_тамыз_қыркүйек_қазан_қараша_желтоқсан'.split('_'),\n monthsShort : 'қаң_ақп_нау_сәу_мам_мау_шіл_там_қыр_қаз_қар_жел'.split('_'),\n weekdays : 'жексенбі_дүйсенбі_сейсенбі_сәрсенбі_бейсенбі_жұма_сенбі'.split('_'),\n weekdaysShort : 'жек_дүй_сей_сәр_бей_жұм_сен'.split('_'),\n weekdaysMin : 'жк_дй_сй_ср_бй_жм_сн'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Бүгін сағат] LT',\n nextDay : '[Ертең сағат] LT',\n nextWeek : 'dddd [сағат] LT',\n lastDay : '[Кеше сағат] LT',\n lastWeek : '[Өткен аптаның] dddd [сағат] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s ішінде',\n past : '%s бұрын',\n s : 'бірнеше секунд',\n ss : '%d секунд',\n m : 'бір минут',\n mm : '%d минут',\n h : 'бір сағат',\n hh : '%d сағат',\n d : 'бір күн',\n dd : '%d күн',\n M : 'бір ай',\n MM : '%d ай',\n y : 'бір жыл',\n yy : '%d жыл'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ші|шы)/,\n ordinal : function (number) {\n var a = number % 10,\n b = number >= 100 ? 100 : null;\n return number + (suffixes[number] || suffixes[a] || suffixes[b]);\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return kk;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var ka = moment.defineLocale('ka', {\n months : {\n standalone: 'იანვარი_თებერვალი_მარტი_აპრილი_მაისი_ივნისი_ივლისი_აგვისტო_სექტემბერი_ოქტომბერი_ნოემბერი_დეკემბერი'.split('_'),\n format: 'იანვარს_თებერვალს_მარტს_აპრილის_მაისს_ივნისს_ივლისს_აგვისტს_სექტემბერს_ოქტომბერს_ნოემბერს_დეკემბერს'.split('_')\n },\n monthsShort : 'იან_თებ_მარ_აპრ_მაი_ივნ_ივლ_აგვ_სექ_ოქტ_ნოე_დეკ'.split('_'),\n weekdays : {\n standalone: 'კვირა_ორშაბათი_სამშაბათი_ოთხშაბათი_ხუთშაბათი_პარასკევი_შაბათი'.split('_'),\n format: 'კვირას_ორშაბათს_სამშაბათს_ოთხშაბათს_ხუთშაბათს_პარასკევს_შაბათს'.split('_'),\n isFormat: /(წინა|შემდეგ)/\n },\n weekdaysShort : 'კვი_ორშ_სამ_ოთხ_ხუთ_პარ_შაბ'.split('_'),\n weekdaysMin : 'კვ_ორ_სა_ოთ_ხუ_პა_შა'.split('_'),\n longDateFormat : {\n LT : 'h:mm A',\n LTS : 'h:mm:ss A',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY h:mm A',\n LLLL : 'dddd, D MMMM YYYY h:mm A'\n },\n calendar : {\n sameDay : '[დღეს] LT[-ზე]',\n nextDay : '[ხვალ] LT[-ზე]',\n lastDay : '[გუშინ] LT[-ზე]',\n nextWeek : '[შემდეგ] dddd LT[-ზე]',\n lastWeek : '[წინა] dddd LT-ზე',\n sameElse : 'L'\n },\n relativeTime : {\n future : function (s) {\n return (/(წამი|წუთი|საათი|წელი)/).test(s) ?\n s.replace(/ი$/, 'ში') :\n s + 'ში';\n },\n past : function (s) {\n if ((/(წამი|წუთი|საათი|დღე|თვე)/).test(s)) {\n return s.replace(/(ი|ე)$/, 'ის წინ');\n }\n if ((/წელი/).test(s)) {\n return s.replace(/წელი$/, 'წლის წინ');\n }\n },\n s : 'რამდენიმე წამი',\n ss : '%d წამი',\n m : 'წუთი',\n mm : '%d წუთი',\n h : 'საათი',\n hh : '%d საათი',\n d : 'დღე',\n dd : '%d დღე',\n M : 'თვე',\n MM : '%d თვე',\n y : 'წელი',\n yy : '%d წელი'\n },\n dayOfMonthOrdinalParse: /0|1-ლი|მე-\\d{1,2}|\\d{1,2}-ე/,\n ordinal : function (number) {\n if (number === 0) {\n return number;\n }\n if (number === 1) {\n return number + '-ლი';\n }\n if ((number < 20) || (number <= 100 && (number % 20 === 0)) || (number % 100 === 0)) {\n return 'მე-' + number;\n }\n return number + '-ე';\n },\n week : {\n dow : 1,\n doy : 7\n }\n });\n\n return ka;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var jv = moment.defineLocale('jv', {\n months : 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember'.split('_'),\n monthsShort : 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des'.split('_'),\n weekdays : 'Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu'.split('_'),\n weekdaysShort : 'Min_Sen_Sel_Reb_Kem_Jem_Sep'.split('_'),\n weekdaysMin : 'Mg_Sn_Sl_Rb_Km_Jm_Sp'.split('_'),\n longDateFormat : {\n LT : 'HH.mm',\n LTS : 'HH.mm.ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY [pukul] HH.mm',\n LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm'\n },\n meridiemParse: /enjing|siyang|sonten|ndalu/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'enjing') {\n return hour;\n } else if (meridiem === 'siyang') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'sonten' || meridiem === 'ndalu') {\n return hour + 12;\n }\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'enjing';\n } else if (hours < 15) {\n return 'siyang';\n } else if (hours < 19) {\n return 'sonten';\n } else {\n return 'ndalu';\n }\n },\n calendar : {\n sameDay : '[Dinten puniko pukul] LT',\n nextDay : '[Mbenjang pukul] LT',\n nextWeek : 'dddd [pukul] LT',\n lastDay : '[Kala wingi pukul] LT',\n lastWeek : 'dddd [kepengker pukul] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'wonten ing %s',\n past : '%s ingkang kepengker',\n s : 'sawetawis detik',\n ss : '%d detik',\n m : 'setunggal menit',\n mm : '%d menit',\n h : 'setunggal jam',\n hh : '%d jam',\n d : 'sedinten',\n dd : '%d dinten',\n M : 'sewulan',\n MM : '%d wulan',\n y : 'setaun',\n yy : '%d taun'\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return jv;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var ja = moment.defineLocale('ja', {\n months : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n monthsShort : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n weekdays : '日曜日_月曜日_火曜日_水曜日_木曜日_金曜日_土曜日'.split('_'),\n weekdaysShort : '日_月_火_水_木_金_土'.split('_'),\n weekdaysMin : '日_月_火_水_木_金_土'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY/MM/DD',\n LL : 'YYYY年M月D日',\n LLL : 'YYYY年M月D日 HH:mm',\n LLLL : 'YYYY年M月D日 dddd HH:mm',\n l : 'YYYY/MM/DD',\n ll : 'YYYY年M月D日',\n lll : 'YYYY年M月D日 HH:mm',\n llll : 'YYYY年M月D日(ddd) HH:mm'\n },\n meridiemParse: /午前|午後/i,\n isPM : function (input) {\n return input === '午後';\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return '午前';\n } else {\n return '午後';\n }\n },\n calendar : {\n sameDay : '[今日] LT',\n nextDay : '[明日] LT',\n nextWeek : function (now) {\n if (now.week() < this.week()) {\n return '[来週]dddd LT';\n } else {\n return 'dddd LT';\n }\n },\n lastDay : '[昨日] LT',\n lastWeek : function (now) {\n if (this.week() < now.week()) {\n return '[先週]dddd LT';\n } else {\n return 'dddd LT';\n }\n },\n sameElse : 'L'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}日/,\n ordinal : function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '日';\n default:\n return number;\n }\n },\n relativeTime : {\n future : '%s後',\n past : '%s前',\n s : '数秒',\n ss : '%d秒',\n m : '1分',\n mm : '%d分',\n h : '1時間',\n hh : '%d時間',\n d : '1日',\n dd : '%d日',\n M : '1ヶ月',\n MM : '%dヶ月',\n y : '1年',\n yy : '%d年'\n }\n });\n\n return ja;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var it = moment.defineLocale('it', {\n months : 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split('_'),\n monthsShort : 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'),\n weekdays : 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split('_'),\n weekdaysShort : 'dom_lun_mar_mer_gio_ven_sab'.split('_'),\n weekdaysMin : 'do_lu_ma_me_gi_ve_sa'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[Oggi alle] LT',\n nextDay: '[Domani alle] LT',\n nextWeek: 'dddd [alle] LT',\n lastDay: '[Ieri alle] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[la scorsa] dddd [alle] LT';\n default:\n return '[lo scorso] dddd [alle] LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : function (s) {\n return ((/^[0-9].+$/).test(s) ? 'tra' : 'in') + ' ' + s;\n },\n past : '%s fa',\n s : 'alcuni secondi',\n ss : '%d secondi',\n m : 'un minuto',\n mm : '%d minuti',\n h : 'un\\'ora',\n hh : '%d ore',\n d : 'un giorno',\n dd : '%d giorni',\n M : 'un mese',\n MM : '%d mesi',\n y : 'un anno',\n yy : '%d anni'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}º/,\n ordinal: '%dº',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return it;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function plural(n) {\n if (n % 100 === 11) {\n return true;\n } else if (n % 10 === 1) {\n return false;\n }\n return true;\n }\n function translate(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n switch (key) {\n case 's':\n return withoutSuffix || isFuture ? 'nokkrar sekúndur' : 'nokkrum sekúndum';\n case 'ss':\n if (plural(number)) {\n return result + (withoutSuffix || isFuture ? 'sekúndur' : 'sekúndum');\n }\n return result + 'sekúnda';\n case 'm':\n return withoutSuffix ? 'mínúta' : 'mínútu';\n case 'mm':\n if (plural(number)) {\n return result + (withoutSuffix || isFuture ? 'mínútur' : 'mínútum');\n } else if (withoutSuffix) {\n return result + 'mínúta';\n }\n return result + 'mínútu';\n case 'hh':\n if (plural(number)) {\n return result + (withoutSuffix || isFuture ? 'klukkustundir' : 'klukkustundum');\n }\n return result + 'klukkustund';\n case 'd':\n if (withoutSuffix) {\n return 'dagur';\n }\n return isFuture ? 'dag' : 'degi';\n case 'dd':\n if (plural(number)) {\n if (withoutSuffix) {\n return result + 'dagar';\n }\n return result + (isFuture ? 'daga' : 'dögum');\n } else if (withoutSuffix) {\n return result + 'dagur';\n }\n return result + (isFuture ? 'dag' : 'degi');\n case 'M':\n if (withoutSuffix) {\n return 'mánuður';\n }\n return isFuture ? 'mánuð' : 'mánuði';\n case 'MM':\n if (plural(number)) {\n if (withoutSuffix) {\n return result + 'mánuðir';\n }\n return result + (isFuture ? 'mánuði' : 'mánuðum');\n } else if (withoutSuffix) {\n return result + 'mánuður';\n }\n return result + (isFuture ? 'mánuð' : 'mánuði');\n case 'y':\n return withoutSuffix || isFuture ? 'ár' : 'ári';\n case 'yy':\n if (plural(number)) {\n return result + (withoutSuffix || isFuture ? 'ár' : 'árum');\n }\n return result + (withoutSuffix || isFuture ? 'ár' : 'ári');\n }\n }\n\n var is = moment.defineLocale('is', {\n months : 'janúar_febrúar_mars_apríl_maí_júní_júlí_ágúst_september_október_nóvember_desember'.split('_'),\n monthsShort : 'jan_feb_mar_apr_maí_jún_júl_ágú_sep_okt_nóv_des'.split('_'),\n weekdays : 'sunnudagur_mánudagur_þriðjudagur_miðvikudagur_fimmtudagur_föstudagur_laugardagur'.split('_'),\n weekdaysShort : 'sun_mán_þri_mið_fim_fös_lau'.split('_'),\n weekdaysMin : 'Su_Má_Þr_Mi_Fi_Fö_La'.split('_'),\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY [kl.] H:mm',\n LLLL : 'dddd, D. MMMM YYYY [kl.] H:mm'\n },\n calendar : {\n sameDay : '[í dag kl.] LT',\n nextDay : '[á morgun kl.] LT',\n nextWeek : 'dddd [kl.] LT',\n lastDay : '[í gær kl.] LT',\n lastWeek : '[síðasta] dddd [kl.] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'eftir %s',\n past : 'fyrir %s síðan',\n s : translate,\n ss : translate,\n m : translate,\n mm : translate,\n h : 'klukkustund',\n hh : translate,\n d : translate,\n dd : translate,\n M : translate,\n MM : translate,\n y : translate,\n yy : translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return is;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var id = moment.defineLocale('id', {\n months : 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember'.split('_'),\n monthsShort : 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Agt_Sep_Okt_Nov_Des'.split('_'),\n weekdays : 'Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu'.split('_'),\n weekdaysShort : 'Min_Sen_Sel_Rab_Kam_Jum_Sab'.split('_'),\n weekdaysMin : 'Mg_Sn_Sl_Rb_Km_Jm_Sb'.split('_'),\n longDateFormat : {\n LT : 'HH.mm',\n LTS : 'HH.mm.ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY [pukul] HH.mm',\n LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm'\n },\n meridiemParse: /pagi|siang|sore|malam/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'pagi') {\n return hour;\n } else if (meridiem === 'siang') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'sore' || meridiem === 'malam') {\n return hour + 12;\n }\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'pagi';\n } else if (hours < 15) {\n return 'siang';\n } else if (hours < 19) {\n return 'sore';\n } else {\n return 'malam';\n }\n },\n calendar : {\n sameDay : '[Hari ini pukul] LT',\n nextDay : '[Besok pukul] LT',\n nextWeek : 'dddd [pukul] LT',\n lastDay : '[Kemarin pukul] LT',\n lastWeek : 'dddd [lalu pukul] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'dalam %s',\n past : '%s yang lalu',\n s : 'beberapa detik',\n ss : '%d detik',\n m : 'semenit',\n mm : '%d menit',\n h : 'sejam',\n hh : '%d jam',\n d : 'sehari',\n dd : '%d hari',\n M : 'sebulan',\n MM : '%d bulan',\n y : 'setahun',\n yy : '%d tahun'\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return id;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var hyAm = moment.defineLocale('hy-am', {\n months : {\n format: 'հունվարի_փետրվարի_մարտի_ապրիլի_մայիսի_հունիսի_հուլիսի_օգոստոսի_սեպտեմբերի_հոկտեմբերի_նոյեմբերի_դեկտեմբերի'.split('_'),\n standalone: 'հունվար_փետրվար_մարտ_ապրիլ_մայիս_հունիս_հուլիս_օգոստոս_սեպտեմբեր_հոկտեմբեր_նոյեմբեր_դեկտեմբեր'.split('_')\n },\n monthsShort : 'հնվ_փտր_մրտ_ապր_մյս_հնս_հլս_օգս_սպտ_հկտ_նմբ_դկտ'.split('_'),\n weekdays : 'կիրակի_երկուշաբթի_երեքշաբթի_չորեքշաբթի_հինգշաբթի_ուրբաթ_շաբաթ'.split('_'),\n weekdaysShort : 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'),\n weekdaysMin : 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY թ.',\n LLL : 'D MMMM YYYY թ., HH:mm',\n LLLL : 'dddd, D MMMM YYYY թ., HH:mm'\n },\n calendar : {\n sameDay: '[այսօր] LT',\n nextDay: '[վաղը] LT',\n lastDay: '[երեկ] LT',\n nextWeek: function () {\n return 'dddd [օրը ժամը] LT';\n },\n lastWeek: function () {\n return '[անցած] dddd [օրը ժամը] LT';\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : '%s հետո',\n past : '%s առաջ',\n s : 'մի քանի վայրկյան',\n ss : '%d վայրկյան',\n m : 'րոպե',\n mm : '%d րոպե',\n h : 'ժամ',\n hh : '%d ժամ',\n d : 'օր',\n dd : '%d օր',\n M : 'ամիս',\n MM : '%d ամիս',\n y : 'տարի',\n yy : '%d տարի'\n },\n meridiemParse: /գիշերվա|առավոտվա|ցերեկվա|երեկոյան/,\n isPM: function (input) {\n return /^(ցերեկվա|երեկոյան)$/.test(input);\n },\n meridiem : function (hour) {\n if (hour < 4) {\n return 'գիշերվա';\n } else if (hour < 12) {\n return 'առավոտվա';\n } else if (hour < 17) {\n return 'ցերեկվա';\n } else {\n return 'երեկոյան';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}|\\d{1,2}-(ին|րդ)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'DDD':\n case 'w':\n case 'W':\n case 'DDDo':\n if (number === 1) {\n return number + '-ին';\n }\n return number + '-րդ';\n default:\n return number;\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return hyAm;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var weekEndings = 'vasárnap hétfőn kedden szerdán csütörtökön pénteken szombaton'.split(' ');\n function translate(number, withoutSuffix, key, isFuture) {\n var num = number;\n switch (key) {\n case 's':\n return (isFuture || withoutSuffix) ? 'néhány másodperc' : 'néhány másodperce';\n case 'ss':\n return num + (isFuture || withoutSuffix) ? ' másodperc' : ' másodperce';\n case 'm':\n return 'egy' + (isFuture || withoutSuffix ? ' perc' : ' perce');\n case 'mm':\n return num + (isFuture || withoutSuffix ? ' perc' : ' perce');\n case 'h':\n return 'egy' + (isFuture || withoutSuffix ? ' óra' : ' órája');\n case 'hh':\n return num + (isFuture || withoutSuffix ? ' óra' : ' órája');\n case 'd':\n return 'egy' + (isFuture || withoutSuffix ? ' nap' : ' napja');\n case 'dd':\n return num + (isFuture || withoutSuffix ? ' nap' : ' napja');\n case 'M':\n return 'egy' + (isFuture || withoutSuffix ? ' hónap' : ' hónapja');\n case 'MM':\n return num + (isFuture || withoutSuffix ? ' hónap' : ' hónapja');\n case 'y':\n return 'egy' + (isFuture || withoutSuffix ? ' év' : ' éve');\n case 'yy':\n return num + (isFuture || withoutSuffix ? ' év' : ' éve');\n }\n return '';\n }\n function week(isFuture) {\n return (isFuture ? '' : '[múlt] ') + '[' + weekEndings[this.day()] + '] LT[-kor]';\n }\n\n var hu = moment.defineLocale('hu', {\n months : 'január_február_március_április_május_június_július_augusztus_szeptember_október_november_december'.split('_'),\n monthsShort : 'jan_feb_márc_ápr_máj_jún_júl_aug_szept_okt_nov_dec'.split('_'),\n weekdays : 'vasárnap_hétfő_kedd_szerda_csütörtök_péntek_szombat'.split('_'),\n weekdaysShort : 'vas_hét_kedd_sze_csüt_pén_szo'.split('_'),\n weekdaysMin : 'v_h_k_sze_cs_p_szo'.split('_'),\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'YYYY.MM.DD.',\n LL : 'YYYY. MMMM D.',\n LLL : 'YYYY. MMMM D. H:mm',\n LLLL : 'YYYY. MMMM D., dddd H:mm'\n },\n meridiemParse: /de|du/i,\n isPM: function (input) {\n return input.charAt(1).toLowerCase() === 'u';\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours < 12) {\n return isLower === true ? 'de' : 'DE';\n } else {\n return isLower === true ? 'du' : 'DU';\n }\n },\n calendar : {\n sameDay : '[ma] LT[-kor]',\n nextDay : '[holnap] LT[-kor]',\n nextWeek : function () {\n return week.call(this, true);\n },\n lastDay : '[tegnap] LT[-kor]',\n lastWeek : function () {\n return week.call(this, false);\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s múlva',\n past : '%s',\n s : translate,\n ss : translate,\n m : translate,\n mm : translate,\n h : translate,\n hh : translate,\n d : translate,\n dd : translate,\n M : translate,\n MM : translate,\n y : translate,\n yy : translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return hu;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function translate(number, withoutSuffix, key) {\n var result = number + ' ';\n switch (key) {\n case 'ss':\n if (number === 1) {\n result += 'sekunda';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sekunde';\n } else {\n result += 'sekundi';\n }\n return result;\n case 'm':\n return withoutSuffix ? 'jedna minuta' : 'jedne minute';\n case 'mm':\n if (number === 1) {\n result += 'minuta';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'minute';\n } else {\n result += 'minuta';\n }\n return result;\n case 'h':\n return withoutSuffix ? 'jedan sat' : 'jednog sata';\n case 'hh':\n if (number === 1) {\n result += 'sat';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sata';\n } else {\n result += 'sati';\n }\n return result;\n case 'dd':\n if (number === 1) {\n result += 'dan';\n } else {\n result += 'dana';\n }\n return result;\n case 'MM':\n if (number === 1) {\n result += 'mjesec';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'mjeseca';\n } else {\n result += 'mjeseci';\n }\n return result;\n case 'yy':\n if (number === 1) {\n result += 'godina';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'godine';\n } else {\n result += 'godina';\n }\n return result;\n }\n }\n\n var hr = moment.defineLocale('hr', {\n months : {\n format: 'siječnja_veljače_ožujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca'.split('_'),\n standalone: 'siječanj_veljača_ožujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac'.split('_')\n },\n monthsShort : 'sij._velj._ožu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.'.split('_'),\n monthsParseExact: true,\n weekdays : 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split('_'),\n weekdaysShort : 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n weekdaysMin : 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY H:mm',\n LLLL : 'dddd, D. MMMM YYYY H:mm'\n },\n calendar : {\n sameDay : '[danas u] LT',\n nextDay : '[sutra u] LT',\n nextWeek : function () {\n switch (this.day()) {\n case 0:\n return '[u] [nedjelju] [u] LT';\n case 3:\n return '[u] [srijedu] [u] LT';\n case 6:\n return '[u] [subotu] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay : '[jučer u] LT',\n lastWeek : function () {\n switch (this.day()) {\n case 0:\n case 3:\n return '[prošlu] dddd [u] LT';\n case 6:\n return '[prošle] [subote] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[prošli] dddd [u] LT';\n }\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'za %s',\n past : 'prije %s',\n s : 'par sekundi',\n ss : translate,\n m : translate,\n mm : translate,\n h : translate,\n hh : translate,\n d : 'dan',\n dd : translate,\n M : 'mjesec',\n MM : translate,\n y : 'godinu',\n yy : translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return hr;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '१',\n '2': '२',\n '3': '३',\n '4': '४',\n '5': '५',\n '6': '६',\n '7': '७',\n '8': '८',\n '9': '९',\n '0': '०'\n },\n numberMap = {\n '१': '1',\n '२': '2',\n '३': '3',\n '४': '4',\n '५': '5',\n '६': '6',\n '७': '7',\n '८': '8',\n '९': '9',\n '०': '0'\n };\n\n var hi = moment.defineLocale('hi', {\n months : 'जनवरी_फ़रवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितम्बर_अक्टूबर_नवम्बर_दिसम्बर'.split('_'),\n monthsShort : 'जन._फ़र._मार्च_अप्रै._मई_जून_जुल._अग._सित._अक्टू._नव._दिस.'.split('_'),\n monthsParseExact: true,\n weekdays : 'रविवार_सोमवार_मंगलवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'),\n weekdaysShort : 'रवि_सोम_मंगल_बुध_गुरू_शुक्र_शनि'.split('_'),\n weekdaysMin : 'र_सो_मं_बु_गु_शु_श'.split('_'),\n longDateFormat : {\n LT : 'A h:mm बजे',\n LTS : 'A h:mm:ss बजे',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, A h:mm बजे',\n LLLL : 'dddd, D MMMM YYYY, A h:mm बजे'\n },\n calendar : {\n sameDay : '[आज] LT',\n nextDay : '[कल] LT',\n nextWeek : 'dddd, LT',\n lastDay : '[कल] LT',\n lastWeek : '[पिछले] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s में',\n past : '%s पहले',\n s : 'कुछ ही क्षण',\n ss : '%d सेकंड',\n m : 'एक मिनट',\n mm : '%d मिनट',\n h : 'एक घंटा',\n hh : '%d घंटे',\n d : 'एक दिन',\n dd : '%d दिन',\n M : 'एक महीने',\n MM : '%d महीने',\n y : 'एक वर्ष',\n yy : '%d वर्ष'\n },\n preparse: function (string) {\n return string.replace(/[१२३४५६७८९०]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n // Hindi notation for meridiems are quite fuzzy in practice. While there exists\n // a rigid notion of a 'Pahar' it is not used as rigidly in modern Hindi.\n meridiemParse: /रात|सुबह|दोपहर|शाम/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'रात') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'सुबह') {\n return hour;\n } else if (meridiem === 'दोपहर') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'शाम') {\n return hour + 12;\n }\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'रात';\n } else if (hour < 10) {\n return 'सुबह';\n } else if (hour < 17) {\n return 'दोपहर';\n } else if (hour < 20) {\n return 'शाम';\n } else {\n return 'रात';\n }\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return hi;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var he = moment.defineLocale('he', {\n months : 'ינואר_פברואר_מרץ_אפריל_מאי_יוני_יולי_אוגוסט_ספטמבר_אוקטובר_נובמבר_דצמבר'.split('_'),\n monthsShort : 'ינו׳_פבר׳_מרץ_אפר׳_מאי_יוני_יולי_אוג׳_ספט׳_אוק׳_נוב׳_דצמ׳'.split('_'),\n weekdays : 'ראשון_שני_שלישי_רביעי_חמישי_שישי_שבת'.split('_'),\n weekdaysShort : 'א׳_ב׳_ג׳_ד׳_ה׳_ו׳_ש׳'.split('_'),\n weekdaysMin : 'א_ב_ג_ד_ה_ו_ש'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D [ב]MMMM YYYY',\n LLL : 'D [ב]MMMM YYYY HH:mm',\n LLLL : 'dddd, D [ב]MMMM YYYY HH:mm',\n l : 'D/M/YYYY',\n ll : 'D MMM YYYY',\n lll : 'D MMM YYYY HH:mm',\n llll : 'ddd, D MMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[היום ב־]LT',\n nextDay : '[מחר ב־]LT',\n nextWeek : 'dddd [בשעה] LT',\n lastDay : '[אתמול ב־]LT',\n lastWeek : '[ביום] dddd [האחרון בשעה] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'בעוד %s',\n past : 'לפני %s',\n s : 'מספר שניות',\n ss : '%d שניות',\n m : 'דקה',\n mm : '%d דקות',\n h : 'שעה',\n hh : function (number) {\n if (number === 2) {\n return 'שעתיים';\n }\n return number + ' שעות';\n },\n d : 'יום',\n dd : function (number) {\n if (number === 2) {\n return 'יומיים';\n }\n return number + ' ימים';\n },\n M : 'חודש',\n MM : function (number) {\n if (number === 2) {\n return 'חודשיים';\n }\n return number + ' חודשים';\n },\n y : 'שנה',\n yy : function (number) {\n if (number === 2) {\n return 'שנתיים';\n } else if (number % 10 === 0 && number !== 10) {\n return number + ' שנה';\n }\n return number + ' שנים';\n }\n },\n meridiemParse: /אחה\"צ|לפנה\"צ|אחרי הצהריים|לפני הצהריים|לפנות בוקר|בבוקר|בערב/i,\n isPM : function (input) {\n return /^(אחה\"צ|אחרי הצהריים|בערב)$/.test(input);\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 5) {\n return 'לפנות בוקר';\n } else if (hour < 10) {\n return 'בבוקר';\n } else if (hour < 12) {\n return isLower ? 'לפנה\"צ' : 'לפני הצהריים';\n } else if (hour < 18) {\n return isLower ? 'אחה\"צ' : 'אחרי הצהריים';\n } else {\n return 'בערב';\n }\n }\n });\n\n return he;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '૧',\n '2': '૨',\n '3': '૩',\n '4': '૪',\n '5': '૫',\n '6': '૬',\n '7': '૭',\n '8': '૮',\n '9': '૯',\n '0': '૦'\n },\n numberMap = {\n '૧': '1',\n '૨': '2',\n '૩': '3',\n '૪': '4',\n '૫': '5',\n '૬': '6',\n '૭': '7',\n '૮': '8',\n '૯': '9',\n '૦': '0'\n };\n\n var gu = moment.defineLocale('gu', {\n months: 'જાન્યુઆરી_ફેબ્રુઆરી_માર્ચ_એપ્રિલ_મે_જૂન_જુલાઈ_ઑગસ્ટ_સપ્ટેમ્બર_ઑક્ટ્બર_નવેમ્બર_ડિસેમ્બર'.split('_'),\n monthsShort: 'જાન્યુ._ફેબ્રુ._માર્ચ_એપ્રિ._મે_જૂન_જુલા._ઑગ._સપ્ટે._ઑક્ટ્._નવે._ડિસે.'.split('_'),\n monthsParseExact: true,\n weekdays: 'રવિવાર_સોમવાર_મંગળવાર_બુધ્વાર_ગુરુવાર_શુક્રવાર_શનિવાર'.split('_'),\n weekdaysShort: 'રવિ_સોમ_મંગળ_બુધ્_ગુરુ_શુક્ર_શનિ'.split('_'),\n weekdaysMin: 'ર_સો_મં_બુ_ગુ_શુ_શ'.split('_'),\n longDateFormat: {\n LT: 'A h:mm વાગ્યે',\n LTS: 'A h:mm:ss વાગ્યે',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm વાગ્યે',\n LLLL: 'dddd, D MMMM YYYY, A h:mm વાગ્યે'\n },\n calendar: {\n sameDay: '[આજ] LT',\n nextDay: '[કાલે] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[ગઇકાલે] LT',\n lastWeek: '[પાછલા] dddd, LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s મા',\n past: '%s પેહલા',\n s: 'અમુક પળો',\n ss: '%d સેકંડ',\n m: 'એક મિનિટ',\n mm: '%d મિનિટ',\n h: 'એક કલાક',\n hh: '%d કલાક',\n d: 'એક દિવસ',\n dd: '%d દિવસ',\n M: 'એક મહિનો',\n MM: '%d મહિનો',\n y: 'એક વર્ષ',\n yy: '%d વર્ષ'\n },\n preparse: function (string) {\n return string.replace(/[૧૨૩૪૫૬૭૮૯૦]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n // Gujarati notation for meridiems are quite fuzzy in practice. While there exists\n // a rigid notion of a 'Pahar' it is not used as rigidly in modern Gujarati.\n meridiemParse: /રાત|બપોર|સવાર|સાંજ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'રાત') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'સવાર') {\n return hour;\n } else if (meridiem === 'બપોર') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'સાંજ') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'રાત';\n } else if (hour < 10) {\n return 'સવાર';\n } else if (hour < 17) {\n return 'બપોર';\n } else if (hour < 20) {\n return 'સાંજ';\n } else {\n return 'રાત';\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return gu;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n 's': ['thodde secondanim', 'thodde second'],\n 'ss': [number + ' secondanim', number + ' second'],\n 'm': ['eka mintan', 'ek minute'],\n 'mm': [number + ' mintanim', number + ' mintam'],\n 'h': ['eka horan', 'ek hor'],\n 'hh': [number + ' horanim', number + ' horam'],\n 'd': ['eka disan', 'ek dis'],\n 'dd': [number + ' disanim', number + ' dis'],\n 'M': ['eka mhoinean', 'ek mhoino'],\n 'MM': [number + ' mhoineanim', number + ' mhoine'],\n 'y': ['eka vorsan', 'ek voros'],\n 'yy': [number + ' vorsanim', number + ' vorsam']\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n\n var gomLatn = moment.defineLocale('gom-latn', {\n months : 'Janer_Febrer_Mars_Abril_Mai_Jun_Julai_Agost_Setembr_Otubr_Novembr_Dezembr'.split('_'),\n monthsShort : 'Jan._Feb._Mars_Abr._Mai_Jun_Jul._Ago._Set._Otu._Nov._Dez.'.split('_'),\n monthsParseExact : true,\n weekdays : 'Aitar_Somar_Mongllar_Budvar_Brestar_Sukrar_Son\\'var'.split('_'),\n weekdaysShort : 'Ait._Som._Mon._Bud._Bre._Suk._Son.'.split('_'),\n weekdaysMin : 'Ai_Sm_Mo_Bu_Br_Su_Sn'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'A h:mm [vazta]',\n LTS : 'A h:mm:ss [vazta]',\n L : 'DD-MM-YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY A h:mm [vazta]',\n LLLL : 'dddd, MMMM[achea] Do, YYYY, A h:mm [vazta]',\n llll: 'ddd, D MMM YYYY, A h:mm [vazta]'\n },\n calendar : {\n sameDay: '[Aiz] LT',\n nextDay: '[Faleam] LT',\n nextWeek: '[Ieta to] dddd[,] LT',\n lastDay: '[Kal] LT',\n lastWeek: '[Fatlo] dddd[,] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : '%s',\n past : '%s adim',\n s : processRelativeTime,\n ss : processRelativeTime,\n m : processRelativeTime,\n mm : processRelativeTime,\n h : processRelativeTime,\n hh : processRelativeTime,\n d : processRelativeTime,\n dd : processRelativeTime,\n M : processRelativeTime,\n MM : processRelativeTime,\n y : processRelativeTime,\n yy : processRelativeTime\n },\n dayOfMonthOrdinalParse : /\\d{1,2}(er)/,\n ordinal : function (number, period) {\n switch (period) {\n // the ordinal 'er' only applies to day of the month\n case 'D':\n return number + 'er';\n default:\n case 'M':\n case 'Q':\n case 'DDD':\n case 'd':\n case 'w':\n case 'W':\n return number;\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n },\n meridiemParse: /rati|sokalli|donparam|sanje/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'rati') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'sokalli') {\n return hour;\n } else if (meridiem === 'donparam') {\n return hour > 12 ? hour : hour + 12;\n } else if (meridiem === 'sanje') {\n return hour + 12;\n }\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'rati';\n } else if (hour < 12) {\n return 'sokalli';\n } else if (hour < 16) {\n return 'donparam';\n } else if (hour < 20) {\n return 'sanje';\n } else {\n return 'rati';\n }\n }\n });\n\n return gomLatn;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var gl = moment.defineLocale('gl', {\n months : 'xaneiro_febreiro_marzo_abril_maio_xuño_xullo_agosto_setembro_outubro_novembro_decembro'.split('_'),\n monthsShort : 'xan._feb._mar._abr._mai._xuñ._xul._ago._set._out._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays : 'domingo_luns_martes_mércores_xoves_venres_sábado'.split('_'),\n weekdaysShort : 'dom._lun._mar._mér._xov._ven._sáb.'.split('_'),\n weekdaysMin : 'do_lu_ma_mé_xo_ve_sá'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D [de] MMMM [de] YYYY',\n LLL : 'D [de] MMMM [de] YYYY H:mm',\n LLLL : 'dddd, D [de] MMMM [de] YYYY H:mm'\n },\n calendar : {\n sameDay : function () {\n return '[hoxe ' + ((this.hours() !== 1) ? 'ás' : 'á') + '] LT';\n },\n nextDay : function () {\n return '[mañá ' + ((this.hours() !== 1) ? 'ás' : 'á') + '] LT';\n },\n nextWeek : function () {\n return 'dddd [' + ((this.hours() !== 1) ? 'ás' : 'a') + '] LT';\n },\n lastDay : function () {\n return '[onte ' + ((this.hours() !== 1) ? 'á' : 'a') + '] LT';\n },\n lastWeek : function () {\n return '[o] dddd [pasado ' + ((this.hours() !== 1) ? 'ás' : 'a') + '] LT';\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : function (str) {\n if (str.indexOf('un') === 0) {\n return 'n' + str;\n }\n return 'en ' + str;\n },\n past : 'hai %s',\n s : 'uns segundos',\n ss : '%d segundos',\n m : 'un minuto',\n mm : '%d minutos',\n h : 'unha hora',\n hh : '%d horas',\n d : 'un día',\n dd : '%d días',\n M : 'un mes',\n MM : '%d meses',\n y : 'un ano',\n yy : '%d anos'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}º/,\n ordinal : '%dº',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return gl;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var months = [\n 'Am Faoilleach', 'An Gearran', 'Am Màrt', 'An Giblean', 'An Cèitean', 'An t-Ògmhios', 'An t-Iuchar', 'An Lùnastal', 'An t-Sultain', 'An Dàmhair', 'An t-Samhain', 'An Dùbhlachd'\n ];\n\n var monthsShort = ['Faoi', 'Gear', 'Màrt', 'Gibl', 'Cèit', 'Ògmh', 'Iuch', 'Lùn', 'Sult', 'Dàmh', 'Samh', 'Dùbh'];\n\n var weekdays = ['Didòmhnaich', 'Diluain', 'Dimàirt', 'Diciadain', 'Diardaoin', 'Dihaoine', 'Disathairne'];\n\n var weekdaysShort = ['Did', 'Dil', 'Dim', 'Dic', 'Dia', 'Dih', 'Dis'];\n\n var weekdaysMin = ['Dò', 'Lu', 'Mà', 'Ci', 'Ar', 'Ha', 'Sa'];\n\n var gd = moment.defineLocale('gd', {\n months : months,\n monthsShort : monthsShort,\n monthsParseExact : true,\n weekdays : weekdays,\n weekdaysShort : weekdaysShort,\n weekdaysMin : weekdaysMin,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[An-diugh aig] LT',\n nextDay : '[A-màireach aig] LT',\n nextWeek : 'dddd [aig] LT',\n lastDay : '[An-dè aig] LT',\n lastWeek : 'dddd [seo chaidh] [aig] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'ann an %s',\n past : 'bho chionn %s',\n s : 'beagan diogan',\n ss : '%d diogan',\n m : 'mionaid',\n mm : '%d mionaidean',\n h : 'uair',\n hh : '%d uairean',\n d : 'latha',\n dd : '%d latha',\n M : 'mìos',\n MM : '%d mìosan',\n y : 'bliadhna',\n yy : '%d bliadhna'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}(d|na|mh)/,\n ordinal : function (number) {\n var output = number === 1 ? 'd' : number % 10 === 2 ? 'na' : 'mh';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return gd;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var monthsShortWithDots = 'jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.'.split('_'),\n monthsShortWithoutDots = 'jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_');\n\n var fy = moment.defineLocale('fy', {\n months : 'jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber'.split('_'),\n monthsShort : function (m, format) {\n if (!m) {\n return monthsShortWithDots;\n } else if (/-MMM-/.test(format)) {\n return monthsShortWithoutDots[m.month()];\n } else {\n return monthsShortWithDots[m.month()];\n }\n },\n monthsParseExact : true,\n weekdays : 'snein_moandei_tiisdei_woansdei_tongersdei_freed_sneon'.split('_'),\n weekdaysShort : 'si._mo._ti._wo._to._fr._so.'.split('_'),\n weekdaysMin : 'Si_Mo_Ti_Wo_To_Fr_So'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD-MM-YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[hjoed om] LT',\n nextDay: '[moarn om] LT',\n nextWeek: 'dddd [om] LT',\n lastDay: '[juster om] LT',\n lastWeek: '[ôfrûne] dddd [om] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'oer %s',\n past : '%s lyn',\n s : 'in pear sekonden',\n ss : '%d sekonden',\n m : 'ien minút',\n mm : '%d minuten',\n h : 'ien oere',\n hh : '%d oeren',\n d : 'ien dei',\n dd : '%d dagen',\n M : 'ien moanne',\n MM : '%d moannen',\n y : 'ien jier',\n yy : '%d jierren'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n ordinal : function (number) {\n return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de');\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return fy;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var frCh = moment.defineLocale('fr-ch', {\n months : 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'),\n monthsShort : 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'),\n monthsParseExact : true,\n weekdays : 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n weekdaysShort : 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n weekdaysMin : 'di_lu_ma_me_je_ve_sa'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Aujourd’hui à] LT',\n nextDay : '[Demain à] LT',\n nextWeek : 'dddd [à] LT',\n lastDay : '[Hier à] LT',\n lastWeek : 'dddd [dernier à] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'dans %s',\n past : 'il y a %s',\n s : 'quelques secondes',\n ss : '%d secondes',\n m : 'une minute',\n mm : '%d minutes',\n h : 'une heure',\n hh : '%d heures',\n d : 'un jour',\n dd : '%d jours',\n M : 'un mois',\n MM : '%d mois',\n y : 'un an',\n yy : '%d ans'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(er|e)/,\n ordinal : function (number, period) {\n switch (period) {\n // Words with masculine grammatical gender: mois, trimestre, jour\n default:\n case 'M':\n case 'Q':\n case 'D':\n case 'DDD':\n case 'd':\n return number + (number === 1 ? 'er' : 'e');\n\n // Words with feminine grammatical gender: semaine\n case 'w':\n case 'W':\n return number + (number === 1 ? 're' : 'e');\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return frCh;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var frCa = moment.defineLocale('fr-ca', {\n months : 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'),\n monthsShort : 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'),\n monthsParseExact : true,\n weekdays : 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n weekdaysShort : 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n weekdaysMin : 'di_lu_ma_me_je_ve_sa'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY-MM-DD',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Aujourd’hui à] LT',\n nextDay : '[Demain à] LT',\n nextWeek : 'dddd [à] LT',\n lastDay : '[Hier à] LT',\n lastWeek : 'dddd [dernier à] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'dans %s',\n past : 'il y a %s',\n s : 'quelques secondes',\n ss : '%d secondes',\n m : 'une minute',\n mm : '%d minutes',\n h : 'une heure',\n hh : '%d heures',\n d : 'un jour',\n dd : '%d jours',\n M : 'un mois',\n MM : '%d mois',\n y : 'un an',\n yy : '%d ans'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(er|e)/,\n ordinal : function (number, period) {\n switch (period) {\n // Words with masculine grammatical gender: mois, trimestre, jour\n default:\n case 'M':\n case 'Q':\n case 'D':\n case 'DDD':\n case 'd':\n return number + (number === 1 ? 'er' : 'e');\n\n // Words with feminine grammatical gender: semaine\n case 'w':\n case 'W':\n return number + (number === 1 ? 're' : 'e');\n }\n }\n });\n\n return frCa;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var fr = moment.defineLocale('fr', {\n months : 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'),\n monthsShort : 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'),\n monthsParseExact : true,\n weekdays : 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n weekdaysShort : 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n weekdaysMin : 'di_lu_ma_me_je_ve_sa'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Aujourd’hui à] LT',\n nextDay : '[Demain à] LT',\n nextWeek : 'dddd [à] LT',\n lastDay : '[Hier à] LT',\n lastWeek : 'dddd [dernier à] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'dans %s',\n past : 'il y a %s',\n s : 'quelques secondes',\n ss : '%d secondes',\n m : 'une minute',\n mm : '%d minutes',\n h : 'une heure',\n hh : '%d heures',\n d : 'un jour',\n dd : '%d jours',\n M : 'un mois',\n MM : '%d mois',\n y : 'un an',\n yy : '%d ans'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(er|)/,\n ordinal : function (number, period) {\n switch (period) {\n // TODO: Return 'e' when day of month > 1. Move this case inside\n // block for masculine words below.\n // See https://github.com/moment/moment/issues/3375\n case 'D':\n return number + (number === 1 ? 'er' : '');\n\n // Words with masculine grammatical gender: mois, trimestre, jour\n default:\n case 'M':\n case 'Q':\n case 'DDD':\n case 'd':\n return number + (number === 1 ? 'er' : 'e');\n\n // Words with feminine grammatical gender: semaine\n case 'w':\n case 'W':\n return number + (number === 1 ? 're' : 'e');\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return fr;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var fo = moment.defineLocale('fo', {\n months : 'januar_februar_mars_apríl_mai_juni_juli_august_september_oktober_november_desember'.split('_'),\n monthsShort : 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'),\n weekdays : 'sunnudagur_mánadagur_týsdagur_mikudagur_hósdagur_fríggjadagur_leygardagur'.split('_'),\n weekdaysShort : 'sun_mán_týs_mik_hós_frí_ley'.split('_'),\n weekdaysMin : 'su_má_tý_mi_hó_fr_le'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D. MMMM, YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Í dag kl.] LT',\n nextDay : '[Í morgin kl.] LT',\n nextWeek : 'dddd [kl.] LT',\n lastDay : '[Í gjár kl.] LT',\n lastWeek : '[síðstu] dddd [kl] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'um %s',\n past : '%s síðani',\n s : 'fá sekund',\n ss : '%d sekundir',\n m : 'ein minutt',\n mm : '%d minuttir',\n h : 'ein tími',\n hh : '%d tímar',\n d : 'ein dagur',\n dd : '%d dagar',\n M : 'ein mánaði',\n MM : '%d mánaðir',\n y : 'eitt ár',\n yy : '%d ár'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return fo;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var numbersPast = 'nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän'.split(' '),\n numbersFuture = [\n 'nolla', 'yhden', 'kahden', 'kolmen', 'neljän', 'viiden', 'kuuden',\n numbersPast[7], numbersPast[8], numbersPast[9]\n ];\n function translate(number, withoutSuffix, key, isFuture) {\n var result = '';\n switch (key) {\n case 's':\n return isFuture ? 'muutaman sekunnin' : 'muutama sekunti';\n case 'ss':\n return isFuture ? 'sekunnin' : 'sekuntia';\n case 'm':\n return isFuture ? 'minuutin' : 'minuutti';\n case 'mm':\n result = isFuture ? 'minuutin' : 'minuuttia';\n break;\n case 'h':\n return isFuture ? 'tunnin' : 'tunti';\n case 'hh':\n result = isFuture ? 'tunnin' : 'tuntia';\n break;\n case 'd':\n return isFuture ? 'päivän' : 'päivä';\n case 'dd':\n result = isFuture ? 'päivän' : 'päivää';\n break;\n case 'M':\n return isFuture ? 'kuukauden' : 'kuukausi';\n case 'MM':\n result = isFuture ? 'kuukauden' : 'kuukautta';\n break;\n case 'y':\n return isFuture ? 'vuoden' : 'vuosi';\n case 'yy':\n result = isFuture ? 'vuoden' : 'vuotta';\n break;\n }\n result = verbalNumber(number, isFuture) + ' ' + result;\n return result;\n }\n function verbalNumber(number, isFuture) {\n return number < 10 ? (isFuture ? numbersFuture[number] : numbersPast[number]) : number;\n }\n\n var fi = moment.defineLocale('fi', {\n months : 'tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu'.split('_'),\n monthsShort : 'tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu'.split('_'),\n weekdays : 'sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai'.split('_'),\n weekdaysShort : 'su_ma_ti_ke_to_pe_la'.split('_'),\n weekdaysMin : 'su_ma_ti_ke_to_pe_la'.split('_'),\n longDateFormat : {\n LT : 'HH.mm',\n LTS : 'HH.mm.ss',\n L : 'DD.MM.YYYY',\n LL : 'Do MMMM[ta] YYYY',\n LLL : 'Do MMMM[ta] YYYY, [klo] HH.mm',\n LLLL : 'dddd, Do MMMM[ta] YYYY, [klo] HH.mm',\n l : 'D.M.YYYY',\n ll : 'Do MMM YYYY',\n lll : 'Do MMM YYYY, [klo] HH.mm',\n llll : 'ddd, Do MMM YYYY, [klo] HH.mm'\n },\n calendar : {\n sameDay : '[tänään] [klo] LT',\n nextDay : '[huomenna] [klo] LT',\n nextWeek : 'dddd [klo] LT',\n lastDay : '[eilen] [klo] LT',\n lastWeek : '[viime] dddd[na] [klo] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s päästä',\n past : '%s sitten',\n s : translate,\n ss : translate,\n m : translate,\n mm : translate,\n h : translate,\n hh : translate,\n d : translate,\n dd : translate,\n M : translate,\n MM : translate,\n y : translate,\n yy : translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return fi;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '۱',\n '2': '۲',\n '3': '۳',\n '4': '۴',\n '5': '۵',\n '6': '۶',\n '7': '۷',\n '8': '۸',\n '9': '۹',\n '0': '۰'\n }, numberMap = {\n '۱': '1',\n '۲': '2',\n '۳': '3',\n '۴': '4',\n '۵': '5',\n '۶': '6',\n '۷': '7',\n '۸': '8',\n '۹': '9',\n '۰': '0'\n };\n\n var fa = moment.defineLocale('fa', {\n months : 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split('_'),\n monthsShort : 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split('_'),\n weekdays : 'یک\\u200cشنبه_دوشنبه_سه\\u200cشنبه_چهارشنبه_پنج\\u200cشنبه_جمعه_شنبه'.split('_'),\n weekdaysShort : 'یک\\u200cشنبه_دوشنبه_سه\\u200cشنبه_چهارشنبه_پنج\\u200cشنبه_جمعه_شنبه'.split('_'),\n weekdaysMin : 'ی_د_س_چ_پ_ج_ش'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n meridiemParse: /قبل از ظهر|بعد از ظهر/,\n isPM: function (input) {\n return /بعد از ظهر/.test(input);\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'قبل از ظهر';\n } else {\n return 'بعد از ظهر';\n }\n },\n calendar : {\n sameDay : '[امروز ساعت] LT',\n nextDay : '[فردا ساعت] LT',\n nextWeek : 'dddd [ساعت] LT',\n lastDay : '[دیروز ساعت] LT',\n lastWeek : 'dddd [پیش] [ساعت] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'در %s',\n past : '%s پیش',\n s : 'چند ثانیه',\n ss : 'ثانیه d%',\n m : 'یک دقیقه',\n mm : '%d دقیقه',\n h : 'یک ساعت',\n hh : '%d ساعت',\n d : 'یک روز',\n dd : '%d روز',\n M : 'یک ماه',\n MM : '%d ماه',\n y : 'یک سال',\n yy : '%d سال'\n },\n preparse: function (string) {\n return string.replace(/[۰-۹]/g, function (match) {\n return numberMap[match];\n }).replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n }).replace(/,/g, '،');\n },\n dayOfMonthOrdinalParse: /\\d{1,2}م/,\n ordinal : '%dم',\n week : {\n dow : 6, // Saturday is the first day of the week.\n doy : 12 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return fa;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var eu = moment.defineLocale('eu', {\n months : 'urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua'.split('_'),\n monthsShort : 'urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.'.split('_'),\n monthsParseExact : true,\n weekdays : 'igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata'.split('_'),\n weekdaysShort : 'ig._al._ar._az._og._ol._lr.'.split('_'),\n weekdaysMin : 'ig_al_ar_az_og_ol_lr'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY-MM-DD',\n LL : 'YYYY[ko] MMMM[ren] D[a]',\n LLL : 'YYYY[ko] MMMM[ren] D[a] HH:mm',\n LLLL : 'dddd, YYYY[ko] MMMM[ren] D[a] HH:mm',\n l : 'YYYY-M-D',\n ll : 'YYYY[ko] MMM D[a]',\n lll : 'YYYY[ko] MMM D[a] HH:mm',\n llll : 'ddd, YYYY[ko] MMM D[a] HH:mm'\n },\n calendar : {\n sameDay : '[gaur] LT[etan]',\n nextDay : '[bihar] LT[etan]',\n nextWeek : 'dddd LT[etan]',\n lastDay : '[atzo] LT[etan]',\n lastWeek : '[aurreko] dddd LT[etan]',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s barru',\n past : 'duela %s',\n s : 'segundo batzuk',\n ss : '%d segundo',\n m : 'minutu bat',\n mm : '%d minutu',\n h : 'ordu bat',\n hh : '%d ordu',\n d : 'egun bat',\n dd : '%d egun',\n M : 'hilabete bat',\n MM : '%d hilabete',\n y : 'urte bat',\n yy : '%d urte'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return eu;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n 's' : ['mõne sekundi', 'mõni sekund', 'paar sekundit'],\n 'ss': [number + 'sekundi', number + 'sekundit'],\n 'm' : ['ühe minuti', 'üks minut'],\n 'mm': [number + ' minuti', number + ' minutit'],\n 'h' : ['ühe tunni', 'tund aega', 'üks tund'],\n 'hh': [number + ' tunni', number + ' tundi'],\n 'd' : ['ühe päeva', 'üks päev'],\n 'M' : ['kuu aja', 'kuu aega', 'üks kuu'],\n 'MM': [number + ' kuu', number + ' kuud'],\n 'y' : ['ühe aasta', 'aasta', 'üks aasta'],\n 'yy': [number + ' aasta', number + ' aastat']\n };\n if (withoutSuffix) {\n return format[key][2] ? format[key][2] : format[key][1];\n }\n return isFuture ? format[key][0] : format[key][1];\n }\n\n var et = moment.defineLocale('et', {\n months : 'jaanuar_veebruar_märts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember'.split('_'),\n monthsShort : 'jaan_veebr_märts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets'.split('_'),\n weekdays : 'pühapäev_esmaspäev_teisipäev_kolmapäev_neljapäev_reede_laupäev'.split('_'),\n weekdaysShort : 'P_E_T_K_N_R_L'.split('_'),\n weekdaysMin : 'P_E_T_K_N_R_L'.split('_'),\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY H:mm',\n LLLL : 'dddd, D. MMMM YYYY H:mm'\n },\n calendar : {\n sameDay : '[Täna,] LT',\n nextDay : '[Homme,] LT',\n nextWeek : '[Järgmine] dddd LT',\n lastDay : '[Eile,] LT',\n lastWeek : '[Eelmine] dddd LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s pärast',\n past : '%s tagasi',\n s : processRelativeTime,\n ss : processRelativeTime,\n m : processRelativeTime,\n mm : processRelativeTime,\n h : processRelativeTime,\n hh : processRelativeTime,\n d : processRelativeTime,\n dd : '%d päeva',\n M : processRelativeTime,\n MM : processRelativeTime,\n y : processRelativeTime,\n yy : processRelativeTime\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return et;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_'),\n monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_');\n\n var esUs = moment.defineLocale('es-us', {\n months : 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'),\n monthsShort : function (m, format) {\n if (!m) {\n return monthsShortDot;\n } else if (/-MMM-/.test(format)) {\n return monthsShort[m.month()];\n } else {\n return monthsShortDot[m.month()];\n }\n },\n monthsParseExact : true,\n weekdays : 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n weekdaysShort : 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n weekdaysMin : 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'h:mm A',\n LTS : 'h:mm:ss A',\n L : 'MM/DD/YYYY',\n LL : 'MMMM [de] D [de] YYYY',\n LLL : 'MMMM [de] D [de] YYYY h:mm A',\n LLLL : 'dddd, MMMM [de] D [de] YYYY h:mm A'\n },\n calendar : {\n sameDay : function () {\n return '[hoy a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n nextDay : function () {\n return '[mañana a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n nextWeek : function () {\n return 'dddd [a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n lastDay : function () {\n return '[ayer a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n lastWeek : function () {\n return '[el] dddd [pasado a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'en %s',\n past : 'hace %s',\n s : 'unos segundos',\n ss : '%d segundos',\n m : 'un minuto',\n mm : '%d minutos',\n h : 'una hora',\n hh : '%d horas',\n d : 'un día',\n dd : '%d días',\n M : 'un mes',\n MM : '%d meses',\n y : 'un año',\n yy : '%d años'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}º/,\n ordinal : '%dº',\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return esUs;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_'),\n monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_');\n\n var monthsParse = [/^ene/i, /^feb/i, /^mar/i, /^abr/i, /^may/i, /^jun/i, /^jul/i, /^ago/i, /^sep/i, /^oct/i, /^nov/i, /^dic/i];\n var monthsRegex = /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n\n var esDo = moment.defineLocale('es-do', {\n months : 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'),\n monthsShort : function (m, format) {\n if (!m) {\n return monthsShortDot;\n } else if (/-MMM-/.test(format)) {\n return monthsShort[m.month()];\n } else {\n return monthsShortDot[m.month()];\n }\n },\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n monthsShortStrictRegex: /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n weekdays : 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n weekdaysShort : 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n weekdaysMin : 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'h:mm A',\n LTS : 'h:mm:ss A',\n L : 'DD/MM/YYYY',\n LL : 'D [de] MMMM [de] YYYY',\n LLL : 'D [de] MMMM [de] YYYY h:mm A',\n LLLL : 'dddd, D [de] MMMM [de] YYYY h:mm A'\n },\n calendar : {\n sameDay : function () {\n return '[hoy a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n nextDay : function () {\n return '[mañana a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n nextWeek : function () {\n return 'dddd [a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n lastDay : function () {\n return '[ayer a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n lastWeek : function () {\n return '[el] dddd [pasado a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'en %s',\n past : 'hace %s',\n s : 'unos segundos',\n ss : '%d segundos',\n m : 'un minuto',\n mm : '%d minutos',\n h : 'una hora',\n hh : '%d horas',\n d : 'un día',\n dd : '%d días',\n M : 'un mes',\n MM : '%d meses',\n y : 'un año',\n yy : '%d años'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}º/,\n ordinal : '%dº',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return esDo;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_'),\n monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_');\n\n var monthsParse = [/^ene/i, /^feb/i, /^mar/i, /^abr/i, /^may/i, /^jun/i, /^jul/i, /^ago/i, /^sep/i, /^oct/i, /^nov/i, /^dic/i];\n var monthsRegex = /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n\n var es = moment.defineLocale('es', {\n months : 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'),\n monthsShort : function (m, format) {\n if (!m) {\n return monthsShortDot;\n } else if (/-MMM-/.test(format)) {\n return monthsShort[m.month()];\n } else {\n return monthsShortDot[m.month()];\n }\n },\n monthsRegex : monthsRegex,\n monthsShortRegex : monthsRegex,\n monthsStrictRegex : /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n monthsShortStrictRegex : /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n monthsParse : monthsParse,\n longMonthsParse : monthsParse,\n shortMonthsParse : monthsParse,\n weekdays : 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n weekdaysShort : 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n weekdaysMin : 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D [de] MMMM [de] YYYY',\n LLL : 'D [de] MMMM [de] YYYY H:mm',\n LLLL : 'dddd, D [de] MMMM [de] YYYY H:mm'\n },\n calendar : {\n sameDay : function () {\n return '[hoy a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n nextDay : function () {\n return '[mañana a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n nextWeek : function () {\n return 'dddd [a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n lastDay : function () {\n return '[ayer a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n lastWeek : function () {\n return '[el] dddd [pasado a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'en %s',\n past : 'hace %s',\n s : 'unos segundos',\n ss : '%d segundos',\n m : 'un minuto',\n mm : '%d minutos',\n h : 'una hora',\n hh : '%d horas',\n d : 'un día',\n dd : '%d días',\n M : 'un mes',\n MM : '%d meses',\n y : 'un año',\n yy : '%d años'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}º/,\n ordinal : '%dº',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return es;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var eo = moment.defineLocale('eo', {\n months : 'januaro_februaro_marto_aprilo_majo_junio_julio_aŭgusto_septembro_oktobro_novembro_decembro'.split('_'),\n monthsShort : 'jan_feb_mar_apr_maj_jun_jul_aŭg_sep_okt_nov_dec'.split('_'),\n weekdays : 'dimanĉo_lundo_mardo_merkredo_ĵaŭdo_vendredo_sabato'.split('_'),\n weekdaysShort : 'dim_lun_mard_merk_ĵaŭ_ven_sab'.split('_'),\n weekdaysMin : 'di_lu_ma_me_ĵa_ve_sa'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY-MM-DD',\n LL : 'D[-a de] MMMM, YYYY',\n LLL : 'D[-a de] MMMM, YYYY HH:mm',\n LLLL : 'dddd, [la] D[-a de] MMMM, YYYY HH:mm'\n },\n meridiemParse: /[ap]\\.t\\.m/i,\n isPM: function (input) {\n return input.charAt(0).toLowerCase() === 'p';\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'p.t.m.' : 'P.T.M.';\n } else {\n return isLower ? 'a.t.m.' : 'A.T.M.';\n }\n },\n calendar : {\n sameDay : '[Hodiaŭ je] LT',\n nextDay : '[Morgaŭ je] LT',\n nextWeek : 'dddd [je] LT',\n lastDay : '[Hieraŭ je] LT',\n lastWeek : '[pasinta] dddd [je] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'post %s',\n past : 'antaŭ %s',\n s : 'sekundoj',\n ss : '%d sekundoj',\n m : 'minuto',\n mm : '%d minutoj',\n h : 'horo',\n hh : '%d horoj',\n d : 'tago',//ne 'diurno', ĉar estas uzita por proksimumo\n dd : '%d tagoj',\n M : 'monato',\n MM : '%d monatoj',\n y : 'jaro',\n yy : '%d jaroj'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}a/,\n ordinal : '%da',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return eo;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var enNz = moment.defineLocale('en-nz', {\n months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat : {\n LT : 'h:mm A',\n LTS : 'h:mm:ss A',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY h:mm A',\n LLLL : 'dddd, D MMMM YYYY h:mm A'\n },\n calendar : {\n sameDay : '[Today at] LT',\n nextDay : '[Tomorrow at] LT',\n nextWeek : 'dddd [at] LT',\n lastDay : '[Yesterday at] LT',\n lastWeek : '[Last] dddd [at] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'in %s',\n past : '%s ago',\n s : 'a few seconds',\n ss : '%d seconds',\n m : 'a minute',\n mm : '%d minutes',\n h : 'an hour',\n hh : '%d hours',\n d : 'a day',\n dd : '%d days',\n M : 'a month',\n MM : '%d months',\n y : 'a year',\n yy : '%d years'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return enNz;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var enIl = moment.defineLocale('en-il', {\n months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Today at] LT',\n nextDay : '[Tomorrow at] LT',\n nextWeek : 'dddd [at] LT',\n lastDay : '[Yesterday at] LT',\n lastWeek : '[Last] dddd [at] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'in %s',\n past : '%s ago',\n s : 'a few seconds',\n m : 'a minute',\n mm : '%d minutes',\n h : 'an hour',\n hh : '%d hours',\n d : 'a day',\n dd : '%d days',\n M : 'a month',\n MM : '%d months',\n y : 'a year',\n yy : '%d years'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n }\n });\n\n return enIl;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var enIe = moment.defineLocale('en-ie', {\n months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD-MM-YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Today at] LT',\n nextDay : '[Tomorrow at] LT',\n nextWeek : 'dddd [at] LT',\n lastDay : '[Yesterday at] LT',\n lastWeek : '[Last] dddd [at] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'in %s',\n past : '%s ago',\n s : 'a few seconds',\n ss : '%d seconds',\n m : 'a minute',\n mm : '%d minutes',\n h : 'an hour',\n hh : '%d hours',\n d : 'a day',\n dd : '%d days',\n M : 'a month',\n MM : '%d months',\n y : 'a year',\n yy : '%d years'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return enIe;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var enGb = moment.defineLocale('en-gb', {\n months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Today at] LT',\n nextDay : '[Tomorrow at] LT',\n nextWeek : 'dddd [at] LT',\n lastDay : '[Yesterday at] LT',\n lastWeek : '[Last] dddd [at] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'in %s',\n past : '%s ago',\n s : 'a few seconds',\n ss : '%d seconds',\n m : 'a minute',\n mm : '%d minutes',\n h : 'an hour',\n hh : '%d hours',\n d : 'a day',\n dd : '%d days',\n M : 'a month',\n MM : '%d months',\n y : 'a year',\n yy : '%d years'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return enGb;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var enCa = moment.defineLocale('en-ca', {\n months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat : {\n LT : 'h:mm A',\n LTS : 'h:mm:ss A',\n L : 'YYYY-MM-DD',\n LL : 'MMMM D, YYYY',\n LLL : 'MMMM D, YYYY h:mm A',\n LLLL : 'dddd, MMMM D, YYYY h:mm A'\n },\n calendar : {\n sameDay : '[Today at] LT',\n nextDay : '[Tomorrow at] LT',\n nextWeek : 'dddd [at] LT',\n lastDay : '[Yesterday at] LT',\n lastWeek : '[Last] dddd [at] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'in %s',\n past : '%s ago',\n s : 'a few seconds',\n ss : '%d seconds',\n m : 'a minute',\n mm : '%d minutes',\n h : 'an hour',\n hh : '%d hours',\n d : 'a day',\n dd : '%d days',\n M : 'a month',\n MM : '%d months',\n y : 'a year',\n yy : '%d years'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n }\n });\n\n return enCa;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var enAu = moment.defineLocale('en-au', {\n months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat : {\n LT : 'h:mm A',\n LTS : 'h:mm:ss A',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY h:mm A',\n LLLL : 'dddd, D MMMM YYYY h:mm A'\n },\n calendar : {\n sameDay : '[Today at] LT',\n nextDay : '[Tomorrow at] LT',\n nextWeek : 'dddd [at] LT',\n lastDay : '[Yesterday at] LT',\n lastWeek : '[Last] dddd [at] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'in %s',\n past : '%s ago',\n s : 'a few seconds',\n ss : '%d seconds',\n m : 'a minute',\n mm : '%d minutes',\n h : 'an hour',\n hh : '%d hours',\n d : 'a day',\n dd : '%d days',\n M : 'a month',\n MM : '%d months',\n y : 'a year',\n yy : '%d years'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return enAu;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n function isFunction(input) {\n return input instanceof Function || Object.prototype.toString.call(input) === '[object Function]';\n }\n\n\n var el = moment.defineLocale('el', {\n monthsNominativeEl : 'Ιανουάριος_Φεβρουάριος_Μάρτιος_Απρίλιος_Μάιος_Ιούνιος_Ιούλιος_Αύγουστος_Σεπτέμβριος_Οκτώβριος_Νοέμβριος_Δεκέμβριος'.split('_'),\n monthsGenitiveEl : 'Ιανουαρίου_Φεβρουαρίου_Μαρτίου_Απριλίου_Μαΐου_Ιουνίου_Ιουλίου_Αυγούστου_Σεπτεμβρίου_Οκτωβρίου_Νοεμβρίου_Δεκεμβρίου'.split('_'),\n months : function (momentToFormat, format) {\n if (!momentToFormat) {\n return this._monthsNominativeEl;\n } else if (typeof format === 'string' && /D/.test(format.substring(0, format.indexOf('MMMM')))) { // if there is a day number before 'MMMM'\n return this._monthsGenitiveEl[momentToFormat.month()];\n } else {\n return this._monthsNominativeEl[momentToFormat.month()];\n }\n },\n monthsShort : 'Ιαν_Φεβ_Μαρ_Απρ_Μαϊ_Ιουν_Ιουλ_Αυγ_Σεπ_Οκτ_Νοε_Δεκ'.split('_'),\n weekdays : 'Κυριακή_Δευτέρα_Τρίτη_Τετάρτη_Πέμπτη_Παρασκευή_Σάββατο'.split('_'),\n weekdaysShort : 'Κυρ_Δευ_Τρι_Τετ_Πεμ_Παρ_Σαβ'.split('_'),\n weekdaysMin : 'Κυ_Δε_Τρ_Τε_Πε_Πα_Σα'.split('_'),\n meridiem : function (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'μμ' : 'ΜΜ';\n } else {\n return isLower ? 'πμ' : 'ΠΜ';\n }\n },\n isPM : function (input) {\n return ((input + '').toLowerCase()[0] === 'μ');\n },\n meridiemParse : /[ΠΜ]\\.?Μ?\\.?/i,\n longDateFormat : {\n LT : 'h:mm A',\n LTS : 'h:mm:ss A',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY h:mm A',\n LLLL : 'dddd, D MMMM YYYY h:mm A'\n },\n calendarEl : {\n sameDay : '[Σήμερα {}] LT',\n nextDay : '[Αύριο {}] LT',\n nextWeek : 'dddd [{}] LT',\n lastDay : '[Χθες {}] LT',\n lastWeek : function () {\n switch (this.day()) {\n case 6:\n return '[το προηγούμενο] dddd [{}] LT';\n default:\n return '[την προηγούμενη] dddd [{}] LT';\n }\n },\n sameElse : 'L'\n },\n calendar : function (key, mom) {\n var output = this._calendarEl[key],\n hours = mom && mom.hours();\n if (isFunction(output)) {\n output = output.apply(mom);\n }\n return output.replace('{}', (hours % 12 === 1 ? 'στη' : 'στις'));\n },\n relativeTime : {\n future : 'σε %s',\n past : '%s πριν',\n s : 'λίγα δευτερόλεπτα',\n ss : '%d δευτερόλεπτα',\n m : 'ένα λεπτό',\n mm : '%d λεπτά',\n h : 'μία ώρα',\n hh : '%d ώρες',\n d : 'μία μέρα',\n dd : '%d μέρες',\n M : 'ένας μήνας',\n MM : '%d μήνες',\n y : 'ένας χρόνος',\n yy : '%d χρόνια'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}η/,\n ordinal: '%dη',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4st is the first week of the year.\n }\n });\n\n return el;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var months = [\n 'ޖެނުއަރީ',\n 'ފެބްރުއަރީ',\n 'މާރިޗު',\n 'އޭޕްރީލު',\n 'މޭ',\n 'ޖޫން',\n 'ޖުލައި',\n 'އޯގަސްޓު',\n 'ސެޕްޓެމްބަރު',\n 'އޮކްޓޯބަރު',\n 'ނޮވެމްބަރު',\n 'ޑިސެމްބަރު'\n ], weekdays = [\n 'އާދިއްތަ',\n 'ހޯމަ',\n 'އަންގާރަ',\n 'ބުދަ',\n 'ބުރާސްފަތި',\n 'ހުކުރު',\n 'ހޮނިހިރު'\n ];\n\n var dv = moment.defineLocale('dv', {\n months : months,\n monthsShort : months,\n weekdays : weekdays,\n weekdaysShort : weekdays,\n weekdaysMin : 'އާދި_ހޯމަ_އަން_ބުދަ_ބުރާ_ހުކު_ހޮނި'.split('_'),\n longDateFormat : {\n\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'D/M/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n meridiemParse: /މކ|މފ/,\n isPM : function (input) {\n return 'މފ' === input;\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'މކ';\n } else {\n return 'މފ';\n }\n },\n calendar : {\n sameDay : '[މިއަދު] LT',\n nextDay : '[މާދަމާ] LT',\n nextWeek : 'dddd LT',\n lastDay : '[އިއްޔެ] LT',\n lastWeek : '[ފާއިތުވި] dddd LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'ތެރޭގައި %s',\n past : 'ކުރިން %s',\n s : 'ސިކުންތުކޮޅެއް',\n ss : 'd% ސިކުންތު',\n m : 'މިނިޓެއް',\n mm : 'މިނިޓު %d',\n h : 'ގަޑިއިރެއް',\n hh : 'ގަޑިއިރު %d',\n d : 'ދުވަހެއް',\n dd : 'ދުވަސް %d',\n M : 'މަހެއް',\n MM : 'މަސް %d',\n y : 'އަހަރެއް',\n yy : 'އަހަރު %d'\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/,/g, '،');\n },\n week : {\n dow : 7, // Sunday is the first day of the week.\n doy : 12 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return dv;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n 'm': ['eine Minute', 'einer Minute'],\n 'h': ['eine Stunde', 'einer Stunde'],\n 'd': ['ein Tag', 'einem Tag'],\n 'dd': [number + ' Tage', number + ' Tagen'],\n 'M': ['ein Monat', 'einem Monat'],\n 'MM': [number + ' Monate', number + ' Monaten'],\n 'y': ['ein Jahr', 'einem Jahr'],\n 'yy': [number + ' Jahre', number + ' Jahren']\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n\n var deCh = moment.defineLocale('de-ch', {\n months : 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),\n monthsShort : 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),\n monthsParseExact : true,\n weekdays : 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'),\n weekdaysShort : 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n weekdaysMin : 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY HH:mm',\n LLLL : 'dddd, D. MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[heute um] LT [Uhr]',\n sameElse: 'L',\n nextDay: '[morgen um] LT [Uhr]',\n nextWeek: 'dddd [um] LT [Uhr]',\n lastDay: '[gestern um] LT [Uhr]',\n lastWeek: '[letzten] dddd [um] LT [Uhr]'\n },\n relativeTime : {\n future : 'in %s',\n past : 'vor %s',\n s : 'ein paar Sekunden',\n ss : '%d Sekunden',\n m : processRelativeTime,\n mm : '%d Minuten',\n h : processRelativeTime,\n hh : '%d Stunden',\n d : processRelativeTime,\n dd : processRelativeTime,\n M : processRelativeTime,\n MM : processRelativeTime,\n y : processRelativeTime,\n yy : processRelativeTime\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return deCh;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n 'm': ['eine Minute', 'einer Minute'],\n 'h': ['eine Stunde', 'einer Stunde'],\n 'd': ['ein Tag', 'einem Tag'],\n 'dd': [number + ' Tage', number + ' Tagen'],\n 'M': ['ein Monat', 'einem Monat'],\n 'MM': [number + ' Monate', number + ' Monaten'],\n 'y': ['ein Jahr', 'einem Jahr'],\n 'yy': [number + ' Jahre', number + ' Jahren']\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n\n var deAt = moment.defineLocale('de-at', {\n months : 'Jänner_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),\n monthsShort : 'Jän._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),\n monthsParseExact : true,\n weekdays : 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'),\n weekdaysShort : 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'),\n weekdaysMin : 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY HH:mm',\n LLLL : 'dddd, D. MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[heute um] LT [Uhr]',\n sameElse: 'L',\n nextDay: '[morgen um] LT [Uhr]',\n nextWeek: 'dddd [um] LT [Uhr]',\n lastDay: '[gestern um] LT [Uhr]',\n lastWeek: '[letzten] dddd [um] LT [Uhr]'\n },\n relativeTime : {\n future : 'in %s',\n past : 'vor %s',\n s : 'ein paar Sekunden',\n ss : '%d Sekunden',\n m : processRelativeTime,\n mm : '%d Minuten',\n h : processRelativeTime,\n hh : '%d Stunden',\n d : processRelativeTime,\n dd : processRelativeTime,\n M : processRelativeTime,\n MM : processRelativeTime,\n y : processRelativeTime,\n yy : processRelativeTime\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return deAt;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n 'm': ['eine Minute', 'einer Minute'],\n 'h': ['eine Stunde', 'einer Stunde'],\n 'd': ['ein Tag', 'einem Tag'],\n 'dd': [number + ' Tage', number + ' Tagen'],\n 'M': ['ein Monat', 'einem Monat'],\n 'MM': [number + ' Monate', number + ' Monaten'],\n 'y': ['ein Jahr', 'einem Jahr'],\n 'yy': [number + ' Jahre', number + ' Jahren']\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n\n var de = moment.defineLocale('de', {\n months : 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),\n monthsShort : 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),\n monthsParseExact : true,\n weekdays : 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'),\n weekdaysShort : 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'),\n weekdaysMin : 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY HH:mm',\n LLLL : 'dddd, D. MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[heute um] LT [Uhr]',\n sameElse: 'L',\n nextDay: '[morgen um] LT [Uhr]',\n nextWeek: 'dddd [um] LT [Uhr]',\n lastDay: '[gestern um] LT [Uhr]',\n lastWeek: '[letzten] dddd [um] LT [Uhr]'\n },\n relativeTime : {\n future : 'in %s',\n past : 'vor %s',\n s : 'ein paar Sekunden',\n ss : '%d Sekunden',\n m : processRelativeTime,\n mm : '%d Minuten',\n h : processRelativeTime,\n hh : '%d Stunden',\n d : processRelativeTime,\n dd : processRelativeTime,\n M : processRelativeTime,\n MM : processRelativeTime,\n y : processRelativeTime,\n yy : processRelativeTime\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return de;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var da = moment.defineLocale('da', {\n months : 'januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december'.split('_'),\n monthsShort : 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n weekdays : 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),\n weekdaysShort : 'søn_man_tir_ons_tor_fre_lør'.split('_'),\n weekdaysMin : 'sø_ma_ti_on_to_fr_lø'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY HH:mm',\n LLLL : 'dddd [d.] D. MMMM YYYY [kl.] HH:mm'\n },\n calendar : {\n sameDay : '[i dag kl.] LT',\n nextDay : '[i morgen kl.] LT',\n nextWeek : 'på dddd [kl.] LT',\n lastDay : '[i går kl.] LT',\n lastWeek : '[i] dddd[s kl.] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'om %s',\n past : '%s siden',\n s : 'få sekunder',\n ss : '%d sekunder',\n m : 'et minut',\n mm : '%d minutter',\n h : 'en time',\n hh : '%d timer',\n d : 'en dag',\n dd : '%d dage',\n M : 'en måned',\n MM : '%d måneder',\n y : 'et år',\n yy : '%d år'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return da;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var cy = moment.defineLocale('cy', {\n months: 'Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr'.split('_'),\n monthsShort: 'Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag'.split('_'),\n weekdays: 'Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn'.split('_'),\n weekdaysShort: 'Sul_Llun_Maw_Mer_Iau_Gwe_Sad'.split('_'),\n weekdaysMin: 'Su_Ll_Ma_Me_Ia_Gw_Sa'.split('_'),\n weekdaysParseExact : true,\n // time formats are the same as en-gb\n longDateFormat: {\n LT: 'HH:mm',\n LTS : 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Heddiw am] LT',\n nextDay: '[Yfory am] LT',\n nextWeek: 'dddd [am] LT',\n lastDay: '[Ddoe am] LT',\n lastWeek: 'dddd [diwethaf am] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'mewn %s',\n past: '%s yn ôl',\n s: 'ychydig eiliadau',\n ss: '%d eiliad',\n m: 'munud',\n mm: '%d munud',\n h: 'awr',\n hh: '%d awr',\n d: 'diwrnod',\n dd: '%d diwrnod',\n M: 'mis',\n MM: '%d mis',\n y: 'blwyddyn',\n yy: '%d flynedd'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(fed|ain|af|il|ydd|ed|eg)/,\n // traditional ordinal numbers above 31 are not commonly used in colloquial Welsh\n ordinal: function (number) {\n var b = number,\n output = '',\n lookup = [\n '', 'af', 'il', 'ydd', 'ydd', 'ed', 'ed', 'ed', 'fed', 'fed', 'fed', // 1af to 10fed\n 'eg', 'fed', 'eg', 'eg', 'fed', 'eg', 'eg', 'fed', 'eg', 'fed' // 11eg to 20fed\n ];\n if (b > 20) {\n if (b === 40 || b === 50 || b === 60 || b === 80 || b === 100) {\n output = 'fed'; // not 30ain, 70ain or 90ain\n } else {\n output = 'ain';\n }\n } else if (b > 0) {\n output = lookup[b];\n }\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return cy;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var cv = moment.defineLocale('cv', {\n months : 'кӑрлач_нарӑс_пуш_ака_май_ҫӗртме_утӑ_ҫурла_авӑн_юпа_чӳк_раштав'.split('_'),\n monthsShort : 'кӑр_нар_пуш_ака_май_ҫӗр_утӑ_ҫур_авн_юпа_чӳк_раш'.split('_'),\n weekdays : 'вырсарникун_тунтикун_ытларикун_юнкун_кӗҫнерникун_эрнекун_шӑматкун'.split('_'),\n weekdaysShort : 'выр_тун_ытл_юн_кӗҫ_эрн_шӑм'.split('_'),\n weekdaysMin : 'вр_тн_ыт_юн_кҫ_эр_шм'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD-MM-YYYY',\n LL : 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ]',\n LLL : 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm',\n LLLL : 'dddd, YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm'\n },\n calendar : {\n sameDay: '[Паян] LT [сехетре]',\n nextDay: '[Ыран] LT [сехетре]',\n lastDay: '[Ӗнер] LT [сехетре]',\n nextWeek: '[Ҫитес] dddd LT [сехетре]',\n lastWeek: '[Иртнӗ] dddd LT [сехетре]',\n sameElse: 'L'\n },\n relativeTime : {\n future : function (output) {\n var affix = /сехет$/i.exec(output) ? 'рен' : /ҫул$/i.exec(output) ? 'тан' : 'ран';\n return output + affix;\n },\n past : '%s каялла',\n s : 'пӗр-ик ҫеккунт',\n ss : '%d ҫеккунт',\n m : 'пӗр минут',\n mm : '%d минут',\n h : 'пӗр сехет',\n hh : '%d сехет',\n d : 'пӗр кун',\n dd : '%d кун',\n M : 'пӗр уйӑх',\n MM : '%d уйӑх',\n y : 'пӗр ҫул',\n yy : '%d ҫул'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-мӗш/,\n ordinal : '%d-мӗш',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return cv;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var months = 'leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec'.split('_'),\n monthsShort = 'led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro'.split('_');\n function plural(n) {\n return (n > 1) && (n < 5) && (~~(n / 10) !== 1);\n }\n function translate(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n switch (key) {\n case 's': // a few seconds / in a few seconds / a few seconds ago\n return (withoutSuffix || isFuture) ? 'pár sekund' : 'pár sekundami';\n case 'ss': // 9 seconds / in 9 seconds / 9 seconds ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'sekundy' : 'sekund');\n } else {\n return result + 'sekundami';\n }\n break;\n case 'm': // a minute / in a minute / a minute ago\n return withoutSuffix ? 'minuta' : (isFuture ? 'minutu' : 'minutou');\n case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'minuty' : 'minut');\n } else {\n return result + 'minutami';\n }\n break;\n case 'h': // an hour / in an hour / an hour ago\n return withoutSuffix ? 'hodina' : (isFuture ? 'hodinu' : 'hodinou');\n case 'hh': // 9 hours / in 9 hours / 9 hours ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'hodiny' : 'hodin');\n } else {\n return result + 'hodinami';\n }\n break;\n case 'd': // a day / in a day / a day ago\n return (withoutSuffix || isFuture) ? 'den' : 'dnem';\n case 'dd': // 9 days / in 9 days / 9 days ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'dny' : 'dní');\n } else {\n return result + 'dny';\n }\n break;\n case 'M': // a month / in a month / a month ago\n return (withoutSuffix || isFuture) ? 'měsíc' : 'měsícem';\n case 'MM': // 9 months / in 9 months / 9 months ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'měsíce' : 'měsíců');\n } else {\n return result + 'měsíci';\n }\n break;\n case 'y': // a year / in a year / a year ago\n return (withoutSuffix || isFuture) ? 'rok' : 'rokem';\n case 'yy': // 9 years / in 9 years / 9 years ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'roky' : 'let');\n } else {\n return result + 'lety';\n }\n break;\n }\n }\n\n var cs = moment.defineLocale('cs', {\n months : months,\n monthsShort : monthsShort,\n monthsParse : (function (months, monthsShort) {\n var i, _monthsParse = [];\n for (i = 0; i < 12; i++) {\n // use custom parser to solve problem with July (červenec)\n _monthsParse[i] = new RegExp('^' + months[i] + '$|^' + monthsShort[i] + '$', 'i');\n }\n return _monthsParse;\n }(months, monthsShort)),\n shortMonthsParse : (function (monthsShort) {\n var i, _shortMonthsParse = [];\n for (i = 0; i < 12; i++) {\n _shortMonthsParse[i] = new RegExp('^' + monthsShort[i] + '$', 'i');\n }\n return _shortMonthsParse;\n }(monthsShort)),\n longMonthsParse : (function (months) {\n var i, _longMonthsParse = [];\n for (i = 0; i < 12; i++) {\n _longMonthsParse[i] = new RegExp('^' + months[i] + '$', 'i');\n }\n return _longMonthsParse;\n }(months)),\n weekdays : 'neděle_pondělí_úterý_středa_čtvrtek_pátek_sobota'.split('_'),\n weekdaysShort : 'ne_po_út_st_čt_pá_so'.split('_'),\n weekdaysMin : 'ne_po_út_st_čt_pá_so'.split('_'),\n longDateFormat : {\n LT: 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY H:mm',\n LLLL : 'dddd D. MMMM YYYY H:mm',\n l : 'D. M. YYYY'\n },\n calendar : {\n sameDay: '[dnes v] LT',\n nextDay: '[zítra v] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[v neděli v] LT';\n case 1:\n case 2:\n return '[v] dddd [v] LT';\n case 3:\n return '[ve středu v] LT';\n case 4:\n return '[ve čtvrtek v] LT';\n case 5:\n return '[v pátek v] LT';\n case 6:\n return '[v sobotu v] LT';\n }\n },\n lastDay: '[včera v] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[minulou neděli v] LT';\n case 1:\n case 2:\n return '[minulé] dddd [v] LT';\n case 3:\n return '[minulou středu v] LT';\n case 4:\n case 5:\n return '[minulý] dddd [v] LT';\n case 6:\n return '[minulou sobotu v] LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : 'za %s',\n past : 'před %s',\n s : translate,\n ss : translate,\n m : translate,\n mm : translate,\n h : translate,\n hh : translate,\n d : translate,\n dd : translate,\n M : translate,\n MM : translate,\n y : translate,\n yy : translate\n },\n dayOfMonthOrdinalParse : /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return cs;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var ca = moment.defineLocale('ca', {\n months : {\n standalone: 'gener_febrer_març_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre'.split('_'),\n format: 'de gener_de febrer_de març_d\\'abril_de maig_de juny_de juliol_d\\'agost_de setembre_d\\'octubre_de novembre_de desembre'.split('_'),\n isFormat: /D[oD]?(\\s)+MMMM/\n },\n monthsShort : 'gen._febr._març_abr._maig_juny_jul._ag._set._oct._nov._des.'.split('_'),\n monthsParseExact : true,\n weekdays : 'diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte'.split('_'),\n weekdaysShort : 'dg._dl._dt._dc._dj._dv._ds.'.split('_'),\n weekdaysMin : 'dg_dl_dt_dc_dj_dv_ds'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM [de] YYYY',\n ll : 'D MMM YYYY',\n LLL : 'D MMMM [de] YYYY [a les] H:mm',\n lll : 'D MMM YYYY, H:mm',\n LLLL : 'dddd D MMMM [de] YYYY [a les] H:mm',\n llll : 'ddd D MMM YYYY, H:mm'\n },\n calendar : {\n sameDay : function () {\n return '[avui a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';\n },\n nextDay : function () {\n return '[demà a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';\n },\n nextWeek : function () {\n return 'dddd [a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';\n },\n lastDay : function () {\n return '[ahir a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';\n },\n lastWeek : function () {\n return '[el] dddd [passat a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'd\\'aquí %s',\n past : 'fa %s',\n s : 'uns segons',\n ss : '%d segons',\n m : 'un minut',\n mm : '%d minuts',\n h : 'una hora',\n hh : '%d hores',\n d : 'un dia',\n dd : '%d dies',\n M : 'un mes',\n MM : '%d mesos',\n y : 'un any',\n yy : '%d anys'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(r|n|t|è|a)/,\n ordinal : function (number, period) {\n var output = (number === 1) ? 'r' :\n (number === 2) ? 'n' :\n (number === 3) ? 'r' :\n (number === 4) ? 't' : 'è';\n if (period === 'w' || period === 'W') {\n output = 'a';\n }\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return ca;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function translate(number, withoutSuffix, key) {\n var result = number + ' ';\n switch (key) {\n case 'ss':\n if (number === 1) {\n result += 'sekunda';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sekunde';\n } else {\n result += 'sekundi';\n }\n return result;\n case 'm':\n return withoutSuffix ? 'jedna minuta' : 'jedne minute';\n case 'mm':\n if (number === 1) {\n result += 'minuta';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'minute';\n } else {\n result += 'minuta';\n }\n return result;\n case 'h':\n return withoutSuffix ? 'jedan sat' : 'jednog sata';\n case 'hh':\n if (number === 1) {\n result += 'sat';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sata';\n } else {\n result += 'sati';\n }\n return result;\n case 'dd':\n if (number === 1) {\n result += 'dan';\n } else {\n result += 'dana';\n }\n return result;\n case 'MM':\n if (number === 1) {\n result += 'mjesec';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'mjeseca';\n } else {\n result += 'mjeseci';\n }\n return result;\n case 'yy':\n if (number === 1) {\n result += 'godina';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'godine';\n } else {\n result += 'godina';\n }\n return result;\n }\n }\n\n var bs = moment.defineLocale('bs', {\n months : 'januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar'.split('_'),\n monthsShort : 'jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays : 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split('_'),\n weekdaysShort : 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n weekdaysMin : 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY H:mm',\n LLLL : 'dddd, D. MMMM YYYY H:mm'\n },\n calendar : {\n sameDay : '[danas u] LT',\n nextDay : '[sutra u] LT',\n nextWeek : function () {\n switch (this.day()) {\n case 0:\n return '[u] [nedjelju] [u] LT';\n case 3:\n return '[u] [srijedu] [u] LT';\n case 6:\n return '[u] [subotu] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay : '[jučer u] LT',\n lastWeek : function () {\n switch (this.day()) {\n case 0:\n case 3:\n return '[prošlu] dddd [u] LT';\n case 6:\n return '[prošle] [subote] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[prošli] dddd [u] LT';\n }\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'za %s',\n past : 'prije %s',\n s : 'par sekundi',\n ss : translate,\n m : translate,\n mm : translate,\n h : translate,\n hh : translate,\n d : 'dan',\n dd : translate,\n M : 'mjesec',\n MM : translate,\n y : 'godinu',\n yy : translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return bs;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function relativeTimeWithMutation(number, withoutSuffix, key) {\n var format = {\n 'mm': 'munutenn',\n 'MM': 'miz',\n 'dd': 'devezh'\n };\n return number + ' ' + mutation(format[key], number);\n }\n function specialMutationForYears(number) {\n switch (lastNumber(number)) {\n case 1:\n case 3:\n case 4:\n case 5:\n case 9:\n return number + ' bloaz';\n default:\n return number + ' vloaz';\n }\n }\n function lastNumber(number) {\n if (number > 9) {\n return lastNumber(number % 10);\n }\n return number;\n }\n function mutation(text, number) {\n if (number === 2) {\n return softMutation(text);\n }\n return text;\n }\n function softMutation(text) {\n var mutationTable = {\n 'm': 'v',\n 'b': 'v',\n 'd': 'z'\n };\n if (mutationTable[text.charAt(0)] === undefined) {\n return text;\n }\n return mutationTable[text.charAt(0)] + text.substring(1);\n }\n\n var br = moment.defineLocale('br', {\n months : 'Genver_C\\'hwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu'.split('_'),\n monthsShort : 'Gen_C\\'hwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker'.split('_'),\n weekdays : 'Sul_Lun_Meurzh_Merc\\'her_Yaou_Gwener_Sadorn'.split('_'),\n weekdaysShort : 'Sul_Lun_Meu_Mer_Yao_Gwe_Sad'.split('_'),\n weekdaysMin : 'Su_Lu_Me_Mer_Ya_Gw_Sa'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'h[e]mm A',\n LTS : 'h[e]mm:ss A',\n L : 'DD/MM/YYYY',\n LL : 'D [a viz] MMMM YYYY',\n LLL : 'D [a viz] MMMM YYYY h[e]mm A',\n LLLL : 'dddd, D [a viz] MMMM YYYY h[e]mm A'\n },\n calendar : {\n sameDay : '[Hiziv da] LT',\n nextDay : '[Warc\\'hoazh da] LT',\n nextWeek : 'dddd [da] LT',\n lastDay : '[Dec\\'h da] LT',\n lastWeek : 'dddd [paset da] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'a-benn %s',\n past : '%s \\'zo',\n s : 'un nebeud segondennoù',\n ss : '%d eilenn',\n m : 'ur vunutenn',\n mm : relativeTimeWithMutation,\n h : 'un eur',\n hh : '%d eur',\n d : 'un devezh',\n dd : relativeTimeWithMutation,\n M : 'ur miz',\n MM : relativeTimeWithMutation,\n y : 'ur bloaz',\n yy : specialMutationForYears\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(añ|vet)/,\n ordinal : function (number) {\n var output = (number === 1) ? 'añ' : 'vet';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return br;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '༡',\n '2': '༢',\n '3': '༣',\n '4': '༤',\n '5': '༥',\n '6': '༦',\n '7': '༧',\n '8': '༨',\n '9': '༩',\n '0': '༠'\n },\n numberMap = {\n '༡': '1',\n '༢': '2',\n '༣': '3',\n '༤': '4',\n '༥': '5',\n '༦': '6',\n '༧': '7',\n '༨': '8',\n '༩': '9',\n '༠': '0'\n };\n\n var bo = moment.defineLocale('bo', {\n months : 'ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ'.split('_'),\n monthsShort : 'ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ'.split('_'),\n weekdays : 'གཟའ་ཉི་མ་_གཟའ་ཟླ་བ་_གཟའ་མིག་དམར་_གཟའ་ལྷག་པ་_གཟའ་ཕུར་བུ_གཟའ་པ་སངས་_གཟའ་སྤེན་པ་'.split('_'),\n weekdaysShort : 'ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་'.split('_'),\n weekdaysMin : 'ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་'.split('_'),\n longDateFormat : {\n LT : 'A h:mm',\n LTS : 'A h:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, A h:mm',\n LLLL : 'dddd, D MMMM YYYY, A h:mm'\n },\n calendar : {\n sameDay : '[དི་རིང] LT',\n nextDay : '[སང་ཉིན] LT',\n nextWeek : '[བདུན་ཕྲག་རྗེས་མ], LT',\n lastDay : '[ཁ་སང] LT',\n lastWeek : '[བདུན་ཕྲག་མཐའ་མ] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s ལ་',\n past : '%s སྔན་ལ',\n s : 'ལམ་སང',\n ss : '%d སྐར་ཆ།',\n m : 'སྐར་མ་གཅིག',\n mm : '%d སྐར་མ',\n h : 'ཆུ་ཚོད་གཅིག',\n hh : '%d ཆུ་ཚོད',\n d : 'ཉིན་གཅིག',\n dd : '%d ཉིན་',\n M : 'ཟླ་བ་གཅིག',\n MM : '%d ཟླ་བ',\n y : 'ལོ་གཅིག',\n yy : '%d ལོ'\n },\n preparse: function (string) {\n return string.replace(/[༡༢༣༤༥༦༧༨༩༠]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /མཚན་མོ|ཞོགས་ཀས|ཉིན་གུང|དགོང་དག|མཚན་མོ/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if ((meridiem === 'མཚན་མོ' && hour >= 4) ||\n (meridiem === 'ཉིན་གུང' && hour < 5) ||\n meridiem === 'དགོང་དག') {\n return hour + 12;\n } else {\n return hour;\n }\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'མཚན་མོ';\n } else if (hour < 10) {\n return 'ཞོགས་ཀས';\n } else if (hour < 17) {\n return 'ཉིན་གུང';\n } else if (hour < 20) {\n return 'དགོང་དག';\n } else {\n return 'མཚན་མོ';\n }\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return bo;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '১',\n '2': '২',\n '3': '৩',\n '4': '৪',\n '5': '৫',\n '6': '৬',\n '7': '৭',\n '8': '৮',\n '9': '৯',\n '0': '০'\n },\n numberMap = {\n '১': '1',\n '২': '2',\n '৩': '3',\n '৪': '4',\n '৫': '5',\n '৬': '6',\n '৭': '7',\n '৮': '8',\n '৯': '9',\n '০': '0'\n };\n\n var bn = moment.defineLocale('bn', {\n months : 'জানুয়ারী_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর'.split('_'),\n monthsShort : 'জানু_ফেব_মার্চ_এপ্র_মে_জুন_জুল_আগ_সেপ্ট_অক্টো_নভে_ডিসে'.split('_'),\n weekdays : 'রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার'.split('_'),\n weekdaysShort : 'রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি'.split('_'),\n weekdaysMin : 'রবি_সোম_মঙ্গ_বুধ_বৃহঃ_শুক্র_শনি'.split('_'),\n longDateFormat : {\n LT : 'A h:mm সময়',\n LTS : 'A h:mm:ss সময়',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, A h:mm সময়',\n LLLL : 'dddd, D MMMM YYYY, A h:mm সময়'\n },\n calendar : {\n sameDay : '[আজ] LT',\n nextDay : '[আগামীকাল] LT',\n nextWeek : 'dddd, LT',\n lastDay : '[গতকাল] LT',\n lastWeek : '[গত] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s পরে',\n past : '%s আগে',\n s : 'কয়েক সেকেন্ড',\n ss : '%d সেকেন্ড',\n m : 'এক মিনিট',\n mm : '%d মিনিট',\n h : 'এক ঘন্টা',\n hh : '%d ঘন্টা',\n d : 'এক দিন',\n dd : '%d দিন',\n M : 'এক মাস',\n MM : '%d মাস',\n y : 'এক বছর',\n yy : '%d বছর'\n },\n preparse: function (string) {\n return string.replace(/[১২৩৪৫৬৭৮৯০]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /রাত|সকাল|দুপুর|বিকাল|রাত/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if ((meridiem === 'রাত' && hour >= 4) ||\n (meridiem === 'দুপুর' && hour < 5) ||\n meridiem === 'বিকাল') {\n return hour + 12;\n } else {\n return hour;\n }\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'রাত';\n } else if (hour < 10) {\n return 'সকাল';\n } else if (hour < 17) {\n return 'দুপুর';\n } else if (hour < 20) {\n return 'বিকাল';\n } else {\n return 'রাত';\n }\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return bn;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var bm = moment.defineLocale('bm', {\n months : 'Zanwuyekalo_Fewuruyekalo_Marisikalo_Awirilikalo_Mɛkalo_Zuwɛnkalo_Zuluyekalo_Utikalo_Sɛtanburukalo_ɔkutɔburukalo_Nowanburukalo_Desanburukalo'.split('_'),\n monthsShort : 'Zan_Few_Mar_Awi_Mɛ_Zuw_Zul_Uti_Sɛt_ɔku_Now_Des'.split('_'),\n weekdays : 'Kari_Ntɛnɛn_Tarata_Araba_Alamisa_Juma_Sibiri'.split('_'),\n weekdaysShort : 'Kar_Ntɛ_Tar_Ara_Ala_Jum_Sib'.split('_'),\n weekdaysMin : 'Ka_Nt_Ta_Ar_Al_Ju_Si'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'MMMM [tile] D [san] YYYY',\n LLL : 'MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm',\n LLLL : 'dddd MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm'\n },\n calendar : {\n sameDay : '[Bi lɛrɛ] LT',\n nextDay : '[Sini lɛrɛ] LT',\n nextWeek : 'dddd [don lɛrɛ] LT',\n lastDay : '[Kunu lɛrɛ] LT',\n lastWeek : 'dddd [tɛmɛnen lɛrɛ] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s kɔnɔ',\n past : 'a bɛ %s bɔ',\n s : 'sanga dama dama',\n ss : 'sekondi %d',\n m : 'miniti kelen',\n mm : 'miniti %d',\n h : 'lɛrɛ kelen',\n hh : 'lɛrɛ %d',\n d : 'tile kelen',\n dd : 'tile %d',\n M : 'kalo kelen',\n MM : 'kalo %d',\n y : 'san kelen',\n yy : 'san %d'\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return bm;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var bg = moment.defineLocale('bg', {\n months : 'януари_февруари_март_април_май_юни_юли_август_септември_октомври_ноември_декември'.split('_'),\n monthsShort : 'янр_фев_мар_апр_май_юни_юли_авг_сеп_окт_ное_дек'.split('_'),\n weekdays : 'неделя_понеделник_вторник_сряда_четвъртък_петък_събота'.split('_'),\n weekdaysShort : 'нед_пон_вто_сря_чет_пет_съб'.split('_'),\n weekdaysMin : 'нд_пн_вт_ср_чт_пт_сб'.split('_'),\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'D.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY H:mm',\n LLLL : 'dddd, D MMMM YYYY H:mm'\n },\n calendar : {\n sameDay : '[Днес в] LT',\n nextDay : '[Утре в] LT',\n nextWeek : 'dddd [в] LT',\n lastDay : '[Вчера в] LT',\n lastWeek : function () {\n switch (this.day()) {\n case 0:\n case 3:\n case 6:\n return '[В изминалата] dddd [в] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[В изминалия] dddd [в] LT';\n }\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'след %s',\n past : 'преди %s',\n s : 'няколко секунди',\n ss : '%d секунди',\n m : 'минута',\n mm : '%d минути',\n h : 'час',\n hh : '%d часа',\n d : 'ден',\n dd : '%d дни',\n M : 'месец',\n MM : '%d месеца',\n y : 'година',\n yy : '%d години'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ев|ен|ти|ви|ри|ми)/,\n ordinal : function (number) {\n var lastDigit = number % 10,\n last2Digits = number % 100;\n if (number === 0) {\n return number + '-ев';\n } else if (last2Digits === 0) {\n return number + '-ен';\n } else if (last2Digits > 10 && last2Digits < 20) {\n return number + '-ти';\n } else if (lastDigit === 1) {\n return number + '-ви';\n } else if (lastDigit === 2) {\n return number + '-ри';\n } else if (lastDigit === 7 || lastDigit === 8) {\n return number + '-ми';\n } else {\n return number + '-ти';\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return bg;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function plural(word, num) {\n var forms = word.split('_');\n return num % 10 === 1 && num % 100 !== 11 ? forms[0] : (num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) ? forms[1] : forms[2]);\n }\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n var format = {\n 'ss': withoutSuffix ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд',\n 'mm': withoutSuffix ? 'хвіліна_хвіліны_хвілін' : 'хвіліну_хвіліны_хвілін',\n 'hh': withoutSuffix ? 'гадзіна_гадзіны_гадзін' : 'гадзіну_гадзіны_гадзін',\n 'dd': 'дзень_дні_дзён',\n 'MM': 'месяц_месяцы_месяцаў',\n 'yy': 'год_гады_гадоў'\n };\n if (key === 'm') {\n return withoutSuffix ? 'хвіліна' : 'хвіліну';\n }\n else if (key === 'h') {\n return withoutSuffix ? 'гадзіна' : 'гадзіну';\n }\n else {\n return number + ' ' + plural(format[key], +number);\n }\n }\n\n var be = moment.defineLocale('be', {\n months : {\n format: 'студзеня_лютага_сакавіка_красавіка_траўня_чэрвеня_ліпеня_жніўня_верасня_кастрычніка_лістапада_снежня'.split('_'),\n standalone: 'студзень_люты_сакавік_красавік_травень_чэрвень_ліпень_жнівень_верасень_кастрычнік_лістапад_снежань'.split('_')\n },\n monthsShort : 'студ_лют_сак_крас_трав_чэрв_ліп_жнів_вер_каст_ліст_снеж'.split('_'),\n weekdays : {\n format: 'нядзелю_панядзелак_аўторак_сераду_чацвер_пятніцу_суботу'.split('_'),\n standalone: 'нядзеля_панядзелак_аўторак_серада_чацвер_пятніца_субота'.split('_'),\n isFormat: /\\[ ?[Ууў] ?(?:мінулую|наступную)? ?\\] ?dddd/\n },\n weekdaysShort : 'нд_пн_ат_ср_чц_пт_сб'.split('_'),\n weekdaysMin : 'нд_пн_ат_ср_чц_пт_сб'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY г.',\n LLL : 'D MMMM YYYY г., HH:mm',\n LLLL : 'dddd, D MMMM YYYY г., HH:mm'\n },\n calendar : {\n sameDay: '[Сёння ў] LT',\n nextDay: '[Заўтра ў] LT',\n lastDay: '[Учора ў] LT',\n nextWeek: function () {\n return '[У] dddd [ў] LT';\n },\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n case 3:\n case 5:\n case 6:\n return '[У мінулую] dddd [ў] LT';\n case 1:\n case 2:\n case 4:\n return '[У мінулы] dddd [ў] LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : 'праз %s',\n past : '%s таму',\n s : 'некалькі секунд',\n m : relativeTimeWithPlural,\n mm : relativeTimeWithPlural,\n h : relativeTimeWithPlural,\n hh : relativeTimeWithPlural,\n d : 'дзень',\n dd : relativeTimeWithPlural,\n M : 'месяц',\n MM : relativeTimeWithPlural,\n y : 'год',\n yy : relativeTimeWithPlural\n },\n meridiemParse: /ночы|раніцы|дня|вечара/,\n isPM : function (input) {\n return /^(дня|вечара)$/.test(input);\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ночы';\n } else if (hour < 12) {\n return 'раніцы';\n } else if (hour < 17) {\n return 'дня';\n } else {\n return 'вечара';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(і|ы|га)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'M':\n case 'd':\n case 'DDD':\n case 'w':\n case 'W':\n return (number % 10 === 2 || number % 10 === 3) && (number % 100 !== 12 && number % 100 !== 13) ? number + '-і' : number + '-ы';\n case 'D':\n return number + '-га';\n default:\n return number;\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return be;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var suffixes = {\n 1: '-inci',\n 5: '-inci',\n 8: '-inci',\n 70: '-inci',\n 80: '-inci',\n 2: '-nci',\n 7: '-nci',\n 20: '-nci',\n 50: '-nci',\n 3: '-üncü',\n 4: '-üncü',\n 100: '-üncü',\n 6: '-ncı',\n 9: '-uncu',\n 10: '-uncu',\n 30: '-uncu',\n 60: '-ıncı',\n 90: '-ıncı'\n };\n\n var az = moment.defineLocale('az', {\n months : 'yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr'.split('_'),\n monthsShort : 'yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek'.split('_'),\n weekdays : 'Bazar_Bazar ertəsi_Çərşənbə axşamı_Çərşənbə_Cümə axşamı_Cümə_Şənbə'.split('_'),\n weekdaysShort : 'Baz_BzE_ÇAx_Çər_CAx_Cüm_Şən'.split('_'),\n weekdaysMin : 'Bz_BE_ÇA_Çə_CA_Cü_Şə'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[bugün saat] LT',\n nextDay : '[sabah saat] LT',\n nextWeek : '[gələn həftə] dddd [saat] LT',\n lastDay : '[dünən] LT',\n lastWeek : '[keçən həftə] dddd [saat] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s sonra',\n past : '%s əvvəl',\n s : 'birneçə saniyə',\n ss : '%d saniyə',\n m : 'bir dəqiqə',\n mm : '%d dəqiqə',\n h : 'bir saat',\n hh : '%d saat',\n d : 'bir gün',\n dd : '%d gün',\n M : 'bir ay',\n MM : '%d ay',\n y : 'bir il',\n yy : '%d il'\n },\n meridiemParse: /gecə|səhər|gündüz|axşam/,\n isPM : function (input) {\n return /^(gündüz|axşam)$/.test(input);\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'gecə';\n } else if (hour < 12) {\n return 'səhər';\n } else if (hour < 17) {\n return 'gündüz';\n } else {\n return 'axşam';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ıncı|inci|nci|üncü|ncı|uncu)/,\n ordinal : function (number) {\n if (number === 0) { // special case for zero\n return number + '-ıncı';\n }\n var a = number % 10,\n b = number % 100 - a,\n c = number >= 100 ? 100 : null;\n return number + (suffixes[a] || suffixes[b] || suffixes[c]);\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return az;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var arTn = moment.defineLocale('ar-tn', {\n months: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),\n monthsShort: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact : true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'في %s',\n past: 'منذ %s',\n s: 'ثوان',\n ss : '%d ثانية',\n m: 'دقيقة',\n mm: '%d دقائق',\n h: 'ساعة',\n hh: '%d ساعات',\n d: 'يوم',\n dd: '%d أيام',\n M: 'شهر',\n MM: '%d أشهر',\n y: 'سنة',\n yy: '%d سنوات'\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return arTn;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '١',\n '2': '٢',\n '3': '٣',\n '4': '٤',\n '5': '٥',\n '6': '٦',\n '7': '٧',\n '8': '٨',\n '9': '٩',\n '0': '٠'\n }, numberMap = {\n '١': '1',\n '٢': '2',\n '٣': '3',\n '٤': '4',\n '٥': '5',\n '٦': '6',\n '٧': '7',\n '٨': '8',\n '٩': '9',\n '٠': '0'\n };\n\n var arSa = moment.defineLocale('ar-sa', {\n months : 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),\n monthsShort : 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),\n weekdays : 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort : 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n meridiemParse: /ص|م/,\n isPM : function (input) {\n return 'م' === input;\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ص';\n } else {\n return 'م';\n }\n },\n calendar : {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'في %s',\n past : 'منذ %s',\n s : 'ثوان',\n ss : '%d ثانية',\n m : 'دقيقة',\n mm : '%d دقائق',\n h : 'ساعة',\n hh : '%d ساعات',\n d : 'يوم',\n dd : '%d أيام',\n M : 'شهر',\n MM : '%d أشهر',\n y : 'سنة',\n yy : '%d سنوات'\n },\n preparse: function (string) {\n return string.replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\n return numberMap[match];\n }).replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n }).replace(/,/g, '،');\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return arSa;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var arMa = moment.defineLocale('ar-ma', {\n months : 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),\n monthsShort : 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),\n weekdays : 'الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort : 'احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'في %s',\n past : 'منذ %s',\n s : 'ثوان',\n ss : '%d ثانية',\n m : 'دقيقة',\n mm : '%d دقائق',\n h : 'ساعة',\n hh : '%d ساعات',\n d : 'يوم',\n dd : '%d أيام',\n M : 'شهر',\n MM : '%d أشهر',\n y : 'سنة',\n yy : '%d سنوات'\n },\n week : {\n dow : 6, // Saturday is the first day of the week.\n doy : 12 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return arMa;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '1',\n '2': '2',\n '3': '3',\n '4': '4',\n '5': '5',\n '6': '6',\n '7': '7',\n '8': '8',\n '9': '9',\n '0': '0'\n }, pluralForm = function (n) {\n return n === 0 ? 0 : n === 1 ? 1 : n === 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5;\n }, plurals = {\n s : ['أقل من ثانية', 'ثانية واحدة', ['ثانيتان', 'ثانيتين'], '%d ثوان', '%d ثانية', '%d ثانية'],\n m : ['أقل من دقيقة', 'دقيقة واحدة', ['دقيقتان', 'دقيقتين'], '%d دقائق', '%d دقيقة', '%d دقيقة'],\n h : ['أقل من ساعة', 'ساعة واحدة', ['ساعتان', 'ساعتين'], '%d ساعات', '%d ساعة', '%d ساعة'],\n d : ['أقل من يوم', 'يوم واحد', ['يومان', 'يومين'], '%d أيام', '%d يومًا', '%d يوم'],\n M : ['أقل من شهر', 'شهر واحد', ['شهران', 'شهرين'], '%d أشهر', '%d شهرا', '%d شهر'],\n y : ['أقل من عام', 'عام واحد', ['عامان', 'عامين'], '%d أعوام', '%d عامًا', '%d عام']\n }, pluralize = function (u) {\n return function (number, withoutSuffix, string, isFuture) {\n var f = pluralForm(number),\n str = plurals[u][pluralForm(number)];\n if (f === 2) {\n str = str[withoutSuffix ? 0 : 1];\n }\n return str.replace(/%d/i, number);\n };\n }, months = [\n 'يناير',\n 'فبراير',\n 'مارس',\n 'أبريل',\n 'مايو',\n 'يونيو',\n 'يوليو',\n 'أغسطس',\n 'سبتمبر',\n 'أكتوبر',\n 'نوفمبر',\n 'ديسمبر'\n ];\n\n var arLy = moment.defineLocale('ar-ly', {\n months : months,\n monthsShort : months,\n weekdays : 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort : 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'D/\\u200FM/\\u200FYYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n meridiemParse: /ص|م/,\n isPM : function (input) {\n return 'م' === input;\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ص';\n } else {\n return 'م';\n }\n },\n calendar : {\n sameDay: '[اليوم عند الساعة] LT',\n nextDay: '[غدًا عند الساعة] LT',\n nextWeek: 'dddd [عند الساعة] LT',\n lastDay: '[أمس عند الساعة] LT',\n lastWeek: 'dddd [عند الساعة] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'بعد %s',\n past : 'منذ %s',\n s : pluralize('s'),\n ss : pluralize('s'),\n m : pluralize('m'),\n mm : pluralize('m'),\n h : pluralize('h'),\n hh : pluralize('h'),\n d : pluralize('d'),\n dd : pluralize('d'),\n M : pluralize('M'),\n MM : pluralize('M'),\n y : pluralize('y'),\n yy : pluralize('y')\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n }).replace(/,/g, '،');\n },\n week : {\n dow : 6, // Saturday is the first day of the week.\n doy : 12 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return arLy;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var arKw = moment.defineLocale('ar-kw', {\n months : 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),\n monthsShort : 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),\n weekdays : 'الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort : 'احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'في %s',\n past : 'منذ %s',\n s : 'ثوان',\n ss : '%d ثانية',\n m : 'دقيقة',\n mm : '%d دقائق',\n h : 'ساعة',\n hh : '%d ساعات',\n d : 'يوم',\n dd : '%d أيام',\n M : 'شهر',\n MM : '%d أشهر',\n y : 'سنة',\n yy : '%d سنوات'\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 12 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return arKw;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var arDz = moment.defineLocale('ar-dz', {\n months : 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),\n monthsShort : 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),\n weekdays : 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort : 'احد_اثنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin : 'أح_إث_ثلا_أر_خم_جم_سب'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'في %s',\n past : 'منذ %s',\n s : 'ثوان',\n ss : '%d ثانية',\n m : 'دقيقة',\n mm : '%d دقائق',\n h : 'ساعة',\n hh : '%d ساعات',\n d : 'يوم',\n dd : '%d أيام',\n M : 'شهر',\n MM : '%d أشهر',\n y : 'سنة',\n yy : '%d سنوات'\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 4 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return arDz;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '١',\n '2': '٢',\n '3': '٣',\n '4': '٤',\n '5': '٥',\n '6': '٦',\n '7': '٧',\n '8': '٨',\n '9': '٩',\n '0': '٠'\n }, numberMap = {\n '١': '1',\n '٢': '2',\n '٣': '3',\n '٤': '4',\n '٥': '5',\n '٦': '6',\n '٧': '7',\n '٨': '8',\n '٩': '9',\n '٠': '0'\n }, pluralForm = function (n) {\n return n === 0 ? 0 : n === 1 ? 1 : n === 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5;\n }, plurals = {\n s : ['أقل من ثانية', 'ثانية واحدة', ['ثانيتان', 'ثانيتين'], '%d ثوان', '%d ثانية', '%d ثانية'],\n m : ['أقل من دقيقة', 'دقيقة واحدة', ['دقيقتان', 'دقيقتين'], '%d دقائق', '%d دقيقة', '%d دقيقة'],\n h : ['أقل من ساعة', 'ساعة واحدة', ['ساعتان', 'ساعتين'], '%d ساعات', '%d ساعة', '%d ساعة'],\n d : ['أقل من يوم', 'يوم واحد', ['يومان', 'يومين'], '%d أيام', '%d يومًا', '%d يوم'],\n M : ['أقل من شهر', 'شهر واحد', ['شهران', 'شهرين'], '%d أشهر', '%d شهرا', '%d شهر'],\n y : ['أقل من عام', 'عام واحد', ['عامان', 'عامين'], '%d أعوام', '%d عامًا', '%d عام']\n }, pluralize = function (u) {\n return function (number, withoutSuffix, string, isFuture) {\n var f = pluralForm(number),\n str = plurals[u][pluralForm(number)];\n if (f === 2) {\n str = str[withoutSuffix ? 0 : 1];\n }\n return str.replace(/%d/i, number);\n };\n }, months = [\n 'يناير',\n 'فبراير',\n 'مارس',\n 'أبريل',\n 'مايو',\n 'يونيو',\n 'يوليو',\n 'أغسطس',\n 'سبتمبر',\n 'أكتوبر',\n 'نوفمبر',\n 'ديسمبر'\n ];\n\n var ar = moment.defineLocale('ar', {\n months : months,\n monthsShort : months,\n weekdays : 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort : 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'D/\\u200FM/\\u200FYYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n meridiemParse: /ص|م/,\n isPM : function (input) {\n return 'م' === input;\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ص';\n } else {\n return 'م';\n }\n },\n calendar : {\n sameDay: '[اليوم عند الساعة] LT',\n nextDay: '[غدًا عند الساعة] LT',\n nextWeek: 'dddd [عند الساعة] LT',\n lastDay: '[أمس عند الساعة] LT',\n lastWeek: 'dddd [عند الساعة] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'بعد %s',\n past : 'منذ %s',\n s : pluralize('s'),\n ss : pluralize('s'),\n m : pluralize('m'),\n mm : pluralize('m'),\n h : pluralize('h'),\n hh : pluralize('h'),\n d : pluralize('d'),\n dd : pluralize('d'),\n M : pluralize('M'),\n MM : pluralize('M'),\n y : pluralize('y'),\n yy : pluralize('y')\n },\n preparse: function (string) {\n return string.replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\n return numberMap[match];\n }).replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n }).replace(/,/g, '،');\n },\n week : {\n dow : 6, // Saturday is the first day of the week.\n doy : 12 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return ar;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var af = moment.defineLocale('af', {\n months : 'Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember'.split('_'),\n monthsShort : 'Jan_Feb_Mrt_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des'.split('_'),\n weekdays : 'Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag'.split('_'),\n weekdaysShort : 'Son_Maa_Din_Woe_Don_Vry_Sat'.split('_'),\n weekdaysMin : 'So_Ma_Di_Wo_Do_Vr_Sa'.split('_'),\n meridiemParse: /vm|nm/i,\n isPM : function (input) {\n return /^nm$/i.test(input);\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours < 12) {\n return isLower ? 'vm' : 'VM';\n } else {\n return isLower ? 'nm' : 'NM';\n }\n },\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Vandag om] LT',\n nextDay : '[Môre om] LT',\n nextWeek : 'dddd [om] LT',\n lastDay : '[Gister om] LT',\n lastWeek : '[Laas] dddd [om] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'oor %s',\n past : '%s gelede',\n s : '\\'n paar sekondes',\n ss : '%d sekondes',\n m : '\\'n minuut',\n mm : '%d minute',\n h : '\\'n uur',\n hh : '%d ure',\n d : '\\'n dag',\n dd : '%d dae',\n M : '\\'n maand',\n MM : '%d maande',\n y : '\\'n jaar',\n yy : '%d jaar'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n ordinal : function (number) {\n return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de'); // Thanks to Joris Röling : https://github.com/jjupiter\n },\n week : {\n dow : 1, // Maandag is die eerste dag van die week.\n doy : 4 // Die week wat die 4de Januarie bevat is die eerste week van die jaar.\n }\n });\n\n return af;\n\n})));\n","import { each } from './each';\n\nexport function extendDeep(target) {\n for (var i = 1; i < arguments.length; i++) {\n each(arguments[i], function(prop, key){\n if (( typeof target[key] !== 'undefined' && typeof prop !== 'undefined' ) &&\n ( typeof target[key] === 'object' && typeof prop === 'object' ) &&\n ( target[key] !== null && prop !== null )) {\n extendDeep(target[key], prop);\n }\n else {\n target[key] = prop;\n }\n });\n }\n return target;\n}\n","/* @license C3.js v0.6.12 | (c) C3 Team and other contributors | http://c3js.org/ */\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n (global.c3 = factory());\n}(this, (function () { 'use strict';\n\n function _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n }\n\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n\n function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n }\n\n function ChartInternal(api) {\n var $$ = this;\n $$.d3 = window.d3 ? window.d3 : typeof require !== 'undefined' ? require(\"d3\") : undefined;\n $$.api = api;\n $$.config = $$.getDefaultConfig();\n $$.data = {};\n $$.cache = {};\n $$.axes = {};\n }\n\n function Chart(config) {\n var $$ = this.internal = new ChartInternal(this);\n $$.loadConfig(config);\n $$.beforeInit(config);\n $$.init();\n $$.afterInit(config); // bind \"this\" to nested API\n\n (function bindThis(fn, target, argThis) {\n Object.keys(fn).forEach(function (key) {\n target[key] = fn[key].bind(argThis);\n\n if (Object.keys(fn[key]).length > 0) {\n bindThis(fn[key], target[key], argThis);\n }\n });\n })(Chart.prototype, this, this);\n }\n\n function AxisInternal(component, params) {\n var internal = this;\n internal.component = component;\n internal.params = params || {};\n internal.d3 = component.d3;\n internal.scale = internal.d3.scaleLinear();\n internal.range;\n internal.orient = \"bottom\";\n internal.innerTickSize = 6;\n internal.outerTickSize = this.params.withOuterTick ? 6 : 0;\n internal.tickPadding = 3;\n internal.tickValues = null;\n internal.tickFormat;\n internal.tickArguments;\n internal.tickOffset = 0;\n internal.tickCulling = true;\n internal.tickCentered;\n internal.tickTextCharSize;\n internal.tickTextRotate = internal.params.tickTextRotate;\n internal.tickLength;\n internal.axis = internal.generateAxis();\n }\n\n AxisInternal.prototype.axisX = function (selection, x, tickOffset) {\n selection.attr(\"transform\", function (d) {\n return \"translate(\" + Math.ceil(x(d) + tickOffset) + \", 0)\";\n });\n };\n\n AxisInternal.prototype.axisY = function (selection, y) {\n selection.attr(\"transform\", function (d) {\n return \"translate(0,\" + Math.ceil(y(d)) + \")\";\n });\n };\n\n AxisInternal.prototype.scaleExtent = function (domain) {\n var start = domain[0],\n stop = domain[domain.length - 1];\n return start < stop ? [start, stop] : [stop, start];\n };\n\n AxisInternal.prototype.generateTicks = function (scale) {\n var internal = this;\n var i,\n domain,\n ticks = [];\n\n if (scale.ticks) {\n return scale.ticks.apply(scale, internal.tickArguments);\n }\n\n domain = scale.domain();\n\n for (i = Math.ceil(domain[0]); i < domain[1]; i++) {\n ticks.push(i);\n }\n\n if (ticks.length > 0 && ticks[0] > 0) {\n ticks.unshift(ticks[0] - (ticks[1] - ticks[0]));\n }\n\n return ticks;\n };\n\n AxisInternal.prototype.copyScale = function () {\n var internal = this;\n var newScale = internal.scale.copy(),\n domain;\n\n if (internal.params.isCategory) {\n domain = internal.scale.domain();\n newScale.domain([domain[0], domain[1] - 1]);\n }\n\n return newScale;\n };\n\n AxisInternal.prototype.textFormatted = function (v) {\n var internal = this,\n formatted = internal.tickFormat ? internal.tickFormat(v) : v;\n return typeof formatted !== 'undefined' ? formatted : '';\n };\n\n AxisInternal.prototype.updateRange = function () {\n var internal = this;\n internal.range = internal.scale.rangeExtent ? internal.scale.rangeExtent() : internal.scaleExtent(internal.scale.range());\n return internal.range;\n };\n\n AxisInternal.prototype.updateTickTextCharSize = function (tick) {\n var internal = this;\n\n if (internal.tickTextCharSize) {\n return internal.tickTextCharSize;\n }\n\n var size = {\n h: 11.5,\n w: 5.5\n };\n tick.select('text').text(function (d) {\n return internal.textFormatted(d);\n }).each(function (d) {\n var box = this.getBoundingClientRect(),\n text = internal.textFormatted(d),\n h = box.height,\n w = text ? box.width / text.length : undefined;\n\n if (h && w) {\n size.h = h;\n size.w = w;\n }\n }).text('');\n internal.tickTextCharSize = size;\n return size;\n };\n\n AxisInternal.prototype.isVertical = function () {\n return this.orient === 'left' || this.orient === 'right';\n };\n\n AxisInternal.prototype.tspanData = function (d, i, scale) {\n var internal = this;\n var splitted = internal.params.tickMultiline ? internal.splitTickText(d, scale) : [].concat(internal.textFormatted(d));\n\n if (internal.params.tickMultiline && internal.params.tickMultilineMax > 0) {\n splitted = internal.ellipsify(splitted, internal.params.tickMultilineMax);\n }\n\n return splitted.map(function (s) {\n return {\n index: i,\n splitted: s,\n length: splitted.length\n };\n });\n };\n\n AxisInternal.prototype.splitTickText = function (d, scale) {\n var internal = this,\n tickText = internal.textFormatted(d),\n maxWidth = internal.params.tickWidth,\n subtext,\n spaceIndex,\n textWidth,\n splitted = [];\n\n if (Object.prototype.toString.call(tickText) === \"[object Array]\") {\n return tickText;\n }\n\n if (!maxWidth || maxWidth <= 0) {\n maxWidth = internal.isVertical() ? 95 : internal.params.isCategory ? Math.ceil(scale(1) - scale(0)) - 12 : 110;\n }\n\n function split(splitted, text) {\n spaceIndex = undefined;\n\n for (var i = 1; i < text.length; i++) {\n if (text.charAt(i) === ' ') {\n spaceIndex = i;\n }\n\n subtext = text.substr(0, i + 1);\n textWidth = internal.tickTextCharSize.w * subtext.length; // if text width gets over tick width, split by space index or crrent index\n\n if (maxWidth < textWidth) {\n return split(splitted.concat(text.substr(0, spaceIndex ? spaceIndex : i)), text.slice(spaceIndex ? spaceIndex + 1 : i));\n }\n }\n\n return splitted.concat(text);\n }\n\n return split(splitted, tickText + \"\");\n };\n\n AxisInternal.prototype.ellipsify = function (splitted, max) {\n if (splitted.length <= max) {\n return splitted;\n }\n\n var ellipsified = splitted.slice(0, max);\n var remaining = 3;\n\n for (var i = max - 1; i >= 0; i--) {\n var available = ellipsified[i].length;\n ellipsified[i] = ellipsified[i].substr(0, available - remaining).padEnd(available, '.');\n remaining -= available;\n\n if (remaining <= 0) {\n break;\n }\n }\n\n return ellipsified;\n };\n\n AxisInternal.prototype.updateTickLength = function () {\n var internal = this;\n internal.tickLength = Math.max(internal.innerTickSize, 0) + internal.tickPadding;\n };\n\n AxisInternal.prototype.lineY2 = function (d) {\n var internal = this,\n tickPosition = internal.scale(d) + (internal.tickCentered ? 0 : internal.tickOffset);\n return internal.range[0] < tickPosition && tickPosition < internal.range[1] ? internal.innerTickSize : 0;\n };\n\n AxisInternal.prototype.textY = function () {\n var internal = this,\n rotate = internal.tickTextRotate;\n return rotate ? 11.5 - 2.5 * (rotate / 15) * (rotate > 0 ? 1 : -1) : internal.tickLength;\n };\n\n AxisInternal.prototype.textTransform = function () {\n var internal = this,\n rotate = internal.tickTextRotate;\n return rotate ? \"rotate(\" + rotate + \")\" : \"\";\n };\n\n AxisInternal.prototype.textTextAnchor = function () {\n var internal = this,\n rotate = internal.tickTextRotate;\n return rotate ? rotate > 0 ? \"start\" : \"end\" : \"middle\";\n };\n\n AxisInternal.prototype.tspanDx = function () {\n var internal = this,\n rotate = internal.tickTextRotate;\n return rotate ? 8 * Math.sin(Math.PI * (rotate / 180)) : 0;\n };\n\n AxisInternal.prototype.tspanDy = function (d, i) {\n var internal = this,\n dy = internal.tickTextCharSize.h;\n\n if (i === 0) {\n if (internal.isVertical()) {\n dy = -((d.length - 1) * (internal.tickTextCharSize.h / 2) - 3);\n } else {\n dy = \".71em\";\n }\n }\n\n return dy;\n };\n\n AxisInternal.prototype.generateAxis = function () {\n var internal = this,\n d3 = internal.d3,\n params = internal.params;\n\n function axis(g, transition) {\n var self;\n g.each(function () {\n var g = axis.g = d3.select(this);\n var scale0 = this.__chart__ || internal.scale,\n scale1 = this.__chart__ = internal.copyScale();\n var ticksValues = internal.tickValues ? internal.tickValues : internal.generateTicks(scale1),\n ticks = g.selectAll(\".tick\").data(ticksValues, scale1),\n tickEnter = ticks.enter().insert(\"g\", \".domain\").attr(\"class\", \"tick\").style(\"opacity\", 1e-6),\n // MEMO: No exit transition. The reason is this transition affects max tick width calculation because old tick will be included in the ticks.\n tickExit = ticks.exit().remove(),\n tickUpdate = ticks.merge(tickEnter),\n tickTransform,\n tickX,\n tickY;\n\n if (params.isCategory) {\n internal.tickOffset = Math.ceil((scale1(1) - scale1(0)) / 2);\n tickX = internal.tickCentered ? 0 : internal.tickOffset;\n tickY = internal.tickCentered ? internal.tickOffset : 0;\n } else {\n internal.tickOffset = tickX = 0;\n }\n\n internal.updateRange();\n internal.updateTickLength();\n internal.updateTickTextCharSize(g.select('.tick'));\n var lineUpdate = tickUpdate.select(\"line\").merge(tickEnter.append(\"line\")),\n textUpdate = tickUpdate.select(\"text\").merge(tickEnter.append(\"text\"));\n var tspans = tickUpdate.selectAll('text').selectAll('tspan').data(function (d, i) {\n return internal.tspanData(d, i, scale1);\n }),\n tspanEnter = tspans.enter().append('tspan'),\n tspanUpdate = tspanEnter.merge(tspans).text(function (d) {\n return d.splitted;\n });\n tspans.exit().remove();\n var path = g.selectAll(\".domain\").data([0]),\n pathUpdate = path.enter().append(\"path\").merge(path).attr(\"class\", \"domain\"); // TODO: each attr should be one function and change its behavior by internal.orient, probably\n\n switch (internal.orient) {\n case \"bottom\":\n {\n tickTransform = internal.axisX;\n lineUpdate.attr(\"x1\", tickX).attr(\"x2\", tickX).attr(\"y2\", function (d, i) {\n return internal.lineY2(d, i);\n });\n textUpdate.attr(\"x\", 0).attr(\"y\", function (d, i) {\n return internal.textY(d, i);\n }).attr(\"transform\", function (d, i) {\n return internal.textTransform(d, i);\n }).style(\"text-anchor\", function (d, i) {\n return internal.textTextAnchor(d, i);\n });\n tspanUpdate.attr('x', 0).attr(\"dy\", function (d, i) {\n return internal.tspanDy(d, i);\n }).attr('dx', function (d, i) {\n return internal.tspanDx(d, i);\n });\n pathUpdate.attr(\"d\", \"M\" + internal.range[0] + \",\" + internal.outerTickSize + \"V0H\" + internal.range[1] + \"V\" + internal.outerTickSize);\n break;\n }\n\n case \"top\":\n {\n // TODO: rotated tick text\n tickTransform = internal.axisX;\n lineUpdate.attr(\"x1\", tickX).attr(\"x2\", tickX).attr(\"y2\", function (d, i) {\n return -1 * internal.lineY2(d, i);\n });\n textUpdate.attr(\"x\", 0).attr(\"y\", function (d, i) {\n return -1 * internal.textY(d, i) - (params.isCategory ? 2 : internal.tickLength - 2);\n }).attr(\"transform\", function (d, i) {\n return internal.textTransform(d, i);\n }).style(\"text-anchor\", function (d, i) {\n return internal.textTextAnchor(d, i);\n });\n tspanUpdate.attr('x', 0).attr(\"dy\", function (d, i) {\n return internal.tspanDy(d, i);\n }).attr('dx', function (d, i) {\n return internal.tspanDx(d, i);\n });\n pathUpdate.attr(\"d\", \"M\" + internal.range[0] + \",\" + -internal.outerTickSize + \"V0H\" + internal.range[1] + \"V\" + -internal.outerTickSize);\n break;\n }\n\n case \"left\":\n {\n tickTransform = internal.axisY;\n lineUpdate.attr(\"x2\", -internal.innerTickSize).attr(\"y1\", tickY).attr(\"y2\", tickY);\n textUpdate.attr(\"x\", -internal.tickLength).attr(\"y\", internal.tickOffset).style(\"text-anchor\", \"end\");\n tspanUpdate.attr('x', -internal.tickLength).attr(\"dy\", function (d, i) {\n return internal.tspanDy(d, i);\n });\n pathUpdate.attr(\"d\", \"M\" + -internal.outerTickSize + \",\" + internal.range[0] + \"H0V\" + internal.range[1] + \"H\" + -internal.outerTickSize);\n break;\n }\n\n case \"right\":\n {\n tickTransform = internal.axisY;\n lineUpdate.attr(\"x2\", internal.innerTickSize).attr(\"y1\", tickY).attr(\"y2\", tickY);\n textUpdate.attr(\"x\", internal.tickLength).attr(\"y\", internal.tickOffset).style(\"text-anchor\", \"start\");\n tspanUpdate.attr('x', internal.tickLength).attr(\"dy\", function (d, i) {\n return internal.tspanDy(d, i);\n });\n pathUpdate.attr(\"d\", \"M\" + internal.outerTickSize + \",\" + internal.range[0] + \"H0V\" + internal.range[1] + \"H\" + internal.outerTickSize);\n break;\n }\n }\n\n if (scale1.rangeBand) {\n var x = scale1,\n dx = x.rangeBand() / 2;\n\n scale0 = scale1 = function scale1(d) {\n return x(d) + dx;\n };\n } else if (scale0.rangeBand) {\n scale0 = scale1;\n } else {\n tickExit.call(tickTransform, scale1, internal.tickOffset);\n }\n\n tickEnter.call(tickTransform, scale0, internal.tickOffset);\n self = (transition ? tickUpdate.transition(transition) : tickUpdate).style('opacity', 1).call(tickTransform, scale1, internal.tickOffset);\n });\n return self;\n }\n\n axis.scale = function (x) {\n if (!arguments.length) {\n return internal.scale;\n }\n\n internal.scale = x;\n return axis;\n };\n\n axis.orient = function (x) {\n if (!arguments.length) {\n return internal.orient;\n }\n\n internal.orient = x in {\n top: 1,\n right: 1,\n bottom: 1,\n left: 1\n } ? x + \"\" : \"bottom\";\n return axis;\n };\n\n axis.tickFormat = function (format) {\n if (!arguments.length) {\n return internal.tickFormat;\n }\n\n internal.tickFormat = format;\n return axis;\n };\n\n axis.tickCentered = function (isCentered) {\n if (!arguments.length) {\n return internal.tickCentered;\n }\n\n internal.tickCentered = isCentered;\n return axis;\n };\n\n axis.tickOffset = function () {\n return internal.tickOffset;\n };\n\n axis.tickInterval = function () {\n var interval, length;\n\n if (params.isCategory) {\n interval = internal.tickOffset * 2;\n } else {\n length = axis.g.select('path.domain').node().getTotalLength() - internal.outerTickSize * 2;\n interval = length / axis.g.selectAll('line').size();\n }\n\n return interval === Infinity ? 0 : interval;\n };\n\n axis.ticks = function () {\n if (!arguments.length) {\n return internal.tickArguments;\n }\n\n internal.tickArguments = arguments;\n return axis;\n };\n\n axis.tickCulling = function (culling) {\n if (!arguments.length) {\n return internal.tickCulling;\n }\n\n internal.tickCulling = culling;\n return axis;\n };\n\n axis.tickValues = function (x) {\n if (typeof x === 'function') {\n internal.tickValues = function () {\n return x(internal.scale.domain());\n };\n } else {\n if (!arguments.length) {\n return internal.tickValues;\n }\n\n internal.tickValues = x;\n }\n\n return axis;\n };\n\n return axis;\n };\n\n var CLASS = {\n target: 'c3-target',\n chart: 'c3-chart',\n chartLine: 'c3-chart-line',\n chartLines: 'c3-chart-lines',\n chartBar: 'c3-chart-bar',\n chartBars: 'c3-chart-bars',\n chartText: 'c3-chart-text',\n chartTexts: 'c3-chart-texts',\n chartArc: 'c3-chart-arc',\n chartArcs: 'c3-chart-arcs',\n chartArcsTitle: 'c3-chart-arcs-title',\n chartArcsBackground: 'c3-chart-arcs-background',\n chartArcsGaugeUnit: 'c3-chart-arcs-gauge-unit',\n chartArcsGaugeMax: 'c3-chart-arcs-gauge-max',\n chartArcsGaugeMin: 'c3-chart-arcs-gauge-min',\n selectedCircle: 'c3-selected-circle',\n selectedCircles: 'c3-selected-circles',\n eventRect: 'c3-event-rect',\n eventRects: 'c3-event-rects',\n eventRectsSingle: 'c3-event-rects-single',\n eventRectsMultiple: 'c3-event-rects-multiple',\n zoomRect: 'c3-zoom-rect',\n brush: 'c3-brush',\n dragZoom: 'c3-drag-zoom',\n focused: 'c3-focused',\n defocused: 'c3-defocused',\n region: 'c3-region',\n regions: 'c3-regions',\n title: 'c3-title',\n tooltipContainer: 'c3-tooltip-container',\n tooltip: 'c3-tooltip',\n tooltipName: 'c3-tooltip-name',\n shape: 'c3-shape',\n shapes: 'c3-shapes',\n line: 'c3-line',\n lines: 'c3-lines',\n bar: 'c3-bar',\n bars: 'c3-bars',\n circle: 'c3-circle',\n circles: 'c3-circles',\n arc: 'c3-arc',\n arcLabelLine: 'c3-arc-label-line',\n arcs: 'c3-arcs',\n area: 'c3-area',\n areas: 'c3-areas',\n empty: 'c3-empty',\n text: 'c3-text',\n texts: 'c3-texts',\n gaugeValue: 'c3-gauge-value',\n grid: 'c3-grid',\n gridLines: 'c3-grid-lines',\n xgrid: 'c3-xgrid',\n xgrids: 'c3-xgrids',\n xgridLine: 'c3-xgrid-line',\n xgridLines: 'c3-xgrid-lines',\n xgridFocus: 'c3-xgrid-focus',\n ygrid: 'c3-ygrid',\n ygrids: 'c3-ygrids',\n ygridLine: 'c3-ygrid-line',\n ygridLines: 'c3-ygrid-lines',\n axis: 'c3-axis',\n axisX: 'c3-axis-x',\n axisXLabel: 'c3-axis-x-label',\n axisY: 'c3-axis-y',\n axisYLabel: 'c3-axis-y-label',\n axisY2: 'c3-axis-y2',\n axisY2Label: 'c3-axis-y2-label',\n legendBackground: 'c3-legend-background',\n legendItem: 'c3-legend-item',\n legendItemEvent: 'c3-legend-item-event',\n legendItemTile: 'c3-legend-item-tile',\n legendItemHidden: 'c3-legend-item-hidden',\n legendItemFocused: 'c3-legend-item-focused',\n dragarea: 'c3-dragarea',\n EXPANDED: '_expanded_',\n SELECTED: '_selected_',\n INCLUDED: '_included_'\n };\n\n var asHalfPixel = function asHalfPixel(n) {\n return Math.ceil(n) + 0.5;\n };\n var ceil10 = function ceil10(v) {\n return Math.ceil(v / 10) * 10;\n };\n var diffDomain = function diffDomain(d) {\n return d[1] - d[0];\n };\n var getOption = function getOption(options, key, defaultValue) {\n return isDefined(options[key]) ? options[key] : defaultValue;\n };\n var getPathBox = function getPathBox(path) {\n var box = path.getBoundingClientRect(),\n items = [path.pathSegList.getItem(0), path.pathSegList.getItem(1)],\n minX = items[0].x,\n minY = Math.min(items[0].y, items[1].y);\n return {\n x: minX,\n y: minY,\n width: box.width,\n height: box.height\n };\n };\n var hasValue = function hasValue(dict, value) {\n var found = false;\n Object.keys(dict).forEach(function (key) {\n if (dict[key] === value) {\n found = true;\n }\n });\n return found;\n };\n var isArray = function isArray(o) {\n return Array.isArray(o);\n };\n var isDefined = function isDefined(v) {\n return typeof v !== 'undefined';\n };\n var isEmpty = function isEmpty(o) {\n return typeof o === 'undefined' || o === null || isString(o) && o.length === 0 || _typeof(o) === 'object' && Object.keys(o).length === 0;\n };\n var isFunction = function isFunction(o) {\n return typeof o === 'function';\n };\n var isString = function isString(o) {\n return typeof o === 'string';\n };\n var isUndefined = function isUndefined(v) {\n return typeof v === 'undefined';\n };\n var isValue = function isValue(v) {\n return v || v === 0;\n };\n var notEmpty = function notEmpty(o) {\n return !isEmpty(o);\n };\n var sanitise = function sanitise(str) {\n return typeof str === 'string' ? str.replace(//g, '>') : str;\n };\n\n var Axis = function Axis(owner) {\n _classCallCheck(this, Axis);\n\n this.owner = owner;\n this.d3 = owner.d3;\n this.internal = AxisInternal;\n };\n\n Axis.prototype.init = function init() {\n var $$ = this.owner,\n config = $$.config,\n main = $$.main;\n $$.axes.x = main.append(\"g\").attr(\"class\", CLASS.axis + ' ' + CLASS.axisX).attr(\"clip-path\", config.axis_x_inner ? \"\" : $$.clipPathForXAxis).attr(\"transform\", $$.getTranslate('x')).style(\"visibility\", config.axis_x_show ? 'visible' : 'hidden');\n $$.axes.x.append(\"text\").attr(\"class\", CLASS.axisXLabel).attr(\"transform\", config.axis_rotated ? \"rotate(-90)\" : \"\").style(\"text-anchor\", this.textAnchorForXAxisLabel.bind(this));\n $$.axes.y = main.append(\"g\").attr(\"class\", CLASS.axis + ' ' + CLASS.axisY).attr(\"clip-path\", config.axis_y_inner ? \"\" : $$.clipPathForYAxis).attr(\"transform\", $$.getTranslate('y')).style(\"visibility\", config.axis_y_show ? 'visible' : 'hidden');\n $$.axes.y.append(\"text\").attr(\"class\", CLASS.axisYLabel).attr(\"transform\", config.axis_rotated ? \"\" : \"rotate(-90)\").style(\"text-anchor\", this.textAnchorForYAxisLabel.bind(this));\n $$.axes.y2 = main.append(\"g\").attr(\"class\", CLASS.axis + ' ' + CLASS.axisY2) // clip-path?\n .attr(\"transform\", $$.getTranslate('y2')).style(\"visibility\", config.axis_y2_show ? 'visible' : 'hidden');\n $$.axes.y2.append(\"text\").attr(\"class\", CLASS.axisY2Label).attr(\"transform\", config.axis_rotated ? \"\" : \"rotate(-90)\").style(\"text-anchor\", this.textAnchorForY2AxisLabel.bind(this));\n };\n\n Axis.prototype.getXAxis = function getXAxis(scale, orient, tickFormat, tickValues, withOuterTick, withoutTransition, withoutRotateTickText) {\n var $$ = this.owner,\n config = $$.config,\n axisParams = {\n isCategory: $$.isCategorized(),\n withOuterTick: withOuterTick,\n tickMultiline: config.axis_x_tick_multiline,\n tickMultilineMax: config.axis_x_tick_multiline ? Number(config.axis_x_tick_multilineMax) : 0,\n tickWidth: config.axis_x_tick_width,\n tickTextRotate: withoutRotateTickText ? 0 : config.axis_x_tick_rotate,\n withoutTransition: withoutTransition\n },\n axis = new this.internal(this, axisParams).axis.scale(scale).orient(orient);\n\n if ($$.isTimeSeries() && tickValues && typeof tickValues !== \"function\") {\n tickValues = tickValues.map(function (v) {\n return $$.parseDate(v);\n });\n } // Set tick\n\n\n axis.tickFormat(tickFormat).tickValues(tickValues);\n\n if ($$.isCategorized()) {\n axis.tickCentered(config.axis_x_tick_centered);\n\n if (isEmpty(config.axis_x_tick_culling)) {\n config.axis_x_tick_culling = false;\n }\n }\n\n return axis;\n };\n\n Axis.prototype.updateXAxisTickValues = function updateXAxisTickValues(targets, axis) {\n var $$ = this.owner,\n config = $$.config,\n tickValues;\n\n if (config.axis_x_tick_fit || config.axis_x_tick_count) {\n tickValues = this.generateTickValues($$.mapTargetsToUniqueXs(targets), config.axis_x_tick_count, $$.isTimeSeries());\n }\n\n if (axis) {\n axis.tickValues(tickValues);\n } else {\n $$.xAxis.tickValues(tickValues);\n $$.subXAxis.tickValues(tickValues);\n }\n\n return tickValues;\n };\n\n Axis.prototype.getYAxis = function getYAxis(scale, orient, tickFormat, tickValues, withOuterTick, withoutTransition, withoutRotateTickText) {\n var $$ = this.owner,\n config = $$.config,\n axisParams = {\n withOuterTick: withOuterTick,\n withoutTransition: withoutTransition,\n tickTextRotate: withoutRotateTickText ? 0 : config.axis_y_tick_rotate\n },\n axis = new this.internal(this, axisParams).axis.scale(scale).orient(orient).tickFormat(tickFormat);\n\n if ($$.isTimeSeriesY()) {\n axis.ticks(config.axis_y_tick_time_type, config.axis_y_tick_time_interval);\n } else {\n axis.tickValues(tickValues);\n }\n\n return axis;\n };\n\n Axis.prototype.getId = function getId(id) {\n var config = this.owner.config;\n return id in config.data_axes ? config.data_axes[id] : 'y';\n };\n\n Axis.prototype.getXAxisTickFormat = function getXAxisTickFormat() {\n // #2251 previously set any negative values to a whole number,\n // however both should be truncated according to the users format specification\n var $$ = this.owner,\n config = $$.config;\n var format = $$.isTimeSeries() ? $$.defaultAxisTimeFormat : $$.isCategorized() ? $$.categoryName : function (v) {\n return v;\n };\n\n if (config.axis_x_tick_format) {\n if (isFunction(config.axis_x_tick_format)) {\n format = config.axis_x_tick_format;\n } else if ($$.isTimeSeries()) {\n format = function format(date) {\n return date ? $$.axisTimeFormat(config.axis_x_tick_format)(date) : \"\";\n };\n }\n }\n\n return isFunction(format) ? function (v) {\n return format.call($$, v);\n } : format;\n };\n\n Axis.prototype.getTickValues = function getTickValues(tickValues, axis) {\n return tickValues ? tickValues : axis ? axis.tickValues() : undefined;\n };\n\n Axis.prototype.getXAxisTickValues = function getXAxisTickValues() {\n return this.getTickValues(this.owner.config.axis_x_tick_values, this.owner.xAxis);\n };\n\n Axis.prototype.getYAxisTickValues = function getYAxisTickValues() {\n return this.getTickValues(this.owner.config.axis_y_tick_values, this.owner.yAxis);\n };\n\n Axis.prototype.getY2AxisTickValues = function getY2AxisTickValues() {\n return this.getTickValues(this.owner.config.axis_y2_tick_values, this.owner.y2Axis);\n };\n\n Axis.prototype.getLabelOptionByAxisId = function getLabelOptionByAxisId(axisId) {\n var $$ = this.owner,\n config = $$.config,\n option;\n\n if (axisId === 'y') {\n option = config.axis_y_label;\n } else if (axisId === 'y2') {\n option = config.axis_y2_label;\n } else if (axisId === 'x') {\n option = config.axis_x_label;\n }\n\n return option;\n };\n\n Axis.prototype.getLabelText = function getLabelText(axisId) {\n var option = this.getLabelOptionByAxisId(axisId);\n return isString(option) ? option : option ? option.text : null;\n };\n\n Axis.prototype.setLabelText = function setLabelText(axisId, text) {\n var $$ = this.owner,\n config = $$.config,\n option = this.getLabelOptionByAxisId(axisId);\n\n if (isString(option)) {\n if (axisId === 'y') {\n config.axis_y_label = text;\n } else if (axisId === 'y2') {\n config.axis_y2_label = text;\n } else if (axisId === 'x') {\n config.axis_x_label = text;\n }\n } else if (option) {\n option.text = text;\n }\n };\n\n Axis.prototype.getLabelPosition = function getLabelPosition(axisId, defaultPosition) {\n var option = this.getLabelOptionByAxisId(axisId),\n position = option && _typeof(option) === 'object' && option.position ? option.position : defaultPosition;\n return {\n isInner: position.indexOf('inner') >= 0,\n isOuter: position.indexOf('outer') >= 0,\n isLeft: position.indexOf('left') >= 0,\n isCenter: position.indexOf('center') >= 0,\n isRight: position.indexOf('right') >= 0,\n isTop: position.indexOf('top') >= 0,\n isMiddle: position.indexOf('middle') >= 0,\n isBottom: position.indexOf('bottom') >= 0\n };\n };\n\n Axis.prototype.getXAxisLabelPosition = function getXAxisLabelPosition() {\n return this.getLabelPosition('x', this.owner.config.axis_rotated ? 'inner-top' : 'inner-right');\n };\n\n Axis.prototype.getYAxisLabelPosition = function getYAxisLabelPosition() {\n return this.getLabelPosition('y', this.owner.config.axis_rotated ? 'inner-right' : 'inner-top');\n };\n\n Axis.prototype.getY2AxisLabelPosition = function getY2AxisLabelPosition() {\n return this.getLabelPosition('y2', this.owner.config.axis_rotated ? 'inner-right' : 'inner-top');\n };\n\n Axis.prototype.getLabelPositionById = function getLabelPositionById(id) {\n return id === 'y2' ? this.getY2AxisLabelPosition() : id === 'y' ? this.getYAxisLabelPosition() : this.getXAxisLabelPosition();\n };\n\n Axis.prototype.textForXAxisLabel = function textForXAxisLabel() {\n return this.getLabelText('x');\n };\n\n Axis.prototype.textForYAxisLabel = function textForYAxisLabel() {\n return this.getLabelText('y');\n };\n\n Axis.prototype.textForY2AxisLabel = function textForY2AxisLabel() {\n return this.getLabelText('y2');\n };\n\n Axis.prototype.xForAxisLabel = function xForAxisLabel(forHorizontal, position) {\n var $$ = this.owner;\n\n if (forHorizontal) {\n return position.isLeft ? 0 : position.isCenter ? $$.width / 2 : $$.width;\n } else {\n return position.isBottom ? -$$.height : position.isMiddle ? -$$.height / 2 : 0;\n }\n };\n\n Axis.prototype.dxForAxisLabel = function dxForAxisLabel(forHorizontal, position) {\n if (forHorizontal) {\n return position.isLeft ? \"0.5em\" : position.isRight ? \"-0.5em\" : \"0\";\n } else {\n return position.isTop ? \"-0.5em\" : position.isBottom ? \"0.5em\" : \"0\";\n }\n };\n\n Axis.prototype.textAnchorForAxisLabel = function textAnchorForAxisLabel(forHorizontal, position) {\n if (forHorizontal) {\n return position.isLeft ? 'start' : position.isCenter ? 'middle' : 'end';\n } else {\n return position.isBottom ? 'start' : position.isMiddle ? 'middle' : 'end';\n }\n };\n\n Axis.prototype.xForXAxisLabel = function xForXAxisLabel() {\n return this.xForAxisLabel(!this.owner.config.axis_rotated, this.getXAxisLabelPosition());\n };\n\n Axis.prototype.xForYAxisLabel = function xForYAxisLabel() {\n return this.xForAxisLabel(this.owner.config.axis_rotated, this.getYAxisLabelPosition());\n };\n\n Axis.prototype.xForY2AxisLabel = function xForY2AxisLabel() {\n return this.xForAxisLabel(this.owner.config.axis_rotated, this.getY2AxisLabelPosition());\n };\n\n Axis.prototype.dxForXAxisLabel = function dxForXAxisLabel() {\n return this.dxForAxisLabel(!this.owner.config.axis_rotated, this.getXAxisLabelPosition());\n };\n\n Axis.prototype.dxForYAxisLabel = function dxForYAxisLabel() {\n return this.dxForAxisLabel(this.owner.config.axis_rotated, this.getYAxisLabelPosition());\n };\n\n Axis.prototype.dxForY2AxisLabel = function dxForY2AxisLabel() {\n return this.dxForAxisLabel(this.owner.config.axis_rotated, this.getY2AxisLabelPosition());\n };\n\n Axis.prototype.dyForXAxisLabel = function dyForXAxisLabel() {\n var $$ = this.owner,\n config = $$.config,\n position = this.getXAxisLabelPosition();\n\n if (config.axis_rotated) {\n return position.isInner ? \"1.2em\" : -25 - ($$.config.axis_x_inner ? 0 : this.getMaxTickWidth('x'));\n } else {\n return position.isInner ? \"-0.5em\" : config.axis_x_height ? config.axis_x_height - 10 : \"3em\";\n }\n };\n\n Axis.prototype.dyForYAxisLabel = function dyForYAxisLabel() {\n var $$ = this.owner,\n position = this.getYAxisLabelPosition();\n\n if ($$.config.axis_rotated) {\n return position.isInner ? \"-0.5em\" : \"3em\";\n } else {\n return position.isInner ? \"1.2em\" : -10 - ($$.config.axis_y_inner ? 0 : this.getMaxTickWidth('y') + 10);\n }\n };\n\n Axis.prototype.dyForY2AxisLabel = function dyForY2AxisLabel() {\n var $$ = this.owner,\n position = this.getY2AxisLabelPosition();\n\n if ($$.config.axis_rotated) {\n return position.isInner ? \"1.2em\" : \"-2.2em\";\n } else {\n return position.isInner ? \"-0.5em\" : 15 + ($$.config.axis_y2_inner ? 0 : this.getMaxTickWidth('y2') + 15);\n }\n };\n\n Axis.prototype.textAnchorForXAxisLabel = function textAnchorForXAxisLabel() {\n var $$ = this.owner;\n return this.textAnchorForAxisLabel(!$$.config.axis_rotated, this.getXAxisLabelPosition());\n };\n\n Axis.prototype.textAnchorForYAxisLabel = function textAnchorForYAxisLabel() {\n var $$ = this.owner;\n return this.textAnchorForAxisLabel($$.config.axis_rotated, this.getYAxisLabelPosition());\n };\n\n Axis.prototype.textAnchorForY2AxisLabel = function textAnchorForY2AxisLabel() {\n var $$ = this.owner;\n return this.textAnchorForAxisLabel($$.config.axis_rotated, this.getY2AxisLabelPosition());\n };\n\n Axis.prototype.getMaxTickWidth = function getMaxTickWidth(id, withoutRecompute) {\n var $$ = this.owner,\n config = $$.config,\n maxWidth = 0,\n targetsToShow,\n scale,\n axis,\n dummy,\n svg;\n\n if (withoutRecompute && $$.currentMaxTickWidths[id]) {\n return $$.currentMaxTickWidths[id];\n }\n\n if ($$.svg) {\n targetsToShow = $$.filterTargetsToShow($$.data.targets);\n\n if (id === 'y') {\n scale = $$.y.copy().domain($$.getYDomain(targetsToShow, 'y'));\n axis = this.getYAxis(scale, $$.yOrient, config.axis_y_tick_format, $$.yAxisTickValues, false, true, true);\n } else if (id === 'y2') {\n scale = $$.y2.copy().domain($$.getYDomain(targetsToShow, 'y2'));\n axis = this.getYAxis(scale, $$.y2Orient, config.axis_y2_tick_format, $$.y2AxisTickValues, false, true, true);\n } else {\n scale = $$.x.copy().domain($$.getXDomain(targetsToShow));\n axis = this.getXAxis(scale, $$.xOrient, $$.xAxisTickFormat, $$.xAxisTickValues, false, true, true);\n this.updateXAxisTickValues(targetsToShow, axis);\n }\n\n dummy = $$.d3.select('body').append('div').classed('c3', true);\n svg = dummy.append(\"svg\").style('visibility', 'hidden').style('position', 'fixed').style('top', 0).style('left', 0), svg.append('g').call(axis).each(function () {\n $$.d3.select(this).selectAll('text').each(function () {\n var box = this.getBoundingClientRect();\n\n if (maxWidth < box.width) {\n maxWidth = box.width;\n }\n });\n dummy.remove();\n });\n }\n\n $$.currentMaxTickWidths[id] = maxWidth <= 0 ? $$.currentMaxTickWidths[id] : maxWidth;\n return $$.currentMaxTickWidths[id];\n };\n\n Axis.prototype.updateLabels = function updateLabels(withTransition) {\n var $$ = this.owner;\n var axisXLabel = $$.main.select('.' + CLASS.axisX + ' .' + CLASS.axisXLabel),\n axisYLabel = $$.main.select('.' + CLASS.axisY + ' .' + CLASS.axisYLabel),\n axisY2Label = $$.main.select('.' + CLASS.axisY2 + ' .' + CLASS.axisY2Label);\n (withTransition ? axisXLabel.transition() : axisXLabel).attr(\"x\", this.xForXAxisLabel.bind(this)).attr(\"dx\", this.dxForXAxisLabel.bind(this)).attr(\"dy\", this.dyForXAxisLabel.bind(this)).text(this.textForXAxisLabel.bind(this));\n (withTransition ? axisYLabel.transition() : axisYLabel).attr(\"x\", this.xForYAxisLabel.bind(this)).attr(\"dx\", this.dxForYAxisLabel.bind(this)).attr(\"dy\", this.dyForYAxisLabel.bind(this)).text(this.textForYAxisLabel.bind(this));\n (withTransition ? axisY2Label.transition() : axisY2Label).attr(\"x\", this.xForY2AxisLabel.bind(this)).attr(\"dx\", this.dxForY2AxisLabel.bind(this)).attr(\"dy\", this.dyForY2AxisLabel.bind(this)).text(this.textForY2AxisLabel.bind(this));\n };\n\n Axis.prototype.getPadding = function getPadding(padding, key, defaultValue, domainLength) {\n var p = typeof padding === 'number' ? padding : padding[key];\n\n if (!isValue(p)) {\n return defaultValue;\n }\n\n if (padding.unit === 'ratio') {\n return padding[key] * domainLength;\n } // assume padding is pixels if unit is not specified\n\n\n return this.convertPixelsToAxisPadding(p, domainLength);\n };\n\n Axis.prototype.convertPixelsToAxisPadding = function convertPixelsToAxisPadding(pixels, domainLength) {\n var $$ = this.owner,\n length = $$.config.axis_rotated ? $$.width : $$.height;\n return domainLength * (pixels / length);\n };\n\n Axis.prototype.generateTickValues = function generateTickValues(values, tickCount, forTimeSeries) {\n var tickValues = values,\n targetCount,\n start,\n end,\n count,\n interval,\n i,\n tickValue;\n\n if (tickCount) {\n targetCount = isFunction(tickCount) ? tickCount() : tickCount; // compute ticks according to tickCount\n\n if (targetCount === 1) {\n tickValues = [values[0]];\n } else if (targetCount === 2) {\n tickValues = [values[0], values[values.length - 1]];\n } else if (targetCount > 2) {\n count = targetCount - 2;\n start = values[0];\n end = values[values.length - 1];\n interval = (end - start) / (count + 1); // re-construct unique values\n\n tickValues = [start];\n\n for (i = 0; i < count; i++) {\n tickValue = +start + interval * (i + 1);\n tickValues.push(forTimeSeries ? new Date(tickValue) : tickValue);\n }\n\n tickValues.push(end);\n }\n }\n\n if (!forTimeSeries) {\n tickValues = tickValues.sort(function (a, b) {\n return a - b;\n });\n }\n\n return tickValues;\n };\n\n Axis.prototype.generateTransitions = function generateTransitions(duration) {\n var $$ = this.owner,\n axes = $$.axes;\n return {\n axisX: duration ? axes.x.transition().duration(duration) : axes.x,\n axisY: duration ? axes.y.transition().duration(duration) : axes.y,\n axisY2: duration ? axes.y2.transition().duration(duration) : axes.y2,\n axisSubX: duration ? axes.subx.transition().duration(duration) : axes.subx\n };\n };\n\n Axis.prototype.redraw = function redraw(duration, isHidden) {\n var $$ = this.owner,\n transition = duration ? $$.d3.transition().duration(duration) : null;\n $$.axes.x.style(\"opacity\", isHidden ? 0 : 1).call($$.xAxis, transition);\n $$.axes.y.style(\"opacity\", isHidden ? 0 : 1).call($$.yAxis, transition);\n $$.axes.y2.style(\"opacity\", isHidden ? 0 : 1).call($$.y2Axis, transition);\n $$.axes.subx.style(\"opacity\", isHidden ? 0 : 1).call($$.subXAxis, transition);\n };\n\n var c3 = {\n version: \"0.6.12\",\n chart: {\n fn: Chart.prototype,\n internal: {\n fn: ChartInternal.prototype,\n axis: {\n fn: Axis.prototype,\n internal: {\n fn: AxisInternal.prototype\n }\n }\n }\n },\n generate: function generate(config) {\n return new Chart(config);\n }\n };\n\n ChartInternal.prototype.beforeInit = function () {// can do something\n };\n\n ChartInternal.prototype.afterInit = function () {// can do something\n };\n\n ChartInternal.prototype.init = function () {\n var $$ = this,\n config = $$.config;\n $$.initParams();\n\n if (config.data_url) {\n $$.convertUrlToData(config.data_url, config.data_mimeType, config.data_headers, config.data_keys, $$.initWithData);\n } else if (config.data_json) {\n $$.initWithData($$.convertJsonToData(config.data_json, config.data_keys));\n } else if (config.data_rows) {\n $$.initWithData($$.convertRowsToData(config.data_rows));\n } else if (config.data_columns) {\n $$.initWithData($$.convertColumnsToData(config.data_columns));\n } else {\n throw Error('url or json or rows or columns is required.');\n }\n };\n\n ChartInternal.prototype.initParams = function () {\n var $$ = this,\n d3 = $$.d3,\n config = $$.config; // MEMO: clipId needs to be unique because it conflicts when multiple charts exist\n\n $$.clipId = \"c3-\" + +new Date() + '-clip';\n $$.clipIdForXAxis = $$.clipId + '-xaxis';\n $$.clipIdForYAxis = $$.clipId + '-yaxis';\n $$.clipIdForGrid = $$.clipId + '-grid';\n $$.clipIdForSubchart = $$.clipId + '-subchart';\n $$.clipPath = $$.getClipPath($$.clipId);\n $$.clipPathForXAxis = $$.getClipPath($$.clipIdForXAxis);\n $$.clipPathForYAxis = $$.getClipPath($$.clipIdForYAxis);\n $$.clipPathForGrid = $$.getClipPath($$.clipIdForGrid);\n $$.clipPathForSubchart = $$.getClipPath($$.clipIdForSubchart);\n $$.dragStart = null;\n $$.dragging = false;\n $$.flowing = false;\n $$.cancelClick = false;\n $$.mouseover = false;\n $$.transiting = false;\n $$.color = $$.generateColor();\n $$.levelColor = $$.generateLevelColor();\n $$.dataTimeParse = (config.data_xLocaltime ? d3.timeParse : d3.utcParse)($$.config.data_xFormat);\n $$.axisTimeFormat = config.axis_x_localtime ? d3.timeFormat : d3.utcFormat;\n\n $$.defaultAxisTimeFormat = function (date) {\n if (date.getMilliseconds()) {\n return d3.timeFormat(\".%L\")(date);\n }\n\n if (date.getSeconds()) {\n return d3.timeFormat(\":%S\")(date);\n }\n\n if (date.getMinutes()) {\n return d3.timeFormat(\"%I:%M\")(date);\n }\n\n if (date.getHours()) {\n return d3.timeFormat(\"%I %p\")(date);\n }\n\n if (date.getDay() && date.getDate() !== 1) {\n return d3.timeFormat(\"%-m/%-d\")(date);\n }\n\n if (date.getDate() !== 1) {\n return d3.timeFormat(\"%-m/%-d\")(date);\n }\n\n if (date.getMonth()) {\n return d3.timeFormat(\"%-m/%-d\")(date);\n }\n\n return d3.timeFormat(\"%Y/%-m/%-d\")(date);\n };\n\n $$.hiddenTargetIds = [];\n $$.hiddenLegendIds = [];\n $$.focusedTargetIds = [];\n $$.defocusedTargetIds = [];\n $$.xOrient = config.axis_rotated ? config.axis_x_inner ? \"right\" : \"left\" : config.axis_x_inner ? \"top\" : \"bottom\";\n $$.yOrient = config.axis_rotated ? config.axis_y_inner ? \"top\" : \"bottom\" : config.axis_y_inner ? \"right\" : \"left\";\n $$.y2Orient = config.axis_rotated ? config.axis_y2_inner ? \"bottom\" : \"top\" : config.axis_y2_inner ? \"left\" : \"right\";\n $$.subXOrient = config.axis_rotated ? \"left\" : \"bottom\";\n $$.isLegendRight = config.legend_position === 'right';\n $$.isLegendInset = config.legend_position === 'inset';\n $$.isLegendTop = config.legend_inset_anchor === 'top-left' || config.legend_inset_anchor === 'top-right';\n $$.isLegendLeft = config.legend_inset_anchor === 'top-left' || config.legend_inset_anchor === 'bottom-left';\n $$.legendStep = 0;\n $$.legendItemWidth = 0;\n $$.legendItemHeight = 0;\n $$.currentMaxTickWidths = {\n x: 0,\n y: 0,\n y2: 0\n };\n $$.rotated_padding_left = 30;\n $$.rotated_padding_right = config.axis_rotated && !config.axis_x_show ? 0 : 30;\n $$.rotated_padding_top = 5;\n $$.withoutFadeIn = {};\n $$.intervalForObserveInserted = undefined;\n $$.axes.subx = d3.selectAll([]); // needs when excluding subchart.js\n };\n\n ChartInternal.prototype.initChartElements = function () {\n if (this.initBar) {\n this.initBar();\n }\n\n if (this.initLine) {\n this.initLine();\n }\n\n if (this.initArc) {\n this.initArc();\n }\n\n if (this.initGauge) {\n this.initGauge();\n }\n\n if (this.initText) {\n this.initText();\n }\n };\n\n ChartInternal.prototype.initWithData = function (data) {\n var $$ = this,\n d3 = $$.d3,\n config = $$.config;\n var defs,\n main,\n binding = true;\n $$.axis = new Axis($$);\n\n if (!config.bindto) {\n $$.selectChart = d3.selectAll([]);\n } else if (typeof config.bindto.node === 'function') {\n $$.selectChart = config.bindto;\n } else {\n $$.selectChart = d3.select(config.bindto);\n }\n\n if ($$.selectChart.empty()) {\n $$.selectChart = d3.select(document.createElement('div')).style('opacity', 0);\n $$.observeInserted($$.selectChart);\n binding = false;\n }\n\n $$.selectChart.html(\"\").classed(\"c3\", true); // Init data as targets\n\n $$.data.xs = {};\n $$.data.targets = $$.convertDataToTargets(data);\n\n if (config.data_filter) {\n $$.data.targets = $$.data.targets.filter(config.data_filter);\n } // Set targets to hide if needed\n\n\n if (config.data_hide) {\n $$.addHiddenTargetIds(config.data_hide === true ? $$.mapToIds($$.data.targets) : config.data_hide);\n }\n\n if (config.legend_hide) {\n $$.addHiddenLegendIds(config.legend_hide === true ? $$.mapToIds($$.data.targets) : config.legend_hide);\n } // Init sizes and scales\n\n\n $$.updateSizes();\n $$.updateScales(); // Set domains for each scale\n\n $$.x.domain(d3.extent($$.getXDomain($$.data.targets)));\n $$.y.domain($$.getYDomain($$.data.targets, 'y'));\n $$.y2.domain($$.getYDomain($$.data.targets, 'y2'));\n $$.subX.domain($$.x.domain());\n $$.subY.domain($$.y.domain());\n $$.subY2.domain($$.y2.domain()); // Save original x domain for zoom update\n\n $$.orgXDomain = $$.x.domain();\n /*-- Basic Elements --*/\n // Define svgs\n\n $$.svg = $$.selectChart.append(\"svg\").style(\"overflow\", \"hidden\").on('mouseenter', function () {\n return config.onmouseover.call($$);\n }).on('mouseleave', function () {\n return config.onmouseout.call($$);\n });\n\n if ($$.config.svg_classname) {\n $$.svg.attr('class', $$.config.svg_classname);\n } // Define defs\n\n\n defs = $$.svg.append(\"defs\");\n $$.clipChart = $$.appendClip(defs, $$.clipId);\n $$.clipXAxis = $$.appendClip(defs, $$.clipIdForXAxis);\n $$.clipYAxis = $$.appendClip(defs, $$.clipIdForYAxis);\n $$.clipGrid = $$.appendClip(defs, $$.clipIdForGrid);\n $$.clipSubchart = $$.appendClip(defs, $$.clipIdForSubchart);\n $$.updateSvgSize(); // Define regions\n\n main = $$.main = $$.svg.append(\"g\").attr(\"transform\", $$.getTranslate('main'));\n\n if ($$.initPie) {\n $$.initPie();\n }\n\n if ($$.initDragZoom) {\n $$.initDragZoom();\n }\n\n if ($$.initSubchart) {\n $$.initSubchart();\n }\n\n if ($$.initTooltip) {\n $$.initTooltip();\n }\n\n if ($$.initLegend) {\n $$.initLegend();\n }\n\n if ($$.initTitle) {\n $$.initTitle();\n }\n\n if ($$.initZoom) {\n $$.initZoom();\n } // Update selection based on size and scale\n // TODO: currently this must be called after initLegend because of update of sizes, but it should be done in initSubchart.\n\n\n if ($$.initSubchartBrush) {\n $$.initSubchartBrush();\n }\n /*-- Main Region --*/\n // text when empty\n\n\n main.append(\"text\").attr(\"class\", CLASS.text + ' ' + CLASS.empty).attr(\"text-anchor\", \"middle\") // horizontal centering of text at x position in all browsers.\n .attr(\"dominant-baseline\", \"middle\"); // vertical centering of text at y position in all browsers, except IE.\n // Regions\n\n $$.initRegion(); // Grids\n\n $$.initGrid(); // Define g for chart area\n\n main.append('g').attr(\"clip-path\", $$.clipPath).attr('class', CLASS.chart); // Grid lines\n\n if (config.grid_lines_front) {\n $$.initGridLines();\n } // Cover whole with rects for events\n\n\n $$.initEventRect(); // Define g for chart\n\n $$.initChartElements(); // Add Axis\n\n $$.axis.init(); // Set targets\n\n $$.updateTargets($$.data.targets); // Set default extent if defined\n\n if (config.axis_x_selection) {\n $$.brush.selectionAsValue($$.getDefaultSelection());\n } // Draw with targets\n\n\n if (binding) {\n $$.updateDimension();\n $$.config.oninit.call($$);\n $$.redraw({\n withTransition: false,\n withTransform: true,\n withUpdateXDomain: true,\n withUpdateOrgXDomain: true,\n withTransitionForAxis: false\n });\n } // Bind to resize event\n\n\n $$.bindResize(); // Bind to window focus event\n\n $$.bindWindowFocus(); // export element of the chart\n\n $$.api.element = $$.selectChart.node();\n };\n\n ChartInternal.prototype.smoothLines = function (el, type) {\n var $$ = this;\n\n if (type === 'grid') {\n el.each(function () {\n var g = $$.d3.select(this),\n x1 = g.attr('x1'),\n x2 = g.attr('x2'),\n y1 = g.attr('y1'),\n y2 = g.attr('y2');\n g.attr({\n 'x1': Math.ceil(x1),\n 'x2': Math.ceil(x2),\n 'y1': Math.ceil(y1),\n 'y2': Math.ceil(y2)\n });\n });\n }\n };\n\n ChartInternal.prototype.updateSizes = function () {\n var $$ = this,\n config = $$.config;\n var legendHeight = $$.legend ? $$.getLegendHeight() : 0,\n legendWidth = $$.legend ? $$.getLegendWidth() : 0,\n legendHeightForBottom = $$.isLegendRight || $$.isLegendInset ? 0 : legendHeight,\n hasArc = $$.hasArcType(),\n xAxisHeight = config.axis_rotated || hasArc ? 0 : $$.getHorizontalAxisHeight('x'),\n subchartHeight = config.subchart_show && !hasArc ? config.subchart_size_height + xAxisHeight : 0;\n $$.currentWidth = $$.getCurrentWidth();\n $$.currentHeight = $$.getCurrentHeight(); // for main\n\n $$.margin = config.axis_rotated ? {\n top: $$.getHorizontalAxisHeight('y2') + $$.getCurrentPaddingTop(),\n right: hasArc ? 0 : $$.getCurrentPaddingRight(),\n bottom: $$.getHorizontalAxisHeight('y') + legendHeightForBottom + $$.getCurrentPaddingBottom(),\n left: subchartHeight + (hasArc ? 0 : $$.getCurrentPaddingLeft())\n } : {\n top: 4 + $$.getCurrentPaddingTop(),\n // for top tick text\n right: hasArc ? 0 : $$.getCurrentPaddingRight(),\n bottom: xAxisHeight + subchartHeight + legendHeightForBottom + $$.getCurrentPaddingBottom(),\n left: hasArc ? 0 : $$.getCurrentPaddingLeft()\n }; // for subchart\n\n $$.margin2 = config.axis_rotated ? {\n top: $$.margin.top,\n right: NaN,\n bottom: 20 + legendHeightForBottom,\n left: $$.rotated_padding_left\n } : {\n top: $$.currentHeight - subchartHeight - legendHeightForBottom,\n right: NaN,\n bottom: xAxisHeight + legendHeightForBottom,\n left: $$.margin.left\n }; // for legend\n\n $$.margin3 = {\n top: 0,\n right: NaN,\n bottom: 0,\n left: 0\n };\n\n if ($$.updateSizeForLegend) {\n $$.updateSizeForLegend(legendHeight, legendWidth);\n }\n\n $$.width = $$.currentWidth - $$.margin.left - $$.margin.right;\n $$.height = $$.currentHeight - $$.margin.top - $$.margin.bottom;\n\n if ($$.width < 0) {\n $$.width = 0;\n }\n\n if ($$.height < 0) {\n $$.height = 0;\n }\n\n $$.width2 = config.axis_rotated ? $$.margin.left - $$.rotated_padding_left - $$.rotated_padding_right : $$.width;\n $$.height2 = config.axis_rotated ? $$.height : $$.currentHeight - $$.margin2.top - $$.margin2.bottom;\n\n if ($$.width2 < 0) {\n $$.width2 = 0;\n }\n\n if ($$.height2 < 0) {\n $$.height2 = 0;\n } // for arc\n\n\n $$.arcWidth = $$.width - ($$.isLegendRight ? legendWidth + 10 : 0);\n $$.arcHeight = $$.height - ($$.isLegendRight ? 0 : 10);\n\n if ($$.hasType('gauge') && !config.gauge_fullCircle) {\n $$.arcHeight += $$.height - $$.getGaugeLabelHeight();\n }\n\n if ($$.updateRadius) {\n $$.updateRadius();\n }\n\n if ($$.isLegendRight && hasArc) {\n $$.margin3.left = $$.arcWidth / 2 + $$.radiusExpanded * 1.1;\n }\n };\n\n ChartInternal.prototype.updateTargets = function (targets) {\n var $$ = this;\n /*-- Main --*/\n //-- Text --//\n\n $$.updateTargetsForText(targets); //-- Bar --//\n\n $$.updateTargetsForBar(targets); //-- Line --//\n\n $$.updateTargetsForLine(targets); //-- Arc --//\n\n if ($$.hasArcType() && $$.updateTargetsForArc) {\n $$.updateTargetsForArc(targets);\n }\n /*-- Sub --*/\n\n\n if ($$.updateTargetsForSubchart) {\n $$.updateTargetsForSubchart(targets);\n } // Fade-in each chart\n\n\n $$.showTargets();\n };\n\n ChartInternal.prototype.showTargets = function () {\n var $$ = this;\n $$.svg.selectAll('.' + CLASS.target).filter(function (d) {\n return $$.isTargetToShow(d.id);\n }).transition().duration($$.config.transition_duration).style(\"opacity\", 1);\n };\n\n ChartInternal.prototype.redraw = function (options, transitions) {\n var $$ = this,\n main = $$.main,\n d3 = $$.d3,\n config = $$.config;\n var areaIndices = $$.getShapeIndices($$.isAreaType),\n barIndices = $$.getShapeIndices($$.isBarType),\n lineIndices = $$.getShapeIndices($$.isLineType);\n var withY, withSubchart, withTransition, withTransitionForExit, withTransitionForAxis, withTransform, withUpdateXDomain, withUpdateOrgXDomain, withTrimXDomain, withLegend, withEventRect, withDimension, withUpdateXAxis;\n var hideAxis = $$.hasArcType();\n var drawArea, drawBar, drawLine, xForText, yForText;\n var duration, durationForExit, durationForAxis;\n var transitionsToWait, waitForDraw, flow, transition;\n var targetsToShow = $$.filterTargetsToShow($$.data.targets),\n tickValues,\n i,\n intervalForCulling,\n xDomainForZoom;\n var xv = $$.xv.bind($$),\n cx,\n cy;\n options = options || {};\n withY = getOption(options, \"withY\", true);\n withSubchart = getOption(options, \"withSubchart\", true);\n withTransition = getOption(options, \"withTransition\", true);\n withTransform = getOption(options, \"withTransform\", false);\n withUpdateXDomain = getOption(options, \"withUpdateXDomain\", false);\n withUpdateOrgXDomain = getOption(options, \"withUpdateOrgXDomain\", false);\n withTrimXDomain = getOption(options, \"withTrimXDomain\", true);\n withUpdateXAxis = getOption(options, \"withUpdateXAxis\", withUpdateXDomain);\n withLegend = getOption(options, \"withLegend\", false);\n withEventRect = getOption(options, \"withEventRect\", true);\n withDimension = getOption(options, \"withDimension\", true);\n withTransitionForExit = getOption(options, \"withTransitionForExit\", withTransition);\n withTransitionForAxis = getOption(options, \"withTransitionForAxis\", withTransition);\n duration = withTransition ? config.transition_duration : 0;\n durationForExit = withTransitionForExit ? duration : 0;\n durationForAxis = withTransitionForAxis ? duration : 0;\n transitions = transitions || $$.axis.generateTransitions(durationForAxis); // update legend and transform each g\n\n if (withLegend && config.legend_show) {\n $$.updateLegend($$.mapToIds($$.data.targets), options, transitions);\n } else if (withDimension) {\n // need to update dimension (e.g. axis.y.tick.values) because y tick values should change\n // no need to update axis in it because they will be updated in redraw()\n $$.updateDimension(true);\n } // MEMO: needed for grids calculation\n\n\n if ($$.isCategorized() && targetsToShow.length === 0) {\n $$.x.domain([0, $$.axes.x.selectAll('.tick').size()]);\n }\n\n if (targetsToShow.length) {\n $$.updateXDomain(targetsToShow, withUpdateXDomain, withUpdateOrgXDomain, withTrimXDomain);\n\n if (!config.axis_x_tick_values) {\n tickValues = $$.axis.updateXAxisTickValues(targetsToShow);\n }\n } else {\n $$.xAxis.tickValues([]);\n $$.subXAxis.tickValues([]);\n }\n\n if (config.zoom_rescale && !options.flow) {\n xDomainForZoom = $$.x.orgDomain();\n }\n\n $$.y.domain($$.getYDomain(targetsToShow, 'y', xDomainForZoom));\n $$.y2.domain($$.getYDomain(targetsToShow, 'y2', xDomainForZoom));\n\n if (!config.axis_y_tick_values && config.axis_y_tick_count) {\n $$.yAxis.tickValues($$.axis.generateTickValues($$.y.domain(), config.axis_y_tick_count));\n }\n\n if (!config.axis_y2_tick_values && config.axis_y2_tick_count) {\n $$.y2Axis.tickValues($$.axis.generateTickValues($$.y2.domain(), config.axis_y2_tick_count));\n } // axes\n\n\n $$.axis.redraw(durationForAxis, hideAxis); // Update axis label\n\n $$.axis.updateLabels(withTransition); // show/hide if manual culling needed\n\n if ((withUpdateXDomain || withUpdateXAxis) && targetsToShow.length) {\n if (config.axis_x_tick_culling && tickValues) {\n for (i = 1; i < tickValues.length; i++) {\n if (tickValues.length / i < config.axis_x_tick_culling_max) {\n intervalForCulling = i;\n break;\n }\n }\n\n $$.svg.selectAll('.' + CLASS.axisX + ' .tick text').each(function (e) {\n var index = tickValues.indexOf(e);\n\n if (index >= 0) {\n d3.select(this).style('display', index % intervalForCulling ? 'none' : 'block');\n }\n });\n } else {\n $$.svg.selectAll('.' + CLASS.axisX + ' .tick text').style('display', 'block');\n }\n } // setup drawer - MEMO: these must be called after axis updated\n\n\n drawArea = $$.generateDrawArea ? $$.generateDrawArea(areaIndices, false) : undefined;\n drawBar = $$.generateDrawBar ? $$.generateDrawBar(barIndices) : undefined;\n drawLine = $$.generateDrawLine ? $$.generateDrawLine(lineIndices, false) : undefined;\n xForText = $$.generateXYForText(areaIndices, barIndices, lineIndices, true);\n yForText = $$.generateXYForText(areaIndices, barIndices, lineIndices, false); // update circleY based on updated parameters\n\n $$.updateCircleY(); // generate circle x/y functions depending on updated params\n\n cx = ($$.config.axis_rotated ? $$.circleY : $$.circleX).bind($$);\n cy = ($$.config.axis_rotated ? $$.circleX : $$.circleY).bind($$); // Update sub domain\n\n if (withY) {\n $$.subY.domain($$.getYDomain(targetsToShow, 'y'));\n $$.subY2.domain($$.getYDomain(targetsToShow, 'y2'));\n } // xgrid focus\n\n\n $$.updateXgridFocus(); // Data empty label positioning and text.\n\n main.select(\"text.\" + CLASS.text + '.' + CLASS.empty).attr(\"x\", $$.width / 2).attr(\"y\", $$.height / 2).text(config.data_empty_label_text).transition().style('opacity', targetsToShow.length ? 0 : 1); // event rect\n\n if (withEventRect) {\n $$.redrawEventRect();\n } // grid\n\n\n $$.updateGrid(duration); // rect for regions\n\n $$.updateRegion(duration); // bars\n\n $$.updateBar(durationForExit); // lines, areas and cricles\n\n $$.updateLine(durationForExit);\n $$.updateArea(durationForExit);\n $$.updateCircle(cx, cy); // text\n\n if ($$.hasDataLabel()) {\n $$.updateText(xForText, yForText, durationForExit);\n } // title\n\n\n if ($$.redrawTitle) {\n $$.redrawTitle();\n } // arc\n\n\n if ($$.redrawArc) {\n $$.redrawArc(duration, durationForExit, withTransform);\n } // subchart\n\n\n if ($$.redrawSubchart) {\n $$.redrawSubchart(withSubchart, transitions, duration, durationForExit, areaIndices, barIndices, lineIndices);\n } // circles for select\n\n\n main.selectAll('.' + CLASS.selectedCircles).filter($$.isBarType.bind($$)).selectAll('circle').remove();\n\n if (options.flow) {\n flow = $$.generateFlow({\n targets: targetsToShow,\n flow: options.flow,\n duration: options.flow.duration,\n drawBar: drawBar,\n drawLine: drawLine,\n drawArea: drawArea,\n cx: cx,\n cy: cy,\n xv: xv,\n xForText: xForText,\n yForText: yForText\n });\n }\n\n if ($$.isTabVisible()) {\n // Only use transition if tab visible. See #938.\n if (duration) {\n // transition should be derived from one transition\n transition = d3.transition().duration(duration);\n transitionsToWait = [];\n [$$.redrawBar(drawBar, true, transition), $$.redrawLine(drawLine, true, transition), $$.redrawArea(drawArea, true, transition), $$.redrawCircle(cx, cy, true, transition), $$.redrawText(xForText, yForText, options.flow, true, transition), $$.redrawRegion(true, transition), $$.redrawGrid(true, transition)].forEach(function (transitions) {\n transitions.forEach(function (transition) {\n transitionsToWait.push(transition);\n });\n }); // Wait for end of transitions to call flow and onrendered callback\n\n waitForDraw = $$.generateWait();\n transitionsToWait.forEach(function (t) {\n waitForDraw.add(t);\n });\n waitForDraw(function () {\n if (flow) {\n flow();\n }\n\n if (config.onrendered) {\n config.onrendered.call($$);\n }\n });\n } else {\n $$.redrawBar(drawBar);\n $$.redrawLine(drawLine);\n $$.redrawArea(drawArea);\n $$.redrawCircle(cx, cy);\n $$.redrawText(xForText, yForText, options.flow);\n $$.redrawRegion();\n $$.redrawGrid();\n\n if (flow) {\n flow();\n }\n\n if (config.onrendered) {\n config.onrendered.call($$);\n }\n }\n } // update fadein condition\n\n\n $$.mapToIds($$.data.targets).forEach(function (id) {\n $$.withoutFadeIn[id] = true;\n });\n };\n\n ChartInternal.prototype.updateAndRedraw = function (options) {\n var $$ = this,\n config = $$.config,\n transitions;\n options = options || {}; // same with redraw\n\n options.withTransition = getOption(options, \"withTransition\", true);\n options.withTransform = getOption(options, \"withTransform\", false);\n options.withLegend = getOption(options, \"withLegend\", false); // NOT same with redraw\n\n options.withUpdateXDomain = getOption(options, \"withUpdateXDomain\", true);\n options.withUpdateOrgXDomain = getOption(options, \"withUpdateOrgXDomain\", true);\n options.withTransitionForExit = false;\n options.withTransitionForTransform = getOption(options, \"withTransitionForTransform\", options.withTransition); // MEMO: this needs to be called before updateLegend and it means this ALWAYS needs to be called)\n\n $$.updateSizes(); // MEMO: called in updateLegend in redraw if withLegend\n\n if (!(options.withLegend && config.legend_show)) {\n transitions = $$.axis.generateTransitions(options.withTransitionForAxis ? config.transition_duration : 0); // Update scales\n\n $$.updateScales();\n $$.updateSvgSize(); // Update g positions\n\n $$.transformAll(options.withTransitionForTransform, transitions);\n } // Draw with new sizes & scales\n\n\n $$.redraw(options, transitions);\n };\n\n ChartInternal.prototype.redrawWithoutRescale = function () {\n this.redraw({\n withY: false,\n withSubchart: false,\n withEventRect: false,\n withTransitionForAxis: false\n });\n };\n\n ChartInternal.prototype.isTimeSeries = function () {\n return this.config.axis_x_type === 'timeseries';\n };\n\n ChartInternal.prototype.isCategorized = function () {\n return this.config.axis_x_type.indexOf('categor') >= 0;\n };\n\n ChartInternal.prototype.isCustomX = function () {\n var $$ = this,\n config = $$.config;\n return !$$.isTimeSeries() && (config.data_x || notEmpty(config.data_xs));\n };\n\n ChartInternal.prototype.isTimeSeriesY = function () {\n return this.config.axis_y_type === 'timeseries';\n };\n\n ChartInternal.prototype.getTranslate = function (target) {\n var $$ = this,\n config = $$.config,\n x,\n y;\n\n if (target === 'main') {\n x = asHalfPixel($$.margin.left);\n y = asHalfPixel($$.margin.top);\n } else if (target === 'context') {\n x = asHalfPixel($$.margin2.left);\n y = asHalfPixel($$.margin2.top);\n } else if (target === 'legend') {\n x = $$.margin3.left;\n y = $$.margin3.top;\n } else if (target === 'x') {\n x = 0;\n y = config.axis_rotated ? 0 : $$.height;\n } else if (target === 'y') {\n x = 0;\n y = config.axis_rotated ? $$.height : 0;\n } else if (target === 'y2') {\n x = config.axis_rotated ? 0 : $$.width;\n y = config.axis_rotated ? 1 : 0;\n } else if (target === 'subx') {\n x = 0;\n y = config.axis_rotated ? 0 : $$.height2;\n } else if (target === 'arc') {\n x = $$.arcWidth / 2;\n y = $$.arcHeight / 2 - ($$.hasType('gauge') ? 6 : 0); // to prevent wrong display of min and max label\n }\n\n return \"translate(\" + x + \",\" + y + \")\";\n };\n\n ChartInternal.prototype.initialOpacity = function (d) {\n return d.value !== null && this.withoutFadeIn[d.id] ? 1 : 0;\n };\n\n ChartInternal.prototype.initialOpacityForCircle = function (d) {\n return d.value !== null && this.withoutFadeIn[d.id] ? this.opacityForCircle(d) : 0;\n };\n\n ChartInternal.prototype.opacityForCircle = function (d) {\n var isPointShouldBeShown = isFunction(this.config.point_show) ? this.config.point_show(d) : this.config.point_show;\n var opacity = isPointShouldBeShown ? 1 : 0;\n return isValue(d.value) ? this.isScatterType(d) ? 0.5 : opacity : 0;\n };\n\n ChartInternal.prototype.opacityForText = function () {\n return this.hasDataLabel() ? 1 : 0;\n };\n\n ChartInternal.prototype.xx = function (d) {\n return d ? this.x(d.x) : null;\n };\n\n ChartInternal.prototype.xv = function (d) {\n var $$ = this,\n value = d.value;\n\n if ($$.isTimeSeries()) {\n value = $$.parseDate(d.value);\n } else if ($$.isCategorized() && typeof d.value === 'string') {\n value = $$.config.axis_x_categories.indexOf(d.value);\n }\n\n return Math.ceil($$.x(value));\n };\n\n ChartInternal.prototype.yv = function (d) {\n var $$ = this,\n yScale = d.axis && d.axis === 'y2' ? $$.y2 : $$.y;\n return Math.ceil(yScale(d.value));\n };\n\n ChartInternal.prototype.subxx = function (d) {\n return d ? this.subX(d.x) : null;\n };\n\n ChartInternal.prototype.transformMain = function (withTransition, transitions) {\n var $$ = this,\n xAxis,\n yAxis,\n y2Axis;\n\n if (transitions && transitions.axisX) {\n xAxis = transitions.axisX;\n } else {\n xAxis = $$.main.select('.' + CLASS.axisX);\n\n if (withTransition) {\n xAxis = xAxis.transition();\n }\n }\n\n if (transitions && transitions.axisY) {\n yAxis = transitions.axisY;\n } else {\n yAxis = $$.main.select('.' + CLASS.axisY);\n\n if (withTransition) {\n yAxis = yAxis.transition();\n }\n }\n\n if (transitions && transitions.axisY2) {\n y2Axis = transitions.axisY2;\n } else {\n y2Axis = $$.main.select('.' + CLASS.axisY2);\n\n if (withTransition) {\n y2Axis = y2Axis.transition();\n }\n }\n\n (withTransition ? $$.main.transition() : $$.main).attr(\"transform\", $$.getTranslate('main'));\n xAxis.attr(\"transform\", $$.getTranslate('x'));\n yAxis.attr(\"transform\", $$.getTranslate('y'));\n y2Axis.attr(\"transform\", $$.getTranslate('y2'));\n $$.main.select('.' + CLASS.chartArcs).attr(\"transform\", $$.getTranslate('arc'));\n };\n\n ChartInternal.prototype.transformAll = function (withTransition, transitions) {\n var $$ = this;\n $$.transformMain(withTransition, transitions);\n\n if ($$.config.subchart_show) {\n $$.transformContext(withTransition, transitions);\n }\n\n if ($$.legend) {\n $$.transformLegend(withTransition);\n }\n };\n\n ChartInternal.prototype.updateSvgSize = function () {\n var $$ = this,\n brush = $$.svg.select(\".c3-brush .overlay\");\n $$.svg.attr('width', $$.currentWidth).attr('height', $$.currentHeight);\n $$.svg.selectAll(['#' + $$.clipId, '#' + $$.clipIdForGrid]).select('rect').attr('width', $$.width).attr('height', $$.height);\n $$.svg.select('#' + $$.clipIdForXAxis).select('rect').attr('x', $$.getXAxisClipX.bind($$)).attr('y', $$.getXAxisClipY.bind($$)).attr('width', $$.getXAxisClipWidth.bind($$)).attr('height', $$.getXAxisClipHeight.bind($$));\n $$.svg.select('#' + $$.clipIdForYAxis).select('rect').attr('x', $$.getYAxisClipX.bind($$)).attr('y', $$.getYAxisClipY.bind($$)).attr('width', $$.getYAxisClipWidth.bind($$)).attr('height', $$.getYAxisClipHeight.bind($$));\n $$.svg.select('#' + $$.clipIdForSubchart).select('rect').attr('width', $$.width).attr('height', brush.size() ? brush.attr('height') : 0);\n };\n\n ChartInternal.prototype.updateDimension = function (withoutAxis) {\n var $$ = this;\n\n if (!withoutAxis) {\n if ($$.config.axis_rotated) {\n $$.axes.x.call($$.xAxis);\n $$.axes.subx.call($$.subXAxis);\n } else {\n $$.axes.y.call($$.yAxis);\n $$.axes.y2.call($$.y2Axis);\n }\n }\n\n $$.updateSizes();\n $$.updateScales();\n $$.updateSvgSize();\n $$.transformAll(false);\n };\n\n ChartInternal.prototype.observeInserted = function (selection) {\n var $$ = this,\n observer;\n\n if (typeof MutationObserver === 'undefined') {\n window.console.error(\"MutationObserver not defined.\");\n return;\n }\n\n observer = new MutationObserver(function (mutations) {\n mutations.forEach(function (mutation) {\n if (mutation.type === 'childList' && mutation.previousSibling) {\n observer.disconnect(); // need to wait for completion of load because size calculation requires the actual sizes determined after that completion\n\n $$.intervalForObserveInserted = window.setInterval(function () {\n // parentNode will NOT be null when completed\n if (selection.node().parentNode) {\n window.clearInterval($$.intervalForObserveInserted);\n $$.updateDimension();\n\n if ($$.brush) {\n $$.brush.update();\n }\n\n $$.config.oninit.call($$);\n $$.redraw({\n withTransform: true,\n withUpdateXDomain: true,\n withUpdateOrgXDomain: true,\n withTransition: false,\n withTransitionForTransform: false,\n withLegend: true\n });\n selection.transition().style('opacity', 1);\n }\n }, 10);\n }\n });\n });\n observer.observe(selection.node(), {\n attributes: true,\n childList: true,\n characterData: true\n });\n };\n /**\n * Binds handlers to the window resize event.\n */\n\n\n ChartInternal.prototype.bindResize = function () {\n var $$ = this,\n config = $$.config;\n $$.resizeFunction = $$.generateResize(); // need to call .remove\n\n $$.resizeFunction.add(function () {\n config.onresize.call($$);\n });\n\n if (config.resize_auto) {\n $$.resizeFunction.add(function () {\n if ($$.resizeTimeout !== undefined) {\n window.clearTimeout($$.resizeTimeout);\n }\n\n $$.resizeTimeout = window.setTimeout(function () {\n delete $$.resizeTimeout;\n $$.updateAndRedraw({\n withUpdateXDomain: false,\n withUpdateOrgXDomain: false,\n withTransition: false,\n withTransitionForTransform: false,\n withLegend: true\n });\n\n if ($$.brush) {\n $$.brush.update();\n }\n }, 100);\n });\n }\n\n $$.resizeFunction.add(function () {\n config.onresized.call($$);\n });\n\n $$.resizeIfElementDisplayed = function () {\n // if element not displayed skip it\n if ($$.api == null || !$$.api.element.offsetParent) {\n return;\n }\n\n $$.resizeFunction();\n };\n\n if (window.attachEvent) {\n window.attachEvent('onresize', $$.resizeIfElementDisplayed);\n } else if (window.addEventListener) {\n window.addEventListener('resize', $$.resizeIfElementDisplayed, false);\n } else {\n // fallback to this, if this is a very old browser\n var wrapper = window.onresize;\n\n if (!wrapper) {\n // create a wrapper that will call all charts\n wrapper = $$.generateResize();\n } else if (!wrapper.add || !wrapper.remove) {\n // there is already a handler registered, make sure we call it too\n wrapper = $$.generateResize();\n wrapper.add(window.onresize);\n } // add this graph to the wrapper, we will be removed if the user calls destroy\n\n\n wrapper.add($$.resizeFunction);\n\n window.onresize = function () {\n // if element not displayed skip it\n if (!$$.api.element.offsetParent) {\n return;\n }\n\n wrapper();\n };\n }\n };\n /**\n * Binds handlers to the window focus event.\n */\n\n\n ChartInternal.prototype.bindWindowFocus = function () {\n var _this = this;\n\n if (this.windowFocusHandler) {\n // The handler is already set\n return;\n }\n\n this.windowFocusHandler = function () {\n _this.redraw();\n };\n\n window.addEventListener('focus', this.windowFocusHandler);\n };\n /**\n * Unbinds from the window focus event.\n */\n\n\n ChartInternal.prototype.unbindWindowFocus = function () {\n window.removeEventListener('focus', this.windowFocusHandler);\n delete this.windowFocusHandler;\n };\n\n ChartInternal.prototype.generateResize = function () {\n var resizeFunctions = [];\n\n function callResizeFunctions() {\n resizeFunctions.forEach(function (f) {\n f();\n });\n }\n\n callResizeFunctions.add = function (f) {\n resizeFunctions.push(f);\n };\n\n callResizeFunctions.remove = function (f) {\n for (var i = 0; i < resizeFunctions.length; i++) {\n if (resizeFunctions[i] === f) {\n resizeFunctions.splice(i, 1);\n break;\n }\n }\n };\n\n return callResizeFunctions;\n };\n\n ChartInternal.prototype.endall = function (transition, callback) {\n var n = 0;\n transition.each(function () {\n ++n;\n }).on(\"end\", function () {\n if (! --n) {\n callback.apply(this, arguments);\n }\n });\n };\n\n ChartInternal.prototype.generateWait = function () {\n var transitionsToWait = [],\n f = function f(callback) {\n var timer = setInterval(function () {\n var done = 0;\n transitionsToWait.forEach(function (t) {\n if (t.empty()) {\n done += 1;\n return;\n }\n\n try {\n t.transition();\n } catch (e) {\n done += 1;\n }\n });\n\n if (done === transitionsToWait.length) {\n clearInterval(timer);\n\n if (callback) {\n callback();\n }\n }\n }, 50);\n };\n\n f.add = function (transition) {\n transitionsToWait.push(transition);\n };\n\n return f;\n };\n\n ChartInternal.prototype.parseDate = function (date) {\n var $$ = this,\n parsedDate;\n\n if (date instanceof Date) {\n parsedDate = date;\n } else if (typeof date === 'string') {\n parsedDate = $$.dataTimeParse(date);\n } else if (_typeof(date) === 'object') {\n parsedDate = new Date(+date);\n } else if (typeof date === 'number' && !isNaN(date)) {\n parsedDate = new Date(+date);\n }\n\n if (!parsedDate || isNaN(+parsedDate)) {\n window.console.error(\"Failed to parse x '\" + date + \"' to Date object\");\n }\n\n return parsedDate;\n };\n\n ChartInternal.prototype.isTabVisible = function () {\n return !document.hidden;\n };\n\n ChartInternal.prototype.getPathBox = getPathBox;\n ChartInternal.prototype.CLASS = CLASS;\n\n /* jshint ignore:start */\n // SVGPathSeg API polyfill\n // https://github.com/progers/pathseg\n //\n // This is a drop-in replacement for the SVGPathSeg and SVGPathSegList APIs that were removed from\n // SVG2 (https://lists.w3.org/Archives/Public/www-svg/2015Jun/0044.html), including the latest spec\n // changes which were implemented in Firefox 43 and Chrome 46.\n (function () {\n\n if (!(\"SVGPathSeg\" in window)) {\n // Spec: http://www.w3.org/TR/SVG11/single-page.html#paths-InterfaceSVGPathSeg\n window.SVGPathSeg = function (type, typeAsLetter, owningPathSegList) {\n this.pathSegType = type;\n this.pathSegTypeAsLetter = typeAsLetter;\n this._owningPathSegList = owningPathSegList;\n };\n\n window.SVGPathSeg.prototype.classname = \"SVGPathSeg\";\n window.SVGPathSeg.PATHSEG_UNKNOWN = 0;\n window.SVGPathSeg.PATHSEG_CLOSEPATH = 1;\n window.SVGPathSeg.PATHSEG_MOVETO_ABS = 2;\n window.SVGPathSeg.PATHSEG_MOVETO_REL = 3;\n window.SVGPathSeg.PATHSEG_LINETO_ABS = 4;\n window.SVGPathSeg.PATHSEG_LINETO_REL = 5;\n window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_ABS = 6;\n window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_REL = 7;\n window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_ABS = 8;\n window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_REL = 9;\n window.SVGPathSeg.PATHSEG_ARC_ABS = 10;\n window.SVGPathSeg.PATHSEG_ARC_REL = 11;\n window.SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_ABS = 12;\n window.SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_REL = 13;\n window.SVGPathSeg.PATHSEG_LINETO_VERTICAL_ABS = 14;\n window.SVGPathSeg.PATHSEG_LINETO_VERTICAL_REL = 15;\n window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_ABS = 16;\n window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_REL = 17;\n window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS = 18;\n window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL = 19; // Notify owning PathSegList on any changes so they can be synchronized back to the path element.\n\n window.SVGPathSeg.prototype._segmentChanged = function () {\n if (this._owningPathSegList) this._owningPathSegList.segmentChanged(this);\n };\n\n window.SVGPathSegClosePath = function (owningPathSegList) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_CLOSEPATH, \"z\", owningPathSegList);\n };\n\n window.SVGPathSegClosePath.prototype = Object.create(window.SVGPathSeg.prototype);\n\n window.SVGPathSegClosePath.prototype.toString = function () {\n return \"[object SVGPathSegClosePath]\";\n };\n\n window.SVGPathSegClosePath.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter;\n };\n\n window.SVGPathSegClosePath.prototype.clone = function () {\n return new window.SVGPathSegClosePath(undefined);\n };\n\n window.SVGPathSegMovetoAbs = function (owningPathSegList, x, y) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_MOVETO_ABS, \"M\", owningPathSegList);\n this._x = x;\n this._y = y;\n };\n\n window.SVGPathSegMovetoAbs.prototype = Object.create(window.SVGPathSeg.prototype);\n\n window.SVGPathSegMovetoAbs.prototype.toString = function () {\n return \"[object SVGPathSegMovetoAbs]\";\n };\n\n window.SVGPathSegMovetoAbs.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._x + \" \" + this._y;\n };\n\n window.SVGPathSegMovetoAbs.prototype.clone = function () {\n return new window.SVGPathSegMovetoAbs(undefined, this._x, this._y);\n };\n\n Object.defineProperty(window.SVGPathSegMovetoAbs.prototype, \"x\", {\n get: function get() {\n return this._x;\n },\n set: function set(x) {\n this._x = x;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegMovetoAbs.prototype, \"y\", {\n get: function get() {\n return this._y;\n },\n set: function set(y) {\n this._y = y;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n\n window.SVGPathSegMovetoRel = function (owningPathSegList, x, y) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_MOVETO_REL, \"m\", owningPathSegList);\n this._x = x;\n this._y = y;\n };\n\n window.SVGPathSegMovetoRel.prototype = Object.create(window.SVGPathSeg.prototype);\n\n window.SVGPathSegMovetoRel.prototype.toString = function () {\n return \"[object SVGPathSegMovetoRel]\";\n };\n\n window.SVGPathSegMovetoRel.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._x + \" \" + this._y;\n };\n\n window.SVGPathSegMovetoRel.prototype.clone = function () {\n return new window.SVGPathSegMovetoRel(undefined, this._x, this._y);\n };\n\n Object.defineProperty(window.SVGPathSegMovetoRel.prototype, \"x\", {\n get: function get() {\n return this._x;\n },\n set: function set(x) {\n this._x = x;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegMovetoRel.prototype, \"y\", {\n get: function get() {\n return this._y;\n },\n set: function set(y) {\n this._y = y;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n\n window.SVGPathSegLinetoAbs = function (owningPathSegList, x, y) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_LINETO_ABS, \"L\", owningPathSegList);\n this._x = x;\n this._y = y;\n };\n\n window.SVGPathSegLinetoAbs.prototype = Object.create(window.SVGPathSeg.prototype);\n\n window.SVGPathSegLinetoAbs.prototype.toString = function () {\n return \"[object SVGPathSegLinetoAbs]\";\n };\n\n window.SVGPathSegLinetoAbs.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._x + \" \" + this._y;\n };\n\n window.SVGPathSegLinetoAbs.prototype.clone = function () {\n return new window.SVGPathSegLinetoAbs(undefined, this._x, this._y);\n };\n\n Object.defineProperty(window.SVGPathSegLinetoAbs.prototype, \"x\", {\n get: function get() {\n return this._x;\n },\n set: function set(x) {\n this._x = x;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegLinetoAbs.prototype, \"y\", {\n get: function get() {\n return this._y;\n },\n set: function set(y) {\n this._y = y;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n\n window.SVGPathSegLinetoRel = function (owningPathSegList, x, y) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_LINETO_REL, \"l\", owningPathSegList);\n this._x = x;\n this._y = y;\n };\n\n window.SVGPathSegLinetoRel.prototype = Object.create(window.SVGPathSeg.prototype);\n\n window.SVGPathSegLinetoRel.prototype.toString = function () {\n return \"[object SVGPathSegLinetoRel]\";\n };\n\n window.SVGPathSegLinetoRel.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._x + \" \" + this._y;\n };\n\n window.SVGPathSegLinetoRel.prototype.clone = function () {\n return new window.SVGPathSegLinetoRel(undefined, this._x, this._y);\n };\n\n Object.defineProperty(window.SVGPathSegLinetoRel.prototype, \"x\", {\n get: function get() {\n return this._x;\n },\n set: function set(x) {\n this._x = x;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegLinetoRel.prototype, \"y\", {\n get: function get() {\n return this._y;\n },\n set: function set(y) {\n this._y = y;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n\n window.SVGPathSegCurvetoCubicAbs = function (owningPathSegList, x, y, x1, y1, x2, y2) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_ABS, \"C\", owningPathSegList);\n this._x = x;\n this._y = y;\n this._x1 = x1;\n this._y1 = y1;\n this._x2 = x2;\n this._y2 = y2;\n };\n\n window.SVGPathSegCurvetoCubicAbs.prototype = Object.create(window.SVGPathSeg.prototype);\n\n window.SVGPathSegCurvetoCubicAbs.prototype.toString = function () {\n return \"[object SVGPathSegCurvetoCubicAbs]\";\n };\n\n window.SVGPathSegCurvetoCubicAbs.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._x1 + \" \" + this._y1 + \" \" + this._x2 + \" \" + this._y2 + \" \" + this._x + \" \" + this._y;\n };\n\n window.SVGPathSegCurvetoCubicAbs.prototype.clone = function () {\n return new window.SVGPathSegCurvetoCubicAbs(undefined, this._x, this._y, this._x1, this._y1, this._x2, this._y2);\n };\n\n Object.defineProperty(window.SVGPathSegCurvetoCubicAbs.prototype, \"x\", {\n get: function get() {\n return this._x;\n },\n set: function set(x) {\n this._x = x;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegCurvetoCubicAbs.prototype, \"y\", {\n get: function get() {\n return this._y;\n },\n set: function set(y) {\n this._y = y;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegCurvetoCubicAbs.prototype, \"x1\", {\n get: function get() {\n return this._x1;\n },\n set: function set(x1) {\n this._x1 = x1;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegCurvetoCubicAbs.prototype, \"y1\", {\n get: function get() {\n return this._y1;\n },\n set: function set(y1) {\n this._y1 = y1;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegCurvetoCubicAbs.prototype, \"x2\", {\n get: function get() {\n return this._x2;\n },\n set: function set(x2) {\n this._x2 = x2;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegCurvetoCubicAbs.prototype, \"y2\", {\n get: function get() {\n return this._y2;\n },\n set: function set(y2) {\n this._y2 = y2;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n\n window.SVGPathSegCurvetoCubicRel = function (owningPathSegList, x, y, x1, y1, x2, y2) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_REL, \"c\", owningPathSegList);\n this._x = x;\n this._y = y;\n this._x1 = x1;\n this._y1 = y1;\n this._x2 = x2;\n this._y2 = y2;\n };\n\n window.SVGPathSegCurvetoCubicRel.prototype = Object.create(window.SVGPathSeg.prototype);\n\n window.SVGPathSegCurvetoCubicRel.prototype.toString = function () {\n return \"[object SVGPathSegCurvetoCubicRel]\";\n };\n\n window.SVGPathSegCurvetoCubicRel.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._x1 + \" \" + this._y1 + \" \" + this._x2 + \" \" + this._y2 + \" \" + this._x + \" \" + this._y;\n };\n\n window.SVGPathSegCurvetoCubicRel.prototype.clone = function () {\n return new window.SVGPathSegCurvetoCubicRel(undefined, this._x, this._y, this._x1, this._y1, this._x2, this._y2);\n };\n\n Object.defineProperty(window.SVGPathSegCurvetoCubicRel.prototype, \"x\", {\n get: function get() {\n return this._x;\n },\n set: function set(x) {\n this._x = x;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegCurvetoCubicRel.prototype, \"y\", {\n get: function get() {\n return this._y;\n },\n set: function set(y) {\n this._y = y;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegCurvetoCubicRel.prototype, \"x1\", {\n get: function get() {\n return this._x1;\n },\n set: function set(x1) {\n this._x1 = x1;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegCurvetoCubicRel.prototype, \"y1\", {\n get: function get() {\n return this._y1;\n },\n set: function set(y1) {\n this._y1 = y1;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegCurvetoCubicRel.prototype, \"x2\", {\n get: function get() {\n return this._x2;\n },\n set: function set(x2) {\n this._x2 = x2;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegCurvetoCubicRel.prototype, \"y2\", {\n get: function get() {\n return this._y2;\n },\n set: function set(y2) {\n this._y2 = y2;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n\n window.SVGPathSegCurvetoQuadraticAbs = function (owningPathSegList, x, y, x1, y1) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_ABS, \"Q\", owningPathSegList);\n this._x = x;\n this._y = y;\n this._x1 = x1;\n this._y1 = y1;\n };\n\n window.SVGPathSegCurvetoQuadraticAbs.prototype = Object.create(window.SVGPathSeg.prototype);\n\n window.SVGPathSegCurvetoQuadraticAbs.prototype.toString = function () {\n return \"[object SVGPathSegCurvetoQuadraticAbs]\";\n };\n\n window.SVGPathSegCurvetoQuadraticAbs.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._x1 + \" \" + this._y1 + \" \" + this._x + \" \" + this._y;\n };\n\n window.SVGPathSegCurvetoQuadraticAbs.prototype.clone = function () {\n return new window.SVGPathSegCurvetoQuadraticAbs(undefined, this._x, this._y, this._x1, this._y1);\n };\n\n Object.defineProperty(window.SVGPathSegCurvetoQuadraticAbs.prototype, \"x\", {\n get: function get() {\n return this._x;\n },\n set: function set(x) {\n this._x = x;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegCurvetoQuadraticAbs.prototype, \"y\", {\n get: function get() {\n return this._y;\n },\n set: function set(y) {\n this._y = y;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegCurvetoQuadraticAbs.prototype, \"x1\", {\n get: function get() {\n return this._x1;\n },\n set: function set(x1) {\n this._x1 = x1;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegCurvetoQuadraticAbs.prototype, \"y1\", {\n get: function get() {\n return this._y1;\n },\n set: function set(y1) {\n this._y1 = y1;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n\n window.SVGPathSegCurvetoQuadraticRel = function (owningPathSegList, x, y, x1, y1) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_REL, \"q\", owningPathSegList);\n this._x = x;\n this._y = y;\n this._x1 = x1;\n this._y1 = y1;\n };\n\n window.SVGPathSegCurvetoQuadraticRel.prototype = Object.create(window.SVGPathSeg.prototype);\n\n window.SVGPathSegCurvetoQuadraticRel.prototype.toString = function () {\n return \"[object SVGPathSegCurvetoQuadraticRel]\";\n };\n\n window.SVGPathSegCurvetoQuadraticRel.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._x1 + \" \" + this._y1 + \" \" + this._x + \" \" + this._y;\n };\n\n window.SVGPathSegCurvetoQuadraticRel.prototype.clone = function () {\n return new window.SVGPathSegCurvetoQuadraticRel(undefined, this._x, this._y, this._x1, this._y1);\n };\n\n Object.defineProperty(window.SVGPathSegCurvetoQuadraticRel.prototype, \"x\", {\n get: function get() {\n return this._x;\n },\n set: function set(x) {\n this._x = x;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegCurvetoQuadraticRel.prototype, \"y\", {\n get: function get() {\n return this._y;\n },\n set: function set(y) {\n this._y = y;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegCurvetoQuadraticRel.prototype, \"x1\", {\n get: function get() {\n return this._x1;\n },\n set: function set(x1) {\n this._x1 = x1;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegCurvetoQuadraticRel.prototype, \"y1\", {\n get: function get() {\n return this._y1;\n },\n set: function set(y1) {\n this._y1 = y1;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n\n window.SVGPathSegArcAbs = function (owningPathSegList, x, y, r1, r2, angle, largeArcFlag, sweepFlag) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_ARC_ABS, \"A\", owningPathSegList);\n this._x = x;\n this._y = y;\n this._r1 = r1;\n this._r2 = r2;\n this._angle = angle;\n this._largeArcFlag = largeArcFlag;\n this._sweepFlag = sweepFlag;\n };\n\n window.SVGPathSegArcAbs.prototype = Object.create(window.SVGPathSeg.prototype);\n\n window.SVGPathSegArcAbs.prototype.toString = function () {\n return \"[object SVGPathSegArcAbs]\";\n };\n\n window.SVGPathSegArcAbs.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._r1 + \" \" + this._r2 + \" \" + this._angle + \" \" + (this._largeArcFlag ? \"1\" : \"0\") + \" \" + (this._sweepFlag ? \"1\" : \"0\") + \" \" + this._x + \" \" + this._y;\n };\n\n window.SVGPathSegArcAbs.prototype.clone = function () {\n return new window.SVGPathSegArcAbs(undefined, this._x, this._y, this._r1, this._r2, this._angle, this._largeArcFlag, this._sweepFlag);\n };\n\n Object.defineProperty(window.SVGPathSegArcAbs.prototype, \"x\", {\n get: function get() {\n return this._x;\n },\n set: function set(x) {\n this._x = x;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegArcAbs.prototype, \"y\", {\n get: function get() {\n return this._y;\n },\n set: function set(y) {\n this._y = y;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegArcAbs.prototype, \"r1\", {\n get: function get() {\n return this._r1;\n },\n set: function set(r1) {\n this._r1 = r1;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegArcAbs.prototype, \"r2\", {\n get: function get() {\n return this._r2;\n },\n set: function set(r2) {\n this._r2 = r2;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegArcAbs.prototype, \"angle\", {\n get: function get() {\n return this._angle;\n },\n set: function set(angle) {\n this._angle = angle;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegArcAbs.prototype, \"largeArcFlag\", {\n get: function get() {\n return this._largeArcFlag;\n },\n set: function set(largeArcFlag) {\n this._largeArcFlag = largeArcFlag;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegArcAbs.prototype, \"sweepFlag\", {\n get: function get() {\n return this._sweepFlag;\n },\n set: function set(sweepFlag) {\n this._sweepFlag = sweepFlag;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n\n window.SVGPathSegArcRel = function (owningPathSegList, x, y, r1, r2, angle, largeArcFlag, sweepFlag) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_ARC_REL, \"a\", owningPathSegList);\n this._x = x;\n this._y = y;\n this._r1 = r1;\n this._r2 = r2;\n this._angle = angle;\n this._largeArcFlag = largeArcFlag;\n this._sweepFlag = sweepFlag;\n };\n\n window.SVGPathSegArcRel.prototype = Object.create(window.SVGPathSeg.prototype);\n\n window.SVGPathSegArcRel.prototype.toString = function () {\n return \"[object SVGPathSegArcRel]\";\n };\n\n window.SVGPathSegArcRel.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._r1 + \" \" + this._r2 + \" \" + this._angle + \" \" + (this._largeArcFlag ? \"1\" : \"0\") + \" \" + (this._sweepFlag ? \"1\" : \"0\") + \" \" + this._x + \" \" + this._y;\n };\n\n window.SVGPathSegArcRel.prototype.clone = function () {\n return new window.SVGPathSegArcRel(undefined, this._x, this._y, this._r1, this._r2, this._angle, this._largeArcFlag, this._sweepFlag);\n };\n\n Object.defineProperty(window.SVGPathSegArcRel.prototype, \"x\", {\n get: function get() {\n return this._x;\n },\n set: function set(x) {\n this._x = x;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegArcRel.prototype, \"y\", {\n get: function get() {\n return this._y;\n },\n set: function set(y) {\n this._y = y;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegArcRel.prototype, \"r1\", {\n get: function get() {\n return this._r1;\n },\n set: function set(r1) {\n this._r1 = r1;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegArcRel.prototype, \"r2\", {\n get: function get() {\n return this._r2;\n },\n set: function set(r2) {\n this._r2 = r2;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegArcRel.prototype, \"angle\", {\n get: function get() {\n return this._angle;\n },\n set: function set(angle) {\n this._angle = angle;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegArcRel.prototype, \"largeArcFlag\", {\n get: function get() {\n return this._largeArcFlag;\n },\n set: function set(largeArcFlag) {\n this._largeArcFlag = largeArcFlag;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegArcRel.prototype, \"sweepFlag\", {\n get: function get() {\n return this._sweepFlag;\n },\n set: function set(sweepFlag) {\n this._sweepFlag = sweepFlag;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n\n window.SVGPathSegLinetoHorizontalAbs = function (owningPathSegList, x) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_ABS, \"H\", owningPathSegList);\n this._x = x;\n };\n\n window.SVGPathSegLinetoHorizontalAbs.prototype = Object.create(window.SVGPathSeg.prototype);\n\n window.SVGPathSegLinetoHorizontalAbs.prototype.toString = function () {\n return \"[object SVGPathSegLinetoHorizontalAbs]\";\n };\n\n window.SVGPathSegLinetoHorizontalAbs.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._x;\n };\n\n window.SVGPathSegLinetoHorizontalAbs.prototype.clone = function () {\n return new window.SVGPathSegLinetoHorizontalAbs(undefined, this._x);\n };\n\n Object.defineProperty(window.SVGPathSegLinetoHorizontalAbs.prototype, \"x\", {\n get: function get() {\n return this._x;\n },\n set: function set(x) {\n this._x = x;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n\n window.SVGPathSegLinetoHorizontalRel = function (owningPathSegList, x) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_REL, \"h\", owningPathSegList);\n this._x = x;\n };\n\n window.SVGPathSegLinetoHorizontalRel.prototype = Object.create(window.SVGPathSeg.prototype);\n\n window.SVGPathSegLinetoHorizontalRel.prototype.toString = function () {\n return \"[object SVGPathSegLinetoHorizontalRel]\";\n };\n\n window.SVGPathSegLinetoHorizontalRel.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._x;\n };\n\n window.SVGPathSegLinetoHorizontalRel.prototype.clone = function () {\n return new window.SVGPathSegLinetoHorizontalRel(undefined, this._x);\n };\n\n Object.defineProperty(window.SVGPathSegLinetoHorizontalRel.prototype, \"x\", {\n get: function get() {\n return this._x;\n },\n set: function set(x) {\n this._x = x;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n\n window.SVGPathSegLinetoVerticalAbs = function (owningPathSegList, y) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_LINETO_VERTICAL_ABS, \"V\", owningPathSegList);\n this._y = y;\n };\n\n window.SVGPathSegLinetoVerticalAbs.prototype = Object.create(window.SVGPathSeg.prototype);\n\n window.SVGPathSegLinetoVerticalAbs.prototype.toString = function () {\n return \"[object SVGPathSegLinetoVerticalAbs]\";\n };\n\n window.SVGPathSegLinetoVerticalAbs.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._y;\n };\n\n window.SVGPathSegLinetoVerticalAbs.prototype.clone = function () {\n return new window.SVGPathSegLinetoVerticalAbs(undefined, this._y);\n };\n\n Object.defineProperty(window.SVGPathSegLinetoVerticalAbs.prototype, \"y\", {\n get: function get() {\n return this._y;\n },\n set: function set(y) {\n this._y = y;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n\n window.SVGPathSegLinetoVerticalRel = function (owningPathSegList, y) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_LINETO_VERTICAL_REL, \"v\", owningPathSegList);\n this._y = y;\n };\n\n window.SVGPathSegLinetoVerticalRel.prototype = Object.create(window.SVGPathSeg.prototype);\n\n window.SVGPathSegLinetoVerticalRel.prototype.toString = function () {\n return \"[object SVGPathSegLinetoVerticalRel]\";\n };\n\n window.SVGPathSegLinetoVerticalRel.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._y;\n };\n\n window.SVGPathSegLinetoVerticalRel.prototype.clone = function () {\n return new window.SVGPathSegLinetoVerticalRel(undefined, this._y);\n };\n\n Object.defineProperty(window.SVGPathSegLinetoVerticalRel.prototype, \"y\", {\n get: function get() {\n return this._y;\n },\n set: function set(y) {\n this._y = y;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n\n window.SVGPathSegCurvetoCubicSmoothAbs = function (owningPathSegList, x, y, x2, y2) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_ABS, \"S\", owningPathSegList);\n this._x = x;\n this._y = y;\n this._x2 = x2;\n this._y2 = y2;\n };\n\n window.SVGPathSegCurvetoCubicSmoothAbs.prototype = Object.create(window.SVGPathSeg.prototype);\n\n window.SVGPathSegCurvetoCubicSmoothAbs.prototype.toString = function () {\n return \"[object SVGPathSegCurvetoCubicSmoothAbs]\";\n };\n\n window.SVGPathSegCurvetoCubicSmoothAbs.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._x2 + \" \" + this._y2 + \" \" + this._x + \" \" + this._y;\n };\n\n window.SVGPathSegCurvetoCubicSmoothAbs.prototype.clone = function () {\n return new window.SVGPathSegCurvetoCubicSmoothAbs(undefined, this._x, this._y, this._x2, this._y2);\n };\n\n Object.defineProperty(window.SVGPathSegCurvetoCubicSmoothAbs.prototype, \"x\", {\n get: function get() {\n return this._x;\n },\n set: function set(x) {\n this._x = x;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegCurvetoCubicSmoothAbs.prototype, \"y\", {\n get: function get() {\n return this._y;\n },\n set: function set(y) {\n this._y = y;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegCurvetoCubicSmoothAbs.prototype, \"x2\", {\n get: function get() {\n return this._x2;\n },\n set: function set(x2) {\n this._x2 = x2;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegCurvetoCubicSmoothAbs.prototype, \"y2\", {\n get: function get() {\n return this._y2;\n },\n set: function set(y2) {\n this._y2 = y2;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n\n window.SVGPathSegCurvetoCubicSmoothRel = function (owningPathSegList, x, y, x2, y2) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_REL, \"s\", owningPathSegList);\n this._x = x;\n this._y = y;\n this._x2 = x2;\n this._y2 = y2;\n };\n\n window.SVGPathSegCurvetoCubicSmoothRel.prototype = Object.create(window.SVGPathSeg.prototype);\n\n window.SVGPathSegCurvetoCubicSmoothRel.prototype.toString = function () {\n return \"[object SVGPathSegCurvetoCubicSmoothRel]\";\n };\n\n window.SVGPathSegCurvetoCubicSmoothRel.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._x2 + \" \" + this._y2 + \" \" + this._x + \" \" + this._y;\n };\n\n window.SVGPathSegCurvetoCubicSmoothRel.prototype.clone = function () {\n return new window.SVGPathSegCurvetoCubicSmoothRel(undefined, this._x, this._y, this._x2, this._y2);\n };\n\n Object.defineProperty(window.SVGPathSegCurvetoCubicSmoothRel.prototype, \"x\", {\n get: function get() {\n return this._x;\n },\n set: function set(x) {\n this._x = x;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegCurvetoCubicSmoothRel.prototype, \"y\", {\n get: function get() {\n return this._y;\n },\n set: function set(y) {\n this._y = y;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegCurvetoCubicSmoothRel.prototype, \"x2\", {\n get: function get() {\n return this._x2;\n },\n set: function set(x2) {\n this._x2 = x2;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegCurvetoCubicSmoothRel.prototype, \"y2\", {\n get: function get() {\n return this._y2;\n },\n set: function set(y2) {\n this._y2 = y2;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n\n window.SVGPathSegCurvetoQuadraticSmoothAbs = function (owningPathSegList, x, y) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS, \"T\", owningPathSegList);\n this._x = x;\n this._y = y;\n };\n\n window.SVGPathSegCurvetoQuadraticSmoothAbs.prototype = Object.create(window.SVGPathSeg.prototype);\n\n window.SVGPathSegCurvetoQuadraticSmoothAbs.prototype.toString = function () {\n return \"[object SVGPathSegCurvetoQuadraticSmoothAbs]\";\n };\n\n window.SVGPathSegCurvetoQuadraticSmoothAbs.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._x + \" \" + this._y;\n };\n\n window.SVGPathSegCurvetoQuadraticSmoothAbs.prototype.clone = function () {\n return new window.SVGPathSegCurvetoQuadraticSmoothAbs(undefined, this._x, this._y);\n };\n\n Object.defineProperty(window.SVGPathSegCurvetoQuadraticSmoothAbs.prototype, \"x\", {\n get: function get() {\n return this._x;\n },\n set: function set(x) {\n this._x = x;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegCurvetoQuadraticSmoothAbs.prototype, \"y\", {\n get: function get() {\n return this._y;\n },\n set: function set(y) {\n this._y = y;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n\n window.SVGPathSegCurvetoQuadraticSmoothRel = function (owningPathSegList, x, y) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL, \"t\", owningPathSegList);\n this._x = x;\n this._y = y;\n };\n\n window.SVGPathSegCurvetoQuadraticSmoothRel.prototype = Object.create(window.SVGPathSeg.prototype);\n\n window.SVGPathSegCurvetoQuadraticSmoothRel.prototype.toString = function () {\n return \"[object SVGPathSegCurvetoQuadraticSmoothRel]\";\n };\n\n window.SVGPathSegCurvetoQuadraticSmoothRel.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._x + \" \" + this._y;\n };\n\n window.SVGPathSegCurvetoQuadraticSmoothRel.prototype.clone = function () {\n return new window.SVGPathSegCurvetoQuadraticSmoothRel(undefined, this._x, this._y);\n };\n\n Object.defineProperty(window.SVGPathSegCurvetoQuadraticSmoothRel.prototype, \"x\", {\n get: function get() {\n return this._x;\n },\n set: function set(x) {\n this._x = x;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegCurvetoQuadraticSmoothRel.prototype, \"y\", {\n get: function get() {\n return this._y;\n },\n set: function set(y) {\n this._y = y;\n\n this._segmentChanged();\n },\n enumerable: true\n }); // Add createSVGPathSeg* functions to window.SVGPathElement.\n // Spec: http://www.w3.org/TR/SVG11/single-page.html#paths-Interfacewindow.SVGPathElement.\n\n window.SVGPathElement.prototype.createSVGPathSegClosePath = function () {\n return new window.SVGPathSegClosePath(undefined);\n };\n\n window.SVGPathElement.prototype.createSVGPathSegMovetoAbs = function (x, y) {\n return new window.SVGPathSegMovetoAbs(undefined, x, y);\n };\n\n window.SVGPathElement.prototype.createSVGPathSegMovetoRel = function (x, y) {\n return new window.SVGPathSegMovetoRel(undefined, x, y);\n };\n\n window.SVGPathElement.prototype.createSVGPathSegLinetoAbs = function (x, y) {\n return new window.SVGPathSegLinetoAbs(undefined, x, y);\n };\n\n window.SVGPathElement.prototype.createSVGPathSegLinetoRel = function (x, y) {\n return new window.SVGPathSegLinetoRel(undefined, x, y);\n };\n\n window.SVGPathElement.prototype.createSVGPathSegCurvetoCubicAbs = function (x, y, x1, y1, x2, y2) {\n return new window.SVGPathSegCurvetoCubicAbs(undefined, x, y, x1, y1, x2, y2);\n };\n\n window.SVGPathElement.prototype.createSVGPathSegCurvetoCubicRel = function (x, y, x1, y1, x2, y2) {\n return new window.SVGPathSegCurvetoCubicRel(undefined, x, y, x1, y1, x2, y2);\n };\n\n window.SVGPathElement.prototype.createSVGPathSegCurvetoQuadraticAbs = function (x, y, x1, y1) {\n return new window.SVGPathSegCurvetoQuadraticAbs(undefined, x, y, x1, y1);\n };\n\n window.SVGPathElement.prototype.createSVGPathSegCurvetoQuadraticRel = function (x, y, x1, y1) {\n return new window.SVGPathSegCurvetoQuadraticRel(undefined, x, y, x1, y1);\n };\n\n window.SVGPathElement.prototype.createSVGPathSegArcAbs = function (x, y, r1, r2, angle, largeArcFlag, sweepFlag) {\n return new window.SVGPathSegArcAbs(undefined, x, y, r1, r2, angle, largeArcFlag, sweepFlag);\n };\n\n window.SVGPathElement.prototype.createSVGPathSegArcRel = function (x, y, r1, r2, angle, largeArcFlag, sweepFlag) {\n return new window.SVGPathSegArcRel(undefined, x, y, r1, r2, angle, largeArcFlag, sweepFlag);\n };\n\n window.SVGPathElement.prototype.createSVGPathSegLinetoHorizontalAbs = function (x) {\n return new window.SVGPathSegLinetoHorizontalAbs(undefined, x);\n };\n\n window.SVGPathElement.prototype.createSVGPathSegLinetoHorizontalRel = function (x) {\n return new window.SVGPathSegLinetoHorizontalRel(undefined, x);\n };\n\n window.SVGPathElement.prototype.createSVGPathSegLinetoVerticalAbs = function (y) {\n return new window.SVGPathSegLinetoVerticalAbs(undefined, y);\n };\n\n window.SVGPathElement.prototype.createSVGPathSegLinetoVerticalRel = function (y) {\n return new window.SVGPathSegLinetoVerticalRel(undefined, y);\n };\n\n window.SVGPathElement.prototype.createSVGPathSegCurvetoCubicSmoothAbs = function (x, y, x2, y2) {\n return new window.SVGPathSegCurvetoCubicSmoothAbs(undefined, x, y, x2, y2);\n };\n\n window.SVGPathElement.prototype.createSVGPathSegCurvetoCubicSmoothRel = function (x, y, x2, y2) {\n return new window.SVGPathSegCurvetoCubicSmoothRel(undefined, x, y, x2, y2);\n };\n\n window.SVGPathElement.prototype.createSVGPathSegCurvetoQuadraticSmoothAbs = function (x, y) {\n return new window.SVGPathSegCurvetoQuadraticSmoothAbs(undefined, x, y);\n };\n\n window.SVGPathElement.prototype.createSVGPathSegCurvetoQuadraticSmoothRel = function (x, y) {\n return new window.SVGPathSegCurvetoQuadraticSmoothRel(undefined, x, y);\n };\n\n if (!(\"getPathSegAtLength\" in window.SVGPathElement.prototype)) {\n // Add getPathSegAtLength to SVGPathElement.\n // Spec: https://www.w3.org/TR/SVG11/single-page.html#paths-__svg__SVGPathElement__getPathSegAtLength\n // This polyfill requires SVGPathElement.getTotalLength to implement the distance-along-a-path algorithm.\n window.SVGPathElement.prototype.getPathSegAtLength = function (distance) {\n if (distance === undefined || !isFinite(distance)) throw \"Invalid arguments.\";\n var measurementElement = document.createElementNS(\"http://www.w3.org/2000/svg\", \"path\");\n measurementElement.setAttribute(\"d\", this.getAttribute(\"d\"));\n var lastPathSegment = measurementElement.pathSegList.numberOfItems - 1; // If the path is empty, return 0.\n\n if (lastPathSegment <= 0) return 0;\n\n do {\n measurementElement.pathSegList.removeItem(lastPathSegment);\n if (distance > measurementElement.getTotalLength()) break;\n lastPathSegment--;\n } while (lastPathSegment > 0);\n\n return lastPathSegment;\n };\n }\n }\n\n if (!(\"SVGPathSegList\" in window)) {\n // Spec: http://www.w3.org/TR/SVG11/single-page.html#paths-InterfaceSVGPathSegList\n window.SVGPathSegList = function (pathElement) {\n this._pathElement = pathElement;\n this._list = this._parsePath(this._pathElement.getAttribute(\"d\")); // Use a MutationObserver to catch changes to the path's \"d\" attribute.\n\n this._mutationObserverConfig = {\n \"attributes\": true,\n \"attributeFilter\": [\"d\"]\n };\n this._pathElementMutationObserver = new MutationObserver(this._updateListFromPathMutations.bind(this));\n\n this._pathElementMutationObserver.observe(this._pathElement, this._mutationObserverConfig);\n };\n\n window.SVGPathSegList.prototype.classname = \"SVGPathSegList\";\n Object.defineProperty(window.SVGPathSegList.prototype, \"numberOfItems\", {\n get: function get() {\n this._checkPathSynchronizedToList();\n\n return this._list.length;\n },\n enumerable: true\n }); // Add the pathSegList accessors to window.SVGPathElement.\n // Spec: http://www.w3.org/TR/SVG11/single-page.html#paths-InterfaceSVGAnimatedPathData\n\n Object.defineProperty(window.SVGPathElement.prototype, \"pathSegList\", {\n get: function get() {\n if (!this._pathSegList) this._pathSegList = new window.SVGPathSegList(this);\n return this._pathSegList;\n },\n enumerable: true\n }); // FIXME: The following are not implemented and simply return window.SVGPathElement.pathSegList.\n\n Object.defineProperty(window.SVGPathElement.prototype, \"normalizedPathSegList\", {\n get: function get() {\n return this.pathSegList;\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathElement.prototype, \"animatedPathSegList\", {\n get: function get() {\n return this.pathSegList;\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathElement.prototype, \"animatedNormalizedPathSegList\", {\n get: function get() {\n return this.pathSegList;\n },\n enumerable: true\n }); // Process any pending mutations to the path element and update the list as needed.\n // This should be the first call of all public functions and is needed because\n // MutationObservers are not synchronous so we can have pending asynchronous mutations.\n\n window.SVGPathSegList.prototype._checkPathSynchronizedToList = function () {\n this._updateListFromPathMutations(this._pathElementMutationObserver.takeRecords());\n };\n\n window.SVGPathSegList.prototype._updateListFromPathMutations = function (mutationRecords) {\n if (!this._pathElement) return;\n var hasPathMutations = false;\n mutationRecords.forEach(function (record) {\n if (record.attributeName == \"d\") hasPathMutations = true;\n });\n if (hasPathMutations) this._list = this._parsePath(this._pathElement.getAttribute(\"d\"));\n }; // Serialize the list and update the path's 'd' attribute.\n\n\n window.SVGPathSegList.prototype._writeListToPath = function () {\n this._pathElementMutationObserver.disconnect();\n\n this._pathElement.setAttribute(\"d\", window.SVGPathSegList._pathSegArrayAsString(this._list));\n\n this._pathElementMutationObserver.observe(this._pathElement, this._mutationObserverConfig);\n }; // When a path segment changes the list needs to be synchronized back to the path element.\n\n\n window.SVGPathSegList.prototype.segmentChanged = function (pathSeg) {\n this._writeListToPath();\n };\n\n window.SVGPathSegList.prototype.clear = function () {\n this._checkPathSynchronizedToList();\n\n this._list.forEach(function (pathSeg) {\n pathSeg._owningPathSegList = null;\n });\n\n this._list = [];\n\n this._writeListToPath();\n };\n\n window.SVGPathSegList.prototype.initialize = function (newItem) {\n this._checkPathSynchronizedToList();\n\n this._list = [newItem];\n newItem._owningPathSegList = this;\n\n this._writeListToPath();\n\n return newItem;\n };\n\n window.SVGPathSegList.prototype._checkValidIndex = function (index) {\n if (isNaN(index) || index < 0 || index >= this.numberOfItems) throw \"INDEX_SIZE_ERR\";\n };\n\n window.SVGPathSegList.prototype.getItem = function (index) {\n this._checkPathSynchronizedToList();\n\n this._checkValidIndex(index);\n\n return this._list[index];\n };\n\n window.SVGPathSegList.prototype.insertItemBefore = function (newItem, index) {\n this._checkPathSynchronizedToList(); // Spec: If the index is greater than or equal to numberOfItems, then the new item is appended to the end of the list.\n\n\n if (index > this.numberOfItems) index = this.numberOfItems;\n\n if (newItem._owningPathSegList) {\n // SVG2 spec says to make a copy.\n newItem = newItem.clone();\n }\n\n this._list.splice(index, 0, newItem);\n\n newItem._owningPathSegList = this;\n\n this._writeListToPath();\n\n return newItem;\n };\n\n window.SVGPathSegList.prototype.replaceItem = function (newItem, index) {\n this._checkPathSynchronizedToList();\n\n if (newItem._owningPathSegList) {\n // SVG2 spec says to make a copy.\n newItem = newItem.clone();\n }\n\n this._checkValidIndex(index);\n\n this._list[index] = newItem;\n newItem._owningPathSegList = this;\n\n this._writeListToPath();\n\n return newItem;\n };\n\n window.SVGPathSegList.prototype.removeItem = function (index) {\n this._checkPathSynchronizedToList();\n\n this._checkValidIndex(index);\n\n var item = this._list[index];\n\n this._list.splice(index, 1);\n\n this._writeListToPath();\n\n return item;\n };\n\n window.SVGPathSegList.prototype.appendItem = function (newItem) {\n this._checkPathSynchronizedToList();\n\n if (newItem._owningPathSegList) {\n // SVG2 spec says to make a copy.\n newItem = newItem.clone();\n }\n\n this._list.push(newItem);\n\n newItem._owningPathSegList = this; // TODO: Optimize this to just append to the existing attribute.\n\n this._writeListToPath();\n\n return newItem;\n };\n\n window.SVGPathSegList._pathSegArrayAsString = function (pathSegArray) {\n var string = \"\";\n var first = true;\n pathSegArray.forEach(function (pathSeg) {\n if (first) {\n first = false;\n string += pathSeg._asPathString();\n } else {\n string += \" \" + pathSeg._asPathString();\n }\n });\n return string;\n }; // This closely follows SVGPathParser::parsePath from Source/core/svg/SVGPathParser.cpp.\n\n\n window.SVGPathSegList.prototype._parsePath = function (string) {\n if (!string || string.length == 0) return [];\n var owningPathSegList = this;\n\n var Builder = function Builder() {\n this.pathSegList = [];\n };\n\n Builder.prototype.appendSegment = function (pathSeg) {\n this.pathSegList.push(pathSeg);\n };\n\n var Source = function Source(string) {\n this._string = string;\n this._currentIndex = 0;\n this._endIndex = this._string.length;\n this._previousCommand = window.SVGPathSeg.PATHSEG_UNKNOWN;\n\n this._skipOptionalSpaces();\n };\n\n Source.prototype._isCurrentSpace = function () {\n var character = this._string[this._currentIndex];\n return character <= \" \" && (character == \" \" || character == \"\\n\" || character == \"\\t\" || character == \"\\r\" || character == \"\\f\");\n };\n\n Source.prototype._skipOptionalSpaces = function () {\n while (this._currentIndex < this._endIndex && this._isCurrentSpace()) {\n this._currentIndex++;\n }\n\n return this._currentIndex < this._endIndex;\n };\n\n Source.prototype._skipOptionalSpacesOrDelimiter = function () {\n if (this._currentIndex < this._endIndex && !this._isCurrentSpace() && this._string.charAt(this._currentIndex) != \",\") return false;\n\n if (this._skipOptionalSpaces()) {\n if (this._currentIndex < this._endIndex && this._string.charAt(this._currentIndex) == \",\") {\n this._currentIndex++;\n\n this._skipOptionalSpaces();\n }\n }\n\n return this._currentIndex < this._endIndex;\n };\n\n Source.prototype.hasMoreData = function () {\n return this._currentIndex < this._endIndex;\n };\n\n Source.prototype.peekSegmentType = function () {\n var lookahead = this._string[this._currentIndex];\n return this._pathSegTypeFromChar(lookahead);\n };\n\n Source.prototype._pathSegTypeFromChar = function (lookahead) {\n switch (lookahead) {\n case \"Z\":\n case \"z\":\n return window.SVGPathSeg.PATHSEG_CLOSEPATH;\n\n case \"M\":\n return window.SVGPathSeg.PATHSEG_MOVETO_ABS;\n\n case \"m\":\n return window.SVGPathSeg.PATHSEG_MOVETO_REL;\n\n case \"L\":\n return window.SVGPathSeg.PATHSEG_LINETO_ABS;\n\n case \"l\":\n return window.SVGPathSeg.PATHSEG_LINETO_REL;\n\n case \"C\":\n return window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_ABS;\n\n case \"c\":\n return window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_REL;\n\n case \"Q\":\n return window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_ABS;\n\n case \"q\":\n return window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_REL;\n\n case \"A\":\n return window.SVGPathSeg.PATHSEG_ARC_ABS;\n\n case \"a\":\n return window.SVGPathSeg.PATHSEG_ARC_REL;\n\n case \"H\":\n return window.SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_ABS;\n\n case \"h\":\n return window.SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_REL;\n\n case \"V\":\n return window.SVGPathSeg.PATHSEG_LINETO_VERTICAL_ABS;\n\n case \"v\":\n return window.SVGPathSeg.PATHSEG_LINETO_VERTICAL_REL;\n\n case \"S\":\n return window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_ABS;\n\n case \"s\":\n return window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_REL;\n\n case \"T\":\n return window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS;\n\n case \"t\":\n return window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL;\n\n default:\n return window.SVGPathSeg.PATHSEG_UNKNOWN;\n }\n };\n\n Source.prototype._nextCommandHelper = function (lookahead, previousCommand) {\n // Check for remaining coordinates in the current command.\n if ((lookahead == \"+\" || lookahead == \"-\" || lookahead == \".\" || lookahead >= \"0\" && lookahead <= \"9\") && previousCommand != window.SVGPathSeg.PATHSEG_CLOSEPATH) {\n if (previousCommand == window.SVGPathSeg.PATHSEG_MOVETO_ABS) return window.SVGPathSeg.PATHSEG_LINETO_ABS;\n if (previousCommand == window.SVGPathSeg.PATHSEG_MOVETO_REL) return window.SVGPathSeg.PATHSEG_LINETO_REL;\n return previousCommand;\n }\n\n return window.SVGPathSeg.PATHSEG_UNKNOWN;\n };\n\n Source.prototype.initialCommandIsMoveTo = function () {\n // If the path is empty it is still valid, so return true.\n if (!this.hasMoreData()) return true;\n var command = this.peekSegmentType(); // Path must start with moveTo.\n\n return command == window.SVGPathSeg.PATHSEG_MOVETO_ABS || command == window.SVGPathSeg.PATHSEG_MOVETO_REL;\n }; // Parse a number from an SVG path. This very closely follows genericParseNumber(...) from Source/core/svg/SVGParserUtilities.cpp.\n // Spec: http://www.w3.org/TR/SVG11/single-page.html#paths-PathDataBNF\n\n\n Source.prototype._parseNumber = function () {\n var exponent = 0;\n var integer = 0;\n var frac = 1;\n var decimal = 0;\n var sign = 1;\n var expsign = 1;\n var startIndex = this._currentIndex;\n\n this._skipOptionalSpaces(); // Read the sign.\n\n\n if (this._currentIndex < this._endIndex && this._string.charAt(this._currentIndex) == \"+\") this._currentIndex++;else if (this._currentIndex < this._endIndex && this._string.charAt(this._currentIndex) == \"-\") {\n this._currentIndex++;\n sign = -1;\n }\n if (this._currentIndex == this._endIndex || (this._string.charAt(this._currentIndex) < \"0\" || this._string.charAt(this._currentIndex) > \"9\") && this._string.charAt(this._currentIndex) != \".\") // The first character of a number must be one of [0-9+-.].\n return undefined; // Read the integer part, build right-to-left.\n\n var startIntPartIndex = this._currentIndex;\n\n while (this._currentIndex < this._endIndex && this._string.charAt(this._currentIndex) >= \"0\" && this._string.charAt(this._currentIndex) <= \"9\") {\n this._currentIndex++;\n } // Advance to first non-digit.\n\n\n if (this._currentIndex != startIntPartIndex) {\n var scanIntPartIndex = this._currentIndex - 1;\n var multiplier = 1;\n\n while (scanIntPartIndex >= startIntPartIndex) {\n integer += multiplier * (this._string.charAt(scanIntPartIndex--) - \"0\");\n multiplier *= 10;\n }\n } // Read the decimals.\n\n\n if (this._currentIndex < this._endIndex && this._string.charAt(this._currentIndex) == \".\") {\n this._currentIndex++; // There must be a least one digit following the .\n\n if (this._currentIndex >= this._endIndex || this._string.charAt(this._currentIndex) < \"0\" || this._string.charAt(this._currentIndex) > \"9\") return undefined;\n\n while (this._currentIndex < this._endIndex && this._string.charAt(this._currentIndex) >= \"0\" && this._string.charAt(this._currentIndex) <= \"9\") {\n frac *= 10;\n decimal += (this._string.charAt(this._currentIndex) - \"0\") / frac;\n this._currentIndex += 1;\n }\n } // Read the exponent part.\n\n\n if (this._currentIndex != startIndex && this._currentIndex + 1 < this._endIndex && (this._string.charAt(this._currentIndex) == \"e\" || this._string.charAt(this._currentIndex) == \"E\") && this._string.charAt(this._currentIndex + 1) != \"x\" && this._string.charAt(this._currentIndex + 1) != \"m\") {\n this._currentIndex++; // Read the sign of the exponent.\n\n if (this._string.charAt(this._currentIndex) == \"+\") {\n this._currentIndex++;\n } else if (this._string.charAt(this._currentIndex) == \"-\") {\n this._currentIndex++;\n expsign = -1;\n } // There must be an exponent.\n\n\n if (this._currentIndex >= this._endIndex || this._string.charAt(this._currentIndex) < \"0\" || this._string.charAt(this._currentIndex) > \"9\") return undefined;\n\n while (this._currentIndex < this._endIndex && this._string.charAt(this._currentIndex) >= \"0\" && this._string.charAt(this._currentIndex) <= \"9\") {\n exponent *= 10;\n exponent += this._string.charAt(this._currentIndex) - \"0\";\n this._currentIndex++;\n }\n }\n\n var number = integer + decimal;\n number *= sign;\n if (exponent) number *= Math.pow(10, expsign * exponent);\n if (startIndex == this._currentIndex) return undefined;\n\n this._skipOptionalSpacesOrDelimiter();\n\n return number;\n };\n\n Source.prototype._parseArcFlag = function () {\n if (this._currentIndex >= this._endIndex) return undefined;\n var flag = false;\n\n var flagChar = this._string.charAt(this._currentIndex++);\n\n if (flagChar == \"0\") flag = false;else if (flagChar == \"1\") flag = true;else return undefined;\n\n this._skipOptionalSpacesOrDelimiter();\n\n return flag;\n };\n\n Source.prototype.parseSegment = function () {\n var lookahead = this._string[this._currentIndex];\n\n var command = this._pathSegTypeFromChar(lookahead);\n\n if (command == window.SVGPathSeg.PATHSEG_UNKNOWN) {\n // Possibly an implicit command. Not allowed if this is the first command.\n if (this._previousCommand == window.SVGPathSeg.PATHSEG_UNKNOWN) return null;\n command = this._nextCommandHelper(lookahead, this._previousCommand);\n if (command == window.SVGPathSeg.PATHSEG_UNKNOWN) return null;\n } else {\n this._currentIndex++;\n }\n\n this._previousCommand = command;\n\n switch (command) {\n case window.SVGPathSeg.PATHSEG_MOVETO_REL:\n return new window.SVGPathSegMovetoRel(owningPathSegList, this._parseNumber(), this._parseNumber());\n\n case window.SVGPathSeg.PATHSEG_MOVETO_ABS:\n return new window.SVGPathSegMovetoAbs(owningPathSegList, this._parseNumber(), this._parseNumber());\n\n case window.SVGPathSeg.PATHSEG_LINETO_REL:\n return new window.SVGPathSegLinetoRel(owningPathSegList, this._parseNumber(), this._parseNumber());\n\n case window.SVGPathSeg.PATHSEG_LINETO_ABS:\n return new window.SVGPathSegLinetoAbs(owningPathSegList, this._parseNumber(), this._parseNumber());\n\n case window.SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_REL:\n return new window.SVGPathSegLinetoHorizontalRel(owningPathSegList, this._parseNumber());\n\n case window.SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_ABS:\n return new window.SVGPathSegLinetoHorizontalAbs(owningPathSegList, this._parseNumber());\n\n case window.SVGPathSeg.PATHSEG_LINETO_VERTICAL_REL:\n return new window.SVGPathSegLinetoVerticalRel(owningPathSegList, this._parseNumber());\n\n case window.SVGPathSeg.PATHSEG_LINETO_VERTICAL_ABS:\n return new window.SVGPathSegLinetoVerticalAbs(owningPathSegList, this._parseNumber());\n\n case window.SVGPathSeg.PATHSEG_CLOSEPATH:\n this._skipOptionalSpaces();\n\n return new window.SVGPathSegClosePath(owningPathSegList);\n\n case window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_REL:\n var points = {\n x1: this._parseNumber(),\n y1: this._parseNumber(),\n x2: this._parseNumber(),\n y2: this._parseNumber(),\n x: this._parseNumber(),\n y: this._parseNumber()\n };\n return new window.SVGPathSegCurvetoCubicRel(owningPathSegList, points.x, points.y, points.x1, points.y1, points.x2, points.y2);\n\n case window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_ABS:\n var points = {\n x1: this._parseNumber(),\n y1: this._parseNumber(),\n x2: this._parseNumber(),\n y2: this._parseNumber(),\n x: this._parseNumber(),\n y: this._parseNumber()\n };\n return new window.SVGPathSegCurvetoCubicAbs(owningPathSegList, points.x, points.y, points.x1, points.y1, points.x2, points.y2);\n\n case window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_REL:\n var points = {\n x2: this._parseNumber(),\n y2: this._parseNumber(),\n x: this._parseNumber(),\n y: this._parseNumber()\n };\n return new window.SVGPathSegCurvetoCubicSmoothRel(owningPathSegList, points.x, points.y, points.x2, points.y2);\n\n case window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_ABS:\n var points = {\n x2: this._parseNumber(),\n y2: this._parseNumber(),\n x: this._parseNumber(),\n y: this._parseNumber()\n };\n return new window.SVGPathSegCurvetoCubicSmoothAbs(owningPathSegList, points.x, points.y, points.x2, points.y2);\n\n case window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_REL:\n var points = {\n x1: this._parseNumber(),\n y1: this._parseNumber(),\n x: this._parseNumber(),\n y: this._parseNumber()\n };\n return new window.SVGPathSegCurvetoQuadraticRel(owningPathSegList, points.x, points.y, points.x1, points.y1);\n\n case window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_ABS:\n var points = {\n x1: this._parseNumber(),\n y1: this._parseNumber(),\n x: this._parseNumber(),\n y: this._parseNumber()\n };\n return new window.SVGPathSegCurvetoQuadraticAbs(owningPathSegList, points.x, points.y, points.x1, points.y1);\n\n case window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL:\n return new window.SVGPathSegCurvetoQuadraticSmoothRel(owningPathSegList, this._parseNumber(), this._parseNumber());\n\n case window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS:\n return new window.SVGPathSegCurvetoQuadraticSmoothAbs(owningPathSegList, this._parseNumber(), this._parseNumber());\n\n case window.SVGPathSeg.PATHSEG_ARC_REL:\n var points = {\n x1: this._parseNumber(),\n y1: this._parseNumber(),\n arcAngle: this._parseNumber(),\n arcLarge: this._parseArcFlag(),\n arcSweep: this._parseArcFlag(),\n x: this._parseNumber(),\n y: this._parseNumber()\n };\n return new window.SVGPathSegArcRel(owningPathSegList, points.x, points.y, points.x1, points.y1, points.arcAngle, points.arcLarge, points.arcSweep);\n\n case window.SVGPathSeg.PATHSEG_ARC_ABS:\n var points = {\n x1: this._parseNumber(),\n y1: this._parseNumber(),\n arcAngle: this._parseNumber(),\n arcLarge: this._parseArcFlag(),\n arcSweep: this._parseArcFlag(),\n x: this._parseNumber(),\n y: this._parseNumber()\n };\n return new window.SVGPathSegArcAbs(owningPathSegList, points.x, points.y, points.x1, points.y1, points.arcAngle, points.arcLarge, points.arcSweep);\n\n default:\n throw \"Unknown path seg type.\";\n }\n };\n\n var builder = new Builder();\n var source = new Source(string);\n if (!source.initialCommandIsMoveTo()) return [];\n\n while (source.hasMoreData()) {\n var pathSeg = source.parseSegment();\n if (!pathSeg) return [];\n builder.appendSegment(pathSeg);\n }\n\n return builder.pathSegList;\n };\n }\n })(); // String.padEnd polyfill for IE11\n //\n // https://github.com/uxitten/polyfill/blob/master/string.polyfill.js\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/padEnd\n\n\n if (!String.prototype.padEnd) {\n String.prototype.padEnd = function padEnd(targetLength, padString) {\n targetLength = targetLength >> 0; //floor if number or convert non-number to 0;\n\n padString = String(typeof padString !== 'undefined' ? padString : ' ');\n\n if (this.length > targetLength) {\n return String(this);\n } else {\n targetLength = targetLength - this.length;\n\n if (targetLength > padString.length) {\n padString += padString.repeat(targetLength / padString.length); //append to original to ensure we are longer than needed\n }\n\n return String(this) + padString.slice(0, targetLength);\n }\n };\n }\n /* jshint ignore:end */\n\n Chart.prototype.axis = function () {};\n\n Chart.prototype.axis.labels = function (labels) {\n var $$ = this.internal;\n\n if (arguments.length) {\n Object.keys(labels).forEach(function (axisId) {\n $$.axis.setLabelText(axisId, labels[axisId]);\n });\n $$.axis.updateLabels();\n } // TODO: return some values?\n\n };\n\n Chart.prototype.axis.max = function (max) {\n var $$ = this.internal,\n config = $$.config;\n\n if (arguments.length) {\n if (_typeof(max) === 'object') {\n if (isValue(max.x)) {\n config.axis_x_max = max.x;\n }\n\n if (isValue(max.y)) {\n config.axis_y_max = max.y;\n }\n\n if (isValue(max.y2)) {\n config.axis_y2_max = max.y2;\n }\n } else {\n config.axis_y_max = config.axis_y2_max = max;\n }\n\n $$.redraw({\n withUpdateOrgXDomain: true,\n withUpdateXDomain: true\n });\n } else {\n return {\n x: config.axis_x_max,\n y: config.axis_y_max,\n y2: config.axis_y2_max\n };\n }\n };\n\n Chart.prototype.axis.min = function (min) {\n var $$ = this.internal,\n config = $$.config;\n\n if (arguments.length) {\n if (_typeof(min) === 'object') {\n if (isValue(min.x)) {\n config.axis_x_min = min.x;\n }\n\n if (isValue(min.y)) {\n config.axis_y_min = min.y;\n }\n\n if (isValue(min.y2)) {\n config.axis_y2_min = min.y2;\n }\n } else {\n config.axis_y_min = config.axis_y2_min = min;\n }\n\n $$.redraw({\n withUpdateOrgXDomain: true,\n withUpdateXDomain: true\n });\n } else {\n return {\n x: config.axis_x_min,\n y: config.axis_y_min,\n y2: config.axis_y2_min\n };\n }\n };\n\n Chart.prototype.axis.range = function (range) {\n if (arguments.length) {\n if (isDefined(range.max)) {\n this.axis.max(range.max);\n }\n\n if (isDefined(range.min)) {\n this.axis.min(range.min);\n }\n } else {\n return {\n max: this.axis.max(),\n min: this.axis.min()\n };\n }\n };\n\n Chart.prototype.category = function (i, category) {\n var $$ = this.internal,\n config = $$.config;\n\n if (arguments.length > 1) {\n config.axis_x_categories[i] = category;\n $$.redraw();\n }\n\n return config.axis_x_categories[i];\n };\n\n Chart.prototype.categories = function (categories) {\n var $$ = this.internal,\n config = $$.config;\n\n if (!arguments.length) {\n return config.axis_x_categories;\n }\n\n config.axis_x_categories = categories;\n $$.redraw();\n return config.axis_x_categories;\n };\n\n Chart.prototype.resize = function (size) {\n var $$ = this.internal,\n config = $$.config;\n config.size_width = size ? size.width : null;\n config.size_height = size ? size.height : null;\n this.flush();\n };\n\n Chart.prototype.flush = function () {\n var $$ = this.internal;\n $$.updateAndRedraw({\n withLegend: true,\n withTransition: false,\n withTransitionForTransform: false\n });\n };\n\n Chart.prototype.destroy = function () {\n var $$ = this.internal;\n window.clearInterval($$.intervalForObserveInserted);\n\n if ($$.resizeTimeout !== undefined) {\n window.clearTimeout($$.resizeTimeout);\n }\n\n if (window.detachEvent) {\n window.detachEvent('onresize', $$.resizeIfElementDisplayed);\n } else if (window.removeEventListener) {\n window.removeEventListener('resize', $$.resizeIfElementDisplayed);\n } else {\n var wrapper = window.onresize; // check if no one else removed our wrapper and remove our resizeFunction from it\n\n if (wrapper && wrapper.add && wrapper.remove) {\n wrapper.remove($$.resizeFunction);\n }\n } // Removes the inner resize functions\n\n\n $$.resizeFunction.remove(); // Unbinds from the window focus event\n\n $$.unbindWindowFocus();\n $$.selectChart.classed('c3', false).html(\"\"); // MEMO: this is needed because the reference of some elements will not be released, then memory leak will happen.\n\n Object.keys($$).forEach(function (key) {\n $$[key] = null;\n });\n return null;\n };\n\n Chart.prototype.color = function (id) {\n var $$ = this.internal;\n return $$.color(id); // more patterns\n };\n\n Chart.prototype.data = function (targetIds) {\n var targets = this.internal.data.targets;\n return typeof targetIds === 'undefined' ? targets : targets.filter(function (t) {\n return [].concat(targetIds).indexOf(t.id) >= 0;\n });\n };\n\n Chart.prototype.data.shown = function (targetIds) {\n return this.internal.filterTargetsToShow(this.data(targetIds));\n };\n\n Chart.prototype.data.values = function (targetId) {\n var targets,\n values = null;\n\n if (targetId) {\n targets = this.data(targetId);\n values = targets[0] ? targets[0].values.map(function (d) {\n return d.value;\n }) : null;\n }\n\n return values;\n };\n\n Chart.prototype.data.names = function (names) {\n this.internal.clearLegendItemTextBoxCache();\n return this.internal.updateDataAttributes('names', names);\n };\n\n Chart.prototype.data.colors = function (colors) {\n return this.internal.updateDataAttributes('colors', colors);\n };\n\n Chart.prototype.data.axes = function (axes) {\n return this.internal.updateDataAttributes('axes', axes);\n };\n\n Chart.prototype.flow = function (args) {\n var $$ = this.internal,\n targets,\n data,\n notfoundIds = [],\n orgDataCount = $$.getMaxDataCount(),\n dataCount,\n domain,\n baseTarget,\n baseValue,\n length = 0,\n tail = 0,\n diff,\n to;\n\n if (args.json) {\n data = $$.convertJsonToData(args.json, args.keys);\n } else if (args.rows) {\n data = $$.convertRowsToData(args.rows);\n } else if (args.columns) {\n data = $$.convertColumnsToData(args.columns);\n } else {\n return;\n }\n\n targets = $$.convertDataToTargets(data, true); // Update/Add data\n\n $$.data.targets.forEach(function (t) {\n var found = false,\n i,\n j;\n\n for (i = 0; i < targets.length; i++) {\n if (t.id === targets[i].id) {\n found = true;\n\n if (t.values[t.values.length - 1]) {\n tail = t.values[t.values.length - 1].index + 1;\n }\n\n length = targets[i].values.length;\n\n for (j = 0; j < length; j++) {\n targets[i].values[j].index = tail + j;\n\n if (!$$.isTimeSeries()) {\n targets[i].values[j].x = tail + j;\n }\n }\n\n t.values = t.values.concat(targets[i].values);\n targets.splice(i, 1);\n break;\n }\n }\n\n if (!found) {\n notfoundIds.push(t.id);\n }\n }); // Append null for not found targets\n\n $$.data.targets.forEach(function (t) {\n var i, j;\n\n for (i = 0; i < notfoundIds.length; i++) {\n if (t.id === notfoundIds[i]) {\n tail = t.values[t.values.length - 1].index + 1;\n\n for (j = 0; j < length; j++) {\n t.values.push({\n id: t.id,\n index: tail + j,\n x: $$.isTimeSeries() ? $$.getOtherTargetX(tail + j) : tail + j,\n value: null\n });\n }\n }\n }\n }); // Generate null values for new target\n\n if ($$.data.targets.length) {\n targets.forEach(function (t) {\n var i,\n missing = [];\n\n for (i = $$.data.targets[0].values[0].index; i < tail; i++) {\n missing.push({\n id: t.id,\n index: i,\n x: $$.isTimeSeries() ? $$.getOtherTargetX(i) : i,\n value: null\n });\n }\n\n t.values.forEach(function (v) {\n v.index += tail;\n\n if (!$$.isTimeSeries()) {\n v.x += tail;\n }\n });\n t.values = missing.concat(t.values);\n });\n }\n\n $$.data.targets = $$.data.targets.concat(targets); // add remained\n // check data count because behavior needs to change when it's only one\n\n dataCount = $$.getMaxDataCount();\n baseTarget = $$.data.targets[0];\n baseValue = baseTarget.values[0]; // Update length to flow if needed\n\n if (isDefined(args.to)) {\n length = 0;\n to = $$.isTimeSeries() ? $$.parseDate(args.to) : args.to;\n baseTarget.values.forEach(function (v) {\n if (v.x < to) {\n length++;\n }\n });\n } else if (isDefined(args.length)) {\n length = args.length;\n } // If only one data, update the domain to flow from left edge of the chart\n\n\n if (!orgDataCount) {\n if ($$.isTimeSeries()) {\n if (baseTarget.values.length > 1) {\n diff = baseTarget.values[baseTarget.values.length - 1].x - baseValue.x;\n } else {\n diff = baseValue.x - $$.getXDomain($$.data.targets)[0];\n }\n } else {\n diff = 1;\n }\n\n domain = [baseValue.x - diff, baseValue.x];\n $$.updateXDomain(null, true, true, false, domain);\n } else if (orgDataCount === 1) {\n if ($$.isTimeSeries()) {\n diff = (baseTarget.values[baseTarget.values.length - 1].x - baseValue.x) / 2;\n domain = [new Date(+baseValue.x - diff), new Date(+baseValue.x + diff)];\n $$.updateXDomain(null, true, true, false, domain);\n }\n } // Set targets\n\n\n $$.updateTargets($$.data.targets); // Redraw with new targets\n\n $$.redraw({\n flow: {\n index: baseValue.index,\n length: length,\n duration: isValue(args.duration) ? args.duration : $$.config.transition_duration,\n done: args.done,\n orgDataCount: orgDataCount\n },\n withLegend: true,\n withTransition: orgDataCount > 1,\n withTrimXDomain: false,\n withUpdateXAxis: true\n });\n };\n\n ChartInternal.prototype.generateFlow = function (args) {\n var $$ = this,\n config = $$.config,\n d3 = $$.d3;\n return function () {\n var targets = args.targets,\n flow = args.flow,\n drawBar = args.drawBar,\n drawLine = args.drawLine,\n drawArea = args.drawArea,\n cx = args.cx,\n cy = args.cy,\n xv = args.xv,\n xForText = args.xForText,\n yForText = args.yForText,\n duration = args.duration;\n\n var translateX,\n scaleX = 1,\n transform,\n flowIndex = flow.index,\n flowLength = flow.length,\n flowStart = $$.getValueOnIndex($$.data.targets[0].values, flowIndex),\n flowEnd = $$.getValueOnIndex($$.data.targets[0].values, flowIndex + flowLength),\n orgDomain = $$.x.domain(),\n domain,\n durationForFlow = flow.duration || duration,\n done = flow.done || function () {},\n wait = $$.generateWait();\n\n var xgrid, xgridLines, mainRegion, mainText, mainBar, mainLine, mainArea, mainCircle; // set flag\n\n $$.flowing = true; // remove head data after rendered\n\n $$.data.targets.forEach(function (d) {\n d.values.splice(0, flowLength);\n }); // update x domain to generate axis elements for flow\n\n domain = $$.updateXDomain(targets, true, true); // update elements related to x scale\n\n if ($$.updateXGrid) {\n $$.updateXGrid(true);\n }\n\n xgrid = $$.xgrid || d3.selectAll([]); // xgrid needs to be obtained after updateXGrid\n\n xgridLines = $$.xgridLines || d3.selectAll([]);\n mainRegion = $$.mainRegion || d3.selectAll([]);\n mainText = $$.mainText || d3.selectAll([]);\n mainBar = $$.mainBar || d3.selectAll([]);\n mainLine = $$.mainLine || d3.selectAll([]);\n mainArea = $$.mainArea || d3.selectAll([]);\n mainCircle = $$.mainCircle || d3.selectAll([]); // generate transform to flow\n\n if (!flow.orgDataCount) {\n // if empty\n if ($$.data.targets[0].values.length !== 1) {\n translateX = $$.x(orgDomain[0]) - $$.x(domain[0]);\n } else {\n if ($$.isTimeSeries()) {\n flowStart = $$.getValueOnIndex($$.data.targets[0].values, 0);\n flowEnd = $$.getValueOnIndex($$.data.targets[0].values, $$.data.targets[0].values.length - 1);\n translateX = $$.x(flowStart.x) - $$.x(flowEnd.x);\n } else {\n translateX = diffDomain(domain) / 2;\n }\n }\n } else if (flow.orgDataCount === 1 || (flowStart && flowStart.x) === (flowEnd && flowEnd.x)) {\n translateX = $$.x(orgDomain[0]) - $$.x(domain[0]);\n } else {\n if ($$.isTimeSeries()) {\n translateX = $$.x(orgDomain[0]) - $$.x(domain[0]);\n } else {\n translateX = $$.x(flowStart.x) - $$.x(flowEnd.x);\n }\n }\n\n scaleX = diffDomain(orgDomain) / diffDomain(domain);\n transform = 'translate(' + translateX + ',0) scale(' + scaleX + ',1)';\n $$.hideXGridFocus();\n var flowTransition = d3.transition().ease(d3.easeLinear).duration(durationForFlow);\n wait.add($$.xAxis($$.axes.x, flowTransition));\n wait.add(mainBar.transition(flowTransition).attr('transform', transform));\n wait.add(mainLine.transition(flowTransition).attr('transform', transform));\n wait.add(mainArea.transition(flowTransition).attr('transform', transform));\n wait.add(mainCircle.transition(flowTransition).attr('transform', transform));\n wait.add(mainText.transition(flowTransition).attr('transform', transform));\n wait.add(mainRegion.filter($$.isRegionOnX).transition(flowTransition).attr('transform', transform));\n wait.add(xgrid.transition(flowTransition).attr('transform', transform));\n wait.add(xgridLines.transition(flowTransition).attr('transform', transform));\n wait(function () {\n var i,\n shapes = [],\n texts = []; // remove flowed elements\n\n if (flowLength) {\n for (i = 0; i < flowLength; i++) {\n shapes.push('.' + CLASS.shape + '-' + (flowIndex + i));\n texts.push('.' + CLASS.text + '-' + (flowIndex + i));\n }\n\n $$.svg.selectAll('.' + CLASS.shapes).selectAll(shapes).remove();\n $$.svg.selectAll('.' + CLASS.texts).selectAll(texts).remove();\n $$.svg.select('.' + CLASS.xgrid).remove();\n } // draw again for removing flowed elements and reverting attr\n\n\n xgrid.attr('transform', null).attr('x1', $$.xgridAttr.x1).attr('x2', $$.xgridAttr.x2).attr('y1', $$.xgridAttr.y1).attr('y2', $$.xgridAttr.y2).style(\"opacity\", $$.xgridAttr.opacity);\n xgridLines.attr('transform', null);\n xgridLines.select('line').attr(\"x1\", config.axis_rotated ? 0 : xv).attr(\"x2\", config.axis_rotated ? $$.width : xv);\n xgridLines.select('text').attr(\"x\", config.axis_rotated ? $$.width : 0).attr(\"y\", xv);\n mainBar.attr('transform', null).attr(\"d\", drawBar);\n mainLine.attr('transform', null).attr(\"d\", drawLine);\n mainArea.attr('transform', null).attr(\"d\", drawArea);\n mainCircle.attr('transform', null).attr(\"cx\", cx).attr(\"cy\", cy);\n mainText.attr('transform', null).attr('x', xForText).attr('y', yForText).style('fill-opacity', $$.opacityForText.bind($$));\n mainRegion.attr('transform', null);\n mainRegion.filter($$.isRegionOnX).attr(\"x\", $$.regionX.bind($$)).attr(\"width\", $$.regionWidth.bind($$)); // callback for end of flow\n\n done();\n $$.flowing = false;\n });\n };\n };\n\n Chart.prototype.focus = function (targetIds) {\n var $$ = this.internal,\n candidates;\n targetIds = $$.mapToTargetIds(targetIds);\n candidates = $$.svg.selectAll($$.selectorTargets(targetIds.filter($$.isTargetToShow, $$))), this.revert();\n this.defocus();\n candidates.classed(CLASS.focused, true).classed(CLASS.defocused, false);\n\n if ($$.hasArcType()) {\n $$.expandArc(targetIds);\n }\n\n $$.toggleFocusLegend(targetIds, true);\n $$.focusedTargetIds = targetIds;\n $$.defocusedTargetIds = $$.defocusedTargetIds.filter(function (id) {\n return targetIds.indexOf(id) < 0;\n });\n };\n\n Chart.prototype.defocus = function (targetIds) {\n var $$ = this.internal,\n candidates;\n targetIds = $$.mapToTargetIds(targetIds);\n candidates = $$.svg.selectAll($$.selectorTargets(targetIds.filter($$.isTargetToShow, $$))), candidates.classed(CLASS.focused, false).classed(CLASS.defocused, true);\n\n if ($$.hasArcType()) {\n $$.unexpandArc(targetIds);\n }\n\n $$.toggleFocusLegend(targetIds, false);\n $$.focusedTargetIds = $$.focusedTargetIds.filter(function (id) {\n return targetIds.indexOf(id) < 0;\n });\n $$.defocusedTargetIds = targetIds;\n };\n\n Chart.prototype.revert = function (targetIds) {\n var $$ = this.internal,\n candidates;\n targetIds = $$.mapToTargetIds(targetIds);\n candidates = $$.svg.selectAll($$.selectorTargets(targetIds)); // should be for all targets\n\n candidates.classed(CLASS.focused, false).classed(CLASS.defocused, false);\n\n if ($$.hasArcType()) {\n $$.unexpandArc(targetIds);\n }\n\n if ($$.config.legend_show) {\n $$.showLegend(targetIds.filter($$.isLegendToShow.bind($$)));\n $$.legend.selectAll($$.selectorLegends(targetIds)).filter(function () {\n return $$.d3.select(this).classed(CLASS.legendItemFocused);\n }).classed(CLASS.legendItemFocused, false);\n }\n\n $$.focusedTargetIds = [];\n $$.defocusedTargetIds = [];\n };\n\n Chart.prototype.xgrids = function (grids) {\n var $$ = this.internal,\n config = $$.config;\n\n if (!grids) {\n return config.grid_x_lines;\n }\n\n config.grid_x_lines = grids;\n $$.redrawWithoutRescale();\n return config.grid_x_lines;\n };\n\n Chart.prototype.xgrids.add = function (grids) {\n var $$ = this.internal;\n return this.xgrids($$.config.grid_x_lines.concat(grids ? grids : []));\n };\n\n Chart.prototype.xgrids.remove = function (params) {\n // TODO: multiple\n var $$ = this.internal;\n $$.removeGridLines(params, true);\n };\n\n Chart.prototype.ygrids = function (grids) {\n var $$ = this.internal,\n config = $$.config;\n\n if (!grids) {\n return config.grid_y_lines;\n }\n\n config.grid_y_lines = grids;\n $$.redrawWithoutRescale();\n return config.grid_y_lines;\n };\n\n Chart.prototype.ygrids.add = function (grids) {\n var $$ = this.internal;\n return this.ygrids($$.config.grid_y_lines.concat(grids ? grids : []));\n };\n\n Chart.prototype.ygrids.remove = function (params) {\n // TODO: multiple\n var $$ = this.internal;\n $$.removeGridLines(params, false);\n };\n\n Chart.prototype.groups = function (groups) {\n var $$ = this.internal,\n config = $$.config;\n\n if (isUndefined(groups)) {\n return config.data_groups;\n }\n\n config.data_groups = groups;\n $$.redraw();\n return config.data_groups;\n };\n\n Chart.prototype.legend = function () {};\n\n Chart.prototype.legend.show = function (targetIds) {\n var $$ = this.internal;\n $$.showLegend($$.mapToTargetIds(targetIds));\n $$.updateAndRedraw({\n withLegend: true\n });\n };\n\n Chart.prototype.legend.hide = function (targetIds) {\n var $$ = this.internal;\n $$.hideLegend($$.mapToTargetIds(targetIds));\n $$.updateAndRedraw({\n withLegend: false\n });\n };\n\n Chart.prototype.load = function (args) {\n var $$ = this.internal,\n config = $$.config; // update xs if specified\n\n if (args.xs) {\n $$.addXs(args.xs);\n } // update names if exists\n\n\n if ('names' in args) {\n Chart.prototype.data.names.bind(this)(args.names);\n } // update classes if exists\n\n\n if ('classes' in args) {\n Object.keys(args.classes).forEach(function (id) {\n config.data_classes[id] = args.classes[id];\n });\n } // update categories if exists\n\n\n if ('categories' in args && $$.isCategorized()) {\n config.axis_x_categories = args.categories;\n } // update axes if exists\n\n\n if ('axes' in args) {\n Object.keys(args.axes).forEach(function (id) {\n config.data_axes[id] = args.axes[id];\n });\n } // update colors if exists\n\n\n if ('colors' in args) {\n Object.keys(args.colors).forEach(function (id) {\n config.data_colors[id] = args.colors[id];\n });\n } // use cache if exists\n\n\n if ('cacheIds' in args && $$.hasCaches(args.cacheIds)) {\n $$.load($$.getCaches(args.cacheIds), args.done);\n return;\n } // unload if needed\n\n\n if ('unload' in args) {\n // TODO: do not unload if target will load (included in url/rows/columns)\n $$.unload($$.mapToTargetIds(typeof args.unload === 'boolean' && args.unload ? null : args.unload), function () {\n $$.loadFromArgs(args);\n });\n } else {\n $$.loadFromArgs(args);\n }\n };\n\n Chart.prototype.unload = function (args) {\n var $$ = this.internal;\n args = args || {};\n\n if (args instanceof Array) {\n args = {\n ids: args\n };\n } else if (typeof args === 'string') {\n args = {\n ids: [args]\n };\n }\n\n $$.unload($$.mapToTargetIds(args.ids), function () {\n $$.redraw({\n withUpdateOrgXDomain: true,\n withUpdateXDomain: true,\n withLegend: true\n });\n\n if (args.done) {\n args.done();\n }\n });\n };\n\n Chart.prototype.regions = function (regions) {\n var $$ = this.internal,\n config = $$.config;\n\n if (!regions) {\n return config.regions;\n }\n\n config.regions = regions;\n $$.redrawWithoutRescale();\n return config.regions;\n };\n\n Chart.prototype.regions.add = function (regions) {\n var $$ = this.internal,\n config = $$.config;\n\n if (!regions) {\n return config.regions;\n }\n\n config.regions = config.regions.concat(regions);\n $$.redrawWithoutRescale();\n return config.regions;\n };\n\n Chart.prototype.regions.remove = function (options) {\n var $$ = this.internal,\n config = $$.config,\n duration,\n classes,\n regions;\n options = options || {};\n duration = getOption(options, \"duration\", config.transition_duration);\n classes = getOption(options, \"classes\", [CLASS.region]);\n regions = $$.main.select('.' + CLASS.regions).selectAll(classes.map(function (c) {\n return '.' + c;\n }));\n (duration ? regions.transition().duration(duration) : regions).style('opacity', 0).remove();\n config.regions = config.regions.filter(function (region) {\n var found = false;\n\n if (!region['class']) {\n return true;\n }\n\n region['class'].split(' ').forEach(function (c) {\n if (classes.indexOf(c) >= 0) {\n found = true;\n }\n });\n return !found;\n });\n return config.regions;\n };\n\n Chart.prototype.selected = function (targetId) {\n var $$ = this.internal,\n d3 = $$.d3;\n return d3.merge($$.main.selectAll('.' + CLASS.shapes + $$.getTargetSelectorSuffix(targetId)).selectAll('.' + CLASS.shape).filter(function () {\n return d3.select(this).classed(CLASS.SELECTED);\n }).map(function (d) {\n return d.map(function (d) {\n var data = d.__data__;\n return data.data ? data.data : data;\n });\n }));\n };\n\n Chart.prototype.select = function (ids, indices, resetOther) {\n var $$ = this.internal,\n d3 = $$.d3,\n config = $$.config;\n\n if (!config.data_selection_enabled) {\n return;\n }\n\n $$.main.selectAll('.' + CLASS.shapes).selectAll('.' + CLASS.shape).each(function (d, i) {\n var shape = d3.select(this),\n id = d.data ? d.data.id : d.id,\n toggle = $$.getToggle(this, d).bind($$),\n isTargetId = config.data_selection_grouped || !ids || ids.indexOf(id) >= 0,\n isTargetIndex = !indices || indices.indexOf(i) >= 0,\n isSelected = shape.classed(CLASS.SELECTED); // line/area selection not supported yet\n\n if (shape.classed(CLASS.line) || shape.classed(CLASS.area)) {\n return;\n }\n\n if (isTargetId && isTargetIndex) {\n if (config.data_selection_isselectable(d) && !isSelected) {\n toggle(true, shape.classed(CLASS.SELECTED, true), d, i);\n }\n } else if (isDefined(resetOther) && resetOther) {\n if (isSelected) {\n toggle(false, shape.classed(CLASS.SELECTED, false), d, i);\n }\n }\n });\n };\n\n Chart.prototype.unselect = function (ids, indices) {\n var $$ = this.internal,\n d3 = $$.d3,\n config = $$.config;\n\n if (!config.data_selection_enabled) {\n return;\n }\n\n $$.main.selectAll('.' + CLASS.shapes).selectAll('.' + CLASS.shape).each(function (d, i) {\n var shape = d3.select(this),\n id = d.data ? d.data.id : d.id,\n toggle = $$.getToggle(this, d).bind($$),\n isTargetId = config.data_selection_grouped || !ids || ids.indexOf(id) >= 0,\n isTargetIndex = !indices || indices.indexOf(i) >= 0,\n isSelected = shape.classed(CLASS.SELECTED); // line/area selection not supported yet\n\n if (shape.classed(CLASS.line) || shape.classed(CLASS.area)) {\n return;\n }\n\n if (isTargetId && isTargetIndex) {\n if (config.data_selection_isselectable(d)) {\n if (isSelected) {\n toggle(false, shape.classed(CLASS.SELECTED, false), d, i);\n }\n }\n }\n });\n };\n\n Chart.prototype.show = function (targetIds, options) {\n var $$ = this.internal,\n targets;\n targetIds = $$.mapToTargetIds(targetIds);\n options = options || {};\n $$.removeHiddenTargetIds(targetIds);\n targets = $$.svg.selectAll($$.selectorTargets(targetIds));\n targets.transition().style('display', 'initial', 'important').style('opacity', 1, 'important').call($$.endall, function () {\n targets.style('opacity', null).style('opacity', 1);\n });\n\n if (options.withLegend) {\n $$.showLegend(targetIds);\n }\n\n $$.redraw({\n withUpdateOrgXDomain: true,\n withUpdateXDomain: true,\n withLegend: true\n });\n };\n\n Chart.prototype.hide = function (targetIds, options) {\n var $$ = this.internal,\n targets;\n targetIds = $$.mapToTargetIds(targetIds);\n options = options || {};\n $$.addHiddenTargetIds(targetIds);\n targets = $$.svg.selectAll($$.selectorTargets(targetIds));\n targets.transition().style('opacity', 0, 'important').call($$.endall, function () {\n targets.style('opacity', null).style('opacity', 0);\n targets.style('display', 'none');\n });\n\n if (options.withLegend) {\n $$.hideLegend(targetIds);\n }\n\n $$.redraw({\n withUpdateOrgXDomain: true,\n withUpdateXDomain: true,\n withLegend: true\n });\n };\n\n Chart.prototype.toggle = function (targetIds, options) {\n var that = this,\n $$ = this.internal;\n $$.mapToTargetIds(targetIds).forEach(function (targetId) {\n $$.isTargetToShow(targetId) ? that.hide(targetId, options) : that.show(targetId, options);\n });\n };\n\n Chart.prototype.tooltip = function () {};\n\n Chart.prototype.tooltip.show = function (args) {\n var $$ = this.internal,\n targets,\n data,\n mouse = {}; // determine mouse position on the chart\n\n if (args.mouse) {\n mouse = args.mouse;\n } else {\n // determine focus data\n if (args.data) {\n data = args.data;\n } else if (typeof args.x !== 'undefined') {\n if (args.id) {\n targets = $$.data.targets.filter(function (t) {\n return t.id === args.id;\n });\n } else {\n targets = $$.data.targets;\n }\n\n data = $$.filterByX(targets, args.x).slice(0, 1)[0];\n }\n\n mouse = data ? $$.getMousePosition(data) : null;\n } // emulate mouse events to show\n\n\n $$.dispatchEvent('mousemove', mouse);\n $$.config.tooltip_onshow.call($$, data);\n };\n\n Chart.prototype.tooltip.hide = function () {\n // TODO: get target data by checking the state of focus\n this.internal.dispatchEvent('mouseout', 0);\n this.internal.config.tooltip_onhide.call(this);\n };\n\n Chart.prototype.transform = function (type, targetIds) {\n var $$ = this.internal,\n options = ['pie', 'donut'].indexOf(type) >= 0 ? {\n withTransform: true\n } : null;\n $$.transformTo(targetIds, type, options);\n };\n\n ChartInternal.prototype.transformTo = function (targetIds, type, optionsForRedraw) {\n var $$ = this,\n withTransitionForAxis = !$$.hasArcType(),\n options = optionsForRedraw || {\n withTransitionForAxis: withTransitionForAxis\n };\n options.withTransitionForTransform = false;\n $$.transiting = false;\n $$.setTargetType(targetIds, type);\n $$.updateTargets($$.data.targets); // this is needed when transforming to arc\n\n $$.updateAndRedraw(options);\n };\n\n Chart.prototype.x = function (x) {\n var $$ = this.internal;\n\n if (arguments.length) {\n $$.updateTargetX($$.data.targets, x);\n $$.redraw({\n withUpdateOrgXDomain: true,\n withUpdateXDomain: true\n });\n }\n\n return $$.data.xs;\n };\n\n Chart.prototype.xs = function (xs) {\n var $$ = this.internal;\n\n if (arguments.length) {\n $$.updateTargetXs($$.data.targets, xs);\n $$.redraw({\n withUpdateOrgXDomain: true,\n withUpdateXDomain: true\n });\n }\n\n return $$.data.xs;\n };\n\n Chart.prototype.zoom = function (domain) {\n var $$ = this.internal;\n\n if (domain) {\n if ($$.isTimeSeries()) {\n domain = domain.map(function (x) {\n return $$.parseDate(x);\n });\n }\n\n if ($$.config.subchart_show) {\n $$.brush.selectionAsValue(domain, true);\n } else {\n $$.updateXDomain(null, true, false, false, domain);\n $$.redraw({\n withY: $$.config.zoom_rescale,\n withSubchart: false\n });\n }\n\n $$.config.zoom_onzoom.call(this, $$.x.orgDomain());\n return domain;\n } else {\n return $$.x.domain();\n }\n };\n\n Chart.prototype.zoom.enable = function (enabled) {\n var $$ = this.internal;\n $$.config.zoom_enabled = enabled;\n $$.updateAndRedraw();\n };\n\n Chart.prototype.unzoom = function () {\n var $$ = this.internal;\n\n if ($$.config.subchart_show) {\n $$.brush.clear();\n } else {\n $$.updateXDomain(null, true, false, false, $$.subX.domain());\n $$.redraw({\n withY: $$.config.zoom_rescale,\n withSubchart: false\n });\n }\n };\n\n Chart.prototype.zoom.max = function (max) {\n var $$ = this.internal,\n config = $$.config,\n d3 = $$.d3;\n\n if (max === 0 || max) {\n config.zoom_x_max = d3.max([$$.orgXDomain[1], max]);\n } else {\n return config.zoom_x_max;\n }\n };\n\n Chart.prototype.zoom.min = function (min) {\n var $$ = this.internal,\n config = $$.config,\n d3 = $$.d3;\n\n if (min === 0 || min) {\n config.zoom_x_min = d3.min([$$.orgXDomain[0], min]);\n } else {\n return config.zoom_x_min;\n }\n };\n\n Chart.prototype.zoom.range = function (range) {\n if (arguments.length) {\n if (isDefined(range.max)) {\n this.domain.max(range.max);\n }\n\n if (isDefined(range.min)) {\n this.domain.min(range.min);\n }\n } else {\n return {\n max: this.domain.max(),\n min: this.domain.min()\n };\n }\n };\n\n ChartInternal.prototype.initPie = function () {\n var $$ = this,\n d3 = $$.d3;\n $$.pie = d3.pie().value(function (d) {\n return d.values.reduce(function (a, b) {\n return a + b.value;\n }, 0);\n });\n var orderFct = $$.getOrderFunction(); // we need to reverse the returned order if asc or desc to have the slice in expected order.\n\n if (orderFct && ($$.isOrderAsc() || $$.isOrderDesc())) {\n var defaultSort = orderFct;\n\n orderFct = function orderFct(t1, t2) {\n return defaultSort(t1, t2) * -1;\n };\n }\n\n $$.pie.sort(orderFct || null);\n };\n\n ChartInternal.prototype.updateRadius = function () {\n var $$ = this,\n config = $$.config,\n w = config.gauge_width || config.donut_width,\n gaugeArcWidth = $$.filterTargetsToShow($$.data.targets).length * $$.config.gauge_arcs_minWidth;\n $$.radiusExpanded = Math.min($$.arcWidth, $$.arcHeight) / 2 * ($$.hasType('gauge') ? 0.85 : 1);\n $$.radius = $$.radiusExpanded * 0.95;\n $$.innerRadiusRatio = w ? ($$.radius - w) / $$.radius : 0.6;\n $$.innerRadius = $$.hasType('donut') || $$.hasType('gauge') ? $$.radius * $$.innerRadiusRatio : 0;\n $$.gaugeArcWidth = w ? w : gaugeArcWidth <= $$.radius - $$.innerRadius ? $$.radius - $$.innerRadius : gaugeArcWidth <= $$.radius ? gaugeArcWidth : $$.radius;\n };\n\n ChartInternal.prototype.updateArc = function () {\n var $$ = this;\n $$.svgArc = $$.getSvgArc();\n $$.svgArcExpanded = $$.getSvgArcExpanded();\n $$.svgArcExpandedSub = $$.getSvgArcExpanded(0.98);\n };\n\n ChartInternal.prototype.updateAngle = function (d) {\n var $$ = this,\n config = $$.config,\n found = false,\n index = 0,\n gMin,\n gMax,\n gTic,\n gValue;\n\n if (!config) {\n return null;\n }\n\n $$.pie($$.filterTargetsToShow($$.data.targets)).forEach(function (t) {\n if (!found && t.data.id === d.data.id) {\n found = true;\n d = t;\n d.index = index;\n }\n\n index++;\n });\n\n if (isNaN(d.startAngle)) {\n d.startAngle = 0;\n }\n\n if (isNaN(d.endAngle)) {\n d.endAngle = d.startAngle;\n }\n\n if ($$.isGaugeType(d.data)) {\n gMin = config.gauge_min;\n gMax = config.gauge_max;\n gTic = Math.PI * (config.gauge_fullCircle ? 2 : 1) / (gMax - gMin);\n gValue = d.value < gMin ? 0 : d.value < gMax ? d.value - gMin : gMax - gMin;\n d.startAngle = config.gauge_startingAngle;\n d.endAngle = d.startAngle + gTic * gValue;\n }\n\n return found ? d : null;\n };\n\n ChartInternal.prototype.getSvgArc = function () {\n var $$ = this,\n hasGaugeType = $$.hasType('gauge'),\n singleArcWidth = $$.gaugeArcWidth / $$.filterTargetsToShow($$.data.targets).length,\n arc = $$.d3.arc().outerRadius(function (d) {\n return hasGaugeType ? $$.radius - singleArcWidth * d.index : $$.radius;\n }).innerRadius(function (d) {\n return hasGaugeType ? $$.radius - singleArcWidth * (d.index + 1) : $$.innerRadius;\n }),\n newArc = function newArc(d, withoutUpdate) {\n var updated;\n\n if (withoutUpdate) {\n return arc(d);\n } // for interpolate\n\n\n updated = $$.updateAngle(d);\n return updated ? arc(updated) : \"M 0 0\";\n }; // TODO: extends all function\n\n\n newArc.centroid = arc.centroid;\n return newArc;\n };\n\n ChartInternal.prototype.getSvgArcExpanded = function (rate) {\n rate = rate || 1;\n var $$ = this,\n hasGaugeType = $$.hasType('gauge'),\n singleArcWidth = $$.gaugeArcWidth / $$.filterTargetsToShow($$.data.targets).length,\n expandWidth = Math.min($$.radiusExpanded * rate - $$.radius, singleArcWidth * 0.8 - (1 - rate) * 100),\n arc = $$.d3.arc().outerRadius(function (d) {\n return hasGaugeType ? $$.radius - singleArcWidth * d.index + expandWidth : $$.radiusExpanded * rate;\n }).innerRadius(function (d) {\n return hasGaugeType ? $$.radius - singleArcWidth * (d.index + 1) : $$.innerRadius;\n });\n return function (d) {\n var updated = $$.updateAngle(d);\n return updated ? arc(updated) : \"M 0 0\";\n };\n };\n\n ChartInternal.prototype.getArc = function (d, withoutUpdate, force) {\n return force || this.isArcType(d.data) ? this.svgArc(d, withoutUpdate) : \"M 0 0\";\n };\n\n ChartInternal.prototype.transformForArcLabel = function (d) {\n var $$ = this,\n config = $$.config,\n updated = $$.updateAngle(d),\n c,\n x,\n y,\n h,\n ratio,\n translate = \"\",\n hasGauge = $$.hasType('gauge');\n\n if (updated && !hasGauge) {\n c = this.svgArc.centroid(updated);\n x = isNaN(c[0]) ? 0 : c[0];\n y = isNaN(c[1]) ? 0 : c[1];\n h = Math.sqrt(x * x + y * y);\n\n if ($$.hasType('donut') && config.donut_label_ratio) {\n ratio = isFunction(config.donut_label_ratio) ? config.donut_label_ratio(d, $$.radius, h) : config.donut_label_ratio;\n } else if ($$.hasType('pie') && config.pie_label_ratio) {\n ratio = isFunction(config.pie_label_ratio) ? config.pie_label_ratio(d, $$.radius, h) : config.pie_label_ratio;\n } else {\n ratio = $$.radius && h ? (36 / $$.radius > 0.375 ? 1.175 - 36 / $$.radius : 0.8) * $$.radius / h : 0;\n }\n\n translate = \"translate(\" + x * ratio + ',' + y * ratio + \")\";\n } else if (updated && hasGauge && $$.filterTargetsToShow($$.data.targets).length > 1) {\n var y1 = Math.sin(updated.endAngle - Math.PI / 2);\n x = Math.cos(updated.endAngle - Math.PI / 2) * ($$.radiusExpanded + 25);\n y = y1 * ($$.radiusExpanded + 15 - Math.abs(y1 * 10)) + 3;\n translate = \"translate(\" + x + ',' + y + \")\";\n }\n\n return translate;\n };\n\n ChartInternal.prototype.getArcRatio = function (d) {\n var $$ = this,\n config = $$.config,\n whole = Math.PI * ($$.hasType('gauge') && !config.gauge_fullCircle ? 1 : 2);\n return d ? (d.endAngle - d.startAngle) / whole : null;\n };\n\n ChartInternal.prototype.convertToArcData = function (d) {\n return this.addName({\n id: d.data.id,\n value: d.value,\n ratio: this.getArcRatio(d),\n index: d.index\n });\n };\n\n ChartInternal.prototype.textForArcLabel = function (d) {\n var $$ = this,\n updated,\n value,\n ratio,\n id,\n format;\n\n if (!$$.shouldShowArcLabel()) {\n return \"\";\n }\n\n updated = $$.updateAngle(d);\n value = updated ? updated.value : null;\n ratio = $$.getArcRatio(updated);\n id = d.data.id;\n\n if (!$$.hasType('gauge') && !$$.meetsArcLabelThreshold(ratio)) {\n return \"\";\n }\n\n format = $$.getArcLabelFormat();\n return format ? format(value, ratio, id) : $$.defaultArcValueFormat(value, ratio);\n };\n\n ChartInternal.prototype.textForGaugeMinMax = function (value, isMax) {\n var $$ = this,\n format = $$.getGaugeLabelExtents();\n return format ? format(value, isMax) : value;\n };\n\n ChartInternal.prototype.expandArc = function (targetIds) {\n var $$ = this,\n interval; // MEMO: avoid to cancel transition\n\n if ($$.transiting) {\n interval = window.setInterval(function () {\n if (!$$.transiting) {\n window.clearInterval(interval);\n\n if ($$.legend.selectAll('.c3-legend-item-focused').size() > 0) {\n $$.expandArc(targetIds);\n }\n }\n }, 10);\n return;\n }\n\n targetIds = $$.mapToTargetIds(targetIds);\n $$.svg.selectAll($$.selectorTargets(targetIds, '.' + CLASS.chartArc)).each(function (d) {\n if (!$$.shouldExpand(d.data.id)) {\n return;\n }\n\n $$.d3.select(this).selectAll('path').transition().duration($$.expandDuration(d.data.id)).attr(\"d\", $$.svgArcExpanded).transition().duration($$.expandDuration(d.data.id) * 2).attr(\"d\", $$.svgArcExpandedSub).each(function (d) {\n if ($$.isDonutType(d.data)) ;\n });\n });\n };\n\n ChartInternal.prototype.unexpandArc = function (targetIds) {\n var $$ = this;\n\n if ($$.transiting) {\n return;\n }\n\n targetIds = $$.mapToTargetIds(targetIds);\n $$.svg.selectAll($$.selectorTargets(targetIds, '.' + CLASS.chartArc)).selectAll('path').transition().duration(function (d) {\n return $$.expandDuration(d.data.id);\n }).attr(\"d\", $$.svgArc);\n $$.svg.selectAll('.' + CLASS.arc);\n };\n\n ChartInternal.prototype.expandDuration = function (id) {\n var $$ = this,\n config = $$.config;\n\n if ($$.isDonutType(id)) {\n return config.donut_expand_duration;\n } else if ($$.isGaugeType(id)) {\n return config.gauge_expand_duration;\n } else if ($$.isPieType(id)) {\n return config.pie_expand_duration;\n } else {\n return 50;\n }\n };\n\n ChartInternal.prototype.shouldExpand = function (id) {\n var $$ = this,\n config = $$.config;\n return $$.isDonutType(id) && config.donut_expand || $$.isGaugeType(id) && config.gauge_expand || $$.isPieType(id) && config.pie_expand;\n };\n\n ChartInternal.prototype.shouldShowArcLabel = function () {\n var $$ = this,\n config = $$.config,\n shouldShow = true;\n\n if ($$.hasType('donut')) {\n shouldShow = config.donut_label_show;\n } else if ($$.hasType('pie')) {\n shouldShow = config.pie_label_show;\n } // when gauge, always true\n\n\n return shouldShow;\n };\n\n ChartInternal.prototype.meetsArcLabelThreshold = function (ratio) {\n var $$ = this,\n config = $$.config,\n threshold = $$.hasType('donut') ? config.donut_label_threshold : config.pie_label_threshold;\n return ratio >= threshold;\n };\n\n ChartInternal.prototype.getArcLabelFormat = function () {\n var $$ = this,\n config = $$.config,\n format = config.pie_label_format;\n\n if ($$.hasType('gauge')) {\n format = config.gauge_label_format;\n } else if ($$.hasType('donut')) {\n format = config.donut_label_format;\n }\n\n return format;\n };\n\n ChartInternal.prototype.getGaugeLabelExtents = function () {\n var $$ = this,\n config = $$.config;\n return config.gauge_label_extents;\n };\n\n ChartInternal.prototype.getArcTitle = function () {\n var $$ = this;\n return $$.hasType('donut') ? $$.config.donut_title : \"\";\n };\n\n ChartInternal.prototype.updateTargetsForArc = function (targets) {\n var $$ = this,\n main = $$.main,\n mainPies,\n mainPieEnter,\n classChartArc = $$.classChartArc.bind($$),\n classArcs = $$.classArcs.bind($$),\n classFocus = $$.classFocus.bind($$);\n mainPies = main.select('.' + CLASS.chartArcs).selectAll('.' + CLASS.chartArc).data($$.pie(targets)).attr(\"class\", function (d) {\n return classChartArc(d) + classFocus(d.data);\n });\n mainPieEnter = mainPies.enter().append(\"g\").attr(\"class\", classChartArc);\n mainPieEnter.append('g').attr('class', classArcs);\n mainPieEnter.append(\"text\").attr(\"dy\", $$.hasType('gauge') ? \"-.1em\" : \".35em\").style(\"opacity\", 0).style(\"text-anchor\", \"middle\").style(\"pointer-events\", \"none\"); // MEMO: can not keep same color..., but not bad to update color in redraw\n //mainPieUpdate.exit().remove();\n };\n\n ChartInternal.prototype.initArc = function () {\n var $$ = this;\n $$.arcs = $$.main.select('.' + CLASS.chart).append(\"g\").attr(\"class\", CLASS.chartArcs).attr(\"transform\", $$.getTranslate('arc'));\n $$.arcs.append('text').attr('class', CLASS.chartArcsTitle).style(\"text-anchor\", \"middle\").text($$.getArcTitle());\n };\n\n ChartInternal.prototype.redrawArc = function (duration, durationForExit, withTransform) {\n var $$ = this,\n d3 = $$.d3,\n config = $$.config,\n main = $$.main,\n arcs,\n mainArc,\n arcLabelLines,\n mainArcLabelLine,\n hasGaugeType = $$.hasType('gauge');\n arcs = main.selectAll('.' + CLASS.arcs).selectAll('.' + CLASS.arc).data($$.arcData.bind($$));\n mainArc = arcs.enter().append('path').attr(\"class\", $$.classArc.bind($$)).style(\"fill\", function (d) {\n return $$.color(d.data);\n }).style(\"cursor\", function (d) {\n return config.interaction_enabled && config.data_selection_isselectable(d) ? \"pointer\" : null;\n }).each(function (d) {\n if ($$.isGaugeType(d.data)) {\n d.startAngle = d.endAngle = config.gauge_startingAngle;\n }\n\n this._current = d;\n }).merge(arcs);\n\n if (hasGaugeType) {\n arcLabelLines = main.selectAll('.' + CLASS.arcs).selectAll('.' + CLASS.arcLabelLine).data($$.arcData.bind($$));\n mainArcLabelLine = arcLabelLines.enter().append('rect').attr(\"class\", function (d) {\n return CLASS.arcLabelLine + ' ' + CLASS.target + ' ' + CLASS.target + '-' + d.data.id;\n }).merge(arcLabelLines);\n\n if ($$.filterTargetsToShow($$.data.targets).length === 1) {\n mainArcLabelLine.style(\"display\", \"none\");\n } else {\n mainArcLabelLine.style(\"fill\", function (d) {\n return $$.levelColor ? $$.levelColor(d.data.values[0].value) : $$.color(d.data);\n }).style(\"display\", config.gauge_labelLine_show ? \"\" : \"none\").each(function (d) {\n var lineLength = 0,\n lineThickness = 2,\n x = 0,\n y = 0,\n transform = \"\";\n\n if ($$.hiddenTargetIds.indexOf(d.data.id) < 0) {\n var updated = $$.updateAngle(d),\n innerLineLength = $$.gaugeArcWidth / $$.filterTargetsToShow($$.data.targets).length * (updated.index + 1),\n lineAngle = updated.endAngle - Math.PI / 2,\n arcInnerRadius = $$.radius - innerLineLength,\n linePositioningAngle = lineAngle - (arcInnerRadius === 0 ? 0 : 1 / arcInnerRadius);\n lineLength = $$.radiusExpanded - $$.radius + innerLineLength;\n x = Math.cos(linePositioningAngle) * arcInnerRadius;\n y = Math.sin(linePositioningAngle) * arcInnerRadius;\n transform = \"rotate(\" + lineAngle * 180 / Math.PI + \", \" + x + \", \" + y + \")\";\n }\n\n d3.select(this).attr('x', x).attr('y', y).attr('width', lineLength).attr('height', lineThickness).attr('transform', transform).style(\"stroke-dasharray\", \"0, \" + (lineLength + lineThickness) + \", 0\");\n });\n }\n }\n\n mainArc.attr(\"transform\", function (d) {\n return !$$.isGaugeType(d.data) && withTransform ? \"scale(0)\" : \"\";\n }).on('mouseover', config.interaction_enabled ? function (d) {\n var updated, arcData;\n\n if ($$.transiting) {\n // skip while transiting\n return;\n }\n\n updated = $$.updateAngle(d);\n\n if (updated) {\n arcData = $$.convertToArcData(updated); // transitions\n\n $$.expandArc(updated.data.id);\n $$.api.focus(updated.data.id);\n $$.toggleFocusLegend(updated.data.id, true);\n $$.config.data_onmouseover(arcData, this);\n }\n } : null).on('mousemove', config.interaction_enabled ? function (d) {\n var updated = $$.updateAngle(d),\n arcData,\n selectedData;\n\n if (updated) {\n arcData = $$.convertToArcData(updated), selectedData = [arcData];\n $$.showTooltip(selectedData, this);\n }\n } : null).on('mouseout', config.interaction_enabled ? function (d) {\n var updated, arcData;\n\n if ($$.transiting) {\n // skip while transiting\n return;\n }\n\n updated = $$.updateAngle(d);\n\n if (updated) {\n arcData = $$.convertToArcData(updated); // transitions\n\n $$.unexpandArc(updated.data.id);\n $$.api.revert();\n $$.revertLegend();\n $$.hideTooltip();\n $$.config.data_onmouseout(arcData, this);\n }\n } : null).on('click', config.interaction_enabled ? function (d, i) {\n var updated = $$.updateAngle(d),\n arcData;\n\n if (updated) {\n arcData = $$.convertToArcData(updated);\n\n if ($$.toggleShape) {\n $$.toggleShape(this, arcData, i);\n }\n\n $$.config.data_onclick.call($$.api, arcData, this);\n }\n } : null).each(function () {\n $$.transiting = true;\n }).transition().duration(duration).attrTween(\"d\", function (d) {\n var updated = $$.updateAngle(d),\n interpolate;\n\n if (!updated) {\n return function () {\n return \"M 0 0\";\n };\n } // if (this._current === d) {\n // this._current = {\n // startAngle: Math.PI*2,\n // endAngle: Math.PI*2,\n // };\n // }\n\n\n if (isNaN(this._current.startAngle)) {\n this._current.startAngle = 0;\n }\n\n if (isNaN(this._current.endAngle)) {\n this._current.endAngle = this._current.startAngle;\n }\n\n interpolate = d3.interpolate(this._current, updated);\n this._current = interpolate(0);\n return function (t) {\n var interpolated = interpolate(t);\n interpolated.data = d.data; // data.id will be updated by interporator\n\n return $$.getArc(interpolated, true);\n };\n }).attr(\"transform\", withTransform ? \"scale(1)\" : \"\").style(\"fill\", function (d) {\n return $$.levelColor ? $$.levelColor(d.data.values[0].value) : $$.color(d.data.id);\n }) // Where gauge reading color would receive customization.\n .call($$.endall, function () {\n $$.transiting = false;\n });\n arcs.exit().transition().duration(durationForExit).style('opacity', 0).remove();\n main.selectAll('.' + CLASS.chartArc).select('text').style(\"opacity\", 0).attr('class', function (d) {\n return $$.isGaugeType(d.data) ? CLASS.gaugeValue : '';\n }).text($$.textForArcLabel.bind($$)).attr(\"transform\", $$.transformForArcLabel.bind($$)).style('font-size', function (d) {\n return $$.isGaugeType(d.data) && $$.filterTargetsToShow($$.data.targets).length === 1 ? Math.round($$.radius / 5) + 'px' : '';\n }).transition().duration(duration).style(\"opacity\", function (d) {\n return $$.isTargetToShow(d.data.id) && $$.isArcType(d.data) ? 1 : 0;\n });\n main.select('.' + CLASS.chartArcsTitle).style(\"opacity\", $$.hasType('donut') || hasGaugeType ? 1 : 0);\n\n if (hasGaugeType) {\n var index = 0;\n var backgroundArc = $$.arcs.select('g.' + CLASS.chartArcsBackground).selectAll('path.' + CLASS.chartArcsBackground).data($$.data.targets);\n backgroundArc.enter().append(\"path\").attr(\"class\", function (d, i) {\n return CLASS.chartArcsBackground + ' ' + CLASS.chartArcsBackground + '-' + i;\n }).merge(backgroundArc).attr(\"d\", function (d1) {\n if ($$.hiddenTargetIds.indexOf(d1.id) >= 0) {\n return \"M 0 0\";\n }\n\n var d = {\n data: [{\n value: config.gauge_max\n }],\n startAngle: config.gauge_startingAngle,\n endAngle: -1 * config.gauge_startingAngle * (config.gauge_fullCircle ? Math.PI : 1),\n index: index++\n };\n return $$.getArc(d, true, true);\n });\n backgroundArc.exit().remove();\n $$.arcs.select('.' + CLASS.chartArcsGaugeUnit).attr(\"dy\", \".75em\").text(config.gauge_label_show ? config.gauge_units : '');\n $$.arcs.select('.' + CLASS.chartArcsGaugeMin).attr(\"dx\", -1 * ($$.innerRadius + ($$.radius - $$.innerRadius) / (config.gauge_fullCircle ? 1 : 2)) + \"px\").attr(\"dy\", \"1.2em\").text(config.gauge_label_show ? $$.textForGaugeMinMax(config.gauge_min, false) : '');\n $$.arcs.select('.' + CLASS.chartArcsGaugeMax).attr(\"dx\", $$.innerRadius + ($$.radius - $$.innerRadius) / (config.gauge_fullCircle ? 1 : 2) + \"px\").attr(\"dy\", \"1.2em\").text(config.gauge_label_show ? $$.textForGaugeMinMax(config.gauge_max, true) : '');\n }\n };\n\n ChartInternal.prototype.initGauge = function () {\n var arcs = this.arcs;\n\n if (this.hasType('gauge')) {\n arcs.append('g').attr(\"class\", CLASS.chartArcsBackground);\n arcs.append(\"text\").attr(\"class\", CLASS.chartArcsGaugeUnit).style(\"text-anchor\", \"middle\").style(\"pointer-events\", \"none\");\n arcs.append(\"text\").attr(\"class\", CLASS.chartArcsGaugeMin).style(\"text-anchor\", \"middle\").style(\"pointer-events\", \"none\");\n arcs.append(\"text\").attr(\"class\", CLASS.chartArcsGaugeMax).style(\"text-anchor\", \"middle\").style(\"pointer-events\", \"none\");\n }\n };\n\n ChartInternal.prototype.getGaugeLabelHeight = function () {\n return this.config.gauge_label_show ? 20 : 0;\n };\n\n ChartInternal.prototype.hasCaches = function (ids) {\n for (var i = 0; i < ids.length; i++) {\n if (!(ids[i] in this.cache)) {\n return false;\n }\n }\n\n return true;\n };\n\n ChartInternal.prototype.addCache = function (id, target) {\n this.cache[id] = this.cloneTarget(target);\n };\n\n ChartInternal.prototype.getCaches = function (ids) {\n var targets = [],\n i;\n\n for (i = 0; i < ids.length; i++) {\n if (ids[i] in this.cache) {\n targets.push(this.cloneTarget(this.cache[ids[i]]));\n }\n }\n\n return targets;\n };\n\n ChartInternal.prototype.categoryName = function (i) {\n var config = this.config;\n return i < config.axis_x_categories.length ? config.axis_x_categories[i] : i;\n };\n\n ChartInternal.prototype.generateTargetClass = function (targetId) {\n return targetId || targetId === 0 ? ('-' + targetId).replace(/\\s/g, '-') : '';\n };\n\n ChartInternal.prototype.generateClass = function (prefix, targetId) {\n return \" \" + prefix + \" \" + prefix + this.generateTargetClass(targetId);\n };\n\n ChartInternal.prototype.classText = function (d) {\n return this.generateClass(CLASS.text, d.index);\n };\n\n ChartInternal.prototype.classTexts = function (d) {\n return this.generateClass(CLASS.texts, d.id);\n };\n\n ChartInternal.prototype.classShape = function (d) {\n return this.generateClass(CLASS.shape, d.index);\n };\n\n ChartInternal.prototype.classShapes = function (d) {\n return this.generateClass(CLASS.shapes, d.id);\n };\n\n ChartInternal.prototype.classLine = function (d) {\n return this.classShape(d) + this.generateClass(CLASS.line, d.id);\n };\n\n ChartInternal.prototype.classLines = function (d) {\n return this.classShapes(d) + this.generateClass(CLASS.lines, d.id);\n };\n\n ChartInternal.prototype.classCircle = function (d) {\n return this.classShape(d) + this.generateClass(CLASS.circle, d.index);\n };\n\n ChartInternal.prototype.classCircles = function (d) {\n return this.classShapes(d) + this.generateClass(CLASS.circles, d.id);\n };\n\n ChartInternal.prototype.classBar = function (d) {\n return this.classShape(d) + this.generateClass(CLASS.bar, d.index);\n };\n\n ChartInternal.prototype.classBars = function (d) {\n return this.classShapes(d) + this.generateClass(CLASS.bars, d.id);\n };\n\n ChartInternal.prototype.classArc = function (d) {\n return this.classShape(d.data) + this.generateClass(CLASS.arc, d.data.id);\n };\n\n ChartInternal.prototype.classArcs = function (d) {\n return this.classShapes(d.data) + this.generateClass(CLASS.arcs, d.data.id);\n };\n\n ChartInternal.prototype.classArea = function (d) {\n return this.classShape(d) + this.generateClass(CLASS.area, d.id);\n };\n\n ChartInternal.prototype.classAreas = function (d) {\n return this.classShapes(d) + this.generateClass(CLASS.areas, d.id);\n };\n\n ChartInternal.prototype.classRegion = function (d, i) {\n return this.generateClass(CLASS.region, i) + ' ' + ('class' in d ? d['class'] : '');\n };\n\n ChartInternal.prototype.classEvent = function (d) {\n return this.generateClass(CLASS.eventRect, d.index);\n };\n\n ChartInternal.prototype.classTarget = function (id) {\n var $$ = this;\n var additionalClassSuffix = $$.config.data_classes[id],\n additionalClass = '';\n\n if (additionalClassSuffix) {\n additionalClass = ' ' + CLASS.target + '-' + additionalClassSuffix;\n }\n\n return $$.generateClass(CLASS.target, id) + additionalClass;\n };\n\n ChartInternal.prototype.classFocus = function (d) {\n return this.classFocused(d) + this.classDefocused(d);\n };\n\n ChartInternal.prototype.classFocused = function (d) {\n return ' ' + (this.focusedTargetIds.indexOf(d.id) >= 0 ? CLASS.focused : '');\n };\n\n ChartInternal.prototype.classDefocused = function (d) {\n return ' ' + (this.defocusedTargetIds.indexOf(d.id) >= 0 ? CLASS.defocused : '');\n };\n\n ChartInternal.prototype.classChartText = function (d) {\n return CLASS.chartText + this.classTarget(d.id);\n };\n\n ChartInternal.prototype.classChartLine = function (d) {\n return CLASS.chartLine + this.classTarget(d.id);\n };\n\n ChartInternal.prototype.classChartBar = function (d) {\n return CLASS.chartBar + this.classTarget(d.id);\n };\n\n ChartInternal.prototype.classChartArc = function (d) {\n return CLASS.chartArc + this.classTarget(d.data.id);\n };\n\n ChartInternal.prototype.getTargetSelectorSuffix = function (targetId) {\n return this.generateTargetClass(targetId).replace(/([?!@#$%^&*()_=+,.<>'\":;\\[\\]\\/|~`{}\\\\])/g, '\\\\$1');\n };\n\n ChartInternal.prototype.selectorTarget = function (id, prefix) {\n return (prefix || '') + '.' + CLASS.target + this.getTargetSelectorSuffix(id);\n };\n\n ChartInternal.prototype.selectorTargets = function (ids, prefix) {\n var $$ = this;\n ids = ids || [];\n return ids.length ? ids.map(function (id) {\n return $$.selectorTarget(id, prefix);\n }) : null;\n };\n\n ChartInternal.prototype.selectorLegend = function (id) {\n return '.' + CLASS.legendItem + this.getTargetSelectorSuffix(id);\n };\n\n ChartInternal.prototype.selectorLegends = function (ids) {\n var $$ = this;\n return ids && ids.length ? ids.map(function (id) {\n return $$.selectorLegend(id);\n }) : null;\n };\n\n ChartInternal.prototype.getClipPath = function (id) {\n var isIE9 = window.navigator.appVersion.toLowerCase().indexOf(\"msie 9.\") >= 0;\n return \"url(\" + (isIE9 ? \"\" : document.URL.split('#')[0]) + \"#\" + id + \")\";\n };\n\n ChartInternal.prototype.appendClip = function (parent, id) {\n return parent.append(\"clipPath\").attr(\"id\", id).append(\"rect\");\n };\n\n ChartInternal.prototype.getAxisClipX = function (forHorizontal) {\n // axis line width + padding for left\n var left = Math.max(30, this.margin.left);\n return forHorizontal ? -(1 + left) : -(left - 1);\n };\n\n ChartInternal.prototype.getAxisClipY = function (forHorizontal) {\n return forHorizontal ? -20 : -this.margin.top;\n };\n\n ChartInternal.prototype.getXAxisClipX = function () {\n var $$ = this;\n return $$.getAxisClipX(!$$.config.axis_rotated);\n };\n\n ChartInternal.prototype.getXAxisClipY = function () {\n var $$ = this;\n return $$.getAxisClipY(!$$.config.axis_rotated);\n };\n\n ChartInternal.prototype.getYAxisClipX = function () {\n var $$ = this;\n return $$.config.axis_y_inner ? -1 : $$.getAxisClipX($$.config.axis_rotated);\n };\n\n ChartInternal.prototype.getYAxisClipY = function () {\n var $$ = this;\n return $$.getAxisClipY($$.config.axis_rotated);\n };\n\n ChartInternal.prototype.getAxisClipWidth = function (forHorizontal) {\n var $$ = this,\n left = Math.max(30, $$.margin.left),\n right = Math.max(30, $$.margin.right); // width + axis line width + padding for left/right\n\n return forHorizontal ? $$.width + 2 + left + right : $$.margin.left + 20;\n };\n\n ChartInternal.prototype.getAxisClipHeight = function (forHorizontal) {\n // less than 20 is not enough to show the axis label 'outer' without legend\n return (forHorizontal ? this.margin.bottom : this.margin.top + this.height) + 20;\n };\n\n ChartInternal.prototype.getXAxisClipWidth = function () {\n var $$ = this;\n return $$.getAxisClipWidth(!$$.config.axis_rotated);\n };\n\n ChartInternal.prototype.getXAxisClipHeight = function () {\n var $$ = this;\n return $$.getAxisClipHeight(!$$.config.axis_rotated);\n };\n\n ChartInternal.prototype.getYAxisClipWidth = function () {\n var $$ = this;\n return $$.getAxisClipWidth($$.config.axis_rotated) + ($$.config.axis_y_inner ? 20 : 0);\n };\n\n ChartInternal.prototype.getYAxisClipHeight = function () {\n var $$ = this;\n return $$.getAxisClipHeight($$.config.axis_rotated);\n };\n\n ChartInternal.prototype.generateColor = function () {\n var $$ = this,\n config = $$.config,\n d3 = $$.d3,\n colors = config.data_colors,\n pattern = notEmpty(config.color_pattern) ? config.color_pattern : d3.schemeCategory10,\n callback = config.data_color,\n ids = [];\n return function (d) {\n var id = d.id || d.data && d.data.id || d,\n color; // if callback function is provided\n\n if (colors[id] instanceof Function) {\n color = colors[id](d);\n } // if specified, choose that color\n else if (colors[id]) {\n color = colors[id];\n } // if not specified, choose from pattern\n else {\n if (ids.indexOf(id) < 0) {\n ids.push(id);\n }\n\n color = pattern[ids.indexOf(id) % pattern.length];\n colors[id] = color;\n }\n\n return callback instanceof Function ? callback(color, d) : color;\n };\n };\n\n ChartInternal.prototype.generateLevelColor = function () {\n var $$ = this,\n config = $$.config,\n colors = config.color_pattern,\n threshold = config.color_threshold,\n asValue = threshold.unit === 'value',\n values = threshold.values && threshold.values.length ? threshold.values : [],\n max = threshold.max || 100;\n return notEmpty(threshold) && notEmpty(colors) ? function (value) {\n var i,\n v,\n color = colors[colors.length - 1];\n\n for (i = 0; i < values.length; i++) {\n v = asValue ? value : value * 100 / max;\n\n if (v < values[i]) {\n color = colors[i];\n break;\n }\n }\n\n return color;\n } : null;\n };\n\n ChartInternal.prototype.getDefaultConfig = function () {\n var config = {\n bindto: '#chart',\n svg_classname: undefined,\n size_width: undefined,\n size_height: undefined,\n padding_left: undefined,\n padding_right: undefined,\n padding_top: undefined,\n padding_bottom: undefined,\n resize_auto: true,\n zoom_enabled: false,\n zoom_initialRange: undefined,\n zoom_type: 'scroll',\n zoom_disableDefaultBehavior: false,\n zoom_privileged: false,\n zoom_rescale: false,\n zoom_onzoom: function zoom_onzoom() {},\n zoom_onzoomstart: function zoom_onzoomstart() {},\n zoom_onzoomend: function zoom_onzoomend() {},\n zoom_x_min: undefined,\n zoom_x_max: undefined,\n interaction_brighten: true,\n interaction_enabled: true,\n onmouseover: function onmouseover() {},\n onmouseout: function onmouseout() {},\n onresize: function onresize() {},\n onresized: function onresized() {},\n oninit: function oninit() {},\n onrendered: function onrendered() {},\n transition_duration: 350,\n data_x: undefined,\n data_xs: {},\n data_xFormat: '%Y-%m-%d',\n data_xLocaltime: true,\n data_xSort: true,\n data_idConverter: function data_idConverter(id) {\n return id;\n },\n data_names: {},\n data_classes: {},\n data_groups: [],\n data_axes: {},\n data_type: undefined,\n data_types: {},\n data_labels: {},\n data_order: 'desc',\n data_regions: {},\n data_color: undefined,\n data_colors: {},\n data_hide: false,\n data_filter: undefined,\n data_selection_enabled: false,\n data_selection_grouped: false,\n data_selection_isselectable: function data_selection_isselectable() {\n return true;\n },\n data_selection_multiple: true,\n data_selection_draggable: false,\n data_onclick: function data_onclick() {},\n data_onmouseover: function data_onmouseover() {},\n data_onmouseout: function data_onmouseout() {},\n data_onselected: function data_onselected() {},\n data_onunselected: function data_onunselected() {},\n data_url: undefined,\n data_headers: undefined,\n data_json: undefined,\n data_rows: undefined,\n data_columns: undefined,\n data_mimeType: undefined,\n data_keys: undefined,\n // configuration for no plot-able data supplied.\n data_empty_label_text: \"\",\n // subchart\n subchart_show: false,\n subchart_size_height: 60,\n subchart_axis_x_show: true,\n subchart_onbrush: function subchart_onbrush() {},\n // color\n color_pattern: [],\n color_threshold: {},\n // legend\n legend_show: true,\n legend_hide: false,\n legend_position: 'bottom',\n legend_inset_anchor: 'top-left',\n legend_inset_x: 10,\n legend_inset_y: 0,\n legend_inset_step: undefined,\n legend_item_onclick: undefined,\n legend_item_onmouseover: undefined,\n legend_item_onmouseout: undefined,\n legend_equally: false,\n legend_padding: 0,\n legend_item_tile_width: 10,\n legend_item_tile_height: 10,\n // axis\n axis_rotated: false,\n axis_x_show: true,\n axis_x_type: 'indexed',\n axis_x_localtime: true,\n axis_x_categories: [],\n axis_x_tick_centered: false,\n axis_x_tick_format: undefined,\n axis_x_tick_culling: {},\n axis_x_tick_culling_max: 10,\n axis_x_tick_count: undefined,\n axis_x_tick_fit: true,\n axis_x_tick_values: null,\n axis_x_tick_rotate: 0,\n axis_x_tick_outer: true,\n axis_x_tick_multiline: true,\n axis_x_tick_multilineMax: 0,\n axis_x_tick_width: null,\n axis_x_max: undefined,\n axis_x_min: undefined,\n axis_x_padding: {},\n axis_x_height: undefined,\n axis_x_selection: undefined,\n axis_x_label: {},\n axis_x_inner: undefined,\n axis_y_show: true,\n axis_y_type: undefined,\n axis_y_max: undefined,\n axis_y_min: undefined,\n axis_y_inverted: false,\n axis_y_center: undefined,\n axis_y_inner: undefined,\n axis_y_label: {},\n axis_y_tick_format: undefined,\n axis_y_tick_outer: true,\n axis_y_tick_values: null,\n axis_y_tick_rotate: 0,\n axis_y_tick_count: undefined,\n axis_y_tick_time_type: undefined,\n axis_y_tick_time_interval: undefined,\n axis_y_padding: {},\n axis_y_default: undefined,\n axis_y2_show: false,\n axis_y2_max: undefined,\n axis_y2_min: undefined,\n axis_y2_inverted: false,\n axis_y2_center: undefined,\n axis_y2_inner: undefined,\n axis_y2_label: {},\n axis_y2_tick_format: undefined,\n axis_y2_tick_outer: true,\n axis_y2_tick_values: null,\n axis_y2_tick_count: undefined,\n axis_y2_padding: {},\n axis_y2_default: undefined,\n // grid\n grid_x_show: false,\n grid_x_type: 'tick',\n grid_x_lines: [],\n grid_y_show: false,\n // not used\n // grid_y_type: 'tick',\n grid_y_lines: [],\n grid_y_ticks: 10,\n grid_focus_show: true,\n grid_lines_front: true,\n // point - point of each data\n point_show: true,\n point_r: 2.5,\n point_sensitivity: 10,\n point_focus_expand_enabled: true,\n point_focus_expand_r: undefined,\n point_select_r: undefined,\n // line\n line_connectNull: false,\n line_step_type: 'step',\n // bar\n bar_width: undefined,\n bar_width_ratio: 0.6,\n bar_width_max: undefined,\n bar_zerobased: true,\n bar_space: 0,\n // area\n area_zerobased: true,\n area_above: false,\n // pie\n pie_label_show: true,\n pie_label_format: undefined,\n pie_label_threshold: 0.05,\n pie_label_ratio: undefined,\n pie_expand: {},\n pie_expand_duration: 50,\n // gauge\n gauge_fullCircle: false,\n gauge_label_show: true,\n gauge_labelLine_show: true,\n gauge_label_format: undefined,\n gauge_min: 0,\n gauge_max: 100,\n gauge_startingAngle: -1 * Math.PI / 2,\n gauge_label_extents: undefined,\n gauge_units: undefined,\n gauge_width: undefined,\n gauge_arcs_minWidth: 5,\n gauge_expand: {},\n gauge_expand_duration: 50,\n // donut\n donut_label_show: true,\n donut_label_format: undefined,\n donut_label_threshold: 0.05,\n donut_label_ratio: undefined,\n donut_width: undefined,\n donut_title: \"\",\n donut_expand: {},\n donut_expand_duration: 50,\n // spline\n spline_interpolation_type: 'cardinal',\n // region - region to change style\n regions: [],\n // tooltip - show when mouseover on each data\n tooltip_show: true,\n tooltip_grouped: true,\n tooltip_order: undefined,\n tooltip_format_title: undefined,\n tooltip_format_name: undefined,\n tooltip_format_value: undefined,\n tooltip_position: undefined,\n tooltip_contents: function tooltip_contents(d, defaultTitleFormat, defaultValueFormat, color) {\n return this.getTooltipContent ? this.getTooltipContent(d, defaultTitleFormat, defaultValueFormat, color) : '';\n },\n tooltip_init_show: false,\n tooltip_init_x: 0,\n tooltip_init_position: {\n top: '0px',\n left: '50px'\n },\n tooltip_onshow: function tooltip_onshow() {},\n tooltip_onhide: function tooltip_onhide() {},\n // title\n title_text: undefined,\n title_padding: {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n },\n title_position: 'top-center'\n };\n Object.keys(this.additionalConfig).forEach(function (key) {\n config[key] = this.additionalConfig[key];\n }, this);\n return config;\n };\n\n ChartInternal.prototype.additionalConfig = {};\n\n ChartInternal.prototype.loadConfig = function (config) {\n var this_config = this.config,\n target,\n keys,\n read;\n\n function find() {\n var key = keys.shift(); // console.log(\"key =>\", key, \", target =>\", target);\n\n if (key && target && _typeof(target) === 'object' && key in target) {\n target = target[key];\n return find();\n } else if (!key) {\n return target;\n } else {\n return undefined;\n }\n }\n\n Object.keys(this_config).forEach(function (key) {\n target = config;\n keys = key.split('_');\n read = find(); // console.log(\"CONFIG : \", key, read);\n\n if (isDefined(read)) {\n this_config[key] = read;\n }\n });\n };\n\n ChartInternal.prototype.convertUrlToData = function (url, mimeType, headers, keys, done) {\n var $$ = this,\n type = mimeType ? mimeType : 'csv',\n f,\n converter;\n\n if (type === 'json') {\n f = $$.d3.json;\n converter = $$.convertJsonToData;\n } else if (type === 'tsv') {\n f = $$.d3.tsv;\n converter = $$.convertXsvToData;\n } else {\n f = $$.d3.csv;\n converter = $$.convertXsvToData;\n }\n\n f(url, headers).then(function (data) {\n done.call($$, converter.call($$, data, keys));\n }).catch(function (error) {\n throw error;\n });\n };\n\n ChartInternal.prototype.convertXsvToData = function (xsv) {\n var keys = xsv.columns,\n rows = xsv;\n\n if (rows.length === 0) {\n return {\n keys: keys,\n rows: [keys.reduce(function (row, key) {\n return Object.assign(row, _defineProperty({}, key, null));\n }, {})]\n };\n } else {\n // [].concat() is to convert result into a plain array otherwise\n // test is not happy because rows have properties.\n return {\n keys: keys,\n rows: [].concat(xsv)\n };\n }\n };\n\n ChartInternal.prototype.convertJsonToData = function (json, keys) {\n var $$ = this,\n new_rows = [],\n targetKeys,\n data;\n\n if (keys) {\n // when keys specified, json would be an array that includes objects\n if (keys.x) {\n targetKeys = keys.value.concat(keys.x);\n $$.config.data_x = keys.x;\n } else {\n targetKeys = keys.value;\n }\n\n new_rows.push(targetKeys);\n json.forEach(function (o) {\n var new_row = [];\n targetKeys.forEach(function (key) {\n // convert undefined to null because undefined data will be removed in convertDataToTargets()\n var v = $$.findValueInJson(o, key);\n\n if (isUndefined(v)) {\n v = null;\n }\n\n new_row.push(v);\n });\n new_rows.push(new_row);\n });\n data = $$.convertRowsToData(new_rows);\n } else {\n Object.keys(json).forEach(function (key) {\n new_rows.push([key].concat(json[key]));\n });\n data = $$.convertColumnsToData(new_rows);\n }\n\n return data;\n };\n\n ChartInternal.prototype.findValueInJson = function (object, path) {\n path = path.replace(/\\[(\\w+)\\]/g, '.$1'); // convert indexes to properties (replace [] with .)\n\n path = path.replace(/^\\./, ''); // strip a leading dot\n\n var pathArray = path.split('.');\n\n for (var i = 0; i < pathArray.length; ++i) {\n var k = pathArray[i];\n\n if (k in object) {\n object = object[k];\n } else {\n return;\n }\n }\n\n return object;\n };\n /**\n * Converts the rows to normalized data.\n * @param {any[][]} rows The row data\n * @return {Object}\n */\n\n\n ChartInternal.prototype.convertRowsToData = function (rows) {\n var newRows = [];\n var keys = rows[0];\n\n for (var i = 1; i < rows.length; i++) {\n var newRow = {};\n\n for (var j = 0; j < rows[i].length; j++) {\n if (isUndefined(rows[i][j])) {\n throw new Error(\"Source data is missing a component at (\" + i + \",\" + j + \")!\");\n }\n\n newRow[keys[j]] = rows[i][j];\n }\n\n newRows.push(newRow);\n }\n\n return {\n keys: keys,\n rows: newRows\n };\n };\n /**\n * Converts the columns to normalized data.\n * @param {any[][]} columns The column data\n * @return {Object}\n */\n\n\n ChartInternal.prototype.convertColumnsToData = function (columns) {\n var newRows = [];\n var keys = [];\n\n for (var i = 0; i < columns.length; i++) {\n var key = columns[i][0];\n\n for (var j = 1; j < columns[i].length; j++) {\n if (isUndefined(newRows[j - 1])) {\n newRows[j - 1] = {};\n }\n\n if (isUndefined(columns[i][j])) {\n throw new Error(\"Source data is missing a component at (\" + i + \",\" + j + \")!\");\n }\n\n newRows[j - 1][key] = columns[i][j];\n }\n\n keys.push(key);\n }\n\n return {\n keys: keys,\n rows: newRows\n };\n };\n /**\n * Converts the data format into the target format.\n * @param {!Object} data\n * @param {!Array} data.keys Ordered list of target IDs.\n * @param {!Array} data.rows Rows of data to convert.\n * @param {boolean} appendXs True to append to $$.data.xs, False to replace.\n * @return {!Array}\n */\n\n\n ChartInternal.prototype.convertDataToTargets = function (data, appendXs) {\n var $$ = this,\n config = $$.config,\n targets,\n ids,\n xs,\n keys; // handles format where keys are not orderly provided\n\n if (isArray(data)) {\n keys = Object.keys(data[0]);\n } else {\n keys = data.keys;\n data = data.rows;\n }\n\n ids = keys.filter($$.isNotX, $$);\n xs = keys.filter($$.isX, $$); // save x for update data by load when custom x and c3.x API\n\n ids.forEach(function (id) {\n var xKey = $$.getXKey(id);\n\n if ($$.isCustomX() || $$.isTimeSeries()) {\n // if included in input data\n if (xs.indexOf(xKey) >= 0) {\n $$.data.xs[id] = (appendXs && $$.data.xs[id] ? $$.data.xs[id] : []).concat(data.map(function (d) {\n return d[xKey];\n }).filter(isValue).map(function (rawX, i) {\n return $$.generateTargetX(rawX, id, i);\n }));\n } // if not included in input data, find from preloaded data of other id's x\n else if (config.data_x) {\n $$.data.xs[id] = $$.getOtherTargetXs();\n } // if not included in input data, find from preloaded data\n else if (notEmpty(config.data_xs)) {\n $$.data.xs[id] = $$.getXValuesOfXKey(xKey, $$.data.targets);\n } // MEMO: if no x included, use same x of current will be used\n\n } else {\n $$.data.xs[id] = data.map(function (d, i) {\n return i;\n });\n }\n }); // check x is defined\n\n ids.forEach(function (id) {\n if (!$$.data.xs[id]) {\n throw new Error('x is not defined for id = \"' + id + '\".');\n }\n }); // convert to target\n\n targets = ids.map(function (id, index) {\n var convertedId = config.data_idConverter(id);\n return {\n id: convertedId,\n id_org: id,\n values: data.map(function (d, i) {\n var xKey = $$.getXKey(id),\n rawX = d[xKey],\n value = d[id] !== null && !isNaN(d[id]) ? +d[id] : null,\n x; // use x as categories if custom x and categorized\n\n if ($$.isCustomX() && $$.isCategorized() && !isUndefined(rawX)) {\n if (index === 0 && i === 0) {\n config.axis_x_categories = [];\n }\n\n x = config.axis_x_categories.indexOf(rawX);\n\n if (x === -1) {\n x = config.axis_x_categories.length;\n config.axis_x_categories.push(rawX);\n }\n } else {\n x = $$.generateTargetX(rawX, id, i);\n } // mark as x = undefined if value is undefined and filter to remove after mapped\n\n\n if (isUndefined(d[id]) || $$.data.xs[id].length <= i) {\n x = undefined;\n }\n\n return {\n x: x,\n value: value,\n id: convertedId\n };\n }).filter(function (v) {\n return isDefined(v.x);\n })\n };\n }); // finish targets\n\n targets.forEach(function (t) {\n var i; // sort values by its x\n\n if (config.data_xSort) {\n t.values = t.values.sort(function (v1, v2) {\n var x1 = v1.x || v1.x === 0 ? v1.x : Infinity,\n x2 = v2.x || v2.x === 0 ? v2.x : Infinity;\n return x1 - x2;\n });\n } // indexing each value\n\n\n i = 0;\n t.values.forEach(function (v) {\n v.index = i++;\n }); // this needs to be sorted because its index and value.index is identical\n\n $$.data.xs[t.id].sort(function (v1, v2) {\n return v1 - v2;\n });\n }); // cache information about values\n\n $$.hasNegativeValue = $$.hasNegativeValueInTargets(targets);\n $$.hasPositiveValue = $$.hasPositiveValueInTargets(targets); // set target types\n\n if (config.data_type) {\n $$.setTargetType($$.mapToIds(targets).filter(function (id) {\n return !(id in config.data_types);\n }), config.data_type);\n } // cache as original id keyed\n\n\n targets.forEach(function (d) {\n $$.addCache(d.id_org, d);\n });\n return targets;\n };\n\n ChartInternal.prototype.isX = function (key) {\n var $$ = this,\n config = $$.config;\n return config.data_x && key === config.data_x || notEmpty(config.data_xs) && hasValue(config.data_xs, key);\n };\n\n ChartInternal.prototype.isNotX = function (key) {\n return !this.isX(key);\n };\n\n ChartInternal.prototype.getXKey = function (id) {\n var $$ = this,\n config = $$.config;\n return config.data_x ? config.data_x : notEmpty(config.data_xs) ? config.data_xs[id] : null;\n };\n\n ChartInternal.prototype.getXValuesOfXKey = function (key, targets) {\n var $$ = this,\n xValues,\n ids = targets && notEmpty(targets) ? $$.mapToIds(targets) : [];\n ids.forEach(function (id) {\n if ($$.getXKey(id) === key) {\n xValues = $$.data.xs[id];\n }\n });\n return xValues;\n };\n\n ChartInternal.prototype.getXValue = function (id, i) {\n var $$ = this;\n return id in $$.data.xs && $$.data.xs[id] && isValue($$.data.xs[id][i]) ? $$.data.xs[id][i] : i;\n };\n\n ChartInternal.prototype.getOtherTargetXs = function () {\n var $$ = this,\n idsForX = Object.keys($$.data.xs);\n return idsForX.length ? $$.data.xs[idsForX[0]] : null;\n };\n\n ChartInternal.prototype.getOtherTargetX = function (index) {\n var xs = this.getOtherTargetXs();\n return xs && index < xs.length ? xs[index] : null;\n };\n\n ChartInternal.prototype.addXs = function (xs) {\n var $$ = this;\n Object.keys(xs).forEach(function (id) {\n $$.config.data_xs[id] = xs[id];\n });\n };\n\n ChartInternal.prototype.addName = function (data) {\n var $$ = this,\n name;\n\n if (data) {\n name = $$.config.data_names[data.id];\n data.name = name !== undefined ? name : data.id;\n }\n\n return data;\n };\n\n ChartInternal.prototype.getValueOnIndex = function (values, index) {\n var valueOnIndex = values.filter(function (v) {\n return v.index === index;\n });\n return valueOnIndex.length ? valueOnIndex[0] : null;\n };\n\n ChartInternal.prototype.updateTargetX = function (targets, x) {\n var $$ = this;\n targets.forEach(function (t) {\n t.values.forEach(function (v, i) {\n v.x = $$.generateTargetX(x[i], t.id, i);\n });\n $$.data.xs[t.id] = x;\n });\n };\n\n ChartInternal.prototype.updateTargetXs = function (targets, xs) {\n var $$ = this;\n targets.forEach(function (t) {\n if (xs[t.id]) {\n $$.updateTargetX([t], xs[t.id]);\n }\n });\n };\n\n ChartInternal.prototype.generateTargetX = function (rawX, id, index) {\n var $$ = this,\n x;\n\n if ($$.isTimeSeries()) {\n x = rawX ? $$.parseDate(rawX) : $$.parseDate($$.getXValue(id, index));\n } else if ($$.isCustomX() && !$$.isCategorized()) {\n x = isValue(rawX) ? +rawX : $$.getXValue(id, index);\n } else {\n x = index;\n }\n\n return x;\n };\n\n ChartInternal.prototype.cloneTarget = function (target) {\n return {\n id: target.id,\n id_org: target.id_org,\n values: target.values.map(function (d) {\n return {\n x: d.x,\n value: d.value,\n id: d.id\n };\n })\n };\n };\n\n ChartInternal.prototype.getMaxDataCount = function () {\n var $$ = this;\n return $$.d3.max($$.data.targets, function (t) {\n return t.values.length;\n });\n };\n\n ChartInternal.prototype.mapToIds = function (targets) {\n return targets.map(function (d) {\n return d.id;\n });\n };\n\n ChartInternal.prototype.mapToTargetIds = function (ids) {\n var $$ = this;\n return ids ? [].concat(ids) : $$.mapToIds($$.data.targets);\n };\n\n ChartInternal.prototype.hasTarget = function (targets, id) {\n var ids = this.mapToIds(targets),\n i;\n\n for (i = 0; i < ids.length; i++) {\n if (ids[i] === id) {\n return true;\n }\n }\n\n return false;\n };\n\n ChartInternal.prototype.isTargetToShow = function (targetId) {\n return this.hiddenTargetIds.indexOf(targetId) < 0;\n };\n\n ChartInternal.prototype.isLegendToShow = function (targetId) {\n return this.hiddenLegendIds.indexOf(targetId) < 0;\n };\n\n ChartInternal.prototype.filterTargetsToShow = function (targets) {\n var $$ = this;\n return targets.filter(function (t) {\n return $$.isTargetToShow(t.id);\n });\n };\n\n ChartInternal.prototype.mapTargetsToUniqueXs = function (targets) {\n var $$ = this;\n var xs = $$.d3.set($$.d3.merge(targets.map(function (t) {\n return t.values.map(function (v) {\n return +v.x;\n });\n }))).values();\n xs = $$.isTimeSeries() ? xs.map(function (x) {\n return new Date(+x);\n }) : xs.map(function (x) {\n return +x;\n });\n return xs.sort(function (a, b) {\n return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;\n });\n };\n\n ChartInternal.prototype.addHiddenTargetIds = function (targetIds) {\n targetIds = targetIds instanceof Array ? targetIds : new Array(targetIds);\n\n for (var i = 0; i < targetIds.length; i++) {\n if (this.hiddenTargetIds.indexOf(targetIds[i]) < 0) {\n this.hiddenTargetIds = this.hiddenTargetIds.concat(targetIds[i]);\n }\n }\n };\n\n ChartInternal.prototype.removeHiddenTargetIds = function (targetIds) {\n this.hiddenTargetIds = this.hiddenTargetIds.filter(function (id) {\n return targetIds.indexOf(id) < 0;\n });\n };\n\n ChartInternal.prototype.addHiddenLegendIds = function (targetIds) {\n targetIds = targetIds instanceof Array ? targetIds : new Array(targetIds);\n\n for (var i = 0; i < targetIds.length; i++) {\n if (this.hiddenLegendIds.indexOf(targetIds[i]) < 0) {\n this.hiddenLegendIds = this.hiddenLegendIds.concat(targetIds[i]);\n }\n }\n };\n\n ChartInternal.prototype.removeHiddenLegendIds = function (targetIds) {\n this.hiddenLegendIds = this.hiddenLegendIds.filter(function (id) {\n return targetIds.indexOf(id) < 0;\n });\n };\n\n ChartInternal.prototype.getValuesAsIdKeyed = function (targets) {\n var ys = {};\n targets.forEach(function (t) {\n ys[t.id] = [];\n t.values.forEach(function (v) {\n ys[t.id].push(v.value);\n });\n });\n return ys;\n };\n\n ChartInternal.prototype.checkValueInTargets = function (targets, checker) {\n var ids = Object.keys(targets),\n i,\n j,\n values;\n\n for (i = 0; i < ids.length; i++) {\n values = targets[ids[i]].values;\n\n for (j = 0; j < values.length; j++) {\n if (checker(values[j].value)) {\n return true;\n }\n }\n }\n\n return false;\n };\n\n ChartInternal.prototype.hasNegativeValueInTargets = function (targets) {\n return this.checkValueInTargets(targets, function (v) {\n return v < 0;\n });\n };\n\n ChartInternal.prototype.hasPositiveValueInTargets = function (targets) {\n return this.checkValueInTargets(targets, function (v) {\n return v > 0;\n });\n };\n\n ChartInternal.prototype.isOrderDesc = function () {\n var config = this.config;\n return typeof config.data_order === 'string' && config.data_order.toLowerCase() === 'desc';\n };\n\n ChartInternal.prototype.isOrderAsc = function () {\n var config = this.config;\n return typeof config.data_order === 'string' && config.data_order.toLowerCase() === 'asc';\n };\n\n ChartInternal.prototype.getOrderFunction = function () {\n var $$ = this,\n config = $$.config,\n orderAsc = $$.isOrderAsc(),\n orderDesc = $$.isOrderDesc();\n\n if (orderAsc || orderDesc) {\n var reducer = function reducer(p, c) {\n return p + Math.abs(c.value);\n };\n\n return function (t1, t2) {\n var t1Sum = t1.values.reduce(reducer, 0),\n t2Sum = t2.values.reduce(reducer, 0);\n return orderAsc ? t2Sum - t1Sum : t1Sum - t2Sum;\n };\n } else if (isFunction(config.data_order)) {\n return config.data_order;\n } else if (isArray(config.data_order)) {\n var order = config.data_order;\n return function (t1, t2) {\n return order.indexOf(t1.id) - order.indexOf(t2.id);\n };\n }\n };\n\n ChartInternal.prototype.orderTargets = function (targets) {\n var fct = this.getOrderFunction();\n\n if (fct) {\n targets.sort(fct);\n }\n\n return targets;\n };\n\n ChartInternal.prototype.filterByX = function (targets, x) {\n return this.d3.merge(targets.map(function (t) {\n return t.values;\n })).filter(function (v) {\n return v.x - x === 0;\n });\n };\n\n ChartInternal.prototype.filterRemoveNull = function (data) {\n return data.filter(function (d) {\n return isValue(d.value);\n });\n };\n\n ChartInternal.prototype.filterByXDomain = function (targets, xDomain) {\n return targets.map(function (t) {\n return {\n id: t.id,\n id_org: t.id_org,\n values: t.values.filter(function (v) {\n return xDomain[0] <= v.x && v.x <= xDomain[1];\n })\n };\n });\n };\n\n ChartInternal.prototype.hasDataLabel = function () {\n var config = this.config;\n\n if (typeof config.data_labels === 'boolean' && config.data_labels) {\n return true;\n } else if (_typeof(config.data_labels) === 'object' && notEmpty(config.data_labels)) {\n return true;\n }\n\n return false;\n };\n\n ChartInternal.prototype.getDataLabelLength = function (min, max, key) {\n var $$ = this,\n lengths = [0, 0],\n paddingCoef = 1.3;\n $$.selectChart.select('svg').selectAll('.dummy').data([min, max]).enter().append('text').text(function (d) {\n return $$.dataLabelFormat(d.id)(d);\n }).each(function (d, i) {\n lengths[i] = this.getBoundingClientRect()[key] * paddingCoef;\n }).remove();\n return lengths;\n };\n /**\n * Returns true if the given data point is not arc type, otherwise false.\n * @param {Object} d The data point\n * @return {boolean}\n */\n\n\n ChartInternal.prototype.isNoneArc = function (d) {\n return this.hasTarget(this.data.targets, d.id);\n };\n /**\n * Returns true if the given data point is arc type, otherwise false.\n * @param {Object} d The data point\n * @return {boolean}\n */\n\n\n ChartInternal.prototype.isArc = function (d) {\n return 'data' in d && this.hasTarget(this.data.targets, d.data.id);\n };\n\n ChartInternal.prototype.findClosestFromTargets = function (targets, pos) {\n var $$ = this,\n candidates; // map to array of closest points of each target\n\n candidates = targets.map(function (target) {\n return $$.findClosest(target.values, pos);\n }); // decide closest point and return\n\n return $$.findClosest(candidates, pos);\n };\n\n ChartInternal.prototype.findClosest = function (values, pos) {\n var $$ = this,\n minDist = $$.config.point_sensitivity,\n closest; // find mouseovering bar\n\n values.filter(function (v) {\n return v && $$.isBarType(v.id);\n }).forEach(function (v) {\n var shape = $$.main.select('.' + CLASS.bars + $$.getTargetSelectorSuffix(v.id) + ' .' + CLASS.bar + '-' + v.index).node();\n\n if (!closest && $$.isWithinBar($$.d3.mouse(shape), shape)) {\n closest = v;\n }\n }); // find closest point from non-bar\n\n values.filter(function (v) {\n return v && !$$.isBarType(v.id);\n }).forEach(function (v) {\n var d = $$.dist(v, pos);\n\n if (d < minDist) {\n minDist = d;\n closest = v;\n }\n });\n return closest;\n };\n\n ChartInternal.prototype.dist = function (data, pos) {\n var $$ = this,\n config = $$.config,\n xIndex = config.axis_rotated ? 1 : 0,\n yIndex = config.axis_rotated ? 0 : 1,\n y = $$.circleY(data, data.index),\n x = $$.x(data.x);\n return Math.sqrt(Math.pow(x - pos[xIndex], 2) + Math.pow(y - pos[yIndex], 2));\n };\n\n ChartInternal.prototype.convertValuesToStep = function (values) {\n var converted = [].concat(values),\n i;\n\n if (!this.isCategorized()) {\n return values;\n }\n\n for (i = values.length + 1; 0 < i; i--) {\n converted[i] = converted[i - 1];\n }\n\n converted[0] = {\n x: converted[0].x - 1,\n value: converted[0].value,\n id: converted[0].id\n };\n converted[values.length + 1] = {\n x: converted[values.length].x + 1,\n value: converted[values.length].value,\n id: converted[values.length].id\n };\n return converted;\n };\n\n ChartInternal.prototype.updateDataAttributes = function (name, attrs) {\n var $$ = this,\n config = $$.config,\n current = config['data_' + name];\n\n if (typeof attrs === 'undefined') {\n return current;\n }\n\n Object.keys(attrs).forEach(function (id) {\n current[id] = attrs[id];\n });\n $$.redraw({\n withLegend: true\n });\n return current;\n };\n\n ChartInternal.prototype.load = function (targets, args) {\n var $$ = this;\n\n if (targets) {\n // filter loading targets if needed\n if (args.filter) {\n targets = targets.filter(args.filter);\n } // set type if args.types || args.type specified\n\n\n if (args.type || args.types) {\n targets.forEach(function (t) {\n var type = args.types && args.types[t.id] ? args.types[t.id] : args.type;\n $$.setTargetType(t.id, type);\n });\n } // Update/Add data\n\n\n $$.data.targets.forEach(function (d) {\n for (var i = 0; i < targets.length; i++) {\n if (d.id === targets[i].id) {\n d.values = targets[i].values;\n targets.splice(i, 1);\n break;\n }\n }\n });\n $$.data.targets = $$.data.targets.concat(targets); // add remained\n } // Set targets\n\n\n $$.updateTargets($$.data.targets); // Redraw with new targets\n\n $$.redraw({\n withUpdateOrgXDomain: true,\n withUpdateXDomain: true,\n withLegend: true\n });\n\n if (args.done) {\n args.done();\n }\n };\n\n ChartInternal.prototype.loadFromArgs = function (args) {\n var $$ = this;\n\n if (args.data) {\n $$.load($$.convertDataToTargets(args.data), args);\n } else if (args.url) {\n $$.convertUrlToData(args.url, args.mimeType, args.headers, args.keys, function (data) {\n $$.load($$.convertDataToTargets(data), args);\n });\n } else if (args.json) {\n $$.load($$.convertDataToTargets($$.convertJsonToData(args.json, args.keys)), args);\n } else if (args.rows) {\n $$.load($$.convertDataToTargets($$.convertRowsToData(args.rows)), args);\n } else if (args.columns) {\n $$.load($$.convertDataToTargets($$.convertColumnsToData(args.columns)), args);\n } else {\n $$.load(null, args);\n }\n };\n\n ChartInternal.prototype.unload = function (targetIds, done) {\n var $$ = this;\n\n if (!done) {\n done = function done() {};\n } // filter existing target\n\n\n targetIds = targetIds.filter(function (id) {\n return $$.hasTarget($$.data.targets, id);\n }); // If no target, call done and return\n\n if (!targetIds || targetIds.length === 0) {\n done();\n return;\n }\n\n $$.svg.selectAll(targetIds.map(function (id) {\n return $$.selectorTarget(id);\n })).transition().style('opacity', 0).remove().call($$.endall, done);\n targetIds.forEach(function (id) {\n // Reset fadein for future load\n $$.withoutFadeIn[id] = false; // Remove target's elements\n\n if ($$.legend) {\n $$.legend.selectAll('.' + CLASS.legendItem + $$.getTargetSelectorSuffix(id)).remove();\n } // Remove target\n\n\n $$.data.targets = $$.data.targets.filter(function (t) {\n return t.id !== id;\n });\n });\n };\n\n ChartInternal.prototype.getYDomainMin = function (targets) {\n var $$ = this,\n config = $$.config,\n ids = $$.mapToIds(targets),\n ys = $$.getValuesAsIdKeyed(targets),\n j,\n k,\n baseId,\n idsInGroup,\n id,\n hasNegativeValue;\n\n if (config.data_groups.length > 0) {\n hasNegativeValue = $$.hasNegativeValueInTargets(targets);\n\n for (j = 0; j < config.data_groups.length; j++) {\n // Determine baseId\n idsInGroup = config.data_groups[j].filter(function (id) {\n return ids.indexOf(id) >= 0;\n });\n\n if (idsInGroup.length === 0) {\n continue;\n }\n\n baseId = idsInGroup[0]; // Consider negative values\n\n if (hasNegativeValue && ys[baseId]) {\n ys[baseId].forEach(function (v, i) {\n ys[baseId][i] = v < 0 ? v : 0;\n });\n } // Compute min\n\n\n for (k = 1; k < idsInGroup.length; k++) {\n id = idsInGroup[k];\n\n if (!ys[id]) {\n continue;\n }\n\n ys[id].forEach(function (v, i) {\n if ($$.axis.getId(id) === $$.axis.getId(baseId) && ys[baseId] && !(hasNegativeValue && +v > 0)) {\n ys[baseId][i] += +v;\n }\n });\n }\n }\n }\n\n return $$.d3.min(Object.keys(ys).map(function (key) {\n return $$.d3.min(ys[key]);\n }));\n };\n\n ChartInternal.prototype.getYDomainMax = function (targets) {\n var $$ = this,\n config = $$.config,\n ids = $$.mapToIds(targets),\n ys = $$.getValuesAsIdKeyed(targets),\n j,\n k,\n baseId,\n idsInGroup,\n id,\n hasPositiveValue;\n\n if (config.data_groups.length > 0) {\n hasPositiveValue = $$.hasPositiveValueInTargets(targets);\n\n for (j = 0; j < config.data_groups.length; j++) {\n // Determine baseId\n idsInGroup = config.data_groups[j].filter(function (id) {\n return ids.indexOf(id) >= 0;\n });\n\n if (idsInGroup.length === 0) {\n continue;\n }\n\n baseId = idsInGroup[0]; // Consider positive values\n\n if (hasPositiveValue && ys[baseId]) {\n ys[baseId].forEach(function (v, i) {\n ys[baseId][i] = v > 0 ? v : 0;\n });\n } // Compute max\n\n\n for (k = 1; k < idsInGroup.length; k++) {\n id = idsInGroup[k];\n\n if (!ys[id]) {\n continue;\n }\n\n ys[id].forEach(function (v, i) {\n if ($$.axis.getId(id) === $$.axis.getId(baseId) && ys[baseId] && !(hasPositiveValue && +v < 0)) {\n ys[baseId][i] += +v;\n }\n });\n }\n }\n }\n\n return $$.d3.max(Object.keys(ys).map(function (key) {\n return $$.d3.max(ys[key]);\n }));\n };\n\n ChartInternal.prototype.getYDomain = function (targets, axisId, xDomain) {\n var $$ = this,\n config = $$.config,\n targetsByAxisId = targets.filter(function (t) {\n return $$.axis.getId(t.id) === axisId;\n }),\n yTargets = xDomain ? $$.filterByXDomain(targetsByAxisId, xDomain) : targetsByAxisId,\n yMin = axisId === 'y2' ? config.axis_y2_min : config.axis_y_min,\n yMax = axisId === 'y2' ? config.axis_y2_max : config.axis_y_max,\n yDomainMin = $$.getYDomainMin(yTargets),\n yDomainMax = $$.getYDomainMax(yTargets),\n domain,\n domainLength,\n padding,\n padding_top,\n padding_bottom,\n center = axisId === 'y2' ? config.axis_y2_center : config.axis_y_center,\n yDomainAbs,\n lengths,\n diff,\n ratio,\n isAllPositive,\n isAllNegative,\n isZeroBased = $$.hasType('bar', yTargets) && config.bar_zerobased || $$.hasType('area', yTargets) && config.area_zerobased,\n isInverted = axisId === 'y2' ? config.axis_y2_inverted : config.axis_y_inverted,\n showHorizontalDataLabel = $$.hasDataLabel() && config.axis_rotated,\n showVerticalDataLabel = $$.hasDataLabel() && !config.axis_rotated; // MEMO: avoid inverting domain unexpectedly\n\n yDomainMin = isValue(yMin) ? yMin : isValue(yMax) ? yDomainMin < yMax ? yDomainMin : yMax - 10 : yDomainMin;\n yDomainMax = isValue(yMax) ? yMax : isValue(yMin) ? yMin < yDomainMax ? yDomainMax : yMin + 10 : yDomainMax;\n\n if (yTargets.length === 0) {\n // use current domain if target of axisId is none\n return axisId === 'y2' ? $$.y2.domain() : $$.y.domain();\n }\n\n if (isNaN(yDomainMin)) {\n // set minimum to zero when not number\n yDomainMin = 0;\n }\n\n if (isNaN(yDomainMax)) {\n // set maximum to have same value as yDomainMin\n yDomainMax = yDomainMin;\n }\n\n if (yDomainMin === yDomainMax) {\n yDomainMin < 0 ? yDomainMax = 0 : yDomainMin = 0;\n }\n\n isAllPositive = yDomainMin >= 0 && yDomainMax >= 0;\n isAllNegative = yDomainMin <= 0 && yDomainMax <= 0; // Cancel zerobased if axis_*_min / axis_*_max specified\n\n if (isValue(yMin) && isAllPositive || isValue(yMax) && isAllNegative) {\n isZeroBased = false;\n } // Bar/Area chart should be 0-based if all positive|negative\n\n\n if (isZeroBased) {\n if (isAllPositive) {\n yDomainMin = 0;\n }\n\n if (isAllNegative) {\n yDomainMax = 0;\n }\n }\n\n domainLength = Math.abs(yDomainMax - yDomainMin);\n padding = padding_top = padding_bottom = domainLength * 0.1;\n\n if (typeof center !== 'undefined') {\n yDomainAbs = Math.max(Math.abs(yDomainMin), Math.abs(yDomainMax));\n yDomainMax = center + yDomainAbs;\n yDomainMin = center - yDomainAbs;\n } // add padding for data label\n\n\n if (showHorizontalDataLabel) {\n lengths = $$.getDataLabelLength(yDomainMin, yDomainMax, 'width');\n diff = diffDomain($$.y.range());\n ratio = [lengths[0] / diff, lengths[1] / diff];\n padding_top += domainLength * (ratio[1] / (1 - ratio[0] - ratio[1]));\n padding_bottom += domainLength * (ratio[0] / (1 - ratio[0] - ratio[1]));\n } else if (showVerticalDataLabel) {\n lengths = $$.getDataLabelLength(yDomainMin, yDomainMax, 'height');\n padding_top += $$.axis.convertPixelsToAxisPadding(lengths[1], domainLength);\n padding_bottom += $$.axis.convertPixelsToAxisPadding(lengths[0], domainLength);\n }\n\n if (axisId === 'y' && notEmpty(config.axis_y_padding)) {\n padding_top = $$.axis.getPadding(config.axis_y_padding, 'top', padding_top, domainLength);\n padding_bottom = $$.axis.getPadding(config.axis_y_padding, 'bottom', padding_bottom, domainLength);\n }\n\n if (axisId === 'y2' && notEmpty(config.axis_y2_padding)) {\n padding_top = $$.axis.getPadding(config.axis_y2_padding, 'top', padding_top, domainLength);\n padding_bottom = $$.axis.getPadding(config.axis_y2_padding, 'bottom', padding_bottom, domainLength);\n } // Bar/Area chart should be 0-based if all positive|negative\n\n\n if (isZeroBased) {\n if (isAllPositive) {\n padding_bottom = yDomainMin;\n }\n\n if (isAllNegative) {\n padding_top = -yDomainMax;\n }\n }\n\n domain = [yDomainMin - padding_bottom, yDomainMax + padding_top];\n return isInverted ? domain.reverse() : domain;\n };\n\n ChartInternal.prototype.getXDomainMin = function (targets) {\n var $$ = this,\n config = $$.config;\n return isDefined(config.axis_x_min) ? $$.isTimeSeries() ? this.parseDate(config.axis_x_min) : config.axis_x_min : $$.d3.min(targets, function (t) {\n return $$.d3.min(t.values, function (v) {\n return v.x;\n });\n });\n };\n\n ChartInternal.prototype.getXDomainMax = function (targets) {\n var $$ = this,\n config = $$.config;\n return isDefined(config.axis_x_max) ? $$.isTimeSeries() ? this.parseDate(config.axis_x_max) : config.axis_x_max : $$.d3.max(targets, function (t) {\n return $$.d3.max(t.values, function (v) {\n return v.x;\n });\n });\n };\n\n ChartInternal.prototype.getXDomainPadding = function (domain) {\n var $$ = this,\n config = $$.config,\n diff = domain[1] - domain[0],\n maxDataCount,\n padding,\n paddingLeft,\n paddingRight;\n\n if ($$.isCategorized()) {\n padding = 0;\n } else if ($$.hasType('bar')) {\n maxDataCount = $$.getMaxDataCount();\n padding = maxDataCount > 1 ? diff / (maxDataCount - 1) / 2 : 0.5;\n } else {\n padding = diff * 0.01;\n }\n\n if (_typeof(config.axis_x_padding) === 'object' && notEmpty(config.axis_x_padding)) {\n paddingLeft = isValue(config.axis_x_padding.left) ? config.axis_x_padding.left : padding;\n paddingRight = isValue(config.axis_x_padding.right) ? config.axis_x_padding.right : padding;\n } else if (typeof config.axis_x_padding === 'number') {\n paddingLeft = paddingRight = config.axis_x_padding;\n } else {\n paddingLeft = paddingRight = padding;\n }\n\n return {\n left: paddingLeft,\n right: paddingRight\n };\n };\n\n ChartInternal.prototype.getXDomain = function (targets) {\n var $$ = this,\n xDomain = [$$.getXDomainMin(targets), $$.getXDomainMax(targets)],\n firstX = xDomain[0],\n lastX = xDomain[1],\n padding = $$.getXDomainPadding(xDomain),\n min = 0,\n max = 0; // show center of x domain if min and max are the same\n\n if (firstX - lastX === 0 && !$$.isCategorized()) {\n if ($$.isTimeSeries()) {\n firstX = new Date(firstX.getTime() * 0.5);\n lastX = new Date(lastX.getTime() * 1.5);\n } else {\n firstX = firstX === 0 ? 1 : firstX * 0.5;\n lastX = lastX === 0 ? -1 : lastX * 1.5;\n }\n }\n\n if (firstX || firstX === 0) {\n min = $$.isTimeSeries() ? new Date(firstX.getTime() - padding.left) : firstX - padding.left;\n }\n\n if (lastX || lastX === 0) {\n max = $$.isTimeSeries() ? new Date(lastX.getTime() + padding.right) : lastX + padding.right;\n }\n\n return [min, max];\n };\n\n ChartInternal.prototype.updateXDomain = function (targets, withUpdateXDomain, withUpdateOrgXDomain, withTrim, domain) {\n var $$ = this,\n config = $$.config;\n\n if (withUpdateOrgXDomain) {\n $$.x.domain(domain ? domain : $$.d3.extent($$.getXDomain(targets)));\n $$.orgXDomain = $$.x.domain();\n\n if (config.zoom_enabled) {\n $$.zoom.update();\n }\n\n $$.subX.domain($$.x.domain());\n\n if ($$.brush) {\n $$.brush.updateScale($$.subX);\n }\n }\n\n if (withUpdateXDomain) {\n $$.x.domain(domain ? domain : !$$.brush || $$.brush.empty() ? $$.orgXDomain : $$.brush.selectionAsValue());\n } // Trim domain when too big by zoom mousemove event\n\n\n if (withTrim) {\n $$.x.domain($$.trimXDomain($$.x.orgDomain()));\n }\n\n return $$.x.domain();\n };\n\n ChartInternal.prototype.trimXDomain = function (domain) {\n var zoomDomain = this.getZoomDomain(),\n min = zoomDomain[0],\n max = zoomDomain[1];\n\n if (domain[0] <= min) {\n domain[1] = +domain[1] + (min - domain[0]);\n domain[0] = min;\n }\n\n if (max <= domain[1]) {\n domain[0] = +domain[0] - (domain[1] - max);\n domain[1] = max;\n }\n\n return domain;\n };\n\n ChartInternal.prototype.drag = function (mouse) {\n var $$ = this,\n config = $$.config,\n main = $$.main,\n d3 = $$.d3;\n var sx, sy, mx, my, minX, maxX, minY, maxY;\n\n if ($$.hasArcType()) {\n return;\n }\n\n if (!config.data_selection_enabled) {\n return;\n } // do nothing if not selectable\n\n\n if (!config.data_selection_multiple) {\n return;\n } // skip when single selection because drag is used for multiple selection\n\n\n sx = $$.dragStart[0];\n sy = $$.dragStart[1];\n mx = mouse[0];\n my = mouse[1];\n minX = Math.min(sx, mx);\n maxX = Math.max(sx, mx);\n minY = config.data_selection_grouped ? $$.margin.top : Math.min(sy, my);\n maxY = config.data_selection_grouped ? $$.height : Math.max(sy, my);\n main.select('.' + CLASS.dragarea).attr('x', minX).attr('y', minY).attr('width', maxX - minX).attr('height', maxY - minY); // TODO: binary search when multiple xs\n\n main.selectAll('.' + CLASS.shapes).selectAll('.' + CLASS.shape).filter(function (d) {\n return config.data_selection_isselectable(d);\n }).each(function (d, i) {\n var shape = d3.select(this),\n isSelected = shape.classed(CLASS.SELECTED),\n isIncluded = shape.classed(CLASS.INCLUDED),\n _x,\n _y,\n _w,\n _h,\n toggle,\n isWithin = false,\n box;\n\n if (shape.classed(CLASS.circle)) {\n _x = shape.attr(\"cx\") * 1;\n _y = shape.attr(\"cy\") * 1;\n toggle = $$.togglePoint;\n isWithin = minX < _x && _x < maxX && minY < _y && _y < maxY;\n } else if (shape.classed(CLASS.bar)) {\n box = getPathBox(this);\n _x = box.x;\n _y = box.y;\n _w = box.width;\n _h = box.height;\n toggle = $$.togglePath;\n isWithin = !(maxX < _x || _x + _w < minX) && !(maxY < _y || _y + _h < minY);\n } else {\n // line/area selection not supported yet\n return;\n }\n\n if (isWithin ^ isIncluded) {\n shape.classed(CLASS.INCLUDED, !isIncluded); // TODO: included/unincluded callback here\n\n shape.classed(CLASS.SELECTED, !isSelected);\n toggle.call($$, !isSelected, shape, d, i);\n }\n });\n };\n\n ChartInternal.prototype.dragstart = function (mouse) {\n var $$ = this,\n config = $$.config;\n\n if ($$.hasArcType()) {\n return;\n }\n\n if (!config.data_selection_enabled) {\n return;\n } // do nothing if not selectable\n\n\n $$.dragStart = mouse;\n $$.main.select('.' + CLASS.chart).append('rect').attr('class', CLASS.dragarea).style('opacity', 0.1);\n $$.dragging = true;\n };\n\n ChartInternal.prototype.dragend = function () {\n var $$ = this,\n config = $$.config;\n\n if ($$.hasArcType()) {\n return;\n }\n\n if (!config.data_selection_enabled) {\n return;\n } // do nothing if not selectable\n\n\n $$.main.select('.' + CLASS.dragarea).transition().duration(100).style('opacity', 0).remove();\n $$.main.selectAll('.' + CLASS.shape).classed(CLASS.INCLUDED, false);\n $$.dragging = false;\n };\n\n ChartInternal.prototype.getYFormat = function (forArc) {\n var $$ = this,\n formatForY = forArc && !$$.hasType('gauge') ? $$.defaultArcValueFormat : $$.yFormat,\n formatForY2 = forArc && !$$.hasType('gauge') ? $$.defaultArcValueFormat : $$.y2Format;\n return function (v, ratio, id) {\n var format = $$.axis.getId(id) === 'y2' ? formatForY2 : formatForY;\n return format.call($$, v, ratio);\n };\n };\n\n ChartInternal.prototype.yFormat = function (v) {\n var $$ = this,\n config = $$.config,\n format = config.axis_y_tick_format ? config.axis_y_tick_format : $$.defaultValueFormat;\n return format(v);\n };\n\n ChartInternal.prototype.y2Format = function (v) {\n var $$ = this,\n config = $$.config,\n format = config.axis_y2_tick_format ? config.axis_y2_tick_format : $$.defaultValueFormat;\n return format(v);\n };\n\n ChartInternal.prototype.defaultValueFormat = function (v) {\n return isValue(v) ? +v : \"\";\n };\n\n ChartInternal.prototype.defaultArcValueFormat = function (v, ratio) {\n return (ratio * 100).toFixed(1) + '%';\n };\n\n ChartInternal.prototype.dataLabelFormat = function (targetId) {\n var $$ = this,\n data_labels = $$.config.data_labels,\n format,\n defaultFormat = function defaultFormat(v) {\n return isValue(v) ? +v : \"\";\n }; // find format according to axis id\n\n\n if (typeof data_labels.format === 'function') {\n format = data_labels.format;\n } else if (_typeof(data_labels.format) === 'object') {\n if (data_labels.format[targetId]) {\n format = data_labels.format[targetId] === true ? defaultFormat : data_labels.format[targetId];\n } else {\n format = function format() {\n return '';\n };\n }\n } else {\n format = defaultFormat;\n }\n\n return format;\n };\n\n ChartInternal.prototype.initGrid = function () {\n var $$ = this,\n config = $$.config,\n d3 = $$.d3;\n $$.grid = $$.main.append('g').attr(\"clip-path\", $$.clipPathForGrid).attr('class', CLASS.grid);\n\n if (config.grid_x_show) {\n $$.grid.append(\"g\").attr(\"class\", CLASS.xgrids);\n }\n\n if (config.grid_y_show) {\n $$.grid.append('g').attr('class', CLASS.ygrids);\n }\n\n if (config.grid_focus_show) {\n $$.grid.append('g').attr(\"class\", CLASS.xgridFocus).append('line').attr('class', CLASS.xgridFocus);\n }\n\n $$.xgrid = d3.selectAll([]);\n\n if (!config.grid_lines_front) {\n $$.initGridLines();\n }\n };\n\n ChartInternal.prototype.initGridLines = function () {\n var $$ = this,\n d3 = $$.d3;\n $$.gridLines = $$.main.append('g').attr(\"clip-path\", $$.clipPathForGrid).attr('class', CLASS.grid + ' ' + CLASS.gridLines);\n $$.gridLines.append('g').attr(\"class\", CLASS.xgridLines);\n $$.gridLines.append('g').attr('class', CLASS.ygridLines);\n $$.xgridLines = d3.selectAll([]);\n };\n\n ChartInternal.prototype.updateXGrid = function (withoutUpdate) {\n var $$ = this,\n config = $$.config,\n d3 = $$.d3,\n xgridData = $$.generateGridData(config.grid_x_type, $$.x),\n tickOffset = $$.isCategorized() ? $$.xAxis.tickOffset() : 0;\n $$.xgridAttr = config.axis_rotated ? {\n 'x1': 0,\n 'x2': $$.width,\n 'y1': function y1(d) {\n return $$.x(d) - tickOffset;\n },\n 'y2': function y2(d) {\n return $$.x(d) - tickOffset;\n }\n } : {\n 'x1': function x1(d) {\n return $$.x(d) + tickOffset;\n },\n 'x2': function x2(d) {\n return $$.x(d) + tickOffset;\n },\n 'y1': 0,\n 'y2': $$.height\n };\n\n $$.xgridAttr.opacity = function () {\n var pos = +d3.select(this).attr(config.axis_rotated ? 'y1' : 'x1');\n return pos === (config.axis_rotated ? $$.height : 0) ? 0 : 1;\n };\n\n var xgrid = $$.main.select('.' + CLASS.xgrids).selectAll('.' + CLASS.xgrid).data(xgridData);\n var xgridEnter = xgrid.enter().append('line').attr(\"class\", CLASS.xgrid).attr('x1', $$.xgridAttr.x1).attr('x2', $$.xgridAttr.x2).attr('y1', $$.xgridAttr.y1).attr('y2', $$.xgridAttr.y2).style(\"opacity\", 0);\n $$.xgrid = xgridEnter.merge(xgrid);\n\n if (!withoutUpdate) {\n $$.xgrid.attr('x1', $$.xgridAttr.x1).attr('x2', $$.xgridAttr.x2).attr('y1', $$.xgridAttr.y1).attr('y2', $$.xgridAttr.y2).style(\"opacity\", $$.xgridAttr.opacity);\n }\n\n xgrid.exit().remove();\n };\n\n ChartInternal.prototype.updateYGrid = function () {\n var $$ = this,\n config = $$.config,\n gridValues = $$.yAxis.tickValues() || $$.y.ticks(config.grid_y_ticks);\n var ygrid = $$.main.select('.' + CLASS.ygrids).selectAll('.' + CLASS.ygrid).data(gridValues);\n var ygridEnter = ygrid.enter().append('line') // TODO: x1, x2, y1, y2, opacity need to be set here maybe\n .attr('class', CLASS.ygrid);\n $$.ygrid = ygridEnter.merge(ygrid);\n $$.ygrid.attr(\"x1\", config.axis_rotated ? $$.y : 0).attr(\"x2\", config.axis_rotated ? $$.y : $$.width).attr(\"y1\", config.axis_rotated ? 0 : $$.y).attr(\"y2\", config.axis_rotated ? $$.height : $$.y);\n ygrid.exit().remove();\n $$.smoothLines($$.ygrid, 'grid');\n };\n\n ChartInternal.prototype.gridTextAnchor = function (d) {\n return d.position ? d.position : \"end\";\n };\n\n ChartInternal.prototype.gridTextDx = function (d) {\n return d.position === 'start' ? 4 : d.position === 'middle' ? 0 : -4;\n };\n\n ChartInternal.prototype.xGridTextX = function (d) {\n return d.position === 'start' ? -this.height : d.position === 'middle' ? -this.height / 2 : 0;\n };\n\n ChartInternal.prototype.yGridTextX = function (d) {\n return d.position === 'start' ? 0 : d.position === 'middle' ? this.width / 2 : this.width;\n };\n\n ChartInternal.prototype.updateGrid = function (duration) {\n var $$ = this,\n main = $$.main,\n config = $$.config,\n xgridLine,\n xgridLineEnter,\n ygridLine,\n ygridLineEnter,\n xv = $$.xv.bind($$),\n yv = $$.yv.bind($$),\n xGridTextX = $$.xGridTextX.bind($$),\n yGridTextX = $$.yGridTextX.bind($$); // hide if arc type\n\n $$.grid.style('visibility', $$.hasArcType() ? 'hidden' : 'visible');\n main.select('line.' + CLASS.xgridFocus).style(\"visibility\", \"hidden\");\n\n if (config.grid_x_show) {\n $$.updateXGrid();\n }\n\n xgridLine = main.select('.' + CLASS.xgridLines).selectAll('.' + CLASS.xgridLine).data(config.grid_x_lines); // enter\n\n xgridLineEnter = xgridLine.enter().append('g').attr(\"class\", function (d) {\n return CLASS.xgridLine + (d['class'] ? ' ' + d['class'] : '');\n });\n xgridLineEnter.append('line').attr(\"x1\", config.axis_rotated ? 0 : xv).attr(\"x2\", config.axis_rotated ? $$.width : xv).attr(\"y1\", config.axis_rotated ? xv : 0).attr(\"y2\", config.axis_rotated ? xv : $$.height).style(\"opacity\", 0);\n xgridLineEnter.append('text').attr(\"text-anchor\", $$.gridTextAnchor).attr(\"transform\", config.axis_rotated ? \"\" : \"rotate(-90)\").attr(\"x\", config.axis_rotated ? yGridTextX : xGridTextX).attr(\"y\", xv).attr('dx', $$.gridTextDx).attr('dy', -5).style(\"opacity\", 0); // udpate\n\n $$.xgridLines = xgridLineEnter.merge(xgridLine); // done in d3.transition() of the end of this function\n // exit\n\n xgridLine.exit().transition().duration(duration).style(\"opacity\", 0).remove(); // Y-Grid\n\n if (config.grid_y_show) {\n $$.updateYGrid();\n }\n\n ygridLine = main.select('.' + CLASS.ygridLines).selectAll('.' + CLASS.ygridLine).data(config.grid_y_lines); // enter\n\n ygridLineEnter = ygridLine.enter().append('g').attr(\"class\", function (d) {\n return CLASS.ygridLine + (d['class'] ? ' ' + d['class'] : '');\n });\n ygridLineEnter.append('line').attr(\"x1\", config.axis_rotated ? yv : 0).attr(\"x2\", config.axis_rotated ? yv : $$.width).attr(\"y1\", config.axis_rotated ? 0 : yv).attr(\"y2\", config.axis_rotated ? $$.height : yv).style(\"opacity\", 0);\n ygridLineEnter.append('text').attr(\"text-anchor\", $$.gridTextAnchor).attr(\"transform\", config.axis_rotated ? \"rotate(-90)\" : \"\").attr(\"x\", config.axis_rotated ? xGridTextX : yGridTextX).attr(\"y\", yv).attr('dx', $$.gridTextDx).attr('dy', -5).style(\"opacity\", 0); // update\n\n $$.ygridLines = ygridLineEnter.merge(ygridLine);\n $$.ygridLines.select('line').transition().duration(duration).attr(\"x1\", config.axis_rotated ? yv : 0).attr(\"x2\", config.axis_rotated ? yv : $$.width).attr(\"y1\", config.axis_rotated ? 0 : yv).attr(\"y2\", config.axis_rotated ? $$.height : yv).style(\"opacity\", 1);\n $$.ygridLines.select('text').transition().duration(duration).attr(\"x\", config.axis_rotated ? $$.xGridTextX.bind($$) : $$.yGridTextX.bind($$)).attr(\"y\", yv).text(function (d) {\n return d.text;\n }).style(\"opacity\", 1); // exit\n\n ygridLine.exit().transition().duration(duration).style(\"opacity\", 0).remove();\n };\n\n ChartInternal.prototype.redrawGrid = function (withTransition, transition) {\n var $$ = this,\n config = $$.config,\n xv = $$.xv.bind($$),\n lines = $$.xgridLines.select('line'),\n texts = $$.xgridLines.select('text');\n return [(withTransition ? lines.transition(transition) : lines).attr(\"x1\", config.axis_rotated ? 0 : xv).attr(\"x2\", config.axis_rotated ? $$.width : xv).attr(\"y1\", config.axis_rotated ? xv : 0).attr(\"y2\", config.axis_rotated ? xv : $$.height).style(\"opacity\", 1), (withTransition ? texts.transition(transition) : texts).attr(\"x\", config.axis_rotated ? $$.yGridTextX.bind($$) : $$.xGridTextX.bind($$)).attr(\"y\", xv).text(function (d) {\n return d.text;\n }).style(\"opacity\", 1)];\n };\n\n ChartInternal.prototype.showXGridFocus = function (selectedData) {\n var $$ = this,\n config = $$.config,\n dataToShow = selectedData.filter(function (d) {\n return d && isValue(d.value);\n }),\n focusEl = $$.main.selectAll('line.' + CLASS.xgridFocus),\n xx = $$.xx.bind($$);\n\n if (!config.tooltip_show) {\n return;\n } // Hide when scatter plot exists\n\n\n if ($$.hasType('scatter') || $$.hasArcType()) {\n return;\n }\n\n focusEl.style(\"visibility\", \"visible\").data([dataToShow[0]]).attr(config.axis_rotated ? 'y1' : 'x1', xx).attr(config.axis_rotated ? 'y2' : 'x2', xx);\n $$.smoothLines(focusEl, 'grid');\n };\n\n ChartInternal.prototype.hideXGridFocus = function () {\n this.main.select('line.' + CLASS.xgridFocus).style(\"visibility\", \"hidden\");\n };\n\n ChartInternal.prototype.updateXgridFocus = function () {\n var $$ = this,\n config = $$.config;\n $$.main.select('line.' + CLASS.xgridFocus).attr(\"x1\", config.axis_rotated ? 0 : -10).attr(\"x2\", config.axis_rotated ? $$.width : -10).attr(\"y1\", config.axis_rotated ? -10 : 0).attr(\"y2\", config.axis_rotated ? -10 : $$.height);\n };\n\n ChartInternal.prototype.generateGridData = function (type, scale) {\n var $$ = this,\n gridData = [],\n xDomain,\n firstYear,\n lastYear,\n i,\n tickNum = $$.main.select(\".\" + CLASS.axisX).selectAll('.tick').size();\n\n if (type === 'year') {\n xDomain = $$.getXDomain();\n firstYear = xDomain[0].getFullYear();\n lastYear = xDomain[1].getFullYear();\n\n for (i = firstYear; i <= lastYear; i++) {\n gridData.push(new Date(i + '-01-01 00:00:00'));\n }\n } else {\n gridData = scale.ticks(10);\n\n if (gridData.length > tickNum) {\n // use only int\n gridData = gridData.filter(function (d) {\n return (\"\" + d).indexOf('.') < 0;\n });\n }\n }\n\n return gridData;\n };\n\n ChartInternal.prototype.getGridFilterToRemove = function (params) {\n return params ? function (line) {\n var found = false;\n [].concat(params).forEach(function (param) {\n if ('value' in param && line.value === param.value || 'class' in param && line['class'] === param['class']) {\n found = true;\n }\n });\n return found;\n } : function () {\n return true;\n };\n };\n\n ChartInternal.prototype.removeGridLines = function (params, forX) {\n var $$ = this,\n config = $$.config,\n toRemove = $$.getGridFilterToRemove(params),\n toShow = function toShow(line) {\n return !toRemove(line);\n },\n classLines = forX ? CLASS.xgridLines : CLASS.ygridLines,\n classLine = forX ? CLASS.xgridLine : CLASS.ygridLine;\n\n $$.main.select('.' + classLines).selectAll('.' + classLine).filter(toRemove).transition().duration(config.transition_duration).style('opacity', 0).remove();\n\n if (forX) {\n config.grid_x_lines = config.grid_x_lines.filter(toShow);\n } else {\n config.grid_y_lines = config.grid_y_lines.filter(toShow);\n }\n };\n\n ChartInternal.prototype.initEventRect = function () {\n var $$ = this,\n config = $$.config;\n $$.main.select('.' + CLASS.chart).append(\"g\").attr(\"class\", CLASS.eventRects).style('fill-opacity', 0);\n $$.eventRect = $$.main.select('.' + CLASS.eventRects).append('rect').attr('class', CLASS.eventRect); // event rect handle zoom event as well\n\n if (config.zoom_enabled && $$.zoom) {\n $$.eventRect.call($$.zoom).on(\"dblclick.zoom\", null);\n\n if (config.zoom_initialRange) {\n // WORKAROUND: Add transition to apply transform immediately when no subchart\n $$.eventRect.transition().duration(0).call($$.zoom.transform, $$.zoomTransform(config.zoom_initialRange));\n }\n }\n };\n\n ChartInternal.prototype.redrawEventRect = function () {\n var $$ = this,\n d3 = $$.d3,\n config = $$.config,\n x,\n y,\n w,\n h; // TODO: rotated not supported yet\n\n x = 0;\n y = 0;\n w = $$.width;\n h = $$.height;\n\n function mouseout() {\n $$.svg.select('.' + CLASS.eventRect).style('cursor', null);\n $$.hideXGridFocus();\n $$.hideTooltip();\n $$.unexpandCircles();\n $$.unexpandBars();\n } // rects for mouseover\n\n\n $$.main.select('.' + CLASS.eventRects).style('cursor', config.zoom_enabled ? config.axis_rotated ? 'ns-resize' : 'ew-resize' : null);\n $$.eventRect.attr('x', x).attr('y', y).attr('width', w).attr('height', h).on('mouseout', config.interaction_enabled ? function () {\n if (!config) {\n return;\n } // chart is destroyed\n\n\n if ($$.hasArcType()) {\n return;\n }\n\n mouseout();\n } : null).on('mousemove', config.interaction_enabled ? function () {\n var targetsToShow, mouse, closest, sameXData, selectedData;\n\n if ($$.dragging) {\n return;\n } // do nothing when dragging\n\n\n if ($$.hasArcType(targetsToShow)) {\n return;\n }\n\n targetsToShow = $$.filterTargetsToShow($$.data.targets);\n mouse = d3.mouse(this);\n closest = $$.findClosestFromTargets(targetsToShow, mouse);\n\n if ($$.mouseover && (!closest || closest.id !== $$.mouseover.id)) {\n config.data_onmouseout.call($$.api, $$.mouseover);\n $$.mouseover = undefined;\n }\n\n if (!closest) {\n mouseout();\n return;\n }\n\n if ($$.isScatterType(closest) || !config.tooltip_grouped) {\n sameXData = [closest];\n } else {\n sameXData = $$.filterByX(targetsToShow, closest.x);\n } // show tooltip when cursor is close to some point\n\n\n selectedData = sameXData.map(function (d) {\n return $$.addName(d);\n });\n $$.showTooltip(selectedData, this); // expand points\n\n if (config.point_focus_expand_enabled) {\n $$.unexpandCircles();\n selectedData.forEach(function (d) {\n $$.expandCircles(d.index, d.id, false);\n });\n }\n\n $$.expandBars(closest.index, closest.id, true); // Show xgrid focus line\n\n $$.showXGridFocus(selectedData); // Show cursor as pointer if point is close to mouse position\n\n if ($$.isBarType(closest.id) || $$.dist(closest, mouse) < config.point_sensitivity) {\n $$.svg.select('.' + CLASS.eventRect).style('cursor', 'pointer');\n\n if (!$$.mouseover) {\n config.data_onmouseover.call($$.api, closest);\n $$.mouseover = closest;\n }\n }\n } : null).on('click', config.interaction_enabled ? function () {\n var targetsToShow, mouse, closest, sameXData;\n\n if ($$.hasArcType(targetsToShow)) {\n return;\n }\n\n targetsToShow = $$.filterTargetsToShow($$.data.targets);\n mouse = d3.mouse(this);\n closest = $$.findClosestFromTargets(targetsToShow, mouse);\n\n if (!closest) {\n return;\n } // select if selection enabled\n\n\n if ($$.isBarType(closest.id) || $$.dist(closest, mouse) < config.point_sensitivity) {\n if ($$.isScatterType(closest) || !config.data_selection_grouped) {\n sameXData = [closest];\n } else {\n sameXData = $$.filterByX(targetsToShow, closest.x);\n }\n\n sameXData.forEach(function (d) {\n $$.main.selectAll('.' + CLASS.shapes + $$.getTargetSelectorSuffix(d.id)).selectAll('.' + CLASS.shape + '-' + d.index).each(function () {\n if (config.data_selection_grouped || $$.isWithinShape(this, d)) {\n $$.toggleShape(this, d, d.index);\n config.data_onclick.call($$.api, d, this);\n }\n });\n });\n }\n } : null).call(config.interaction_enabled && config.data_selection_draggable && $$.drag ? d3.drag().on('drag', function () {\n $$.drag(d3.mouse(this));\n }).on('start', function () {\n $$.dragstart(d3.mouse(this));\n }).on('end', function () {\n $$.dragend();\n }) : function () {});\n };\n\n ChartInternal.prototype.getMousePosition = function (data) {\n var $$ = this;\n return [$$.x(data.x), $$.getYScale(data.id)(data.value)];\n };\n\n ChartInternal.prototype.dispatchEvent = function (type, mouse) {\n var $$ = this,\n selector = '.' + CLASS.eventRect,\n eventRect = $$.main.select(selector).node(),\n box = eventRect.getBoundingClientRect(),\n x = box.left + (mouse ? mouse[0] : 0),\n y = box.top + (mouse ? mouse[1] : 0),\n event = document.createEvent(\"MouseEvents\");\n event.initMouseEvent(type, true, true, window, 0, x, y, x, y, false, false, false, false, 0, null);\n eventRect.dispatchEvent(event);\n };\n\n ChartInternal.prototype.initLegend = function () {\n var $$ = this;\n $$.legendItemTextBox = {};\n $$.legendHasRendered = false;\n $$.legend = $$.svg.append(\"g\").attr(\"transform\", $$.getTranslate('legend'));\n\n if (!$$.config.legend_show) {\n $$.legend.style('visibility', 'hidden');\n $$.hiddenLegendIds = $$.mapToIds($$.data.targets);\n return;\n } // MEMO: call here to update legend box and tranlate for all\n // MEMO: translate will be upated by this, so transform not needed in updateLegend()\n\n\n $$.updateLegendWithDefaults();\n };\n\n ChartInternal.prototype.updateLegendWithDefaults = function () {\n var $$ = this;\n $$.updateLegend($$.mapToIds($$.data.targets), {\n withTransform: false,\n withTransitionForTransform: false,\n withTransition: false\n });\n };\n\n ChartInternal.prototype.updateSizeForLegend = function (legendHeight, legendWidth) {\n var $$ = this,\n config = $$.config,\n insetLegendPosition = {\n top: $$.isLegendTop ? $$.getCurrentPaddingTop() + config.legend_inset_y + 5.5 : $$.currentHeight - legendHeight - $$.getCurrentPaddingBottom() - config.legend_inset_y,\n left: $$.isLegendLeft ? $$.getCurrentPaddingLeft() + config.legend_inset_x + 0.5 : $$.currentWidth - legendWidth - $$.getCurrentPaddingRight() - config.legend_inset_x + 0.5\n };\n $$.margin3 = {\n top: $$.isLegendRight ? 0 : $$.isLegendInset ? insetLegendPosition.top : $$.currentHeight - legendHeight,\n right: NaN,\n bottom: 0,\n left: $$.isLegendRight ? $$.currentWidth - legendWidth : $$.isLegendInset ? insetLegendPosition.left : 0\n };\n };\n\n ChartInternal.prototype.transformLegend = function (withTransition) {\n var $$ = this;\n (withTransition ? $$.legend.transition() : $$.legend).attr(\"transform\", $$.getTranslate('legend'));\n };\n\n ChartInternal.prototype.updateLegendStep = function (step) {\n this.legendStep = step;\n };\n\n ChartInternal.prototype.updateLegendItemWidth = function (w) {\n this.legendItemWidth = w;\n };\n\n ChartInternal.prototype.updateLegendItemHeight = function (h) {\n this.legendItemHeight = h;\n };\n\n ChartInternal.prototype.getLegendWidth = function () {\n var $$ = this;\n return $$.config.legend_show ? $$.isLegendRight || $$.isLegendInset ? $$.legendItemWidth * ($$.legendStep + 1) : $$.currentWidth : 0;\n };\n\n ChartInternal.prototype.getLegendHeight = function () {\n var $$ = this,\n h = 0;\n\n if ($$.config.legend_show) {\n if ($$.isLegendRight) {\n h = $$.currentHeight;\n } else {\n h = Math.max(20, $$.legendItemHeight) * ($$.legendStep + 1);\n }\n }\n\n return h;\n };\n\n ChartInternal.prototype.opacityForLegend = function (legendItem) {\n return legendItem.classed(CLASS.legendItemHidden) ? null : 1;\n };\n\n ChartInternal.prototype.opacityForUnfocusedLegend = function (legendItem) {\n return legendItem.classed(CLASS.legendItemHidden) ? null : 0.3;\n };\n\n ChartInternal.prototype.toggleFocusLegend = function (targetIds, focus) {\n var $$ = this;\n targetIds = $$.mapToTargetIds(targetIds);\n $$.legend.selectAll('.' + CLASS.legendItem).filter(function (id) {\n return targetIds.indexOf(id) >= 0;\n }).classed(CLASS.legendItemFocused, focus).transition().duration(100).style('opacity', function () {\n var opacity = focus ? $$.opacityForLegend : $$.opacityForUnfocusedLegend;\n return opacity.call($$, $$.d3.select(this));\n });\n };\n\n ChartInternal.prototype.revertLegend = function () {\n var $$ = this,\n d3 = $$.d3;\n $$.legend.selectAll('.' + CLASS.legendItem).classed(CLASS.legendItemFocused, false).transition().duration(100).style('opacity', function () {\n return $$.opacityForLegend(d3.select(this));\n });\n };\n\n ChartInternal.prototype.showLegend = function (targetIds) {\n var $$ = this,\n config = $$.config;\n\n if (!config.legend_show) {\n config.legend_show = true;\n $$.legend.style('visibility', 'visible');\n\n if (!$$.legendHasRendered) {\n $$.updateLegendWithDefaults();\n }\n }\n\n $$.removeHiddenLegendIds(targetIds);\n $$.legend.selectAll($$.selectorLegends(targetIds)).style('visibility', 'visible').transition().style('opacity', function () {\n return $$.opacityForLegend($$.d3.select(this));\n });\n };\n\n ChartInternal.prototype.hideLegend = function (targetIds) {\n var $$ = this,\n config = $$.config;\n\n if (config.legend_show && isEmpty(targetIds)) {\n config.legend_show = false;\n $$.legend.style('visibility', 'hidden');\n }\n\n $$.addHiddenLegendIds(targetIds);\n $$.legend.selectAll($$.selectorLegends(targetIds)).style('opacity', 0).style('visibility', 'hidden');\n };\n\n ChartInternal.prototype.clearLegendItemTextBoxCache = function () {\n this.legendItemTextBox = {};\n };\n\n ChartInternal.prototype.updateLegend = function (targetIds, options, transitions) {\n var $$ = this,\n config = $$.config;\n var xForLegend, xForLegendText, xForLegendRect, yForLegend, yForLegendText, yForLegendRect, x1ForLegendTile, x2ForLegendTile, yForLegendTile;\n var paddingTop = 4,\n paddingRight = 10,\n maxWidth = 0,\n maxHeight = 0,\n posMin = 10,\n tileWidth = config.legend_item_tile_width + 5;\n var l,\n totalLength = 0,\n offsets = {},\n widths = {},\n heights = {},\n margins = [0],\n steps = {},\n step = 0;\n var withTransition, withTransitionForTransform;\n var texts, rects, tiles, background; // Skip elements when their name is set to null\n\n targetIds = targetIds.filter(function (id) {\n return !isDefined(config.data_names[id]) || config.data_names[id] !== null;\n });\n options = options || {};\n withTransition = getOption(options, \"withTransition\", true);\n withTransitionForTransform = getOption(options, \"withTransitionForTransform\", true);\n\n function getTextBox(textElement, id) {\n if (!$$.legendItemTextBox[id]) {\n $$.legendItemTextBox[id] = $$.getTextRect(textElement.textContent, CLASS.legendItem, textElement);\n }\n\n return $$.legendItemTextBox[id];\n }\n\n function updatePositions(textElement, id, index) {\n var reset = index === 0,\n isLast = index === targetIds.length - 1,\n box = getTextBox(textElement, id),\n itemWidth = box.width + tileWidth + (isLast && !($$.isLegendRight || $$.isLegendInset) ? 0 : paddingRight) + config.legend_padding,\n itemHeight = box.height + paddingTop,\n itemLength = $$.isLegendRight || $$.isLegendInset ? itemHeight : itemWidth,\n areaLength = $$.isLegendRight || $$.isLegendInset ? $$.getLegendHeight() : $$.getLegendWidth(),\n margin,\n maxLength; // MEMO: care about condifion of step, totalLength\n\n function updateValues(id, withoutStep) {\n if (!withoutStep) {\n margin = (areaLength - totalLength - itemLength) / 2;\n\n if (margin < posMin) {\n margin = (areaLength - itemLength) / 2;\n totalLength = 0;\n step++;\n }\n }\n\n steps[id] = step;\n margins[step] = $$.isLegendInset ? 10 : margin;\n offsets[id] = totalLength;\n totalLength += itemLength;\n }\n\n if (reset) {\n totalLength = 0;\n step = 0;\n maxWidth = 0;\n maxHeight = 0;\n }\n\n if (config.legend_show && !$$.isLegendToShow(id)) {\n widths[id] = heights[id] = steps[id] = offsets[id] = 0;\n return;\n }\n\n widths[id] = itemWidth;\n heights[id] = itemHeight;\n\n if (!maxWidth || itemWidth >= maxWidth) {\n maxWidth = itemWidth;\n }\n\n if (!maxHeight || itemHeight >= maxHeight) {\n maxHeight = itemHeight;\n }\n\n maxLength = $$.isLegendRight || $$.isLegendInset ? maxHeight : maxWidth;\n\n if (config.legend_equally) {\n Object.keys(widths).forEach(function (id) {\n widths[id] = maxWidth;\n });\n Object.keys(heights).forEach(function (id) {\n heights[id] = maxHeight;\n });\n margin = (areaLength - maxLength * targetIds.length) / 2;\n\n if (margin < posMin) {\n totalLength = 0;\n step = 0;\n targetIds.forEach(function (id) {\n updateValues(id);\n });\n } else {\n updateValues(id, true);\n }\n } else {\n updateValues(id);\n }\n }\n\n if ($$.isLegendInset) {\n step = config.legend_inset_step ? config.legend_inset_step : targetIds.length;\n $$.updateLegendStep(step);\n }\n\n if ($$.isLegendRight) {\n xForLegend = function xForLegend(id) {\n return maxWidth * steps[id];\n };\n\n yForLegend = function yForLegend(id) {\n return margins[steps[id]] + offsets[id];\n };\n } else if ($$.isLegendInset) {\n xForLegend = function xForLegend(id) {\n return maxWidth * steps[id] + 10;\n };\n\n yForLegend = function yForLegend(id) {\n return margins[steps[id]] + offsets[id];\n };\n } else {\n xForLegend = function xForLegend(id) {\n return margins[steps[id]] + offsets[id];\n };\n\n yForLegend = function yForLegend(id) {\n return maxHeight * steps[id];\n };\n }\n\n xForLegendText = function xForLegendText(id, i) {\n return xForLegend(id, i) + 4 + config.legend_item_tile_width;\n };\n\n yForLegendText = function yForLegendText(id, i) {\n return yForLegend(id, i) + 9;\n };\n\n xForLegendRect = function xForLegendRect(id, i) {\n return xForLegend(id, i);\n };\n\n yForLegendRect = function yForLegendRect(id, i) {\n return yForLegend(id, i) - 5;\n };\n\n x1ForLegendTile = function x1ForLegendTile(id, i) {\n return xForLegend(id, i) - 2;\n };\n\n x2ForLegendTile = function x2ForLegendTile(id, i) {\n return xForLegend(id, i) - 2 + config.legend_item_tile_width;\n };\n\n yForLegendTile = function yForLegendTile(id, i) {\n return yForLegend(id, i) + 4;\n }; // Define g for legend area\n\n\n l = $$.legend.selectAll('.' + CLASS.legendItem).data(targetIds).enter().append('g').attr('class', function (id) {\n return $$.generateClass(CLASS.legendItem, id);\n }).style('visibility', function (id) {\n return $$.isLegendToShow(id) ? 'visible' : 'hidden';\n }).style('cursor', 'pointer').on('click', function (id) {\n if (config.legend_item_onclick) {\n config.legend_item_onclick.call($$, id);\n } else {\n if ($$.d3.event.altKey) {\n $$.api.hide();\n $$.api.show(id);\n } else {\n $$.api.toggle(id);\n $$.isTargetToShow(id) ? $$.api.focus(id) : $$.api.revert();\n }\n }\n }).on('mouseover', function (id) {\n if (config.legend_item_onmouseover) {\n config.legend_item_onmouseover.call($$, id);\n } else {\n $$.d3.select(this).classed(CLASS.legendItemFocused, true);\n\n if (!$$.transiting && $$.isTargetToShow(id)) {\n $$.api.focus(id);\n }\n }\n }).on('mouseout', function (id) {\n if (config.legend_item_onmouseout) {\n config.legend_item_onmouseout.call($$, id);\n } else {\n $$.d3.select(this).classed(CLASS.legendItemFocused, false);\n $$.api.revert();\n }\n });\n l.append('text').text(function (id) {\n return isDefined(config.data_names[id]) ? config.data_names[id] : id;\n }).each(function (id, i) {\n updatePositions(this, id, i);\n }).style(\"pointer-events\", \"none\").attr('x', $$.isLegendRight || $$.isLegendInset ? xForLegendText : -200).attr('y', $$.isLegendRight || $$.isLegendInset ? -200 : yForLegendText);\n l.append('rect').attr(\"class\", CLASS.legendItemEvent).style('fill-opacity', 0).attr('x', $$.isLegendRight || $$.isLegendInset ? xForLegendRect : -200).attr('y', $$.isLegendRight || $$.isLegendInset ? -200 : yForLegendRect);\n l.append('line').attr('class', CLASS.legendItemTile).style('stroke', $$.color).style(\"pointer-events\", \"none\").attr('x1', $$.isLegendRight || $$.isLegendInset ? x1ForLegendTile : -200).attr('y1', $$.isLegendRight || $$.isLegendInset ? -200 : yForLegendTile).attr('x2', $$.isLegendRight || $$.isLegendInset ? x2ForLegendTile : -200).attr('y2', $$.isLegendRight || $$.isLegendInset ? -200 : yForLegendTile).attr('stroke-width', config.legend_item_tile_height); // Set background for inset legend\n\n background = $$.legend.select('.' + CLASS.legendBackground + ' rect');\n\n if ($$.isLegendInset && maxWidth > 0 && background.size() === 0) {\n background = $$.legend.insert('g', '.' + CLASS.legendItem).attr(\"class\", CLASS.legendBackground).append('rect');\n }\n\n texts = $$.legend.selectAll('text').data(targetIds).text(function (id) {\n return isDefined(config.data_names[id]) ? config.data_names[id] : id;\n }) // MEMO: needed for update\n .each(function (id, i) {\n updatePositions(this, id, i);\n });\n (withTransition ? texts.transition() : texts).attr('x', xForLegendText).attr('y', yForLegendText);\n rects = $$.legend.selectAll('rect.' + CLASS.legendItemEvent).data(targetIds);\n (withTransition ? rects.transition() : rects).attr('width', function (id) {\n return widths[id];\n }).attr('height', function (id) {\n return heights[id];\n }).attr('x', xForLegendRect).attr('y', yForLegendRect);\n tiles = $$.legend.selectAll('line.' + CLASS.legendItemTile).data(targetIds);\n (withTransition ? tiles.transition() : tiles).style('stroke', $$.levelColor ? function (id) {\n return $$.levelColor($$.cache[id].values[0].value);\n } : $$.color).attr('x1', x1ForLegendTile).attr('y1', yForLegendTile).attr('x2', x2ForLegendTile).attr('y2', yForLegendTile);\n\n if (background) {\n (withTransition ? background.transition() : background).attr('height', $$.getLegendHeight() - 12).attr('width', maxWidth * (step + 1) + 10);\n } // toggle legend state\n\n\n $$.legend.selectAll('.' + CLASS.legendItem).classed(CLASS.legendItemHidden, function (id) {\n return !$$.isTargetToShow(id);\n }); // Update all to reflect change of legend\n\n $$.updateLegendItemWidth(maxWidth);\n $$.updateLegendItemHeight(maxHeight);\n $$.updateLegendStep(step); // Update size and scale\n\n $$.updateSizes();\n $$.updateScales();\n $$.updateSvgSize(); // Update g positions\n\n $$.transformAll(withTransitionForTransform, transitions);\n $$.legendHasRendered = true;\n };\n\n ChartInternal.prototype.initRegion = function () {\n var $$ = this;\n $$.region = $$.main.append('g').attr(\"clip-path\", $$.clipPath).attr(\"class\", CLASS.regions);\n };\n\n ChartInternal.prototype.updateRegion = function (duration) {\n var $$ = this,\n config = $$.config; // hide if arc type\n\n $$.region.style('visibility', $$.hasArcType() ? 'hidden' : 'visible');\n var mainRegion = $$.main.select('.' + CLASS.regions).selectAll('.' + CLASS.region).data(config.regions);\n var mainRegionEnter = mainRegion.enter().append('rect').attr(\"x\", $$.regionX.bind($$)).attr(\"y\", $$.regionY.bind($$)).attr(\"width\", $$.regionWidth.bind($$)).attr(\"height\", $$.regionHeight.bind($$)).style(\"fill-opacity\", 0);\n $$.mainRegion = mainRegionEnter.merge(mainRegion).attr('class', $$.classRegion.bind($$));\n mainRegion.exit().transition().duration(duration).style(\"opacity\", 0).remove();\n };\n\n ChartInternal.prototype.redrawRegion = function (withTransition, transition) {\n var $$ = this,\n regions = $$.mainRegion;\n return [(withTransition ? regions.transition(transition) : regions).attr(\"x\", $$.regionX.bind($$)).attr(\"y\", $$.regionY.bind($$)).attr(\"width\", $$.regionWidth.bind($$)).attr(\"height\", $$.regionHeight.bind($$)).style(\"fill-opacity\", function (d) {\n return isValue(d.opacity) ? d.opacity : 0.1;\n })];\n };\n\n ChartInternal.prototype.regionX = function (d) {\n var $$ = this,\n config = $$.config,\n xPos,\n yScale = d.axis === 'y' ? $$.y : $$.y2;\n\n if (d.axis === 'y' || d.axis === 'y2') {\n xPos = config.axis_rotated ? 'start' in d ? yScale(d.start) : 0 : 0;\n } else {\n xPos = config.axis_rotated ? 0 : 'start' in d ? $$.x($$.isTimeSeries() ? $$.parseDate(d.start) : d.start) : 0;\n }\n\n return xPos;\n };\n\n ChartInternal.prototype.regionY = function (d) {\n var $$ = this,\n config = $$.config,\n yPos,\n yScale = d.axis === 'y' ? $$.y : $$.y2;\n\n if (d.axis === 'y' || d.axis === 'y2') {\n yPos = config.axis_rotated ? 0 : 'end' in d ? yScale(d.end) : 0;\n } else {\n yPos = config.axis_rotated ? 'start' in d ? $$.x($$.isTimeSeries() ? $$.parseDate(d.start) : d.start) : 0 : 0;\n }\n\n return yPos;\n };\n\n ChartInternal.prototype.regionWidth = function (d) {\n var $$ = this,\n config = $$.config,\n start = $$.regionX(d),\n end,\n yScale = d.axis === 'y' ? $$.y : $$.y2;\n\n if (d.axis === 'y' || d.axis === 'y2') {\n end = config.axis_rotated ? 'end' in d ? yScale(d.end) : $$.width : $$.width;\n } else {\n end = config.axis_rotated ? $$.width : 'end' in d ? $$.x($$.isTimeSeries() ? $$.parseDate(d.end) : d.end) : $$.width;\n }\n\n return end < start ? 0 : end - start;\n };\n\n ChartInternal.prototype.regionHeight = function (d) {\n var $$ = this,\n config = $$.config,\n start = this.regionY(d),\n end,\n yScale = d.axis === 'y' ? $$.y : $$.y2;\n\n if (d.axis === 'y' || d.axis === 'y2') {\n end = config.axis_rotated ? $$.height : 'start' in d ? yScale(d.start) : $$.height;\n } else {\n end = config.axis_rotated ? 'end' in d ? $$.x($$.isTimeSeries() ? $$.parseDate(d.end) : d.end) : $$.height : $$.height;\n }\n\n return end < start ? 0 : end - start;\n };\n\n ChartInternal.prototype.isRegionOnX = function (d) {\n return !d.axis || d.axis === 'x';\n };\n\n ChartInternal.prototype.getScale = function (min, max, forTimeseries) {\n return (forTimeseries ? this.d3.scaleTime() : this.d3.scaleLinear()).range([min, max]);\n };\n\n ChartInternal.prototype.getX = function (min, max, domain, offset) {\n var $$ = this,\n scale = $$.getScale(min, max, $$.isTimeSeries()),\n _scale = domain ? scale.domain(domain) : scale,\n key; // Define customized scale if categorized axis\n\n\n if ($$.isCategorized()) {\n offset = offset || function () {\n return 0;\n };\n\n scale = function scale(d, raw) {\n var v = _scale(d) + offset(d);\n return raw ? v : Math.ceil(v);\n };\n } else {\n scale = function scale(d, raw) {\n var v = _scale(d);\n\n return raw ? v : Math.ceil(v);\n };\n } // define functions\n\n\n for (key in _scale) {\n scale[key] = _scale[key];\n }\n\n scale.orgDomain = function () {\n return _scale.domain();\n }; // define custom domain() for categorized axis\n\n\n if ($$.isCategorized()) {\n scale.domain = function (domain) {\n if (!arguments.length) {\n domain = this.orgDomain();\n return [domain[0], domain[1] + 1];\n }\n\n _scale.domain(domain);\n\n return scale;\n };\n }\n\n return scale;\n };\n\n ChartInternal.prototype.getY = function (min, max, domain) {\n var scale = this.getScale(min, max, this.isTimeSeriesY());\n\n if (domain) {\n scale.domain(domain);\n }\n\n return scale;\n };\n\n ChartInternal.prototype.getYScale = function (id) {\n return this.axis.getId(id) === 'y2' ? this.y2 : this.y;\n };\n\n ChartInternal.prototype.getSubYScale = function (id) {\n return this.axis.getId(id) === 'y2' ? this.subY2 : this.subY;\n };\n\n ChartInternal.prototype.updateScales = function () {\n var $$ = this,\n config = $$.config,\n forInit = !$$.x; // update edges\n\n $$.xMin = config.axis_rotated ? 1 : 0;\n $$.xMax = config.axis_rotated ? $$.height : $$.width;\n $$.yMin = config.axis_rotated ? 0 : $$.height;\n $$.yMax = config.axis_rotated ? $$.width : 1;\n $$.subXMin = $$.xMin;\n $$.subXMax = $$.xMax;\n $$.subYMin = config.axis_rotated ? 0 : $$.height2;\n $$.subYMax = config.axis_rotated ? $$.width2 : 1; // update scales\n\n $$.x = $$.getX($$.xMin, $$.xMax, forInit ? undefined : $$.x.orgDomain(), function () {\n return $$.xAxis.tickOffset();\n });\n $$.y = $$.getY($$.yMin, $$.yMax, forInit ? config.axis_y_default : $$.y.domain());\n $$.y2 = $$.getY($$.yMin, $$.yMax, forInit ? config.axis_y2_default : $$.y2.domain());\n $$.subX = $$.getX($$.xMin, $$.xMax, $$.orgXDomain, function (d) {\n return d % 1 ? 0 : $$.subXAxis.tickOffset();\n });\n $$.subY = $$.getY($$.subYMin, $$.subYMax, forInit ? config.axis_y_default : $$.subY.domain());\n $$.subY2 = $$.getY($$.subYMin, $$.subYMax, forInit ? config.axis_y2_default : $$.subY2.domain()); // update axes\n\n $$.xAxisTickFormat = $$.axis.getXAxisTickFormat();\n $$.xAxisTickValues = $$.axis.getXAxisTickValues();\n $$.yAxisTickValues = $$.axis.getYAxisTickValues();\n $$.y2AxisTickValues = $$.axis.getY2AxisTickValues();\n $$.xAxis = $$.axis.getXAxis($$.x, $$.xOrient, $$.xAxisTickFormat, $$.xAxisTickValues, config.axis_x_tick_outer);\n $$.subXAxis = $$.axis.getXAxis($$.subX, $$.subXOrient, $$.xAxisTickFormat, $$.xAxisTickValues, config.axis_x_tick_outer);\n $$.yAxis = $$.axis.getYAxis($$.y, $$.yOrient, config.axis_y_tick_format, $$.yAxisTickValues, config.axis_y_tick_outer);\n $$.y2Axis = $$.axis.getYAxis($$.y2, $$.y2Orient, config.axis_y2_tick_format, $$.y2AxisTickValues, config.axis_y2_tick_outer); // Set initialized scales to brush and zoom\n\n if (!forInit) {\n if ($$.brush) {\n $$.brush.updateScale($$.subX);\n }\n } // update for arc\n\n\n if ($$.updateArc) {\n $$.updateArc();\n }\n };\n\n ChartInternal.prototype.selectPoint = function (target, d, i) {\n var $$ = this,\n config = $$.config,\n cx = (config.axis_rotated ? $$.circleY : $$.circleX).bind($$),\n cy = (config.axis_rotated ? $$.circleX : $$.circleY).bind($$),\n r = $$.pointSelectR.bind($$);\n config.data_onselected.call($$.api, d, target.node()); // add selected-circle on low layer g\n\n $$.main.select('.' + CLASS.selectedCircles + $$.getTargetSelectorSuffix(d.id)).selectAll('.' + CLASS.selectedCircle + '-' + i).data([d]).enter().append('circle').attr(\"class\", function () {\n return $$.generateClass(CLASS.selectedCircle, i);\n }).attr(\"cx\", cx).attr(\"cy\", cy).attr(\"stroke\", function () {\n return $$.color(d);\n }).attr(\"r\", function (d) {\n return $$.pointSelectR(d) * 1.4;\n }).transition().duration(100).attr(\"r\", r);\n };\n\n ChartInternal.prototype.unselectPoint = function (target, d, i) {\n var $$ = this;\n $$.config.data_onunselected.call($$.api, d, target.node()); // remove selected-circle from low layer g\n\n $$.main.select('.' + CLASS.selectedCircles + $$.getTargetSelectorSuffix(d.id)).selectAll('.' + CLASS.selectedCircle + '-' + i).transition().duration(100).attr('r', 0).remove();\n };\n\n ChartInternal.prototype.togglePoint = function (selected, target, d, i) {\n selected ? this.selectPoint(target, d, i) : this.unselectPoint(target, d, i);\n };\n\n ChartInternal.prototype.selectPath = function (target, d) {\n var $$ = this;\n $$.config.data_onselected.call($$, d, target.node());\n\n if ($$.config.interaction_brighten) {\n target.transition().duration(100).style(\"fill\", function () {\n return $$.d3.rgb($$.color(d)).brighter(0.75);\n });\n }\n };\n\n ChartInternal.prototype.unselectPath = function (target, d) {\n var $$ = this;\n $$.config.data_onunselected.call($$, d, target.node());\n\n if ($$.config.interaction_brighten) {\n target.transition().duration(100).style(\"fill\", function () {\n return $$.color(d);\n });\n }\n };\n\n ChartInternal.prototype.togglePath = function (selected, target, d, i) {\n selected ? this.selectPath(target, d, i) : this.unselectPath(target, d, i);\n };\n\n ChartInternal.prototype.getToggle = function (that, d) {\n var $$ = this,\n toggle;\n\n if (that.nodeName === 'circle') {\n if ($$.isStepType(d)) {\n // circle is hidden in step chart, so treat as within the click area\n toggle = function toggle() {}; // TODO: how to select step chart?\n\n } else {\n toggle = $$.togglePoint;\n }\n } else if (that.nodeName === 'path') {\n toggle = $$.togglePath;\n }\n\n return toggle;\n };\n\n ChartInternal.prototype.toggleShape = function (that, d, i) {\n var $$ = this,\n d3 = $$.d3,\n config = $$.config,\n shape = d3.select(that),\n isSelected = shape.classed(CLASS.SELECTED),\n toggle = $$.getToggle(that, d).bind($$);\n\n if (config.data_selection_enabled && config.data_selection_isselectable(d)) {\n if (!config.data_selection_multiple) {\n $$.main.selectAll('.' + CLASS.shapes + (config.data_selection_grouped ? $$.getTargetSelectorSuffix(d.id) : \"\")).selectAll('.' + CLASS.shape).each(function (d, i) {\n var shape = d3.select(this);\n\n if (shape.classed(CLASS.SELECTED)) {\n toggle(false, shape.classed(CLASS.SELECTED, false), d, i);\n }\n });\n }\n\n shape.classed(CLASS.SELECTED, !isSelected);\n toggle(!isSelected, shape, d, i);\n }\n };\n\n ChartInternal.prototype.initBar = function () {\n var $$ = this;\n $$.main.select('.' + CLASS.chart).append(\"g\").attr(\"class\", CLASS.chartBars);\n };\n\n ChartInternal.prototype.updateTargetsForBar = function (targets) {\n var $$ = this,\n config = $$.config,\n mainBars,\n mainBarEnter,\n classChartBar = $$.classChartBar.bind($$),\n classBars = $$.classBars.bind($$),\n classFocus = $$.classFocus.bind($$);\n mainBars = $$.main.select('.' + CLASS.chartBars).selectAll('.' + CLASS.chartBar).data(targets).attr('class', function (d) {\n return classChartBar(d) + classFocus(d);\n });\n mainBarEnter = mainBars.enter().append('g').attr('class', classChartBar).style(\"pointer-events\", \"none\"); // Bars for each data\n\n mainBarEnter.append('g').attr(\"class\", classBars).style(\"cursor\", function (d) {\n return config.data_selection_isselectable(d) ? \"pointer\" : null;\n });\n };\n\n ChartInternal.prototype.updateBar = function (durationForExit) {\n var $$ = this,\n barData = $$.barData.bind($$),\n classBar = $$.classBar.bind($$),\n initialOpacity = $$.initialOpacity.bind($$),\n color = function color(d) {\n return $$.color(d.id);\n };\n\n var mainBar = $$.main.selectAll('.' + CLASS.bars).selectAll('.' + CLASS.bar).data(barData);\n var mainBarEnter = mainBar.enter().append('path').attr(\"class\", classBar).style(\"stroke\", color).style(\"fill\", color);\n $$.mainBar = mainBarEnter.merge(mainBar).style(\"opacity\", initialOpacity);\n mainBar.exit().transition().duration(durationForExit).style(\"opacity\", 0);\n };\n\n ChartInternal.prototype.redrawBar = function (drawBar, withTransition, transition) {\n return [(withTransition ? this.mainBar.transition(transition) : this.mainBar).attr('d', drawBar).style(\"stroke\", this.color).style(\"fill\", this.color).style(\"opacity\", 1)];\n };\n\n ChartInternal.prototype.getBarW = function (axis, barTargetsNum) {\n var $$ = this,\n config = $$.config,\n w = typeof config.bar_width === 'number' ? config.bar_width : barTargetsNum ? axis.tickInterval() * config.bar_width_ratio / barTargetsNum : 0;\n return config.bar_width_max && w > config.bar_width_max ? config.bar_width_max : w;\n };\n\n ChartInternal.prototype.getBars = function (i, id) {\n var $$ = this;\n return (id ? $$.main.selectAll('.' + CLASS.bars + $$.getTargetSelectorSuffix(id)) : $$.main).selectAll('.' + CLASS.bar + (isValue(i) ? '-' + i : ''));\n };\n\n ChartInternal.prototype.expandBars = function (i, id, reset) {\n var $$ = this;\n\n if (reset) {\n $$.unexpandBars();\n }\n\n $$.getBars(i, id).classed(CLASS.EXPANDED, true);\n };\n\n ChartInternal.prototype.unexpandBars = function (i) {\n var $$ = this;\n $$.getBars(i).classed(CLASS.EXPANDED, false);\n };\n\n ChartInternal.prototype.generateDrawBar = function (barIndices, isSub) {\n var $$ = this,\n config = $$.config,\n getPoints = $$.generateGetBarPoints(barIndices, isSub);\n return function (d, i) {\n // 4 points that make a bar\n var points = getPoints(d, i); // switch points if axis is rotated, not applicable for sub chart\n\n var indexX = config.axis_rotated ? 1 : 0;\n var indexY = config.axis_rotated ? 0 : 1;\n var path = 'M ' + points[0][indexX] + ',' + points[0][indexY] + ' ' + 'L' + points[1][indexX] + ',' + points[1][indexY] + ' ' + 'L' + points[2][indexX] + ',' + points[2][indexY] + ' ' + 'L' + points[3][indexX] + ',' + points[3][indexY] + ' ' + 'z';\n return path;\n };\n };\n\n ChartInternal.prototype.generateGetBarPoints = function (barIndices, isSub) {\n var $$ = this,\n axis = isSub ? $$.subXAxis : $$.xAxis,\n barTargetsNum = barIndices.__max__ + 1,\n barW = $$.getBarW(axis, barTargetsNum),\n barX = $$.getShapeX(barW, barTargetsNum, barIndices, !!isSub),\n barY = $$.getShapeY(!!isSub),\n barOffset = $$.getShapeOffset($$.isBarType, barIndices, !!isSub),\n barSpaceOffset = barW * ($$.config.bar_space / 2),\n yScale = isSub ? $$.getSubYScale : $$.getYScale;\n return function (d, i) {\n var y0 = yScale.call($$, d.id)(0),\n offset = barOffset(d, i) || y0,\n // offset is for stacked bar chart\n posX = barX(d),\n posY = barY(d); // fix posY not to overflow opposite quadrant\n\n if ($$.config.axis_rotated) {\n if (0 < d.value && posY < y0 || d.value < 0 && y0 < posY) {\n posY = y0;\n }\n } // 4 points that make a bar\n\n\n return [[posX + barSpaceOffset, offset], [posX + barSpaceOffset, posY - (y0 - offset)], [posX + barW - barSpaceOffset, posY - (y0 - offset)], [posX + barW - barSpaceOffset, offset]];\n };\n };\n\n ChartInternal.prototype.isWithinBar = function (mouse, that) {\n var box = that.getBoundingClientRect(),\n seg0 = that.pathSegList.getItem(0),\n seg1 = that.pathSegList.getItem(1),\n x = Math.min(seg0.x, seg1.x),\n y = Math.min(seg0.y, seg1.y),\n w = box.width,\n h = box.height,\n offset = 2,\n sx = x - offset,\n ex = x + w + offset,\n sy = y + h + offset,\n ey = y - offset;\n return sx < mouse[0] && mouse[0] < ex && ey < mouse[1] && mouse[1] < sy;\n };\n\n ChartInternal.prototype.getShapeIndices = function (typeFilter) {\n var $$ = this,\n config = $$.config,\n indices = {},\n i = 0,\n j,\n k;\n $$.filterTargetsToShow($$.data.targets.filter(typeFilter, $$)).forEach(function (d) {\n for (j = 0; j < config.data_groups.length; j++) {\n if (config.data_groups[j].indexOf(d.id) < 0) {\n continue;\n }\n\n for (k = 0; k < config.data_groups[j].length; k++) {\n if (config.data_groups[j][k] in indices) {\n indices[d.id] = indices[config.data_groups[j][k]];\n break;\n }\n }\n }\n\n if (isUndefined(indices[d.id])) {\n indices[d.id] = i++;\n }\n });\n indices.__max__ = i - 1;\n return indices;\n };\n\n ChartInternal.prototype.getShapeX = function (offset, targetsNum, indices, isSub) {\n var $$ = this,\n scale = isSub ? $$.subX : $$.x;\n return function (d) {\n var index = d.id in indices ? indices[d.id] : 0;\n return d.x || d.x === 0 ? scale(d.x) - offset * (targetsNum / 2 - index) : 0;\n };\n };\n\n ChartInternal.prototype.getShapeY = function (isSub) {\n var $$ = this;\n return function (d) {\n var scale = isSub ? $$.getSubYScale(d.id) : $$.getYScale(d.id);\n return scale(d.value);\n };\n };\n\n ChartInternal.prototype.getShapeOffset = function (typeFilter, indices, isSub) {\n var $$ = this,\n targets = $$.orderTargets($$.filterTargetsToShow($$.data.targets.filter(typeFilter, $$))),\n targetIds = targets.map(function (t) {\n return t.id;\n });\n return function (d, i) {\n var scale = isSub ? $$.getSubYScale(d.id) : $$.getYScale(d.id),\n y0 = scale(0),\n offset = y0;\n targets.forEach(function (t) {\n var values = $$.isStepType(d) ? $$.convertValuesToStep(t.values) : t.values;\n\n if (t.id === d.id || indices[t.id] !== indices[d.id]) {\n return;\n }\n\n if (targetIds.indexOf(t.id) < targetIds.indexOf(d.id)) {\n // check if the x values line up\n if (typeof values[i] === 'undefined' || +values[i].x !== +d.x) {\n // \"+\" for timeseries\n // if not, try to find the value that does line up\n i = -1;\n values.forEach(function (v, j) {\n if (v.x === d.x) {\n i = j;\n }\n });\n }\n\n if (i in values && values[i].value * d.value >= 0) {\n offset += scale(values[i].value) - y0;\n }\n }\n });\n return offset;\n };\n };\n\n ChartInternal.prototype.isWithinShape = function (that, d) {\n var $$ = this,\n shape = $$.d3.select(that),\n isWithin;\n\n if (!$$.isTargetToShow(d.id)) {\n isWithin = false;\n } else if (that.nodeName === 'circle') {\n isWithin = $$.isStepType(d) ? $$.isWithinStep(that, $$.getYScale(d.id)(d.value)) : $$.isWithinCircle(that, $$.pointSelectR(d) * 1.5);\n } else if (that.nodeName === 'path') {\n isWithin = shape.classed(CLASS.bar) ? $$.isWithinBar($$.d3.mouse(that), that) : true;\n }\n\n return isWithin;\n };\n\n ChartInternal.prototype.getInterpolate = function (d) {\n var $$ = this,\n d3 = $$.d3,\n types = {\n 'linear': d3.curveLinear,\n 'linear-closed': d3.curveLinearClosed,\n 'basis': d3.curveBasis,\n 'basis-open': d3.curveBasisOpen,\n 'basis-closed': d3.curveBasisClosed,\n 'bundle': d3.curveBundle,\n 'cardinal': d3.curveCardinal,\n 'cardinal-open': d3.curveCardinalOpen,\n 'cardinal-closed': d3.curveCardinalClosed,\n 'monotone': d3.curveMonotoneX,\n 'step': d3.curveStep,\n 'step-before': d3.curveStepBefore,\n 'step-after': d3.curveStepAfter\n },\n type;\n\n if ($$.isSplineType(d)) {\n type = types[$$.config.spline_interpolation_type] || types.cardinal;\n } else if ($$.isStepType(d)) {\n type = types[$$.config.line_step_type];\n } else {\n type = types.linear;\n }\n\n return type;\n };\n\n ChartInternal.prototype.initLine = function () {\n var $$ = this;\n $$.main.select('.' + CLASS.chart).append(\"g\").attr(\"class\", CLASS.chartLines);\n };\n\n ChartInternal.prototype.updateTargetsForLine = function (targets) {\n var $$ = this,\n config = $$.config,\n mainLines,\n mainLineEnter,\n classChartLine = $$.classChartLine.bind($$),\n classLines = $$.classLines.bind($$),\n classAreas = $$.classAreas.bind($$),\n classCircles = $$.classCircles.bind($$),\n classFocus = $$.classFocus.bind($$);\n mainLines = $$.main.select('.' + CLASS.chartLines).selectAll('.' + CLASS.chartLine).data(targets).attr('class', function (d) {\n return classChartLine(d) + classFocus(d);\n });\n mainLineEnter = mainLines.enter().append('g').attr('class', classChartLine).style('opacity', 0).style(\"pointer-events\", \"none\"); // Lines for each data\n\n mainLineEnter.append('g').attr(\"class\", classLines); // Areas\n\n mainLineEnter.append('g').attr('class', classAreas); // Circles for each data point on lines\n\n mainLineEnter.append('g').attr(\"class\", function (d) {\n return $$.generateClass(CLASS.selectedCircles, d.id);\n });\n mainLineEnter.append('g').attr(\"class\", classCircles).style(\"cursor\", function (d) {\n return config.data_selection_isselectable(d) ? \"pointer\" : null;\n }); // Update date for selected circles\n\n targets.forEach(function (t) {\n $$.main.selectAll('.' + CLASS.selectedCircles + $$.getTargetSelectorSuffix(t.id)).selectAll('.' + CLASS.selectedCircle).each(function (d) {\n d.value = t.values[d.index].value;\n });\n }); // MEMO: can not keep same color...\n //mainLineUpdate.exit().remove();\n };\n\n ChartInternal.prototype.updateLine = function (durationForExit) {\n var $$ = this;\n var mainLine = $$.main.selectAll('.' + CLASS.lines).selectAll('.' + CLASS.line).data($$.lineData.bind($$));\n var mainLineEnter = mainLine.enter().append('path').attr('class', $$.classLine.bind($$)).style(\"stroke\", $$.color);\n $$.mainLine = mainLineEnter.merge(mainLine).style(\"opacity\", $$.initialOpacity.bind($$)).style('shape-rendering', function (d) {\n return $$.isStepType(d) ? 'crispEdges' : '';\n }).attr('transform', null);\n mainLine.exit().transition().duration(durationForExit).style('opacity', 0);\n };\n\n ChartInternal.prototype.redrawLine = function (drawLine, withTransition, transition) {\n return [(withTransition ? this.mainLine.transition(transition) : this.mainLine).attr(\"d\", drawLine).style(\"stroke\", this.color).style(\"opacity\", 1)];\n };\n\n ChartInternal.prototype.generateDrawLine = function (lineIndices, isSub) {\n var $$ = this,\n config = $$.config,\n line = $$.d3.line(),\n getPoints = $$.generateGetLinePoints(lineIndices, isSub),\n yScaleGetter = isSub ? $$.getSubYScale : $$.getYScale,\n xValue = function xValue(d) {\n return (isSub ? $$.subxx : $$.xx).call($$, d);\n },\n yValue = function yValue(d, i) {\n return config.data_groups.length > 0 ? getPoints(d, i)[0][1] : yScaleGetter.call($$, d.id)(d.value);\n };\n\n line = config.axis_rotated ? line.x(yValue).y(xValue) : line.x(xValue).y(yValue);\n\n if (!config.line_connectNull) {\n line = line.defined(function (d) {\n return d.value != null;\n });\n }\n\n return function (d) {\n var values = config.line_connectNull ? $$.filterRemoveNull(d.values) : d.values,\n x = isSub ? $$.subX : $$.x,\n y = yScaleGetter.call($$, d.id),\n x0 = 0,\n y0 = 0,\n path;\n\n if ($$.isLineType(d)) {\n if (config.data_regions[d.id]) {\n path = $$.lineWithRegions(values, x, y, config.data_regions[d.id]);\n } else {\n if ($$.isStepType(d)) {\n values = $$.convertValuesToStep(values);\n }\n\n path = line.curve($$.getInterpolate(d))(values);\n }\n } else {\n if (values[0]) {\n x0 = x(values[0].x);\n y0 = y(values[0].value);\n }\n\n path = config.axis_rotated ? \"M \" + y0 + \" \" + x0 : \"M \" + x0 + \" \" + y0;\n }\n\n return path ? path : \"M 0 0\";\n };\n };\n\n ChartInternal.prototype.generateGetLinePoints = function (lineIndices, isSub) {\n // partial duplication of generateGetBarPoints\n var $$ = this,\n config = $$.config,\n lineTargetsNum = lineIndices.__max__ + 1,\n x = $$.getShapeX(0, lineTargetsNum, lineIndices, !!isSub),\n y = $$.getShapeY(!!isSub),\n lineOffset = $$.getShapeOffset($$.isLineType, lineIndices, !!isSub),\n yScale = isSub ? $$.getSubYScale : $$.getYScale;\n return function (d, i) {\n var y0 = yScale.call($$, d.id)(0),\n offset = lineOffset(d, i) || y0,\n // offset is for stacked area chart\n posX = x(d),\n posY = y(d); // fix posY not to overflow opposite quadrant\n\n if (config.axis_rotated) {\n if (0 < d.value && posY < y0 || d.value < 0 && y0 < posY) {\n posY = y0;\n }\n } // 1 point that marks the line position\n\n\n return [[posX, posY - (y0 - offset)], [posX, posY - (y0 - offset)], // needed for compatibility\n [posX, posY - (y0 - offset)], // needed for compatibility\n [posX, posY - (y0 - offset)] // needed for compatibility\n ];\n };\n };\n\n ChartInternal.prototype.lineWithRegions = function (d, x, y, _regions) {\n var $$ = this,\n config = $$.config,\n prev = -1,\n i,\n j,\n s = \"M\",\n sWithRegion,\n xp,\n yp,\n dx,\n dy,\n dd,\n diff,\n diffx2,\n xOffset = $$.isCategorized() ? 0.5 : 0,\n xValue,\n yValue,\n regions = [];\n\n function isWithinRegions(x, regions) {\n var i;\n\n for (i = 0; i < regions.length; i++) {\n if (regions[i].start < x && x <= regions[i].end) {\n return true;\n }\n }\n\n return false;\n } // Check start/end of regions\n\n\n if (isDefined(_regions)) {\n for (i = 0; i < _regions.length; i++) {\n regions[i] = {};\n\n if (isUndefined(_regions[i].start)) {\n regions[i].start = d[0].x;\n } else {\n regions[i].start = $$.isTimeSeries() ? $$.parseDate(_regions[i].start) : _regions[i].start;\n }\n\n if (isUndefined(_regions[i].end)) {\n regions[i].end = d[d.length - 1].x;\n } else {\n regions[i].end = $$.isTimeSeries() ? $$.parseDate(_regions[i].end) : _regions[i].end;\n }\n }\n } // Set scales\n\n\n xValue = config.axis_rotated ? function (d) {\n return y(d.value);\n } : function (d) {\n return x(d.x);\n };\n yValue = config.axis_rotated ? function (d) {\n return x(d.x);\n } : function (d) {\n return y(d.value);\n }; // Define svg generator function for region\n\n function generateM(points) {\n return 'M' + points[0][0] + ' ' + points[0][1] + ' ' + points[1][0] + ' ' + points[1][1];\n }\n\n if ($$.isTimeSeries()) {\n sWithRegion = function sWithRegion(d0, d1, j, diff) {\n var x0 = d0.x.getTime(),\n x_diff = d1.x - d0.x,\n xv0 = new Date(x0 + x_diff * j),\n xv1 = new Date(x0 + x_diff * (j + diff)),\n points;\n\n if (config.axis_rotated) {\n points = [[y(yp(j)), x(xv0)], [y(yp(j + diff)), x(xv1)]];\n } else {\n points = [[x(xv0), y(yp(j))], [x(xv1), y(yp(j + diff))]];\n }\n\n return generateM(points);\n };\n } else {\n sWithRegion = function sWithRegion(d0, d1, j, diff) {\n var points;\n\n if (config.axis_rotated) {\n points = [[y(yp(j), true), x(xp(j))], [y(yp(j + diff), true), x(xp(j + diff))]];\n } else {\n points = [[x(xp(j), true), y(yp(j))], [x(xp(j + diff), true), y(yp(j + diff))]];\n }\n\n return generateM(points);\n };\n } // Generate\n\n\n for (i = 0; i < d.length; i++) {\n // Draw as normal\n if (isUndefined(regions) || !isWithinRegions(d[i].x, regions)) {\n s += \" \" + xValue(d[i]) + \" \" + yValue(d[i]);\n } // Draw with region // TODO: Fix for horizotal charts\n else {\n xp = $$.getScale(d[i - 1].x + xOffset, d[i].x + xOffset, $$.isTimeSeries());\n yp = $$.getScale(d[i - 1].value, d[i].value);\n dx = x(d[i].x) - x(d[i - 1].x);\n dy = y(d[i].value) - y(d[i - 1].value);\n dd = Math.sqrt(Math.pow(dx, 2) + Math.pow(dy, 2));\n diff = 2 / dd;\n diffx2 = diff * 2;\n\n for (j = diff; j <= 1; j += diffx2) {\n s += sWithRegion(d[i - 1], d[i], j, diff);\n }\n }\n\n prev = d[i].x;\n }\n\n return s;\n };\n\n ChartInternal.prototype.updateArea = function (durationForExit) {\n var $$ = this,\n d3 = $$.d3;\n var mainArea = $$.main.selectAll('.' + CLASS.areas).selectAll('.' + CLASS.area).data($$.lineData.bind($$));\n var mainAreaEnter = mainArea.enter().append('path').attr(\"class\", $$.classArea.bind($$)).style(\"fill\", $$.color).style(\"opacity\", function () {\n $$.orgAreaOpacity = +d3.select(this).style('opacity');\n return 0;\n });\n $$.mainArea = mainAreaEnter.merge(mainArea).style(\"opacity\", $$.orgAreaOpacity);\n mainArea.exit().transition().duration(durationForExit).style('opacity', 0);\n };\n\n ChartInternal.prototype.redrawArea = function (drawArea, withTransition, transition) {\n return [(withTransition ? this.mainArea.transition(transition) : this.mainArea).attr(\"d\", drawArea).style(\"fill\", this.color).style(\"opacity\", this.orgAreaOpacity)];\n };\n\n ChartInternal.prototype.generateDrawArea = function (areaIndices, isSub) {\n var $$ = this,\n config = $$.config,\n area = $$.d3.area(),\n getPoints = $$.generateGetAreaPoints(areaIndices, isSub),\n yScaleGetter = isSub ? $$.getSubYScale : $$.getYScale,\n xValue = function xValue(d) {\n return (isSub ? $$.subxx : $$.xx).call($$, d);\n },\n value0 = function value0(d, i) {\n return config.data_groups.length > 0 ? getPoints(d, i)[0][1] : yScaleGetter.call($$, d.id)($$.getAreaBaseValue(d.id));\n },\n value1 = function value1(d, i) {\n return config.data_groups.length > 0 ? getPoints(d, i)[1][1] : yScaleGetter.call($$, d.id)(d.value);\n };\n\n area = config.axis_rotated ? area.x0(value0).x1(value1).y(xValue) : area.x(xValue).y0(config.area_above ? 0 : value0).y1(value1);\n\n if (!config.line_connectNull) {\n area = area.defined(function (d) {\n return d.value !== null;\n });\n }\n\n return function (d) {\n var values = config.line_connectNull ? $$.filterRemoveNull(d.values) : d.values,\n x0 = 0,\n y0 = 0,\n path;\n\n if ($$.isAreaType(d)) {\n if ($$.isStepType(d)) {\n values = $$.convertValuesToStep(values);\n }\n\n path = area.curve($$.getInterpolate(d))(values);\n } else {\n if (values[0]) {\n x0 = $$.x(values[0].x);\n y0 = $$.getYScale(d.id)(values[0].value);\n }\n\n path = config.axis_rotated ? \"M \" + y0 + \" \" + x0 : \"M \" + x0 + \" \" + y0;\n }\n\n return path ? path : \"M 0 0\";\n };\n };\n\n ChartInternal.prototype.getAreaBaseValue = function () {\n return 0;\n };\n\n ChartInternal.prototype.generateGetAreaPoints = function (areaIndices, isSub) {\n // partial duplication of generateGetBarPoints\n var $$ = this,\n config = $$.config,\n areaTargetsNum = areaIndices.__max__ + 1,\n x = $$.getShapeX(0, areaTargetsNum, areaIndices, !!isSub),\n y = $$.getShapeY(!!isSub),\n areaOffset = $$.getShapeOffset($$.isAreaType, areaIndices, !!isSub),\n yScale = isSub ? $$.getSubYScale : $$.getYScale;\n return function (d, i) {\n var y0 = yScale.call($$, d.id)(0),\n offset = areaOffset(d, i) || y0,\n // offset is for stacked area chart\n posX = x(d),\n posY = y(d); // fix posY not to overflow opposite quadrant\n\n if (config.axis_rotated) {\n if (0 < d.value && posY < y0 || d.value < 0 && y0 < posY) {\n posY = y0;\n }\n } // 1 point that marks the area position\n\n\n return [[posX, offset], [posX, posY - (y0 - offset)], [posX, posY - (y0 - offset)], // needed for compatibility\n [posX, offset] // needed for compatibility\n ];\n };\n };\n\n ChartInternal.prototype.updateCircle = function (cx, cy) {\n var $$ = this;\n var mainCircle = $$.main.selectAll('.' + CLASS.circles).selectAll('.' + CLASS.circle).data($$.lineOrScatterData.bind($$));\n var mainCircleEnter = mainCircle.enter().append(\"circle\").attr(\"class\", $$.classCircle.bind($$)).attr(\"cx\", cx).attr(\"cy\", cy).attr(\"r\", $$.pointR.bind($$)).style(\"fill\", $$.color);\n $$.mainCircle = mainCircleEnter.merge(mainCircle).style(\"opacity\", $$.initialOpacityForCircle.bind($$));\n mainCircle.exit().style(\"opacity\", 0);\n };\n\n ChartInternal.prototype.redrawCircle = function (cx, cy, withTransition, transition) {\n var $$ = this,\n selectedCircles = $$.main.selectAll('.' + CLASS.selectedCircle);\n return [(withTransition ? $$.mainCircle.transition(transition) : $$.mainCircle).style('opacity', this.opacityForCircle.bind($$)).style(\"fill\", $$.color).attr(\"cx\", cx).attr(\"cy\", cy), (withTransition ? selectedCircles.transition(transition) : selectedCircles).attr(\"cx\", cx).attr(\"cy\", cy)];\n };\n\n ChartInternal.prototype.circleX = function (d) {\n return d.x || d.x === 0 ? this.x(d.x) : null;\n };\n\n ChartInternal.prototype.updateCircleY = function () {\n var $$ = this,\n lineIndices,\n getPoints;\n\n if ($$.config.data_groups.length > 0) {\n lineIndices = $$.getShapeIndices($$.isLineType), getPoints = $$.generateGetLinePoints(lineIndices);\n\n $$.circleY = function (d, i) {\n return getPoints(d, i)[0][1];\n };\n } else {\n $$.circleY = function (d) {\n return $$.getYScale(d.id)(d.value);\n };\n }\n };\n\n ChartInternal.prototype.getCircles = function (i, id) {\n var $$ = this;\n return (id ? $$.main.selectAll('.' + CLASS.circles + $$.getTargetSelectorSuffix(id)) : $$.main).selectAll('.' + CLASS.circle + (isValue(i) ? '-' + i : ''));\n };\n\n ChartInternal.prototype.expandCircles = function (i, id, reset) {\n var $$ = this,\n r = $$.pointExpandedR.bind($$);\n\n if (reset) {\n $$.unexpandCircles();\n }\n\n $$.getCircles(i, id).classed(CLASS.EXPANDED, true).attr('r', r);\n };\n\n ChartInternal.prototype.unexpandCircles = function (i) {\n var $$ = this,\n r = $$.pointR.bind($$);\n $$.getCircles(i).filter(function () {\n return $$.d3.select(this).classed(CLASS.EXPANDED);\n }).classed(CLASS.EXPANDED, false).attr('r', r);\n };\n\n ChartInternal.prototype.pointR = function (d) {\n var $$ = this,\n config = $$.config;\n return $$.isStepType(d) ? 0 : isFunction(config.point_r) ? config.point_r(d) : config.point_r;\n };\n\n ChartInternal.prototype.pointExpandedR = function (d) {\n var $$ = this,\n config = $$.config;\n\n if (config.point_focus_expand_enabled) {\n return isFunction(config.point_focus_expand_r) ? config.point_focus_expand_r(d) : config.point_focus_expand_r ? config.point_focus_expand_r : $$.pointR(d) * 1.75;\n } else {\n return $$.pointR(d);\n }\n };\n\n ChartInternal.prototype.pointSelectR = function (d) {\n var $$ = this,\n config = $$.config;\n return isFunction(config.point_select_r) ? config.point_select_r(d) : config.point_select_r ? config.point_select_r : $$.pointR(d) * 4;\n };\n\n ChartInternal.prototype.isWithinCircle = function (that, r) {\n var d3 = this.d3,\n mouse = d3.mouse(that),\n d3_this = d3.select(that),\n cx = +d3_this.attr(\"cx\"),\n cy = +d3_this.attr(\"cy\");\n return Math.sqrt(Math.pow(cx - mouse[0], 2) + Math.pow(cy - mouse[1], 2)) < r;\n };\n\n ChartInternal.prototype.isWithinStep = function (that, y) {\n return Math.abs(y - this.d3.mouse(that)[1]) < 30;\n };\n\n ChartInternal.prototype.getCurrentWidth = function () {\n var $$ = this,\n config = $$.config;\n return config.size_width ? config.size_width : $$.getParentWidth();\n };\n\n ChartInternal.prototype.getCurrentHeight = function () {\n var $$ = this,\n config = $$.config,\n h = config.size_height ? config.size_height : $$.getParentHeight();\n return h > 0 ? h : 320 / ($$.hasType('gauge') && !config.gauge_fullCircle ? 2 : 1);\n };\n\n ChartInternal.prototype.getCurrentPaddingTop = function () {\n var $$ = this,\n config = $$.config,\n padding = isValue(config.padding_top) ? config.padding_top : 0;\n\n if ($$.title && $$.title.node()) {\n padding += $$.getTitlePadding();\n }\n\n return padding;\n };\n\n ChartInternal.prototype.getCurrentPaddingBottom = function () {\n var config = this.config;\n return isValue(config.padding_bottom) ? config.padding_bottom : 0;\n };\n\n ChartInternal.prototype.getCurrentPaddingLeft = function (withoutRecompute) {\n var $$ = this,\n config = $$.config;\n\n if (isValue(config.padding_left)) {\n return config.padding_left;\n } else if (config.axis_rotated) {\n return !config.axis_x_show || config.axis_x_inner ? 1 : Math.max(ceil10($$.getAxisWidthByAxisId('x', withoutRecompute)), 40);\n } else if (!config.axis_y_show || config.axis_y_inner) {\n // && !config.axis_rotated\n return $$.axis.getYAxisLabelPosition().isOuter ? 30 : 1;\n } else {\n return ceil10($$.getAxisWidthByAxisId('y', withoutRecompute));\n }\n };\n\n ChartInternal.prototype.getCurrentPaddingRight = function () {\n var $$ = this,\n config = $$.config,\n defaultPadding = 10,\n legendWidthOnRight = $$.isLegendRight ? $$.getLegendWidth() + 20 : 0;\n\n if (isValue(config.padding_right)) {\n return config.padding_right + 1; // 1 is needed not to hide tick line\n } else if (config.axis_rotated) {\n return defaultPadding + legendWidthOnRight;\n } else if (!config.axis_y2_show || config.axis_y2_inner) {\n // && !config.axis_rotated\n return 2 + legendWidthOnRight + ($$.axis.getY2AxisLabelPosition().isOuter ? 20 : 0);\n } else {\n return ceil10($$.getAxisWidthByAxisId('y2')) + legendWidthOnRight;\n }\n };\n\n ChartInternal.prototype.getParentRectValue = function (key) {\n var parent = this.selectChart.node(),\n v;\n\n while (parent && parent.tagName !== 'BODY') {\n try {\n v = parent.getBoundingClientRect()[key];\n } catch (e) {\n if (key === 'width') {\n // In IE in certain cases getBoundingClientRect\n // will cause an \"unspecified error\"\n v = parent.offsetWidth;\n }\n }\n\n if (v) {\n break;\n }\n\n parent = parent.parentNode;\n }\n\n return v;\n };\n\n ChartInternal.prototype.getParentWidth = function () {\n return this.getParentRectValue('width');\n };\n\n ChartInternal.prototype.getParentHeight = function () {\n return this.getParentRectValue('height');\n };\n\n ChartInternal.prototype.getSvgLeft = function (withoutRecompute) {\n var $$ = this,\n config = $$.config,\n hasLeftAxisRect = config.axis_rotated || !config.axis_rotated && !config.axis_y_inner,\n leftAxisClass = config.axis_rotated ? CLASS.axisX : CLASS.axisY,\n leftAxis = $$.main.select('.' + leftAxisClass).node(),\n svgRect = leftAxis && hasLeftAxisRect ? leftAxis.getBoundingClientRect() : {\n right: 0\n },\n chartRect = $$.selectChart.node().getBoundingClientRect(),\n hasArc = $$.hasArcType(),\n svgLeft = svgRect.right - chartRect.left - (hasArc ? 0 : $$.getCurrentPaddingLeft(withoutRecompute));\n return svgLeft > 0 ? svgLeft : 0;\n };\n\n ChartInternal.prototype.getAxisWidthByAxisId = function (id, withoutRecompute) {\n var $$ = this,\n position = $$.axis.getLabelPositionById(id);\n return $$.axis.getMaxTickWidth(id, withoutRecompute) + (position.isInner ? 20 : 40);\n };\n\n ChartInternal.prototype.getHorizontalAxisHeight = function (axisId) {\n var $$ = this,\n config = $$.config,\n h = 30;\n\n if (axisId === 'x' && !config.axis_x_show) {\n return 8;\n }\n\n if (axisId === 'x' && config.axis_x_height) {\n return config.axis_x_height;\n }\n\n if (axisId === 'y' && !config.axis_y_show) {\n return config.legend_show && !$$.isLegendRight && !$$.isLegendInset ? 10 : 1;\n }\n\n if (axisId === 'y2' && !config.axis_y2_show) {\n return $$.rotated_padding_top;\n } // Calculate x axis height when tick rotated\n\n\n if (axisId === 'x' && !config.axis_rotated && config.axis_x_tick_rotate) {\n h = 30 + $$.axis.getMaxTickWidth(axisId) * Math.cos(Math.PI * (90 - Math.abs(config.axis_x_tick_rotate)) / 180);\n } // Calculate y axis height when tick rotated\n\n\n if (axisId === 'y' && config.axis_rotated && config.axis_y_tick_rotate) {\n h = 30 + $$.axis.getMaxTickWidth(axisId) * Math.cos(Math.PI * (90 - Math.abs(config.axis_y_tick_rotate)) / 180);\n }\n\n return h + ($$.axis.getLabelPositionById(axisId).isInner ? 0 : 10) + (axisId === 'y2' ? -10 : 0);\n };\n\n ChartInternal.prototype.initBrush = function (scale) {\n var $$ = this,\n d3 = $$.d3; // TODO: dynamically change brushY/brushX according to axis_rotated.\n\n $$.brush = ($$.config.axis_rotated ? d3.brushY() : d3.brushX()).on(\"brush\", function () {\n var event = d3.event.sourceEvent;\n\n if (event && event.type === \"zoom\") {\n return;\n }\n\n $$.redrawForBrush();\n }).on(\"end\", function () {\n var event = d3.event.sourceEvent;\n\n if (event && event.type === \"zoom\") {\n return;\n }\n\n if ($$.brush.empty() && event && event.type !== 'end') {\n $$.brush.clear();\n }\n });\n\n $$.brush.updateExtent = function () {\n var range = this.scale.range(),\n extent;\n\n if ($$.config.axis_rotated) {\n extent = [[0, range[0]], [$$.width2, range[1]]];\n } else {\n extent = [[range[0], 0], [range[1], $$.height2]];\n }\n\n this.extent(extent);\n return this;\n };\n\n $$.brush.updateScale = function (scale) {\n this.scale = scale;\n return this;\n };\n\n $$.brush.update = function (scale) {\n this.updateScale(scale || $$.subX).updateExtent();\n $$.context.select('.' + CLASS.brush).call(this);\n };\n\n $$.brush.clear = function () {\n $$.context.select('.' + CLASS.brush).call($$.brush.move, null);\n };\n\n $$.brush.selection = function () {\n return d3.brushSelection($$.context.select('.' + CLASS.brush).node());\n };\n\n $$.brush.selectionAsValue = function (selectionAsValue, withTransition) {\n var selection, brush;\n\n if (selectionAsValue) {\n if ($$.context) {\n selection = [this.scale(selectionAsValue[0]), this.scale(selectionAsValue[1])];\n brush = $$.context.select('.' + CLASS.brush);\n\n if (withTransition) {\n brush = brush.transition();\n }\n\n $$.brush.move(brush, selection);\n }\n\n return [];\n }\n\n selection = $$.brush.selection() || [0, 0];\n return [this.scale.invert(selection[0]), this.scale.invert(selection[1])];\n };\n\n $$.brush.empty = function () {\n var selection = $$.brush.selection();\n return !selection || selection[0] === selection[1];\n };\n\n return $$.brush.updateScale(scale);\n };\n\n ChartInternal.prototype.initSubchart = function () {\n var $$ = this,\n config = $$.config,\n context = $$.context = $$.svg.append(\"g\").attr(\"transform\", $$.getTranslate('context')),\n visibility = config.subchart_show ? 'visible' : 'hidden'; // set style\n\n context.style('visibility', visibility); // Define g for chart area\n\n context.append('g').attr(\"clip-path\", $$.clipPathForSubchart).attr('class', CLASS.chart); // Define g for bar chart area\n\n context.select('.' + CLASS.chart).append(\"g\").attr(\"class\", CLASS.chartBars); // Define g for line chart area\n\n context.select('.' + CLASS.chart).append(\"g\").attr(\"class\", CLASS.chartLines); // Add extent rect for Brush\n\n context.append(\"g\").attr(\"clip-path\", $$.clipPath).attr(\"class\", CLASS.brush); // ATTENTION: This must be called AFTER chart added\n // Add Axis\n\n $$.axes.subx = context.append(\"g\").attr(\"class\", CLASS.axisX).attr(\"transform\", $$.getTranslate('subx')).attr(\"clip-path\", config.axis_rotated ? \"\" : $$.clipPathForXAxis);\n };\n\n ChartInternal.prototype.initSubchartBrush = function () {\n var $$ = this; // Add extent rect for Brush\n\n $$.initBrush($$.subX).updateExtent();\n $$.context.select('.' + CLASS.brush).call($$.brush);\n };\n\n ChartInternal.prototype.updateTargetsForSubchart = function (targets) {\n var $$ = this,\n context = $$.context,\n config = $$.config,\n contextLineEnter,\n contextLine,\n contextBarEnter,\n contextBar,\n classChartBar = $$.classChartBar.bind($$),\n classBars = $$.classBars.bind($$),\n classChartLine = $$.classChartLine.bind($$),\n classLines = $$.classLines.bind($$),\n classAreas = $$.classAreas.bind($$);\n\n if (config.subchart_show) {\n //-- Bar --//\n contextBar = context.select('.' + CLASS.chartBars).selectAll('.' + CLASS.chartBar).data(targets);\n contextBarEnter = contextBar.enter().append('g').style('opacity', 0);\n contextBarEnter.merge(contextBar).attr('class', classChartBar); // Bars for each data\n\n contextBarEnter.append('g').attr(\"class\", classBars); //-- Line --//\n\n contextLine = context.select('.' + CLASS.chartLines).selectAll('.' + CLASS.chartLine).data(targets);\n contextLineEnter = contextLine.enter().append('g').style('opacity', 0);\n contextLineEnter.merge(contextLine).attr('class', classChartLine); // Lines for each data\n\n contextLineEnter.append(\"g\").attr(\"class\", classLines); // Area\n\n contextLineEnter.append(\"g\").attr(\"class\", classAreas); //-- Brush --//\n\n context.selectAll('.' + CLASS.brush + ' rect').attr(config.axis_rotated ? \"width\" : \"height\", config.axis_rotated ? $$.width2 : $$.height2);\n }\n };\n\n ChartInternal.prototype.updateBarForSubchart = function (durationForExit) {\n var $$ = this;\n var contextBar = $$.context.selectAll('.' + CLASS.bars).selectAll('.' + CLASS.bar).data($$.barData.bind($$));\n var contextBarEnter = contextBar.enter().append('path').attr(\"class\", $$.classBar.bind($$)).style(\"stroke\", 'none').style(\"fill\", $$.color);\n contextBar.exit().transition().duration(durationForExit).style('opacity', 0).remove();\n $$.contextBar = contextBarEnter.merge(contextBar).style(\"opacity\", $$.initialOpacity.bind($$));\n };\n\n ChartInternal.prototype.redrawBarForSubchart = function (drawBarOnSub, withTransition, duration) {\n (withTransition ? this.contextBar.transition(Math.random().toString()).duration(duration) : this.contextBar).attr('d', drawBarOnSub).style('opacity', 1);\n };\n\n ChartInternal.prototype.updateLineForSubchart = function (durationForExit) {\n var $$ = this;\n var contextLine = $$.context.selectAll('.' + CLASS.lines).selectAll('.' + CLASS.line).data($$.lineData.bind($$));\n var contextLineEnter = contextLine.enter().append('path').attr('class', $$.classLine.bind($$)).style('stroke', $$.color);\n contextLine.exit().transition().duration(durationForExit).style('opacity', 0).remove();\n $$.contextLine = contextLineEnter.merge(contextLine).style(\"opacity\", $$.initialOpacity.bind($$));\n };\n\n ChartInternal.prototype.redrawLineForSubchart = function (drawLineOnSub, withTransition, duration) {\n (withTransition ? this.contextLine.transition(Math.random().toString()).duration(duration) : this.contextLine).attr(\"d\", drawLineOnSub).style('opacity', 1);\n };\n\n ChartInternal.prototype.updateAreaForSubchart = function (durationForExit) {\n var $$ = this,\n d3 = $$.d3;\n var contextArea = $$.context.selectAll('.' + CLASS.areas).selectAll('.' + CLASS.area).data($$.lineData.bind($$));\n var contextAreaEnter = contextArea.enter().append('path').attr(\"class\", $$.classArea.bind($$)).style(\"fill\", $$.color).style(\"opacity\", function () {\n $$.orgAreaOpacity = +d3.select(this).style('opacity');\n return 0;\n });\n contextArea.exit().transition().duration(durationForExit).style('opacity', 0).remove();\n $$.contextArea = contextAreaEnter.merge(contextArea).style(\"opacity\", 0);\n };\n\n ChartInternal.prototype.redrawAreaForSubchart = function (drawAreaOnSub, withTransition, duration) {\n (withTransition ? this.contextArea.transition(Math.random().toString()).duration(duration) : this.contextArea).attr(\"d\", drawAreaOnSub).style(\"fill\", this.color).style(\"opacity\", this.orgAreaOpacity);\n };\n\n ChartInternal.prototype.redrawSubchart = function (withSubchart, transitions, duration, durationForExit, areaIndices, barIndices, lineIndices) {\n var $$ = this,\n d3 = $$.d3,\n config = $$.config,\n drawAreaOnSub,\n drawBarOnSub,\n drawLineOnSub;\n $$.context.style('visibility', config.subchart_show ? 'visible' : 'hidden'); // subchart\n\n if (config.subchart_show) {\n // reflect main chart to extent on subchart if zoomed\n if (d3.event && d3.event.type === 'zoom') {\n $$.brush.selectionAsValue($$.x.orgDomain());\n } // update subchart elements if needed\n\n\n if (withSubchart) {\n // extent rect\n if (!$$.brush.empty()) {\n $$.brush.selectionAsValue($$.x.orgDomain());\n } // setup drawer - MEMO: this must be called after axis updated\n\n\n drawAreaOnSub = $$.generateDrawArea(areaIndices, true);\n drawBarOnSub = $$.generateDrawBar(barIndices, true);\n drawLineOnSub = $$.generateDrawLine(lineIndices, true);\n $$.updateBarForSubchart(duration);\n $$.updateLineForSubchart(duration);\n $$.updateAreaForSubchart(duration);\n $$.redrawBarForSubchart(drawBarOnSub, duration, duration);\n $$.redrawLineForSubchart(drawLineOnSub, duration, duration);\n $$.redrawAreaForSubchart(drawAreaOnSub, duration, duration);\n }\n }\n };\n\n ChartInternal.prototype.redrawForBrush = function () {\n var $$ = this,\n x = $$.x,\n d3 = $$.d3,\n s;\n $$.redraw({\n withTransition: false,\n withY: $$.config.zoom_rescale,\n withSubchart: false,\n withUpdateXDomain: true,\n withEventRect: false,\n withDimension: false\n }); // update zoom transation binded to event rect\n\n s = d3.event.selection || $$.brush.scale.range();\n $$.main.select('.' + CLASS.eventRect).call($$.zoom.transform, d3.zoomIdentity.scale($$.width / (s[1] - s[0])).translate(-s[0], 0));\n $$.config.subchart_onbrush.call($$.api, x.orgDomain());\n };\n\n ChartInternal.prototype.transformContext = function (withTransition, transitions) {\n var $$ = this,\n subXAxis;\n\n if (transitions && transitions.axisSubX) {\n subXAxis = transitions.axisSubX;\n } else {\n subXAxis = $$.context.select('.' + CLASS.axisX);\n\n if (withTransition) {\n subXAxis = subXAxis.transition();\n }\n }\n\n $$.context.attr(\"transform\", $$.getTranslate('context'));\n subXAxis.attr(\"transform\", $$.getTranslate('subx'));\n };\n\n ChartInternal.prototype.getDefaultSelection = function () {\n var $$ = this,\n config = $$.config,\n selection = isFunction(config.axis_x_selection) ? config.axis_x_selection($$.getXDomain($$.data.targets)) : config.axis_x_selection;\n\n if ($$.isTimeSeries()) {\n selection = [$$.parseDate(selection[0]), $$.parseDate(selection[1])];\n }\n\n return selection;\n };\n\n ChartInternal.prototype.initText = function () {\n var $$ = this;\n $$.main.select('.' + CLASS.chart).append(\"g\").attr(\"class\", CLASS.chartTexts);\n $$.mainText = $$.d3.selectAll([]);\n };\n\n ChartInternal.prototype.updateTargetsForText = function (targets) {\n var $$ = this,\n classChartText = $$.classChartText.bind($$),\n classTexts = $$.classTexts.bind($$),\n classFocus = $$.classFocus.bind($$);\n var mainText = $$.main.select('.' + CLASS.chartTexts).selectAll('.' + CLASS.chartText).data(targets);\n var mainTextEnter = mainText.enter().append('g').attr('class', classChartText).style('opacity', 0).style(\"pointer-events\", \"none\");\n mainTextEnter.append('g').attr('class', classTexts);\n mainTextEnter.merge(mainText).attr('class', function (d) {\n return classChartText(d) + classFocus(d);\n });\n };\n\n ChartInternal.prototype.updateText = function (xForText, yForText, durationForExit) {\n var $$ = this,\n config = $$.config,\n barOrLineData = $$.barOrLineData.bind($$),\n classText = $$.classText.bind($$);\n var mainText = $$.main.selectAll('.' + CLASS.texts).selectAll('.' + CLASS.text).data(barOrLineData);\n var mainTextEnter = mainText.enter().append('text').attr(\"class\", classText).attr('text-anchor', function (d) {\n return config.axis_rotated ? d.value < 0 ? 'end' : 'start' : 'middle';\n }).style(\"stroke\", 'none').attr('x', xForText).attr('y', yForText).style(\"fill\", function (d) {\n return $$.color(d);\n }).style(\"fill-opacity\", 0);\n $$.mainText = mainTextEnter.merge(mainText).text(function (d, i, j) {\n return $$.dataLabelFormat(d.id)(d.value, d.id, i, j);\n });\n mainText.exit().transition().duration(durationForExit).style('fill-opacity', 0).remove();\n };\n\n ChartInternal.prototype.redrawText = function (xForText, yForText, forFlow, withTransition, transition) {\n return [(withTransition ? this.mainText.transition(transition) : this.mainText).attr('x', xForText).attr('y', yForText).style(\"fill\", this.color).style(\"fill-opacity\", forFlow ? 0 : this.opacityForText.bind(this))];\n };\n\n ChartInternal.prototype.getTextRect = function (text, cls, element) {\n var dummy = this.d3.select('body').append('div').classed('c3', true),\n svg = dummy.append(\"svg\").style('visibility', 'hidden').style('position', 'fixed').style('top', 0).style('left', 0),\n font = this.d3.select(element).style('font'),\n rect;\n svg.selectAll('.dummy').data([text]).enter().append('text').classed(cls ? cls : \"\", true).style('font', font).text(text).each(function () {\n rect = this.getBoundingClientRect();\n });\n dummy.remove();\n return rect;\n };\n\n ChartInternal.prototype.generateXYForText = function (areaIndices, barIndices, lineIndices, forX) {\n var $$ = this,\n getAreaPoints = $$.generateGetAreaPoints(areaIndices, false),\n getBarPoints = $$.generateGetBarPoints(barIndices, false),\n getLinePoints = $$.generateGetLinePoints(lineIndices, false),\n getter = forX ? $$.getXForText : $$.getYForText;\n return function (d, i) {\n var getPoints = $$.isAreaType(d) ? getAreaPoints : $$.isBarType(d) ? getBarPoints : getLinePoints;\n return getter.call($$, getPoints(d, i), d, this);\n };\n };\n\n ChartInternal.prototype.getXForText = function (points, d, textElement) {\n var $$ = this,\n box = textElement.getBoundingClientRect(),\n xPos,\n padding;\n\n if ($$.config.axis_rotated) {\n padding = $$.isBarType(d) ? 4 : 6;\n xPos = points[2][1] + padding * (d.value < 0 ? -1 : 1);\n } else {\n xPos = $$.hasType('bar') ? (points[2][0] + points[0][0]) / 2 : points[0][0];\n } // show labels regardless of the domain if value is null\n\n\n if (d.value === null) {\n if (xPos > $$.width) {\n xPos = $$.width - box.width;\n } else if (xPos < 0) {\n xPos = 4;\n }\n }\n\n return xPos;\n };\n\n ChartInternal.prototype.getYForText = function (points, d, textElement) {\n var $$ = this,\n box = textElement.getBoundingClientRect(),\n yPos;\n\n if ($$.config.axis_rotated) {\n yPos = (points[0][0] + points[2][0] + box.height * 0.6) / 2;\n } else {\n yPos = points[2][1];\n\n if (d.value < 0 || d.value === 0 && !$$.hasPositiveValue) {\n yPos += box.height;\n\n if ($$.isBarType(d) && $$.isSafari()) {\n yPos -= 3;\n } else if (!$$.isBarType(d) && $$.isChrome()) {\n yPos += 3;\n }\n } else {\n yPos += $$.isBarType(d) ? -3 : -6;\n }\n } // show labels regardless of the domain if value is null\n\n\n if (d.value === null && !$$.config.axis_rotated) {\n if (yPos < box.height) {\n yPos = box.height;\n } else if (yPos > this.height) {\n yPos = this.height - 4;\n }\n }\n\n return yPos;\n };\n\n ChartInternal.prototype.initTitle = function () {\n var $$ = this;\n $$.title = $$.svg.append(\"text\").text($$.config.title_text).attr(\"class\", $$.CLASS.title);\n };\n\n ChartInternal.prototype.redrawTitle = function () {\n var $$ = this;\n $$.title.attr(\"x\", $$.xForTitle.bind($$)).attr(\"y\", $$.yForTitle.bind($$));\n };\n\n ChartInternal.prototype.xForTitle = function () {\n var $$ = this,\n config = $$.config,\n position = config.title_position || 'left',\n x;\n\n if (position.indexOf('right') >= 0) {\n x = $$.currentWidth - $$.getTextRect($$.title.node().textContent, $$.CLASS.title, $$.title.node()).width - config.title_padding.right;\n } else if (position.indexOf('center') >= 0) {\n x = ($$.currentWidth - $$.getTextRect($$.title.node().textContent, $$.CLASS.title, $$.title.node()).width) / 2;\n } else {\n // left\n x = config.title_padding.left;\n }\n\n return x;\n };\n\n ChartInternal.prototype.yForTitle = function () {\n var $$ = this;\n return $$.config.title_padding.top + $$.getTextRect($$.title.node().textContent, $$.CLASS.title, $$.title.node()).height;\n };\n\n ChartInternal.prototype.getTitlePadding = function () {\n var $$ = this;\n return $$.yForTitle() + $$.config.title_padding.bottom;\n };\n\n ChartInternal.prototype.initTooltip = function () {\n var $$ = this,\n config = $$.config,\n i;\n $$.tooltip = $$.selectChart.style(\"position\", \"relative\").append(\"div\").attr('class', CLASS.tooltipContainer).style(\"position\", \"absolute\").style(\"pointer-events\", \"none\").style(\"display\", \"none\"); // Show tooltip if needed\n\n if (config.tooltip_init_show) {\n if ($$.isTimeSeries() && isString(config.tooltip_init_x)) {\n config.tooltip_init_x = $$.parseDate(config.tooltip_init_x);\n\n for (i = 0; i < $$.data.targets[0].values.length; i++) {\n if ($$.data.targets[0].values[i].x - config.tooltip_init_x === 0) {\n break;\n }\n }\n\n config.tooltip_init_x = i;\n }\n\n $$.tooltip.html(config.tooltip_contents.call($$, $$.data.targets.map(function (d) {\n return $$.addName(d.values[config.tooltip_init_x]);\n }), $$.axis.getXAxisTickFormat(), $$.getYFormat($$.hasArcType()), $$.color));\n $$.tooltip.style(\"top\", config.tooltip_init_position.top).style(\"left\", config.tooltip_init_position.left).style(\"display\", \"block\");\n }\n };\n\n ChartInternal.prototype.getTooltipSortFunction = function () {\n var $$ = this,\n config = $$.config;\n\n if (config.data_groups.length === 0 || config.tooltip_order !== undefined) {\n // if data are not grouped or if an order is specified\n // for the tooltip values we sort them by their values\n var order = config.tooltip_order;\n\n if (order === undefined) {\n order = config.data_order;\n }\n\n var valueOf = function valueOf(obj) {\n return obj ? obj.value : null;\n }; // if data are not grouped, we sort them by their value\n\n\n if (isString(order) && order.toLowerCase() === 'asc') {\n return function (a, b) {\n return valueOf(a) - valueOf(b);\n };\n } else if (isString(order) && order.toLowerCase() === 'desc') {\n return function (a, b) {\n return valueOf(b) - valueOf(a);\n };\n } else if (isFunction(order)) {\n // if the function is from data_order we need\n // to wrap the returned function in order to format\n // the sorted value to the expected format\n var sortFunction = order;\n\n if (config.tooltip_order === undefined) {\n sortFunction = function sortFunction(a, b) {\n return order(a ? {\n id: a.id,\n values: [a]\n } : null, b ? {\n id: b.id,\n values: [b]\n } : null);\n };\n }\n\n return sortFunction;\n } else if (isArray(order)) {\n return function (a, b) {\n return order.indexOf(a.id) - order.indexOf(b.id);\n };\n }\n } else {\n // if data are grouped, we follow the order of grouped targets\n var ids = $$.orderTargets($$.data.targets).map(function (i) {\n return i.id;\n }); // if it was either asc or desc we need to invert the order\n // returned by orderTargets\n\n if ($$.isOrderAsc() || $$.isOrderDesc()) {\n ids = ids.reverse();\n }\n\n return function (a, b) {\n return ids.indexOf(a.id) - ids.indexOf(b.id);\n };\n }\n };\n\n ChartInternal.prototype.getTooltipContent = function (d, defaultTitleFormat, defaultValueFormat, color) {\n var $$ = this,\n config = $$.config,\n titleFormat = config.tooltip_format_title || defaultTitleFormat,\n nameFormat = config.tooltip_format_name || function (name) {\n return name;\n },\n valueFormat = config.tooltip_format_value || defaultValueFormat,\n text,\n i,\n title,\n value,\n name,\n bgcolor;\n\n var tooltipSortFunction = this.getTooltipSortFunction();\n\n if (tooltipSortFunction) {\n d.sort(tooltipSortFunction);\n }\n\n for (i = 0; i < d.length; i++) {\n if (!(d[i] && (d[i].value || d[i].value === 0))) {\n continue;\n }\n\n if (!text) {\n title = sanitise(titleFormat ? titleFormat(d[i].x, d[i].index) : d[i].x);\n text = \"\" + (title || title === 0 ? \"\" : \"\");\n }\n\n value = sanitise(valueFormat(d[i].value, d[i].ratio, d[i].id, d[i].index, d));\n\n if (value !== undefined) {\n // Skip elements when their name is set to null\n if (d[i].name === null) {\n continue;\n }\n\n name = sanitise(nameFormat(d[i].name, d[i].ratio, d[i].id, d[i].index));\n bgcolor = $$.levelColor ? $$.levelColor(d[i].value) : color(d[i].id);\n text += \"\";\n text += \"\";\n text += \"\";\n text += \"\";\n }\n }\n\n return text + \"
\" + title + \"
\" + name + \"\" + value + \"
\";\n };\n\n ChartInternal.prototype.tooltipPosition = function (dataToShow, tWidth, tHeight, element) {\n var $$ = this,\n config = $$.config,\n d3 = $$.d3;\n var svgLeft, tooltipLeft, tooltipRight, tooltipTop, chartRight;\n var forArc = $$.hasArcType(),\n mouse = d3.mouse(element); // Determin tooltip position\n\n if (forArc) {\n tooltipLeft = ($$.width - ($$.isLegendRight ? $$.getLegendWidth() : 0)) / 2 + mouse[0];\n tooltipTop = ($$.hasType('gauge') ? $$.height : $$.height / 2) + mouse[1] + 20;\n } else {\n svgLeft = $$.getSvgLeft(true);\n\n if (config.axis_rotated) {\n tooltipLeft = svgLeft + mouse[0] + 100;\n tooltipRight = tooltipLeft + tWidth;\n chartRight = $$.currentWidth - $$.getCurrentPaddingRight();\n tooltipTop = $$.x(dataToShow[0].x) + 20;\n } else {\n tooltipLeft = svgLeft + $$.getCurrentPaddingLeft(true) + $$.x(dataToShow[0].x) + 20;\n tooltipRight = tooltipLeft + tWidth;\n chartRight = svgLeft + $$.currentWidth - $$.getCurrentPaddingRight();\n tooltipTop = mouse[1] + 15;\n }\n\n if (tooltipRight > chartRight) {\n // 20 is needed for Firefox to keep tooltip width\n tooltipLeft -= tooltipRight - chartRight + 20;\n }\n\n if (tooltipTop + tHeight > $$.currentHeight) {\n tooltipTop -= tHeight + 30;\n }\n }\n\n if (tooltipTop < 0) {\n tooltipTop = 0;\n }\n\n return {\n top: tooltipTop,\n left: tooltipLeft\n };\n };\n\n ChartInternal.prototype.showTooltip = function (selectedData, element) {\n var $$ = this,\n config = $$.config;\n var tWidth, tHeight, position;\n var forArc = $$.hasArcType(),\n dataToShow = selectedData.filter(function (d) {\n return d && isValue(d.value);\n }),\n positionFunction = config.tooltip_position || ChartInternal.prototype.tooltipPosition;\n\n if (dataToShow.length === 0 || !config.tooltip_show) {\n return;\n }\n\n $$.tooltip.html(config.tooltip_contents.call($$, selectedData, $$.axis.getXAxisTickFormat(), $$.getYFormat(forArc), $$.color)).style(\"display\", \"block\"); // Get tooltip dimensions\n\n tWidth = $$.tooltip.property('offsetWidth');\n tHeight = $$.tooltip.property('offsetHeight');\n position = positionFunction.call(this, dataToShow, tWidth, tHeight, element); // Set tooltip\n\n $$.tooltip.style(\"top\", position.top + \"px\").style(\"left\", position.left + 'px');\n };\n\n ChartInternal.prototype.hideTooltip = function () {\n this.tooltip.style(\"display\", \"none\");\n };\n\n ChartInternal.prototype.setTargetType = function (targetIds, type) {\n var $$ = this,\n config = $$.config;\n $$.mapToTargetIds(targetIds).forEach(function (id) {\n $$.withoutFadeIn[id] = type === config.data_types[id];\n config.data_types[id] = type;\n });\n\n if (!targetIds) {\n config.data_type = type;\n }\n };\n\n ChartInternal.prototype.hasType = function (type, targets) {\n var $$ = this,\n types = $$.config.data_types,\n has = false;\n targets = targets || $$.data.targets;\n\n if (targets && targets.length) {\n targets.forEach(function (target) {\n var t = types[target.id];\n\n if (t && t.indexOf(type) >= 0 || !t && type === 'line') {\n has = true;\n }\n });\n } else if (Object.keys(types).length) {\n Object.keys(types).forEach(function (id) {\n if (types[id] === type) {\n has = true;\n }\n });\n } else {\n has = $$.config.data_type === type;\n }\n\n return has;\n };\n\n ChartInternal.prototype.hasArcType = function (targets) {\n return this.hasType('pie', targets) || this.hasType('donut', targets) || this.hasType('gauge', targets);\n };\n\n ChartInternal.prototype.isLineType = function (d) {\n var config = this.config,\n id = isString(d) ? d : d.id;\n return !config.data_types[id] || ['line', 'spline', 'area', 'area-spline', 'step', 'area-step'].indexOf(config.data_types[id]) >= 0;\n };\n\n ChartInternal.prototype.isStepType = function (d) {\n var id = isString(d) ? d : d.id;\n return ['step', 'area-step'].indexOf(this.config.data_types[id]) >= 0;\n };\n\n ChartInternal.prototype.isSplineType = function (d) {\n var id = isString(d) ? d : d.id;\n return ['spline', 'area-spline'].indexOf(this.config.data_types[id]) >= 0;\n };\n\n ChartInternal.prototype.isAreaType = function (d) {\n var id = isString(d) ? d : d.id;\n return ['area', 'area-spline', 'area-step'].indexOf(this.config.data_types[id]) >= 0;\n };\n\n ChartInternal.prototype.isBarType = function (d) {\n var id = isString(d) ? d : d.id;\n return this.config.data_types[id] === 'bar';\n };\n\n ChartInternal.prototype.isScatterType = function (d) {\n var id = isString(d) ? d : d.id;\n return this.config.data_types[id] === 'scatter';\n };\n\n ChartInternal.prototype.isPieType = function (d) {\n var id = isString(d) ? d : d.id;\n return this.config.data_types[id] === 'pie';\n };\n\n ChartInternal.prototype.isGaugeType = function (d) {\n var id = isString(d) ? d : d.id;\n return this.config.data_types[id] === 'gauge';\n };\n\n ChartInternal.prototype.isDonutType = function (d) {\n var id = isString(d) ? d : d.id;\n return this.config.data_types[id] === 'donut';\n };\n\n ChartInternal.prototype.isArcType = function (d) {\n return this.isPieType(d) || this.isDonutType(d) || this.isGaugeType(d);\n };\n\n ChartInternal.prototype.lineData = function (d) {\n return this.isLineType(d) ? [d] : [];\n };\n\n ChartInternal.prototype.arcData = function (d) {\n return this.isArcType(d.data) ? [d] : [];\n };\n /* not used\n function scatterData(d) {\n return isScatterType(d) ? d.values : [];\n }\n */\n\n\n ChartInternal.prototype.barData = function (d) {\n return this.isBarType(d) ? d.values : [];\n };\n\n ChartInternal.prototype.lineOrScatterData = function (d) {\n return this.isLineType(d) || this.isScatterType(d) ? d.values : [];\n };\n\n ChartInternal.prototype.barOrLineData = function (d) {\n return this.isBarType(d) || this.isLineType(d) ? d.values : [];\n };\n\n ChartInternal.prototype.isSafari = function () {\n var ua = window.navigator.userAgent;\n return ua.indexOf('Safari') >= 0 && ua.indexOf('Chrome') < 0;\n };\n\n ChartInternal.prototype.isChrome = function () {\n var ua = window.navigator.userAgent;\n return ua.indexOf('Chrome') >= 0;\n };\n\n ChartInternal.prototype.initZoom = function () {\n var $$ = this,\n d3 = $$.d3,\n config = $$.config,\n startEvent;\n $$.zoom = d3.zoom().on(\"start\", function () {\n if (config.zoom_type !== 'scroll') {\n return;\n }\n\n var e = d3.event.sourceEvent;\n\n if (e && e.type === \"brush\") {\n return;\n }\n\n startEvent = e;\n config.zoom_onzoomstart.call($$.api, e);\n }).on(\"zoom\", function () {\n if (config.zoom_type !== 'scroll') {\n return;\n }\n\n var e = d3.event.sourceEvent;\n\n if (e && e.type === \"brush\") {\n return;\n }\n\n $$.redrawForZoom();\n config.zoom_onzoom.call($$.api, $$.x.orgDomain());\n }).on('end', function () {\n if (config.zoom_type !== 'scroll') {\n return;\n }\n\n var e = d3.event.sourceEvent;\n\n if (e && e.type === \"brush\") {\n return;\n } // if click, do nothing. otherwise, click interaction will be canceled.\n\n\n if (e && startEvent.clientX === e.clientX && startEvent.clientY === e.clientY) {\n return;\n }\n\n config.zoom_onzoomend.call($$.api, $$.x.orgDomain());\n });\n\n $$.zoom.updateDomain = function () {\n if (d3.event && d3.event.transform) {\n $$.x.domain(d3.event.transform.rescaleX($$.subX).domain());\n }\n\n return this;\n };\n\n $$.zoom.updateExtent = function () {\n this.scaleExtent([1, Infinity]).translateExtent([[0, 0], [$$.width, $$.height]]).extent([[0, 0], [$$.width, $$.height]]);\n return this;\n };\n\n $$.zoom.update = function () {\n return this.updateExtent().updateDomain();\n };\n\n return $$.zoom.updateExtent();\n };\n\n ChartInternal.prototype.zoomTransform = function (range) {\n var $$ = this,\n s = [$$.x(range[0]), $$.x(range[1])];\n return $$.d3.zoomIdentity.scale($$.width / (s[1] - s[0])).translate(-s[0], 0);\n };\n\n ChartInternal.prototype.initDragZoom = function () {\n var $$ = this;\n var d3 = $$.d3;\n var config = $$.config;\n var context = $$.context = $$.svg;\n var brushXPos = $$.margin.left + 20.5;\n var brushYPos = $$.margin.top + 0.5;\n\n if (!(config.zoom_type === 'drag' && config.zoom_enabled)) {\n return;\n }\n\n var getZoomedDomain = function getZoomedDomain(selection) {\n return selection && selection.map(function (x) {\n return $$.x.invert(x);\n });\n };\n\n var brush = $$.dragZoomBrush = d3.brushX().on(\"start\", function () {\n $$.api.unzoom();\n $$.svg.select(\".\" + CLASS.dragZoom).classed(\"disabled\", false);\n config.zoom_onzoomstart.call($$.api, d3.event.sourceEvent);\n }).on(\"brush\", function () {\n config.zoom_onzoom.call($$.api, getZoomedDomain(d3.event.selection));\n }).on(\"end\", function () {\n if (d3.event.selection == null) {\n return;\n }\n\n var zoomedDomain = getZoomedDomain(d3.event.selection);\n\n if (!config.zoom_disableDefaultBehavior) {\n $$.api.zoom(zoomedDomain);\n }\n\n $$.svg.select(\".\" + CLASS.dragZoom).classed(\"disabled\", true);\n config.zoom_onzoomend.call($$.api, zoomedDomain);\n });\n context.append(\"g\").classed(CLASS.dragZoom, true).attr(\"clip-path\", $$.clipPath).attr(\"transform\", \"translate(\" + brushXPos + \",\" + brushYPos + \")\").call(brush);\n };\n\n ChartInternal.prototype.getZoomDomain = function () {\n var $$ = this,\n config = $$.config,\n d3 = $$.d3,\n min = d3.min([$$.orgXDomain[0], config.zoom_x_min]),\n max = d3.max([$$.orgXDomain[1], config.zoom_x_max]);\n return [min, max];\n };\n\n ChartInternal.prototype.redrawForZoom = function () {\n var $$ = this,\n d3 = $$.d3,\n config = $$.config,\n zoom = $$.zoom,\n x = $$.x;\n\n if (!config.zoom_enabled) {\n return;\n }\n\n if ($$.filterTargetsToShow($$.data.targets).length === 0) {\n return;\n }\n\n zoom.update();\n\n if (config.zoom_disableDefaultBehavior) {\n return;\n }\n\n if ($$.isCategorized() && x.orgDomain()[0] === $$.orgXDomain[0]) {\n x.domain([$$.orgXDomain[0] - 1e-10, x.orgDomain()[1]]);\n }\n\n $$.redraw({\n withTransition: false,\n withY: config.zoom_rescale,\n withSubchart: false,\n withEventRect: false,\n withDimension: false\n });\n\n if (d3.event.sourceEvent && d3.event.sourceEvent.type === 'mousemove') {\n $$.cancelClick = true;\n }\n };\n\n return c3;\n\n})));\n","import { each } from '../../utils/each';\nimport { extend } from '../../utils/extend';\n\nfunction average(arr, start, end){\n var set = arr.slice(start||0, (end ? end+1 : arr.length)),\n sum = 0,\n avg = null;\n\n // Add numeric values\n each(set, function(val, i){\n if (typeof val === 'number' && !isNaN(parseFloat(val))) {\n sum += parseFloat(val);\n }\n });\n return sum / set.length;\n}\n\nfunction maximum(arr, start, end){\n var set = arr.slice(start||0, (end ? end+1 : arr.length)),\n nums = [];\n\n // Pull numeric values\n each(set, function(val, i){\n if (typeof val === 'number' && !isNaN(parseFloat(val))) {\n nums.push(parseFloat(val));\n }\n });\n return Math.max.apply(Math, nums);\n}\n\nfunction minimum(arr, start, end){\n var set = arr.slice(start||0, (end ? end+1 : arr.length)),\n nums = [];\n\n // Pull numeric values\n each(set, function(val, i){\n if (typeof val === 'number' && !isNaN(parseFloat(val))) {\n nums.push(parseFloat(val));\n }\n });\n return Math.min.apply(Math, nums);\n}\n\nfunction sum(arr, start, end){\n // Copy set with given range\n var set = arr.slice(start||0, (end ? end+1 : arr.length)),\n sum = 0;\n\n // Add numeric values\n each(set, function(val, i){\n if (typeof val === 'number' && !isNaN(parseFloat(val))) {\n sum += parseFloat(val);\n }\n });\n return sum;\n}\n\nconst getColumnAverage = function (arr) {\n return average(arr, 1);\n};\nconst getRowAverage = getColumnAverage;\n\nconst getColumnSum = function (arr) {\n return sum(arr, 1);\n};\nconst getRowSum = getColumnSum;\n\nconst getColumnMaximum = function (arr) {\n return maximum(arr, 1);\n};\nconst getRowMaximum = getColumnMaximum;\n\nconst getColumnMinimum = function (arr) {\n return minimum(arr, 1);\n};\nconst getRowMinimum = getColumnMinimum;\n\nconst getColumnLabel = function (arr) {\n return arr[0];\n};\nconst getRowIndex = getColumnLabel;\n\nexport default {\n average,\n maximum,\n minimum,\n sum,\n getColumnAverage,\n getRowAverage,\n getColumnSum,\n getRowSum,\n getColumnMaximum,\n getRowMaximum,\n getColumnMinimum,\n getRowMinimum,\n getColumnLabel,\n getRowIndex,\n};\n","// Modifiers\nimport * as append from './modifiers/append';\nimport * as del from './modifiers/delete';\nimport * as filter from './modifiers/filter';\nimport * as insert from './modifiers/insert';\nimport * as select from './modifiers/select';\nimport * as sort from './modifiers/sort';\nimport * as update from './modifiers/update';\n\n// Utils\nimport analyses from './utils/analyses';\nimport { extend } from '../utils/extend';\nimport parsers from './utils/parsers';\n\nexport const Dataset = function (config = {}) {\n if (this instanceof Dataset === false) {\n return new Dataset(config);\n }\n\n this.matrix = [\n ['Index']\n ];\n this.meta = {\n type: undefined\n };\n this.config = config;\n}\n\nDataset.prototype.data = function (arr) {\n if (!arguments.length) return this.matrix;\n this.matrix = (arr instanceof Array ? arr : null);\n return this;\n};\n\nDataset.prototype.set = function (coords, value) {\n if (arguments.length < 2 || coords.length < 2) {\n throw Error('Incorrect arguments provided for #set method');\n }\n\n var colIndex = 'number' === typeof coords[0] ? coords[0] : this.matrix[0].indexOf(coords[0]),\n rowIndex = 'number' === typeof coords[1] ? coords[1] : select.selectColumn.call(this, 0).indexOf(coords[1]);\n\n var colResult = select.selectColumn.call(this, coords[0]),\n rowResult = select.selectRow.call(this, coords[1]);\n\n // Column doesn't exist, create and reset colIndex\n if (colResult.length < 1) {\n append.appendColumn.call(this, String(coords[0]));\n colIndex = this.matrix[0].length - 1;\n }\n\n // Row doesn't exist, create and reset rowIndex\n if (rowResult.length < 1) {\n append.appendRow.call(this, String(coords[1]));\n rowIndex = this.matrix.length - 1;\n }\n\n // Set provided value\n this.matrix[ rowIndex ][ colIndex ] = value;\n return this;\n};\n\nDataset.prototype.type = function(str){\n if (!arguments.length) return this.meta['type'];\n this.meta['type'] = (str ? String(str) : undefined);\n return this;\n};\n\nextend(Dataset.prototype, append);\nextend(Dataset.prototype, del);\nextend(Dataset.prototype, filter);\nextend(Dataset.prototype, insert);\nextend(Dataset.prototype, select);\nextend(Dataset.prototype, sort);\nextend(Dataset.prototype, update);\nextend(Dataset.prototype, analyses);\nDataset.parser = parsers(Dataset);\n\nexport default Dataset;\n","export default {\n render: function(){\n let html = '';\n const artifacts = this.view._artifacts.spinner = {};\n\n // Build DOM element\n html += '
';\n html += '
';\n html += '
';\n html += '
';\n html += '
';\n this.el().innerHTML = html;\n },\n update: function(){\n // no special update handling\n this.render();\n },\n destroy: function(){\n if (this.view._artifacts.spinner) {\n if (this.view._artifacts.spinner.interval) {\n clearInterval(this.view._artifacts.spinner.interval);\n }\n this.view._artifacts.spinner.radius = 0;\n try {\n delete this.view._artifacts.spinner;\n }\n catch (e) {\n this.view._artifacts.spinner = undefined;\n }\n }\n this.el().innerHTML = '';\n }\n};\n","var map = {\n\t\"./af\": 131,\n\t\"./af.js\": 131,\n\t\"./ar\": 130,\n\t\"./ar-dz\": 129,\n\t\"./ar-dz.js\": 129,\n\t\"./ar-kw\": 128,\n\t\"./ar-kw.js\": 128,\n\t\"./ar-ly\": 127,\n\t\"./ar-ly.js\": 127,\n\t\"./ar-ma\": 126,\n\t\"./ar-ma.js\": 126,\n\t\"./ar-sa\": 125,\n\t\"./ar-sa.js\": 125,\n\t\"./ar-tn\": 124,\n\t\"./ar-tn.js\": 124,\n\t\"./ar.js\": 130,\n\t\"./az\": 123,\n\t\"./az.js\": 123,\n\t\"./be\": 122,\n\t\"./be.js\": 122,\n\t\"./bg\": 121,\n\t\"./bg.js\": 121,\n\t\"./bm\": 120,\n\t\"./bm.js\": 120,\n\t\"./bn\": 119,\n\t\"./bn.js\": 119,\n\t\"./bo\": 118,\n\t\"./bo.js\": 118,\n\t\"./br\": 117,\n\t\"./br.js\": 117,\n\t\"./bs\": 116,\n\t\"./bs.js\": 116,\n\t\"./ca\": 115,\n\t\"./ca.js\": 115,\n\t\"./cs\": 114,\n\t\"./cs.js\": 114,\n\t\"./cv\": 113,\n\t\"./cv.js\": 113,\n\t\"./cy\": 112,\n\t\"./cy.js\": 112,\n\t\"./da\": 111,\n\t\"./da.js\": 111,\n\t\"./de\": 110,\n\t\"./de-at\": 109,\n\t\"./de-at.js\": 109,\n\t\"./de-ch\": 108,\n\t\"./de-ch.js\": 108,\n\t\"./de.js\": 110,\n\t\"./dv\": 107,\n\t\"./dv.js\": 107,\n\t\"./el\": 106,\n\t\"./el.js\": 106,\n\t\"./en-au\": 105,\n\t\"./en-au.js\": 105,\n\t\"./en-ca\": 104,\n\t\"./en-ca.js\": 104,\n\t\"./en-gb\": 103,\n\t\"./en-gb.js\": 103,\n\t\"./en-ie\": 102,\n\t\"./en-ie.js\": 102,\n\t\"./en-il\": 101,\n\t\"./en-il.js\": 101,\n\t\"./en-nz\": 100,\n\t\"./en-nz.js\": 100,\n\t\"./eo\": 99,\n\t\"./eo.js\": 99,\n\t\"./es\": 98,\n\t\"./es-do\": 97,\n\t\"./es-do.js\": 97,\n\t\"./es-us\": 96,\n\t\"./es-us.js\": 96,\n\t\"./es.js\": 98,\n\t\"./et\": 95,\n\t\"./et.js\": 95,\n\t\"./eu\": 94,\n\t\"./eu.js\": 94,\n\t\"./fa\": 93,\n\t\"./fa.js\": 93,\n\t\"./fi\": 92,\n\t\"./fi.js\": 92,\n\t\"./fo\": 91,\n\t\"./fo.js\": 91,\n\t\"./fr\": 90,\n\t\"./fr-ca\": 89,\n\t\"./fr-ca.js\": 89,\n\t\"./fr-ch\": 88,\n\t\"./fr-ch.js\": 88,\n\t\"./fr.js\": 90,\n\t\"./fy\": 87,\n\t\"./fy.js\": 87,\n\t\"./gd\": 86,\n\t\"./gd.js\": 86,\n\t\"./gl\": 85,\n\t\"./gl.js\": 85,\n\t\"./gom-latn\": 84,\n\t\"./gom-latn.js\": 84,\n\t\"./gu\": 83,\n\t\"./gu.js\": 83,\n\t\"./he\": 82,\n\t\"./he.js\": 82,\n\t\"./hi\": 81,\n\t\"./hi.js\": 81,\n\t\"./hr\": 80,\n\t\"./hr.js\": 80,\n\t\"./hu\": 79,\n\t\"./hu.js\": 79,\n\t\"./hy-am\": 78,\n\t\"./hy-am.js\": 78,\n\t\"./id\": 77,\n\t\"./id.js\": 77,\n\t\"./is\": 76,\n\t\"./is.js\": 76,\n\t\"./it\": 75,\n\t\"./it.js\": 75,\n\t\"./ja\": 74,\n\t\"./ja.js\": 74,\n\t\"./jv\": 73,\n\t\"./jv.js\": 73,\n\t\"./ka\": 72,\n\t\"./ka.js\": 72,\n\t\"./kk\": 71,\n\t\"./kk.js\": 71,\n\t\"./km\": 70,\n\t\"./km.js\": 70,\n\t\"./kn\": 69,\n\t\"./kn.js\": 69,\n\t\"./ko\": 68,\n\t\"./ko.js\": 68,\n\t\"./ky\": 67,\n\t\"./ky.js\": 67,\n\t\"./lb\": 66,\n\t\"./lb.js\": 66,\n\t\"./lo\": 65,\n\t\"./lo.js\": 65,\n\t\"./lt\": 64,\n\t\"./lt.js\": 64,\n\t\"./lv\": 63,\n\t\"./lv.js\": 63,\n\t\"./me\": 62,\n\t\"./me.js\": 62,\n\t\"./mi\": 61,\n\t\"./mi.js\": 61,\n\t\"./mk\": 60,\n\t\"./mk.js\": 60,\n\t\"./ml\": 59,\n\t\"./ml.js\": 59,\n\t\"./mn\": 58,\n\t\"./mn.js\": 58,\n\t\"./mr\": 57,\n\t\"./mr.js\": 57,\n\t\"./ms\": 56,\n\t\"./ms-my\": 55,\n\t\"./ms-my.js\": 55,\n\t\"./ms.js\": 56,\n\t\"./mt\": 54,\n\t\"./mt.js\": 54,\n\t\"./my\": 53,\n\t\"./my.js\": 53,\n\t\"./nb\": 52,\n\t\"./nb.js\": 52,\n\t\"./ne\": 51,\n\t\"./ne.js\": 51,\n\t\"./nl\": 50,\n\t\"./nl-be\": 49,\n\t\"./nl-be.js\": 49,\n\t\"./nl.js\": 50,\n\t\"./nn\": 48,\n\t\"./nn.js\": 48,\n\t\"./pa-in\": 47,\n\t\"./pa-in.js\": 47,\n\t\"./pl\": 46,\n\t\"./pl.js\": 46,\n\t\"./pt\": 45,\n\t\"./pt-br\": 44,\n\t\"./pt-br.js\": 44,\n\t\"./pt.js\": 45,\n\t\"./ro\": 43,\n\t\"./ro.js\": 43,\n\t\"./ru\": 42,\n\t\"./ru.js\": 42,\n\t\"./sd\": 41,\n\t\"./sd.js\": 41,\n\t\"./se\": 40,\n\t\"./se.js\": 40,\n\t\"./si\": 39,\n\t\"./si.js\": 39,\n\t\"./sk\": 38,\n\t\"./sk.js\": 38,\n\t\"./sl\": 37,\n\t\"./sl.js\": 37,\n\t\"./sq\": 36,\n\t\"./sq.js\": 36,\n\t\"./sr\": 35,\n\t\"./sr-cyrl\": 34,\n\t\"./sr-cyrl.js\": 34,\n\t\"./sr.js\": 35,\n\t\"./ss\": 33,\n\t\"./ss.js\": 33,\n\t\"./sv\": 32,\n\t\"./sv.js\": 32,\n\t\"./sw\": 31,\n\t\"./sw.js\": 31,\n\t\"./ta\": 30,\n\t\"./ta.js\": 30,\n\t\"./te\": 29,\n\t\"./te.js\": 29,\n\t\"./tet\": 28,\n\t\"./tet.js\": 28,\n\t\"./tg\": 27,\n\t\"./tg.js\": 27,\n\t\"./th\": 26,\n\t\"./th.js\": 26,\n\t\"./tl-ph\": 25,\n\t\"./tl-ph.js\": 25,\n\t\"./tlh\": 24,\n\t\"./tlh.js\": 24,\n\t\"./tr\": 23,\n\t\"./tr.js\": 23,\n\t\"./tzl\": 22,\n\t\"./tzl.js\": 22,\n\t\"./tzm\": 21,\n\t\"./tzm-latn\": 20,\n\t\"./tzm-latn.js\": 20,\n\t\"./tzm.js\": 21,\n\t\"./ug-cn\": 19,\n\t\"./ug-cn.js\": 19,\n\t\"./uk\": 18,\n\t\"./uk.js\": 18,\n\t\"./ur\": 17,\n\t\"./ur.js\": 17,\n\t\"./uz\": 16,\n\t\"./uz-latn\": 15,\n\t\"./uz-latn.js\": 15,\n\t\"./uz.js\": 16,\n\t\"./vi\": 14,\n\t\"./vi.js\": 14,\n\t\"./x-pseudo\": 13,\n\t\"./x-pseudo.js\": 13,\n\t\"./yo\": 12,\n\t\"./yo.js\": 12,\n\t\"./zh-cn\": 11,\n\t\"./zh-cn.js\": 11,\n\t\"./zh-hk\": 10,\n\t\"./zh-hk.js\": 10,\n\t\"./zh-tw\": 9,\n\t\"./zh-tw.js\": 9\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\tvar module = __webpack_require__(id);\n\treturn module;\n}\nfunction webpackContextResolve(req) {\n\tvar id = map[req];\n\tif(!(id + 1)) { // check for number or string\n\t\tvar e = new Error('Cannot find module \"' + req + '\".');\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn id;\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 138;","module.exports = function(module) {\r\n\tif (!module.webpackPolyfill) {\r\n\t\tmodule.deprecate = function() {};\r\n\t\tmodule.paths = [];\r\n\t\t// module.parent = undefined by default\r\n\t\tif (!module.children) module.children = [];\r\n\t\tObject.defineProperty(module, \"loaded\", {\r\n\t\t\tenumerable: true,\r\n\t\t\tget: function() {\r\n\t\t\t\treturn module.l;\r\n\t\t\t}\r\n\t\t});\r\n\t\tObject.defineProperty(module, \"id\", {\r\n\t\t\tenumerable: true,\r\n\t\t\tget: function() {\r\n\t\t\t\treturn module.i;\r\n\t\t\t}\r\n\t\t});\r\n\t\tmodule.webpackPolyfill = 1;\r\n\t}\r\n\treturn module;\r\n};\r\n","//! moment-timezone.js\n//! version : 0.5.21\n//! Copyright (c) JS Foundation and other contributors\n//! license : MIT\n//! github.com/moment/moment-timezone\n\n(function (root, factory) {\n\t\"use strict\";\n\n\t/*global define*/\n\tif (typeof module === 'object' && module.exports) {\n\t\tmodule.exports = factory(require('moment')); // Node\n\t} else if (typeof define === 'function' && define.amd) {\n\t\tdefine(['moment'], factory); // AMD\n\t} else {\n\t\tfactory(root.moment); // Browser\n\t}\n}(this, function (moment) {\n\t\"use strict\";\n\n\t// Do not load moment-timezone a second time.\n\t// if (moment.tz !== undefined) {\n\t// \tlogError('Moment Timezone ' + moment.tz.version + ' was already loaded ' + (moment.tz.dataVersion ? 'with data from ' : 'without any data') + moment.tz.dataVersion);\n\t// \treturn moment;\n\t// }\n\n\tvar VERSION = \"0.5.21\",\n\t\tzones = {},\n\t\tlinks = {},\n\t\tnames = {},\n\t\tguesses = {},\n\t\tcachedGuess;\n\n\tif (!moment || typeof moment.version !== 'string') {\n\t\tlogError('Moment Timezone requires Moment.js. See https://momentjs.com/timezone/docs/#/use-it/browser/');\n\t}\n\n\tvar momentVersion = moment.version.split('.'),\n\t\tmajor = +momentVersion[0],\n\t\tminor = +momentVersion[1];\n\n\t// Moment.js version check\n\tif (major < 2 || (major === 2 && minor < 6)) {\n\t\tlogError('Moment Timezone requires Moment.js >= 2.6.0. You are using Moment.js ' + moment.version + '. See momentjs.com');\n\t}\n\n\t/************************************\n\t\tUnpacking\n\t************************************/\n\n\tfunction charCodeToInt(charCode) {\n\t\tif (charCode > 96) {\n\t\t\treturn charCode - 87;\n\t\t} else if (charCode > 64) {\n\t\t\treturn charCode - 29;\n\t\t}\n\t\treturn charCode - 48;\n\t}\n\n\tfunction unpackBase60(string) {\n\t\tvar i = 0,\n\t\t\tparts = string.split('.'),\n\t\t\twhole = parts[0],\n\t\t\tfractional = parts[1] || '',\n\t\t\tmultiplier = 1,\n\t\t\tnum,\n\t\t\tout = 0,\n\t\t\tsign = 1;\n\n\t\t// handle negative numbers\n\t\tif (string.charCodeAt(0) === 45) {\n\t\t\ti = 1;\n\t\t\tsign = -1;\n\t\t}\n\n\t\t// handle digits before the decimal\n\t\tfor (i; i < whole.length; i++) {\n\t\t\tnum = charCodeToInt(whole.charCodeAt(i));\n\t\t\tout = 60 * out + num;\n\t\t}\n\n\t\t// handle digits after the decimal\n\t\tfor (i = 0; i < fractional.length; i++) {\n\t\t\tmultiplier = multiplier / 60;\n\t\t\tnum = charCodeToInt(fractional.charCodeAt(i));\n\t\t\tout += num * multiplier;\n\t\t}\n\n\t\treturn out * sign;\n\t}\n\n\tfunction arrayToInt (array) {\n\t\tfor (var i = 0; i < array.length; i++) {\n\t\t\tarray[i] = unpackBase60(array[i]);\n\t\t}\n\t}\n\n\tfunction intToUntil (array, length) {\n\t\tfor (var i = 0; i < length; i++) {\n\t\t\tarray[i] = Math.round((array[i - 1] || 0) + (array[i] * 60000)); // minutes to milliseconds\n\t\t}\n\n\t\tarray[length - 1] = Infinity;\n\t}\n\n\tfunction mapIndices (source, indices) {\n\t\tvar out = [], i;\n\n\t\tfor (i = 0; i < indices.length; i++) {\n\t\t\tout[i] = source[indices[i]];\n\t\t}\n\n\t\treturn out;\n\t}\n\n\tfunction unpack (string) {\n\t\tvar data = string.split('|'),\n\t\t\toffsets = data[2].split(' '),\n\t\t\tindices = data[3].split(''),\n\t\t\tuntils = data[4].split(' ');\n\n\t\tarrayToInt(offsets);\n\t\tarrayToInt(indices);\n\t\tarrayToInt(untils);\n\n\t\tintToUntil(untils, indices.length);\n\n\t\treturn {\n\t\t\tname : data[0],\n\t\t\tabbrs : mapIndices(data[1].split(' '), indices),\n\t\t\toffsets : mapIndices(offsets, indices),\n\t\t\tuntils : untils,\n\t\t\tpopulation : data[5] | 0\n\t\t};\n\t}\n\n\t/************************************\n\t\tZone object\n\t************************************/\n\n\tfunction Zone (packedString) {\n\t\tif (packedString) {\n\t\t\tthis._set(unpack(packedString));\n\t\t}\n\t}\n\n\tZone.prototype = {\n\t\t_set : function (unpacked) {\n\t\t\tthis.name = unpacked.name;\n\t\t\tthis.abbrs = unpacked.abbrs;\n\t\t\tthis.untils = unpacked.untils;\n\t\t\tthis.offsets = unpacked.offsets;\n\t\t\tthis.population = unpacked.population;\n\t\t},\n\n\t\t_index : function (timestamp) {\n\t\t\tvar target = +timestamp,\n\t\t\t\tuntils = this.untils,\n\t\t\t\ti;\n\n\t\t\tfor (i = 0; i < untils.length; i++) {\n\t\t\t\tif (target < untils[i]) {\n\t\t\t\t\treturn i;\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\tparse : function (timestamp) {\n\t\t\tvar target = +timestamp,\n\t\t\t\toffsets = this.offsets,\n\t\t\t\tuntils = this.untils,\n\t\t\t\tmax = untils.length - 1,\n\t\t\t\toffset, offsetNext, offsetPrev, i;\n\n\t\t\tfor (i = 0; i < max; i++) {\n\t\t\t\toffset = offsets[i];\n\t\t\t\toffsetNext = offsets[i + 1];\n\t\t\t\toffsetPrev = offsets[i ? i - 1 : i];\n\n\t\t\t\tif (offset < offsetNext && tz.moveAmbiguousForward) {\n\t\t\t\t\toffset = offsetNext;\n\t\t\t\t} else if (offset > offsetPrev && tz.moveInvalidForward) {\n\t\t\t\t\toffset = offsetPrev;\n\t\t\t\t}\n\n\t\t\t\tif (target < untils[i] - (offset * 60000)) {\n\t\t\t\t\treturn offsets[i];\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn offsets[max];\n\t\t},\n\n\t\tabbr : function (mom) {\n\t\t\treturn this.abbrs[this._index(mom)];\n\t\t},\n\n\t\toffset : function (mom) {\n\t\t\tlogError(\"zone.offset has been deprecated in favor of zone.utcOffset\");\n\t\t\treturn this.offsets[this._index(mom)];\n\t\t},\n\n\t\tutcOffset : function (mom) {\n\t\t\treturn this.offsets[this._index(mom)];\n\t\t}\n\t};\n\n\t/************************************\n\t\tCurrent Timezone\n\t************************************/\n\n\tfunction OffsetAt(at) {\n\t\tvar timeString = at.toTimeString();\n\t\tvar abbr = timeString.match(/\\([a-z ]+\\)/i);\n\t\tif (abbr && abbr[0]) {\n\t\t\t// 17:56:31 GMT-0600 (CST)\n\t\t\t// 17:56:31 GMT-0600 (Central Standard Time)\n\t\t\tabbr = abbr[0].match(/[A-Z]/g);\n\t\t\tabbr = abbr ? abbr.join('') : undefined;\n\t\t} else {\n\t\t\t// 17:56:31 CST\n\t\t\t// 17:56:31 GMT+0800 (台北標準時間)\n\t\t\tabbr = timeString.match(/[A-Z]{3,5}/g);\n\t\t\tabbr = abbr ? abbr[0] : undefined;\n\t\t}\n\n\t\tif (abbr === 'GMT') {\n\t\t\tabbr = undefined;\n\t\t}\n\n\t\tthis.at = +at;\n\t\tthis.abbr = abbr;\n\t\tthis.offset = at.getTimezoneOffset();\n\t}\n\n\tfunction ZoneScore(zone) {\n\t\tthis.zone = zone;\n\t\tthis.offsetScore = 0;\n\t\tthis.abbrScore = 0;\n\t}\n\n\tZoneScore.prototype.scoreOffsetAt = function (offsetAt) {\n\t\tthis.offsetScore += Math.abs(this.zone.utcOffset(offsetAt.at) - offsetAt.offset);\n\t\tif (this.zone.abbr(offsetAt.at).replace(/[^A-Z]/g, '') !== offsetAt.abbr) {\n\t\t\tthis.abbrScore++;\n\t\t}\n\t};\n\n\tfunction findChange(low, high) {\n\t\tvar mid, diff;\n\n\t\twhile ((diff = ((high.at - low.at) / 12e4 | 0) * 6e4)) {\n\t\t\tmid = new OffsetAt(new Date(low.at + diff));\n\t\t\tif (mid.offset === low.offset) {\n\t\t\t\tlow = mid;\n\t\t\t} else {\n\t\t\t\thigh = mid;\n\t\t\t}\n\t\t}\n\n\t\treturn low;\n\t}\n\n\tfunction userOffsets() {\n\t\tvar startYear = new Date().getFullYear() - 2,\n\t\t\tlast = new OffsetAt(new Date(startYear, 0, 1)),\n\t\t\toffsets = [last],\n\t\t\tchange, next, i;\n\n\t\tfor (i = 1; i < 48; i++) {\n\t\t\tnext = new OffsetAt(new Date(startYear, i, 1));\n\t\t\tif (next.offset !== last.offset) {\n\t\t\t\tchange = findChange(last, next);\n\t\t\t\toffsets.push(change);\n\t\t\t\toffsets.push(new OffsetAt(new Date(change.at + 6e4)));\n\t\t\t}\n\t\t\tlast = next;\n\t\t}\n\n\t\tfor (i = 0; i < 4; i++) {\n\t\t\toffsets.push(new OffsetAt(new Date(startYear + i, 0, 1)));\n\t\t\toffsets.push(new OffsetAt(new Date(startYear + i, 6, 1)));\n\t\t}\n\n\t\treturn offsets;\n\t}\n\n\tfunction sortZoneScores (a, b) {\n\t\tif (a.offsetScore !== b.offsetScore) {\n\t\t\treturn a.offsetScore - b.offsetScore;\n\t\t}\n\t\tif (a.abbrScore !== b.abbrScore) {\n\t\t\treturn a.abbrScore - b.abbrScore;\n\t\t}\n\t\treturn b.zone.population - a.zone.population;\n\t}\n\n\tfunction addToGuesses (name, offsets) {\n\t\tvar i, offset;\n\t\tarrayToInt(offsets);\n\t\tfor (i = 0; i < offsets.length; i++) {\n\t\t\toffset = offsets[i];\n\t\t\tguesses[offset] = guesses[offset] || {};\n\t\t\tguesses[offset][name] = true;\n\t\t}\n\t}\n\n\tfunction guessesForUserOffsets (offsets) {\n\t\tvar offsetsLength = offsets.length,\n\t\t\tfilteredGuesses = {},\n\t\t\tout = [],\n\t\t\ti, j, guessesOffset;\n\n\t\tfor (i = 0; i < offsetsLength; i++) {\n\t\t\tguessesOffset = guesses[offsets[i].offset] || {};\n\t\t\tfor (j in guessesOffset) {\n\t\t\t\tif (guessesOffset.hasOwnProperty(j)) {\n\t\t\t\t\tfilteredGuesses[j] = true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tfor (i in filteredGuesses) {\n\t\t\tif (filteredGuesses.hasOwnProperty(i)) {\n\t\t\t\tout.push(names[i]);\n\t\t\t}\n\t\t}\n\n\t\treturn out;\n\t}\n\n\tfunction rebuildGuess () {\n\n\t\t// use Intl API when available and returning valid time zone\n\t\ttry {\n\t\t\tvar intlName = Intl.DateTimeFormat().resolvedOptions().timeZone;\n\t\t\tif (intlName && intlName.length > 3) {\n\t\t\t\tvar name = names[normalizeName(intlName)];\n\t\t\t\tif (name) {\n\t\t\t\t\treturn name;\n\t\t\t\t}\n\t\t\t\tlogError(\"Moment Timezone found \" + intlName + \" from the Intl api, but did not have that data loaded.\");\n\t\t\t}\n\t\t} catch (e) {\n\t\t\t// Intl unavailable, fall back to manual guessing.\n\t\t}\n\n\t\tvar offsets = userOffsets(),\n\t\t\toffsetsLength = offsets.length,\n\t\t\tguesses = guessesForUserOffsets(offsets),\n\t\t\tzoneScores = [],\n\t\t\tzoneScore, i, j;\n\n\t\tfor (i = 0; i < guesses.length; i++) {\n\t\t\tzoneScore = new ZoneScore(getZone(guesses[i]), offsetsLength);\n\t\t\tfor (j = 0; j < offsetsLength; j++) {\n\t\t\t\tzoneScore.scoreOffsetAt(offsets[j]);\n\t\t\t}\n\t\t\tzoneScores.push(zoneScore);\n\t\t}\n\n\t\tzoneScores.sort(sortZoneScores);\n\n\t\treturn zoneScores.length > 0 ? zoneScores[0].zone.name : undefined;\n\t}\n\n\tfunction guess (ignoreCache) {\n\t\tif (!cachedGuess || ignoreCache) {\n\t\t\tcachedGuess = rebuildGuess();\n\t\t}\n\t\treturn cachedGuess;\n\t}\n\n\t/************************************\n\t\tGlobal Methods\n\t************************************/\n\n\tfunction normalizeName (name) {\n\t\treturn (name || '').toLowerCase().replace(/\\//g, '_');\n\t}\n\n\tfunction addZone (packed) {\n\t\tvar i, name, split, normalized;\n\n\t\tif (typeof packed === \"string\") {\n\t\t\tpacked = [packed];\n\t\t}\n\n\t\tfor (i = 0; i < packed.length; i++) {\n\t\t\tsplit = packed[i].split('|');\n\t\t\tname = split[0];\n\t\t\tnormalized = normalizeName(name);\n\t\t\tzones[normalized] = packed[i];\n\t\t\tnames[normalized] = name;\n\t\t\taddToGuesses(normalized, split[2].split(' '));\n\t\t}\n\t}\n\n\tfunction getZone (name, caller) {\n\t\t\n\t\tname = normalizeName(name);\n\n\t\tvar zone = zones[name];\n\t\tvar link;\n\n\t\tif (zone instanceof Zone) {\n\t\t\treturn zone;\n\t\t}\n\n\t\tif (typeof zone === 'string') {\n\t\t\tzone = new Zone(zone);\n\t\t\tzones[name] = zone;\n\t\t\treturn zone;\n\t\t}\n\n\t\t// Pass getZone to prevent recursion more than 1 level deep\n\t\tif (links[name] && caller !== getZone && (link = getZone(links[name], getZone))) {\n\t\t\tzone = zones[name] = new Zone();\n\t\t\tzone._set(link);\n\t\t\tzone.name = names[name];\n\t\t\treturn zone;\n\t\t}\n\n\t\treturn null;\n\t}\n\n\tfunction getNames () {\n\t\tvar i, out = [];\n\n\t\tfor (i in names) {\n\t\t\tif (names.hasOwnProperty(i) && (zones[i] || zones[links[i]]) && names[i]) {\n\t\t\t\tout.push(names[i]);\n\t\t\t}\n\t\t}\n\n\t\treturn out.sort();\n\t}\n\n\tfunction addLink (aliases) {\n\t\tvar i, alias, normal0, normal1;\n\n\t\tif (typeof aliases === \"string\") {\n\t\t\taliases = [aliases];\n\t\t}\n\n\t\tfor (i = 0; i < aliases.length; i++) {\n\t\t\talias = aliases[i].split('|');\n\n\t\t\tnormal0 = normalizeName(alias[0]);\n\t\t\tnormal1 = normalizeName(alias[1]);\n\n\t\t\tlinks[normal0] = normal1;\n\t\t\tnames[normal0] = alias[0];\n\n\t\t\tlinks[normal1] = normal0;\n\t\t\tnames[normal1] = alias[1];\n\t\t}\n\t}\n\n\tfunction loadData (data) {\n\t\taddZone(data.zones);\n\t\taddLink(data.links);\n\t\ttz.dataVersion = data.version;\n\t}\n\n\tfunction zoneExists (name) {\n\t\tif (!zoneExists.didShowError) {\n\t\t\tzoneExists.didShowError = true;\n\t\t\t\tlogError(\"moment.tz.zoneExists('\" + name + \"') has been deprecated in favor of !moment.tz.zone('\" + name + \"')\");\n\t\t}\n\t\treturn !!getZone(name);\n\t}\n\n\tfunction needsOffset (m) {\n\t\tvar isUnixTimestamp = (m._f === 'X' || m._f === 'x');\n\t\treturn !!(m._a && (m._tzm === undefined) && !isUnixTimestamp);\n\t}\n\n\tfunction logError (message) {\n\t\tif (typeof console !== 'undefined' && typeof console.error === 'function') {\n\t\t\tconsole.error(message);\n\t\t}\n\t}\n\n\t/************************************\n\t\tmoment.tz namespace\n\t************************************/\n\n\tfunction tz (input) {\n\t\tvar args = Array.prototype.slice.call(arguments, 0, -1),\n\t\t\tname = arguments[arguments.length - 1],\n\t\t\tzone = getZone(name),\n\t\t\tout = moment.utc.apply(null, args);\n\n\t\tif (zone && !moment.isMoment(input) && needsOffset(out)) {\n\t\t\tout.add(zone.parse(out), 'minutes');\n\t\t}\n\n\t\tout.tz(name);\n\n\t\treturn out;\n\t}\n\n\ttz.version = VERSION;\n\ttz.dataVersion = '';\n\ttz._zones = zones;\n\ttz._links = links;\n\ttz._names = names;\n\ttz.add = addZone;\n\ttz.link = addLink;\n\ttz.load = loadData;\n\ttz.zone = getZone;\n\ttz.zoneExists = zoneExists; // deprecated in 0.1.0\n\ttz.guess = guess;\n\ttz.names = getNames;\n\ttz.Zone = Zone;\n\ttz.unpack = unpack;\n\ttz.unpackBase60 = unpackBase60;\n\ttz.needsOffset = needsOffset;\n\ttz.moveInvalidForward = true;\n\ttz.moveAmbiguousForward = false;\n\n\t/************************************\n\t\tInterface with Moment.js\n\t************************************/\n\n\tvar fn = moment.fn;\n\n\tmoment.tz = tz;\n\n\tmoment.defaultZone = null;\n\n\tmoment.updateOffset = function (mom, keepTime) {\n\t\tvar zone = moment.defaultZone,\n\t\t\toffset;\n\n\t\tif (mom._z === undefined) {\n\t\t\tif (zone && needsOffset(mom) && !mom._isUTC) {\n\t\t\t\tmom._d = moment.utc(mom._a)._d;\n\t\t\t\tmom.utc().add(zone.parse(mom), 'minutes');\n\t\t\t}\n\t\t\tmom._z = zone;\n\t\t}\n\t\tif (mom._z) {\n\t\t\toffset = mom._z.utcOffset(mom);\n\t\t\tif (Math.abs(offset) < 16) {\n\t\t\t\toffset = offset / 60;\n\t\t\t}\n\t\t\tif (mom.utcOffset !== undefined) {\n\t\t\t\tmom.utcOffset(-offset, keepTime);\n\t\t\t} else {\n\t\t\t\tmom.zone(offset, keepTime);\n\t\t\t}\n\t\t}\n\t};\n\n\tfn.tz = function (name, keepTime) {\n\t\tif (name) {\n\t\t\tif (typeof name !== 'string') {\n\t\t\t\tthrow new Error('Time zone name must be a string, got ' + name + ' [' + typeof name + ']');\n\t\t\t}\n\t\t\tthis._z = getZone(name);\n\t\t\tif (this._z) {\n\t\t\t\tmoment.updateOffset(this, keepTime);\n\t\t\t} else {\n\t\t\t\tlogError(\"Moment Timezone has no data for \" + name + \". See http://momentjs.com/timezone/docs/#/data-loading/.\");\n\t\t\t}\n\t\t\treturn this;\n\t\t}\n\t\tif (this._z) { return this._z.name; }\n\t};\n\n\tfunction abbrWrap (old) {\n\t\treturn function () {\n\t\t\tif (this._z) { return this._z.abbr(this); }\n\t\t\treturn old.call(this);\n\t\t};\n\t}\n\n\tfunction resetZoneWrap (old) {\n\t\treturn function () {\n\t\t\tthis._z = null;\n\t\t\treturn old.apply(this, arguments);\n\t\t};\n\t}\n\n\tfn.zoneName = abbrWrap(fn.zoneName);\n\tfn.zoneAbbr = abbrWrap(fn.zoneAbbr);\n\tfn.utc = resetZoneWrap(fn.utc);\n\n\tmoment.tz.setDefault = function(name) {\n\t\tif (major < 2 || (major === 2 && minor < 9)) {\n\t\t\tlogError('Moment Timezone setDefault() requires Moment.js >= 2.9.0. You are using Moment.js ' + moment.version + '.');\n\t\t}\n\t\tmoment.defaultZone = name ? getZone(name) : null;\n\t\treturn moment;\n\t};\n\n\t// Cloning a moment should include the _z property.\n\tvar momentProperties = moment.momentProperties;\n\tif (Object.prototype.toString.call(momentProperties) === '[object Array]') {\n\t\t// moment 2.8.1+\n\t\tmomentProperties.push('_z');\n\t\tmomentProperties.push('_a');\n\t} else if (momentProperties) {\n\t\t// moment 2.7.0\n\t\tmomentProperties._z = null;\n\t}\n\n\t// INJECT DATA\n\n\treturn moment;\n}));\n","var moment = module.exports = require(\"./moment-timezone\");\nmoment.tz.load(require('./data/packed/latest.json'));\n","import moment from 'moment-timezone';\n\nimport { each } from '../../utils/each';\nimport { stripHtmlTags } from '../../utils/strip-html-tags';\nimport { escapeHtml } from '../../utils/escape-html';\n\nconst defaults = {\n /*\n DEPRECATED - use CSS styles\n\n height: undefined,\n width: undefined,\n stickyHeader: false,\n stickyFooter: false\n */\n};\n\nlet currentPage;\nfunction _generateTableRows(datavizInstance, dataset) {\n let html = '';\n const defaultConfig = {\n page: 1,\n limit: 0,\n arrows: true\n };\n let customConfig = {};\n if (datavizInstance.config.table && datavizInstance.config.table.pagination) {\n customConfig = datavizInstance.config.table.pagination;\n }\n const config = {\n ...defaultConfig,\n ...customConfig\n };\n\n if (!currentPage){\n currentPage = config.page;\n }\n\n let datasetPaginated;\n let pages = 0;\n if (config.limit === 0) {\n datasetPaginated = dataset.slice(1); // remove header\n } else {\n const start = config.limit * (currentPage - 1) + 1;\n const end = start + config.limit;\n datasetPaginated = dataset.slice(start, end);\n pages = Math.ceil((dataset.length - 1) / config.limit);\n }\n\n let columnsArray = datavizInstance.config.table.columns ?\n datavizInstance.config.table.columns :\n datavizInstance.dataset.matrix[0];\n\n const checkArray = {};\n const { mapValues } = datavizInstance.config.table;\n for (let key in mapValues){\n checkArray[columnsArray.indexOf(key)] = key;\n }\n\n // var london = newYork.clone().tz(\"Europe/London\");\n for (let row of datasetPaginated) {\n html += '';\n for (let [index, rowCol] of row.entries()) {\n if (\n datavizInstance.config.timezone\n && rowCol instanceof Date\n ) {\n let dateTimeTimezoned = moment\n .tz(rowCol, \"UTC\")\n .clone()\n .tz(datavizInstance.config.timezone);\n html += `${dateTimeTimezoned.toString()}`;\n continue;\n }\n let rowColEscaped = escapeHtml(rowCol);\n if(checkArray[index]){\n html += `${mapValues[checkArray[index]](rowColEscaped)}`;\n continue;\n }\n html += `${rowColEscaped}`\n }\n html += '';\n }\n\n if (pages > 1){\n html += ``;\n let pageNumber = 1;\n const prevPage = (currentPage === 1) ? 1 : (currentPage - 1);\n const nextPage = (currentPage === pages) ? pages : (currentPage + 1);\n if (config.arrows){\n html += `<`;\n }\n while (pageNumber <= pages){\n html += `${pageNumber}`;\n pageNumber++;\n }\n if (config.arrows){\n html += `>`;\n }\n html += '';\n }\n\n return html;\n}\n\nfunction _generateTableHeader(datavizInstance, dataset) {\n let html = '';\n let fieldNumber = -1;\n let columnNames =\n (datavizInstance.config.table && datavizInstance.config.table.columns)\n || dataset[0];\n for (let colName of columnNames) {\n let colNameEscaped = escapeHtml(colName);\n fieldNumber +=1;\n html += `${colNameEscaped}`;\n }\n return html;\n}\n\n\n const render = function() {\n const dataset = this.dataset.matrix;\n\n const el = this.el();\n const theme = this.config.theme;\n const datavizInstance = this;\n\n let html = '';\n\n const isEmpty = dataset.length === 1 && dataset[0].length === 0;\n if (isEmpty) {\n const msg = 'No data to display';\n const mappedMsg = this.config.errorMapping[msg] || msg;\n if (this.config.showErrorMessages) {\n this.message(mappedMsg);\n }\n return;\n }\n\n // Open wrapper\n html += `
`;\n\n // Static, scrollable table\n html += ``;\n html += '';\n html += '';\n html += _generateTableHeader(datavizInstance, dataset);\n html += '';\n html += '';\n // Table data\n html += '';\n html += _generateTableRows(datavizInstance, dataset);\n html += '';\n html += '
';\n/* */\n // Close wrapper\n html += '
';\n\n // Inject HTML string\n el.querySelector(`.${theme}-rendering`).innerHTML = html;\n\n el\n .querySelectorAll(`.${theme}-rendering th`)\n .forEach((item) => {\n item.addEventListener('click', (event) => {\n let sortOrder = event.target.getAttribute('order') || 'asc';\n let fieldNumber = event.target.getAttribute('fieldNumber');\n let checker = function (a, b) {\n let sortOrderNumber = (sortOrder === 'asc') ? 1 : -1;\n\n if (typeof a[fieldNumber] === 'string') {\n let nameA = a[fieldNumber].toUpperCase(); // ignore upper and lowercase\n let nameB = b[fieldNumber].toUpperCase(); // ignore upper and lowercase\n if (nameA < nameB) {\n return -1 * sortOrderNumber;\n }\n if (nameA > nameB) {\n return 1* sortOrderNumber;\n }\n\n // names must be equal\n return 0;\n }\n return (a[fieldNumber] - b[fieldNumber]) * sortOrderNumber;\n };\n\n if (sortOrder === 'asc') {\n sortOrder = 'desc';\n } else {\n sortOrder = 'asc'\n }\n event.target.setAttribute('order', sortOrder);\n\n const first = this.dataset.matrix.shift();\n this.dataset.matrix.sort(checker);\n this.dataset.matrix.unshift(first);\n\n el.querySelector(`.${theme}-rendering tbody`).innerHTML =\n _generateTableRows(datavizInstance, dataset);\n attachBtnEventListeners();\n });\n });\n\n\n const attachBtnEventListeners = () => {\n el.querySelectorAll('.btn').forEach(btn => {\n btn.addEventListener('click', (event) => {\n currentPage = parseInt(event.target.getAttribute('data-page'));\n el.querySelector(`.${theme}-rendering tbody`).innerHTML =\n _generateTableRows(datavizInstance, dataset);\n attachBtnEventListeners();\n }, true);\n });\n };\n\n attachBtnEventListeners(datavizInstance, el, theme);\n\n if (this.config.onrendered) {\n this.config.onrendered();\n }\n };\n\n\n\nconst update = function(){\n // no special update handling\n this.render();\n };\n\nconst destroy= function(){};\n\nexport default { render, update, destroy };\n","export function prettyNumber(input) {\n // If it has 3 or fewer sig figs already, just return the number.\n var input = Number(input),\n sciNo = input.toPrecision(3),\n prefix = '',\n suffixes = ['', 'k', 'M', 'B', 'T'];\n\n if (Number(sciNo) == input && String(input).length <= 4) {\n return String(input);\n }\n\n if (Math.abs(input) >= 1000000000000000) {\n return sciNo;\n }\n\n if (input >= 1 || input <= -1) {\n if (input < 0){\n //Pull off the negative side and stash that.\n input = -input;\n prefix = '-';\n }\n return prefix + recurse(input, 0);\n }\n else {\n return input.toPrecision(3);\n }\n\n function recurse(input, iteration) {\n var input = String(input);\n var split = input.split('.');\n // If there's a dot\n if (split.length > 1) {\n // Keep the left hand side only\n input = split[0];\n var rhs = split[1];\n // If the left-hand side is too short, pad until it has 3 digits\n if (input.length == 2 && rhs.length > 0) {\n // Pad with right-hand side if possible\n if (rhs.length > 0) {\n input = input + '.' + rhs.charAt(0);\n }\n // Pad with zeroes if you must\n else {\n input += '0';\n }\n }\n else if (input.length == 1 && rhs.length > 0) {\n input = input + '.' + rhs.charAt(0);\n // Pad with right-hand side if possible\n if (rhs.length > 1) {\n input += rhs.charAt(1);\n }\n // Pad with zeroes if you must\n else {\n input += '0';\n }\n }\n }\n var numNumerals = input.length;\n // if it has a period, then numNumerals is 1 smaller than the string length:\n if (input.split('.').length > 1) {\n numNumerals--;\n }\n if (numNumerals <= 3) {\n return String(input) + suffixes[iteration];\n }\n else {\n return recurse(Number(input) / 1000, iteration + 1);\n }\n }\n}\n","import { prettyNumber } from '../../utils/pretty-number';\nimport { escapeHtml } from '../../utils/escape-html';\n\nexport default {\n render: function(){\n const color = this.config.colors[0];\n const theme = this.config.theme;\n const title = this.config.title;\n const opts = this.config;\n let value = '-';\n let html = '';\n let prefix = '';\n let suffix = '';\n let formattedNum;\n let valueEl;\n let flexDifferenceStyle = '';\n let resultDifference = '';\n let differenceStyle = '';\n let smallerValue = '';\n const { results, previousResults } = this.config;\n if(results && previousResults){\n flexDifferenceStyle = previousResults ? ' metric-comparison' : '';\n smallerValue = previousResults && title ? '-smaller' : '';\n resultDifference = results.result - previousResults.result;\n differenceStyle = (resultDifference > 0) ? '-green' : '-red';\n resultDifference = Math.abs(resultDifference);\n }\n\n if (typeof this.data()[1][1] === 'number') {\n value = this.data()[1][1];\n }\n\n formattedNum = value;\n if ( (typeof opts['prettyNumber'] === 'undefined' || opts['prettyNumber'] === true)\n && !isNaN(parseInt(value)) ) {\n formattedNum = prettyNumber(value);\n if(results && previousResults){\n resultDifference = prettyNumber(resultDifference);\n }\n }\n\n if (opts['prefix']) {\n prefix = '' + opts['prefix'] + '';\n }\n if (opts['suffix']) {\n suffix = '' + opts['suffix'] + '';\n }\n html += '
';\n html += '
';\n if (results && previousResults) {\n html += '
' + escapeHtml(resultDifference) + '
';\n }\n html += '
' + prefix + escapeHtml(formattedNum) + suffix + '
';\n if (title) {\n html += '
' + escapeHtml(title) + '
';\n }\n html += '
';\n html += '
';\n\n this.el().innerHTML = html;\n\n if (this.config.onrendered) {\n this.config.onrendered();\n }\n },\n update: function(){\n // no special update handling\n this.render();\n },\n destroy: function(){\n // no special clean-up\n }\n};\n","import { escapeHtml } from '../../utils/escape-html';\n\nexport default {\n render: function(text){\n const outer = document.createElement('div');\n const inner = document.createElement('div');\n const msg = document.createElement('span');\n\n const titleContainer = document.createElement('div');\n const notesContainer = document.createElement('div');\n\n outer.className = this.config.theme + ' keen-dataviz-box';\n inner.className = this.config.theme + '-message';\n\n // Create title and notes for message\n titleContainer.className = this.config.theme + '-title';\n titleContainer.innerHTML = escapeHtml(this.config.title || '');\n notesContainer.className = this.config.theme + '-notes';\n notesContainer.innerHTML = escapeHtml(this.config.notes || '');\n\n msg.innerHTML = escapeHtml(text) || '';\n inner.appendChild(msg);\n\n if (this.config.title && this.config.showTitle) {\n outer.appendChild(titleContainer);\n }\n\n outer.appendChild(inner);\n\n if (this.config.notes) {\n outer.appendChild(notesContainer);\n }\n\n this.el().innerHTML = '';\n this.el().appendChild(outer);\n\n },\n update: function(){\n // no special update handling\n this.render();\n },\n destroy: function(){\n // no special clean-up\n }\n};\n","import { escapeHtml } from '../../../utils/escape-html';\n\nexport default function (d, defaultTitleFormat, defaultValueFormat, color) {\n let text;\n let title;\n // Set config options or defaults\n const nameFormat = this.config.tooltip_format_name || function (name) { return name; };\n const titleFormat = this.config.tooltip_format_title || defaultTitleFormat;\n const valueFormat = this.config.tooltip_format_value || defaultValueFormat;\n\n // Reverse list to match legend\n for (let i = 0; i < d.length; i++) {\n if (! (d[i] && (d[i].value || d[i].value === 0))) { continue; }\n if (!text) {\n title = titleFormat ? titleFormat(d[i].x) : d[i].x;\n text = \"\" + (title || title === 0 ? \"\" : \"\");\n }\n let name = nameFormat(d[i].name);\n let value = valueFormat(d[i].value, d[i].ratio, d[i].id, d[i].index);\n let bgcolor = this.levelColor ? this.levelColor(d[i].value) : color(d[i].id);\n if (value) {\n text += \"\";\n if (name.indexOf('__tooltip_ignore_name_field__') === -1) {\n text += \"\";\n }\n text += \"\";\n text += \"\";\n }\n }\n return text + \"
\" + escapeHtml(title) + \"
\" + escapeHtml(name) + \"\" + escapeHtml(value) + \"
\";\n}\n","import * as d3 from 'd3';\n\nimport isDateString from '../../../utils/assert-date-string';\n\nexport default function (options) {\n const cols = options.data.columns;\n const datavizInstance = this;\n const chart = this.view._artifacts.c3;\n let columns = [];\n const domNode = this.el().querySelector('.' + datavizInstance.config.theme + '-rendering');\n const legendConfig = datavizInstance.config.legend;\n\n const pagination = this.view._artifacts.pagination = {\n ...{\n hidden: [],\n labels: [],\n offset: 0,\n limit: Math.round((domNode.offsetHeight - 78) / 20),\n total: 0\n },\n ...legendConfig.pagination\n };\n\n if (options.legend.sort) {\n columns = options.legend.sort(cols);\n\n // update column order in the data, so tooltip will be the same order\n const columnsSorted = [];\n const dataColumnsSorted = [];\n if (cols[0][0] === 'x') {\n dataColumnsSorted.push(cols[0]);\n }\n columns.forEach(column => {\n let columnData = options.data.columns.find(item => item[0] === column);\n dataColumnsSorted.push(columnData);\n });\n options.data.columns = dataColumnsSorted;\n } else {\n for (let i = 0; i < cols.length; i++) {\n if (cols[i][0] !== 'x' && !isDateString(cols[i][1])) {\n columns.push(cols[i][0]);\n }\n }\n }\n\n const legendElement = this.el().querySelector('.keen-c3-legend');\n\n let align = 'vertical';\n if (legendConfig.position === 'top' || legendConfig.position === 'bottom') {\n align = 'horizontal';\n }\n\n const paginateHorizontalLeftElement = document.createElement('div');\n paginateHorizontalLeftElement.setAttribute('class', 'keen-c3-legend-pagination-icons keen-c3-legend-horizontal-pagination-left');\n if (align === 'horizontal') {\n legendElement.append(paginateHorizontalLeftElement);\n }\n\n const legendItemsElement = document.createElement('div');\n legendItemsElement.setAttribute('class', `keen-c3-legend-items keen-c3-legend-${align}-items`);\n legendElement.append(legendItemsElement);\n\n const paginateVerticalElement = document.createElement('div');\n paginateVerticalElement.setAttribute('class', 'keen-c3-legend-pagination keen-c3-legend-pagination-icons');\n if (align === 'vertical') {\n legendElement.append(paginateVerticalElement);\n }\n\n const paginateHorizontalRightElement = document.createElement('div');\n paginateHorizontalRightElement.setAttribute('class', 'keen-c3-legend-pagination-icons keen-c3-legend-horizontal-pagination-right');\n if (align === 'horizontal') {\n legendElement.append(paginateHorizontalRightElement);\n }\n\n paginateData();\n\n function paginateData(){\n pagination.labels = columns.slice(pagination.offset, pagination.offset + pagination.limit);\n pagination.total = columns.length;\n renderLegendComponent.call(datavizInstance, pagination.labels);\n if (pagination.total > pagination.limit) {\n renderPaginationComponent.call(datavizInstance);\n }\n if (options.onPaginated){\n options.onPaginated();\n }\n }\n\n function renderLegendComponent(){\n legendItemsElement.innerHTML = '';\n\n pagination.labels.forEach(label => {\n const labelShortened = legendConfig.label.textMaxLength ? label.slice(0, legendConfig.label.textMaxLength - 1) : label;\n const legendItem = document.createElement(\"div\");\n legendItem.innerHTML = `${labelShortened}`;\n legendItem.chartPartId = label;\n legendItem.setAttribute('class', 'legend-item');\n legendItemsElement.append(legendItem);\n\n const legendItemColorSample = document.createElement(\"span\");\n legendItemColorSample.setAttribute('class', 'legend-item-color-sample');\n legendItemColorSample.style.backgroundColor = chart.color(legendItem.chartPartId);\n legendItem.prepend(legendItemColorSample);\n\n const tooltipElement = document.createElement(\"div\");\n legendItem.addEventListener('mouseover', (event) => {\n chart.focus(legendItem.chartPartId);\n if (legendConfig.tooltip.show && legendItem.chartPartId.length > legendConfig.label.textMaxLength) {\n tooltipElement.setAttribute('class', `keen-c3-legend-label-overlay keen-c3-legend-position-${legendConfig.position}`);\n tooltipElement.innerHTML =\n `${\n options.legend.tooltip.pointer ? `
` : ``\n }${legendItem.chartPartId}`;\n legendItem.append(tooltipElement);\n }\n });\n legendItem.addEventListener('mouseout', (event) => {\n chart.revert();\n tooltipElement.remove();\n });\n legendItem.addEventListener('click', (event) => {\n let opacity = 1;\n const isHidden = pagination.hidden.indexOf(legendItem.chartPartId);\n if (isHidden < 0) {\n pagination.hidden.push(legendItem.chartPartId);\n opacity = .35;\n }\n else {\n pagination.hidden.splice(isHidden, 1);\n opacity = 1;\n }\n legendItem.style.opacity = opacity;\n chart.toggle(legendItem.chartPartId);\n });\n });\n\n if (options.onLegendRendered){\n options.onLegendRendered();\n options.onLegendRendered = null;\n }\n\n }\n\n function renderPaginationComponent(){\n paginateVerticalElement.innerHTML = '';\n paginateHorizontalLeftElement.innerHTML = '';\n paginateHorizontalRightElement.innerHTML = '';\n\n const arrowUp = document.createElement('i');\n const arrowDown = document.createElement('i');\n\n const paginate = (direction) => {\n if (direction === 'forward') {\n const diff = pagination.offset + pagination.limit;\n if (diff < pagination.total) {\n pagination.offset = diff;\n return;\n }\n pagination.offset = 0;\n return;\n }\n\n const diff = pagination.offset - pagination.limit;\n if (diff >= 0) {\n pagination.offset = diff;\n return;\n }\n\n pagination.offset = Math.floor(pagination.total/pagination.limit) * pagination.limit;\n };\n\n arrowDown.addEventListener('click', () => {\n paginate('forward');\n paginateData();\n clearSelectedText();\n });\n\n arrowUp.addEventListener('click', () => {\n paginate('backward');\n paginateData();\n clearSelectedText();\n });\n\n if (legendConfig.position === 'left' || legendConfig.position === 'right') {\n arrowUp.setAttribute('class', 'up');\n arrowDown.setAttribute('class', 'down');\n paginateVerticalElement.append(arrowDown);\n paginateVerticalElement.append(arrowUp);\n } else {\n // bottom top\n arrowUp.setAttribute('class', 'left');\n arrowDown.setAttribute('class', 'right');\n paginateHorizontalLeftElement.append(arrowUp);\n paginateHorizontalRightElement.append(arrowDown);\n }\n\n }\n\n function clearSelectedText() {\n let selection;\n if (document.selection && document.selection.empty) {\n selection = document.selection;\n selection.empty();\n }\n else if (window.getSelection) {\n selection = window.getSelection();\n selection.removeAllRanges();\n }\n }\n}\n","export default function (startDate, endDate) {\n const timeDiff = Math.abs(new Date(startDate).getTime() - new Date(endDate).getTime());\n const months = [\n 'Jan',\n 'Feb',\n 'Mar',\n 'Apr',\n 'May',\n 'June',\n 'July',\n 'Aug',\n 'Sept',\n 'Oct',\n 'Nov',\n 'Dec'\n ];\n\n // Yearly (31536000000) + Monthly\n if (timeDiff >= 2419200000) {\n return function(ms){\n const date = new Date(ms);\n return months[date.getMonth()] + ' ' + date.getFullYear();\n };\n }\n // Daily\n else if (timeDiff >= 86400000) {\n return function(ms){\n const date = new Date(ms);\n return months[date.getMonth()] + ' ' + date.getDate();\n };\n }\n // Hourly\n else if (timeDiff >= 3600000) {\n return '%I:%M %p';\n }\n // Minutely\n else {\n return '%I:%M:%S %p';\n }\n}\n","import c3 from 'c3';\n\nimport { each } from '../utils/each';\nimport { extend } from '../utils/extend';\nimport { extendDeep } from '../utils/extend-deep';\nimport isDateString from '../utils/assert-date-string';\nimport c3DefaultDateFormat from './c3/extensions/default-date-format';\nimport c3PaginatingLegend from './c3/extensions/paginating-legend';\nimport c3TooltipContents from './c3/extensions/tooltip-contents';\n\nimport message from './default/message';\nimport metric from './default/metric';\nimport table from './default/table';\nimport spinner from './default/spinner';\n\nexport default function(lib) {\n let timer;\n bindResizeListener(function(){\n if (timer) {\n clearTimeout(timer);\n }\n const delay = (lib.visuals.length > 12) ? 1000 : 250;\n timer = setTimeout(function(){\n each(lib.visuals, function(chart){\n if (chart.view._artifacts.c3) {\n chart.view._artifacts.c3.resize();\n }\n });\n }, delay);\n });\n\n // FIX for c3 tooltip bug - REMOVE when https://github.com/c3js/c3/pull/2476 is merged\n if (c3.chart && c3.chart.internal && c3.chart.internal.fn) {\n c3.chart.internal.fn.horizontalDistance = function(data, pos) {\n var $$ = this,\n config = $$.config,\n xIndex = config.axis_rotated ? 1 : 0,\n x = $$.x(data.x);\n return Math.abs(x - pos[xIndex]);\n };\n c3.chart.internal.fn.findClosest = function (values, pos) {\n const CLASS = c3.chart.internal.fn.CLASS;\n var $$ = this,\n minDist = $$.config.point_sensitivity,\n minDist = Infinity,\n closest;\n // find mouseovering bar\n values.filter(function (v) {\n return v && $$.isBarType(v.id);\n }).forEach(function (v) {\n var shape = $$.main.select('.' + CLASS.bars + $$.getTargetSelectorSuffix(v.id) + ' .' + CLASS.bar + '-' + v.index).node();\n if (!closest && $$.isWithinBar($$.d3.mouse(shape), shape)) {\n closest = v;\n }\n });\n // find closest point from non-bar\n values.filter(function (v) {\n return v && !$$.isBarType(v.id);\n }).forEach(function (v) {\n var d = $$.dist(v, pos);\n var d = $$.horizontalDistance(v, pos);\n if (d < minDist) {\n minDist = d;\n closest = v;\n }\n });\n return closest;\n };\n }\n\n return defineC3();\n};\n\nfunction defineC3(){\n const types = {\n message,\n metric,\n table,\n spinner,\n };\n\n const c3Types = [\n // Standard types\n 'area',\n 'area-spline',\n 'area-step',\n 'bar',\n 'donut',\n 'gauge',\n 'line',\n 'pie',\n 'step',\n 'spline',\n\n // Horizontal variant types\n 'horizontal-area',\n 'horizontal-area-spline',\n 'horizontal-area-step',\n 'horizontal-bar',\n 'horizontal-line',\n 'horizontal-step',\n 'horizontal-spline'\n ];\n\n const getPaddings = (element, paddingName) => {\n return parseInt(window.getComputedStyle(element)[`padding${paddingName}`].replace('px', ''));\n }\n\n function getDefaultOptions(){\n\n const ENFORCED_OPTIONS = {\n bindto: this.el().querySelector('.' + this.config.theme + '-rendering .c3-chart'),\n color: {\n pattern: this.config.colors\n },\n data: {\n colors: { ...this.config.colorMapping },\n columns: [],\n type: this.config.type.replace('horizontal-', '')\n },\n };\n\n const renderingElement = this.el();\n// .querySelector('.' + this.config.theme + '-rendering');\n\n let height = renderingElement.offsetHeight;\n\n height -= (getPaddings(renderingElement, 'Top') + getPaddings(renderingElement, 'Bottom'));\n\n if (this.config.showTitle) {\n const titleElement = this.el().querySelector('.keen-dataviz-title');\n if (titleElement) {\n height -= titleElement.offsetHeight;\n } else {\n height -= parseInt(\n window\n .getComputedStyle(this.el(), null)\n ['font-size'].replace('px','')\n );\n }\n }\n\n if (this.config.notes) {\n const notesElement = this.el().querySelector('.keen-dataviz-notes');\n if (notesElement) {\n height -= notesElement.offsetHeight;\n } else {\n height -= parseInt(\n window\n .getComputedStyle(this.el(), null)\n ['font-size'].replace('px','')\n );\n }\n }\n\n let width = this.el().querySelector('.c3-chart').offsetWidth\n - (getPaddings(renderingElement, 'Left') + getPaddings(renderingElement, 'Right'));\n if (width < 0) {\n width = 0;\n }\n\n const DEFAULT_OPTIONS = {\n size: {\n width,\n height:\n height > 0 ?\n height\n : undefined,\n }\n };\n\n return extendDeep({}, DEFAULT_OPTIONS, this.config, ENFORCED_OPTIONS);\n }\n\n each(c3Types, function(type, index) {\n types[type] = {\n render: function(){\n const options = getDefaultOptions.call(this);\n\n if (!!this.config.clearOnRender && options.data.columns.length > 0) {\n options.data.columns.splice(1);\n }\n\n if (this.data()[0].length === 1 || this.data().length === 1) {\n const msg = 'No data to display';\n const mappedMsg = this.config.errorMapping[msg] || msg;\n if (this.config.showErrorMessages) {\n this.message(mappedMsg);\n }\n return;\n }\n\n let removeLegend = false;\n\n if (type === 'gauge') {\n // Accommodate a neat bug:\n options.legend.show = false;\n options.data.columns = [[\n this.config.title || this.data()[1][0],\n this.data()[1][1]\n ]];\n removeLegend = true;\n }\n else if (type === 'pie' || type === 'donut') {\n options.data.columns = this.data().slice(1);\n }\n else {\n\n // Apply formatting for horizontal variant types\n if (type.indexOf('horizontal-') > -1) {\n options.axis.rotated = type.indexOf('horizontal-') > -1;\n }\n\n if (isDateString(this.data()[1][0])) {\n // TIMESERIES\n options.axis.x = options.axis.x || {};\n options.axis.x.type = 'timeseries';\n options.axis.x.tick = options.axis.x.tick || {\n format: this.config.dateFormat || c3DefaultDateFormat(this.data()[1][0], this.data()[2] ? this.data()[2][0] : this.data()[1][0]),\n culling: { max: 5 }\n };\n\n options.data.columns[0] = [];\n each(this.dataset.selectColumn(0), function(cell, i){\n if (i > 0) {\n cell = new Date(cell);\n }\n options.data.columns[0][i] = cell;\n });\n options.data.columns[0][0] = 'x';\n options.data.x = 'x';\n if (this.config.stacked && this.data()[0].length > 2) {\n options.data.groups = [ this.dataset.selectRow(0).slice(1) ];\n }\n }\n else {\n // CATEGORIES\n options.axis.x = options.axis.x || {};\n options.axis.x.type = 'category';\n options.axis.x.categories = this.dataset.selectColumn(0).slice(1);\n if (this.config.stacked && this.data()[0].length > 2) {\n options.data.groups = [ this.dataset.selectRow(0).slice(1) ];\n }\n }\n\n if (this.data()[0].length === 2) {\n options.legend.show = false;\n removeLegend = true;\n }\n\n each(this.data()[0], function(cell, i){\n if (i > 0) {\n options.data.columns.push(this.dataset.selectColumn(i));\n }\n }.bind(this));\n }\n\n if (removeLegend){\n const legendElement = this.el().querySelector('.keen-c3-legend');\n if (legendElement) {\n legendElement.remove();\n options.size.width = this.el().querySelector('.c3-chart').offsetWidth;\n }\n options.legend.show = false;\n }\n\n const chartTypesWithPartialIntervalIndicator = ['area', 'area-spline', 'area-step', 'line', 'spline', 'step'];\n\n if (options.partialIntervalIndicator\n && options.partialIntervalIndicator.show\n && chartTypesWithPartialIntervalIndicator.indexOf(options.type) > -1\n ) {\n const results = options.data.columns && options.data.columns[0];\n if (results && results.length > 1) {\n const partialResultsRegion = {\n axis: 'x',\n start: new Date(results[results.length-2]),\n class: options.partialIntervalIndicator.className\n };\n options.regions = [...(options.regions || []), partialResultsRegion];\n }\n }\n\n if (\n !(options.tooltip && options.tooltip.show === false)\n &&\n (options.legend.show === true ||\n (options.legend\n && options.legend.tooltip\n && options.legend.tooltip.show)\n )) {\n // Apply custom tooltip\n options.tooltip = {\n contents: c3TooltipContents,\n format: {\n title: this.config.tooltip.format.title,\n value: (value, ratio, id, index) => {\n let valueFormatted = c3CustomTooltipFiltering.call(this, value, ratio, id, index);\n if (this.config.tooltip && this.config.tooltip.format && this.config.tooltip.format.value)\n {\n valueFormatted = this.config.tooltip.format.value.call(this, valueFormatted, ratio, id, index);\n }\n return valueFormatted;\n }\n }\n };\n }\n\n if (options.legend.show === true) {\n const c3options = { ...options };\n // Apply custom color handling\n c3options.data.color = c3CustomDataMapping.bind(this);\n\n c3options.legend.hide = true; // hide default c3 legend\n\n // Render artifacts\n this.view._artifacts['c3'] = c3.generate(c3options);\n\n c3PaginatingLegend.call(this, {...options, onLegendRendered: () => {\n const legendElement = this.el().querySelector('.keen-c3-legend');\n if (legendElement) {\n if (\n options.legend.position === 'top' ||\n options.legend.position === 'bottom'\n ) {\n c3options.size.height -= legendElement.offsetHeight;\n this.view._artifacts['c3'].resize({ height: c3options.size.height });\n } else {\n if (c3options.size.width === 0) {\n c3options.size.width = this.el().offsetWidth\n - getPaddings(this.el(), 'Left')\n - getPaddings(this.el(), 'Right');\n }\n c3options.size.width -= legendElement.offsetWidth;\n this.view._artifacts['c3'].resize({ width: c3options.size.width });\n }\n }\n },\n onPaginated: () => {\n this.view._artifacts['c3'].flush();\n }\n });\n }\n else {\n this.view._artifacts['c3'] = c3.generate(options);\n }\n\n },\n update: function(){\n // no special update handling\n this.render();\n },\n destroy: function(){\n if (this.view._artifacts['c3']) {\n this.view._artifacts['c3'].destroy();\n this.view._artifacts['c3'] = null;\n }\n }\n };\n });\n\n return types;\n}\n\nfunction c3CustomDataMapping(color, d) {\n const type = this.config.type;\n if (this.view._artifacts.pagination\n && type !== 'gauge'\n /*&& this.type() !== 'pie'\n && this.type() !== 'donut'*/) {\n const scope = this.view._artifacts.pagination.labels;\n if ((d.id && scope.indexOf(d.id) > -1)\n || (d && !d.id && scope.indexOf(d) > -1)) {\n return color;\n }\n else {\n if (type === 'donut' || type === 'pie') {\n return 'rgba(0,0,0,.1)';\n }\n else {\n return 'rgba(0,0,0,.07)';\n }\n }\n }\n else {\n return color;\n }\n}\n\nfunction c3CustomTooltipFiltering(value, ratio, id, index) {\n const type = this.config.type;\n\n if (this.view._artifacts.pagination\n && type !== 'gauge'\n /*&& this.type() !== 'pie'\n && this.type() !== 'donut'*/) {\n const scope = this.view._artifacts.pagination.labels;\n if (scope.indexOf(id) > -1) {\n return value;\n }\n }\n else {\n return value;\n }\n}\n\nfunction bindResizeListener(fn){\n if (typeof window === 'undefined') return;\n window.onresize = window.resize = function(){};\n if (window.addEventListener) {\n window.addEventListener('resize', fn, true);\n }\n else if (window.attachEvent) {\n window.attachEvent('onresize', fn);\n }\n}\n","import Dataset from './dataset';\nimport { extend } from './utils/extend';\nimport { stripHtmlTags } from './utils/strip-html-tags';\n\nexport default function (data) {\n if (!arguments.length) return this.dataset.data();\n if (data instanceof Dataset) {\n this.dataset = data;\n return this;\n }\n else {\n return parseResponse.call(this, data);\n }\n};\n\nfunction parseResponse(response) {\n var dataset,\n indexBy,\n meta,\n parser,\n parserArgs = [],\n query,\n selectedParser,\n title,\n type;\n\n indexBy = this.config.indexBy;\n meta = response.metadata || {};\n query = (typeof response.query !== 'undefined') ? response.query : {};\n\n // Ensure all required params are present\n query = extend({\n analysis_type: null,\n event_collection: null,\n filters: [],\n group_by: null,\n interval: null,\n timeframe: null,\n timezone: null\n }, query);\n\n if (query.analysis_type === 'funnel') {\n parser = 'funnel';\n }\n else if (query.analysis_type === 'extraction'){\n parser = 'extraction';\n }\n else if (query.analysis_type === 'select_unique') {\n if (!query.group_by && !query.interval) {\n parser = 'list';\n }\n // else { Not supported }\n }\n else if (query.analysis_type) {\n if (!query.group_by && !query.interval) {\n parser = 'metric';\n }\n else if (query.group_by && !query.interval) {\n if (query.group_by instanceof Array && query.group_by.length > 1) {\n parser = 'double-grouped-metric';\n parserArgs.push(query.group_by);\n }\n else {\n parser = 'grouped-metric';\n }\n }\n else if (query.interval && !query.group_by) {\n parser = 'interval';\n parserArgs.push(indexBy);\n }\n else if (query.group_by && query.interval) {\n if (query.group_by instanceof Array && query.group_by.length > 1) {\n parser = 'double-grouped-interval';\n parserArgs.push(query.group_by);\n parserArgs.push(indexBy);\n }\n else {\n parser = 'grouped-interval';\n parserArgs.push(indexBy);\n }\n }\n }\n\n if (!parser) {\n\n // Metric\n // -------------------------------\n if (typeof response.result === 'number'){\n parser = 'metric';\n }\n\n // Everything else\n // -------------------------------\n if (response.result instanceof Array && response.result.length > 0){\n\n // Interval w/ single value\n // -------------------------------\n if (response.result[0].timeframe && (typeof response.result[0].value == 'number' || response.result[0].value == null)) {\n parser = 'interval';\n parserArgs.push(indexBy)\n }\n\n // Static GroupBy\n // -------------------------------\n if (typeof response.result[0].result == 'number'){\n parser = 'grouped-metric';\n }\n\n // Grouped Interval\n // -------------------------------\n if (response.result[0].value instanceof Array){\n parser = 'grouped-interval';\n parserArgs.push(indexBy)\n }\n\n // Funnel\n // -------------------------------\n if (typeof response.result[0] === 'number'\n && typeof response.steps !== 'undefined'){\n parser = 'funnel';\n // Move steps into query object\n query.steps = response.steps;\n }\n\n // Select Unique\n // -------------------------------\n if ((typeof response.result[0] === 'string' || typeof response.result[0] == 'number') && typeof response.steps === 'undefined'){\n parser = 'list';\n }\n\n // Extraction\n // -------------------------------\n if (!parser) {\n parser = 'extraction';\n }\n }\n\n if (!parser) {\n parser = 'extraction';\n }\n }\n\n // Set title from saved query body, or create a default title\n if (this.config.title === undefined) {\n if (meta.display_name) {\n title = meta.display_name;\n }\n else {\n title = getDefaultTitle(query);\n }\n this.config.title = title;\n }\n\n // Set type from saved query body, or use a default type\n if (!this.config.type) {\n if (meta.visualization && meta.visualization.chart_type) {\n type = meta.visualization.chart_type;\n }\n else {\n type = getDefaultType(parser);\n }\n this.config.type = type;\n }\n\n // Define the appropriate parser\n selectedParser = Dataset.parser.apply(this, [parser].concat(parserArgs));\n\n // Parse the response with augmented query body\n dataset = selectedParser(extend(response, { 'query': query }));\n\n // Set true dates for 'interval' data\n if (parser.indexOf('interval') > -1) {\n dataset.updateColumn(0, function(value, i){\n return new Date(value);\n });\n }\n\n dataset.updateRow(0, function(value, i){\n return stripHtmlTags(value);\n });\n\n this.dataset = dataset;\n\n return this;\n}\n\nfunction getDefaultTitle(query) {\n var analysis = query.analysis_type ? query.analysis_type.replace('_', ' ') : '',\n title;\n\n title = analysis.replace( /\\b./g, function(a){\n return a.toUpperCase();\n });\n\n if (query.event_collection) {\n title += ' - ' + query.event_collection;\n }\n return title;\n}\n\nfunction getDefaultType(parser) {\n let type;\n switch (parser) {\n case 'metric':\n type = 'metric';\n break;\n case 'interval':\n type = 'area';\n break;\n case 'grouped-metric':\n case 'double-grouped-metric':\n type = 'bar';\n break;\n case 'grouped-interval':\n case 'double-grouped-interval':\n type = 'line';\n break;\n case 'funnel':\n type = 'horizontal-bar';\n break;\n case 'list':\n case 'extraction':\n default:\n type = 'table';\n }\n return type;\n}\n","export function valueAtDeepKey(obj, is, value) {\n if (typeof is == 'string')\n return valueAtDeepKey(obj, is.split('.'), value);\n else if (is.length==1 && value!==undefined && obj !== null &&\n typeof obj[is[0]] !== 'undefined')\n return obj[is[0]] = value;\n else if (is.length==0)\n return obj;\n else if (typeof is === 'undefined' || typeof obj === 'undefined'\n || is === null || obj === null\n || typeof obj[is[0]] === 'undefined')\n return null;\n else\n return valueAtDeepKey(obj[is[0]], is.slice(1), value);\n}\n","// Pure awesomeness by Will Rayner (penguinboy)\n// https://gist.github.com/penguinboy/762197\n\nexport function flatten(ob){\n var toReturn = {};\n for (var i in ob) {\n if (!ob.hasOwnProperty(i)) continue;\n if ((typeof ob[i]) == 'object' && ob[i] !== null) {\n var flatObject = flatten(ob[i]);\n for (var x in flatObject) {\n if (!flatObject.hasOwnProperty(x)) continue;\n toReturn[i + '.' + x] = flatObject[x];\n }\n } else {\n toReturn[i] = ob[i];\n }\n }\n return toReturn;\n};\n","let Dataset; /* injected */\n\nimport { each } from '../../utils/each';\nimport { flatten } from '../utils/flatten';\nimport { valueAtDeepKey } from '../utils/object';\n\nexport default function initialize(lib){\n Dataset = lib;\n return function(name){\n var options = Array.prototype.slice.call(arguments, 1);\n\n if (!parsers[name]) {\n throw 'Requested parser does not exist';\n }\n else {\n return parsers[name].apply(this, options);\n }\n };\n}\n\nfunction parseMetric(){\n return function(res){\n return new Dataset()\n .set(['Value', 'Result'], res.result)\n .type('metric');\n }\n}\n\n//var myParser = Dataset.parser('interval', 'timeframe.end');\nfunction parseInterval(){\n var options = Array.prototype.slice.call(arguments);\n return function(res){\n var dataset = new Dataset()\n .type('interval');\n each(res.result, function(record, i){\n var index = options[0] && options[0] === 'timeframe.end' ? record.timeframe.end : record.timeframe.start;\n dataset.set(['Result', index], record.value);\n });\n return dataset;\n }\n}\n\nfunction parseGroupedMetric(){\n return function(res){\n var dataset = new Dataset()\n .type('grouped-metric');\n each(res.result, function(record, i){\n var label;\n each(record, function(value, key){\n if (key !== 'result') {\n label = key;\n }\n });\n dataset.set(['Result', String(record[label])], record.result);\n });\n return dataset;\n }\n}\n\n//var myParser = Dataset.parser('grouped-interval', 'timeframe.end');\nfunction parseGroupedInterval(){\n var options = Array.prototype.slice.call(arguments);\n return function(res){\n var dataset = new Dataset()\n .type('grouped-interval');\n each(res.result, function(record, i){\n var index = options[0] && options[0] === 'timeframe.end' ? record.timeframe.end : record.timeframe.start;\n if (record.value.length) {\n each(record.value, function(group, j){\n var label;\n each(group, function(value, key){\n if (key !== 'result') {\n label = key;\n }\n });\n dataset.set([ String(group[label]), index ], group.result);\n });\n }\n else {\n dataset.appendRow(index);\n }\n });\n return dataset;\n }\n}\n\n//var myParser = Dataset.parser('double-grouped-metric', ['first', 'second']);\nfunction parseDoubleGroupedMetric(){\n var options = Array.prototype.slice.call(arguments);\n if (!options[0]) throw 'Requested parser requires a sequential list (array) of properties to target as a second argument';\n return function(res){\n var dataset = new Dataset()\n .type('double-grouped-metric');\n each(res.result, function(record, i){\n var rowLabel = record[options[0][0]] + ' ' + record[options[0][1]];\n dataset.set([ 'Result', rowLabel ], record.result);\n });\n return dataset;\n }\n}\n\n//var myParser = Dataset.parser('double-grouped-interval', ['first', 'second'], 'timeframe.end');\nfunction parseDoubleGroupedInterval(){\n var options = Array.prototype.slice.call(arguments);\n if (!options[0]) throw 'Requested parser requires a sequential list (array) of properties to target as a second argument';\n return function(res){\n var dataset = new Dataset()\n .type('double-grouped-interval');\n each(res.result, function(record, i){\n var index = options[1] && options[1] === 'timeframe.end' ? record.timeframe.end : record.timeframe.start;\n each(record['value'], function(value, j){\n var label = value[options[0][0]] + ' ' + value[options[0][1]];\n dataset.set([ label, index ], value.result);\n });\n });\n return dataset;\n }\n}\n\nfunction parseFunnel(){\n return function(res){\n var result, steps, dataset;\n if (typeof res.steps !== 'undefined'\n && typeof res.result !== 'undefined'\n && res.result instanceof Array) {\n // Ad-hoc funnel response\n result = res.result;\n steps = res.steps;\n }\n else if (typeof res.result.steps !== 'undefined'\n && typeof res.result.result !== 'undefined'\n && res.result.result instanceof Array) {\n // Saved funnel response\n result = res.result.result;\n steps = res.result.steps;\n }\n dataset = new Dataset().type('funnel');\n dataset.appendColumn('Step Value');\n each(result, function(value, i){\n if (typeof steps !== 'undefined' && steps[i]) {\n dataset.appendRow(String(steps[i].event_collection), [value]);\n }\n });\n return dataset;\n }\n}\n\nfunction parseList(){\n return function(res){\n var dataset = new Dataset()\n .type('list');\n each(res.result, function(value, i){\n dataset.set( [ 'Result', String(i+1) ], value );\n });\n return dataset;\n }\n}\n\nfunction parseExtraction(){\n let config = this.config;\n return function(res){\n const datasetExtraction = new Dataset()\n .type('extraction');\n // create header\n for (let i=0; i<1; i++){\n let record = res.result[i];\n each(flatten(record), function(value, key){\n datasetExtraction.set([ key, String(i+1) ], value);\n });\n }\n\n // get keys of the Object\n let names = Object.keys(flatten(res.result[0]));\n\n if (Dataset) {\n if (config.table\n && config.table.columns) {\n names = config.table.columns;\n }\n }\n\n for (let i=0; i -1) {\n\n if (typeof input === 'function') {\n\n each(self.data(), function(row, i){\n var cell;\n if (i > 0) {\n cell = input.call(self, row[index], i, row);\n if (typeof cell !== 'undefined') {\n self.matrix[i][index] = cell;\n }\n }\n });\n\n } else if (!input || input instanceof Array) {\n input = input || [];\n\n if (input.length <= self.data().length - 1) {\n input = input.concat( createNullList(self.data().length - 1 - input.length) );\n }\n else {\n // If this new column is longer than existing columns,\n // we need to update the rest to match ...\n each(input, function(value, i){\n if (self.matrix.length -1 < input.length) {\n appendRow.call(self, String( self.matrix.length ));\n }\n });\n }\n\n each(input, function(value, i){\n self.matrix[i+1][index] = value;\n });\n\n }\n\n }\n return self;\n}\n\nexport function updateRow(q, input){\n var self = this,\n index = (typeof q === 'number') ? q : this.selectColumn(0).indexOf(q);\n\n if (index > -1) {\n\n if (typeof input === 'function') {\n\n each(self.data()[index], function(value, i){\n var col = self.selectColumn(i),\n cell = input.call(self, value, i, col);\n if (typeof cell !== 'undefined') {\n self.matrix[index][i] = cell;\n }\n });\n\n } else if (!input || input instanceof Array) {\n input = input || [];\n\n if (input.length <= self.matrix[0].length - 1) {\n input = input.concat( createNullList( self.matrix[0].length - 1 - input.length ) );\n }\n else {\n each(input, function(value, i){\n if (self.matrix[0].length -1 < input.length) {\n appendColumn.call(self, String( self.matrix[0].length ));\n }\n });\n }\n\n each(input, function(value, i){\n self.matrix[index][i+1] = value;\n });\n }\n\n }\n return self;\n}\n","import { each } from '../../utils/each';\nimport analysesUtilMethods from '../utils/analyses';\n\nexport function sortColumns(str, comp) {\n var self = this,\n head = this.matrix[0].slice(1), // minus index\n cols = [],\n clone = [],\n fn = comp || analysesUtilMethods.getColumnLabel;\n\n // Isolate each column (except the index)\n each(head, function(cell, i) {\n cols.push(self.selectColumn(i+1).slice(0));\n });\n cols.sort(function(a,b){\n // If fn(a) > fn(b)\n var op = fn.call(self, a) > fn.call(self, b);\n if (op) {\n return (str === 'asc' ? 1 : -1);\n } else if (!op) {\n return (str === 'asc' ? -1 : 1);\n } else {\n return 0;\n }\n });\n each(cols, function(col, i) {\n self\n .deleteColumn(i+1)\n .insertColumn(i+1, col[0], col.slice(1));\n });\n return self;\n}\n\nexport function sortRows(str, comp) {\n var self = this,\n head = this.matrix.slice(0,1),\n body = this.matrix.slice(1),\n fn = comp || analysesUtilMethods.getRowIndex;\n body.sort(function(a, b){\n // If fn(a) > fn(b)\n var op = fn.call(self, a) > fn.call(self, b);\n if (op) {\n return (str === 'asc' ? 1 : -1);\n } else if (!op) {\n return (str === 'asc' ? -1 : 1);\n } else {\n return 0;\n }\n });\n self.data(head.concat(body));\n return self;\n}\n","import { each } from '../../utils/each';\n\nexport function selectColumn(q) {\n const result = [];\n const index = (typeof q === 'number') ? q : this.matrix[0].indexOf(q);\n\n if (index > -1 && typeof this.matrix[0][index] !== 'undefined') {\n each(this.matrix, function(row, i) {\n result.push(row[index]);\n });\n }\n return result;\n}\n\nexport function selectRow(q) {\n let result = [];\n const index = (typeof q === 'number') ? q : this.selectColumn(0).indexOf(q);\n\n if (index > -1 && typeof this.matrix[index] !== 'undefined') {\n result = this.matrix[index];\n }\n return result;\n}\n","import { each } from '../../utils/each';\nimport createNullList from '../utils/create-null-list';\nimport { appendRow, appendColumn } from './append';\n\nexport function insertColumn(index, str, input) {\n const self = this;\n const label = (str !== undefined) ? str : null;\n\n if (typeof input === 'function') {\n\n self.matrix[0].splice(index, 0, label);\n each(self.matrix, function(row, i) {\n var cell;\n if (i > 0) {\n cell = input.call(self, row, i);\n if (typeof cell === 'undefined') {\n cell = null;\n }\n self.matrix[i].splice(index, 0, cell);\n }\n });\n\n }\n\n else if (!input || input instanceof Array) {\n input = input || [];\n\n if (input.length <= self.matrix.length - 1) {\n input = input.concat( createNullList(self.matrix.length - 1 - input.length) );\n }\n else {\n // If this new column is longer than existing columns,\n // we need to update the rest to match ...\n each(input, function(value, i){\n if (self.matrix.length -1 < input.length) {\n appendRow.call(self, String( self.matrix.length ));\n }\n });\n }\n\n self.matrix[0].splice(index, 0, label);\n each(input, function(value, i){\n self.matrix[i+1].splice(index, 0, value);\n });\n\n }\n return self;\n}\n\nexport function insertRow(index, str, input) {\n const self = this;\n const newRow = [];\n const label = (str !== undefined) ? str : null;\n newRow.push(label);\n\n if (typeof input === 'function') {\n each(self.matrix[0], function(label, i) {\n let col;\n let cell;\n if (i > 0) {\n col = self.selectColumn(i);\n cell = input.call(self, col, i);\n if (typeof cell === 'undefined') {\n cell = null;\n }\n newRow.push(cell);\n }\n });\n self.matrix.splice(index, 0, newRow);\n }\n\n else if (!input || input instanceof Array) {\n input = input || [];\n\n if (input.length <= self.matrix[0].length - 1) {\n input = input.concat( createNullList( self.matrix[0].length - 1 - input.length ) );\n }\n else {\n each(input, function(value, i){\n if (self.matrix[0].length -1 < input.length) {\n appendColumn.call(self, String( self.matrix[0].length ));\n }\n });\n }\n\n self.matrix.splice(index, 0, newRow.concat(input) );\n }\n\n return self;\n}\n","import { each } from '../../utils/each';\n\nexport function filterColumns(fn) {\n const self = this;\n const clone = [];\n\n each(self.matrix, function(row, i) {\n clone.push([]);\n });\n\n each(self.matrix[0], function(col, i){\n var selectedColumn = self.selectColumn(i);\n if (i == 0 || fn.call(self, selectedColumn, i)) {\n each(selectedColumn, function(cell, ri){\n clone[ri].push(cell);\n });\n }\n });\n\n self.data(clone);\n return self;\n}\n\nexport function filterRows(fn) {\n const self = this;\n const clone = [];\n\n each(self.matrix, function(row, i){\n if (i == 0 || fn.call(self, row, i)) {\n clone.push(row);\n }\n });\n\n self.data(clone);\n return self;\n}\n","import { each } from '../../utils/each';\n\nexport function deleteColumn(q) {\n const self = this;\n const index = (typeof q === 'number') ? q : this.matrix[0].indexOf(q);\n\n if (index > -1) {\n each(self.matrix, function(row, i){\n self.matrix[i].splice(index, 1);\n });\n }\n return self;\n}\n\nexport function deleteRow(q) {\n var index = (typeof q === 'number') ? q : this.selectColumn(0).indexOf(q);\n\n if (index > -1) {\n this.matrix.splice(index, 1);\n }\n return this;\n}\n","import * as d3 from \"d3\";\nimport c3 from 'c3';\n\nimport pkg from '../package.json';\nimport data from './data';\nimport { Dataset } from './dataset';\n\n// Utils\nimport { each } from './utils/each';\nimport isDateString from './utils/assert-date-string';\nimport { stripHtmlTags } from './utils/strip-html-tags';\nimport { escapeHtml } from './utils/escape-html';\nimport libraries from './libraries';\nimport { extendDeep } from './utils/extend-deep';\n\n// Constructor\nexport const Dataviz = function (options = {}) {\n if (this instanceof Dataviz === false) {\n return new Dataviz(options);\n }\n\n this.c3 = c3; // expose for use outside\n this.d3 = d3;\n\n const datavizInstance = this;\n\n const defaultOptions = {\n showDeprecationWarnings: true,\n showLoadingSpinner: false,\n\n container: undefined, // querySelector of container, for example '#someDiv'\n containerElement: undefined, // HTML parent element for the chart\n\n // width: undefined, *deprecated* - use CSS\n // height: undefined, *deprecated* - use CSS\n\n title: undefined,\n showTitle: true,\n\n notes: undefined,\n theme: 'keen-dataviz',\n\n colors: [\n '#00bbde', '#fe6672', '#eeb058', '#8a8ad6', '#ff855c', '#00cfbb',\n '#5a9eed', '#73d483', '#c879bb', '#0099b6', '#d74d58', '#cb9141',\n '#6b6bb6', '#d86945', '#00aa99', '#4281c9', '#57b566', '#ac5c9e',\n '#27cceb', '#ff818b', '#f6bf71', '#9b9be1', '#ff9b79', '#26dfcd',\n '#73aff4', '#87e096', '#d88bcb',\n ],\n\n colorMapping: {},\n\n indexBy: 'timeframe.start',\n labels: [],\n labelMapping: {},\n labelMappingRegExp: undefined,\n errorMapping: {},\n showErrorMessages: true,\n library: 'default',\n sortGroups: undefined,\n sortIntervals: undefined,\n\n results: undefined, // raw data\n\n // C3 chartOptions\n type: undefined,\n stacked: false,\n dateFormat: undefined,\n legend: {\n show: true,\n position: 'right',\n label: {\n textMaxLength: 12\n },\n pagination: {\n offset: 0, // start from\n limit: 5 // items per page\n },\n tooltip: {\n show: true,\n pointer: true\n },\n sort: undefined\n },\n\n axis: {},\n color: {},\n data: {\n order: null\n },\n size: {\n // control it with CSS of .c3-chart\n },\n padding: {\n top: 15\n },\n point: {\n focus: {\n expand: {\n enabled: false\n }\n },\n r: 2,\n show: true\n },\n tooltip: {\n format: {\n // https://c3js.org/samples/tooltip_format.html\n }\n },\n transition: {\n // duration: 0\n },\n data: {\n selection: {\n enabled: true,\n draggable: true,\n multiple: true\n }\n },\n grid: {\n y: {\n show: true\n }\n },\n partialIntervalIndicator: {\n show: undefined,\n className: 'partial-interval-indicator'\n },\n timezone: 'UTC',\n table: {},\n renderOnVisible: false\n };\n\n this.config = { ...extendDeep(defaultOptions, options) };\n\n if (this.config.type) {\n // backward compatibility with v2016... areachart -> area\n this.config.type = convertChartTypes(this.config.type);\n }\n\n // get DOM node by query\n if (this.config.container) {\n this.el(this.config.container);\n }\n\n if (options.legend !== undefined && !options.legend) {\n this.config.legend = {\n ...options,\n show: false\n };\n }\n\n if (options.color && options.color.pattern) {\n // to match c3 options\n this.config.colors = options.color.pattern;\n }\n\n if (this.config.legend\n && this.config.legend.tooltip\n && this.config.legend.tooltip.show === false\n && this.config.tooltip.show === undefined) {\n this.config.tooltip = { show: false };\n }\n\n if (options.color && options.color.pattern) {\n // to match c3 options\n this.config.colors = options.color.pattern;\n }\n\n this.dataset = new Dataset(this.config);\n this.view = {\n _prepared: false,\n _rendered: false,\n _artifacts: { /* state bin */ }\n };\n\n Dataviz.visuals.push(this);\n\n if (this.config.showLoadingSpinner) {\n this.prepare();\n }\n\n if (!!this.config.results) {\n this.render(this.config.results);\n }\n this.config.firstVisibilityState = document.visibilityState;\n};\n\nDataviz.libraries = { default: {} };\nif (typeof window !== 'undefined') {\n Dataviz.libraries.default = libraries(Dataviz);\n}\nDataviz.visuals = [];\n\nDataviz.register = function (name, actions) {\n Dataviz.libraries[name] = Dataviz.libraries[name] || {};\n each(actions, function(method, key){\n Dataviz.libraries[name][key] = method;\n });\n};\n\nDataviz.find = function(target){\n if (!arguments.length) return Dataviz.visuals;\n const el = target.nodeName ? target : document.querySelector(target);\n let match = null;\n each(Dataviz.visuals, function(visual){\n if (el == visual.config.container){\n match = visual;\n return false;\n }\n });\n return match;\n};\n\n\n // Prototype\n // ------------\n\nDataviz.prototype.attributes = function(obj){\n if (this.config.showDeprecationWarnings) {\n console.log('.attributes() is deprecated. Use: new KeenDataviz({ _your_value_here_ })');\n }\n if (!arguments.length) return this.config;\n const view = this.config;\n each(obj, function(prop, key){\n // Handle deprecated property names\n if (key === 'chartType') {\n key = 'type';\n }\n view[key] = prop;\n });\n return this;\n};\n\nDataviz.prototype.call = function(fn){\n fn.call(this);\n return this;\n};\n\nDataviz.prototype.chartOptions = function(obj){\n if (this.config.showDeprecationWarnings) {\n console.log('.chartOptions() is deprecated. Use: new KeenDataviz({ _your_value_here_ })');\n }\n if (!arguments.length) return this.config;\n this.config = extendDeep(this.config, obj);\n return this;\n};\n\nDataviz.prototype.colors = function(arr){\n if (this.config.showDeprecationWarnings) {\n console.log('.colors() is deprecated. Use: new KeenDataviz({ colors: _your_value_here_ })');\n }\n if (!arguments.length) return this.config.colors;\n this.config.colors = (arr instanceof Array ? arr : []);\n return this;\n};\n\nDataviz.prototype.colorMapping = function(obj){\n if (this.config.showDeprecationWarnings) {\n console.log('.colorMapping() is deprecated. Use: new KeenDataviz({ colorMapping: _your_value_here_ })');\n }\n const datavizInstance = this;\n if (!arguments.length) return this.config.colorMapping;\n if (obj === null) {\n this.config.colorMapping = {};\n }\n else if (typeof obj === 'object') {\n each(obj, function(value, key){\n datavizInstance.config.colorMapping[key] = (value ? value : null);\n });\n }\n return this;\n};\n\nDataviz.prototype.data = data;\n\nDataviz.prototype.dateFormat = function(val){\n if (this.config.showDeprecationWarnings) {\n console.log('.dateFormat() is deprecated. Use: new KeenDataviz({ dateFormat: _your_value_here_ })');\n }\n if (!arguments.length) return this.config.dateFormat;\n if (typeof val === 'string' || typeof val === 'function') {\n this.config.dateFormat = val;\n }\n else {\n this.config.dateFormat = undefined;\n }\n return this;\n};\n\nDataviz.prototype.destroy = function(){\n const library = this.library();\n const type = this.config.type;\n const element = this.el();\n\n // Call destroy method if present\n if (Dataviz.libraries[library]\n && Dataviz.libraries[library][type]){\n Dataviz.libraries[library][type].destroy.call(this);\n }\n\n // Clear rendered artifacts, state bin\n if (element) {\n element.innerHTML = '';\n }\n this.view._prepared = false;\n this.view._rendered = false;\n this.view._artifacts = {};\n return this;\n};\n\nDataviz.prototype.el = function(target){\n const datavizInstance = this;\n if (!arguments.length) return this.config.containerElement;\n domReady(function(){\n if (target && target !== null) {\n if (target.nodeName) {\n datavizInstance.config.containerElement = target;\n }\n else if (document.querySelector) {\n datavizInstance.config.containerElement = document.querySelector(target);\n }\n }\n else {\n datavizInstance.config.containerElement = undefined;\n }\n });\n return this;\n};\n\nDataviz.prototype.height = function(num){\n if (this.config.showDeprecationWarnings) {\n console.log('.height() is deprecated - use CSS classes');\n }\n return this;\n};\n\n// IMPORTANT: Must be run before data parsing\nDataviz.prototype.indexBy = function(str){\n if (this.config.showDeprecationWarnings) {\n console.log('.indexBy() is deprecated. Use: new KeenDataviz({ indexBy: _your_value_here_ })');\n }\n if (!arguments.length) return this.config.indexBy;\n this.config.indexBy = (str ? String(str) : 'timeframe.start');\n return this;\n};\n\nDataviz.prototype.labels = function(arr){\n if (this.config.showDeprecationWarnings) {\n console.log('.labels() is deprecated. Use: new KeenDataviz({ labels: _your_value_here_ })');\n }\n\n if (!arguments.length) return this.config.labels;\n this.config.labels = (arr instanceof Array ? arr : []);\n\n setLabels(this);\n\n return this;\n};\n\nfunction setLabels(datavizInstance){\n // Write labels\n if (datavizInstance.data()[0].length === 2 && !isDateString(datavizInstance.data()[1][0])) {\n datavizInstance.dataset.updateColumn(0, function(value, index){\n if (datavizInstance.config.labels[index-1]) {\n return stripHtmlTags(String(datavizInstance.config.labels[index-1]));\n }\n return stripHtmlTags(value);\n }.bind(datavizInstance));\n }\n else {\n datavizInstance.dataset.updateRow(0, function(value, index){\n if (index > 0 && datavizInstance.config.labels[index-1]) {\n return stripHtmlTags(String(datavizInstance.config.labels[index-1]));\n }\n return stripHtmlTags(value);\n }.bind(datavizInstance));\n }\n}\n\nDataviz.prototype.labelMapping = function(obj){\n if (this.config.showDeprecationWarnings) {\n console.log('.labelMapping() is deprecated. Use: new KeenDataviz({ labelMapping: _your_value_here_ })');\n }\n if (!arguments.length) return this.config.labelMapping;\n if (obj === null) {\n this.config.labelMapping = {};\n }\n else if (typeof obj === 'object') {\n each(obj, function(value, key){\n this.config.labelMapping[key] = (value ? value : null);\n }.bind(this));\n }\n\n mapLabels(this);\n\n return this;\n};\n\nfunction mapLabelsExec({ datavizInstance, value }){\n if (datavizInstance.config.labelMappingRegExp){\n let valueAfterMatching = value;\n datavizInstance.config.labelMappingRegExp.forEach(regExpAndLabel => {\n if (regExpAndLabel.length > 1) {\n let regExpObj = regExpAndLabel[0];\n if (regExpObj.test(value)){\n valueAfterMatching = regExpAndLabel[1];\n }\n }\n });\n return stripHtmlTags(valueAfterMatching);\n }\n if (datavizInstance.config.labelMapping[value]) {\n return stripHtmlTags(String(datavizInstance.config.labelMapping[value]));\n }\n return stripHtmlTags(value);\n}\n\nfunction mapLabels(datavizInstance){\n // Write labels\n if (!datavizInstance.config.labelMappingDimension) {\n // if not defined use deprecated auto-detecting\n if (datavizInstance.data()[0].length === 2 && !isDateString(datavizInstance.data()[1][0])) {\n datavizInstance.config.labelMappingDimension = 'row';\n } else {\n datavizInstance.config.labelMappingDimension = 'column';\n }\n }\n\n if (datavizInstance.config.labelMappingDimension === 'row'\n || datavizInstance.config.labelMappingDimension === 'both') {\n datavizInstance.dataset.updateColumn(0, function(value){\n return mapLabelsExec({ datavizInstance, value });\n }.bind(datavizInstance));\n }\n\n if (datavizInstance.config.labelMappingDimension === 'column'\n || datavizInstance.config.labelMappingDimension === 'both') {\n datavizInstance.dataset.updateRow(0, function(value){\n return mapLabelsExec({ datavizInstance, value });\n }.bind(datavizInstance));\n }\n}\n\nDataviz.prototype.library = function(str){\n if (!arguments.length) return this.config['library'];\n this.config['library'] = (str ? String(str) : null);\n return this;\n};\n\nDataviz.prototype.message = function(){\n if (this.view._rendered) {\n this.destroy();\n }\n if (this.el()) {\n this.el().innerHTML = '';\n const message = Dataviz.libraries.default.message;\n if (message.render) {\n message.render.apply(this, arguments);\n }\n }\n return this;\n};\n\nDataviz.prototype.notes = function(str){\n if (this.config.showDeprecationWarnings) {\n console.log('.notes() is deprecated. Use: new KeenDataviz({ notes: _your_value_here_ })');\n }\n if (!arguments.length) return this.config.notes;\n this.config.notes = (str ? String(str) : null);\n return this;\n};\n\nDataviz.prototype.prepare = function(){\n const datavizInstance = this;\n\n if (!this.el()) {\n throw `${this.config.container} not found. A DOM parent element is required to mount the chart.`;\n return;\n }\n\n domReady(function(){\n if (datavizInstance.view._rendered) {\n datavizInstance.destroy();\n }\n if (datavizInstance.el()) {\n datavizInstance.el().innerHTML = '';\n const loader = Dataviz.libraries.default.spinner;\n if (loader.render) {\n loader.render.call(datavizInstance);\n }\n datavizInstance.view._prepared = true;\n }\n });\n\n return this;\n};\n\nDataviz.prototype.render = function(results = undefined){\n const datavizInstance = this;\n if (!!results) {\n const firstResult = results[0] || results;\n if (\n firstResult.query\n && firstResult.query.interval\n && firstResult.query.timeframe\n && firstResult.query.timeframe === 'string'\n && firstResult.query.timeframe.indexOf('this_') > -1\n && this.config.partialIntervalIndicator\n && this.config.partialIntervalIndicator.show === undefined\n )\n {\n this.config.partialIntervalIndicator.show = true;\n }\n\n if (Array.isArray(results)) {\n const timeframes = results.map(resultItem => resultItem.query.timeframe);\n timeframes.forEach(resultTimeframe => {\n let foundDifferent = timeframes.find(timeframeItem =>\n JSON.stringify(timeframeItem) !== JSON.stringify(resultTimeframe)\n );\n if (foundDifferent){\n const msg = 'Timeframes of the queries should be the same';\n console.error(msg);\n throw msg;\n }\n });\n // first result is important to prepare X on the chart\n return datavizInstance\n .data(results[0])\n .call(() => {\n const getLabel = (input) => {\n return `${input.query.event_collection} ${input.query.analysis_type}`;\n }\n let label = getLabel(results[0]);\n if (datavizInstance.config.labelMapping[label]) {\n label = datavizInstance.config.labelMapping[label];\n }\n this.dataset.deleteColumn(1);\n let firstResultPassed = false;\n for (let result of results) {\n label = getLabel(result);;\n let ds2 = Dataset.parser('interval')(result);\n datavizInstance.dataset.appendColumn(label, ds2.selectColumn(1).slice(1));\n }\n })\n .render();\n }\n\n return datavizInstance.data(results).render();\n }\n if (\n (!!this.config.labelMapping && Object.keys(this.config.labelMapping).length > 0)\n ||\n (!!this.config.labelMappingRegExp && this.config.labelMappingRegExp.length > 0)\n ){\n mapLabels(datavizInstance);\n }\n if (!!this.config.labels && Object.keys(this.config.labels).length > 0){\n setLabels(datavizInstance);\n }\n if (!!this.config.sortGroups) {\n sortGroups(datavizInstance);\n }\n if (!!this.config.sortIntervals) {\n sortIntervals(datavizInstance);\n }\n\n const loader = Dataviz.libraries.default.spinner;\n const library = this.config.library;\n const type = this.config.type;\n const containerElement = this.el();\n\n if (!containerElement || containerElement === undefined) {\n const msg = `${this.config.container} not found. A DOM parent element is required to mount the chart.`;\n console.error(msg);\n throw msg;\n return;\n }\n\n let returnValue = datavizInstance;\n\n if (datavizInstance.config.renderAsPromise) {\n returnValue = new Promise((resolve, reject) => {\n const customCallback = this.config.onrendered;\n datavizInstance.config.onrendered = () => {\n if (customCallback) {\n customCallback();\n }\n resolve(datavizInstance);\n }\n });\n }\n\n domReady(function(){\n if (datavizInstance.view._prepared && loader.destroy) {\n loader.destroy.apply(datavizInstance, arguments);\n }\n containerElement.innerHTML = '';\n\n if (Dataviz.libraries[library] === 'undefined'){\n // Error: Unregistered library\n const msg = `Incorrect library`;\n datavizInstance.message(msg);\n throw msg;\n return;\n }\n else {\n if (typeof Dataviz.libraries[library][type] === 'undefined') {\n const msg = `Incorrect chart type`;\n const mappedMsg = this.config.errorMapping[msg] || msg;\n datavizInstance.message(mappedMsg);\n throw msg;\n return;\n }\n else {\n buildDomWrapper(containerElement,\n datavizInstance.config\n );\n const { renderOnVisible } = datavizInstance.config;\n if(renderOnVisible){\n if(typeof IntersectionObserver !== 'undefined'){\n const chartVisibleCallback = (events, observer) => {\n events.forEach(el => {\n if(el.isIntersecting){\n if(!datavizInstance.view._rendered){\n Dataviz.libraries[library][type].render.call(datavizInstance);\n datavizInstance.view._rendered = true;\n }\n }\n })\n }\n const observer = new IntersectionObserver(chartVisibleCallback);\n observer.observe(containerElement);\n return;\n }\n }\n if(datavizInstance.config.firstVisibilityState === 'hidden'){\n if(typeof document !== 'undefined') {\n let hidden, visibilityChange;\n if (typeof document.hidden !== \"undefined\") {\n hidden = \"hidden\";\n visibilityChange = \"visibilitychange\";\n } else if (typeof document.msHidden !== \"undefined\") {\n hidden = \"msHidden\";\n visibilityChange = \"msvisibilitychange\";\n } else if (typeof document.webkitHidden !== \"undefined\") {\n hidden = \"webkitHidden\";\n visibilityChange = \"webkitvisibilitychange\";\n }\n const handleVisibilityChange = () => {\n if(!document[hidden]) {\n datavizInstance.view._artifacts.c3.load(datavizInstance.dataset.matrix);\n }\n }\n if(typeof document.addEventListener !== \"undefined\" ||\n hidden !== undefined){\n document.addEventListener(visibilityChange, handleVisibilityChange, {\n once: true\n });\n }\n }\n }\n Dataviz.libraries[library][type].render.call(datavizInstance);\n datavizInstance.view._rendered = true;\n }\n }\n });\n\n return returnValue;\n};\n\nDataviz.prototype.sortGroups = function(str){\n if (this.config.showDeprecationWarnings) {\n console.log('.sortGroups() is deprecated. Use: new KeenDataviz({ sortGroups: _your_value_here_ })');\n }\n if (!arguments.length) return this.config.sortGroups;\n this.config.sortGroups = (str ? String(str) : null);\n\n sortGroups(this, str);\n\n return this;\n};\n\nfunction sortGroups(datavizInstance){\n // Sort groups\n if (datavizInstance.config.sortGroups && datavizInstance.data().length > 1) {\n if (isDateString(datavizInstance.data()[1][0])) {\n datavizInstance.dataset.sortColumns(datavizInstance.config.sortGroups, datavizInstance.dataset.getColumnSum);\n }\n else {\n datavizInstance.dataset.sortRows(datavizInstance.config.sortGroups, datavizInstance.dataset.getRowSum);\n }\n }\n}\n\nDataviz.prototype.sortIntervals = function(str){\n if (this.config.showDeprecationWarnings) {\n console.log('.sortIntervals() is deprecated. Use: new KeenDataviz({ sortIntervals: _your_value_here_ })');\n }\n if (!arguments.length) return this.config.sortIntervals;\n this.config.sortIntervals = (str ? String(str) : null);\n\n sortIntervals(this);\n\n return this;\n};\n\nfunction sortIntervals(datavizInstance){\n if (datavizInstance.config.sortIntervals) {\n datavizInstance.dataset.sortRows(datavizInstance.config.sortIntervals);\n }\n}\n\nDataviz.prototype.stacked = function(bool){\n if (this.config.showDeprecationWarnings) {\n console.log('.stacked() is deprecated. Use: new KeenDataviz({ stacked: _your_value_here_ })');\n }\n if (!arguments.length) return this.config.stacked;\n this.config.stacked = bool ? true : false;\n return this;\n};\n\nDataviz.prototype.theme = function(str){\n if (this.config.showDeprecationWarnings) {\n console.log('.theme() is deprecated. Use: new KeenDataviz({ theme: _your_value_here_ })');\n }\n if (!arguments.length) return this.config.theme;\n this.config.theme = (str ? String(str) : null);\n return this;\n};\n\nDataviz.prototype.title = function(str){\n if (this.config.showDeprecationWarnings) {\n console.log('.title() is deprecated. Use: new KeenDataviz({ title: _your_value_here_ })');\n }\n if (!arguments.length) return this.config.title;\n this.config.title = (str ? String(str) : null);\n return this;\n};\n\nDataviz.prototype.type = function(str){\n if (this.config.showDeprecationWarnings) {\n console.log('.type() is deprecated. Use: new KeenDataviz({ type: _your_value_here_ })');\n }\n if (!arguments.length) return this.config.type;\n this.config.type = (str ? convertChartTypes(str) : null);\n return this;\n};\n\nDataviz.prototype.update = function(){\n const library = this.config.library;\n const type = this.config.type;\n const element = this.el();\n if (library && type && element && Dataviz.libraries[library][type].update) {\n Dataviz.libraries[library][type].update.apply(this, arguments);\n }\n return this;\n};\n\nDataviz.prototype.width = function(num){\n if (this.config.showDeprecationWarnings) {\n console.log('.width() is deprecated - use CSS classes');\n }\n return this;\n};\n\n// Deprecations\nDataviz.prototype.chartType = Dataviz.prototype.type;\nDataviz.prototype.error = Dataviz.prototype.message;\nDataviz.prototype.parseRawData = Dataviz.prototype.data;\nDataviz.prototype.parseRequest = function(){\n // this.emit('error', 'This method is no longer supported. Use .data() instead: https://github.com/keen/keen-dataviz.js#data');\n return this;\n};\nDataviz.prototype.initialize = function(){\n // this.emit('error', 'This method is no longer supported, and can be omitted as it has no impact');\n return this;\n};\n\nDataviz.version = pkg.version;\n\n// Private\n\nfunction buildDomWrapper(el, options) {\n let html = '';\n let chart100percentWide = '';\n if (options.legend.position === 'top' || options.legend.position === 'bottom') {\n chart100percentWide = 'c3-chart-100-percent';\n }\n\n let container = `
`;\n let align = 'horizontal';\n if (options.legend.position === 'left' || options.legend.position === 'right') {\n align = 'vertical';\n }\n if (options.legend && options.legend.show) {\n if (options.legend.position === 'top' || options.legend.position === 'left') {\n container = `
${container}`;\n } else {\n container = `${container}
`;\n }\n }\n html += `
`;\n if (options.title && options.showTitle) {\n html += `
${options.title}
`;\n }\n html += `
${container}
`;\n if (options.notes) {\n html += `
${options.notes}
`;\n }\n html += `
`;\n el.innerHTML = html;\n}\n\nfunction convertChartTypes(str) {\n const map = {\n areachart: 'area',\n barchart: 'horizontal-bar',\n columnchart: 'bar',\n linechart: 'line',\n piechart: 'pie',\n };\n return map[str] || str;\n}\n\nfunction testDom(fn) {\n if (/in/.test(document.readyState)) {\n setTimeout(function(){\n testDom(fn);\n }, 9);\n } else {\n fn();\n }\n}\n\nfunction domReady(fn) {\n if (typeof document !== 'undefined' || typeof window === 'undefined') {\n fn();\n return;\n }\n // Firefox 3.5 shim\n if (document.readyState == null && document.addEventListener) {\n document.addEventListener('DOMContentLoaded', function DOMContentLoaded() {\n document.removeEventListener('DOMContentLoaded', DOMContentLoaded, false);\n document.readyState = 'complete';\n }, false);\n document.readyState = 'loading';\n }\n testDom(fn);\n}\n\nexport { Dataset } from './dataset';\n\nexport default Dataviz;\n","var g;\r\n\r\n// This works in non-strict mode\r\ng = (function() {\r\n\treturn this;\r\n})();\r\n\r\ntry {\r\n\t// This works if eval is allowed (see CSP)\r\n\tg = g || Function(\"return this\")() || (1, eval)(\"this\");\r\n} catch (e) {\r\n\t// This works if the window reference is available\r\n\tif (typeof window === \"object\") g = window;\r\n}\r\n\r\n// g can still be undefined, but nothing to do about it...\r\n// We return undefined, instead of nothing here, so it's\r\n// easier to handle this case. if(!global) { ...}\r\n\r\nmodule.exports = g;\r\n","import { Dataviz, Dataset } from './index';\n\nconst env = typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : typeof window !== 'undefined' ? window : {};\n\nexport const extendKeenGlobalObject = function(env) {\n env.KeenDataviz = Dataviz;\n env.KeenDataset = Dataset;\n\n // just for backward compatibility\n env.Keen = env.Keen || {};\n env.Keen.Dataset = Dataset;\n env.Keen.Dataviz = Dataviz;\n};\n\nif (typeof KEEN_GLOBAL_OBJECT !== 'undefined'\n && KEEN_GLOBAL_OBJECT) {\n extendKeenGlobalObject(env);\n}\n\nexport let keenGlobals = undefined;\nif (typeof webpackKeenGlobals !== 'undefined') {\n keenGlobals = webpackKeenGlobals;\n}\n\nexport { Dataviz, Dataset } from './index';\nexport default Dataviz;\n"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap","webpack:///./node_modules/moment/moment.js","webpack:///./lib/utils/each.js","webpack:///./node_modules/d3/dist/package.js","webpack:///./node_modules/d3-array/src/ascending.js","webpack:///./node_modules/d3-array/src/bisector.js","webpack:///./node_modules/d3-array/src/bisect.js","webpack:///./node_modules/d3-array/src/pairs.js","webpack:///./node_modules/d3-array/src/cross.js","webpack:///./node_modules/d3-array/src/descending.js","webpack:///./node_modules/d3-array/src/number.js","webpack:///./node_modules/d3-array/src/variance.js","webpack:///./node_modules/d3-array/src/deviation.js","webpack:///./node_modules/d3-array/src/extent.js","webpack:///./node_modules/d3-array/src/array.js","webpack:///./node_modules/d3-array/src/constant.js","webpack:///./node_modules/d3-array/src/identity.js","webpack:///./node_modules/d3-array/src/range.js","webpack:///./node_modules/d3-array/src/ticks.js","webpack:///./node_modules/d3-array/src/threshold/sturges.js","webpack:///./node_modules/d3-array/src/histogram.js","webpack:///./node_modules/d3-array/src/quantile.js","webpack:///./node_modules/d3-array/src/threshold/freedmanDiaconis.js","webpack:///./node_modules/d3-array/src/threshold/scott.js","webpack:///./node_modules/d3-array/src/max.js","webpack:///./node_modules/d3-array/src/mean.js","webpack:///./node_modules/d3-array/src/median.js","webpack:///./node_modules/d3-array/src/merge.js","webpack:///./node_modules/d3-array/src/min.js","webpack:///./node_modules/d3-array/src/permute.js","webpack:///./node_modules/d3-array/src/scan.js","webpack:///./node_modules/d3-array/src/shuffle.js","webpack:///./node_modules/d3-array/src/sum.js","webpack:///./node_modules/d3-array/src/transpose.js","webpack:///./node_modules/d3-array/src/zip.js","webpack:///./node_modules/d3-array/index.js","webpack:///./node_modules/d3-axis/src/array.js","webpack:///./node_modules/d3-axis/src/identity.js","webpack:///./node_modules/d3-axis/src/axis.js","webpack:///./node_modules/d3-axis/index.js","webpack:///./node_modules/d3-dispatch/src/dispatch.js","webpack:///./node_modules/d3-dispatch/index.js","webpack:///./node_modules/d3-selection/src/namespaces.js","webpack:///./node_modules/d3-selection/src/namespace.js","webpack:///./node_modules/d3-selection/src/creator.js","webpack:///./node_modules/d3-selection/src/selector.js","webpack:///./node_modules/d3-selection/src/selection/select.js","webpack:///./node_modules/d3-selection/src/selectorAll.js","webpack:///./node_modules/d3-selection/src/selection/selectAll.js","webpack:///./node_modules/d3-selection/src/matcher.js","webpack:///./node_modules/d3-selection/src/selection/filter.js","webpack:///./node_modules/d3-selection/src/selection/sparse.js","webpack:///./node_modules/d3-selection/src/selection/enter.js","webpack:///./node_modules/d3-selection/src/constant.js","webpack:///./node_modules/d3-selection/src/selection/data.js","webpack:///./node_modules/d3-selection/src/selection/exit.js","webpack:///./node_modules/d3-selection/src/selection/merge.js","webpack:///./node_modules/d3-selection/src/selection/order.js","webpack:///./node_modules/d3-selection/src/selection/sort.js","webpack:///./node_modules/d3-selection/src/selection/call.js","webpack:///./node_modules/d3-selection/src/selection/nodes.js","webpack:///./node_modules/d3-selection/src/selection/node.js","webpack:///./node_modules/d3-selection/src/selection/size.js","webpack:///./node_modules/d3-selection/src/selection/empty.js","webpack:///./node_modules/d3-selection/src/selection/each.js","webpack:///./node_modules/d3-selection/src/selection/attr.js","webpack:///./node_modules/d3-selection/src/window.js","webpack:///./node_modules/d3-selection/src/selection/style.js","webpack:///./node_modules/d3-selection/src/selection/property.js","webpack:///./node_modules/d3-selection/src/selection/classed.js","webpack:///./node_modules/d3-selection/src/selection/text.js","webpack:///./node_modules/d3-selection/src/selection/html.js","webpack:///./node_modules/d3-selection/src/selection/raise.js","webpack:///./node_modules/d3-selection/src/selection/lower.js","webpack:///./node_modules/d3-selection/src/selection/append.js","webpack:///./node_modules/d3-selection/src/selection/insert.js","webpack:///./node_modules/d3-selection/src/selection/remove.js","webpack:///./node_modules/d3-selection/src/selection/clone.js","webpack:///./node_modules/d3-selection/src/selection/datum.js","webpack:///./node_modules/d3-selection/src/selection/on.js","webpack:///./node_modules/d3-selection/src/selection/dispatch.js","webpack:///./node_modules/d3-selection/src/selection/index.js","webpack:///./node_modules/d3-selection/src/select.js","webpack:///./node_modules/d3-selection/src/create.js","webpack:///./node_modules/d3-selection/src/local.js","webpack:///./node_modules/d3-selection/src/sourceEvent.js","webpack:///./node_modules/d3-selection/src/point.js","webpack:///./node_modules/d3-selection/src/mouse.js","webpack:///./node_modules/d3-selection/src/selectAll.js","webpack:///./node_modules/d3-selection/src/touch.js","webpack:///./node_modules/d3-selection/src/touches.js","webpack:///./node_modules/d3-selection/index.js","webpack:///./node_modules/d3-drag/src/noevent.js","webpack:///./node_modules/d3-drag/src/nodrag.js","webpack:///./node_modules/d3-drag/src/constant.js","webpack:///./node_modules/d3-drag/src/event.js","webpack:///./node_modules/d3-drag/src/drag.js","webpack:///./node_modules/d3-drag/index.js","webpack:///./node_modules/d3-color/src/define.js","webpack:///./node_modules/d3-color/src/color.js","webpack:///./node_modules/d3-color/src/math.js","webpack:///./node_modules/d3-color/src/lab.js","webpack:///./node_modules/d3-color/src/cubehelix.js","webpack:///./node_modules/d3-color/index.js","webpack:///./node_modules/d3-interpolate/src/basis.js","webpack:///./node_modules/d3-interpolate/src/basisClosed.js","webpack:///./node_modules/d3-interpolate/src/constant.js","webpack:///./node_modules/d3-interpolate/src/color.js","webpack:///./node_modules/d3-interpolate/src/rgb.js","webpack:///./node_modules/d3-interpolate/src/array.js","webpack:///./node_modules/d3-interpolate/src/date.js","webpack:///./node_modules/d3-interpolate/src/number.js","webpack:///./node_modules/d3-interpolate/src/object.js","webpack:///./node_modules/d3-interpolate/src/string.js","webpack:///./node_modules/d3-interpolate/src/value.js","webpack:///./node_modules/d3-interpolate/src/round.js","webpack:///./node_modules/d3-interpolate/src/transform/decompose.js","webpack:///./node_modules/d3-interpolate/src/transform/parse.js","webpack:///./node_modules/d3-interpolate/src/transform/index.js","webpack:///./node_modules/d3-interpolate/src/zoom.js","webpack:///./node_modules/d3-interpolate/src/hsl.js","webpack:///./node_modules/d3-interpolate/src/lab.js","webpack:///./node_modules/d3-interpolate/src/hcl.js","webpack:///./node_modules/d3-interpolate/src/cubehelix.js","webpack:///./node_modules/d3-interpolate/src/piecewise.js","webpack:///./node_modules/d3-interpolate/src/quantize.js","webpack:///./node_modules/d3-interpolate/index.js","webpack:///./node_modules/d3-timer/src/timer.js","webpack:///./node_modules/d3-timer/src/timeout.js","webpack:///./node_modules/d3-timer/src/interval.js","webpack:///./node_modules/d3-timer/index.js","webpack:///./node_modules/d3-transition/src/transition/schedule.js","webpack:///./node_modules/d3-transition/src/interrupt.js","webpack:///./node_modules/d3-transition/src/selection/interrupt.js","webpack:///./node_modules/d3-transition/src/transition/tween.js","webpack:///./node_modules/d3-transition/src/transition/interpolate.js","webpack:///./node_modules/d3-transition/src/transition/attr.js","webpack:///./node_modules/d3-transition/src/transition/attrTween.js","webpack:///./node_modules/d3-transition/src/transition/delay.js","webpack:///./node_modules/d3-transition/src/transition/duration.js","webpack:///./node_modules/d3-transition/src/transition/ease.js","webpack:///./node_modules/d3-transition/src/transition/filter.js","webpack:///./node_modules/d3-transition/src/transition/merge.js","webpack:///./node_modules/d3-transition/src/transition/on.js","webpack:///./node_modules/d3-transition/src/transition/remove.js","webpack:///./node_modules/d3-transition/src/transition/select.js","webpack:///./node_modules/d3-transition/src/transition/selectAll.js","webpack:///./node_modules/d3-transition/src/transition/selection.js","webpack:///./node_modules/d3-transition/src/transition/style.js","webpack:///./node_modules/d3-transition/src/transition/styleTween.js","webpack:///./node_modules/d3-transition/src/transition/text.js","webpack:///./node_modules/d3-transition/src/transition/transition.js","webpack:///./node_modules/d3-transition/src/transition/index.js","webpack:///./node_modules/d3-ease/src/linear.js","webpack:///./node_modules/d3-ease/src/quad.js","webpack:///./node_modules/d3-ease/src/cubic.js","webpack:///./node_modules/d3-ease/src/poly.js","webpack:///./node_modules/d3-ease/src/sin.js","webpack:///./node_modules/d3-ease/src/exp.js","webpack:///./node_modules/d3-ease/src/circle.js","webpack:///./node_modules/d3-ease/src/bounce.js","webpack:///./node_modules/d3-ease/src/back.js","webpack:///./node_modules/d3-ease/src/elastic.js","webpack:///./node_modules/d3-ease/index.js","webpack:///./node_modules/d3-transition/src/selection/transition.js","webpack:///./node_modules/d3-transition/src/selection/index.js","webpack:///./node_modules/d3-transition/src/active.js","webpack:///./node_modules/d3-transition/index.js","webpack:///./node_modules/d3-brush/src/constant.js","webpack:///./node_modules/d3-brush/src/event.js","webpack:///./node_modules/d3-brush/src/noevent.js","webpack:///./node_modules/d3-brush/src/brush.js","webpack:///./node_modules/d3-brush/index.js","webpack:///./node_modules/d3-chord/src/math.js","webpack:///./node_modules/d3-chord/src/chord.js","webpack:///./node_modules/d3-chord/src/array.js","webpack:///./node_modules/d3-chord/src/constant.js","webpack:///./node_modules/d3-path/src/path.js","webpack:///./node_modules/d3-path/index.js","webpack:///./node_modules/d3-chord/src/ribbon.js","webpack:///./node_modules/d3-chord/index.js","webpack:///./node_modules/d3-collection/src/map.js","webpack:///./node_modules/d3-collection/src/nest.js","webpack:///./node_modules/d3-collection/src/set.js","webpack:///./node_modules/d3-collection/src/keys.js","webpack:///./node_modules/d3-collection/src/values.js","webpack:///./node_modules/d3-collection/src/entries.js","webpack:///./node_modules/d3-collection/index.js","webpack:///./node_modules/d3-contour/src/array.js","webpack:///./node_modules/d3-contour/src/ascending.js","webpack:///./node_modules/d3-contour/src/area.js","webpack:///./node_modules/d3-contour/src/constant.js","webpack:///./node_modules/d3-contour/src/contains.js","webpack:///./node_modules/d3-contour/src/noop.js","webpack:///./node_modules/d3-contour/src/contours.js","webpack:///./node_modules/d3-contour/src/blur.js","webpack:///./node_modules/d3-contour/src/density.js","webpack:///./node_modules/d3-contour/index.js","webpack:///./node_modules/d3-dsv/src/dsv.js","webpack:///./node_modules/d3-dsv/src/csv.js","webpack:///./node_modules/d3-dsv/src/tsv.js","webpack:///./node_modules/d3-dsv/index.js","webpack:///./node_modules/d3-fetch/src/blob.js","webpack:///./node_modules/d3-fetch/src/buffer.js","webpack:///./node_modules/d3-fetch/src/text.js","webpack:///./node_modules/d3-fetch/src/dsv.js","webpack:///./node_modules/d3-fetch/src/image.js","webpack:///./node_modules/d3-fetch/src/json.js","webpack:///./node_modules/d3-fetch/src/xml.js","webpack:///./node_modules/d3-fetch/index.js","webpack:///./node_modules/d3-force/src/center.js","webpack:///./node_modules/d3-force/src/constant.js","webpack:///./node_modules/d3-force/src/jiggle.js","webpack:///./node_modules/d3-quadtree/src/add.js","webpack:///./node_modules/d3-quadtree/src/cover.js","webpack:///./node_modules/d3-quadtree/src/data.js","webpack:///./node_modules/d3-quadtree/src/extent.js","webpack:///./node_modules/d3-quadtree/src/quad.js","webpack:///./node_modules/d3-quadtree/src/find.js","webpack:///./node_modules/d3-quadtree/src/remove.js","webpack:///./node_modules/d3-quadtree/src/root.js","webpack:///./node_modules/d3-quadtree/src/size.js","webpack:///./node_modules/d3-quadtree/src/visit.js","webpack:///./node_modules/d3-quadtree/src/visitAfter.js","webpack:///./node_modules/d3-quadtree/src/x.js","webpack:///./node_modules/d3-quadtree/src/y.js","webpack:///./node_modules/d3-quadtree/src/quadtree.js","webpack:///./node_modules/d3-quadtree/index.js","webpack:///./node_modules/d3-force/src/collide.js","webpack:///./node_modules/d3-force/src/link.js","webpack:///./node_modules/d3-force/src/simulation.js","webpack:///./node_modules/d3-force/src/manyBody.js","webpack:///./node_modules/d3-force/src/radial.js","webpack:///./node_modules/d3-force/src/x.js","webpack:///./node_modules/d3-force/src/y.js","webpack:///./node_modules/d3-force/index.js","webpack:///./node_modules/d3-format/src/formatDecimal.js","webpack:///./node_modules/d3-format/src/exponent.js","webpack:///./node_modules/d3-format/src/formatGroup.js","webpack:///./node_modules/d3-format/src/formatNumerals.js","webpack:///./node_modules/d3-format/src/formatSpecifier.js","webpack:///./node_modules/d3-format/src/formatTrim.js","webpack:///./node_modules/d3-format/src/formatPrefixAuto.js","webpack:///./node_modules/d3-format/src/formatRounded.js","webpack:///./node_modules/d3-format/src/formatTypes.js","webpack:///./node_modules/d3-format/src/identity.js","webpack:///./node_modules/d3-format/src/locale.js","webpack:///./node_modules/d3-format/src/defaultLocale.js","webpack:///./node_modules/d3-format/src/precisionFixed.js","webpack:///./node_modules/d3-format/src/precisionPrefix.js","webpack:///./node_modules/d3-format/src/precisionRound.js","webpack:///./node_modules/d3-format/index.js","webpack:///./node_modules/d3-geo/src/adder.js","webpack:///./node_modules/d3-geo/src/math.js","webpack:///./node_modules/d3-geo/src/noop.js","webpack:///./node_modules/d3-geo/src/stream.js","webpack:///./node_modules/d3-geo/src/area.js","webpack:///./node_modules/d3-geo/src/cartesian.js","webpack:///./node_modules/d3-geo/src/bounds.js","webpack:///./node_modules/d3-geo/src/centroid.js","webpack:///./node_modules/d3-geo/src/constant.js","webpack:///./node_modules/d3-geo/src/compose.js","webpack:///./node_modules/d3-geo/src/rotation.js","webpack:///./node_modules/d3-geo/src/circle.js","webpack:///./node_modules/d3-geo/src/clip/buffer.js","webpack:///./node_modules/d3-geo/src/pointEqual.js","webpack:///./node_modules/d3-geo/src/clip/rejoin.js","webpack:///./node_modules/d3-geo/src/polygonContains.js","webpack:///./node_modules/d3-geo/src/clip/index.js","webpack:///./node_modules/d3-geo/src/clip/antimeridian.js","webpack:///./node_modules/d3-geo/src/clip/circle.js","webpack:///./node_modules/d3-geo/src/clip/line.js","webpack:///./node_modules/d3-geo/src/clip/rectangle.js","webpack:///./node_modules/d3-geo/src/clip/extent.js","webpack:///./node_modules/d3-geo/src/length.js","webpack:///./node_modules/d3-geo/src/distance.js","webpack:///./node_modules/d3-geo/src/contains.js","webpack:///./node_modules/d3-geo/src/graticule.js","webpack:///./node_modules/d3-geo/src/interpolate.js","webpack:///./node_modules/d3-geo/src/identity.js","webpack:///./node_modules/d3-geo/src/path/area.js","webpack:///./node_modules/d3-geo/src/path/bounds.js","webpack:///./node_modules/d3-geo/src/path/centroid.js","webpack:///./node_modules/d3-geo/src/path/context.js","webpack:///./node_modules/d3-geo/src/path/measure.js","webpack:///./node_modules/d3-geo/src/path/string.js","webpack:///./node_modules/d3-geo/src/path/index.js","webpack:///./node_modules/d3-geo/src/transform.js","webpack:///./node_modules/d3-geo/src/projection/fit.js","webpack:///./node_modules/d3-geo/src/projection/resample.js","webpack:///./node_modules/d3-geo/src/projection/index.js","webpack:///./node_modules/d3-geo/src/projection/conic.js","webpack:///./node_modules/d3-geo/src/projection/cylindricalEqualArea.js","webpack:///./node_modules/d3-geo/src/projection/conicEqualArea.js","webpack:///./node_modules/d3-geo/src/projection/albers.js","webpack:///./node_modules/d3-geo/src/projection/albersUsa.js","webpack:///./node_modules/d3-geo/src/projection/azimuthal.js","webpack:///./node_modules/d3-geo/src/projection/azimuthalEqualArea.js","webpack:///./node_modules/d3-geo/src/projection/azimuthalEquidistant.js","webpack:///./node_modules/d3-geo/src/projection/mercator.js","webpack:///./node_modules/d3-geo/src/projection/conicConformal.js","webpack:///./node_modules/d3-geo/src/projection/equirectangular.js","webpack:///./node_modules/d3-geo/src/projection/conicEquidistant.js","webpack:///./node_modules/d3-geo/src/projection/gnomonic.js","webpack:///./node_modules/d3-geo/src/projection/identity.js","webpack:///./node_modules/d3-geo/src/projection/naturalEarth1.js","webpack:///./node_modules/d3-geo/src/projection/orthographic.js","webpack:///./node_modules/d3-geo/src/projection/stereographic.js","webpack:///./node_modules/d3-geo/src/projection/transverseMercator.js","webpack:///./node_modules/d3-geo/index.js","webpack:///./node_modules/d3-hierarchy/src/cluster.js","webpack:///./node_modules/d3-hierarchy/src/hierarchy/count.js","webpack:///./node_modules/d3-hierarchy/src/hierarchy/each.js","webpack:///./node_modules/d3-hierarchy/src/hierarchy/eachBefore.js","webpack:///./node_modules/d3-hierarchy/src/hierarchy/eachAfter.js","webpack:///./node_modules/d3-hierarchy/src/hierarchy/sum.js","webpack:///./node_modules/d3-hierarchy/src/hierarchy/sort.js","webpack:///./node_modules/d3-hierarchy/src/hierarchy/path.js","webpack:///./node_modules/d3-hierarchy/src/hierarchy/ancestors.js","webpack:///./node_modules/d3-hierarchy/src/hierarchy/descendants.js","webpack:///./node_modules/d3-hierarchy/src/hierarchy/leaves.js","webpack:///./node_modules/d3-hierarchy/src/hierarchy/links.js","webpack:///./node_modules/d3-hierarchy/src/hierarchy/index.js","webpack:///./node_modules/d3-hierarchy/src/array.js","webpack:///./node_modules/d3-hierarchy/src/pack/enclose.js","webpack:///./node_modules/d3-hierarchy/src/pack/siblings.js","webpack:///./node_modules/d3-hierarchy/src/accessors.js","webpack:///./node_modules/d3-hierarchy/src/constant.js","webpack:///./node_modules/d3-hierarchy/src/pack/index.js","webpack:///./node_modules/d3-hierarchy/src/treemap/round.js","webpack:///./node_modules/d3-hierarchy/src/treemap/dice.js","webpack:///./node_modules/d3-hierarchy/src/partition.js","webpack:///./node_modules/d3-hierarchy/src/stratify.js","webpack:///./node_modules/d3-hierarchy/src/tree.js","webpack:///./node_modules/d3-hierarchy/src/treemap/slice.js","webpack:///./node_modules/d3-hierarchy/src/treemap/squarify.js","webpack:///./node_modules/d3-hierarchy/src/treemap/index.js","webpack:///./node_modules/d3-hierarchy/src/treemap/binary.js","webpack:///./node_modules/d3-hierarchy/src/treemap/sliceDice.js","webpack:///./node_modules/d3-hierarchy/src/treemap/resquarify.js","webpack:///./node_modules/d3-hierarchy/index.js","webpack:///./node_modules/d3-polygon/src/area.js","webpack:///./node_modules/d3-polygon/src/centroid.js","webpack:///./node_modules/d3-polygon/src/cross.js","webpack:///./node_modules/d3-polygon/src/hull.js","webpack:///./node_modules/d3-polygon/src/contains.js","webpack:///./node_modules/d3-polygon/src/length.js","webpack:///./node_modules/d3-polygon/index.js","webpack:///./node_modules/d3-random/src/defaultSource.js","webpack:///./node_modules/d3-random/src/uniform.js","webpack:///./node_modules/d3-random/src/normal.js","webpack:///./node_modules/d3-random/src/logNormal.js","webpack:///./node_modules/d3-random/src/irwinHall.js","webpack:///./node_modules/d3-random/src/bates.js","webpack:///./node_modules/d3-random/src/exponential.js","webpack:///./node_modules/d3-random/index.js","webpack:///./node_modules/d3-scale/src/array.js","webpack:///./node_modules/d3-scale/src/ordinal.js","webpack:///./node_modules/d3-scale/src/band.js","webpack:///./node_modules/d3-scale/src/constant.js","webpack:///./node_modules/d3-scale/src/number.js","webpack:///./node_modules/d3-scale/src/continuous.js","webpack:///./node_modules/d3-scale/src/tickFormat.js","webpack:///./node_modules/d3-scale/src/linear.js","webpack:///./node_modules/d3-scale/src/identity.js","webpack:///./node_modules/d3-scale/src/nice.js","webpack:///./node_modules/d3-scale/src/log.js","webpack:///./node_modules/d3-scale/src/pow.js","webpack:///./node_modules/d3-scale/src/quantile.js","webpack:///./node_modules/d3-scale/src/quantize.js","webpack:///./node_modules/d3-scale/src/threshold.js","webpack:///./node_modules/d3-time/src/interval.js","webpack:///./node_modules/d3-time/src/millisecond.js","webpack:///./node_modules/d3-time/src/duration.js","webpack:///./node_modules/d3-time/src/second.js","webpack:///./node_modules/d3-time/src/minute.js","webpack:///./node_modules/d3-time/src/hour.js","webpack:///./node_modules/d3-time/src/day.js","webpack:///./node_modules/d3-time/src/week.js","webpack:///./node_modules/d3-time/src/month.js","webpack:///./node_modules/d3-time/src/year.js","webpack:///./node_modules/d3-time/src/utcMinute.js","webpack:///./node_modules/d3-time/src/utcHour.js","webpack:///./node_modules/d3-time/src/utcDay.js","webpack:///./node_modules/d3-time/src/utcWeek.js","webpack:///./node_modules/d3-time/src/utcMonth.js","webpack:///./node_modules/d3-time/src/utcYear.js","webpack:///./node_modules/d3-time/index.js","webpack:///./node_modules/d3-time-format/src/locale.js","webpack:///./node_modules/d3-time-format/src/defaultLocale.js","webpack:///./node_modules/d3-time-format/src/isoFormat.js","webpack:///./node_modules/d3-time-format/src/isoParse.js","webpack:///./node_modules/d3-time-format/index.js","webpack:///./node_modules/d3-scale/src/time.js","webpack:///./node_modules/d3-scale/src/utcTime.js","webpack:///./node_modules/d3-scale/src/sequential.js","webpack:///./node_modules/d3-scale/index.js","webpack:///./node_modules/d3-scale-chromatic/src/colors.js","webpack:///./node_modules/d3-scale-chromatic/src/categorical/category10.js","webpack:///./node_modules/d3-scale-chromatic/src/categorical/Accent.js","webpack:///./node_modules/d3-scale-chromatic/src/categorical/Dark2.js","webpack:///./node_modules/d3-scale-chromatic/src/categorical/Paired.js","webpack:///./node_modules/d3-scale-chromatic/src/categorical/Pastel1.js","webpack:///./node_modules/d3-scale-chromatic/src/categorical/Pastel2.js","webpack:///./node_modules/d3-scale-chromatic/src/categorical/Set1.js","webpack:///./node_modules/d3-scale-chromatic/src/categorical/Set2.js","webpack:///./node_modules/d3-scale-chromatic/src/categorical/Set3.js","webpack:///./node_modules/d3-scale-chromatic/src/ramp.js","webpack:///./node_modules/d3-scale-chromatic/src/diverging/BrBG.js","webpack:///./node_modules/d3-scale-chromatic/src/diverging/PRGn.js","webpack:///./node_modules/d3-scale-chromatic/src/diverging/PiYG.js","webpack:///./node_modules/d3-scale-chromatic/src/diverging/PuOr.js","webpack:///./node_modules/d3-scale-chromatic/src/diverging/RdBu.js","webpack:///./node_modules/d3-scale-chromatic/src/diverging/RdGy.js","webpack:///./node_modules/d3-scale-chromatic/src/diverging/RdYlBu.js","webpack:///./node_modules/d3-scale-chromatic/src/diverging/RdYlGn.js","webpack:///./node_modules/d3-scale-chromatic/src/diverging/Spectral.js","webpack:///./node_modules/d3-scale-chromatic/src/sequential-multi/BuGn.js","webpack:///./node_modules/d3-scale-chromatic/src/sequential-multi/BuPu.js","webpack:///./node_modules/d3-scale-chromatic/src/sequential-multi/GnBu.js","webpack:///./node_modules/d3-scale-chromatic/src/sequential-multi/OrRd.js","webpack:///./node_modules/d3-scale-chromatic/src/sequential-multi/PuBuGn.js","webpack:///./node_modules/d3-scale-chromatic/src/sequential-multi/PuBu.js","webpack:///./node_modules/d3-scale-chromatic/src/sequential-multi/PuRd.js","webpack:///./node_modules/d3-scale-chromatic/src/sequential-multi/RdPu.js","webpack:///./node_modules/d3-scale-chromatic/src/sequential-multi/YlGnBu.js","webpack:///./node_modules/d3-scale-chromatic/src/sequential-multi/YlGn.js","webpack:///./node_modules/d3-scale-chromatic/src/sequential-multi/YlOrBr.js","webpack:///./node_modules/d3-scale-chromatic/src/sequential-multi/YlOrRd.js","webpack:///./node_modules/d3-scale-chromatic/src/sequential-single/Blues.js","webpack:///./node_modules/d3-scale-chromatic/src/sequential-single/Greens.js","webpack:///./node_modules/d3-scale-chromatic/src/sequential-single/Greys.js","webpack:///./node_modules/d3-scale-chromatic/src/sequential-single/Purples.js","webpack:///./node_modules/d3-scale-chromatic/src/sequential-single/Reds.js","webpack:///./node_modules/d3-scale-chromatic/src/sequential-single/Oranges.js","webpack:///./node_modules/d3-scale-chromatic/src/sequential-multi/cubehelix.js","webpack:///./node_modules/d3-scale-chromatic/src/sequential-multi/rainbow.js","webpack:///./node_modules/d3-scale-chromatic/src/sequential-multi/sinebow.js","webpack:///./node_modules/d3-scale-chromatic/src/sequential-multi/viridis.js","webpack:///./node_modules/d3-scale-chromatic/index.js","webpack:///./node_modules/d3-shape/src/constant.js","webpack:///./node_modules/d3-shape/src/math.js","webpack:///./node_modules/d3-shape/src/arc.js","webpack:///./node_modules/d3-shape/src/curve/linear.js","webpack:///./node_modules/d3-shape/src/point.js","webpack:///./node_modules/d3-shape/src/line.js","webpack:///./node_modules/d3-shape/src/area.js","webpack:///./node_modules/d3-shape/src/descending.js","webpack:///./node_modules/d3-shape/src/identity.js","webpack:///./node_modules/d3-shape/src/pie.js","webpack:///./node_modules/d3-shape/src/curve/radial.js","webpack:///./node_modules/d3-shape/src/lineRadial.js","webpack:///./node_modules/d3-shape/src/areaRadial.js","webpack:///./node_modules/d3-shape/src/pointRadial.js","webpack:///./node_modules/d3-shape/src/array.js","webpack:///./node_modules/d3-shape/src/link/index.js","webpack:///./node_modules/d3-shape/src/symbol/circle.js","webpack:///./node_modules/d3-shape/src/symbol/cross.js","webpack:///./node_modules/d3-shape/src/symbol/diamond.js","webpack:///./node_modules/d3-shape/src/symbol/star.js","webpack:///./node_modules/d3-shape/src/symbol/square.js","webpack:///./node_modules/d3-shape/src/symbol/triangle.js","webpack:///./node_modules/d3-shape/src/symbol/wye.js","webpack:///./node_modules/d3-shape/src/symbol.js","webpack:///./node_modules/d3-shape/src/noop.js","webpack:///./node_modules/d3-shape/src/curve/basis.js","webpack:///./node_modules/d3-shape/src/curve/basisClosed.js","webpack:///./node_modules/d3-shape/src/curve/basisOpen.js","webpack:///./node_modules/d3-shape/src/curve/bundle.js","webpack:///./node_modules/d3-shape/src/curve/cardinal.js","webpack:///./node_modules/d3-shape/src/curve/cardinalClosed.js","webpack:///./node_modules/d3-shape/src/curve/cardinalOpen.js","webpack:///./node_modules/d3-shape/src/curve/catmullRom.js","webpack:///./node_modules/d3-shape/src/curve/catmullRomClosed.js","webpack:///./node_modules/d3-shape/src/curve/catmullRomOpen.js","webpack:///./node_modules/d3-shape/src/curve/linearClosed.js","webpack:///./node_modules/d3-shape/src/curve/monotone.js","webpack:///./node_modules/d3-shape/src/curve/natural.js","webpack:///./node_modules/d3-shape/src/curve/step.js","webpack:///./node_modules/d3-shape/src/offset/none.js","webpack:///./node_modules/d3-shape/src/order/none.js","webpack:///./node_modules/d3-shape/src/stack.js","webpack:///./node_modules/d3-shape/src/offset/expand.js","webpack:///./node_modules/d3-shape/src/offset/diverging.js","webpack:///./node_modules/d3-shape/src/offset/silhouette.js","webpack:///./node_modules/d3-shape/src/offset/wiggle.js","webpack:///./node_modules/d3-shape/src/order/ascending.js","webpack:///./node_modules/d3-shape/src/order/descending.js","webpack:///./node_modules/d3-shape/src/order/insideOut.js","webpack:///./node_modules/d3-shape/src/order/reverse.js","webpack:///./node_modules/d3-shape/index.js","webpack:///./node_modules/d3-voronoi/src/constant.js","webpack:///./node_modules/d3-voronoi/src/point.js","webpack:///./node_modules/d3-voronoi/src/RedBlackTree.js","webpack:///./node_modules/d3-voronoi/src/Edge.js","webpack:///./node_modules/d3-voronoi/src/Cell.js","webpack:///./node_modules/d3-voronoi/src/Circle.js","webpack:///./node_modules/d3-voronoi/src/Beach.js","webpack:///./node_modules/d3-voronoi/src/Diagram.js","webpack:///./node_modules/d3-voronoi/src/voronoi.js","webpack:///./node_modules/d3-voronoi/index.js","webpack:///./node_modules/d3-zoom/src/constant.js","webpack:///./node_modules/d3-zoom/src/event.js","webpack:///./node_modules/d3-zoom/src/transform.js","webpack:///./node_modules/d3-zoom/src/noevent.js","webpack:///./node_modules/d3-zoom/src/zoom.js","webpack:///./node_modules/d3-zoom/index.js","webpack:///./node_modules/d3/index.js","webpack:///./lib/utils/pretty-number.js","webpack:///./lib/utils/escape-html.js","webpack:///./lib/utils/svg-text-wrap.js","webpack:///./lib/utils/extend.js","webpack:///./lib/utils/assert-date-string.js","webpack:///./lib/utils/strip-html-tags.js","webpack:///./lib/dataset/utils/create-null-list.js","webpack:///./lib/dataset/modifiers/append.js","webpack:///./node_modules/moment/locale/zh-tw.js","webpack:///./node_modules/moment/locale/zh-hk.js","webpack:///./node_modules/moment/locale/zh-cn.js","webpack:///./node_modules/moment/locale/yo.js","webpack:///./node_modules/moment/locale/x-pseudo.js","webpack:///./node_modules/moment/locale/vi.js","webpack:///./node_modules/moment/locale/uz-latn.js","webpack:///./node_modules/moment/locale/uz.js","webpack:///./node_modules/moment/locale/ur.js","webpack:///./node_modules/moment/locale/uk.js","webpack:///./node_modules/moment/locale/ug-cn.js","webpack:///./node_modules/moment/locale/tzm-latn.js","webpack:///./node_modules/moment/locale/tzm.js","webpack:///./node_modules/moment/locale/tzl.js","webpack:///./node_modules/moment/locale/tr.js","webpack:///./node_modules/moment/locale/tlh.js","webpack:///./node_modules/moment/locale/tl-ph.js","webpack:///./node_modules/moment/locale/th.js","webpack:///./node_modules/moment/locale/tg.js","webpack:///./node_modules/moment/locale/tet.js","webpack:///./node_modules/moment/locale/te.js","webpack:///./node_modules/moment/locale/ta.js","webpack:///./node_modules/moment/locale/sw.js","webpack:///./node_modules/moment/locale/sv.js","webpack:///./node_modules/moment/locale/ss.js","webpack:///./node_modules/moment/locale/sr-cyrl.js","webpack:///./node_modules/moment/locale/sr.js","webpack:///./node_modules/moment/locale/sq.js","webpack:///./node_modules/moment/locale/sl.js","webpack:///./node_modules/moment/locale/sk.js","webpack:///./node_modules/moment/locale/si.js","webpack:///./node_modules/moment/locale/se.js","webpack:///./node_modules/moment/locale/sd.js","webpack:///./node_modules/moment/locale/ru.js","webpack:///./node_modules/moment/locale/ro.js","webpack:///./node_modules/moment/locale/pt-br.js","webpack:///./node_modules/moment/locale/pt.js","webpack:///./node_modules/moment/locale/pl.js","webpack:///./node_modules/moment/locale/pa-in.js","webpack:///./node_modules/moment/locale/nn.js","webpack:///./node_modules/moment/locale/nl-be.js","webpack:///./node_modules/moment/locale/nl.js","webpack:///./node_modules/moment/locale/ne.js","webpack:///./node_modules/moment/locale/nb.js","webpack:///./node_modules/moment/locale/my.js","webpack:///./node_modules/moment/locale/mt.js","webpack:///./node_modules/moment/locale/ms-my.js","webpack:///./node_modules/moment/locale/ms.js","webpack:///./node_modules/moment/locale/mr.js","webpack:///./node_modules/moment/locale/mn.js","webpack:///./node_modules/moment/locale/ml.js","webpack:///./node_modules/moment/locale/mk.js","webpack:///./node_modules/moment/locale/mi.js","webpack:///./node_modules/moment/locale/me.js","webpack:///./node_modules/moment/locale/lv.js","webpack:///./node_modules/moment/locale/lt.js","webpack:///./node_modules/moment/locale/lo.js","webpack:///./node_modules/moment/locale/lb.js","webpack:///./node_modules/moment/locale/ky.js","webpack:///./node_modules/moment/locale/ko.js","webpack:///./node_modules/moment/locale/kn.js","webpack:///./node_modules/moment/locale/km.js","webpack:///./node_modules/moment/locale/kk.js","webpack:///./node_modules/moment/locale/ka.js","webpack:///./node_modules/moment/locale/jv.js","webpack:///./node_modules/moment/locale/ja.js","webpack:///./node_modules/moment/locale/it.js","webpack:///./node_modules/moment/locale/is.js","webpack:///./node_modules/moment/locale/id.js","webpack:///./node_modules/moment/locale/hy-am.js","webpack:///./node_modules/moment/locale/hu.js","webpack:///./node_modules/moment/locale/hr.js","webpack:///./node_modules/moment/locale/hi.js","webpack:///./node_modules/moment/locale/he.js","webpack:///./node_modules/moment/locale/gu.js","webpack:///./node_modules/moment/locale/gom-latn.js","webpack:///./node_modules/moment/locale/gl.js","webpack:///./node_modules/moment/locale/gd.js","webpack:///./node_modules/moment/locale/fy.js","webpack:///./node_modules/moment/locale/fr-ch.js","webpack:///./node_modules/moment/locale/fr-ca.js","webpack:///./node_modules/moment/locale/fr.js","webpack:///./node_modules/moment/locale/fo.js","webpack:///./node_modules/moment/locale/fi.js","webpack:///./node_modules/moment/locale/fa.js","webpack:///./node_modules/moment/locale/eu.js","webpack:///./node_modules/moment/locale/et.js","webpack:///./node_modules/moment/locale/es-us.js","webpack:///./node_modules/moment/locale/es-do.js","webpack:///./node_modules/moment/locale/es.js","webpack:///./node_modules/moment/locale/eo.js","webpack:///./node_modules/moment/locale/en-nz.js","webpack:///./node_modules/moment/locale/en-il.js","webpack:///./node_modules/moment/locale/en-ie.js","webpack:///./node_modules/moment/locale/en-gb.js","webpack:///./node_modules/moment/locale/en-ca.js","webpack:///./node_modules/moment/locale/en-au.js","webpack:///./node_modules/moment/locale/el.js","webpack:///./node_modules/moment/locale/dv.js","webpack:///./node_modules/moment/locale/de-ch.js","webpack:///./node_modules/moment/locale/de-at.js","webpack:///./node_modules/moment/locale/de.js","webpack:///./node_modules/moment/locale/da.js","webpack:///./node_modules/moment/locale/cy.js","webpack:///./node_modules/moment/locale/cv.js","webpack:///./node_modules/moment/locale/cs.js","webpack:///./node_modules/moment/locale/ca.js","webpack:///./node_modules/moment/locale/bs.js","webpack:///./node_modules/moment/locale/br.js","webpack:///./node_modules/moment/locale/bo.js","webpack:///./node_modules/moment/locale/bn.js","webpack:///./node_modules/moment/locale/bm.js","webpack:///./node_modules/moment/locale/bg.js","webpack:///./node_modules/moment/locale/be.js","webpack:///./node_modules/moment/locale/az.js","webpack:///./node_modules/moment/locale/ar-tn.js","webpack:///./node_modules/moment/locale/ar-sa.js","webpack:///./node_modules/moment/locale/ar-ma.js","webpack:///./node_modules/moment/locale/ar-ly.js","webpack:///./node_modules/moment/locale/ar-kw.js","webpack:///./node_modules/moment/locale/ar-dz.js","webpack:///./node_modules/moment/locale/ar.js","webpack:///./node_modules/moment/locale/af.js","webpack:///./lib/utils/extend-deep.js","webpack:///./node_modules/c3/c3.js","webpack:///./lib/dataset/utils/analyses.js","webpack:///./lib/dataset/index.js","webpack:///./lib/libraries/default/horizontal-funnel-3d.js","webpack:///./lib/libraries/default/horizontal-funnel.js","webpack:///./lib/libraries/default/funnel-3d.js","webpack:///./lib/libraries/default/funnel.js","webpack:///./lib/libraries/default/spinner.js","webpack:///./node_modules/moment/locale sync ^\\.\\/.*$","webpack:///(webpack)/buildin/module.js","webpack:///./node_modules/moment-timezone/moment-timezone.js","webpack:///./node_modules/moment-timezone/index.js","webpack:///./lib/libraries/default/table.js","webpack:///./lib/libraries/default/metric.js","webpack:///./lib/libraries/default/message.js","webpack:///./lib/libraries/c3/extensions/tooltip-contents.js","webpack:///./lib/libraries/c3/extensions/paginating-legend.js","webpack:///./lib/libraries/c3/extensions/default-date-format.js","webpack:///./lib/libraries/index.js","webpack:///./lib/data.js","webpack:///./lib/dataset/utils/object.js","webpack:///./lib/dataset/utils/flatten.js","webpack:///./lib/dataset/utils/parsers.js","webpack:///./lib/dataset/modifiers/update.js","webpack:///./lib/dataset/modifiers/sort.js","webpack:///./lib/dataset/modifiers/select.js","webpack:///./lib/dataset/modifiers/insert.js","webpack:///./lib/dataset/modifiers/filter.js","webpack:///./lib/dataset/modifiers/delete.js","webpack:///./lib/index.js","webpack:///(webpack)/buildin/global.js","webpack:///./lib/browser.js"],"names":["each","o","cb","s","n","Array","length","call","hasOwnProperty","prettyNumber","input","Number","sciNo","toPrecision","prefix","suffixes","String","Math","abs","recurse","iteration","split","rhs","charAt","numNumerals","escapeHtml","matchHtmlRegExp","string","str","match","exec","escape","html","index","lastIndex","charCodeAt","substring","textWrap","d3","text","width","select","words","reverse","word","line","lineNumber","lineHeight","x","attr","y","dy","tspan","append","pop","push","join","node","getComputedTextLength","extend","target","i","arguments","prop","testObject","testString","getTime","isNaN","ISO_8601","test","stripHtmlTags","inputString","replace","len","list","appendColumn","appendRow","self","args","prototype","slice","label","undefined","matrix","row","cell","concat","value","newRow","col","selectColumn","extendDeep","key","average","arr","start","end","set","sum","avg","val","parseFloat","maximum","nums","max","apply","minimum","min","getColumnAverage","getRowAverage","getColumnSum","getRowSum","getColumnMaximum","getRowMaximum","getColumnMinimum","getRowMinimum","getColumnLabel","getRowIndex","del","filter","insert","sort","update","Dataset","config","meta","type","data","coords","Error","colIndex","indexOf","rowIndex","colResult","rowResult","selectRow","analyses","parser","HorizontalFunnel3d","dataset","colors","container","labelMapping","colorMapping","opts","funnel","percents","show","countingMethod","decimals","lines","resultValues","effect3d","hover","margin","top","right","bottom","left","funnelContainer","chartContainer","chart","svgWidth","style","svgHeight","elemWidth","xMarginElement","shadowCut","prevElemHeight","percent","toFixed","polygons","map","d","newPoints","Object","keys","result","parseInt","name","points","polygonsShadows","polygons3d","selectAll","enter","p","rgb","darker","handleMouseOver","polygonsHover","labelHover","thisLabel","handleMouseOut","on","destroy","render","remove","HorizontalFunnel","marginBetweenSteps","Funnel3d","elemHeight","yMarginElement","prevElemWidth","Funnel","artifacts","view","_artifacts","spinner","theme","el","innerHTML","interval","clearInterval","radius","e","defaults","currentPage","_generateTableRows","datavizInstance","defaultConfig","page","limit","arrows","customConfig","table","pagination","datasetPaginated","pages","ceil","columnsArray","columns","checkArray","mapValues","entries","rowCol","timezone","Date","dateTimeTimezoned","moment","tz","clone","toString","rowColEscaped","pageNumber","prevPage","nextPage","_generateTableHeader","fieldNumber","columnNames","colName","colNameEscaped","isEmpty","msg","mappedMsg","errorMapping","showErrorMessages","message","querySelector","querySelectorAll","forEach","item","addEventListener","event","sortOrder","getAttribute","checker","a","b","sortOrderNumber","nameA","toUpperCase","nameB","setAttribute","first","shift","unshift","attachBtnEventListeners","btn","onrendered","color","title","suffix","formattedNum","valueEl","flexDifferenceStyle","resultDifference","differenceStyle","smallerValue","results","previousResults","outer","document","createElement","inner","titleContainer","notesContainer","className","notes","appendChild","showTitle","defaultTitleFormat","defaultValueFormat","nameFormat","tooltip_format_name","titleFormat","tooltip_format_title","valueFormat","tooltip_format_value","CLASS","tooltip","ratio","id","bgcolor","levelColor","tooltipName","options","cols","c3","domNode","legendConfig","legend","hidden","labels","offset","round","offsetHeight","total","columnsSorted","dataColumnsSorted","columnData","find","column","legendElement","align","position","paginateHorizontalLeftElement","legendItemsElement","paginateVerticalElement","paginateHorizontalRightElement","paginateData","renderLegendComponent","renderPaginationComponent","onPaginated","labelShortened","textMaxLength","legendItem","chartPartId","legendItemColorSample","backgroundColor","prepend","tooltipElement","focus","pointer","revert","opacity","isHidden","splice","toggle","onLegendRendered","arrowUp","arrowDown","paginate","direction","diff","floor","clearSelectedText","selection","empty","window","getSelection","removeAllRanges","startDate","endDate","timeDiff","months","ms","date","getMonth","getFullYear","getDate","lib","timer","bindResizeListener","clearTimeout","delay","visuals","setTimeout","resize","internal","fn","horizontalDistance","pos","$$","xIndex","axis_rotated","findClosest","values","minDist","point_sensitivity","Infinity","closest","v","isBarType","shape","main","bars","getTargetSelectorSuffix","bar","isWithinBar","mouse","dist","defineC3","types","metric","c3Types","getPaddings","element","paddingName","getComputedStyle","getDefaultOptions","ENFORCED_OPTIONS","bindto","pattern","renderingElement","height","titleElement","notesElement","offsetWidth","DEFAULT_OPTIONS","size","clearOnRender","removeLegend","axis","rotated","tick","format","dateFormat","culling","stacked","groups","categories","bind","chartTypesWithPartialIntervalIndicator","partialIntervalIndicator","partialResultsRegion","class","regions","contents","c3TooltipContents","valueFormatted","c3CustomTooltipFiltering","c3options","c3CustomDataMapping","hide","generate","c3PaginatingLegend","flush","scope","onresize","attachEvent","parseResponse","response","indexBy","parserArgs","query","selectedParser","metadata","analysis_type","event_collection","filters","group_by","timeframe","steps","display_name","getDefaultTitle","visualization","chart_type","getDefaultType","updateColumn","updateRow","analysis","valueAtDeepKey","obj","is","flatten","ob","toReturn","flatObject","initialize","parsers","parseMetric","res","parseInterval","record","parseGroupedMetric","parseGroupedInterval","group","j","parseDoubleGroupedMetric","rowLabel","parseDoubleGroupedInterval","parseFunnel","parseList","parseExtraction","datasetExtraction","names","iNames","deleteColumn","extraction","q","sortColumns","sortRows","comp","head","analysesUtilMethods","op","insertColumn","body","insertRow","filterColumns","filterRows","selectedColumn","ri","deleteRow","Dataviz","defaultOptions","showDeprecationWarnings","showLoadingSpinner","containerElement","labelMappingRegExp","library","sortGroups","sortIntervals","order","padding","point","expand","enabled","r","transition","draggable","multiple","marginBetweenElements","convertChartTypes","_prepared","_rendered","prepare","firstVisibilityState","visibilityState","libraries","default","register","actions","method","nodeName","visual","attributes","console","log","chartOptions","domReady","num","setLabels","mapLabels","mapLabelsExec","valueAfterMatching","regExpAndLabel","regExpObj","labelMappingDimension","loader","firstResult","isArray","timeframes","resultItem","foundDifferent","JSON","stringify","timeframeItem","resultTimeframe","error","getLabel","firstResultPassed","ds2","returnValue","renderAsPromise","Promise","resolve","reject","customCallback","buildDomWrapper","renderOnVisible","IntersectionObserver","chartVisibleCallback","events","observer","isIntersecting","observe","visibilityChange","msHidden","webkitHidden","handleVisibilityChange","load","once","bool","chartType","parseRawData","parseRequest","version","pkg","chart100percentWide","areachart","barchart","columnchart","linechart","piechart","testDom","readyState","DOMContentLoaded","removeEventListener","env","global","extendKeenGlobalObject","KeenDataviz","KeenDataset","Keen","keenGlobals","webpackKeenGlobals"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,O;ACVA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAK;AACL;AACA;;AAEA;AACA;AACA,yDAAiD,cAAc;AAC/D;;AAEA;AACA;AACA;AACA,mCAA2B,0BAA0B,EAAE;AACvD,yCAAiC,eAAe;AAChD;AACA;AACA;;AAEA;AACA,8DAAsD,+DAA+D;;AAErH;AACA;;;AAGA;AACA;;;;;;;8CCnEA;;AAEA,CAAC;AACD;AACA,aACA;AACA,CAAC,qBAAqB;;AAEtB;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,gBAAgB;AACnC;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA,2BAA2B,SAAS;AACpC;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,uBAAuB,6BAA6B;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,SAAS;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,sBAAsB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C;AAC/C,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,IAAI;AAC/B;;AAEA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,4CAA4C,IAAI;;AAEhD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,gCAAgC;AAChC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,wBAAwB,iCAAiC;AACzD;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,4LAA4L,IAAI;;AAEhM,qEAAqE,IAAI;;AAEzE;;AAEA;;AAEA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,0CAA0C,YAAY;AACtD;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA,uBAAuB,YAAY;AACnC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,8BAA8B;AAC9B,gCAAgC;AAChC,6BAA6B,EAAE,EAAE;AACjC,6BAA6B,EAAE,EAAE;AACjC,kCAAkC,EAAE,EAAE;AACtC,iCAAiC;AACjC,qCAAqC;AACrC,yCAAyC;AACzC,6BAA6B,IAAI,EAAE;AACnC,6BAA6B,IAAI,EAAE;AACnC,kCAAkC,IAAI,EAAE;;AAExC,+BAA+B;AAC/B,oCAAoC;;AAEpC,8CAA8C;AAC9C,qDAAqD;;AAErD,wCAAwC,IAAI,IAAI;;AAEhD;AACA;AACA,2BAA2B,MAAM,wEAAwE,MAAM,mBAAmB,MAAM,qBAAqB,MAAM,EAAE,IAAI;;AAEzK;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA,8CAA8C;AAC9C;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,kBAAkB;AACrC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA,2BAA2B,wBAAwB;AACnD;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,uBAAuB,iBAAiB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,QAAQ;AAC/B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,mBAAmB,QAAQ;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,QAAQ;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,QAAQ;AAC3B;AACA;AACA;AACA,mBAAmB,QAAQ;AAC3B;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,uBAAuB,OAAO;AAC9B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,mBAAmB,OAAO;AAC1B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,OAAO;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,OAAO;AAC1B;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB;AACjB;;AAEA;AACA;AACA;AACA;;;AAGA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,mBAAmB,+BAA+B;AAClD;AACA;;AAEA;AACA,cAAc,OAAO;AACrB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,2CAA2C,EAAE,IAAI,EAAE;AACnD,wCAAwC,EAAE,IAAI,EAAE;;AAEhD;;AAEA;AACA,iCAAiC,EAAE;AACnC,2BAA2B,EAAE;AAC7B,6BAA6B,EAAE;AAC/B,2BAA2B,EAAE;AAC7B,yBAAyB,EAAE,IAAI,EAAE;AACjC,wBAAwB,EAAE;AAC1B,+BAA+B,GAAG;AAClC,yBAAyB,EAAE;AAC3B;AACA,2BAA2B,EAAE,IAAI,EAAE;AACnC,0BAA0B,EAAE,IAAI,EAAE;AAClC,wBAAwB,EAAE;AAC1B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,4CAA4C,OAAO;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD,OAAO;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA,8DAA8D,IAAI,0DAA0D,IAAI,qEAAqE,EAAE;;AAEvM;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,mBAAmB,mBAAmB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,mBAAmB,sBAAsB;AACzC;AACA,sCAAsC;AACtC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,kCAAkC,gBAAgB;AAClD;;AAEA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,oBAAoB;AACvC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,uBAAuB,qBAAqB;AAC5C;AACA;AACA,iCAAiC;AACjC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,6BAA6B;AACtC;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,oBAAoB;AACpB;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,cAAc;AACxC;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA,6DAA6D;AAC7D,yDAAyD;AACzD,+DAA+D;AAC/D,wDAAwD,OAAO;AAC/D,wDAAwD,OAAO;AAC/D,uDAAuD,OAAO;AAC9D,mEAAmE,OAAO;AAC1E,qEAAqE,OAAO;AAC5E;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,mCAAmC,qBAAqB;AACxD,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,mCAAmC,qBAAqB;AACxD,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,wBAAwB;AACxB;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;;;AAGL;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,wBAAwB,mBAAmB;AAC3C;AACA;;AAEA;AACA;AACA;;AAEA,qBAAqB,mBAAmB;AACxC;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,QAAQ;AAC3B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,OAAO;AAC1B;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;;AAEL;;;AAGA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,CAAC;;;;;;;;;;;;;;QCz5IeA,I,GAAAA,I;AAAT,SAASA,IAAT,CAAcC,CAAd,EAAiBC,EAAjB,EAAqBC,CAArB,EAAwB;AAC7B,MAAIC,CAAJ;AACA,MAAI,CAACH,CAAL,EAAQ;AACN,WAAO,CAAP;AACD;AACDE,MAAI,CAACA,CAAD,GAAKF,CAAL,GAASE,CAAb;AACA,MAAIF,aAAaI,KAAjB,EAAwB;AACtB;AACA,SAAKD,IAAI,CAAT,EAAYA,IAAIH,EAAEK,MAAlB,EAA0BF,GAA1B,EAA+B;AAC7B,UAAIF,GAAGK,IAAH,CAAQJ,CAAR,EAAWF,EAAEG,CAAF,CAAX,EAAiBA,CAAjB,EAAoBH,CAApB,MAA2B,KAA/B,EAAsC;AACpC,eAAO,CAAP;AACD;AACF;AACF,GAPD,MAOO;AACL;AACA,SAAKG,CAAL,IAAUH,CAAV,EAAa;AACX,UAAIA,EAAEO,cAAF,CAAiBJ,CAAjB,CAAJ,EAAyB;AACvB,YAAIF,GAAGK,IAAH,CAAQJ,CAAR,EAAWF,EAAEG,CAAF,CAAX,EAAiBA,CAAjB,EAAoBH,CAApB,MAA2B,KAA/B,EAAqC;AACnC,iBAAO,CAAP;AACD;AACF;AACF;AACF;AACD,SAAO,CAAP;AACD,C;;;;;;;;;;ACxBD;AACA;AACA;AACA;AACA;AACA;AACA,cAAqB;AACrB;AACA;AACA;AACA;AACA,kBAAyB;AACzB,eAAsB,6gBAA6gB,oBAAoB,sMAAsM,oBAAoB,sBAAsB,oBAAoB,MAAM,oBAAoB;AACr1B,uBAA8B;AAC9B,oBAA2B;;;ACd3B;AACA;AACA;;;ACFA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;AChCA;AACA;;AAEA;AACA;AACA;AACA;;;ACNA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;ACTa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,kBAAkB,SAAS;AAC3B,sCAAsC,SAAS;AAC/C;AACA;AACA;;AAEA;AACA;;;ACpBA;AACA;AACA;;;ACFA;AACA;AACA;;;ACFA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AChCA;;AAEA;AACA;AACA;AACA;;;ACLA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,qBAAqB;AACrB;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,qBAAqB;AACrB;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;ACpCA;;AAEA;AACA;;;ACHA;AACA;AACA;AACA;AACA;;;ACJA;AACA;AACA;;;ACFA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;ACZA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AClDA;AACA;AACA;;;ACFc;AACd;AACA;AACA;AACA;AACA;AACiB;AACjB;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,eAAe,OAAO;AACtB;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,4EAAwE;AACxE;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,eAAe,QAAQ;AACvB;AACA;AACA;AACA;;AAEA;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;AC1EA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACbY;AACZ;AACA;AACA;;AAEA;AACA;AACA;AACA;;;ACRA;;AAEA;AACA;AACA;;;ACJA;AACA;AACA;AACA;AACA;;AAEA;AACA,qBAAqB;AACrB;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,qBAAqB;AACrB;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;ACjCA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;ACxBA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AC3BA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;ACpBA;AACA;AACA;AACA;AACA;;AAEA;AACA,qBAAqB;AACrB;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,qBAAqB;AACrB;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;ACjCA;AACA;AACA;AACA;AACA;;;ACJA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;ACnBA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;ACbA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,2CAA2C;AAC3C;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;ACnBA;;AAEA;AACA;AACA,mFAAqE,SAAS;AAC9E,0DAA0D,SAAS;AACnE;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;ACdA;;AAEA;AACA;AACA;;;ACJmD;AACtB;AACD;AACH;AACK;AACD;AACH;AACG;AACgB;AACX;AACE;AACb;AACC;AACE;AACD;AACF;AACE;AACE;AACC;AACH;AACD;AACG;AACJ;AAC2B;AACrB;AACD;AACL;;;AC1BvB;;;ACAA;AACA;AACA;;;ACFc;AACd;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,sDAAsD;AACtD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,0CAA0C,kFAAkF,EAAE;;AAE9H;AACA;AACA,0CAA0C,gCAAgC,6DAA6D,EAAE;AACzI;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,wCAAwC,+BAA+B,EAAE;;AAEzE;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,0BAA0B,wBAAwB,EAAE;AACpD;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;;ACxKC;;;ACLD,YAAY;;AAEZ;AACA,8CAA8C,IAAI,OAAO;AACzD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA,iBAAiB;AACjB;AACA;AACA,GAAG;AACH;AACA,kFAAkF,OAAO;AACzF;AACA,+CAA+C,OAAO;AACtD,GAAG;AACH;AACA;AACA,mDAAmD,OAAO;AAC1D;AACA;;AAEA;AACA,qCAAqC,OAAO;AAC5C;AACA;AACA;AACA;AACA;;AAEA;AACA,kCAAkC,OAAO;AACzC;AACA;AACA;AACA;AACA;AACA,mCAAmC,4BAA4B;AAC/D;AACA;;AAEA;;;ACnF4B;;;ACA5B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACRA;;AAEA;AACA;AACA;AACA,8CAA8C,uCAAuC;AACrF;;;ACNA;AACc;;AAEd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;ACxBA;;AAEA;AACA;AACA;AACA;AACA;;;ACNkB;AAClB;;AAEA;AACA;;AAEA,qFAAqF,OAAO;AAC5F,+GAA+G,OAAO;AACtH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AChBA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;ACRkB;AAClB;;AAEA;AACA;;AAEA,yFAAyF,OAAO;AAChG,8DAA8D,OAAO;AACrE;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AChBA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;ACrBkB;AAClB;;AAEA;AACA;;AAEA,qFAAqF,OAAO;AAC5F,4FAA4F,OAAO;AACnG;AACA;AACA;AACA;AACA;;AAEA;AACA;;;ACfA;AACA;AACA;;;ACFA;AACkB;;AAElB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,gCAAgC,qDAAqD,EAAE;AACvF,uCAAuC,+CAA+C,EAAE;AACxF,qCAAqC,6CAA6C,EAAE;AACpF,wCAAwC,gDAAgD;AACxF;;;ACrBA;AACA;AACA;AACA;AACA;;;ACJkB;AACA;AAClB;;AAEA,oBAAoB;;AAEpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAQ,gBAAgB;AACxB;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA,QAAQ,iBAAiB;AACzB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,iBAAiB;AAC9B;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,gBAAgB;AAC7B;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA,aAAa,iBAAiB;AAC9B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,2BAA2B,eAAe,EAAE;AAC5C;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA,sGAAsG,OAAO;AAC7G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,4CAA4C,iBAAiB;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;ACrHA;AACkB;;AAElB;AACA;AACA;;;ACLkB;;AAElB;;AAEA,8JAA8J,OAAO;AACrK,wHAAwH,OAAO;AAC/H;AACA;AACA;AACA;AACA;;AAEA,QAAQ,QAAQ;AAChB;AACA;;AAEA;AACA;;;ACjBA;;AAEA,4DAA4D,SAAS;AACrE,4EAA4E,UAAU;AACtF;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;ACZkB;;AAElB;AACA;;AAEA;AACA;AACA;;AAEA,sFAAsF,OAAO;AAC7F,wGAAwG,OAAO;AAC/G;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;ACvBA;AACA;AACA;AACA;AACA;AACA;;;ACLA;AACA;AACA,wBAAwB,mBAAmB,EAAE;AAC7C;AACA;;;ACJA;;AAEA,2DAA2D,OAAO;AAClE,wDAAwD,OAAO;AAC/D;AACA;AACA;AACA;;AAEA;AACA;;;ACVA;AACA;AACA,wBAAwB,QAAQ,EAAE;AAClC;AACA;;;ACJA;AACA;AACA;;;ACFA;;AAEA,2DAA2D,OAAO;AAClE,8DAA8D,OAAO;AACrE;AACA;AACA;;AAEA;AACA;;;ACTA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;ACxDA;AACA;AACA;AACA,0BAA0B;AAC1B;;;ACJA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;AClCA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AC3BA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;AC1EA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACxBA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACxBA;AACA;AACA;;AAEA;AACA;AACA;;;ACNA;AACA;AACA;;AAEA;AACA;AACA;;;ACNA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;;ACPA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;ACbA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;ACPA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;;ACVA;AACA;AACA;AACA;AACA;;;ACJA;;AAEA;;AAEA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,0BAAuB;AACvB;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAY;AACZ,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA,6CAA6C,OAAO;AACpD;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,0CAA0C,OAAO;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,6CAA6C,OAAO;AACpD,4BAA4B,OAAO;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,OAAO;AACpB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;;AC1GA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;AC5EwB;;AAExB;AACA;AACA;AACA;AACA;;;ACNA;AACA;;AAEA;AACA;AACA;;;ACLA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;;AC1Bc;;AAEd;AACA;AACA;AACA;AACA;;;ACNA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;ACZA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;ACPwB;;AAExB;AACA;AACA;AACA;AACA;;;ACNA;AACA;;AAEA;AACA;;AAEA,0DAA0D,OAAO;AACjE;AACA;AACA;AACA;;AAEA;AACA;;;ACbA;AACA;;AAEA;AACA;;AAEA,0EAA0E,OAAO;AACjF;AACA;;AAEA;AACA;;;ACX0B;AACC;AACF;AACE;AACF;AACI;AACC;AACC;AACL;AACG;AACA;AACD;AACG;AACH;AACH;AACE;AACD;AACC;;;ACjBb;;AAEd;AACA;AACA;;AAEA;AACA;AACA;AACA;;;ACTe;AACf;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,2BAA2B,kCAAkC,EAAE;AAC/D;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;;AC3BA;AACA;AACA;AACA;AACA;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;AChBiB;AACgC;AACzB;AACO;AAC/B;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,sBAAsB,6BAAuB;AAC7C;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,yCAAyC,oBAAoB,EAAE,OAAO;AACtE,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,2DAA2D;AAC3D,kDAAkD;AAClD,0DAA0D;AAC1D;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;ACtKwB;AAC8B;;;ACDtD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;ACTuB;;AAEvB;;AAEA;AACA;;AAEA;AACA;AACA;AACA,0BAA0B,EAAE;AAC5B,0BAA0B,EAAE;AAC5B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;ACpVA;AACA;;;ACDuB;AACQ;AACN;;AAEzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,CAAC;;;ACxHsB;AAC0B;AACxB;;AAEzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;AC5DkC;AACI;AACV;;;ACF7B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AClBc;;AAEd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACZA;AACA;AACA;AACA;AACA;;;ACJA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;AC5BwB;AACxB;AACA;AACuB;;AAEvB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;ACtDA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,aAAa,QAAQ;AACrB,QAAQ,QAAQ;;AAEhB;AACA,eAAe,QAAQ;AACvB;AACA;AACA;;;AChBA;AACA;AACA;AACA;AACA;AACA;;;ACLA;AACA;AACA;AACA;AACA;;;ACJA;;AAEA;AACA,YAAY;AACZ,YAAY;AACZ;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;ACtBA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;;AAEA;AACA;AACA;AACA,+BAA+B;AAC/B;AACA,2BAA2B;AAC3B;AACA;AACA,wCAAwC;AACxC,2BAA2B;AAC3B;AACA,KAAK,OAAO;AACZ;AACA,cAAc,4BAAwB;AACtC;AACA;AACA;;AAEA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,OAAO;AACnC;AACA,SAAS;AACT;;;AC/Dc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACnBA;AACA;AACA;AACA;AACA;;;ACJA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACzB4B;;AAE5B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACxBA;AAC2B;;AAE3B;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc,gCAA4B,GAAG,gCAA4B;AACzE,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA,gCAAgC,gCAAgC;AAChE,cAAc,uEAAmE;AACjF,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA,cAAc,sEAAkE;AAChF,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc,gCAA4B,GAAG,gCAA4B;AACzE,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AC9DA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;;AC/DwB;AACL;;AAEnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;ACpBwB;AACxB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACfwB;AACL;;AAEnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;ACpBoC;AACjB;;AAEnB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,GAAG;AACH;;AAEA;AACA;;;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACPA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;;;ACJ+B;AACK;AACA;AACM;AACP;AACE;AACA;AACD;AACC;AACoB;AACtB;AAC6E;AAC/C;AAC/B;AAC+B;AACkB;AACtD;AACD;;;ACjB5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qIAAqI,mBAAmB;;AAExJ;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,QAAQ;AACR,gBAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,0BAAoB;AACpB;AACA,8BAA8B;AAC9B;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;;AC7Gc;;AAEd;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;;ACVmB;;AAEnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;;ACRC;;AAIA;;AAIA;;;ACZgB;AACM;;AAEvB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA,0DAA0D;AAC1D;AACA;;AAEA;AACA;AACA,2DAA2D;AAC3D;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,2CAA2C;AAC3C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,wDAAwD;AACxD;AACA,0DAA0D;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,wCAAwC;AACxC;;AAEA;AACA;AACA,uBAAuB,OAAO;AAC9B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA;;;AC1JgC;;AAEhC;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA,kDAAkD,eAAe,UAAU;AAC3E;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;ACvBA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;;ACNiB;;AAEjB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,wCAAwC,OAAO;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,oBAAoB,yBAAyB,2BAA2B,OAAO;AAC/E;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,wCAAwC,OAAO;AAC/C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,2CAA2C;AAC3C,GAAG;;AAEH;AACA;AACA;AACA;;;AChFc;AAC+C;;AAE7D;AACA;AACA;AACA;AACA;AACA;AACA;;;ACTwD;AACtC;AACC;AACnB;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACzEkB;;AAElB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AC/BkB;;AAElB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;ACtBiB;;AAEjB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;ACtBiB;;AAEjB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;;ACfgB;AACG;;AAEnB;AACA;;AAEA,qFAAqF,OAAO;AAC5F,4FAA4F,OAAO;AACnG;AACA;AACA;AACA;AACA;;AAEA;AACA;;;ACfmB;;AAEnB;AACA;;AAEA,+JAA+J,OAAO;AACtK,wHAAwH,OAAO;AAC/H;AACA;AACA;AACA;AACA;;AAEA,QAAQ,QAAQ;AAChB;AACA;;AAEA;AACA;;;AClBuB;;AAEvB;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;ACViB;AACE;AACG;;AAEtB;AACA;AACA;;AAEA;;AAEA,qFAAqF,OAAO;AAC5F,+GAA+G,OAAO;AACtH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;ACrBoB;AACD;AACG;;AAEtB;AACA;AACA;;AAEA;;AAEA,yFAAyF,OAAO;AAChG,8DAA8D,OAAO;AACrE;AACA,4IAAmI,OAAO;AAC1I;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;ACzBkB;;AAElB;;AAEA;AACA;AACA;;;ACNwD;AAC1C;AACK;AACnB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACzDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACjBmB;;AAEnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;ACnB0B;AACJ;;AAEtB;AACA;AACA;AACA;;AAEA,2DAA2D,OAAO;AAClE,8DAA8D,OAAO;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;;;ACvBkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AC/DA;AACA;AACA;;;ACFA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;;ACVA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;;ACVA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,CAAC;;;ACpCD;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;;ACbA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;;ACVA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;;ACrBA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,CAAC;;;ACpCD;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,qCAAqC,2BAA2B;AAChE,kCAAkC,qBAAqB;;AAEvD;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;;AAEA,sCAAsC,2BAA2B;AACjE,mCAAmC,qBAAqB;;AAExD;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,wCAAwC,2BAA2B;AACnE,qCAAqC,qBAAqB;;AAE1D;AACA,CAAC;;;ACzCA;;AAOA;;AAOA;;AAOA;;AAOA;;AAOA;;AAOA;;AAOA;;AAOA;;AAOA;;;ACjEyB;AAC1B;AACuB;AACX;;AAEZ;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA,2DAA2D,OAAO;AAClE,8DAA8D,OAAO;AACrE;AACA;AACA;AACA;AACA;;AAEA;AACA;;;ACzCkB;AAClB;AACA;;AAEA;AACA;;;ACLmB;AACD;;AAElB;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;ACpBA;AAC8B;AACJ;AACG;;;ACH7B;AACA;AACA;AACA;AACA;;;ACJA;AACA;AACA;AACA;AACA;;;ACJc;;AAEd;AACA;AACA;;AAEA;AACA;AACA;AACA;;;ACTiB;AACe;AACZ;AACsB;AACxB;AAClB;AACA;AAC+B;;AAE/B,iBAAiB,aAAa;AAC9B,kBAAkB,cAAc;AAChC,mBAAmB,eAAe;AAClC,mBAAmB;;AAEnB;AACA;AACA;AACA,yBAAyB,gDAAgD,EAAE;AAC3E,wBAAwB,mCAAmC;AAC3D;;AAEA;AACA;AACA;AACA,yBAAyB,gDAAgD,EAAE;AAC3E,wBAAwB,mCAAmC;AAC3D;;AAEA;AACA;AACA;AACA,uBAAuB,WAAW,EAAE;AACpC,wBAAwB,WAAW;AACnC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,UAAU;AACV;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,sCAAsC,eAAe,EAAE;;AAEvD;;AAEA;AACA,oCAAoC,mCAAmC,EAAE;AACzE,qCAAqC,wBAAwB,EAAE;;AAE/D;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,yCAAyC,gDAAgD,EAAE;AAC3F,uDAAuD,gCAAgC,EAAE;AACzF;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,WAAW;AACX,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,kCAAkC,gHAAgH,EAAE;AACpJ,kCAAkC,gGAAgG,EAAE;AACpI,sCAAsC,uGAAuG,EAAE;AAC/I,uCAAuC,uGAAuG,EAAE;AAChJ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA,2BAAwB,oFAA0E;AAClG;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,uDAAuD;AACvD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,6CAA6C,oBAAoB,EAAE,OAAO;AAC1E;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,uDAAuD;AACvD;AACA;AACA;;AAEA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,UAAU;AAC5B;AACA,wCAAwC;AACxC,wCAAwC;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA,mCAAmC;AACnC,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,qCAAqC;AACrC,qCAAqC;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,iCAAiC;AACjC;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;;ACrhBC;;;ACLD;AACA;AACA;AACA;AACA;AACA;;;ACLc;AACG;;AAEjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,kBAAkB;AAClB,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,kBAAkB;AAClB,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,WAAW;AACX,gBAAgB;AAChB;AACA;AACA;AACA;AACA,iBAAiB;AACjB,iBAAiB,+BAA+B;AAChD;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;ACxHA;;;ACAA;AACA;AACA;AACA;AACA;;;ACJA;AACA;AACA;AACA;;AAEA;AACA;AACA,6BAA6B;AAC7B;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;;;ACjIwB;;;ACAV;AACd;AACyB;AACZ;;AAEb;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;ACtFyB;AACC;;;ACD1B;;AAEA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,6EAAyE,8CAA8C;AACvH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,+DAA+D,qBAAqB,EAAE;;AAEtF;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;;AC1EA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA,8CAA8C,aAAa,kCAAkC,EAAE,EAAE;AACjG,wDAAwD,8BAA8B,EAAE;AACxF;;AAEA;AACA,6BAA6B,iDAAiD,EAAE;AAChF,0BAA0B,2CAA2C,EAAE;AACvE,8BAA8B,uDAAuD,EAAE;AACvF,sBAAsB,cAAc,aAAa,EAAE;AACnD,+BAA+B,mCAAmC,aAAa,EAAE;AACjF,iCAAiC,oBAAoB,aAAa,EAAE;AACpE,yBAAyB,YAAY,aAAa;AAClD;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;;ACxE+B;;AAE/B;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,0DAA0D,gBAAgB,EAAE;;AAE5E;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;;ACtCA;AACA;AACA;AACA;AACA;;;ACJA;AACA;AACA;AACA;AACA;;;ACJA;AACA;AACA,qCAAqC,0BAA0B;AAC/D;AACA;;;ACJwB;AACD;AACA;AACC;AACE;AACC;;;ACL3B;;AAEA;;;ACFA;AACA;AACA;;;ACFA;AACA;AACA;AACA;AACA;;;ACJA;AACA;AACA;AACA;AACA;;;ACJA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,6CAA6C,OAAO;AACpD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,QAAQ;AACR;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;;AC1BA;;;ACAkD;AACpC;AACd;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,mDAAmD,OAAO;AAC1D;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,+DAA+D;AAC/D;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,+DAA+D;AAC/D;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,OAAO;AACP,iEAAiE;AACjE;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;AC1MA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB,2BAA2B,WAAW;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB,2BAA2B,WAAW;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AC1C6B;AACf;AACO;AACrB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,WAAW,mCAAmC,GAAG,mCAAmC;AACpF,WAAW,mCAAmC,GAAG,mCAAmC;AACpF,WAAW,mCAAmC,GAAG,mCAAmC;AACpF,WAAW,mCAAmC,GAAG,mCAAmC;AACpF,WAAW,mCAAmC,GAAG,mCAAmC;AACpF,WAAW,mCAAmC,GAAG,mCAAmC;;AAEpF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,0CAA0C;AAC1C;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AC1H4B;AACM;;;ACDlC,YAAY;AACZ,YAAY;AACZ;AACA;AACA;;AAEA;AACA,oCAAoC;AACpC;AACA,GAAG,gBAAgB;AACnB;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;;AAEpB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,YAAY,yCAAyC;AACrF;AACA;;AAEA;AACA;AACA;AACA,gCAAgC,YAAY,yCAAyC;AACrF;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;AC9HA;;AAEA;;AAEA;AACA;AACA;AACA;;;ACPA;;AAEA;;AAEA;AACA;AACA;AACA;;;ACP6B;AAC4B;AACA;;;ACFzD;AACA;AACA;AACA;;AAEA;AACA;AACA;;;ACPA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;ACPA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;ACPsC;AACtC;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;;;ACrBA;AACA;AACA;AACA;AACA;AACA,+BAA+B,gBAAgB;AAC/C;AACA,GAAG;AACH;;;ACRA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;ACPA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;;AAEA;;AAEA;;;ACdwB;AACE;AACO;AACR;AACD;AACA;AACU;;;ACNlC;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,eAAe,OAAO;AACtB;AACA;;AAEA,iDAAiD,OAAO;AACxD;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;ACnCA;AACA;AACA;AACA;AACA;;;ACJA;AACA;AACA;;;ACFA;AACA;AACA;AACA;AACA;;AAEA;AACA,wCAAwC;;AAExC;AACA;AACA,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,mDAAmD;AACnD,oDAAoD;AACpD;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,mDAAmD;AACnD,oDAAoD;AACpD,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,aAAa,OAAO;AACpB;AACA;;AAEA;AACA;;;ACpFA;AACA,kDAAkD;;AAElD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;ACzDA;AACA;AACA;AACA,8CAA8C;AAC9C,GAAG;AACH;AACA;;;ACNA;AACA;AACA;AACA;AACA;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACNA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;ACrEA;AACA,0FAA0F;;AAE1F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,mDAAmD;AACnD,oDAAoD;AACpD;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,kCAAkC,OAAO;AACzC;AACA;;;AC7DA;AACA;AACA;;;ACFA;AACA;AACA;AACA,gCAAgC;AAChC,GAAG;AACH;AACA;;;ACNA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACfA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACpBA;AACA;AACA;;AAEA;AACA;AACA;;;ACNA;AACA;AACA;;AAEA;AACA;AACA;;;ACNwC;AACxC;AACA;AACA;AACA;AACiD;AACjD;AACA;AACA;AACA;AACyB;AACA;;AAEzB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,cAAc,gBAAgB;AAC9B,+CAA+C;AAC/C;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA,YAAY,gDAAgD;AAC5D;AACA,mBAAmB,OAAO;AAC1B;AACA,sCAAsC,qDAAqD;AAC3F;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACxE4B;;;ACA5B;AACA;AACiB;;AAEjB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,mBAAmB,gBAAgB;AACnC;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,4BAA4B,OAAO;AACnC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;ACjGA;AACA;AACY;;AAEZ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,qCAAqC,gBAAgB;AACrD,uDAAuD,OAAO;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,qCAAqC,OAAO;AAC5C;AACA;AACA;AACA;AACA;AACA;;AAEA,oCAAoC,OAAO;AAC3C;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,qCAAqC,OAAO;AAC5C;AACA;AACA;;AAEA;AACA;;AAEA,qCAAqC,OAAO;AAC5C;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;ACnHiB;AACL;AACE;;AAEd;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;;AAEL,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,2CAA2C,OAAO;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;;AC9IA;AACA;AACiB;AACJ;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,0BAA0B,OAAO;AACjC;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB;;AAEA;AACA;;AAEA;AACA;AACA,yBAAyB,OAAO;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,yCAAyC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,yCAAyC;AACzC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;ACjHA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,qCAAqC,OAAO;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;ACxDA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,2CAA2C,OAAO;AAClD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;ACxCA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,2CAA2C,OAAO;AAClD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;ACxC+B;AACC;AACH;AACI;AACF;AACI;AACT;AACA;;;ACP1B;AACA;AACA;AACA;AACA,+FAA+F;AAC/F;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACbA;;AAEA;AACA;AACA;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;ACjBA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;;ACNA;AACA;;AAEA;AACA;AACA;;AAEA,sDAAsD;;AAEtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACnCA;AACA;AACA,iDAAiD,OAAO;AACxD;AACA,4BAA4B;AAC5B,qCAAqC,QAAQ;AAC7C,4BAA4B,uBAAuB,QAAQ,EAAE;AAC7D;AACA;AACA;AACA;;;ACVA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wFAAwF;AACxF;;;ACfA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACVA;AACA;;AAEA;AACA,uBAAuB,6BAA6B,EAAE;AACtD,oBAAoB,kCAAkC,EAAE;AACxD,oBAAoB,eAAe,EAAE;AACrC,oBAAoB,mCAAmC,EAAE;AACzD,uBAAuB,2BAA2B,EAAE;AACpD,uBAAuB,qBAAqB,EAAE;AAC9C,uBAAuB,yBAAyB,EAAE;AAClD,oBAAoB,kCAAkC,EAAE;AACxD,uBAAuB,kCAAkC,EAAE;AAC3D;AACA;AACA,oBAAoB,iDAAiD,EAAE;AACvE,oBAAoB,mCAAmC;AACvD;;;ACjBA;AACA;AACA;;;ACFA;AACA;AACA;AACA;AACA;AACA;AACuB;AACvB;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,sEAAsE;AACtE,sEAAsE;AACtE,qIAAqI;AACrI,qEAAqE;AACrE;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;AC7IA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;;;AClBA;;AAEA;AACA;AACA;;;ACJA;;AAEA;AACA;AACA;;;ACJA;;AAEA;AACA;AACA;AACA;;;ACL6D;AAC7B;AACG;AACD;AACC;AACD;;;ACLlC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe;AACf,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;ACvCA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA4C,mCAAmC;AAC/E;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;;AClCA;;;ACAA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;;ACpEA;AACiD;AACjD;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,4BAA4B;;AAE5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;ACzEoC;;AAEpC;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;AChCA;AACgC;AACwC;AACjC;AACvC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,4CAA4C,OAAO;AACnD;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA,2EAA2E,QAAQ;AACnF;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;;AC/KyE;AACzE;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iCAAe;;AAEf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AC3IA;AACA;AACA;AACA;AACA;;;ACJA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;ACXA;AACyD;;AAEzD;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;;AC3EwD;AACxD;AACuD;AACjC;;AAEtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,yBAAyB,iCAAiC;AAC1D;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;;AAEhB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;ACvEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACvBqB;;AAErB;AACA;AACA;;;ACJA;;AAEA;AACA;AACA;AACA,iBAAiB;AACjB,iBAAiB;AACjB,iBAAiB;AACjB,yBAAyB;AACzB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;AACA;;AAEA,8BAA8B,OAAO;AACrC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,OAAO;AAC/C,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,qCAAqC,QAAQ;AAC7C,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACpGA;AAC6D;AACM;;AAEnE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA,qCAAqC,OAAO;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,mBAAmB,OAAO;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;ACvEA;AACA;AACwB;AACxB;AACc;;AAEd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,OAAO;AAC5B;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;AClIA;AACiD;;AAEjD;AACA,cAAc,aAAa,EAAE;AAC7B;AACA;AACA;AACA;;AAEA;AACA,uCAAuC,sBAAsB;AAC7D;AACA;AACA;AACA;AACA;AACA,YAAY;;AAEZ;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,oDAAsC;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,oDAA2C;AAClD,iFAAuE;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA,uBAAuB;AACvB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;;AC3FgG;AAC3E;AACwB;AAC7C;AACA;;AAEA;AACA;AACA;AACA;AACA,6CAAwC;;AAExC;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,kEAAkE;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B,mCAAmC;AACnC,4BAA4B;AAC5B,gCAAgC;AAChC;AACA;;AAEA;AACA;;;ACrLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;;;AC1DqB;AACrB;AACA;AACA;AACc;;AAEd;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,gCAAgC;AAChC;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,yCAAyC,OAAO;AAChD,kHAAkH,OAAO;AACzH;AACA,yBAAyB,yEAAyE;AAClG,gBAAgB,0EAA0E;AAC1F;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;ACvKA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;;ACnBA;AAC4C;AAC5C;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;ACpDA;;AAEA;AACA,uBAAc;;AAEd;AACA;AACA;AACA;AACA;;;ACTmC;AACP;AACH;;AAEzB;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;ACnFc;AACa;;AAE3B;AACA;AACA,sBAAsB,2BAA2B,eAAe,EAAE,EAAE;AACpE;;AAEA;AACA;AACA,sBAAsB,2BAA2B,eAAe,EAAE,EAAE;AACpE;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,YAAY;AACZ;;AAEA;AACA;AACA;AACA,0EAAsE,mCAA8B,EAAE;AACtG,0EAAsE,mCAA8B,EAAE;AACtG;;AAEA;AACA,8CAA8C,SAAS,8CAA8C,EAAE;AACvG;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;ACxGgE;;AAEhE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;AAEA;AACA;;;ACnCA;AACA;AACA;;;ACFA;AACY;AACZ;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;ACjDA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;AC3Ba;;AAEb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;ACnGY;AACZ;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;;AC5CA;AACa;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;;AC5CA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;AC1DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AC5DA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,yBAAyB,yBAAyB,EAAE;AACpD,sBAAsB,sBAAsB,EAAE;AAC9C,yBAAyB,yBAAyB,EAAE;AACpD,uBAAuB,uBAAuB,EAAE;AAChD,4BAA4B,4BAA4B,EAAE;AAC1D,0BAA0B,0BAA0B;AACpD;;;ACzB6B;AAC7B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;AC9CkB;AACoC;AAClC;;AAEpB;AACA,4CAAuC;;AAEvC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC;;AAEpC;AACA;AACA;AACA;AACA,gCAAgC,uBAAuB,sCAAsC,EAAE;AAC/F,8BAA8B,qBAAqB,sCAAsC;AACzF;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;ACrGA;AACA;AACA;AACA;AACA;AACyC;AACnB;AACF;AAC4B;AAChD;;AAEA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,uCAAuC,gBAAgB,EAAE;AACzD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;ACnK6B;AACH;;AAE1B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;ACduB;;AAEvB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;ACdwD;AAChC;AACQ;;AAEhC;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;AC7BA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACTgB;AAChB;AACA;AACgD;;AAEhD;AACA;AACA;AACA;AACA;AACA,2BAA2B,YAAY,wCAAwC,EAAE;AACjF,wBAAwB,YAAY,qCAAqC,EAAE;AAC3E,2BAA2B,YAAY,wCAAwC,EAAE;AACjF,yBAAyB,YAAY,sCAAsC,EAAE;AAC7E,8BAA8B,YAAY,2CAA2C,EAAE;AACvF,4BAA4B,YAAY,yCAAyC;AACjF;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,uBAAuB,gBAAgB;;AAEnE;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;;AC9GoC;;AAEpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACzBmB;AACmB;AACtC;;AAEA;AACA;AACA,CAAC;;AAED;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;;;AChBkB;AACoB;AACtC;;AAEA;AACA;AACA,CAAC;;AAED;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;;;AChB6C;AAC7C;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B;;AAE5B;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;ACnD+E;AACvD;AACJ;;AAEpB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,gBAAgB,8EAAkD;AAClE,UAAU,4EAAgD;AAC1D;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;AClCA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;;ACXkD;AAC1B;AACG;;AAE3B;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;AC5BuB;AACC;AACxB;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;;ACfA;AACA;AACoB;AAC4B;;AAEhD;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;;AC7DA;AACqB;;AAErB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;AC3BgC;AACR;AACxB;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;;ACduB;AACC;AACxB;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;;;ACjBoC;AACT;;AAE3B;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;;AC1B2B;AACE;AACE;AACF;AACU;AACN;AAC0B;AACvB;AACL;AACA;AACgC;AAC7B;AACL;AACF;AACE;AACG;AAC4D;AACM;AAClB;AACA;AACM;AACH;AACrB;AAC/B;AAC6C;AACd;AACe;AACH;AACG;AACe;AAC7D;AACF;AACG;;;AChChC;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;ACnFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD,OAAO;AAC3D;AACA;AACA;AACA,GAAG;AACH;AACA;;;ACZA;AACA;AACA;AACA;AACA,+CAA+C,QAAQ;AACvD;AACA;AACA;AACA;AACA;;;ACTA;AACA;AACA;AACA;AACA,kDAAkD,OAAO;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;ACRA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACNA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;;ACRA;AACA;AACA;AACA,wBAAwB;AACxB,kBAAkB,kCAAkC;AACpD;AACA,GAAG;AACH;AACA;;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,qBAAqB,QAAQ;AAC7B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AC9EA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;ACfuB;;AAEvB;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA,aAAa,cAAc;AAC3B;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,kBAAkB;AAC/B,mBAAmB,cAAc;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB,cAAc;AAC/B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACrHA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,mBAAmB,OAAO;AAC1B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,mBAAmB,wCAAwC;;AAE3D;AACA,aAAa,OAAO;;AAEpB;AACA;;AAEA;AACA;AACA;AACA;;;ACrHA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;ACPA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;ACRoB;AACH;AACc;;AAE/B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,wBAAwB,OAAO;AAC/B;AACA,wBAAwB,OAAO;AAC/B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AC9EA;AACA;AACA;AACA;AACA;AACA;;;ACLA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;ACXA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;ACnDiB;AACW;;AAE5B;AACA,eAAe,UAAU;AACzB;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,oCAAoC,oCAAoC,KAAK,EAAE;AAC/E;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;ACxEa;;AAEb;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,gBAAgB;AAChB,gBAAgB;AAChB,aAAa;AACb,aAAa;AACb,aAAa;AACb,aAAa;AACb,gBAAgB;AAChB,aAAa;AACb;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,qBAAqB,QAAQ;AAC7B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;AC5OA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;ACXA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;;AAEA;AACA,UAAU,QAAQ;AAClB;AACA;AACA;AACA;AACA;AACA,gCAAgC,uBAAuB,OAAO;AAC9D;AACA;;AAEA;AACA,qBAAqB,8DAA8D;AACnF;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,CAAC;;;ACjED;AACA;AACiB;AACc;;AAE/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;AC7FA;AACA;AACA;AACA;;AAEA,6BAA6B,OAAO;AACpC;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;;AC7CA;AACA;;AAEA;AACA;AACA;;;ACLA;AACA;AAC2B;;AAE3B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,iDAAiD,OAAO;AACxD;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,CAAC;;;ACnC0B;AACE;AACL;AACQ;AACD;AACF;AACD;AACJ;AACG;AACM;AACF;AACC;AACI;AACD;AACE;;;ACdrC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACNA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,OAAO;AACxB;AACA;AACA;;AAEA,gCAAgC;AAChC;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,aAAa,OAAO;AACpB;AACA,aAAa,OAAO;;AAEpB;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,mCAAmC,QAAQ;AAC3C,qBAAqB,qCAAqC;;AAE1D;AACA;;;AChDA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;;AAEA;AACA;;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;ACtB+B;AACI;AACJ;AACI;AACF;;;ACJjC;AACA;AACA;;;ACFA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,CAAC;;;AChBD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;;AAEA;;AAEA;AACA,CAAC;;;AC3BD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,CAAC;;;ACdD;;AAEA;AACA;AACA;AACA,8BAA8B,OAAO;AACrC;AACA;AACA;;AAEA;;AAEA;AACA,CAAC;;;ACbD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,CAAC;;;ACdD;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,CAAC;;;ACZgC;AACD;AACG;AACJ;AACI;AACE;;;ACLrC;;AAEA;AACA;;;ACHY;AACE;;AAEd,gBAAuB;;AAEvB;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AC7C0B;AAC1B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA8C,yBAAyB,EAAE;AACzE;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;ACpGA;AACA;AACA;AACA;AACA;;;ACJA;AACA;AACA;;;ACFe;AAC2C;AACvC;AACnB;AACA;;AAEA;;AAEA;AACA;AACA,qBAAqB,oBAAoB;AACzC;AACA;;AAEA;AACA;AACA;AACA,wBAAwB,uCAAuC;AAC/D;AACA;;AAEA;AACA;AACA;AACA,wBAAwB,uCAAuC;AAC/D;AACA;;AAEA;AACA;AACA;AACA;AACA,sBAAsB,kBAAkB;AACxC;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;AChHiB;AAC8E;;AAE/F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AC9B6B;AACc;AAC+B;AAC1E;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;ACpEY;AACM;AAClB;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;ACtBA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;ACjBc;AACC;AACf;AACA;AACoC;;AAEpC;AACA;AACA,qBAAqB,4BAA4B;AACjD;AACA;;AAEA;AACA;AACA,qBAAqB,+CAA+C;AACpE,qBAAqB,4CAA4C;AACjE;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,qBAAqB,0BAA0B;AAC/C;;AAEA;AACA;AACA;AACA;AACA,8CAA8C,2BAA2B,EAAE;AAC3E;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,uBAAuB,OAAO;AAC9B,gCAAgC,UAAU;AAC1C;AACA;AACA;AACA;AACA;AACA,OAAO,YAAY,OAAO;AAC1B,uCAAuC,QAAQ;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,0BAA0B,kCAAkC,EAAE;AAC9D,yBAAyB,iCAAiC;AAC1D,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;;;AC/HA;AACkB;AACkB;;AAEpC;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,uBAAuB,yCAAqC;AAC5D;AACA;;AAEA;AACA;AACA,wBAAwB,2CAAuC;AAC/D;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;ACrCiD;AACnC;;AAEd;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,oCAAoC,OAAO;AAC3C;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AClDe;AACD;AACI;;AAElB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AC7Ce;AACD;;AAEd;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AChCA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,qDAAqD;AACrD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,mDAAmD;AACnD,SAAS;AACT,mDAAmD;AACnD;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,6BAA6B,8BAA8B;AAC3D,6BAA6B,0CAA0C,EAAE;AACzE;AACA;;AAEA;AACA;;;ACnEA;;AAEA;AACA;AACA,CAAC;AACD;AACA,CAAC;AACD;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;;AAEA;AACA;;;ACzBA;AACA;AACA;AACA;AACA;;;ACJA;AACuB;;AAEvB;AACA;AACA,CAAC;AACD;AACA,CAAC;AACD;AACA,CAAC;AACD;AACA,CAAC;;AAED;AACA;;;ACdA;AACuB;;AAEvB;AACA;AACA,CAAC;AACD;AACA,CAAC;AACD;AACA,CAAC;AACD;AACA,CAAC;;AAED;AACA;;;ACdA;AACqC;;AAErC;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,CAAC;AACD;AACA,CAAC;AACD;AACA,CAAC;;AAED;AACA;;;AChBA;AACoC;;AAEpC;AACA;AACA,CAAC;AACD;AACA,CAAC;AACD;AACA,CAAC;AACD;AACA,CAAC;;AAED;AACA;;;ACdA;AACqC;;AAErC;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;AC5BA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA,CAAC;AACD;AACA,CAAC;AACD;AACA,CAAC;;AAED;AACA;;;ACdA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA,CAAC;AACD;AACA,CAAC;AACD;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;;AAEA;AACA;;;ACzBA;AACuB;;AAEvB;AACA;AACA,CAAC;AACD;AACA,CAAC;AACD;AACA,CAAC;AACD;AACA,CAAC;;AAED;AACA;;;ACdA;AACqB;;AAErB;AACA;AACA,CAAC;AACD;AACA,CAAC;AACD;AACA,CAAC;AACD;AACA,CAAC;;AAED;AACA;;;ACdA;AACoB;;AAEpB;AACA;AACA,CAAC;AACD;AACA,CAAC;AACD;AACA,CAAC;AACD;AACA,CAAC;;AAED;AACA;;;ACdA;AACqB;;AAErB;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;AC5BA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA,CAAC;AACD;AACA,CAAC;AACD;AACA,CAAC;;AAED;AACA;;;ACdA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA,CAAC;AACD;AACA,CAAC;AACD;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;;AAEA;AACA;;;ACvBC;;AAOA;;AAOA;;AAKA;;AAKA;;AAKA;;AAmBA;;AAKA;;AAKA;;AAKA;;AAKA;;AAKA;;AAmBA;;AAKA;;AAKA;;;AC7FA;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,UAAU;AACV;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,+BAA+B,kBAAkB;AACjD;AACA,KAAK;AACL;AACA;AACA,+BAA+B,kBAAkB;AACjD;AACA,KAAK;AACL;AACA;AACA,+BAA+B,kBAAkB;AACjD;AACA,KAAK;AACL;AACA;AACA,+BAA+B,kBAAkB;AACjD;AACA;AACA;AACA;;AAEA,YAAY,4BAA4B;AACxC;AACA;AACA,kCAAkC;;AAElC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;;AC/nBA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AC1BkB;;AAElB;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;ACZqB;AACJ;;AAEjB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;ACZuF;AACnD;AACP;AACD;;;ACHD;AACgB;AACuD;AAC/E;AACP;AAC8D;AAC1E;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,oCAAoC,aAAa,EAAE;AACnD;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;ACtIiB;AACC;AACwE;;AAE1F;AACA;AACA;;;ACNkB;;AAElB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;AC1BC;;AAIA;;AAIA;;AAIA;;AAKA;;AAKA;;AAIA;;AAIA;;AAIA;;AAIA;;AAIA;;AAIA;;;ACjDD;AACA;AACA;AACA;AACA;;;ACJA;;AAEA;;;ACFA;;AAEA;;;ACFA;;AAEA;;;ACFA;;AAEA;;;ACFA;;AAEA;;;ACFA;;AAEA;;;ACFA;;AAEA;;;ACFA;;AAEA;;;ACFA;;AAEA;;;ACF4B;;AAE5B;AACA;AACA;;;ACJA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;ACfA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;ACfA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;ACfA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;ACfA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;ACfA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;ACfA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;ACfA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;ACfA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;ACfA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;ACbA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;ACbA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;ACbA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;ACbA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;ACbA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;ACbA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;ACbA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;ACbA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;ACbA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;ACbA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;ACbA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;ACbA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;ACbA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;ACbA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;ACbA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;ACbA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;ACbA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;ACbkB;AACe;;AAEjC;;;ACHkB;AACe;;AAEjC;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AChBY;;AAEZ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACbA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;;ACfoC;AACJ;AACD;AACC;AACC;AACA;AACH;AACA;AACA;AAC2B;AACA;AACA;AACA;AACA;AACA;AACI;AACA;AACI;AACR;AACA;AACA;AACA;AACI;AACJ;AACA;AACA;AACI;AACJ;AACI;AACA;AACF;AACE;AACF;AACI;AACN;AACM;AAChB;AACyC;AAClD;AACuF;;;ACvC7H;AACA;AACA;AACA;AACA;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;;ACnBa;AACb;AACmF;;AAEnF;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,yBAAyB;AACzB;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;AClQA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,8BAA8B,sEAAsE;AACpG,8BAA8B;AAC9B,0CAA0C;AAC1C;AACA;AACA;;AAEA;AACA;AACA;;;AC9BA;AACA;AACA;;AAEA;AACA;AACA;;;ACNa;AACb;AACA;AACiC;;AAEjC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,eAAe,QAAQ;AACvB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;ACtDa;AACb;AACA;AACA;AACiC;;AAEjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,eAAe,QAAQ;AACvB;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,yBAAyB,QAAQ;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;AC5GA;AACA;AACA;;;ACFA;AACA;AACA;;;ACFA;AACA;AACA;AACY;;AAEZ;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,eAAe,OAAO;AACtB;AACA;AACA;AACA;;AAEA;AACA,uDAAuD,qCAAqC,EAAE;AAC9F,sDAAsD,+BAA+B,EAAE;;AAEvF;AACA,kDAAkD,OAAO;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;AC9EA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;;ACnCuC;AACvC;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AClBuC;AACvC;AACmB;;AAEnB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,yBAAyB,EAAE;AAC5D,+BAA+B,yBAAyB,EAAE;AAC1D,kCAAkC,yBAAyB,EAAE;AAC7D,kCAAkC,yBAAyB,EAAE;;AAE7D;AACA;AACA;;AAEA;AACA;;;AC5BA;AACA;AACA;;;ACFA;;;ACAa;AACC;AACd;AACiC;AACjC;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;ACnFgB;;AAEhB;AACA;AACA;AACA;AACA;AACA;AACA;;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACjBA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACbgB;;AAEhB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,OAAO;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACNA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACVA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACzBa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;AC7CA;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,oDAA8C;AAC9C,uDAAuD;AACvD;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,8BAA8B,sEAAsE;AACpG,8BAA8B;AAC9B,8BAA8B,oFAAoF;AAClH,uCAAiC;AACjC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;AClDA;AACc;;AAEd;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,8BAA8B,4BAA4B;AAC1D,8BAA8B,4BAA4B;AAC1D,8BAA8B,4BAA4B,4FAA4F;AACtJ,uCAAiC;AACjC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;ACnDc;;AAEd;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,8BAA8B;AAC9B,8BAA8B;AAC9B,8BAA8B,oFAAoF,0EAA0E;AAC5L,8BAA8B;AAC9B,uCAAiC;AACjC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;ACtCc;;AAEd;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,CAAC;;;ACvDD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,uDAAuD;AACvD,uDAA8C;AAC9C;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,8BAA8B,sEAAsE;AACpG,8BAA8B,4BAA4B;AAC1D,8BAA8B;AAC9B,0CAAiC;AACjC;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,CAAC;;;AC5DD;AACc;;AAEd;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,8BAA8B,4BAA4B;AAC1D,8BAA8B,kDAAkD;AAChF,8BAA8B,4BAA4B;AAC1D,0CAAiC;AACjC;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,CAAC;;;AC5Da;;AAEd;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,8BAA8B;AAC9B,8BAA8B;AAC9B,8BAA8B,kGAAkG;AAChI,8BAA8B;AAC9B,0CAAiC;AACjC;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,CAAC;;;AChDe;AACC;;AAEjB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,uDAAuD;AACvD,6CAA6C;AAC7C;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,8BAA8B,sEAAsE;AACpG,8BAA8B;AAC9B,8BAA8B;AAC9B,4CAAiC;AACjC;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,CAAC;;;ACvFsB;AACvB;AACc;;AAEd;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,8BAA8B,4BAA4B;AAC1D,8BAA8B,kDAAkD;AAChF,8BAA8B,4BAA4B;AAC1D,4CAAiC;AACjC;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,CAAC;;;ACzEoB;AACP;;AAEd;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,8BAA8B;AAC9B,8BAA8B;AAC9B,8BAA8B,kGAAkG;AAChI,8BAA8B;AAC9B,4CAAiC;AACjC;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,CAAC;;;AC7DD;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;ACxBA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,uDAAuD;AACvD,qEAA4D;AAC5D;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA,iDAAiD;AACjD;AACA,8BAA8B,sEAAsE;AACpG,8BAA8B;AAC9B,8BAA8B,iEAAwD;AACtF,uEAA8D;AAC9D;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,0BAA0B,4BAA4B,EAAE;AACxD,yBAAyB,2BAA2B,EAAE;AACtD,0BAA0B,4BAA4B,EAAE;AACxD,iDAAiD,mDAAmD;AACpG;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;;ACvGA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,gCAAgC,QAAQ;AACxC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,WAAW;AACxB;AACA,aAAa,OAAO;AACpB;AACA,iBAAiB,QAAQ;AACzB;AACA,aAAa,WAAW;AACxB;AACA;;AAEA;AACA;AACA;;;AChEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,8BAA8B,sEAAsE;AACpG,8BAA8B;AAC9B;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;;ACpDA;AACA;AACA,iEAAiE,OAAO;AACxE;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA;;;ACRA;AACA;AACA;AACA;AACA;;;ACJc;AACd;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,eAAe,OAAO;AACtB,iEAAiE,OAAO;AACxE;AACA;AACA;AACA;AACA;;AAEA,+BAA+B,OAAO;AACtC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;ACxDA;;AAEA;AACA;AACA,gDAAgD,OAAO;AACvD,mBAAmB,OAAO;AAC1B,sBAAsB,OAAO;AAC7B;AACA;AACA;;;ACTA;AACA;AACA,mEAAmE,OAAO;AAC1E,4BAA4B,OAAO;AACnC;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;;ACbA;;AAEA;AACA;AACA,0DAA0D,OAAO;AACjE,0BAA0B,OAAO;AACjC;AACA;AACA;AACA;;;ACTA;;AAEA;AACA;AACA,kCAAkC,OAAO;AACzC,mCAAmC,OAAO;AAC1C;AACA;AACA;AACA;AACA,qBAAqB,OAAO;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACvBA;;AAEA;AACA;AACA,iDAA2C,0BAA0B,EAAE;AACvE;;AAEA;AACA;AACA;AACA;AACA;;;ACXA;;AAEA;AACA;AACA;;;ACJA;AACY;;AAEZ;AACA;AACA;AACA;AACA;AACA,sDAAgD,0BAA0B,EAAE;AAC5E;AACA;AACA;AACA;;AAEA,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;;;AC1BA;;AAEA;AACA;AACA;;;ACJuB;AACC;AACA;AACD;AACuD;AACA;AAC/C;AACkB;;AAEd;AACH;AACD;AACE;AACD;AACF;AACI;AACL;;AAEO;AACF;AACJ;AACC;AACQ;AACF;AACJ;AACQ;AACF;AACJ;AACE;AACN;AACkC;AACjC;AACyD;;AAEhE;AACY;AACG;AACL;AACM;AACJ;AACE;AACC;AACD;AACL;AACG;;;AC5CrC;AACA;AACA;AACA;AACA;;;ACJA;AACA;AACA;;AAEA;AACA;AACA;;;ACNA;AACA,gBAAgB;AAChB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA,yBAAyB,gBAAgB,QAAQ;;AAEjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;;AC5O8B;;AAE9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA,0CAA0C;;AAE1C;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACvKyB;AACK;;AAE9B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,0DAA0D,OAAO;AACjE;AACA;AACA;AACA,iBAAiB,OAAO;AACxB,iCAAiC,4BAA4B,EAAE;AAC/D,iBAAiB,OAAO;AACxB,iBAAiB,OAAO;AACxB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,gBAAgB;AACjC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,iCAAiC,gBAAgB;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,2CAA2C;AAC3C,iBAAiB,gBAAgB;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;;;AC7HqB;AACK;;AAE1B;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,6DAA6D;;AAE7D;;AAEA;AACA;;AAEA;AACA;AACA;AACA,YAAY,iBAAiB,OAAO;AACpC,KAAK;AACL;AACA,YAAY,eAAe,OAAO;AAClC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AC7EqB;AACF;AACgB;AACJ;AACN;;AAEzB;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,gBAAgB,cAAc;AAC9B;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,6CAAqC;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;AChM8B;AAC0B;AACpC;AACF;AAClB;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,oDAAoD,0CAA0C,EAAE;AAChG;AACA;AACA,KAAK;AACL,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,GAAG;;AAEH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;;AAEL;;AAEA;AACA;AACA;;;AC7IA;AACiC;AACR;;AAEzB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;AC/C2B;;;ACA3B;AACA;AACA;AACA;AACA;;;ACJA;AACA;AACA;AACA;AACA;;;ACJA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;;ACjDc;;AAEd;AACA;AACA;;AAEA;AACA;AACA;AACA;;;ACTiB;AACe;AACR;AACyB;AAC/B;AAClB;AACA;AAC4B;AACG;;AAE/B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,sCAAsC,kCAAkC,EAAE;AAC1E,mDAAmD,gCAAgC,EAAE;AACrF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B,kBAAkB,4BAA4B,wDAAwD;AACtG;AACA;AACA,SAAS;AACT;;AAEA;AACA,2CAA2C,OAAO;AAClD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,6CAA6C,sBAAsB,EAAE;AACrE;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,yCAAyC,oBAAoB,EAAE;AAC/D,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;ACxawB;AACmC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACrGD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACrGD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC5GD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,2CAA2C,IAAI;AAC/C;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC1DD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AClED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC7ED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACxDD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACxDD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AChGD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACrJD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACrHD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACxDD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACxDD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,CAAC;;;;;;;;ACxFD,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;AAE5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC5FD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACxHD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC5DD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACjED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AClHD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACjED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,qCAAqC,IAAI;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACvFD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,gCAAgC;AAChC,aAAa;AACb,+BAA+B;AAC/B,aAAa;AACb,kCAAkC;AAClC,aAAa;AACb,kCAAkC;AAClC,aAAa;AACb,+BAA+B;AAC/B,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC/HD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACzDD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACnED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACtFD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC7GD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC7GD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AClED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC3KD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC1JD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACrED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC1DD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AChGD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACpLD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACzED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C;AAC5C,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC3DD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C;AAC5C,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC/DD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC5HD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC1HD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC1DD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACrFD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACrFD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACzHD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC5DD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC3FD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,qCAAqC,IAAI;AACzC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC1DD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AChFD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AChFD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,gDAAgD;AAChD,+CAA+C;AAC/C,8CAA8C;AAC9C,gDAAgD;AAChD,4CAA4C;AAC5C,6CAA6C;AAC7C,6CAA6C;AAC7C,8CAA8C;AAC9C,8CAA8C;AAC9C,+CAA+C;AAC/C,6CAA6C;AAC7C,+CAA+C;AAC/C;AACA;AACA;AACA;AACA,kDAAkD;AAClD,iDAAiD;AACjD,gDAAgD;AAChD,iDAAiD;AACjD,8CAA8C;AAC9C,+CAA+C;AAC/C,+CAA+C;AAC/C,gDAAgD;AAChD,iDAAiD;AACjD,kDAAkD;AAClD,+CAA+C;AAC/C,gDAAgD;AAChD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC9JD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACtGD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC/ED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACxFD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA,uDAAuD,IAAI;AAC3D,6DAA6D,IAAI;AACjE,4DAA4D,IAAI;AAChE,kEAAkE,IAAI;AACtE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC9DD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC9GD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC/FD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACpHD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,yCAAyC,IAAI;AAC7C;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACpED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACtID;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACrFD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,qCAAqC,IAAI;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC/ED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC5HD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,uCAAuC,IAAI;AAC3C;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC5GD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACrFD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,8CAA8C,IAAI,IAAI,IAAI;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACvFD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AChFD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT,qCAAqC,IAAI;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC1FD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,qCAAqC,IAAI;AACzC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACnED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AClID;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AChFD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT,oCAAoC,IAAI,IAAI,IAAI;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC7FD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC5GD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACxJD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC1HD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC/FD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC1HD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,qCAAqC,IAAI;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACzHD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,qCAAqC,IAAI;AACzC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC3ED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,qCAAqC,IAAI;AACzC;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC1ED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACzED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC5ED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACxED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACjFD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC1DD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC3GD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACxGD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AChED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC9ED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,qCAAqC,IAAI;AACzC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACjFD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,qCAAqC,IAAI;AACzC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC1FD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,qCAAqC,IAAI;AACzC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC1FD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACrED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACjED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC5DD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACjED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACjED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC7DD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACjED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;AAE5B;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,gGAAgG;AAC7G;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,iCAAiC;AACjC,gCAAgC;AAChC,gCAAgC;AAChC,+BAA+B;AAC/B;AACA;AACA;AACA,yDAAyD;AACzD;AACA,0DAA0D;AAC1D;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AClGD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACjGD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC1ED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC1ED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC1ED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC1DD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC;AACnC,iBAAiB;AACjB;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC9ED;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC7DD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,uBAAuB,QAAQ;AAC/B;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,uBAAuB,QAAQ;AAC/B;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,uBAAuB,QAAQ;AAC/B;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,qCAAqC,IAAI;AACzC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACjLD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACtFD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACrJD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AC1GD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACrHD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACrHD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACxDD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACxFD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;AClID;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA,+BAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACvGD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACzDD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACtGD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACzDD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACxHD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACzDD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACzDD;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;ACrID;;AAEA,CAAC;AACD,QACA;AACA,YACA;AACA,CAAC,2BAA2B;;;AAG5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,oCAAoC,IAAI;AACxC;AACA,4FAA4F;AAC5F,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,CAAC;;;;;;;;;;;;;;;;QCrEec,U,GAAAA,U;;AAFhB;;AAEO,SAASA,UAAT,CAAoB/B,MAApB,EAA4B;AACjC,OAAK,IAAIC,IAAI,CAAb,EAAgBA,IAAIC,UAAUxD,MAA9B,EAAsCuD,GAAtC,EAA2C;AACzC,oBAAKC,UAAUD,CAAV,CAAL,EAAmB,UAASE,IAAT,EAAe6B,GAAf,EAAmB;AACpC,UAAM,OAAOhC,OAAOgC,GAAP,CAAP,KAAuB,WAAvB,IAAsC,OAAO7B,IAAP,KAAgB,WAAxD,IACE,QAAOH,OAAOgC,GAAP,CAAP,MAAuB,QAAvB,IAAsC,QAAO7B,IAAP,yCAAOA,IAAP,OAAgB,QADxD,IAEEH,OAAOgC,GAAP,MAAgB,IAAhB,IAAsC7B,SAAS,IAFrD,EAE6D;AACvD4B,mBAAW/B,OAAOgC,GAAP,CAAX,EAAwB7B,IAAxB;AACL,OAJD,MAKK;AACHH,eAAOgC,GAAP,IAAc7B,IAAd;AACD;AACF,KATD;AAUD;AACD,SAAOH,MAAP;AACD,C;;;;;;AChBD;AACA;AACA;AACA,WACA;AACA,CAAC,qBAAqB;;AAEtB;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,yBAAyB;;AAEzB;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA,kCAAkC,eAAe;AACjD;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,qBAAqB,iBAAiB;AACtC;AACA;AACA;;AAEA;AACA,iEAAiE;;AAEjE;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,yBAAyB,QAAQ;AACjC;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,yFAAyF;;AAEzF;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA,eAAe;AACf;AACA,eAAe;AACf;AACA,eAAe;AACf;AACA;AACA,eAAe;AACf;AACA,eAAe;AACf;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA,eAAe;AACf;AACA,eAAe;AACf;AACA,eAAe;AACf;AACA;AACA,eAAe;AACf;AACA,eAAe;AACf;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D,sBAAsB;AAClF;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,OAAO;AACP,KAAK;;;AAGL;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA,OAAO;AACP;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;;AAGL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,oEAAoE;;AAEpE;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA;AACA,+CAA+C;;AAE/C;;AAEA,mBAAmB,WAAW;AAC9B;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA,oDAAoD;AACpD;;AAEA,mDAAmD;AACnD;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA,2BAA2B;;AAE3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC;AACpC;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,gDAAgD;;AAEhD;AACA;;AAEA;AACA;AACA,KAAK;;;AAGL;AACA;AACA;;AAEA;AACA;AACA,KAAK;;;AAGL;AACA,sBAAsB;;AAEtB;AACA;AACA;AACA;AACA;AACA,oCAAoC;;AAEpC;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;;AAGL;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;;AAEvB;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;;;AAGA;AACA;AACA;AACA;AACA;;;AAGA;AACA,yCAAyC;AACzC;;AAEA,oBAAoB;;AAEpB,kBAAkB;;AAElB,+EAA+E;;AAE/E;AACA;AACA,KAAK;;;AAGL,uBAAuB;;AAEvB,2BAA2B;;AAE3B,mBAAmB;;AAEnB,sCAAsC;;AAEtC;AACA;AACA,KAAK;;;AAGL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;;;AAGL,oBAAoB;;AAEpB,yBAAyB;;AAEzB;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C;;AAE7C;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,MAAM;;AAEN;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,MAAM;;AAEN;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;;AAGL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,qCAAqC;;AAErC,oCAAoC;;AAEpC,qCAAqC;;AAErC;AACA;AACA;AACA;;;AAGA;AACA;AACA,KAAK;;;AAGL;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8EAA8E;;AAE9E;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;;;AAGL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;;AAGL,8CAA8C;;AAE9C,yCAAyC;;AAEzC;AACA;AACA,mBAAmB,uBAAuB;AAC1C;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA,KAAK;;;AAGL;AACA;AACA;AACA;AACA,iFAAiF;;AAEjF,uBAAuB;;AAEvB;AACA,qEAAqE;;AAErE;AACA;AACA;AACA,KAAK;;;AAGL,0BAA0B;;AAE1B,0MAA0M;;AAE1M;AACA;AACA,KAAK;;;AAGL,4BAA4B;;AAE5B,8BAA8B;;AAE9B,kCAAkC;;AAElC;AACA;AACA,4BAA4B;;AAE5B;AACA;AACA,KAAK;;;AAGL;AACA;AACA,KAAK;;;AAGL;AACA;AACA,KAAK;;;AAGL;AACA;AACA,KAAK;;;AAGL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS,EAAE;;AAEX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;;AAGL;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA,4BAA4B;;AAE5B;AACA;AACA,iEAAiE;;AAEjE;AACA;AACA;AACA,kHAAkH;;AAElH,qBAAqB;;AAErB;AACA,gHAAgH;;AAEhH;AACA,yBAAyB;;AAEzB;AACA,KAAK;;;AAGL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA,2DAA2D;AAC3D;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,gCAAgC;;AAEhC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA,WAAW;AACX;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,4CAA4C;;AAE5C;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;;AAEX;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;;;AAGP;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;;AAEA;AACA,qBAAqB,4BAA4B;AACjD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW;AACX;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kEAAkE;;AAElE;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,SAAS;AACT;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,SAAS;AACT;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,SAAS;AACT;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,SAAS;AACT;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,SAAS;AACT;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,SAAS;AACT;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,SAAS;AACT;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,SAAS;AACT;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,SAAS;AACT;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,SAAS;AACT;AACA,OAAO;;AAEP;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,SAAS;AACT;AACA,OAAO;;AAEP;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,SAAS;AACT;AACA,OAAO;;AAEP;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,SAAS;AACT;AACA,OAAO;;AAEP;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,SAAS;AACT;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,SAAS;AACT;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,SAAS;AACT;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,SAAS;AACT;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,SAAS;AACT;AACA,OAAO,EAAE;AACT;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iFAAiF;;AAEjF;;AAEA;AACA;AACA;AACA;AACA,WAAW;;AAEX;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,0EAA0E;;AAE1E;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,SAAS;AACT;AACA,OAAO,EAAE;AACT;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,OAAO,EAAE;;AAET;AACA;AACA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA,OAAO,EAAE;AACT;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,QAAQ;;;AAGR;AACA;;AAEA;;AAEA;AACA,QAAQ;;;AAGR;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,SAAS;;AAET;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA,4CAA4C;;;AAG5C;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA,0CAA0C;;AAE1C;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,SAAS;AACT;AACA,QAAQ;;;AAGR;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,+CAA+C;;AAE/C;AACA,UAAU;AACV;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,qCAAqC;;;AAGrC,0HAA0H;AAC1H;AACA;AACA;AACA;AACA,6BAA6B;;AAE7B;;AAEA;AACA;AACA,WAAW;;;AAGX;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;;;AAGX;AACA,iCAAiC;;AAEjC;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW;;;AAGX;AACA,iCAAiC;;AAEjC;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;;;AAGb;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA,4CAA4C,sCAAsC;;AAElF;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG,IAAI;AACP;AACA;AACA;;;AAGA;AACA;AACA,uCAAuC;;AAEvC;;AAEA;AACA;AACA,OAAO;AACP;;AAEA;AACA,yEAAyE;AACzE;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL,oCAAoC;;AAEpC;AACA;AACA;AACA,KAAK;;;AAGL,+BAA+B;;AAE/B;AACA,iDAAiD;;AAEjD;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA,wBAAwB;AACxB;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;;AAEA,kDAAkD;;AAElD;AACA;AACA;AACA;;AAEA,iBAAiB,oBAAoB;AACrC;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA,qBAAqB,YAAY;AACjC;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK,EAAE;;AAEP;AACA;;AAEA,iBAAiB,wBAAwB;AACzC;AACA;;AAEA,qBAAqB,YAAY;AACjC;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,KAAK,EAAE;;AAEP;AACA;AACA;AACA;;AAEA,oDAAoD,UAAU;AAC9D;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;;AAEA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA,OAAO;AACP;;AAEA,sDAAsD;AACtD;;AAEA;AACA;AACA,qCAAqC;;AAErC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA,KAAK;;;AAGL;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;;;AAGL,sCAAsC;;AAEtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C;AAC5C;;AAEA,2FAA2F;;AAE3F,wBAAwB;;AAExB;AACA;AACA,OAAO,EAAE;;AAET,qDAAqD;;AAErD;AACA;AACA;;AAEA,2CAA2C;;AAE3C;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD;;AAErD;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;;AAEvB;AACA,qBAAqB,gBAAgB;AACrC;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;;;AAGT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gHAAgH;;AAEhH;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA,iEAAiE;;AAEjE;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA,2BAA2B;;AAE3B;AACA;AACA,KAAK;;;AAGL;AACA;AACA,KAAK;;;AAGL;AACA;AACA;AACA,OAAO;AACP,KAAK;;;AAGL;AACA;AACA,KAAK;;;AAGL;AACA;AACA;AACA,OAAO;AACP,KAAK;;;AAGL;AACA;AACA;AACA,OAAO;AACP,KAAK;;;AAGL;AACA;AACA;AACA,KAAK;;;AAGL;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD;;AAErD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD;;AAErD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;;AAEA;AACA;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT;AACA;;AAEA;AACA;;AAEA;AACA,KAAK;;;AAGL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC;;AAEtC;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL,yCAAyC;;AAEzC;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA,OAAO;;;AAGP;AACA;AACA,MAAM;;;AAGN;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;;;AAGL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,uKAAuK;AACvK;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA,OAAO;AACP;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,+CAA+C;;AAE/C;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,+CAA+C;;AAE/C;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,mCAAmC;;AAEnC;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,mBAAmB,gBAAgB;AACnC;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,eAAe,gBAAgB;AAC/B;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,+EAA+E,WAAW;AAC1F;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,8CAA8C;;AAE9C;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;;AAEhB;AACA;AACA,OAAO;AACP;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,mBAAmB;AACpC;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C;AAC5C,sDAAsD;AACtD,kDAAkD;AAClD;AACA;AACA;AACA;AACA,4CAA4C;AAC5C,0CAA0C;AAC1C,sCAAsC;AACtC,wCAAwC;AACxC,kCAAkC;AAClC,0CAA0C;AAC1C;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,oBAAoB;AACpB,sBAAsB;AACtB;AACA,mBAAmB;AACnB;AACA,oBAAoB;AACpB,qBAAqB;AACrB;AACA,sBAAsB;AACtB;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,8CAA8C;AAC9C,sDAAsD;AACtD,oDAAoD;AACpD,oDAAoD;AACpD,wDAAwD;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sDAAsD;AACtD;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,kDAAkD;AAClD,kDAAkD;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,6BAA6B;;AAE7B;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA,oBAAoB;;AAEpB;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,sDAAsD;AACtD,SAAS,IAAI;AACb;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA,KAAK;AACL;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;;AAEA;AACA,6CAA6C;;AAE7C,mCAAmC;;AAEnC;;AAEA,mBAAmB,sBAAsB;AACzC;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,QAAQ;AACrB,cAAc;AACd;;;AAGA;AACA;AACA;;AAEA,mBAAmB,iBAAiB;AACpC;;AAEA,qBAAqB,oBAAoB;AACzC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,QAAQ;AACrB,cAAc;AACd;;;AAGA;AACA;AACA;;AAEA,mBAAmB,oBAAoB;AACvC;;AAEA,qBAAqB,uBAAuB;AAC5C;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,QAAQ;AACrB,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,QAAQ;AACrB,cAAc;AACd;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA,iCAAiC;;AAEjC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,WAAW;AACX,SAAS;AACT;AACA;AACA,WAAW;AACX;AACA;AACA,aAAa;;AAEb,OAAO;AACP;AACA;AACA,SAAS;AACT;AACA,KAAK,EAAE;;AAEP;AACA;AACA;AACA;AACA,KAAK,EAAE;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;;AAEhB;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,WAAW;;;AAGX;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA,KAAK,EAAE;;AAEP;AACA,YAAY;;AAEZ;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;;;AAGP;AACA;AACA;AACA,OAAO,EAAE;;AAET;AACA;AACA,OAAO;AACP,KAAK,EAAE;;AAEP;AACA,gEAAgE;;AAEhE;AACA;AACA;AACA,OAAO;AACP,KAAK;;;AAGL;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,eAAe,gBAAgB;AAC/B;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,eAAe,gBAAgB;AAC/B;;AAEA,iBAAiB,mBAAmB;AACpC;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,cAAc;AACd;;;AAGA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,cAAc;AACd;;;AAGA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,KAAK,EAAE;;AAEP;AACA;;AAEA;AACA;AACA;AACA,gBAAgB;;AAEhB;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,KAAK,EAAE;;AAEP;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,+BAA+B,OAAO;AACtC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;;;AAGP;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;;;AAGP;AACA,uBAAuB,oBAAoB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,wDAAwD;AACxD,KAAK;;;AAGL,sCAAsC;;AAEtC;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;;;AAGL;AACA;AACA,KAAK,EAAE;;AAEP;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA,mCAAmC;;AAEnC;AACA;AACA,OAAO;;;AAGP;AACA;AACA,OAAO;AACP,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,iBAAiB,+BAA+B;AAChD;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;;AAEA,+BAA+B;;AAE/B;AACA;AACA;AACA,WAAW;AACX,SAAS;;;AAGT,mBAAmB,uBAAuB;AAC1C;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,iBAAiB,+BAA+B;AAChD;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;;AAEA,+BAA+B;;AAE/B;AACA;AACA;AACA,WAAW;AACX,SAAS;;;AAGT,mBAAmB,uBAAuB;AAC1C;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0EAA0E;;AAE1E;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,uDAAuD;;AAEvD;AACA;AACA,KAAK;;;AAGL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;;AAGL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;;AAGL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;;AAEhB;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;;AAGL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;;AAGL;AACA;AACA,KAAK;;;AAGL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6HAA6H;;AAE7H;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA,mDAAmD;;AAEnD;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;;AAGL;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;;AAGL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;;;AAGN;AACA;AACA,KAAK;AACL;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C;;AAE5C;AACA;;AAEA;AACA;AACA;;AAEA,+GAA+G;;AAE/G;AACA;AACA,KAAK;AACL;AACA,yQAAyQ;;AAEzQ,oDAAoD;AACpD;;AAEA,kFAAkF;;AAElF;AACA;AACA;;AAEA,+GAA+G;;AAE/G;AACA;AACA,KAAK;AACL;AACA,yQAAyQ;;AAEzQ;AACA;AACA;AACA;AACA,KAAK,sBAAsB;;AAE3B;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA,KAAK;;;AAGL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,yBAAyB,eAAe;AACxC;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,wGAAwG;;AAExG;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;;AAEV;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;;AAGL;AACA;AACA;AACA;AACA,OAAO;;;AAGP;AACA;AACA;;AAEA;AACA,KAAK;AACL;;AAEA;AACA;AACA,OAAO;;;AAGP;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA,OAAO;;;AAGP;AACA;AACA,OAAO;AACP,yCAAyC;;AAEzC;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA,qDAAqD;;AAErD,sCAAsC;;AAEtC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,OAAO;;;AAGP;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK,kBAAkB;AACvB;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB,mBAAmB;AACnB,oBAAoB;AACpB;AACA,kBAAkB;AAClB;AACA;AACA,wCAAwC;;AAExC;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;;AAEpB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,MAAM;;;AAGN;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,8cAA8c;;AAE9c;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;;AAGL;AACA;AACA,KAAK,EAAE;;AAEP;AACA;AACA,8BAA8B;;AAE9B;AACA;AACA,uBAAuB;;AAEvB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,2BAA2B;;AAE3B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAY;;;AAGZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA,KAAK;;;AAGL;AACA;AACA;;AAEA;AACA;AACA,MAAM;;;AAGN;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,wBAAwB;;AAExB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD;;AAErD;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,qGAAqG;;AAErG;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iIAAiI;;AAEjI;AACA;AACA;AACA;AACA,KAAK;;;AAGL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,0DAA0D;;AAE1D;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;;AAEA;AACA;AACA,+DAA+D;;AAE/D;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,sCAAsC;;AAEtC,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,6GAA6G;;AAE7G;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC;;AAEnC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;;AAEzB;AACA;AACA;AACA;AACA,OAAO;;;AAGP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA,iBAAiB,+BAA+B;AAChD;AACA;AACA;;AAEA,mBAAmB,kCAAkC;AACrD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,oIAAoI;;AAEpI,wDAAwD;;AAExD,wDAAwD;;AAExD;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK,EAAE;;AAEP;AACA;AACA;AACA,OAAO;AACP,KAAK,EAAE;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;;AAEtB;AACA;AACA;AACA;AACA,OAAO;;;AAGP;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,iBAAiB,oBAAoB;AACrC;AACA;AACA;AACA;;AAEA;AACA,KAAK;;;AAGL;AACA,iBAAiB,qBAAqB;AACtC;;AAEA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;;;AAGL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,MAAM;;AAEN;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA,KAAK;;;AAGL,eAAe,cAAc;AAC7B;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,wBAAwB,QAAQ;AAChC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;;AAEtB;AACA;AACA;AACA;AACA,OAAO;;;AAGP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,sCAAsC;AACtC,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;;AAGL;AACA;AACA,KAAK;;;AAGL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,mBAAmB;;AAEnB;AACA;;AAEA;AACA;AACA;;AAEA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,iEAAiE;;AAEjE,4CAA4C;;AAE5C,6FAA6F;;AAE7F,iFAAiF;;AAEjF,kFAAkF;;AAElF,kFAAkF;AAClF;;AAEA;AACA;;AAEA;AACA,kBAAkB;;AAElB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,qEAAqE;;AAErE,2DAA2D;;AAE3D;AACA;AACA,wEAAwE;;AAExE,6DAA6D;;AAE7D,6DAA6D;;AAE7D;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gFAAgF;;AAEhF;AACA;AACA;AACA;AACA,OAAO;;;AAGP;AACA;AACA;AACA;AACA,SAAS;;;AAGT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,EAAE;;AAEP;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;;;AAGL;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;;;AAGL;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,yMAAyM;;AAEzM;AACA;AACA;;AAEA,mBAAmB,sCAAsC;AACzD;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,QAAQ;;;AAGR;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;;AAEA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,OAAO,EAAE;AACT;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA,eAAe,cAAc;AAC7B;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC;;AAElC;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA,6JAA6J;;AAE7J;AACA;AACA,iFAAiF;;AAEjF;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;;AAEA;AACA;AACA,OAAO;;;AAGP;AACA;A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AA/BY,C;;;;;;;;;;;;ACAf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wB;;;;;;AC7QA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;;;;;;ACrBA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,mDAA8C;AAC9C,EAAE;AACF;AAAA;AAAA;AAAA,qGAA8B;AAC9B,EAAE,QAEF;AACA,CAAC;AACD;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,YAAY;AACZ,YAAY;AACZ,YAAY;AACZ,cAAc;AACd;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,SAAS,kBAAkB;AAC3B;AACA;AACA;;AAEA;AACA,aAAa,uBAAuB;AACpC;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,iBAAiB,kBAAkB;AACnC;AACA;AACA;;AAEA;AACA,iBAAiB,YAAY;AAC7B,mEAAmE;AACnE;;AAEA;AACA;;AAEA;AACA;;AAEA,aAAa,oBAAoB;AACjC;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA,cAAc,mBAAmB;AACjC;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc,SAAS;AACvB;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,kCAAkC,IAAI;AACtC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,aAAa,OAAO;AACpB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,oBAAoB;AACjC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,uBAAuB;AACvB;AACA;;AAEA,aAAa,mBAAmB;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,aAAa,oBAAoB;AACjC;AACA,cAAc,mBAAmB;AACjC;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,aAAa,mBAAmB;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,aAAa,oBAAoB;AACjC;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA,gBAAgB,qBAAqB;AACrC;;AAEA;AACA;AACA,iBAAiB,2BAA2B;AAC5C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;;AAEA;;AAEA;AACA,CAAC;;;;;;;ACpmBD;AACA;;;;;;;;;;;;;;;;;;ACDA;;;;AAEA;;AACA;;AACA;;;;AAEA,IAAMK,WAAW;AACf;;;;;;;AADe,CAAjB;;AAWA,IAAIC,oBAAJ;AACA,SAASC,kBAAT,CAA4BC,eAA5B,EAA6C/E,OAA7C,EAAsD;AACpD,MAAI3G,OAAO,EAAX;AACA,MAAM2L,gBAAgB;AACpBC,UAAM,CADc;AAEpBC,WAAO,CAFa;AAGpBC,YAAQ;AAHY,GAAtB;AAKA,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","file":"keen-dataviz.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse {\n\t\tvar a = factory();\n\t\tfor(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i];\n\t}\n})(window, function() {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 168);\n","//! moment.js\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n global.moment = factory()\n}(this, (function () { 'use strict';\n\n var hookCallback;\n\n function hooks () {\n return hookCallback.apply(null, arguments);\n }\n\n // This is done to register the method called with moment()\n // without creating circular dependencies.\n function setHookCallback (callback) {\n hookCallback = callback;\n }\n\n function isArray(input) {\n return input instanceof Array || Object.prototype.toString.call(input) === '[object Array]';\n }\n\n function isObject(input) {\n // IE8 will treat undefined and null as object if it wasn't for\n // input != null\n return input != null && Object.prototype.toString.call(input) === '[object Object]';\n }\n\n function isObjectEmpty(obj) {\n if (Object.getOwnPropertyNames) {\n return (Object.getOwnPropertyNames(obj).length === 0);\n } else {\n var k;\n for (k in obj) {\n if (obj.hasOwnProperty(k)) {\n return false;\n }\n }\n return true;\n }\n }\n\n function isUndefined(input) {\n return input === void 0;\n }\n\n function isNumber(input) {\n return typeof input === 'number' || Object.prototype.toString.call(input) === '[object Number]';\n }\n\n function isDate(input) {\n return input instanceof Date || Object.prototype.toString.call(input) === '[object Date]';\n }\n\n function map(arr, fn) {\n var res = [], i;\n for (i = 0; i < arr.length; ++i) {\n res.push(fn(arr[i], i));\n }\n return res;\n }\n\n function hasOwnProp(a, b) {\n return Object.prototype.hasOwnProperty.call(a, b);\n }\n\n function extend(a, b) {\n for (var i in b) {\n if (hasOwnProp(b, i)) {\n a[i] = b[i];\n }\n }\n\n if (hasOwnProp(b, 'toString')) {\n a.toString = b.toString;\n }\n\n if (hasOwnProp(b, 'valueOf')) {\n a.valueOf = b.valueOf;\n }\n\n return a;\n }\n\n function createUTC (input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, true).utc();\n }\n\n function defaultParsingFlags() {\n // We need to deep clone this object.\n return {\n empty : false,\n unusedTokens : [],\n unusedInput : [],\n overflow : -2,\n charsLeftOver : 0,\n nullInput : false,\n invalidMonth : null,\n invalidFormat : false,\n userInvalidated : false,\n iso : false,\n parsedDateParts : [],\n meridiem : null,\n rfc2822 : false,\n weekdayMismatch : false\n };\n }\n\n function getParsingFlags(m) {\n if (m._pf == null) {\n m._pf = defaultParsingFlags();\n }\n return m._pf;\n }\n\n var some;\n if (Array.prototype.some) {\n some = Array.prototype.some;\n } else {\n some = function (fun) {\n var t = Object(this);\n var len = t.length >>> 0;\n\n for (var i = 0; i < len; i++) {\n if (i in t && fun.call(this, t[i], i, t)) {\n return true;\n }\n }\n\n return false;\n };\n }\n\n function isValid(m) {\n if (m._isValid == null) {\n var flags = getParsingFlags(m);\n var parsedParts = some.call(flags.parsedDateParts, function (i) {\n return i != null;\n });\n var isNowValid = !isNaN(m._d.getTime()) &&\n flags.overflow < 0 &&\n !flags.empty &&\n !flags.invalidMonth &&\n !flags.invalidWeekday &&\n !flags.weekdayMismatch &&\n !flags.nullInput &&\n !flags.invalidFormat &&\n !flags.userInvalidated &&\n (!flags.meridiem || (flags.meridiem && parsedParts));\n\n if (m._strict) {\n isNowValid = isNowValid &&\n flags.charsLeftOver === 0 &&\n flags.unusedTokens.length === 0 &&\n flags.bigHour === undefined;\n }\n\n if (Object.isFrozen == null || !Object.isFrozen(m)) {\n m._isValid = isNowValid;\n }\n else {\n return isNowValid;\n }\n }\n return m._isValid;\n }\n\n function createInvalid (flags) {\n var m = createUTC(NaN);\n if (flags != null) {\n extend(getParsingFlags(m), flags);\n }\n else {\n getParsingFlags(m).userInvalidated = true;\n }\n\n return m;\n }\n\n // Plugins that add properties should also add the key here (null value),\n // so we can properly clone ourselves.\n var momentProperties = hooks.momentProperties = [];\n\n function copyConfig(to, from) {\n var i, prop, val;\n\n if (!isUndefined(from._isAMomentObject)) {\n to._isAMomentObject = from._isAMomentObject;\n }\n if (!isUndefined(from._i)) {\n to._i = from._i;\n }\n if (!isUndefined(from._f)) {\n to._f = from._f;\n }\n if (!isUndefined(from._l)) {\n to._l = from._l;\n }\n if (!isUndefined(from._strict)) {\n to._strict = from._strict;\n }\n if (!isUndefined(from._tzm)) {\n to._tzm = from._tzm;\n }\n if (!isUndefined(from._isUTC)) {\n to._isUTC = from._isUTC;\n }\n if (!isUndefined(from._offset)) {\n to._offset = from._offset;\n }\n if (!isUndefined(from._pf)) {\n to._pf = getParsingFlags(from);\n }\n if (!isUndefined(from._locale)) {\n to._locale = from._locale;\n }\n\n if (momentProperties.length > 0) {\n for (i = 0; i < momentProperties.length; i++) {\n prop = momentProperties[i];\n val = from[prop];\n if (!isUndefined(val)) {\n to[prop] = val;\n }\n }\n }\n\n return to;\n }\n\n var updateInProgress = false;\n\n // Moment prototype object\n function Moment(config) {\n copyConfig(this, config);\n this._d = new Date(config._d != null ? config._d.getTime() : NaN);\n if (!this.isValid()) {\n this._d = new Date(NaN);\n }\n // Prevent infinite loop in case updateOffset creates new moment\n // objects.\n if (updateInProgress === false) {\n updateInProgress = true;\n hooks.updateOffset(this);\n updateInProgress = false;\n }\n }\n\n function isMoment (obj) {\n return obj instanceof Moment || (obj != null && obj._isAMomentObject != null);\n }\n\n function absFloor (number) {\n if (number < 0) {\n // -0 -> 0\n return Math.ceil(number) || 0;\n } else {\n return Math.floor(number);\n }\n }\n\n function toInt(argumentForCoercion) {\n var coercedNumber = +argumentForCoercion,\n value = 0;\n\n if (coercedNumber !== 0 && isFinite(coercedNumber)) {\n value = absFloor(coercedNumber);\n }\n\n return value;\n }\n\n // compare two arrays, return the number of differences\n function compareArrays(array1, array2, dontConvert) {\n var len = Math.min(array1.length, array2.length),\n lengthDiff = Math.abs(array1.length - array2.length),\n diffs = 0,\n i;\n for (i = 0; i < len; i++) {\n if ((dontConvert && array1[i] !== array2[i]) ||\n (!dontConvert && toInt(array1[i]) !== toInt(array2[i]))) {\n diffs++;\n }\n }\n return diffs + lengthDiff;\n }\n\n function warn(msg) {\n if (hooks.suppressDeprecationWarnings === false &&\n (typeof console !== 'undefined') && console.warn) {\n console.warn('Deprecation warning: ' + msg);\n }\n }\n\n function deprecate(msg, fn) {\n var firstTime = true;\n\n return extend(function () {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(null, msg);\n }\n if (firstTime) {\n var args = [];\n var arg;\n for (var i = 0; i < arguments.length; i++) {\n arg = '';\n if (typeof arguments[i] === 'object') {\n arg += '\\n[' + i + '] ';\n for (var key in arguments[0]) {\n arg += key + ': ' + arguments[0][key] + ', ';\n }\n arg = arg.slice(0, -2); // Remove trailing comma and space\n } else {\n arg = arguments[i];\n }\n args.push(arg);\n }\n warn(msg + '\\nArguments: ' + Array.prototype.slice.call(args).join('') + '\\n' + (new Error()).stack);\n firstTime = false;\n }\n return fn.apply(this, arguments);\n }, fn);\n }\n\n var deprecations = {};\n\n function deprecateSimple(name, msg) {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(name, msg);\n }\n if (!deprecations[name]) {\n warn(msg);\n deprecations[name] = true;\n }\n }\n\n hooks.suppressDeprecationWarnings = false;\n hooks.deprecationHandler = null;\n\n function isFunction(input) {\n return input instanceof Function || Object.prototype.toString.call(input) === '[object Function]';\n }\n\n function set (config) {\n var prop, i;\n for (i in config) {\n prop = config[i];\n if (isFunction(prop)) {\n this[i] = prop;\n } else {\n this['_' + i] = prop;\n }\n }\n this._config = config;\n // Lenient ordinal parsing accepts just a number in addition to\n // number + (possibly) stuff coming from _dayOfMonthOrdinalParse.\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n this._dayOfMonthOrdinalParseLenient = new RegExp(\n (this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) +\n '|' + (/\\d{1,2}/).source);\n }\n\n function mergeConfigs(parentConfig, childConfig) {\n var res = extend({}, parentConfig), prop;\n for (prop in childConfig) {\n if (hasOwnProp(childConfig, prop)) {\n if (isObject(parentConfig[prop]) && isObject(childConfig[prop])) {\n res[prop] = {};\n extend(res[prop], parentConfig[prop]);\n extend(res[prop], childConfig[prop]);\n } else if (childConfig[prop] != null) {\n res[prop] = childConfig[prop];\n } else {\n delete res[prop];\n }\n }\n }\n for (prop in parentConfig) {\n if (hasOwnProp(parentConfig, prop) &&\n !hasOwnProp(childConfig, prop) &&\n isObject(parentConfig[prop])) {\n // make sure changes to properties don't modify parent config\n res[prop] = extend({}, res[prop]);\n }\n }\n return res;\n }\n\n function Locale(config) {\n if (config != null) {\n this.set(config);\n }\n }\n\n var keys;\n\n if (Object.keys) {\n keys = Object.keys;\n } else {\n keys = function (obj) {\n var i, res = [];\n for (i in obj) {\n if (hasOwnProp(obj, i)) {\n res.push(i);\n }\n }\n return res;\n };\n }\n\n var defaultCalendar = {\n sameDay : '[Today at] LT',\n nextDay : '[Tomorrow at] LT',\n nextWeek : 'dddd [at] LT',\n lastDay : '[Yesterday at] LT',\n lastWeek : '[Last] dddd [at] LT',\n sameElse : 'L'\n };\n\n function calendar (key, mom, now) {\n var output = this._calendar[key] || this._calendar['sameElse'];\n return isFunction(output) ? output.call(mom, now) : output;\n }\n\n var defaultLongDateFormat = {\n LTS : 'h:mm:ss A',\n LT : 'h:mm A',\n L : 'MM/DD/YYYY',\n LL : 'MMMM D, YYYY',\n LLL : 'MMMM D, YYYY h:mm A',\n LLLL : 'dddd, MMMM D, YYYY h:mm A'\n };\n\n function longDateFormat (key) {\n var format = this._longDateFormat[key],\n formatUpper = this._longDateFormat[key.toUpperCase()];\n\n if (format || !formatUpper) {\n return format;\n }\n\n this._longDateFormat[key] = formatUpper.replace(/MMMM|MM|DD|dddd/g, function (val) {\n return val.slice(1);\n });\n\n return this._longDateFormat[key];\n }\n\n var defaultInvalidDate = 'Invalid date';\n\n function invalidDate () {\n return this._invalidDate;\n }\n\n var defaultOrdinal = '%d';\n var defaultDayOfMonthOrdinalParse = /\\d{1,2}/;\n\n function ordinal (number) {\n return this._ordinal.replace('%d', number);\n }\n\n var defaultRelativeTime = {\n future : 'in %s',\n past : '%s ago',\n s : 'a few seconds',\n ss : '%d seconds',\n m : 'a minute',\n mm : '%d minutes',\n h : 'an hour',\n hh : '%d hours',\n d : 'a day',\n dd : '%d days',\n M : 'a month',\n MM : '%d months',\n y : 'a year',\n yy : '%d years'\n };\n\n function relativeTime (number, withoutSuffix, string, isFuture) {\n var output = this._relativeTime[string];\n return (isFunction(output)) ?\n output(number, withoutSuffix, string, isFuture) :\n output.replace(/%d/i, number);\n }\n\n function pastFuture (diff, output) {\n var format = this._relativeTime[diff > 0 ? 'future' : 'past'];\n return isFunction(format) ? format(output) : format.replace(/%s/i, output);\n }\n\n var aliases = {};\n\n function addUnitAlias (unit, shorthand) {\n var lowerCase = unit.toLowerCase();\n aliases[lowerCase] = aliases[lowerCase + 's'] = aliases[shorthand] = unit;\n }\n\n function normalizeUnits(units) {\n return typeof units === 'string' ? aliases[units] || aliases[units.toLowerCase()] : undefined;\n }\n\n function normalizeObjectUnits(inputObject) {\n var normalizedInput = {},\n normalizedProp,\n prop;\n\n for (prop in inputObject) {\n if (hasOwnProp(inputObject, prop)) {\n normalizedProp = normalizeUnits(prop);\n if (normalizedProp) {\n normalizedInput[normalizedProp] = inputObject[prop];\n }\n }\n }\n\n return normalizedInput;\n }\n\n var priorities = {};\n\n function addUnitPriority(unit, priority) {\n priorities[unit] = priority;\n }\n\n function getPrioritizedUnits(unitsObj) {\n var units = [];\n for (var u in unitsObj) {\n units.push({unit: u, priority: priorities[u]});\n }\n units.sort(function (a, b) {\n return a.priority - b.priority;\n });\n return units;\n }\n\n function zeroFill(number, targetLength, forceSign) {\n var absNumber = '' + Math.abs(number),\n zerosToFill = targetLength - absNumber.length,\n sign = number >= 0;\n return (sign ? (forceSign ? '+' : '') : '-') +\n Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) + absNumber;\n }\n\n var formattingTokens = /(\\[[^\\[]*\\])|(\\\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g;\n\n var localFormattingTokens = /(\\[[^\\[]*\\])|(\\\\)?(LTS|LT|LL?L?L?|l{1,4})/g;\n\n var formatFunctions = {};\n\n var formatTokenFunctions = {};\n\n // token: 'M'\n // padded: ['MM', 2]\n // ordinal: 'Mo'\n // callback: function () { this.month() + 1 }\n function addFormatToken (token, padded, ordinal, callback) {\n var func = callback;\n if (typeof callback === 'string') {\n func = function () {\n return this[callback]();\n };\n }\n if (token) {\n formatTokenFunctions[token] = func;\n }\n if (padded) {\n formatTokenFunctions[padded[0]] = function () {\n return zeroFill(func.apply(this, arguments), padded[1], padded[2]);\n };\n }\n if (ordinal) {\n formatTokenFunctions[ordinal] = function () {\n return this.localeData().ordinal(func.apply(this, arguments), token);\n };\n }\n }\n\n function removeFormattingTokens(input) {\n if (input.match(/\\[[\\s\\S]/)) {\n return input.replace(/^\\[|\\]$/g, '');\n }\n return input.replace(/\\\\/g, '');\n }\n\n function makeFormatFunction(format) {\n var array = format.match(formattingTokens), i, length;\n\n for (i = 0, length = array.length; i < length; i++) {\n if (formatTokenFunctions[array[i]]) {\n array[i] = formatTokenFunctions[array[i]];\n } else {\n array[i] = removeFormattingTokens(array[i]);\n }\n }\n\n return function (mom) {\n var output = '', i;\n for (i = 0; i < length; i++) {\n output += isFunction(array[i]) ? array[i].call(mom, format) : array[i];\n }\n return output;\n };\n }\n\n // format date using native date object\n function formatMoment(m, format) {\n if (!m.isValid()) {\n return m.localeData().invalidDate();\n }\n\n format = expandFormat(format, m.localeData());\n formatFunctions[format] = formatFunctions[format] || makeFormatFunction(format);\n\n return formatFunctions[format](m);\n }\n\n function expandFormat(format, locale) {\n var i = 5;\n\n function replaceLongDateFormatTokens(input) {\n return locale.longDateFormat(input) || input;\n }\n\n localFormattingTokens.lastIndex = 0;\n while (i >= 0 && localFormattingTokens.test(format)) {\n format = format.replace(localFormattingTokens, replaceLongDateFormatTokens);\n localFormattingTokens.lastIndex = 0;\n i -= 1;\n }\n\n return format;\n }\n\n var match1 = /\\d/; // 0 - 9\n var match2 = /\\d\\d/; // 00 - 99\n var match3 = /\\d{3}/; // 000 - 999\n var match4 = /\\d{4}/; // 0000 - 9999\n var match6 = /[+-]?\\d{6}/; // -999999 - 999999\n var match1to2 = /\\d\\d?/; // 0 - 99\n var match3to4 = /\\d\\d\\d\\d?/; // 999 - 9999\n var match5to6 = /\\d\\d\\d\\d\\d\\d?/; // 99999 - 999999\n var match1to3 = /\\d{1,3}/; // 0 - 999\n var match1to4 = /\\d{1,4}/; // 0 - 9999\n var match1to6 = /[+-]?\\d{1,6}/; // -999999 - 999999\n\n var matchUnsigned = /\\d+/; // 0 - inf\n var matchSigned = /[+-]?\\d+/; // -inf - inf\n\n var matchOffset = /Z|[+-]\\d\\d:?\\d\\d/gi; // +00:00 -00:00 +0000 -0000 or Z\n var matchShortOffset = /Z|[+-]\\d\\d(?::?\\d\\d)?/gi; // +00 -00 +00:00 -00:00 +0000 -0000 or Z\n\n var matchTimestamp = /[+-]?\\d+(\\.\\d{1,3})?/; // 123456789 123456789.123\n\n // any word (or two) characters or numbers including two/three word month in arabic.\n // includes scottish gaelic two word and hyphenated months\n var matchWord = /[0-9]{0,256}['a-z\\u00A0-\\u05FF\\u0700-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFF07\\uFF10-\\uFFEF]{1,256}|[\\u0600-\\u06FF\\/]{1,256}(\\s*?[\\u0600-\\u06FF]{1,256}){1,2}/i;\n\n var regexes = {};\n\n function addRegexToken (token, regex, strictRegex) {\n regexes[token] = isFunction(regex) ? regex : function (isStrict, localeData) {\n return (isStrict && strictRegex) ? strictRegex : regex;\n };\n }\n\n function getParseRegexForToken (token, config) {\n if (!hasOwnProp(regexes, token)) {\n return new RegExp(unescapeFormat(token));\n }\n\n return regexes[token](config._strict, config._locale);\n }\n\n // Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript\n function unescapeFormat(s) {\n return regexEscape(s.replace('\\\\', '').replace(/\\\\(\\[)|\\\\(\\])|\\[([^\\]\\[]*)\\]|\\\\(.)/g, function (matched, p1, p2, p3, p4) {\n return p1 || p2 || p3 || p4;\n }));\n }\n\n function regexEscape(s) {\n return s.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n }\n\n var tokens = {};\n\n function addParseToken (token, callback) {\n var i, func = callback;\n if (typeof token === 'string') {\n token = [token];\n }\n if (isNumber(callback)) {\n func = function (input, array) {\n array[callback] = toInt(input);\n };\n }\n for (i = 0; i < token.length; i++) {\n tokens[token[i]] = func;\n }\n }\n\n function addWeekParseToken (token, callback) {\n addParseToken(token, function (input, array, config, token) {\n config._w = config._w || {};\n callback(input, config._w, config, token);\n });\n }\n\n function addTimeToArrayFromToken(token, input, config) {\n if (input != null && hasOwnProp(tokens, token)) {\n tokens[token](input, config._a, config, token);\n }\n }\n\n var YEAR = 0;\n var MONTH = 1;\n var DATE = 2;\n var HOUR = 3;\n var MINUTE = 4;\n var SECOND = 5;\n var MILLISECOND = 6;\n var WEEK = 7;\n var WEEKDAY = 8;\n\n // FORMATTING\n\n addFormatToken('Y', 0, 0, function () {\n var y = this.year();\n return y <= 9999 ? '' + y : '+' + y;\n });\n\n addFormatToken(0, ['YY', 2], 0, function () {\n return this.year() % 100;\n });\n\n addFormatToken(0, ['YYYY', 4], 0, 'year');\n addFormatToken(0, ['YYYYY', 5], 0, 'year');\n addFormatToken(0, ['YYYYYY', 6, true], 0, 'year');\n\n // ALIASES\n\n addUnitAlias('year', 'y');\n\n // PRIORITIES\n\n addUnitPriority('year', 1);\n\n // PARSING\n\n addRegexToken('Y', matchSigned);\n addRegexToken('YY', match1to2, match2);\n addRegexToken('YYYY', match1to4, match4);\n addRegexToken('YYYYY', match1to6, match6);\n addRegexToken('YYYYYY', match1to6, match6);\n\n addParseToken(['YYYYY', 'YYYYYY'], YEAR);\n addParseToken('YYYY', function (input, array) {\n array[YEAR] = input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input);\n });\n addParseToken('YY', function (input, array) {\n array[YEAR] = hooks.parseTwoDigitYear(input);\n });\n addParseToken('Y', function (input, array) {\n array[YEAR] = parseInt(input, 10);\n });\n\n // HELPERS\n\n function daysInYear(year) {\n return isLeapYear(year) ? 366 : 365;\n }\n\n function isLeapYear(year) {\n return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;\n }\n\n // HOOKS\n\n hooks.parseTwoDigitYear = function (input) {\n return toInt(input) + (toInt(input) > 68 ? 1900 : 2000);\n };\n\n // MOMENTS\n\n var getSetYear = makeGetSet('FullYear', true);\n\n function getIsLeapYear () {\n return isLeapYear(this.year());\n }\n\n function makeGetSet (unit, keepTime) {\n return function (value) {\n if (value != null) {\n set$1(this, unit, value);\n hooks.updateOffset(this, keepTime);\n return this;\n } else {\n return get(this, unit);\n }\n };\n }\n\n function get (mom, unit) {\n return mom.isValid() ?\n mom._d['get' + (mom._isUTC ? 'UTC' : '') + unit]() : NaN;\n }\n\n function set$1 (mom, unit, value) {\n if (mom.isValid() && !isNaN(value)) {\n if (unit === 'FullYear' && isLeapYear(mom.year()) && mom.month() === 1 && mom.date() === 29) {\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value, mom.month(), daysInMonth(value, mom.month()));\n }\n else {\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value);\n }\n }\n }\n\n // MOMENTS\n\n function stringGet (units) {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units]();\n }\n return this;\n }\n\n\n function stringSet (units, value) {\n if (typeof units === 'object') {\n units = normalizeObjectUnits(units);\n var prioritized = getPrioritizedUnits(units);\n for (var i = 0; i < prioritized.length; i++) {\n this[prioritized[i].unit](units[prioritized[i].unit]);\n }\n } else {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units](value);\n }\n }\n return this;\n }\n\n function mod(n, x) {\n return ((n % x) + x) % x;\n }\n\n var indexOf;\n\n if (Array.prototype.indexOf) {\n indexOf = Array.prototype.indexOf;\n } else {\n indexOf = function (o) {\n // I know\n var i;\n for (i = 0; i < this.length; ++i) {\n if (this[i] === o) {\n return i;\n }\n }\n return -1;\n };\n }\n\n function daysInMonth(year, month) {\n if (isNaN(year) || isNaN(month)) {\n return NaN;\n }\n var modMonth = mod(month, 12);\n year += (month - modMonth) / 12;\n return modMonth === 1 ? (isLeapYear(year) ? 29 : 28) : (31 - modMonth % 7 % 2);\n }\n\n // FORMATTING\n\n addFormatToken('M', ['MM', 2], 'Mo', function () {\n return this.month() + 1;\n });\n\n addFormatToken('MMM', 0, 0, function (format) {\n return this.localeData().monthsShort(this, format);\n });\n\n addFormatToken('MMMM', 0, 0, function (format) {\n return this.localeData().months(this, format);\n });\n\n // ALIASES\n\n addUnitAlias('month', 'M');\n\n // PRIORITY\n\n addUnitPriority('month', 8);\n\n // PARSING\n\n addRegexToken('M', match1to2);\n addRegexToken('MM', match1to2, match2);\n addRegexToken('MMM', function (isStrict, locale) {\n return locale.monthsShortRegex(isStrict);\n });\n addRegexToken('MMMM', function (isStrict, locale) {\n return locale.monthsRegex(isStrict);\n });\n\n addParseToken(['M', 'MM'], function (input, array) {\n array[MONTH] = toInt(input) - 1;\n });\n\n addParseToken(['MMM', 'MMMM'], function (input, array, config, token) {\n var month = config._locale.monthsParse(input, token, config._strict);\n // if we didn't find a month name, mark the date as invalid.\n if (month != null) {\n array[MONTH] = month;\n } else {\n getParsingFlags(config).invalidMonth = input;\n }\n });\n\n // LOCALES\n\n var MONTHS_IN_FORMAT = /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?/;\n var defaultLocaleMonths = 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_');\n function localeMonths (m, format) {\n if (!m) {\n return isArray(this._months) ? this._months :\n this._months['standalone'];\n }\n return isArray(this._months) ? this._months[m.month()] :\n this._months[(this._months.isFormat || MONTHS_IN_FORMAT).test(format) ? 'format' : 'standalone'][m.month()];\n }\n\n var defaultLocaleMonthsShort = 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_');\n function localeMonthsShort (m, format) {\n if (!m) {\n return isArray(this._monthsShort) ? this._monthsShort :\n this._monthsShort['standalone'];\n }\n return isArray(this._monthsShort) ? this._monthsShort[m.month()] :\n this._monthsShort[MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone'][m.month()];\n }\n\n function handleStrictParse(monthName, format, strict) {\n var i, ii, mom, llc = monthName.toLocaleLowerCase();\n if (!this._monthsParse) {\n // this is not used\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n for (i = 0; i < 12; ++i) {\n mom = createUTC([2000, i]);\n this._shortMonthsParse[i] = this.monthsShort(mom, '').toLocaleLowerCase();\n this._longMonthsParse[i] = this.months(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n }\n\n function localeMonthsParse (monthName, format, strict) {\n var i, mom, regex;\n\n if (this._monthsParseExact) {\n return handleStrictParse.call(this, monthName, format, strict);\n }\n\n if (!this._monthsParse) {\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n }\n\n // TODO: add sorting\n // Sorting makes sure if one month (or abbr) is a prefix of another\n // see sorting in computeMonthsParse\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n if (strict && !this._longMonthsParse[i]) {\n this._longMonthsParse[i] = new RegExp('^' + this.months(mom, '').replace('.', '') + '$', 'i');\n this._shortMonthsParse[i] = new RegExp('^' + this.monthsShort(mom, '').replace('.', '') + '$', 'i');\n }\n if (!strict && !this._monthsParse[i]) {\n regex = '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, '');\n this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (strict && format === 'MMMM' && this._longMonthsParse[i].test(monthName)) {\n return i;\n } else if (strict && format === 'MMM' && this._shortMonthsParse[i].test(monthName)) {\n return i;\n } else if (!strict && this._monthsParse[i].test(monthName)) {\n return i;\n }\n }\n }\n\n // MOMENTS\n\n function setMonth (mom, value) {\n var dayOfMonth;\n\n if (!mom.isValid()) {\n // No op\n return mom;\n }\n\n if (typeof value === 'string') {\n if (/^\\d+$/.test(value)) {\n value = toInt(value);\n } else {\n value = mom.localeData().monthsParse(value);\n // TODO: Another silent failure?\n if (!isNumber(value)) {\n return mom;\n }\n }\n }\n\n dayOfMonth = Math.min(mom.date(), daysInMonth(mom.year(), value));\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + 'Month'](value, dayOfMonth);\n return mom;\n }\n\n function getSetMonth (value) {\n if (value != null) {\n setMonth(this, value);\n hooks.updateOffset(this, true);\n return this;\n } else {\n return get(this, 'Month');\n }\n }\n\n function getDaysInMonth () {\n return daysInMonth(this.year(), this.month());\n }\n\n var defaultMonthsShortRegex = matchWord;\n function monthsShortRegex (isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n if (isStrict) {\n return this._monthsShortStrictRegex;\n } else {\n return this._monthsShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsShortRegex')) {\n this._monthsShortRegex = defaultMonthsShortRegex;\n }\n return this._monthsShortStrictRegex && isStrict ?\n this._monthsShortStrictRegex : this._monthsShortRegex;\n }\n }\n\n var defaultMonthsRegex = matchWord;\n function monthsRegex (isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n if (isStrict) {\n return this._monthsStrictRegex;\n } else {\n return this._monthsRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsRegex')) {\n this._monthsRegex = defaultMonthsRegex;\n }\n return this._monthsStrictRegex && isStrict ?\n this._monthsStrictRegex : this._monthsRegex;\n }\n }\n\n function computeMonthsParse () {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var shortPieces = [], longPieces = [], mixedPieces = [],\n i, mom;\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n shortPieces.push(this.monthsShort(mom, ''));\n longPieces.push(this.months(mom, ''));\n mixedPieces.push(this.months(mom, ''));\n mixedPieces.push(this.monthsShort(mom, ''));\n }\n // Sorting makes sure if one month (or abbr) is a prefix of another it\n // will match the longer piece.\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n for (i = 0; i < 12; i++) {\n shortPieces[i] = regexEscape(shortPieces[i]);\n longPieces[i] = regexEscape(longPieces[i]);\n }\n for (i = 0; i < 24; i++) {\n mixedPieces[i] = regexEscape(mixedPieces[i]);\n }\n\n this._monthsRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._monthsShortRegex = this._monthsRegex;\n this._monthsStrictRegex = new RegExp('^(' + longPieces.join('|') + ')', 'i');\n this._monthsShortStrictRegex = new RegExp('^(' + shortPieces.join('|') + ')', 'i');\n }\n\n function createDate (y, m, d, h, M, s, ms) {\n // can't just apply() to create a date:\n // https://stackoverflow.com/q/181348\n var date = new Date(y, m, d, h, M, s, ms);\n\n // the date constructor remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0 && isFinite(date.getFullYear())) {\n date.setFullYear(y);\n }\n return date;\n }\n\n function createUTCDate (y) {\n var date = new Date(Date.UTC.apply(null, arguments));\n\n // the Date.UTC function remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0 && isFinite(date.getUTCFullYear())) {\n date.setUTCFullYear(y);\n }\n return date;\n }\n\n // start-of-first-week - start-of-year\n function firstWeekOffset(year, dow, doy) {\n var // first-week day -- which january is always in the first week (4 for iso, 1 for other)\n fwd = 7 + dow - doy,\n // first-week day local weekday -- which local weekday is fwd\n fwdlw = (7 + createUTCDate(year, 0, fwd).getUTCDay() - dow) % 7;\n\n return -fwdlw + fwd - 1;\n }\n\n // https://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday\n function dayOfYearFromWeeks(year, week, weekday, dow, doy) {\n var localWeekday = (7 + weekday - dow) % 7,\n weekOffset = firstWeekOffset(year, dow, doy),\n dayOfYear = 1 + 7 * (week - 1) + localWeekday + weekOffset,\n resYear, resDayOfYear;\n\n if (dayOfYear <= 0) {\n resYear = year - 1;\n resDayOfYear = daysInYear(resYear) + dayOfYear;\n } else if (dayOfYear > daysInYear(year)) {\n resYear = year + 1;\n resDayOfYear = dayOfYear - daysInYear(year);\n } else {\n resYear = year;\n resDayOfYear = dayOfYear;\n }\n\n return {\n year: resYear,\n dayOfYear: resDayOfYear\n };\n }\n\n function weekOfYear(mom, dow, doy) {\n var weekOffset = firstWeekOffset(mom.year(), dow, doy),\n week = Math.floor((mom.dayOfYear() - weekOffset - 1) / 7) + 1,\n resWeek, resYear;\n\n if (week < 1) {\n resYear = mom.year() - 1;\n resWeek = week + weeksInYear(resYear, dow, doy);\n } else if (week > weeksInYear(mom.year(), dow, doy)) {\n resWeek = week - weeksInYear(mom.year(), dow, doy);\n resYear = mom.year() + 1;\n } else {\n resYear = mom.year();\n resWeek = week;\n }\n\n return {\n week: resWeek,\n year: resYear\n };\n }\n\n function weeksInYear(year, dow, doy) {\n var weekOffset = firstWeekOffset(year, dow, doy),\n weekOffsetNext = firstWeekOffset(year + 1, dow, doy);\n return (daysInYear(year) - weekOffset + weekOffsetNext) / 7;\n }\n\n // FORMATTING\n\n addFormatToken('w', ['ww', 2], 'wo', 'week');\n addFormatToken('W', ['WW', 2], 'Wo', 'isoWeek');\n\n // ALIASES\n\n addUnitAlias('week', 'w');\n addUnitAlias('isoWeek', 'W');\n\n // PRIORITIES\n\n addUnitPriority('week', 5);\n addUnitPriority('isoWeek', 5);\n\n // PARSING\n\n addRegexToken('w', match1to2);\n addRegexToken('ww', match1to2, match2);\n addRegexToken('W', match1to2);\n addRegexToken('WW', match1to2, match2);\n\n addWeekParseToken(['w', 'ww', 'W', 'WW'], function (input, week, config, token) {\n week[token.substr(0, 1)] = toInt(input);\n });\n\n // HELPERS\n\n // LOCALES\n\n function localeWeek (mom) {\n return weekOfYear(mom, this._week.dow, this._week.doy).week;\n }\n\n var defaultLocaleWeek = {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n };\n\n function localeFirstDayOfWeek () {\n return this._week.dow;\n }\n\n function localeFirstDayOfYear () {\n return this._week.doy;\n }\n\n // MOMENTS\n\n function getSetWeek (input) {\n var week = this.localeData().week(this);\n return input == null ? week : this.add((input - week) * 7, 'd');\n }\n\n function getSetISOWeek (input) {\n var week = weekOfYear(this, 1, 4).week;\n return input == null ? week : this.add((input - week) * 7, 'd');\n }\n\n // FORMATTING\n\n addFormatToken('d', 0, 'do', 'day');\n\n addFormatToken('dd', 0, 0, function (format) {\n return this.localeData().weekdaysMin(this, format);\n });\n\n addFormatToken('ddd', 0, 0, function (format) {\n return this.localeData().weekdaysShort(this, format);\n });\n\n addFormatToken('dddd', 0, 0, function (format) {\n return this.localeData().weekdays(this, format);\n });\n\n addFormatToken('e', 0, 0, 'weekday');\n addFormatToken('E', 0, 0, 'isoWeekday');\n\n // ALIASES\n\n addUnitAlias('day', 'd');\n addUnitAlias('weekday', 'e');\n addUnitAlias('isoWeekday', 'E');\n\n // PRIORITY\n addUnitPriority('day', 11);\n addUnitPriority('weekday', 11);\n addUnitPriority('isoWeekday', 11);\n\n // PARSING\n\n addRegexToken('d', match1to2);\n addRegexToken('e', match1to2);\n addRegexToken('E', match1to2);\n addRegexToken('dd', function (isStrict, locale) {\n return locale.weekdaysMinRegex(isStrict);\n });\n addRegexToken('ddd', function (isStrict, locale) {\n return locale.weekdaysShortRegex(isStrict);\n });\n addRegexToken('dddd', function (isStrict, locale) {\n return locale.weekdaysRegex(isStrict);\n });\n\n addWeekParseToken(['dd', 'ddd', 'dddd'], function (input, week, config, token) {\n var weekday = config._locale.weekdaysParse(input, token, config._strict);\n // if we didn't get a weekday name, mark the date as invalid\n if (weekday != null) {\n week.d = weekday;\n } else {\n getParsingFlags(config).invalidWeekday = input;\n }\n });\n\n addWeekParseToken(['d', 'e', 'E'], function (input, week, config, token) {\n week[token] = toInt(input);\n });\n\n // HELPERS\n\n function parseWeekday(input, locale) {\n if (typeof input !== 'string') {\n return input;\n }\n\n if (!isNaN(input)) {\n return parseInt(input, 10);\n }\n\n input = locale.weekdaysParse(input);\n if (typeof input === 'number') {\n return input;\n }\n\n return null;\n }\n\n function parseIsoWeekday(input, locale) {\n if (typeof input === 'string') {\n return locale.weekdaysParse(input) % 7 || 7;\n }\n return isNaN(input) ? null : input;\n }\n\n // LOCALES\n\n var defaultLocaleWeekdays = 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_');\n function localeWeekdays (m, format) {\n if (!m) {\n return isArray(this._weekdays) ? this._weekdays :\n this._weekdays['standalone'];\n }\n return isArray(this._weekdays) ? this._weekdays[m.day()] :\n this._weekdays[this._weekdays.isFormat.test(format) ? 'format' : 'standalone'][m.day()];\n }\n\n var defaultLocaleWeekdaysShort = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_');\n function localeWeekdaysShort (m) {\n return (m) ? this._weekdaysShort[m.day()] : this._weekdaysShort;\n }\n\n var defaultLocaleWeekdaysMin = 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_');\n function localeWeekdaysMin (m) {\n return (m) ? this._weekdaysMin[m.day()] : this._weekdaysMin;\n }\n\n function handleStrictParse$1(weekdayName, format, strict) {\n var i, ii, mom, llc = weekdayName.toLocaleLowerCase();\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._minWeekdaysParse = [];\n\n for (i = 0; i < 7; ++i) {\n mom = createUTC([2000, 1]).day(i);\n this._minWeekdaysParse[i] = this.weekdaysMin(mom, '').toLocaleLowerCase();\n this._shortWeekdaysParse[i] = this.weekdaysShort(mom, '').toLocaleLowerCase();\n this._weekdaysParse[i] = this.weekdays(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n }\n\n function localeWeekdaysParse (weekdayName, format, strict) {\n var i, mom, regex;\n\n if (this._weekdaysParseExact) {\n return handleStrictParse$1.call(this, weekdayName, format, strict);\n }\n\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._minWeekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._fullWeekdaysParse = [];\n }\n\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n\n mom = createUTC([2000, 1]).day(i);\n if (strict && !this._fullWeekdaysParse[i]) {\n this._fullWeekdaysParse[i] = new RegExp('^' + this.weekdays(mom, '').replace('.', '\\\\.?') + '$', 'i');\n this._shortWeekdaysParse[i] = new RegExp('^' + this.weekdaysShort(mom, '').replace('.', '\\\\.?') + '$', 'i');\n this._minWeekdaysParse[i] = new RegExp('^' + this.weekdaysMin(mom, '').replace('.', '\\\\.?') + '$', 'i');\n }\n if (!this._weekdaysParse[i]) {\n regex = '^' + this.weekdays(mom, '') + '|^' + this.weekdaysShort(mom, '') + '|^' + this.weekdaysMin(mom, '');\n this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (strict && format === 'dddd' && this._fullWeekdaysParse[i].test(weekdayName)) {\n return i;\n } else if (strict && format === 'ddd' && this._shortWeekdaysParse[i].test(weekdayName)) {\n return i;\n } else if (strict && format === 'dd' && this._minWeekdaysParse[i].test(weekdayName)) {\n return i;\n } else if (!strict && this._weekdaysParse[i].test(weekdayName)) {\n return i;\n }\n }\n }\n\n // MOMENTS\n\n function getSetDayOfWeek (input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n var day = this._isUTC ? this._d.getUTCDay() : this._d.getDay();\n if (input != null) {\n input = parseWeekday(input, this.localeData());\n return this.add(input - day, 'd');\n } else {\n return day;\n }\n }\n\n function getSetLocaleDayOfWeek (input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7;\n return input == null ? weekday : this.add(input - weekday, 'd');\n }\n\n function getSetISODayOfWeek (input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n\n // behaves the same as moment#day except\n // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6)\n // as a setter, sunday should belong to the previous week.\n\n if (input != null) {\n var weekday = parseIsoWeekday(input, this.localeData());\n return this.day(this.day() % 7 ? weekday : weekday - 7);\n } else {\n return this.day() || 7;\n }\n }\n\n var defaultWeekdaysRegex = matchWord;\n function weekdaysRegex (isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysStrictRegex;\n } else {\n return this._weekdaysRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n this._weekdaysRegex = defaultWeekdaysRegex;\n }\n return this._weekdaysStrictRegex && isStrict ?\n this._weekdaysStrictRegex : this._weekdaysRegex;\n }\n }\n\n var defaultWeekdaysShortRegex = matchWord;\n function weekdaysShortRegex (isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysShortStrictRegex;\n } else {\n return this._weekdaysShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysShortRegex')) {\n this._weekdaysShortRegex = defaultWeekdaysShortRegex;\n }\n return this._weekdaysShortStrictRegex && isStrict ?\n this._weekdaysShortStrictRegex : this._weekdaysShortRegex;\n }\n }\n\n var defaultWeekdaysMinRegex = matchWord;\n function weekdaysMinRegex (isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysMinStrictRegex;\n } else {\n return this._weekdaysMinRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysMinRegex')) {\n this._weekdaysMinRegex = defaultWeekdaysMinRegex;\n }\n return this._weekdaysMinStrictRegex && isStrict ?\n this._weekdaysMinStrictRegex : this._weekdaysMinRegex;\n }\n }\n\n\n function computeWeekdaysParse () {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var minPieces = [], shortPieces = [], longPieces = [], mixedPieces = [],\n i, mom, minp, shortp, longp;\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, 1]).day(i);\n minp = this.weekdaysMin(mom, '');\n shortp = this.weekdaysShort(mom, '');\n longp = this.weekdays(mom, '');\n minPieces.push(minp);\n shortPieces.push(shortp);\n longPieces.push(longp);\n mixedPieces.push(minp);\n mixedPieces.push(shortp);\n mixedPieces.push(longp);\n }\n // Sorting makes sure if one weekday (or abbr) is a prefix of another it\n // will match the longer piece.\n minPieces.sort(cmpLenRev);\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n for (i = 0; i < 7; i++) {\n shortPieces[i] = regexEscape(shortPieces[i]);\n longPieces[i] = regexEscape(longPieces[i]);\n mixedPieces[i] = regexEscape(mixedPieces[i]);\n }\n\n this._weekdaysRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._weekdaysShortRegex = this._weekdaysRegex;\n this._weekdaysMinRegex = this._weekdaysRegex;\n\n this._weekdaysStrictRegex = new RegExp('^(' + longPieces.join('|') + ')', 'i');\n this._weekdaysShortStrictRegex = new RegExp('^(' + shortPieces.join('|') + ')', 'i');\n this._weekdaysMinStrictRegex = new RegExp('^(' + minPieces.join('|') + ')', 'i');\n }\n\n // FORMATTING\n\n function hFormat() {\n return this.hours() % 12 || 12;\n }\n\n function kFormat() {\n return this.hours() || 24;\n }\n\n addFormatToken('H', ['HH', 2], 0, 'hour');\n addFormatToken('h', ['hh', 2], 0, hFormat);\n addFormatToken('k', ['kk', 2], 0, kFormat);\n\n addFormatToken('hmm', 0, 0, function () {\n return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2);\n });\n\n addFormatToken('hmmss', 0, 0, function () {\n return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2);\n });\n\n addFormatToken('Hmm', 0, 0, function () {\n return '' + this.hours() + zeroFill(this.minutes(), 2);\n });\n\n addFormatToken('Hmmss', 0, 0, function () {\n return '' + this.hours() + zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2);\n });\n\n function meridiem (token, lowercase) {\n addFormatToken(token, 0, 0, function () {\n return this.localeData().meridiem(this.hours(), this.minutes(), lowercase);\n });\n }\n\n meridiem('a', true);\n meridiem('A', false);\n\n // ALIASES\n\n addUnitAlias('hour', 'h');\n\n // PRIORITY\n addUnitPriority('hour', 13);\n\n // PARSING\n\n function matchMeridiem (isStrict, locale) {\n return locale._meridiemParse;\n }\n\n addRegexToken('a', matchMeridiem);\n addRegexToken('A', matchMeridiem);\n addRegexToken('H', match1to2);\n addRegexToken('h', match1to2);\n addRegexToken('k', match1to2);\n addRegexToken('HH', match1to2, match2);\n addRegexToken('hh', match1to2, match2);\n addRegexToken('kk', match1to2, match2);\n\n addRegexToken('hmm', match3to4);\n addRegexToken('hmmss', match5to6);\n addRegexToken('Hmm', match3to4);\n addRegexToken('Hmmss', match5to6);\n\n addParseToken(['H', 'HH'], HOUR);\n addParseToken(['k', 'kk'], function (input, array, config) {\n var kInput = toInt(input);\n array[HOUR] = kInput === 24 ? 0 : kInput;\n });\n addParseToken(['a', 'A'], function (input, array, config) {\n config._isPm = config._locale.isPM(input);\n config._meridiem = input;\n });\n addParseToken(['h', 'hh'], function (input, array, config) {\n array[HOUR] = toInt(input);\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('hmmss', function (input, array, config) {\n var pos1 = input.length - 4;\n var pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('Hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n });\n addParseToken('Hmmss', function (input, array, config) {\n var pos1 = input.length - 4;\n var pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n });\n\n // LOCALES\n\n function localeIsPM (input) {\n // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays\n // Using charAt should be more compatible.\n return ((input + '').toLowerCase().charAt(0) === 'p');\n }\n\n var defaultLocaleMeridiemParse = /[ap]\\.?m?\\.?/i;\n function localeMeridiem (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'pm' : 'PM';\n } else {\n return isLower ? 'am' : 'AM';\n }\n }\n\n\n // MOMENTS\n\n // Setting the hour should keep the time, because the user explicitly\n // specified which hour they want. So trying to maintain the same hour (in\n // a new timezone) makes sense. Adding/subtracting hours does not follow\n // this rule.\n var getSetHour = makeGetSet('Hours', true);\n\n var baseConfig = {\n calendar: defaultCalendar,\n longDateFormat: defaultLongDateFormat,\n invalidDate: defaultInvalidDate,\n ordinal: defaultOrdinal,\n dayOfMonthOrdinalParse: defaultDayOfMonthOrdinalParse,\n relativeTime: defaultRelativeTime,\n\n months: defaultLocaleMonths,\n monthsShort: defaultLocaleMonthsShort,\n\n week: defaultLocaleWeek,\n\n weekdays: defaultLocaleWeekdays,\n weekdaysMin: defaultLocaleWeekdaysMin,\n weekdaysShort: defaultLocaleWeekdaysShort,\n\n meridiemParse: defaultLocaleMeridiemParse\n };\n\n // internal storage for locale config files\n var locales = {};\n var localeFamilies = {};\n var globalLocale;\n\n function normalizeLocale(key) {\n return key ? key.toLowerCase().replace('_', '-') : key;\n }\n\n // pick the locale from the array\n // try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each\n // substring from most specific to least, but move to the next array item if it's a more specific variant than the current root\n function chooseLocale(names) {\n var i = 0, j, next, locale, split;\n\n while (i < names.length) {\n split = normalizeLocale(names[i]).split('-');\n j = split.length;\n next = normalizeLocale(names[i + 1]);\n next = next ? next.split('-') : null;\n while (j > 0) {\n locale = loadLocale(split.slice(0, j).join('-'));\n if (locale) {\n return locale;\n }\n if (next && next.length >= j && compareArrays(split, next, true) >= j - 1) {\n //the next array item is better than a shallower substring of this one\n break;\n }\n j--;\n }\n i++;\n }\n return globalLocale;\n }\n\n function loadLocale(name) {\n var oldLocale = null;\n // TODO: Find a better way to register and load all the locales in Node\n if (!locales[name] && (typeof module !== 'undefined') &&\n module && module.exports) {\n try {\n oldLocale = globalLocale._abbr;\n var aliasedRequire = require;\n aliasedRequire('./locale/' + name);\n getSetGlobalLocale(oldLocale);\n } catch (e) {}\n }\n return locales[name];\n }\n\n // This function will load locale and then set the global locale. If\n // no arguments are passed in, it will simply return the current global\n // locale key.\n function getSetGlobalLocale (key, values) {\n var data;\n if (key) {\n if (isUndefined(values)) {\n data = getLocale(key);\n }\n else {\n data = defineLocale(key, values);\n }\n\n if (data) {\n // moment.duration._locale = moment._locale = data;\n globalLocale = data;\n }\n else {\n if ((typeof console !== 'undefined') && console.warn) {\n //warn user if arguments are passed but the locale could not be set\n console.warn('Locale ' + key + ' not found. Did you forget to load it?');\n }\n }\n }\n\n return globalLocale._abbr;\n }\n\n function defineLocale (name, config) {\n if (config !== null) {\n var locale, parentConfig = baseConfig;\n config.abbr = name;\n if (locales[name] != null) {\n deprecateSimple('defineLocaleOverride',\n 'use moment.updateLocale(localeName, config) to change ' +\n 'an existing locale. moment.defineLocale(localeName, ' +\n 'config) should only be used for creating a new locale ' +\n 'See http://momentjs.com/guides/#/warnings/define-locale/ for more info.');\n parentConfig = locales[name]._config;\n } else if (config.parentLocale != null) {\n if (locales[config.parentLocale] != null) {\n parentConfig = locales[config.parentLocale]._config;\n } else {\n locale = loadLocale(config.parentLocale);\n if (locale != null) {\n parentConfig = locale._config;\n } else {\n if (!localeFamilies[config.parentLocale]) {\n localeFamilies[config.parentLocale] = [];\n }\n localeFamilies[config.parentLocale].push({\n name: name,\n config: config\n });\n return null;\n }\n }\n }\n locales[name] = new Locale(mergeConfigs(parentConfig, config));\n\n if (localeFamilies[name]) {\n localeFamilies[name].forEach(function (x) {\n defineLocale(x.name, x.config);\n });\n }\n\n // backwards compat for now: also set the locale\n // make sure we set the locale AFTER all child locales have been\n // created, so we won't end up with the child locale set.\n getSetGlobalLocale(name);\n\n\n return locales[name];\n } else {\n // useful for testing\n delete locales[name];\n return null;\n }\n }\n\n function updateLocale(name, config) {\n if (config != null) {\n var locale, tmpLocale, parentConfig = baseConfig;\n // MERGE\n tmpLocale = loadLocale(name);\n if (tmpLocale != null) {\n parentConfig = tmpLocale._config;\n }\n config = mergeConfigs(parentConfig, config);\n locale = new Locale(config);\n locale.parentLocale = locales[name];\n locales[name] = locale;\n\n // backwards compat for now: also set the locale\n getSetGlobalLocale(name);\n } else {\n // pass null for config to unupdate, useful for tests\n if (locales[name] != null) {\n if (locales[name].parentLocale != null) {\n locales[name] = locales[name].parentLocale;\n } else if (locales[name] != null) {\n delete locales[name];\n }\n }\n }\n return locales[name];\n }\n\n // returns locale data\n function getLocale (key) {\n var locale;\n\n if (key && key._locale && key._locale._abbr) {\n key = key._locale._abbr;\n }\n\n if (!key) {\n return globalLocale;\n }\n\n if (!isArray(key)) {\n //short-circuit everything else\n locale = loadLocale(key);\n if (locale) {\n return locale;\n }\n key = [key];\n }\n\n return chooseLocale(key);\n }\n\n function listLocales() {\n return keys(locales);\n }\n\n function checkOverflow (m) {\n var overflow;\n var a = m._a;\n\n if (a && getParsingFlags(m).overflow === -2) {\n overflow =\n a[MONTH] < 0 || a[MONTH] > 11 ? MONTH :\n a[DATE] < 1 || a[DATE] > daysInMonth(a[YEAR], a[MONTH]) ? DATE :\n a[HOUR] < 0 || a[HOUR] > 24 || (a[HOUR] === 24 && (a[MINUTE] !== 0 || a[SECOND] !== 0 || a[MILLISECOND] !== 0)) ? HOUR :\n a[MINUTE] < 0 || a[MINUTE] > 59 ? MINUTE :\n a[SECOND] < 0 || a[SECOND] > 59 ? SECOND :\n a[MILLISECOND] < 0 || a[MILLISECOND] > 999 ? MILLISECOND :\n -1;\n\n if (getParsingFlags(m)._overflowDayOfYear && (overflow < YEAR || overflow > DATE)) {\n overflow = DATE;\n }\n if (getParsingFlags(m)._overflowWeeks && overflow === -1) {\n overflow = WEEK;\n }\n if (getParsingFlags(m)._overflowWeekday && overflow === -1) {\n overflow = WEEKDAY;\n }\n\n getParsingFlags(m).overflow = overflow;\n }\n\n return m;\n }\n\n // Pick the first defined of two or three arguments.\n function defaults(a, b, c) {\n if (a != null) {\n return a;\n }\n if (b != null) {\n return b;\n }\n return c;\n }\n\n function currentDateArray(config) {\n // hooks is actually the exported moment object\n var nowValue = new Date(hooks.now());\n if (config._useUTC) {\n return [nowValue.getUTCFullYear(), nowValue.getUTCMonth(), nowValue.getUTCDate()];\n }\n return [nowValue.getFullYear(), nowValue.getMonth(), nowValue.getDate()];\n }\n\n // convert an array to a date.\n // the array should mirror the parameters below\n // note: all values past the year are optional and will default to the lowest possible value.\n // [year, month, day , hour, minute, second, millisecond]\n function configFromArray (config) {\n var i, date, input = [], currentDate, expectedWeekday, yearToUse;\n\n if (config._d) {\n return;\n }\n\n currentDate = currentDateArray(config);\n\n //compute day of the year from weeks and weekdays\n if (config._w && config._a[DATE] == null && config._a[MONTH] == null) {\n dayOfYearFromWeekInfo(config);\n }\n\n //if the day of the year is set, figure out what it is\n if (config._dayOfYear != null) {\n yearToUse = defaults(config._a[YEAR], currentDate[YEAR]);\n\n if (config._dayOfYear > daysInYear(yearToUse) || config._dayOfYear === 0) {\n getParsingFlags(config)._overflowDayOfYear = true;\n }\n\n date = createUTCDate(yearToUse, 0, config._dayOfYear);\n config._a[MONTH] = date.getUTCMonth();\n config._a[DATE] = date.getUTCDate();\n }\n\n // Default to current date.\n // * if no year, month, day of month are given, default to today\n // * if day of month is given, default month and year\n // * if month is given, default only year\n // * if year is given, don't default anything\n for (i = 0; i < 3 && config._a[i] == null; ++i) {\n config._a[i] = input[i] = currentDate[i];\n }\n\n // Zero out whatever was not defaulted, including time\n for (; i < 7; i++) {\n config._a[i] = input[i] = (config._a[i] == null) ? (i === 2 ? 1 : 0) : config._a[i];\n }\n\n // Check for 24:00:00.000\n if (config._a[HOUR] === 24 &&\n config._a[MINUTE] === 0 &&\n config._a[SECOND] === 0 &&\n config._a[MILLISECOND] === 0) {\n config._nextDay = true;\n config._a[HOUR] = 0;\n }\n\n config._d = (config._useUTC ? createUTCDate : createDate).apply(null, input);\n expectedWeekday = config._useUTC ? config._d.getUTCDay() : config._d.getDay();\n\n // Apply timezone offset from input. The actual utcOffset can be changed\n // with parseZone.\n if (config._tzm != null) {\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n }\n\n if (config._nextDay) {\n config._a[HOUR] = 24;\n }\n\n // check for mismatching day of week\n if (config._w && typeof config._w.d !== 'undefined' && config._w.d !== expectedWeekday) {\n getParsingFlags(config).weekdayMismatch = true;\n }\n }\n\n function dayOfYearFromWeekInfo(config) {\n var w, weekYear, week, weekday, dow, doy, temp, weekdayOverflow;\n\n w = config._w;\n if (w.GG != null || w.W != null || w.E != null) {\n dow = 1;\n doy = 4;\n\n // TODO: We need to take the current isoWeekYear, but that depends on\n // how we interpret now (local, utc, fixed offset). So create\n // a now version of current config (take local/utc/offset flags, and\n // create now).\n weekYear = defaults(w.GG, config._a[YEAR], weekOfYear(createLocal(), 1, 4).year);\n week = defaults(w.W, 1);\n weekday = defaults(w.E, 1);\n if (weekday < 1 || weekday > 7) {\n weekdayOverflow = true;\n }\n } else {\n dow = config._locale._week.dow;\n doy = config._locale._week.doy;\n\n var curWeek = weekOfYear(createLocal(), dow, doy);\n\n weekYear = defaults(w.gg, config._a[YEAR], curWeek.year);\n\n // Default to current week.\n week = defaults(w.w, curWeek.week);\n\n if (w.d != null) {\n // weekday -- low day numbers are considered next week\n weekday = w.d;\n if (weekday < 0 || weekday > 6) {\n weekdayOverflow = true;\n }\n } else if (w.e != null) {\n // local weekday -- counting starts from begining of week\n weekday = w.e + dow;\n if (w.e < 0 || w.e > 6) {\n weekdayOverflow = true;\n }\n } else {\n // default to begining of week\n weekday = dow;\n }\n }\n if (week < 1 || week > weeksInYear(weekYear, dow, doy)) {\n getParsingFlags(config)._overflowWeeks = true;\n } else if (weekdayOverflow != null) {\n getParsingFlags(config)._overflowWeekday = true;\n } else {\n temp = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy);\n config._a[YEAR] = temp.year;\n config._dayOfYear = temp.dayOfYear;\n }\n }\n\n // iso 8601 regex\n // 0000-00-00 0000-W00 or 0000-W00-0 + T + 00 or 00:00 or 00:00:00 or 00:00:00.000 + +00:00 or +0000 or +00)\n var extendedIsoRegex = /^\\s*((?:[+-]\\d{6}|\\d{4})-(?:\\d\\d-\\d\\d|W\\d\\d-\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?::\\d\\d(?::\\d\\d(?:[.,]\\d+)?)?)?)([\\+\\-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/;\n var basicIsoRegex = /^\\s*((?:[+-]\\d{6}|\\d{4})(?:\\d\\d\\d\\d|W\\d\\d\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?:\\d\\d(?:\\d\\d(?:[.,]\\d+)?)?)?)([\\+\\-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/;\n\n var tzRegex = /Z|[+-]\\d\\d(?::?\\d\\d)?/;\n\n var isoDates = [\n ['YYYYYY-MM-DD', /[+-]\\d{6}-\\d\\d-\\d\\d/],\n ['YYYY-MM-DD', /\\d{4}-\\d\\d-\\d\\d/],\n ['GGGG-[W]WW-E', /\\d{4}-W\\d\\d-\\d/],\n ['GGGG-[W]WW', /\\d{4}-W\\d\\d/, false],\n ['YYYY-DDD', /\\d{4}-\\d{3}/],\n ['YYYY-MM', /\\d{4}-\\d\\d/, false],\n ['YYYYYYMMDD', /[+-]\\d{10}/],\n ['YYYYMMDD', /\\d{8}/],\n // YYYYMM is NOT allowed by the standard\n ['GGGG[W]WWE', /\\d{4}W\\d{3}/],\n ['GGGG[W]WW', /\\d{4}W\\d{2}/, false],\n ['YYYYDDD', /\\d{7}/]\n ];\n\n // iso time formats and regexes\n var isoTimes = [\n ['HH:mm:ss.SSSS', /\\d\\d:\\d\\d:\\d\\d\\.\\d+/],\n ['HH:mm:ss,SSSS', /\\d\\d:\\d\\d:\\d\\d,\\d+/],\n ['HH:mm:ss', /\\d\\d:\\d\\d:\\d\\d/],\n ['HH:mm', /\\d\\d:\\d\\d/],\n ['HHmmss.SSSS', /\\d\\d\\d\\d\\d\\d\\.\\d+/],\n ['HHmmss,SSSS', /\\d\\d\\d\\d\\d\\d,\\d+/],\n ['HHmmss', /\\d\\d\\d\\d\\d\\d/],\n ['HHmm', /\\d\\d\\d\\d/],\n ['HH', /\\d\\d/]\n ];\n\n var aspNetJsonRegex = /^\\/?Date\\((\\-?\\d+)/i;\n\n // date from iso format\n function configFromISO(config) {\n var i, l,\n string = config._i,\n match = extendedIsoRegex.exec(string) || basicIsoRegex.exec(string),\n allowTime, dateFormat, timeFormat, tzFormat;\n\n if (match) {\n getParsingFlags(config).iso = true;\n\n for (i = 0, l = isoDates.length; i < l; i++) {\n if (isoDates[i][1].exec(match[1])) {\n dateFormat = isoDates[i][0];\n allowTime = isoDates[i][2] !== false;\n break;\n }\n }\n if (dateFormat == null) {\n config._isValid = false;\n return;\n }\n if (match[3]) {\n for (i = 0, l = isoTimes.length; i < l; i++) {\n if (isoTimes[i][1].exec(match[3])) {\n // match[2] should be 'T' or space\n timeFormat = (match[2] || ' ') + isoTimes[i][0];\n break;\n }\n }\n if (timeFormat == null) {\n config._isValid = false;\n return;\n }\n }\n if (!allowTime && timeFormat != null) {\n config._isValid = false;\n return;\n }\n if (match[4]) {\n if (tzRegex.exec(match[4])) {\n tzFormat = 'Z';\n } else {\n config._isValid = false;\n return;\n }\n }\n config._f = dateFormat + (timeFormat || '') + (tzFormat || '');\n configFromStringAndFormat(config);\n } else {\n config._isValid = false;\n }\n }\n\n // RFC 2822 regex: For details see https://tools.ietf.org/html/rfc2822#section-3.3\n var rfc2822 = /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\\s)?(\\d{1,2})\\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\\s(\\d{2,4})\\s(\\d\\d):(\\d\\d)(?::(\\d\\d))?\\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\\d{4}))$/;\n\n function extractFromRFC2822Strings(yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr) {\n var result = [\n untruncateYear(yearStr),\n defaultLocaleMonthsShort.indexOf(monthStr),\n parseInt(dayStr, 10),\n parseInt(hourStr, 10),\n parseInt(minuteStr, 10)\n ];\n\n if (secondStr) {\n result.push(parseInt(secondStr, 10));\n }\n\n return result;\n }\n\n function untruncateYear(yearStr) {\n var year = parseInt(yearStr, 10);\n if (year <= 49) {\n return 2000 + year;\n } else if (year <= 999) {\n return 1900 + year;\n }\n return year;\n }\n\n function preprocessRFC2822(s) {\n // Remove comments and folding whitespace and replace multiple-spaces with a single space\n return s.replace(/\\([^)]*\\)|[\\n\\t]/g, ' ').replace(/(\\s\\s+)/g, ' ').replace(/^\\s\\s*/, '').replace(/\\s\\s*$/, '');\n }\n\n function checkWeekday(weekdayStr, parsedInput, config) {\n if (weekdayStr) {\n // TODO: Replace the vanilla JS Date object with an indepentent day-of-week check.\n var weekdayProvided = defaultLocaleWeekdaysShort.indexOf(weekdayStr),\n weekdayActual = new Date(parsedInput[0], parsedInput[1], parsedInput[2]).getDay();\n if (weekdayProvided !== weekdayActual) {\n getParsingFlags(config).weekdayMismatch = true;\n config._isValid = false;\n return false;\n }\n }\n return true;\n }\n\n var obsOffsets = {\n UT: 0,\n GMT: 0,\n EDT: -4 * 60,\n EST: -5 * 60,\n CDT: -5 * 60,\n CST: -6 * 60,\n MDT: -6 * 60,\n MST: -7 * 60,\n PDT: -7 * 60,\n PST: -8 * 60\n };\n\n function calculateOffset(obsOffset, militaryOffset, numOffset) {\n if (obsOffset) {\n return obsOffsets[obsOffset];\n } else if (militaryOffset) {\n // the only allowed military tz is Z\n return 0;\n } else {\n var hm = parseInt(numOffset, 10);\n var m = hm % 100, h = (hm - m) / 100;\n return h * 60 + m;\n }\n }\n\n // date and time from ref 2822 format\n function configFromRFC2822(config) {\n var match = rfc2822.exec(preprocessRFC2822(config._i));\n if (match) {\n var parsedArray = extractFromRFC2822Strings(match[4], match[3], match[2], match[5], match[6], match[7]);\n if (!checkWeekday(match[1], parsedArray, config)) {\n return;\n }\n\n config._a = parsedArray;\n config._tzm = calculateOffset(match[8], match[9], match[10]);\n\n config._d = createUTCDate.apply(null, config._a);\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n\n getParsingFlags(config).rfc2822 = true;\n } else {\n config._isValid = false;\n }\n }\n\n // date from iso format or fallback\n function configFromString(config) {\n var matched = aspNetJsonRegex.exec(config._i);\n\n if (matched !== null) {\n config._d = new Date(+matched[1]);\n return;\n }\n\n configFromISO(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n configFromRFC2822(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n // Final attempt, use Input Fallback\n hooks.createFromInputFallback(config);\n }\n\n hooks.createFromInputFallback = deprecate(\n 'value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), ' +\n 'which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are ' +\n 'discouraged and will be removed in an upcoming major release. Please refer to ' +\n 'http://momentjs.com/guides/#/warnings/js-date/ for more info.',\n function (config) {\n config._d = new Date(config._i + (config._useUTC ? ' UTC' : ''));\n }\n );\n\n // constant that refers to the ISO standard\n hooks.ISO_8601 = function () {};\n\n // constant that refers to the RFC 2822 form\n hooks.RFC_2822 = function () {};\n\n // date from string and format string\n function configFromStringAndFormat(config) {\n // TODO: Move this to another part of the creation flow to prevent circular deps\n if (config._f === hooks.ISO_8601) {\n configFromISO(config);\n return;\n }\n if (config._f === hooks.RFC_2822) {\n configFromRFC2822(config);\n return;\n }\n config._a = [];\n getParsingFlags(config).empty = true;\n\n // This array is used to make a Date, either with `new Date` or `Date.UTC`\n var string = '' + config._i,\n i, parsedInput, tokens, token, skipped,\n stringLength = string.length,\n totalParsedInputLength = 0;\n\n tokens = expandFormat(config._f, config._locale).match(formattingTokens) || [];\n\n for (i = 0; i < tokens.length; i++) {\n token = tokens[i];\n parsedInput = (string.match(getParseRegexForToken(token, config)) || [])[0];\n // console.log('token', token, 'parsedInput', parsedInput,\n // 'regex', getParseRegexForToken(token, config));\n if (parsedInput) {\n skipped = string.substr(0, string.indexOf(parsedInput));\n if (skipped.length > 0) {\n getParsingFlags(config).unusedInput.push(skipped);\n }\n string = string.slice(string.indexOf(parsedInput) + parsedInput.length);\n totalParsedInputLength += parsedInput.length;\n }\n // don't parse if it's not a known token\n if (formatTokenFunctions[token]) {\n if (parsedInput) {\n getParsingFlags(config).empty = false;\n }\n else {\n getParsingFlags(config).unusedTokens.push(token);\n }\n addTimeToArrayFromToken(token, parsedInput, config);\n }\n else if (config._strict && !parsedInput) {\n getParsingFlags(config).unusedTokens.push(token);\n }\n }\n\n // add remaining unparsed input length to the string\n getParsingFlags(config).charsLeftOver = stringLength - totalParsedInputLength;\n if (string.length > 0) {\n getParsingFlags(config).unusedInput.push(string);\n }\n\n // clear _12h flag if hour is <= 12\n if (config._a[HOUR] <= 12 &&\n getParsingFlags(config).bigHour === true &&\n config._a[HOUR] > 0) {\n getParsingFlags(config).bigHour = undefined;\n }\n\n getParsingFlags(config).parsedDateParts = config._a.slice(0);\n getParsingFlags(config).meridiem = config._meridiem;\n // handle meridiem\n config._a[HOUR] = meridiemFixWrap(config._locale, config._a[HOUR], config._meridiem);\n\n configFromArray(config);\n checkOverflow(config);\n }\n\n\n function meridiemFixWrap (locale, hour, meridiem) {\n var isPm;\n\n if (meridiem == null) {\n // nothing to do\n return hour;\n }\n if (locale.meridiemHour != null) {\n return locale.meridiemHour(hour, meridiem);\n } else if (locale.isPM != null) {\n // Fallback\n isPm = locale.isPM(meridiem);\n if (isPm && hour < 12) {\n hour += 12;\n }\n if (!isPm && hour === 12) {\n hour = 0;\n }\n return hour;\n } else {\n // this is not supposed to happen\n return hour;\n }\n }\n\n // date from string and array of format strings\n function configFromStringAndArray(config) {\n var tempConfig,\n bestMoment,\n\n scoreToBeat,\n i,\n currentScore;\n\n if (config._f.length === 0) {\n getParsingFlags(config).invalidFormat = true;\n config._d = new Date(NaN);\n return;\n }\n\n for (i = 0; i < config._f.length; i++) {\n currentScore = 0;\n tempConfig = copyConfig({}, config);\n if (config._useUTC != null) {\n tempConfig._useUTC = config._useUTC;\n }\n tempConfig._f = config._f[i];\n configFromStringAndFormat(tempConfig);\n\n if (!isValid(tempConfig)) {\n continue;\n }\n\n // if there is any input that was not parsed add a penalty for that format\n currentScore += getParsingFlags(tempConfig).charsLeftOver;\n\n //or tokens\n currentScore += getParsingFlags(tempConfig).unusedTokens.length * 10;\n\n getParsingFlags(tempConfig).score = currentScore;\n\n if (scoreToBeat == null || currentScore < scoreToBeat) {\n scoreToBeat = currentScore;\n bestMoment = tempConfig;\n }\n }\n\n extend(config, bestMoment || tempConfig);\n }\n\n function configFromObject(config) {\n if (config._d) {\n return;\n }\n\n var i = normalizeObjectUnits(config._i);\n config._a = map([i.year, i.month, i.day || i.date, i.hour, i.minute, i.second, i.millisecond], function (obj) {\n return obj && parseInt(obj, 10);\n });\n\n configFromArray(config);\n }\n\n function createFromConfig (config) {\n var res = new Moment(checkOverflow(prepareConfig(config)));\n if (res._nextDay) {\n // Adding is smart enough around DST\n res.add(1, 'd');\n res._nextDay = undefined;\n }\n\n return res;\n }\n\n function prepareConfig (config) {\n var input = config._i,\n format = config._f;\n\n config._locale = config._locale || getLocale(config._l);\n\n if (input === null || (format === undefined && input === '')) {\n return createInvalid({nullInput: true});\n }\n\n if (typeof input === 'string') {\n config._i = input = config._locale.preparse(input);\n }\n\n if (isMoment(input)) {\n return new Moment(checkOverflow(input));\n } else if (isDate(input)) {\n config._d = input;\n } else if (isArray(format)) {\n configFromStringAndArray(config);\n } else if (format) {\n configFromStringAndFormat(config);\n } else {\n configFromInput(config);\n }\n\n if (!isValid(config)) {\n config._d = null;\n }\n\n return config;\n }\n\n function configFromInput(config) {\n var input = config._i;\n if (isUndefined(input)) {\n config._d = new Date(hooks.now());\n } else if (isDate(input)) {\n config._d = new Date(input.valueOf());\n } else if (typeof input === 'string') {\n configFromString(config);\n } else if (isArray(input)) {\n config._a = map(input.slice(0), function (obj) {\n return parseInt(obj, 10);\n });\n configFromArray(config);\n } else if (isObject(input)) {\n configFromObject(config);\n } else if (isNumber(input)) {\n // from milliseconds\n config._d = new Date(input);\n } else {\n hooks.createFromInputFallback(config);\n }\n }\n\n function createLocalOrUTC (input, format, locale, strict, isUTC) {\n var c = {};\n\n if (locale === true || locale === false) {\n strict = locale;\n locale = undefined;\n }\n\n if ((isObject(input) && isObjectEmpty(input)) ||\n (isArray(input) && input.length === 0)) {\n input = undefined;\n }\n // object construction must be done this way.\n // https://github.com/moment/moment/issues/1423\n c._isAMomentObject = true;\n c._useUTC = c._isUTC = isUTC;\n c._l = locale;\n c._i = input;\n c._f = format;\n c._strict = strict;\n\n return createFromConfig(c);\n }\n\n function createLocal (input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, false);\n }\n\n var prototypeMin = deprecate(\n 'moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/',\n function () {\n var other = createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other < this ? this : other;\n } else {\n return createInvalid();\n }\n }\n );\n\n var prototypeMax = deprecate(\n 'moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/',\n function () {\n var other = createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other > this ? this : other;\n } else {\n return createInvalid();\n }\n }\n );\n\n // Pick a moment m from moments so that m[fn](other) is true for all\n // other. This relies on the function fn to be transitive.\n //\n // moments should either be an array of moment objects or an array, whose\n // first element is an array of moment objects.\n function pickBy(fn, moments) {\n var res, i;\n if (moments.length === 1 && isArray(moments[0])) {\n moments = moments[0];\n }\n if (!moments.length) {\n return createLocal();\n }\n res = moments[0];\n for (i = 1; i < moments.length; ++i) {\n if (!moments[i].isValid() || moments[i][fn](res)) {\n res = moments[i];\n }\n }\n return res;\n }\n\n // TODO: Use [].sort instead?\n function min () {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isBefore', args);\n }\n\n function max () {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isAfter', args);\n }\n\n var now = function () {\n return Date.now ? Date.now() : +(new Date());\n };\n\n var ordering = ['year', 'quarter', 'month', 'week', 'day', 'hour', 'minute', 'second', 'millisecond'];\n\n function isDurationValid(m) {\n for (var key in m) {\n if (!(indexOf.call(ordering, key) !== -1 && (m[key] == null || !isNaN(m[key])))) {\n return false;\n }\n }\n\n var unitHasDecimal = false;\n for (var i = 0; i < ordering.length; ++i) {\n if (m[ordering[i]]) {\n if (unitHasDecimal) {\n return false; // only allow non-integers for smallest unit\n }\n if (parseFloat(m[ordering[i]]) !== toInt(m[ordering[i]])) {\n unitHasDecimal = true;\n }\n }\n }\n\n return true;\n }\n\n function isValid$1() {\n return this._isValid;\n }\n\n function createInvalid$1() {\n return createDuration(NaN);\n }\n\n function Duration (duration) {\n var normalizedInput = normalizeObjectUnits(duration),\n years = normalizedInput.year || 0,\n quarters = normalizedInput.quarter || 0,\n months = normalizedInput.month || 0,\n weeks = normalizedInput.week || 0,\n days = normalizedInput.day || 0,\n hours = normalizedInput.hour || 0,\n minutes = normalizedInput.minute || 0,\n seconds = normalizedInput.second || 0,\n milliseconds = normalizedInput.millisecond || 0;\n\n this._isValid = isDurationValid(normalizedInput);\n\n // representation for dateAddRemove\n this._milliseconds = +milliseconds +\n seconds * 1e3 + // 1000\n minutes * 6e4 + // 1000 * 60\n hours * 1000 * 60 * 60; //using 1000 * 60 * 60 instead of 36e5 to avoid floating point rounding errors https://github.com/moment/moment/issues/2978\n // Because of dateAddRemove treats 24 hours as different from a\n // day when working around DST, we need to store them separately\n this._days = +days +\n weeks * 7;\n // It is impossible to translate months into days without knowing\n // which months you are are talking about, so we have to store\n // it separately.\n this._months = +months +\n quarters * 3 +\n years * 12;\n\n this._data = {};\n\n this._locale = getLocale();\n\n this._bubble();\n }\n\n function isDuration (obj) {\n return obj instanceof Duration;\n }\n\n function absRound (number) {\n if (number < 0) {\n return Math.round(-1 * number) * -1;\n } else {\n return Math.round(number);\n }\n }\n\n // FORMATTING\n\n function offset (token, separator) {\n addFormatToken(token, 0, 0, function () {\n var offset = this.utcOffset();\n var sign = '+';\n if (offset < 0) {\n offset = -offset;\n sign = '-';\n }\n return sign + zeroFill(~~(offset / 60), 2) + separator + zeroFill(~~(offset) % 60, 2);\n });\n }\n\n offset('Z', ':');\n offset('ZZ', '');\n\n // PARSING\n\n addRegexToken('Z', matchShortOffset);\n addRegexToken('ZZ', matchShortOffset);\n addParseToken(['Z', 'ZZ'], function (input, array, config) {\n config._useUTC = true;\n config._tzm = offsetFromString(matchShortOffset, input);\n });\n\n // HELPERS\n\n // timezone chunker\n // '+10:00' > ['10', '00']\n // '-1530' > ['-15', '30']\n var chunkOffset = /([\\+\\-]|\\d\\d)/gi;\n\n function offsetFromString(matcher, string) {\n var matches = (string || '').match(matcher);\n\n if (matches === null) {\n return null;\n }\n\n var chunk = matches[matches.length - 1] || [];\n var parts = (chunk + '').match(chunkOffset) || ['-', 0, 0];\n var minutes = +(parts[1] * 60) + toInt(parts[2]);\n\n return minutes === 0 ?\n 0 :\n parts[0] === '+' ? minutes : -minutes;\n }\n\n // Return a moment from input, that is local/utc/zone equivalent to model.\n function cloneWithOffset(input, model) {\n var res, diff;\n if (model._isUTC) {\n res = model.clone();\n diff = (isMoment(input) || isDate(input) ? input.valueOf() : createLocal(input).valueOf()) - res.valueOf();\n // Use low-level api, because this fn is low-level api.\n res._d.setTime(res._d.valueOf() + diff);\n hooks.updateOffset(res, false);\n return res;\n } else {\n return createLocal(input).local();\n }\n }\n\n function getDateOffset (m) {\n // On Firefox.24 Date#getTimezoneOffset returns a floating point.\n // https://github.com/moment/moment/pull/1871\n return -Math.round(m._d.getTimezoneOffset() / 15) * 15;\n }\n\n // HOOKS\n\n // This function will be called whenever a moment is mutated.\n // It is intended to keep the offset in sync with the timezone.\n hooks.updateOffset = function () {};\n\n // MOMENTS\n\n // keepLocalTime = true means only change the timezone, without\n // affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]-->\n // 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset\n // +0200, so we adjust the time as needed, to be valid.\n //\n // Keeping the time actually adds/subtracts (one hour)\n // from the actual represented time. That is why we call updateOffset\n // a second time. In case it wants us to change the offset again\n // _changeInProgress == true case, then we have to adjust, because\n // there is no such time in the given timezone.\n function getSetOffset (input, keepLocalTime, keepMinutes) {\n var offset = this._offset || 0,\n localAdjust;\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n if (input != null) {\n if (typeof input === 'string') {\n input = offsetFromString(matchShortOffset, input);\n if (input === null) {\n return this;\n }\n } else if (Math.abs(input) < 16 && !keepMinutes) {\n input = input * 60;\n }\n if (!this._isUTC && keepLocalTime) {\n localAdjust = getDateOffset(this);\n }\n this._offset = input;\n this._isUTC = true;\n if (localAdjust != null) {\n this.add(localAdjust, 'm');\n }\n if (offset !== input) {\n if (!keepLocalTime || this._changeInProgress) {\n addSubtract(this, createDuration(input - offset, 'm'), 1, false);\n } else if (!this._changeInProgress) {\n this._changeInProgress = true;\n hooks.updateOffset(this, true);\n this._changeInProgress = null;\n }\n }\n return this;\n } else {\n return this._isUTC ? offset : getDateOffset(this);\n }\n }\n\n function getSetZone (input, keepLocalTime) {\n if (input != null) {\n if (typeof input !== 'string') {\n input = -input;\n }\n\n this.utcOffset(input, keepLocalTime);\n\n return this;\n } else {\n return -this.utcOffset();\n }\n }\n\n function setOffsetToUTC (keepLocalTime) {\n return this.utcOffset(0, keepLocalTime);\n }\n\n function setOffsetToLocal (keepLocalTime) {\n if (this._isUTC) {\n this.utcOffset(0, keepLocalTime);\n this._isUTC = false;\n\n if (keepLocalTime) {\n this.subtract(getDateOffset(this), 'm');\n }\n }\n return this;\n }\n\n function setOffsetToParsedOffset () {\n if (this._tzm != null) {\n this.utcOffset(this._tzm, false, true);\n } else if (typeof this._i === 'string') {\n var tZone = offsetFromString(matchOffset, this._i);\n if (tZone != null) {\n this.utcOffset(tZone);\n }\n else {\n this.utcOffset(0, true);\n }\n }\n return this;\n }\n\n function hasAlignedHourOffset (input) {\n if (!this.isValid()) {\n return false;\n }\n input = input ? createLocal(input).utcOffset() : 0;\n\n return (this.utcOffset() - input) % 60 === 0;\n }\n\n function isDaylightSavingTime () {\n return (\n this.utcOffset() > this.clone().month(0).utcOffset() ||\n this.utcOffset() > this.clone().month(5).utcOffset()\n );\n }\n\n function isDaylightSavingTimeShifted () {\n if (!isUndefined(this._isDSTShifted)) {\n return this._isDSTShifted;\n }\n\n var c = {};\n\n copyConfig(c, this);\n c = prepareConfig(c);\n\n if (c._a) {\n var other = c._isUTC ? createUTC(c._a) : createLocal(c._a);\n this._isDSTShifted = this.isValid() &&\n compareArrays(c._a, other.toArray()) > 0;\n } else {\n this._isDSTShifted = false;\n }\n\n return this._isDSTShifted;\n }\n\n function isLocal () {\n return this.isValid() ? !this._isUTC : false;\n }\n\n function isUtcOffset () {\n return this.isValid() ? this._isUTC : false;\n }\n\n function isUtc () {\n return this.isValid() ? this._isUTC && this._offset === 0 : false;\n }\n\n // ASP.NET json date format regex\n var aspNetRegex = /^(\\-|\\+)?(?:(\\d*)[. ])?(\\d+)\\:(\\d+)(?:\\:(\\d+)(\\.\\d*)?)?$/;\n\n // from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html\n // somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere\n // and further modified to allow for strings containing both week and day\n var isoRegex = /^(-|\\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;\n\n function createDuration (input, key) {\n var duration = input,\n // matching against regexp is expensive, do it on demand\n match = null,\n sign,\n ret,\n diffRes;\n\n if (isDuration(input)) {\n duration = {\n ms : input._milliseconds,\n d : input._days,\n M : input._months\n };\n } else if (isNumber(input)) {\n duration = {};\n if (key) {\n duration[key] = input;\n } else {\n duration.milliseconds = input;\n }\n } else if (!!(match = aspNetRegex.exec(input))) {\n sign = (match[1] === '-') ? -1 : 1;\n duration = {\n y : 0,\n d : toInt(match[DATE]) * sign,\n h : toInt(match[HOUR]) * sign,\n m : toInt(match[MINUTE]) * sign,\n s : toInt(match[SECOND]) * sign,\n ms : toInt(absRound(match[MILLISECOND] * 1000)) * sign // the millisecond decimal point is included in the match\n };\n } else if (!!(match = isoRegex.exec(input))) {\n sign = (match[1] === '-') ? -1 : (match[1] === '+') ? 1 : 1;\n duration = {\n y : parseIso(match[2], sign),\n M : parseIso(match[3], sign),\n w : parseIso(match[4], sign),\n d : parseIso(match[5], sign),\n h : parseIso(match[6], sign),\n m : parseIso(match[7], sign),\n s : parseIso(match[8], sign)\n };\n } else if (duration == null) {// checks for null or undefined\n duration = {};\n } else if (typeof duration === 'object' && ('from' in duration || 'to' in duration)) {\n diffRes = momentsDifference(createLocal(duration.from), createLocal(duration.to));\n\n duration = {};\n duration.ms = diffRes.milliseconds;\n duration.M = diffRes.months;\n }\n\n ret = new Duration(duration);\n\n if (isDuration(input) && hasOwnProp(input, '_locale')) {\n ret._locale = input._locale;\n }\n\n return ret;\n }\n\n createDuration.fn = Duration.prototype;\n createDuration.invalid = createInvalid$1;\n\n function parseIso (inp, sign) {\n // We'd normally use ~~inp for this, but unfortunately it also\n // converts floats to ints.\n // inp may be undefined, so careful calling replace on it.\n var res = inp && parseFloat(inp.replace(',', '.'));\n // apply sign while we're at it\n return (isNaN(res) ? 0 : res) * sign;\n }\n\n function positiveMomentsDifference(base, other) {\n var res = {milliseconds: 0, months: 0};\n\n res.months = other.month() - base.month() +\n (other.year() - base.year()) * 12;\n if (base.clone().add(res.months, 'M').isAfter(other)) {\n --res.months;\n }\n\n res.milliseconds = +other - +(base.clone().add(res.months, 'M'));\n\n return res;\n }\n\n function momentsDifference(base, other) {\n var res;\n if (!(base.isValid() && other.isValid())) {\n return {milliseconds: 0, months: 0};\n }\n\n other = cloneWithOffset(other, base);\n if (base.isBefore(other)) {\n res = positiveMomentsDifference(base, other);\n } else {\n res = positiveMomentsDifference(other, base);\n res.milliseconds = -res.milliseconds;\n res.months = -res.months;\n }\n\n return res;\n }\n\n // TODO: remove 'name' arg after deprecation is removed\n function createAdder(direction, name) {\n return function (val, period) {\n var dur, tmp;\n //invert the arguments, but complain about it\n if (period !== null && !isNaN(+period)) {\n deprecateSimple(name, 'moment().' + name + '(period, number) is deprecated. Please use moment().' + name + '(number, period). ' +\n 'See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.');\n tmp = val; val = period; period = tmp;\n }\n\n val = typeof val === 'string' ? +val : val;\n dur = createDuration(val, period);\n addSubtract(this, dur, direction);\n return this;\n };\n }\n\n function addSubtract (mom, duration, isAdding, updateOffset) {\n var milliseconds = duration._milliseconds,\n days = absRound(duration._days),\n months = absRound(duration._months);\n\n if (!mom.isValid()) {\n // No op\n return;\n }\n\n updateOffset = updateOffset == null ? true : updateOffset;\n\n if (months) {\n setMonth(mom, get(mom, 'Month') + months * isAdding);\n }\n if (days) {\n set$1(mom, 'Date', get(mom, 'Date') + days * isAdding);\n }\n if (milliseconds) {\n mom._d.setTime(mom._d.valueOf() + milliseconds * isAdding);\n }\n if (updateOffset) {\n hooks.updateOffset(mom, days || months);\n }\n }\n\n var add = createAdder(1, 'add');\n var subtract = createAdder(-1, 'subtract');\n\n function getCalendarFormat(myMoment, now) {\n var diff = myMoment.diff(now, 'days', true);\n return diff < -6 ? 'sameElse' :\n diff < -1 ? 'lastWeek' :\n diff < 0 ? 'lastDay' :\n diff < 1 ? 'sameDay' :\n diff < 2 ? 'nextDay' :\n diff < 7 ? 'nextWeek' : 'sameElse';\n }\n\n function calendar$1 (time, formats) {\n // We want to compare the start of today, vs this.\n // Getting start-of-today depends on whether we're local/utc/offset or not.\n var now = time || createLocal(),\n sod = cloneWithOffset(now, this).startOf('day'),\n format = hooks.calendarFormat(this, sod) || 'sameElse';\n\n var output = formats && (isFunction(formats[format]) ? formats[format].call(this, now) : formats[format]);\n\n return this.format(output || this.localeData().calendar(format, this, createLocal(now)));\n }\n\n function clone () {\n return new Moment(this);\n }\n\n function isAfter (input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(!isUndefined(units) ? units : 'millisecond');\n if (units === 'millisecond') {\n return this.valueOf() > localInput.valueOf();\n } else {\n return localInput.valueOf() < this.clone().startOf(units).valueOf();\n }\n }\n\n function isBefore (input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(!isUndefined(units) ? units : 'millisecond');\n if (units === 'millisecond') {\n return this.valueOf() < localInput.valueOf();\n } else {\n return this.clone().endOf(units).valueOf() < localInput.valueOf();\n }\n }\n\n function isBetween (from, to, units, inclusivity) {\n inclusivity = inclusivity || '()';\n return (inclusivity[0] === '(' ? this.isAfter(from, units) : !this.isBefore(from, units)) &&\n (inclusivity[1] === ')' ? this.isBefore(to, units) : !this.isAfter(to, units));\n }\n\n function isSame (input, units) {\n var localInput = isMoment(input) ? input : createLocal(input),\n inputMs;\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units || 'millisecond');\n if (units === 'millisecond') {\n return this.valueOf() === localInput.valueOf();\n } else {\n inputMs = localInput.valueOf();\n return this.clone().startOf(units).valueOf() <= inputMs && inputMs <= this.clone().endOf(units).valueOf();\n }\n }\n\n function isSameOrAfter (input, units) {\n return this.isSame(input, units) || this.isAfter(input,units);\n }\n\n function isSameOrBefore (input, units) {\n return this.isSame(input, units) || this.isBefore(input,units);\n }\n\n function diff (input, units, asFloat) {\n var that,\n zoneDelta,\n output;\n\n if (!this.isValid()) {\n return NaN;\n }\n\n that = cloneWithOffset(input, this);\n\n if (!that.isValid()) {\n return NaN;\n }\n\n zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4;\n\n units = normalizeUnits(units);\n\n switch (units) {\n case 'year': output = monthDiff(this, that) / 12; break;\n case 'month': output = monthDiff(this, that); break;\n case 'quarter': output = monthDiff(this, that) / 3; break;\n case 'second': output = (this - that) / 1e3; break; // 1000\n case 'minute': output = (this - that) / 6e4; break; // 1000 * 60\n case 'hour': output = (this - that) / 36e5; break; // 1000 * 60 * 60\n case 'day': output = (this - that - zoneDelta) / 864e5; break; // 1000 * 60 * 60 * 24, negate dst\n case 'week': output = (this - that - zoneDelta) / 6048e5; break; // 1000 * 60 * 60 * 24 * 7, negate dst\n default: output = this - that;\n }\n\n return asFloat ? output : absFloor(output);\n }\n\n function monthDiff (a, b) {\n // difference in months\n var wholeMonthDiff = ((b.year() - a.year()) * 12) + (b.month() - a.month()),\n // b is in (anchor - 1 month, anchor + 1 month)\n anchor = a.clone().add(wholeMonthDiff, 'months'),\n anchor2, adjust;\n\n if (b - anchor < 0) {\n anchor2 = a.clone().add(wholeMonthDiff - 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor - anchor2);\n } else {\n anchor2 = a.clone().add(wholeMonthDiff + 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor2 - anchor);\n }\n\n //check for negative zero, return zero if negative zero\n return -(wholeMonthDiff + adjust) || 0;\n }\n\n hooks.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ';\n hooks.defaultFormatUtc = 'YYYY-MM-DDTHH:mm:ss[Z]';\n\n function toString () {\n return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ');\n }\n\n function toISOString(keepOffset) {\n if (!this.isValid()) {\n return null;\n }\n var utc = keepOffset !== true;\n var m = utc ? this.clone().utc() : this;\n if (m.year() < 0 || m.year() > 9999) {\n return formatMoment(m, utc ? 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYYYY-MM-DD[T]HH:mm:ss.SSSZ');\n }\n if (isFunction(Date.prototype.toISOString)) {\n // native implementation is ~50x faster, use it when we can\n if (utc) {\n return this.toDate().toISOString();\n } else {\n return new Date(this.valueOf() + this.utcOffset() * 60 * 1000).toISOString().replace('Z', formatMoment(m, 'Z'));\n }\n }\n return formatMoment(m, utc ? 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYY-MM-DD[T]HH:mm:ss.SSSZ');\n }\n\n /**\n * Return a human readable representation of a moment that can\n * also be evaluated to get a new moment which is the same\n *\n * @link https://nodejs.org/dist/latest/docs/api/util.html#util_custom_inspect_function_on_objects\n */\n function inspect () {\n if (!this.isValid()) {\n return 'moment.invalid(/* ' + this._i + ' */)';\n }\n var func = 'moment';\n var zone = '';\n if (!this.isLocal()) {\n func = this.utcOffset() === 0 ? 'moment.utc' : 'moment.parseZone';\n zone = 'Z';\n }\n var prefix = '[' + func + '(\"]';\n var year = (0 <= this.year() && this.year() <= 9999) ? 'YYYY' : 'YYYYYY';\n var datetime = '-MM-DD[T]HH:mm:ss.SSS';\n var suffix = zone + '[\")]';\n\n return this.format(prefix + year + datetime + suffix);\n }\n\n function format (inputString) {\n if (!inputString) {\n inputString = this.isUtc() ? hooks.defaultFormatUtc : hooks.defaultFormat;\n }\n var output = formatMoment(this, inputString);\n return this.localeData().postformat(output);\n }\n\n function from (time, withoutSuffix) {\n if (this.isValid() &&\n ((isMoment(time) && time.isValid()) ||\n createLocal(time).isValid())) {\n return createDuration({to: this, from: time}).locale(this.locale()).humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n\n function fromNow (withoutSuffix) {\n return this.from(createLocal(), withoutSuffix);\n }\n\n function to (time, withoutSuffix) {\n if (this.isValid() &&\n ((isMoment(time) && time.isValid()) ||\n createLocal(time).isValid())) {\n return createDuration({from: this, to: time}).locale(this.locale()).humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n\n function toNow (withoutSuffix) {\n return this.to(createLocal(), withoutSuffix);\n }\n\n // If passed a locale key, it will set the locale for this\n // instance. Otherwise, it will return the locale configuration\n // variables for this instance.\n function locale (key) {\n var newLocaleData;\n\n if (key === undefined) {\n return this._locale._abbr;\n } else {\n newLocaleData = getLocale(key);\n if (newLocaleData != null) {\n this._locale = newLocaleData;\n }\n return this;\n }\n }\n\n var lang = deprecate(\n 'moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.',\n function (key) {\n if (key === undefined) {\n return this.localeData();\n } else {\n return this.locale(key);\n }\n }\n );\n\n function localeData () {\n return this._locale;\n }\n\n function startOf (units) {\n units = normalizeUnits(units);\n // the following switch intentionally omits break keywords\n // to utilize falling through the cases.\n switch (units) {\n case 'year':\n this.month(0);\n /* falls through */\n case 'quarter':\n case 'month':\n this.date(1);\n /* falls through */\n case 'week':\n case 'isoWeek':\n case 'day':\n case 'date':\n this.hours(0);\n /* falls through */\n case 'hour':\n this.minutes(0);\n /* falls through */\n case 'minute':\n this.seconds(0);\n /* falls through */\n case 'second':\n this.milliseconds(0);\n }\n\n // weeks are a special case\n if (units === 'week') {\n this.weekday(0);\n }\n if (units === 'isoWeek') {\n this.isoWeekday(1);\n }\n\n // quarters are also special\n if (units === 'quarter') {\n this.month(Math.floor(this.month() / 3) * 3);\n }\n\n return this;\n }\n\n function endOf (units) {\n units = normalizeUnits(units);\n if (units === undefined || units === 'millisecond') {\n return this;\n }\n\n // 'date' is an alias for 'day', so it should be considered as such.\n if (units === 'date') {\n units = 'day';\n }\n\n return this.startOf(units).add(1, (units === 'isoWeek' ? 'week' : units)).subtract(1, 'ms');\n }\n\n function valueOf () {\n return this._d.valueOf() - ((this._offset || 0) * 60000);\n }\n\n function unix () {\n return Math.floor(this.valueOf() / 1000);\n }\n\n function toDate () {\n return new Date(this.valueOf());\n }\n\n function toArray () {\n var m = this;\n return [m.year(), m.month(), m.date(), m.hour(), m.minute(), m.second(), m.millisecond()];\n }\n\n function toObject () {\n var m = this;\n return {\n years: m.year(),\n months: m.month(),\n date: m.date(),\n hours: m.hours(),\n minutes: m.minutes(),\n seconds: m.seconds(),\n milliseconds: m.milliseconds()\n };\n }\n\n function toJSON () {\n // new Date(NaN).toJSON() === null\n return this.isValid() ? this.toISOString() : null;\n }\n\n function isValid$2 () {\n return isValid(this);\n }\n\n function parsingFlags () {\n return extend({}, getParsingFlags(this));\n }\n\n function invalidAt () {\n return getParsingFlags(this).overflow;\n }\n\n function creationData() {\n return {\n input: this._i,\n format: this._f,\n locale: this._locale,\n isUTC: this._isUTC,\n strict: this._strict\n };\n }\n\n // FORMATTING\n\n addFormatToken(0, ['gg', 2], 0, function () {\n return this.weekYear() % 100;\n });\n\n addFormatToken(0, ['GG', 2], 0, function () {\n return this.isoWeekYear() % 100;\n });\n\n function addWeekYearFormatToken (token, getter) {\n addFormatToken(0, [token, token.length], 0, getter);\n }\n\n addWeekYearFormatToken('gggg', 'weekYear');\n addWeekYearFormatToken('ggggg', 'weekYear');\n addWeekYearFormatToken('GGGG', 'isoWeekYear');\n addWeekYearFormatToken('GGGGG', 'isoWeekYear');\n\n // ALIASES\n\n addUnitAlias('weekYear', 'gg');\n addUnitAlias('isoWeekYear', 'GG');\n\n // PRIORITY\n\n addUnitPriority('weekYear', 1);\n addUnitPriority('isoWeekYear', 1);\n\n\n // PARSING\n\n addRegexToken('G', matchSigned);\n addRegexToken('g', matchSigned);\n addRegexToken('GG', match1to2, match2);\n addRegexToken('gg', match1to2, match2);\n addRegexToken('GGGG', match1to4, match4);\n addRegexToken('gggg', match1to4, match4);\n addRegexToken('GGGGG', match1to6, match6);\n addRegexToken('ggggg', match1to6, match6);\n\n addWeekParseToken(['gggg', 'ggggg', 'GGGG', 'GGGGG'], function (input, week, config, token) {\n week[token.substr(0, 2)] = toInt(input);\n });\n\n addWeekParseToken(['gg', 'GG'], function (input, week, config, token) {\n week[token] = hooks.parseTwoDigitYear(input);\n });\n\n // MOMENTS\n\n function getSetWeekYear (input) {\n return getSetWeekYearHelper.call(this,\n input,\n this.week(),\n this.weekday(),\n this.localeData()._week.dow,\n this.localeData()._week.doy);\n }\n\n function getSetISOWeekYear (input) {\n return getSetWeekYearHelper.call(this,\n input, this.isoWeek(), this.isoWeekday(), 1, 4);\n }\n\n function getISOWeeksInYear () {\n return weeksInYear(this.year(), 1, 4);\n }\n\n function getWeeksInYear () {\n var weekInfo = this.localeData()._week;\n return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy);\n }\n\n function getSetWeekYearHelper(input, week, weekday, dow, doy) {\n var weeksTarget;\n if (input == null) {\n return weekOfYear(this, dow, doy).year;\n } else {\n weeksTarget = weeksInYear(input, dow, doy);\n if (week > weeksTarget) {\n week = weeksTarget;\n }\n return setWeekAll.call(this, input, week, weekday, dow, doy);\n }\n }\n\n function setWeekAll(weekYear, week, weekday, dow, doy) {\n var dayOfYearData = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy),\n date = createUTCDate(dayOfYearData.year, 0, dayOfYearData.dayOfYear);\n\n this.year(date.getUTCFullYear());\n this.month(date.getUTCMonth());\n this.date(date.getUTCDate());\n return this;\n }\n\n // FORMATTING\n\n addFormatToken('Q', 0, 'Qo', 'quarter');\n\n // ALIASES\n\n addUnitAlias('quarter', 'Q');\n\n // PRIORITY\n\n addUnitPriority('quarter', 7);\n\n // PARSING\n\n addRegexToken('Q', match1);\n addParseToken('Q', function (input, array) {\n array[MONTH] = (toInt(input) - 1) * 3;\n });\n\n // MOMENTS\n\n function getSetQuarter (input) {\n return input == null ? Math.ceil((this.month() + 1) / 3) : this.month((input - 1) * 3 + this.month() % 3);\n }\n\n // FORMATTING\n\n addFormatToken('D', ['DD', 2], 'Do', 'date');\n\n // ALIASES\n\n addUnitAlias('date', 'D');\n\n // PRIORITY\n addUnitPriority('date', 9);\n\n // PARSING\n\n addRegexToken('D', match1to2);\n addRegexToken('DD', match1to2, match2);\n addRegexToken('Do', function (isStrict, locale) {\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n return isStrict ?\n (locale._dayOfMonthOrdinalParse || locale._ordinalParse) :\n locale._dayOfMonthOrdinalParseLenient;\n });\n\n addParseToken(['D', 'DD'], DATE);\n addParseToken('Do', function (input, array) {\n array[DATE] = toInt(input.match(match1to2)[0]);\n });\n\n // MOMENTS\n\n var getSetDayOfMonth = makeGetSet('Date', true);\n\n // FORMATTING\n\n addFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear');\n\n // ALIASES\n\n addUnitAlias('dayOfYear', 'DDD');\n\n // PRIORITY\n addUnitPriority('dayOfYear', 4);\n\n // PARSING\n\n addRegexToken('DDD', match1to3);\n addRegexToken('DDDD', match3);\n addParseToken(['DDD', 'DDDD'], function (input, array, config) {\n config._dayOfYear = toInt(input);\n });\n\n // HELPERS\n\n // MOMENTS\n\n function getSetDayOfYear (input) {\n var dayOfYear = Math.round((this.clone().startOf('day') - this.clone().startOf('year')) / 864e5) + 1;\n return input == null ? dayOfYear : this.add((input - dayOfYear), 'd');\n }\n\n // FORMATTING\n\n addFormatToken('m', ['mm', 2], 0, 'minute');\n\n // ALIASES\n\n addUnitAlias('minute', 'm');\n\n // PRIORITY\n\n addUnitPriority('minute', 14);\n\n // PARSING\n\n addRegexToken('m', match1to2);\n addRegexToken('mm', match1to2, match2);\n addParseToken(['m', 'mm'], MINUTE);\n\n // MOMENTS\n\n var getSetMinute = makeGetSet('Minutes', false);\n\n // FORMATTING\n\n addFormatToken('s', ['ss', 2], 0, 'second');\n\n // ALIASES\n\n addUnitAlias('second', 's');\n\n // PRIORITY\n\n addUnitPriority('second', 15);\n\n // PARSING\n\n addRegexToken('s', match1to2);\n addRegexToken('ss', match1to2, match2);\n addParseToken(['s', 'ss'], SECOND);\n\n // MOMENTS\n\n var getSetSecond = makeGetSet('Seconds', false);\n\n // FORMATTING\n\n addFormatToken('S', 0, 0, function () {\n return ~~(this.millisecond() / 100);\n });\n\n addFormatToken(0, ['SS', 2], 0, function () {\n return ~~(this.millisecond() / 10);\n });\n\n addFormatToken(0, ['SSS', 3], 0, 'millisecond');\n addFormatToken(0, ['SSSS', 4], 0, function () {\n return this.millisecond() * 10;\n });\n addFormatToken(0, ['SSSSS', 5], 0, function () {\n return this.millisecond() * 100;\n });\n addFormatToken(0, ['SSSSSS', 6], 0, function () {\n return this.millisecond() * 1000;\n });\n addFormatToken(0, ['SSSSSSS', 7], 0, function () {\n return this.millisecond() * 10000;\n });\n addFormatToken(0, ['SSSSSSSS', 8], 0, function () {\n return this.millisecond() * 100000;\n });\n addFormatToken(0, ['SSSSSSSSS', 9], 0, function () {\n return this.millisecond() * 1000000;\n });\n\n\n // ALIASES\n\n addUnitAlias('millisecond', 'ms');\n\n // PRIORITY\n\n addUnitPriority('millisecond', 16);\n\n // PARSING\n\n addRegexToken('S', match1to3, match1);\n addRegexToken('SS', match1to3, match2);\n addRegexToken('SSS', match1to3, match3);\n\n var token;\n for (token = 'SSSS'; token.length <= 9; token += 'S') {\n addRegexToken(token, matchUnsigned);\n }\n\n function parseMs(input, array) {\n array[MILLISECOND] = toInt(('0.' + input) * 1000);\n }\n\n for (token = 'S'; token.length <= 9; token += 'S') {\n addParseToken(token, parseMs);\n }\n // MOMENTS\n\n var getSetMillisecond = makeGetSet('Milliseconds', false);\n\n // FORMATTING\n\n addFormatToken('z', 0, 0, 'zoneAbbr');\n addFormatToken('zz', 0, 0, 'zoneName');\n\n // MOMENTS\n\n function getZoneAbbr () {\n return this._isUTC ? 'UTC' : '';\n }\n\n function getZoneName () {\n return this._isUTC ? 'Coordinated Universal Time' : '';\n }\n\n var proto = Moment.prototype;\n\n proto.add = add;\n proto.calendar = calendar$1;\n proto.clone = clone;\n proto.diff = diff;\n proto.endOf = endOf;\n proto.format = format;\n proto.from = from;\n proto.fromNow = fromNow;\n proto.to = to;\n proto.toNow = toNow;\n proto.get = stringGet;\n proto.invalidAt = invalidAt;\n proto.isAfter = isAfter;\n proto.isBefore = isBefore;\n proto.isBetween = isBetween;\n proto.isSame = isSame;\n proto.isSameOrAfter = isSameOrAfter;\n proto.isSameOrBefore = isSameOrBefore;\n proto.isValid = isValid$2;\n proto.lang = lang;\n proto.locale = locale;\n proto.localeData = localeData;\n proto.max = prototypeMax;\n proto.min = prototypeMin;\n proto.parsingFlags = parsingFlags;\n proto.set = stringSet;\n proto.startOf = startOf;\n proto.subtract = subtract;\n proto.toArray = toArray;\n proto.toObject = toObject;\n proto.toDate = toDate;\n proto.toISOString = toISOString;\n proto.inspect = inspect;\n proto.toJSON = toJSON;\n proto.toString = toString;\n proto.unix = unix;\n proto.valueOf = valueOf;\n proto.creationData = creationData;\n proto.year = getSetYear;\n proto.isLeapYear = getIsLeapYear;\n proto.weekYear = getSetWeekYear;\n proto.isoWeekYear = getSetISOWeekYear;\n proto.quarter = proto.quarters = getSetQuarter;\n proto.month = getSetMonth;\n proto.daysInMonth = getDaysInMonth;\n proto.week = proto.weeks = getSetWeek;\n proto.isoWeek = proto.isoWeeks = getSetISOWeek;\n proto.weeksInYear = getWeeksInYear;\n proto.isoWeeksInYear = getISOWeeksInYear;\n proto.date = getSetDayOfMonth;\n proto.day = proto.days = getSetDayOfWeek;\n proto.weekday = getSetLocaleDayOfWeek;\n proto.isoWeekday = getSetISODayOfWeek;\n proto.dayOfYear = getSetDayOfYear;\n proto.hour = proto.hours = getSetHour;\n proto.minute = proto.minutes = getSetMinute;\n proto.second = proto.seconds = getSetSecond;\n proto.millisecond = proto.milliseconds = getSetMillisecond;\n proto.utcOffset = getSetOffset;\n proto.utc = setOffsetToUTC;\n proto.local = setOffsetToLocal;\n proto.parseZone = setOffsetToParsedOffset;\n proto.hasAlignedHourOffset = hasAlignedHourOffset;\n proto.isDST = isDaylightSavingTime;\n proto.isLocal = isLocal;\n proto.isUtcOffset = isUtcOffset;\n proto.isUtc = isUtc;\n proto.isUTC = isUtc;\n proto.zoneAbbr = getZoneAbbr;\n proto.zoneName = getZoneName;\n proto.dates = deprecate('dates accessor is deprecated. Use date instead.', getSetDayOfMonth);\n proto.months = deprecate('months accessor is deprecated. Use month instead', getSetMonth);\n proto.years = deprecate('years accessor is deprecated. Use year instead', getSetYear);\n proto.zone = deprecate('moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/', getSetZone);\n proto.isDSTShifted = deprecate('isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information', isDaylightSavingTimeShifted);\n\n function createUnix (input) {\n return createLocal(input * 1000);\n }\n\n function createInZone () {\n return createLocal.apply(null, arguments).parseZone();\n }\n\n function preParsePostFormat (string) {\n return string;\n }\n\n var proto$1 = Locale.prototype;\n\n proto$1.calendar = calendar;\n proto$1.longDateFormat = longDateFormat;\n proto$1.invalidDate = invalidDate;\n proto$1.ordinal = ordinal;\n proto$1.preparse = preParsePostFormat;\n proto$1.postformat = preParsePostFormat;\n proto$1.relativeTime = relativeTime;\n proto$1.pastFuture = pastFuture;\n proto$1.set = set;\n\n proto$1.months = localeMonths;\n proto$1.monthsShort = localeMonthsShort;\n proto$1.monthsParse = localeMonthsParse;\n proto$1.monthsRegex = monthsRegex;\n proto$1.monthsShortRegex = monthsShortRegex;\n proto$1.week = localeWeek;\n proto$1.firstDayOfYear = localeFirstDayOfYear;\n proto$1.firstDayOfWeek = localeFirstDayOfWeek;\n\n proto$1.weekdays = localeWeekdays;\n proto$1.weekdaysMin = localeWeekdaysMin;\n proto$1.weekdaysShort = localeWeekdaysShort;\n proto$1.weekdaysParse = localeWeekdaysParse;\n\n proto$1.weekdaysRegex = weekdaysRegex;\n proto$1.weekdaysShortRegex = weekdaysShortRegex;\n proto$1.weekdaysMinRegex = weekdaysMinRegex;\n\n proto$1.isPM = localeIsPM;\n proto$1.meridiem = localeMeridiem;\n\n function get$1 (format, index, field, setter) {\n var locale = getLocale();\n var utc = createUTC().set(setter, index);\n return locale[field](utc, format);\n }\n\n function listMonthsImpl (format, index, field) {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n\n if (index != null) {\n return get$1(format, index, field, 'month');\n }\n\n var i;\n var out = [];\n for (i = 0; i < 12; i++) {\n out[i] = get$1(format, i, field, 'month');\n }\n return out;\n }\n\n // ()\n // (5)\n // (fmt, 5)\n // (fmt)\n // (true)\n // (true, 5)\n // (true, fmt, 5)\n // (true, fmt)\n function listWeekdaysImpl (localeSorted, format, index, field) {\n if (typeof localeSorted === 'boolean') {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n } else {\n format = localeSorted;\n index = format;\n localeSorted = false;\n\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n }\n\n var locale = getLocale(),\n shift = localeSorted ? locale._week.dow : 0;\n\n if (index != null) {\n return get$1(format, (index + shift) % 7, field, 'day');\n }\n\n var i;\n var out = [];\n for (i = 0; i < 7; i++) {\n out[i] = get$1(format, (i + shift) % 7, field, 'day');\n }\n return out;\n }\n\n function listMonths (format, index) {\n return listMonthsImpl(format, index, 'months');\n }\n\n function listMonthsShort (format, index) {\n return listMonthsImpl(format, index, 'monthsShort');\n }\n\n function listWeekdays (localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdays');\n }\n\n function listWeekdaysShort (localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysShort');\n }\n\n function listWeekdaysMin (localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysMin');\n }\n\n getSetGlobalLocale('en', {\n dayOfMonthOrdinalParse: /\\d{1,2}(th|st|nd|rd)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (toInt(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n }\n });\n\n // Side effect imports\n\n hooks.lang = deprecate('moment.lang is deprecated. Use moment.locale instead.', getSetGlobalLocale);\n hooks.langData = deprecate('moment.langData is deprecated. Use moment.localeData instead.', getLocale);\n\n var mathAbs = Math.abs;\n\n function abs () {\n var data = this._data;\n\n this._milliseconds = mathAbs(this._milliseconds);\n this._days = mathAbs(this._days);\n this._months = mathAbs(this._months);\n\n data.milliseconds = mathAbs(data.milliseconds);\n data.seconds = mathAbs(data.seconds);\n data.minutes = mathAbs(data.minutes);\n data.hours = mathAbs(data.hours);\n data.months = mathAbs(data.months);\n data.years = mathAbs(data.years);\n\n return this;\n }\n\n function addSubtract$1 (duration, input, value, direction) {\n var other = createDuration(input, value);\n\n duration._milliseconds += direction * other._milliseconds;\n duration._days += direction * other._days;\n duration._months += direction * other._months;\n\n return duration._bubble();\n }\n\n // supports only 2.0-style add(1, 's') or add(duration)\n function add$1 (input, value) {\n return addSubtract$1(this, input, value, 1);\n }\n\n // supports only 2.0-style subtract(1, 's') or subtract(duration)\n function subtract$1 (input, value) {\n return addSubtract$1(this, input, value, -1);\n }\n\n function absCeil (number) {\n if (number < 0) {\n return Math.floor(number);\n } else {\n return Math.ceil(number);\n }\n }\n\n function bubble () {\n var milliseconds = this._milliseconds;\n var days = this._days;\n var months = this._months;\n var data = this._data;\n var seconds, minutes, hours, years, monthsFromDays;\n\n // if we have a mix of positive and negative values, bubble down first\n // check: https://github.com/moment/moment/issues/2166\n if (!((milliseconds >= 0 && days >= 0 && months >= 0) ||\n (milliseconds <= 0 && days <= 0 && months <= 0))) {\n milliseconds += absCeil(monthsToDays(months) + days) * 864e5;\n days = 0;\n months = 0;\n }\n\n // The following code bubbles up values, see the tests for\n // examples of what that means.\n data.milliseconds = milliseconds % 1000;\n\n seconds = absFloor(milliseconds / 1000);\n data.seconds = seconds % 60;\n\n minutes = absFloor(seconds / 60);\n data.minutes = minutes % 60;\n\n hours = absFloor(minutes / 60);\n data.hours = hours % 24;\n\n days += absFloor(hours / 24);\n\n // convert days to months\n monthsFromDays = absFloor(daysToMonths(days));\n months += monthsFromDays;\n days -= absCeil(monthsToDays(monthsFromDays));\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n data.days = days;\n data.months = months;\n data.years = years;\n\n return this;\n }\n\n function daysToMonths (days) {\n // 400 years have 146097 days (taking into account leap year rules)\n // 400 years have 12 months === 4800\n return days * 4800 / 146097;\n }\n\n function monthsToDays (months) {\n // the reverse of daysToMonths\n return months * 146097 / 4800;\n }\n\n function as (units) {\n if (!this.isValid()) {\n return NaN;\n }\n var days;\n var months;\n var milliseconds = this._milliseconds;\n\n units = normalizeUnits(units);\n\n if (units === 'month' || units === 'year') {\n days = this._days + milliseconds / 864e5;\n months = this._months + daysToMonths(days);\n return units === 'month' ? months : months / 12;\n } else {\n // handle milliseconds separately because of floating point math errors (issue #1867)\n days = this._days + Math.round(monthsToDays(this._months));\n switch (units) {\n case 'week' : return days / 7 + milliseconds / 6048e5;\n case 'day' : return days + milliseconds / 864e5;\n case 'hour' : return days * 24 + milliseconds / 36e5;\n case 'minute' : return days * 1440 + milliseconds / 6e4;\n case 'second' : return days * 86400 + milliseconds / 1000;\n // Math.floor prevents floating point math errors here\n case 'millisecond': return Math.floor(days * 864e5) + milliseconds;\n default: throw new Error('Unknown unit ' + units);\n }\n }\n }\n\n // TODO: Use this.as('ms')?\n function valueOf$1 () {\n if (!this.isValid()) {\n return NaN;\n }\n return (\n this._milliseconds +\n this._days * 864e5 +\n (this._months % 12) * 2592e6 +\n toInt(this._months / 12) * 31536e6\n );\n }\n\n function makeAs (alias) {\n return function () {\n return this.as(alias);\n };\n }\n\n var asMilliseconds = makeAs('ms');\n var asSeconds = makeAs('s');\n var asMinutes = makeAs('m');\n var asHours = makeAs('h');\n var asDays = makeAs('d');\n var asWeeks = makeAs('w');\n var asMonths = makeAs('M');\n var asYears = makeAs('y');\n\n function clone$1 () {\n return createDuration(this);\n }\n\n function get$2 (units) {\n units = normalizeUnits(units);\n return this.isValid() ? this[units + 's']() : NaN;\n }\n\n function makeGetter(name) {\n return function () {\n return this.isValid() ? this._data[name] : NaN;\n };\n }\n\n var milliseconds = makeGetter('milliseconds');\n var seconds = makeGetter('seconds');\n var minutes = makeGetter('minutes');\n var hours = makeGetter('hours');\n var days = makeGetter('days');\n var months = makeGetter('months');\n var years = makeGetter('years');\n\n function weeks () {\n return absFloor(this.days() / 7);\n }\n\n var round = Math.round;\n var thresholds = {\n ss: 44, // a few seconds to seconds\n s : 45, // seconds to minute\n m : 45, // minutes to hour\n h : 22, // hours to day\n d : 26, // days to month\n M : 11 // months to year\n };\n\n // helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize\n function substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) {\n return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture);\n }\n\n function relativeTime$1 (posNegDuration, withoutSuffix, locale) {\n var duration = createDuration(posNegDuration).abs();\n var seconds = round(duration.as('s'));\n var minutes = round(duration.as('m'));\n var hours = round(duration.as('h'));\n var days = round(duration.as('d'));\n var months = round(duration.as('M'));\n var years = round(duration.as('y'));\n\n var a = seconds <= thresholds.ss && ['s', seconds] ||\n seconds < thresholds.s && ['ss', seconds] ||\n minutes <= 1 && ['m'] ||\n minutes < thresholds.m && ['mm', minutes] ||\n hours <= 1 && ['h'] ||\n hours < thresholds.h && ['hh', hours] ||\n days <= 1 && ['d'] ||\n days < thresholds.d && ['dd', days] ||\n months <= 1 && ['M'] ||\n months < thresholds.M && ['MM', months] ||\n years <= 1 && ['y'] || ['yy', years];\n\n a[2] = withoutSuffix;\n a[3] = +posNegDuration > 0;\n a[4] = locale;\n return substituteTimeAgo.apply(null, a);\n }\n\n // This function allows you to set the rounding function for relative time strings\n function getSetRelativeTimeRounding (roundingFunction) {\n if (roundingFunction === undefined) {\n return round;\n }\n if (typeof(roundingFunction) === 'function') {\n round = roundingFunction;\n return true;\n }\n return false;\n }\n\n // This function allows you to set a threshold for relative time strings\n function getSetRelativeTimeThreshold (threshold, limit) {\n if (thresholds[threshold] === undefined) {\n return false;\n }\n if (limit === undefined) {\n return thresholds[threshold];\n }\n thresholds[threshold] = limit;\n if (threshold === 's') {\n thresholds.ss = limit - 1;\n }\n return true;\n }\n\n function humanize (withSuffix) {\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var locale = this.localeData();\n var output = relativeTime$1(this, !withSuffix, locale);\n\n if (withSuffix) {\n output = locale.pastFuture(+this, output);\n }\n\n return locale.postformat(output);\n }\n\n var abs$1 = Math.abs;\n\n function sign(x) {\n return ((x > 0) - (x < 0)) || +x;\n }\n\n function toISOString$1() {\n // for ISO strings we do not use the normal bubbling rules:\n // * milliseconds bubble up until they become hours\n // * days do not bubble at all\n // * months bubble up until they become years\n // This is because there is no context-free conversion between hours and days\n // (think of clock changes)\n // and also not between days and months (28-31 days per month)\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var seconds = abs$1(this._milliseconds) / 1000;\n var days = abs$1(this._days);\n var months = abs$1(this._months);\n var minutes, hours, years;\n\n // 3600 seconds -> 60 minutes -> 1 hour\n minutes = absFloor(seconds / 60);\n hours = absFloor(minutes / 60);\n seconds %= 60;\n minutes %= 60;\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n\n // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js\n var Y = years;\n var M = months;\n var D = days;\n var h = hours;\n var m = minutes;\n var s = seconds ? seconds.toFixed(3).replace(/\\.?0+$/, '') : '';\n var total = this.asSeconds();\n\n if (!total) {\n // this is the same as C#'s (Noda) and python (isodate)...\n // but not other JS (goog.date)\n return 'P0D';\n }\n\n var totalSign = total < 0 ? '-' : '';\n var ymSign = sign(this._months) !== sign(total) ? '-' : '';\n var daysSign = sign(this._days) !== sign(total) ? '-' : '';\n var hmsSign = sign(this._milliseconds) !== sign(total) ? '-' : '';\n\n return totalSign + 'P' +\n (Y ? ymSign + Y + 'Y' : '') +\n (M ? ymSign + M + 'M' : '') +\n (D ? daysSign + D + 'D' : '') +\n ((h || m || s) ? 'T' : '') +\n (h ? hmsSign + h + 'H' : '') +\n (m ? hmsSign + m + 'M' : '') +\n (s ? hmsSign + s + 'S' : '');\n }\n\n var proto$2 = Duration.prototype;\n\n proto$2.isValid = isValid$1;\n proto$2.abs = abs;\n proto$2.add = add$1;\n proto$2.subtract = subtract$1;\n proto$2.as = as;\n proto$2.asMilliseconds = asMilliseconds;\n proto$2.asSeconds = asSeconds;\n proto$2.asMinutes = asMinutes;\n proto$2.asHours = asHours;\n proto$2.asDays = asDays;\n proto$2.asWeeks = asWeeks;\n proto$2.asMonths = asMonths;\n proto$2.asYears = asYears;\n proto$2.valueOf = valueOf$1;\n proto$2._bubble = bubble;\n proto$2.clone = clone$1;\n proto$2.get = get$2;\n proto$2.milliseconds = milliseconds;\n proto$2.seconds = seconds;\n proto$2.minutes = minutes;\n proto$2.hours = hours;\n proto$2.days = days;\n proto$2.weeks = weeks;\n proto$2.months = months;\n proto$2.years = years;\n proto$2.humanize = humanize;\n proto$2.toISOString = toISOString$1;\n proto$2.toString = toISOString$1;\n proto$2.toJSON = toISOString$1;\n proto$2.locale = locale;\n proto$2.localeData = localeData;\n\n proto$2.toIsoString = deprecate('toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)', toISOString$1);\n proto$2.lang = lang;\n\n // Side effect imports\n\n // FORMATTING\n\n addFormatToken('X', 0, 0, 'unix');\n addFormatToken('x', 0, 0, 'valueOf');\n\n // PARSING\n\n addRegexToken('x', matchSigned);\n addRegexToken('X', matchTimestamp);\n addParseToken('X', function (input, array, config) {\n config._d = new Date(parseFloat(input, 10) * 1000);\n });\n addParseToken('x', function (input, array, config) {\n config._d = new Date(toInt(input));\n });\n\n // Side effect imports\n\n\n hooks.version = '2.22.2';\n\n setHookCallback(createLocal);\n\n hooks.fn = proto;\n hooks.min = min;\n hooks.max = max;\n hooks.now = now;\n hooks.utc = createUTC;\n hooks.unix = createUnix;\n hooks.months = listMonths;\n hooks.isDate = isDate;\n hooks.locale = getSetGlobalLocale;\n hooks.invalid = createInvalid;\n hooks.duration = createDuration;\n hooks.isMoment = isMoment;\n hooks.weekdays = listWeekdays;\n hooks.parseZone = createInZone;\n hooks.localeData = getLocale;\n hooks.isDuration = isDuration;\n hooks.monthsShort = listMonthsShort;\n hooks.weekdaysMin = listWeekdaysMin;\n hooks.defineLocale = defineLocale;\n hooks.updateLocale = updateLocale;\n hooks.locales = listLocales;\n hooks.weekdaysShort = listWeekdaysShort;\n hooks.normalizeUnits = normalizeUnits;\n hooks.relativeTimeRounding = getSetRelativeTimeRounding;\n hooks.relativeTimeThreshold = getSetRelativeTimeThreshold;\n hooks.calendarFormat = getCalendarFormat;\n hooks.prototype = proto;\n\n // currently HTML5 input type only supports 24-hour formats\n hooks.HTML5_FMT = {\n DATETIME_LOCAL: 'YYYY-MM-DDTHH:mm', // \n DATETIME_LOCAL_SECONDS: 'YYYY-MM-DDTHH:mm:ss', // \n DATETIME_LOCAL_MS: 'YYYY-MM-DDTHH:mm:ss.SSS', // \n DATE: 'YYYY-MM-DD', // \n TIME: 'HH:mm', // \n TIME_SECONDS: 'HH:mm:ss', // \n TIME_MS: 'HH:mm:ss.SSS', // \n WEEK: 'YYYY-[W]WW', // \n MONTH: 'YYYY-MM' // \n };\n\n return hooks;\n\n})));\n","export function each(o, cb, s) {\n var n;\n if (!o) {\n return 0;\n }\n s = !s ? o : s;\n if (o instanceof Array) {\n // Indexed arrays, needed for Safari\n for (n = 0; n < o.length; n++) {\n if (cb.call(s, o[n], n, o) === false) {\n return 0;\n }\n }\n } else {\n // Hashtables\n for (n in o) {\n if (o.hasOwnProperty(n)) {\n if (cb.call(s, o[n], n, o) === false){\n return 0;\n }\n }\n }\n }\n return 1;\n}\n","export var name = \"d3\";\nexport var version = \"5.4.0\";\nexport var description = \"Data-Driven Documents\";\nexport var keywords = [\"dom\",\"visualization\",\"svg\",\"animation\",\"canvas\"];\nexport var homepage = \"https://d3js.org\";\nexport var license = \"BSD-3-Clause\";\nexport var author = {\"name\":\"Mike Bostock\",\"url\":\"https://bost.ocks.org/mike\"};\nexport var main = \"dist/d3.node.js\";\nexport var unpkg = \"dist/d3.min.js\";\nexport var jsdelivr = \"dist/d3.min.js\";\nexport var module = \"index\";\nexport var repository = {\"type\":\"git\",\"url\":\"https://github.com/d3/d3.git\"};\nexport var scripts = {\"pretest\":\"rimraf dist && mkdir dist && json2module package.json > dist/package.js && node rollup.node\",\"test\":\"tape 'test/**/*-test.js'\",\"prepublishOnly\":\"npm run test && rollup -c --banner \\\"$(preamble)\\\" && uglifyjs -b beautify=false,preamble=\\\"'$(preamble)'\\\" dist/d3.js -c negate_iife=false -m -o dist/d3.min.js\",\"postpublish\":\"git push && git push --tags && cd ../d3.github.com && git pull && cp ../d3/dist/d3.js d3.v5.js && cp ../d3/dist/d3.min.js d3.v5.min.js && git add d3.v5.js d3.v5.min.js && git commit -m \\\"d3 ${npm_package_version}\\\" && git push && cd - && cd ../d3-bower && git pull && cp ../d3/LICENSE ../d3/README.md ../d3/dist/d3.js ../d3/dist/d3.min.js . && git add -- LICENSE README.md d3.js d3.min.js && git commit -m \\\"${npm_package_version}\\\" && git tag -am \\\"${npm_package_version}\\\" v${npm_package_version} && git push && git push --tags && cd - && zip -j dist/d3.zip -- LICENSE README.md API.md CHANGES.md dist/d3.js dist/d3.min.js\"};\nexport var devDependencies = {\"json2module\":\"0.0\",\"package-preamble\":\"0.1\",\"rimraf\":\"2\",\"rollup\":\"0.57\",\"rollup-plugin-ascii\":\"0.0\",\"rollup-plugin-node-resolve\":\"3\",\"tape\":\"4\",\"uglify-js\":\"3.2\"};\nexport var dependencies = {\"d3-array\":\"1\",\"d3-axis\":\"1\",\"d3-brush\":\"1\",\"d3-chord\":\"1\",\"d3-collection\":\"1\",\"d3-color\":\"1\",\"d3-contour\":\"1\",\"d3-dispatch\":\"1\",\"d3-drag\":\"1\",\"d3-dsv\":\"1\",\"d3-ease\":\"1\",\"d3-fetch\":\"1\",\"d3-force\":\"1\",\"d3-format\":\"1\",\"d3-geo\":\"1\",\"d3-hierarchy\":\"1\",\"d3-interpolate\":\"1\",\"d3-path\":\"1\",\"d3-polygon\":\"1\",\"d3-quadtree\":\"1\",\"d3-random\":\"1\",\"d3-scale\":\"2\",\"d3-scale-chromatic\":\"1\",\"d3-selection\":\"1\",\"d3-shape\":\"1\",\"d3-time\":\"1\",\"d3-time-format\":\"2\",\"d3-timer\":\"1\",\"d3-transition\":\"1\",\"d3-voronoi\":\"1\",\"d3-zoom\":\"1\"};\n","export default function(a, b) {\n return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;\n}\n","import ascending from \"./ascending\";\n\nexport default function(compare) {\n if (compare.length === 1) compare = ascendingComparator(compare);\n return {\n left: function(a, x, lo, hi) {\n if (lo == null) lo = 0;\n if (hi == null) hi = a.length;\n while (lo < hi) {\n var mid = lo + hi >>> 1;\n if (compare(a[mid], x) < 0) lo = mid + 1;\n else hi = mid;\n }\n return lo;\n },\n right: function(a, x, lo, hi) {\n if (lo == null) lo = 0;\n if (hi == null) hi = a.length;\n while (lo < hi) {\n var mid = lo + hi >>> 1;\n if (compare(a[mid], x) > 0) hi = mid;\n else lo = mid + 1;\n }\n return lo;\n }\n };\n}\n\nfunction ascendingComparator(f) {\n return function(d, x) {\n return ascending(f(d), x);\n };\n}\n","import ascending from \"./ascending\";\nimport bisector from \"./bisector\";\n\nvar ascendingBisect = bisector(ascending);\nexport var bisectRight = ascendingBisect.right;\nexport var bisectLeft = ascendingBisect.left;\nexport default bisectRight;\n","export default function(array, f) {\n if (f == null) f = pair;\n var i = 0, n = array.length - 1, p = array[0], pairs = new Array(n < 0 ? 0 : n);\n while (i < n) pairs[i] = f(p, p = array[++i]);\n return pairs;\n}\n\nexport function pair(a, b) {\n return [a, b];\n}\n","import {pair} from \"./pairs\";\n\nexport default function(values0, values1, reduce) {\n var n0 = values0.length,\n n1 = values1.length,\n values = new Array(n0 * n1),\n i0,\n i1,\n i,\n value0;\n\n if (reduce == null) reduce = pair;\n\n for (i0 = i = 0; i0 < n0; ++i0) {\n for (value0 = values0[i0], i1 = 0; i1 < n1; ++i1, ++i) {\n values[i] = reduce(value0, values1[i1]);\n }\n }\n\n return values;\n}\n","export default function(a, b) {\n return b < a ? -1 : b > a ? 1 : b >= a ? 0 : NaN;\n}\n","export default function(x) {\n return x === null ? NaN : +x;\n}\n","import number from \"./number\";\n\nexport default function(values, valueof) {\n var n = values.length,\n m = 0,\n i = -1,\n mean = 0,\n value,\n delta,\n sum = 0;\n\n if (valueof == null) {\n while (++i < n) {\n if (!isNaN(value = number(values[i]))) {\n delta = value - mean;\n mean += delta / ++m;\n sum += delta * (value - mean);\n }\n }\n }\n\n else {\n while (++i < n) {\n if (!isNaN(value = number(valueof(values[i], i, values)))) {\n delta = value - mean;\n mean += delta / ++m;\n sum += delta * (value - mean);\n }\n }\n }\n\n if (m > 1) return sum / (m - 1);\n}\n","import variance from \"./variance\";\n\nexport default function(array, f) {\n var v = variance(array, f);\n return v ? Math.sqrt(v) : v;\n}\n","export default function(values, valueof) {\n var n = values.length,\n i = -1,\n value,\n min,\n max;\n\n if (valueof == null) {\n while (++i < n) { // Find the first comparable value.\n if ((value = values[i]) != null && value >= value) {\n min = max = value;\n while (++i < n) { // Compare the remaining values.\n if ((value = values[i]) != null) {\n if (min > value) min = value;\n if (max < value) max = value;\n }\n }\n }\n }\n }\n\n else {\n while (++i < n) { // Find the first comparable value.\n if ((value = valueof(values[i], i, values)) != null && value >= value) {\n min = max = value;\n while (++i < n) { // Compare the remaining values.\n if ((value = valueof(values[i], i, values)) != null) {\n if (min > value) min = value;\n if (max < value) max = value;\n }\n }\n }\n }\n }\n\n return [min, max];\n}\n","var array = Array.prototype;\n\nexport var slice = array.slice;\nexport var map = array.map;\n","export default function(x) {\n return function() {\n return x;\n };\n}\n","export default function(x) {\n return x;\n}\n","export default function(start, stop, step) {\n start = +start, stop = +stop, step = (n = arguments.length) < 2 ? (stop = start, start = 0, 1) : n < 3 ? 1 : +step;\n\n var i = -1,\n n = Math.max(0, Math.ceil((stop - start) / step)) | 0,\n range = new Array(n);\n\n while (++i < n) {\n range[i] = start + i * step;\n }\n\n return range;\n}\n","var e10 = Math.sqrt(50),\n e5 = Math.sqrt(10),\n e2 = Math.sqrt(2);\n\nexport default function(start, stop, count) {\n var reverse,\n i = -1,\n n,\n ticks,\n step;\n\n stop = +stop, start = +start, count = +count;\n if (start === stop && count > 0) return [start];\n if (reverse = stop < start) n = start, start = stop, stop = n;\n if ((step = tickIncrement(start, stop, count)) === 0 || !isFinite(step)) return [];\n\n if (step > 0) {\n start = Math.ceil(start / step);\n stop = Math.floor(stop / step);\n ticks = new Array(n = Math.ceil(stop - start + 1));\n while (++i < n) ticks[i] = (start + i) * step;\n } else {\n start = Math.floor(start * step);\n stop = Math.ceil(stop * step);\n ticks = new Array(n = Math.ceil(start - stop + 1));\n while (++i < n) ticks[i] = (start - i) / step;\n }\n\n if (reverse) ticks.reverse();\n\n return ticks;\n}\n\nexport function tickIncrement(start, stop, count) {\n var step = (stop - start) / Math.max(0, count),\n power = Math.floor(Math.log(step) / Math.LN10),\n error = step / Math.pow(10, power);\n return power >= 0\n ? (error >= e10 ? 10 : error >= e5 ? 5 : error >= e2 ? 2 : 1) * Math.pow(10, power)\n : -Math.pow(10, -power) / (error >= e10 ? 10 : error >= e5 ? 5 : error >= e2 ? 2 : 1);\n}\n\nexport function tickStep(start, stop, count) {\n var step0 = Math.abs(stop - start) / Math.max(0, count),\n step1 = Math.pow(10, Math.floor(Math.log(step0) / Math.LN10)),\n error = step0 / step1;\n if (error >= e10) step1 *= 10;\n else if (error >= e5) step1 *= 5;\n else if (error >= e2) step1 *= 2;\n return stop < start ? -step1 : step1;\n}\n","export default function(values) {\n return Math.ceil(Math.log(values.length) / Math.LN2) + 1;\n}\n","import {slice} from \"./array\";\nimport bisect from \"./bisect\";\nimport constant from \"./constant\";\nimport extent from \"./extent\";\nimport identity from \"./identity\";\nimport range from \"./range\";\nimport {tickStep} from \"./ticks\";\nimport sturges from \"./threshold/sturges\";\n\nexport default function() {\n var value = identity,\n domain = extent,\n threshold = sturges;\n\n function histogram(data) {\n var i,\n n = data.length,\n x,\n values = new Array(n);\n\n for (i = 0; i < n; ++i) {\n values[i] = value(data[i], i, data);\n }\n\n var xz = domain(values),\n x0 = xz[0],\n x1 = xz[1],\n tz = threshold(values, x0, x1);\n\n // Convert number of thresholds into uniform thresholds.\n if (!Array.isArray(tz)) {\n tz = tickStep(x0, x1, tz);\n tz = range(Math.ceil(x0 / tz) * tz, Math.floor(x1 / tz) * tz, tz); // exclusive\n }\n\n // Remove any thresholds outside the domain.\n var m = tz.length;\n while (tz[0] <= x0) tz.shift(), --m;\n while (tz[m - 1] > x1) tz.pop(), --m;\n\n var bins = new Array(m + 1),\n bin;\n\n // Initialize bins.\n for (i = 0; i <= m; ++i) {\n bin = bins[i] = [];\n bin.x0 = i > 0 ? tz[i - 1] : x0;\n bin.x1 = i < m ? tz[i] : x1;\n }\n\n // Assign data to bins by value, ignoring any outside the domain.\n for (i = 0; i < n; ++i) {\n x = values[i];\n if (x0 <= x && x <= x1) {\n bins[bisect(tz, x, 0, m)].push(data[i]);\n }\n }\n\n return bins;\n }\n\n histogram.value = function(_) {\n return arguments.length ? (value = typeof _ === \"function\" ? _ : constant(_), histogram) : value;\n };\n\n histogram.domain = function(_) {\n return arguments.length ? (domain = typeof _ === \"function\" ? _ : constant([_[0], _[1]]), histogram) : domain;\n };\n\n histogram.thresholds = function(_) {\n return arguments.length ? (threshold = typeof _ === \"function\" ? _ : Array.isArray(_) ? constant(slice.call(_)) : constant(_), histogram) : threshold;\n };\n\n return histogram;\n}\n","import number from \"./number\";\n\nexport default function(values, p, valueof) {\n if (valueof == null) valueof = number;\n if (!(n = values.length)) return;\n if ((p = +p) <= 0 || n < 2) return +valueof(values[0], 0, values);\n if (p >= 1) return +valueof(values[n - 1], n - 1, values);\n var n,\n i = (n - 1) * p,\n i0 = Math.floor(i),\n value0 = +valueof(values[i0], i0, values),\n value1 = +valueof(values[i0 + 1], i0 + 1, values);\n return value0 + (value1 - value0) * (i - i0);\n}\n","import {map} from \"../array\";\nimport ascending from \"../ascending\";\nimport number from \"../number\";\nimport quantile from \"../quantile\";\n\nexport default function(values, min, max) {\n values = map.call(values, number).sort(ascending);\n return Math.ceil((max - min) / (2 * (quantile(values, 0.75) - quantile(values, 0.25)) * Math.pow(values.length, -1 / 3)));\n}\n","import deviation from \"../deviation\";\n\nexport default function(values, min, max) {\n return Math.ceil((max - min) / (3.5 * deviation(values) * Math.pow(values.length, -1 / 3)));\n}\n","export default function(values, valueof) {\n var n = values.length,\n i = -1,\n value,\n max;\n\n if (valueof == null) {\n while (++i < n) { // Find the first comparable value.\n if ((value = values[i]) != null && value >= value) {\n max = value;\n while (++i < n) { // Compare the remaining values.\n if ((value = values[i]) != null && value > max) {\n max = value;\n }\n }\n }\n }\n }\n\n else {\n while (++i < n) { // Find the first comparable value.\n if ((value = valueof(values[i], i, values)) != null && value >= value) {\n max = value;\n while (++i < n) { // Compare the remaining values.\n if ((value = valueof(values[i], i, values)) != null && value > max) {\n max = value;\n }\n }\n }\n }\n }\n\n return max;\n}\n","import number from \"./number\";\n\nexport default function(values, valueof) {\n var n = values.length,\n m = n,\n i = -1,\n value,\n sum = 0;\n\n if (valueof == null) {\n while (++i < n) {\n if (!isNaN(value = number(values[i]))) sum += value;\n else --m;\n }\n }\n\n else {\n while (++i < n) {\n if (!isNaN(value = number(valueof(values[i], i, values)))) sum += value;\n else --m;\n }\n }\n\n if (m) return sum / m;\n}\n","import ascending from \"./ascending\";\nimport number from \"./number\";\nimport quantile from \"./quantile\";\n\nexport default function(values, valueof) {\n var n = values.length,\n i = -1,\n value,\n numbers = [];\n\n if (valueof == null) {\n while (++i < n) {\n if (!isNaN(value = number(values[i]))) {\n numbers.push(value);\n }\n }\n }\n\n else {\n while (++i < n) {\n if (!isNaN(value = number(valueof(values[i], i, values)))) {\n numbers.push(value);\n }\n }\n }\n\n return quantile(numbers.sort(ascending), 0.5);\n}\n","export default function(arrays) {\n var n = arrays.length,\n m,\n i = -1,\n j = 0,\n merged,\n array;\n\n while (++i < n) j += arrays[i].length;\n merged = new Array(j);\n\n while (--n >= 0) {\n array = arrays[n];\n m = array.length;\n while (--m >= 0) {\n merged[--j] = array[m];\n }\n }\n\n return merged;\n}\n","export default function(values, valueof) {\n var n = values.length,\n i = -1,\n value,\n min;\n\n if (valueof == null) {\n while (++i < n) { // Find the first comparable value.\n if ((value = values[i]) != null && value >= value) {\n min = value;\n while (++i < n) { // Compare the remaining values.\n if ((value = values[i]) != null && min > value) {\n min = value;\n }\n }\n }\n }\n }\n\n else {\n while (++i < n) { // Find the first comparable value.\n if ((value = valueof(values[i], i, values)) != null && value >= value) {\n min = value;\n while (++i < n) { // Compare the remaining values.\n if ((value = valueof(values[i], i, values)) != null && min > value) {\n min = value;\n }\n }\n }\n }\n }\n\n return min;\n}\n","export default function(array, indexes) {\n var i = indexes.length, permutes = new Array(i);\n while (i--) permutes[i] = array[indexes[i]];\n return permutes;\n}\n","import ascending from \"./ascending\";\n\nexport default function(values, compare) {\n if (!(n = values.length)) return;\n var n,\n i = 0,\n j = 0,\n xi,\n xj = values[j];\n\n if (compare == null) compare = ascending;\n\n while (++i < n) {\n if (compare(xi = values[i], xj) < 0 || compare(xj, xj) !== 0) {\n xj = xi, j = i;\n }\n }\n\n if (compare(xj, xj) === 0) return j;\n}\n","export default function(array, i0, i1) {\n var m = (i1 == null ? array.length : i1) - (i0 = i0 == null ? 0 : +i0),\n t,\n i;\n\n while (m) {\n i = Math.random() * m-- | 0;\n t = array[m + i0];\n array[m + i0] = array[i + i0];\n array[i + i0] = t;\n }\n\n return array;\n}\n","export default function(values, valueof) {\n var n = values.length,\n i = -1,\n value,\n sum = 0;\n\n if (valueof == null) {\n while (++i < n) {\n if (value = +values[i]) sum += value; // Note: zero and null are equivalent.\n }\n }\n\n else {\n while (++i < n) {\n if (value = +valueof(values[i], i, values)) sum += value;\n }\n }\n\n return sum;\n}\n","import min from \"./min\";\n\nexport default function(matrix) {\n if (!(n = matrix.length)) return [];\n for (var i = -1, m = min(matrix, length), transpose = new Array(m); ++i < m;) {\n for (var j = -1, n, row = transpose[i] = new Array(n); ++j < n;) {\n row[j] = matrix[j][i];\n }\n }\n return transpose;\n}\n\nfunction length(d) {\n return d.length;\n}\n","import transpose from \"./transpose\";\n\nexport default function() {\n return transpose(arguments);\n}\n","export {default as bisect, bisectRight, bisectLeft} from \"./src/bisect\";\nexport {default as ascending} from \"./src/ascending\";\nexport {default as bisector} from \"./src/bisector\";\nexport {default as cross} from \"./src/cross\";\nexport {default as descending} from \"./src/descending\";\nexport {default as deviation} from \"./src/deviation\";\nexport {default as extent} from \"./src/extent\";\nexport {default as histogram} from \"./src/histogram\";\nexport {default as thresholdFreedmanDiaconis} from \"./src/threshold/freedmanDiaconis\";\nexport {default as thresholdScott} from \"./src/threshold/scott\";\nexport {default as thresholdSturges} from \"./src/threshold/sturges\";\nexport {default as max} from \"./src/max\";\nexport {default as mean} from \"./src/mean\";\nexport {default as median} from \"./src/median\";\nexport {default as merge} from \"./src/merge\";\nexport {default as min} from \"./src/min\";\nexport {default as pairs} from \"./src/pairs\";\nexport {default as permute} from \"./src/permute\";\nexport {default as quantile} from \"./src/quantile\";\nexport {default as range} from \"./src/range\";\nexport {default as scan} from \"./src/scan\";\nexport {default as shuffle} from \"./src/shuffle\";\nexport {default as sum} from \"./src/sum\";\nexport {default as ticks, tickIncrement, tickStep} from \"./src/ticks\";\nexport {default as transpose} from \"./src/transpose\";\nexport {default as variance} from \"./src/variance\";\nexport {default as zip} from \"./src/zip\";\n","export var slice = Array.prototype.slice;\n","export default function(x) {\n return x;\n}\n","import {slice} from \"./array\";\nimport identity from \"./identity\";\n\nvar top = 1,\n right = 2,\n bottom = 3,\n left = 4,\n epsilon = 1e-6;\n\nfunction translateX(x) {\n return \"translate(\" + (x + 0.5) + \",0)\";\n}\n\nfunction translateY(y) {\n return \"translate(0,\" + (y + 0.5) + \")\";\n}\n\nfunction number(scale) {\n return function(d) {\n return +scale(d);\n };\n}\n\nfunction center(scale) {\n var offset = Math.max(0, scale.bandwidth() - 1) / 2; // Adjust for 0.5px offset.\n if (scale.round()) offset = Math.round(offset);\n return function(d) {\n return +scale(d) + offset;\n };\n}\n\nfunction entering() {\n return !this.__axis;\n}\n\nfunction axis(orient, scale) {\n var tickArguments = [],\n tickValues = null,\n tickFormat = null,\n tickSizeInner = 6,\n tickSizeOuter = 6,\n tickPadding = 3,\n k = orient === top || orient === left ? -1 : 1,\n x = orient === left || orient === right ? \"x\" : \"y\",\n transform = orient === top || orient === bottom ? translateX : translateY;\n\n function axis(context) {\n var values = tickValues == null ? (scale.ticks ? scale.ticks.apply(scale, tickArguments) : scale.domain()) : tickValues,\n format = tickFormat == null ? (scale.tickFormat ? scale.tickFormat.apply(scale, tickArguments) : identity) : tickFormat,\n spacing = Math.max(tickSizeInner, 0) + tickPadding,\n range = scale.range(),\n range0 = +range[0] + 0.5,\n range1 = +range[range.length - 1] + 0.5,\n position = (scale.bandwidth ? center : number)(scale.copy()),\n selection = context.selection ? context.selection() : context,\n path = selection.selectAll(\".domain\").data([null]),\n tick = selection.selectAll(\".tick\").data(values, scale).order(),\n tickExit = tick.exit(),\n tickEnter = tick.enter().append(\"g\").attr(\"class\", \"tick\"),\n line = tick.select(\"line\"),\n text = tick.select(\"text\");\n\n path = path.merge(path.enter().insert(\"path\", \".tick\")\n .attr(\"class\", \"domain\")\n .attr(\"stroke\", \"#000\"));\n\n tick = tick.merge(tickEnter);\n\n line = line.merge(tickEnter.append(\"line\")\n .attr(\"stroke\", \"#000\")\n .attr(x + \"2\", k * tickSizeInner));\n\n text = text.merge(tickEnter.append(\"text\")\n .attr(\"fill\", \"#000\")\n .attr(x, k * spacing)\n .attr(\"dy\", orient === top ? \"0em\" : orient === bottom ? \"0.71em\" : \"0.32em\"));\n\n if (context !== selection) {\n path = path.transition(context);\n tick = tick.transition(context);\n line = line.transition(context);\n text = text.transition(context);\n\n tickExit = tickExit.transition(context)\n .attr(\"opacity\", epsilon)\n .attr(\"transform\", function(d) { return isFinite(d = position(d)) ? transform(d) : this.getAttribute(\"transform\"); });\n\n tickEnter\n .attr(\"opacity\", epsilon)\n .attr(\"transform\", function(d) { var p = this.parentNode.__axis; return transform(p && isFinite(p = p(d)) ? p : position(d)); });\n }\n\n tickExit.remove();\n\n path\n .attr(\"d\", orient === left || orient == right\n ? \"M\" + k * tickSizeOuter + \",\" + range0 + \"H0.5V\" + range1 + \"H\" + k * tickSizeOuter\n : \"M\" + range0 + \",\" + k * tickSizeOuter + \"V0.5H\" + range1 + \"V\" + k * tickSizeOuter);\n\n tick\n .attr(\"opacity\", 1)\n .attr(\"transform\", function(d) { return transform(position(d)); });\n\n line\n .attr(x + \"2\", k * tickSizeInner);\n\n text\n .attr(x, k * spacing)\n .text(format);\n\n selection.filter(entering)\n .attr(\"fill\", \"none\")\n .attr(\"font-size\", 10)\n .attr(\"font-family\", \"sans-serif\")\n .attr(\"text-anchor\", orient === right ? \"start\" : orient === left ? \"end\" : \"middle\");\n\n selection\n .each(function() { this.__axis = position; });\n }\n\n axis.scale = function(_) {\n return arguments.length ? (scale = _, axis) : scale;\n };\n\n axis.ticks = function() {\n return tickArguments = slice.call(arguments), axis;\n };\n\n axis.tickArguments = function(_) {\n return arguments.length ? (tickArguments = _ == null ? [] : slice.call(_), axis) : tickArguments.slice();\n };\n\n axis.tickValues = function(_) {\n return arguments.length ? (tickValues = _ == null ? null : slice.call(_), axis) : tickValues && tickValues.slice();\n };\n\n axis.tickFormat = function(_) {\n return arguments.length ? (tickFormat = _, axis) : tickFormat;\n };\n\n axis.tickSize = function(_) {\n return arguments.length ? (tickSizeInner = tickSizeOuter = +_, axis) : tickSizeInner;\n };\n\n axis.tickSizeInner = function(_) {\n return arguments.length ? (tickSizeInner = +_, axis) : tickSizeInner;\n };\n\n axis.tickSizeOuter = function(_) {\n return arguments.length ? (tickSizeOuter = +_, axis) : tickSizeOuter;\n };\n\n axis.tickPadding = function(_) {\n return arguments.length ? (tickPadding = +_, axis) : tickPadding;\n };\n\n return axis;\n}\n\nexport function axisTop(scale) {\n return axis(top, scale);\n}\n\nexport function axisRight(scale) {\n return axis(right, scale);\n}\n\nexport function axisBottom(scale) {\n return axis(bottom, scale);\n}\n\nexport function axisLeft(scale) {\n return axis(left, scale);\n}\n","export {\n axisTop,\n axisRight,\n axisBottom,\n axisLeft\n} from \"./src/axis\";\n","var noop = {value: function() {}};\n\nfunction dispatch() {\n for (var i = 0, n = arguments.length, _ = {}, t; i < n; ++i) {\n if (!(t = arguments[i] + \"\") || (t in _)) throw new Error(\"illegal type: \" + t);\n _[t] = [];\n }\n return new Dispatch(_);\n}\n\nfunction Dispatch(_) {\n this._ = _;\n}\n\nfunction parseTypenames(typenames, types) {\n return typenames.trim().split(/^|\\s+/).map(function(t) {\n var name = \"\", i = t.indexOf(\".\");\n if (i >= 0) name = t.slice(i + 1), t = t.slice(0, i);\n if (t && !types.hasOwnProperty(t)) throw new Error(\"unknown type: \" + t);\n return {type: t, name: name};\n });\n}\n\nDispatch.prototype = dispatch.prototype = {\n constructor: Dispatch,\n on: function(typename, callback) {\n var _ = this._,\n T = parseTypenames(typename + \"\", _),\n t,\n i = -1,\n n = T.length;\n\n // If no callback was specified, return the callback of the given type and name.\n if (arguments.length < 2) {\n while (++i < n) if ((t = (typename = T[i]).type) && (t = get(_[t], typename.name))) return t;\n return;\n }\n\n // If a type was specified, set the callback for the given type and name.\n // Otherwise, if a null callback was specified, remove callbacks of the given name.\n if (callback != null && typeof callback !== \"function\") throw new Error(\"invalid callback: \" + callback);\n while (++i < n) {\n if (t = (typename = T[i]).type) _[t] = set(_[t], typename.name, callback);\n else if (callback == null) for (t in _) _[t] = set(_[t], typename.name, null);\n }\n\n return this;\n },\n copy: function() {\n var copy = {}, _ = this._;\n for (var t in _) copy[t] = _[t].slice();\n return new Dispatch(copy);\n },\n call: function(type, that) {\n if ((n = arguments.length - 2) > 0) for (var args = new Array(n), i = 0, n, t; i < n; ++i) args[i] = arguments[i + 2];\n if (!this._.hasOwnProperty(type)) throw new Error(\"unknown type: \" + type);\n for (t = this._[type], i = 0, n = t.length; i < n; ++i) t[i].value.apply(that, args);\n },\n apply: function(type, that, args) {\n if (!this._.hasOwnProperty(type)) throw new Error(\"unknown type: \" + type);\n for (var t = this._[type], i = 0, n = t.length; i < n; ++i) t[i].value.apply(that, args);\n }\n};\n\nfunction get(type, name) {\n for (var i = 0, n = type.length, c; i < n; ++i) {\n if ((c = type[i]).name === name) {\n return c.value;\n }\n }\n}\n\nfunction set(type, name, callback) {\n for (var i = 0, n = type.length; i < n; ++i) {\n if (type[i].name === name) {\n type[i] = noop, type = type.slice(0, i).concat(type.slice(i + 1));\n break;\n }\n }\n if (callback != null) type.push({name: name, value: callback});\n return type;\n}\n\nexport default dispatch;\n","export {default as dispatch} from \"./src/dispatch\";\n","export var xhtml = \"http://www.w3.org/1999/xhtml\";\n\nexport default {\n svg: \"http://www.w3.org/2000/svg\",\n xhtml: xhtml,\n xlink: \"http://www.w3.org/1999/xlink\",\n xml: \"http://www.w3.org/XML/1998/namespace\",\n xmlns: \"http://www.w3.org/2000/xmlns/\"\n};\n","import namespaces from \"./namespaces\";\n\nexport default function(name) {\n var prefix = name += \"\", i = prefix.indexOf(\":\");\n if (i >= 0 && (prefix = name.slice(0, i)) !== \"xmlns\") name = name.slice(i + 1);\n return namespaces.hasOwnProperty(prefix) ? {space: namespaces[prefix], local: name} : name;\n}\n","import namespace from \"./namespace\";\nimport {xhtml} from \"./namespaces\";\n\nfunction creatorInherit(name) {\n return function() {\n var document = this.ownerDocument,\n uri = this.namespaceURI;\n return uri === xhtml && document.documentElement.namespaceURI === xhtml\n ? document.createElement(name)\n : document.createElementNS(uri, name);\n };\n}\n\nfunction creatorFixed(fullname) {\n return function() {\n return this.ownerDocument.createElementNS(fullname.space, fullname.local);\n };\n}\n\nexport default function(name) {\n var fullname = namespace(name);\n return (fullname.local\n ? creatorFixed\n : creatorInherit)(fullname);\n}\n","function none() {}\n\nexport default function(selector) {\n return selector == null ? none : function() {\n return this.querySelector(selector);\n };\n}\n","import {Selection} from \"./index\";\nimport selector from \"../selector\";\n\nexport default function(select) {\n if (typeof select !== \"function\") select = selector(select);\n\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = new Array(n), node, subnode, i = 0; i < n; ++i) {\n if ((node = group[i]) && (subnode = select.call(node, node.__data__, i, group))) {\n if (\"__data__\" in node) subnode.__data__ = node.__data__;\n subgroup[i] = subnode;\n }\n }\n }\n\n return new Selection(subgroups, this._parents);\n}\n","function empty() {\n return [];\n}\n\nexport default function(selector) {\n return selector == null ? empty : function() {\n return this.querySelectorAll(selector);\n };\n}\n","import {Selection} from \"./index\";\nimport selectorAll from \"../selectorAll\";\n\nexport default function(select) {\n if (typeof select !== \"function\") select = selectorAll(select);\n\n for (var groups = this._groups, m = groups.length, subgroups = [], parents = [], j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n subgroups.push(select.call(node, node.__data__, i, group));\n parents.push(node);\n }\n }\n }\n\n return new Selection(subgroups, parents);\n}\n","var matcher = function(selector) {\n return function() {\n return this.matches(selector);\n };\n};\n\nif (typeof document !== \"undefined\") {\n var element = document.documentElement;\n if (!element.matches) {\n var vendorMatches = element.webkitMatchesSelector\n || element.msMatchesSelector\n || element.mozMatchesSelector\n || element.oMatchesSelector;\n matcher = function(selector) {\n return function() {\n return vendorMatches.call(this, selector);\n };\n };\n }\n}\n\nexport default matcher;\n","import {Selection} from \"./index\";\nimport matcher from \"../matcher\";\n\nexport default function(match) {\n if (typeof match !== \"function\") match = matcher(match);\n\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = [], node, i = 0; i < n; ++i) {\n if ((node = group[i]) && match.call(node, node.__data__, i, group)) {\n subgroup.push(node);\n }\n }\n }\n\n return new Selection(subgroups, this._parents);\n}\n","export default function(update) {\n return new Array(update.length);\n}\n","import sparse from \"./sparse\";\nimport {Selection} from \"./index\";\n\nexport default function() {\n return new Selection(this._enter || this._groups.map(sparse), this._parents);\n}\n\nexport function EnterNode(parent, datum) {\n this.ownerDocument = parent.ownerDocument;\n this.namespaceURI = parent.namespaceURI;\n this._next = null;\n this._parent = parent;\n this.__data__ = datum;\n}\n\nEnterNode.prototype = {\n constructor: EnterNode,\n appendChild: function(child) { return this._parent.insertBefore(child, this._next); },\n insertBefore: function(child, next) { return this._parent.insertBefore(child, next); },\n querySelector: function(selector) { return this._parent.querySelector(selector); },\n querySelectorAll: function(selector) { return this._parent.querySelectorAll(selector); }\n};\n","export default function(x) {\n return function() {\n return x;\n };\n}\n","import {Selection} from \"./index\";\nimport {EnterNode} from \"./enter\";\nimport constant from \"../constant\";\n\nvar keyPrefix = \"$\"; // Protect against keys like “__proto__”.\n\nfunction bindIndex(parent, group, enter, update, exit, data) {\n var i = 0,\n node,\n groupLength = group.length,\n dataLength = data.length;\n\n // Put any non-null nodes that fit into update.\n // Put any null nodes into enter.\n // Put any remaining data into enter.\n for (; i < dataLength; ++i) {\n if (node = group[i]) {\n node.__data__ = data[i];\n update[i] = node;\n } else {\n enter[i] = new EnterNode(parent, data[i]);\n }\n }\n\n // Put any non-null nodes that don’t fit into exit.\n for (; i < groupLength; ++i) {\n if (node = group[i]) {\n exit[i] = node;\n }\n }\n}\n\nfunction bindKey(parent, group, enter, update, exit, data, key) {\n var i,\n node,\n nodeByKeyValue = {},\n groupLength = group.length,\n dataLength = data.length,\n keyValues = new Array(groupLength),\n keyValue;\n\n // Compute the key for each node.\n // If multiple nodes have the same key, the duplicates are added to exit.\n for (i = 0; i < groupLength; ++i) {\n if (node = group[i]) {\n keyValues[i] = keyValue = keyPrefix + key.call(node, node.__data__, i, group);\n if (keyValue in nodeByKeyValue) {\n exit[i] = node;\n } else {\n nodeByKeyValue[keyValue] = node;\n }\n }\n }\n\n // Compute the key for each datum.\n // If there a node associated with this key, join and add it to update.\n // If there is not (or the key is a duplicate), add it to enter.\n for (i = 0; i < dataLength; ++i) {\n keyValue = keyPrefix + key.call(parent, data[i], i, data);\n if (node = nodeByKeyValue[keyValue]) {\n update[i] = node;\n node.__data__ = data[i];\n nodeByKeyValue[keyValue] = null;\n } else {\n enter[i] = new EnterNode(parent, data[i]);\n }\n }\n\n // Add any remaining nodes that were not bound to data to exit.\n for (i = 0; i < groupLength; ++i) {\n if ((node = group[i]) && (nodeByKeyValue[keyValues[i]] === node)) {\n exit[i] = node;\n }\n }\n}\n\nexport default function(value, key) {\n if (!value) {\n data = new Array(this.size()), j = -1;\n this.each(function(d) { data[++j] = d; });\n return data;\n }\n\n var bind = key ? bindKey : bindIndex,\n parents = this._parents,\n groups = this._groups;\n\n if (typeof value !== \"function\") value = constant(value);\n\n for (var m = groups.length, update = new Array(m), enter = new Array(m), exit = new Array(m), j = 0; j < m; ++j) {\n var parent = parents[j],\n group = groups[j],\n groupLength = group.length,\n data = value.call(parent, parent && parent.__data__, j, parents),\n dataLength = data.length,\n enterGroup = enter[j] = new Array(dataLength),\n updateGroup = update[j] = new Array(dataLength),\n exitGroup = exit[j] = new Array(groupLength);\n\n bind(parent, group, enterGroup, updateGroup, exitGroup, data, key);\n\n // Now connect the enter nodes to their following update node, such that\n // appendChild can insert the materialized enter node before this node,\n // rather than at the end of the parent node.\n for (var i0 = 0, i1 = 0, previous, next; i0 < dataLength; ++i0) {\n if (previous = enterGroup[i0]) {\n if (i0 >= i1) i1 = i0 + 1;\n while (!(next = updateGroup[i1]) && ++i1 < dataLength);\n previous._next = next || null;\n }\n }\n }\n\n update = new Selection(update, parents);\n update._enter = enter;\n update._exit = exit;\n return update;\n}\n","import sparse from \"./sparse\";\nimport {Selection} from \"./index\";\n\nexport default function() {\n return new Selection(this._exit || this._groups.map(sparse), this._parents);\n}\n","import {Selection} from \"./index\";\n\nexport default function(selection) {\n\n for (var groups0 = this._groups, groups1 = selection._groups, m0 = groups0.length, m1 = groups1.length, m = Math.min(m0, m1), merges = new Array(m0), j = 0; j < m; ++j) {\n for (var group0 = groups0[j], group1 = groups1[j], n = group0.length, merge = merges[j] = new Array(n), node, i = 0; i < n; ++i) {\n if (node = group0[i] || group1[i]) {\n merge[i] = node;\n }\n }\n }\n\n for (; j < m0; ++j) {\n merges[j] = groups0[j];\n }\n\n return new Selection(merges, this._parents);\n}\n","export default function() {\n\n for (var groups = this._groups, j = -1, m = groups.length; ++j < m;) {\n for (var group = groups[j], i = group.length - 1, next = group[i], node; --i >= 0;) {\n if (node = group[i]) {\n if (next && next !== node.nextSibling) next.parentNode.insertBefore(node, next);\n next = node;\n }\n }\n }\n\n return this;\n}\n","import {Selection} from \"./index\";\n\nexport default function(compare) {\n if (!compare) compare = ascending;\n\n function compareNode(a, b) {\n return a && b ? compare(a.__data__, b.__data__) : !a - !b;\n }\n\n for (var groups = this._groups, m = groups.length, sortgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, sortgroup = sortgroups[j] = new Array(n), node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n sortgroup[i] = node;\n }\n }\n sortgroup.sort(compareNode);\n }\n\n return new Selection(sortgroups, this._parents).order();\n}\n\nfunction ascending(a, b) {\n return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;\n}\n","export default function() {\n var callback = arguments[0];\n arguments[0] = this;\n callback.apply(null, arguments);\n return this;\n}\n","export default function() {\n var nodes = new Array(this.size()), i = -1;\n this.each(function() { nodes[++i] = this; });\n return nodes;\n}\n","export default function() {\n\n for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) {\n for (var group = groups[j], i = 0, n = group.length; i < n; ++i) {\n var node = group[i];\n if (node) return node;\n }\n }\n\n return null;\n}\n","export default function() {\n var size = 0;\n this.each(function() { ++size; });\n return size;\n}\n","export default function() {\n return !this.node();\n}\n","export default function(callback) {\n\n for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) {\n for (var group = groups[j], i = 0, n = group.length, node; i < n; ++i) {\n if (node = group[i]) callback.call(node, node.__data__, i, group);\n }\n }\n\n return this;\n}\n","import namespace from \"../namespace\";\n\nfunction attrRemove(name) {\n return function() {\n this.removeAttribute(name);\n };\n}\n\nfunction attrRemoveNS(fullname) {\n return function() {\n this.removeAttributeNS(fullname.space, fullname.local);\n };\n}\n\nfunction attrConstant(name, value) {\n return function() {\n this.setAttribute(name, value);\n };\n}\n\nfunction attrConstantNS(fullname, value) {\n return function() {\n this.setAttributeNS(fullname.space, fullname.local, value);\n };\n}\n\nfunction attrFunction(name, value) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) this.removeAttribute(name);\n else this.setAttribute(name, v);\n };\n}\n\nfunction attrFunctionNS(fullname, value) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) this.removeAttributeNS(fullname.space, fullname.local);\n else this.setAttributeNS(fullname.space, fullname.local, v);\n };\n}\n\nexport default function(name, value) {\n var fullname = namespace(name);\n\n if (arguments.length < 2) {\n var node = this.node();\n return fullname.local\n ? node.getAttributeNS(fullname.space, fullname.local)\n : node.getAttribute(fullname);\n }\n\n return this.each((value == null\n ? (fullname.local ? attrRemoveNS : attrRemove) : (typeof value === \"function\"\n ? (fullname.local ? attrFunctionNS : attrFunction)\n : (fullname.local ? attrConstantNS : attrConstant)))(fullname, value));\n}\n","export default function(node) {\n return (node.ownerDocument && node.ownerDocument.defaultView) // node is a Node\n || (node.document && node) // node is a Window\n || node.defaultView; // node is a Document\n}\n","import defaultView from \"../window\";\n\nfunction styleRemove(name) {\n return function() {\n this.style.removeProperty(name);\n };\n}\n\nfunction styleConstant(name, value, priority) {\n return function() {\n this.style.setProperty(name, value, priority);\n };\n}\n\nfunction styleFunction(name, value, priority) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) this.style.removeProperty(name);\n else this.style.setProperty(name, v, priority);\n };\n}\n\nexport default function(name, value, priority) {\n return arguments.length > 1\n ? this.each((value == null\n ? styleRemove : typeof value === \"function\"\n ? styleFunction\n : styleConstant)(name, value, priority == null ? \"\" : priority))\n : styleValue(this.node(), name);\n}\n\nexport function styleValue(node, name) {\n return node.style.getPropertyValue(name)\n || defaultView(node).getComputedStyle(node, null).getPropertyValue(name);\n}\n","function propertyRemove(name) {\n return function() {\n delete this[name];\n };\n}\n\nfunction propertyConstant(name, value) {\n return function() {\n this[name] = value;\n };\n}\n\nfunction propertyFunction(name, value) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) delete this[name];\n else this[name] = v;\n };\n}\n\nexport default function(name, value) {\n return arguments.length > 1\n ? this.each((value == null\n ? propertyRemove : typeof value === \"function\"\n ? propertyFunction\n : propertyConstant)(name, value))\n : this.node()[name];\n}\n","function classArray(string) {\n return string.trim().split(/^|\\s+/);\n}\n\nfunction classList(node) {\n return node.classList || new ClassList(node);\n}\n\nfunction ClassList(node) {\n this._node = node;\n this._names = classArray(node.getAttribute(\"class\") || \"\");\n}\n\nClassList.prototype = {\n add: function(name) {\n var i = this._names.indexOf(name);\n if (i < 0) {\n this._names.push(name);\n this._node.setAttribute(\"class\", this._names.join(\" \"));\n }\n },\n remove: function(name) {\n var i = this._names.indexOf(name);\n if (i >= 0) {\n this._names.splice(i, 1);\n this._node.setAttribute(\"class\", this._names.join(\" \"));\n }\n },\n contains: function(name) {\n return this._names.indexOf(name) >= 0;\n }\n};\n\nfunction classedAdd(node, names) {\n var list = classList(node), i = -1, n = names.length;\n while (++i < n) list.add(names[i]);\n}\n\nfunction classedRemove(node, names) {\n var list = classList(node), i = -1, n = names.length;\n while (++i < n) list.remove(names[i]);\n}\n\nfunction classedTrue(names) {\n return function() {\n classedAdd(this, names);\n };\n}\n\nfunction classedFalse(names) {\n return function() {\n classedRemove(this, names);\n };\n}\n\nfunction classedFunction(names, value) {\n return function() {\n (value.apply(this, arguments) ? classedAdd : classedRemove)(this, names);\n };\n}\n\nexport default function(name, value) {\n var names = classArray(name + \"\");\n\n if (arguments.length < 2) {\n var list = classList(this.node()), i = -1, n = names.length;\n while (++i < n) if (!list.contains(names[i])) return false;\n return true;\n }\n\n return this.each((typeof value === \"function\"\n ? classedFunction : value\n ? classedTrue\n : classedFalse)(names, value));\n}\n","function textRemove() {\n this.textContent = \"\";\n}\n\nfunction textConstant(value) {\n return function() {\n this.textContent = value;\n };\n}\n\nfunction textFunction(value) {\n return function() {\n var v = value.apply(this, arguments);\n this.textContent = v == null ? \"\" : v;\n };\n}\n\nexport default function(value) {\n return arguments.length\n ? this.each(value == null\n ? textRemove : (typeof value === \"function\"\n ? textFunction\n : textConstant)(value))\n : this.node().textContent;\n}\n","function htmlRemove() {\n this.innerHTML = \"\";\n}\n\nfunction htmlConstant(value) {\n return function() {\n this.innerHTML = value;\n };\n}\n\nfunction htmlFunction(value) {\n return function() {\n var v = value.apply(this, arguments);\n this.innerHTML = v == null ? \"\" : v;\n };\n}\n\nexport default function(value) {\n return arguments.length\n ? this.each(value == null\n ? htmlRemove : (typeof value === \"function\"\n ? htmlFunction\n : htmlConstant)(value))\n : this.node().innerHTML;\n}\n","function raise() {\n if (this.nextSibling) this.parentNode.appendChild(this);\n}\n\nexport default function() {\n return this.each(raise);\n}\n","function lower() {\n if (this.previousSibling) this.parentNode.insertBefore(this, this.parentNode.firstChild);\n}\n\nexport default function() {\n return this.each(lower);\n}\n","import creator from \"../creator\";\n\nexport default function(name) {\n var create = typeof name === \"function\" ? name : creator(name);\n return this.select(function() {\n return this.appendChild(create.apply(this, arguments));\n });\n}\n","import creator from \"../creator\";\nimport selector from \"../selector\";\n\nfunction constantNull() {\n return null;\n}\n\nexport default function(name, before) {\n var create = typeof name === \"function\" ? name : creator(name),\n select = before == null ? constantNull : typeof before === \"function\" ? before : selector(before);\n return this.select(function() {\n return this.insertBefore(create.apply(this, arguments), select.apply(this, arguments) || null);\n });\n}\n","function remove() {\n var parent = this.parentNode;\n if (parent) parent.removeChild(this);\n}\n\nexport default function() {\n return this.each(remove);\n}\n","function selection_cloneShallow() {\n return this.parentNode.insertBefore(this.cloneNode(false), this.nextSibling);\n}\n\nfunction selection_cloneDeep() {\n return this.parentNode.insertBefore(this.cloneNode(true), this.nextSibling);\n}\n\nexport default function(deep) {\n return this.select(deep ? selection_cloneDeep : selection_cloneShallow);\n}\n","export default function(value) {\n return arguments.length\n ? this.property(\"__data__\", value)\n : this.node().__data__;\n}\n","var filterEvents = {};\n\nexport var event = null;\n\nif (typeof document !== \"undefined\") {\n var element = document.documentElement;\n if (!(\"onmouseenter\" in element)) {\n filterEvents = {mouseenter: \"mouseover\", mouseleave: \"mouseout\"};\n }\n}\n\nfunction filterContextListener(listener, index, group) {\n listener = contextListener(listener, index, group);\n return function(event) {\n var related = event.relatedTarget;\n if (!related || (related !== this && !(related.compareDocumentPosition(this) & 8))) {\n listener.call(this, event);\n }\n };\n}\n\nfunction contextListener(listener, index, group) {\n return function(event1) {\n var event0 = event; // Events can be reentrant (e.g., focus).\n event = event1;\n try {\n listener.call(this, this.__data__, index, group);\n } finally {\n event = event0;\n }\n };\n}\n\nfunction parseTypenames(typenames) {\n return typenames.trim().split(/^|\\s+/).map(function(t) {\n var name = \"\", i = t.indexOf(\".\");\n if (i >= 0) name = t.slice(i + 1), t = t.slice(0, i);\n return {type: t, name: name};\n });\n}\n\nfunction onRemove(typename) {\n return function() {\n var on = this.__on;\n if (!on) return;\n for (var j = 0, i = -1, m = on.length, o; j < m; ++j) {\n if (o = on[j], (!typename.type || o.type === typename.type) && o.name === typename.name) {\n this.removeEventListener(o.type, o.listener, o.capture);\n } else {\n on[++i] = o;\n }\n }\n if (++i) on.length = i;\n else delete this.__on;\n };\n}\n\nfunction onAdd(typename, value, capture) {\n var wrap = filterEvents.hasOwnProperty(typename.type) ? filterContextListener : contextListener;\n return function(d, i, group) {\n var on = this.__on, o, listener = wrap(value, i, group);\n if (on) for (var j = 0, m = on.length; j < m; ++j) {\n if ((o = on[j]).type === typename.type && o.name === typename.name) {\n this.removeEventListener(o.type, o.listener, o.capture);\n this.addEventListener(o.type, o.listener = listener, o.capture = capture);\n o.value = value;\n return;\n }\n }\n this.addEventListener(typename.type, listener, capture);\n o = {type: typename.type, name: typename.name, value: value, listener: listener, capture: capture};\n if (!on) this.__on = [o];\n else on.push(o);\n };\n}\n\nexport default function(typename, value, capture) {\n var typenames = parseTypenames(typename + \"\"), i, n = typenames.length, t;\n\n if (arguments.length < 2) {\n var on = this.node().__on;\n if (on) for (var j = 0, m = on.length, o; j < m; ++j) {\n for (i = 0, o = on[j]; i < n; ++i) {\n if ((t = typenames[i]).type === o.type && t.name === o.name) {\n return o.value;\n }\n }\n }\n return;\n }\n\n on = value ? onAdd : onRemove;\n if (capture == null) capture = false;\n for (i = 0; i < n; ++i) this.each(on(typenames[i], value, capture));\n return this;\n}\n\nexport function customEvent(event1, listener, that, args) {\n var event0 = event;\n event1.sourceEvent = event;\n event = event1;\n try {\n return listener.apply(that, args);\n } finally {\n event = event0;\n }\n}\n","import defaultView from \"../window\";\n\nfunction dispatchEvent(node, type, params) {\n var window = defaultView(node),\n event = window.CustomEvent;\n\n if (typeof event === \"function\") {\n event = new event(type, params);\n } else {\n event = window.document.createEvent(\"Event\");\n if (params) event.initEvent(type, params.bubbles, params.cancelable), event.detail = params.detail;\n else event.initEvent(type, false, false);\n }\n\n node.dispatchEvent(event);\n}\n\nfunction dispatchConstant(type, params) {\n return function() {\n return dispatchEvent(this, type, params);\n };\n}\n\nfunction dispatchFunction(type, params) {\n return function() {\n return dispatchEvent(this, type, params.apply(this, arguments));\n };\n}\n\nexport default function(type, params) {\n return this.each((typeof params === \"function\"\n ? dispatchFunction\n : dispatchConstant)(type, params));\n}\n","import selection_select from \"./select\";\nimport selection_selectAll from \"./selectAll\";\nimport selection_filter from \"./filter\";\nimport selection_data from \"./data\";\nimport selection_enter from \"./enter\";\nimport selection_exit from \"./exit\";\nimport selection_merge from \"./merge\";\nimport selection_order from \"./order\";\nimport selection_sort from \"./sort\";\nimport selection_call from \"./call\";\nimport selection_nodes from \"./nodes\";\nimport selection_node from \"./node\";\nimport selection_size from \"./size\";\nimport selection_empty from \"./empty\";\nimport selection_each from \"./each\";\nimport selection_attr from \"./attr\";\nimport selection_style from \"./style\";\nimport selection_property from \"./property\";\nimport selection_classed from \"./classed\";\nimport selection_text from \"./text\";\nimport selection_html from \"./html\";\nimport selection_raise from \"./raise\";\nimport selection_lower from \"./lower\";\nimport selection_append from \"./append\";\nimport selection_insert from \"./insert\";\nimport selection_remove from \"./remove\";\nimport selection_clone from \"./clone\";\nimport selection_datum from \"./datum\";\nimport selection_on from \"./on\";\nimport selection_dispatch from \"./dispatch\";\n\nexport var root = [null];\n\nexport function Selection(groups, parents) {\n this._groups = groups;\n this._parents = parents;\n}\n\nfunction selection() {\n return new Selection([[document.documentElement]], root);\n}\n\nSelection.prototype = selection.prototype = {\n constructor: Selection,\n select: selection_select,\n selectAll: selection_selectAll,\n filter: selection_filter,\n data: selection_data,\n enter: selection_enter,\n exit: selection_exit,\n merge: selection_merge,\n order: selection_order,\n sort: selection_sort,\n call: selection_call,\n nodes: selection_nodes,\n node: selection_node,\n size: selection_size,\n empty: selection_empty,\n each: selection_each,\n attr: selection_attr,\n style: selection_style,\n property: selection_property,\n classed: selection_classed,\n text: selection_text,\n html: selection_html,\n raise: selection_raise,\n lower: selection_lower,\n append: selection_append,\n insert: selection_insert,\n remove: selection_remove,\n clone: selection_clone,\n datum: selection_datum,\n on: selection_on,\n dispatch: selection_dispatch\n};\n\nexport default selection;\n","import {Selection, root} from \"./selection/index\";\n\nexport default function(selector) {\n return typeof selector === \"string\"\n ? new Selection([[document.querySelector(selector)]], [document.documentElement])\n : new Selection([[selector]], root);\n}\n","import creator from \"./creator\";\nimport select from \"./select\";\n\nexport default function(name) {\n return select(creator(name).call(document.documentElement));\n}\n","var nextId = 0;\n\nexport default function local() {\n return new Local;\n}\n\nfunction Local() {\n this._ = \"@\" + (++nextId).toString(36);\n}\n\nLocal.prototype = local.prototype = {\n constructor: Local,\n get: function(node) {\n var id = this._;\n while (!(id in node)) if (!(node = node.parentNode)) return;\n return node[id];\n },\n set: function(node, value) {\n return node[this._] = value;\n },\n remove: function(node) {\n return this._ in node && delete node[this._];\n },\n toString: function() {\n return this._;\n }\n};\n","import {event} from \"./selection/on\";\n\nexport default function() {\n var current = event, source;\n while (source = current.sourceEvent) current = source;\n return current;\n}\n","export default function(node, event) {\n var svg = node.ownerSVGElement || node;\n\n if (svg.createSVGPoint) {\n var point = svg.createSVGPoint();\n point.x = event.clientX, point.y = event.clientY;\n point = point.matrixTransform(node.getScreenCTM().inverse());\n return [point.x, point.y];\n }\n\n var rect = node.getBoundingClientRect();\n return [event.clientX - rect.left - node.clientLeft, event.clientY - rect.top - node.clientTop];\n}\n","import sourceEvent from \"./sourceEvent\";\nimport point from \"./point\";\n\nexport default function(node) {\n var event = sourceEvent();\n if (event.changedTouches) event = event.changedTouches[0];\n return point(node, event);\n}\n","import {Selection, root} from \"./selection/index\";\n\nexport default function(selector) {\n return typeof selector === \"string\"\n ? new Selection([document.querySelectorAll(selector)], [document.documentElement])\n : new Selection([selector == null ? [] : selector], root);\n}\n","import sourceEvent from \"./sourceEvent\";\nimport point from \"./point\";\n\nexport default function(node, touches, identifier) {\n if (arguments.length < 3) identifier = touches, touches = sourceEvent().changedTouches;\n\n for (var i = 0, n = touches ? touches.length : 0, touch; i < n; ++i) {\n if ((touch = touches[i]).identifier === identifier) {\n return point(node, touch);\n }\n }\n\n return null;\n}\n","import sourceEvent from \"./sourceEvent\";\nimport point from \"./point\";\n\nexport default function(node, touches) {\n if (touches == null) touches = sourceEvent().touches;\n\n for (var i = 0, n = touches ? touches.length : 0, points = new Array(n); i < n; ++i) {\n points[i] = point(node, touches[i]);\n }\n\n return points;\n}\n","export {default as create} from \"./src/create\";\nexport {default as creator} from \"./src/creator\";\nexport {default as local} from \"./src/local\";\nexport {default as matcher} from \"./src/matcher\";\nexport {default as mouse} from \"./src/mouse\";\nexport {default as namespace} from \"./src/namespace\";\nexport {default as namespaces} from \"./src/namespaces\";\nexport {default as clientPoint} from \"./src/point\";\nexport {default as select} from \"./src/select\";\nexport {default as selectAll} from \"./src/selectAll\";\nexport {default as selection} from \"./src/selection/index\";\nexport {default as selector} from \"./src/selector\";\nexport {default as selectorAll} from \"./src/selectorAll\";\nexport {styleValue as style} from \"./src/selection/style\";\nexport {default as touch} from \"./src/touch\";\nexport {default as touches} from \"./src/touches\";\nexport {default as window} from \"./src/window\";\nexport {event, customEvent} from \"./src/selection/on\";\n","import {event} from \"d3-selection\";\n\nexport function nopropagation() {\n event.stopImmediatePropagation();\n}\n\nexport default function() {\n event.preventDefault();\n event.stopImmediatePropagation();\n}\n","import {select} from \"d3-selection\";\nimport noevent from \"./noevent\";\n\nexport default function(view) {\n var root = view.document.documentElement,\n selection = select(view).on(\"dragstart.drag\", noevent, true);\n if (\"onselectstart\" in root) {\n selection.on(\"selectstart.drag\", noevent, true);\n } else {\n root.__noselect = root.style.MozUserSelect;\n root.style.MozUserSelect = \"none\";\n }\n}\n\nexport function yesdrag(view, noclick) {\n var root = view.document.documentElement,\n selection = select(view).on(\"dragstart.drag\", null);\n if (noclick) {\n selection.on(\"click.drag\", noevent, true);\n setTimeout(function() { selection.on(\"click.drag\", null); }, 0);\n }\n if (\"onselectstart\" in root) {\n selection.on(\"selectstart.drag\", null);\n } else {\n root.style.MozUserSelect = root.__noselect;\n delete root.__noselect;\n }\n}\n","export default function(x) {\n return function() {\n return x;\n };\n}\n","export default function DragEvent(target, type, subject, id, active, x, y, dx, dy, dispatch) {\n this.target = target;\n this.type = type;\n this.subject = subject;\n this.identifier = id;\n this.active = active;\n this.x = x;\n this.y = y;\n this.dx = dx;\n this.dy = dy;\n this._ = dispatch;\n}\n\nDragEvent.prototype.on = function() {\n var value = this._.on.apply(this._, arguments);\n return value === this._ ? this : value;\n};\n","import {dispatch} from \"d3-dispatch\";\nimport {event, customEvent, select, mouse, touch} from \"d3-selection\";\nimport nodrag, {yesdrag} from \"./nodrag\";\nimport noevent, {nopropagation} from \"./noevent\";\nimport constant from \"./constant\";\nimport DragEvent from \"./event\";\n\n// Ignore right-click, since that should open the context menu.\nfunction defaultFilter() {\n return !event.button;\n}\n\nfunction defaultContainer() {\n return this.parentNode;\n}\n\nfunction defaultSubject(d) {\n return d == null ? {x: event.x, y: event.y} : d;\n}\n\nfunction defaultTouchable() {\n return \"ontouchstart\" in this;\n}\n\nexport default function() {\n var filter = defaultFilter,\n container = defaultContainer,\n subject = defaultSubject,\n touchable = defaultTouchable,\n gestures = {},\n listeners = dispatch(\"start\", \"drag\", \"end\"),\n active = 0,\n mousedownx,\n mousedowny,\n mousemoving,\n touchending,\n clickDistance2 = 0;\n\n function drag(selection) {\n selection\n .on(\"mousedown.drag\", mousedowned)\n .filter(touchable)\n .on(\"touchstart.drag\", touchstarted)\n .on(\"touchmove.drag\", touchmoved)\n .on(\"touchend.drag touchcancel.drag\", touchended)\n .style(\"touch-action\", \"none\")\n .style(\"-webkit-tap-highlight-color\", \"rgba(0,0,0,0)\");\n }\n\n function mousedowned() {\n if (touchending || !filter.apply(this, arguments)) return;\n var gesture = beforestart(\"mouse\", container.apply(this, arguments), mouse, this, arguments);\n if (!gesture) return;\n select(event.view).on(\"mousemove.drag\", mousemoved, true).on(\"mouseup.drag\", mouseupped, true);\n nodrag(event.view);\n nopropagation();\n mousemoving = false;\n mousedownx = event.clientX;\n mousedowny = event.clientY;\n gesture(\"start\");\n }\n\n function mousemoved() {\n noevent();\n if (!mousemoving) {\n var dx = event.clientX - mousedownx, dy = event.clientY - mousedowny;\n mousemoving = dx * dx + dy * dy > clickDistance2;\n }\n gestures.mouse(\"drag\");\n }\n\n function mouseupped() {\n select(event.view).on(\"mousemove.drag mouseup.drag\", null);\n yesdrag(event.view, mousemoving);\n noevent();\n gestures.mouse(\"end\");\n }\n\n function touchstarted() {\n if (!filter.apply(this, arguments)) return;\n var touches = event.changedTouches,\n c = container.apply(this, arguments),\n n = touches.length, i, gesture;\n\n for (i = 0; i < n; ++i) {\n if (gesture = beforestart(touches[i].identifier, c, touch, this, arguments)) {\n nopropagation();\n gesture(\"start\");\n }\n }\n }\n\n function touchmoved() {\n var touches = event.changedTouches,\n n = touches.length, i, gesture;\n\n for (i = 0; i < n; ++i) {\n if (gesture = gestures[touches[i].identifier]) {\n noevent();\n gesture(\"drag\");\n }\n }\n }\n\n function touchended() {\n var touches = event.changedTouches,\n n = touches.length, i, gesture;\n\n if (touchending) clearTimeout(touchending);\n touchending = setTimeout(function() { touchending = null; }, 500); // Ghost clicks are delayed!\n for (i = 0; i < n; ++i) {\n if (gesture = gestures[touches[i].identifier]) {\n nopropagation();\n gesture(\"end\");\n }\n }\n }\n\n function beforestart(id, container, point, that, args) {\n var p = point(container, id), s, dx, dy,\n sublisteners = listeners.copy();\n\n if (!customEvent(new DragEvent(drag, \"beforestart\", s, id, active, p[0], p[1], 0, 0, sublisteners), function() {\n if ((event.subject = s = subject.apply(that, args)) == null) return false;\n dx = s.x - p[0] || 0;\n dy = s.y - p[1] || 0;\n return true;\n })) return;\n\n return function gesture(type) {\n var p0 = p, n;\n switch (type) {\n case \"start\": gestures[id] = gesture, n = active++; break;\n case \"end\": delete gestures[id], --active; // nobreak\n case \"drag\": p = point(container, id), n = active; break;\n }\n customEvent(new DragEvent(drag, type, s, id, n, p[0] + dx, p[1] + dy, p[0] - p0[0], p[1] - p0[1], sublisteners), sublisteners.apply, sublisteners, [type, that, args]);\n };\n }\n\n drag.filter = function(_) {\n return arguments.length ? (filter = typeof _ === \"function\" ? _ : constant(!!_), drag) : filter;\n };\n\n drag.container = function(_) {\n return arguments.length ? (container = typeof _ === \"function\" ? _ : constant(_), drag) : container;\n };\n\n drag.subject = function(_) {\n return arguments.length ? (subject = typeof _ === \"function\" ? _ : constant(_), drag) : subject;\n };\n\n drag.touchable = function(_) {\n return arguments.length ? (touchable = typeof _ === \"function\" ? _ : constant(!!_), drag) : touchable;\n };\n\n drag.on = function() {\n var value = listeners.on.apply(listeners, arguments);\n return value === listeners ? drag : value;\n };\n\n drag.clickDistance = function(_) {\n return arguments.length ? (clickDistance2 = (_ = +_) * _, drag) : Math.sqrt(clickDistance2);\n };\n\n return drag;\n}\n","export {default as drag} from \"./src/drag\";\nexport {default as dragDisable, yesdrag as dragEnable} from \"./src/nodrag\";\n","export default function(constructor, factory, prototype) {\n constructor.prototype = factory.prototype = prototype;\n prototype.constructor = constructor;\n}\n\nexport function extend(parent, definition) {\n var prototype = Object.create(parent.prototype);\n for (var key in definition) prototype[key] = definition[key];\n return prototype;\n}\n","import define, {extend} from \"./define\";\n\nexport function Color() {}\n\nexport var darker = 0.7;\nexport var brighter = 1 / darker;\n\nvar reI = \"\\\\s*([+-]?\\\\d+)\\\\s*\",\n reN = \"\\\\s*([+-]?\\\\d*\\\\.?\\\\d+(?:[eE][+-]?\\\\d+)?)\\\\s*\",\n reP = \"\\\\s*([+-]?\\\\d*\\\\.?\\\\d+(?:[eE][+-]?\\\\d+)?)%\\\\s*\",\n reHex3 = /^#([0-9a-f]{3})$/,\n reHex6 = /^#([0-9a-f]{6})$/,\n reRgbInteger = new RegExp(\"^rgb\\\\(\" + [reI, reI, reI] + \"\\\\)$\"),\n reRgbPercent = new RegExp(\"^rgb\\\\(\" + [reP, reP, reP] + \"\\\\)$\"),\n reRgbaInteger = new RegExp(\"^rgba\\\\(\" + [reI, reI, reI, reN] + \"\\\\)$\"),\n reRgbaPercent = new RegExp(\"^rgba\\\\(\" + [reP, reP, reP, reN] + \"\\\\)$\"),\n reHslPercent = new RegExp(\"^hsl\\\\(\" + [reN, reP, reP] + \"\\\\)$\"),\n reHslaPercent = new RegExp(\"^hsla\\\\(\" + [reN, reP, reP, reN] + \"\\\\)$\");\n\nvar named = {\n aliceblue: 0xf0f8ff,\n antiquewhite: 0xfaebd7,\n aqua: 0x00ffff,\n aquamarine: 0x7fffd4,\n azure: 0xf0ffff,\n beige: 0xf5f5dc,\n bisque: 0xffe4c4,\n black: 0x000000,\n blanchedalmond: 0xffebcd,\n blue: 0x0000ff,\n blueviolet: 0x8a2be2,\n brown: 0xa52a2a,\n burlywood: 0xdeb887,\n cadetblue: 0x5f9ea0,\n chartreuse: 0x7fff00,\n chocolate: 0xd2691e,\n coral: 0xff7f50,\n cornflowerblue: 0x6495ed,\n cornsilk: 0xfff8dc,\n crimson: 0xdc143c,\n cyan: 0x00ffff,\n darkblue: 0x00008b,\n darkcyan: 0x008b8b,\n darkgoldenrod: 0xb8860b,\n darkgray: 0xa9a9a9,\n darkgreen: 0x006400,\n darkgrey: 0xa9a9a9,\n darkkhaki: 0xbdb76b,\n darkmagenta: 0x8b008b,\n darkolivegreen: 0x556b2f,\n darkorange: 0xff8c00,\n darkorchid: 0x9932cc,\n darkred: 0x8b0000,\n darksalmon: 0xe9967a,\n darkseagreen: 0x8fbc8f,\n darkslateblue: 0x483d8b,\n darkslategray: 0x2f4f4f,\n darkslategrey: 0x2f4f4f,\n darkturquoise: 0x00ced1,\n darkviolet: 0x9400d3,\n deeppink: 0xff1493,\n deepskyblue: 0x00bfff,\n dimgray: 0x696969,\n dimgrey: 0x696969,\n dodgerblue: 0x1e90ff,\n firebrick: 0xb22222,\n floralwhite: 0xfffaf0,\n forestgreen: 0x228b22,\n fuchsia: 0xff00ff,\n gainsboro: 0xdcdcdc,\n ghostwhite: 0xf8f8ff,\n gold: 0xffd700,\n goldenrod: 0xdaa520,\n gray: 0x808080,\n green: 0x008000,\n greenyellow: 0xadff2f,\n grey: 0x808080,\n honeydew: 0xf0fff0,\n hotpink: 0xff69b4,\n indianred: 0xcd5c5c,\n indigo: 0x4b0082,\n ivory: 0xfffff0,\n khaki: 0xf0e68c,\n lavender: 0xe6e6fa,\n lavenderblush: 0xfff0f5,\n lawngreen: 0x7cfc00,\n lemonchiffon: 0xfffacd,\n lightblue: 0xadd8e6,\n lightcoral: 0xf08080,\n lightcyan: 0xe0ffff,\n lightgoldenrodyellow: 0xfafad2,\n lightgray: 0xd3d3d3,\n lightgreen: 0x90ee90,\n lightgrey: 0xd3d3d3,\n lightpink: 0xffb6c1,\n lightsalmon: 0xffa07a,\n lightseagreen: 0x20b2aa,\n lightskyblue: 0x87cefa,\n lightslategray: 0x778899,\n lightslategrey: 0x778899,\n lightsteelblue: 0xb0c4de,\n lightyellow: 0xffffe0,\n lime: 0x00ff00,\n limegreen: 0x32cd32,\n linen: 0xfaf0e6,\n magenta: 0xff00ff,\n maroon: 0x800000,\n mediumaquamarine: 0x66cdaa,\n mediumblue: 0x0000cd,\n mediumorchid: 0xba55d3,\n mediumpurple: 0x9370db,\n mediumseagreen: 0x3cb371,\n mediumslateblue: 0x7b68ee,\n mediumspringgreen: 0x00fa9a,\n mediumturquoise: 0x48d1cc,\n mediumvioletred: 0xc71585,\n midnightblue: 0x191970,\n mintcream: 0xf5fffa,\n mistyrose: 0xffe4e1,\n moccasin: 0xffe4b5,\n navajowhite: 0xffdead,\n navy: 0x000080,\n oldlace: 0xfdf5e6,\n olive: 0x808000,\n olivedrab: 0x6b8e23,\n orange: 0xffa500,\n orangered: 0xff4500,\n orchid: 0xda70d6,\n palegoldenrod: 0xeee8aa,\n palegreen: 0x98fb98,\n paleturquoise: 0xafeeee,\n palevioletred: 0xdb7093,\n papayawhip: 0xffefd5,\n peachpuff: 0xffdab9,\n peru: 0xcd853f,\n pink: 0xffc0cb,\n plum: 0xdda0dd,\n powderblue: 0xb0e0e6,\n purple: 0x800080,\n rebeccapurple: 0x663399,\n red: 0xff0000,\n rosybrown: 0xbc8f8f,\n royalblue: 0x4169e1,\n saddlebrown: 0x8b4513,\n salmon: 0xfa8072,\n sandybrown: 0xf4a460,\n seagreen: 0x2e8b57,\n seashell: 0xfff5ee,\n sienna: 0xa0522d,\n silver: 0xc0c0c0,\n skyblue: 0x87ceeb,\n slateblue: 0x6a5acd,\n slategray: 0x708090,\n slategrey: 0x708090,\n snow: 0xfffafa,\n springgreen: 0x00ff7f,\n steelblue: 0x4682b4,\n tan: 0xd2b48c,\n teal: 0x008080,\n thistle: 0xd8bfd8,\n tomato: 0xff6347,\n turquoise: 0x40e0d0,\n violet: 0xee82ee,\n wheat: 0xf5deb3,\n white: 0xffffff,\n whitesmoke: 0xf5f5f5,\n yellow: 0xffff00,\n yellowgreen: 0x9acd32\n};\n\ndefine(Color, color, {\n displayable: function() {\n return this.rgb().displayable();\n },\n hex: function() {\n return this.rgb().hex();\n },\n toString: function() {\n return this.rgb() + \"\";\n }\n});\n\nexport default function color(format) {\n var m;\n format = (format + \"\").trim().toLowerCase();\n return (m = reHex3.exec(format)) ? (m = parseInt(m[1], 16), new Rgb((m >> 8 & 0xf) | (m >> 4 & 0x0f0), (m >> 4 & 0xf) | (m & 0xf0), ((m & 0xf) << 4) | (m & 0xf), 1)) // #f00\n : (m = reHex6.exec(format)) ? rgbn(parseInt(m[1], 16)) // #ff0000\n : (m = reRgbInteger.exec(format)) ? new Rgb(m[1], m[2], m[3], 1) // rgb(255, 0, 0)\n : (m = reRgbPercent.exec(format)) ? new Rgb(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, 1) // rgb(100%, 0%, 0%)\n : (m = reRgbaInteger.exec(format)) ? rgba(m[1], m[2], m[3], m[4]) // rgba(255, 0, 0, 1)\n : (m = reRgbaPercent.exec(format)) ? rgba(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, m[4]) // rgb(100%, 0%, 0%, 1)\n : (m = reHslPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, 1) // hsl(120, 50%, 50%)\n : (m = reHslaPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, m[4]) // hsla(120, 50%, 50%, 1)\n : named.hasOwnProperty(format) ? rgbn(named[format])\n : format === \"transparent\" ? new Rgb(NaN, NaN, NaN, 0)\n : null;\n}\n\nfunction rgbn(n) {\n return new Rgb(n >> 16 & 0xff, n >> 8 & 0xff, n & 0xff, 1);\n}\n\nfunction rgba(r, g, b, a) {\n if (a <= 0) r = g = b = NaN;\n return new Rgb(r, g, b, a);\n}\n\nexport function rgbConvert(o) {\n if (!(o instanceof Color)) o = color(o);\n if (!o) return new Rgb;\n o = o.rgb();\n return new Rgb(o.r, o.g, o.b, o.opacity);\n}\n\nexport function rgb(r, g, b, opacity) {\n return arguments.length === 1 ? rgbConvert(r) : new Rgb(r, g, b, opacity == null ? 1 : opacity);\n}\n\nexport function Rgb(r, g, b, opacity) {\n this.r = +r;\n this.g = +g;\n this.b = +b;\n this.opacity = +opacity;\n}\n\ndefine(Rgb, rgb, extend(Color, {\n brighter: function(k) {\n k = k == null ? brighter : Math.pow(brighter, k);\n return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);\n },\n darker: function(k) {\n k = k == null ? darker : Math.pow(darker, k);\n return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);\n },\n rgb: function() {\n return this;\n },\n displayable: function() {\n return (0 <= this.r && this.r <= 255)\n && (0 <= this.g && this.g <= 255)\n && (0 <= this.b && this.b <= 255)\n && (0 <= this.opacity && this.opacity <= 1);\n },\n hex: function() {\n return \"#\" + hex(this.r) + hex(this.g) + hex(this.b);\n },\n toString: function() {\n var a = this.opacity; a = isNaN(a) ? 1 : Math.max(0, Math.min(1, a));\n return (a === 1 ? \"rgb(\" : \"rgba(\")\n + Math.max(0, Math.min(255, Math.round(this.r) || 0)) + \", \"\n + Math.max(0, Math.min(255, Math.round(this.g) || 0)) + \", \"\n + Math.max(0, Math.min(255, Math.round(this.b) || 0))\n + (a === 1 ? \")\" : \", \" + a + \")\");\n }\n}));\n\nfunction hex(value) {\n value = Math.max(0, Math.min(255, Math.round(value) || 0));\n return (value < 16 ? \"0\" : \"\") + value.toString(16);\n}\n\nfunction hsla(h, s, l, a) {\n if (a <= 0) h = s = l = NaN;\n else if (l <= 0 || l >= 1) h = s = NaN;\n else if (s <= 0) h = NaN;\n return new Hsl(h, s, l, a);\n}\n\nexport function hslConvert(o) {\n if (o instanceof Hsl) return new Hsl(o.h, o.s, o.l, o.opacity);\n if (!(o instanceof Color)) o = color(o);\n if (!o) return new Hsl;\n if (o instanceof Hsl) return o;\n o = o.rgb();\n var r = o.r / 255,\n g = o.g / 255,\n b = o.b / 255,\n min = Math.min(r, g, b),\n max = Math.max(r, g, b),\n h = NaN,\n s = max - min,\n l = (max + min) / 2;\n if (s) {\n if (r === max) h = (g - b) / s + (g < b) * 6;\n else if (g === max) h = (b - r) / s + 2;\n else h = (r - g) / s + 4;\n s /= l < 0.5 ? max + min : 2 - max - min;\n h *= 60;\n } else {\n s = l > 0 && l < 1 ? 0 : h;\n }\n return new Hsl(h, s, l, o.opacity);\n}\n\nexport function hsl(h, s, l, opacity) {\n return arguments.length === 1 ? hslConvert(h) : new Hsl(h, s, l, opacity == null ? 1 : opacity);\n}\n\nfunction Hsl(h, s, l, opacity) {\n this.h = +h;\n this.s = +s;\n this.l = +l;\n this.opacity = +opacity;\n}\n\ndefine(Hsl, hsl, extend(Color, {\n brighter: function(k) {\n k = k == null ? brighter : Math.pow(brighter, k);\n return new Hsl(this.h, this.s, this.l * k, this.opacity);\n },\n darker: function(k) {\n k = k == null ? darker : Math.pow(darker, k);\n return new Hsl(this.h, this.s, this.l * k, this.opacity);\n },\n rgb: function() {\n var h = this.h % 360 + (this.h < 0) * 360,\n s = isNaN(h) || isNaN(this.s) ? 0 : this.s,\n l = this.l,\n m2 = l + (l < 0.5 ? l : 1 - l) * s,\n m1 = 2 * l - m2;\n return new Rgb(\n hsl2rgb(h >= 240 ? h - 240 : h + 120, m1, m2),\n hsl2rgb(h, m1, m2),\n hsl2rgb(h < 120 ? h + 240 : h - 120, m1, m2),\n this.opacity\n );\n },\n displayable: function() {\n return (0 <= this.s && this.s <= 1 || isNaN(this.s))\n && (0 <= this.l && this.l <= 1)\n && (0 <= this.opacity && this.opacity <= 1);\n }\n}));\n\n/* From FvD 13.37, CSS Color Module Level 3 */\nfunction hsl2rgb(h, m1, m2) {\n return (h < 60 ? m1 + (m2 - m1) * h / 60\n : h < 180 ? m2\n : h < 240 ? m1 + (m2 - m1) * (240 - h) / 60\n : m1) * 255;\n}\n","export var deg2rad = Math.PI / 180;\nexport var rad2deg = 180 / Math.PI;\n","import define, {extend} from \"./define\";\nimport {Color, rgbConvert, Rgb} from \"./color\";\nimport {deg2rad, rad2deg} from \"./math\";\n\n// https://beta.observablehq.com/@mbostock/lab-and-rgb\nvar K = 18,\n Xn = 0.96422,\n Yn = 1,\n Zn = 0.82521,\n t0 = 4 / 29,\n t1 = 6 / 29,\n t2 = 3 * t1 * t1,\n t3 = t1 * t1 * t1;\n\nfunction labConvert(o) {\n if (o instanceof Lab) return new Lab(o.l, o.a, o.b, o.opacity);\n if (o instanceof Hcl) {\n if (isNaN(o.h)) return new Lab(o.l, 0, 0, o.opacity);\n var h = o.h * deg2rad;\n return new Lab(o.l, Math.cos(h) * o.c, Math.sin(h) * o.c, o.opacity);\n }\n if (!(o instanceof Rgb)) o = rgbConvert(o);\n var r = rgb2lrgb(o.r),\n g = rgb2lrgb(o.g),\n b = rgb2lrgb(o.b),\n y = xyz2lab((0.2225045 * r + 0.7168786 * g + 0.0606169 * b) / Yn), x, z;\n if (r === g && g === b) x = z = y; else {\n x = xyz2lab((0.4360747 * r + 0.3850649 * g + 0.1430804 * b) / Xn);\n z = xyz2lab((0.0139322 * r + 0.0971045 * g + 0.7141733 * b) / Zn);\n }\n return new Lab(116 * y - 16, 500 * (x - y), 200 * (y - z), o.opacity);\n}\n\nexport function gray(l, opacity) {\n return new Lab(l, 0, 0, opacity == null ? 1 : opacity);\n}\n\nexport default function lab(l, a, b, opacity) {\n return arguments.length === 1 ? labConvert(l) : new Lab(l, a, b, opacity == null ? 1 : opacity);\n}\n\nexport function Lab(l, a, b, opacity) {\n this.l = +l;\n this.a = +a;\n this.b = +b;\n this.opacity = +opacity;\n}\n\ndefine(Lab, lab, extend(Color, {\n brighter: function(k) {\n return new Lab(this.l + K * (k == null ? 1 : k), this.a, this.b, this.opacity);\n },\n darker: function(k) {\n return new Lab(this.l - K * (k == null ? 1 : k), this.a, this.b, this.opacity);\n },\n rgb: function() {\n var y = (this.l + 16) / 116,\n x = isNaN(this.a) ? y : y + this.a / 500,\n z = isNaN(this.b) ? y : y - this.b / 200;\n x = Xn * lab2xyz(x);\n y = Yn * lab2xyz(y);\n z = Zn * lab2xyz(z);\n return new Rgb(\n lrgb2rgb( 3.1338561 * x - 1.6168667 * y - 0.4906146 * z),\n lrgb2rgb(-0.9787684 * x + 1.9161415 * y + 0.0334540 * z),\n lrgb2rgb( 0.0719453 * x - 0.2289914 * y + 1.4052427 * z),\n this.opacity\n );\n }\n}));\n\nfunction xyz2lab(t) {\n return t > t3 ? Math.pow(t, 1 / 3) : t / t2 + t0;\n}\n\nfunction lab2xyz(t) {\n return t > t1 ? t * t * t : t2 * (t - t0);\n}\n\nfunction lrgb2rgb(x) {\n return 255 * (x <= 0.0031308 ? 12.92 * x : 1.055 * Math.pow(x, 1 / 2.4) - 0.055);\n}\n\nfunction rgb2lrgb(x) {\n return (x /= 255) <= 0.04045 ? x / 12.92 : Math.pow((x + 0.055) / 1.055, 2.4);\n}\n\nfunction hclConvert(o) {\n if (o instanceof Hcl) return new Hcl(o.h, o.c, o.l, o.opacity);\n if (!(o instanceof Lab)) o = labConvert(o);\n if (o.a === 0 && o.b === 0) return new Hcl(NaN, 0, o.l, o.opacity);\n var h = Math.atan2(o.b, o.a) * rad2deg;\n return new Hcl(h < 0 ? h + 360 : h, Math.sqrt(o.a * o.a + o.b * o.b), o.l, o.opacity);\n}\n\nexport function lch(l, c, h, opacity) {\n return arguments.length === 1 ? hclConvert(l) : new Hcl(h, c, l, opacity == null ? 1 : opacity);\n}\n\nexport function hcl(h, c, l, opacity) {\n return arguments.length === 1 ? hclConvert(h) : new Hcl(h, c, l, opacity == null ? 1 : opacity);\n}\n\nexport function Hcl(h, c, l, opacity) {\n this.h = +h;\n this.c = +c;\n this.l = +l;\n this.opacity = +opacity;\n}\n\ndefine(Hcl, hcl, extend(Color, {\n brighter: function(k) {\n return new Hcl(this.h, this.c, this.l + K * (k == null ? 1 : k), this.opacity);\n },\n darker: function(k) {\n return new Hcl(this.h, this.c, this.l - K * (k == null ? 1 : k), this.opacity);\n },\n rgb: function() {\n return labConvert(this).rgb();\n }\n}));\n","import define, {extend} from \"./define\";\nimport {Color, rgbConvert, Rgb, darker, brighter} from \"./color\";\nimport {deg2rad, rad2deg} from \"./math\";\n\nvar A = -0.14861,\n B = +1.78277,\n C = -0.29227,\n D = -0.90649,\n E = +1.97294,\n ED = E * D,\n EB = E * B,\n BC_DA = B * C - D * A;\n\nfunction cubehelixConvert(o) {\n if (o instanceof Cubehelix) return new Cubehelix(o.h, o.s, o.l, o.opacity);\n if (!(o instanceof Rgb)) o = rgbConvert(o);\n var r = o.r / 255,\n g = o.g / 255,\n b = o.b / 255,\n l = (BC_DA * b + ED * r - EB * g) / (BC_DA + ED - EB),\n bl = b - l,\n k = (E * (g - l) - C * bl) / D,\n s = Math.sqrt(k * k + bl * bl) / (E * l * (1 - l)), // NaN if l=0 or l=1\n h = s ? Math.atan2(k, bl) * rad2deg - 120 : NaN;\n return new Cubehelix(h < 0 ? h + 360 : h, s, l, o.opacity);\n}\n\nexport default function cubehelix(h, s, l, opacity) {\n return arguments.length === 1 ? cubehelixConvert(h) : new Cubehelix(h, s, l, opacity == null ? 1 : opacity);\n}\n\nexport function Cubehelix(h, s, l, opacity) {\n this.h = +h;\n this.s = +s;\n this.l = +l;\n this.opacity = +opacity;\n}\n\ndefine(Cubehelix, cubehelix, extend(Color, {\n brighter: function(k) {\n k = k == null ? brighter : Math.pow(brighter, k);\n return new Cubehelix(this.h, this.s, this.l * k, this.opacity);\n },\n darker: function(k) {\n k = k == null ? darker : Math.pow(darker, k);\n return new Cubehelix(this.h, this.s, this.l * k, this.opacity);\n },\n rgb: function() {\n var h = isNaN(this.h) ? 0 : (this.h + 120) * deg2rad,\n l = +this.l,\n a = isNaN(this.s) ? 0 : this.s * l * (1 - l),\n cosh = Math.cos(h),\n sinh = Math.sin(h);\n return new Rgb(\n 255 * (l + a * (A * cosh + B * sinh)),\n 255 * (l + a * (C * cosh + D * sinh)),\n 255 * (l + a * (E * cosh)),\n this.opacity\n );\n }\n}));\n","export {default as color, rgb, hsl} from \"./src/color\";\nexport {default as lab, hcl, lch, gray} from \"./src/lab\";\nexport {default as cubehelix} from \"./src/cubehelix\";\n","export function basis(t1, v0, v1, v2, v3) {\n var t2 = t1 * t1, t3 = t2 * t1;\n return ((1 - 3 * t1 + 3 * t2 - t3) * v0\n + (4 - 6 * t2 + 3 * t3) * v1\n + (1 + 3 * t1 + 3 * t2 - 3 * t3) * v2\n + t3 * v3) / 6;\n}\n\nexport default function(values) {\n var n = values.length - 1;\n return function(t) {\n var i = t <= 0 ? (t = 0) : t >= 1 ? (t = 1, n - 1) : Math.floor(t * n),\n v1 = values[i],\n v2 = values[i + 1],\n v0 = i > 0 ? values[i - 1] : 2 * v1 - v2,\n v3 = i < n - 1 ? values[i + 2] : 2 * v2 - v1;\n return basis((t - i / n) * n, v0, v1, v2, v3);\n };\n}\n","import {basis} from \"./basis\";\n\nexport default function(values) {\n var n = values.length;\n return function(t) {\n var i = Math.floor(((t %= 1) < 0 ? ++t : t) * n),\n v0 = values[(i + n - 1) % n],\n v1 = values[i % n],\n v2 = values[(i + 1) % n],\n v3 = values[(i + 2) % n];\n return basis((t - i / n) * n, v0, v1, v2, v3);\n };\n}\n","export default function(x) {\n return function() {\n return x;\n };\n}\n","import constant from \"./constant\";\n\nfunction linear(a, d) {\n return function(t) {\n return a + t * d;\n };\n}\n\nfunction exponential(a, b, y) {\n return a = Math.pow(a, y), b = Math.pow(b, y) - a, y = 1 / y, function(t) {\n return Math.pow(a + t * b, y);\n };\n}\n\nexport function hue(a, b) {\n var d = b - a;\n return d ? linear(a, d > 180 || d < -180 ? d - 360 * Math.round(d / 360) : d) : constant(isNaN(a) ? b : a);\n}\n\nexport function gamma(y) {\n return (y = +y) === 1 ? nogamma : function(a, b) {\n return b - a ? exponential(a, b, y) : constant(isNaN(a) ? b : a);\n };\n}\n\nexport default function nogamma(a, b) {\n var d = b - a;\n return d ? linear(a, d) : constant(isNaN(a) ? b : a);\n}\n","import {rgb as colorRgb} from \"d3-color\";\nimport basis from \"./basis\";\nimport basisClosed from \"./basisClosed\";\nimport nogamma, {gamma} from \"./color\";\n\nexport default (function rgbGamma(y) {\n var color = gamma(y);\n\n function rgb(start, end) {\n var r = color((start = colorRgb(start)).r, (end = colorRgb(end)).r),\n g = color(start.g, end.g),\n b = color(start.b, end.b),\n opacity = nogamma(start.opacity, end.opacity);\n return function(t) {\n start.r = r(t);\n start.g = g(t);\n start.b = b(t);\n start.opacity = opacity(t);\n return start + \"\";\n };\n }\n\n rgb.gamma = rgbGamma;\n\n return rgb;\n})(1);\n\nfunction rgbSpline(spline) {\n return function(colors) {\n var n = colors.length,\n r = new Array(n),\n g = new Array(n),\n b = new Array(n),\n i, color;\n for (i = 0; i < n; ++i) {\n color = colorRgb(colors[i]);\n r[i] = color.r || 0;\n g[i] = color.g || 0;\n b[i] = color.b || 0;\n }\n r = spline(r);\n g = spline(g);\n b = spline(b);\n color.opacity = 1;\n return function(t) {\n color.r = r(t);\n color.g = g(t);\n color.b = b(t);\n return color + \"\";\n };\n };\n}\n\nexport var rgbBasis = rgbSpline(basis);\nexport var rgbBasisClosed = rgbSpline(basisClosed);\n","import value from \"./value\";\n\nexport default function(a, b) {\n var nb = b ? b.length : 0,\n na = a ? Math.min(nb, a.length) : 0,\n x = new Array(na),\n c = new Array(nb),\n i;\n\n for (i = 0; i < na; ++i) x[i] = value(a[i], b[i]);\n for (; i < nb; ++i) c[i] = b[i];\n\n return function(t) {\n for (i = 0; i < na; ++i) c[i] = x[i](t);\n return c;\n };\n}\n","export default function(a, b) {\n var d = new Date;\n return a = +a, b -= a, function(t) {\n return d.setTime(a + b * t), d;\n };\n}\n","export default function(a, b) {\n return a = +a, b -= a, function(t) {\n return a + b * t;\n };\n}\n","import value from \"./value\";\n\nexport default function(a, b) {\n var i = {},\n c = {},\n k;\n\n if (a === null || typeof a !== \"object\") a = {};\n if (b === null || typeof b !== \"object\") b = {};\n\n for (k in b) {\n if (k in a) {\n i[k] = value(a[k], b[k]);\n } else {\n c[k] = b[k];\n }\n }\n\n return function(t) {\n for (k in i) c[k] = i[k](t);\n return c;\n };\n}\n","import number from \"./number\";\n\nvar reA = /[-+]?(?:\\d+\\.?\\d*|\\.?\\d+)(?:[eE][-+]?\\d+)?/g,\n reB = new RegExp(reA.source, \"g\");\n\nfunction zero(b) {\n return function() {\n return b;\n };\n}\n\nfunction one(b) {\n return function(t) {\n return b(t) + \"\";\n };\n}\n\nexport default function(a, b) {\n var bi = reA.lastIndex = reB.lastIndex = 0, // scan index for next number in b\n am, // current match in a\n bm, // current match in b\n bs, // string preceding current number in b, if any\n i = -1, // index in s\n s = [], // string constants and placeholders\n q = []; // number interpolators\n\n // Coerce inputs to strings.\n a = a + \"\", b = b + \"\";\n\n // Interpolate pairs of numbers in a & b.\n while ((am = reA.exec(a))\n && (bm = reB.exec(b))) {\n if ((bs = bm.index) > bi) { // a string precedes the next number in b\n bs = b.slice(bi, bs);\n if (s[i]) s[i] += bs; // coalesce with previous string\n else s[++i] = bs;\n }\n if ((am = am[0]) === (bm = bm[0])) { // numbers in a & b match\n if (s[i]) s[i] += bm; // coalesce with previous string\n else s[++i] = bm;\n } else { // interpolate non-matching numbers\n s[++i] = null;\n q.push({i: i, x: number(am, bm)});\n }\n bi = reB.lastIndex;\n }\n\n // Add remains of b.\n if (bi < b.length) {\n bs = b.slice(bi);\n if (s[i]) s[i] += bs; // coalesce with previous string\n else s[++i] = bs;\n }\n\n // Special optimization for only a single match.\n // Otherwise, interpolate each of the numbers and rejoin the string.\n return s.length < 2 ? (q[0]\n ? one(q[0].x)\n : zero(b))\n : (b = q.length, function(t) {\n for (var i = 0, o; i < b; ++i) s[(o = q[i]).i] = o.x(t);\n return s.join(\"\");\n });\n}\n","import {color} from \"d3-color\";\nimport rgb from \"./rgb\";\nimport array from \"./array\";\nimport date from \"./date\";\nimport number from \"./number\";\nimport object from \"./object\";\nimport string from \"./string\";\nimport constant from \"./constant\";\n\nexport default function(a, b) {\n var t = typeof b, c;\n return b == null || t === \"boolean\" ? constant(b)\n : (t === \"number\" ? number\n : t === \"string\" ? ((c = color(b)) ? (b = c, rgb) : string)\n : b instanceof color ? rgb\n : b instanceof Date ? date\n : Array.isArray(b) ? array\n : typeof b.valueOf !== \"function\" && typeof b.toString !== \"function\" || isNaN(b) ? object\n : number)(a, b);\n}\n","export default function(a, b) {\n return a = +a, b -= a, function(t) {\n return Math.round(a + b * t);\n };\n}\n","var degrees = 180 / Math.PI;\n\nexport var identity = {\n translateX: 0,\n translateY: 0,\n rotate: 0,\n skewX: 0,\n scaleX: 1,\n scaleY: 1\n};\n\nexport default function(a, b, c, d, e, f) {\n var scaleX, scaleY, skewX;\n if (scaleX = Math.sqrt(a * a + b * b)) a /= scaleX, b /= scaleX;\n if (skewX = a * c + b * d) c -= a * skewX, d -= b * skewX;\n if (scaleY = Math.sqrt(c * c + d * d)) c /= scaleY, d /= scaleY, skewX /= scaleY;\n if (a * d < b * c) a = -a, b = -b, skewX = -skewX, scaleX = -scaleX;\n return {\n translateX: e,\n translateY: f,\n rotate: Math.atan2(b, a) * degrees,\n skewX: Math.atan(skewX) * degrees,\n scaleX: scaleX,\n scaleY: scaleY\n };\n}\n","import decompose, {identity} from \"./decompose\";\n\nvar cssNode,\n cssRoot,\n cssView,\n svgNode;\n\nexport function parseCss(value) {\n if (value === \"none\") return identity;\n if (!cssNode) cssNode = document.createElement(\"DIV\"), cssRoot = document.documentElement, cssView = document.defaultView;\n cssNode.style.transform = value;\n value = cssView.getComputedStyle(cssRoot.appendChild(cssNode), null).getPropertyValue(\"transform\");\n cssRoot.removeChild(cssNode);\n value = value.slice(7, -1).split(\",\");\n return decompose(+value[0], +value[1], +value[2], +value[3], +value[4], +value[5]);\n}\n\nexport function parseSvg(value) {\n if (value == null) return identity;\n if (!svgNode) svgNode = document.createElementNS(\"http://www.w3.org/2000/svg\", \"g\");\n svgNode.setAttribute(\"transform\", value);\n if (!(value = svgNode.transform.baseVal.consolidate())) return identity;\n value = value.matrix;\n return decompose(value.a, value.b, value.c, value.d, value.e, value.f);\n}\n","import number from \"../number\";\nimport {parseCss, parseSvg} from \"./parse\";\n\nfunction interpolateTransform(parse, pxComma, pxParen, degParen) {\n\n function pop(s) {\n return s.length ? s.pop() + \" \" : \"\";\n }\n\n function translate(xa, ya, xb, yb, s, q) {\n if (xa !== xb || ya !== yb) {\n var i = s.push(\"translate(\", null, pxComma, null, pxParen);\n q.push({i: i - 4, x: number(xa, xb)}, {i: i - 2, x: number(ya, yb)});\n } else if (xb || yb) {\n s.push(\"translate(\" + xb + pxComma + yb + pxParen);\n }\n }\n\n function rotate(a, b, s, q) {\n if (a !== b) {\n if (a - b > 180) b += 360; else if (b - a > 180) a += 360; // shortest path\n q.push({i: s.push(pop(s) + \"rotate(\", null, degParen) - 2, x: number(a, b)});\n } else if (b) {\n s.push(pop(s) + \"rotate(\" + b + degParen);\n }\n }\n\n function skewX(a, b, s, q) {\n if (a !== b) {\n q.push({i: s.push(pop(s) + \"skewX(\", null, degParen) - 2, x: number(a, b)});\n } else if (b) {\n s.push(pop(s) + \"skewX(\" + b + degParen);\n }\n }\n\n function scale(xa, ya, xb, yb, s, q) {\n if (xa !== xb || ya !== yb) {\n var i = s.push(pop(s) + \"scale(\", null, \",\", null, \")\");\n q.push({i: i - 4, x: number(xa, xb)}, {i: i - 2, x: number(ya, yb)});\n } else if (xb !== 1 || yb !== 1) {\n s.push(pop(s) + \"scale(\" + xb + \",\" + yb + \")\");\n }\n }\n\n return function(a, b) {\n var s = [], // string constants and placeholders\n q = []; // number interpolators\n a = parse(a), b = parse(b);\n translate(a.translateX, a.translateY, b.translateX, b.translateY, s, q);\n rotate(a.rotate, b.rotate, s, q);\n skewX(a.skewX, b.skewX, s, q);\n scale(a.scaleX, a.scaleY, b.scaleX, b.scaleY, s, q);\n a = b = null; // gc\n return function(t) {\n var i = -1, n = q.length, o;\n while (++i < n) s[(o = q[i]).i] = o.x(t);\n return s.join(\"\");\n };\n };\n}\n\nexport var interpolateTransformCss = interpolateTransform(parseCss, \"px, \", \"px)\", \"deg)\");\nexport var interpolateTransformSvg = interpolateTransform(parseSvg, \", \", \")\", \")\");\n","var rho = Math.SQRT2,\n rho2 = 2,\n rho4 = 4,\n epsilon2 = 1e-12;\n\nfunction cosh(x) {\n return ((x = Math.exp(x)) + 1 / x) / 2;\n}\n\nfunction sinh(x) {\n return ((x = Math.exp(x)) - 1 / x) / 2;\n}\n\nfunction tanh(x) {\n return ((x = Math.exp(2 * x)) - 1) / (x + 1);\n}\n\n// p0 = [ux0, uy0, w0]\n// p1 = [ux1, uy1, w1]\nexport default function(p0, p1) {\n var ux0 = p0[0], uy0 = p0[1], w0 = p0[2],\n ux1 = p1[0], uy1 = p1[1], w1 = p1[2],\n dx = ux1 - ux0,\n dy = uy1 - uy0,\n d2 = dx * dx + dy * dy,\n i,\n S;\n\n // Special case for u0 ≅ u1.\n if (d2 < epsilon2) {\n S = Math.log(w1 / w0) / rho;\n i = function(t) {\n return [\n ux0 + t * dx,\n uy0 + t * dy,\n w0 * Math.exp(rho * t * S)\n ];\n }\n }\n\n // General case.\n else {\n var d1 = Math.sqrt(d2),\n b0 = (w1 * w1 - w0 * w0 + rho4 * d2) / (2 * w0 * rho2 * d1),\n b1 = (w1 * w1 - w0 * w0 - rho4 * d2) / (2 * w1 * rho2 * d1),\n r0 = Math.log(Math.sqrt(b0 * b0 + 1) - b0),\n r1 = Math.log(Math.sqrt(b1 * b1 + 1) - b1);\n S = (r1 - r0) / rho;\n i = function(t) {\n var s = t * S,\n coshr0 = cosh(r0),\n u = w0 / (rho2 * d1) * (coshr0 * tanh(rho * s + r0) - sinh(r0));\n return [\n ux0 + u * dx,\n uy0 + u * dy,\n w0 * coshr0 / cosh(rho * s + r0)\n ];\n }\n }\n\n i.duration = S * 1000;\n\n return i;\n}\n","import {hsl as colorHsl} from \"d3-color\";\nimport color, {hue} from \"./color\";\n\nfunction hsl(hue) {\n return function(start, end) {\n var h = hue((start = colorHsl(start)).h, (end = colorHsl(end)).h),\n s = color(start.s, end.s),\n l = color(start.l, end.l),\n opacity = color(start.opacity, end.opacity);\n return function(t) {\n start.h = h(t);\n start.s = s(t);\n start.l = l(t);\n start.opacity = opacity(t);\n return start + \"\";\n };\n }\n}\n\nexport default hsl(hue);\nexport var hslLong = hsl(color);\n","import {lab as colorLab} from \"d3-color\";\nimport color from \"./color\";\n\nexport default function lab(start, end) {\n var l = color((start = colorLab(start)).l, (end = colorLab(end)).l),\n a = color(start.a, end.a),\n b = color(start.b, end.b),\n opacity = color(start.opacity, end.opacity);\n return function(t) {\n start.l = l(t);\n start.a = a(t);\n start.b = b(t);\n start.opacity = opacity(t);\n return start + \"\";\n };\n}\n","import {hcl as colorHcl} from \"d3-color\";\nimport color, {hue} from \"./color\";\n\nfunction hcl(hue) {\n return function(start, end) {\n var h = hue((start = colorHcl(start)).h, (end = colorHcl(end)).h),\n c = color(start.c, end.c),\n l = color(start.l, end.l),\n opacity = color(start.opacity, end.opacity);\n return function(t) {\n start.h = h(t);\n start.c = c(t);\n start.l = l(t);\n start.opacity = opacity(t);\n return start + \"\";\n };\n }\n}\n\nexport default hcl(hue);\nexport var hclLong = hcl(color);\n","import {cubehelix as colorCubehelix} from \"d3-color\";\nimport color, {hue} from \"./color\";\n\nfunction cubehelix(hue) {\n return (function cubehelixGamma(y) {\n y = +y;\n\n function cubehelix(start, end) {\n var h = hue((start = colorCubehelix(start)).h, (end = colorCubehelix(end)).h),\n s = color(start.s, end.s),\n l = color(start.l, end.l),\n opacity = color(start.opacity, end.opacity);\n return function(t) {\n start.h = h(t);\n start.s = s(t);\n start.l = l(Math.pow(t, y));\n start.opacity = opacity(t);\n return start + \"\";\n };\n }\n\n cubehelix.gamma = cubehelixGamma;\n\n return cubehelix;\n })(1);\n}\n\nexport default cubehelix(hue);\nexport var cubehelixLong = cubehelix(color);\n","export default function piecewise(interpolate, values) {\n var i = 0, n = values.length - 1, v = values[0], I = new Array(n < 0 ? 0 : n);\n while (i < n) I[i] = interpolate(v, v = values[++i]);\n return function(t) {\n var i = Math.max(0, Math.min(n - 1, Math.floor(t *= n)));\n return I[i](t - i);\n };\n}\n","export default function(interpolator, n) {\n var samples = new Array(n);\n for (var i = 0; i < n; ++i) samples[i] = interpolator(i / (n - 1));\n return samples;\n}\n","export {default as interpolate} from \"./src/value\";\nexport {default as interpolateArray} from \"./src/array\";\nexport {default as interpolateBasis} from \"./src/basis\";\nexport {default as interpolateBasisClosed} from \"./src/basisClosed\";\nexport {default as interpolateDate} from \"./src/date\";\nexport {default as interpolateNumber} from \"./src/number\";\nexport {default as interpolateObject} from \"./src/object\";\nexport {default as interpolateRound} from \"./src/round\";\nexport {default as interpolateString} from \"./src/string\";\nexport {interpolateTransformCss, interpolateTransformSvg} from \"./src/transform/index\";\nexport {default as interpolateZoom} from \"./src/zoom\";\nexport {default as interpolateRgb, rgbBasis as interpolateRgbBasis, rgbBasisClosed as interpolateRgbBasisClosed} from \"./src/rgb\";\nexport {default as interpolateHsl, hslLong as interpolateHslLong} from \"./src/hsl\";\nexport {default as interpolateLab} from \"./src/lab\";\nexport {default as interpolateHcl, hclLong as interpolateHclLong} from \"./src/hcl\";\nexport {default as interpolateCubehelix, cubehelixLong as interpolateCubehelixLong} from \"./src/cubehelix\";\nexport {default as piecewise} from \"./src/piecewise\";\nexport {default as quantize} from \"./src/quantize\";\n","var frame = 0, // is an animation frame pending?\n timeout = 0, // is a timeout pending?\n interval = 0, // are any timers active?\n pokeDelay = 1000, // how frequently we check for clock skew\n taskHead,\n taskTail,\n clockLast = 0,\n clockNow = 0,\n clockSkew = 0,\n clock = typeof performance === \"object\" && performance.now ? performance : Date,\n setFrame = typeof window === \"object\" && window.requestAnimationFrame ? window.requestAnimationFrame.bind(window) : function(f) { setTimeout(f, 17); };\n\nexport function now() {\n return clockNow || (setFrame(clearNow), clockNow = clock.now() + clockSkew);\n}\n\nfunction clearNow() {\n clockNow = 0;\n}\n\nexport function Timer() {\n this._call =\n this._time =\n this._next = null;\n}\n\nTimer.prototype = timer.prototype = {\n constructor: Timer,\n restart: function(callback, delay, time) {\n if (typeof callback !== \"function\") throw new TypeError(\"callback is not a function\");\n time = (time == null ? now() : +time) + (delay == null ? 0 : +delay);\n if (!this._next && taskTail !== this) {\n if (taskTail) taskTail._next = this;\n else taskHead = this;\n taskTail = this;\n }\n this._call = callback;\n this._time = time;\n sleep();\n },\n stop: function() {\n if (this._call) {\n this._call = null;\n this._time = Infinity;\n sleep();\n }\n }\n};\n\nexport function timer(callback, delay, time) {\n var t = new Timer;\n t.restart(callback, delay, time);\n return t;\n}\n\nexport function timerFlush() {\n now(); // Get the current time, if not already set.\n ++frame; // Pretend we’ve set an alarm, if we haven’t already.\n var t = taskHead, e;\n while (t) {\n if ((e = clockNow - t._time) >= 0) t._call.call(null, e);\n t = t._next;\n }\n --frame;\n}\n\nfunction wake() {\n clockNow = (clockLast = clock.now()) + clockSkew;\n frame = timeout = 0;\n try {\n timerFlush();\n } finally {\n frame = 0;\n nap();\n clockNow = 0;\n }\n}\n\nfunction poke() {\n var now = clock.now(), delay = now - clockLast;\n if (delay > pokeDelay) clockSkew -= delay, clockLast = now;\n}\n\nfunction nap() {\n var t0, t1 = taskHead, t2, time = Infinity;\n while (t1) {\n if (t1._call) {\n if (time > t1._time) time = t1._time;\n t0 = t1, t1 = t1._next;\n } else {\n t2 = t1._next, t1._next = null;\n t1 = t0 ? t0._next = t2 : taskHead = t2;\n }\n }\n taskTail = t0;\n sleep(time);\n}\n\nfunction sleep(time) {\n if (frame) return; // Soonest alarm already set, or will be.\n if (timeout) timeout = clearTimeout(timeout);\n var delay = time - clockNow; // Strictly less than if we recomputed clockNow.\n if (delay > 24) {\n if (time < Infinity) timeout = setTimeout(wake, time - clock.now() - clockSkew);\n if (interval) interval = clearInterval(interval);\n } else {\n if (!interval) clockLast = clock.now(), interval = setInterval(poke, pokeDelay);\n frame = 1, setFrame(wake);\n }\n}\n","import {Timer} from \"./timer\";\n\nexport default function(callback, delay, time) {\n var t = new Timer;\n delay = delay == null ? 0 : +delay;\n t.restart(function(elapsed) {\n t.stop();\n callback(elapsed + delay);\n }, delay, time);\n return t;\n}\n","import {Timer, now} from \"./timer\";\n\nexport default function(callback, delay, time) {\n var t = new Timer, total = delay;\n if (delay == null) return t.restart(callback, delay, time), t;\n delay = +delay, time = time == null ? now() : +time;\n t.restart(function tick(elapsed) {\n elapsed += total;\n t.restart(tick, total += delay, time);\n callback(elapsed);\n }, delay, time);\n return t;\n}\n","export {\n now,\n timer,\n timerFlush\n} from \"./src/timer\";\n\nexport {\n default as timeout\n} from \"./src/timeout\";\n\nexport {\n default as interval\n} from \"./src/interval\";\n","import {dispatch} from \"d3-dispatch\";\nimport {timer, timeout} from \"d3-timer\";\n\nvar emptyOn = dispatch(\"start\", \"end\", \"interrupt\");\nvar emptyTween = [];\n\nexport var CREATED = 0;\nexport var SCHEDULED = 1;\nexport var STARTING = 2;\nexport var STARTED = 3;\nexport var RUNNING = 4;\nexport var ENDING = 5;\nexport var ENDED = 6;\n\nexport default function(node, name, id, index, group, timing) {\n var schedules = node.__transition;\n if (!schedules) node.__transition = {};\n else if (id in schedules) return;\n create(node, id, {\n name: name,\n index: index, // For context during callback.\n group: group, // For context during callback.\n on: emptyOn,\n tween: emptyTween,\n time: timing.time,\n delay: timing.delay,\n duration: timing.duration,\n ease: timing.ease,\n timer: null,\n state: CREATED\n });\n}\n\nexport function init(node, id) {\n var schedule = get(node, id);\n if (schedule.state > CREATED) throw new Error(\"too late; already scheduled\");\n return schedule;\n}\n\nexport function set(node, id) {\n var schedule = get(node, id);\n if (schedule.state > STARTING) throw new Error(\"too late; already started\");\n return schedule;\n}\n\nexport function get(node, id) {\n var schedule = node.__transition;\n if (!schedule || !(schedule = schedule[id])) throw new Error(\"transition not found\");\n return schedule;\n}\n\nfunction create(node, id, self) {\n var schedules = node.__transition,\n tween;\n\n // Initialize the self timer when the transition is created.\n // Note the actual delay is not known until the first callback!\n schedules[id] = self;\n self.timer = timer(schedule, 0, self.time);\n\n function schedule(elapsed) {\n self.state = SCHEDULED;\n self.timer.restart(start, self.delay, self.time);\n\n // If the elapsed delay is less than our first sleep, start immediately.\n if (self.delay <= elapsed) start(elapsed - self.delay);\n }\n\n function start(elapsed) {\n var i, j, n, o;\n\n // If the state is not SCHEDULED, then we previously errored on start.\n if (self.state !== SCHEDULED) return stop();\n\n for (i in schedules) {\n o = schedules[i];\n if (o.name !== self.name) continue;\n\n // While this element already has a starting transition during this frame,\n // defer starting an interrupting transition until that transition has a\n // chance to tick (and possibly end); see d3/d3-transition#54!\n if (o.state === STARTED) return timeout(start);\n\n // Interrupt the active transition, if any.\n // Dispatch the interrupt event.\n if (o.state === RUNNING) {\n o.state = ENDED;\n o.timer.stop();\n o.on.call(\"interrupt\", node, node.__data__, o.index, o.group);\n delete schedules[i];\n }\n\n // Cancel any pre-empted transitions. No interrupt event is dispatched\n // because the cancelled transitions never started. Note that this also\n // removes this transition from the pending list!\n else if (+i < id) {\n o.state = ENDED;\n o.timer.stop();\n delete schedules[i];\n }\n }\n\n // Defer the first tick to end of the current frame; see d3/d3#1576.\n // Note the transition may be canceled after start and before the first tick!\n // Note this must be scheduled before the start event; see d3/d3-transition#16!\n // Assuming this is successful, subsequent callbacks go straight to tick.\n timeout(function() {\n if (self.state === STARTED) {\n self.state = RUNNING;\n self.timer.restart(tick, self.delay, self.time);\n tick(elapsed);\n }\n });\n\n // Dispatch the start event.\n // Note this must be done before the tween are initialized.\n self.state = STARTING;\n self.on.call(\"start\", node, node.__data__, self.index, self.group);\n if (self.state !== STARTING) return; // interrupted\n self.state = STARTED;\n\n // Initialize the tween, deleting null tween.\n tween = new Array(n = self.tween.length);\n for (i = 0, j = -1; i < n; ++i) {\n if (o = self.tween[i].value.call(node, node.__data__, self.index, self.group)) {\n tween[++j] = o;\n }\n }\n tween.length = j + 1;\n }\n\n function tick(elapsed) {\n var t = elapsed < self.duration ? self.ease.call(null, elapsed / self.duration) : (self.timer.restart(stop), self.state = ENDING, 1),\n i = -1,\n n = tween.length;\n\n while (++i < n) {\n tween[i].call(null, t);\n }\n\n // Dispatch the end event.\n if (self.state === ENDING) {\n self.on.call(\"end\", node, node.__data__, self.index, self.group);\n stop();\n }\n }\n\n function stop() {\n self.state = ENDED;\n self.timer.stop();\n delete schedules[id];\n for (var i in schedules) return; // eslint-disable-line no-unused-vars\n delete node.__transition;\n }\n}\n","import {STARTING, ENDING, ENDED} from \"./transition/schedule\";\n\nexport default function(node, name) {\n var schedules = node.__transition,\n schedule,\n active,\n empty = true,\n i;\n\n if (!schedules) return;\n\n name = name == null ? null : name + \"\";\n\n for (i in schedules) {\n if ((schedule = schedules[i]).name !== name) { empty = false; continue; }\n active = schedule.state > STARTING && schedule.state < ENDING;\n schedule.state = ENDED;\n schedule.timer.stop();\n if (active) schedule.on.call(\"interrupt\", node, node.__data__, schedule.index, schedule.group);\n delete schedules[i];\n }\n\n if (empty) delete node.__transition;\n}\n","import interrupt from \"../interrupt\";\n\nexport default function(name) {\n return this.each(function() {\n interrupt(this, name);\n });\n}\n","import {get, set} from \"./schedule\";\n\nfunction tweenRemove(id, name) {\n var tween0, tween1;\n return function() {\n var schedule = set(this, id),\n tween = schedule.tween;\n\n // If this node shared tween with the previous node,\n // just assign the updated shared tween and we’re done!\n // Otherwise, copy-on-write.\n if (tween !== tween0) {\n tween1 = tween0 = tween;\n for (var i = 0, n = tween1.length; i < n; ++i) {\n if (tween1[i].name === name) {\n tween1 = tween1.slice();\n tween1.splice(i, 1);\n break;\n }\n }\n }\n\n schedule.tween = tween1;\n };\n}\n\nfunction tweenFunction(id, name, value) {\n var tween0, tween1;\n if (typeof value !== \"function\") throw new Error;\n return function() {\n var schedule = set(this, id),\n tween = schedule.tween;\n\n // If this node shared tween with the previous node,\n // just assign the updated shared tween and we’re done!\n // Otherwise, copy-on-write.\n if (tween !== tween0) {\n tween1 = (tween0 = tween).slice();\n for (var t = {name: name, value: value}, i = 0, n = tween1.length; i < n; ++i) {\n if (tween1[i].name === name) {\n tween1[i] = t;\n break;\n }\n }\n if (i === n) tween1.push(t);\n }\n\n schedule.tween = tween1;\n };\n}\n\nexport default function(name, value) {\n var id = this._id;\n\n name += \"\";\n\n if (arguments.length < 2) {\n var tween = get(this.node(), id).tween;\n for (var i = 0, n = tween.length, t; i < n; ++i) {\n if ((t = tween[i]).name === name) {\n return t.value;\n }\n }\n return null;\n }\n\n return this.each((value == null ? tweenRemove : tweenFunction)(id, name, value));\n}\n\nexport function tweenValue(transition, name, value) {\n var id = transition._id;\n\n transition.each(function() {\n var schedule = set(this, id);\n (schedule.value || (schedule.value = {}))[name] = value.apply(this, arguments);\n });\n\n return function(node) {\n return get(node, id).value[name];\n };\n}\n","import {color} from \"d3-color\";\nimport {interpolateNumber, interpolateRgb, interpolateString} from \"d3-interpolate\";\n\nexport default function(a, b) {\n var c;\n return (typeof b === \"number\" ? interpolateNumber\n : b instanceof color ? interpolateRgb\n : (c = color(b)) ? (b = c, interpolateRgb)\n : interpolateString)(a, b);\n}\n","import {interpolateTransformSvg as interpolateTransform} from \"d3-interpolate\";\nimport {namespace} from \"d3-selection\";\nimport {tweenValue} from \"./tween\";\nimport interpolate from \"./interpolate\";\n\nfunction attrRemove(name) {\n return function() {\n this.removeAttribute(name);\n };\n}\n\nfunction attrRemoveNS(fullname) {\n return function() {\n this.removeAttributeNS(fullname.space, fullname.local);\n };\n}\n\nfunction attrConstant(name, interpolate, value1) {\n var value00,\n interpolate0;\n return function() {\n var value0 = this.getAttribute(name);\n return value0 === value1 ? null\n : value0 === value00 ? interpolate0\n : interpolate0 = interpolate(value00 = value0, value1);\n };\n}\n\nfunction attrConstantNS(fullname, interpolate, value1) {\n var value00,\n interpolate0;\n return function() {\n var value0 = this.getAttributeNS(fullname.space, fullname.local);\n return value0 === value1 ? null\n : value0 === value00 ? interpolate0\n : interpolate0 = interpolate(value00 = value0, value1);\n };\n}\n\nfunction attrFunction(name, interpolate, value) {\n var value00,\n value10,\n interpolate0;\n return function() {\n var value0, value1 = value(this);\n if (value1 == null) return void this.removeAttribute(name);\n value0 = this.getAttribute(name);\n return value0 === value1 ? null\n : value0 === value00 && value1 === value10 ? interpolate0\n : interpolate0 = interpolate(value00 = value0, value10 = value1);\n };\n}\n\nfunction attrFunctionNS(fullname, interpolate, value) {\n var value00,\n value10,\n interpolate0;\n return function() {\n var value0, value1 = value(this);\n if (value1 == null) return void this.removeAttributeNS(fullname.space, fullname.local);\n value0 = this.getAttributeNS(fullname.space, fullname.local);\n return value0 === value1 ? null\n : value0 === value00 && value1 === value10 ? interpolate0\n : interpolate0 = interpolate(value00 = value0, value10 = value1);\n };\n}\n\nexport default function(name, value) {\n var fullname = namespace(name), i = fullname === \"transform\" ? interpolateTransform : interpolate;\n return this.attrTween(name, typeof value === \"function\"\n ? (fullname.local ? attrFunctionNS : attrFunction)(fullname, i, tweenValue(this, \"attr.\" + name, value))\n : value == null ? (fullname.local ? attrRemoveNS : attrRemove)(fullname)\n : (fullname.local ? attrConstantNS : attrConstant)(fullname, i, value + \"\"));\n}\n","import {namespace} from \"d3-selection\";\n\nfunction attrTweenNS(fullname, value) {\n function tween() {\n var node = this, i = value.apply(node, arguments);\n return i && function(t) {\n node.setAttributeNS(fullname.space, fullname.local, i(t));\n };\n }\n tween._value = value;\n return tween;\n}\n\nfunction attrTween(name, value) {\n function tween() {\n var node = this, i = value.apply(node, arguments);\n return i && function(t) {\n node.setAttribute(name, i(t));\n };\n }\n tween._value = value;\n return tween;\n}\n\nexport default function(name, value) {\n var key = \"attr.\" + name;\n if (arguments.length < 2) return (key = this.tween(key)) && key._value;\n if (value == null) return this.tween(key, null);\n if (typeof value !== \"function\") throw new Error;\n var fullname = namespace(name);\n return this.tween(key, (fullname.local ? attrTweenNS : attrTween)(fullname, value));\n}\n","import {get, init} from \"./schedule\";\n\nfunction delayFunction(id, value) {\n return function() {\n init(this, id).delay = +value.apply(this, arguments);\n };\n}\n\nfunction delayConstant(id, value) {\n return value = +value, function() {\n init(this, id).delay = value;\n };\n}\n\nexport default function(value) {\n var id = this._id;\n\n return arguments.length\n ? this.each((typeof value === \"function\"\n ? delayFunction\n : delayConstant)(id, value))\n : get(this.node(), id).delay;\n}\n","import {get, set} from \"./schedule\";\n\nfunction durationFunction(id, value) {\n return function() {\n set(this, id).duration = +value.apply(this, arguments);\n };\n}\n\nfunction durationConstant(id, value) {\n return value = +value, function() {\n set(this, id).duration = value;\n };\n}\n\nexport default function(value) {\n var id = this._id;\n\n return arguments.length\n ? this.each((typeof value === \"function\"\n ? durationFunction\n : durationConstant)(id, value))\n : get(this.node(), id).duration;\n}\n","import {get, set} from \"./schedule\";\n\nfunction easeConstant(id, value) {\n if (typeof value !== \"function\") throw new Error;\n return function() {\n set(this, id).ease = value;\n };\n}\n\nexport default function(value) {\n var id = this._id;\n\n return arguments.length\n ? this.each(easeConstant(id, value))\n : get(this.node(), id).ease;\n}\n","import {matcher} from \"d3-selection\";\nimport {Transition} from \"./index\";\n\nexport default function(match) {\n if (typeof match !== \"function\") match = matcher(match);\n\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = [], node, i = 0; i < n; ++i) {\n if ((node = group[i]) && match.call(node, node.__data__, i, group)) {\n subgroup.push(node);\n }\n }\n }\n\n return new Transition(subgroups, this._parents, this._name, this._id);\n}\n","import {Transition} from \"./index\";\n\nexport default function(transition) {\n if (transition._id !== this._id) throw new Error;\n\n for (var groups0 = this._groups, groups1 = transition._groups, m0 = groups0.length, m1 = groups1.length, m = Math.min(m0, m1), merges = new Array(m0), j = 0; j < m; ++j) {\n for (var group0 = groups0[j], group1 = groups1[j], n = group0.length, merge = merges[j] = new Array(n), node, i = 0; i < n; ++i) {\n if (node = group0[i] || group1[i]) {\n merge[i] = node;\n }\n }\n }\n\n for (; j < m0; ++j) {\n merges[j] = groups0[j];\n }\n\n return new Transition(merges, this._parents, this._name, this._id);\n}\n","import {get, set, init} from \"./schedule\";\n\nfunction start(name) {\n return (name + \"\").trim().split(/^|\\s+/).every(function(t) {\n var i = t.indexOf(\".\");\n if (i >= 0) t = t.slice(0, i);\n return !t || t === \"start\";\n });\n}\n\nfunction onFunction(id, name, listener) {\n var on0, on1, sit = start(name) ? init : set;\n return function() {\n var schedule = sit(this, id),\n on = schedule.on;\n\n // If this node shared a dispatch with the previous node,\n // just assign the updated shared dispatch and we’re done!\n // Otherwise, copy-on-write.\n if (on !== on0) (on1 = (on0 = on).copy()).on(name, listener);\n\n schedule.on = on1;\n };\n}\n\nexport default function(name, listener) {\n var id = this._id;\n\n return arguments.length < 2\n ? get(this.node(), id).on.on(name)\n : this.each(onFunction(id, name, listener));\n}\n","function removeFunction(id) {\n return function() {\n var parent = this.parentNode;\n for (var i in this.__transition) if (+i !== id) return;\n if (parent) parent.removeChild(this);\n };\n}\n\nexport default function() {\n return this.on(\"end.remove\", removeFunction(this._id));\n}\n","import {selector} from \"d3-selection\";\nimport {Transition} from \"./index\";\nimport schedule, {get} from \"./schedule\";\n\nexport default function(select) {\n var name = this._name,\n id = this._id;\n\n if (typeof select !== \"function\") select = selector(select);\n\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = new Array(n), node, subnode, i = 0; i < n; ++i) {\n if ((node = group[i]) && (subnode = select.call(node, node.__data__, i, group))) {\n if (\"__data__\" in node) subnode.__data__ = node.__data__;\n subgroup[i] = subnode;\n schedule(subgroup[i], name, id, i, subgroup, get(node, id));\n }\n }\n }\n\n return new Transition(subgroups, this._parents, name, id);\n}\n","import {selectorAll} from \"d3-selection\";\nimport {Transition} from \"./index\";\nimport schedule, {get} from \"./schedule\";\n\nexport default function(select) {\n var name = this._name,\n id = this._id;\n\n if (typeof select !== \"function\") select = selectorAll(select);\n\n for (var groups = this._groups, m = groups.length, subgroups = [], parents = [], j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n for (var children = select.call(node, node.__data__, i, group), child, inherit = get(node, id), k = 0, l = children.length; k < l; ++k) {\n if (child = children[k]) {\n schedule(child, name, id, k, children, inherit);\n }\n }\n subgroups.push(children);\n parents.push(node);\n }\n }\n }\n\n return new Transition(subgroups, parents, name, id);\n}\n","import {selection} from \"d3-selection\";\n\nvar Selection = selection.prototype.constructor;\n\nexport default function() {\n return new Selection(this._groups, this._parents);\n}\n","import {interpolateTransformCss as interpolateTransform} from \"d3-interpolate\";\nimport {style} from \"d3-selection\";\nimport {tweenValue} from \"./tween\";\nimport interpolate from \"./interpolate\";\n\nfunction styleRemove(name, interpolate) {\n var value00,\n value10,\n interpolate0;\n return function() {\n var value0 = style(this, name),\n value1 = (this.style.removeProperty(name), style(this, name));\n return value0 === value1 ? null\n : value0 === value00 && value1 === value10 ? interpolate0\n : interpolate0 = interpolate(value00 = value0, value10 = value1);\n };\n}\n\nfunction styleRemoveEnd(name) {\n return function() {\n this.style.removeProperty(name);\n };\n}\n\nfunction styleConstant(name, interpolate, value1) {\n var value00,\n interpolate0;\n return function() {\n var value0 = style(this, name);\n return value0 === value1 ? null\n : value0 === value00 ? interpolate0\n : interpolate0 = interpolate(value00 = value0, value1);\n };\n}\n\nfunction styleFunction(name, interpolate, value) {\n var value00,\n value10,\n interpolate0;\n return function() {\n var value0 = style(this, name),\n value1 = value(this);\n if (value1 == null) value1 = (this.style.removeProperty(name), style(this, name));\n return value0 === value1 ? null\n : value0 === value00 && value1 === value10 ? interpolate0\n : interpolate0 = interpolate(value00 = value0, value10 = value1);\n };\n}\n\nexport default function(name, value, priority) {\n var i = (name += \"\") === \"transform\" ? interpolateTransform : interpolate;\n return value == null ? this\n .styleTween(name, styleRemove(name, i))\n .on(\"end.style.\" + name, styleRemoveEnd(name))\n : this.styleTween(name, typeof value === \"function\"\n ? styleFunction(name, i, tweenValue(this, \"style.\" + name, value))\n : styleConstant(name, i, value + \"\"), priority);\n}\n","function styleTween(name, value, priority) {\n function tween() {\n var node = this, i = value.apply(node, arguments);\n return i && function(t) {\n node.style.setProperty(name, i(t), priority);\n };\n }\n tween._value = value;\n return tween;\n}\n\nexport default function(name, value, priority) {\n var key = \"style.\" + (name += \"\");\n if (arguments.length < 2) return (key = this.tween(key)) && key._value;\n if (value == null) return this.tween(key, null);\n if (typeof value !== \"function\") throw new Error;\n return this.tween(key, styleTween(name, value, priority == null ? \"\" : priority));\n}\n","import {tweenValue} from \"./tween\";\n\nfunction textConstant(value) {\n return function() {\n this.textContent = value;\n };\n}\n\nfunction textFunction(value) {\n return function() {\n var value1 = value(this);\n this.textContent = value1 == null ? \"\" : value1;\n };\n}\n\nexport default function(value) {\n return this.tween(\"text\", typeof value === \"function\"\n ? textFunction(tweenValue(this, \"text\", value))\n : textConstant(value == null ? \"\" : value + \"\"));\n}\n","import {Transition, newId} from \"./index\";\nimport schedule, {get} from \"./schedule\";\n\nexport default function() {\n var name = this._name,\n id0 = this._id,\n id1 = newId();\n\n for (var groups = this._groups, m = groups.length, j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n var inherit = get(node, id0);\n schedule(node, name, id1, i, group, {\n time: inherit.time + inherit.delay + inherit.duration,\n delay: 0,\n duration: inherit.duration,\n ease: inherit.ease\n });\n }\n }\n }\n\n return new Transition(groups, this._parents, name, id1);\n}\n","import {selection} from \"d3-selection\";\nimport transition_attr from \"./attr\";\nimport transition_attrTween from \"./attrTween\";\nimport transition_delay from \"./delay\";\nimport transition_duration from \"./duration\";\nimport transition_ease from \"./ease\";\nimport transition_filter from \"./filter\";\nimport transition_merge from \"./merge\";\nimport transition_on from \"./on\";\nimport transition_remove from \"./remove\";\nimport transition_select from \"./select\";\nimport transition_selectAll from \"./selectAll\";\nimport transition_selection from \"./selection\";\nimport transition_style from \"./style\";\nimport transition_styleTween from \"./styleTween\";\nimport transition_text from \"./text\";\nimport transition_transition from \"./transition\";\nimport transition_tween from \"./tween\";\n\nvar id = 0;\n\nexport function Transition(groups, parents, name, id) {\n this._groups = groups;\n this._parents = parents;\n this._name = name;\n this._id = id;\n}\n\nexport default function transition(name) {\n return selection().transition(name);\n}\n\nexport function newId() {\n return ++id;\n}\n\nvar selection_prototype = selection.prototype;\n\nTransition.prototype = transition.prototype = {\n constructor: Transition,\n select: transition_select,\n selectAll: transition_selectAll,\n filter: transition_filter,\n merge: transition_merge,\n selection: transition_selection,\n transition: transition_transition,\n call: selection_prototype.call,\n nodes: selection_prototype.nodes,\n node: selection_prototype.node,\n size: selection_prototype.size,\n empty: selection_prototype.empty,\n each: selection_prototype.each,\n on: transition_on,\n attr: transition_attr,\n attrTween: transition_attrTween,\n style: transition_style,\n styleTween: transition_styleTween,\n text: transition_text,\n remove: transition_remove,\n tween: transition_tween,\n delay: transition_delay,\n duration: transition_duration,\n ease: transition_ease\n};\n","export function linear(t) {\n return +t;\n}\n","export function quadIn(t) {\n return t * t;\n}\n\nexport function quadOut(t) {\n return t * (2 - t);\n}\n\nexport function quadInOut(t) {\n return ((t *= 2) <= 1 ? t * t : --t * (2 - t) + 1) / 2;\n}\n","export function cubicIn(t) {\n return t * t * t;\n}\n\nexport function cubicOut(t) {\n return --t * t * t + 1;\n}\n\nexport function cubicInOut(t) {\n return ((t *= 2) <= 1 ? t * t * t : (t -= 2) * t * t + 2) / 2;\n}\n","var exponent = 3;\n\nexport var polyIn = (function custom(e) {\n e = +e;\n\n function polyIn(t) {\n return Math.pow(t, e);\n }\n\n polyIn.exponent = custom;\n\n return polyIn;\n})(exponent);\n\nexport var polyOut = (function custom(e) {\n e = +e;\n\n function polyOut(t) {\n return 1 - Math.pow(1 - t, e);\n }\n\n polyOut.exponent = custom;\n\n return polyOut;\n})(exponent);\n\nexport var polyInOut = (function custom(e) {\n e = +e;\n\n function polyInOut(t) {\n return ((t *= 2) <= 1 ? Math.pow(t, e) : 2 - Math.pow(2 - t, e)) / 2;\n }\n\n polyInOut.exponent = custom;\n\n return polyInOut;\n})(exponent);\n","var pi = Math.PI,\n halfPi = pi / 2;\n\nexport function sinIn(t) {\n return 1 - Math.cos(t * halfPi);\n}\n\nexport function sinOut(t) {\n return Math.sin(t * halfPi);\n}\n\nexport function sinInOut(t) {\n return (1 - Math.cos(pi * t)) / 2;\n}\n","export function expIn(t) {\n return Math.pow(2, 10 * t - 10);\n}\n\nexport function expOut(t) {\n return 1 - Math.pow(2, -10 * t);\n}\n\nexport function expInOut(t) {\n return ((t *= 2) <= 1 ? Math.pow(2, 10 * t - 10) : 2 - Math.pow(2, 10 - 10 * t)) / 2;\n}\n","export function circleIn(t) {\n return 1 - Math.sqrt(1 - t * t);\n}\n\nexport function circleOut(t) {\n return Math.sqrt(1 - --t * t);\n}\n\nexport function circleInOut(t) {\n return ((t *= 2) <= 1 ? 1 - Math.sqrt(1 - t * t) : Math.sqrt(1 - (t -= 2) * t) + 1) / 2;\n}\n","var b1 = 4 / 11,\n b2 = 6 / 11,\n b3 = 8 / 11,\n b4 = 3 / 4,\n b5 = 9 / 11,\n b6 = 10 / 11,\n b7 = 15 / 16,\n b8 = 21 / 22,\n b9 = 63 / 64,\n b0 = 1 / b1 / b1;\n\nexport function bounceIn(t) {\n return 1 - bounceOut(1 - t);\n}\n\nexport function bounceOut(t) {\n return (t = +t) < b1 ? b0 * t * t : t < b3 ? b0 * (t -= b2) * t + b4 : t < b6 ? b0 * (t -= b5) * t + b7 : b0 * (t -= b8) * t + b9;\n}\n\nexport function bounceInOut(t) {\n return ((t *= 2) <= 1 ? 1 - bounceOut(1 - t) : bounceOut(t - 1) + 1) / 2;\n}\n","var overshoot = 1.70158;\n\nexport var backIn = (function custom(s) {\n s = +s;\n\n function backIn(t) {\n return t * t * ((s + 1) * t - s);\n }\n\n backIn.overshoot = custom;\n\n return backIn;\n})(overshoot);\n\nexport var backOut = (function custom(s) {\n s = +s;\n\n function backOut(t) {\n return --t * t * ((s + 1) * t + s) + 1;\n }\n\n backOut.overshoot = custom;\n\n return backOut;\n})(overshoot);\n\nexport var backInOut = (function custom(s) {\n s = +s;\n\n function backInOut(t) {\n return ((t *= 2) < 1 ? t * t * ((s + 1) * t - s) : (t -= 2) * t * ((s + 1) * t + s) + 2) / 2;\n }\n\n backInOut.overshoot = custom;\n\n return backInOut;\n})(overshoot);\n","var tau = 2 * Math.PI,\n amplitude = 1,\n period = 0.3;\n\nexport var elasticIn = (function custom(a, p) {\n var s = Math.asin(1 / (a = Math.max(1, a))) * (p /= tau);\n\n function elasticIn(t) {\n return a * Math.pow(2, 10 * --t) * Math.sin((s - t) / p);\n }\n\n elasticIn.amplitude = function(a) { return custom(a, p * tau); };\n elasticIn.period = function(p) { return custom(a, p); };\n\n return elasticIn;\n})(amplitude, period);\n\nexport var elasticOut = (function custom(a, p) {\n var s = Math.asin(1 / (a = Math.max(1, a))) * (p /= tau);\n\n function elasticOut(t) {\n return 1 - a * Math.pow(2, -10 * (t = +t)) * Math.sin((t + s) / p);\n }\n\n elasticOut.amplitude = function(a) { return custom(a, p * tau); };\n elasticOut.period = function(p) { return custom(a, p); };\n\n return elasticOut;\n})(amplitude, period);\n\nexport var elasticInOut = (function custom(a, p) {\n var s = Math.asin(1 / (a = Math.max(1, a))) * (p /= tau);\n\n function elasticInOut(t) {\n return ((t = t * 2 - 1) < 0\n ? a * Math.pow(2, 10 * t) * Math.sin((s - t) / p)\n : 2 - a * Math.pow(2, -10 * t) * Math.sin((s + t) / p)) / 2;\n }\n\n elasticInOut.amplitude = function(a) { return custom(a, p * tau); };\n elasticInOut.period = function(p) { return custom(a, p); };\n\n return elasticInOut;\n})(amplitude, period);\n","export {\n linear as easeLinear\n} from \"./src/linear\";\n\nexport {\n quadInOut as easeQuad,\n quadIn as easeQuadIn,\n quadOut as easeQuadOut,\n quadInOut as easeQuadInOut\n} from \"./src/quad\";\n\nexport {\n cubicInOut as easeCubic,\n cubicIn as easeCubicIn,\n cubicOut as easeCubicOut,\n cubicInOut as easeCubicInOut\n} from \"./src/cubic\";\n\nexport {\n polyInOut as easePoly,\n polyIn as easePolyIn,\n polyOut as easePolyOut,\n polyInOut as easePolyInOut\n} from \"./src/poly\";\n\nexport {\n sinInOut as easeSin,\n sinIn as easeSinIn,\n sinOut as easeSinOut,\n sinInOut as easeSinInOut\n} from \"./src/sin\";\n\nexport {\n expInOut as easeExp,\n expIn as easeExpIn,\n expOut as easeExpOut,\n expInOut as easeExpInOut\n} from \"./src/exp\";\n\nexport {\n circleInOut as easeCircle,\n circleIn as easeCircleIn,\n circleOut as easeCircleOut,\n circleInOut as easeCircleInOut\n} from \"./src/circle\";\n\nexport {\n bounceOut as easeBounce,\n bounceIn as easeBounceIn,\n bounceOut as easeBounceOut,\n bounceInOut as easeBounceInOut\n} from \"./src/bounce\";\n\nexport {\n backInOut as easeBack,\n backIn as easeBackIn,\n backOut as easeBackOut,\n backInOut as easeBackInOut\n} from \"./src/back\";\n\nexport {\n elasticOut as easeElastic,\n elasticIn as easeElasticIn,\n elasticOut as easeElasticOut,\n elasticInOut as easeElasticInOut\n} from \"./src/elastic\";\n","import {Transition, newId} from \"../transition/index\";\nimport schedule from \"../transition/schedule\";\nimport {easeCubicInOut} from \"d3-ease\";\nimport {now} from \"d3-timer\";\n\nvar defaultTiming = {\n time: null, // Set on use.\n delay: 0,\n duration: 250,\n ease: easeCubicInOut\n};\n\nfunction inherit(node, id) {\n var timing;\n while (!(timing = node.__transition) || !(timing = timing[id])) {\n if (!(node = node.parentNode)) {\n return defaultTiming.time = now(), defaultTiming;\n }\n }\n return timing;\n}\n\nexport default function(name) {\n var id,\n timing;\n\n if (name instanceof Transition) {\n id = name._id, name = name._name;\n } else {\n id = newId(), (timing = defaultTiming).time = now(), name = name == null ? null : name + \"\";\n }\n\n for (var groups = this._groups, m = groups.length, j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n schedule(node, name, id, i, group, timing || inherit(node, id));\n }\n }\n }\n\n return new Transition(groups, this._parents, name, id);\n}\n","import {selection} from \"d3-selection\";\nimport selection_interrupt from \"./interrupt\";\nimport selection_transition from \"./transition\";\n\nselection.prototype.interrupt = selection_interrupt;\nselection.prototype.transition = selection_transition;\n","import {Transition} from \"./transition/index\";\nimport {SCHEDULED} from \"./transition/schedule\";\n\nvar root = [null];\n\nexport default function(node, name) {\n var schedules = node.__transition,\n schedule,\n i;\n\n if (schedules) {\n name = name == null ? null : name + \"\";\n for (i in schedules) {\n if ((schedule = schedules[i]).state > SCHEDULED && schedule.name === name) {\n return new Transition([[node]], root, name, +i);\n }\n }\n }\n\n return null;\n}\n","import \"./src/selection/index\";\nexport {default as transition} from \"./src/transition/index\";\nexport {default as active} from \"./src/active\";\nexport {default as interrupt} from \"./src/interrupt\";\n","export default function(x) {\n return function() {\n return x;\n };\n}\n","export default function(target, type, selection) {\n this.target = target;\n this.type = type;\n this.selection = selection;\n}\n","import {event} from \"d3-selection\";\n\nexport function nopropagation() {\n event.stopImmediatePropagation();\n}\n\nexport default function() {\n event.preventDefault();\n event.stopImmediatePropagation();\n}\n","import {dispatch} from \"d3-dispatch\";\nimport {dragDisable, dragEnable} from \"d3-drag\";\nimport {interpolate} from \"d3-interpolate\";\nimport {customEvent, event, mouse, select} from \"d3-selection\";\nimport {interrupt} from \"d3-transition\";\nimport constant from \"./constant\";\nimport BrushEvent from \"./event\";\nimport noevent, {nopropagation} from \"./noevent\";\n\nvar MODE_DRAG = {name: \"drag\"},\n MODE_SPACE = {name: \"space\"},\n MODE_HANDLE = {name: \"handle\"},\n MODE_CENTER = {name: \"center\"};\n\nvar X = {\n name: \"x\",\n handles: [\"e\", \"w\"].map(type),\n input: function(x, e) { return x && [[x[0], e[0][1]], [x[1], e[1][1]]]; },\n output: function(xy) { return xy && [xy[0][0], xy[1][0]]; }\n};\n\nvar Y = {\n name: \"y\",\n handles: [\"n\", \"s\"].map(type),\n input: function(y, e) { return y && [[e[0][0], y[0]], [e[1][0], y[1]]]; },\n output: function(xy) { return xy && [xy[0][1], xy[1][1]]; }\n};\n\nvar XY = {\n name: \"xy\",\n handles: [\"n\", \"e\", \"s\", \"w\", \"nw\", \"ne\", \"se\", \"sw\"].map(type),\n input: function(xy) { return xy; },\n output: function(xy) { return xy; }\n};\n\nvar cursors = {\n overlay: \"crosshair\",\n selection: \"move\",\n n: \"ns-resize\",\n e: \"ew-resize\",\n s: \"ns-resize\",\n w: \"ew-resize\",\n nw: \"nwse-resize\",\n ne: \"nesw-resize\",\n se: \"nwse-resize\",\n sw: \"nesw-resize\"\n};\n\nvar flipX = {\n e: \"w\",\n w: \"e\",\n nw: \"ne\",\n ne: \"nw\",\n se: \"sw\",\n sw: \"se\"\n};\n\nvar flipY = {\n n: \"s\",\n s: \"n\",\n nw: \"sw\",\n ne: \"se\",\n se: \"ne\",\n sw: \"nw\"\n};\n\nvar signsX = {\n overlay: +1,\n selection: +1,\n n: null,\n e: +1,\n s: null,\n w: -1,\n nw: -1,\n ne: +1,\n se: +1,\n sw: -1\n};\n\nvar signsY = {\n overlay: +1,\n selection: +1,\n n: -1,\n e: null,\n s: +1,\n w: null,\n nw: -1,\n ne: -1,\n se: +1,\n sw: +1\n};\n\nfunction type(t) {\n return {type: t};\n}\n\n// Ignore right-click, since that should open the context menu.\nfunction defaultFilter() {\n return !event.button;\n}\n\nfunction defaultExtent() {\n var svg = this.ownerSVGElement || this;\n return [[0, 0], [svg.width.baseVal.value, svg.height.baseVal.value]];\n}\n\n// Like d3.local, but with the name “__brush” rather than auto-generated.\nfunction local(node) {\n while (!node.__brush) if (!(node = node.parentNode)) return;\n return node.__brush;\n}\n\nfunction empty(extent) {\n return extent[0][0] === extent[1][0]\n || extent[0][1] === extent[1][1];\n}\n\nexport function brushSelection(node) {\n var state = node.__brush;\n return state ? state.dim.output(state.selection) : null;\n}\n\nexport function brushX() {\n return brush(X);\n}\n\nexport function brushY() {\n return brush(Y);\n}\n\nexport default function() {\n return brush(XY);\n}\n\nfunction brush(dim) {\n var extent = defaultExtent,\n filter = defaultFilter,\n listeners = dispatch(brush, \"start\", \"brush\", \"end\"),\n handleSize = 6,\n touchending;\n\n function brush(group) {\n var overlay = group\n .property(\"__brush\", initialize)\n .selectAll(\".overlay\")\n .data([type(\"overlay\")]);\n\n overlay.enter().append(\"rect\")\n .attr(\"class\", \"overlay\")\n .attr(\"pointer-events\", \"all\")\n .attr(\"cursor\", cursors.overlay)\n .merge(overlay)\n .each(function() {\n var extent = local(this).extent;\n select(this)\n .attr(\"x\", extent[0][0])\n .attr(\"y\", extent[0][1])\n .attr(\"width\", extent[1][0] - extent[0][0])\n .attr(\"height\", extent[1][1] - extent[0][1]);\n });\n\n group.selectAll(\".selection\")\n .data([type(\"selection\")])\n .enter().append(\"rect\")\n .attr(\"class\", \"selection\")\n .attr(\"cursor\", cursors.selection)\n .attr(\"fill\", \"#777\")\n .attr(\"fill-opacity\", 0.3)\n .attr(\"stroke\", \"#fff\")\n .attr(\"shape-rendering\", \"crispEdges\");\n\n var handle = group.selectAll(\".handle\")\n .data(dim.handles, function(d) { return d.type; });\n\n handle.exit().remove();\n\n handle.enter().append(\"rect\")\n .attr(\"class\", function(d) { return \"handle handle--\" + d.type; })\n .attr(\"cursor\", function(d) { return cursors[d.type]; });\n\n group\n .each(redraw)\n .attr(\"fill\", \"none\")\n .attr(\"pointer-events\", \"all\")\n .style(\"-webkit-tap-highlight-color\", \"rgba(0,0,0,0)\")\n .on(\"mousedown.brush touchstart.brush\", started);\n }\n\n brush.move = function(group, selection) {\n if (group.selection) {\n group\n .on(\"start.brush\", function() { emitter(this, arguments).beforestart().start(); })\n .on(\"interrupt.brush end.brush\", function() { emitter(this, arguments).end(); })\n .tween(\"brush\", function() {\n var that = this,\n state = that.__brush,\n emit = emitter(that, arguments),\n selection0 = state.selection,\n selection1 = dim.input(typeof selection === \"function\" ? selection.apply(this, arguments) : selection, state.extent),\n i = interpolate(selection0, selection1);\n\n function tween(t) {\n state.selection = t === 1 && empty(selection1) ? null : i(t);\n redraw.call(that);\n emit.brush();\n }\n\n return selection0 && selection1 ? tween : tween(1);\n });\n } else {\n group\n .each(function() {\n var that = this,\n args = arguments,\n state = that.__brush,\n selection1 = dim.input(typeof selection === \"function\" ? selection.apply(that, args) : selection, state.extent),\n emit = emitter(that, args).beforestart();\n\n interrupt(that);\n state.selection = selection1 == null || empty(selection1) ? null : selection1;\n redraw.call(that);\n emit.start().brush().end();\n });\n }\n };\n\n function redraw() {\n var group = select(this),\n selection = local(this).selection;\n\n if (selection) {\n group.selectAll(\".selection\")\n .style(\"display\", null)\n .attr(\"x\", selection[0][0])\n .attr(\"y\", selection[0][1])\n .attr(\"width\", selection[1][0] - selection[0][0])\n .attr(\"height\", selection[1][1] - selection[0][1]);\n\n group.selectAll(\".handle\")\n .style(\"display\", null)\n .attr(\"x\", function(d) { return d.type[d.type.length - 1] === \"e\" ? selection[1][0] - handleSize / 2 : selection[0][0] - handleSize / 2; })\n .attr(\"y\", function(d) { return d.type[0] === \"s\" ? selection[1][1] - handleSize / 2 : selection[0][1] - handleSize / 2; })\n .attr(\"width\", function(d) { return d.type === \"n\" || d.type === \"s\" ? selection[1][0] - selection[0][0] + handleSize : handleSize; })\n .attr(\"height\", function(d) { return d.type === \"e\" || d.type === \"w\" ? selection[1][1] - selection[0][1] + handleSize : handleSize; });\n }\n\n else {\n group.selectAll(\".selection,.handle\")\n .style(\"display\", \"none\")\n .attr(\"x\", null)\n .attr(\"y\", null)\n .attr(\"width\", null)\n .attr(\"height\", null);\n }\n }\n\n function emitter(that, args) {\n return that.__brush.emitter || new Emitter(that, args);\n }\n\n function Emitter(that, args) {\n this.that = that;\n this.args = args;\n this.state = that.__brush;\n this.active = 0;\n }\n\n Emitter.prototype = {\n beforestart: function() {\n if (++this.active === 1) this.state.emitter = this, this.starting = true;\n return this;\n },\n start: function() {\n if (this.starting) this.starting = false, this.emit(\"start\");\n return this;\n },\n brush: function() {\n this.emit(\"brush\");\n return this;\n },\n end: function() {\n if (--this.active === 0) delete this.state.emitter, this.emit(\"end\");\n return this;\n },\n emit: function(type) {\n customEvent(new BrushEvent(brush, type, dim.output(this.state.selection)), listeners.apply, listeners, [type, this.that, this.args]);\n }\n };\n\n function started() {\n if (event.touches) { if (event.changedTouches.length < event.touches.length) return noevent(); }\n else if (touchending) return;\n if (!filter.apply(this, arguments)) return;\n\n var that = this,\n type = event.target.__data__.type,\n mode = (event.metaKey ? type = \"overlay\" : type) === \"selection\" ? MODE_DRAG : (event.altKey ? MODE_CENTER : MODE_HANDLE),\n signX = dim === Y ? null : signsX[type],\n signY = dim === X ? null : signsY[type],\n state = local(that),\n extent = state.extent,\n selection = state.selection,\n W = extent[0][0], w0, w1,\n N = extent[0][1], n0, n1,\n E = extent[1][0], e0, e1,\n S = extent[1][1], s0, s1,\n dx,\n dy,\n moving,\n shifting = signX && signY && event.shiftKey,\n lockX,\n lockY,\n point0 = mouse(that),\n point = point0,\n emit = emitter(that, arguments).beforestart();\n\n if (type === \"overlay\") {\n state.selection = selection = [\n [w0 = dim === Y ? W : point0[0], n0 = dim === X ? N : point0[1]],\n [e0 = dim === Y ? E : w0, s0 = dim === X ? S : n0]\n ];\n } else {\n w0 = selection[0][0];\n n0 = selection[0][1];\n e0 = selection[1][0];\n s0 = selection[1][1];\n }\n\n w1 = w0;\n n1 = n0;\n e1 = e0;\n s1 = s0;\n\n var group = select(that)\n .attr(\"pointer-events\", \"none\");\n\n var overlay = group.selectAll(\".overlay\")\n .attr(\"cursor\", cursors[type]);\n\n if (event.touches) {\n group\n .on(\"touchmove.brush\", moved, true)\n .on(\"touchend.brush touchcancel.brush\", ended, true);\n } else {\n var view = select(event.view)\n .on(\"keydown.brush\", keydowned, true)\n .on(\"keyup.brush\", keyupped, true)\n .on(\"mousemove.brush\", moved, true)\n .on(\"mouseup.brush\", ended, true);\n\n dragDisable(event.view);\n }\n\n nopropagation();\n interrupt(that);\n redraw.call(that);\n emit.start();\n\n function moved() {\n var point1 = mouse(that);\n if (shifting && !lockX && !lockY) {\n if (Math.abs(point1[0] - point[0]) > Math.abs(point1[1] - point[1])) lockY = true;\n else lockX = true;\n }\n point = point1;\n moving = true;\n noevent();\n move();\n }\n\n function move() {\n var t;\n\n dx = point[0] - point0[0];\n dy = point[1] - point0[1];\n\n switch (mode) {\n case MODE_SPACE:\n case MODE_DRAG: {\n if (signX) dx = Math.max(W - w0, Math.min(E - e0, dx)), w1 = w0 + dx, e1 = e0 + dx;\n if (signY) dy = Math.max(N - n0, Math.min(S - s0, dy)), n1 = n0 + dy, s1 = s0 + dy;\n break;\n }\n case MODE_HANDLE: {\n if (signX < 0) dx = Math.max(W - w0, Math.min(E - w0, dx)), w1 = w0 + dx, e1 = e0;\n else if (signX > 0) dx = Math.max(W - e0, Math.min(E - e0, dx)), w1 = w0, e1 = e0 + dx;\n if (signY < 0) dy = Math.max(N - n0, Math.min(S - n0, dy)), n1 = n0 + dy, s1 = s0;\n else if (signY > 0) dy = Math.max(N - s0, Math.min(S - s0, dy)), n1 = n0, s1 = s0 + dy;\n break;\n }\n case MODE_CENTER: {\n if (signX) w1 = Math.max(W, Math.min(E, w0 - dx * signX)), e1 = Math.max(W, Math.min(E, e0 + dx * signX));\n if (signY) n1 = Math.max(N, Math.min(S, n0 - dy * signY)), s1 = Math.max(N, Math.min(S, s0 + dy * signY));\n break;\n }\n }\n\n if (e1 < w1) {\n signX *= -1;\n t = w0, w0 = e0, e0 = t;\n t = w1, w1 = e1, e1 = t;\n if (type in flipX) overlay.attr(\"cursor\", cursors[type = flipX[type]]);\n }\n\n if (s1 < n1) {\n signY *= -1;\n t = n0, n0 = s0, s0 = t;\n t = n1, n1 = s1, s1 = t;\n if (type in flipY) overlay.attr(\"cursor\", cursors[type = flipY[type]]);\n }\n\n if (state.selection) selection = state.selection; // May be set by brush.move!\n if (lockX) w1 = selection[0][0], e1 = selection[1][0];\n if (lockY) n1 = selection[0][1], s1 = selection[1][1];\n\n if (selection[0][0] !== w1\n || selection[0][1] !== n1\n || selection[1][0] !== e1\n || selection[1][1] !== s1) {\n state.selection = [[w1, n1], [e1, s1]];\n redraw.call(that);\n emit.brush();\n }\n }\n\n function ended() {\n nopropagation();\n if (event.touches) {\n if (event.touches.length) return;\n if (touchending) clearTimeout(touchending);\n touchending = setTimeout(function() { touchending = null; }, 500); // Ghost clicks are delayed!\n group.on(\"touchmove.brush touchend.brush touchcancel.brush\", null);\n } else {\n dragEnable(event.view, moving);\n view.on(\"keydown.brush keyup.brush mousemove.brush mouseup.brush\", null);\n }\n group.attr(\"pointer-events\", \"all\");\n overlay.attr(\"cursor\", cursors.overlay);\n if (state.selection) selection = state.selection; // May be set by brush.move (on start)!\n if (empty(selection)) state.selection = null, redraw.call(that);\n emit.end();\n }\n\n function keydowned() {\n switch (event.keyCode) {\n case 16: { // SHIFT\n shifting = signX && signY;\n break;\n }\n case 18: { // ALT\n if (mode === MODE_HANDLE) {\n if (signX) e0 = e1 - dx * signX, w0 = w1 + dx * signX;\n if (signY) s0 = s1 - dy * signY, n0 = n1 + dy * signY;\n mode = MODE_CENTER;\n move();\n }\n break;\n }\n case 32: { // SPACE; takes priority over ALT\n if (mode === MODE_HANDLE || mode === MODE_CENTER) {\n if (signX < 0) e0 = e1 - dx; else if (signX > 0) w0 = w1 - dx;\n if (signY < 0) s0 = s1 - dy; else if (signY > 0) n0 = n1 - dy;\n mode = MODE_SPACE;\n overlay.attr(\"cursor\", cursors.selection);\n move();\n }\n break;\n }\n default: return;\n }\n noevent();\n }\n\n function keyupped() {\n switch (event.keyCode) {\n case 16: { // SHIFT\n if (shifting) {\n lockX = lockY = shifting = false;\n move();\n }\n break;\n }\n case 18: { // ALT\n if (mode === MODE_CENTER) {\n if (signX < 0) e0 = e1; else if (signX > 0) w0 = w1;\n if (signY < 0) s0 = s1; else if (signY > 0) n0 = n1;\n mode = MODE_HANDLE;\n move();\n }\n break;\n }\n case 32: { // SPACE\n if (mode === MODE_SPACE) {\n if (event.altKey) {\n if (signX) e0 = e1 - dx * signX, w0 = w1 + dx * signX;\n if (signY) s0 = s1 - dy * signY, n0 = n1 + dy * signY;\n mode = MODE_CENTER;\n } else {\n if (signX < 0) e0 = e1; else if (signX > 0) w0 = w1;\n if (signY < 0) s0 = s1; else if (signY > 0) n0 = n1;\n mode = MODE_HANDLE;\n }\n overlay.attr(\"cursor\", cursors[type]);\n move();\n }\n break;\n }\n default: return;\n }\n noevent();\n }\n }\n\n function initialize() {\n var state = this.__brush || {selection: null};\n state.extent = extent.apply(this, arguments);\n state.dim = dim;\n return state;\n }\n\n brush.extent = function(_) {\n return arguments.length ? (extent = typeof _ === \"function\" ? _ : constant([[+_[0][0], +_[0][1]], [+_[1][0], +_[1][1]]]), brush) : extent;\n };\n\n brush.filter = function(_) {\n return arguments.length ? (filter = typeof _ === \"function\" ? _ : constant(!!_), brush) : filter;\n };\n\n brush.handleSize = function(_) {\n return arguments.length ? (handleSize = +_, brush) : handleSize;\n };\n\n brush.on = function() {\n var value = listeners.on.apply(listeners, arguments);\n return value === listeners ? brush : value;\n };\n\n return brush;\n}\n","export {\n default as brush,\n brushX,\n brushY,\n brushSelection\n} from \"./src/brush\";\n","export var cos = Math.cos;\nexport var sin = Math.sin;\nexport var pi = Math.PI;\nexport var halfPi = pi / 2;\nexport var tau = pi * 2;\nexport var max = Math.max;\n","import {range} from \"d3-array\";\nimport {max, tau} from \"./math\";\n\nfunction compareValue(compare) {\n return function(a, b) {\n return compare(\n a.source.value + a.target.value,\n b.source.value + b.target.value\n );\n };\n}\n\nexport default function() {\n var padAngle = 0,\n sortGroups = null,\n sortSubgroups = null,\n sortChords = null;\n\n function chord(matrix) {\n var n = matrix.length,\n groupSums = [],\n groupIndex = range(n),\n subgroupIndex = [],\n chords = [],\n groups = chords.groups = new Array(n),\n subgroups = new Array(n * n),\n k,\n x,\n x0,\n dx,\n i,\n j;\n\n // Compute the sum.\n k = 0, i = -1; while (++i < n) {\n x = 0, j = -1; while (++j < n) {\n x += matrix[i][j];\n }\n groupSums.push(x);\n subgroupIndex.push(range(n));\n k += x;\n }\n\n // Sort groups…\n if (sortGroups) groupIndex.sort(function(a, b) {\n return sortGroups(groupSums[a], groupSums[b]);\n });\n\n // Sort subgroups…\n if (sortSubgroups) subgroupIndex.forEach(function(d, i) {\n d.sort(function(a, b) {\n return sortSubgroups(matrix[i][a], matrix[i][b]);\n });\n });\n\n // Convert the sum to scaling factor for [0, 2pi].\n // TODO Allow start and end angle to be specified?\n // TODO Allow padding to be specified as percentage?\n k = max(0, tau - padAngle * n) / k;\n dx = k ? padAngle : tau / n;\n\n // Compute the start and end angle for each group and subgroup.\n // Note: Opera has a bug reordering object literal properties!\n x = 0, i = -1; while (++i < n) {\n x0 = x, j = -1; while (++j < n) {\n var di = groupIndex[i],\n dj = subgroupIndex[di][j],\n v = matrix[di][dj],\n a0 = x,\n a1 = x += v * k;\n subgroups[dj * n + di] = {\n index: di,\n subindex: dj,\n startAngle: a0,\n endAngle: a1,\n value: v\n };\n }\n groups[di] = {\n index: di,\n startAngle: x0,\n endAngle: x,\n value: groupSums[di]\n };\n x += dx;\n }\n\n // Generate chords for each (non-empty) subgroup-subgroup link.\n i = -1; while (++i < n) {\n j = i - 1; while (++j < n) {\n var source = subgroups[j * n + i],\n target = subgroups[i * n + j];\n if (source.value || target.value) {\n chords.push(source.value < target.value\n ? {source: target, target: source}\n : {source: source, target: target});\n }\n }\n }\n\n return sortChords ? chords.sort(sortChords) : chords;\n }\n\n chord.padAngle = function(_) {\n return arguments.length ? (padAngle = max(0, _), chord) : padAngle;\n };\n\n chord.sortGroups = function(_) {\n return arguments.length ? (sortGroups = _, chord) : sortGroups;\n };\n\n chord.sortSubgroups = function(_) {\n return arguments.length ? (sortSubgroups = _, chord) : sortSubgroups;\n };\n\n chord.sortChords = function(_) {\n return arguments.length ? (_ == null ? sortChords = null : (sortChords = compareValue(_))._ = _, chord) : sortChords && sortChords._;\n };\n\n return chord;\n}\n","export var slice = Array.prototype.slice;\n","export default function(x) {\n return function() {\n return x;\n };\n}\n","var pi = Math.PI,\n tau = 2 * pi,\n epsilon = 1e-6,\n tauEpsilon = tau - epsilon;\n\nfunction Path() {\n this._x0 = this._y0 = // start of current subpath\n this._x1 = this._y1 = null; // end of current subpath\n this._ = \"\";\n}\n\nfunction path() {\n return new Path;\n}\n\nPath.prototype = path.prototype = {\n constructor: Path,\n moveTo: function(x, y) {\n this._ += \"M\" + (this._x0 = this._x1 = +x) + \",\" + (this._y0 = this._y1 = +y);\n },\n closePath: function() {\n if (this._x1 !== null) {\n this._x1 = this._x0, this._y1 = this._y0;\n this._ += \"Z\";\n }\n },\n lineTo: function(x, y) {\n this._ += \"L\" + (this._x1 = +x) + \",\" + (this._y1 = +y);\n },\n quadraticCurveTo: function(x1, y1, x, y) {\n this._ += \"Q\" + (+x1) + \",\" + (+y1) + \",\" + (this._x1 = +x) + \",\" + (this._y1 = +y);\n },\n bezierCurveTo: function(x1, y1, x2, y2, x, y) {\n this._ += \"C\" + (+x1) + \",\" + (+y1) + \",\" + (+x2) + \",\" + (+y2) + \",\" + (this._x1 = +x) + \",\" + (this._y1 = +y);\n },\n arcTo: function(x1, y1, x2, y2, r) {\n x1 = +x1, y1 = +y1, x2 = +x2, y2 = +y2, r = +r;\n var x0 = this._x1,\n y0 = this._y1,\n x21 = x2 - x1,\n y21 = y2 - y1,\n x01 = x0 - x1,\n y01 = y0 - y1,\n l01_2 = x01 * x01 + y01 * y01;\n\n // Is the radius negative? Error.\n if (r < 0) throw new Error(\"negative radius: \" + r);\n\n // Is this path empty? Move to (x1,y1).\n if (this._x1 === null) {\n this._ += \"M\" + (this._x1 = x1) + \",\" + (this._y1 = y1);\n }\n\n // Or, is (x1,y1) coincident with (x0,y0)? Do nothing.\n else if (!(l01_2 > epsilon)) {}\n\n // Or, are (x0,y0), (x1,y1) and (x2,y2) collinear?\n // Equivalently, is (x1,y1) coincident with (x2,y2)?\n // Or, is the radius zero? Line to (x1,y1).\n else if (!(Math.abs(y01 * x21 - y21 * x01) > epsilon) || !r) {\n this._ += \"L\" + (this._x1 = x1) + \",\" + (this._y1 = y1);\n }\n\n // Otherwise, draw an arc!\n else {\n var x20 = x2 - x0,\n y20 = y2 - y0,\n l21_2 = x21 * x21 + y21 * y21,\n l20_2 = x20 * x20 + y20 * y20,\n l21 = Math.sqrt(l21_2),\n l01 = Math.sqrt(l01_2),\n l = r * Math.tan((pi - Math.acos((l21_2 + l01_2 - l20_2) / (2 * l21 * l01))) / 2),\n t01 = l / l01,\n t21 = l / l21;\n\n // If the start tangent is not coincident with (x0,y0), line to.\n if (Math.abs(t01 - 1) > epsilon) {\n this._ += \"L\" + (x1 + t01 * x01) + \",\" + (y1 + t01 * y01);\n }\n\n this._ += \"A\" + r + \",\" + r + \",0,0,\" + (+(y01 * x20 > x01 * y20)) + \",\" + (this._x1 = x1 + t21 * x21) + \",\" + (this._y1 = y1 + t21 * y21);\n }\n },\n arc: function(x, y, r, a0, a1, ccw) {\n x = +x, y = +y, r = +r;\n var dx = r * Math.cos(a0),\n dy = r * Math.sin(a0),\n x0 = x + dx,\n y0 = y + dy,\n cw = 1 ^ ccw,\n da = ccw ? a0 - a1 : a1 - a0;\n\n // Is the radius negative? Error.\n if (r < 0) throw new Error(\"negative radius: \" + r);\n\n // Is this path empty? Move to (x0,y0).\n if (this._x1 === null) {\n this._ += \"M\" + x0 + \",\" + y0;\n }\n\n // Or, is (x0,y0) not coincident with the previous point? Line to (x0,y0).\n else if (Math.abs(this._x1 - x0) > epsilon || Math.abs(this._y1 - y0) > epsilon) {\n this._ += \"L\" + x0 + \",\" + y0;\n }\n\n // Is this arc empty? We’re done.\n if (!r) return;\n\n // Does the angle go the wrong way? Flip the direction.\n if (da < 0) da = da % tau + tau;\n\n // Is this a complete circle? Draw two arcs to complete the circle.\n if (da > tauEpsilon) {\n this._ += \"A\" + r + \",\" + r + \",0,1,\" + cw + \",\" + (x - dx) + \",\" + (y - dy) + \"A\" + r + \",\" + r + \",0,1,\" + cw + \",\" + (this._x1 = x0) + \",\" + (this._y1 = y0);\n }\n\n // Is this arc non-empty? Draw an arc!\n else if (da > epsilon) {\n this._ += \"A\" + r + \",\" + r + \",0,\" + (+(da >= pi)) + \",\" + cw + \",\" + (this._x1 = x + r * Math.cos(a1)) + \",\" + (this._y1 = y + r * Math.sin(a1));\n }\n },\n rect: function(x, y, w, h) {\n this._ += \"M\" + (this._x0 = this._x1 = +x) + \",\" + (this._y0 = this._y1 = +y) + \"h\" + (+w) + \"v\" + (+h) + \"h\" + (-w) + \"Z\";\n },\n toString: function() {\n return this._;\n }\n};\n\nexport default path;\n","export {default as path} from \"./src/path\";\n","import {slice} from \"./array\";\nimport constant from \"./constant\";\nimport {cos, halfPi, sin} from \"./math\";\nimport {path} from \"d3-path\";\n\nfunction defaultSource(d) {\n return d.source;\n}\n\nfunction defaultTarget(d) {\n return d.target;\n}\n\nfunction defaultRadius(d) {\n return d.radius;\n}\n\nfunction defaultStartAngle(d) {\n return d.startAngle;\n}\n\nfunction defaultEndAngle(d) {\n return d.endAngle;\n}\n\nexport default function() {\n var source = defaultSource,\n target = defaultTarget,\n radius = defaultRadius,\n startAngle = defaultStartAngle,\n endAngle = defaultEndAngle,\n context = null;\n\n function ribbon() {\n var buffer,\n argv = slice.call(arguments),\n s = source.apply(this, argv),\n t = target.apply(this, argv),\n sr = +radius.apply(this, (argv[0] = s, argv)),\n sa0 = startAngle.apply(this, argv) - halfPi,\n sa1 = endAngle.apply(this, argv) - halfPi,\n sx0 = sr * cos(sa0),\n sy0 = sr * sin(sa0),\n tr = +radius.apply(this, (argv[0] = t, argv)),\n ta0 = startAngle.apply(this, argv) - halfPi,\n ta1 = endAngle.apply(this, argv) - halfPi;\n\n if (!context) context = buffer = path();\n\n context.moveTo(sx0, sy0);\n context.arc(0, 0, sr, sa0, sa1);\n if (sa0 !== ta0 || sa1 !== ta1) { // TODO sr !== tr?\n context.quadraticCurveTo(0, 0, tr * cos(ta0), tr * sin(ta0));\n context.arc(0, 0, tr, ta0, ta1);\n }\n context.quadraticCurveTo(0, 0, sx0, sy0);\n context.closePath();\n\n if (buffer) return context = null, buffer + \"\" || null;\n }\n\n ribbon.radius = function(_) {\n return arguments.length ? (radius = typeof _ === \"function\" ? _ : constant(+_), ribbon) : radius;\n };\n\n ribbon.startAngle = function(_) {\n return arguments.length ? (startAngle = typeof _ === \"function\" ? _ : constant(+_), ribbon) : startAngle;\n };\n\n ribbon.endAngle = function(_) {\n return arguments.length ? (endAngle = typeof _ === \"function\" ? _ : constant(+_), ribbon) : endAngle;\n };\n\n ribbon.source = function(_) {\n return arguments.length ? (source = _, ribbon) : source;\n };\n\n ribbon.target = function(_) {\n return arguments.length ? (target = _, ribbon) : target;\n };\n\n ribbon.context = function(_) {\n return arguments.length ? ((context = _ == null ? null : _), ribbon) : context;\n };\n\n return ribbon;\n}\n","export {default as chord} from \"./src/chord\";\nexport {default as ribbon} from \"./src/ribbon\";\n","export var prefix = \"$\";\n\nfunction Map() {}\n\nMap.prototype = map.prototype = {\n constructor: Map,\n has: function(key) {\n return (prefix + key) in this;\n },\n get: function(key) {\n return this[prefix + key];\n },\n set: function(key, value) {\n this[prefix + key] = value;\n return this;\n },\n remove: function(key) {\n var property = prefix + key;\n return property in this && delete this[property];\n },\n clear: function() {\n for (var property in this) if (property[0] === prefix) delete this[property];\n },\n keys: function() {\n var keys = [];\n for (var property in this) if (property[0] === prefix) keys.push(property.slice(1));\n return keys;\n },\n values: function() {\n var values = [];\n for (var property in this) if (property[0] === prefix) values.push(this[property]);\n return values;\n },\n entries: function() {\n var entries = [];\n for (var property in this) if (property[0] === prefix) entries.push({key: property.slice(1), value: this[property]});\n return entries;\n },\n size: function() {\n var size = 0;\n for (var property in this) if (property[0] === prefix) ++size;\n return size;\n },\n empty: function() {\n for (var property in this) if (property[0] === prefix) return false;\n return true;\n },\n each: function(f) {\n for (var property in this) if (property[0] === prefix) f(this[property], property.slice(1), this);\n }\n};\n\nfunction map(object, f) {\n var map = new Map;\n\n // Copy constructor.\n if (object instanceof Map) object.each(function(value, key) { map.set(key, value); });\n\n // Index array by numeric index or specified key function.\n else if (Array.isArray(object)) {\n var i = -1,\n n = object.length,\n o;\n\n if (f == null) while (++i < n) map.set(i, object[i]);\n else while (++i < n) map.set(f(o = object[i], i, object), o);\n }\n\n // Convert object to map.\n else if (object) for (var key in object) map.set(key, object[key]);\n\n return map;\n}\n\nexport default map;\n","import map from \"./map\";\n\nexport default function() {\n var keys = [],\n sortKeys = [],\n sortValues,\n rollup,\n nest;\n\n function apply(array, depth, createResult, setResult) {\n if (depth >= keys.length) {\n if (sortValues != null) array.sort(sortValues);\n return rollup != null ? rollup(array) : array;\n }\n\n var i = -1,\n n = array.length,\n key = keys[depth++],\n keyValue,\n value,\n valuesByKey = map(),\n values,\n result = createResult();\n\n while (++i < n) {\n if (values = valuesByKey.get(keyValue = key(value = array[i]) + \"\")) {\n values.push(value);\n } else {\n valuesByKey.set(keyValue, [value]);\n }\n }\n\n valuesByKey.each(function(values, key) {\n setResult(result, key, apply(values, depth, createResult, setResult));\n });\n\n return result;\n }\n\n function entries(map, depth) {\n if (++depth > keys.length) return map;\n var array, sortKey = sortKeys[depth - 1];\n if (rollup != null && depth >= keys.length) array = map.entries();\n else array = [], map.each(function(v, k) { array.push({key: k, values: entries(v, depth)}); });\n return sortKey != null ? array.sort(function(a, b) { return sortKey(a.key, b.key); }) : array;\n }\n\n return nest = {\n object: function(array) { return apply(array, 0, createObject, setObject); },\n map: function(array) { return apply(array, 0, createMap, setMap); },\n entries: function(array) { return entries(apply(array, 0, createMap, setMap), 0); },\n key: function(d) { keys.push(d); return nest; },\n sortKeys: function(order) { sortKeys[keys.length - 1] = order; return nest; },\n sortValues: function(order) { sortValues = order; return nest; },\n rollup: function(f) { rollup = f; return nest; }\n };\n}\n\nfunction createObject() {\n return {};\n}\n\nfunction setObject(object, key, value) {\n object[key] = value;\n}\n\nfunction createMap() {\n return map();\n}\n\nfunction setMap(map, key, value) {\n map.set(key, value);\n}\n","import {default as map, prefix} from \"./map\";\n\nfunction Set() {}\n\nvar proto = map.prototype;\n\nSet.prototype = set.prototype = {\n constructor: Set,\n has: proto.has,\n add: function(value) {\n value += \"\";\n this[prefix + value] = value;\n return this;\n },\n remove: proto.remove,\n clear: proto.clear,\n values: proto.keys,\n size: proto.size,\n empty: proto.empty,\n each: proto.each\n};\n\nfunction set(object, f) {\n var set = new Set;\n\n // Copy constructor.\n if (object instanceof Set) object.each(function(value) { set.add(value); });\n\n // Otherwise, assume it’s an array.\n else if (object) {\n var i = -1, n = object.length;\n if (f == null) while (++i < n) set.add(object[i]);\n else while (++i < n) set.add(f(object[i], i, object));\n }\n\n return set;\n}\n\nexport default set;\n","export default function(map) {\n var keys = [];\n for (var key in map) keys.push(key);\n return keys;\n}\n","export default function(map) {\n var values = [];\n for (var key in map) values.push(map[key]);\n return values;\n}\n","export default function(map) {\n var entries = [];\n for (var key in map) entries.push({key: key, value: map[key]});\n return entries;\n}\n","export {default as nest} from \"./src/nest\";\nexport {default as set} from \"./src/set\";\nexport {default as map} from \"./src/map\";\nexport {default as keys} from \"./src/keys\";\nexport {default as values} from \"./src/values\";\nexport {default as entries} from \"./src/entries\";\n","var array = Array.prototype;\n\nexport var slice = array.slice;\n","export default function(a, b) {\n return a - b;\n}\n","export default function(ring) {\n var i = 0, n = ring.length, area = ring[n - 1][1] * ring[0][0] - ring[n - 1][0] * ring[0][1];\n while (++i < n) area += ring[i - 1][1] * ring[i][0] - ring[i - 1][0] * ring[i][1];\n return area;\n}\n","export default function(x) {\n return function() {\n return x;\n };\n}\n","export default function(ring, hole) {\n var i = -1, n = hole.length, c;\n while (++i < n) if (c = ringContains(ring, hole[i])) return c;\n return 0;\n}\n\nfunction ringContains(ring, point) {\n var x = point[0], y = point[1], contains = -1;\n for (var i = 0, n = ring.length, j = n - 1; i < n; j = i++) {\n var pi = ring[i], xi = pi[0], yi = pi[1], pj = ring[j], xj = pj[0], yj = pj[1];\n if (segmentContains(pi, pj, point)) return 0;\n if (((yi > y) !== (yj > y)) && ((x < (xj - xi) * (y - yi) / (yj - yi) + xi))) contains = -contains;\n }\n return contains;\n}\n\nfunction segmentContains(a, b, c) {\n var i; return collinear(a, b, c) && within(a[i = +(a[0] === b[0])], c[i], b[i]);\n}\n\nfunction collinear(a, b, c) {\n return (b[0] - a[0]) * (c[1] - a[1]) === (c[0] - a[0]) * (b[1] - a[1]);\n}\n\nfunction within(p, q, r) {\n return p <= q && q <= r || r <= q && q <= p;\n}\n","export default function() {}\n","import {extent, thresholdSturges, tickStep, range} from \"d3-array\";\nimport {slice} from \"./array\";\nimport ascending from \"./ascending\";\nimport area from \"./area\";\nimport constant from \"./constant\";\nimport contains from \"./contains\";\nimport noop from \"./noop\";\n\nvar cases = [\n [],\n [[[1.0, 1.5], [0.5, 1.0]]],\n [[[1.5, 1.0], [1.0, 1.5]]],\n [[[1.5, 1.0], [0.5, 1.0]]],\n [[[1.0, 0.5], [1.5, 1.0]]],\n [[[1.0, 1.5], [0.5, 1.0]], [[1.0, 0.5], [1.5, 1.0]]],\n [[[1.0, 0.5], [1.0, 1.5]]],\n [[[1.0, 0.5], [0.5, 1.0]]],\n [[[0.5, 1.0], [1.0, 0.5]]],\n [[[1.0, 1.5], [1.0, 0.5]]],\n [[[0.5, 1.0], [1.0, 0.5]], [[1.5, 1.0], [1.0, 1.5]]],\n [[[1.5, 1.0], [1.0, 0.5]]],\n [[[0.5, 1.0], [1.5, 1.0]]],\n [[[1.0, 1.5], [1.5, 1.0]]],\n [[[0.5, 1.0], [1.0, 1.5]]],\n []\n];\n\nexport default function() {\n var dx = 1,\n dy = 1,\n threshold = thresholdSturges,\n smooth = smoothLinear;\n\n function contours(values) {\n var tz = threshold(values);\n\n // Convert number of thresholds into uniform thresholds.\n if (!Array.isArray(tz)) {\n var domain = extent(values), start = domain[0], stop = domain[1];\n tz = tickStep(start, stop, tz);\n tz = range(Math.floor(start / tz) * tz, Math.floor(stop / tz) * tz, tz);\n } else {\n tz = tz.slice().sort(ascending);\n }\n\n return tz.map(function(value) {\n return contour(values, value);\n });\n }\n\n // Accumulate, smooth contour rings, assign holes to exterior rings.\n // Based on https://github.com/mbostock/shapefile/blob/v0.6.2/shp/polygon.js\n function contour(values, value) {\n var polygons = [],\n holes = [];\n\n isorings(values, value, function(ring) {\n smooth(ring, values, value);\n if (area(ring) > 0) polygons.push([ring]);\n else holes.push(ring);\n });\n\n holes.forEach(function(hole) {\n for (var i = 0, n = polygons.length, polygon; i < n; ++i) {\n if (contains((polygon = polygons[i])[0], hole) !== -1) {\n polygon.push(hole);\n return;\n }\n }\n });\n\n return {\n type: \"MultiPolygon\",\n value: value,\n coordinates: polygons\n };\n }\n\n // Marching squares with isolines stitched into rings.\n // Based on https://github.com/topojson/topojson-client/blob/v3.0.0/src/stitch.js\n function isorings(values, value, callback) {\n var fragmentByStart = new Array,\n fragmentByEnd = new Array,\n x, y, t0, t1, t2, t3;\n\n // Special case for the first row (y = -1, t2 = t3 = 0).\n x = y = -1;\n t1 = values[0] >= value;\n cases[t1 << 1].forEach(stitch);\n while (++x < dx - 1) {\n t0 = t1, t1 = values[x + 1] >= value;\n cases[t0 | t1 << 1].forEach(stitch);\n }\n cases[t1 << 0].forEach(stitch);\n\n // General case for the intermediate rows.\n while (++y < dy - 1) {\n x = -1;\n t1 = values[y * dx + dx] >= value;\n t2 = values[y * dx] >= value;\n cases[t1 << 1 | t2 << 2].forEach(stitch);\n while (++x < dx - 1) {\n t0 = t1, t1 = values[y * dx + dx + x + 1] >= value;\n t3 = t2, t2 = values[y * dx + x + 1] >= value;\n cases[t0 | t1 << 1 | t2 << 2 | t3 << 3].forEach(stitch);\n }\n cases[t1 | t2 << 3].forEach(stitch);\n }\n\n // Special case for the last row (y = dy - 1, t0 = t1 = 0).\n x = -1;\n t2 = values[y * dx] >= value;\n cases[t2 << 2].forEach(stitch);\n while (++x < dx - 1) {\n t3 = t2, t2 = values[y * dx + x + 1] >= value;\n cases[t2 << 2 | t3 << 3].forEach(stitch);\n }\n cases[t2 << 3].forEach(stitch);\n\n function stitch(line) {\n var start = [line[0][0] + x, line[0][1] + y],\n end = [line[1][0] + x, line[1][1] + y],\n startIndex = index(start),\n endIndex = index(end),\n f, g;\n if (f = fragmentByEnd[startIndex]) {\n if (g = fragmentByStart[endIndex]) {\n delete fragmentByEnd[f.end];\n delete fragmentByStart[g.start];\n if (f === g) {\n f.ring.push(end);\n callback(f.ring);\n } else {\n fragmentByStart[f.start] = fragmentByEnd[g.end] = {start: f.start, end: g.end, ring: f.ring.concat(g.ring)};\n }\n } else {\n delete fragmentByEnd[f.end];\n f.ring.push(end);\n fragmentByEnd[f.end = endIndex] = f;\n }\n } else if (f = fragmentByStart[endIndex]) {\n if (g = fragmentByEnd[startIndex]) {\n delete fragmentByStart[f.start];\n delete fragmentByEnd[g.end];\n if (f === g) {\n f.ring.push(end);\n callback(f.ring);\n } else {\n fragmentByStart[g.start] = fragmentByEnd[f.end] = {start: g.start, end: f.end, ring: g.ring.concat(f.ring)};\n }\n } else {\n delete fragmentByStart[f.start];\n f.ring.unshift(start);\n fragmentByStart[f.start = startIndex] = f;\n }\n } else {\n fragmentByStart[startIndex] = fragmentByEnd[endIndex] = {start: startIndex, end: endIndex, ring: [start, end]};\n }\n }\n }\n\n function index(point) {\n return point[0] * 2 + point[1] * (dx + 1) * 4;\n }\n\n function smoothLinear(ring, values, value) {\n ring.forEach(function(point) {\n var x = point[0],\n y = point[1],\n xt = x | 0,\n yt = y | 0,\n v0,\n v1 = values[yt * dx + xt];\n if (x > 0 && x < dx && xt === x) {\n v0 = values[yt * dx + xt - 1];\n point[0] = x + (value - v0) / (v1 - v0) - 0.5;\n }\n if (y > 0 && y < dy && yt === y) {\n v0 = values[(yt - 1) * dx + xt];\n point[1] = y + (value - v0) / (v1 - v0) - 0.5;\n }\n });\n }\n\n contours.contour = contour;\n\n contours.size = function(_) {\n if (!arguments.length) return [dx, dy];\n var _0 = Math.ceil(_[0]), _1 = Math.ceil(_[1]);\n if (!(_0 > 0) || !(_1 > 0)) throw new Error(\"invalid size\");\n return dx = _0, dy = _1, contours;\n };\n\n contours.thresholds = function(_) {\n return arguments.length ? (threshold = typeof _ === \"function\" ? _ : Array.isArray(_) ? constant(slice.call(_)) : constant(_), contours) : threshold;\n };\n\n contours.smooth = function(_) {\n return arguments.length ? (smooth = _ ? smoothLinear : noop, contours) : smooth === smoothLinear;\n };\n\n return contours;\n}\n","// TODO Optimize edge cases.\n// TODO Optimize index calculation.\n// TODO Optimize arguments.\nexport function blurX(source, target, r) {\n var n = source.width,\n m = source.height,\n w = (r << 1) + 1;\n for (var j = 0; j < m; ++j) {\n for (var i = 0, sr = 0; i < n + r; ++i) {\n if (i < n) {\n sr += source.data[i + j * n];\n }\n if (i >= r) {\n if (i >= w) {\n sr -= source.data[i - w + j * n];\n }\n target.data[i - r + j * n] = sr / Math.min(i + 1, n - 1 + w - i, w);\n }\n }\n }\n}\n\n// TODO Optimize edge cases.\n// TODO Optimize index calculation.\n// TODO Optimize arguments.\nexport function blurY(source, target, r) {\n var n = source.width,\n m = source.height,\n w = (r << 1) + 1;\n for (var i = 0; i < n; ++i) {\n for (var j = 0, sr = 0; j < m + r; ++j) {\n if (j < m) {\n sr += source.data[i + j * n];\n }\n if (j >= r) {\n if (j >= w) {\n sr -= source.data[i + (j - w) * n];\n }\n target.data[i + (j - r) * n] = sr / Math.min(j + 1, m - 1 + w - j, w);\n }\n }\n }\n}\n","import {max, range, tickStep} from \"d3-array\";\nimport {slice} from \"./array\";\nimport {blurX, blurY} from \"./blur\";\nimport constant from \"./constant\";\nimport contours from \"./contours\";\n\nfunction defaultX(d) {\n return d[0];\n}\n\nfunction defaultY(d) {\n return d[1];\n}\n\nexport default function() {\n var x = defaultX,\n y = defaultY,\n dx = 960,\n dy = 500,\n r = 20, // blur radius\n k = 2, // log2(grid cell size)\n o = r * 3, // grid offset, to pad for blur\n n = (dx + o * 2) >> k, // grid width\n m = (dy + o * 2) >> k, // grid height\n threshold = constant(20);\n\n function density(data) {\n var values0 = new Float32Array(n * m),\n values1 = new Float32Array(n * m);\n\n data.forEach(function(d, i, data) {\n var xi = (x(d, i, data) + o) >> k,\n yi = (y(d, i, data) + o) >> k;\n if (xi >= 0 && xi < n && yi >= 0 && yi < m) {\n ++values0[xi + yi * n];\n }\n });\n\n // TODO Optimize.\n blurX({width: n, height: m, data: values0}, {width: n, height: m, data: values1}, r >> k);\n blurY({width: n, height: m, data: values1}, {width: n, height: m, data: values0}, r >> k);\n blurX({width: n, height: m, data: values0}, {width: n, height: m, data: values1}, r >> k);\n blurY({width: n, height: m, data: values1}, {width: n, height: m, data: values0}, r >> k);\n blurX({width: n, height: m, data: values0}, {width: n, height: m, data: values1}, r >> k);\n blurY({width: n, height: m, data: values1}, {width: n, height: m, data: values0}, r >> k);\n\n var tz = threshold(values0);\n\n // Convert number of thresholds into uniform thresholds.\n if (!Array.isArray(tz)) {\n var stop = max(values0);\n tz = tickStep(0, stop, tz);\n tz = range(0, Math.floor(stop / tz) * tz, tz);\n tz.shift();\n }\n\n return contours()\n .thresholds(tz)\n .size([n, m])\n (values0)\n .map(transform);\n }\n\n function transform(geometry) {\n geometry.value *= Math.pow(2, -2 * k); // Density in points per square pixel.\n geometry.coordinates.forEach(transformPolygon);\n return geometry;\n }\n\n function transformPolygon(coordinates) {\n coordinates.forEach(transformRing);\n }\n\n function transformRing(coordinates) {\n coordinates.forEach(transformPoint);\n }\n\n // TODO Optimize.\n function transformPoint(coordinates) {\n coordinates[0] = coordinates[0] * Math.pow(2, k) - o;\n coordinates[1] = coordinates[1] * Math.pow(2, k) - o;\n }\n\n function resize() {\n o = r * 3;\n n = (dx + o * 2) >> k;\n m = (dy + o * 2) >> k;\n return density;\n }\n\n density.x = function(_) {\n return arguments.length ? (x = typeof _ === \"function\" ? _ : constant(+_), density) : x;\n };\n\n density.y = function(_) {\n return arguments.length ? (y = typeof _ === \"function\" ? _ : constant(+_), density) : y;\n };\n\n density.size = function(_) {\n if (!arguments.length) return [dx, dy];\n var _0 = Math.ceil(_[0]), _1 = Math.ceil(_[1]);\n if (!(_0 >= 0) && !(_0 >= 0)) throw new Error(\"invalid size\");\n return dx = _0, dy = _1, resize();\n };\n\n density.cellSize = function(_) {\n if (!arguments.length) return 1 << k;\n if (!((_ = +_) >= 1)) throw new Error(\"invalid cell size\");\n return k = Math.floor(Math.log(_) / Math.LN2), resize();\n };\n\n density.thresholds = function(_) {\n return arguments.length ? (threshold = typeof _ === \"function\" ? _ : Array.isArray(_) ? constant(slice.call(_)) : constant(_), density) : threshold;\n };\n\n density.bandwidth = function(_) {\n if (!arguments.length) return Math.sqrt(r * (r + 1));\n if (!((_ = +_) >= 0)) throw new Error(\"invalid bandwidth\");\n return r = Math.round((Math.sqrt(4 * _ * _ + 1) - 1) / 2), resize();\n };\n\n return density;\n}\n","export {default as contours} from \"./src/contours\";\nexport {default as contourDensity} from \"./src/density\";\n","var EOL = {},\n EOF = {},\n QUOTE = 34,\n NEWLINE = 10,\n RETURN = 13;\n\nfunction objectConverter(columns) {\n return new Function(\"d\", \"return {\" + columns.map(function(name, i) {\n return JSON.stringify(name) + \": d[\" + i + \"]\";\n }).join(\",\") + \"}\");\n}\n\nfunction customConverter(columns, f) {\n var object = objectConverter(columns);\n return function(row, i) {\n return f(object(row), i, columns);\n };\n}\n\n// Compute unique columns in order of discovery.\nfunction inferColumns(rows) {\n var columnSet = Object.create(null),\n columns = [];\n\n rows.forEach(function(row) {\n for (var column in row) {\n if (!(column in columnSet)) {\n columns.push(columnSet[column] = column);\n }\n }\n });\n\n return columns;\n}\n\nexport default function(delimiter) {\n var reFormat = new RegExp(\"[\\\"\" + delimiter + \"\\n\\r]\"),\n DELIMITER = delimiter.charCodeAt(0);\n\n function parse(text, f) {\n var convert, columns, rows = parseRows(text, function(row, i) {\n if (convert) return convert(row, i - 1);\n columns = row, convert = f ? customConverter(row, f) : objectConverter(row);\n });\n rows.columns = columns || [];\n return rows;\n }\n\n function parseRows(text, f) {\n var rows = [], // output rows\n N = text.length,\n I = 0, // current character index\n n = 0, // current line number\n t, // current token\n eof = N <= 0, // current token followed by EOF?\n eol = false; // current token followed by EOL?\n\n // Strip the trailing newline.\n if (text.charCodeAt(N - 1) === NEWLINE) --N;\n if (text.charCodeAt(N - 1) === RETURN) --N;\n\n function token() {\n if (eof) return EOF;\n if (eol) return eol = false, EOL;\n\n // Unescape quotes.\n var i, j = I, c;\n if (text.charCodeAt(j) === QUOTE) {\n while (I++ < N && text.charCodeAt(I) !== QUOTE || text.charCodeAt(++I) === QUOTE);\n if ((i = I) >= N) eof = true;\n else if ((c = text.charCodeAt(I++)) === NEWLINE) eol = true;\n else if (c === RETURN) { eol = true; if (text.charCodeAt(I) === NEWLINE) ++I; }\n return text.slice(j + 1, i - 1).replace(/\"\"/g, \"\\\"\");\n }\n\n // Find next delimiter or newline.\n while (I < N) {\n if ((c = text.charCodeAt(i = I++)) === NEWLINE) eol = true;\n else if (c === RETURN) { eol = true; if (text.charCodeAt(I) === NEWLINE) ++I; }\n else if (c !== DELIMITER) continue;\n return text.slice(j, i);\n }\n\n // Return last token before EOF.\n return eof = true, text.slice(j, N);\n }\n\n while ((t = token()) !== EOF) {\n var row = [];\n while (t !== EOL && t !== EOF) row.push(t), t = token();\n if (f && (row = f(row, n++)) == null) continue;\n rows.push(row);\n }\n\n return rows;\n }\n\n function format(rows, columns) {\n if (columns == null) columns = inferColumns(rows);\n return [columns.map(formatValue).join(delimiter)].concat(rows.map(function(row) {\n return columns.map(function(column) {\n return formatValue(row[column]);\n }).join(delimiter);\n })).join(\"\\n\");\n }\n\n function formatRows(rows) {\n return rows.map(formatRow).join(\"\\n\");\n }\n\n function formatRow(row) {\n return row.map(formatValue).join(delimiter);\n }\n\n function formatValue(text) {\n return text == null ? \"\"\n : reFormat.test(text += \"\") ? \"\\\"\" + text.replace(/\"/g, \"\\\"\\\"\") + \"\\\"\"\n : text;\n }\n\n return {\n parse: parse,\n parseRows: parseRows,\n format: format,\n formatRows: formatRows\n };\n}\n","import dsv from \"./dsv\";\n\nvar csv = dsv(\",\");\n\nexport var csvParse = csv.parse;\nexport var csvParseRows = csv.parseRows;\nexport var csvFormat = csv.format;\nexport var csvFormatRows = csv.formatRows;\n","import dsv from \"./dsv\";\n\nvar tsv = dsv(\"\\t\");\n\nexport var tsvParse = tsv.parse;\nexport var tsvParseRows = tsv.parseRows;\nexport var tsvFormat = tsv.format;\nexport var tsvFormatRows = tsv.formatRows;\n","export {default as dsvFormat} from \"./src/dsv\";\nexport {csvParse, csvParseRows, csvFormat, csvFormatRows} from \"./src/csv\";\nexport {tsvParse, tsvParseRows, tsvFormat, tsvFormatRows} from \"./src/tsv\";\n","function responseBlob(response) {\n if (!response.ok) throw new Error(response.status + \" \" + response.statusText);\n return response.blob();\n}\n\nexport default function(input, init) {\n return fetch(input, init).then(responseBlob);\n}\n","function responseArrayBuffer(response) {\n if (!response.ok) throw new Error(response.status + \" \" + response.statusText);\n return response.arrayBuffer();\n}\n\nexport default function(input, init) {\n return fetch(input, init).then(responseArrayBuffer);\n}\n","function responseText(response) {\n if (!response.ok) throw new Error(response.status + \" \" + response.statusText);\n return response.text();\n}\n\nexport default function(input, init) {\n return fetch(input, init).then(responseText);\n}\n","import {csvParse, dsvFormat, tsvParse} from \"d3-dsv\";\nimport text from \"./text\";\n\nfunction dsvParse(parse) {\n return function(input, init, row) {\n if (arguments.length === 2 && typeof init === \"function\") row = init, init = undefined;\n return text(input, init).then(function(response) {\n return parse(response, row);\n });\n };\n}\n\nexport default function dsv(delimiter, input, init, row) {\n if (arguments.length === 3 && typeof init === \"function\") row = init, init = undefined;\n var format = dsvFormat(delimiter);\n return text(input, init).then(function(response) {\n return format.parse(response, row);\n });\n}\n\nexport var csv = dsvParse(csvParse);\nexport var tsv = dsvParse(tsvParse);\n","export default function(input, init) {\n return new Promise(function(resolve, reject) {\n var image = new Image;\n for (var key in init) image[key] = init[key];\n image.onerror = reject;\n image.onload = function() { resolve(image); };\n image.src = input;\n });\n}\n","function responseJson(response) {\n if (!response.ok) throw new Error(response.status + \" \" + response.statusText);\n return response.json();\n}\n\nexport default function(input, init) {\n return fetch(input, init).then(responseJson);\n}\n","import text from \"./text\";\n\nfunction parser(type) {\n return function(input, init) {\n return text(input, init).then(function(text) {\n return (new DOMParser).parseFromString(text, type);\n });\n };\n}\n\nexport default parser(\"application/xml\");\n\nexport var html = parser(\"text/html\");\n\nexport var svg = parser(\"image/svg+xml\");\n","export {default as blob} from \"./src/blob\";\nexport {default as buffer} from \"./src/buffer\";\nexport {default as dsv, csv, tsv} from \"./src/dsv\";\nexport {default as image} from \"./src/image\";\nexport {default as json} from \"./src/json\";\nexport {default as text} from \"./src/text\";\nexport {default as xml, html, svg} from \"./src/xml\";\n","export default function(x, y) {\n var nodes;\n\n if (x == null) x = 0;\n if (y == null) y = 0;\n\n function force() {\n var i,\n n = nodes.length,\n node,\n sx = 0,\n sy = 0;\n\n for (i = 0; i < n; ++i) {\n node = nodes[i], sx += node.x, sy += node.y;\n }\n\n for (sx = sx / n - x, sy = sy / n - y, i = 0; i < n; ++i) {\n node = nodes[i], node.x -= sx, node.y -= sy;\n }\n }\n\n force.initialize = function(_) {\n nodes = _;\n };\n\n force.x = function(_) {\n return arguments.length ? (x = +_, force) : x;\n };\n\n force.y = function(_) {\n return arguments.length ? (y = +_, force) : y;\n };\n\n return force;\n}\n","export default function(x) {\n return function() {\n return x;\n };\n}\n","export default function() {\n return (Math.random() - 0.5) * 1e-6;\n}\n","export default function(d) {\n var x = +this._x.call(null, d),\n y = +this._y.call(null, d);\n return add(this.cover(x, y), x, y, d);\n}\n\nfunction add(tree, x, y, d) {\n if (isNaN(x) || isNaN(y)) return tree; // ignore invalid points\n\n var parent,\n node = tree._root,\n leaf = {data: d},\n x0 = tree._x0,\n y0 = tree._y0,\n x1 = tree._x1,\n y1 = tree._y1,\n xm,\n ym,\n xp,\n yp,\n right,\n bottom,\n i,\n j;\n\n // If the tree is empty, initialize the root as a leaf.\n if (!node) return tree._root = leaf, tree;\n\n // Find the existing leaf for the new point, or add it.\n while (node.length) {\n if (right = x >= (xm = (x0 + x1) / 2)) x0 = xm; else x1 = xm;\n if (bottom = y >= (ym = (y0 + y1) / 2)) y0 = ym; else y1 = ym;\n if (parent = node, !(node = node[i = bottom << 1 | right])) return parent[i] = leaf, tree;\n }\n\n // Is the new point is exactly coincident with the existing point?\n xp = +tree._x.call(null, node.data);\n yp = +tree._y.call(null, node.data);\n if (x === xp && y === yp) return leaf.next = node, parent ? parent[i] = leaf : tree._root = leaf, tree;\n\n // Otherwise, split the leaf node until the old and new point are separated.\n do {\n parent = parent ? parent[i] = new Array(4) : tree._root = new Array(4);\n if (right = x >= (xm = (x0 + x1) / 2)) x0 = xm; else x1 = xm;\n if (bottom = y >= (ym = (y0 + y1) / 2)) y0 = ym; else y1 = ym;\n } while ((i = bottom << 1 | right) === (j = (yp >= ym) << 1 | (xp >= xm)));\n return parent[j] = node, parent[i] = leaf, tree;\n}\n\nexport function addAll(data) {\n var d, i, n = data.length,\n x,\n y,\n xz = new Array(n),\n yz = new Array(n),\n x0 = Infinity,\n y0 = Infinity,\n x1 = -Infinity,\n y1 = -Infinity;\n\n // Compute the points and their extent.\n for (i = 0; i < n; ++i) {\n if (isNaN(x = +this._x.call(null, d = data[i])) || isNaN(y = +this._y.call(null, d))) continue;\n xz[i] = x;\n yz[i] = y;\n if (x < x0) x0 = x;\n if (x > x1) x1 = x;\n if (y < y0) y0 = y;\n if (y > y1) y1 = y;\n }\n\n // If there were no (valid) points, inherit the existing extent.\n if (x1 < x0) x0 = this._x0, x1 = this._x1;\n if (y1 < y0) y0 = this._y0, y1 = this._y1;\n\n // Expand the tree to cover the new points.\n this.cover(x0, y0).cover(x1, y1);\n\n // Add the new points.\n for (i = 0; i < n; ++i) {\n add(this, xz[i], yz[i], data[i]);\n }\n\n return this;\n}\n","export default function(x, y) {\n if (isNaN(x = +x) || isNaN(y = +y)) return this; // ignore invalid points\n\n var x0 = this._x0,\n y0 = this._y0,\n x1 = this._x1,\n y1 = this._y1;\n\n // If the quadtree has no extent, initialize them.\n // Integer extent are necessary so that if we later double the extent,\n // the existing quadrant boundaries don’t change due to floating point error!\n if (isNaN(x0)) {\n x1 = (x0 = Math.floor(x)) + 1;\n y1 = (y0 = Math.floor(y)) + 1;\n }\n\n // Otherwise, double repeatedly to cover.\n else if (x0 > x || x > x1 || y0 > y || y > y1) {\n var z = x1 - x0,\n node = this._root,\n parent,\n i;\n\n switch (i = (y < (y0 + y1) / 2) << 1 | (x < (x0 + x1) / 2)) {\n case 0: {\n do parent = new Array(4), parent[i] = node, node = parent;\n while (z *= 2, x1 = x0 + z, y1 = y0 + z, x > x1 || y > y1);\n break;\n }\n case 1: {\n do parent = new Array(4), parent[i] = node, node = parent;\n while (z *= 2, x0 = x1 - z, y1 = y0 + z, x0 > x || y > y1);\n break;\n }\n case 2: {\n do parent = new Array(4), parent[i] = node, node = parent;\n while (z *= 2, x1 = x0 + z, y0 = y1 - z, x > x1 || y0 > y);\n break;\n }\n case 3: {\n do parent = new Array(4), parent[i] = node, node = parent;\n while (z *= 2, x0 = x1 - z, y0 = y1 - z, x0 > x || y0 > y);\n break;\n }\n }\n\n if (this._root && this._root.length) this._root = node;\n }\n\n // If the quadtree covers the point already, just return.\n else return this;\n\n this._x0 = x0;\n this._y0 = y0;\n this._x1 = x1;\n this._y1 = y1;\n return this;\n}\n","export default function() {\n var data = [];\n this.visit(function(node) {\n if (!node.length) do data.push(node.data); while (node = node.next)\n });\n return data;\n}\n","export default function(_) {\n return arguments.length\n ? this.cover(+_[0][0], +_[0][1]).cover(+_[1][0], +_[1][1])\n : isNaN(this._x0) ? undefined : [[this._x0, this._y0], [this._x1, this._y1]];\n}\n","export default function(node, x0, y0, x1, y1) {\n this.node = node;\n this.x0 = x0;\n this.y0 = y0;\n this.x1 = x1;\n this.y1 = y1;\n}\n","import Quad from \"./quad\";\n\nexport default function(x, y, radius) {\n var data,\n x0 = this._x0,\n y0 = this._y0,\n x1,\n y1,\n x2,\n y2,\n x3 = this._x1,\n y3 = this._y1,\n quads = [],\n node = this._root,\n q,\n i;\n\n if (node) quads.push(new Quad(node, x0, y0, x3, y3));\n if (radius == null) radius = Infinity;\n else {\n x0 = x - radius, y0 = y - radius;\n x3 = x + radius, y3 = y + radius;\n radius *= radius;\n }\n\n while (q = quads.pop()) {\n\n // Stop searching if this quadrant can’t contain a closer node.\n if (!(node = q.node)\n || (x1 = q.x0) > x3\n || (y1 = q.y0) > y3\n || (x2 = q.x1) < x0\n || (y2 = q.y1) < y0) continue;\n\n // Bisect the current quadrant.\n if (node.length) {\n var xm = (x1 + x2) / 2,\n ym = (y1 + y2) / 2;\n\n quads.push(\n new Quad(node[3], xm, ym, x2, y2),\n new Quad(node[2], x1, ym, xm, y2),\n new Quad(node[1], xm, y1, x2, ym),\n new Quad(node[0], x1, y1, xm, ym)\n );\n\n // Visit the closest quadrant first.\n if (i = (y >= ym) << 1 | (x >= xm)) {\n q = quads[quads.length - 1];\n quads[quads.length - 1] = quads[quads.length - 1 - i];\n quads[quads.length - 1 - i] = q;\n }\n }\n\n // Visit this point. (Visiting coincident points isn’t necessary!)\n else {\n var dx = x - +this._x.call(null, node.data),\n dy = y - +this._y.call(null, node.data),\n d2 = dx * dx + dy * dy;\n if (d2 < radius) {\n var d = Math.sqrt(radius = d2);\n x0 = x - d, y0 = y - d;\n x3 = x + d, y3 = y + d;\n data = node.data;\n }\n }\n }\n\n return data;\n}\n","export default function(d) {\n if (isNaN(x = +this._x.call(null, d)) || isNaN(y = +this._y.call(null, d))) return this; // ignore invalid points\n\n var parent,\n node = this._root,\n retainer,\n previous,\n next,\n x0 = this._x0,\n y0 = this._y0,\n x1 = this._x1,\n y1 = this._y1,\n x,\n y,\n xm,\n ym,\n right,\n bottom,\n i,\n j;\n\n // If the tree is empty, initialize the root as a leaf.\n if (!node) return this;\n\n // Find the leaf node for the point.\n // While descending, also retain the deepest parent with a non-removed sibling.\n if (node.length) while (true) {\n if (right = x >= (xm = (x0 + x1) / 2)) x0 = xm; else x1 = xm;\n if (bottom = y >= (ym = (y0 + y1) / 2)) y0 = ym; else y1 = ym;\n if (!(parent = node, node = node[i = bottom << 1 | right])) return this;\n if (!node.length) break;\n if (parent[(i + 1) & 3] || parent[(i + 2) & 3] || parent[(i + 3) & 3]) retainer = parent, j = i;\n }\n\n // Find the point to remove.\n while (node.data !== d) if (!(previous = node, node = node.next)) return this;\n if (next = node.next) delete node.next;\n\n // If there are multiple coincident points, remove just the point.\n if (previous) return (next ? previous.next = next : delete previous.next), this;\n\n // If this is the root point, remove it.\n if (!parent) return this._root = next, this;\n\n // Remove this leaf.\n next ? parent[i] = next : delete parent[i];\n\n // If the parent now contains exactly one leaf, collapse superfluous parents.\n if ((node = parent[0] || parent[1] || parent[2] || parent[3])\n && node === (parent[3] || parent[2] || parent[1] || parent[0])\n && !node.length) {\n if (retainer) retainer[j] = node;\n else this._root = node;\n }\n\n return this;\n}\n\nexport function removeAll(data) {\n for (var i = 0, n = data.length; i < n; ++i) this.remove(data[i]);\n return this;\n}\n","export default function() {\n return this._root;\n}\n","export default function() {\n var size = 0;\n this.visit(function(node) {\n if (!node.length) do ++size; while (node = node.next)\n });\n return size;\n}\n","import Quad from \"./quad\";\n\nexport default function(callback) {\n var quads = [], q, node = this._root, child, x0, y0, x1, y1;\n if (node) quads.push(new Quad(node, this._x0, this._y0, this._x1, this._y1));\n while (q = quads.pop()) {\n if (!callback(node = q.node, x0 = q.x0, y0 = q.y0, x1 = q.x1, y1 = q.y1) && node.length) {\n var xm = (x0 + x1) / 2, ym = (y0 + y1) / 2;\n if (child = node[3]) quads.push(new Quad(child, xm, ym, x1, y1));\n if (child = node[2]) quads.push(new Quad(child, x0, ym, xm, y1));\n if (child = node[1]) quads.push(new Quad(child, xm, y0, x1, ym));\n if (child = node[0]) quads.push(new Quad(child, x0, y0, xm, ym));\n }\n }\n return this;\n}\n","import Quad from \"./quad\";\n\nexport default function(callback) {\n var quads = [], next = [], q;\n if (this._root) quads.push(new Quad(this._root, this._x0, this._y0, this._x1, this._y1));\n while (q = quads.pop()) {\n var node = q.node;\n if (node.length) {\n var child, x0 = q.x0, y0 = q.y0, x1 = q.x1, y1 = q.y1, xm = (x0 + x1) / 2, ym = (y0 + y1) / 2;\n if (child = node[0]) quads.push(new Quad(child, x0, y0, xm, ym));\n if (child = node[1]) quads.push(new Quad(child, xm, y0, x1, ym));\n if (child = node[2]) quads.push(new Quad(child, x0, ym, xm, y1));\n if (child = node[3]) quads.push(new Quad(child, xm, ym, x1, y1));\n }\n next.push(q);\n }\n while (q = next.pop()) {\n callback(q.node, q.x0, q.y0, q.x1, q.y1);\n }\n return this;\n}\n","export function defaultX(d) {\n return d[0];\n}\n\nexport default function(_) {\n return arguments.length ? (this._x = _, this) : this._x;\n}\n","export function defaultY(d) {\n return d[1];\n}\n\nexport default function(_) {\n return arguments.length ? (this._y = _, this) : this._y;\n}\n","import tree_add, {addAll as tree_addAll} from \"./add\";\nimport tree_cover from \"./cover\";\nimport tree_data from \"./data\";\nimport tree_extent from \"./extent\";\nimport tree_find from \"./find\";\nimport tree_remove, {removeAll as tree_removeAll} from \"./remove\";\nimport tree_root from \"./root\";\nimport tree_size from \"./size\";\nimport tree_visit from \"./visit\";\nimport tree_visitAfter from \"./visitAfter\";\nimport tree_x, {defaultX} from \"./x\";\nimport tree_y, {defaultY} from \"./y\";\n\nexport default function quadtree(nodes, x, y) {\n var tree = new Quadtree(x == null ? defaultX : x, y == null ? defaultY : y, NaN, NaN, NaN, NaN);\n return nodes == null ? tree : tree.addAll(nodes);\n}\n\nfunction Quadtree(x, y, x0, y0, x1, y1) {\n this._x = x;\n this._y = y;\n this._x0 = x0;\n this._y0 = y0;\n this._x1 = x1;\n this._y1 = y1;\n this._root = undefined;\n}\n\nfunction leaf_copy(leaf) {\n var copy = {data: leaf.data}, next = copy;\n while (leaf = leaf.next) next = next.next = {data: leaf.data};\n return copy;\n}\n\nvar treeProto = quadtree.prototype = Quadtree.prototype;\n\ntreeProto.copy = function() {\n var copy = new Quadtree(this._x, this._y, this._x0, this._y0, this._x1, this._y1),\n node = this._root,\n nodes,\n child;\n\n if (!node) return copy;\n\n if (!node.length) return copy._root = leaf_copy(node), copy;\n\n nodes = [{source: node, target: copy._root = new Array(4)}];\n while (node = nodes.pop()) {\n for (var i = 0; i < 4; ++i) {\n if (child = node.source[i]) {\n if (child.length) nodes.push({source: child, target: node.target[i] = new Array(4)});\n else node.target[i] = leaf_copy(child);\n }\n }\n }\n\n return copy;\n};\n\ntreeProto.add = tree_add;\ntreeProto.addAll = tree_addAll;\ntreeProto.cover = tree_cover;\ntreeProto.data = tree_data;\ntreeProto.extent = tree_extent;\ntreeProto.find = tree_find;\ntreeProto.remove = tree_remove;\ntreeProto.removeAll = tree_removeAll;\ntreeProto.root = tree_root;\ntreeProto.size = tree_size;\ntreeProto.visit = tree_visit;\ntreeProto.visitAfter = tree_visitAfter;\ntreeProto.x = tree_x;\ntreeProto.y = tree_y;\n","export {default as quadtree} from \"./src/quadtree\";\n","import constant from \"./constant\";\nimport jiggle from \"./jiggle\";\nimport {quadtree} from \"d3-quadtree\";\n\nfunction x(d) {\n return d.x + d.vx;\n}\n\nfunction y(d) {\n return d.y + d.vy;\n}\n\nexport default function(radius) {\n var nodes,\n radii,\n strength = 1,\n iterations = 1;\n\n if (typeof radius !== \"function\") radius = constant(radius == null ? 1 : +radius);\n\n function force() {\n var i, n = nodes.length,\n tree,\n node,\n xi,\n yi,\n ri,\n ri2;\n\n for (var k = 0; k < iterations; ++k) {\n tree = quadtree(nodes, x, y).visitAfter(prepare);\n for (i = 0; i < n; ++i) {\n node = nodes[i];\n ri = radii[node.index], ri2 = ri * ri;\n xi = node.x + node.vx;\n yi = node.y + node.vy;\n tree.visit(apply);\n }\n }\n\n function apply(quad, x0, y0, x1, y1) {\n var data = quad.data, rj = quad.r, r = ri + rj;\n if (data) {\n if (data.index > node.index) {\n var x = xi - data.x - data.vx,\n y = yi - data.y - data.vy,\n l = x * x + y * y;\n if (l < r * r) {\n if (x === 0) x = jiggle(), l += x * x;\n if (y === 0) y = jiggle(), l += y * y;\n l = (r - (l = Math.sqrt(l))) / l * strength;\n node.vx += (x *= l) * (r = (rj *= rj) / (ri2 + rj));\n node.vy += (y *= l) * r;\n data.vx -= x * (r = 1 - r);\n data.vy -= y * r;\n }\n }\n return;\n }\n return x0 > xi + r || x1 < xi - r || y0 > yi + r || y1 < yi - r;\n }\n }\n\n function prepare(quad) {\n if (quad.data) return quad.r = radii[quad.data.index];\n for (var i = quad.r = 0; i < 4; ++i) {\n if (quad[i] && quad[i].r > quad.r) {\n quad.r = quad[i].r;\n }\n }\n }\n\n function initialize() {\n if (!nodes) return;\n var i, n = nodes.length, node;\n radii = new Array(n);\n for (i = 0; i < n; ++i) node = nodes[i], radii[node.index] = +radius(node, i, nodes);\n }\n\n force.initialize = function(_) {\n nodes = _;\n initialize();\n };\n\n force.iterations = function(_) {\n return arguments.length ? (iterations = +_, force) : iterations;\n };\n\n force.strength = function(_) {\n return arguments.length ? (strength = +_, force) : strength;\n };\n\n force.radius = function(_) {\n return arguments.length ? (radius = typeof _ === \"function\" ? _ : constant(+_), initialize(), force) : radius;\n };\n\n return force;\n}\n","import constant from \"./constant\";\nimport jiggle from \"./jiggle\";\nimport {map} from \"d3-collection\";\n\nfunction index(d) {\n return d.index;\n}\n\nfunction find(nodeById, nodeId) {\n var node = nodeById.get(nodeId);\n if (!node) throw new Error(\"missing: \" + nodeId);\n return node;\n}\n\nexport default function(links) {\n var id = index,\n strength = defaultStrength,\n strengths,\n distance = constant(30),\n distances,\n nodes,\n count,\n bias,\n iterations = 1;\n\n if (links == null) links = [];\n\n function defaultStrength(link) {\n return 1 / Math.min(count[link.source.index], count[link.target.index]);\n }\n\n function force(alpha) {\n for (var k = 0, n = links.length; k < iterations; ++k) {\n for (var i = 0, link, source, target, x, y, l, b; i < n; ++i) {\n link = links[i], source = link.source, target = link.target;\n x = target.x + target.vx - source.x - source.vx || jiggle();\n y = target.y + target.vy - source.y - source.vy || jiggle();\n l = Math.sqrt(x * x + y * y);\n l = (l - distances[i]) / l * alpha * strengths[i];\n x *= l, y *= l;\n target.vx -= x * (b = bias[i]);\n target.vy -= y * b;\n source.vx += x * (b = 1 - b);\n source.vy += y * b;\n }\n }\n }\n\n function initialize() {\n if (!nodes) return;\n\n var i,\n n = nodes.length,\n m = links.length,\n nodeById = map(nodes, id),\n link;\n\n for (i = 0, count = new Array(n); i < m; ++i) {\n link = links[i], link.index = i;\n if (typeof link.source !== \"object\") link.source = find(nodeById, link.source);\n if (typeof link.target !== \"object\") link.target = find(nodeById, link.target);\n count[link.source.index] = (count[link.source.index] || 0) + 1;\n count[link.target.index] = (count[link.target.index] || 0) + 1;\n }\n\n for (i = 0, bias = new Array(m); i < m; ++i) {\n link = links[i], bias[i] = count[link.source.index] / (count[link.source.index] + count[link.target.index]);\n }\n\n strengths = new Array(m), initializeStrength();\n distances = new Array(m), initializeDistance();\n }\n\n function initializeStrength() {\n if (!nodes) return;\n\n for (var i = 0, n = links.length; i < n; ++i) {\n strengths[i] = +strength(links[i], i, links);\n }\n }\n\n function initializeDistance() {\n if (!nodes) return;\n\n for (var i = 0, n = links.length; i < n; ++i) {\n distances[i] = +distance(links[i], i, links);\n }\n }\n\n force.initialize = function(_) {\n nodes = _;\n initialize();\n };\n\n force.links = function(_) {\n return arguments.length ? (links = _, initialize(), force) : links;\n };\n\n force.id = function(_) {\n return arguments.length ? (id = _, force) : id;\n };\n\n force.iterations = function(_) {\n return arguments.length ? (iterations = +_, force) : iterations;\n };\n\n force.strength = function(_) {\n return arguments.length ? (strength = typeof _ === \"function\" ? _ : constant(+_), initializeStrength(), force) : strength;\n };\n\n force.distance = function(_) {\n return arguments.length ? (distance = typeof _ === \"function\" ? _ : constant(+_), initializeDistance(), force) : distance;\n };\n\n return force;\n}\n","import {dispatch} from \"d3-dispatch\";\nimport {map} from \"d3-collection\";\nimport {timer} from \"d3-timer\";\n\nexport function x(d) {\n return d.x;\n}\n\nexport function y(d) {\n return d.y;\n}\n\nvar initialRadius = 10,\n initialAngle = Math.PI * (3 - Math.sqrt(5));\n\nexport default function(nodes) {\n var simulation,\n alpha = 1,\n alphaMin = 0.001,\n alphaDecay = 1 - Math.pow(alphaMin, 1 / 300),\n alphaTarget = 0,\n velocityDecay = 0.6,\n forces = map(),\n stepper = timer(step),\n event = dispatch(\"tick\", \"end\");\n\n if (nodes == null) nodes = [];\n\n function step() {\n tick();\n event.call(\"tick\", simulation);\n if (alpha < alphaMin) {\n stepper.stop();\n event.call(\"end\", simulation);\n }\n }\n\n function tick() {\n var i, n = nodes.length, node;\n\n alpha += (alphaTarget - alpha) * alphaDecay;\n\n forces.each(function(force) {\n force(alpha);\n });\n\n for (i = 0; i < n; ++i) {\n node = nodes[i];\n if (node.fx == null) node.x += node.vx *= velocityDecay;\n else node.x = node.fx, node.vx = 0;\n if (node.fy == null) node.y += node.vy *= velocityDecay;\n else node.y = node.fy, node.vy = 0;\n }\n }\n\n function initializeNodes() {\n for (var i = 0, n = nodes.length, node; i < n; ++i) {\n node = nodes[i], node.index = i;\n if (isNaN(node.x) || isNaN(node.y)) {\n var radius = initialRadius * Math.sqrt(i), angle = i * initialAngle;\n node.x = radius * Math.cos(angle);\n node.y = radius * Math.sin(angle);\n }\n if (isNaN(node.vx) || isNaN(node.vy)) {\n node.vx = node.vy = 0;\n }\n }\n }\n\n function initializeForce(force) {\n if (force.initialize) force.initialize(nodes);\n return force;\n }\n\n initializeNodes();\n\n return simulation = {\n tick: tick,\n\n restart: function() {\n return stepper.restart(step), simulation;\n },\n\n stop: function() {\n return stepper.stop(), simulation;\n },\n\n nodes: function(_) {\n return arguments.length ? (nodes = _, initializeNodes(), forces.each(initializeForce), simulation) : nodes;\n },\n\n alpha: function(_) {\n return arguments.length ? (alpha = +_, simulation) : alpha;\n },\n\n alphaMin: function(_) {\n return arguments.length ? (alphaMin = +_, simulation) : alphaMin;\n },\n\n alphaDecay: function(_) {\n return arguments.length ? (alphaDecay = +_, simulation) : +alphaDecay;\n },\n\n alphaTarget: function(_) {\n return arguments.length ? (alphaTarget = +_, simulation) : alphaTarget;\n },\n\n velocityDecay: function(_) {\n return arguments.length ? (velocityDecay = 1 - _, simulation) : 1 - velocityDecay;\n },\n\n force: function(name, _) {\n return arguments.length > 1 ? ((_ == null ? forces.remove(name) : forces.set(name, initializeForce(_))), simulation) : forces.get(name);\n },\n\n find: function(x, y, radius) {\n var i = 0,\n n = nodes.length,\n dx,\n dy,\n d2,\n node,\n closest;\n\n if (radius == null) radius = Infinity;\n else radius *= radius;\n\n for (i = 0; i < n; ++i) {\n node = nodes[i];\n dx = x - node.x;\n dy = y - node.y;\n d2 = dx * dx + dy * dy;\n if (d2 < radius) closest = node, radius = d2;\n }\n\n return closest;\n },\n\n on: function(name, _) {\n return arguments.length > 1 ? (event.on(name, _), simulation) : event.on(name);\n }\n };\n}\n","import constant from \"./constant\";\nimport jiggle from \"./jiggle\";\nimport {quadtree} from \"d3-quadtree\";\nimport {x, y} from \"./simulation\";\n\nexport default function() {\n var nodes,\n node,\n alpha,\n strength = constant(-30),\n strengths,\n distanceMin2 = 1,\n distanceMax2 = Infinity,\n theta2 = 0.81;\n\n function force(_) {\n var i, n = nodes.length, tree = quadtree(nodes, x, y).visitAfter(accumulate);\n for (alpha = _, i = 0; i < n; ++i) node = nodes[i], tree.visit(apply);\n }\n\n function initialize() {\n if (!nodes) return;\n var i, n = nodes.length, node;\n strengths = new Array(n);\n for (i = 0; i < n; ++i) node = nodes[i], strengths[node.index] = +strength(node, i, nodes);\n }\n\n function accumulate(quad) {\n var strength = 0, q, c, weight = 0, x, y, i;\n\n // For internal nodes, accumulate forces from child quadrants.\n if (quad.length) {\n for (x = y = i = 0; i < 4; ++i) {\n if ((q = quad[i]) && (c = Math.abs(q.value))) {\n strength += q.value, weight += c, x += c * q.x, y += c * q.y;\n }\n }\n quad.x = x / weight;\n quad.y = y / weight;\n }\n\n // For leaf nodes, accumulate forces from coincident quadrants.\n else {\n q = quad;\n q.x = q.data.x;\n q.y = q.data.y;\n do strength += strengths[q.data.index];\n while (q = q.next);\n }\n\n quad.value = strength;\n }\n\n function apply(quad, x1, _, x2) {\n if (!quad.value) return true;\n\n var x = quad.x - node.x,\n y = quad.y - node.y,\n w = x2 - x1,\n l = x * x + y * y;\n\n // Apply the Barnes-Hut approximation if possible.\n // Limit forces for very close nodes; randomize direction if coincident.\n if (w * w / theta2 < l) {\n if (l < distanceMax2) {\n if (x === 0) x = jiggle(), l += x * x;\n if (y === 0) y = jiggle(), l += y * y;\n if (l < distanceMin2) l = Math.sqrt(distanceMin2 * l);\n node.vx += x * quad.value * alpha / l;\n node.vy += y * quad.value * alpha / l;\n }\n return true;\n }\n\n // Otherwise, process points directly.\n else if (quad.length || l >= distanceMax2) return;\n\n // Limit forces for very close nodes; randomize direction if coincident.\n if (quad.data !== node || quad.next) {\n if (x === 0) x = jiggle(), l += x * x;\n if (y === 0) y = jiggle(), l += y * y;\n if (l < distanceMin2) l = Math.sqrt(distanceMin2 * l);\n }\n\n do if (quad.data !== node) {\n w = strengths[quad.data.index] * alpha / l;\n node.vx += x * w;\n node.vy += y * w;\n } while (quad = quad.next);\n }\n\n force.initialize = function(_) {\n nodes = _;\n initialize();\n };\n\n force.strength = function(_) {\n return arguments.length ? (strength = typeof _ === \"function\" ? _ : constant(+_), initialize(), force) : strength;\n };\n\n force.distanceMin = function(_) {\n return arguments.length ? (distanceMin2 = _ * _, force) : Math.sqrt(distanceMin2);\n };\n\n force.distanceMax = function(_) {\n return arguments.length ? (distanceMax2 = _ * _, force) : Math.sqrt(distanceMax2);\n };\n\n force.theta = function(_) {\n return arguments.length ? (theta2 = _ * _, force) : Math.sqrt(theta2);\n };\n\n return force;\n}\n","import constant from \"./constant\";\n\nexport default function(radius, x, y) {\n var nodes,\n strength = constant(0.1),\n strengths,\n radiuses;\n\n if (typeof radius !== \"function\") radius = constant(+radius);\n if (x == null) x = 0;\n if (y == null) y = 0;\n\n function force(alpha) {\n for (var i = 0, n = nodes.length; i < n; ++i) {\n var node = nodes[i],\n dx = node.x - x || 1e-6,\n dy = node.y - y || 1e-6,\n r = Math.sqrt(dx * dx + dy * dy),\n k = (radiuses[i] - r) * strengths[i] * alpha / r;\n node.vx += dx * k;\n node.vy += dy * k;\n }\n }\n\n function initialize() {\n if (!nodes) return;\n var i, n = nodes.length;\n strengths = new Array(n);\n radiuses = new Array(n);\n for (i = 0; i < n; ++i) {\n radiuses[i] = +radius(nodes[i], i, nodes);\n strengths[i] = isNaN(radiuses[i]) ? 0 : +strength(nodes[i], i, nodes);\n }\n }\n\n force.initialize = function(_) {\n nodes = _, initialize();\n };\n\n force.strength = function(_) {\n return arguments.length ? (strength = typeof _ === \"function\" ? _ : constant(+_), initialize(), force) : strength;\n };\n\n force.radius = function(_) {\n return arguments.length ? (radius = typeof _ === \"function\" ? _ : constant(+_), initialize(), force) : radius;\n };\n\n force.x = function(_) {\n return arguments.length ? (x = +_, force) : x;\n };\n\n force.y = function(_) {\n return arguments.length ? (y = +_, force) : y;\n };\n\n return force;\n}\n","import constant from \"./constant\";\n\nexport default function(x) {\n var strength = constant(0.1),\n nodes,\n strengths,\n xz;\n\n if (typeof x !== \"function\") x = constant(x == null ? 0 : +x);\n\n function force(alpha) {\n for (var i = 0, n = nodes.length, node; i < n; ++i) {\n node = nodes[i], node.vx += (xz[i] - node.x) * strengths[i] * alpha;\n }\n }\n\n function initialize() {\n if (!nodes) return;\n var i, n = nodes.length;\n strengths = new Array(n);\n xz = new Array(n);\n for (i = 0; i < n; ++i) {\n strengths[i] = isNaN(xz[i] = +x(nodes[i], i, nodes)) ? 0 : +strength(nodes[i], i, nodes);\n }\n }\n\n force.initialize = function(_) {\n nodes = _;\n initialize();\n };\n\n force.strength = function(_) {\n return arguments.length ? (strength = typeof _ === \"function\" ? _ : constant(+_), initialize(), force) : strength;\n };\n\n force.x = function(_) {\n return arguments.length ? (x = typeof _ === \"function\" ? _ : constant(+_), initialize(), force) : x;\n };\n\n return force;\n}\n","import constant from \"./constant\";\n\nexport default function(y) {\n var strength = constant(0.1),\n nodes,\n strengths,\n yz;\n\n if (typeof y !== \"function\") y = constant(y == null ? 0 : +y);\n\n function force(alpha) {\n for (var i = 0, n = nodes.length, node; i < n; ++i) {\n node = nodes[i], node.vy += (yz[i] - node.y) * strengths[i] * alpha;\n }\n }\n\n function initialize() {\n if (!nodes) return;\n var i, n = nodes.length;\n strengths = new Array(n);\n yz = new Array(n);\n for (i = 0; i < n; ++i) {\n strengths[i] = isNaN(yz[i] = +y(nodes[i], i, nodes)) ? 0 : +strength(nodes[i], i, nodes);\n }\n }\n\n force.initialize = function(_) {\n nodes = _;\n initialize();\n };\n\n force.strength = function(_) {\n return arguments.length ? (strength = typeof _ === \"function\" ? _ : constant(+_), initialize(), force) : strength;\n };\n\n force.y = function(_) {\n return arguments.length ? (y = typeof _ === \"function\" ? _ : constant(+_), initialize(), force) : y;\n };\n\n return force;\n}\n","export {default as forceCenter} from \"./src/center\";\nexport {default as forceCollide} from \"./src/collide\";\nexport {default as forceLink} from \"./src/link\";\nexport {default as forceManyBody} from \"./src/manyBody\";\nexport {default as forceRadial} from \"./src/radial\";\nexport {default as forceSimulation} from \"./src/simulation\";\nexport {default as forceX} from \"./src/x\";\nexport {default as forceY} from \"./src/y\";\n","// Computes the decimal coefficient and exponent of the specified number x with\n// significant digits p, where x is positive and p is in [1, 21] or undefined.\n// For example, formatDecimal(1.23) returns [\"123\", 0].\nexport default function(x, p) {\n if ((i = (x = p ? x.toExponential(p - 1) : x.toExponential()).indexOf(\"e\")) < 0) return null; // NaN, ±Infinity\n var i, coefficient = x.slice(0, i);\n\n // The string returned by toExponential either has the form \\d\\.\\d+e[-+]\\d+\n // (e.g., 1.2e+3) or the form \\de[-+]\\d+ (e.g., 1e+3).\n return [\n coefficient.length > 1 ? coefficient[0] + coefficient.slice(2) : coefficient,\n +x.slice(i + 1)\n ];\n}\n","import formatDecimal from \"./formatDecimal\";\n\nexport default function(x) {\n return x = formatDecimal(Math.abs(x)), x ? x[1] : NaN;\n}\n","export default function(grouping, thousands) {\n return function(value, width) {\n var i = value.length,\n t = [],\n j = 0,\n g = grouping[0],\n length = 0;\n\n while (i > 0 && g > 0) {\n if (length + g + 1 > width) g = Math.max(1, width - length);\n t.push(value.substring(i -= g, i + g));\n if ((length += g + 1) > width) break;\n g = grouping[j = (j + 1) % grouping.length];\n }\n\n return t.reverse().join(thousands);\n };\n}\n","export default function(numerals) {\n return function(value) {\n return value.replace(/[0-9]/g, function(i) {\n return numerals[+i];\n });\n };\n}\n","// [[fill]align][sign][symbol][0][width][,][.precision][~][type]\nvar re = /^(?:(.)?([<>=^]))?([+\\-\\( ])?([$#])?(0)?(\\d+)?(,)?(\\.\\d+)?(~)?([a-z%])?$/i;\n\nexport default function formatSpecifier(specifier) {\n return new FormatSpecifier(specifier);\n}\n\nformatSpecifier.prototype = FormatSpecifier.prototype; // instanceof\n\nfunction FormatSpecifier(specifier) {\n if (!(match = re.exec(specifier))) throw new Error(\"invalid format: \" + specifier);\n var match;\n this.fill = match[1] || \" \";\n this.align = match[2] || \">\";\n this.sign = match[3] || \"-\";\n this.symbol = match[4] || \"\";\n this.zero = !!match[5];\n this.width = match[6] && +match[6];\n this.comma = !!match[7];\n this.precision = match[8] && +match[8].slice(1);\n this.trim = !!match[9];\n this.type = match[10] || \"\";\n}\n\nFormatSpecifier.prototype.toString = function() {\n return this.fill\n + this.align\n + this.sign\n + this.symbol\n + (this.zero ? \"0\" : \"\")\n + (this.width == null ? \"\" : Math.max(1, this.width | 0))\n + (this.comma ? \",\" : \"\")\n + (this.precision == null ? \"\" : \".\" + Math.max(0, this.precision | 0))\n + (this.trim ? \"~\" : \"\")\n + this.type;\n};\n","// Trims insignificant zeros, e.g., replaces 1.2000k with 1.2k.\nexport default function(s) {\n out: for (var n = s.length, i = 1, i0 = -1, i1; i < n; ++i) {\n switch (s[i]) {\n case \".\": i0 = i1 = i; break;\n case \"0\": if (i0 === 0) i0 = i; i1 = i; break;\n default: if (i0 > 0) { if (!+s[i]) break out; i0 = 0; } break;\n }\n }\n return i0 > 0 ? s.slice(0, i0) + s.slice(i1 + 1) : s;\n}\n","import formatDecimal from \"./formatDecimal\";\n\nexport var prefixExponent;\n\nexport default function(x, p) {\n var d = formatDecimal(x, p);\n if (!d) return x + \"\";\n var coefficient = d[0],\n exponent = d[1],\n i = exponent - (prefixExponent = Math.max(-8, Math.min(8, Math.floor(exponent / 3))) * 3) + 1,\n n = coefficient.length;\n return i === n ? coefficient\n : i > n ? coefficient + new Array(i - n + 1).join(\"0\")\n : i > 0 ? coefficient.slice(0, i) + \".\" + coefficient.slice(i)\n : \"0.\" + new Array(1 - i).join(\"0\") + formatDecimal(x, Math.max(0, p + i - 1))[0]; // less than 1y!\n}\n","import formatDecimal from \"./formatDecimal\";\n\nexport default function(x, p) {\n var d = formatDecimal(x, p);\n if (!d) return x + \"\";\n var coefficient = d[0],\n exponent = d[1];\n return exponent < 0 ? \"0.\" + new Array(-exponent).join(\"0\") + coefficient\n : coefficient.length > exponent + 1 ? coefficient.slice(0, exponent + 1) + \".\" + coefficient.slice(exponent + 1)\n : coefficient + new Array(exponent - coefficient.length + 2).join(\"0\");\n}\n","import formatPrefixAuto from \"./formatPrefixAuto\";\nimport formatRounded from \"./formatRounded\";\n\nexport default {\n \"%\": function(x, p) { return (x * 100).toFixed(p); },\n \"b\": function(x) { return Math.round(x).toString(2); },\n \"c\": function(x) { return x + \"\"; },\n \"d\": function(x) { return Math.round(x).toString(10); },\n \"e\": function(x, p) { return x.toExponential(p); },\n \"f\": function(x, p) { return x.toFixed(p); },\n \"g\": function(x, p) { return x.toPrecision(p); },\n \"o\": function(x) { return Math.round(x).toString(8); },\n \"p\": function(x, p) { return formatRounded(x * 100, p); },\n \"r\": formatRounded,\n \"s\": formatPrefixAuto,\n \"X\": function(x) { return Math.round(x).toString(16).toUpperCase(); },\n \"x\": function(x) { return Math.round(x).toString(16); }\n};\n","export default function(x) {\n return x;\n}\n","import exponent from \"./exponent\";\nimport formatGroup from \"./formatGroup\";\nimport formatNumerals from \"./formatNumerals\";\nimport formatSpecifier from \"./formatSpecifier\";\nimport formatTrim from \"./formatTrim\";\nimport formatTypes from \"./formatTypes\";\nimport {prefixExponent} from \"./formatPrefixAuto\";\nimport identity from \"./identity\";\n\nvar prefixes = [\"y\",\"z\",\"a\",\"f\",\"p\",\"n\",\"µ\",\"m\",\"\",\"k\",\"M\",\"G\",\"T\",\"P\",\"E\",\"Z\",\"Y\"];\n\nexport default function(locale) {\n var group = locale.grouping && locale.thousands ? formatGroup(locale.grouping, locale.thousands) : identity,\n currency = locale.currency,\n decimal = locale.decimal,\n numerals = locale.numerals ? formatNumerals(locale.numerals) : identity,\n percent = locale.percent || \"%\";\n\n function newFormat(specifier) {\n specifier = formatSpecifier(specifier);\n\n var fill = specifier.fill,\n align = specifier.align,\n sign = specifier.sign,\n symbol = specifier.symbol,\n zero = specifier.zero,\n width = specifier.width,\n comma = specifier.comma,\n precision = specifier.precision,\n trim = specifier.trim,\n type = specifier.type;\n\n // The \"n\" type is an alias for \",g\".\n if (type === \"n\") comma = true, type = \"g\";\n\n // The \"\" type, and any invalid type, is an alias for \".12~g\".\n else if (!formatTypes[type]) precision == null && (precision = 12), trim = true, type = \"g\";\n\n // If zero fill is specified, padding goes after sign and before digits.\n if (zero || (fill === \"0\" && align === \"=\")) zero = true, fill = \"0\", align = \"=\";\n\n // Compute the prefix and suffix.\n // For SI-prefix, the suffix is lazily computed.\n var prefix = symbol === \"$\" ? currency[0] : symbol === \"#\" && /[boxX]/.test(type) ? \"0\" + type.toLowerCase() : \"\",\n suffix = symbol === \"$\" ? currency[1] : /[%p]/.test(type) ? percent : \"\";\n\n // What format function should we use?\n // Is this an integer type?\n // Can this type generate exponential notation?\n var formatType = formatTypes[type],\n maybeSuffix = /[defgprs%]/.test(type);\n\n // Set the default precision if not specified,\n // or clamp the specified precision to the supported range.\n // For significant precision, it must be in [1, 21].\n // For fixed precision, it must be in [0, 20].\n precision = precision == null ? 6\n : /[gprs]/.test(type) ? Math.max(1, Math.min(21, precision))\n : Math.max(0, Math.min(20, precision));\n\n function format(value) {\n var valuePrefix = prefix,\n valueSuffix = suffix,\n i, n, c;\n\n if (type === \"c\") {\n valueSuffix = formatType(value) + valueSuffix;\n value = \"\";\n } else {\n value = +value;\n\n // Perform the initial formatting.\n var valueNegative = value < 0;\n value = formatType(Math.abs(value), precision);\n\n // Trim insignificant zeros.\n if (trim) value = formatTrim(value);\n\n // If a negative value rounds to zero during formatting, treat as positive.\n if (valueNegative && +value === 0) valueNegative = false;\n\n // Compute the prefix and suffix.\n valuePrefix = (valueNegative ? (sign === \"(\" ? sign : \"-\") : sign === \"-\" || sign === \"(\" ? \"\" : sign) + valuePrefix;\n valueSuffix = (type === \"s\" ? prefixes[8 + prefixExponent / 3] : \"\") + valueSuffix + (valueNegative && sign === \"(\" ? \")\" : \"\");\n\n // Break the formatted value into the integer “value” part that can be\n // grouped, and fractional or exponential “suffix” part that is not.\n if (maybeSuffix) {\n i = -1, n = value.length;\n while (++i < n) {\n if (c = value.charCodeAt(i), 48 > c || c > 57) {\n valueSuffix = (c === 46 ? decimal + value.slice(i + 1) : value.slice(i)) + valueSuffix;\n value = value.slice(0, i);\n break;\n }\n }\n }\n }\n\n // If the fill character is not \"0\", grouping is applied before padding.\n if (comma && !zero) value = group(value, Infinity);\n\n // Compute the padding.\n var length = valuePrefix.length + value.length + valueSuffix.length,\n padding = length < width ? new Array(width - length + 1).join(fill) : \"\";\n\n // If the fill character is \"0\", grouping is applied after padding.\n if (comma && zero) value = group(padding + value, padding.length ? width - valueSuffix.length : Infinity), padding = \"\";\n\n // Reconstruct the final output based on the desired alignment.\n switch (align) {\n case \"<\": value = valuePrefix + value + valueSuffix + padding; break;\n case \"=\": value = valuePrefix + padding + value + valueSuffix; break;\n case \"^\": value = padding.slice(0, length = padding.length >> 1) + valuePrefix + value + valueSuffix + padding.slice(length); break;\n default: value = padding + valuePrefix + value + valueSuffix; break;\n }\n\n return numerals(value);\n }\n\n format.toString = function() {\n return specifier + \"\";\n };\n\n return format;\n }\n\n function formatPrefix(specifier, value) {\n var f = newFormat((specifier = formatSpecifier(specifier), specifier.type = \"f\", specifier)),\n e = Math.max(-8, Math.min(8, Math.floor(exponent(value) / 3))) * 3,\n k = Math.pow(10, -e),\n prefix = prefixes[8 + e / 3];\n return function(value) {\n return f(k * value) + prefix;\n };\n }\n\n return {\n format: newFormat,\n formatPrefix: formatPrefix\n };\n}\n","import formatLocale from \"./locale\";\n\nvar locale;\nexport var format;\nexport var formatPrefix;\n\ndefaultLocale({\n decimal: \".\",\n thousands: \",\",\n grouping: [3],\n currency: [\"$\", \"\"]\n});\n\nexport default function defaultLocale(definition) {\n locale = formatLocale(definition);\n format = locale.format;\n formatPrefix = locale.formatPrefix;\n return locale;\n}\n","import exponent from \"./exponent\";\n\nexport default function(step) {\n return Math.max(0, -exponent(Math.abs(step)));\n}\n","import exponent from \"./exponent\";\n\nexport default function(step, value) {\n return Math.max(0, Math.max(-8, Math.min(8, Math.floor(exponent(value) / 3))) * 3 - exponent(Math.abs(step)));\n}\n","import exponent from \"./exponent\";\n\nexport default function(step, max) {\n step = Math.abs(step), max = Math.abs(max) - step;\n return Math.max(0, exponent(max) - exponent(step)) + 1;\n}\n","export {default as formatDefaultLocale, format, formatPrefix} from \"./src/defaultLocale\";\nexport {default as formatLocale} from \"./src/locale\";\nexport {default as formatSpecifier} from \"./src/formatSpecifier\";\nexport {default as precisionFixed} from \"./src/precisionFixed\";\nexport {default as precisionPrefix} from \"./src/precisionPrefix\";\nexport {default as precisionRound} from \"./src/precisionRound\";\n","// Adds floating point numbers with twice the normal precision.\n// Reference: J. R. Shewchuk, Adaptive Precision Floating-Point Arithmetic and\n// Fast Robust Geometric Predicates, Discrete & Computational Geometry 18(3)\n// 305–363 (1997).\n// Code adapted from GeographicLib by Charles F. F. Karney,\n// http://geographiclib.sourceforge.net/\n\nexport default function() {\n return new Adder;\n}\n\nfunction Adder() {\n this.reset();\n}\n\nAdder.prototype = {\n constructor: Adder,\n reset: function() {\n this.s = // rounded value\n this.t = 0; // exact error\n },\n add: function(y) {\n add(temp, y, this.t);\n add(this, temp.s, this.s);\n if (this.s) this.t += temp.t;\n else this.s = temp.t;\n },\n valueOf: function() {\n return this.s;\n }\n};\n\nvar temp = new Adder;\n\nfunction add(adder, a, b) {\n var x = adder.s = a + b,\n bv = x - a,\n av = x - bv;\n adder.t = (a - av) + (b - bv);\n}\n","export var epsilon = 1e-6;\nexport var epsilon2 = 1e-12;\nexport var pi = Math.PI;\nexport var halfPi = pi / 2;\nexport var quarterPi = pi / 4;\nexport var tau = pi * 2;\n\nexport var degrees = 180 / pi;\nexport var radians = pi / 180;\n\nexport var abs = Math.abs;\nexport var atan = Math.atan;\nexport var atan2 = Math.atan2;\nexport var cos = Math.cos;\nexport var ceil = Math.ceil;\nexport var exp = Math.exp;\nexport var floor = Math.floor;\nexport var log = Math.log;\nexport var pow = Math.pow;\nexport var sin = Math.sin;\nexport var sign = Math.sign || function(x) { return x > 0 ? 1 : x < 0 ? -1 : 0; };\nexport var sqrt = Math.sqrt;\nexport var tan = Math.tan;\n\nexport function acos(x) {\n return x > 1 ? 0 : x < -1 ? pi : Math.acos(x);\n}\n\nexport function asin(x) {\n return x > 1 ? halfPi : x < -1 ? -halfPi : Math.asin(x);\n}\n\nexport function haversin(x) {\n return (x = sin(x / 2)) * x;\n}\n","export default function noop() {}\n","function streamGeometry(geometry, stream) {\n if (geometry && streamGeometryType.hasOwnProperty(geometry.type)) {\n streamGeometryType[geometry.type](geometry, stream);\n }\n}\n\nvar streamObjectType = {\n Feature: function(object, stream) {\n streamGeometry(object.geometry, stream);\n },\n FeatureCollection: function(object, stream) {\n var features = object.features, i = -1, n = features.length;\n while (++i < n) streamGeometry(features[i].geometry, stream);\n }\n};\n\nvar streamGeometryType = {\n Sphere: function(object, stream) {\n stream.sphere();\n },\n Point: function(object, stream) {\n object = object.coordinates;\n stream.point(object[0], object[1], object[2]);\n },\n MultiPoint: function(object, stream) {\n var coordinates = object.coordinates, i = -1, n = coordinates.length;\n while (++i < n) object = coordinates[i], stream.point(object[0], object[1], object[2]);\n },\n LineString: function(object, stream) {\n streamLine(object.coordinates, stream, 0);\n },\n MultiLineString: function(object, stream) {\n var coordinates = object.coordinates, i = -1, n = coordinates.length;\n while (++i < n) streamLine(coordinates[i], stream, 0);\n },\n Polygon: function(object, stream) {\n streamPolygon(object.coordinates, stream);\n },\n MultiPolygon: function(object, stream) {\n var coordinates = object.coordinates, i = -1, n = coordinates.length;\n while (++i < n) streamPolygon(coordinates[i], stream);\n },\n GeometryCollection: function(object, stream) {\n var geometries = object.geometries, i = -1, n = geometries.length;\n while (++i < n) streamGeometry(geometries[i], stream);\n }\n};\n\nfunction streamLine(coordinates, stream, closed) {\n var i = -1, n = coordinates.length - closed, coordinate;\n stream.lineStart();\n while (++i < n) coordinate = coordinates[i], stream.point(coordinate[0], coordinate[1], coordinate[2]);\n stream.lineEnd();\n}\n\nfunction streamPolygon(coordinates, stream) {\n var i = -1, n = coordinates.length;\n stream.polygonStart();\n while (++i < n) streamLine(coordinates[i], stream, 1);\n stream.polygonEnd();\n}\n\nexport default function(object, stream) {\n if (object && streamObjectType.hasOwnProperty(object.type)) {\n streamObjectType[object.type](object, stream);\n } else {\n streamGeometry(object, stream);\n }\n}\n","import adder from \"./adder\";\nimport {atan2, cos, quarterPi, radians, sin, tau} from \"./math\";\nimport noop from \"./noop\";\nimport stream from \"./stream\";\n\nexport var areaRingSum = adder();\n\nvar areaSum = adder(),\n lambda00,\n phi00,\n lambda0,\n cosPhi0,\n sinPhi0;\n\nexport var areaStream = {\n point: noop,\n lineStart: noop,\n lineEnd: noop,\n polygonStart: function() {\n areaRingSum.reset();\n areaStream.lineStart = areaRingStart;\n areaStream.lineEnd = areaRingEnd;\n },\n polygonEnd: function() {\n var areaRing = +areaRingSum;\n areaSum.add(areaRing < 0 ? tau + areaRing : areaRing);\n this.lineStart = this.lineEnd = this.point = noop;\n },\n sphere: function() {\n areaSum.add(tau);\n }\n};\n\nfunction areaRingStart() {\n areaStream.point = areaPointFirst;\n}\n\nfunction areaRingEnd() {\n areaPoint(lambda00, phi00);\n}\n\nfunction areaPointFirst(lambda, phi) {\n areaStream.point = areaPoint;\n lambda00 = lambda, phi00 = phi;\n lambda *= radians, phi *= radians;\n lambda0 = lambda, cosPhi0 = cos(phi = phi / 2 + quarterPi), sinPhi0 = sin(phi);\n}\n\nfunction areaPoint(lambda, phi) {\n lambda *= radians, phi *= radians;\n phi = phi / 2 + quarterPi; // half the angular distance from south pole\n\n // Spherical excess E for a spherical triangle with vertices: south pole,\n // previous point, current point. Uses a formula derived from Cagnoli’s\n // theorem. See Todhunter, Spherical Trig. (1871), Sec. 103, Eq. (2).\n var dLambda = lambda - lambda0,\n sdLambda = dLambda >= 0 ? 1 : -1,\n adLambda = sdLambda * dLambda,\n cosPhi = cos(phi),\n sinPhi = sin(phi),\n k = sinPhi0 * sinPhi,\n u = cosPhi0 * cosPhi + k * cos(adLambda),\n v = k * sdLambda * sin(adLambda);\n areaRingSum.add(atan2(v, u));\n\n // Advance the previous points.\n lambda0 = lambda, cosPhi0 = cosPhi, sinPhi0 = sinPhi;\n}\n\nexport default function(object) {\n areaSum.reset();\n stream(object, areaStream);\n return areaSum * 2;\n}\n","import {asin, atan2, cos, sin, sqrt} from \"./math\";\n\nexport function spherical(cartesian) {\n return [atan2(cartesian[1], cartesian[0]), asin(cartesian[2])];\n}\n\nexport function cartesian(spherical) {\n var lambda = spherical[0], phi = spherical[1], cosPhi = cos(phi);\n return [cosPhi * cos(lambda), cosPhi * sin(lambda), sin(phi)];\n}\n\nexport function cartesianDot(a, b) {\n return a[0] * b[0] + a[1] * b[1] + a[2] * b[2];\n}\n\nexport function cartesianCross(a, b) {\n return [a[1] * b[2] - a[2] * b[1], a[2] * b[0] - a[0] * b[2], a[0] * b[1] - a[1] * b[0]];\n}\n\n// TODO return a\nexport function cartesianAddInPlace(a, b) {\n a[0] += b[0], a[1] += b[1], a[2] += b[2];\n}\n\nexport function cartesianScale(vector, k) {\n return [vector[0] * k, vector[1] * k, vector[2] * k];\n}\n\n// TODO return d\nexport function cartesianNormalizeInPlace(d) {\n var l = sqrt(d[0] * d[0] + d[1] * d[1] + d[2] * d[2]);\n d[0] /= l, d[1] /= l, d[2] /= l;\n}\n","import adder from \"./adder\";\nimport {areaStream, areaRingSum} from \"./area\";\nimport {cartesian, cartesianCross, cartesianNormalizeInPlace, spherical} from \"./cartesian\";\nimport {abs, degrees, epsilon, radians} from \"./math\";\nimport stream from \"./stream\";\n\nvar lambda0, phi0, lambda1, phi1, // bounds\n lambda2, // previous lambda-coordinate\n lambda00, phi00, // first point\n p0, // previous 3D point\n deltaSum = adder(),\n ranges,\n range;\n\nvar boundsStream = {\n point: boundsPoint,\n lineStart: boundsLineStart,\n lineEnd: boundsLineEnd,\n polygonStart: function() {\n boundsStream.point = boundsRingPoint;\n boundsStream.lineStart = boundsRingStart;\n boundsStream.lineEnd = boundsRingEnd;\n deltaSum.reset();\n areaStream.polygonStart();\n },\n polygonEnd: function() {\n areaStream.polygonEnd();\n boundsStream.point = boundsPoint;\n boundsStream.lineStart = boundsLineStart;\n boundsStream.lineEnd = boundsLineEnd;\n if (areaRingSum < 0) lambda0 = -(lambda1 = 180), phi0 = -(phi1 = 90);\n else if (deltaSum > epsilon) phi1 = 90;\n else if (deltaSum < -epsilon) phi0 = -90;\n range[0] = lambda0, range[1] = lambda1;\n }\n};\n\nfunction boundsPoint(lambda, phi) {\n ranges.push(range = [lambda0 = lambda, lambda1 = lambda]);\n if (phi < phi0) phi0 = phi;\n if (phi > phi1) phi1 = phi;\n}\n\nfunction linePoint(lambda, phi) {\n var p = cartesian([lambda * radians, phi * radians]);\n if (p0) {\n var normal = cartesianCross(p0, p),\n equatorial = [normal[1], -normal[0], 0],\n inflection = cartesianCross(equatorial, normal);\n cartesianNormalizeInPlace(inflection);\n inflection = spherical(inflection);\n var delta = lambda - lambda2,\n sign = delta > 0 ? 1 : -1,\n lambdai = inflection[0] * degrees * sign,\n phii,\n antimeridian = abs(delta) > 180;\n if (antimeridian ^ (sign * lambda2 < lambdai && lambdai < sign * lambda)) {\n phii = inflection[1] * degrees;\n if (phii > phi1) phi1 = phii;\n } else if (lambdai = (lambdai + 360) % 360 - 180, antimeridian ^ (sign * lambda2 < lambdai && lambdai < sign * lambda)) {\n phii = -inflection[1] * degrees;\n if (phii < phi0) phi0 = phii;\n } else {\n if (phi < phi0) phi0 = phi;\n if (phi > phi1) phi1 = phi;\n }\n if (antimeridian) {\n if (lambda < lambda2) {\n if (angle(lambda0, lambda) > angle(lambda0, lambda1)) lambda1 = lambda;\n } else {\n if (angle(lambda, lambda1) > angle(lambda0, lambda1)) lambda0 = lambda;\n }\n } else {\n if (lambda1 >= lambda0) {\n if (lambda < lambda0) lambda0 = lambda;\n if (lambda > lambda1) lambda1 = lambda;\n } else {\n if (lambda > lambda2) {\n if (angle(lambda0, lambda) > angle(lambda0, lambda1)) lambda1 = lambda;\n } else {\n if (angle(lambda, lambda1) > angle(lambda0, lambda1)) lambda0 = lambda;\n }\n }\n }\n } else {\n ranges.push(range = [lambda0 = lambda, lambda1 = lambda]);\n }\n if (phi < phi0) phi0 = phi;\n if (phi > phi1) phi1 = phi;\n p0 = p, lambda2 = lambda;\n}\n\nfunction boundsLineStart() {\n boundsStream.point = linePoint;\n}\n\nfunction boundsLineEnd() {\n range[0] = lambda0, range[1] = lambda1;\n boundsStream.point = boundsPoint;\n p0 = null;\n}\n\nfunction boundsRingPoint(lambda, phi) {\n if (p0) {\n var delta = lambda - lambda2;\n deltaSum.add(abs(delta) > 180 ? delta + (delta > 0 ? 360 : -360) : delta);\n } else {\n lambda00 = lambda, phi00 = phi;\n }\n areaStream.point(lambda, phi);\n linePoint(lambda, phi);\n}\n\nfunction boundsRingStart() {\n areaStream.lineStart();\n}\n\nfunction boundsRingEnd() {\n boundsRingPoint(lambda00, phi00);\n areaStream.lineEnd();\n if (abs(deltaSum) > epsilon) lambda0 = -(lambda1 = 180);\n range[0] = lambda0, range[1] = lambda1;\n p0 = null;\n}\n\n// Finds the left-right distance between two longitudes.\n// This is almost the same as (lambda1 - lambda0 + 360°) % 360°, except that we want\n// the distance between ±180° to be 360°.\nfunction angle(lambda0, lambda1) {\n return (lambda1 -= lambda0) < 0 ? lambda1 + 360 : lambda1;\n}\n\nfunction rangeCompare(a, b) {\n return a[0] - b[0];\n}\n\nfunction rangeContains(range, x) {\n return range[0] <= range[1] ? range[0] <= x && x <= range[1] : x < range[0] || range[1] < x;\n}\n\nexport default function(feature) {\n var i, n, a, b, merged, deltaMax, delta;\n\n phi1 = lambda1 = -(lambda0 = phi0 = Infinity);\n ranges = [];\n stream(feature, boundsStream);\n\n // First, sort ranges by their minimum longitudes.\n if (n = ranges.length) {\n ranges.sort(rangeCompare);\n\n // Then, merge any ranges that overlap.\n for (i = 1, a = ranges[0], merged = [a]; i < n; ++i) {\n b = ranges[i];\n if (rangeContains(a, b[0]) || rangeContains(a, b[1])) {\n if (angle(a[0], b[1]) > angle(a[0], a[1])) a[1] = b[1];\n if (angle(b[0], a[1]) > angle(a[0], a[1])) a[0] = b[0];\n } else {\n merged.push(a = b);\n }\n }\n\n // Finally, find the largest gap between the merged ranges.\n // The final bounding box will be the inverse of this gap.\n for (deltaMax = -Infinity, n = merged.length - 1, i = 0, a = merged[n]; i <= n; a = b, ++i) {\n b = merged[i];\n if ((delta = angle(a[1], b[0])) > deltaMax) deltaMax = delta, lambda0 = b[0], lambda1 = a[1];\n }\n }\n\n ranges = range = null;\n\n return lambda0 === Infinity || phi0 === Infinity\n ? [[NaN, NaN], [NaN, NaN]]\n : [[lambda0, phi0], [lambda1, phi1]];\n}\n","import {asin, atan2, cos, degrees, epsilon, epsilon2, radians, sin, sqrt} from \"./math\";\nimport noop from \"./noop\";\nimport stream from \"./stream\";\n\nvar W0, W1,\n X0, Y0, Z0,\n X1, Y1, Z1,\n X2, Y2, Z2,\n lambda00, phi00, // first point\n x0, y0, z0; // previous point\n\nvar centroidStream = {\n sphere: noop,\n point: centroidPoint,\n lineStart: centroidLineStart,\n lineEnd: centroidLineEnd,\n polygonStart: function() {\n centroidStream.lineStart = centroidRingStart;\n centroidStream.lineEnd = centroidRingEnd;\n },\n polygonEnd: function() {\n centroidStream.lineStart = centroidLineStart;\n centroidStream.lineEnd = centroidLineEnd;\n }\n};\n\n// Arithmetic mean of Cartesian vectors.\nfunction centroidPoint(lambda, phi) {\n lambda *= radians, phi *= radians;\n var cosPhi = cos(phi);\n centroidPointCartesian(cosPhi * cos(lambda), cosPhi * sin(lambda), sin(phi));\n}\n\nfunction centroidPointCartesian(x, y, z) {\n ++W0;\n X0 += (x - X0) / W0;\n Y0 += (y - Y0) / W0;\n Z0 += (z - Z0) / W0;\n}\n\nfunction centroidLineStart() {\n centroidStream.point = centroidLinePointFirst;\n}\n\nfunction centroidLinePointFirst(lambda, phi) {\n lambda *= radians, phi *= radians;\n var cosPhi = cos(phi);\n x0 = cosPhi * cos(lambda);\n y0 = cosPhi * sin(lambda);\n z0 = sin(phi);\n centroidStream.point = centroidLinePoint;\n centroidPointCartesian(x0, y0, z0);\n}\n\nfunction centroidLinePoint(lambda, phi) {\n lambda *= radians, phi *= radians;\n var cosPhi = cos(phi),\n x = cosPhi * cos(lambda),\n y = cosPhi * sin(lambda),\n z = sin(phi),\n w = atan2(sqrt((w = y0 * z - z0 * y) * w + (w = z0 * x - x0 * z) * w + (w = x0 * y - y0 * x) * w), x0 * x + y0 * y + z0 * z);\n W1 += w;\n X1 += w * (x0 + (x0 = x));\n Y1 += w * (y0 + (y0 = y));\n Z1 += w * (z0 + (z0 = z));\n centroidPointCartesian(x0, y0, z0);\n}\n\nfunction centroidLineEnd() {\n centroidStream.point = centroidPoint;\n}\n\n// See J. E. Brock, The Inertia Tensor for a Spherical Triangle,\n// J. Applied Mechanics 42, 239 (1975).\nfunction centroidRingStart() {\n centroidStream.point = centroidRingPointFirst;\n}\n\nfunction centroidRingEnd() {\n centroidRingPoint(lambda00, phi00);\n centroidStream.point = centroidPoint;\n}\n\nfunction centroidRingPointFirst(lambda, phi) {\n lambda00 = lambda, phi00 = phi;\n lambda *= radians, phi *= radians;\n centroidStream.point = centroidRingPoint;\n var cosPhi = cos(phi);\n x0 = cosPhi * cos(lambda);\n y0 = cosPhi * sin(lambda);\n z0 = sin(phi);\n centroidPointCartesian(x0, y0, z0);\n}\n\nfunction centroidRingPoint(lambda, phi) {\n lambda *= radians, phi *= radians;\n var cosPhi = cos(phi),\n x = cosPhi * cos(lambda),\n y = cosPhi * sin(lambda),\n z = sin(phi),\n cx = y0 * z - z0 * y,\n cy = z0 * x - x0 * z,\n cz = x0 * y - y0 * x,\n m = sqrt(cx * cx + cy * cy + cz * cz),\n w = asin(m), // line weight = angle\n v = m && -w / m; // area weight multiplier\n X2 += v * cx;\n Y2 += v * cy;\n Z2 += v * cz;\n W1 += w;\n X1 += w * (x0 + (x0 = x));\n Y1 += w * (y0 + (y0 = y));\n Z1 += w * (z0 + (z0 = z));\n centroidPointCartesian(x0, y0, z0);\n}\n\nexport default function(object) {\n W0 = W1 =\n X0 = Y0 = Z0 =\n X1 = Y1 = Z1 =\n X2 = Y2 = Z2 = 0;\n stream(object, centroidStream);\n\n var x = X2,\n y = Y2,\n z = Z2,\n m = x * x + y * y + z * z;\n\n // If the area-weighted ccentroid is undefined, fall back to length-weighted ccentroid.\n if (m < epsilon2) {\n x = X1, y = Y1, z = Z1;\n // If the feature has zero length, fall back to arithmetic mean of point vectors.\n if (W1 < epsilon) x = X0, y = Y0, z = Z0;\n m = x * x + y * y + z * z;\n // If the feature still has an undefined ccentroid, then return.\n if (m < epsilon2) return [NaN, NaN];\n }\n\n return [atan2(y, x) * degrees, asin(z / sqrt(m)) * degrees];\n}\n","export default function(x) {\n return function() {\n return x;\n };\n}\n","export default function(a, b) {\n\n function compose(x, y) {\n return x = a(x, y), b(x[0], x[1]);\n }\n\n if (a.invert && b.invert) compose.invert = function(x, y) {\n return x = b.invert(x, y), x && a.invert(x[0], x[1]);\n };\n\n return compose;\n}\n","import compose from \"./compose\";\nimport {asin, atan2, cos, degrees, pi, radians, sin, tau} from \"./math\";\n\nfunction rotationIdentity(lambda, phi) {\n return [lambda > pi ? lambda - tau : lambda < -pi ? lambda + tau : lambda, phi];\n}\n\nrotationIdentity.invert = rotationIdentity;\n\nexport function rotateRadians(deltaLambda, deltaPhi, deltaGamma) {\n return (deltaLambda %= tau) ? (deltaPhi || deltaGamma ? compose(rotationLambda(deltaLambda), rotationPhiGamma(deltaPhi, deltaGamma))\n : rotationLambda(deltaLambda))\n : (deltaPhi || deltaGamma ? rotationPhiGamma(deltaPhi, deltaGamma)\n : rotationIdentity);\n}\n\nfunction forwardRotationLambda(deltaLambda) {\n return function(lambda, phi) {\n return lambda += deltaLambda, [lambda > pi ? lambda - tau : lambda < -pi ? lambda + tau : lambda, phi];\n };\n}\n\nfunction rotationLambda(deltaLambda) {\n var rotation = forwardRotationLambda(deltaLambda);\n rotation.invert = forwardRotationLambda(-deltaLambda);\n return rotation;\n}\n\nfunction rotationPhiGamma(deltaPhi, deltaGamma) {\n var cosDeltaPhi = cos(deltaPhi),\n sinDeltaPhi = sin(deltaPhi),\n cosDeltaGamma = cos(deltaGamma),\n sinDeltaGamma = sin(deltaGamma);\n\n function rotation(lambda, phi) {\n var cosPhi = cos(phi),\n x = cos(lambda) * cosPhi,\n y = sin(lambda) * cosPhi,\n z = sin(phi),\n k = z * cosDeltaPhi + x * sinDeltaPhi;\n return [\n atan2(y * cosDeltaGamma - k * sinDeltaGamma, x * cosDeltaPhi - z * sinDeltaPhi),\n asin(k * cosDeltaGamma + y * sinDeltaGamma)\n ];\n }\n\n rotation.invert = function(lambda, phi) {\n var cosPhi = cos(phi),\n x = cos(lambda) * cosPhi,\n y = sin(lambda) * cosPhi,\n z = sin(phi),\n k = z * cosDeltaGamma - y * sinDeltaGamma;\n return [\n atan2(y * cosDeltaGamma + z * sinDeltaGamma, x * cosDeltaPhi + k * sinDeltaPhi),\n asin(k * cosDeltaPhi - x * sinDeltaPhi)\n ];\n };\n\n return rotation;\n}\n\nexport default function(rotate) {\n rotate = rotateRadians(rotate[0] * radians, rotate[1] * radians, rotate.length > 2 ? rotate[2] * radians : 0);\n\n function forward(coordinates) {\n coordinates = rotate(coordinates[0] * radians, coordinates[1] * radians);\n return coordinates[0] *= degrees, coordinates[1] *= degrees, coordinates;\n }\n\n forward.invert = function(coordinates) {\n coordinates = rotate.invert(coordinates[0] * radians, coordinates[1] * radians);\n return coordinates[0] *= degrees, coordinates[1] *= degrees, coordinates;\n };\n\n return forward;\n}\n","import {cartesian, cartesianNormalizeInPlace, spherical} from \"./cartesian\";\nimport constant from \"./constant\";\nimport {acos, cos, degrees, epsilon, radians, sin, tau} from \"./math\";\nimport {rotateRadians} from \"./rotation\";\n\n// Generates a circle centered at [0°, 0°], with a given radius and precision.\nexport function circleStream(stream, radius, delta, direction, t0, t1) {\n if (!delta) return;\n var cosRadius = cos(radius),\n sinRadius = sin(radius),\n step = direction * delta;\n if (t0 == null) {\n t0 = radius + direction * tau;\n t1 = radius - step / 2;\n } else {\n t0 = circleRadius(cosRadius, t0);\n t1 = circleRadius(cosRadius, t1);\n if (direction > 0 ? t0 < t1 : t0 > t1) t0 += direction * tau;\n }\n for (var point, t = t0; direction > 0 ? t > t1 : t < t1; t -= step) {\n point = spherical([cosRadius, -sinRadius * cos(t), -sinRadius * sin(t)]);\n stream.point(point[0], point[1]);\n }\n}\n\n// Returns the signed angle of a cartesian point relative to [cosRadius, 0, 0].\nfunction circleRadius(cosRadius, point) {\n point = cartesian(point), point[0] -= cosRadius;\n cartesianNormalizeInPlace(point);\n var radius = acos(-point[1]);\n return ((-point[2] < 0 ? -radius : radius) + tau - epsilon) % tau;\n}\n\nexport default function() {\n var center = constant([0, 0]),\n radius = constant(90),\n precision = constant(6),\n ring,\n rotate,\n stream = {point: point};\n\n function point(x, y) {\n ring.push(x = rotate(x, y));\n x[0] *= degrees, x[1] *= degrees;\n }\n\n function circle() {\n var c = center.apply(this, arguments),\n r = radius.apply(this, arguments) * radians,\n p = precision.apply(this, arguments) * radians;\n ring = [];\n rotate = rotateRadians(-c[0] * radians, -c[1] * radians, 0).invert;\n circleStream(stream, r, p, 1);\n c = {type: \"Polygon\", coordinates: [ring]};\n ring = rotate = null;\n return c;\n }\n\n circle.center = function(_) {\n return arguments.length ? (center = typeof _ === \"function\" ? _ : constant([+_[0], +_[1]]), circle) : center;\n };\n\n circle.radius = function(_) {\n return arguments.length ? (radius = typeof _ === \"function\" ? _ : constant(+_), circle) : radius;\n };\n\n circle.precision = function(_) {\n return arguments.length ? (precision = typeof _ === \"function\" ? _ : constant(+_), circle) : precision;\n };\n\n return circle;\n}\n","import noop from \"../noop\";\n\nexport default function() {\n var lines = [],\n line;\n return {\n point: function(x, y) {\n line.push([x, y]);\n },\n lineStart: function() {\n lines.push(line = []);\n },\n lineEnd: noop,\n rejoin: function() {\n if (lines.length > 1) lines.push(lines.pop().concat(lines.shift()));\n },\n result: function() {\n var result = lines;\n lines = [];\n line = null;\n return result;\n }\n };\n}\n","import {abs, epsilon} from \"./math\";\n\nexport default function(a, b) {\n return abs(a[0] - b[0]) < epsilon && abs(a[1] - b[1]) < epsilon;\n}\n","import pointEqual from \"../pointEqual\";\n\nfunction Intersection(point, points, other, entry) {\n this.x = point;\n this.z = points;\n this.o = other; // another intersection\n this.e = entry; // is an entry?\n this.v = false; // visited\n this.n = this.p = null; // next & previous\n}\n\n// A generalized polygon clipping algorithm: given a polygon that has been cut\n// into its visible line segments, and rejoins the segments by interpolating\n// along the clip edge.\nexport default function(segments, compareIntersection, startInside, interpolate, stream) {\n var subject = [],\n clip = [],\n i,\n n;\n\n segments.forEach(function(segment) {\n if ((n = segment.length - 1) <= 0) return;\n var n, p0 = segment[0], p1 = segment[n], x;\n\n // If the first and last points of a segment are coincident, then treat as a\n // closed ring. TODO if all rings are closed, then the winding order of the\n // exterior ring should be checked.\n if (pointEqual(p0, p1)) {\n stream.lineStart();\n for (i = 0; i < n; ++i) stream.point((p0 = segment[i])[0], p0[1]);\n stream.lineEnd();\n return;\n }\n\n subject.push(x = new Intersection(p0, segment, null, true));\n clip.push(x.o = new Intersection(p0, null, x, false));\n subject.push(x = new Intersection(p1, segment, null, false));\n clip.push(x.o = new Intersection(p1, null, x, true));\n });\n\n if (!subject.length) return;\n\n clip.sort(compareIntersection);\n link(subject);\n link(clip);\n\n for (i = 0, n = clip.length; i < n; ++i) {\n clip[i].e = startInside = !startInside;\n }\n\n var start = subject[0],\n points,\n point;\n\n while (1) {\n // Find first unvisited intersection.\n var current = start,\n isSubject = true;\n while (current.v) if ((current = current.n) === start) return;\n points = current.z;\n stream.lineStart();\n do {\n current.v = current.o.v = true;\n if (current.e) {\n if (isSubject) {\n for (i = 0, n = points.length; i < n; ++i) stream.point((point = points[i])[0], point[1]);\n } else {\n interpolate(current.x, current.n.x, 1, stream);\n }\n current = current.n;\n } else {\n if (isSubject) {\n points = current.p.z;\n for (i = points.length - 1; i >= 0; --i) stream.point((point = points[i])[0], point[1]);\n } else {\n interpolate(current.x, current.p.x, -1, stream);\n }\n current = current.p;\n }\n current = current.o;\n points = current.z;\n isSubject = !isSubject;\n } while (!current.v);\n stream.lineEnd();\n }\n}\n\nfunction link(array) {\n if (!(n = array.length)) return;\n var n,\n i = 0,\n a = array[0],\n b;\n while (++i < n) {\n a.n = b = array[i];\n b.p = a;\n a = b;\n }\n a.n = b = array[0];\n b.p = a;\n}\n","import adder from \"./adder\";\nimport {cartesian, cartesianCross, cartesianNormalizeInPlace} from \"./cartesian\";\nimport {asin, atan2, cos, epsilon, halfPi, pi, quarterPi, sin, tau} from \"./math\";\n\nvar sum = adder();\n\nexport default function(polygon, point) {\n var lambda = point[0],\n phi = point[1],\n sinPhi = sin(phi),\n normal = [sin(lambda), -cos(lambda), 0],\n angle = 0,\n winding = 0;\n\n sum.reset();\n\n if (sinPhi === 1) phi = halfPi + epsilon;\n else if (sinPhi === -1) phi = -halfPi - epsilon;\n\n for (var i = 0, n = polygon.length; i < n; ++i) {\n if (!(m = (ring = polygon[i]).length)) continue;\n var ring,\n m,\n point0 = ring[m - 1],\n lambda0 = point0[0],\n phi0 = point0[1] / 2 + quarterPi,\n sinPhi0 = sin(phi0),\n cosPhi0 = cos(phi0);\n\n for (var j = 0; j < m; ++j, lambda0 = lambda1, sinPhi0 = sinPhi1, cosPhi0 = cosPhi1, point0 = point1) {\n var point1 = ring[j],\n lambda1 = point1[0],\n phi1 = point1[1] / 2 + quarterPi,\n sinPhi1 = sin(phi1),\n cosPhi1 = cos(phi1),\n delta = lambda1 - lambda0,\n sign = delta >= 0 ? 1 : -1,\n absDelta = sign * delta,\n antimeridian = absDelta > pi,\n k = sinPhi0 * sinPhi1;\n\n sum.add(atan2(k * sign * sin(absDelta), cosPhi0 * cosPhi1 + k * cos(absDelta)));\n angle += antimeridian ? delta + sign * tau : delta;\n\n // Are the longitudes either side of the point’s meridian (lambda),\n // and are the latitudes smaller than the parallel (phi)?\n if (antimeridian ^ lambda0 >= lambda ^ lambda1 >= lambda) {\n var arc = cartesianCross(cartesian(point0), cartesian(point1));\n cartesianNormalizeInPlace(arc);\n var intersection = cartesianCross(normal, arc);\n cartesianNormalizeInPlace(intersection);\n var phiArc = (antimeridian ^ delta >= 0 ? -1 : 1) * asin(intersection[2]);\n if (phi > phiArc || phi === phiArc && (arc[0] || arc[1])) {\n winding += antimeridian ^ delta >= 0 ? 1 : -1;\n }\n }\n }\n }\n\n // First, determine whether the South pole is inside or outside:\n //\n // It is inside if:\n // * the polygon winds around it in a clockwise direction.\n // * the polygon does not (cumulatively) wind around it, but has a negative\n // (counter-clockwise) area.\n //\n // Second, count the (signed) number of times a segment crosses a lambda\n // from the point to the South pole. If it is zero, then the point is the\n // same side as the South pole.\n\n return (angle < -epsilon || angle < epsilon && sum < -epsilon) ^ (winding & 1);\n}\n","import clipBuffer from \"./buffer\";\nimport clipRejoin from \"./rejoin\";\nimport {epsilon, halfPi} from \"../math\";\nimport polygonContains from \"../polygonContains\";\nimport {merge} from \"d3-array\";\n\nexport default function(pointVisible, clipLine, interpolate, start) {\n return function(sink) {\n var line = clipLine(sink),\n ringBuffer = clipBuffer(),\n ringSink = clipLine(ringBuffer),\n polygonStarted = false,\n polygon,\n segments,\n ring;\n\n var clip = {\n point: point,\n lineStart: lineStart,\n lineEnd: lineEnd,\n polygonStart: function() {\n clip.point = pointRing;\n clip.lineStart = ringStart;\n clip.lineEnd = ringEnd;\n segments = [];\n polygon = [];\n },\n polygonEnd: function() {\n clip.point = point;\n clip.lineStart = lineStart;\n clip.lineEnd = lineEnd;\n segments = merge(segments);\n var startInside = polygonContains(polygon, start);\n if (segments.length) {\n if (!polygonStarted) sink.polygonStart(), polygonStarted = true;\n clipRejoin(segments, compareIntersection, startInside, interpolate, sink);\n } else if (startInside) {\n if (!polygonStarted) sink.polygonStart(), polygonStarted = true;\n sink.lineStart();\n interpolate(null, null, 1, sink);\n sink.lineEnd();\n }\n if (polygonStarted) sink.polygonEnd(), polygonStarted = false;\n segments = polygon = null;\n },\n sphere: function() {\n sink.polygonStart();\n sink.lineStart();\n interpolate(null, null, 1, sink);\n sink.lineEnd();\n sink.polygonEnd();\n }\n };\n\n function point(lambda, phi) {\n if (pointVisible(lambda, phi)) sink.point(lambda, phi);\n }\n\n function pointLine(lambda, phi) {\n line.point(lambda, phi);\n }\n\n function lineStart() {\n clip.point = pointLine;\n line.lineStart();\n }\n\n function lineEnd() {\n clip.point = point;\n line.lineEnd();\n }\n\n function pointRing(lambda, phi) {\n ring.push([lambda, phi]);\n ringSink.point(lambda, phi);\n }\n\n function ringStart() {\n ringSink.lineStart();\n ring = [];\n }\n\n function ringEnd() {\n pointRing(ring[0][0], ring[0][1]);\n ringSink.lineEnd();\n\n var clean = ringSink.clean(),\n ringSegments = ringBuffer.result(),\n i, n = ringSegments.length, m,\n segment,\n point;\n\n ring.pop();\n polygon.push(ring);\n ring = null;\n\n if (!n) return;\n\n // No intersections.\n if (clean & 1) {\n segment = ringSegments[0];\n if ((m = segment.length - 1) > 0) {\n if (!polygonStarted) sink.polygonStart(), polygonStarted = true;\n sink.lineStart();\n for (i = 0; i < m; ++i) sink.point((point = segment[i])[0], point[1]);\n sink.lineEnd();\n }\n return;\n }\n\n // Rejoin connected segments.\n // TODO reuse ringBuffer.rejoin()?\n if (n > 1 && clean & 2) ringSegments.push(ringSegments.pop().concat(ringSegments.shift()));\n\n segments.push(ringSegments.filter(validSegment));\n }\n\n return clip;\n };\n}\n\nfunction validSegment(segment) {\n return segment.length > 1;\n}\n\n// Intersections are sorted along the clip edge. For both antimeridian cutting\n// and circle clipping, the same comparison is used.\nfunction compareIntersection(a, b) {\n return ((a = a.x)[0] < 0 ? a[1] - halfPi - epsilon : halfPi - a[1])\n - ((b = b.x)[0] < 0 ? b[1] - halfPi - epsilon : halfPi - b[1]);\n}\n","import clip from \"./index\";\nimport {abs, atan, cos, epsilon, halfPi, pi, sin} from \"../math\";\n\nexport default clip(\n function() { return true; },\n clipAntimeridianLine,\n clipAntimeridianInterpolate,\n [-pi, -halfPi]\n);\n\n// Takes a line and cuts into visible segments. Return values: 0 - there were\n// intersections or the line was empty; 1 - no intersections; 2 - there were\n// intersections, and the first and last segments should be rejoined.\nfunction clipAntimeridianLine(stream) {\n var lambda0 = NaN,\n phi0 = NaN,\n sign0 = NaN,\n clean; // no intersections\n\n return {\n lineStart: function() {\n stream.lineStart();\n clean = 1;\n },\n point: function(lambda1, phi1) {\n var sign1 = lambda1 > 0 ? pi : -pi,\n delta = abs(lambda1 - lambda0);\n if (abs(delta - pi) < epsilon) { // line crosses a pole\n stream.point(lambda0, phi0 = (phi0 + phi1) / 2 > 0 ? halfPi : -halfPi);\n stream.point(sign0, phi0);\n stream.lineEnd();\n stream.lineStart();\n stream.point(sign1, phi0);\n stream.point(lambda1, phi0);\n clean = 0;\n } else if (sign0 !== sign1 && delta >= pi) { // line crosses antimeridian\n if (abs(lambda0 - sign0) < epsilon) lambda0 -= sign0 * epsilon; // handle degeneracies\n if (abs(lambda1 - sign1) < epsilon) lambda1 -= sign1 * epsilon;\n phi0 = clipAntimeridianIntersect(lambda0, phi0, lambda1, phi1);\n stream.point(sign0, phi0);\n stream.lineEnd();\n stream.lineStart();\n stream.point(sign1, phi0);\n clean = 0;\n }\n stream.point(lambda0 = lambda1, phi0 = phi1);\n sign0 = sign1;\n },\n lineEnd: function() {\n stream.lineEnd();\n lambda0 = phi0 = NaN;\n },\n clean: function() {\n return 2 - clean; // if intersections, rejoin first and last segments\n }\n };\n}\n\nfunction clipAntimeridianIntersect(lambda0, phi0, lambda1, phi1) {\n var cosPhi0,\n cosPhi1,\n sinLambda0Lambda1 = sin(lambda0 - lambda1);\n return abs(sinLambda0Lambda1) > epsilon\n ? atan((sin(phi0) * (cosPhi1 = cos(phi1)) * sin(lambda1)\n - sin(phi1) * (cosPhi0 = cos(phi0)) * sin(lambda0))\n / (cosPhi0 * cosPhi1 * sinLambda0Lambda1))\n : (phi0 + phi1) / 2;\n}\n\nfunction clipAntimeridianInterpolate(from, to, direction, stream) {\n var phi;\n if (from == null) {\n phi = direction * halfPi;\n stream.point(-pi, phi);\n stream.point(0, phi);\n stream.point(pi, phi);\n stream.point(pi, 0);\n stream.point(pi, -phi);\n stream.point(0, -phi);\n stream.point(-pi, -phi);\n stream.point(-pi, 0);\n stream.point(-pi, phi);\n } else if (abs(from[0] - to[0]) > epsilon) {\n var lambda = from[0] < to[0] ? pi : -pi;\n phi = direction * lambda / 2;\n stream.point(-lambda, phi);\n stream.point(0, phi);\n stream.point(lambda, phi);\n } else {\n stream.point(to[0], to[1]);\n }\n}\n","import {cartesian, cartesianAddInPlace, cartesianCross, cartesianDot, cartesianScale, spherical} from \"../cartesian\";\nimport {circleStream} from \"../circle\";\nimport {abs, cos, epsilon, pi, radians, sqrt} from \"../math\";\nimport pointEqual from \"../pointEqual\";\nimport clip from \"./index\";\n\nexport default function(radius) {\n var cr = cos(radius),\n delta = 6 * radians,\n smallRadius = cr > 0,\n notHemisphere = abs(cr) > epsilon; // TODO optimise for this common case\n\n function interpolate(from, to, direction, stream) {\n circleStream(stream, radius, delta, direction, from, to);\n }\n\n function visible(lambda, phi) {\n return cos(lambda) * cos(phi) > cr;\n }\n\n // Takes a line and cuts into visible segments. Return values used for polygon\n // clipping: 0 - there were intersections or the line was empty; 1 - no\n // intersections 2 - there were intersections, and the first and last segments\n // should be rejoined.\n function clipLine(stream) {\n var point0, // previous point\n c0, // code for previous point\n v0, // visibility of previous point\n v00, // visibility of first point\n clean; // no intersections\n return {\n lineStart: function() {\n v00 = v0 = false;\n clean = 1;\n },\n point: function(lambda, phi) {\n var point1 = [lambda, phi],\n point2,\n v = visible(lambda, phi),\n c = smallRadius\n ? v ? 0 : code(lambda, phi)\n : v ? code(lambda + (lambda < 0 ? pi : -pi), phi) : 0;\n if (!point0 && (v00 = v0 = v)) stream.lineStart();\n // Handle degeneracies.\n // TODO ignore if not clipping polygons.\n if (v !== v0) {\n point2 = intersect(point0, point1);\n if (!point2 || pointEqual(point0, point2) || pointEqual(point1, point2)) {\n point1[0] += epsilon;\n point1[1] += epsilon;\n v = visible(point1[0], point1[1]);\n }\n }\n if (v !== v0) {\n clean = 0;\n if (v) {\n // outside going in\n stream.lineStart();\n point2 = intersect(point1, point0);\n stream.point(point2[0], point2[1]);\n } else {\n // inside going out\n point2 = intersect(point0, point1);\n stream.point(point2[0], point2[1]);\n stream.lineEnd();\n }\n point0 = point2;\n } else if (notHemisphere && point0 && smallRadius ^ v) {\n var t;\n // If the codes for two points are different, or are both zero,\n // and there this segment intersects with the small circle.\n if (!(c & c0) && (t = intersect(point1, point0, true))) {\n clean = 0;\n if (smallRadius) {\n stream.lineStart();\n stream.point(t[0][0], t[0][1]);\n stream.point(t[1][0], t[1][1]);\n stream.lineEnd();\n } else {\n stream.point(t[1][0], t[1][1]);\n stream.lineEnd();\n stream.lineStart();\n stream.point(t[0][0], t[0][1]);\n }\n }\n }\n if (v && (!point0 || !pointEqual(point0, point1))) {\n stream.point(point1[0], point1[1]);\n }\n point0 = point1, v0 = v, c0 = c;\n },\n lineEnd: function() {\n if (v0) stream.lineEnd();\n point0 = null;\n },\n // Rejoin first and last segments if there were intersections and the first\n // and last points were visible.\n clean: function() {\n return clean | ((v00 && v0) << 1);\n }\n };\n }\n\n // Intersects the great circle between a and b with the clip circle.\n function intersect(a, b, two) {\n var pa = cartesian(a),\n pb = cartesian(b);\n\n // We have two planes, n1.p = d1 and n2.p = d2.\n // Find intersection line p(t) = c1 n1 + c2 n2 + t (n1 ⨯ n2).\n var n1 = [1, 0, 0], // normal\n n2 = cartesianCross(pa, pb),\n n2n2 = cartesianDot(n2, n2),\n n1n2 = n2[0], // cartesianDot(n1, n2),\n determinant = n2n2 - n1n2 * n1n2;\n\n // Two polar points.\n if (!determinant) return !two && a;\n\n var c1 = cr * n2n2 / determinant,\n c2 = -cr * n1n2 / determinant,\n n1xn2 = cartesianCross(n1, n2),\n A = cartesianScale(n1, c1),\n B = cartesianScale(n2, c2);\n cartesianAddInPlace(A, B);\n\n // Solve |p(t)|^2 = 1.\n var u = n1xn2,\n w = cartesianDot(A, u),\n uu = cartesianDot(u, u),\n t2 = w * w - uu * (cartesianDot(A, A) - 1);\n\n if (t2 < 0) return;\n\n var t = sqrt(t2),\n q = cartesianScale(u, (-w - t) / uu);\n cartesianAddInPlace(q, A);\n q = spherical(q);\n\n if (!two) return q;\n\n // Two intersection points.\n var lambda0 = a[0],\n lambda1 = b[0],\n phi0 = a[1],\n phi1 = b[1],\n z;\n\n if (lambda1 < lambda0) z = lambda0, lambda0 = lambda1, lambda1 = z;\n\n var delta = lambda1 - lambda0,\n polar = abs(delta - pi) < epsilon,\n meridian = polar || delta < epsilon;\n\n if (!polar && phi1 < phi0) z = phi0, phi0 = phi1, phi1 = z;\n\n // Check that the first point is between a and b.\n if (meridian\n ? polar\n ? phi0 + phi1 > 0 ^ q[1] < (abs(q[0] - lambda0) < epsilon ? phi0 : phi1)\n : phi0 <= q[1] && q[1] <= phi1\n : delta > pi ^ (lambda0 <= q[0] && q[0] <= lambda1)) {\n var q1 = cartesianScale(u, (-w + t) / uu);\n cartesianAddInPlace(q1, A);\n return [q, spherical(q1)];\n }\n }\n\n // Generates a 4-bit vector representing the location of a point relative to\n // the small circle's bounding box.\n function code(lambda, phi) {\n var r = smallRadius ? radius : pi - radius,\n code = 0;\n if (lambda < -r) code |= 1; // left\n else if (lambda > r) code |= 2; // right\n if (phi < -r) code |= 4; // below\n else if (phi > r) code |= 8; // above\n return code;\n }\n\n return clip(visible, clipLine, interpolate, smallRadius ? [0, -radius] : [-pi, radius - pi]);\n}\n","export default function(a, b, x0, y0, x1, y1) {\n var ax = a[0],\n ay = a[1],\n bx = b[0],\n by = b[1],\n t0 = 0,\n t1 = 1,\n dx = bx - ax,\n dy = by - ay,\n r;\n\n r = x0 - ax;\n if (!dx && r > 0) return;\n r /= dx;\n if (dx < 0) {\n if (r < t0) return;\n if (r < t1) t1 = r;\n } else if (dx > 0) {\n if (r > t1) return;\n if (r > t0) t0 = r;\n }\n\n r = x1 - ax;\n if (!dx && r < 0) return;\n r /= dx;\n if (dx < 0) {\n if (r > t1) return;\n if (r > t0) t0 = r;\n } else if (dx > 0) {\n if (r < t0) return;\n if (r < t1) t1 = r;\n }\n\n r = y0 - ay;\n if (!dy && r > 0) return;\n r /= dy;\n if (dy < 0) {\n if (r < t0) return;\n if (r < t1) t1 = r;\n } else if (dy > 0) {\n if (r > t1) return;\n if (r > t0) t0 = r;\n }\n\n r = y1 - ay;\n if (!dy && r < 0) return;\n r /= dy;\n if (dy < 0) {\n if (r > t1) return;\n if (r > t0) t0 = r;\n } else if (dy > 0) {\n if (r < t0) return;\n if (r < t1) t1 = r;\n }\n\n if (t0 > 0) a[0] = ax + t0 * dx, a[1] = ay + t0 * dy;\n if (t1 < 1) b[0] = ax + t1 * dx, b[1] = ay + t1 * dy;\n return true;\n}\n","import {abs, epsilon} from \"../math\";\nimport clipBuffer from \"./buffer\";\nimport clipLine from \"./line\";\nimport clipRejoin from \"./rejoin\";\nimport {merge} from \"d3-array\";\n\nvar clipMax = 1e9, clipMin = -clipMax;\n\n// TODO Use d3-polygon’s polygonContains here for the ring check?\n// TODO Eliminate duplicate buffering in clipBuffer and polygon.push?\n\nexport default function clipRectangle(x0, y0, x1, y1) {\n\n function visible(x, y) {\n return x0 <= x && x <= x1 && y0 <= y && y <= y1;\n }\n\n function interpolate(from, to, direction, stream) {\n var a = 0, a1 = 0;\n if (from == null\n || (a = corner(from, direction)) !== (a1 = corner(to, direction))\n || comparePoint(from, to) < 0 ^ direction > 0) {\n do stream.point(a === 0 || a === 3 ? x0 : x1, a > 1 ? y1 : y0);\n while ((a = (a + direction + 4) % 4) !== a1);\n } else {\n stream.point(to[0], to[1]);\n }\n }\n\n function corner(p, direction) {\n return abs(p[0] - x0) < epsilon ? direction > 0 ? 0 : 3\n : abs(p[0] - x1) < epsilon ? direction > 0 ? 2 : 1\n : abs(p[1] - y0) < epsilon ? direction > 0 ? 1 : 0\n : direction > 0 ? 3 : 2; // abs(p[1] - y1) < epsilon\n }\n\n function compareIntersection(a, b) {\n return comparePoint(a.x, b.x);\n }\n\n function comparePoint(a, b) {\n var ca = corner(a, 1),\n cb = corner(b, 1);\n return ca !== cb ? ca - cb\n : ca === 0 ? b[1] - a[1]\n : ca === 1 ? a[0] - b[0]\n : ca === 2 ? a[1] - b[1]\n : b[0] - a[0];\n }\n\n return function(stream) {\n var activeStream = stream,\n bufferStream = clipBuffer(),\n segments,\n polygon,\n ring,\n x__, y__, v__, // first point\n x_, y_, v_, // previous point\n first,\n clean;\n\n var clipStream = {\n point: point,\n lineStart: lineStart,\n lineEnd: lineEnd,\n polygonStart: polygonStart,\n polygonEnd: polygonEnd\n };\n\n function point(x, y) {\n if (visible(x, y)) activeStream.point(x, y);\n }\n\n function polygonInside() {\n var winding = 0;\n\n for (var i = 0, n = polygon.length; i < n; ++i) {\n for (var ring = polygon[i], j = 1, m = ring.length, point = ring[0], a0, a1, b0 = point[0], b1 = point[1]; j < m; ++j) {\n a0 = b0, a1 = b1, point = ring[j], b0 = point[0], b1 = point[1];\n if (a1 <= y1) { if (b1 > y1 && (b0 - a0) * (y1 - a1) > (b1 - a1) * (x0 - a0)) ++winding; }\n else { if (b1 <= y1 && (b0 - a0) * (y1 - a1) < (b1 - a1) * (x0 - a0)) --winding; }\n }\n }\n\n return winding;\n }\n\n // Buffer geometry within a polygon and then clip it en masse.\n function polygonStart() {\n activeStream = bufferStream, segments = [], polygon = [], clean = true;\n }\n\n function polygonEnd() {\n var startInside = polygonInside(),\n cleanInside = clean && startInside,\n visible = (segments = merge(segments)).length;\n if (cleanInside || visible) {\n stream.polygonStart();\n if (cleanInside) {\n stream.lineStart();\n interpolate(null, null, 1, stream);\n stream.lineEnd();\n }\n if (visible) {\n clipRejoin(segments, compareIntersection, startInside, interpolate, stream);\n }\n stream.polygonEnd();\n }\n activeStream = stream, segments = polygon = ring = null;\n }\n\n function lineStart() {\n clipStream.point = linePoint;\n if (polygon) polygon.push(ring = []);\n first = true;\n v_ = false;\n x_ = y_ = NaN;\n }\n\n // TODO rather than special-case polygons, simply handle them separately.\n // Ideally, coincident intersection points should be jittered to avoid\n // clipping issues.\n function lineEnd() {\n if (segments) {\n linePoint(x__, y__);\n if (v__ && v_) bufferStream.rejoin();\n segments.push(bufferStream.result());\n }\n clipStream.point = point;\n if (v_) activeStream.lineEnd();\n }\n\n function linePoint(x, y) {\n var v = visible(x, y);\n if (polygon) ring.push([x, y]);\n if (first) {\n x__ = x, y__ = y, v__ = v;\n first = false;\n if (v) {\n activeStream.lineStart();\n activeStream.point(x, y);\n }\n } else {\n if (v && v_) activeStream.point(x, y);\n else {\n var a = [x_ = Math.max(clipMin, Math.min(clipMax, x_)), y_ = Math.max(clipMin, Math.min(clipMax, y_))],\n b = [x = Math.max(clipMin, Math.min(clipMax, x)), y = Math.max(clipMin, Math.min(clipMax, y))];\n if (clipLine(a, b, x0, y0, x1, y1)) {\n if (!v_) {\n activeStream.lineStart();\n activeStream.point(a[0], a[1]);\n }\n activeStream.point(b[0], b[1]);\n if (!v) activeStream.lineEnd();\n clean = false;\n } else if (v) {\n activeStream.lineStart();\n activeStream.point(x, y);\n clean = false;\n }\n }\n }\n x_ = x, y_ = y, v_ = v;\n }\n\n return clipStream;\n };\n}\n","import clipRectangle from \"./rectangle\";\n\nexport default function() {\n var x0 = 0,\n y0 = 0,\n x1 = 960,\n y1 = 500,\n cache,\n cacheStream,\n clip;\n\n return clip = {\n stream: function(stream) {\n return cache && cacheStream === stream ? cache : cache = clipRectangle(x0, y0, x1, y1)(cacheStream = stream);\n },\n extent: function(_) {\n return arguments.length ? (x0 = +_[0][0], y0 = +_[0][1], x1 = +_[1][0], y1 = +_[1][1], cache = cacheStream = null, clip) : [[x0, y0], [x1, y1]];\n }\n };\n}\n","import adder from \"./adder\";\nimport {abs, atan2, cos, radians, sin, sqrt} from \"./math\";\nimport noop from \"./noop\";\nimport stream from \"./stream\";\n\nvar lengthSum = adder(),\n lambda0,\n sinPhi0,\n cosPhi0;\n\nvar lengthStream = {\n sphere: noop,\n point: noop,\n lineStart: lengthLineStart,\n lineEnd: noop,\n polygonStart: noop,\n polygonEnd: noop\n};\n\nfunction lengthLineStart() {\n lengthStream.point = lengthPointFirst;\n lengthStream.lineEnd = lengthLineEnd;\n}\n\nfunction lengthLineEnd() {\n lengthStream.point = lengthStream.lineEnd = noop;\n}\n\nfunction lengthPointFirst(lambda, phi) {\n lambda *= radians, phi *= radians;\n lambda0 = lambda, sinPhi0 = sin(phi), cosPhi0 = cos(phi);\n lengthStream.point = lengthPoint;\n}\n\nfunction lengthPoint(lambda, phi) {\n lambda *= radians, phi *= radians;\n var sinPhi = sin(phi),\n cosPhi = cos(phi),\n delta = abs(lambda - lambda0),\n cosDelta = cos(delta),\n sinDelta = sin(delta),\n x = cosPhi * sinDelta,\n y = cosPhi0 * sinPhi - sinPhi0 * cosPhi * cosDelta,\n z = sinPhi0 * sinPhi + cosPhi0 * cosPhi * cosDelta;\n lengthSum.add(atan2(sqrt(x * x + y * y), z));\n lambda0 = lambda, sinPhi0 = sinPhi, cosPhi0 = cosPhi;\n}\n\nexport default function(object) {\n lengthSum.reset();\n stream(object, lengthStream);\n return +lengthSum;\n}\n","import length from \"./length\";\n\nvar coordinates = [null, null],\n object = {type: \"LineString\", coordinates: coordinates};\n\nexport default function(a, b) {\n coordinates[0] = a;\n coordinates[1] = b;\n return length(object);\n}\n","import {default as polygonContains} from \"./polygonContains\";\nimport {default as distance} from \"./distance\";\nimport {epsilon, radians} from \"./math\";\n\nvar containsObjectType = {\n Feature: function(object, point) {\n return containsGeometry(object.geometry, point);\n },\n FeatureCollection: function(object, point) {\n var features = object.features, i = -1, n = features.length;\n while (++i < n) if (containsGeometry(features[i].geometry, point)) return true;\n return false;\n }\n};\n\nvar containsGeometryType = {\n Sphere: function() {\n return true;\n },\n Point: function(object, point) {\n return containsPoint(object.coordinates, point);\n },\n MultiPoint: function(object, point) {\n var coordinates = object.coordinates, i = -1, n = coordinates.length;\n while (++i < n) if (containsPoint(coordinates[i], point)) return true;\n return false;\n },\n LineString: function(object, point) {\n return containsLine(object.coordinates, point);\n },\n MultiLineString: function(object, point) {\n var coordinates = object.coordinates, i = -1, n = coordinates.length;\n while (++i < n) if (containsLine(coordinates[i], point)) return true;\n return false;\n },\n Polygon: function(object, point) {\n return containsPolygon(object.coordinates, point);\n },\n MultiPolygon: function(object, point) {\n var coordinates = object.coordinates, i = -1, n = coordinates.length;\n while (++i < n) if (containsPolygon(coordinates[i], point)) return true;\n return false;\n },\n GeometryCollection: function(object, point) {\n var geometries = object.geometries, i = -1, n = geometries.length;\n while (++i < n) if (containsGeometry(geometries[i], point)) return true;\n return false;\n }\n};\n\nfunction containsGeometry(geometry, point) {\n return geometry && containsGeometryType.hasOwnProperty(geometry.type)\n ? containsGeometryType[geometry.type](geometry, point)\n : false;\n}\n\nfunction containsPoint(coordinates, point) {\n return distance(coordinates, point) === 0;\n}\n\nfunction containsLine(coordinates, point) {\n var ab = distance(coordinates[0], coordinates[1]),\n ao = distance(coordinates[0], point),\n ob = distance(point, coordinates[1]);\n return ao + ob <= ab + epsilon;\n}\n\nfunction containsPolygon(coordinates, point) {\n return !!polygonContains(coordinates.map(ringRadians), pointRadians(point));\n}\n\nfunction ringRadians(ring) {\n return ring = ring.map(pointRadians), ring.pop(), ring;\n}\n\nfunction pointRadians(point) {\n return [point[0] * radians, point[1] * radians];\n}\n\nexport default function(object, point) {\n return (object && containsObjectType.hasOwnProperty(object.type)\n ? containsObjectType[object.type]\n : containsGeometry)(object, point);\n}\n","import {range} from \"d3-array\";\nimport {abs, ceil, epsilon} from \"./math\";\n\nfunction graticuleX(y0, y1, dy) {\n var y = range(y0, y1 - epsilon, dy).concat(y1);\n return function(x) { return y.map(function(y) { return [x, y]; }); };\n}\n\nfunction graticuleY(x0, x1, dx) {\n var x = range(x0, x1 - epsilon, dx).concat(x1);\n return function(y) { return x.map(function(x) { return [x, y]; }); };\n}\n\nexport default function graticule() {\n var x1, x0, X1, X0,\n y1, y0, Y1, Y0,\n dx = 10, dy = dx, DX = 90, DY = 360,\n x, y, X, Y,\n precision = 2.5;\n\n function graticule() {\n return {type: \"MultiLineString\", coordinates: lines()};\n }\n\n function lines() {\n return range(ceil(X0 / DX) * DX, X1, DX).map(X)\n .concat(range(ceil(Y0 / DY) * DY, Y1, DY).map(Y))\n .concat(range(ceil(x0 / dx) * dx, x1, dx).filter(function(x) { return abs(x % DX) > epsilon; }).map(x))\n .concat(range(ceil(y0 / dy) * dy, y1, dy).filter(function(y) { return abs(y % DY) > epsilon; }).map(y));\n }\n\n graticule.lines = function() {\n return lines().map(function(coordinates) { return {type: \"LineString\", coordinates: coordinates}; });\n };\n\n graticule.outline = function() {\n return {\n type: \"Polygon\",\n coordinates: [\n X(X0).concat(\n Y(Y1).slice(1),\n X(X1).reverse().slice(1),\n Y(Y0).reverse().slice(1))\n ]\n };\n };\n\n graticule.extent = function(_) {\n if (!arguments.length) return graticule.extentMinor();\n return graticule.extentMajor(_).extentMinor(_);\n };\n\n graticule.extentMajor = function(_) {\n if (!arguments.length) return [[X0, Y0], [X1, Y1]];\n X0 = +_[0][0], X1 = +_[1][0];\n Y0 = +_[0][1], Y1 = +_[1][1];\n if (X0 > X1) _ = X0, X0 = X1, X1 = _;\n if (Y0 > Y1) _ = Y0, Y0 = Y1, Y1 = _;\n return graticule.precision(precision);\n };\n\n graticule.extentMinor = function(_) {\n if (!arguments.length) return [[x0, y0], [x1, y1]];\n x0 = +_[0][0], x1 = +_[1][0];\n y0 = +_[0][1], y1 = +_[1][1];\n if (x0 > x1) _ = x0, x0 = x1, x1 = _;\n if (y0 > y1) _ = y0, y0 = y1, y1 = _;\n return graticule.precision(precision);\n };\n\n graticule.step = function(_) {\n if (!arguments.length) return graticule.stepMinor();\n return graticule.stepMajor(_).stepMinor(_);\n };\n\n graticule.stepMajor = function(_) {\n if (!arguments.length) return [DX, DY];\n DX = +_[0], DY = +_[1];\n return graticule;\n };\n\n graticule.stepMinor = function(_) {\n if (!arguments.length) return [dx, dy];\n dx = +_[0], dy = +_[1];\n return graticule;\n };\n\n graticule.precision = function(_) {\n if (!arguments.length) return precision;\n precision = +_;\n x = graticuleX(y0, y1, 90);\n y = graticuleY(x0, x1, precision);\n X = graticuleX(Y0, Y1, 90);\n Y = graticuleY(X0, X1, precision);\n return graticule;\n };\n\n return graticule\n .extentMajor([[-180, -90 + epsilon], [180, 90 - epsilon]])\n .extentMinor([[-180, -80 - epsilon], [180, 80 + epsilon]]);\n}\n\nexport function graticule10() {\n return graticule()();\n}\n","import {asin, atan2, cos, degrees, haversin, radians, sin, sqrt} from \"./math\";\n\nexport default function(a, b) {\n var x0 = a[0] * radians,\n y0 = a[1] * radians,\n x1 = b[0] * radians,\n y1 = b[1] * radians,\n cy0 = cos(y0),\n sy0 = sin(y0),\n cy1 = cos(y1),\n sy1 = sin(y1),\n kx0 = cy0 * cos(x0),\n ky0 = cy0 * sin(x0),\n kx1 = cy1 * cos(x1),\n ky1 = cy1 * sin(x1),\n d = 2 * asin(sqrt(haversin(y1 - y0) + cy0 * cy1 * haversin(x1 - x0))),\n k = sin(d);\n\n var interpolate = d ? function(t) {\n var B = sin(t *= d) / k,\n A = sin(d - t) / k,\n x = A * kx0 + B * kx1,\n y = A * ky0 + B * ky1,\n z = A * sy0 + B * sy1;\n return [\n atan2(y, x) * degrees,\n atan2(z, sqrt(x * x + y * y)) * degrees\n ];\n } : function() {\n return [x0 * degrees, y0 * degrees];\n };\n\n interpolate.distance = d;\n\n return interpolate;\n}\n","export default function(x) {\n return x;\n}\n","import adder from \"../adder\";\nimport {abs} from \"../math\";\nimport noop from \"../noop\";\n\nvar areaSum = adder(),\n areaRingSum = adder(),\n x00,\n y00,\n x0,\n y0;\n\nvar areaStream = {\n point: noop,\n lineStart: noop,\n lineEnd: noop,\n polygonStart: function() {\n areaStream.lineStart = areaRingStart;\n areaStream.lineEnd = areaRingEnd;\n },\n polygonEnd: function() {\n areaStream.lineStart = areaStream.lineEnd = areaStream.point = noop;\n areaSum.add(abs(areaRingSum));\n areaRingSum.reset();\n },\n result: function() {\n var area = areaSum / 2;\n areaSum.reset();\n return area;\n }\n};\n\nfunction areaRingStart() {\n areaStream.point = areaPointFirst;\n}\n\nfunction areaPointFirst(x, y) {\n areaStream.point = areaPoint;\n x00 = x0 = x, y00 = y0 = y;\n}\n\nfunction areaPoint(x, y) {\n areaRingSum.add(y0 * x - x0 * y);\n x0 = x, y0 = y;\n}\n\nfunction areaRingEnd() {\n areaPoint(x00, y00);\n}\n\nexport default areaStream;\n","import noop from \"../noop\";\n\nvar x0 = Infinity,\n y0 = x0,\n x1 = -x0,\n y1 = x1;\n\nvar boundsStream = {\n point: boundsPoint,\n lineStart: noop,\n lineEnd: noop,\n polygonStart: noop,\n polygonEnd: noop,\n result: function() {\n var bounds = [[x0, y0], [x1, y1]];\n x1 = y1 = -(y0 = x0 = Infinity);\n return bounds;\n }\n};\n\nfunction boundsPoint(x, y) {\n if (x < x0) x0 = x;\n if (x > x1) x1 = x;\n if (y < y0) y0 = y;\n if (y > y1) y1 = y;\n}\n\nexport default boundsStream;\n","import {sqrt} from \"../math\";\n\n// TODO Enforce positive area for exterior, negative area for interior?\n\nvar X0 = 0,\n Y0 = 0,\n Z0 = 0,\n X1 = 0,\n Y1 = 0,\n Z1 = 0,\n X2 = 0,\n Y2 = 0,\n Z2 = 0,\n x00,\n y00,\n x0,\n y0;\n\nvar centroidStream = {\n point: centroidPoint,\n lineStart: centroidLineStart,\n lineEnd: centroidLineEnd,\n polygonStart: function() {\n centroidStream.lineStart = centroidRingStart;\n centroidStream.lineEnd = centroidRingEnd;\n },\n polygonEnd: function() {\n centroidStream.point = centroidPoint;\n centroidStream.lineStart = centroidLineStart;\n centroidStream.lineEnd = centroidLineEnd;\n },\n result: function() {\n var centroid = Z2 ? [X2 / Z2, Y2 / Z2]\n : Z1 ? [X1 / Z1, Y1 / Z1]\n : Z0 ? [X0 / Z0, Y0 / Z0]\n : [NaN, NaN];\n X0 = Y0 = Z0 =\n X1 = Y1 = Z1 =\n X2 = Y2 = Z2 = 0;\n return centroid;\n }\n};\n\nfunction centroidPoint(x, y) {\n X0 += x;\n Y0 += y;\n ++Z0;\n}\n\nfunction centroidLineStart() {\n centroidStream.point = centroidPointFirstLine;\n}\n\nfunction centroidPointFirstLine(x, y) {\n centroidStream.point = centroidPointLine;\n centroidPoint(x0 = x, y0 = y);\n}\n\nfunction centroidPointLine(x, y) {\n var dx = x - x0, dy = y - y0, z = sqrt(dx * dx + dy * dy);\n X1 += z * (x0 + x) / 2;\n Y1 += z * (y0 + y) / 2;\n Z1 += z;\n centroidPoint(x0 = x, y0 = y);\n}\n\nfunction centroidLineEnd() {\n centroidStream.point = centroidPoint;\n}\n\nfunction centroidRingStart() {\n centroidStream.point = centroidPointFirstRing;\n}\n\nfunction centroidRingEnd() {\n centroidPointRing(x00, y00);\n}\n\nfunction centroidPointFirstRing(x, y) {\n centroidStream.point = centroidPointRing;\n centroidPoint(x00 = x0 = x, y00 = y0 = y);\n}\n\nfunction centroidPointRing(x, y) {\n var dx = x - x0,\n dy = y - y0,\n z = sqrt(dx * dx + dy * dy);\n\n X1 += z * (x0 + x) / 2;\n Y1 += z * (y0 + y) / 2;\n Z1 += z;\n\n z = y0 * x - x0 * y;\n X2 += z * (x0 + x);\n Y2 += z * (y0 + y);\n Z2 += z * 3;\n centroidPoint(x0 = x, y0 = y);\n}\n\nexport default centroidStream;\n","import {tau} from \"../math\";\nimport noop from \"../noop\";\n\nexport default function PathContext(context) {\n this._context = context;\n}\n\nPathContext.prototype = {\n _radius: 4.5,\n pointRadius: function(_) {\n return this._radius = _, this;\n },\n polygonStart: function() {\n this._line = 0;\n },\n polygonEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._point = 0;\n },\n lineEnd: function() {\n if (this._line === 0) this._context.closePath();\n this._point = NaN;\n },\n point: function(x, y) {\n switch (this._point) {\n case 0: {\n this._context.moveTo(x, y);\n this._point = 1;\n break;\n }\n case 1: {\n this._context.lineTo(x, y);\n break;\n }\n default: {\n this._context.moveTo(x + this._radius, y);\n this._context.arc(x, y, this._radius, 0, tau);\n break;\n }\n }\n },\n result: noop\n};\n","import adder from \"../adder\";\nimport {sqrt} from \"../math\";\nimport noop from \"../noop\";\n\nvar lengthSum = adder(),\n lengthRing,\n x00,\n y00,\n x0,\n y0;\n\nvar lengthStream = {\n point: noop,\n lineStart: function() {\n lengthStream.point = lengthPointFirst;\n },\n lineEnd: function() {\n if (lengthRing) lengthPoint(x00, y00);\n lengthStream.point = noop;\n },\n polygonStart: function() {\n lengthRing = true;\n },\n polygonEnd: function() {\n lengthRing = null;\n },\n result: function() {\n var length = +lengthSum;\n lengthSum.reset();\n return length;\n }\n};\n\nfunction lengthPointFirst(x, y) {\n lengthStream.point = lengthPoint;\n x00 = x0 = x, y00 = y0 = y;\n}\n\nfunction lengthPoint(x, y) {\n x0 -= x, y0 -= y;\n lengthSum.add(sqrt(x0 * x0 + y0 * y0));\n x0 = x, y0 = y;\n}\n\nexport default lengthStream;\n","export default function PathString() {\n this._string = [];\n}\n\nPathString.prototype = {\n _radius: 4.5,\n _circle: circle(4.5),\n pointRadius: function(_) {\n if ((_ = +_) !== this._radius) this._radius = _, this._circle = null;\n return this;\n },\n polygonStart: function() {\n this._line = 0;\n },\n polygonEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._point = 0;\n },\n lineEnd: function() {\n if (this._line === 0) this._string.push(\"Z\");\n this._point = NaN;\n },\n point: function(x, y) {\n switch (this._point) {\n case 0: {\n this._string.push(\"M\", x, \",\", y);\n this._point = 1;\n break;\n }\n case 1: {\n this._string.push(\"L\", x, \",\", y);\n break;\n }\n default: {\n if (this._circle == null) this._circle = circle(this._radius);\n this._string.push(\"M\", x, \",\", y, this._circle);\n break;\n }\n }\n },\n result: function() {\n if (this._string.length) {\n var result = this._string.join(\"\");\n this._string = [];\n return result;\n } else {\n return null;\n }\n }\n};\n\nfunction circle(radius) {\n return \"m0,\" + radius\n + \"a\" + radius + \",\" + radius + \" 0 1,1 0,\" + -2 * radius\n + \"a\" + radius + \",\" + radius + \" 0 1,1 0,\" + 2 * radius\n + \"z\";\n}\n","import identity from \"../identity\";\nimport stream from \"../stream\";\nimport pathArea from \"./area\";\nimport pathBounds from \"./bounds\";\nimport pathCentroid from \"./centroid\";\nimport PathContext from \"./context\";\nimport pathMeasure from \"./measure\";\nimport PathString from \"./string\";\n\nexport default function(projection, context) {\n var pointRadius = 4.5,\n projectionStream,\n contextStream;\n\n function path(object) {\n if (object) {\n if (typeof pointRadius === \"function\") contextStream.pointRadius(+pointRadius.apply(this, arguments));\n stream(object, projectionStream(contextStream));\n }\n return contextStream.result();\n }\n\n path.area = function(object) {\n stream(object, projectionStream(pathArea));\n return pathArea.result();\n };\n\n path.measure = function(object) {\n stream(object, projectionStream(pathMeasure));\n return pathMeasure.result();\n };\n\n path.bounds = function(object) {\n stream(object, projectionStream(pathBounds));\n return pathBounds.result();\n };\n\n path.centroid = function(object) {\n stream(object, projectionStream(pathCentroid));\n return pathCentroid.result();\n };\n\n path.projection = function(_) {\n return arguments.length ? (projectionStream = _ == null ? (projection = null, identity) : (projection = _).stream, path) : projection;\n };\n\n path.context = function(_) {\n if (!arguments.length) return context;\n contextStream = _ == null ? (context = null, new PathString) : new PathContext(context = _);\n if (typeof pointRadius !== \"function\") contextStream.pointRadius(pointRadius);\n return path;\n };\n\n path.pointRadius = function(_) {\n if (!arguments.length) return pointRadius;\n pointRadius = typeof _ === \"function\" ? _ : (contextStream.pointRadius(+_), +_);\n return path;\n };\n\n return path.projection(projection).context(context);\n}\n","export default function(methods) {\n return {\n stream: transformer(methods)\n };\n}\n\nexport function transformer(methods) {\n return function(stream) {\n var s = new TransformStream;\n for (var key in methods) s[key] = methods[key];\n s.stream = stream;\n return s;\n };\n}\n\nfunction TransformStream() {}\n\nTransformStream.prototype = {\n constructor: TransformStream,\n point: function(x, y) { this.stream.point(x, y); },\n sphere: function() { this.stream.sphere(); },\n lineStart: function() { this.stream.lineStart(); },\n lineEnd: function() { this.stream.lineEnd(); },\n polygonStart: function() { this.stream.polygonStart(); },\n polygonEnd: function() { this.stream.polygonEnd(); }\n};\n","import {default as geoStream} from \"../stream\";\nimport boundsStream from \"../path/bounds\";\n\nfunction fit(projection, fitBounds, object) {\n var clip = projection.clipExtent && projection.clipExtent();\n projection.scale(150).translate([0, 0]);\n if (clip != null) projection.clipExtent(null);\n geoStream(object, projection.stream(boundsStream));\n fitBounds(boundsStream.result());\n if (clip != null) projection.clipExtent(clip);\n return projection;\n}\n\nexport function fitExtent(projection, extent, object) {\n return fit(projection, function(b) {\n var w = extent[1][0] - extent[0][0],\n h = extent[1][1] - extent[0][1],\n k = Math.min(w / (b[1][0] - b[0][0]), h / (b[1][1] - b[0][1])),\n x = +extent[0][0] + (w - k * (b[1][0] + b[0][0])) / 2,\n y = +extent[0][1] + (h - k * (b[1][1] + b[0][1])) / 2;\n projection.scale(150 * k).translate([x, y]);\n }, object);\n}\n\nexport function fitSize(projection, size, object) {\n return fitExtent(projection, [[0, 0], size], object);\n}\n\nexport function fitWidth(projection, width, object) {\n return fit(projection, function(b) {\n var w = +width,\n k = w / (b[1][0] - b[0][0]),\n x = (w - k * (b[1][0] + b[0][0])) / 2,\n y = -k * b[0][1];\n projection.scale(150 * k).translate([x, y]);\n }, object);\n}\n\nexport function fitHeight(projection, height, object) {\n return fit(projection, function(b) {\n var h = +height,\n k = h / (b[1][1] - b[0][1]),\n x = -k * b[0][0],\n y = (h - k * (b[1][1] + b[0][1])) / 2;\n projection.scale(150 * k).translate([x, y]);\n }, object);\n}\n","import {cartesian} from \"../cartesian\";\nimport {abs, asin, atan2, cos, epsilon, radians, sqrt} from \"../math\";\nimport {transformer} from \"../transform\";\n\nvar maxDepth = 16, // maximum depth of subdivision\n cosMinDistance = cos(30 * radians); // cos(minimum angular distance)\n\nexport default function(project, delta2) {\n return +delta2 ? resample(project, delta2) : resampleNone(project);\n}\n\nfunction resampleNone(project) {\n return transformer({\n point: function(x, y) {\n x = project(x, y);\n this.stream.point(x[0], x[1]);\n }\n });\n}\n\nfunction resample(project, delta2) {\n\n function resampleLineTo(x0, y0, lambda0, a0, b0, c0, x1, y1, lambda1, a1, b1, c1, depth, stream) {\n var dx = x1 - x0,\n dy = y1 - y0,\n d2 = dx * dx + dy * dy;\n if (d2 > 4 * delta2 && depth--) {\n var a = a0 + a1,\n b = b0 + b1,\n c = c0 + c1,\n m = sqrt(a * a + b * b + c * c),\n phi2 = asin(c /= m),\n lambda2 = abs(abs(c) - 1) < epsilon || abs(lambda0 - lambda1) < epsilon ? (lambda0 + lambda1) / 2 : atan2(b, a),\n p = project(lambda2, phi2),\n x2 = p[0],\n y2 = p[1],\n dx2 = x2 - x0,\n dy2 = y2 - y0,\n dz = dy * dx2 - dx * dy2;\n if (dz * dz / d2 > delta2 // perpendicular projected distance\n || abs((dx * dx2 + dy * dy2) / d2 - 0.5) > 0.3 // midpoint close to an end\n || a0 * a1 + b0 * b1 + c0 * c1 < cosMinDistance) { // angular distance\n resampleLineTo(x0, y0, lambda0, a0, b0, c0, x2, y2, lambda2, a /= m, b /= m, c, depth, stream);\n stream.point(x2, y2);\n resampleLineTo(x2, y2, lambda2, a, b, c, x1, y1, lambda1, a1, b1, c1, depth, stream);\n }\n }\n }\n return function(stream) {\n var lambda00, x00, y00, a00, b00, c00, // first point\n lambda0, x0, y0, a0, b0, c0; // previous point\n\n var resampleStream = {\n point: point,\n lineStart: lineStart,\n lineEnd: lineEnd,\n polygonStart: function() { stream.polygonStart(); resampleStream.lineStart = ringStart; },\n polygonEnd: function() { stream.polygonEnd(); resampleStream.lineStart = lineStart; }\n };\n\n function point(x, y) {\n x = project(x, y);\n stream.point(x[0], x[1]);\n }\n\n function lineStart() {\n x0 = NaN;\n resampleStream.point = linePoint;\n stream.lineStart();\n }\n\n function linePoint(lambda, phi) {\n var c = cartesian([lambda, phi]), p = project(lambda, phi);\n resampleLineTo(x0, y0, lambda0, a0, b0, c0, x0 = p[0], y0 = p[1], lambda0 = lambda, a0 = c[0], b0 = c[1], c0 = c[2], maxDepth, stream);\n stream.point(x0, y0);\n }\n\n function lineEnd() {\n resampleStream.point = point;\n stream.lineEnd();\n }\n\n function ringStart() {\n lineStart();\n resampleStream.point = ringPoint;\n resampleStream.lineEnd = ringEnd;\n }\n\n function ringPoint(lambda, phi) {\n linePoint(lambda00 = lambda, phi), x00 = x0, y00 = y0, a00 = a0, b00 = b0, c00 = c0;\n resampleStream.point = linePoint;\n }\n\n function ringEnd() {\n resampleLineTo(x0, y0, lambda0, a0, b0, c0, x00, y00, lambda00, a00, b00, c00, maxDepth, stream);\n resampleStream.lineEnd = lineEnd;\n lineEnd();\n }\n\n return resampleStream;\n };\n}\n","import clipAntimeridian from \"../clip/antimeridian\";\nimport clipCircle from \"../clip/circle\";\nimport clipRectangle from \"../clip/rectangle\";\nimport compose from \"../compose\";\nimport identity from \"../identity\";\nimport {cos, degrees, radians, sin, sqrt} from \"../math\";\nimport {rotateRadians} from \"../rotation\";\nimport {transformer} from \"../transform\";\nimport {fitExtent, fitSize, fitWidth, fitHeight} from \"./fit\";\nimport resample from \"./resample\";\n\nvar transformRadians = transformer({\n point: function(x, y) {\n this.stream.point(x * radians, y * radians);\n }\n});\n\nfunction transformRotate(rotate) {\n return transformer({\n point: function(x, y) {\n var r = rotate(x, y);\n return this.stream.point(r[0], r[1]);\n }\n });\n}\n\nfunction scaleTranslate(k, dx, dy) {\n function transform(x, y) {\n return [dx + k * x, dy - k * y];\n }\n transform.invert = function(x, y) {\n return [(x - dx) / k, (dy - y) / k];\n };\n return transform;\n}\n\nfunction scaleTranslateRotate(k, dx, dy, alpha) {\n var cosAlpha = cos(alpha),\n sinAlpha = sin(alpha),\n a = cosAlpha * k,\n b = sinAlpha * k,\n ai = cosAlpha / k,\n bi = sinAlpha / k,\n ci = (sinAlpha * dy - cosAlpha * dx) / k,\n fi = (sinAlpha * dx + cosAlpha * dy) / k;\n function transform(x, y) {\n return [a * x - b * y + dx, dy - b * x - a * y];\n }\n transform.invert = function(x, y) {\n return [ai * x - bi * y + ci, fi - bi * x - ai * y];\n };\n return transform;\n}\n\nexport default function projection(project) {\n return projectionMutator(function() { return project; })();\n}\n\nexport function projectionMutator(projectAt) {\n var project,\n k = 150, // scale\n x = 480, y = 250, // translate\n lambda = 0, phi = 0, // center\n deltaLambda = 0, deltaPhi = 0, deltaGamma = 0, rotate, // pre-rotate\n alpha = 0, // post-rotate\n theta = null, preclip = clipAntimeridian, // pre-clip angle\n x0 = null, y0, x1, y1, postclip = identity, // post-clip extent\n delta2 = 0.5, // precision\n projectResample,\n projectTransform,\n projectRotateTransform,\n cache,\n cacheStream;\n\n function projection(point) {\n return projectRotateTransform(point[0] * radians, point[1] * radians);\n }\n\n function invert(point) {\n point = projectRotateTransform.invert(point[0], point[1]);\n return point && [point[0] * degrees, point[1] * degrees];\n }\n\n projection.stream = function(stream) {\n return cache && cacheStream === stream ? cache : cache = transformRadians(transformRotate(rotate)(preclip(projectResample(postclip(cacheStream = stream)))));\n };\n\n projection.preclip = function(_) {\n return arguments.length ? (preclip = _, theta = undefined, reset()) : preclip;\n };\n\n projection.postclip = function(_) {\n return arguments.length ? (postclip = _, x0 = y0 = x1 = y1 = null, reset()) : postclip;\n };\n\n projection.clipAngle = function(_) {\n return arguments.length ? (preclip = +_ ? clipCircle(theta = _ * radians) : (theta = null, clipAntimeridian), reset()) : theta * degrees;\n };\n\n projection.clipExtent = function(_) {\n return arguments.length ? (postclip = _ == null ? (x0 = y0 = x1 = y1 = null, identity) : clipRectangle(x0 = +_[0][0], y0 = +_[0][1], x1 = +_[1][0], y1 = +_[1][1]), reset()) : x0 == null ? null : [[x0, y0], [x1, y1]];\n };\n\n projection.scale = function(_) {\n return arguments.length ? (k = +_, recenter()) : k;\n };\n\n projection.translate = function(_) {\n return arguments.length ? (x = +_[0], y = +_[1], recenter()) : [x, y];\n };\n\n projection.center = function(_) {\n return arguments.length ? (lambda = _[0] % 360 * radians, phi = _[1] % 360 * radians, recenter()) : [lambda * degrees, phi * degrees];\n };\n\n projection.rotate = function(_) {\n return arguments.length ? (deltaLambda = _[0] % 360 * radians, deltaPhi = _[1] % 360 * radians, deltaGamma = _.length > 2 ? _[2] % 360 * radians : 0, recenter()) : [deltaLambda * degrees, deltaPhi * degrees, deltaGamma * degrees];\n };\n\n projection.angle = function(_) {\n return arguments.length ? (alpha = _ % 360 * radians, recenter()) : alpha * degrees;\n };\n\n projection.precision = function(_) {\n return arguments.length ? (projectResample = resample(projectTransform, delta2 = _ * _), reset()) : sqrt(delta2);\n };\n\n projection.fitExtent = function(extent, object) {\n return fitExtent(projection, extent, object);\n };\n\n projection.fitSize = function(size, object) {\n return fitSize(projection, size, object);\n };\n\n projection.fitWidth = function(width, object) {\n return fitWidth(projection, width, object);\n };\n\n projection.fitHeight = function(height, object) {\n return fitHeight(projection, height, object);\n };\n\n function recenter() {\n var center = scaleTranslateRotate(k, 0, 0, alpha).apply(null, project(lambda, phi)),\n transform = (alpha ? scaleTranslateRotate : scaleTranslate)(k, x - center[0], y - center[1], alpha);\n rotate = rotateRadians(deltaLambda, deltaPhi, deltaGamma);\n projectTransform = compose(project, transform);\n projectRotateTransform = compose(rotate, projectTransform);\n projectResample = resample(projectTransform, delta2);\n return reset();\n }\n\n function reset() {\n cache = cacheStream = null;\n return projection;\n }\n\n return function() {\n project = projectAt.apply(this, arguments);\n projection.invert = project.invert && invert;\n return recenter();\n };\n}\n","import {degrees, pi, radians} from \"../math\";\nimport {projectionMutator} from \"./index\";\n\nexport function conicProjection(projectAt) {\n var phi0 = 0,\n phi1 = pi / 3,\n m = projectionMutator(projectAt),\n p = m(phi0, phi1);\n\n p.parallels = function(_) {\n return arguments.length ? m(phi0 = _[0] * radians, phi1 = _[1] * radians) : [phi0 * degrees, phi1 * degrees];\n };\n\n return p;\n}\n","import {asin, cos, sin} from \"../math\";\n\nexport function cylindricalEqualAreaRaw(phi0) {\n var cosPhi0 = cos(phi0);\n\n function forward(lambda, phi) {\n return [lambda * cosPhi0, sin(phi) / cosPhi0];\n }\n\n forward.invert = function(x, y) {\n return [x / cosPhi0, asin(y * cosPhi0)];\n };\n\n return forward;\n}\n","import {abs, asin, atan2, cos, epsilon, sign, sin, sqrt} from \"../math\";\nimport {conicProjection} from \"./conic\";\nimport {cylindricalEqualAreaRaw} from \"./cylindricalEqualArea\";\n\nexport function conicEqualAreaRaw(y0, y1) {\n var sy0 = sin(y0), n = (sy0 + sin(y1)) / 2;\n\n // Are the parallels symmetrical around the Equator?\n if (abs(n) < epsilon) return cylindricalEqualAreaRaw(y0);\n\n var c = 1 + sy0 * (2 * n - sy0), r0 = sqrt(c) / n;\n\n function project(x, y) {\n var r = sqrt(c - 2 * n * sin(y)) / n;\n return [r * sin(x *= n), r0 - r * cos(x)];\n }\n\n project.invert = function(x, y) {\n var r0y = r0 - y;\n return [atan2(x, abs(r0y)) / n * sign(r0y), asin((c - (x * x + r0y * r0y) * n * n) / (2 * n))];\n };\n\n return project;\n}\n\nexport default function() {\n return conicProjection(conicEqualAreaRaw)\n .scale(155.424)\n .center([0, 33.6442]);\n}\n","import conicEqualArea from \"./conicEqualArea\";\n\nexport default function() {\n return conicEqualArea()\n .parallels([29.5, 45.5])\n .scale(1070)\n .translate([480, 250])\n .rotate([96, 0])\n .center([-0.6, 38.7]);\n}\n","import {epsilon} from \"../math\";\nimport albers from \"./albers\";\nimport conicEqualArea from \"./conicEqualArea\";\nimport {fitExtent, fitSize, fitWidth, fitHeight} from \"./fit\";\n\n// The projections must have mutually exclusive clip regions on the sphere,\n// as this will avoid emitting interleaving lines and polygons.\nfunction multiplex(streams) {\n var n = streams.length;\n return {\n point: function(x, y) { var i = -1; while (++i < n) streams[i].point(x, y); },\n sphere: function() { var i = -1; while (++i < n) streams[i].sphere(); },\n lineStart: function() { var i = -1; while (++i < n) streams[i].lineStart(); },\n lineEnd: function() { var i = -1; while (++i < n) streams[i].lineEnd(); },\n polygonStart: function() { var i = -1; while (++i < n) streams[i].polygonStart(); },\n polygonEnd: function() { var i = -1; while (++i < n) streams[i].polygonEnd(); }\n };\n}\n\n// A composite projection for the United States, configured by default for\n// 960×500. The projection also works quite well at 960×600 if you change the\n// scale to 1285 and adjust the translate accordingly. The set of standard\n// parallels for each region comes from USGS, which is published here:\n// http://egsc.usgs.gov/isb/pubs/MapProjections/projections.html#albers\nexport default function() {\n var cache,\n cacheStream,\n lower48 = albers(), lower48Point,\n alaska = conicEqualArea().rotate([154, 0]).center([-2, 58.5]).parallels([55, 65]), alaskaPoint, // EPSG:3338\n hawaii = conicEqualArea().rotate([157, 0]).center([-3, 19.9]).parallels([8, 18]), hawaiiPoint, // ESRI:102007\n point, pointStream = {point: function(x, y) { point = [x, y]; }};\n\n function albersUsa(coordinates) {\n var x = coordinates[0], y = coordinates[1];\n return point = null,\n (lower48Point.point(x, y), point)\n || (alaskaPoint.point(x, y), point)\n || (hawaiiPoint.point(x, y), point);\n }\n\n albersUsa.invert = function(coordinates) {\n var k = lower48.scale(),\n t = lower48.translate(),\n x = (coordinates[0] - t[0]) / k,\n y = (coordinates[1] - t[1]) / k;\n return (y >= 0.120 && y < 0.234 && x >= -0.425 && x < -0.214 ? alaska\n : y >= 0.166 && y < 0.234 && x >= -0.214 && x < -0.115 ? hawaii\n : lower48).invert(coordinates);\n };\n\n albersUsa.stream = function(stream) {\n return cache && cacheStream === stream ? cache : cache = multiplex([lower48.stream(cacheStream = stream), alaska.stream(stream), hawaii.stream(stream)]);\n };\n\n albersUsa.precision = function(_) {\n if (!arguments.length) return lower48.precision();\n lower48.precision(_), alaska.precision(_), hawaii.precision(_);\n return reset();\n };\n\n albersUsa.scale = function(_) {\n if (!arguments.length) return lower48.scale();\n lower48.scale(_), alaska.scale(_ * 0.35), hawaii.scale(_);\n return albersUsa.translate(lower48.translate());\n };\n\n albersUsa.translate = function(_) {\n if (!arguments.length) return lower48.translate();\n var k = lower48.scale(), x = +_[0], y = +_[1];\n\n lower48Point = lower48\n .translate(_)\n .clipExtent([[x - 0.455 * k, y - 0.238 * k], [x + 0.455 * k, y + 0.238 * k]])\n .stream(pointStream);\n\n alaskaPoint = alaska\n .translate([x - 0.307 * k, y + 0.201 * k])\n .clipExtent([[x - 0.425 * k + epsilon, y + 0.120 * k + epsilon], [x - 0.214 * k - epsilon, y + 0.234 * k - epsilon]])\n .stream(pointStream);\n\n hawaiiPoint = hawaii\n .translate([x - 0.205 * k, y + 0.212 * k])\n .clipExtent([[x - 0.214 * k + epsilon, y + 0.166 * k + epsilon], [x - 0.115 * k - epsilon, y + 0.234 * k - epsilon]])\n .stream(pointStream);\n\n return reset();\n };\n\n albersUsa.fitExtent = function(extent, object) {\n return fitExtent(albersUsa, extent, object);\n };\n\n albersUsa.fitSize = function(size, object) {\n return fitSize(albersUsa, size, object);\n };\n\n albersUsa.fitWidth = function(width, object) {\n return fitWidth(albersUsa, width, object);\n };\n\n albersUsa.fitHeight = function(height, object) {\n return fitHeight(albersUsa, height, object);\n };\n\n function reset() {\n cache = cacheStream = null;\n return albersUsa;\n }\n\n return albersUsa.scale(1070);\n}\n","import {asin, atan2, cos, sin, sqrt} from \"../math\";\n\nexport function azimuthalRaw(scale) {\n return function(x, y) {\n var cx = cos(x),\n cy = cos(y),\n k = scale(cx * cy);\n return [\n k * cy * sin(x),\n k * sin(y)\n ];\n }\n}\n\nexport function azimuthalInvert(angle) {\n return function(x, y) {\n var z = sqrt(x * x + y * y),\n c = angle(z),\n sc = sin(c),\n cc = cos(c);\n return [\n atan2(x * sc, z * cc),\n asin(z && y * sc / z)\n ];\n }\n}\n","import {asin, sqrt} from \"../math\";\nimport {azimuthalRaw, azimuthalInvert} from \"./azimuthal\";\nimport projection from \"./index\";\n\nexport var azimuthalEqualAreaRaw = azimuthalRaw(function(cxcy) {\n return sqrt(2 / (1 + cxcy));\n});\n\nazimuthalEqualAreaRaw.invert = azimuthalInvert(function(z) {\n return 2 * asin(z / 2);\n});\n\nexport default function() {\n return projection(azimuthalEqualAreaRaw)\n .scale(124.75)\n .clipAngle(180 - 1e-3);\n}\n","import {acos, sin} from \"../math\";\nimport {azimuthalRaw, azimuthalInvert} from \"./azimuthal\";\nimport projection from \"./index\";\n\nexport var azimuthalEquidistantRaw = azimuthalRaw(function(c) {\n return (c = acos(c)) && c / sin(c);\n});\n\nazimuthalEquidistantRaw.invert = azimuthalInvert(function(z) {\n return z;\n});\n\nexport default function() {\n return projection(azimuthalEquidistantRaw)\n .scale(79.4188)\n .clipAngle(180 - 1e-3);\n}\n","import {atan, exp, halfPi, log, pi, tan, tau} from \"../math\";\nimport rotation from \"../rotation\";\nimport projection from \"./index\";\n\nexport function mercatorRaw(lambda, phi) {\n return [lambda, log(tan((halfPi + phi) / 2))];\n}\n\nmercatorRaw.invert = function(x, y) {\n return [x, 2 * atan(exp(y)) - halfPi];\n};\n\nexport default function() {\n return mercatorProjection(mercatorRaw)\n .scale(961 / tau);\n}\n\nexport function mercatorProjection(project) {\n var m = projection(project),\n center = m.center,\n scale = m.scale,\n translate = m.translate,\n clipExtent = m.clipExtent,\n x0 = null, y0, x1, y1; // clip extent\n\n m.scale = function(_) {\n return arguments.length ? (scale(_), reclip()) : scale();\n };\n\n m.translate = function(_) {\n return arguments.length ? (translate(_), reclip()) : translate();\n };\n\n m.center = function(_) {\n return arguments.length ? (center(_), reclip()) : center();\n };\n\n m.clipExtent = function(_) {\n return arguments.length ? ((_ == null ? x0 = y0 = x1 = y1 = null : (x0 = +_[0][0], y0 = +_[0][1], x1 = +_[1][0], y1 = +_[1][1])), reclip()) : x0 == null ? null : [[x0, y0], [x1, y1]];\n };\n\n function reclip() {\n var k = pi * scale(),\n t = m(rotation(m.rotate()).invert([0, 0]));\n return clipExtent(x0 == null\n ? [[t[0] - k, t[1] - k], [t[0] + k, t[1] + k]] : project === mercatorRaw\n ? [[Math.max(t[0] - k, x0), y0], [Math.min(t[0] + k, x1), y1]]\n : [[x0, Math.max(t[1] - k, y0)], [x1, Math.min(t[1] + k, y1)]]);\n }\n\n return reclip();\n}\n","import {abs, atan, atan2, cos, epsilon, halfPi, log, pow, sign, sin, sqrt, tan} from \"../math\";\nimport {conicProjection} from \"./conic\";\nimport {mercatorRaw} from \"./mercator\";\n\nfunction tany(y) {\n return tan((halfPi + y) / 2);\n}\n\nexport function conicConformalRaw(y0, y1) {\n var cy0 = cos(y0),\n n = y0 === y1 ? sin(y0) : log(cy0 / cos(y1)) / log(tany(y1) / tany(y0)),\n f = cy0 * pow(tany(y0), n) / n;\n\n if (!n) return mercatorRaw;\n\n function project(x, y) {\n if (f > 0) { if (y < -halfPi + epsilon) y = -halfPi + epsilon; }\n else { if (y > halfPi - epsilon) y = halfPi - epsilon; }\n var r = f / pow(tany(y), n);\n return [r * sin(n * x), f - r * cos(n * x)];\n }\n\n project.invert = function(x, y) {\n var fy = f - y, r = sign(n) * sqrt(x * x + fy * fy);\n return [atan2(x, abs(fy)) / n * sign(fy), 2 * atan(pow(f / r, 1 / n)) - halfPi];\n };\n\n return project;\n}\n\nexport default function() {\n return conicProjection(conicConformalRaw)\n .scale(109.5)\n .parallels([30, 30]);\n}\n","import projection from \"./index\";\n\nexport function equirectangularRaw(lambda, phi) {\n return [lambda, phi];\n}\n\nequirectangularRaw.invert = equirectangularRaw;\n\nexport default function() {\n return projection(equirectangularRaw)\n .scale(152.63);\n}\n","import {abs, atan2, cos, epsilon, sign, sin, sqrt} from \"../math\";\nimport {conicProjection} from \"./conic\";\nimport {equirectangularRaw} from \"./equirectangular\";\n\nexport function conicEquidistantRaw(y0, y1) {\n var cy0 = cos(y0),\n n = y0 === y1 ? sin(y0) : (cy0 - cos(y1)) / (y1 - y0),\n g = cy0 / n + y0;\n\n if (abs(n) < epsilon) return equirectangularRaw;\n\n function project(x, y) {\n var gy = g - y, nx = n * x;\n return [gy * sin(nx), g - gy * cos(nx)];\n }\n\n project.invert = function(x, y) {\n var gy = g - y;\n return [atan2(x, abs(gy)) / n * sign(gy), g - sign(n) * sqrt(x * x + gy * gy)];\n };\n\n return project;\n}\n\nexport default function() {\n return conicProjection(conicEquidistantRaw)\n .scale(131.154)\n .center([0, 13.9389]);\n}\n","import {atan, cos, sin} from \"../math\";\nimport {azimuthalInvert} from \"./azimuthal\";\nimport projection from \"./index\";\n\nexport function gnomonicRaw(x, y) {\n var cy = cos(y), k = cos(x) * cy;\n return [cy * sin(x) / k, sin(y) / k];\n}\n\ngnomonicRaw.invert = azimuthalInvert(atan);\n\nexport default function() {\n return projection(gnomonicRaw)\n .scale(144.049)\n .clipAngle(60);\n}\n","import clipRectangle from \"../clip/rectangle\";\nimport identity from \"../identity\";\nimport {transformer} from \"../transform\";\nimport {fitExtent, fitSize, fitWidth, fitHeight} from \"./fit\";\n\nfunction scaleTranslate(kx, ky, tx, ty) {\n return kx === 1 && ky === 1 && tx === 0 && ty === 0 ? identity : transformer({\n point: function(x, y) {\n this.stream.point(x * kx + tx, y * ky + ty);\n }\n });\n}\n\nexport default function() {\n var k = 1, tx = 0, ty = 0, sx = 1, sy = 1, transform = identity, // scale, translate and reflect\n x0 = null, y0, x1, y1, // clip extent\n postclip = identity,\n cache,\n cacheStream,\n projection;\n\n function reset() {\n cache = cacheStream = null;\n return projection;\n }\n\n return projection = {\n stream: function(stream) {\n return cache && cacheStream === stream ? cache : cache = transform(postclip(cacheStream = stream));\n },\n postclip: function(_) {\n return arguments.length ? (postclip = _, x0 = y0 = x1 = y1 = null, reset()) : postclip;\n },\n clipExtent: function(_) {\n return arguments.length ? (postclip = _ == null ? (x0 = y0 = x1 = y1 = null, identity) : clipRectangle(x0 = +_[0][0], y0 = +_[0][1], x1 = +_[1][0], y1 = +_[1][1]), reset()) : x0 == null ? null : [[x0, y0], [x1, y1]];\n },\n scale: function(_) {\n return arguments.length ? (transform = scaleTranslate((k = +_) * sx, k * sy, tx, ty), reset()) : k;\n },\n translate: function(_) {\n return arguments.length ? (transform = scaleTranslate(k * sx, k * sy, tx = +_[0], ty = +_[1]), reset()) : [tx, ty];\n },\n reflectX: function(_) {\n return arguments.length ? (transform = scaleTranslate(k * (sx = _ ? -1 : 1), k * sy, tx, ty), reset()) : sx < 0;\n },\n reflectY: function(_) {\n return arguments.length ? (transform = scaleTranslate(k * sx, k * (sy = _ ? -1 : 1), tx, ty), reset()) : sy < 0;\n },\n fitExtent: function(extent, object) {\n return fitExtent(projection, extent, object);\n },\n fitSize: function(size, object) {\n return fitSize(projection, size, object);\n },\n fitWidth: function(width, object) {\n return fitWidth(projection, width, object);\n },\n fitHeight: function(height, object) {\n return fitHeight(projection, height, object);\n }\n };\n}\n","import projection from \"./index\";\nimport {abs, epsilon} from \"../math\";\n\nexport function naturalEarth1Raw(lambda, phi) {\n var phi2 = phi * phi, phi4 = phi2 * phi2;\n return [\n lambda * (0.8707 - 0.131979 * phi2 + phi4 * (-0.013791 + phi4 * (0.003971 * phi2 - 0.001529 * phi4))),\n phi * (1.007226 + phi2 * (0.015085 + phi4 * (-0.044475 + 0.028874 * phi2 - 0.005916 * phi4)))\n ];\n}\n\nnaturalEarth1Raw.invert = function(x, y) {\n var phi = y, i = 25, delta;\n do {\n var phi2 = phi * phi, phi4 = phi2 * phi2;\n phi -= delta = (phi * (1.007226 + phi2 * (0.015085 + phi4 * (-0.044475 + 0.028874 * phi2 - 0.005916 * phi4))) - y) /\n (1.007226 + phi2 * (0.015085 * 3 + phi4 * (-0.044475 * 7 + 0.028874 * 9 * phi2 - 0.005916 * 11 * phi4)));\n } while (abs(delta) > epsilon && --i > 0);\n return [\n x / (0.8707 + (phi2 = phi * phi) * (-0.131979 + phi2 * (-0.013791 + phi2 * phi2 * phi2 * (0.003971 - 0.001529 * phi2)))),\n phi\n ];\n};\n\nexport default function() {\n return projection(naturalEarth1Raw)\n .scale(175.295);\n}\n","import {asin, cos, epsilon, sin} from \"../math\";\nimport {azimuthalInvert} from \"./azimuthal\";\nimport projection from \"./index\";\n\nexport function orthographicRaw(x, y) {\n return [cos(y) * sin(x), sin(y)];\n}\n\northographicRaw.invert = azimuthalInvert(asin);\n\nexport default function() {\n return projection(orthographicRaw)\n .scale(249.5)\n .clipAngle(90 + epsilon);\n}\n","import {atan, cos, sin} from \"../math\";\nimport {azimuthalInvert} from \"./azimuthal\";\nimport projection from \"./index\";\n\nexport function stereographicRaw(x, y) {\n var cy = cos(y), k = 1 + cos(x) * cy;\n return [cy * sin(x) / k, sin(y) / k];\n}\n\nstereographicRaw.invert = azimuthalInvert(function(z) {\n return 2 * atan(z);\n});\n\nexport default function() {\n return projection(stereographicRaw)\n .scale(250)\n .clipAngle(142);\n}\n","import {atan, exp, halfPi, log, tan} from \"../math\";\nimport {mercatorProjection} from \"./mercator\";\n\nexport function transverseMercatorRaw(lambda, phi) {\n return [log(tan((halfPi + phi) / 2)), -lambda];\n}\n\ntransverseMercatorRaw.invert = function(x, y) {\n return [-y, 2 * atan(exp(x)) - halfPi];\n};\n\nexport default function() {\n var m = mercatorProjection(transverseMercatorRaw),\n center = m.center,\n rotate = m.rotate;\n\n m.center = function(_) {\n return arguments.length ? center([-_[1], _[0]]) : (_ = center(), [_[1], -_[0]]);\n };\n\n m.rotate = function(_) {\n return arguments.length ? rotate([_[0], _[1], _.length > 2 ? _[2] + 90 : 90]) : (_ = rotate(), [_[0], _[1], _[2] - 90]);\n };\n\n return rotate([0, 0, 90])\n .scale(159.155);\n}\n","export {default as geoArea} from \"./src/area\";\nexport {default as geoBounds} from \"./src/bounds\";\nexport {default as geoCentroid} from \"./src/centroid\";\nexport {default as geoCircle} from \"./src/circle\";\nexport {default as geoClipAntimeridian} from \"./src/clip/antimeridian\";\nexport {default as geoClipCircle} from \"./src/clip/circle\";\nexport {default as geoClipExtent} from \"./src/clip/extent\"; // DEPRECATED! Use d3.geoIdentity().clipExtent(…).\nexport {default as geoClipRectangle} from \"./src/clip/rectangle\";\nexport {default as geoContains} from \"./src/contains\";\nexport {default as geoDistance} from \"./src/distance\";\nexport {default as geoGraticule, graticule10 as geoGraticule10} from \"./src/graticule\";\nexport {default as geoInterpolate} from \"./src/interpolate\";\nexport {default as geoLength} from \"./src/length\";\nexport {default as geoPath} from \"./src/path/index\";\nexport {default as geoAlbers} from \"./src/projection/albers\";\nexport {default as geoAlbersUsa} from \"./src/projection/albersUsa\";\nexport {default as geoAzimuthalEqualArea, azimuthalEqualAreaRaw as geoAzimuthalEqualAreaRaw} from \"./src/projection/azimuthalEqualArea\";\nexport {default as geoAzimuthalEquidistant, azimuthalEquidistantRaw as geoAzimuthalEquidistantRaw} from \"./src/projection/azimuthalEquidistant\";\nexport {default as geoConicConformal, conicConformalRaw as geoConicConformalRaw} from \"./src/projection/conicConformal\";\nexport {default as geoConicEqualArea, conicEqualAreaRaw as geoConicEqualAreaRaw} from \"./src/projection/conicEqualArea\";\nexport {default as geoConicEquidistant, conicEquidistantRaw as geoConicEquidistantRaw} from \"./src/projection/conicEquidistant\";\nexport {default as geoEquirectangular, equirectangularRaw as geoEquirectangularRaw} from \"./src/projection/equirectangular\";\nexport {default as geoGnomonic, gnomonicRaw as geoGnomonicRaw} from \"./src/projection/gnomonic\";\nexport {default as geoIdentity} from \"./src/projection/identity\";\nexport {default as geoProjection, projectionMutator as geoProjectionMutator} from \"./src/projection/index\";\nexport {default as geoMercator, mercatorRaw as geoMercatorRaw} from \"./src/projection/mercator\";\nexport {default as geoNaturalEarth1, naturalEarth1Raw as geoNaturalEarth1Raw} from \"./src/projection/naturalEarth1\";\nexport {default as geoOrthographic, orthographicRaw as geoOrthographicRaw} from \"./src/projection/orthographic\";\nexport {default as geoStereographic, stereographicRaw as geoStereographicRaw} from \"./src/projection/stereographic\";\nexport {default as geoTransverseMercator, transverseMercatorRaw as geoTransverseMercatorRaw} from \"./src/projection/transverseMercator\";\nexport {default as geoRotation} from \"./src/rotation\";\nexport {default as geoStream} from \"./src/stream\";\nexport {default as geoTransform} from \"./src/transform\";\n","function defaultSeparation(a, b) {\n return a.parent === b.parent ? 1 : 2;\n}\n\nfunction meanX(children) {\n return children.reduce(meanXReduce, 0) / children.length;\n}\n\nfunction meanXReduce(x, c) {\n return x + c.x;\n}\n\nfunction maxY(children) {\n return 1 + children.reduce(maxYReduce, 0);\n}\n\nfunction maxYReduce(y, c) {\n return Math.max(y, c.y);\n}\n\nfunction leafLeft(node) {\n var children;\n while (children = node.children) node = children[0];\n return node;\n}\n\nfunction leafRight(node) {\n var children;\n while (children = node.children) node = children[children.length - 1];\n return node;\n}\n\nexport default function() {\n var separation = defaultSeparation,\n dx = 1,\n dy = 1,\n nodeSize = false;\n\n function cluster(root) {\n var previousNode,\n x = 0;\n\n // First walk, computing the initial x & y values.\n root.eachAfter(function(node) {\n var children = node.children;\n if (children) {\n node.x = meanX(children);\n node.y = maxY(children);\n } else {\n node.x = previousNode ? x += separation(node, previousNode) : 0;\n node.y = 0;\n previousNode = node;\n }\n });\n\n var left = leafLeft(root),\n right = leafRight(root),\n x0 = left.x - separation(left, right) / 2,\n x1 = right.x + separation(right, left) / 2;\n\n // Second walk, normalizing x & y to the desired size.\n return root.eachAfter(nodeSize ? function(node) {\n node.x = (node.x - root.x) * dx;\n node.y = (root.y - node.y) * dy;\n } : function(node) {\n node.x = (node.x - x0) / (x1 - x0) * dx;\n node.y = (1 - (root.y ? node.y / root.y : 1)) * dy;\n });\n }\n\n cluster.separation = function(x) {\n return arguments.length ? (separation = x, cluster) : separation;\n };\n\n cluster.size = function(x) {\n return arguments.length ? (nodeSize = false, dx = +x[0], dy = +x[1], cluster) : (nodeSize ? null : [dx, dy]);\n };\n\n cluster.nodeSize = function(x) {\n return arguments.length ? (nodeSize = true, dx = +x[0], dy = +x[1], cluster) : (nodeSize ? [dx, dy] : null);\n };\n\n return cluster;\n}\n","function count(node) {\n var sum = 0,\n children = node.children,\n i = children && children.length;\n if (!i) sum = 1;\n else while (--i >= 0) sum += children[i].value;\n node.value = sum;\n}\n\nexport default function() {\n return this.eachAfter(count);\n}\n","export default function(callback) {\n var node = this, current, next = [node], children, i, n;\n do {\n current = next.reverse(), next = [];\n while (node = current.pop()) {\n callback(node), children = node.children;\n if (children) for (i = 0, n = children.length; i < n; ++i) {\n next.push(children[i]);\n }\n }\n } while (next.length);\n return this;\n}\n","export default function(callback) {\n var node = this, nodes = [node], children, i;\n while (node = nodes.pop()) {\n callback(node), children = node.children;\n if (children) for (i = children.length - 1; i >= 0; --i) {\n nodes.push(children[i]);\n }\n }\n return this;\n}\n","export default function(callback) {\n var node = this, nodes = [node], next = [], children, i, n;\n while (node = nodes.pop()) {\n next.push(node), children = node.children;\n if (children) for (i = 0, n = children.length; i < n; ++i) {\n nodes.push(children[i]);\n }\n }\n while (node = next.pop()) {\n callback(node);\n }\n return this;\n}\n","export default function(value) {\n return this.eachAfter(function(node) {\n var sum = +value(node.data) || 0,\n children = node.children,\n i = children && children.length;\n while (--i >= 0) sum += children[i].value;\n node.value = sum;\n });\n}\n","export default function(compare) {\n return this.eachBefore(function(node) {\n if (node.children) {\n node.children.sort(compare);\n }\n });\n}\n","export default function(end) {\n var start = this,\n ancestor = leastCommonAncestor(start, end),\n nodes = [start];\n while (start !== ancestor) {\n start = start.parent;\n nodes.push(start);\n }\n var k = nodes.length;\n while (end !== ancestor) {\n nodes.splice(k, 0, end);\n end = end.parent;\n }\n return nodes;\n}\n\nfunction leastCommonAncestor(a, b) {\n if (a === b) return a;\n var aNodes = a.ancestors(),\n bNodes = b.ancestors(),\n c = null;\n a = aNodes.pop();\n b = bNodes.pop();\n while (a === b) {\n c = a;\n a = aNodes.pop();\n b = bNodes.pop();\n }\n return c;\n}\n","export default function() {\n var node = this, nodes = [node];\n while (node = node.parent) {\n nodes.push(node);\n }\n return nodes;\n}\n","export default function() {\n var nodes = [];\n this.each(function(node) {\n nodes.push(node);\n });\n return nodes;\n}\n","export default function() {\n var leaves = [];\n this.eachBefore(function(node) {\n if (!node.children) {\n leaves.push(node);\n }\n });\n return leaves;\n}\n","export default function() {\n var root = this, links = [];\n root.each(function(node) {\n if (node !== root) { // Don’t include the root’s parent, if any.\n links.push({source: node.parent, target: node});\n }\n });\n return links;\n}\n","import node_count from \"./count\";\nimport node_each from \"./each\";\nimport node_eachBefore from \"./eachBefore\";\nimport node_eachAfter from \"./eachAfter\";\nimport node_sum from \"./sum\";\nimport node_sort from \"./sort\";\nimport node_path from \"./path\";\nimport node_ancestors from \"./ancestors\";\nimport node_descendants from \"./descendants\";\nimport node_leaves from \"./leaves\";\nimport node_links from \"./links\";\n\nexport default function hierarchy(data, children) {\n var root = new Node(data),\n valued = +data.value && (root.value = data.value),\n node,\n nodes = [root],\n child,\n childs,\n i,\n n;\n\n if (children == null) children = defaultChildren;\n\n while (node = nodes.pop()) {\n if (valued) node.value = +node.data.value;\n if ((childs = children(node.data)) && (n = childs.length)) {\n node.children = new Array(n);\n for (i = n - 1; i >= 0; --i) {\n nodes.push(child = node.children[i] = new Node(childs[i]));\n child.parent = node;\n child.depth = node.depth + 1;\n }\n }\n }\n\n return root.eachBefore(computeHeight);\n}\n\nfunction node_copy() {\n return hierarchy(this).eachBefore(copyData);\n}\n\nfunction defaultChildren(d) {\n return d.children;\n}\n\nfunction copyData(node) {\n node.data = node.data.data;\n}\n\nexport function computeHeight(node) {\n var height = 0;\n do node.height = height;\n while ((node = node.parent) && (node.height < ++height));\n}\n\nexport function Node(data) {\n this.data = data;\n this.depth =\n this.height = 0;\n this.parent = null;\n}\n\nNode.prototype = hierarchy.prototype = {\n constructor: Node,\n count: node_count,\n each: node_each,\n eachAfter: node_eachAfter,\n eachBefore: node_eachBefore,\n sum: node_sum,\n sort: node_sort,\n path: node_path,\n ancestors: node_ancestors,\n descendants: node_descendants,\n leaves: node_leaves,\n links: node_links,\n copy: node_copy\n};\n","export var slice = Array.prototype.slice;\n\nexport function shuffle(array) {\n var m = array.length,\n t,\n i;\n\n while (m) {\n i = Math.random() * m-- | 0;\n t = array[m];\n array[m] = array[i];\n array[i] = t;\n }\n\n return array;\n}\n","import {shuffle, slice} from \"../array\";\n\nexport default function(circles) {\n var i = 0, n = (circles = shuffle(slice.call(circles))).length, B = [], p, e;\n\n while (i < n) {\n p = circles[i];\n if (e && enclosesWeak(e, p)) ++i;\n else e = encloseBasis(B = extendBasis(B, p)), i = 0;\n }\n\n return e;\n}\n\nfunction extendBasis(B, p) {\n var i, j;\n\n if (enclosesWeakAll(p, B)) return [p];\n\n // If we get here then B must have at least one element.\n for (i = 0; i < B.length; ++i) {\n if (enclosesNot(p, B[i])\n && enclosesWeakAll(encloseBasis2(B[i], p), B)) {\n return [B[i], p];\n }\n }\n\n // If we get here then B must have at least two elements.\n for (i = 0; i < B.length - 1; ++i) {\n for (j = i + 1; j < B.length; ++j) {\n if (enclosesNot(encloseBasis2(B[i], B[j]), p)\n && enclosesNot(encloseBasis2(B[i], p), B[j])\n && enclosesNot(encloseBasis2(B[j], p), B[i])\n && enclosesWeakAll(encloseBasis3(B[i], B[j], p), B)) {\n return [B[i], B[j], p];\n }\n }\n }\n\n // If we get here then something is very wrong.\n throw new Error;\n}\n\nfunction enclosesNot(a, b) {\n var dr = a.r - b.r, dx = b.x - a.x, dy = b.y - a.y;\n return dr < 0 || dr * dr < dx * dx + dy * dy;\n}\n\nfunction enclosesWeak(a, b) {\n var dr = a.r - b.r + 1e-6, dx = b.x - a.x, dy = b.y - a.y;\n return dr > 0 && dr * dr > dx * dx + dy * dy;\n}\n\nfunction enclosesWeakAll(a, B) {\n for (var i = 0; i < B.length; ++i) {\n if (!enclosesWeak(a, B[i])) {\n return false;\n }\n }\n return true;\n}\n\nfunction encloseBasis(B) {\n switch (B.length) {\n case 1: return encloseBasis1(B[0]);\n case 2: return encloseBasis2(B[0], B[1]);\n case 3: return encloseBasis3(B[0], B[1], B[2]);\n }\n}\n\nfunction encloseBasis1(a) {\n return {\n x: a.x,\n y: a.y,\n r: a.r\n };\n}\n\nfunction encloseBasis2(a, b) {\n var x1 = a.x, y1 = a.y, r1 = a.r,\n x2 = b.x, y2 = b.y, r2 = b.r,\n x21 = x2 - x1, y21 = y2 - y1, r21 = r2 - r1,\n l = Math.sqrt(x21 * x21 + y21 * y21);\n return {\n x: (x1 + x2 + x21 / l * r21) / 2,\n y: (y1 + y2 + y21 / l * r21) / 2,\n r: (l + r1 + r2) / 2\n };\n}\n\nfunction encloseBasis3(a, b, c) {\n var x1 = a.x, y1 = a.y, r1 = a.r,\n x2 = b.x, y2 = b.y, r2 = b.r,\n x3 = c.x, y3 = c.y, r3 = c.r,\n a2 = x1 - x2,\n a3 = x1 - x3,\n b2 = y1 - y2,\n b3 = y1 - y3,\n c2 = r2 - r1,\n c3 = r3 - r1,\n d1 = x1 * x1 + y1 * y1 - r1 * r1,\n d2 = d1 - x2 * x2 - y2 * y2 + r2 * r2,\n d3 = d1 - x3 * x3 - y3 * y3 + r3 * r3,\n ab = a3 * b2 - a2 * b3,\n xa = (b2 * d3 - b3 * d2) / (ab * 2) - x1,\n xb = (b3 * c2 - b2 * c3) / ab,\n ya = (a3 * d2 - a2 * d3) / (ab * 2) - y1,\n yb = (a2 * c3 - a3 * c2) / ab,\n A = xb * xb + yb * yb - 1,\n B = 2 * (r1 + xa * xb + ya * yb),\n C = xa * xa + ya * ya - r1 * r1,\n r = -(A ? (B + Math.sqrt(B * B - 4 * A * C)) / (2 * A) : C / B);\n return {\n x: x1 + xa + xb * r,\n y: y1 + ya + yb * r,\n r: r\n };\n}\n","import enclose from \"./enclose\";\n\nfunction place(b, a, c) {\n var dx = b.x - a.x, x, a2,\n dy = b.y - a.y, y, b2,\n d2 = dx * dx + dy * dy;\n if (d2) {\n a2 = a.r + c.r, a2 *= a2;\n b2 = b.r + c.r, b2 *= b2;\n if (a2 > b2) {\n x = (d2 + b2 - a2) / (2 * d2);\n y = Math.sqrt(Math.max(0, b2 / d2 - x * x));\n c.x = b.x - x * dx - y * dy;\n c.y = b.y - x * dy + y * dx;\n } else {\n x = (d2 + a2 - b2) / (2 * d2);\n y = Math.sqrt(Math.max(0, a2 / d2 - x * x));\n c.x = a.x + x * dx - y * dy;\n c.y = a.y + x * dy + y * dx;\n }\n } else {\n c.x = a.x + c.r;\n c.y = a.y;\n }\n}\n\nfunction intersects(a, b) {\n var dr = a.r + b.r - 1e-6, dx = b.x - a.x, dy = b.y - a.y;\n return dr > 0 && dr * dr > dx * dx + dy * dy;\n}\n\nfunction score(node) {\n var a = node._,\n b = node.next._,\n ab = a.r + b.r,\n dx = (a.x * b.r + b.x * a.r) / ab,\n dy = (a.y * b.r + b.y * a.r) / ab;\n return dx * dx + dy * dy;\n}\n\nfunction Node(circle) {\n this._ = circle;\n this.next = null;\n this.previous = null;\n}\n\nexport function packEnclose(circles) {\n if (!(n = circles.length)) return 0;\n\n var a, b, c, n, aa, ca, i, j, k, sj, sk;\n\n // Place the first circle.\n a = circles[0], a.x = 0, a.y = 0;\n if (!(n > 1)) return a.r;\n\n // Place the second circle.\n b = circles[1], a.x = -b.r, b.x = a.r, b.y = 0;\n if (!(n > 2)) return a.r + b.r;\n\n // Place the third circle.\n place(b, a, c = circles[2]);\n\n // Initialize the front-chain using the first three circles a, b and c.\n a = new Node(a), b = new Node(b), c = new Node(c);\n a.next = c.previous = b;\n b.next = a.previous = c;\n c.next = b.previous = a;\n\n // Attempt to place each remaining circle…\n pack: for (i = 3; i < n; ++i) {\n place(a._, b._, c = circles[i]), c = new Node(c);\n\n // Find the closest intersecting circle on the front-chain, if any.\n // “Closeness” is determined by linear distance along the front-chain.\n // “Ahead” or “behind” is likewise determined by linear distance.\n j = b.next, k = a.previous, sj = b._.r, sk = a._.r;\n do {\n if (sj <= sk) {\n if (intersects(j._, c._)) {\n b = j, a.next = b, b.previous = a, --i;\n continue pack;\n }\n sj += j._.r, j = j.next;\n } else {\n if (intersects(k._, c._)) {\n a = k, a.next = b, b.previous = a, --i;\n continue pack;\n }\n sk += k._.r, k = k.previous;\n }\n } while (j !== k.next);\n\n // Success! Insert the new circle c between a and b.\n c.previous = a, c.next = b, a.next = b.previous = b = c;\n\n // Compute the new closest circle pair to the centroid.\n aa = score(a);\n while ((c = c.next) !== b) {\n if ((ca = score(c)) < aa) {\n a = c, aa = ca;\n }\n }\n b = a.next;\n }\n\n // Compute the enclosing circle of the front chain.\n a = [b._], c = b; while ((c = c.next) !== b) a.push(c._); c = enclose(a);\n\n // Translate the circles to put the enclosing circle around the origin.\n for (i = 0; i < n; ++i) a = circles[i], a.x -= c.x, a.y -= c.y;\n\n return c.r;\n}\n\nexport default function(circles) {\n packEnclose(circles);\n return circles;\n}\n","export function optional(f) {\n return f == null ? null : required(f);\n}\n\nexport function required(f) {\n if (typeof f !== \"function\") throw new Error;\n return f;\n}\n","export function constantZero() {\n return 0;\n}\n\nexport default function(x) {\n return function() {\n return x;\n };\n}\n","import {packEnclose} from \"./siblings\";\nimport {optional} from \"../accessors\";\nimport constant, {constantZero} from \"../constant\";\n\nfunction defaultRadius(d) {\n return Math.sqrt(d.value);\n}\n\nexport default function() {\n var radius = null,\n dx = 1,\n dy = 1,\n padding = constantZero;\n\n function pack(root) {\n root.x = dx / 2, root.y = dy / 2;\n if (radius) {\n root.eachBefore(radiusLeaf(radius))\n .eachAfter(packChildren(padding, 0.5))\n .eachBefore(translateChild(1));\n } else {\n root.eachBefore(radiusLeaf(defaultRadius))\n .eachAfter(packChildren(constantZero, 1))\n .eachAfter(packChildren(padding, root.r / Math.min(dx, dy)))\n .eachBefore(translateChild(Math.min(dx, dy) / (2 * root.r)));\n }\n return root;\n }\n\n pack.radius = function(x) {\n return arguments.length ? (radius = optional(x), pack) : radius;\n };\n\n pack.size = function(x) {\n return arguments.length ? (dx = +x[0], dy = +x[1], pack) : [dx, dy];\n };\n\n pack.padding = function(x) {\n return arguments.length ? (padding = typeof x === \"function\" ? x : constant(+x), pack) : padding;\n };\n\n return pack;\n}\n\nfunction radiusLeaf(radius) {\n return function(node) {\n if (!node.children) {\n node.r = Math.max(0, +radius(node) || 0);\n }\n };\n}\n\nfunction packChildren(padding, k) {\n return function(node) {\n if (children = node.children) {\n var children,\n i,\n n = children.length,\n r = padding(node) * k || 0,\n e;\n\n if (r) for (i = 0; i < n; ++i) children[i].r += r;\n e = packEnclose(children);\n if (r) for (i = 0; i < n; ++i) children[i].r -= r;\n node.r = e + r;\n }\n };\n}\n\nfunction translateChild(k) {\n return function(node) {\n var parent = node.parent;\n node.r *= k;\n if (parent) {\n node.x = parent.x + k * node.x;\n node.y = parent.y + k * node.y;\n }\n };\n}\n","export default function(node) {\n node.x0 = Math.round(node.x0);\n node.y0 = Math.round(node.y0);\n node.x1 = Math.round(node.x1);\n node.y1 = Math.round(node.y1);\n}\n","export default function(parent, x0, y0, x1, y1) {\n var nodes = parent.children,\n node,\n i = -1,\n n = nodes.length,\n k = parent.value && (x1 - x0) / parent.value;\n\n while (++i < n) {\n node = nodes[i], node.y0 = y0, node.y1 = y1;\n node.x0 = x0, node.x1 = x0 += node.value * k;\n }\n}\n","import roundNode from \"./treemap/round\";\nimport treemapDice from \"./treemap/dice\";\n\nexport default function() {\n var dx = 1,\n dy = 1,\n padding = 0,\n round = false;\n\n function partition(root) {\n var n = root.height + 1;\n root.x0 =\n root.y0 = padding;\n root.x1 = dx;\n root.y1 = dy / n;\n root.eachBefore(positionNode(dy, n));\n if (round) root.eachBefore(roundNode);\n return root;\n }\n\n function positionNode(dy, n) {\n return function(node) {\n if (node.children) {\n treemapDice(node, node.x0, dy * (node.depth + 1) / n, node.x1, dy * (node.depth + 2) / n);\n }\n var x0 = node.x0,\n y0 = node.y0,\n x1 = node.x1 - padding,\n y1 = node.y1 - padding;\n if (x1 < x0) x0 = x1 = (x0 + x1) / 2;\n if (y1 < y0) y0 = y1 = (y0 + y1) / 2;\n node.x0 = x0;\n node.y0 = y0;\n node.x1 = x1;\n node.y1 = y1;\n };\n }\n\n partition.round = function(x) {\n return arguments.length ? (round = !!x, partition) : round;\n };\n\n partition.size = function(x) {\n return arguments.length ? (dx = +x[0], dy = +x[1], partition) : [dx, dy];\n };\n\n partition.padding = function(x) {\n return arguments.length ? (padding = +x, partition) : padding;\n };\n\n return partition;\n}\n","import {required} from \"./accessors\";\nimport {Node, computeHeight} from \"./hierarchy/index\";\n\nvar keyPrefix = \"$\", // Protect against keys like “__proto__”.\n preroot = {depth: -1},\n ambiguous = {};\n\nfunction defaultId(d) {\n return d.id;\n}\n\nfunction defaultParentId(d) {\n return d.parentId;\n}\n\nexport default function() {\n var id = defaultId,\n parentId = defaultParentId;\n\n function stratify(data) {\n var d,\n i,\n n = data.length,\n root,\n parent,\n node,\n nodes = new Array(n),\n nodeId,\n nodeKey,\n nodeByKey = {};\n\n for (i = 0; i < n; ++i) {\n d = data[i], node = nodes[i] = new Node(d);\n if ((nodeId = id(d, i, data)) != null && (nodeId += \"\")) {\n nodeKey = keyPrefix + (node.id = nodeId);\n nodeByKey[nodeKey] = nodeKey in nodeByKey ? ambiguous : node;\n }\n }\n\n for (i = 0; i < n; ++i) {\n node = nodes[i], nodeId = parentId(data[i], i, data);\n if (nodeId == null || !(nodeId += \"\")) {\n if (root) throw new Error(\"multiple roots\");\n root = node;\n } else {\n parent = nodeByKey[keyPrefix + nodeId];\n if (!parent) throw new Error(\"missing: \" + nodeId);\n if (parent === ambiguous) throw new Error(\"ambiguous: \" + nodeId);\n if (parent.children) parent.children.push(node);\n else parent.children = [node];\n node.parent = parent;\n }\n }\n\n if (!root) throw new Error(\"no root\");\n root.parent = preroot;\n root.eachBefore(function(node) { node.depth = node.parent.depth + 1; --n; }).eachBefore(computeHeight);\n root.parent = null;\n if (n > 0) throw new Error(\"cycle\");\n\n return root;\n }\n\n stratify.id = function(x) {\n return arguments.length ? (id = required(x), stratify) : id;\n };\n\n stratify.parentId = function(x) {\n return arguments.length ? (parentId = required(x), stratify) : parentId;\n };\n\n return stratify;\n}\n","import {Node} from \"./hierarchy/index\";\n\nfunction defaultSeparation(a, b) {\n return a.parent === b.parent ? 1 : 2;\n}\n\n// function radialSeparation(a, b) {\n// return (a.parent === b.parent ? 1 : 2) / a.depth;\n// }\n\n// This function is used to traverse the left contour of a subtree (or\n// subforest). It returns the successor of v on this contour. This successor is\n// either given by the leftmost child of v or by the thread of v. The function\n// returns null if and only if v is on the highest level of its subtree.\nfunction nextLeft(v) {\n var children = v.children;\n return children ? children[0] : v.t;\n}\n\n// This function works analogously to nextLeft.\nfunction nextRight(v) {\n var children = v.children;\n return children ? children[children.length - 1] : v.t;\n}\n\n// Shifts the current subtree rooted at w+. This is done by increasing\n// prelim(w+) and mod(w+) by shift.\nfunction moveSubtree(wm, wp, shift) {\n var change = shift / (wp.i - wm.i);\n wp.c -= change;\n wp.s += shift;\n wm.c += change;\n wp.z += shift;\n wp.m += shift;\n}\n\n// All other shifts, applied to the smaller subtrees between w- and w+, are\n// performed by this function. To prepare the shifts, we have to adjust\n// change(w+), shift(w+), and change(w-).\nfunction executeShifts(v) {\n var shift = 0,\n change = 0,\n children = v.children,\n i = children.length,\n w;\n while (--i >= 0) {\n w = children[i];\n w.z += shift;\n w.m += shift;\n shift += w.s + (change += w.c);\n }\n}\n\n// If vi-’s ancestor is a sibling of v, returns vi-’s ancestor. Otherwise,\n// returns the specified (default) ancestor.\nfunction nextAncestor(vim, v, ancestor) {\n return vim.a.parent === v.parent ? vim.a : ancestor;\n}\n\nfunction TreeNode(node, i) {\n this._ = node;\n this.parent = null;\n this.children = null;\n this.A = null; // default ancestor\n this.a = this; // ancestor\n this.z = 0; // prelim\n this.m = 0; // mod\n this.c = 0; // change\n this.s = 0; // shift\n this.t = null; // thread\n this.i = i; // number\n}\n\nTreeNode.prototype = Object.create(Node.prototype);\n\nfunction treeRoot(root) {\n var tree = new TreeNode(root, 0),\n node,\n nodes = [tree],\n child,\n children,\n i,\n n;\n\n while (node = nodes.pop()) {\n if (children = node._.children) {\n node.children = new Array(n = children.length);\n for (i = n - 1; i >= 0; --i) {\n nodes.push(child = node.children[i] = new TreeNode(children[i], i));\n child.parent = node;\n }\n }\n }\n\n (tree.parent = new TreeNode(null, 0)).children = [tree];\n return tree;\n}\n\n// Node-link tree diagram using the Reingold-Tilford \"tidy\" algorithm\nexport default function() {\n var separation = defaultSeparation,\n dx = 1,\n dy = 1,\n nodeSize = null;\n\n function tree(root) {\n var t = treeRoot(root);\n\n // Compute the layout using Buchheim et al.’s algorithm.\n t.eachAfter(firstWalk), t.parent.m = -t.z;\n t.eachBefore(secondWalk);\n\n // If a fixed node size is specified, scale x and y.\n if (nodeSize) root.eachBefore(sizeNode);\n\n // If a fixed tree size is specified, scale x and y based on the extent.\n // Compute the left-most, right-most, and depth-most nodes for extents.\n else {\n var left = root,\n right = root,\n bottom = root;\n root.eachBefore(function(node) {\n if (node.x < left.x) left = node;\n if (node.x > right.x) right = node;\n if (node.depth > bottom.depth) bottom = node;\n });\n var s = left === right ? 1 : separation(left, right) / 2,\n tx = s - left.x,\n kx = dx / (right.x + s + tx),\n ky = dy / (bottom.depth || 1);\n root.eachBefore(function(node) {\n node.x = (node.x + tx) * kx;\n node.y = node.depth * ky;\n });\n }\n\n return root;\n }\n\n // Computes a preliminary x-coordinate for v. Before that, FIRST WALK is\n // applied recursively to the children of v, as well as the function\n // APPORTION. After spacing out the children by calling EXECUTE SHIFTS, the\n // node v is placed to the midpoint of its outermost children.\n function firstWalk(v) {\n var children = v.children,\n siblings = v.parent.children,\n w = v.i ? siblings[v.i - 1] : null;\n if (children) {\n executeShifts(v);\n var midpoint = (children[0].z + children[children.length - 1].z) / 2;\n if (w) {\n v.z = w.z + separation(v._, w._);\n v.m = v.z - midpoint;\n } else {\n v.z = midpoint;\n }\n } else if (w) {\n v.z = w.z + separation(v._, w._);\n }\n v.parent.A = apportion(v, w, v.parent.A || siblings[0]);\n }\n\n // Computes all real x-coordinates by summing up the modifiers recursively.\n function secondWalk(v) {\n v._.x = v.z + v.parent.m;\n v.m += v.parent.m;\n }\n\n // The core of the algorithm. Here, a new subtree is combined with the\n // previous subtrees. Threads are used to traverse the inside and outside\n // contours of the left and right subtree up to the highest common level. The\n // vertices used for the traversals are vi+, vi-, vo-, and vo+, where the\n // superscript o means outside and i means inside, the subscript - means left\n // subtree and + means right subtree. For summing up the modifiers along the\n // contour, we use respective variables si+, si-, so-, and so+. Whenever two\n // nodes of the inside contours conflict, we compute the left one of the\n // greatest uncommon ancestors using the function ANCESTOR and call MOVE\n // SUBTREE to shift the subtree and prepare the shifts of smaller subtrees.\n // Finally, we add a new thread (if necessary).\n function apportion(v, w, ancestor) {\n if (w) {\n var vip = v,\n vop = v,\n vim = w,\n vom = vip.parent.children[0],\n sip = vip.m,\n sop = vop.m,\n sim = vim.m,\n som = vom.m,\n shift;\n while (vim = nextRight(vim), vip = nextLeft(vip), vim && vip) {\n vom = nextLeft(vom);\n vop = nextRight(vop);\n vop.a = v;\n shift = vim.z + sim - vip.z - sip + separation(vim._, vip._);\n if (shift > 0) {\n moveSubtree(nextAncestor(vim, v, ancestor), v, shift);\n sip += shift;\n sop += shift;\n }\n sim += vim.m;\n sip += vip.m;\n som += vom.m;\n sop += vop.m;\n }\n if (vim && !nextRight(vop)) {\n vop.t = vim;\n vop.m += sim - sop;\n }\n if (vip && !nextLeft(vom)) {\n vom.t = vip;\n vom.m += sip - som;\n ancestor = v;\n }\n }\n return ancestor;\n }\n\n function sizeNode(node) {\n node.x *= dx;\n node.y = node.depth * dy;\n }\n\n tree.separation = function(x) {\n return arguments.length ? (separation = x, tree) : separation;\n };\n\n tree.size = function(x) {\n return arguments.length ? (nodeSize = false, dx = +x[0], dy = +x[1], tree) : (nodeSize ? null : [dx, dy]);\n };\n\n tree.nodeSize = function(x) {\n return arguments.length ? (nodeSize = true, dx = +x[0], dy = +x[1], tree) : (nodeSize ? [dx, dy] : null);\n };\n\n return tree;\n}\n","export default function(parent, x0, y0, x1, y1) {\n var nodes = parent.children,\n node,\n i = -1,\n n = nodes.length,\n k = parent.value && (y1 - y0) / parent.value;\n\n while (++i < n) {\n node = nodes[i], node.x0 = x0, node.x1 = x1;\n node.y0 = y0, node.y1 = y0 += node.value * k;\n }\n}\n","import treemapDice from \"./dice\";\nimport treemapSlice from \"./slice\";\n\nexport var phi = (1 + Math.sqrt(5)) / 2;\n\nexport function squarifyRatio(ratio, parent, x0, y0, x1, y1) {\n var rows = [],\n nodes = parent.children,\n row,\n nodeValue,\n i0 = 0,\n i1 = 0,\n n = nodes.length,\n dx, dy,\n value = parent.value,\n sumValue,\n minValue,\n maxValue,\n newRatio,\n minRatio,\n alpha,\n beta;\n\n while (i0 < n) {\n dx = x1 - x0, dy = y1 - y0;\n\n // Find the next non-empty node.\n do sumValue = nodes[i1++].value; while (!sumValue && i1 < n);\n minValue = maxValue = sumValue;\n alpha = Math.max(dy / dx, dx / dy) / (value * ratio);\n beta = sumValue * sumValue * alpha;\n minRatio = Math.max(maxValue / beta, beta / minValue);\n\n // Keep adding nodes while the aspect ratio maintains or improves.\n for (; i1 < n; ++i1) {\n sumValue += nodeValue = nodes[i1].value;\n if (nodeValue < minValue) minValue = nodeValue;\n if (nodeValue > maxValue) maxValue = nodeValue;\n beta = sumValue * sumValue * alpha;\n newRatio = Math.max(maxValue / beta, beta / minValue);\n if (newRatio > minRatio) { sumValue -= nodeValue; break; }\n minRatio = newRatio;\n }\n\n // Position and record the row orientation.\n rows.push(row = {value: sumValue, dice: dx < dy, children: nodes.slice(i0, i1)});\n if (row.dice) treemapDice(row, x0, y0, x1, value ? y0 += dy * sumValue / value : y1);\n else treemapSlice(row, x0, y0, value ? x0 += dx * sumValue / value : x1, y1);\n value -= sumValue, i0 = i1;\n }\n\n return rows;\n}\n\nexport default (function custom(ratio) {\n\n function squarify(parent, x0, y0, x1, y1) {\n squarifyRatio(ratio, parent, x0, y0, x1, y1);\n }\n\n squarify.ratio = function(x) {\n return custom((x = +x) > 1 ? x : 1);\n };\n\n return squarify;\n})(phi);\n","import roundNode from \"./round\";\nimport squarify from \"./squarify\";\nimport {required} from \"../accessors\";\nimport constant, {constantZero} from \"../constant\";\n\nexport default function() {\n var tile = squarify,\n round = false,\n dx = 1,\n dy = 1,\n paddingStack = [0],\n paddingInner = constantZero,\n paddingTop = constantZero,\n paddingRight = constantZero,\n paddingBottom = constantZero,\n paddingLeft = constantZero;\n\n function treemap(root) {\n root.x0 =\n root.y0 = 0;\n root.x1 = dx;\n root.y1 = dy;\n root.eachBefore(positionNode);\n paddingStack = [0];\n if (round) root.eachBefore(roundNode);\n return root;\n }\n\n function positionNode(node) {\n var p = paddingStack[node.depth],\n x0 = node.x0 + p,\n y0 = node.y0 + p,\n x1 = node.x1 - p,\n y1 = node.y1 - p;\n if (x1 < x0) x0 = x1 = (x0 + x1) / 2;\n if (y1 < y0) y0 = y1 = (y0 + y1) / 2;\n node.x0 = x0;\n node.y0 = y0;\n node.x1 = x1;\n node.y1 = y1;\n if (node.children) {\n p = paddingStack[node.depth + 1] = paddingInner(node) / 2;\n x0 += paddingLeft(node) - p;\n y0 += paddingTop(node) - p;\n x1 -= paddingRight(node) - p;\n y1 -= paddingBottom(node) - p;\n if (x1 < x0) x0 = x1 = (x0 + x1) / 2;\n if (y1 < y0) y0 = y1 = (y0 + y1) / 2;\n tile(node, x0, y0, x1, y1);\n }\n }\n\n treemap.round = function(x) {\n return arguments.length ? (round = !!x, treemap) : round;\n };\n\n treemap.size = function(x) {\n return arguments.length ? (dx = +x[0], dy = +x[1], treemap) : [dx, dy];\n };\n\n treemap.tile = function(x) {\n return arguments.length ? (tile = required(x), treemap) : tile;\n };\n\n treemap.padding = function(x) {\n return arguments.length ? treemap.paddingInner(x).paddingOuter(x) : treemap.paddingInner();\n };\n\n treemap.paddingInner = function(x) {\n return arguments.length ? (paddingInner = typeof x === \"function\" ? x : constant(+x), treemap) : paddingInner;\n };\n\n treemap.paddingOuter = function(x) {\n return arguments.length ? treemap.paddingTop(x).paddingRight(x).paddingBottom(x).paddingLeft(x) : treemap.paddingTop();\n };\n\n treemap.paddingTop = function(x) {\n return arguments.length ? (paddingTop = typeof x === \"function\" ? x : constant(+x), treemap) : paddingTop;\n };\n\n treemap.paddingRight = function(x) {\n return arguments.length ? (paddingRight = typeof x === \"function\" ? x : constant(+x), treemap) : paddingRight;\n };\n\n treemap.paddingBottom = function(x) {\n return arguments.length ? (paddingBottom = typeof x === \"function\" ? x : constant(+x), treemap) : paddingBottom;\n };\n\n treemap.paddingLeft = function(x) {\n return arguments.length ? (paddingLeft = typeof x === \"function\" ? x : constant(+x), treemap) : paddingLeft;\n };\n\n return treemap;\n}\n","export default function(parent, x0, y0, x1, y1) {\n var nodes = parent.children,\n i, n = nodes.length,\n sum, sums = new Array(n + 1);\n\n for (sums[0] = sum = i = 0; i < n; ++i) {\n sums[i + 1] = sum += nodes[i].value;\n }\n\n partition(0, n, parent.value, x0, y0, x1, y1);\n\n function partition(i, j, value, x0, y0, x1, y1) {\n if (i >= j - 1) {\n var node = nodes[i];\n node.x0 = x0, node.y0 = y0;\n node.x1 = x1, node.y1 = y1;\n return;\n }\n\n var valueOffset = sums[i],\n valueTarget = (value / 2) + valueOffset,\n k = i + 1,\n hi = j - 1;\n\n while (k < hi) {\n var mid = k + hi >>> 1;\n if (sums[mid] < valueTarget) k = mid + 1;\n else hi = mid;\n }\n\n if ((valueTarget - sums[k - 1]) < (sums[k] - valueTarget) && i + 1 < k) --k;\n\n var valueLeft = sums[k] - valueOffset,\n valueRight = value - valueLeft;\n\n if ((x1 - x0) > (y1 - y0)) {\n var xk = (x0 * valueRight + x1 * valueLeft) / value;\n partition(i, k, valueLeft, x0, y0, xk, y1);\n partition(k, j, valueRight, xk, y0, x1, y1);\n } else {\n var yk = (y0 * valueRight + y1 * valueLeft) / value;\n partition(i, k, valueLeft, x0, y0, x1, yk);\n partition(k, j, valueRight, x0, yk, x1, y1);\n }\n }\n}\n","import dice from \"./dice\";\nimport slice from \"./slice\";\n\nexport default function(parent, x0, y0, x1, y1) {\n (parent.depth & 1 ? slice : dice)(parent, x0, y0, x1, y1);\n}\n","import treemapDice from \"./dice\";\nimport treemapSlice from \"./slice\";\nimport {phi, squarifyRatio} from \"./squarify\";\n\nexport default (function custom(ratio) {\n\n function resquarify(parent, x0, y0, x1, y1) {\n if ((rows = parent._squarify) && (rows.ratio === ratio)) {\n var rows,\n row,\n nodes,\n i,\n j = -1,\n n,\n m = rows.length,\n value = parent.value;\n\n while (++j < m) {\n row = rows[j], nodes = row.children;\n for (i = row.value = 0, n = nodes.length; i < n; ++i) row.value += nodes[i].value;\n if (row.dice) treemapDice(row, x0, y0, x1, y0 += (y1 - y0) * row.value / value);\n else treemapSlice(row, x0, y0, x0 += (x1 - x0) * row.value / value, y1);\n value -= row.value;\n }\n } else {\n parent._squarify = rows = squarifyRatio(ratio, parent, x0, y0, x1, y1);\n rows.ratio = ratio;\n }\n }\n\n resquarify.ratio = function(x) {\n return custom((x = +x) > 1 ? x : 1);\n };\n\n return resquarify;\n})(phi);\n","export {default as cluster} from \"./src/cluster\";\nexport {default as hierarchy} from \"./src/hierarchy/index\";\nexport {default as pack} from \"./src/pack/index\";\nexport {default as packSiblings} from \"./src/pack/siblings\";\nexport {default as packEnclose} from \"./src/pack/enclose\";\nexport {default as partition} from \"./src/partition\";\nexport {default as stratify} from \"./src/stratify\";\nexport {default as tree} from \"./src/tree\";\nexport {default as treemap} from \"./src/treemap/index\";\nexport {default as treemapBinary} from \"./src/treemap/binary\";\nexport {default as treemapDice} from \"./src/treemap/dice\";\nexport {default as treemapSlice} from \"./src/treemap/slice\";\nexport {default as treemapSliceDice} from \"./src/treemap/sliceDice\";\nexport {default as treemapSquarify} from \"./src/treemap/squarify\";\nexport {default as treemapResquarify} from \"./src/treemap/resquarify\";\n","export default function(polygon) {\n var i = -1,\n n = polygon.length,\n a,\n b = polygon[n - 1],\n area = 0;\n\n while (++i < n) {\n a = b;\n b = polygon[i];\n area += a[1] * b[0] - a[0] * b[1];\n }\n\n return area / 2;\n}\n","export default function(polygon) {\n var i = -1,\n n = polygon.length,\n x = 0,\n y = 0,\n a,\n b = polygon[n - 1],\n c,\n k = 0;\n\n while (++i < n) {\n a = b;\n b = polygon[i];\n k += c = a[0] * b[1] - b[0] * a[1];\n x += (a[0] + b[0]) * c;\n y += (a[1] + b[1]) * c;\n }\n\n return k *= 3, [x / k, y / k];\n}\n","// Returns the 2D cross product of AB and AC vectors, i.e., the z-component of\n// the 3D cross product in a quadrant I Cartesian coordinate system (+x is\n// right, +y is up). Returns a positive value if ABC is counter-clockwise,\n// negative if clockwise, and zero if the points are collinear.\nexport default function(a, b, c) {\n return (b[0] - a[0]) * (c[1] - a[1]) - (b[1] - a[1]) * (c[0] - a[0]);\n}\n","import cross from \"./cross\";\n\nfunction lexicographicOrder(a, b) {\n return a[0] - b[0] || a[1] - b[1];\n}\n\n// Computes the upper convex hull per the monotone chain algorithm.\n// Assumes points.length >= 3, is sorted by x, unique in y.\n// Returns an array of indices into points in left-to-right order.\nfunction computeUpperHullIndexes(points) {\n var n = points.length,\n indexes = [0, 1],\n size = 2;\n\n for (var i = 2; i < n; ++i) {\n while (size > 1 && cross(points[indexes[size - 2]], points[indexes[size - 1]], points[i]) <= 0) --size;\n indexes[size++] = i;\n }\n\n return indexes.slice(0, size); // remove popped points\n}\n\nexport default function(points) {\n if ((n = points.length) < 3) return null;\n\n var i,\n n,\n sortedPoints = new Array(n),\n flippedPoints = new Array(n);\n\n for (i = 0; i < n; ++i) sortedPoints[i] = [+points[i][0], +points[i][1], i];\n sortedPoints.sort(lexicographicOrder);\n for (i = 0; i < n; ++i) flippedPoints[i] = [sortedPoints[i][0], -sortedPoints[i][1]];\n\n var upperIndexes = computeUpperHullIndexes(sortedPoints),\n lowerIndexes = computeUpperHullIndexes(flippedPoints);\n\n // Construct the hull polygon, removing possible duplicate endpoints.\n var skipLeft = lowerIndexes[0] === upperIndexes[0],\n skipRight = lowerIndexes[lowerIndexes.length - 1] === upperIndexes[upperIndexes.length - 1],\n hull = [];\n\n // Add upper hull in right-to-l order.\n // Then add lower hull in left-to-right order.\n for (i = upperIndexes.length - 1; i >= 0; --i) hull.push(points[sortedPoints[upperIndexes[i]][2]]);\n for (i = +skipLeft; i < lowerIndexes.length - skipRight; ++i) hull.push(points[sortedPoints[lowerIndexes[i]][2]]);\n\n return hull;\n}\n","export default function(polygon, point) {\n var n = polygon.length,\n p = polygon[n - 1],\n x = point[0], y = point[1],\n x0 = p[0], y0 = p[1],\n x1, y1,\n inside = false;\n\n for (var i = 0; i < n; ++i) {\n p = polygon[i], x1 = p[0], y1 = p[1];\n if (((y1 > y) !== (y0 > y)) && (x < (x0 - x1) * (y - y1) / (y0 - y1) + x1)) inside = !inside;\n x0 = x1, y0 = y1;\n }\n\n return inside;\n}\n","export default function(polygon) {\n var i = -1,\n n = polygon.length,\n b = polygon[n - 1],\n xa,\n ya,\n xb = b[0],\n yb = b[1],\n perimeter = 0;\n\n while (++i < n) {\n xa = xb;\n ya = yb;\n b = polygon[i];\n xb = b[0];\n yb = b[1];\n xa -= xb;\n ya -= yb;\n perimeter += Math.sqrt(xa * xa + ya * ya);\n }\n\n return perimeter;\n}\n","export {default as polygonArea} from \"./src/area\";\nexport {default as polygonCentroid} from \"./src/centroid\";\nexport {default as polygonHull} from \"./src/hull\";\nexport {default as polygonContains} from \"./src/contains\";\nexport {default as polygonLength} from \"./src/length\";\n","export default function() {\n return Math.random();\n}\n","import defaultSource from \"./defaultSource\";\n\nexport default (function sourceRandomUniform(source) {\n function randomUniform(min, max) {\n min = min == null ? 0 : +min;\n max = max == null ? 1 : +max;\n if (arguments.length === 1) max = min, min = 0;\n else max -= min;\n return function() {\n return source() * max + min;\n };\n }\n\n randomUniform.source = sourceRandomUniform;\n\n return randomUniform;\n})(defaultSource);\n","import defaultSource from \"./defaultSource\";\n\nexport default (function sourceRandomNormal(source) {\n function randomNormal(mu, sigma) {\n var x, r;\n mu = mu == null ? 0 : +mu;\n sigma = sigma == null ? 1 : +sigma;\n return function() {\n var y;\n\n // If available, use the second previously-generated uniform random.\n if (x != null) y = x, x = null;\n\n // Otherwise, generate a new x and y.\n else do {\n x = source() * 2 - 1;\n y = source() * 2 - 1;\n r = x * x + y * y;\n } while (!r || r > 1);\n\n return mu + sigma * y * Math.sqrt(-2 * Math.log(r) / r);\n };\n }\n\n randomNormal.source = sourceRandomNormal;\n\n return randomNormal;\n})(defaultSource);\n","import defaultSource from \"./defaultSource\";\nimport normal from \"./normal\";\n\nexport default (function sourceRandomLogNormal(source) {\n function randomLogNormal() {\n var randomNormal = normal.source(source).apply(this, arguments);\n return function() {\n return Math.exp(randomNormal());\n };\n }\n\n randomLogNormal.source = sourceRandomLogNormal;\n\n return randomLogNormal;\n})(defaultSource);\n","import defaultSource from \"./defaultSource\";\n\nexport default (function sourceRandomIrwinHall(source) {\n function randomIrwinHall(n) {\n return function() {\n for (var sum = 0, i = 0; i < n; ++i) sum += source();\n return sum;\n };\n }\n\n randomIrwinHall.source = sourceRandomIrwinHall;\n\n return randomIrwinHall;\n})(defaultSource);\n","import defaultSource from \"./defaultSource\";\nimport irwinHall from \"./irwinHall\";\n\nexport default (function sourceRandomBates(source) {\n function randomBates(n) {\n var randomIrwinHall = irwinHall.source(source)(n);\n return function() {\n return randomIrwinHall() / n;\n };\n }\n\n randomBates.source = sourceRandomBates;\n\n return randomBates;\n})(defaultSource);\n","import defaultSource from \"./defaultSource\";\n\nexport default (function sourceRandomExponential(source) {\n function randomExponential(lambda) {\n return function() {\n return -Math.log(1 - source()) / lambda;\n };\n }\n\n randomExponential.source = sourceRandomExponential;\n\n return randomExponential;\n})(defaultSource);\n","export {default as randomUniform} from \"./src/uniform\";\nexport {default as randomNormal} from \"./src/normal\";\nexport {default as randomLogNormal} from \"./src/logNormal\";\nexport {default as randomBates} from \"./src/bates\";\nexport {default as randomIrwinHall} from \"./src/irwinHall\";\nexport {default as randomExponential} from \"./src/exponential\";\n","var array = Array.prototype;\n\nexport var map = array.map;\nexport var slice = array.slice;\n","import {map} from \"d3-collection\";\nimport {slice} from \"./array\";\n\nexport var implicit = {name: \"implicit\"};\n\nexport default function ordinal(range) {\n var index = map(),\n domain = [],\n unknown = implicit;\n\n range = range == null ? [] : slice.call(range);\n\n function scale(d) {\n var key = d + \"\", i = index.get(key);\n if (!i) {\n if (unknown !== implicit) return unknown;\n index.set(key, i = domain.push(d));\n }\n return range[(i - 1) % range.length];\n }\n\n scale.domain = function(_) {\n if (!arguments.length) return domain.slice();\n domain = [], index = map();\n var i = -1, n = _.length, d, key;\n while (++i < n) if (!index.has(key = (d = _[i]) + \"\")) index.set(key, domain.push(d));\n return scale;\n };\n\n scale.range = function(_) {\n return arguments.length ? (range = slice.call(_), scale) : range.slice();\n };\n\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n scale.copy = function() {\n return ordinal()\n .domain(domain)\n .range(range)\n .unknown(unknown);\n };\n\n return scale;\n}\n","import {range as sequence} from \"d3-array\";\nimport ordinal from \"./ordinal\";\n\nexport default function band() {\n var scale = ordinal().unknown(undefined),\n domain = scale.domain,\n ordinalRange = scale.range,\n range = [0, 1],\n step,\n bandwidth,\n round = false,\n paddingInner = 0,\n paddingOuter = 0,\n align = 0.5;\n\n delete scale.unknown;\n\n function rescale() {\n var n = domain().length,\n reverse = range[1] < range[0],\n start = range[reverse - 0],\n stop = range[1 - reverse];\n step = (stop - start) / Math.max(1, n - paddingInner + paddingOuter * 2);\n if (round) step = Math.floor(step);\n start += (stop - start - step * (n - paddingInner)) * align;\n bandwidth = step * (1 - paddingInner);\n if (round) start = Math.round(start), bandwidth = Math.round(bandwidth);\n var values = sequence(n).map(function(i) { return start + step * i; });\n return ordinalRange(reverse ? values.reverse() : values);\n }\n\n scale.domain = function(_) {\n return arguments.length ? (domain(_), rescale()) : domain();\n };\n\n scale.range = function(_) {\n return arguments.length ? (range = [+_[0], +_[1]], rescale()) : range.slice();\n };\n\n scale.rangeRound = function(_) {\n return range = [+_[0], +_[1]], round = true, rescale();\n };\n\n scale.bandwidth = function() {\n return bandwidth;\n };\n\n scale.step = function() {\n return step;\n };\n\n scale.round = function(_) {\n return arguments.length ? (round = !!_, rescale()) : round;\n };\n\n scale.padding = function(_) {\n return arguments.length ? (paddingInner = paddingOuter = Math.max(0, Math.min(1, _)), rescale()) : paddingInner;\n };\n\n scale.paddingInner = function(_) {\n return arguments.length ? (paddingInner = Math.max(0, Math.min(1, _)), rescale()) : paddingInner;\n };\n\n scale.paddingOuter = function(_) {\n return arguments.length ? (paddingOuter = Math.max(0, Math.min(1, _)), rescale()) : paddingOuter;\n };\n\n scale.align = function(_) {\n return arguments.length ? (align = Math.max(0, Math.min(1, _)), rescale()) : align;\n };\n\n scale.copy = function() {\n return band()\n .domain(domain())\n .range(range)\n .round(round)\n .paddingInner(paddingInner)\n .paddingOuter(paddingOuter)\n .align(align);\n };\n\n return rescale();\n}\n\nfunction pointish(scale) {\n var copy = scale.copy;\n\n scale.padding = scale.paddingOuter;\n delete scale.paddingInner;\n delete scale.paddingOuter;\n\n scale.copy = function() {\n return pointish(copy());\n };\n\n return scale;\n}\n\nexport function point() {\n return pointish(band().paddingInner(1));\n}\n","export default function(x) {\n return function() {\n return x;\n };\n}\n","export default function(x) {\n return +x;\n}\n","import {bisect} from \"d3-array\";\nimport {interpolate as interpolateValue, interpolateRound} from \"d3-interpolate\";\nimport {map, slice} from \"./array\";\nimport constant from \"./constant\";\nimport number from \"./number\";\n\nvar unit = [0, 1];\n\nexport function deinterpolateLinear(a, b) {\n return (b -= (a = +a))\n ? function(x) { return (x - a) / b; }\n : constant(b);\n}\n\nfunction deinterpolateClamp(deinterpolate) {\n return function(a, b) {\n var d = deinterpolate(a = +a, b = +b);\n return function(x) { return x <= a ? 0 : x >= b ? 1 : d(x); };\n };\n}\n\nfunction reinterpolateClamp(reinterpolate) {\n return function(a, b) {\n var r = reinterpolate(a = +a, b = +b);\n return function(t) { return t <= 0 ? a : t >= 1 ? b : r(t); };\n };\n}\n\nfunction bimap(domain, range, deinterpolate, reinterpolate) {\n var d0 = domain[0], d1 = domain[1], r0 = range[0], r1 = range[1];\n if (d1 < d0) d0 = deinterpolate(d1, d0), r0 = reinterpolate(r1, r0);\n else d0 = deinterpolate(d0, d1), r0 = reinterpolate(r0, r1);\n return function(x) { return r0(d0(x)); };\n}\n\nfunction polymap(domain, range, deinterpolate, reinterpolate) {\n var j = Math.min(domain.length, range.length) - 1,\n d = new Array(j),\n r = new Array(j),\n i = -1;\n\n // Reverse descending domains.\n if (domain[j] < domain[0]) {\n domain = domain.slice().reverse();\n range = range.slice().reverse();\n }\n\n while (++i < j) {\n d[i] = deinterpolate(domain[i], domain[i + 1]);\n r[i] = reinterpolate(range[i], range[i + 1]);\n }\n\n return function(x) {\n var i = bisect(domain, x, 1, j) - 1;\n return r[i](d[i](x));\n };\n}\n\nexport function copy(source, target) {\n return target\n .domain(source.domain())\n .range(source.range())\n .interpolate(source.interpolate())\n .clamp(source.clamp());\n}\n\n// deinterpolate(a, b)(x) takes a domain value x in [a,b] and returns the corresponding parameter t in [0,1].\n// reinterpolate(a, b)(t) takes a parameter t in [0,1] and returns the corresponding domain value x in [a,b].\nexport default function continuous(deinterpolate, reinterpolate) {\n var domain = unit,\n range = unit,\n interpolate = interpolateValue,\n clamp = false,\n piecewise,\n output,\n input;\n\n function rescale() {\n piecewise = Math.min(domain.length, range.length) > 2 ? polymap : bimap;\n output = input = null;\n return scale;\n }\n\n function scale(x) {\n return (output || (output = piecewise(domain, range, clamp ? deinterpolateClamp(deinterpolate) : deinterpolate, interpolate)))(+x);\n }\n\n scale.invert = function(y) {\n return (input || (input = piecewise(range, domain, deinterpolateLinear, clamp ? reinterpolateClamp(reinterpolate) : reinterpolate)))(+y);\n };\n\n scale.domain = function(_) {\n return arguments.length ? (domain = map.call(_, number), rescale()) : domain.slice();\n };\n\n scale.range = function(_) {\n return arguments.length ? (range = slice.call(_), rescale()) : range.slice();\n };\n\n scale.rangeRound = function(_) {\n return range = slice.call(_), interpolate = interpolateRound, rescale();\n };\n\n scale.clamp = function(_) {\n return arguments.length ? (clamp = !!_, rescale()) : clamp;\n };\n\n scale.interpolate = function(_) {\n return arguments.length ? (interpolate = _, rescale()) : interpolate;\n };\n\n return rescale();\n}\n","import {tickStep} from \"d3-array\";\nimport {format, formatPrefix, formatSpecifier, precisionFixed, precisionPrefix, precisionRound} from \"d3-format\";\n\nexport default function(domain, count, specifier) {\n var start = domain[0],\n stop = domain[domain.length - 1],\n step = tickStep(start, stop, count == null ? 10 : count),\n precision;\n specifier = formatSpecifier(specifier == null ? \",f\" : specifier);\n switch (specifier.type) {\n case \"s\": {\n var value = Math.max(Math.abs(start), Math.abs(stop));\n if (specifier.precision == null && !isNaN(precision = precisionPrefix(step, value))) specifier.precision = precision;\n return formatPrefix(specifier, value);\n }\n case \"\":\n case \"e\":\n case \"g\":\n case \"p\":\n case \"r\": {\n if (specifier.precision == null && !isNaN(precision = precisionRound(step, Math.max(Math.abs(start), Math.abs(stop))))) specifier.precision = precision - (specifier.type === \"e\");\n break;\n }\n case \"f\":\n case \"%\": {\n if (specifier.precision == null && !isNaN(precision = precisionFixed(step))) specifier.precision = precision - (specifier.type === \"%\") * 2;\n break;\n }\n }\n return format(specifier);\n}\n","import {ticks, tickIncrement} from \"d3-array\";\nimport {interpolateNumber as reinterpolate} from \"d3-interpolate\";\nimport {default as continuous, copy, deinterpolateLinear as deinterpolate} from \"./continuous\";\nimport tickFormat from \"./tickFormat\";\n\nexport function linearish(scale) {\n var domain = scale.domain;\n\n scale.ticks = function(count) {\n var d = domain();\n return ticks(d[0], d[d.length - 1], count == null ? 10 : count);\n };\n\n scale.tickFormat = function(count, specifier) {\n return tickFormat(domain(), count, specifier);\n };\n\n scale.nice = function(count) {\n if (count == null) count = 10;\n\n var d = domain(),\n i0 = 0,\n i1 = d.length - 1,\n start = d[i0],\n stop = d[i1],\n step;\n\n if (stop < start) {\n step = start, start = stop, stop = step;\n step = i0, i0 = i1, i1 = step;\n }\n\n step = tickIncrement(start, stop, count);\n\n if (step > 0) {\n start = Math.floor(start / step) * step;\n stop = Math.ceil(stop / step) * step;\n step = tickIncrement(start, stop, count);\n } else if (step < 0) {\n start = Math.ceil(start * step) / step;\n stop = Math.floor(stop * step) / step;\n step = tickIncrement(start, stop, count);\n }\n\n if (step > 0) {\n d[i0] = Math.floor(start / step) * step;\n d[i1] = Math.ceil(stop / step) * step;\n domain(d);\n } else if (step < 0) {\n d[i0] = Math.ceil(start * step) / step;\n d[i1] = Math.floor(stop * step) / step;\n domain(d);\n }\n\n return scale;\n };\n\n return scale;\n}\n\nexport default function linear() {\n var scale = continuous(deinterpolate, reinterpolate);\n\n scale.copy = function() {\n return copy(scale, linear());\n };\n\n return linearish(scale);\n}\n","import {map} from \"./array\";\nimport {linearish} from \"./linear\";\nimport number from \"./number\";\n\nexport default function identity() {\n var domain = [0, 1];\n\n function scale(x) {\n return +x;\n }\n\n scale.invert = scale;\n\n scale.domain = scale.range = function(_) {\n return arguments.length ? (domain = map.call(_, number), scale) : domain.slice();\n };\n\n scale.copy = function() {\n return identity().domain(domain);\n };\n\n return linearish(scale);\n}\n","export default function(domain, interval) {\n domain = domain.slice();\n\n var i0 = 0,\n i1 = domain.length - 1,\n x0 = domain[i0],\n x1 = domain[i1],\n t;\n\n if (x1 < x0) {\n t = i0, i0 = i1, i1 = t;\n t = x0, x0 = x1, x1 = t;\n }\n\n domain[i0] = interval.floor(x0);\n domain[i1] = interval.ceil(x1);\n return domain;\n}\n","import {ticks} from \"d3-array\";\nimport {format} from \"d3-format\";\nimport constant from \"./constant\";\nimport nice from \"./nice\";\nimport {default as continuous, copy} from \"./continuous\";\n\nfunction deinterpolate(a, b) {\n return (b = Math.log(b / a))\n ? function(x) { return Math.log(x / a) / b; }\n : constant(b);\n}\n\nfunction reinterpolate(a, b) {\n return a < 0\n ? function(t) { return -Math.pow(-b, t) * Math.pow(-a, 1 - t); }\n : function(t) { return Math.pow(b, t) * Math.pow(a, 1 - t); };\n}\n\nfunction pow10(x) {\n return isFinite(x) ? +(\"1e\" + x) : x < 0 ? 0 : x;\n}\n\nfunction powp(base) {\n return base === 10 ? pow10\n : base === Math.E ? Math.exp\n : function(x) { return Math.pow(base, x); };\n}\n\nfunction logp(base) {\n return base === Math.E ? Math.log\n : base === 10 && Math.log10\n || base === 2 && Math.log2\n || (base = Math.log(base), function(x) { return Math.log(x) / base; });\n}\n\nfunction reflect(f) {\n return function(x) {\n return -f(-x);\n };\n}\n\nexport default function log() {\n var scale = continuous(deinterpolate, reinterpolate).domain([1, 10]),\n domain = scale.domain,\n base = 10,\n logs = logp(10),\n pows = powp(10);\n\n function rescale() {\n logs = logp(base), pows = powp(base);\n if (domain()[0] < 0) logs = reflect(logs), pows = reflect(pows);\n return scale;\n }\n\n scale.base = function(_) {\n return arguments.length ? (base = +_, rescale()) : base;\n };\n\n scale.domain = function(_) {\n return arguments.length ? (domain(_), rescale()) : domain();\n };\n\n scale.ticks = function(count) {\n var d = domain(),\n u = d[0],\n v = d[d.length - 1],\n r;\n\n if (r = v < u) i = u, u = v, v = i;\n\n var i = logs(u),\n j = logs(v),\n p,\n k,\n t,\n n = count == null ? 10 : +count,\n z = [];\n\n if (!(base % 1) && j - i < n) {\n i = Math.round(i) - 1, j = Math.round(j) + 1;\n if (u > 0) for (; i < j; ++i) {\n for (k = 1, p = pows(i); k < base; ++k) {\n t = p * k;\n if (t < u) continue;\n if (t > v) break;\n z.push(t);\n }\n } else for (; i < j; ++i) {\n for (k = base - 1, p = pows(i); k >= 1; --k) {\n t = p * k;\n if (t < u) continue;\n if (t > v) break;\n z.push(t);\n }\n }\n } else {\n z = ticks(i, j, Math.min(j - i, n)).map(pows);\n }\n\n return r ? z.reverse() : z;\n };\n\n scale.tickFormat = function(count, specifier) {\n if (specifier == null) specifier = base === 10 ? \".0e\" : \",\";\n if (typeof specifier !== \"function\") specifier = format(specifier);\n if (count === Infinity) return specifier;\n if (count == null) count = 10;\n var k = Math.max(1, base * count / scale.ticks().length); // TODO fast estimate?\n return function(d) {\n var i = d / pows(Math.round(logs(d)));\n if (i * base < base - 0.5) i *= base;\n return i <= k ? specifier(d) : \"\";\n };\n };\n\n scale.nice = function() {\n return domain(nice(domain(), {\n floor: function(x) { return pows(Math.floor(logs(x))); },\n ceil: function(x) { return pows(Math.ceil(logs(x))); }\n }));\n };\n\n scale.copy = function() {\n return copy(scale, log().base(base));\n };\n\n return scale;\n}\n","import constant from \"./constant\";\nimport {linearish} from \"./linear\";\nimport {default as continuous, copy} from \"./continuous\";\n\nfunction raise(x, exponent) {\n return x < 0 ? -Math.pow(-x, exponent) : Math.pow(x, exponent);\n}\n\nexport default function pow() {\n var exponent = 1,\n scale = continuous(deinterpolate, reinterpolate),\n domain = scale.domain;\n\n function deinterpolate(a, b) {\n return (b = raise(b, exponent) - (a = raise(a, exponent)))\n ? function(x) { return (raise(x, exponent) - a) / b; }\n : constant(b);\n }\n\n function reinterpolate(a, b) {\n b = raise(b, exponent) - (a = raise(a, exponent));\n return function(t) { return raise(a + b * t, 1 / exponent); };\n }\n\n scale.exponent = function(_) {\n return arguments.length ? (exponent = +_, domain(domain())) : exponent;\n };\n\n scale.copy = function() {\n return copy(scale, pow().exponent(exponent));\n };\n\n return linearish(scale);\n}\n\nexport function sqrt() {\n return pow().exponent(0.5);\n}\n","import {ascending, bisect, quantile as threshold} from \"d3-array\";\nimport {slice} from \"./array\";\n\nexport default function quantile() {\n var domain = [],\n range = [],\n thresholds = [];\n\n function rescale() {\n var i = 0, n = Math.max(1, range.length);\n thresholds = new Array(n - 1);\n while (++i < n) thresholds[i - 1] = threshold(domain, i / n);\n return scale;\n }\n\n function scale(x) {\n if (!isNaN(x = +x)) return range[bisect(thresholds, x)];\n }\n\n scale.invertExtent = function(y) {\n var i = range.indexOf(y);\n return i < 0 ? [NaN, NaN] : [\n i > 0 ? thresholds[i - 1] : domain[0],\n i < thresholds.length ? thresholds[i] : domain[domain.length - 1]\n ];\n };\n\n scale.domain = function(_) {\n if (!arguments.length) return domain.slice();\n domain = [];\n for (var i = 0, n = _.length, d; i < n; ++i) if (d = _[i], d != null && !isNaN(d = +d)) domain.push(d);\n domain.sort(ascending);\n return rescale();\n };\n\n scale.range = function(_) {\n return arguments.length ? (range = slice.call(_), rescale()) : range.slice();\n };\n\n scale.quantiles = function() {\n return thresholds.slice();\n };\n\n scale.copy = function() {\n return quantile()\n .domain(domain)\n .range(range);\n };\n\n return scale;\n}\n","import {bisect} from \"d3-array\";\nimport {slice} from \"./array\";\nimport {linearish} from \"./linear\";\n\nexport default function quantize() {\n var x0 = 0,\n x1 = 1,\n n = 1,\n domain = [0.5],\n range = [0, 1];\n\n function scale(x) {\n if (x <= x) return range[bisect(domain, x, 0, n)];\n }\n\n function rescale() {\n var i = -1;\n domain = new Array(n);\n while (++i < n) domain[i] = ((i + 1) * x1 - (i - n) * x0) / (n + 1);\n return scale;\n }\n\n scale.domain = function(_) {\n return arguments.length ? (x0 = +_[0], x1 = +_[1], rescale()) : [x0, x1];\n };\n\n scale.range = function(_) {\n return arguments.length ? (n = (range = slice.call(_)).length - 1, rescale()) : range.slice();\n };\n\n scale.invertExtent = function(y) {\n var i = range.indexOf(y);\n return i < 0 ? [NaN, NaN]\n : i < 1 ? [x0, domain[0]]\n : i >= n ? [domain[n - 1], x1]\n : [domain[i - 1], domain[i]];\n };\n\n scale.copy = function() {\n return quantize()\n .domain([x0, x1])\n .range(range);\n };\n\n return linearish(scale);\n}\n","import {bisect} from \"d3-array\";\nimport {slice} from \"./array\";\n\nexport default function threshold() {\n var domain = [0.5],\n range = [0, 1],\n n = 1;\n\n function scale(x) {\n if (x <= x) return range[bisect(domain, x, 0, n)];\n }\n\n scale.domain = function(_) {\n return arguments.length ? (domain = slice.call(_), n = Math.min(domain.length, range.length - 1), scale) : domain.slice();\n };\n\n scale.range = function(_) {\n return arguments.length ? (range = slice.call(_), n = Math.min(domain.length, range.length - 1), scale) : range.slice();\n };\n\n scale.invertExtent = function(y) {\n var i = range.indexOf(y);\n return [domain[i - 1], domain[i]];\n };\n\n scale.copy = function() {\n return threshold()\n .domain(domain)\n .range(range);\n };\n\n return scale;\n}\n","var t0 = new Date,\n t1 = new Date;\n\nexport default function newInterval(floori, offseti, count, field) {\n\n function interval(date) {\n return floori(date = new Date(+date)), date;\n }\n\n interval.floor = interval;\n\n interval.ceil = function(date) {\n return floori(date = new Date(date - 1)), offseti(date, 1), floori(date), date;\n };\n\n interval.round = function(date) {\n var d0 = interval(date),\n d1 = interval.ceil(date);\n return date - d0 < d1 - date ? d0 : d1;\n };\n\n interval.offset = function(date, step) {\n return offseti(date = new Date(+date), step == null ? 1 : Math.floor(step)), date;\n };\n\n interval.range = function(start, stop, step) {\n var range = [], previous;\n start = interval.ceil(start);\n step = step == null ? 1 : Math.floor(step);\n if (!(start < stop) || !(step > 0)) return range; // also handles Invalid Date\n do range.push(previous = new Date(+start)), offseti(start, step), floori(start);\n while (previous < start && start < stop);\n return range;\n };\n\n interval.filter = function(test) {\n return newInterval(function(date) {\n if (date >= date) while (floori(date), !test(date)) date.setTime(date - 1);\n }, function(date, step) {\n if (date >= date) {\n if (step < 0) while (++step <= 0) {\n while (offseti(date, -1), !test(date)) {} // eslint-disable-line no-empty\n } else while (--step >= 0) {\n while (offseti(date, +1), !test(date)) {} // eslint-disable-line no-empty\n }\n }\n });\n };\n\n if (count) {\n interval.count = function(start, end) {\n t0.setTime(+start), t1.setTime(+end);\n floori(t0), floori(t1);\n return Math.floor(count(t0, t1));\n };\n\n interval.every = function(step) {\n step = Math.floor(step);\n return !isFinite(step) || !(step > 0) ? null\n : !(step > 1) ? interval\n : interval.filter(field\n ? function(d) { return field(d) % step === 0; }\n : function(d) { return interval.count(0, d) % step === 0; });\n };\n }\n\n return interval;\n}\n","import interval from \"./interval\";\n\nvar millisecond = interval(function() {\n // noop\n}, function(date, step) {\n date.setTime(+date + step);\n}, function(start, end) {\n return end - start;\n});\n\n// An optimized implementation for this simple case.\nmillisecond.every = function(k) {\n k = Math.floor(k);\n if (!isFinite(k) || !(k > 0)) return null;\n if (!(k > 1)) return millisecond;\n return interval(function(date) {\n date.setTime(Math.floor(date / k) * k);\n }, function(date, step) {\n date.setTime(+date + step * k);\n }, function(start, end) {\n return (end - start) / k;\n });\n};\n\nexport default millisecond;\nexport var milliseconds = millisecond.range;\n","export var durationSecond = 1e3;\nexport var durationMinute = 6e4;\nexport var durationHour = 36e5;\nexport var durationDay = 864e5;\nexport var durationWeek = 6048e5;\n","import interval from \"./interval\";\nimport {durationSecond} from \"./duration\";\n\nvar second = interval(function(date) {\n date.setTime(Math.floor(date / durationSecond) * durationSecond);\n}, function(date, step) {\n date.setTime(+date + step * durationSecond);\n}, function(start, end) {\n return (end - start) / durationSecond;\n}, function(date) {\n return date.getUTCSeconds();\n});\n\nexport default second;\nexport var seconds = second.range;\n","import interval from \"./interval\";\nimport {durationMinute} from \"./duration\";\n\nvar minute = interval(function(date) {\n date.setTime(Math.floor(date / durationMinute) * durationMinute);\n}, function(date, step) {\n date.setTime(+date + step * durationMinute);\n}, function(start, end) {\n return (end - start) / durationMinute;\n}, function(date) {\n return date.getMinutes();\n});\n\nexport default minute;\nexport var minutes = minute.range;\n","import interval from \"./interval\";\nimport {durationHour, durationMinute} from \"./duration\";\n\nvar hour = interval(function(date) {\n var offset = date.getTimezoneOffset() * durationMinute % durationHour;\n if (offset < 0) offset += durationHour;\n date.setTime(Math.floor((+date - offset) / durationHour) * durationHour + offset);\n}, function(date, step) {\n date.setTime(+date + step * durationHour);\n}, function(start, end) {\n return (end - start) / durationHour;\n}, function(date) {\n return date.getHours();\n});\n\nexport default hour;\nexport var hours = hour.range;\n","import interval from \"./interval\";\nimport {durationDay, durationMinute} from \"./duration\";\n\nvar day = interval(function(date) {\n date.setHours(0, 0, 0, 0);\n}, function(date, step) {\n date.setDate(date.getDate() + step);\n}, function(start, end) {\n return (end - start - (end.getTimezoneOffset() - start.getTimezoneOffset()) * durationMinute) / durationDay;\n}, function(date) {\n return date.getDate() - 1;\n});\n\nexport default day;\nexport var days = day.range;\n","import interval from \"./interval\";\nimport {durationMinute, durationWeek} from \"./duration\";\n\nfunction weekday(i) {\n return interval(function(date) {\n date.setDate(date.getDate() - (date.getDay() + 7 - i) % 7);\n date.setHours(0, 0, 0, 0);\n }, function(date, step) {\n date.setDate(date.getDate() + step * 7);\n }, function(start, end) {\n return (end - start - (end.getTimezoneOffset() - start.getTimezoneOffset()) * durationMinute) / durationWeek;\n });\n}\n\nexport var sunday = weekday(0);\nexport var monday = weekday(1);\nexport var tuesday = weekday(2);\nexport var wednesday = weekday(3);\nexport var thursday = weekday(4);\nexport var friday = weekday(5);\nexport var saturday = weekday(6);\n\nexport var sundays = sunday.range;\nexport var mondays = monday.range;\nexport var tuesdays = tuesday.range;\nexport var wednesdays = wednesday.range;\nexport var thursdays = thursday.range;\nexport var fridays = friday.range;\nexport var saturdays = saturday.range;\n","import interval from \"./interval\";\n\nvar month = interval(function(date) {\n date.setDate(1);\n date.setHours(0, 0, 0, 0);\n}, function(date, step) {\n date.setMonth(date.getMonth() + step);\n}, function(start, end) {\n return end.getMonth() - start.getMonth() + (end.getFullYear() - start.getFullYear()) * 12;\n}, function(date) {\n return date.getMonth();\n});\n\nexport default month;\nexport var months = month.range;\n","import interval from \"./interval\";\n\nvar year = interval(function(date) {\n date.setMonth(0, 1);\n date.setHours(0, 0, 0, 0);\n}, function(date, step) {\n date.setFullYear(date.getFullYear() + step);\n}, function(start, end) {\n return end.getFullYear() - start.getFullYear();\n}, function(date) {\n return date.getFullYear();\n});\n\n// An optimized implementation for this simple case.\nyear.every = function(k) {\n return !isFinite(k = Math.floor(k)) || !(k > 0) ? null : interval(function(date) {\n date.setFullYear(Math.floor(date.getFullYear() / k) * k);\n date.setMonth(0, 1);\n date.setHours(0, 0, 0, 0);\n }, function(date, step) {\n date.setFullYear(date.getFullYear() + step * k);\n });\n};\n\nexport default year;\nexport var years = year.range;\n","import interval from \"./interval\";\nimport {durationMinute} from \"./duration\";\n\nvar utcMinute = interval(function(date) {\n date.setUTCSeconds(0, 0);\n}, function(date, step) {\n date.setTime(+date + step * durationMinute);\n}, function(start, end) {\n return (end - start) / durationMinute;\n}, function(date) {\n return date.getUTCMinutes();\n});\n\nexport default utcMinute;\nexport var utcMinutes = utcMinute.range;\n","import interval from \"./interval\";\nimport {durationHour} from \"./duration\";\n\nvar utcHour = interval(function(date) {\n date.setUTCMinutes(0, 0, 0);\n}, function(date, step) {\n date.setTime(+date + step * durationHour);\n}, function(start, end) {\n return (end - start) / durationHour;\n}, function(date) {\n return date.getUTCHours();\n});\n\nexport default utcHour;\nexport var utcHours = utcHour.range;\n","import interval from \"./interval\";\nimport {durationDay} from \"./duration\";\n\nvar utcDay = interval(function(date) {\n date.setUTCHours(0, 0, 0, 0);\n}, function(date, step) {\n date.setUTCDate(date.getUTCDate() + step);\n}, function(start, end) {\n return (end - start) / durationDay;\n}, function(date) {\n return date.getUTCDate() - 1;\n});\n\nexport default utcDay;\nexport var utcDays = utcDay.range;\n","import interval from \"./interval\";\nimport {durationWeek} from \"./duration\";\n\nfunction utcWeekday(i) {\n return interval(function(date) {\n date.setUTCDate(date.getUTCDate() - (date.getUTCDay() + 7 - i) % 7);\n date.setUTCHours(0, 0, 0, 0);\n }, function(date, step) {\n date.setUTCDate(date.getUTCDate() + step * 7);\n }, function(start, end) {\n return (end - start) / durationWeek;\n });\n}\n\nexport var utcSunday = utcWeekday(0);\nexport var utcMonday = utcWeekday(1);\nexport var utcTuesday = utcWeekday(2);\nexport var utcWednesday = utcWeekday(3);\nexport var utcThursday = utcWeekday(4);\nexport var utcFriday = utcWeekday(5);\nexport var utcSaturday = utcWeekday(6);\n\nexport var utcSundays = utcSunday.range;\nexport var utcMondays = utcMonday.range;\nexport var utcTuesdays = utcTuesday.range;\nexport var utcWednesdays = utcWednesday.range;\nexport var utcThursdays = utcThursday.range;\nexport var utcFridays = utcFriday.range;\nexport var utcSaturdays = utcSaturday.range;\n","import interval from \"./interval\";\n\nvar utcMonth = interval(function(date) {\n date.setUTCDate(1);\n date.setUTCHours(0, 0, 0, 0);\n}, function(date, step) {\n date.setUTCMonth(date.getUTCMonth() + step);\n}, function(start, end) {\n return end.getUTCMonth() - start.getUTCMonth() + (end.getUTCFullYear() - start.getUTCFullYear()) * 12;\n}, function(date) {\n return date.getUTCMonth();\n});\n\nexport default utcMonth;\nexport var utcMonths = utcMonth.range;\n","import interval from \"./interval\";\n\nvar utcYear = interval(function(date) {\n date.setUTCMonth(0, 1);\n date.setUTCHours(0, 0, 0, 0);\n}, function(date, step) {\n date.setUTCFullYear(date.getUTCFullYear() + step);\n}, function(start, end) {\n return end.getUTCFullYear() - start.getUTCFullYear();\n}, function(date) {\n return date.getUTCFullYear();\n});\n\n// An optimized implementation for this simple case.\nutcYear.every = function(k) {\n return !isFinite(k = Math.floor(k)) || !(k > 0) ? null : interval(function(date) {\n date.setUTCFullYear(Math.floor(date.getUTCFullYear() / k) * k);\n date.setUTCMonth(0, 1);\n date.setUTCHours(0, 0, 0, 0);\n }, function(date, step) {\n date.setUTCFullYear(date.getUTCFullYear() + step * k);\n });\n};\n\nexport default utcYear;\nexport var utcYears = utcYear.range;\n","export {\n default as timeInterval\n} from \"./src/interval\";\n\nexport {\n default as timeMillisecond,\n milliseconds as timeMilliseconds,\n default as utcMillisecond,\n milliseconds as utcMilliseconds\n} from \"./src/millisecond\";\n\nexport {\n default as timeSecond,\n seconds as timeSeconds,\n default as utcSecond,\n seconds as utcSeconds\n} from \"./src/second\";\n\nexport {\n default as timeMinute,\n minutes as timeMinutes\n} from \"./src/minute\";\n\nexport {\n default as timeHour,\n hours as timeHours\n} from \"./src/hour\";\n\nexport {\n default as timeDay,\n days as timeDays\n} from \"./src/day\";\n\nexport {\n sunday as timeWeek,\n sundays as timeWeeks,\n sunday as timeSunday,\n sundays as timeSundays,\n monday as timeMonday,\n mondays as timeMondays,\n tuesday as timeTuesday,\n tuesdays as timeTuesdays,\n wednesday as timeWednesday,\n wednesdays as timeWednesdays,\n thursday as timeThursday,\n thursdays as timeThursdays,\n friday as timeFriday,\n fridays as timeFridays,\n saturday as timeSaturday,\n saturdays as timeSaturdays\n} from \"./src/week\";\n\nexport {\n default as timeMonth,\n months as timeMonths\n} from \"./src/month\";\n\nexport {\n default as timeYear,\n years as timeYears\n} from \"./src/year\";\n\nexport {\n default as utcMinute,\n utcMinutes as utcMinutes\n} from \"./src/utcMinute\";\n\nexport {\n default as utcHour,\n utcHours as utcHours\n} from \"./src/utcHour\";\n\nexport {\n default as utcDay,\n utcDays as utcDays\n} from \"./src/utcDay\";\n\nexport {\n utcSunday as utcWeek,\n utcSundays as utcWeeks,\n utcSunday as utcSunday,\n utcSundays as utcSundays,\n utcMonday as utcMonday,\n utcMondays as utcMondays,\n utcTuesday as utcTuesday,\n utcTuesdays as utcTuesdays,\n utcWednesday as utcWednesday,\n utcWednesdays as utcWednesdays,\n utcThursday as utcThursday,\n utcThursdays as utcThursdays,\n utcFriday as utcFriday,\n utcFridays as utcFridays,\n utcSaturday as utcSaturday,\n utcSaturdays as utcSaturdays\n} from \"./src/utcWeek\";\n\nexport {\n default as utcMonth,\n utcMonths as utcMonths\n} from \"./src/utcMonth\";\n\nexport {\n default as utcYear,\n utcYears as utcYears\n} from \"./src/utcYear\";\n","import {\n timeDay,\n timeSunday,\n timeMonday,\n timeThursday,\n timeYear,\n utcDay,\n utcSunday,\n utcMonday,\n utcThursday,\n utcYear\n} from \"d3-time\";\n\nfunction localDate(d) {\n if (0 <= d.y && d.y < 100) {\n var date = new Date(-1, d.m, d.d, d.H, d.M, d.S, d.L);\n date.setFullYear(d.y);\n return date;\n }\n return new Date(d.y, d.m, d.d, d.H, d.M, d.S, d.L);\n}\n\nfunction utcDate(d) {\n if (0 <= d.y && d.y < 100) {\n var date = new Date(Date.UTC(-1, d.m, d.d, d.H, d.M, d.S, d.L));\n date.setUTCFullYear(d.y);\n return date;\n }\n return new Date(Date.UTC(d.y, d.m, d.d, d.H, d.M, d.S, d.L));\n}\n\nfunction newYear(y) {\n return {y: y, m: 0, d: 1, H: 0, M: 0, S: 0, L: 0};\n}\n\nexport default function formatLocale(locale) {\n var locale_dateTime = locale.dateTime,\n locale_date = locale.date,\n locale_time = locale.time,\n locale_periods = locale.periods,\n locale_weekdays = locale.days,\n locale_shortWeekdays = locale.shortDays,\n locale_months = locale.months,\n locale_shortMonths = locale.shortMonths;\n\n var periodRe = formatRe(locale_periods),\n periodLookup = formatLookup(locale_periods),\n weekdayRe = formatRe(locale_weekdays),\n weekdayLookup = formatLookup(locale_weekdays),\n shortWeekdayRe = formatRe(locale_shortWeekdays),\n shortWeekdayLookup = formatLookup(locale_shortWeekdays),\n monthRe = formatRe(locale_months),\n monthLookup = formatLookup(locale_months),\n shortMonthRe = formatRe(locale_shortMonths),\n shortMonthLookup = formatLookup(locale_shortMonths);\n\n var formats = {\n \"a\": formatShortWeekday,\n \"A\": formatWeekday,\n \"b\": formatShortMonth,\n \"B\": formatMonth,\n \"c\": null,\n \"d\": formatDayOfMonth,\n \"e\": formatDayOfMonth,\n \"f\": formatMicroseconds,\n \"H\": formatHour24,\n \"I\": formatHour12,\n \"j\": formatDayOfYear,\n \"L\": formatMilliseconds,\n \"m\": formatMonthNumber,\n \"M\": formatMinutes,\n \"p\": formatPeriod,\n \"Q\": formatUnixTimestamp,\n \"s\": formatUnixTimestampSeconds,\n \"S\": formatSeconds,\n \"u\": formatWeekdayNumberMonday,\n \"U\": formatWeekNumberSunday,\n \"V\": formatWeekNumberISO,\n \"w\": formatWeekdayNumberSunday,\n \"W\": formatWeekNumberMonday,\n \"x\": null,\n \"X\": null,\n \"y\": formatYear,\n \"Y\": formatFullYear,\n \"Z\": formatZone,\n \"%\": formatLiteralPercent\n };\n\n var utcFormats = {\n \"a\": formatUTCShortWeekday,\n \"A\": formatUTCWeekday,\n \"b\": formatUTCShortMonth,\n \"B\": formatUTCMonth,\n \"c\": null,\n \"d\": formatUTCDayOfMonth,\n \"e\": formatUTCDayOfMonth,\n \"f\": formatUTCMicroseconds,\n \"H\": formatUTCHour24,\n \"I\": formatUTCHour12,\n \"j\": formatUTCDayOfYear,\n \"L\": formatUTCMilliseconds,\n \"m\": formatUTCMonthNumber,\n \"M\": formatUTCMinutes,\n \"p\": formatUTCPeriod,\n \"Q\": formatUnixTimestamp,\n \"s\": formatUnixTimestampSeconds,\n \"S\": formatUTCSeconds,\n \"u\": formatUTCWeekdayNumberMonday,\n \"U\": formatUTCWeekNumberSunday,\n \"V\": formatUTCWeekNumberISO,\n \"w\": formatUTCWeekdayNumberSunday,\n \"W\": formatUTCWeekNumberMonday,\n \"x\": null,\n \"X\": null,\n \"y\": formatUTCYear,\n \"Y\": formatUTCFullYear,\n \"Z\": formatUTCZone,\n \"%\": formatLiteralPercent\n };\n\n var parses = {\n \"a\": parseShortWeekday,\n \"A\": parseWeekday,\n \"b\": parseShortMonth,\n \"B\": parseMonth,\n \"c\": parseLocaleDateTime,\n \"d\": parseDayOfMonth,\n \"e\": parseDayOfMonth,\n \"f\": parseMicroseconds,\n \"H\": parseHour24,\n \"I\": parseHour24,\n \"j\": parseDayOfYear,\n \"L\": parseMilliseconds,\n \"m\": parseMonthNumber,\n \"M\": parseMinutes,\n \"p\": parsePeriod,\n \"Q\": parseUnixTimestamp,\n \"s\": parseUnixTimestampSeconds,\n \"S\": parseSeconds,\n \"u\": parseWeekdayNumberMonday,\n \"U\": parseWeekNumberSunday,\n \"V\": parseWeekNumberISO,\n \"w\": parseWeekdayNumberSunday,\n \"W\": parseWeekNumberMonday,\n \"x\": parseLocaleDate,\n \"X\": parseLocaleTime,\n \"y\": parseYear,\n \"Y\": parseFullYear,\n \"Z\": parseZone,\n \"%\": parseLiteralPercent\n };\n\n // These recursive directive definitions must be deferred.\n formats.x = newFormat(locale_date, formats);\n formats.X = newFormat(locale_time, formats);\n formats.c = newFormat(locale_dateTime, formats);\n utcFormats.x = newFormat(locale_date, utcFormats);\n utcFormats.X = newFormat(locale_time, utcFormats);\n utcFormats.c = newFormat(locale_dateTime, utcFormats);\n\n function newFormat(specifier, formats) {\n return function(date) {\n var string = [],\n i = -1,\n j = 0,\n n = specifier.length,\n c,\n pad,\n format;\n\n if (!(date instanceof Date)) date = new Date(+date);\n\n while (++i < n) {\n if (specifier.charCodeAt(i) === 37) {\n string.push(specifier.slice(j, i));\n if ((pad = pads[c = specifier.charAt(++i)]) != null) c = specifier.charAt(++i);\n else pad = c === \"e\" ? \" \" : \"0\";\n if (format = formats[c]) c = format(date, pad);\n string.push(c);\n j = i + 1;\n }\n }\n\n string.push(specifier.slice(j, i));\n return string.join(\"\");\n };\n }\n\n function newParse(specifier, newDate) {\n return function(string) {\n var d = newYear(1900),\n i = parseSpecifier(d, specifier, string += \"\", 0),\n week, day;\n if (i != string.length) return null;\n\n // If a UNIX timestamp is specified, return it.\n if (\"Q\" in d) return new Date(d.Q);\n\n // The am-pm flag is 0 for AM, and 1 for PM.\n if (\"p\" in d) d.H = d.H % 12 + d.p * 12;\n\n // Convert day-of-week and week-of-year to day-of-year.\n if (\"V\" in d) {\n if (d.V < 1 || d.V > 53) return null;\n if (!(\"w\" in d)) d.w = 1;\n if (\"Z\" in d) {\n week = utcDate(newYear(d.y)), day = week.getUTCDay();\n week = day > 4 || day === 0 ? utcMonday.ceil(week) : utcMonday(week);\n week = utcDay.offset(week, (d.V - 1) * 7);\n d.y = week.getUTCFullYear();\n d.m = week.getUTCMonth();\n d.d = week.getUTCDate() + (d.w + 6) % 7;\n } else {\n week = newDate(newYear(d.y)), day = week.getDay();\n week = day > 4 || day === 0 ? timeMonday.ceil(week) : timeMonday(week);\n week = timeDay.offset(week, (d.V - 1) * 7);\n d.y = week.getFullYear();\n d.m = week.getMonth();\n d.d = week.getDate() + (d.w + 6) % 7;\n }\n } else if (\"W\" in d || \"U\" in d) {\n if (!(\"w\" in d)) d.w = \"u\" in d ? d.u % 7 : \"W\" in d ? 1 : 0;\n day = \"Z\" in d ? utcDate(newYear(d.y)).getUTCDay() : newDate(newYear(d.y)).getDay();\n d.m = 0;\n d.d = \"W\" in d ? (d.w + 6) % 7 + d.W * 7 - (day + 5) % 7 : d.w + d.U * 7 - (day + 6) % 7;\n }\n\n // If a time zone is specified, all fields are interpreted as UTC and then\n // offset according to the specified time zone.\n if (\"Z\" in d) {\n d.H += d.Z / 100 | 0;\n d.M += d.Z % 100;\n return utcDate(d);\n }\n\n // Otherwise, all fields are in local time.\n return newDate(d);\n };\n }\n\n function parseSpecifier(d, specifier, string, j) {\n var i = 0,\n n = specifier.length,\n m = string.length,\n c,\n parse;\n\n while (i < n) {\n if (j >= m) return -1;\n c = specifier.charCodeAt(i++);\n if (c === 37) {\n c = specifier.charAt(i++);\n parse = parses[c in pads ? specifier.charAt(i++) : c];\n if (!parse || ((j = parse(d, string, j)) < 0)) return -1;\n } else if (c != string.charCodeAt(j++)) {\n return -1;\n }\n }\n\n return j;\n }\n\n function parsePeriod(d, string, i) {\n var n = periodRe.exec(string.slice(i));\n return n ? (d.p = periodLookup[n[0].toLowerCase()], i + n[0].length) : -1;\n }\n\n function parseShortWeekday(d, string, i) {\n var n = shortWeekdayRe.exec(string.slice(i));\n return n ? (d.w = shortWeekdayLookup[n[0].toLowerCase()], i + n[0].length) : -1;\n }\n\n function parseWeekday(d, string, i) {\n var n = weekdayRe.exec(string.slice(i));\n return n ? (d.w = weekdayLookup[n[0].toLowerCase()], i + n[0].length) : -1;\n }\n\n function parseShortMonth(d, string, i) {\n var n = shortMonthRe.exec(string.slice(i));\n return n ? (d.m = shortMonthLookup[n[0].toLowerCase()], i + n[0].length) : -1;\n }\n\n function parseMonth(d, string, i) {\n var n = monthRe.exec(string.slice(i));\n return n ? (d.m = monthLookup[n[0].toLowerCase()], i + n[0].length) : -1;\n }\n\n function parseLocaleDateTime(d, string, i) {\n return parseSpecifier(d, locale_dateTime, string, i);\n }\n\n function parseLocaleDate(d, string, i) {\n return parseSpecifier(d, locale_date, string, i);\n }\n\n function parseLocaleTime(d, string, i) {\n return parseSpecifier(d, locale_time, string, i);\n }\n\n function formatShortWeekday(d) {\n return locale_shortWeekdays[d.getDay()];\n }\n\n function formatWeekday(d) {\n return locale_weekdays[d.getDay()];\n }\n\n function formatShortMonth(d) {\n return locale_shortMonths[d.getMonth()];\n }\n\n function formatMonth(d) {\n return locale_months[d.getMonth()];\n }\n\n function formatPeriod(d) {\n return locale_periods[+(d.getHours() >= 12)];\n }\n\n function formatUTCShortWeekday(d) {\n return locale_shortWeekdays[d.getUTCDay()];\n }\n\n function formatUTCWeekday(d) {\n return locale_weekdays[d.getUTCDay()];\n }\n\n function formatUTCShortMonth(d) {\n return locale_shortMonths[d.getUTCMonth()];\n }\n\n function formatUTCMonth(d) {\n return locale_months[d.getUTCMonth()];\n }\n\n function formatUTCPeriod(d) {\n return locale_periods[+(d.getUTCHours() >= 12)];\n }\n\n return {\n format: function(specifier) {\n var f = newFormat(specifier += \"\", formats);\n f.toString = function() { return specifier; };\n return f;\n },\n parse: function(specifier) {\n var p = newParse(specifier += \"\", localDate);\n p.toString = function() { return specifier; };\n return p;\n },\n utcFormat: function(specifier) {\n var f = newFormat(specifier += \"\", utcFormats);\n f.toString = function() { return specifier; };\n return f;\n },\n utcParse: function(specifier) {\n var p = newParse(specifier, utcDate);\n p.toString = function() { return specifier; };\n return p;\n }\n };\n}\n\nvar pads = {\"-\": \"\", \"_\": \" \", \"0\": \"0\"},\n numberRe = /^\\s*\\d+/, // note: ignores next directive\n percentRe = /^%/,\n requoteRe = /[\\\\^$*+?|[\\]().{}]/g;\n\nfunction pad(value, fill, width) {\n var sign = value < 0 ? \"-\" : \"\",\n string = (sign ? -value : value) + \"\",\n length = string.length;\n return sign + (length < width ? new Array(width - length + 1).join(fill) + string : string);\n}\n\nfunction requote(s) {\n return s.replace(requoteRe, \"\\\\$&\");\n}\n\nfunction formatRe(names) {\n return new RegExp(\"^(?:\" + names.map(requote).join(\"|\") + \")\", \"i\");\n}\n\nfunction formatLookup(names) {\n var map = {}, i = -1, n = names.length;\n while (++i < n) map[names[i].toLowerCase()] = i;\n return map;\n}\n\nfunction parseWeekdayNumberSunday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 1));\n return n ? (d.w = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekdayNumberMonday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 1));\n return n ? (d.u = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekNumberSunday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.U = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekNumberISO(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.V = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekNumberMonday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.W = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseFullYear(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 4));\n return n ? (d.y = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseYear(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.y = +n[0] + (+n[0] > 68 ? 1900 : 2000), i + n[0].length) : -1;\n}\n\nfunction parseZone(d, string, i) {\n var n = /^(Z)|([+-]\\d\\d)(?::?(\\d\\d))?/.exec(string.slice(i, i + 6));\n return n ? (d.Z = n[1] ? 0 : -(n[2] + (n[3] || \"00\")), i + n[0].length) : -1;\n}\n\nfunction parseMonthNumber(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.m = n[0] - 1, i + n[0].length) : -1;\n}\n\nfunction parseDayOfMonth(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.d = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseDayOfYear(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 3));\n return n ? (d.m = 0, d.d = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseHour24(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.H = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseMinutes(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.M = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseSeconds(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.S = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseMilliseconds(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 3));\n return n ? (d.L = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseMicroseconds(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 6));\n return n ? (d.L = Math.floor(n[0] / 1000), i + n[0].length) : -1;\n}\n\nfunction parseLiteralPercent(d, string, i) {\n var n = percentRe.exec(string.slice(i, i + 1));\n return n ? i + n[0].length : -1;\n}\n\nfunction parseUnixTimestamp(d, string, i) {\n var n = numberRe.exec(string.slice(i));\n return n ? (d.Q = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseUnixTimestampSeconds(d, string, i) {\n var n = numberRe.exec(string.slice(i));\n return n ? (d.Q = (+n[0]) * 1000, i + n[0].length) : -1;\n}\n\nfunction formatDayOfMonth(d, p) {\n return pad(d.getDate(), p, 2);\n}\n\nfunction formatHour24(d, p) {\n return pad(d.getHours(), p, 2);\n}\n\nfunction formatHour12(d, p) {\n return pad(d.getHours() % 12 || 12, p, 2);\n}\n\nfunction formatDayOfYear(d, p) {\n return pad(1 + timeDay.count(timeYear(d), d), p, 3);\n}\n\nfunction formatMilliseconds(d, p) {\n return pad(d.getMilliseconds(), p, 3);\n}\n\nfunction formatMicroseconds(d, p) {\n return formatMilliseconds(d, p) + \"000\";\n}\n\nfunction formatMonthNumber(d, p) {\n return pad(d.getMonth() + 1, p, 2);\n}\n\nfunction formatMinutes(d, p) {\n return pad(d.getMinutes(), p, 2);\n}\n\nfunction formatSeconds(d, p) {\n return pad(d.getSeconds(), p, 2);\n}\n\nfunction formatWeekdayNumberMonday(d) {\n var day = d.getDay();\n return day === 0 ? 7 : day;\n}\n\nfunction formatWeekNumberSunday(d, p) {\n return pad(timeSunday.count(timeYear(d), d), p, 2);\n}\n\nfunction formatWeekNumberISO(d, p) {\n var day = d.getDay();\n d = (day >= 4 || day === 0) ? timeThursday(d) : timeThursday.ceil(d);\n return pad(timeThursday.count(timeYear(d), d) + (timeYear(d).getDay() === 4), p, 2);\n}\n\nfunction formatWeekdayNumberSunday(d) {\n return d.getDay();\n}\n\nfunction formatWeekNumberMonday(d, p) {\n return pad(timeMonday.count(timeYear(d), d), p, 2);\n}\n\nfunction formatYear(d, p) {\n return pad(d.getFullYear() % 100, p, 2);\n}\n\nfunction formatFullYear(d, p) {\n return pad(d.getFullYear() % 10000, p, 4);\n}\n\nfunction formatZone(d) {\n var z = d.getTimezoneOffset();\n return (z > 0 ? \"-\" : (z *= -1, \"+\"))\n + pad(z / 60 | 0, \"0\", 2)\n + pad(z % 60, \"0\", 2);\n}\n\nfunction formatUTCDayOfMonth(d, p) {\n return pad(d.getUTCDate(), p, 2);\n}\n\nfunction formatUTCHour24(d, p) {\n return pad(d.getUTCHours(), p, 2);\n}\n\nfunction formatUTCHour12(d, p) {\n return pad(d.getUTCHours() % 12 || 12, p, 2);\n}\n\nfunction formatUTCDayOfYear(d, p) {\n return pad(1 + utcDay.count(utcYear(d), d), p, 3);\n}\n\nfunction formatUTCMilliseconds(d, p) {\n return pad(d.getUTCMilliseconds(), p, 3);\n}\n\nfunction formatUTCMicroseconds(d, p) {\n return formatUTCMilliseconds(d, p) + \"000\";\n}\n\nfunction formatUTCMonthNumber(d, p) {\n return pad(d.getUTCMonth() + 1, p, 2);\n}\n\nfunction formatUTCMinutes(d, p) {\n return pad(d.getUTCMinutes(), p, 2);\n}\n\nfunction formatUTCSeconds(d, p) {\n return pad(d.getUTCSeconds(), p, 2);\n}\n\nfunction formatUTCWeekdayNumberMonday(d) {\n var dow = d.getUTCDay();\n return dow === 0 ? 7 : dow;\n}\n\nfunction formatUTCWeekNumberSunday(d, p) {\n return pad(utcSunday.count(utcYear(d), d), p, 2);\n}\n\nfunction formatUTCWeekNumberISO(d, p) {\n var day = d.getUTCDay();\n d = (day >= 4 || day === 0) ? utcThursday(d) : utcThursday.ceil(d);\n return pad(utcThursday.count(utcYear(d), d) + (utcYear(d).getUTCDay() === 4), p, 2);\n}\n\nfunction formatUTCWeekdayNumberSunday(d) {\n return d.getUTCDay();\n}\n\nfunction formatUTCWeekNumberMonday(d, p) {\n return pad(utcMonday.count(utcYear(d), d), p, 2);\n}\n\nfunction formatUTCYear(d, p) {\n return pad(d.getUTCFullYear() % 100, p, 2);\n}\n\nfunction formatUTCFullYear(d, p) {\n return pad(d.getUTCFullYear() % 10000, p, 4);\n}\n\nfunction formatUTCZone() {\n return \"+0000\";\n}\n\nfunction formatLiteralPercent() {\n return \"%\";\n}\n\nfunction formatUnixTimestamp(d) {\n return +d;\n}\n\nfunction formatUnixTimestampSeconds(d) {\n return Math.floor(+d / 1000);\n}\n","import formatLocale from \"./locale\";\n\nvar locale;\nexport var timeFormat;\nexport var timeParse;\nexport var utcFormat;\nexport var utcParse;\n\ndefaultLocale({\n dateTime: \"%x, %X\",\n date: \"%-m/%-d/%Y\",\n time: \"%-I:%M:%S %p\",\n periods: [\"AM\", \"PM\"],\n days: [\"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"],\n shortDays: [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"],\n months: [\"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\"],\n shortMonths: [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"]\n});\n\nexport default function defaultLocale(definition) {\n locale = formatLocale(definition);\n timeFormat = locale.format;\n timeParse = locale.parse;\n utcFormat = locale.utcFormat;\n utcParse = locale.utcParse;\n return locale;\n}\n","import {utcFormat} from \"./defaultLocale\";\n\nexport var isoSpecifier = \"%Y-%m-%dT%H:%M:%S.%LZ\";\n\nfunction formatIsoNative(date) {\n return date.toISOString();\n}\n\nvar formatIso = Date.prototype.toISOString\n ? formatIsoNative\n : utcFormat(isoSpecifier);\n\nexport default formatIso;\n","import {isoSpecifier} from \"./isoFormat\";\nimport {utcParse} from \"./defaultLocale\";\n\nfunction parseIsoNative(string) {\n var date = new Date(string);\n return isNaN(date) ? null : date;\n}\n\nvar parseIso = +new Date(\"2000-01-01T00:00:00.000Z\")\n ? parseIsoNative\n : utcParse(isoSpecifier);\n\nexport default parseIso;\n","export {default as timeFormatDefaultLocale, timeFormat, timeParse, utcFormat, utcParse} from \"./src/defaultLocale\";\nexport {default as timeFormatLocale} from \"./src/locale\";\nexport {default as isoFormat} from \"./src/isoFormat\";\nexport {default as isoParse} from \"./src/isoParse\";\n","import {bisector, tickStep} from \"d3-array\";\nimport {interpolateNumber as reinterpolate} from \"d3-interpolate\";\nimport {timeYear, timeMonth, timeWeek, timeDay, timeHour, timeMinute, timeSecond, timeMillisecond} from \"d3-time\";\nimport {timeFormat} from \"d3-time-format\";\nimport {map} from \"./array\";\nimport {default as continuous, copy, deinterpolateLinear as deinterpolate} from \"./continuous\";\nimport nice from \"./nice\";\n\nvar durationSecond = 1000,\n durationMinute = durationSecond * 60,\n durationHour = durationMinute * 60,\n durationDay = durationHour * 24,\n durationWeek = durationDay * 7,\n durationMonth = durationDay * 30,\n durationYear = durationDay * 365;\n\nfunction date(t) {\n return new Date(t);\n}\n\nfunction number(t) {\n return t instanceof Date ? +t : +new Date(+t);\n}\n\nexport function calendar(year, month, week, day, hour, minute, second, millisecond, format) {\n var scale = continuous(deinterpolate, reinterpolate),\n invert = scale.invert,\n domain = scale.domain;\n\n var formatMillisecond = format(\".%L\"),\n formatSecond = format(\":%S\"),\n formatMinute = format(\"%I:%M\"),\n formatHour = format(\"%I %p\"),\n formatDay = format(\"%a %d\"),\n formatWeek = format(\"%b %d\"),\n formatMonth = format(\"%B\"),\n formatYear = format(\"%Y\");\n\n var tickIntervals = [\n [second, 1, durationSecond],\n [second, 5, 5 * durationSecond],\n [second, 15, 15 * durationSecond],\n [second, 30, 30 * durationSecond],\n [minute, 1, durationMinute],\n [minute, 5, 5 * durationMinute],\n [minute, 15, 15 * durationMinute],\n [minute, 30, 30 * durationMinute],\n [ hour, 1, durationHour ],\n [ hour, 3, 3 * durationHour ],\n [ hour, 6, 6 * durationHour ],\n [ hour, 12, 12 * durationHour ],\n [ day, 1, durationDay ],\n [ day, 2, 2 * durationDay ],\n [ week, 1, durationWeek ],\n [ month, 1, durationMonth ],\n [ month, 3, 3 * durationMonth ],\n [ year, 1, durationYear ]\n ];\n\n function tickFormat(date) {\n return (second(date) < date ? formatMillisecond\n : minute(date) < date ? formatSecond\n : hour(date) < date ? formatMinute\n : day(date) < date ? formatHour\n : month(date) < date ? (week(date) < date ? formatDay : formatWeek)\n : year(date) < date ? formatMonth\n : formatYear)(date);\n }\n\n function tickInterval(interval, start, stop, step) {\n if (interval == null) interval = 10;\n\n // If a desired tick count is specified, pick a reasonable tick interval\n // based on the extent of the domain and a rough estimate of tick size.\n // Otherwise, assume interval is already a time interval and use it.\n if (typeof interval === \"number\") {\n var target = Math.abs(stop - start) / interval,\n i = bisector(function(i) { return i[2]; }).right(tickIntervals, target);\n if (i === tickIntervals.length) {\n step = tickStep(start / durationYear, stop / durationYear, interval);\n interval = year;\n } else if (i) {\n i = tickIntervals[target / tickIntervals[i - 1][2] < tickIntervals[i][2] / target ? i - 1 : i];\n step = i[1];\n interval = i[0];\n } else {\n step = Math.max(tickStep(start, stop, interval), 1);\n interval = millisecond;\n }\n }\n\n return step == null ? interval : interval.every(step);\n }\n\n scale.invert = function(y) {\n return new Date(invert(y));\n };\n\n scale.domain = function(_) {\n return arguments.length ? domain(map.call(_, number)) : domain().map(date);\n };\n\n scale.ticks = function(interval, step) {\n var d = domain(),\n t0 = d[0],\n t1 = d[d.length - 1],\n r = t1 < t0,\n t;\n if (r) t = t0, t0 = t1, t1 = t;\n t = tickInterval(interval, t0, t1, step);\n t = t ? t.range(t0, t1 + 1) : []; // inclusive stop\n return r ? t.reverse() : t;\n };\n\n scale.tickFormat = function(count, specifier) {\n return specifier == null ? tickFormat : format(specifier);\n };\n\n scale.nice = function(interval, step) {\n var d = domain();\n return (interval = tickInterval(interval, d[0], d[d.length - 1], step))\n ? domain(nice(d, interval))\n : scale;\n };\n\n scale.copy = function() {\n return copy(scale, calendar(year, month, week, day, hour, minute, second, millisecond, format));\n };\n\n return scale;\n}\n\nexport default function() {\n return calendar(timeYear, timeMonth, timeWeek, timeDay, timeHour, timeMinute, timeSecond, timeMillisecond, timeFormat).domain([new Date(2000, 0, 1), new Date(2000, 0, 2)]);\n}\n","import {calendar} from \"./time\";\nimport {utcFormat} from \"d3-time-format\";\nimport {utcYear, utcMonth, utcWeek, utcDay, utcHour, utcMinute, utcSecond, utcMillisecond} from \"d3-time\";\n\nexport default function() {\n return calendar(utcYear, utcMonth, utcWeek, utcDay, utcHour, utcMinute, utcSecond, utcMillisecond, utcFormat).domain([Date.UTC(2000, 0, 1), Date.UTC(2000, 0, 2)]);\n}\n","import {linearish} from \"./linear\";\n\nexport default function sequential(interpolator) {\n var x0 = 0,\n x1 = 1,\n clamp = false;\n\n function scale(x) {\n var t = (x - x0) / (x1 - x0);\n return interpolator(clamp ? Math.max(0, Math.min(1, t)) : t);\n }\n\n scale.domain = function(_) {\n return arguments.length ? (x0 = +_[0], x1 = +_[1], scale) : [x0, x1];\n };\n\n scale.clamp = function(_) {\n return arguments.length ? (clamp = !!_, scale) : clamp;\n };\n\n scale.interpolator = function(_) {\n return arguments.length ? (interpolator = _, scale) : interpolator;\n };\n\n scale.copy = function() {\n return sequential(interpolator).domain([x0, x1]).clamp(clamp);\n };\n\n return linearish(scale);\n}\n","export {\n default as scaleBand,\n point as scalePoint\n} from \"./src/band\";\n\nexport {\n default as scaleIdentity\n} from \"./src/identity\";\n\nexport {\n default as scaleLinear\n} from \"./src/linear\";\n\nexport {\n default as scaleLog\n} from \"./src/log\";\n\nexport {\n default as scaleOrdinal,\n implicit as scaleImplicit\n} from \"./src/ordinal\";\n\nexport {\n default as scalePow,\n sqrt as scaleSqrt\n} from \"./src/pow\";\n\nexport {\n default as scaleQuantile\n} from \"./src/quantile\";\n\nexport {\n default as scaleQuantize\n} from \"./src/quantize\";\n\nexport {\n default as scaleThreshold\n} from \"./src/threshold\";\n\nexport {\n default as scaleTime\n} from \"./src/time\";\n\nexport {\n default as scaleUtc\n} from \"./src/utcTime\";\n\nexport {\n default as scaleSequential\n} from \"./src/sequential\";\n","export default function(specifier) {\n var n = specifier.length / 6 | 0, colors = new Array(n), i = 0;\n while (i < n) colors[i] = \"#\" + specifier.slice(i * 6, ++i * 6);\n return colors;\n}\n","import colors from \"../colors\";\n\nexport default colors(\"1f77b4ff7f0e2ca02cd627289467bd8c564be377c27f7f7fbcbd2217becf\");\n","import colors from \"../colors\";\n\nexport default colors(\"7fc97fbeaed4fdc086ffff99386cb0f0027fbf5b17666666\");\n","import colors from \"../colors\";\n\nexport default colors(\"1b9e77d95f027570b3e7298a66a61ee6ab02a6761d666666\");\n","import colors from \"../colors\";\n\nexport default colors(\"a6cee31f78b4b2df8a33a02cfb9a99e31a1cfdbf6fff7f00cab2d66a3d9affff99b15928\");\n","import colors from \"../colors\";\n\nexport default colors(\"fbb4aeb3cde3ccebc5decbe4fed9a6ffffcce5d8bdfddaecf2f2f2\");\n","import colors from \"../colors\";\n\nexport default colors(\"b3e2cdfdcdaccbd5e8f4cae4e6f5c9fff2aef1e2cccccccc\");\n","import colors from \"../colors\";\n\nexport default colors(\"e41a1c377eb84daf4a984ea3ff7f00ffff33a65628f781bf999999\");\n","import colors from \"../colors\";\n\nexport default colors(\"66c2a5fc8d628da0cbe78ac3a6d854ffd92fe5c494b3b3b3\");\n","import colors from \"../colors\";\n\nexport default colors(\"8dd3c7ffffb3bebadafb807280b1d3fdb462b3de69fccde5d9d9d9bc80bdccebc5ffed6f\");\n","import {interpolateRgbBasis} from \"d3-interpolate\";\n\nexport default function(scheme) {\n return interpolateRgbBasis(scheme[scheme.length - 1]);\n}\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"d8b365f5f5f55ab4ac\",\n \"a6611adfc27d80cdc1018571\",\n \"a6611adfc27df5f5f580cdc1018571\",\n \"8c510ad8b365f6e8c3c7eae55ab4ac01665e\",\n \"8c510ad8b365f6e8c3f5f5f5c7eae55ab4ac01665e\",\n \"8c510abf812ddfc27df6e8c3c7eae580cdc135978f01665e\",\n \"8c510abf812ddfc27df6e8c3f5f5f5c7eae580cdc135978f01665e\",\n \"5430058c510abf812ddfc27df6e8c3c7eae580cdc135978f01665e003c30\",\n \"5430058c510abf812ddfc27df6e8c3f5f5f5c7eae580cdc135978f01665e003c30\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"af8dc3f7f7f77fbf7b\",\n \"7b3294c2a5cfa6dba0008837\",\n \"7b3294c2a5cff7f7f7a6dba0008837\",\n \"762a83af8dc3e7d4e8d9f0d37fbf7b1b7837\",\n \"762a83af8dc3e7d4e8f7f7f7d9f0d37fbf7b1b7837\",\n \"762a839970abc2a5cfe7d4e8d9f0d3a6dba05aae611b7837\",\n \"762a839970abc2a5cfe7d4e8f7f7f7d9f0d3a6dba05aae611b7837\",\n \"40004b762a839970abc2a5cfe7d4e8d9f0d3a6dba05aae611b783700441b\",\n \"40004b762a839970abc2a5cfe7d4e8f7f7f7d9f0d3a6dba05aae611b783700441b\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"e9a3c9f7f7f7a1d76a\",\n \"d01c8bf1b6dab8e1864dac26\",\n \"d01c8bf1b6daf7f7f7b8e1864dac26\",\n \"c51b7de9a3c9fde0efe6f5d0a1d76a4d9221\",\n \"c51b7de9a3c9fde0eff7f7f7e6f5d0a1d76a4d9221\",\n \"c51b7dde77aef1b6dafde0efe6f5d0b8e1867fbc414d9221\",\n \"c51b7dde77aef1b6dafde0eff7f7f7e6f5d0b8e1867fbc414d9221\",\n \"8e0152c51b7dde77aef1b6dafde0efe6f5d0b8e1867fbc414d9221276419\",\n \"8e0152c51b7dde77aef1b6dafde0eff7f7f7e6f5d0b8e1867fbc414d9221276419\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"998ec3f7f7f7f1a340\",\n \"5e3c99b2abd2fdb863e66101\",\n \"5e3c99b2abd2f7f7f7fdb863e66101\",\n \"542788998ec3d8daebfee0b6f1a340b35806\",\n \"542788998ec3d8daebf7f7f7fee0b6f1a340b35806\",\n \"5427888073acb2abd2d8daebfee0b6fdb863e08214b35806\",\n \"5427888073acb2abd2d8daebf7f7f7fee0b6fdb863e08214b35806\",\n \"2d004b5427888073acb2abd2d8daebfee0b6fdb863e08214b358067f3b08\",\n \"2d004b5427888073acb2abd2d8daebf7f7f7fee0b6fdb863e08214b358067f3b08\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"ef8a62f7f7f767a9cf\",\n \"ca0020f4a58292c5de0571b0\",\n \"ca0020f4a582f7f7f792c5de0571b0\",\n \"b2182bef8a62fddbc7d1e5f067a9cf2166ac\",\n \"b2182bef8a62fddbc7f7f7f7d1e5f067a9cf2166ac\",\n \"b2182bd6604df4a582fddbc7d1e5f092c5de4393c32166ac\",\n \"b2182bd6604df4a582fddbc7f7f7f7d1e5f092c5de4393c32166ac\",\n \"67001fb2182bd6604df4a582fddbc7d1e5f092c5de4393c32166ac053061\",\n \"67001fb2182bd6604df4a582fddbc7f7f7f7d1e5f092c5de4393c32166ac053061\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"ef8a62ffffff999999\",\n \"ca0020f4a582bababa404040\",\n \"ca0020f4a582ffffffbababa404040\",\n \"b2182bef8a62fddbc7e0e0e09999994d4d4d\",\n \"b2182bef8a62fddbc7ffffffe0e0e09999994d4d4d\",\n \"b2182bd6604df4a582fddbc7e0e0e0bababa8787874d4d4d\",\n \"b2182bd6604df4a582fddbc7ffffffe0e0e0bababa8787874d4d4d\",\n \"67001fb2182bd6604df4a582fddbc7e0e0e0bababa8787874d4d4d1a1a1a\",\n \"67001fb2182bd6604df4a582fddbc7ffffffe0e0e0bababa8787874d4d4d1a1a1a\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"fc8d59ffffbf91bfdb\",\n \"d7191cfdae61abd9e92c7bb6\",\n \"d7191cfdae61ffffbfabd9e92c7bb6\",\n \"d73027fc8d59fee090e0f3f891bfdb4575b4\",\n \"d73027fc8d59fee090ffffbfe0f3f891bfdb4575b4\",\n \"d73027f46d43fdae61fee090e0f3f8abd9e974add14575b4\",\n \"d73027f46d43fdae61fee090ffffbfe0f3f8abd9e974add14575b4\",\n \"a50026d73027f46d43fdae61fee090e0f3f8abd9e974add14575b4313695\",\n \"a50026d73027f46d43fdae61fee090ffffbfe0f3f8abd9e974add14575b4313695\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"fc8d59ffffbf91cf60\",\n \"d7191cfdae61a6d96a1a9641\",\n \"d7191cfdae61ffffbfa6d96a1a9641\",\n \"d73027fc8d59fee08bd9ef8b91cf601a9850\",\n \"d73027fc8d59fee08bffffbfd9ef8b91cf601a9850\",\n \"d73027f46d43fdae61fee08bd9ef8ba6d96a66bd631a9850\",\n \"d73027f46d43fdae61fee08bffffbfd9ef8ba6d96a66bd631a9850\",\n \"a50026d73027f46d43fdae61fee08bd9ef8ba6d96a66bd631a9850006837\",\n \"a50026d73027f46d43fdae61fee08bffffbfd9ef8ba6d96a66bd631a9850006837\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"fc8d59ffffbf99d594\",\n \"d7191cfdae61abdda42b83ba\",\n \"d7191cfdae61ffffbfabdda42b83ba\",\n \"d53e4ffc8d59fee08be6f59899d5943288bd\",\n \"d53e4ffc8d59fee08bffffbfe6f59899d5943288bd\",\n \"d53e4ff46d43fdae61fee08be6f598abdda466c2a53288bd\",\n \"d53e4ff46d43fdae61fee08bffffbfe6f598abdda466c2a53288bd\",\n \"9e0142d53e4ff46d43fdae61fee08be6f598abdda466c2a53288bd5e4fa2\",\n \"9e0142d53e4ff46d43fdae61fee08bffffbfe6f598abdda466c2a53288bd5e4fa2\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"e5f5f999d8c92ca25f\",\n \"edf8fbb2e2e266c2a4238b45\",\n \"edf8fbb2e2e266c2a42ca25f006d2c\",\n \"edf8fbccece699d8c966c2a42ca25f006d2c\",\n \"edf8fbccece699d8c966c2a441ae76238b45005824\",\n \"f7fcfde5f5f9ccece699d8c966c2a441ae76238b45005824\",\n \"f7fcfde5f5f9ccece699d8c966c2a441ae76238b45006d2c00441b\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"e0ecf49ebcda8856a7\",\n \"edf8fbb3cde38c96c688419d\",\n \"edf8fbb3cde38c96c68856a7810f7c\",\n \"edf8fbbfd3e69ebcda8c96c68856a7810f7c\",\n \"edf8fbbfd3e69ebcda8c96c68c6bb188419d6e016b\",\n \"f7fcfde0ecf4bfd3e69ebcda8c96c68c6bb188419d6e016b\",\n \"f7fcfde0ecf4bfd3e69ebcda8c96c68c6bb188419d810f7c4d004b\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"e0f3dba8ddb543a2ca\",\n \"f0f9e8bae4bc7bccc42b8cbe\",\n \"f0f9e8bae4bc7bccc443a2ca0868ac\",\n \"f0f9e8ccebc5a8ddb57bccc443a2ca0868ac\",\n \"f0f9e8ccebc5a8ddb57bccc44eb3d32b8cbe08589e\",\n \"f7fcf0e0f3dbccebc5a8ddb57bccc44eb3d32b8cbe08589e\",\n \"f7fcf0e0f3dbccebc5a8ddb57bccc44eb3d32b8cbe0868ac084081\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"fee8c8fdbb84e34a33\",\n \"fef0d9fdcc8afc8d59d7301f\",\n \"fef0d9fdcc8afc8d59e34a33b30000\",\n \"fef0d9fdd49efdbb84fc8d59e34a33b30000\",\n \"fef0d9fdd49efdbb84fc8d59ef6548d7301f990000\",\n \"fff7ecfee8c8fdd49efdbb84fc8d59ef6548d7301f990000\",\n \"fff7ecfee8c8fdd49efdbb84fc8d59ef6548d7301fb300007f0000\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"ece2f0a6bddb1c9099\",\n \"f6eff7bdc9e167a9cf02818a\",\n \"f6eff7bdc9e167a9cf1c9099016c59\",\n \"f6eff7d0d1e6a6bddb67a9cf1c9099016c59\",\n \"f6eff7d0d1e6a6bddb67a9cf3690c002818a016450\",\n \"fff7fbece2f0d0d1e6a6bddb67a9cf3690c002818a016450\",\n \"fff7fbece2f0d0d1e6a6bddb67a9cf3690c002818a016c59014636\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"ece7f2a6bddb2b8cbe\",\n \"f1eef6bdc9e174a9cf0570b0\",\n \"f1eef6bdc9e174a9cf2b8cbe045a8d\",\n \"f1eef6d0d1e6a6bddb74a9cf2b8cbe045a8d\",\n \"f1eef6d0d1e6a6bddb74a9cf3690c00570b0034e7b\",\n \"fff7fbece7f2d0d1e6a6bddb74a9cf3690c00570b0034e7b\",\n \"fff7fbece7f2d0d1e6a6bddb74a9cf3690c00570b0045a8d023858\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"e7e1efc994c7dd1c77\",\n \"f1eef6d7b5d8df65b0ce1256\",\n \"f1eef6d7b5d8df65b0dd1c77980043\",\n \"f1eef6d4b9dac994c7df65b0dd1c77980043\",\n \"f1eef6d4b9dac994c7df65b0e7298ace125691003f\",\n \"f7f4f9e7e1efd4b9dac994c7df65b0e7298ace125691003f\",\n \"f7f4f9e7e1efd4b9dac994c7df65b0e7298ace125698004367001f\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"fde0ddfa9fb5c51b8a\",\n \"feebe2fbb4b9f768a1ae017e\",\n \"feebe2fbb4b9f768a1c51b8a7a0177\",\n \"feebe2fcc5c0fa9fb5f768a1c51b8a7a0177\",\n \"feebe2fcc5c0fa9fb5f768a1dd3497ae017e7a0177\",\n \"fff7f3fde0ddfcc5c0fa9fb5f768a1dd3497ae017e7a0177\",\n \"fff7f3fde0ddfcc5c0fa9fb5f768a1dd3497ae017e7a017749006a\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"edf8b17fcdbb2c7fb8\",\n \"ffffcca1dab441b6c4225ea8\",\n \"ffffcca1dab441b6c42c7fb8253494\",\n \"ffffccc7e9b47fcdbb41b6c42c7fb8253494\",\n \"ffffccc7e9b47fcdbb41b6c41d91c0225ea80c2c84\",\n \"ffffd9edf8b1c7e9b47fcdbb41b6c41d91c0225ea80c2c84\",\n \"ffffd9edf8b1c7e9b47fcdbb41b6c41d91c0225ea8253494081d58\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"f7fcb9addd8e31a354\",\n \"ffffccc2e69978c679238443\",\n \"ffffccc2e69978c67931a354006837\",\n \"ffffccd9f0a3addd8e78c67931a354006837\",\n \"ffffccd9f0a3addd8e78c67941ab5d238443005a32\",\n \"ffffe5f7fcb9d9f0a3addd8e78c67941ab5d238443005a32\",\n \"ffffe5f7fcb9d9f0a3addd8e78c67941ab5d238443006837004529\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"fff7bcfec44fd95f0e\",\n \"ffffd4fed98efe9929cc4c02\",\n \"ffffd4fed98efe9929d95f0e993404\",\n \"ffffd4fee391fec44ffe9929d95f0e993404\",\n \"ffffd4fee391fec44ffe9929ec7014cc4c028c2d04\",\n \"ffffe5fff7bcfee391fec44ffe9929ec7014cc4c028c2d04\",\n \"ffffe5fff7bcfee391fec44ffe9929ec7014cc4c02993404662506\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"ffeda0feb24cf03b20\",\n \"ffffb2fecc5cfd8d3ce31a1c\",\n \"ffffb2fecc5cfd8d3cf03b20bd0026\",\n \"ffffb2fed976feb24cfd8d3cf03b20bd0026\",\n \"ffffb2fed976feb24cfd8d3cfc4e2ae31a1cb10026\",\n \"ffffccffeda0fed976feb24cfd8d3cfc4e2ae31a1cb10026\",\n \"ffffccffeda0fed976feb24cfd8d3cfc4e2ae31a1cbd0026800026\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"deebf79ecae13182bd\",\n \"eff3ffbdd7e76baed62171b5\",\n \"eff3ffbdd7e76baed63182bd08519c\",\n \"eff3ffc6dbef9ecae16baed63182bd08519c\",\n \"eff3ffc6dbef9ecae16baed64292c62171b5084594\",\n \"f7fbffdeebf7c6dbef9ecae16baed64292c62171b5084594\",\n \"f7fbffdeebf7c6dbef9ecae16baed64292c62171b508519c08306b\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"e5f5e0a1d99b31a354\",\n \"edf8e9bae4b374c476238b45\",\n \"edf8e9bae4b374c47631a354006d2c\",\n \"edf8e9c7e9c0a1d99b74c47631a354006d2c\",\n \"edf8e9c7e9c0a1d99b74c47641ab5d238b45005a32\",\n \"f7fcf5e5f5e0c7e9c0a1d99b74c47641ab5d238b45005a32\",\n \"f7fcf5e5f5e0c7e9c0a1d99b74c47641ab5d238b45006d2c00441b\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"f0f0f0bdbdbd636363\",\n \"f7f7f7cccccc969696525252\",\n \"f7f7f7cccccc969696636363252525\",\n \"f7f7f7d9d9d9bdbdbd969696636363252525\",\n \"f7f7f7d9d9d9bdbdbd969696737373525252252525\",\n \"fffffff0f0f0d9d9d9bdbdbd969696737373525252252525\",\n \"fffffff0f0f0d9d9d9bdbdbd969696737373525252252525000000\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"efedf5bcbddc756bb1\",\n \"f2f0f7cbc9e29e9ac86a51a3\",\n \"f2f0f7cbc9e29e9ac8756bb154278f\",\n \"f2f0f7dadaebbcbddc9e9ac8756bb154278f\",\n \"f2f0f7dadaebbcbddc9e9ac8807dba6a51a34a1486\",\n \"fcfbfdefedf5dadaebbcbddc9e9ac8807dba6a51a34a1486\",\n \"fcfbfdefedf5dadaebbcbddc9e9ac8807dba6a51a354278f3f007d\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"fee0d2fc9272de2d26\",\n \"fee5d9fcae91fb6a4acb181d\",\n \"fee5d9fcae91fb6a4ade2d26a50f15\",\n \"fee5d9fcbba1fc9272fb6a4ade2d26a50f15\",\n \"fee5d9fcbba1fc9272fb6a4aef3b2ccb181d99000d\",\n \"fff5f0fee0d2fcbba1fc9272fb6a4aef3b2ccb181d99000d\",\n \"fff5f0fee0d2fcbba1fc9272fb6a4aef3b2ccb181da50f1567000d\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"fee6cefdae6be6550d\",\n \"feeddefdbe85fd8d3cd94701\",\n \"feeddefdbe85fd8d3ce6550da63603\",\n \"feeddefdd0a2fdae6bfd8d3ce6550da63603\",\n \"feeddefdd0a2fdae6bfd8d3cf16913d948018c2d04\",\n \"fff5ebfee6cefdd0a2fdae6bfd8d3cf16913d948018c2d04\",\n \"fff5ebfee6cefdd0a2fdae6bfd8d3cf16913d94801a636037f2704\"\n).map(colors);\n\nexport default ramp(scheme);\n","import {cubehelix} from \"d3-color\";\nimport {interpolateCubehelixLong} from \"d3-interpolate\";\n\nexport default interpolateCubehelixLong(cubehelix(300, 0.5, 0.0), cubehelix(-240, 0.5, 1.0));\n","import {cubehelix} from \"d3-color\";\nimport {interpolateCubehelixLong} from \"d3-interpolate\";\n\nexport var warm = interpolateCubehelixLong(cubehelix(-100, 0.75, 0.35), cubehelix(80, 1.50, 0.8));\n\nexport var cool = interpolateCubehelixLong(cubehelix(260, 0.75, 0.35), cubehelix(80, 1.50, 0.8));\n\nvar c = cubehelix();\n\nexport default function(t) {\n if (t < 0 || t > 1) t -= Math.floor(t);\n var ts = Math.abs(t - 0.5);\n c.h = 360 * t - 100;\n c.s = 1.5 - 1.5 * ts;\n c.l = 0.8 - 0.9 * ts;\n return c + \"\";\n}\n","import {rgb} from \"d3-color\";\n\nvar c = rgb(),\n pi_1_3 = Math.PI / 3,\n pi_2_3 = Math.PI * 2 / 3;\n\nexport default function(t) {\n var x;\n t = (0.5 - t) * Math.PI;\n c.r = 255 * (x = Math.sin(t)) * x;\n c.g = 255 * (x = Math.sin(t + pi_1_3)) * x;\n c.b = 255 * (x = Math.sin(t + pi_2_3)) * x;\n return c + \"\";\n}\n","import colors from \"../colors\";\n\nfunction ramp(range) {\n var n = range.length;\n return function(t) {\n return range[Math.max(0, Math.min(n - 1, Math.floor(t * n)))];\n };\n}\n\nexport default ramp(colors(\"44015444025645045745055946075a46085c460a5d460b5e470d60470e6147106347116447136548146748166848176948186a481a6c481b6d481c6e481d6f481f70482071482173482374482475482576482677482878482979472a7a472c7a472d7b472e7c472f7d46307e46327e46337f463480453581453781453882443983443a83443b84433d84433e85423f854240864241864142874144874045884046883f47883f48893e49893e4a893e4c8a3d4d8a3d4e8a3c4f8a3c508b3b518b3b528b3a538b3a548c39558c39568c38588c38598c375a8c375b8d365c8d365d8d355e8d355f8d34608d34618d33628d33638d32648e32658e31668e31678e31688e30698e306a8e2f6b8e2f6c8e2e6d8e2e6e8e2e6f8e2d708e2d718e2c718e2c728e2c738e2b748e2b758e2a768e2a778e2a788e29798e297a8e297b8e287c8e287d8e277e8e277f8e27808e26818e26828e26828e25838e25848e25858e24868e24878e23888e23898e238a8d228b8d228c8d228d8d218e8d218f8d21908d21918c20928c20928c20938c1f948c1f958b1f968b1f978b1f988b1f998a1f9a8a1e9b8a1e9c891e9d891f9e891f9f881fa0881fa1881fa1871fa28720a38620a48621a58521a68522a78522a88423a98324aa8325ab8225ac8226ad8127ad8128ae8029af7f2ab07f2cb17e2db27d2eb37c2fb47c31b57b32b67a34b67935b77937b87838b9773aba763bbb753dbc743fbc7340bd7242be7144bf7046c06f48c16e4ac16d4cc26c4ec36b50c46a52c56954c56856c66758c7655ac8645cc8635ec96260ca6063cb5f65cb5e67cc5c69cd5b6ccd5a6ece5870cf5773d05675d05477d1537ad1517cd2507fd34e81d34d84d44b86d54989d5488bd6468ed64590d74393d74195d84098d83e9bd93c9dd93ba0da39a2da37a5db36a8db34aadc32addc30b0dd2fb2dd2db5de2bb8de29bade28bddf26c0df25c2df23c5e021c8e020cae11fcde11dd0e11cd2e21bd5e21ad8e219dae319dde318dfe318e2e418e5e419e7e419eae51aece51befe51cf1e51df4e61ef6e620f8e621fbe723fde725\"));\n\nexport var magma = ramp(colors(\"00000401000501010601010802010902020b02020d03030f03031204041405041606051806051a07061c08071e0907200a08220b09240c09260d0a290e0b2b100b2d110c2f120d31130d34140e36150e38160f3b180f3d19103f1a10421c10441d11471e114920114b21114e22115024125325125527125829115a2a115c2c115f2d11612f116331116533106734106936106b38106c390f6e3b0f703d0f713f0f72400f74420f75440f764510774710784910784a10794c117a4e117b4f127b51127c52137c54137d56147d57157e59157e5a167e5c167f5d177f5f187f601880621980641a80651a80671b80681c816a1c816b1d816d1d816e1e81701f81721f817320817521817621817822817922827b23827c23827e24828025828125818326818426818627818827818928818b29818c29818e2a81902a81912b81932b80942c80962c80982d80992d809b2e7f9c2e7f9e2f7fa02f7fa1307ea3307ea5317ea6317da8327daa337dab337cad347cae347bb0357bb2357bb3367ab5367ab73779b83779ba3878bc3978bd3977bf3a77c03a76c23b75c43c75c53c74c73d73c83e73ca3e72cc3f71cd4071cf4070d0416fd2426fd3436ed5446dd6456cd8456cd9466bdb476adc4869de4968df4a68e04c67e24d66e34e65e44f64e55064e75263e85362e95462ea5661eb5760ec5860ed5a5fee5b5eef5d5ef05f5ef1605df2625df2645cf3655cf4675cf4695cf56b5cf66c5cf66e5cf7705cf7725cf8745cf8765cf9785df9795df97b5dfa7d5efa7f5efa815ffb835ffb8560fb8761fc8961fc8a62fc8c63fc8e64fc9065fd9266fd9467fd9668fd9869fd9a6afd9b6bfe9d6cfe9f6dfea16efea36ffea571fea772fea973feaa74feac76feae77feb078feb27afeb47bfeb67cfeb77efeb97ffebb81febd82febf84fec185fec287fec488fec68afec88cfeca8dfecc8ffecd90fecf92fed194fed395fed597fed799fed89afdda9cfddc9efddea0fde0a1fde2a3fde3a5fde5a7fde7a9fde9aafdebacfcecaefceeb0fcf0b2fcf2b4fcf4b6fcf6b8fcf7b9fcf9bbfcfbbdfcfdbf\"));\n\nexport var inferno = ramp(colors(\"00000401000501010601010802010a02020c02020e03021004031204031405041706041907051b08051d09061f0a07220b07240c08260d08290e092b10092d110a30120a32140b34150b37160b39180c3c190c3e1b0c411c0c431e0c451f0c48210c4a230c4c240c4f260c51280b53290b552b0b572d0b592f0a5b310a5c320a5e340a5f3609613809623909633b09643d09653e0966400a67420a68440a68450a69470b6a490b6a4a0c6b4c0c6b4d0d6c4f0d6c510e6c520e6d540f6d550f6d57106e59106e5a116e5c126e5d126e5f136e61136e62146e64156e65156e67166e69166e6a176e6c186e6d186e6f196e71196e721a6e741a6e751b6e771c6d781c6d7a1d6d7c1d6d7d1e6d7f1e6c801f6c82206c84206b85216b87216b88226a8a226a8c23698d23698f24699025689225689326679526679727669827669a28659b29649d29649f2a63a02a63a22b62a32c61a52c60a62d60a82e5fa92e5eab2f5ead305dae305cb0315bb1325ab3325ab43359b63458b73557b93556ba3655bc3754bd3853bf3952c03a51c13a50c33b4fc43c4ec63d4dc73e4cc83f4bca404acb4149cc4248ce4347cf4446d04545d24644d34743d44842d54a41d74b3fd84c3ed94d3dda4e3cdb503bdd513ade5238df5337e05536e15635e25734e35933e45a31e55c30e65d2fe75e2ee8602de9612bea632aeb6429eb6628ec6726ed6925ee6a24ef6c23ef6e21f06f20f1711ff1731df2741cf3761bf37819f47918f57b17f57d15f67e14f68013f78212f78410f8850ff8870ef8890cf98b0bf98c0af98e09fa9008fa9207fa9407fb9606fb9706fb9906fb9b06fb9d07fc9f07fca108fca309fca50afca60cfca80dfcaa0ffcac11fcae12fcb014fcb216fcb418fbb61afbb81dfbba1ffbbc21fbbe23fac026fac228fac42afac62df9c72ff9c932f9cb35f8cd37f8cf3af7d13df7d340f6d543f6d746f5d949f5db4cf4dd4ff4df53f4e156f3e35af3e55df2e661f2e865f2ea69f1ec6df1ed71f1ef75f1f179f2f27df2f482f3f586f3f68af4f88ef5f992f6fa96f8fb9af9fc9dfafda1fcffa4\"));\n\nexport var plasma = ramp(colors(\"0d088710078813078916078a19068c1b068d1d068e20068f2206902406912605912805922a05932c05942e05952f059631059733059735049837049938049a3a049a3c049b3e049c3f049c41049d43039e44039e46039f48039f4903a04b03a14c02a14e02a25002a25102a35302a35502a45601a45801a45901a55b01a55c01a65e01a66001a66100a76300a76400a76600a76700a86900a86a00a86c00a86e00a86f00a87100a87201a87401a87501a87701a87801a87a02a87b02a87d03a87e03a88004a88104a78305a78405a78606a68707a68808a68a09a58b0aa58d0ba58e0ca48f0da4910ea3920fa39410a29511a19613a19814a099159f9a169f9c179e9d189d9e199da01a9ca11b9ba21d9aa31e9aa51f99a62098a72197a82296aa2395ab2494ac2694ad2793ae2892b02991b12a90b22b8fb32c8eb42e8db52f8cb6308bb7318ab83289ba3388bb3488bc3587bd3786be3885bf3984c03a83c13b82c23c81c33d80c43e7fc5407ec6417dc7427cc8437bc9447aca457acb4679cc4778cc4977cd4a76ce4b75cf4c74d04d73d14e72d24f71d35171d45270d5536fd5546ed6556dd7566cd8576bd9586ada5a6ada5b69db5c68dc5d67dd5e66de5f65de6164df6263e06363e16462e26561e26660e3685fe4695ee56a5de56b5de66c5ce76e5be76f5ae87059e97158e97257ea7457eb7556eb7655ec7754ed7953ed7a52ee7b51ef7c51ef7e50f07f4ff0804ef1814df1834cf2844bf3854bf3874af48849f48948f58b47f58c46f68d45f68f44f79044f79143f79342f89441f89540f9973ff9983ef99a3efa9b3dfa9c3cfa9e3bfb9f3afba139fba238fca338fca537fca636fca835fca934fdab33fdac33fdae32fdaf31fdb130fdb22ffdb42ffdb52efeb72dfeb82cfeba2cfebb2bfebd2afebe2afec029fdc229fdc328fdc527fdc627fdc827fdca26fdcb26fccd25fcce25fcd025fcd225fbd324fbd524fbd724fad824fada24f9dc24f9dd25f8df25f8e125f7e225f7e425f6e626f6e826f5e926f5eb27f4ed27f3ee27f3f027f2f227f1f426f1f525f0f724f0f921\"));\n","export {default as schemeCategory10} from \"./src/categorical/category10\";\nexport {default as schemeAccent} from \"./src/categorical/Accent\";\nexport {default as schemeDark2} from \"./src/categorical/Dark2\";\nexport {default as schemePaired} from \"./src/categorical/Paired\";\nexport {default as schemePastel1} from \"./src/categorical/Pastel1\";\nexport {default as schemePastel2} from \"./src/categorical/Pastel2\";\nexport {default as schemeSet1} from \"./src/categorical/Set1\";\nexport {default as schemeSet2} from \"./src/categorical/Set2\";\nexport {default as schemeSet3} from \"./src/categorical/Set3\";\nexport {default as interpolateBrBG, scheme as schemeBrBG} from \"./src/diverging/BrBG\";\nexport {default as interpolatePRGn, scheme as schemePRGn} from \"./src/diverging/PRGn\";\nexport {default as interpolatePiYG, scheme as schemePiYG} from \"./src/diverging/PiYG\";\nexport {default as interpolatePuOr, scheme as schemePuOr} from \"./src/diverging/PuOr\";\nexport {default as interpolateRdBu, scheme as schemeRdBu} from \"./src/diverging/RdBu\";\nexport {default as interpolateRdGy, scheme as schemeRdGy} from \"./src/diverging/RdGy\";\nexport {default as interpolateRdYlBu, scheme as schemeRdYlBu} from \"./src/diverging/RdYlBu\";\nexport {default as interpolateRdYlGn, scheme as schemeRdYlGn} from \"./src/diverging/RdYlGn\";\nexport {default as interpolateSpectral, scheme as schemeSpectral} from \"./src/diverging/Spectral\";\nexport {default as interpolateBuGn, scheme as schemeBuGn} from \"./src/sequential-multi/BuGn\";\nexport {default as interpolateBuPu, scheme as schemeBuPu} from \"./src/sequential-multi/BuPu\";\nexport {default as interpolateGnBu, scheme as schemeGnBu} from \"./src/sequential-multi/GnBu\";\nexport {default as interpolateOrRd, scheme as schemeOrRd} from \"./src/sequential-multi/OrRd\";\nexport {default as interpolatePuBuGn, scheme as schemePuBuGn} from \"./src/sequential-multi/PuBuGn\";\nexport {default as interpolatePuBu, scheme as schemePuBu} from \"./src/sequential-multi/PuBu\";\nexport {default as interpolatePuRd, scheme as schemePuRd} from \"./src/sequential-multi/PuRd\";\nexport {default as interpolateRdPu, scheme as schemeRdPu} from \"./src/sequential-multi/RdPu\";\nexport {default as interpolateYlGnBu, scheme as schemeYlGnBu} from \"./src/sequential-multi/YlGnBu\";\nexport {default as interpolateYlGn, scheme as schemeYlGn} from \"./src/sequential-multi/YlGn\";\nexport {default as interpolateYlOrBr, scheme as schemeYlOrBr} from \"./src/sequential-multi/YlOrBr\";\nexport {default as interpolateYlOrRd, scheme as schemeYlOrRd} from \"./src/sequential-multi/YlOrRd\";\nexport {default as interpolateBlues, scheme as schemeBlues} from \"./src/sequential-single/Blues\";\nexport {default as interpolateGreens, scheme as schemeGreens} from \"./src/sequential-single/Greens\";\nexport {default as interpolateGreys, scheme as schemeGreys} from \"./src/sequential-single/Greys\";\nexport {default as interpolatePurples, scheme as schemePurples} from \"./src/sequential-single/Purples\";\nexport {default as interpolateReds, scheme as schemeReds} from \"./src/sequential-single/Reds\";\nexport {default as interpolateOranges, scheme as schemeOranges} from \"./src/sequential-single/Oranges\";\nexport {default as interpolateCubehelixDefault} from \"./src/sequential-multi/cubehelix\";\nexport {default as interpolateRainbow, warm as interpolateWarm, cool as interpolateCool} from \"./src/sequential-multi/rainbow\";\nexport {default as interpolateSinebow} from \"./src/sequential-multi/sinebow\";\nexport {default as interpolateViridis, magma as interpolateMagma, inferno as interpolateInferno, plasma as interpolatePlasma} from \"./src/sequential-multi/viridis\";\n","export default function(x) {\n return function constant() {\n return x;\n };\n}\n","export var abs = Math.abs;\nexport var atan2 = Math.atan2;\nexport var cos = Math.cos;\nexport var max = Math.max;\nexport var min = Math.min;\nexport var sin = Math.sin;\nexport var sqrt = Math.sqrt;\n\nexport var epsilon = 1e-12;\nexport var pi = Math.PI;\nexport var halfPi = pi / 2;\nexport var tau = 2 * pi;\n\nexport function acos(x) {\n return x > 1 ? 0 : x < -1 ? pi : Math.acos(x);\n}\n\nexport function asin(x) {\n return x >= 1 ? halfPi : x <= -1 ? -halfPi : Math.asin(x);\n}\n","import {path} from \"d3-path\";\nimport constant from \"./constant\";\nimport {abs, acos, asin, atan2, cos, epsilon, halfPi, max, min, pi, sin, sqrt, tau} from \"./math\";\n\nfunction arcInnerRadius(d) {\n return d.innerRadius;\n}\n\nfunction arcOuterRadius(d) {\n return d.outerRadius;\n}\n\nfunction arcStartAngle(d) {\n return d.startAngle;\n}\n\nfunction arcEndAngle(d) {\n return d.endAngle;\n}\n\nfunction arcPadAngle(d) {\n return d && d.padAngle; // Note: optional!\n}\n\nfunction intersect(x0, y0, x1, y1, x2, y2, x3, y3) {\n var x10 = x1 - x0, y10 = y1 - y0,\n x32 = x3 - x2, y32 = y3 - y2,\n t = (x32 * (y0 - y2) - y32 * (x0 - x2)) / (y32 * x10 - x32 * y10);\n return [x0 + t * x10, y0 + t * y10];\n}\n\n// Compute perpendicular offset line of length rc.\n// http://mathworld.wolfram.com/Circle-LineIntersection.html\nfunction cornerTangents(x0, y0, x1, y1, r1, rc, cw) {\n var x01 = x0 - x1,\n y01 = y0 - y1,\n lo = (cw ? rc : -rc) / sqrt(x01 * x01 + y01 * y01),\n ox = lo * y01,\n oy = -lo * x01,\n x11 = x0 + ox,\n y11 = y0 + oy,\n x10 = x1 + ox,\n y10 = y1 + oy,\n x00 = (x11 + x10) / 2,\n y00 = (y11 + y10) / 2,\n dx = x10 - x11,\n dy = y10 - y11,\n d2 = dx * dx + dy * dy,\n r = r1 - rc,\n D = x11 * y10 - x10 * y11,\n d = (dy < 0 ? -1 : 1) * sqrt(max(0, r * r * d2 - D * D)),\n cx0 = (D * dy - dx * d) / d2,\n cy0 = (-D * dx - dy * d) / d2,\n cx1 = (D * dy + dx * d) / d2,\n cy1 = (-D * dx + dy * d) / d2,\n dx0 = cx0 - x00,\n dy0 = cy0 - y00,\n dx1 = cx1 - x00,\n dy1 = cy1 - y00;\n\n // Pick the closer of the two intersection points.\n // TODO Is there a faster way to determine which intersection to use?\n if (dx0 * dx0 + dy0 * dy0 > dx1 * dx1 + dy1 * dy1) cx0 = cx1, cy0 = cy1;\n\n return {\n cx: cx0,\n cy: cy0,\n x01: -ox,\n y01: -oy,\n x11: cx0 * (r1 / r - 1),\n y11: cy0 * (r1 / r - 1)\n };\n}\n\nexport default function() {\n var innerRadius = arcInnerRadius,\n outerRadius = arcOuterRadius,\n cornerRadius = constant(0),\n padRadius = null,\n startAngle = arcStartAngle,\n endAngle = arcEndAngle,\n padAngle = arcPadAngle,\n context = null;\n\n function arc() {\n var buffer,\n r,\n r0 = +innerRadius.apply(this, arguments),\n r1 = +outerRadius.apply(this, arguments),\n a0 = startAngle.apply(this, arguments) - halfPi,\n a1 = endAngle.apply(this, arguments) - halfPi,\n da = abs(a1 - a0),\n cw = a1 > a0;\n\n if (!context) context = buffer = path();\n\n // Ensure that the outer radius is always larger than the inner radius.\n if (r1 < r0) r = r1, r1 = r0, r0 = r;\n\n // Is it a point?\n if (!(r1 > epsilon)) context.moveTo(0, 0);\n\n // Or is it a circle or annulus?\n else if (da > tau - epsilon) {\n context.moveTo(r1 * cos(a0), r1 * sin(a0));\n context.arc(0, 0, r1, a0, a1, !cw);\n if (r0 > epsilon) {\n context.moveTo(r0 * cos(a1), r0 * sin(a1));\n context.arc(0, 0, r0, a1, a0, cw);\n }\n }\n\n // Or is it a circular or annular sector?\n else {\n var a01 = a0,\n a11 = a1,\n a00 = a0,\n a10 = a1,\n da0 = da,\n da1 = da,\n ap = padAngle.apply(this, arguments) / 2,\n rp = (ap > epsilon) && (padRadius ? +padRadius.apply(this, arguments) : sqrt(r0 * r0 + r1 * r1)),\n rc = min(abs(r1 - r0) / 2, +cornerRadius.apply(this, arguments)),\n rc0 = rc,\n rc1 = rc,\n t0,\n t1;\n\n // Apply padding? Note that since r1 ≥ r0, da1 ≥ da0.\n if (rp > epsilon) {\n var p0 = asin(rp / r0 * sin(ap)),\n p1 = asin(rp / r1 * sin(ap));\n if ((da0 -= p0 * 2) > epsilon) p0 *= (cw ? 1 : -1), a00 += p0, a10 -= p0;\n else da0 = 0, a00 = a10 = (a0 + a1) / 2;\n if ((da1 -= p1 * 2) > epsilon) p1 *= (cw ? 1 : -1), a01 += p1, a11 -= p1;\n else da1 = 0, a01 = a11 = (a0 + a1) / 2;\n }\n\n var x01 = r1 * cos(a01),\n y01 = r1 * sin(a01),\n x10 = r0 * cos(a10),\n y10 = r0 * sin(a10);\n\n // Apply rounded corners?\n if (rc > epsilon) {\n var x11 = r1 * cos(a11),\n y11 = r1 * sin(a11),\n x00 = r0 * cos(a00),\n y00 = r0 * sin(a00);\n\n // Restrict the corner radius according to the sector angle.\n if (da < pi) {\n var oc = da0 > epsilon ? intersect(x01, y01, x00, y00, x11, y11, x10, y10) : [x10, y10],\n ax = x01 - oc[0],\n ay = y01 - oc[1],\n bx = x11 - oc[0],\n by = y11 - oc[1],\n kc = 1 / sin(acos((ax * bx + ay * by) / (sqrt(ax * ax + ay * ay) * sqrt(bx * bx + by * by))) / 2),\n lc = sqrt(oc[0] * oc[0] + oc[1] * oc[1]);\n rc0 = min(rc, (r0 - lc) / (kc - 1));\n rc1 = min(rc, (r1 - lc) / (kc + 1));\n }\n }\n\n // Is the sector collapsed to a line?\n if (!(da1 > epsilon)) context.moveTo(x01, y01);\n\n // Does the sector’s outer ring have rounded corners?\n else if (rc1 > epsilon) {\n t0 = cornerTangents(x00, y00, x01, y01, r1, rc1, cw);\n t1 = cornerTangents(x11, y11, x10, y10, r1, rc1, cw);\n\n context.moveTo(t0.cx + t0.x01, t0.cy + t0.y01);\n\n // Have the corners merged?\n if (rc1 < rc) context.arc(t0.cx, t0.cy, rc1, atan2(t0.y01, t0.x01), atan2(t1.y01, t1.x01), !cw);\n\n // Otherwise, draw the two corners and the ring.\n else {\n context.arc(t0.cx, t0.cy, rc1, atan2(t0.y01, t0.x01), atan2(t0.y11, t0.x11), !cw);\n context.arc(0, 0, r1, atan2(t0.cy + t0.y11, t0.cx + t0.x11), atan2(t1.cy + t1.y11, t1.cx + t1.x11), !cw);\n context.arc(t1.cx, t1.cy, rc1, atan2(t1.y11, t1.x11), atan2(t1.y01, t1.x01), !cw);\n }\n }\n\n // Or is the outer ring just a circular arc?\n else context.moveTo(x01, y01), context.arc(0, 0, r1, a01, a11, !cw);\n\n // Is there no inner ring, and it’s a circular sector?\n // Or perhaps it’s an annular sector collapsed due to padding?\n if (!(r0 > epsilon) || !(da0 > epsilon)) context.lineTo(x10, y10);\n\n // Does the sector’s inner ring (or point) have rounded corners?\n else if (rc0 > epsilon) {\n t0 = cornerTangents(x10, y10, x11, y11, r0, -rc0, cw);\n t1 = cornerTangents(x01, y01, x00, y00, r0, -rc0, cw);\n\n context.lineTo(t0.cx + t0.x01, t0.cy + t0.y01);\n\n // Have the corners merged?\n if (rc0 < rc) context.arc(t0.cx, t0.cy, rc0, atan2(t0.y01, t0.x01), atan2(t1.y01, t1.x01), !cw);\n\n // Otherwise, draw the two corners and the ring.\n else {\n context.arc(t0.cx, t0.cy, rc0, atan2(t0.y01, t0.x01), atan2(t0.y11, t0.x11), !cw);\n context.arc(0, 0, r0, atan2(t0.cy + t0.y11, t0.cx + t0.x11), atan2(t1.cy + t1.y11, t1.cx + t1.x11), cw);\n context.arc(t1.cx, t1.cy, rc0, atan2(t1.y11, t1.x11), atan2(t1.y01, t1.x01), !cw);\n }\n }\n\n // Or is the inner ring just a circular arc?\n else context.arc(0, 0, r0, a10, a00, cw);\n }\n\n context.closePath();\n\n if (buffer) return context = null, buffer + \"\" || null;\n }\n\n arc.centroid = function() {\n var r = (+innerRadius.apply(this, arguments) + +outerRadius.apply(this, arguments)) / 2,\n a = (+startAngle.apply(this, arguments) + +endAngle.apply(this, arguments)) / 2 - pi / 2;\n return [cos(a) * r, sin(a) * r];\n };\n\n arc.innerRadius = function(_) {\n return arguments.length ? (innerRadius = typeof _ === \"function\" ? _ : constant(+_), arc) : innerRadius;\n };\n\n arc.outerRadius = function(_) {\n return arguments.length ? (outerRadius = typeof _ === \"function\" ? _ : constant(+_), arc) : outerRadius;\n };\n\n arc.cornerRadius = function(_) {\n return arguments.length ? (cornerRadius = typeof _ === \"function\" ? _ : constant(+_), arc) : cornerRadius;\n };\n\n arc.padRadius = function(_) {\n return arguments.length ? (padRadius = _ == null ? null : typeof _ === \"function\" ? _ : constant(+_), arc) : padRadius;\n };\n\n arc.startAngle = function(_) {\n return arguments.length ? (startAngle = typeof _ === \"function\" ? _ : constant(+_), arc) : startAngle;\n };\n\n arc.endAngle = function(_) {\n return arguments.length ? (endAngle = typeof _ === \"function\" ? _ : constant(+_), arc) : endAngle;\n };\n\n arc.padAngle = function(_) {\n return arguments.length ? (padAngle = typeof _ === \"function\" ? _ : constant(+_), arc) : padAngle;\n };\n\n arc.context = function(_) {\n return arguments.length ? ((context = _ == null ? null : _), arc) : context;\n };\n\n return arc;\n}\n","function Linear(context) {\n this._context = context;\n}\n\nLinear.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._point = 0;\n },\n lineEnd: function() {\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; // proceed\n default: this._context.lineTo(x, y); break;\n }\n }\n};\n\nexport default function(context) {\n return new Linear(context);\n}\n","export function x(p) {\n return p[0];\n}\n\nexport function y(p) {\n return p[1];\n}\n","import {path} from \"d3-path\";\nimport constant from \"./constant\";\nimport curveLinear from \"./curve/linear\";\nimport {x as pointX, y as pointY} from \"./point\";\n\nexport default function() {\n var x = pointX,\n y = pointY,\n defined = constant(true),\n context = null,\n curve = curveLinear,\n output = null;\n\n function line(data) {\n var i,\n n = data.length,\n d,\n defined0 = false,\n buffer;\n\n if (context == null) output = curve(buffer = path());\n\n for (i = 0; i <= n; ++i) {\n if (!(i < n && defined(d = data[i], i, data)) === defined0) {\n if (defined0 = !defined0) output.lineStart();\n else output.lineEnd();\n }\n if (defined0) output.point(+x(d, i, data), +y(d, i, data));\n }\n\n if (buffer) return output = null, buffer + \"\" || null;\n }\n\n line.x = function(_) {\n return arguments.length ? (x = typeof _ === \"function\" ? _ : constant(+_), line) : x;\n };\n\n line.y = function(_) {\n return arguments.length ? (y = typeof _ === \"function\" ? _ : constant(+_), line) : y;\n };\n\n line.defined = function(_) {\n return arguments.length ? (defined = typeof _ === \"function\" ? _ : constant(!!_), line) : defined;\n };\n\n line.curve = function(_) {\n return arguments.length ? (curve = _, context != null && (output = curve(context)), line) : curve;\n };\n\n line.context = function(_) {\n return arguments.length ? (_ == null ? context = output = null : output = curve(context = _), line) : context;\n };\n\n return line;\n}\n","import {path} from \"d3-path\";\nimport constant from \"./constant\";\nimport curveLinear from \"./curve/linear\";\nimport line from \"./line\";\nimport {x as pointX, y as pointY} from \"./point\";\n\nexport default function() {\n var x0 = pointX,\n x1 = null,\n y0 = constant(0),\n y1 = pointY,\n defined = constant(true),\n context = null,\n curve = curveLinear,\n output = null;\n\n function area(data) {\n var i,\n j,\n k,\n n = data.length,\n d,\n defined0 = false,\n buffer,\n x0z = new Array(n),\n y0z = new Array(n);\n\n if (context == null) output = curve(buffer = path());\n\n for (i = 0; i <= n; ++i) {\n if (!(i < n && defined(d = data[i], i, data)) === defined0) {\n if (defined0 = !defined0) {\n j = i;\n output.areaStart();\n output.lineStart();\n } else {\n output.lineEnd();\n output.lineStart();\n for (k = i - 1; k >= j; --k) {\n output.point(x0z[k], y0z[k]);\n }\n output.lineEnd();\n output.areaEnd();\n }\n }\n if (defined0) {\n x0z[i] = +x0(d, i, data), y0z[i] = +y0(d, i, data);\n output.point(x1 ? +x1(d, i, data) : x0z[i], y1 ? +y1(d, i, data) : y0z[i]);\n }\n }\n\n if (buffer) return output = null, buffer + \"\" || null;\n }\n\n function arealine() {\n return line().defined(defined).curve(curve).context(context);\n }\n\n area.x = function(_) {\n return arguments.length ? (x0 = typeof _ === \"function\" ? _ : constant(+_), x1 = null, area) : x0;\n };\n\n area.x0 = function(_) {\n return arguments.length ? (x0 = typeof _ === \"function\" ? _ : constant(+_), area) : x0;\n };\n\n area.x1 = function(_) {\n return arguments.length ? (x1 = _ == null ? null : typeof _ === \"function\" ? _ : constant(+_), area) : x1;\n };\n\n area.y = function(_) {\n return arguments.length ? (y0 = typeof _ === \"function\" ? _ : constant(+_), y1 = null, area) : y0;\n };\n\n area.y0 = function(_) {\n return arguments.length ? (y0 = typeof _ === \"function\" ? _ : constant(+_), area) : y0;\n };\n\n area.y1 = function(_) {\n return arguments.length ? (y1 = _ == null ? null : typeof _ === \"function\" ? _ : constant(+_), area) : y1;\n };\n\n area.lineX0 =\n area.lineY0 = function() {\n return arealine().x(x0).y(y0);\n };\n\n area.lineY1 = function() {\n return arealine().x(x0).y(y1);\n };\n\n area.lineX1 = function() {\n return arealine().x(x1).y(y0);\n };\n\n area.defined = function(_) {\n return arguments.length ? (defined = typeof _ === \"function\" ? _ : constant(!!_), area) : defined;\n };\n\n area.curve = function(_) {\n return arguments.length ? (curve = _, context != null && (output = curve(context)), area) : curve;\n };\n\n area.context = function(_) {\n return arguments.length ? (_ == null ? context = output = null : output = curve(context = _), area) : context;\n };\n\n return area;\n}\n","export default function(a, b) {\n return b < a ? -1 : b > a ? 1 : b >= a ? 0 : NaN;\n}\n","export default function(d) {\n return d;\n}\n","import constant from \"./constant\";\nimport descending from \"./descending\";\nimport identity from \"./identity\";\nimport {tau} from \"./math\";\n\nexport default function() {\n var value = identity,\n sortValues = descending,\n sort = null,\n startAngle = constant(0),\n endAngle = constant(tau),\n padAngle = constant(0);\n\n function pie(data) {\n var i,\n n = data.length,\n j,\n k,\n sum = 0,\n index = new Array(n),\n arcs = new Array(n),\n a0 = +startAngle.apply(this, arguments),\n da = Math.min(tau, Math.max(-tau, endAngle.apply(this, arguments) - a0)),\n a1,\n p = Math.min(Math.abs(da) / n, padAngle.apply(this, arguments)),\n pa = p * (da < 0 ? -1 : 1),\n v;\n\n for (i = 0; i < n; ++i) {\n if ((v = arcs[index[i] = i] = +value(data[i], i, data)) > 0) {\n sum += v;\n }\n }\n\n // Optionally sort the arcs by previously-computed values or by data.\n if (sortValues != null) index.sort(function(i, j) { return sortValues(arcs[i], arcs[j]); });\n else if (sort != null) index.sort(function(i, j) { return sort(data[i], data[j]); });\n\n // Compute the arcs! They are stored in the original data's order.\n for (i = 0, k = sum ? (da - n * pa) / sum : 0; i < n; ++i, a0 = a1) {\n j = index[i], v = arcs[j], a1 = a0 + (v > 0 ? v * k : 0) + pa, arcs[j] = {\n data: data[j],\n index: i,\n value: v,\n startAngle: a0,\n endAngle: a1,\n padAngle: p\n };\n }\n\n return arcs;\n }\n\n pie.value = function(_) {\n return arguments.length ? (value = typeof _ === \"function\" ? _ : constant(+_), pie) : value;\n };\n\n pie.sortValues = function(_) {\n return arguments.length ? (sortValues = _, sort = null, pie) : sortValues;\n };\n\n pie.sort = function(_) {\n return arguments.length ? (sort = _, sortValues = null, pie) : sort;\n };\n\n pie.startAngle = function(_) {\n return arguments.length ? (startAngle = typeof _ === \"function\" ? _ : constant(+_), pie) : startAngle;\n };\n\n pie.endAngle = function(_) {\n return arguments.length ? (endAngle = typeof _ === \"function\" ? _ : constant(+_), pie) : endAngle;\n };\n\n pie.padAngle = function(_) {\n return arguments.length ? (padAngle = typeof _ === \"function\" ? _ : constant(+_), pie) : padAngle;\n };\n\n return pie;\n}\n","import curveLinear from \"./linear\";\n\nexport var curveRadialLinear = curveRadial(curveLinear);\n\nfunction Radial(curve) {\n this._curve = curve;\n}\n\nRadial.prototype = {\n areaStart: function() {\n this._curve.areaStart();\n },\n areaEnd: function() {\n this._curve.areaEnd();\n },\n lineStart: function() {\n this._curve.lineStart();\n },\n lineEnd: function() {\n this._curve.lineEnd();\n },\n point: function(a, r) {\n this._curve.point(r * Math.sin(a), r * -Math.cos(a));\n }\n};\n\nexport default function curveRadial(curve) {\n\n function radial(context) {\n return new Radial(curve(context));\n }\n\n radial._curve = curve;\n\n return radial;\n}\n","import curveRadial, {curveRadialLinear} from \"./curve/radial\";\nimport line from \"./line\";\n\nexport function lineRadial(l) {\n var c = l.curve;\n\n l.angle = l.x, delete l.x;\n l.radius = l.y, delete l.y;\n\n l.curve = function(_) {\n return arguments.length ? c(curveRadial(_)) : c()._curve;\n };\n\n return l;\n}\n\nexport default function() {\n return lineRadial(line().curve(curveRadialLinear));\n}\n","import curveRadial, {curveRadialLinear} from \"./curve/radial\";\nimport area from \"./area\";\nimport {lineRadial} from \"./lineRadial\"\n\nexport default function() {\n var a = area().curve(curveRadialLinear),\n c = a.curve,\n x0 = a.lineX0,\n x1 = a.lineX1,\n y0 = a.lineY0,\n y1 = a.lineY1;\n\n a.angle = a.x, delete a.x;\n a.startAngle = a.x0, delete a.x0;\n a.endAngle = a.x1, delete a.x1;\n a.radius = a.y, delete a.y;\n a.innerRadius = a.y0, delete a.y0;\n a.outerRadius = a.y1, delete a.y1;\n a.lineStartAngle = function() { return lineRadial(x0()); }, delete a.lineX0;\n a.lineEndAngle = function() { return lineRadial(x1()); }, delete a.lineX1;\n a.lineInnerRadius = function() { return lineRadial(y0()); }, delete a.lineY0;\n a.lineOuterRadius = function() { return lineRadial(y1()); }, delete a.lineY1;\n\n a.curve = function(_) {\n return arguments.length ? c(curveRadial(_)) : c()._curve;\n };\n\n return a;\n}\n","export default function(x, y) {\n return [(y = +y) * Math.cos(x -= Math.PI / 2), y * Math.sin(x)];\n}\n","export var slice = Array.prototype.slice;\n","import {path} from \"d3-path\";\nimport {slice} from \"../array\";\nimport constant from \"../constant\";\nimport {x as pointX, y as pointY} from \"../point\";\nimport pointRadial from \"../pointRadial\";\n\nfunction linkSource(d) {\n return d.source;\n}\n\nfunction linkTarget(d) {\n return d.target;\n}\n\nfunction link(curve) {\n var source = linkSource,\n target = linkTarget,\n x = pointX,\n y = pointY,\n context = null;\n\n function link() {\n var buffer, argv = slice.call(arguments), s = source.apply(this, argv), t = target.apply(this, argv);\n if (!context) context = buffer = path();\n curve(context, +x.apply(this, (argv[0] = s, argv)), +y.apply(this, argv), +x.apply(this, (argv[0] = t, argv)), +y.apply(this, argv));\n if (buffer) return context = null, buffer + \"\" || null;\n }\n\n link.source = function(_) {\n return arguments.length ? (source = _, link) : source;\n };\n\n link.target = function(_) {\n return arguments.length ? (target = _, link) : target;\n };\n\n link.x = function(_) {\n return arguments.length ? (x = typeof _ === \"function\" ? _ : constant(+_), link) : x;\n };\n\n link.y = function(_) {\n return arguments.length ? (y = typeof _ === \"function\" ? _ : constant(+_), link) : y;\n };\n\n link.context = function(_) {\n return arguments.length ? ((context = _ == null ? null : _), link) : context;\n };\n\n return link;\n}\n\nfunction curveHorizontal(context, x0, y0, x1, y1) {\n context.moveTo(x0, y0);\n context.bezierCurveTo(x0 = (x0 + x1) / 2, y0, x0, y1, x1, y1);\n}\n\nfunction curveVertical(context, x0, y0, x1, y1) {\n context.moveTo(x0, y0);\n context.bezierCurveTo(x0, y0 = (y0 + y1) / 2, x1, y0, x1, y1);\n}\n\nfunction curveRadial(context, x0, y0, x1, y1) {\n var p0 = pointRadial(x0, y0),\n p1 = pointRadial(x0, y0 = (y0 + y1) / 2),\n p2 = pointRadial(x1, y0),\n p3 = pointRadial(x1, y1);\n context.moveTo(p0[0], p0[1]);\n context.bezierCurveTo(p1[0], p1[1], p2[0], p2[1], p3[0], p3[1]);\n}\n\nexport function linkHorizontal() {\n return link(curveHorizontal);\n}\n\nexport function linkVertical() {\n return link(curveVertical);\n}\n\nexport function linkRadial() {\n var l = link(curveRadial);\n l.angle = l.x, delete l.x;\n l.radius = l.y, delete l.y;\n return l;\n}\n","import {pi, tau} from \"../math\";\n\nexport default {\n draw: function(context, size) {\n var r = Math.sqrt(size / pi);\n context.moveTo(r, 0);\n context.arc(0, 0, r, 0, tau);\n }\n};\n","export default {\n draw: function(context, size) {\n var r = Math.sqrt(size / 5) / 2;\n context.moveTo(-3 * r, -r);\n context.lineTo(-r, -r);\n context.lineTo(-r, -3 * r);\n context.lineTo(r, -3 * r);\n context.lineTo(r, -r);\n context.lineTo(3 * r, -r);\n context.lineTo(3 * r, r);\n context.lineTo(r, r);\n context.lineTo(r, 3 * r);\n context.lineTo(-r, 3 * r);\n context.lineTo(-r, r);\n context.lineTo(-3 * r, r);\n context.closePath();\n }\n};\n","var tan30 = Math.sqrt(1 / 3),\n tan30_2 = tan30 * 2;\n\nexport default {\n draw: function(context, size) {\n var y = Math.sqrt(size / tan30_2),\n x = y * tan30;\n context.moveTo(0, -y);\n context.lineTo(x, 0);\n context.lineTo(0, y);\n context.lineTo(-x, 0);\n context.closePath();\n }\n};\n","import {pi, tau} from \"../math\";\n\nvar ka = 0.89081309152928522810,\n kr = Math.sin(pi / 10) / Math.sin(7 * pi / 10),\n kx = Math.sin(tau / 10) * kr,\n ky = -Math.cos(tau / 10) * kr;\n\nexport default {\n draw: function(context, size) {\n var r = Math.sqrt(size * ka),\n x = kx * r,\n y = ky * r;\n context.moveTo(0, -r);\n context.lineTo(x, y);\n for (var i = 1; i < 5; ++i) {\n var a = tau * i / 5,\n c = Math.cos(a),\n s = Math.sin(a);\n context.lineTo(s * r, -c * r);\n context.lineTo(c * x - s * y, s * x + c * y);\n }\n context.closePath();\n }\n};\n","export default {\n draw: function(context, size) {\n var w = Math.sqrt(size),\n x = -w / 2;\n context.rect(x, x, w, w);\n }\n};\n","var sqrt3 = Math.sqrt(3);\n\nexport default {\n draw: function(context, size) {\n var y = -Math.sqrt(size / (sqrt3 * 3));\n context.moveTo(0, y * 2);\n context.lineTo(-sqrt3 * y, -y);\n context.lineTo(sqrt3 * y, -y);\n context.closePath();\n }\n};\n","var c = -0.5,\n s = Math.sqrt(3) / 2,\n k = 1 / Math.sqrt(12),\n a = (k / 2 + 1) * 3;\n\nexport default {\n draw: function(context, size) {\n var r = Math.sqrt(size / a),\n x0 = r / 2,\n y0 = r * k,\n x1 = x0,\n y1 = r * k + r,\n x2 = -x1,\n y2 = y1;\n context.moveTo(x0, y0);\n context.lineTo(x1, y1);\n context.lineTo(x2, y2);\n context.lineTo(c * x0 - s * y0, s * x0 + c * y0);\n context.lineTo(c * x1 - s * y1, s * x1 + c * y1);\n context.lineTo(c * x2 - s * y2, s * x2 + c * y2);\n context.lineTo(c * x0 + s * y0, c * y0 - s * x0);\n context.lineTo(c * x1 + s * y1, c * y1 - s * x1);\n context.lineTo(c * x2 + s * y2, c * y2 - s * x2);\n context.closePath();\n }\n};\n","import {path} from \"d3-path\";\nimport circle from \"./symbol/circle\";\nimport cross from \"./symbol/cross\";\nimport diamond from \"./symbol/diamond\";\nimport star from \"./symbol/star\";\nimport square from \"./symbol/square\";\nimport triangle from \"./symbol/triangle\";\nimport wye from \"./symbol/wye\";\nimport constant from \"./constant\";\n\nexport var symbols = [\n circle,\n cross,\n diamond,\n square,\n star,\n triangle,\n wye\n];\n\nexport default function() {\n var type = constant(circle),\n size = constant(64),\n context = null;\n\n function symbol() {\n var buffer;\n if (!context) context = buffer = path();\n type.apply(this, arguments).draw(context, +size.apply(this, arguments));\n if (buffer) return context = null, buffer + \"\" || null;\n }\n\n symbol.type = function(_) {\n return arguments.length ? (type = typeof _ === \"function\" ? _ : constant(_), symbol) : type;\n };\n\n symbol.size = function(_) {\n return arguments.length ? (size = typeof _ === \"function\" ? _ : constant(+_), symbol) : size;\n };\n\n symbol.context = function(_) {\n return arguments.length ? (context = _ == null ? null : _, symbol) : context;\n };\n\n return symbol;\n}\n","export default function() {}\n","export function point(that, x, y) {\n that._context.bezierCurveTo(\n (2 * that._x0 + that._x1) / 3,\n (2 * that._y0 + that._y1) / 3,\n (that._x0 + 2 * that._x1) / 3,\n (that._y0 + 2 * that._y1) / 3,\n (that._x0 + 4 * that._x1 + x) / 6,\n (that._y0 + 4 * that._y1 + y) / 6\n );\n}\n\nexport function Basis(context) {\n this._context = context;\n}\n\nBasis.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 =\n this._y0 = this._y1 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 3: point(this, this._x1, this._y1); // proceed\n case 2: this._context.lineTo(this._x1, this._y1); break;\n }\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; break;\n case 2: this._point = 3; this._context.lineTo((5 * this._x0 + this._x1) / 6, (5 * this._y0 + this._y1) / 6); // proceed\n default: point(this, x, y); break;\n }\n this._x0 = this._x1, this._x1 = x;\n this._y0 = this._y1, this._y1 = y;\n }\n};\n\nexport default function(context) {\n return new Basis(context);\n}\n","import noop from \"../noop\";\nimport {point} from \"./basis\";\n\nfunction BasisClosed(context) {\n this._context = context;\n}\n\nBasisClosed.prototype = {\n areaStart: noop,\n areaEnd: noop,\n lineStart: function() {\n this._x0 = this._x1 = this._x2 = this._x3 = this._x4 =\n this._y0 = this._y1 = this._y2 = this._y3 = this._y4 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 1: {\n this._context.moveTo(this._x2, this._y2);\n this._context.closePath();\n break;\n }\n case 2: {\n this._context.moveTo((this._x2 + 2 * this._x3) / 3, (this._y2 + 2 * this._y3) / 3);\n this._context.lineTo((this._x3 + 2 * this._x2) / 3, (this._y3 + 2 * this._y2) / 3);\n this._context.closePath();\n break;\n }\n case 3: {\n this.point(this._x2, this._y2);\n this.point(this._x3, this._y3);\n this.point(this._x4, this._y4);\n break;\n }\n }\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._x2 = x, this._y2 = y; break;\n case 1: this._point = 2; this._x3 = x, this._y3 = y; break;\n case 2: this._point = 3; this._x4 = x, this._y4 = y; this._context.moveTo((this._x0 + 4 * this._x1 + x) / 6, (this._y0 + 4 * this._y1 + y) / 6); break;\n default: point(this, x, y); break;\n }\n this._x0 = this._x1, this._x1 = x;\n this._y0 = this._y1, this._y1 = y;\n }\n};\n\nexport default function(context) {\n return new BasisClosed(context);\n}\n","import {point} from \"./basis\";\n\nfunction BasisOpen(context) {\n this._context = context;\n}\n\nBasisOpen.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 =\n this._y0 = this._y1 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n if (this._line || (this._line !== 0 && this._point === 3)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; break;\n case 1: this._point = 2; break;\n case 2: this._point = 3; var x0 = (this._x0 + 4 * this._x1 + x) / 6, y0 = (this._y0 + 4 * this._y1 + y) / 6; this._line ? this._context.lineTo(x0, y0) : this._context.moveTo(x0, y0); break;\n case 3: this._point = 4; // proceed\n default: point(this, x, y); break;\n }\n this._x0 = this._x1, this._x1 = x;\n this._y0 = this._y1, this._y1 = y;\n }\n};\n\nexport default function(context) {\n return new BasisOpen(context);\n}\n","import {Basis} from \"./basis\";\n\nfunction Bundle(context, beta) {\n this._basis = new Basis(context);\n this._beta = beta;\n}\n\nBundle.prototype = {\n lineStart: function() {\n this._x = [];\n this._y = [];\n this._basis.lineStart();\n },\n lineEnd: function() {\n var x = this._x,\n y = this._y,\n j = x.length - 1;\n\n if (j > 0) {\n var x0 = x[0],\n y0 = y[0],\n dx = x[j] - x0,\n dy = y[j] - y0,\n i = -1,\n t;\n\n while (++i <= j) {\n t = i / j;\n this._basis.point(\n this._beta * x[i] + (1 - this._beta) * (x0 + t * dx),\n this._beta * y[i] + (1 - this._beta) * (y0 + t * dy)\n );\n }\n }\n\n this._x = this._y = null;\n this._basis.lineEnd();\n },\n point: function(x, y) {\n this._x.push(+x);\n this._y.push(+y);\n }\n};\n\nexport default (function custom(beta) {\n\n function bundle(context) {\n return beta === 1 ? new Basis(context) : new Bundle(context, beta);\n }\n\n bundle.beta = function(beta) {\n return custom(+beta);\n };\n\n return bundle;\n})(0.85);\n","export function point(that, x, y) {\n that._context.bezierCurveTo(\n that._x1 + that._k * (that._x2 - that._x0),\n that._y1 + that._k * (that._y2 - that._y0),\n that._x2 + that._k * (that._x1 - x),\n that._y2 + that._k * (that._y1 - y),\n that._x2,\n that._y2\n );\n}\n\nexport function Cardinal(context, tension) {\n this._context = context;\n this._k = (1 - tension) / 6;\n}\n\nCardinal.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 = this._x2 =\n this._y0 = this._y1 = this._y2 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 2: this._context.lineTo(this._x2, this._y2); break;\n case 3: point(this, this._x1, this._y1); break;\n }\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; this._x1 = x, this._y1 = y; break;\n case 2: this._point = 3; // proceed\n default: point(this, x, y); break;\n }\n this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;\n this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;\n }\n};\n\nexport default (function custom(tension) {\n\n function cardinal(context) {\n return new Cardinal(context, tension);\n }\n\n cardinal.tension = function(tension) {\n return custom(+tension);\n };\n\n return cardinal;\n})(0);\n","import noop from \"../noop\";\nimport {point} from \"./cardinal\";\n\nexport function CardinalClosed(context, tension) {\n this._context = context;\n this._k = (1 - tension) / 6;\n}\n\nCardinalClosed.prototype = {\n areaStart: noop,\n areaEnd: noop,\n lineStart: function() {\n this._x0 = this._x1 = this._x2 = this._x3 = this._x4 = this._x5 =\n this._y0 = this._y1 = this._y2 = this._y3 = this._y4 = this._y5 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 1: {\n this._context.moveTo(this._x3, this._y3);\n this._context.closePath();\n break;\n }\n case 2: {\n this._context.lineTo(this._x3, this._y3);\n this._context.closePath();\n break;\n }\n case 3: {\n this.point(this._x3, this._y3);\n this.point(this._x4, this._y4);\n this.point(this._x5, this._y5);\n break;\n }\n }\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._x3 = x, this._y3 = y; break;\n case 1: this._point = 2; this._context.moveTo(this._x4 = x, this._y4 = y); break;\n case 2: this._point = 3; this._x5 = x, this._y5 = y; break;\n default: point(this, x, y); break;\n }\n this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;\n this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;\n }\n};\n\nexport default (function custom(tension) {\n\n function cardinal(context) {\n return new CardinalClosed(context, tension);\n }\n\n cardinal.tension = function(tension) {\n return custom(+tension);\n };\n\n return cardinal;\n})(0);\n","import {point} from \"./cardinal\";\n\nexport function CardinalOpen(context, tension) {\n this._context = context;\n this._k = (1 - tension) / 6;\n}\n\nCardinalOpen.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 = this._x2 =\n this._y0 = this._y1 = this._y2 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n if (this._line || (this._line !== 0 && this._point === 3)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; break;\n case 1: this._point = 2; break;\n case 2: this._point = 3; this._line ? this._context.lineTo(this._x2, this._y2) : this._context.moveTo(this._x2, this._y2); break;\n case 3: this._point = 4; // proceed\n default: point(this, x, y); break;\n }\n this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;\n this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;\n }\n};\n\nexport default (function custom(tension) {\n\n function cardinal(context) {\n return new CardinalOpen(context, tension);\n }\n\n cardinal.tension = function(tension) {\n return custom(+tension);\n };\n\n return cardinal;\n})(0);\n","import {epsilon} from \"../math\";\nimport {Cardinal} from \"./cardinal\";\n\nexport function point(that, x, y) {\n var x1 = that._x1,\n y1 = that._y1,\n x2 = that._x2,\n y2 = that._y2;\n\n if (that._l01_a > epsilon) {\n var a = 2 * that._l01_2a + 3 * that._l01_a * that._l12_a + that._l12_2a,\n n = 3 * that._l01_a * (that._l01_a + that._l12_a);\n x1 = (x1 * a - that._x0 * that._l12_2a + that._x2 * that._l01_2a) / n;\n y1 = (y1 * a - that._y0 * that._l12_2a + that._y2 * that._l01_2a) / n;\n }\n\n if (that._l23_a > epsilon) {\n var b = 2 * that._l23_2a + 3 * that._l23_a * that._l12_a + that._l12_2a,\n m = 3 * that._l23_a * (that._l23_a + that._l12_a);\n x2 = (x2 * b + that._x1 * that._l23_2a - x * that._l12_2a) / m;\n y2 = (y2 * b + that._y1 * that._l23_2a - y * that._l12_2a) / m;\n }\n\n that._context.bezierCurveTo(x1, y1, x2, y2, that._x2, that._y2);\n}\n\nfunction CatmullRom(context, alpha) {\n this._context = context;\n this._alpha = alpha;\n}\n\nCatmullRom.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 = this._x2 =\n this._y0 = this._y1 = this._y2 = NaN;\n this._l01_a = this._l12_a = this._l23_a =\n this._l01_2a = this._l12_2a = this._l23_2a =\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 2: this._context.lineTo(this._x2, this._y2); break;\n case 3: this.point(this._x2, this._y2); break;\n }\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n\n if (this._point) {\n var x23 = this._x2 - x,\n y23 = this._y2 - y;\n this._l23_a = Math.sqrt(this._l23_2a = Math.pow(x23 * x23 + y23 * y23, this._alpha));\n }\n\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; break;\n case 2: this._point = 3; // proceed\n default: point(this, x, y); break;\n }\n\n this._l01_a = this._l12_a, this._l12_a = this._l23_a;\n this._l01_2a = this._l12_2a, this._l12_2a = this._l23_2a;\n this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;\n this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;\n }\n};\n\nexport default (function custom(alpha) {\n\n function catmullRom(context) {\n return alpha ? new CatmullRom(context, alpha) : new Cardinal(context, 0);\n }\n\n catmullRom.alpha = function(alpha) {\n return custom(+alpha);\n };\n\n return catmullRom;\n})(0.5);\n","import {CardinalClosed} from \"./cardinalClosed\";\nimport noop from \"../noop\";\nimport {point} from \"./catmullRom\";\n\nfunction CatmullRomClosed(context, alpha) {\n this._context = context;\n this._alpha = alpha;\n}\n\nCatmullRomClosed.prototype = {\n areaStart: noop,\n areaEnd: noop,\n lineStart: function() {\n this._x0 = this._x1 = this._x2 = this._x3 = this._x4 = this._x5 =\n this._y0 = this._y1 = this._y2 = this._y3 = this._y4 = this._y5 = NaN;\n this._l01_a = this._l12_a = this._l23_a =\n this._l01_2a = this._l12_2a = this._l23_2a =\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 1: {\n this._context.moveTo(this._x3, this._y3);\n this._context.closePath();\n break;\n }\n case 2: {\n this._context.lineTo(this._x3, this._y3);\n this._context.closePath();\n break;\n }\n case 3: {\n this.point(this._x3, this._y3);\n this.point(this._x4, this._y4);\n this.point(this._x5, this._y5);\n break;\n }\n }\n },\n point: function(x, y) {\n x = +x, y = +y;\n\n if (this._point) {\n var x23 = this._x2 - x,\n y23 = this._y2 - y;\n this._l23_a = Math.sqrt(this._l23_2a = Math.pow(x23 * x23 + y23 * y23, this._alpha));\n }\n\n switch (this._point) {\n case 0: this._point = 1; this._x3 = x, this._y3 = y; break;\n case 1: this._point = 2; this._context.moveTo(this._x4 = x, this._y4 = y); break;\n case 2: this._point = 3; this._x5 = x, this._y5 = y; break;\n default: point(this, x, y); break;\n }\n\n this._l01_a = this._l12_a, this._l12_a = this._l23_a;\n this._l01_2a = this._l12_2a, this._l12_2a = this._l23_2a;\n this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;\n this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;\n }\n};\n\nexport default (function custom(alpha) {\n\n function catmullRom(context) {\n return alpha ? new CatmullRomClosed(context, alpha) : new CardinalClosed(context, 0);\n }\n\n catmullRom.alpha = function(alpha) {\n return custom(+alpha);\n };\n\n return catmullRom;\n})(0.5);\n","import {CardinalOpen} from \"./cardinalOpen\";\nimport {point} from \"./catmullRom\";\n\nfunction CatmullRomOpen(context, alpha) {\n this._context = context;\n this._alpha = alpha;\n}\n\nCatmullRomOpen.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 = this._x2 =\n this._y0 = this._y1 = this._y2 = NaN;\n this._l01_a = this._l12_a = this._l23_a =\n this._l01_2a = this._l12_2a = this._l23_2a =\n this._point = 0;\n },\n lineEnd: function() {\n if (this._line || (this._line !== 0 && this._point === 3)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n\n if (this._point) {\n var x23 = this._x2 - x,\n y23 = this._y2 - y;\n this._l23_a = Math.sqrt(this._l23_2a = Math.pow(x23 * x23 + y23 * y23, this._alpha));\n }\n\n switch (this._point) {\n case 0: this._point = 1; break;\n case 1: this._point = 2; break;\n case 2: this._point = 3; this._line ? this._context.lineTo(this._x2, this._y2) : this._context.moveTo(this._x2, this._y2); break;\n case 3: this._point = 4; // proceed\n default: point(this, x, y); break;\n }\n\n this._l01_a = this._l12_a, this._l12_a = this._l23_a;\n this._l01_2a = this._l12_2a, this._l12_2a = this._l23_2a;\n this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;\n this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;\n }\n};\n\nexport default (function custom(alpha) {\n\n function catmullRom(context) {\n return alpha ? new CatmullRomOpen(context, alpha) : new CardinalOpen(context, 0);\n }\n\n catmullRom.alpha = function(alpha) {\n return custom(+alpha);\n };\n\n return catmullRom;\n})(0.5);\n","import noop from \"../noop\";\n\nfunction LinearClosed(context) {\n this._context = context;\n}\n\nLinearClosed.prototype = {\n areaStart: noop,\n areaEnd: noop,\n lineStart: function() {\n this._point = 0;\n },\n lineEnd: function() {\n if (this._point) this._context.closePath();\n },\n point: function(x, y) {\n x = +x, y = +y;\n if (this._point) this._context.lineTo(x, y);\n else this._point = 1, this._context.moveTo(x, y);\n }\n};\n\nexport default function(context) {\n return new LinearClosed(context);\n}\n","function sign(x) {\n return x < 0 ? -1 : 1;\n}\n\n// Calculate the slopes of the tangents (Hermite-type interpolation) based on\n// the following paper: Steffen, M. 1990. A Simple Method for Monotonic\n// Interpolation in One Dimension. Astronomy and Astrophysics, Vol. 239, NO.\n// NOV(II), P. 443, 1990.\nfunction slope3(that, x2, y2) {\n var h0 = that._x1 - that._x0,\n h1 = x2 - that._x1,\n s0 = (that._y1 - that._y0) / (h0 || h1 < 0 && -0),\n s1 = (y2 - that._y1) / (h1 || h0 < 0 && -0),\n p = (s0 * h1 + s1 * h0) / (h0 + h1);\n return (sign(s0) + sign(s1)) * Math.min(Math.abs(s0), Math.abs(s1), 0.5 * Math.abs(p)) || 0;\n}\n\n// Calculate a one-sided slope.\nfunction slope2(that, t) {\n var h = that._x1 - that._x0;\n return h ? (3 * (that._y1 - that._y0) / h - t) / 2 : t;\n}\n\n// According to https://en.wikipedia.org/wiki/Cubic_Hermite_spline#Representations\n// \"you can express cubic Hermite interpolation in terms of cubic Bézier curves\n// with respect to the four values p0, p0 + m0 / 3, p1 - m1 / 3, p1\".\nfunction point(that, t0, t1) {\n var x0 = that._x0,\n y0 = that._y0,\n x1 = that._x1,\n y1 = that._y1,\n dx = (x1 - x0) / 3;\n that._context.bezierCurveTo(x0 + dx, y0 + dx * t0, x1 - dx, y1 - dx * t1, x1, y1);\n}\n\nfunction MonotoneX(context) {\n this._context = context;\n}\n\nMonotoneX.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 =\n this._y0 = this._y1 =\n this._t0 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 2: this._context.lineTo(this._x1, this._y1); break;\n case 3: point(this, this._t0, slope2(this, this._t0)); break;\n }\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n var t1 = NaN;\n\n x = +x, y = +y;\n if (x === this._x1 && y === this._y1) return; // Ignore coincident points.\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; break;\n case 2: this._point = 3; point(this, slope2(this, t1 = slope3(this, x, y)), t1); break;\n default: point(this, this._t0, t1 = slope3(this, x, y)); break;\n }\n\n this._x0 = this._x1, this._x1 = x;\n this._y0 = this._y1, this._y1 = y;\n this._t0 = t1;\n }\n}\n\nfunction MonotoneY(context) {\n this._context = new ReflectContext(context);\n}\n\n(MonotoneY.prototype = Object.create(MonotoneX.prototype)).point = function(x, y) {\n MonotoneX.prototype.point.call(this, y, x);\n};\n\nfunction ReflectContext(context) {\n this._context = context;\n}\n\nReflectContext.prototype = {\n moveTo: function(x, y) { this._context.moveTo(y, x); },\n closePath: function() { this._context.closePath(); },\n lineTo: function(x, y) { this._context.lineTo(y, x); },\n bezierCurveTo: function(x1, y1, x2, y2, x, y) { this._context.bezierCurveTo(y1, x1, y2, x2, y, x); }\n};\n\nexport function monotoneX(context) {\n return new MonotoneX(context);\n}\n\nexport function monotoneY(context) {\n return new MonotoneY(context);\n}\n","function Natural(context) {\n this._context = context;\n}\n\nNatural.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x = [];\n this._y = [];\n },\n lineEnd: function() {\n var x = this._x,\n y = this._y,\n n = x.length;\n\n if (n) {\n this._line ? this._context.lineTo(x[0], y[0]) : this._context.moveTo(x[0], y[0]);\n if (n === 2) {\n this._context.lineTo(x[1], y[1]);\n } else {\n var px = controlPoints(x),\n py = controlPoints(y);\n for (var i0 = 0, i1 = 1; i1 < n; ++i0, ++i1) {\n this._context.bezierCurveTo(px[0][i0], py[0][i0], px[1][i0], py[1][i0], x[i1], y[i1]);\n }\n }\n }\n\n if (this._line || (this._line !== 0 && n === 1)) this._context.closePath();\n this._line = 1 - this._line;\n this._x = this._y = null;\n },\n point: function(x, y) {\n this._x.push(+x);\n this._y.push(+y);\n }\n};\n\n// See https://www.particleincell.com/2012/bezier-splines/ for derivation.\nfunction controlPoints(x) {\n var i,\n n = x.length - 1,\n m,\n a = new Array(n),\n b = new Array(n),\n r = new Array(n);\n a[0] = 0, b[0] = 2, r[0] = x[0] + 2 * x[1];\n for (i = 1; i < n - 1; ++i) a[i] = 1, b[i] = 4, r[i] = 4 * x[i] + 2 * x[i + 1];\n a[n - 1] = 2, b[n - 1] = 7, r[n - 1] = 8 * x[n - 1] + x[n];\n for (i = 1; i < n; ++i) m = a[i] / b[i - 1], b[i] -= m, r[i] -= m * r[i - 1];\n a[n - 1] = r[n - 1] / b[n - 1];\n for (i = n - 2; i >= 0; --i) a[i] = (r[i] - a[i + 1]) / b[i];\n b[n - 1] = (x[n] + a[n - 1]) / 2;\n for (i = 0; i < n - 1; ++i) b[i] = 2 * x[i + 1] - a[i + 1];\n return [a, b];\n}\n\nexport default function(context) {\n return new Natural(context);\n}\n","function Step(context, t) {\n this._context = context;\n this._t = t;\n}\n\nStep.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x = this._y = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n if (0 < this._t && this._t < 1 && this._point === 2) this._context.lineTo(this._x, this._y);\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n if (this._line >= 0) this._t = 1 - this._t, this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; // proceed\n default: {\n if (this._t <= 0) {\n this._context.lineTo(this._x, y);\n this._context.lineTo(x, y);\n } else {\n var x1 = this._x * (1 - this._t) + x * this._t;\n this._context.lineTo(x1, this._y);\n this._context.lineTo(x1, y);\n }\n break;\n }\n }\n this._x = x, this._y = y;\n }\n};\n\nexport default function(context) {\n return new Step(context, 0.5);\n}\n\nexport function stepBefore(context) {\n return new Step(context, 0);\n}\n\nexport function stepAfter(context) {\n return new Step(context, 1);\n}\n","export default function(series, order) {\n if (!((n = series.length) > 1)) return;\n for (var i = 1, j, s0, s1 = series[order[0]], n, m = s1.length; i < n; ++i) {\n s0 = s1, s1 = series[order[i]];\n for (j = 0; j < m; ++j) {\n s1[j][1] += s1[j][0] = isNaN(s0[j][1]) ? s0[j][0] : s0[j][1];\n }\n }\n}\n","export default function(series) {\n var n = series.length, o = new Array(n);\n while (--n >= 0) o[n] = n;\n return o;\n}\n","import {slice} from \"./array\";\nimport constant from \"./constant\";\nimport offsetNone from \"./offset/none\";\nimport orderNone from \"./order/none\";\n\nfunction stackValue(d, key) {\n return d[key];\n}\n\nexport default function() {\n var keys = constant([]),\n order = orderNone,\n offset = offsetNone,\n value = stackValue;\n\n function stack(data) {\n var kz = keys.apply(this, arguments),\n i,\n m = data.length,\n n = kz.length,\n sz = new Array(n),\n oz;\n\n for (i = 0; i < n; ++i) {\n for (var ki = kz[i], si = sz[i] = new Array(m), j = 0, sij; j < m; ++j) {\n si[j] = sij = [0, +value(data[j], ki, j, data)];\n sij.data = data[j];\n }\n si.key = ki;\n }\n\n for (i = 0, oz = order(sz); i < n; ++i) {\n sz[oz[i]].index = i;\n }\n\n offset(sz, oz);\n return sz;\n }\n\n stack.keys = function(_) {\n return arguments.length ? (keys = typeof _ === \"function\" ? _ : constant(slice.call(_)), stack) : keys;\n };\n\n stack.value = function(_) {\n return arguments.length ? (value = typeof _ === \"function\" ? _ : constant(+_), stack) : value;\n };\n\n stack.order = function(_) {\n return arguments.length ? (order = _ == null ? orderNone : typeof _ === \"function\" ? _ : constant(slice.call(_)), stack) : order;\n };\n\n stack.offset = function(_) {\n return arguments.length ? (offset = _ == null ? offsetNone : _, stack) : offset;\n };\n\n return stack;\n}\n","import none from \"./none\";\n\nexport default function(series, order) {\n if (!((n = series.length) > 0)) return;\n for (var i, n, j = 0, m = series[0].length, y; j < m; ++j) {\n for (y = i = 0; i < n; ++i) y += series[i][j][1] || 0;\n if (y) for (i = 0; i < n; ++i) series[i][j][1] /= y;\n }\n none(series, order);\n}\n","export default function(series, order) {\n if (!((n = series.length) > 1)) return;\n for (var i, j = 0, d, dy, yp, yn, n, m = series[order[0]].length; j < m; ++j) {\n for (yp = yn = 0, i = 0; i < n; ++i) {\n if ((dy = (d = series[order[i]][j])[1] - d[0]) >= 0) {\n d[0] = yp, d[1] = yp += dy;\n } else if (dy < 0) {\n d[1] = yn, d[0] = yn += dy;\n } else {\n d[0] = yp;\n }\n }\n }\n}\n","import none from \"./none\";\n\nexport default function(series, order) {\n if (!((n = series.length) > 0)) return;\n for (var j = 0, s0 = series[order[0]], n, m = s0.length; j < m; ++j) {\n for (var i = 0, y = 0; i < n; ++i) y += series[i][j][1] || 0;\n s0[j][1] += s0[j][0] = -y / 2;\n }\n none(series, order);\n}\n","import none from \"./none\";\n\nexport default function(series, order) {\n if (!((n = series.length) > 0) || !((m = (s0 = series[order[0]]).length) > 0)) return;\n for (var y = 0, j = 1, s0, m, n; j < m; ++j) {\n for (var i = 0, s1 = 0, s2 = 0; i < n; ++i) {\n var si = series[order[i]],\n sij0 = si[j][1] || 0,\n sij1 = si[j - 1][1] || 0,\n s3 = (sij0 - sij1) / 2;\n for (var k = 0; k < i; ++k) {\n var sk = series[order[k]],\n skj0 = sk[j][1] || 0,\n skj1 = sk[j - 1][1] || 0;\n s3 += skj0 - skj1;\n }\n s1 += sij0, s2 += s3 * sij0;\n }\n s0[j - 1][1] += s0[j - 1][0] = y;\n if (s1) y -= s2 / s1;\n }\n s0[j - 1][1] += s0[j - 1][0] = y;\n none(series, order);\n}\n","import none from \"./none\";\n\nexport default function(series) {\n var sums = series.map(sum);\n return none(series).sort(function(a, b) { return sums[a] - sums[b]; });\n}\n\nexport function sum(series) {\n var s = 0, i = -1, n = series.length, v;\n while (++i < n) if (v = +series[i][1]) s += v;\n return s;\n}\n","import ascending from \"./ascending\";\n\nexport default function(series) {\n return ascending(series).reverse();\n}\n","import none from \"./none\";\nimport {sum} from \"./ascending\";\n\nexport default function(series) {\n var n = series.length,\n i,\n j,\n sums = series.map(sum),\n order = none(series).sort(function(a, b) { return sums[b] - sums[a]; }),\n top = 0,\n bottom = 0,\n tops = [],\n bottoms = [];\n\n for (i = 0; i < n; ++i) {\n j = order[i];\n if (top < bottom) {\n top += sums[j];\n tops.push(j);\n } else {\n bottom += sums[j];\n bottoms.push(j);\n }\n }\n\n return bottoms.reverse().concat(tops);\n}\n","import none from \"./none\";\n\nexport default function(series) {\n return none(series).reverse();\n}\n","export {default as arc} from \"./src/arc\";\nexport {default as area} from \"./src/area\";\nexport {default as line} from \"./src/line\";\nexport {default as pie} from \"./src/pie\";\nexport {default as areaRadial, default as radialArea} from \"./src/areaRadial\"; // Note: radialArea is deprecated!\nexport {default as lineRadial, default as radialLine} from \"./src/lineRadial\"; // Note: radialLine is deprecated!\nexport {default as pointRadial} from \"./src/pointRadial\";\nexport {linkHorizontal, linkVertical, linkRadial} from \"./src/link/index\";\n\nexport {default as symbol, symbols} from \"./src/symbol\";\nexport {default as symbolCircle} from \"./src/symbol/circle\";\nexport {default as symbolCross} from \"./src/symbol/cross\";\nexport {default as symbolDiamond} from \"./src/symbol/diamond\";\nexport {default as symbolSquare} from \"./src/symbol/square\";\nexport {default as symbolStar} from \"./src/symbol/star\";\nexport {default as symbolTriangle} from \"./src/symbol/triangle\";\nexport {default as symbolWye} from \"./src/symbol/wye\";\n\nexport {default as curveBasisClosed} from \"./src/curve/basisClosed\";\nexport {default as curveBasisOpen} from \"./src/curve/basisOpen\";\nexport {default as curveBasis} from \"./src/curve/basis\";\nexport {default as curveBundle} from \"./src/curve/bundle\";\nexport {default as curveCardinalClosed} from \"./src/curve/cardinalClosed\";\nexport {default as curveCardinalOpen} from \"./src/curve/cardinalOpen\";\nexport {default as curveCardinal} from \"./src/curve/cardinal\";\nexport {default as curveCatmullRomClosed} from \"./src/curve/catmullRomClosed\";\nexport {default as curveCatmullRomOpen} from \"./src/curve/catmullRomOpen\";\nexport {default as curveCatmullRom} from \"./src/curve/catmullRom\";\nexport {default as curveLinearClosed} from \"./src/curve/linearClosed\";\nexport {default as curveLinear} from \"./src/curve/linear\";\nexport {monotoneX as curveMonotoneX, monotoneY as curveMonotoneY} from \"./src/curve/monotone\";\nexport {default as curveNatural} from \"./src/curve/natural\";\nexport {default as curveStep, stepAfter as curveStepAfter, stepBefore as curveStepBefore} from \"./src/curve/step\";\n\nexport {default as stack} from \"./src/stack\";\nexport {default as stackOffsetExpand} from \"./src/offset/expand\";\nexport {default as stackOffsetDiverging} from \"./src/offset/diverging\";\nexport {default as stackOffsetNone} from \"./src/offset/none\";\nexport {default as stackOffsetSilhouette} from \"./src/offset/silhouette\";\nexport {default as stackOffsetWiggle} from \"./src/offset/wiggle\";\nexport {default as stackOrderAscending} from \"./src/order/ascending\";\nexport {default as stackOrderDescending} from \"./src/order/descending\";\nexport {default as stackOrderInsideOut} from \"./src/order/insideOut\";\nexport {default as stackOrderNone} from \"./src/order/none\";\nexport {default as stackOrderReverse} from \"./src/order/reverse\";\n","export default function(x) {\n return function() {\n return x;\n };\n}\n","export function x(d) {\n return d[0];\n}\n\nexport function y(d) {\n return d[1];\n}\n","function RedBlackTree() {\n this._ = null; // root node\n}\n\nexport function RedBlackNode(node) {\n node.U = // parent node\n node.C = // color - true for red, false for black\n node.L = // left node\n node.R = // right node\n node.P = // previous node\n node.N = null; // next node\n}\n\nRedBlackTree.prototype = {\n constructor: RedBlackTree,\n\n insert: function(after, node) {\n var parent, grandpa, uncle;\n\n if (after) {\n node.P = after;\n node.N = after.N;\n if (after.N) after.N.P = node;\n after.N = node;\n if (after.R) {\n after = after.R;\n while (after.L) after = after.L;\n after.L = node;\n } else {\n after.R = node;\n }\n parent = after;\n } else if (this._) {\n after = RedBlackFirst(this._);\n node.P = null;\n node.N = after;\n after.P = after.L = node;\n parent = after;\n } else {\n node.P = node.N = null;\n this._ = node;\n parent = null;\n }\n node.L = node.R = null;\n node.U = parent;\n node.C = true;\n\n after = node;\n while (parent && parent.C) {\n grandpa = parent.U;\n if (parent === grandpa.L) {\n uncle = grandpa.R;\n if (uncle && uncle.C) {\n parent.C = uncle.C = false;\n grandpa.C = true;\n after = grandpa;\n } else {\n if (after === parent.R) {\n RedBlackRotateLeft(this, parent);\n after = parent;\n parent = after.U;\n }\n parent.C = false;\n grandpa.C = true;\n RedBlackRotateRight(this, grandpa);\n }\n } else {\n uncle = grandpa.L;\n if (uncle && uncle.C) {\n parent.C = uncle.C = false;\n grandpa.C = true;\n after = grandpa;\n } else {\n if (after === parent.L) {\n RedBlackRotateRight(this, parent);\n after = parent;\n parent = after.U;\n }\n parent.C = false;\n grandpa.C = true;\n RedBlackRotateLeft(this, grandpa);\n }\n }\n parent = after.U;\n }\n this._.C = false;\n },\n\n remove: function(node) {\n if (node.N) node.N.P = node.P;\n if (node.P) node.P.N = node.N;\n node.N = node.P = null;\n\n var parent = node.U,\n sibling,\n left = node.L,\n right = node.R,\n next,\n red;\n\n if (!left) next = right;\n else if (!right) next = left;\n else next = RedBlackFirst(right);\n\n if (parent) {\n if (parent.L === node) parent.L = next;\n else parent.R = next;\n } else {\n this._ = next;\n }\n\n if (left && right) {\n red = next.C;\n next.C = node.C;\n next.L = left;\n left.U = next;\n if (next !== right) {\n parent = next.U;\n next.U = node.U;\n node = next.R;\n parent.L = node;\n next.R = right;\n right.U = next;\n } else {\n next.U = parent;\n parent = next;\n node = next.R;\n }\n } else {\n red = node.C;\n node = next;\n }\n\n if (node) node.U = parent;\n if (red) return;\n if (node && node.C) { node.C = false; return; }\n\n do {\n if (node === this._) break;\n if (node === parent.L) {\n sibling = parent.R;\n if (sibling.C) {\n sibling.C = false;\n parent.C = true;\n RedBlackRotateLeft(this, parent);\n sibling = parent.R;\n }\n if ((sibling.L && sibling.L.C)\n || (sibling.R && sibling.R.C)) {\n if (!sibling.R || !sibling.R.C) {\n sibling.L.C = false;\n sibling.C = true;\n RedBlackRotateRight(this, sibling);\n sibling = parent.R;\n }\n sibling.C = parent.C;\n parent.C = sibling.R.C = false;\n RedBlackRotateLeft(this, parent);\n node = this._;\n break;\n }\n } else {\n sibling = parent.L;\n if (sibling.C) {\n sibling.C = false;\n parent.C = true;\n RedBlackRotateRight(this, parent);\n sibling = parent.L;\n }\n if ((sibling.L && sibling.L.C)\n || (sibling.R && sibling.R.C)) {\n if (!sibling.L || !sibling.L.C) {\n sibling.R.C = false;\n sibling.C = true;\n RedBlackRotateLeft(this, sibling);\n sibling = parent.L;\n }\n sibling.C = parent.C;\n parent.C = sibling.L.C = false;\n RedBlackRotateRight(this, parent);\n node = this._;\n break;\n }\n }\n sibling.C = true;\n node = parent;\n parent = parent.U;\n } while (!node.C);\n\n if (node) node.C = false;\n }\n};\n\nfunction RedBlackRotateLeft(tree, node) {\n var p = node,\n q = node.R,\n parent = p.U;\n\n if (parent) {\n if (parent.L === p) parent.L = q;\n else parent.R = q;\n } else {\n tree._ = q;\n }\n\n q.U = parent;\n p.U = q;\n p.R = q.L;\n if (p.R) p.R.U = p;\n q.L = p;\n}\n\nfunction RedBlackRotateRight(tree, node) {\n var p = node,\n q = node.L,\n parent = p.U;\n\n if (parent) {\n if (parent.L === p) parent.L = q;\n else parent.R = q;\n } else {\n tree._ = q;\n }\n\n q.U = parent;\n p.U = q;\n p.L = q.R;\n if (p.L) p.L.U = p;\n q.R = p;\n}\n\nfunction RedBlackFirst(node) {\n while (node.L) node = node.L;\n return node;\n}\n\nexport default RedBlackTree;\n","import {cells, edges, epsilon} from \"./Diagram\";\n\nexport function createEdge(left, right, v0, v1) {\n var edge = [null, null],\n index = edges.push(edge) - 1;\n edge.left = left;\n edge.right = right;\n if (v0) setEdgeEnd(edge, left, right, v0);\n if (v1) setEdgeEnd(edge, right, left, v1);\n cells[left.index].halfedges.push(index);\n cells[right.index].halfedges.push(index);\n return edge;\n}\n\nexport function createBorderEdge(left, v0, v1) {\n var edge = [v0, v1];\n edge.left = left;\n return edge;\n}\n\nexport function setEdgeEnd(edge, left, right, vertex) {\n if (!edge[0] && !edge[1]) {\n edge[0] = vertex;\n edge.left = left;\n edge.right = right;\n } else if (edge.left === right) {\n edge[1] = vertex;\n } else {\n edge[0] = vertex;\n }\n}\n\n// Liang–Barsky line clipping.\nfunction clipEdge(edge, x0, y0, x1, y1) {\n var a = edge[0],\n b = edge[1],\n ax = a[0],\n ay = a[1],\n bx = b[0],\n by = b[1],\n t0 = 0,\n t1 = 1,\n dx = bx - ax,\n dy = by - ay,\n r;\n\n r = x0 - ax;\n if (!dx && r > 0) return;\n r /= dx;\n if (dx < 0) {\n if (r < t0) return;\n if (r < t1) t1 = r;\n } else if (dx > 0) {\n if (r > t1) return;\n if (r > t0) t0 = r;\n }\n\n r = x1 - ax;\n if (!dx && r < 0) return;\n r /= dx;\n if (dx < 0) {\n if (r > t1) return;\n if (r > t0) t0 = r;\n } else if (dx > 0) {\n if (r < t0) return;\n if (r < t1) t1 = r;\n }\n\n r = y0 - ay;\n if (!dy && r > 0) return;\n r /= dy;\n if (dy < 0) {\n if (r < t0) return;\n if (r < t1) t1 = r;\n } else if (dy > 0) {\n if (r > t1) return;\n if (r > t0) t0 = r;\n }\n\n r = y1 - ay;\n if (!dy && r < 0) return;\n r /= dy;\n if (dy < 0) {\n if (r > t1) return;\n if (r > t0) t0 = r;\n } else if (dy > 0) {\n if (r < t0) return;\n if (r < t1) t1 = r;\n }\n\n if (!(t0 > 0) && !(t1 < 1)) return true; // TODO Better check?\n\n if (t0 > 0) edge[0] = [ax + t0 * dx, ay + t0 * dy];\n if (t1 < 1) edge[1] = [ax + t1 * dx, ay + t1 * dy];\n return true;\n}\n\nfunction connectEdge(edge, x0, y0, x1, y1) {\n var v1 = edge[1];\n if (v1) return true;\n\n var v0 = edge[0],\n left = edge.left,\n right = edge.right,\n lx = left[0],\n ly = left[1],\n rx = right[0],\n ry = right[1],\n fx = (lx + rx) / 2,\n fy = (ly + ry) / 2,\n fm,\n fb;\n\n if (ry === ly) {\n if (fx < x0 || fx >= x1) return;\n if (lx > rx) {\n if (!v0) v0 = [fx, y0];\n else if (v0[1] >= y1) return;\n v1 = [fx, y1];\n } else {\n if (!v0) v0 = [fx, y1];\n else if (v0[1] < y0) return;\n v1 = [fx, y0];\n }\n } else {\n fm = (lx - rx) / (ry - ly);\n fb = fy - fm * fx;\n if (fm < -1 || fm > 1) {\n if (lx > rx) {\n if (!v0) v0 = [(y0 - fb) / fm, y0];\n else if (v0[1] >= y1) return;\n v1 = [(y1 - fb) / fm, y1];\n } else {\n if (!v0) v0 = [(y1 - fb) / fm, y1];\n else if (v0[1] < y0) return;\n v1 = [(y0 - fb) / fm, y0];\n }\n } else {\n if (ly < ry) {\n if (!v0) v0 = [x0, fm * x0 + fb];\n else if (v0[0] >= x1) return;\n v1 = [x1, fm * x1 + fb];\n } else {\n if (!v0) v0 = [x1, fm * x1 + fb];\n else if (v0[0] < x0) return;\n v1 = [x0, fm * x0 + fb];\n }\n }\n }\n\n edge[0] = v0;\n edge[1] = v1;\n return true;\n}\n\nexport function clipEdges(x0, y0, x1, y1) {\n var i = edges.length,\n edge;\n\n while (i--) {\n if (!connectEdge(edge = edges[i], x0, y0, x1, y1)\n || !clipEdge(edge, x0, y0, x1, y1)\n || !(Math.abs(edge[0][0] - edge[1][0]) > epsilon\n || Math.abs(edge[0][1] - edge[1][1]) > epsilon)) {\n delete edges[i];\n }\n }\n}\n","import {createBorderEdge} from \"./Edge\";\nimport {cells, edges, epsilon} from \"./Diagram\";\n\nexport function createCell(site) {\n return cells[site.index] = {\n site: site,\n halfedges: []\n };\n}\n\nfunction cellHalfedgeAngle(cell, edge) {\n var site = cell.site,\n va = edge.left,\n vb = edge.right;\n if (site === vb) vb = va, va = site;\n if (vb) return Math.atan2(vb[1] - va[1], vb[0] - va[0]);\n if (site === va) va = edge[1], vb = edge[0];\n else va = edge[0], vb = edge[1];\n return Math.atan2(va[0] - vb[0], vb[1] - va[1]);\n}\n\nexport function cellHalfedgeStart(cell, edge) {\n return edge[+(edge.left !== cell.site)];\n}\n\nexport function cellHalfedgeEnd(cell, edge) {\n return edge[+(edge.left === cell.site)];\n}\n\nexport function sortCellHalfedges() {\n for (var i = 0, n = cells.length, cell, halfedges, j, m; i < n; ++i) {\n if ((cell = cells[i]) && (m = (halfedges = cell.halfedges).length)) {\n var index = new Array(m),\n array = new Array(m);\n for (j = 0; j < m; ++j) index[j] = j, array[j] = cellHalfedgeAngle(cell, edges[halfedges[j]]);\n index.sort(function(i, j) { return array[j] - array[i]; });\n for (j = 0; j < m; ++j) array[j] = halfedges[index[j]];\n for (j = 0; j < m; ++j) halfedges[j] = array[j];\n }\n }\n}\n\nexport function clipCells(x0, y0, x1, y1) {\n var nCells = cells.length,\n iCell,\n cell,\n site,\n iHalfedge,\n halfedges,\n nHalfedges,\n start,\n startX,\n startY,\n end,\n endX,\n endY,\n cover = true;\n\n for (iCell = 0; iCell < nCells; ++iCell) {\n if (cell = cells[iCell]) {\n site = cell.site;\n halfedges = cell.halfedges;\n iHalfedge = halfedges.length;\n\n // Remove any dangling clipped edges.\n while (iHalfedge--) {\n if (!edges[halfedges[iHalfedge]]) {\n halfedges.splice(iHalfedge, 1);\n }\n }\n\n // Insert any border edges as necessary.\n iHalfedge = 0, nHalfedges = halfedges.length;\n while (iHalfedge < nHalfedges) {\n end = cellHalfedgeEnd(cell, edges[halfedges[iHalfedge]]), endX = end[0], endY = end[1];\n start = cellHalfedgeStart(cell, edges[halfedges[++iHalfedge % nHalfedges]]), startX = start[0], startY = start[1];\n if (Math.abs(endX - startX) > epsilon || Math.abs(endY - startY) > epsilon) {\n halfedges.splice(iHalfedge, 0, edges.push(createBorderEdge(site, end,\n Math.abs(endX - x0) < epsilon && y1 - endY > epsilon ? [x0, Math.abs(startX - x0) < epsilon ? startY : y1]\n : Math.abs(endY - y1) < epsilon && x1 - endX > epsilon ? [Math.abs(startY - y1) < epsilon ? startX : x1, y1]\n : Math.abs(endX - x1) < epsilon && endY - y0 > epsilon ? [x1, Math.abs(startX - x1) < epsilon ? startY : y0]\n : Math.abs(endY - y0) < epsilon && endX - x0 > epsilon ? [Math.abs(startY - y0) < epsilon ? startX : x0, y0]\n : null)) - 1);\n ++nHalfedges;\n }\n }\n\n if (nHalfedges) cover = false;\n }\n }\n\n // If there weren’t any edges, have the closest site cover the extent.\n // It doesn’t matter which corner of the extent we measure!\n if (cover) {\n var dx, dy, d2, dc = Infinity;\n\n for (iCell = 0, cover = null; iCell < nCells; ++iCell) {\n if (cell = cells[iCell]) {\n site = cell.site;\n dx = site[0] - x0;\n dy = site[1] - y0;\n d2 = dx * dx + dy * dy;\n if (d2 < dc) dc = d2, cover = cell;\n }\n }\n\n if (cover) {\n var v00 = [x0, y0], v01 = [x0, y1], v11 = [x1, y1], v10 = [x1, y0];\n cover.halfedges.push(\n edges.push(createBorderEdge(site = cover.site, v00, v01)) - 1,\n edges.push(createBorderEdge(site, v01, v11)) - 1,\n edges.push(createBorderEdge(site, v11, v10)) - 1,\n edges.push(createBorderEdge(site, v10, v00)) - 1\n );\n }\n }\n\n // Lastly delete any cells with no edges; these were entirely clipped.\n for (iCell = 0; iCell < nCells; ++iCell) {\n if (cell = cells[iCell]) {\n if (!cell.halfedges.length) {\n delete cells[iCell];\n }\n }\n }\n}\n","import {RedBlackNode} from \"./RedBlackTree\";\nimport {circles, epsilon2} from \"./Diagram\";\n\nvar circlePool = [];\n\nexport var firstCircle;\n\nfunction Circle() {\n RedBlackNode(this);\n this.x =\n this.y =\n this.arc =\n this.site =\n this.cy = null;\n}\n\nexport function attachCircle(arc) {\n var lArc = arc.P,\n rArc = arc.N;\n\n if (!lArc || !rArc) return;\n\n var lSite = lArc.site,\n cSite = arc.site,\n rSite = rArc.site;\n\n if (lSite === rSite) return;\n\n var bx = cSite[0],\n by = cSite[1],\n ax = lSite[0] - bx,\n ay = lSite[1] - by,\n cx = rSite[0] - bx,\n cy = rSite[1] - by;\n\n var d = 2 * (ax * cy - ay * cx);\n if (d >= -epsilon2) return;\n\n var ha = ax * ax + ay * ay,\n hc = cx * cx + cy * cy,\n x = (cy * ha - ay * hc) / d,\n y = (ax * hc - cx * ha) / d;\n\n var circle = circlePool.pop() || new Circle;\n circle.arc = arc;\n circle.site = cSite;\n circle.x = x + bx;\n circle.y = (circle.cy = y + by) + Math.sqrt(x * x + y * y); // y bottom\n\n arc.circle = circle;\n\n var before = null,\n node = circles._;\n\n while (node) {\n if (circle.y < node.y || (circle.y === node.y && circle.x <= node.x)) {\n if (node.L) node = node.L;\n else { before = node.P; break; }\n } else {\n if (node.R) node = node.R;\n else { before = node; break; }\n }\n }\n\n circles.insert(before, circle);\n if (!before) firstCircle = circle;\n}\n\nexport function detachCircle(arc) {\n var circle = arc.circle;\n if (circle) {\n if (!circle.P) firstCircle = circle.N;\n circles.remove(circle);\n circlePool.push(circle);\n RedBlackNode(circle);\n arc.circle = null;\n }\n}\n","import {RedBlackNode} from \"./RedBlackTree\";\nimport {createCell} from \"./Cell\";\nimport {attachCircle, detachCircle} from \"./Circle\";\nimport {createEdge, setEdgeEnd} from \"./Edge\";\nimport {beaches, epsilon} from \"./Diagram\";\n\nvar beachPool = [];\n\nfunction Beach() {\n RedBlackNode(this);\n this.edge =\n this.site =\n this.circle = null;\n}\n\nfunction createBeach(site) {\n var beach = beachPool.pop() || new Beach;\n beach.site = site;\n return beach;\n}\n\nfunction detachBeach(beach) {\n detachCircle(beach);\n beaches.remove(beach);\n beachPool.push(beach);\n RedBlackNode(beach);\n}\n\nexport function removeBeach(beach) {\n var circle = beach.circle,\n x = circle.x,\n y = circle.cy,\n vertex = [x, y],\n previous = beach.P,\n next = beach.N,\n disappearing = [beach];\n\n detachBeach(beach);\n\n var lArc = previous;\n while (lArc.circle\n && Math.abs(x - lArc.circle.x) < epsilon\n && Math.abs(y - lArc.circle.cy) < epsilon) {\n previous = lArc.P;\n disappearing.unshift(lArc);\n detachBeach(lArc);\n lArc = previous;\n }\n\n disappearing.unshift(lArc);\n detachCircle(lArc);\n\n var rArc = next;\n while (rArc.circle\n && Math.abs(x - rArc.circle.x) < epsilon\n && Math.abs(y - rArc.circle.cy) < epsilon) {\n next = rArc.N;\n disappearing.push(rArc);\n detachBeach(rArc);\n rArc = next;\n }\n\n disappearing.push(rArc);\n detachCircle(rArc);\n\n var nArcs = disappearing.length,\n iArc;\n for (iArc = 1; iArc < nArcs; ++iArc) {\n rArc = disappearing[iArc];\n lArc = disappearing[iArc - 1];\n setEdgeEnd(rArc.edge, lArc.site, rArc.site, vertex);\n }\n\n lArc = disappearing[0];\n rArc = disappearing[nArcs - 1];\n rArc.edge = createEdge(lArc.site, rArc.site, null, vertex);\n\n attachCircle(lArc);\n attachCircle(rArc);\n}\n\nexport function addBeach(site) {\n var x = site[0],\n directrix = site[1],\n lArc,\n rArc,\n dxl,\n dxr,\n node = beaches._;\n\n while (node) {\n dxl = leftBreakPoint(node, directrix) - x;\n if (dxl > epsilon) node = node.L; else {\n dxr = x - rightBreakPoint(node, directrix);\n if (dxr > epsilon) {\n if (!node.R) {\n lArc = node;\n break;\n }\n node = node.R;\n } else {\n if (dxl > -epsilon) {\n lArc = node.P;\n rArc = node;\n } else if (dxr > -epsilon) {\n lArc = node;\n rArc = node.N;\n } else {\n lArc = rArc = node;\n }\n break;\n }\n }\n }\n\n createCell(site);\n var newArc = createBeach(site);\n beaches.insert(lArc, newArc);\n\n if (!lArc && !rArc) return;\n\n if (lArc === rArc) {\n detachCircle(lArc);\n rArc = createBeach(lArc.site);\n beaches.insert(newArc, rArc);\n newArc.edge = rArc.edge = createEdge(lArc.site, newArc.site);\n attachCircle(lArc);\n attachCircle(rArc);\n return;\n }\n\n if (!rArc) { // && lArc\n newArc.edge = createEdge(lArc.site, newArc.site);\n return;\n }\n\n // else lArc !== rArc\n detachCircle(lArc);\n detachCircle(rArc);\n\n var lSite = lArc.site,\n ax = lSite[0],\n ay = lSite[1],\n bx = site[0] - ax,\n by = site[1] - ay,\n rSite = rArc.site,\n cx = rSite[0] - ax,\n cy = rSite[1] - ay,\n d = 2 * (bx * cy - by * cx),\n hb = bx * bx + by * by,\n hc = cx * cx + cy * cy,\n vertex = [(cy * hb - by * hc) / d + ax, (bx * hc - cx * hb) / d + ay];\n\n setEdgeEnd(rArc.edge, lSite, rSite, vertex);\n newArc.edge = createEdge(lSite, site, null, vertex);\n rArc.edge = createEdge(site, rSite, null, vertex);\n attachCircle(lArc);\n attachCircle(rArc);\n}\n\nfunction leftBreakPoint(arc, directrix) {\n var site = arc.site,\n rfocx = site[0],\n rfocy = site[1],\n pby2 = rfocy - directrix;\n\n if (!pby2) return rfocx;\n\n var lArc = arc.P;\n if (!lArc) return -Infinity;\n\n site = lArc.site;\n var lfocx = site[0],\n lfocy = site[1],\n plby2 = lfocy - directrix;\n\n if (!plby2) return lfocx;\n\n var hl = lfocx - rfocx,\n aby2 = 1 / pby2 - 1 / plby2,\n b = hl / plby2;\n\n if (aby2) return (-b + Math.sqrt(b * b - 2 * aby2 * (hl * hl / (-2 * plby2) - lfocy + plby2 / 2 + rfocy - pby2 / 2))) / aby2 + rfocx;\n\n return (rfocx + lfocx) / 2;\n}\n\nfunction rightBreakPoint(arc, directrix) {\n var rArc = arc.N;\n if (rArc) return leftBreakPoint(rArc, directrix);\n var site = arc.site;\n return site[1] === directrix ? site[0] : Infinity;\n}\n","import {addBeach, removeBeach} from \"./Beach\";\nimport {sortCellHalfedges, cellHalfedgeStart, clipCells} from \"./Cell\";\nimport {firstCircle} from \"./Circle\";\nimport {clipEdges} from \"./Edge\";\nimport RedBlackTree from \"./RedBlackTree\";\n\nexport var epsilon = 1e-6;\nexport var epsilon2 = 1e-12;\nexport var beaches;\nexport var cells;\nexport var circles;\nexport var edges;\n\nfunction triangleArea(a, b, c) {\n return (a[0] - c[0]) * (b[1] - a[1]) - (a[0] - b[0]) * (c[1] - a[1]);\n}\n\nfunction lexicographic(a, b) {\n return b[1] - a[1]\n || b[0] - a[0];\n}\n\nexport default function Diagram(sites, extent) {\n var site = sites.sort(lexicographic).pop(),\n x,\n y,\n circle;\n\n edges = [];\n cells = new Array(sites.length);\n beaches = new RedBlackTree;\n circles = new RedBlackTree;\n\n while (true) {\n circle = firstCircle;\n if (site && (!circle || site[1] < circle.y || (site[1] === circle.y && site[0] < circle.x))) {\n if (site[0] !== x || site[1] !== y) {\n addBeach(site);\n x = site[0], y = site[1];\n }\n site = sites.pop();\n } else if (circle) {\n removeBeach(circle.arc);\n } else {\n break;\n }\n }\n\n sortCellHalfedges();\n\n if (extent) {\n var x0 = +extent[0][0],\n y0 = +extent[0][1],\n x1 = +extent[1][0],\n y1 = +extent[1][1];\n clipEdges(x0, y0, x1, y1);\n clipCells(x0, y0, x1, y1);\n }\n\n this.edges = edges;\n this.cells = cells;\n\n beaches =\n circles =\n edges =\n cells = null;\n}\n\nDiagram.prototype = {\n constructor: Diagram,\n\n polygons: function() {\n var edges = this.edges;\n\n return this.cells.map(function(cell) {\n var polygon = cell.halfedges.map(function(i) { return cellHalfedgeStart(cell, edges[i]); });\n polygon.data = cell.site.data;\n return polygon;\n });\n },\n\n triangles: function() {\n var triangles = [],\n edges = this.edges;\n\n this.cells.forEach(function(cell, i) {\n if (!(m = (halfedges = cell.halfedges).length)) return;\n var site = cell.site,\n halfedges,\n j = -1,\n m,\n s0,\n e1 = edges[halfedges[m - 1]],\n s1 = e1.left === site ? e1.right : e1.left;\n\n while (++j < m) {\n s0 = s1;\n e1 = edges[halfedges[j]];\n s1 = e1.left === site ? e1.right : e1.left;\n if (s0 && s1 && i < s0.index && i < s1.index && triangleArea(site, s0, s1) < 0) {\n triangles.push([site.data, s0.data, s1.data]);\n }\n }\n });\n\n return triangles;\n },\n\n links: function() {\n return this.edges.filter(function(edge) {\n return edge.right;\n }).map(function(edge) {\n return {\n source: edge.left.data,\n target: edge.right.data\n };\n });\n },\n\n find: function(x, y, radius) {\n var that = this, i0, i1 = that._found || 0, n = that.cells.length, cell;\n\n // Use the previously-found cell, or start with an arbitrary one.\n while (!(cell = that.cells[i1])) if (++i1 >= n) return null;\n var dx = x - cell.site[0], dy = y - cell.site[1], d2 = dx * dx + dy * dy;\n\n // Traverse the half-edges to find a closer cell, if any.\n do {\n cell = that.cells[i0 = i1], i1 = null;\n cell.halfedges.forEach(function(e) {\n var edge = that.edges[e], v = edge.left;\n if ((v === cell.site || !v) && !(v = edge.right)) return;\n var vx = x - v[0], vy = y - v[1], v2 = vx * vx + vy * vy;\n if (v2 < d2) d2 = v2, i1 = v.index;\n });\n } while (i1 !== null);\n\n that._found = i0;\n\n return radius == null || d2 <= radius * radius ? cell.site : null;\n }\n}\n","import constant from \"./constant\";\nimport {x as pointX, y as pointY} from \"./point\";\nimport Diagram, {epsilon} from \"./Diagram\";\n\nexport default function() {\n var x = pointX,\n y = pointY,\n extent = null;\n\n function voronoi(data) {\n return new Diagram(data.map(function(d, i) {\n var s = [Math.round(x(d, i, data) / epsilon) * epsilon, Math.round(y(d, i, data) / epsilon) * epsilon];\n s.index = i;\n s.data = d;\n return s;\n }), extent);\n }\n\n voronoi.polygons = function(data) {\n return voronoi(data).polygons();\n };\n\n voronoi.links = function(data) {\n return voronoi(data).links();\n };\n\n voronoi.triangles = function(data) {\n return voronoi(data).triangles();\n };\n\n voronoi.x = function(_) {\n return arguments.length ? (x = typeof _ === \"function\" ? _ : constant(+_), voronoi) : x;\n };\n\n voronoi.y = function(_) {\n return arguments.length ? (y = typeof _ === \"function\" ? _ : constant(+_), voronoi) : y;\n };\n\n voronoi.extent = function(_) {\n return arguments.length ? (extent = _ == null ? null : [[+_[0][0], +_[0][1]], [+_[1][0], +_[1][1]]], voronoi) : extent && [[extent[0][0], extent[0][1]], [extent[1][0], extent[1][1]]];\n };\n\n voronoi.size = function(_) {\n return arguments.length ? (extent = _ == null ? null : [[0, 0], [+_[0], +_[1]]], voronoi) : extent && [extent[1][0] - extent[0][0], extent[1][1] - extent[0][1]];\n };\n\n return voronoi;\n}\n","export {default as voronoi} from \"./src/voronoi\";\n","export default function(x) {\n return function() {\n return x;\n };\n}\n","export default function ZoomEvent(target, type, transform) {\n this.target = target;\n this.type = type;\n this.transform = transform;\n}\n","export function Transform(k, x, y) {\n this.k = k;\n this.x = x;\n this.y = y;\n}\n\nTransform.prototype = {\n constructor: Transform,\n scale: function(k) {\n return k === 1 ? this : new Transform(this.k * k, this.x, this.y);\n },\n translate: function(x, y) {\n return x === 0 & y === 0 ? this : new Transform(this.k, this.x + this.k * x, this.y + this.k * y);\n },\n apply: function(point) {\n return [point[0] * this.k + this.x, point[1] * this.k + this.y];\n },\n applyX: function(x) {\n return x * this.k + this.x;\n },\n applyY: function(y) {\n return y * this.k + this.y;\n },\n invert: function(location) {\n return [(location[0] - this.x) / this.k, (location[1] - this.y) / this.k];\n },\n invertX: function(x) {\n return (x - this.x) / this.k;\n },\n invertY: function(y) {\n return (y - this.y) / this.k;\n },\n rescaleX: function(x) {\n return x.copy().domain(x.range().map(this.invertX, this).map(x.invert, x));\n },\n rescaleY: function(y) {\n return y.copy().domain(y.range().map(this.invertY, this).map(y.invert, y));\n },\n toString: function() {\n return \"translate(\" + this.x + \",\" + this.y + \") scale(\" + this.k + \")\";\n }\n};\n\nexport var identity = new Transform(1, 0, 0);\n\ntransform.prototype = Transform.prototype;\n\nexport default function transform(node) {\n return node.__zoom || identity;\n}\n","import {event} from \"d3-selection\";\n\nexport function nopropagation() {\n event.stopImmediatePropagation();\n}\n\nexport default function() {\n event.preventDefault();\n event.stopImmediatePropagation();\n}\n","import {dispatch} from \"d3-dispatch\";\nimport {dragDisable, dragEnable} from \"d3-drag\";\nimport {interpolateZoom} from \"d3-interpolate\";\nimport {event, customEvent, select, mouse, touch} from \"d3-selection\";\nimport {interrupt} from \"d3-transition\";\nimport constant from \"./constant\";\nimport ZoomEvent from \"./event\";\nimport {Transform, identity} from \"./transform\";\nimport noevent, {nopropagation} from \"./noevent\";\n\n// Ignore right-click, since that should open the context menu.\nfunction defaultFilter() {\n return !event.button;\n}\n\nfunction defaultExtent() {\n var e = this, w, h;\n if (e instanceof SVGElement) {\n e = e.ownerSVGElement || e;\n w = e.width.baseVal.value;\n h = e.height.baseVal.value;\n } else {\n w = e.clientWidth;\n h = e.clientHeight;\n }\n return [[0, 0], [w, h]];\n}\n\nfunction defaultTransform() {\n return this.__zoom || identity;\n}\n\nfunction defaultWheelDelta() {\n return -event.deltaY * (event.deltaMode ? 120 : 1) / 500;\n}\n\nfunction defaultTouchable() {\n return \"ontouchstart\" in this;\n}\n\nfunction defaultConstrain(transform, extent, translateExtent) {\n var dx0 = transform.invertX(extent[0][0]) - translateExtent[0][0],\n dx1 = transform.invertX(extent[1][0]) - translateExtent[1][0],\n dy0 = transform.invertY(extent[0][1]) - translateExtent[0][1],\n dy1 = transform.invertY(extent[1][1]) - translateExtent[1][1];\n return transform.translate(\n dx1 > dx0 ? (dx0 + dx1) / 2 : Math.min(0, dx0) || Math.max(0, dx1),\n dy1 > dy0 ? (dy0 + dy1) / 2 : Math.min(0, dy0) || Math.max(0, dy1)\n );\n}\n\nexport default function() {\n var filter = defaultFilter,\n extent = defaultExtent,\n constrain = defaultConstrain,\n wheelDelta = defaultWheelDelta,\n touchable = defaultTouchable,\n scaleExtent = [0, Infinity],\n translateExtent = [[-Infinity, -Infinity], [Infinity, Infinity]],\n duration = 250,\n interpolate = interpolateZoom,\n gestures = [],\n listeners = dispatch(\"start\", \"zoom\", \"end\"),\n touchstarting,\n touchending,\n touchDelay = 500,\n wheelDelay = 150,\n clickDistance2 = 0;\n\n function zoom(selection) {\n selection\n .property(\"__zoom\", defaultTransform)\n .on(\"wheel.zoom\", wheeled)\n .on(\"mousedown.zoom\", mousedowned)\n .on(\"dblclick.zoom\", dblclicked)\n .filter(touchable)\n .on(\"touchstart.zoom\", touchstarted)\n .on(\"touchmove.zoom\", touchmoved)\n .on(\"touchend.zoom touchcancel.zoom\", touchended)\n .style(\"touch-action\", \"none\")\n .style(\"-webkit-tap-highlight-color\", \"rgba(0,0,0,0)\");\n }\n\n zoom.transform = function(collection, transform) {\n var selection = collection.selection ? collection.selection() : collection;\n selection.property(\"__zoom\", defaultTransform);\n if (collection !== selection) {\n schedule(collection, transform);\n } else {\n selection.interrupt().each(function() {\n gesture(this, arguments)\n .start()\n .zoom(null, typeof transform === \"function\" ? transform.apply(this, arguments) : transform)\n .end();\n });\n }\n };\n\n zoom.scaleBy = function(selection, k) {\n zoom.scaleTo(selection, function() {\n var k0 = this.__zoom.k,\n k1 = typeof k === \"function\" ? k.apply(this, arguments) : k;\n return k0 * k1;\n });\n };\n\n zoom.scaleTo = function(selection, k) {\n zoom.transform(selection, function() {\n var e = extent.apply(this, arguments),\n t0 = this.__zoom,\n p0 = centroid(e),\n p1 = t0.invert(p0),\n k1 = typeof k === \"function\" ? k.apply(this, arguments) : k;\n return constrain(translate(scale(t0, k1), p0, p1), e, translateExtent);\n });\n };\n\n zoom.translateBy = function(selection, x, y) {\n zoom.transform(selection, function() {\n return constrain(this.__zoom.translate(\n typeof x === \"function\" ? x.apply(this, arguments) : x,\n typeof y === \"function\" ? y.apply(this, arguments) : y\n ), extent.apply(this, arguments), translateExtent);\n });\n };\n\n zoom.translateTo = function(selection, x, y) {\n zoom.transform(selection, function() {\n var e = extent.apply(this, arguments),\n t = this.__zoom,\n p = centroid(e);\n return constrain(identity.translate(p[0], p[1]).scale(t.k).translate(\n typeof x === \"function\" ? -x.apply(this, arguments) : -x,\n typeof y === \"function\" ? -y.apply(this, arguments) : -y\n ), e, translateExtent);\n });\n };\n\n function scale(transform, k) {\n k = Math.max(scaleExtent[0], Math.min(scaleExtent[1], k));\n return k === transform.k ? transform : new Transform(k, transform.x, transform.y);\n }\n\n function translate(transform, p0, p1) {\n var x = p0[0] - p1[0] * transform.k, y = p0[1] - p1[1] * transform.k;\n return x === transform.x && y === transform.y ? transform : new Transform(transform.k, x, y);\n }\n\n function centroid(extent) {\n return [(+extent[0][0] + +extent[1][0]) / 2, (+extent[0][1] + +extent[1][1]) / 2];\n }\n\n function schedule(transition, transform, center) {\n transition\n .on(\"start.zoom\", function() { gesture(this, arguments).start(); })\n .on(\"interrupt.zoom end.zoom\", function() { gesture(this, arguments).end(); })\n .tween(\"zoom\", function() {\n var that = this,\n args = arguments,\n g = gesture(that, args),\n e = extent.apply(that, args),\n p = center || centroid(e),\n w = Math.max(e[1][0] - e[0][0], e[1][1] - e[0][1]),\n a = that.__zoom,\n b = typeof transform === \"function\" ? transform.apply(that, args) : transform,\n i = interpolate(a.invert(p).concat(w / a.k), b.invert(p).concat(w / b.k));\n return function(t) {\n if (t === 1) t = b; // Avoid rounding error on end.\n else { var l = i(t), k = w / l[2]; t = new Transform(k, p[0] - l[0] * k, p[1] - l[1] * k); }\n g.zoom(null, t);\n };\n });\n }\n\n function gesture(that, args) {\n for (var i = 0, n = gestures.length, g; i < n; ++i) {\n if ((g = gestures[i]).that === that) {\n return g;\n }\n }\n return new Gesture(that, args);\n }\n\n function Gesture(that, args) {\n this.that = that;\n this.args = args;\n this.index = -1;\n this.active = 0;\n this.extent = extent.apply(that, args);\n }\n\n Gesture.prototype = {\n start: function() {\n if (++this.active === 1) {\n this.index = gestures.push(this) - 1;\n this.emit(\"start\");\n }\n return this;\n },\n zoom: function(key, transform) {\n if (this.mouse && key !== \"mouse\") this.mouse[1] = transform.invert(this.mouse[0]);\n if (this.touch0 && key !== \"touch\") this.touch0[1] = transform.invert(this.touch0[0]);\n if (this.touch1 && key !== \"touch\") this.touch1[1] = transform.invert(this.touch1[0]);\n this.that.__zoom = transform;\n this.emit(\"zoom\");\n return this;\n },\n end: function() {\n if (--this.active === 0) {\n gestures.splice(this.index, 1);\n this.index = -1;\n this.emit(\"end\");\n }\n return this;\n },\n emit: function(type) {\n customEvent(new ZoomEvent(zoom, type, this.that.__zoom), listeners.apply, listeners, [type, this.that, this.args]);\n }\n };\n\n function wheeled() {\n if (!filter.apply(this, arguments)) return;\n var g = gesture(this, arguments),\n t = this.__zoom,\n k = Math.max(scaleExtent[0], Math.min(scaleExtent[1], t.k * Math.pow(2, wheelDelta.apply(this, arguments)))),\n p = mouse(this);\n\n // If the mouse is in the same location as before, reuse it.\n // If there were recent wheel events, reset the wheel idle timeout.\n if (g.wheel) {\n if (g.mouse[0][0] !== p[0] || g.mouse[0][1] !== p[1]) {\n g.mouse[1] = t.invert(g.mouse[0] = p);\n }\n clearTimeout(g.wheel);\n }\n\n // If this wheel event won’t trigger a transform change, ignore it.\n else if (t.k === k) return;\n\n // Otherwise, capture the mouse point and location at the start.\n else {\n g.mouse = [p, t.invert(p)];\n interrupt(this);\n g.start();\n }\n\n noevent();\n g.wheel = setTimeout(wheelidled, wheelDelay);\n g.zoom(\"mouse\", constrain(translate(scale(t, k), g.mouse[0], g.mouse[1]), g.extent, translateExtent));\n\n function wheelidled() {\n g.wheel = null;\n g.end();\n }\n }\n\n function mousedowned() {\n if (touchending || !filter.apply(this, arguments)) return;\n var g = gesture(this, arguments),\n v = select(event.view).on(\"mousemove.zoom\", mousemoved, true).on(\"mouseup.zoom\", mouseupped, true),\n p = mouse(this),\n x0 = event.clientX,\n y0 = event.clientY;\n\n dragDisable(event.view);\n nopropagation();\n g.mouse = [p, this.__zoom.invert(p)];\n interrupt(this);\n g.start();\n\n function mousemoved() {\n noevent();\n if (!g.moved) {\n var dx = event.clientX - x0, dy = event.clientY - y0;\n g.moved = dx * dx + dy * dy > clickDistance2;\n }\n g.zoom(\"mouse\", constrain(translate(g.that.__zoom, g.mouse[0] = mouse(g.that), g.mouse[1]), g.extent, translateExtent));\n }\n\n function mouseupped() {\n v.on(\"mousemove.zoom mouseup.zoom\", null);\n dragEnable(event.view, g.moved);\n noevent();\n g.end();\n }\n }\n\n function dblclicked() {\n if (!filter.apply(this, arguments)) return;\n var t0 = this.__zoom,\n p0 = mouse(this),\n p1 = t0.invert(p0),\n k1 = t0.k * (event.shiftKey ? 0.5 : 2),\n t1 = constrain(translate(scale(t0, k1), p0, p1), extent.apply(this, arguments), translateExtent);\n\n noevent();\n if (duration > 0) select(this).transition().duration(duration).call(schedule, t1, p0);\n else select(this).call(zoom.transform, t1);\n }\n\n function touchstarted() {\n if (!filter.apply(this, arguments)) return;\n var g = gesture(this, arguments),\n touches = event.changedTouches,\n started,\n n = touches.length, i, t, p;\n\n nopropagation();\n for (i = 0; i < n; ++i) {\n t = touches[i], p = touch(this, touches, t.identifier);\n p = [p, this.__zoom.invert(p), t.identifier];\n if (!g.touch0) g.touch0 = p, started = true;\n else if (!g.touch1) g.touch1 = p;\n }\n\n // If this is a dbltap, reroute to the (optional) dblclick.zoom handler.\n if (touchstarting) {\n touchstarting = clearTimeout(touchstarting);\n if (!g.touch1) {\n g.end();\n p = select(this).on(\"dblclick.zoom\");\n if (p) p.apply(this, arguments);\n return;\n }\n }\n\n if (started) {\n touchstarting = setTimeout(function() { touchstarting = null; }, touchDelay);\n interrupt(this);\n g.start();\n }\n }\n\n function touchmoved() {\n var g = gesture(this, arguments),\n touches = event.changedTouches,\n n = touches.length, i, t, p, l;\n\n noevent();\n if (touchstarting) touchstarting = clearTimeout(touchstarting);\n for (i = 0; i < n; ++i) {\n t = touches[i], p = touch(this, touches, t.identifier);\n if (g.touch0 && g.touch0[2] === t.identifier) g.touch0[0] = p;\n else if (g.touch1 && g.touch1[2] === t.identifier) g.touch1[0] = p;\n }\n t = g.that.__zoom;\n if (g.touch1) {\n var p0 = g.touch0[0], l0 = g.touch0[1],\n p1 = g.touch1[0], l1 = g.touch1[1],\n dp = (dp = p1[0] - p0[0]) * dp + (dp = p1[1] - p0[1]) * dp,\n dl = (dl = l1[0] - l0[0]) * dl + (dl = l1[1] - l0[1]) * dl;\n t = scale(t, Math.sqrt(dp / dl));\n p = [(p0[0] + p1[0]) / 2, (p0[1] + p1[1]) / 2];\n l = [(l0[0] + l1[0]) / 2, (l0[1] + l1[1]) / 2];\n }\n else if (g.touch0) p = g.touch0[0], l = g.touch0[1];\n else return;\n g.zoom(\"touch\", constrain(translate(t, p, l), g.extent, translateExtent));\n }\n\n function touchended() {\n var g = gesture(this, arguments),\n touches = event.changedTouches,\n n = touches.length, i, t;\n\n nopropagation();\n if (touchending) clearTimeout(touchending);\n touchending = setTimeout(function() { touchending = null; }, touchDelay);\n for (i = 0; i < n; ++i) {\n t = touches[i];\n if (g.touch0 && g.touch0[2] === t.identifier) delete g.touch0;\n else if (g.touch1 && g.touch1[2] === t.identifier) delete g.touch1;\n }\n if (g.touch1 && !g.touch0) g.touch0 = g.touch1, delete g.touch1;\n if (g.touch0) g.touch0[1] = this.__zoom.invert(g.touch0[0]);\n else g.end();\n }\n\n zoom.wheelDelta = function(_) {\n return arguments.length ? (wheelDelta = typeof _ === \"function\" ? _ : constant(+_), zoom) : wheelDelta;\n };\n\n zoom.filter = function(_) {\n return arguments.length ? (filter = typeof _ === \"function\" ? _ : constant(!!_), zoom) : filter;\n };\n\n zoom.touchable = function(_) {\n return arguments.length ? (touchable = typeof _ === \"function\" ? _ : constant(!!_), zoom) : touchable;\n };\n\n zoom.extent = function(_) {\n return arguments.length ? (extent = typeof _ === \"function\" ? _ : constant([[+_[0][0], +_[0][1]], [+_[1][0], +_[1][1]]]), zoom) : extent;\n };\n\n zoom.scaleExtent = function(_) {\n return arguments.length ? (scaleExtent[0] = +_[0], scaleExtent[1] = +_[1], zoom) : [scaleExtent[0], scaleExtent[1]];\n };\n\n zoom.translateExtent = function(_) {\n return arguments.length ? (translateExtent[0][0] = +_[0][0], translateExtent[1][0] = +_[1][0], translateExtent[0][1] = +_[0][1], translateExtent[1][1] = +_[1][1], zoom) : [[translateExtent[0][0], translateExtent[0][1]], [translateExtent[1][0], translateExtent[1][1]]];\n };\n\n zoom.constrain = function(_) {\n return arguments.length ? (constrain = _, zoom) : constrain;\n };\n\n zoom.duration = function(_) {\n return arguments.length ? (duration = +_, zoom) : duration;\n };\n\n zoom.interpolate = function(_) {\n return arguments.length ? (interpolate = _, zoom) : interpolate;\n };\n\n zoom.on = function() {\n var value = listeners.on.apply(listeners, arguments);\n return value === listeners ? zoom : value;\n };\n\n zoom.clickDistance = function(_) {\n return arguments.length ? (clickDistance2 = (_ = +_) * _, zoom) : Math.sqrt(clickDistance2);\n };\n\n return zoom;\n}\n","export {default as zoom} from \"./src/zoom\";\nexport {default as zoomTransform, identity as zoomIdentity} from \"./src/transform\";\n","export {version} from \"./dist/package\";\nexport * from \"d3-array\";\nexport * from \"d3-axis\";\nexport * from \"d3-brush\";\nexport * from \"d3-chord\";\nexport * from \"d3-collection\";\nexport * from \"d3-color\";\nexport * from \"d3-contour\";\nexport * from \"d3-dispatch\";\nexport * from \"d3-drag\";\nexport * from \"d3-dsv\";\nexport * from \"d3-ease\";\nexport * from \"d3-fetch\";\nexport * from \"d3-force\";\nexport * from \"d3-format\";\nexport * from \"d3-geo\";\nexport * from \"d3-hierarchy\";\nexport * from \"d3-interpolate\";\nexport * from \"d3-path\";\nexport * from \"d3-polygon\";\nexport * from \"d3-quadtree\";\nexport * from \"d3-random\";\nexport * from \"d3-scale\";\nexport * from \"d3-scale-chromatic\";\nexport * from \"d3-selection\";\nexport * from \"d3-shape\";\nexport * from \"d3-time\";\nexport * from \"d3-time-format\";\nexport * from \"d3-timer\";\nexport * from \"d3-transition\";\nexport * from \"d3-voronoi\";\nexport * from \"d3-zoom\";\n","export function prettyNumber(input) {\n // If it has 3 or fewer sig figs already, just return the number.\n var input = Number(input),\n sciNo = input.toPrecision(3),\n prefix = '',\n suffixes = ['', 'k', 'M', 'B', 'T'];\n\n if (Number(sciNo) == input && String(input).length <= 4) {\n return String(input);\n }\n\n if (Math.abs(input) >= 1000000000000000) {\n return sciNo;\n }\n\n if (input >= 1 || input <= -1) {\n if (input < 0){\n //Pull off the negative side and stash that.\n input = -input;\n prefix = '-';\n }\n return prefix + recurse(input, 0);\n }\n else {\n return input.toPrecision(3);\n }\n\n function recurse(input, iteration) {\n var input = String(input);\n var split = input.split('.');\n // If there's a dot\n if (split.length > 1) {\n // Keep the left hand side only\n input = split[0];\n var rhs = split[1];\n // If the left-hand side is too short, pad until it has 3 digits\n if (input.length == 2 && rhs.length > 0) {\n // Pad with right-hand side if possible\n if (rhs.length > 0) {\n input = input + '.' + rhs.charAt(0);\n }\n // Pad with zeroes if you must\n else {\n input += '0';\n }\n }\n else if (input.length == 1 && rhs.length > 0) {\n input = input + '.' + rhs.charAt(0);\n // Pad with right-hand side if possible\n if (rhs.length > 1) {\n input += rhs.charAt(1);\n }\n // Pad with zeroes if you must\n else {\n input += '0';\n }\n }\n }\n var numNumerals = input.length;\n // if it has a period, then numNumerals is 1 smaller than the string length:\n if (input.split('.').length > 1) {\n numNumerals--;\n }\n if (numNumerals <= 3) {\n return String(input) + suffixes[iteration];\n }\n else {\n return recurse(Number(input) / 1000, iteration + 1);\n }\n }\n}\n","const matchHtmlRegExp = /[\"'&<>]/;\n\n/**\n * Escape special characters in the given string of html.\n *\n * @param {string} string The string to escape for inserting into HTML\n * @return {string}\n * @public\n */\n\nexport function escapeHtml(string) {\n var str = '' + string;\n var match = matchHtmlRegExp.exec(str);\n\n if (!match) {\n return str;\n }\n\n var escape;\n var html = '';\n var index = 0;\n var lastIndex = 0;\n\n for (index = match.index; index < str.length; index++) {\n switch (str.charCodeAt(index)) {\n case 34: // \"\n escape = '"';\n break;\n case 38: // &\n escape = '&';\n break;\n case 39: // '\n escape = ''';\n break;\n case 60: // <\n escape = '<';\n break;\n case 62: // >\n escape = '>';\n break;\n default:\n continue;\n }\n\n if (lastIndex !== index) {\n html += str.substring(lastIndex, index);\n }\n\n lastIndex = index + 1;\n html += escape;\n }\n\n return lastIndex !== index\n ? html + str.substring(lastIndex, index)\n : html;\n}\n","import * as d3 from 'd3';\n\nexport function textWrap(text, width) {\n text.each(function () {\n let text = d3.select(this),\n words = text.text().split(/\\s+/).reverse(),\n word,\n line = [],\n lineNumber = 0,\n lineHeight = 1.1, // ems\n x = text.attr(\"x\"),\n y = text.attr(\"y\"),\n dy = 0, //parseFloat(text.attr(\"dy\")),\n tspan = text.text(null)\n .append(\"tspan\")\n .attr(\"x\", x)\n .attr(\"y\", y)\n .attr(\"dy\", dy + \"em\");\n while (word = words.pop()) {\n line.push(word);\n tspan.text(line.join(\" \"));\n if (tspan.node().getComputedTextLength() > width) {\n line.pop();\n tspan.text(line.join(\" \"));\n line = [word];\n tspan = text.append(\"tspan\")\n .attr(\"x\", x)\n .attr(\"y\", y)\n .attr(\"dy\", ++lineNumber * lineHeight + dy + \"em\")\n .text(word);\n }\n }\n });\n}\n","export function extend(target) {\n for (var i = 1; i < arguments.length; i++) {\n for (var prop in arguments[i]){\n target[prop] = arguments[i][prop];\n }\n }\n return target;\n}\n","export function testObject(input) {\n if (input !== null && typeof input.getTime === 'function' && !isNaN(input.getTime())) {\n return true;\n }\n return false;\n}\n\nexport function testString(input) {\n const ISO_8601 = /^\\d{4}-\\d\\d-\\d\\dT\\d\\d:\\d\\d:\\d\\d(\\.\\d+)?(([+-]\\d\\d:\\d\\d)|Z)?$/i;\n return ISO_8601.test(input);\n}\n\nexport default function (input) {\n if (typeof input === 'object') {\n return testObject(input);\n } else if (typeof input === 'string') {\n return testString(input);\n }\n return false;\n}\n","/**\n * Strip html tags from string\n *\n * @param {string} string The string to strip\n * @return {string}\n * @public\n */\n\nexport function stripHtmlTags(inputString) {\n return inputString.replace(/(<([^>]+)>)/ig, '');\n}\n","export default function (len) {\n const list = [];\n for (let i = 0; i < len; i++) {\n list.push(null);\n }\n return list;\n}\n","import createNullList from '../utils/create-null-list';\nimport { each } from '../../utils/each';\n\nexport function appendColumn(str, input) {\n const self = this;\n const args = Array.prototype.slice.call(arguments, 2);\n const label = (str !== undefined) ? str : null;\n\n if (typeof input === 'function') {\n self.matrix[0].push(label);\n each(self.matrix, function(row, i) {\n let cell;\n if (i > 0) {\n cell = input.call(self, row, i);\n if (typeof cell === 'undefined') {\n cell = null;\n }\n self.matrix[i].push(cell);\n }\n });\n }\n\n else if (!input || input instanceof Array) {\n input = input || [];\n\n if (input.length <= self.matrix.length - 1) {\n input = input.concat(createNullList(self.matrix.length - 1 - input.length));\n }\n else {\n // If this new column is longer than existing columns,\n // we need to update the rest to match ...\n each(input, function(value, i){\n if (self.matrix.length -1 < input.length) {\n appendRow.call(self, String(self.matrix.length));\n }\n });\n }\n\n self.matrix[0].push(label);\n each(input, function(value, i){\n self.matrix[i+1][self.matrix[0].length-1] = value;\n });\n\n }\n\n return self;\n}\n\nexport function appendRow(str, input) {\n const self = this;\n const args = Array.prototype.slice.call(arguments, 2);\n const label = (str !== undefined) ? str : null;\n const newRow = [];\n\n newRow.push(label);\n\n if (typeof input === 'function') {\n each(self.matrix[0], function(label, i){\n let col;\n let cell;\n if (i > 0) {\n col = self.selectColumn(i);\n cell = input.call(self, col, i);\n if (typeof cell === 'undefined') {\n cell = null;\n }\n newRow.push(cell);\n }\n });\n self.matrix.push(newRow);\n }\n\n else if (!input || input instanceof Array) {\n input = input || [];\n\n if (input.length <= self.matrix[0].length - 1) {\n input = input.concat( createNullList( self.matrix[0].length - 1 - input.length ) );\n }\n else {\n each(input, function(value, i){\n if (self.matrix[0].length -1 < input.length) {\n appendColumn.call(self, String( self.matrix[0].length));\n }\n });\n }\n\n self.matrix.push(newRow.concat(input));\n }\n\n return self;\n}\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var zhTw = moment.defineLocale('zh-tw', {\n months : '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'),\n monthsShort : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n weekdays : '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n weekdaysShort : '週日_週一_週二_週三_週四_週五_週六'.split('_'),\n weekdaysMin : '日_一_二_三_四_五_六'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY/MM/DD',\n LL : 'YYYY年M月D日',\n LLL : 'YYYY年M月D日 HH:mm',\n LLLL : 'YYYY年M月D日dddd HH:mm',\n l : 'YYYY/M/D',\n ll : 'YYYY年M月D日',\n lll : 'YYYY年M月D日 HH:mm',\n llll : 'YYYY年M月D日dddd HH:mm'\n },\n meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n return hour;\n } else if (meridiem === '中午') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === '下午' || meridiem === '晚上') {\n return hour + 12;\n }\n },\n meridiem : function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n if (hm < 600) {\n return '凌晨';\n } else if (hm < 900) {\n return '早上';\n } else if (hm < 1130) {\n return '上午';\n } else if (hm < 1230) {\n return '中午';\n } else if (hm < 1800) {\n return '下午';\n } else {\n return '晚上';\n }\n },\n calendar : {\n sameDay : '[今天] LT',\n nextDay : '[明天] LT',\n nextWeek : '[下]dddd LT',\n lastDay : '[昨天] LT',\n lastWeek : '[上]dddd LT',\n sameElse : 'L'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(日|月|週)/,\n ordinal : function (number, period) {\n switch (period) {\n case 'd' :\n case 'D' :\n case 'DDD' :\n return number + '日';\n case 'M' :\n return number + '月';\n case 'w' :\n case 'W' :\n return number + '週';\n default :\n return number;\n }\n },\n relativeTime : {\n future : '%s內',\n past : '%s前',\n s : '幾秒',\n ss : '%d 秒',\n m : '1 分鐘',\n mm : '%d 分鐘',\n h : '1 小時',\n hh : '%d 小時',\n d : '1 天',\n dd : '%d 天',\n M : '1 個月',\n MM : '%d 個月',\n y : '1 年',\n yy : '%d 年'\n }\n });\n\n return zhTw;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var zhHk = moment.defineLocale('zh-hk', {\n months : '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'),\n monthsShort : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n weekdays : '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n weekdaysShort : '週日_週一_週二_週三_週四_週五_週六'.split('_'),\n weekdaysMin : '日_一_二_三_四_五_六'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY/MM/DD',\n LL : 'YYYY年M月D日',\n LLL : 'YYYY年M月D日 HH:mm',\n LLLL : 'YYYY年M月D日dddd HH:mm',\n l : 'YYYY/M/D',\n ll : 'YYYY年M月D日',\n lll : 'YYYY年M月D日 HH:mm',\n llll : 'YYYY年M月D日dddd HH:mm'\n },\n meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n return hour;\n } else if (meridiem === '中午') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === '下午' || meridiem === '晚上') {\n return hour + 12;\n }\n },\n meridiem : function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n if (hm < 600) {\n return '凌晨';\n } else if (hm < 900) {\n return '早上';\n } else if (hm < 1130) {\n return '上午';\n } else if (hm < 1230) {\n return '中午';\n } else if (hm < 1800) {\n return '下午';\n } else {\n return '晚上';\n }\n },\n calendar : {\n sameDay : '[今天]LT',\n nextDay : '[明天]LT',\n nextWeek : '[下]ddddLT',\n lastDay : '[昨天]LT',\n lastWeek : '[上]ddddLT',\n sameElse : 'L'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(日|月|週)/,\n ordinal : function (number, period) {\n switch (period) {\n case 'd' :\n case 'D' :\n case 'DDD' :\n return number + '日';\n case 'M' :\n return number + '月';\n case 'w' :\n case 'W' :\n return number + '週';\n default :\n return number;\n }\n },\n relativeTime : {\n future : '%s內',\n past : '%s前',\n s : '幾秒',\n ss : '%d 秒',\n m : '1 分鐘',\n mm : '%d 分鐘',\n h : '1 小時',\n hh : '%d 小時',\n d : '1 天',\n dd : '%d 天',\n M : '1 個月',\n MM : '%d 個月',\n y : '1 年',\n yy : '%d 年'\n }\n });\n\n return zhHk;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var zhCn = moment.defineLocale('zh-cn', {\n months : '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'),\n monthsShort : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n weekdays : '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n weekdaysShort : '周日_周一_周二_周三_周四_周五_周六'.split('_'),\n weekdaysMin : '日_一_二_三_四_五_六'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY/MM/DD',\n LL : 'YYYY年M月D日',\n LLL : 'YYYY年M月D日Ah点mm分',\n LLLL : 'YYYY年M月D日ddddAh点mm分',\n l : 'YYYY/M/D',\n ll : 'YYYY年M月D日',\n lll : 'YYYY年M月D日 HH:mm',\n llll : 'YYYY年M月D日dddd HH:mm'\n },\n meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === '凌晨' || meridiem === '早上' ||\n meridiem === '上午') {\n return hour;\n } else if (meridiem === '下午' || meridiem === '晚上') {\n return hour + 12;\n } else {\n // '中午'\n return hour >= 11 ? hour : hour + 12;\n }\n },\n meridiem : function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n if (hm < 600) {\n return '凌晨';\n } else if (hm < 900) {\n return '早上';\n } else if (hm < 1130) {\n return '上午';\n } else if (hm < 1230) {\n return '中午';\n } else if (hm < 1800) {\n return '下午';\n } else {\n return '晚上';\n }\n },\n calendar : {\n sameDay : '[今天]LT',\n nextDay : '[明天]LT',\n nextWeek : '[下]ddddLT',\n lastDay : '[昨天]LT',\n lastWeek : '[上]ddddLT',\n sameElse : 'L'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(日|月|周)/,\n ordinal : function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '日';\n case 'M':\n return number + '月';\n case 'w':\n case 'W':\n return number + '周';\n default:\n return number;\n }\n },\n relativeTime : {\n future : '%s内',\n past : '%s前',\n s : '几秒',\n ss : '%d 秒',\n m : '1 分钟',\n mm : '%d 分钟',\n h : '1 小时',\n hh : '%d 小时',\n d : '1 天',\n dd : '%d 天',\n M : '1 个月',\n MM : '%d 个月',\n y : '1 年',\n yy : '%d 年'\n },\n week : {\n // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return zhCn;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var yo = moment.defineLocale('yo', {\n months : 'Sẹ́rẹ́_Èrèlè_Ẹrẹ̀nà_Ìgbé_Èbibi_Òkùdu_Agẹmo_Ògún_Owewe_Ọ̀wàrà_Bélú_Ọ̀pẹ̀̀'.split('_'),\n monthsShort : 'Sẹ́r_Èrl_Ẹrn_Ìgb_Èbi_Òkù_Agẹ_Ògú_Owe_Ọ̀wà_Bél_Ọ̀pẹ̀̀'.split('_'),\n weekdays : 'Àìkú_Ajé_Ìsẹ́gun_Ọjọ́rú_Ọjọ́bọ_Ẹtì_Àbámẹ́ta'.split('_'),\n weekdaysShort : 'Àìk_Ajé_Ìsẹ́_Ọjr_Ọjb_Ẹtì_Àbá'.split('_'),\n weekdaysMin : 'Àì_Aj_Ìs_Ọr_Ọb_Ẹt_Àb'.split('_'),\n longDateFormat : {\n LT : 'h:mm A',\n LTS : 'h:mm:ss A',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY h:mm A',\n LLLL : 'dddd, D MMMM YYYY h:mm A'\n },\n calendar : {\n sameDay : '[Ònì ni] LT',\n nextDay : '[Ọ̀la ni] LT',\n nextWeek : 'dddd [Ọsẹ̀ tón\\'bọ] [ni] LT',\n lastDay : '[Àna ni] LT',\n lastWeek : 'dddd [Ọsẹ̀ tólọ́] [ni] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'ní %s',\n past : '%s kọjá',\n s : 'ìsẹjú aayá die',\n ss :'aayá %d',\n m : 'ìsẹjú kan',\n mm : 'ìsẹjú %d',\n h : 'wákati kan',\n hh : 'wákati %d',\n d : 'ọjọ́ kan',\n dd : 'ọjọ́ %d',\n M : 'osù kan',\n MM : 'osù %d',\n y : 'ọdún kan',\n yy : 'ọdún %d'\n },\n dayOfMonthOrdinalParse : /ọjọ́\\s\\d{1,2}/,\n ordinal : 'ọjọ́ %d',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return yo;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var xPseudo = moment.defineLocale('x-pseudo', {\n months : 'J~áñúá~rý_F~ébrú~árý_~Márc~h_Áp~ríl_~Máý_~Júñé~_Júl~ý_Áú~gúst~_Sép~témb~ér_Ó~ctób~ér_Ñ~óvém~bér_~Décé~mbér'.split('_'),\n monthsShort : 'J~áñ_~Féb_~Már_~Ápr_~Máý_~Júñ_~Júl_~Áúg_~Sép_~Óct_~Ñóv_~Déc'.split('_'),\n monthsParseExact : true,\n weekdays : 'S~úñdá~ý_Mó~ñdáý~_Túé~sdáý~_Wéd~ñésd~áý_T~húrs~dáý_~Fríd~áý_S~átúr~dáý'.split('_'),\n weekdaysShort : 'S~úñ_~Móñ_~Túé_~Wéd_~Thú_~Frí_~Sát'.split('_'),\n weekdaysMin : 'S~ú_Mó~_Tú_~Wé_T~h_Fr~_Sá'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[T~ódá~ý át] LT',\n nextDay : '[T~ómó~rró~w át] LT',\n nextWeek : 'dddd [át] LT',\n lastDay : '[Ý~ést~érdá~ý át] LT',\n lastWeek : '[L~ást] dddd [át] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'í~ñ %s',\n past : '%s á~gó',\n s : 'á ~féw ~sécó~ñds',\n ss : '%d s~écóñ~ds',\n m : 'á ~míñ~úté',\n mm : '%d m~íñú~tés',\n h : 'á~ñ hó~úr',\n hh : '%d h~óúrs',\n d : 'á ~dáý',\n dd : '%d d~áýs',\n M : 'á ~móñ~th',\n MM : '%d m~óñt~hs',\n y : 'á ~ýéár',\n yy : '%d ý~éárs'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(th|st|nd|rd)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return xPseudo;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var vi = moment.defineLocale('vi', {\n months : 'tháng 1_tháng 2_tháng 3_tháng 4_tháng 5_tháng 6_tháng 7_tháng 8_tháng 9_tháng 10_tháng 11_tháng 12'.split('_'),\n monthsShort : 'Th01_Th02_Th03_Th04_Th05_Th06_Th07_Th08_Th09_Th10_Th11_Th12'.split('_'),\n monthsParseExact : true,\n weekdays : 'chủ nhật_thứ hai_thứ ba_thứ tư_thứ năm_thứ sáu_thứ bảy'.split('_'),\n weekdaysShort : 'CN_T2_T3_T4_T5_T6_T7'.split('_'),\n weekdaysMin : 'CN_T2_T3_T4_T5_T6_T7'.split('_'),\n weekdaysParseExact : true,\n meridiemParse: /sa|ch/i,\n isPM : function (input) {\n return /^ch$/i.test(input);\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours < 12) {\n return isLower ? 'sa' : 'SA';\n } else {\n return isLower ? 'ch' : 'CH';\n }\n },\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM [năm] YYYY',\n LLL : 'D MMMM [năm] YYYY HH:mm',\n LLLL : 'dddd, D MMMM [năm] YYYY HH:mm',\n l : 'DD/M/YYYY',\n ll : 'D MMM YYYY',\n lll : 'D MMM YYYY HH:mm',\n llll : 'ddd, D MMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[Hôm nay lúc] LT',\n nextDay: '[Ngày mai lúc] LT',\n nextWeek: 'dddd [tuần tới lúc] LT',\n lastDay: '[Hôm qua lúc] LT',\n lastWeek: 'dddd [tuần rồi lúc] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : '%s tới',\n past : '%s trước',\n s : 'vài giây',\n ss : '%d giây' ,\n m : 'một phút',\n mm : '%d phút',\n h : 'một giờ',\n hh : '%d giờ',\n d : 'một ngày',\n dd : '%d ngày',\n M : 'một tháng',\n MM : '%d tháng',\n y : 'một năm',\n yy : '%d năm'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}/,\n ordinal : function (number) {\n return number;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return vi;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var uzLatn = moment.defineLocale('uz-latn', {\n months : 'Yanvar_Fevral_Mart_Aprel_May_Iyun_Iyul_Avgust_Sentabr_Oktabr_Noyabr_Dekabr'.split('_'),\n monthsShort : 'Yan_Fev_Mar_Apr_May_Iyun_Iyul_Avg_Sen_Okt_Noy_Dek'.split('_'),\n weekdays : 'Yakshanba_Dushanba_Seshanba_Chorshanba_Payshanba_Juma_Shanba'.split('_'),\n weekdaysShort : 'Yak_Dush_Sesh_Chor_Pay_Jum_Shan'.split('_'),\n weekdaysMin : 'Ya_Du_Se_Cho_Pa_Ju_Sha'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'D MMMM YYYY, dddd HH:mm'\n },\n calendar : {\n sameDay : '[Bugun soat] LT [da]',\n nextDay : '[Ertaga] LT [da]',\n nextWeek : 'dddd [kuni soat] LT [da]',\n lastDay : '[Kecha soat] LT [da]',\n lastWeek : '[O\\'tgan] dddd [kuni soat] LT [da]',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'Yaqin %s ichida',\n past : 'Bir necha %s oldin',\n s : 'soniya',\n ss : '%d soniya',\n m : 'bir daqiqa',\n mm : '%d daqiqa',\n h : 'bir soat',\n hh : '%d soat',\n d : 'bir kun',\n dd : '%d kun',\n M : 'bir oy',\n MM : '%d oy',\n y : 'bir yil',\n yy : '%d yil'\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return uzLatn;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var uz = moment.defineLocale('uz', {\n months : 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split('_'),\n monthsShort : 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'),\n weekdays : 'Якшанба_Душанба_Сешанба_Чоршанба_Пайшанба_Жума_Шанба'.split('_'),\n weekdaysShort : 'Якш_Душ_Сеш_Чор_Пай_Жум_Шан'.split('_'),\n weekdaysMin : 'Як_Ду_Се_Чо_Па_Жу_Ша'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'D MMMM YYYY, dddd HH:mm'\n },\n calendar : {\n sameDay : '[Бугун соат] LT [да]',\n nextDay : '[Эртага] LT [да]',\n nextWeek : 'dddd [куни соат] LT [да]',\n lastDay : '[Кеча соат] LT [да]',\n lastWeek : '[Утган] dddd [куни соат] LT [да]',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'Якин %s ичида',\n past : 'Бир неча %s олдин',\n s : 'фурсат',\n ss : '%d фурсат',\n m : 'бир дакика',\n mm : '%d дакика',\n h : 'бир соат',\n hh : '%d соат',\n d : 'бир кун',\n dd : '%d кун',\n M : 'бир ой',\n MM : '%d ой',\n y : 'бир йил',\n yy : '%d йил'\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return uz;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var months = [\n 'جنوری',\n 'فروری',\n 'مارچ',\n 'اپریل',\n 'مئی',\n 'جون',\n 'جولائی',\n 'اگست',\n 'ستمبر',\n 'اکتوبر',\n 'نومبر',\n 'دسمبر'\n ];\n var days = [\n 'اتوار',\n 'پیر',\n 'منگل',\n 'بدھ',\n 'جمعرات',\n 'جمعہ',\n 'ہفتہ'\n ];\n\n var ur = moment.defineLocale('ur', {\n months : months,\n monthsShort : months,\n weekdays : days,\n weekdaysShort : days,\n weekdaysMin : days,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd، D MMMM YYYY HH:mm'\n },\n meridiemParse: /صبح|شام/,\n isPM : function (input) {\n return 'شام' === input;\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'صبح';\n }\n return 'شام';\n },\n calendar : {\n sameDay : '[آج بوقت] LT',\n nextDay : '[کل بوقت] LT',\n nextWeek : 'dddd [بوقت] LT',\n lastDay : '[گذشتہ روز بوقت] LT',\n lastWeek : '[گذشتہ] dddd [بوقت] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s بعد',\n past : '%s قبل',\n s : 'چند سیکنڈ',\n ss : '%d سیکنڈ',\n m : 'ایک منٹ',\n mm : '%d منٹ',\n h : 'ایک گھنٹہ',\n hh : '%d گھنٹے',\n d : 'ایک دن',\n dd : '%d دن',\n M : 'ایک ماہ',\n MM : '%d ماہ',\n y : 'ایک سال',\n yy : '%d سال'\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/,/g, '،');\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return ur;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function plural(word, num) {\n var forms = word.split('_');\n return num % 10 === 1 && num % 100 !== 11 ? forms[0] : (num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) ? forms[1] : forms[2]);\n }\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n var format = {\n 'ss': withoutSuffix ? 'секунда_секунди_секунд' : 'секунду_секунди_секунд',\n 'mm': withoutSuffix ? 'хвилина_хвилини_хвилин' : 'хвилину_хвилини_хвилин',\n 'hh': withoutSuffix ? 'година_години_годин' : 'годину_години_годин',\n 'dd': 'день_дні_днів',\n 'MM': 'місяць_місяці_місяців',\n 'yy': 'рік_роки_років'\n };\n if (key === 'm') {\n return withoutSuffix ? 'хвилина' : 'хвилину';\n }\n else if (key === 'h') {\n return withoutSuffix ? 'година' : 'годину';\n }\n else {\n return number + ' ' + plural(format[key], +number);\n }\n }\n function weekdaysCaseReplace(m, format) {\n var weekdays = {\n 'nominative': 'неділя_понеділок_вівторок_середа_четвер_п’ятниця_субота'.split('_'),\n 'accusative': 'неділю_понеділок_вівторок_середу_четвер_п’ятницю_суботу'.split('_'),\n 'genitive': 'неділі_понеділка_вівторка_середи_четверга_п’ятниці_суботи'.split('_')\n };\n\n if (!m) {\n return weekdays['nominative'];\n }\n\n var nounCase = (/(\\[[ВвУу]\\]) ?dddd/).test(format) ?\n 'accusative' :\n ((/\\[?(?:минулої|наступної)? ?\\] ?dddd/).test(format) ?\n 'genitive' :\n 'nominative');\n return weekdays[nounCase][m.day()];\n }\n function processHoursFunction(str) {\n return function () {\n return str + 'о' + (this.hours() === 11 ? 'б' : '') + '] LT';\n };\n }\n\n var uk = moment.defineLocale('uk', {\n months : {\n 'format': 'січня_лютого_березня_квітня_травня_червня_липня_серпня_вересня_жовтня_листопада_грудня'.split('_'),\n 'standalone': 'січень_лютий_березень_квітень_травень_червень_липень_серпень_вересень_жовтень_листопад_грудень'.split('_')\n },\n monthsShort : 'січ_лют_бер_квіт_трав_черв_лип_серп_вер_жовт_лист_груд'.split('_'),\n weekdays : weekdaysCaseReplace,\n weekdaysShort : 'нд_пн_вт_ср_чт_пт_сб'.split('_'),\n weekdaysMin : 'нд_пн_вт_ср_чт_пт_сб'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY р.',\n LLL : 'D MMMM YYYY р., HH:mm',\n LLLL : 'dddd, D MMMM YYYY р., HH:mm'\n },\n calendar : {\n sameDay: processHoursFunction('[Сьогодні '),\n nextDay: processHoursFunction('[Завтра '),\n lastDay: processHoursFunction('[Вчора '),\n nextWeek: processHoursFunction('[У] dddd ['),\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n case 3:\n case 5:\n case 6:\n return processHoursFunction('[Минулої] dddd [').call(this);\n case 1:\n case 2:\n case 4:\n return processHoursFunction('[Минулого] dddd [').call(this);\n }\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : 'за %s',\n past : '%s тому',\n s : 'декілька секунд',\n ss : relativeTimeWithPlural,\n m : relativeTimeWithPlural,\n mm : relativeTimeWithPlural,\n h : 'годину',\n hh : relativeTimeWithPlural,\n d : 'день',\n dd : relativeTimeWithPlural,\n M : 'місяць',\n MM : relativeTimeWithPlural,\n y : 'рік',\n yy : relativeTimeWithPlural\n },\n // M. E.: those two are virtually unused but a user might want to implement them for his/her website for some reason\n meridiemParse: /ночі|ранку|дня|вечора/,\n isPM: function (input) {\n return /^(дня|вечора)$/.test(input);\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ночі';\n } else if (hour < 12) {\n return 'ранку';\n } else if (hour < 17) {\n return 'дня';\n } else {\n return 'вечора';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(й|го)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'M':\n case 'd':\n case 'DDD':\n case 'w':\n case 'W':\n return number + '-й';\n case 'D':\n return number + '-го';\n default:\n return number;\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return uk;\n\n})));\n","//! moment.js language configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var ugCn = moment.defineLocale('ug-cn', {\n months: 'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.split(\n '_'\n ),\n monthsShort: 'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.split(\n '_'\n ),\n weekdays: 'يەكشەنبە_دۈشەنبە_سەيشەنبە_چارشەنبە_پەيشەنبە_جۈمە_شەنبە'.split(\n '_'\n ),\n weekdaysShort: 'يە_دۈ_سە_چا_پە_جۈ_شە'.split('_'),\n weekdaysMin: 'يە_دۈ_سە_چا_پە_جۈ_شە'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: 'YYYY-يىلىM-ئاينىڭD-كۈنى',\n LLL: 'YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm',\n LLLL: 'dddd، YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm'\n },\n meridiemParse: /يېرىم كېچە|سەھەر|چۈشتىن بۇرۇن|چۈش|چۈشتىن كېيىن|كەچ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (\n meridiem === 'يېرىم كېچە' ||\n meridiem === 'سەھەر' ||\n meridiem === 'چۈشتىن بۇرۇن'\n ) {\n return hour;\n } else if (meridiem === 'چۈشتىن كېيىن' || meridiem === 'كەچ') {\n return hour + 12;\n } else {\n return hour >= 11 ? hour : hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n if (hm < 600) {\n return 'يېرىم كېچە';\n } else if (hm < 900) {\n return 'سەھەر';\n } else if (hm < 1130) {\n return 'چۈشتىن بۇرۇن';\n } else if (hm < 1230) {\n return 'چۈش';\n } else if (hm < 1800) {\n return 'چۈشتىن كېيىن';\n } else {\n return 'كەچ';\n }\n },\n calendar: {\n sameDay: '[بۈگۈن سائەت] LT',\n nextDay: '[ئەتە سائەت] LT',\n nextWeek: '[كېلەركى] dddd [سائەت] LT',\n lastDay: '[تۆنۈگۈن] LT',\n lastWeek: '[ئالدىنقى] dddd [سائەت] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s كېيىن',\n past: '%s بۇرۇن',\n s: 'نەچچە سېكونت',\n ss: '%d سېكونت',\n m: 'بىر مىنۇت',\n mm: '%d مىنۇت',\n h: 'بىر سائەت',\n hh: '%d سائەت',\n d: 'بىر كۈن',\n dd: '%d كۈن',\n M: 'بىر ئاي',\n MM: '%d ئاي',\n y: 'بىر يىل',\n yy: '%d يىل'\n },\n\n dayOfMonthOrdinalParse: /\\d{1,2}(-كۈنى|-ئاي|-ھەپتە)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '-كۈنى';\n case 'w':\n case 'W':\n return number + '-ھەپتە';\n default:\n return number;\n }\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/,/g, '،');\n },\n week: {\n // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效\n dow: 1, // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return ugCn;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var tzmLatn = moment.defineLocale('tzm-latn', {\n months : 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split('_'),\n monthsShort : 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split('_'),\n weekdays : 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),\n weekdaysShort : 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),\n weekdaysMin : 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[asdkh g] LT',\n nextDay: '[aska g] LT',\n nextWeek: 'dddd [g] LT',\n lastDay: '[assant g] LT',\n lastWeek: 'dddd [g] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'dadkh s yan %s',\n past : 'yan %s',\n s : 'imik',\n ss : '%d imik',\n m : 'minuḍ',\n mm : '%d minuḍ',\n h : 'saɛa',\n hh : '%d tassaɛin',\n d : 'ass',\n dd : '%d ossan',\n M : 'ayowr',\n MM : '%d iyyirn',\n y : 'asgas',\n yy : '%d isgasn'\n },\n week : {\n dow : 6, // Saturday is the first day of the week.\n doy : 12 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return tzmLatn;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var tzm = moment.defineLocale('tzm', {\n months : 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split('_'),\n monthsShort : 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split('_'),\n weekdays : 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),\n weekdaysShort : 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),\n weekdaysMin : 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS: 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[ⴰⵙⴷⵅ ⴴ] LT',\n nextDay: '[ⴰⵙⴽⴰ ⴴ] LT',\n nextWeek: 'dddd [ⴴ] LT',\n lastDay: '[ⴰⵚⴰⵏⵜ ⴴ] LT',\n lastWeek: 'dddd [ⴴ] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'ⴷⴰⴷⵅ ⵙ ⵢⴰⵏ %s',\n past : 'ⵢⴰⵏ %s',\n s : 'ⵉⵎⵉⴽ',\n ss : '%d ⵉⵎⵉⴽ',\n m : 'ⵎⵉⵏⵓⴺ',\n mm : '%d ⵎⵉⵏⵓⴺ',\n h : 'ⵙⴰⵄⴰ',\n hh : '%d ⵜⴰⵙⵙⴰⵄⵉⵏ',\n d : 'ⴰⵙⵙ',\n dd : '%d oⵙⵙⴰⵏ',\n M : 'ⴰⵢoⵓⵔ',\n MM : '%d ⵉⵢⵢⵉⵔⵏ',\n y : 'ⴰⵙⴳⴰⵙ',\n yy : '%d ⵉⵙⴳⴰⵙⵏ'\n },\n week : {\n dow : 6, // Saturday is the first day of the week.\n doy : 12 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return tzm;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n // After the year there should be a slash and the amount of years since December 26, 1979 in Roman numerals.\n // This is currently too difficult (maybe even impossible) to add.\n var tzl = moment.defineLocale('tzl', {\n months : 'Januar_Fevraglh_Març_Avrïu_Mai_Gün_Julia_Guscht_Setemvar_Listopäts_Noemvar_Zecemvar'.split('_'),\n monthsShort : 'Jan_Fev_Mar_Avr_Mai_Gün_Jul_Gus_Set_Lis_Noe_Zec'.split('_'),\n weekdays : 'Súladi_Lúneçi_Maitzi_Márcuri_Xhúadi_Viénerçi_Sáturi'.split('_'),\n weekdaysShort : 'Súl_Lún_Mai_Már_Xhú_Vié_Sát'.split('_'),\n weekdaysMin : 'Sú_Lú_Ma_Má_Xh_Vi_Sá'.split('_'),\n longDateFormat : {\n LT : 'HH.mm',\n LTS : 'HH.mm.ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM [dallas] YYYY',\n LLL : 'D. MMMM [dallas] YYYY HH.mm',\n LLLL : 'dddd, [li] D. MMMM [dallas] YYYY HH.mm'\n },\n meridiemParse: /d\\'o|d\\'a/i,\n isPM : function (input) {\n return 'd\\'o' === input.toLowerCase();\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'd\\'o' : 'D\\'O';\n } else {\n return isLower ? 'd\\'a' : 'D\\'A';\n }\n },\n calendar : {\n sameDay : '[oxhi à] LT',\n nextDay : '[demà à] LT',\n nextWeek : 'dddd [à] LT',\n lastDay : '[ieiri à] LT',\n lastWeek : '[sür el] dddd [lasteu à] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'osprei %s',\n past : 'ja%s',\n s : processRelativeTime,\n ss : processRelativeTime,\n m : processRelativeTime,\n mm : processRelativeTime,\n h : processRelativeTime,\n hh : processRelativeTime,\n d : processRelativeTime,\n dd : processRelativeTime,\n M : processRelativeTime,\n MM : processRelativeTime,\n y : processRelativeTime,\n yy : processRelativeTime\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n 's': ['viensas secunds', '\\'iensas secunds'],\n 'ss': [number + ' secunds', '' + number + ' secunds'],\n 'm': ['\\'n míut', '\\'iens míut'],\n 'mm': [number + ' míuts', '' + number + ' míuts'],\n 'h': ['\\'n þora', '\\'iensa þora'],\n 'hh': [number + ' þoras', '' + number + ' þoras'],\n 'd': ['\\'n ziua', '\\'iensa ziua'],\n 'dd': [number + ' ziuas', '' + number + ' ziuas'],\n 'M': ['\\'n mes', '\\'iens mes'],\n 'MM': [number + ' mesen', '' + number + ' mesen'],\n 'y': ['\\'n ar', '\\'iens ar'],\n 'yy': [number + ' ars', '' + number + ' ars']\n };\n return isFuture ? format[key][0] : (withoutSuffix ? format[key][0] : format[key][1]);\n }\n\n return tzl;\n\n})));\n","\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n var suffixes = {\n 1: '\\'inci',\n 5: '\\'inci',\n 8: '\\'inci',\n 70: '\\'inci',\n 80: '\\'inci',\n 2: '\\'nci',\n 7: '\\'nci',\n 20: '\\'nci',\n 50: '\\'nci',\n 3: '\\'üncü',\n 4: '\\'üncü',\n 100: '\\'üncü',\n 6: '\\'ncı',\n 9: '\\'uncu',\n 10: '\\'uncu',\n 30: '\\'uncu',\n 60: '\\'ıncı',\n 90: '\\'ıncı'\n };\n\n var tr = moment.defineLocale('tr', {\n months : 'Ocak_Şubat_Mart_Nisan_Mayıs_Haziran_Temmuz_Ağustos_Eylül_Ekim_Kasım_Aralık'.split('_'),\n monthsShort : 'Oca_Şub_Mar_Nis_May_Haz_Tem_Ağu_Eyl_Eki_Kas_Ara'.split('_'),\n weekdays : 'Pazar_Pazartesi_Salı_Çarşamba_Perşembe_Cuma_Cumartesi'.split('_'),\n weekdaysShort : 'Paz_Pts_Sal_Çar_Per_Cum_Cts'.split('_'),\n weekdaysMin : 'Pz_Pt_Sa_Ça_Pe_Cu_Ct'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[bugün saat] LT',\n nextDay : '[yarın saat] LT',\n nextWeek : '[gelecek] dddd [saat] LT',\n lastDay : '[dün] LT',\n lastWeek : '[geçen] dddd [saat] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s sonra',\n past : '%s önce',\n s : 'birkaç saniye',\n ss : '%d saniye',\n m : 'bir dakika',\n mm : '%d dakika',\n h : 'bir saat',\n hh : '%d saat',\n d : 'bir gün',\n dd : '%d gün',\n M : 'bir ay',\n MM : '%d ay',\n y : 'bir yıl',\n yy : '%d yıl'\n },\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'Do':\n case 'DD':\n return number;\n default:\n if (number === 0) { // special case for zero\n return number + '\\'ıncı';\n }\n var a = number % 10,\n b = number % 100 - a,\n c = number >= 100 ? 100 : null;\n return number + (suffixes[a] || suffixes[b] || suffixes[c]);\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return tr;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var numbersNouns = 'pagh_wa’_cha’_wej_loS_vagh_jav_Soch_chorgh_Hut'.split('_');\n\n function translateFuture(output) {\n var time = output;\n time = (output.indexOf('jaj') !== -1) ?\n time.slice(0, -3) + 'leS' :\n (output.indexOf('jar') !== -1) ?\n time.slice(0, -3) + 'waQ' :\n (output.indexOf('DIS') !== -1) ?\n time.slice(0, -3) + 'nem' :\n time + ' pIq';\n return time;\n }\n\n function translatePast(output) {\n var time = output;\n time = (output.indexOf('jaj') !== -1) ?\n time.slice(0, -3) + 'Hu’' :\n (output.indexOf('jar') !== -1) ?\n time.slice(0, -3) + 'wen' :\n (output.indexOf('DIS') !== -1) ?\n time.slice(0, -3) + 'ben' :\n time + ' ret';\n return time;\n }\n\n function translate(number, withoutSuffix, string, isFuture) {\n var numberNoun = numberAsNoun(number);\n switch (string) {\n case 'ss':\n return numberNoun + ' lup';\n case 'mm':\n return numberNoun + ' tup';\n case 'hh':\n return numberNoun + ' rep';\n case 'dd':\n return numberNoun + ' jaj';\n case 'MM':\n return numberNoun + ' jar';\n case 'yy':\n return numberNoun + ' DIS';\n }\n }\n\n function numberAsNoun(number) {\n var hundred = Math.floor((number % 1000) / 100),\n ten = Math.floor((number % 100) / 10),\n one = number % 10,\n word = '';\n if (hundred > 0) {\n word += numbersNouns[hundred] + 'vatlh';\n }\n if (ten > 0) {\n word += ((word !== '') ? ' ' : '') + numbersNouns[ten] + 'maH';\n }\n if (one > 0) {\n word += ((word !== '') ? ' ' : '') + numbersNouns[one];\n }\n return (word === '') ? 'pagh' : word;\n }\n\n var tlh = moment.defineLocale('tlh', {\n months : 'tera’ jar wa’_tera’ jar cha’_tera’ jar wej_tera’ jar loS_tera’ jar vagh_tera’ jar jav_tera’ jar Soch_tera’ jar chorgh_tera’ jar Hut_tera’ jar wa’maH_tera’ jar wa’maH wa’_tera’ jar wa’maH cha’'.split('_'),\n monthsShort : 'jar wa’_jar cha’_jar wej_jar loS_jar vagh_jar jav_jar Soch_jar chorgh_jar Hut_jar wa’maH_jar wa’maH wa’_jar wa’maH cha’'.split('_'),\n monthsParseExact : true,\n weekdays : 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),\n weekdaysShort : 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),\n weekdaysMin : 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[DaHjaj] LT',\n nextDay: '[wa’leS] LT',\n nextWeek: 'LLL',\n lastDay: '[wa’Hu’] LT',\n lastWeek: 'LLL',\n sameElse: 'L'\n },\n relativeTime : {\n future : translateFuture,\n past : translatePast,\n s : 'puS lup',\n ss : translate,\n m : 'wa’ tup',\n mm : translate,\n h : 'wa’ rep',\n hh : translate,\n d : 'wa’ jaj',\n dd : translate,\n M : 'wa’ jar',\n MM : translate,\n y : 'wa’ DIS',\n yy : translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return tlh;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var tlPh = moment.defineLocale('tl-ph', {\n months : 'Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre'.split('_'),\n monthsShort : 'Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis'.split('_'),\n weekdays : 'Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado'.split('_'),\n weekdaysShort : 'Lin_Lun_Mar_Miy_Huw_Biy_Sab'.split('_'),\n weekdaysMin : 'Li_Lu_Ma_Mi_Hu_Bi_Sab'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'MM/D/YYYY',\n LL : 'MMMM D, YYYY',\n LLL : 'MMMM D, YYYY HH:mm',\n LLLL : 'dddd, MMMM DD, YYYY HH:mm'\n },\n calendar : {\n sameDay: 'LT [ngayong araw]',\n nextDay: '[Bukas ng] LT',\n nextWeek: 'LT [sa susunod na] dddd',\n lastDay: 'LT [kahapon]',\n lastWeek: 'LT [noong nakaraang] dddd',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'sa loob ng %s',\n past : '%s ang nakalipas',\n s : 'ilang segundo',\n ss : '%d segundo',\n m : 'isang minuto',\n mm : '%d minuto',\n h : 'isang oras',\n hh : '%d oras',\n d : 'isang araw',\n dd : '%d araw',\n M : 'isang buwan',\n MM : '%d buwan',\n y : 'isang taon',\n yy : '%d taon'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}/,\n ordinal : function (number) {\n return number;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return tlPh;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var th = moment.defineLocale('th', {\n months : 'มกราคม_กุมภาพันธ์_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_กรกฎาคม_สิงหาคม_กันยายน_ตุลาคม_พฤศจิกายน_ธันวาคม'.split('_'),\n monthsShort : 'ม.ค._ก.พ._มี.ค._เม.ย._พ.ค._มิ.ย._ก.ค._ส.ค._ก.ย._ต.ค._พ.ย._ธ.ค.'.split('_'),\n monthsParseExact: true,\n weekdays : 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัสบดี_ศุกร์_เสาร์'.split('_'),\n weekdaysShort : 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัส_ศุกร์_เสาร์'.split('_'), // yes, three characters difference\n weekdaysMin : 'อา._จ._อ._พ._พฤ._ศ._ส.'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY เวลา H:mm',\n LLLL : 'วันddddที่ D MMMM YYYY เวลา H:mm'\n },\n meridiemParse: /ก่อนเที่ยง|หลังเที่ยง/,\n isPM: function (input) {\n return input === 'หลังเที่ยง';\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ก่อนเที่ยง';\n } else {\n return 'หลังเที่ยง';\n }\n },\n calendar : {\n sameDay : '[วันนี้ เวลา] LT',\n nextDay : '[พรุ่งนี้ เวลา] LT',\n nextWeek : 'dddd[หน้า เวลา] LT',\n lastDay : '[เมื่อวานนี้ เวลา] LT',\n lastWeek : '[วัน]dddd[ที่แล้ว เวลา] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'อีก %s',\n past : '%sที่แล้ว',\n s : 'ไม่กี่วินาที',\n ss : '%d วินาที',\n m : '1 นาที',\n mm : '%d นาที',\n h : '1 ชั่วโมง',\n hh : '%d ชั่วโมง',\n d : '1 วัน',\n dd : '%d วัน',\n M : '1 เดือน',\n MM : '%d เดือน',\n y : '1 ปี',\n yy : '%d ปี'\n }\n });\n\n return th;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var suffixes = {\n 0: '-ум',\n 1: '-ум',\n 2: '-юм',\n 3: '-юм',\n 4: '-ум',\n 5: '-ум',\n 6: '-ум',\n 7: '-ум',\n 8: '-ум',\n 9: '-ум',\n 10: '-ум',\n 12: '-ум',\n 13: '-ум',\n 20: '-ум',\n 30: '-юм',\n 40: '-ум',\n 50: '-ум',\n 60: '-ум',\n 70: '-ум',\n 80: '-ум',\n 90: '-ум',\n 100: '-ум'\n };\n\n var tg = moment.defineLocale('tg', {\n months : 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split('_'),\n monthsShort : 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'),\n weekdays : 'якшанбе_душанбе_сешанбе_чоршанбе_панҷшанбе_ҷумъа_шанбе'.split('_'),\n weekdaysShort : 'яшб_дшб_сшб_чшб_пшб_ҷум_шнб'.split('_'),\n weekdaysMin : 'яш_дш_сш_чш_пш_ҷм_шб'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Имрӯз соати] LT',\n nextDay : '[Пагоҳ соати] LT',\n lastDay : '[Дирӯз соати] LT',\n nextWeek : 'dddd[и] [ҳафтаи оянда соати] LT',\n lastWeek : 'dddd[и] [ҳафтаи гузашта соати] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'баъди %s',\n past : '%s пеш',\n s : 'якчанд сония',\n m : 'як дақиқа',\n mm : '%d дақиқа',\n h : 'як соат',\n hh : '%d соат',\n d : 'як рӯз',\n dd : '%d рӯз',\n M : 'як моҳ',\n MM : '%d моҳ',\n y : 'як сол',\n yy : '%d сол'\n },\n meridiemParse: /шаб|субҳ|рӯз|бегоҳ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'шаб') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'субҳ') {\n return hour;\n } else if (meridiem === 'рӯз') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'бегоҳ') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'шаб';\n } else if (hour < 11) {\n return 'субҳ';\n } else if (hour < 16) {\n return 'рӯз';\n } else if (hour < 19) {\n return 'бегоҳ';\n } else {\n return 'шаб';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ум|юм)/,\n ordinal: function (number) {\n var a = number % 10,\n b = number >= 100 ? 100 : null;\n return number + (suffixes[number] || suffixes[a] || suffixes[b]);\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1th is the first week of the year.\n }\n });\n\n return tg;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var tet = moment.defineLocale('tet', {\n months : 'Janeiru_Fevereiru_Marsu_Abril_Maiu_Juñu_Jullu_Agustu_Setembru_Outubru_Novembru_Dezembru'.split('_'),\n monthsShort : 'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez'.split('_'),\n weekdays : 'Domingu_Segunda_Tersa_Kuarta_Kinta_Sesta_Sabadu'.split('_'),\n weekdaysShort : 'Dom_Seg_Ters_Kua_Kint_Sest_Sab'.split('_'),\n weekdaysMin : 'Do_Seg_Te_Ku_Ki_Ses_Sa'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[Ohin iha] LT',\n nextDay: '[Aban iha] LT',\n nextWeek: 'dddd [iha] LT',\n lastDay: '[Horiseik iha] LT',\n lastWeek: 'dddd [semana kotuk] [iha] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'iha %s',\n past : '%s liuba',\n s : 'minutu balun',\n ss : 'minutu %d',\n m : 'minutu ida',\n mm : 'minutu %d',\n h : 'oras ida',\n hh : 'oras %d',\n d : 'loron ida',\n dd : 'loron %d',\n M : 'fulan ida',\n MM : 'fulan %d',\n y : 'tinan ida',\n yy : 'tinan %d'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return tet;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var te = moment.defineLocale('te', {\n months : 'జనవరి_ఫిబ్రవరి_మార్చి_ఏప్రిల్_మే_జూన్_జూలై_ఆగస్టు_సెప్టెంబర్_అక్టోబర్_నవంబర్_డిసెంబర్'.split('_'),\n monthsShort : 'జన._ఫిబ్ర._మార్చి_ఏప్రి._మే_జూన్_జూలై_ఆగ._సెప్._అక్టో._నవ._డిసె.'.split('_'),\n monthsParseExact : true,\n weekdays : 'ఆదివారం_సోమవారం_మంగళవారం_బుధవారం_గురువారం_శుక్రవారం_శనివారం'.split('_'),\n weekdaysShort : 'ఆది_సోమ_మంగళ_బుధ_గురు_శుక్ర_శని'.split('_'),\n weekdaysMin : 'ఆ_సో_మం_బు_గు_శు_శ'.split('_'),\n longDateFormat : {\n LT : 'A h:mm',\n LTS : 'A h:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, A h:mm',\n LLLL : 'dddd, D MMMM YYYY, A h:mm'\n },\n calendar : {\n sameDay : '[నేడు] LT',\n nextDay : '[రేపు] LT',\n nextWeek : 'dddd, LT',\n lastDay : '[నిన్న] LT',\n lastWeek : '[గత] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s లో',\n past : '%s క్రితం',\n s : 'కొన్ని క్షణాలు',\n ss : '%d సెకన్లు',\n m : 'ఒక నిమిషం',\n mm : '%d నిమిషాలు',\n h : 'ఒక గంట',\n hh : '%d గంటలు',\n d : 'ఒక రోజు',\n dd : '%d రోజులు',\n M : 'ఒక నెల',\n MM : '%d నెలలు',\n y : 'ఒక సంవత్సరం',\n yy : '%d సంవత్సరాలు'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}వ/,\n ordinal : '%dవ',\n meridiemParse: /రాత్రి|ఉదయం|మధ్యాహ్నం|సాయంత్రం/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'రాత్రి') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'ఉదయం') {\n return hour;\n } else if (meridiem === 'మధ్యాహ్నం') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'సాయంత్రం') {\n return hour + 12;\n }\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'రాత్రి';\n } else if (hour < 10) {\n return 'ఉదయం';\n } else if (hour < 17) {\n return 'మధ్యాహ్నం';\n } else if (hour < 20) {\n return 'సాయంత్రం';\n } else {\n return 'రాత్రి';\n }\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return te;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '௧',\n '2': '௨',\n '3': '௩',\n '4': '௪',\n '5': '௫',\n '6': '௬',\n '7': '௭',\n '8': '௮',\n '9': '௯',\n '0': '௦'\n }, numberMap = {\n '௧': '1',\n '௨': '2',\n '௩': '3',\n '௪': '4',\n '௫': '5',\n '௬': '6',\n '௭': '7',\n '௮': '8',\n '௯': '9',\n '௦': '0'\n };\n\n var ta = moment.defineLocale('ta', {\n months : 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split('_'),\n monthsShort : 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split('_'),\n weekdays : 'ஞாயிற்றுக்கிழமை_திங்கட்கிழமை_செவ்வாய்கிழமை_புதன்கிழமை_வியாழக்கிழமை_வெள்ளிக்கிழமை_சனிக்கிழமை'.split('_'),\n weekdaysShort : 'ஞாயிறு_திங்கள்_செவ்வாய்_புதன்_வியாழன்_வெள்ளி_சனி'.split('_'),\n weekdaysMin : 'ஞா_தி_செ_பு_வி_வெ_ச'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, HH:mm',\n LLLL : 'dddd, D MMMM YYYY, HH:mm'\n },\n calendar : {\n sameDay : '[இன்று] LT',\n nextDay : '[நாளை] LT',\n nextWeek : 'dddd, LT',\n lastDay : '[நேற்று] LT',\n lastWeek : '[கடந்த வாரம்] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s இல்',\n past : '%s முன்',\n s : 'ஒரு சில விநாடிகள்',\n ss : '%d விநாடிகள்',\n m : 'ஒரு நிமிடம்',\n mm : '%d நிமிடங்கள்',\n h : 'ஒரு மணி நேரம்',\n hh : '%d மணி நேரம்',\n d : 'ஒரு நாள்',\n dd : '%d நாட்கள்',\n M : 'ஒரு மாதம்',\n MM : '%d மாதங்கள்',\n y : 'ஒரு வருடம்',\n yy : '%d ஆண்டுகள்'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}வது/,\n ordinal : function (number) {\n return number + 'வது';\n },\n preparse: function (string) {\n return string.replace(/[௧௨௩௪௫௬௭௮௯௦]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n // refer http://ta.wikipedia.org/s/1er1\n meridiemParse: /யாமம்|வைகறை|காலை|நண்பகல்|எற்பாடு|மாலை/,\n meridiem : function (hour, minute, isLower) {\n if (hour < 2) {\n return ' யாமம்';\n } else if (hour < 6) {\n return ' வைகறை'; // வைகறை\n } else if (hour < 10) {\n return ' காலை'; // காலை\n } else if (hour < 14) {\n return ' நண்பகல்'; // நண்பகல்\n } else if (hour < 18) {\n return ' எற்பாடு'; // எற்பாடு\n } else if (hour < 22) {\n return ' மாலை'; // மாலை\n } else {\n return ' யாமம்';\n }\n },\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'யாமம்') {\n return hour < 2 ? hour : hour + 12;\n } else if (meridiem === 'வைகறை' || meridiem === 'காலை') {\n return hour;\n } else if (meridiem === 'நண்பகல்') {\n return hour >= 10 ? hour : hour + 12;\n } else {\n return hour + 12;\n }\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return ta;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var sw = moment.defineLocale('sw', {\n months : 'Januari_Februari_Machi_Aprili_Mei_Juni_Julai_Agosti_Septemba_Oktoba_Novemba_Desemba'.split('_'),\n monthsShort : 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ago_Sep_Okt_Nov_Des'.split('_'),\n weekdays : 'Jumapili_Jumatatu_Jumanne_Jumatano_Alhamisi_Ijumaa_Jumamosi'.split('_'),\n weekdaysShort : 'Jpl_Jtat_Jnne_Jtan_Alh_Ijm_Jmos'.split('_'),\n weekdaysMin : 'J2_J3_J4_J5_Al_Ij_J1'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[leo saa] LT',\n nextDay : '[kesho saa] LT',\n nextWeek : '[wiki ijayo] dddd [saat] LT',\n lastDay : '[jana] LT',\n lastWeek : '[wiki iliyopita] dddd [saat] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s baadaye',\n past : 'tokea %s',\n s : 'hivi punde',\n ss : 'sekunde %d',\n m : 'dakika moja',\n mm : 'dakika %d',\n h : 'saa limoja',\n hh : 'masaa %d',\n d : 'siku moja',\n dd : 'masiku %d',\n M : 'mwezi mmoja',\n MM : 'miezi %d',\n y : 'mwaka mmoja',\n yy : 'miaka %d'\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return sw;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var sv = moment.defineLocale('sv', {\n months : 'januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december'.split('_'),\n monthsShort : 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n weekdays : 'söndag_måndag_tisdag_onsdag_torsdag_fredag_lördag'.split('_'),\n weekdaysShort : 'sön_mån_tis_ons_tor_fre_lör'.split('_'),\n weekdaysMin : 'sö_må_ti_on_to_fr_lö'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY-MM-DD',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY [kl.] HH:mm',\n LLLL : 'dddd D MMMM YYYY [kl.] HH:mm',\n lll : 'D MMM YYYY HH:mm',\n llll : 'ddd D MMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[Idag] LT',\n nextDay: '[Imorgon] LT',\n lastDay: '[Igår] LT',\n nextWeek: '[På] dddd LT',\n lastWeek: '[I] dddd[s] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'om %s',\n past : 'för %s sedan',\n s : 'några sekunder',\n ss : '%d sekunder',\n m : 'en minut',\n mm : '%d minuter',\n h : 'en timme',\n hh : '%d timmar',\n d : 'en dag',\n dd : '%d dagar',\n M : 'en månad',\n MM : '%d månader',\n y : 'ett år',\n yy : '%d år'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(e|a)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'e' :\n (b === 1) ? 'a' :\n (b === 2) ? 'a' :\n (b === 3) ? 'e' : 'e';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return sv;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var ss = moment.defineLocale('ss', {\n months : \"Bhimbidvwane_Indlovana_Indlov'lenkhulu_Mabasa_Inkhwekhweti_Inhlaba_Kholwane_Ingci_Inyoni_Imphala_Lweti_Ingongoni\".split('_'),\n monthsShort : 'Bhi_Ina_Inu_Mab_Ink_Inh_Kho_Igc_Iny_Imp_Lwe_Igo'.split('_'),\n weekdays : 'Lisontfo_Umsombuluko_Lesibili_Lesitsatfu_Lesine_Lesihlanu_Umgcibelo'.split('_'),\n weekdaysShort : 'Lis_Umb_Lsb_Les_Lsi_Lsh_Umg'.split('_'),\n weekdaysMin : 'Li_Us_Lb_Lt_Ls_Lh_Ug'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'h:mm A',\n LTS : 'h:mm:ss A',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY h:mm A',\n LLLL : 'dddd, D MMMM YYYY h:mm A'\n },\n calendar : {\n sameDay : '[Namuhla nga] LT',\n nextDay : '[Kusasa nga] LT',\n nextWeek : 'dddd [nga] LT',\n lastDay : '[Itolo nga] LT',\n lastWeek : 'dddd [leliphelile] [nga] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'nga %s',\n past : 'wenteka nga %s',\n s : 'emizuzwana lomcane',\n ss : '%d mzuzwana',\n m : 'umzuzu',\n mm : '%d emizuzu',\n h : 'lihora',\n hh : '%d emahora',\n d : 'lilanga',\n dd : '%d emalanga',\n M : 'inyanga',\n MM : '%d tinyanga',\n y : 'umnyaka',\n yy : '%d iminyaka'\n },\n meridiemParse: /ekuseni|emini|entsambama|ebusuku/,\n meridiem : function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'ekuseni';\n } else if (hours < 15) {\n return 'emini';\n } else if (hours < 19) {\n return 'entsambama';\n } else {\n return 'ebusuku';\n }\n },\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'ekuseni') {\n return hour;\n } else if (meridiem === 'emini') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'entsambama' || meridiem === 'ebusuku') {\n if (hour === 0) {\n return 0;\n }\n return hour + 12;\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}/,\n ordinal : '%d',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return ss;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var translator = {\n words: { //Different grammatical cases\n ss: ['секунда', 'секунде', 'секунди'],\n m: ['један минут', 'једне минуте'],\n mm: ['минут', 'минуте', 'минута'],\n h: ['један сат', 'једног сата'],\n hh: ['сат', 'сата', 'сати'],\n dd: ['дан', 'дана', 'дана'],\n MM: ['месец', 'месеца', 'месеци'],\n yy: ['година', 'године', 'година']\n },\n correctGrammaticalCase: function (number, wordKey) {\n return number === 1 ? wordKey[0] : (number >= 2 && number <= 4 ? wordKey[1] : wordKey[2]);\n },\n translate: function (number, withoutSuffix, key) {\n var wordKey = translator.words[key];\n if (key.length === 1) {\n return withoutSuffix ? wordKey[0] : wordKey[1];\n } else {\n return number + ' ' + translator.correctGrammaticalCase(number, wordKey);\n }\n }\n };\n\n var srCyrl = moment.defineLocale('sr-cyrl', {\n months: 'јануар_фебруар_март_април_мај_јун_јул_август_септембар_октобар_новембар_децембар'.split('_'),\n monthsShort: 'јан._феб._мар._апр._мај_јун_јул_авг._сеп._окт._нов._дец.'.split('_'),\n monthsParseExact: true,\n weekdays: 'недеља_понедељак_уторак_среда_четвртак_петак_субота'.split('_'),\n weekdaysShort: 'нед._пон._уто._сре._чет._пет._суб.'.split('_'),\n weekdaysMin: 'не_по_ут_ср_че_пе_су'.split('_'),\n weekdaysParseExact : true,\n longDateFormat: {\n LT: 'H:mm',\n LTS : 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd, D. MMMM YYYY H:mm'\n },\n calendar: {\n sameDay: '[данас у] LT',\n nextDay: '[сутра у] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[у] [недељу] [у] LT';\n case 3:\n return '[у] [среду] [у] LT';\n case 6:\n return '[у] [суботу] [у] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[у] dddd [у] LT';\n }\n },\n lastDay : '[јуче у] LT',\n lastWeek : function () {\n var lastWeekDays = [\n '[прошле] [недеље] [у] LT',\n '[прошлог] [понедељка] [у] LT',\n '[прошлог] [уторка] [у] LT',\n '[прошле] [среде] [у] LT',\n '[прошлог] [четвртка] [у] LT',\n '[прошлог] [петка] [у] LT',\n '[прошле] [суботе] [у] LT'\n ];\n return lastWeekDays[this.day()];\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'за %s',\n past : 'пре %s',\n s : 'неколико секунди',\n ss : translator.translate,\n m : translator.translate,\n mm : translator.translate,\n h : translator.translate,\n hh : translator.translate,\n d : 'дан',\n dd : translator.translate,\n M : 'месец',\n MM : translator.translate,\n y : 'годину',\n yy : translator.translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return srCyrl;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var translator = {\n words: { //Different grammatical cases\n ss: ['sekunda', 'sekunde', 'sekundi'],\n m: ['jedan minut', 'jedne minute'],\n mm: ['minut', 'minute', 'minuta'],\n h: ['jedan sat', 'jednog sata'],\n hh: ['sat', 'sata', 'sati'],\n dd: ['dan', 'dana', 'dana'],\n MM: ['mesec', 'meseca', 'meseci'],\n yy: ['godina', 'godine', 'godina']\n },\n correctGrammaticalCase: function (number, wordKey) {\n return number === 1 ? wordKey[0] : (number >= 2 && number <= 4 ? wordKey[1] : wordKey[2]);\n },\n translate: function (number, withoutSuffix, key) {\n var wordKey = translator.words[key];\n if (key.length === 1) {\n return withoutSuffix ? wordKey[0] : wordKey[1];\n } else {\n return number + ' ' + translator.correctGrammaticalCase(number, wordKey);\n }\n }\n };\n\n var sr = moment.defineLocale('sr', {\n months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split('_'),\n monthsShort: 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays: 'nedelja_ponedeljak_utorak_sreda_četvrtak_petak_subota'.split('_'),\n weekdaysShort: 'ned._pon._uto._sre._čet._pet._sub.'.split('_'),\n weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact : true,\n longDateFormat: {\n LT: 'H:mm',\n LTS : 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd, D. MMMM YYYY H:mm'\n },\n calendar: {\n sameDay: '[danas u] LT',\n nextDay: '[sutra u] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[u] [nedelju] [u] LT';\n case 3:\n return '[u] [sredu] [u] LT';\n case 6:\n return '[u] [subotu] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay : '[juče u] LT',\n lastWeek : function () {\n var lastWeekDays = [\n '[prošle] [nedelje] [u] LT',\n '[prošlog] [ponedeljka] [u] LT',\n '[prošlog] [utorka] [u] LT',\n '[prošle] [srede] [u] LT',\n '[prošlog] [četvrtka] [u] LT',\n '[prošlog] [petka] [u] LT',\n '[prošle] [subote] [u] LT'\n ];\n return lastWeekDays[this.day()];\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'za %s',\n past : 'pre %s',\n s : 'nekoliko sekundi',\n ss : translator.translate,\n m : translator.translate,\n mm : translator.translate,\n h : translator.translate,\n hh : translator.translate,\n d : 'dan',\n dd : translator.translate,\n M : 'mesec',\n MM : translator.translate,\n y : 'godinu',\n yy : translator.translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return sr;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var sq = moment.defineLocale('sq', {\n months : 'Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_Nëntor_Dhjetor'.split('_'),\n monthsShort : 'Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_Nën_Dhj'.split('_'),\n weekdays : 'E Diel_E Hënë_E Martë_E Mërkurë_E Enjte_E Premte_E Shtunë'.split('_'),\n weekdaysShort : 'Die_Hën_Mar_Mër_Enj_Pre_Sht'.split('_'),\n weekdaysMin : 'D_H_Ma_Më_E_P_Sh'.split('_'),\n weekdaysParseExact : true,\n meridiemParse: /PD|MD/,\n isPM: function (input) {\n return input.charAt(0) === 'M';\n },\n meridiem : function (hours, minutes, isLower) {\n return hours < 12 ? 'PD' : 'MD';\n },\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Sot në] LT',\n nextDay : '[Nesër në] LT',\n nextWeek : 'dddd [në] LT',\n lastDay : '[Dje në] LT',\n lastWeek : 'dddd [e kaluar në] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'në %s',\n past : '%s më parë',\n s : 'disa sekonda',\n ss : '%d sekonda',\n m : 'një minutë',\n mm : '%d minuta',\n h : 'një orë',\n hh : '%d orë',\n d : 'një ditë',\n dd : '%d ditë',\n M : 'një muaj',\n MM : '%d muaj',\n y : 'një vit',\n yy : '%d vite'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return sq;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n switch (key) {\n case 's':\n return withoutSuffix || isFuture ? 'nekaj sekund' : 'nekaj sekundami';\n case 'ss':\n if (number === 1) {\n result += withoutSuffix ? 'sekundo' : 'sekundi';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'sekundi' : 'sekundah';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'sekunde' : 'sekundah';\n } else {\n result += withoutSuffix || isFuture ? 'sekund' : 'sekund';\n }\n return result;\n case 'm':\n return withoutSuffix ? 'ena minuta' : 'eno minuto';\n case 'mm':\n if (number === 1) {\n result += withoutSuffix ? 'minuta' : 'minuto';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'minuti' : 'minutama';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'minute' : 'minutami';\n } else {\n result += withoutSuffix || isFuture ? 'minut' : 'minutami';\n }\n return result;\n case 'h':\n return withoutSuffix ? 'ena ura' : 'eno uro';\n case 'hh':\n if (number === 1) {\n result += withoutSuffix ? 'ura' : 'uro';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'uri' : 'urama';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'ure' : 'urami';\n } else {\n result += withoutSuffix || isFuture ? 'ur' : 'urami';\n }\n return result;\n case 'd':\n return withoutSuffix || isFuture ? 'en dan' : 'enim dnem';\n case 'dd':\n if (number === 1) {\n result += withoutSuffix || isFuture ? 'dan' : 'dnem';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'dni' : 'dnevoma';\n } else {\n result += withoutSuffix || isFuture ? 'dni' : 'dnevi';\n }\n return result;\n case 'M':\n return withoutSuffix || isFuture ? 'en mesec' : 'enim mesecem';\n case 'MM':\n if (number === 1) {\n result += withoutSuffix || isFuture ? 'mesec' : 'mesecem';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'meseca' : 'mesecema';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'mesece' : 'meseci';\n } else {\n result += withoutSuffix || isFuture ? 'mesecev' : 'meseci';\n }\n return result;\n case 'y':\n return withoutSuffix || isFuture ? 'eno leto' : 'enim letom';\n case 'yy':\n if (number === 1) {\n result += withoutSuffix || isFuture ? 'leto' : 'letom';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'leti' : 'letoma';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'leta' : 'leti';\n } else {\n result += withoutSuffix || isFuture ? 'let' : 'leti';\n }\n return result;\n }\n }\n\n var sl = moment.defineLocale('sl', {\n months : 'januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december'.split('_'),\n monthsShort : 'jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays : 'nedelja_ponedeljek_torek_sreda_četrtek_petek_sobota'.split('_'),\n weekdaysShort : 'ned._pon._tor._sre._čet._pet._sob.'.split('_'),\n weekdaysMin : 'ne_po_to_sr_če_pe_so'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY H:mm',\n LLLL : 'dddd, D. MMMM YYYY H:mm'\n },\n calendar : {\n sameDay : '[danes ob] LT',\n nextDay : '[jutri ob] LT',\n\n nextWeek : function () {\n switch (this.day()) {\n case 0:\n return '[v] [nedeljo] [ob] LT';\n case 3:\n return '[v] [sredo] [ob] LT';\n case 6:\n return '[v] [soboto] [ob] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[v] dddd [ob] LT';\n }\n },\n lastDay : '[včeraj ob] LT',\n lastWeek : function () {\n switch (this.day()) {\n case 0:\n return '[prejšnjo] [nedeljo] [ob] LT';\n case 3:\n return '[prejšnjo] [sredo] [ob] LT';\n case 6:\n return '[prejšnjo] [soboto] [ob] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[prejšnji] dddd [ob] LT';\n }\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'čez %s',\n past : 'pred %s',\n s : processRelativeTime,\n ss : processRelativeTime,\n m : processRelativeTime,\n mm : processRelativeTime,\n h : processRelativeTime,\n hh : processRelativeTime,\n d : processRelativeTime,\n dd : processRelativeTime,\n M : processRelativeTime,\n MM : processRelativeTime,\n y : processRelativeTime,\n yy : processRelativeTime\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return sl;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var months = 'január_február_marec_apríl_máj_jún_júl_august_september_október_november_december'.split('_'),\n monthsShort = 'jan_feb_mar_apr_máj_jún_júl_aug_sep_okt_nov_dec'.split('_');\n function plural(n) {\n return (n > 1) && (n < 5);\n }\n function translate(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n switch (key) {\n case 's': // a few seconds / in a few seconds / a few seconds ago\n return (withoutSuffix || isFuture) ? 'pár sekúnd' : 'pár sekundami';\n case 'ss': // 9 seconds / in 9 seconds / 9 seconds ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'sekundy' : 'sekúnd');\n } else {\n return result + 'sekundami';\n }\n break;\n case 'm': // a minute / in a minute / a minute ago\n return withoutSuffix ? 'minúta' : (isFuture ? 'minútu' : 'minútou');\n case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'minúty' : 'minút');\n } else {\n return result + 'minútami';\n }\n break;\n case 'h': // an hour / in an hour / an hour ago\n return withoutSuffix ? 'hodina' : (isFuture ? 'hodinu' : 'hodinou');\n case 'hh': // 9 hours / in 9 hours / 9 hours ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'hodiny' : 'hodín');\n } else {\n return result + 'hodinami';\n }\n break;\n case 'd': // a day / in a day / a day ago\n return (withoutSuffix || isFuture) ? 'deň' : 'dňom';\n case 'dd': // 9 days / in 9 days / 9 days ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'dni' : 'dní');\n } else {\n return result + 'dňami';\n }\n break;\n case 'M': // a month / in a month / a month ago\n return (withoutSuffix || isFuture) ? 'mesiac' : 'mesiacom';\n case 'MM': // 9 months / in 9 months / 9 months ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'mesiace' : 'mesiacov');\n } else {\n return result + 'mesiacmi';\n }\n break;\n case 'y': // a year / in a year / a year ago\n return (withoutSuffix || isFuture) ? 'rok' : 'rokom';\n case 'yy': // 9 years / in 9 years / 9 years ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'roky' : 'rokov');\n } else {\n return result + 'rokmi';\n }\n break;\n }\n }\n\n var sk = moment.defineLocale('sk', {\n months : months,\n monthsShort : monthsShort,\n weekdays : 'nedeľa_pondelok_utorok_streda_štvrtok_piatok_sobota'.split('_'),\n weekdaysShort : 'ne_po_ut_st_št_pi_so'.split('_'),\n weekdaysMin : 'ne_po_ut_st_št_pi_so'.split('_'),\n longDateFormat : {\n LT: 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY H:mm',\n LLLL : 'dddd D. MMMM YYYY H:mm'\n },\n calendar : {\n sameDay: '[dnes o] LT',\n nextDay: '[zajtra o] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[v nedeľu o] LT';\n case 1:\n case 2:\n return '[v] dddd [o] LT';\n case 3:\n return '[v stredu o] LT';\n case 4:\n return '[vo štvrtok o] LT';\n case 5:\n return '[v piatok o] LT';\n case 6:\n return '[v sobotu o] LT';\n }\n },\n lastDay: '[včera o] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[minulú nedeľu o] LT';\n case 1:\n case 2:\n return '[minulý] dddd [o] LT';\n case 3:\n return '[minulú stredu o] LT';\n case 4:\n case 5:\n return '[minulý] dddd [o] LT';\n case 6:\n return '[minulú sobotu o] LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : 'za %s',\n past : 'pred %s',\n s : translate,\n ss : translate,\n m : translate,\n mm : translate,\n h : translate,\n hh : translate,\n d : translate,\n dd : translate,\n M : translate,\n MM : translate,\n y : translate,\n yy : translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return sk;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n /*jshint -W100*/\n var si = moment.defineLocale('si', {\n months : 'ජනවාරි_පෙබරවාරි_මාර්තු_අප්‍රේල්_මැයි_ජූනි_ජූලි_අගෝස්තු_සැප්තැම්බර්_ඔක්තෝබර්_නොවැම්බර්_දෙසැම්බර්'.split('_'),\n monthsShort : 'ජන_පෙබ_මාර්_අප්_මැයි_ජූනි_ජූලි_අගෝ_සැප්_ඔක්_නොවැ_දෙසැ'.split('_'),\n weekdays : 'ඉරිදා_සඳුදා_අඟහරුවාදා_බදාදා_බ්‍රහස්පතින්දා_සිකුරාදා_සෙනසුරාදා'.split('_'),\n weekdaysShort : 'ඉරි_සඳු_අඟ_බදා_බ්‍රහ_සිකු_සෙන'.split('_'),\n weekdaysMin : 'ඉ_ස_අ_බ_බ්‍ර_සි_සෙ'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'a h:mm',\n LTS : 'a h:mm:ss',\n L : 'YYYY/MM/DD',\n LL : 'YYYY MMMM D',\n LLL : 'YYYY MMMM D, a h:mm',\n LLLL : 'YYYY MMMM D [වැනි] dddd, a h:mm:ss'\n },\n calendar : {\n sameDay : '[අද] LT[ට]',\n nextDay : '[හෙට] LT[ට]',\n nextWeek : 'dddd LT[ට]',\n lastDay : '[ඊයේ] LT[ට]',\n lastWeek : '[පසුගිය] dddd LT[ට]',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%sකින්',\n past : '%sකට පෙර',\n s : 'තත්පර කිහිපය',\n ss : 'තත්පර %d',\n m : 'මිනිත්තුව',\n mm : 'මිනිත්තු %d',\n h : 'පැය',\n hh : 'පැය %d',\n d : 'දිනය',\n dd : 'දින %d',\n M : 'මාසය',\n MM : 'මාස %d',\n y : 'වසර',\n yy : 'වසර %d'\n },\n dayOfMonthOrdinalParse: /\\d{1,2} වැනි/,\n ordinal : function (number) {\n return number + ' වැනි';\n },\n meridiemParse : /පෙර වරු|පස් වරු|පෙ.ව|ප.ව./,\n isPM : function (input) {\n return input === 'ප.ව.' || input === 'පස් වරු';\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'ප.ව.' : 'පස් වරු';\n } else {\n return isLower ? 'පෙ.ව.' : 'පෙර වරු';\n }\n }\n });\n\n return si;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var se = moment.defineLocale('se', {\n months : 'ođđajagemánnu_guovvamánnu_njukčamánnu_cuoŋománnu_miessemánnu_geassemánnu_suoidnemánnu_borgemánnu_čakčamánnu_golggotmánnu_skábmamánnu_juovlamánnu'.split('_'),\n monthsShort : 'ođđj_guov_njuk_cuo_mies_geas_suoi_borg_čakč_golg_skáb_juov'.split('_'),\n weekdays : 'sotnabeaivi_vuossárga_maŋŋebárga_gaskavahkku_duorastat_bearjadat_lávvardat'.split('_'),\n weekdaysShort : 'sotn_vuos_maŋ_gask_duor_bear_láv'.split('_'),\n weekdaysMin : 's_v_m_g_d_b_L'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'MMMM D. [b.] YYYY',\n LLL : 'MMMM D. [b.] YYYY [ti.] HH:mm',\n LLLL : 'dddd, MMMM D. [b.] YYYY [ti.] HH:mm'\n },\n calendar : {\n sameDay: '[otne ti] LT',\n nextDay: '[ihttin ti] LT',\n nextWeek: 'dddd [ti] LT',\n lastDay: '[ikte ti] LT',\n lastWeek: '[ovddit] dddd [ti] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : '%s geažes',\n past : 'maŋit %s',\n s : 'moadde sekunddat',\n ss: '%d sekunddat',\n m : 'okta minuhta',\n mm : '%d minuhtat',\n h : 'okta diimmu',\n hh : '%d diimmut',\n d : 'okta beaivi',\n dd : '%d beaivvit',\n M : 'okta mánnu',\n MM : '%d mánut',\n y : 'okta jahki',\n yy : '%d jagit'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return se;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var months = [\n 'جنوري',\n 'فيبروري',\n 'مارچ',\n 'اپريل',\n 'مئي',\n 'جون',\n 'جولاءِ',\n 'آگسٽ',\n 'سيپٽمبر',\n 'آڪٽوبر',\n 'نومبر',\n 'ڊسمبر'\n ];\n var days = [\n 'آچر',\n 'سومر',\n 'اڱارو',\n 'اربع',\n 'خميس',\n 'جمع',\n 'ڇنڇر'\n ];\n\n var sd = moment.defineLocale('sd', {\n months : months,\n monthsShort : months,\n weekdays : days,\n weekdaysShort : days,\n weekdaysMin : days,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd، D MMMM YYYY HH:mm'\n },\n meridiemParse: /صبح|شام/,\n isPM : function (input) {\n return 'شام' === input;\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'صبح';\n }\n return 'شام';\n },\n calendar : {\n sameDay : '[اڄ] LT',\n nextDay : '[سڀاڻي] LT',\n nextWeek : 'dddd [اڳين هفتي تي] LT',\n lastDay : '[ڪالهه] LT',\n lastWeek : '[گزريل هفتي] dddd [تي] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s پوء',\n past : '%s اڳ',\n s : 'چند سيڪنڊ',\n ss : '%d سيڪنڊ',\n m : 'هڪ منٽ',\n mm : '%d منٽ',\n h : 'هڪ ڪلاڪ',\n hh : '%d ڪلاڪ',\n d : 'هڪ ڏينهن',\n dd : '%d ڏينهن',\n M : 'هڪ مهينو',\n MM : '%d مهينا',\n y : 'هڪ سال',\n yy : '%d سال'\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/,/g, '،');\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return sd;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function plural(word, num) {\n var forms = word.split('_');\n return num % 10 === 1 && num % 100 !== 11 ? forms[0] : (num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) ? forms[1] : forms[2]);\n }\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n var format = {\n 'ss': withoutSuffix ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд',\n 'mm': withoutSuffix ? 'минута_минуты_минут' : 'минуту_минуты_минут',\n 'hh': 'час_часа_часов',\n 'dd': 'день_дня_дней',\n 'MM': 'месяц_месяца_месяцев',\n 'yy': 'год_года_лет'\n };\n if (key === 'm') {\n return withoutSuffix ? 'минута' : 'минуту';\n }\n else {\n return number + ' ' + plural(format[key], +number);\n }\n }\n var monthsParse = [/^янв/i, /^фев/i, /^мар/i, /^апр/i, /^ма[йя]/i, /^июн/i, /^июл/i, /^авг/i, /^сен/i, /^окт/i, /^ноя/i, /^дек/i];\n\n // http://new.gramota.ru/spravka/rules/139-prop : § 103\n // Сокращения месяцев: http://new.gramota.ru/spravka/buro/search-answer?s=242637\n // CLDR data: http://www.unicode.org/cldr/charts/28/summary/ru.html#1753\n var ru = moment.defineLocale('ru', {\n months : {\n format: 'января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря'.split('_'),\n standalone: 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split('_')\n },\n monthsShort : {\n // по CLDR именно \"июл.\" и \"июн.\", но какой смысл менять букву на точку ?\n format: 'янв._февр._мар._апр._мая_июня_июля_авг._сент._окт._нояб._дек.'.split('_'),\n standalone: 'янв._февр._март_апр._май_июнь_июль_авг._сент._окт._нояб._дек.'.split('_')\n },\n weekdays : {\n standalone: 'воскресенье_понедельник_вторник_среда_четверг_пятница_суббота'.split('_'),\n format: 'воскресенье_понедельник_вторник_среду_четверг_пятницу_субботу'.split('_'),\n isFormat: /\\[ ?[Вв] ?(?:прошлую|следующую|эту)? ?\\] ?dddd/\n },\n weekdaysShort : 'вс_пн_вт_ср_чт_пт_сб'.split('_'),\n weekdaysMin : 'вс_пн_вт_ср_чт_пт_сб'.split('_'),\n monthsParse : monthsParse,\n longMonthsParse : monthsParse,\n shortMonthsParse : monthsParse,\n\n // полные названия с падежами, по три буквы, для некоторых, по 4 буквы, сокращения с точкой и без точки\n monthsRegex: /^(январ[ья]|янв\\.?|феврал[ья]|февр?\\.?|марта?|мар\\.?|апрел[ья]|апр\\.?|ма[йя]|июн[ья]|июн\\.?|июл[ья]|июл\\.?|августа?|авг\\.?|сентябр[ья]|сент?\\.?|октябр[ья]|окт\\.?|ноябр[ья]|нояб?\\.?|декабр[ья]|дек\\.?)/i,\n\n // копия предыдущего\n monthsShortRegex: /^(январ[ья]|янв\\.?|феврал[ья]|февр?\\.?|марта?|мар\\.?|апрел[ья]|апр\\.?|ма[йя]|июн[ья]|июн\\.?|июл[ья]|июл\\.?|августа?|авг\\.?|сентябр[ья]|сент?\\.?|октябр[ья]|окт\\.?|ноябр[ья]|нояб?\\.?|декабр[ья]|дек\\.?)/i,\n\n // полные названия с падежами\n monthsStrictRegex: /^(январ[яь]|феврал[яь]|марта?|апрел[яь]|ма[яй]|июн[яь]|июл[яь]|августа?|сентябр[яь]|октябр[яь]|ноябр[яь]|декабр[яь])/i,\n\n // Выражение, которое соотвествует только сокращённым формам\n monthsShortStrictRegex: /^(янв\\.|февр?\\.|мар[т.]|апр\\.|ма[яй]|июн[ья.]|июл[ья.]|авг\\.|сент?\\.|окт\\.|нояб?\\.|дек\\.)/i,\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY г.',\n LLL : 'D MMMM YYYY г., H:mm',\n LLLL : 'dddd, D MMMM YYYY г., H:mm'\n },\n calendar : {\n sameDay: '[Сегодня, в] LT',\n nextDay: '[Завтра, в] LT',\n lastDay: '[Вчера, в] LT',\n nextWeek: function (now) {\n if (now.week() !== this.week()) {\n switch (this.day()) {\n case 0:\n return '[В следующее] dddd, [в] LT';\n case 1:\n case 2:\n case 4:\n return '[В следующий] dddd, [в] LT';\n case 3:\n case 5:\n case 6:\n return '[В следующую] dddd, [в] LT';\n }\n } else {\n if (this.day() === 2) {\n return '[Во] dddd, [в] LT';\n } else {\n return '[В] dddd, [в] LT';\n }\n }\n },\n lastWeek: function (now) {\n if (now.week() !== this.week()) {\n switch (this.day()) {\n case 0:\n return '[В прошлое] dddd, [в] LT';\n case 1:\n case 2:\n case 4:\n return '[В прошлый] dddd, [в] LT';\n case 3:\n case 5:\n case 6:\n return '[В прошлую] dddd, [в] LT';\n }\n } else {\n if (this.day() === 2) {\n return '[Во] dddd, [в] LT';\n } else {\n return '[В] dddd, [в] LT';\n }\n }\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : 'через %s',\n past : '%s назад',\n s : 'несколько секунд',\n ss : relativeTimeWithPlural,\n m : relativeTimeWithPlural,\n mm : relativeTimeWithPlural,\n h : 'час',\n hh : relativeTimeWithPlural,\n d : 'день',\n dd : relativeTimeWithPlural,\n M : 'месяц',\n MM : relativeTimeWithPlural,\n y : 'год',\n yy : relativeTimeWithPlural\n },\n meridiemParse: /ночи|утра|дня|вечера/i,\n isPM : function (input) {\n return /^(дня|вечера)$/.test(input);\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ночи';\n } else if (hour < 12) {\n return 'утра';\n } else if (hour < 17) {\n return 'дня';\n } else {\n return 'вечера';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(й|го|я)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'M':\n case 'd':\n case 'DDD':\n return number + '-й';\n case 'D':\n return number + '-го';\n case 'w':\n case 'W':\n return number + '-я';\n default:\n return number;\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return ru;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n var format = {\n 'ss': 'secunde',\n 'mm': 'minute',\n 'hh': 'ore',\n 'dd': 'zile',\n 'MM': 'luni',\n 'yy': 'ani'\n },\n separator = ' ';\n if (number % 100 >= 20 || (number >= 100 && number % 100 === 0)) {\n separator = ' de ';\n }\n return number + separator + format[key];\n }\n\n var ro = moment.defineLocale('ro', {\n months : 'ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie'.split('_'),\n monthsShort : 'ian._febr._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays : 'duminică_luni_marți_miercuri_joi_vineri_sâmbătă'.split('_'),\n weekdaysShort : 'Dum_Lun_Mar_Mie_Joi_Vin_Sâm'.split('_'),\n weekdaysMin : 'Du_Lu_Ma_Mi_Jo_Vi_Sâ'.split('_'),\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY H:mm',\n LLLL : 'dddd, D MMMM YYYY H:mm'\n },\n calendar : {\n sameDay: '[azi la] LT',\n nextDay: '[mâine la] LT',\n nextWeek: 'dddd [la] LT',\n lastDay: '[ieri la] LT',\n lastWeek: '[fosta] dddd [la] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'peste %s',\n past : '%s în urmă',\n s : 'câteva secunde',\n ss : relativeTimeWithPlural,\n m : 'un minut',\n mm : relativeTimeWithPlural,\n h : 'o oră',\n hh : relativeTimeWithPlural,\n d : 'o zi',\n dd : relativeTimeWithPlural,\n M : 'o lună',\n MM : relativeTimeWithPlural,\n y : 'un an',\n yy : relativeTimeWithPlural\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return ro;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var ptBr = moment.defineLocale('pt-br', {\n months : 'janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro'.split('_'),\n monthsShort : 'jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez'.split('_'),\n weekdays : 'Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado'.split('_'),\n weekdaysShort : 'Dom_Seg_Ter_Qua_Qui_Sex_Sáb'.split('_'),\n weekdaysMin : 'Do_2ª_3ª_4ª_5ª_6ª_Sá'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D [de] MMMM [de] YYYY',\n LLL : 'D [de] MMMM [de] YYYY [às] HH:mm',\n LLLL : 'dddd, D [de] MMMM [de] YYYY [às] HH:mm'\n },\n calendar : {\n sameDay: '[Hoje às] LT',\n nextDay: '[Amanhã às] LT',\n nextWeek: 'dddd [às] LT',\n lastDay: '[Ontem às] LT',\n lastWeek: function () {\n return (this.day() === 0 || this.day() === 6) ?\n '[Último] dddd [às] LT' : // Saturday + Sunday\n '[Última] dddd [às] LT'; // Monday - Friday\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : 'em %s',\n past : 'há %s',\n s : 'poucos segundos',\n ss : '%d segundos',\n m : 'um minuto',\n mm : '%d minutos',\n h : 'uma hora',\n hh : '%d horas',\n d : 'um dia',\n dd : '%d dias',\n M : 'um mês',\n MM : '%d meses',\n y : 'um ano',\n yy : '%d anos'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal : '%dº'\n });\n\n return ptBr;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var pt = moment.defineLocale('pt', {\n months : 'janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro'.split('_'),\n monthsShort : 'jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez'.split('_'),\n weekdays : 'Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado'.split('_'),\n weekdaysShort : 'Dom_Seg_Ter_Qua_Qui_Sex_Sáb'.split('_'),\n weekdaysMin : 'Do_2ª_3ª_4ª_5ª_6ª_Sá'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D [de] MMMM [de] YYYY',\n LLL : 'D [de] MMMM [de] YYYY HH:mm',\n LLLL : 'dddd, D [de] MMMM [de] YYYY HH:mm'\n },\n calendar : {\n sameDay: '[Hoje às] LT',\n nextDay: '[Amanhã às] LT',\n nextWeek: 'dddd [às] LT',\n lastDay: '[Ontem às] LT',\n lastWeek: function () {\n return (this.day() === 0 || this.day() === 6) ?\n '[Último] dddd [às] LT' : // Saturday + Sunday\n '[Última] dddd [às] LT'; // Monday - Friday\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : 'em %s',\n past : 'há %s',\n s : 'segundos',\n ss : '%d segundos',\n m : 'um minuto',\n mm : '%d minutos',\n h : 'uma hora',\n hh : '%d horas',\n d : 'um dia',\n dd : '%d dias',\n M : 'um mês',\n MM : '%d meses',\n y : 'um ano',\n yy : '%d anos'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal : '%dº',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return pt;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var monthsNominative = 'styczeń_luty_marzec_kwiecień_maj_czerwiec_lipiec_sierpień_wrzesień_październik_listopad_grudzień'.split('_'),\n monthsSubjective = 'stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_września_października_listopada_grudnia'.split('_');\n function plural(n) {\n return (n % 10 < 5) && (n % 10 > 1) && ((~~(n / 10) % 10) !== 1);\n }\n function translate(number, withoutSuffix, key) {\n var result = number + ' ';\n switch (key) {\n case 'ss':\n return result + (plural(number) ? 'sekundy' : 'sekund');\n case 'm':\n return withoutSuffix ? 'minuta' : 'minutę';\n case 'mm':\n return result + (plural(number) ? 'minuty' : 'minut');\n case 'h':\n return withoutSuffix ? 'godzina' : 'godzinę';\n case 'hh':\n return result + (plural(number) ? 'godziny' : 'godzin');\n case 'MM':\n return result + (plural(number) ? 'miesiące' : 'miesięcy');\n case 'yy':\n return result + (plural(number) ? 'lata' : 'lat');\n }\n }\n\n var pl = moment.defineLocale('pl', {\n months : function (momentToFormat, format) {\n if (!momentToFormat) {\n return monthsNominative;\n } else if (format === '') {\n // Hack: if format empty we know this is used to generate\n // RegExp by moment. Give then back both valid forms of months\n // in RegExp ready format.\n return '(' + monthsSubjective[momentToFormat.month()] + '|' + monthsNominative[momentToFormat.month()] + ')';\n } else if (/D MMMM/.test(format)) {\n return monthsSubjective[momentToFormat.month()];\n } else {\n return monthsNominative[momentToFormat.month()];\n }\n },\n monthsShort : 'sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paź_lis_gru'.split('_'),\n weekdays : 'niedziela_poniedziałek_wtorek_środa_czwartek_piątek_sobota'.split('_'),\n weekdaysShort : 'ndz_pon_wt_śr_czw_pt_sob'.split('_'),\n weekdaysMin : 'Nd_Pn_Wt_Śr_Cz_Pt_So'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[Dziś o] LT',\n nextDay: '[Jutro o] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[W niedzielę o] LT';\n\n case 2:\n return '[We wtorek o] LT';\n\n case 3:\n return '[W środę o] LT';\n\n case 6:\n return '[W sobotę o] LT';\n\n default:\n return '[W] dddd [o] LT';\n }\n },\n lastDay: '[Wczoraj o] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[W zeszłą niedzielę o] LT';\n case 3:\n return '[W zeszłą środę o] LT';\n case 6:\n return '[W zeszłą sobotę o] LT';\n default:\n return '[W zeszły] dddd [o] LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : 'za %s',\n past : '%s temu',\n s : 'kilka sekund',\n ss : translate,\n m : translate,\n mm : translate,\n h : translate,\n hh : translate,\n d : '1 dzień',\n dd : '%d dni',\n M : 'miesiąc',\n MM : translate,\n y : 'rok',\n yy : translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return pl;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '੧',\n '2': '੨',\n '3': '੩',\n '4': '੪',\n '5': '੫',\n '6': '੬',\n '7': '੭',\n '8': '੮',\n '9': '੯',\n '0': '੦'\n },\n numberMap = {\n '੧': '1',\n '੨': '2',\n '੩': '3',\n '੪': '4',\n '੫': '5',\n '੬': '6',\n '੭': '7',\n '੮': '8',\n '੯': '9',\n '੦': '0'\n };\n\n var paIn = moment.defineLocale('pa-in', {\n // There are months name as per Nanakshahi Calender but they are not used as rigidly in modern Punjabi.\n months : 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split('_'),\n monthsShort : 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split('_'),\n weekdays : 'ਐਤਵਾਰ_ਸੋਮਵਾਰ_ਮੰਗਲਵਾਰ_ਬੁਧਵਾਰ_ਵੀਰਵਾਰ_ਸ਼ੁੱਕਰਵਾਰ_ਸ਼ਨੀਚਰਵਾਰ'.split('_'),\n weekdaysShort : 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'),\n weekdaysMin : 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'),\n longDateFormat : {\n LT : 'A h:mm ਵਜੇ',\n LTS : 'A h:mm:ss ਵਜੇ',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, A h:mm ਵਜੇ',\n LLLL : 'dddd, D MMMM YYYY, A h:mm ਵਜੇ'\n },\n calendar : {\n sameDay : '[ਅਜ] LT',\n nextDay : '[ਕਲ] LT',\n nextWeek : '[ਅਗਲਾ] dddd, LT',\n lastDay : '[ਕਲ] LT',\n lastWeek : '[ਪਿਛਲੇ] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s ਵਿੱਚ',\n past : '%s ਪਿਛਲੇ',\n s : 'ਕੁਝ ਸਕਿੰਟ',\n ss : '%d ਸਕਿੰਟ',\n m : 'ਇਕ ਮਿੰਟ',\n mm : '%d ਮਿੰਟ',\n h : 'ਇੱਕ ਘੰਟਾ',\n hh : '%d ਘੰਟੇ',\n d : 'ਇੱਕ ਦਿਨ',\n dd : '%d ਦਿਨ',\n M : 'ਇੱਕ ਮਹੀਨਾ',\n MM : '%d ਮਹੀਨੇ',\n y : 'ਇੱਕ ਸਾਲ',\n yy : '%d ਸਾਲ'\n },\n preparse: function (string) {\n return string.replace(/[੧੨੩੪੫੬੭੮੯੦]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n // Punjabi notation for meridiems are quite fuzzy in practice. While there exists\n // a rigid notion of a 'Pahar' it is not used as rigidly in modern Punjabi.\n meridiemParse: /ਰਾਤ|ਸਵੇਰ|ਦੁਪਹਿਰ|ਸ਼ਾਮ/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'ਰਾਤ') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'ਸਵੇਰ') {\n return hour;\n } else if (meridiem === 'ਦੁਪਹਿਰ') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'ਸ਼ਾਮ') {\n return hour + 12;\n }\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ਰਾਤ';\n } else if (hour < 10) {\n return 'ਸਵੇਰ';\n } else if (hour < 17) {\n return 'ਦੁਪਹਿਰ';\n } else if (hour < 20) {\n return 'ਸ਼ਾਮ';\n } else {\n return 'ਰਾਤ';\n }\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return paIn;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var nn = moment.defineLocale('nn', {\n months : 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split('_'),\n monthsShort : 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'),\n weekdays : 'sundag_måndag_tysdag_onsdag_torsdag_fredag_laurdag'.split('_'),\n weekdaysShort : 'sun_mån_tys_ons_tor_fre_lau'.split('_'),\n weekdaysMin : 'su_må_ty_on_to_fr_lø'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY [kl.] H:mm',\n LLLL : 'dddd D. MMMM YYYY [kl.] HH:mm'\n },\n calendar : {\n sameDay: '[I dag klokka] LT',\n nextDay: '[I morgon klokka] LT',\n nextWeek: 'dddd [klokka] LT',\n lastDay: '[I går klokka] LT',\n lastWeek: '[Føregåande] dddd [klokka] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'om %s',\n past : '%s sidan',\n s : 'nokre sekund',\n ss : '%d sekund',\n m : 'eit minutt',\n mm : '%d minutt',\n h : 'ein time',\n hh : '%d timar',\n d : 'ein dag',\n dd : '%d dagar',\n M : 'ein månad',\n MM : '%d månader',\n y : 'eit år',\n yy : '%d år'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return nn;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var monthsShortWithDots = 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'),\n monthsShortWithoutDots = 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_');\n\n var monthsParse = [/^jan/i, /^feb/i, /^maart|mrt.?$/i, /^apr/i, /^mei$/i, /^jun[i.]?$/i, /^jul[i.]?$/i, /^aug/i, /^sep/i, /^okt/i, /^nov/i, /^dec/i];\n var monthsRegex = /^(januari|februari|maart|april|mei|april|ju[nl]i|augustus|september|oktober|november|december|jan\\.?|feb\\.?|mrt\\.?|apr\\.?|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i;\n\n var nlBe = moment.defineLocale('nl-be', {\n months : 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split('_'),\n monthsShort : function (m, format) {\n if (!m) {\n return monthsShortWithDots;\n } else if (/-MMM-/.test(format)) {\n return monthsShortWithoutDots[m.month()];\n } else {\n return monthsShortWithDots[m.month()];\n }\n },\n\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: /^(januari|februari|maart|mei|ju[nl]i|april|augustus|september|oktober|november|december)/i,\n monthsShortStrictRegex: /^(jan\\.?|feb\\.?|mrt\\.?|apr\\.?|mei|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i,\n\n monthsParse : monthsParse,\n longMonthsParse : monthsParse,\n shortMonthsParse : monthsParse,\n\n weekdays : 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split('_'),\n weekdaysShort : 'zo._ma._di._wo._do._vr._za.'.split('_'),\n weekdaysMin : 'zo_ma_di_wo_do_vr_za'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[vandaag om] LT',\n nextDay: '[morgen om] LT',\n nextWeek: 'dddd [om] LT',\n lastDay: '[gisteren om] LT',\n lastWeek: '[afgelopen] dddd [om] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'over %s',\n past : '%s geleden',\n s : 'een paar seconden',\n ss : '%d seconden',\n m : 'één minuut',\n mm : '%d minuten',\n h : 'één uur',\n hh : '%d uur',\n d : 'één dag',\n dd : '%d dagen',\n M : 'één maand',\n MM : '%d maanden',\n y : 'één jaar',\n yy : '%d jaar'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n ordinal : function (number) {\n return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de');\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return nlBe;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var monthsShortWithDots = 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'),\n monthsShortWithoutDots = 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_');\n\n var monthsParse = [/^jan/i, /^feb/i, /^maart|mrt.?$/i, /^apr/i, /^mei$/i, /^jun[i.]?$/i, /^jul[i.]?$/i, /^aug/i, /^sep/i, /^okt/i, /^nov/i, /^dec/i];\n var monthsRegex = /^(januari|februari|maart|april|mei|april|ju[nl]i|augustus|september|oktober|november|december|jan\\.?|feb\\.?|mrt\\.?|apr\\.?|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i;\n\n var nl = moment.defineLocale('nl', {\n months : 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split('_'),\n monthsShort : function (m, format) {\n if (!m) {\n return monthsShortWithDots;\n } else if (/-MMM-/.test(format)) {\n return monthsShortWithoutDots[m.month()];\n } else {\n return monthsShortWithDots[m.month()];\n }\n },\n\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: /^(januari|februari|maart|mei|ju[nl]i|april|augustus|september|oktober|november|december)/i,\n monthsShortStrictRegex: /^(jan\\.?|feb\\.?|mrt\\.?|apr\\.?|mei|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i,\n\n monthsParse : monthsParse,\n longMonthsParse : monthsParse,\n shortMonthsParse : monthsParse,\n\n weekdays : 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split('_'),\n weekdaysShort : 'zo._ma._di._wo._do._vr._za.'.split('_'),\n weekdaysMin : 'zo_ma_di_wo_do_vr_za'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD-MM-YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[vandaag om] LT',\n nextDay: '[morgen om] LT',\n nextWeek: 'dddd [om] LT',\n lastDay: '[gisteren om] LT',\n lastWeek: '[afgelopen] dddd [om] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'over %s',\n past : '%s geleden',\n s : 'een paar seconden',\n ss : '%d seconden',\n m : 'één minuut',\n mm : '%d minuten',\n h : 'één uur',\n hh : '%d uur',\n d : 'één dag',\n dd : '%d dagen',\n M : 'één maand',\n MM : '%d maanden',\n y : 'één jaar',\n yy : '%d jaar'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n ordinal : function (number) {\n return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de');\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return nl;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '१',\n '2': '२',\n '3': '३',\n '4': '४',\n '5': '५',\n '6': '६',\n '7': '७',\n '8': '८',\n '9': '९',\n '0': '०'\n },\n numberMap = {\n '१': '1',\n '२': '2',\n '३': '3',\n '४': '4',\n '५': '5',\n '६': '6',\n '७': '7',\n '८': '8',\n '९': '9',\n '०': '0'\n };\n\n var ne = moment.defineLocale('ne', {\n months : 'जनवरी_फेब्रुवरी_मार्च_अप्रिल_मई_जुन_जुलाई_अगष्ट_सेप्टेम्बर_अक्टोबर_नोभेम्बर_डिसेम्बर'.split('_'),\n monthsShort : 'जन._फेब्रु._मार्च_अप्रि._मई_जुन_जुलाई._अग._सेप्ट._अक्टो._नोभे._डिसे.'.split('_'),\n monthsParseExact : true,\n weekdays : 'आइतबार_सोमबार_मङ्गलबार_बुधबार_बिहिबार_शुक्रबार_शनिबार'.split('_'),\n weekdaysShort : 'आइत._सोम._मङ्गल._बुध._बिहि._शुक्र._शनि.'.split('_'),\n weekdaysMin : 'आ._सो._मं._बु._बि._शु._श.'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'Aको h:mm बजे',\n LTS : 'Aको h:mm:ss बजे',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, Aको h:mm बजे',\n LLLL : 'dddd, D MMMM YYYY, Aको h:mm बजे'\n },\n preparse: function (string) {\n return string.replace(/[१२३४५६७८९०]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /राति|बिहान|दिउँसो|साँझ/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'राति') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'बिहान') {\n return hour;\n } else if (meridiem === 'दिउँसो') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'साँझ') {\n return hour + 12;\n }\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 3) {\n return 'राति';\n } else if (hour < 12) {\n return 'बिहान';\n } else if (hour < 16) {\n return 'दिउँसो';\n } else if (hour < 20) {\n return 'साँझ';\n } else {\n return 'राति';\n }\n },\n calendar : {\n sameDay : '[आज] LT',\n nextDay : '[भोलि] LT',\n nextWeek : '[आउँदो] dddd[,] LT',\n lastDay : '[हिजो] LT',\n lastWeek : '[गएको] dddd[,] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%sमा',\n past : '%s अगाडि',\n s : 'केही क्षण',\n ss : '%d सेकेण्ड',\n m : 'एक मिनेट',\n mm : '%d मिनेट',\n h : 'एक घण्टा',\n hh : '%d घण्टा',\n d : 'एक दिन',\n dd : '%d दिन',\n M : 'एक महिना',\n MM : '%d महिना',\n y : 'एक बर्ष',\n yy : '%d बर्ष'\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return ne;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var nb = moment.defineLocale('nb', {\n months : 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split('_'),\n monthsShort : 'jan._feb._mars_april_mai_juni_juli_aug._sep._okt._nov._des.'.split('_'),\n monthsParseExact : true,\n weekdays : 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),\n weekdaysShort : 'sø._ma._ti._on._to._fr._lø.'.split('_'),\n weekdaysMin : 'sø_ma_ti_on_to_fr_lø'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY [kl.] HH:mm',\n LLLL : 'dddd D. MMMM YYYY [kl.] HH:mm'\n },\n calendar : {\n sameDay: '[i dag kl.] LT',\n nextDay: '[i morgen kl.] LT',\n nextWeek: 'dddd [kl.] LT',\n lastDay: '[i går kl.] LT',\n lastWeek: '[forrige] dddd [kl.] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'om %s',\n past : '%s siden',\n s : 'noen sekunder',\n ss : '%d sekunder',\n m : 'ett minutt',\n mm : '%d minutter',\n h : 'en time',\n hh : '%d timer',\n d : 'en dag',\n dd : '%d dager',\n M : 'en måned',\n MM : '%d måneder',\n y : 'ett år',\n yy : '%d år'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return nb;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '၁',\n '2': '၂',\n '3': '၃',\n '4': '၄',\n '5': '၅',\n '6': '၆',\n '7': '၇',\n '8': '၈',\n '9': '၉',\n '0': '၀'\n }, numberMap = {\n '၁': '1',\n '၂': '2',\n '၃': '3',\n '၄': '4',\n '၅': '5',\n '၆': '6',\n '၇': '7',\n '၈': '8',\n '၉': '9',\n '၀': '0'\n };\n\n var my = moment.defineLocale('my', {\n months: 'ဇန်နဝါရီ_ဖေဖော်ဝါရီ_မတ်_ဧပြီ_မေ_ဇွန်_ဇူလိုင်_သြဂုတ်_စက်တင်ဘာ_အောက်တိုဘာ_နိုဝင်ဘာ_ဒီဇင်ဘာ'.split('_'),\n monthsShort: 'ဇန်_ဖေ_မတ်_ပြီ_မေ_ဇွန်_လိုင်_သြ_စက်_အောက်_နို_ဒီ'.split('_'),\n weekdays: 'တနင်္ဂနွေ_တနင်္လာ_အင်္ဂါ_ဗုဒ္ဓဟူး_ကြာသပတေး_သောကြာ_စနေ'.split('_'),\n weekdaysShort: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'),\n weekdaysMin: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'),\n\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[ယနေ.] LT [မှာ]',\n nextDay: '[မနက်ဖြန်] LT [မှာ]',\n nextWeek: 'dddd LT [မှာ]',\n lastDay: '[မနေ.က] LT [မှာ]',\n lastWeek: '[ပြီးခဲ့သော] dddd LT [မှာ]',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'လာမည့် %s မှာ',\n past: 'လွန်ခဲ့သော %s က',\n s: 'စက္ကန်.အနည်းငယ်',\n ss : '%d စက္ကန့်',\n m: 'တစ်မိနစ်',\n mm: '%d မိနစ်',\n h: 'တစ်နာရီ',\n hh: '%d နာရီ',\n d: 'တစ်ရက်',\n dd: '%d ရက်',\n M: 'တစ်လ',\n MM: '%d လ',\n y: 'တစ်နှစ်',\n yy: '%d နှစ်'\n },\n preparse: function (string) {\n return string.replace(/[၁၂၃၄၅၆၇၈၉၀]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return my;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var mt = moment.defineLocale('mt', {\n months : 'Jannar_Frar_Marzu_April_Mejju_Ġunju_Lulju_Awwissu_Settembru_Ottubru_Novembru_Diċembru'.split('_'),\n monthsShort : 'Jan_Fra_Mar_Apr_Mej_Ġun_Lul_Aww_Set_Ott_Nov_Diċ'.split('_'),\n weekdays : 'Il-Ħadd_It-Tnejn_It-Tlieta_L-Erbgħa_Il-Ħamis_Il-Ġimgħa_Is-Sibt'.split('_'),\n weekdaysShort : 'Ħad_Tne_Tli_Erb_Ħam_Ġim_Sib'.split('_'),\n weekdaysMin : 'Ħa_Tn_Tl_Er_Ħa_Ġi_Si'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Illum fil-]LT',\n nextDay : '[Għada fil-]LT',\n nextWeek : 'dddd [fil-]LT',\n lastDay : '[Il-bieraħ fil-]LT',\n lastWeek : 'dddd [li għadda] [fil-]LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'f’ %s',\n past : '%s ilu',\n s : 'ftit sekondi',\n ss : '%d sekondi',\n m : 'minuta',\n mm : '%d minuti',\n h : 'siegħa',\n hh : '%d siegħat',\n d : 'ġurnata',\n dd : '%d ġranet',\n M : 'xahar',\n MM : '%d xhur',\n y : 'sena',\n yy : '%d sni'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}º/,\n ordinal: '%dº',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return mt;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var msMy = moment.defineLocale('ms-my', {\n months : 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split('_'),\n monthsShort : 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'),\n weekdays : 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'),\n weekdaysShort : 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'),\n weekdaysMin : 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'),\n longDateFormat : {\n LT : 'HH.mm',\n LTS : 'HH.mm.ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY [pukul] HH.mm',\n LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm'\n },\n meridiemParse: /pagi|tengahari|petang|malam/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'pagi') {\n return hour;\n } else if (meridiem === 'tengahari') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'petang' || meridiem === 'malam') {\n return hour + 12;\n }\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'pagi';\n } else if (hours < 15) {\n return 'tengahari';\n } else if (hours < 19) {\n return 'petang';\n } else {\n return 'malam';\n }\n },\n calendar : {\n sameDay : '[Hari ini pukul] LT',\n nextDay : '[Esok pukul] LT',\n nextWeek : 'dddd [pukul] LT',\n lastDay : '[Kelmarin pukul] LT',\n lastWeek : 'dddd [lepas pukul] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'dalam %s',\n past : '%s yang lepas',\n s : 'beberapa saat',\n ss : '%d saat',\n m : 'seminit',\n mm : '%d minit',\n h : 'sejam',\n hh : '%d jam',\n d : 'sehari',\n dd : '%d hari',\n M : 'sebulan',\n MM : '%d bulan',\n y : 'setahun',\n yy : '%d tahun'\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return msMy;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var ms = moment.defineLocale('ms', {\n months : 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split('_'),\n monthsShort : 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'),\n weekdays : 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'),\n weekdaysShort : 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'),\n weekdaysMin : 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'),\n longDateFormat : {\n LT : 'HH.mm',\n LTS : 'HH.mm.ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY [pukul] HH.mm',\n LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm'\n },\n meridiemParse: /pagi|tengahari|petang|malam/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'pagi') {\n return hour;\n } else if (meridiem === 'tengahari') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'petang' || meridiem === 'malam') {\n return hour + 12;\n }\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'pagi';\n } else if (hours < 15) {\n return 'tengahari';\n } else if (hours < 19) {\n return 'petang';\n } else {\n return 'malam';\n }\n },\n calendar : {\n sameDay : '[Hari ini pukul] LT',\n nextDay : '[Esok pukul] LT',\n nextWeek : 'dddd [pukul] LT',\n lastDay : '[Kelmarin pukul] LT',\n lastWeek : 'dddd [lepas pukul] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'dalam %s',\n past : '%s yang lepas',\n s : 'beberapa saat',\n ss : '%d saat',\n m : 'seminit',\n mm : '%d minit',\n h : 'sejam',\n hh : '%d jam',\n d : 'sehari',\n dd : '%d hari',\n M : 'sebulan',\n MM : '%d bulan',\n y : 'setahun',\n yy : '%d tahun'\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return ms;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '१',\n '2': '२',\n '3': '३',\n '4': '४',\n '5': '५',\n '6': '६',\n '7': '७',\n '8': '८',\n '9': '९',\n '0': '०'\n },\n numberMap = {\n '१': '1',\n '२': '2',\n '३': '3',\n '४': '4',\n '५': '5',\n '६': '6',\n '७': '7',\n '८': '8',\n '९': '9',\n '०': '0'\n };\n\n function relativeTimeMr(number, withoutSuffix, string, isFuture)\n {\n var output = '';\n if (withoutSuffix) {\n switch (string) {\n case 's': output = 'काही सेकंद'; break;\n case 'ss': output = '%d सेकंद'; break;\n case 'm': output = 'एक मिनिट'; break;\n case 'mm': output = '%d मिनिटे'; break;\n case 'h': output = 'एक तास'; break;\n case 'hh': output = '%d तास'; break;\n case 'd': output = 'एक दिवस'; break;\n case 'dd': output = '%d दिवस'; break;\n case 'M': output = 'एक महिना'; break;\n case 'MM': output = '%d महिने'; break;\n case 'y': output = 'एक वर्ष'; break;\n case 'yy': output = '%d वर्षे'; break;\n }\n }\n else {\n switch (string) {\n case 's': output = 'काही सेकंदां'; break;\n case 'ss': output = '%d सेकंदां'; break;\n case 'm': output = 'एका मिनिटा'; break;\n case 'mm': output = '%d मिनिटां'; break;\n case 'h': output = 'एका तासा'; break;\n case 'hh': output = '%d तासां'; break;\n case 'd': output = 'एका दिवसा'; break;\n case 'dd': output = '%d दिवसां'; break;\n case 'M': output = 'एका महिन्या'; break;\n case 'MM': output = '%d महिन्यां'; break;\n case 'y': output = 'एका वर्षा'; break;\n case 'yy': output = '%d वर्षां'; break;\n }\n }\n return output.replace(/%d/i, number);\n }\n\n var mr = moment.defineLocale('mr', {\n months : 'जानेवारी_फेब्रुवारी_मार्च_एप्रिल_मे_जून_जुलै_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर'.split('_'),\n monthsShort: 'जाने._फेब्रु._मार्च._एप्रि._मे._जून._जुलै._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.'.split('_'),\n monthsParseExact : true,\n weekdays : 'रविवार_सोमवार_मंगळवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'),\n weekdaysShort : 'रवि_सोम_मंगळ_बुध_गुरू_शुक्र_शनि'.split('_'),\n weekdaysMin : 'र_सो_मं_बु_गु_शु_श'.split('_'),\n longDateFormat : {\n LT : 'A h:mm वाजता',\n LTS : 'A h:mm:ss वाजता',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, A h:mm वाजता',\n LLLL : 'dddd, D MMMM YYYY, A h:mm वाजता'\n },\n calendar : {\n sameDay : '[आज] LT',\n nextDay : '[उद्या] LT',\n nextWeek : 'dddd, LT',\n lastDay : '[काल] LT',\n lastWeek: '[मागील] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future: '%sमध्ये',\n past: '%sपूर्वी',\n s: relativeTimeMr,\n ss: relativeTimeMr,\n m: relativeTimeMr,\n mm: relativeTimeMr,\n h: relativeTimeMr,\n hh: relativeTimeMr,\n d: relativeTimeMr,\n dd: relativeTimeMr,\n M: relativeTimeMr,\n MM: relativeTimeMr,\n y: relativeTimeMr,\n yy: relativeTimeMr\n },\n preparse: function (string) {\n return string.replace(/[१२३४५६७८९०]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /रात्री|सकाळी|दुपारी|सायंकाळी/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'रात्री') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'सकाळी') {\n return hour;\n } else if (meridiem === 'दुपारी') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'सायंकाळी') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'रात्री';\n } else if (hour < 10) {\n return 'सकाळी';\n } else if (hour < 17) {\n return 'दुपारी';\n } else if (hour < 20) {\n return 'सायंकाळी';\n } else {\n return 'रात्री';\n }\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return mr;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function translate(number, withoutSuffix, key, isFuture) {\n switch (key) {\n case 's':\n return withoutSuffix ? 'хэдхэн секунд' : 'хэдхэн секундын';\n case 'ss':\n return number + (withoutSuffix ? ' секунд' : ' секундын');\n case 'm':\n case 'mm':\n return number + (withoutSuffix ? ' минут' : ' минутын');\n case 'h':\n case 'hh':\n return number + (withoutSuffix ? ' цаг' : ' цагийн');\n case 'd':\n case 'dd':\n return number + (withoutSuffix ? ' өдөр' : ' өдрийн');\n case 'M':\n case 'MM':\n return number + (withoutSuffix ? ' сар' : ' сарын');\n case 'y':\n case 'yy':\n return number + (withoutSuffix ? ' жил' : ' жилийн');\n default:\n return number;\n }\n }\n\n var mn = moment.defineLocale('mn', {\n months : 'Нэгдүгээр сар_Хоёрдугаар сар_Гуравдугаар сар_Дөрөвдүгээр сар_Тавдугаар сар_Зургадугаар сар_Долдугаар сар_Наймдугаар сар_Есдүгээр сар_Аравдугаар сар_Арван нэгдүгээр сар_Арван хоёрдугаар сар'.split('_'),\n monthsShort : '1 сар_2 сар_3 сар_4 сар_5 сар_6 сар_7 сар_8 сар_9 сар_10 сар_11 сар_12 сар'.split('_'),\n monthsParseExact : true,\n weekdays : 'Ням_Даваа_Мягмар_Лхагва_Пүрэв_Баасан_Бямба'.split('_'),\n weekdaysShort : 'Ням_Дав_Мяг_Лха_Пүр_Баа_Бям'.split('_'),\n weekdaysMin : 'Ня_Да_Мя_Лх_Пү_Ба_Бя'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY-MM-DD',\n LL : 'YYYY оны MMMMын D',\n LLL : 'YYYY оны MMMMын D HH:mm',\n LLLL : 'dddd, YYYY оны MMMMын D HH:mm'\n },\n meridiemParse: /ҮӨ|ҮХ/i,\n isPM : function (input) {\n return input === 'ҮХ';\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ҮӨ';\n } else {\n return 'ҮХ';\n }\n },\n calendar : {\n sameDay : '[Өнөөдөр] LT',\n nextDay : '[Маргааш] LT',\n nextWeek : '[Ирэх] dddd LT',\n lastDay : '[Өчигдөр] LT',\n lastWeek : '[Өнгөрсөн] dddd LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s дараа',\n past : '%s өмнө',\n s : translate,\n ss : translate,\n m : translate,\n mm : translate,\n h : translate,\n hh : translate,\n d : translate,\n dd : translate,\n M : translate,\n MM : translate,\n y : translate,\n yy : translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2} өдөр/,\n ordinal : function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + ' өдөр';\n default:\n return number;\n }\n }\n });\n\n return mn;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var ml = moment.defineLocale('ml', {\n months : 'ജനുവരി_ഫെബ്രുവരി_മാർച്ച്_ഏപ്രിൽ_മേയ്_ജൂൺ_ജൂലൈ_ഓഗസ്റ്റ്_സെപ്റ്റംബർ_ഒക്ടോബർ_നവംബർ_ഡിസംബർ'.split('_'),\n monthsShort : 'ജനു._ഫെബ്രു._മാർ._ഏപ്രി._മേയ്_ജൂൺ_ജൂലൈ._ഓഗ._സെപ്റ്റ._ഒക്ടോ._നവം._ഡിസം.'.split('_'),\n monthsParseExact : true,\n weekdays : 'ഞായറാഴ്ച_തിങ്കളാഴ്ച_ചൊവ്വാഴ്ച_ബുധനാഴ്ച_വ്യാഴാഴ്ച_വെള്ളിയാഴ്ച_ശനിയാഴ്ച'.split('_'),\n weekdaysShort : 'ഞായർ_തിങ്കൾ_ചൊവ്വ_ബുധൻ_വ്യാഴം_വെള്ളി_ശനി'.split('_'),\n weekdaysMin : 'ഞാ_തി_ചൊ_ബു_വ്യാ_വെ_ശ'.split('_'),\n longDateFormat : {\n LT : 'A h:mm -നു',\n LTS : 'A h:mm:ss -നു',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, A h:mm -നു',\n LLLL : 'dddd, D MMMM YYYY, A h:mm -നു'\n },\n calendar : {\n sameDay : '[ഇന്ന്] LT',\n nextDay : '[നാളെ] LT',\n nextWeek : 'dddd, LT',\n lastDay : '[ഇന്നലെ] LT',\n lastWeek : '[കഴിഞ്ഞ] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s കഴിഞ്ഞ്',\n past : '%s മുൻപ്',\n s : 'അൽപ നിമിഷങ്ങൾ',\n ss : '%d സെക്കൻഡ്',\n m : 'ഒരു മിനിറ്റ്',\n mm : '%d മിനിറ്റ്',\n h : 'ഒരു മണിക്കൂർ',\n hh : '%d മണിക്കൂർ',\n d : 'ഒരു ദിവസം',\n dd : '%d ദിവസം',\n M : 'ഒരു മാസം',\n MM : '%d മാസം',\n y : 'ഒരു വർഷം',\n yy : '%d വർഷം'\n },\n meridiemParse: /രാത്രി|രാവിലെ|ഉച്ച കഴിഞ്ഞ്|വൈകുന്നേരം|രാത്രി/i,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if ((meridiem === 'രാത്രി' && hour >= 4) ||\n meridiem === 'ഉച്ച കഴിഞ്ഞ്' ||\n meridiem === 'വൈകുന്നേരം') {\n return hour + 12;\n } else {\n return hour;\n }\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'രാത്രി';\n } else if (hour < 12) {\n return 'രാവിലെ';\n } else if (hour < 17) {\n return 'ഉച്ച കഴിഞ്ഞ്';\n } else if (hour < 20) {\n return 'വൈകുന്നേരം';\n } else {\n return 'രാത്രി';\n }\n }\n });\n\n return ml;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var mk = moment.defineLocale('mk', {\n months : 'јануари_февруари_март_април_мај_јуни_јули_август_септември_октомври_ноември_декември'.split('_'),\n monthsShort : 'јан_фев_мар_апр_мај_јун_јул_авг_сеп_окт_ное_дек'.split('_'),\n weekdays : 'недела_понеделник_вторник_среда_четврток_петок_сабота'.split('_'),\n weekdaysShort : 'нед_пон_вто_сре_чет_пет_саб'.split('_'),\n weekdaysMin : 'нe_пo_вт_ср_че_пе_сa'.split('_'),\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'D.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY H:mm',\n LLLL : 'dddd, D MMMM YYYY H:mm'\n },\n calendar : {\n sameDay : '[Денес во] LT',\n nextDay : '[Утре во] LT',\n nextWeek : '[Во] dddd [во] LT',\n lastDay : '[Вчера во] LT',\n lastWeek : function () {\n switch (this.day()) {\n case 0:\n case 3:\n case 6:\n return '[Изминатата] dddd [во] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[Изминатиот] dddd [во] LT';\n }\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'после %s',\n past : 'пред %s',\n s : 'неколку секунди',\n ss : '%d секунди',\n m : 'минута',\n mm : '%d минути',\n h : 'час',\n hh : '%d часа',\n d : 'ден',\n dd : '%d дена',\n M : 'месец',\n MM : '%d месеци',\n y : 'година',\n yy : '%d години'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ев|ен|ти|ви|ри|ми)/,\n ordinal : function (number) {\n var lastDigit = number % 10,\n last2Digits = number % 100;\n if (number === 0) {\n return number + '-ев';\n } else if (last2Digits === 0) {\n return number + '-ен';\n } else if (last2Digits > 10 && last2Digits < 20) {\n return number + '-ти';\n } else if (lastDigit === 1) {\n return number + '-ви';\n } else if (lastDigit === 2) {\n return number + '-ри';\n } else if (lastDigit === 7 || lastDigit === 8) {\n return number + '-ми';\n } else {\n return number + '-ти';\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return mk;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var mi = moment.defineLocale('mi', {\n months: 'Kohi-tāte_Hui-tanguru_Poutū-te-rangi_Paenga-whāwhā_Haratua_Pipiri_Hōngoingoi_Here-turi-kōkā_Mahuru_Whiringa-ā-nuku_Whiringa-ā-rangi_Hakihea'.split('_'),\n monthsShort: 'Kohi_Hui_Pou_Pae_Hara_Pipi_Hōngoi_Here_Mahu_Whi-nu_Whi-ra_Haki'.split('_'),\n monthsRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,\n monthsStrictRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,\n monthsShortRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,\n monthsShortStrictRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,2}/i,\n weekdays: 'Rātapu_Mane_Tūrei_Wenerei_Tāite_Paraire_Hātarei'.split('_'),\n weekdaysShort: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'),\n weekdaysMin: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY [i] HH:mm',\n LLLL: 'dddd, D MMMM YYYY [i] HH:mm'\n },\n calendar: {\n sameDay: '[i teie mahana, i] LT',\n nextDay: '[apopo i] LT',\n nextWeek: 'dddd [i] LT',\n lastDay: '[inanahi i] LT',\n lastWeek: 'dddd [whakamutunga i] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'i roto i %s',\n past: '%s i mua',\n s: 'te hēkona ruarua',\n ss: '%d hēkona',\n m: 'he meneti',\n mm: '%d meneti',\n h: 'te haora',\n hh: '%d haora',\n d: 'he ra',\n dd: '%d ra',\n M: 'he marama',\n MM: '%d marama',\n y: 'he tau',\n yy: '%d tau'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return mi;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var translator = {\n words: { //Different grammatical cases\n ss: ['sekund', 'sekunda', 'sekundi'],\n m: ['jedan minut', 'jednog minuta'],\n mm: ['minut', 'minuta', 'minuta'],\n h: ['jedan sat', 'jednog sata'],\n hh: ['sat', 'sata', 'sati'],\n dd: ['dan', 'dana', 'dana'],\n MM: ['mjesec', 'mjeseca', 'mjeseci'],\n yy: ['godina', 'godine', 'godina']\n },\n correctGrammaticalCase: function (number, wordKey) {\n return number === 1 ? wordKey[0] : (number >= 2 && number <= 4 ? wordKey[1] : wordKey[2]);\n },\n translate: function (number, withoutSuffix, key) {\n var wordKey = translator.words[key];\n if (key.length === 1) {\n return withoutSuffix ? wordKey[0] : wordKey[1];\n } else {\n return number + ' ' + translator.correctGrammaticalCase(number, wordKey);\n }\n }\n };\n\n var me = moment.defineLocale('me', {\n months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split('_'),\n monthsShort: 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split('_'),\n monthsParseExact : true,\n weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split('_'),\n weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact : true,\n longDateFormat: {\n LT: 'H:mm',\n LTS : 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd, D. MMMM YYYY H:mm'\n },\n calendar: {\n sameDay: '[danas u] LT',\n nextDay: '[sjutra u] LT',\n\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[u] [nedjelju] [u] LT';\n case 3:\n return '[u] [srijedu] [u] LT';\n case 6:\n return '[u] [subotu] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay : '[juče u] LT',\n lastWeek : function () {\n var lastWeekDays = [\n '[prošle] [nedjelje] [u] LT',\n '[prošlog] [ponedjeljka] [u] LT',\n '[prošlog] [utorka] [u] LT',\n '[prošle] [srijede] [u] LT',\n '[prošlog] [četvrtka] [u] LT',\n '[prošlog] [petka] [u] LT',\n '[prošle] [subote] [u] LT'\n ];\n return lastWeekDays[this.day()];\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'za %s',\n past : 'prije %s',\n s : 'nekoliko sekundi',\n ss : translator.translate,\n m : translator.translate,\n mm : translator.translate,\n h : translator.translate,\n hh : translator.translate,\n d : 'dan',\n dd : translator.translate,\n M : 'mjesec',\n MM : translator.translate,\n y : 'godinu',\n yy : translator.translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return me;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var units = {\n 'ss': 'sekundes_sekundēm_sekunde_sekundes'.split('_'),\n 'm': 'minūtes_minūtēm_minūte_minūtes'.split('_'),\n 'mm': 'minūtes_minūtēm_minūte_minūtes'.split('_'),\n 'h': 'stundas_stundām_stunda_stundas'.split('_'),\n 'hh': 'stundas_stundām_stunda_stundas'.split('_'),\n 'd': 'dienas_dienām_diena_dienas'.split('_'),\n 'dd': 'dienas_dienām_diena_dienas'.split('_'),\n 'M': 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'),\n 'MM': 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'),\n 'y': 'gada_gadiem_gads_gadi'.split('_'),\n 'yy': 'gada_gadiem_gads_gadi'.split('_')\n };\n /**\n * @param withoutSuffix boolean true = a length of time; false = before/after a period of time.\n */\n function format(forms, number, withoutSuffix) {\n if (withoutSuffix) {\n // E.g. \"21 minūte\", \"3 minūtes\".\n return number % 10 === 1 && number % 100 !== 11 ? forms[2] : forms[3];\n } else {\n // E.g. \"21 minūtes\" as in \"pēc 21 minūtes\".\n // E.g. \"3 minūtēm\" as in \"pēc 3 minūtēm\".\n return number % 10 === 1 && number % 100 !== 11 ? forms[0] : forms[1];\n }\n }\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n return number + ' ' + format(units[key], number, withoutSuffix);\n }\n function relativeTimeWithSingular(number, withoutSuffix, key) {\n return format(units[key], number, withoutSuffix);\n }\n function relativeSeconds(number, withoutSuffix) {\n return withoutSuffix ? 'dažas sekundes' : 'dažām sekundēm';\n }\n\n var lv = moment.defineLocale('lv', {\n months : 'janvāris_februāris_marts_aprīlis_maijs_jūnijs_jūlijs_augusts_septembris_oktobris_novembris_decembris'.split('_'),\n monthsShort : 'jan_feb_mar_apr_mai_jūn_jūl_aug_sep_okt_nov_dec'.split('_'),\n weekdays : 'svētdiena_pirmdiena_otrdiena_trešdiena_ceturtdiena_piektdiena_sestdiena'.split('_'),\n weekdaysShort : 'Sv_P_O_T_C_Pk_S'.split('_'),\n weekdaysMin : 'Sv_P_O_T_C_Pk_S'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY.',\n LL : 'YYYY. [gada] D. MMMM',\n LLL : 'YYYY. [gada] D. MMMM, HH:mm',\n LLLL : 'YYYY. [gada] D. MMMM, dddd, HH:mm'\n },\n calendar : {\n sameDay : '[Šodien pulksten] LT',\n nextDay : '[Rīt pulksten] LT',\n nextWeek : 'dddd [pulksten] LT',\n lastDay : '[Vakar pulksten] LT',\n lastWeek : '[Pagājušā] dddd [pulksten] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'pēc %s',\n past : 'pirms %s',\n s : relativeSeconds,\n ss : relativeTimeWithPlural,\n m : relativeTimeWithSingular,\n mm : relativeTimeWithPlural,\n h : relativeTimeWithSingular,\n hh : relativeTimeWithPlural,\n d : relativeTimeWithSingular,\n dd : relativeTimeWithPlural,\n M : relativeTimeWithSingular,\n MM : relativeTimeWithPlural,\n y : relativeTimeWithSingular,\n yy : relativeTimeWithPlural\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return lv;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var units = {\n 'ss' : 'sekundė_sekundžių_sekundes',\n 'm' : 'minutė_minutės_minutę',\n 'mm': 'minutės_minučių_minutes',\n 'h' : 'valanda_valandos_valandą',\n 'hh': 'valandos_valandų_valandas',\n 'd' : 'diena_dienos_dieną',\n 'dd': 'dienos_dienų_dienas',\n 'M' : 'mėnuo_mėnesio_mėnesį',\n 'MM': 'mėnesiai_mėnesių_mėnesius',\n 'y' : 'metai_metų_metus',\n 'yy': 'metai_metų_metus'\n };\n function translateSeconds(number, withoutSuffix, key, isFuture) {\n if (withoutSuffix) {\n return 'kelios sekundės';\n } else {\n return isFuture ? 'kelių sekundžių' : 'kelias sekundes';\n }\n }\n function translateSingular(number, withoutSuffix, key, isFuture) {\n return withoutSuffix ? forms(key)[0] : (isFuture ? forms(key)[1] : forms(key)[2]);\n }\n function special(number) {\n return number % 10 === 0 || (number > 10 && number < 20);\n }\n function forms(key) {\n return units[key].split('_');\n }\n function translate(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n if (number === 1) {\n return result + translateSingular(number, withoutSuffix, key[0], isFuture);\n } else if (withoutSuffix) {\n return result + (special(number) ? forms(key)[1] : forms(key)[0]);\n } else {\n if (isFuture) {\n return result + forms(key)[1];\n } else {\n return result + (special(number) ? forms(key)[1] : forms(key)[2]);\n }\n }\n }\n var lt = moment.defineLocale('lt', {\n months : {\n format: 'sausio_vasario_kovo_balandžio_gegužės_birželio_liepos_rugpjūčio_rugsėjo_spalio_lapkričio_gruodžio'.split('_'),\n standalone: 'sausis_vasaris_kovas_balandis_gegužė_birželis_liepa_rugpjūtis_rugsėjis_spalis_lapkritis_gruodis'.split('_'),\n isFormat: /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?|MMMM?(\\[[^\\[\\]]*\\]|\\s)+D[oD]?/\n },\n monthsShort : 'sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd'.split('_'),\n weekdays : {\n format: 'sekmadienį_pirmadienį_antradienį_trečiadienį_ketvirtadienį_penktadienį_šeštadienį'.split('_'),\n standalone: 'sekmadienis_pirmadienis_antradienis_trečiadienis_ketvirtadienis_penktadienis_šeštadienis'.split('_'),\n isFormat: /dddd HH:mm/\n },\n weekdaysShort : 'Sek_Pir_Ant_Tre_Ket_Pen_Šeš'.split('_'),\n weekdaysMin : 'S_P_A_T_K_Pn_Š'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY-MM-DD',\n LL : 'YYYY [m.] MMMM D [d.]',\n LLL : 'YYYY [m.] MMMM D [d.], HH:mm [val.]',\n LLLL : 'YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]',\n l : 'YYYY-MM-DD',\n ll : 'YYYY [m.] MMMM D [d.]',\n lll : 'YYYY [m.] MMMM D [d.], HH:mm [val.]',\n llll : 'YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]'\n },\n calendar : {\n sameDay : '[Šiandien] LT',\n nextDay : '[Rytoj] LT',\n nextWeek : 'dddd LT',\n lastDay : '[Vakar] LT',\n lastWeek : '[Praėjusį] dddd LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'po %s',\n past : 'prieš %s',\n s : translateSeconds,\n ss : translate,\n m : translateSingular,\n mm : translate,\n h : translateSingular,\n hh : translate,\n d : translateSingular,\n dd : translate,\n M : translateSingular,\n MM : translate,\n y : translateSingular,\n yy : translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-oji/,\n ordinal : function (number) {\n return number + '-oji';\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return lt;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var lo = moment.defineLocale('lo', {\n months : 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split('_'),\n monthsShort : 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split('_'),\n weekdays : 'ອາທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'),\n weekdaysShort : 'ທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'),\n weekdaysMin : 'ທ_ຈ_ອຄ_ພ_ພຫ_ສກ_ສ'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'ວັນdddd D MMMM YYYY HH:mm'\n },\n meridiemParse: /ຕອນເຊົ້າ|ຕອນແລງ/,\n isPM: function (input) {\n return input === 'ຕອນແລງ';\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ຕອນເຊົ້າ';\n } else {\n return 'ຕອນແລງ';\n }\n },\n calendar : {\n sameDay : '[ມື້ນີ້ເວລາ] LT',\n nextDay : '[ມື້ອື່ນເວລາ] LT',\n nextWeek : '[ວັນ]dddd[ໜ້າເວລາ] LT',\n lastDay : '[ມື້ວານນີ້ເວລາ] LT',\n lastWeek : '[ວັນ]dddd[ແລ້ວນີ້ເວລາ] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'ອີກ %s',\n past : '%sຜ່ານມາ',\n s : 'ບໍ່ເທົ່າໃດວິນາທີ',\n ss : '%d ວິນາທີ' ,\n m : '1 ນາທີ',\n mm : '%d ນາທີ',\n h : '1 ຊົ່ວໂມງ',\n hh : '%d ຊົ່ວໂມງ',\n d : '1 ມື້',\n dd : '%d ມື້',\n M : '1 ເດືອນ',\n MM : '%d ເດືອນ',\n y : '1 ປີ',\n yy : '%d ປີ'\n },\n dayOfMonthOrdinalParse: /(ທີ່)\\d{1,2}/,\n ordinal : function (number) {\n return 'ທີ່' + number;\n }\n });\n\n return lo;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n 'm': ['eng Minutt', 'enger Minutt'],\n 'h': ['eng Stonn', 'enger Stonn'],\n 'd': ['een Dag', 'engem Dag'],\n 'M': ['ee Mount', 'engem Mount'],\n 'y': ['ee Joer', 'engem Joer']\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n function processFutureTime(string) {\n var number = string.substr(0, string.indexOf(' '));\n if (eifelerRegelAppliesToNumber(number)) {\n return 'a ' + string;\n }\n return 'an ' + string;\n }\n function processPastTime(string) {\n var number = string.substr(0, string.indexOf(' '));\n if (eifelerRegelAppliesToNumber(number)) {\n return 'viru ' + string;\n }\n return 'virun ' + string;\n }\n /**\n * Returns true if the word before the given number loses the '-n' ending.\n * e.g. 'an 10 Deeg' but 'a 5 Deeg'\n *\n * @param number {integer}\n * @returns {boolean}\n */\n function eifelerRegelAppliesToNumber(number) {\n number = parseInt(number, 10);\n if (isNaN(number)) {\n return false;\n }\n if (number < 0) {\n // Negative Number --> always true\n return true;\n } else if (number < 10) {\n // Only 1 digit\n if (4 <= number && number <= 7) {\n return true;\n }\n return false;\n } else if (number < 100) {\n // 2 digits\n var lastDigit = number % 10, firstDigit = number / 10;\n if (lastDigit === 0) {\n return eifelerRegelAppliesToNumber(firstDigit);\n }\n return eifelerRegelAppliesToNumber(lastDigit);\n } else if (number < 10000) {\n // 3 or 4 digits --> recursively check first digit\n while (number >= 10) {\n number = number / 10;\n }\n return eifelerRegelAppliesToNumber(number);\n } else {\n // Anything larger than 4 digits: recursively check first n-3 digits\n number = number / 1000;\n return eifelerRegelAppliesToNumber(number);\n }\n }\n\n var lb = moment.defineLocale('lb', {\n months: 'Januar_Februar_Mäerz_Abrëll_Mee_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),\n monthsShort: 'Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.'.split('_'),\n monthsParseExact : true,\n weekdays: 'Sonndeg_Méindeg_Dënschdeg_Mëttwoch_Donneschdeg_Freideg_Samschdeg'.split('_'),\n weekdaysShort: 'So._Mé._Dë._Më._Do._Fr._Sa.'.split('_'),\n weekdaysMin: 'So_Mé_Dë_Më_Do_Fr_Sa'.split('_'),\n weekdaysParseExact : true,\n longDateFormat: {\n LT: 'H:mm [Auer]',\n LTS: 'H:mm:ss [Auer]',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm [Auer]',\n LLLL: 'dddd, D. MMMM YYYY H:mm [Auer]'\n },\n calendar: {\n sameDay: '[Haut um] LT',\n sameElse: 'L',\n nextDay: '[Muer um] LT',\n nextWeek: 'dddd [um] LT',\n lastDay: '[Gëschter um] LT',\n lastWeek: function () {\n // Different date string for 'Dënschdeg' (Tuesday) and 'Donneschdeg' (Thursday) due to phonological rule\n switch (this.day()) {\n case 2:\n case 4:\n return '[Leschten] dddd [um] LT';\n default:\n return '[Leschte] dddd [um] LT';\n }\n }\n },\n relativeTime : {\n future : processFutureTime,\n past : processPastTime,\n s : 'e puer Sekonnen',\n ss : '%d Sekonnen',\n m : processRelativeTime,\n mm : '%d Minutten',\n h : processRelativeTime,\n hh : '%d Stonnen',\n d : processRelativeTime,\n dd : '%d Deeg',\n M : processRelativeTime,\n MM : '%d Méint',\n y : processRelativeTime,\n yy : '%d Joer'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return lb;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var suffixes = {\n 0: '-чү',\n 1: '-чи',\n 2: '-чи',\n 3: '-чү',\n 4: '-чү',\n 5: '-чи',\n 6: '-чы',\n 7: '-чи',\n 8: '-чи',\n 9: '-чу',\n 10: '-чу',\n 20: '-чы',\n 30: '-чу',\n 40: '-чы',\n 50: '-чү',\n 60: '-чы',\n 70: '-чи',\n 80: '-чи',\n 90: '-чу',\n 100: '-чү'\n };\n\n var ky = moment.defineLocale('ky', {\n months : 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split('_'),\n monthsShort : 'янв_фев_март_апр_май_июнь_июль_авг_сен_окт_ноя_дек'.split('_'),\n weekdays : 'Жекшемби_Дүйшөмбү_Шейшемби_Шаршемби_Бейшемби_Жума_Ишемби'.split('_'),\n weekdaysShort : 'Жек_Дүй_Шей_Шар_Бей_Жум_Ише'.split('_'),\n weekdaysMin : 'Жк_Дй_Шй_Шр_Бй_Жм_Иш'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Бүгүн саат] LT',\n nextDay : '[Эртең саат] LT',\n nextWeek : 'dddd [саат] LT',\n lastDay : '[Кече саат] LT',\n lastWeek : '[Өткен аптанын] dddd [күнү] [саат] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s ичинде',\n past : '%s мурун',\n s : 'бирнече секунд',\n ss : '%d секунд',\n m : 'бир мүнөт',\n mm : '%d мүнөт',\n h : 'бир саат',\n hh : '%d саат',\n d : 'бир күн',\n dd : '%d күн',\n M : 'бир ай',\n MM : '%d ай',\n y : 'бир жыл',\n yy : '%d жыл'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(чи|чы|чү|чу)/,\n ordinal : function (number) {\n var a = number % 10,\n b = number >= 100 ? 100 : null;\n return number + (suffixes[number] || suffixes[a] || suffixes[b]);\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return ky;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var ko = moment.defineLocale('ko', {\n months : '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split('_'),\n monthsShort : '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split('_'),\n weekdays : '일요일_월요일_화요일_수요일_목요일_금요일_토요일'.split('_'),\n weekdaysShort : '일_월_화_수_목_금_토'.split('_'),\n weekdaysMin : '일_월_화_수_목_금_토'.split('_'),\n longDateFormat : {\n LT : 'A h:mm',\n LTS : 'A h:mm:ss',\n L : 'YYYY.MM.DD.',\n LL : 'YYYY년 MMMM D일',\n LLL : 'YYYY년 MMMM D일 A h:mm',\n LLLL : 'YYYY년 MMMM D일 dddd A h:mm',\n l : 'YYYY.MM.DD.',\n ll : 'YYYY년 MMMM D일',\n lll : 'YYYY년 MMMM D일 A h:mm',\n llll : 'YYYY년 MMMM D일 dddd A h:mm'\n },\n calendar : {\n sameDay : '오늘 LT',\n nextDay : '내일 LT',\n nextWeek : 'dddd LT',\n lastDay : '어제 LT',\n lastWeek : '지난주 dddd LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s 후',\n past : '%s 전',\n s : '몇 초',\n ss : '%d초',\n m : '1분',\n mm : '%d분',\n h : '한 시간',\n hh : '%d시간',\n d : '하루',\n dd : '%d일',\n M : '한 달',\n MM : '%d달',\n y : '일 년',\n yy : '%d년'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}(일|월|주)/,\n ordinal : function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '일';\n case 'M':\n return number + '월';\n case 'w':\n case 'W':\n return number + '주';\n default:\n return number;\n }\n },\n meridiemParse : /오전|오후/,\n isPM : function (token) {\n return token === '오후';\n },\n meridiem : function (hour, minute, isUpper) {\n return hour < 12 ? '오전' : '오후';\n }\n });\n\n return ko;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '೧',\n '2': '೨',\n '3': '೩',\n '4': '೪',\n '5': '೫',\n '6': '೬',\n '7': '೭',\n '8': '೮',\n '9': '೯',\n '0': '೦'\n },\n numberMap = {\n '೧': '1',\n '೨': '2',\n '೩': '3',\n '೪': '4',\n '೫': '5',\n '೬': '6',\n '೭': '7',\n '೮': '8',\n '೯': '9',\n '೦': '0'\n };\n\n var kn = moment.defineLocale('kn', {\n months : 'ಜನವರಿ_ಫೆಬ್ರವರಿ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂಬರ್_ಅಕ್ಟೋಬರ್_ನವೆಂಬರ್_ಡಿಸೆಂಬರ್'.split('_'),\n monthsShort : 'ಜನ_ಫೆಬ್ರ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂ_ಅಕ್ಟೋ_ನವೆಂ_ಡಿಸೆಂ'.split('_'),\n monthsParseExact: true,\n weekdays : 'ಭಾನುವಾರ_ಸೋಮವಾರ_ಮಂಗಳವಾರ_ಬುಧವಾರ_ಗುರುವಾರ_ಶುಕ್ರವಾರ_ಶನಿವಾರ'.split('_'),\n weekdaysShort : 'ಭಾನು_ಸೋಮ_ಮಂಗಳ_ಬುಧ_ಗುರು_ಶುಕ್ರ_ಶನಿ'.split('_'),\n weekdaysMin : 'ಭಾ_ಸೋ_ಮಂ_ಬು_ಗು_ಶು_ಶ'.split('_'),\n longDateFormat : {\n LT : 'A h:mm',\n LTS : 'A h:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, A h:mm',\n LLLL : 'dddd, D MMMM YYYY, A h:mm'\n },\n calendar : {\n sameDay : '[ಇಂದು] LT',\n nextDay : '[ನಾಳೆ] LT',\n nextWeek : 'dddd, LT',\n lastDay : '[ನಿನ್ನೆ] LT',\n lastWeek : '[ಕೊನೆಯ] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s ನಂತರ',\n past : '%s ಹಿಂದೆ',\n s : 'ಕೆಲವು ಕ್ಷಣಗಳು',\n ss : '%d ಸೆಕೆಂಡುಗಳು',\n m : 'ಒಂದು ನಿಮಿಷ',\n mm : '%d ನಿಮಿಷ',\n h : 'ಒಂದು ಗಂಟೆ',\n hh : '%d ಗಂಟೆ',\n d : 'ಒಂದು ದಿನ',\n dd : '%d ದಿನ',\n M : 'ಒಂದು ತಿಂಗಳು',\n MM : '%d ತಿಂಗಳು',\n y : 'ಒಂದು ವರ್ಷ',\n yy : '%d ವರ್ಷ'\n },\n preparse: function (string) {\n return string.replace(/[೧೨೩೪೫೬೭೮೯೦]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /ರಾತ್ರಿ|ಬೆಳಿಗ್ಗೆ|ಮಧ್ಯಾಹ್ನ|ಸಂಜೆ/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'ರಾತ್ರಿ') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'ಬೆಳಿಗ್ಗೆ') {\n return hour;\n } else if (meridiem === 'ಮಧ್ಯಾಹ್ನ') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'ಸಂಜೆ') {\n return hour + 12;\n }\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ರಾತ್ರಿ';\n } else if (hour < 10) {\n return 'ಬೆಳಿಗ್ಗೆ';\n } else if (hour < 17) {\n return 'ಮಧ್ಯಾಹ್ನ';\n } else if (hour < 20) {\n return 'ಸಂಜೆ';\n } else {\n return 'ರಾತ್ರಿ';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ನೇ)/,\n ordinal : function (number) {\n return number + 'ನೇ';\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return kn;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '១',\n '2': '២',\n '3': '៣',\n '4': '៤',\n '5': '៥',\n '6': '៦',\n '7': '៧',\n '8': '៨',\n '9': '៩',\n '0': '០'\n }, numberMap = {\n '១': '1',\n '២': '2',\n '៣': '3',\n '៤': '4',\n '៥': '5',\n '៦': '6',\n '៧': '7',\n '៨': '8',\n '៩': '9',\n '០': '0'\n };\n\n var km = moment.defineLocale('km', {\n months: 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split(\n '_'\n ),\n monthsShort: 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split(\n '_'\n ),\n weekdays: 'អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍'.split('_'),\n weekdaysShort: 'អា_ច_អ_ព_ព្រ_សុ_ស'.split('_'),\n weekdaysMin: 'អា_ច_អ_ព_ព្រ_សុ_ស'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n meridiemParse: /ព្រឹក|ល្ងាច/,\n isPM: function (input) {\n return input === 'ល្ងាច';\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ព្រឹក';\n } else {\n return 'ល្ងាច';\n }\n },\n calendar: {\n sameDay: '[ថ្ងៃនេះ ម៉ោង] LT',\n nextDay: '[ស្អែក ម៉ោង] LT',\n nextWeek: 'dddd [ម៉ោង] LT',\n lastDay: '[ម្សិលមិញ ម៉ោង] LT',\n lastWeek: 'dddd [សប្តាហ៍មុន] [ម៉ោង] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%sទៀត',\n past: '%sមុន',\n s: 'ប៉ុន្មានវិនាទី',\n ss: '%d វិនាទី',\n m: 'មួយនាទី',\n mm: '%d នាទី',\n h: 'មួយម៉ោង',\n hh: '%d ម៉ោង',\n d: 'មួយថ្ងៃ',\n dd: '%d ថ្ងៃ',\n M: 'មួយខែ',\n MM: '%d ខែ',\n y: 'មួយឆ្នាំ',\n yy: '%d ឆ្នាំ'\n },\n dayOfMonthOrdinalParse : /ទី\\d{1,2}/,\n ordinal : 'ទី%d',\n preparse: function (string) {\n return string.replace(/[១២៣៤៥៦៧៨៩០]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return km;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var suffixes = {\n 0: '-ші',\n 1: '-ші',\n 2: '-ші',\n 3: '-ші',\n 4: '-ші',\n 5: '-ші',\n 6: '-шы',\n 7: '-ші',\n 8: '-ші',\n 9: '-шы',\n 10: '-шы',\n 20: '-шы',\n 30: '-шы',\n 40: '-шы',\n 50: '-ші',\n 60: '-шы',\n 70: '-ші',\n 80: '-ші',\n 90: '-шы',\n 100: '-ші'\n };\n\n var kk = moment.defineLocale('kk', {\n months : 'қаңтар_ақпан_наурыз_сәуір_мамыр_маусым_шілде_тамыз_қыркүйек_қазан_қараша_желтоқсан'.split('_'),\n monthsShort : 'қаң_ақп_нау_сәу_мам_мау_шіл_там_қыр_қаз_қар_жел'.split('_'),\n weekdays : 'жексенбі_дүйсенбі_сейсенбі_сәрсенбі_бейсенбі_жұма_сенбі'.split('_'),\n weekdaysShort : 'жек_дүй_сей_сәр_бей_жұм_сен'.split('_'),\n weekdaysMin : 'жк_дй_сй_ср_бй_жм_сн'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Бүгін сағат] LT',\n nextDay : '[Ертең сағат] LT',\n nextWeek : 'dddd [сағат] LT',\n lastDay : '[Кеше сағат] LT',\n lastWeek : '[Өткен аптаның] dddd [сағат] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s ішінде',\n past : '%s бұрын',\n s : 'бірнеше секунд',\n ss : '%d секунд',\n m : 'бір минут',\n mm : '%d минут',\n h : 'бір сағат',\n hh : '%d сағат',\n d : 'бір күн',\n dd : '%d күн',\n M : 'бір ай',\n MM : '%d ай',\n y : 'бір жыл',\n yy : '%d жыл'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ші|шы)/,\n ordinal : function (number) {\n var a = number % 10,\n b = number >= 100 ? 100 : null;\n return number + (suffixes[number] || suffixes[a] || suffixes[b]);\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return kk;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var ka = moment.defineLocale('ka', {\n months : {\n standalone: 'იანვარი_თებერვალი_მარტი_აპრილი_მაისი_ივნისი_ივლისი_აგვისტო_სექტემბერი_ოქტომბერი_ნოემბერი_დეკემბერი'.split('_'),\n format: 'იანვარს_თებერვალს_მარტს_აპრილის_მაისს_ივნისს_ივლისს_აგვისტს_სექტემბერს_ოქტომბერს_ნოემბერს_დეკემბერს'.split('_')\n },\n monthsShort : 'იან_თებ_მარ_აპრ_მაი_ივნ_ივლ_აგვ_სექ_ოქტ_ნოე_დეკ'.split('_'),\n weekdays : {\n standalone: 'კვირა_ორშაბათი_სამშაბათი_ოთხშაბათი_ხუთშაბათი_პარასკევი_შაბათი'.split('_'),\n format: 'კვირას_ორშაბათს_სამშაბათს_ოთხშაბათს_ხუთშაბათს_პარასკევს_შაბათს'.split('_'),\n isFormat: /(წინა|შემდეგ)/\n },\n weekdaysShort : 'კვი_ორშ_სამ_ოთხ_ხუთ_პარ_შაბ'.split('_'),\n weekdaysMin : 'კვ_ორ_სა_ოთ_ხუ_პა_შა'.split('_'),\n longDateFormat : {\n LT : 'h:mm A',\n LTS : 'h:mm:ss A',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY h:mm A',\n LLLL : 'dddd, D MMMM YYYY h:mm A'\n },\n calendar : {\n sameDay : '[დღეს] LT[-ზე]',\n nextDay : '[ხვალ] LT[-ზე]',\n lastDay : '[გუშინ] LT[-ზე]',\n nextWeek : '[შემდეგ] dddd LT[-ზე]',\n lastWeek : '[წინა] dddd LT-ზე',\n sameElse : 'L'\n },\n relativeTime : {\n future : function (s) {\n return (/(წამი|წუთი|საათი|წელი)/).test(s) ?\n s.replace(/ი$/, 'ში') :\n s + 'ში';\n },\n past : function (s) {\n if ((/(წამი|წუთი|საათი|დღე|თვე)/).test(s)) {\n return s.replace(/(ი|ე)$/, 'ის წინ');\n }\n if ((/წელი/).test(s)) {\n return s.replace(/წელი$/, 'წლის წინ');\n }\n },\n s : 'რამდენიმე წამი',\n ss : '%d წამი',\n m : 'წუთი',\n mm : '%d წუთი',\n h : 'საათი',\n hh : '%d საათი',\n d : 'დღე',\n dd : '%d დღე',\n M : 'თვე',\n MM : '%d თვე',\n y : 'წელი',\n yy : '%d წელი'\n },\n dayOfMonthOrdinalParse: /0|1-ლი|მე-\\d{1,2}|\\d{1,2}-ე/,\n ordinal : function (number) {\n if (number === 0) {\n return number;\n }\n if (number === 1) {\n return number + '-ლი';\n }\n if ((number < 20) || (number <= 100 && (number % 20 === 0)) || (number % 100 === 0)) {\n return 'მე-' + number;\n }\n return number + '-ე';\n },\n week : {\n dow : 1,\n doy : 7\n }\n });\n\n return ka;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var jv = moment.defineLocale('jv', {\n months : 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember'.split('_'),\n monthsShort : 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des'.split('_'),\n weekdays : 'Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu'.split('_'),\n weekdaysShort : 'Min_Sen_Sel_Reb_Kem_Jem_Sep'.split('_'),\n weekdaysMin : 'Mg_Sn_Sl_Rb_Km_Jm_Sp'.split('_'),\n longDateFormat : {\n LT : 'HH.mm',\n LTS : 'HH.mm.ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY [pukul] HH.mm',\n LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm'\n },\n meridiemParse: /enjing|siyang|sonten|ndalu/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'enjing') {\n return hour;\n } else if (meridiem === 'siyang') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'sonten' || meridiem === 'ndalu') {\n return hour + 12;\n }\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'enjing';\n } else if (hours < 15) {\n return 'siyang';\n } else if (hours < 19) {\n return 'sonten';\n } else {\n return 'ndalu';\n }\n },\n calendar : {\n sameDay : '[Dinten puniko pukul] LT',\n nextDay : '[Mbenjang pukul] LT',\n nextWeek : 'dddd [pukul] LT',\n lastDay : '[Kala wingi pukul] LT',\n lastWeek : 'dddd [kepengker pukul] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'wonten ing %s',\n past : '%s ingkang kepengker',\n s : 'sawetawis detik',\n ss : '%d detik',\n m : 'setunggal menit',\n mm : '%d menit',\n h : 'setunggal jam',\n hh : '%d jam',\n d : 'sedinten',\n dd : '%d dinten',\n M : 'sewulan',\n MM : '%d wulan',\n y : 'setaun',\n yy : '%d taun'\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return jv;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var ja = moment.defineLocale('ja', {\n months : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n monthsShort : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n weekdays : '日曜日_月曜日_火曜日_水曜日_木曜日_金曜日_土曜日'.split('_'),\n weekdaysShort : '日_月_火_水_木_金_土'.split('_'),\n weekdaysMin : '日_月_火_水_木_金_土'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY/MM/DD',\n LL : 'YYYY年M月D日',\n LLL : 'YYYY年M月D日 HH:mm',\n LLLL : 'YYYY年M月D日 dddd HH:mm',\n l : 'YYYY/MM/DD',\n ll : 'YYYY年M月D日',\n lll : 'YYYY年M月D日 HH:mm',\n llll : 'YYYY年M月D日(ddd) HH:mm'\n },\n meridiemParse: /午前|午後/i,\n isPM : function (input) {\n return input === '午後';\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return '午前';\n } else {\n return '午後';\n }\n },\n calendar : {\n sameDay : '[今日] LT',\n nextDay : '[明日] LT',\n nextWeek : function (now) {\n if (now.week() < this.week()) {\n return '[来週]dddd LT';\n } else {\n return 'dddd LT';\n }\n },\n lastDay : '[昨日] LT',\n lastWeek : function (now) {\n if (this.week() < now.week()) {\n return '[先週]dddd LT';\n } else {\n return 'dddd LT';\n }\n },\n sameElse : 'L'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}日/,\n ordinal : function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '日';\n default:\n return number;\n }\n },\n relativeTime : {\n future : '%s後',\n past : '%s前',\n s : '数秒',\n ss : '%d秒',\n m : '1分',\n mm : '%d分',\n h : '1時間',\n hh : '%d時間',\n d : '1日',\n dd : '%d日',\n M : '1ヶ月',\n MM : '%dヶ月',\n y : '1年',\n yy : '%d年'\n }\n });\n\n return ja;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var it = moment.defineLocale('it', {\n months : 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split('_'),\n monthsShort : 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'),\n weekdays : 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split('_'),\n weekdaysShort : 'dom_lun_mar_mer_gio_ven_sab'.split('_'),\n weekdaysMin : 'do_lu_ma_me_gi_ve_sa'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[Oggi alle] LT',\n nextDay: '[Domani alle] LT',\n nextWeek: 'dddd [alle] LT',\n lastDay: '[Ieri alle] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[la scorsa] dddd [alle] LT';\n default:\n return '[lo scorso] dddd [alle] LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : function (s) {\n return ((/^[0-9].+$/).test(s) ? 'tra' : 'in') + ' ' + s;\n },\n past : '%s fa',\n s : 'alcuni secondi',\n ss : '%d secondi',\n m : 'un minuto',\n mm : '%d minuti',\n h : 'un\\'ora',\n hh : '%d ore',\n d : 'un giorno',\n dd : '%d giorni',\n M : 'un mese',\n MM : '%d mesi',\n y : 'un anno',\n yy : '%d anni'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}º/,\n ordinal: '%dº',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return it;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function plural(n) {\n if (n % 100 === 11) {\n return true;\n } else if (n % 10 === 1) {\n return false;\n }\n return true;\n }\n function translate(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n switch (key) {\n case 's':\n return withoutSuffix || isFuture ? 'nokkrar sekúndur' : 'nokkrum sekúndum';\n case 'ss':\n if (plural(number)) {\n return result + (withoutSuffix || isFuture ? 'sekúndur' : 'sekúndum');\n }\n return result + 'sekúnda';\n case 'm':\n return withoutSuffix ? 'mínúta' : 'mínútu';\n case 'mm':\n if (plural(number)) {\n return result + (withoutSuffix || isFuture ? 'mínútur' : 'mínútum');\n } else if (withoutSuffix) {\n return result + 'mínúta';\n }\n return result + 'mínútu';\n case 'hh':\n if (plural(number)) {\n return result + (withoutSuffix || isFuture ? 'klukkustundir' : 'klukkustundum');\n }\n return result + 'klukkustund';\n case 'd':\n if (withoutSuffix) {\n return 'dagur';\n }\n return isFuture ? 'dag' : 'degi';\n case 'dd':\n if (plural(number)) {\n if (withoutSuffix) {\n return result + 'dagar';\n }\n return result + (isFuture ? 'daga' : 'dögum');\n } else if (withoutSuffix) {\n return result + 'dagur';\n }\n return result + (isFuture ? 'dag' : 'degi');\n case 'M':\n if (withoutSuffix) {\n return 'mánuður';\n }\n return isFuture ? 'mánuð' : 'mánuði';\n case 'MM':\n if (plural(number)) {\n if (withoutSuffix) {\n return result + 'mánuðir';\n }\n return result + (isFuture ? 'mánuði' : 'mánuðum');\n } else if (withoutSuffix) {\n return result + 'mánuður';\n }\n return result + (isFuture ? 'mánuð' : 'mánuði');\n case 'y':\n return withoutSuffix || isFuture ? 'ár' : 'ári';\n case 'yy':\n if (plural(number)) {\n return result + (withoutSuffix || isFuture ? 'ár' : 'árum');\n }\n return result + (withoutSuffix || isFuture ? 'ár' : 'ári');\n }\n }\n\n var is = moment.defineLocale('is', {\n months : 'janúar_febrúar_mars_apríl_maí_júní_júlí_ágúst_september_október_nóvember_desember'.split('_'),\n monthsShort : 'jan_feb_mar_apr_maí_jún_júl_ágú_sep_okt_nóv_des'.split('_'),\n weekdays : 'sunnudagur_mánudagur_þriðjudagur_miðvikudagur_fimmtudagur_föstudagur_laugardagur'.split('_'),\n weekdaysShort : 'sun_mán_þri_mið_fim_fös_lau'.split('_'),\n weekdaysMin : 'Su_Má_Þr_Mi_Fi_Fö_La'.split('_'),\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY [kl.] H:mm',\n LLLL : 'dddd, D. MMMM YYYY [kl.] H:mm'\n },\n calendar : {\n sameDay : '[í dag kl.] LT',\n nextDay : '[á morgun kl.] LT',\n nextWeek : 'dddd [kl.] LT',\n lastDay : '[í gær kl.] LT',\n lastWeek : '[síðasta] dddd [kl.] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'eftir %s',\n past : 'fyrir %s síðan',\n s : translate,\n ss : translate,\n m : translate,\n mm : translate,\n h : 'klukkustund',\n hh : translate,\n d : translate,\n dd : translate,\n M : translate,\n MM : translate,\n y : translate,\n yy : translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return is;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var id = moment.defineLocale('id', {\n months : 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember'.split('_'),\n monthsShort : 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Agt_Sep_Okt_Nov_Des'.split('_'),\n weekdays : 'Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu'.split('_'),\n weekdaysShort : 'Min_Sen_Sel_Rab_Kam_Jum_Sab'.split('_'),\n weekdaysMin : 'Mg_Sn_Sl_Rb_Km_Jm_Sb'.split('_'),\n longDateFormat : {\n LT : 'HH.mm',\n LTS : 'HH.mm.ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY [pukul] HH.mm',\n LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm'\n },\n meridiemParse: /pagi|siang|sore|malam/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'pagi') {\n return hour;\n } else if (meridiem === 'siang') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'sore' || meridiem === 'malam') {\n return hour + 12;\n }\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'pagi';\n } else if (hours < 15) {\n return 'siang';\n } else if (hours < 19) {\n return 'sore';\n } else {\n return 'malam';\n }\n },\n calendar : {\n sameDay : '[Hari ini pukul] LT',\n nextDay : '[Besok pukul] LT',\n nextWeek : 'dddd [pukul] LT',\n lastDay : '[Kemarin pukul] LT',\n lastWeek : 'dddd [lalu pukul] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'dalam %s',\n past : '%s yang lalu',\n s : 'beberapa detik',\n ss : '%d detik',\n m : 'semenit',\n mm : '%d menit',\n h : 'sejam',\n hh : '%d jam',\n d : 'sehari',\n dd : '%d hari',\n M : 'sebulan',\n MM : '%d bulan',\n y : 'setahun',\n yy : '%d tahun'\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return id;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var hyAm = moment.defineLocale('hy-am', {\n months : {\n format: 'հունվարի_փետրվարի_մարտի_ապրիլի_մայիսի_հունիսի_հուլիսի_օգոստոսի_սեպտեմբերի_հոկտեմբերի_նոյեմբերի_դեկտեմբերի'.split('_'),\n standalone: 'հունվար_փետրվար_մարտ_ապրիլ_մայիս_հունիս_հուլիս_օգոստոս_սեպտեմբեր_հոկտեմբեր_նոյեմբեր_դեկտեմբեր'.split('_')\n },\n monthsShort : 'հնվ_փտր_մրտ_ապր_մյս_հնս_հլս_օգս_սպտ_հկտ_նմբ_դկտ'.split('_'),\n weekdays : 'կիրակի_երկուշաբթի_երեքշաբթի_չորեքշաբթի_հինգշաբթի_ուրբաթ_շաբաթ'.split('_'),\n weekdaysShort : 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'),\n weekdaysMin : 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY թ.',\n LLL : 'D MMMM YYYY թ., HH:mm',\n LLLL : 'dddd, D MMMM YYYY թ., HH:mm'\n },\n calendar : {\n sameDay: '[այսօր] LT',\n nextDay: '[վաղը] LT',\n lastDay: '[երեկ] LT',\n nextWeek: function () {\n return 'dddd [օրը ժամը] LT';\n },\n lastWeek: function () {\n return '[անցած] dddd [օրը ժամը] LT';\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : '%s հետո',\n past : '%s առաջ',\n s : 'մի քանի վայրկյան',\n ss : '%d վայրկյան',\n m : 'րոպե',\n mm : '%d րոպե',\n h : 'ժամ',\n hh : '%d ժամ',\n d : 'օր',\n dd : '%d օր',\n M : 'ամիս',\n MM : '%d ամիս',\n y : 'տարի',\n yy : '%d տարի'\n },\n meridiemParse: /գիշերվա|առավոտվա|ցերեկվա|երեկոյան/,\n isPM: function (input) {\n return /^(ցերեկվա|երեկոյան)$/.test(input);\n },\n meridiem : function (hour) {\n if (hour < 4) {\n return 'գիշերվա';\n } else if (hour < 12) {\n return 'առավոտվա';\n } else if (hour < 17) {\n return 'ցերեկվա';\n } else {\n return 'երեկոյան';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}|\\d{1,2}-(ին|րդ)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'DDD':\n case 'w':\n case 'W':\n case 'DDDo':\n if (number === 1) {\n return number + '-ին';\n }\n return number + '-րդ';\n default:\n return number;\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return hyAm;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var weekEndings = 'vasárnap hétfőn kedden szerdán csütörtökön pénteken szombaton'.split(' ');\n function translate(number, withoutSuffix, key, isFuture) {\n var num = number;\n switch (key) {\n case 's':\n return (isFuture || withoutSuffix) ? 'néhány másodperc' : 'néhány másodperce';\n case 'ss':\n return num + (isFuture || withoutSuffix) ? ' másodperc' : ' másodperce';\n case 'm':\n return 'egy' + (isFuture || withoutSuffix ? ' perc' : ' perce');\n case 'mm':\n return num + (isFuture || withoutSuffix ? ' perc' : ' perce');\n case 'h':\n return 'egy' + (isFuture || withoutSuffix ? ' óra' : ' órája');\n case 'hh':\n return num + (isFuture || withoutSuffix ? ' óra' : ' órája');\n case 'd':\n return 'egy' + (isFuture || withoutSuffix ? ' nap' : ' napja');\n case 'dd':\n return num + (isFuture || withoutSuffix ? ' nap' : ' napja');\n case 'M':\n return 'egy' + (isFuture || withoutSuffix ? ' hónap' : ' hónapja');\n case 'MM':\n return num + (isFuture || withoutSuffix ? ' hónap' : ' hónapja');\n case 'y':\n return 'egy' + (isFuture || withoutSuffix ? ' év' : ' éve');\n case 'yy':\n return num + (isFuture || withoutSuffix ? ' év' : ' éve');\n }\n return '';\n }\n function week(isFuture) {\n return (isFuture ? '' : '[múlt] ') + '[' + weekEndings[this.day()] + '] LT[-kor]';\n }\n\n var hu = moment.defineLocale('hu', {\n months : 'január_február_március_április_május_június_július_augusztus_szeptember_október_november_december'.split('_'),\n monthsShort : 'jan_feb_márc_ápr_máj_jún_júl_aug_szept_okt_nov_dec'.split('_'),\n weekdays : 'vasárnap_hétfő_kedd_szerda_csütörtök_péntek_szombat'.split('_'),\n weekdaysShort : 'vas_hét_kedd_sze_csüt_pén_szo'.split('_'),\n weekdaysMin : 'v_h_k_sze_cs_p_szo'.split('_'),\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'YYYY.MM.DD.',\n LL : 'YYYY. MMMM D.',\n LLL : 'YYYY. MMMM D. H:mm',\n LLLL : 'YYYY. MMMM D., dddd H:mm'\n },\n meridiemParse: /de|du/i,\n isPM: function (input) {\n return input.charAt(1).toLowerCase() === 'u';\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours < 12) {\n return isLower === true ? 'de' : 'DE';\n } else {\n return isLower === true ? 'du' : 'DU';\n }\n },\n calendar : {\n sameDay : '[ma] LT[-kor]',\n nextDay : '[holnap] LT[-kor]',\n nextWeek : function () {\n return week.call(this, true);\n },\n lastDay : '[tegnap] LT[-kor]',\n lastWeek : function () {\n return week.call(this, false);\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s múlva',\n past : '%s',\n s : translate,\n ss : translate,\n m : translate,\n mm : translate,\n h : translate,\n hh : translate,\n d : translate,\n dd : translate,\n M : translate,\n MM : translate,\n y : translate,\n yy : translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return hu;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function translate(number, withoutSuffix, key) {\n var result = number + ' ';\n switch (key) {\n case 'ss':\n if (number === 1) {\n result += 'sekunda';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sekunde';\n } else {\n result += 'sekundi';\n }\n return result;\n case 'm':\n return withoutSuffix ? 'jedna minuta' : 'jedne minute';\n case 'mm':\n if (number === 1) {\n result += 'minuta';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'minute';\n } else {\n result += 'minuta';\n }\n return result;\n case 'h':\n return withoutSuffix ? 'jedan sat' : 'jednog sata';\n case 'hh':\n if (number === 1) {\n result += 'sat';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sata';\n } else {\n result += 'sati';\n }\n return result;\n case 'dd':\n if (number === 1) {\n result += 'dan';\n } else {\n result += 'dana';\n }\n return result;\n case 'MM':\n if (number === 1) {\n result += 'mjesec';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'mjeseca';\n } else {\n result += 'mjeseci';\n }\n return result;\n case 'yy':\n if (number === 1) {\n result += 'godina';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'godine';\n } else {\n result += 'godina';\n }\n return result;\n }\n }\n\n var hr = moment.defineLocale('hr', {\n months : {\n format: 'siječnja_veljače_ožujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca'.split('_'),\n standalone: 'siječanj_veljača_ožujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac'.split('_')\n },\n monthsShort : 'sij._velj._ožu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.'.split('_'),\n monthsParseExact: true,\n weekdays : 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split('_'),\n weekdaysShort : 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n weekdaysMin : 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY H:mm',\n LLLL : 'dddd, D. MMMM YYYY H:mm'\n },\n calendar : {\n sameDay : '[danas u] LT',\n nextDay : '[sutra u] LT',\n nextWeek : function () {\n switch (this.day()) {\n case 0:\n return '[u] [nedjelju] [u] LT';\n case 3:\n return '[u] [srijedu] [u] LT';\n case 6:\n return '[u] [subotu] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay : '[jučer u] LT',\n lastWeek : function () {\n switch (this.day()) {\n case 0:\n case 3:\n return '[prošlu] dddd [u] LT';\n case 6:\n return '[prošle] [subote] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[prošli] dddd [u] LT';\n }\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'za %s',\n past : 'prije %s',\n s : 'par sekundi',\n ss : translate,\n m : translate,\n mm : translate,\n h : translate,\n hh : translate,\n d : 'dan',\n dd : translate,\n M : 'mjesec',\n MM : translate,\n y : 'godinu',\n yy : translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return hr;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '१',\n '2': '२',\n '3': '३',\n '4': '४',\n '5': '५',\n '6': '६',\n '7': '७',\n '8': '८',\n '9': '९',\n '0': '०'\n },\n numberMap = {\n '१': '1',\n '२': '2',\n '३': '3',\n '४': '4',\n '५': '5',\n '६': '6',\n '७': '7',\n '८': '8',\n '९': '9',\n '०': '0'\n };\n\n var hi = moment.defineLocale('hi', {\n months : 'जनवरी_फ़रवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितम्बर_अक्टूबर_नवम्बर_दिसम्बर'.split('_'),\n monthsShort : 'जन._फ़र._मार्च_अप्रै._मई_जून_जुल._अग._सित._अक्टू._नव._दिस.'.split('_'),\n monthsParseExact: true,\n weekdays : 'रविवार_सोमवार_मंगलवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'),\n weekdaysShort : 'रवि_सोम_मंगल_बुध_गुरू_शुक्र_शनि'.split('_'),\n weekdaysMin : 'र_सो_मं_बु_गु_शु_श'.split('_'),\n longDateFormat : {\n LT : 'A h:mm बजे',\n LTS : 'A h:mm:ss बजे',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, A h:mm बजे',\n LLLL : 'dddd, D MMMM YYYY, A h:mm बजे'\n },\n calendar : {\n sameDay : '[आज] LT',\n nextDay : '[कल] LT',\n nextWeek : 'dddd, LT',\n lastDay : '[कल] LT',\n lastWeek : '[पिछले] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s में',\n past : '%s पहले',\n s : 'कुछ ही क्षण',\n ss : '%d सेकंड',\n m : 'एक मिनट',\n mm : '%d मिनट',\n h : 'एक घंटा',\n hh : '%d घंटे',\n d : 'एक दिन',\n dd : '%d दिन',\n M : 'एक महीने',\n MM : '%d महीने',\n y : 'एक वर्ष',\n yy : '%d वर्ष'\n },\n preparse: function (string) {\n return string.replace(/[१२३४५६७८९०]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n // Hindi notation for meridiems are quite fuzzy in practice. While there exists\n // a rigid notion of a 'Pahar' it is not used as rigidly in modern Hindi.\n meridiemParse: /रात|सुबह|दोपहर|शाम/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'रात') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'सुबह') {\n return hour;\n } else if (meridiem === 'दोपहर') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'शाम') {\n return hour + 12;\n }\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'रात';\n } else if (hour < 10) {\n return 'सुबह';\n } else if (hour < 17) {\n return 'दोपहर';\n } else if (hour < 20) {\n return 'शाम';\n } else {\n return 'रात';\n }\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return hi;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var he = moment.defineLocale('he', {\n months : 'ינואר_פברואר_מרץ_אפריל_מאי_יוני_יולי_אוגוסט_ספטמבר_אוקטובר_נובמבר_דצמבר'.split('_'),\n monthsShort : 'ינו׳_פבר׳_מרץ_אפר׳_מאי_יוני_יולי_אוג׳_ספט׳_אוק׳_נוב׳_דצמ׳'.split('_'),\n weekdays : 'ראשון_שני_שלישי_רביעי_חמישי_שישי_שבת'.split('_'),\n weekdaysShort : 'א׳_ב׳_ג׳_ד׳_ה׳_ו׳_ש׳'.split('_'),\n weekdaysMin : 'א_ב_ג_ד_ה_ו_ש'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D [ב]MMMM YYYY',\n LLL : 'D [ב]MMMM YYYY HH:mm',\n LLLL : 'dddd, D [ב]MMMM YYYY HH:mm',\n l : 'D/M/YYYY',\n ll : 'D MMM YYYY',\n lll : 'D MMM YYYY HH:mm',\n llll : 'ddd, D MMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[היום ב־]LT',\n nextDay : '[מחר ב־]LT',\n nextWeek : 'dddd [בשעה] LT',\n lastDay : '[אתמול ב־]LT',\n lastWeek : '[ביום] dddd [האחרון בשעה] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'בעוד %s',\n past : 'לפני %s',\n s : 'מספר שניות',\n ss : '%d שניות',\n m : 'דקה',\n mm : '%d דקות',\n h : 'שעה',\n hh : function (number) {\n if (number === 2) {\n return 'שעתיים';\n }\n return number + ' שעות';\n },\n d : 'יום',\n dd : function (number) {\n if (number === 2) {\n return 'יומיים';\n }\n return number + ' ימים';\n },\n M : 'חודש',\n MM : function (number) {\n if (number === 2) {\n return 'חודשיים';\n }\n return number + ' חודשים';\n },\n y : 'שנה',\n yy : function (number) {\n if (number === 2) {\n return 'שנתיים';\n } else if (number % 10 === 0 && number !== 10) {\n return number + ' שנה';\n }\n return number + ' שנים';\n }\n },\n meridiemParse: /אחה\"צ|לפנה\"צ|אחרי הצהריים|לפני הצהריים|לפנות בוקר|בבוקר|בערב/i,\n isPM : function (input) {\n return /^(אחה\"צ|אחרי הצהריים|בערב)$/.test(input);\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 5) {\n return 'לפנות בוקר';\n } else if (hour < 10) {\n return 'בבוקר';\n } else if (hour < 12) {\n return isLower ? 'לפנה\"צ' : 'לפני הצהריים';\n } else if (hour < 18) {\n return isLower ? 'אחה\"צ' : 'אחרי הצהריים';\n } else {\n return 'בערב';\n }\n }\n });\n\n return he;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '૧',\n '2': '૨',\n '3': '૩',\n '4': '૪',\n '5': '૫',\n '6': '૬',\n '7': '૭',\n '8': '૮',\n '9': '૯',\n '0': '૦'\n },\n numberMap = {\n '૧': '1',\n '૨': '2',\n '૩': '3',\n '૪': '4',\n '૫': '5',\n '૬': '6',\n '૭': '7',\n '૮': '8',\n '૯': '9',\n '૦': '0'\n };\n\n var gu = moment.defineLocale('gu', {\n months: 'જાન્યુઆરી_ફેબ્રુઆરી_માર્ચ_એપ્રિલ_મે_જૂન_જુલાઈ_ઑગસ્ટ_સપ્ટેમ્બર_ઑક્ટ્બર_નવેમ્બર_ડિસેમ્બર'.split('_'),\n monthsShort: 'જાન્યુ._ફેબ્રુ._માર્ચ_એપ્રિ._મે_જૂન_જુલા._ઑગ._સપ્ટે._ઑક્ટ્._નવે._ડિસે.'.split('_'),\n monthsParseExact: true,\n weekdays: 'રવિવાર_સોમવાર_મંગળવાર_બુધ્વાર_ગુરુવાર_શુક્રવાર_શનિવાર'.split('_'),\n weekdaysShort: 'રવિ_સોમ_મંગળ_બુધ્_ગુરુ_શુક્ર_શનિ'.split('_'),\n weekdaysMin: 'ર_સો_મં_બુ_ગુ_શુ_શ'.split('_'),\n longDateFormat: {\n LT: 'A h:mm વાગ્યે',\n LTS: 'A h:mm:ss વાગ્યે',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm વાગ્યે',\n LLLL: 'dddd, D MMMM YYYY, A h:mm વાગ્યે'\n },\n calendar: {\n sameDay: '[આજ] LT',\n nextDay: '[કાલે] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[ગઇકાલે] LT',\n lastWeek: '[પાછલા] dddd, LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s મા',\n past: '%s પેહલા',\n s: 'અમુક પળો',\n ss: '%d સેકંડ',\n m: 'એક મિનિટ',\n mm: '%d મિનિટ',\n h: 'એક કલાક',\n hh: '%d કલાક',\n d: 'એક દિવસ',\n dd: '%d દિવસ',\n M: 'એક મહિનો',\n MM: '%d મહિનો',\n y: 'એક વર્ષ',\n yy: '%d વર્ષ'\n },\n preparse: function (string) {\n return string.replace(/[૧૨૩૪૫૬૭૮૯૦]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n // Gujarati notation for meridiems are quite fuzzy in practice. While there exists\n // a rigid notion of a 'Pahar' it is not used as rigidly in modern Gujarati.\n meridiemParse: /રાત|બપોર|સવાર|સાંજ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'રાત') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'સવાર') {\n return hour;\n } else if (meridiem === 'બપોર') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'સાંજ') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'રાત';\n } else if (hour < 10) {\n return 'સવાર';\n } else if (hour < 17) {\n return 'બપોર';\n } else if (hour < 20) {\n return 'સાંજ';\n } else {\n return 'રાત';\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return gu;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n 's': ['thodde secondanim', 'thodde second'],\n 'ss': [number + ' secondanim', number + ' second'],\n 'm': ['eka mintan', 'ek minute'],\n 'mm': [number + ' mintanim', number + ' mintam'],\n 'h': ['eka horan', 'ek hor'],\n 'hh': [number + ' horanim', number + ' horam'],\n 'd': ['eka disan', 'ek dis'],\n 'dd': [number + ' disanim', number + ' dis'],\n 'M': ['eka mhoinean', 'ek mhoino'],\n 'MM': [number + ' mhoineanim', number + ' mhoine'],\n 'y': ['eka vorsan', 'ek voros'],\n 'yy': [number + ' vorsanim', number + ' vorsam']\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n\n var gomLatn = moment.defineLocale('gom-latn', {\n months : 'Janer_Febrer_Mars_Abril_Mai_Jun_Julai_Agost_Setembr_Otubr_Novembr_Dezembr'.split('_'),\n monthsShort : 'Jan._Feb._Mars_Abr._Mai_Jun_Jul._Ago._Set._Otu._Nov._Dez.'.split('_'),\n monthsParseExact : true,\n weekdays : 'Aitar_Somar_Mongllar_Budvar_Brestar_Sukrar_Son\\'var'.split('_'),\n weekdaysShort : 'Ait._Som._Mon._Bud._Bre._Suk._Son.'.split('_'),\n weekdaysMin : 'Ai_Sm_Mo_Bu_Br_Su_Sn'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'A h:mm [vazta]',\n LTS : 'A h:mm:ss [vazta]',\n L : 'DD-MM-YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY A h:mm [vazta]',\n LLLL : 'dddd, MMMM[achea] Do, YYYY, A h:mm [vazta]',\n llll: 'ddd, D MMM YYYY, A h:mm [vazta]'\n },\n calendar : {\n sameDay: '[Aiz] LT',\n nextDay: '[Faleam] LT',\n nextWeek: '[Ieta to] dddd[,] LT',\n lastDay: '[Kal] LT',\n lastWeek: '[Fatlo] dddd[,] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : '%s',\n past : '%s adim',\n s : processRelativeTime,\n ss : processRelativeTime,\n m : processRelativeTime,\n mm : processRelativeTime,\n h : processRelativeTime,\n hh : processRelativeTime,\n d : processRelativeTime,\n dd : processRelativeTime,\n M : processRelativeTime,\n MM : processRelativeTime,\n y : processRelativeTime,\n yy : processRelativeTime\n },\n dayOfMonthOrdinalParse : /\\d{1,2}(er)/,\n ordinal : function (number, period) {\n switch (period) {\n // the ordinal 'er' only applies to day of the month\n case 'D':\n return number + 'er';\n default:\n case 'M':\n case 'Q':\n case 'DDD':\n case 'd':\n case 'w':\n case 'W':\n return number;\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n },\n meridiemParse: /rati|sokalli|donparam|sanje/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'rati') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'sokalli') {\n return hour;\n } else if (meridiem === 'donparam') {\n return hour > 12 ? hour : hour + 12;\n } else if (meridiem === 'sanje') {\n return hour + 12;\n }\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'rati';\n } else if (hour < 12) {\n return 'sokalli';\n } else if (hour < 16) {\n return 'donparam';\n } else if (hour < 20) {\n return 'sanje';\n } else {\n return 'rati';\n }\n }\n });\n\n return gomLatn;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var gl = moment.defineLocale('gl', {\n months : 'xaneiro_febreiro_marzo_abril_maio_xuño_xullo_agosto_setembro_outubro_novembro_decembro'.split('_'),\n monthsShort : 'xan._feb._mar._abr._mai._xuñ._xul._ago._set._out._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays : 'domingo_luns_martes_mércores_xoves_venres_sábado'.split('_'),\n weekdaysShort : 'dom._lun._mar._mér._xov._ven._sáb.'.split('_'),\n weekdaysMin : 'do_lu_ma_mé_xo_ve_sá'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D [de] MMMM [de] YYYY',\n LLL : 'D [de] MMMM [de] YYYY H:mm',\n LLLL : 'dddd, D [de] MMMM [de] YYYY H:mm'\n },\n calendar : {\n sameDay : function () {\n return '[hoxe ' + ((this.hours() !== 1) ? 'ás' : 'á') + '] LT';\n },\n nextDay : function () {\n return '[mañá ' + ((this.hours() !== 1) ? 'ás' : 'á') + '] LT';\n },\n nextWeek : function () {\n return 'dddd [' + ((this.hours() !== 1) ? 'ás' : 'a') + '] LT';\n },\n lastDay : function () {\n return '[onte ' + ((this.hours() !== 1) ? 'á' : 'a') + '] LT';\n },\n lastWeek : function () {\n return '[o] dddd [pasado ' + ((this.hours() !== 1) ? 'ás' : 'a') + '] LT';\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : function (str) {\n if (str.indexOf('un') === 0) {\n return 'n' + str;\n }\n return 'en ' + str;\n },\n past : 'hai %s',\n s : 'uns segundos',\n ss : '%d segundos',\n m : 'un minuto',\n mm : '%d minutos',\n h : 'unha hora',\n hh : '%d horas',\n d : 'un día',\n dd : '%d días',\n M : 'un mes',\n MM : '%d meses',\n y : 'un ano',\n yy : '%d anos'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}º/,\n ordinal : '%dº',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return gl;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var months = [\n 'Am Faoilleach', 'An Gearran', 'Am Màrt', 'An Giblean', 'An Cèitean', 'An t-Ògmhios', 'An t-Iuchar', 'An Lùnastal', 'An t-Sultain', 'An Dàmhair', 'An t-Samhain', 'An Dùbhlachd'\n ];\n\n var monthsShort = ['Faoi', 'Gear', 'Màrt', 'Gibl', 'Cèit', 'Ògmh', 'Iuch', 'Lùn', 'Sult', 'Dàmh', 'Samh', 'Dùbh'];\n\n var weekdays = ['Didòmhnaich', 'Diluain', 'Dimàirt', 'Diciadain', 'Diardaoin', 'Dihaoine', 'Disathairne'];\n\n var weekdaysShort = ['Did', 'Dil', 'Dim', 'Dic', 'Dia', 'Dih', 'Dis'];\n\n var weekdaysMin = ['Dò', 'Lu', 'Mà', 'Ci', 'Ar', 'Ha', 'Sa'];\n\n var gd = moment.defineLocale('gd', {\n months : months,\n monthsShort : monthsShort,\n monthsParseExact : true,\n weekdays : weekdays,\n weekdaysShort : weekdaysShort,\n weekdaysMin : weekdaysMin,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[An-diugh aig] LT',\n nextDay : '[A-màireach aig] LT',\n nextWeek : 'dddd [aig] LT',\n lastDay : '[An-dè aig] LT',\n lastWeek : 'dddd [seo chaidh] [aig] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'ann an %s',\n past : 'bho chionn %s',\n s : 'beagan diogan',\n ss : '%d diogan',\n m : 'mionaid',\n mm : '%d mionaidean',\n h : 'uair',\n hh : '%d uairean',\n d : 'latha',\n dd : '%d latha',\n M : 'mìos',\n MM : '%d mìosan',\n y : 'bliadhna',\n yy : '%d bliadhna'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}(d|na|mh)/,\n ordinal : function (number) {\n var output = number === 1 ? 'd' : number % 10 === 2 ? 'na' : 'mh';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return gd;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var monthsShortWithDots = 'jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.'.split('_'),\n monthsShortWithoutDots = 'jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_');\n\n var fy = moment.defineLocale('fy', {\n months : 'jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber'.split('_'),\n monthsShort : function (m, format) {\n if (!m) {\n return monthsShortWithDots;\n } else if (/-MMM-/.test(format)) {\n return monthsShortWithoutDots[m.month()];\n } else {\n return monthsShortWithDots[m.month()];\n }\n },\n monthsParseExact : true,\n weekdays : 'snein_moandei_tiisdei_woansdei_tongersdei_freed_sneon'.split('_'),\n weekdaysShort : 'si._mo._ti._wo._to._fr._so.'.split('_'),\n weekdaysMin : 'Si_Mo_Ti_Wo_To_Fr_So'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD-MM-YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[hjoed om] LT',\n nextDay: '[moarn om] LT',\n nextWeek: 'dddd [om] LT',\n lastDay: '[juster om] LT',\n lastWeek: '[ôfrûne] dddd [om] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'oer %s',\n past : '%s lyn',\n s : 'in pear sekonden',\n ss : '%d sekonden',\n m : 'ien minút',\n mm : '%d minuten',\n h : 'ien oere',\n hh : '%d oeren',\n d : 'ien dei',\n dd : '%d dagen',\n M : 'ien moanne',\n MM : '%d moannen',\n y : 'ien jier',\n yy : '%d jierren'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n ordinal : function (number) {\n return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de');\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return fy;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var frCh = moment.defineLocale('fr-ch', {\n months : 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'),\n monthsShort : 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'),\n monthsParseExact : true,\n weekdays : 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n weekdaysShort : 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n weekdaysMin : 'di_lu_ma_me_je_ve_sa'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Aujourd’hui à] LT',\n nextDay : '[Demain à] LT',\n nextWeek : 'dddd [à] LT',\n lastDay : '[Hier à] LT',\n lastWeek : 'dddd [dernier à] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'dans %s',\n past : 'il y a %s',\n s : 'quelques secondes',\n ss : '%d secondes',\n m : 'une minute',\n mm : '%d minutes',\n h : 'une heure',\n hh : '%d heures',\n d : 'un jour',\n dd : '%d jours',\n M : 'un mois',\n MM : '%d mois',\n y : 'un an',\n yy : '%d ans'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(er|e)/,\n ordinal : function (number, period) {\n switch (period) {\n // Words with masculine grammatical gender: mois, trimestre, jour\n default:\n case 'M':\n case 'Q':\n case 'D':\n case 'DDD':\n case 'd':\n return number + (number === 1 ? 'er' : 'e');\n\n // Words with feminine grammatical gender: semaine\n case 'w':\n case 'W':\n return number + (number === 1 ? 're' : 'e');\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return frCh;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var frCa = moment.defineLocale('fr-ca', {\n months : 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'),\n monthsShort : 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'),\n monthsParseExact : true,\n weekdays : 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n weekdaysShort : 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n weekdaysMin : 'di_lu_ma_me_je_ve_sa'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY-MM-DD',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Aujourd’hui à] LT',\n nextDay : '[Demain à] LT',\n nextWeek : 'dddd [à] LT',\n lastDay : '[Hier à] LT',\n lastWeek : 'dddd [dernier à] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'dans %s',\n past : 'il y a %s',\n s : 'quelques secondes',\n ss : '%d secondes',\n m : 'une minute',\n mm : '%d minutes',\n h : 'une heure',\n hh : '%d heures',\n d : 'un jour',\n dd : '%d jours',\n M : 'un mois',\n MM : '%d mois',\n y : 'un an',\n yy : '%d ans'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(er|e)/,\n ordinal : function (number, period) {\n switch (period) {\n // Words with masculine grammatical gender: mois, trimestre, jour\n default:\n case 'M':\n case 'Q':\n case 'D':\n case 'DDD':\n case 'd':\n return number + (number === 1 ? 'er' : 'e');\n\n // Words with feminine grammatical gender: semaine\n case 'w':\n case 'W':\n return number + (number === 1 ? 're' : 'e');\n }\n }\n });\n\n return frCa;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var fr = moment.defineLocale('fr', {\n months : 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'),\n monthsShort : 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'),\n monthsParseExact : true,\n weekdays : 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n weekdaysShort : 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n weekdaysMin : 'di_lu_ma_me_je_ve_sa'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Aujourd’hui à] LT',\n nextDay : '[Demain à] LT',\n nextWeek : 'dddd [à] LT',\n lastDay : '[Hier à] LT',\n lastWeek : 'dddd [dernier à] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'dans %s',\n past : 'il y a %s',\n s : 'quelques secondes',\n ss : '%d secondes',\n m : 'une minute',\n mm : '%d minutes',\n h : 'une heure',\n hh : '%d heures',\n d : 'un jour',\n dd : '%d jours',\n M : 'un mois',\n MM : '%d mois',\n y : 'un an',\n yy : '%d ans'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(er|)/,\n ordinal : function (number, period) {\n switch (period) {\n // TODO: Return 'e' when day of month > 1. Move this case inside\n // block for masculine words below.\n // See https://github.com/moment/moment/issues/3375\n case 'D':\n return number + (number === 1 ? 'er' : '');\n\n // Words with masculine grammatical gender: mois, trimestre, jour\n default:\n case 'M':\n case 'Q':\n case 'DDD':\n case 'd':\n return number + (number === 1 ? 'er' : 'e');\n\n // Words with feminine grammatical gender: semaine\n case 'w':\n case 'W':\n return number + (number === 1 ? 're' : 'e');\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return fr;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var fo = moment.defineLocale('fo', {\n months : 'januar_februar_mars_apríl_mai_juni_juli_august_september_oktober_november_desember'.split('_'),\n monthsShort : 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'),\n weekdays : 'sunnudagur_mánadagur_týsdagur_mikudagur_hósdagur_fríggjadagur_leygardagur'.split('_'),\n weekdaysShort : 'sun_mán_týs_mik_hós_frí_ley'.split('_'),\n weekdaysMin : 'su_má_tý_mi_hó_fr_le'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D. MMMM, YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Í dag kl.] LT',\n nextDay : '[Í morgin kl.] LT',\n nextWeek : 'dddd [kl.] LT',\n lastDay : '[Í gjár kl.] LT',\n lastWeek : '[síðstu] dddd [kl] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'um %s',\n past : '%s síðani',\n s : 'fá sekund',\n ss : '%d sekundir',\n m : 'ein minutt',\n mm : '%d minuttir',\n h : 'ein tími',\n hh : '%d tímar',\n d : 'ein dagur',\n dd : '%d dagar',\n M : 'ein mánaði',\n MM : '%d mánaðir',\n y : 'eitt ár',\n yy : '%d ár'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return fo;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var numbersPast = 'nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän'.split(' '),\n numbersFuture = [\n 'nolla', 'yhden', 'kahden', 'kolmen', 'neljän', 'viiden', 'kuuden',\n numbersPast[7], numbersPast[8], numbersPast[9]\n ];\n function translate(number, withoutSuffix, key, isFuture) {\n var result = '';\n switch (key) {\n case 's':\n return isFuture ? 'muutaman sekunnin' : 'muutama sekunti';\n case 'ss':\n return isFuture ? 'sekunnin' : 'sekuntia';\n case 'm':\n return isFuture ? 'minuutin' : 'minuutti';\n case 'mm':\n result = isFuture ? 'minuutin' : 'minuuttia';\n break;\n case 'h':\n return isFuture ? 'tunnin' : 'tunti';\n case 'hh':\n result = isFuture ? 'tunnin' : 'tuntia';\n break;\n case 'd':\n return isFuture ? 'päivän' : 'päivä';\n case 'dd':\n result = isFuture ? 'päivän' : 'päivää';\n break;\n case 'M':\n return isFuture ? 'kuukauden' : 'kuukausi';\n case 'MM':\n result = isFuture ? 'kuukauden' : 'kuukautta';\n break;\n case 'y':\n return isFuture ? 'vuoden' : 'vuosi';\n case 'yy':\n result = isFuture ? 'vuoden' : 'vuotta';\n break;\n }\n result = verbalNumber(number, isFuture) + ' ' + result;\n return result;\n }\n function verbalNumber(number, isFuture) {\n return number < 10 ? (isFuture ? numbersFuture[number] : numbersPast[number]) : number;\n }\n\n var fi = moment.defineLocale('fi', {\n months : 'tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu'.split('_'),\n monthsShort : 'tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu'.split('_'),\n weekdays : 'sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai'.split('_'),\n weekdaysShort : 'su_ma_ti_ke_to_pe_la'.split('_'),\n weekdaysMin : 'su_ma_ti_ke_to_pe_la'.split('_'),\n longDateFormat : {\n LT : 'HH.mm',\n LTS : 'HH.mm.ss',\n L : 'DD.MM.YYYY',\n LL : 'Do MMMM[ta] YYYY',\n LLL : 'Do MMMM[ta] YYYY, [klo] HH.mm',\n LLLL : 'dddd, Do MMMM[ta] YYYY, [klo] HH.mm',\n l : 'D.M.YYYY',\n ll : 'Do MMM YYYY',\n lll : 'Do MMM YYYY, [klo] HH.mm',\n llll : 'ddd, Do MMM YYYY, [klo] HH.mm'\n },\n calendar : {\n sameDay : '[tänään] [klo] LT',\n nextDay : '[huomenna] [klo] LT',\n nextWeek : 'dddd [klo] LT',\n lastDay : '[eilen] [klo] LT',\n lastWeek : '[viime] dddd[na] [klo] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s päästä',\n past : '%s sitten',\n s : translate,\n ss : translate,\n m : translate,\n mm : translate,\n h : translate,\n hh : translate,\n d : translate,\n dd : translate,\n M : translate,\n MM : translate,\n y : translate,\n yy : translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return fi;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '۱',\n '2': '۲',\n '3': '۳',\n '4': '۴',\n '5': '۵',\n '6': '۶',\n '7': '۷',\n '8': '۸',\n '9': '۹',\n '0': '۰'\n }, numberMap = {\n '۱': '1',\n '۲': '2',\n '۳': '3',\n '۴': '4',\n '۵': '5',\n '۶': '6',\n '۷': '7',\n '۸': '8',\n '۹': '9',\n '۰': '0'\n };\n\n var fa = moment.defineLocale('fa', {\n months : 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split('_'),\n monthsShort : 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split('_'),\n weekdays : 'یک\\u200cشنبه_دوشنبه_سه\\u200cشنبه_چهارشنبه_پنج\\u200cشنبه_جمعه_شنبه'.split('_'),\n weekdaysShort : 'یک\\u200cشنبه_دوشنبه_سه\\u200cشنبه_چهارشنبه_پنج\\u200cشنبه_جمعه_شنبه'.split('_'),\n weekdaysMin : 'ی_د_س_چ_پ_ج_ش'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n meridiemParse: /قبل از ظهر|بعد از ظهر/,\n isPM: function (input) {\n return /بعد از ظهر/.test(input);\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'قبل از ظهر';\n } else {\n return 'بعد از ظهر';\n }\n },\n calendar : {\n sameDay : '[امروز ساعت] LT',\n nextDay : '[فردا ساعت] LT',\n nextWeek : 'dddd [ساعت] LT',\n lastDay : '[دیروز ساعت] LT',\n lastWeek : 'dddd [پیش] [ساعت] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'در %s',\n past : '%s پیش',\n s : 'چند ثانیه',\n ss : 'ثانیه d%',\n m : 'یک دقیقه',\n mm : '%d دقیقه',\n h : 'یک ساعت',\n hh : '%d ساعت',\n d : 'یک روز',\n dd : '%d روز',\n M : 'یک ماه',\n MM : '%d ماه',\n y : 'یک سال',\n yy : '%d سال'\n },\n preparse: function (string) {\n return string.replace(/[۰-۹]/g, function (match) {\n return numberMap[match];\n }).replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n }).replace(/,/g, '،');\n },\n dayOfMonthOrdinalParse: /\\d{1,2}م/,\n ordinal : '%dم',\n week : {\n dow : 6, // Saturday is the first day of the week.\n doy : 12 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return fa;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var eu = moment.defineLocale('eu', {\n months : 'urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua'.split('_'),\n monthsShort : 'urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.'.split('_'),\n monthsParseExact : true,\n weekdays : 'igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata'.split('_'),\n weekdaysShort : 'ig._al._ar._az._og._ol._lr.'.split('_'),\n weekdaysMin : 'ig_al_ar_az_og_ol_lr'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY-MM-DD',\n LL : 'YYYY[ko] MMMM[ren] D[a]',\n LLL : 'YYYY[ko] MMMM[ren] D[a] HH:mm',\n LLLL : 'dddd, YYYY[ko] MMMM[ren] D[a] HH:mm',\n l : 'YYYY-M-D',\n ll : 'YYYY[ko] MMM D[a]',\n lll : 'YYYY[ko] MMM D[a] HH:mm',\n llll : 'ddd, YYYY[ko] MMM D[a] HH:mm'\n },\n calendar : {\n sameDay : '[gaur] LT[etan]',\n nextDay : '[bihar] LT[etan]',\n nextWeek : 'dddd LT[etan]',\n lastDay : '[atzo] LT[etan]',\n lastWeek : '[aurreko] dddd LT[etan]',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s barru',\n past : 'duela %s',\n s : 'segundo batzuk',\n ss : '%d segundo',\n m : 'minutu bat',\n mm : '%d minutu',\n h : 'ordu bat',\n hh : '%d ordu',\n d : 'egun bat',\n dd : '%d egun',\n M : 'hilabete bat',\n MM : '%d hilabete',\n y : 'urte bat',\n yy : '%d urte'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return eu;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n 's' : ['mõne sekundi', 'mõni sekund', 'paar sekundit'],\n 'ss': [number + 'sekundi', number + 'sekundit'],\n 'm' : ['ühe minuti', 'üks minut'],\n 'mm': [number + ' minuti', number + ' minutit'],\n 'h' : ['ühe tunni', 'tund aega', 'üks tund'],\n 'hh': [number + ' tunni', number + ' tundi'],\n 'd' : ['ühe päeva', 'üks päev'],\n 'M' : ['kuu aja', 'kuu aega', 'üks kuu'],\n 'MM': [number + ' kuu', number + ' kuud'],\n 'y' : ['ühe aasta', 'aasta', 'üks aasta'],\n 'yy': [number + ' aasta', number + ' aastat']\n };\n if (withoutSuffix) {\n return format[key][2] ? format[key][2] : format[key][1];\n }\n return isFuture ? format[key][0] : format[key][1];\n }\n\n var et = moment.defineLocale('et', {\n months : 'jaanuar_veebruar_märts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember'.split('_'),\n monthsShort : 'jaan_veebr_märts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets'.split('_'),\n weekdays : 'pühapäev_esmaspäev_teisipäev_kolmapäev_neljapäev_reede_laupäev'.split('_'),\n weekdaysShort : 'P_E_T_K_N_R_L'.split('_'),\n weekdaysMin : 'P_E_T_K_N_R_L'.split('_'),\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY H:mm',\n LLLL : 'dddd, D. MMMM YYYY H:mm'\n },\n calendar : {\n sameDay : '[Täna,] LT',\n nextDay : '[Homme,] LT',\n nextWeek : '[Järgmine] dddd LT',\n lastDay : '[Eile,] LT',\n lastWeek : '[Eelmine] dddd LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s pärast',\n past : '%s tagasi',\n s : processRelativeTime,\n ss : processRelativeTime,\n m : processRelativeTime,\n mm : processRelativeTime,\n h : processRelativeTime,\n hh : processRelativeTime,\n d : processRelativeTime,\n dd : '%d päeva',\n M : processRelativeTime,\n MM : processRelativeTime,\n y : processRelativeTime,\n yy : processRelativeTime\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return et;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_'),\n monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_');\n\n var esUs = moment.defineLocale('es-us', {\n months : 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'),\n monthsShort : function (m, format) {\n if (!m) {\n return monthsShortDot;\n } else if (/-MMM-/.test(format)) {\n return monthsShort[m.month()];\n } else {\n return monthsShortDot[m.month()];\n }\n },\n monthsParseExact : true,\n weekdays : 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n weekdaysShort : 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n weekdaysMin : 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'h:mm A',\n LTS : 'h:mm:ss A',\n L : 'MM/DD/YYYY',\n LL : 'MMMM [de] D [de] YYYY',\n LLL : 'MMMM [de] D [de] YYYY h:mm A',\n LLLL : 'dddd, MMMM [de] D [de] YYYY h:mm A'\n },\n calendar : {\n sameDay : function () {\n return '[hoy a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n nextDay : function () {\n return '[mañana a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n nextWeek : function () {\n return 'dddd [a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n lastDay : function () {\n return '[ayer a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n lastWeek : function () {\n return '[el] dddd [pasado a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'en %s',\n past : 'hace %s',\n s : 'unos segundos',\n ss : '%d segundos',\n m : 'un minuto',\n mm : '%d minutos',\n h : 'una hora',\n hh : '%d horas',\n d : 'un día',\n dd : '%d días',\n M : 'un mes',\n MM : '%d meses',\n y : 'un año',\n yy : '%d años'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}º/,\n ordinal : '%dº',\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return esUs;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_'),\n monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_');\n\n var monthsParse = [/^ene/i, /^feb/i, /^mar/i, /^abr/i, /^may/i, /^jun/i, /^jul/i, /^ago/i, /^sep/i, /^oct/i, /^nov/i, /^dic/i];\n var monthsRegex = /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n\n var esDo = moment.defineLocale('es-do', {\n months : 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'),\n monthsShort : function (m, format) {\n if (!m) {\n return monthsShortDot;\n } else if (/-MMM-/.test(format)) {\n return monthsShort[m.month()];\n } else {\n return monthsShortDot[m.month()];\n }\n },\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n monthsShortStrictRegex: /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n weekdays : 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n weekdaysShort : 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n weekdaysMin : 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'h:mm A',\n LTS : 'h:mm:ss A',\n L : 'DD/MM/YYYY',\n LL : 'D [de] MMMM [de] YYYY',\n LLL : 'D [de] MMMM [de] YYYY h:mm A',\n LLLL : 'dddd, D [de] MMMM [de] YYYY h:mm A'\n },\n calendar : {\n sameDay : function () {\n return '[hoy a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n nextDay : function () {\n return '[mañana a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n nextWeek : function () {\n return 'dddd [a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n lastDay : function () {\n return '[ayer a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n lastWeek : function () {\n return '[el] dddd [pasado a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'en %s',\n past : 'hace %s',\n s : 'unos segundos',\n ss : '%d segundos',\n m : 'un minuto',\n mm : '%d minutos',\n h : 'una hora',\n hh : '%d horas',\n d : 'un día',\n dd : '%d días',\n M : 'un mes',\n MM : '%d meses',\n y : 'un año',\n yy : '%d años'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}º/,\n ordinal : '%dº',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return esDo;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_'),\n monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_');\n\n var monthsParse = [/^ene/i, /^feb/i, /^mar/i, /^abr/i, /^may/i, /^jun/i, /^jul/i, /^ago/i, /^sep/i, /^oct/i, /^nov/i, /^dic/i];\n var monthsRegex = /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n\n var es = moment.defineLocale('es', {\n months : 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'),\n monthsShort : function (m, format) {\n if (!m) {\n return monthsShortDot;\n } else if (/-MMM-/.test(format)) {\n return monthsShort[m.month()];\n } else {\n return monthsShortDot[m.month()];\n }\n },\n monthsRegex : monthsRegex,\n monthsShortRegex : monthsRegex,\n monthsStrictRegex : /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n monthsShortStrictRegex : /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n monthsParse : monthsParse,\n longMonthsParse : monthsParse,\n shortMonthsParse : monthsParse,\n weekdays : 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n weekdaysShort : 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n weekdaysMin : 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D [de] MMMM [de] YYYY',\n LLL : 'D [de] MMMM [de] YYYY H:mm',\n LLLL : 'dddd, D [de] MMMM [de] YYYY H:mm'\n },\n calendar : {\n sameDay : function () {\n return '[hoy a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n nextDay : function () {\n return '[mañana a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n nextWeek : function () {\n return 'dddd [a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n lastDay : function () {\n return '[ayer a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n lastWeek : function () {\n return '[el] dddd [pasado a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'en %s',\n past : 'hace %s',\n s : 'unos segundos',\n ss : '%d segundos',\n m : 'un minuto',\n mm : '%d minutos',\n h : 'una hora',\n hh : '%d horas',\n d : 'un día',\n dd : '%d días',\n M : 'un mes',\n MM : '%d meses',\n y : 'un año',\n yy : '%d años'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}º/,\n ordinal : '%dº',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return es;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var eo = moment.defineLocale('eo', {\n months : 'januaro_februaro_marto_aprilo_majo_junio_julio_aŭgusto_septembro_oktobro_novembro_decembro'.split('_'),\n monthsShort : 'jan_feb_mar_apr_maj_jun_jul_aŭg_sep_okt_nov_dec'.split('_'),\n weekdays : 'dimanĉo_lundo_mardo_merkredo_ĵaŭdo_vendredo_sabato'.split('_'),\n weekdaysShort : 'dim_lun_mard_merk_ĵaŭ_ven_sab'.split('_'),\n weekdaysMin : 'di_lu_ma_me_ĵa_ve_sa'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY-MM-DD',\n LL : 'D[-a de] MMMM, YYYY',\n LLL : 'D[-a de] MMMM, YYYY HH:mm',\n LLLL : 'dddd, [la] D[-a de] MMMM, YYYY HH:mm'\n },\n meridiemParse: /[ap]\\.t\\.m/i,\n isPM: function (input) {\n return input.charAt(0).toLowerCase() === 'p';\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'p.t.m.' : 'P.T.M.';\n } else {\n return isLower ? 'a.t.m.' : 'A.T.M.';\n }\n },\n calendar : {\n sameDay : '[Hodiaŭ je] LT',\n nextDay : '[Morgaŭ je] LT',\n nextWeek : 'dddd [je] LT',\n lastDay : '[Hieraŭ je] LT',\n lastWeek : '[pasinta] dddd [je] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'post %s',\n past : 'antaŭ %s',\n s : 'sekundoj',\n ss : '%d sekundoj',\n m : 'minuto',\n mm : '%d minutoj',\n h : 'horo',\n hh : '%d horoj',\n d : 'tago',//ne 'diurno', ĉar estas uzita por proksimumo\n dd : '%d tagoj',\n M : 'monato',\n MM : '%d monatoj',\n y : 'jaro',\n yy : '%d jaroj'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}a/,\n ordinal : '%da',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return eo;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var enNz = moment.defineLocale('en-nz', {\n months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat : {\n LT : 'h:mm A',\n LTS : 'h:mm:ss A',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY h:mm A',\n LLLL : 'dddd, D MMMM YYYY h:mm A'\n },\n calendar : {\n sameDay : '[Today at] LT',\n nextDay : '[Tomorrow at] LT',\n nextWeek : 'dddd [at] LT',\n lastDay : '[Yesterday at] LT',\n lastWeek : '[Last] dddd [at] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'in %s',\n past : '%s ago',\n s : 'a few seconds',\n ss : '%d seconds',\n m : 'a minute',\n mm : '%d minutes',\n h : 'an hour',\n hh : '%d hours',\n d : 'a day',\n dd : '%d days',\n M : 'a month',\n MM : '%d months',\n y : 'a year',\n yy : '%d years'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return enNz;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var enIl = moment.defineLocale('en-il', {\n months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Today at] LT',\n nextDay : '[Tomorrow at] LT',\n nextWeek : 'dddd [at] LT',\n lastDay : '[Yesterday at] LT',\n lastWeek : '[Last] dddd [at] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'in %s',\n past : '%s ago',\n s : 'a few seconds',\n m : 'a minute',\n mm : '%d minutes',\n h : 'an hour',\n hh : '%d hours',\n d : 'a day',\n dd : '%d days',\n M : 'a month',\n MM : '%d months',\n y : 'a year',\n yy : '%d years'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n }\n });\n\n return enIl;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var enIe = moment.defineLocale('en-ie', {\n months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD-MM-YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Today at] LT',\n nextDay : '[Tomorrow at] LT',\n nextWeek : 'dddd [at] LT',\n lastDay : '[Yesterday at] LT',\n lastWeek : '[Last] dddd [at] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'in %s',\n past : '%s ago',\n s : 'a few seconds',\n ss : '%d seconds',\n m : 'a minute',\n mm : '%d minutes',\n h : 'an hour',\n hh : '%d hours',\n d : 'a day',\n dd : '%d days',\n M : 'a month',\n MM : '%d months',\n y : 'a year',\n yy : '%d years'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return enIe;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var enGb = moment.defineLocale('en-gb', {\n months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Today at] LT',\n nextDay : '[Tomorrow at] LT',\n nextWeek : 'dddd [at] LT',\n lastDay : '[Yesterday at] LT',\n lastWeek : '[Last] dddd [at] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'in %s',\n past : '%s ago',\n s : 'a few seconds',\n ss : '%d seconds',\n m : 'a minute',\n mm : '%d minutes',\n h : 'an hour',\n hh : '%d hours',\n d : 'a day',\n dd : '%d days',\n M : 'a month',\n MM : '%d months',\n y : 'a year',\n yy : '%d years'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return enGb;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var enCa = moment.defineLocale('en-ca', {\n months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat : {\n LT : 'h:mm A',\n LTS : 'h:mm:ss A',\n L : 'YYYY-MM-DD',\n LL : 'MMMM D, YYYY',\n LLL : 'MMMM D, YYYY h:mm A',\n LLLL : 'dddd, MMMM D, YYYY h:mm A'\n },\n calendar : {\n sameDay : '[Today at] LT',\n nextDay : '[Tomorrow at] LT',\n nextWeek : 'dddd [at] LT',\n lastDay : '[Yesterday at] LT',\n lastWeek : '[Last] dddd [at] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'in %s',\n past : '%s ago',\n s : 'a few seconds',\n ss : '%d seconds',\n m : 'a minute',\n mm : '%d minutes',\n h : 'an hour',\n hh : '%d hours',\n d : 'a day',\n dd : '%d days',\n M : 'a month',\n MM : '%d months',\n y : 'a year',\n yy : '%d years'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n }\n });\n\n return enCa;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var enAu = moment.defineLocale('en-au', {\n months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat : {\n LT : 'h:mm A',\n LTS : 'h:mm:ss A',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY h:mm A',\n LLLL : 'dddd, D MMMM YYYY h:mm A'\n },\n calendar : {\n sameDay : '[Today at] LT',\n nextDay : '[Tomorrow at] LT',\n nextWeek : 'dddd [at] LT',\n lastDay : '[Yesterday at] LT',\n lastWeek : '[Last] dddd [at] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'in %s',\n past : '%s ago',\n s : 'a few seconds',\n ss : '%d seconds',\n m : 'a minute',\n mm : '%d minutes',\n h : 'an hour',\n hh : '%d hours',\n d : 'a day',\n dd : '%d days',\n M : 'a month',\n MM : '%d months',\n y : 'a year',\n yy : '%d years'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return enAu;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n function isFunction(input) {\n return input instanceof Function || Object.prototype.toString.call(input) === '[object Function]';\n }\n\n\n var el = moment.defineLocale('el', {\n monthsNominativeEl : 'Ιανουάριος_Φεβρουάριος_Μάρτιος_Απρίλιος_Μάιος_Ιούνιος_Ιούλιος_Αύγουστος_Σεπτέμβριος_Οκτώβριος_Νοέμβριος_Δεκέμβριος'.split('_'),\n monthsGenitiveEl : 'Ιανουαρίου_Φεβρουαρίου_Μαρτίου_Απριλίου_Μαΐου_Ιουνίου_Ιουλίου_Αυγούστου_Σεπτεμβρίου_Οκτωβρίου_Νοεμβρίου_Δεκεμβρίου'.split('_'),\n months : function (momentToFormat, format) {\n if (!momentToFormat) {\n return this._monthsNominativeEl;\n } else if (typeof format === 'string' && /D/.test(format.substring(0, format.indexOf('MMMM')))) { // if there is a day number before 'MMMM'\n return this._monthsGenitiveEl[momentToFormat.month()];\n } else {\n return this._monthsNominativeEl[momentToFormat.month()];\n }\n },\n monthsShort : 'Ιαν_Φεβ_Μαρ_Απρ_Μαϊ_Ιουν_Ιουλ_Αυγ_Σεπ_Οκτ_Νοε_Δεκ'.split('_'),\n weekdays : 'Κυριακή_Δευτέρα_Τρίτη_Τετάρτη_Πέμπτη_Παρασκευή_Σάββατο'.split('_'),\n weekdaysShort : 'Κυρ_Δευ_Τρι_Τετ_Πεμ_Παρ_Σαβ'.split('_'),\n weekdaysMin : 'Κυ_Δε_Τρ_Τε_Πε_Πα_Σα'.split('_'),\n meridiem : function (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'μμ' : 'ΜΜ';\n } else {\n return isLower ? 'πμ' : 'ΠΜ';\n }\n },\n isPM : function (input) {\n return ((input + '').toLowerCase()[0] === 'μ');\n },\n meridiemParse : /[ΠΜ]\\.?Μ?\\.?/i,\n longDateFormat : {\n LT : 'h:mm A',\n LTS : 'h:mm:ss A',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY h:mm A',\n LLLL : 'dddd, D MMMM YYYY h:mm A'\n },\n calendarEl : {\n sameDay : '[Σήμερα {}] LT',\n nextDay : '[Αύριο {}] LT',\n nextWeek : 'dddd [{}] LT',\n lastDay : '[Χθες {}] LT',\n lastWeek : function () {\n switch (this.day()) {\n case 6:\n return '[το προηγούμενο] dddd [{}] LT';\n default:\n return '[την προηγούμενη] dddd [{}] LT';\n }\n },\n sameElse : 'L'\n },\n calendar : function (key, mom) {\n var output = this._calendarEl[key],\n hours = mom && mom.hours();\n if (isFunction(output)) {\n output = output.apply(mom);\n }\n return output.replace('{}', (hours % 12 === 1 ? 'στη' : 'στις'));\n },\n relativeTime : {\n future : 'σε %s',\n past : '%s πριν',\n s : 'λίγα δευτερόλεπτα',\n ss : '%d δευτερόλεπτα',\n m : 'ένα λεπτό',\n mm : '%d λεπτά',\n h : 'μία ώρα',\n hh : '%d ώρες',\n d : 'μία μέρα',\n dd : '%d μέρες',\n M : 'ένας μήνας',\n MM : '%d μήνες',\n y : 'ένας χρόνος',\n yy : '%d χρόνια'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}η/,\n ordinal: '%dη',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4st is the first week of the year.\n }\n });\n\n return el;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var months = [\n 'ޖެނުއަރީ',\n 'ފެބްރުއަރީ',\n 'މާރިޗު',\n 'އޭޕްރީލު',\n 'މޭ',\n 'ޖޫން',\n 'ޖުލައި',\n 'އޯގަސްޓު',\n 'ސެޕްޓެމްބަރު',\n 'އޮކްޓޯބަރު',\n 'ނޮވެމްބަރު',\n 'ޑިސެމްބަރު'\n ], weekdays = [\n 'އާދިއްތަ',\n 'ހޯމަ',\n 'އަންގާރަ',\n 'ބުދަ',\n 'ބުރާސްފަތި',\n 'ހުކުރު',\n 'ހޮނިހިރު'\n ];\n\n var dv = moment.defineLocale('dv', {\n months : months,\n monthsShort : months,\n weekdays : weekdays,\n weekdaysShort : weekdays,\n weekdaysMin : 'އާދި_ހޯމަ_އަން_ބުދަ_ބުރާ_ހުކު_ހޮނި'.split('_'),\n longDateFormat : {\n\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'D/M/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n meridiemParse: /މކ|މފ/,\n isPM : function (input) {\n return 'މފ' === input;\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'މކ';\n } else {\n return 'މފ';\n }\n },\n calendar : {\n sameDay : '[މިއަދު] LT',\n nextDay : '[މާދަމާ] LT',\n nextWeek : 'dddd LT',\n lastDay : '[އިއްޔެ] LT',\n lastWeek : '[ފާއިތުވި] dddd LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'ތެރޭގައި %s',\n past : 'ކުރިން %s',\n s : 'ސިކުންތުކޮޅެއް',\n ss : 'd% ސިކުންތު',\n m : 'މިނިޓެއް',\n mm : 'މިނިޓު %d',\n h : 'ގަޑިއިރެއް',\n hh : 'ގަޑިއިރު %d',\n d : 'ދުވަހެއް',\n dd : 'ދުވަސް %d',\n M : 'މަހެއް',\n MM : 'މަސް %d',\n y : 'އަހަރެއް',\n yy : 'އަހަރު %d'\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/,/g, '،');\n },\n week : {\n dow : 7, // Sunday is the first day of the week.\n doy : 12 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return dv;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n 'm': ['eine Minute', 'einer Minute'],\n 'h': ['eine Stunde', 'einer Stunde'],\n 'd': ['ein Tag', 'einem Tag'],\n 'dd': [number + ' Tage', number + ' Tagen'],\n 'M': ['ein Monat', 'einem Monat'],\n 'MM': [number + ' Monate', number + ' Monaten'],\n 'y': ['ein Jahr', 'einem Jahr'],\n 'yy': [number + ' Jahre', number + ' Jahren']\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n\n var deCh = moment.defineLocale('de-ch', {\n months : 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),\n monthsShort : 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),\n monthsParseExact : true,\n weekdays : 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'),\n weekdaysShort : 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n weekdaysMin : 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY HH:mm',\n LLLL : 'dddd, D. MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[heute um] LT [Uhr]',\n sameElse: 'L',\n nextDay: '[morgen um] LT [Uhr]',\n nextWeek: 'dddd [um] LT [Uhr]',\n lastDay: '[gestern um] LT [Uhr]',\n lastWeek: '[letzten] dddd [um] LT [Uhr]'\n },\n relativeTime : {\n future : 'in %s',\n past : 'vor %s',\n s : 'ein paar Sekunden',\n ss : '%d Sekunden',\n m : processRelativeTime,\n mm : '%d Minuten',\n h : processRelativeTime,\n hh : '%d Stunden',\n d : processRelativeTime,\n dd : processRelativeTime,\n M : processRelativeTime,\n MM : processRelativeTime,\n y : processRelativeTime,\n yy : processRelativeTime\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return deCh;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n 'm': ['eine Minute', 'einer Minute'],\n 'h': ['eine Stunde', 'einer Stunde'],\n 'd': ['ein Tag', 'einem Tag'],\n 'dd': [number + ' Tage', number + ' Tagen'],\n 'M': ['ein Monat', 'einem Monat'],\n 'MM': [number + ' Monate', number + ' Monaten'],\n 'y': ['ein Jahr', 'einem Jahr'],\n 'yy': [number + ' Jahre', number + ' Jahren']\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n\n var deAt = moment.defineLocale('de-at', {\n months : 'Jänner_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),\n monthsShort : 'Jän._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),\n monthsParseExact : true,\n weekdays : 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'),\n weekdaysShort : 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'),\n weekdaysMin : 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY HH:mm',\n LLLL : 'dddd, D. MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[heute um] LT [Uhr]',\n sameElse: 'L',\n nextDay: '[morgen um] LT [Uhr]',\n nextWeek: 'dddd [um] LT [Uhr]',\n lastDay: '[gestern um] LT [Uhr]',\n lastWeek: '[letzten] dddd [um] LT [Uhr]'\n },\n relativeTime : {\n future : 'in %s',\n past : 'vor %s',\n s : 'ein paar Sekunden',\n ss : '%d Sekunden',\n m : processRelativeTime,\n mm : '%d Minuten',\n h : processRelativeTime,\n hh : '%d Stunden',\n d : processRelativeTime,\n dd : processRelativeTime,\n M : processRelativeTime,\n MM : processRelativeTime,\n y : processRelativeTime,\n yy : processRelativeTime\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return deAt;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n 'm': ['eine Minute', 'einer Minute'],\n 'h': ['eine Stunde', 'einer Stunde'],\n 'd': ['ein Tag', 'einem Tag'],\n 'dd': [number + ' Tage', number + ' Tagen'],\n 'M': ['ein Monat', 'einem Monat'],\n 'MM': [number + ' Monate', number + ' Monaten'],\n 'y': ['ein Jahr', 'einem Jahr'],\n 'yy': [number + ' Jahre', number + ' Jahren']\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n\n var de = moment.defineLocale('de', {\n months : 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),\n monthsShort : 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),\n monthsParseExact : true,\n weekdays : 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'),\n weekdaysShort : 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'),\n weekdaysMin : 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY HH:mm',\n LLLL : 'dddd, D. MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[heute um] LT [Uhr]',\n sameElse: 'L',\n nextDay: '[morgen um] LT [Uhr]',\n nextWeek: 'dddd [um] LT [Uhr]',\n lastDay: '[gestern um] LT [Uhr]',\n lastWeek: '[letzten] dddd [um] LT [Uhr]'\n },\n relativeTime : {\n future : 'in %s',\n past : 'vor %s',\n s : 'ein paar Sekunden',\n ss : '%d Sekunden',\n m : processRelativeTime,\n mm : '%d Minuten',\n h : processRelativeTime,\n hh : '%d Stunden',\n d : processRelativeTime,\n dd : processRelativeTime,\n M : processRelativeTime,\n MM : processRelativeTime,\n y : processRelativeTime,\n yy : processRelativeTime\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return de;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var da = moment.defineLocale('da', {\n months : 'januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december'.split('_'),\n monthsShort : 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n weekdays : 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),\n weekdaysShort : 'søn_man_tir_ons_tor_fre_lør'.split('_'),\n weekdaysMin : 'sø_ma_ti_on_to_fr_lø'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY HH:mm',\n LLLL : 'dddd [d.] D. MMMM YYYY [kl.] HH:mm'\n },\n calendar : {\n sameDay : '[i dag kl.] LT',\n nextDay : '[i morgen kl.] LT',\n nextWeek : 'på dddd [kl.] LT',\n lastDay : '[i går kl.] LT',\n lastWeek : '[i] dddd[s kl.] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'om %s',\n past : '%s siden',\n s : 'få sekunder',\n ss : '%d sekunder',\n m : 'et minut',\n mm : '%d minutter',\n h : 'en time',\n hh : '%d timer',\n d : 'en dag',\n dd : '%d dage',\n M : 'en måned',\n MM : '%d måneder',\n y : 'et år',\n yy : '%d år'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return da;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var cy = moment.defineLocale('cy', {\n months: 'Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr'.split('_'),\n monthsShort: 'Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag'.split('_'),\n weekdays: 'Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn'.split('_'),\n weekdaysShort: 'Sul_Llun_Maw_Mer_Iau_Gwe_Sad'.split('_'),\n weekdaysMin: 'Su_Ll_Ma_Me_Ia_Gw_Sa'.split('_'),\n weekdaysParseExact : true,\n // time formats are the same as en-gb\n longDateFormat: {\n LT: 'HH:mm',\n LTS : 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Heddiw am] LT',\n nextDay: '[Yfory am] LT',\n nextWeek: 'dddd [am] LT',\n lastDay: '[Ddoe am] LT',\n lastWeek: 'dddd [diwethaf am] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'mewn %s',\n past: '%s yn ôl',\n s: 'ychydig eiliadau',\n ss: '%d eiliad',\n m: 'munud',\n mm: '%d munud',\n h: 'awr',\n hh: '%d awr',\n d: 'diwrnod',\n dd: '%d diwrnod',\n M: 'mis',\n MM: '%d mis',\n y: 'blwyddyn',\n yy: '%d flynedd'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(fed|ain|af|il|ydd|ed|eg)/,\n // traditional ordinal numbers above 31 are not commonly used in colloquial Welsh\n ordinal: function (number) {\n var b = number,\n output = '',\n lookup = [\n '', 'af', 'il', 'ydd', 'ydd', 'ed', 'ed', 'ed', 'fed', 'fed', 'fed', // 1af to 10fed\n 'eg', 'fed', 'eg', 'eg', 'fed', 'eg', 'eg', 'fed', 'eg', 'fed' // 11eg to 20fed\n ];\n if (b > 20) {\n if (b === 40 || b === 50 || b === 60 || b === 80 || b === 100) {\n output = 'fed'; // not 30ain, 70ain or 90ain\n } else {\n output = 'ain';\n }\n } else if (b > 0) {\n output = lookup[b];\n }\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return cy;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var cv = moment.defineLocale('cv', {\n months : 'кӑрлач_нарӑс_пуш_ака_май_ҫӗртме_утӑ_ҫурла_авӑн_юпа_чӳк_раштав'.split('_'),\n monthsShort : 'кӑр_нар_пуш_ака_май_ҫӗр_утӑ_ҫур_авн_юпа_чӳк_раш'.split('_'),\n weekdays : 'вырсарникун_тунтикун_ытларикун_юнкун_кӗҫнерникун_эрнекун_шӑматкун'.split('_'),\n weekdaysShort : 'выр_тун_ытл_юн_кӗҫ_эрн_шӑм'.split('_'),\n weekdaysMin : 'вр_тн_ыт_юн_кҫ_эр_шм'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD-MM-YYYY',\n LL : 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ]',\n LLL : 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm',\n LLLL : 'dddd, YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm'\n },\n calendar : {\n sameDay: '[Паян] LT [сехетре]',\n nextDay: '[Ыран] LT [сехетре]',\n lastDay: '[Ӗнер] LT [сехетре]',\n nextWeek: '[Ҫитес] dddd LT [сехетре]',\n lastWeek: '[Иртнӗ] dddd LT [сехетре]',\n sameElse: 'L'\n },\n relativeTime : {\n future : function (output) {\n var affix = /сехет$/i.exec(output) ? 'рен' : /ҫул$/i.exec(output) ? 'тан' : 'ран';\n return output + affix;\n },\n past : '%s каялла',\n s : 'пӗр-ик ҫеккунт',\n ss : '%d ҫеккунт',\n m : 'пӗр минут',\n mm : '%d минут',\n h : 'пӗр сехет',\n hh : '%d сехет',\n d : 'пӗр кун',\n dd : '%d кун',\n M : 'пӗр уйӑх',\n MM : '%d уйӑх',\n y : 'пӗр ҫул',\n yy : '%d ҫул'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-мӗш/,\n ordinal : '%d-мӗш',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return cv;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var months = 'leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec'.split('_'),\n monthsShort = 'led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro'.split('_');\n function plural(n) {\n return (n > 1) && (n < 5) && (~~(n / 10) !== 1);\n }\n function translate(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n switch (key) {\n case 's': // a few seconds / in a few seconds / a few seconds ago\n return (withoutSuffix || isFuture) ? 'pár sekund' : 'pár sekundami';\n case 'ss': // 9 seconds / in 9 seconds / 9 seconds ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'sekundy' : 'sekund');\n } else {\n return result + 'sekundami';\n }\n break;\n case 'm': // a minute / in a minute / a minute ago\n return withoutSuffix ? 'minuta' : (isFuture ? 'minutu' : 'minutou');\n case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'minuty' : 'minut');\n } else {\n return result + 'minutami';\n }\n break;\n case 'h': // an hour / in an hour / an hour ago\n return withoutSuffix ? 'hodina' : (isFuture ? 'hodinu' : 'hodinou');\n case 'hh': // 9 hours / in 9 hours / 9 hours ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'hodiny' : 'hodin');\n } else {\n return result + 'hodinami';\n }\n break;\n case 'd': // a day / in a day / a day ago\n return (withoutSuffix || isFuture) ? 'den' : 'dnem';\n case 'dd': // 9 days / in 9 days / 9 days ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'dny' : 'dní');\n } else {\n return result + 'dny';\n }\n break;\n case 'M': // a month / in a month / a month ago\n return (withoutSuffix || isFuture) ? 'měsíc' : 'měsícem';\n case 'MM': // 9 months / in 9 months / 9 months ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'měsíce' : 'měsíců');\n } else {\n return result + 'měsíci';\n }\n break;\n case 'y': // a year / in a year / a year ago\n return (withoutSuffix || isFuture) ? 'rok' : 'rokem';\n case 'yy': // 9 years / in 9 years / 9 years ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'roky' : 'let');\n } else {\n return result + 'lety';\n }\n break;\n }\n }\n\n var cs = moment.defineLocale('cs', {\n months : months,\n monthsShort : monthsShort,\n monthsParse : (function (months, monthsShort) {\n var i, _monthsParse = [];\n for (i = 0; i < 12; i++) {\n // use custom parser to solve problem with July (červenec)\n _monthsParse[i] = new RegExp('^' + months[i] + '$|^' + monthsShort[i] + '$', 'i');\n }\n return _monthsParse;\n }(months, monthsShort)),\n shortMonthsParse : (function (monthsShort) {\n var i, _shortMonthsParse = [];\n for (i = 0; i < 12; i++) {\n _shortMonthsParse[i] = new RegExp('^' + monthsShort[i] + '$', 'i');\n }\n return _shortMonthsParse;\n }(monthsShort)),\n longMonthsParse : (function (months) {\n var i, _longMonthsParse = [];\n for (i = 0; i < 12; i++) {\n _longMonthsParse[i] = new RegExp('^' + months[i] + '$', 'i');\n }\n return _longMonthsParse;\n }(months)),\n weekdays : 'neděle_pondělí_úterý_středa_čtvrtek_pátek_sobota'.split('_'),\n weekdaysShort : 'ne_po_út_st_čt_pá_so'.split('_'),\n weekdaysMin : 'ne_po_út_st_čt_pá_so'.split('_'),\n longDateFormat : {\n LT: 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY H:mm',\n LLLL : 'dddd D. MMMM YYYY H:mm',\n l : 'D. M. YYYY'\n },\n calendar : {\n sameDay: '[dnes v] LT',\n nextDay: '[zítra v] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[v neděli v] LT';\n case 1:\n case 2:\n return '[v] dddd [v] LT';\n case 3:\n return '[ve středu v] LT';\n case 4:\n return '[ve čtvrtek v] LT';\n case 5:\n return '[v pátek v] LT';\n case 6:\n return '[v sobotu v] LT';\n }\n },\n lastDay: '[včera v] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[minulou neděli v] LT';\n case 1:\n case 2:\n return '[minulé] dddd [v] LT';\n case 3:\n return '[minulou středu v] LT';\n case 4:\n case 5:\n return '[minulý] dddd [v] LT';\n case 6:\n return '[minulou sobotu v] LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : 'za %s',\n past : 'před %s',\n s : translate,\n ss : translate,\n m : translate,\n mm : translate,\n h : translate,\n hh : translate,\n d : translate,\n dd : translate,\n M : translate,\n MM : translate,\n y : translate,\n yy : translate\n },\n dayOfMonthOrdinalParse : /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return cs;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var ca = moment.defineLocale('ca', {\n months : {\n standalone: 'gener_febrer_març_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre'.split('_'),\n format: 'de gener_de febrer_de març_d\\'abril_de maig_de juny_de juliol_d\\'agost_de setembre_d\\'octubre_de novembre_de desembre'.split('_'),\n isFormat: /D[oD]?(\\s)+MMMM/\n },\n monthsShort : 'gen._febr._març_abr._maig_juny_jul._ag._set._oct._nov._des.'.split('_'),\n monthsParseExact : true,\n weekdays : 'diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte'.split('_'),\n weekdaysShort : 'dg._dl._dt._dc._dj._dv._ds.'.split('_'),\n weekdaysMin : 'dg_dl_dt_dc_dj_dv_ds'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM [de] YYYY',\n ll : 'D MMM YYYY',\n LLL : 'D MMMM [de] YYYY [a les] H:mm',\n lll : 'D MMM YYYY, H:mm',\n LLLL : 'dddd D MMMM [de] YYYY [a les] H:mm',\n llll : 'ddd D MMM YYYY, H:mm'\n },\n calendar : {\n sameDay : function () {\n return '[avui a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';\n },\n nextDay : function () {\n return '[demà a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';\n },\n nextWeek : function () {\n return 'dddd [a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';\n },\n lastDay : function () {\n return '[ahir a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';\n },\n lastWeek : function () {\n return '[el] dddd [passat a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'd\\'aquí %s',\n past : 'fa %s',\n s : 'uns segons',\n ss : '%d segons',\n m : 'un minut',\n mm : '%d minuts',\n h : 'una hora',\n hh : '%d hores',\n d : 'un dia',\n dd : '%d dies',\n M : 'un mes',\n MM : '%d mesos',\n y : 'un any',\n yy : '%d anys'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(r|n|t|è|a)/,\n ordinal : function (number, period) {\n var output = (number === 1) ? 'r' :\n (number === 2) ? 'n' :\n (number === 3) ? 'r' :\n (number === 4) ? 't' : 'è';\n if (period === 'w' || period === 'W') {\n output = 'a';\n }\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return ca;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function translate(number, withoutSuffix, key) {\n var result = number + ' ';\n switch (key) {\n case 'ss':\n if (number === 1) {\n result += 'sekunda';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sekunde';\n } else {\n result += 'sekundi';\n }\n return result;\n case 'm':\n return withoutSuffix ? 'jedna minuta' : 'jedne minute';\n case 'mm':\n if (number === 1) {\n result += 'minuta';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'minute';\n } else {\n result += 'minuta';\n }\n return result;\n case 'h':\n return withoutSuffix ? 'jedan sat' : 'jednog sata';\n case 'hh':\n if (number === 1) {\n result += 'sat';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sata';\n } else {\n result += 'sati';\n }\n return result;\n case 'dd':\n if (number === 1) {\n result += 'dan';\n } else {\n result += 'dana';\n }\n return result;\n case 'MM':\n if (number === 1) {\n result += 'mjesec';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'mjeseca';\n } else {\n result += 'mjeseci';\n }\n return result;\n case 'yy':\n if (number === 1) {\n result += 'godina';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'godine';\n } else {\n result += 'godina';\n }\n return result;\n }\n }\n\n var bs = moment.defineLocale('bs', {\n months : 'januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar'.split('_'),\n monthsShort : 'jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays : 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split('_'),\n weekdaysShort : 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n weekdaysMin : 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY H:mm',\n LLLL : 'dddd, D. MMMM YYYY H:mm'\n },\n calendar : {\n sameDay : '[danas u] LT',\n nextDay : '[sutra u] LT',\n nextWeek : function () {\n switch (this.day()) {\n case 0:\n return '[u] [nedjelju] [u] LT';\n case 3:\n return '[u] [srijedu] [u] LT';\n case 6:\n return '[u] [subotu] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay : '[jučer u] LT',\n lastWeek : function () {\n switch (this.day()) {\n case 0:\n case 3:\n return '[prošlu] dddd [u] LT';\n case 6:\n return '[prošle] [subote] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[prošli] dddd [u] LT';\n }\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'za %s',\n past : 'prije %s',\n s : 'par sekundi',\n ss : translate,\n m : translate,\n mm : translate,\n h : translate,\n hh : translate,\n d : 'dan',\n dd : translate,\n M : 'mjesec',\n MM : translate,\n y : 'godinu',\n yy : translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return bs;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function relativeTimeWithMutation(number, withoutSuffix, key) {\n var format = {\n 'mm': 'munutenn',\n 'MM': 'miz',\n 'dd': 'devezh'\n };\n return number + ' ' + mutation(format[key], number);\n }\n function specialMutationForYears(number) {\n switch (lastNumber(number)) {\n case 1:\n case 3:\n case 4:\n case 5:\n case 9:\n return number + ' bloaz';\n default:\n return number + ' vloaz';\n }\n }\n function lastNumber(number) {\n if (number > 9) {\n return lastNumber(number % 10);\n }\n return number;\n }\n function mutation(text, number) {\n if (number === 2) {\n return softMutation(text);\n }\n return text;\n }\n function softMutation(text) {\n var mutationTable = {\n 'm': 'v',\n 'b': 'v',\n 'd': 'z'\n };\n if (mutationTable[text.charAt(0)] === undefined) {\n return text;\n }\n return mutationTable[text.charAt(0)] + text.substring(1);\n }\n\n var br = moment.defineLocale('br', {\n months : 'Genver_C\\'hwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu'.split('_'),\n monthsShort : 'Gen_C\\'hwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker'.split('_'),\n weekdays : 'Sul_Lun_Meurzh_Merc\\'her_Yaou_Gwener_Sadorn'.split('_'),\n weekdaysShort : 'Sul_Lun_Meu_Mer_Yao_Gwe_Sad'.split('_'),\n weekdaysMin : 'Su_Lu_Me_Mer_Ya_Gw_Sa'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'h[e]mm A',\n LTS : 'h[e]mm:ss A',\n L : 'DD/MM/YYYY',\n LL : 'D [a viz] MMMM YYYY',\n LLL : 'D [a viz] MMMM YYYY h[e]mm A',\n LLLL : 'dddd, D [a viz] MMMM YYYY h[e]mm A'\n },\n calendar : {\n sameDay : '[Hiziv da] LT',\n nextDay : '[Warc\\'hoazh da] LT',\n nextWeek : 'dddd [da] LT',\n lastDay : '[Dec\\'h da] LT',\n lastWeek : 'dddd [paset da] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'a-benn %s',\n past : '%s \\'zo',\n s : 'un nebeud segondennoù',\n ss : '%d eilenn',\n m : 'ur vunutenn',\n mm : relativeTimeWithMutation,\n h : 'un eur',\n hh : '%d eur',\n d : 'un devezh',\n dd : relativeTimeWithMutation,\n M : 'ur miz',\n MM : relativeTimeWithMutation,\n y : 'ur bloaz',\n yy : specialMutationForYears\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(añ|vet)/,\n ordinal : function (number) {\n var output = (number === 1) ? 'añ' : 'vet';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return br;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '༡',\n '2': '༢',\n '3': '༣',\n '4': '༤',\n '5': '༥',\n '6': '༦',\n '7': '༧',\n '8': '༨',\n '9': '༩',\n '0': '༠'\n },\n numberMap = {\n '༡': '1',\n '༢': '2',\n '༣': '3',\n '༤': '4',\n '༥': '5',\n '༦': '6',\n '༧': '7',\n '༨': '8',\n '༩': '9',\n '༠': '0'\n };\n\n var bo = moment.defineLocale('bo', {\n months : 'ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ'.split('_'),\n monthsShort : 'ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ'.split('_'),\n weekdays : 'གཟའ་ཉི་མ་_གཟའ་ཟླ་བ་_གཟའ་མིག་དམར་_གཟའ་ལྷག་པ་_གཟའ་ཕུར་བུ_གཟའ་པ་སངས་_གཟའ་སྤེན་པ་'.split('_'),\n weekdaysShort : 'ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་'.split('_'),\n weekdaysMin : 'ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་'.split('_'),\n longDateFormat : {\n LT : 'A h:mm',\n LTS : 'A h:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, A h:mm',\n LLLL : 'dddd, D MMMM YYYY, A h:mm'\n },\n calendar : {\n sameDay : '[དི་རིང] LT',\n nextDay : '[སང་ཉིན] LT',\n nextWeek : '[བདུན་ཕྲག་རྗེས་མ], LT',\n lastDay : '[ཁ་སང] LT',\n lastWeek : '[བདུན་ཕྲག་མཐའ་མ] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s ལ་',\n past : '%s སྔན་ལ',\n s : 'ལམ་སང',\n ss : '%d སྐར་ཆ།',\n m : 'སྐར་མ་གཅིག',\n mm : '%d སྐར་མ',\n h : 'ཆུ་ཚོད་གཅིག',\n hh : '%d ཆུ་ཚོད',\n d : 'ཉིན་གཅིག',\n dd : '%d ཉིན་',\n M : 'ཟླ་བ་གཅིག',\n MM : '%d ཟླ་བ',\n y : 'ལོ་གཅིག',\n yy : '%d ལོ'\n },\n preparse: function (string) {\n return string.replace(/[༡༢༣༤༥༦༧༨༩༠]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /མཚན་མོ|ཞོགས་ཀས|ཉིན་གུང|དགོང་དག|མཚན་མོ/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if ((meridiem === 'མཚན་མོ' && hour >= 4) ||\n (meridiem === 'ཉིན་གུང' && hour < 5) ||\n meridiem === 'དགོང་དག') {\n return hour + 12;\n } else {\n return hour;\n }\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'མཚན་མོ';\n } else if (hour < 10) {\n return 'ཞོགས་ཀས';\n } else if (hour < 17) {\n return 'ཉིན་གུང';\n } else if (hour < 20) {\n return 'དགོང་དག';\n } else {\n return 'མཚན་མོ';\n }\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return bo;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '১',\n '2': '২',\n '3': '৩',\n '4': '৪',\n '5': '৫',\n '6': '৬',\n '7': '৭',\n '8': '৮',\n '9': '৯',\n '0': '০'\n },\n numberMap = {\n '১': '1',\n '২': '2',\n '৩': '3',\n '৪': '4',\n '৫': '5',\n '৬': '6',\n '৭': '7',\n '৮': '8',\n '৯': '9',\n '০': '0'\n };\n\n var bn = moment.defineLocale('bn', {\n months : 'জানুয়ারী_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর'.split('_'),\n monthsShort : 'জানু_ফেব_মার্চ_এপ্র_মে_জুন_জুল_আগ_সেপ্ট_অক্টো_নভে_ডিসে'.split('_'),\n weekdays : 'রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার'.split('_'),\n weekdaysShort : 'রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি'.split('_'),\n weekdaysMin : 'রবি_সোম_মঙ্গ_বুধ_বৃহঃ_শুক্র_শনি'.split('_'),\n longDateFormat : {\n LT : 'A h:mm সময়',\n LTS : 'A h:mm:ss সময়',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, A h:mm সময়',\n LLLL : 'dddd, D MMMM YYYY, A h:mm সময়'\n },\n calendar : {\n sameDay : '[আজ] LT',\n nextDay : '[আগামীকাল] LT',\n nextWeek : 'dddd, LT',\n lastDay : '[গতকাল] LT',\n lastWeek : '[গত] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s পরে',\n past : '%s আগে',\n s : 'কয়েক সেকেন্ড',\n ss : '%d সেকেন্ড',\n m : 'এক মিনিট',\n mm : '%d মিনিট',\n h : 'এক ঘন্টা',\n hh : '%d ঘন্টা',\n d : 'এক দিন',\n dd : '%d দিন',\n M : 'এক মাস',\n MM : '%d মাস',\n y : 'এক বছর',\n yy : '%d বছর'\n },\n preparse: function (string) {\n return string.replace(/[১২৩৪৫৬৭৮৯০]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /রাত|সকাল|দুপুর|বিকাল|রাত/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if ((meridiem === 'রাত' && hour >= 4) ||\n (meridiem === 'দুপুর' && hour < 5) ||\n meridiem === 'বিকাল') {\n return hour + 12;\n } else {\n return hour;\n }\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'রাত';\n } else if (hour < 10) {\n return 'সকাল';\n } else if (hour < 17) {\n return 'দুপুর';\n } else if (hour < 20) {\n return 'বিকাল';\n } else {\n return 'রাত';\n }\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return bn;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var bm = moment.defineLocale('bm', {\n months : 'Zanwuyekalo_Fewuruyekalo_Marisikalo_Awirilikalo_Mɛkalo_Zuwɛnkalo_Zuluyekalo_Utikalo_Sɛtanburukalo_ɔkutɔburukalo_Nowanburukalo_Desanburukalo'.split('_'),\n monthsShort : 'Zan_Few_Mar_Awi_Mɛ_Zuw_Zul_Uti_Sɛt_ɔku_Now_Des'.split('_'),\n weekdays : 'Kari_Ntɛnɛn_Tarata_Araba_Alamisa_Juma_Sibiri'.split('_'),\n weekdaysShort : 'Kar_Ntɛ_Tar_Ara_Ala_Jum_Sib'.split('_'),\n weekdaysMin : 'Ka_Nt_Ta_Ar_Al_Ju_Si'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'MMMM [tile] D [san] YYYY',\n LLL : 'MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm',\n LLLL : 'dddd MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm'\n },\n calendar : {\n sameDay : '[Bi lɛrɛ] LT',\n nextDay : '[Sini lɛrɛ] LT',\n nextWeek : 'dddd [don lɛrɛ] LT',\n lastDay : '[Kunu lɛrɛ] LT',\n lastWeek : 'dddd [tɛmɛnen lɛrɛ] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s kɔnɔ',\n past : 'a bɛ %s bɔ',\n s : 'sanga dama dama',\n ss : 'sekondi %d',\n m : 'miniti kelen',\n mm : 'miniti %d',\n h : 'lɛrɛ kelen',\n hh : 'lɛrɛ %d',\n d : 'tile kelen',\n dd : 'tile %d',\n M : 'kalo kelen',\n MM : 'kalo %d',\n y : 'san kelen',\n yy : 'san %d'\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return bm;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var bg = moment.defineLocale('bg', {\n months : 'януари_февруари_март_април_май_юни_юли_август_септември_октомври_ноември_декември'.split('_'),\n monthsShort : 'янр_фев_мар_апр_май_юни_юли_авг_сеп_окт_ное_дек'.split('_'),\n weekdays : 'неделя_понеделник_вторник_сряда_четвъртък_петък_събота'.split('_'),\n weekdaysShort : 'нед_пон_вто_сря_чет_пет_съб'.split('_'),\n weekdaysMin : 'нд_пн_вт_ср_чт_пт_сб'.split('_'),\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'D.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY H:mm',\n LLLL : 'dddd, D MMMM YYYY H:mm'\n },\n calendar : {\n sameDay : '[Днес в] LT',\n nextDay : '[Утре в] LT',\n nextWeek : 'dddd [в] LT',\n lastDay : '[Вчера в] LT',\n lastWeek : function () {\n switch (this.day()) {\n case 0:\n case 3:\n case 6:\n return '[В изминалата] dddd [в] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[В изминалия] dddd [в] LT';\n }\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'след %s',\n past : 'преди %s',\n s : 'няколко секунди',\n ss : '%d секунди',\n m : 'минута',\n mm : '%d минути',\n h : 'час',\n hh : '%d часа',\n d : 'ден',\n dd : '%d дни',\n M : 'месец',\n MM : '%d месеца',\n y : 'година',\n yy : '%d години'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ев|ен|ти|ви|ри|ми)/,\n ordinal : function (number) {\n var lastDigit = number % 10,\n last2Digits = number % 100;\n if (number === 0) {\n return number + '-ев';\n } else if (last2Digits === 0) {\n return number + '-ен';\n } else if (last2Digits > 10 && last2Digits < 20) {\n return number + '-ти';\n } else if (lastDigit === 1) {\n return number + '-ви';\n } else if (lastDigit === 2) {\n return number + '-ри';\n } else if (lastDigit === 7 || lastDigit === 8) {\n return number + '-ми';\n } else {\n return number + '-ти';\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return bg;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function plural(word, num) {\n var forms = word.split('_');\n return num % 10 === 1 && num % 100 !== 11 ? forms[0] : (num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) ? forms[1] : forms[2]);\n }\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n var format = {\n 'ss': withoutSuffix ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд',\n 'mm': withoutSuffix ? 'хвіліна_хвіліны_хвілін' : 'хвіліну_хвіліны_хвілін',\n 'hh': withoutSuffix ? 'гадзіна_гадзіны_гадзін' : 'гадзіну_гадзіны_гадзін',\n 'dd': 'дзень_дні_дзён',\n 'MM': 'месяц_месяцы_месяцаў',\n 'yy': 'год_гады_гадоў'\n };\n if (key === 'm') {\n return withoutSuffix ? 'хвіліна' : 'хвіліну';\n }\n else if (key === 'h') {\n return withoutSuffix ? 'гадзіна' : 'гадзіну';\n }\n else {\n return number + ' ' + plural(format[key], +number);\n }\n }\n\n var be = moment.defineLocale('be', {\n months : {\n format: 'студзеня_лютага_сакавіка_красавіка_траўня_чэрвеня_ліпеня_жніўня_верасня_кастрычніка_лістапада_снежня'.split('_'),\n standalone: 'студзень_люты_сакавік_красавік_травень_чэрвень_ліпень_жнівень_верасень_кастрычнік_лістапад_снежань'.split('_')\n },\n monthsShort : 'студ_лют_сак_крас_трав_чэрв_ліп_жнів_вер_каст_ліст_снеж'.split('_'),\n weekdays : {\n format: 'нядзелю_панядзелак_аўторак_сераду_чацвер_пятніцу_суботу'.split('_'),\n standalone: 'нядзеля_панядзелак_аўторак_серада_чацвер_пятніца_субота'.split('_'),\n isFormat: /\\[ ?[Ууў] ?(?:мінулую|наступную)? ?\\] ?dddd/\n },\n weekdaysShort : 'нд_пн_ат_ср_чц_пт_сб'.split('_'),\n weekdaysMin : 'нд_пн_ат_ср_чц_пт_сб'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY г.',\n LLL : 'D MMMM YYYY г., HH:mm',\n LLLL : 'dddd, D MMMM YYYY г., HH:mm'\n },\n calendar : {\n sameDay: '[Сёння ў] LT',\n nextDay: '[Заўтра ў] LT',\n lastDay: '[Учора ў] LT',\n nextWeek: function () {\n return '[У] dddd [ў] LT';\n },\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n case 3:\n case 5:\n case 6:\n return '[У мінулую] dddd [ў] LT';\n case 1:\n case 2:\n case 4:\n return '[У мінулы] dddd [ў] LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : 'праз %s',\n past : '%s таму',\n s : 'некалькі секунд',\n m : relativeTimeWithPlural,\n mm : relativeTimeWithPlural,\n h : relativeTimeWithPlural,\n hh : relativeTimeWithPlural,\n d : 'дзень',\n dd : relativeTimeWithPlural,\n M : 'месяц',\n MM : relativeTimeWithPlural,\n y : 'год',\n yy : relativeTimeWithPlural\n },\n meridiemParse: /ночы|раніцы|дня|вечара/,\n isPM : function (input) {\n return /^(дня|вечара)$/.test(input);\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ночы';\n } else if (hour < 12) {\n return 'раніцы';\n } else if (hour < 17) {\n return 'дня';\n } else {\n return 'вечара';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(і|ы|га)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'M':\n case 'd':\n case 'DDD':\n case 'w':\n case 'W':\n return (number % 10 === 2 || number % 10 === 3) && (number % 100 !== 12 && number % 100 !== 13) ? number + '-і' : number + '-ы';\n case 'D':\n return number + '-га';\n default:\n return number;\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return be;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var suffixes = {\n 1: '-inci',\n 5: '-inci',\n 8: '-inci',\n 70: '-inci',\n 80: '-inci',\n 2: '-nci',\n 7: '-nci',\n 20: '-nci',\n 50: '-nci',\n 3: '-üncü',\n 4: '-üncü',\n 100: '-üncü',\n 6: '-ncı',\n 9: '-uncu',\n 10: '-uncu',\n 30: '-uncu',\n 60: '-ıncı',\n 90: '-ıncı'\n };\n\n var az = moment.defineLocale('az', {\n months : 'yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr'.split('_'),\n monthsShort : 'yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek'.split('_'),\n weekdays : 'Bazar_Bazar ertəsi_Çərşənbə axşamı_Çərşənbə_Cümə axşamı_Cümə_Şənbə'.split('_'),\n weekdaysShort : 'Baz_BzE_ÇAx_Çər_CAx_Cüm_Şən'.split('_'),\n weekdaysMin : 'Bz_BE_ÇA_Çə_CA_Cü_Şə'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[bugün saat] LT',\n nextDay : '[sabah saat] LT',\n nextWeek : '[gələn həftə] dddd [saat] LT',\n lastDay : '[dünən] LT',\n lastWeek : '[keçən həftə] dddd [saat] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s sonra',\n past : '%s əvvəl',\n s : 'birneçə saniyə',\n ss : '%d saniyə',\n m : 'bir dəqiqə',\n mm : '%d dəqiqə',\n h : 'bir saat',\n hh : '%d saat',\n d : 'bir gün',\n dd : '%d gün',\n M : 'bir ay',\n MM : '%d ay',\n y : 'bir il',\n yy : '%d il'\n },\n meridiemParse: /gecə|səhər|gündüz|axşam/,\n isPM : function (input) {\n return /^(gündüz|axşam)$/.test(input);\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'gecə';\n } else if (hour < 12) {\n return 'səhər';\n } else if (hour < 17) {\n return 'gündüz';\n } else {\n return 'axşam';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ıncı|inci|nci|üncü|ncı|uncu)/,\n ordinal : function (number) {\n if (number === 0) { // special case for zero\n return number + '-ıncı';\n }\n var a = number % 10,\n b = number % 100 - a,\n c = number >= 100 ? 100 : null;\n return number + (suffixes[a] || suffixes[b] || suffixes[c]);\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return az;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var arTn = moment.defineLocale('ar-tn', {\n months: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),\n monthsShort: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact : true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'في %s',\n past: 'منذ %s',\n s: 'ثوان',\n ss : '%d ثانية',\n m: 'دقيقة',\n mm: '%d دقائق',\n h: 'ساعة',\n hh: '%d ساعات',\n d: 'يوم',\n dd: '%d أيام',\n M: 'شهر',\n MM: '%d أشهر',\n y: 'سنة',\n yy: '%d سنوات'\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return arTn;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '١',\n '2': '٢',\n '3': '٣',\n '4': '٤',\n '5': '٥',\n '6': '٦',\n '7': '٧',\n '8': '٨',\n '9': '٩',\n '0': '٠'\n }, numberMap = {\n '١': '1',\n '٢': '2',\n '٣': '3',\n '٤': '4',\n '٥': '5',\n '٦': '6',\n '٧': '7',\n '٨': '8',\n '٩': '9',\n '٠': '0'\n };\n\n var arSa = moment.defineLocale('ar-sa', {\n months : 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),\n monthsShort : 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),\n weekdays : 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort : 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n meridiemParse: /ص|م/,\n isPM : function (input) {\n return 'م' === input;\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ص';\n } else {\n return 'م';\n }\n },\n calendar : {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'في %s',\n past : 'منذ %s',\n s : 'ثوان',\n ss : '%d ثانية',\n m : 'دقيقة',\n mm : '%d دقائق',\n h : 'ساعة',\n hh : '%d ساعات',\n d : 'يوم',\n dd : '%d أيام',\n M : 'شهر',\n MM : '%d أشهر',\n y : 'سنة',\n yy : '%d سنوات'\n },\n preparse: function (string) {\n return string.replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\n return numberMap[match];\n }).replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n }).replace(/,/g, '،');\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return arSa;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var arMa = moment.defineLocale('ar-ma', {\n months : 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),\n monthsShort : 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),\n weekdays : 'الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort : 'احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'في %s',\n past : 'منذ %s',\n s : 'ثوان',\n ss : '%d ثانية',\n m : 'دقيقة',\n mm : '%d دقائق',\n h : 'ساعة',\n hh : '%d ساعات',\n d : 'يوم',\n dd : '%d أيام',\n M : 'شهر',\n MM : '%d أشهر',\n y : 'سنة',\n yy : '%d سنوات'\n },\n week : {\n dow : 6, // Saturday is the first day of the week.\n doy : 12 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return arMa;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '1',\n '2': '2',\n '3': '3',\n '4': '4',\n '5': '5',\n '6': '6',\n '7': '7',\n '8': '8',\n '9': '9',\n '0': '0'\n }, pluralForm = function (n) {\n return n === 0 ? 0 : n === 1 ? 1 : n === 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5;\n }, plurals = {\n s : ['أقل من ثانية', 'ثانية واحدة', ['ثانيتان', 'ثانيتين'], '%d ثوان', '%d ثانية', '%d ثانية'],\n m : ['أقل من دقيقة', 'دقيقة واحدة', ['دقيقتان', 'دقيقتين'], '%d دقائق', '%d دقيقة', '%d دقيقة'],\n h : ['أقل من ساعة', 'ساعة واحدة', ['ساعتان', 'ساعتين'], '%d ساعات', '%d ساعة', '%d ساعة'],\n d : ['أقل من يوم', 'يوم واحد', ['يومان', 'يومين'], '%d أيام', '%d يومًا', '%d يوم'],\n M : ['أقل من شهر', 'شهر واحد', ['شهران', 'شهرين'], '%d أشهر', '%d شهرا', '%d شهر'],\n y : ['أقل من عام', 'عام واحد', ['عامان', 'عامين'], '%d أعوام', '%d عامًا', '%d عام']\n }, pluralize = function (u) {\n return function (number, withoutSuffix, string, isFuture) {\n var f = pluralForm(number),\n str = plurals[u][pluralForm(number)];\n if (f === 2) {\n str = str[withoutSuffix ? 0 : 1];\n }\n return str.replace(/%d/i, number);\n };\n }, months = [\n 'يناير',\n 'فبراير',\n 'مارس',\n 'أبريل',\n 'مايو',\n 'يونيو',\n 'يوليو',\n 'أغسطس',\n 'سبتمبر',\n 'أكتوبر',\n 'نوفمبر',\n 'ديسمبر'\n ];\n\n var arLy = moment.defineLocale('ar-ly', {\n months : months,\n monthsShort : months,\n weekdays : 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort : 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'D/\\u200FM/\\u200FYYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n meridiemParse: /ص|م/,\n isPM : function (input) {\n return 'م' === input;\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ص';\n } else {\n return 'م';\n }\n },\n calendar : {\n sameDay: '[اليوم عند الساعة] LT',\n nextDay: '[غدًا عند الساعة] LT',\n nextWeek: 'dddd [عند الساعة] LT',\n lastDay: '[أمس عند الساعة] LT',\n lastWeek: 'dddd [عند الساعة] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'بعد %s',\n past : 'منذ %s',\n s : pluralize('s'),\n ss : pluralize('s'),\n m : pluralize('m'),\n mm : pluralize('m'),\n h : pluralize('h'),\n hh : pluralize('h'),\n d : pluralize('d'),\n dd : pluralize('d'),\n M : pluralize('M'),\n MM : pluralize('M'),\n y : pluralize('y'),\n yy : pluralize('y')\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n }).replace(/,/g, '،');\n },\n week : {\n dow : 6, // Saturday is the first day of the week.\n doy : 12 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return arLy;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var arKw = moment.defineLocale('ar-kw', {\n months : 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),\n monthsShort : 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),\n weekdays : 'الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort : 'احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'في %s',\n past : 'منذ %s',\n s : 'ثوان',\n ss : '%d ثانية',\n m : 'دقيقة',\n mm : '%d دقائق',\n h : 'ساعة',\n hh : '%d ساعات',\n d : 'يوم',\n dd : '%d أيام',\n M : 'شهر',\n MM : '%d أشهر',\n y : 'سنة',\n yy : '%d سنوات'\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 12 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return arKw;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var arDz = moment.defineLocale('ar-dz', {\n months : 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),\n monthsShort : 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),\n weekdays : 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort : 'احد_اثنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin : 'أح_إث_ثلا_أر_خم_جم_سب'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'في %s',\n past : 'منذ %s',\n s : 'ثوان',\n ss : '%d ثانية',\n m : 'دقيقة',\n mm : '%d دقائق',\n h : 'ساعة',\n hh : '%d ساعات',\n d : 'يوم',\n dd : '%d أيام',\n M : 'شهر',\n MM : '%d أشهر',\n y : 'سنة',\n yy : '%d سنوات'\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 4 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return arDz;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '١',\n '2': '٢',\n '3': '٣',\n '4': '٤',\n '5': '٥',\n '6': '٦',\n '7': '٧',\n '8': '٨',\n '9': '٩',\n '0': '٠'\n }, numberMap = {\n '١': '1',\n '٢': '2',\n '٣': '3',\n '٤': '4',\n '٥': '5',\n '٦': '6',\n '٧': '7',\n '٨': '8',\n '٩': '9',\n '٠': '0'\n }, pluralForm = function (n) {\n return n === 0 ? 0 : n === 1 ? 1 : n === 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5;\n }, plurals = {\n s : ['أقل من ثانية', 'ثانية واحدة', ['ثانيتان', 'ثانيتين'], '%d ثوان', '%d ثانية', '%d ثانية'],\n m : ['أقل من دقيقة', 'دقيقة واحدة', ['دقيقتان', 'دقيقتين'], '%d دقائق', '%d دقيقة', '%d دقيقة'],\n h : ['أقل من ساعة', 'ساعة واحدة', ['ساعتان', 'ساعتين'], '%d ساعات', '%d ساعة', '%d ساعة'],\n d : ['أقل من يوم', 'يوم واحد', ['يومان', 'يومين'], '%d أيام', '%d يومًا', '%d يوم'],\n M : ['أقل من شهر', 'شهر واحد', ['شهران', 'شهرين'], '%d أشهر', '%d شهرا', '%d شهر'],\n y : ['أقل من عام', 'عام واحد', ['عامان', 'عامين'], '%d أعوام', '%d عامًا', '%d عام']\n }, pluralize = function (u) {\n return function (number, withoutSuffix, string, isFuture) {\n var f = pluralForm(number),\n str = plurals[u][pluralForm(number)];\n if (f === 2) {\n str = str[withoutSuffix ? 0 : 1];\n }\n return str.replace(/%d/i, number);\n };\n }, months = [\n 'يناير',\n 'فبراير',\n 'مارس',\n 'أبريل',\n 'مايو',\n 'يونيو',\n 'يوليو',\n 'أغسطس',\n 'سبتمبر',\n 'أكتوبر',\n 'نوفمبر',\n 'ديسمبر'\n ];\n\n var ar = moment.defineLocale('ar', {\n months : months,\n monthsShort : months,\n weekdays : 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort : 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'D/\\u200FM/\\u200FYYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n meridiemParse: /ص|م/,\n isPM : function (input) {\n return 'م' === input;\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ص';\n } else {\n return 'م';\n }\n },\n calendar : {\n sameDay: '[اليوم عند الساعة] LT',\n nextDay: '[غدًا عند الساعة] LT',\n nextWeek: 'dddd [عند الساعة] LT',\n lastDay: '[أمس عند الساعة] LT',\n lastWeek: 'dddd [عند الساعة] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'بعد %s',\n past : 'منذ %s',\n s : pluralize('s'),\n ss : pluralize('s'),\n m : pluralize('m'),\n mm : pluralize('m'),\n h : pluralize('h'),\n hh : pluralize('h'),\n d : pluralize('d'),\n dd : pluralize('d'),\n M : pluralize('M'),\n MM : pluralize('M'),\n y : pluralize('y'),\n yy : pluralize('y')\n },\n preparse: function (string) {\n return string.replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\n return numberMap[match];\n }).replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n }).replace(/,/g, '،');\n },\n week : {\n dow : 6, // Saturday is the first day of the week.\n doy : 12 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return ar;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var af = moment.defineLocale('af', {\n months : 'Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember'.split('_'),\n monthsShort : 'Jan_Feb_Mrt_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des'.split('_'),\n weekdays : 'Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag'.split('_'),\n weekdaysShort : 'Son_Maa_Din_Woe_Don_Vry_Sat'.split('_'),\n weekdaysMin : 'So_Ma_Di_Wo_Do_Vr_Sa'.split('_'),\n meridiemParse: /vm|nm/i,\n isPM : function (input) {\n return /^nm$/i.test(input);\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours < 12) {\n return isLower ? 'vm' : 'VM';\n } else {\n return isLower ? 'nm' : 'NM';\n }\n },\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Vandag om] LT',\n nextDay : '[Môre om] LT',\n nextWeek : 'dddd [om] LT',\n lastDay : '[Gister om] LT',\n lastWeek : '[Laas] dddd [om] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'oor %s',\n past : '%s gelede',\n s : '\\'n paar sekondes',\n ss : '%d sekondes',\n m : '\\'n minuut',\n mm : '%d minute',\n h : '\\'n uur',\n hh : '%d ure',\n d : '\\'n dag',\n dd : '%d dae',\n M : '\\'n maand',\n MM : '%d maande',\n y : '\\'n jaar',\n yy : '%d jaar'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n ordinal : function (number) {\n return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de'); // Thanks to Joris Röling : https://github.com/jjupiter\n },\n week : {\n dow : 1, // Maandag is die eerste dag van die week.\n doy : 4 // Die week wat die 4de Januarie bevat is die eerste week van die jaar.\n }\n });\n\n return af;\n\n})));\n","import { each } from './each';\n\nexport function extendDeep(target) {\n for (var i = 1; i < arguments.length; i++) {\n each(arguments[i], function(prop, key){\n if (( typeof target[key] !== 'undefined' && typeof prop !== 'undefined' ) &&\n ( typeof target[key] === 'object' && typeof prop === 'object' ) &&\n ( target[key] !== null && prop !== null )) {\n extendDeep(target[key], prop);\n }\n else {\n target[key] = prop;\n }\n });\n }\n return target;\n}\n","/* @license C3.js v0.6.12 | (c) C3 Team and other contributors | http://c3js.org/ */\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n (global.c3 = factory());\n}(this, (function () { 'use strict';\n\n function _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n }\n\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n\n function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n }\n\n function ChartInternal(api) {\n var $$ = this;\n $$.d3 = window.d3 ? window.d3 : typeof require !== 'undefined' ? require(\"d3\") : undefined;\n $$.api = api;\n $$.config = $$.getDefaultConfig();\n $$.data = {};\n $$.cache = {};\n $$.axes = {};\n }\n\n function Chart(config) {\n var $$ = this.internal = new ChartInternal(this);\n $$.loadConfig(config);\n $$.beforeInit(config);\n $$.init();\n $$.afterInit(config); // bind \"this\" to nested API\n\n (function bindThis(fn, target, argThis) {\n Object.keys(fn).forEach(function (key) {\n target[key] = fn[key].bind(argThis);\n\n if (Object.keys(fn[key]).length > 0) {\n bindThis(fn[key], target[key], argThis);\n }\n });\n })(Chart.prototype, this, this);\n }\n\n function AxisInternal(component, params) {\n var internal = this;\n internal.component = component;\n internal.params = params || {};\n internal.d3 = component.d3;\n internal.scale = internal.d3.scaleLinear();\n internal.range;\n internal.orient = \"bottom\";\n internal.innerTickSize = 6;\n internal.outerTickSize = this.params.withOuterTick ? 6 : 0;\n internal.tickPadding = 3;\n internal.tickValues = null;\n internal.tickFormat;\n internal.tickArguments;\n internal.tickOffset = 0;\n internal.tickCulling = true;\n internal.tickCentered;\n internal.tickTextCharSize;\n internal.tickTextRotate = internal.params.tickTextRotate;\n internal.tickLength;\n internal.axis = internal.generateAxis();\n }\n\n AxisInternal.prototype.axisX = function (selection, x, tickOffset) {\n selection.attr(\"transform\", function (d) {\n return \"translate(\" + Math.ceil(x(d) + tickOffset) + \", 0)\";\n });\n };\n\n AxisInternal.prototype.axisY = function (selection, y) {\n selection.attr(\"transform\", function (d) {\n return \"translate(0,\" + Math.ceil(y(d)) + \")\";\n });\n };\n\n AxisInternal.prototype.scaleExtent = function (domain) {\n var start = domain[0],\n stop = domain[domain.length - 1];\n return start < stop ? [start, stop] : [stop, start];\n };\n\n AxisInternal.prototype.generateTicks = function (scale) {\n var internal = this;\n var i,\n domain,\n ticks = [];\n\n if (scale.ticks) {\n return scale.ticks.apply(scale, internal.tickArguments);\n }\n\n domain = scale.domain();\n\n for (i = Math.ceil(domain[0]); i < domain[1]; i++) {\n ticks.push(i);\n }\n\n if (ticks.length > 0 && ticks[0] > 0) {\n ticks.unshift(ticks[0] - (ticks[1] - ticks[0]));\n }\n\n return ticks;\n };\n\n AxisInternal.prototype.copyScale = function () {\n var internal = this;\n var newScale = internal.scale.copy(),\n domain;\n\n if (internal.params.isCategory) {\n domain = internal.scale.domain();\n newScale.domain([domain[0], domain[1] - 1]);\n }\n\n return newScale;\n };\n\n AxisInternal.prototype.textFormatted = function (v) {\n var internal = this,\n formatted = internal.tickFormat ? internal.tickFormat(v) : v;\n return typeof formatted !== 'undefined' ? formatted : '';\n };\n\n AxisInternal.prototype.updateRange = function () {\n var internal = this;\n internal.range = internal.scale.rangeExtent ? internal.scale.rangeExtent() : internal.scaleExtent(internal.scale.range());\n return internal.range;\n };\n\n AxisInternal.prototype.updateTickTextCharSize = function (tick) {\n var internal = this;\n\n if (internal.tickTextCharSize) {\n return internal.tickTextCharSize;\n }\n\n var size = {\n h: 11.5,\n w: 5.5\n };\n tick.select('text').text(function (d) {\n return internal.textFormatted(d);\n }).each(function (d) {\n var box = this.getBoundingClientRect(),\n text = internal.textFormatted(d),\n h = box.height,\n w = text ? box.width / text.length : undefined;\n\n if (h && w) {\n size.h = h;\n size.w = w;\n }\n }).text('');\n internal.tickTextCharSize = size;\n return size;\n };\n\n AxisInternal.prototype.isVertical = function () {\n return this.orient === 'left' || this.orient === 'right';\n };\n\n AxisInternal.prototype.tspanData = function (d, i, scale) {\n var internal = this;\n var splitted = internal.params.tickMultiline ? internal.splitTickText(d, scale) : [].concat(internal.textFormatted(d));\n\n if (internal.params.tickMultiline && internal.params.tickMultilineMax > 0) {\n splitted = internal.ellipsify(splitted, internal.params.tickMultilineMax);\n }\n\n return splitted.map(function (s) {\n return {\n index: i,\n splitted: s,\n length: splitted.length\n };\n });\n };\n\n AxisInternal.prototype.splitTickText = function (d, scale) {\n var internal = this,\n tickText = internal.textFormatted(d),\n maxWidth = internal.params.tickWidth,\n subtext,\n spaceIndex,\n textWidth,\n splitted = [];\n\n if (Object.prototype.toString.call(tickText) === \"[object Array]\") {\n return tickText;\n }\n\n if (!maxWidth || maxWidth <= 0) {\n maxWidth = internal.isVertical() ? 95 : internal.params.isCategory ? Math.ceil(scale(1) - scale(0)) - 12 : 110;\n }\n\n function split(splitted, text) {\n spaceIndex = undefined;\n\n for (var i = 1; i < text.length; i++) {\n if (text.charAt(i) === ' ') {\n spaceIndex = i;\n }\n\n subtext = text.substr(0, i + 1);\n textWidth = internal.tickTextCharSize.w * subtext.length; // if text width gets over tick width, split by space index or crrent index\n\n if (maxWidth < textWidth) {\n return split(splitted.concat(text.substr(0, spaceIndex ? spaceIndex : i)), text.slice(spaceIndex ? spaceIndex + 1 : i));\n }\n }\n\n return splitted.concat(text);\n }\n\n return split(splitted, tickText + \"\");\n };\n\n AxisInternal.prototype.ellipsify = function (splitted, max) {\n if (splitted.length <= max) {\n return splitted;\n }\n\n var ellipsified = splitted.slice(0, max);\n var remaining = 3;\n\n for (var i = max - 1; i >= 0; i--) {\n var available = ellipsified[i].length;\n ellipsified[i] = ellipsified[i].substr(0, available - remaining).padEnd(available, '.');\n remaining -= available;\n\n if (remaining <= 0) {\n break;\n }\n }\n\n return ellipsified;\n };\n\n AxisInternal.prototype.updateTickLength = function () {\n var internal = this;\n internal.tickLength = Math.max(internal.innerTickSize, 0) + internal.tickPadding;\n };\n\n AxisInternal.prototype.lineY2 = function (d) {\n var internal = this,\n tickPosition = internal.scale(d) + (internal.tickCentered ? 0 : internal.tickOffset);\n return internal.range[0] < tickPosition && tickPosition < internal.range[1] ? internal.innerTickSize : 0;\n };\n\n AxisInternal.prototype.textY = function () {\n var internal = this,\n rotate = internal.tickTextRotate;\n return rotate ? 11.5 - 2.5 * (rotate / 15) * (rotate > 0 ? 1 : -1) : internal.tickLength;\n };\n\n AxisInternal.prototype.textTransform = function () {\n var internal = this,\n rotate = internal.tickTextRotate;\n return rotate ? \"rotate(\" + rotate + \")\" : \"\";\n };\n\n AxisInternal.prototype.textTextAnchor = function () {\n var internal = this,\n rotate = internal.tickTextRotate;\n return rotate ? rotate > 0 ? \"start\" : \"end\" : \"middle\";\n };\n\n AxisInternal.prototype.tspanDx = function () {\n var internal = this,\n rotate = internal.tickTextRotate;\n return rotate ? 8 * Math.sin(Math.PI * (rotate / 180)) : 0;\n };\n\n AxisInternal.prototype.tspanDy = function (d, i) {\n var internal = this,\n dy = internal.tickTextCharSize.h;\n\n if (i === 0) {\n if (internal.isVertical()) {\n dy = -((d.length - 1) * (internal.tickTextCharSize.h / 2) - 3);\n } else {\n dy = \".71em\";\n }\n }\n\n return dy;\n };\n\n AxisInternal.prototype.generateAxis = function () {\n var internal = this,\n d3 = internal.d3,\n params = internal.params;\n\n function axis(g, transition) {\n var self;\n g.each(function () {\n var g = axis.g = d3.select(this);\n var scale0 = this.__chart__ || internal.scale,\n scale1 = this.__chart__ = internal.copyScale();\n var ticksValues = internal.tickValues ? internal.tickValues : internal.generateTicks(scale1),\n ticks = g.selectAll(\".tick\").data(ticksValues, scale1),\n tickEnter = ticks.enter().insert(\"g\", \".domain\").attr(\"class\", \"tick\").style(\"opacity\", 1e-6),\n // MEMO: No exit transition. The reason is this transition affects max tick width calculation because old tick will be included in the ticks.\n tickExit = ticks.exit().remove(),\n tickUpdate = ticks.merge(tickEnter),\n tickTransform,\n tickX,\n tickY;\n\n if (params.isCategory) {\n internal.tickOffset = Math.ceil((scale1(1) - scale1(0)) / 2);\n tickX = internal.tickCentered ? 0 : internal.tickOffset;\n tickY = internal.tickCentered ? internal.tickOffset : 0;\n } else {\n internal.tickOffset = tickX = 0;\n }\n\n internal.updateRange();\n internal.updateTickLength();\n internal.updateTickTextCharSize(g.select('.tick'));\n var lineUpdate = tickUpdate.select(\"line\").merge(tickEnter.append(\"line\")),\n textUpdate = tickUpdate.select(\"text\").merge(tickEnter.append(\"text\"));\n var tspans = tickUpdate.selectAll('text').selectAll('tspan').data(function (d, i) {\n return internal.tspanData(d, i, scale1);\n }),\n tspanEnter = tspans.enter().append('tspan'),\n tspanUpdate = tspanEnter.merge(tspans).text(function (d) {\n return d.splitted;\n });\n tspans.exit().remove();\n var path = g.selectAll(\".domain\").data([0]),\n pathUpdate = path.enter().append(\"path\").merge(path).attr(\"class\", \"domain\"); // TODO: each attr should be one function and change its behavior by internal.orient, probably\n\n switch (internal.orient) {\n case \"bottom\":\n {\n tickTransform = internal.axisX;\n lineUpdate.attr(\"x1\", tickX).attr(\"x2\", tickX).attr(\"y2\", function (d, i) {\n return internal.lineY2(d, i);\n });\n textUpdate.attr(\"x\", 0).attr(\"y\", function (d, i) {\n return internal.textY(d, i);\n }).attr(\"transform\", function (d, i) {\n return internal.textTransform(d, i);\n }).style(\"text-anchor\", function (d, i) {\n return internal.textTextAnchor(d, i);\n });\n tspanUpdate.attr('x', 0).attr(\"dy\", function (d, i) {\n return internal.tspanDy(d, i);\n }).attr('dx', function (d, i) {\n return internal.tspanDx(d, i);\n });\n pathUpdate.attr(\"d\", \"M\" + internal.range[0] + \",\" + internal.outerTickSize + \"V0H\" + internal.range[1] + \"V\" + internal.outerTickSize);\n break;\n }\n\n case \"top\":\n {\n // TODO: rotated tick text\n tickTransform = internal.axisX;\n lineUpdate.attr(\"x1\", tickX).attr(\"x2\", tickX).attr(\"y2\", function (d, i) {\n return -1 * internal.lineY2(d, i);\n });\n textUpdate.attr(\"x\", 0).attr(\"y\", function (d, i) {\n return -1 * internal.textY(d, i) - (params.isCategory ? 2 : internal.tickLength - 2);\n }).attr(\"transform\", function (d, i) {\n return internal.textTransform(d, i);\n }).style(\"text-anchor\", function (d, i) {\n return internal.textTextAnchor(d, i);\n });\n tspanUpdate.attr('x', 0).attr(\"dy\", function (d, i) {\n return internal.tspanDy(d, i);\n }).attr('dx', function (d, i) {\n return internal.tspanDx(d, i);\n });\n pathUpdate.attr(\"d\", \"M\" + internal.range[0] + \",\" + -internal.outerTickSize + \"V0H\" + internal.range[1] + \"V\" + -internal.outerTickSize);\n break;\n }\n\n case \"left\":\n {\n tickTransform = internal.axisY;\n lineUpdate.attr(\"x2\", -internal.innerTickSize).attr(\"y1\", tickY).attr(\"y2\", tickY);\n textUpdate.attr(\"x\", -internal.tickLength).attr(\"y\", internal.tickOffset).style(\"text-anchor\", \"end\");\n tspanUpdate.attr('x', -internal.tickLength).attr(\"dy\", function (d, i) {\n return internal.tspanDy(d, i);\n });\n pathUpdate.attr(\"d\", \"M\" + -internal.outerTickSize + \",\" + internal.range[0] + \"H0V\" + internal.range[1] + \"H\" + -internal.outerTickSize);\n break;\n }\n\n case \"right\":\n {\n tickTransform = internal.axisY;\n lineUpdate.attr(\"x2\", internal.innerTickSize).attr(\"y1\", tickY).attr(\"y2\", tickY);\n textUpdate.attr(\"x\", internal.tickLength).attr(\"y\", internal.tickOffset).style(\"text-anchor\", \"start\");\n tspanUpdate.attr('x', internal.tickLength).attr(\"dy\", function (d, i) {\n return internal.tspanDy(d, i);\n });\n pathUpdate.attr(\"d\", \"M\" + internal.outerTickSize + \",\" + internal.range[0] + \"H0V\" + internal.range[1] + \"H\" + internal.outerTickSize);\n break;\n }\n }\n\n if (scale1.rangeBand) {\n var x = scale1,\n dx = x.rangeBand() / 2;\n\n scale0 = scale1 = function scale1(d) {\n return x(d) + dx;\n };\n } else if (scale0.rangeBand) {\n scale0 = scale1;\n } else {\n tickExit.call(tickTransform, scale1, internal.tickOffset);\n }\n\n tickEnter.call(tickTransform, scale0, internal.tickOffset);\n self = (transition ? tickUpdate.transition(transition) : tickUpdate).style('opacity', 1).call(tickTransform, scale1, internal.tickOffset);\n });\n return self;\n }\n\n axis.scale = function (x) {\n if (!arguments.length) {\n return internal.scale;\n }\n\n internal.scale = x;\n return axis;\n };\n\n axis.orient = function (x) {\n if (!arguments.length) {\n return internal.orient;\n }\n\n internal.orient = x in {\n top: 1,\n right: 1,\n bottom: 1,\n left: 1\n } ? x + \"\" : \"bottom\";\n return axis;\n };\n\n axis.tickFormat = function (format) {\n if (!arguments.length) {\n return internal.tickFormat;\n }\n\n internal.tickFormat = format;\n return axis;\n };\n\n axis.tickCentered = function (isCentered) {\n if (!arguments.length) {\n return internal.tickCentered;\n }\n\n internal.tickCentered = isCentered;\n return axis;\n };\n\n axis.tickOffset = function () {\n return internal.tickOffset;\n };\n\n axis.tickInterval = function () {\n var interval, length;\n\n if (params.isCategory) {\n interval = internal.tickOffset * 2;\n } else {\n length = axis.g.select('path.domain').node().getTotalLength() - internal.outerTickSize * 2;\n interval = length / axis.g.selectAll('line').size();\n }\n\n return interval === Infinity ? 0 : interval;\n };\n\n axis.ticks = function () {\n if (!arguments.length) {\n return internal.tickArguments;\n }\n\n internal.tickArguments = arguments;\n return axis;\n };\n\n axis.tickCulling = function (culling) {\n if (!arguments.length) {\n return internal.tickCulling;\n }\n\n internal.tickCulling = culling;\n return axis;\n };\n\n axis.tickValues = function (x) {\n if (typeof x === 'function') {\n internal.tickValues = function () {\n return x(internal.scale.domain());\n };\n } else {\n if (!arguments.length) {\n return internal.tickValues;\n }\n\n internal.tickValues = x;\n }\n\n return axis;\n };\n\n return axis;\n };\n\n var CLASS = {\n target: 'c3-target',\n chart: 'c3-chart',\n chartLine: 'c3-chart-line',\n chartLines: 'c3-chart-lines',\n chartBar: 'c3-chart-bar',\n chartBars: 'c3-chart-bars',\n chartText: 'c3-chart-text',\n chartTexts: 'c3-chart-texts',\n chartArc: 'c3-chart-arc',\n chartArcs: 'c3-chart-arcs',\n chartArcsTitle: 'c3-chart-arcs-title',\n chartArcsBackground: 'c3-chart-arcs-background',\n chartArcsGaugeUnit: 'c3-chart-arcs-gauge-unit',\n chartArcsGaugeMax: 'c3-chart-arcs-gauge-max',\n chartArcsGaugeMin: 'c3-chart-arcs-gauge-min',\n selectedCircle: 'c3-selected-circle',\n selectedCircles: 'c3-selected-circles',\n eventRect: 'c3-event-rect',\n eventRects: 'c3-event-rects',\n eventRectsSingle: 'c3-event-rects-single',\n eventRectsMultiple: 'c3-event-rects-multiple',\n zoomRect: 'c3-zoom-rect',\n brush: 'c3-brush',\n dragZoom: 'c3-drag-zoom',\n focused: 'c3-focused',\n defocused: 'c3-defocused',\n region: 'c3-region',\n regions: 'c3-regions',\n title: 'c3-title',\n tooltipContainer: 'c3-tooltip-container',\n tooltip: 'c3-tooltip',\n tooltipName: 'c3-tooltip-name',\n shape: 'c3-shape',\n shapes: 'c3-shapes',\n line: 'c3-line',\n lines: 'c3-lines',\n bar: 'c3-bar',\n bars: 'c3-bars',\n circle: 'c3-circle',\n circles: 'c3-circles',\n arc: 'c3-arc',\n arcLabelLine: 'c3-arc-label-line',\n arcs: 'c3-arcs',\n area: 'c3-area',\n areas: 'c3-areas',\n empty: 'c3-empty',\n text: 'c3-text',\n texts: 'c3-texts',\n gaugeValue: 'c3-gauge-value',\n grid: 'c3-grid',\n gridLines: 'c3-grid-lines',\n xgrid: 'c3-xgrid',\n xgrids: 'c3-xgrids',\n xgridLine: 'c3-xgrid-line',\n xgridLines: 'c3-xgrid-lines',\n xgridFocus: 'c3-xgrid-focus',\n ygrid: 'c3-ygrid',\n ygrids: 'c3-ygrids',\n ygridLine: 'c3-ygrid-line',\n ygridLines: 'c3-ygrid-lines',\n axis: 'c3-axis',\n axisX: 'c3-axis-x',\n axisXLabel: 'c3-axis-x-label',\n axisY: 'c3-axis-y',\n axisYLabel: 'c3-axis-y-label',\n axisY2: 'c3-axis-y2',\n axisY2Label: 'c3-axis-y2-label',\n legendBackground: 'c3-legend-background',\n legendItem: 'c3-legend-item',\n legendItemEvent: 'c3-legend-item-event',\n legendItemTile: 'c3-legend-item-tile',\n legendItemHidden: 'c3-legend-item-hidden',\n legendItemFocused: 'c3-legend-item-focused',\n dragarea: 'c3-dragarea',\n EXPANDED: '_expanded_',\n SELECTED: '_selected_',\n INCLUDED: '_included_'\n };\n\n var asHalfPixel = function asHalfPixel(n) {\n return Math.ceil(n) + 0.5;\n };\n var ceil10 = function ceil10(v) {\n return Math.ceil(v / 10) * 10;\n };\n var diffDomain = function diffDomain(d) {\n return d[1] - d[0];\n };\n var getOption = function getOption(options, key, defaultValue) {\n return isDefined(options[key]) ? options[key] : defaultValue;\n };\n var getPathBox = function getPathBox(path) {\n var box = path.getBoundingClientRect(),\n items = [path.pathSegList.getItem(0), path.pathSegList.getItem(1)],\n minX = items[0].x,\n minY = Math.min(items[0].y, items[1].y);\n return {\n x: minX,\n y: minY,\n width: box.width,\n height: box.height\n };\n };\n var hasValue = function hasValue(dict, value) {\n var found = false;\n Object.keys(dict).forEach(function (key) {\n if (dict[key] === value) {\n found = true;\n }\n });\n return found;\n };\n var isArray = function isArray(o) {\n return Array.isArray(o);\n };\n var isDefined = function isDefined(v) {\n return typeof v !== 'undefined';\n };\n var isEmpty = function isEmpty(o) {\n return typeof o === 'undefined' || o === null || isString(o) && o.length === 0 || _typeof(o) === 'object' && Object.keys(o).length === 0;\n };\n var isFunction = function isFunction(o) {\n return typeof o === 'function';\n };\n var isString = function isString(o) {\n return typeof o === 'string';\n };\n var isUndefined = function isUndefined(v) {\n return typeof v === 'undefined';\n };\n var isValue = function isValue(v) {\n return v || v === 0;\n };\n var notEmpty = function notEmpty(o) {\n return !isEmpty(o);\n };\n var sanitise = function sanitise(str) {\n return typeof str === 'string' ? str.replace(//g, '>') : str;\n };\n\n var Axis = function Axis(owner) {\n _classCallCheck(this, Axis);\n\n this.owner = owner;\n this.d3 = owner.d3;\n this.internal = AxisInternal;\n };\n\n Axis.prototype.init = function init() {\n var $$ = this.owner,\n config = $$.config,\n main = $$.main;\n $$.axes.x = main.append(\"g\").attr(\"class\", CLASS.axis + ' ' + CLASS.axisX).attr(\"clip-path\", config.axis_x_inner ? \"\" : $$.clipPathForXAxis).attr(\"transform\", $$.getTranslate('x')).style(\"visibility\", config.axis_x_show ? 'visible' : 'hidden');\n $$.axes.x.append(\"text\").attr(\"class\", CLASS.axisXLabel).attr(\"transform\", config.axis_rotated ? \"rotate(-90)\" : \"\").style(\"text-anchor\", this.textAnchorForXAxisLabel.bind(this));\n $$.axes.y = main.append(\"g\").attr(\"class\", CLASS.axis + ' ' + CLASS.axisY).attr(\"clip-path\", config.axis_y_inner ? \"\" : $$.clipPathForYAxis).attr(\"transform\", $$.getTranslate('y')).style(\"visibility\", config.axis_y_show ? 'visible' : 'hidden');\n $$.axes.y.append(\"text\").attr(\"class\", CLASS.axisYLabel).attr(\"transform\", config.axis_rotated ? \"\" : \"rotate(-90)\").style(\"text-anchor\", this.textAnchorForYAxisLabel.bind(this));\n $$.axes.y2 = main.append(\"g\").attr(\"class\", CLASS.axis + ' ' + CLASS.axisY2) // clip-path?\n .attr(\"transform\", $$.getTranslate('y2')).style(\"visibility\", config.axis_y2_show ? 'visible' : 'hidden');\n $$.axes.y2.append(\"text\").attr(\"class\", CLASS.axisY2Label).attr(\"transform\", config.axis_rotated ? \"\" : \"rotate(-90)\").style(\"text-anchor\", this.textAnchorForY2AxisLabel.bind(this));\n };\n\n Axis.prototype.getXAxis = function getXAxis(scale, orient, tickFormat, tickValues, withOuterTick, withoutTransition, withoutRotateTickText) {\n var $$ = this.owner,\n config = $$.config,\n axisParams = {\n isCategory: $$.isCategorized(),\n withOuterTick: withOuterTick,\n tickMultiline: config.axis_x_tick_multiline,\n tickMultilineMax: config.axis_x_tick_multiline ? Number(config.axis_x_tick_multilineMax) : 0,\n tickWidth: config.axis_x_tick_width,\n tickTextRotate: withoutRotateTickText ? 0 : config.axis_x_tick_rotate,\n withoutTransition: withoutTransition\n },\n axis = new this.internal(this, axisParams).axis.scale(scale).orient(orient);\n\n if ($$.isTimeSeries() && tickValues && typeof tickValues !== \"function\") {\n tickValues = tickValues.map(function (v) {\n return $$.parseDate(v);\n });\n } // Set tick\n\n\n axis.tickFormat(tickFormat).tickValues(tickValues);\n\n if ($$.isCategorized()) {\n axis.tickCentered(config.axis_x_tick_centered);\n\n if (isEmpty(config.axis_x_tick_culling)) {\n config.axis_x_tick_culling = false;\n }\n }\n\n return axis;\n };\n\n Axis.prototype.updateXAxisTickValues = function updateXAxisTickValues(targets, axis) {\n var $$ = this.owner,\n config = $$.config,\n tickValues;\n\n if (config.axis_x_tick_fit || config.axis_x_tick_count) {\n tickValues = this.generateTickValues($$.mapTargetsToUniqueXs(targets), config.axis_x_tick_count, $$.isTimeSeries());\n }\n\n if (axis) {\n axis.tickValues(tickValues);\n } else {\n $$.xAxis.tickValues(tickValues);\n $$.subXAxis.tickValues(tickValues);\n }\n\n return tickValues;\n };\n\n Axis.prototype.getYAxis = function getYAxis(scale, orient, tickFormat, tickValues, withOuterTick, withoutTransition, withoutRotateTickText) {\n var $$ = this.owner,\n config = $$.config,\n axisParams = {\n withOuterTick: withOuterTick,\n withoutTransition: withoutTransition,\n tickTextRotate: withoutRotateTickText ? 0 : config.axis_y_tick_rotate\n },\n axis = new this.internal(this, axisParams).axis.scale(scale).orient(orient).tickFormat(tickFormat);\n\n if ($$.isTimeSeriesY()) {\n axis.ticks(config.axis_y_tick_time_type, config.axis_y_tick_time_interval);\n } else {\n axis.tickValues(tickValues);\n }\n\n return axis;\n };\n\n Axis.prototype.getId = function getId(id) {\n var config = this.owner.config;\n return id in config.data_axes ? config.data_axes[id] : 'y';\n };\n\n Axis.prototype.getXAxisTickFormat = function getXAxisTickFormat() {\n // #2251 previously set any negative values to a whole number,\n // however both should be truncated according to the users format specification\n var $$ = this.owner,\n config = $$.config;\n var format = $$.isTimeSeries() ? $$.defaultAxisTimeFormat : $$.isCategorized() ? $$.categoryName : function (v) {\n return v;\n };\n\n if (config.axis_x_tick_format) {\n if (isFunction(config.axis_x_tick_format)) {\n format = config.axis_x_tick_format;\n } else if ($$.isTimeSeries()) {\n format = function format(date) {\n return date ? $$.axisTimeFormat(config.axis_x_tick_format)(date) : \"\";\n };\n }\n }\n\n return isFunction(format) ? function (v) {\n return format.call($$, v);\n } : format;\n };\n\n Axis.prototype.getTickValues = function getTickValues(tickValues, axis) {\n return tickValues ? tickValues : axis ? axis.tickValues() : undefined;\n };\n\n Axis.prototype.getXAxisTickValues = function getXAxisTickValues() {\n return this.getTickValues(this.owner.config.axis_x_tick_values, this.owner.xAxis);\n };\n\n Axis.prototype.getYAxisTickValues = function getYAxisTickValues() {\n return this.getTickValues(this.owner.config.axis_y_tick_values, this.owner.yAxis);\n };\n\n Axis.prototype.getY2AxisTickValues = function getY2AxisTickValues() {\n return this.getTickValues(this.owner.config.axis_y2_tick_values, this.owner.y2Axis);\n };\n\n Axis.prototype.getLabelOptionByAxisId = function getLabelOptionByAxisId(axisId) {\n var $$ = this.owner,\n config = $$.config,\n option;\n\n if (axisId === 'y') {\n option = config.axis_y_label;\n } else if (axisId === 'y2') {\n option = config.axis_y2_label;\n } else if (axisId === 'x') {\n option = config.axis_x_label;\n }\n\n return option;\n };\n\n Axis.prototype.getLabelText = function getLabelText(axisId) {\n var option = this.getLabelOptionByAxisId(axisId);\n return isString(option) ? option : option ? option.text : null;\n };\n\n Axis.prototype.setLabelText = function setLabelText(axisId, text) {\n var $$ = this.owner,\n config = $$.config,\n option = this.getLabelOptionByAxisId(axisId);\n\n if (isString(option)) {\n if (axisId === 'y') {\n config.axis_y_label = text;\n } else if (axisId === 'y2') {\n config.axis_y2_label = text;\n } else if (axisId === 'x') {\n config.axis_x_label = text;\n }\n } else if (option) {\n option.text = text;\n }\n };\n\n Axis.prototype.getLabelPosition = function getLabelPosition(axisId, defaultPosition) {\n var option = this.getLabelOptionByAxisId(axisId),\n position = option && _typeof(option) === 'object' && option.position ? option.position : defaultPosition;\n return {\n isInner: position.indexOf('inner') >= 0,\n isOuter: position.indexOf('outer') >= 0,\n isLeft: position.indexOf('left') >= 0,\n isCenter: position.indexOf('center') >= 0,\n isRight: position.indexOf('right') >= 0,\n isTop: position.indexOf('top') >= 0,\n isMiddle: position.indexOf('middle') >= 0,\n isBottom: position.indexOf('bottom') >= 0\n };\n };\n\n Axis.prototype.getXAxisLabelPosition = function getXAxisLabelPosition() {\n return this.getLabelPosition('x', this.owner.config.axis_rotated ? 'inner-top' : 'inner-right');\n };\n\n Axis.prototype.getYAxisLabelPosition = function getYAxisLabelPosition() {\n return this.getLabelPosition('y', this.owner.config.axis_rotated ? 'inner-right' : 'inner-top');\n };\n\n Axis.prototype.getY2AxisLabelPosition = function getY2AxisLabelPosition() {\n return this.getLabelPosition('y2', this.owner.config.axis_rotated ? 'inner-right' : 'inner-top');\n };\n\n Axis.prototype.getLabelPositionById = function getLabelPositionById(id) {\n return id === 'y2' ? this.getY2AxisLabelPosition() : id === 'y' ? this.getYAxisLabelPosition() : this.getXAxisLabelPosition();\n };\n\n Axis.prototype.textForXAxisLabel = function textForXAxisLabel() {\n return this.getLabelText('x');\n };\n\n Axis.prototype.textForYAxisLabel = function textForYAxisLabel() {\n return this.getLabelText('y');\n };\n\n Axis.prototype.textForY2AxisLabel = function textForY2AxisLabel() {\n return this.getLabelText('y2');\n };\n\n Axis.prototype.xForAxisLabel = function xForAxisLabel(forHorizontal, position) {\n var $$ = this.owner;\n\n if (forHorizontal) {\n return position.isLeft ? 0 : position.isCenter ? $$.width / 2 : $$.width;\n } else {\n return position.isBottom ? -$$.height : position.isMiddle ? -$$.height / 2 : 0;\n }\n };\n\n Axis.prototype.dxForAxisLabel = function dxForAxisLabel(forHorizontal, position) {\n if (forHorizontal) {\n return position.isLeft ? \"0.5em\" : position.isRight ? \"-0.5em\" : \"0\";\n } else {\n return position.isTop ? \"-0.5em\" : position.isBottom ? \"0.5em\" : \"0\";\n }\n };\n\n Axis.prototype.textAnchorForAxisLabel = function textAnchorForAxisLabel(forHorizontal, position) {\n if (forHorizontal) {\n return position.isLeft ? 'start' : position.isCenter ? 'middle' : 'end';\n } else {\n return position.isBottom ? 'start' : position.isMiddle ? 'middle' : 'end';\n }\n };\n\n Axis.prototype.xForXAxisLabel = function xForXAxisLabel() {\n return this.xForAxisLabel(!this.owner.config.axis_rotated, this.getXAxisLabelPosition());\n };\n\n Axis.prototype.xForYAxisLabel = function xForYAxisLabel() {\n return this.xForAxisLabel(this.owner.config.axis_rotated, this.getYAxisLabelPosition());\n };\n\n Axis.prototype.xForY2AxisLabel = function xForY2AxisLabel() {\n return this.xForAxisLabel(this.owner.config.axis_rotated, this.getY2AxisLabelPosition());\n };\n\n Axis.prototype.dxForXAxisLabel = function dxForXAxisLabel() {\n return this.dxForAxisLabel(!this.owner.config.axis_rotated, this.getXAxisLabelPosition());\n };\n\n Axis.prototype.dxForYAxisLabel = function dxForYAxisLabel() {\n return this.dxForAxisLabel(this.owner.config.axis_rotated, this.getYAxisLabelPosition());\n };\n\n Axis.prototype.dxForY2AxisLabel = function dxForY2AxisLabel() {\n return this.dxForAxisLabel(this.owner.config.axis_rotated, this.getY2AxisLabelPosition());\n };\n\n Axis.prototype.dyForXAxisLabel = function dyForXAxisLabel() {\n var $$ = this.owner,\n config = $$.config,\n position = this.getXAxisLabelPosition();\n\n if (config.axis_rotated) {\n return position.isInner ? \"1.2em\" : -25 - ($$.config.axis_x_inner ? 0 : this.getMaxTickWidth('x'));\n } else {\n return position.isInner ? \"-0.5em\" : config.axis_x_height ? config.axis_x_height - 10 : \"3em\";\n }\n };\n\n Axis.prototype.dyForYAxisLabel = function dyForYAxisLabel() {\n var $$ = this.owner,\n position = this.getYAxisLabelPosition();\n\n if ($$.config.axis_rotated) {\n return position.isInner ? \"-0.5em\" : \"3em\";\n } else {\n return position.isInner ? \"1.2em\" : -10 - ($$.config.axis_y_inner ? 0 : this.getMaxTickWidth('y') + 10);\n }\n };\n\n Axis.prototype.dyForY2AxisLabel = function dyForY2AxisLabel() {\n var $$ = this.owner,\n position = this.getY2AxisLabelPosition();\n\n if ($$.config.axis_rotated) {\n return position.isInner ? \"1.2em\" : \"-2.2em\";\n } else {\n return position.isInner ? \"-0.5em\" : 15 + ($$.config.axis_y2_inner ? 0 : this.getMaxTickWidth('y2') + 15);\n }\n };\n\n Axis.prototype.textAnchorForXAxisLabel = function textAnchorForXAxisLabel() {\n var $$ = this.owner;\n return this.textAnchorForAxisLabel(!$$.config.axis_rotated, this.getXAxisLabelPosition());\n };\n\n Axis.prototype.textAnchorForYAxisLabel = function textAnchorForYAxisLabel() {\n var $$ = this.owner;\n return this.textAnchorForAxisLabel($$.config.axis_rotated, this.getYAxisLabelPosition());\n };\n\n Axis.prototype.textAnchorForY2AxisLabel = function textAnchorForY2AxisLabel() {\n var $$ = this.owner;\n return this.textAnchorForAxisLabel($$.config.axis_rotated, this.getY2AxisLabelPosition());\n };\n\n Axis.prototype.getMaxTickWidth = function getMaxTickWidth(id, withoutRecompute) {\n var $$ = this.owner,\n config = $$.config,\n maxWidth = 0,\n targetsToShow,\n scale,\n axis,\n dummy,\n svg;\n\n if (withoutRecompute && $$.currentMaxTickWidths[id]) {\n return $$.currentMaxTickWidths[id];\n }\n\n if ($$.svg) {\n targetsToShow = $$.filterTargetsToShow($$.data.targets);\n\n if (id === 'y') {\n scale = $$.y.copy().domain($$.getYDomain(targetsToShow, 'y'));\n axis = this.getYAxis(scale, $$.yOrient, config.axis_y_tick_format, $$.yAxisTickValues, false, true, true);\n } else if (id === 'y2') {\n scale = $$.y2.copy().domain($$.getYDomain(targetsToShow, 'y2'));\n axis = this.getYAxis(scale, $$.y2Orient, config.axis_y2_tick_format, $$.y2AxisTickValues, false, true, true);\n } else {\n scale = $$.x.copy().domain($$.getXDomain(targetsToShow));\n axis = this.getXAxis(scale, $$.xOrient, $$.xAxisTickFormat, $$.xAxisTickValues, false, true, true);\n this.updateXAxisTickValues(targetsToShow, axis);\n }\n\n dummy = $$.d3.select('body').append('div').classed('c3', true);\n svg = dummy.append(\"svg\").style('visibility', 'hidden').style('position', 'fixed').style('top', 0).style('left', 0), svg.append('g').call(axis).each(function () {\n $$.d3.select(this).selectAll('text').each(function () {\n var box = this.getBoundingClientRect();\n\n if (maxWidth < box.width) {\n maxWidth = box.width;\n }\n });\n dummy.remove();\n });\n }\n\n $$.currentMaxTickWidths[id] = maxWidth <= 0 ? $$.currentMaxTickWidths[id] : maxWidth;\n return $$.currentMaxTickWidths[id];\n };\n\n Axis.prototype.updateLabels = function updateLabels(withTransition) {\n var $$ = this.owner;\n var axisXLabel = $$.main.select('.' + CLASS.axisX + ' .' + CLASS.axisXLabel),\n axisYLabel = $$.main.select('.' + CLASS.axisY + ' .' + CLASS.axisYLabel),\n axisY2Label = $$.main.select('.' + CLASS.axisY2 + ' .' + CLASS.axisY2Label);\n (withTransition ? axisXLabel.transition() : axisXLabel).attr(\"x\", this.xForXAxisLabel.bind(this)).attr(\"dx\", this.dxForXAxisLabel.bind(this)).attr(\"dy\", this.dyForXAxisLabel.bind(this)).text(this.textForXAxisLabel.bind(this));\n (withTransition ? axisYLabel.transition() : axisYLabel).attr(\"x\", this.xForYAxisLabel.bind(this)).attr(\"dx\", this.dxForYAxisLabel.bind(this)).attr(\"dy\", this.dyForYAxisLabel.bind(this)).text(this.textForYAxisLabel.bind(this));\n (withTransition ? axisY2Label.transition() : axisY2Label).attr(\"x\", this.xForY2AxisLabel.bind(this)).attr(\"dx\", this.dxForY2AxisLabel.bind(this)).attr(\"dy\", this.dyForY2AxisLabel.bind(this)).text(this.textForY2AxisLabel.bind(this));\n };\n\n Axis.prototype.getPadding = function getPadding(padding, key, defaultValue, domainLength) {\n var p = typeof padding === 'number' ? padding : padding[key];\n\n if (!isValue(p)) {\n return defaultValue;\n }\n\n if (padding.unit === 'ratio') {\n return padding[key] * domainLength;\n } // assume padding is pixels if unit is not specified\n\n\n return this.convertPixelsToAxisPadding(p, domainLength);\n };\n\n Axis.prototype.convertPixelsToAxisPadding = function convertPixelsToAxisPadding(pixels, domainLength) {\n var $$ = this.owner,\n length = $$.config.axis_rotated ? $$.width : $$.height;\n return domainLength * (pixels / length);\n };\n\n Axis.prototype.generateTickValues = function generateTickValues(values, tickCount, forTimeSeries) {\n var tickValues = values,\n targetCount,\n start,\n end,\n count,\n interval,\n i,\n tickValue;\n\n if (tickCount) {\n targetCount = isFunction(tickCount) ? tickCount() : tickCount; // compute ticks according to tickCount\n\n if (targetCount === 1) {\n tickValues = [values[0]];\n } else if (targetCount === 2) {\n tickValues = [values[0], values[values.length - 1]];\n } else if (targetCount > 2) {\n count = targetCount - 2;\n start = values[0];\n end = values[values.length - 1];\n interval = (end - start) / (count + 1); // re-construct unique values\n\n tickValues = [start];\n\n for (i = 0; i < count; i++) {\n tickValue = +start + interval * (i + 1);\n tickValues.push(forTimeSeries ? new Date(tickValue) : tickValue);\n }\n\n tickValues.push(end);\n }\n }\n\n if (!forTimeSeries) {\n tickValues = tickValues.sort(function (a, b) {\n return a - b;\n });\n }\n\n return tickValues;\n };\n\n Axis.prototype.generateTransitions = function generateTransitions(duration) {\n var $$ = this.owner,\n axes = $$.axes;\n return {\n axisX: duration ? axes.x.transition().duration(duration) : axes.x,\n axisY: duration ? axes.y.transition().duration(duration) : axes.y,\n axisY2: duration ? axes.y2.transition().duration(duration) : axes.y2,\n axisSubX: duration ? axes.subx.transition().duration(duration) : axes.subx\n };\n };\n\n Axis.prototype.redraw = function redraw(duration, isHidden) {\n var $$ = this.owner,\n transition = duration ? $$.d3.transition().duration(duration) : null;\n $$.axes.x.style(\"opacity\", isHidden ? 0 : 1).call($$.xAxis, transition);\n $$.axes.y.style(\"opacity\", isHidden ? 0 : 1).call($$.yAxis, transition);\n $$.axes.y2.style(\"opacity\", isHidden ? 0 : 1).call($$.y2Axis, transition);\n $$.axes.subx.style(\"opacity\", isHidden ? 0 : 1).call($$.subXAxis, transition);\n };\n\n var c3 = {\n version: \"0.6.12\",\n chart: {\n fn: Chart.prototype,\n internal: {\n fn: ChartInternal.prototype,\n axis: {\n fn: Axis.prototype,\n internal: {\n fn: AxisInternal.prototype\n }\n }\n }\n },\n generate: function generate(config) {\n return new Chart(config);\n }\n };\n\n ChartInternal.prototype.beforeInit = function () {// can do something\n };\n\n ChartInternal.prototype.afterInit = function () {// can do something\n };\n\n ChartInternal.prototype.init = function () {\n var $$ = this,\n config = $$.config;\n $$.initParams();\n\n if (config.data_url) {\n $$.convertUrlToData(config.data_url, config.data_mimeType, config.data_headers, config.data_keys, $$.initWithData);\n } else if (config.data_json) {\n $$.initWithData($$.convertJsonToData(config.data_json, config.data_keys));\n } else if (config.data_rows) {\n $$.initWithData($$.convertRowsToData(config.data_rows));\n } else if (config.data_columns) {\n $$.initWithData($$.convertColumnsToData(config.data_columns));\n } else {\n throw Error('url or json or rows or columns is required.');\n }\n };\n\n ChartInternal.prototype.initParams = function () {\n var $$ = this,\n d3 = $$.d3,\n config = $$.config; // MEMO: clipId needs to be unique because it conflicts when multiple charts exist\n\n $$.clipId = \"c3-\" + +new Date() + '-clip';\n $$.clipIdForXAxis = $$.clipId + '-xaxis';\n $$.clipIdForYAxis = $$.clipId + '-yaxis';\n $$.clipIdForGrid = $$.clipId + '-grid';\n $$.clipIdForSubchart = $$.clipId + '-subchart';\n $$.clipPath = $$.getClipPath($$.clipId);\n $$.clipPathForXAxis = $$.getClipPath($$.clipIdForXAxis);\n $$.clipPathForYAxis = $$.getClipPath($$.clipIdForYAxis);\n $$.clipPathForGrid = $$.getClipPath($$.clipIdForGrid);\n $$.clipPathForSubchart = $$.getClipPath($$.clipIdForSubchart);\n $$.dragStart = null;\n $$.dragging = false;\n $$.flowing = false;\n $$.cancelClick = false;\n $$.mouseover = false;\n $$.transiting = false;\n $$.color = $$.generateColor();\n $$.levelColor = $$.generateLevelColor();\n $$.dataTimeParse = (config.data_xLocaltime ? d3.timeParse : d3.utcParse)($$.config.data_xFormat);\n $$.axisTimeFormat = config.axis_x_localtime ? d3.timeFormat : d3.utcFormat;\n\n $$.defaultAxisTimeFormat = function (date) {\n if (date.getMilliseconds()) {\n return d3.timeFormat(\".%L\")(date);\n }\n\n if (date.getSeconds()) {\n return d3.timeFormat(\":%S\")(date);\n }\n\n if (date.getMinutes()) {\n return d3.timeFormat(\"%I:%M\")(date);\n }\n\n if (date.getHours()) {\n return d3.timeFormat(\"%I %p\")(date);\n }\n\n if (date.getDay() && date.getDate() !== 1) {\n return d3.timeFormat(\"%-m/%-d\")(date);\n }\n\n if (date.getDate() !== 1) {\n return d3.timeFormat(\"%-m/%-d\")(date);\n }\n\n if (date.getMonth()) {\n return d3.timeFormat(\"%-m/%-d\")(date);\n }\n\n return d3.timeFormat(\"%Y/%-m/%-d\")(date);\n };\n\n $$.hiddenTargetIds = [];\n $$.hiddenLegendIds = [];\n $$.focusedTargetIds = [];\n $$.defocusedTargetIds = [];\n $$.xOrient = config.axis_rotated ? config.axis_x_inner ? \"right\" : \"left\" : config.axis_x_inner ? \"top\" : \"bottom\";\n $$.yOrient = config.axis_rotated ? config.axis_y_inner ? \"top\" : \"bottom\" : config.axis_y_inner ? \"right\" : \"left\";\n $$.y2Orient = config.axis_rotated ? config.axis_y2_inner ? \"bottom\" : \"top\" : config.axis_y2_inner ? \"left\" : \"right\";\n $$.subXOrient = config.axis_rotated ? \"left\" : \"bottom\";\n $$.isLegendRight = config.legend_position === 'right';\n $$.isLegendInset = config.legend_position === 'inset';\n $$.isLegendTop = config.legend_inset_anchor === 'top-left' || config.legend_inset_anchor === 'top-right';\n $$.isLegendLeft = config.legend_inset_anchor === 'top-left' || config.legend_inset_anchor === 'bottom-left';\n $$.legendStep = 0;\n $$.legendItemWidth = 0;\n $$.legendItemHeight = 0;\n $$.currentMaxTickWidths = {\n x: 0,\n y: 0,\n y2: 0\n };\n $$.rotated_padding_left = 30;\n $$.rotated_padding_right = config.axis_rotated && !config.axis_x_show ? 0 : 30;\n $$.rotated_padding_top = 5;\n $$.withoutFadeIn = {};\n $$.intervalForObserveInserted = undefined;\n $$.axes.subx = d3.selectAll([]); // needs when excluding subchart.js\n };\n\n ChartInternal.prototype.initChartElements = function () {\n if (this.initBar) {\n this.initBar();\n }\n\n if (this.initLine) {\n this.initLine();\n }\n\n if (this.initArc) {\n this.initArc();\n }\n\n if (this.initGauge) {\n this.initGauge();\n }\n\n if (this.initText) {\n this.initText();\n }\n };\n\n ChartInternal.prototype.initWithData = function (data) {\n var $$ = this,\n d3 = $$.d3,\n config = $$.config;\n var defs,\n main,\n binding = true;\n $$.axis = new Axis($$);\n\n if (!config.bindto) {\n $$.selectChart = d3.selectAll([]);\n } else if (typeof config.bindto.node === 'function') {\n $$.selectChart = config.bindto;\n } else {\n $$.selectChart = d3.select(config.bindto);\n }\n\n if ($$.selectChart.empty()) {\n $$.selectChart = d3.select(document.createElement('div')).style('opacity', 0);\n $$.observeInserted($$.selectChart);\n binding = false;\n }\n\n $$.selectChart.html(\"\").classed(\"c3\", true); // Init data as targets\n\n $$.data.xs = {};\n $$.data.targets = $$.convertDataToTargets(data);\n\n if (config.data_filter) {\n $$.data.targets = $$.data.targets.filter(config.data_filter);\n } // Set targets to hide if needed\n\n\n if (config.data_hide) {\n $$.addHiddenTargetIds(config.data_hide === true ? $$.mapToIds($$.data.targets) : config.data_hide);\n }\n\n if (config.legend_hide) {\n $$.addHiddenLegendIds(config.legend_hide === true ? $$.mapToIds($$.data.targets) : config.legend_hide);\n } // Init sizes and scales\n\n\n $$.updateSizes();\n $$.updateScales(); // Set domains for each scale\n\n $$.x.domain(d3.extent($$.getXDomain($$.data.targets)));\n $$.y.domain($$.getYDomain($$.data.targets, 'y'));\n $$.y2.domain($$.getYDomain($$.data.targets, 'y2'));\n $$.subX.domain($$.x.domain());\n $$.subY.domain($$.y.domain());\n $$.subY2.domain($$.y2.domain()); // Save original x domain for zoom update\n\n $$.orgXDomain = $$.x.domain();\n /*-- Basic Elements --*/\n // Define svgs\n\n $$.svg = $$.selectChart.append(\"svg\").style(\"overflow\", \"hidden\").on('mouseenter', function () {\n return config.onmouseover.call($$);\n }).on('mouseleave', function () {\n return config.onmouseout.call($$);\n });\n\n if ($$.config.svg_classname) {\n $$.svg.attr('class', $$.config.svg_classname);\n } // Define defs\n\n\n defs = $$.svg.append(\"defs\");\n $$.clipChart = $$.appendClip(defs, $$.clipId);\n $$.clipXAxis = $$.appendClip(defs, $$.clipIdForXAxis);\n $$.clipYAxis = $$.appendClip(defs, $$.clipIdForYAxis);\n $$.clipGrid = $$.appendClip(defs, $$.clipIdForGrid);\n $$.clipSubchart = $$.appendClip(defs, $$.clipIdForSubchart);\n $$.updateSvgSize(); // Define regions\n\n main = $$.main = $$.svg.append(\"g\").attr(\"transform\", $$.getTranslate('main'));\n\n if ($$.initPie) {\n $$.initPie();\n }\n\n if ($$.initDragZoom) {\n $$.initDragZoom();\n }\n\n if ($$.initSubchart) {\n $$.initSubchart();\n }\n\n if ($$.initTooltip) {\n $$.initTooltip();\n }\n\n if ($$.initLegend) {\n $$.initLegend();\n }\n\n if ($$.initTitle) {\n $$.initTitle();\n }\n\n if ($$.initZoom) {\n $$.initZoom();\n } // Update selection based on size and scale\n // TODO: currently this must be called after initLegend because of update of sizes, but it should be done in initSubchart.\n\n\n if ($$.initSubchartBrush) {\n $$.initSubchartBrush();\n }\n /*-- Main Region --*/\n // text when empty\n\n\n main.append(\"text\").attr(\"class\", CLASS.text + ' ' + CLASS.empty).attr(\"text-anchor\", \"middle\") // horizontal centering of text at x position in all browsers.\n .attr(\"dominant-baseline\", \"middle\"); // vertical centering of text at y position in all browsers, except IE.\n // Regions\n\n $$.initRegion(); // Grids\n\n $$.initGrid(); // Define g for chart area\n\n main.append('g').attr(\"clip-path\", $$.clipPath).attr('class', CLASS.chart); // Grid lines\n\n if (config.grid_lines_front) {\n $$.initGridLines();\n } // Cover whole with rects for events\n\n\n $$.initEventRect(); // Define g for chart\n\n $$.initChartElements(); // Add Axis\n\n $$.axis.init(); // Set targets\n\n $$.updateTargets($$.data.targets); // Set default extent if defined\n\n if (config.axis_x_selection) {\n $$.brush.selectionAsValue($$.getDefaultSelection());\n } // Draw with targets\n\n\n if (binding) {\n $$.updateDimension();\n $$.config.oninit.call($$);\n $$.redraw({\n withTransition: false,\n withTransform: true,\n withUpdateXDomain: true,\n withUpdateOrgXDomain: true,\n withTransitionForAxis: false\n });\n } // Bind to resize event\n\n\n $$.bindResize(); // Bind to window focus event\n\n $$.bindWindowFocus(); // export element of the chart\n\n $$.api.element = $$.selectChart.node();\n };\n\n ChartInternal.prototype.smoothLines = function (el, type) {\n var $$ = this;\n\n if (type === 'grid') {\n el.each(function () {\n var g = $$.d3.select(this),\n x1 = g.attr('x1'),\n x2 = g.attr('x2'),\n y1 = g.attr('y1'),\n y2 = g.attr('y2');\n g.attr({\n 'x1': Math.ceil(x1),\n 'x2': Math.ceil(x2),\n 'y1': Math.ceil(y1),\n 'y2': Math.ceil(y2)\n });\n });\n }\n };\n\n ChartInternal.prototype.updateSizes = function () {\n var $$ = this,\n config = $$.config;\n var legendHeight = $$.legend ? $$.getLegendHeight() : 0,\n legendWidth = $$.legend ? $$.getLegendWidth() : 0,\n legendHeightForBottom = $$.isLegendRight || $$.isLegendInset ? 0 : legendHeight,\n hasArc = $$.hasArcType(),\n xAxisHeight = config.axis_rotated || hasArc ? 0 : $$.getHorizontalAxisHeight('x'),\n subchartHeight = config.subchart_show && !hasArc ? config.subchart_size_height + xAxisHeight : 0;\n $$.currentWidth = $$.getCurrentWidth();\n $$.currentHeight = $$.getCurrentHeight(); // for main\n\n $$.margin = config.axis_rotated ? {\n top: $$.getHorizontalAxisHeight('y2') + $$.getCurrentPaddingTop(),\n right: hasArc ? 0 : $$.getCurrentPaddingRight(),\n bottom: $$.getHorizontalAxisHeight('y') + legendHeightForBottom + $$.getCurrentPaddingBottom(),\n left: subchartHeight + (hasArc ? 0 : $$.getCurrentPaddingLeft())\n } : {\n top: 4 + $$.getCurrentPaddingTop(),\n // for top tick text\n right: hasArc ? 0 : $$.getCurrentPaddingRight(),\n bottom: xAxisHeight + subchartHeight + legendHeightForBottom + $$.getCurrentPaddingBottom(),\n left: hasArc ? 0 : $$.getCurrentPaddingLeft()\n }; // for subchart\n\n $$.margin2 = config.axis_rotated ? {\n top: $$.margin.top,\n right: NaN,\n bottom: 20 + legendHeightForBottom,\n left: $$.rotated_padding_left\n } : {\n top: $$.currentHeight - subchartHeight - legendHeightForBottom,\n right: NaN,\n bottom: xAxisHeight + legendHeightForBottom,\n left: $$.margin.left\n }; // for legend\n\n $$.margin3 = {\n top: 0,\n right: NaN,\n bottom: 0,\n left: 0\n };\n\n if ($$.updateSizeForLegend) {\n $$.updateSizeForLegend(legendHeight, legendWidth);\n }\n\n $$.width = $$.currentWidth - $$.margin.left - $$.margin.right;\n $$.height = $$.currentHeight - $$.margin.top - $$.margin.bottom;\n\n if ($$.width < 0) {\n $$.width = 0;\n }\n\n if ($$.height < 0) {\n $$.height = 0;\n }\n\n $$.width2 = config.axis_rotated ? $$.margin.left - $$.rotated_padding_left - $$.rotated_padding_right : $$.width;\n $$.height2 = config.axis_rotated ? $$.height : $$.currentHeight - $$.margin2.top - $$.margin2.bottom;\n\n if ($$.width2 < 0) {\n $$.width2 = 0;\n }\n\n if ($$.height2 < 0) {\n $$.height2 = 0;\n } // for arc\n\n\n $$.arcWidth = $$.width - ($$.isLegendRight ? legendWidth + 10 : 0);\n $$.arcHeight = $$.height - ($$.isLegendRight ? 0 : 10);\n\n if ($$.hasType('gauge') && !config.gauge_fullCircle) {\n $$.arcHeight += $$.height - $$.getGaugeLabelHeight();\n }\n\n if ($$.updateRadius) {\n $$.updateRadius();\n }\n\n if ($$.isLegendRight && hasArc) {\n $$.margin3.left = $$.arcWidth / 2 + $$.radiusExpanded * 1.1;\n }\n };\n\n ChartInternal.prototype.updateTargets = function (targets) {\n var $$ = this;\n /*-- Main --*/\n //-- Text --//\n\n $$.updateTargetsForText(targets); //-- Bar --//\n\n $$.updateTargetsForBar(targets); //-- Line --//\n\n $$.updateTargetsForLine(targets); //-- Arc --//\n\n if ($$.hasArcType() && $$.updateTargetsForArc) {\n $$.updateTargetsForArc(targets);\n }\n /*-- Sub --*/\n\n\n if ($$.updateTargetsForSubchart) {\n $$.updateTargetsForSubchart(targets);\n } // Fade-in each chart\n\n\n $$.showTargets();\n };\n\n ChartInternal.prototype.showTargets = function () {\n var $$ = this;\n $$.svg.selectAll('.' + CLASS.target).filter(function (d) {\n return $$.isTargetToShow(d.id);\n }).transition().duration($$.config.transition_duration).style(\"opacity\", 1);\n };\n\n ChartInternal.prototype.redraw = function (options, transitions) {\n var $$ = this,\n main = $$.main,\n d3 = $$.d3,\n config = $$.config;\n var areaIndices = $$.getShapeIndices($$.isAreaType),\n barIndices = $$.getShapeIndices($$.isBarType),\n lineIndices = $$.getShapeIndices($$.isLineType);\n var withY, withSubchart, withTransition, withTransitionForExit, withTransitionForAxis, withTransform, withUpdateXDomain, withUpdateOrgXDomain, withTrimXDomain, withLegend, withEventRect, withDimension, withUpdateXAxis;\n var hideAxis = $$.hasArcType();\n var drawArea, drawBar, drawLine, xForText, yForText;\n var duration, durationForExit, durationForAxis;\n var transitionsToWait, waitForDraw, flow, transition;\n var targetsToShow = $$.filterTargetsToShow($$.data.targets),\n tickValues,\n i,\n intervalForCulling,\n xDomainForZoom;\n var xv = $$.xv.bind($$),\n cx,\n cy;\n options = options || {};\n withY = getOption(options, \"withY\", true);\n withSubchart = getOption(options, \"withSubchart\", true);\n withTransition = getOption(options, \"withTransition\", true);\n withTransform = getOption(options, \"withTransform\", false);\n withUpdateXDomain = getOption(options, \"withUpdateXDomain\", false);\n withUpdateOrgXDomain = getOption(options, \"withUpdateOrgXDomain\", false);\n withTrimXDomain = getOption(options, \"withTrimXDomain\", true);\n withUpdateXAxis = getOption(options, \"withUpdateXAxis\", withUpdateXDomain);\n withLegend = getOption(options, \"withLegend\", false);\n withEventRect = getOption(options, \"withEventRect\", true);\n withDimension = getOption(options, \"withDimension\", true);\n withTransitionForExit = getOption(options, \"withTransitionForExit\", withTransition);\n withTransitionForAxis = getOption(options, \"withTransitionForAxis\", withTransition);\n duration = withTransition ? config.transition_duration : 0;\n durationForExit = withTransitionForExit ? duration : 0;\n durationForAxis = withTransitionForAxis ? duration : 0;\n transitions = transitions || $$.axis.generateTransitions(durationForAxis); // update legend and transform each g\n\n if (withLegend && config.legend_show) {\n $$.updateLegend($$.mapToIds($$.data.targets), options, transitions);\n } else if (withDimension) {\n // need to update dimension (e.g. axis.y.tick.values) because y tick values should change\n // no need to update axis in it because they will be updated in redraw()\n $$.updateDimension(true);\n } // MEMO: needed for grids calculation\n\n\n if ($$.isCategorized() && targetsToShow.length === 0) {\n $$.x.domain([0, $$.axes.x.selectAll('.tick').size()]);\n }\n\n if (targetsToShow.length) {\n $$.updateXDomain(targetsToShow, withUpdateXDomain, withUpdateOrgXDomain, withTrimXDomain);\n\n if (!config.axis_x_tick_values) {\n tickValues = $$.axis.updateXAxisTickValues(targetsToShow);\n }\n } else {\n $$.xAxis.tickValues([]);\n $$.subXAxis.tickValues([]);\n }\n\n if (config.zoom_rescale && !options.flow) {\n xDomainForZoom = $$.x.orgDomain();\n }\n\n $$.y.domain($$.getYDomain(targetsToShow, 'y', xDomainForZoom));\n $$.y2.domain($$.getYDomain(targetsToShow, 'y2', xDomainForZoom));\n\n if (!config.axis_y_tick_values && config.axis_y_tick_count) {\n $$.yAxis.tickValues($$.axis.generateTickValues($$.y.domain(), config.axis_y_tick_count));\n }\n\n if (!config.axis_y2_tick_values && config.axis_y2_tick_count) {\n $$.y2Axis.tickValues($$.axis.generateTickValues($$.y2.domain(), config.axis_y2_tick_count));\n } // axes\n\n\n $$.axis.redraw(durationForAxis, hideAxis); // Update axis label\n\n $$.axis.updateLabels(withTransition); // show/hide if manual culling needed\n\n if ((withUpdateXDomain || withUpdateXAxis) && targetsToShow.length) {\n if (config.axis_x_tick_culling && tickValues) {\n for (i = 1; i < tickValues.length; i++) {\n if (tickValues.length / i < config.axis_x_tick_culling_max) {\n intervalForCulling = i;\n break;\n }\n }\n\n $$.svg.selectAll('.' + CLASS.axisX + ' .tick text').each(function (e) {\n var index = tickValues.indexOf(e);\n\n if (index >= 0) {\n d3.select(this).style('display', index % intervalForCulling ? 'none' : 'block');\n }\n });\n } else {\n $$.svg.selectAll('.' + CLASS.axisX + ' .tick text').style('display', 'block');\n }\n } // setup drawer - MEMO: these must be called after axis updated\n\n\n drawArea = $$.generateDrawArea ? $$.generateDrawArea(areaIndices, false) : undefined;\n drawBar = $$.generateDrawBar ? $$.generateDrawBar(barIndices) : undefined;\n drawLine = $$.generateDrawLine ? $$.generateDrawLine(lineIndices, false) : undefined;\n xForText = $$.generateXYForText(areaIndices, barIndices, lineIndices, true);\n yForText = $$.generateXYForText(areaIndices, barIndices, lineIndices, false); // update circleY based on updated parameters\n\n $$.updateCircleY(); // generate circle x/y functions depending on updated params\n\n cx = ($$.config.axis_rotated ? $$.circleY : $$.circleX).bind($$);\n cy = ($$.config.axis_rotated ? $$.circleX : $$.circleY).bind($$); // Update sub domain\n\n if (withY) {\n $$.subY.domain($$.getYDomain(targetsToShow, 'y'));\n $$.subY2.domain($$.getYDomain(targetsToShow, 'y2'));\n } // xgrid focus\n\n\n $$.updateXgridFocus(); // Data empty label positioning and text.\n\n main.select(\"text.\" + CLASS.text + '.' + CLASS.empty).attr(\"x\", $$.width / 2).attr(\"y\", $$.height / 2).text(config.data_empty_label_text).transition().style('opacity', targetsToShow.length ? 0 : 1); // event rect\n\n if (withEventRect) {\n $$.redrawEventRect();\n } // grid\n\n\n $$.updateGrid(duration); // rect for regions\n\n $$.updateRegion(duration); // bars\n\n $$.updateBar(durationForExit); // lines, areas and cricles\n\n $$.updateLine(durationForExit);\n $$.updateArea(durationForExit);\n $$.updateCircle(cx, cy); // text\n\n if ($$.hasDataLabel()) {\n $$.updateText(xForText, yForText, durationForExit);\n } // title\n\n\n if ($$.redrawTitle) {\n $$.redrawTitle();\n } // arc\n\n\n if ($$.redrawArc) {\n $$.redrawArc(duration, durationForExit, withTransform);\n } // subchart\n\n\n if ($$.redrawSubchart) {\n $$.redrawSubchart(withSubchart, transitions, duration, durationForExit, areaIndices, barIndices, lineIndices);\n } // circles for select\n\n\n main.selectAll('.' + CLASS.selectedCircles).filter($$.isBarType.bind($$)).selectAll('circle').remove();\n\n if (options.flow) {\n flow = $$.generateFlow({\n targets: targetsToShow,\n flow: options.flow,\n duration: options.flow.duration,\n drawBar: drawBar,\n drawLine: drawLine,\n drawArea: drawArea,\n cx: cx,\n cy: cy,\n xv: xv,\n xForText: xForText,\n yForText: yForText\n });\n }\n\n if ($$.isTabVisible()) {\n // Only use transition if tab visible. See #938.\n if (duration) {\n // transition should be derived from one transition\n transition = d3.transition().duration(duration);\n transitionsToWait = [];\n [$$.redrawBar(drawBar, true, transition), $$.redrawLine(drawLine, true, transition), $$.redrawArea(drawArea, true, transition), $$.redrawCircle(cx, cy, true, transition), $$.redrawText(xForText, yForText, options.flow, true, transition), $$.redrawRegion(true, transition), $$.redrawGrid(true, transition)].forEach(function (transitions) {\n transitions.forEach(function (transition) {\n transitionsToWait.push(transition);\n });\n }); // Wait for end of transitions to call flow and onrendered callback\n\n waitForDraw = $$.generateWait();\n transitionsToWait.forEach(function (t) {\n waitForDraw.add(t);\n });\n waitForDraw(function () {\n if (flow) {\n flow();\n }\n\n if (config.onrendered) {\n config.onrendered.call($$);\n }\n });\n } else {\n $$.redrawBar(drawBar);\n $$.redrawLine(drawLine);\n $$.redrawArea(drawArea);\n $$.redrawCircle(cx, cy);\n $$.redrawText(xForText, yForText, options.flow);\n $$.redrawRegion();\n $$.redrawGrid();\n\n if (flow) {\n flow();\n }\n\n if (config.onrendered) {\n config.onrendered.call($$);\n }\n }\n } // update fadein condition\n\n\n $$.mapToIds($$.data.targets).forEach(function (id) {\n $$.withoutFadeIn[id] = true;\n });\n };\n\n ChartInternal.prototype.updateAndRedraw = function (options) {\n var $$ = this,\n config = $$.config,\n transitions;\n options = options || {}; // same with redraw\n\n options.withTransition = getOption(options, \"withTransition\", true);\n options.withTransform = getOption(options, \"withTransform\", false);\n options.withLegend = getOption(options, \"withLegend\", false); // NOT same with redraw\n\n options.withUpdateXDomain = getOption(options, \"withUpdateXDomain\", true);\n options.withUpdateOrgXDomain = getOption(options, \"withUpdateOrgXDomain\", true);\n options.withTransitionForExit = false;\n options.withTransitionForTransform = getOption(options, \"withTransitionForTransform\", options.withTransition); // MEMO: this needs to be called before updateLegend and it means this ALWAYS needs to be called)\n\n $$.updateSizes(); // MEMO: called in updateLegend in redraw if withLegend\n\n if (!(options.withLegend && config.legend_show)) {\n transitions = $$.axis.generateTransitions(options.withTransitionForAxis ? config.transition_duration : 0); // Update scales\n\n $$.updateScales();\n $$.updateSvgSize(); // Update g positions\n\n $$.transformAll(options.withTransitionForTransform, transitions);\n } // Draw with new sizes & scales\n\n\n $$.redraw(options, transitions);\n };\n\n ChartInternal.prototype.redrawWithoutRescale = function () {\n this.redraw({\n withY: false,\n withSubchart: false,\n withEventRect: false,\n withTransitionForAxis: false\n });\n };\n\n ChartInternal.prototype.isTimeSeries = function () {\n return this.config.axis_x_type === 'timeseries';\n };\n\n ChartInternal.prototype.isCategorized = function () {\n return this.config.axis_x_type.indexOf('categor') >= 0;\n };\n\n ChartInternal.prototype.isCustomX = function () {\n var $$ = this,\n config = $$.config;\n return !$$.isTimeSeries() && (config.data_x || notEmpty(config.data_xs));\n };\n\n ChartInternal.prototype.isTimeSeriesY = function () {\n return this.config.axis_y_type === 'timeseries';\n };\n\n ChartInternal.prototype.getTranslate = function (target) {\n var $$ = this,\n config = $$.config,\n x,\n y;\n\n if (target === 'main') {\n x = asHalfPixel($$.margin.left);\n y = asHalfPixel($$.margin.top);\n } else if (target === 'context') {\n x = asHalfPixel($$.margin2.left);\n y = asHalfPixel($$.margin2.top);\n } else if (target === 'legend') {\n x = $$.margin3.left;\n y = $$.margin3.top;\n } else if (target === 'x') {\n x = 0;\n y = config.axis_rotated ? 0 : $$.height;\n } else if (target === 'y') {\n x = 0;\n y = config.axis_rotated ? $$.height : 0;\n } else if (target === 'y2') {\n x = config.axis_rotated ? 0 : $$.width;\n y = config.axis_rotated ? 1 : 0;\n } else if (target === 'subx') {\n x = 0;\n y = config.axis_rotated ? 0 : $$.height2;\n } else if (target === 'arc') {\n x = $$.arcWidth / 2;\n y = $$.arcHeight / 2 - ($$.hasType('gauge') ? 6 : 0); // to prevent wrong display of min and max label\n }\n\n return \"translate(\" + x + \",\" + y + \")\";\n };\n\n ChartInternal.prototype.initialOpacity = function (d) {\n return d.value !== null && this.withoutFadeIn[d.id] ? 1 : 0;\n };\n\n ChartInternal.prototype.initialOpacityForCircle = function (d) {\n return d.value !== null && this.withoutFadeIn[d.id] ? this.opacityForCircle(d) : 0;\n };\n\n ChartInternal.prototype.opacityForCircle = function (d) {\n var isPointShouldBeShown = isFunction(this.config.point_show) ? this.config.point_show(d) : this.config.point_show;\n var opacity = isPointShouldBeShown ? 1 : 0;\n return isValue(d.value) ? this.isScatterType(d) ? 0.5 : opacity : 0;\n };\n\n ChartInternal.prototype.opacityForText = function () {\n return this.hasDataLabel() ? 1 : 0;\n };\n\n ChartInternal.prototype.xx = function (d) {\n return d ? this.x(d.x) : null;\n };\n\n ChartInternal.prototype.xv = function (d) {\n var $$ = this,\n value = d.value;\n\n if ($$.isTimeSeries()) {\n value = $$.parseDate(d.value);\n } else if ($$.isCategorized() && typeof d.value === 'string') {\n value = $$.config.axis_x_categories.indexOf(d.value);\n }\n\n return Math.ceil($$.x(value));\n };\n\n ChartInternal.prototype.yv = function (d) {\n var $$ = this,\n yScale = d.axis && d.axis === 'y2' ? $$.y2 : $$.y;\n return Math.ceil(yScale(d.value));\n };\n\n ChartInternal.prototype.subxx = function (d) {\n return d ? this.subX(d.x) : null;\n };\n\n ChartInternal.prototype.transformMain = function (withTransition, transitions) {\n var $$ = this,\n xAxis,\n yAxis,\n y2Axis;\n\n if (transitions && transitions.axisX) {\n xAxis = transitions.axisX;\n } else {\n xAxis = $$.main.select('.' + CLASS.axisX);\n\n if (withTransition) {\n xAxis = xAxis.transition();\n }\n }\n\n if (transitions && transitions.axisY) {\n yAxis = transitions.axisY;\n } else {\n yAxis = $$.main.select('.' + CLASS.axisY);\n\n if (withTransition) {\n yAxis = yAxis.transition();\n }\n }\n\n if (transitions && transitions.axisY2) {\n y2Axis = transitions.axisY2;\n } else {\n y2Axis = $$.main.select('.' + CLASS.axisY2);\n\n if (withTransition) {\n y2Axis = y2Axis.transition();\n }\n }\n\n (withTransition ? $$.main.transition() : $$.main).attr(\"transform\", $$.getTranslate('main'));\n xAxis.attr(\"transform\", $$.getTranslate('x'));\n yAxis.attr(\"transform\", $$.getTranslate('y'));\n y2Axis.attr(\"transform\", $$.getTranslate('y2'));\n $$.main.select('.' + CLASS.chartArcs).attr(\"transform\", $$.getTranslate('arc'));\n };\n\n ChartInternal.prototype.transformAll = function (withTransition, transitions) {\n var $$ = this;\n $$.transformMain(withTransition, transitions);\n\n if ($$.config.subchart_show) {\n $$.transformContext(withTransition, transitions);\n }\n\n if ($$.legend) {\n $$.transformLegend(withTransition);\n }\n };\n\n ChartInternal.prototype.updateSvgSize = function () {\n var $$ = this,\n brush = $$.svg.select(\".c3-brush .overlay\");\n $$.svg.attr('width', $$.currentWidth).attr('height', $$.currentHeight);\n $$.svg.selectAll(['#' + $$.clipId, '#' + $$.clipIdForGrid]).select('rect').attr('width', $$.width).attr('height', $$.height);\n $$.svg.select('#' + $$.clipIdForXAxis).select('rect').attr('x', $$.getXAxisClipX.bind($$)).attr('y', $$.getXAxisClipY.bind($$)).attr('width', $$.getXAxisClipWidth.bind($$)).attr('height', $$.getXAxisClipHeight.bind($$));\n $$.svg.select('#' + $$.clipIdForYAxis).select('rect').attr('x', $$.getYAxisClipX.bind($$)).attr('y', $$.getYAxisClipY.bind($$)).attr('width', $$.getYAxisClipWidth.bind($$)).attr('height', $$.getYAxisClipHeight.bind($$));\n $$.svg.select('#' + $$.clipIdForSubchart).select('rect').attr('width', $$.width).attr('height', brush.size() ? brush.attr('height') : 0);\n };\n\n ChartInternal.prototype.updateDimension = function (withoutAxis) {\n var $$ = this;\n\n if (!withoutAxis) {\n if ($$.config.axis_rotated) {\n $$.axes.x.call($$.xAxis);\n $$.axes.subx.call($$.subXAxis);\n } else {\n $$.axes.y.call($$.yAxis);\n $$.axes.y2.call($$.y2Axis);\n }\n }\n\n $$.updateSizes();\n $$.updateScales();\n $$.updateSvgSize();\n $$.transformAll(false);\n };\n\n ChartInternal.prototype.observeInserted = function (selection) {\n var $$ = this,\n observer;\n\n if (typeof MutationObserver === 'undefined') {\n window.console.error(\"MutationObserver not defined.\");\n return;\n }\n\n observer = new MutationObserver(function (mutations) {\n mutations.forEach(function (mutation) {\n if (mutation.type === 'childList' && mutation.previousSibling) {\n observer.disconnect(); // need to wait for completion of load because size calculation requires the actual sizes determined after that completion\n\n $$.intervalForObserveInserted = window.setInterval(function () {\n // parentNode will NOT be null when completed\n if (selection.node().parentNode) {\n window.clearInterval($$.intervalForObserveInserted);\n $$.updateDimension();\n\n if ($$.brush) {\n $$.brush.update();\n }\n\n $$.config.oninit.call($$);\n $$.redraw({\n withTransform: true,\n withUpdateXDomain: true,\n withUpdateOrgXDomain: true,\n withTransition: false,\n withTransitionForTransform: false,\n withLegend: true\n });\n selection.transition().style('opacity', 1);\n }\n }, 10);\n }\n });\n });\n observer.observe(selection.node(), {\n attributes: true,\n childList: true,\n characterData: true\n });\n };\n /**\n * Binds handlers to the window resize event.\n */\n\n\n ChartInternal.prototype.bindResize = function () {\n var $$ = this,\n config = $$.config;\n $$.resizeFunction = $$.generateResize(); // need to call .remove\n\n $$.resizeFunction.add(function () {\n config.onresize.call($$);\n });\n\n if (config.resize_auto) {\n $$.resizeFunction.add(function () {\n if ($$.resizeTimeout !== undefined) {\n window.clearTimeout($$.resizeTimeout);\n }\n\n $$.resizeTimeout = window.setTimeout(function () {\n delete $$.resizeTimeout;\n $$.updateAndRedraw({\n withUpdateXDomain: false,\n withUpdateOrgXDomain: false,\n withTransition: false,\n withTransitionForTransform: false,\n withLegend: true\n });\n\n if ($$.brush) {\n $$.brush.update();\n }\n }, 100);\n });\n }\n\n $$.resizeFunction.add(function () {\n config.onresized.call($$);\n });\n\n $$.resizeIfElementDisplayed = function () {\n // if element not displayed skip it\n if ($$.api == null || !$$.api.element.offsetParent) {\n return;\n }\n\n $$.resizeFunction();\n };\n\n if (window.attachEvent) {\n window.attachEvent('onresize', $$.resizeIfElementDisplayed);\n } else if (window.addEventListener) {\n window.addEventListener('resize', $$.resizeIfElementDisplayed, false);\n } else {\n // fallback to this, if this is a very old browser\n var wrapper = window.onresize;\n\n if (!wrapper) {\n // create a wrapper that will call all charts\n wrapper = $$.generateResize();\n } else if (!wrapper.add || !wrapper.remove) {\n // there is already a handler registered, make sure we call it too\n wrapper = $$.generateResize();\n wrapper.add(window.onresize);\n } // add this graph to the wrapper, we will be removed if the user calls destroy\n\n\n wrapper.add($$.resizeFunction);\n\n window.onresize = function () {\n // if element not displayed skip it\n if (!$$.api.element.offsetParent) {\n return;\n }\n\n wrapper();\n };\n }\n };\n /**\n * Binds handlers to the window focus event.\n */\n\n\n ChartInternal.prototype.bindWindowFocus = function () {\n var _this = this;\n\n if (this.windowFocusHandler) {\n // The handler is already set\n return;\n }\n\n this.windowFocusHandler = function () {\n _this.redraw();\n };\n\n window.addEventListener('focus', this.windowFocusHandler);\n };\n /**\n * Unbinds from the window focus event.\n */\n\n\n ChartInternal.prototype.unbindWindowFocus = function () {\n window.removeEventListener('focus', this.windowFocusHandler);\n delete this.windowFocusHandler;\n };\n\n ChartInternal.prototype.generateResize = function () {\n var resizeFunctions = [];\n\n function callResizeFunctions() {\n resizeFunctions.forEach(function (f) {\n f();\n });\n }\n\n callResizeFunctions.add = function (f) {\n resizeFunctions.push(f);\n };\n\n callResizeFunctions.remove = function (f) {\n for (var i = 0; i < resizeFunctions.length; i++) {\n if (resizeFunctions[i] === f) {\n resizeFunctions.splice(i, 1);\n break;\n }\n }\n };\n\n return callResizeFunctions;\n };\n\n ChartInternal.prototype.endall = function (transition, callback) {\n var n = 0;\n transition.each(function () {\n ++n;\n }).on(\"end\", function () {\n if (! --n) {\n callback.apply(this, arguments);\n }\n });\n };\n\n ChartInternal.prototype.generateWait = function () {\n var transitionsToWait = [],\n f = function f(callback) {\n var timer = setInterval(function () {\n var done = 0;\n transitionsToWait.forEach(function (t) {\n if (t.empty()) {\n done += 1;\n return;\n }\n\n try {\n t.transition();\n } catch (e) {\n done += 1;\n }\n });\n\n if (done === transitionsToWait.length) {\n clearInterval(timer);\n\n if (callback) {\n callback();\n }\n }\n }, 50);\n };\n\n f.add = function (transition) {\n transitionsToWait.push(transition);\n };\n\n return f;\n };\n\n ChartInternal.prototype.parseDate = function (date) {\n var $$ = this,\n parsedDate;\n\n if (date instanceof Date) {\n parsedDate = date;\n } else if (typeof date === 'string') {\n parsedDate = $$.dataTimeParse(date);\n } else if (_typeof(date) === 'object') {\n parsedDate = new Date(+date);\n } else if (typeof date === 'number' && !isNaN(date)) {\n parsedDate = new Date(+date);\n }\n\n if (!parsedDate || isNaN(+parsedDate)) {\n window.console.error(\"Failed to parse x '\" + date + \"' to Date object\");\n }\n\n return parsedDate;\n };\n\n ChartInternal.prototype.isTabVisible = function () {\n return !document.hidden;\n };\n\n ChartInternal.prototype.getPathBox = getPathBox;\n ChartInternal.prototype.CLASS = CLASS;\n\n /* jshint ignore:start */\n // SVGPathSeg API polyfill\n // https://github.com/progers/pathseg\n //\n // This is a drop-in replacement for the SVGPathSeg and SVGPathSegList APIs that were removed from\n // SVG2 (https://lists.w3.org/Archives/Public/www-svg/2015Jun/0044.html), including the latest spec\n // changes which were implemented in Firefox 43 and Chrome 46.\n (function () {\n\n if (!(\"SVGPathSeg\" in window)) {\n // Spec: http://www.w3.org/TR/SVG11/single-page.html#paths-InterfaceSVGPathSeg\n window.SVGPathSeg = function (type, typeAsLetter, owningPathSegList) {\n this.pathSegType = type;\n this.pathSegTypeAsLetter = typeAsLetter;\n this._owningPathSegList = owningPathSegList;\n };\n\n window.SVGPathSeg.prototype.classname = \"SVGPathSeg\";\n window.SVGPathSeg.PATHSEG_UNKNOWN = 0;\n window.SVGPathSeg.PATHSEG_CLOSEPATH = 1;\n window.SVGPathSeg.PATHSEG_MOVETO_ABS = 2;\n window.SVGPathSeg.PATHSEG_MOVETO_REL = 3;\n window.SVGPathSeg.PATHSEG_LINETO_ABS = 4;\n window.SVGPathSeg.PATHSEG_LINETO_REL = 5;\n window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_ABS = 6;\n window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_REL = 7;\n window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_ABS = 8;\n window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_REL = 9;\n window.SVGPathSeg.PATHSEG_ARC_ABS = 10;\n window.SVGPathSeg.PATHSEG_ARC_REL = 11;\n window.SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_ABS = 12;\n window.SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_REL = 13;\n window.SVGPathSeg.PATHSEG_LINETO_VERTICAL_ABS = 14;\n window.SVGPathSeg.PATHSEG_LINETO_VERTICAL_REL = 15;\n window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_ABS = 16;\n window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_REL = 17;\n window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS = 18;\n window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL = 19; // Notify owning PathSegList on any changes so they can be synchronized back to the path element.\n\n window.SVGPathSeg.prototype._segmentChanged = function () {\n if (this._owningPathSegList) this._owningPathSegList.segmentChanged(this);\n };\n\n window.SVGPathSegClosePath = function (owningPathSegList) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_CLOSEPATH, \"z\", owningPathSegList);\n };\n\n window.SVGPathSegClosePath.prototype = Object.create(window.SVGPathSeg.prototype);\n\n window.SVGPathSegClosePath.prototype.toString = function () {\n return \"[object SVGPathSegClosePath]\";\n };\n\n window.SVGPathSegClosePath.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter;\n };\n\n window.SVGPathSegClosePath.prototype.clone = function () {\n return new window.SVGPathSegClosePath(undefined);\n };\n\n window.SVGPathSegMovetoAbs = function (owningPathSegList, x, y) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_MOVETO_ABS, \"M\", owningPathSegList);\n this._x = x;\n this._y = y;\n };\n\n window.SVGPathSegMovetoAbs.prototype = Object.create(window.SVGPathSeg.prototype);\n\n window.SVGPathSegMovetoAbs.prototype.toString = function () {\n return \"[object SVGPathSegMovetoAbs]\";\n };\n\n window.SVGPathSegMovetoAbs.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._x + \" \" + this._y;\n };\n\n window.SVGPathSegMovetoAbs.prototype.clone = function () {\n return new window.SVGPathSegMovetoAbs(undefined, this._x, this._y);\n };\n\n Object.defineProperty(window.SVGPathSegMovetoAbs.prototype, \"x\", {\n get: function get() {\n return this._x;\n },\n set: function set(x) {\n this._x = x;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegMovetoAbs.prototype, \"y\", {\n get: function get() {\n return this._y;\n },\n set: function set(y) {\n this._y = y;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n\n window.SVGPathSegMovetoRel = function (owningPathSegList, x, y) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_MOVETO_REL, \"m\", owningPathSegList);\n this._x = x;\n this._y = y;\n };\n\n window.SVGPathSegMovetoRel.prototype = Object.create(window.SVGPathSeg.prototype);\n\n window.SVGPathSegMovetoRel.prototype.toString = function () {\n return \"[object SVGPathSegMovetoRel]\";\n };\n\n window.SVGPathSegMovetoRel.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._x + \" \" + this._y;\n };\n\n window.SVGPathSegMovetoRel.prototype.clone = function () {\n return new window.SVGPathSegMovetoRel(undefined, this._x, this._y);\n };\n\n Object.defineProperty(window.SVGPathSegMovetoRel.prototype, \"x\", {\n get: function get() {\n return this._x;\n },\n set: function set(x) {\n this._x = x;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegMovetoRel.prototype, \"y\", {\n get: function get() {\n return this._y;\n },\n set: function set(y) {\n this._y = y;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n\n window.SVGPathSegLinetoAbs = function (owningPathSegList, x, y) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_LINETO_ABS, \"L\", owningPathSegList);\n this._x = x;\n this._y = y;\n };\n\n window.SVGPathSegLinetoAbs.prototype = Object.create(window.SVGPathSeg.prototype);\n\n window.SVGPathSegLinetoAbs.prototype.toString = function () {\n return \"[object SVGPathSegLinetoAbs]\";\n };\n\n window.SVGPathSegLinetoAbs.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._x + \" \" + this._y;\n };\n\n window.SVGPathSegLinetoAbs.prototype.clone = function () {\n return new window.SVGPathSegLinetoAbs(undefined, this._x, this._y);\n };\n\n Object.defineProperty(window.SVGPathSegLinetoAbs.prototype, \"x\", {\n get: function get() {\n return this._x;\n },\n set: function set(x) {\n this._x = x;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegLinetoAbs.prototype, \"y\", {\n get: function get() {\n return this._y;\n },\n set: function set(y) {\n this._y = y;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n\n window.SVGPathSegLinetoRel = function (owningPathSegList, x, y) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_LINETO_REL, \"l\", owningPathSegList);\n this._x = x;\n this._y = y;\n };\n\n window.SVGPathSegLinetoRel.prototype = Object.create(window.SVGPathSeg.prototype);\n\n window.SVGPathSegLinetoRel.prototype.toString = function () {\n return \"[object SVGPathSegLinetoRel]\";\n };\n\n window.SVGPathSegLinetoRel.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._x + \" \" + this._y;\n };\n\n window.SVGPathSegLinetoRel.prototype.clone = function () {\n return new window.SVGPathSegLinetoRel(undefined, this._x, this._y);\n };\n\n Object.defineProperty(window.SVGPathSegLinetoRel.prototype, \"x\", {\n get: function get() {\n return this._x;\n },\n set: function set(x) {\n this._x = x;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegLinetoRel.prototype, \"y\", {\n get: function get() {\n return this._y;\n },\n set: function set(y) {\n this._y = y;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n\n window.SVGPathSegCurvetoCubicAbs = function (owningPathSegList, x, y, x1, y1, x2, y2) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_ABS, \"C\", owningPathSegList);\n this._x = x;\n this._y = y;\n this._x1 = x1;\n this._y1 = y1;\n this._x2 = x2;\n this._y2 = y2;\n };\n\n window.SVGPathSegCurvetoCubicAbs.prototype = Object.create(window.SVGPathSeg.prototype);\n\n window.SVGPathSegCurvetoCubicAbs.prototype.toString = function () {\n return \"[object SVGPathSegCurvetoCubicAbs]\";\n };\n\n window.SVGPathSegCurvetoCubicAbs.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._x1 + \" \" + this._y1 + \" \" + this._x2 + \" \" + this._y2 + \" \" + this._x + \" \" + this._y;\n };\n\n window.SVGPathSegCurvetoCubicAbs.prototype.clone = function () {\n return new window.SVGPathSegCurvetoCubicAbs(undefined, this._x, this._y, this._x1, this._y1, this._x2, this._y2);\n };\n\n Object.defineProperty(window.SVGPathSegCurvetoCubicAbs.prototype, \"x\", {\n get: function get() {\n return this._x;\n },\n set: function set(x) {\n this._x = x;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegCurvetoCubicAbs.prototype, \"y\", {\n get: function get() {\n return this._y;\n },\n set: function set(y) {\n this._y = y;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegCurvetoCubicAbs.prototype, \"x1\", {\n get: function get() {\n return this._x1;\n },\n set: function set(x1) {\n this._x1 = x1;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegCurvetoCubicAbs.prototype, \"y1\", {\n get: function get() {\n return this._y1;\n },\n set: function set(y1) {\n this._y1 = y1;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegCurvetoCubicAbs.prototype, \"x2\", {\n get: function get() {\n return this._x2;\n },\n set: function set(x2) {\n this._x2 = x2;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegCurvetoCubicAbs.prototype, \"y2\", {\n get: function get() {\n return this._y2;\n },\n set: function set(y2) {\n this._y2 = y2;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n\n window.SVGPathSegCurvetoCubicRel = function (owningPathSegList, x, y, x1, y1, x2, y2) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_REL, \"c\", owningPathSegList);\n this._x = x;\n this._y = y;\n this._x1 = x1;\n this._y1 = y1;\n this._x2 = x2;\n this._y2 = y2;\n };\n\n window.SVGPathSegCurvetoCubicRel.prototype = Object.create(window.SVGPathSeg.prototype);\n\n window.SVGPathSegCurvetoCubicRel.prototype.toString = function () {\n return \"[object SVGPathSegCurvetoCubicRel]\";\n };\n\n window.SVGPathSegCurvetoCubicRel.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._x1 + \" \" + this._y1 + \" \" + this._x2 + \" \" + this._y2 + \" \" + this._x + \" \" + this._y;\n };\n\n window.SVGPathSegCurvetoCubicRel.prototype.clone = function () {\n return new window.SVGPathSegCurvetoCubicRel(undefined, this._x, this._y, this._x1, this._y1, this._x2, this._y2);\n };\n\n Object.defineProperty(window.SVGPathSegCurvetoCubicRel.prototype, \"x\", {\n get: function get() {\n return this._x;\n },\n set: function set(x) {\n this._x = x;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegCurvetoCubicRel.prototype, \"y\", {\n get: function get() {\n return this._y;\n },\n set: function set(y) {\n this._y = y;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegCurvetoCubicRel.prototype, \"x1\", {\n get: function get() {\n return this._x1;\n },\n set: function set(x1) {\n this._x1 = x1;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegCurvetoCubicRel.prototype, \"y1\", {\n get: function get() {\n return this._y1;\n },\n set: function set(y1) {\n this._y1 = y1;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegCurvetoCubicRel.prototype, \"x2\", {\n get: function get() {\n return this._x2;\n },\n set: function set(x2) {\n this._x2 = x2;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegCurvetoCubicRel.prototype, \"y2\", {\n get: function get() {\n return this._y2;\n },\n set: function set(y2) {\n this._y2 = y2;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n\n window.SVGPathSegCurvetoQuadraticAbs = function (owningPathSegList, x, y, x1, y1) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_ABS, \"Q\", owningPathSegList);\n this._x = x;\n this._y = y;\n this._x1 = x1;\n this._y1 = y1;\n };\n\n window.SVGPathSegCurvetoQuadraticAbs.prototype = Object.create(window.SVGPathSeg.prototype);\n\n window.SVGPathSegCurvetoQuadraticAbs.prototype.toString = function () {\n return \"[object SVGPathSegCurvetoQuadraticAbs]\";\n };\n\n window.SVGPathSegCurvetoQuadraticAbs.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._x1 + \" \" + this._y1 + \" \" + this._x + \" \" + this._y;\n };\n\n window.SVGPathSegCurvetoQuadraticAbs.prototype.clone = function () {\n return new window.SVGPathSegCurvetoQuadraticAbs(undefined, this._x, this._y, this._x1, this._y1);\n };\n\n Object.defineProperty(window.SVGPathSegCurvetoQuadraticAbs.prototype, \"x\", {\n get: function get() {\n return this._x;\n },\n set: function set(x) {\n this._x = x;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegCurvetoQuadraticAbs.prototype, \"y\", {\n get: function get() {\n return this._y;\n },\n set: function set(y) {\n this._y = y;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegCurvetoQuadraticAbs.prototype, \"x1\", {\n get: function get() {\n return this._x1;\n },\n set: function set(x1) {\n this._x1 = x1;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegCurvetoQuadraticAbs.prototype, \"y1\", {\n get: function get() {\n return this._y1;\n },\n set: function set(y1) {\n this._y1 = y1;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n\n window.SVGPathSegCurvetoQuadraticRel = function (owningPathSegList, x, y, x1, y1) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_REL, \"q\", owningPathSegList);\n this._x = x;\n this._y = y;\n this._x1 = x1;\n this._y1 = y1;\n };\n\n window.SVGPathSegCurvetoQuadraticRel.prototype = Object.create(window.SVGPathSeg.prototype);\n\n window.SVGPathSegCurvetoQuadraticRel.prototype.toString = function () {\n return \"[object SVGPathSegCurvetoQuadraticRel]\";\n };\n\n window.SVGPathSegCurvetoQuadraticRel.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._x1 + \" \" + this._y1 + \" \" + this._x + \" \" + this._y;\n };\n\n window.SVGPathSegCurvetoQuadraticRel.prototype.clone = function () {\n return new window.SVGPathSegCurvetoQuadraticRel(undefined, this._x, this._y, this._x1, this._y1);\n };\n\n Object.defineProperty(window.SVGPathSegCurvetoQuadraticRel.prototype, \"x\", {\n get: function get() {\n return this._x;\n },\n set: function set(x) {\n this._x = x;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegCurvetoQuadraticRel.prototype, \"y\", {\n get: function get() {\n return this._y;\n },\n set: function set(y) {\n this._y = y;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegCurvetoQuadraticRel.prototype, \"x1\", {\n get: function get() {\n return this._x1;\n },\n set: function set(x1) {\n this._x1 = x1;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegCurvetoQuadraticRel.prototype, \"y1\", {\n get: function get() {\n return this._y1;\n },\n set: function set(y1) {\n this._y1 = y1;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n\n window.SVGPathSegArcAbs = function (owningPathSegList, x, y, r1, r2, angle, largeArcFlag, sweepFlag) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_ARC_ABS, \"A\", owningPathSegList);\n this._x = x;\n this._y = y;\n this._r1 = r1;\n this._r2 = r2;\n this._angle = angle;\n this._largeArcFlag = largeArcFlag;\n this._sweepFlag = sweepFlag;\n };\n\n window.SVGPathSegArcAbs.prototype = Object.create(window.SVGPathSeg.prototype);\n\n window.SVGPathSegArcAbs.prototype.toString = function () {\n return \"[object SVGPathSegArcAbs]\";\n };\n\n window.SVGPathSegArcAbs.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._r1 + \" \" + this._r2 + \" \" + this._angle + \" \" + (this._largeArcFlag ? \"1\" : \"0\") + \" \" + (this._sweepFlag ? \"1\" : \"0\") + \" \" + this._x + \" \" + this._y;\n };\n\n window.SVGPathSegArcAbs.prototype.clone = function () {\n return new window.SVGPathSegArcAbs(undefined, this._x, this._y, this._r1, this._r2, this._angle, this._largeArcFlag, this._sweepFlag);\n };\n\n Object.defineProperty(window.SVGPathSegArcAbs.prototype, \"x\", {\n get: function get() {\n return this._x;\n },\n set: function set(x) {\n this._x = x;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegArcAbs.prototype, \"y\", {\n get: function get() {\n return this._y;\n },\n set: function set(y) {\n this._y = y;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegArcAbs.prototype, \"r1\", {\n get: function get() {\n return this._r1;\n },\n set: function set(r1) {\n this._r1 = r1;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegArcAbs.prototype, \"r2\", {\n get: function get() {\n return this._r2;\n },\n set: function set(r2) {\n this._r2 = r2;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegArcAbs.prototype, \"angle\", {\n get: function get() {\n return this._angle;\n },\n set: function set(angle) {\n this._angle = angle;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegArcAbs.prototype, \"largeArcFlag\", {\n get: function get() {\n return this._largeArcFlag;\n },\n set: function set(largeArcFlag) {\n this._largeArcFlag = largeArcFlag;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegArcAbs.prototype, \"sweepFlag\", {\n get: function get() {\n return this._sweepFlag;\n },\n set: function set(sweepFlag) {\n this._sweepFlag = sweepFlag;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n\n window.SVGPathSegArcRel = function (owningPathSegList, x, y, r1, r2, angle, largeArcFlag, sweepFlag) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_ARC_REL, \"a\", owningPathSegList);\n this._x = x;\n this._y = y;\n this._r1 = r1;\n this._r2 = r2;\n this._angle = angle;\n this._largeArcFlag = largeArcFlag;\n this._sweepFlag = sweepFlag;\n };\n\n window.SVGPathSegArcRel.prototype = Object.create(window.SVGPathSeg.prototype);\n\n window.SVGPathSegArcRel.prototype.toString = function () {\n return \"[object SVGPathSegArcRel]\";\n };\n\n window.SVGPathSegArcRel.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._r1 + \" \" + this._r2 + \" \" + this._angle + \" \" + (this._largeArcFlag ? \"1\" : \"0\") + \" \" + (this._sweepFlag ? \"1\" : \"0\") + \" \" + this._x + \" \" + this._y;\n };\n\n window.SVGPathSegArcRel.prototype.clone = function () {\n return new window.SVGPathSegArcRel(undefined, this._x, this._y, this._r1, this._r2, this._angle, this._largeArcFlag, this._sweepFlag);\n };\n\n Object.defineProperty(window.SVGPathSegArcRel.prototype, \"x\", {\n get: function get() {\n return this._x;\n },\n set: function set(x) {\n this._x = x;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegArcRel.prototype, \"y\", {\n get: function get() {\n return this._y;\n },\n set: function set(y) {\n this._y = y;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegArcRel.prototype, \"r1\", {\n get: function get() {\n return this._r1;\n },\n set: function set(r1) {\n this._r1 = r1;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegArcRel.prototype, \"r2\", {\n get: function get() {\n return this._r2;\n },\n set: function set(r2) {\n this._r2 = r2;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegArcRel.prototype, \"angle\", {\n get: function get() {\n return this._angle;\n },\n set: function set(angle) {\n this._angle = angle;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegArcRel.prototype, \"largeArcFlag\", {\n get: function get() {\n return this._largeArcFlag;\n },\n set: function set(largeArcFlag) {\n this._largeArcFlag = largeArcFlag;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegArcRel.prototype, \"sweepFlag\", {\n get: function get() {\n return this._sweepFlag;\n },\n set: function set(sweepFlag) {\n this._sweepFlag = sweepFlag;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n\n window.SVGPathSegLinetoHorizontalAbs = function (owningPathSegList, x) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_ABS, \"H\", owningPathSegList);\n this._x = x;\n };\n\n window.SVGPathSegLinetoHorizontalAbs.prototype = Object.create(window.SVGPathSeg.prototype);\n\n window.SVGPathSegLinetoHorizontalAbs.prototype.toString = function () {\n return \"[object SVGPathSegLinetoHorizontalAbs]\";\n };\n\n window.SVGPathSegLinetoHorizontalAbs.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._x;\n };\n\n window.SVGPathSegLinetoHorizontalAbs.prototype.clone = function () {\n return new window.SVGPathSegLinetoHorizontalAbs(undefined, this._x);\n };\n\n Object.defineProperty(window.SVGPathSegLinetoHorizontalAbs.prototype, \"x\", {\n get: function get() {\n return this._x;\n },\n set: function set(x) {\n this._x = x;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n\n window.SVGPathSegLinetoHorizontalRel = function (owningPathSegList, x) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_REL, \"h\", owningPathSegList);\n this._x = x;\n };\n\n window.SVGPathSegLinetoHorizontalRel.prototype = Object.create(window.SVGPathSeg.prototype);\n\n window.SVGPathSegLinetoHorizontalRel.prototype.toString = function () {\n return \"[object SVGPathSegLinetoHorizontalRel]\";\n };\n\n window.SVGPathSegLinetoHorizontalRel.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._x;\n };\n\n window.SVGPathSegLinetoHorizontalRel.prototype.clone = function () {\n return new window.SVGPathSegLinetoHorizontalRel(undefined, this._x);\n };\n\n Object.defineProperty(window.SVGPathSegLinetoHorizontalRel.prototype, \"x\", {\n get: function get() {\n return this._x;\n },\n set: function set(x) {\n this._x = x;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n\n window.SVGPathSegLinetoVerticalAbs = function (owningPathSegList, y) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_LINETO_VERTICAL_ABS, \"V\", owningPathSegList);\n this._y = y;\n };\n\n window.SVGPathSegLinetoVerticalAbs.prototype = Object.create(window.SVGPathSeg.prototype);\n\n window.SVGPathSegLinetoVerticalAbs.prototype.toString = function () {\n return \"[object SVGPathSegLinetoVerticalAbs]\";\n };\n\n window.SVGPathSegLinetoVerticalAbs.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._y;\n };\n\n window.SVGPathSegLinetoVerticalAbs.prototype.clone = function () {\n return new window.SVGPathSegLinetoVerticalAbs(undefined, this._y);\n };\n\n Object.defineProperty(window.SVGPathSegLinetoVerticalAbs.prototype, \"y\", {\n get: function get() {\n return this._y;\n },\n set: function set(y) {\n this._y = y;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n\n window.SVGPathSegLinetoVerticalRel = function (owningPathSegList, y) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_LINETO_VERTICAL_REL, \"v\", owningPathSegList);\n this._y = y;\n };\n\n window.SVGPathSegLinetoVerticalRel.prototype = Object.create(window.SVGPathSeg.prototype);\n\n window.SVGPathSegLinetoVerticalRel.prototype.toString = function () {\n return \"[object SVGPathSegLinetoVerticalRel]\";\n };\n\n window.SVGPathSegLinetoVerticalRel.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._y;\n };\n\n window.SVGPathSegLinetoVerticalRel.prototype.clone = function () {\n return new window.SVGPathSegLinetoVerticalRel(undefined, this._y);\n };\n\n Object.defineProperty(window.SVGPathSegLinetoVerticalRel.prototype, \"y\", {\n get: function get() {\n return this._y;\n },\n set: function set(y) {\n this._y = y;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n\n window.SVGPathSegCurvetoCubicSmoothAbs = function (owningPathSegList, x, y, x2, y2) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_ABS, \"S\", owningPathSegList);\n this._x = x;\n this._y = y;\n this._x2 = x2;\n this._y2 = y2;\n };\n\n window.SVGPathSegCurvetoCubicSmoothAbs.prototype = Object.create(window.SVGPathSeg.prototype);\n\n window.SVGPathSegCurvetoCubicSmoothAbs.prototype.toString = function () {\n return \"[object SVGPathSegCurvetoCubicSmoothAbs]\";\n };\n\n window.SVGPathSegCurvetoCubicSmoothAbs.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._x2 + \" \" + this._y2 + \" \" + this._x + \" \" + this._y;\n };\n\n window.SVGPathSegCurvetoCubicSmoothAbs.prototype.clone = function () {\n return new window.SVGPathSegCurvetoCubicSmoothAbs(undefined, this._x, this._y, this._x2, this._y2);\n };\n\n Object.defineProperty(window.SVGPathSegCurvetoCubicSmoothAbs.prototype, \"x\", {\n get: function get() {\n return this._x;\n },\n set: function set(x) {\n this._x = x;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegCurvetoCubicSmoothAbs.prototype, \"y\", {\n get: function get() {\n return this._y;\n },\n set: function set(y) {\n this._y = y;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegCurvetoCubicSmoothAbs.prototype, \"x2\", {\n get: function get() {\n return this._x2;\n },\n set: function set(x2) {\n this._x2 = x2;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegCurvetoCubicSmoothAbs.prototype, \"y2\", {\n get: function get() {\n return this._y2;\n },\n set: function set(y2) {\n this._y2 = y2;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n\n window.SVGPathSegCurvetoCubicSmoothRel = function (owningPathSegList, x, y, x2, y2) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_REL, \"s\", owningPathSegList);\n this._x = x;\n this._y = y;\n this._x2 = x2;\n this._y2 = y2;\n };\n\n window.SVGPathSegCurvetoCubicSmoothRel.prototype = Object.create(window.SVGPathSeg.prototype);\n\n window.SVGPathSegCurvetoCubicSmoothRel.prototype.toString = function () {\n return \"[object SVGPathSegCurvetoCubicSmoothRel]\";\n };\n\n window.SVGPathSegCurvetoCubicSmoothRel.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._x2 + \" \" + this._y2 + \" \" + this._x + \" \" + this._y;\n };\n\n window.SVGPathSegCurvetoCubicSmoothRel.prototype.clone = function () {\n return new window.SVGPathSegCurvetoCubicSmoothRel(undefined, this._x, this._y, this._x2, this._y2);\n };\n\n Object.defineProperty(window.SVGPathSegCurvetoCubicSmoothRel.prototype, \"x\", {\n get: function get() {\n return this._x;\n },\n set: function set(x) {\n this._x = x;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegCurvetoCubicSmoothRel.prototype, \"y\", {\n get: function get() {\n return this._y;\n },\n set: function set(y) {\n this._y = y;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegCurvetoCubicSmoothRel.prototype, \"x2\", {\n get: function get() {\n return this._x2;\n },\n set: function set(x2) {\n this._x2 = x2;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegCurvetoCubicSmoothRel.prototype, \"y2\", {\n get: function get() {\n return this._y2;\n },\n set: function set(y2) {\n this._y2 = y2;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n\n window.SVGPathSegCurvetoQuadraticSmoothAbs = function (owningPathSegList, x, y) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS, \"T\", owningPathSegList);\n this._x = x;\n this._y = y;\n };\n\n window.SVGPathSegCurvetoQuadraticSmoothAbs.prototype = Object.create(window.SVGPathSeg.prototype);\n\n window.SVGPathSegCurvetoQuadraticSmoothAbs.prototype.toString = function () {\n return \"[object SVGPathSegCurvetoQuadraticSmoothAbs]\";\n };\n\n window.SVGPathSegCurvetoQuadraticSmoothAbs.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._x + \" \" + this._y;\n };\n\n window.SVGPathSegCurvetoQuadraticSmoothAbs.prototype.clone = function () {\n return new window.SVGPathSegCurvetoQuadraticSmoothAbs(undefined, this._x, this._y);\n };\n\n Object.defineProperty(window.SVGPathSegCurvetoQuadraticSmoothAbs.prototype, \"x\", {\n get: function get() {\n return this._x;\n },\n set: function set(x) {\n this._x = x;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegCurvetoQuadraticSmoothAbs.prototype, \"y\", {\n get: function get() {\n return this._y;\n },\n set: function set(y) {\n this._y = y;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n\n window.SVGPathSegCurvetoQuadraticSmoothRel = function (owningPathSegList, x, y) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL, \"t\", owningPathSegList);\n this._x = x;\n this._y = y;\n };\n\n window.SVGPathSegCurvetoQuadraticSmoothRel.prototype = Object.create(window.SVGPathSeg.prototype);\n\n window.SVGPathSegCurvetoQuadraticSmoothRel.prototype.toString = function () {\n return \"[object SVGPathSegCurvetoQuadraticSmoothRel]\";\n };\n\n window.SVGPathSegCurvetoQuadraticSmoothRel.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._x + \" \" + this._y;\n };\n\n window.SVGPathSegCurvetoQuadraticSmoothRel.prototype.clone = function () {\n return new window.SVGPathSegCurvetoQuadraticSmoothRel(undefined, this._x, this._y);\n };\n\n Object.defineProperty(window.SVGPathSegCurvetoQuadraticSmoothRel.prototype, \"x\", {\n get: function get() {\n return this._x;\n },\n set: function set(x) {\n this._x = x;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegCurvetoQuadraticSmoothRel.prototype, \"y\", {\n get: function get() {\n return this._y;\n },\n set: function set(y) {\n this._y = y;\n\n this._segmentChanged();\n },\n enumerable: true\n }); // Add createSVGPathSeg* functions to window.SVGPathElement.\n // Spec: http://www.w3.org/TR/SVG11/single-page.html#paths-Interfacewindow.SVGPathElement.\n\n window.SVGPathElement.prototype.createSVGPathSegClosePath = function () {\n return new window.SVGPathSegClosePath(undefined);\n };\n\n window.SVGPathElement.prototype.createSVGPathSegMovetoAbs = function (x, y) {\n return new window.SVGPathSegMovetoAbs(undefined, x, y);\n };\n\n window.SVGPathElement.prototype.createSVGPathSegMovetoRel = function (x, y) {\n return new window.SVGPathSegMovetoRel(undefined, x, y);\n };\n\n window.SVGPathElement.prototype.createSVGPathSegLinetoAbs = function (x, y) {\n return new window.SVGPathSegLinetoAbs(undefined, x, y);\n };\n\n window.SVGPathElement.prototype.createSVGPathSegLinetoRel = function (x, y) {\n return new window.SVGPathSegLinetoRel(undefined, x, y);\n };\n\n window.SVGPathElement.prototype.createSVGPathSegCurvetoCubicAbs = function (x, y, x1, y1, x2, y2) {\n return new window.SVGPathSegCurvetoCubicAbs(undefined, x, y, x1, y1, x2, y2);\n };\n\n window.SVGPathElement.prototype.createSVGPathSegCurvetoCubicRel = function (x, y, x1, y1, x2, y2) {\n return new window.SVGPathSegCurvetoCubicRel(undefined, x, y, x1, y1, x2, y2);\n };\n\n window.SVGPathElement.prototype.createSVGPathSegCurvetoQuadraticAbs = function (x, y, x1, y1) {\n return new window.SVGPathSegCurvetoQuadraticAbs(undefined, x, y, x1, y1);\n };\n\n window.SVGPathElement.prototype.createSVGPathSegCurvetoQuadraticRel = function (x, y, x1, y1) {\n return new window.SVGPathSegCurvetoQuadraticRel(undefined, x, y, x1, y1);\n };\n\n window.SVGPathElement.prototype.createSVGPathSegArcAbs = function (x, y, r1, r2, angle, largeArcFlag, sweepFlag) {\n return new window.SVGPathSegArcAbs(undefined, x, y, r1, r2, angle, largeArcFlag, sweepFlag);\n };\n\n window.SVGPathElement.prototype.createSVGPathSegArcRel = function (x, y, r1, r2, angle, largeArcFlag, sweepFlag) {\n return new window.SVGPathSegArcRel(undefined, x, y, r1, r2, angle, largeArcFlag, sweepFlag);\n };\n\n window.SVGPathElement.prototype.createSVGPathSegLinetoHorizontalAbs = function (x) {\n return new window.SVGPathSegLinetoHorizontalAbs(undefined, x);\n };\n\n window.SVGPathElement.prototype.createSVGPathSegLinetoHorizontalRel = function (x) {\n return new window.SVGPathSegLinetoHorizontalRel(undefined, x);\n };\n\n window.SVGPathElement.prototype.createSVGPathSegLinetoVerticalAbs = function (y) {\n return new window.SVGPathSegLinetoVerticalAbs(undefined, y);\n };\n\n window.SVGPathElement.prototype.createSVGPathSegLinetoVerticalRel = function (y) {\n return new window.SVGPathSegLinetoVerticalRel(undefined, y);\n };\n\n window.SVGPathElement.prototype.createSVGPathSegCurvetoCubicSmoothAbs = function (x, y, x2, y2) {\n return new window.SVGPathSegCurvetoCubicSmoothAbs(undefined, x, y, x2, y2);\n };\n\n window.SVGPathElement.prototype.createSVGPathSegCurvetoCubicSmoothRel = function (x, y, x2, y2) {\n return new window.SVGPathSegCurvetoCubicSmoothRel(undefined, x, y, x2, y2);\n };\n\n window.SVGPathElement.prototype.createSVGPathSegCurvetoQuadraticSmoothAbs = function (x, y) {\n return new window.SVGPathSegCurvetoQuadraticSmoothAbs(undefined, x, y);\n };\n\n window.SVGPathElement.prototype.createSVGPathSegCurvetoQuadraticSmoothRel = function (x, y) {\n return new window.SVGPathSegCurvetoQuadraticSmoothRel(undefined, x, y);\n };\n\n if (!(\"getPathSegAtLength\" in window.SVGPathElement.prototype)) {\n // Add getPathSegAtLength to SVGPathElement.\n // Spec: https://www.w3.org/TR/SVG11/single-page.html#paths-__svg__SVGPathElement__getPathSegAtLength\n // This polyfill requires SVGPathElement.getTotalLength to implement the distance-along-a-path algorithm.\n window.SVGPathElement.prototype.getPathSegAtLength = function (distance) {\n if (distance === undefined || !isFinite(distance)) throw \"Invalid arguments.\";\n var measurementElement = document.createElementNS(\"http://www.w3.org/2000/svg\", \"path\");\n measurementElement.setAttribute(\"d\", this.getAttribute(\"d\"));\n var lastPathSegment = measurementElement.pathSegList.numberOfItems - 1; // If the path is empty, return 0.\n\n if (lastPathSegment <= 0) return 0;\n\n do {\n measurementElement.pathSegList.removeItem(lastPathSegment);\n if (distance > measurementElement.getTotalLength()) break;\n lastPathSegment--;\n } while (lastPathSegment > 0);\n\n return lastPathSegment;\n };\n }\n }\n\n if (!(\"SVGPathSegList\" in window)) {\n // Spec: http://www.w3.org/TR/SVG11/single-page.html#paths-InterfaceSVGPathSegList\n window.SVGPathSegList = function (pathElement) {\n this._pathElement = pathElement;\n this._list = this._parsePath(this._pathElement.getAttribute(\"d\")); // Use a MutationObserver to catch changes to the path's \"d\" attribute.\n\n this._mutationObserverConfig = {\n \"attributes\": true,\n \"attributeFilter\": [\"d\"]\n };\n this._pathElementMutationObserver = new MutationObserver(this._updateListFromPathMutations.bind(this));\n\n this._pathElementMutationObserver.observe(this._pathElement, this._mutationObserverConfig);\n };\n\n window.SVGPathSegList.prototype.classname = \"SVGPathSegList\";\n Object.defineProperty(window.SVGPathSegList.prototype, \"numberOfItems\", {\n get: function get() {\n this._checkPathSynchronizedToList();\n\n return this._list.length;\n },\n enumerable: true\n }); // Add the pathSegList accessors to window.SVGPathElement.\n // Spec: http://www.w3.org/TR/SVG11/single-page.html#paths-InterfaceSVGAnimatedPathData\n\n Object.defineProperty(window.SVGPathElement.prototype, \"pathSegList\", {\n get: function get() {\n if (!this._pathSegList) this._pathSegList = new window.SVGPathSegList(this);\n return this._pathSegList;\n },\n enumerable: true\n }); // FIXME: The following are not implemented and simply return window.SVGPathElement.pathSegList.\n\n Object.defineProperty(window.SVGPathElement.prototype, \"normalizedPathSegList\", {\n get: function get() {\n return this.pathSegList;\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathElement.prototype, \"animatedPathSegList\", {\n get: function get() {\n return this.pathSegList;\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathElement.prototype, \"animatedNormalizedPathSegList\", {\n get: function get() {\n return this.pathSegList;\n },\n enumerable: true\n }); // Process any pending mutations to the path element and update the list as needed.\n // This should be the first call of all public functions and is needed because\n // MutationObservers are not synchronous so we can have pending asynchronous mutations.\n\n window.SVGPathSegList.prototype._checkPathSynchronizedToList = function () {\n this._updateListFromPathMutations(this._pathElementMutationObserver.takeRecords());\n };\n\n window.SVGPathSegList.prototype._updateListFromPathMutations = function (mutationRecords) {\n if (!this._pathElement) return;\n var hasPathMutations = false;\n mutationRecords.forEach(function (record) {\n if (record.attributeName == \"d\") hasPathMutations = true;\n });\n if (hasPathMutations) this._list = this._parsePath(this._pathElement.getAttribute(\"d\"));\n }; // Serialize the list and update the path's 'd' attribute.\n\n\n window.SVGPathSegList.prototype._writeListToPath = function () {\n this._pathElementMutationObserver.disconnect();\n\n this._pathElement.setAttribute(\"d\", window.SVGPathSegList._pathSegArrayAsString(this._list));\n\n this._pathElementMutationObserver.observe(this._pathElement, this._mutationObserverConfig);\n }; // When a path segment changes the list needs to be synchronized back to the path element.\n\n\n window.SVGPathSegList.prototype.segmentChanged = function (pathSeg) {\n this._writeListToPath();\n };\n\n window.SVGPathSegList.prototype.clear = function () {\n this._checkPathSynchronizedToList();\n\n this._list.forEach(function (pathSeg) {\n pathSeg._owningPathSegList = null;\n });\n\n this._list = [];\n\n this._writeListToPath();\n };\n\n window.SVGPathSegList.prototype.initialize = function (newItem) {\n this._checkPathSynchronizedToList();\n\n this._list = [newItem];\n newItem._owningPathSegList = this;\n\n this._writeListToPath();\n\n return newItem;\n };\n\n window.SVGPathSegList.prototype._checkValidIndex = function (index) {\n if (isNaN(index) || index < 0 || index >= this.numberOfItems) throw \"INDEX_SIZE_ERR\";\n };\n\n window.SVGPathSegList.prototype.getItem = function (index) {\n this._checkPathSynchronizedToList();\n\n this._checkValidIndex(index);\n\n return this._list[index];\n };\n\n window.SVGPathSegList.prototype.insertItemBefore = function (newItem, index) {\n this._checkPathSynchronizedToList(); // Spec: If the index is greater than or equal to numberOfItems, then the new item is appended to the end of the list.\n\n\n if (index > this.numberOfItems) index = this.numberOfItems;\n\n if (newItem._owningPathSegList) {\n // SVG2 spec says to make a copy.\n newItem = newItem.clone();\n }\n\n this._list.splice(index, 0, newItem);\n\n newItem._owningPathSegList = this;\n\n this._writeListToPath();\n\n return newItem;\n };\n\n window.SVGPathSegList.prototype.replaceItem = function (newItem, index) {\n this._checkPathSynchronizedToList();\n\n if (newItem._owningPathSegList) {\n // SVG2 spec says to make a copy.\n newItem = newItem.clone();\n }\n\n this._checkValidIndex(index);\n\n this._list[index] = newItem;\n newItem._owningPathSegList = this;\n\n this._writeListToPath();\n\n return newItem;\n };\n\n window.SVGPathSegList.prototype.removeItem = function (index) {\n this._checkPathSynchronizedToList();\n\n this._checkValidIndex(index);\n\n var item = this._list[index];\n\n this._list.splice(index, 1);\n\n this._writeListToPath();\n\n return item;\n };\n\n window.SVGPathSegList.prototype.appendItem = function (newItem) {\n this._checkPathSynchronizedToList();\n\n if (newItem._owningPathSegList) {\n // SVG2 spec says to make a copy.\n newItem = newItem.clone();\n }\n\n this._list.push(newItem);\n\n newItem._owningPathSegList = this; // TODO: Optimize this to just append to the existing attribute.\n\n this._writeListToPath();\n\n return newItem;\n };\n\n window.SVGPathSegList._pathSegArrayAsString = function (pathSegArray) {\n var string = \"\";\n var first = true;\n pathSegArray.forEach(function (pathSeg) {\n if (first) {\n first = false;\n string += pathSeg._asPathString();\n } else {\n string += \" \" + pathSeg._asPathString();\n }\n });\n return string;\n }; // This closely follows SVGPathParser::parsePath from Source/core/svg/SVGPathParser.cpp.\n\n\n window.SVGPathSegList.prototype._parsePath = function (string) {\n if (!string || string.length == 0) return [];\n var owningPathSegList = this;\n\n var Builder = function Builder() {\n this.pathSegList = [];\n };\n\n Builder.prototype.appendSegment = function (pathSeg) {\n this.pathSegList.push(pathSeg);\n };\n\n var Source = function Source(string) {\n this._string = string;\n this._currentIndex = 0;\n this._endIndex = this._string.length;\n this._previousCommand = window.SVGPathSeg.PATHSEG_UNKNOWN;\n\n this._skipOptionalSpaces();\n };\n\n Source.prototype._isCurrentSpace = function () {\n var character = this._string[this._currentIndex];\n return character <= \" \" && (character == \" \" || character == \"\\n\" || character == \"\\t\" || character == \"\\r\" || character == \"\\f\");\n };\n\n Source.prototype._skipOptionalSpaces = function () {\n while (this._currentIndex < this._endIndex && this._isCurrentSpace()) {\n this._currentIndex++;\n }\n\n return this._currentIndex < this._endIndex;\n };\n\n Source.prototype._skipOptionalSpacesOrDelimiter = function () {\n if (this._currentIndex < this._endIndex && !this._isCurrentSpace() && this._string.charAt(this._currentIndex) != \",\") return false;\n\n if (this._skipOptionalSpaces()) {\n if (this._currentIndex < this._endIndex && this._string.charAt(this._currentIndex) == \",\") {\n this._currentIndex++;\n\n this._skipOptionalSpaces();\n }\n }\n\n return this._currentIndex < this._endIndex;\n };\n\n Source.prototype.hasMoreData = function () {\n return this._currentIndex < this._endIndex;\n };\n\n Source.prototype.peekSegmentType = function () {\n var lookahead = this._string[this._currentIndex];\n return this._pathSegTypeFromChar(lookahead);\n };\n\n Source.prototype._pathSegTypeFromChar = function (lookahead) {\n switch (lookahead) {\n case \"Z\":\n case \"z\":\n return window.SVGPathSeg.PATHSEG_CLOSEPATH;\n\n case \"M\":\n return window.SVGPathSeg.PATHSEG_MOVETO_ABS;\n\n case \"m\":\n return window.SVGPathSeg.PATHSEG_MOVETO_REL;\n\n case \"L\":\n return window.SVGPathSeg.PATHSEG_LINETO_ABS;\n\n case \"l\":\n return window.SVGPathSeg.PATHSEG_LINETO_REL;\n\n case \"C\":\n return window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_ABS;\n\n case \"c\":\n return window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_REL;\n\n case \"Q\":\n return window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_ABS;\n\n case \"q\":\n return window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_REL;\n\n case \"A\":\n return window.SVGPathSeg.PATHSEG_ARC_ABS;\n\n case \"a\":\n return window.SVGPathSeg.PATHSEG_ARC_REL;\n\n case \"H\":\n return window.SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_ABS;\n\n case \"h\":\n return window.SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_REL;\n\n case \"V\":\n return window.SVGPathSeg.PATHSEG_LINETO_VERTICAL_ABS;\n\n case \"v\":\n return window.SVGPathSeg.PATHSEG_LINETO_VERTICAL_REL;\n\n case \"S\":\n return window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_ABS;\n\n case \"s\":\n return window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_REL;\n\n case \"T\":\n return window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS;\n\n case \"t\":\n return window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL;\n\n default:\n return window.SVGPathSeg.PATHSEG_UNKNOWN;\n }\n };\n\n Source.prototype._nextCommandHelper = function (lookahead, previousCommand) {\n // Check for remaining coordinates in the current command.\n if ((lookahead == \"+\" || lookahead == \"-\" || lookahead == \".\" || lookahead >= \"0\" && lookahead <= \"9\") && previousCommand != window.SVGPathSeg.PATHSEG_CLOSEPATH) {\n if (previousCommand == window.SVGPathSeg.PATHSEG_MOVETO_ABS) return window.SVGPathSeg.PATHSEG_LINETO_ABS;\n if (previousCommand == window.SVGPathSeg.PATHSEG_MOVETO_REL) return window.SVGPathSeg.PATHSEG_LINETO_REL;\n return previousCommand;\n }\n\n return window.SVGPathSeg.PATHSEG_UNKNOWN;\n };\n\n Source.prototype.initialCommandIsMoveTo = function () {\n // If the path is empty it is still valid, so return true.\n if (!this.hasMoreData()) return true;\n var command = this.peekSegmentType(); // Path must start with moveTo.\n\n return command == window.SVGPathSeg.PATHSEG_MOVETO_ABS || command == window.SVGPathSeg.PATHSEG_MOVETO_REL;\n }; // Parse a number from an SVG path. This very closely follows genericParseNumber(...) from Source/core/svg/SVGParserUtilities.cpp.\n // Spec: http://www.w3.org/TR/SVG11/single-page.html#paths-PathDataBNF\n\n\n Source.prototype._parseNumber = function () {\n var exponent = 0;\n var integer = 0;\n var frac = 1;\n var decimal = 0;\n var sign = 1;\n var expsign = 1;\n var startIndex = this._currentIndex;\n\n this._skipOptionalSpaces(); // Read the sign.\n\n\n if (this._currentIndex < this._endIndex && this._string.charAt(this._currentIndex) == \"+\") this._currentIndex++;else if (this._currentIndex < this._endIndex && this._string.charAt(this._currentIndex) == \"-\") {\n this._currentIndex++;\n sign = -1;\n }\n if (this._currentIndex == this._endIndex || (this._string.charAt(this._currentIndex) < \"0\" || this._string.charAt(this._currentIndex) > \"9\") && this._string.charAt(this._currentIndex) != \".\") // The first character of a number must be one of [0-9+-.].\n return undefined; // Read the integer part, build right-to-left.\n\n var startIntPartIndex = this._currentIndex;\n\n while (this._currentIndex < this._endIndex && this._string.charAt(this._currentIndex) >= \"0\" && this._string.charAt(this._currentIndex) <= \"9\") {\n this._currentIndex++;\n } // Advance to first non-digit.\n\n\n if (this._currentIndex != startIntPartIndex) {\n var scanIntPartIndex = this._currentIndex - 1;\n var multiplier = 1;\n\n while (scanIntPartIndex >= startIntPartIndex) {\n integer += multiplier * (this._string.charAt(scanIntPartIndex--) - \"0\");\n multiplier *= 10;\n }\n } // Read the decimals.\n\n\n if (this._currentIndex < this._endIndex && this._string.charAt(this._currentIndex) == \".\") {\n this._currentIndex++; // There must be a least one digit following the .\n\n if (this._currentIndex >= this._endIndex || this._string.charAt(this._currentIndex) < \"0\" || this._string.charAt(this._currentIndex) > \"9\") return undefined;\n\n while (this._currentIndex < this._endIndex && this._string.charAt(this._currentIndex) >= \"0\" && this._string.charAt(this._currentIndex) <= \"9\") {\n frac *= 10;\n decimal += (this._string.charAt(this._currentIndex) - \"0\") / frac;\n this._currentIndex += 1;\n }\n } // Read the exponent part.\n\n\n if (this._currentIndex != startIndex && this._currentIndex + 1 < this._endIndex && (this._string.charAt(this._currentIndex) == \"e\" || this._string.charAt(this._currentIndex) == \"E\") && this._string.charAt(this._currentIndex + 1) != \"x\" && this._string.charAt(this._currentIndex + 1) != \"m\") {\n this._currentIndex++; // Read the sign of the exponent.\n\n if (this._string.charAt(this._currentIndex) == \"+\") {\n this._currentIndex++;\n } else if (this._string.charAt(this._currentIndex) == \"-\") {\n this._currentIndex++;\n expsign = -1;\n } // There must be an exponent.\n\n\n if (this._currentIndex >= this._endIndex || this._string.charAt(this._currentIndex) < \"0\" || this._string.charAt(this._currentIndex) > \"9\") return undefined;\n\n while (this._currentIndex < this._endIndex && this._string.charAt(this._currentIndex) >= \"0\" && this._string.charAt(this._currentIndex) <= \"9\") {\n exponent *= 10;\n exponent += this._string.charAt(this._currentIndex) - \"0\";\n this._currentIndex++;\n }\n }\n\n var number = integer + decimal;\n number *= sign;\n if (exponent) number *= Math.pow(10, expsign * exponent);\n if (startIndex == this._currentIndex) return undefined;\n\n this._skipOptionalSpacesOrDelimiter();\n\n return number;\n };\n\n Source.prototype._parseArcFlag = function () {\n if (this._currentIndex >= this._endIndex) return undefined;\n var flag = false;\n\n var flagChar = this._string.charAt(this._currentIndex++);\n\n if (flagChar == \"0\") flag = false;else if (flagChar == \"1\") flag = true;else return undefined;\n\n this._skipOptionalSpacesOrDelimiter();\n\n return flag;\n };\n\n Source.prototype.parseSegment = function () {\n var lookahead = this._string[this._currentIndex];\n\n var command = this._pathSegTypeFromChar(lookahead);\n\n if (command == window.SVGPathSeg.PATHSEG_UNKNOWN) {\n // Possibly an implicit command. Not allowed if this is the first command.\n if (this._previousCommand == window.SVGPathSeg.PATHSEG_UNKNOWN) return null;\n command = this._nextCommandHelper(lookahead, this._previousCommand);\n if (command == window.SVGPathSeg.PATHSEG_UNKNOWN) return null;\n } else {\n this._currentIndex++;\n }\n\n this._previousCommand = command;\n\n switch (command) {\n case window.SVGPathSeg.PATHSEG_MOVETO_REL:\n return new window.SVGPathSegMovetoRel(owningPathSegList, this._parseNumber(), this._parseNumber());\n\n case window.SVGPathSeg.PATHSEG_MOVETO_ABS:\n return new window.SVGPathSegMovetoAbs(owningPathSegList, this._parseNumber(), this._parseNumber());\n\n case window.SVGPathSeg.PATHSEG_LINETO_REL:\n return new window.SVGPathSegLinetoRel(owningPathSegList, this._parseNumber(), this._parseNumber());\n\n case window.SVGPathSeg.PATHSEG_LINETO_ABS:\n return new window.SVGPathSegLinetoAbs(owningPathSegList, this._parseNumber(), this._parseNumber());\n\n case window.SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_REL:\n return new window.SVGPathSegLinetoHorizontalRel(owningPathSegList, this._parseNumber());\n\n case window.SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_ABS:\n return new window.SVGPathSegLinetoHorizontalAbs(owningPathSegList, this._parseNumber());\n\n case window.SVGPathSeg.PATHSEG_LINETO_VERTICAL_REL:\n return new window.SVGPathSegLinetoVerticalRel(owningPathSegList, this._parseNumber());\n\n case window.SVGPathSeg.PATHSEG_LINETO_VERTICAL_ABS:\n return new window.SVGPathSegLinetoVerticalAbs(owningPathSegList, this._parseNumber());\n\n case window.SVGPathSeg.PATHSEG_CLOSEPATH:\n this._skipOptionalSpaces();\n\n return new window.SVGPathSegClosePath(owningPathSegList);\n\n case window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_REL:\n var points = {\n x1: this._parseNumber(),\n y1: this._parseNumber(),\n x2: this._parseNumber(),\n y2: this._parseNumber(),\n x: this._parseNumber(),\n y: this._parseNumber()\n };\n return new window.SVGPathSegCurvetoCubicRel(owningPathSegList, points.x, points.y, points.x1, points.y1, points.x2, points.y2);\n\n case window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_ABS:\n var points = {\n x1: this._parseNumber(),\n y1: this._parseNumber(),\n x2: this._parseNumber(),\n y2: this._parseNumber(),\n x: this._parseNumber(),\n y: this._parseNumber()\n };\n return new window.SVGPathSegCurvetoCubicAbs(owningPathSegList, points.x, points.y, points.x1, points.y1, points.x2, points.y2);\n\n case window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_REL:\n var points = {\n x2: this._parseNumber(),\n y2: this._parseNumber(),\n x: this._parseNumber(),\n y: this._parseNumber()\n };\n return new window.SVGPathSegCurvetoCubicSmoothRel(owningPathSegList, points.x, points.y, points.x2, points.y2);\n\n case window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_ABS:\n var points = {\n x2: this._parseNumber(),\n y2: this._parseNumber(),\n x: this._parseNumber(),\n y: this._parseNumber()\n };\n return new window.SVGPathSegCurvetoCubicSmoothAbs(owningPathSegList, points.x, points.y, points.x2, points.y2);\n\n case window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_REL:\n var points = {\n x1: this._parseNumber(),\n y1: this._parseNumber(),\n x: this._parseNumber(),\n y: this._parseNumber()\n };\n return new window.SVGPathSegCurvetoQuadraticRel(owningPathSegList, points.x, points.y, points.x1, points.y1);\n\n case window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_ABS:\n var points = {\n x1: this._parseNumber(),\n y1: this._parseNumber(),\n x: this._parseNumber(),\n y: this._parseNumber()\n };\n return new window.SVGPathSegCurvetoQuadraticAbs(owningPathSegList, points.x, points.y, points.x1, points.y1);\n\n case window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL:\n return new window.SVGPathSegCurvetoQuadraticSmoothRel(owningPathSegList, this._parseNumber(), this._parseNumber());\n\n case window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS:\n return new window.SVGPathSegCurvetoQuadraticSmoothAbs(owningPathSegList, this._parseNumber(), this._parseNumber());\n\n case window.SVGPathSeg.PATHSEG_ARC_REL:\n var points = {\n x1: this._parseNumber(),\n y1: this._parseNumber(),\n arcAngle: this._parseNumber(),\n arcLarge: this._parseArcFlag(),\n arcSweep: this._parseArcFlag(),\n x: this._parseNumber(),\n y: this._parseNumber()\n };\n return new window.SVGPathSegArcRel(owningPathSegList, points.x, points.y, points.x1, points.y1, points.arcAngle, points.arcLarge, points.arcSweep);\n\n case window.SVGPathSeg.PATHSEG_ARC_ABS:\n var points = {\n x1: this._parseNumber(),\n y1: this._parseNumber(),\n arcAngle: this._parseNumber(),\n arcLarge: this._parseArcFlag(),\n arcSweep: this._parseArcFlag(),\n x: this._parseNumber(),\n y: this._parseNumber()\n };\n return new window.SVGPathSegArcAbs(owningPathSegList, points.x, points.y, points.x1, points.y1, points.arcAngle, points.arcLarge, points.arcSweep);\n\n default:\n throw \"Unknown path seg type.\";\n }\n };\n\n var builder = new Builder();\n var source = new Source(string);\n if (!source.initialCommandIsMoveTo()) return [];\n\n while (source.hasMoreData()) {\n var pathSeg = source.parseSegment();\n if (!pathSeg) return [];\n builder.appendSegment(pathSeg);\n }\n\n return builder.pathSegList;\n };\n }\n })(); // String.padEnd polyfill for IE11\n //\n // https://github.com/uxitten/polyfill/blob/master/string.polyfill.js\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/padEnd\n\n\n if (!String.prototype.padEnd) {\n String.prototype.padEnd = function padEnd(targetLength, padString) {\n targetLength = targetLength >> 0; //floor if number or convert non-number to 0;\n\n padString = String(typeof padString !== 'undefined' ? padString : ' ');\n\n if (this.length > targetLength) {\n return String(this);\n } else {\n targetLength = targetLength - this.length;\n\n if (targetLength > padString.length) {\n padString += padString.repeat(targetLength / padString.length); //append to original to ensure we are longer than needed\n }\n\n return String(this) + padString.slice(0, targetLength);\n }\n };\n }\n /* jshint ignore:end */\n\n Chart.prototype.axis = function () {};\n\n Chart.prototype.axis.labels = function (labels) {\n var $$ = this.internal;\n\n if (arguments.length) {\n Object.keys(labels).forEach(function (axisId) {\n $$.axis.setLabelText(axisId, labels[axisId]);\n });\n $$.axis.updateLabels();\n } // TODO: return some values?\n\n };\n\n Chart.prototype.axis.max = function (max) {\n var $$ = this.internal,\n config = $$.config;\n\n if (arguments.length) {\n if (_typeof(max) === 'object') {\n if (isValue(max.x)) {\n config.axis_x_max = max.x;\n }\n\n if (isValue(max.y)) {\n config.axis_y_max = max.y;\n }\n\n if (isValue(max.y2)) {\n config.axis_y2_max = max.y2;\n }\n } else {\n config.axis_y_max = config.axis_y2_max = max;\n }\n\n $$.redraw({\n withUpdateOrgXDomain: true,\n withUpdateXDomain: true\n });\n } else {\n return {\n x: config.axis_x_max,\n y: config.axis_y_max,\n y2: config.axis_y2_max\n };\n }\n };\n\n Chart.prototype.axis.min = function (min) {\n var $$ = this.internal,\n config = $$.config;\n\n if (arguments.length) {\n if (_typeof(min) === 'object') {\n if (isValue(min.x)) {\n config.axis_x_min = min.x;\n }\n\n if (isValue(min.y)) {\n config.axis_y_min = min.y;\n }\n\n if (isValue(min.y2)) {\n config.axis_y2_min = min.y2;\n }\n } else {\n config.axis_y_min = config.axis_y2_min = min;\n }\n\n $$.redraw({\n withUpdateOrgXDomain: true,\n withUpdateXDomain: true\n });\n } else {\n return {\n x: config.axis_x_min,\n y: config.axis_y_min,\n y2: config.axis_y2_min\n };\n }\n };\n\n Chart.prototype.axis.range = function (range) {\n if (arguments.length) {\n if (isDefined(range.max)) {\n this.axis.max(range.max);\n }\n\n if (isDefined(range.min)) {\n this.axis.min(range.min);\n }\n } else {\n return {\n max: this.axis.max(),\n min: this.axis.min()\n };\n }\n };\n\n Chart.prototype.category = function (i, category) {\n var $$ = this.internal,\n config = $$.config;\n\n if (arguments.length > 1) {\n config.axis_x_categories[i] = category;\n $$.redraw();\n }\n\n return config.axis_x_categories[i];\n };\n\n Chart.prototype.categories = function (categories) {\n var $$ = this.internal,\n config = $$.config;\n\n if (!arguments.length) {\n return config.axis_x_categories;\n }\n\n config.axis_x_categories = categories;\n $$.redraw();\n return config.axis_x_categories;\n };\n\n Chart.prototype.resize = function (size) {\n var $$ = this.internal,\n config = $$.config;\n config.size_width = size ? size.width : null;\n config.size_height = size ? size.height : null;\n this.flush();\n };\n\n Chart.prototype.flush = function () {\n var $$ = this.internal;\n $$.updateAndRedraw({\n withLegend: true,\n withTransition: false,\n withTransitionForTransform: false\n });\n };\n\n Chart.prototype.destroy = function () {\n var $$ = this.internal;\n window.clearInterval($$.intervalForObserveInserted);\n\n if ($$.resizeTimeout !== undefined) {\n window.clearTimeout($$.resizeTimeout);\n }\n\n if (window.detachEvent) {\n window.detachEvent('onresize', $$.resizeIfElementDisplayed);\n } else if (window.removeEventListener) {\n window.removeEventListener('resize', $$.resizeIfElementDisplayed);\n } else {\n var wrapper = window.onresize; // check if no one else removed our wrapper and remove our resizeFunction from it\n\n if (wrapper && wrapper.add && wrapper.remove) {\n wrapper.remove($$.resizeFunction);\n }\n } // Removes the inner resize functions\n\n\n $$.resizeFunction.remove(); // Unbinds from the window focus event\n\n $$.unbindWindowFocus();\n $$.selectChart.classed('c3', false).html(\"\"); // MEMO: this is needed because the reference of some elements will not be released, then memory leak will happen.\n\n Object.keys($$).forEach(function (key) {\n $$[key] = null;\n });\n return null;\n };\n\n Chart.prototype.color = function (id) {\n var $$ = this.internal;\n return $$.color(id); // more patterns\n };\n\n Chart.prototype.data = function (targetIds) {\n var targets = this.internal.data.targets;\n return typeof targetIds === 'undefined' ? targets : targets.filter(function (t) {\n return [].concat(targetIds).indexOf(t.id) >= 0;\n });\n };\n\n Chart.prototype.data.shown = function (targetIds) {\n return this.internal.filterTargetsToShow(this.data(targetIds));\n };\n\n Chart.prototype.data.values = function (targetId) {\n var targets,\n values = null;\n\n if (targetId) {\n targets = this.data(targetId);\n values = targets[0] ? targets[0].values.map(function (d) {\n return d.value;\n }) : null;\n }\n\n return values;\n };\n\n Chart.prototype.data.names = function (names) {\n this.internal.clearLegendItemTextBoxCache();\n return this.internal.updateDataAttributes('names', names);\n };\n\n Chart.prototype.data.colors = function (colors) {\n return this.internal.updateDataAttributes('colors', colors);\n };\n\n Chart.prototype.data.axes = function (axes) {\n return this.internal.updateDataAttributes('axes', axes);\n };\n\n Chart.prototype.flow = function (args) {\n var $$ = this.internal,\n targets,\n data,\n notfoundIds = [],\n orgDataCount = $$.getMaxDataCount(),\n dataCount,\n domain,\n baseTarget,\n baseValue,\n length = 0,\n tail = 0,\n diff,\n to;\n\n if (args.json) {\n data = $$.convertJsonToData(args.json, args.keys);\n } else if (args.rows) {\n data = $$.convertRowsToData(args.rows);\n } else if (args.columns) {\n data = $$.convertColumnsToData(args.columns);\n } else {\n return;\n }\n\n targets = $$.convertDataToTargets(data, true); // Update/Add data\n\n $$.data.targets.forEach(function (t) {\n var found = false,\n i,\n j;\n\n for (i = 0; i < targets.length; i++) {\n if (t.id === targets[i].id) {\n found = true;\n\n if (t.values[t.values.length - 1]) {\n tail = t.values[t.values.length - 1].index + 1;\n }\n\n length = targets[i].values.length;\n\n for (j = 0; j < length; j++) {\n targets[i].values[j].index = tail + j;\n\n if (!$$.isTimeSeries()) {\n targets[i].values[j].x = tail + j;\n }\n }\n\n t.values = t.values.concat(targets[i].values);\n targets.splice(i, 1);\n break;\n }\n }\n\n if (!found) {\n notfoundIds.push(t.id);\n }\n }); // Append null for not found targets\n\n $$.data.targets.forEach(function (t) {\n var i, j;\n\n for (i = 0; i < notfoundIds.length; i++) {\n if (t.id === notfoundIds[i]) {\n tail = t.values[t.values.length - 1].index + 1;\n\n for (j = 0; j < length; j++) {\n t.values.push({\n id: t.id,\n index: tail + j,\n x: $$.isTimeSeries() ? $$.getOtherTargetX(tail + j) : tail + j,\n value: null\n });\n }\n }\n }\n }); // Generate null values for new target\n\n if ($$.data.targets.length) {\n targets.forEach(function (t) {\n var i,\n missing = [];\n\n for (i = $$.data.targets[0].values[0].index; i < tail; i++) {\n missing.push({\n id: t.id,\n index: i,\n x: $$.isTimeSeries() ? $$.getOtherTargetX(i) : i,\n value: null\n });\n }\n\n t.values.forEach(function (v) {\n v.index += tail;\n\n if (!$$.isTimeSeries()) {\n v.x += tail;\n }\n });\n t.values = missing.concat(t.values);\n });\n }\n\n $$.data.targets = $$.data.targets.concat(targets); // add remained\n // check data count because behavior needs to change when it's only one\n\n dataCount = $$.getMaxDataCount();\n baseTarget = $$.data.targets[0];\n baseValue = baseTarget.values[0]; // Update length to flow if needed\n\n if (isDefined(args.to)) {\n length = 0;\n to = $$.isTimeSeries() ? $$.parseDate(args.to) : args.to;\n baseTarget.values.forEach(function (v) {\n if (v.x < to) {\n length++;\n }\n });\n } else if (isDefined(args.length)) {\n length = args.length;\n } // If only one data, update the domain to flow from left edge of the chart\n\n\n if (!orgDataCount) {\n if ($$.isTimeSeries()) {\n if (baseTarget.values.length > 1) {\n diff = baseTarget.values[baseTarget.values.length - 1].x - baseValue.x;\n } else {\n diff = baseValue.x - $$.getXDomain($$.data.targets)[0];\n }\n } else {\n diff = 1;\n }\n\n domain = [baseValue.x - diff, baseValue.x];\n $$.updateXDomain(null, true, true, false, domain);\n } else if (orgDataCount === 1) {\n if ($$.isTimeSeries()) {\n diff = (baseTarget.values[baseTarget.values.length - 1].x - baseValue.x) / 2;\n domain = [new Date(+baseValue.x - diff), new Date(+baseValue.x + diff)];\n $$.updateXDomain(null, true, true, false, domain);\n }\n } // Set targets\n\n\n $$.updateTargets($$.data.targets); // Redraw with new targets\n\n $$.redraw({\n flow: {\n index: baseValue.index,\n length: length,\n duration: isValue(args.duration) ? args.duration : $$.config.transition_duration,\n done: args.done,\n orgDataCount: orgDataCount\n },\n withLegend: true,\n withTransition: orgDataCount > 1,\n withTrimXDomain: false,\n withUpdateXAxis: true\n });\n };\n\n ChartInternal.prototype.generateFlow = function (args) {\n var $$ = this,\n config = $$.config,\n d3 = $$.d3;\n return function () {\n var targets = args.targets,\n flow = args.flow,\n drawBar = args.drawBar,\n drawLine = args.drawLine,\n drawArea = args.drawArea,\n cx = args.cx,\n cy = args.cy,\n xv = args.xv,\n xForText = args.xForText,\n yForText = args.yForText,\n duration = args.duration;\n\n var translateX,\n scaleX = 1,\n transform,\n flowIndex = flow.index,\n flowLength = flow.length,\n flowStart = $$.getValueOnIndex($$.data.targets[0].values, flowIndex),\n flowEnd = $$.getValueOnIndex($$.data.targets[0].values, flowIndex + flowLength),\n orgDomain = $$.x.domain(),\n domain,\n durationForFlow = flow.duration || duration,\n done = flow.done || function () {},\n wait = $$.generateWait();\n\n var xgrid, xgridLines, mainRegion, mainText, mainBar, mainLine, mainArea, mainCircle; // set flag\n\n $$.flowing = true; // remove head data after rendered\n\n $$.data.targets.forEach(function (d) {\n d.values.splice(0, flowLength);\n }); // update x domain to generate axis elements for flow\n\n domain = $$.updateXDomain(targets, true, true); // update elements related to x scale\n\n if ($$.updateXGrid) {\n $$.updateXGrid(true);\n }\n\n xgrid = $$.xgrid || d3.selectAll([]); // xgrid needs to be obtained after updateXGrid\n\n xgridLines = $$.xgridLines || d3.selectAll([]);\n mainRegion = $$.mainRegion || d3.selectAll([]);\n mainText = $$.mainText || d3.selectAll([]);\n mainBar = $$.mainBar || d3.selectAll([]);\n mainLine = $$.mainLine || d3.selectAll([]);\n mainArea = $$.mainArea || d3.selectAll([]);\n mainCircle = $$.mainCircle || d3.selectAll([]); // generate transform to flow\n\n if (!flow.orgDataCount) {\n // if empty\n if ($$.data.targets[0].values.length !== 1) {\n translateX = $$.x(orgDomain[0]) - $$.x(domain[0]);\n } else {\n if ($$.isTimeSeries()) {\n flowStart = $$.getValueOnIndex($$.data.targets[0].values, 0);\n flowEnd = $$.getValueOnIndex($$.data.targets[0].values, $$.data.targets[0].values.length - 1);\n translateX = $$.x(flowStart.x) - $$.x(flowEnd.x);\n } else {\n translateX = diffDomain(domain) / 2;\n }\n }\n } else if (flow.orgDataCount === 1 || (flowStart && flowStart.x) === (flowEnd && flowEnd.x)) {\n translateX = $$.x(orgDomain[0]) - $$.x(domain[0]);\n } else {\n if ($$.isTimeSeries()) {\n translateX = $$.x(orgDomain[0]) - $$.x(domain[0]);\n } else {\n translateX = $$.x(flowStart.x) - $$.x(flowEnd.x);\n }\n }\n\n scaleX = diffDomain(orgDomain) / diffDomain(domain);\n transform = 'translate(' + translateX + ',0) scale(' + scaleX + ',1)';\n $$.hideXGridFocus();\n var flowTransition = d3.transition().ease(d3.easeLinear).duration(durationForFlow);\n wait.add($$.xAxis($$.axes.x, flowTransition));\n wait.add(mainBar.transition(flowTransition).attr('transform', transform));\n wait.add(mainLine.transition(flowTransition).attr('transform', transform));\n wait.add(mainArea.transition(flowTransition).attr('transform', transform));\n wait.add(mainCircle.transition(flowTransition).attr('transform', transform));\n wait.add(mainText.transition(flowTransition).attr('transform', transform));\n wait.add(mainRegion.filter($$.isRegionOnX).transition(flowTransition).attr('transform', transform));\n wait.add(xgrid.transition(flowTransition).attr('transform', transform));\n wait.add(xgridLines.transition(flowTransition).attr('transform', transform));\n wait(function () {\n var i,\n shapes = [],\n texts = []; // remove flowed elements\n\n if (flowLength) {\n for (i = 0; i < flowLength; i++) {\n shapes.push('.' + CLASS.shape + '-' + (flowIndex + i));\n texts.push('.' + CLASS.text + '-' + (flowIndex + i));\n }\n\n $$.svg.selectAll('.' + CLASS.shapes).selectAll(shapes).remove();\n $$.svg.selectAll('.' + CLASS.texts).selectAll(texts).remove();\n $$.svg.select('.' + CLASS.xgrid).remove();\n } // draw again for removing flowed elements and reverting attr\n\n\n xgrid.attr('transform', null).attr('x1', $$.xgridAttr.x1).attr('x2', $$.xgridAttr.x2).attr('y1', $$.xgridAttr.y1).attr('y2', $$.xgridAttr.y2).style(\"opacity\", $$.xgridAttr.opacity);\n xgridLines.attr('transform', null);\n xgridLines.select('line').attr(\"x1\", config.axis_rotated ? 0 : xv).attr(\"x2\", config.axis_rotated ? $$.width : xv);\n xgridLines.select('text').attr(\"x\", config.axis_rotated ? $$.width : 0).attr(\"y\", xv);\n mainBar.attr('transform', null).attr(\"d\", drawBar);\n mainLine.attr('transform', null).attr(\"d\", drawLine);\n mainArea.attr('transform', null).attr(\"d\", drawArea);\n mainCircle.attr('transform', null).attr(\"cx\", cx).attr(\"cy\", cy);\n mainText.attr('transform', null).attr('x', xForText).attr('y', yForText).style('fill-opacity', $$.opacityForText.bind($$));\n mainRegion.attr('transform', null);\n mainRegion.filter($$.isRegionOnX).attr(\"x\", $$.regionX.bind($$)).attr(\"width\", $$.regionWidth.bind($$)); // callback for end of flow\n\n done();\n $$.flowing = false;\n });\n };\n };\n\n Chart.prototype.focus = function (targetIds) {\n var $$ = this.internal,\n candidates;\n targetIds = $$.mapToTargetIds(targetIds);\n candidates = $$.svg.selectAll($$.selectorTargets(targetIds.filter($$.isTargetToShow, $$))), this.revert();\n this.defocus();\n candidates.classed(CLASS.focused, true).classed(CLASS.defocused, false);\n\n if ($$.hasArcType()) {\n $$.expandArc(targetIds);\n }\n\n $$.toggleFocusLegend(targetIds, true);\n $$.focusedTargetIds = targetIds;\n $$.defocusedTargetIds = $$.defocusedTargetIds.filter(function (id) {\n return targetIds.indexOf(id) < 0;\n });\n };\n\n Chart.prototype.defocus = function (targetIds) {\n var $$ = this.internal,\n candidates;\n targetIds = $$.mapToTargetIds(targetIds);\n candidates = $$.svg.selectAll($$.selectorTargets(targetIds.filter($$.isTargetToShow, $$))), candidates.classed(CLASS.focused, false).classed(CLASS.defocused, true);\n\n if ($$.hasArcType()) {\n $$.unexpandArc(targetIds);\n }\n\n $$.toggleFocusLegend(targetIds, false);\n $$.focusedTargetIds = $$.focusedTargetIds.filter(function (id) {\n return targetIds.indexOf(id) < 0;\n });\n $$.defocusedTargetIds = targetIds;\n };\n\n Chart.prototype.revert = function (targetIds) {\n var $$ = this.internal,\n candidates;\n targetIds = $$.mapToTargetIds(targetIds);\n candidates = $$.svg.selectAll($$.selectorTargets(targetIds)); // should be for all targets\n\n candidates.classed(CLASS.focused, false).classed(CLASS.defocused, false);\n\n if ($$.hasArcType()) {\n $$.unexpandArc(targetIds);\n }\n\n if ($$.config.legend_show) {\n $$.showLegend(targetIds.filter($$.isLegendToShow.bind($$)));\n $$.legend.selectAll($$.selectorLegends(targetIds)).filter(function () {\n return $$.d3.select(this).classed(CLASS.legendItemFocused);\n }).classed(CLASS.legendItemFocused, false);\n }\n\n $$.focusedTargetIds = [];\n $$.defocusedTargetIds = [];\n };\n\n Chart.prototype.xgrids = function (grids) {\n var $$ = this.internal,\n config = $$.config;\n\n if (!grids) {\n return config.grid_x_lines;\n }\n\n config.grid_x_lines = grids;\n $$.redrawWithoutRescale();\n return config.grid_x_lines;\n };\n\n Chart.prototype.xgrids.add = function (grids) {\n var $$ = this.internal;\n return this.xgrids($$.config.grid_x_lines.concat(grids ? grids : []));\n };\n\n Chart.prototype.xgrids.remove = function (params) {\n // TODO: multiple\n var $$ = this.internal;\n $$.removeGridLines(params, true);\n };\n\n Chart.prototype.ygrids = function (grids) {\n var $$ = this.internal,\n config = $$.config;\n\n if (!grids) {\n return config.grid_y_lines;\n }\n\n config.grid_y_lines = grids;\n $$.redrawWithoutRescale();\n return config.grid_y_lines;\n };\n\n Chart.prototype.ygrids.add = function (grids) {\n var $$ = this.internal;\n return this.ygrids($$.config.grid_y_lines.concat(grids ? grids : []));\n };\n\n Chart.prototype.ygrids.remove = function (params) {\n // TODO: multiple\n var $$ = this.internal;\n $$.removeGridLines(params, false);\n };\n\n Chart.prototype.groups = function (groups) {\n var $$ = this.internal,\n config = $$.config;\n\n if (isUndefined(groups)) {\n return config.data_groups;\n }\n\n config.data_groups = groups;\n $$.redraw();\n return config.data_groups;\n };\n\n Chart.prototype.legend = function () {};\n\n Chart.prototype.legend.show = function (targetIds) {\n var $$ = this.internal;\n $$.showLegend($$.mapToTargetIds(targetIds));\n $$.updateAndRedraw({\n withLegend: true\n });\n };\n\n Chart.prototype.legend.hide = function (targetIds) {\n var $$ = this.internal;\n $$.hideLegend($$.mapToTargetIds(targetIds));\n $$.updateAndRedraw({\n withLegend: false\n });\n };\n\n Chart.prototype.load = function (args) {\n var $$ = this.internal,\n config = $$.config; // update xs if specified\n\n if (args.xs) {\n $$.addXs(args.xs);\n } // update names if exists\n\n\n if ('names' in args) {\n Chart.prototype.data.names.bind(this)(args.names);\n } // update classes if exists\n\n\n if ('classes' in args) {\n Object.keys(args.classes).forEach(function (id) {\n config.data_classes[id] = args.classes[id];\n });\n } // update categories if exists\n\n\n if ('categories' in args && $$.isCategorized()) {\n config.axis_x_categories = args.categories;\n } // update axes if exists\n\n\n if ('axes' in args) {\n Object.keys(args.axes).forEach(function (id) {\n config.data_axes[id] = args.axes[id];\n });\n } // update colors if exists\n\n\n if ('colors' in args) {\n Object.keys(args.colors).forEach(function (id) {\n config.data_colors[id] = args.colors[id];\n });\n } // use cache if exists\n\n\n if ('cacheIds' in args && $$.hasCaches(args.cacheIds)) {\n $$.load($$.getCaches(args.cacheIds), args.done);\n return;\n } // unload if needed\n\n\n if ('unload' in args) {\n // TODO: do not unload if target will load (included in url/rows/columns)\n $$.unload($$.mapToTargetIds(typeof args.unload === 'boolean' && args.unload ? null : args.unload), function () {\n $$.loadFromArgs(args);\n });\n } else {\n $$.loadFromArgs(args);\n }\n };\n\n Chart.prototype.unload = function (args) {\n var $$ = this.internal;\n args = args || {};\n\n if (args instanceof Array) {\n args = {\n ids: args\n };\n } else if (typeof args === 'string') {\n args = {\n ids: [args]\n };\n }\n\n $$.unload($$.mapToTargetIds(args.ids), function () {\n $$.redraw({\n withUpdateOrgXDomain: true,\n withUpdateXDomain: true,\n withLegend: true\n });\n\n if (args.done) {\n args.done();\n }\n });\n };\n\n Chart.prototype.regions = function (regions) {\n var $$ = this.internal,\n config = $$.config;\n\n if (!regions) {\n return config.regions;\n }\n\n config.regions = regions;\n $$.redrawWithoutRescale();\n return config.regions;\n };\n\n Chart.prototype.regions.add = function (regions) {\n var $$ = this.internal,\n config = $$.config;\n\n if (!regions) {\n return config.regions;\n }\n\n config.regions = config.regions.concat(regions);\n $$.redrawWithoutRescale();\n return config.regions;\n };\n\n Chart.prototype.regions.remove = function (options) {\n var $$ = this.internal,\n config = $$.config,\n duration,\n classes,\n regions;\n options = options || {};\n duration = getOption(options, \"duration\", config.transition_duration);\n classes = getOption(options, \"classes\", [CLASS.region]);\n regions = $$.main.select('.' + CLASS.regions).selectAll(classes.map(function (c) {\n return '.' + c;\n }));\n (duration ? regions.transition().duration(duration) : regions).style('opacity', 0).remove();\n config.regions = config.regions.filter(function (region) {\n var found = false;\n\n if (!region['class']) {\n return true;\n }\n\n region['class'].split(' ').forEach(function (c) {\n if (classes.indexOf(c) >= 0) {\n found = true;\n }\n });\n return !found;\n });\n return config.regions;\n };\n\n Chart.prototype.selected = function (targetId) {\n var $$ = this.internal,\n d3 = $$.d3;\n return d3.merge($$.main.selectAll('.' + CLASS.shapes + $$.getTargetSelectorSuffix(targetId)).selectAll('.' + CLASS.shape).filter(function () {\n return d3.select(this).classed(CLASS.SELECTED);\n }).map(function (d) {\n return d.map(function (d) {\n var data = d.__data__;\n return data.data ? data.data : data;\n });\n }));\n };\n\n Chart.prototype.select = function (ids, indices, resetOther) {\n var $$ = this.internal,\n d3 = $$.d3,\n config = $$.config;\n\n if (!config.data_selection_enabled) {\n return;\n }\n\n $$.main.selectAll('.' + CLASS.shapes).selectAll('.' + CLASS.shape).each(function (d, i) {\n var shape = d3.select(this),\n id = d.data ? d.data.id : d.id,\n toggle = $$.getToggle(this, d).bind($$),\n isTargetId = config.data_selection_grouped || !ids || ids.indexOf(id) >= 0,\n isTargetIndex = !indices || indices.indexOf(i) >= 0,\n isSelected = shape.classed(CLASS.SELECTED); // line/area selection not supported yet\n\n if (shape.classed(CLASS.line) || shape.classed(CLASS.area)) {\n return;\n }\n\n if (isTargetId && isTargetIndex) {\n if (config.data_selection_isselectable(d) && !isSelected) {\n toggle(true, shape.classed(CLASS.SELECTED, true), d, i);\n }\n } else if (isDefined(resetOther) && resetOther) {\n if (isSelected) {\n toggle(false, shape.classed(CLASS.SELECTED, false), d, i);\n }\n }\n });\n };\n\n Chart.prototype.unselect = function (ids, indices) {\n var $$ = this.internal,\n d3 = $$.d3,\n config = $$.config;\n\n if (!config.data_selection_enabled) {\n return;\n }\n\n $$.main.selectAll('.' + CLASS.shapes).selectAll('.' + CLASS.shape).each(function (d, i) {\n var shape = d3.select(this),\n id = d.data ? d.data.id : d.id,\n toggle = $$.getToggle(this, d).bind($$),\n isTargetId = config.data_selection_grouped || !ids || ids.indexOf(id) >= 0,\n isTargetIndex = !indices || indices.indexOf(i) >= 0,\n isSelected = shape.classed(CLASS.SELECTED); // line/area selection not supported yet\n\n if (shape.classed(CLASS.line) || shape.classed(CLASS.area)) {\n return;\n }\n\n if (isTargetId && isTargetIndex) {\n if (config.data_selection_isselectable(d)) {\n if (isSelected) {\n toggle(false, shape.classed(CLASS.SELECTED, false), d, i);\n }\n }\n }\n });\n };\n\n Chart.prototype.show = function (targetIds, options) {\n var $$ = this.internal,\n targets;\n targetIds = $$.mapToTargetIds(targetIds);\n options = options || {};\n $$.removeHiddenTargetIds(targetIds);\n targets = $$.svg.selectAll($$.selectorTargets(targetIds));\n targets.transition().style('display', 'initial', 'important').style('opacity', 1, 'important').call($$.endall, function () {\n targets.style('opacity', null).style('opacity', 1);\n });\n\n if (options.withLegend) {\n $$.showLegend(targetIds);\n }\n\n $$.redraw({\n withUpdateOrgXDomain: true,\n withUpdateXDomain: true,\n withLegend: true\n });\n };\n\n Chart.prototype.hide = function (targetIds, options) {\n var $$ = this.internal,\n targets;\n targetIds = $$.mapToTargetIds(targetIds);\n options = options || {};\n $$.addHiddenTargetIds(targetIds);\n targets = $$.svg.selectAll($$.selectorTargets(targetIds));\n targets.transition().style('opacity', 0, 'important').call($$.endall, function () {\n targets.style('opacity', null).style('opacity', 0);\n targets.style('display', 'none');\n });\n\n if (options.withLegend) {\n $$.hideLegend(targetIds);\n }\n\n $$.redraw({\n withUpdateOrgXDomain: true,\n withUpdateXDomain: true,\n withLegend: true\n });\n };\n\n Chart.prototype.toggle = function (targetIds, options) {\n var that = this,\n $$ = this.internal;\n $$.mapToTargetIds(targetIds).forEach(function (targetId) {\n $$.isTargetToShow(targetId) ? that.hide(targetId, options) : that.show(targetId, options);\n });\n };\n\n Chart.prototype.tooltip = function () {};\n\n Chart.prototype.tooltip.show = function (args) {\n var $$ = this.internal,\n targets,\n data,\n mouse = {}; // determine mouse position on the chart\n\n if (args.mouse) {\n mouse = args.mouse;\n } else {\n // determine focus data\n if (args.data) {\n data = args.data;\n } else if (typeof args.x !== 'undefined') {\n if (args.id) {\n targets = $$.data.targets.filter(function (t) {\n return t.id === args.id;\n });\n } else {\n targets = $$.data.targets;\n }\n\n data = $$.filterByX(targets, args.x).slice(0, 1)[0];\n }\n\n mouse = data ? $$.getMousePosition(data) : null;\n } // emulate mouse events to show\n\n\n $$.dispatchEvent('mousemove', mouse);\n $$.config.tooltip_onshow.call($$, data);\n };\n\n Chart.prototype.tooltip.hide = function () {\n // TODO: get target data by checking the state of focus\n this.internal.dispatchEvent('mouseout', 0);\n this.internal.config.tooltip_onhide.call(this);\n };\n\n Chart.prototype.transform = function (type, targetIds) {\n var $$ = this.internal,\n options = ['pie', 'donut'].indexOf(type) >= 0 ? {\n withTransform: true\n } : null;\n $$.transformTo(targetIds, type, options);\n };\n\n ChartInternal.prototype.transformTo = function (targetIds, type, optionsForRedraw) {\n var $$ = this,\n withTransitionForAxis = !$$.hasArcType(),\n options = optionsForRedraw || {\n withTransitionForAxis: withTransitionForAxis\n };\n options.withTransitionForTransform = false;\n $$.transiting = false;\n $$.setTargetType(targetIds, type);\n $$.updateTargets($$.data.targets); // this is needed when transforming to arc\n\n $$.updateAndRedraw(options);\n };\n\n Chart.prototype.x = function (x) {\n var $$ = this.internal;\n\n if (arguments.length) {\n $$.updateTargetX($$.data.targets, x);\n $$.redraw({\n withUpdateOrgXDomain: true,\n withUpdateXDomain: true\n });\n }\n\n return $$.data.xs;\n };\n\n Chart.prototype.xs = function (xs) {\n var $$ = this.internal;\n\n if (arguments.length) {\n $$.updateTargetXs($$.data.targets, xs);\n $$.redraw({\n withUpdateOrgXDomain: true,\n withUpdateXDomain: true\n });\n }\n\n return $$.data.xs;\n };\n\n Chart.prototype.zoom = function (domain) {\n var $$ = this.internal;\n\n if (domain) {\n if ($$.isTimeSeries()) {\n domain = domain.map(function (x) {\n return $$.parseDate(x);\n });\n }\n\n if ($$.config.subchart_show) {\n $$.brush.selectionAsValue(domain, true);\n } else {\n $$.updateXDomain(null, true, false, false, domain);\n $$.redraw({\n withY: $$.config.zoom_rescale,\n withSubchart: false\n });\n }\n\n $$.config.zoom_onzoom.call(this, $$.x.orgDomain());\n return domain;\n } else {\n return $$.x.domain();\n }\n };\n\n Chart.prototype.zoom.enable = function (enabled) {\n var $$ = this.internal;\n $$.config.zoom_enabled = enabled;\n $$.updateAndRedraw();\n };\n\n Chart.prototype.unzoom = function () {\n var $$ = this.internal;\n\n if ($$.config.subchart_show) {\n $$.brush.clear();\n } else {\n $$.updateXDomain(null, true, false, false, $$.subX.domain());\n $$.redraw({\n withY: $$.config.zoom_rescale,\n withSubchart: false\n });\n }\n };\n\n Chart.prototype.zoom.max = function (max) {\n var $$ = this.internal,\n config = $$.config,\n d3 = $$.d3;\n\n if (max === 0 || max) {\n config.zoom_x_max = d3.max([$$.orgXDomain[1], max]);\n } else {\n return config.zoom_x_max;\n }\n };\n\n Chart.prototype.zoom.min = function (min) {\n var $$ = this.internal,\n config = $$.config,\n d3 = $$.d3;\n\n if (min === 0 || min) {\n config.zoom_x_min = d3.min([$$.orgXDomain[0], min]);\n } else {\n return config.zoom_x_min;\n }\n };\n\n Chart.prototype.zoom.range = function (range) {\n if (arguments.length) {\n if (isDefined(range.max)) {\n this.domain.max(range.max);\n }\n\n if (isDefined(range.min)) {\n this.domain.min(range.min);\n }\n } else {\n return {\n max: this.domain.max(),\n min: this.domain.min()\n };\n }\n };\n\n ChartInternal.prototype.initPie = function () {\n var $$ = this,\n d3 = $$.d3;\n $$.pie = d3.pie().value(function (d) {\n return d.values.reduce(function (a, b) {\n return a + b.value;\n }, 0);\n });\n var orderFct = $$.getOrderFunction(); // we need to reverse the returned order if asc or desc to have the slice in expected order.\n\n if (orderFct && ($$.isOrderAsc() || $$.isOrderDesc())) {\n var defaultSort = orderFct;\n\n orderFct = function orderFct(t1, t2) {\n return defaultSort(t1, t2) * -1;\n };\n }\n\n $$.pie.sort(orderFct || null);\n };\n\n ChartInternal.prototype.updateRadius = function () {\n var $$ = this,\n config = $$.config,\n w = config.gauge_width || config.donut_width,\n gaugeArcWidth = $$.filterTargetsToShow($$.data.targets).length * $$.config.gauge_arcs_minWidth;\n $$.radiusExpanded = Math.min($$.arcWidth, $$.arcHeight) / 2 * ($$.hasType('gauge') ? 0.85 : 1);\n $$.radius = $$.radiusExpanded * 0.95;\n $$.innerRadiusRatio = w ? ($$.radius - w) / $$.radius : 0.6;\n $$.innerRadius = $$.hasType('donut') || $$.hasType('gauge') ? $$.radius * $$.innerRadiusRatio : 0;\n $$.gaugeArcWidth = w ? w : gaugeArcWidth <= $$.radius - $$.innerRadius ? $$.radius - $$.innerRadius : gaugeArcWidth <= $$.radius ? gaugeArcWidth : $$.radius;\n };\n\n ChartInternal.prototype.updateArc = function () {\n var $$ = this;\n $$.svgArc = $$.getSvgArc();\n $$.svgArcExpanded = $$.getSvgArcExpanded();\n $$.svgArcExpandedSub = $$.getSvgArcExpanded(0.98);\n };\n\n ChartInternal.prototype.updateAngle = function (d) {\n var $$ = this,\n config = $$.config,\n found = false,\n index = 0,\n gMin,\n gMax,\n gTic,\n gValue;\n\n if (!config) {\n return null;\n }\n\n $$.pie($$.filterTargetsToShow($$.data.targets)).forEach(function (t) {\n if (!found && t.data.id === d.data.id) {\n found = true;\n d = t;\n d.index = index;\n }\n\n index++;\n });\n\n if (isNaN(d.startAngle)) {\n d.startAngle = 0;\n }\n\n if (isNaN(d.endAngle)) {\n d.endAngle = d.startAngle;\n }\n\n if ($$.isGaugeType(d.data)) {\n gMin = config.gauge_min;\n gMax = config.gauge_max;\n gTic = Math.PI * (config.gauge_fullCircle ? 2 : 1) / (gMax - gMin);\n gValue = d.value < gMin ? 0 : d.value < gMax ? d.value - gMin : gMax - gMin;\n d.startAngle = config.gauge_startingAngle;\n d.endAngle = d.startAngle + gTic * gValue;\n }\n\n return found ? d : null;\n };\n\n ChartInternal.prototype.getSvgArc = function () {\n var $$ = this,\n hasGaugeType = $$.hasType('gauge'),\n singleArcWidth = $$.gaugeArcWidth / $$.filterTargetsToShow($$.data.targets).length,\n arc = $$.d3.arc().outerRadius(function (d) {\n return hasGaugeType ? $$.radius - singleArcWidth * d.index : $$.radius;\n }).innerRadius(function (d) {\n return hasGaugeType ? $$.radius - singleArcWidth * (d.index + 1) : $$.innerRadius;\n }),\n newArc = function newArc(d, withoutUpdate) {\n var updated;\n\n if (withoutUpdate) {\n return arc(d);\n } // for interpolate\n\n\n updated = $$.updateAngle(d);\n return updated ? arc(updated) : \"M 0 0\";\n }; // TODO: extends all function\n\n\n newArc.centroid = arc.centroid;\n return newArc;\n };\n\n ChartInternal.prototype.getSvgArcExpanded = function (rate) {\n rate = rate || 1;\n var $$ = this,\n hasGaugeType = $$.hasType('gauge'),\n singleArcWidth = $$.gaugeArcWidth / $$.filterTargetsToShow($$.data.targets).length,\n expandWidth = Math.min($$.radiusExpanded * rate - $$.radius, singleArcWidth * 0.8 - (1 - rate) * 100),\n arc = $$.d3.arc().outerRadius(function (d) {\n return hasGaugeType ? $$.radius - singleArcWidth * d.index + expandWidth : $$.radiusExpanded * rate;\n }).innerRadius(function (d) {\n return hasGaugeType ? $$.radius - singleArcWidth * (d.index + 1) : $$.innerRadius;\n });\n return function (d) {\n var updated = $$.updateAngle(d);\n return updated ? arc(updated) : \"M 0 0\";\n };\n };\n\n ChartInternal.prototype.getArc = function (d, withoutUpdate, force) {\n return force || this.isArcType(d.data) ? this.svgArc(d, withoutUpdate) : \"M 0 0\";\n };\n\n ChartInternal.prototype.transformForArcLabel = function (d) {\n var $$ = this,\n config = $$.config,\n updated = $$.updateAngle(d),\n c,\n x,\n y,\n h,\n ratio,\n translate = \"\",\n hasGauge = $$.hasType('gauge');\n\n if (updated && !hasGauge) {\n c = this.svgArc.centroid(updated);\n x = isNaN(c[0]) ? 0 : c[0];\n y = isNaN(c[1]) ? 0 : c[1];\n h = Math.sqrt(x * x + y * y);\n\n if ($$.hasType('donut') && config.donut_label_ratio) {\n ratio = isFunction(config.donut_label_ratio) ? config.donut_label_ratio(d, $$.radius, h) : config.donut_label_ratio;\n } else if ($$.hasType('pie') && config.pie_label_ratio) {\n ratio = isFunction(config.pie_label_ratio) ? config.pie_label_ratio(d, $$.radius, h) : config.pie_label_ratio;\n } else {\n ratio = $$.radius && h ? (36 / $$.radius > 0.375 ? 1.175 - 36 / $$.radius : 0.8) * $$.radius / h : 0;\n }\n\n translate = \"translate(\" + x * ratio + ',' + y * ratio + \")\";\n } else if (updated && hasGauge && $$.filterTargetsToShow($$.data.targets).length > 1) {\n var y1 = Math.sin(updated.endAngle - Math.PI / 2);\n x = Math.cos(updated.endAngle - Math.PI / 2) * ($$.radiusExpanded + 25);\n y = y1 * ($$.radiusExpanded + 15 - Math.abs(y1 * 10)) + 3;\n translate = \"translate(\" + x + ',' + y + \")\";\n }\n\n return translate;\n };\n\n ChartInternal.prototype.getArcRatio = function (d) {\n var $$ = this,\n config = $$.config,\n whole = Math.PI * ($$.hasType('gauge') && !config.gauge_fullCircle ? 1 : 2);\n return d ? (d.endAngle - d.startAngle) / whole : null;\n };\n\n ChartInternal.prototype.convertToArcData = function (d) {\n return this.addName({\n id: d.data.id,\n value: d.value,\n ratio: this.getArcRatio(d),\n index: d.index\n });\n };\n\n ChartInternal.prototype.textForArcLabel = function (d) {\n var $$ = this,\n updated,\n value,\n ratio,\n id,\n format;\n\n if (!$$.shouldShowArcLabel()) {\n return \"\";\n }\n\n updated = $$.updateAngle(d);\n value = updated ? updated.value : null;\n ratio = $$.getArcRatio(updated);\n id = d.data.id;\n\n if (!$$.hasType('gauge') && !$$.meetsArcLabelThreshold(ratio)) {\n return \"\";\n }\n\n format = $$.getArcLabelFormat();\n return format ? format(value, ratio, id) : $$.defaultArcValueFormat(value, ratio);\n };\n\n ChartInternal.prototype.textForGaugeMinMax = function (value, isMax) {\n var $$ = this,\n format = $$.getGaugeLabelExtents();\n return format ? format(value, isMax) : value;\n };\n\n ChartInternal.prototype.expandArc = function (targetIds) {\n var $$ = this,\n interval; // MEMO: avoid to cancel transition\n\n if ($$.transiting) {\n interval = window.setInterval(function () {\n if (!$$.transiting) {\n window.clearInterval(interval);\n\n if ($$.legend.selectAll('.c3-legend-item-focused').size() > 0) {\n $$.expandArc(targetIds);\n }\n }\n }, 10);\n return;\n }\n\n targetIds = $$.mapToTargetIds(targetIds);\n $$.svg.selectAll($$.selectorTargets(targetIds, '.' + CLASS.chartArc)).each(function (d) {\n if (!$$.shouldExpand(d.data.id)) {\n return;\n }\n\n $$.d3.select(this).selectAll('path').transition().duration($$.expandDuration(d.data.id)).attr(\"d\", $$.svgArcExpanded).transition().duration($$.expandDuration(d.data.id) * 2).attr(\"d\", $$.svgArcExpandedSub).each(function (d) {\n if ($$.isDonutType(d.data)) ;\n });\n });\n };\n\n ChartInternal.prototype.unexpandArc = function (targetIds) {\n var $$ = this;\n\n if ($$.transiting) {\n return;\n }\n\n targetIds = $$.mapToTargetIds(targetIds);\n $$.svg.selectAll($$.selectorTargets(targetIds, '.' + CLASS.chartArc)).selectAll('path').transition().duration(function (d) {\n return $$.expandDuration(d.data.id);\n }).attr(\"d\", $$.svgArc);\n $$.svg.selectAll('.' + CLASS.arc);\n };\n\n ChartInternal.prototype.expandDuration = function (id) {\n var $$ = this,\n config = $$.config;\n\n if ($$.isDonutType(id)) {\n return config.donut_expand_duration;\n } else if ($$.isGaugeType(id)) {\n return config.gauge_expand_duration;\n } else if ($$.isPieType(id)) {\n return config.pie_expand_duration;\n } else {\n return 50;\n }\n };\n\n ChartInternal.prototype.shouldExpand = function (id) {\n var $$ = this,\n config = $$.config;\n return $$.isDonutType(id) && config.donut_expand || $$.isGaugeType(id) && config.gauge_expand || $$.isPieType(id) && config.pie_expand;\n };\n\n ChartInternal.prototype.shouldShowArcLabel = function () {\n var $$ = this,\n config = $$.config,\n shouldShow = true;\n\n if ($$.hasType('donut')) {\n shouldShow = config.donut_label_show;\n } else if ($$.hasType('pie')) {\n shouldShow = config.pie_label_show;\n } // when gauge, always true\n\n\n return shouldShow;\n };\n\n ChartInternal.prototype.meetsArcLabelThreshold = function (ratio) {\n var $$ = this,\n config = $$.config,\n threshold = $$.hasType('donut') ? config.donut_label_threshold : config.pie_label_threshold;\n return ratio >= threshold;\n };\n\n ChartInternal.prototype.getArcLabelFormat = function () {\n var $$ = this,\n config = $$.config,\n format = config.pie_label_format;\n\n if ($$.hasType('gauge')) {\n format = config.gauge_label_format;\n } else if ($$.hasType('donut')) {\n format = config.donut_label_format;\n }\n\n return format;\n };\n\n ChartInternal.prototype.getGaugeLabelExtents = function () {\n var $$ = this,\n config = $$.config;\n return config.gauge_label_extents;\n };\n\n ChartInternal.prototype.getArcTitle = function () {\n var $$ = this;\n return $$.hasType('donut') ? $$.config.donut_title : \"\";\n };\n\n ChartInternal.prototype.updateTargetsForArc = function (targets) {\n var $$ = this,\n main = $$.main,\n mainPies,\n mainPieEnter,\n classChartArc = $$.classChartArc.bind($$),\n classArcs = $$.classArcs.bind($$),\n classFocus = $$.classFocus.bind($$);\n mainPies = main.select('.' + CLASS.chartArcs).selectAll('.' + CLASS.chartArc).data($$.pie(targets)).attr(\"class\", function (d) {\n return classChartArc(d) + classFocus(d.data);\n });\n mainPieEnter = mainPies.enter().append(\"g\").attr(\"class\", classChartArc);\n mainPieEnter.append('g').attr('class', classArcs);\n mainPieEnter.append(\"text\").attr(\"dy\", $$.hasType('gauge') ? \"-.1em\" : \".35em\").style(\"opacity\", 0).style(\"text-anchor\", \"middle\").style(\"pointer-events\", \"none\"); // MEMO: can not keep same color..., but not bad to update color in redraw\n //mainPieUpdate.exit().remove();\n };\n\n ChartInternal.prototype.initArc = function () {\n var $$ = this;\n $$.arcs = $$.main.select('.' + CLASS.chart).append(\"g\").attr(\"class\", CLASS.chartArcs).attr(\"transform\", $$.getTranslate('arc'));\n $$.arcs.append('text').attr('class', CLASS.chartArcsTitle).style(\"text-anchor\", \"middle\").text($$.getArcTitle());\n };\n\n ChartInternal.prototype.redrawArc = function (duration, durationForExit, withTransform) {\n var $$ = this,\n d3 = $$.d3,\n config = $$.config,\n main = $$.main,\n arcs,\n mainArc,\n arcLabelLines,\n mainArcLabelLine,\n hasGaugeType = $$.hasType('gauge');\n arcs = main.selectAll('.' + CLASS.arcs).selectAll('.' + CLASS.arc).data($$.arcData.bind($$));\n mainArc = arcs.enter().append('path').attr(\"class\", $$.classArc.bind($$)).style(\"fill\", function (d) {\n return $$.color(d.data);\n }).style(\"cursor\", function (d) {\n return config.interaction_enabled && config.data_selection_isselectable(d) ? \"pointer\" : null;\n }).each(function (d) {\n if ($$.isGaugeType(d.data)) {\n d.startAngle = d.endAngle = config.gauge_startingAngle;\n }\n\n this._current = d;\n }).merge(arcs);\n\n if (hasGaugeType) {\n arcLabelLines = main.selectAll('.' + CLASS.arcs).selectAll('.' + CLASS.arcLabelLine).data($$.arcData.bind($$));\n mainArcLabelLine = arcLabelLines.enter().append('rect').attr(\"class\", function (d) {\n return CLASS.arcLabelLine + ' ' + CLASS.target + ' ' + CLASS.target + '-' + d.data.id;\n }).merge(arcLabelLines);\n\n if ($$.filterTargetsToShow($$.data.targets).length === 1) {\n mainArcLabelLine.style(\"display\", \"none\");\n } else {\n mainArcLabelLine.style(\"fill\", function (d) {\n return $$.levelColor ? $$.levelColor(d.data.values[0].value) : $$.color(d.data);\n }).style(\"display\", config.gauge_labelLine_show ? \"\" : \"none\").each(function (d) {\n var lineLength = 0,\n lineThickness = 2,\n x = 0,\n y = 0,\n transform = \"\";\n\n if ($$.hiddenTargetIds.indexOf(d.data.id) < 0) {\n var updated = $$.updateAngle(d),\n innerLineLength = $$.gaugeArcWidth / $$.filterTargetsToShow($$.data.targets).length * (updated.index + 1),\n lineAngle = updated.endAngle - Math.PI / 2,\n arcInnerRadius = $$.radius - innerLineLength,\n linePositioningAngle = lineAngle - (arcInnerRadius === 0 ? 0 : 1 / arcInnerRadius);\n lineLength = $$.radiusExpanded - $$.radius + innerLineLength;\n x = Math.cos(linePositioningAngle) * arcInnerRadius;\n y = Math.sin(linePositioningAngle) * arcInnerRadius;\n transform = \"rotate(\" + lineAngle * 180 / Math.PI + \", \" + x + \", \" + y + \")\";\n }\n\n d3.select(this).attr('x', x).attr('y', y).attr('width', lineLength).attr('height', lineThickness).attr('transform', transform).style(\"stroke-dasharray\", \"0, \" + (lineLength + lineThickness) + \", 0\");\n });\n }\n }\n\n mainArc.attr(\"transform\", function (d) {\n return !$$.isGaugeType(d.data) && withTransform ? \"scale(0)\" : \"\";\n }).on('mouseover', config.interaction_enabled ? function (d) {\n var updated, arcData;\n\n if ($$.transiting) {\n // skip while transiting\n return;\n }\n\n updated = $$.updateAngle(d);\n\n if (updated) {\n arcData = $$.convertToArcData(updated); // transitions\n\n $$.expandArc(updated.data.id);\n $$.api.focus(updated.data.id);\n $$.toggleFocusLegend(updated.data.id, true);\n $$.config.data_onmouseover(arcData, this);\n }\n } : null).on('mousemove', config.interaction_enabled ? function (d) {\n var updated = $$.updateAngle(d),\n arcData,\n selectedData;\n\n if (updated) {\n arcData = $$.convertToArcData(updated), selectedData = [arcData];\n $$.showTooltip(selectedData, this);\n }\n } : null).on('mouseout', config.interaction_enabled ? function (d) {\n var updated, arcData;\n\n if ($$.transiting) {\n // skip while transiting\n return;\n }\n\n updated = $$.updateAngle(d);\n\n if (updated) {\n arcData = $$.convertToArcData(updated); // transitions\n\n $$.unexpandArc(updated.data.id);\n $$.api.revert();\n $$.revertLegend();\n $$.hideTooltip();\n $$.config.data_onmouseout(arcData, this);\n }\n } : null).on('click', config.interaction_enabled ? function (d, i) {\n var updated = $$.updateAngle(d),\n arcData;\n\n if (updated) {\n arcData = $$.convertToArcData(updated);\n\n if ($$.toggleShape) {\n $$.toggleShape(this, arcData, i);\n }\n\n $$.config.data_onclick.call($$.api, arcData, this);\n }\n } : null).each(function () {\n $$.transiting = true;\n }).transition().duration(duration).attrTween(\"d\", function (d) {\n var updated = $$.updateAngle(d),\n interpolate;\n\n if (!updated) {\n return function () {\n return \"M 0 0\";\n };\n } // if (this._current === d) {\n // this._current = {\n // startAngle: Math.PI*2,\n // endAngle: Math.PI*2,\n // };\n // }\n\n\n if (isNaN(this._current.startAngle)) {\n this._current.startAngle = 0;\n }\n\n if (isNaN(this._current.endAngle)) {\n this._current.endAngle = this._current.startAngle;\n }\n\n interpolate = d3.interpolate(this._current, updated);\n this._current = interpolate(0);\n return function (t) {\n var interpolated = interpolate(t);\n interpolated.data = d.data; // data.id will be updated by interporator\n\n return $$.getArc(interpolated, true);\n };\n }).attr(\"transform\", withTransform ? \"scale(1)\" : \"\").style(\"fill\", function (d) {\n return $$.levelColor ? $$.levelColor(d.data.values[0].value) : $$.color(d.data.id);\n }) // Where gauge reading color would receive customization.\n .call($$.endall, function () {\n $$.transiting = false;\n });\n arcs.exit().transition().duration(durationForExit).style('opacity', 0).remove();\n main.selectAll('.' + CLASS.chartArc).select('text').style(\"opacity\", 0).attr('class', function (d) {\n return $$.isGaugeType(d.data) ? CLASS.gaugeValue : '';\n }).text($$.textForArcLabel.bind($$)).attr(\"transform\", $$.transformForArcLabel.bind($$)).style('font-size', function (d) {\n return $$.isGaugeType(d.data) && $$.filterTargetsToShow($$.data.targets).length === 1 ? Math.round($$.radius / 5) + 'px' : '';\n }).transition().duration(duration).style(\"opacity\", function (d) {\n return $$.isTargetToShow(d.data.id) && $$.isArcType(d.data) ? 1 : 0;\n });\n main.select('.' + CLASS.chartArcsTitle).style(\"opacity\", $$.hasType('donut') || hasGaugeType ? 1 : 0);\n\n if (hasGaugeType) {\n var index = 0;\n var backgroundArc = $$.arcs.select('g.' + CLASS.chartArcsBackground).selectAll('path.' + CLASS.chartArcsBackground).data($$.data.targets);\n backgroundArc.enter().append(\"path\").attr(\"class\", function (d, i) {\n return CLASS.chartArcsBackground + ' ' + CLASS.chartArcsBackground + '-' + i;\n }).merge(backgroundArc).attr(\"d\", function (d1) {\n if ($$.hiddenTargetIds.indexOf(d1.id) >= 0) {\n return \"M 0 0\";\n }\n\n var d = {\n data: [{\n value: config.gauge_max\n }],\n startAngle: config.gauge_startingAngle,\n endAngle: -1 * config.gauge_startingAngle * (config.gauge_fullCircle ? Math.PI : 1),\n index: index++\n };\n return $$.getArc(d, true, true);\n });\n backgroundArc.exit().remove();\n $$.arcs.select('.' + CLASS.chartArcsGaugeUnit).attr(\"dy\", \".75em\").text(config.gauge_label_show ? config.gauge_units : '');\n $$.arcs.select('.' + CLASS.chartArcsGaugeMin).attr(\"dx\", -1 * ($$.innerRadius + ($$.radius - $$.innerRadius) / (config.gauge_fullCircle ? 1 : 2)) + \"px\").attr(\"dy\", \"1.2em\").text(config.gauge_label_show ? $$.textForGaugeMinMax(config.gauge_min, false) : '');\n $$.arcs.select('.' + CLASS.chartArcsGaugeMax).attr(\"dx\", $$.innerRadius + ($$.radius - $$.innerRadius) / (config.gauge_fullCircle ? 1 : 2) + \"px\").attr(\"dy\", \"1.2em\").text(config.gauge_label_show ? $$.textForGaugeMinMax(config.gauge_max, true) : '');\n }\n };\n\n ChartInternal.prototype.initGauge = function () {\n var arcs = this.arcs;\n\n if (this.hasType('gauge')) {\n arcs.append('g').attr(\"class\", CLASS.chartArcsBackground);\n arcs.append(\"text\").attr(\"class\", CLASS.chartArcsGaugeUnit).style(\"text-anchor\", \"middle\").style(\"pointer-events\", \"none\");\n arcs.append(\"text\").attr(\"class\", CLASS.chartArcsGaugeMin).style(\"text-anchor\", \"middle\").style(\"pointer-events\", \"none\");\n arcs.append(\"text\").attr(\"class\", CLASS.chartArcsGaugeMax).style(\"text-anchor\", \"middle\").style(\"pointer-events\", \"none\");\n }\n };\n\n ChartInternal.prototype.getGaugeLabelHeight = function () {\n return this.config.gauge_label_show ? 20 : 0;\n };\n\n ChartInternal.prototype.hasCaches = function (ids) {\n for (var i = 0; i < ids.length; i++) {\n if (!(ids[i] in this.cache)) {\n return false;\n }\n }\n\n return true;\n };\n\n ChartInternal.prototype.addCache = function (id, target) {\n this.cache[id] = this.cloneTarget(target);\n };\n\n ChartInternal.prototype.getCaches = function (ids) {\n var targets = [],\n i;\n\n for (i = 0; i < ids.length; i++) {\n if (ids[i] in this.cache) {\n targets.push(this.cloneTarget(this.cache[ids[i]]));\n }\n }\n\n return targets;\n };\n\n ChartInternal.prototype.categoryName = function (i) {\n var config = this.config;\n return i < config.axis_x_categories.length ? config.axis_x_categories[i] : i;\n };\n\n ChartInternal.prototype.generateTargetClass = function (targetId) {\n return targetId || targetId === 0 ? ('-' + targetId).replace(/\\s/g, '-') : '';\n };\n\n ChartInternal.prototype.generateClass = function (prefix, targetId) {\n return \" \" + prefix + \" \" + prefix + this.generateTargetClass(targetId);\n };\n\n ChartInternal.prototype.classText = function (d) {\n return this.generateClass(CLASS.text, d.index);\n };\n\n ChartInternal.prototype.classTexts = function (d) {\n return this.generateClass(CLASS.texts, d.id);\n };\n\n ChartInternal.prototype.classShape = function (d) {\n return this.generateClass(CLASS.shape, d.index);\n };\n\n ChartInternal.prototype.classShapes = function (d) {\n return this.generateClass(CLASS.shapes, d.id);\n };\n\n ChartInternal.prototype.classLine = function (d) {\n return this.classShape(d) + this.generateClass(CLASS.line, d.id);\n };\n\n ChartInternal.prototype.classLines = function (d) {\n return this.classShapes(d) + this.generateClass(CLASS.lines, d.id);\n };\n\n ChartInternal.prototype.classCircle = function (d) {\n return this.classShape(d) + this.generateClass(CLASS.circle, d.index);\n };\n\n ChartInternal.prototype.classCircles = function (d) {\n return this.classShapes(d) + this.generateClass(CLASS.circles, d.id);\n };\n\n ChartInternal.prototype.classBar = function (d) {\n return this.classShape(d) + this.generateClass(CLASS.bar, d.index);\n };\n\n ChartInternal.prototype.classBars = function (d) {\n return this.classShapes(d) + this.generateClass(CLASS.bars, d.id);\n };\n\n ChartInternal.prototype.classArc = function (d) {\n return this.classShape(d.data) + this.generateClass(CLASS.arc, d.data.id);\n };\n\n ChartInternal.prototype.classArcs = function (d) {\n return this.classShapes(d.data) + this.generateClass(CLASS.arcs, d.data.id);\n };\n\n ChartInternal.prototype.classArea = function (d) {\n return this.classShape(d) + this.generateClass(CLASS.area, d.id);\n };\n\n ChartInternal.prototype.classAreas = function (d) {\n return this.classShapes(d) + this.generateClass(CLASS.areas, d.id);\n };\n\n ChartInternal.prototype.classRegion = function (d, i) {\n return this.generateClass(CLASS.region, i) + ' ' + ('class' in d ? d['class'] : '');\n };\n\n ChartInternal.prototype.classEvent = function (d) {\n return this.generateClass(CLASS.eventRect, d.index);\n };\n\n ChartInternal.prototype.classTarget = function (id) {\n var $$ = this;\n var additionalClassSuffix = $$.config.data_classes[id],\n additionalClass = '';\n\n if (additionalClassSuffix) {\n additionalClass = ' ' + CLASS.target + '-' + additionalClassSuffix;\n }\n\n return $$.generateClass(CLASS.target, id) + additionalClass;\n };\n\n ChartInternal.prototype.classFocus = function (d) {\n return this.classFocused(d) + this.classDefocused(d);\n };\n\n ChartInternal.prototype.classFocused = function (d) {\n return ' ' + (this.focusedTargetIds.indexOf(d.id) >= 0 ? CLASS.focused : '');\n };\n\n ChartInternal.prototype.classDefocused = function (d) {\n return ' ' + (this.defocusedTargetIds.indexOf(d.id) >= 0 ? CLASS.defocused : '');\n };\n\n ChartInternal.prototype.classChartText = function (d) {\n return CLASS.chartText + this.classTarget(d.id);\n };\n\n ChartInternal.prototype.classChartLine = function (d) {\n return CLASS.chartLine + this.classTarget(d.id);\n };\n\n ChartInternal.prototype.classChartBar = function (d) {\n return CLASS.chartBar + this.classTarget(d.id);\n };\n\n ChartInternal.prototype.classChartArc = function (d) {\n return CLASS.chartArc + this.classTarget(d.data.id);\n };\n\n ChartInternal.prototype.getTargetSelectorSuffix = function (targetId) {\n return this.generateTargetClass(targetId).replace(/([?!@#$%^&*()_=+,.<>'\":;\\[\\]\\/|~`{}\\\\])/g, '\\\\$1');\n };\n\n ChartInternal.prototype.selectorTarget = function (id, prefix) {\n return (prefix || '') + '.' + CLASS.target + this.getTargetSelectorSuffix(id);\n };\n\n ChartInternal.prototype.selectorTargets = function (ids, prefix) {\n var $$ = this;\n ids = ids || [];\n return ids.length ? ids.map(function (id) {\n return $$.selectorTarget(id, prefix);\n }) : null;\n };\n\n ChartInternal.prototype.selectorLegend = function (id) {\n return '.' + CLASS.legendItem + this.getTargetSelectorSuffix(id);\n };\n\n ChartInternal.prototype.selectorLegends = function (ids) {\n var $$ = this;\n return ids && ids.length ? ids.map(function (id) {\n return $$.selectorLegend(id);\n }) : null;\n };\n\n ChartInternal.prototype.getClipPath = function (id) {\n var isIE9 = window.navigator.appVersion.toLowerCase().indexOf(\"msie 9.\") >= 0;\n return \"url(\" + (isIE9 ? \"\" : document.URL.split('#')[0]) + \"#\" + id + \")\";\n };\n\n ChartInternal.prototype.appendClip = function (parent, id) {\n return parent.append(\"clipPath\").attr(\"id\", id).append(\"rect\");\n };\n\n ChartInternal.prototype.getAxisClipX = function (forHorizontal) {\n // axis line width + padding for left\n var left = Math.max(30, this.margin.left);\n return forHorizontal ? -(1 + left) : -(left - 1);\n };\n\n ChartInternal.prototype.getAxisClipY = function (forHorizontal) {\n return forHorizontal ? -20 : -this.margin.top;\n };\n\n ChartInternal.prototype.getXAxisClipX = function () {\n var $$ = this;\n return $$.getAxisClipX(!$$.config.axis_rotated);\n };\n\n ChartInternal.prototype.getXAxisClipY = function () {\n var $$ = this;\n return $$.getAxisClipY(!$$.config.axis_rotated);\n };\n\n ChartInternal.prototype.getYAxisClipX = function () {\n var $$ = this;\n return $$.config.axis_y_inner ? -1 : $$.getAxisClipX($$.config.axis_rotated);\n };\n\n ChartInternal.prototype.getYAxisClipY = function () {\n var $$ = this;\n return $$.getAxisClipY($$.config.axis_rotated);\n };\n\n ChartInternal.prototype.getAxisClipWidth = function (forHorizontal) {\n var $$ = this,\n left = Math.max(30, $$.margin.left),\n right = Math.max(30, $$.margin.right); // width + axis line width + padding for left/right\n\n return forHorizontal ? $$.width + 2 + left + right : $$.margin.left + 20;\n };\n\n ChartInternal.prototype.getAxisClipHeight = function (forHorizontal) {\n // less than 20 is not enough to show the axis label 'outer' without legend\n return (forHorizontal ? this.margin.bottom : this.margin.top + this.height) + 20;\n };\n\n ChartInternal.prototype.getXAxisClipWidth = function () {\n var $$ = this;\n return $$.getAxisClipWidth(!$$.config.axis_rotated);\n };\n\n ChartInternal.prototype.getXAxisClipHeight = function () {\n var $$ = this;\n return $$.getAxisClipHeight(!$$.config.axis_rotated);\n };\n\n ChartInternal.prototype.getYAxisClipWidth = function () {\n var $$ = this;\n return $$.getAxisClipWidth($$.config.axis_rotated) + ($$.config.axis_y_inner ? 20 : 0);\n };\n\n ChartInternal.prototype.getYAxisClipHeight = function () {\n var $$ = this;\n return $$.getAxisClipHeight($$.config.axis_rotated);\n };\n\n ChartInternal.prototype.generateColor = function () {\n var $$ = this,\n config = $$.config,\n d3 = $$.d3,\n colors = config.data_colors,\n pattern = notEmpty(config.color_pattern) ? config.color_pattern : d3.schemeCategory10,\n callback = config.data_color,\n ids = [];\n return function (d) {\n var id = d.id || d.data && d.data.id || d,\n color; // if callback function is provided\n\n if (colors[id] instanceof Function) {\n color = colors[id](d);\n } // if specified, choose that color\n else if (colors[id]) {\n color = colors[id];\n } // if not specified, choose from pattern\n else {\n if (ids.indexOf(id) < 0) {\n ids.push(id);\n }\n\n color = pattern[ids.indexOf(id) % pattern.length];\n colors[id] = color;\n }\n\n return callback instanceof Function ? callback(color, d) : color;\n };\n };\n\n ChartInternal.prototype.generateLevelColor = function () {\n var $$ = this,\n config = $$.config,\n colors = config.color_pattern,\n threshold = config.color_threshold,\n asValue = threshold.unit === 'value',\n values = threshold.values && threshold.values.length ? threshold.values : [],\n max = threshold.max || 100;\n return notEmpty(threshold) && notEmpty(colors) ? function (value) {\n var i,\n v,\n color = colors[colors.length - 1];\n\n for (i = 0; i < values.length; i++) {\n v = asValue ? value : value * 100 / max;\n\n if (v < values[i]) {\n color = colors[i];\n break;\n }\n }\n\n return color;\n } : null;\n };\n\n ChartInternal.prototype.getDefaultConfig = function () {\n var config = {\n bindto: '#chart',\n svg_classname: undefined,\n size_width: undefined,\n size_height: undefined,\n padding_left: undefined,\n padding_right: undefined,\n padding_top: undefined,\n padding_bottom: undefined,\n resize_auto: true,\n zoom_enabled: false,\n zoom_initialRange: undefined,\n zoom_type: 'scroll',\n zoom_disableDefaultBehavior: false,\n zoom_privileged: false,\n zoom_rescale: false,\n zoom_onzoom: function zoom_onzoom() {},\n zoom_onzoomstart: function zoom_onzoomstart() {},\n zoom_onzoomend: function zoom_onzoomend() {},\n zoom_x_min: undefined,\n zoom_x_max: undefined,\n interaction_brighten: true,\n interaction_enabled: true,\n onmouseover: function onmouseover() {},\n onmouseout: function onmouseout() {},\n onresize: function onresize() {},\n onresized: function onresized() {},\n oninit: function oninit() {},\n onrendered: function onrendered() {},\n transition_duration: 350,\n data_x: undefined,\n data_xs: {},\n data_xFormat: '%Y-%m-%d',\n data_xLocaltime: true,\n data_xSort: true,\n data_idConverter: function data_idConverter(id) {\n return id;\n },\n data_names: {},\n data_classes: {},\n data_groups: [],\n data_axes: {},\n data_type: undefined,\n data_types: {},\n data_labels: {},\n data_order: 'desc',\n data_regions: {},\n data_color: undefined,\n data_colors: {},\n data_hide: false,\n data_filter: undefined,\n data_selection_enabled: false,\n data_selection_grouped: false,\n data_selection_isselectable: function data_selection_isselectable() {\n return true;\n },\n data_selection_multiple: true,\n data_selection_draggable: false,\n data_onclick: function data_onclick() {},\n data_onmouseover: function data_onmouseover() {},\n data_onmouseout: function data_onmouseout() {},\n data_onselected: function data_onselected() {},\n data_onunselected: function data_onunselected() {},\n data_url: undefined,\n data_headers: undefined,\n data_json: undefined,\n data_rows: undefined,\n data_columns: undefined,\n data_mimeType: undefined,\n data_keys: undefined,\n // configuration for no plot-able data supplied.\n data_empty_label_text: \"\",\n // subchart\n subchart_show: false,\n subchart_size_height: 60,\n subchart_axis_x_show: true,\n subchart_onbrush: function subchart_onbrush() {},\n // color\n color_pattern: [],\n color_threshold: {},\n // legend\n legend_show: true,\n legend_hide: false,\n legend_position: 'bottom',\n legend_inset_anchor: 'top-left',\n legend_inset_x: 10,\n legend_inset_y: 0,\n legend_inset_step: undefined,\n legend_item_onclick: undefined,\n legend_item_onmouseover: undefined,\n legend_item_onmouseout: undefined,\n legend_equally: false,\n legend_padding: 0,\n legend_item_tile_width: 10,\n legend_item_tile_height: 10,\n // axis\n axis_rotated: false,\n axis_x_show: true,\n axis_x_type: 'indexed',\n axis_x_localtime: true,\n axis_x_categories: [],\n axis_x_tick_centered: false,\n axis_x_tick_format: undefined,\n axis_x_tick_culling: {},\n axis_x_tick_culling_max: 10,\n axis_x_tick_count: undefined,\n axis_x_tick_fit: true,\n axis_x_tick_values: null,\n axis_x_tick_rotate: 0,\n axis_x_tick_outer: true,\n axis_x_tick_multiline: true,\n axis_x_tick_multilineMax: 0,\n axis_x_tick_width: null,\n axis_x_max: undefined,\n axis_x_min: undefined,\n axis_x_padding: {},\n axis_x_height: undefined,\n axis_x_selection: undefined,\n axis_x_label: {},\n axis_x_inner: undefined,\n axis_y_show: true,\n axis_y_type: undefined,\n axis_y_max: undefined,\n axis_y_min: undefined,\n axis_y_inverted: false,\n axis_y_center: undefined,\n axis_y_inner: undefined,\n axis_y_label: {},\n axis_y_tick_format: undefined,\n axis_y_tick_outer: true,\n axis_y_tick_values: null,\n axis_y_tick_rotate: 0,\n axis_y_tick_count: undefined,\n axis_y_tick_time_type: undefined,\n axis_y_tick_time_interval: undefined,\n axis_y_padding: {},\n axis_y_default: undefined,\n axis_y2_show: false,\n axis_y2_max: undefined,\n axis_y2_min: undefined,\n axis_y2_inverted: false,\n axis_y2_center: undefined,\n axis_y2_inner: undefined,\n axis_y2_label: {},\n axis_y2_tick_format: undefined,\n axis_y2_tick_outer: true,\n axis_y2_tick_values: null,\n axis_y2_tick_count: undefined,\n axis_y2_padding: {},\n axis_y2_default: undefined,\n // grid\n grid_x_show: false,\n grid_x_type: 'tick',\n grid_x_lines: [],\n grid_y_show: false,\n // not used\n // grid_y_type: 'tick',\n grid_y_lines: [],\n grid_y_ticks: 10,\n grid_focus_show: true,\n grid_lines_front: true,\n // point - point of each data\n point_show: true,\n point_r: 2.5,\n point_sensitivity: 10,\n point_focus_expand_enabled: true,\n point_focus_expand_r: undefined,\n point_select_r: undefined,\n // line\n line_connectNull: false,\n line_step_type: 'step',\n // bar\n bar_width: undefined,\n bar_width_ratio: 0.6,\n bar_width_max: undefined,\n bar_zerobased: true,\n bar_space: 0,\n // area\n area_zerobased: true,\n area_above: false,\n // pie\n pie_label_show: true,\n pie_label_format: undefined,\n pie_label_threshold: 0.05,\n pie_label_ratio: undefined,\n pie_expand: {},\n pie_expand_duration: 50,\n // gauge\n gauge_fullCircle: false,\n gauge_label_show: true,\n gauge_labelLine_show: true,\n gauge_label_format: undefined,\n gauge_min: 0,\n gauge_max: 100,\n gauge_startingAngle: -1 * Math.PI / 2,\n gauge_label_extents: undefined,\n gauge_units: undefined,\n gauge_width: undefined,\n gauge_arcs_minWidth: 5,\n gauge_expand: {},\n gauge_expand_duration: 50,\n // donut\n donut_label_show: true,\n donut_label_format: undefined,\n donut_label_threshold: 0.05,\n donut_label_ratio: undefined,\n donut_width: undefined,\n donut_title: \"\",\n donut_expand: {},\n donut_expand_duration: 50,\n // spline\n spline_interpolation_type: 'cardinal',\n // region - region to change style\n regions: [],\n // tooltip - show when mouseover on each data\n tooltip_show: true,\n tooltip_grouped: true,\n tooltip_order: undefined,\n tooltip_format_title: undefined,\n tooltip_format_name: undefined,\n tooltip_format_value: undefined,\n tooltip_position: undefined,\n tooltip_contents: function tooltip_contents(d, defaultTitleFormat, defaultValueFormat, color) {\n return this.getTooltipContent ? this.getTooltipContent(d, defaultTitleFormat, defaultValueFormat, color) : '';\n },\n tooltip_init_show: false,\n tooltip_init_x: 0,\n tooltip_init_position: {\n top: '0px',\n left: '50px'\n },\n tooltip_onshow: function tooltip_onshow() {},\n tooltip_onhide: function tooltip_onhide() {},\n // title\n title_text: undefined,\n title_padding: {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n },\n title_position: 'top-center'\n };\n Object.keys(this.additionalConfig).forEach(function (key) {\n config[key] = this.additionalConfig[key];\n }, this);\n return config;\n };\n\n ChartInternal.prototype.additionalConfig = {};\n\n ChartInternal.prototype.loadConfig = function (config) {\n var this_config = this.config,\n target,\n keys,\n read;\n\n function find() {\n var key = keys.shift(); // console.log(\"key =>\", key, \", target =>\", target);\n\n if (key && target && _typeof(target) === 'object' && key in target) {\n target = target[key];\n return find();\n } else if (!key) {\n return target;\n } else {\n return undefined;\n }\n }\n\n Object.keys(this_config).forEach(function (key) {\n target = config;\n keys = key.split('_');\n read = find(); // console.log(\"CONFIG : \", key, read);\n\n if (isDefined(read)) {\n this_config[key] = read;\n }\n });\n };\n\n ChartInternal.prototype.convertUrlToData = function (url, mimeType, headers, keys, done) {\n var $$ = this,\n type = mimeType ? mimeType : 'csv',\n f,\n converter;\n\n if (type === 'json') {\n f = $$.d3.json;\n converter = $$.convertJsonToData;\n } else if (type === 'tsv') {\n f = $$.d3.tsv;\n converter = $$.convertXsvToData;\n } else {\n f = $$.d3.csv;\n converter = $$.convertXsvToData;\n }\n\n f(url, headers).then(function (data) {\n done.call($$, converter.call($$, data, keys));\n }).catch(function (error) {\n throw error;\n });\n };\n\n ChartInternal.prototype.convertXsvToData = function (xsv) {\n var keys = xsv.columns,\n rows = xsv;\n\n if (rows.length === 0) {\n return {\n keys: keys,\n rows: [keys.reduce(function (row, key) {\n return Object.assign(row, _defineProperty({}, key, null));\n }, {})]\n };\n } else {\n // [].concat() is to convert result into a plain array otherwise\n // test is not happy because rows have properties.\n return {\n keys: keys,\n rows: [].concat(xsv)\n };\n }\n };\n\n ChartInternal.prototype.convertJsonToData = function (json, keys) {\n var $$ = this,\n new_rows = [],\n targetKeys,\n data;\n\n if (keys) {\n // when keys specified, json would be an array that includes objects\n if (keys.x) {\n targetKeys = keys.value.concat(keys.x);\n $$.config.data_x = keys.x;\n } else {\n targetKeys = keys.value;\n }\n\n new_rows.push(targetKeys);\n json.forEach(function (o) {\n var new_row = [];\n targetKeys.forEach(function (key) {\n // convert undefined to null because undefined data will be removed in convertDataToTargets()\n var v = $$.findValueInJson(o, key);\n\n if (isUndefined(v)) {\n v = null;\n }\n\n new_row.push(v);\n });\n new_rows.push(new_row);\n });\n data = $$.convertRowsToData(new_rows);\n } else {\n Object.keys(json).forEach(function (key) {\n new_rows.push([key].concat(json[key]));\n });\n data = $$.convertColumnsToData(new_rows);\n }\n\n return data;\n };\n\n ChartInternal.prototype.findValueInJson = function (object, path) {\n path = path.replace(/\\[(\\w+)\\]/g, '.$1'); // convert indexes to properties (replace [] with .)\n\n path = path.replace(/^\\./, ''); // strip a leading dot\n\n var pathArray = path.split('.');\n\n for (var i = 0; i < pathArray.length; ++i) {\n var k = pathArray[i];\n\n if (k in object) {\n object = object[k];\n } else {\n return;\n }\n }\n\n return object;\n };\n /**\n * Converts the rows to normalized data.\n * @param {any[][]} rows The row data\n * @return {Object}\n */\n\n\n ChartInternal.prototype.convertRowsToData = function (rows) {\n var newRows = [];\n var keys = rows[0];\n\n for (var i = 1; i < rows.length; i++) {\n var newRow = {};\n\n for (var j = 0; j < rows[i].length; j++) {\n if (isUndefined(rows[i][j])) {\n throw new Error(\"Source data is missing a component at (\" + i + \",\" + j + \")!\");\n }\n\n newRow[keys[j]] = rows[i][j];\n }\n\n newRows.push(newRow);\n }\n\n return {\n keys: keys,\n rows: newRows\n };\n };\n /**\n * Converts the columns to normalized data.\n * @param {any[][]} columns The column data\n * @return {Object}\n */\n\n\n ChartInternal.prototype.convertColumnsToData = function (columns) {\n var newRows = [];\n var keys = [];\n\n for (var i = 0; i < columns.length; i++) {\n var key = columns[i][0];\n\n for (var j = 1; j < columns[i].length; j++) {\n if (isUndefined(newRows[j - 1])) {\n newRows[j - 1] = {};\n }\n\n if (isUndefined(columns[i][j])) {\n throw new Error(\"Source data is missing a component at (\" + i + \",\" + j + \")!\");\n }\n\n newRows[j - 1][key] = columns[i][j];\n }\n\n keys.push(key);\n }\n\n return {\n keys: keys,\n rows: newRows\n };\n };\n /**\n * Converts the data format into the target format.\n * @param {!Object} data\n * @param {!Array} data.keys Ordered list of target IDs.\n * @param {!Array} data.rows Rows of data to convert.\n * @param {boolean} appendXs True to append to $$.data.xs, False to replace.\n * @return {!Array}\n */\n\n\n ChartInternal.prototype.convertDataToTargets = function (data, appendXs) {\n var $$ = this,\n config = $$.config,\n targets,\n ids,\n xs,\n keys; // handles format where keys are not orderly provided\n\n if (isArray(data)) {\n keys = Object.keys(data[0]);\n } else {\n keys = data.keys;\n data = data.rows;\n }\n\n ids = keys.filter($$.isNotX, $$);\n xs = keys.filter($$.isX, $$); // save x for update data by load when custom x and c3.x API\n\n ids.forEach(function (id) {\n var xKey = $$.getXKey(id);\n\n if ($$.isCustomX() || $$.isTimeSeries()) {\n // if included in input data\n if (xs.indexOf(xKey) >= 0) {\n $$.data.xs[id] = (appendXs && $$.data.xs[id] ? $$.data.xs[id] : []).concat(data.map(function (d) {\n return d[xKey];\n }).filter(isValue).map(function (rawX, i) {\n return $$.generateTargetX(rawX, id, i);\n }));\n } // if not included in input data, find from preloaded data of other id's x\n else if (config.data_x) {\n $$.data.xs[id] = $$.getOtherTargetXs();\n } // if not included in input data, find from preloaded data\n else if (notEmpty(config.data_xs)) {\n $$.data.xs[id] = $$.getXValuesOfXKey(xKey, $$.data.targets);\n } // MEMO: if no x included, use same x of current will be used\n\n } else {\n $$.data.xs[id] = data.map(function (d, i) {\n return i;\n });\n }\n }); // check x is defined\n\n ids.forEach(function (id) {\n if (!$$.data.xs[id]) {\n throw new Error('x is not defined for id = \"' + id + '\".');\n }\n }); // convert to target\n\n targets = ids.map(function (id, index) {\n var convertedId = config.data_idConverter(id);\n return {\n id: convertedId,\n id_org: id,\n values: data.map(function (d, i) {\n var xKey = $$.getXKey(id),\n rawX = d[xKey],\n value = d[id] !== null && !isNaN(d[id]) ? +d[id] : null,\n x; // use x as categories if custom x and categorized\n\n if ($$.isCustomX() && $$.isCategorized() && !isUndefined(rawX)) {\n if (index === 0 && i === 0) {\n config.axis_x_categories = [];\n }\n\n x = config.axis_x_categories.indexOf(rawX);\n\n if (x === -1) {\n x = config.axis_x_categories.length;\n config.axis_x_categories.push(rawX);\n }\n } else {\n x = $$.generateTargetX(rawX, id, i);\n } // mark as x = undefined if value is undefined and filter to remove after mapped\n\n\n if (isUndefined(d[id]) || $$.data.xs[id].length <= i) {\n x = undefined;\n }\n\n return {\n x: x,\n value: value,\n id: convertedId\n };\n }).filter(function (v) {\n return isDefined(v.x);\n })\n };\n }); // finish targets\n\n targets.forEach(function (t) {\n var i; // sort values by its x\n\n if (config.data_xSort) {\n t.values = t.values.sort(function (v1, v2) {\n var x1 = v1.x || v1.x === 0 ? v1.x : Infinity,\n x2 = v2.x || v2.x === 0 ? v2.x : Infinity;\n return x1 - x2;\n });\n } // indexing each value\n\n\n i = 0;\n t.values.forEach(function (v) {\n v.index = i++;\n }); // this needs to be sorted because its index and value.index is identical\n\n $$.data.xs[t.id].sort(function (v1, v2) {\n return v1 - v2;\n });\n }); // cache information about values\n\n $$.hasNegativeValue = $$.hasNegativeValueInTargets(targets);\n $$.hasPositiveValue = $$.hasPositiveValueInTargets(targets); // set target types\n\n if (config.data_type) {\n $$.setTargetType($$.mapToIds(targets).filter(function (id) {\n return !(id in config.data_types);\n }), config.data_type);\n } // cache as original id keyed\n\n\n targets.forEach(function (d) {\n $$.addCache(d.id_org, d);\n });\n return targets;\n };\n\n ChartInternal.prototype.isX = function (key) {\n var $$ = this,\n config = $$.config;\n return config.data_x && key === config.data_x || notEmpty(config.data_xs) && hasValue(config.data_xs, key);\n };\n\n ChartInternal.prototype.isNotX = function (key) {\n return !this.isX(key);\n };\n\n ChartInternal.prototype.getXKey = function (id) {\n var $$ = this,\n config = $$.config;\n return config.data_x ? config.data_x : notEmpty(config.data_xs) ? config.data_xs[id] : null;\n };\n\n ChartInternal.prototype.getXValuesOfXKey = function (key, targets) {\n var $$ = this,\n xValues,\n ids = targets && notEmpty(targets) ? $$.mapToIds(targets) : [];\n ids.forEach(function (id) {\n if ($$.getXKey(id) === key) {\n xValues = $$.data.xs[id];\n }\n });\n return xValues;\n };\n\n ChartInternal.prototype.getXValue = function (id, i) {\n var $$ = this;\n return id in $$.data.xs && $$.data.xs[id] && isValue($$.data.xs[id][i]) ? $$.data.xs[id][i] : i;\n };\n\n ChartInternal.prototype.getOtherTargetXs = function () {\n var $$ = this,\n idsForX = Object.keys($$.data.xs);\n return idsForX.length ? $$.data.xs[idsForX[0]] : null;\n };\n\n ChartInternal.prototype.getOtherTargetX = function (index) {\n var xs = this.getOtherTargetXs();\n return xs && index < xs.length ? xs[index] : null;\n };\n\n ChartInternal.prototype.addXs = function (xs) {\n var $$ = this;\n Object.keys(xs).forEach(function (id) {\n $$.config.data_xs[id] = xs[id];\n });\n };\n\n ChartInternal.prototype.addName = function (data) {\n var $$ = this,\n name;\n\n if (data) {\n name = $$.config.data_names[data.id];\n data.name = name !== undefined ? name : data.id;\n }\n\n return data;\n };\n\n ChartInternal.prototype.getValueOnIndex = function (values, index) {\n var valueOnIndex = values.filter(function (v) {\n return v.index === index;\n });\n return valueOnIndex.length ? valueOnIndex[0] : null;\n };\n\n ChartInternal.prototype.updateTargetX = function (targets, x) {\n var $$ = this;\n targets.forEach(function (t) {\n t.values.forEach(function (v, i) {\n v.x = $$.generateTargetX(x[i], t.id, i);\n });\n $$.data.xs[t.id] = x;\n });\n };\n\n ChartInternal.prototype.updateTargetXs = function (targets, xs) {\n var $$ = this;\n targets.forEach(function (t) {\n if (xs[t.id]) {\n $$.updateTargetX([t], xs[t.id]);\n }\n });\n };\n\n ChartInternal.prototype.generateTargetX = function (rawX, id, index) {\n var $$ = this,\n x;\n\n if ($$.isTimeSeries()) {\n x = rawX ? $$.parseDate(rawX) : $$.parseDate($$.getXValue(id, index));\n } else if ($$.isCustomX() && !$$.isCategorized()) {\n x = isValue(rawX) ? +rawX : $$.getXValue(id, index);\n } else {\n x = index;\n }\n\n return x;\n };\n\n ChartInternal.prototype.cloneTarget = function (target) {\n return {\n id: target.id,\n id_org: target.id_org,\n values: target.values.map(function (d) {\n return {\n x: d.x,\n value: d.value,\n id: d.id\n };\n })\n };\n };\n\n ChartInternal.prototype.getMaxDataCount = function () {\n var $$ = this;\n return $$.d3.max($$.data.targets, function (t) {\n return t.values.length;\n });\n };\n\n ChartInternal.prototype.mapToIds = function (targets) {\n return targets.map(function (d) {\n return d.id;\n });\n };\n\n ChartInternal.prototype.mapToTargetIds = function (ids) {\n var $$ = this;\n return ids ? [].concat(ids) : $$.mapToIds($$.data.targets);\n };\n\n ChartInternal.prototype.hasTarget = function (targets, id) {\n var ids = this.mapToIds(targets),\n i;\n\n for (i = 0; i < ids.length; i++) {\n if (ids[i] === id) {\n return true;\n }\n }\n\n return false;\n };\n\n ChartInternal.prototype.isTargetToShow = function (targetId) {\n return this.hiddenTargetIds.indexOf(targetId) < 0;\n };\n\n ChartInternal.prototype.isLegendToShow = function (targetId) {\n return this.hiddenLegendIds.indexOf(targetId) < 0;\n };\n\n ChartInternal.prototype.filterTargetsToShow = function (targets) {\n var $$ = this;\n return targets.filter(function (t) {\n return $$.isTargetToShow(t.id);\n });\n };\n\n ChartInternal.prototype.mapTargetsToUniqueXs = function (targets) {\n var $$ = this;\n var xs = $$.d3.set($$.d3.merge(targets.map(function (t) {\n return t.values.map(function (v) {\n return +v.x;\n });\n }))).values();\n xs = $$.isTimeSeries() ? xs.map(function (x) {\n return new Date(+x);\n }) : xs.map(function (x) {\n return +x;\n });\n return xs.sort(function (a, b) {\n return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;\n });\n };\n\n ChartInternal.prototype.addHiddenTargetIds = function (targetIds) {\n targetIds = targetIds instanceof Array ? targetIds : new Array(targetIds);\n\n for (var i = 0; i < targetIds.length; i++) {\n if (this.hiddenTargetIds.indexOf(targetIds[i]) < 0) {\n this.hiddenTargetIds = this.hiddenTargetIds.concat(targetIds[i]);\n }\n }\n };\n\n ChartInternal.prototype.removeHiddenTargetIds = function (targetIds) {\n this.hiddenTargetIds = this.hiddenTargetIds.filter(function (id) {\n return targetIds.indexOf(id) < 0;\n });\n };\n\n ChartInternal.prototype.addHiddenLegendIds = function (targetIds) {\n targetIds = targetIds instanceof Array ? targetIds : new Array(targetIds);\n\n for (var i = 0; i < targetIds.length; i++) {\n if (this.hiddenLegendIds.indexOf(targetIds[i]) < 0) {\n this.hiddenLegendIds = this.hiddenLegendIds.concat(targetIds[i]);\n }\n }\n };\n\n ChartInternal.prototype.removeHiddenLegendIds = function (targetIds) {\n this.hiddenLegendIds = this.hiddenLegendIds.filter(function (id) {\n return targetIds.indexOf(id) < 0;\n });\n };\n\n ChartInternal.prototype.getValuesAsIdKeyed = function (targets) {\n var ys = {};\n targets.forEach(function (t) {\n ys[t.id] = [];\n t.values.forEach(function (v) {\n ys[t.id].push(v.value);\n });\n });\n return ys;\n };\n\n ChartInternal.prototype.checkValueInTargets = function (targets, checker) {\n var ids = Object.keys(targets),\n i,\n j,\n values;\n\n for (i = 0; i < ids.length; i++) {\n values = targets[ids[i]].values;\n\n for (j = 0; j < values.length; j++) {\n if (checker(values[j].value)) {\n return true;\n }\n }\n }\n\n return false;\n };\n\n ChartInternal.prototype.hasNegativeValueInTargets = function (targets) {\n return this.checkValueInTargets(targets, function (v) {\n return v < 0;\n });\n };\n\n ChartInternal.prototype.hasPositiveValueInTargets = function (targets) {\n return this.checkValueInTargets(targets, function (v) {\n return v > 0;\n });\n };\n\n ChartInternal.prototype.isOrderDesc = function () {\n var config = this.config;\n return typeof config.data_order === 'string' && config.data_order.toLowerCase() === 'desc';\n };\n\n ChartInternal.prototype.isOrderAsc = function () {\n var config = this.config;\n return typeof config.data_order === 'string' && config.data_order.toLowerCase() === 'asc';\n };\n\n ChartInternal.prototype.getOrderFunction = function () {\n var $$ = this,\n config = $$.config,\n orderAsc = $$.isOrderAsc(),\n orderDesc = $$.isOrderDesc();\n\n if (orderAsc || orderDesc) {\n var reducer = function reducer(p, c) {\n return p + Math.abs(c.value);\n };\n\n return function (t1, t2) {\n var t1Sum = t1.values.reduce(reducer, 0),\n t2Sum = t2.values.reduce(reducer, 0);\n return orderAsc ? t2Sum - t1Sum : t1Sum - t2Sum;\n };\n } else if (isFunction(config.data_order)) {\n return config.data_order;\n } else if (isArray(config.data_order)) {\n var order = config.data_order;\n return function (t1, t2) {\n return order.indexOf(t1.id) - order.indexOf(t2.id);\n };\n }\n };\n\n ChartInternal.prototype.orderTargets = function (targets) {\n var fct = this.getOrderFunction();\n\n if (fct) {\n targets.sort(fct);\n }\n\n return targets;\n };\n\n ChartInternal.prototype.filterByX = function (targets, x) {\n return this.d3.merge(targets.map(function (t) {\n return t.values;\n })).filter(function (v) {\n return v.x - x === 0;\n });\n };\n\n ChartInternal.prototype.filterRemoveNull = function (data) {\n return data.filter(function (d) {\n return isValue(d.value);\n });\n };\n\n ChartInternal.prototype.filterByXDomain = function (targets, xDomain) {\n return targets.map(function (t) {\n return {\n id: t.id,\n id_org: t.id_org,\n values: t.values.filter(function (v) {\n return xDomain[0] <= v.x && v.x <= xDomain[1];\n })\n };\n });\n };\n\n ChartInternal.prototype.hasDataLabel = function () {\n var config = this.config;\n\n if (typeof config.data_labels === 'boolean' && config.data_labels) {\n return true;\n } else if (_typeof(config.data_labels) === 'object' && notEmpty(config.data_labels)) {\n return true;\n }\n\n return false;\n };\n\n ChartInternal.prototype.getDataLabelLength = function (min, max, key) {\n var $$ = this,\n lengths = [0, 0],\n paddingCoef = 1.3;\n $$.selectChart.select('svg').selectAll('.dummy').data([min, max]).enter().append('text').text(function (d) {\n return $$.dataLabelFormat(d.id)(d);\n }).each(function (d, i) {\n lengths[i] = this.getBoundingClientRect()[key] * paddingCoef;\n }).remove();\n return lengths;\n };\n /**\n * Returns true if the given data point is not arc type, otherwise false.\n * @param {Object} d The data point\n * @return {boolean}\n */\n\n\n ChartInternal.prototype.isNoneArc = function (d) {\n return this.hasTarget(this.data.targets, d.id);\n };\n /**\n * Returns true if the given data point is arc type, otherwise false.\n * @param {Object} d The data point\n * @return {boolean}\n */\n\n\n ChartInternal.prototype.isArc = function (d) {\n return 'data' in d && this.hasTarget(this.data.targets, d.data.id);\n };\n\n ChartInternal.prototype.findClosestFromTargets = function (targets, pos) {\n var $$ = this,\n candidates; // map to array of closest points of each target\n\n candidates = targets.map(function (target) {\n return $$.findClosest(target.values, pos);\n }); // decide closest point and return\n\n return $$.findClosest(candidates, pos);\n };\n\n ChartInternal.prototype.findClosest = function (values, pos) {\n var $$ = this,\n minDist = $$.config.point_sensitivity,\n closest; // find mouseovering bar\n\n values.filter(function (v) {\n return v && $$.isBarType(v.id);\n }).forEach(function (v) {\n var shape = $$.main.select('.' + CLASS.bars + $$.getTargetSelectorSuffix(v.id) + ' .' + CLASS.bar + '-' + v.index).node();\n\n if (!closest && $$.isWithinBar($$.d3.mouse(shape), shape)) {\n closest = v;\n }\n }); // find closest point from non-bar\n\n values.filter(function (v) {\n return v && !$$.isBarType(v.id);\n }).forEach(function (v) {\n var d = $$.dist(v, pos);\n\n if (d < minDist) {\n minDist = d;\n closest = v;\n }\n });\n return closest;\n };\n\n ChartInternal.prototype.dist = function (data, pos) {\n var $$ = this,\n config = $$.config,\n xIndex = config.axis_rotated ? 1 : 0,\n yIndex = config.axis_rotated ? 0 : 1,\n y = $$.circleY(data, data.index),\n x = $$.x(data.x);\n return Math.sqrt(Math.pow(x - pos[xIndex], 2) + Math.pow(y - pos[yIndex], 2));\n };\n\n ChartInternal.prototype.convertValuesToStep = function (values) {\n var converted = [].concat(values),\n i;\n\n if (!this.isCategorized()) {\n return values;\n }\n\n for (i = values.length + 1; 0 < i; i--) {\n converted[i] = converted[i - 1];\n }\n\n converted[0] = {\n x: converted[0].x - 1,\n value: converted[0].value,\n id: converted[0].id\n };\n converted[values.length + 1] = {\n x: converted[values.length].x + 1,\n value: converted[values.length].value,\n id: converted[values.length].id\n };\n return converted;\n };\n\n ChartInternal.prototype.updateDataAttributes = function (name, attrs) {\n var $$ = this,\n config = $$.config,\n current = config['data_' + name];\n\n if (typeof attrs === 'undefined') {\n return current;\n }\n\n Object.keys(attrs).forEach(function (id) {\n current[id] = attrs[id];\n });\n $$.redraw({\n withLegend: true\n });\n return current;\n };\n\n ChartInternal.prototype.load = function (targets, args) {\n var $$ = this;\n\n if (targets) {\n // filter loading targets if needed\n if (args.filter) {\n targets = targets.filter(args.filter);\n } // set type if args.types || args.type specified\n\n\n if (args.type || args.types) {\n targets.forEach(function (t) {\n var type = args.types && args.types[t.id] ? args.types[t.id] : args.type;\n $$.setTargetType(t.id, type);\n });\n } // Update/Add data\n\n\n $$.data.targets.forEach(function (d) {\n for (var i = 0; i < targets.length; i++) {\n if (d.id === targets[i].id) {\n d.values = targets[i].values;\n targets.splice(i, 1);\n break;\n }\n }\n });\n $$.data.targets = $$.data.targets.concat(targets); // add remained\n } // Set targets\n\n\n $$.updateTargets($$.data.targets); // Redraw with new targets\n\n $$.redraw({\n withUpdateOrgXDomain: true,\n withUpdateXDomain: true,\n withLegend: true\n });\n\n if (args.done) {\n args.done();\n }\n };\n\n ChartInternal.prototype.loadFromArgs = function (args) {\n var $$ = this;\n\n if (args.data) {\n $$.load($$.convertDataToTargets(args.data), args);\n } else if (args.url) {\n $$.convertUrlToData(args.url, args.mimeType, args.headers, args.keys, function (data) {\n $$.load($$.convertDataToTargets(data), args);\n });\n } else if (args.json) {\n $$.load($$.convertDataToTargets($$.convertJsonToData(args.json, args.keys)), args);\n } else if (args.rows) {\n $$.load($$.convertDataToTargets($$.convertRowsToData(args.rows)), args);\n } else if (args.columns) {\n $$.load($$.convertDataToTargets($$.convertColumnsToData(args.columns)), args);\n } else {\n $$.load(null, args);\n }\n };\n\n ChartInternal.prototype.unload = function (targetIds, done) {\n var $$ = this;\n\n if (!done) {\n done = function done() {};\n } // filter existing target\n\n\n targetIds = targetIds.filter(function (id) {\n return $$.hasTarget($$.data.targets, id);\n }); // If no target, call done and return\n\n if (!targetIds || targetIds.length === 0) {\n done();\n return;\n }\n\n $$.svg.selectAll(targetIds.map(function (id) {\n return $$.selectorTarget(id);\n })).transition().style('opacity', 0).remove().call($$.endall, done);\n targetIds.forEach(function (id) {\n // Reset fadein for future load\n $$.withoutFadeIn[id] = false; // Remove target's elements\n\n if ($$.legend) {\n $$.legend.selectAll('.' + CLASS.legendItem + $$.getTargetSelectorSuffix(id)).remove();\n } // Remove target\n\n\n $$.data.targets = $$.data.targets.filter(function (t) {\n return t.id !== id;\n });\n });\n };\n\n ChartInternal.prototype.getYDomainMin = function (targets) {\n var $$ = this,\n config = $$.config,\n ids = $$.mapToIds(targets),\n ys = $$.getValuesAsIdKeyed(targets),\n j,\n k,\n baseId,\n idsInGroup,\n id,\n hasNegativeValue;\n\n if (config.data_groups.length > 0) {\n hasNegativeValue = $$.hasNegativeValueInTargets(targets);\n\n for (j = 0; j < config.data_groups.length; j++) {\n // Determine baseId\n idsInGroup = config.data_groups[j].filter(function (id) {\n return ids.indexOf(id) >= 0;\n });\n\n if (idsInGroup.length === 0) {\n continue;\n }\n\n baseId = idsInGroup[0]; // Consider negative values\n\n if (hasNegativeValue && ys[baseId]) {\n ys[baseId].forEach(function (v, i) {\n ys[baseId][i] = v < 0 ? v : 0;\n });\n } // Compute min\n\n\n for (k = 1; k < idsInGroup.length; k++) {\n id = idsInGroup[k];\n\n if (!ys[id]) {\n continue;\n }\n\n ys[id].forEach(function (v, i) {\n if ($$.axis.getId(id) === $$.axis.getId(baseId) && ys[baseId] && !(hasNegativeValue && +v > 0)) {\n ys[baseId][i] += +v;\n }\n });\n }\n }\n }\n\n return $$.d3.min(Object.keys(ys).map(function (key) {\n return $$.d3.min(ys[key]);\n }));\n };\n\n ChartInternal.prototype.getYDomainMax = function (targets) {\n var $$ = this,\n config = $$.config,\n ids = $$.mapToIds(targets),\n ys = $$.getValuesAsIdKeyed(targets),\n j,\n k,\n baseId,\n idsInGroup,\n id,\n hasPositiveValue;\n\n if (config.data_groups.length > 0) {\n hasPositiveValue = $$.hasPositiveValueInTargets(targets);\n\n for (j = 0; j < config.data_groups.length; j++) {\n // Determine baseId\n idsInGroup = config.data_groups[j].filter(function (id) {\n return ids.indexOf(id) >= 0;\n });\n\n if (idsInGroup.length === 0) {\n continue;\n }\n\n baseId = idsInGroup[0]; // Consider positive values\n\n if (hasPositiveValue && ys[baseId]) {\n ys[baseId].forEach(function (v, i) {\n ys[baseId][i] = v > 0 ? v : 0;\n });\n } // Compute max\n\n\n for (k = 1; k < idsInGroup.length; k++) {\n id = idsInGroup[k];\n\n if (!ys[id]) {\n continue;\n }\n\n ys[id].forEach(function (v, i) {\n if ($$.axis.getId(id) === $$.axis.getId(baseId) && ys[baseId] && !(hasPositiveValue && +v < 0)) {\n ys[baseId][i] += +v;\n }\n });\n }\n }\n }\n\n return $$.d3.max(Object.keys(ys).map(function (key) {\n return $$.d3.max(ys[key]);\n }));\n };\n\n ChartInternal.prototype.getYDomain = function (targets, axisId, xDomain) {\n var $$ = this,\n config = $$.config,\n targetsByAxisId = targets.filter(function (t) {\n return $$.axis.getId(t.id) === axisId;\n }),\n yTargets = xDomain ? $$.filterByXDomain(targetsByAxisId, xDomain) : targetsByAxisId,\n yMin = axisId === 'y2' ? config.axis_y2_min : config.axis_y_min,\n yMax = axisId === 'y2' ? config.axis_y2_max : config.axis_y_max,\n yDomainMin = $$.getYDomainMin(yTargets),\n yDomainMax = $$.getYDomainMax(yTargets),\n domain,\n domainLength,\n padding,\n padding_top,\n padding_bottom,\n center = axisId === 'y2' ? config.axis_y2_center : config.axis_y_center,\n yDomainAbs,\n lengths,\n diff,\n ratio,\n isAllPositive,\n isAllNegative,\n isZeroBased = $$.hasType('bar', yTargets) && config.bar_zerobased || $$.hasType('area', yTargets) && config.area_zerobased,\n isInverted = axisId === 'y2' ? config.axis_y2_inverted : config.axis_y_inverted,\n showHorizontalDataLabel = $$.hasDataLabel() && config.axis_rotated,\n showVerticalDataLabel = $$.hasDataLabel() && !config.axis_rotated; // MEMO: avoid inverting domain unexpectedly\n\n yDomainMin = isValue(yMin) ? yMin : isValue(yMax) ? yDomainMin < yMax ? yDomainMin : yMax - 10 : yDomainMin;\n yDomainMax = isValue(yMax) ? yMax : isValue(yMin) ? yMin < yDomainMax ? yDomainMax : yMin + 10 : yDomainMax;\n\n if (yTargets.length === 0) {\n // use current domain if target of axisId is none\n return axisId === 'y2' ? $$.y2.domain() : $$.y.domain();\n }\n\n if (isNaN(yDomainMin)) {\n // set minimum to zero when not number\n yDomainMin = 0;\n }\n\n if (isNaN(yDomainMax)) {\n // set maximum to have same value as yDomainMin\n yDomainMax = yDomainMin;\n }\n\n if (yDomainMin === yDomainMax) {\n yDomainMin < 0 ? yDomainMax = 0 : yDomainMin = 0;\n }\n\n isAllPositive = yDomainMin >= 0 && yDomainMax >= 0;\n isAllNegative = yDomainMin <= 0 && yDomainMax <= 0; // Cancel zerobased if axis_*_min / axis_*_max specified\n\n if (isValue(yMin) && isAllPositive || isValue(yMax) && isAllNegative) {\n isZeroBased = false;\n } // Bar/Area chart should be 0-based if all positive|negative\n\n\n if (isZeroBased) {\n if (isAllPositive) {\n yDomainMin = 0;\n }\n\n if (isAllNegative) {\n yDomainMax = 0;\n }\n }\n\n domainLength = Math.abs(yDomainMax - yDomainMin);\n padding = padding_top = padding_bottom = domainLength * 0.1;\n\n if (typeof center !== 'undefined') {\n yDomainAbs = Math.max(Math.abs(yDomainMin), Math.abs(yDomainMax));\n yDomainMax = center + yDomainAbs;\n yDomainMin = center - yDomainAbs;\n } // add padding for data label\n\n\n if (showHorizontalDataLabel) {\n lengths = $$.getDataLabelLength(yDomainMin, yDomainMax, 'width');\n diff = diffDomain($$.y.range());\n ratio = [lengths[0] / diff, lengths[1] / diff];\n padding_top += domainLength * (ratio[1] / (1 - ratio[0] - ratio[1]));\n padding_bottom += domainLength * (ratio[0] / (1 - ratio[0] - ratio[1]));\n } else if (showVerticalDataLabel) {\n lengths = $$.getDataLabelLength(yDomainMin, yDomainMax, 'height');\n padding_top += $$.axis.convertPixelsToAxisPadding(lengths[1], domainLength);\n padding_bottom += $$.axis.convertPixelsToAxisPadding(lengths[0], domainLength);\n }\n\n if (axisId === 'y' && notEmpty(config.axis_y_padding)) {\n padding_top = $$.axis.getPadding(config.axis_y_padding, 'top', padding_top, domainLength);\n padding_bottom = $$.axis.getPadding(config.axis_y_padding, 'bottom', padding_bottom, domainLength);\n }\n\n if (axisId === 'y2' && notEmpty(config.axis_y2_padding)) {\n padding_top = $$.axis.getPadding(config.axis_y2_padding, 'top', padding_top, domainLength);\n padding_bottom = $$.axis.getPadding(config.axis_y2_padding, 'bottom', padding_bottom, domainLength);\n } // Bar/Area chart should be 0-based if all positive|negative\n\n\n if (isZeroBased) {\n if (isAllPositive) {\n padding_bottom = yDomainMin;\n }\n\n if (isAllNegative) {\n padding_top = -yDomainMax;\n }\n }\n\n domain = [yDomainMin - padding_bottom, yDomainMax + padding_top];\n return isInverted ? domain.reverse() : domain;\n };\n\n ChartInternal.prototype.getXDomainMin = function (targets) {\n var $$ = this,\n config = $$.config;\n return isDefined(config.axis_x_min) ? $$.isTimeSeries() ? this.parseDate(config.axis_x_min) : config.axis_x_min : $$.d3.min(targets, function (t) {\n return $$.d3.min(t.values, function (v) {\n return v.x;\n });\n });\n };\n\n ChartInternal.prototype.getXDomainMax = function (targets) {\n var $$ = this,\n config = $$.config;\n return isDefined(config.axis_x_max) ? $$.isTimeSeries() ? this.parseDate(config.axis_x_max) : config.axis_x_max : $$.d3.max(targets, function (t) {\n return $$.d3.max(t.values, function (v) {\n return v.x;\n });\n });\n };\n\n ChartInternal.prototype.getXDomainPadding = function (domain) {\n var $$ = this,\n config = $$.config,\n diff = domain[1] - domain[0],\n maxDataCount,\n padding,\n paddingLeft,\n paddingRight;\n\n if ($$.isCategorized()) {\n padding = 0;\n } else if ($$.hasType('bar')) {\n maxDataCount = $$.getMaxDataCount();\n padding = maxDataCount > 1 ? diff / (maxDataCount - 1) / 2 : 0.5;\n } else {\n padding = diff * 0.01;\n }\n\n if (_typeof(config.axis_x_padding) === 'object' && notEmpty(config.axis_x_padding)) {\n paddingLeft = isValue(config.axis_x_padding.left) ? config.axis_x_padding.left : padding;\n paddingRight = isValue(config.axis_x_padding.right) ? config.axis_x_padding.right : padding;\n } else if (typeof config.axis_x_padding === 'number') {\n paddingLeft = paddingRight = config.axis_x_padding;\n } else {\n paddingLeft = paddingRight = padding;\n }\n\n return {\n left: paddingLeft,\n right: paddingRight\n };\n };\n\n ChartInternal.prototype.getXDomain = function (targets) {\n var $$ = this,\n xDomain = [$$.getXDomainMin(targets), $$.getXDomainMax(targets)],\n firstX = xDomain[0],\n lastX = xDomain[1],\n padding = $$.getXDomainPadding(xDomain),\n min = 0,\n max = 0; // show center of x domain if min and max are the same\n\n if (firstX - lastX === 0 && !$$.isCategorized()) {\n if ($$.isTimeSeries()) {\n firstX = new Date(firstX.getTime() * 0.5);\n lastX = new Date(lastX.getTime() * 1.5);\n } else {\n firstX = firstX === 0 ? 1 : firstX * 0.5;\n lastX = lastX === 0 ? -1 : lastX * 1.5;\n }\n }\n\n if (firstX || firstX === 0) {\n min = $$.isTimeSeries() ? new Date(firstX.getTime() - padding.left) : firstX - padding.left;\n }\n\n if (lastX || lastX === 0) {\n max = $$.isTimeSeries() ? new Date(lastX.getTime() + padding.right) : lastX + padding.right;\n }\n\n return [min, max];\n };\n\n ChartInternal.prototype.updateXDomain = function (targets, withUpdateXDomain, withUpdateOrgXDomain, withTrim, domain) {\n var $$ = this,\n config = $$.config;\n\n if (withUpdateOrgXDomain) {\n $$.x.domain(domain ? domain : $$.d3.extent($$.getXDomain(targets)));\n $$.orgXDomain = $$.x.domain();\n\n if (config.zoom_enabled) {\n $$.zoom.update();\n }\n\n $$.subX.domain($$.x.domain());\n\n if ($$.brush) {\n $$.brush.updateScale($$.subX);\n }\n }\n\n if (withUpdateXDomain) {\n $$.x.domain(domain ? domain : !$$.brush || $$.brush.empty() ? $$.orgXDomain : $$.brush.selectionAsValue());\n } // Trim domain when too big by zoom mousemove event\n\n\n if (withTrim) {\n $$.x.domain($$.trimXDomain($$.x.orgDomain()));\n }\n\n return $$.x.domain();\n };\n\n ChartInternal.prototype.trimXDomain = function (domain) {\n var zoomDomain = this.getZoomDomain(),\n min = zoomDomain[0],\n max = zoomDomain[1];\n\n if (domain[0] <= min) {\n domain[1] = +domain[1] + (min - domain[0]);\n domain[0] = min;\n }\n\n if (max <= domain[1]) {\n domain[0] = +domain[0] - (domain[1] - max);\n domain[1] = max;\n }\n\n return domain;\n };\n\n ChartInternal.prototype.drag = function (mouse) {\n var $$ = this,\n config = $$.config,\n main = $$.main,\n d3 = $$.d3;\n var sx, sy, mx, my, minX, maxX, minY, maxY;\n\n if ($$.hasArcType()) {\n return;\n }\n\n if (!config.data_selection_enabled) {\n return;\n } // do nothing if not selectable\n\n\n if (!config.data_selection_multiple) {\n return;\n } // skip when single selection because drag is used for multiple selection\n\n\n sx = $$.dragStart[0];\n sy = $$.dragStart[1];\n mx = mouse[0];\n my = mouse[1];\n minX = Math.min(sx, mx);\n maxX = Math.max(sx, mx);\n minY = config.data_selection_grouped ? $$.margin.top : Math.min(sy, my);\n maxY = config.data_selection_grouped ? $$.height : Math.max(sy, my);\n main.select('.' + CLASS.dragarea).attr('x', minX).attr('y', minY).attr('width', maxX - minX).attr('height', maxY - minY); // TODO: binary search when multiple xs\n\n main.selectAll('.' + CLASS.shapes).selectAll('.' + CLASS.shape).filter(function (d) {\n return config.data_selection_isselectable(d);\n }).each(function (d, i) {\n var shape = d3.select(this),\n isSelected = shape.classed(CLASS.SELECTED),\n isIncluded = shape.classed(CLASS.INCLUDED),\n _x,\n _y,\n _w,\n _h,\n toggle,\n isWithin = false,\n box;\n\n if (shape.classed(CLASS.circle)) {\n _x = shape.attr(\"cx\") * 1;\n _y = shape.attr(\"cy\") * 1;\n toggle = $$.togglePoint;\n isWithin = minX < _x && _x < maxX && minY < _y && _y < maxY;\n } else if (shape.classed(CLASS.bar)) {\n box = getPathBox(this);\n _x = box.x;\n _y = box.y;\n _w = box.width;\n _h = box.height;\n toggle = $$.togglePath;\n isWithin = !(maxX < _x || _x + _w < minX) && !(maxY < _y || _y + _h < minY);\n } else {\n // line/area selection not supported yet\n return;\n }\n\n if (isWithin ^ isIncluded) {\n shape.classed(CLASS.INCLUDED, !isIncluded); // TODO: included/unincluded callback here\n\n shape.classed(CLASS.SELECTED, !isSelected);\n toggle.call($$, !isSelected, shape, d, i);\n }\n });\n };\n\n ChartInternal.prototype.dragstart = function (mouse) {\n var $$ = this,\n config = $$.config;\n\n if ($$.hasArcType()) {\n return;\n }\n\n if (!config.data_selection_enabled) {\n return;\n } // do nothing if not selectable\n\n\n $$.dragStart = mouse;\n $$.main.select('.' + CLASS.chart).append('rect').attr('class', CLASS.dragarea).style('opacity', 0.1);\n $$.dragging = true;\n };\n\n ChartInternal.prototype.dragend = function () {\n var $$ = this,\n config = $$.config;\n\n if ($$.hasArcType()) {\n return;\n }\n\n if (!config.data_selection_enabled) {\n return;\n } // do nothing if not selectable\n\n\n $$.main.select('.' + CLASS.dragarea).transition().duration(100).style('opacity', 0).remove();\n $$.main.selectAll('.' + CLASS.shape).classed(CLASS.INCLUDED, false);\n $$.dragging = false;\n };\n\n ChartInternal.prototype.getYFormat = function (forArc) {\n var $$ = this,\n formatForY = forArc && !$$.hasType('gauge') ? $$.defaultArcValueFormat : $$.yFormat,\n formatForY2 = forArc && !$$.hasType('gauge') ? $$.defaultArcValueFormat : $$.y2Format;\n return function (v, ratio, id) {\n var format = $$.axis.getId(id) === 'y2' ? formatForY2 : formatForY;\n return format.call($$, v, ratio);\n };\n };\n\n ChartInternal.prototype.yFormat = function (v) {\n var $$ = this,\n config = $$.config,\n format = config.axis_y_tick_format ? config.axis_y_tick_format : $$.defaultValueFormat;\n return format(v);\n };\n\n ChartInternal.prototype.y2Format = function (v) {\n var $$ = this,\n config = $$.config,\n format = config.axis_y2_tick_format ? config.axis_y2_tick_format : $$.defaultValueFormat;\n return format(v);\n };\n\n ChartInternal.prototype.defaultValueFormat = function (v) {\n return isValue(v) ? +v : \"\";\n };\n\n ChartInternal.prototype.defaultArcValueFormat = function (v, ratio) {\n return (ratio * 100).toFixed(1) + '%';\n };\n\n ChartInternal.prototype.dataLabelFormat = function (targetId) {\n var $$ = this,\n data_labels = $$.config.data_labels,\n format,\n defaultFormat = function defaultFormat(v) {\n return isValue(v) ? +v : \"\";\n }; // find format according to axis id\n\n\n if (typeof data_labels.format === 'function') {\n format = data_labels.format;\n } else if (_typeof(data_labels.format) === 'object') {\n if (data_labels.format[targetId]) {\n format = data_labels.format[targetId] === true ? defaultFormat : data_labels.format[targetId];\n } else {\n format = function format() {\n return '';\n };\n }\n } else {\n format = defaultFormat;\n }\n\n return format;\n };\n\n ChartInternal.prototype.initGrid = function () {\n var $$ = this,\n config = $$.config,\n d3 = $$.d3;\n $$.grid = $$.main.append('g').attr(\"clip-path\", $$.clipPathForGrid).attr('class', CLASS.grid);\n\n if (config.grid_x_show) {\n $$.grid.append(\"g\").attr(\"class\", CLASS.xgrids);\n }\n\n if (config.grid_y_show) {\n $$.grid.append('g').attr('class', CLASS.ygrids);\n }\n\n if (config.grid_focus_show) {\n $$.grid.append('g').attr(\"class\", CLASS.xgridFocus).append('line').attr('class', CLASS.xgridFocus);\n }\n\n $$.xgrid = d3.selectAll([]);\n\n if (!config.grid_lines_front) {\n $$.initGridLines();\n }\n };\n\n ChartInternal.prototype.initGridLines = function () {\n var $$ = this,\n d3 = $$.d3;\n $$.gridLines = $$.main.append('g').attr(\"clip-path\", $$.clipPathForGrid).attr('class', CLASS.grid + ' ' + CLASS.gridLines);\n $$.gridLines.append('g').attr(\"class\", CLASS.xgridLines);\n $$.gridLines.append('g').attr('class', CLASS.ygridLines);\n $$.xgridLines = d3.selectAll([]);\n };\n\n ChartInternal.prototype.updateXGrid = function (withoutUpdate) {\n var $$ = this,\n config = $$.config,\n d3 = $$.d3,\n xgridData = $$.generateGridData(config.grid_x_type, $$.x),\n tickOffset = $$.isCategorized() ? $$.xAxis.tickOffset() : 0;\n $$.xgridAttr = config.axis_rotated ? {\n 'x1': 0,\n 'x2': $$.width,\n 'y1': function y1(d) {\n return $$.x(d) - tickOffset;\n },\n 'y2': function y2(d) {\n return $$.x(d) - tickOffset;\n }\n } : {\n 'x1': function x1(d) {\n return $$.x(d) + tickOffset;\n },\n 'x2': function x2(d) {\n return $$.x(d) + tickOffset;\n },\n 'y1': 0,\n 'y2': $$.height\n };\n\n $$.xgridAttr.opacity = function () {\n var pos = +d3.select(this).attr(config.axis_rotated ? 'y1' : 'x1');\n return pos === (config.axis_rotated ? $$.height : 0) ? 0 : 1;\n };\n\n var xgrid = $$.main.select('.' + CLASS.xgrids).selectAll('.' + CLASS.xgrid).data(xgridData);\n var xgridEnter = xgrid.enter().append('line').attr(\"class\", CLASS.xgrid).attr('x1', $$.xgridAttr.x1).attr('x2', $$.xgridAttr.x2).attr('y1', $$.xgridAttr.y1).attr('y2', $$.xgridAttr.y2).style(\"opacity\", 0);\n $$.xgrid = xgridEnter.merge(xgrid);\n\n if (!withoutUpdate) {\n $$.xgrid.attr('x1', $$.xgridAttr.x1).attr('x2', $$.xgridAttr.x2).attr('y1', $$.xgridAttr.y1).attr('y2', $$.xgridAttr.y2).style(\"opacity\", $$.xgridAttr.opacity);\n }\n\n xgrid.exit().remove();\n };\n\n ChartInternal.prototype.updateYGrid = function () {\n var $$ = this,\n config = $$.config,\n gridValues = $$.yAxis.tickValues() || $$.y.ticks(config.grid_y_ticks);\n var ygrid = $$.main.select('.' + CLASS.ygrids).selectAll('.' + CLASS.ygrid).data(gridValues);\n var ygridEnter = ygrid.enter().append('line') // TODO: x1, x2, y1, y2, opacity need to be set here maybe\n .attr('class', CLASS.ygrid);\n $$.ygrid = ygridEnter.merge(ygrid);\n $$.ygrid.attr(\"x1\", config.axis_rotated ? $$.y : 0).attr(\"x2\", config.axis_rotated ? $$.y : $$.width).attr(\"y1\", config.axis_rotated ? 0 : $$.y).attr(\"y2\", config.axis_rotated ? $$.height : $$.y);\n ygrid.exit().remove();\n $$.smoothLines($$.ygrid, 'grid');\n };\n\n ChartInternal.prototype.gridTextAnchor = function (d) {\n return d.position ? d.position : \"end\";\n };\n\n ChartInternal.prototype.gridTextDx = function (d) {\n return d.position === 'start' ? 4 : d.position === 'middle' ? 0 : -4;\n };\n\n ChartInternal.prototype.xGridTextX = function (d) {\n return d.position === 'start' ? -this.height : d.position === 'middle' ? -this.height / 2 : 0;\n };\n\n ChartInternal.prototype.yGridTextX = function (d) {\n return d.position === 'start' ? 0 : d.position === 'middle' ? this.width / 2 : this.width;\n };\n\n ChartInternal.prototype.updateGrid = function (duration) {\n var $$ = this,\n main = $$.main,\n config = $$.config,\n xgridLine,\n xgridLineEnter,\n ygridLine,\n ygridLineEnter,\n xv = $$.xv.bind($$),\n yv = $$.yv.bind($$),\n xGridTextX = $$.xGridTextX.bind($$),\n yGridTextX = $$.yGridTextX.bind($$); // hide if arc type\n\n $$.grid.style('visibility', $$.hasArcType() ? 'hidden' : 'visible');\n main.select('line.' + CLASS.xgridFocus).style(\"visibility\", \"hidden\");\n\n if (config.grid_x_show) {\n $$.updateXGrid();\n }\n\n xgridLine = main.select('.' + CLASS.xgridLines).selectAll('.' + CLASS.xgridLine).data(config.grid_x_lines); // enter\n\n xgridLineEnter = xgridLine.enter().append('g').attr(\"class\", function (d) {\n return CLASS.xgridLine + (d['class'] ? ' ' + d['class'] : '');\n });\n xgridLineEnter.append('line').attr(\"x1\", config.axis_rotated ? 0 : xv).attr(\"x2\", config.axis_rotated ? $$.width : xv).attr(\"y1\", config.axis_rotated ? xv : 0).attr(\"y2\", config.axis_rotated ? xv : $$.height).style(\"opacity\", 0);\n xgridLineEnter.append('text').attr(\"text-anchor\", $$.gridTextAnchor).attr(\"transform\", config.axis_rotated ? \"\" : \"rotate(-90)\").attr(\"x\", config.axis_rotated ? yGridTextX : xGridTextX).attr(\"y\", xv).attr('dx', $$.gridTextDx).attr('dy', -5).style(\"opacity\", 0); // udpate\n\n $$.xgridLines = xgridLineEnter.merge(xgridLine); // done in d3.transition() of the end of this function\n // exit\n\n xgridLine.exit().transition().duration(duration).style(\"opacity\", 0).remove(); // Y-Grid\n\n if (config.grid_y_show) {\n $$.updateYGrid();\n }\n\n ygridLine = main.select('.' + CLASS.ygridLines).selectAll('.' + CLASS.ygridLine).data(config.grid_y_lines); // enter\n\n ygridLineEnter = ygridLine.enter().append('g').attr(\"class\", function (d) {\n return CLASS.ygridLine + (d['class'] ? ' ' + d['class'] : '');\n });\n ygridLineEnter.append('line').attr(\"x1\", config.axis_rotated ? yv : 0).attr(\"x2\", config.axis_rotated ? yv : $$.width).attr(\"y1\", config.axis_rotated ? 0 : yv).attr(\"y2\", config.axis_rotated ? $$.height : yv).style(\"opacity\", 0);\n ygridLineEnter.append('text').attr(\"text-anchor\", $$.gridTextAnchor).attr(\"transform\", config.axis_rotated ? \"rotate(-90)\" : \"\").attr(\"x\", config.axis_rotated ? xGridTextX : yGridTextX).attr(\"y\", yv).attr('dx', $$.gridTextDx).attr('dy', -5).style(\"opacity\", 0); // update\n\n $$.ygridLines = ygridLineEnter.merge(ygridLine);\n $$.ygridLines.select('line').transition().duration(duration).attr(\"x1\", config.axis_rotated ? yv : 0).attr(\"x2\", config.axis_rotated ? yv : $$.width).attr(\"y1\", config.axis_rotated ? 0 : yv).attr(\"y2\", config.axis_rotated ? $$.height : yv).style(\"opacity\", 1);\n $$.ygridLines.select('text').transition().duration(duration).attr(\"x\", config.axis_rotated ? $$.xGridTextX.bind($$) : $$.yGridTextX.bind($$)).attr(\"y\", yv).text(function (d) {\n return d.text;\n }).style(\"opacity\", 1); // exit\n\n ygridLine.exit().transition().duration(duration).style(\"opacity\", 0).remove();\n };\n\n ChartInternal.prototype.redrawGrid = function (withTransition, transition) {\n var $$ = this,\n config = $$.config,\n xv = $$.xv.bind($$),\n lines = $$.xgridLines.select('line'),\n texts = $$.xgridLines.select('text');\n return [(withTransition ? lines.transition(transition) : lines).attr(\"x1\", config.axis_rotated ? 0 : xv).attr(\"x2\", config.axis_rotated ? $$.width : xv).attr(\"y1\", config.axis_rotated ? xv : 0).attr(\"y2\", config.axis_rotated ? xv : $$.height).style(\"opacity\", 1), (withTransition ? texts.transition(transition) : texts).attr(\"x\", config.axis_rotated ? $$.yGridTextX.bind($$) : $$.xGridTextX.bind($$)).attr(\"y\", xv).text(function (d) {\n return d.text;\n }).style(\"opacity\", 1)];\n };\n\n ChartInternal.prototype.showXGridFocus = function (selectedData) {\n var $$ = this,\n config = $$.config,\n dataToShow = selectedData.filter(function (d) {\n return d && isValue(d.value);\n }),\n focusEl = $$.main.selectAll('line.' + CLASS.xgridFocus),\n xx = $$.xx.bind($$);\n\n if (!config.tooltip_show) {\n return;\n } // Hide when scatter plot exists\n\n\n if ($$.hasType('scatter') || $$.hasArcType()) {\n return;\n }\n\n focusEl.style(\"visibility\", \"visible\").data([dataToShow[0]]).attr(config.axis_rotated ? 'y1' : 'x1', xx).attr(config.axis_rotated ? 'y2' : 'x2', xx);\n $$.smoothLines(focusEl, 'grid');\n };\n\n ChartInternal.prototype.hideXGridFocus = function () {\n this.main.select('line.' + CLASS.xgridFocus).style(\"visibility\", \"hidden\");\n };\n\n ChartInternal.prototype.updateXgridFocus = function () {\n var $$ = this,\n config = $$.config;\n $$.main.select('line.' + CLASS.xgridFocus).attr(\"x1\", config.axis_rotated ? 0 : -10).attr(\"x2\", config.axis_rotated ? $$.width : -10).attr(\"y1\", config.axis_rotated ? -10 : 0).attr(\"y2\", config.axis_rotated ? -10 : $$.height);\n };\n\n ChartInternal.prototype.generateGridData = function (type, scale) {\n var $$ = this,\n gridData = [],\n xDomain,\n firstYear,\n lastYear,\n i,\n tickNum = $$.main.select(\".\" + CLASS.axisX).selectAll('.tick').size();\n\n if (type === 'year') {\n xDomain = $$.getXDomain();\n firstYear = xDomain[0].getFullYear();\n lastYear = xDomain[1].getFullYear();\n\n for (i = firstYear; i <= lastYear; i++) {\n gridData.push(new Date(i + '-01-01 00:00:00'));\n }\n } else {\n gridData = scale.ticks(10);\n\n if (gridData.length > tickNum) {\n // use only int\n gridData = gridData.filter(function (d) {\n return (\"\" + d).indexOf('.') < 0;\n });\n }\n }\n\n return gridData;\n };\n\n ChartInternal.prototype.getGridFilterToRemove = function (params) {\n return params ? function (line) {\n var found = false;\n [].concat(params).forEach(function (param) {\n if ('value' in param && line.value === param.value || 'class' in param && line['class'] === param['class']) {\n found = true;\n }\n });\n return found;\n } : function () {\n return true;\n };\n };\n\n ChartInternal.prototype.removeGridLines = function (params, forX) {\n var $$ = this,\n config = $$.config,\n toRemove = $$.getGridFilterToRemove(params),\n toShow = function toShow(line) {\n return !toRemove(line);\n },\n classLines = forX ? CLASS.xgridLines : CLASS.ygridLines,\n classLine = forX ? CLASS.xgridLine : CLASS.ygridLine;\n\n $$.main.select('.' + classLines).selectAll('.' + classLine).filter(toRemove).transition().duration(config.transition_duration).style('opacity', 0).remove();\n\n if (forX) {\n config.grid_x_lines = config.grid_x_lines.filter(toShow);\n } else {\n config.grid_y_lines = config.grid_y_lines.filter(toShow);\n }\n };\n\n ChartInternal.prototype.initEventRect = function () {\n var $$ = this,\n config = $$.config;\n $$.main.select('.' + CLASS.chart).append(\"g\").attr(\"class\", CLASS.eventRects).style('fill-opacity', 0);\n $$.eventRect = $$.main.select('.' + CLASS.eventRects).append('rect').attr('class', CLASS.eventRect); // event rect handle zoom event as well\n\n if (config.zoom_enabled && $$.zoom) {\n $$.eventRect.call($$.zoom).on(\"dblclick.zoom\", null);\n\n if (config.zoom_initialRange) {\n // WORKAROUND: Add transition to apply transform immediately when no subchart\n $$.eventRect.transition().duration(0).call($$.zoom.transform, $$.zoomTransform(config.zoom_initialRange));\n }\n }\n };\n\n ChartInternal.prototype.redrawEventRect = function () {\n var $$ = this,\n d3 = $$.d3,\n config = $$.config,\n x,\n y,\n w,\n h; // TODO: rotated not supported yet\n\n x = 0;\n y = 0;\n w = $$.width;\n h = $$.height;\n\n function mouseout() {\n $$.svg.select('.' + CLASS.eventRect).style('cursor', null);\n $$.hideXGridFocus();\n $$.hideTooltip();\n $$.unexpandCircles();\n $$.unexpandBars();\n } // rects for mouseover\n\n\n $$.main.select('.' + CLASS.eventRects).style('cursor', config.zoom_enabled ? config.axis_rotated ? 'ns-resize' : 'ew-resize' : null);\n $$.eventRect.attr('x', x).attr('y', y).attr('width', w).attr('height', h).on('mouseout', config.interaction_enabled ? function () {\n if (!config) {\n return;\n } // chart is destroyed\n\n\n if ($$.hasArcType()) {\n return;\n }\n\n mouseout();\n } : null).on('mousemove', config.interaction_enabled ? function () {\n var targetsToShow, mouse, closest, sameXData, selectedData;\n\n if ($$.dragging) {\n return;\n } // do nothing when dragging\n\n\n if ($$.hasArcType(targetsToShow)) {\n return;\n }\n\n targetsToShow = $$.filterTargetsToShow($$.data.targets);\n mouse = d3.mouse(this);\n closest = $$.findClosestFromTargets(targetsToShow, mouse);\n\n if ($$.mouseover && (!closest || closest.id !== $$.mouseover.id)) {\n config.data_onmouseout.call($$.api, $$.mouseover);\n $$.mouseover = undefined;\n }\n\n if (!closest) {\n mouseout();\n return;\n }\n\n if ($$.isScatterType(closest) || !config.tooltip_grouped) {\n sameXData = [closest];\n } else {\n sameXData = $$.filterByX(targetsToShow, closest.x);\n } // show tooltip when cursor is close to some point\n\n\n selectedData = sameXData.map(function (d) {\n return $$.addName(d);\n });\n $$.showTooltip(selectedData, this); // expand points\n\n if (config.point_focus_expand_enabled) {\n $$.unexpandCircles();\n selectedData.forEach(function (d) {\n $$.expandCircles(d.index, d.id, false);\n });\n }\n\n $$.expandBars(closest.index, closest.id, true); // Show xgrid focus line\n\n $$.showXGridFocus(selectedData); // Show cursor as pointer if point is close to mouse position\n\n if ($$.isBarType(closest.id) || $$.dist(closest, mouse) < config.point_sensitivity) {\n $$.svg.select('.' + CLASS.eventRect).style('cursor', 'pointer');\n\n if (!$$.mouseover) {\n config.data_onmouseover.call($$.api, closest);\n $$.mouseover = closest;\n }\n }\n } : null).on('click', config.interaction_enabled ? function () {\n var targetsToShow, mouse, closest, sameXData;\n\n if ($$.hasArcType(targetsToShow)) {\n return;\n }\n\n targetsToShow = $$.filterTargetsToShow($$.data.targets);\n mouse = d3.mouse(this);\n closest = $$.findClosestFromTargets(targetsToShow, mouse);\n\n if (!closest) {\n return;\n } // select if selection enabled\n\n\n if ($$.isBarType(closest.id) || $$.dist(closest, mouse) < config.point_sensitivity) {\n if ($$.isScatterType(closest) || !config.data_selection_grouped) {\n sameXData = [closest];\n } else {\n sameXData = $$.filterByX(targetsToShow, closest.x);\n }\n\n sameXData.forEach(function (d) {\n $$.main.selectAll('.' + CLASS.shapes + $$.getTargetSelectorSuffix(d.id)).selectAll('.' + CLASS.shape + '-' + d.index).each(function () {\n if (config.data_selection_grouped || $$.isWithinShape(this, d)) {\n $$.toggleShape(this, d, d.index);\n config.data_onclick.call($$.api, d, this);\n }\n });\n });\n }\n } : null).call(config.interaction_enabled && config.data_selection_draggable && $$.drag ? d3.drag().on('drag', function () {\n $$.drag(d3.mouse(this));\n }).on('start', function () {\n $$.dragstart(d3.mouse(this));\n }).on('end', function () {\n $$.dragend();\n }) : function () {});\n };\n\n ChartInternal.prototype.getMousePosition = function (data) {\n var $$ = this;\n return [$$.x(data.x), $$.getYScale(data.id)(data.value)];\n };\n\n ChartInternal.prototype.dispatchEvent = function (type, mouse) {\n var $$ = this,\n selector = '.' + CLASS.eventRect,\n eventRect = $$.main.select(selector).node(),\n box = eventRect.getBoundingClientRect(),\n x = box.left + (mouse ? mouse[0] : 0),\n y = box.top + (mouse ? mouse[1] : 0),\n event = document.createEvent(\"MouseEvents\");\n event.initMouseEvent(type, true, true, window, 0, x, y, x, y, false, false, false, false, 0, null);\n eventRect.dispatchEvent(event);\n };\n\n ChartInternal.prototype.initLegend = function () {\n var $$ = this;\n $$.legendItemTextBox = {};\n $$.legendHasRendered = false;\n $$.legend = $$.svg.append(\"g\").attr(\"transform\", $$.getTranslate('legend'));\n\n if (!$$.config.legend_show) {\n $$.legend.style('visibility', 'hidden');\n $$.hiddenLegendIds = $$.mapToIds($$.data.targets);\n return;\n } // MEMO: call here to update legend box and tranlate for all\n // MEMO: translate will be upated by this, so transform not needed in updateLegend()\n\n\n $$.updateLegendWithDefaults();\n };\n\n ChartInternal.prototype.updateLegendWithDefaults = function () {\n var $$ = this;\n $$.updateLegend($$.mapToIds($$.data.targets), {\n withTransform: false,\n withTransitionForTransform: false,\n withTransition: false\n });\n };\n\n ChartInternal.prototype.updateSizeForLegend = function (legendHeight, legendWidth) {\n var $$ = this,\n config = $$.config,\n insetLegendPosition = {\n top: $$.isLegendTop ? $$.getCurrentPaddingTop() + config.legend_inset_y + 5.5 : $$.currentHeight - legendHeight - $$.getCurrentPaddingBottom() - config.legend_inset_y,\n left: $$.isLegendLeft ? $$.getCurrentPaddingLeft() + config.legend_inset_x + 0.5 : $$.currentWidth - legendWidth - $$.getCurrentPaddingRight() - config.legend_inset_x + 0.5\n };\n $$.margin3 = {\n top: $$.isLegendRight ? 0 : $$.isLegendInset ? insetLegendPosition.top : $$.currentHeight - legendHeight,\n right: NaN,\n bottom: 0,\n left: $$.isLegendRight ? $$.currentWidth - legendWidth : $$.isLegendInset ? insetLegendPosition.left : 0\n };\n };\n\n ChartInternal.prototype.transformLegend = function (withTransition) {\n var $$ = this;\n (withTransition ? $$.legend.transition() : $$.legend).attr(\"transform\", $$.getTranslate('legend'));\n };\n\n ChartInternal.prototype.updateLegendStep = function (step) {\n this.legendStep = step;\n };\n\n ChartInternal.prototype.updateLegendItemWidth = function (w) {\n this.legendItemWidth = w;\n };\n\n ChartInternal.prototype.updateLegendItemHeight = function (h) {\n this.legendItemHeight = h;\n };\n\n ChartInternal.prototype.getLegendWidth = function () {\n var $$ = this;\n return $$.config.legend_show ? $$.isLegendRight || $$.isLegendInset ? $$.legendItemWidth * ($$.legendStep + 1) : $$.currentWidth : 0;\n };\n\n ChartInternal.prototype.getLegendHeight = function () {\n var $$ = this,\n h = 0;\n\n if ($$.config.legend_show) {\n if ($$.isLegendRight) {\n h = $$.currentHeight;\n } else {\n h = Math.max(20, $$.legendItemHeight) * ($$.legendStep + 1);\n }\n }\n\n return h;\n };\n\n ChartInternal.prototype.opacityForLegend = function (legendItem) {\n return legendItem.classed(CLASS.legendItemHidden) ? null : 1;\n };\n\n ChartInternal.prototype.opacityForUnfocusedLegend = function (legendItem) {\n return legendItem.classed(CLASS.legendItemHidden) ? null : 0.3;\n };\n\n ChartInternal.prototype.toggleFocusLegend = function (targetIds, focus) {\n var $$ = this;\n targetIds = $$.mapToTargetIds(targetIds);\n $$.legend.selectAll('.' + CLASS.legendItem).filter(function (id) {\n return targetIds.indexOf(id) >= 0;\n }).classed(CLASS.legendItemFocused, focus).transition().duration(100).style('opacity', function () {\n var opacity = focus ? $$.opacityForLegend : $$.opacityForUnfocusedLegend;\n return opacity.call($$, $$.d3.select(this));\n });\n };\n\n ChartInternal.prototype.revertLegend = function () {\n var $$ = this,\n d3 = $$.d3;\n $$.legend.selectAll('.' + CLASS.legendItem).classed(CLASS.legendItemFocused, false).transition().duration(100).style('opacity', function () {\n return $$.opacityForLegend(d3.select(this));\n });\n };\n\n ChartInternal.prototype.showLegend = function (targetIds) {\n var $$ = this,\n config = $$.config;\n\n if (!config.legend_show) {\n config.legend_show = true;\n $$.legend.style('visibility', 'visible');\n\n if (!$$.legendHasRendered) {\n $$.updateLegendWithDefaults();\n }\n }\n\n $$.removeHiddenLegendIds(targetIds);\n $$.legend.selectAll($$.selectorLegends(targetIds)).style('visibility', 'visible').transition().style('opacity', function () {\n return $$.opacityForLegend($$.d3.select(this));\n });\n };\n\n ChartInternal.prototype.hideLegend = function (targetIds) {\n var $$ = this,\n config = $$.config;\n\n if (config.legend_show && isEmpty(targetIds)) {\n config.legend_show = false;\n $$.legend.style('visibility', 'hidden');\n }\n\n $$.addHiddenLegendIds(targetIds);\n $$.legend.selectAll($$.selectorLegends(targetIds)).style('opacity', 0).style('visibility', 'hidden');\n };\n\n ChartInternal.prototype.clearLegendItemTextBoxCache = function () {\n this.legendItemTextBox = {};\n };\n\n ChartInternal.prototype.updateLegend = function (targetIds, options, transitions) {\n var $$ = this,\n config = $$.config;\n var xForLegend, xForLegendText, xForLegendRect, yForLegend, yForLegendText, yForLegendRect, x1ForLegendTile, x2ForLegendTile, yForLegendTile;\n var paddingTop = 4,\n paddingRight = 10,\n maxWidth = 0,\n maxHeight = 0,\n posMin = 10,\n tileWidth = config.legend_item_tile_width + 5;\n var l,\n totalLength = 0,\n offsets = {},\n widths = {},\n heights = {},\n margins = [0],\n steps = {},\n step = 0;\n var withTransition, withTransitionForTransform;\n var texts, rects, tiles, background; // Skip elements when their name is set to null\n\n targetIds = targetIds.filter(function (id) {\n return !isDefined(config.data_names[id]) || config.data_names[id] !== null;\n });\n options = options || {};\n withTransition = getOption(options, \"withTransition\", true);\n withTransitionForTransform = getOption(options, \"withTransitionForTransform\", true);\n\n function getTextBox(textElement, id) {\n if (!$$.legendItemTextBox[id]) {\n $$.legendItemTextBox[id] = $$.getTextRect(textElement.textContent, CLASS.legendItem, textElement);\n }\n\n return $$.legendItemTextBox[id];\n }\n\n function updatePositions(textElement, id, index) {\n var reset = index === 0,\n isLast = index === targetIds.length - 1,\n box = getTextBox(textElement, id),\n itemWidth = box.width + tileWidth + (isLast && !($$.isLegendRight || $$.isLegendInset) ? 0 : paddingRight) + config.legend_padding,\n itemHeight = box.height + paddingTop,\n itemLength = $$.isLegendRight || $$.isLegendInset ? itemHeight : itemWidth,\n areaLength = $$.isLegendRight || $$.isLegendInset ? $$.getLegendHeight() : $$.getLegendWidth(),\n margin,\n maxLength; // MEMO: care about condifion of step, totalLength\n\n function updateValues(id, withoutStep) {\n if (!withoutStep) {\n margin = (areaLength - totalLength - itemLength) / 2;\n\n if (margin < posMin) {\n margin = (areaLength - itemLength) / 2;\n totalLength = 0;\n step++;\n }\n }\n\n steps[id] = step;\n margins[step] = $$.isLegendInset ? 10 : margin;\n offsets[id] = totalLength;\n totalLength += itemLength;\n }\n\n if (reset) {\n totalLength = 0;\n step = 0;\n maxWidth = 0;\n maxHeight = 0;\n }\n\n if (config.legend_show && !$$.isLegendToShow(id)) {\n widths[id] = heights[id] = steps[id] = offsets[id] = 0;\n return;\n }\n\n widths[id] = itemWidth;\n heights[id] = itemHeight;\n\n if (!maxWidth || itemWidth >= maxWidth) {\n maxWidth = itemWidth;\n }\n\n if (!maxHeight || itemHeight >= maxHeight) {\n maxHeight = itemHeight;\n }\n\n maxLength = $$.isLegendRight || $$.isLegendInset ? maxHeight : maxWidth;\n\n if (config.legend_equally) {\n Object.keys(widths).forEach(function (id) {\n widths[id] = maxWidth;\n });\n Object.keys(heights).forEach(function (id) {\n heights[id] = maxHeight;\n });\n margin = (areaLength - maxLength * targetIds.length) / 2;\n\n if (margin < posMin) {\n totalLength = 0;\n step = 0;\n targetIds.forEach(function (id) {\n updateValues(id);\n });\n } else {\n updateValues(id, true);\n }\n } else {\n updateValues(id);\n }\n }\n\n if ($$.isLegendInset) {\n step = config.legend_inset_step ? config.legend_inset_step : targetIds.length;\n $$.updateLegendStep(step);\n }\n\n if ($$.isLegendRight) {\n xForLegend = function xForLegend(id) {\n return maxWidth * steps[id];\n };\n\n yForLegend = function yForLegend(id) {\n return margins[steps[id]] + offsets[id];\n };\n } else if ($$.isLegendInset) {\n xForLegend = function xForLegend(id) {\n return maxWidth * steps[id] + 10;\n };\n\n yForLegend = function yForLegend(id) {\n return margins[steps[id]] + offsets[id];\n };\n } else {\n xForLegend = function xForLegend(id) {\n return margins[steps[id]] + offsets[id];\n };\n\n yForLegend = function yForLegend(id) {\n return maxHeight * steps[id];\n };\n }\n\n xForLegendText = function xForLegendText(id, i) {\n return xForLegend(id, i) + 4 + config.legend_item_tile_width;\n };\n\n yForLegendText = function yForLegendText(id, i) {\n return yForLegend(id, i) + 9;\n };\n\n xForLegendRect = function xForLegendRect(id, i) {\n return xForLegend(id, i);\n };\n\n yForLegendRect = function yForLegendRect(id, i) {\n return yForLegend(id, i) - 5;\n };\n\n x1ForLegendTile = function x1ForLegendTile(id, i) {\n return xForLegend(id, i) - 2;\n };\n\n x2ForLegendTile = function x2ForLegendTile(id, i) {\n return xForLegend(id, i) - 2 + config.legend_item_tile_width;\n };\n\n yForLegendTile = function yForLegendTile(id, i) {\n return yForLegend(id, i) + 4;\n }; // Define g for legend area\n\n\n l = $$.legend.selectAll('.' + CLASS.legendItem).data(targetIds).enter().append('g').attr('class', function (id) {\n return $$.generateClass(CLASS.legendItem, id);\n }).style('visibility', function (id) {\n return $$.isLegendToShow(id) ? 'visible' : 'hidden';\n }).style('cursor', 'pointer').on('click', function (id) {\n if (config.legend_item_onclick) {\n config.legend_item_onclick.call($$, id);\n } else {\n if ($$.d3.event.altKey) {\n $$.api.hide();\n $$.api.show(id);\n } else {\n $$.api.toggle(id);\n $$.isTargetToShow(id) ? $$.api.focus(id) : $$.api.revert();\n }\n }\n }).on('mouseover', function (id) {\n if (config.legend_item_onmouseover) {\n config.legend_item_onmouseover.call($$, id);\n } else {\n $$.d3.select(this).classed(CLASS.legendItemFocused, true);\n\n if (!$$.transiting && $$.isTargetToShow(id)) {\n $$.api.focus(id);\n }\n }\n }).on('mouseout', function (id) {\n if (config.legend_item_onmouseout) {\n config.legend_item_onmouseout.call($$, id);\n } else {\n $$.d3.select(this).classed(CLASS.legendItemFocused, false);\n $$.api.revert();\n }\n });\n l.append('text').text(function (id) {\n return isDefined(config.data_names[id]) ? config.data_names[id] : id;\n }).each(function (id, i) {\n updatePositions(this, id, i);\n }).style(\"pointer-events\", \"none\").attr('x', $$.isLegendRight || $$.isLegendInset ? xForLegendText : -200).attr('y', $$.isLegendRight || $$.isLegendInset ? -200 : yForLegendText);\n l.append('rect').attr(\"class\", CLASS.legendItemEvent).style('fill-opacity', 0).attr('x', $$.isLegendRight || $$.isLegendInset ? xForLegendRect : -200).attr('y', $$.isLegendRight || $$.isLegendInset ? -200 : yForLegendRect);\n l.append('line').attr('class', CLASS.legendItemTile).style('stroke', $$.color).style(\"pointer-events\", \"none\").attr('x1', $$.isLegendRight || $$.isLegendInset ? x1ForLegendTile : -200).attr('y1', $$.isLegendRight || $$.isLegendInset ? -200 : yForLegendTile).attr('x2', $$.isLegendRight || $$.isLegendInset ? x2ForLegendTile : -200).attr('y2', $$.isLegendRight || $$.isLegendInset ? -200 : yForLegendTile).attr('stroke-width', config.legend_item_tile_height); // Set background for inset legend\n\n background = $$.legend.select('.' + CLASS.legendBackground + ' rect');\n\n if ($$.isLegendInset && maxWidth > 0 && background.size() === 0) {\n background = $$.legend.insert('g', '.' + CLASS.legendItem).attr(\"class\", CLASS.legendBackground).append('rect');\n }\n\n texts = $$.legend.selectAll('text').data(targetIds).text(function (id) {\n return isDefined(config.data_names[id]) ? config.data_names[id] : id;\n }) // MEMO: needed for update\n .each(function (id, i) {\n updatePositions(this, id, i);\n });\n (withTransition ? texts.transition() : texts).attr('x', xForLegendText).attr('y', yForLegendText);\n rects = $$.legend.selectAll('rect.' + CLASS.legendItemEvent).data(targetIds);\n (withTransition ? rects.transition() : rects).attr('width', function (id) {\n return widths[id];\n }).attr('height', function (id) {\n return heights[id];\n }).attr('x', xForLegendRect).attr('y', yForLegendRect);\n tiles = $$.legend.selectAll('line.' + CLASS.legendItemTile).data(targetIds);\n (withTransition ? tiles.transition() : tiles).style('stroke', $$.levelColor ? function (id) {\n return $$.levelColor($$.cache[id].values[0].value);\n } : $$.color).attr('x1', x1ForLegendTile).attr('y1', yForLegendTile).attr('x2', x2ForLegendTile).attr('y2', yForLegendTile);\n\n if (background) {\n (withTransition ? background.transition() : background).attr('height', $$.getLegendHeight() - 12).attr('width', maxWidth * (step + 1) + 10);\n } // toggle legend state\n\n\n $$.legend.selectAll('.' + CLASS.legendItem).classed(CLASS.legendItemHidden, function (id) {\n return !$$.isTargetToShow(id);\n }); // Update all to reflect change of legend\n\n $$.updateLegendItemWidth(maxWidth);\n $$.updateLegendItemHeight(maxHeight);\n $$.updateLegendStep(step); // Update size and scale\n\n $$.updateSizes();\n $$.updateScales();\n $$.updateSvgSize(); // Update g positions\n\n $$.transformAll(withTransitionForTransform, transitions);\n $$.legendHasRendered = true;\n };\n\n ChartInternal.prototype.initRegion = function () {\n var $$ = this;\n $$.region = $$.main.append('g').attr(\"clip-path\", $$.clipPath).attr(\"class\", CLASS.regions);\n };\n\n ChartInternal.prototype.updateRegion = function (duration) {\n var $$ = this,\n config = $$.config; // hide if arc type\n\n $$.region.style('visibility', $$.hasArcType() ? 'hidden' : 'visible');\n var mainRegion = $$.main.select('.' + CLASS.regions).selectAll('.' + CLASS.region).data(config.regions);\n var mainRegionEnter = mainRegion.enter().append('rect').attr(\"x\", $$.regionX.bind($$)).attr(\"y\", $$.regionY.bind($$)).attr(\"width\", $$.regionWidth.bind($$)).attr(\"height\", $$.regionHeight.bind($$)).style(\"fill-opacity\", 0);\n $$.mainRegion = mainRegionEnter.merge(mainRegion).attr('class', $$.classRegion.bind($$));\n mainRegion.exit().transition().duration(duration).style(\"opacity\", 0).remove();\n };\n\n ChartInternal.prototype.redrawRegion = function (withTransition, transition) {\n var $$ = this,\n regions = $$.mainRegion;\n return [(withTransition ? regions.transition(transition) : regions).attr(\"x\", $$.regionX.bind($$)).attr(\"y\", $$.regionY.bind($$)).attr(\"width\", $$.regionWidth.bind($$)).attr(\"height\", $$.regionHeight.bind($$)).style(\"fill-opacity\", function (d) {\n return isValue(d.opacity) ? d.opacity : 0.1;\n })];\n };\n\n ChartInternal.prototype.regionX = function (d) {\n var $$ = this,\n config = $$.config,\n xPos,\n yScale = d.axis === 'y' ? $$.y : $$.y2;\n\n if (d.axis === 'y' || d.axis === 'y2') {\n xPos = config.axis_rotated ? 'start' in d ? yScale(d.start) : 0 : 0;\n } else {\n xPos = config.axis_rotated ? 0 : 'start' in d ? $$.x($$.isTimeSeries() ? $$.parseDate(d.start) : d.start) : 0;\n }\n\n return xPos;\n };\n\n ChartInternal.prototype.regionY = function (d) {\n var $$ = this,\n config = $$.config,\n yPos,\n yScale = d.axis === 'y' ? $$.y : $$.y2;\n\n if (d.axis === 'y' || d.axis === 'y2') {\n yPos = config.axis_rotated ? 0 : 'end' in d ? yScale(d.end) : 0;\n } else {\n yPos = config.axis_rotated ? 'start' in d ? $$.x($$.isTimeSeries() ? $$.parseDate(d.start) : d.start) : 0 : 0;\n }\n\n return yPos;\n };\n\n ChartInternal.prototype.regionWidth = function (d) {\n var $$ = this,\n config = $$.config,\n start = $$.regionX(d),\n end,\n yScale = d.axis === 'y' ? $$.y : $$.y2;\n\n if (d.axis === 'y' || d.axis === 'y2') {\n end = config.axis_rotated ? 'end' in d ? yScale(d.end) : $$.width : $$.width;\n } else {\n end = config.axis_rotated ? $$.width : 'end' in d ? $$.x($$.isTimeSeries() ? $$.parseDate(d.end) : d.end) : $$.width;\n }\n\n return end < start ? 0 : end - start;\n };\n\n ChartInternal.prototype.regionHeight = function (d) {\n var $$ = this,\n config = $$.config,\n start = this.regionY(d),\n end,\n yScale = d.axis === 'y' ? $$.y : $$.y2;\n\n if (d.axis === 'y' || d.axis === 'y2') {\n end = config.axis_rotated ? $$.height : 'start' in d ? yScale(d.start) : $$.height;\n } else {\n end = config.axis_rotated ? 'end' in d ? $$.x($$.isTimeSeries() ? $$.parseDate(d.end) : d.end) : $$.height : $$.height;\n }\n\n return end < start ? 0 : end - start;\n };\n\n ChartInternal.prototype.isRegionOnX = function (d) {\n return !d.axis || d.axis === 'x';\n };\n\n ChartInternal.prototype.getScale = function (min, max, forTimeseries) {\n return (forTimeseries ? this.d3.scaleTime() : this.d3.scaleLinear()).range([min, max]);\n };\n\n ChartInternal.prototype.getX = function (min, max, domain, offset) {\n var $$ = this,\n scale = $$.getScale(min, max, $$.isTimeSeries()),\n _scale = domain ? scale.domain(domain) : scale,\n key; // Define customized scale if categorized axis\n\n\n if ($$.isCategorized()) {\n offset = offset || function () {\n return 0;\n };\n\n scale = function scale(d, raw) {\n var v = _scale(d) + offset(d);\n return raw ? v : Math.ceil(v);\n };\n } else {\n scale = function scale(d, raw) {\n var v = _scale(d);\n\n return raw ? v : Math.ceil(v);\n };\n } // define functions\n\n\n for (key in _scale) {\n scale[key] = _scale[key];\n }\n\n scale.orgDomain = function () {\n return _scale.domain();\n }; // define custom domain() for categorized axis\n\n\n if ($$.isCategorized()) {\n scale.domain = function (domain) {\n if (!arguments.length) {\n domain = this.orgDomain();\n return [domain[0], domain[1] + 1];\n }\n\n _scale.domain(domain);\n\n return scale;\n };\n }\n\n return scale;\n };\n\n ChartInternal.prototype.getY = function (min, max, domain) {\n var scale = this.getScale(min, max, this.isTimeSeriesY());\n\n if (domain) {\n scale.domain(domain);\n }\n\n return scale;\n };\n\n ChartInternal.prototype.getYScale = function (id) {\n return this.axis.getId(id) === 'y2' ? this.y2 : this.y;\n };\n\n ChartInternal.prototype.getSubYScale = function (id) {\n return this.axis.getId(id) === 'y2' ? this.subY2 : this.subY;\n };\n\n ChartInternal.prototype.updateScales = function () {\n var $$ = this,\n config = $$.config,\n forInit = !$$.x; // update edges\n\n $$.xMin = config.axis_rotated ? 1 : 0;\n $$.xMax = config.axis_rotated ? $$.height : $$.width;\n $$.yMin = config.axis_rotated ? 0 : $$.height;\n $$.yMax = config.axis_rotated ? $$.width : 1;\n $$.subXMin = $$.xMin;\n $$.subXMax = $$.xMax;\n $$.subYMin = config.axis_rotated ? 0 : $$.height2;\n $$.subYMax = config.axis_rotated ? $$.width2 : 1; // update scales\n\n $$.x = $$.getX($$.xMin, $$.xMax, forInit ? undefined : $$.x.orgDomain(), function () {\n return $$.xAxis.tickOffset();\n });\n $$.y = $$.getY($$.yMin, $$.yMax, forInit ? config.axis_y_default : $$.y.domain());\n $$.y2 = $$.getY($$.yMin, $$.yMax, forInit ? config.axis_y2_default : $$.y2.domain());\n $$.subX = $$.getX($$.xMin, $$.xMax, $$.orgXDomain, function (d) {\n return d % 1 ? 0 : $$.subXAxis.tickOffset();\n });\n $$.subY = $$.getY($$.subYMin, $$.subYMax, forInit ? config.axis_y_default : $$.subY.domain());\n $$.subY2 = $$.getY($$.subYMin, $$.subYMax, forInit ? config.axis_y2_default : $$.subY2.domain()); // update axes\n\n $$.xAxisTickFormat = $$.axis.getXAxisTickFormat();\n $$.xAxisTickValues = $$.axis.getXAxisTickValues();\n $$.yAxisTickValues = $$.axis.getYAxisTickValues();\n $$.y2AxisTickValues = $$.axis.getY2AxisTickValues();\n $$.xAxis = $$.axis.getXAxis($$.x, $$.xOrient, $$.xAxisTickFormat, $$.xAxisTickValues, config.axis_x_tick_outer);\n $$.subXAxis = $$.axis.getXAxis($$.subX, $$.subXOrient, $$.xAxisTickFormat, $$.xAxisTickValues, config.axis_x_tick_outer);\n $$.yAxis = $$.axis.getYAxis($$.y, $$.yOrient, config.axis_y_tick_format, $$.yAxisTickValues, config.axis_y_tick_outer);\n $$.y2Axis = $$.axis.getYAxis($$.y2, $$.y2Orient, config.axis_y2_tick_format, $$.y2AxisTickValues, config.axis_y2_tick_outer); // Set initialized scales to brush and zoom\n\n if (!forInit) {\n if ($$.brush) {\n $$.brush.updateScale($$.subX);\n }\n } // update for arc\n\n\n if ($$.updateArc) {\n $$.updateArc();\n }\n };\n\n ChartInternal.prototype.selectPoint = function (target, d, i) {\n var $$ = this,\n config = $$.config,\n cx = (config.axis_rotated ? $$.circleY : $$.circleX).bind($$),\n cy = (config.axis_rotated ? $$.circleX : $$.circleY).bind($$),\n r = $$.pointSelectR.bind($$);\n config.data_onselected.call($$.api, d, target.node()); // add selected-circle on low layer g\n\n $$.main.select('.' + CLASS.selectedCircles + $$.getTargetSelectorSuffix(d.id)).selectAll('.' + CLASS.selectedCircle + '-' + i).data([d]).enter().append('circle').attr(\"class\", function () {\n return $$.generateClass(CLASS.selectedCircle, i);\n }).attr(\"cx\", cx).attr(\"cy\", cy).attr(\"stroke\", function () {\n return $$.color(d);\n }).attr(\"r\", function (d) {\n return $$.pointSelectR(d) * 1.4;\n }).transition().duration(100).attr(\"r\", r);\n };\n\n ChartInternal.prototype.unselectPoint = function (target, d, i) {\n var $$ = this;\n $$.config.data_onunselected.call($$.api, d, target.node()); // remove selected-circle from low layer g\n\n $$.main.select('.' + CLASS.selectedCircles + $$.getTargetSelectorSuffix(d.id)).selectAll('.' + CLASS.selectedCircle + '-' + i).transition().duration(100).attr('r', 0).remove();\n };\n\n ChartInternal.prototype.togglePoint = function (selected, target, d, i) {\n selected ? this.selectPoint(target, d, i) : this.unselectPoint(target, d, i);\n };\n\n ChartInternal.prototype.selectPath = function (target, d) {\n var $$ = this;\n $$.config.data_onselected.call($$, d, target.node());\n\n if ($$.config.interaction_brighten) {\n target.transition().duration(100).style(\"fill\", function () {\n return $$.d3.rgb($$.color(d)).brighter(0.75);\n });\n }\n };\n\n ChartInternal.prototype.unselectPath = function (target, d) {\n var $$ = this;\n $$.config.data_onunselected.call($$, d, target.node());\n\n if ($$.config.interaction_brighten) {\n target.transition().duration(100).style(\"fill\", function () {\n return $$.color(d);\n });\n }\n };\n\n ChartInternal.prototype.togglePath = function (selected, target, d, i) {\n selected ? this.selectPath(target, d, i) : this.unselectPath(target, d, i);\n };\n\n ChartInternal.prototype.getToggle = function (that, d) {\n var $$ = this,\n toggle;\n\n if (that.nodeName === 'circle') {\n if ($$.isStepType(d)) {\n // circle is hidden in step chart, so treat as within the click area\n toggle = function toggle() {}; // TODO: how to select step chart?\n\n } else {\n toggle = $$.togglePoint;\n }\n } else if (that.nodeName === 'path') {\n toggle = $$.togglePath;\n }\n\n return toggle;\n };\n\n ChartInternal.prototype.toggleShape = function (that, d, i) {\n var $$ = this,\n d3 = $$.d3,\n config = $$.config,\n shape = d3.select(that),\n isSelected = shape.classed(CLASS.SELECTED),\n toggle = $$.getToggle(that, d).bind($$);\n\n if (config.data_selection_enabled && config.data_selection_isselectable(d)) {\n if (!config.data_selection_multiple) {\n $$.main.selectAll('.' + CLASS.shapes + (config.data_selection_grouped ? $$.getTargetSelectorSuffix(d.id) : \"\")).selectAll('.' + CLASS.shape).each(function (d, i) {\n var shape = d3.select(this);\n\n if (shape.classed(CLASS.SELECTED)) {\n toggle(false, shape.classed(CLASS.SELECTED, false), d, i);\n }\n });\n }\n\n shape.classed(CLASS.SELECTED, !isSelected);\n toggle(!isSelected, shape, d, i);\n }\n };\n\n ChartInternal.prototype.initBar = function () {\n var $$ = this;\n $$.main.select('.' + CLASS.chart).append(\"g\").attr(\"class\", CLASS.chartBars);\n };\n\n ChartInternal.prototype.updateTargetsForBar = function (targets) {\n var $$ = this,\n config = $$.config,\n mainBars,\n mainBarEnter,\n classChartBar = $$.classChartBar.bind($$),\n classBars = $$.classBars.bind($$),\n classFocus = $$.classFocus.bind($$);\n mainBars = $$.main.select('.' + CLASS.chartBars).selectAll('.' + CLASS.chartBar).data(targets).attr('class', function (d) {\n return classChartBar(d) + classFocus(d);\n });\n mainBarEnter = mainBars.enter().append('g').attr('class', classChartBar).style(\"pointer-events\", \"none\"); // Bars for each data\n\n mainBarEnter.append('g').attr(\"class\", classBars).style(\"cursor\", function (d) {\n return config.data_selection_isselectable(d) ? \"pointer\" : null;\n });\n };\n\n ChartInternal.prototype.updateBar = function (durationForExit) {\n var $$ = this,\n barData = $$.barData.bind($$),\n classBar = $$.classBar.bind($$),\n initialOpacity = $$.initialOpacity.bind($$),\n color = function color(d) {\n return $$.color(d.id);\n };\n\n var mainBar = $$.main.selectAll('.' + CLASS.bars).selectAll('.' + CLASS.bar).data(barData);\n var mainBarEnter = mainBar.enter().append('path').attr(\"class\", classBar).style(\"stroke\", color).style(\"fill\", color);\n $$.mainBar = mainBarEnter.merge(mainBar).style(\"opacity\", initialOpacity);\n mainBar.exit().transition().duration(durationForExit).style(\"opacity\", 0);\n };\n\n ChartInternal.prototype.redrawBar = function (drawBar, withTransition, transition) {\n return [(withTransition ? this.mainBar.transition(transition) : this.mainBar).attr('d', drawBar).style(\"stroke\", this.color).style(\"fill\", this.color).style(\"opacity\", 1)];\n };\n\n ChartInternal.prototype.getBarW = function (axis, barTargetsNum) {\n var $$ = this,\n config = $$.config,\n w = typeof config.bar_width === 'number' ? config.bar_width : barTargetsNum ? axis.tickInterval() * config.bar_width_ratio / barTargetsNum : 0;\n return config.bar_width_max && w > config.bar_width_max ? config.bar_width_max : w;\n };\n\n ChartInternal.prototype.getBars = function (i, id) {\n var $$ = this;\n return (id ? $$.main.selectAll('.' + CLASS.bars + $$.getTargetSelectorSuffix(id)) : $$.main).selectAll('.' + CLASS.bar + (isValue(i) ? '-' + i : ''));\n };\n\n ChartInternal.prototype.expandBars = function (i, id, reset) {\n var $$ = this;\n\n if (reset) {\n $$.unexpandBars();\n }\n\n $$.getBars(i, id).classed(CLASS.EXPANDED, true);\n };\n\n ChartInternal.prototype.unexpandBars = function (i) {\n var $$ = this;\n $$.getBars(i).classed(CLASS.EXPANDED, false);\n };\n\n ChartInternal.prototype.generateDrawBar = function (barIndices, isSub) {\n var $$ = this,\n config = $$.config,\n getPoints = $$.generateGetBarPoints(barIndices, isSub);\n return function (d, i) {\n // 4 points that make a bar\n var points = getPoints(d, i); // switch points if axis is rotated, not applicable for sub chart\n\n var indexX = config.axis_rotated ? 1 : 0;\n var indexY = config.axis_rotated ? 0 : 1;\n var path = 'M ' + points[0][indexX] + ',' + points[0][indexY] + ' ' + 'L' + points[1][indexX] + ',' + points[1][indexY] + ' ' + 'L' + points[2][indexX] + ',' + points[2][indexY] + ' ' + 'L' + points[3][indexX] + ',' + points[3][indexY] + ' ' + 'z';\n return path;\n };\n };\n\n ChartInternal.prototype.generateGetBarPoints = function (barIndices, isSub) {\n var $$ = this,\n axis = isSub ? $$.subXAxis : $$.xAxis,\n barTargetsNum = barIndices.__max__ + 1,\n barW = $$.getBarW(axis, barTargetsNum),\n barX = $$.getShapeX(barW, barTargetsNum, barIndices, !!isSub),\n barY = $$.getShapeY(!!isSub),\n barOffset = $$.getShapeOffset($$.isBarType, barIndices, !!isSub),\n barSpaceOffset = barW * ($$.config.bar_space / 2),\n yScale = isSub ? $$.getSubYScale : $$.getYScale;\n return function (d, i) {\n var y0 = yScale.call($$, d.id)(0),\n offset = barOffset(d, i) || y0,\n // offset is for stacked bar chart\n posX = barX(d),\n posY = barY(d); // fix posY not to overflow opposite quadrant\n\n if ($$.config.axis_rotated) {\n if (0 < d.value && posY < y0 || d.value < 0 && y0 < posY) {\n posY = y0;\n }\n } // 4 points that make a bar\n\n\n return [[posX + barSpaceOffset, offset], [posX + barSpaceOffset, posY - (y0 - offset)], [posX + barW - barSpaceOffset, posY - (y0 - offset)], [posX + barW - barSpaceOffset, offset]];\n };\n };\n\n ChartInternal.prototype.isWithinBar = function (mouse, that) {\n var box = that.getBoundingClientRect(),\n seg0 = that.pathSegList.getItem(0),\n seg1 = that.pathSegList.getItem(1),\n x = Math.min(seg0.x, seg1.x),\n y = Math.min(seg0.y, seg1.y),\n w = box.width,\n h = box.height,\n offset = 2,\n sx = x - offset,\n ex = x + w + offset,\n sy = y + h + offset,\n ey = y - offset;\n return sx < mouse[0] && mouse[0] < ex && ey < mouse[1] && mouse[1] < sy;\n };\n\n ChartInternal.prototype.getShapeIndices = function (typeFilter) {\n var $$ = this,\n config = $$.config,\n indices = {},\n i = 0,\n j,\n k;\n $$.filterTargetsToShow($$.data.targets.filter(typeFilter, $$)).forEach(function (d) {\n for (j = 0; j < config.data_groups.length; j++) {\n if (config.data_groups[j].indexOf(d.id) < 0) {\n continue;\n }\n\n for (k = 0; k < config.data_groups[j].length; k++) {\n if (config.data_groups[j][k] in indices) {\n indices[d.id] = indices[config.data_groups[j][k]];\n break;\n }\n }\n }\n\n if (isUndefined(indices[d.id])) {\n indices[d.id] = i++;\n }\n });\n indices.__max__ = i - 1;\n return indices;\n };\n\n ChartInternal.prototype.getShapeX = function (offset, targetsNum, indices, isSub) {\n var $$ = this,\n scale = isSub ? $$.subX : $$.x;\n return function (d) {\n var index = d.id in indices ? indices[d.id] : 0;\n return d.x || d.x === 0 ? scale(d.x) - offset * (targetsNum / 2 - index) : 0;\n };\n };\n\n ChartInternal.prototype.getShapeY = function (isSub) {\n var $$ = this;\n return function (d) {\n var scale = isSub ? $$.getSubYScale(d.id) : $$.getYScale(d.id);\n return scale(d.value);\n };\n };\n\n ChartInternal.prototype.getShapeOffset = function (typeFilter, indices, isSub) {\n var $$ = this,\n targets = $$.orderTargets($$.filterTargetsToShow($$.data.targets.filter(typeFilter, $$))),\n targetIds = targets.map(function (t) {\n return t.id;\n });\n return function (d, i) {\n var scale = isSub ? $$.getSubYScale(d.id) : $$.getYScale(d.id),\n y0 = scale(0),\n offset = y0;\n targets.forEach(function (t) {\n var values = $$.isStepType(d) ? $$.convertValuesToStep(t.values) : t.values;\n\n if (t.id === d.id || indices[t.id] !== indices[d.id]) {\n return;\n }\n\n if (targetIds.indexOf(t.id) < targetIds.indexOf(d.id)) {\n // check if the x values line up\n if (typeof values[i] === 'undefined' || +values[i].x !== +d.x) {\n // \"+\" for timeseries\n // if not, try to find the value that does line up\n i = -1;\n values.forEach(function (v, j) {\n if (v.x === d.x) {\n i = j;\n }\n });\n }\n\n if (i in values && values[i].value * d.value >= 0) {\n offset += scale(values[i].value) - y0;\n }\n }\n });\n return offset;\n };\n };\n\n ChartInternal.prototype.isWithinShape = function (that, d) {\n var $$ = this,\n shape = $$.d3.select(that),\n isWithin;\n\n if (!$$.isTargetToShow(d.id)) {\n isWithin = false;\n } else if (that.nodeName === 'circle') {\n isWithin = $$.isStepType(d) ? $$.isWithinStep(that, $$.getYScale(d.id)(d.value)) : $$.isWithinCircle(that, $$.pointSelectR(d) * 1.5);\n } else if (that.nodeName === 'path') {\n isWithin = shape.classed(CLASS.bar) ? $$.isWithinBar($$.d3.mouse(that), that) : true;\n }\n\n return isWithin;\n };\n\n ChartInternal.prototype.getInterpolate = function (d) {\n var $$ = this,\n d3 = $$.d3,\n types = {\n 'linear': d3.curveLinear,\n 'linear-closed': d3.curveLinearClosed,\n 'basis': d3.curveBasis,\n 'basis-open': d3.curveBasisOpen,\n 'basis-closed': d3.curveBasisClosed,\n 'bundle': d3.curveBundle,\n 'cardinal': d3.curveCardinal,\n 'cardinal-open': d3.curveCardinalOpen,\n 'cardinal-closed': d3.curveCardinalClosed,\n 'monotone': d3.curveMonotoneX,\n 'step': d3.curveStep,\n 'step-before': d3.curveStepBefore,\n 'step-after': d3.curveStepAfter\n },\n type;\n\n if ($$.isSplineType(d)) {\n type = types[$$.config.spline_interpolation_type] || types.cardinal;\n } else if ($$.isStepType(d)) {\n type = types[$$.config.line_step_type];\n } else {\n type = types.linear;\n }\n\n return type;\n };\n\n ChartInternal.prototype.initLine = function () {\n var $$ = this;\n $$.main.select('.' + CLASS.chart).append(\"g\").attr(\"class\", CLASS.chartLines);\n };\n\n ChartInternal.prototype.updateTargetsForLine = function (targets) {\n var $$ = this,\n config = $$.config,\n mainLines,\n mainLineEnter,\n classChartLine = $$.classChartLine.bind($$),\n classLines = $$.classLines.bind($$),\n classAreas = $$.classAreas.bind($$),\n classCircles = $$.classCircles.bind($$),\n classFocus = $$.classFocus.bind($$);\n mainLines = $$.main.select('.' + CLASS.chartLines).selectAll('.' + CLASS.chartLine).data(targets).attr('class', function (d) {\n return classChartLine(d) + classFocus(d);\n });\n mainLineEnter = mainLines.enter().append('g').attr('class', classChartLine).style('opacity', 0).style(\"pointer-events\", \"none\"); // Lines for each data\n\n mainLineEnter.append('g').attr(\"class\", classLines); // Areas\n\n mainLineEnter.append('g').attr('class', classAreas); // Circles for each data point on lines\n\n mainLineEnter.append('g').attr(\"class\", function (d) {\n return $$.generateClass(CLASS.selectedCircles, d.id);\n });\n mainLineEnter.append('g').attr(\"class\", classCircles).style(\"cursor\", function (d) {\n return config.data_selection_isselectable(d) ? \"pointer\" : null;\n }); // Update date for selected circles\n\n targets.forEach(function (t) {\n $$.main.selectAll('.' + CLASS.selectedCircles + $$.getTargetSelectorSuffix(t.id)).selectAll('.' + CLASS.selectedCircle).each(function (d) {\n d.value = t.values[d.index].value;\n });\n }); // MEMO: can not keep same color...\n //mainLineUpdate.exit().remove();\n };\n\n ChartInternal.prototype.updateLine = function (durationForExit) {\n var $$ = this;\n var mainLine = $$.main.selectAll('.' + CLASS.lines).selectAll('.' + CLASS.line).data($$.lineData.bind($$));\n var mainLineEnter = mainLine.enter().append('path').attr('class', $$.classLine.bind($$)).style(\"stroke\", $$.color);\n $$.mainLine = mainLineEnter.merge(mainLine).style(\"opacity\", $$.initialOpacity.bind($$)).style('shape-rendering', function (d) {\n return $$.isStepType(d) ? 'crispEdges' : '';\n }).attr('transform', null);\n mainLine.exit().transition().duration(durationForExit).style('opacity', 0);\n };\n\n ChartInternal.prototype.redrawLine = function (drawLine, withTransition, transition) {\n return [(withTransition ? this.mainLine.transition(transition) : this.mainLine).attr(\"d\", drawLine).style(\"stroke\", this.color).style(\"opacity\", 1)];\n };\n\n ChartInternal.prototype.generateDrawLine = function (lineIndices, isSub) {\n var $$ = this,\n config = $$.config,\n line = $$.d3.line(),\n getPoints = $$.generateGetLinePoints(lineIndices, isSub),\n yScaleGetter = isSub ? $$.getSubYScale : $$.getYScale,\n xValue = function xValue(d) {\n return (isSub ? $$.subxx : $$.xx).call($$, d);\n },\n yValue = function yValue(d, i) {\n return config.data_groups.length > 0 ? getPoints(d, i)[0][1] : yScaleGetter.call($$, d.id)(d.value);\n };\n\n line = config.axis_rotated ? line.x(yValue).y(xValue) : line.x(xValue).y(yValue);\n\n if (!config.line_connectNull) {\n line = line.defined(function (d) {\n return d.value != null;\n });\n }\n\n return function (d) {\n var values = config.line_connectNull ? $$.filterRemoveNull(d.values) : d.values,\n x = isSub ? $$.subX : $$.x,\n y = yScaleGetter.call($$, d.id),\n x0 = 0,\n y0 = 0,\n path;\n\n if ($$.isLineType(d)) {\n if (config.data_regions[d.id]) {\n path = $$.lineWithRegions(values, x, y, config.data_regions[d.id]);\n } else {\n if ($$.isStepType(d)) {\n values = $$.convertValuesToStep(values);\n }\n\n path = line.curve($$.getInterpolate(d))(values);\n }\n } else {\n if (values[0]) {\n x0 = x(values[0].x);\n y0 = y(values[0].value);\n }\n\n path = config.axis_rotated ? \"M \" + y0 + \" \" + x0 : \"M \" + x0 + \" \" + y0;\n }\n\n return path ? path : \"M 0 0\";\n };\n };\n\n ChartInternal.prototype.generateGetLinePoints = function (lineIndices, isSub) {\n // partial duplication of generateGetBarPoints\n var $$ = this,\n config = $$.config,\n lineTargetsNum = lineIndices.__max__ + 1,\n x = $$.getShapeX(0, lineTargetsNum, lineIndices, !!isSub),\n y = $$.getShapeY(!!isSub),\n lineOffset = $$.getShapeOffset($$.isLineType, lineIndices, !!isSub),\n yScale = isSub ? $$.getSubYScale : $$.getYScale;\n return function (d, i) {\n var y0 = yScale.call($$, d.id)(0),\n offset = lineOffset(d, i) || y0,\n // offset is for stacked area chart\n posX = x(d),\n posY = y(d); // fix posY not to overflow opposite quadrant\n\n if (config.axis_rotated) {\n if (0 < d.value && posY < y0 || d.value < 0 && y0 < posY) {\n posY = y0;\n }\n } // 1 point that marks the line position\n\n\n return [[posX, posY - (y0 - offset)], [posX, posY - (y0 - offset)], // needed for compatibility\n [posX, posY - (y0 - offset)], // needed for compatibility\n [posX, posY - (y0 - offset)] // needed for compatibility\n ];\n };\n };\n\n ChartInternal.prototype.lineWithRegions = function (d, x, y, _regions) {\n var $$ = this,\n config = $$.config,\n prev = -1,\n i,\n j,\n s = \"M\",\n sWithRegion,\n xp,\n yp,\n dx,\n dy,\n dd,\n diff,\n diffx2,\n xOffset = $$.isCategorized() ? 0.5 : 0,\n xValue,\n yValue,\n regions = [];\n\n function isWithinRegions(x, regions) {\n var i;\n\n for (i = 0; i < regions.length; i++) {\n if (regions[i].start < x && x <= regions[i].end) {\n return true;\n }\n }\n\n return false;\n } // Check start/end of regions\n\n\n if (isDefined(_regions)) {\n for (i = 0; i < _regions.length; i++) {\n regions[i] = {};\n\n if (isUndefined(_regions[i].start)) {\n regions[i].start = d[0].x;\n } else {\n regions[i].start = $$.isTimeSeries() ? $$.parseDate(_regions[i].start) : _regions[i].start;\n }\n\n if (isUndefined(_regions[i].end)) {\n regions[i].end = d[d.length - 1].x;\n } else {\n regions[i].end = $$.isTimeSeries() ? $$.parseDate(_regions[i].end) : _regions[i].end;\n }\n }\n } // Set scales\n\n\n xValue = config.axis_rotated ? function (d) {\n return y(d.value);\n } : function (d) {\n return x(d.x);\n };\n yValue = config.axis_rotated ? function (d) {\n return x(d.x);\n } : function (d) {\n return y(d.value);\n }; // Define svg generator function for region\n\n function generateM(points) {\n return 'M' + points[0][0] + ' ' + points[0][1] + ' ' + points[1][0] + ' ' + points[1][1];\n }\n\n if ($$.isTimeSeries()) {\n sWithRegion = function sWithRegion(d0, d1, j, diff) {\n var x0 = d0.x.getTime(),\n x_diff = d1.x - d0.x,\n xv0 = new Date(x0 + x_diff * j),\n xv1 = new Date(x0 + x_diff * (j + diff)),\n points;\n\n if (config.axis_rotated) {\n points = [[y(yp(j)), x(xv0)], [y(yp(j + diff)), x(xv1)]];\n } else {\n points = [[x(xv0), y(yp(j))], [x(xv1), y(yp(j + diff))]];\n }\n\n return generateM(points);\n };\n } else {\n sWithRegion = function sWithRegion(d0, d1, j, diff) {\n var points;\n\n if (config.axis_rotated) {\n points = [[y(yp(j), true), x(xp(j))], [y(yp(j + diff), true), x(xp(j + diff))]];\n } else {\n points = [[x(xp(j), true), y(yp(j))], [x(xp(j + diff), true), y(yp(j + diff))]];\n }\n\n return generateM(points);\n };\n } // Generate\n\n\n for (i = 0; i < d.length; i++) {\n // Draw as normal\n if (isUndefined(regions) || !isWithinRegions(d[i].x, regions)) {\n s += \" \" + xValue(d[i]) + \" \" + yValue(d[i]);\n } // Draw with region // TODO: Fix for horizotal charts\n else {\n xp = $$.getScale(d[i - 1].x + xOffset, d[i].x + xOffset, $$.isTimeSeries());\n yp = $$.getScale(d[i - 1].value, d[i].value);\n dx = x(d[i].x) - x(d[i - 1].x);\n dy = y(d[i].value) - y(d[i - 1].value);\n dd = Math.sqrt(Math.pow(dx, 2) + Math.pow(dy, 2));\n diff = 2 / dd;\n diffx2 = diff * 2;\n\n for (j = diff; j <= 1; j += diffx2) {\n s += sWithRegion(d[i - 1], d[i], j, diff);\n }\n }\n\n prev = d[i].x;\n }\n\n return s;\n };\n\n ChartInternal.prototype.updateArea = function (durationForExit) {\n var $$ = this,\n d3 = $$.d3;\n var mainArea = $$.main.selectAll('.' + CLASS.areas).selectAll('.' + CLASS.area).data($$.lineData.bind($$));\n var mainAreaEnter = mainArea.enter().append('path').attr(\"class\", $$.classArea.bind($$)).style(\"fill\", $$.color).style(\"opacity\", function () {\n $$.orgAreaOpacity = +d3.select(this).style('opacity');\n return 0;\n });\n $$.mainArea = mainAreaEnter.merge(mainArea).style(\"opacity\", $$.orgAreaOpacity);\n mainArea.exit().transition().duration(durationForExit).style('opacity', 0);\n };\n\n ChartInternal.prototype.redrawArea = function (drawArea, withTransition, transition) {\n return [(withTransition ? this.mainArea.transition(transition) : this.mainArea).attr(\"d\", drawArea).style(\"fill\", this.color).style(\"opacity\", this.orgAreaOpacity)];\n };\n\n ChartInternal.prototype.generateDrawArea = function (areaIndices, isSub) {\n var $$ = this,\n config = $$.config,\n area = $$.d3.area(),\n getPoints = $$.generateGetAreaPoints(areaIndices, isSub),\n yScaleGetter = isSub ? $$.getSubYScale : $$.getYScale,\n xValue = function xValue(d) {\n return (isSub ? $$.subxx : $$.xx).call($$, d);\n },\n value0 = function value0(d, i) {\n return config.data_groups.length > 0 ? getPoints(d, i)[0][1] : yScaleGetter.call($$, d.id)($$.getAreaBaseValue(d.id));\n },\n value1 = function value1(d, i) {\n return config.data_groups.length > 0 ? getPoints(d, i)[1][1] : yScaleGetter.call($$, d.id)(d.value);\n };\n\n area = config.axis_rotated ? area.x0(value0).x1(value1).y(xValue) : area.x(xValue).y0(config.area_above ? 0 : value0).y1(value1);\n\n if (!config.line_connectNull) {\n area = area.defined(function (d) {\n return d.value !== null;\n });\n }\n\n return function (d) {\n var values = config.line_connectNull ? $$.filterRemoveNull(d.values) : d.values,\n x0 = 0,\n y0 = 0,\n path;\n\n if ($$.isAreaType(d)) {\n if ($$.isStepType(d)) {\n values = $$.convertValuesToStep(values);\n }\n\n path = area.curve($$.getInterpolate(d))(values);\n } else {\n if (values[0]) {\n x0 = $$.x(values[0].x);\n y0 = $$.getYScale(d.id)(values[0].value);\n }\n\n path = config.axis_rotated ? \"M \" + y0 + \" \" + x0 : \"M \" + x0 + \" \" + y0;\n }\n\n return path ? path : \"M 0 0\";\n };\n };\n\n ChartInternal.prototype.getAreaBaseValue = function () {\n return 0;\n };\n\n ChartInternal.prototype.generateGetAreaPoints = function (areaIndices, isSub) {\n // partial duplication of generateGetBarPoints\n var $$ = this,\n config = $$.config,\n areaTargetsNum = areaIndices.__max__ + 1,\n x = $$.getShapeX(0, areaTargetsNum, areaIndices, !!isSub),\n y = $$.getShapeY(!!isSub),\n areaOffset = $$.getShapeOffset($$.isAreaType, areaIndices, !!isSub),\n yScale = isSub ? $$.getSubYScale : $$.getYScale;\n return function (d, i) {\n var y0 = yScale.call($$, d.id)(0),\n offset = areaOffset(d, i) || y0,\n // offset is for stacked area chart\n posX = x(d),\n posY = y(d); // fix posY not to overflow opposite quadrant\n\n if (config.axis_rotated) {\n if (0 < d.value && posY < y0 || d.value < 0 && y0 < posY) {\n posY = y0;\n }\n } // 1 point that marks the area position\n\n\n return [[posX, offset], [posX, posY - (y0 - offset)], [posX, posY - (y0 - offset)], // needed for compatibility\n [posX, offset] // needed for compatibility\n ];\n };\n };\n\n ChartInternal.prototype.updateCircle = function (cx, cy) {\n var $$ = this;\n var mainCircle = $$.main.selectAll('.' + CLASS.circles).selectAll('.' + CLASS.circle).data($$.lineOrScatterData.bind($$));\n var mainCircleEnter = mainCircle.enter().append(\"circle\").attr(\"class\", $$.classCircle.bind($$)).attr(\"cx\", cx).attr(\"cy\", cy).attr(\"r\", $$.pointR.bind($$)).style(\"fill\", $$.color);\n $$.mainCircle = mainCircleEnter.merge(mainCircle).style(\"opacity\", $$.initialOpacityForCircle.bind($$));\n mainCircle.exit().style(\"opacity\", 0);\n };\n\n ChartInternal.prototype.redrawCircle = function (cx, cy, withTransition, transition) {\n var $$ = this,\n selectedCircles = $$.main.selectAll('.' + CLASS.selectedCircle);\n return [(withTransition ? $$.mainCircle.transition(transition) : $$.mainCircle).style('opacity', this.opacityForCircle.bind($$)).style(\"fill\", $$.color).attr(\"cx\", cx).attr(\"cy\", cy), (withTransition ? selectedCircles.transition(transition) : selectedCircles).attr(\"cx\", cx).attr(\"cy\", cy)];\n };\n\n ChartInternal.prototype.circleX = function (d) {\n return d.x || d.x === 0 ? this.x(d.x) : null;\n };\n\n ChartInternal.prototype.updateCircleY = function () {\n var $$ = this,\n lineIndices,\n getPoints;\n\n if ($$.config.data_groups.length > 0) {\n lineIndices = $$.getShapeIndices($$.isLineType), getPoints = $$.generateGetLinePoints(lineIndices);\n\n $$.circleY = function (d, i) {\n return getPoints(d, i)[0][1];\n };\n } else {\n $$.circleY = function (d) {\n return $$.getYScale(d.id)(d.value);\n };\n }\n };\n\n ChartInternal.prototype.getCircles = function (i, id) {\n var $$ = this;\n return (id ? $$.main.selectAll('.' + CLASS.circles + $$.getTargetSelectorSuffix(id)) : $$.main).selectAll('.' + CLASS.circle + (isValue(i) ? '-' + i : ''));\n };\n\n ChartInternal.prototype.expandCircles = function (i, id, reset) {\n var $$ = this,\n r = $$.pointExpandedR.bind($$);\n\n if (reset) {\n $$.unexpandCircles();\n }\n\n $$.getCircles(i, id).classed(CLASS.EXPANDED, true).attr('r', r);\n };\n\n ChartInternal.prototype.unexpandCircles = function (i) {\n var $$ = this,\n r = $$.pointR.bind($$);\n $$.getCircles(i).filter(function () {\n return $$.d3.select(this).classed(CLASS.EXPANDED);\n }).classed(CLASS.EXPANDED, false).attr('r', r);\n };\n\n ChartInternal.prototype.pointR = function (d) {\n var $$ = this,\n config = $$.config;\n return $$.isStepType(d) ? 0 : isFunction(config.point_r) ? config.point_r(d) : config.point_r;\n };\n\n ChartInternal.prototype.pointExpandedR = function (d) {\n var $$ = this,\n config = $$.config;\n\n if (config.point_focus_expand_enabled) {\n return isFunction(config.point_focus_expand_r) ? config.point_focus_expand_r(d) : config.point_focus_expand_r ? config.point_focus_expand_r : $$.pointR(d) * 1.75;\n } else {\n return $$.pointR(d);\n }\n };\n\n ChartInternal.prototype.pointSelectR = function (d) {\n var $$ = this,\n config = $$.config;\n return isFunction(config.point_select_r) ? config.point_select_r(d) : config.point_select_r ? config.point_select_r : $$.pointR(d) * 4;\n };\n\n ChartInternal.prototype.isWithinCircle = function (that, r) {\n var d3 = this.d3,\n mouse = d3.mouse(that),\n d3_this = d3.select(that),\n cx = +d3_this.attr(\"cx\"),\n cy = +d3_this.attr(\"cy\");\n return Math.sqrt(Math.pow(cx - mouse[0], 2) + Math.pow(cy - mouse[1], 2)) < r;\n };\n\n ChartInternal.prototype.isWithinStep = function (that, y) {\n return Math.abs(y - this.d3.mouse(that)[1]) < 30;\n };\n\n ChartInternal.prototype.getCurrentWidth = function () {\n var $$ = this,\n config = $$.config;\n return config.size_width ? config.size_width : $$.getParentWidth();\n };\n\n ChartInternal.prototype.getCurrentHeight = function () {\n var $$ = this,\n config = $$.config,\n h = config.size_height ? config.size_height : $$.getParentHeight();\n return h > 0 ? h : 320 / ($$.hasType('gauge') && !config.gauge_fullCircle ? 2 : 1);\n };\n\n ChartInternal.prototype.getCurrentPaddingTop = function () {\n var $$ = this,\n config = $$.config,\n padding = isValue(config.padding_top) ? config.padding_top : 0;\n\n if ($$.title && $$.title.node()) {\n padding += $$.getTitlePadding();\n }\n\n return padding;\n };\n\n ChartInternal.prototype.getCurrentPaddingBottom = function () {\n var config = this.config;\n return isValue(config.padding_bottom) ? config.padding_bottom : 0;\n };\n\n ChartInternal.prototype.getCurrentPaddingLeft = function (withoutRecompute) {\n var $$ = this,\n config = $$.config;\n\n if (isValue(config.padding_left)) {\n return config.padding_left;\n } else if (config.axis_rotated) {\n return !config.axis_x_show || config.axis_x_inner ? 1 : Math.max(ceil10($$.getAxisWidthByAxisId('x', withoutRecompute)), 40);\n } else if (!config.axis_y_show || config.axis_y_inner) {\n // && !config.axis_rotated\n return $$.axis.getYAxisLabelPosition().isOuter ? 30 : 1;\n } else {\n return ceil10($$.getAxisWidthByAxisId('y', withoutRecompute));\n }\n };\n\n ChartInternal.prototype.getCurrentPaddingRight = function () {\n var $$ = this,\n config = $$.config,\n defaultPadding = 10,\n legendWidthOnRight = $$.isLegendRight ? $$.getLegendWidth() + 20 : 0;\n\n if (isValue(config.padding_right)) {\n return config.padding_right + 1; // 1 is needed not to hide tick line\n } else if (config.axis_rotated) {\n return defaultPadding + legendWidthOnRight;\n } else if (!config.axis_y2_show || config.axis_y2_inner) {\n // && !config.axis_rotated\n return 2 + legendWidthOnRight + ($$.axis.getY2AxisLabelPosition().isOuter ? 20 : 0);\n } else {\n return ceil10($$.getAxisWidthByAxisId('y2')) + legendWidthOnRight;\n }\n };\n\n ChartInternal.prototype.getParentRectValue = function (key) {\n var parent = this.selectChart.node(),\n v;\n\n while (parent && parent.tagName !== 'BODY') {\n try {\n v = parent.getBoundingClientRect()[key];\n } catch (e) {\n if (key === 'width') {\n // In IE in certain cases getBoundingClientRect\n // will cause an \"unspecified error\"\n v = parent.offsetWidth;\n }\n }\n\n if (v) {\n break;\n }\n\n parent = parent.parentNode;\n }\n\n return v;\n };\n\n ChartInternal.prototype.getParentWidth = function () {\n return this.getParentRectValue('width');\n };\n\n ChartInternal.prototype.getParentHeight = function () {\n return this.getParentRectValue('height');\n };\n\n ChartInternal.prototype.getSvgLeft = function (withoutRecompute) {\n var $$ = this,\n config = $$.config,\n hasLeftAxisRect = config.axis_rotated || !config.axis_rotated && !config.axis_y_inner,\n leftAxisClass = config.axis_rotated ? CLASS.axisX : CLASS.axisY,\n leftAxis = $$.main.select('.' + leftAxisClass).node(),\n svgRect = leftAxis && hasLeftAxisRect ? leftAxis.getBoundingClientRect() : {\n right: 0\n },\n chartRect = $$.selectChart.node().getBoundingClientRect(),\n hasArc = $$.hasArcType(),\n svgLeft = svgRect.right - chartRect.left - (hasArc ? 0 : $$.getCurrentPaddingLeft(withoutRecompute));\n return svgLeft > 0 ? svgLeft : 0;\n };\n\n ChartInternal.prototype.getAxisWidthByAxisId = function (id, withoutRecompute) {\n var $$ = this,\n position = $$.axis.getLabelPositionById(id);\n return $$.axis.getMaxTickWidth(id, withoutRecompute) + (position.isInner ? 20 : 40);\n };\n\n ChartInternal.prototype.getHorizontalAxisHeight = function (axisId) {\n var $$ = this,\n config = $$.config,\n h = 30;\n\n if (axisId === 'x' && !config.axis_x_show) {\n return 8;\n }\n\n if (axisId === 'x' && config.axis_x_height) {\n return config.axis_x_height;\n }\n\n if (axisId === 'y' && !config.axis_y_show) {\n return config.legend_show && !$$.isLegendRight && !$$.isLegendInset ? 10 : 1;\n }\n\n if (axisId === 'y2' && !config.axis_y2_show) {\n return $$.rotated_padding_top;\n } // Calculate x axis height when tick rotated\n\n\n if (axisId === 'x' && !config.axis_rotated && config.axis_x_tick_rotate) {\n h = 30 + $$.axis.getMaxTickWidth(axisId) * Math.cos(Math.PI * (90 - Math.abs(config.axis_x_tick_rotate)) / 180);\n } // Calculate y axis height when tick rotated\n\n\n if (axisId === 'y' && config.axis_rotated && config.axis_y_tick_rotate) {\n h = 30 + $$.axis.getMaxTickWidth(axisId) * Math.cos(Math.PI * (90 - Math.abs(config.axis_y_tick_rotate)) / 180);\n }\n\n return h + ($$.axis.getLabelPositionById(axisId).isInner ? 0 : 10) + (axisId === 'y2' ? -10 : 0);\n };\n\n ChartInternal.prototype.initBrush = function (scale) {\n var $$ = this,\n d3 = $$.d3; // TODO: dynamically change brushY/brushX according to axis_rotated.\n\n $$.brush = ($$.config.axis_rotated ? d3.brushY() : d3.brushX()).on(\"brush\", function () {\n var event = d3.event.sourceEvent;\n\n if (event && event.type === \"zoom\") {\n return;\n }\n\n $$.redrawForBrush();\n }).on(\"end\", function () {\n var event = d3.event.sourceEvent;\n\n if (event && event.type === \"zoom\") {\n return;\n }\n\n if ($$.brush.empty() && event && event.type !== 'end') {\n $$.brush.clear();\n }\n });\n\n $$.brush.updateExtent = function () {\n var range = this.scale.range(),\n extent;\n\n if ($$.config.axis_rotated) {\n extent = [[0, range[0]], [$$.width2, range[1]]];\n } else {\n extent = [[range[0], 0], [range[1], $$.height2]];\n }\n\n this.extent(extent);\n return this;\n };\n\n $$.brush.updateScale = function (scale) {\n this.scale = scale;\n return this;\n };\n\n $$.brush.update = function (scale) {\n this.updateScale(scale || $$.subX).updateExtent();\n $$.context.select('.' + CLASS.brush).call(this);\n };\n\n $$.brush.clear = function () {\n $$.context.select('.' + CLASS.brush).call($$.brush.move, null);\n };\n\n $$.brush.selection = function () {\n return d3.brushSelection($$.context.select('.' + CLASS.brush).node());\n };\n\n $$.brush.selectionAsValue = function (selectionAsValue, withTransition) {\n var selection, brush;\n\n if (selectionAsValue) {\n if ($$.context) {\n selection = [this.scale(selectionAsValue[0]), this.scale(selectionAsValue[1])];\n brush = $$.context.select('.' + CLASS.brush);\n\n if (withTransition) {\n brush = brush.transition();\n }\n\n $$.brush.move(brush, selection);\n }\n\n return [];\n }\n\n selection = $$.brush.selection() || [0, 0];\n return [this.scale.invert(selection[0]), this.scale.invert(selection[1])];\n };\n\n $$.brush.empty = function () {\n var selection = $$.brush.selection();\n return !selection || selection[0] === selection[1];\n };\n\n return $$.brush.updateScale(scale);\n };\n\n ChartInternal.prototype.initSubchart = function () {\n var $$ = this,\n config = $$.config,\n context = $$.context = $$.svg.append(\"g\").attr(\"transform\", $$.getTranslate('context')),\n visibility = config.subchart_show ? 'visible' : 'hidden'; // set style\n\n context.style('visibility', visibility); // Define g for chart area\n\n context.append('g').attr(\"clip-path\", $$.clipPathForSubchart).attr('class', CLASS.chart); // Define g for bar chart area\n\n context.select('.' + CLASS.chart).append(\"g\").attr(\"class\", CLASS.chartBars); // Define g for line chart area\n\n context.select('.' + CLASS.chart).append(\"g\").attr(\"class\", CLASS.chartLines); // Add extent rect for Brush\n\n context.append(\"g\").attr(\"clip-path\", $$.clipPath).attr(\"class\", CLASS.brush); // ATTENTION: This must be called AFTER chart added\n // Add Axis\n\n $$.axes.subx = context.append(\"g\").attr(\"class\", CLASS.axisX).attr(\"transform\", $$.getTranslate('subx')).attr(\"clip-path\", config.axis_rotated ? \"\" : $$.clipPathForXAxis);\n };\n\n ChartInternal.prototype.initSubchartBrush = function () {\n var $$ = this; // Add extent rect for Brush\n\n $$.initBrush($$.subX).updateExtent();\n $$.context.select('.' + CLASS.brush).call($$.brush);\n };\n\n ChartInternal.prototype.updateTargetsForSubchart = function (targets) {\n var $$ = this,\n context = $$.context,\n config = $$.config,\n contextLineEnter,\n contextLine,\n contextBarEnter,\n contextBar,\n classChartBar = $$.classChartBar.bind($$),\n classBars = $$.classBars.bind($$),\n classChartLine = $$.classChartLine.bind($$),\n classLines = $$.classLines.bind($$),\n classAreas = $$.classAreas.bind($$);\n\n if (config.subchart_show) {\n //-- Bar --//\n contextBar = context.select('.' + CLASS.chartBars).selectAll('.' + CLASS.chartBar).data(targets);\n contextBarEnter = contextBar.enter().append('g').style('opacity', 0);\n contextBarEnter.merge(contextBar).attr('class', classChartBar); // Bars for each data\n\n contextBarEnter.append('g').attr(\"class\", classBars); //-- Line --//\n\n contextLine = context.select('.' + CLASS.chartLines).selectAll('.' + CLASS.chartLine).data(targets);\n contextLineEnter = contextLine.enter().append('g').style('opacity', 0);\n contextLineEnter.merge(contextLine).attr('class', classChartLine); // Lines for each data\n\n contextLineEnter.append(\"g\").attr(\"class\", classLines); // Area\n\n contextLineEnter.append(\"g\").attr(\"class\", classAreas); //-- Brush --//\n\n context.selectAll('.' + CLASS.brush + ' rect').attr(config.axis_rotated ? \"width\" : \"height\", config.axis_rotated ? $$.width2 : $$.height2);\n }\n };\n\n ChartInternal.prototype.updateBarForSubchart = function (durationForExit) {\n var $$ = this;\n var contextBar = $$.context.selectAll('.' + CLASS.bars).selectAll('.' + CLASS.bar).data($$.barData.bind($$));\n var contextBarEnter = contextBar.enter().append('path').attr(\"class\", $$.classBar.bind($$)).style(\"stroke\", 'none').style(\"fill\", $$.color);\n contextBar.exit().transition().duration(durationForExit).style('opacity', 0).remove();\n $$.contextBar = contextBarEnter.merge(contextBar).style(\"opacity\", $$.initialOpacity.bind($$));\n };\n\n ChartInternal.prototype.redrawBarForSubchart = function (drawBarOnSub, withTransition, duration) {\n (withTransition ? this.contextBar.transition(Math.random().toString()).duration(duration) : this.contextBar).attr('d', drawBarOnSub).style('opacity', 1);\n };\n\n ChartInternal.prototype.updateLineForSubchart = function (durationForExit) {\n var $$ = this;\n var contextLine = $$.context.selectAll('.' + CLASS.lines).selectAll('.' + CLASS.line).data($$.lineData.bind($$));\n var contextLineEnter = contextLine.enter().append('path').attr('class', $$.classLine.bind($$)).style('stroke', $$.color);\n contextLine.exit().transition().duration(durationForExit).style('opacity', 0).remove();\n $$.contextLine = contextLineEnter.merge(contextLine).style(\"opacity\", $$.initialOpacity.bind($$));\n };\n\n ChartInternal.prototype.redrawLineForSubchart = function (drawLineOnSub, withTransition, duration) {\n (withTransition ? this.contextLine.transition(Math.random().toString()).duration(duration) : this.contextLine).attr(\"d\", drawLineOnSub).style('opacity', 1);\n };\n\n ChartInternal.prototype.updateAreaForSubchart = function (durationForExit) {\n var $$ = this,\n d3 = $$.d3;\n var contextArea = $$.context.selectAll('.' + CLASS.areas).selectAll('.' + CLASS.area).data($$.lineData.bind($$));\n var contextAreaEnter = contextArea.enter().append('path').attr(\"class\", $$.classArea.bind($$)).style(\"fill\", $$.color).style(\"opacity\", function () {\n $$.orgAreaOpacity = +d3.select(this).style('opacity');\n return 0;\n });\n contextArea.exit().transition().duration(durationForExit).style('opacity', 0).remove();\n $$.contextArea = contextAreaEnter.merge(contextArea).style(\"opacity\", 0);\n };\n\n ChartInternal.prototype.redrawAreaForSubchart = function (drawAreaOnSub, withTransition, duration) {\n (withTransition ? this.contextArea.transition(Math.random().toString()).duration(duration) : this.contextArea).attr(\"d\", drawAreaOnSub).style(\"fill\", this.color).style(\"opacity\", this.orgAreaOpacity);\n };\n\n ChartInternal.prototype.redrawSubchart = function (withSubchart, transitions, duration, durationForExit, areaIndices, barIndices, lineIndices) {\n var $$ = this,\n d3 = $$.d3,\n config = $$.config,\n drawAreaOnSub,\n drawBarOnSub,\n drawLineOnSub;\n $$.context.style('visibility', config.subchart_show ? 'visible' : 'hidden'); // subchart\n\n if (config.subchart_show) {\n // reflect main chart to extent on subchart if zoomed\n if (d3.event && d3.event.type === 'zoom') {\n $$.brush.selectionAsValue($$.x.orgDomain());\n } // update subchart elements if needed\n\n\n if (withSubchart) {\n // extent rect\n if (!$$.brush.empty()) {\n $$.brush.selectionAsValue($$.x.orgDomain());\n } // setup drawer - MEMO: this must be called after axis updated\n\n\n drawAreaOnSub = $$.generateDrawArea(areaIndices, true);\n drawBarOnSub = $$.generateDrawBar(barIndices, true);\n drawLineOnSub = $$.generateDrawLine(lineIndices, true);\n $$.updateBarForSubchart(duration);\n $$.updateLineForSubchart(duration);\n $$.updateAreaForSubchart(duration);\n $$.redrawBarForSubchart(drawBarOnSub, duration, duration);\n $$.redrawLineForSubchart(drawLineOnSub, duration, duration);\n $$.redrawAreaForSubchart(drawAreaOnSub, duration, duration);\n }\n }\n };\n\n ChartInternal.prototype.redrawForBrush = function () {\n var $$ = this,\n x = $$.x,\n d3 = $$.d3,\n s;\n $$.redraw({\n withTransition: false,\n withY: $$.config.zoom_rescale,\n withSubchart: false,\n withUpdateXDomain: true,\n withEventRect: false,\n withDimension: false\n }); // update zoom transation binded to event rect\n\n s = d3.event.selection || $$.brush.scale.range();\n $$.main.select('.' + CLASS.eventRect).call($$.zoom.transform, d3.zoomIdentity.scale($$.width / (s[1] - s[0])).translate(-s[0], 0));\n $$.config.subchart_onbrush.call($$.api, x.orgDomain());\n };\n\n ChartInternal.prototype.transformContext = function (withTransition, transitions) {\n var $$ = this,\n subXAxis;\n\n if (transitions && transitions.axisSubX) {\n subXAxis = transitions.axisSubX;\n } else {\n subXAxis = $$.context.select('.' + CLASS.axisX);\n\n if (withTransition) {\n subXAxis = subXAxis.transition();\n }\n }\n\n $$.context.attr(\"transform\", $$.getTranslate('context'));\n subXAxis.attr(\"transform\", $$.getTranslate('subx'));\n };\n\n ChartInternal.prototype.getDefaultSelection = function () {\n var $$ = this,\n config = $$.config,\n selection = isFunction(config.axis_x_selection) ? config.axis_x_selection($$.getXDomain($$.data.targets)) : config.axis_x_selection;\n\n if ($$.isTimeSeries()) {\n selection = [$$.parseDate(selection[0]), $$.parseDate(selection[1])];\n }\n\n return selection;\n };\n\n ChartInternal.prototype.initText = function () {\n var $$ = this;\n $$.main.select('.' + CLASS.chart).append(\"g\").attr(\"class\", CLASS.chartTexts);\n $$.mainText = $$.d3.selectAll([]);\n };\n\n ChartInternal.prototype.updateTargetsForText = function (targets) {\n var $$ = this,\n classChartText = $$.classChartText.bind($$),\n classTexts = $$.classTexts.bind($$),\n classFocus = $$.classFocus.bind($$);\n var mainText = $$.main.select('.' + CLASS.chartTexts).selectAll('.' + CLASS.chartText).data(targets);\n var mainTextEnter = mainText.enter().append('g').attr('class', classChartText).style('opacity', 0).style(\"pointer-events\", \"none\");\n mainTextEnter.append('g').attr('class', classTexts);\n mainTextEnter.merge(mainText).attr('class', function (d) {\n return classChartText(d) + classFocus(d);\n });\n };\n\n ChartInternal.prototype.updateText = function (xForText, yForText, durationForExit) {\n var $$ = this,\n config = $$.config,\n barOrLineData = $$.barOrLineData.bind($$),\n classText = $$.classText.bind($$);\n var mainText = $$.main.selectAll('.' + CLASS.texts).selectAll('.' + CLASS.text).data(barOrLineData);\n var mainTextEnter = mainText.enter().append('text').attr(\"class\", classText).attr('text-anchor', function (d) {\n return config.axis_rotated ? d.value < 0 ? 'end' : 'start' : 'middle';\n }).style(\"stroke\", 'none').attr('x', xForText).attr('y', yForText).style(\"fill\", function (d) {\n return $$.color(d);\n }).style(\"fill-opacity\", 0);\n $$.mainText = mainTextEnter.merge(mainText).text(function (d, i, j) {\n return $$.dataLabelFormat(d.id)(d.value, d.id, i, j);\n });\n mainText.exit().transition().duration(durationForExit).style('fill-opacity', 0).remove();\n };\n\n ChartInternal.prototype.redrawText = function (xForText, yForText, forFlow, withTransition, transition) {\n return [(withTransition ? this.mainText.transition(transition) : this.mainText).attr('x', xForText).attr('y', yForText).style(\"fill\", this.color).style(\"fill-opacity\", forFlow ? 0 : this.opacityForText.bind(this))];\n };\n\n ChartInternal.prototype.getTextRect = function (text, cls, element) {\n var dummy = this.d3.select('body').append('div').classed('c3', true),\n svg = dummy.append(\"svg\").style('visibility', 'hidden').style('position', 'fixed').style('top', 0).style('left', 0),\n font = this.d3.select(element).style('font'),\n rect;\n svg.selectAll('.dummy').data([text]).enter().append('text').classed(cls ? cls : \"\", true).style('font', font).text(text).each(function () {\n rect = this.getBoundingClientRect();\n });\n dummy.remove();\n return rect;\n };\n\n ChartInternal.prototype.generateXYForText = function (areaIndices, barIndices, lineIndices, forX) {\n var $$ = this,\n getAreaPoints = $$.generateGetAreaPoints(areaIndices, false),\n getBarPoints = $$.generateGetBarPoints(barIndices, false),\n getLinePoints = $$.generateGetLinePoints(lineIndices, false),\n getter = forX ? $$.getXForText : $$.getYForText;\n return function (d, i) {\n var getPoints = $$.isAreaType(d) ? getAreaPoints : $$.isBarType(d) ? getBarPoints : getLinePoints;\n return getter.call($$, getPoints(d, i), d, this);\n };\n };\n\n ChartInternal.prototype.getXForText = function (points, d, textElement) {\n var $$ = this,\n box = textElement.getBoundingClientRect(),\n xPos,\n padding;\n\n if ($$.config.axis_rotated) {\n padding = $$.isBarType(d) ? 4 : 6;\n xPos = points[2][1] + padding * (d.value < 0 ? -1 : 1);\n } else {\n xPos = $$.hasType('bar') ? (points[2][0] + points[0][0]) / 2 : points[0][0];\n } // show labels regardless of the domain if value is null\n\n\n if (d.value === null) {\n if (xPos > $$.width) {\n xPos = $$.width - box.width;\n } else if (xPos < 0) {\n xPos = 4;\n }\n }\n\n return xPos;\n };\n\n ChartInternal.prototype.getYForText = function (points, d, textElement) {\n var $$ = this,\n box = textElement.getBoundingClientRect(),\n yPos;\n\n if ($$.config.axis_rotated) {\n yPos = (points[0][0] + points[2][0] + box.height * 0.6) / 2;\n } else {\n yPos = points[2][1];\n\n if (d.value < 0 || d.value === 0 && !$$.hasPositiveValue) {\n yPos += box.height;\n\n if ($$.isBarType(d) && $$.isSafari()) {\n yPos -= 3;\n } else if (!$$.isBarType(d) && $$.isChrome()) {\n yPos += 3;\n }\n } else {\n yPos += $$.isBarType(d) ? -3 : -6;\n }\n } // show labels regardless of the domain if value is null\n\n\n if (d.value === null && !$$.config.axis_rotated) {\n if (yPos < box.height) {\n yPos = box.height;\n } else if (yPos > this.height) {\n yPos = this.height - 4;\n }\n }\n\n return yPos;\n };\n\n ChartInternal.prototype.initTitle = function () {\n var $$ = this;\n $$.title = $$.svg.append(\"text\").text($$.config.title_text).attr(\"class\", $$.CLASS.title);\n };\n\n ChartInternal.prototype.redrawTitle = function () {\n var $$ = this;\n $$.title.attr(\"x\", $$.xForTitle.bind($$)).attr(\"y\", $$.yForTitle.bind($$));\n };\n\n ChartInternal.prototype.xForTitle = function () {\n var $$ = this,\n config = $$.config,\n position = config.title_position || 'left',\n x;\n\n if (position.indexOf('right') >= 0) {\n x = $$.currentWidth - $$.getTextRect($$.title.node().textContent, $$.CLASS.title, $$.title.node()).width - config.title_padding.right;\n } else if (position.indexOf('center') >= 0) {\n x = ($$.currentWidth - $$.getTextRect($$.title.node().textContent, $$.CLASS.title, $$.title.node()).width) / 2;\n } else {\n // left\n x = config.title_padding.left;\n }\n\n return x;\n };\n\n ChartInternal.prototype.yForTitle = function () {\n var $$ = this;\n return $$.config.title_padding.top + $$.getTextRect($$.title.node().textContent, $$.CLASS.title, $$.title.node()).height;\n };\n\n ChartInternal.prototype.getTitlePadding = function () {\n var $$ = this;\n return $$.yForTitle() + $$.config.title_padding.bottom;\n };\n\n ChartInternal.prototype.initTooltip = function () {\n var $$ = this,\n config = $$.config,\n i;\n $$.tooltip = $$.selectChart.style(\"position\", \"relative\").append(\"div\").attr('class', CLASS.tooltipContainer).style(\"position\", \"absolute\").style(\"pointer-events\", \"none\").style(\"display\", \"none\"); // Show tooltip if needed\n\n if (config.tooltip_init_show) {\n if ($$.isTimeSeries() && isString(config.tooltip_init_x)) {\n config.tooltip_init_x = $$.parseDate(config.tooltip_init_x);\n\n for (i = 0; i < $$.data.targets[0].values.length; i++) {\n if ($$.data.targets[0].values[i].x - config.tooltip_init_x === 0) {\n break;\n }\n }\n\n config.tooltip_init_x = i;\n }\n\n $$.tooltip.html(config.tooltip_contents.call($$, $$.data.targets.map(function (d) {\n return $$.addName(d.values[config.tooltip_init_x]);\n }), $$.axis.getXAxisTickFormat(), $$.getYFormat($$.hasArcType()), $$.color));\n $$.tooltip.style(\"top\", config.tooltip_init_position.top).style(\"left\", config.tooltip_init_position.left).style(\"display\", \"block\");\n }\n };\n\n ChartInternal.prototype.getTooltipSortFunction = function () {\n var $$ = this,\n config = $$.config;\n\n if (config.data_groups.length === 0 || config.tooltip_order !== undefined) {\n // if data are not grouped or if an order is specified\n // for the tooltip values we sort them by their values\n var order = config.tooltip_order;\n\n if (order === undefined) {\n order = config.data_order;\n }\n\n var valueOf = function valueOf(obj) {\n return obj ? obj.value : null;\n }; // if data are not grouped, we sort them by their value\n\n\n if (isString(order) && order.toLowerCase() === 'asc') {\n return function (a, b) {\n return valueOf(a) - valueOf(b);\n };\n } else if (isString(order) && order.toLowerCase() === 'desc') {\n return function (a, b) {\n return valueOf(b) - valueOf(a);\n };\n } else if (isFunction(order)) {\n // if the function is from data_order we need\n // to wrap the returned function in order to format\n // the sorted value to the expected format\n var sortFunction = order;\n\n if (config.tooltip_order === undefined) {\n sortFunction = function sortFunction(a, b) {\n return order(a ? {\n id: a.id,\n values: [a]\n } : null, b ? {\n id: b.id,\n values: [b]\n } : null);\n };\n }\n\n return sortFunction;\n } else if (isArray(order)) {\n return function (a, b) {\n return order.indexOf(a.id) - order.indexOf(b.id);\n };\n }\n } else {\n // if data are grouped, we follow the order of grouped targets\n var ids = $$.orderTargets($$.data.targets).map(function (i) {\n return i.id;\n }); // if it was either asc or desc we need to invert the order\n // returned by orderTargets\n\n if ($$.isOrderAsc() || $$.isOrderDesc()) {\n ids = ids.reverse();\n }\n\n return function (a, b) {\n return ids.indexOf(a.id) - ids.indexOf(b.id);\n };\n }\n };\n\n ChartInternal.prototype.getTooltipContent = function (d, defaultTitleFormat, defaultValueFormat, color) {\n var $$ = this,\n config = $$.config,\n titleFormat = config.tooltip_format_title || defaultTitleFormat,\n nameFormat = config.tooltip_format_name || function (name) {\n return name;\n },\n valueFormat = config.tooltip_format_value || defaultValueFormat,\n text,\n i,\n title,\n value,\n name,\n bgcolor;\n\n var tooltipSortFunction = this.getTooltipSortFunction();\n\n if (tooltipSortFunction) {\n d.sort(tooltipSortFunction);\n }\n\n for (i = 0; i < d.length; i++) {\n if (!(d[i] && (d[i].value || d[i].value === 0))) {\n continue;\n }\n\n if (!text) {\n title = sanitise(titleFormat ? titleFormat(d[i].x, d[i].index) : d[i].x);\n text = \"\" + (title || title === 0 ? \"\" : \"\");\n }\n\n value = sanitise(valueFormat(d[i].value, d[i].ratio, d[i].id, d[i].index, d));\n\n if (value !== undefined) {\n // Skip elements when their name is set to null\n if (d[i].name === null) {\n continue;\n }\n\n name = sanitise(nameFormat(d[i].name, d[i].ratio, d[i].id, d[i].index));\n bgcolor = $$.levelColor ? $$.levelColor(d[i].value) : color(d[i].id);\n text += \"\";\n text += \"\";\n text += \"\";\n text += \"\";\n }\n }\n\n return text + \"
\" + title + \"
\" + name + \"\" + value + \"
\";\n };\n\n ChartInternal.prototype.tooltipPosition = function (dataToShow, tWidth, tHeight, element) {\n var $$ = this,\n config = $$.config,\n d3 = $$.d3;\n var svgLeft, tooltipLeft, tooltipRight, tooltipTop, chartRight;\n var forArc = $$.hasArcType(),\n mouse = d3.mouse(element); // Determin tooltip position\n\n if (forArc) {\n tooltipLeft = ($$.width - ($$.isLegendRight ? $$.getLegendWidth() : 0)) / 2 + mouse[0];\n tooltipTop = ($$.hasType('gauge') ? $$.height : $$.height / 2) + mouse[1] + 20;\n } else {\n svgLeft = $$.getSvgLeft(true);\n\n if (config.axis_rotated) {\n tooltipLeft = svgLeft + mouse[0] + 100;\n tooltipRight = tooltipLeft + tWidth;\n chartRight = $$.currentWidth - $$.getCurrentPaddingRight();\n tooltipTop = $$.x(dataToShow[0].x) + 20;\n } else {\n tooltipLeft = svgLeft + $$.getCurrentPaddingLeft(true) + $$.x(dataToShow[0].x) + 20;\n tooltipRight = tooltipLeft + tWidth;\n chartRight = svgLeft + $$.currentWidth - $$.getCurrentPaddingRight();\n tooltipTop = mouse[1] + 15;\n }\n\n if (tooltipRight > chartRight) {\n // 20 is needed for Firefox to keep tooltip width\n tooltipLeft -= tooltipRight - chartRight + 20;\n }\n\n if (tooltipTop + tHeight > $$.currentHeight) {\n tooltipTop -= tHeight + 30;\n }\n }\n\n if (tooltipTop < 0) {\n tooltipTop = 0;\n }\n\n return {\n top: tooltipTop,\n left: tooltipLeft\n };\n };\n\n ChartInternal.prototype.showTooltip = function (selectedData, element) {\n var $$ = this,\n config = $$.config;\n var tWidth, tHeight, position;\n var forArc = $$.hasArcType(),\n dataToShow = selectedData.filter(function (d) {\n return d && isValue(d.value);\n }),\n positionFunction = config.tooltip_position || ChartInternal.prototype.tooltipPosition;\n\n if (dataToShow.length === 0 || !config.tooltip_show) {\n return;\n }\n\n $$.tooltip.html(config.tooltip_contents.call($$, selectedData, $$.axis.getXAxisTickFormat(), $$.getYFormat(forArc), $$.color)).style(\"display\", \"block\"); // Get tooltip dimensions\n\n tWidth = $$.tooltip.property('offsetWidth');\n tHeight = $$.tooltip.property('offsetHeight');\n position = positionFunction.call(this, dataToShow, tWidth, tHeight, element); // Set tooltip\n\n $$.tooltip.style(\"top\", position.top + \"px\").style(\"left\", position.left + 'px');\n };\n\n ChartInternal.prototype.hideTooltip = function () {\n this.tooltip.style(\"display\", \"none\");\n };\n\n ChartInternal.prototype.setTargetType = function (targetIds, type) {\n var $$ = this,\n config = $$.config;\n $$.mapToTargetIds(targetIds).forEach(function (id) {\n $$.withoutFadeIn[id] = type === config.data_types[id];\n config.data_types[id] = type;\n });\n\n if (!targetIds) {\n config.data_type = type;\n }\n };\n\n ChartInternal.prototype.hasType = function (type, targets) {\n var $$ = this,\n types = $$.config.data_types,\n has = false;\n targets = targets || $$.data.targets;\n\n if (targets && targets.length) {\n targets.forEach(function (target) {\n var t = types[target.id];\n\n if (t && t.indexOf(type) >= 0 || !t && type === 'line') {\n has = true;\n }\n });\n } else if (Object.keys(types).length) {\n Object.keys(types).forEach(function (id) {\n if (types[id] === type) {\n has = true;\n }\n });\n } else {\n has = $$.config.data_type === type;\n }\n\n return has;\n };\n\n ChartInternal.prototype.hasArcType = function (targets) {\n return this.hasType('pie', targets) || this.hasType('donut', targets) || this.hasType('gauge', targets);\n };\n\n ChartInternal.prototype.isLineType = function (d) {\n var config = this.config,\n id = isString(d) ? d : d.id;\n return !config.data_types[id] || ['line', 'spline', 'area', 'area-spline', 'step', 'area-step'].indexOf(config.data_types[id]) >= 0;\n };\n\n ChartInternal.prototype.isStepType = function (d) {\n var id = isString(d) ? d : d.id;\n return ['step', 'area-step'].indexOf(this.config.data_types[id]) >= 0;\n };\n\n ChartInternal.prototype.isSplineType = function (d) {\n var id = isString(d) ? d : d.id;\n return ['spline', 'area-spline'].indexOf(this.config.data_types[id]) >= 0;\n };\n\n ChartInternal.prototype.isAreaType = function (d) {\n var id = isString(d) ? d : d.id;\n return ['area', 'area-spline', 'area-step'].indexOf(this.config.data_types[id]) >= 0;\n };\n\n ChartInternal.prototype.isBarType = function (d) {\n var id = isString(d) ? d : d.id;\n return this.config.data_types[id] === 'bar';\n };\n\n ChartInternal.prototype.isScatterType = function (d) {\n var id = isString(d) ? d : d.id;\n return this.config.data_types[id] === 'scatter';\n };\n\n ChartInternal.prototype.isPieType = function (d) {\n var id = isString(d) ? d : d.id;\n return this.config.data_types[id] === 'pie';\n };\n\n ChartInternal.prototype.isGaugeType = function (d) {\n var id = isString(d) ? d : d.id;\n return this.config.data_types[id] === 'gauge';\n };\n\n ChartInternal.prototype.isDonutType = function (d) {\n var id = isString(d) ? d : d.id;\n return this.config.data_types[id] === 'donut';\n };\n\n ChartInternal.prototype.isArcType = function (d) {\n return this.isPieType(d) || this.isDonutType(d) || this.isGaugeType(d);\n };\n\n ChartInternal.prototype.lineData = function (d) {\n return this.isLineType(d) ? [d] : [];\n };\n\n ChartInternal.prototype.arcData = function (d) {\n return this.isArcType(d.data) ? [d] : [];\n };\n /* not used\n function scatterData(d) {\n return isScatterType(d) ? d.values : [];\n }\n */\n\n\n ChartInternal.prototype.barData = function (d) {\n return this.isBarType(d) ? d.values : [];\n };\n\n ChartInternal.prototype.lineOrScatterData = function (d) {\n return this.isLineType(d) || this.isScatterType(d) ? d.values : [];\n };\n\n ChartInternal.prototype.barOrLineData = function (d) {\n return this.isBarType(d) || this.isLineType(d) ? d.values : [];\n };\n\n ChartInternal.prototype.isSafari = function () {\n var ua = window.navigator.userAgent;\n return ua.indexOf('Safari') >= 0 && ua.indexOf('Chrome') < 0;\n };\n\n ChartInternal.prototype.isChrome = function () {\n var ua = window.navigator.userAgent;\n return ua.indexOf('Chrome') >= 0;\n };\n\n ChartInternal.prototype.initZoom = function () {\n var $$ = this,\n d3 = $$.d3,\n config = $$.config,\n startEvent;\n $$.zoom = d3.zoom().on(\"start\", function () {\n if (config.zoom_type !== 'scroll') {\n return;\n }\n\n var e = d3.event.sourceEvent;\n\n if (e && e.type === \"brush\") {\n return;\n }\n\n startEvent = e;\n config.zoom_onzoomstart.call($$.api, e);\n }).on(\"zoom\", function () {\n if (config.zoom_type !== 'scroll') {\n return;\n }\n\n var e = d3.event.sourceEvent;\n\n if (e && e.type === \"brush\") {\n return;\n }\n\n $$.redrawForZoom();\n config.zoom_onzoom.call($$.api, $$.x.orgDomain());\n }).on('end', function () {\n if (config.zoom_type !== 'scroll') {\n return;\n }\n\n var e = d3.event.sourceEvent;\n\n if (e && e.type === \"brush\") {\n return;\n } // if click, do nothing. otherwise, click interaction will be canceled.\n\n\n if (e && startEvent.clientX === e.clientX && startEvent.clientY === e.clientY) {\n return;\n }\n\n config.zoom_onzoomend.call($$.api, $$.x.orgDomain());\n });\n\n $$.zoom.updateDomain = function () {\n if (d3.event && d3.event.transform) {\n $$.x.domain(d3.event.transform.rescaleX($$.subX).domain());\n }\n\n return this;\n };\n\n $$.zoom.updateExtent = function () {\n this.scaleExtent([1, Infinity]).translateExtent([[0, 0], [$$.width, $$.height]]).extent([[0, 0], [$$.width, $$.height]]);\n return this;\n };\n\n $$.zoom.update = function () {\n return this.updateExtent().updateDomain();\n };\n\n return $$.zoom.updateExtent();\n };\n\n ChartInternal.prototype.zoomTransform = function (range) {\n var $$ = this,\n s = [$$.x(range[0]), $$.x(range[1])];\n return $$.d3.zoomIdentity.scale($$.width / (s[1] - s[0])).translate(-s[0], 0);\n };\n\n ChartInternal.prototype.initDragZoom = function () {\n var $$ = this;\n var d3 = $$.d3;\n var config = $$.config;\n var context = $$.context = $$.svg;\n var brushXPos = $$.margin.left + 20.5;\n var brushYPos = $$.margin.top + 0.5;\n\n if (!(config.zoom_type === 'drag' && config.zoom_enabled)) {\n return;\n }\n\n var getZoomedDomain = function getZoomedDomain(selection) {\n return selection && selection.map(function (x) {\n return $$.x.invert(x);\n });\n };\n\n var brush = $$.dragZoomBrush = d3.brushX().on(\"start\", function () {\n $$.api.unzoom();\n $$.svg.select(\".\" + CLASS.dragZoom).classed(\"disabled\", false);\n config.zoom_onzoomstart.call($$.api, d3.event.sourceEvent);\n }).on(\"brush\", function () {\n config.zoom_onzoom.call($$.api, getZoomedDomain(d3.event.selection));\n }).on(\"end\", function () {\n if (d3.event.selection == null) {\n return;\n }\n\n var zoomedDomain = getZoomedDomain(d3.event.selection);\n\n if (!config.zoom_disableDefaultBehavior) {\n $$.api.zoom(zoomedDomain);\n }\n\n $$.svg.select(\".\" + CLASS.dragZoom).classed(\"disabled\", true);\n config.zoom_onzoomend.call($$.api, zoomedDomain);\n });\n context.append(\"g\").classed(CLASS.dragZoom, true).attr(\"clip-path\", $$.clipPath).attr(\"transform\", \"translate(\" + brushXPos + \",\" + brushYPos + \")\").call(brush);\n };\n\n ChartInternal.prototype.getZoomDomain = function () {\n var $$ = this,\n config = $$.config,\n d3 = $$.d3,\n min = d3.min([$$.orgXDomain[0], config.zoom_x_min]),\n max = d3.max([$$.orgXDomain[1], config.zoom_x_max]);\n return [min, max];\n };\n\n ChartInternal.prototype.redrawForZoom = function () {\n var $$ = this,\n d3 = $$.d3,\n config = $$.config,\n zoom = $$.zoom,\n x = $$.x;\n\n if (!config.zoom_enabled) {\n return;\n }\n\n if ($$.filterTargetsToShow($$.data.targets).length === 0) {\n return;\n }\n\n zoom.update();\n\n if (config.zoom_disableDefaultBehavior) {\n return;\n }\n\n if ($$.isCategorized() && x.orgDomain()[0] === $$.orgXDomain[0]) {\n x.domain([$$.orgXDomain[0] - 1e-10, x.orgDomain()[1]]);\n }\n\n $$.redraw({\n withTransition: false,\n withY: config.zoom_rescale,\n withSubchart: false,\n withEventRect: false,\n withDimension: false\n });\n\n if (d3.event.sourceEvent && d3.event.sourceEvent.type === 'mousemove') {\n $$.cancelClick = true;\n }\n };\n\n return c3;\n\n})));\n","import { each } from '../../utils/each';\nimport { extend } from '../../utils/extend';\n\nfunction average(arr, start, end){\n var set = arr.slice(start||0, (end ? end+1 : arr.length)),\n sum = 0,\n avg = null;\n\n // Add numeric values\n each(set, function(val, i){\n if (typeof val === 'number' && !isNaN(parseFloat(val))) {\n sum += parseFloat(val);\n }\n });\n return sum / set.length;\n}\n\nfunction maximum(arr, start, end){\n var set = arr.slice(start||0, (end ? end+1 : arr.length)),\n nums = [];\n\n // Pull numeric values\n each(set, function(val, i){\n if (typeof val === 'number' && !isNaN(parseFloat(val))) {\n nums.push(parseFloat(val));\n }\n });\n return Math.max.apply(Math, nums);\n}\n\nfunction minimum(arr, start, end){\n var set = arr.slice(start||0, (end ? end+1 : arr.length)),\n nums = [];\n\n // Pull numeric values\n each(set, function(val, i){\n if (typeof val === 'number' && !isNaN(parseFloat(val))) {\n nums.push(parseFloat(val));\n }\n });\n return Math.min.apply(Math, nums);\n}\n\nfunction sum(arr, start, end){\n // Copy set with given range\n var set = arr.slice(start||0, (end ? end+1 : arr.length)),\n sum = 0;\n\n // Add numeric values\n each(set, function(val, i){\n if (typeof val === 'number' && !isNaN(parseFloat(val))) {\n sum += parseFloat(val);\n }\n });\n return sum;\n}\n\nconst getColumnAverage = function (arr) {\n return average(arr, 1);\n};\nconst getRowAverage = getColumnAverage;\n\nconst getColumnSum = function (arr) {\n return sum(arr, 1);\n};\nconst getRowSum = getColumnSum;\n\nconst getColumnMaximum = function (arr) {\n return maximum(arr, 1);\n};\nconst getRowMaximum = getColumnMaximum;\n\nconst getColumnMinimum = function (arr) {\n return minimum(arr, 1);\n};\nconst getRowMinimum = getColumnMinimum;\n\nconst getColumnLabel = function (arr) {\n return arr[0];\n};\nconst getRowIndex = getColumnLabel;\n\nexport default {\n average,\n maximum,\n minimum,\n sum,\n getColumnAverage,\n getRowAverage,\n getColumnSum,\n getRowSum,\n getColumnMaximum,\n getRowMaximum,\n getColumnMinimum,\n getRowMinimum,\n getColumnLabel,\n getRowIndex,\n};\n","// Modifiers\nimport * as append from './modifiers/append';\nimport * as del from './modifiers/delete';\nimport * as filter from './modifiers/filter';\nimport * as insert from './modifiers/insert';\nimport * as select from './modifiers/select';\nimport * as sort from './modifiers/sort';\nimport * as update from './modifiers/update';\n\n// Utils\nimport analyses from './utils/analyses';\nimport { extend } from '../utils/extend';\nimport parsers from './utils/parsers';\n\nexport const Dataset = function (config = {}) {\n if (this instanceof Dataset === false) {\n return new Dataset(config);\n }\n\n this.matrix = [\n ['Index']\n ];\n this.meta = {\n type: undefined\n };\n this.config = config;\n}\n\nDataset.prototype.data = function (arr) {\n if (!arguments.length) return this.matrix;\n this.matrix = (arr instanceof Array ? arr : null);\n return this;\n};\n\nDataset.prototype.set = function (coords, value) {\n if (arguments.length < 2 || coords.length < 2) {\n throw Error('Incorrect arguments provided for #set method');\n }\n\n var colIndex = 'number' === typeof coords[0] ? coords[0] : this.matrix[0].indexOf(coords[0]),\n rowIndex = 'number' === typeof coords[1] ? coords[1] : select.selectColumn.call(this, 0).indexOf(coords[1]);\n\n var colResult = select.selectColumn.call(this, coords[0]),\n rowResult = select.selectRow.call(this, coords[1]);\n\n // Column doesn't exist, create and reset colIndex\n if (colResult.length < 1) {\n append.appendColumn.call(this, String(coords[0]));\n colIndex = this.matrix[0].length - 1;\n }\n\n // Row doesn't exist, create and reset rowIndex\n if (rowResult.length < 1) {\n append.appendRow.call(this, String(coords[1]));\n rowIndex = this.matrix.length - 1;\n }\n\n // Set provided value\n this.matrix[ rowIndex ][ colIndex ] = value;\n return this;\n};\n\nDataset.prototype.type = function(str){\n if (!arguments.length) return this.meta['type'];\n this.meta['type'] = (str ? String(str) : undefined);\n return this;\n};\n\nextend(Dataset.prototype, append);\nextend(Dataset.prototype, del);\nextend(Dataset.prototype, filter);\nextend(Dataset.prototype, insert);\nextend(Dataset.prototype, select);\nextend(Dataset.prototype, sort);\nextend(Dataset.prototype, update);\nextend(Dataset.prototype, analyses);\nDataset.parser = parsers(Dataset);\n\nexport default Dataset;\n","import * as d3 from 'd3';\nimport { textWrap } from '../../utils/svg-text-wrap';\nimport { prettyNumber } from '../../utils/pretty-number';\n\nexport default class HorizontalFunnel3d {\n render() {\n const { matrix } = this.dataset;\n const {\n colors,\n container,\n labelMapping,\n colorMapping\n } = this.config;\n const opts = this.config;\n const {\n percents: {\n show,\n countingMethod,\n decimals,\n },\n lines,\n resultValues,\n effect3d,\n hover\n } = this.config.funnel;\n const margin = { top: 0, right: 30, bottom: 100, left: 10 };\n const funnelContainer = d3.select(container);\n const chartContainer = d3.select(container + ' .c3-chart');\n const chart = chartContainer.append('svg');\n const svgWidth = funnelContainer.style('width').slice(0, -2)\n - margin.right - margin.left;\n const svgHeight = funnelContainer.style('height').slice(0, -2)\n - margin.top - margin.bottom - 30;\n const elemWidth= svgWidth/(matrix.length - 1);\n const xMarginElement = elemWidth * 0.3;\n const shadowCut = (xMarginElement/1.5);\n let prevElemHeight = svgHeight;\n let percent = (100).toFixed(decimals);\n\n // prepare normal funnel polygons\n const polygons = matrix.slice(1).map((d, i) => {\n const newPoints = [\n {\n x: elemWidth * i + xMarginElement,\n y: ((svgHeight - prevElemHeight)/2)\n },\n {\n x: elemWidth * i + xMarginElement,\n y: ((svgHeight - prevElemHeight)/2 + prevElemHeight)\n },\n ]\n if(i !== 0){\n if(countingMethod === 'relative'){\n prevElemHeight = prevElemHeight * d[1]/matrix[i][1];\n percent = ((d[1]/matrix[i][1])*100).toFixed(decimals);\n }\n if(countingMethod === 'absolute'){\n prevElemHeight = svgHeight * d[1]/matrix[1][1];\n percent = ((d[1]/matrix[1][1])*100).toFixed(decimals);\n }\n }\n let label = d[0];\n if(Object.keys(labelMapping).length){\n for (let key in labelMapping) {\n if(labelMapping[key] === d[0]) {\n label = key;\n }\n }\n }\n let result = d[1];\n if ( (typeof opts['prettyNumber'] === 'undefined' || opts['prettyNumber'] === true)\n && !isNaN(parseInt(d[1])) ) {\n result = prettyNumber(d[1]);\n }\n return {\n name: d[0],\n label,\n percent: percent + '%',\n result,\n points: [\n ...newPoints,\n {\n x: elemWidth * (i + 1),\n y: ((svgHeight - prevElemHeight)/2 + prevElemHeight)\n },\n {\n x: elemWidth * (i + 1),\n y: ((svgHeight - prevElemHeight)/2)\n }\n ]\n }\n });\n\n //funnel shadows preparing\n const polygonsShadows = polygons.map((d, i) => {\n return {\n label: d.label,\n points: [\n {\n x: d.points[0].x,\n y: d.points[0].y\n },\n {\n x: d.points[1].x,\n y: d.points[1].y\n },\n {\n x: effect3d === 'top'\n ? d.points[1].x\n : d.points[1].x - shadowCut,\n y: effect3d === 'top'\n ? d.points[1].y\n : d.points[1].y - xMarginElement < svgHeight/2\n ? svgHeight/2 + 5\n : d.points[1].y - xMarginElement\n },\n {\n x: effect3d === 'bottom'\n ? d.points[0].x\n : d.points[0].x - shadowCut,\n y: effect3d === 'bottom'\n ? d.points[0].y\n : d.points[0].y + xMarginElement > svgHeight/2\n ? svgHeight/2 - 5\n : d.points[0].y + xMarginElement\n },\n ]\n }\n })\n\n //connecting funnels with shadows for rendering\n const polygons3d = polygons.concat(polygonsShadows);\n\n //chart rendering with polygons\n chart\n .attr('height', svgHeight + margin.top + margin.bottom - 30)\n .attr('width', svgWidth + margin.left + margin.right)\n .append('g')\n .attr('transform', 'translate(' + margin.left + ',' + margin.top + ')')\n .selectAll('polygon')\n .data(polygons3d)\n .enter()\n .append('polygon')\n .attr('points', (d) => {\n return d.points.map((p) => {\n return [p.x,p.y].join(',');\n })\n .join(' ');\n })\n .style('fill', (d, i) => {\n if(i > (polygons.length - 1)){\n if(colorMapping[d.label]){\n return d3.rgb(colorMapping[d.label]).darker(1.5);\n }\n return d3.rgb(colors[i - (polygons.length)]).darker(1.5);\n }\n if(colorMapping[d.label]){\n return colorMapping[d.label];\n }\n return colors[i];\n })\n .attr('class', (d) => { return d.label; })\n .attr('cursor', 'pointer');\n\n if(lines){\n //rendering lines\n chart\n .selectAll('line')\n .data(polygons)\n .enter()\n .append('line')\n .attr('x1', (d) => {\n return d.points[0].x + margin.left - (xMarginElement * 0.8);\n })\n .attr('y1', svgHeight + margin.bottom)\n .attr('x2', (d) => {\n return d.points[0].x + margin.left - (xMarginElement * 0.8);\n })\n .attr('y2', (d) => { return d.points[0].y; })\n .attr('class', 'chart-lines');\n\n //rendering last line\n chart\n .append('line')\n .attr('x1', svgWidth + margin.left + (xMarginElement/4))\n .attr('y1', svgHeight + margin.bottom)\n .attr('x2', polygons[polygons.length-1].points[3].x\n + margin.left + (xMarginElement/4))\n .attr('y2', polygons[polygons.length-1].points[3].y)\n .attr('class', 'chart-lines');\n }\n\n //rendering labels when lines are visible\n if(lines){\n chart\n .selectAll('text.label')\n .data(polygons)\n .enter()\n .append('text')\n .style('text-anchor', 'middle')\n .attr('x', (d) => {\n return d.points[0].x + margin.left + (elemWidth * 0.25)\n })\n .attr('y', svgHeight + (margin.bottom * 0.4))\n .attr('class', (d) => { return 'text-label ' + d.label; })\n .text((d) => { return d.name; })\n .call(textWrap, elemWidth)\n .attr('cursor', 'pointer');\n }\n\n //rendering labels when lines are not visible\n if(!lines) {\n chart\n .selectAll('text.label')\n .data(polygons)\n .enter()\n .append('text')\n .style('text-anchor', 'middle')\n .attr('x', (d) => {\n return d.points[0].x + margin.left + (elemWidth * 0.25)\n })\n .attr('y', (d) => {\n if(d.points[2].y + (elemWidth/4) >\n svgHeight + margin.bottom - 40){\n return svgHeight + margin.bottom - 40;\n }\n if(d.points[2].y + (elemWidth/4) < d.points[1].y){\n return d.points[1].y + 20;\n }\n return d.points[2].y + (elemWidth/4) + 10;\n })\n .attr('class', (d) => { return 'text-label ' + d.label; })\n .text((d) => { return d.name; })\n .call(textWrap, elemWidth)\n .attr('cursor', 'pointer');\n }\n\n //rendering percents for each step\n if(show && !resultValues){\n chart\n .selectAll('text.label')\n .data(polygons)\n .enter()\n .append('text')\n .style('text-anchor', 'middle')\n .attr('x', (d) => {\n return d.points[1].x + (elemWidth/2.8) + margin.left\n })\n .attr('y', svgHeight/2 + margin.top + 10)\n .attr('class', (d) => { return 'text-main ' + d.label; })\n .text((d) => { return d.percent; })\n .attr('cursor', 'pointer');\n }\n\n //rendering results for each step\n if(resultValues && !show){\n chart\n .selectAll('text.label')\n .data(polygons)\n .enter()\n .append('text')\n .style('text-anchor', 'middle')\n .attr('x', (d) => {\n return d.points[1].x + (elemWidth/2.8) + margin.left\n })\n .attr('y', svgHeight/2 + margin.top + 10)\n .attr('class', (d) => { return 'text-main ' + d.label; })\n .text((d) => { return d.result; })\n .attr('cursor', 'pointer');\n }\n\n //rendering results and percenage together\n if(show && resultValues){\n //rendering percents\n chart\n .selectAll('text.label')\n .data(polygons)\n .enter()\n .append('text')\n .style('text-anchor', 'middle')\n .attr('x', (d) => {\n return d.points[1].x + (elemWidth/2.8) + margin.left\n })\n .attr('y', svgHeight/2 + margin.top + 16)\n .attr('class', (d) => { return 'text-second ' + d.label; })\n .text((d) => { return d.percent; })\n .attr('cursor', 'pointer');\n\n //rendering results\n chart\n .selectAll('text.label')\n .data(polygons)\n .enter()\n .append('text')\n .style('text-anchor', 'middle')\n .attr('x', (d) => {\n return d.points[1].x + (elemWidth/2.8) + margin.left\n })\n .attr('y', svgHeight/2+ margin.top - 3)\n .attr('class', (d) => { return 'text-main ' + d.label; })\n .text((d) => { return d.result; })\n .attr('cursor', 'pointer');\n }\n\n //hover handling\n if(hover){\n const polygonsHover = chart.selectAll('polygon');\n polygonsHover\n .on(\"mouseover\", handleMouseOver)\n .on(\"mouseout\", handleMouseOut);\n\n const labelHover = chart.selectAll('text');\n labelHover\n .on(\"mouseover\", handleMouseOver)\n .on(\"mouseout\", handleMouseOut);\n\n function handleMouseOver(d) {\n polygonsHover\n .style('opacity', 0.5);\n labelHover\n .style('opacity', 0.5);\n const thisLabel = /[^ ]*$/.exec(d3.select(this).attr('class'))[0];\n chart\n .selectAll(`.${thisLabel}`)\n .style('opacity', 1);\n }\n function handleMouseOut(d) {\n polygonsHover\n .style('opacity', 1);\n labelHover\n .style('opacity', 1);\n }\n }\n }\n update() {\n this.destroy();\n this.render();\n }\n destroy() {\n const { container } = this.config;\n const chartContainer = d3.select(container + ' .c3-chart > *');\n chartContainer.remove();\n }\n}\n","import * as d3 from 'd3';\nimport { textWrap } from '../../utils/svg-text-wrap';\nimport { prettyNumber } from '../../utils/pretty-number';\n\nexport default class HorizontalFunnel {\n render() {\n const { matrix } = this.dataset;\n const {\n colors,\n container,\n labelMapping,\n colorMapping\n } = this.config;\n const opts = this.config;\n const {\n percents: {\n show,\n countingMethod,\n decimals,\n },\n lines,\n marginBetweenSteps,\n resultValues,\n hover\n } = this.config.funnel;\n const margin = { top: 0, right: 30, bottom: 100, left: 10 };\n let xMarginElement = 0;\n if(marginBetweenSteps){\n xMarginElement = 5;\n }\n const funnelContainer = d3.select(container);\n const chartContainer = d3.select(container + ' .c3-chart');\n const chart = chartContainer.append('svg');\n const svgWidth = funnelContainer.style('width').slice(0, -2)\n - margin.right - margin.left;\n const svgHeight = funnelContainer.style('height').slice(0, -2)\n - margin.top - margin.bottom - 30;\n const elemWidth= svgWidth/(matrix.length - 1);\n let prevElemHeight = svgHeight;\n let percent = (100).toFixed(decimals);\n\n // prepare normal funnel polygons\n const polygons = matrix.slice(1).map((d, i) => {\n const newPoints = [\n {\n x: elemWidth * i + xMarginElement,\n y: ((svgHeight - prevElemHeight)/2)\n },\n {\n x: elemWidth * i + xMarginElement,\n y: ((svgHeight - prevElemHeight)/2 + prevElemHeight)\n },\n ]\n if(i !== 0){\n if(countingMethod === 'relative'){\n prevElemHeight = prevElemHeight * d[1]/matrix[i][1];\n percent = ((d[1]/matrix[i][1])*100).toFixed(decimals);\n }\n if(countingMethod === 'absolute'){\n prevElemHeight = svgHeight * d[1]/matrix[1][1];\n percent = ((d[1]/matrix[1][1])*100).toFixed(decimals);\n }\n }\n let label = d[0];\n if(Object.keys(labelMapping).length){\n for (let key in labelMapping) {\n if(labelMapping[key] === d[0]) {\n label = key;\n }\n }\n }\n let result = d[1];\n if ( (typeof opts['prettyNumber'] === 'undefined'\n || opts['prettyNumber'] === true)\n && !isNaN(parseInt(d[1])) ) {\n result = prettyNumber(d[1]);\n }\n return {\n name: d[0],\n label,\n percent: percent + '%',\n result,\n points: [\n ...newPoints,\n {\n x: elemWidth * (i + 1),\n y: ((svgHeight - prevElemHeight)/2 + prevElemHeight)\n },\n {\n x: elemWidth * (i + 1),\n y: ((svgHeight - prevElemHeight)/2)\n }\n ]\n }\n });\n\n //chart rendering with polygons\n chart\n .attr('height', svgHeight + margin.top + margin.bottom - 30)\n .attr('width', svgWidth + margin.left + margin.right)\n .append('g')\n .attr('transform', 'translate(' + margin.left + ',' + margin.top + ')')\n .selectAll('polygon')\n .data(polygons)\n .enter()\n .append('polygon')\n .attr('points', (d) => {\n return d.points.map((p) => {\n return [p.x,p.y].join(',');\n })\n .join(' ');\n })\n .style('fill', (d, i) => {\n if(colorMapping[d.label]){\n return colorMapping[d.label];\n }\n return colors[i];\n })\n .attr('class', (d) => { return d.label; })\n .attr('cursor', 'pointer');\n\n if(lines){\n //rendering lines\n chart\n .selectAll('line')\n .data(polygons)\n .enter()\n .append('line')\n .attr('x1', (d) => {\n return d.points[0].x + margin.left - (xMarginElement/2);\n })\n .attr('y1', svgHeight + margin.bottom)\n .attr('x2', (d) => {\n return d.points[0].x + margin.left - (xMarginElement/2);\n })\n .attr('y2', (d) => { return d.points[0].y; })\n .attr('class', 'chart-lines');\n\n //rendering last line\n chart\n .append('line')\n .attr('x1', svgWidth + margin.left - (xMarginElement/2))\n .attr('y1', svgHeight + margin.bottom)\n .attr('x2', polygons[polygons.length-1].points[3].x\n + margin.left + (xMarginElement/2))\n .attr('y2', polygons[polygons.length-1].points[3].y)\n .attr('class', 'chart-lines');\n }\n\n //rendering labels when lines are visible\n if(lines){\n chart\n .selectAll('text.label')\n .data(polygons)\n .enter()\n .append('text')\n .style('text-anchor', 'middle')\n .attr('x', (d) => {\n return d.points[1].x + (elemWidth/2) + margin.left\n })\n .attr('y', svgHeight + (margin.bottom * 0.5))\n .attr('class', (d) => { return 'text-label ' + d.label; })\n .text((d) => { return d.name; })\n .call(textWrap, elemWidth)\n .attr('cursor', 'pointer');\n }\n\n //rendering labels when lines are not visible\n if(!lines) {\n chart\n .selectAll('text.label')\n .data(polygons)\n .enter()\n .append('text')\n .style('text-anchor', 'middle')\n .attr('x', (d) => {\n return d.points[1].x + (elemWidth/2) + margin.left\n })\n .attr('y', (d) => {\n if(d.points[2].y + ((d.points[3].y - d.points[0].y)/2)\n + (elemWidth/4) > svgHeight + margin.bottom - 40){\n return svgHeight + margin.bottom - 40;\n }\n return d.points[2].y + ((d.points[3].y - d.points[0].y)/2)\n + (elemWidth/4);\n })\n .attr('class', (d) => { return 'text-label ' + d.label; })\n .text((d) => { return d.name; })\n .call(textWrap, elemWidth)\n .attr('cursor', 'pointer');\n }\n\n //rendering percents for each step\n if(show && !resultValues){\n chart\n .selectAll('text.label')\n .data(polygons)\n .enter()\n .append('text')\n .style('text-anchor', 'middle')\n .attr('x', (d) => {\n return d.points[1].x + (elemWidth/2) + margin.left\n })\n .attr('y', svgHeight/2 + margin.top + 10)\n .attr('class', (d) => { return 'text-main ' + d.label; })\n .text((d) => { return d.percent; })\n .attr('cursor', 'pointer');\n }\n\n //rendering results for each step\n if(resultValues && !show){\n chart\n .selectAll('text.label')\n .data(polygons)\n .enter()\n .append('text')\n .style('text-anchor', 'middle')\n .attr('x', (d) => {\n return d.points[1].x + (elemWidth/2) + margin.left\n })\n .attr('y', svgHeight/2 + margin.top + 10)\n .attr('class', (d) => { return 'text-main ' + d.label; })\n .text((d) => { return d.result; })\n .attr('cursor', 'pointer');\n }\n\n //rendering results and percenage together\n if(show && resultValues){\n //rendering percents\n chart\n .selectAll('text.label')\n .data(polygons)\n .enter()\n .append('text')\n .style('text-anchor', 'middle')\n .attr('x', (d) => {\n return d.points[1].x + (elemWidth/2) + margin.left\n })\n .attr('y', svgHeight/2 + margin.top + 16)\n .attr('class', (d) => { return 'text-second ' + d.label; })\n .text((d) => { return d.percent; })\n .attr('cursor', 'pointer');\n\n //rendering results\n chart\n .selectAll('text.label')\n .data(polygons)\n .enter()\n .append('text')\n .style('text-anchor', 'middle')\n .attr('x', (d) => {\n return d.points[1].x + (elemWidth/2) + margin.left\n })\n .attr('y', svgHeight/2+ margin.top - 3)\n .attr('class', (d) => { return 'text-main ' + d.label; })\n .text((d) => { return d.result; })\n .attr('cursor', 'pointer');\n }\n //hover handling\n if(hover){\n const polygonsHover = chart.selectAll('polygon');\n polygonsHover\n .on(\"mouseover\", handleMouseOver)\n .on(\"mouseout\", handleMouseOut);\n\n const labelHover = chart.selectAll('text');\n labelHover\n .on(\"mouseover\", handleMouseOver)\n .on(\"mouseout\", handleMouseOut);\n\n function handleMouseOver(d) {\n polygonsHover\n .style('opacity', 0.5);\n labelHover\n .style('opacity', 0.5);\n const thisLabel = /[^ ]*$/.exec(d3.select(this).attr('class'))[0];\n chart\n .selectAll(`.${thisLabel}`)\n .style('opacity', 1);\n }\n function handleMouseOut(d) {\n polygonsHover\n .style('opacity', 1);\n labelHover\n .style('opacity', 1);\n }\n }\n\n }\n update() {\n this.destroy();\n this.render();\n }\n destroy() {\n const { container } = this.config;\n const chartContainer = d3.select(container + ' .c3-chart > *');\n chartContainer.remove();\n }\n}\n","import * as d3 from 'd3';\nimport { textWrap } from '../../utils/svg-text-wrap';\nimport { prettyNumber } from '../../utils/pretty-number';\n\nexport default class Funnel3d {\n render() {\n const { matrix } = this.dataset;\n const {\n colors,\n container,\n labelMapping,\n colorMapping\n } = this.config;\n const opts = this.config;\n const {\n percents: {\n show,\n countingMethod,\n decimals,\n },\n lines,\n resultValues,\n effect3d,\n hover,\n } = this.config.funnel;\n const margin = { top: 10, right: 30, bottom: 60, left: 200 };\n const funnelContainer = d3.select(container);\n const chartContainer = d3.select(container + ' .c3-chart');\n const chart = chartContainer.append('svg');\n const svgWidth = funnelContainer.style('width').slice(0, -2)\n - margin.right - margin.left;\n const svgHeight = funnelContainer.style('height').slice(0, -2)\n - margin.top - margin.bottom - 30;\n const elemHeight = svgHeight/(matrix.length - 1);\n const yMarginElement = elemHeight * 0.3;\n const shadowCut = (yMarginElement * 2.5);\n let prevElemWidth = svgWidth;\n let percent = (100).toFixed(decimals);\n\n // prepare normal funnel polygons\n const polygons = matrix.slice(1).map((d, i) => {\n const newPoints = [\n {\n x: ((svgWidth - prevElemWidth)/2),\n y: elemHeight * i + yMarginElement\n },\n {\n x: ((svgWidth - prevElemWidth)/2 + prevElemWidth),\n y: elemHeight * i + yMarginElement\n },\n ]\n if(i !== 0){\n if(countingMethod === 'relative'){\n prevElemWidth = prevElemWidth * d[1]/matrix[i][1];\n percent = ((d[1]/matrix[i][1])*100).toFixed(decimals);\n }\n if(countingMethod === 'absolute'){\n prevElemWidth = svgWidth * d[1]/matrix[1][1];\n percent = ((d[1]/matrix[1][1])*100).toFixed(decimals);\n }\n }\n let label = d[0];\n if(Object.keys(labelMapping).length){\n for (let key in labelMapping) {\n if(labelMapping[key] === d[0]) {\n label = key;\n }\n }\n }\n let result = d[1];\n if ( (typeof opts['prettyNumber'] === 'undefined' || opts['prettyNumber'] === true)\n && !isNaN(parseInt(d[1])) ) {\n result = prettyNumber(d[1]);\n }\n return {\n name: d[0],\n label,\n percent: percent + '%',\n result,\n points: [\n ...newPoints,\n {\n x: ((svgWidth - prevElemWidth)/2 + prevElemWidth),\n y: elemHeight * (i + 1)\n },\n {\n x: ((svgWidth - prevElemWidth)/2),\n y: elemHeight * (i + 1)\n }\n ]\n }\n });\n\n //funnel shadows preparing\n const polygonsShadows = polygons.map((d, i) => {\n return {\n label: d.label,\n points: [\n {\n x: d.points[3].x,\n y: d.points[3].y\n },\n {\n x: d.points[2].x,\n y: d.points[2].y\n },\n {\n x: effect3d === 'left'\n ? d.points[2].x\n : d.points[2].x - shadowCut < svgWidth/2\n ? svgWidth/2 + 5\n : d.points[2].x - shadowCut,\n y: effect3d === 'left'\n ? d.points[2].y\n : d.points[2].y + (yMarginElement/1.5)\n },\n {\n x: effect3d === 'right'\n ? d.points[3].x\n : d.points[3].x + shadowCut > svgWidth/2\n ? svgWidth/2 - 5\n : d.points[3].x + shadowCut,\n y: effect3d === 'right'\n ? d.points[3].y\n : d.points[3].y + (yMarginElement/1.5)\n },\n ]\n }\n })\n\n //connecting funnels with shadows for rendering\n const polygons3d = polygons.concat(polygonsShadows);\n\n //chart rendering with polygons\n chart\n .attr('height', svgHeight + margin.top + margin.bottom - 30)\n .attr('width', svgWidth + margin.left + margin.right)\n .append('g')\n .attr('transform', 'translate(' + margin.left + ',' + margin.top + ')')\n .selectAll('polygon')\n .data(polygons3d)\n .enter()\n .append('polygon')\n .attr('points', (d) => {\n return d.points.map((p) => {\n return [p.x,p.y].join(',');\n })\n .join(' ');\n })\n .style('fill', (d, i) => {\n if(i > (polygons.length - 1)){\n if(colorMapping[d.label]){\n return d3.rgb(colorMapping[d.label]).darker(1.5);\n }\n return d3.rgb(colors[i - (polygons.length)]).darker(1.5);\n }\n if(colorMapping[d.label]){\n return colorMapping[d.label];\n }\n return colors[i];\n })\n .attr('class', (d) => { return d.label; })\n .attr('cursor', 'pointer');\n\n if(lines){\n //rendering lines\n chart\n .selectAll('line')\n .data(polygons)\n .enter()\n .append('line')\n .attr('x1', 10)\n .attr('y1', (d) => {\n return d.points[0].y + margin.top - (yMarginElement/5);\n })\n .attr('x2', (d, i) => {\n if(i === 0){\n return d.points[1].x + margin.left;\n }\n return d.points[1].x + margin.left - shadowCut;\n })\n .attr('y2', (d) => {\n return d.points[0].y + margin.top - (yMarginElement/5);\n })\n .attr('class', 'chart-lines');\n\n //rendering last line\n chart\n .append('line')\n .attr('x1', 10)\n .attr('y1', polygons[polygons.length-1].points[2].y + margin.top\n + yMarginElement - (yMarginElement/5))\n .attr('x2', polygons[polygons.length-1].points[2].x\n + margin.left - shadowCut )\n .attr('y2', polygons[polygons.length-1].points[2].y + margin.top\n + yMarginElement - (yMarginElement/5))\n .attr('class', 'chart-lines');\n }\n\n //rendering labels when lines are visible\n if(lines){\n chart\n .selectAll('text.label')\n .data(polygons)\n .enter()\n .append('text')\n .style('text-anchor', 'start')\n .attr('x', 20)\n .attr('y', (d) => {\n return ((d.points[2].y - d.points[1].y)/2) + d.points[1].y\n + margin.top + 5 + (yMarginElement/4)\n })\n .attr('class', (d) => { return 'text-label ' + d.label; })\n .text((d) => { return d.name; })\n .call(textWrap, margin.left)\n .attr('cursor', 'pointer');\n }\n\n //rendering labels when lines are not visible\n if(!lines){\n chart\n .selectAll('text.label')\n .data(polygons)\n .enter()\n .append('text')\n .style('text-anchor', 'end')\n .attr('x', (d) => {\n return d.points[0].x + ((d.points[3].x - d.points[0].x)/2) + 130;\n })\n .attr('y', (d) => {\n return ((d.points[2].y - d.points[1].y)/2) + d.points[1].y\n + margin.top + 5;\n })\n .attr('class', (d) => { return 'text-label ' + d.label; })\n .text((d) => { return d.name; })\n .call(textWrap, margin.left)\n .attr('cursor', 'pointer');\n }\n\n //rendering percents for each step\n if(show && !resultValues){\n chart\n .selectAll('text.label')\n .data(polygons)\n .enter()\n .append('text')\n .style('text-anchor', 'middle')\n .attr('x', svgWidth/2 + margin.left)\n .attr('y', (d) => {\n return ((d.points[2].y - d.points[1].y)/2) + d.points[1].y\n + margin.top + 8\n })\n .attr('class', (d) => { return 'text-main ' + d.label; })\n .text((d) => { return d.percent; })\n .attr('cursor', 'pointer');\n }\n\n //rendering results for each step\n if(resultValues && !show){\n chart\n .selectAll('text.label')\n .data(polygons)\n .enter()\n .append('text')\n .style('text-anchor', 'middle')\n .attr('x', svgWidth/2 + margin.left)\n .attr('y', (d) => {\n return ((d.points[2].y - d.points[1].y)/2) + d.points[1].y\n + margin.top + 8\n })\n .attr('class', (d) => { return 'text-main ' + d.label; })\n .text((d) => { return d.result; })\n .attr('cursor', 'pointer');\n }\n\n //rendering results and percenage together\n if(show && resultValues){\n //rendering percents\n chart\n .selectAll('text.label')\n .data(polygons)\n .enter()\n .append('text')\n .style('text-anchor', 'middle')\n .attr('x', svgWidth/2 + margin.left)\n .attr('y', (d) => {\n return ((d.points[2].y - d.points[1].y)/2) + d.points[1].y\n + margin.top + 18\n })\n .attr('class', (d) => { return 'text-second ' + d.label; })\n .text((d) => { return d.percent; })\n .attr('cursor', 'pointer');\n\n //rendering results\n chart\n .selectAll('text.label')\n .data(polygons)\n .enter()\n .append('text')\n .style('text-anchor', 'middle')\n .attr('x', svgWidth/2 + margin.left)\n .attr('y', (d) => {\n return ((d.points[2].y - d.points[1].y)/2) + d.points[1].y\n + margin.top + 3\n })\n .attr('class', (d) => { return 'text-main ' + d.label; })\n .text((d) => { return d.result; })\n .attr('cursor', 'pointer');\n }\n //hover handling\n if(hover){\n const polygonsHover = chart.selectAll('polygon');\n polygonsHover\n .on(\"mouseover\", handleMouseOver)\n .on(\"mouseout\", handleMouseOut);\n\n const labelHover = chart.selectAll('text');\n labelHover\n .on(\"mouseover\", handleMouseOver)\n .on(\"mouseout\", handleMouseOut);\n\n function handleMouseOver(d) {\n polygonsHover\n .style('opacity', 0.5);\n labelHover\n .style('opacity', 0.5);\n const thisLabel = /[^ ]*$/.exec(d3.select(this).attr('class'))[0];\n chart\n .selectAll(`.${thisLabel}`)\n .style('opacity', 1);\n }\n function handleMouseOut(d) {\n polygonsHover\n .style('opacity', 1);\n labelHover\n .style('opacity', 1);\n }\n }\n }\n update() {\n this.destroy();\n this.render();\n }\n destroy() {\n const { container } = this.config;\n const chartContainer = d3.select(container + ' .c3-chart > *');\n chartContainer.remove();\n }\n}\n","import * as d3 from 'd3';\nimport { textWrap } from '../../utils/svg-text-wrap';\nimport { prettyNumber } from '../../utils/pretty-number';\n\nexport default class Funnel {\n render() {\n const { matrix } = this.dataset;\n const {\n colors,\n container,\n labelMapping,\n colorMapping,\n } = this.config;\n const opts = this.config;\n const {\n percents: {\n show,\n countingMethod,\n decimals,\n },\n lines,\n marginBetweenSteps,\n resultValues,\n hover,\n } = this.config.funnel;\n const margin = { top: 10, right: 30, bottom: 30, left: 200 };\n let yMarginElement = 0;\n if(marginBetweenSteps){\n yMarginElement = 5;\n }\n const funnelContainer = d3.select(container);\n const chartContainer = d3.select(container + ' .c3-chart');\n const chart = chartContainer.append('svg');\n const svgWidth = funnelContainer.style('width').slice(0, -2)\n - margin.right - margin.left;\n const svgHeight = funnelContainer.style('height').slice(0, -2)\n - margin.top - margin.bottom - 30;\n const elemHeight = svgHeight/(matrix.length - 1);\n let prevElemWidth = svgWidth;\n let percent = (100).toFixed(decimals);\n\n // prepare normal funnel polygons\n const polygons = matrix.slice(1).map((d, i) => {\n const newPoints = [\n {\n x: ((svgWidth - prevElemWidth)/2),\n y: elemHeight * i + yMarginElement\n },\n {\n x: ((svgWidth - prevElemWidth)/2 + prevElemWidth),\n y: elemHeight * i + yMarginElement\n },\n ]\n if(i !== 0){\n if(countingMethod === 'relative'){\n prevElemWidth = prevElemWidth * d[1]/matrix[i][1];\n percent = ((d[1]/matrix[i][1])*100).toFixed(decimals);\n }\n if(countingMethod === 'absolute'){\n prevElemWidth = svgWidth * d[1]/matrix[1][1];\n percent = ((d[1]/matrix[1][1])*100).toFixed(decimals);\n }\n }\n let label = d[0];\n if(Object.keys(labelMapping).length){\n for (let key in labelMapping) {\n if(labelMapping[key] === d[0]) {\n label = key;\n }\n }\n }\n let result = d[1];\n if ( (typeof opts['prettyNumber'] === 'undefined' || opts['prettyNumber'] === true)\n && !isNaN(parseInt(d[1])) ) {\n result = prettyNumber(d[1]);\n }\n return {\n name: d[0],\n label,\n percent: percent + '%',\n result,\n points: [\n ...newPoints,\n {\n x: ((svgWidth - prevElemWidth)/2 + prevElemWidth),\n y: elemHeight * (i + 1)\n },\n {\n x: ((svgWidth - prevElemWidth)/2),\n y: elemHeight * (i + 1)\n }\n ]\n }\n });\n\n //chart rendering with polygons\n chart\n .attr('height', svgHeight + margin.top + margin.bottom - 30)\n .attr('width', svgWidth + margin.left + margin.right)\n .append('g')\n .attr('transform', 'translate(' + margin.left + ',' + margin.top + ')')\n .selectAll('polygon')\n .data(polygons)\n .enter()\n .append('polygon')\n .attr('points', (d) => {\n return d.points.map((p) => {\n return [p.x,p.y].join(',');\n })\n .join(' ');\n })\n .style('fill', (d, i) => {\n if(colorMapping[d.label]){\n return colorMapping[d.label];\n }\n return colors[i];\n })\n .attr('class', (d) => { return d.label; })\n .attr('cursor', 'pointer');\n\n if(lines){\n //rendering lines\n chart\n .selectAll('line')\n .data(polygons)\n .enter()\n .append('line')\n .attr('x1', 10)\n .attr('y1', (d) => {\n return d.points[0].y + margin.top - (yMarginElement/2);\n })\n .attr('x2', (d) => { return d.points[1].x + margin.left; })\n .attr('y2', (d) => {\n return d.points[0].y + margin.top - (yMarginElement/2);\n })\n .attr('class', 'chart-lines');\n\n //rendering last line\n chart\n .append('line')\n .attr('x1', 10)\n .attr('y1', polygons[polygons.length-1].points[2].y\n + margin.top + (yMarginElement/2))\n .attr('x2', polygons[polygons.length-1].points[2].x + margin.left)\n .attr('y2', polygons[polygons.length-1].points[2].y\n + margin.top + (yMarginElement/2))\n .attr('class', 'chart-lines');\n }\n\n //rendering labels when lines are visible\n if(lines){\n chart\n .selectAll('text.label')\n .data(polygons)\n .enter()\n .append('text')\n .style('text-anchor', 'start')\n .attr('x', 20)\n .attr('y', (d) => {\n return ((d.points[2].y - d.points[1].y)/2) + d.points[1].y\n + margin.top + yMarginElement + 5\n })\n .attr('class', (d) => { return 'text-label ' + d.label; })\n .text((d) => { return d.name; })\n .call(textWrap, margin.left)\n .attr('cursor', 'pointer');\n }\n\n //rendering labels when lines are not visible\n if(!lines) {\n chart\n .selectAll('text.label')\n .data(polygons)\n .enter()\n .append('text')\n .style('text-anchor', 'end')\n .attr('x', (d) => {\n return d.points[0].x + ((d.points[3].x - d.points[0].x)/2)\n + (margin.left * 0.9);\n })\n .attr('y', (d) => {\n return ((d.points[2].y - d.points[1].y)/2) + d.points[1].y\n + margin.top + yMarginElement + 5\n })\n .attr('class', (d) => { return 'text-label ' + d.label; })\n .text((d) => { return d.name; })\n .call(textWrap, margin.left)\n .attr('cursor', 'pointer');\n }\n\n //rendering percents for each step\n if(show && !resultValues){\n chart\n .selectAll('text.label')\n .data(polygons)\n .enter()\n .append('text')\n .style('text-anchor', 'middle')\n .attr('x', svgWidth/2 + margin.left)\n .attr('y', (d) => {\n return ((d.points[2].y - d.points[1].y)/2) + d.points[1].y\n + margin.top + yMarginElement + 8\n })\n .attr('class', (d) => { return 'text-main ' + d.label; })\n .text((d) => { return d.percent; })\n .attr('cursor', 'pointer');\n }\n\n //rendering results for each step\n if(resultValues && !show){\n chart\n .selectAll('text.label')\n .data(polygons)\n .enter()\n .append('text')\n .style('text-anchor', 'middle')\n .attr('x', svgWidth/2 + margin.left)\n .attr('y', (d) => {\n return ((d.points[2].y - d.points[1].y)/2) + d.points[1].y\n + margin.top + yMarginElement + 8\n })\n .attr('class', (d) => { return 'text-main ' + d.label; })\n .text((d) => { return d.result; })\n .attr('cursor', 'pointer');\n }\n\n //rendering results and percenage together\n if(show && resultValues){\n //rendering percents\n chart\n .selectAll('text.label')\n .data(polygons)\n .enter()\n .append('text')\n .style('text-anchor', 'middle')\n .attr('x', svgWidth/2 + margin.left)\n .attr('y', (d) => {\n if(yMarginElement === 0){\n return ((d.points[2].y - d.points[1].y)/2) + d.points[1].y\n + margin.top + 16\n }\n return ((d.points[2].y - d.points[1].y)/2) + d.points[1].y\n + margin.top + yMarginElement + 12\n })\n .attr('class', (d) => { return 'text-second ' + d.label; })\n .text((d) => { return d.percent; })\n .attr('cursor', 'pointer');\n\n //rendering results\n chart\n .selectAll('text.label')\n .data(polygons)\n .enter()\n .append('text')\n .style('text-anchor', 'middle')\n .attr('x', svgWidth/2 + margin.left)\n .attr('y', (d) => {\n if(yMarginElement === 0){\n return ((d.points[2].y - d.points[1].y)/2) + d.points[1].y\n + margin.top;\n }\n return ((d.points[2].y - d.points[1].y)/2) + d.points[1].y\n + margin.top + yMarginElement - 5;\n })\n .attr('class', (d) => { return 'text-main ' + d.label; })\n .text((d) => { return d.result; })\n .attr('cursor', 'pointer');\n }\n //hover handling\n if(hover){\n const polygonsHover = chart.selectAll('polygon');\n polygonsHover\n .on(\"mouseover\", handleMouseOver)\n .on(\"mouseout\", handleMouseOut);\n\n const labelHover = chart.selectAll('text');\n labelHover\n .on(\"mouseover\", handleMouseOver)\n .on(\"mouseout\", handleMouseOut);\n\n function handleMouseOver(d) {\n polygonsHover\n .style('opacity', 0.5);\n labelHover\n .style('opacity', 0.5);\n const thisLabel = /[^ ]*$/.exec(d3.select(this).attr('class'))[0];\n chart\n .selectAll(`.${thisLabel}`)\n .style('opacity', 1);\n }\n function handleMouseOut(d) {\n polygonsHover\n .style('opacity', 1);\n labelHover\n .style('opacity', 1);\n }\n }\n }\n update() {\n this.destroy();\n this.render();\n }\n destroy() {\n const { container } = this.config;\n const chartContainer = d3.select(container + ' .c3-chart > *');\n chartContainer.remove();\n }\n}\n","export default {\n render: function(){\n let html = '';\n const artifacts = this.view._artifacts.spinner = {};\n\n // Build DOM element\n html += '
';\n html += '
';\n html += '
';\n html += '
';\n html += '
';\n this.el().innerHTML = html;\n },\n update: function(){\n // no special update handling\n this.render();\n },\n destroy: function(){\n if (this.view._artifacts.spinner) {\n if (this.view._artifacts.spinner.interval) {\n clearInterval(this.view._artifacts.spinner.interval);\n }\n this.view._artifacts.spinner.radius = 0;\n try {\n delete this.view._artifacts.spinner;\n }\n catch (e) {\n this.view._artifacts.spinner = undefined;\n }\n }\n this.el().innerHTML = '';\n }\n};\n","var map = {\n\t\"./af\": 133,\n\t\"./af.js\": 133,\n\t\"./ar\": 132,\n\t\"./ar-dz\": 131,\n\t\"./ar-dz.js\": 131,\n\t\"./ar-kw\": 130,\n\t\"./ar-kw.js\": 130,\n\t\"./ar-ly\": 129,\n\t\"./ar-ly.js\": 129,\n\t\"./ar-ma\": 128,\n\t\"./ar-ma.js\": 128,\n\t\"./ar-sa\": 127,\n\t\"./ar-sa.js\": 127,\n\t\"./ar-tn\": 126,\n\t\"./ar-tn.js\": 126,\n\t\"./ar.js\": 132,\n\t\"./az\": 125,\n\t\"./az.js\": 125,\n\t\"./be\": 124,\n\t\"./be.js\": 124,\n\t\"./bg\": 123,\n\t\"./bg.js\": 123,\n\t\"./bm\": 122,\n\t\"./bm.js\": 122,\n\t\"./bn\": 121,\n\t\"./bn.js\": 121,\n\t\"./bo\": 120,\n\t\"./bo.js\": 120,\n\t\"./br\": 119,\n\t\"./br.js\": 119,\n\t\"./bs\": 118,\n\t\"./bs.js\": 118,\n\t\"./ca\": 117,\n\t\"./ca.js\": 117,\n\t\"./cs\": 116,\n\t\"./cs.js\": 116,\n\t\"./cv\": 115,\n\t\"./cv.js\": 115,\n\t\"./cy\": 114,\n\t\"./cy.js\": 114,\n\t\"./da\": 113,\n\t\"./da.js\": 113,\n\t\"./de\": 112,\n\t\"./de-at\": 111,\n\t\"./de-at.js\": 111,\n\t\"./de-ch\": 110,\n\t\"./de-ch.js\": 110,\n\t\"./de.js\": 112,\n\t\"./dv\": 109,\n\t\"./dv.js\": 109,\n\t\"./el\": 108,\n\t\"./el.js\": 108,\n\t\"./en-au\": 107,\n\t\"./en-au.js\": 107,\n\t\"./en-ca\": 106,\n\t\"./en-ca.js\": 106,\n\t\"./en-gb\": 105,\n\t\"./en-gb.js\": 105,\n\t\"./en-ie\": 104,\n\t\"./en-ie.js\": 104,\n\t\"./en-il\": 103,\n\t\"./en-il.js\": 103,\n\t\"./en-nz\": 102,\n\t\"./en-nz.js\": 102,\n\t\"./eo\": 101,\n\t\"./eo.js\": 101,\n\t\"./es\": 100,\n\t\"./es-do\": 99,\n\t\"./es-do.js\": 99,\n\t\"./es-us\": 98,\n\t\"./es-us.js\": 98,\n\t\"./es.js\": 100,\n\t\"./et\": 97,\n\t\"./et.js\": 97,\n\t\"./eu\": 96,\n\t\"./eu.js\": 96,\n\t\"./fa\": 95,\n\t\"./fa.js\": 95,\n\t\"./fi\": 94,\n\t\"./fi.js\": 94,\n\t\"./fo\": 93,\n\t\"./fo.js\": 93,\n\t\"./fr\": 92,\n\t\"./fr-ca\": 91,\n\t\"./fr-ca.js\": 91,\n\t\"./fr-ch\": 90,\n\t\"./fr-ch.js\": 90,\n\t\"./fr.js\": 92,\n\t\"./fy\": 89,\n\t\"./fy.js\": 89,\n\t\"./gd\": 88,\n\t\"./gd.js\": 88,\n\t\"./gl\": 87,\n\t\"./gl.js\": 87,\n\t\"./gom-latn\": 86,\n\t\"./gom-latn.js\": 86,\n\t\"./gu\": 85,\n\t\"./gu.js\": 85,\n\t\"./he\": 84,\n\t\"./he.js\": 84,\n\t\"./hi\": 83,\n\t\"./hi.js\": 83,\n\t\"./hr\": 82,\n\t\"./hr.js\": 82,\n\t\"./hu\": 81,\n\t\"./hu.js\": 81,\n\t\"./hy-am\": 80,\n\t\"./hy-am.js\": 80,\n\t\"./id\": 79,\n\t\"./id.js\": 79,\n\t\"./is\": 78,\n\t\"./is.js\": 78,\n\t\"./it\": 77,\n\t\"./it.js\": 77,\n\t\"./ja\": 76,\n\t\"./ja.js\": 76,\n\t\"./jv\": 75,\n\t\"./jv.js\": 75,\n\t\"./ka\": 74,\n\t\"./ka.js\": 74,\n\t\"./kk\": 73,\n\t\"./kk.js\": 73,\n\t\"./km\": 72,\n\t\"./km.js\": 72,\n\t\"./kn\": 71,\n\t\"./kn.js\": 71,\n\t\"./ko\": 70,\n\t\"./ko.js\": 70,\n\t\"./ky\": 69,\n\t\"./ky.js\": 69,\n\t\"./lb\": 68,\n\t\"./lb.js\": 68,\n\t\"./lo\": 67,\n\t\"./lo.js\": 67,\n\t\"./lt\": 66,\n\t\"./lt.js\": 66,\n\t\"./lv\": 65,\n\t\"./lv.js\": 65,\n\t\"./me\": 64,\n\t\"./me.js\": 64,\n\t\"./mi\": 63,\n\t\"./mi.js\": 63,\n\t\"./mk\": 62,\n\t\"./mk.js\": 62,\n\t\"./ml\": 61,\n\t\"./ml.js\": 61,\n\t\"./mn\": 60,\n\t\"./mn.js\": 60,\n\t\"./mr\": 59,\n\t\"./mr.js\": 59,\n\t\"./ms\": 58,\n\t\"./ms-my\": 57,\n\t\"./ms-my.js\": 57,\n\t\"./ms.js\": 58,\n\t\"./mt\": 56,\n\t\"./mt.js\": 56,\n\t\"./my\": 55,\n\t\"./my.js\": 55,\n\t\"./nb\": 54,\n\t\"./nb.js\": 54,\n\t\"./ne\": 53,\n\t\"./ne.js\": 53,\n\t\"./nl\": 52,\n\t\"./nl-be\": 51,\n\t\"./nl-be.js\": 51,\n\t\"./nl.js\": 52,\n\t\"./nn\": 50,\n\t\"./nn.js\": 50,\n\t\"./pa-in\": 49,\n\t\"./pa-in.js\": 49,\n\t\"./pl\": 48,\n\t\"./pl.js\": 48,\n\t\"./pt\": 47,\n\t\"./pt-br\": 46,\n\t\"./pt-br.js\": 46,\n\t\"./pt.js\": 47,\n\t\"./ro\": 45,\n\t\"./ro.js\": 45,\n\t\"./ru\": 44,\n\t\"./ru.js\": 44,\n\t\"./sd\": 43,\n\t\"./sd.js\": 43,\n\t\"./se\": 42,\n\t\"./se.js\": 42,\n\t\"./si\": 41,\n\t\"./si.js\": 41,\n\t\"./sk\": 40,\n\t\"./sk.js\": 40,\n\t\"./sl\": 39,\n\t\"./sl.js\": 39,\n\t\"./sq\": 38,\n\t\"./sq.js\": 38,\n\t\"./sr\": 37,\n\t\"./sr-cyrl\": 36,\n\t\"./sr-cyrl.js\": 36,\n\t\"./sr.js\": 37,\n\t\"./ss\": 35,\n\t\"./ss.js\": 35,\n\t\"./sv\": 34,\n\t\"./sv.js\": 34,\n\t\"./sw\": 33,\n\t\"./sw.js\": 33,\n\t\"./ta\": 32,\n\t\"./ta.js\": 32,\n\t\"./te\": 31,\n\t\"./te.js\": 31,\n\t\"./tet\": 30,\n\t\"./tet.js\": 30,\n\t\"./tg\": 29,\n\t\"./tg.js\": 29,\n\t\"./th\": 28,\n\t\"./th.js\": 28,\n\t\"./tl-ph\": 27,\n\t\"./tl-ph.js\": 27,\n\t\"./tlh\": 26,\n\t\"./tlh.js\": 26,\n\t\"./tr\": 25,\n\t\"./tr.js\": 25,\n\t\"./tzl\": 24,\n\t\"./tzl.js\": 24,\n\t\"./tzm\": 23,\n\t\"./tzm-latn\": 22,\n\t\"./tzm-latn.js\": 22,\n\t\"./tzm.js\": 23,\n\t\"./ug-cn\": 21,\n\t\"./ug-cn.js\": 21,\n\t\"./uk\": 20,\n\t\"./uk.js\": 20,\n\t\"./ur\": 19,\n\t\"./ur.js\": 19,\n\t\"./uz\": 18,\n\t\"./uz-latn\": 17,\n\t\"./uz-latn.js\": 17,\n\t\"./uz.js\": 18,\n\t\"./vi\": 16,\n\t\"./vi.js\": 16,\n\t\"./x-pseudo\": 15,\n\t\"./x-pseudo.js\": 15,\n\t\"./yo\": 14,\n\t\"./yo.js\": 14,\n\t\"./zh-cn\": 13,\n\t\"./zh-cn.js\": 13,\n\t\"./zh-hk\": 12,\n\t\"./zh-hk.js\": 12,\n\t\"./zh-tw\": 11,\n\t\"./zh-tw.js\": 11\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\tvar module = __webpack_require__(id);\n\treturn module;\n}\nfunction webpackContextResolve(req) {\n\tvar id = map[req];\n\tif(!(id + 1)) { // check for number or string\n\t\tvar e = new Error('Cannot find module \"' + req + '\".');\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn id;\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 144;","module.exports = function(module) {\r\n\tif (!module.webpackPolyfill) {\r\n\t\tmodule.deprecate = function() {};\r\n\t\tmodule.paths = [];\r\n\t\t// module.parent = undefined by default\r\n\t\tif (!module.children) module.children = [];\r\n\t\tObject.defineProperty(module, \"loaded\", {\r\n\t\t\tenumerable: true,\r\n\t\t\tget: function() {\r\n\t\t\t\treturn module.l;\r\n\t\t\t}\r\n\t\t});\r\n\t\tObject.defineProperty(module, \"id\", {\r\n\t\t\tenumerable: true,\r\n\t\t\tget: function() {\r\n\t\t\t\treturn module.i;\r\n\t\t\t}\r\n\t\t});\r\n\t\tmodule.webpackPolyfill = 1;\r\n\t}\r\n\treturn module;\r\n};\r\n","//! moment-timezone.js\n//! version : 0.5.21\n//! Copyright (c) JS Foundation and other contributors\n//! license : MIT\n//! github.com/moment/moment-timezone\n\n(function (root, factory) {\n\t\"use strict\";\n\n\t/*global define*/\n\tif (typeof module === 'object' && module.exports) {\n\t\tmodule.exports = factory(require('moment')); // Node\n\t} else if (typeof define === 'function' && define.amd) {\n\t\tdefine(['moment'], factory); // AMD\n\t} else {\n\t\tfactory(root.moment); // Browser\n\t}\n}(this, function (moment) {\n\t\"use strict\";\n\n\t// Do not load moment-timezone a second time.\n\t// if (moment.tz !== undefined) {\n\t// \tlogError('Moment Timezone ' + moment.tz.version + ' was already loaded ' + (moment.tz.dataVersion ? 'with data from ' : 'without any data') + moment.tz.dataVersion);\n\t// \treturn moment;\n\t// }\n\n\tvar VERSION = \"0.5.21\",\n\t\tzones = {},\n\t\tlinks = {},\n\t\tnames = {},\n\t\tguesses = {},\n\t\tcachedGuess;\n\n\tif (!moment || typeof moment.version !== 'string') {\n\t\tlogError('Moment Timezone requires Moment.js. See https://momentjs.com/timezone/docs/#/use-it/browser/');\n\t}\n\n\tvar momentVersion = moment.version.split('.'),\n\t\tmajor = +momentVersion[0],\n\t\tminor = +momentVersion[1];\n\n\t// Moment.js version check\n\tif (major < 2 || (major === 2 && minor < 6)) {\n\t\tlogError('Moment Timezone requires Moment.js >= 2.6.0. You are using Moment.js ' + moment.version + '. See momentjs.com');\n\t}\n\n\t/************************************\n\t\tUnpacking\n\t************************************/\n\n\tfunction charCodeToInt(charCode) {\n\t\tif (charCode > 96) {\n\t\t\treturn charCode - 87;\n\t\t} else if (charCode > 64) {\n\t\t\treturn charCode - 29;\n\t\t}\n\t\treturn charCode - 48;\n\t}\n\n\tfunction unpackBase60(string) {\n\t\tvar i = 0,\n\t\t\tparts = string.split('.'),\n\t\t\twhole = parts[0],\n\t\t\tfractional = parts[1] || '',\n\t\t\tmultiplier = 1,\n\t\t\tnum,\n\t\t\tout = 0,\n\t\t\tsign = 1;\n\n\t\t// handle negative numbers\n\t\tif (string.charCodeAt(0) === 45) {\n\t\t\ti = 1;\n\t\t\tsign = -1;\n\t\t}\n\n\t\t// handle digits before the decimal\n\t\tfor (i; i < whole.length; i++) {\n\t\t\tnum = charCodeToInt(whole.charCodeAt(i));\n\t\t\tout = 60 * out + num;\n\t\t}\n\n\t\t// handle digits after the decimal\n\t\tfor (i = 0; i < fractional.length; i++) {\n\t\t\tmultiplier = multiplier / 60;\n\t\t\tnum = charCodeToInt(fractional.charCodeAt(i));\n\t\t\tout += num * multiplier;\n\t\t}\n\n\t\treturn out * sign;\n\t}\n\n\tfunction arrayToInt (array) {\n\t\tfor (var i = 0; i < array.length; i++) {\n\t\t\tarray[i] = unpackBase60(array[i]);\n\t\t}\n\t}\n\n\tfunction intToUntil (array, length) {\n\t\tfor (var i = 0; i < length; i++) {\n\t\t\tarray[i] = Math.round((array[i - 1] || 0) + (array[i] * 60000)); // minutes to milliseconds\n\t\t}\n\n\t\tarray[length - 1] = Infinity;\n\t}\n\n\tfunction mapIndices (source, indices) {\n\t\tvar out = [], i;\n\n\t\tfor (i = 0; i < indices.length; i++) {\n\t\t\tout[i] = source[indices[i]];\n\t\t}\n\n\t\treturn out;\n\t}\n\n\tfunction unpack (string) {\n\t\tvar data = string.split('|'),\n\t\t\toffsets = data[2].split(' '),\n\t\t\tindices = data[3].split(''),\n\t\t\tuntils = data[4].split(' ');\n\n\t\tarrayToInt(offsets);\n\t\tarrayToInt(indices);\n\t\tarrayToInt(untils);\n\n\t\tintToUntil(untils, indices.length);\n\n\t\treturn {\n\t\t\tname : data[0],\n\t\t\tabbrs : mapIndices(data[1].split(' '), indices),\n\t\t\toffsets : mapIndices(offsets, indices),\n\t\t\tuntils : untils,\n\t\t\tpopulation : data[5] | 0\n\t\t};\n\t}\n\n\t/************************************\n\t\tZone object\n\t************************************/\n\n\tfunction Zone (packedString) {\n\t\tif (packedString) {\n\t\t\tthis._set(unpack(packedString));\n\t\t}\n\t}\n\n\tZone.prototype = {\n\t\t_set : function (unpacked) {\n\t\t\tthis.name = unpacked.name;\n\t\t\tthis.abbrs = unpacked.abbrs;\n\t\t\tthis.untils = unpacked.untils;\n\t\t\tthis.offsets = unpacked.offsets;\n\t\t\tthis.population = unpacked.population;\n\t\t},\n\n\t\t_index : function (timestamp) {\n\t\t\tvar target = +timestamp,\n\t\t\t\tuntils = this.untils,\n\t\t\t\ti;\n\n\t\t\tfor (i = 0; i < untils.length; i++) {\n\t\t\t\tif (target < untils[i]) {\n\t\t\t\t\treturn i;\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\tparse : function (timestamp) {\n\t\t\tvar target = +timestamp,\n\t\t\t\toffsets = this.offsets,\n\t\t\t\tuntils = this.untils,\n\t\t\t\tmax = untils.length - 1,\n\t\t\t\toffset, offsetNext, offsetPrev, i;\n\n\t\t\tfor (i = 0; i < max; i++) {\n\t\t\t\toffset = offsets[i];\n\t\t\t\toffsetNext = offsets[i + 1];\n\t\t\t\toffsetPrev = offsets[i ? i - 1 : i];\n\n\t\t\t\tif (offset < offsetNext && tz.moveAmbiguousForward) {\n\t\t\t\t\toffset = offsetNext;\n\t\t\t\t} else if (offset > offsetPrev && tz.moveInvalidForward) {\n\t\t\t\t\toffset = offsetPrev;\n\t\t\t\t}\n\n\t\t\t\tif (target < untils[i] - (offset * 60000)) {\n\t\t\t\t\treturn offsets[i];\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn offsets[max];\n\t\t},\n\n\t\tabbr : function (mom) {\n\t\t\treturn this.abbrs[this._index(mom)];\n\t\t},\n\n\t\toffset : function (mom) {\n\t\t\tlogError(\"zone.offset has been deprecated in favor of zone.utcOffset\");\n\t\t\treturn this.offsets[this._index(mom)];\n\t\t},\n\n\t\tutcOffset : function (mom) {\n\t\t\treturn this.offsets[this._index(mom)];\n\t\t}\n\t};\n\n\t/************************************\n\t\tCurrent Timezone\n\t************************************/\n\n\tfunction OffsetAt(at) {\n\t\tvar timeString = at.toTimeString();\n\t\tvar abbr = timeString.match(/\\([a-z ]+\\)/i);\n\t\tif (abbr && abbr[0]) {\n\t\t\t// 17:56:31 GMT-0600 (CST)\n\t\t\t// 17:56:31 GMT-0600 (Central Standard Time)\n\t\t\tabbr = abbr[0].match(/[A-Z]/g);\n\t\t\tabbr = abbr ? abbr.join('') : undefined;\n\t\t} else {\n\t\t\t// 17:56:31 CST\n\t\t\t// 17:56:31 GMT+0800 (台北標準時間)\n\t\t\tabbr = timeString.match(/[A-Z]{3,5}/g);\n\t\t\tabbr = abbr ? abbr[0] : undefined;\n\t\t}\n\n\t\tif (abbr === 'GMT') {\n\t\t\tabbr = undefined;\n\t\t}\n\n\t\tthis.at = +at;\n\t\tthis.abbr = abbr;\n\t\tthis.offset = at.getTimezoneOffset();\n\t}\n\n\tfunction ZoneScore(zone) {\n\t\tthis.zone = zone;\n\t\tthis.offsetScore = 0;\n\t\tthis.abbrScore = 0;\n\t}\n\n\tZoneScore.prototype.scoreOffsetAt = function (offsetAt) {\n\t\tthis.offsetScore += Math.abs(this.zone.utcOffset(offsetAt.at) - offsetAt.offset);\n\t\tif (this.zone.abbr(offsetAt.at).replace(/[^A-Z]/g, '') !== offsetAt.abbr) {\n\t\t\tthis.abbrScore++;\n\t\t}\n\t};\n\n\tfunction findChange(low, high) {\n\t\tvar mid, diff;\n\n\t\twhile ((diff = ((high.at - low.at) / 12e4 | 0) * 6e4)) {\n\t\t\tmid = new OffsetAt(new Date(low.at + diff));\n\t\t\tif (mid.offset === low.offset) {\n\t\t\t\tlow = mid;\n\t\t\t} else {\n\t\t\t\thigh = mid;\n\t\t\t}\n\t\t}\n\n\t\treturn low;\n\t}\n\n\tfunction userOffsets() {\n\t\tvar startYear = new Date().getFullYear() - 2,\n\t\t\tlast = new OffsetAt(new Date(startYear, 0, 1)),\n\t\t\toffsets = [last],\n\t\t\tchange, next, i;\n\n\t\tfor (i = 1; i < 48; i++) {\n\t\t\tnext = new OffsetAt(new Date(startYear, i, 1));\n\t\t\tif (next.offset !== last.offset) {\n\t\t\t\tchange = findChange(last, next);\n\t\t\t\toffsets.push(change);\n\t\t\t\toffsets.push(new OffsetAt(new Date(change.at + 6e4)));\n\t\t\t}\n\t\t\tlast = next;\n\t\t}\n\n\t\tfor (i = 0; i < 4; i++) {\n\t\t\toffsets.push(new OffsetAt(new Date(startYear + i, 0, 1)));\n\t\t\toffsets.push(new OffsetAt(new Date(startYear + i, 6, 1)));\n\t\t}\n\n\t\treturn offsets;\n\t}\n\n\tfunction sortZoneScores (a, b) {\n\t\tif (a.offsetScore !== b.offsetScore) {\n\t\t\treturn a.offsetScore - b.offsetScore;\n\t\t}\n\t\tif (a.abbrScore !== b.abbrScore) {\n\t\t\treturn a.abbrScore - b.abbrScore;\n\t\t}\n\t\treturn b.zone.population - a.zone.population;\n\t}\n\n\tfunction addToGuesses (name, offsets) {\n\t\tvar i, offset;\n\t\tarrayToInt(offsets);\n\t\tfor (i = 0; i < offsets.length; i++) {\n\t\t\toffset = offsets[i];\n\t\t\tguesses[offset] = guesses[offset] || {};\n\t\t\tguesses[offset][name] = true;\n\t\t}\n\t}\n\n\tfunction guessesForUserOffsets (offsets) {\n\t\tvar offsetsLength = offsets.length,\n\t\t\tfilteredGuesses = {},\n\t\t\tout = [],\n\t\t\ti, j, guessesOffset;\n\n\t\tfor (i = 0; i < offsetsLength; i++) {\n\t\t\tguessesOffset = guesses[offsets[i].offset] || {};\n\t\t\tfor (j in guessesOffset) {\n\t\t\t\tif (guessesOffset.hasOwnProperty(j)) {\n\t\t\t\t\tfilteredGuesses[j] = true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tfor (i in filteredGuesses) {\n\t\t\tif (filteredGuesses.hasOwnProperty(i)) {\n\t\t\t\tout.push(names[i]);\n\t\t\t}\n\t\t}\n\n\t\treturn out;\n\t}\n\n\tfunction rebuildGuess () {\n\n\t\t// use Intl API when available and returning valid time zone\n\t\ttry {\n\t\t\tvar intlName = Intl.DateTimeFormat().resolvedOptions().timeZone;\n\t\t\tif (intlName && intlName.length > 3) {\n\t\t\t\tvar name = names[normalizeName(intlName)];\n\t\t\t\tif (name) {\n\t\t\t\t\treturn name;\n\t\t\t\t}\n\t\t\t\tlogError(\"Moment Timezone found \" + intlName + \" from the Intl api, but did not have that data loaded.\");\n\t\t\t}\n\t\t} catch (e) {\n\t\t\t// Intl unavailable, fall back to manual guessing.\n\t\t}\n\n\t\tvar offsets = userOffsets(),\n\t\t\toffsetsLength = offsets.length,\n\t\t\tguesses = guessesForUserOffsets(offsets),\n\t\t\tzoneScores = [],\n\t\t\tzoneScore, i, j;\n\n\t\tfor (i = 0; i < guesses.length; i++) {\n\t\t\tzoneScore = new ZoneScore(getZone(guesses[i]), offsetsLength);\n\t\t\tfor (j = 0; j < offsetsLength; j++) {\n\t\t\t\tzoneScore.scoreOffsetAt(offsets[j]);\n\t\t\t}\n\t\t\tzoneScores.push(zoneScore);\n\t\t}\n\n\t\tzoneScores.sort(sortZoneScores);\n\n\t\treturn zoneScores.length > 0 ? zoneScores[0].zone.name : undefined;\n\t}\n\n\tfunction guess (ignoreCache) {\n\t\tif (!cachedGuess || ignoreCache) {\n\t\t\tcachedGuess = rebuildGuess();\n\t\t}\n\t\treturn cachedGuess;\n\t}\n\n\t/************************************\n\t\tGlobal Methods\n\t************************************/\n\n\tfunction normalizeName (name) {\n\t\treturn (name || '').toLowerCase().replace(/\\//g, '_');\n\t}\n\n\tfunction addZone (packed) {\n\t\tvar i, name, split, normalized;\n\n\t\tif (typeof packed === \"string\") {\n\t\t\tpacked = [packed];\n\t\t}\n\n\t\tfor (i = 0; i < packed.length; i++) {\n\t\t\tsplit = packed[i].split('|');\n\t\t\tname = split[0];\n\t\t\tnormalized = normalizeName(name);\n\t\t\tzones[normalized] = packed[i];\n\t\t\tnames[normalized] = name;\n\t\t\taddToGuesses(normalized, split[2].split(' '));\n\t\t}\n\t}\n\n\tfunction getZone (name, caller) {\n\t\t\n\t\tname = normalizeName(name);\n\n\t\tvar zone = zones[name];\n\t\tvar link;\n\n\t\tif (zone instanceof Zone) {\n\t\t\treturn zone;\n\t\t}\n\n\t\tif (typeof zone === 'string') {\n\t\t\tzone = new Zone(zone);\n\t\t\tzones[name] = zone;\n\t\t\treturn zone;\n\t\t}\n\n\t\t// Pass getZone to prevent recursion more than 1 level deep\n\t\tif (links[name] && caller !== getZone && (link = getZone(links[name], getZone))) {\n\t\t\tzone = zones[name] = new Zone();\n\t\t\tzone._set(link);\n\t\t\tzone.name = names[name];\n\t\t\treturn zone;\n\t\t}\n\n\t\treturn null;\n\t}\n\n\tfunction getNames () {\n\t\tvar i, out = [];\n\n\t\tfor (i in names) {\n\t\t\tif (names.hasOwnProperty(i) && (zones[i] || zones[links[i]]) && names[i]) {\n\t\t\t\tout.push(names[i]);\n\t\t\t}\n\t\t}\n\n\t\treturn out.sort();\n\t}\n\n\tfunction addLink (aliases) {\n\t\tvar i, alias, normal0, normal1;\n\n\t\tif (typeof aliases === \"string\") {\n\t\t\taliases = [aliases];\n\t\t}\n\n\t\tfor (i = 0; i < aliases.length; i++) {\n\t\t\talias = aliases[i].split('|');\n\n\t\t\tnormal0 = normalizeName(alias[0]);\n\t\t\tnormal1 = normalizeName(alias[1]);\n\n\t\t\tlinks[normal0] = normal1;\n\t\t\tnames[normal0] = alias[0];\n\n\t\t\tlinks[normal1] = normal0;\n\t\t\tnames[normal1] = alias[1];\n\t\t}\n\t}\n\n\tfunction loadData (data) {\n\t\taddZone(data.zones);\n\t\taddLink(data.links);\n\t\ttz.dataVersion = data.version;\n\t}\n\n\tfunction zoneExists (name) {\n\t\tif (!zoneExists.didShowError) {\n\t\t\tzoneExists.didShowError = true;\n\t\t\t\tlogError(\"moment.tz.zoneExists('\" + name + \"') has been deprecated in favor of !moment.tz.zone('\" + name + \"')\");\n\t\t}\n\t\treturn !!getZone(name);\n\t}\n\n\tfunction needsOffset (m) {\n\t\tvar isUnixTimestamp = (m._f === 'X' || m._f === 'x');\n\t\treturn !!(m._a && (m._tzm === undefined) && !isUnixTimestamp);\n\t}\n\n\tfunction logError (message) {\n\t\tif (typeof console !== 'undefined' && typeof console.error === 'function') {\n\t\t\tconsole.error(message);\n\t\t}\n\t}\n\n\t/************************************\n\t\tmoment.tz namespace\n\t************************************/\n\n\tfunction tz (input) {\n\t\tvar args = Array.prototype.slice.call(arguments, 0, -1),\n\t\t\tname = arguments[arguments.length - 1],\n\t\t\tzone = getZone(name),\n\t\t\tout = moment.utc.apply(null, args);\n\n\t\tif (zone && !moment.isMoment(input) && needsOffset(out)) {\n\t\t\tout.add(zone.parse(out), 'minutes');\n\t\t}\n\n\t\tout.tz(name);\n\n\t\treturn out;\n\t}\n\n\ttz.version = VERSION;\n\ttz.dataVersion = '';\n\ttz._zones = zones;\n\ttz._links = links;\n\ttz._names = names;\n\ttz.add = addZone;\n\ttz.link = addLink;\n\ttz.load = loadData;\n\ttz.zone = getZone;\n\ttz.zoneExists = zoneExists; // deprecated in 0.1.0\n\ttz.guess = guess;\n\ttz.names = getNames;\n\ttz.Zone = Zone;\n\ttz.unpack = unpack;\n\ttz.unpackBase60 = unpackBase60;\n\ttz.needsOffset = needsOffset;\n\ttz.moveInvalidForward = true;\n\ttz.moveAmbiguousForward = false;\n\n\t/************************************\n\t\tInterface with Moment.js\n\t************************************/\n\n\tvar fn = moment.fn;\n\n\tmoment.tz = tz;\n\n\tmoment.defaultZone = null;\n\n\tmoment.updateOffset = function (mom, keepTime) {\n\t\tvar zone = moment.defaultZone,\n\t\t\toffset;\n\n\t\tif (mom._z === undefined) {\n\t\t\tif (zone && needsOffset(mom) && !mom._isUTC) {\n\t\t\t\tmom._d = moment.utc(mom._a)._d;\n\t\t\t\tmom.utc().add(zone.parse(mom), 'minutes');\n\t\t\t}\n\t\t\tmom._z = zone;\n\t\t}\n\t\tif (mom._z) {\n\t\t\toffset = mom._z.utcOffset(mom);\n\t\t\tif (Math.abs(offset) < 16) {\n\t\t\t\toffset = offset / 60;\n\t\t\t}\n\t\t\tif (mom.utcOffset !== undefined) {\n\t\t\t\tmom.utcOffset(-offset, keepTime);\n\t\t\t} else {\n\t\t\t\tmom.zone(offset, keepTime);\n\t\t\t}\n\t\t}\n\t};\n\n\tfn.tz = function (name, keepTime) {\n\t\tif (name) {\n\t\t\tif (typeof name !== 'string') {\n\t\t\t\tthrow new Error('Time zone name must be a string, got ' + name + ' [' + typeof name + ']');\n\t\t\t}\n\t\t\tthis._z = getZone(name);\n\t\t\tif (this._z) {\n\t\t\t\tmoment.updateOffset(this, keepTime);\n\t\t\t} else {\n\t\t\t\tlogError(\"Moment Timezone has no data for \" + name + \". See http://momentjs.com/timezone/docs/#/data-loading/.\");\n\t\t\t}\n\t\t\treturn this;\n\t\t}\n\t\tif (this._z) { return this._z.name; }\n\t};\n\n\tfunction abbrWrap (old) {\n\t\treturn function () {\n\t\t\tif (this._z) { return this._z.abbr(this); }\n\t\t\treturn old.call(this);\n\t\t};\n\t}\n\n\tfunction resetZoneWrap (old) {\n\t\treturn function () {\n\t\t\tthis._z = null;\n\t\t\treturn old.apply(this, arguments);\n\t\t};\n\t}\n\n\tfn.zoneName = abbrWrap(fn.zoneName);\n\tfn.zoneAbbr = abbrWrap(fn.zoneAbbr);\n\tfn.utc = resetZoneWrap(fn.utc);\n\n\tmoment.tz.setDefault = function(name) {\n\t\tif (major < 2 || (major === 2 && minor < 9)) {\n\t\t\tlogError('Moment Timezone setDefault() requires Moment.js >= 2.9.0. You are using Moment.js ' + moment.version + '.');\n\t\t}\n\t\tmoment.defaultZone = name ? getZone(name) : null;\n\t\treturn moment;\n\t};\n\n\t// Cloning a moment should include the _z property.\n\tvar momentProperties = moment.momentProperties;\n\tif (Object.prototype.toString.call(momentProperties) === '[object Array]') {\n\t\t// moment 2.8.1+\n\t\tmomentProperties.push('_z');\n\t\tmomentProperties.push('_a');\n\t} else if (momentProperties) {\n\t\t// moment 2.7.0\n\t\tmomentProperties._z = null;\n\t}\n\n\t// INJECT DATA\n\n\treturn moment;\n}));\n","var moment = module.exports = require(\"./moment-timezone\");\nmoment.tz.load(require('./data/packed/latest.json'));\n","import moment from 'moment-timezone';\n\nimport { each } from '../../utils/each';\nimport { stripHtmlTags } from '../../utils/strip-html-tags';\nimport { escapeHtml } from '../../utils/escape-html';\n\nconst defaults = {\n /*\n DEPRECATED - use CSS styles\n\n height: undefined,\n width: undefined,\n stickyHeader: false,\n stickyFooter: false\n */\n};\n\nlet currentPage;\nfunction _generateTableRows(datavizInstance, dataset) {\n let html = '';\n const defaultConfig = {\n page: 1,\n limit: 0,\n arrows: true\n };\n let customConfig = {};\n if (datavizInstance.config.table && datavizInstance.config.table.pagination) {\n customConfig = datavizInstance.config.table.pagination;\n }\n const config = {\n ...defaultConfig,\n ...customConfig\n };\n\n if (!currentPage){\n currentPage = config.page;\n }\n\n let datasetPaginated;\n let pages = 0;\n if (config.limit === 0) {\n datasetPaginated = dataset.slice(1); // remove header\n } else {\n const start = config.limit * (currentPage - 1) + 1;\n const end = start + config.limit;\n datasetPaginated = dataset.slice(start, end);\n pages = Math.ceil((dataset.length - 1) / config.limit);\n }\n\n let columnsArray = datavizInstance.config.table.columns ?\n datavizInstance.config.table.columns :\n datavizInstance.dataset.matrix[0];\n\n const checkArray = {};\n const { mapValues } = datavizInstance.config.table;\n for (let key in mapValues){\n checkArray[columnsArray.indexOf(key)] = key;\n }\n\n // var london = newYork.clone().tz(\"Europe/London\");\n for (let row of datasetPaginated) {\n html += '';\n for (let [index, rowCol] of row.entries()) {\n if (\n datavizInstance.config.timezone\n && rowCol instanceof Date\n ) {\n let dateTimeTimezoned = moment\n .tz(rowCol, \"UTC\")\n .clone()\n .tz(datavizInstance.config.timezone);\n html += `${dateTimeTimezoned.toString()}`;\n continue;\n }\n let rowColEscaped = escapeHtml(rowCol);\n if(checkArray[index]){\n html += `${mapValues[checkArray[index]](rowColEscaped)}`;\n continue;\n }\n html += `${rowColEscaped}`\n }\n html += '';\n }\n\n if (pages > 1){\n html += ``;\n let pageNumber = 1;\n const prevPage = (currentPage === 1) ? 1 : (currentPage - 1);\n const nextPage = (currentPage === pages) ? pages : (currentPage + 1);\n if (config.arrows){\n html += `<`;\n }\n while (pageNumber <= pages){\n html += `${pageNumber}`;\n pageNumber++;\n }\n if (config.arrows){\n html += `>`;\n }\n html += '';\n }\n\n return html;\n}\n\nfunction _generateTableHeader(datavizInstance, dataset) {\n let html = '';\n let fieldNumber = -1;\n let columnNames =\n (datavizInstance.config.table && datavizInstance.config.table.columns)\n || dataset[0];\n for (let colName of columnNames) {\n let colNameEscaped = escapeHtml(colName);\n fieldNumber +=1;\n html += `${colNameEscaped}`;\n }\n return html;\n}\n\n\n const render = function() {\n const dataset = this.dataset.matrix;\n\n const el = this.el();\n const theme = this.config.theme;\n const datavizInstance = this;\n\n let html = '';\n\n const isEmpty = dataset.length === 1 && dataset[0].length === 0;\n if (isEmpty) {\n const msg = 'No data to display';\n const mappedMsg = this.config.errorMapping[msg] || msg;\n if (this.config.showErrorMessages) {\n this.message(mappedMsg);\n }\n return;\n }\n\n // Open wrapper\n html += `
`;\n\n // Static, scrollable table\n html += ``;\n html += '';\n html += '';\n html += _generateTableHeader(datavizInstance, dataset);\n html += '';\n html += '';\n // Table data\n html += '';\n html += _generateTableRows(datavizInstance, dataset);\n html += '';\n html += '
';\n/* */\n // Close wrapper\n html += '
';\n\n // Inject HTML string\n el.querySelector(`.${theme}-rendering`).innerHTML = html;\n\n el\n .querySelectorAll(`.${theme}-rendering th`)\n .forEach((item) => {\n item.addEventListener('click', (event) => {\n let sortOrder = event.target.getAttribute('order') || 'asc';\n let fieldNumber = event.target.getAttribute('fieldNumber');\n let checker = function (a, b) {\n let sortOrderNumber = (sortOrder === 'asc') ? 1 : -1;\n\n if (typeof a[fieldNumber] === 'string') {\n let nameA = a[fieldNumber].toUpperCase(); // ignore upper and lowercase\n let nameB = b[fieldNumber].toUpperCase(); // ignore upper and lowercase\n if (nameA < nameB) {\n return -1 * sortOrderNumber;\n }\n if (nameA > nameB) {\n return 1* sortOrderNumber;\n }\n\n // names must be equal\n return 0;\n }\n return (a[fieldNumber] - b[fieldNumber]) * sortOrderNumber;\n };\n\n if (sortOrder === 'asc') {\n sortOrder = 'desc';\n } else {\n sortOrder = 'asc'\n }\n event.target.setAttribute('order', sortOrder);\n\n const first = this.dataset.matrix.shift();\n this.dataset.matrix.sort(checker);\n this.dataset.matrix.unshift(first);\n\n el.querySelector(`.${theme}-rendering tbody`).innerHTML =\n _generateTableRows(datavizInstance, dataset);\n attachBtnEventListeners();\n });\n });\n\n\n const attachBtnEventListeners = () => {\n el.querySelectorAll('.btn').forEach(btn => {\n btn.addEventListener('click', (event) => {\n currentPage = parseInt(event.target.getAttribute('data-page'));\n el.querySelector(`.${theme}-rendering tbody`).innerHTML =\n _generateTableRows(datavizInstance, dataset);\n attachBtnEventListeners();\n }, true);\n });\n };\n\n attachBtnEventListeners(datavizInstance, el, theme);\n\n if (this.config.onrendered) {\n this.config.onrendered();\n }\n };\n\n\n\nconst update = function(){\n // no special update handling\n this.render();\n };\n\nconst destroy= function(){};\n\nexport default { render, update, destroy };\n","import { prettyNumber } from '../../utils/pretty-number';\nimport { escapeHtml } from '../../utils/escape-html';\n\nexport default {\n render: function(){\n const color = this.config.colors[0];\n const theme = this.config.theme;\n const title = this.config.title;\n const opts = this.config;\n let value = '-';\n let html = '';\n let prefix = '';\n let suffix = '';\n let formattedNum;\n let valueEl;\n let flexDifferenceStyle = '';\n let resultDifference = '';\n let differenceStyle = '';\n let smallerValue = '';\n const { results, previousResults } = this.config;\n if(results && previousResults){\n flexDifferenceStyle = previousResults ? ' metric-comparison' : '';\n smallerValue = previousResults && title ? '-smaller' : '';\n resultDifference = results.result - previousResults.result;\n differenceStyle = (resultDifference > 0) ? '-green' : '-red';\n resultDifference = Math.abs(resultDifference);\n }\n\n if (typeof this.data()[1][1] === 'number') {\n value = this.data()[1][1];\n }\n\n formattedNum = value;\n if ( (typeof opts['prettyNumber'] === 'undefined' || opts['prettyNumber'] === true)\n && !isNaN(parseInt(value)) ) {\n formattedNum = prettyNumber(value);\n if(results && previousResults){\n resultDifference = prettyNumber(resultDifference);\n }\n }\n\n if (opts['prefix']) {\n prefix = '' + opts['prefix'] + '';\n }\n if (opts['suffix']) {\n suffix = '' + opts['suffix'] + '';\n }\n html += '
';\n html += '
';\n if (results && previousResults) {\n html += '
' + escapeHtml(resultDifference) + '
';\n }\n html += '
' + prefix + escapeHtml(formattedNum) + suffix + '
';\n if (title) {\n html += '
' + escapeHtml(title) + '
';\n }\n html += '
';\n html += '
';\n\n this.el().innerHTML = html;\n\n if (this.config.onrendered) {\n this.config.onrendered();\n }\n },\n update: function(){\n // no special update handling\n this.render();\n },\n destroy: function(){\n // no special clean-up\n }\n};\n","import { escapeHtml } from '../../utils/escape-html';\n\nexport default {\n render: function(text){\n const outer = document.createElement('div');\n const inner = document.createElement('div');\n const msg = document.createElement('span');\n\n const titleContainer = document.createElement('div');\n const notesContainer = document.createElement('div');\n\n outer.className = this.config.theme + ' keen-dataviz-box';\n inner.className = this.config.theme + '-message';\n\n // Create title and notes for message\n titleContainer.className = this.config.theme + '-title';\n titleContainer.innerHTML = escapeHtml(this.config.title || '');\n notesContainer.className = this.config.theme + '-notes';\n notesContainer.innerHTML = escapeHtml(this.config.notes || '');\n\n msg.innerHTML = escapeHtml(text) || '';\n inner.appendChild(msg);\n\n if (this.config.title && this.config.showTitle) {\n outer.appendChild(titleContainer);\n }\n\n outer.appendChild(inner);\n\n if (this.config.notes) {\n outer.appendChild(notesContainer);\n }\n\n this.el().innerHTML = '';\n this.el().appendChild(outer);\n\n },\n update: function(){\n // no special update handling\n this.render();\n },\n destroy: function(){\n // no special clean-up\n }\n};\n","import { escapeHtml } from '../../../utils/escape-html';\n\nexport default function (d, defaultTitleFormat, defaultValueFormat, color) {\n let text;\n let title;\n // Set config options or defaults\n const nameFormat = this.config.tooltip_format_name || function (name) { return name; };\n const titleFormat = this.config.tooltip_format_title || defaultTitleFormat;\n const valueFormat = this.config.tooltip_format_value || defaultValueFormat;\n\n // Reverse list to match legend\n for (let i = 0; i < d.length; i++) {\n if (! (d[i] && (d[i].value || d[i].value === 0))) { continue; }\n if (!text) {\n title = titleFormat ? titleFormat(d[i].x) : d[i].x;\n text = \"\" + (title || title === 0 ? \"\" : \"\");\n }\n let name = nameFormat(d[i].name);\n let value = valueFormat(d[i].value, d[i].ratio, d[i].id, d[i].index);\n let bgcolor = this.levelColor ? this.levelColor(d[i].value) : color(d[i].id);\n if (value) {\n text += \"\";\n if (name.indexOf('__tooltip_ignore_name_field__') === -1) {\n text += \"\";\n }\n text += \"\";\n text += \"\";\n }\n }\n return text + \"
\" + escapeHtml(title) + \"
\" + escapeHtml(name) + \"\" + escapeHtml(value) + \"
\";\n}\n","import * as d3 from 'd3';\n\nimport isDateString from '../../../utils/assert-date-string';\n\nexport default function (options) {\n const cols = options.data.columns;\n const datavizInstance = this;\n const chart = this.view._artifacts.c3;\n let columns = [];\n const domNode = this.el().querySelector('.' + datavizInstance.config.theme + '-rendering');\n const legendConfig = datavizInstance.config.legend;\n\n const pagination = this.view._artifacts.pagination = {\n ...{\n hidden: [],\n labels: [],\n offset: 0,\n limit: Math.round((domNode.offsetHeight - 78) / 20),\n total: 0\n },\n ...legendConfig.pagination\n };\n\n if (options.legend.sort) {\n columns = options.legend.sort(cols);\n\n // update column order in the data, so tooltip will be the same order\n const columnsSorted = [];\n const dataColumnsSorted = [];\n if (cols[0][0] === 'x') {\n dataColumnsSorted.push(cols[0]);\n }\n columns.forEach(column => {\n let columnData = options.data.columns.find(item => item[0] === column);\n dataColumnsSorted.push(columnData);\n });\n options.data.columns = dataColumnsSorted;\n } else {\n for (let i = 0; i < cols.length; i++) {\n if (cols[i][0] !== 'x' && !isDateString(cols[i][1])) {\n columns.push(cols[i][0]);\n }\n }\n }\n\n const legendElement = this.el().querySelector('.keen-c3-legend');\n\n let align = 'vertical';\n if (legendConfig.position === 'top' || legendConfig.position === 'bottom') {\n align = 'horizontal';\n }\n\n const paginateHorizontalLeftElement = document.createElement('div');\n paginateHorizontalLeftElement.setAttribute('class', 'keen-c3-legend-pagination-icons keen-c3-legend-horizontal-pagination-left');\n if (align === 'horizontal') {\n legendElement.append(paginateHorizontalLeftElement);\n }\n\n const legendItemsElement = document.createElement('div');\n legendItemsElement.setAttribute('class', `keen-c3-legend-items keen-c3-legend-${align}-items`);\n legendElement.append(legendItemsElement);\n\n const paginateVerticalElement = document.createElement('div');\n paginateVerticalElement.setAttribute('class', 'keen-c3-legend-pagination keen-c3-legend-pagination-icons');\n if (align === 'vertical') {\n legendElement.append(paginateVerticalElement);\n }\n\n const paginateHorizontalRightElement = document.createElement('div');\n paginateHorizontalRightElement.setAttribute('class', 'keen-c3-legend-pagination-icons keen-c3-legend-horizontal-pagination-right');\n if (align === 'horizontal') {\n legendElement.append(paginateHorizontalRightElement);\n }\n\n paginateData();\n\n function paginateData(){\n pagination.labels = columns.slice(pagination.offset, pagination.offset + pagination.limit);\n pagination.total = columns.length;\n renderLegendComponent.call(datavizInstance, pagination.labels);\n if (pagination.total > pagination.limit) {\n renderPaginationComponent.call(datavizInstance);\n }\n if (options.onPaginated){\n options.onPaginated();\n }\n }\n\n function renderLegendComponent(){\n legendItemsElement.innerHTML = '';\n\n pagination.labels.forEach(label => {\n const labelShortened = legendConfig.label.textMaxLength ? label.slice(0, legendConfig.label.textMaxLength - 1) : label;\n const legendItem = document.createElement(\"div\");\n legendItem.innerHTML = `${labelShortened}`;\n legendItem.chartPartId = label;\n legendItem.setAttribute('class', 'legend-item');\n legendItemsElement.append(legendItem);\n\n const legendItemColorSample = document.createElement(\"span\");\n legendItemColorSample.setAttribute('class', 'legend-item-color-sample');\n legendItemColorSample.style.backgroundColor = chart.color(legendItem.chartPartId);\n legendItem.prepend(legendItemColorSample);\n\n const tooltipElement = document.createElement(\"div\");\n legendItem.addEventListener('mouseover', (event) => {\n chart.focus(legendItem.chartPartId);\n if (legendConfig.tooltip.show && legendItem.chartPartId.length > legendConfig.label.textMaxLength) {\n tooltipElement.setAttribute('class', `keen-c3-legend-label-overlay keen-c3-legend-position-${legendConfig.position}`);\n tooltipElement.innerHTML =\n `${\n options.legend.tooltip.pointer ? `
` : ``\n }${legendItem.chartPartId}`;\n legendItem.append(tooltipElement);\n }\n });\n legendItem.addEventListener('mouseout', (event) => {\n chart.revert();\n tooltipElement.remove();\n });\n legendItem.addEventListener('click', (event) => {\n let opacity = 1;\n const isHidden = pagination.hidden.indexOf(legendItem.chartPartId);\n if (isHidden < 0) {\n pagination.hidden.push(legendItem.chartPartId);\n opacity = .35;\n }\n else {\n pagination.hidden.splice(isHidden, 1);\n opacity = 1;\n }\n legendItem.style.opacity = opacity;\n chart.toggle(legendItem.chartPartId);\n });\n });\n\n if (options.onLegendRendered){\n options.onLegendRendered();\n options.onLegendRendered = null;\n }\n\n }\n\n function renderPaginationComponent(){\n paginateVerticalElement.innerHTML = '';\n paginateHorizontalLeftElement.innerHTML = '';\n paginateHorizontalRightElement.innerHTML = '';\n\n const arrowUp = document.createElement('i');\n const arrowDown = document.createElement('i');\n\n const paginate = (direction) => {\n if (direction === 'forward') {\n const diff = pagination.offset + pagination.limit;\n if (diff < pagination.total) {\n pagination.offset = diff;\n return;\n }\n pagination.offset = 0;\n return;\n }\n\n const diff = pagination.offset - pagination.limit;\n if (diff >= 0) {\n pagination.offset = diff;\n return;\n }\n\n pagination.offset = Math.floor(pagination.total/pagination.limit) * pagination.limit;\n };\n\n arrowDown.addEventListener('click', () => {\n paginate('forward');\n paginateData();\n clearSelectedText();\n });\n\n arrowUp.addEventListener('click', () => {\n paginate('backward');\n paginateData();\n clearSelectedText();\n });\n\n if (legendConfig.position === 'left' || legendConfig.position === 'right') {\n arrowUp.setAttribute('class', 'up');\n arrowDown.setAttribute('class', 'down');\n paginateVerticalElement.append(arrowDown);\n paginateVerticalElement.append(arrowUp);\n } else {\n // bottom top\n arrowUp.setAttribute('class', 'left');\n arrowDown.setAttribute('class', 'right');\n paginateHorizontalLeftElement.append(arrowUp);\n paginateHorizontalRightElement.append(arrowDown);\n }\n\n }\n\n function clearSelectedText() {\n let selection;\n if (document.selection && document.selection.empty) {\n selection = document.selection;\n selection.empty();\n }\n else if (window.getSelection) {\n selection = window.getSelection();\n selection.removeAllRanges();\n }\n }\n}\n","export default function (startDate, endDate) {\n const timeDiff = Math.abs(new Date(startDate).getTime() - new Date(endDate).getTime());\n const months = [\n 'Jan',\n 'Feb',\n 'Mar',\n 'Apr',\n 'May',\n 'June',\n 'July',\n 'Aug',\n 'Sept',\n 'Oct',\n 'Nov',\n 'Dec'\n ];\n\n // Yearly (31536000000) + Monthly\n if (timeDiff >= 2419200000) {\n return function(ms){\n const date = new Date(ms);\n return months[date.getMonth()] + ' ' + date.getFullYear();\n };\n }\n // Daily\n else if (timeDiff >= 86400000) {\n return function(ms){\n const date = new Date(ms);\n return months[date.getMonth()] + ' ' + date.getDate();\n };\n }\n // Hourly\n else if (timeDiff >= 3600000) {\n return '%I:%M %p';\n }\n // Minutely\n else {\n return '%I:%M:%S %p';\n }\n}\n","import c3 from 'c3';\n\nimport { each } from '../utils/each';\nimport { extend } from '../utils/extend';\nimport { extendDeep } from '../utils/extend-deep';\nimport isDateString from '../utils/assert-date-string';\nimport c3DefaultDateFormat from './c3/extensions/default-date-format';\nimport c3PaginatingLegend from './c3/extensions/paginating-legend';\nimport c3TooltipContents from './c3/extensions/tooltip-contents';\n\nimport message from './default/message';\nimport metric from './default/metric';\nimport table from './default/table';\nimport spinner from './default/spinner';\nimport Funnel from './default/funnel';\nimport Funnel3d from './default/funnel-3d';\nimport HorizontalFunnel from './default/horizontal-funnel';\nimport HorizontalFunnel3d from './default/horizontal-funnel-3d';\n\nexport default function(lib) {\n let timer;\n bindResizeListener(function(){\n if (timer) {\n clearTimeout(timer);\n }\n const delay = (lib.visuals.length > 12) ? 1000 : 250;\n timer = setTimeout(function(){\n each(lib.visuals, function(chart){\n if (chart.view._artifacts.c3) {\n chart.view._artifacts.c3.resize();\n }\n });\n }, delay);\n });\n\n // FIX for c3 tooltip bug - REMOVE when https://github.com/c3js/c3/pull/2476 is merged\n if (c3.chart && c3.chart.internal && c3.chart.internal.fn) {\n c3.chart.internal.fn.horizontalDistance = function(data, pos) {\n var $$ = this,\n config = $$.config,\n xIndex = config.axis_rotated ? 1 : 0,\n x = $$.x(data.x);\n return Math.abs(x - pos[xIndex]);\n };\n c3.chart.internal.fn.findClosest = function (values, pos) {\n const CLASS = c3.chart.internal.fn.CLASS;\n var $$ = this,\n minDist = $$.config.point_sensitivity,\n minDist = Infinity,\n closest;\n // find mouseovering bar\n values.filter(function (v) {\n return v && $$.isBarType(v.id);\n }).forEach(function (v) {\n var shape = $$.main.select('.' + CLASS.bars + $$.getTargetSelectorSuffix(v.id) + ' .' + CLASS.bar + '-' + v.index).node();\n if (!closest && $$.isWithinBar($$.d3.mouse(shape), shape)) {\n closest = v;\n }\n });\n // find closest point from non-bar\n values.filter(function (v) {\n return v && !$$.isBarType(v.id);\n }).forEach(function (v) {\n var d = $$.dist(v, pos);\n var d = $$.horizontalDistance(v, pos);\n if (d < minDist) {\n minDist = d;\n closest = v;\n }\n });\n return closest;\n };\n }\n\n return defineC3();\n};\n\nfunction defineC3(){\n const types = {\n message,\n metric,\n table,\n spinner,\n 'funnel': new Funnel,\n 'funnel-3d': new Funnel3d,\n 'horizontal-funnel': new HorizontalFunnel,\n 'horizontal-funnel-3d': new HorizontalFunnel3d,\n };\n\n const c3Types = [\n // Standard types\n 'area',\n 'area-spline',\n 'area-step',\n 'bar',\n 'donut',\n 'gauge',\n 'line',\n 'pie',\n 'step',\n 'spline',\n\n // Horizontal variant types\n 'horizontal-area',\n 'horizontal-area-spline',\n 'horizontal-area-step',\n 'horizontal-bar',\n 'horizontal-line',\n 'horizontal-step',\n 'horizontal-spline'\n ];\n\n const getPaddings = (element, paddingName) => {\n return parseInt(window.getComputedStyle(element)[`padding${paddingName}`].replace('px', ''));\n }\n\n function getDefaultOptions(){\n\n const ENFORCED_OPTIONS = {\n bindto: this.el().querySelector('.' + this.config.theme + '-rendering .c3-chart'),\n color: {\n pattern: this.config.colors\n },\n data: {\n colors: { ...this.config.colorMapping },\n columns: [],\n type: this.config.type.replace('horizontal-', '')\n },\n };\n\n const renderingElement = this.el();\n// .querySelector('.' + this.config.theme + '-rendering');\n\n let height = renderingElement.offsetHeight;\n\n height -= (getPaddings(renderingElement, 'Top') + getPaddings(renderingElement, 'Bottom'));\n\n if (this.config.showTitle) {\n const titleElement = this.el().querySelector('.keen-dataviz-title');\n if (titleElement) {\n height -= titleElement.offsetHeight;\n } else {\n height -= parseInt(\n window\n .getComputedStyle(this.el(), null)\n ['font-size'].replace('px','')\n );\n }\n }\n\n if (this.config.notes) {\n const notesElement = this.el().querySelector('.keen-dataviz-notes');\n if (notesElement) {\n height -= notesElement.offsetHeight;\n } else {\n height -= parseInt(\n window\n .getComputedStyle(this.el(), null)\n ['font-size'].replace('px','')\n );\n }\n }\n\n let width = this.el().querySelector('.c3-chart').offsetWidth\n - (getPaddings(renderingElement, 'Left') + getPaddings(renderingElement, 'Right'));\n if (width < 0) {\n width = 0;\n }\n\n const DEFAULT_OPTIONS = {\n size: {\n width,\n height:\n height > 0 ?\n height\n : undefined,\n }\n };\n\n return extendDeep({}, DEFAULT_OPTIONS, this.config, ENFORCED_OPTIONS);\n }\n\n each(c3Types, function(type, index) {\n types[type] = {\n render: function(){\n const options = getDefaultOptions.call(this);\n\n if (!!this.config.clearOnRender && options.data.columns.length > 0) {\n options.data.columns.splice(1);\n }\n\n if (this.data()[0].length === 1 || this.data().length === 1) {\n const msg = 'No data to display';\n const mappedMsg = this.config.errorMapping[msg] || msg;\n if (this.config.showErrorMessages) {\n this.message(mappedMsg);\n }\n return;\n }\n\n let removeLegend = false;\n\n if (type === 'gauge') {\n // Accommodate a neat bug:\n options.legend.show = false;\n options.data.columns = [[\n this.config.title || this.data()[1][0],\n this.data()[1][1]\n ]];\n removeLegend = true;\n }\n else if (type === 'pie' || type === 'donut') {\n options.data.columns = this.data().slice(1);\n }\n else {\n\n // Apply formatting for horizontal variant types\n if (type.indexOf('horizontal-') > -1) {\n options.axis.rotated = type.indexOf('horizontal-') > -1;\n }\n\n if (isDateString(this.data()[1][0])) {\n // TIMESERIES\n options.axis.x = options.axis.x || {};\n options.axis.x.type = 'timeseries';\n options.axis.x.tick = options.axis.x.tick || {\n format: this.config.dateFormat || c3DefaultDateFormat(this.data()[1][0], this.data()[2] ? this.data()[2][0] : this.data()[1][0]),\n culling: { max: 5 }\n };\n\n options.data.columns[0] = [];\n each(this.dataset.selectColumn(0), function(cell, i){\n if (i > 0) {\n cell = new Date(cell);\n }\n options.data.columns[0][i] = cell;\n });\n options.data.columns[0][0] = 'x';\n options.data.x = 'x';\n if (this.config.stacked && this.data()[0].length > 2) {\n options.data.groups = [ this.dataset.selectRow(0).slice(1) ];\n }\n }\n else {\n // CATEGORIES\n options.axis.x = options.axis.x || {};\n options.axis.x.type = 'category';\n options.axis.x.categories = this.dataset.selectColumn(0).slice(1);\n if (this.config.stacked && this.data()[0].length > 2) {\n options.data.groups = [ this.dataset.selectRow(0).slice(1) ];\n }\n }\n\n if (this.data()[0].length === 2) {\n options.legend.show = false;\n removeLegend = true;\n }\n\n each(this.data()[0], function(cell, i){\n if (i > 0) {\n options.data.columns.push(this.dataset.selectColumn(i));\n }\n }.bind(this));\n }\n\n if (removeLegend){\n const legendElement = this.el().querySelector('.keen-c3-legend');\n if (legendElement) {\n legendElement.remove();\n options.size.width = this.el().querySelector('.c3-chart').offsetWidth;\n }\n options.legend.show = false;\n }\n\n const chartTypesWithPartialIntervalIndicator = ['area', 'area-spline', 'area-step', 'line', 'spline', 'step'];\n\n if (options.partialIntervalIndicator\n && options.partialIntervalIndicator.show\n && chartTypesWithPartialIntervalIndicator.indexOf(options.type) > -1\n ) {\n const results = options.data.columns && options.data.columns[0];\n if (results && results.length > 1) {\n const partialResultsRegion = {\n axis: 'x',\n start: new Date(results[results.length-2]),\n class: options.partialIntervalIndicator.className\n };\n options.regions = [...(options.regions || []), partialResultsRegion];\n }\n }\n\n if (\n !(options.tooltip && options.tooltip.show === false)\n &&\n (options.legend.show === true ||\n (options.legend\n && options.legend.tooltip\n && options.legend.tooltip.show)\n )) {\n // Apply custom tooltip\n options.tooltip = {\n contents: c3TooltipContents,\n format: {\n title: this.config.tooltip.format.title,\n value: (value, ratio, id, index) => {\n let valueFormatted = c3CustomTooltipFiltering.call(this, value, ratio, id, index);\n if (this.config.tooltip && this.config.tooltip.format && this.config.tooltip.format.value)\n {\n valueFormatted = this.config.tooltip.format.value.call(this, valueFormatted, ratio, id, index);\n }\n return valueFormatted;\n }\n }\n };\n }\n\n if (options.legend.show === true) {\n const c3options = { ...options };\n // Apply custom color handling\n c3options.data.color = c3CustomDataMapping.bind(this);\n\n c3options.legend.hide = true; // hide default c3 legend\n\n // Render artifacts\n this.view._artifacts['c3'] = c3.generate(c3options);\n\n c3PaginatingLegend.call(this, {...options, onLegendRendered: () => {\n const legendElement = this.el().querySelector('.keen-c3-legend');\n if (legendElement) {\n if (\n options.legend.position === 'top' ||\n options.legend.position === 'bottom'\n ) {\n c3options.size.height -= legendElement.offsetHeight;\n this.view._artifacts['c3'].resize({ height: c3options.size.height });\n } else {\n if (c3options.size.width === 0) {\n c3options.size.width = this.el().offsetWidth\n - getPaddings(this.el(), 'Left')\n - getPaddings(this.el(), 'Right');\n }\n c3options.size.width -= legendElement.offsetWidth;\n this.view._artifacts['c3'].resize({ width: c3options.size.width });\n }\n }\n },\n onPaginated: () => {\n this.view._artifacts['c3'].flush();\n }\n });\n }\n else {\n this.view._artifacts['c3'] = c3.generate(options);\n }\n\n },\n update: function(){\n // no special update handling\n this.render();\n },\n destroy: function(){\n if (this.view._artifacts['c3']) {\n this.view._artifacts['c3'].destroy();\n this.view._artifacts['c3'] = null;\n }\n }\n };\n });\n\n return types;\n}\n\nfunction c3CustomDataMapping(color, d) {\n const type = this.config.type;\n if (this.view._artifacts.pagination\n && type !== 'gauge'\n /*&& this.type() !== 'pie'\n && this.type() !== 'donut'*/) {\n const scope = this.view._artifacts.pagination.labels;\n if ((d.id && scope.indexOf(d.id) > -1)\n || (d && !d.id && scope.indexOf(d) > -1)) {\n return color;\n }\n else {\n if (type === 'donut' || type === 'pie') {\n return 'rgba(0,0,0,.1)';\n }\n else {\n return 'rgba(0,0,0,.07)';\n }\n }\n }\n else {\n return color;\n }\n}\n\nfunction c3CustomTooltipFiltering(value, ratio, id, index) {\n const type = this.config.type;\n\n if (this.view._artifacts.pagination\n && type !== 'gauge'\n /*&& this.type() !== 'pie'\n && this.type() !== 'donut'*/) {\n const scope = this.view._artifacts.pagination.labels;\n if (scope.indexOf(id) > -1) {\n return value;\n }\n }\n else {\n return value;\n }\n}\n\nfunction bindResizeListener(fn){\n if (typeof window === 'undefined') return;\n window.onresize = window.resize = function(){};\n if (window.addEventListener) {\n window.addEventListener('resize', fn, true);\n }\n else if (window.attachEvent) {\n window.attachEvent('onresize', fn);\n }\n}\n","import Dataset from './dataset';\nimport { extend } from './utils/extend';\nimport { stripHtmlTags } from './utils/strip-html-tags';\n\nexport default function (data) {\n if (!arguments.length) return this.dataset.data();\n if (data instanceof Dataset) {\n this.dataset = data;\n return this;\n }\n else {\n return parseResponse.call(this, data);\n }\n};\n\nfunction parseResponse(response) {\n var dataset,\n indexBy,\n meta,\n parser,\n parserArgs = [],\n query,\n selectedParser,\n title,\n type;\n\n indexBy = this.config.indexBy;\n meta = response.metadata || {};\n query = (typeof response.query !== 'undefined') ? response.query : {};\n\n // Ensure all required params are present\n query = extend({\n analysis_type: null,\n event_collection: null,\n filters: [],\n group_by: null,\n interval: null,\n timeframe: null,\n timezone: null\n }, query);\n\n if (query.analysis_type === 'funnel') {\n parser = 'funnel';\n }\n else if (query.analysis_type === 'extraction'){\n parser = 'extraction';\n }\n else if (query.analysis_type === 'select_unique') {\n if (!query.group_by && !query.interval) {\n parser = 'list';\n }\n // else { Not supported }\n }\n else if (query.analysis_type) {\n if (!query.group_by && !query.interval) {\n parser = 'metric';\n }\n else if (query.group_by && !query.interval) {\n if (query.group_by instanceof Array && query.group_by.length > 1) {\n parser = 'double-grouped-metric';\n parserArgs.push(query.group_by);\n }\n else {\n parser = 'grouped-metric';\n }\n }\n else if (query.interval && !query.group_by) {\n parser = 'interval';\n parserArgs.push(indexBy);\n }\n else if (query.group_by && query.interval) {\n if (query.group_by instanceof Array && query.group_by.length > 1) {\n parser = 'double-grouped-interval';\n parserArgs.push(query.group_by);\n parserArgs.push(indexBy);\n }\n else {\n parser = 'grouped-interval';\n parserArgs.push(indexBy);\n }\n }\n }\n\n if (!parser) {\n\n // Metric\n // -------------------------------\n if (typeof response.result === 'number'){\n parser = 'metric';\n }\n\n // Everything else\n // -------------------------------\n if (response.result instanceof Array && response.result.length > 0){\n\n // Interval w/ single value\n // -------------------------------\n if (response.result[0].timeframe && (typeof response.result[0].value == 'number' || response.result[0].value == null)) {\n parser = 'interval';\n parserArgs.push(indexBy)\n }\n\n // Static GroupBy\n // -------------------------------\n if (typeof response.result[0].result == 'number'){\n parser = 'grouped-metric';\n }\n\n // Grouped Interval\n // -------------------------------\n if (response.result[0].value instanceof Array){\n parser = 'grouped-interval';\n parserArgs.push(indexBy)\n }\n\n // Funnel\n // -------------------------------\n if (typeof response.result[0] === 'number'\n && typeof response.steps !== 'undefined'){\n parser = 'funnel';\n // Move steps into query object\n query.steps = response.steps;\n }\n\n // Select Unique\n // -------------------------------\n if ((typeof response.result[0] === 'string' || typeof response.result[0] == 'number') && typeof response.steps === 'undefined'){\n parser = 'list';\n }\n\n // Extraction\n // -------------------------------\n if (!parser) {\n parser = 'extraction';\n }\n }\n\n if (!parser) {\n parser = 'extraction';\n }\n }\n\n // Set title from saved query body, or create a default title\n if (this.config.title === undefined) {\n if (meta.display_name) {\n title = meta.display_name;\n }\n else {\n title = getDefaultTitle(query);\n }\n this.config.title = title;\n }\n\n // Set type from saved query body, or use a default type\n if (!this.config.type) {\n if (meta.visualization && meta.visualization.chart_type) {\n type = meta.visualization.chart_type;\n }\n else {\n type = getDefaultType(parser);\n }\n this.config.type = type;\n }\n\n // Define the appropriate parser\n selectedParser = Dataset.parser.apply(this, [parser].concat(parserArgs));\n\n // Parse the response with augmented query body\n dataset = selectedParser(extend(response, { 'query': query }));\n\n // Set true dates for 'interval' data\n if (parser.indexOf('interval') > -1) {\n dataset.updateColumn(0, function(value, i){\n return new Date(value);\n });\n }\n\n dataset.updateRow(0, function(value, i){\n return stripHtmlTags(value);\n });\n\n this.dataset = dataset;\n\n return this;\n}\n\nfunction getDefaultTitle(query) {\n var analysis = query.analysis_type ? query.analysis_type.replace('_', ' ') : '',\n title;\n\n title = analysis.replace( /\\b./g, function(a){\n return a.toUpperCase();\n });\n\n if (query.event_collection) {\n title += ' - ' + query.event_collection;\n }\n return title;\n}\n\nfunction getDefaultType(parser) {\n let type;\n switch (parser) {\n case 'metric':\n type = 'metric';\n break;\n case 'interval':\n type = 'area';\n break;\n case 'grouped-metric':\n case 'double-grouped-metric':\n type = 'bar';\n break;\n case 'grouped-interval':\n case 'double-grouped-interval':\n type = 'line';\n break;\n case 'funnel':\n type = 'horizontal-bar';\n break;\n case 'list':\n case 'extraction':\n default:\n type = 'table';\n }\n return type;\n}\n","export function valueAtDeepKey(obj, is, value) {\n if (typeof is == 'string')\n return valueAtDeepKey(obj, is.split('.'), value);\n else if (is.length==1 && value!==undefined && obj !== null &&\n typeof obj[is[0]] !== 'undefined')\n return obj[is[0]] = value;\n else if (is.length==0)\n return obj;\n else if (typeof is === 'undefined' || typeof obj === 'undefined'\n || is === null || obj === null\n || typeof obj[is[0]] === 'undefined')\n return null;\n else\n return valueAtDeepKey(obj[is[0]], is.slice(1), value);\n}\n","// Pure awesomeness by Will Rayner (penguinboy)\n// https://gist.github.com/penguinboy/762197\n\nexport function flatten(ob){\n var toReturn = {};\n for (var i in ob) {\n if (!ob.hasOwnProperty(i)) continue;\n if ((typeof ob[i]) == 'object' && ob[i] !== null) {\n var flatObject = flatten(ob[i]);\n for (var x in flatObject) {\n if (!flatObject.hasOwnProperty(x)) continue;\n toReturn[i + '.' + x] = flatObject[x];\n }\n } else {\n toReturn[i] = ob[i];\n }\n }\n return toReturn;\n};\n","let Dataset; /* injected */\n\nimport { each } from '../../utils/each';\nimport { flatten } from '../utils/flatten';\nimport { valueAtDeepKey } from '../utils/object';\n\nexport default function initialize(lib){\n Dataset = lib;\n return function(name){\n var options = Array.prototype.slice.call(arguments, 1);\n\n if (!parsers[name]) {\n throw 'Requested parser does not exist';\n }\n else {\n return parsers[name].apply(this, options);\n }\n };\n}\n\nfunction parseMetric(){\n return function(res){\n return new Dataset()\n .set(['Value', 'Result'], res.result)\n .type('metric');\n }\n}\n\n//var myParser = Dataset.parser('interval', 'timeframe.end');\nfunction parseInterval(){\n var options = Array.prototype.slice.call(arguments);\n return function(res){\n var dataset = new Dataset()\n .type('interval');\n each(res.result, function(record, i){\n var index = options[0] && options[0] === 'timeframe.end' ? record.timeframe.end : record.timeframe.start;\n dataset.set(['Result', index], record.value);\n });\n return dataset;\n }\n}\n\nfunction parseGroupedMetric(){\n return function(res){\n var dataset = new Dataset()\n .type('grouped-metric');\n each(res.result, function(record, i){\n var label;\n each(record, function(value, key){\n if (key !== 'result') {\n label = key;\n }\n });\n dataset.set(['Result', String(record[label])], record.result);\n });\n return dataset;\n }\n}\n\n//var myParser = Dataset.parser('grouped-interval', 'timeframe.end');\nfunction parseGroupedInterval(){\n var options = Array.prototype.slice.call(arguments);\n return function(res){\n var dataset = new Dataset()\n .type('grouped-interval');\n each(res.result, function(record, i){\n var index = options[0] && options[0] === 'timeframe.end' ? record.timeframe.end : record.timeframe.start;\n if (record.value.length) {\n each(record.value, function(group, j){\n var label;\n each(group, function(value, key){\n if (key !== 'result') {\n label = key;\n }\n });\n dataset.set([ String(group[label]), index ], group.result);\n });\n }\n else {\n dataset.appendRow(index);\n }\n });\n return dataset;\n }\n}\n\n//var myParser = Dataset.parser('double-grouped-metric', ['first', 'second']);\nfunction parseDoubleGroupedMetric(){\n var options = Array.prototype.slice.call(arguments);\n if (!options[0]) throw 'Requested parser requires a sequential list (array) of properties to target as a second argument';\n return function(res){\n var dataset = new Dataset()\n .type('double-grouped-metric');\n each(res.result, function(record, i){\n var rowLabel = record[options[0][0]] + ' ' + record[options[0][1]];\n dataset.set([ 'Result', rowLabel ], record.result);\n });\n return dataset;\n }\n}\n\n//var myParser = Dataset.parser('double-grouped-interval', ['first', 'second'], 'timeframe.end');\nfunction parseDoubleGroupedInterval(){\n var options = Array.prototype.slice.call(arguments);\n if (!options[0]) throw 'Requested parser requires a sequential list (array) of properties to target as a second argument';\n return function(res){\n var dataset = new Dataset()\n .type('double-grouped-interval');\n each(res.result, function(record, i){\n var index = options[1] && options[1] === 'timeframe.end' ? record.timeframe.end : record.timeframe.start;\n each(record['value'], function(value, j){\n var label = value[options[0][0]] + ' ' + value[options[0][1]];\n dataset.set([ label, index ], value.result);\n });\n });\n return dataset;\n }\n}\n\nfunction parseFunnel(){\n return function(res){\n var result, steps, dataset;\n if (typeof res.steps !== 'undefined'\n && typeof res.result !== 'undefined'\n && res.result instanceof Array) {\n // Ad-hoc funnel response\n result = res.result;\n steps = res.steps;\n }\n else if (typeof res.result.steps !== 'undefined'\n && typeof res.result.result !== 'undefined'\n && res.result.result instanceof Array) {\n // Saved funnel response\n result = res.result.result;\n steps = res.result.steps;\n }\n dataset = new Dataset().type('funnel');\n dataset.appendColumn('Step Value');\n each(result, function(value, i){\n if (typeof steps !== 'undefined' && steps[i]) {\n dataset.appendRow(String(steps[i].event_collection), [value]);\n }\n });\n return dataset;\n }\n}\n\nfunction parseList(){\n return function(res){\n var dataset = new Dataset()\n .type('list');\n each(res.result, function(value, i){\n dataset.set( [ 'Result', String(i+1) ], value );\n });\n return dataset;\n }\n}\n\nfunction parseExtraction(){\n let config = this.config;\n return function(res){\n const datasetExtraction = new Dataset()\n .type('extraction');\n // create header\n for (let i=0; i<1; i++){\n let record = res.result[i];\n each(flatten(record), function(value, key){\n datasetExtraction.set([ key, String(i+1) ], value);\n });\n }\n\n // get keys of the Object\n let names = Object.keys(flatten(res.result[0]));\n\n if (Dataset) {\n if (config\n && config.table\n && config.table.columns) {\n names = config.table.columns;\n }\n }\n\n for (let i=0; i -1) {\n\n if (typeof input === 'function') {\n\n each(self.data(), function(row, i){\n var cell;\n if (i > 0) {\n cell = input.call(self, row[index], i, row);\n if (typeof cell !== 'undefined') {\n self.matrix[i][index] = cell;\n }\n }\n });\n\n } else if (!input || input instanceof Array) {\n input = input || [];\n\n if (input.length <= self.data().length - 1) {\n input = input.concat( createNullList(self.data().length - 1 - input.length) );\n }\n else {\n // If this new column is longer than existing columns,\n // we need to update the rest to match ...\n each(input, function(value, i){\n if (self.matrix.length -1 < input.length) {\n appendRow.call(self, String( self.matrix.length ));\n }\n });\n }\n\n each(input, function(value, i){\n self.matrix[i+1][index] = value;\n });\n\n }\n\n }\n return self;\n}\n\nexport function updateRow(q, input){\n var self = this,\n index = (typeof q === 'number') ? q : this.selectColumn(0).indexOf(q);\n\n if (index > -1) {\n\n if (typeof input === 'function') {\n\n each(self.data()[index], function(value, i){\n var col = self.selectColumn(i),\n cell = input.call(self, value, i, col);\n if (typeof cell !== 'undefined') {\n self.matrix[index][i] = cell;\n }\n });\n\n } else if (!input || input instanceof Array) {\n input = input || [];\n\n if (input.length <= self.matrix[0].length - 1) {\n input = input.concat( createNullList( self.matrix[0].length - 1 - input.length ) );\n }\n else {\n each(input, function(value, i){\n if (self.matrix[0].length -1 < input.length) {\n appendColumn.call(self, String( self.matrix[0].length ));\n }\n });\n }\n\n each(input, function(value, i){\n self.matrix[index][i+1] = value;\n });\n }\n\n }\n return self;\n}\n","import { each } from '../../utils/each';\nimport analysesUtilMethods from '../utils/analyses';\n\nexport function sortColumns(str, comp) {\n var self = this,\n head = this.matrix[0].slice(1), // minus index\n cols = [],\n clone = [],\n fn = comp || analysesUtilMethods.getColumnLabel;\n\n // Isolate each column (except the index)\n each(head, function(cell, i) {\n cols.push(self.selectColumn(i+1).slice(0));\n });\n cols.sort(function(a,b){\n // If fn(a) > fn(b)\n var op = fn.call(self, a) > fn.call(self, b);\n if (op) {\n return (str === 'asc' ? 1 : -1);\n } else if (!op) {\n return (str === 'asc' ? -1 : 1);\n } else {\n return 0;\n }\n });\n each(cols, function(col, i) {\n self\n .deleteColumn(i+1)\n .insertColumn(i+1, col[0], col.slice(1));\n });\n return self;\n}\n\nexport function sortRows(str, comp) {\n var self = this,\n head = this.matrix.slice(0,1),\n body = this.matrix.slice(1),\n fn = comp || analysesUtilMethods.getRowIndex;\n body.sort(function(a, b){\n // If fn(a) > fn(b)\n var op = fn.call(self, a) > fn.call(self, b);\n if (op) {\n return (str === 'asc' ? 1 : -1);\n } else if (!op) {\n return (str === 'asc' ? -1 : 1);\n } else {\n return 0;\n }\n });\n self.data(head.concat(body));\n return self;\n}\n","import { each } from '../../utils/each';\n\nexport function selectColumn(q) {\n const result = [];\n const index = (typeof q === 'number') ? q : this.matrix[0].indexOf(q);\n\n if (index > -1 && typeof this.matrix[0][index] !== 'undefined') {\n each(this.matrix, function(row, i) {\n result.push(row[index]);\n });\n }\n return result;\n}\n\nexport function selectRow(q) {\n let result = [];\n const index = (typeof q === 'number') ? q : this.selectColumn(0).indexOf(q);\n\n if (index > -1 && typeof this.matrix[index] !== 'undefined') {\n result = this.matrix[index];\n }\n return result;\n}\n","import { each } from '../../utils/each';\nimport createNullList from '../utils/create-null-list';\nimport { appendRow, appendColumn } from './append';\n\nexport function insertColumn(index, str, input) {\n const self = this;\n const label = (str !== undefined) ? str : null;\n\n if (typeof input === 'function') {\n\n self.matrix[0].splice(index, 0, label);\n each(self.matrix, function(row, i) {\n var cell;\n if (i > 0) {\n cell = input.call(self, row, i);\n if (typeof cell === 'undefined') {\n cell = null;\n }\n self.matrix[i].splice(index, 0, cell);\n }\n });\n\n }\n\n else if (!input || input instanceof Array) {\n input = input || [];\n\n if (input.length <= self.matrix.length - 1) {\n input = input.concat( createNullList(self.matrix.length - 1 - input.length) );\n }\n else {\n // If this new column is longer than existing columns,\n // we need to update the rest to match ...\n each(input, function(value, i){\n if (self.matrix.length -1 < input.length) {\n appendRow.call(self, String( self.matrix.length ));\n }\n });\n }\n\n self.matrix[0].splice(index, 0, label);\n each(input, function(value, i){\n self.matrix[i+1].splice(index, 0, value);\n });\n\n }\n return self;\n}\n\nexport function insertRow(index, str, input) {\n const self = this;\n const newRow = [];\n const label = (str !== undefined) ? str : null;\n newRow.push(label);\n\n if (typeof input === 'function') {\n each(self.matrix[0], function(label, i) {\n let col;\n let cell;\n if (i > 0) {\n col = self.selectColumn(i);\n cell = input.call(self, col, i);\n if (typeof cell === 'undefined') {\n cell = null;\n }\n newRow.push(cell);\n }\n });\n self.matrix.splice(index, 0, newRow);\n }\n\n else if (!input || input instanceof Array) {\n input = input || [];\n\n if (input.length <= self.matrix[0].length - 1) {\n input = input.concat( createNullList( self.matrix[0].length - 1 - input.length ) );\n }\n else {\n each(input, function(value, i){\n if (self.matrix[0].length -1 < input.length) {\n appendColumn.call(self, String( self.matrix[0].length ));\n }\n });\n }\n\n self.matrix.splice(index, 0, newRow.concat(input) );\n }\n\n return self;\n}\n","import { each } from '../../utils/each';\n\nexport function filterColumns(fn) {\n const self = this;\n const clone = [];\n\n each(self.matrix, function(row, i) {\n clone.push([]);\n });\n\n each(self.matrix[0], function(col, i){\n var selectedColumn = self.selectColumn(i);\n if (i == 0 || fn.call(self, selectedColumn, i)) {\n each(selectedColumn, function(cell, ri){\n clone[ri].push(cell);\n });\n }\n });\n\n self.data(clone);\n return self;\n}\n\nexport function filterRows(fn) {\n const self = this;\n const clone = [];\n\n each(self.matrix, function(row, i){\n if (i == 0 || fn.call(self, row, i)) {\n clone.push(row);\n }\n });\n\n self.data(clone);\n return self;\n}\n","import { each } from '../../utils/each';\n\nexport function deleteColumn(q) {\n const self = this;\n const index = (typeof q === 'number') ? q : this.matrix[0].indexOf(q);\n\n if (index > -1) {\n each(self.matrix, function(row, i){\n self.matrix[i].splice(index, 1);\n });\n }\n return self;\n}\n\nexport function deleteRow(q) {\n var index = (typeof q === 'number') ? q : this.selectColumn(0).indexOf(q);\n\n if (index > -1) {\n this.matrix.splice(index, 1);\n }\n return this;\n}\n","import * as d3 from \"d3\";\nimport c3 from 'c3';\n\nimport pkg from '../package.json';\nimport data from './data';\nimport { Dataset } from './dataset';\n\n// Utils\nimport { each } from './utils/each';\nimport isDateString from './utils/assert-date-string';\nimport { stripHtmlTags } from './utils/strip-html-tags';\nimport { escapeHtml } from './utils/escape-html';\nimport libraries from './libraries';\nimport { extendDeep } from './utils/extend-deep';\n\n// Constructor\nexport const Dataviz = function (options = {}) {\n if (this instanceof Dataviz === false) {\n return new Dataviz(options);\n }\n\n this.c3 = c3; // expose for use outside\n this.d3 = d3;\n\n const datavizInstance = this;\n\n const defaultOptions = {\n showDeprecationWarnings: true,\n showLoadingSpinner: false,\n\n container: undefined, // querySelector of container, for example '#someDiv'\n containerElement: undefined, // HTML parent element for the chart\n\n // width: undefined, *deprecated* - use CSS\n // height: undefined, *deprecated* - use CSS\n\n title: undefined,\n showTitle: true,\n\n notes: undefined,\n theme: 'keen-dataviz',\n\n colors: [\n '#00bbde', '#fe6672', '#eeb058', '#8a8ad6', '#ff855c', '#00cfbb',\n '#5a9eed', '#73d483', '#c879bb', '#0099b6', '#d74d58', '#cb9141',\n '#6b6bb6', '#d86945', '#00aa99', '#4281c9', '#57b566', '#ac5c9e',\n '#27cceb', '#ff818b', '#f6bf71', '#9b9be1', '#ff9b79', '#26dfcd',\n '#73aff4', '#87e096', '#d88bcb',\n ],\n\n colorMapping: {},\n\n indexBy: 'timeframe.start',\n labels: [],\n labelMapping: {},\n labelMappingRegExp: undefined,\n errorMapping: {},\n showErrorMessages: true,\n library: 'default',\n sortGroups: undefined,\n sortIntervals: undefined,\n\n results: undefined, // raw data\n\n // C3 chartOptions\n type: undefined,\n stacked: false,\n dateFormat: undefined,\n legend: {\n show: true,\n position: 'right',\n label: {\n textMaxLength: 12\n },\n pagination: {\n offset: 0, // start from\n limit: 5 // items per page\n },\n tooltip: {\n show: true,\n pointer: true\n },\n sort: undefined\n },\n\n axis: {},\n color: {},\n data: {\n order: null\n },\n size: {\n // control it with CSS of .c3-chart\n },\n padding: {\n top: 15\n },\n point: {\n focus: {\n expand: {\n enabled: false\n }\n },\n r: 2,\n show: true\n },\n tooltip: {\n format: {\n // https://c3js.org/samples/tooltip_format.html\n }\n },\n transition: {\n // duration: 0\n },\n data: {\n selection: {\n enabled: true,\n draggable: true,\n multiple: true\n }\n },\n grid: {\n y: {\n show: true\n }\n },\n partialIntervalIndicator: {\n show: undefined,\n className: 'partial-interval-indicator'\n },\n timezone: 'UTC',\n table: {},\n renderOnVisible: false,\n funnel: {\n lines: true,\n resultValues: true,\n percents: {\n show: false,\n countingMethod: 'absolute',\n decimals: 0\n },\n marginBetweenElements: false,\n hover: true,\n effect3d: 'both-sides',\n }\n };\n\n this.config = { ...extendDeep(defaultOptions, options) };\n\n if (this.config.type) {\n // backward compatibility with v2016... areachart -> area\n this.config.type = convertChartTypes(this.config.type);\n }\n\n // get DOM node by query\n if (this.config.container) {\n this.el(this.config.container);\n }\n\n if (options.legend !== undefined && !options.legend) {\n this.config.legend = {\n ...options,\n show: false\n };\n }\n\n if (options.color && options.color.pattern) {\n // to match c3 options\n this.config.colors = options.color.pattern;\n }\n\n if (this.config.legend\n && this.config.legend.tooltip\n && this.config.legend.tooltip.show === false\n && this.config.tooltip.show === undefined) {\n this.config.tooltip = { show: false };\n }\n\n if (options.color && options.color.pattern) {\n // to match c3 options\n this.config.colors = options.color.pattern;\n }\n\n this.dataset = new Dataset(this.config);\n this.view = {\n _prepared: false,\n _rendered: false,\n _artifacts: { /* state bin */ }\n };\n\n Dataviz.visuals.push(this);\n\n if (this.config.showLoadingSpinner) {\n this.prepare();\n }\n\n if (!!this.config.results) {\n this.render(this.config.results);\n }\n this.config.firstVisibilityState = document.visibilityState;\n};\n\nDataviz.libraries = { default: {} };\nif (typeof window !== 'undefined') {\n Dataviz.libraries.default = libraries(Dataviz);\n}\nDataviz.visuals = [];\n\nDataviz.register = function (name, actions) {\n Dataviz.libraries[name] = Dataviz.libraries[name] || {};\n each(actions, function(method, key){\n Dataviz.libraries[name][key] = method;\n });\n};\n\nDataviz.find = function(target){\n if (!arguments.length) return Dataviz.visuals;\n const el = target.nodeName ? target : document.querySelector(target);\n let match = null;\n each(Dataviz.visuals, function(visual){\n if (el == visual.config.container){\n match = visual;\n return false;\n }\n });\n return match;\n};\n\n\n // Prototype\n // ------------\n\nDataviz.prototype.attributes = function(obj){\n if (this.config.showDeprecationWarnings) {\n console.log('.attributes() is deprecated. Use: new KeenDataviz({ _your_value_here_ })');\n }\n if (!arguments.length) return this.config;\n const view = this.config;\n each(obj, function(prop, key){\n // Handle deprecated property names\n if (key === 'chartType') {\n key = 'type';\n }\n view[key] = prop;\n });\n return this;\n};\n\nDataviz.prototype.call = function(fn){\n fn.call(this);\n return this;\n};\n\nDataviz.prototype.chartOptions = function(obj){\n if (this.config.showDeprecationWarnings) {\n console.log('.chartOptions() is deprecated. Use: new KeenDataviz({ _your_value_here_ })');\n }\n if (!arguments.length) return this.config;\n this.config = extendDeep(this.config, obj);\n return this;\n};\n\nDataviz.prototype.colors = function(arr){\n if (this.config.showDeprecationWarnings) {\n console.log('.colors() is deprecated. Use: new KeenDataviz({ colors: _your_value_here_ })');\n }\n if (!arguments.length) return this.config.colors;\n this.config.colors = (arr instanceof Array ? arr : []);\n return this;\n};\n\nDataviz.prototype.colorMapping = function(obj){\n if (this.config.showDeprecationWarnings) {\n console.log('.colorMapping() is deprecated. Use: new KeenDataviz({ colorMapping: _your_value_here_ })');\n }\n const datavizInstance = this;\n if (!arguments.length) return this.config.colorMapping;\n if (obj === null) {\n this.config.colorMapping = {};\n }\n else if (typeof obj === 'object') {\n each(obj, function(value, key){\n datavizInstance.config.colorMapping[key] = (value ? value : null);\n });\n }\n return this;\n};\n\nDataviz.prototype.data = data;\n\nDataviz.prototype.dateFormat = function(val){\n if (this.config.showDeprecationWarnings) {\n console.log('.dateFormat() is deprecated. Use: new KeenDataviz({ dateFormat: _your_value_here_ })');\n }\n if (!arguments.length) return this.config.dateFormat;\n if (typeof val === 'string' || typeof val === 'function') {\n this.config.dateFormat = val;\n }\n else {\n this.config.dateFormat = undefined;\n }\n return this;\n};\n\nDataviz.prototype.destroy = function(){\n const library = this.library();\n const type = this.config.type;\n const element = this.el();\n\n // Call destroy method if present\n if (Dataviz.libraries[library]\n && Dataviz.libraries[library][type]){\n Dataviz.libraries[library][type].destroy.call(this);\n }\n\n // Clear rendered artifacts, state bin\n if (element) {\n element.innerHTML = '';\n }\n this.view._prepared = false;\n this.view._rendered = false;\n this.view._artifacts = {};\n return this;\n};\n\nDataviz.prototype.el = function(target){\n const datavizInstance = this;\n if (!arguments.length) return this.config.containerElement;\n domReady(function(){\n if (target && target !== null) {\n if (target.nodeName) {\n datavizInstance.config.containerElement = target;\n }\n else if (document.querySelector) {\n datavizInstance.config.containerElement = document.querySelector(target);\n }\n }\n else {\n datavizInstance.config.containerElement = undefined;\n }\n });\n return this;\n};\n\nDataviz.prototype.height = function(num){\n if (this.config.showDeprecationWarnings) {\n console.log('.height() is deprecated - use CSS classes');\n }\n return this;\n};\n\n// IMPORTANT: Must be run before data parsing\nDataviz.prototype.indexBy = function(str){\n if (this.config.showDeprecationWarnings) {\n console.log('.indexBy() is deprecated. Use: new KeenDataviz({ indexBy: _your_value_here_ })');\n }\n if (!arguments.length) return this.config.indexBy;\n this.config.indexBy = (str ? String(str) : 'timeframe.start');\n return this;\n};\n\nDataviz.prototype.labels = function(arr){\n if (this.config.showDeprecationWarnings) {\n console.log('.labels() is deprecated. Use: new KeenDataviz({ labels: _your_value_here_ })');\n }\n\n if (!arguments.length) return this.config.labels;\n this.config.labels = (arr instanceof Array ? arr : []);\n\n setLabels(this);\n\n return this;\n};\n\nfunction setLabels(datavizInstance){\n // Write labels\n if (datavizInstance.data()[0].length === 2 && !isDateString(datavizInstance.data()[1][0])) {\n datavizInstance.dataset.updateColumn(0, function(value, index){\n if (datavizInstance.config.labels[index-1]) {\n return stripHtmlTags(String(datavizInstance.config.labels[index-1]));\n }\n return stripHtmlTags(value);\n }.bind(datavizInstance));\n }\n else {\n datavizInstance.dataset.updateRow(0, function(value, index){\n if (index > 0 && datavizInstance.config.labels[index-1]) {\n return stripHtmlTags(String(datavizInstance.config.labels[index-1]));\n }\n return stripHtmlTags(value);\n }.bind(datavizInstance));\n }\n}\n\nDataviz.prototype.labelMapping = function(obj){\n if (this.config.showDeprecationWarnings) {\n console.log('.labelMapping() is deprecated. Use: new KeenDataviz({ labelMapping: _your_value_here_ })');\n }\n if (!arguments.length) return this.config.labelMapping;\n if (obj === null) {\n this.config.labelMapping = {};\n }\n else if (typeof obj === 'object') {\n each(obj, function(value, key){\n this.config.labelMapping[key] = (value ? value : null);\n }.bind(this));\n }\n\n mapLabels(this);\n\n return this;\n};\n\nfunction mapLabelsExec({ datavizInstance, value }){\n if (datavizInstance.config.labelMappingRegExp){\n let valueAfterMatching = value;\n datavizInstance.config.labelMappingRegExp.forEach(regExpAndLabel => {\n if (regExpAndLabel.length > 1) {\n let regExpObj = regExpAndLabel[0];\n if (regExpObj.test(value)){\n valueAfterMatching = regExpAndLabel[1];\n }\n }\n });\n return stripHtmlTags(valueAfterMatching);\n }\n if (datavizInstance.config.labelMapping[value]) {\n return stripHtmlTags(String(datavizInstance.config.labelMapping[value]));\n }\n return stripHtmlTags(value);\n}\n\nfunction mapLabels(datavizInstance){\n // Write labels\n if (!datavizInstance.config.labelMappingDimension) {\n // if not defined use deprecated auto-detecting\n if (datavizInstance.data()[0].length === 2 && !isDateString(datavizInstance.data()[1][0])) {\n datavizInstance.config.labelMappingDimension = 'row';\n } else {\n datavizInstance.config.labelMappingDimension = 'column';\n }\n }\n\n if (datavizInstance.config.labelMappingDimension === 'row'\n || datavizInstance.config.labelMappingDimension === 'both') {\n datavizInstance.dataset.updateColumn(0, function(value){\n return mapLabelsExec({ datavizInstance, value });\n }.bind(datavizInstance));\n }\n\n if (datavizInstance.config.labelMappingDimension === 'column'\n || datavizInstance.config.labelMappingDimension === 'both') {\n datavizInstance.dataset.updateRow(0, function(value){\n return mapLabelsExec({ datavizInstance, value });\n }.bind(datavizInstance));\n }\n}\n\nDataviz.prototype.library = function(str){\n if (!arguments.length) return this.config['library'];\n this.config['library'] = (str ? String(str) : null);\n return this;\n};\n\nDataviz.prototype.message = function(){\n if (this.view._rendered) {\n this.destroy();\n }\n if (this.el()) {\n this.el().innerHTML = '';\n const message = Dataviz.libraries.default.message;\n if (message.render) {\n message.render.apply(this, arguments);\n }\n }\n return this;\n};\n\nDataviz.prototype.notes = function(str){\n if (this.config.showDeprecationWarnings) {\n console.log('.notes() is deprecated. Use: new KeenDataviz({ notes: _your_value_here_ })');\n }\n if (!arguments.length) return this.config.notes;\n this.config.notes = (str ? String(str) : null);\n return this;\n};\n\nDataviz.prototype.prepare = function(){\n const datavizInstance = this;\n\n if (!this.el()) {\n throw `${this.config.container} not found. A DOM parent element is required to mount the chart.`;\n return;\n }\n\n domReady(function(){\n if (datavizInstance.view._rendered) {\n datavizInstance.destroy();\n }\n if (datavizInstance.el()) {\n datavizInstance.el().innerHTML = '';\n const loader = Dataviz.libraries.default.spinner;\n if (loader.render) {\n loader.render.call(datavizInstance);\n }\n datavizInstance.view._prepared = true;\n }\n });\n\n return this;\n};\n\nDataviz.prototype.render = function(results = undefined){\n const datavizInstance = this;\n if (!!results) {\n const firstResult = results[0] || results;\n if (\n firstResult.query\n && firstResult.query.interval\n && firstResult.query.timeframe\n && firstResult.query.timeframe === 'string'\n && firstResult.query.timeframe.indexOf('this_') > -1\n && this.config.partialIntervalIndicator\n && this.config.partialIntervalIndicator.show === undefined\n )\n {\n this.config.partialIntervalIndicator.show = true;\n }\n\n if (Array.isArray(results)) {\n const timeframes = results.map(resultItem => resultItem.query.timeframe);\n timeframes.forEach(resultTimeframe => {\n let foundDifferent = timeframes.find(timeframeItem =>\n JSON.stringify(timeframeItem) !== JSON.stringify(resultTimeframe)\n );\n if (foundDifferent){\n const msg = 'Timeframes of the queries should be the same';\n console.error(msg);\n throw msg;\n }\n });\n // first result is important to prepare X on the chart\n return datavizInstance\n .data(results[0])\n .call(() => {\n const getLabel = (input) => {\n return `${input.query.event_collection} ${input.query.analysis_type}`;\n }\n let label = getLabel(results[0]);\n if (datavizInstance.config.labelMapping[label]) {\n label = datavizInstance.config.labelMapping[label];\n }\n this.dataset.deleteColumn(1);\n let firstResultPassed = false;\n for (let result of results) {\n label = getLabel(result);;\n let ds2 = Dataset.parser('interval')(result);\n datavizInstance.dataset.appendColumn(label, ds2.selectColumn(1).slice(1));\n }\n })\n .render();\n }\n\n return datavizInstance.data(results).render();\n }\n if (\n (!!this.config.labelMapping && Object.keys(this.config.labelMapping).length > 0)\n ||\n (!!this.config.labelMappingRegExp && this.config.labelMappingRegExp.length > 0)\n ){\n mapLabels(datavizInstance);\n }\n if (!!this.config.labels && Object.keys(this.config.labels).length > 0){\n setLabels(datavizInstance);\n }\n if (!!this.config.sortGroups) {\n sortGroups(datavizInstance);\n }\n if (!!this.config.sortIntervals) {\n sortIntervals(datavizInstance);\n }\n\n const loader = Dataviz.libraries.default.spinner;\n const library = this.config.library;\n const type = this.config.type;\n const containerElement = this.el();\n\n if (!containerElement || containerElement === undefined) {\n const msg = `${this.config.container} not found. A DOM parent element is required to mount the chart.`;\n console.error(msg);\n throw msg;\n return;\n }\n\n let returnValue = datavizInstance;\n\n if (datavizInstance.config.renderAsPromise) {\n returnValue = new Promise((resolve, reject) => {\n const customCallback = this.config.onrendered;\n datavizInstance.config.onrendered = () => {\n if (customCallback) {\n customCallback();\n }\n resolve(datavizInstance);\n }\n });\n }\n\n domReady(function(){\n if (datavizInstance.view._prepared && loader.destroy) {\n loader.destroy.apply(datavizInstance, arguments);\n }\n containerElement.innerHTML = '';\n\n if (Dataviz.libraries[library] === 'undefined'){\n // Error: Unregistered library\n const msg = `Incorrect library`;\n datavizInstance.message(msg);\n throw msg;\n return;\n }\n else {\n if (typeof Dataviz.libraries[library][type] === 'undefined') {\n const msg = `Incorrect chart type`;\n const mappedMsg = this.config.errorMapping[msg] || msg;\n datavizInstance.message(mappedMsg);\n throw msg;\n return;\n }\n else {\n buildDomWrapper(containerElement,\n datavizInstance.config\n );\n const { renderOnVisible } = datavizInstance.config;\n if(renderOnVisible){\n if(typeof IntersectionObserver !== 'undefined'){\n const chartVisibleCallback = (events, observer) => {\n events.forEach(el => {\n if(el.isIntersecting){\n if(!datavizInstance.view._rendered){\n Dataviz.libraries[library][type].render.call(datavizInstance);\n datavizInstance.view._rendered = true;\n }\n }\n })\n }\n const observer = new IntersectionObserver(chartVisibleCallback);\n observer.observe(containerElement);\n return;\n }\n }\n if(datavizInstance.config.firstVisibilityState === 'hidden'){\n if(typeof document !== 'undefined') {\n let hidden, visibilityChange;\n if (typeof document.hidden !== \"undefined\") {\n hidden = \"hidden\";\n visibilityChange = \"visibilitychange\";\n } else if (typeof document.msHidden !== \"undefined\") {\n hidden = \"msHidden\";\n visibilityChange = \"msvisibilitychange\";\n } else if (typeof document.webkitHidden !== \"undefined\") {\n hidden = \"webkitHidden\";\n visibilityChange = \"webkitvisibilitychange\";\n }\n const handleVisibilityChange = () => {\n if(!document[hidden]) {\n datavizInstance.view._artifacts.c3.load(datavizInstance.dataset.matrix);\n }\n }\n if(typeof document.addEventListener !== \"undefined\" ||\n hidden !== undefined){\n document.addEventListener(visibilityChange, handleVisibilityChange, {\n once: true\n });\n }\n }\n }\n Dataviz.libraries[library][type].render.call(datavizInstance);\n datavizInstance.view._rendered = true;\n }\n }\n });\n\n return returnValue;\n};\n\nDataviz.prototype.sortGroups = function(str){\n if (this.config.showDeprecationWarnings) {\n console.log('.sortGroups() is deprecated. Use: new KeenDataviz({ sortGroups: _your_value_here_ })');\n }\n if (!arguments.length) return this.config.sortGroups;\n this.config.sortGroups = (str ? String(str) : null);\n\n sortGroups(this, str);\n\n return this;\n};\n\nfunction sortGroups(datavizInstance){\n // Sort groups\n if (datavizInstance.config.sortGroups && datavizInstance.data().length > 1) {\n if (isDateString(datavizInstance.data()[1][0])) {\n datavizInstance.dataset.sortColumns(datavizInstance.config.sortGroups, datavizInstance.dataset.getColumnSum);\n }\n else {\n datavizInstance.dataset.sortRows(datavizInstance.config.sortGroups, datavizInstance.dataset.getRowSum);\n }\n }\n}\n\nDataviz.prototype.sortIntervals = function(str){\n if (this.config.showDeprecationWarnings) {\n console.log('.sortIntervals() is deprecated. Use: new KeenDataviz({ sortIntervals: _your_value_here_ })');\n }\n if (!arguments.length) return this.config.sortIntervals;\n this.config.sortIntervals = (str ? String(str) : null);\n\n sortIntervals(this);\n\n return this;\n};\n\nfunction sortIntervals(datavizInstance){\n if (datavizInstance.config.sortIntervals) {\n datavizInstance.dataset.sortRows(datavizInstance.config.sortIntervals);\n }\n}\n\nDataviz.prototype.stacked = function(bool){\n if (this.config.showDeprecationWarnings) {\n console.log('.stacked() is deprecated. Use: new KeenDataviz({ stacked: _your_value_here_ })');\n }\n if (!arguments.length) return this.config.stacked;\n this.config.stacked = bool ? true : false;\n return this;\n};\n\nDataviz.prototype.theme = function(str){\n if (this.config.showDeprecationWarnings) {\n console.log('.theme() is deprecated. Use: new KeenDataviz({ theme: _your_value_here_ })');\n }\n if (!arguments.length) return this.config.theme;\n this.config.theme = (str ? String(str) : null);\n return this;\n};\n\nDataviz.prototype.title = function(str){\n if (this.config.showDeprecationWarnings) {\n console.log('.title() is deprecated. Use: new KeenDataviz({ title: _your_value_here_ })');\n }\n if (!arguments.length) return this.config.title;\n this.config.title = (str ? String(str) : null);\n return this;\n};\n\nDataviz.prototype.type = function(str){\n if (this.config.showDeprecationWarnings) {\n console.log('.type() is deprecated. Use: new KeenDataviz({ type: _your_value_here_ })');\n }\n if (!arguments.length) return this.config.type;\n this.config.type = (str ? convertChartTypes(str) : null);\n return this;\n};\n\nDataviz.prototype.update = function(){\n const library = this.config.library;\n const type = this.config.type;\n const element = this.el();\n if (library && type && element && Dataviz.libraries[library][type].update) {\n Dataviz.libraries[library][type].update.apply(this, arguments);\n }\n return this;\n};\n\nDataviz.prototype.width = function(num){\n if (this.config.showDeprecationWarnings) {\n console.log('.width() is deprecated - use CSS classes');\n }\n return this;\n};\n\n// Deprecations\nDataviz.prototype.chartType = Dataviz.prototype.type;\nDataviz.prototype.error = Dataviz.prototype.message;\nDataviz.prototype.parseRawData = Dataviz.prototype.data;\nDataviz.prototype.parseRequest = function(){\n // this.emit('error', 'This method is no longer supported. Use .data() instead: https://github.com/keen/keen-dataviz.js#data');\n return this;\n};\nDataviz.prototype.initialize = function(){\n // this.emit('error', 'This method is no longer supported, and can be omitted as it has no impact');\n return this;\n};\n\nDataviz.version = pkg.version;\n\n// Private\n\nfunction buildDomWrapper(el, options) {\n let html = '';\n let chart100percentWide = '';\n if (options.legend.position === 'top' || options.legend.position === 'bottom') {\n chart100percentWide = 'c3-chart-100-percent';\n }\n\n let container = `
`;\n let align = 'horizontal';\n if (options.legend.position === 'left' || options.legend.position === 'right') {\n align = 'vertical';\n }\n if (options.legend && options.legend.show) {\n if (options.legend.position === 'top' || options.legend.position === 'left') {\n container = `
${container}`;\n } else {\n container = `${container}
`;\n }\n }\n html += `
`;\n if (options.title && options.showTitle) {\n html += `
${options.title}
`;\n }\n html += `
${container}
`;\n if (options.notes) {\n html += `
${options.notes}
`;\n }\n html += `
`;\n el.innerHTML = html;\n}\n\nfunction convertChartTypes(str) {\n const map = {\n areachart: 'area',\n barchart: 'horizontal-bar',\n columnchart: 'bar',\n linechart: 'line',\n piechart: 'pie',\n };\n return map[str] || str;\n}\n\nfunction testDom(fn) {\n if (/in/.test(document.readyState)) {\n setTimeout(function(){\n testDom(fn);\n }, 9);\n } else {\n fn();\n }\n}\n\nfunction domReady(fn) {\n if (typeof document !== 'undefined' || typeof window === 'undefined') {\n fn();\n return;\n }\n // Firefox 3.5 shim\n if (document.readyState == null && document.addEventListener) {\n document.addEventListener('DOMContentLoaded', function DOMContentLoaded() {\n document.removeEventListener('DOMContentLoaded', DOMContentLoaded, false);\n document.readyState = 'complete';\n }, false);\n document.readyState = 'loading';\n }\n testDom(fn);\n}\n\nexport { Dataset } from './dataset';\n\nexport default Dataviz;\n","var g;\r\n\r\n// This works in non-strict mode\r\ng = (function() {\r\n\treturn this;\r\n})();\r\n\r\ntry {\r\n\t// This works if eval is allowed (see CSP)\r\n\tg = g || Function(\"return this\")() || (1, eval)(\"this\");\r\n} catch (e) {\r\n\t// This works if the window reference is available\r\n\tif (typeof window === \"object\") g = window;\r\n}\r\n\r\n// g can still be undefined, but nothing to do about it...\r\n// We return undefined, instead of nothing here, so it's\r\n// easier to handle this case. if(!global) { ...}\r\n\r\nmodule.exports = g;\r\n","import { Dataviz, Dataset } from './index';\n\nconst env = typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : typeof window !== 'undefined' ? window : {};\n\nexport const extendKeenGlobalObject = function(env) {\n env.KeenDataviz = Dataviz;\n env.KeenDataset = Dataset;\n\n // just for backward compatibility\n env.Keen = env.Keen || {};\n env.Keen.Dataset = Dataset;\n env.Keen.Dataviz = Dataviz;\n};\n\nif (typeof KEEN_GLOBAL_OBJECT !== 'undefined'\n && KEEN_GLOBAL_OBJECT) {\n extendKeenGlobalObject(env);\n}\n\nexport let keenGlobals = undefined;\nif (typeof webpackKeenGlobals !== 'undefined') {\n keenGlobals = webpackKeenGlobals;\n}\n\nexport { Dataviz, Dataset } from './index';\nexport default Dataviz;\n"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/keen-dataviz.min.css b/dist/keen-dataviz.min.css index be0869d..3a7795e 100644 --- a/dist/keen-dataviz.min.css +++ b/dist/keen-dataviz.min.css @@ -1 +1 @@ -.c3 svg{font:10px sans-serif;-webkit-tap-highlight-color:rgba(0,0,0,0)}.c3 line,.c3 path{fill:none;stroke:#000}.c3 text{-webkit-user-select:none;-moz-user-select:none;user-select:none}.c3-bars path,.c3-event-rect,.c3-legend-item-tile,.c3-xgrid-focus,.c3-ygrid{shape-rendering:crispEdges}.c3-chart-arc path{stroke:#fff}.c3-chart-arc rect{stroke:#fff;stroke-width:1}.c3-chart-arc text{fill:#fff;font-size:13px}.c3-grid line{stroke:#aaa}.c3-grid text{fill:#aaa}.c3-xgrid,.c3-ygrid{stroke-dasharray:3 3}.c3-text.c3-empty{fill:gray;font-size:2em}.c3-line{stroke-width:1px}.c3-circle._expanded_{stroke-width:1px;stroke:#fff}.c3-selected-circle{fill:#fff;stroke-width:2px}.c3-bar{stroke-width:0}.c3-bar._expanded_{fill-opacity:1;fill-opacity:.75}.c3-target.c3-focused{opacity:1}.c3-target.c3-focused path.c3-line,.c3-target.c3-focused path.c3-step{stroke-width:2px}.c3-target.c3-defocused{opacity:.3!important}.c3-region{fill:#4682b4;fill-opacity:.1}.c3-brush .extent{fill-opacity:.1}.c3-legend-item{font-size:12px}.c3-legend-item-hidden{opacity:.15}.c3-legend-background{opacity:.75;fill:#fff;stroke:#d3d3d3;stroke-width:1}.c3-title{font:14px sans-serif}.c3-tooltip-container{z-index:1}.c3-tooltip{border-collapse:collapse;border-spacing:0;background-color:#fff;empty-cells:show;box-shadow:7px 7px 12px -9px #777;opacity:.9}.c3-tooltip tr{border:1px solid #ccc}.c3-tooltip th{background-color:#aaa;font-size:14px;padding:2px 5px;text-align:left;color:#fff}.c3-tooltip td{font-size:13px;padding:3px 6px;background-color:#fff;border-left:1px dotted #999}.c3-tooltip td>span{display:inline-block;width:10px;height:10px;margin-right:6px}.c3-tooltip td.value{text-align:right}.c3-area{stroke-width:0;opacity:.2}.c3-chart-arcs-title{dominant-baseline:middle;font-size:1.3em}.c3-chart-arcs .c3-chart-arcs-background{fill:#e0e0e0;stroke:#fff}.c3-chart-arcs .c3-chart-arcs-gauge-unit{fill:#000;font-size:16px}.c3-chart-arcs .c3-chart-arcs-gauge-max,.c3-chart-arcs .c3-chart-arcs-gauge-min{fill:#777}.c3-chart-arc .c3-gauge-value{fill:#000}.c3-chart-arc.c3-target.c3-focused g path,.c3-chart-arc.c3-target g path{opacity:1}.c3-drag-zoom.enabled{pointer-events:all!important;visibility:visible}.c3-drag-zoom.disabled{pointer-events:none!important;visibility:hidden}.c3-drag-zoom .extent{fill-opacity:.1}.keen-dataviz{box-sizing:border-box;font-family:Gotham Rounded SSm A,Gotham Rounded SSm B,Helvetica Neue,Helvetica,Arial,sans-serif;height:100%}.keen-dataviz .partial-interval-indicator{fill:#bdbdbd}.keen-dataviz .axis{shape-rendering:crispEdges}.keen-dataviz-title{color:#4d4d4d;padding-bottom:.8em}.keen-dataviz-stage{display:block}.keen-dataviz-notes{color:gray;display:block;font-size:.8em}.keen-dataviz-box{border-radius:4px;text-align:center;display:flex;align-items:center;flex-flow:row;justify-content:center;flex-direction:column;padding:1em 0;min-height:4em;height:inherit}.keen-dataviz .metric-comparison{flex-direction:column-reverse;color:#1a1a1a;background:#f9f9f9}.keen-dataviz-metric{height:inherit;color:#fff;background:#00bbde}.keen-dataviz-metric-value{font-size:4.3em;font-weight:700;width:100%}.keen-dataviz-metric-value-smaller{font-size:3em}.keen-dataviz-metric-title{font-size:2em;font-weight:200;width:100%}.keen-dataviz-metric-green{color:#73d483;font-size:2em}.keen-dataviz-metric-red{color:#fe6672;font-size:2em}.keen-dataviz .arrow-green{border-bottom:8px solid #73d483;top:.7em}.keen-dataviz .arrow-green,.keen-dataviz .arrow-red{width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;position:relative;left:-.6em}.keen-dataviz .arrow-red{border-top:8px solid #fe6672;top:.8em}.keen-dataviz-message{color:gray;font-size:1.5em;width:100%}.keen-dataviz-table{border-bottom:1px solid #e7e7e7;box-sizing:border-box;overflow:scroll;position:relative;width:100%}.keen-dataviz-table table{background:#fff;border-collapse:collapse;margin:0;position:relative;width:100%}.keen-dataviz-table table .table-pagination:hover td,.keen-dataviz-table table .table-pagination td{background-color:#fff}.keen-dataviz-table table .table-pagination a{border:1px solid #e7e7e7;padding:.5em;margin-right:.2em;cursor:pointer}.keen-dataviz-table table .table-pagination .active{background:#4d4d4d;color:#fff}.keen-dataviz-table table .table-pagination .arrow{font-weight:700}.keen-dataviz-table th{background:#fff;position:sticky;top:0;z-index:1;cursor:pointer}.keen-dataviz-table td,.keen-dataviz-table th{border-collapse:collapse;font-size:1em;padding:.7em;text-align:left;white-space:nowrap}.keen-dataviz-table th{border-bottom:1px solid #e7e7e7;color:#4d4d4d}.keen-dataviz-table td{background-color:#fff;color:#4d4d4d;transition:background-color .1s,color .05s}.keen-dataviz-table .table-data-row:nth-child(2n) td{background-color:#f3f5f6}.keen-dataviz-table .table-data-row:hover td{background-color:#e7e7e7;color:#4d4d4d}.keen-dataviz-table .keen-dataviz-table-fixed-header{background:#fff;border-bottom:1px solid rgba(0,0,0,.15);position:absolute;top:0;transition:top .1s}.keen-dataviz .keen-spinner-indicator{border-radius:100%;border:3px solid rgba(0,0,0,.1);border-top-color:rgba(0,0,0,.45);box-sizing:border-box;height:3em;width:3em;animation:a .7s linear infinite;-ms-animation:a .7s linear infinite;-o-animation:a .7s linear infinite}@keyframes a{to{transform:rotate(1turn)}}.keen-dataviz .c3-axis-y .tick line,.keen-dataviz .c3-axis-y path{display:none}.keen-dataviz .tick line,.keen-dataviz path.domain{stroke-opacity:.2}.keen-dataviz .c3-ygrid{stroke-dasharray:none;stroke-opacity:.1}.keen-dataviz .c3-ygrids :nth-child(2n){display:none}.keen-dataviz .c3-tooltip{border:1px solid rgba(0,0,0,.1);padding:.2em;border-radius:.2em;box-shadow:none;border-collapse:separate}.keen-dataviz .c3-tooltip th{text-align:center}.keen-dataviz .c3-tooltip table,.keen-dataviz .c3-tooltip td,.keen-dataviz .c3-tooltip th,.keen-dataviz .c3-tooltip tr{border:none;background:none;font-size:.9em}.keen-dataviz .c3-tooltip-container th{max-width:50%;word-wrap:break-word;color:#1a1a1a;background:none;font-weight:400}.keen-dataviz .c3-tooltip-container td{max-width:50%;word-wrap:break-word}.keen-dataviz-rendering{display:flex;justify-content:center;flex-flow:row;justify-content:space-around}.keen-dataviz-rendering .c3-chart{display:flex;align-self:center;order:1}.keen-dataviz-rendering .c3-chart-100-percent{width:100%;align-self:center}.keen-dataviz-rendering-horizontal{flex-wrap:wrap}.keen-c3-legend{display:flex;position:relative;top:0;box-sizing:border-box}.keen-c3-legend-horizontal{align-self:flex-end;display:flex;flex-direction:row;justify-content:center;width:100%;padding:.5em 0}.keen-c3-legend-horizontal-pagination-left{order:0;display:flex;margin-right:1.5em}.keen-c3-legend-horizontal-items{order:1}.keen-c3-legend-horizontal-pagination-right{order:2;display:flex;margin-left:1.5em}.keen-c3-legend-top{order:0}.keen-c3-legend-bottom{order:2}.keen-c3-legend-bottom .keen-c3-legend-label-overlay{top:0;margin-top:-2.7em}.keen-c3-legend-bottom .keen-c3-legend-label-overlay .overlay-pointer{top:2.4em;transform:rotate(180deg);border-color:transparent transparent #f0f0f0}.keen-c3-legend-vertical{flex-direction:column}.keen-c3-legend-vertical .keen-c3-legend-pagination-icons{margin:.5em .1em;order:2}.keen-c3-legend-left{order:0}.keen-c3-legend-right{order:2}.keen-c3-legend-items{order:1}.keen-c3-legend-vertical-items{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:flex-start;align-content:flex-start}.keen-c3-legend-vertical-items .legend-item{width:8em}.keen-c3-legend-horizontal-items{display:flex;flex-direction:row}.keen-c3-legend-horizontal-items .legend-item{width:6em;margin:0 .25em}.keen-c3-legend .legend-item{display:flex;cursor:pointer;overflow:hidden;padding:.2em;white-space:nowrap;text-overflow:ellipsis;font-size:.8em}.keen-c3-legend .legend-item>*{vertical-align:middle}.keen-c3-legend .legend-item-color-sample{display:inline-block;width:1em;height:100%;margin-right:.5em;pointer-events:none;flex:none}.keen-c3-legend .legend-item-text{pointer-events:none}.keen-c3-legend-label-overlay .overlay-pointer{border-color:transparent transparent #fff;border-style:solid;border-width:0 10px 10px;height:0;width:0;position:absolute;top:-10px}.keen-c3-legend-position-left .overlay-pointer,.keen-c3-legend-position-right .overlay-pointer{left:0}.keen-c3-legend-pagination-vertical{margin-top:.5em}.keen-c3-legend-pagination-icons{padding:.2em}.keen-c3-legend-pagination-icons i{border-left:1em solid transparent;border-right:1em solid transparent;border-top:1.5em solid #4d4d4d;display:inline-block;padding:0;float:left;cursor:pointer;font-size:.5em}.keen-c3-legend-pagination-icons .right{transform:rotate(-90deg);-webkit-transform:rotate(-90deg)}.keen-c3-legend-pagination-icons .left{transform:rotate(90deg);-webkit-transform:rotate(90deg)}.keen-c3-legend-pagination-icons .up{transform:rotate(-180deg);-webkit-transform:rotate(-180deg);margin-top:.1em}.keen-c3-legend-pagination-icons .down{margin-right:.1em}.keen-c3-legend-label-overlay{font-size:1em;background:hsla(0,0%,100%,.9);box-shadow:0 1px 1px rgba(26,26,26,.09999999999999998);padding:.6em;margin-top:1.5em;position:absolute;word-wrap:break-word;pointer-events:none;z-index:2} \ No newline at end of file +.c3 svg{font:10px sans-serif;-webkit-tap-highlight-color:rgba(0,0,0,0)}.c3 line,.c3 path{fill:none;stroke:#000}.c3 text{-webkit-user-select:none;-moz-user-select:none;user-select:none}.c3-bars path,.c3-event-rect,.c3-legend-item-tile,.c3-xgrid-focus,.c3-ygrid{shape-rendering:crispEdges}.c3-chart-arc path{stroke:#fff}.c3-chart-arc rect{stroke:#fff;stroke-width:1}.c3-chart-arc text{fill:#fff;font-size:13px}.c3-grid line{stroke:#aaa}.c3-grid text{fill:#aaa}.c3-xgrid,.c3-ygrid{stroke-dasharray:3 3}.c3-text.c3-empty{fill:gray;font-size:2em}.c3-line{stroke-width:1px}.c3-circle._expanded_{stroke-width:1px;stroke:#fff}.c3-selected-circle{fill:#fff;stroke-width:2px}.c3-bar{stroke-width:0}.c3-bar._expanded_{fill-opacity:1;fill-opacity:.75}.c3-target.c3-focused{opacity:1}.c3-target.c3-focused path.c3-line,.c3-target.c3-focused path.c3-step{stroke-width:2px}.c3-target.c3-defocused{opacity:.3!important}.c3-region{fill:#4682b4;fill-opacity:.1}.c3-brush .extent{fill-opacity:.1}.c3-legend-item{font-size:12px}.c3-legend-item-hidden{opacity:.15}.c3-legend-background{opacity:.75;fill:#fff;stroke:#d3d3d3;stroke-width:1}.c3-title{font:14px sans-serif}.c3-tooltip-container{z-index:1}.c3-tooltip{border-collapse:collapse;border-spacing:0;background-color:#fff;empty-cells:show;box-shadow:7px 7px 12px -9px #777;opacity:.9}.c3-tooltip tr{border:1px solid #ccc}.c3-tooltip th{background-color:#aaa;font-size:14px;padding:2px 5px;text-align:left;color:#fff}.c3-tooltip td{font-size:13px;padding:3px 6px;background-color:#fff;border-left:1px dotted #999}.c3-tooltip td>span{display:inline-block;width:10px;height:10px;margin-right:6px}.c3-tooltip td.value{text-align:right}.c3-area{stroke-width:0;opacity:.2}.c3-chart-arcs-title{dominant-baseline:middle;font-size:1.3em}.c3-chart-arcs .c3-chart-arcs-background{fill:#e0e0e0;stroke:#fff}.c3-chart-arcs .c3-chart-arcs-gauge-unit{fill:#000;font-size:16px}.c3-chart-arcs .c3-chart-arcs-gauge-max,.c3-chart-arcs .c3-chart-arcs-gauge-min{fill:#777}.c3-chart-arc .c3-gauge-value{fill:#000}.c3-chart-arc.c3-target.c3-focused g path,.c3-chart-arc.c3-target g path{opacity:1}.c3-drag-zoom.enabled{pointer-events:all!important;visibility:visible}.c3-drag-zoom.disabled{pointer-events:none!important;visibility:hidden}.c3-drag-zoom .extent{fill-opacity:.1}.keen-dataviz{box-sizing:border-box;font-family:Gotham Rounded SSm A,Gotham Rounded SSm B,Helvetica Neue,Helvetica,Arial,sans-serif;height:100%}.keen-dataviz .partial-interval-indicator{fill:#bdbdbd}.keen-dataviz .axis{shape-rendering:crispEdges}.keen-dataviz-title{color:#4d4d4d;padding-bottom:.8em}.keen-dataviz-stage{display:block}.keen-dataviz-notes{color:gray;display:block;font-size:.8em}.keen-dataviz-box{border-radius:4px;text-align:center;display:flex;align-items:center;flex-flow:row;justify-content:center;flex-direction:column;padding:1em 0;min-height:4em;height:inherit}.keen-dataviz .metric-comparison{flex-direction:column-reverse;color:#1a1a1a;background:#f9f9f9}.keen-dataviz-metric{height:inherit;color:#fff;background:#00bbde}.keen-dataviz-metric-value{font-size:4.3em;font-weight:700;width:100%}.keen-dataviz-metric-value-smaller{font-size:3em}.keen-dataviz-metric-title{font-size:2em;font-weight:200;width:100%}.keen-dataviz-metric-green{color:#73d483;font-size:2em}.keen-dataviz-metric-red{color:#fe6672;font-size:2em}.keen-dataviz .arrow-green{border-bottom:8px solid #73d483;top:.7em}.keen-dataviz .arrow-green,.keen-dataviz .arrow-red{width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;position:relative;left:-.6em}.keen-dataviz .arrow-red{border-top:8px solid #fe6672;top:.8em}.keen-dataviz-message{color:gray;font-size:1.5em;width:100%}.keen-dataviz .text-label{fill:#1a1a1a}.keen-dataviz .text-main{fill:#fff;font-size:1.5em}.keen-dataviz .text-second{fill:#fff}.keen-dataviz .chart-lines{stroke:#e7e7e7}.keen-dataviz-table{border-bottom:1px solid #e7e7e7;box-sizing:border-box;overflow:scroll;position:relative;width:100%}.keen-dataviz-table table{background:#fff;border-collapse:collapse;margin:0;position:relative;width:100%}.keen-dataviz-table table .table-pagination:hover td,.keen-dataviz-table table .table-pagination td{background-color:#fff}.keen-dataviz-table table .table-pagination a{border:1px solid #e7e7e7;padding:.5em;margin-right:.2em;cursor:pointer}.keen-dataviz-table table .table-pagination .active{background:#4d4d4d;color:#fff}.keen-dataviz-table table .table-pagination .arrow{font-weight:700}.keen-dataviz-table th{background:#fff;position:sticky;top:0;z-index:1;cursor:pointer}.keen-dataviz-table td,.keen-dataviz-table th{border-collapse:collapse;font-size:1em;padding:.7em;text-align:left;white-space:nowrap}.keen-dataviz-table th{border-bottom:1px solid #e7e7e7;color:#4d4d4d}.keen-dataviz-table td{background-color:#fff;color:#4d4d4d;transition:background-color .1s,color .05s}.keen-dataviz-table .table-data-row:nth-child(2n) td{background-color:#f3f5f6}.keen-dataviz-table .table-data-row:hover td{background-color:#e7e7e7;color:#4d4d4d}.keen-dataviz-table .keen-dataviz-table-fixed-header{background:#fff;border-bottom:1px solid rgba(0,0,0,.15);position:absolute;top:0;transition:top .1s}.keen-dataviz .keen-spinner-indicator{border-radius:100%;border:3px solid rgba(0,0,0,.1);border-top-color:rgba(0,0,0,.45);box-sizing:border-box;height:3em;width:3em;animation:a .7s linear infinite;-ms-animation:a .7s linear infinite;-o-animation:a .7s linear infinite}@keyframes a{to{transform:rotate(1turn)}}.keen-dataviz .c3-axis-y .tick line,.keen-dataviz .c3-axis-y path{display:none}.keen-dataviz .tick line,.keen-dataviz path.domain{stroke-opacity:.2}.keen-dataviz .c3-ygrid{stroke-dasharray:none;stroke-opacity:.1}.keen-dataviz .c3-ygrids :nth-child(2n){display:none}.keen-dataviz .c3-tooltip{border:1px solid rgba(0,0,0,.1);padding:.2em;border-radius:.2em;box-shadow:none;border-collapse:separate}.keen-dataviz .c3-tooltip th{text-align:center}.keen-dataviz .c3-tooltip table,.keen-dataviz .c3-tooltip td,.keen-dataviz .c3-tooltip th,.keen-dataviz .c3-tooltip tr{border:none;background:none;font-size:.9em}.keen-dataviz .c3-tooltip-container th{max-width:50%;word-wrap:break-word;color:#1a1a1a;background:none;font-weight:400}.keen-dataviz .c3-tooltip-container td{max-width:50%;word-wrap:break-word}.keen-dataviz-rendering{display:flex;justify-content:center;flex-flow:row;justify-content:space-around}.keen-dataviz-rendering .c3-chart{display:flex;align-self:center;order:1}.keen-dataviz-rendering .c3-chart-100-percent{width:100%;align-self:center}.keen-dataviz-rendering-horizontal{flex-wrap:wrap}.keen-c3-legend{display:flex;position:relative;top:0;box-sizing:border-box}.keen-c3-legend-horizontal{align-self:flex-end;display:flex;flex-direction:row;justify-content:center;width:100%;padding:.5em 0}.keen-c3-legend-horizontal-pagination-left{order:0;display:flex;margin-right:1.5em}.keen-c3-legend-horizontal-items{order:1}.keen-c3-legend-horizontal-pagination-right{order:2;display:flex;margin-left:1.5em}.keen-c3-legend-top{order:0}.keen-c3-legend-bottom{order:2}.keen-c3-legend-bottom .keen-c3-legend-label-overlay{top:0;margin-top:-2.7em}.keen-c3-legend-bottom .keen-c3-legend-label-overlay .overlay-pointer{top:2.4em;transform:rotate(180deg);border-color:transparent transparent #f0f0f0}.keen-c3-legend-vertical{flex-direction:column}.keen-c3-legend-vertical .keen-c3-legend-pagination-icons{margin:.5em .1em;order:2}.keen-c3-legend-left{order:0}.keen-c3-legend-right{order:2}.keen-c3-legend-items{order:1}.keen-c3-legend-vertical-items{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:flex-start;align-content:flex-start}.keen-c3-legend-vertical-items .legend-item{width:8em}.keen-c3-legend-horizontal-items{display:flex;flex-direction:row}.keen-c3-legend-horizontal-items .legend-item{width:6em;margin:0 .25em}.keen-c3-legend .legend-item{display:flex;cursor:pointer;overflow:hidden;padding:.2em;white-space:nowrap;text-overflow:ellipsis;font-size:.8em}.keen-c3-legend .legend-item>*{vertical-align:middle}.keen-c3-legend .legend-item-color-sample{display:inline-block;width:1em;height:100%;margin-right:.5em;pointer-events:none;flex:none}.keen-c3-legend .legend-item-text{pointer-events:none}.keen-c3-legend-label-overlay .overlay-pointer{border-color:transparent transparent #fff;border-style:solid;border-width:0 10px 10px;height:0;width:0;position:absolute;top:-10px}.keen-c3-legend-position-left .overlay-pointer,.keen-c3-legend-position-right .overlay-pointer{left:0}.keen-c3-legend-pagination-vertical{margin-top:.5em}.keen-c3-legend-pagination-icons{padding:.2em}.keen-c3-legend-pagination-icons i{border-left:1em solid transparent;border-right:1em solid transparent;border-top:1.5em solid #4d4d4d;display:inline-block;padding:0;float:left;cursor:pointer;font-size:.5em}.keen-c3-legend-pagination-icons .right{transform:rotate(-90deg);-webkit-transform:rotate(-90deg)}.keen-c3-legend-pagination-icons .left{transform:rotate(90deg);-webkit-transform:rotate(90deg)}.keen-c3-legend-pagination-icons .up{transform:rotate(-180deg);-webkit-transform:rotate(-180deg);margin-top:.1em}.keen-c3-legend-pagination-icons .down{margin-right:.1em}.keen-c3-legend-label-overlay{font-size:1em;background:hsla(0,0%,100%,.9);box-shadow:0 1px 1px rgba(26,26,26,.09999999999999998);padding:.6em;margin-top:1.5em;position:absolute;word-wrap:break-word;pointer-events:none;z-index:2} \ No newline at end of file diff --git a/dist/keen-dataviz.min.js b/dist/keen-dataviz.min.js index 16b71f0..8da75bc 100644 --- a/dist/keen-dataviz.min.js +++ b/dist/keen-dataviz.min.js @@ -1,6 +1,6 @@ -!function(t,e){if("object"==typeof exports&&"object"==typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var n=e();for(var i in n)("object"==typeof exports?exports:t)[i]=n[i]}}(window,function(){return function(t){var e={};function n(i){if(e[i])return e[i].exports;var r=e[i]={i:i,l:!1,exports:{}};return t[i].call(r.exports,r,r.exports,n),r.l=!0,r.exports}return n.m=t,n.c=e,n.d=function(t,e,i){n.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:i})},n.r=function(t){Object.defineProperty(t,"__esModule",{value:!0})},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=163)}([function(t,e,n){(function(t){t.exports=function(){"use strict";var e,i;function r(){return e.apply(null,arguments)}function a(t){return t instanceof Array||"[object Array]"===Object.prototype.toString.call(t)}function o(t){return null!=t&&"[object Object]"===Object.prototype.toString.call(t)}function s(t){return void 0===t}function c(t){return"number"==typeof t||"[object Number]"===Object.prototype.toString.call(t)}function u(t){return t instanceof Date||"[object Date]"===Object.prototype.toString.call(t)}function d(t,e){var n,i=[];for(n=0;n>>0,i=0;i0)for(n=0;n=0;return(a?n?"+":"":"-")+Math.pow(10,Math.max(0,r)).toString().substr(1)+i}var B=/(\[[^\[]*\])|(\\)?([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,H=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,R={},j={};function I(t,e,n,i){var r=i;"string"==typeof i&&(r=function(){return this[i]()}),t&&(j[t]=r),e&&(j[e[0]]=function(){return C(r.apply(this,arguments),e[1],e[2])}),n&&(j[n]=function(){return this.localeData().ordinal(r.apply(this,arguments),t)})}function G(t,e){return t.isValid()?(e=F(e,t.localeData()),R[e]=R[e]||function(t){var e,n,i,r=t.match(B);for(e=0,n=r.length;e=0&&H.test(t);)t=t.replace(H,i),H.lastIndex=0,n-=1;return t}var V=/\d/,U=/\d\d/,J=/\d{3}/,K=/\d{4}/,Q=/[+-]?\d{6}/,Z=/\d\d?/,$=/\d\d\d\d?/,tt=/\d\d\d\d\d\d?/,et=/\d{1,3}/,nt=/\d{1,4}/,it=/[+-]?\d{1,6}/,rt=/\d+/,at=/[+-]?\d+/,ot=/Z|[+-]\d\d:?\d\d/gi,st=/Z|[+-]\d\d(?::?\d\d)?/gi,ct=/[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i,ut={};function dt(t,e,n){ut[t]=Y(e)?e:function(t,i){return t&&n?n:e}}function lt(t,e){return l(ut,t)?ut[t](e._strict,e._locale):new RegExp(ft(t.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(t,e,n,i,r){return e||n||i||r})))}function ft(t){return t.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}var ht={};function pt(t,e){var n,i=e;for("string"==typeof t&&(t=[t]),c(e)&&(i=function(t,n){n[e]=v(t)}),n=0;n68?1900:2e3)};var St,Ot=Yt("FullYear",!0);function Yt(t,e){return function(n){return null!=n?(Dt(this,t,n),r.updateOffset(this,e),this):kt(this,t)}}function kt(t,e){return t.isValid()?t._d["get"+(t._isUTC?"UTC":"")+e]():NaN}function Dt(t,e,n){t.isValid()&&!isNaN(n)&&("FullYear"===e&&Tt(t.year())&&1===t.month()&&29===t.date()?t._d["set"+(t._isUTC?"UTC":"")+e](n,t.month(),Nt(n,t.month())):t._d["set"+(t._isUTC?"UTC":"")+e](n))}function Nt(t,e){if(isNaN(t)||isNaN(e))return NaN;var n,i=(e%(n=12)+n)%n;return t+=(e-i)/12,1===i?Tt(t)?29:28:31-i%7%2}St=Array.prototype.indexOf?Array.prototype.indexOf:function(t){var e;for(e=0;e=0&&isFinite(e.getUTCFullYear())&&e.setUTCFullYear(t),e}function jt(t,e,n){var i=7+e-n,r=(7+Rt(t,0,i).getUTCDay()-e)%7;return-r+i-1}function It(t,e,n,i,r){var a,o,s=(7+n-i)%7,c=jt(t,i,r),u=1+7*(e-1)+s+c;return u<=0?o=wt(a=t-1)+u:u>wt(t)?(a=t+1,o=u-wt(t)):(a=t,o=u),{year:a,dayOfYear:o}}function Gt(t,e,n){var i,r,a=jt(t.year(),e,n),o=Math.floor((t.dayOfYear()-a-1)/7)+1;return o<1?(r=t.year()-1,i=o+Ft(r,e,n)):o>Ft(t.year(),e,n)?(i=o-Ft(t.year(),e,n),r=t.year()+1):(r=t.year(),i=o),{week:i,year:r}}function Ft(t,e,n){var i=jt(t,e,n),r=jt(t+1,e,n);return(wt(t)-i+r)/7}I("w",["ww",2],"wo","week"),I("W",["WW",2],"Wo","isoWeek"),q("week","w"),q("isoWeek","W"),X("week",5),X("isoWeek",5),dt("w",Z),dt("ww",Z,U),dt("W",Z),dt("WW",Z,U),_t(["w","ww","W","WW"],function(t,e,n,i){e[i.substr(0,1)]=v(t)}),I("d",0,"do","day"),I("dd",0,0,function(t){return this.localeData().weekdaysMin(this,t)}),I("ddd",0,0,function(t){return this.localeData().weekdaysShort(this,t)}),I("dddd",0,0,function(t){return this.localeData().weekdays(this,t)}),I("e",0,0,"weekday"),I("E",0,0,"isoWeekday"),q("day","d"),q("weekday","e"),q("isoWeekday","E"),X("day",11),X("weekday",11),X("isoWeekday",11),dt("d",Z),dt("e",Z),dt("E",Z),dt("dd",function(t,e){return e.weekdaysMinRegex(t)}),dt("ddd",function(t,e){return e.weekdaysShortRegex(t)}),dt("dddd",function(t,e){return e.weekdaysRegex(t)}),_t(["dd","ddd","dddd"],function(t,e,n,i){var r=n._locale.weekdaysParse(t,i,n._strict);null!=r?e.d=r:p(n).invalidWeekday=t}),_t(["d","e","E"],function(t,e,n,i){e[i]=v(t)});var Vt="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),Ut="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),Jt="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),Kt=ct,Qt=ct,Zt=ct;function $t(){function t(t,e){return e.length-t.length}var e,n,i,r,a,o=[],s=[],c=[],u=[];for(e=0;e<7;e++)n=h([2e3,1]).day(e),i=this.weekdaysMin(n,""),r=this.weekdaysShort(n,""),a=this.weekdays(n,""),o.push(i),s.push(r),c.push(a),u.push(i),u.push(r),u.push(a);for(o.sort(t),s.sort(t),c.sort(t),u.sort(t),e=0;e<7;e++)s[e]=ft(s[e]),c[e]=ft(c[e]),u[e]=ft(u[e]);this._weekdaysRegex=new RegExp("^("+u.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+c.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+s.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+o.join("|")+")","i")}function te(){return this.hours()%12||12}function ee(t,e){I(t,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),e)})}function ne(t,e){return e._meridiemParse}I("H",["HH",2],0,"hour"),I("h",["hh",2],0,te),I("k",["kk",2],0,function(){return this.hours()||24}),I("hmm",0,0,function(){return""+te.apply(this)+C(this.minutes(),2)}),I("hmmss",0,0,function(){return""+te.apply(this)+C(this.minutes(),2)+C(this.seconds(),2)}),I("Hmm",0,0,function(){return""+this.hours()+C(this.minutes(),2)}),I("Hmmss",0,0,function(){return""+this.hours()+C(this.minutes(),2)+C(this.seconds(),2)}),ee("a",!0),ee("A",!1),q("hour","h"),X("hour",13),dt("a",ne),dt("A",ne),dt("H",Z),dt("h",Z),dt("k",Z),dt("HH",Z,U),dt("hh",Z,U),dt("kk",Z,U),dt("hmm",$),dt("hmmss",tt),dt("Hmm",$),dt("Hmmss",tt),pt(["H","HH"],yt),pt(["k","kk"],function(t,e,n){var i=v(t);e[yt]=24===i?0:i}),pt(["a","A"],function(t,e,n){n._isPm=n._locale.isPM(t),n._meridiem=t}),pt(["h","hh"],function(t,e,n){e[yt]=v(t),p(n).bigHour=!0}),pt("hmm",function(t,e,n){var i=t.length-2;e[yt]=v(t.substr(0,i)),e[Lt]=v(t.substr(i)),p(n).bigHour=!0}),pt("hmmss",function(t,e,n){var i=t.length-4,r=t.length-2;e[yt]=v(t.substr(0,i)),e[Lt]=v(t.substr(i,2)),e[At]=v(t.substr(r)),p(n).bigHour=!0}),pt("Hmm",function(t,e,n){var i=t.length-2;e[yt]=v(t.substr(0,i)),e[Lt]=v(t.substr(i))}),pt("Hmmss",function(t,e,n){var i=t.length-4,r=t.length-2;e[yt]=v(t.substr(0,i)),e[Lt]=v(t.substr(i,2)),e[At]=v(t.substr(r))});var ie,re=Yt("Hours",!0),ae={calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},longDateFormat:{LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},invalidDate:"Invalid date",ordinal:"%d",dayOfMonthOrdinalParse:/\d{1,2}/,relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},months:Wt,monthsShort:Pt,week:{dow:0,doy:6},weekdays:Vt,weekdaysMin:Jt,weekdaysShort:Ut,meridiemParse:/[ap]\.?m?\.?/i},oe={},se={};function ce(t){return t?t.toLowerCase().replace("_","-"):t}function ue(e){var i=null;if(!oe[e]&&void 0!==t&&t&&t.exports)try{i=ie._abbr,n(138)("./"+e),de(i)}catch(t){}return oe[e]}function de(t,e){var n;return t&&((n=s(e)?fe(t):le(t,e))?ie=n:"undefined"!=typeof console&&console.warn&&console.warn("Locale "+t+" not found. Did you forget to load it?")),ie._abbr}function le(t,e){if(null!==e){var n,i=ae;if(e.abbr=t,null!=oe[t])O("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."),i=oe[t]._config;else if(null!=e.parentLocale)if(null!=oe[e.parentLocale])i=oe[e.parentLocale]._config;else{if(null==(n=ue(e.parentLocale)))return se[e.parentLocale]||(se[e.parentLocale]=[]),se[e.parentLocale].push({name:t,config:e}),null;i=n._config}return oe[t]=new D(k(i,e)),se[t]&&se[t].forEach(function(t){le(t.name,t.config)}),de(t),oe[t]}return delete oe[t],null}function fe(t){var e;if(t&&t._locale&&t._locale._abbr&&(t=t._locale._abbr),!t)return ie;if(!a(t)){if(e=ue(t))return e;t=[t]}return function(t){for(var e,n,i,r,a=0;a0;){if(i=ue(r.slice(0,e).join("-")))return i;if(n&&n.length>=e&&z(r,n,!0)>=e-1)break;e--}a++}return ie}(t)}function he(t){var e,n=t._a;return n&&-2===p(t).overflow&&(e=n[gt]<0||n[gt]>11?gt:n[bt]<1||n[bt]>Nt(n[mt],n[gt])?bt:n[yt]<0||n[yt]>24||24===n[yt]&&(0!==n[Lt]||0!==n[At]||0!==n[vt])?yt:n[Lt]<0||n[Lt]>59?Lt:n[At]<0||n[At]>59?At:n[vt]<0||n[vt]>999?vt:-1,p(t)._overflowDayOfYear&&(ebt)&&(e=bt),p(t)._overflowWeeks&&-1===e&&(e=zt),p(t)._overflowWeekday&&-1===e&&(e=xt),p(t).overflow=e),t}function pe(t,e,n){return null!=t?t:null!=e?e:n}function _e(t){var e,n,i,a,o,s=[];if(!t._d){for(i=function(t){var e=new Date(r.now());return t._useUTC?[e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()]:[e.getFullYear(),e.getMonth(),e.getDate()]}(t),t._w&&null==t._a[bt]&&null==t._a[gt]&&function(t){var e,n,i,r,a,o,s,c;if(null!=(e=t._w).GG||null!=e.W||null!=e.E)a=1,o=4,n=pe(e.GG,t._a[mt],Gt(Ye(),1,4).year),i=pe(e.W,1),((r=pe(e.E,1))<1||r>7)&&(c=!0);else{a=t._locale._week.dow,o=t._locale._week.doy;var u=Gt(Ye(),a,o);n=pe(e.gg,t._a[mt],u.year),i=pe(e.w,u.week),null!=e.d?((r=e.d)<0||r>6)&&(c=!0):null!=e.e?(r=e.e+a,(e.e<0||e.e>6)&&(c=!0)):r=a}i<1||i>Ft(n,a,o)?p(t)._overflowWeeks=!0:null!=c?p(t)._overflowWeekday=!0:(s=It(n,i,r,a,o),t._a[mt]=s.year,t._dayOfYear=s.dayOfYear)}(t),null!=t._dayOfYear&&(o=pe(t._a[mt],i[mt]),(t._dayOfYear>wt(o)||0===t._dayOfYear)&&(p(t)._overflowDayOfYear=!0),n=Rt(o,0,t._dayOfYear),t._a[gt]=n.getUTCMonth(),t._a[bt]=n.getUTCDate()),e=0;e<3&&null==t._a[e];++e)t._a[e]=s[e]=i[e];for(;e<7;e++)t._a[e]=s[e]=null==t._a[e]?2===e?1:0:t._a[e];24===t._a[yt]&&0===t._a[Lt]&&0===t._a[At]&&0===t._a[vt]&&(t._nextDay=!0,t._a[yt]=0),t._d=(t._useUTC?Rt:function(t,e,n,i,r,a,o){var s=new Date(t,e,n,i,r,a,o);return t<100&&t>=0&&isFinite(s.getFullYear())&&s.setFullYear(t),s}).apply(null,s),a=t._useUTC?t._d.getUTCDay():t._d.getDay(),null!=t._tzm&&t._d.setUTCMinutes(t._d.getUTCMinutes()-t._tzm),t._nextDay&&(t._a[yt]=24),t._w&&void 0!==t._w.d&&t._w.d!==a&&(p(t).weekdayMismatch=!0)}}var Me=/^\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)?)?$/,me=/^\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)?)?$/,ge=/Z|[+-]\d\d(?::?\d\d)?/,be=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/]],ye=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],Le=/^\/?Date\((\-?\d+)/i;function Ae(t){var e,n,i,r,a,o,s=t._i,c=Me.exec(s)||me.exec(s);if(c){for(p(t).iso=!0,e=0,n=be.length;e0&&p(t).unusedInput.push(o),s=s.slice(s.indexOf(n)+n.length),u+=n.length),j[a]?(n?p(t).empty=!1:p(t).unusedTokens.push(a),Mt(a,n,t)):t._strict&&!n&&p(t).unusedTokens.push(a);p(t).charsLeftOver=c-u,s.length>0&&p(t).unusedInput.push(s),t._a[yt]<=12&&!0===p(t).bigHour&&t._a[yt]>0&&(p(t).bigHour=void 0),p(t).parsedDateParts=t._a.slice(0),p(t).meridiem=t._meridiem,t._a[yt]=(d=t._locale,l=t._a[yt],null==(f=t._meridiem)?l:null!=d.meridiemHour?d.meridiemHour(l,f):null!=d.isPM?((h=d.isPM(f))&&l<12&&(l+=12),h||12!==l||(l=0),l):l),_e(t),he(t)}else we(t);else Ae(t);var d,l,f,h}function Se(t){var e=t._i,n=t._f;return t._locale=t._locale||fe(t._l),null===e||void 0===n&&""===e?M({nullInput:!0}):("string"==typeof e&&(t._i=e=t._locale.preparse(e)),L(e)?new y(he(e)):(u(e)?t._d=e:a(n)?function(t){var e,n,i,r,a;if(0===t._f.length)return p(t).invalidFormat=!0,void(t._d=new Date(NaN));for(r=0;rthis?this:t:M()});function Ne(t,e){var n,i;if(1===e.length&&a(e[0])&&(e=e[0]),!e.length)return Ye();for(n=e[0],i=1;ia&&(e=a),function(t,e,n,i,r){var a=It(t,e,n,i,r),o=Rt(a.year,0,a.dayOfYear);return this.year(o.getUTCFullYear()),this.month(o.getUTCMonth()),this.date(o.getUTCDate()),this}.call(this,t,e,n,i,r))}I(0,["gg",2],0,function(){return this.weekYear()%100}),I(0,["GG",2],0,function(){return this.isoWeekYear()%100}),rn("gggg","weekYear"),rn("ggggg","weekYear"),rn("GGGG","isoWeekYear"),rn("GGGGG","isoWeekYear"),q("weekYear","gg"),q("isoWeekYear","GG"),X("weekYear",1),X("isoWeekYear",1),dt("G",at),dt("g",at),dt("GG",Z,U),dt("gg",Z,U),dt("GGGG",nt,K),dt("gggg",nt,K),dt("GGGGG",it,Q),dt("ggggg",it,Q),_t(["gggg","ggggg","GGGG","GGGGG"],function(t,e,n,i){e[i.substr(0,2)]=v(t)}),_t(["gg","GG"],function(t,e,n,i){e[i]=r.parseTwoDigitYear(t)}),I("Q",0,"Qo","quarter"),q("quarter","Q"),X("quarter",7),dt("Q",V),pt("Q",function(t,e){e[gt]=3*(v(t)-1)}),I("D",["DD",2],"Do","date"),q("date","D"),X("date",9),dt("D",Z),dt("DD",Z,U),dt("Do",function(t,e){return t?e._dayOfMonthOrdinalParse||e._ordinalParse:e._dayOfMonthOrdinalParseLenient}),pt(["D","DD"],bt),pt("Do",function(t,e){e[bt]=v(t.match(Z)[0])});var on=Yt("Date",!0);I("DDD",["DDDD",3],"DDDo","dayOfYear"),q("dayOfYear","DDD"),X("dayOfYear",4),dt("DDD",et),dt("DDDD",J),pt(["DDD","DDDD"],function(t,e,n){n._dayOfYear=v(t)}),I("m",["mm",2],0,"minute"),q("minute","m"),X("minute",14),dt("m",Z),dt("mm",Z,U),pt(["m","mm"],Lt);var sn=Yt("Minutes",!1);I("s",["ss",2],0,"second"),q("second","s"),X("second",15),dt("s",Z),dt("ss",Z,U),pt(["s","ss"],At);var cn,un=Yt("Seconds",!1);for(I("S",0,0,function(){return~~(this.millisecond()/100)}),I(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),I(0,["SSS",3],0,"millisecond"),I(0,["SSSS",4],0,function(){return 10*this.millisecond()}),I(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),I(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),I(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),I(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),I(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),q("millisecond","ms"),X("millisecond",16),dt("S",et,V),dt("SS",et,U),dt("SSS",et,J),cn="SSSS";cn.length<=9;cn+="S")dt(cn,rt);function dn(t,e){e[vt]=v(1e3*("0."+t))}for(cn="S";cn.length<=9;cn+="S")pt(cn,dn);var ln=Yt("Milliseconds",!1);I("z",0,0,"zoneAbbr"),I("zz",0,0,"zoneName");var fn=y.prototype;function hn(t){return t}fn.add=Qe,fn.calendar=function(t,e){var n=t||Ye(),i=He(n,this).startOf("day"),a=r.calendarFormat(this,i)||"sameElse",o=e&&(Y(e[a])?e[a].call(this,n):e[a]);return this.format(o||this.localeData().calendar(a,this,Ye(n)))},fn.clone=function(){return new y(this)},fn.diff=function(t,e,n){var i,r,a;if(!this.isValid())return NaN;if(!(i=He(t,this)).isValid())return NaN;switch(r=6e4*(i.utcOffset()-this.utcOffset()),e=W(e)){case"year":a=$e(this,i)/12;break;case"month":a=$e(this,i);break;case"quarter":a=$e(this,i)/3;break;case"second":a=(this-i)/1e3;break;case"minute":a=(this-i)/6e4;break;case"hour":a=(this-i)/36e5;break;case"day":a=(this-i-r)/864e5;break;case"week":a=(this-i-r)/6048e5;break;default:a=this-i}return n?a:A(a)},fn.endOf=function(t){return void 0===(t=W(t))||"millisecond"===t?this:("date"===t&&(t="day"),this.startOf(t).add(1,"isoWeek"===t?"week":t).subtract(1,"ms"))},fn.format=function(t){t||(t=this.isUtc()?r.defaultFormatUtc:r.defaultFormat);var e=G(this,t);return this.localeData().postformat(e)},fn.from=function(t,e){return this.isValid()&&(L(t)&&t.isValid()||Ye(t).isValid())?Fe({to:this,from:t}).locale(this.locale()).humanize(!e):this.localeData().invalidDate()},fn.fromNow=function(t){return this.from(Ye(),t)},fn.to=function(t,e){return this.isValid()&&(L(t)&&t.isValid()||Ye(t).isValid())?Fe({from:this,to:t}).locale(this.locale()).humanize(!e):this.localeData().invalidDate()},fn.toNow=function(t){return this.to(Ye(),t)},fn.get=function(t){return Y(this[t=W(t)])?this[t]():this},fn.invalidAt=function(){return p(this).overflow},fn.isAfter=function(t,e){var n=L(t)?t:Ye(t);return!(!this.isValid()||!n.isValid())&&("millisecond"===(e=W(s(e)?"millisecond":e))?this.valueOf()>n.valueOf():n.valueOf()9999?G(n,e?"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ"):Y(Date.prototype.toISOString)?e?this.toDate().toISOString():new Date(this.valueOf()+60*this.utcOffset()*1e3).toISOString().replace("Z",G(n,"Z")):G(n,e?"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYY-MM-DD[T]HH:mm:ss.SSSZ")},fn.inspect=function(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var t="moment",e="";this.isLocal()||(t=0===this.utcOffset()?"moment.utc":"moment.parseZone",e="Z");var n="["+t+'("]',i=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY",r=e+'[")]';return this.format(n+i+"-MM-DD[T]HH:mm:ss.SSS"+r)},fn.toJSON=function(){return this.isValid()?this.toISOString():null},fn.toString=function(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")},fn.unix=function(){return Math.floor(this.valueOf()/1e3)},fn.valueOf=function(){return this._d.valueOf()-6e4*(this._offset||0)},fn.creationData=function(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}},fn.year=Ot,fn.isLeapYear=function(){return Tt(this.year())},fn.weekYear=function(t){return an.call(this,t,this.week(),this.weekday(),this.localeData()._week.dow,this.localeData()._week.doy)},fn.isoWeekYear=function(t){return an.call(this,t,this.isoWeek(),this.isoWeekday(),1,4)},fn.quarter=fn.quarters=function(t){return null==t?Math.ceil((this.month()+1)/3):this.month(3*(t-1)+this.month()%3)},fn.month=Xt,fn.daysInMonth=function(){return Nt(this.year(),this.month())},fn.week=fn.weeks=function(t){var e=this.localeData().week(this);return null==t?e:this.add(7*(t-e),"d")},fn.isoWeek=fn.isoWeeks=function(t){var e=Gt(this,1,4).week;return null==t?e:this.add(7*(t-e),"d")},fn.weeksInYear=function(){var t=this.localeData()._week;return Ft(this.year(),t.dow,t.doy)},fn.isoWeeksInYear=function(){return Ft(this.year(),1,4)},fn.date=on,fn.day=fn.days=function(t){if(!this.isValid())return null!=t?this:NaN;var e=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=t?(t=function(t,e){return"string"!=typeof t?t:isNaN(t)?"number"==typeof(t=e.weekdaysParse(t))?t:null:parseInt(t,10)}(t,this.localeData()),this.add(t-e,"d")):e},fn.weekday=function(t){if(!this.isValid())return null!=t?this:NaN;var e=(this.day()+7-this.localeData()._week.dow)%7;return null==t?e:this.add(t-e,"d")},fn.isoWeekday=function(t){if(!this.isValid())return null!=t?this:NaN;if(null!=t){var e=function(t,e){return"string"==typeof t?e.weekdaysParse(t)%7||7:isNaN(t)?null:t}(t,this.localeData());return this.day(this.day()%7?e:e-7)}return this.day()||7},fn.dayOfYear=function(t){var e=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==t?e:this.add(t-e,"d")},fn.hour=fn.hours=re,fn.minute=fn.minutes=sn,fn.second=fn.seconds=un,fn.millisecond=fn.milliseconds=ln,fn.utcOffset=function(t,e,n){var i,a=this._offset||0;if(!this.isValid())return null!=t?this:NaN;if(null!=t){if("string"==typeof t){if(null===(t=Be(st,t)))return this}else Math.abs(t)<16&&!n&&(t*=60);return!this._isUTC&&e&&(i=Re(this)),this._offset=t,this._isUTC=!0,null!=i&&this.add(i,"m"),a!==t&&(!e||this._changeInProgress?Ke(this,Fe(t-a,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,r.updateOffset(this,!0),this._changeInProgress=null)),this}return this._isUTC?a:Re(this)},fn.utc=function(t){return this.utcOffset(0,t)},fn.local=function(t){return this._isUTC&&(this.utcOffset(0,t),this._isUTC=!1,t&&this.subtract(Re(this),"m")),this},fn.parseZone=function(){if(null!=this._tzm)this.utcOffset(this._tzm,!1,!0);else if("string"==typeof this._i){var t=Be(ot,this._i);null!=t?this.utcOffset(t):this.utcOffset(0,!0)}return this},fn.hasAlignedHourOffset=function(t){return!!this.isValid()&&(t=t?Ye(t).utcOffset():0,(this.utcOffset()-t)%60==0)},fn.isDST=function(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()},fn.isLocal=function(){return!!this.isValid()&&!this._isUTC},fn.isUtcOffset=function(){return!!this.isValid()&&this._isUTC},fn.isUtc=je,fn.isUTC=je,fn.zoneAbbr=function(){return this._isUTC?"UTC":""},fn.zoneName=function(){return this._isUTC?"Coordinated Universal Time":""},fn.dates=w("dates accessor is deprecated. Use date instead.",on),fn.months=w("months accessor is deprecated. Use month instead",Xt),fn.years=w("years accessor is deprecated. Use year instead",Ot),fn.zone=w("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",function(t,e){return null!=t?("string"!=typeof t&&(t=-t),this.utcOffset(t,e),this):-this.utcOffset()}),fn.isDSTShifted=w("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",function(){if(!s(this._isDSTShifted))return this._isDSTShifted;var t={};if(g(t,this),(t=Se(t))._a){var e=t._isUTC?h(t._a):Ye(t._a);this._isDSTShifted=this.isValid()&&z(t._a,e.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted});var pn=D.prototype;function _n(t,e,n,i){var r=fe(),a=h().set(i,e);return r[n](a,t)}function Mn(t,e,n){if(c(t)&&(e=t,t=void 0),t=t||"",null!=e)return _n(t,e,n,"month");var i,r=[];for(i=0;i<12;i++)r[i]=_n(t,i,n,"month");return r}function mn(t,e,n,i){"boolean"==typeof t?(c(e)&&(n=e,e=void 0),e=e||""):(n=e=t,t=!1,c(e)&&(n=e,e=void 0),e=e||"");var r,a=fe(),o=t?a._week.dow:0;if(null!=n)return _n(e,(n+o)%7,i,"day");var s=[];for(r=0;r<7;r++)s[r]=_n(e,(r+o)%7,i,"day");return s}pn.calendar=function(t,e,n){var i=this._calendar[t]||this._calendar.sameElse;return Y(i)?i.call(e,n):i},pn.longDateFormat=function(t){var e=this._longDateFormat[t],n=this._longDateFormat[t.toUpperCase()];return e||!n?e:(this._longDateFormat[t]=n.replace(/MMMM|MM|DD|dddd/g,function(t){return t.slice(1)}),this._longDateFormat[t])},pn.invalidDate=function(){return this._invalidDate},pn.ordinal=function(t){return this._ordinal.replace("%d",t)},pn.preparse=hn,pn.postformat=hn,pn.relativeTime=function(t,e,n,i){var r=this._relativeTime[n];return Y(r)?r(t,e,n,i):r.replace(/%d/i,t)},pn.pastFuture=function(t,e){var n=this._relativeTime[t>0?"future":"past"];return Y(n)?n(e):n.replace(/%s/i,e)},pn.set=function(t){var e,n;for(n in t)Y(e=t[n])?this[n]=e:this["_"+n]=e;this._config=t,this._dayOfMonthOrdinalParseLenient=new RegExp((this._dayOfMonthOrdinalParse.source||this._ordinalParse.source)+"|"+/\d{1,2}/.source)},pn.months=function(t,e){return t?a(this._months)?this._months[t.month()]:this._months[(this._months.isFormat||qt).test(e)?"format":"standalone"][t.month()]:a(this._months)?this._months:this._months.standalone},pn.monthsShort=function(t,e){return t?a(this._monthsShort)?this._monthsShort[t.month()]:this._monthsShort[qt.test(e)?"format":"standalone"][t.month()]:a(this._monthsShort)?this._monthsShort:this._monthsShort.standalone},pn.monthsParse=function(t,e,n){var i,r,a;if(this._monthsParseExact)return function(t,e,n){var i,r,a,o=t.toLocaleLowerCase();if(!this._monthsParse)for(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[],i=0;i<12;++i)a=h([2e3,i]),this._shortMonthsParse[i]=this.monthsShort(a,"").toLocaleLowerCase(),this._longMonthsParse[i]=this.months(a,"").toLocaleLowerCase();return n?"MMM"===e?-1!==(r=St.call(this._shortMonthsParse,o))?r:null:-1!==(r=St.call(this._longMonthsParse,o))?r:null:"MMM"===e?-1!==(r=St.call(this._shortMonthsParse,o))?r:-1!==(r=St.call(this._longMonthsParse,o))?r:null:-1!==(r=St.call(this._longMonthsParse,o))?r:-1!==(r=St.call(this._shortMonthsParse,o))?r:null}.call(this,t,e,n);for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),i=0;i<12;i++){if(r=h([2e3,i]),n&&!this._longMonthsParse[i]&&(this._longMonthsParse[i]=new RegExp("^"+this.months(r,"").replace(".","")+"$","i"),this._shortMonthsParse[i]=new RegExp("^"+this.monthsShort(r,"").replace(".","")+"$","i")),n||this._monthsParse[i]||(a="^"+this.months(r,"")+"|^"+this.monthsShort(r,""),this._monthsParse[i]=new RegExp(a.replace(".",""),"i")),n&&"MMMM"===e&&this._longMonthsParse[i].test(t))return i;if(n&&"MMM"===e&&this._shortMonthsParse[i].test(t))return i;if(!n&&this._monthsParse[i].test(t))return i}},pn.monthsRegex=function(t){return this._monthsParseExact?(l(this,"_monthsRegex")||Ht.call(this),t?this._monthsStrictRegex:this._monthsRegex):(l(this,"_monthsRegex")||(this._monthsRegex=Bt),this._monthsStrictRegex&&t?this._monthsStrictRegex:this._monthsRegex)},pn.monthsShortRegex=function(t){return this._monthsParseExact?(l(this,"_monthsRegex")||Ht.call(this),t?this._monthsShortStrictRegex:this._monthsShortRegex):(l(this,"_monthsShortRegex")||(this._monthsShortRegex=Ct),this._monthsShortStrictRegex&&t?this._monthsShortStrictRegex:this._monthsShortRegex)},pn.week=function(t){return Gt(t,this._week.dow,this._week.doy).week},pn.firstDayOfYear=function(){return this._week.doy},pn.firstDayOfWeek=function(){return this._week.dow},pn.weekdays=function(t,e){return t?a(this._weekdays)?this._weekdays[t.day()]:this._weekdays[this._weekdays.isFormat.test(e)?"format":"standalone"][t.day()]:a(this._weekdays)?this._weekdays:this._weekdays.standalone},pn.weekdaysMin=function(t){return t?this._weekdaysMin[t.day()]:this._weekdaysMin},pn.weekdaysShort=function(t){return t?this._weekdaysShort[t.day()]:this._weekdaysShort},pn.weekdaysParse=function(t,e,n){var i,r,a;if(this._weekdaysParseExact)return function(t,e,n){var i,r,a,o=t.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],i=0;i<7;++i)a=h([2e3,1]).day(i),this._minWeekdaysParse[i]=this.weekdaysMin(a,"").toLocaleLowerCase(),this._shortWeekdaysParse[i]=this.weekdaysShort(a,"").toLocaleLowerCase(),this._weekdaysParse[i]=this.weekdays(a,"").toLocaleLowerCase();return n?"dddd"===e?-1!==(r=St.call(this._weekdaysParse,o))?r:null:"ddd"===e?-1!==(r=St.call(this._shortWeekdaysParse,o))?r:null:-1!==(r=St.call(this._minWeekdaysParse,o))?r:null:"dddd"===e?-1!==(r=St.call(this._weekdaysParse,o))?r:-1!==(r=St.call(this._shortWeekdaysParse,o))?r:-1!==(r=St.call(this._minWeekdaysParse,o))?r:null:"ddd"===e?-1!==(r=St.call(this._shortWeekdaysParse,o))?r:-1!==(r=St.call(this._weekdaysParse,o))?r:-1!==(r=St.call(this._minWeekdaysParse,o))?r:null:-1!==(r=St.call(this._minWeekdaysParse,o))?r:-1!==(r=St.call(this._weekdaysParse,o))?r:-1!==(r=St.call(this._shortWeekdaysParse,o))?r:null}.call(this,t,e,n);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),i=0;i<7;i++){if(r=h([2e3,1]).day(i),n&&!this._fullWeekdaysParse[i]&&(this._fullWeekdaysParse[i]=new RegExp("^"+this.weekdays(r,"").replace(".","\\.?")+"$","i"),this._shortWeekdaysParse[i]=new RegExp("^"+this.weekdaysShort(r,"").replace(".","\\.?")+"$","i"),this._minWeekdaysParse[i]=new RegExp("^"+this.weekdaysMin(r,"").replace(".","\\.?")+"$","i")),this._weekdaysParse[i]||(a="^"+this.weekdays(r,"")+"|^"+this.weekdaysShort(r,"")+"|^"+this.weekdaysMin(r,""),this._weekdaysParse[i]=new RegExp(a.replace(".",""),"i")),n&&"dddd"===e&&this._fullWeekdaysParse[i].test(t))return i;if(n&&"ddd"===e&&this._shortWeekdaysParse[i].test(t))return i;if(n&&"dd"===e&&this._minWeekdaysParse[i].test(t))return i;if(!n&&this._weekdaysParse[i].test(t))return i}},pn.weekdaysRegex=function(t){return this._weekdaysParseExact?(l(this,"_weekdaysRegex")||$t.call(this),t?this._weekdaysStrictRegex:this._weekdaysRegex):(l(this,"_weekdaysRegex")||(this._weekdaysRegex=Kt),this._weekdaysStrictRegex&&t?this._weekdaysStrictRegex:this._weekdaysRegex)},pn.weekdaysShortRegex=function(t){return this._weekdaysParseExact?(l(this,"_weekdaysRegex")||$t.call(this),t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(l(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=Qt),this._weekdaysShortStrictRegex&&t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)},pn.weekdaysMinRegex=function(t){return this._weekdaysParseExact?(l(this,"_weekdaysRegex")||$t.call(this),t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(l(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=Zt),this._weekdaysMinStrictRegex&&t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)},pn.isPM=function(t){return"p"===(t+"").toLowerCase().charAt(0)},pn.meridiem=function(t,e,n){return t>11?n?"pm":"PM":n?"am":"AM"},de("en",{dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(t){var e=t%10,n=1===v(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th";return t+n}}),r.lang=w("moment.lang is deprecated. Use moment.locale instead.",de),r.langData=w("moment.langData is deprecated. Use moment.localeData instead.",fe);var gn=Math.abs;function bn(t,e,n,i){var r=Fe(e,n);return t._milliseconds+=i*r._milliseconds,t._days+=i*r._days,t._months+=i*r._months,t._bubble()}function yn(t){return t<0?Math.floor(t):Math.ceil(t)}function Ln(t){return 4800*t/146097}function An(t){return 146097*t/4800}function vn(t){return function(){return this.as(t)}}var zn=vn("ms"),xn=vn("s"),wn=vn("m"),Tn=vn("h"),Sn=vn("d"),On=vn("w"),Yn=vn("M"),kn=vn("y");function Dn(t){return function(){return this.isValid()?this._data[t]:NaN}}var Nn=Dn("milliseconds"),qn=Dn("seconds"),Wn=Dn("minutes"),Pn=Dn("hours"),En=Dn("days"),Xn=Dn("months"),Cn=Dn("years"),Bn=Math.round,Hn={ss:44,s:45,m:45,h:22,d:26,M:11},Rn=Math.abs;function jn(t){return(t>0)-(t<0)||+t}function In(){if(!this.isValid())return this.localeData().invalidDate();var t,e,n=Rn(this._milliseconds)/1e3,i=Rn(this._days),r=Rn(this._months);t=A(n/60),e=A(t/60),n%=60,t%=60;var a=A(r/12),o=r%=12,s=i,c=e,u=t,d=n?n.toFixed(3).replace(/\.?0+$/,""):"",l=this.asSeconds();if(!l)return"P0D";var f=l<0?"-":"",h=jn(this._months)!==jn(l)?"-":"",p=jn(this._days)!==jn(l)?"-":"",_=jn(this._milliseconds)!==jn(l)?"-":"";return f+"P"+(a?h+a+"Y":"")+(o?h+o+"M":"")+(s?p+s+"D":"")+(c||u||d?"T":"")+(c?_+c+"H":"")+(u?_+u+"M":"")+(d?_+d+"S":"")}var Gn=We.prototype;return Gn.isValid=function(){return this._isValid},Gn.abs=function(){var t=this._data;return this._milliseconds=gn(this._milliseconds),this._days=gn(this._days),this._months=gn(this._months),t.milliseconds=gn(t.milliseconds),t.seconds=gn(t.seconds),t.minutes=gn(t.minutes),t.hours=gn(t.hours),t.months=gn(t.months),t.years=gn(t.years),this},Gn.add=function(t,e){return bn(this,t,e,1)},Gn.subtract=function(t,e){return bn(this,t,e,-1)},Gn.as=function(t){if(!this.isValid())return NaN;var e,n,i=this._milliseconds;if("month"===(t=W(t))||"year"===t)return e=this._days+i/864e5,n=this._months+Ln(e),"month"===t?n:n/12;switch(e=this._days+Math.round(An(this._months)),t){case"week":return e/7+i/6048e5;case"day":return e+i/864e5;case"hour":return 24*e+i/36e5;case"minute":return 1440*e+i/6e4;case"second":return 86400*e+i/1e3;case"millisecond":return Math.floor(864e5*e)+i;default:throw new Error("Unknown unit "+t)}},Gn.asMilliseconds=zn,Gn.asSeconds=xn,Gn.asMinutes=wn,Gn.asHours=Tn,Gn.asDays=Sn,Gn.asWeeks=On,Gn.asMonths=Yn,Gn.asYears=kn,Gn.valueOf=function(){return this.isValid()?this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*v(this._months/12):NaN},Gn._bubble=function(){var t,e,n,i,r,a=this._milliseconds,o=this._days,s=this._months,c=this._data;return a>=0&&o>=0&&s>=0||a<=0&&o<=0&&s<=0||(a+=864e5*yn(An(s)+o),o=0,s=0),c.milliseconds=a%1e3,t=A(a/1e3),c.seconds=t%60,e=A(t/60),c.minutes=e%60,n=A(e/60),c.hours=n%24,o+=A(n/24),r=A(Ln(o)),s+=r,o-=yn(An(r)),i=A(s/12),s%=12,c.days=o,c.months=s,c.years=i,this},Gn.clone=function(){return Fe(this)},Gn.get=function(t){return t=W(t),this.isValid()?this[t+"s"]():NaN},Gn.milliseconds=Nn,Gn.seconds=qn,Gn.minutes=Wn,Gn.hours=Pn,Gn.days=En,Gn.weeks=function(){return A(this.days()/7)},Gn.months=Xn,Gn.years=Cn,Gn.humanize=function(t){if(!this.isValid())return this.localeData().invalidDate();var e=this.localeData(),n=function(t,e,n){var i=Fe(t).abs(),r=Bn(i.as("s")),a=Bn(i.as("m")),o=Bn(i.as("h")),s=Bn(i.as("d")),c=Bn(i.as("M")),u=Bn(i.as("y")),d=r<=Hn.ss&&["s",r]||r0,d[4]=n,function(t,e,n,i,r){return r.relativeTime(e||1,!!n,t,i)}.apply(null,d)}(this,!t,e);return t&&(n=e.pastFuture(+this,n)),e.postformat(n)},Gn.toISOString=In,Gn.toString=In,Gn.toJSON=In,Gn.locale=tn,Gn.localeData=nn,Gn.toIsoString=w("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",In),Gn.lang=en,I("X",0,0,"unix"),I("x",0,0,"valueOf"),dt("x",at),dt("X",/[+-]?\d+(\.\d{1,3})?/),pt("X",function(t,e,n){n._d=new Date(1e3*parseFloat(t,10))}),pt("x",function(t,e,n){n._d=new Date(v(t))}),r.version="2.22.2",e=Ye,r.fn=fn,r.min=function(){return Ne("isBefore",[].slice.call(arguments,0))},r.max=function(){return Ne("isAfter",[].slice.call(arguments,0))},r.now=function(){return Date.now?Date.now():+new Date},r.utc=h,r.unix=function(t){return Ye(1e3*t)},r.months=function(t,e){return Mn(t,e,"months")},r.isDate=u,r.locale=de,r.invalid=M,r.duration=Fe,r.isMoment=L,r.weekdays=function(t,e,n){return mn(t,e,n,"weekdays")},r.parseZone=function(){return Ye.apply(null,arguments).parseZone()},r.localeData=fe,r.isDuration=Pe,r.monthsShort=function(t,e){return Mn(t,e,"monthsShort")},r.weekdaysMin=function(t,e,n){return mn(t,e,n,"weekdaysMin")},r.defineLocale=le,r.updateLocale=function(t,e){if(null!=e){var n,i,r=ae;null!=(i=ue(t))&&(r=i._config),e=k(r,e),(n=new D(e)).parentLocale=oe[t],oe[t]=n,de(t)}else null!=oe[t]&&(null!=oe[t].parentLocale?oe[t]=oe[t].parentLocale:null!=oe[t]&&delete oe[t]);return oe[t]},r.locales=function(){return T(oe)},r.weekdaysShort=function(t,e,n){return mn(t,e,n,"weekdaysShort")},r.normalizeUnits=W,r.relativeTimeRounding=function(t){return void 0===t?Bn:"function"==typeof t&&(Bn=t,!0)},r.relativeTimeThreshold=function(t,e){return void 0!==Hn[t]&&(void 0===e?Hn[t]:(Hn[t]=e,"s"===t&&(Hn.ss=e-1),!0))},r.calendarFormat=function(t,e){var n=t.diff(e,"days",!0);return n<-6?"sameElse":n<-1?"lastWeek":n<0?"lastDay":n<1?"sameDay":n<2?"nextDay":n<7?"nextWeek":"sameElse"},r.prototype=fn,r.HTML5_FMT={DATETIME_LOCAL:"YYYY-MM-DDTHH:mm",DATETIME_LOCAL_SECONDS:"YYYY-MM-DDTHH:mm:ss",DATETIME_LOCAL_MS:"YYYY-MM-DDTHH:mm:ss.SSS",DATE:"YYYY-MM-DD",TIME:"HH:mm",TIME_SECONDS:"HH:mm:ss",TIME_MS:"HH:mm:ss.SSS",WEEK:"YYYY-[W]WW",MONTH:"YYYY-MM"},r}()}).call(this,n(139)(t))},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.each=function(t,e,n){var i;if(!t)return 0;if(n=n||t,t instanceof Array){for(i=0;i]/},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.extend=function(t){for(var e=1;ee?1:t>=e?0:NaN},r=function(t){var e;return 1===t.length&&(e=t,t=function(t,n){return i(e(t),n)}),{left:function(e,n,i,r){for(null==i&&(i=0),null==r&&(r=e.length);i>>1;t(e[a],n)<0?i=a+1:r=a}return i},right:function(e,n,i,r){for(null==i&&(i=0),null==r&&(r=e.length);i>>1;t(e[a],n)>0?r=a:i=a+1}return i}}};var a=r(i),o=a.right,s=a.left,c=o,u=function(t,e){null==e&&(e=d);for(var n=0,i=t.length-1,r=t[0],a=new Array(i<0?0:i);nt?1:e>=t?0:NaN},h=function(t){return null===t?NaN:+t},p=function(t,e){var n,i,r=t.length,a=0,o=-1,s=0,c=0;if(null==e)for(;++o1)return c/(a-1)},_=function(t,e){var n=p(t,e);return n?Math.sqrt(n):n},M=function(t,e){var n,i,r,a=t.length,o=-1;if(null==e){for(;++o=n)for(i=r=n;++on&&(i=n),r=n)for(i=r=n;++on&&(i=n),r0)return[t];if((i=e0)for(t=Math.ceil(t/o),e=Math.floor(e/o),a=new Array(r=Math.ceil(e-t+1));++s=0?(a>=v?10:a>=z?5:a>=x?2:1)*Math.pow(10,r):-Math.pow(10,-r)/(a>=v?10:a>=z?5:a>=x?2:1)}function S(t,e,n){var i=Math.abs(e-t)/Math.max(0,n),r=Math.pow(10,Math.floor(Math.log(i)/Math.LN10)),a=i/r;return a>=v?r*=10:a>=z?r*=5:a>=x&&(r*=2),el;)f.pop(),--h;var p,_=new Array(h+1);for(r=0;r<=h;++r)(p=_[r]=[]).x0=r>0?f[r-1]:d,p.x1=r=1)return+n(t[i-1],i-1,t);var i,r=(i-1)*e,a=Math.floor(r),o=+n(t[a],a,t);return o+(+n(t[a+1],a+1,t)-o)*(r-a)}},D=function(t,e,n){return t=b.call(t,h).sort(i),Math.ceil((n-e)/(2*(k(t,.75)-k(t,.25))*Math.pow(t.length,-1/3)))},N=function(t,e,n){return Math.ceil((n-e)/(3.5*_(t)*Math.pow(t.length,-1/3)))},q=function(t,e){var n,i,r=t.length,a=-1;if(null==e){for(;++a=n)for(i=n;++ai&&(i=n)}else for(;++a=n)for(i=n;++ai&&(i=n);return i},W=function(t,e){var n,i=t.length,r=i,a=-1,o=0;if(null==e)for(;++a=0;)for(e=(i=t[r]).length;--e>=0;)n[--o]=i[e];return n},X=function(t,e){var n,i,r=t.length,a=-1;if(null==e){for(;++a=n)for(i=n;++an&&(i=n)}else for(;++a=n)for(i=n;++an&&(i=n);return i},C=function(t,e){for(var n=e.length,i=new Array(n);n--;)i[n]=t[e[n]];return i},B=function(t,e){if(n=t.length){var n,r,a=0,o=0,s=t[o];for(null==e&&(e=i);++a=0&&(e=t.slice(n+1),t=t.slice(0,n)),t&&!i.hasOwnProperty(t))throw new Error("unknown type: "+t);return{type:t,name:e}})),o=-1,s=a.length;if(!(arguments.length<2)){if(null!=e&&"function"!=typeof e)throw new Error("invalid callback: "+e);for(;++o0)for(var n,i,r=new Array(n),a=0;a=0&&"xmlns"!==(e=t.slice(0,n))&&(t=t.slice(n+1)),pt.hasOwnProperty(e)?{space:pt[e],local:t}:t};var Mt=function(t){var e=_t(t);return(e.local?function(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}:function(t){return function(){var e=this.ownerDocument,n=this.namespaceURI;return n===ht&&e.documentElement.namespaceURI===ht?e.createElement(t):e.createElementNS(n,t)}})(e)};function mt(){}var gt=function(t){return null==t?mt:function(){return this.querySelector(t)}};function bt(){return[]}var yt=function(t){return null==t?bt:function(){return this.querySelectorAll(t)}},Lt=function(t){return function(){return this.matches(t)}};if("undefined"!=typeof document){var At=document.documentElement;if(!At.matches){var vt=At.webkitMatchesSelector||At.msMatchesSelector||At.mozMatchesSelector||At.oMatchesSelector;Lt=function(t){return function(){return vt.call(this,t)}}}}var zt=Lt,xt=function(t){return new Array(t.length)};function wt(t,e){this.ownerDocument=t.ownerDocument,this.namespaceURI=t.namespaceURI,this._next=null,this._parent=t,this.__data__=e}wt.prototype={constructor:wt,appendChild:function(t){return this._parent.insertBefore(t,this._next)},insertBefore:function(t,e){return this._parent.insertBefore(t,e)},querySelector:function(t){return this._parent.querySelector(t)},querySelectorAll:function(t){return this._parent.querySelectorAll(t)}};var Tt="$";function St(t,e,n,i,r,a){for(var o,s=0,c=e.length,u=a.length;se?1:t>=e?0:NaN}var kt=function(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView};function Dt(t,e){return t.style.getPropertyValue(e)||kt(t).getComputedStyle(t,null).getPropertyValue(e)}function Nt(t){return t.trim().split(/^|\s+/)}function qt(t){return t.classList||new Wt(t)}function Wt(t){this._node=t,this._names=Nt(t.getAttribute("class")||"")}function Pt(t,e){for(var n=qt(t),i=-1,r=e.length;++i=0&&(this._names.splice(e,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};function Xt(){this.textContent=""}function Ct(){this.innerHTML=""}function Bt(){this.nextSibling&&this.parentNode.appendChild(this)}function Ht(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function Rt(){return null}function jt(){var t=this.parentNode;t&&t.removeChild(this)}function It(){return this.parentNode.insertBefore(this.cloneNode(!1),this.nextSibling)}function Gt(){return this.parentNode.insertBefore(this.cloneNode(!0),this.nextSibling)}var Ft={},Vt=null;"undefined"!=typeof document&&("onmouseenter"in document.documentElement||(Ft={mouseenter:"mouseover",mouseleave:"mouseout"}));function Ut(t,e,n){return t=Jt(t,e,n),function(e){var n=e.relatedTarget;n&&(n===this||8&n.compareDocumentPosition(this))||t.call(this,e)}}function Jt(t,e,n){return function(i){var r=Vt;Vt=i;try{t.call(this,this.__data__,e,n)}finally{Vt=r}}}function Kt(t){return function(){var e=this.__on;if(e){for(var n,i=0,r=-1,a=e.length;i=L&&(L=y+1);!(b=m[L])&&++L<_;);g._next=b||null}}return(s=new ee(s,r))._enter=c,s._exit=u,s},enter:function(){return new ee(this._enter||this._groups.map(xt),this._parents)},exit:function(){return new ee(this._exit||this._groups.map(xt),this._parents)},merge:function(t){for(var e=this._groups,n=t._groups,i=e.length,r=n.length,a=Math.min(i,r),o=new Array(i),s=0;s=0;)(i=r[a])&&(o&&o!==i.nextSibling&&o.parentNode.insertBefore(i,o),o=i);return this},sort:function(t){function e(e,n){return e&&n?t(e.__data__,n.__data__):!e-!n}t||(t=Yt);for(var n=this._groups,i=n.length,r=new Array(i),a=0;a1?this.each((null==e?function(t){return function(){this.style.removeProperty(t)}}:"function"==typeof e?function(t,e,n){return function(){var i=e.apply(this,arguments);null==i?this.style.removeProperty(t):this.style.setProperty(t,i,n)}}:function(t,e,n){return function(){this.style.setProperty(t,e,n)}})(t,e,null==n?"":n)):Dt(this.node(),t)},property:function(t,e){return arguments.length>1?this.each((null==e?function(t){return function(){delete this[t]}}:"function"==typeof e?function(t,e){return function(){var n=e.apply(this,arguments);null==n?delete this[t]:this[t]=n}}:function(t,e){return function(){this[t]=e}})(t,e)):this.node()[t]},classed:function(t,e){var n=Nt(t+"");if(arguments.length<2){for(var i=qt(this.node()),r=-1,a=n.length;++r=0&&(e=t.slice(n+1),t=t.slice(0,n)),{type:t,name:e}})}(t+""),o=a.length;if(!(arguments.length<2)){for(s=e?Qt:Kt,null==n&&(n=!1),i=0;il}c.mouse("drag")}function _(){re(Vt.view).on("mousemove.drag mouseup.drag",null),ge(Vt.view,n),Me(),c.mouse("end")}function M(){if(r.apply(this,arguments)){var t,e,n=Vt.changedTouches,i=a.apply(this,arguments),o=n.length;for(t=0;t>8&15|e>>4&240,e>>4&15|240&e,(15&e)<<4|15&e,1):(e=Ne.exec(t))?Re(parseInt(e[1],16)):(e=qe.exec(t))?new Fe(e[1],e[2],e[3],1):(e=We.exec(t))?new Fe(255*e[1]/100,255*e[2]/100,255*e[3]/100,1):(e=Pe.exec(t))?je(e[1],e[2],e[3],e[4]):(e=Ee.exec(t))?je(255*e[1]/100,255*e[2]/100,255*e[3]/100,e[4]):(e=Xe.exec(t))?Ue(e[1],e[2]/100,e[3]/100,1):(e=Ce.exec(t))?Ue(e[1],e[2]/100,e[3]/100,e[4]):Be.hasOwnProperty(t)?Re(Be[t]):"transparent"===t?new Fe(NaN,NaN,NaN,0):null}function Re(t){return new Fe(t>>16&255,t>>8&255,255&t,1)}function je(t,e,n,i){return i<=0&&(t=e=n=NaN),new Fe(t,e,n,i)}function Ie(t){return t instanceof Se||(t=He(t)),t?new Fe((t=t.rgb()).r,t.g,t.b,t.opacity):new Fe}function Ge(t,e,n,i){return 1===arguments.length?Ie(t):new Fe(t,e,n,null==i?1:i)}function Fe(t,e,n,i){this.r=+t,this.g=+e,this.b=+n,this.opacity=+i}function Ve(t){return((t=Math.max(0,Math.min(255,Math.round(t)||0)))<16?"0":"")+t.toString(16)}function Ue(t,e,n,i){return i<=0?t=e=n=NaN:n<=0||n>=1?t=e=NaN:e<=0&&(t=NaN),new Ke(t,e,n,i)}function Je(t,e,n,i){return 1===arguments.length?function(t){if(t instanceof Ke)return new Ke(t.h,t.s,t.l,t.opacity);if(t instanceof Se||(t=He(t)),!t)return new Ke;if(t instanceof Ke)return t;var e=(t=t.rgb()).r/255,n=t.g/255,i=t.b/255,r=Math.min(e,n,i),a=Math.max(e,n,i),o=NaN,s=a-r,c=(a+r)/2;return s?(o=e===a?(n-i)/s+6*(n0&&c<1?0:o,new Ke(o,s,c,t.opacity)}(t):new Ke(t,e,n,null==i?1:i)}function Ke(t,e,n,i){this.h=+t,this.s=+e,this.l=+n,this.opacity=+i}function Qe(t,e,n){return 255*(t<60?e+(n-e)*t/60:t<180?n:t<240?e+(n-e)*(240-t)/60:e)}we(Se,He,{displayable:function(){return this.rgb().displayable()},hex:function(){return this.rgb().hex()},toString:function(){return this.rgb()+""}}),we(Fe,Ge,Te(Se,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new Fe(this.r*t,this.g*t,this.b*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new Fe(this.r*t,this.g*t,this.b*t,this.opacity)},rgb:function(){return this},displayable:function(){return 0<=this.r&&this.r<=255&&0<=this.g&&this.g<=255&&0<=this.b&&this.b<=255&&0<=this.opacity&&this.opacity<=1},hex:function(){return"#"+Ve(this.r)+Ve(this.g)+Ve(this.b)},toString:function(){var t=this.opacity;return(1===(t=isNaN(t)?1:Math.max(0,Math.min(1,t)))?"rgb(":"rgba(")+Math.max(0,Math.min(255,Math.round(this.r)||0))+", "+Math.max(0,Math.min(255,Math.round(this.g)||0))+", "+Math.max(0,Math.min(255,Math.round(this.b)||0))+(1===t?")":", "+t+")")}})),we(Ke,Je,Te(Se,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new Ke(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new Ke(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=this.h%360+360*(this.h<0),e=isNaN(t)||isNaN(this.s)?0:this.s,n=this.l,i=n+(n<.5?n:1-n)*e,r=2*n-i;return new Fe(Qe(t>=240?t-240:t+120,r,i),Qe(t,r,i),Qe(t<120?t+240:t-120,r,i),this.opacity)},displayable:function(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1}}));var Ze=Math.PI/180,$e=180/Math.PI,tn=.96422,en=1,nn=.82521,rn=4/29,an=6/29,on=3*an*an,sn=an*an*an;function cn(t){if(t instanceof ln)return new ln(t.l,t.a,t.b,t.opacity);if(t instanceof bn){if(isNaN(t.h))return new ln(t.l,0,0,t.opacity);var e=t.h*Ze;return new ln(t.l,Math.cos(e)*t.c,Math.sin(e)*t.c,t.opacity)}t instanceof Fe||(t=Ie(t));var n,i,r=_n(t.r),a=_n(t.g),o=_n(t.b),s=fn((.2225045*r+.7168786*a+.0606169*o)/en);return r===a&&a===o?n=i=s:(n=fn((.4360747*r+.3850649*a+.1430804*o)/tn),i=fn((.0139322*r+.0971045*a+.7141733*o)/nn)),new ln(116*s-16,500*(n-s),200*(s-i),t.opacity)}function un(t,e){return new ln(t,0,0,null==e?1:e)}function dn(t,e,n,i){return 1===arguments.length?cn(t):new ln(t,e,n,null==i?1:i)}function ln(t,e,n,i){this.l=+t,this.a=+e,this.b=+n,this.opacity=+i}function fn(t){return t>sn?Math.pow(t,1/3):t/on+rn}function hn(t){return t>an?t*t*t:on*(t-rn)}function pn(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function _n(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function Mn(t){if(t instanceof bn)return new bn(t.h,t.c,t.l,t.opacity);if(t instanceof ln||(t=cn(t)),0===t.a&&0===t.b)return new bn(NaN,0,t.l,t.opacity);var e=Math.atan2(t.b,t.a)*$e;return new bn(e<0?e+360:e,Math.sqrt(t.a*t.a+t.b*t.b),t.l,t.opacity)}function mn(t,e,n,i){return 1===arguments.length?Mn(t):new bn(n,e,t,null==i?1:i)}function gn(t,e,n,i){return 1===arguments.length?Mn(t):new bn(t,e,n,null==i?1:i)}function bn(t,e,n,i){this.h=+t,this.c=+e,this.l=+n,this.opacity=+i}we(ln,dn,Te(Se,{brighter:function(t){return new ln(this.l+18*(null==t?1:t),this.a,this.b,this.opacity)},darker:function(t){return new ln(this.l-18*(null==t?1:t),this.a,this.b,this.opacity)},rgb:function(){var t=(this.l+16)/116,e=isNaN(this.a)?t:t+this.a/500,n=isNaN(this.b)?t:t-this.b/200;return new Fe(pn(3.1338561*(e=tn*hn(e))-1.6168667*(t=en*hn(t))-.4906146*(n=nn*hn(n))),pn(-.9787684*e+1.9161415*t+.033454*n),pn(.0719453*e-.2289914*t+1.4052427*n),this.opacity)}})),we(bn,gn,Te(Se,{brighter:function(t){return new bn(this.h,this.c,this.l+18*(null==t?1:t),this.opacity)},darker:function(t){return new bn(this.h,this.c,this.l-18*(null==t?1:t),this.opacity)},rgb:function(){return cn(this).rgb()}}));var yn=-.29227,Ln=-.90649,An=1.97294,vn=An*Ln,zn=1.78277*An,xn=1.78277*yn- -.14861*Ln;function wn(t,e,n,i){return 1===arguments.length?function(t){if(t instanceof Tn)return new Tn(t.h,t.s,t.l,t.opacity);t instanceof Fe||(t=Ie(t));var e=t.r/255,n=t.g/255,i=t.b/255,r=(xn*i+vn*e-zn*n)/(xn+vn-zn),a=i-r,o=(An*(n-r)-yn*a)/Ln,s=Math.sqrt(o*o+a*a)/(An*r*(1-r)),c=s?Math.atan2(o,a)*$e-120:NaN;return new Tn(c<0?c+360:c,s,r,t.opacity)}(t):new Tn(t,e,n,null==i?1:i)}function Tn(t,e,n,i){this.h=+t,this.s=+e,this.l=+n,this.opacity=+i}function Sn(t,e,n,i,r){var a=t*t,o=a*t;return((1-3*t+3*a-o)*e+(4-6*a+3*o)*n+(1+3*t+3*a-3*o)*i+o*r)/6}we(Tn,wn,Te(Se,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new Tn(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new Tn(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=isNaN(this.h)?0:(this.h+120)*Ze,e=+this.l,n=isNaN(this.s)?0:this.s*e*(1-e),i=Math.cos(t),r=Math.sin(t);return new Fe(255*(e+n*(-.14861*i+1.78277*r)),255*(e+n*(yn*i+Ln*r)),255*(e+n*(An*i)),this.opacity)}}));var On=function(t){var e=t.length-1;return function(n){var i=n<=0?n=0:n>=1?(n=1,e-1):Math.floor(n*e),r=t[i],a=t[i+1],o=i>0?t[i-1]:2*r-a,s=i180||n<-180?n-360*Math.round(n/360):n):kn(isNaN(t)?e:t)}function qn(t){return 1==(t=+t)?Wn:function(e,n){return n-e?function(t,e,n){return t=Math.pow(t,n),e=Math.pow(e,n)-t,n=1/n,function(i){return Math.pow(t+i*e,n)}}(e,n,t):kn(isNaN(e)?n:e)}}function Wn(t,e){var n=e-t;return n?Dn(t,n):kn(isNaN(t)?e:t)}var Pn=function t(e){var n=qn(e);function i(t,e){var i=n((t=Ge(t)).r,(e=Ge(e)).r),r=n(t.g,e.g),a=n(t.b,e.b),o=Wn(t.opacity,e.opacity);return function(e){return t.r=i(e),t.g=r(e),t.b=a(e),t.opacity=o(e),t+""}}return i.gamma=t,i}(1);function En(t){return function(e){var n,i,r=e.length,a=new Array(r),o=new Array(r),s=new Array(r);for(n=0;na&&(r=e.slice(a,r),s[o]?s[o]+=r:s[++o]=r),(n=n[0])===(i=i[0])?s[o]?s[o]+=i:s[++o]=i:(s[++o]=null,c.push({i:o,x:Rn(n,i)})),a=Gn.lastIndex;return a180?e+=360:e-t>180&&(t+=360),a.push({i:n.push(r(n)+"rotate(",null,i)-2,x:Rn(t,e)})):e&&n.push(r(n)+"rotate("+e+i)}(a.rotate,o.rotate,s,c),function(t,e,n,a){t!==e?a.push({i:n.push(r(n)+"skewX(",null,i)-2,x:Rn(t,e)}):e&&n.push(r(n)+"skewX("+e+i)}(a.skewX,o.skewX,s,c),function(t,e,n,i,a,o){if(t!==n||e!==i){var s=a.push(r(a)+"scale(",null,",",null,")");o.push({i:s-4,x:Rn(t,n)},{i:s-2,x:Rn(e,i)})}else 1===n&&1===i||a.push(r(a)+"scale("+n+","+i+")")}(a.scaleX,a.scaleY,o.scaleX,o.scaleY,s,c),a=o=null,function(t){for(var e,n=-1,i=c.length;++n=0&&e._call.call(null,t),e=e._next;--Ai}function Pi(){Ti=(wi=Oi.now())+Si,Ai=vi=0;try{Wi()}finally{Ai=0,function(){var t,e,n=bi,i=1/0;for(;n;)n._call?(i>n._time&&(i=n._time),t=n,n=n._next):(e=n._next,n._next=null,n=t?t._next=e:bi=e);yi=t,Xi(i)}(),Ti=0}}function Ei(){var t=Oi.now(),e=t-wi;e>xi&&(Si-=e,wi=t)}function Xi(t){Ai||(vi&&(vi=clearTimeout(vi)),t-Ti>24?(t<1/0&&(vi=setTimeout(Pi,t-Oi.now()-Si)),zi&&(zi=clearInterval(zi))):(zi||(wi=Oi.now(),zi=setInterval(Ei,xi)),Ai=1,Yi(Pi)))}Ni.prototype=qi.prototype={constructor:Ni,restart:function(t,e,n){if("function"!=typeof t)throw new TypeError("callback is not a function");n=(null==n?ki():+n)+(null==e?0:+e),this._next||yi===this||(yi?yi._next=this:bi=this,yi=this),this._call=t,this._time=n,Xi()},stop:function(){this._call&&(this._call=null,this._time=1/0,Xi())}};var Ci=function(t,e,n){var i=new Ni;return e=null==e?0:+e,i.restart(function(n){i.stop(),t(n+e)},e,n),i},Bi=function(t,e,n){var i=new Ni,r=e;return null==e?(i.restart(t,e,n),i):(e=+e,n=null==n?ki():+n,i.restart(function a(o){o+=r,i.restart(a,r+=e,n),t(o)},e,n),i)},Hi=ft("start","end","interrupt"),Ri=[],ji=0,Ii=1,Gi=2,Fi=3,Vi=4,Ui=5,Ji=6,Ki=function(t,e,n,i,r,a){var o=t.__transition;if(o){if(n in o)return}else t.__transition={};!function(t,e,n){var i,r=t.__transition;function a(c){var u,d,l,f;if(n.state!==Ii)return s();for(u in r)if((f=r[u]).name===n.name){if(f.state===Fi)return Ci(a);f.state===Vi?(f.state=Ji,f.timer.stop(),f.on.call("interrupt",t,t.__data__,f.index,f.group),delete r[u]):+uji)throw new Error("too late; already scheduled");return n}function Zi(t,e){var n=$i(t,e);if(n.state>Gi)throw new Error("too late; already started");return n}function $i(t,e){var n=t.__transition;if(!n||!(n=n[e]))throw new Error("transition not found");return n}var tr=function(t,e){var n,i,r,a=t.__transition,o=!0;if(a){for(r in e=null==e?null:e+"",a)(n=a[r]).name===e?(i=n.state>Gi&&n.state=0&&(t=t.slice(0,e)),!t||"start"===t})}(e)?Qi:Zi;return function(){var o=a(this,t),s=o.on;s!==i&&(r=(i=s).copy()).on(e,n),o.on=r}}(n,t,e))},attr:function(t,e){var n=_t(t),i="transform"===n?ri:nr;return this.attrTween(t,"function"==typeof e?(n.local?function(t,e,n){var i,r,a;return function(){var o,s=n(this);if(null!=s)return(o=this.getAttributeNS(t.space,t.local))===s?null:o===i&&s===r?a:a=e(i=o,r=s);this.removeAttributeNS(t.space,t.local)}}:function(t,e,n){var i,r,a;return function(){var o,s=n(this);if(null!=s)return(o=this.getAttribute(t))===s?null:o===i&&s===r?a:a=e(i=o,r=s);this.removeAttribute(t)}})(n,i,er(this,"attr."+t,e)):null==e?(n.local?function(t){return function(){this.removeAttributeNS(t.space,t.local)}}:function(t){return function(){this.removeAttribute(t)}})(n):(n.local?function(t,e,n){var i,r;return function(){var a=this.getAttributeNS(t.space,t.local);return a===n?null:a===i?r:r=e(i=a,n)}}:function(t,e,n){var i,r;return function(){var a=this.getAttribute(t);return a===n?null:a===i?r:r=e(i=a,n)}})(n,i,e+""))},attrTween:function(t,e){var n="attr."+t;if(arguments.length<2)return(n=this.tween(n))&&n._value;if(null==e)return this.tween(n,null);if("function"!=typeof e)throw new Error;var i=_t(t);return this.tween(n,(i.local?function(t,e){function n(){var n=this,i=e.apply(n,arguments);return i&&function(e){n.setAttributeNS(t.space,t.local,i(e))}}return n._value=e,n}:function(t,e){function n(){var n=this,i=e.apply(n,arguments);return i&&function(e){n.setAttribute(t,i(e))}}return n._value=e,n})(i,e))},style:function(t,e,n){var i="transform"==(t+="")?ii:nr;return null==e?this.styleTween(t,function(t,e){var n,i,r;return function(){var a=Dt(this,t),o=(this.style.removeProperty(t),Dt(this,t));return a===o?null:a===n&&o===i?r:r=e(n=a,i=o)}}(t,i)).on("end.style."+t,function(t){return function(){this.style.removeProperty(t)}}(t)):this.styleTween(t,"function"==typeof e?function(t,e,n){var i,r,a;return function(){var o=Dt(this,t),s=n(this);return null==s&&(this.style.removeProperty(t),s=Dt(this,t)),o===s?null:o===i&&s===r?a:a=e(i=o,r=s)}}(t,i,er(this,"style."+t,e)):function(t,e,n){var i,r;return function(){var a=Dt(this,t);return a===n?null:a===i?r:r=e(i=a,n)}}(t,i,e+""),n)},styleTween:function(t,e,n){var i="style."+(t+="");if(arguments.length<2)return(i=this.tween(i))&&i._value;if(null==e)return this.tween(i,null);if("function"!=typeof e)throw new Error;return this.tween(i,function(t,e,n){function i(){var i=this,r=e.apply(i,arguments);return r&&function(e){i.style.setProperty(t,r(e),n)}}return i._value=e,i}(t,e,null==n?"":n))},text:function(t){return this.tween("text","function"==typeof t?function(t){return function(){var e=t(this);this.textContent=null==e?"":e}}(er(this,"text",t)):function(t){return function(){this.textContent=t}}(null==t?"":t+""))},remove:function(){return this.on("end.remove",(t=this._id,function(){var e=this.parentNode;for(var n in this.__transition)if(+n!==t)return;e&&e.removeChild(this)}));var t},tween:function(t,e){var n=this._id;if(t+="",arguments.length<2){for(var i,r=$i(this.node(),n).tween,a=0,o=r.length;aIi&&n.name===e)return new ar([[t]],Zr,e,+i);return null},ta=function(t){return function(){return t}},ea=function(t,e,n){this.target=t,this.type=e,this.selection=n};function na(){Vt.stopImmediatePropagation()}var ia=function(){Vt.preventDefault(),Vt.stopImmediatePropagation()},ra={name:"drag"},aa={name:"space"},oa={name:"handle"},sa={name:"center"},ca={name:"x",handles:["e","w"].map(Ma),input:function(t,e){return t&&[[t[0],e[0][1]],[t[1],e[1][1]]]},output:function(t){return t&&[t[0][0],t[1][0]]}},ua={name:"y",handles:["n","s"].map(Ma),input:function(t,e){return t&&[[e[0][0],t[0]],[e[1][0],t[1]]]},output:function(t){return t&&[t[0][1],t[1][1]]}},da={name:"xy",handles:["n","e","s","w","nw","ne","se","sw"].map(Ma),input:function(t){return t},output:function(t){return t}},la={overlay:"crosshair",selection:"move",n:"ns-resize",e:"ew-resize",s:"ns-resize",w:"ew-resize",nw:"nwse-resize",ne:"nesw-resize",se:"nwse-resize",sw:"nesw-resize"},fa={e:"w",w:"e",nw:"ne",ne:"nw",se:"sw",sw:"se"},ha={n:"s",s:"n",nw:"sw",ne:"se",se:"ne",sw:"nw"},pa={overlay:1,selection:1,n:null,e:1,s:null,w:-1,nw:-1,ne:1,se:1,sw:-1},_a={overlay:1,selection:1,n:-1,e:null,s:1,w:null,nw:-1,ne:-1,se:1,sw:1};function Ma(t){return{type:t}}function ma(){return!Vt.button}function ga(){var t=this.ownerSVGElement||this;return[[0,0],[t.width.baseVal.value,t.height.baseVal.value]]}function ba(t){for(;!t.__brush;)if(!(t=t.parentNode))return;return t.__brush}function ya(t){return t[0][0]===t[1][0]||t[0][1]===t[1][1]}function La(t){var e=t.__brush;return e?e.dim.output(e.selection):null}function Aa(){return xa(ca)}function va(){return xa(ua)}var za=function(){return xa(da)};function xa(t){var e,n=ga,i=ma,r=ft(o,"start","brush","end"),a=6;function o(e){var n=e.property("__brush",l).selectAll(".overlay").data([Ma("overlay")]);n.enter().append("rect").attr("class","overlay").attr("pointer-events","all").attr("cursor",la.overlay).merge(n).each(function(){var t=ba(this).extent;re(this).attr("x",t[0][0]).attr("y",t[0][1]).attr("width",t[1][0]-t[0][0]).attr("height",t[1][1]-t[0][1])}),e.selectAll(".selection").data([Ma("selection")]).enter().append("rect").attr("class","selection").attr("cursor",la.selection).attr("fill","#777").attr("fill-opacity",.3).attr("stroke","#fff").attr("shape-rendering","crispEdges");var i=e.selectAll(".handle").data(t.handles,function(t){return t.type});i.exit().remove(),i.enter().append("rect").attr("class",function(t){return"handle handle--"+t.type}).attr("cursor",function(t){return la[t.type]}),e.each(s).attr("fill","none").attr("pointer-events","all").style("-webkit-tap-highlight-color","rgba(0,0,0,0)").on("mousedown.brush touchstart.brush",d)}function s(){var t=re(this),e=ba(this).selection;e?(t.selectAll(".selection").style("display",null).attr("x",e[0][0]).attr("y",e[0][1]).attr("width",e[1][0]-e[0][0]).attr("height",e[1][1]-e[0][1]),t.selectAll(".handle").style("display",null).attr("x",function(t){return"e"===t.type[t.type.length-1]?e[1][0]-a/2:e[0][0]-a/2}).attr("y",function(t){return"s"===t.type[0]?e[1][1]-a/2:e[0][1]-a/2}).attr("width",function(t){return"n"===t.type||"s"===t.type?e[1][0]-e[0][0]+a:a}).attr("height",function(t){return"e"===t.type||"w"===t.type?e[1][1]-e[0][1]+a:a})):t.selectAll(".selection,.handle").style("display","none").attr("x",null).attr("y",null).attr("width",null).attr("height",null)}function c(t,e){return t.__brush.emitter||new u(t,e)}function u(t,e){this.that=t,this.args=e,this.state=t.__brush,this.active=0}function d(){if(Vt.touches){if(Vt.changedTouches.length0&&(n=r-h),A<0?l=f-p:A>0&&(a=o-p),y=aa,W.attr("cursor",la.selection),X());break;default:return}ia()},!0).on("keyup.brush",function(){switch(Vt.keyCode){case 16:Y&&(M=m=Y=!1,X());break;case 18:y===sa&&(L<0?u=d:L>0&&(n=r),A<0?l=f:A>0&&(a=o),y=oa,X());break;case 32:y===aa&&(Vt.altKey?(L&&(u=d-h*L,n=r+h*L),A&&(l=f-p*A,a=o+p*A),y=sa):(L<0?u=d:L>0&&(n=r),A<0?l=f:A>0&&(a=o),y=oa),W.attr("cursor",la[b]),X());break;default:return}ia()},!0).on("mousemove.brush",E,!0).on("mouseup.brush",C,!0);me(Vt.view)}na(),tr(g),s.call(g),N.start()}function E(){var t=le(g);!Y||M||m||(Math.abs(t[0]-D[0])>Math.abs(t[1]-D[1])?m=!0:M=!0),D=t,_=!0,ia(),X()}function X(){var t;switch(h=D[0]-k[0],p=D[1]-k[1],y){case aa:case ra:L&&(h=Math.max(w-n,Math.min(S-u,h)),r=n+h,d=u+h),A&&(p=Math.max(T-a,Math.min(O-l,p)),o=a+p,f=l+p);break;case oa:L<0?(h=Math.max(w-n,Math.min(S-n,h)),r=n+h,d=u):L>0&&(h=Math.max(w-u,Math.min(S-u,h)),r=n,d=u+h),A<0?(p=Math.max(T-a,Math.min(O-a,p)),o=a+p,f=l):A>0&&(p=Math.max(T-l,Math.min(O-l,p)),o=a,f=l+p);break;case sa:L&&(r=Math.max(w,Math.min(S,n-h*L)),d=Math.max(w,Math.min(S,u+h*L))),A&&(o=Math.max(T,Math.min(O,a-p*A)),f=Math.max(T,Math.min(O,l+p*A)))}d1e-6)if(Math.abs(d*s-c*u)>1e-6&&r){var f=n-a,h=i-o,p=s*s+c*c,_=f*f+h*h,M=Math.sqrt(p),m=Math.sqrt(l),g=r*Math.tan((Wa-Math.acos((p+l-_)/(2*M*m)))/2),b=g/m,y=g/M;Math.abs(b-1)>1e-6&&(this._+="L"+(t+b*u)+","+(e+b*d)),this._+="A"+r+","+r+",0,0,"+ +(d*f>u*h)+","+(this._x1=t+y*s)+","+(this._y1=e+y*c)}else this._+="L"+(this._x1=t)+","+(this._y1=e);else;},arc:function(t,e,n,i,r,a){t=+t,e=+e;var o=(n=+n)*Math.cos(i),s=n*Math.sin(i),c=t+o,u=e+s,d=1^a,l=a?i-r:r-i;if(n<0)throw new Error("negative radius: "+n);null===this._x1?this._+="M"+c+","+u:(Math.abs(this._x1-c)>1e-6||Math.abs(this._y1-u)>1e-6)&&(this._+="L"+c+","+u),n&&(l<0&&(l=l%Pa+Pa),l>Ea?this._+="A"+n+","+n+",0,1,"+d+","+(t-o)+","+(e-s)+"A"+n+","+n+",0,1,"+d+","+(this._x1=c)+","+(this._y1=u):l>1e-6&&(this._+="A"+n+","+n+",0,"+ +(l>=Wa)+","+d+","+(this._x1=t+n*Math.cos(r))+","+(this._y1=e+n*Math.sin(r))))},rect:function(t,e,n,i){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)+"h"+ +n+"v"+ +i+"h"+-n+"Z"},toString:function(){return this._}};var Ba=Ca;function Ha(t){return t.source}function Ra(t){return t.target}function ja(t){return t.radius}function Ia(t){return t.startAngle}function Ga(t){return t.endAngle}var Fa=function(){var t=Ha,e=Ra,n=ja,i=Ia,r=Ga,a=null;function o(){var o,s=Na.call(arguments),c=t.apply(this,s),u=e.apply(this,s),d=+n.apply(this,(s[0]=c,s)),l=i.apply(this,s)-Oa,f=r.apply(this,s)-Oa,h=d*wa(l),p=d*Ta(l),_=+n.apply(this,(s[0]=u,s)),M=i.apply(this,s)-Oa,m=r.apply(this,s)-Oa;if(a||(a=o=Ba()),a.moveTo(h,p),a.arc(0,0,d,l,f),l===M&&f===m||(a.quadraticCurveTo(0,0,_*wa(M),_*Ta(M)),a.arc(0,0,_,M,m)),a.quadraticCurveTo(0,0,h,p),a.closePath(),o)return a=null,o+""||null}return o.radius=function(t){return arguments.length?(n="function"==typeof t?t:qa(+t),o):n},o.startAngle=function(t){return arguments.length?(i="function"==typeof t?t:qa(+t),o):i},o.endAngle=function(t){return arguments.length?(r="function"==typeof t?t:qa(+t),o):r},o.source=function(e){return arguments.length?(t=e,o):t},o.target=function(t){return arguments.length?(e=t,o):e},o.context=function(t){return arguments.length?(a=null==t?null:t,o):a},o};function Va(){}function Ua(t,e){var n=new Va;if(t instanceof Va)t.each(function(t,e){n.set(e,t)});else if(Array.isArray(t)){var i,r=-1,a=t.length;if(null==e)for(;++r=i.length)return null!=t&&n.sort(t),null!=e?e(n):n;for(var c,u,d,l=-1,f=n.length,h=i[r++],p=Ja(),_=o();++li.length)return n;var o,s=r[a-1];return null!=e&&a>=i.length?o=n.entries():(o=[],n.each(function(e,n){o.push({key:n,values:t(e,a)})})),null!=s?o.sort(function(t,e){return s(t.key,e.key)}):o}(a(t,0,$a,to),0)},key:function(t){return i.push(t),n},sortKeys:function(t){return r[i.length-1]=t,n},sortValues:function(e){return t=e,n},rollup:function(t){return e=t,n}}};function Qa(){return{}}function Za(t,e,n){t[e]=n}function $a(){return Ja()}function to(t,e,n){t.set(e,n)}function eo(){}var no=Ja.prototype;function io(t,e){var n=new eo;if(t instanceof eo)t.each(function(t){n.add(t)});else if(t){var i=-1,r=t.length;if(null==e)for(;++ii!=h>i&&n<(f-u)*(i-d)/(h-d)+u&&(r=-r)}return r}function _o(t,e,n){var i,r,a,o;return function(t,e,n){return(e[0]-t[0])*(n[1]-t[1])==(n[0]-t[0])*(e[1]-t[1])}(t,e,n)&&(r=t[i=+(t[0]===e[0])],a=n[i],o=e[i],r<=a&&a<=o||o<=a&&a<=r)}var Mo=function(){},mo=[[],[[[1,1.5],[.5,1]]],[[[1.5,1],[1,1.5]]],[[[1.5,1],[.5,1]]],[[[1,.5],[1.5,1]]],[[[1,1.5],[.5,1]],[[1,.5],[1.5,1]]],[[[1,.5],[1,1.5]]],[[[1,.5],[.5,1]]],[[[.5,1],[1,.5]]],[[[1,1.5],[1,.5]]],[[[.5,1],[1,.5]],[[1.5,1],[1,1.5]]],[[[1.5,1],[1,.5]]],[[[.5,1],[1.5,1]]],[[[1,1.5],[1.5,1]]],[[[.5,1],[1,1.5]]],[]],go=function(){var t=1,e=1,n=O,i=s;function r(t){var e=n(t);if(Array.isArray(e))e=e.slice().sort(uo);else{var i=M(t),r=i[0],o=i[1];e=S(r,o,e),e=A(Math.floor(r/e)*e,Math.floor(o/e)*e,e)}return e.map(function(e){return a(t,e)})}function a(n,r){var a=[],s=[];return function(n,i,r){var a,s,c,u,d,l,f=new Array,h=new Array;a=s=-1,u=n[0]>=i,mo[u<<1].forEach(p);for(;++a=i,mo[c|u<<1].forEach(p);mo[u<<0].forEach(p);for(;++s=i,d=n[s*t]>=i,mo[u<<1|d<<2].forEach(p);++a=i,l=d,d=n[s*t+a+1]>=i,mo[c|u<<1|d<<2|l<<3].forEach(p);mo[u|d<<3].forEach(p)}a=-1,d=n[s*t]>=i,mo[d<<2].forEach(p);for(;++a=i,mo[d<<2|l<<3].forEach(p);function p(t){var e,n,i=[t[0][0]+a,t[0][1]+s],c=[t[1][0]+a,t[1][1]+s],u=o(i),d=o(c);(e=h[u])?(n=f[d])?(delete h[e.end],delete f[n.start],e===n?(e.ring.push(c),r(e.ring)):f[e.start]=h[n.end]={start:e.start,end:n.end,ring:e.ring.concat(n.ring)}):(delete h[e.end],e.ring.push(c),h[e.end=d]=e):(e=f[d])?(n=h[u])?(delete f[e.start],delete h[n.end],e===n?(e.ring.push(c),r(e.ring)):f[n.start]=h[e.end]={start:n.start,end:e.end,ring:n.ring.concat(e.ring)}):(delete f[e.start],e.ring.unshift(i),f[e.start=u]=e):f[u]=h[d]={start:u,end:d,ring:[i,c]}}mo[d<<3].forEach(p)}(n,r,function(t){i(t,n,r),lo(t)>0?a.push([t]):s.push(t)}),s.forEach(function(t){for(var e,n=0,i=a.length;n0&&o0&&s0&&a>0))throw new Error("invalid size");return t=i,e=a,r},r.thresholds=function(t){return arguments.length?(n="function"==typeof t?t:Array.isArray(t)?fo(co.call(t)):fo(t),r):n},r.smooth=function(t){return arguments.length?(i=t?s:Mo,r):i===s},r};function bo(t,e,n){for(var i=t.width,r=t.height,a=1+(n<<1),o=0;o=n&&(s>=a&&(c-=t.data[s-a+o*i]),e.data[s-n+o*i]=c/Math.min(s+1,i-1+a-s,a))}function yo(t,e,n){for(var i=t.width,r=t.height,a=1+(n<<1),o=0;o=n&&(s>=a&&(c-=t.data[o+(s-a)*i]),e.data[o+(s-n)*i]=c/Math.min(s+1,r-1+a-s,a))}function Lo(t){return t[0]}function Ao(t){return t[1]}var vo=function(){var t=Lo,e=Ao,n=960,i=500,r=20,a=2,o=3*r,s=n+2*o>>a,c=i+2*o>>a,u=fo(20);function d(n){var i=new Float32Array(s*c),d=new Float32Array(s*c);n.forEach(function(n,r,u){var d=t(n,r,u)+o>>a,l=e(n,r,u)+o>>a;d>=0&&d=0&&l>a),yo({width:s,height:c,data:d},{width:s,height:c,data:i},r>>a),bo({width:s,height:c,data:i},{width:s,height:c,data:d},r>>a),yo({width:s,height:c,data:d},{width:s,height:c,data:i},r>>a),bo({width:s,height:c,data:i},{width:s,height:c,data:d},r>>a),yo({width:s,height:c,data:d},{width:s,height:c,data:i},r>>a);var f=u(i);if(!Array.isArray(f)){var h=q(i);f=S(0,h,f),(f=A(0,Math.floor(h/f)*f,f)).shift()}return go().thresholds(f).size([s,c])(i).map(l)}function l(t){return t.value*=Math.pow(2,-2*a),t.coordinates.forEach(f),t}function f(t){t.forEach(h)}function h(t){t.forEach(p)}function p(t){t[0]=t[0]*Math.pow(2,a)-o,t[1]=t[1]*Math.pow(2,a)-o}function _(){return s=n+2*(o=3*r)>>a,c=i+2*o>>a,d}return d.x=function(e){return arguments.length?(t="function"==typeof e?e:fo(+e),d):t},d.y=function(t){return arguments.length?(e="function"==typeof t?t:fo(+t),d):e},d.size=function(t){if(!arguments.length)return[n,i];var e=Math.ceil(t[0]),r=Math.ceil(t[1]);if(!(e>=0||e>=0))throw new Error("invalid size");return n=e,i=r,_()},d.cellSize=function(t){if(!arguments.length)return 1<=1))throw new Error("invalid cell size");return a=Math.floor(Math.log(t)/Math.LN2),_()},d.thresholds=function(t){return arguments.length?(u="function"==typeof t?t:Array.isArray(t)?fo(co.call(t)):fo(t),d):u},d.bandwidth=function(t){if(!arguments.length)return Math.sqrt(r*(r+1));if(!((t=+t)>=0))throw new Error("invalid bandwidth");return r=Math.round((Math.sqrt(4*t*t+1)-1)/2),_()},d},zo={},xo={},wo=34,To=10,So=13;function Oo(t){return new Function("d","return {"+t.map(function(t,e){return JSON.stringify(t)+": d["+e+"]"}).join(",")+"}")}var Yo=function(t){var e=new RegExp('["'+t+"\n\r]"),n=t.charCodeAt(0);function i(t,e){var i,r=[],a=t.length,o=0,s=0,c=a<=0,u=!1;function d(){if(c)return xo;if(u)return u=!1,zo;var e,i,r=o;if(t.charCodeAt(r)===wo){for(;o++=a?c=!0:(i=t.charCodeAt(o++))===To?u=!0:i===So&&(u=!0,t.charCodeAt(o)===To&&++o),t.slice(r+1,e-1).replace(/""/g,'"')}for(;o=(a=(_+m)/2))?_=a:m=a,(d=n>=(o=(M+g)/2))?M=o:g=o,r=h,!(h=h[l=d<<1|u]))return r[l]=p,t;if(s=+t._x.call(null,h.data),c=+t._y.call(null,h.data),e===s&&n===c)return p.next=h,r?r[l]=p:t._root=p,t;do{r=r?r[l]=new Array(4):t._root=new Array(4),(u=e>=(a=(_+m)/2))?_=a:m=a,(d=n>=(o=(M+g)/2))?M=o:g=o}while((l=d<<1|u)==(f=(c>=o)<<1|s>=a));return r[f]=h,r[l]=p,t}var cs=function(t,e,n,i,r){this.node=t,this.x0=e,this.y0=n,this.x1=i,this.y1=r};function us(t){return t[0]}function ds(t){return t[1]}function ls(t,e,n){var i=new fs(null==e?us:e,null==n?ds:n,NaN,NaN,NaN,NaN);return null==t?i:i.addAll(t)}function fs(t,e,n,i,r,a){this._x=t,this._y=e,this._x0=n,this._y0=i,this._x1=r,this._y1=a,this._root=void 0}function hs(t){for(var e={data:t.data},n=e;t=t.next;)n=n.next={data:t.data};return e}var ps=ls.prototype=fs.prototype;function _s(t){return t.x+t.vx}function Ms(t){return t.y+t.vy}ps.copy=function(){var t,e,n=new fs(this._x,this._y,this._x0,this._y0,this._x1,this._y1),i=this._root;if(!i)return n;if(!i.length)return n._root=hs(i),n;for(t=[{source:i,target:n._root=new Array(4)}];i=t.pop();)for(var r=0;r<4;++r)(e=i.source[r])&&(e.length?t.push({source:e,target:i.target[r]=new Array(4)}):i.target[r]=hs(e));return n},ps.add=function(t){var e=+this._x.call(null,t),n=+this._y.call(null,t);return ss(this.cover(e,n),e,n,t)},ps.addAll=function(t){var e,n,i,r,a=t.length,o=new Array(a),s=new Array(a),c=1/0,u=1/0,d=-1/0,l=-1/0;for(n=0;nd&&(d=i),rl&&(l=r));for(dt||t>r||i>e||e>a))return this;var o,s,c=r-n,u=this._root;switch(s=(e<(i+a)/2)<<1|t<(n+r)/2){case 0:do{(o=new Array(4))[s]=u,u=o}while(a=i+(c*=2),t>(r=n+c)||e>a);break;case 1:do{(o=new Array(4))[s]=u,u=o}while(a=i+(c*=2),(n=r-c)>t||e>a);break;case 2:do{(o=new Array(4))[s]=u,u=o}while(i=a-(c*=2),t>(r=n+c)||i>e);break;case 3:do{(o=new Array(4))[s]=u,u=o}while(i=a-(c*=2),(n=r-c)>t||i>e)}this._root&&this._root.length&&(this._root=u)}return this._x0=n,this._y0=i,this._x1=r,this._y1=a,this},ps.data=function(){var t=[];return this.visit(function(e){if(!e.length)do{t.push(e.data)}while(e=e.next)}),t},ps.extent=function(t){return arguments.length?this.cover(+t[0][0],+t[0][1]).cover(+t[1][0],+t[1][1]):isNaN(this._x0)?void 0:[[this._x0,this._y0],[this._x1,this._y1]]},ps.find=function(t,e,n){var i,r,a,o,s,c,u,d=this._x0,l=this._y0,f=this._x1,h=this._y1,p=[],_=this._root;for(_&&p.push(new cs(_,d,l,f,h)),null==n?n=1/0:(d=t-n,l=e-n,f=t+n,h=e+n,n*=n);c=p.pop();)if(!(!(_=c.node)||(r=c.x0)>f||(a=c.y0)>h||(o=c.x1)=m)<<1|t>=M)&&(c=p[p.length-1],p[p.length-1]=p[p.length-1-u],p[p.length-1-u]=c)}else{var g=t-+this._x.call(null,_.data),b=e-+this._y.call(null,_.data),y=g*g+b*b;if(y=(s=(p+M)/2))?p=s:M=s,(d=o>=(c=(_+m)/2))?_=c:m=c,e=h,!(h=h[l=d<<1|u]))return this;if(!h.length)break;(e[l+1&3]||e[l+2&3]||e[l+3&3])&&(n=e,f=l)}for(;h.data!==t;)if(i=h,!(h=h.next))return this;return(r=h.next)&&delete h.next,i?(r?i.next=r:delete i.next,this):e?(r?e[l]=r:delete e[l],(h=e[0]||e[1]||e[2]||e[3])&&h===(e[3]||e[2]||e[1]||e[0])&&!h.length&&(n?n[f]=h:this._root=h),this):(this._root=r,this)},ps.removeAll=function(t){for(var e=0,n=t.length;ec+h||ru+h||as.index){var p=c-o.x-o.vx,_=u-o.y-o.vy,M=p*p+_*_;Mt.r&&(t.r=t[e].r)}function s(){if(e){var i,r,a=e.length;for(n=new Array(a),i=0;i1?(null==n?s.remove(t):s.set(t,h(n)),e):s.get(t)},find:function(e,n,i){var r,a,o,s,c,u=0,d=t.length;for(null==i?i=1/0:i*=i,u=0;u1?(u.on(t,n),e):u.on(t)}}},ws=function(){var t,e,n,i,r=as(-30),a=1,o=1/0,s=.81;function c(i){var r,a=t.length,o=ls(t,Ls,As).visitAfter(d);for(n=i,r=0;r=o)){(t.data!==e||t.next)&&(0===d&&(h+=(d=os())*d),0===l&&(h+=(l=os())*l),h1?i[0]+i.slice(2):i,+t.slice(n+1)]},ks=function(t){return(t=Ys(Math.abs(t)))?t[1]:NaN},Ds=/^(?:(.)?([<>=^]))?([+\-\( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function Ns(t){return new qs(t)}function qs(t){if(!(e=Ds.exec(t)))throw new Error("invalid format: "+t);var e;this.fill=e[1]||" ",this.align=e[2]||">",this.sign=e[3]||"-",this.symbol=e[4]||"",this.zero=!!e[5],this.width=e[6]&&+e[6],this.comma=!!e[7],this.precision=e[8]&&+e[8].slice(1),this.trim=!!e[9],this.type=e[10]||""}Ns.prototype=qs.prototype,qs.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(null==this.width?"":Math.max(1,0|this.width))+(this.comma?",":"")+(null==this.precision?"":"."+Math.max(0,0|this.precision))+(this.trim?"~":"")+this.type};var Ws,Ps,Es,Xs,Cs=function(t){t:for(var e,n=t.length,i=1,r=-1;i0){if(!+t[i])break t;r=0}}return r>0?t.slice(0,r)+t.slice(e+1):t},Bs=function(t,e){var n=Ys(t,e);if(!n)return t+"";var i=n[0],r=n[1];return r<0?"0."+new Array(-r).join("0")+i:i.length>r+1?i.slice(0,r+1)+"."+i.slice(r+1):i+new Array(r-i.length+2).join("0")},Hs={"%":function(t,e){return(100*t).toFixed(e)},b:function(t){return Math.round(t).toString(2)},c:function(t){return t+""},d:function(t){return Math.round(t).toString(10)},e:function(t,e){return t.toExponential(e)},f:function(t,e){return t.toFixed(e)},g:function(t,e){return t.toPrecision(e)},o:function(t){return Math.round(t).toString(8)},p:function(t,e){return Bs(100*t,e)},r:Bs,s:function(t,e){var n=Ys(t,e);if(!n)return t+"";var i=n[0],r=n[1],a=r-(Ws=3*Math.max(-8,Math.min(8,Math.floor(r/3))))+1,o=i.length;return a===o?i:a>o?i+new Array(a-o+1).join("0"):a>0?i.slice(0,a)+"."+i.slice(a):"0."+new Array(1-a).join("0")+Ys(t,Math.max(0,e+a-1))[0]},X:function(t){return Math.round(t).toString(16).toUpperCase()},x:function(t){return Math.round(t).toString(16)}},Rs=function(t){return t},js=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"],Is=function(t){var e,n,i=t.grouping&&t.thousands?(e=t.grouping,n=t.thousands,function(t,i){for(var r=t.length,a=[],o=0,s=e[0],c=0;r>0&&s>0&&(c+s+1>i&&(s=Math.max(1,i-c)),a.push(t.substring(r-=s,r+s)),!((c+=s+1)>i));)s=e[o=(o+1)%e.length];return a.reverse().join(n)}):Rs,r=t.currency,a=t.decimal,o=t.numerals?function(t){return function(e){return e.replace(/[0-9]/g,function(e){return t[+e]})}}(t.numerals):Rs,s=t.percent||"%";function c(t){var e=(t=Ns(t)).fill,n=t.align,c=t.sign,u=t.symbol,d=t.zero,l=t.width,f=t.comma,h=t.precision,p=t.trim,_=t.type;"n"===_?(f=!0,_="g"):Hs[_]||(null==h&&(h=12),p=!0,_="g"),(d||"0"===e&&"="===n)&&(d=!0,e="0",n="=");var M="$"===u?r[0]:"#"===u&&/[boxX]/.test(_)?"0"+_.toLowerCase():"",m="$"===u?r[1]:/[%p]/.test(_)?s:"",g=Hs[_],b=/[defgprs%]/.test(_);function y(t){var r,s,u,y=M,L=m;if("c"===_)L=g(t)+L,t="";else{var A=(t=+t)<0;if(t=g(Math.abs(t),h),p&&(t=Cs(t)),A&&0==+t&&(A=!1),y=(A?"("===c?c:"-":"-"===c||"("===c?"":c)+y,L=("s"===_?js[8+Ws/3]:"")+L+(A&&"("===c?")":""),b)for(r=-1,s=t.length;++r(u=t.charCodeAt(r))||u>57){L=(46===u?a+t.slice(r+1):t.slice(r))+L,t=t.slice(0,r);break}}f&&!d&&(t=i(t,1/0));var v=y.length+t.length+L.length,z=v>1)+y+t+L+z.slice(v);break;default:t=z+y+t+L}return o(t)}return h=null==h?6:/[gprs]/.test(_)?Math.max(1,Math.min(21,h)):Math.max(0,Math.min(20,h)),y.toString=function(){return t+""},y}return{format:c,formatPrefix:function(t,e){var n=c(((t=Ns(t)).type="f",t)),i=3*Math.max(-8,Math.min(8,Math.floor(ks(e)/3))),r=Math.pow(10,-i),a=js[8+i/3];return function(t){return n(r*t)+a}}}};function Gs(t){return Ps=Is(t),Es=Ps.format,Xs=Ps.formatPrefix,Ps}Gs({decimal:".",thousands:",",grouping:[3],currency:["$",""]});var Fs=function(t){return Math.max(0,-ks(Math.abs(t)))},Vs=function(t,e){return Math.max(0,3*Math.max(-8,Math.min(8,Math.floor(ks(e)/3)))-ks(Math.abs(t)))},Us=function(t,e){return t=Math.abs(t),e=Math.abs(e)-t,Math.max(0,ks(e)-ks(t))+1},Js=function(){return new Ks};function Ks(){this.reset()}Ks.prototype={constructor:Ks,reset:function(){this.s=this.t=0},add:function(t){Zs(Qs,t,this.t),Zs(this,Qs.s,this.s),this.s?this.t+=Qs.t:this.s=Qs.t},valueOf:function(){return this.s}};var Qs=new Ks;function Zs(t,e,n){var i=t.s=e+n,r=i-e,a=i-r;t.t=e-a+(n-r)}var $s=1e-6,tc=Math.PI,ec=tc/2,nc=tc/4,ic=2*tc,rc=180/tc,ac=tc/180,oc=Math.abs,sc=Math.atan,cc=Math.atan2,uc=Math.cos,dc=Math.ceil,lc=Math.exp,fc=(Math.floor,Math.log),hc=Math.pow,pc=Math.sin,_c=Math.sign||function(t){return t>0?1:t<0?-1:0},Mc=Math.sqrt,mc=Math.tan;function gc(t){return t>1?0:t<-1?tc:Math.acos(t)}function bc(t){return t>1?ec:t<-1?-ec:Math.asin(t)}function yc(t){return(t=pc(t/2))*t}function Lc(){}function Ac(t,e){t&&zc.hasOwnProperty(t.type)&&zc[t.type](t,e)}var vc={Feature:function(t,e){Ac(t.geometry,e)},FeatureCollection:function(t,e){for(var n=t.features,i=-1,r=n.length;++i=0?1:-1,r=i*n,a=uc(e),o=pc(e),s=kc*o,c=Yc*a+s*uc(r),u=s*i*pc(r);Nc.add(cc(u,c)),Oc=t,Yc=a,kc=o}var Bc=function(t){return qc.reset(),Dc(t,Wc),2*qc};function Hc(t){return[cc(t[1],t[0]),bc(t[2])]}function Rc(t){var e=t[0],n=t[1],i=uc(n);return[i*uc(e),i*pc(e),pc(n)]}function jc(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function Ic(t,e){return[t[1]*e[2]-t[2]*e[1],t[2]*e[0]-t[0]*e[2],t[0]*e[1]-t[1]*e[0]]}function Gc(t,e){t[0]+=e[0],t[1]+=e[1],t[2]+=e[2]}function Fc(t,e){return[t[0]*e,t[1]*e,t[2]*e]}function Vc(t){var e=Mc(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]);t[0]/=e,t[1]/=e,t[2]/=e}var Uc,Jc,Kc,Qc,Zc,$c,tu,eu,nu,iu,ru=Js(),au={point:ou,lineStart:cu,lineEnd:uu,polygonStart:function(){au.point=du,au.lineStart=lu,au.lineEnd=fu,ru.reset(),Wc.polygonStart()},polygonEnd:function(){Wc.polygonEnd(),au.point=ou,au.lineStart=cu,au.lineEnd=uu,Nc<0?(Uc=-(Kc=180),Jc=-(Qc=90)):ru>$s?Qc=90:ru<-$s&&(Jc=-90),iu[0]=Uc,iu[1]=Kc}};function ou(t,e){nu.push(iu=[Uc=t,Kc=t]),eQc&&(Qc=e)}function su(t,e){var n=Rc([t*ac,e*ac]);if(eu){var i=Ic(eu,n),r=Ic([i[1],-i[0],0],i);Vc(r),r=Hc(r);var a,o=t-Zc,s=o>0?1:-1,c=r[0]*rc*s,u=oc(o)>180;u^(s*ZcQc&&(Qc=a):u^(s*Zc<(c=(c+360)%360-180)&&cQc&&(Qc=e)),u?thu(Uc,Kc)&&(Kc=t):hu(t,Kc)>hu(Uc,Kc)&&(Uc=t):Kc>=Uc?(tKc&&(Kc=t)):t>Zc?hu(Uc,t)>hu(Uc,Kc)&&(Kc=t):hu(t,Kc)>hu(Uc,Kc)&&(Uc=t)}else nu.push(iu=[Uc=t,Kc=t]);eQc&&(Qc=e),eu=n,Zc=t}function cu(){au.point=su}function uu(){iu[0]=Uc,iu[1]=Kc,au.point=ou,eu=null}function du(t,e){if(eu){var n=t-Zc;ru.add(oc(n)>180?n+(n>0?360:-360):n)}else $c=t,tu=e;Wc.point(t,e),su(t,e)}function lu(){Wc.lineStart()}function fu(){du($c,tu),Wc.lineEnd(),oc(ru)>$s&&(Uc=-(Kc=180)),iu[0]=Uc,iu[1]=Kc,eu=null}function hu(t,e){return(e-=t)<0?e+360:e}function pu(t,e){return t[0]-e[0]}function _u(t,e){return t[0]<=t[1]?t[0]<=e&&e<=t[1]:ehu(i[0],i[1])&&(i[1]=r[1]),hu(r[0],i[1])>hu(i[0],i[1])&&(i[0]=r[0])):a.push(i=r);for(o=-1/0,e=0,i=a[n=a.length-1];e<=n;i=r,++e)r=a[e],(s=hu(i[1],r[0]))>o&&(o=s,Uc=r[0],Kc=i[1])}return nu=iu=null,Uc===1/0||Jc===1/0?[[NaN,NaN],[NaN,NaN]]:[[Uc,Jc],[Kc,Qc]]},Nu={sphere:Lc,point:qu,lineStart:Pu,lineEnd:Cu,polygonStart:function(){Nu.lineStart=Bu,Nu.lineEnd=Hu},polygonEnd:function(){Nu.lineStart=Pu,Nu.lineEnd=Cu}};function qu(t,e){t*=ac;var n=uc(e*=ac);Wu(n*uc(t),n*pc(t),pc(e))}function Wu(t,e,n){gu+=(t-gu)/++Mu,bu+=(e-bu)/Mu,yu+=(n-yu)/Mu}function Pu(){Nu.point=Eu}function Eu(t,e){t*=ac;var n=uc(e*=ac);Ou=n*uc(t),Yu=n*pc(t),ku=pc(e),Nu.point=Xu,Wu(Ou,Yu,ku)}function Xu(t,e){t*=ac;var n=uc(e*=ac),i=n*uc(t),r=n*pc(t),a=pc(e),o=cc(Mc((o=Yu*a-ku*r)*o+(o=ku*i-Ou*a)*o+(o=Ou*r-Yu*i)*o),Ou*i+Yu*r+ku*a);mu+=o,Lu+=o*(Ou+(Ou=i)),Au+=o*(Yu+(Yu=r)),vu+=o*(ku+(ku=a)),Wu(Ou,Yu,ku)}function Cu(){Nu.point=qu}function Bu(){Nu.point=Ru}function Hu(){ju(Tu,Su),Nu.point=qu}function Ru(t,e){Tu=t,Su=e,t*=ac,e*=ac,Nu.point=ju;var n=uc(e);Ou=n*uc(t),Yu=n*pc(t),ku=pc(e),Wu(Ou,Yu,ku)}function ju(t,e){t*=ac;var n=uc(e*=ac),i=n*uc(t),r=n*pc(t),a=pc(e),o=Yu*a-ku*r,s=ku*i-Ou*a,c=Ou*r-Yu*i,u=Mc(o*o+s*s+c*c),d=bc(u),l=u&&-d/u;zu+=l*o,xu+=l*s,wu+=l*c,mu+=d,Lu+=d*(Ou+(Ou=i)),Au+=d*(Yu+(Yu=r)),vu+=d*(ku+(ku=a)),Wu(Ou,Yu,ku)}var Iu=function(t){Mu=mu=gu=bu=yu=Lu=Au=vu=zu=xu=wu=0,Dc(t,Nu);var e=zu,n=xu,i=wu,r=e*e+n*n+i*i;return r<1e-12&&(e=Lu,n=Au,i=vu,mu<$s&&(e=gu,n=bu,i=yu),(r=e*e+n*n+i*i)<1e-12)?[NaN,NaN]:[cc(n,e)*rc,bc(i/Mc(r))*rc]},Gu=function(t){return function(){return t}},Fu=function(t,e){function n(n,i){return n=t(n,i),e(n[0],n[1])}return t.invert&&e.invert&&(n.invert=function(n,i){return(n=e.invert(n,i))&&t.invert(n[0],n[1])}),n};function Vu(t,e){return[t>tc?t-ic:t<-tc?t+ic:t,e]}function Uu(t,e,n){return(t%=ic)?e||n?Fu(Ku(t),Qu(e,n)):Ku(t):e||n?Qu(e,n):Vu}function Ju(t){return function(e,n){return[(e+=t)>tc?e-ic:e<-tc?e+ic:e,n]}}function Ku(t){var e=Ju(t);return e.invert=Ju(-t),e}function Qu(t,e){var n=uc(t),i=pc(t),r=uc(e),a=pc(e);function o(t,e){var o=uc(e),s=uc(t)*o,c=pc(t)*o,u=pc(e),d=u*n+s*i;return[cc(c*r-d*a,s*n-u*i),bc(d*r+c*a)]}return o.invert=function(t,e){var o=uc(e),s=uc(t)*o,c=pc(t)*o,u=pc(e),d=u*r-c*a;return[cc(c*r+u*a,s*n+d*i),bc(d*n-s*i)]},o}Vu.invert=Vu;var Zu=function(t){function e(e){return(e=t(e[0]*ac,e[1]*ac))[0]*=rc,e[1]*=rc,e}return t=Uu(t[0]*ac,t[1]*ac,t.length>2?t[2]*ac:0),e.invert=function(e){return(e=t.invert(e[0]*ac,e[1]*ac))[0]*=rc,e[1]*=rc,e},e};function $u(t,e,n,i,r,a){if(n){var o=uc(e),s=pc(e),c=i*n;null==r?(r=e+i*ic,a=e-c/2):(r=td(o,r),a=td(o,a),(i>0?ra)&&(r+=i*ic));for(var u,d=r;i>0?d>a:d1&&e.push(e.pop().concat(e.shift()))},result:function(){var n=e;return e=[],t=null,n}}},id=function(t,e){return oc(t[0]-e[0])<$s&&oc(t[1]-e[1])<$s};function rd(t,e,n,i){this.x=t,this.z=e,this.o=n,this.e=i,this.v=!1,this.n=this.p=null}var ad=function(t,e,n,i,r){var a,o,s=[],c=[];if(t.forEach(function(t){if(!((e=t.length-1)<=0)){var e,n,i=t[0],o=t[e];if(id(i,o)){for(r.lineStart(),a=0;a=0;--a)r.point((d=u[a])[0],d[1]);else i(f.x,f.p.x,-1,r);f=f.p}u=(f=f.o).z,h=!h}while(!f.v);r.lineEnd()}}};function od(t){if(e=t.length){for(var e,n,i=0,r=t[0];++i=0?1:-1,x=z*v,w=x>tc,T=_*L;if(sd.add(cc(T*z*pc(x),M*A+T*uc(x))),o+=w?v+z*ic:v,w^h>=n^b>=n){var S=Ic(Rc(f),Rc(g));Vc(S);var O=Ic(a,S);Vc(O);var Y=(w^v>=0?-1:1)*bc(O[2]);(i>Y||i===Y&&(S[0]||S[1]))&&(s+=w^v>=0?1:-1)}}return(o<-$s||o<$s&&sd<-$s)^1&s},ud=function(t,e,n,i){return function(r){var a,o,s,c=e(r),u=nd(),d=e(u),l=!1,f={point:h,lineStart:_,lineEnd:M,polygonStart:function(){f.point=m,f.lineStart=g,f.lineEnd=b,o=[],a=[]},polygonEnd:function(){f.point=h,f.lineStart=_,f.lineEnd=M,o=E(o);var t=cd(a,i);o.length?(l||(r.polygonStart(),l=!0),ad(o,ld,t,n,r)):t&&(l||(r.polygonStart(),l=!0),r.lineStart(),n(null,null,1,r),r.lineEnd()),l&&(r.polygonEnd(),l=!1),o=a=null},sphere:function(){r.polygonStart(),r.lineStart(),n(null,null,1,r),r.lineEnd(),r.polygonEnd()}};function h(e,n){t(e,n)&&r.point(e,n)}function p(t,e){c.point(t,e)}function _(){f.point=p,c.lineStart()}function M(){f.point=h,c.lineEnd()}function m(t,e){s.push([t,e]),d.point(t,e)}function g(){d.lineStart(),s=[]}function b(){m(s[0][0],s[0][1]),d.lineEnd();var t,e,n,i,c=d.clean(),f=u.result(),h=f.length;if(s.pop(),a.push(s),s=null,h)if(1&c){if((e=(n=f[0]).length-1)>0){for(l||(r.polygonStart(),l=!0),r.lineStart(),t=0;t1&&2&c&&f.push(f.pop().concat(f.shift())),o.push(f.filter(dd))}return f}};function dd(t){return t.length>1}function ld(t,e){return((t=t.x)[0]<0?t[1]-ec-$s:ec-t[1])-((e=e.x)[0]<0?e[1]-ec-$s:ec-e[1])}var fd=ud(function(){return!0},function(t){var e,n=NaN,i=NaN,r=NaN;return{lineStart:function(){t.lineStart(),e=1},point:function(a,o){var s=a>0?tc:-tc,c=oc(a-n);oc(c-tc)<$s?(t.point(n,i=(i+o)/2>0?ec:-ec),t.point(r,i),t.lineEnd(),t.lineStart(),t.point(s,i),t.point(a,i),e=0):r!==s&&c>=tc&&(oc(n-r)<$s&&(n-=r*$s),oc(a-s)<$s&&(a-=s*$s),i=function(t,e,n,i){var r,a,o=pc(t-n);return oc(o)>$s?sc((pc(e)*(a=uc(i))*pc(n)-pc(i)*(r=uc(e))*pc(t))/(r*a*o)):(e+i)/2}(n,i,a,o),t.point(r,i),t.lineEnd(),t.lineStart(),t.point(s,i),e=0),t.point(n=a,i=o),r=s},lineEnd:function(){t.lineEnd(),n=i=NaN},clean:function(){return 2-e}}},function(t,e,n,i){var r;if(null==t)r=n*ec,i.point(-tc,r),i.point(0,r),i.point(tc,r),i.point(tc,0),i.point(tc,-r),i.point(0,-r),i.point(-tc,-r),i.point(-tc,0),i.point(-tc,r);else if(oc(t[0]-e[0])>$s){var a=t[0]0,r=oc(e)>$s;function a(t,n){return uc(t)*uc(n)>e}function o(t,n,i){var r=[1,0,0],a=Ic(Rc(t),Rc(n)),o=jc(a,a),s=a[0],c=o-s*s;if(!c)return!i&&t;var u=e*o/c,d=-e*s/c,l=Ic(r,a),f=Fc(r,u);Gc(f,Fc(a,d));var h=l,p=jc(f,h),_=jc(h,h),M=p*p-_*(jc(f,f)-1);if(!(M<0)){var m=Mc(M),g=Fc(h,(-p-m)/_);if(Gc(g,f),g=Hc(g),!i)return g;var b,y=t[0],L=n[0],A=t[1],v=n[1];L0^g[1]<(oc(g[0]-y)<$s?A:v):A<=g[1]&&g[1]<=v:z>tc^(y<=g[0]&&g[0]<=L)){var w=Fc(h,(-p+m)/_);return Gc(w,f),[g,Hc(w)]}}}function s(e,n){var r=i?t:tc-t,a=0;return e<-r?a|=1:e>r&&(a|=2),n<-r?a|=4:n>r&&(a|=8),a}return ud(a,function(t){var e,n,c,u,d;return{lineStart:function(){u=c=!1,d=1},point:function(l,f){var h,p=[l,f],_=a(l,f),M=i?_?0:s(l,f):_?s(l+(l<0?tc:-tc),f):0;if(!e&&(u=c=_)&&t.lineStart(),_!==c&&(!(h=o(e,p))||id(e,h)||id(p,h))&&(p[0]+=$s,p[1]+=$s,_=a(p[0],p[1])),_!==c)d=0,_?(t.lineStart(),h=o(p,e),t.point(h[0],h[1])):(h=o(e,p),t.point(h[0],h[1]),t.lineEnd()),e=h;else if(r&&e&&i^_){var m;M&n||!(m=o(p,e,!0))||(d=0,i?(t.lineStart(),t.point(m[0][0],m[0][1]),t.point(m[1][0],m[1][1]),t.lineEnd()):(t.point(m[1][0],m[1][1]),t.lineEnd(),t.lineStart(),t.point(m[0][0],m[0][1])))}!_||e&&id(e,p)||t.point(p[0],p[1]),e=p,c=_,n=M},lineEnd:function(){c&&t.lineEnd(),e=null},clean:function(){return d|(u&&c)<<1}}},function(e,i,r,a){$u(a,t,n,r,e,i)},i?[0,-t]:[-tc,t-tc])},pd=function(t,e,n,i,r,a){var o,s=t[0],c=t[1],u=0,d=1,l=e[0]-s,f=e[1]-c;if(o=n-s,l||!(o>0)){if(o/=l,l<0){if(o0){if(o>d)return;o>u&&(u=o)}if(o=r-s,l||!(o<0)){if(o/=l,l<0){if(o>d)return;o>u&&(u=o)}else if(l>0){if(o0)){if(o/=f,f<0){if(o0){if(o>d)return;o>u&&(u=o)}if(o=a-c,f||!(o<0)){if(o/=f,f<0){if(o>d)return;o>u&&(u=o)}else if(f>0){if(o0&&(t[0]=s+u*l,t[1]=c+u*f),d<1&&(e[0]=s+d*l,e[1]=c+d*f),!0}}}}},_d=1e9,Md=-_d;function md(t,e,n,i){function r(r,a){return t<=r&&r<=n&&e<=a&&a<=i}function a(r,a,s,u){var d=0,l=0;if(null==r||(d=o(r,s))!==(l=o(a,s))||c(r,a)<0^s>0)do{u.point(0===d||3===d?t:n,d>1?i:e)}while((d=(d+s+4)%4)!==l);else u.point(a[0],a[1])}function o(i,r){return oc(i[0]-t)<$s?r>0?0:3:oc(i[0]-n)<$s?r>0?2:1:oc(i[1]-e)<$s?r>0?1:0:r>0?3:2}function s(t,e){return c(t.x,e.x)}function c(t,e){var n=o(t,1),i=o(e,1);return n!==i?n-i:0===n?e[1]-t[1]:1===n?t[0]-e[0]:2===n?t[1]-e[1]:e[0]-t[0]}return function(o){var c,u,d,l,f,h,p,_,M,m,g,b=o,y=nd(),L={point:A,lineStart:function(){L.point=v,u&&u.push(d=[]);m=!0,M=!1,p=_=NaN},lineEnd:function(){c&&(v(l,f),h&&M&&y.rejoin(),c.push(y.result()));L.point=A,M&&b.lineEnd()},polygonStart:function(){b=y,c=[],u=[],g=!0},polygonEnd:function(){var e=function(){for(var e=0,n=0,r=u.length;ni&&(f-a)*(i-o)>(h-o)*(t-a)&&++e:h<=i&&(f-a)*(i-o)<(h-o)*(t-a)&&--e;return e}(),n=g&&e,r=(c=E(c)).length;(n||r)&&(o.polygonStart(),n&&(o.lineStart(),a(null,null,1,o),o.lineEnd()),r&&ad(c,s,e,a,o),o.polygonEnd());b=o,c=u=d=null}};function A(t,e){r(t,e)&&b.point(t,e)}function v(a,o){var s=r(a,o);if(u&&d.push([a,o]),m)l=a,f=o,h=s,m=!1,s&&(b.lineStart(),b.point(a,o));else if(s&&M)b.point(a,o);else{var c=[p=Math.max(Md,Math.min(_d,p)),_=Math.max(Md,Math.min(_d,_))],y=[a=Math.max(Md,Math.min(_d,a)),o=Math.max(Md,Math.min(_d,o))];pd(c,y,t,e,n,i)?(M||(b.lineStart(),b.point(c[0],c[1])),b.point(y[0],y[1]),s||b.lineEnd(),g=!1):s&&(b.lineStart(),b.point(a,o),g=!1)}p=a,_=o,M=s}return L}}var gd,bd,yd,Ld=function(){var t,e,n,i=0,r=0,a=960,o=500;return n={stream:function(n){return t&&e===n?t:t=md(i,r,a,o)(e=n)},extent:function(s){return arguments.length?(i=+s[0][0],r=+s[0][1],a=+s[1][0],o=+s[1][1],t=e=null,n):[[i,r],[a,o]]}}},Ad=Js(),vd={sphere:Lc,point:Lc,lineStart:function(){vd.point=xd,vd.lineEnd=zd},lineEnd:Lc,polygonStart:Lc,polygonEnd:Lc};function zd(){vd.point=vd.lineEnd=Lc}function xd(t,e){gd=t*=ac,bd=pc(e*=ac),yd=uc(e),vd.point=wd}function wd(t,e){t*=ac;var n=pc(e*=ac),i=uc(e),r=oc(t-gd),a=uc(r),o=i*pc(r),s=yd*n-bd*i*a,c=bd*n+yd*i*a;Ad.add(cc(Mc(o*o+s*s),c)),gd=t,bd=n,yd=i}var Td=function(t){return Ad.reset(),Dc(t,vd),+Ad},Sd=[null,null],Od={type:"LineString",coordinates:Sd},Yd=function(t,e){return Sd[0]=t,Sd[1]=e,Td(Od)},kd={Feature:function(t,e){return Nd(t.geometry,e)},FeatureCollection:function(t,e){for(var n=t.features,i=-1,r=n.length;++i$s}).map(c)).concat(A(dc(a/h)*h,r,h).filter(function(t){return oc(t%_)>$s}).map(u))}return m.lines=function(){return g().map(function(t){return{type:"LineString",coordinates:t}})},m.outline=function(){return{type:"Polygon",coordinates:[d(i).concat(l(o).slice(1),d(n).reverse().slice(1),l(s).reverse().slice(1))]}},m.extent=function(t){return arguments.length?m.extentMajor(t).extentMinor(t):m.extentMinor()},m.extentMajor=function(t){return arguments.length?(i=+t[0][0],n=+t[1][0],s=+t[0][1],o=+t[1][1],i>n&&(t=i,i=n,n=t),s>o&&(t=s,s=o,o=t),m.precision(M)):[[i,s],[n,o]]},m.extentMinor=function(n){return arguments.length?(e=+n[0][0],t=+n[1][0],a=+n[0][1],r=+n[1][1],e>t&&(n=e,e=t,t=n),a>r&&(n=a,a=r,r=n),m.precision(M)):[[e,a],[t,r]]},m.step=function(t){return arguments.length?m.stepMajor(t).stepMinor(t):m.stepMinor()},m.stepMajor=function(t){return arguments.length?(p=+t[0],_=+t[1],m):[p,_]},m.stepMinor=function(t){return arguments.length?(f=+t[0],h=+t[1],m):[f,h]},m.precision=function(f){return arguments.length?(M=+f,c=Bd(a,r,90),u=Hd(e,t,M),d=Bd(s,o,90),l=Hd(i,n,M),m):M},m.extentMajor([[-180,-90+$s],[180,90-$s]]).extentMinor([[-180,-80-$s],[180,80+$s]])}function jd(){return Rd()()}var Id,Gd,Fd,Vd,Ud=function(t,e){var n=t[0]*ac,i=t[1]*ac,r=e[0]*ac,a=e[1]*ac,o=uc(i),s=pc(i),c=uc(a),u=pc(a),d=o*uc(n),l=o*pc(n),f=c*uc(r),h=c*pc(r),p=2*bc(Mc(yc(a-i)+o*c*yc(r-n))),_=pc(p),M=p?function(t){var e=pc(t*=p)/_,n=pc(p-t)/_,i=n*d+e*f,r=n*l+e*h,a=n*s+e*u;return[cc(r,i)*rc,cc(a,Mc(i*i+r*r))*rc]}:function(){return[n*rc,i*rc]};return M.distance=p,M},Jd=function(t){return t},Kd=Js(),Qd=Js(),Zd={point:Lc,lineStart:Lc,lineEnd:Lc,polygonStart:function(){Zd.lineStart=$d,Zd.lineEnd=nl},polygonEnd:function(){Zd.lineStart=Zd.lineEnd=Zd.point=Lc,Kd.add(oc(Qd)),Qd.reset()},result:function(){var t=Kd/2;return Kd.reset(),t}};function $d(){Zd.point=tl}function tl(t,e){Zd.point=el,Id=Fd=t,Gd=Vd=e}function el(t,e){Qd.add(Vd*t-Fd*e),Fd=t,Vd=e}function nl(){el(Id,Gd)}var il=Zd,rl=1/0,al=rl,ol=-rl,sl=ol;var cl,ul,dl,ll,fl={point:function(t,e){tol&&(ol=t);esl&&(sl=e)},lineStart:Lc,lineEnd:Lc,polygonStart:Lc,polygonEnd:Lc,result:function(){var t=[[rl,al],[ol,sl]];return ol=sl=-(al=rl=1/0),t}},hl=0,pl=0,_l=0,Ml=0,ml=0,gl=0,bl=0,yl=0,Ll=0,Al={point:vl,lineStart:zl,lineEnd:Tl,polygonStart:function(){Al.lineStart=Sl,Al.lineEnd=Ol},polygonEnd:function(){Al.point=vl,Al.lineStart=zl,Al.lineEnd=Tl},result:function(){var t=Ll?[bl/Ll,yl/Ll]:gl?[Ml/gl,ml/gl]:_l?[hl/_l,pl/_l]:[NaN,NaN];return hl=pl=_l=Ml=ml=gl=bl=yl=Ll=0,t}};function vl(t,e){hl+=t,pl+=e,++_l}function zl(){Al.point=xl}function xl(t,e){Al.point=wl,vl(dl=t,ll=e)}function wl(t,e){var n=t-dl,i=e-ll,r=Mc(n*n+i*i);Ml+=r*(dl+t)/2,ml+=r*(ll+e)/2,gl+=r,vl(dl=t,ll=e)}function Tl(){Al.point=vl}function Sl(){Al.point=Yl}function Ol(){kl(cl,ul)}function Yl(t,e){Al.point=kl,vl(cl=dl=t,ul=ll=e)}function kl(t,e){var n=t-dl,i=e-ll,r=Mc(n*n+i*i);Ml+=r*(dl+t)/2,ml+=r*(ll+e)/2,gl+=r,bl+=(r=ll*t-dl*e)*(dl+t),yl+=r*(ll+e),Ll+=3*r,vl(dl=t,ll=e)}var Dl=Al;function Nl(t){this._context=t}Nl.prototype={_radius:4.5,pointRadius:function(t){return this._radius=t,this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){0===this._line&&this._context.closePath(),this._point=NaN},point:function(t,e){switch(this._point){case 0:this._context.moveTo(t,e),this._point=1;break;case 1:this._context.lineTo(t,e);break;default:this._context.moveTo(t+this._radius,e),this._context.arc(t,e,this._radius,0,ic)}},result:Lc};var ql,Wl,Pl,El,Xl,Cl=Js(),Bl={point:Lc,lineStart:function(){Bl.point=Hl},lineEnd:function(){ql&&Rl(Wl,Pl),Bl.point=Lc},polygonStart:function(){ql=!0},polygonEnd:function(){ql=null},result:function(){var t=+Cl;return Cl.reset(),t}};function Hl(t,e){Bl.point=Rl,Wl=El=t,Pl=Xl=e}function Rl(t,e){El-=t,Xl-=e,Cl.add(Mc(El*El+Xl*Xl)),El=t,Xl=e}var jl=Bl;function Il(){this._string=[]}function Gl(t){return"m0,"+t+"a"+t+","+t+" 0 1,1 0,"+-2*t+"a"+t+","+t+" 0 1,1 0,"+2*t+"z"}Il.prototype={_radius:4.5,_circle:Gl(4.5),pointRadius:function(t){return(t=+t)!==this._radius&&(this._radius=t,this._circle=null),this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){0===this._line&&this._string.push("Z"),this._point=NaN},point:function(t,e){switch(this._point){case 0:this._string.push("M",t,",",e),this._point=1;break;case 1:this._string.push("L",t,",",e);break;default:null==this._circle&&(this._circle=Gl(this._radius)),this._string.push("M",t,",",e,this._circle)}},result:function(){if(this._string.length){var t=this._string.join("");return this._string=[],t}return null}};var Fl=function(t,e){var n,i,r=4.5;function a(t){return t&&("function"==typeof r&&i.pointRadius(+r.apply(this,arguments)),Dc(t,n(i))),i.result()}return a.area=function(t){return Dc(t,n(il)),il.result()},a.measure=function(t){return Dc(t,n(jl)),jl.result()},a.bounds=function(t){return Dc(t,n(fl)),fl.result()},a.centroid=function(t){return Dc(t,n(Dl)),Dl.result()},a.projection=function(e){return arguments.length?(n=null==e?(t=null,Jd):(t=e).stream,a):t},a.context=function(t){return arguments.length?(i=null==t?(e=null,new Il):new Nl(e=t),"function"!=typeof r&&i.pointRadius(r),a):e},a.pointRadius=function(t){return arguments.length?(r="function"==typeof t?t:(i.pointRadius(+t),+t),a):r},a.projection(t).context(e)},Vl=function(t){return{stream:Ul(t)}};function Ul(t){return function(e){var n=new Jl;for(var i in t)n[i]=t[i];return n.stream=e,n}}function Jl(){}function Kl(t,e,n){var i=t.clipExtent&&t.clipExtent();return t.scale(150).translate([0,0]),null!=i&&t.clipExtent(null),Dc(n,t.stream(fl)),e(fl.result()),null!=i&&t.clipExtent(i),t}function Ql(t,e,n){return Kl(t,function(n){var i=e[1][0]-e[0][0],r=e[1][1]-e[0][1],a=Math.min(i/(n[1][0]-n[0][0]),r/(n[1][1]-n[0][1])),o=+e[0][0]+(i-a*(n[1][0]+n[0][0]))/2,s=+e[0][1]+(r-a*(n[1][1]+n[0][1]))/2;t.scale(150*a).translate([o,s])},n)}function Zl(t,e,n){return Ql(t,[[0,0],e],n)}function $l(t,e,n){return Kl(t,function(n){var i=+e,r=i/(n[1][0]-n[0][0]),a=(i-r*(n[1][0]+n[0][0]))/2,o=-r*n[0][1];t.scale(150*r).translate([a,o])},n)}function tf(t,e,n){return Kl(t,function(n){var i=+e,r=i/(n[1][1]-n[0][1]),a=-r*n[0][0],o=(i-r*(n[1][1]+n[0][1]))/2;t.scale(150*r).translate([a,o])},n)}Jl.prototype={constructor:Jl,point:function(t,e){this.stream.point(t,e)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}};var ef=16,nf=uc(30*ac),rf=function(t,e){return+e?function(t,e){function n(i,r,a,o,s,c,u,d,l,f,h,p,_,M){var m=u-i,g=d-r,b=m*m+g*g;if(b>4*e&&_--){var y=o+f,L=s+h,A=c+p,v=Mc(y*y+L*L+A*A),z=bc(A/=v),x=oc(oc(A)-1)<$s||oc(a-l)<$s?(a+l)/2:cc(L,y),w=t(x,z),T=w[0],S=w[1],O=T-i,Y=S-r,k=g*O-m*Y;(k*k/b>e||oc((m*O+g*Y)/b-.5)>.3||o*f+s*h+c*p2?t[2]%360*ac:0,T()):[M*rc,m*rc,g*rc]},x.angle=function(t){return arguments.length?(b=t%360*ac,T()):b*rc},x.precision=function(t){return arguments.length?(o=rf(s,z=t*t),S()):Mc(z)},x.fitExtent=function(t,e){return Ql(x,t,e)},x.fitSize=function(t,e){return Zl(x,t,e)},x.fitWidth=function(t,e){return $l(x,t,e)},x.fitHeight=function(t,e){return tf(x,t,e)},function(){return e=t.apply(this,arguments),x.invert=e.invert&&w,T()}}function uf(t){var e=0,n=tc/3,i=cf(t),r=i(e,n);return r.parallels=function(t){return arguments.length?i(e=t[0]*ac,n=t[1]*ac):[e*rc,n*rc]},r}function df(t,e){var n=pc(t),i=(n+pc(e))/2;if(oc(i)<$s)return function(t){var e=uc(t);function n(t,n){return[t*e,pc(n)/e]}return n.invert=function(t,n){return[t/e,bc(n*e)]},n}(t);var r=1+n*(2*i-n),a=Mc(r)/i;function o(t,e){var n=Mc(r-2*i*pc(e))/i;return[n*pc(t*=i),a-n*uc(t)]}return o.invert=function(t,e){var n=a-e;return[cc(t,oc(n))/i*_c(n),bc((r-(t*t+n*n)*i*i)/(2*i))]},o}var lf=function(){return uf(df).scale(155.424).center([0,33.6442])},ff=function(){return lf().parallels([29.5,45.5]).scale(1070).translate([480,250]).rotate([96,0]).center([-.6,38.7])};var hf=function(){var t,e,n,i,r,a,o=ff(),s=lf().rotate([154,0]).center([-2,58.5]).parallels([55,65]),c=lf().rotate([157,0]).center([-3,19.9]).parallels([8,18]),u={point:function(t,e){a=[t,e]}};function d(t){var e=t[0],o=t[1];return a=null,n.point(e,o),a||(i.point(e,o),a)||(r.point(e,o),a)}function l(){return t=e=null,d}return d.invert=function(t){var e=o.scale(),n=o.translate(),i=(t[0]-n[0])/e,r=(t[1]-n[1])/e;return(r>=.12&&r<.234&&i>=-.425&&i<-.214?s:r>=.166&&r<.234&&i>=-.214&&i<-.115?c:o).invert(t)},d.stream=function(n){return t&&e===n?t:(i=[o.stream(e=n),s.stream(n),c.stream(n)],r=i.length,t={point:function(t,e){for(var n=-1;++n0?e<-ec+$s&&(e=-ec+$s):e>ec-$s&&(e=ec-$s);var n=r/hc(vf(e),i);return[n*pc(i*t),r-n*uc(i*t)]}return a.invert=function(t,e){var n=r-e,a=_c(i)*Mc(t*t+n*n);return[cc(t,oc(n))/i*_c(n),2*sc(hc(r/a,1/i))-ec]},a}var xf=function(){return uf(zf).scale(109.5).parallels([30,30])};function wf(t,e){return[t,e]}wf.invert=wf;var Tf=function(){return sf(wf).scale(152.63)};function Sf(t,e){var n=uc(t),i=t===e?pc(t):(n-uc(e))/(e-t),r=n/i+t;if(oc(i)<$s)return wf;function a(t,e){var n=r-e,a=i*t;return[n*pc(a),r-n*uc(a)]}return a.invert=function(t,e){var n=r-e;return[cc(t,oc(n))/i*_c(n),r-_c(i)*Mc(t*t+n*n)]},a}var Of=function(){return uf(Sf).scale(131.154).center([0,13.9389])};function Yf(t,e){var n=uc(e),i=uc(t)*n;return[n*pc(t)/i,pc(e)/i]}Yf.invert=_f(sc);var kf=function(){return sf(Yf).scale(144.049).clipAngle(60)};function Df(t,e,n,i){return 1===t&&1===e&&0===n&&0===i?Jd:Ul({point:function(r,a){this.stream.point(r*t+n,a*e+i)}})}var Nf=function(){var t,e,n,i,r,a,o=1,s=0,c=0,u=1,d=1,l=Jd,f=null,h=Jd;function p(){return i=r=null,a}return a={stream:function(t){return i&&r===t?i:i=l(h(r=t))},postclip:function(i){return arguments.length?(h=i,f=t=e=n=null,p()):h},clipExtent:function(i){return arguments.length?(h=null==i?(f=t=e=n=null,Jd):md(f=+i[0][0],t=+i[0][1],e=+i[1][0],n=+i[1][1]),p()):null==f?null:[[f,t],[e,n]]},scale:function(t){return arguments.length?(l=Df((o=+t)*u,o*d,s,c),p()):o},translate:function(t){return arguments.length?(l=Df(o*u,o*d,s=+t[0],c=+t[1]),p()):[s,c]},reflectX:function(t){return arguments.length?(l=Df(o*(u=t?-1:1),o*d,s,c),p()):u<0},reflectY:function(t){return arguments.length?(l=Df(o*u,o*(d=t?-1:1),s,c),p()):d<0},fitExtent:function(t,e){return Ql(a,t,e)},fitSize:function(t,e){return Zl(a,t,e)},fitWidth:function(t,e){return $l(a,t,e)},fitHeight:function(t,e){return tf(a,t,e)}}};function qf(t,e){var n=e*e,i=n*n;return[t*(.8707-.131979*n+i*(i*(.003971*n-.001529*i)-.013791)),e*(1.007226+n*(.015085+i*(.028874*n-.044475-.005916*i)))]}qf.invert=function(t,e){var n,i=e,r=25;do{var a=i*i,o=a*a;i-=n=(i*(1.007226+a*(.015085+o*(.028874*a-.044475-.005916*o)))-e)/(1.007226+a*(.045255+o*(.259866*a-.311325-.005916*11*o)))}while(oc(n)>$s&&--r>0);return[t/(.8707+(a=i*i)*(a*(a*a*a*(.003971-.001529*a)-.013791)-.131979)),i]};var Wf=function(){return sf(qf).scale(175.295)};function Pf(t,e){return[uc(e)*pc(t),pc(e)]}Pf.invert=_f(bc);var Ef=function(){return sf(Pf).scale(249.5).clipAngle(90+$s)};function Xf(t,e){var n=uc(e),i=1+uc(t)*n;return[n*pc(t)/i,pc(e)/i]}Xf.invert=_f(function(t){return 2*sc(t)});var Cf=function(){return sf(Xf).scale(250).clipAngle(142)};function Bf(t,e){return[fc(mc((ec+e)/2)),-t]}Bf.invert=function(t,e){return[-e,2*sc(lc(t))-ec]};var Hf=function(){var t=Af(Bf),e=t.center,n=t.rotate;return t.center=function(t){return arguments.length?e([-t[1],t[0]]):[(t=e())[1],-t[0]]},t.rotate=function(t){return arguments.length?n([t[0],t[1],t.length>2?t[2]+90:90]):[(t=n())[0],t[1],t[2]-90]},n([0,0,90]).scale(159.155)};function Rf(t,e){return t.parent===e.parent?1:2}function jf(t,e){return t+e.x}function If(t,e){return Math.max(t,e.y)}var Gf=function(){var t=Rf,e=1,n=1,i=!1;function r(r){var a,o=0;r.eachAfter(function(e){var n=e.children;n?(e.x=function(t){return t.reduce(jf,0)/t.length}(n),e.y=function(t){return 1+t.reduce(If,0)}(n)):(e.x=a?o+=t(e,a):0,e.y=0,a=e)});var s=function(t){for(var e;e=t.children;)t=e[0];return t}(r),c=function(t){for(var e;e=t.children;)t=e[e.length-1];return t}(r),u=s.x-t(s,c)/2,d=c.x+t(c,s)/2;return r.eachAfter(i?function(t){t.x=(t.x-r.x)*e,t.y=(r.y-t.y)*n}:function(t){t.x=(t.x-u)/(d-u)*e,t.y=(1-(r.y?t.y/r.y:1))*n})}return r.separation=function(e){return arguments.length?(t=e,r):t},r.size=function(t){return arguments.length?(i=!1,e=+t[0],n=+t[1],r):i?null:[e,n]},r.nodeSize=function(t){return arguments.length?(i=!0,e=+t[0],n=+t[1],r):i?[e,n]:null},r};function Ff(t){var e=0,n=t.children,i=n&&n.length;if(i)for(;--i>=0;)e+=n[i].value;else e=1;t.value=e}function Vf(t,e){var n,i,r,a,o,s=new Qf(t),c=+t.value&&(s.value=t.value),u=[s];for(null==e&&(e=Uf);n=u.pop();)if(c&&(n.value=+n.data.value),(r=e(n.data))&&(o=r.length))for(n.children=new Array(o),a=o-1;a>=0;--a)u.push(i=n.children[a]=new Qf(r[a])),i.parent=n,i.depth=n.depth+1;return s.eachBefore(Kf)}function Uf(t){return t.children}function Jf(t){t.data=t.data.data}function Kf(t){var e=0;do{t.height=e}while((t=t.parent)&&t.height<++e)}function Qf(t){this.data=t,this.depth=this.height=0,this.parent=null}Qf.prototype=Vf.prototype={constructor:Qf,count:function(){return this.eachAfter(Ff)},each:function(t){var e,n,i,r,a=this,o=[a];do{for(e=o.reverse(),o=[];a=e.pop();)if(t(a),n=a.children)for(i=0,r=n.length;i=0;--n)r.push(e[n]);return this},sum:function(t){return this.eachAfter(function(e){for(var n=+t(e.data)||0,i=e.children,r=i&&i.length;--r>=0;)n+=i[r].value;e.value=n})},sort:function(t){return this.eachBefore(function(e){e.children&&e.children.sort(t)})},path:function(t){for(var e=this,n=function(t,e){if(t===e)return t;var n=t.ancestors(),i=e.ancestors(),r=null;for(t=n.pop(),e=i.pop();t===e;)r=t,t=n.pop(),e=i.pop();return r}(e,t),i=[e];e!==n;)e=e.parent,i.push(e);for(var r=i.length;t!==n;)i.splice(r,0,t),t=t.parent;return i},ancestors:function(){for(var t=this,e=[t];t=t.parent;)e.push(t);return e},descendants:function(){var t=[];return this.each(function(e){t.push(e)}),t},leaves:function(){var t=[];return this.eachBefore(function(e){e.children||t.push(e)}),t},links:function(){var t=this,e=[];return t.each(function(n){n!==t&&e.push({source:n.parent,target:n})}),e},copy:function(){return Vf(this).eachBefore(Jf)}};var Zf=Array.prototype.slice;var $f=function(t){for(var e,n,i=0,r=(t=function(t){for(var e,n,i=t.length;i;)n=Math.random()*i--|0,e=t[i],t[i]=t[n],t[n]=e;return t}(Zf.call(t))).length,a=[];i0&&n*n>i*i+r*r}function ih(t,e){for(var n=0;n(o*=o)?(i=(u+o-r)/(2*u),a=Math.sqrt(Math.max(0,o/u-i*i)),n.x=t.x-i*s-a*c,n.y=t.y-i*c+a*s):(i=(u+r-o)/(2*u),a=Math.sqrt(Math.max(0,r/u-i*i)),n.x=e.x+i*s-a*c,n.y=e.y+i*c+a*s)):(n.x=e.x+n.r,n.y=e.y)}function ch(t,e){var n=t.r+e.r-1e-6,i=e.x-t.x,r=e.y-t.y;return n>0&&n*n>i*i+r*r}function uh(t){var e=t._,n=t.next._,i=e.r+n.r,r=(e.x*n.r+n.x*e.r)/i,a=(e.y*n.r+n.y*e.r)/i;return r*r+a*a}function dh(t){this._=t,this.next=null,this.previous=null}function lh(t){if(!(r=t.length))return 0;var e,n,i,r,a,o,s,c,u,d,l;if((e=t[0]).x=0,e.y=0,!(r>1))return e.r;if(n=t[1],e.x=-n.r,n.x=e.r,n.y=0,!(r>2))return e.r+n.r;sh(n,e,i=t[2]),e=new dh(e),n=new dh(n),i=new dh(i),e.next=i.previous=n,n.next=e.previous=i,i.next=n.previous=e;t:for(s=3;s0)throw new Error("cycle");return a}return n.id=function(e){return arguments.length?(t=hh(e),n):t},n.parentId=function(t){return arguments.length?(e=hh(t),n):e},n};function Yh(t,e){return t.parent===e.parent?1:2}function kh(t){var e=t.children;return e?e[0]:t.t}function Dh(t){var e=t.children;return e?e[e.length-1]:t.t}function Nh(t,e,n){var i=n/(e.i-t.i);e.c-=i,e.s+=n,t.c+=i,e.z+=n,e.m+=n}function qh(t,e,n){return t.a.parent===e.parent?t.a:n}function Wh(t,e){this._=t,this.parent=null,this.children=null,this.A=null,this.a=this,this.z=0,this.m=0,this.c=0,this.s=0,this.t=null,this.i=e}Wh.prototype=Object.create(Qf.prototype);var Ph=function(){var t=Yh,e=1,n=1,i=null;function r(r){var c=function(t){for(var e,n,i,r,a,o=new Wh(t,0),s=[o];e=s.pop();)if(i=e._.children)for(e.children=new Array(a=i.length),r=a-1;r>=0;--r)s.push(n=e.children[r]=new Wh(i[r],r)),n.parent=e;return(o.parent=new Wh(null,0)).children=[o],o}(r);if(c.eachAfter(a),c.parent.m=-c.z,c.eachBefore(o),i)r.eachBefore(s);else{var u=r,d=r,l=r;r.eachBefore(function(t){t.xd.x&&(d=t),t.depth>l.depth&&(l=t)});var f=u===d?1:t(u,d)/2,h=f-u.x,p=e/(d.x+f+h),_=n/(l.depth||1);r.eachBefore(function(t){t.x=(t.x+h)*p,t.y=t.depth*_})}return r}function a(e){var n=e.children,i=e.parent.children,r=e.i?i[e.i-1]:null;if(n){!function(t){for(var e,n=0,i=0,r=t.children,a=r.length;--a>=0;)(e=r[a]).z+=n,e.m+=n,n+=e.s+(i+=e.c)}(e);var a=(n[0].z+n[n.length-1].z)/2;r?(e.z=r.z+t(e._,r._),e.m=e.z-a):e.z=a}else r&&(e.z=r.z+t(e._,r._));e.parent.A=function(e,n,i){if(n){for(var r,a=e,o=e,s=n,c=a.parent.children[0],u=a.m,d=o.m,l=s.m,f=c.m;s=Dh(s),a=kh(a),s&&a;)c=kh(c),(o=Dh(o)).a=e,(r=s.z+l-a.z-u+t(s._,a._))>0&&(Nh(qh(s,e,i),e,r),u+=r,d+=r),l+=s.m,u+=a.m,f+=c.m,d+=o.m;s&&!Dh(o)&&(o.t=s,o.m+=l-d),a&&!kh(c)&&(c.t=a,c.m+=u-f,i=e)}return i}(e,r,e.parent.A||i[0])}function o(t){t._.x=t.z+t.parent.m,t.m+=t.parent.m}function s(t){t.x*=e,t.y=t.depth*n}return r.separation=function(e){return arguments.length?(t=e,r):t},r.size=function(t){return arguments.length?(i=!1,e=+t[0],n=+t[1],r):i?null:[e,n]},r.nodeSize=function(t){return arguments.length?(i=!0,e=+t[0],n=+t[1],r):i?[e,n]:null},r},Eh=function(t,e,n,i,r){for(var a,o=t.children,s=-1,c=o.length,u=t.value&&(r-n)/t.value;++sf&&(f=s),M=d*d*_,(h=Math.max(f/M,M/l))>p){d-=s;break}p=h}m.push(o={value:d,dice:c1?e:1)},n}(Xh),Hh=function(){var t=Bh,e=!1,n=1,i=1,r=[0],a=ph,o=ph,s=ph,c=ph,u=ph;function d(t){return t.x0=t.y0=0,t.x1=n,t.y1=i,t.eachBefore(l),r=[0],e&&t.eachBefore(Lh),t}function l(e){var n=r[e.depth],i=e.x0+n,d=e.y0+n,l=e.x1-n,f=e.y1-n;l=n-1){var d=s[e];return d.x0=r,d.y0=a,d.x1=o,void(d.y1=c)}var l=u[e],f=i/2+l,h=e+1,p=n-1;for(;h>>1;u[_]c-a){var g=(r*m+o*M)/i;t(e,h,M,r,a,g,c),t(h,n,m,g,a,o,c)}else{var b=(a*m+c*M)/i;t(e,h,M,r,a,o,b),t(h,n,m,r,b,o,c)}}(0,c,t.value,e,n,i,r)},jh=function(t,e,n,i,r){(1&t.depth?Eh:Ah)(t,e,n,i,r)},Ih=function t(e){function n(t,n,i,r,a){if((o=t._squarify)&&o.ratio===e)for(var o,s,c,u,d,l=-1,f=o.length,h=t.value;++l1?e:1)},n}(Xh),Gh=function(t){for(var e,n=-1,i=t.length,r=t[i-1],a=0;++n1&&Vh(t[n[i-2]],t[n[i-1]],t[r])<=0;)--i;n[i++]=r}return n.slice(0,i)}var Kh=function(t){if((n=t.length)<3)return null;var e,n,i=new Array(n),r=new Array(n);for(e=0;e=0;--e)u.push(t[i[a[e]][2]]);for(e=+s;es!=u>s&&o<(c-n)*(s-i)/(u-i)+n&&(d=!d),c=n,u=i;return d},Zh=function(t){for(var e,n,i=-1,r=t.length,a=t[r-1],o=a[0],s=a[1],c=0;++i1);return t+n*a*Math.sqrt(-2*Math.log(r)/r)}}return n.source=t,n}($h),np=function t(e){function n(){var t=ep.source(e).apply(this,arguments);return function(){return Math.exp(t())}}return n.source=t,n}($h),ip=function t(e){function n(t){return function(){for(var n=0,i=0;i2?gp:mp,i=r=null,d}function d(e){return(i||(i=n(a,o,c?function(t){return function(e,n){var i=t(e=+e,n=+n);return function(t){return t<=e?0:t>=n?1:i(t)}}}(t):t,s)))(+e)}return d.invert=function(t){return(r||(r=n(o,a,Mp,c?function(t){return function(e,n){var i=t(e=+e,n=+n);return function(t){return t<=0?e:t>=1?n:i(t)}}}(e):e)))(+t)},d.domain=function(t){return arguments.length?(a=sp.call(t,pp),u()):a.slice()},d.range=function(t){return arguments.length?(o=cp.call(t),u()):o.slice()},d.rangeRound=function(t){return o=cp.call(t),s=Zn,u()},d.clamp=function(t){return arguments.length?(c=!!t,u()):c},d.interpolate=function(t){return arguments.length?(s=t,u()):s},u()}var Lp=function(t,e,n){var i,r=t[0],a=t[t.length-1],o=S(r,a,null==e?10:e);switch((n=Ns(null==n?",f":n)).type){case"s":var s=Math.max(Math.abs(r),Math.abs(a));return null!=n.precision||isNaN(i=Vs(o,s))||(n.precision=i),Xs(n,s);case"":case"e":case"g":case"p":case"r":null!=n.precision||isNaN(i=Us(o,Math.max(Math.abs(r),Math.abs(a))))||(n.precision=i-("e"===n.type));break;case"f":case"%":null!=n.precision||isNaN(i=Fs(o))||(n.precision=i-2*("%"===n.type))}return Es(n)};function Ap(t){var e=t.domain;return t.ticks=function(t){var n=e();return w(n[0],n[n.length-1],null==t?10:t)},t.tickFormat=function(t,n){return Lp(e(),t,n)},t.nice=function(n){null==n&&(n=10);var i,r=e(),a=0,o=r.length-1,s=r[a],c=r[o];return c0?i=T(s=Math.floor(s/i)*i,c=Math.ceil(c/i)*i,n):i<0&&(i=T(s=Math.ceil(s*i)/i,c=Math.floor(c*i)/i,n)),i>0?(r[a]=Math.floor(s/i)*i,r[o]=Math.ceil(c/i)*i,e(r)):i<0&&(r[a]=Math.ceil(s*i)/i,r[o]=Math.floor(c*i)/i,e(r)),t},t}function vp(){var t=yp(Mp,Rn);return t.copy=function(){return bp(t,vp())},Ap(t)}function zp(){var t=[0,1];function e(t){return+t}return e.invert=e,e.domain=e.range=function(n){return arguments.length?(t=sp.call(n,pp),e):t.slice()},e.copy=function(){return zp().domain(t)},Ap(e)}var xp=function(t,e){var n,i=0,r=(t=t.slice()).length-1,a=t[i],o=t[r];return o0){for(;fc)break;_.push(l)}}else for(;f=1;--d)if(!((l=u*d)c)break;_.push(l)}}else _=w(f,h,Math.min(h-f,p)).map(r);return a?_.reverse():_},t.tickFormat=function(e,a){if(null==a&&(a=10===n?".0e":","),"function"!=typeof a&&(a=Es(a)),e===1/0)return a;null==e&&(e=10);var o=Math.max(1,n*e/t.ticks().length);return function(t){var e=t/r(Math.round(i(t)));return e*n0?n[r-1]:t[0],r=n?[i[n-1],e]:[i[o-1],i[o]]},a.copy=function(){return Ep().domain([t,e]).range(r)},Ap(a)}function Xp(){var t=[.5],e=[0,1],n=1;function i(i){if(i<=i)return e[c(t,i,0,n)]}return i.domain=function(r){return arguments.length?(t=cp.call(r),n=Math.min(t.length,e.length-1),i):t.slice()},i.range=function(r){return arguments.length?(e=cp.call(r),n=Math.min(t.length,e.length-1),i):e.slice()},i.invertExtent=function(n){var i=e.indexOf(n);return[t[i-1],t[i]]},i.copy=function(){return Xp().domain(t).range(e)},i}var Cp=new Date,Bp=new Date;function Hp(t,e,n,i){function r(e){return t(e=new Date(+e)),e}return r.floor=r,r.ceil=function(n){return t(n=new Date(n-1)),e(n,1),t(n),n},r.round=function(t){var e=r(t),n=r.ceil(t);return t-e0))return s;do{s.push(o=new Date(+n)),e(n,a),t(n)}while(o=e)for(;t(e),!n(e);)e.setTime(e-1)},function(t,i){if(t>=t)if(i<0)for(;++i<=0;)for(;e(t,-1),!n(t););else for(;--i>=0;)for(;e(t,1),!n(t););})},n&&(r.count=function(e,i){return Cp.setTime(+e),Bp.setTime(+i),t(Cp),t(Bp),Math.floor(n(Cp,Bp))},r.every=function(t){return t=Math.floor(t),isFinite(t)&&t>0?t>1?r.filter(i?function(e){return i(e)%t==0}:function(e){return r.count(0,e)%t==0}):r:null}),r}var Rp=Hp(function(){},function(t,e){t.setTime(+t+e)},function(t,e){return e-t});Rp.every=function(t){return t=Math.floor(t),isFinite(t)&&t>0?t>1?Hp(function(e){e.setTime(Math.floor(e/t)*t)},function(e,n){e.setTime(+e+n*t)},function(e,n){return(n-e)/t}):Rp:null};var jp=Rp,Ip=Rp.range,Gp=6e4,Fp=6048e5,Vp=Hp(function(t){t.setTime(1e3*Math.floor(t/1e3))},function(t,e){t.setTime(+t+1e3*e)},function(t,e){return(e-t)/1e3},function(t){return t.getUTCSeconds()}),Up=Vp,Jp=Vp.range,Kp=Hp(function(t){t.setTime(Math.floor(t/Gp)*Gp)},function(t,e){t.setTime(+t+e*Gp)},function(t,e){return(e-t)/Gp},function(t){return t.getMinutes()}),Qp=Kp,Zp=Kp.range,$p=Hp(function(t){var e=t.getTimezoneOffset()*Gp%36e5;e<0&&(e+=36e5),t.setTime(36e5*Math.floor((+t-e)/36e5)+e)},function(t,e){t.setTime(+t+36e5*e)},function(t,e){return(e-t)/36e5},function(t){return t.getHours()}),t_=$p,e_=$p.range,n_=Hp(function(t){t.setHours(0,0,0,0)},function(t,e){t.setDate(t.getDate()+e)},function(t,e){return(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*Gp)/864e5},function(t){return t.getDate()-1}),i_=n_,r_=n_.range;function a_(t){return Hp(function(e){e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)},function(t,e){t.setDate(t.getDate()+7*e)},function(t,e){return(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*Gp)/Fp})}var o_=a_(0),s_=a_(1),c_=a_(2),u_=a_(3),d_=a_(4),l_=a_(5),f_=a_(6),h_=o_.range,p_=s_.range,__=c_.range,M_=u_.range,m_=d_.range,g_=l_.range,b_=f_.range,y_=Hp(function(t){t.setDate(1),t.setHours(0,0,0,0)},function(t,e){t.setMonth(t.getMonth()+e)},function(t,e){return e.getMonth()-t.getMonth()+12*(e.getFullYear()-t.getFullYear())},function(t){return t.getMonth()}),L_=y_,A_=y_.range,v_=Hp(function(t){t.setMonth(0,1),t.setHours(0,0,0,0)},function(t,e){t.setFullYear(t.getFullYear()+e)},function(t,e){return e.getFullYear()-t.getFullYear()},function(t){return t.getFullYear()});v_.every=function(t){return isFinite(t=Math.floor(t))&&t>0?Hp(function(e){e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)},function(e,n){e.setFullYear(e.getFullYear()+n*t)}):null};var z_=v_,x_=v_.range,w_=Hp(function(t){t.setUTCSeconds(0,0)},function(t,e){t.setTime(+t+e*Gp)},function(t,e){return(e-t)/Gp},function(t){return t.getUTCMinutes()}),T_=w_,S_=w_.range,O_=Hp(function(t){t.setUTCMinutes(0,0,0)},function(t,e){t.setTime(+t+36e5*e)},function(t,e){return(e-t)/36e5},function(t){return t.getUTCHours()}),Y_=O_,k_=O_.range,D_=Hp(function(t){t.setUTCHours(0,0,0,0)},function(t,e){t.setUTCDate(t.getUTCDate()+e)},function(t,e){return(e-t)/864e5},function(t){return t.getUTCDate()-1}),N_=D_,q_=D_.range;function W_(t){return Hp(function(e){e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)},function(t,e){t.setUTCDate(t.getUTCDate()+7*e)},function(t,e){return(e-t)/Fp})}var P_=W_(0),E_=W_(1),X_=W_(2),C_=W_(3),B_=W_(4),H_=W_(5),R_=W_(6),j_=P_.range,I_=E_.range,G_=X_.range,F_=C_.range,V_=B_.range,U_=H_.range,J_=R_.range,K_=Hp(function(t){t.setUTCDate(1),t.setUTCHours(0,0,0,0)},function(t,e){t.setUTCMonth(t.getUTCMonth()+e)},function(t,e){return e.getUTCMonth()-t.getUTCMonth()+12*(e.getUTCFullYear()-t.getUTCFullYear())},function(t){return t.getUTCMonth()}),Q_=K_,Z_=K_.range,$_=Hp(function(t){t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},function(t,e){t.setUTCFullYear(t.getUTCFullYear()+e)},function(t,e){return e.getUTCFullYear()-t.getUTCFullYear()},function(t){return t.getUTCFullYear()});$_.every=function(t){return isFinite(t=Math.floor(t))&&t>0?Hp(function(e){e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},function(e,n){e.setUTCFullYear(e.getUTCFullYear()+n*t)}):null};var tM=$_,eM=$_.range;function nM(t){if(0<=t.y&&t.y<100){var e=new Date(-1,t.m,t.d,t.H,t.M,t.S,t.L);return e.setFullYear(t.y),e}return new Date(t.y,t.m,t.d,t.H,t.M,t.S,t.L)}function iM(t){if(0<=t.y&&t.y<100){var e=new Date(Date.UTC(-1,t.m,t.d,t.H,t.M,t.S,t.L));return e.setUTCFullYear(t.y),e}return new Date(Date.UTC(t.y,t.m,t.d,t.H,t.M,t.S,t.L))}function rM(t){return{y:t,m:0,d:1,H:0,M:0,S:0,L:0}}function aM(t){var e=t.dateTime,n=t.date,i=t.time,r=t.periods,a=t.days,o=t.shortDays,s=t.months,c=t.shortMonths,u=mM(r),d=gM(r),l=mM(a),f=gM(a),h=mM(o),p=gM(o),_=mM(s),M=gM(s),m=mM(c),g=gM(c),b={a:function(t){return o[t.getDay()]},A:function(t){return a[t.getDay()]},b:function(t){return c[t.getMonth()]},B:function(t){return s[t.getMonth()]},c:null,d:XM,e:XM,f:jM,H:CM,I:BM,j:HM,L:RM,m:IM,M:GM,p:function(t){return r[+(t.getHours()>=12)]},Q:bm,s:ym,S:FM,u:VM,U:UM,V:JM,w:KM,W:QM,x:null,X:null,y:ZM,Y:$M,Z:tm,"%":gm},y={a:function(t){return o[t.getUTCDay()]},A:function(t){return a[t.getUTCDay()]},b:function(t){return c[t.getUTCMonth()]},B:function(t){return s[t.getUTCMonth()]},c:null,d:em,e:em,f:om,H:nm,I:im,j:rm,L:am,m:sm,M:cm,p:function(t){return r[+(t.getUTCHours()>=12)]},Q:bm,s:ym,S:um,u:dm,U:lm,V:fm,w:hm,W:pm,x:null,X:null,y:_m,Y:Mm,Z:mm,"%":gm},L={a:function(t,e,n){var i=h.exec(e.slice(n));return i?(t.w=p[i[0].toLowerCase()],n+i[0].length):-1},A:function(t,e,n){var i=l.exec(e.slice(n));return i?(t.w=f[i[0].toLowerCase()],n+i[0].length):-1},b:function(t,e,n){var i=m.exec(e.slice(n));return i?(t.m=g[i[0].toLowerCase()],n+i[0].length):-1},B:function(t,e,n){var i=_.exec(e.slice(n));return i?(t.m=M[i[0].toLowerCase()],n+i[0].length):-1},c:function(t,n,i){return z(t,e,n,i)},d:SM,e:SM,f:qM,H:YM,I:YM,j:OM,L:NM,m:TM,M:kM,p:function(t,e,n){var i=u.exec(e.slice(n));return i?(t.p=d[i[0].toLowerCase()],n+i[0].length):-1},Q:PM,s:EM,S:DM,u:yM,U:LM,V:AM,w:bM,W:vM,x:function(t,e,i){return z(t,n,e,i)},X:function(t,e,n){return z(t,i,e,n)},y:xM,Y:zM,Z:wM,"%":WM};function A(t,e){return function(n){var i,r,a,o=[],s=-1,c=0,u=t.length;for(n instanceof Date||(n=new Date(+n));++s53)return null;"w"in a||(a.w=1),"Z"in a?(i=(r=(i=iM(rM(a.y))).getUTCDay())>4||0===r?E_.ceil(i):E_(i),i=N_.offset(i,7*(a.V-1)),a.y=i.getUTCFullYear(),a.m=i.getUTCMonth(),a.d=i.getUTCDate()+(a.w+6)%7):(i=(r=(i=e(rM(a.y))).getDay())>4||0===r?s_.ceil(i):s_(i),i=i_.offset(i,7*(a.V-1)),a.y=i.getFullYear(),a.m=i.getMonth(),a.d=i.getDate()+(a.w+6)%7)}else("W"in a||"U"in a)&&("w"in a||(a.w="u"in a?a.u%7:"W"in a?1:0),r="Z"in a?iM(rM(a.y)).getUTCDay():e(rM(a.y)).getDay(),a.m=0,a.d="W"in a?(a.w+6)%7+7*a.W-(r+5)%7:a.w+7*a.U-(r+6)%7);return"Z"in a?(a.H+=a.Z/100|0,a.M+=a.Z%100,iM(a)):e(a)}}function z(t,e,n,i){for(var r,a,o=0,s=e.length,c=n.length;o=c)return-1;if(37===(r=e.charCodeAt(o++))){if(r=e.charAt(o++),!(a=L[r in lM?e.charAt(o++):r])||(i=a(t,n,i))<0)return-1}else if(r!=n.charCodeAt(i++))return-1}return i}return b.x=A(n,b),b.X=A(i,b),b.c=A(e,b),y.x=A(n,y),y.X=A(i,y),y.c=A(e,y),{format:function(t){var e=A(t+="",b);return e.toString=function(){return t},e},parse:function(t){var e=v(t+="",nM);return e.toString=function(){return t},e},utcFormat:function(t){var e=A(t+="",y);return e.toString=function(){return t},e},utcParse:function(t){var e=v(t,iM);return e.toString=function(){return t},e}}}var oM,sM,cM,uM,dM,lM={"-":"",_:" ",0:"0"},fM=/^\s*\d+/,hM=/^%/,pM=/[\\^$*+?|[\]().{}]/g;function _M(t,e,n){var i=t<0?"-":"",r=(i?-t:t)+"",a=r.length;return i+(a68?1900:2e3),n+i[0].length):-1}function wM(t,e,n){var i=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(n,n+6));return i?(t.Z=i[1]?0:-(i[2]+(i[3]||"00")),n+i[0].length):-1}function TM(t,e,n){var i=fM.exec(e.slice(n,n+2));return i?(t.m=i[0]-1,n+i[0].length):-1}function SM(t,e,n){var i=fM.exec(e.slice(n,n+2));return i?(t.d=+i[0],n+i[0].length):-1}function OM(t,e,n){var i=fM.exec(e.slice(n,n+3));return i?(t.m=0,t.d=+i[0],n+i[0].length):-1}function YM(t,e,n){var i=fM.exec(e.slice(n,n+2));return i?(t.H=+i[0],n+i[0].length):-1}function kM(t,e,n){var i=fM.exec(e.slice(n,n+2));return i?(t.M=+i[0],n+i[0].length):-1}function DM(t,e,n){var i=fM.exec(e.slice(n,n+2));return i?(t.S=+i[0],n+i[0].length):-1}function NM(t,e,n){var i=fM.exec(e.slice(n,n+3));return i?(t.L=+i[0],n+i[0].length):-1}function qM(t,e,n){var i=fM.exec(e.slice(n,n+6));return i?(t.L=Math.floor(i[0]/1e3),n+i[0].length):-1}function WM(t,e,n){var i=hM.exec(e.slice(n,n+1));return i?n+i[0].length:-1}function PM(t,e,n){var i=fM.exec(e.slice(n));return i?(t.Q=+i[0],n+i[0].length):-1}function EM(t,e,n){var i=fM.exec(e.slice(n));return i?(t.Q=1e3*+i[0],n+i[0].length):-1}function XM(t,e){return _M(t.getDate(),e,2)}function CM(t,e){return _M(t.getHours(),e,2)}function BM(t,e){return _M(t.getHours()%12||12,e,2)}function HM(t,e){return _M(1+i_.count(z_(t),t),e,3)}function RM(t,e){return _M(t.getMilliseconds(),e,3)}function jM(t,e){return RM(t,e)+"000"}function IM(t,e){return _M(t.getMonth()+1,e,2)}function GM(t,e){return _M(t.getMinutes(),e,2)}function FM(t,e){return _M(t.getSeconds(),e,2)}function VM(t){var e=t.getDay();return 0===e?7:e}function UM(t,e){return _M(o_.count(z_(t),t),e,2)}function JM(t,e){var n=t.getDay();return t=n>=4||0===n?d_(t):d_.ceil(t),_M(d_.count(z_(t),t)+(4===z_(t).getDay()),e,2)}function KM(t){return t.getDay()}function QM(t,e){return _M(s_.count(z_(t),t),e,2)}function ZM(t,e){return _M(t.getFullYear()%100,e,2)}function $M(t,e){return _M(t.getFullYear()%1e4,e,4)}function tm(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+_M(e/60|0,"0",2)+_M(e%60,"0",2)}function em(t,e){return _M(t.getUTCDate(),e,2)}function nm(t,e){return _M(t.getUTCHours(),e,2)}function im(t,e){return _M(t.getUTCHours()%12||12,e,2)}function rm(t,e){return _M(1+N_.count(tM(t),t),e,3)}function am(t,e){return _M(t.getUTCMilliseconds(),e,3)}function om(t,e){return am(t,e)+"000"}function sm(t,e){return _M(t.getUTCMonth()+1,e,2)}function cm(t,e){return _M(t.getUTCMinutes(),e,2)}function um(t,e){return _M(t.getUTCSeconds(),e,2)}function dm(t){var e=t.getUTCDay();return 0===e?7:e}function lm(t,e){return _M(P_.count(tM(t),t),e,2)}function fm(t,e){var n=t.getUTCDay();return t=n>=4||0===n?B_(t):B_.ceil(t),_M(B_.count(tM(t),t)+(4===tM(t).getUTCDay()),e,2)}function hm(t){return t.getUTCDay()}function pm(t,e){return _M(E_.count(tM(t),t),e,2)}function _m(t,e){return _M(t.getUTCFullYear()%100,e,2)}function Mm(t,e){return _M(t.getUTCFullYear()%1e4,e,4)}function mm(){return"+0000"}function gm(){return"%"}function bm(t){return+t}function ym(t){return Math.floor(+t/1e3)}function Lm(t){return oM=aM(t),sM=oM.format,cM=oM.parse,uM=oM.utcFormat,dM=oM.utcParse,oM}Lm({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});var Am=Date.prototype.toISOString?function(t){return t.toISOString()}:uM("%Y-%m-%dT%H:%M:%S.%LZ");var vm=+new Date("2000-01-01T00:00:00.000Z")?function(t){var e=new Date(t);return isNaN(e)?null:e}:dM("%Y-%m-%dT%H:%M:%S.%LZ"),zm=1e3,xm=60*zm,wm=60*xm,Tm=24*wm,Sm=7*Tm,Om=30*Tm,Ym=365*Tm;function km(t){return new Date(t)}function Dm(t){return t instanceof Date?+t:+new Date(+t)}function Nm(t,e,n,i,a,o,s,c,u){var d=yp(Mp,Rn),l=d.invert,f=d.domain,h=u(".%L"),p=u(":%S"),_=u("%I:%M"),M=u("%I %p"),m=u("%a %d"),g=u("%b %d"),b=u("%B"),y=u("%Y"),L=[[s,1,zm],[s,5,5*zm],[s,15,15*zm],[s,30,30*zm],[o,1,xm],[o,5,5*xm],[o,15,15*xm],[o,30,30*xm],[a,1,wm],[a,3,3*wm],[a,6,6*wm],[a,12,12*wm],[i,1,Tm],[i,2,2*Tm],[n,1,Sm],[e,1,Om],[e,3,3*Om],[t,1,Ym]];function A(r){return(s(r)1)&&(t-=Math.floor(t));var e=Math.abs(t-.5);return Qg.h=360*t-100,Qg.s=1.5-1.5*e,Qg.l=.8-.9*e,Qg+""},$g=Ge(),tb=Math.PI/3,eb=2*Math.PI/3,nb=function(t){var e;return t=(.5-t)*Math.PI,$g.r=255*(e=Math.sin(t))*e,$g.g=255*(e=Math.sin(t+tb))*e,$g.b=255*(e=Math.sin(t+eb))*e,$g+""};function ib(t){var e=t.length;return function(n){return t[Math.max(0,Math.min(e-1,Math.floor(n*e)))]}}var rb=ib(Em("44015444025645045745055946075a46085c460a5d460b5e470d60470e6147106347116447136548146748166848176948186a481a6c481b6d481c6e481d6f481f70482071482173482374482475482576482677482878482979472a7a472c7a472d7b472e7c472f7d46307e46327e46337f463480453581453781453882443983443a83443b84433d84433e85423f854240864241864142874144874045884046883f47883f48893e49893e4a893e4c8a3d4d8a3d4e8a3c4f8a3c508b3b518b3b528b3a538b3a548c39558c39568c38588c38598c375a8c375b8d365c8d365d8d355e8d355f8d34608d34618d33628d33638d32648e32658e31668e31678e31688e30698e306a8e2f6b8e2f6c8e2e6d8e2e6e8e2e6f8e2d708e2d718e2c718e2c728e2c738e2b748e2b758e2a768e2a778e2a788e29798e297a8e297b8e287c8e287d8e277e8e277f8e27808e26818e26828e26828e25838e25848e25858e24868e24878e23888e23898e238a8d228b8d228c8d228d8d218e8d218f8d21908d21918c20928c20928c20938c1f948c1f958b1f968b1f978b1f988b1f998a1f9a8a1e9b8a1e9c891e9d891f9e891f9f881fa0881fa1881fa1871fa28720a38620a48621a58521a68522a78522a88423a98324aa8325ab8225ac8226ad8127ad8128ae8029af7f2ab07f2cb17e2db27d2eb37c2fb47c31b57b32b67a34b67935b77937b87838b9773aba763bbb753dbc743fbc7340bd7242be7144bf7046c06f48c16e4ac16d4cc26c4ec36b50c46a52c56954c56856c66758c7655ac8645cc8635ec96260ca6063cb5f65cb5e67cc5c69cd5b6ccd5a6ece5870cf5773d05675d05477d1537ad1517cd2507fd34e81d34d84d44b86d54989d5488bd6468ed64590d74393d74195d84098d83e9bd93c9dd93ba0da39a2da37a5db36a8db34aadc32addc30b0dd2fb2dd2db5de2bb8de29bade28bddf26c0df25c2df23c5e021c8e020cae11fcde11dd0e11cd2e21bd5e21ad8e219dae319dde318dfe318e2e418e5e419e7e419eae51aece51befe51cf1e51df4e61ef6e620f8e621fbe723fde725")),ab=ib(Em("00000401000501010601010802010902020b02020d03030f03031204041405041606051806051a07061c08071e0907200a08220b09240c09260d0a290e0b2b100b2d110c2f120d31130d34140e36150e38160f3b180f3d19103f1a10421c10441d11471e114920114b21114e22115024125325125527125829115a2a115c2c115f2d11612f116331116533106734106936106b38106c390f6e3b0f703d0f713f0f72400f74420f75440f764510774710784910784a10794c117a4e117b4f127b51127c52137c54137d56147d57157e59157e5a167e5c167f5d177f5f187f601880621980641a80651a80671b80681c816a1c816b1d816d1d816e1e81701f81721f817320817521817621817822817922827b23827c23827e24828025828125818326818426818627818827818928818b29818c29818e2a81902a81912b81932b80942c80962c80982d80992d809b2e7f9c2e7f9e2f7fa02f7fa1307ea3307ea5317ea6317da8327daa337dab337cad347cae347bb0357bb2357bb3367ab5367ab73779b83779ba3878bc3978bd3977bf3a77c03a76c23b75c43c75c53c74c73d73c83e73ca3e72cc3f71cd4071cf4070d0416fd2426fd3436ed5446dd6456cd8456cd9466bdb476adc4869de4968df4a68e04c67e24d66e34e65e44f64e55064e75263e85362e95462ea5661eb5760ec5860ed5a5fee5b5eef5d5ef05f5ef1605df2625df2645cf3655cf4675cf4695cf56b5cf66c5cf66e5cf7705cf7725cf8745cf8765cf9785df9795df97b5dfa7d5efa7f5efa815ffb835ffb8560fb8761fc8961fc8a62fc8c63fc8e64fc9065fd9266fd9467fd9668fd9869fd9a6afd9b6bfe9d6cfe9f6dfea16efea36ffea571fea772fea973feaa74feac76feae77feb078feb27afeb47bfeb67cfeb77efeb97ffebb81febd82febf84fec185fec287fec488fec68afec88cfeca8dfecc8ffecd90fecf92fed194fed395fed597fed799fed89afdda9cfddc9efddea0fde0a1fde2a3fde3a5fde5a7fde7a9fde9aafdebacfcecaefceeb0fcf0b2fcf2b4fcf4b6fcf6b8fcf7b9fcf9bbfcfbbdfcfdbf")),ob=ib(Em("00000401000501010601010802010a02020c02020e03021004031204031405041706041907051b08051d09061f0a07220b07240c08260d08290e092b10092d110a30120a32140b34150b37160b39180c3c190c3e1b0c411c0c431e0c451f0c48210c4a230c4c240c4f260c51280b53290b552b0b572d0b592f0a5b310a5c320a5e340a5f3609613809623909633b09643d09653e0966400a67420a68440a68450a69470b6a490b6a4a0c6b4c0c6b4d0d6c4f0d6c510e6c520e6d540f6d550f6d57106e59106e5a116e5c126e5d126e5f136e61136e62146e64156e65156e67166e69166e6a176e6c186e6d186e6f196e71196e721a6e741a6e751b6e771c6d781c6d7a1d6d7c1d6d7d1e6d7f1e6c801f6c82206c84206b85216b87216b88226a8a226a8c23698d23698f24699025689225689326679526679727669827669a28659b29649d29649f2a63a02a63a22b62a32c61a52c60a62d60a82e5fa92e5eab2f5ead305dae305cb0315bb1325ab3325ab43359b63458b73557b93556ba3655bc3754bd3853bf3952c03a51c13a50c33b4fc43c4ec63d4dc73e4cc83f4bca404acb4149cc4248ce4347cf4446d04545d24644d34743d44842d54a41d74b3fd84c3ed94d3dda4e3cdb503bdd513ade5238df5337e05536e15635e25734e35933e45a31e55c30e65d2fe75e2ee8602de9612bea632aeb6429eb6628ec6726ed6925ee6a24ef6c23ef6e21f06f20f1711ff1731df2741cf3761bf37819f47918f57b17f57d15f67e14f68013f78212f78410f8850ff8870ef8890cf98b0bf98c0af98e09fa9008fa9207fa9407fb9606fb9706fb9906fb9b06fb9d07fc9f07fca108fca309fca50afca60cfca80dfcaa0ffcac11fcae12fcb014fcb216fcb418fbb61afbb81dfbba1ffbbc21fbbe23fac026fac228fac42afac62df9c72ff9c932f9cb35f8cd37f8cf3af7d13df7d340f6d543f6d746f5d949f5db4cf4dd4ff4df53f4e156f3e35af3e55df2e661f2e865f2ea69f1ec6df1ed71f1ef75f1f179f2f27df2f482f3f586f3f68af4f88ef5f992f6fa96f8fb9af9fc9dfafda1fcffa4")),sb=ib(Em("0d088710078813078916078a19068c1b068d1d068e20068f2206902406912605912805922a05932c05942e05952f059631059733059735049837049938049a3a049a3c049b3e049c3f049c41049d43039e44039e46039f48039f4903a04b03a14c02a14e02a25002a25102a35302a35502a45601a45801a45901a55b01a55c01a65e01a66001a66100a76300a76400a76600a76700a86900a86a00a86c00a86e00a86f00a87100a87201a87401a87501a87701a87801a87a02a87b02a87d03a87e03a88004a88104a78305a78405a78606a68707a68808a68a09a58b0aa58d0ba58e0ca48f0da4910ea3920fa39410a29511a19613a19814a099159f9a169f9c179e9d189d9e199da01a9ca11b9ba21d9aa31e9aa51f99a62098a72197a82296aa2395ab2494ac2694ad2793ae2892b02991b12a90b22b8fb32c8eb42e8db52f8cb6308bb7318ab83289ba3388bb3488bc3587bd3786be3885bf3984c03a83c13b82c23c81c33d80c43e7fc5407ec6417dc7427cc8437bc9447aca457acb4679cc4778cc4977cd4a76ce4b75cf4c74d04d73d14e72d24f71d35171d45270d5536fd5546ed6556dd7566cd8576bd9586ada5a6ada5b69db5c68dc5d67dd5e66de5f65de6164df6263e06363e16462e26561e26660e3685fe4695ee56a5de56b5de66c5ce76e5be76f5ae87059e97158e97257ea7457eb7556eb7655ec7754ed7953ed7a52ee7b51ef7c51ef7e50f07f4ff0804ef1814df1834cf2844bf3854bf3874af48849f48948f58b47f58c46f68d45f68f44f79044f79143f79342f89441f89540f9973ff9983ef99a3efa9b3dfa9c3cfa9e3bfb9f3afba139fba238fca338fca537fca636fca835fca934fdab33fdac33fdae32fdaf31fdb130fdb22ffdb42ffdb52efeb72dfeb82cfeba2cfebb2bfebd2afebe2afec029fdc229fdc328fdc527fdc627fdc827fdca26fdcb26fccd25fcce25fcd025fcd225fbd324fbd524fbd724fad824fada24f9dc24f9dd25f8df25f8e125f7e225f7e425f6e626f6e826f5e926f5eb27f4ed27f3ee27f3f027f2f227f1f426f1f525f0f724f0f921")),cb=function(t){return function(){return t}},ub=Math.abs,db=Math.atan2,lb=Math.cos,fb=Math.max,hb=Math.min,pb=Math.sin,_b=Math.sqrt,Mb=1e-12,mb=Math.PI,gb=mb/2,bb=2*mb;function yb(t){return t>=1?gb:t<=-1?-gb:Math.asin(t)}function Lb(t){return t.innerRadius}function Ab(t){return t.outerRadius}function vb(t){return t.startAngle}function zb(t){return t.endAngle}function xb(t){return t&&t.padAngle}function wb(t,e,n,i,r,a,o){var s=t-n,c=e-i,u=(o?a:-a)/_b(s*s+c*c),d=u*c,l=-u*s,f=t+d,h=e+l,p=n+d,_=i+l,M=(f+p)/2,m=(h+_)/2,g=p-f,b=_-h,y=g*g+b*b,L=r-a,A=f*_-p*h,v=(b<0?-1:1)*_b(fb(0,L*L*y-A*A)),z=(A*b-g*v)/y,x=(-A*g-b*v)/y,w=(A*b+g*v)/y,T=(-A*g+b*v)/y,S=z-M,O=x-m,Y=w-M,k=T-m;return S*S+O*O>Y*Y+k*k&&(z=w,x=T),{cx:z,cy:x,x01:-d,y01:-l,x11:z*(r/L-1),y11:x*(r/L-1)}}var Tb=function(){var t=Lb,e=Ab,n=cb(0),i=null,r=vb,a=zb,o=xb,s=null;function c(){var c,u,d,l=+t.apply(this,arguments),f=+e.apply(this,arguments),h=r.apply(this,arguments)-gb,p=a.apply(this,arguments)-gb,_=ub(p-h),M=p>h;if(s||(s=c=Ba()),fMb)if(_>bb-Mb)s.moveTo(f*lb(h),f*pb(h)),s.arc(0,0,f,h,p,!M),l>Mb&&(s.moveTo(l*lb(p),l*pb(p)),s.arc(0,0,l,p,h,M));else{var m,g,b=h,y=p,L=h,A=p,v=_,z=_,x=o.apply(this,arguments)/2,w=x>Mb&&(i?+i.apply(this,arguments):_b(l*l+f*f)),T=hb(ub(f-l)/2,+n.apply(this,arguments)),S=T,O=T;if(w>Mb){var Y=yb(w/l*pb(x)),k=yb(w/f*pb(x));(v-=2*Y)>Mb?(L+=Y*=M?1:-1,A-=Y):(v=0,L=A=(h+p)/2),(z-=2*k)>Mb?(b+=k*=M?1:-1,y-=k):(z=0,b=y=(h+p)/2)}var D=f*lb(b),N=f*pb(b),q=l*lb(A),W=l*pb(A);if(T>Mb){var P=f*lb(y),E=f*pb(y),X=l*lb(L),C=l*pb(L);if(_Mb?function(t,e,n,i,r,a,o,s){var c=n-t,u=i-e,d=o-r,l=s-a,f=(d*(e-a)-l*(t-r))/(l*c-d*u);return[t+f*c,e+f*u]}(D,N,X,C,P,E,q,W):[q,W],H=D-B[0],R=N-B[1],j=P-B[0],I=E-B[1],G=1/pb(((d=(H*j+R*I)/(_b(H*H+R*R)*_b(j*j+I*I)))>1?0:d<-1?mb:Math.acos(d))/2),F=_b(B[0]*B[0]+B[1]*B[1]);S=hb(T,(l-F)/(G-1)),O=hb(T,(f-F)/(G+1))}}z>Mb?O>Mb?(m=wb(X,C,D,N,f,O,M),g=wb(P,E,q,W,f,O,M),s.moveTo(m.cx+m.x01,m.cy+m.y01),OMb&&v>Mb?S>Mb?(m=wb(q,W,P,E,l,-S,M),g=wb(D,N,X,C,l,-S,M),s.lineTo(m.cx+m.x01,m.cy+m.y01),S=d;--l)s.point(M[l],m[l]);s.lineEnd(),s.areaEnd()}_&&(M[u]=+t(f,u,c),m[u]=+n(f,u,c),s.point(e?+e(f,u,c):M[u],i?+i(f,u,c):m[u]))}if(h)return s=null,h+""||null}function u(){return Db().defined(r).curve(o).context(a)}return c.x=function(n){return arguments.length?(t="function"==typeof n?n:cb(+n),e=null,c):t},c.x0=function(e){return arguments.length?(t="function"==typeof e?e:cb(+e),c):t},c.x1=function(t){return arguments.length?(e=null==t?null:"function"==typeof t?t:cb(+t),c):e},c.y=function(t){return arguments.length?(n="function"==typeof t?t:cb(+t),i=null,c):n},c.y0=function(t){return arguments.length?(n="function"==typeof t?t:cb(+t),c):n},c.y1=function(t){return arguments.length?(i=null==t?null:"function"==typeof t?t:cb(+t),c):i},c.lineX0=c.lineY0=function(){return u().x(t).y(n)},c.lineY1=function(){return u().x(t).y(i)},c.lineX1=function(){return u().x(e).y(n)},c.defined=function(t){return arguments.length?(r="function"==typeof t?t:cb(!!t),c):r},c.curve=function(t){return arguments.length?(o=t,null!=a&&(s=o(a)),c):o},c.context=function(t){return arguments.length?(null==t?a=s=null:s=o(a=t),c):a},c},qb=function(t,e){return et?1:e>=t?0:NaN},Wb=function(t){return t},Pb=function(){var t=Wb,e=qb,n=null,i=cb(0),r=cb(bb),a=cb(0);function o(o){var s,c,u,d,l,f=o.length,h=0,p=new Array(f),_=new Array(f),M=+i.apply(this,arguments),m=Math.min(bb,Math.max(-bb,r.apply(this,arguments)-M)),g=Math.min(Math.abs(m)/f,a.apply(this,arguments)),b=g*(m<0?-1:1);for(s=0;s0&&(h+=l);for(null!=e?p.sort(function(t,n){return e(_[t],_[n])}):null!=n&&p.sort(function(t,e){return n(o[t],o[e])}),s=0,u=h?(m-f*b)/h:0;s0?l*u:0)+b,_[c]={data:o[c],index:s,value:l,startAngle:M,endAngle:d,padAngle:g};return _}return o.value=function(e){return arguments.length?(t="function"==typeof e?e:cb(+e),o):t},o.sortValues=function(t){return arguments.length?(e=t,n=null,o):e},o.sort=function(t){return arguments.length?(n=t,e=null,o):n},o.startAngle=function(t){return arguments.length?(i="function"==typeof t?t:cb(+t),o):i},o.endAngle=function(t){return arguments.length?(r="function"==typeof t?t:cb(+t),o):r},o.padAngle=function(t){return arguments.length?(a="function"==typeof t?t:cb(+t),o):a},o},Eb=Cb(Ob);function Xb(t){this._curve=t}function Cb(t){function e(e){return new Xb(t(e))}return e._curve=t,e}function Bb(t){var e=t.curve;return t.angle=t.x,delete t.x,t.radius=t.y,delete t.y,t.curve=function(t){return arguments.length?e(Cb(t)):e()._curve},t}Xb.prototype={areaStart:function(){this._curve.areaStart()},areaEnd:function(){this._curve.areaEnd()},lineStart:function(){this._curve.lineStart()},lineEnd:function(){this._curve.lineEnd()},point:function(t,e){this._curve.point(e*Math.sin(t),e*-Math.cos(t))}};var Hb=function(){return Bb(Db().curve(Eb))},Rb=function(){var t=Nb().curve(Eb),e=t.curve,n=t.lineX0,i=t.lineX1,r=t.lineY0,a=t.lineY1;return t.angle=t.x,delete t.x,t.startAngle=t.x0,delete t.x0,t.endAngle=t.x1,delete t.x1,t.radius=t.y,delete t.y,t.innerRadius=t.y0,delete t.y0,t.outerRadius=t.y1,delete t.y1,t.lineStartAngle=function(){return Bb(n())},delete t.lineX0,t.lineEndAngle=function(){return Bb(i())},delete t.lineX1,t.lineInnerRadius=function(){return Bb(r())},delete t.lineY0,t.lineOuterRadius=function(){return Bb(a())},delete t.lineY1,t.curve=function(t){return arguments.length?e(Cb(t)):e()._curve},t},jb=function(t,e){return[(e=+e)*Math.cos(t-=Math.PI/2),e*Math.sin(t)]},Ib=Array.prototype.slice;function Gb(t){return t.source}function Fb(t){return t.target}function Vb(t){var e=Gb,n=Fb,i=Yb,r=kb,a=null;function o(){var o,s=Ib.call(arguments),c=e.apply(this,s),u=n.apply(this,s);if(a||(a=o=Ba()),t(a,+i.apply(this,(s[0]=c,s)),+r.apply(this,s),+i.apply(this,(s[0]=u,s)),+r.apply(this,s)),o)return a=null,o+""||null}return o.source=function(t){return arguments.length?(e=t,o):e},o.target=function(t){return arguments.length?(n=t,o):n},o.x=function(t){return arguments.length?(i="function"==typeof t?t:cb(+t),o):i},o.y=function(t){return arguments.length?(r="function"==typeof t?t:cb(+t),o):r},o.context=function(t){return arguments.length?(a=null==t?null:t,o):a},o}function Ub(t,e,n,i,r){t.moveTo(e,n),t.bezierCurveTo(e=(e+i)/2,n,e,r,i,r)}function Jb(t,e,n,i,r){t.moveTo(e,n),t.bezierCurveTo(e,n=(n+r)/2,i,n,i,r)}function Kb(t,e,n,i,r){var a=jb(e,n),o=jb(e,n=(n+r)/2),s=jb(i,n),c=jb(i,r);t.moveTo(a[0],a[1]),t.bezierCurveTo(o[0],o[1],s[0],s[1],c[0],c[1])}function Qb(){return Vb(Ub)}function Zb(){return Vb(Jb)}function $b(){var t=Vb(Kb);return t.angle=t.x,delete t.x,t.radius=t.y,delete t.y,t}var ty={draw:function(t,e){var n=Math.sqrt(e/mb);t.moveTo(n,0),t.arc(0,0,n,0,bb)}},ey={draw:function(t,e){var n=Math.sqrt(e/5)/2;t.moveTo(-3*n,-n),t.lineTo(-n,-n),t.lineTo(-n,-3*n),t.lineTo(n,-3*n),t.lineTo(n,-n),t.lineTo(3*n,-n),t.lineTo(3*n,n),t.lineTo(n,n),t.lineTo(n,3*n),t.lineTo(-n,3*n),t.lineTo(-n,n),t.lineTo(-3*n,n),t.closePath()}},ny=Math.sqrt(1/3),iy=2*ny,ry={draw:function(t,e){var n=Math.sqrt(e/iy),i=n*ny;t.moveTo(0,-n),t.lineTo(i,0),t.lineTo(0,n),t.lineTo(-i,0),t.closePath()}},ay=Math.sin(mb/10)/Math.sin(7*mb/10),oy=Math.sin(bb/10)*ay,sy=-Math.cos(bb/10)*ay,cy={draw:function(t,e){var n=Math.sqrt(.8908130915292852*e),i=oy*n,r=sy*n;t.moveTo(0,-n),t.lineTo(i,r);for(var a=1;a<5;++a){var o=bb*a/5,s=Math.cos(o),c=Math.sin(o);t.lineTo(c*n,-s*n),t.lineTo(s*i-c*r,c*i+s*r)}t.closePath()}},uy={draw:function(t,e){var n=Math.sqrt(e),i=-n/2;t.rect(i,i,n,n)}},dy=Math.sqrt(3),ly={draw:function(t,e){var n=-Math.sqrt(e/(3*dy));t.moveTo(0,2*n),t.lineTo(-dy*n,-n),t.lineTo(dy*n,-n),t.closePath()}},fy=Math.sqrt(3)/2,hy=1/Math.sqrt(12),py=3*(hy/2+1),_y={draw:function(t,e){var n=Math.sqrt(e/py),i=n/2,r=n*hy,a=i,o=n*hy+n,s=-a,c=o;t.moveTo(i,r),t.lineTo(a,o),t.lineTo(s,c),t.lineTo(-.5*i-fy*r,fy*i+-.5*r),t.lineTo(-.5*a-fy*o,fy*a+-.5*o),t.lineTo(-.5*s-fy*c,fy*s+-.5*c),t.lineTo(-.5*i+fy*r,-.5*r-fy*i),t.lineTo(-.5*a+fy*o,-.5*o-fy*a),t.lineTo(-.5*s+fy*c,-.5*c-fy*s),t.closePath()}},My=[ty,ey,ry,uy,cy,ly,_y],my=function(){var t=cb(ty),e=cb(64),n=null;function i(){var i;if(n||(n=i=Ba()),t.apply(this,arguments).draw(n,+e.apply(this,arguments)),i)return n=null,i+""||null}return i.type=function(e){return arguments.length?(t="function"==typeof e?e:cb(e),i):t},i.size=function(t){return arguments.length?(e="function"==typeof t?t:cb(+t),i):e},i.context=function(t){return arguments.length?(n=null==t?null:t,i):n},i},gy=function(){};function by(t,e,n){t._context.bezierCurveTo((2*t._x0+t._x1)/3,(2*t._y0+t._y1)/3,(t._x0+2*t._x1)/3,(t._y0+2*t._y1)/3,(t._x0+4*t._x1+e)/6,(t._y0+4*t._y1+n)/6)}function yy(t){this._context=t}yy.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:by(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:by(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};var Ly=function(t){return new yy(t)};function Ay(t){this._context=t}Ay.prototype={areaStart:gy,areaEnd:gy,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x2,this._y2),this._context.closePath();break;case 2:this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break;case 3:this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4)}},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x2=t,this._y2=e;break;case 1:this._point=2,this._x3=t,this._y3=e;break;case 2:this._point=3,this._x4=t,this._y4=e,this._context.moveTo((this._x0+4*this._x1+t)/6,(this._y0+4*this._y1+e)/6);break;default:by(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};var vy=function(t){return new Ay(t)};function zy(t){this._context=t}zy.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var n=(this._x0+4*this._x1+t)/6,i=(this._y0+4*this._y1+e)/6;this._line?this._context.lineTo(n,i):this._context.moveTo(n,i);break;case 3:this._point=4;default:by(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};var xy=function(t){return new zy(t)};function wy(t,e){this._basis=new yy(t),this._beta=e}wy.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var t=this._x,e=this._y,n=t.length-1;if(n>0)for(var i,r=t[0],a=e[0],o=t[n]-r,s=e[n]-a,c=-1;++c<=n;)i=c/n,this._basis.point(this._beta*t[c]+(1-this._beta)*(r+i*o),this._beta*e[c]+(1-this._beta)*(a+i*s));this._x=this._y=null,this._basis.lineEnd()},point:function(t,e){this._x.push(+t),this._y.push(+e)}};var Ty=function t(e){function n(t){return 1===e?new yy(t):new wy(t,e)}return n.beta=function(e){return t(+e)},n}(.85);function Sy(t,e,n){t._context.bezierCurveTo(t._x1+t._k*(t._x2-t._x0),t._y1+t._k*(t._y2-t._y0),t._x2+t._k*(t._x1-e),t._y2+t._k*(t._y1-n),t._x2,t._y2)}function Oy(t,e){this._context=t,this._k=(1-e)/6}Oy.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:Sy(this,this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2,this._x1=t,this._y1=e;break;case 2:this._point=3;default:Sy(this,t,e)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var Yy=function t(e){function n(t){return new Oy(t,e)}return n.tension=function(e){return t(+e)},n}(0);function ky(t,e){this._context=t,this._k=(1-e)/6}ky.prototype={areaStart:gy,areaEnd:gy,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:Sy(this,t,e)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var Dy=function t(e){function n(t){return new ky(t,e)}return n.tension=function(e){return t(+e)},n}(0);function Ny(t,e){this._context=t,this._k=(1-e)/6}Ny.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:Sy(this,t,e)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var qy=function t(e){function n(t){return new Ny(t,e)}return n.tension=function(e){return t(+e)},n}(0);function Wy(t,e,n){var i=t._x1,r=t._y1,a=t._x2,o=t._y2;if(t._l01_a>Mb){var s=2*t._l01_2a+3*t._l01_a*t._l12_a+t._l12_2a,c=3*t._l01_a*(t._l01_a+t._l12_a);i=(i*s-t._x0*t._l12_2a+t._x2*t._l01_2a)/c,r=(r*s-t._y0*t._l12_2a+t._y2*t._l01_2a)/c}if(t._l23_a>Mb){var u=2*t._l23_2a+3*t._l23_a*t._l12_a+t._l12_2a,d=3*t._l23_a*(t._l23_a+t._l12_a);a=(a*u+t._x1*t._l23_2a-e*t._l12_2a)/d,o=(o*u+t._y1*t._l23_2a-n*t._l12_2a)/d}t._context.bezierCurveTo(i,r,a,o,t._x2,t._y2)}function Py(t,e){this._context=t,this._alpha=e}Py.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){if(t=+t,e=+e,this._point){var n=this._x2-t,i=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+i*i,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3;default:Wy(this,t,e)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var Ey=function t(e){function n(t){return e?new Py(t,e):new Oy(t,0)}return n.alpha=function(e){return t(+e)},n}(.5);function Xy(t,e){this._context=t,this._alpha=e}Xy.prototype={areaStart:gy,areaEnd:gy,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(t,e){if(t=+t,e=+e,this._point){var n=this._x2-t,i=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+i*i,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:Wy(this,t,e)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var Cy=function t(e){function n(t){return e?new Xy(t,e):new ky(t,0)}return n.alpha=function(e){return t(+e)},n}(.5);function By(t,e){this._context=t,this._alpha=e}By.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){if(t=+t,e=+e,this._point){var n=this._x2-t,i=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+i*i,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:Wy(this,t,e)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var Hy=function t(e){function n(t){return e?new By(t,e):new Ny(t,0)}return n.alpha=function(e){return t(+e)},n}(.5);function Ry(t){this._context=t}Ry.prototype={areaStart:gy,areaEnd:gy,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(t,e){t=+t,e=+e,this._point?this._context.lineTo(t,e):(this._point=1,this._context.moveTo(t,e))}};var jy=function(t){return new Ry(t)};function Iy(t){return t<0?-1:1}function Gy(t,e,n){var i=t._x1-t._x0,r=e-t._x1,a=(t._y1-t._y0)/(i||r<0&&-0),o=(n-t._y1)/(r||i<0&&-0),s=(a*r+o*i)/(i+r);return(Iy(a)+Iy(o))*Math.min(Math.abs(a),Math.abs(o),.5*Math.abs(s))||0}function Fy(t,e){var n=t._x1-t._x0;return n?(3*(t._y1-t._y0)/n-e)/2:e}function Vy(t,e,n){var i=t._x0,r=t._y0,a=t._x1,o=t._y1,s=(a-i)/3;t._context.bezierCurveTo(i+s,r+s*e,a-s,o-s*n,a,o)}function Uy(t){this._context=t}function Jy(t){this._context=new Ky(t)}function Ky(t){this._context=t}function Qy(t){return new Uy(t)}function Zy(t){return new Jy(t)}function $y(t){this._context=t}function tL(t){var e,n,i=t.length-1,r=new Array(i),a=new Array(i),o=new Array(i);for(r[0]=0,a[0]=2,o[0]=t[0]+2*t[1],e=1;e=0;--e)r[e]=(o[e]-r[e+1])/a[e];for(a[i-1]=(t[i]+r[i-1])/2,e=0;e=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:if(this._t<=0)this._context.lineTo(this._x,e),this._context.lineTo(t,e);else{var n=this._x*(1-this._t)+t*this._t;this._context.lineTo(n,this._y),this._context.lineTo(n,e)}}this._x=t,this._y=e}};var iL=function(t){return new nL(t,.5)};function rL(t){return new nL(t,0)}function aL(t){return new nL(t,1)}var oL=function(t,e){if((r=t.length)>1)for(var n,i,r,a=1,o=t[e[0]],s=o.length;a=0;)n[e]=e;return n};function cL(t,e){return t[e]}var uL=function(){var t=cb([]),e=sL,n=oL,i=cL;function r(r){var a,o,s=t.apply(this,arguments),c=r.length,u=s.length,d=new Array(u);for(a=0;a0){for(var n,i,r,a=0,o=t[0].length;a1)for(var n,i,r,a,o,s,c=0,u=t[e[0]].length;c=0?(i[0]=a,i[1]=a+=r):r<0?(i[1]=o,i[0]=o+=r):i[0]=a},fL=function(t,e){if((n=t.length)>0){for(var n,i=0,r=t[e[0]],a=r.length;i0&&(i=(n=t[e[0]]).length)>0){for(var n,i,r,a=0,o=1;o0)){if(a/=f,f<0){if(a0){if(a>l)return;a>d&&(d=a)}if(a=i-c,f||!(a<0)){if(a/=f,f<0){if(a>l)return;a>d&&(d=a)}else if(f>0){if(a0)){if(a/=h,h<0){if(a0){if(a>l)return;a>d&&(d=a)}if(a=r-u,h||!(a<0)){if(a/=h,h<0){if(a>l)return;a>d&&(d=a)}else if(h>0){if(a0||l<1)||(d>0&&(t[0]=[c+d*f,u+d*h]),l<1&&(t[1]=[c+l*f,u+l*h]),!0)}}}}}function DL(t,e,n,i,r){var a=t[1];if(a)return!0;var o,s,c=t[0],u=t.left,d=t.right,l=u[0],f=u[1],h=d[0],p=d[1],_=(l+h)/2,M=(f+p)/2;if(p===f){if(_=i)return;if(l>h){if(c){if(c[1]>=r)return}else c=[_,n];a=[_,r]}else{if(c){if(c[1]1)if(l>h){if(c){if(c[1]>=r)return}else c=[(n-s)/o,n];a=[(r-s)/o,r]}else{if(c){if(c[1]=i)return}else c=[e,o*e+s];a=[i,o*i+s]}else{if(c){if(c[0]=-ZL)){var h=c*c+u*u,p=d*d+l*l,_=(l*h-u*p)/f,M=(c*p-d*h)/f,m=EL.pop()||new function(){vL(this),this.x=this.y=this.arc=this.site=this.cy=null};m.arc=t,m.site=r,m.x=_+o,m.y=(m.cy=M+s)+Math.sqrt(_*_+M*M),t.circle=m;for(var g=null,b=JL._;b;)if(m.yQL)s=s.L;else{if(!((r=a-FL(s,o))>QL)){i>-QL?(e=s.P,n=s):r>-QL?(e=s,n=s.N):e=n=s;break}if(!s.R){e=s;break}s=s.R}!function(t){UL[t.index]={site:t,halfedges:[]}}(t);var c=HL(t);if(VL.insert(e,c),e||n){if(e===n)return CL(e),n=HL(e.site),VL.insert(c,n),c.edge=n.edge=SL(e.site,c.site),XL(e),void XL(n);if(n){CL(e),CL(n);var u=e.site,d=u[0],l=u[1],f=t[0]-d,h=t[1]-l,p=n.site,_=p[0]-d,M=p[1]-l,m=2*(f*M-h*_),g=f*f+h*h,b=_*_+M*M,y=[(M*g-h*b)/m+d,(f*b-_*g)/m+l];YL(n.edge,u,p,y),c.edge=SL(u,t,null,y),n.edge=SL(t,p,null,y),XL(e),XL(n)}else c.edge=SL(e.site,c.site)}}function GL(t,e){var n=t.site,i=n[0],r=n[1],a=r-e;if(!a)return i;var o=t.P;if(!o)return-1/0;var s=(n=o.site)[0],c=n[1],u=c-e;if(!u)return s;var d=s-i,l=1/a-1/u,f=d/u;return l?(-f+Math.sqrt(f*f-2*l*(d*d/(-2*u)-c+u/2+r-a/2)))/l+i:(i+s)/2}function FL(t,e){var n=t.N;if(n)return GL(n,e);var i=t.site;return i[1]===e?i[0]:1/0}var VL,UL,JL,KL,QL=1e-6,ZL=1e-12;function $L(t,e){return e[1]-t[1]||e[0]-t[0]}function tA(t,e){var n,i,r,a=t.sort($L).pop();for(KL=[],UL=new Array(t.length),VL=new TL,JL=new TL;;)if(r=PL,a&&(!r||a[1]QL||Math.abs(r[0][1]-r[1][1])>QL)||delete KL[a]}(o,s,c,u),function(t,e,n,i){var r,a,o,s,c,u,d,l,f,h,p,_,M=UL.length,m=!0;for(r=0;rQL||Math.abs(_-f)>QL)&&(c.splice(s,0,KL.push(OL(o,h,Math.abs(p-t)QL?[t,Math.abs(l-t)QL?[Math.abs(f-i)QL?[n,Math.abs(l-n)QL?[Math.abs(f-e)=s)return null;var c=t-r.site[0],u=e-r.site[1],d=c*c+u*u;do{r=a.cells[i=o],o=null,r.halfedges.forEach(function(n){var i=a.edges[n],s=i.left;if(s!==r.site&&s||(s=i.right)){var c=t-s[0],u=e-s[1],l=c*c+u*u;li?(i+r)/2:Math.min(0,i)||Math.max(0,r),o>a?(a+o)/2:Math.min(0,a)||Math.max(0,o))}var pA=function(){var t,e,n=cA,i=uA,r=hA,a=lA,o=fA,s=[0,1/0],c=[[-1/0,-1/0],[1/0,1/0]],u=250,d=si,l=[],f=ft("start","zoom","end"),h=500,p=150,_=0;function M(t){t.property("__zoom",dA).on("wheel.zoom",v).on("mousedown.zoom",z).on("dblclick.zoom",x).filter(o).on("touchstart.zoom",w).on("touchmove.zoom",T).on("touchend.zoom touchcancel.zoom",S).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function m(t,e){return(e=Math.max(s[0],Math.min(s[1],e)))===t.k?t:new iA(e,t.x,t.y)}function g(t,e,n){var i=e[0]-n[0]*t.k,r=e[1]-n[1]*t.k;return i===t.x&&r===t.y?t:new iA(t.k,i,r)}function b(t){return[(+t[0][0]+ +t[1][0])/2,(+t[0][1]+ +t[1][1])/2]}function y(t,e,n){t.on("start.zoom",function(){L(this,arguments).start()}).on("interrupt.zoom end.zoom",function(){L(this,arguments).end()}).tween("zoom",function(){var t=arguments,r=L(this,t),a=i.apply(this,t),o=n||b(a),s=Math.max(a[1][0]-a[0][0],a[1][1]-a[0][1]),c=this.__zoom,u="function"==typeof e?e.apply(this,t):e,l=d(c.invert(o).concat(s/c.k),u.invert(o).concat(s/u.k));return function(t){if(1===t)t=u;else{var e=l(t),n=s/e[2];t=new iA(n,o[0]-e[0]*n,o[1]-e[1]*n)}r.zoom(null,t)}})}function L(t,e){for(var n,i=0,r=l.length;i_}t.zoom("mouse",r(g(t.that.__zoom,t.mouse[0]=le(t.that),t.mouse[1]),t.extent,c))},!0).on("mouseup.zoom",function(){i.on("mousemove.zoom mouseup.zoom",null),ge(Vt.view,t.moved),sA(),t.end()},!0),a=le(this),o=Vt.clientX,s=Vt.clientY;me(Vt.view),oA(),t.mouse=[a,this.__zoom.invert(a)],tr(this),t.start()}}function x(){if(n.apply(this,arguments)){var t=this.__zoom,e=le(this),a=t.invert(e),o=t.k*(Vt.shiftKey?.5:2),s=r(g(m(t,o),e,a),i.apply(this,arguments),c);sA(),u>0?re(this).transition().duration(u).call(y,s,e):re(this).call(M.transform,s)}}function w(){if(n.apply(this,arguments)){var e,i,r,a,o=L(this,arguments),s=Vt.changedTouches,c=s.length;for(oA(),i=0;i]+)>)/gi,"")}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(t){for(var e=[],n=0;n0&&(void 0===(r=e.call(n,t,i))&&(r=null),n.matrix[i].push(r))})):(!e||e instanceof Array)&&((e=e||[]).length<=n.matrix.length-1?e=e.concat((0,a.default)(n.matrix.length-1-e.length)):(0,o.each)(e,function(t,i){n.matrix.length-10&&(a=n.selectColumn(i),void 0===(o=e.call(n,a,i))&&(o=null),r.push(o))}),n.matrix.push(r)):(!e||e instanceof Array)&&((e=e||[]).length<=n.matrix[0].length-1?e=e.concat((0,a.default)(n.matrix[0].length-1-e.length)):(0,o.each)(e,function(t,i){n.matrix[0].length-1=11?t:t+12:"下午"===e||"晚上"===e?t+12:void 0},meridiem:function(t,e,n){var i=100*t+e;return i<600?"凌晨":i<900?"早上":i<1130?"上午":i<1230?"中午":i<1800?"下午":"晚上"},calendar:{sameDay:"[今天] LT",nextDay:"[明天] LT",nextWeek:"[下]dddd LT",lastDay:"[昨天] LT",lastWeek:"[上]dddd LT",sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}(日|月|週)/,ordinal:function(t,e){switch(e){case"d":case"D":case"DDD":return t+"日";case"M":return t+"月";case"w":case"W":return t+"週";default:return t}},relativeTime:{future:"%s內",past:"%s前",s:"幾秒",ss:"%d 秒",m:"1 分鐘",mm:"%d 分鐘",h:"1 小時",hh:"%d 小時",d:"1 天",dd:"%d 天",M:"1 個月",MM:"%d 個月",y:"1 年",yy:"%d 年"}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("zh-hk",{months:"一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),weekdays:"星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"),weekdaysShort:"週日_週一_週二_週三_週四_週五_週六".split("_"),weekdaysMin:"日_一_二_三_四_五_六".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY年M月D日",LLL:"YYYY年M月D日 HH:mm",LLLL:"YYYY年M月D日dddd HH:mm",l:"YYYY/M/D",ll:"YYYY年M月D日",lll:"YYYY年M月D日 HH:mm",llll:"YYYY年M月D日dddd HH:mm"},meridiemParse:/凌晨|早上|上午|中午|下午|晚上/,meridiemHour:function(t,e){return 12===t&&(t=0),"凌晨"===e||"早上"===e||"上午"===e?t:"中午"===e?t>=11?t:t+12:"下午"===e||"晚上"===e?t+12:void 0},meridiem:function(t,e,n){var i=100*t+e;return i<600?"凌晨":i<900?"早上":i<1130?"上午":i<1230?"中午":i<1800?"下午":"晚上"},calendar:{sameDay:"[今天]LT",nextDay:"[明天]LT",nextWeek:"[下]ddddLT",lastDay:"[昨天]LT",lastWeek:"[上]ddddLT",sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}(日|月|週)/,ordinal:function(t,e){switch(e){case"d":case"D":case"DDD":return t+"日";case"M":return t+"月";case"w":case"W":return t+"週";default:return t}},relativeTime:{future:"%s內",past:"%s前",s:"幾秒",ss:"%d 秒",m:"1 分鐘",mm:"%d 分鐘",h:"1 小時",hh:"%d 小時",d:"1 天",dd:"%d 天",M:"1 個月",MM:"%d 個月",y:"1 年",yy:"%d 年"}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("zh-cn",{months:"一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),weekdays:"星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"),weekdaysShort:"周日_周一_周二_周三_周四_周五_周六".split("_"),weekdaysMin:"日_一_二_三_四_五_六".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY年M月D日",LLL:"YYYY年M月D日Ah点mm分",LLLL:"YYYY年M月D日ddddAh点mm分",l:"YYYY/M/D",ll:"YYYY年M月D日",lll:"YYYY年M月D日 HH:mm",llll:"YYYY年M月D日dddd HH:mm"},meridiemParse:/凌晨|早上|上午|中午|下午|晚上/,meridiemHour:function(t,e){return 12===t&&(t=0),"凌晨"===e||"早上"===e||"上午"===e?t:"下午"===e||"晚上"===e?t+12:t>=11?t:t+12},meridiem:function(t,e,n){var i=100*t+e;return i<600?"凌晨":i<900?"早上":i<1130?"上午":i<1230?"中午":i<1800?"下午":"晚上"},calendar:{sameDay:"[今天]LT",nextDay:"[明天]LT",nextWeek:"[下]ddddLT",lastDay:"[昨天]LT",lastWeek:"[上]ddddLT",sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}(日|月|周)/,ordinal:function(t,e){switch(e){case"d":case"D":case"DDD":return t+"日";case"M":return t+"月";case"w":case"W":return t+"周";default:return t}},relativeTime:{future:"%s内",past:"%s前",s:"几秒",ss:"%d 秒",m:"1 分钟",mm:"%d 分钟",h:"1 小时",hh:"%d 小时",d:"1 天",dd:"%d 天",M:"1 个月",MM:"%d 个月",y:"1 年",yy:"%d 年"},week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("yo",{months:"Sẹ́rẹ́_Èrèlè_Ẹrẹ̀nà_Ìgbé_Èbibi_Òkùdu_Agẹmo_Ògún_Owewe_Ọ̀wàrà_Bélú_Ọ̀pẹ̀̀".split("_"),monthsShort:"Sẹ́r_Èrl_Ẹrn_Ìgb_Èbi_Òkù_Agẹ_Ògú_Owe_Ọ̀wà_Bél_Ọ̀pẹ̀̀".split("_"),weekdays:"Àìkú_Ajé_Ìsẹ́gun_Ọjọ́rú_Ọjọ́bọ_Ẹtì_Àbámẹ́ta".split("_"),weekdaysShort:"Àìk_Ajé_Ìsẹ́_Ọjr_Ọjb_Ẹtì_Àbá".split("_"),weekdaysMin:"Àì_Aj_Ìs_Ọr_Ọb_Ẹt_Àb".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Ònì ni] LT",nextDay:"[Ọ̀la ni] LT",nextWeek:"dddd [Ọsẹ̀ tón'bọ] [ni] LT",lastDay:"[Àna ni] LT",lastWeek:"dddd [Ọsẹ̀ tólọ́] [ni] LT",sameElse:"L"},relativeTime:{future:"ní %s",past:"%s kọjá",s:"ìsẹjú aayá die",ss:"aayá %d",m:"ìsẹjú kan",mm:"ìsẹjú %d",h:"wákati kan",hh:"wákati %d",d:"ọjọ́ kan",dd:"ọjọ́ %d",M:"osù kan",MM:"osù %d",y:"ọdún kan",yy:"ọdún %d"},dayOfMonthOrdinalParse:/ọjọ́\s\d{1,2}/,ordinal:"ọjọ́ %d",week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("x-pseudo",{months:"J~áñúá~rý_F~ébrú~árý_~Márc~h_Áp~ríl_~Máý_~Júñé~_Júl~ý_Áú~gúst~_Sép~témb~ér_Ó~ctób~ér_Ñ~óvém~bér_~Décé~mbér".split("_"),monthsShort:"J~áñ_~Féb_~Már_~Ápr_~Máý_~Júñ_~Júl_~Áúg_~Sép_~Óct_~Ñóv_~Déc".split("_"),monthsParseExact:!0,weekdays:"S~úñdá~ý_Mó~ñdáý~_Túé~sdáý~_Wéd~ñésd~áý_T~húrs~dáý_~Fríd~áý_S~átúr~dáý".split("_"),weekdaysShort:"S~úñ_~Móñ_~Túé_~Wéd_~Thú_~Frí_~Sát".split("_"),weekdaysMin:"S~ú_Mó~_Tú_~Wé_T~h_Fr~_Sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[T~ódá~ý át] LT",nextDay:"[T~ómó~rró~w át] LT",nextWeek:"dddd [át] LT",lastDay:"[Ý~ést~érdá~ý át] LT",lastWeek:"[L~ást] dddd [át] LT",sameElse:"L"},relativeTime:{future:"í~ñ %s",past:"%s á~gó",s:"á ~féw ~sécó~ñds",ss:"%d s~écóñ~ds",m:"á ~míñ~úté",mm:"%d m~íñú~tés",h:"á~ñ hó~úr",hh:"%d h~óúrs",d:"á ~dáý",dd:"%d d~áýs",M:"á ~móñ~th",MM:"%d m~óñt~hs",y:"á ~ýéár",yy:"%d ý~éárs"},dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(t){var e=t%10,n=1==~~(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th";return t+n},week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("vi",{months:"tháng 1_tháng 2_tháng 3_tháng 4_tháng 5_tháng 6_tháng 7_tháng 8_tháng 9_tháng 10_tháng 11_tháng 12".split("_"),monthsShort:"Th01_Th02_Th03_Th04_Th05_Th06_Th07_Th08_Th09_Th10_Th11_Th12".split("_"),monthsParseExact:!0,weekdays:"chủ nhật_thứ hai_thứ ba_thứ tư_thứ năm_thứ sáu_thứ bảy".split("_"),weekdaysShort:"CN_T2_T3_T4_T5_T6_T7".split("_"),weekdaysMin:"CN_T2_T3_T4_T5_T6_T7".split("_"),weekdaysParseExact:!0,meridiemParse:/sa|ch/i,isPM:function(t){return/^ch$/i.test(t)},meridiem:function(t,e,n){return t<12?n?"sa":"SA":n?"ch":"CH"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM [năm] YYYY",LLL:"D MMMM [năm] YYYY HH:mm",LLLL:"dddd, D MMMM [năm] YYYY HH:mm",l:"DD/M/YYYY",ll:"D MMM YYYY",lll:"D MMM YYYY HH:mm",llll:"ddd, D MMM YYYY HH:mm"},calendar:{sameDay:"[Hôm nay lúc] LT",nextDay:"[Ngày mai lúc] LT",nextWeek:"dddd [tuần tới lúc] LT",lastDay:"[Hôm qua lúc] LT",lastWeek:"dddd [tuần rồi lúc] LT",sameElse:"L"},relativeTime:{future:"%s tới",past:"%s trước",s:"vài giây",ss:"%d giây",m:"một phút",mm:"%d phút",h:"một giờ",hh:"%d giờ",d:"một ngày",dd:"%d ngày",M:"một tháng",MM:"%d tháng",y:"một năm",yy:"%d năm"},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:function(t){return t},week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("uz-latn",{months:"Yanvar_Fevral_Mart_Aprel_May_Iyun_Iyul_Avgust_Sentabr_Oktabr_Noyabr_Dekabr".split("_"),monthsShort:"Yan_Fev_Mar_Apr_May_Iyun_Iyul_Avg_Sen_Okt_Noy_Dek".split("_"),weekdays:"Yakshanba_Dushanba_Seshanba_Chorshanba_Payshanba_Juma_Shanba".split("_"),weekdaysShort:"Yak_Dush_Sesh_Chor_Pay_Jum_Shan".split("_"),weekdaysMin:"Ya_Du_Se_Cho_Pa_Ju_Sha".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"D MMMM YYYY, dddd HH:mm"},calendar:{sameDay:"[Bugun soat] LT [da]",nextDay:"[Ertaga] LT [da]",nextWeek:"dddd [kuni soat] LT [da]",lastDay:"[Kecha soat] LT [da]",lastWeek:"[O'tgan] dddd [kuni soat] LT [da]",sameElse:"L"},relativeTime:{future:"Yaqin %s ichida",past:"Bir necha %s oldin",s:"soniya",ss:"%d soniya",m:"bir daqiqa",mm:"%d daqiqa",h:"bir soat",hh:"%d soat",d:"bir kun",dd:"%d kun",M:"bir oy",MM:"%d oy",y:"bir yil",yy:"%d yil"},week:{dow:1,doy:7}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("uz",{months:"январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр".split("_"),monthsShort:"янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек".split("_"),weekdays:"Якшанба_Душанба_Сешанба_Чоршанба_Пайшанба_Жума_Шанба".split("_"),weekdaysShort:"Якш_Душ_Сеш_Чор_Пай_Жум_Шан".split("_"),weekdaysMin:"Як_Ду_Се_Чо_Па_Жу_Ша".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"D MMMM YYYY, dddd HH:mm"},calendar:{sameDay:"[Бугун соат] LT [да]",nextDay:"[Эртага] LT [да]",nextWeek:"dddd [куни соат] LT [да]",lastDay:"[Кеча соат] LT [да]",lastWeek:"[Утган] dddd [куни соат] LT [да]",sameElse:"L"},relativeTime:{future:"Якин %s ичида",past:"Бир неча %s олдин",s:"фурсат",ss:"%d фурсат",m:"бир дакика",mm:"%d дакика",h:"бир соат",hh:"%d соат",d:"бир кун",dd:"%d кун",M:"бир ой",MM:"%d ой",y:"бир йил",yy:"%d йил"},week:{dow:1,doy:7}})}(n(0))},function(t,e,n){!function(t){"use strict";var e=["جنوری","فروری","مارچ","اپریل","مئی","جون","جولائی","اگست","ستمبر","اکتوبر","نومبر","دسمبر"],n=["اتوار","پیر","منگل","بدھ","جمعرات","جمعہ","ہفتہ"];t.defineLocale("ur",{months:e,monthsShort:e,weekdays:n,weekdaysShort:n,weekdaysMin:n,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd، D MMMM YYYY HH:mm"},meridiemParse:/صبح|شام/,isPM:function(t){return"شام"===t},meridiem:function(t,e,n){return t<12?"صبح":"شام"},calendar:{sameDay:"[آج بوقت] LT",nextDay:"[کل بوقت] LT",nextWeek:"dddd [بوقت] LT",lastDay:"[گذشتہ روز بوقت] LT",lastWeek:"[گذشتہ] dddd [بوقت] LT",sameElse:"L"},relativeTime:{future:"%s بعد",past:"%s قبل",s:"چند سیکنڈ",ss:"%d سیکنڈ",m:"ایک منٹ",mm:"%d منٹ",h:"ایک گھنٹہ",hh:"%d گھنٹے",d:"ایک دن",dd:"%d دن",M:"ایک ماہ",MM:"%d ماہ",y:"ایک سال",yy:"%d سال"},preparse:function(t){return t.replace(/،/g,",")},postformat:function(t){return t.replace(/,/g,"،")},week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";function e(t,e,n){var i,r,a={ss:e?"секунда_секунди_секунд":"секунду_секунди_секунд",mm:e?"хвилина_хвилини_хвилин":"хвилину_хвилини_хвилин",hh:e?"година_години_годин":"годину_години_годин",dd:"день_дні_днів",MM:"місяць_місяці_місяців",yy:"рік_роки_років"};return"m"===n?e?"хвилина":"хвилину":"h"===n?e?"година":"годину":t+" "+(i=+t,r=a[n].split("_"),i%10==1&&i%100!=11?r[0]:i%10>=2&&i%10<=4&&(i%100<10||i%100>=20)?r[1]:r[2])}function n(t){return function(){return t+"о"+(11===this.hours()?"б":"")+"] LT"}}t.defineLocale("uk",{months:{format:"січня_лютого_березня_квітня_травня_червня_липня_серпня_вересня_жовтня_листопада_грудня".split("_"),standalone:"січень_лютий_березень_квітень_травень_червень_липень_серпень_вересень_жовтень_листопад_грудень".split("_")},monthsShort:"січ_лют_бер_квіт_трав_черв_лип_серп_вер_жовт_лист_груд".split("_"),weekdays:function(t,e){var n={nominative:"неділя_понеділок_вівторок_середа_четвер_п’ятниця_субота".split("_"),accusative:"неділю_понеділок_вівторок_середу_четвер_п’ятницю_суботу".split("_"),genitive:"неділі_понеділка_вівторка_середи_четверга_п’ятниці_суботи".split("_")};if(!t)return n.nominative;var i=/(\[[ВвУу]\]) ?dddd/.test(e)?"accusative":/\[?(?:минулої|наступної)? ?\] ?dddd/.test(e)?"genitive":"nominative";return n[i][t.day()]},weekdaysShort:"нд_пн_вт_ср_чт_пт_сб".split("_"),weekdaysMin:"нд_пн_вт_ср_чт_пт_сб".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY р.",LLL:"D MMMM YYYY р., HH:mm",LLLL:"dddd, D MMMM YYYY р., HH:mm"},calendar:{sameDay:n("[Сьогодні "),nextDay:n("[Завтра "),lastDay:n("[Вчора "),nextWeek:n("[У] dddd ["),lastWeek:function(){switch(this.day()){case 0:case 3:case 5:case 6:return n("[Минулої] dddd [").call(this);case 1:case 2:case 4:return n("[Минулого] dddd [").call(this)}},sameElse:"L"},relativeTime:{future:"за %s",past:"%s тому",s:"декілька секунд",ss:e,m:e,mm:e,h:"годину",hh:e,d:"день",dd:e,M:"місяць",MM:e,y:"рік",yy:e},meridiemParse:/ночі|ранку|дня|вечора/,isPM:function(t){return/^(дня|вечора)$/.test(t)},meridiem:function(t,e,n){return t<4?"ночі":t<12?"ранку":t<17?"дня":"вечора"},dayOfMonthOrdinalParse:/\d{1,2}-(й|го)/,ordinal:function(t,e){switch(e){case"M":case"d":case"DDD":case"w":case"W":return t+"-й";case"D":return t+"-го";default:return t}},week:{dow:1,doy:7}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("ug-cn",{months:"يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر".split("_"),monthsShort:"يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر".split("_"),weekdays:"يەكشەنبە_دۈشەنبە_سەيشەنبە_چارشەنبە_پەيشەنبە_جۈمە_شەنبە".split("_"),weekdaysShort:"يە_دۈ_سە_چا_پە_جۈ_شە".split("_"),weekdaysMin:"يە_دۈ_سە_چا_پە_جۈ_شە".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY-يىلىM-ئاينىڭD-كۈنى",LLL:"YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm",LLLL:"dddd، YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm"},meridiemParse:/يېرىم كېچە|سەھەر|چۈشتىن بۇرۇن|چۈش|چۈشتىن كېيىن|كەچ/,meridiemHour:function(t,e){return 12===t&&(t=0),"يېرىم كېچە"===e||"سەھەر"===e||"چۈشتىن بۇرۇن"===e?t:"چۈشتىن كېيىن"===e||"كەچ"===e?t+12:t>=11?t:t+12},meridiem:function(t,e,n){var i=100*t+e;return i<600?"يېرىم كېچە":i<900?"سەھەر":i<1130?"چۈشتىن بۇرۇن":i<1230?"چۈش":i<1800?"چۈشتىن كېيىن":"كەچ"},calendar:{sameDay:"[بۈگۈن سائەت] LT",nextDay:"[ئەتە سائەت] LT",nextWeek:"[كېلەركى] dddd [سائەت] LT",lastDay:"[تۆنۈگۈن] LT",lastWeek:"[ئالدىنقى] dddd [سائەت] LT",sameElse:"L"},relativeTime:{future:"%s كېيىن",past:"%s بۇرۇن",s:"نەچچە سېكونت",ss:"%d سېكونت",m:"بىر مىنۇت",mm:"%d مىنۇت",h:"بىر سائەت",hh:"%d سائەت",d:"بىر كۈن",dd:"%d كۈن",M:"بىر ئاي",MM:"%d ئاي",y:"بىر يىل",yy:"%d يىل"},dayOfMonthOrdinalParse:/\d{1,2}(-كۈنى|-ئاي|-ھەپتە)/,ordinal:function(t,e){switch(e){case"d":case"D":case"DDD":return t+"-كۈنى";case"w":case"W":return t+"-ھەپتە";default:return t}},preparse:function(t){return t.replace(/،/g,",")},postformat:function(t){return t.replace(/,/g,"،")},week:{dow:1,doy:7}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("tzm-latn",{months:"innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir".split("_"),monthsShort:"innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir".split("_"),weekdays:"asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas".split("_"),weekdaysShort:"asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas".split("_"),weekdaysMin:"asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[asdkh g] LT",nextDay:"[aska g] LT",nextWeek:"dddd [g] LT",lastDay:"[assant g] LT",lastWeek:"dddd [g] LT",sameElse:"L"},relativeTime:{future:"dadkh s yan %s",past:"yan %s",s:"imik",ss:"%d imik",m:"minuḍ",mm:"%d minuḍ",h:"saɛa",hh:"%d tassaɛin",d:"ass",dd:"%d ossan",M:"ayowr",MM:"%d iyyirn",y:"asgas",yy:"%d isgasn"},week:{dow:6,doy:12}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("tzm",{months:"ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ".split("_"),monthsShort:"ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ".split("_"),weekdays:"ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ".split("_"),weekdaysShort:"ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ".split("_"),weekdaysMin:"ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[ⴰⵙⴷⵅ ⴴ] LT",nextDay:"[ⴰⵙⴽⴰ ⴴ] LT",nextWeek:"dddd [ⴴ] LT",lastDay:"[ⴰⵚⴰⵏⵜ ⴴ] LT",lastWeek:"dddd [ⴴ] LT",sameElse:"L"},relativeTime:{future:"ⴷⴰⴷⵅ ⵙ ⵢⴰⵏ %s",past:"ⵢⴰⵏ %s",s:"ⵉⵎⵉⴽ",ss:"%d ⵉⵎⵉⴽ",m:"ⵎⵉⵏⵓⴺ",mm:"%d ⵎⵉⵏⵓⴺ",h:"ⵙⴰⵄⴰ",hh:"%d ⵜⴰⵙⵙⴰⵄⵉⵏ",d:"ⴰⵙⵙ",dd:"%d oⵙⵙⴰⵏ",M:"ⴰⵢoⵓⵔ",MM:"%d ⵉⵢⵢⵉⵔⵏ",y:"ⴰⵙⴳⴰⵙ",yy:"%d ⵉⵙⴳⴰⵙⵏ"},week:{dow:6,doy:12}})}(n(0))},function(t,e,n){!function(t){"use strict";function e(t,e,n,i){var r={s:["viensas secunds","'iensas secunds"],ss:[t+" secunds",t+" secunds"],m:["'n míut","'iens míut"],mm:[t+" míuts",t+" míuts"],h:["'n þora","'iensa þora"],hh:[t+" þoras",t+" þoras"],d:["'n ziua","'iensa ziua"],dd:[t+" ziuas",t+" ziuas"],M:["'n mes","'iens mes"],MM:[t+" mesen",t+" mesen"],y:["'n ar","'iens ar"],yy:[t+" ars",t+" ars"]};return i?r[n][0]:e?r[n][0]:r[n][1]}t.defineLocale("tzl",{months:"Januar_Fevraglh_Març_Avrïu_Mai_Gün_Julia_Guscht_Setemvar_Listopäts_Noemvar_Zecemvar".split("_"),monthsShort:"Jan_Fev_Mar_Avr_Mai_Gün_Jul_Gus_Set_Lis_Noe_Zec".split("_"),weekdays:"Súladi_Lúneçi_Maitzi_Márcuri_Xhúadi_Viénerçi_Sáturi".split("_"),weekdaysShort:"Súl_Lún_Mai_Már_Xhú_Vié_Sát".split("_"),weekdaysMin:"Sú_Lú_Ma_Má_Xh_Vi_Sá".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD.MM.YYYY",LL:"D. MMMM [dallas] YYYY",LLL:"D. MMMM [dallas] YYYY HH.mm",LLLL:"dddd, [li] D. MMMM [dallas] YYYY HH.mm"},meridiemParse:/d\'o|d\'a/i,isPM:function(t){return"d'o"===t.toLowerCase()},meridiem:function(t,e,n){return t>11?n?"d'o":"D'O":n?"d'a":"D'A"},calendar:{sameDay:"[oxhi à] LT",nextDay:"[demà à] LT",nextWeek:"dddd [à] LT",lastDay:"[ieiri à] LT",lastWeek:"[sür el] dddd [lasteu à] LT",sameElse:"L"},relativeTime:{future:"osprei %s",past:"ja%s",s:e,ss:e,m:e,mm:e,h:e,hh:e,d:e,dd:e,M:e,MM:e,y:e,yy:e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";var e={1:"'inci",5:"'inci",8:"'inci",70:"'inci",80:"'inci",2:"'nci",7:"'nci",20:"'nci",50:"'nci",3:"'üncü",4:"'üncü",100:"'üncü",6:"'ncı",9:"'uncu",10:"'uncu",30:"'uncu",60:"'ıncı",90:"'ıncı"};t.defineLocale("tr",{months:"Ocak_Şubat_Mart_Nisan_Mayıs_Haziran_Temmuz_Ağustos_Eylül_Ekim_Kasım_Aralık".split("_"),monthsShort:"Oca_Şub_Mar_Nis_May_Haz_Tem_Ağu_Eyl_Eki_Kas_Ara".split("_"),weekdays:"Pazar_Pazartesi_Salı_Çarşamba_Perşembe_Cuma_Cumartesi".split("_"),weekdaysShort:"Paz_Pts_Sal_Çar_Per_Cum_Cts".split("_"),weekdaysMin:"Pz_Pt_Sa_Ça_Pe_Cu_Ct".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[bugün saat] LT",nextDay:"[yarın saat] LT",nextWeek:"[gelecek] dddd [saat] LT",lastDay:"[dün] LT",lastWeek:"[geçen] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s sonra",past:"%s önce",s:"birkaç saniye",ss:"%d saniye",m:"bir dakika",mm:"%d dakika",h:"bir saat",hh:"%d saat",d:"bir gün",dd:"%d gün",M:"bir ay",MM:"%d ay",y:"bir yıl",yy:"%d yıl"},ordinal:function(t,n){switch(n){case"d":case"D":case"Do":case"DD":return t;default:if(0===t)return t+"'ıncı";var i=t%10,r=t%100-i,a=t>=100?100:null;return t+(e[i]||e[r]||e[a])}},week:{dow:1,doy:7}})}(n(0))},function(t,e,n){!function(t){"use strict";var e="pagh_wa’_cha’_wej_loS_vagh_jav_Soch_chorgh_Hut".split("_");function n(t,n,i,r){var a=function(t){var n=Math.floor(t%1e3/100),i=Math.floor(t%100/10),r=t%10,a="";return n>0&&(a+=e[n]+"vatlh"),i>0&&(a+=(""!==a?" ":"")+e[i]+"maH"),r>0&&(a+=(""!==a?" ":"")+e[r]),""===a?"pagh":a}(t);switch(i){case"ss":return a+" lup";case"mm":return a+" tup";case"hh":return a+" rep";case"dd":return a+" jaj";case"MM":return a+" jar";case"yy":return a+" DIS"}}t.defineLocale("tlh",{months:"tera’ jar wa’_tera’ jar cha’_tera’ jar wej_tera’ jar loS_tera’ jar vagh_tera’ jar jav_tera’ jar Soch_tera’ jar chorgh_tera’ jar Hut_tera’ jar wa’maH_tera’ jar wa’maH wa’_tera’ jar wa’maH cha’".split("_"),monthsShort:"jar wa’_jar cha’_jar wej_jar loS_jar vagh_jar jav_jar Soch_jar chorgh_jar Hut_jar wa’maH_jar wa’maH wa’_jar wa’maH cha’".split("_"),monthsParseExact:!0,weekdays:"lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj".split("_"),weekdaysShort:"lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj".split("_"),weekdaysMin:"lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[DaHjaj] LT",nextDay:"[wa’leS] LT",nextWeek:"LLL",lastDay:"[wa’Hu’] LT",lastWeek:"LLL",sameElse:"L"},relativeTime:{future:function(t){var e=t;return e=-1!==t.indexOf("jaj")?e.slice(0,-3)+"leS":-1!==t.indexOf("jar")?e.slice(0,-3)+"waQ":-1!==t.indexOf("DIS")?e.slice(0,-3)+"nem":e+" pIq"},past:function(t){var e=t;return e=-1!==t.indexOf("jaj")?e.slice(0,-3)+"Hu’":-1!==t.indexOf("jar")?e.slice(0,-3)+"wen":-1!==t.indexOf("DIS")?e.slice(0,-3)+"ben":e+" ret"},s:"puS lup",ss:n,m:"wa’ tup",mm:n,h:"wa’ rep",hh:n,d:"wa’ jaj",dd:n,M:"wa’ jar",MM:n,y:"wa’ DIS",yy:n},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("tl-ph",{months:"Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre".split("_"),monthsShort:"Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis".split("_"),weekdays:"Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado".split("_"),weekdaysShort:"Lin_Lun_Mar_Miy_Huw_Biy_Sab".split("_"),weekdaysMin:"Li_Lu_Ma_Mi_Hu_Bi_Sab".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"MM/D/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY HH:mm",LLLL:"dddd, MMMM DD, YYYY HH:mm"},calendar:{sameDay:"LT [ngayong araw]",nextDay:"[Bukas ng] LT",nextWeek:"LT [sa susunod na] dddd",lastDay:"LT [kahapon]",lastWeek:"LT [noong nakaraang] dddd",sameElse:"L"},relativeTime:{future:"sa loob ng %s",past:"%s ang nakalipas",s:"ilang segundo",ss:"%d segundo",m:"isang minuto",mm:"%d minuto",h:"isang oras",hh:"%d oras",d:"isang araw",dd:"%d araw",M:"isang buwan",MM:"%d buwan",y:"isang taon",yy:"%d taon"},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:function(t){return t},week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("th",{months:"มกราคม_กุมภาพันธ์_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_กรกฎาคม_สิงหาคม_กันยายน_ตุลาคม_พฤศจิกายน_ธันวาคม".split("_"),monthsShort:"ม.ค._ก.พ._มี.ค._เม.ย._พ.ค._มิ.ย._ก.ค._ส.ค._ก.ย._ต.ค._พ.ย._ธ.ค.".split("_"),monthsParseExact:!0,weekdays:"อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัสบดี_ศุกร์_เสาร์".split("_"),weekdaysShort:"อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัส_ศุกร์_เสาร์".split("_"),weekdaysMin:"อา._จ._อ._พ._พฤ._ศ._ส.".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY เวลา H:mm",LLLL:"วันddddที่ D MMMM YYYY เวลา H:mm"},meridiemParse:/ก่อนเที่ยง|หลังเที่ยง/,isPM:function(t){return"หลังเที่ยง"===t},meridiem:function(t,e,n){return t<12?"ก่อนเที่ยง":"หลังเที่ยง"},calendar:{sameDay:"[วันนี้ เวลา] LT",nextDay:"[พรุ่งนี้ เวลา] LT",nextWeek:"dddd[หน้า เวลา] LT",lastDay:"[เมื่อวานนี้ เวลา] LT",lastWeek:"[วัน]dddd[ที่แล้ว เวลา] LT",sameElse:"L"},relativeTime:{future:"อีก %s",past:"%sที่แล้ว",s:"ไม่กี่วินาที",ss:"%d วินาที",m:"1 นาที",mm:"%d นาที",h:"1 ชั่วโมง",hh:"%d ชั่วโมง",d:"1 วัน",dd:"%d วัน",M:"1 เดือน",MM:"%d เดือน",y:"1 ปี",yy:"%d ปี"}})}(n(0))},function(t,e,n){!function(t){"use strict";var e={0:"-ум",1:"-ум",2:"-юм",3:"-юм",4:"-ум",5:"-ум",6:"-ум",7:"-ум",8:"-ум",9:"-ум",10:"-ум",12:"-ум",13:"-ум",20:"-ум",30:"-юм",40:"-ум",50:"-ум",60:"-ум",70:"-ум",80:"-ум",90:"-ум",100:"-ум"};t.defineLocale("tg",{months:"январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр".split("_"),monthsShort:"янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек".split("_"),weekdays:"якшанбе_душанбе_сешанбе_чоршанбе_панҷшанбе_ҷумъа_шанбе".split("_"),weekdaysShort:"яшб_дшб_сшб_чшб_пшб_ҷум_шнб".split("_"),weekdaysMin:"яш_дш_сш_чш_пш_ҷм_шб".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Имрӯз соати] LT",nextDay:"[Пагоҳ соати] LT",lastDay:"[Дирӯз соати] LT",nextWeek:"dddd[и] [ҳафтаи оянда соати] LT",lastWeek:"dddd[и] [ҳафтаи гузашта соати] LT",sameElse:"L"},relativeTime:{future:"баъди %s",past:"%s пеш",s:"якчанд сония",m:"як дақиқа",mm:"%d дақиқа",h:"як соат",hh:"%d соат",d:"як рӯз",dd:"%d рӯз",M:"як моҳ",MM:"%d моҳ",y:"як сол",yy:"%d сол"},meridiemParse:/шаб|субҳ|рӯз|бегоҳ/,meridiemHour:function(t,e){return 12===t&&(t=0),"шаб"===e?t<4?t:t+12:"субҳ"===e?t:"рӯз"===e?t>=11?t:t+12:"бегоҳ"===e?t+12:void 0},meridiem:function(t,e,n){return t<4?"шаб":t<11?"субҳ":t<16?"рӯз":t<19?"бегоҳ":"шаб"},dayOfMonthOrdinalParse:/\d{1,2}-(ум|юм)/,ordinal:function(t){var n=t%10,i=t>=100?100:null;return t+(e[t]||e[n]||e[i])},week:{dow:1,doy:7}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("tet",{months:"Janeiru_Fevereiru_Marsu_Abril_Maiu_Juñu_Jullu_Agustu_Setembru_Outubru_Novembru_Dezembru".split("_"),monthsShort:"Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez".split("_"),weekdays:"Domingu_Segunda_Tersa_Kuarta_Kinta_Sesta_Sabadu".split("_"),weekdaysShort:"Dom_Seg_Ters_Kua_Kint_Sest_Sab".split("_"),weekdaysMin:"Do_Seg_Te_Ku_Ki_Ses_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Ohin iha] LT",nextDay:"[Aban iha] LT",nextWeek:"dddd [iha] LT",lastDay:"[Horiseik iha] LT",lastWeek:"dddd [semana kotuk] [iha] LT",sameElse:"L"},relativeTime:{future:"iha %s",past:"%s liuba",s:"minutu balun",ss:"minutu %d",m:"minutu ida",mm:"minutu %d",h:"oras ida",hh:"oras %d",d:"loron ida",dd:"loron %d",M:"fulan ida",MM:"fulan %d",y:"tinan ida",yy:"tinan %d"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(t){var e=t%10,n=1==~~(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th";return t+n},week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("te",{months:"జనవరి_ఫిబ్రవరి_మార్చి_ఏప్రిల్_మే_జూన్_జూలై_ఆగస్టు_సెప్టెంబర్_అక్టోబర్_నవంబర్_డిసెంబర్".split("_"),monthsShort:"జన._ఫిబ్ర._మార్చి_ఏప్రి._మే_జూన్_జూలై_ఆగ._సెప్._అక్టో._నవ._డిసె.".split("_"),monthsParseExact:!0,weekdays:"ఆదివారం_సోమవారం_మంగళవారం_బుధవారం_గురువారం_శుక్రవారం_శనివారం".split("_"),weekdaysShort:"ఆది_సోమ_మంగళ_బుధ_గురు_శుక్ర_శని".split("_"),weekdaysMin:"ఆ_సో_మం_బు_గు_శు_శ".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm",LLLL:"dddd, D MMMM YYYY, A h:mm"},calendar:{sameDay:"[నేడు] LT",nextDay:"[రేపు] LT",nextWeek:"dddd, LT",lastDay:"[నిన్న] LT",lastWeek:"[గత] dddd, LT",sameElse:"L"},relativeTime:{future:"%s లో",past:"%s క్రితం",s:"కొన్ని క్షణాలు",ss:"%d సెకన్లు",m:"ఒక నిమిషం",mm:"%d నిమిషాలు",h:"ఒక గంట",hh:"%d గంటలు",d:"ఒక రోజు",dd:"%d రోజులు",M:"ఒక నెల",MM:"%d నెలలు",y:"ఒక సంవత్సరం",yy:"%d సంవత్సరాలు"},dayOfMonthOrdinalParse:/\d{1,2}వ/,ordinal:"%dవ",meridiemParse:/రాత్రి|ఉదయం|మధ్యాహ్నం|సాయంత్రం/,meridiemHour:function(t,e){return 12===t&&(t=0),"రాత్రి"===e?t<4?t:t+12:"ఉదయం"===e?t:"మధ్యాహ్నం"===e?t>=10?t:t+12:"సాయంత్రం"===e?t+12:void 0},meridiem:function(t,e,n){return t<4?"రాత్రి":t<10?"ఉదయం":t<17?"మధ్యాహ్నం":t<20?"సాయంత్రం":"రాత్రి"},week:{dow:0,doy:6}})}(n(0))},function(t,e,n){!function(t){"use strict";var e={1:"௧",2:"௨",3:"௩",4:"௪",5:"௫",6:"௬",7:"௭",8:"௮",9:"௯",0:"௦"},n={"௧":"1","௨":"2","௩":"3","௪":"4","௫":"5","௬":"6","௭":"7","௮":"8","௯":"9","௦":"0"};t.defineLocale("ta",{months:"ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்".split("_"),monthsShort:"ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்".split("_"),weekdays:"ஞாயிற்றுக்கிழமை_திங்கட்கிழமை_செவ்வாய்கிழமை_புதன்கிழமை_வியாழக்கிழமை_வெள்ளிக்கிழமை_சனிக்கிழமை".split("_"),weekdaysShort:"ஞாயிறு_திங்கள்_செவ்வாய்_புதன்_வியாழன்_வெள்ளி_சனி".split("_"),weekdaysMin:"ஞா_தி_செ_பு_வி_வெ_ச".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, HH:mm",LLLL:"dddd, D MMMM YYYY, HH:mm"},calendar:{sameDay:"[இன்று] LT",nextDay:"[நாளை] LT",nextWeek:"dddd, LT",lastDay:"[நேற்று] LT",lastWeek:"[கடந்த வாரம்] dddd, LT",sameElse:"L"},relativeTime:{future:"%s இல்",past:"%s முன்",s:"ஒரு சில விநாடிகள்",ss:"%d விநாடிகள்",m:"ஒரு நிமிடம்",mm:"%d நிமிடங்கள்",h:"ஒரு மணி நேரம்",hh:"%d மணி நேரம்",d:"ஒரு நாள்",dd:"%d நாட்கள்",M:"ஒரு மாதம்",MM:"%d மாதங்கள்",y:"ஒரு வருடம்",yy:"%d ஆண்டுகள்"},dayOfMonthOrdinalParse:/\d{1,2}வது/,ordinal:function(t){return t+"வது"},preparse:function(t){return t.replace(/[௧௨௩௪௫௬௭௮௯௦]/g,function(t){return n[t]})},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]})},meridiemParse:/யாமம்|வைகறை|காலை|நண்பகல்|எற்பாடு|மாலை/,meridiem:function(t,e,n){return t<2?" யாமம்":t<6?" வைகறை":t<10?" காலை":t<14?" நண்பகல்":t<18?" எற்பாடு":t<22?" மாலை":" யாமம்"},meridiemHour:function(t,e){return 12===t&&(t=0),"யாமம்"===e?t<2?t:t+12:"வைகறை"===e||"காலை"===e?t:"நண்பகல்"===e&&t>=10?t:t+12},week:{dow:0,doy:6}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("sw",{months:"Januari_Februari_Machi_Aprili_Mei_Juni_Julai_Agosti_Septemba_Oktoba_Novemba_Desemba".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ago_Sep_Okt_Nov_Des".split("_"),weekdays:"Jumapili_Jumatatu_Jumanne_Jumatano_Alhamisi_Ijumaa_Jumamosi".split("_"),weekdaysShort:"Jpl_Jtat_Jnne_Jtan_Alh_Ijm_Jmos".split("_"),weekdaysMin:"J2_J3_J4_J5_Al_Ij_J1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[leo saa] LT",nextDay:"[kesho saa] LT",nextWeek:"[wiki ijayo] dddd [saat] LT",lastDay:"[jana] LT",lastWeek:"[wiki iliyopita] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s baadaye",past:"tokea %s",s:"hivi punde",ss:"sekunde %d",m:"dakika moja",mm:"dakika %d",h:"saa limoja",hh:"masaa %d",d:"siku moja",dd:"masiku %d",M:"mwezi mmoja",MM:"miezi %d",y:"mwaka mmoja",yy:"miaka %d"},week:{dow:1,doy:7}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("sv",{months:"januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec".split("_"),weekdays:"söndag_måndag_tisdag_onsdag_torsdag_fredag_lördag".split("_"),weekdaysShort:"sön_mån_tis_ons_tor_fre_lör".split("_"),weekdaysMin:"sö_må_ti_on_to_fr_lö".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [kl.] HH:mm",LLLL:"dddd D MMMM YYYY [kl.] HH:mm",lll:"D MMM YYYY HH:mm",llll:"ddd D MMM YYYY HH:mm"},calendar:{sameDay:"[Idag] LT",nextDay:"[Imorgon] LT",lastDay:"[Igår] LT",nextWeek:"[På] dddd LT",lastWeek:"[I] dddd[s] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"för %s sedan",s:"några sekunder",ss:"%d sekunder",m:"en minut",mm:"%d minuter",h:"en timme",hh:"%d timmar",d:"en dag",dd:"%d dagar",M:"en månad",MM:"%d månader",y:"ett år",yy:"%d år"},dayOfMonthOrdinalParse:/\d{1,2}(e|a)/,ordinal:function(t){var e=t%10,n=1==~~(t%100/10)?"e":1===e?"a":2===e?"a":"e";return t+n},week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("ss",{months:"Bhimbidvwane_Indlovana_Indlov'lenkhulu_Mabasa_Inkhwekhweti_Inhlaba_Kholwane_Ingci_Inyoni_Imphala_Lweti_Ingongoni".split("_"),monthsShort:"Bhi_Ina_Inu_Mab_Ink_Inh_Kho_Igc_Iny_Imp_Lwe_Igo".split("_"),weekdays:"Lisontfo_Umsombuluko_Lesibili_Lesitsatfu_Lesine_Lesihlanu_Umgcibelo".split("_"),weekdaysShort:"Lis_Umb_Lsb_Les_Lsi_Lsh_Umg".split("_"),weekdaysMin:"Li_Us_Lb_Lt_Ls_Lh_Ug".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Namuhla nga] LT",nextDay:"[Kusasa nga] LT",nextWeek:"dddd [nga] LT",lastDay:"[Itolo nga] LT",lastWeek:"dddd [leliphelile] [nga] LT",sameElse:"L"},relativeTime:{future:"nga %s",past:"wenteka nga %s",s:"emizuzwana lomcane",ss:"%d mzuzwana",m:"umzuzu",mm:"%d emizuzu",h:"lihora",hh:"%d emahora",d:"lilanga",dd:"%d emalanga",M:"inyanga",MM:"%d tinyanga",y:"umnyaka",yy:"%d iminyaka"},meridiemParse:/ekuseni|emini|entsambama|ebusuku/,meridiem:function(t,e,n){return t<11?"ekuseni":t<15?"emini":t<19?"entsambama":"ebusuku"},meridiemHour:function(t,e){return 12===t&&(t=0),"ekuseni"===e?t:"emini"===e?t>=11?t:t+12:"entsambama"===e||"ebusuku"===e?0===t?0:t+12:void 0},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:"%d",week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";var e={words:{ss:["секунда","секунде","секунди"],m:["један минут","једне минуте"],mm:["минут","минуте","минута"],h:["један сат","једног сата"],hh:["сат","сата","сати"],dd:["дан","дана","дана"],MM:["месец","месеца","месеци"],yy:["година","године","година"]},correctGrammaticalCase:function(t,e){return 1===t?e[0]:t>=2&&t<=4?e[1]:e[2]},translate:function(t,n,i){var r=e.words[i];return 1===i.length?n?r[0]:r[1]:t+" "+e.correctGrammaticalCase(t,r)}};t.defineLocale("sr-cyrl",{months:"јануар_фебруар_март_април_мај_јун_јул_август_септембар_октобар_новембар_децембар".split("_"),monthsShort:"јан._феб._мар._апр._мај_јун_јул_авг._сеп._окт._нов._дец.".split("_"),monthsParseExact:!0,weekdays:"недеља_понедељак_уторак_среда_четвртак_петак_субота".split("_"),weekdaysShort:"нед._пон._уто._сре._чет._пет._суб.".split("_"),weekdaysMin:"не_по_ут_ср_че_пе_су".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[данас у] LT",nextDay:"[сутра у] LT",nextWeek:function(){switch(this.day()){case 0:return"[у] [недељу] [у] LT";case 3:return"[у] [среду] [у] LT";case 6:return"[у] [суботу] [у] LT";case 1:case 2:case 4:case 5:return"[у] dddd [у] LT"}},lastDay:"[јуче у] LT",lastWeek:function(){return["[прошле] [недеље] [у] LT","[прошлог] [понедељка] [у] LT","[прошлог] [уторка] [у] LT","[прошле] [среде] [у] LT","[прошлог] [четвртка] [у] LT","[прошлог] [петка] [у] LT","[прошле] [суботе] [у] LT"][this.day()]},sameElse:"L"},relativeTime:{future:"за %s",past:"пре %s",s:"неколико секунди",ss:e.translate,m:e.translate,mm:e.translate,h:e.translate,hh:e.translate,d:"дан",dd:e.translate,M:"месец",MM:e.translate,y:"годину",yy:e.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}(n(0))},function(t,e,n){!function(t){"use strict";var e={words:{ss:["sekunda","sekunde","sekundi"],m:["jedan minut","jedne minute"],mm:["minut","minute","minuta"],h:["jedan sat","jednog sata"],hh:["sat","sata","sati"],dd:["dan","dana","dana"],MM:["mesec","meseca","meseci"],yy:["godina","godine","godina"]},correctGrammaticalCase:function(t,e){return 1===t?e[0]:t>=2&&t<=4?e[1]:e[2]},translate:function(t,n,i){var r=e.words[i];return 1===i.length?n?r[0]:r[1]:t+" "+e.correctGrammaticalCase(t,r)}};t.defineLocale("sr",{months:"januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar".split("_"),monthsShort:"jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedelja_ponedeljak_utorak_sreda_četvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sre._čet._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_če_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedelju] [u] LT";case 3:return"[u] [sredu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[juče u] LT",lastWeek:function(){return["[prošle] [nedelje] [u] LT","[prošlog] [ponedeljka] [u] LT","[prošlog] [utorka] [u] LT","[prošle] [srede] [u] LT","[prošlog] [četvrtka] [u] LT","[prošlog] [petka] [u] LT","[prošle] [subote] [u] LT"][this.day()]},sameElse:"L"},relativeTime:{future:"za %s",past:"pre %s",s:"nekoliko sekundi",ss:e.translate,m:e.translate,mm:e.translate,h:e.translate,hh:e.translate,d:"dan",dd:e.translate,M:"mesec",MM:e.translate,y:"godinu",yy:e.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("sq",{months:"Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_Nëntor_Dhjetor".split("_"),monthsShort:"Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_Nën_Dhj".split("_"),weekdays:"E Diel_E Hënë_E Martë_E Mërkurë_E Enjte_E Premte_E Shtunë".split("_"),weekdaysShort:"Die_Hën_Mar_Mër_Enj_Pre_Sht".split("_"),weekdaysMin:"D_H_Ma_Më_E_P_Sh".split("_"),weekdaysParseExact:!0,meridiemParse:/PD|MD/,isPM:function(t){return"M"===t.charAt(0)},meridiem:function(t,e,n){return t<12?"PD":"MD"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Sot në] LT",nextDay:"[Nesër në] LT",nextWeek:"dddd [në] LT",lastDay:"[Dje në] LT",lastWeek:"dddd [e kaluar në] LT",sameElse:"L"},relativeTime:{future:"në %s",past:"%s më parë",s:"disa sekonda",ss:"%d sekonda",m:"një minutë",mm:"%d minuta",h:"një orë",hh:"%d orë",d:"një ditë",dd:"%d ditë",M:"një muaj",MM:"%d muaj",y:"një vit",yy:"%d vite"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";function e(t,e,n,i){var r=t+" ";switch(n){case"s":return e||i?"nekaj sekund":"nekaj sekundami";case"ss":return r+=1===t?e?"sekundo":"sekundi":2===t?e||i?"sekundi":"sekundah":t<5?e||i?"sekunde":"sekundah":"sekund";case"m":return e?"ena minuta":"eno minuto";case"mm":return r+=1===t?e?"minuta":"minuto":2===t?e||i?"minuti":"minutama":t<5?e||i?"minute":"minutami":e||i?"minut":"minutami";case"h":return e?"ena ura":"eno uro";case"hh":return r+=1===t?e?"ura":"uro":2===t?e||i?"uri":"urama":t<5?e||i?"ure":"urami":e||i?"ur":"urami";case"d":return e||i?"en dan":"enim dnem";case"dd":return r+=1===t?e||i?"dan":"dnem":2===t?e||i?"dni":"dnevoma":e||i?"dni":"dnevi";case"M":return e||i?"en mesec":"enim mesecem";case"MM":return r+=1===t?e||i?"mesec":"mesecem":2===t?e||i?"meseca":"mesecema":t<5?e||i?"mesece":"meseci":e||i?"mesecev":"meseci";case"y":return e||i?"eno leto":"enim letom";case"yy":return r+=1===t?e||i?"leto":"letom":2===t?e||i?"leti":"letoma":t<5?e||i?"leta":"leti":e||i?"let":"leti"}}t.defineLocale("sl",{months:"januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december".split("_"),monthsShort:"jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedelja_ponedeljek_torek_sreda_četrtek_petek_sobota".split("_"),weekdaysShort:"ned._pon._tor._sre._čet._pet._sob.".split("_"),weekdaysMin:"ne_po_to_sr_če_pe_so".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danes ob] LT",nextDay:"[jutri ob] LT",nextWeek:function(){switch(this.day()){case 0:return"[v] [nedeljo] [ob] LT";case 3:return"[v] [sredo] [ob] LT";case 6:return"[v] [soboto] [ob] LT";case 1:case 2:case 4:case 5:return"[v] dddd [ob] LT"}},lastDay:"[včeraj ob] LT",lastWeek:function(){switch(this.day()){case 0:return"[prejšnjo] [nedeljo] [ob] LT";case 3:return"[prejšnjo] [sredo] [ob] LT";case 6:return"[prejšnjo] [soboto] [ob] LT";case 1:case 2:case 4:case 5:return"[prejšnji] dddd [ob] LT"}},sameElse:"L"},relativeTime:{future:"čez %s",past:"pred %s",s:e,ss:e,m:e,mm:e,h:e,hh:e,d:e,dd:e,M:e,MM:e,y:e,yy:e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}(n(0))},function(t,e,n){!function(t){"use strict";var e="január_február_marec_apríl_máj_jún_júl_august_september_október_november_december".split("_"),n="jan_feb_mar_apr_máj_jún_júl_aug_sep_okt_nov_dec".split("_");function i(t){return t>1&&t<5}function r(t,e,n,r){var a=t+" ";switch(n){case"s":return e||r?"pár sekúnd":"pár sekundami";case"ss":return e||r?a+(i(t)?"sekundy":"sekúnd"):a+"sekundami";case"m":return e?"minúta":r?"minútu":"minútou";case"mm":return e||r?a+(i(t)?"minúty":"minút"):a+"minútami";case"h":return e?"hodina":r?"hodinu":"hodinou";case"hh":return e||r?a+(i(t)?"hodiny":"hodín"):a+"hodinami";case"d":return e||r?"deň":"dňom";case"dd":return e||r?a+(i(t)?"dni":"dní"):a+"dňami";case"M":return e||r?"mesiac":"mesiacom";case"MM":return e||r?a+(i(t)?"mesiace":"mesiacov"):a+"mesiacmi";case"y":return e||r?"rok":"rokom";case"yy":return e||r?a+(i(t)?"roky":"rokov"):a+"rokmi"}}t.defineLocale("sk",{months:e,monthsShort:n,weekdays:"nedeľa_pondelok_utorok_streda_štvrtok_piatok_sobota".split("_"),weekdaysShort:"ne_po_ut_st_št_pi_so".split("_"),weekdaysMin:"ne_po_ut_st_št_pi_so".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd D. MMMM YYYY H:mm"},calendar:{sameDay:"[dnes o] LT",nextDay:"[zajtra o] LT",nextWeek:function(){switch(this.day()){case 0:return"[v nedeľu o] LT";case 1:case 2:return"[v] dddd [o] LT";case 3:return"[v stredu o] LT";case 4:return"[vo štvrtok o] LT";case 5:return"[v piatok o] LT";case 6:return"[v sobotu o] LT"}},lastDay:"[včera o] LT",lastWeek:function(){switch(this.day()){case 0:return"[minulú nedeľu o] LT";case 1:case 2:return"[minulý] dddd [o] LT";case 3:return"[minulú stredu o] LT";case 4:case 5:return"[minulý] dddd [o] LT";case 6:return"[minulú sobotu o] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"pred %s",s:r,ss:r,m:r,mm:r,h:r,hh:r,d:r,dd:r,M:r,MM:r,y:r,yy:r},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("si",{months:"ජනවාරි_පෙබරවාරි_මාර්තු_අප්‍රේල්_මැයි_ජූනි_ජූලි_අගෝස්තු_සැප්තැම්බර්_ඔක්තෝබර්_නොවැම්බර්_දෙසැම්බර්".split("_"),monthsShort:"ජන_පෙබ_මාර්_අප්_මැයි_ජූනි_ජූලි_අගෝ_සැප්_ඔක්_නොවැ_දෙසැ".split("_"),weekdays:"ඉරිදා_සඳුදා_අඟහරුවාදා_බදාදා_බ්‍රහස්පතින්දා_සිකුරාදා_සෙනසුරාදා".split("_"),weekdaysShort:"ඉරි_සඳු_අඟ_බදා_බ්‍රහ_සිකු_සෙන".split("_"),weekdaysMin:"ඉ_ස_අ_බ_බ්‍ර_සි_සෙ".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"a h:mm",LTS:"a h:mm:ss",L:"YYYY/MM/DD",LL:"YYYY MMMM D",LLL:"YYYY MMMM D, a h:mm",LLLL:"YYYY MMMM D [වැනි] dddd, a h:mm:ss"},calendar:{sameDay:"[අද] LT[ට]",nextDay:"[හෙට] LT[ට]",nextWeek:"dddd LT[ට]",lastDay:"[ඊයේ] LT[ට]",lastWeek:"[පසුගිය] dddd LT[ට]",sameElse:"L"},relativeTime:{future:"%sකින්",past:"%sකට පෙර",s:"තත්පර කිහිපය",ss:"තත්පර %d",m:"මිනිත්තුව",mm:"මිනිත්තු %d",h:"පැය",hh:"පැය %d",d:"දිනය",dd:"දින %d",M:"මාසය",MM:"මාස %d",y:"වසර",yy:"වසර %d"},dayOfMonthOrdinalParse:/\d{1,2} වැනි/,ordinal:function(t){return t+" වැනි"},meridiemParse:/පෙර වරු|පස් වරු|පෙ.ව|ප.ව./,isPM:function(t){return"ප.ව."===t||"පස් වරු"===t},meridiem:function(t,e,n){return t>11?n?"ප.ව.":"පස් වරු":n?"පෙ.ව.":"පෙර වරු"}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("se",{months:"ođđajagemánnu_guovvamánnu_njukčamánnu_cuoŋománnu_miessemánnu_geassemánnu_suoidnemánnu_borgemánnu_čakčamánnu_golggotmánnu_skábmamánnu_juovlamánnu".split("_"),monthsShort:"ođđj_guov_njuk_cuo_mies_geas_suoi_borg_čakč_golg_skáb_juov".split("_"),weekdays:"sotnabeaivi_vuossárga_maŋŋebárga_gaskavahkku_duorastat_bearjadat_lávvardat".split("_"),weekdaysShort:"sotn_vuos_maŋ_gask_duor_bear_láv".split("_"),weekdaysMin:"s_v_m_g_d_b_L".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"MMMM D. [b.] YYYY",LLL:"MMMM D. [b.] YYYY [ti.] HH:mm",LLLL:"dddd, MMMM D. [b.] YYYY [ti.] HH:mm"},calendar:{sameDay:"[otne ti] LT",nextDay:"[ihttin ti] LT",nextWeek:"dddd [ti] LT",lastDay:"[ikte ti] LT",lastWeek:"[ovddit] dddd [ti] LT",sameElse:"L"},relativeTime:{future:"%s geažes",past:"maŋit %s",s:"moadde sekunddat",ss:"%d sekunddat",m:"okta minuhta",mm:"%d minuhtat",h:"okta diimmu",hh:"%d diimmut",d:"okta beaivi",dd:"%d beaivvit",M:"okta mánnu",MM:"%d mánut",y:"okta jahki",yy:"%d jagit"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";var e=["جنوري","فيبروري","مارچ","اپريل","مئي","جون","جولاءِ","آگسٽ","سيپٽمبر","آڪٽوبر","نومبر","ڊسمبر"],n=["آچر","سومر","اڱارو","اربع","خميس","جمع","ڇنڇر"];t.defineLocale("sd",{months:e,monthsShort:e,weekdays:n,weekdaysShort:n,weekdaysMin:n,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd، D MMMM YYYY HH:mm"},meridiemParse:/صبح|شام/,isPM:function(t){return"شام"===t},meridiem:function(t,e,n){return t<12?"صبح":"شام"},calendar:{sameDay:"[اڄ] LT",nextDay:"[سڀاڻي] LT",nextWeek:"dddd [اڳين هفتي تي] LT",lastDay:"[ڪالهه] LT",lastWeek:"[گزريل هفتي] dddd [تي] LT",sameElse:"L"},relativeTime:{future:"%s پوء",past:"%s اڳ",s:"چند سيڪنڊ",ss:"%d سيڪنڊ",m:"هڪ منٽ",mm:"%d منٽ",h:"هڪ ڪلاڪ",hh:"%d ڪلاڪ",d:"هڪ ڏينهن",dd:"%d ڏينهن",M:"هڪ مهينو",MM:"%d مهينا",y:"هڪ سال",yy:"%d سال"},preparse:function(t){return t.replace(/،/g,",")},postformat:function(t){return t.replace(/,/g,"،")},week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";function e(t,e,n){var i,r,a={ss:e?"секунда_секунды_секунд":"секунду_секунды_секунд",mm:e?"минута_минуты_минут":"минуту_минуты_минут",hh:"час_часа_часов",dd:"день_дня_дней",MM:"месяц_месяца_месяцев",yy:"год_года_лет"};return"m"===n?e?"минута":"минуту":t+" "+(i=+t,r=a[n].split("_"),i%10==1&&i%100!=11?r[0]:i%10>=2&&i%10<=4&&(i%100<10||i%100>=20)?r[1]:r[2])}var n=[/^янв/i,/^фев/i,/^мар/i,/^апр/i,/^ма[йя]/i,/^июн/i,/^июл/i,/^авг/i,/^сен/i,/^окт/i,/^ноя/i,/^дек/i];t.defineLocale("ru",{months:{format:"января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря".split("_"),standalone:"январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь".split("_")},monthsShort:{format:"янв._февр._мар._апр._мая_июня_июля_авг._сент._окт._нояб._дек.".split("_"),standalone:"янв._февр._март_апр._май_июнь_июль_авг._сент._окт._нояб._дек.".split("_")},weekdays:{standalone:"воскресенье_понедельник_вторник_среда_четверг_пятница_суббота".split("_"),format:"воскресенье_понедельник_вторник_среду_четверг_пятницу_субботу".split("_"),isFormat:/\[ ?[Вв] ?(?:прошлую|следующую|эту)? ?\] ?dddd/},weekdaysShort:"вс_пн_вт_ср_чт_пт_сб".split("_"),weekdaysMin:"вс_пн_вт_ср_чт_пт_сб".split("_"),monthsParse:n,longMonthsParse:n,shortMonthsParse:n,monthsRegex:/^(январ[ья]|янв\.?|феврал[ья]|февр?\.?|марта?|мар\.?|апрел[ья]|апр\.?|ма[йя]|июн[ья]|июн\.?|июл[ья]|июл\.?|августа?|авг\.?|сентябр[ья]|сент?\.?|октябр[ья]|окт\.?|ноябр[ья]|нояб?\.?|декабр[ья]|дек\.?)/i,monthsShortRegex:/^(январ[ья]|янв\.?|феврал[ья]|февр?\.?|марта?|мар\.?|апрел[ья]|апр\.?|ма[йя]|июн[ья]|июн\.?|июл[ья]|июл\.?|августа?|авг\.?|сентябр[ья]|сент?\.?|октябр[ья]|окт\.?|ноябр[ья]|нояб?\.?|декабр[ья]|дек\.?)/i,monthsStrictRegex:/^(январ[яь]|феврал[яь]|марта?|апрел[яь]|ма[яй]|июн[яь]|июл[яь]|августа?|сентябр[яь]|октябр[яь]|ноябр[яь]|декабр[яь])/i,monthsShortStrictRegex:/^(янв\.|февр?\.|мар[т.]|апр\.|ма[яй]|июн[ья.]|июл[ья.]|авг\.|сент?\.|окт\.|нояб?\.|дек\.)/i,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY г.",LLL:"D MMMM YYYY г., H:mm",LLLL:"dddd, D MMMM YYYY г., H:mm"},calendar:{sameDay:"[Сегодня, в] LT",nextDay:"[Завтра, в] LT",lastDay:"[Вчера, в] LT",nextWeek:function(t){if(t.week()===this.week())return 2===this.day()?"[Во] dddd, [в] LT":"[В] dddd, [в] LT";switch(this.day()){case 0:return"[В следующее] dddd, [в] LT";case 1:case 2:case 4:return"[В следующий] dddd, [в] LT";case 3:case 5:case 6:return"[В следующую] dddd, [в] LT"}},lastWeek:function(t){if(t.week()===this.week())return 2===this.day()?"[Во] dddd, [в] LT":"[В] dddd, [в] LT";switch(this.day()){case 0:return"[В прошлое] dddd, [в] LT";case 1:case 2:case 4:return"[В прошлый] dddd, [в] LT";case 3:case 5:case 6:return"[В прошлую] dddd, [в] LT"}},sameElse:"L"},relativeTime:{future:"через %s",past:"%s назад",s:"несколько секунд",ss:e,m:e,mm:e,h:"час",hh:e,d:"день",dd:e,M:"месяц",MM:e,y:"год",yy:e},meridiemParse:/ночи|утра|дня|вечера/i,isPM:function(t){return/^(дня|вечера)$/.test(t)},meridiem:function(t,e,n){return t<4?"ночи":t<12?"утра":t<17?"дня":"вечера"},dayOfMonthOrdinalParse:/\d{1,2}-(й|го|я)/,ordinal:function(t,e){switch(e){case"M":case"d":case"DDD":return t+"-й";case"D":return t+"-го";case"w":case"W":return t+"-я";default:return t}},week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";function e(t,e,n){var i=" ";return(t%100>=20||t>=100&&t%100==0)&&(i=" de "),t+i+{ss:"secunde",mm:"minute",hh:"ore",dd:"zile",MM:"luni",yy:"ani"}[n]}t.defineLocale("ro",{months:"ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie".split("_"),monthsShort:"ian._febr._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"duminică_luni_marți_miercuri_joi_vineri_sâmbătă".split("_"),weekdaysShort:"Dum_Lun_Mar_Mie_Joi_Vin_Sâm".split("_"),weekdaysMin:"Du_Lu_Ma_Mi_Jo_Vi_Sâ".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[azi la] LT",nextDay:"[mâine la] LT",nextWeek:"dddd [la] LT",lastDay:"[ieri la] LT",lastWeek:"[fosta] dddd [la] LT",sameElse:"L"},relativeTime:{future:"peste %s",past:"%s în urmă",s:"câteva secunde",ss:e,m:"un minut",mm:e,h:"o oră",hh:e,d:"o zi",dd:e,M:"o lună",MM:e,y:"un an",yy:e},week:{dow:1,doy:7}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("pt-br",{months:"janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro".split("_"),monthsShort:"jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez".split("_"),weekdays:"Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado".split("_"),weekdaysShort:"Dom_Seg_Ter_Qua_Qui_Sex_Sáb".split("_"),weekdaysMin:"Do_2ª_3ª_4ª_5ª_6ª_Sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY [às] HH:mm",LLLL:"dddd, D [de] MMMM [de] YYYY [às] HH:mm"},calendar:{sameDay:"[Hoje às] LT",nextDay:"[Amanhã às] LT",nextWeek:"dddd [às] LT",lastDay:"[Ontem às] LT",lastWeek:function(){return 0===this.day()||6===this.day()?"[Último] dddd [às] LT":"[Última] dddd [às] LT"},sameElse:"L"},relativeTime:{future:"em %s",past:"há %s",s:"poucos segundos",ss:"%d segundos",m:"um minuto",mm:"%d minutos",h:"uma hora",hh:"%d horas",d:"um dia",dd:"%d dias",M:"um mês",MM:"%d meses",y:"um ano",yy:"%d anos"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº"})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("pt",{months:"janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro".split("_"),monthsShort:"jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez".split("_"),weekdays:"Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado".split("_"),weekdaysShort:"Dom_Seg_Ter_Qua_Qui_Sex_Sáb".split("_"),weekdaysMin:"Do_2ª_3ª_4ª_5ª_6ª_Sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY HH:mm",LLLL:"dddd, D [de] MMMM [de] YYYY HH:mm"},calendar:{sameDay:"[Hoje às] LT",nextDay:"[Amanhã às] LT",nextWeek:"dddd [às] LT",lastDay:"[Ontem às] LT",lastWeek:function(){return 0===this.day()||6===this.day()?"[Último] dddd [às] LT":"[Última] dddd [às] LT"},sameElse:"L"},relativeTime:{future:"em %s",past:"há %s",s:"segundos",ss:"%d segundos",m:"um minuto",mm:"%d minutos",h:"uma hora",hh:"%d horas",d:"um dia",dd:"%d dias",M:"um mês",MM:"%d meses",y:"um ano",yy:"%d anos"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";var e="styczeń_luty_marzec_kwiecień_maj_czerwiec_lipiec_sierpień_wrzesień_październik_listopad_grudzień".split("_"),n="stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_września_października_listopada_grudnia".split("_");function i(t){return t%10<5&&t%10>1&&~~(t/10)%10!=1}function r(t,e,n){var r=t+" ";switch(n){case"ss":return r+(i(t)?"sekundy":"sekund");case"m":return e?"minuta":"minutę";case"mm":return r+(i(t)?"minuty":"minut");case"h":return e?"godzina":"godzinę";case"hh":return r+(i(t)?"godziny":"godzin");case"MM":return r+(i(t)?"miesiące":"miesięcy");case"yy":return r+(i(t)?"lata":"lat")}}t.defineLocale("pl",{months:function(t,i){return t?""===i?"("+n[t.month()]+"|"+e[t.month()]+")":/D MMMM/.test(i)?n[t.month()]:e[t.month()]:e},monthsShort:"sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paź_lis_gru".split("_"),weekdays:"niedziela_poniedziałek_wtorek_środa_czwartek_piątek_sobota".split("_"),weekdaysShort:"ndz_pon_wt_śr_czw_pt_sob".split("_"),weekdaysMin:"Nd_Pn_Wt_Śr_Cz_Pt_So".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Dziś o] LT",nextDay:"[Jutro o] LT",nextWeek:function(){switch(this.day()){case 0:return"[W niedzielę o] LT";case 2:return"[We wtorek o] LT";case 3:return"[W środę o] LT";case 6:return"[W sobotę o] LT";default:return"[W] dddd [o] LT"}},lastDay:"[Wczoraj o] LT",lastWeek:function(){switch(this.day()){case 0:return"[W zeszłą niedzielę o] LT";case 3:return"[W zeszłą środę o] LT";case 6:return"[W zeszłą sobotę o] LT";default:return"[W zeszły] dddd [o] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"%s temu",s:"kilka sekund",ss:r,m:r,mm:r,h:r,hh:r,d:"1 dzień",dd:"%d dni",M:"miesiąc",MM:r,y:"rok",yy:r},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";var e={1:"੧",2:"੨",3:"੩",4:"੪",5:"੫",6:"੬",7:"੭",8:"੮",9:"੯",0:"੦"},n={"੧":"1","੨":"2","੩":"3","੪":"4","੫":"5","੬":"6","੭":"7","੮":"8","੯":"9","੦":"0"};t.defineLocale("pa-in",{months:"ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ".split("_"),monthsShort:"ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ".split("_"),weekdays:"ਐਤਵਾਰ_ਸੋਮਵਾਰ_ਮੰਗਲਵਾਰ_ਬੁਧਵਾਰ_ਵੀਰਵਾਰ_ਸ਼ੁੱਕਰਵਾਰ_ਸ਼ਨੀਚਰਵਾਰ".split("_"),weekdaysShort:"ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ".split("_"),weekdaysMin:"ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ".split("_"),longDateFormat:{LT:"A h:mm ਵਜੇ",LTS:"A h:mm:ss ਵਜੇ",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm ਵਜੇ",LLLL:"dddd, D MMMM YYYY, A h:mm ਵਜੇ"},calendar:{sameDay:"[ਅਜ] LT",nextDay:"[ਕਲ] LT",nextWeek:"[ਅਗਲਾ] dddd, LT",lastDay:"[ਕਲ] LT",lastWeek:"[ਪਿਛਲੇ] dddd, LT",sameElse:"L"},relativeTime:{future:"%s ਵਿੱਚ",past:"%s ਪਿਛਲੇ",s:"ਕੁਝ ਸਕਿੰਟ",ss:"%d ਸਕਿੰਟ",m:"ਇਕ ਮਿੰਟ",mm:"%d ਮਿੰਟ",h:"ਇੱਕ ਘੰਟਾ",hh:"%d ਘੰਟੇ",d:"ਇੱਕ ਦਿਨ",dd:"%d ਦਿਨ",M:"ਇੱਕ ਮਹੀਨਾ",MM:"%d ਮਹੀਨੇ",y:"ਇੱਕ ਸਾਲ",yy:"%d ਸਾਲ"},preparse:function(t){return t.replace(/[੧੨੩੪੫੬੭੮੯੦]/g,function(t){return n[t]})},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]})},meridiemParse:/ਰਾਤ|ਸਵੇਰ|ਦੁਪਹਿਰ|ਸ਼ਾਮ/,meridiemHour:function(t,e){return 12===t&&(t=0),"ਰਾਤ"===e?t<4?t:t+12:"ਸਵੇਰ"===e?t:"ਦੁਪਹਿਰ"===e?t>=10?t:t+12:"ਸ਼ਾਮ"===e?t+12:void 0},meridiem:function(t,e,n){return t<4?"ਰਾਤ":t<10?"ਸਵੇਰ":t<17?"ਦੁਪਹਿਰ":t<20?"ਸ਼ਾਮ":"ਰਾਤ"},week:{dow:0,doy:6}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("nn",{months:"januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_"),weekdays:"sundag_måndag_tysdag_onsdag_torsdag_fredag_laurdag".split("_"),weekdaysShort:"sun_mån_tys_ons_tor_fre_lau".split("_"),weekdaysMin:"su_må_ty_on_to_fr_lø".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] H:mm",LLLL:"dddd D. MMMM YYYY [kl.] HH:mm"},calendar:{sameDay:"[I dag klokka] LT",nextDay:"[I morgon klokka] LT",nextWeek:"dddd [klokka] LT",lastDay:"[I går klokka] LT",lastWeek:"[Føregåande] dddd [klokka] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"%s sidan",s:"nokre sekund",ss:"%d sekund",m:"eit minutt",mm:"%d minutt",h:"ein time",hh:"%d timar",d:"ein dag",dd:"%d dagar",M:"ein månad",MM:"%d månader",y:"eit år",yy:"%d år"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";var e="jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.".split("_"),n="jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec".split("_"),i=[/^jan/i,/^feb/i,/^maart|mrt.?$/i,/^apr/i,/^mei$/i,/^jun[i.]?$/i,/^jul[i.]?$/i,/^aug/i,/^sep/i,/^okt/i,/^nov/i,/^dec/i],r=/^(januari|februari|maart|april|mei|april|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i;t.defineLocale("nl-be",{months:"januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december".split("_"),monthsShort:function(t,i){return t?/-MMM-/.test(i)?n[t.month()]:e[t.month()]:e},monthsRegex:r,monthsShortRegex:r,monthsStrictRegex:/^(januari|februari|maart|mei|ju[nl]i|april|augustus|september|oktober|november|december)/i,monthsShortStrictRegex:/^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,monthsParse:i,longMonthsParse:i,shortMonthsParse:i,weekdays:"zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag".split("_"),weekdaysShort:"zo._ma._di._wo._do._vr._za.".split("_"),weekdaysMin:"zo_ma_di_wo_do_vr_za".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[vandaag om] LT",nextDay:"[morgen om] LT",nextWeek:"dddd [om] LT",lastDay:"[gisteren om] LT",lastWeek:"[afgelopen] dddd [om] LT",sameElse:"L"},relativeTime:{future:"over %s",past:"%s geleden",s:"een paar seconden",ss:"%d seconden",m:"één minuut",mm:"%d minuten",h:"één uur",hh:"%d uur",d:"één dag",dd:"%d dagen",M:"één maand",MM:"%d maanden",y:"één jaar",yy:"%d jaar"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(t){return t+(1===t||8===t||t>=20?"ste":"de")},week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";var e="jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.".split("_"),n="jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec".split("_"),i=[/^jan/i,/^feb/i,/^maart|mrt.?$/i,/^apr/i,/^mei$/i,/^jun[i.]?$/i,/^jul[i.]?$/i,/^aug/i,/^sep/i,/^okt/i,/^nov/i,/^dec/i],r=/^(januari|februari|maart|april|mei|april|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i;t.defineLocale("nl",{months:"januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december".split("_"),monthsShort:function(t,i){return t?/-MMM-/.test(i)?n[t.month()]:e[t.month()]:e},monthsRegex:r,monthsShortRegex:r,monthsStrictRegex:/^(januari|februari|maart|mei|ju[nl]i|april|augustus|september|oktober|november|december)/i,monthsShortStrictRegex:/^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,monthsParse:i,longMonthsParse:i,shortMonthsParse:i,weekdays:"zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag".split("_"),weekdaysShort:"zo._ma._di._wo._do._vr._za.".split("_"),weekdaysMin:"zo_ma_di_wo_do_vr_za".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[vandaag om] LT",nextDay:"[morgen om] LT",nextWeek:"dddd [om] LT",lastDay:"[gisteren om] LT",lastWeek:"[afgelopen] dddd [om] LT",sameElse:"L"},relativeTime:{future:"over %s",past:"%s geleden",s:"een paar seconden",ss:"%d seconden",m:"één minuut",mm:"%d minuten",h:"één uur",hh:"%d uur",d:"één dag",dd:"%d dagen",M:"één maand",MM:"%d maanden",y:"één jaar",yy:"%d jaar"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(t){return t+(1===t||8===t||t>=20?"ste":"de")},week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";var e={1:"१",2:"२",3:"३",4:"४",5:"५",6:"६",7:"७",8:"८",9:"९",0:"०"},n={"१":"1","२":"2","३":"3","४":"4","५":"5","६":"6","७":"7","८":"8","९":"9","०":"0"};t.defineLocale("ne",{months:"जनवरी_फेब्रुवरी_मार्च_अप्रिल_मई_जुन_जुलाई_अगष्ट_सेप्टेम्बर_अक्टोबर_नोभेम्बर_डिसेम्बर".split("_"),monthsShort:"जन._फेब्रु._मार्च_अप्रि._मई_जुन_जुलाई._अग._सेप्ट._अक्टो._नोभे._डिसे.".split("_"),monthsParseExact:!0,weekdays:"आइतबार_सोमबार_मङ्गलबार_बुधबार_बिहिबार_शुक्रबार_शनिबार".split("_"),weekdaysShort:"आइत._सोम._मङ्गल._बुध._बिहि._शुक्र._शनि.".split("_"),weekdaysMin:"आ._सो._मं._बु._बि._शु._श.".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"Aको h:mm बजे",LTS:"Aको h:mm:ss बजे",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, Aको h:mm बजे",LLLL:"dddd, D MMMM YYYY, Aको h:mm बजे"},preparse:function(t){return t.replace(/[१२३४५६७८९०]/g,function(t){return n[t]})},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]})},meridiemParse:/राति|बिहान|दिउँसो|साँझ/,meridiemHour:function(t,e){return 12===t&&(t=0),"राति"===e?t<4?t:t+12:"बिहान"===e?t:"दिउँसो"===e?t>=10?t:t+12:"साँझ"===e?t+12:void 0},meridiem:function(t,e,n){return t<3?"राति":t<12?"बिहान":t<16?"दिउँसो":t<20?"साँझ":"राति"},calendar:{sameDay:"[आज] LT",nextDay:"[भोलि] LT",nextWeek:"[आउँदो] dddd[,] LT",lastDay:"[हिजो] LT",lastWeek:"[गएको] dddd[,] LT",sameElse:"L"},relativeTime:{future:"%sमा",past:"%s अगाडि",s:"केही क्षण",ss:"%d सेकेण्ड",m:"एक मिनेट",mm:"%d मिनेट",h:"एक घण्टा",hh:"%d घण्टा",d:"एक दिन",dd:"%d दिन",M:"एक महिना",MM:"%d महिना",y:"एक बर्ष",yy:"%d बर्ष"},week:{dow:0,doy:6}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("nb",{months:"januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan._feb._mars_april_mai_juni_juli_aug._sep._okt._nov._des.".split("_"),monthsParseExact:!0,weekdays:"søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag".split("_"),weekdaysShort:"sø._ma._ti._on._to._fr._lø.".split("_"),weekdaysMin:"sø_ma_ti_on_to_fr_lø".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] HH:mm",LLLL:"dddd D. MMMM YYYY [kl.] HH:mm"},calendar:{sameDay:"[i dag kl.] LT",nextDay:"[i morgen kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[i går kl.] LT",lastWeek:"[forrige] dddd [kl.] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"%s siden",s:"noen sekunder",ss:"%d sekunder",m:"ett minutt",mm:"%d minutter",h:"en time",hh:"%d timer",d:"en dag",dd:"%d dager",M:"en måned",MM:"%d måneder",y:"ett år",yy:"%d år"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";var e={1:"၁",2:"၂",3:"၃",4:"၄",5:"၅",6:"၆",7:"၇",8:"၈",9:"၉",0:"၀"},n={"၁":"1","၂":"2","၃":"3","၄":"4","၅":"5","၆":"6","၇":"7","၈":"8","၉":"9","၀":"0"};t.defineLocale("my",{months:"ဇန်နဝါရီ_ဖေဖော်ဝါရီ_မတ်_ဧပြီ_မေ_ဇွန်_ဇူလိုင်_သြဂုတ်_စက်တင်ဘာ_အောက်တိုဘာ_နိုဝင်ဘာ_ဒီဇင်ဘာ".split("_"),monthsShort:"ဇန်_ဖေ_မတ်_ပြီ_မေ_ဇွန်_လိုင်_သြ_စက်_အောက်_နို_ဒီ".split("_"),weekdays:"တနင်္ဂနွေ_တနင်္လာ_အင်္ဂါ_ဗုဒ္ဓဟူး_ကြာသပတေး_သောကြာ_စနေ".split("_"),weekdaysShort:"နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ".split("_"),weekdaysMin:"နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[ယနေ.] LT [မှာ]",nextDay:"[မနက်ဖြန်] LT [မှာ]",nextWeek:"dddd LT [မှာ]",lastDay:"[မနေ.က] LT [မှာ]",lastWeek:"[ပြီးခဲ့သော] dddd LT [မှာ]",sameElse:"L"},relativeTime:{future:"လာမည့် %s မှာ",past:"လွန်ခဲ့သော %s က",s:"စက္ကန်.အနည်းငယ်",ss:"%d စက္ကန့်",m:"တစ်မိနစ်",mm:"%d မိနစ်",h:"တစ်နာရီ",hh:"%d နာရီ",d:"တစ်ရက်",dd:"%d ရက်",M:"တစ်လ",MM:"%d လ",y:"တစ်နှစ်",yy:"%d နှစ်"},preparse:function(t){return t.replace(/[၁၂၃၄၅၆၇၈၉၀]/g,function(t){return n[t]})},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]})},week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("mt",{months:"Jannar_Frar_Marzu_April_Mejju_Ġunju_Lulju_Awwissu_Settembru_Ottubru_Novembru_Diċembru".split("_"),monthsShort:"Jan_Fra_Mar_Apr_Mej_Ġun_Lul_Aww_Set_Ott_Nov_Diċ".split("_"),weekdays:"Il-Ħadd_It-Tnejn_It-Tlieta_L-Erbgħa_Il-Ħamis_Il-Ġimgħa_Is-Sibt".split("_"),weekdaysShort:"Ħad_Tne_Tli_Erb_Ħam_Ġim_Sib".split("_"),weekdaysMin:"Ħa_Tn_Tl_Er_Ħa_Ġi_Si".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Illum fil-]LT",nextDay:"[Għada fil-]LT",nextWeek:"dddd [fil-]LT",lastDay:"[Il-bieraħ fil-]LT",lastWeek:"dddd [li għadda] [fil-]LT",sameElse:"L"},relativeTime:{future:"f’ %s",past:"%s ilu",s:"ftit sekondi",ss:"%d sekondi",m:"minuta",mm:"%d minuti",h:"siegħa",hh:"%d siegħat",d:"ġurnata",dd:"%d ġranet",M:"xahar",MM:"%d xhur",y:"sena",yy:"%d sni"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("ms-my",{months:"Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis".split("_"),weekdays:"Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu".split("_"),weekdaysShort:"Ahd_Isn_Sel_Rab_Kha_Jum_Sab".split("_"),weekdaysMin:"Ah_Is_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/pagi|tengahari|petang|malam/,meridiemHour:function(t,e){return 12===t&&(t=0),"pagi"===e?t:"tengahari"===e?t>=11?t:t+12:"petang"===e||"malam"===e?t+12:void 0},meridiem:function(t,e,n){return t<11?"pagi":t<15?"tengahari":t<19?"petang":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Esok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kelmarin pukul] LT",lastWeek:"dddd [lepas pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lepas",s:"beberapa saat",ss:"%d saat",m:"seminit",mm:"%d minit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,doy:7}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("ms",{months:"Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis".split("_"),weekdays:"Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu".split("_"),weekdaysShort:"Ahd_Isn_Sel_Rab_Kha_Jum_Sab".split("_"),weekdaysMin:"Ah_Is_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/pagi|tengahari|petang|malam/,meridiemHour:function(t,e){return 12===t&&(t=0),"pagi"===e?t:"tengahari"===e?t>=11?t:t+12:"petang"===e||"malam"===e?t+12:void 0},meridiem:function(t,e,n){return t<11?"pagi":t<15?"tengahari":t<19?"petang":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Esok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kelmarin pukul] LT",lastWeek:"dddd [lepas pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lepas",s:"beberapa saat",ss:"%d saat",m:"seminit",mm:"%d minit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,doy:7}})}(n(0))},function(t,e,n){!function(t){"use strict";var e={1:"१",2:"२",3:"३",4:"४",5:"५",6:"६",7:"७",8:"८",9:"९",0:"०"},n={"१":"1","२":"2","३":"3","४":"4","५":"5","६":"6","७":"7","८":"8","९":"9","०":"0"};function i(t,e,n,i){var r="";if(e)switch(n){case"s":r="काही सेकंद";break;case"ss":r="%d सेकंद";break;case"m":r="एक मिनिट";break;case"mm":r="%d मिनिटे";break;case"h":r="एक तास";break;case"hh":r="%d तास";break;case"d":r="एक दिवस";break;case"dd":r="%d दिवस";break;case"M":r="एक महिना";break;case"MM":r="%d महिने";break;case"y":r="एक वर्ष";break;case"yy":r="%d वर्षे"}else switch(n){case"s":r="काही सेकंदां";break;case"ss":r="%d सेकंदां";break;case"m":r="एका मिनिटा";break;case"mm":r="%d मिनिटां";break;case"h":r="एका तासा";break;case"hh":r="%d तासां";break;case"d":r="एका दिवसा";break;case"dd":r="%d दिवसां";break;case"M":r="एका महिन्या";break;case"MM":r="%d महिन्यां";break;case"y":r="एका वर्षा";break;case"yy":r="%d वर्षां"}return r.replace(/%d/i,t)}t.defineLocale("mr",{months:"जानेवारी_फेब्रुवारी_मार्च_एप्रिल_मे_जून_जुलै_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर".split("_"),monthsShort:"जाने._फेब्रु._मार्च._एप्रि._मे._जून._जुलै._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.".split("_"),monthsParseExact:!0,weekdays:"रविवार_सोमवार_मंगळवार_बुधवार_गुरूवार_शुक्रवार_शनिवार".split("_"),weekdaysShort:"रवि_सोम_मंगळ_बुध_गुरू_शुक्र_शनि".split("_"),weekdaysMin:"र_सो_मं_बु_गु_शु_श".split("_"),longDateFormat:{LT:"A h:mm वाजता",LTS:"A h:mm:ss वाजता",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm वाजता",LLLL:"dddd, D MMMM YYYY, A h:mm वाजता"},calendar:{sameDay:"[आज] LT",nextDay:"[उद्या] LT",nextWeek:"dddd, LT",lastDay:"[काल] LT",lastWeek:"[मागील] dddd, LT",sameElse:"L"},relativeTime:{future:"%sमध्ये",past:"%sपूर्वी",s:i,ss:i,m:i,mm:i,h:i,hh:i,d:i,dd:i,M:i,MM:i,y:i,yy:i},preparse:function(t){return t.replace(/[१२३४५६७८९०]/g,function(t){return n[t]})},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]})},meridiemParse:/रात्री|सकाळी|दुपारी|सायंकाळी/,meridiemHour:function(t,e){return 12===t&&(t=0),"रात्री"===e?t<4?t:t+12:"सकाळी"===e?t:"दुपारी"===e?t>=10?t:t+12:"सायंकाळी"===e?t+12:void 0},meridiem:function(t,e,n){return t<4?"रात्री":t<10?"सकाळी":t<17?"दुपारी":t<20?"सायंकाळी":"रात्री"},week:{dow:0,doy:6}})}(n(0))},function(t,e,n){!function(t){"use strict";function e(t,e,n,i){switch(n){case"s":return e?"хэдхэн секунд":"хэдхэн секундын";case"ss":return t+(e?" секунд":" секундын");case"m":case"mm":return t+(e?" минут":" минутын");case"h":case"hh":return t+(e?" цаг":" цагийн");case"d":case"dd":return t+(e?" өдөр":" өдрийн");case"M":case"MM":return t+(e?" сар":" сарын");case"y":case"yy":return t+(e?" жил":" жилийн");default:return t}}t.defineLocale("mn",{months:"Нэгдүгээр сар_Хоёрдугаар сар_Гуравдугаар сар_Дөрөвдүгээр сар_Тавдугаар сар_Зургадугаар сар_Долдугаар сар_Наймдугаар сар_Есдүгээр сар_Аравдугаар сар_Арван нэгдүгээр сар_Арван хоёрдугаар сар".split("_"),monthsShort:"1 сар_2 сар_3 сар_4 сар_5 сар_6 сар_7 сар_8 сар_9 сар_10 сар_11 сар_12 сар".split("_"),monthsParseExact:!0,weekdays:"Ням_Даваа_Мягмар_Лхагва_Пүрэв_Баасан_Бямба".split("_"),weekdaysShort:"Ням_Дав_Мяг_Лха_Пүр_Баа_Бям".split("_"),weekdaysMin:"Ня_Да_Мя_Лх_Пү_Ба_Бя".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY оны MMMMын D",LLL:"YYYY оны MMMMын D HH:mm",LLLL:"dddd, YYYY оны MMMMын D HH:mm"},meridiemParse:/ҮӨ|ҮХ/i,isPM:function(t){return"ҮХ"===t},meridiem:function(t,e,n){return t<12?"ҮӨ":"ҮХ"},calendar:{sameDay:"[Өнөөдөр] LT",nextDay:"[Маргааш] LT",nextWeek:"[Ирэх] dddd LT",lastDay:"[Өчигдөр] LT",lastWeek:"[Өнгөрсөн] dddd LT",sameElse:"L"},relativeTime:{future:"%s дараа",past:"%s өмнө",s:e,ss:e,m:e,mm:e,h:e,hh:e,d:e,dd:e,M:e,MM:e,y:e,yy:e},dayOfMonthOrdinalParse:/\d{1,2} өдөр/,ordinal:function(t,e){switch(e){case"d":case"D":case"DDD":return t+" өдөр";default:return t}}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("ml",{months:"ജനുവരി_ഫെബ്രുവരി_മാർച്ച്_ഏപ്രിൽ_മേയ്_ജൂൺ_ജൂലൈ_ഓഗസ്റ്റ്_സെപ്റ്റംബർ_ഒക്ടോബർ_നവംബർ_ഡിസംബർ".split("_"),monthsShort:"ജനു._ഫെബ്രു._മാർ._ഏപ്രി._മേയ്_ജൂൺ_ജൂലൈ._ഓഗ._സെപ്റ്റ._ഒക്ടോ._നവം._ഡിസം.".split("_"),monthsParseExact:!0,weekdays:"ഞായറാഴ്ച_തിങ്കളാഴ്ച_ചൊവ്വാഴ്ച_ബുധനാഴ്ച_വ്യാഴാഴ്ച_വെള്ളിയാഴ്ച_ശനിയാഴ്ച".split("_"),weekdaysShort:"ഞായർ_തിങ്കൾ_ചൊവ്വ_ബുധൻ_വ്യാഴം_വെള്ളി_ശനി".split("_"),weekdaysMin:"ഞാ_തി_ചൊ_ബു_വ്യാ_വെ_ശ".split("_"),longDateFormat:{LT:"A h:mm -നു",LTS:"A h:mm:ss -നു",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm -നു",LLLL:"dddd, D MMMM YYYY, A h:mm -നു"},calendar:{sameDay:"[ഇന്ന്] LT",nextDay:"[നാളെ] LT",nextWeek:"dddd, LT",lastDay:"[ഇന്നലെ] LT",lastWeek:"[കഴിഞ്ഞ] dddd, LT",sameElse:"L"},relativeTime:{future:"%s കഴിഞ്ഞ്",past:"%s മുൻപ്",s:"അൽപ നിമിഷങ്ങൾ",ss:"%d സെക്കൻഡ്",m:"ഒരു മിനിറ്റ്",mm:"%d മിനിറ്റ്",h:"ഒരു മണിക്കൂർ",hh:"%d മണിക്കൂർ",d:"ഒരു ദിവസം",dd:"%d ദിവസം",M:"ഒരു മാസം",MM:"%d മാസം",y:"ഒരു വർഷം",yy:"%d വർഷം"},meridiemParse:/രാത്രി|രാവിലെ|ഉച്ച കഴിഞ്ഞ്|വൈകുന്നേരം|രാത്രി/i,meridiemHour:function(t,e){return 12===t&&(t=0),"രാത്രി"===e&&t>=4||"ഉച്ച കഴിഞ്ഞ്"===e||"വൈകുന്നേരം"===e?t+12:t},meridiem:function(t,e,n){return t<4?"രാത്രി":t<12?"രാവിലെ":t<17?"ഉച്ച കഴിഞ്ഞ്":t<20?"വൈകുന്നേരം":"രാത്രി"}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("mk",{months:"јануари_февруари_март_април_мај_јуни_јули_август_септември_октомври_ноември_декември".split("_"),monthsShort:"јан_фев_мар_апр_мај_јун_јул_авг_сеп_окт_ное_дек".split("_"),weekdays:"недела_понеделник_вторник_среда_четврток_петок_сабота".split("_"),weekdaysShort:"нед_пон_вто_сре_чет_пет_саб".split("_"),weekdaysMin:"нe_пo_вт_ср_че_пе_сa".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"D.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[Денес во] LT",nextDay:"[Утре во] LT",nextWeek:"[Во] dddd [во] LT",lastDay:"[Вчера во] LT",lastWeek:function(){switch(this.day()){case 0:case 3:case 6:return"[Изминатата] dddd [во] LT";case 1:case 2:case 4:case 5:return"[Изминатиот] dddd [во] LT"}},sameElse:"L"},relativeTime:{future:"после %s",past:"пред %s",s:"неколку секунди",ss:"%d секунди",m:"минута",mm:"%d минути",h:"час",hh:"%d часа",d:"ден",dd:"%d дена",M:"месец",MM:"%d месеци",y:"година",yy:"%d години"},dayOfMonthOrdinalParse:/\d{1,2}-(ев|ен|ти|ви|ри|ми)/,ordinal:function(t){var e=t%10,n=t%100;return 0===t?t+"-ев":0===n?t+"-ен":n>10&&n<20?t+"-ти":1===e?t+"-ви":2===e?t+"-ри":7===e||8===e?t+"-ми":t+"-ти"},week:{dow:1,doy:7}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("mi",{months:"Kohi-tāte_Hui-tanguru_Poutū-te-rangi_Paenga-whāwhā_Haratua_Pipiri_Hōngoingoi_Here-turi-kōkā_Mahuru_Whiringa-ā-nuku_Whiringa-ā-rangi_Hakihea".split("_"),monthsShort:"Kohi_Hui_Pou_Pae_Hara_Pipi_Hōngoi_Here_Mahu_Whi-nu_Whi-ra_Haki".split("_"),monthsRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,monthsStrictRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,monthsShortRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,monthsShortStrictRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,2}/i,weekdays:"Rātapu_Mane_Tūrei_Wenerei_Tāite_Paraire_Hātarei".split("_"),weekdaysShort:"Ta_Ma_Tū_We_Tāi_Pa_Hā".split("_"),weekdaysMin:"Ta_Ma_Tū_We_Tāi_Pa_Hā".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [i] HH:mm",LLLL:"dddd, D MMMM YYYY [i] HH:mm"},calendar:{sameDay:"[i teie mahana, i] LT",nextDay:"[apopo i] LT",nextWeek:"dddd [i] LT",lastDay:"[inanahi i] LT",lastWeek:"dddd [whakamutunga i] LT",sameElse:"L"},relativeTime:{future:"i roto i %s",past:"%s i mua",s:"te hēkona ruarua",ss:"%d hēkona",m:"he meneti",mm:"%d meneti",h:"te haora",hh:"%d haora",d:"he ra",dd:"%d ra",M:"he marama",MM:"%d marama",y:"he tau",yy:"%d tau"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";var e={words:{ss:["sekund","sekunda","sekundi"],m:["jedan minut","jednog minuta"],mm:["minut","minuta","minuta"],h:["jedan sat","jednog sata"],hh:["sat","sata","sati"],dd:["dan","dana","dana"],MM:["mjesec","mjeseca","mjeseci"],yy:["godina","godine","godina"]},correctGrammaticalCase:function(t,e){return 1===t?e[0]:t>=2&&t<=4?e[1]:e[2]},translate:function(t,n,i){var r=e.words[i];return 1===i.length?n?r[0]:r[1]:t+" "+e.correctGrammaticalCase(t,r)}};t.defineLocale("me",{months:"januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar".split("_"),monthsShort:"jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._čet._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_če_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sjutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[juče u] LT",lastWeek:function(){return["[prošle] [nedjelje] [u] LT","[prošlog] [ponedjeljka] [u] LT","[prošlog] [utorka] [u] LT","[prošle] [srijede] [u] LT","[prošlog] [četvrtka] [u] LT","[prošlog] [petka] [u] LT","[prošle] [subote] [u] LT"][this.day()]},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"nekoliko sekundi",ss:e.translate,m:e.translate,mm:e.translate,h:e.translate,hh:e.translate,d:"dan",dd:e.translate,M:"mjesec",MM:e.translate,y:"godinu",yy:e.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}(n(0))},function(t,e,n){!function(t){"use strict";var e={ss:"sekundes_sekundēm_sekunde_sekundes".split("_"),m:"minūtes_minūtēm_minūte_minūtes".split("_"),mm:"minūtes_minūtēm_minūte_minūtes".split("_"),h:"stundas_stundām_stunda_stundas".split("_"),hh:"stundas_stundām_stunda_stundas".split("_"),d:"dienas_dienām_diena_dienas".split("_"),dd:"dienas_dienām_diena_dienas".split("_"),M:"mēneša_mēnešiem_mēnesis_mēneši".split("_"),MM:"mēneša_mēnešiem_mēnesis_mēneši".split("_"),y:"gada_gadiem_gads_gadi".split("_"),yy:"gada_gadiem_gads_gadi".split("_")};function n(t,e,n){return n?e%10==1&&e%100!=11?t[2]:t[3]:e%10==1&&e%100!=11?t[0]:t[1]}function i(t,i,r){return t+" "+n(e[r],t,i)}function r(t,i,r){return n(e[r],t,i)}t.defineLocale("lv",{months:"janvāris_februāris_marts_aprīlis_maijs_jūnijs_jūlijs_augusts_septembris_oktobris_novembris_decembris".split("_"),monthsShort:"jan_feb_mar_apr_mai_jūn_jūl_aug_sep_okt_nov_dec".split("_"),weekdays:"svētdiena_pirmdiena_otrdiena_trešdiena_ceturtdiena_piektdiena_sestdiena".split("_"),weekdaysShort:"Sv_P_O_T_C_Pk_S".split("_"),weekdaysMin:"Sv_P_O_T_C_Pk_S".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY.",LL:"YYYY. [gada] D. MMMM",LLL:"YYYY. [gada] D. MMMM, HH:mm",LLLL:"YYYY. [gada] D. MMMM, dddd, HH:mm"},calendar:{sameDay:"[Šodien pulksten] LT",nextDay:"[Rīt pulksten] LT",nextWeek:"dddd [pulksten] LT",lastDay:"[Vakar pulksten] LT",lastWeek:"[Pagājušā] dddd [pulksten] LT",sameElse:"L"},relativeTime:{future:"pēc %s",past:"pirms %s",s:function(t,e){return e?"dažas sekundes":"dažām sekundēm"},ss:i,m:r,mm:i,h:r,hh:i,d:r,dd:i,M:r,MM:i,y:r,yy:i},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";var e={ss:"sekundė_sekundžių_sekundes",m:"minutė_minutės_minutę",mm:"minutės_minučių_minutes",h:"valanda_valandos_valandą",hh:"valandos_valandų_valandas",d:"diena_dienos_dieną",dd:"dienos_dienų_dienas",M:"mėnuo_mėnesio_mėnesį",MM:"mėnesiai_mėnesių_mėnesius",y:"metai_metų_metus",yy:"metai_metų_metus"};function n(t,e,n,i){return e?r(n)[0]:i?r(n)[1]:r(n)[2]}function i(t){return t%10==0||t>10&&t<20}function r(t){return e[t].split("_")}function a(t,e,a,o){var s=t+" ";return 1===t?s+n(0,e,a[0],o):e?s+(i(t)?r(a)[1]:r(a)[0]):o?s+r(a)[1]:s+(i(t)?r(a)[1]:r(a)[2])}t.defineLocale("lt",{months:{format:"sausio_vasario_kovo_balandžio_gegužės_birželio_liepos_rugpjūčio_rugsėjo_spalio_lapkričio_gruodžio".split("_"),standalone:"sausis_vasaris_kovas_balandis_gegužė_birželis_liepa_rugpjūtis_rugsėjis_spalis_lapkritis_gruodis".split("_"),isFormat:/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?|MMMM?(\[[^\[\]]*\]|\s)+D[oD]?/},monthsShort:"sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd".split("_"),weekdays:{format:"sekmadienį_pirmadienį_antradienį_trečiadienį_ketvirtadienį_penktadienį_šeštadienį".split("_"),standalone:"sekmadienis_pirmadienis_antradienis_trečiadienis_ketvirtadienis_penktadienis_šeštadienis".split("_"),isFormat:/dddd HH:mm/},weekdaysShort:"Sek_Pir_Ant_Tre_Ket_Pen_Šeš".split("_"),weekdaysMin:"S_P_A_T_K_Pn_Š".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY [m.] MMMM D [d.]",LLL:"YYYY [m.] MMMM D [d.], HH:mm [val.]",LLLL:"YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]",l:"YYYY-MM-DD",ll:"YYYY [m.] MMMM D [d.]",lll:"YYYY [m.] MMMM D [d.], HH:mm [val.]",llll:"YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]"},calendar:{sameDay:"[Šiandien] LT",nextDay:"[Rytoj] LT",nextWeek:"dddd LT",lastDay:"[Vakar] LT",lastWeek:"[Praėjusį] dddd LT",sameElse:"L"},relativeTime:{future:"po %s",past:"prieš %s",s:function(t,e,n,i){return e?"kelios sekundės":i?"kelių sekundžių":"kelias sekundes"},ss:a,m:n,mm:a,h:n,hh:a,d:n,dd:a,M:n,MM:a,y:n,yy:a},dayOfMonthOrdinalParse:/\d{1,2}-oji/,ordinal:function(t){return t+"-oji"},week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("lo",{months:"ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ".split("_"),monthsShort:"ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ".split("_"),weekdays:"ອາທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ".split("_"),weekdaysShort:"ທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ".split("_"),weekdaysMin:"ທ_ຈ_ອຄ_ພ_ພຫ_ສກ_ສ".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"ວັນdddd D MMMM YYYY HH:mm"},meridiemParse:/ຕອນເຊົ້າ|ຕອນແລງ/,isPM:function(t){return"ຕອນແລງ"===t},meridiem:function(t,e,n){return t<12?"ຕອນເຊົ້າ":"ຕອນແລງ"},calendar:{sameDay:"[ມື້ນີ້ເວລາ] LT",nextDay:"[ມື້ອື່ນເວລາ] LT",nextWeek:"[ວັນ]dddd[ໜ້າເວລາ] LT",lastDay:"[ມື້ວານນີ້ເວລາ] LT",lastWeek:"[ວັນ]dddd[ແລ້ວນີ້ເວລາ] LT",sameElse:"L"},relativeTime:{future:"ອີກ %s",past:"%sຜ່ານມາ",s:"ບໍ່ເທົ່າໃດວິນາທີ",ss:"%d ວິນາທີ",m:"1 ນາທີ",mm:"%d ນາທີ",h:"1 ຊົ່ວໂມງ",hh:"%d ຊົ່ວໂມງ",d:"1 ມື້",dd:"%d ມື້",M:"1 ເດືອນ",MM:"%d ເດືອນ",y:"1 ປີ",yy:"%d ປີ"},dayOfMonthOrdinalParse:/(ທີ່)\d{1,2}/,ordinal:function(t){return"ທີ່"+t}})}(n(0))},function(t,e,n){!function(t){"use strict";function e(t,e,n,i){var r={m:["eng Minutt","enger Minutt"],h:["eng Stonn","enger Stonn"],d:["een Dag","engem Dag"],M:["ee Mount","engem Mount"],y:["ee Joer","engem Joer"]};return e?r[n][0]:r[n][1]}function n(t){if(t=parseInt(t,10),isNaN(t))return!1;if(t<0)return!0;if(t<10)return 4<=t&&t<=7;if(t<100){var e=t%10,i=t/10;return n(0===e?i:e)}if(t<1e4){for(;t>=10;)t/=10;return n(t)}return n(t/=1e3)}t.defineLocale("lb",{months:"Januar_Februar_Mäerz_Abrëll_Mee_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonndeg_Méindeg_Dënschdeg_Mëttwoch_Donneschdeg_Freideg_Samschdeg".split("_"),weekdaysShort:"So._Mé._Dë._Më._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mé_Dë_Më_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm [Auer]",LTS:"H:mm:ss [Auer]",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm [Auer]",LLLL:"dddd, D. MMMM YYYY H:mm [Auer]"},calendar:{sameDay:"[Haut um] LT",sameElse:"L",nextDay:"[Muer um] LT",nextWeek:"dddd [um] LT",lastDay:"[Gëschter um] LT",lastWeek:function(){switch(this.day()){case 2:case 4:return"[Leschten] dddd [um] LT";default:return"[Leschte] dddd [um] LT"}}},relativeTime:{future:function(t){return n(t.substr(0,t.indexOf(" ")))?"a "+t:"an "+t},past:function(t){return n(t.substr(0,t.indexOf(" ")))?"viru "+t:"virun "+t},s:"e puer Sekonnen",ss:"%d Sekonnen",m:e,mm:"%d Minutten",h:e,hh:"%d Stonnen",d:e,dd:"%d Deeg",M:e,MM:"%d Méint",y:e,yy:"%d Joer"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";var e={0:"-чү",1:"-чи",2:"-чи",3:"-чү",4:"-чү",5:"-чи",6:"-чы",7:"-чи",8:"-чи",9:"-чу",10:"-чу",20:"-чы",30:"-чу",40:"-чы",50:"-чү",60:"-чы",70:"-чи",80:"-чи",90:"-чу",100:"-чү"};t.defineLocale("ky",{months:"январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь".split("_"),monthsShort:"янв_фев_март_апр_май_июнь_июль_авг_сен_окт_ноя_дек".split("_"),weekdays:"Жекшемби_Дүйшөмбү_Шейшемби_Шаршемби_Бейшемби_Жума_Ишемби".split("_"),weekdaysShort:"Жек_Дүй_Шей_Шар_Бей_Жум_Ише".split("_"),weekdaysMin:"Жк_Дй_Шй_Шр_Бй_Жм_Иш".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Бүгүн саат] LT",nextDay:"[Эртең саат] LT",nextWeek:"dddd [саат] LT",lastDay:"[Кече саат] LT",lastWeek:"[Өткен аптанын] dddd [күнү] [саат] LT",sameElse:"L"},relativeTime:{future:"%s ичинде",past:"%s мурун",s:"бирнече секунд",ss:"%d секунд",m:"бир мүнөт",mm:"%d мүнөт",h:"бир саат",hh:"%d саат",d:"бир күн",dd:"%d күн",M:"бир ай",MM:"%d ай",y:"бир жыл",yy:"%d жыл"},dayOfMonthOrdinalParse:/\d{1,2}-(чи|чы|чү|чу)/,ordinal:function(t){var n=t%10,i=t>=100?100:null;return t+(e[t]||e[n]||e[i])},week:{dow:1,doy:7}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("ko",{months:"1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월".split("_"),monthsShort:"1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월".split("_"),weekdays:"일요일_월요일_화요일_수요일_목요일_금요일_토요일".split("_"),weekdaysShort:"일_월_화_수_목_금_토".split("_"),weekdaysMin:"일_월_화_수_목_금_토".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"YYYY.MM.DD.",LL:"YYYY년 MMMM D일",LLL:"YYYY년 MMMM D일 A h:mm",LLLL:"YYYY년 MMMM D일 dddd A h:mm",l:"YYYY.MM.DD.",ll:"YYYY년 MMMM D일",lll:"YYYY년 MMMM D일 A h:mm",llll:"YYYY년 MMMM D일 dddd A h:mm"},calendar:{sameDay:"오늘 LT",nextDay:"내일 LT",nextWeek:"dddd LT",lastDay:"어제 LT",lastWeek:"지난주 dddd LT",sameElse:"L"},relativeTime:{future:"%s 후",past:"%s 전",s:"몇 초",ss:"%d초",m:"1분",mm:"%d분",h:"한 시간",hh:"%d시간",d:"하루",dd:"%d일",M:"한 달",MM:"%d달",y:"일 년",yy:"%d년"},dayOfMonthOrdinalParse:/\d{1,2}(일|월|주)/,ordinal:function(t,e){switch(e){case"d":case"D":case"DDD":return t+"일";case"M":return t+"월";case"w":case"W":return t+"주";default:return t}},meridiemParse:/오전|오후/,isPM:function(t){return"오후"===t},meridiem:function(t,e,n){return t<12?"오전":"오후"}})}(n(0))},function(t,e,n){!function(t){"use strict";var e={1:"೧",2:"೨",3:"೩",4:"೪",5:"೫",6:"೬",7:"೭",8:"೮",9:"೯",0:"೦"},n={"೧":"1","೨":"2","೩":"3","೪":"4","೫":"5","೬":"6","೭":"7","೮":"8","೯":"9","೦":"0"};t.defineLocale("kn",{months:"ಜನವರಿ_ಫೆಬ್ರವರಿ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂಬರ್_ಅಕ್ಟೋಬರ್_ನವೆಂಬರ್_ಡಿಸೆಂಬರ್".split("_"),monthsShort:"ಜನ_ಫೆಬ್ರ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂ_ಅಕ್ಟೋ_ನವೆಂ_ಡಿಸೆಂ".split("_"),monthsParseExact:!0,weekdays:"ಭಾನುವಾರ_ಸೋಮವಾರ_ಮಂಗಳವಾರ_ಬುಧವಾರ_ಗುರುವಾರ_ಶುಕ್ರವಾರ_ಶನಿವಾರ".split("_"),weekdaysShort:"ಭಾನು_ಸೋಮ_ಮಂಗಳ_ಬುಧ_ಗುರು_ಶುಕ್ರ_ಶನಿ".split("_"),weekdaysMin:"ಭಾ_ಸೋ_ಮಂ_ಬು_ಗು_ಶು_ಶ".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm",LLLL:"dddd, D MMMM YYYY, A h:mm"},calendar:{sameDay:"[ಇಂದು] LT",nextDay:"[ನಾಳೆ] LT",nextWeek:"dddd, LT",lastDay:"[ನಿನ್ನೆ] LT",lastWeek:"[ಕೊನೆಯ] dddd, LT",sameElse:"L"},relativeTime:{future:"%s ನಂತರ",past:"%s ಹಿಂದೆ",s:"ಕೆಲವು ಕ್ಷಣಗಳು",ss:"%d ಸೆಕೆಂಡುಗಳು",m:"ಒಂದು ನಿಮಿಷ",mm:"%d ನಿಮಿಷ",h:"ಒಂದು ಗಂಟೆ",hh:"%d ಗಂಟೆ",d:"ಒಂದು ದಿನ",dd:"%d ದಿನ",M:"ಒಂದು ತಿಂಗಳು",MM:"%d ತಿಂಗಳು",y:"ಒಂದು ವರ್ಷ",yy:"%d ವರ್ಷ"},preparse:function(t){return t.replace(/[೧೨೩೪೫೬೭೮೯೦]/g,function(t){return n[t]})},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]})},meridiemParse:/ರಾತ್ರಿ|ಬೆಳಿಗ್ಗೆ|ಮಧ್ಯಾಹ್ನ|ಸಂಜೆ/,meridiemHour:function(t,e){return 12===t&&(t=0),"ರಾತ್ರಿ"===e?t<4?t:t+12:"ಬೆಳಿಗ್ಗೆ"===e?t:"ಮಧ್ಯಾಹ್ನ"===e?t>=10?t:t+12:"ಸಂಜೆ"===e?t+12:void 0},meridiem:function(t,e,n){return t<4?"ರಾತ್ರಿ":t<10?"ಬೆಳಿಗ್ಗೆ":t<17?"ಮಧ್ಯಾಹ್ನ":t<20?"ಸಂಜೆ":"ರಾತ್ರಿ"},dayOfMonthOrdinalParse:/\d{1,2}(ನೇ)/,ordinal:function(t){return t+"ನೇ"},week:{dow:0,doy:6}})}(n(0))},function(t,e,n){!function(t){"use strict";var e={1:"១",2:"២",3:"៣",4:"៤",5:"៥",6:"៦",7:"៧",8:"៨",9:"៩",0:"០"},n={"១":"1","២":"2","៣":"3","៤":"4","៥":"5","៦":"6","៧":"7","៨":"8","៩":"9","០":"0"};t.defineLocale("km",{months:"មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ".split("_"),monthsShort:"មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ".split("_"),weekdays:"អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍".split("_"),weekdaysShort:"អា_ច_អ_ព_ព្រ_សុ_ស".split("_"),weekdaysMin:"អា_ច_អ_ព_ព្រ_សុ_ស".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},meridiemParse:/ព្រឹក|ល្ងាច/,isPM:function(t){return"ល្ងាច"===t},meridiem:function(t,e,n){return t<12?"ព្រឹក":"ល្ងាច"},calendar:{sameDay:"[ថ្ងៃនេះ ម៉ោង] LT",nextDay:"[ស្អែក ម៉ោង] LT",nextWeek:"dddd [ម៉ោង] LT",lastDay:"[ម្សិលមិញ ម៉ោង] LT",lastWeek:"dddd [សប្តាហ៍មុន] [ម៉ោង] LT",sameElse:"L"},relativeTime:{future:"%sទៀត",past:"%sមុន",s:"ប៉ុន្មានវិនាទី",ss:"%d វិនាទី",m:"មួយនាទី",mm:"%d នាទី",h:"មួយម៉ោង",hh:"%d ម៉ោង",d:"មួយថ្ងៃ",dd:"%d ថ្ងៃ",M:"មួយខែ",MM:"%d ខែ",y:"មួយឆ្នាំ",yy:"%d ឆ្នាំ"},dayOfMonthOrdinalParse:/ទី\d{1,2}/,ordinal:"ទី%d",preparse:function(t){return t.replace(/[១២៣៤៥៦៧៨៩០]/g,function(t){return n[t]})},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]})},week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";var e={0:"-ші",1:"-ші",2:"-ші",3:"-ші",4:"-ші",5:"-ші",6:"-шы",7:"-ші",8:"-ші",9:"-шы",10:"-шы",20:"-шы",30:"-шы",40:"-шы",50:"-ші",60:"-шы",70:"-ші",80:"-ші",90:"-шы",100:"-ші"};t.defineLocale("kk",{months:"қаңтар_ақпан_наурыз_сәуір_мамыр_маусым_шілде_тамыз_қыркүйек_қазан_қараша_желтоқсан".split("_"),monthsShort:"қаң_ақп_нау_сәу_мам_мау_шіл_там_қыр_қаз_қар_жел".split("_"),weekdays:"жексенбі_дүйсенбі_сейсенбі_сәрсенбі_бейсенбі_жұма_сенбі".split("_"),weekdaysShort:"жек_дүй_сей_сәр_бей_жұм_сен".split("_"),weekdaysMin:"жк_дй_сй_ср_бй_жм_сн".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Бүгін сағат] LT",nextDay:"[Ертең сағат] LT",nextWeek:"dddd [сағат] LT",lastDay:"[Кеше сағат] LT",lastWeek:"[Өткен аптаның] dddd [сағат] LT",sameElse:"L"},relativeTime:{future:"%s ішінде",past:"%s бұрын",s:"бірнеше секунд",ss:"%d секунд",m:"бір минут",mm:"%d минут",h:"бір сағат",hh:"%d сағат",d:"бір күн",dd:"%d күн",M:"бір ай",MM:"%d ай",y:"бір жыл",yy:"%d жыл"},dayOfMonthOrdinalParse:/\d{1,2}-(ші|шы)/,ordinal:function(t){var n=t%10,i=t>=100?100:null;return t+(e[t]||e[n]||e[i])},week:{dow:1,doy:7}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("ka",{months:{standalone:"იანვარი_თებერვალი_მარტი_აპრილი_მაისი_ივნისი_ივლისი_აგვისტო_სექტემბერი_ოქტომბერი_ნოემბერი_დეკემბერი".split("_"),format:"იანვარს_თებერვალს_მარტს_აპრილის_მაისს_ივნისს_ივლისს_აგვისტს_სექტემბერს_ოქტომბერს_ნოემბერს_დეკემბერს".split("_")},monthsShort:"იან_თებ_მარ_აპრ_მაი_ივნ_ივლ_აგვ_სექ_ოქტ_ნოე_დეკ".split("_"),weekdays:{standalone:"კვირა_ორშაბათი_სამშაბათი_ოთხშაბათი_ხუთშაბათი_პარასკევი_შაბათი".split("_"),format:"კვირას_ორშაბათს_სამშაბათს_ოთხშაბათს_ხუთშაბათს_პარასკევს_შაბათს".split("_"),isFormat:/(წინა|შემდეგ)/},weekdaysShort:"კვი_ორშ_სამ_ოთხ_ხუთ_პარ_შაბ".split("_"),weekdaysMin:"კვ_ორ_სა_ოთ_ხუ_პა_შა".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[დღეს] LT[-ზე]",nextDay:"[ხვალ] LT[-ზე]",lastDay:"[გუშინ] LT[-ზე]",nextWeek:"[შემდეგ] dddd LT[-ზე]",lastWeek:"[წინა] dddd LT-ზე",sameElse:"L"},relativeTime:{future:function(t){return/(წამი|წუთი|საათი|წელი)/.test(t)?t.replace(/ი$/,"ში"):t+"ში"},past:function(t){return/(წამი|წუთი|საათი|დღე|თვე)/.test(t)?t.replace(/(ი|ე)$/,"ის წინ"):/წელი/.test(t)?t.replace(/წელი$/,"წლის წინ"):void 0},s:"რამდენიმე წამი",ss:"%d წამი",m:"წუთი",mm:"%d წუთი",h:"საათი",hh:"%d საათი",d:"დღე",dd:"%d დღე",M:"თვე",MM:"%d თვე",y:"წელი",yy:"%d წელი"},dayOfMonthOrdinalParse:/0|1-ლი|მე-\d{1,2}|\d{1,2}-ე/,ordinal:function(t){return 0===t?t:1===t?t+"-ლი":t<20||t<=100&&t%20==0||t%100==0?"მე-"+t:t+"-ე"},week:{dow:1,doy:7}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("jv",{months:"Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember".split("_"),monthsShort:"Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des".split("_"),weekdays:"Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu".split("_"),weekdaysShort:"Min_Sen_Sel_Reb_Kem_Jem_Sep".split("_"),weekdaysMin:"Mg_Sn_Sl_Rb_Km_Jm_Sp".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/enjing|siyang|sonten|ndalu/,meridiemHour:function(t,e){return 12===t&&(t=0),"enjing"===e?t:"siyang"===e?t>=11?t:t+12:"sonten"===e||"ndalu"===e?t+12:void 0},meridiem:function(t,e,n){return t<11?"enjing":t<15?"siyang":t<19?"sonten":"ndalu"},calendar:{sameDay:"[Dinten puniko pukul] LT",nextDay:"[Mbenjang pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kala wingi pukul] LT",lastWeek:"dddd [kepengker pukul] LT",sameElse:"L"},relativeTime:{future:"wonten ing %s",past:"%s ingkang kepengker",s:"sawetawis detik",ss:"%d detik",m:"setunggal menit",mm:"%d menit",h:"setunggal jam",hh:"%d jam",d:"sedinten",dd:"%d dinten",M:"sewulan",MM:"%d wulan",y:"setaun",yy:"%d taun"},week:{dow:1,doy:7}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("ja",{months:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),weekdays:"日曜日_月曜日_火曜日_水曜日_木曜日_金曜日_土曜日".split("_"),weekdaysShort:"日_月_火_水_木_金_土".split("_"),weekdaysMin:"日_月_火_水_木_金_土".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY年M月D日",LLL:"YYYY年M月D日 HH:mm",LLLL:"YYYY年M月D日 dddd HH:mm",l:"YYYY/MM/DD",ll:"YYYY年M月D日",lll:"YYYY年M月D日 HH:mm",llll:"YYYY年M月D日(ddd) HH:mm"},meridiemParse:/午前|午後/i,isPM:function(t){return"午後"===t},meridiem:function(t,e,n){return t<12?"午前":"午後"},calendar:{sameDay:"[今日] LT",nextDay:"[明日] LT",nextWeek:function(t){return t.week()=11?t:t+12:"sore"===e||"malam"===e?t+12:void 0},meridiem:function(t,e,n){return t<11?"pagi":t<15?"siang":t<19?"sore":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Besok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kemarin pukul] LT",lastWeek:"dddd [lalu pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lalu",s:"beberapa detik",ss:"%d detik",m:"semenit",mm:"%d menit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,doy:7}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("hy-am",{months:{format:"հունվարի_փետրվարի_մարտի_ապրիլի_մայիսի_հունիսի_հուլիսի_օգոստոսի_սեպտեմբերի_հոկտեմբերի_նոյեմբերի_դեկտեմբերի".split("_"),standalone:"հունվար_փետրվար_մարտ_ապրիլ_մայիս_հունիս_հուլիս_օգոստոս_սեպտեմբեր_հոկտեմբեր_նոյեմբեր_դեկտեմբեր".split("_")},monthsShort:"հնվ_փտր_մրտ_ապր_մյս_հնս_հլս_օգս_սպտ_հկտ_նմբ_դկտ".split("_"),weekdays:"կիրակի_երկուշաբթի_երեքշաբթի_չորեքշաբթի_հինգշաբթի_ուրբաթ_շաբաթ".split("_"),weekdaysShort:"կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ".split("_"),weekdaysMin:"կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY թ.",LLL:"D MMMM YYYY թ., HH:mm",LLLL:"dddd, D MMMM YYYY թ., HH:mm"},calendar:{sameDay:"[այսօր] LT",nextDay:"[վաղը] LT",lastDay:"[երեկ] LT",nextWeek:function(){return"dddd [օրը ժամը] LT"},lastWeek:function(){return"[անցած] dddd [օրը ժամը] LT"},sameElse:"L"},relativeTime:{future:"%s հետո",past:"%s առաջ",s:"մի քանի վայրկյան",ss:"%d վայրկյան",m:"րոպե",mm:"%d րոպե",h:"ժամ",hh:"%d ժամ",d:"օր",dd:"%d օր",M:"ամիս",MM:"%d ամիս",y:"տարի",yy:"%d տարի"},meridiemParse:/գիշերվա|առավոտվա|ցերեկվա|երեկոյան/,isPM:function(t){return/^(ցերեկվա|երեկոյան)$/.test(t)},meridiem:function(t){return t<4?"գիշերվա":t<12?"առավոտվա":t<17?"ցերեկվա":"երեկոյան"},dayOfMonthOrdinalParse:/\d{1,2}|\d{1,2}-(ին|րդ)/,ordinal:function(t,e){switch(e){case"DDD":case"w":case"W":case"DDDo":return 1===t?t+"-ին":t+"-րդ";default:return t}},week:{dow:1,doy:7}})}(n(0))},function(t,e,n){!function(t){"use strict";var e="vasárnap hétfőn kedden szerdán csütörtökön pénteken szombaton".split(" ");function n(t,e,n,i){var r=t;switch(n){case"s":return i||e?"néhány másodperc":"néhány másodperce";case"ss":return r+(i||e)?" másodperc":" másodperce";case"m":return"egy"+(i||e?" perc":" perce");case"mm":return r+(i||e?" perc":" perce");case"h":return"egy"+(i||e?" óra":" órája");case"hh":return r+(i||e?" óra":" órája");case"d":return"egy"+(i||e?" nap":" napja");case"dd":return r+(i||e?" nap":" napja");case"M":return"egy"+(i||e?" hónap":" hónapja");case"MM":return r+(i||e?" hónap":" hónapja");case"y":return"egy"+(i||e?" év":" éve");case"yy":return r+(i||e?" év":" éve")}return""}function i(t){return(t?"":"[múlt] ")+"["+e[this.day()]+"] LT[-kor]"}t.defineLocale("hu",{months:"január_február_március_április_május_június_július_augusztus_szeptember_október_november_december".split("_"),monthsShort:"jan_feb_márc_ápr_máj_jún_júl_aug_szept_okt_nov_dec".split("_"),weekdays:"vasárnap_hétfő_kedd_szerda_csütörtök_péntek_szombat".split("_"),weekdaysShort:"vas_hét_kedd_sze_csüt_pén_szo".split("_"),weekdaysMin:"v_h_k_sze_cs_p_szo".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"YYYY.MM.DD.",LL:"YYYY. MMMM D.",LLL:"YYYY. MMMM D. H:mm",LLLL:"YYYY. MMMM D., dddd H:mm"},meridiemParse:/de|du/i,isPM:function(t){return"u"===t.charAt(1).toLowerCase()},meridiem:function(t,e,n){return t<12?!0===n?"de":"DE":!0===n?"du":"DU"},calendar:{sameDay:"[ma] LT[-kor]",nextDay:"[holnap] LT[-kor]",nextWeek:function(){return i.call(this,!0)},lastDay:"[tegnap] LT[-kor]",lastWeek:function(){return i.call(this,!1)},sameElse:"L"},relativeTime:{future:"%s múlva",past:"%s",s:n,ss:n,m:n,mm:n,h:n,hh:n,d:n,dd:n,M:n,MM:n,y:n,yy:n},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";function e(t,e,n){var i=t+" ";switch(n){case"ss":return i+=1===t?"sekunda":2===t||3===t||4===t?"sekunde":"sekundi";case"m":return e?"jedna minuta":"jedne minute";case"mm":return i+=1===t?"minuta":2===t||3===t||4===t?"minute":"minuta";case"h":return e?"jedan sat":"jednog sata";case"hh":return i+=1===t?"sat":2===t||3===t||4===t?"sata":"sati";case"dd":return i+=1===t?"dan":"dana";case"MM":return i+=1===t?"mjesec":2===t||3===t||4===t?"mjeseca":"mjeseci";case"yy":return i+=1===t?"godina":2===t||3===t||4===t?"godine":"godina"}}t.defineLocale("hr",{months:{format:"siječnja_veljače_ožujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca".split("_"),standalone:"siječanj_veljača_ožujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac".split("_")},monthsShort:"sij._velj._ožu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.".split("_"),monthsParseExact:!0,weekdays:"nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._čet._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_če_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[jučer u] LT",lastWeek:function(){switch(this.day()){case 0:case 3:return"[prošlu] dddd [u] LT";case 6:return"[prošle] [subote] [u] LT";case 1:case 2:case 4:case 5:return"[prošli] dddd [u] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"par sekundi",ss:e,m:e,mm:e,h:e,hh:e,d:"dan",dd:e,M:"mjesec",MM:e,y:"godinu",yy:e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}(n(0))},function(t,e,n){!function(t){"use strict";var e={1:"१",2:"२",3:"३",4:"४",5:"५",6:"६",7:"७",8:"८",9:"९",0:"०"},n={"१":"1","२":"2","३":"3","४":"4","५":"5","६":"6","७":"7","८":"8","९":"9","०":"0"};t.defineLocale("hi",{months:"जनवरी_फ़रवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितम्बर_अक्टूबर_नवम्बर_दिसम्बर".split("_"),monthsShort:"जन._फ़र._मार्च_अप्रै._मई_जून_जुल._अग._सित._अक्टू._नव._दिस.".split("_"),monthsParseExact:!0,weekdays:"रविवार_सोमवार_मंगलवार_बुधवार_गुरूवार_शुक्रवार_शनिवार".split("_"),weekdaysShort:"रवि_सोम_मंगल_बुध_गुरू_शुक्र_शनि".split("_"),weekdaysMin:"र_सो_मं_बु_गु_शु_श".split("_"),longDateFormat:{LT:"A h:mm बजे",LTS:"A h:mm:ss बजे",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm बजे",LLLL:"dddd, D MMMM YYYY, A h:mm बजे"},calendar:{sameDay:"[आज] LT",nextDay:"[कल] LT",nextWeek:"dddd, LT",lastDay:"[कल] LT",lastWeek:"[पिछले] dddd, LT",sameElse:"L"},relativeTime:{future:"%s में",past:"%s पहले",s:"कुछ ही क्षण",ss:"%d सेकंड",m:"एक मिनट",mm:"%d मिनट",h:"एक घंटा",hh:"%d घंटे",d:"एक दिन",dd:"%d दिन",M:"एक महीने",MM:"%d महीने",y:"एक वर्ष",yy:"%d वर्ष"},preparse:function(t){return t.replace(/[१२३४५६७८९०]/g,function(t){return n[t]})},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]})},meridiemParse:/रात|सुबह|दोपहर|शाम/,meridiemHour:function(t,e){return 12===t&&(t=0),"रात"===e?t<4?t:t+12:"सुबह"===e?t:"दोपहर"===e?t>=10?t:t+12:"शाम"===e?t+12:void 0},meridiem:function(t,e,n){return t<4?"रात":t<10?"सुबह":t<17?"दोपहर":t<20?"शाम":"रात"},week:{dow:0,doy:6}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("he",{months:"ינואר_פברואר_מרץ_אפריל_מאי_יוני_יולי_אוגוסט_ספטמבר_אוקטובר_נובמבר_דצמבר".split("_"),monthsShort:"ינו׳_פבר׳_מרץ_אפר׳_מאי_יוני_יולי_אוג׳_ספט׳_אוק׳_נוב׳_דצמ׳".split("_"),weekdays:"ראשון_שני_שלישי_רביעי_חמישי_שישי_שבת".split("_"),weekdaysShort:"א׳_ב׳_ג׳_ד׳_ה׳_ו׳_ש׳".split("_"),weekdaysMin:"א_ב_ג_ד_ה_ו_ש".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [ב]MMMM YYYY",LLL:"D [ב]MMMM YYYY HH:mm",LLLL:"dddd, D [ב]MMMM YYYY HH:mm",l:"D/M/YYYY",ll:"D MMM YYYY",lll:"D MMM YYYY HH:mm",llll:"ddd, D MMM YYYY HH:mm"},calendar:{sameDay:"[היום ב־]LT",nextDay:"[מחר ב־]LT",nextWeek:"dddd [בשעה] LT",lastDay:"[אתמול ב־]LT",lastWeek:"[ביום] dddd [האחרון בשעה] LT",sameElse:"L"},relativeTime:{future:"בעוד %s",past:"לפני %s",s:"מספר שניות",ss:"%d שניות",m:"דקה",mm:"%d דקות",h:"שעה",hh:function(t){return 2===t?"שעתיים":t+" שעות"},d:"יום",dd:function(t){return 2===t?"יומיים":t+" ימים"},M:"חודש",MM:function(t){return 2===t?"חודשיים":t+" חודשים"},y:"שנה",yy:function(t){return 2===t?"שנתיים":t%10==0&&10!==t?t+" שנה":t+" שנים"}},meridiemParse:/אחה"צ|לפנה"צ|אחרי הצהריים|לפני הצהריים|לפנות בוקר|בבוקר|בערב/i,isPM:function(t){return/^(אחה"צ|אחרי הצהריים|בערב)$/.test(t)},meridiem:function(t,e,n){return t<5?"לפנות בוקר":t<10?"בבוקר":t<12?n?'לפנה"צ':"לפני הצהריים":t<18?n?'אחה"צ':"אחרי הצהריים":"בערב"}})}(n(0))},function(t,e,n){!function(t){"use strict";var e={1:"૧",2:"૨",3:"૩",4:"૪",5:"૫",6:"૬",7:"૭",8:"૮",9:"૯",0:"૦"},n={"૧":"1","૨":"2","૩":"3","૪":"4","૫":"5","૬":"6","૭":"7","૮":"8","૯":"9","૦":"0"};t.defineLocale("gu",{months:"જાન્યુઆરી_ફેબ્રુઆરી_માર્ચ_એપ્રિલ_મે_જૂન_જુલાઈ_ઑગસ્ટ_સપ્ટેમ્બર_ઑક્ટ્બર_નવેમ્બર_ડિસેમ્બર".split("_"),monthsShort:"જાન્યુ._ફેબ્રુ._માર્ચ_એપ્રિ._મે_જૂન_જુલા._ઑગ._સપ્ટે._ઑક્ટ્._નવે._ડિસે.".split("_"),monthsParseExact:!0,weekdays:"રવિવાર_સોમવાર_મંગળવાર_બુધ્વાર_ગુરુવાર_શુક્રવાર_શનિવાર".split("_"),weekdaysShort:"રવિ_સોમ_મંગળ_બુધ્_ગુરુ_શુક્ર_શનિ".split("_"),weekdaysMin:"ર_સો_મં_બુ_ગુ_શુ_શ".split("_"),longDateFormat:{LT:"A h:mm વાગ્યે",LTS:"A h:mm:ss વાગ્યે",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm વાગ્યે",LLLL:"dddd, D MMMM YYYY, A h:mm વાગ્યે"},calendar:{sameDay:"[આજ] LT",nextDay:"[કાલે] LT",nextWeek:"dddd, LT",lastDay:"[ગઇકાલે] LT",lastWeek:"[પાછલા] dddd, LT",sameElse:"L"},relativeTime:{future:"%s મા",past:"%s પેહલા",s:"અમુક પળો",ss:"%d સેકંડ",m:"એક મિનિટ",mm:"%d મિનિટ",h:"એક કલાક",hh:"%d કલાક",d:"એક દિવસ",dd:"%d દિવસ",M:"એક મહિનો",MM:"%d મહિનો",y:"એક વર્ષ",yy:"%d વર્ષ"},preparse:function(t){return t.replace(/[૧૨૩૪૫૬૭૮૯૦]/g,function(t){return n[t]})},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]})},meridiemParse:/રાત|બપોર|સવાર|સાંજ/,meridiemHour:function(t,e){return 12===t&&(t=0),"રાત"===e?t<4?t:t+12:"સવાર"===e?t:"બપોર"===e?t>=10?t:t+12:"સાંજ"===e?t+12:void 0},meridiem:function(t,e,n){return t<4?"રાત":t<10?"સવાર":t<17?"બપોર":t<20?"સાંજ":"રાત"},week:{dow:0,doy:6}})}(n(0))},function(t,e,n){!function(t){"use strict";function e(t,e,n,i){var r={s:["thodde secondanim","thodde second"],ss:[t+" secondanim",t+" second"],m:["eka mintan","ek minute"],mm:[t+" mintanim",t+" mintam"],h:["eka horan","ek hor"],hh:[t+" horanim",t+" horam"],d:["eka disan","ek dis"],dd:[t+" disanim",t+" dis"],M:["eka mhoinean","ek mhoino"],MM:[t+" mhoineanim",t+" mhoine"],y:["eka vorsan","ek voros"],yy:[t+" vorsanim",t+" vorsam"]};return e?r[n][0]:r[n][1]}t.defineLocale("gom-latn",{months:"Janer_Febrer_Mars_Abril_Mai_Jun_Julai_Agost_Setembr_Otubr_Novembr_Dezembr".split("_"),monthsShort:"Jan._Feb._Mars_Abr._Mai_Jun_Jul._Ago._Set._Otu._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Aitar_Somar_Mongllar_Budvar_Brestar_Sukrar_Son'var".split("_"),weekdaysShort:"Ait._Som._Mon._Bud._Bre._Suk._Son.".split("_"),weekdaysMin:"Ai_Sm_Mo_Bu_Br_Su_Sn".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"A h:mm [vazta]",LTS:"A h:mm:ss [vazta]",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY A h:mm [vazta]",LLLL:"dddd, MMMM[achea] Do, YYYY, A h:mm [vazta]",llll:"ddd, D MMM YYYY, A h:mm [vazta]"},calendar:{sameDay:"[Aiz] LT",nextDay:"[Faleam] LT",nextWeek:"[Ieta to] dddd[,] LT",lastDay:"[Kal] LT",lastWeek:"[Fatlo] dddd[,] LT",sameElse:"L"},relativeTime:{future:"%s",past:"%s adim",s:e,ss:e,m:e,mm:e,h:e,hh:e,d:e,dd:e,M:e,MM:e,y:e,yy:e},dayOfMonthOrdinalParse:/\d{1,2}(er)/,ordinal:function(t,e){switch(e){case"D":return t+"er";default:case"M":case"Q":case"DDD":case"d":case"w":case"W":return t}},week:{dow:1,doy:4},meridiemParse:/rati|sokalli|donparam|sanje/,meridiemHour:function(t,e){return 12===t&&(t=0),"rati"===e?t<4?t:t+12:"sokalli"===e?t:"donparam"===e?t>12?t:t+12:"sanje"===e?t+12:void 0},meridiem:function(t,e,n){return t<4?"rati":t<12?"sokalli":t<16?"donparam":t<20?"sanje":"rati"}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("gl",{months:"xaneiro_febreiro_marzo_abril_maio_xuño_xullo_agosto_setembro_outubro_novembro_decembro".split("_"),monthsShort:"xan._feb._mar._abr._mai._xuñ._xul._ago._set._out._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"domingo_luns_martes_mércores_xoves_venres_sábado".split("_"),weekdaysShort:"dom._lun._mar._mér._xov._ven._sáb.".split("_"),weekdaysMin:"do_lu_ma_mé_xo_ve_sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY H:mm",LLLL:"dddd, D [de] MMMM [de] YYYY H:mm"},calendar:{sameDay:function(){return"[hoxe "+(1!==this.hours()?"ás":"á")+"] LT"},nextDay:function(){return"[mañá "+(1!==this.hours()?"ás":"á")+"] LT"},nextWeek:function(){return"dddd ["+(1!==this.hours()?"ás":"a")+"] LT"},lastDay:function(){return"[onte "+(1!==this.hours()?"á":"a")+"] LT"},lastWeek:function(){return"[o] dddd [pasado "+(1!==this.hours()?"ás":"a")+"] LT"},sameElse:"L"},relativeTime:{future:function(t){return 0===t.indexOf("un")?"n"+t:"en "+t},past:"hai %s",s:"uns segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"unha hora",hh:"%d horas",d:"un día",dd:"%d días",M:"un mes",MM:"%d meses",y:"un ano",yy:"%d anos"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("gd",{months:["Am Faoilleach","An Gearran","Am Màrt","An Giblean","An Cèitean","An t-Ògmhios","An t-Iuchar","An Lùnastal","An t-Sultain","An Dàmhair","An t-Samhain","An Dùbhlachd"],monthsShort:["Faoi","Gear","Màrt","Gibl","Cèit","Ògmh","Iuch","Lùn","Sult","Dàmh","Samh","Dùbh"],monthsParseExact:!0,weekdays:["Didòmhnaich","Diluain","Dimàirt","Diciadain","Diardaoin","Dihaoine","Disathairne"],weekdaysShort:["Did","Dil","Dim","Dic","Dia","Dih","Dis"],weekdaysMin:["Dò","Lu","Mà","Ci","Ar","Ha","Sa"],longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[An-diugh aig] LT",nextDay:"[A-màireach aig] LT",nextWeek:"dddd [aig] LT",lastDay:"[An-dè aig] LT",lastWeek:"dddd [seo chaidh] [aig] LT",sameElse:"L"},relativeTime:{future:"ann an %s",past:"bho chionn %s",s:"beagan diogan",ss:"%d diogan",m:"mionaid",mm:"%d mionaidean",h:"uair",hh:"%d uairean",d:"latha",dd:"%d latha",M:"mìos",MM:"%d mìosan",y:"bliadhna",yy:"%d bliadhna"},dayOfMonthOrdinalParse:/\d{1,2}(d|na|mh)/,ordinal:function(t){var e=1===t?"d":t%10==2?"na":"mh";return t+e},week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";var e="jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.".split("_"),n="jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_");t.defineLocale("fy",{months:"jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber".split("_"),monthsShort:function(t,i){return t?/-MMM-/.test(i)?n[t.month()]:e[t.month()]:e},monthsParseExact:!0,weekdays:"snein_moandei_tiisdei_woansdei_tongersdei_freed_sneon".split("_"),weekdaysShort:"si._mo._ti._wo._to._fr._so.".split("_"),weekdaysMin:"Si_Mo_Ti_Wo_To_Fr_So".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[hjoed om] LT",nextDay:"[moarn om] LT",nextWeek:"dddd [om] LT",lastDay:"[juster om] LT",lastWeek:"[ôfrûne] dddd [om] LT",sameElse:"L"},relativeTime:{future:"oer %s",past:"%s lyn",s:"in pear sekonden",ss:"%d sekonden",m:"ien minút",mm:"%d minuten",h:"ien oere",hh:"%d oeren",d:"ien dei",dd:"%d dagen",M:"ien moanne",MM:"%d moannen",y:"ien jier",yy:"%d jierren"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(t){return t+(1===t||8===t||t>=20?"ste":"de")},week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("fr-ch",{months:"janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre".split("_"),monthsShort:"janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.".split("_"),monthsParseExact:!0,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"di_lu_ma_me_je_ve_sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd’hui à] LT",nextDay:"[Demain à] LT",nextWeek:"dddd [à] LT",lastDay:"[Hier à] LT",lastWeek:"dddd [dernier à] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",ss:"%d secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},dayOfMonthOrdinalParse:/\d{1,2}(er|e)/,ordinal:function(t,e){switch(e){default:case"M":case"Q":case"D":case"DDD":case"d":return t+(1===t?"er":"e");case"w":case"W":return t+(1===t?"re":"e")}},week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("fr-ca",{months:"janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre".split("_"),monthsShort:"janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.".split("_"),monthsParseExact:!0,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"di_lu_ma_me_je_ve_sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd’hui à] LT",nextDay:"[Demain à] LT",nextWeek:"dddd [à] LT",lastDay:"[Hier à] LT",lastWeek:"dddd [dernier à] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",ss:"%d secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},dayOfMonthOrdinalParse:/\d{1,2}(er|e)/,ordinal:function(t,e){switch(e){default:case"M":case"Q":case"D":case"DDD":case"d":return t+(1===t?"er":"e");case"w":case"W":return t+(1===t?"re":"e")}}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("fr",{months:"janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre".split("_"),monthsShort:"janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.".split("_"),monthsParseExact:!0,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"di_lu_ma_me_je_ve_sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd’hui à] LT",nextDay:"[Demain à] LT",nextWeek:"dddd [à] LT",lastDay:"[Hier à] LT",lastWeek:"dddd [dernier à] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",ss:"%d secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},dayOfMonthOrdinalParse:/\d{1,2}(er|)/,ordinal:function(t,e){switch(e){case"D":return t+(1===t?"er":"");default:case"M":case"Q":case"DDD":case"d":return t+(1===t?"er":"e");case"w":case"W":return t+(1===t?"re":"e")}},week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("fo",{months:"januar_februar_mars_apríl_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_"),weekdays:"sunnudagur_mánadagur_týsdagur_mikudagur_hósdagur_fríggjadagur_leygardagur".split("_"),weekdaysShort:"sun_mán_týs_mik_hós_frí_ley".split("_"),weekdaysMin:"su_má_tý_mi_hó_fr_le".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D. MMMM, YYYY HH:mm"},calendar:{sameDay:"[Í dag kl.] LT",nextDay:"[Í morgin kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[Í gjár kl.] LT",lastWeek:"[síðstu] dddd [kl] LT",sameElse:"L"},relativeTime:{future:"um %s",past:"%s síðani",s:"fá sekund",ss:"%d sekundir",m:"ein minutt",mm:"%d minuttir",h:"ein tími",hh:"%d tímar",d:"ein dagur",dd:"%d dagar",M:"ein mánaði",MM:"%d mánaðir",y:"eitt ár",yy:"%d ár"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";var e="nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän".split(" "),n=["nolla","yhden","kahden","kolmen","neljän","viiden","kuuden",e[7],e[8],e[9]];function i(t,i,r,a){var o="";switch(r){case"s":return a?"muutaman sekunnin":"muutama sekunti";case"ss":return a?"sekunnin":"sekuntia";case"m":return a?"minuutin":"minuutti";case"mm":o=a?"minuutin":"minuuttia";break;case"h":return a?"tunnin":"tunti";case"hh":o=a?"tunnin":"tuntia";break;case"d":return a?"päivän":"päivä";case"dd":o=a?"päivän":"päivää";break;case"M":return a?"kuukauden":"kuukausi";case"MM":o=a?"kuukauden":"kuukautta";break;case"y":return a?"vuoden":"vuosi";case"yy":o=a?"vuoden":"vuotta"}return o=function(t,i){return t<10?i?n[t]:e[t]:t}(t,a)+" "+o}t.defineLocale("fi",{months:"tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu".split("_"),monthsShort:"tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu".split("_"),weekdays:"sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai".split("_"),weekdaysShort:"su_ma_ti_ke_to_pe_la".split("_"),weekdaysMin:"su_ma_ti_ke_to_pe_la".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD.MM.YYYY",LL:"Do MMMM[ta] YYYY",LLL:"Do MMMM[ta] YYYY, [klo] HH.mm",LLLL:"dddd, Do MMMM[ta] YYYY, [klo] HH.mm",l:"D.M.YYYY",ll:"Do MMM YYYY",lll:"Do MMM YYYY, [klo] HH.mm",llll:"ddd, Do MMM YYYY, [klo] HH.mm"},calendar:{sameDay:"[tänään] [klo] LT",nextDay:"[huomenna] [klo] LT",nextWeek:"dddd [klo] LT",lastDay:"[eilen] [klo] LT",lastWeek:"[viime] dddd[na] [klo] LT",sameElse:"L"},relativeTime:{future:"%s päästä",past:"%s sitten",s:i,ss:i,m:i,mm:i,h:i,hh:i,d:i,dd:i,M:i,MM:i,y:i,yy:i},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";var e={1:"۱",2:"۲",3:"۳",4:"۴",5:"۵",6:"۶",7:"۷",8:"۸",9:"۹",0:"۰"},n={"۱":"1","۲":"2","۳":"3","۴":"4","۵":"5","۶":"6","۷":"7","۸":"8","۹":"9","۰":"0"};t.defineLocale("fa",{months:"ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر".split("_"),monthsShort:"ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر".split("_"),weekdays:"یک‌شنبه_دوشنبه_سه‌شنبه_چهارشنبه_پنج‌شنبه_جمعه_شنبه".split("_"),weekdaysShort:"یک‌شنبه_دوشنبه_سه‌شنبه_چهارشنبه_پنج‌شنبه_جمعه_شنبه".split("_"),weekdaysMin:"ی_د_س_چ_پ_ج_ش".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},meridiemParse:/قبل از ظهر|بعد از ظهر/,isPM:function(t){return/بعد از ظهر/.test(t)},meridiem:function(t,e,n){return t<12?"قبل از ظهر":"بعد از ظهر"},calendar:{sameDay:"[امروز ساعت] LT",nextDay:"[فردا ساعت] LT",nextWeek:"dddd [ساعت] LT",lastDay:"[دیروز ساعت] LT",lastWeek:"dddd [پیش] [ساعت] LT",sameElse:"L"},relativeTime:{future:"در %s",past:"%s پیش",s:"چند ثانیه",ss:"ثانیه d%",m:"یک دقیقه",mm:"%d دقیقه",h:"یک ساعت",hh:"%d ساعت",d:"یک روز",dd:"%d روز",M:"یک ماه",MM:"%d ماه",y:"یک سال",yy:"%d سال"},preparse:function(t){return t.replace(/[۰-۹]/g,function(t){return n[t]}).replace(/،/g,",")},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]}).replace(/,/g,"،")},dayOfMonthOrdinalParse:/\d{1,2}م/,ordinal:"%dم",week:{dow:6,doy:12}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("eu",{months:"urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua".split("_"),monthsShort:"urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.".split("_"),monthsParseExact:!0,weekdays:"igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata".split("_"),weekdaysShort:"ig._al._ar._az._og._ol._lr.".split("_"),weekdaysMin:"ig_al_ar_az_og_ol_lr".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY[ko] MMMM[ren] D[a]",LLL:"YYYY[ko] MMMM[ren] D[a] HH:mm",LLLL:"dddd, YYYY[ko] MMMM[ren] D[a] HH:mm",l:"YYYY-M-D",ll:"YYYY[ko] MMM D[a]",lll:"YYYY[ko] MMM D[a] HH:mm",llll:"ddd, YYYY[ko] MMM D[a] HH:mm"},calendar:{sameDay:"[gaur] LT[etan]",nextDay:"[bihar] LT[etan]",nextWeek:"dddd LT[etan]",lastDay:"[atzo] LT[etan]",lastWeek:"[aurreko] dddd LT[etan]",sameElse:"L"},relativeTime:{future:"%s barru",past:"duela %s",s:"segundo batzuk",ss:"%d segundo",m:"minutu bat",mm:"%d minutu",h:"ordu bat",hh:"%d ordu",d:"egun bat",dd:"%d egun",M:"hilabete bat",MM:"%d hilabete",y:"urte bat",yy:"%d urte"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}(n(0))},function(t,e,n){!function(t){"use strict";function e(t,e,n,i){var r={s:["mõne sekundi","mõni sekund","paar sekundit"],ss:[t+"sekundi",t+"sekundit"],m:["ühe minuti","üks minut"],mm:[t+" minuti",t+" minutit"],h:["ühe tunni","tund aega","üks tund"],hh:[t+" tunni",t+" tundi"],d:["ühe päeva","üks päev"],M:["kuu aja","kuu aega","üks kuu"],MM:[t+" kuu",t+" kuud"],y:["ühe aasta","aasta","üks aasta"],yy:[t+" aasta",t+" aastat"]};return e?r[n][2]?r[n][2]:r[n][1]:i?r[n][0]:r[n][1]}t.defineLocale("et",{months:"jaanuar_veebruar_märts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember".split("_"),monthsShort:"jaan_veebr_märts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets".split("_"),weekdays:"pühapäev_esmaspäev_teisipäev_kolmapäev_neljapäev_reede_laupäev".split("_"),weekdaysShort:"P_E_T_K_N_R_L".split("_"),weekdaysMin:"P_E_T_K_N_R_L".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[Täna,] LT",nextDay:"[Homme,] LT",nextWeek:"[Järgmine] dddd LT",lastDay:"[Eile,] LT",lastWeek:"[Eelmine] dddd LT",sameElse:"L"},relativeTime:{future:"%s pärast",past:"%s tagasi",s:e,ss:e,m:e,mm:e,h:e,hh:e,d:e,dd:"%d päeva",M:e,MM:e,y:e,yy:e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";var e="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),n="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_");t.defineLocale("es-us",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(t,i){return t?/-MMM-/.test(i)?n[t.month()]:e[t.month()]:e},monthsParseExact:!0,weekdays:"domingo_lunes_martes_miércoles_jueves_viernes_sábado".split("_"),weekdaysShort:"dom._lun._mar._mié._jue._vie._sáb.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"MM/DD/YYYY",LL:"MMMM [de] D [de] YYYY",LLL:"MMMM [de] D [de] YYYY h:mm A",LLLL:"dddd, MMMM [de] D [de] YYYY h:mm A"},calendar:{sameDay:function(){return"[hoy a la"+(1!==this.hours()?"s":"")+"] LT"},nextDay:function(){return"[mañana a la"+(1!==this.hours()?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(1!==this.hours()?"s":"")+"] LT"},lastDay:function(){return"[ayer a la"+(1!==this.hours()?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(1!==this.hours()?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un día",dd:"%d días",M:"un mes",MM:"%d meses",y:"un año",yy:"%d años"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:0,doy:6}})}(n(0))},function(t,e,n){!function(t){"use strict";var e="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),n="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),i=[/^ene/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i],r=/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i;t.defineLocale("es-do",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(t,i){return t?/-MMM-/.test(i)?n[t.month()]:e[t.month()]:e},monthsRegex:r,monthsShortRegex:r,monthsStrictRegex:/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,monthsShortStrictRegex:/^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,monthsParse:i,longMonthsParse:i,shortMonthsParse:i,weekdays:"domingo_lunes_martes_miércoles_jueves_viernes_sábado".split("_"),weekdaysShort:"dom._lun._mar._mié._jue._vie._sáb.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY h:mm A",LLLL:"dddd, D [de] MMMM [de] YYYY h:mm A"},calendar:{sameDay:function(){return"[hoy a la"+(1!==this.hours()?"s":"")+"] LT"},nextDay:function(){return"[mañana a la"+(1!==this.hours()?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(1!==this.hours()?"s":"")+"] LT"},lastDay:function(){return"[ayer a la"+(1!==this.hours()?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(1!==this.hours()?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un día",dd:"%d días",M:"un mes",MM:"%d meses",y:"un año",yy:"%d años"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";var e="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),n="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),i=[/^ene/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i],r=/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i;t.defineLocale("es",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(t,i){return t?/-MMM-/.test(i)?n[t.month()]:e[t.month()]:e},monthsRegex:r,monthsShortRegex:r,monthsStrictRegex:/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,monthsShortStrictRegex:/^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,monthsParse:i,longMonthsParse:i,shortMonthsParse:i,weekdays:"domingo_lunes_martes_miércoles_jueves_viernes_sábado".split("_"),weekdaysShort:"dom._lun._mar._mié._jue._vie._sáb.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY H:mm",LLLL:"dddd, D [de] MMMM [de] YYYY H:mm"},calendar:{sameDay:function(){return"[hoy a la"+(1!==this.hours()?"s":"")+"] LT"},nextDay:function(){return"[mañana a la"+(1!==this.hours()?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(1!==this.hours()?"s":"")+"] LT"},lastDay:function(){return"[ayer a la"+(1!==this.hours()?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(1!==this.hours()?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un día",dd:"%d días",M:"un mes",MM:"%d meses",y:"un año",yy:"%d años"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("eo",{months:"januaro_februaro_marto_aprilo_majo_junio_julio_aŭgusto_septembro_oktobro_novembro_decembro".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_aŭg_sep_okt_nov_dec".split("_"),weekdays:"dimanĉo_lundo_mardo_merkredo_ĵaŭdo_vendredo_sabato".split("_"),weekdaysShort:"dim_lun_mard_merk_ĵaŭ_ven_sab".split("_"),weekdaysMin:"di_lu_ma_me_ĵa_ve_sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"D[-a de] MMMM, YYYY",LLL:"D[-a de] MMMM, YYYY HH:mm",LLLL:"dddd, [la] D[-a de] MMMM, YYYY HH:mm"},meridiemParse:/[ap]\.t\.m/i,isPM:function(t){return"p"===t.charAt(0).toLowerCase()},meridiem:function(t,e,n){return t>11?n?"p.t.m.":"P.T.M.":n?"a.t.m.":"A.T.M."},calendar:{sameDay:"[Hodiaŭ je] LT",nextDay:"[Morgaŭ je] LT",nextWeek:"dddd [je] LT",lastDay:"[Hieraŭ je] LT",lastWeek:"[pasinta] dddd [je] LT",sameElse:"L"},relativeTime:{future:"post %s",past:"antaŭ %s",s:"sekundoj",ss:"%d sekundoj",m:"minuto",mm:"%d minutoj",h:"horo",hh:"%d horoj",d:"tago",dd:"%d tagoj",M:"monato",MM:"%d monatoj",y:"jaro",yy:"%d jaroj"},dayOfMonthOrdinalParse:/\d{1,2}a/,ordinal:"%da",week:{dow:1,doy:7}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("en-nz",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(t){var e=t%10,n=1==~~(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th";return t+n},week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("en-il",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(t){var e=t%10,n=1==~~(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th";return t+n}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("en-ie",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(t){var e=t%10,n=1==~~(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th";return t+n},week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("en-gb",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(t){var e=t%10,n=1==~~(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th";return t+n},week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("en-ca",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"YYYY-MM-DD",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(t){var e=t%10,n=1==~~(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th";return t+n}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("en-au",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(t){var e=t%10,n=1==~~(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th";return t+n},week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("el",{monthsNominativeEl:"Ιανουάριος_Φεβρουάριος_Μάρτιος_Απρίλιος_Μάιος_Ιούνιος_Ιούλιος_Αύγουστος_Σεπτέμβριος_Οκτώβριος_Νοέμβριος_Δεκέμβριος".split("_"),monthsGenitiveEl:"Ιανουαρίου_Φεβρουαρίου_Μαρτίου_Απριλίου_Μαΐου_Ιουνίου_Ιουλίου_Αυγούστου_Σεπτεμβρίου_Οκτωβρίου_Νοεμβρίου_Δεκεμβρίου".split("_"),months:function(t,e){return t?"string"==typeof e&&/D/.test(e.substring(0,e.indexOf("MMMM")))?this._monthsGenitiveEl[t.month()]:this._monthsNominativeEl[t.month()]:this._monthsNominativeEl},monthsShort:"Ιαν_Φεβ_Μαρ_Απρ_Μαϊ_Ιουν_Ιουλ_Αυγ_Σεπ_Οκτ_Νοε_Δεκ".split("_"),weekdays:"Κυριακή_Δευτέρα_Τρίτη_Τετάρτη_Πέμπτη_Παρασκευή_Σάββατο".split("_"),weekdaysShort:"Κυρ_Δευ_Τρι_Τετ_Πεμ_Παρ_Σαβ".split("_"),weekdaysMin:"Κυ_Δε_Τρ_Τε_Πε_Πα_Σα".split("_"),meridiem:function(t,e,n){return t>11?n?"μμ":"ΜΜ":n?"πμ":"ΠΜ"},isPM:function(t){return"μ"===(t+"").toLowerCase()[0]},meridiemParse:/[ΠΜ]\.?Μ?\.?/i,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendarEl:{sameDay:"[Σήμερα {}] LT",nextDay:"[Αύριο {}] LT",nextWeek:"dddd [{}] LT",lastDay:"[Χθες {}] LT",lastWeek:function(){switch(this.day()){case 6:return"[το προηγούμενο] dddd [{}] LT";default:return"[την προηγούμενη] dddd [{}] LT"}},sameElse:"L"},calendar:function(t,e){var n,i=this._calendarEl[t],r=e&&e.hours();return((n=i)instanceof Function||"[object Function]"===Object.prototype.toString.call(n))&&(i=i.apply(e)),i.replace("{}",r%12==1?"στη":"στις")},relativeTime:{future:"σε %s",past:"%s πριν",s:"λίγα δευτερόλεπτα",ss:"%d δευτερόλεπτα",m:"ένα λεπτό",mm:"%d λεπτά",h:"μία ώρα",hh:"%d ώρες",d:"μία μέρα",dd:"%d μέρες",M:"ένας μήνας",MM:"%d μήνες",y:"ένας χρόνος",yy:"%d χρόνια"},dayOfMonthOrdinalParse:/\d{1,2}η/,ordinal:"%dη",week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";var e=["ޖެނުއަރީ","ފެބްރުއަރީ","މާރިޗު","އޭޕްރީލު","މޭ","ޖޫން","ޖުލައި","އޯގަސްޓު","ސެޕްޓެމްބަރު","އޮކްޓޯބަރު","ނޮވެމްބަރު","ޑިސެމްބަރު"],n=["އާދިއްތަ","ހޯމަ","އަންގާރަ","ބުދަ","ބުރާސްފަތި","ހުކުރު","ހޮނިހިރު"];t.defineLocale("dv",{months:e,monthsShort:e,weekdays:n,weekdaysShort:n,weekdaysMin:"އާދި_ހޯމަ_އަން_ބުދަ_ބުރާ_ހުކު_ހޮނި".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/M/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/މކ|މފ/,isPM:function(t){return"މފ"===t},meridiem:function(t,e,n){return t<12?"މކ":"މފ"},calendar:{sameDay:"[މިއަދު] LT",nextDay:"[މާދަމާ] LT",nextWeek:"dddd LT",lastDay:"[އިއްޔެ] LT",lastWeek:"[ފާއިތުވި] dddd LT",sameElse:"L"},relativeTime:{future:"ތެރޭގައި %s",past:"ކުރިން %s",s:"ސިކުންތުކޮޅެއް",ss:"d% ސިކުންތު",m:"މިނިޓެއް",mm:"މިނިޓު %d",h:"ގަޑިއިރެއް",hh:"ގަޑިއިރު %d",d:"ދުވަހެއް",dd:"ދުވަސް %d",M:"މަހެއް",MM:"މަސް %d",y:"އަހަރެއް",yy:"އަހަރު %d"},preparse:function(t){return t.replace(/،/g,",")},postformat:function(t){return t.replace(/,/g,"،")},week:{dow:7,doy:12}})}(n(0))},function(t,e,n){!function(t){"use strict";function e(t,e,n,i){var r={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[t+" Tage",t+" Tagen"],M:["ein Monat","einem Monat"],MM:[t+" Monate",t+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[t+" Jahre",t+" Jahren"]};return e?r[n][0]:r[n][1]}t.defineLocale("de-ch",{months:"Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},calendar:{sameDay:"[heute um] LT [Uhr]",sameElse:"L",nextDay:"[morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",ss:"%d Sekunden",m:e,mm:"%d Minuten",h:e,hh:"%d Stunden",d:e,dd:e,M:e,MM:e,y:e,yy:e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";function e(t,e,n,i){var r={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[t+" Tage",t+" Tagen"],M:["ein Monat","einem Monat"],MM:[t+" Monate",t+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[t+" Jahre",t+" Jahren"]};return e?r[n][0]:r[n][1]}t.defineLocale("de-at",{months:"Jänner_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jän._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So._Mo._Di._Mi._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},calendar:{sameDay:"[heute um] LT [Uhr]",sameElse:"L",nextDay:"[morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",ss:"%d Sekunden",m:e,mm:"%d Minuten",h:e,hh:"%d Stunden",d:e,dd:e,M:e,MM:e,y:e,yy:e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";function e(t,e,n,i){var r={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[t+" Tage",t+" Tagen"],M:["ein Monat","einem Monat"],MM:[t+" Monate",t+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[t+" Jahre",t+" Jahren"]};return e?r[n][0]:r[n][1]}t.defineLocale("de",{months:"Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So._Mo._Di._Mi._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},calendar:{sameDay:"[heute um] LT [Uhr]",sameElse:"L",nextDay:"[morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",ss:"%d Sekunden",m:e,mm:"%d Minuten",h:e,hh:"%d Stunden",d:e,dd:e,M:e,MM:e,y:e,yy:e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("da",{months:"januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec".split("_"),weekdays:"søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag".split("_"),weekdaysShort:"søn_man_tir_ons_tor_fre_lør".split("_"),weekdaysMin:"sø_ma_ti_on_to_fr_lø".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd [d.] D. MMMM YYYY [kl.] HH:mm"},calendar:{sameDay:"[i dag kl.] LT",nextDay:"[i morgen kl.] LT",nextWeek:"på dddd [kl.] LT",lastDay:"[i går kl.] LT",lastWeek:"[i] dddd[s kl.] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"%s siden",s:"få sekunder",ss:"%d sekunder",m:"et minut",mm:"%d minutter",h:"en time",hh:"%d timer",d:"en dag",dd:"%d dage",M:"en måned",MM:"%d måneder",y:"et år",yy:"%d år"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("cy",{months:"Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr".split("_"),monthsShort:"Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag".split("_"),weekdays:"Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn".split("_"),weekdaysShort:"Sul_Llun_Maw_Mer_Iau_Gwe_Sad".split("_"),weekdaysMin:"Su_Ll_Ma_Me_Ia_Gw_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Heddiw am] LT",nextDay:"[Yfory am] LT",nextWeek:"dddd [am] LT",lastDay:"[Ddoe am] LT",lastWeek:"dddd [diwethaf am] LT",sameElse:"L"},relativeTime:{future:"mewn %s",past:"%s yn ôl",s:"ychydig eiliadau",ss:"%d eiliad",m:"munud",mm:"%d munud",h:"awr",hh:"%d awr",d:"diwrnod",dd:"%d diwrnod",M:"mis",MM:"%d mis",y:"blwyddyn",yy:"%d flynedd"},dayOfMonthOrdinalParse:/\d{1,2}(fed|ain|af|il|ydd|ed|eg)/,ordinal:function(t){var e=t,n="";return e>20?n=40===e||50===e||60===e||80===e||100===e?"fed":"ain":e>0&&(n=["","af","il","ydd","ydd","ed","ed","ed","fed","fed","fed","eg","fed","eg","eg","fed","eg","eg","fed","eg","fed"][e]),t+n},week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("cv",{months:"кӑрлач_нарӑс_пуш_ака_май_ҫӗртме_утӑ_ҫурла_авӑн_юпа_чӳк_раштав".split("_"),monthsShort:"кӑр_нар_пуш_ака_май_ҫӗр_утӑ_ҫур_авн_юпа_чӳк_раш".split("_"),weekdays:"вырсарникун_тунтикун_ытларикун_юнкун_кӗҫнерникун_эрнекун_шӑматкун".split("_"),weekdaysShort:"выр_тун_ытл_юн_кӗҫ_эрн_шӑм".split("_"),weekdaysMin:"вр_тн_ыт_юн_кҫ_эр_шм".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ]",LLL:"YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm",LLLL:"dddd, YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm"},calendar:{sameDay:"[Паян] LT [сехетре]",nextDay:"[Ыран] LT [сехетре]",lastDay:"[Ӗнер] LT [сехетре]",nextWeek:"[Ҫитес] dddd LT [сехетре]",lastWeek:"[Иртнӗ] dddd LT [сехетре]",sameElse:"L"},relativeTime:{future:function(t){var e=/сехет$/i.exec(t)?"рен":/ҫул$/i.exec(t)?"тан":"ран";return t+e},past:"%s каялла",s:"пӗр-ик ҫеккунт",ss:"%d ҫеккунт",m:"пӗр минут",mm:"%d минут",h:"пӗр сехет",hh:"%d сехет",d:"пӗр кун",dd:"%d кун",M:"пӗр уйӑх",MM:"%d уйӑх",y:"пӗр ҫул",yy:"%d ҫул"},dayOfMonthOrdinalParse:/\d{1,2}-мӗш/,ordinal:"%d-мӗш",week:{dow:1,doy:7}})}(n(0))},function(t,e,n){!function(t){"use strict";var e="leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec".split("_"),n="led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro".split("_");function i(t){return t>1&&t<5&&1!=~~(t/10)}function r(t,e,n,r){var a=t+" ";switch(n){case"s":return e||r?"pár sekund":"pár sekundami";case"ss":return e||r?a+(i(t)?"sekundy":"sekund"):a+"sekundami";case"m":return e?"minuta":r?"minutu":"minutou";case"mm":return e||r?a+(i(t)?"minuty":"minut"):a+"minutami";case"h":return e?"hodina":r?"hodinu":"hodinou";case"hh":return e||r?a+(i(t)?"hodiny":"hodin"):a+"hodinami";case"d":return e||r?"den":"dnem";case"dd":return e||r?a+(i(t)?"dny":"dní"):a+"dny";case"M":return e||r?"měsíc":"měsícem";case"MM":return e||r?a+(i(t)?"měsíce":"měsíců"):a+"měsíci";case"y":return e||r?"rok":"rokem";case"yy":return e||r?a+(i(t)?"roky":"let"):a+"lety"}}t.defineLocale("cs",{months:e,monthsShort:n,monthsParse:function(t,e){var n,i=[];for(n=0;n<12;n++)i[n]=new RegExp("^"+t[n]+"$|^"+e[n]+"$","i");return i}(e,n),shortMonthsParse:function(t){var e,n=[];for(e=0;e<12;e++)n[e]=new RegExp("^"+t[e]+"$","i");return n}(n),longMonthsParse:function(t){var e,n=[];for(e=0;e<12;e++)n[e]=new RegExp("^"+t[e]+"$","i");return n}(e),weekdays:"neděle_pondělí_úterý_středa_čtvrtek_pátek_sobota".split("_"),weekdaysShort:"ne_po_út_st_čt_pá_so".split("_"),weekdaysMin:"ne_po_út_st_čt_pá_so".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd D. MMMM YYYY H:mm",l:"D. M. YYYY"},calendar:{sameDay:"[dnes v] LT",nextDay:"[zítra v] LT",nextWeek:function(){switch(this.day()){case 0:return"[v neděli v] LT";case 1:case 2:return"[v] dddd [v] LT";case 3:return"[ve středu v] LT";case 4:return"[ve čtvrtek v] LT";case 5:return"[v pátek v] LT";case 6:return"[v sobotu v] LT"}},lastDay:"[včera v] LT",lastWeek:function(){switch(this.day()){case 0:return"[minulou neděli v] LT";case 1:case 2:return"[minulé] dddd [v] LT";case 3:return"[minulou středu v] LT";case 4:case 5:return"[minulý] dddd [v] LT";case 6:return"[minulou sobotu v] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"před %s",s:r,ss:r,m:r,mm:r,h:r,hh:r,d:r,dd:r,M:r,MM:r,y:r,yy:r},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("ca",{months:{standalone:"gener_febrer_març_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre".split("_"),format:"de gener_de febrer_de març_d'abril_de maig_de juny_de juliol_d'agost_de setembre_d'octubre_de novembre_de desembre".split("_"),isFormat:/D[oD]?(\s)+MMMM/},monthsShort:"gen._febr._març_abr._maig_juny_jul._ag._set._oct._nov._des.".split("_"),monthsParseExact:!0,weekdays:"diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte".split("_"),weekdaysShort:"dg._dl._dt._dc._dj._dv._ds.".split("_"),weekdaysMin:"dg_dl_dt_dc_dj_dv_ds".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM [de] YYYY",ll:"D MMM YYYY",LLL:"D MMMM [de] YYYY [a les] H:mm",lll:"D MMM YYYY, H:mm",LLLL:"dddd D MMMM [de] YYYY [a les] H:mm",llll:"ddd D MMM YYYY, H:mm"},calendar:{sameDay:function(){return"[avui a "+(1!==this.hours()?"les":"la")+"] LT"},nextDay:function(){return"[demà a "+(1!==this.hours()?"les":"la")+"] LT"},nextWeek:function(){return"dddd [a "+(1!==this.hours()?"les":"la")+"] LT"},lastDay:function(){return"[ahir a "+(1!==this.hours()?"les":"la")+"] LT"},lastWeek:function(){return"[el] dddd [passat a "+(1!==this.hours()?"les":"la")+"] LT"},sameElse:"L"},relativeTime:{future:"d'aquí %s",past:"fa %s",s:"uns segons",ss:"%d segons",m:"un minut",mm:"%d minuts",h:"una hora",hh:"%d hores",d:"un dia",dd:"%d dies",M:"un mes",MM:"%d mesos",y:"un any",yy:"%d anys"},dayOfMonthOrdinalParse:/\d{1,2}(r|n|t|è|a)/,ordinal:function(t,e){var n=1===t?"r":2===t?"n":3===t?"r":4===t?"t":"è";return"w"!==e&&"W"!==e||(n="a"),t+n},week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";function e(t,e,n){var i=t+" ";switch(n){case"ss":return i+=1===t?"sekunda":2===t||3===t||4===t?"sekunde":"sekundi";case"m":return e?"jedna minuta":"jedne minute";case"mm":return i+=1===t?"minuta":2===t||3===t||4===t?"minute":"minuta";case"h":return e?"jedan sat":"jednog sata";case"hh":return i+=1===t?"sat":2===t||3===t||4===t?"sata":"sati";case"dd":return i+=1===t?"dan":"dana";case"MM":return i+=1===t?"mjesec":2===t||3===t||4===t?"mjeseca":"mjeseci";case"yy":return i+=1===t?"godina":2===t||3===t||4===t?"godine":"godina"}}t.defineLocale("bs",{months:"januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar".split("_"),monthsShort:"jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._čet._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_če_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[jučer u] LT",lastWeek:function(){switch(this.day()){case 0:case 3:return"[prošlu] dddd [u] LT";case 6:return"[prošle] [subote] [u] LT";case 1:case 2:case 4:case 5:return"[prošli] dddd [u] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"par sekundi",ss:e,m:e,mm:e,h:e,hh:e,d:"dan",dd:e,M:"mjesec",MM:e,y:"godinu",yy:e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}(n(0))},function(t,e,n){!function(t){"use strict";function e(t,e,n){return t+" "+function(t,e){return 2===e?function(t){var e={m:"v",b:"v",d:"z"};return void 0===e[t.charAt(0)]?t:e[t.charAt(0)]+t.substring(1)}(t):t}({mm:"munutenn",MM:"miz",dd:"devezh"}[n],t)}t.defineLocale("br",{months:"Genver_C'hwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu".split("_"),monthsShort:"Gen_C'hwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker".split("_"),weekdays:"Sul_Lun_Meurzh_Merc'her_Yaou_Gwener_Sadorn".split("_"),weekdaysShort:"Sul_Lun_Meu_Mer_Yao_Gwe_Sad".split("_"),weekdaysMin:"Su_Lu_Me_Mer_Ya_Gw_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h[e]mm A",LTS:"h[e]mm:ss A",L:"DD/MM/YYYY",LL:"D [a viz] MMMM YYYY",LLL:"D [a viz] MMMM YYYY h[e]mm A",LLLL:"dddd, D [a viz] MMMM YYYY h[e]mm A"},calendar:{sameDay:"[Hiziv da] LT",nextDay:"[Warc'hoazh da] LT",nextWeek:"dddd [da] LT",lastDay:"[Dec'h da] LT",lastWeek:"dddd [paset da] LT",sameElse:"L"},relativeTime:{future:"a-benn %s",past:"%s 'zo",s:"un nebeud segondennoù",ss:"%d eilenn",m:"ur vunutenn",mm:e,h:"un eur",hh:"%d eur",d:"un devezh",dd:e,M:"ur miz",MM:e,y:"ur bloaz",yy:function(t){switch(function t(e){return e>9?t(e%10):e}(t)){case 1:case 3:case 4:case 5:case 9:return t+" bloaz";default:return t+" vloaz"}}},dayOfMonthOrdinalParse:/\d{1,2}(añ|vet)/,ordinal:function(t){var e=1===t?"añ":"vet";return t+e},week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";var e={1:"༡",2:"༢",3:"༣",4:"༤",5:"༥",6:"༦",7:"༧",8:"༨",9:"༩",0:"༠"},n={"༡":"1","༢":"2","༣":"3","༤":"4","༥":"5","༦":"6","༧":"7","༨":"8","༩":"9","༠":"0"};t.defineLocale("bo",{months:"ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ".split("_"),monthsShort:"ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ".split("_"),weekdays:"གཟའ་ཉི་མ་_གཟའ་ཟླ་བ་_གཟའ་མིག་དམར་_གཟའ་ལྷག་པ་_གཟའ་ཕུར་བུ_གཟའ་པ་སངས་_གཟའ་སྤེན་པ་".split("_"),weekdaysShort:"ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་".split("_"),weekdaysMin:"ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm",LLLL:"dddd, D MMMM YYYY, A h:mm"},calendar:{sameDay:"[དི་རིང] LT",nextDay:"[སང་ཉིན] LT",nextWeek:"[བདུན་ཕྲག་རྗེས་མ], LT",lastDay:"[ཁ་སང] LT",lastWeek:"[བདུན་ཕྲག་མཐའ་མ] dddd, LT",sameElse:"L"},relativeTime:{future:"%s ལ་",past:"%s སྔན་ལ",s:"ལམ་སང",ss:"%d སྐར་ཆ།",m:"སྐར་མ་གཅིག",mm:"%d སྐར་མ",h:"ཆུ་ཚོད་གཅིག",hh:"%d ཆུ་ཚོད",d:"ཉིན་གཅིག",dd:"%d ཉིན་",M:"ཟླ་བ་གཅིག",MM:"%d ཟླ་བ",y:"ལོ་གཅིག",yy:"%d ལོ"},preparse:function(t){return t.replace(/[༡༢༣༤༥༦༧༨༩༠]/g,function(t){return n[t]})},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]})},meridiemParse:/མཚན་མོ|ཞོགས་ཀས|ཉིན་གུང|དགོང་དག|མཚན་མོ/,meridiemHour:function(t,e){return 12===t&&(t=0),"མཚན་མོ"===e&&t>=4||"ཉིན་གུང"===e&&t<5||"དགོང་དག"===e?t+12:t},meridiem:function(t,e,n){return t<4?"མཚན་མོ":t<10?"ཞོགས་ཀས":t<17?"ཉིན་གུང":t<20?"དགོང་དག":"མཚན་མོ"},week:{dow:0,doy:6}})}(n(0))},function(t,e,n){!function(t){"use strict";var e={1:"১",2:"২",3:"৩",4:"৪",5:"৫",6:"৬",7:"৭",8:"৮",9:"৯",0:"০"},n={"১":"1","২":"2","৩":"3","৪":"4","৫":"5","৬":"6","৭":"7","৮":"8","৯":"9","০":"0"};t.defineLocale("bn",{months:"জানুয়ারী_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর".split("_"),monthsShort:"জানু_ফেব_মার্চ_এপ্র_মে_জুন_জুল_আগ_সেপ্ট_অক্টো_নভে_ডিসে".split("_"),weekdays:"রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার".split("_"),weekdaysShort:"রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি".split("_"),weekdaysMin:"রবি_সোম_মঙ্গ_বুধ_বৃহঃ_শুক্র_শনি".split("_"),longDateFormat:{LT:"A h:mm সময়",LTS:"A h:mm:ss সময়",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm সময়",LLLL:"dddd, D MMMM YYYY, A h:mm সময়"},calendar:{sameDay:"[আজ] LT",nextDay:"[আগামীকাল] LT",nextWeek:"dddd, LT",lastDay:"[গতকাল] LT",lastWeek:"[গত] dddd, LT",sameElse:"L"},relativeTime:{future:"%s পরে",past:"%s আগে",s:"কয়েক সেকেন্ড",ss:"%d সেকেন্ড",m:"এক মিনিট",mm:"%d মিনিট",h:"এক ঘন্টা",hh:"%d ঘন্টা",d:"এক দিন",dd:"%d দিন",M:"এক মাস",MM:"%d মাস",y:"এক বছর",yy:"%d বছর"},preparse:function(t){return t.replace(/[১২৩৪৫৬৭৮৯০]/g,function(t){return n[t]})},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]})},meridiemParse:/রাত|সকাল|দুপুর|বিকাল|রাত/,meridiemHour:function(t,e){return 12===t&&(t=0),"রাত"===e&&t>=4||"দুপুর"===e&&t<5||"বিকাল"===e?t+12:t},meridiem:function(t,e,n){return t<4?"রাত":t<10?"সকাল":t<17?"দুপুর":t<20?"বিকাল":"রাত"},week:{dow:0,doy:6}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("bm",{months:"Zanwuyekalo_Fewuruyekalo_Marisikalo_Awirilikalo_Mɛkalo_Zuwɛnkalo_Zuluyekalo_Utikalo_Sɛtanburukalo_ɔkutɔburukalo_Nowanburukalo_Desanburukalo".split("_"),monthsShort:"Zan_Few_Mar_Awi_Mɛ_Zuw_Zul_Uti_Sɛt_ɔku_Now_Des".split("_"),weekdays:"Kari_Ntɛnɛn_Tarata_Araba_Alamisa_Juma_Sibiri".split("_"),weekdaysShort:"Kar_Ntɛ_Tar_Ara_Ala_Jum_Sib".split("_"),weekdaysMin:"Ka_Nt_Ta_Ar_Al_Ju_Si".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"MMMM [tile] D [san] YYYY",LLL:"MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm",LLLL:"dddd MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm"},calendar:{sameDay:"[Bi lɛrɛ] LT",nextDay:"[Sini lɛrɛ] LT",nextWeek:"dddd [don lɛrɛ] LT",lastDay:"[Kunu lɛrɛ] LT",lastWeek:"dddd [tɛmɛnen lɛrɛ] LT",sameElse:"L"},relativeTime:{future:"%s kɔnɔ",past:"a bɛ %s bɔ",s:"sanga dama dama",ss:"sekondi %d",m:"miniti kelen",mm:"miniti %d",h:"lɛrɛ kelen",hh:"lɛrɛ %d",d:"tile kelen",dd:"tile %d",M:"kalo kelen",MM:"kalo %d",y:"san kelen",yy:"san %d"},week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("bg",{months:"януари_февруари_март_април_май_юни_юли_август_септември_октомври_ноември_декември".split("_"),monthsShort:"янр_фев_мар_апр_май_юни_юли_авг_сеп_окт_ное_дек".split("_"),weekdays:"неделя_понеделник_вторник_сряда_четвъртък_петък_събота".split("_"),weekdaysShort:"нед_пон_вто_сря_чет_пет_съб".split("_"),weekdaysMin:"нд_пн_вт_ср_чт_пт_сб".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"D.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[Днес в] LT",nextDay:"[Утре в] LT",nextWeek:"dddd [в] LT",lastDay:"[Вчера в] LT",lastWeek:function(){switch(this.day()){case 0:case 3:case 6:return"[В изминалата] dddd [в] LT";case 1:case 2:case 4:case 5:return"[В изминалия] dddd [в] LT"}},sameElse:"L"},relativeTime:{future:"след %s",past:"преди %s",s:"няколко секунди",ss:"%d секунди",m:"минута",mm:"%d минути",h:"час",hh:"%d часа",d:"ден",dd:"%d дни",M:"месец",MM:"%d месеца",y:"година",yy:"%d години"},dayOfMonthOrdinalParse:/\d{1,2}-(ев|ен|ти|ви|ри|ми)/,ordinal:function(t){var e=t%10,n=t%100;return 0===t?t+"-ев":0===n?t+"-ен":n>10&&n<20?t+"-ти":1===e?t+"-ви":2===e?t+"-ри":7===e||8===e?t+"-ми":t+"-ти"},week:{dow:1,doy:7}})}(n(0))},function(t,e,n){!function(t){"use strict";function e(t,e,n){var i,r,a={ss:e?"секунда_секунды_секунд":"секунду_секунды_секунд",mm:e?"хвіліна_хвіліны_хвілін":"хвіліну_хвіліны_хвілін",hh:e?"гадзіна_гадзіны_гадзін":"гадзіну_гадзіны_гадзін",dd:"дзень_дні_дзён",MM:"месяц_месяцы_месяцаў",yy:"год_гады_гадоў"};return"m"===n?e?"хвіліна":"хвіліну":"h"===n?e?"гадзіна":"гадзіну":t+" "+(i=+t,r=a[n].split("_"),i%10==1&&i%100!=11?r[0]:i%10>=2&&i%10<=4&&(i%100<10||i%100>=20)?r[1]:r[2])}t.defineLocale("be",{months:{format:"студзеня_лютага_сакавіка_красавіка_траўня_чэрвеня_ліпеня_жніўня_верасня_кастрычніка_лістапада_снежня".split("_"),standalone:"студзень_люты_сакавік_красавік_травень_чэрвень_ліпень_жнівень_верасень_кастрычнік_лістапад_снежань".split("_")},monthsShort:"студ_лют_сак_крас_трав_чэрв_ліп_жнів_вер_каст_ліст_снеж".split("_"),weekdays:{format:"нядзелю_панядзелак_аўторак_сераду_чацвер_пятніцу_суботу".split("_"),standalone:"нядзеля_панядзелак_аўторак_серада_чацвер_пятніца_субота".split("_"),isFormat:/\[ ?[Ууў] ?(?:мінулую|наступную)? ?\] ?dddd/},weekdaysShort:"нд_пн_ат_ср_чц_пт_сб".split("_"),weekdaysMin:"нд_пн_ат_ср_чц_пт_сб".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY г.",LLL:"D MMMM YYYY г., HH:mm",LLLL:"dddd, D MMMM YYYY г., HH:mm"},calendar:{sameDay:"[Сёння ў] LT",nextDay:"[Заўтра ў] LT",lastDay:"[Учора ў] LT",nextWeek:function(){return"[У] dddd [ў] LT"},lastWeek:function(){switch(this.day()){case 0:case 3:case 5:case 6:return"[У мінулую] dddd [ў] LT";case 1:case 2:case 4:return"[У мінулы] dddd [ў] LT"}},sameElse:"L"},relativeTime:{future:"праз %s",past:"%s таму",s:"некалькі секунд",m:e,mm:e,h:e,hh:e,d:"дзень",dd:e,M:"месяц",MM:e,y:"год",yy:e},meridiemParse:/ночы|раніцы|дня|вечара/,isPM:function(t){return/^(дня|вечара)$/.test(t)},meridiem:function(t,e,n){return t<4?"ночы":t<12?"раніцы":t<17?"дня":"вечара"},dayOfMonthOrdinalParse:/\d{1,2}-(і|ы|га)/,ordinal:function(t,e){switch(e){case"M":case"d":case"DDD":case"w":case"W":return t%10!=2&&t%10!=3||t%100==12||t%100==13?t+"-ы":t+"-і";case"D":return t+"-га";default:return t}},week:{dow:1,doy:7}})}(n(0))},function(t,e,n){!function(t){"use strict";var e={1:"-inci",5:"-inci",8:"-inci",70:"-inci",80:"-inci",2:"-nci",7:"-nci",20:"-nci",50:"-nci",3:"-üncü",4:"-üncü",100:"-üncü",6:"-ncı",9:"-uncu",10:"-uncu",30:"-uncu",60:"-ıncı",90:"-ıncı"};t.defineLocale("az",{months:"yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr".split("_"),monthsShort:"yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek".split("_"),weekdays:"Bazar_Bazar ertəsi_Çərşənbə axşamı_Çərşənbə_Cümə axşamı_Cümə_Şənbə".split("_"),weekdaysShort:"Baz_BzE_ÇAx_Çər_CAx_Cüm_Şən".split("_"),weekdaysMin:"Bz_BE_ÇA_Çə_CA_Cü_Şə".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[bugün saat] LT",nextDay:"[sabah saat] LT",nextWeek:"[gələn həftə] dddd [saat] LT",lastDay:"[dünən] LT",lastWeek:"[keçən həftə] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s sonra",past:"%s əvvəl",s:"birneçə saniyə",ss:"%d saniyə",m:"bir dəqiqə",mm:"%d dəqiqə",h:"bir saat",hh:"%d saat",d:"bir gün",dd:"%d gün",M:"bir ay",MM:"%d ay",y:"bir il",yy:"%d il"},meridiemParse:/gecə|səhər|gündüz|axşam/,isPM:function(t){return/^(gündüz|axşam)$/.test(t)},meridiem:function(t,e,n){return t<4?"gecə":t<12?"səhər":t<17?"gündüz":"axşam"},dayOfMonthOrdinalParse:/\d{1,2}-(ıncı|inci|nci|üncü|ncı|uncu)/,ordinal:function(t){if(0===t)return t+"-ıncı";var n=t%10,i=t%100-n,r=t>=100?100:null;return t+(e[n]||e[i]||e[r])},week:{dow:1,doy:7}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("ar-tn",{months:"جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),monthsShort:"جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[اليوم على الساعة] LT",nextDay:"[غدا على الساعة] LT",nextWeek:"dddd [على الساعة] LT",lastDay:"[أمس على الساعة] LT",lastWeek:"dddd [على الساعة] LT",sameElse:"L"},relativeTime:{future:"في %s",past:"منذ %s",s:"ثوان",ss:"%d ثانية",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"},week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";var e={1:"١",2:"٢",3:"٣",4:"٤",5:"٥",6:"٦",7:"٧",8:"٨",9:"٩",0:"٠"},n={"١":"1","٢":"2","٣":"3","٤":"4","٥":"5","٦":"6","٧":"7","٨":"8","٩":"9","٠":"0"};t.defineLocale("ar-sa",{months:"يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),monthsShort:"يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/ص|م/,isPM:function(t){return"م"===t},meridiem:function(t,e,n){return t<12?"ص":"م"},calendar:{sameDay:"[اليوم على الساعة] LT",nextDay:"[غدا على الساعة] LT",nextWeek:"dddd [على الساعة] LT",lastDay:"[أمس على الساعة] LT",lastWeek:"dddd [على الساعة] LT",sameElse:"L"},relativeTime:{future:"في %s",past:"منذ %s",s:"ثوان",ss:"%d ثانية",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"},preparse:function(t){return t.replace(/[١٢٣٤٥٦٧٨٩٠]/g,function(t){return n[t]}).replace(/،/g,",")},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]}).replace(/,/g,"،")},week:{dow:0,doy:6}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("ar-ma",{months:"يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر".split("_"),monthsShort:"يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر".split("_"),weekdays:"الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[اليوم على الساعة] LT",nextDay:"[غدا على الساعة] LT",nextWeek:"dddd [على الساعة] LT",lastDay:"[أمس على الساعة] LT",lastWeek:"dddd [على الساعة] LT",sameElse:"L"},relativeTime:{future:"في %s",past:"منذ %s",s:"ثوان",ss:"%d ثانية",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"},week:{dow:6,doy:12}})}(n(0))},function(t,e,n){!function(t){"use strict";var e={1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",7:"7",8:"8",9:"9",0:"0"},n=function(t){return 0===t?0:1===t?1:2===t?2:t%100>=3&&t%100<=10?3:t%100>=11?4:5},i={s:["أقل من ثانية","ثانية واحدة",["ثانيتان","ثانيتين"],"%d ثوان","%d ثانية","%d ثانية"],m:["أقل من دقيقة","دقيقة واحدة",["دقيقتان","دقيقتين"],"%d دقائق","%d دقيقة","%d دقيقة"],h:["أقل من ساعة","ساعة واحدة",["ساعتان","ساعتين"],"%d ساعات","%d ساعة","%d ساعة"],d:["أقل من يوم","يوم واحد",["يومان","يومين"],"%d أيام","%d يومًا","%d يوم"],M:["أقل من شهر","شهر واحد",["شهران","شهرين"],"%d أشهر","%d شهرا","%d شهر"],y:["أقل من عام","عام واحد",["عامان","عامين"],"%d أعوام","%d عامًا","%d عام"]},r=function(t){return function(e,r,a,o){var s=n(e),c=i[t][n(e)];return 2===s&&(c=c[r?0:1]),c.replace(/%d/i,e)}},a=["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر"];t.defineLocale("ar-ly",{months:a,monthsShort:a,weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/‏M/‏YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/ص|م/,isPM:function(t){return"م"===t},meridiem:function(t,e,n){return t<12?"ص":"م"},calendar:{sameDay:"[اليوم عند الساعة] LT",nextDay:"[غدًا عند الساعة] LT",nextWeek:"dddd [عند الساعة] LT",lastDay:"[أمس عند الساعة] LT",lastWeek:"dddd [عند الساعة] LT",sameElse:"L"},relativeTime:{future:"بعد %s",past:"منذ %s",s:r("s"),ss:r("s"),m:r("m"),mm:r("m"),h:r("h"),hh:r("h"),d:r("d"),dd:r("d"),M:r("M"),MM:r("M"),y:r("y"),yy:r("y")},preparse:function(t){return t.replace(/،/g,",")},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]}).replace(/,/g,"،")},week:{dow:6,doy:12}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("ar-kw",{months:"يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر".split("_"),monthsShort:"يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر".split("_"),weekdays:"الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[اليوم على الساعة] LT",nextDay:"[غدا على الساعة] LT",nextWeek:"dddd [على الساعة] LT",lastDay:"[أمس على الساعة] LT",lastWeek:"dddd [على الساعة] LT",sameElse:"L"},relativeTime:{future:"في %s",past:"منذ %s",s:"ثوان",ss:"%d ثانية",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"},week:{dow:0,doy:12}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("ar-dz",{months:"جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),monthsShort:"جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"احد_اثنين_ثلاثاء_اربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"أح_إث_ثلا_أر_خم_جم_سب".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[اليوم على الساعة] LT",nextDay:"[غدا على الساعة] LT",nextWeek:"dddd [على الساعة] LT",lastDay:"[أمس على الساعة] LT",lastWeek:"dddd [على الساعة] LT",sameElse:"L"},relativeTime:{future:"في %s",past:"منذ %s",s:"ثوان",ss:"%d ثانية",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"},week:{dow:0,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";var e={1:"١",2:"٢",3:"٣",4:"٤",5:"٥",6:"٦",7:"٧",8:"٨",9:"٩",0:"٠"},n={"١":"1","٢":"2","٣":"3","٤":"4","٥":"5","٦":"6","٧":"7","٨":"8","٩":"9","٠":"0"},i=function(t){return 0===t?0:1===t?1:2===t?2:t%100>=3&&t%100<=10?3:t%100>=11?4:5},r={s:["أقل من ثانية","ثانية واحدة",["ثانيتان","ثانيتين"],"%d ثوان","%d ثانية","%d ثانية"],m:["أقل من دقيقة","دقيقة واحدة",["دقيقتان","دقيقتين"],"%d دقائق","%d دقيقة","%d دقيقة"],h:["أقل من ساعة","ساعة واحدة",["ساعتان","ساعتين"],"%d ساعات","%d ساعة","%d ساعة"],d:["أقل من يوم","يوم واحد",["يومان","يومين"],"%d أيام","%d يومًا","%d يوم"],M:["أقل من شهر","شهر واحد",["شهران","شهرين"],"%d أشهر","%d شهرا","%d شهر"],y:["أقل من عام","عام واحد",["عامان","عامين"],"%d أعوام","%d عامًا","%d عام"]},a=function(t){return function(e,n,a,o){var s=i(e),c=r[t][i(e)];return 2===s&&(c=c[n?0:1]),c.replace(/%d/i,e)}},o=["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر"];t.defineLocale("ar",{months:o,monthsShort:o,weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/‏M/‏YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/ص|م/,isPM:function(t){return"م"===t},meridiem:function(t,e,n){return t<12?"ص":"م"},calendar:{sameDay:"[اليوم عند الساعة] LT",nextDay:"[غدًا عند الساعة] LT",nextWeek:"dddd [عند الساعة] LT",lastDay:"[أمس عند الساعة] LT",lastWeek:"dddd [عند الساعة] LT",sameElse:"L"},relativeTime:{future:"بعد %s",past:"منذ %s",s:a("s"),ss:a("s"),m:a("m"),mm:a("m"),h:a("h"),hh:a("h"),d:a("d"),dd:a("d"),M:a("M"),MM:a("M"),y:a("y"),yy:a("y")},preparse:function(t){return t.replace(/[١٢٣٤٥٦٧٨٩٠]/g,function(t){return n[t]}).replace(/،/g,",")},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]}).replace(/,/g,"،")},week:{dow:6,doy:12}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("af",{months:"Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember".split("_"),monthsShort:"Jan_Feb_Mrt_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des".split("_"),weekdays:"Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag".split("_"),weekdaysShort:"Son_Maa_Din_Woe_Don_Vry_Sat".split("_"),weekdaysMin:"So_Ma_Di_Wo_Do_Vr_Sa".split("_"),meridiemParse:/vm|nm/i,isPM:function(t){return/^nm$/i.test(t)},meridiem:function(t,e,n){return t<12?n?"vm":"VM":n?"nm":"NM"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Vandag om] LT",nextDay:"[Môre om] LT",nextWeek:"dddd [om] LT",lastDay:"[Gister om] LT",lastWeek:"[Laas] dddd [om] LT",sameElse:"L"},relativeTime:{future:"oor %s",past:"%s gelede",s:"'n paar sekondes",ss:"%d sekondes",m:"'n minuut",mm:"%d minute",h:"'n uur",hh:"%d ure",d:"'n dag",dd:"%d dae",M:"'n maand",MM:"%d maande",y:"'n jaar",yy:"%d jaar"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(t){return t+(1===t||8===t||t>=20?"ste":"de")},week:{dow:1,doy:4}})}(n(0))},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};e.extendDeep=function t(e){for(var n=1;n>>0,i=0;i0)for(n=0;n=0;return(a?n?"+":"":"-")+Math.pow(10,Math.max(0,r)).toString().substr(1)+i}var B=/(\[[^\[]*\])|(\\)?([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,H=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,R={},j={};function I(t,e,n,i){var r=i;"string"==typeof i&&(r=function(){return this[i]()}),t&&(j[t]=r),e&&(j[e[0]]=function(){return C(r.apply(this,arguments),e[1],e[2])}),n&&(j[n]=function(){return this.localeData().ordinal(r.apply(this,arguments),t)})}function F(t,e){return t.isValid()?(e=G(e,t.localeData()),R[e]=R[e]||function(t){var e,n,i,r=t.match(B);for(e=0,n=r.length;e=0&&H.test(t);)t=t.replace(H,i),H.lastIndex=0,n-=1;return t}var V=/\d/,U=/\d\d/,J=/\d{3}/,K=/\d{4}/,Q=/[+-]?\d{6}/,Z=/\d\d?/,$=/\d\d\d\d?/,tt=/\d\d\d\d\d\d?/,et=/\d{1,3}/,nt=/\d{1,4}/,it=/[+-]?\d{1,6}/,rt=/\d+/,at=/[+-]?\d+/,ot=/Z|[+-]\d\d:?\d\d/gi,st=/Z|[+-]\d\d(?::?\d\d)?/gi,ct=/[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i,ut={};function dt(t,e,n){ut[t]=Y(e)?e:function(t,i){return t&&n?n:e}}function lt(t,e){return l(ut,t)?ut[t](e._strict,e._locale):new RegExp(ft(t.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(t,e,n,i,r){return e||n||i||r})))}function ft(t){return t.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}var ht={};function pt(t,e){var n,i=e;for("string"==typeof t&&(t=[t]),c(e)&&(i=function(t,n){n[e]=v(t)}),n=0;n68?1900:2e3)};var St,Ot=Yt("FullYear",!0);function Yt(t,e){return function(n){return null!=n?(Dt(this,t,n),r.updateOffset(this,e),this):kt(this,t)}}function kt(t,e){return t.isValid()?t._d["get"+(t._isUTC?"UTC":"")+e]():NaN}function Dt(t,e,n){t.isValid()&&!isNaN(n)&&("FullYear"===e&&Tt(t.year())&&1===t.month()&&29===t.date()?t._d["set"+(t._isUTC?"UTC":"")+e](n,t.month(),Nt(n,t.month())):t._d["set"+(t._isUTC?"UTC":"")+e](n))}function Nt(t,e){if(isNaN(t)||isNaN(e))return NaN;var n,i=(e%(n=12)+n)%n;return t+=(e-i)/12,1===i?Tt(t)?29:28:31-i%7%2}St=Array.prototype.indexOf?Array.prototype.indexOf:function(t){var e;for(e=0;e=0&&isFinite(e.getUTCFullYear())&&e.setUTCFullYear(t),e}function jt(t,e,n){var i=7+e-n,r=(7+Rt(t,0,i).getUTCDay()-e)%7;return-r+i-1}function It(t,e,n,i,r){var a,o,s=(7+n-i)%7,c=jt(t,i,r),u=1+7*(e-1)+s+c;return u<=0?o=wt(a=t-1)+u:u>wt(t)?(a=t+1,o=u-wt(t)):(a=t,o=u),{year:a,dayOfYear:o}}function Ft(t,e,n){var i,r,a=jt(t.year(),e,n),o=Math.floor((t.dayOfYear()-a-1)/7)+1;return o<1?(r=t.year()-1,i=o+Gt(r,e,n)):o>Gt(t.year(),e,n)?(i=o-Gt(t.year(),e,n),r=t.year()+1):(r=t.year(),i=o),{week:i,year:r}}function Gt(t,e,n){var i=jt(t,e,n),r=jt(t+1,e,n);return(wt(t)-i+r)/7}I("w",["ww",2],"wo","week"),I("W",["WW",2],"Wo","isoWeek"),q("week","w"),q("isoWeek","W"),X("week",5),X("isoWeek",5),dt("w",Z),dt("ww",Z,U),dt("W",Z),dt("WW",Z,U),_t(["w","ww","W","WW"],function(t,e,n,i){e[i.substr(0,1)]=v(t)}),I("d",0,"do","day"),I("dd",0,0,function(t){return this.localeData().weekdaysMin(this,t)}),I("ddd",0,0,function(t){return this.localeData().weekdaysShort(this,t)}),I("dddd",0,0,function(t){return this.localeData().weekdays(this,t)}),I("e",0,0,"weekday"),I("E",0,0,"isoWeekday"),q("day","d"),q("weekday","e"),q("isoWeekday","E"),X("day",11),X("weekday",11),X("isoWeekday",11),dt("d",Z),dt("e",Z),dt("E",Z),dt("dd",function(t,e){return e.weekdaysMinRegex(t)}),dt("ddd",function(t,e){return e.weekdaysShortRegex(t)}),dt("dddd",function(t,e){return e.weekdaysRegex(t)}),_t(["dd","ddd","dddd"],function(t,e,n,i){var r=n._locale.weekdaysParse(t,i,n._strict);null!=r?e.d=r:p(n).invalidWeekday=t}),_t(["d","e","E"],function(t,e,n,i){e[i]=v(t)});var Vt="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),Ut="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),Jt="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),Kt=ct,Qt=ct,Zt=ct;function $t(){function t(t,e){return e.length-t.length}var e,n,i,r,a,o=[],s=[],c=[],u=[];for(e=0;e<7;e++)n=h([2e3,1]).day(e),i=this.weekdaysMin(n,""),r=this.weekdaysShort(n,""),a=this.weekdays(n,""),o.push(i),s.push(r),c.push(a),u.push(i),u.push(r),u.push(a);for(o.sort(t),s.sort(t),c.sort(t),u.sort(t),e=0;e<7;e++)s[e]=ft(s[e]),c[e]=ft(c[e]),u[e]=ft(u[e]);this._weekdaysRegex=new RegExp("^("+u.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+c.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+s.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+o.join("|")+")","i")}function te(){return this.hours()%12||12}function ee(t,e){I(t,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),e)})}function ne(t,e){return e._meridiemParse}I("H",["HH",2],0,"hour"),I("h",["hh",2],0,te),I("k",["kk",2],0,function(){return this.hours()||24}),I("hmm",0,0,function(){return""+te.apply(this)+C(this.minutes(),2)}),I("hmmss",0,0,function(){return""+te.apply(this)+C(this.minutes(),2)+C(this.seconds(),2)}),I("Hmm",0,0,function(){return""+this.hours()+C(this.minutes(),2)}),I("Hmmss",0,0,function(){return""+this.hours()+C(this.minutes(),2)+C(this.seconds(),2)}),ee("a",!0),ee("A",!1),q("hour","h"),X("hour",13),dt("a",ne),dt("A",ne),dt("H",Z),dt("h",Z),dt("k",Z),dt("HH",Z,U),dt("hh",Z,U),dt("kk",Z,U),dt("hmm",$),dt("hmmss",tt),dt("Hmm",$),dt("Hmmss",tt),pt(["H","HH"],yt),pt(["k","kk"],function(t,e,n){var i=v(t);e[yt]=24===i?0:i}),pt(["a","A"],function(t,e,n){n._isPm=n._locale.isPM(t),n._meridiem=t}),pt(["h","hh"],function(t,e,n){e[yt]=v(t),p(n).bigHour=!0}),pt("hmm",function(t,e,n){var i=t.length-2;e[yt]=v(t.substr(0,i)),e[Lt]=v(t.substr(i)),p(n).bigHour=!0}),pt("hmmss",function(t,e,n){var i=t.length-4,r=t.length-2;e[yt]=v(t.substr(0,i)),e[Lt]=v(t.substr(i,2)),e[At]=v(t.substr(r)),p(n).bigHour=!0}),pt("Hmm",function(t,e,n){var i=t.length-2;e[yt]=v(t.substr(0,i)),e[Lt]=v(t.substr(i))}),pt("Hmmss",function(t,e,n){var i=t.length-4,r=t.length-2;e[yt]=v(t.substr(0,i)),e[Lt]=v(t.substr(i,2)),e[At]=v(t.substr(r))});var ie,re=Yt("Hours",!0),ae={calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},longDateFormat:{LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},invalidDate:"Invalid date",ordinal:"%d",dayOfMonthOrdinalParse:/\d{1,2}/,relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},months:Wt,monthsShort:Pt,week:{dow:0,doy:6},weekdays:Vt,weekdaysMin:Jt,weekdaysShort:Ut,meridiemParse:/[ap]\.?m?\.?/i},oe={},se={};function ce(t){return t?t.toLowerCase().replace("_","-"):t}function ue(e){var i=null;if(!oe[e]&&void 0!==t&&t&&t.exports)try{i=ie._abbr,n(144)("./"+e),de(i)}catch(t){}return oe[e]}function de(t,e){var n;return t&&((n=s(e)?fe(t):le(t,e))?ie=n:"undefined"!=typeof console&&console.warn&&console.warn("Locale "+t+" not found. Did you forget to load it?")),ie._abbr}function le(t,e){if(null!==e){var n,i=ae;if(e.abbr=t,null!=oe[t])O("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."),i=oe[t]._config;else if(null!=e.parentLocale)if(null!=oe[e.parentLocale])i=oe[e.parentLocale]._config;else{if(null==(n=ue(e.parentLocale)))return se[e.parentLocale]||(se[e.parentLocale]=[]),se[e.parentLocale].push({name:t,config:e}),null;i=n._config}return oe[t]=new D(k(i,e)),se[t]&&se[t].forEach(function(t){le(t.name,t.config)}),de(t),oe[t]}return delete oe[t],null}function fe(t){var e;if(t&&t._locale&&t._locale._abbr&&(t=t._locale._abbr),!t)return ie;if(!a(t)){if(e=ue(t))return e;t=[t]}return function(t){for(var e,n,i,r,a=0;a0;){if(i=ue(r.slice(0,e).join("-")))return i;if(n&&n.length>=e&&x(r,n,!0)>=e-1)break;e--}a++}return ie}(t)}function he(t){var e,n=t._a;return n&&-2===p(t).overflow&&(e=n[gt]<0||n[gt]>11?gt:n[bt]<1||n[bt]>Nt(n[mt],n[gt])?bt:n[yt]<0||n[yt]>24||24===n[yt]&&(0!==n[Lt]||0!==n[At]||0!==n[vt])?yt:n[Lt]<0||n[Lt]>59?Lt:n[At]<0||n[At]>59?At:n[vt]<0||n[vt]>999?vt:-1,p(t)._overflowDayOfYear&&(ebt)&&(e=bt),p(t)._overflowWeeks&&-1===e&&(e=xt),p(t)._overflowWeekday&&-1===e&&(e=zt),p(t).overflow=e),t}function pe(t,e,n){return null!=t?t:null!=e?e:n}function _e(t){var e,n,i,a,o,s=[];if(!t._d){for(i=function(t){var e=new Date(r.now());return t._useUTC?[e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()]:[e.getFullYear(),e.getMonth(),e.getDate()]}(t),t._w&&null==t._a[bt]&&null==t._a[gt]&&function(t){var e,n,i,r,a,o,s,c;if(null!=(e=t._w).GG||null!=e.W||null!=e.E)a=1,o=4,n=pe(e.GG,t._a[mt],Ft(Ye(),1,4).year),i=pe(e.W,1),((r=pe(e.E,1))<1||r>7)&&(c=!0);else{a=t._locale._week.dow,o=t._locale._week.doy;var u=Ft(Ye(),a,o);n=pe(e.gg,t._a[mt],u.year),i=pe(e.w,u.week),null!=e.d?((r=e.d)<0||r>6)&&(c=!0):null!=e.e?(r=e.e+a,(e.e<0||e.e>6)&&(c=!0)):r=a}i<1||i>Gt(n,a,o)?p(t)._overflowWeeks=!0:null!=c?p(t)._overflowWeekday=!0:(s=It(n,i,r,a,o),t._a[mt]=s.year,t._dayOfYear=s.dayOfYear)}(t),null!=t._dayOfYear&&(o=pe(t._a[mt],i[mt]),(t._dayOfYear>wt(o)||0===t._dayOfYear)&&(p(t)._overflowDayOfYear=!0),n=Rt(o,0,t._dayOfYear),t._a[gt]=n.getUTCMonth(),t._a[bt]=n.getUTCDate()),e=0;e<3&&null==t._a[e];++e)t._a[e]=s[e]=i[e];for(;e<7;e++)t._a[e]=s[e]=null==t._a[e]?2===e?1:0:t._a[e];24===t._a[yt]&&0===t._a[Lt]&&0===t._a[At]&&0===t._a[vt]&&(t._nextDay=!0,t._a[yt]=0),t._d=(t._useUTC?Rt:function(t,e,n,i,r,a,o){var s=new Date(t,e,n,i,r,a,o);return t<100&&t>=0&&isFinite(s.getFullYear())&&s.setFullYear(t),s}).apply(null,s),a=t._useUTC?t._d.getUTCDay():t._d.getDay(),null!=t._tzm&&t._d.setUTCMinutes(t._d.getUTCMinutes()-t._tzm),t._nextDay&&(t._a[yt]=24),t._w&&void 0!==t._w.d&&t._w.d!==a&&(p(t).weekdayMismatch=!0)}}var Me=/^\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)?)?$/,me=/^\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)?)?$/,ge=/Z|[+-]\d\d(?::?\d\d)?/,be=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/]],ye=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],Le=/^\/?Date\((\-?\d+)/i;function Ae(t){var e,n,i,r,a,o,s=t._i,c=Me.exec(s)||me.exec(s);if(c){for(p(t).iso=!0,e=0,n=be.length;e0&&p(t).unusedInput.push(o),s=s.slice(s.indexOf(n)+n.length),u+=n.length),j[a]?(n?p(t).empty=!1:p(t).unusedTokens.push(a),Mt(a,n,t)):t._strict&&!n&&p(t).unusedTokens.push(a);p(t).charsLeftOver=c-u,s.length>0&&p(t).unusedInput.push(s),t._a[yt]<=12&&!0===p(t).bigHour&&t._a[yt]>0&&(p(t).bigHour=void 0),p(t).parsedDateParts=t._a.slice(0),p(t).meridiem=t._meridiem,t._a[yt]=(d=t._locale,l=t._a[yt],null==(f=t._meridiem)?l:null!=d.meridiemHour?d.meridiemHour(l,f):null!=d.isPM?((h=d.isPM(f))&&l<12&&(l+=12),h||12!==l||(l=0),l):l),_e(t),he(t)}else we(t);else Ae(t);var d,l,f,h}function Se(t){var e=t._i,n=t._f;return t._locale=t._locale||fe(t._l),null===e||void 0===n&&""===e?M({nullInput:!0}):("string"==typeof e&&(t._i=e=t._locale.preparse(e)),L(e)?new y(he(e)):(u(e)?t._d=e:a(n)?function(t){var e,n,i,r,a;if(0===t._f.length)return p(t).invalidFormat=!0,void(t._d=new Date(NaN));for(r=0;rthis?this:t:M()});function Ne(t,e){var n,i;if(1===e.length&&a(e[0])&&(e=e[0]),!e.length)return Ye();for(n=e[0],i=1;ia&&(e=a),function(t,e,n,i,r){var a=It(t,e,n,i,r),o=Rt(a.year,0,a.dayOfYear);return this.year(o.getUTCFullYear()),this.month(o.getUTCMonth()),this.date(o.getUTCDate()),this}.call(this,t,e,n,i,r))}I(0,["gg",2],0,function(){return this.weekYear()%100}),I(0,["GG",2],0,function(){return this.isoWeekYear()%100}),rn("gggg","weekYear"),rn("ggggg","weekYear"),rn("GGGG","isoWeekYear"),rn("GGGGG","isoWeekYear"),q("weekYear","gg"),q("isoWeekYear","GG"),X("weekYear",1),X("isoWeekYear",1),dt("G",at),dt("g",at),dt("GG",Z,U),dt("gg",Z,U),dt("GGGG",nt,K),dt("gggg",nt,K),dt("GGGGG",it,Q),dt("ggggg",it,Q),_t(["gggg","ggggg","GGGG","GGGGG"],function(t,e,n,i){e[i.substr(0,2)]=v(t)}),_t(["gg","GG"],function(t,e,n,i){e[i]=r.parseTwoDigitYear(t)}),I("Q",0,"Qo","quarter"),q("quarter","Q"),X("quarter",7),dt("Q",V),pt("Q",function(t,e){e[gt]=3*(v(t)-1)}),I("D",["DD",2],"Do","date"),q("date","D"),X("date",9),dt("D",Z),dt("DD",Z,U),dt("Do",function(t,e){return t?e._dayOfMonthOrdinalParse||e._ordinalParse:e._dayOfMonthOrdinalParseLenient}),pt(["D","DD"],bt),pt("Do",function(t,e){e[bt]=v(t.match(Z)[0])});var on=Yt("Date",!0);I("DDD",["DDDD",3],"DDDo","dayOfYear"),q("dayOfYear","DDD"),X("dayOfYear",4),dt("DDD",et),dt("DDDD",J),pt(["DDD","DDDD"],function(t,e,n){n._dayOfYear=v(t)}),I("m",["mm",2],0,"minute"),q("minute","m"),X("minute",14),dt("m",Z),dt("mm",Z,U),pt(["m","mm"],Lt);var sn=Yt("Minutes",!1);I("s",["ss",2],0,"second"),q("second","s"),X("second",15),dt("s",Z),dt("ss",Z,U),pt(["s","ss"],At);var cn,un=Yt("Seconds",!1);for(I("S",0,0,function(){return~~(this.millisecond()/100)}),I(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),I(0,["SSS",3],0,"millisecond"),I(0,["SSSS",4],0,function(){return 10*this.millisecond()}),I(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),I(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),I(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),I(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),I(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),q("millisecond","ms"),X("millisecond",16),dt("S",et,V),dt("SS",et,U),dt("SSS",et,J),cn="SSSS";cn.length<=9;cn+="S")dt(cn,rt);function dn(t,e){e[vt]=v(1e3*("0."+t))}for(cn="S";cn.length<=9;cn+="S")pt(cn,dn);var ln=Yt("Milliseconds",!1);I("z",0,0,"zoneAbbr"),I("zz",0,0,"zoneName");var fn=y.prototype;function hn(t){return t}fn.add=Qe,fn.calendar=function(t,e){var n=t||Ye(),i=He(n,this).startOf("day"),a=r.calendarFormat(this,i)||"sameElse",o=e&&(Y(e[a])?e[a].call(this,n):e[a]);return this.format(o||this.localeData().calendar(a,this,Ye(n)))},fn.clone=function(){return new y(this)},fn.diff=function(t,e,n){var i,r,a;if(!this.isValid())return NaN;if(!(i=He(t,this)).isValid())return NaN;switch(r=6e4*(i.utcOffset()-this.utcOffset()),e=W(e)){case"year":a=$e(this,i)/12;break;case"month":a=$e(this,i);break;case"quarter":a=$e(this,i)/3;break;case"second":a=(this-i)/1e3;break;case"minute":a=(this-i)/6e4;break;case"hour":a=(this-i)/36e5;break;case"day":a=(this-i-r)/864e5;break;case"week":a=(this-i-r)/6048e5;break;default:a=this-i}return n?a:A(a)},fn.endOf=function(t){return void 0===(t=W(t))||"millisecond"===t?this:("date"===t&&(t="day"),this.startOf(t).add(1,"isoWeek"===t?"week":t).subtract(1,"ms"))},fn.format=function(t){t||(t=this.isUtc()?r.defaultFormatUtc:r.defaultFormat);var e=F(this,t);return this.localeData().postformat(e)},fn.from=function(t,e){return this.isValid()&&(L(t)&&t.isValid()||Ye(t).isValid())?Ge({to:this,from:t}).locale(this.locale()).humanize(!e):this.localeData().invalidDate()},fn.fromNow=function(t){return this.from(Ye(),t)},fn.to=function(t,e){return this.isValid()&&(L(t)&&t.isValid()||Ye(t).isValid())?Ge({from:this,to:t}).locale(this.locale()).humanize(!e):this.localeData().invalidDate()},fn.toNow=function(t){return this.to(Ye(),t)},fn.get=function(t){return Y(this[t=W(t)])?this[t]():this},fn.invalidAt=function(){return p(this).overflow},fn.isAfter=function(t,e){var n=L(t)?t:Ye(t);return!(!this.isValid()||!n.isValid())&&("millisecond"===(e=W(s(e)?"millisecond":e))?this.valueOf()>n.valueOf():n.valueOf()9999?F(n,e?"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ"):Y(Date.prototype.toISOString)?e?this.toDate().toISOString():new Date(this.valueOf()+60*this.utcOffset()*1e3).toISOString().replace("Z",F(n,"Z")):F(n,e?"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYY-MM-DD[T]HH:mm:ss.SSSZ")},fn.inspect=function(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var t="moment",e="";this.isLocal()||(t=0===this.utcOffset()?"moment.utc":"moment.parseZone",e="Z");var n="["+t+'("]',i=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY",r=e+'[")]';return this.format(n+i+"-MM-DD[T]HH:mm:ss.SSS"+r)},fn.toJSON=function(){return this.isValid()?this.toISOString():null},fn.toString=function(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")},fn.unix=function(){return Math.floor(this.valueOf()/1e3)},fn.valueOf=function(){return this._d.valueOf()-6e4*(this._offset||0)},fn.creationData=function(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}},fn.year=Ot,fn.isLeapYear=function(){return Tt(this.year())},fn.weekYear=function(t){return an.call(this,t,this.week(),this.weekday(),this.localeData()._week.dow,this.localeData()._week.doy)},fn.isoWeekYear=function(t){return an.call(this,t,this.isoWeek(),this.isoWeekday(),1,4)},fn.quarter=fn.quarters=function(t){return null==t?Math.ceil((this.month()+1)/3):this.month(3*(t-1)+this.month()%3)},fn.month=Xt,fn.daysInMonth=function(){return Nt(this.year(),this.month())},fn.week=fn.weeks=function(t){var e=this.localeData().week(this);return null==t?e:this.add(7*(t-e),"d")},fn.isoWeek=fn.isoWeeks=function(t){var e=Ft(this,1,4).week;return null==t?e:this.add(7*(t-e),"d")},fn.weeksInYear=function(){var t=this.localeData()._week;return Gt(this.year(),t.dow,t.doy)},fn.isoWeeksInYear=function(){return Gt(this.year(),1,4)},fn.date=on,fn.day=fn.days=function(t){if(!this.isValid())return null!=t?this:NaN;var e=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=t?(t=function(t,e){return"string"!=typeof t?t:isNaN(t)?"number"==typeof(t=e.weekdaysParse(t))?t:null:parseInt(t,10)}(t,this.localeData()),this.add(t-e,"d")):e},fn.weekday=function(t){if(!this.isValid())return null!=t?this:NaN;var e=(this.day()+7-this.localeData()._week.dow)%7;return null==t?e:this.add(t-e,"d")},fn.isoWeekday=function(t){if(!this.isValid())return null!=t?this:NaN;if(null!=t){var e=function(t,e){return"string"==typeof t?e.weekdaysParse(t)%7||7:isNaN(t)?null:t}(t,this.localeData());return this.day(this.day()%7?e:e-7)}return this.day()||7},fn.dayOfYear=function(t){var e=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==t?e:this.add(t-e,"d")},fn.hour=fn.hours=re,fn.minute=fn.minutes=sn,fn.second=fn.seconds=un,fn.millisecond=fn.milliseconds=ln,fn.utcOffset=function(t,e,n){var i,a=this._offset||0;if(!this.isValid())return null!=t?this:NaN;if(null!=t){if("string"==typeof t){if(null===(t=Be(st,t)))return this}else Math.abs(t)<16&&!n&&(t*=60);return!this._isUTC&&e&&(i=Re(this)),this._offset=t,this._isUTC=!0,null!=i&&this.add(i,"m"),a!==t&&(!e||this._changeInProgress?Ke(this,Ge(t-a,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,r.updateOffset(this,!0),this._changeInProgress=null)),this}return this._isUTC?a:Re(this)},fn.utc=function(t){return this.utcOffset(0,t)},fn.local=function(t){return this._isUTC&&(this.utcOffset(0,t),this._isUTC=!1,t&&this.subtract(Re(this),"m")),this},fn.parseZone=function(){if(null!=this._tzm)this.utcOffset(this._tzm,!1,!0);else if("string"==typeof this._i){var t=Be(ot,this._i);null!=t?this.utcOffset(t):this.utcOffset(0,!0)}return this},fn.hasAlignedHourOffset=function(t){return!!this.isValid()&&(t=t?Ye(t).utcOffset():0,(this.utcOffset()-t)%60==0)},fn.isDST=function(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()},fn.isLocal=function(){return!!this.isValid()&&!this._isUTC},fn.isUtcOffset=function(){return!!this.isValid()&&this._isUTC},fn.isUtc=je,fn.isUTC=je,fn.zoneAbbr=function(){return this._isUTC?"UTC":""},fn.zoneName=function(){return this._isUTC?"Coordinated Universal Time":""},fn.dates=w("dates accessor is deprecated. Use date instead.",on),fn.months=w("months accessor is deprecated. Use month instead",Xt),fn.years=w("years accessor is deprecated. Use year instead",Ot),fn.zone=w("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",function(t,e){return null!=t?("string"!=typeof t&&(t=-t),this.utcOffset(t,e),this):-this.utcOffset()}),fn.isDSTShifted=w("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",function(){if(!s(this._isDSTShifted))return this._isDSTShifted;var t={};if(g(t,this),(t=Se(t))._a){var e=t._isUTC?h(t._a):Ye(t._a);this._isDSTShifted=this.isValid()&&x(t._a,e.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted});var pn=D.prototype;function _n(t,e,n,i){var r=fe(),a=h().set(i,e);return r[n](a,t)}function Mn(t,e,n){if(c(t)&&(e=t,t=void 0),t=t||"",null!=e)return _n(t,e,n,"month");var i,r=[];for(i=0;i<12;i++)r[i]=_n(t,i,n,"month");return r}function mn(t,e,n,i){"boolean"==typeof t?(c(e)&&(n=e,e=void 0),e=e||""):(n=e=t,t=!1,c(e)&&(n=e,e=void 0),e=e||"");var r,a=fe(),o=t?a._week.dow:0;if(null!=n)return _n(e,(n+o)%7,i,"day");var s=[];for(r=0;r<7;r++)s[r]=_n(e,(r+o)%7,i,"day");return s}pn.calendar=function(t,e,n){var i=this._calendar[t]||this._calendar.sameElse;return Y(i)?i.call(e,n):i},pn.longDateFormat=function(t){var e=this._longDateFormat[t],n=this._longDateFormat[t.toUpperCase()];return e||!n?e:(this._longDateFormat[t]=n.replace(/MMMM|MM|DD|dddd/g,function(t){return t.slice(1)}),this._longDateFormat[t])},pn.invalidDate=function(){return this._invalidDate},pn.ordinal=function(t){return this._ordinal.replace("%d",t)},pn.preparse=hn,pn.postformat=hn,pn.relativeTime=function(t,e,n,i){var r=this._relativeTime[n];return Y(r)?r(t,e,n,i):r.replace(/%d/i,t)},pn.pastFuture=function(t,e){var n=this._relativeTime[t>0?"future":"past"];return Y(n)?n(e):n.replace(/%s/i,e)},pn.set=function(t){var e,n;for(n in t)Y(e=t[n])?this[n]=e:this["_"+n]=e;this._config=t,this._dayOfMonthOrdinalParseLenient=new RegExp((this._dayOfMonthOrdinalParse.source||this._ordinalParse.source)+"|"+/\d{1,2}/.source)},pn.months=function(t,e){return t?a(this._months)?this._months[t.month()]:this._months[(this._months.isFormat||qt).test(e)?"format":"standalone"][t.month()]:a(this._months)?this._months:this._months.standalone},pn.monthsShort=function(t,e){return t?a(this._monthsShort)?this._monthsShort[t.month()]:this._monthsShort[qt.test(e)?"format":"standalone"][t.month()]:a(this._monthsShort)?this._monthsShort:this._monthsShort.standalone},pn.monthsParse=function(t,e,n){var i,r,a;if(this._monthsParseExact)return function(t,e,n){var i,r,a,o=t.toLocaleLowerCase();if(!this._monthsParse)for(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[],i=0;i<12;++i)a=h([2e3,i]),this._shortMonthsParse[i]=this.monthsShort(a,"").toLocaleLowerCase(),this._longMonthsParse[i]=this.months(a,"").toLocaleLowerCase();return n?"MMM"===e?-1!==(r=St.call(this._shortMonthsParse,o))?r:null:-1!==(r=St.call(this._longMonthsParse,o))?r:null:"MMM"===e?-1!==(r=St.call(this._shortMonthsParse,o))?r:-1!==(r=St.call(this._longMonthsParse,o))?r:null:-1!==(r=St.call(this._longMonthsParse,o))?r:-1!==(r=St.call(this._shortMonthsParse,o))?r:null}.call(this,t,e,n);for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),i=0;i<12;i++){if(r=h([2e3,i]),n&&!this._longMonthsParse[i]&&(this._longMonthsParse[i]=new RegExp("^"+this.months(r,"").replace(".","")+"$","i"),this._shortMonthsParse[i]=new RegExp("^"+this.monthsShort(r,"").replace(".","")+"$","i")),n||this._monthsParse[i]||(a="^"+this.months(r,"")+"|^"+this.monthsShort(r,""),this._monthsParse[i]=new RegExp(a.replace(".",""),"i")),n&&"MMMM"===e&&this._longMonthsParse[i].test(t))return i;if(n&&"MMM"===e&&this._shortMonthsParse[i].test(t))return i;if(!n&&this._monthsParse[i].test(t))return i}},pn.monthsRegex=function(t){return this._monthsParseExact?(l(this,"_monthsRegex")||Ht.call(this),t?this._monthsStrictRegex:this._monthsRegex):(l(this,"_monthsRegex")||(this._monthsRegex=Bt),this._monthsStrictRegex&&t?this._monthsStrictRegex:this._monthsRegex)},pn.monthsShortRegex=function(t){return this._monthsParseExact?(l(this,"_monthsRegex")||Ht.call(this),t?this._monthsShortStrictRegex:this._monthsShortRegex):(l(this,"_monthsShortRegex")||(this._monthsShortRegex=Ct),this._monthsShortStrictRegex&&t?this._monthsShortStrictRegex:this._monthsShortRegex)},pn.week=function(t){return Ft(t,this._week.dow,this._week.doy).week},pn.firstDayOfYear=function(){return this._week.doy},pn.firstDayOfWeek=function(){return this._week.dow},pn.weekdays=function(t,e){return t?a(this._weekdays)?this._weekdays[t.day()]:this._weekdays[this._weekdays.isFormat.test(e)?"format":"standalone"][t.day()]:a(this._weekdays)?this._weekdays:this._weekdays.standalone},pn.weekdaysMin=function(t){return t?this._weekdaysMin[t.day()]:this._weekdaysMin},pn.weekdaysShort=function(t){return t?this._weekdaysShort[t.day()]:this._weekdaysShort},pn.weekdaysParse=function(t,e,n){var i,r,a;if(this._weekdaysParseExact)return function(t,e,n){var i,r,a,o=t.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],i=0;i<7;++i)a=h([2e3,1]).day(i),this._minWeekdaysParse[i]=this.weekdaysMin(a,"").toLocaleLowerCase(),this._shortWeekdaysParse[i]=this.weekdaysShort(a,"").toLocaleLowerCase(),this._weekdaysParse[i]=this.weekdays(a,"").toLocaleLowerCase();return n?"dddd"===e?-1!==(r=St.call(this._weekdaysParse,o))?r:null:"ddd"===e?-1!==(r=St.call(this._shortWeekdaysParse,o))?r:null:-1!==(r=St.call(this._minWeekdaysParse,o))?r:null:"dddd"===e?-1!==(r=St.call(this._weekdaysParse,o))?r:-1!==(r=St.call(this._shortWeekdaysParse,o))?r:-1!==(r=St.call(this._minWeekdaysParse,o))?r:null:"ddd"===e?-1!==(r=St.call(this._shortWeekdaysParse,o))?r:-1!==(r=St.call(this._weekdaysParse,o))?r:-1!==(r=St.call(this._minWeekdaysParse,o))?r:null:-1!==(r=St.call(this._minWeekdaysParse,o))?r:-1!==(r=St.call(this._weekdaysParse,o))?r:-1!==(r=St.call(this._shortWeekdaysParse,o))?r:null}.call(this,t,e,n);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),i=0;i<7;i++){if(r=h([2e3,1]).day(i),n&&!this._fullWeekdaysParse[i]&&(this._fullWeekdaysParse[i]=new RegExp("^"+this.weekdays(r,"").replace(".","\\.?")+"$","i"),this._shortWeekdaysParse[i]=new RegExp("^"+this.weekdaysShort(r,"").replace(".","\\.?")+"$","i"),this._minWeekdaysParse[i]=new RegExp("^"+this.weekdaysMin(r,"").replace(".","\\.?")+"$","i")),this._weekdaysParse[i]||(a="^"+this.weekdays(r,"")+"|^"+this.weekdaysShort(r,"")+"|^"+this.weekdaysMin(r,""),this._weekdaysParse[i]=new RegExp(a.replace(".",""),"i")),n&&"dddd"===e&&this._fullWeekdaysParse[i].test(t))return i;if(n&&"ddd"===e&&this._shortWeekdaysParse[i].test(t))return i;if(n&&"dd"===e&&this._minWeekdaysParse[i].test(t))return i;if(!n&&this._weekdaysParse[i].test(t))return i}},pn.weekdaysRegex=function(t){return this._weekdaysParseExact?(l(this,"_weekdaysRegex")||$t.call(this),t?this._weekdaysStrictRegex:this._weekdaysRegex):(l(this,"_weekdaysRegex")||(this._weekdaysRegex=Kt),this._weekdaysStrictRegex&&t?this._weekdaysStrictRegex:this._weekdaysRegex)},pn.weekdaysShortRegex=function(t){return this._weekdaysParseExact?(l(this,"_weekdaysRegex")||$t.call(this),t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(l(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=Qt),this._weekdaysShortStrictRegex&&t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)},pn.weekdaysMinRegex=function(t){return this._weekdaysParseExact?(l(this,"_weekdaysRegex")||$t.call(this),t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(l(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=Zt),this._weekdaysMinStrictRegex&&t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)},pn.isPM=function(t){return"p"===(t+"").toLowerCase().charAt(0)},pn.meridiem=function(t,e,n){return t>11?n?"pm":"PM":n?"am":"AM"},de("en",{dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(t){var e=t%10,n=1===v(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th";return t+n}}),r.lang=w("moment.lang is deprecated. Use moment.locale instead.",de),r.langData=w("moment.langData is deprecated. Use moment.localeData instead.",fe);var gn=Math.abs;function bn(t,e,n,i){var r=Ge(e,n);return t._milliseconds+=i*r._milliseconds,t._days+=i*r._days,t._months+=i*r._months,t._bubble()}function yn(t){return t<0?Math.floor(t):Math.ceil(t)}function Ln(t){return 4800*t/146097}function An(t){return 146097*t/4800}function vn(t){return function(){return this.as(t)}}var xn=vn("ms"),zn=vn("s"),wn=vn("m"),Tn=vn("h"),Sn=vn("d"),On=vn("w"),Yn=vn("M"),kn=vn("y");function Dn(t){return function(){return this.isValid()?this._data[t]:NaN}}var Nn=Dn("milliseconds"),qn=Dn("seconds"),Wn=Dn("minutes"),Pn=Dn("hours"),En=Dn("days"),Xn=Dn("months"),Cn=Dn("years"),Bn=Math.round,Hn={ss:44,s:45,m:45,h:22,d:26,M:11},Rn=Math.abs;function jn(t){return(t>0)-(t<0)||+t}function In(){if(!this.isValid())return this.localeData().invalidDate();var t,e,n=Rn(this._milliseconds)/1e3,i=Rn(this._days),r=Rn(this._months);t=A(n/60),e=A(t/60),n%=60,t%=60;var a=A(r/12),o=r%=12,s=i,c=e,u=t,d=n?n.toFixed(3).replace(/\.?0+$/,""):"",l=this.asSeconds();if(!l)return"P0D";var f=l<0?"-":"",h=jn(this._months)!==jn(l)?"-":"",p=jn(this._days)!==jn(l)?"-":"",_=jn(this._milliseconds)!==jn(l)?"-":"";return f+"P"+(a?h+a+"Y":"")+(o?h+o+"M":"")+(s?p+s+"D":"")+(c||u||d?"T":"")+(c?_+c+"H":"")+(u?_+u+"M":"")+(d?_+d+"S":"")}var Fn=We.prototype;return Fn.isValid=function(){return this._isValid},Fn.abs=function(){var t=this._data;return this._milliseconds=gn(this._milliseconds),this._days=gn(this._days),this._months=gn(this._months),t.milliseconds=gn(t.milliseconds),t.seconds=gn(t.seconds),t.minutes=gn(t.minutes),t.hours=gn(t.hours),t.months=gn(t.months),t.years=gn(t.years),this},Fn.add=function(t,e){return bn(this,t,e,1)},Fn.subtract=function(t,e){return bn(this,t,e,-1)},Fn.as=function(t){if(!this.isValid())return NaN;var e,n,i=this._milliseconds;if("month"===(t=W(t))||"year"===t)return e=this._days+i/864e5,n=this._months+Ln(e),"month"===t?n:n/12;switch(e=this._days+Math.round(An(this._months)),t){case"week":return e/7+i/6048e5;case"day":return e+i/864e5;case"hour":return 24*e+i/36e5;case"minute":return 1440*e+i/6e4;case"second":return 86400*e+i/1e3;case"millisecond":return Math.floor(864e5*e)+i;default:throw new Error("Unknown unit "+t)}},Fn.asMilliseconds=xn,Fn.asSeconds=zn,Fn.asMinutes=wn,Fn.asHours=Tn,Fn.asDays=Sn,Fn.asWeeks=On,Fn.asMonths=Yn,Fn.asYears=kn,Fn.valueOf=function(){return this.isValid()?this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*v(this._months/12):NaN},Fn._bubble=function(){var t,e,n,i,r,a=this._milliseconds,o=this._days,s=this._months,c=this._data;return a>=0&&o>=0&&s>=0||a<=0&&o<=0&&s<=0||(a+=864e5*yn(An(s)+o),o=0,s=0),c.milliseconds=a%1e3,t=A(a/1e3),c.seconds=t%60,e=A(t/60),c.minutes=e%60,n=A(e/60),c.hours=n%24,o+=A(n/24),r=A(Ln(o)),s+=r,o-=yn(An(r)),i=A(s/12),s%=12,c.days=o,c.months=s,c.years=i,this},Fn.clone=function(){return Ge(this)},Fn.get=function(t){return t=W(t),this.isValid()?this[t+"s"]():NaN},Fn.milliseconds=Nn,Fn.seconds=qn,Fn.minutes=Wn,Fn.hours=Pn,Fn.days=En,Fn.weeks=function(){return A(this.days()/7)},Fn.months=Xn,Fn.years=Cn,Fn.humanize=function(t){if(!this.isValid())return this.localeData().invalidDate();var e=this.localeData(),n=function(t,e,n){var i=Ge(t).abs(),r=Bn(i.as("s")),a=Bn(i.as("m")),o=Bn(i.as("h")),s=Bn(i.as("d")),c=Bn(i.as("M")),u=Bn(i.as("y")),d=r<=Hn.ss&&["s",r]||r0,d[4]=n,function(t,e,n,i,r){return r.relativeTime(e||1,!!n,t,i)}.apply(null,d)}(this,!t,e);return t&&(n=e.pastFuture(+this,n)),e.postformat(n)},Fn.toISOString=In,Fn.toString=In,Fn.toJSON=In,Fn.locale=tn,Fn.localeData=nn,Fn.toIsoString=w("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",In),Fn.lang=en,I("X",0,0,"unix"),I("x",0,0,"valueOf"),dt("x",at),dt("X",/[+-]?\d+(\.\d{1,3})?/),pt("X",function(t,e,n){n._d=new Date(1e3*parseFloat(t,10))}),pt("x",function(t,e,n){n._d=new Date(v(t))}),r.version="2.22.2",e=Ye,r.fn=fn,r.min=function(){return Ne("isBefore",[].slice.call(arguments,0))},r.max=function(){return Ne("isAfter",[].slice.call(arguments,0))},r.now=function(){return Date.now?Date.now():+new Date},r.utc=h,r.unix=function(t){return Ye(1e3*t)},r.months=function(t,e){return Mn(t,e,"months")},r.isDate=u,r.locale=de,r.invalid=M,r.duration=Ge,r.isMoment=L,r.weekdays=function(t,e,n){return mn(t,e,n,"weekdays")},r.parseZone=function(){return Ye.apply(null,arguments).parseZone()},r.localeData=fe,r.isDuration=Pe,r.monthsShort=function(t,e){return Mn(t,e,"monthsShort")},r.weekdaysMin=function(t,e,n){return mn(t,e,n,"weekdaysMin")},r.defineLocale=le,r.updateLocale=function(t,e){if(null!=e){var n,i,r=ae;null!=(i=ue(t))&&(r=i._config),e=k(r,e),(n=new D(e)).parentLocale=oe[t],oe[t]=n,de(t)}else null!=oe[t]&&(null!=oe[t].parentLocale?oe[t]=oe[t].parentLocale:null!=oe[t]&&delete oe[t]);return oe[t]},r.locales=function(){return T(oe)},r.weekdaysShort=function(t,e,n){return mn(t,e,n,"weekdaysShort")},r.normalizeUnits=W,r.relativeTimeRounding=function(t){return void 0===t?Bn:"function"==typeof t&&(Bn=t,!0)},r.relativeTimeThreshold=function(t,e){return void 0!==Hn[t]&&(void 0===e?Hn[t]:(Hn[t]=e,"s"===t&&(Hn.ss=e-1),!0))},r.calendarFormat=function(t,e){var n=t.diff(e,"days",!0);return n<-6?"sameElse":n<-1?"lastWeek":n<0?"lastDay":n<1?"sameDay":n<2?"nextDay":n<7?"nextWeek":"sameElse"},r.prototype=fn,r.HTML5_FMT={DATETIME_LOCAL:"YYYY-MM-DDTHH:mm",DATETIME_LOCAL_SECONDS:"YYYY-MM-DDTHH:mm:ss",DATETIME_LOCAL_MS:"YYYY-MM-DDTHH:mm:ss.SSS",DATE:"YYYY-MM-DD",TIME:"HH:mm",TIME_SECONDS:"HH:mm:ss",TIME_MS:"HH:mm:ss.SSS",WEEK:"YYYY-[W]WW",MONTH:"YYYY-MM"},r}()}).call(this,n(145)(t))},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.each=function(t,e,n){var i;if(!t)return 0;if(n=n||t,t instanceof Array){for(i=0;ie?1:t>=e?0:NaN},r=function(t){var e;return 1===t.length&&(e=t,t=function(t,n){return i(e(t),n)}),{left:function(e,n,i,r){for(null==i&&(i=0),null==r&&(r=e.length);i>>1;t(e[a],n)<0?i=a+1:r=a}return i},right:function(e,n,i,r){for(null==i&&(i=0),null==r&&(r=e.length);i>>1;t(e[a],n)>0?r=a:i=a+1}return i}}};var a=r(i),o=a.right,s=a.left,c=o,u=function(t,e){null==e&&(e=d);for(var n=0,i=t.length-1,r=t[0],a=new Array(i<0?0:i);nt?1:e>=t?0:NaN},h=function(t){return null===t?NaN:+t},p=function(t,e){var n,i,r=t.length,a=0,o=-1,s=0,c=0;if(null==e)for(;++o1)return c/(a-1)},_=function(t,e){var n=p(t,e);return n?Math.sqrt(n):n},M=function(t,e){var n,i,r,a=t.length,o=-1;if(null==e){for(;++o=n)for(i=r=n;++on&&(i=n),r=n)for(i=r=n;++on&&(i=n),r0)return[t];if((i=e0)for(t=Math.ceil(t/o),e=Math.floor(e/o),a=new Array(r=Math.ceil(e-t+1));++s=0?(a>=v?10:a>=x?5:a>=z?2:1)*Math.pow(10,r):-Math.pow(10,-r)/(a>=v?10:a>=x?5:a>=z?2:1)}function S(t,e,n){var i=Math.abs(e-t)/Math.max(0,n),r=Math.pow(10,Math.floor(Math.log(i)/Math.LN10)),a=i/r;return a>=v?r*=10:a>=x?r*=5:a>=z&&(r*=2),el;)f.pop(),--h;var p,_=new Array(h+1);for(r=0;r<=h;++r)(p=_[r]=[]).x0=r>0?f[r-1]:d,p.x1=r=1)return+n(t[i-1],i-1,t);var i,r=(i-1)*e,a=Math.floor(r),o=+n(t[a],a,t);return o+(+n(t[a+1],a+1,t)-o)*(r-a)}},D=function(t,e,n){return t=b.call(t,h).sort(i),Math.ceil((n-e)/(2*(k(t,.75)-k(t,.25))*Math.pow(t.length,-1/3)))},N=function(t,e,n){return Math.ceil((n-e)/(3.5*_(t)*Math.pow(t.length,-1/3)))},q=function(t,e){var n,i,r=t.length,a=-1;if(null==e){for(;++a=n)for(i=n;++ai&&(i=n)}else for(;++a=n)for(i=n;++ai&&(i=n);return i},W=function(t,e){var n,i=t.length,r=i,a=-1,o=0;if(null==e)for(;++a=0;)for(e=(i=t[r]).length;--e>=0;)n[--o]=i[e];return n},X=function(t,e){var n,i,r=t.length,a=-1;if(null==e){for(;++a=n)for(i=n;++an&&(i=n)}else for(;++a=n)for(i=n;++an&&(i=n);return i},C=function(t,e){for(var n=e.length,i=new Array(n);n--;)i[n]=t[e[n]];return i},B=function(t,e){if(n=t.length){var n,r,a=0,o=0,s=t[o];for(null==e&&(e=i);++a=0&&(e=t.slice(n+1),t=t.slice(0,n)),t&&!i.hasOwnProperty(t))throw new Error("unknown type: "+t);return{type:t,name:e}})),o=-1,s=a.length;if(!(arguments.length<2)){if(null!=e&&"function"!=typeof e)throw new Error("invalid callback: "+e);for(;++o0)for(var n,i,r=new Array(n),a=0;a=0&&"xmlns"!==(e=t.slice(0,n))&&(t=t.slice(n+1)),pt.hasOwnProperty(e)?{space:pt[e],local:t}:t};var Mt=function(t){var e=_t(t);return(e.local?function(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}:function(t){return function(){var e=this.ownerDocument,n=this.namespaceURI;return n===ht&&e.documentElement.namespaceURI===ht?e.createElement(t):e.createElementNS(n,t)}})(e)};function mt(){}var gt=function(t){return null==t?mt:function(){return this.querySelector(t)}};function bt(){return[]}var yt=function(t){return null==t?bt:function(){return this.querySelectorAll(t)}},Lt=function(t){return function(){return this.matches(t)}};if("undefined"!=typeof document){var At=document.documentElement;if(!At.matches){var vt=At.webkitMatchesSelector||At.msMatchesSelector||At.mozMatchesSelector||At.oMatchesSelector;Lt=function(t){return function(){return vt.call(this,t)}}}}var xt=Lt,zt=function(t){return new Array(t.length)};function wt(t,e){this.ownerDocument=t.ownerDocument,this.namespaceURI=t.namespaceURI,this._next=null,this._parent=t,this.__data__=e}wt.prototype={constructor:wt,appendChild:function(t){return this._parent.insertBefore(t,this._next)},insertBefore:function(t,e){return this._parent.insertBefore(t,e)},querySelector:function(t){return this._parent.querySelector(t)},querySelectorAll:function(t){return this._parent.querySelectorAll(t)}};var Tt="$";function St(t,e,n,i,r,a){for(var o,s=0,c=e.length,u=a.length;se?1:t>=e?0:NaN}var kt=function(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView};function Dt(t,e){return t.style.getPropertyValue(e)||kt(t).getComputedStyle(t,null).getPropertyValue(e)}function Nt(t){return t.trim().split(/^|\s+/)}function qt(t){return t.classList||new Wt(t)}function Wt(t){this._node=t,this._names=Nt(t.getAttribute("class")||"")}function Pt(t,e){for(var n=qt(t),i=-1,r=e.length;++i=0&&(this._names.splice(e,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};function Xt(){this.textContent=""}function Ct(){this.innerHTML=""}function Bt(){this.nextSibling&&this.parentNode.appendChild(this)}function Ht(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function Rt(){return null}function jt(){var t=this.parentNode;t&&t.removeChild(this)}function It(){return this.parentNode.insertBefore(this.cloneNode(!1),this.nextSibling)}function Ft(){return this.parentNode.insertBefore(this.cloneNode(!0),this.nextSibling)}var Gt={},Vt=null;"undefined"!=typeof document&&("onmouseenter"in document.documentElement||(Gt={mouseenter:"mouseover",mouseleave:"mouseout"}));function Ut(t,e,n){return t=Jt(t,e,n),function(e){var n=e.relatedTarget;n&&(n===this||8&n.compareDocumentPosition(this))||t.call(this,e)}}function Jt(t,e,n){return function(i){var r=Vt;Vt=i;try{t.call(this,this.__data__,e,n)}finally{Vt=r}}}function Kt(t){return function(){var e=this.__on;if(e){for(var n,i=0,r=-1,a=e.length;i=L&&(L=y+1);!(b=m[L])&&++L<_;);g._next=b||null}}return(s=new ee(s,r))._enter=c,s._exit=u,s},enter:function(){return new ee(this._enter||this._groups.map(zt),this._parents)},exit:function(){return new ee(this._exit||this._groups.map(zt),this._parents)},merge:function(t){for(var e=this._groups,n=t._groups,i=e.length,r=n.length,a=Math.min(i,r),o=new Array(i),s=0;s=0;)(i=r[a])&&(o&&o!==i.nextSibling&&o.parentNode.insertBefore(i,o),o=i);return this},sort:function(t){function e(e,n){return e&&n?t(e.__data__,n.__data__):!e-!n}t||(t=Yt);for(var n=this._groups,i=n.length,r=new Array(i),a=0;a1?this.each((null==e?function(t){return function(){this.style.removeProperty(t)}}:"function"==typeof e?function(t,e,n){return function(){var i=e.apply(this,arguments);null==i?this.style.removeProperty(t):this.style.setProperty(t,i,n)}}:function(t,e,n){return function(){this.style.setProperty(t,e,n)}})(t,e,null==n?"":n)):Dt(this.node(),t)},property:function(t,e){return arguments.length>1?this.each((null==e?function(t){return function(){delete this[t]}}:"function"==typeof e?function(t,e){return function(){var n=e.apply(this,arguments);null==n?delete this[t]:this[t]=n}}:function(t,e){return function(){this[t]=e}})(t,e)):this.node()[t]},classed:function(t,e){var n=Nt(t+"");if(arguments.length<2){for(var i=qt(this.node()),r=-1,a=n.length;++r=0&&(e=t.slice(n+1),t=t.slice(0,n)),{type:t,name:e}})}(t+""),o=a.length;if(!(arguments.length<2)){for(s=e?Qt:Kt,null==n&&(n=!1),i=0;il}c.mouse("drag")}function _(){re(Vt.view).on("mousemove.drag mouseup.drag",null),ge(Vt.view,n),Me(),c.mouse("end")}function M(){if(r.apply(this,arguments)){var t,e,n=Vt.changedTouches,i=a.apply(this,arguments),o=n.length;for(t=0;t>8&15|e>>4&240,e>>4&15|240&e,(15&e)<<4|15&e,1):(e=Ne.exec(t))?Re(parseInt(e[1],16)):(e=qe.exec(t))?new Ge(e[1],e[2],e[3],1):(e=We.exec(t))?new Ge(255*e[1]/100,255*e[2]/100,255*e[3]/100,1):(e=Pe.exec(t))?je(e[1],e[2],e[3],e[4]):(e=Ee.exec(t))?je(255*e[1]/100,255*e[2]/100,255*e[3]/100,e[4]):(e=Xe.exec(t))?Ue(e[1],e[2]/100,e[3]/100,1):(e=Ce.exec(t))?Ue(e[1],e[2]/100,e[3]/100,e[4]):Be.hasOwnProperty(t)?Re(Be[t]):"transparent"===t?new Ge(NaN,NaN,NaN,0):null}function Re(t){return new Ge(t>>16&255,t>>8&255,255&t,1)}function je(t,e,n,i){return i<=0&&(t=e=n=NaN),new Ge(t,e,n,i)}function Ie(t){return t instanceof Se||(t=He(t)),t?new Ge((t=t.rgb()).r,t.g,t.b,t.opacity):new Ge}function Fe(t,e,n,i){return 1===arguments.length?Ie(t):new Ge(t,e,n,null==i?1:i)}function Ge(t,e,n,i){this.r=+t,this.g=+e,this.b=+n,this.opacity=+i}function Ve(t){return((t=Math.max(0,Math.min(255,Math.round(t)||0)))<16?"0":"")+t.toString(16)}function Ue(t,e,n,i){return i<=0?t=e=n=NaN:n<=0||n>=1?t=e=NaN:e<=0&&(t=NaN),new Ke(t,e,n,i)}function Je(t,e,n,i){return 1===arguments.length?function(t){if(t instanceof Ke)return new Ke(t.h,t.s,t.l,t.opacity);if(t instanceof Se||(t=He(t)),!t)return new Ke;if(t instanceof Ke)return t;var e=(t=t.rgb()).r/255,n=t.g/255,i=t.b/255,r=Math.min(e,n,i),a=Math.max(e,n,i),o=NaN,s=a-r,c=(a+r)/2;return s?(o=e===a?(n-i)/s+6*(n0&&c<1?0:o,new Ke(o,s,c,t.opacity)}(t):new Ke(t,e,n,null==i?1:i)}function Ke(t,e,n,i){this.h=+t,this.s=+e,this.l=+n,this.opacity=+i}function Qe(t,e,n){return 255*(t<60?e+(n-e)*t/60:t<180?n:t<240?e+(n-e)*(240-t)/60:e)}we(Se,He,{displayable:function(){return this.rgb().displayable()},hex:function(){return this.rgb().hex()},toString:function(){return this.rgb()+""}}),we(Ge,Fe,Te(Se,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new Ge(this.r*t,this.g*t,this.b*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new Ge(this.r*t,this.g*t,this.b*t,this.opacity)},rgb:function(){return this},displayable:function(){return 0<=this.r&&this.r<=255&&0<=this.g&&this.g<=255&&0<=this.b&&this.b<=255&&0<=this.opacity&&this.opacity<=1},hex:function(){return"#"+Ve(this.r)+Ve(this.g)+Ve(this.b)},toString:function(){var t=this.opacity;return(1===(t=isNaN(t)?1:Math.max(0,Math.min(1,t)))?"rgb(":"rgba(")+Math.max(0,Math.min(255,Math.round(this.r)||0))+", "+Math.max(0,Math.min(255,Math.round(this.g)||0))+", "+Math.max(0,Math.min(255,Math.round(this.b)||0))+(1===t?")":", "+t+")")}})),we(Ke,Je,Te(Se,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new Ke(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new Ke(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=this.h%360+360*(this.h<0),e=isNaN(t)||isNaN(this.s)?0:this.s,n=this.l,i=n+(n<.5?n:1-n)*e,r=2*n-i;return new Ge(Qe(t>=240?t-240:t+120,r,i),Qe(t,r,i),Qe(t<120?t+240:t-120,r,i),this.opacity)},displayable:function(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1}}));var Ze=Math.PI/180,$e=180/Math.PI,tn=.96422,en=1,nn=.82521,rn=4/29,an=6/29,on=3*an*an,sn=an*an*an;function cn(t){if(t instanceof ln)return new ln(t.l,t.a,t.b,t.opacity);if(t instanceof bn){if(isNaN(t.h))return new ln(t.l,0,0,t.opacity);var e=t.h*Ze;return new ln(t.l,Math.cos(e)*t.c,Math.sin(e)*t.c,t.opacity)}t instanceof Ge||(t=Ie(t));var n,i,r=_n(t.r),a=_n(t.g),o=_n(t.b),s=fn((.2225045*r+.7168786*a+.0606169*o)/en);return r===a&&a===o?n=i=s:(n=fn((.4360747*r+.3850649*a+.1430804*o)/tn),i=fn((.0139322*r+.0971045*a+.7141733*o)/nn)),new ln(116*s-16,500*(n-s),200*(s-i),t.opacity)}function un(t,e){return new ln(t,0,0,null==e?1:e)}function dn(t,e,n,i){return 1===arguments.length?cn(t):new ln(t,e,n,null==i?1:i)}function ln(t,e,n,i){this.l=+t,this.a=+e,this.b=+n,this.opacity=+i}function fn(t){return t>sn?Math.pow(t,1/3):t/on+rn}function hn(t){return t>an?t*t*t:on*(t-rn)}function pn(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function _n(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function Mn(t){if(t instanceof bn)return new bn(t.h,t.c,t.l,t.opacity);if(t instanceof ln||(t=cn(t)),0===t.a&&0===t.b)return new bn(NaN,0,t.l,t.opacity);var e=Math.atan2(t.b,t.a)*$e;return new bn(e<0?e+360:e,Math.sqrt(t.a*t.a+t.b*t.b),t.l,t.opacity)}function mn(t,e,n,i){return 1===arguments.length?Mn(t):new bn(n,e,t,null==i?1:i)}function gn(t,e,n,i){return 1===arguments.length?Mn(t):new bn(t,e,n,null==i?1:i)}function bn(t,e,n,i){this.h=+t,this.c=+e,this.l=+n,this.opacity=+i}we(ln,dn,Te(Se,{brighter:function(t){return new ln(this.l+18*(null==t?1:t),this.a,this.b,this.opacity)},darker:function(t){return new ln(this.l-18*(null==t?1:t),this.a,this.b,this.opacity)},rgb:function(){var t=(this.l+16)/116,e=isNaN(this.a)?t:t+this.a/500,n=isNaN(this.b)?t:t-this.b/200;return new Ge(pn(3.1338561*(e=tn*hn(e))-1.6168667*(t=en*hn(t))-.4906146*(n=nn*hn(n))),pn(-.9787684*e+1.9161415*t+.033454*n),pn(.0719453*e-.2289914*t+1.4052427*n),this.opacity)}})),we(bn,gn,Te(Se,{brighter:function(t){return new bn(this.h,this.c,this.l+18*(null==t?1:t),this.opacity)},darker:function(t){return new bn(this.h,this.c,this.l-18*(null==t?1:t),this.opacity)},rgb:function(){return cn(this).rgb()}}));var yn=-.29227,Ln=-.90649,An=1.97294,vn=An*Ln,xn=1.78277*An,zn=1.78277*yn- -.14861*Ln;function wn(t,e,n,i){return 1===arguments.length?function(t){if(t instanceof Tn)return new Tn(t.h,t.s,t.l,t.opacity);t instanceof Ge||(t=Ie(t));var e=t.r/255,n=t.g/255,i=t.b/255,r=(zn*i+vn*e-xn*n)/(zn+vn-xn),a=i-r,o=(An*(n-r)-yn*a)/Ln,s=Math.sqrt(o*o+a*a)/(An*r*(1-r)),c=s?Math.atan2(o,a)*$e-120:NaN;return new Tn(c<0?c+360:c,s,r,t.opacity)}(t):new Tn(t,e,n,null==i?1:i)}function Tn(t,e,n,i){this.h=+t,this.s=+e,this.l=+n,this.opacity=+i}function Sn(t,e,n,i,r){var a=t*t,o=a*t;return((1-3*t+3*a-o)*e+(4-6*a+3*o)*n+(1+3*t+3*a-3*o)*i+o*r)/6}we(Tn,wn,Te(Se,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new Tn(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new Tn(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=isNaN(this.h)?0:(this.h+120)*Ze,e=+this.l,n=isNaN(this.s)?0:this.s*e*(1-e),i=Math.cos(t),r=Math.sin(t);return new Ge(255*(e+n*(-.14861*i+1.78277*r)),255*(e+n*(yn*i+Ln*r)),255*(e+n*(An*i)),this.opacity)}}));var On=function(t){var e=t.length-1;return function(n){var i=n<=0?n=0:n>=1?(n=1,e-1):Math.floor(n*e),r=t[i],a=t[i+1],o=i>0?t[i-1]:2*r-a,s=i180||n<-180?n-360*Math.round(n/360):n):kn(isNaN(t)?e:t)}function qn(t){return 1==(t=+t)?Wn:function(e,n){return n-e?function(t,e,n){return t=Math.pow(t,n),e=Math.pow(e,n)-t,n=1/n,function(i){return Math.pow(t+i*e,n)}}(e,n,t):kn(isNaN(e)?n:e)}}function Wn(t,e){var n=e-t;return n?Dn(t,n):kn(isNaN(t)?e:t)}var Pn=function t(e){var n=qn(e);function i(t,e){var i=n((t=Fe(t)).r,(e=Fe(e)).r),r=n(t.g,e.g),a=n(t.b,e.b),o=Wn(t.opacity,e.opacity);return function(e){return t.r=i(e),t.g=r(e),t.b=a(e),t.opacity=o(e),t+""}}return i.gamma=t,i}(1);function En(t){return function(e){var n,i,r=e.length,a=new Array(r),o=new Array(r),s=new Array(r);for(n=0;na&&(r=e.slice(a,r),s[o]?s[o]+=r:s[++o]=r),(n=n[0])===(i=i[0])?s[o]?s[o]+=i:s[++o]=i:(s[++o]=null,c.push({i:o,x:Rn(n,i)})),a=Fn.lastIndex;return a180?e+=360:e-t>180&&(t+=360),a.push({i:n.push(r(n)+"rotate(",null,i)-2,x:Rn(t,e)})):e&&n.push(r(n)+"rotate("+e+i)}(a.rotate,o.rotate,s,c),function(t,e,n,a){t!==e?a.push({i:n.push(r(n)+"skewX(",null,i)-2,x:Rn(t,e)}):e&&n.push(r(n)+"skewX("+e+i)}(a.skewX,o.skewX,s,c),function(t,e,n,i,a,o){if(t!==n||e!==i){var s=a.push(r(a)+"scale(",null,",",null,")");o.push({i:s-4,x:Rn(t,n)},{i:s-2,x:Rn(e,i)})}else 1===n&&1===i||a.push(r(a)+"scale("+n+","+i+")")}(a.scaleX,a.scaleY,o.scaleX,o.scaleY,s,c),a=o=null,function(t){for(var e,n=-1,i=c.length;++n=0&&e._call.call(null,t),e=e._next;--Ai}function Pi(){Ti=(wi=Oi.now())+Si,Ai=vi=0;try{Wi()}finally{Ai=0,function(){var t,e,n=bi,i=1/0;for(;n;)n._call?(i>n._time&&(i=n._time),t=n,n=n._next):(e=n._next,n._next=null,n=t?t._next=e:bi=e);yi=t,Xi(i)}(),Ti=0}}function Ei(){var t=Oi.now(),e=t-wi;e>zi&&(Si-=e,wi=t)}function Xi(t){Ai||(vi&&(vi=clearTimeout(vi)),t-Ti>24?(t<1/0&&(vi=setTimeout(Pi,t-Oi.now()-Si)),xi&&(xi=clearInterval(xi))):(xi||(wi=Oi.now(),xi=setInterval(Ei,zi)),Ai=1,Yi(Pi)))}Ni.prototype=qi.prototype={constructor:Ni,restart:function(t,e,n){if("function"!=typeof t)throw new TypeError("callback is not a function");n=(null==n?ki():+n)+(null==e?0:+e),this._next||yi===this||(yi?yi._next=this:bi=this,yi=this),this._call=t,this._time=n,Xi()},stop:function(){this._call&&(this._call=null,this._time=1/0,Xi())}};var Ci=function(t,e,n){var i=new Ni;return e=null==e?0:+e,i.restart(function(n){i.stop(),t(n+e)},e,n),i},Bi=function(t,e,n){var i=new Ni,r=e;return null==e?(i.restart(t,e,n),i):(e=+e,n=null==n?ki():+n,i.restart(function a(o){o+=r,i.restart(a,r+=e,n),t(o)},e,n),i)},Hi=ft("start","end","interrupt"),Ri=[],ji=0,Ii=1,Fi=2,Gi=3,Vi=4,Ui=5,Ji=6,Ki=function(t,e,n,i,r,a){var o=t.__transition;if(o){if(n in o)return}else t.__transition={};!function(t,e,n){var i,r=t.__transition;function a(c){var u,d,l,f;if(n.state!==Ii)return s();for(u in r)if((f=r[u]).name===n.name){if(f.state===Gi)return Ci(a);f.state===Vi?(f.state=Ji,f.timer.stop(),f.on.call("interrupt",t,t.__data__,f.index,f.group),delete r[u]):+uji)throw new Error("too late; already scheduled");return n}function Zi(t,e){var n=$i(t,e);if(n.state>Fi)throw new Error("too late; already started");return n}function $i(t,e){var n=t.__transition;if(!n||!(n=n[e]))throw new Error("transition not found");return n}var tr=function(t,e){var n,i,r,a=t.__transition,o=!0;if(a){for(r in e=null==e?null:e+"",a)(n=a[r]).name===e?(i=n.state>Fi&&n.state=0&&(t=t.slice(0,e)),!t||"start"===t})}(e)?Qi:Zi;return function(){var o=a(this,t),s=o.on;s!==i&&(r=(i=s).copy()).on(e,n),o.on=r}}(n,t,e))},attr:function(t,e){var n=_t(t),i="transform"===n?ri:nr;return this.attrTween(t,"function"==typeof e?(n.local?function(t,e,n){var i,r,a;return function(){var o,s=n(this);if(null!=s)return(o=this.getAttributeNS(t.space,t.local))===s?null:o===i&&s===r?a:a=e(i=o,r=s);this.removeAttributeNS(t.space,t.local)}}:function(t,e,n){var i,r,a;return function(){var o,s=n(this);if(null!=s)return(o=this.getAttribute(t))===s?null:o===i&&s===r?a:a=e(i=o,r=s);this.removeAttribute(t)}})(n,i,er(this,"attr."+t,e)):null==e?(n.local?function(t){return function(){this.removeAttributeNS(t.space,t.local)}}:function(t){return function(){this.removeAttribute(t)}})(n):(n.local?function(t,e,n){var i,r;return function(){var a=this.getAttributeNS(t.space,t.local);return a===n?null:a===i?r:r=e(i=a,n)}}:function(t,e,n){var i,r;return function(){var a=this.getAttribute(t);return a===n?null:a===i?r:r=e(i=a,n)}})(n,i,e+""))},attrTween:function(t,e){var n="attr."+t;if(arguments.length<2)return(n=this.tween(n))&&n._value;if(null==e)return this.tween(n,null);if("function"!=typeof e)throw new Error;var i=_t(t);return this.tween(n,(i.local?function(t,e){function n(){var n=this,i=e.apply(n,arguments);return i&&function(e){n.setAttributeNS(t.space,t.local,i(e))}}return n._value=e,n}:function(t,e){function n(){var n=this,i=e.apply(n,arguments);return i&&function(e){n.setAttribute(t,i(e))}}return n._value=e,n})(i,e))},style:function(t,e,n){var i="transform"==(t+="")?ii:nr;return null==e?this.styleTween(t,function(t,e){var n,i,r;return function(){var a=Dt(this,t),o=(this.style.removeProperty(t),Dt(this,t));return a===o?null:a===n&&o===i?r:r=e(n=a,i=o)}}(t,i)).on("end.style."+t,function(t){return function(){this.style.removeProperty(t)}}(t)):this.styleTween(t,"function"==typeof e?function(t,e,n){var i,r,a;return function(){var o=Dt(this,t),s=n(this);return null==s&&(this.style.removeProperty(t),s=Dt(this,t)),o===s?null:o===i&&s===r?a:a=e(i=o,r=s)}}(t,i,er(this,"style."+t,e)):function(t,e,n){var i,r;return function(){var a=Dt(this,t);return a===n?null:a===i?r:r=e(i=a,n)}}(t,i,e+""),n)},styleTween:function(t,e,n){var i="style."+(t+="");if(arguments.length<2)return(i=this.tween(i))&&i._value;if(null==e)return this.tween(i,null);if("function"!=typeof e)throw new Error;return this.tween(i,function(t,e,n){function i(){var i=this,r=e.apply(i,arguments);return r&&function(e){i.style.setProperty(t,r(e),n)}}return i._value=e,i}(t,e,null==n?"":n))},text:function(t){return this.tween("text","function"==typeof t?function(t){return function(){var e=t(this);this.textContent=null==e?"":e}}(er(this,"text",t)):function(t){return function(){this.textContent=t}}(null==t?"":t+""))},remove:function(){return this.on("end.remove",(t=this._id,function(){var e=this.parentNode;for(var n in this.__transition)if(+n!==t)return;e&&e.removeChild(this)}));var t},tween:function(t,e){var n=this._id;if(t+="",arguments.length<2){for(var i,r=$i(this.node(),n).tween,a=0,o=r.length;aIi&&n.name===e)return new ar([[t]],Zr,e,+i);return null},ta=function(t){return function(){return t}},ea=function(t,e,n){this.target=t,this.type=e,this.selection=n};function na(){Vt.stopImmediatePropagation()}var ia=function(){Vt.preventDefault(),Vt.stopImmediatePropagation()},ra={name:"drag"},aa={name:"space"},oa={name:"handle"},sa={name:"center"},ca={name:"x",handles:["e","w"].map(Ma),input:function(t,e){return t&&[[t[0],e[0][1]],[t[1],e[1][1]]]},output:function(t){return t&&[t[0][0],t[1][0]]}},ua={name:"y",handles:["n","s"].map(Ma),input:function(t,e){return t&&[[e[0][0],t[0]],[e[1][0],t[1]]]},output:function(t){return t&&[t[0][1],t[1][1]]}},da={name:"xy",handles:["n","e","s","w","nw","ne","se","sw"].map(Ma),input:function(t){return t},output:function(t){return t}},la={overlay:"crosshair",selection:"move",n:"ns-resize",e:"ew-resize",s:"ns-resize",w:"ew-resize",nw:"nwse-resize",ne:"nesw-resize",se:"nwse-resize",sw:"nesw-resize"},fa={e:"w",w:"e",nw:"ne",ne:"nw",se:"sw",sw:"se"},ha={n:"s",s:"n",nw:"sw",ne:"se",se:"ne",sw:"nw"},pa={overlay:1,selection:1,n:null,e:1,s:null,w:-1,nw:-1,ne:1,se:1,sw:-1},_a={overlay:1,selection:1,n:-1,e:null,s:1,w:null,nw:-1,ne:-1,se:1,sw:1};function Ma(t){return{type:t}}function ma(){return!Vt.button}function ga(){var t=this.ownerSVGElement||this;return[[0,0],[t.width.baseVal.value,t.height.baseVal.value]]}function ba(t){for(;!t.__brush;)if(!(t=t.parentNode))return;return t.__brush}function ya(t){return t[0][0]===t[1][0]||t[0][1]===t[1][1]}function La(t){var e=t.__brush;return e?e.dim.output(e.selection):null}function Aa(){return za(ca)}function va(){return za(ua)}var xa=function(){return za(da)};function za(t){var e,n=ga,i=ma,r=ft(o,"start","brush","end"),a=6;function o(e){var n=e.property("__brush",l).selectAll(".overlay").data([Ma("overlay")]);n.enter().append("rect").attr("class","overlay").attr("pointer-events","all").attr("cursor",la.overlay).merge(n).each(function(){var t=ba(this).extent;re(this).attr("x",t[0][0]).attr("y",t[0][1]).attr("width",t[1][0]-t[0][0]).attr("height",t[1][1]-t[0][1])}),e.selectAll(".selection").data([Ma("selection")]).enter().append("rect").attr("class","selection").attr("cursor",la.selection).attr("fill","#777").attr("fill-opacity",.3).attr("stroke","#fff").attr("shape-rendering","crispEdges");var i=e.selectAll(".handle").data(t.handles,function(t){return t.type});i.exit().remove(),i.enter().append("rect").attr("class",function(t){return"handle handle--"+t.type}).attr("cursor",function(t){return la[t.type]}),e.each(s).attr("fill","none").attr("pointer-events","all").style("-webkit-tap-highlight-color","rgba(0,0,0,0)").on("mousedown.brush touchstart.brush",d)}function s(){var t=re(this),e=ba(this).selection;e?(t.selectAll(".selection").style("display",null).attr("x",e[0][0]).attr("y",e[0][1]).attr("width",e[1][0]-e[0][0]).attr("height",e[1][1]-e[0][1]),t.selectAll(".handle").style("display",null).attr("x",function(t){return"e"===t.type[t.type.length-1]?e[1][0]-a/2:e[0][0]-a/2}).attr("y",function(t){return"s"===t.type[0]?e[1][1]-a/2:e[0][1]-a/2}).attr("width",function(t){return"n"===t.type||"s"===t.type?e[1][0]-e[0][0]+a:a}).attr("height",function(t){return"e"===t.type||"w"===t.type?e[1][1]-e[0][1]+a:a})):t.selectAll(".selection,.handle").style("display","none").attr("x",null).attr("y",null).attr("width",null).attr("height",null)}function c(t,e){return t.__brush.emitter||new u(t,e)}function u(t,e){this.that=t,this.args=e,this.state=t.__brush,this.active=0}function d(){if(Vt.touches){if(Vt.changedTouches.length0&&(n=r-h),A<0?l=f-p:A>0&&(a=o-p),y=aa,W.attr("cursor",la.selection),X());break;default:return}ia()},!0).on("keyup.brush",function(){switch(Vt.keyCode){case 16:Y&&(M=m=Y=!1,X());break;case 18:y===sa&&(L<0?u=d:L>0&&(n=r),A<0?l=f:A>0&&(a=o),y=oa,X());break;case 32:y===aa&&(Vt.altKey?(L&&(u=d-h*L,n=r+h*L),A&&(l=f-p*A,a=o+p*A),y=sa):(L<0?u=d:L>0&&(n=r),A<0?l=f:A>0&&(a=o),y=oa),W.attr("cursor",la[b]),X());break;default:return}ia()},!0).on("mousemove.brush",E,!0).on("mouseup.brush",C,!0);me(Vt.view)}na(),tr(g),s.call(g),N.start()}function E(){var t=le(g);!Y||M||m||(Math.abs(t[0]-D[0])>Math.abs(t[1]-D[1])?m=!0:M=!0),D=t,_=!0,ia(),X()}function X(){var t;switch(h=D[0]-k[0],p=D[1]-k[1],y){case aa:case ra:L&&(h=Math.max(w-n,Math.min(S-u,h)),r=n+h,d=u+h),A&&(p=Math.max(T-a,Math.min(O-l,p)),o=a+p,f=l+p);break;case oa:L<0?(h=Math.max(w-n,Math.min(S-n,h)),r=n+h,d=u):L>0&&(h=Math.max(w-u,Math.min(S-u,h)),r=n,d=u+h),A<0?(p=Math.max(T-a,Math.min(O-a,p)),o=a+p,f=l):A>0&&(p=Math.max(T-l,Math.min(O-l,p)),o=a,f=l+p);break;case sa:L&&(r=Math.max(w,Math.min(S,n-h*L)),d=Math.max(w,Math.min(S,u+h*L))),A&&(o=Math.max(T,Math.min(O,a-p*A)),f=Math.max(T,Math.min(O,l+p*A)))}d1e-6)if(Math.abs(d*s-c*u)>1e-6&&r){var f=n-a,h=i-o,p=s*s+c*c,_=f*f+h*h,M=Math.sqrt(p),m=Math.sqrt(l),g=r*Math.tan((Wa-Math.acos((p+l-_)/(2*M*m)))/2),b=g/m,y=g/M;Math.abs(b-1)>1e-6&&(this._+="L"+(t+b*u)+","+(e+b*d)),this._+="A"+r+","+r+",0,0,"+ +(d*f>u*h)+","+(this._x1=t+y*s)+","+(this._y1=e+y*c)}else this._+="L"+(this._x1=t)+","+(this._y1=e);else;},arc:function(t,e,n,i,r,a){t=+t,e=+e;var o=(n=+n)*Math.cos(i),s=n*Math.sin(i),c=t+o,u=e+s,d=1^a,l=a?i-r:r-i;if(n<0)throw new Error("negative radius: "+n);null===this._x1?this._+="M"+c+","+u:(Math.abs(this._x1-c)>1e-6||Math.abs(this._y1-u)>1e-6)&&(this._+="L"+c+","+u),n&&(l<0&&(l=l%Pa+Pa),l>Ea?this._+="A"+n+","+n+",0,1,"+d+","+(t-o)+","+(e-s)+"A"+n+","+n+",0,1,"+d+","+(this._x1=c)+","+(this._y1=u):l>1e-6&&(this._+="A"+n+","+n+",0,"+ +(l>=Wa)+","+d+","+(this._x1=t+n*Math.cos(r))+","+(this._y1=e+n*Math.sin(r))))},rect:function(t,e,n,i){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)+"h"+ +n+"v"+ +i+"h"+-n+"Z"},toString:function(){return this._}};var Ba=Ca;function Ha(t){return t.source}function Ra(t){return t.target}function ja(t){return t.radius}function Ia(t){return t.startAngle}function Fa(t){return t.endAngle}var Ga=function(){var t=Ha,e=Ra,n=ja,i=Ia,r=Fa,a=null;function o(){var o,s=Na.call(arguments),c=t.apply(this,s),u=e.apply(this,s),d=+n.apply(this,(s[0]=c,s)),l=i.apply(this,s)-Oa,f=r.apply(this,s)-Oa,h=d*wa(l),p=d*Ta(l),_=+n.apply(this,(s[0]=u,s)),M=i.apply(this,s)-Oa,m=r.apply(this,s)-Oa;if(a||(a=o=Ba()),a.moveTo(h,p),a.arc(0,0,d,l,f),l===M&&f===m||(a.quadraticCurveTo(0,0,_*wa(M),_*Ta(M)),a.arc(0,0,_,M,m)),a.quadraticCurveTo(0,0,h,p),a.closePath(),o)return a=null,o+""||null}return o.radius=function(t){return arguments.length?(n="function"==typeof t?t:qa(+t),o):n},o.startAngle=function(t){return arguments.length?(i="function"==typeof t?t:qa(+t),o):i},o.endAngle=function(t){return arguments.length?(r="function"==typeof t?t:qa(+t),o):r},o.source=function(e){return arguments.length?(t=e,o):t},o.target=function(t){return arguments.length?(e=t,o):e},o.context=function(t){return arguments.length?(a=null==t?null:t,o):a},o};function Va(){}function Ua(t,e){var n=new Va;if(t instanceof Va)t.each(function(t,e){n.set(e,t)});else if(Array.isArray(t)){var i,r=-1,a=t.length;if(null==e)for(;++r=i.length)return null!=t&&n.sort(t),null!=e?e(n):n;for(var c,u,d,l=-1,f=n.length,h=i[r++],p=Ja(),_=o();++li.length)return n;var o,s=r[a-1];return null!=e&&a>=i.length?o=n.entries():(o=[],n.each(function(e,n){o.push({key:n,values:t(e,a)})})),null!=s?o.sort(function(t,e){return s(t.key,e.key)}):o}(a(t,0,$a,to),0)},key:function(t){return i.push(t),n},sortKeys:function(t){return r[i.length-1]=t,n},sortValues:function(e){return t=e,n},rollup:function(t){return e=t,n}}};function Qa(){return{}}function Za(t,e,n){t[e]=n}function $a(){return Ja()}function to(t,e,n){t.set(e,n)}function eo(){}var no=Ja.prototype;function io(t,e){var n=new eo;if(t instanceof eo)t.each(function(t){n.add(t)});else if(t){var i=-1,r=t.length;if(null==e)for(;++ii!=h>i&&n<(f-u)*(i-d)/(h-d)+u&&(r=-r)}return r}function _o(t,e,n){var i,r,a,o;return function(t,e,n){return(e[0]-t[0])*(n[1]-t[1])==(n[0]-t[0])*(e[1]-t[1])}(t,e,n)&&(r=t[i=+(t[0]===e[0])],a=n[i],o=e[i],r<=a&&a<=o||o<=a&&a<=r)}var Mo=function(){},mo=[[],[[[1,1.5],[.5,1]]],[[[1.5,1],[1,1.5]]],[[[1.5,1],[.5,1]]],[[[1,.5],[1.5,1]]],[[[1,1.5],[.5,1]],[[1,.5],[1.5,1]]],[[[1,.5],[1,1.5]]],[[[1,.5],[.5,1]]],[[[.5,1],[1,.5]]],[[[1,1.5],[1,.5]]],[[[.5,1],[1,.5]],[[1.5,1],[1,1.5]]],[[[1.5,1],[1,.5]]],[[[.5,1],[1.5,1]]],[[[1,1.5],[1.5,1]]],[[[.5,1],[1,1.5]]],[]],go=function(){var t=1,e=1,n=O,i=s;function r(t){var e=n(t);if(Array.isArray(e))e=e.slice().sort(uo);else{var i=M(t),r=i[0],o=i[1];e=S(r,o,e),e=A(Math.floor(r/e)*e,Math.floor(o/e)*e,e)}return e.map(function(e){return a(t,e)})}function a(n,r){var a=[],s=[];return function(n,i,r){var a,s,c,u,d,l,f=new Array,h=new Array;a=s=-1,u=n[0]>=i,mo[u<<1].forEach(p);for(;++a=i,mo[c|u<<1].forEach(p);mo[u<<0].forEach(p);for(;++s=i,d=n[s*t]>=i,mo[u<<1|d<<2].forEach(p);++a=i,l=d,d=n[s*t+a+1]>=i,mo[c|u<<1|d<<2|l<<3].forEach(p);mo[u|d<<3].forEach(p)}a=-1,d=n[s*t]>=i,mo[d<<2].forEach(p);for(;++a=i,mo[d<<2|l<<3].forEach(p);function p(t){var e,n,i=[t[0][0]+a,t[0][1]+s],c=[t[1][0]+a,t[1][1]+s],u=o(i),d=o(c);(e=h[u])?(n=f[d])?(delete h[e.end],delete f[n.start],e===n?(e.ring.push(c),r(e.ring)):f[e.start]=h[n.end]={start:e.start,end:n.end,ring:e.ring.concat(n.ring)}):(delete h[e.end],e.ring.push(c),h[e.end=d]=e):(e=f[d])?(n=h[u])?(delete f[e.start],delete h[n.end],e===n?(e.ring.push(c),r(e.ring)):f[n.start]=h[e.end]={start:n.start,end:e.end,ring:n.ring.concat(e.ring)}):(delete f[e.start],e.ring.unshift(i),f[e.start=u]=e):f[u]=h[d]={start:u,end:d,ring:[i,c]}}mo[d<<3].forEach(p)}(n,r,function(t){i(t,n,r),lo(t)>0?a.push([t]):s.push(t)}),s.forEach(function(t){for(var e,n=0,i=a.length;n0&&o0&&s0&&a>0))throw new Error("invalid size");return t=i,e=a,r},r.thresholds=function(t){return arguments.length?(n="function"==typeof t?t:Array.isArray(t)?fo(co.call(t)):fo(t),r):n},r.smooth=function(t){return arguments.length?(i=t?s:Mo,r):i===s},r};function bo(t,e,n){for(var i=t.width,r=t.height,a=1+(n<<1),o=0;o=n&&(s>=a&&(c-=t.data[s-a+o*i]),e.data[s-n+o*i]=c/Math.min(s+1,i-1+a-s,a))}function yo(t,e,n){for(var i=t.width,r=t.height,a=1+(n<<1),o=0;o=n&&(s>=a&&(c-=t.data[o+(s-a)*i]),e.data[o+(s-n)*i]=c/Math.min(s+1,r-1+a-s,a))}function Lo(t){return t[0]}function Ao(t){return t[1]}var vo=function(){var t=Lo,e=Ao,n=960,i=500,r=20,a=2,o=3*r,s=n+2*o>>a,c=i+2*o>>a,u=fo(20);function d(n){var i=new Float32Array(s*c),d=new Float32Array(s*c);n.forEach(function(n,r,u){var d=t(n,r,u)+o>>a,l=e(n,r,u)+o>>a;d>=0&&d=0&&l>a),yo({width:s,height:c,data:d},{width:s,height:c,data:i},r>>a),bo({width:s,height:c,data:i},{width:s,height:c,data:d},r>>a),yo({width:s,height:c,data:d},{width:s,height:c,data:i},r>>a),bo({width:s,height:c,data:i},{width:s,height:c,data:d},r>>a),yo({width:s,height:c,data:d},{width:s,height:c,data:i},r>>a);var f=u(i);if(!Array.isArray(f)){var h=q(i);f=S(0,h,f),(f=A(0,Math.floor(h/f)*f,f)).shift()}return go().thresholds(f).size([s,c])(i).map(l)}function l(t){return t.value*=Math.pow(2,-2*a),t.coordinates.forEach(f),t}function f(t){t.forEach(h)}function h(t){t.forEach(p)}function p(t){t[0]=t[0]*Math.pow(2,a)-o,t[1]=t[1]*Math.pow(2,a)-o}function _(){return s=n+2*(o=3*r)>>a,c=i+2*o>>a,d}return d.x=function(e){return arguments.length?(t="function"==typeof e?e:fo(+e),d):t},d.y=function(t){return arguments.length?(e="function"==typeof t?t:fo(+t),d):e},d.size=function(t){if(!arguments.length)return[n,i];var e=Math.ceil(t[0]),r=Math.ceil(t[1]);if(!(e>=0||e>=0))throw new Error("invalid size");return n=e,i=r,_()},d.cellSize=function(t){if(!arguments.length)return 1<=1))throw new Error("invalid cell size");return a=Math.floor(Math.log(t)/Math.LN2),_()},d.thresholds=function(t){return arguments.length?(u="function"==typeof t?t:Array.isArray(t)?fo(co.call(t)):fo(t),d):u},d.bandwidth=function(t){if(!arguments.length)return Math.sqrt(r*(r+1));if(!((t=+t)>=0))throw new Error("invalid bandwidth");return r=Math.round((Math.sqrt(4*t*t+1)-1)/2),_()},d},xo={},zo={},wo=34,To=10,So=13;function Oo(t){return new Function("d","return {"+t.map(function(t,e){return JSON.stringify(t)+": d["+e+"]"}).join(",")+"}")}var Yo=function(t){var e=new RegExp('["'+t+"\n\r]"),n=t.charCodeAt(0);function i(t,e){var i,r=[],a=t.length,o=0,s=0,c=a<=0,u=!1;function d(){if(c)return zo;if(u)return u=!1,xo;var e,i,r=o;if(t.charCodeAt(r)===wo){for(;o++=a?c=!0:(i=t.charCodeAt(o++))===To?u=!0:i===So&&(u=!0,t.charCodeAt(o)===To&&++o),t.slice(r+1,e-1).replace(/""/g,'"')}for(;o=(a=(_+m)/2))?_=a:m=a,(d=n>=(o=(M+g)/2))?M=o:g=o,r=h,!(h=h[l=d<<1|u]))return r[l]=p,t;if(s=+t._x.call(null,h.data),c=+t._y.call(null,h.data),e===s&&n===c)return p.next=h,r?r[l]=p:t._root=p,t;do{r=r?r[l]=new Array(4):t._root=new Array(4),(u=e>=(a=(_+m)/2))?_=a:m=a,(d=n>=(o=(M+g)/2))?M=o:g=o}while((l=d<<1|u)==(f=(c>=o)<<1|s>=a));return r[f]=h,r[l]=p,t}var cs=function(t,e,n,i,r){this.node=t,this.x0=e,this.y0=n,this.x1=i,this.y1=r};function us(t){return t[0]}function ds(t){return t[1]}function ls(t,e,n){var i=new fs(null==e?us:e,null==n?ds:n,NaN,NaN,NaN,NaN);return null==t?i:i.addAll(t)}function fs(t,e,n,i,r,a){this._x=t,this._y=e,this._x0=n,this._y0=i,this._x1=r,this._y1=a,this._root=void 0}function hs(t){for(var e={data:t.data},n=e;t=t.next;)n=n.next={data:t.data};return e}var ps=ls.prototype=fs.prototype;function _s(t){return t.x+t.vx}function Ms(t){return t.y+t.vy}ps.copy=function(){var t,e,n=new fs(this._x,this._y,this._x0,this._y0,this._x1,this._y1),i=this._root;if(!i)return n;if(!i.length)return n._root=hs(i),n;for(t=[{source:i,target:n._root=new Array(4)}];i=t.pop();)for(var r=0;r<4;++r)(e=i.source[r])&&(e.length?t.push({source:e,target:i.target[r]=new Array(4)}):i.target[r]=hs(e));return n},ps.add=function(t){var e=+this._x.call(null,t),n=+this._y.call(null,t);return ss(this.cover(e,n),e,n,t)},ps.addAll=function(t){var e,n,i,r,a=t.length,o=new Array(a),s=new Array(a),c=1/0,u=1/0,d=-1/0,l=-1/0;for(n=0;nd&&(d=i),rl&&(l=r));for(dt||t>r||i>e||e>a))return this;var o,s,c=r-n,u=this._root;switch(s=(e<(i+a)/2)<<1|t<(n+r)/2){case 0:do{(o=new Array(4))[s]=u,u=o}while(a=i+(c*=2),t>(r=n+c)||e>a);break;case 1:do{(o=new Array(4))[s]=u,u=o}while(a=i+(c*=2),(n=r-c)>t||e>a);break;case 2:do{(o=new Array(4))[s]=u,u=o}while(i=a-(c*=2),t>(r=n+c)||i>e);break;case 3:do{(o=new Array(4))[s]=u,u=o}while(i=a-(c*=2),(n=r-c)>t||i>e)}this._root&&this._root.length&&(this._root=u)}return this._x0=n,this._y0=i,this._x1=r,this._y1=a,this},ps.data=function(){var t=[];return this.visit(function(e){if(!e.length)do{t.push(e.data)}while(e=e.next)}),t},ps.extent=function(t){return arguments.length?this.cover(+t[0][0],+t[0][1]).cover(+t[1][0],+t[1][1]):isNaN(this._x0)?void 0:[[this._x0,this._y0],[this._x1,this._y1]]},ps.find=function(t,e,n){var i,r,a,o,s,c,u,d=this._x0,l=this._y0,f=this._x1,h=this._y1,p=[],_=this._root;for(_&&p.push(new cs(_,d,l,f,h)),null==n?n=1/0:(d=t-n,l=e-n,f=t+n,h=e+n,n*=n);c=p.pop();)if(!(!(_=c.node)||(r=c.x0)>f||(a=c.y0)>h||(o=c.x1)=m)<<1|t>=M)&&(c=p[p.length-1],p[p.length-1]=p[p.length-1-u],p[p.length-1-u]=c)}else{var g=t-+this._x.call(null,_.data),b=e-+this._y.call(null,_.data),y=g*g+b*b;if(y=(s=(p+M)/2))?p=s:M=s,(d=o>=(c=(_+m)/2))?_=c:m=c,e=h,!(h=h[l=d<<1|u]))return this;if(!h.length)break;(e[l+1&3]||e[l+2&3]||e[l+3&3])&&(n=e,f=l)}for(;h.data!==t;)if(i=h,!(h=h.next))return this;return(r=h.next)&&delete h.next,i?(r?i.next=r:delete i.next,this):e?(r?e[l]=r:delete e[l],(h=e[0]||e[1]||e[2]||e[3])&&h===(e[3]||e[2]||e[1]||e[0])&&!h.length&&(n?n[f]=h:this._root=h),this):(this._root=r,this)},ps.removeAll=function(t){for(var e=0,n=t.length;ec+h||ru+h||as.index){var p=c-o.x-o.vx,_=u-o.y-o.vy,M=p*p+_*_;Mt.r&&(t.r=t[e].r)}function s(){if(e){var i,r,a=e.length;for(n=new Array(a),i=0;i1?(null==n?s.remove(t):s.set(t,h(n)),e):s.get(t)},find:function(e,n,i){var r,a,o,s,c,u=0,d=t.length;for(null==i?i=1/0:i*=i,u=0;u1?(u.on(t,n),e):u.on(t)}}},ws=function(){var t,e,n,i,r=as(-30),a=1,o=1/0,s=.81;function c(i){var r,a=t.length,o=ls(t,Ls,As).visitAfter(d);for(n=i,r=0;r=o)){(t.data!==e||t.next)&&(0===d&&(h+=(d=os())*d),0===l&&(h+=(l=os())*l),h1?i[0]+i.slice(2):i,+t.slice(n+1)]},ks=function(t){return(t=Ys(Math.abs(t)))?t[1]:NaN},Ds=/^(?:(.)?([<>=^]))?([+\-\( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function Ns(t){return new qs(t)}function qs(t){if(!(e=Ds.exec(t)))throw new Error("invalid format: "+t);var e;this.fill=e[1]||" ",this.align=e[2]||">",this.sign=e[3]||"-",this.symbol=e[4]||"",this.zero=!!e[5],this.width=e[6]&&+e[6],this.comma=!!e[7],this.precision=e[8]&&+e[8].slice(1),this.trim=!!e[9],this.type=e[10]||""}Ns.prototype=qs.prototype,qs.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(null==this.width?"":Math.max(1,0|this.width))+(this.comma?",":"")+(null==this.precision?"":"."+Math.max(0,0|this.precision))+(this.trim?"~":"")+this.type};var Ws,Ps,Es,Xs,Cs=function(t){t:for(var e,n=t.length,i=1,r=-1;i0){if(!+t[i])break t;r=0}}return r>0?t.slice(0,r)+t.slice(e+1):t},Bs=function(t,e){var n=Ys(t,e);if(!n)return t+"";var i=n[0],r=n[1];return r<0?"0."+new Array(-r).join("0")+i:i.length>r+1?i.slice(0,r+1)+"."+i.slice(r+1):i+new Array(r-i.length+2).join("0")},Hs={"%":function(t,e){return(100*t).toFixed(e)},b:function(t){return Math.round(t).toString(2)},c:function(t){return t+""},d:function(t){return Math.round(t).toString(10)},e:function(t,e){return t.toExponential(e)},f:function(t,e){return t.toFixed(e)},g:function(t,e){return t.toPrecision(e)},o:function(t){return Math.round(t).toString(8)},p:function(t,e){return Bs(100*t,e)},r:Bs,s:function(t,e){var n=Ys(t,e);if(!n)return t+"";var i=n[0],r=n[1],a=r-(Ws=3*Math.max(-8,Math.min(8,Math.floor(r/3))))+1,o=i.length;return a===o?i:a>o?i+new Array(a-o+1).join("0"):a>0?i.slice(0,a)+"."+i.slice(a):"0."+new Array(1-a).join("0")+Ys(t,Math.max(0,e+a-1))[0]},X:function(t){return Math.round(t).toString(16).toUpperCase()},x:function(t){return Math.round(t).toString(16)}},Rs=function(t){return t},js=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"],Is=function(t){var e,n,i=t.grouping&&t.thousands?(e=t.grouping,n=t.thousands,function(t,i){for(var r=t.length,a=[],o=0,s=e[0],c=0;r>0&&s>0&&(c+s+1>i&&(s=Math.max(1,i-c)),a.push(t.substring(r-=s,r+s)),!((c+=s+1)>i));)s=e[o=(o+1)%e.length];return a.reverse().join(n)}):Rs,r=t.currency,a=t.decimal,o=t.numerals?function(t){return function(e){return e.replace(/[0-9]/g,function(e){return t[+e]})}}(t.numerals):Rs,s=t.percent||"%";function c(t){var e=(t=Ns(t)).fill,n=t.align,c=t.sign,u=t.symbol,d=t.zero,l=t.width,f=t.comma,h=t.precision,p=t.trim,_=t.type;"n"===_?(f=!0,_="g"):Hs[_]||(null==h&&(h=12),p=!0,_="g"),(d||"0"===e&&"="===n)&&(d=!0,e="0",n="=");var M="$"===u?r[0]:"#"===u&&/[boxX]/.test(_)?"0"+_.toLowerCase():"",m="$"===u?r[1]:/[%p]/.test(_)?s:"",g=Hs[_],b=/[defgprs%]/.test(_);function y(t){var r,s,u,y=M,L=m;if("c"===_)L=g(t)+L,t="";else{var A=(t=+t)<0;if(t=g(Math.abs(t),h),p&&(t=Cs(t)),A&&0==+t&&(A=!1),y=(A?"("===c?c:"-":"-"===c||"("===c?"":c)+y,L=("s"===_?js[8+Ws/3]:"")+L+(A&&"("===c?")":""),b)for(r=-1,s=t.length;++r(u=t.charCodeAt(r))||u>57){L=(46===u?a+t.slice(r+1):t.slice(r))+L,t=t.slice(0,r);break}}f&&!d&&(t=i(t,1/0));var v=y.length+t.length+L.length,x=v>1)+y+t+L+x.slice(v);break;default:t=x+y+t+L}return o(t)}return h=null==h?6:/[gprs]/.test(_)?Math.max(1,Math.min(21,h)):Math.max(0,Math.min(20,h)),y.toString=function(){return t+""},y}return{format:c,formatPrefix:function(t,e){var n=c(((t=Ns(t)).type="f",t)),i=3*Math.max(-8,Math.min(8,Math.floor(ks(e)/3))),r=Math.pow(10,-i),a=js[8+i/3];return function(t){return n(r*t)+a}}}};function Fs(t){return Ps=Is(t),Es=Ps.format,Xs=Ps.formatPrefix,Ps}Fs({decimal:".",thousands:",",grouping:[3],currency:["$",""]});var Gs=function(t){return Math.max(0,-ks(Math.abs(t)))},Vs=function(t,e){return Math.max(0,3*Math.max(-8,Math.min(8,Math.floor(ks(e)/3)))-ks(Math.abs(t)))},Us=function(t,e){return t=Math.abs(t),e=Math.abs(e)-t,Math.max(0,ks(e)-ks(t))+1},Js=function(){return new Ks};function Ks(){this.reset()}Ks.prototype={constructor:Ks,reset:function(){this.s=this.t=0},add:function(t){Zs(Qs,t,this.t),Zs(this,Qs.s,this.s),this.s?this.t+=Qs.t:this.s=Qs.t},valueOf:function(){return this.s}};var Qs=new Ks;function Zs(t,e,n){var i=t.s=e+n,r=i-e,a=i-r;t.t=e-a+(n-r)}var $s=1e-6,tc=Math.PI,ec=tc/2,nc=tc/4,ic=2*tc,rc=180/tc,ac=tc/180,oc=Math.abs,sc=Math.atan,cc=Math.atan2,uc=Math.cos,dc=Math.ceil,lc=Math.exp,fc=(Math.floor,Math.log),hc=Math.pow,pc=Math.sin,_c=Math.sign||function(t){return t>0?1:t<0?-1:0},Mc=Math.sqrt,mc=Math.tan;function gc(t){return t>1?0:t<-1?tc:Math.acos(t)}function bc(t){return t>1?ec:t<-1?-ec:Math.asin(t)}function yc(t){return(t=pc(t/2))*t}function Lc(){}function Ac(t,e){t&&xc.hasOwnProperty(t.type)&&xc[t.type](t,e)}var vc={Feature:function(t,e){Ac(t.geometry,e)},FeatureCollection:function(t,e){for(var n=t.features,i=-1,r=n.length;++i=0?1:-1,r=i*n,a=uc(e),o=pc(e),s=kc*o,c=Yc*a+s*uc(r),u=s*i*pc(r);Nc.add(cc(u,c)),Oc=t,Yc=a,kc=o}var Bc=function(t){return qc.reset(),Dc(t,Wc),2*qc};function Hc(t){return[cc(t[1],t[0]),bc(t[2])]}function Rc(t){var e=t[0],n=t[1],i=uc(n);return[i*uc(e),i*pc(e),pc(n)]}function jc(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function Ic(t,e){return[t[1]*e[2]-t[2]*e[1],t[2]*e[0]-t[0]*e[2],t[0]*e[1]-t[1]*e[0]]}function Fc(t,e){t[0]+=e[0],t[1]+=e[1],t[2]+=e[2]}function Gc(t,e){return[t[0]*e,t[1]*e,t[2]*e]}function Vc(t){var e=Mc(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]);t[0]/=e,t[1]/=e,t[2]/=e}var Uc,Jc,Kc,Qc,Zc,$c,tu,eu,nu,iu,ru=Js(),au={point:ou,lineStart:cu,lineEnd:uu,polygonStart:function(){au.point=du,au.lineStart=lu,au.lineEnd=fu,ru.reset(),Wc.polygonStart()},polygonEnd:function(){Wc.polygonEnd(),au.point=ou,au.lineStart=cu,au.lineEnd=uu,Nc<0?(Uc=-(Kc=180),Jc=-(Qc=90)):ru>$s?Qc=90:ru<-$s&&(Jc=-90),iu[0]=Uc,iu[1]=Kc}};function ou(t,e){nu.push(iu=[Uc=t,Kc=t]),eQc&&(Qc=e)}function su(t,e){var n=Rc([t*ac,e*ac]);if(eu){var i=Ic(eu,n),r=Ic([i[1],-i[0],0],i);Vc(r),r=Hc(r);var a,o=t-Zc,s=o>0?1:-1,c=r[0]*rc*s,u=oc(o)>180;u^(s*ZcQc&&(Qc=a):u^(s*Zc<(c=(c+360)%360-180)&&cQc&&(Qc=e)),u?thu(Uc,Kc)&&(Kc=t):hu(t,Kc)>hu(Uc,Kc)&&(Uc=t):Kc>=Uc?(tKc&&(Kc=t)):t>Zc?hu(Uc,t)>hu(Uc,Kc)&&(Kc=t):hu(t,Kc)>hu(Uc,Kc)&&(Uc=t)}else nu.push(iu=[Uc=t,Kc=t]);eQc&&(Qc=e),eu=n,Zc=t}function cu(){au.point=su}function uu(){iu[0]=Uc,iu[1]=Kc,au.point=ou,eu=null}function du(t,e){if(eu){var n=t-Zc;ru.add(oc(n)>180?n+(n>0?360:-360):n)}else $c=t,tu=e;Wc.point(t,e),su(t,e)}function lu(){Wc.lineStart()}function fu(){du($c,tu),Wc.lineEnd(),oc(ru)>$s&&(Uc=-(Kc=180)),iu[0]=Uc,iu[1]=Kc,eu=null}function hu(t,e){return(e-=t)<0?e+360:e}function pu(t,e){return t[0]-e[0]}function _u(t,e){return t[0]<=t[1]?t[0]<=e&&e<=t[1]:ehu(i[0],i[1])&&(i[1]=r[1]),hu(r[0],i[1])>hu(i[0],i[1])&&(i[0]=r[0])):a.push(i=r);for(o=-1/0,e=0,i=a[n=a.length-1];e<=n;i=r,++e)r=a[e],(s=hu(i[1],r[0]))>o&&(o=s,Uc=r[0],Kc=i[1])}return nu=iu=null,Uc===1/0||Jc===1/0?[[NaN,NaN],[NaN,NaN]]:[[Uc,Jc],[Kc,Qc]]},Nu={sphere:Lc,point:qu,lineStart:Pu,lineEnd:Cu,polygonStart:function(){Nu.lineStart=Bu,Nu.lineEnd=Hu},polygonEnd:function(){Nu.lineStart=Pu,Nu.lineEnd=Cu}};function qu(t,e){t*=ac;var n=uc(e*=ac);Wu(n*uc(t),n*pc(t),pc(e))}function Wu(t,e,n){gu+=(t-gu)/++Mu,bu+=(e-bu)/Mu,yu+=(n-yu)/Mu}function Pu(){Nu.point=Eu}function Eu(t,e){t*=ac;var n=uc(e*=ac);Ou=n*uc(t),Yu=n*pc(t),ku=pc(e),Nu.point=Xu,Wu(Ou,Yu,ku)}function Xu(t,e){t*=ac;var n=uc(e*=ac),i=n*uc(t),r=n*pc(t),a=pc(e),o=cc(Mc((o=Yu*a-ku*r)*o+(o=ku*i-Ou*a)*o+(o=Ou*r-Yu*i)*o),Ou*i+Yu*r+ku*a);mu+=o,Lu+=o*(Ou+(Ou=i)),Au+=o*(Yu+(Yu=r)),vu+=o*(ku+(ku=a)),Wu(Ou,Yu,ku)}function Cu(){Nu.point=qu}function Bu(){Nu.point=Ru}function Hu(){ju(Tu,Su),Nu.point=qu}function Ru(t,e){Tu=t,Su=e,t*=ac,e*=ac,Nu.point=ju;var n=uc(e);Ou=n*uc(t),Yu=n*pc(t),ku=pc(e),Wu(Ou,Yu,ku)}function ju(t,e){t*=ac;var n=uc(e*=ac),i=n*uc(t),r=n*pc(t),a=pc(e),o=Yu*a-ku*r,s=ku*i-Ou*a,c=Ou*r-Yu*i,u=Mc(o*o+s*s+c*c),d=bc(u),l=u&&-d/u;xu+=l*o,zu+=l*s,wu+=l*c,mu+=d,Lu+=d*(Ou+(Ou=i)),Au+=d*(Yu+(Yu=r)),vu+=d*(ku+(ku=a)),Wu(Ou,Yu,ku)}var Iu=function(t){Mu=mu=gu=bu=yu=Lu=Au=vu=xu=zu=wu=0,Dc(t,Nu);var e=xu,n=zu,i=wu,r=e*e+n*n+i*i;return r<1e-12&&(e=Lu,n=Au,i=vu,mu<$s&&(e=gu,n=bu,i=yu),(r=e*e+n*n+i*i)<1e-12)?[NaN,NaN]:[cc(n,e)*rc,bc(i/Mc(r))*rc]},Fu=function(t){return function(){return t}},Gu=function(t,e){function n(n,i){return n=t(n,i),e(n[0],n[1])}return t.invert&&e.invert&&(n.invert=function(n,i){return(n=e.invert(n,i))&&t.invert(n[0],n[1])}),n};function Vu(t,e){return[t>tc?t-ic:t<-tc?t+ic:t,e]}function Uu(t,e,n){return(t%=ic)?e||n?Gu(Ku(t),Qu(e,n)):Ku(t):e||n?Qu(e,n):Vu}function Ju(t){return function(e,n){return[(e+=t)>tc?e-ic:e<-tc?e+ic:e,n]}}function Ku(t){var e=Ju(t);return e.invert=Ju(-t),e}function Qu(t,e){var n=uc(t),i=pc(t),r=uc(e),a=pc(e);function o(t,e){var o=uc(e),s=uc(t)*o,c=pc(t)*o,u=pc(e),d=u*n+s*i;return[cc(c*r-d*a,s*n-u*i),bc(d*r+c*a)]}return o.invert=function(t,e){var o=uc(e),s=uc(t)*o,c=pc(t)*o,u=pc(e),d=u*r-c*a;return[cc(c*r+u*a,s*n+d*i),bc(d*n-s*i)]},o}Vu.invert=Vu;var Zu=function(t){function e(e){return(e=t(e[0]*ac,e[1]*ac))[0]*=rc,e[1]*=rc,e}return t=Uu(t[0]*ac,t[1]*ac,t.length>2?t[2]*ac:0),e.invert=function(e){return(e=t.invert(e[0]*ac,e[1]*ac))[0]*=rc,e[1]*=rc,e},e};function $u(t,e,n,i,r,a){if(n){var o=uc(e),s=pc(e),c=i*n;null==r?(r=e+i*ic,a=e-c/2):(r=td(o,r),a=td(o,a),(i>0?ra)&&(r+=i*ic));for(var u,d=r;i>0?d>a:d1&&e.push(e.pop().concat(e.shift()))},result:function(){var n=e;return e=[],t=null,n}}},id=function(t,e){return oc(t[0]-e[0])<$s&&oc(t[1]-e[1])<$s};function rd(t,e,n,i){this.x=t,this.z=e,this.o=n,this.e=i,this.v=!1,this.n=this.p=null}var ad=function(t,e,n,i,r){var a,o,s=[],c=[];if(t.forEach(function(t){if(!((e=t.length-1)<=0)){var e,n,i=t[0],o=t[e];if(id(i,o)){for(r.lineStart(),a=0;a=0;--a)r.point((d=u[a])[0],d[1]);else i(f.x,f.p.x,-1,r);f=f.p}u=(f=f.o).z,h=!h}while(!f.v);r.lineEnd()}}};function od(t){if(e=t.length){for(var e,n,i=0,r=t[0];++i=0?1:-1,z=x*v,w=z>tc,T=_*L;if(sd.add(cc(T*x*pc(z),M*A+T*uc(z))),o+=w?v+x*ic:v,w^h>=n^b>=n){var S=Ic(Rc(f),Rc(g));Vc(S);var O=Ic(a,S);Vc(O);var Y=(w^v>=0?-1:1)*bc(O[2]);(i>Y||i===Y&&(S[0]||S[1]))&&(s+=w^v>=0?1:-1)}}return(o<-$s||o<$s&&sd<-$s)^1&s},ud=function(t,e,n,i){return function(r){var a,o,s,c=e(r),u=nd(),d=e(u),l=!1,f={point:h,lineStart:_,lineEnd:M,polygonStart:function(){f.point=m,f.lineStart=g,f.lineEnd=b,o=[],a=[]},polygonEnd:function(){f.point=h,f.lineStart=_,f.lineEnd=M,o=E(o);var t=cd(a,i);o.length?(l||(r.polygonStart(),l=!0),ad(o,ld,t,n,r)):t&&(l||(r.polygonStart(),l=!0),r.lineStart(),n(null,null,1,r),r.lineEnd()),l&&(r.polygonEnd(),l=!1),o=a=null},sphere:function(){r.polygonStart(),r.lineStart(),n(null,null,1,r),r.lineEnd(),r.polygonEnd()}};function h(e,n){t(e,n)&&r.point(e,n)}function p(t,e){c.point(t,e)}function _(){f.point=p,c.lineStart()}function M(){f.point=h,c.lineEnd()}function m(t,e){s.push([t,e]),d.point(t,e)}function g(){d.lineStart(),s=[]}function b(){m(s[0][0],s[0][1]),d.lineEnd();var t,e,n,i,c=d.clean(),f=u.result(),h=f.length;if(s.pop(),a.push(s),s=null,h)if(1&c){if((e=(n=f[0]).length-1)>0){for(l||(r.polygonStart(),l=!0),r.lineStart(),t=0;t1&&2&c&&f.push(f.pop().concat(f.shift())),o.push(f.filter(dd))}return f}};function dd(t){return t.length>1}function ld(t,e){return((t=t.x)[0]<0?t[1]-ec-$s:ec-t[1])-((e=e.x)[0]<0?e[1]-ec-$s:ec-e[1])}var fd=ud(function(){return!0},function(t){var e,n=NaN,i=NaN,r=NaN;return{lineStart:function(){t.lineStart(),e=1},point:function(a,o){var s=a>0?tc:-tc,c=oc(a-n);oc(c-tc)<$s?(t.point(n,i=(i+o)/2>0?ec:-ec),t.point(r,i),t.lineEnd(),t.lineStart(),t.point(s,i),t.point(a,i),e=0):r!==s&&c>=tc&&(oc(n-r)<$s&&(n-=r*$s),oc(a-s)<$s&&(a-=s*$s),i=function(t,e,n,i){var r,a,o=pc(t-n);return oc(o)>$s?sc((pc(e)*(a=uc(i))*pc(n)-pc(i)*(r=uc(e))*pc(t))/(r*a*o)):(e+i)/2}(n,i,a,o),t.point(r,i),t.lineEnd(),t.lineStart(),t.point(s,i),e=0),t.point(n=a,i=o),r=s},lineEnd:function(){t.lineEnd(),n=i=NaN},clean:function(){return 2-e}}},function(t,e,n,i){var r;if(null==t)r=n*ec,i.point(-tc,r),i.point(0,r),i.point(tc,r),i.point(tc,0),i.point(tc,-r),i.point(0,-r),i.point(-tc,-r),i.point(-tc,0),i.point(-tc,r);else if(oc(t[0]-e[0])>$s){var a=t[0]0,r=oc(e)>$s;function a(t,n){return uc(t)*uc(n)>e}function o(t,n,i){var r=[1,0,0],a=Ic(Rc(t),Rc(n)),o=jc(a,a),s=a[0],c=o-s*s;if(!c)return!i&&t;var u=e*o/c,d=-e*s/c,l=Ic(r,a),f=Gc(r,u);Fc(f,Gc(a,d));var h=l,p=jc(f,h),_=jc(h,h),M=p*p-_*(jc(f,f)-1);if(!(M<0)){var m=Mc(M),g=Gc(h,(-p-m)/_);if(Fc(g,f),g=Hc(g),!i)return g;var b,y=t[0],L=n[0],A=t[1],v=n[1];L0^g[1]<(oc(g[0]-y)<$s?A:v):A<=g[1]&&g[1]<=v:x>tc^(y<=g[0]&&g[0]<=L)){var w=Gc(h,(-p+m)/_);return Fc(w,f),[g,Hc(w)]}}}function s(e,n){var r=i?t:tc-t,a=0;return e<-r?a|=1:e>r&&(a|=2),n<-r?a|=4:n>r&&(a|=8),a}return ud(a,function(t){var e,n,c,u,d;return{lineStart:function(){u=c=!1,d=1},point:function(l,f){var h,p=[l,f],_=a(l,f),M=i?_?0:s(l,f):_?s(l+(l<0?tc:-tc),f):0;if(!e&&(u=c=_)&&t.lineStart(),_!==c&&(!(h=o(e,p))||id(e,h)||id(p,h))&&(p[0]+=$s,p[1]+=$s,_=a(p[0],p[1])),_!==c)d=0,_?(t.lineStart(),h=o(p,e),t.point(h[0],h[1])):(h=o(e,p),t.point(h[0],h[1]),t.lineEnd()),e=h;else if(r&&e&&i^_){var m;M&n||!(m=o(p,e,!0))||(d=0,i?(t.lineStart(),t.point(m[0][0],m[0][1]),t.point(m[1][0],m[1][1]),t.lineEnd()):(t.point(m[1][0],m[1][1]),t.lineEnd(),t.lineStart(),t.point(m[0][0],m[0][1])))}!_||e&&id(e,p)||t.point(p[0],p[1]),e=p,c=_,n=M},lineEnd:function(){c&&t.lineEnd(),e=null},clean:function(){return d|(u&&c)<<1}}},function(e,i,r,a){$u(a,t,n,r,e,i)},i?[0,-t]:[-tc,t-tc])},pd=function(t,e,n,i,r,a){var o,s=t[0],c=t[1],u=0,d=1,l=e[0]-s,f=e[1]-c;if(o=n-s,l||!(o>0)){if(o/=l,l<0){if(o0){if(o>d)return;o>u&&(u=o)}if(o=r-s,l||!(o<0)){if(o/=l,l<0){if(o>d)return;o>u&&(u=o)}else if(l>0){if(o0)){if(o/=f,f<0){if(o0){if(o>d)return;o>u&&(u=o)}if(o=a-c,f||!(o<0)){if(o/=f,f<0){if(o>d)return;o>u&&(u=o)}else if(f>0){if(o0&&(t[0]=s+u*l,t[1]=c+u*f),d<1&&(e[0]=s+d*l,e[1]=c+d*f),!0}}}}},_d=1e9,Md=-_d;function md(t,e,n,i){function r(r,a){return t<=r&&r<=n&&e<=a&&a<=i}function a(r,a,s,u){var d=0,l=0;if(null==r||(d=o(r,s))!==(l=o(a,s))||c(r,a)<0^s>0)do{u.point(0===d||3===d?t:n,d>1?i:e)}while((d=(d+s+4)%4)!==l);else u.point(a[0],a[1])}function o(i,r){return oc(i[0]-t)<$s?r>0?0:3:oc(i[0]-n)<$s?r>0?2:1:oc(i[1]-e)<$s?r>0?1:0:r>0?3:2}function s(t,e){return c(t.x,e.x)}function c(t,e){var n=o(t,1),i=o(e,1);return n!==i?n-i:0===n?e[1]-t[1]:1===n?t[0]-e[0]:2===n?t[1]-e[1]:e[0]-t[0]}return function(o){var c,u,d,l,f,h,p,_,M,m,g,b=o,y=nd(),L={point:A,lineStart:function(){L.point=v,u&&u.push(d=[]);m=!0,M=!1,p=_=NaN},lineEnd:function(){c&&(v(l,f),h&&M&&y.rejoin(),c.push(y.result()));L.point=A,M&&b.lineEnd()},polygonStart:function(){b=y,c=[],u=[],g=!0},polygonEnd:function(){var e=function(){for(var e=0,n=0,r=u.length;ni&&(f-a)*(i-o)>(h-o)*(t-a)&&++e:h<=i&&(f-a)*(i-o)<(h-o)*(t-a)&&--e;return e}(),n=g&&e,r=(c=E(c)).length;(n||r)&&(o.polygonStart(),n&&(o.lineStart(),a(null,null,1,o),o.lineEnd()),r&&ad(c,s,e,a,o),o.polygonEnd());b=o,c=u=d=null}};function A(t,e){r(t,e)&&b.point(t,e)}function v(a,o){var s=r(a,o);if(u&&d.push([a,o]),m)l=a,f=o,h=s,m=!1,s&&(b.lineStart(),b.point(a,o));else if(s&&M)b.point(a,o);else{var c=[p=Math.max(Md,Math.min(_d,p)),_=Math.max(Md,Math.min(_d,_))],y=[a=Math.max(Md,Math.min(_d,a)),o=Math.max(Md,Math.min(_d,o))];pd(c,y,t,e,n,i)?(M||(b.lineStart(),b.point(c[0],c[1])),b.point(y[0],y[1]),s||b.lineEnd(),g=!1):s&&(b.lineStart(),b.point(a,o),g=!1)}p=a,_=o,M=s}return L}}var gd,bd,yd,Ld=function(){var t,e,n,i=0,r=0,a=960,o=500;return n={stream:function(n){return t&&e===n?t:t=md(i,r,a,o)(e=n)},extent:function(s){return arguments.length?(i=+s[0][0],r=+s[0][1],a=+s[1][0],o=+s[1][1],t=e=null,n):[[i,r],[a,o]]}}},Ad=Js(),vd={sphere:Lc,point:Lc,lineStart:function(){vd.point=zd,vd.lineEnd=xd},lineEnd:Lc,polygonStart:Lc,polygonEnd:Lc};function xd(){vd.point=vd.lineEnd=Lc}function zd(t,e){gd=t*=ac,bd=pc(e*=ac),yd=uc(e),vd.point=wd}function wd(t,e){t*=ac;var n=pc(e*=ac),i=uc(e),r=oc(t-gd),a=uc(r),o=i*pc(r),s=yd*n-bd*i*a,c=bd*n+yd*i*a;Ad.add(cc(Mc(o*o+s*s),c)),gd=t,bd=n,yd=i}var Td=function(t){return Ad.reset(),Dc(t,vd),+Ad},Sd=[null,null],Od={type:"LineString",coordinates:Sd},Yd=function(t,e){return Sd[0]=t,Sd[1]=e,Td(Od)},kd={Feature:function(t,e){return Nd(t.geometry,e)},FeatureCollection:function(t,e){for(var n=t.features,i=-1,r=n.length;++i$s}).map(c)).concat(A(dc(a/h)*h,r,h).filter(function(t){return oc(t%_)>$s}).map(u))}return m.lines=function(){return g().map(function(t){return{type:"LineString",coordinates:t}})},m.outline=function(){return{type:"Polygon",coordinates:[d(i).concat(l(o).slice(1),d(n).reverse().slice(1),l(s).reverse().slice(1))]}},m.extent=function(t){return arguments.length?m.extentMajor(t).extentMinor(t):m.extentMinor()},m.extentMajor=function(t){return arguments.length?(i=+t[0][0],n=+t[1][0],s=+t[0][1],o=+t[1][1],i>n&&(t=i,i=n,n=t),s>o&&(t=s,s=o,o=t),m.precision(M)):[[i,s],[n,o]]},m.extentMinor=function(n){return arguments.length?(e=+n[0][0],t=+n[1][0],a=+n[0][1],r=+n[1][1],e>t&&(n=e,e=t,t=n),a>r&&(n=a,a=r,r=n),m.precision(M)):[[e,a],[t,r]]},m.step=function(t){return arguments.length?m.stepMajor(t).stepMinor(t):m.stepMinor()},m.stepMajor=function(t){return arguments.length?(p=+t[0],_=+t[1],m):[p,_]},m.stepMinor=function(t){return arguments.length?(f=+t[0],h=+t[1],m):[f,h]},m.precision=function(f){return arguments.length?(M=+f,c=Bd(a,r,90),u=Hd(e,t,M),d=Bd(s,o,90),l=Hd(i,n,M),m):M},m.extentMajor([[-180,-90+$s],[180,90-$s]]).extentMinor([[-180,-80-$s],[180,80+$s]])}function jd(){return Rd()()}var Id,Fd,Gd,Vd,Ud=function(t,e){var n=t[0]*ac,i=t[1]*ac,r=e[0]*ac,a=e[1]*ac,o=uc(i),s=pc(i),c=uc(a),u=pc(a),d=o*uc(n),l=o*pc(n),f=c*uc(r),h=c*pc(r),p=2*bc(Mc(yc(a-i)+o*c*yc(r-n))),_=pc(p),M=p?function(t){var e=pc(t*=p)/_,n=pc(p-t)/_,i=n*d+e*f,r=n*l+e*h,a=n*s+e*u;return[cc(r,i)*rc,cc(a,Mc(i*i+r*r))*rc]}:function(){return[n*rc,i*rc]};return M.distance=p,M},Jd=function(t){return t},Kd=Js(),Qd=Js(),Zd={point:Lc,lineStart:Lc,lineEnd:Lc,polygonStart:function(){Zd.lineStart=$d,Zd.lineEnd=nl},polygonEnd:function(){Zd.lineStart=Zd.lineEnd=Zd.point=Lc,Kd.add(oc(Qd)),Qd.reset()},result:function(){var t=Kd/2;return Kd.reset(),t}};function $d(){Zd.point=tl}function tl(t,e){Zd.point=el,Id=Gd=t,Fd=Vd=e}function el(t,e){Qd.add(Vd*t-Gd*e),Gd=t,Vd=e}function nl(){el(Id,Fd)}var il=Zd,rl=1/0,al=rl,ol=-rl,sl=ol;var cl,ul,dl,ll,fl={point:function(t,e){tol&&(ol=t);esl&&(sl=e)},lineStart:Lc,lineEnd:Lc,polygonStart:Lc,polygonEnd:Lc,result:function(){var t=[[rl,al],[ol,sl]];return ol=sl=-(al=rl=1/0),t}},hl=0,pl=0,_l=0,Ml=0,ml=0,gl=0,bl=0,yl=0,Ll=0,Al={point:vl,lineStart:xl,lineEnd:Tl,polygonStart:function(){Al.lineStart=Sl,Al.lineEnd=Ol},polygonEnd:function(){Al.point=vl,Al.lineStart=xl,Al.lineEnd=Tl},result:function(){var t=Ll?[bl/Ll,yl/Ll]:gl?[Ml/gl,ml/gl]:_l?[hl/_l,pl/_l]:[NaN,NaN];return hl=pl=_l=Ml=ml=gl=bl=yl=Ll=0,t}};function vl(t,e){hl+=t,pl+=e,++_l}function xl(){Al.point=zl}function zl(t,e){Al.point=wl,vl(dl=t,ll=e)}function wl(t,e){var n=t-dl,i=e-ll,r=Mc(n*n+i*i);Ml+=r*(dl+t)/2,ml+=r*(ll+e)/2,gl+=r,vl(dl=t,ll=e)}function Tl(){Al.point=vl}function Sl(){Al.point=Yl}function Ol(){kl(cl,ul)}function Yl(t,e){Al.point=kl,vl(cl=dl=t,ul=ll=e)}function kl(t,e){var n=t-dl,i=e-ll,r=Mc(n*n+i*i);Ml+=r*(dl+t)/2,ml+=r*(ll+e)/2,gl+=r,bl+=(r=ll*t-dl*e)*(dl+t),yl+=r*(ll+e),Ll+=3*r,vl(dl=t,ll=e)}var Dl=Al;function Nl(t){this._context=t}Nl.prototype={_radius:4.5,pointRadius:function(t){return this._radius=t,this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){0===this._line&&this._context.closePath(),this._point=NaN},point:function(t,e){switch(this._point){case 0:this._context.moveTo(t,e),this._point=1;break;case 1:this._context.lineTo(t,e);break;default:this._context.moveTo(t+this._radius,e),this._context.arc(t,e,this._radius,0,ic)}},result:Lc};var ql,Wl,Pl,El,Xl,Cl=Js(),Bl={point:Lc,lineStart:function(){Bl.point=Hl},lineEnd:function(){ql&&Rl(Wl,Pl),Bl.point=Lc},polygonStart:function(){ql=!0},polygonEnd:function(){ql=null},result:function(){var t=+Cl;return Cl.reset(),t}};function Hl(t,e){Bl.point=Rl,Wl=El=t,Pl=Xl=e}function Rl(t,e){El-=t,Xl-=e,Cl.add(Mc(El*El+Xl*Xl)),El=t,Xl=e}var jl=Bl;function Il(){this._string=[]}function Fl(t){return"m0,"+t+"a"+t+","+t+" 0 1,1 0,"+-2*t+"a"+t+","+t+" 0 1,1 0,"+2*t+"z"}Il.prototype={_radius:4.5,_circle:Fl(4.5),pointRadius:function(t){return(t=+t)!==this._radius&&(this._radius=t,this._circle=null),this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){0===this._line&&this._string.push("Z"),this._point=NaN},point:function(t,e){switch(this._point){case 0:this._string.push("M",t,",",e),this._point=1;break;case 1:this._string.push("L",t,",",e);break;default:null==this._circle&&(this._circle=Fl(this._radius)),this._string.push("M",t,",",e,this._circle)}},result:function(){if(this._string.length){var t=this._string.join("");return this._string=[],t}return null}};var Gl=function(t,e){var n,i,r=4.5;function a(t){return t&&("function"==typeof r&&i.pointRadius(+r.apply(this,arguments)),Dc(t,n(i))),i.result()}return a.area=function(t){return Dc(t,n(il)),il.result()},a.measure=function(t){return Dc(t,n(jl)),jl.result()},a.bounds=function(t){return Dc(t,n(fl)),fl.result()},a.centroid=function(t){return Dc(t,n(Dl)),Dl.result()},a.projection=function(e){return arguments.length?(n=null==e?(t=null,Jd):(t=e).stream,a):t},a.context=function(t){return arguments.length?(i=null==t?(e=null,new Il):new Nl(e=t),"function"!=typeof r&&i.pointRadius(r),a):e},a.pointRadius=function(t){return arguments.length?(r="function"==typeof t?t:(i.pointRadius(+t),+t),a):r},a.projection(t).context(e)},Vl=function(t){return{stream:Ul(t)}};function Ul(t){return function(e){var n=new Jl;for(var i in t)n[i]=t[i];return n.stream=e,n}}function Jl(){}function Kl(t,e,n){var i=t.clipExtent&&t.clipExtent();return t.scale(150).translate([0,0]),null!=i&&t.clipExtent(null),Dc(n,t.stream(fl)),e(fl.result()),null!=i&&t.clipExtent(i),t}function Ql(t,e,n){return Kl(t,function(n){var i=e[1][0]-e[0][0],r=e[1][1]-e[0][1],a=Math.min(i/(n[1][0]-n[0][0]),r/(n[1][1]-n[0][1])),o=+e[0][0]+(i-a*(n[1][0]+n[0][0]))/2,s=+e[0][1]+(r-a*(n[1][1]+n[0][1]))/2;t.scale(150*a).translate([o,s])},n)}function Zl(t,e,n){return Ql(t,[[0,0],e],n)}function $l(t,e,n){return Kl(t,function(n){var i=+e,r=i/(n[1][0]-n[0][0]),a=(i-r*(n[1][0]+n[0][0]))/2,o=-r*n[0][1];t.scale(150*r).translate([a,o])},n)}function tf(t,e,n){return Kl(t,function(n){var i=+e,r=i/(n[1][1]-n[0][1]),a=-r*n[0][0],o=(i-r*(n[1][1]+n[0][1]))/2;t.scale(150*r).translate([a,o])},n)}Jl.prototype={constructor:Jl,point:function(t,e){this.stream.point(t,e)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}};var ef=16,nf=uc(30*ac),rf=function(t,e){return+e?function(t,e){function n(i,r,a,o,s,c,u,d,l,f,h,p,_,M){var m=u-i,g=d-r,b=m*m+g*g;if(b>4*e&&_--){var y=o+f,L=s+h,A=c+p,v=Mc(y*y+L*L+A*A),x=bc(A/=v),z=oc(oc(A)-1)<$s||oc(a-l)<$s?(a+l)/2:cc(L,y),w=t(z,x),T=w[0],S=w[1],O=T-i,Y=S-r,k=g*O-m*Y;(k*k/b>e||oc((m*O+g*Y)/b-.5)>.3||o*f+s*h+c*p2?t[2]%360*ac:0,T()):[M*rc,m*rc,g*rc]},z.angle=function(t){return arguments.length?(b=t%360*ac,T()):b*rc},z.precision=function(t){return arguments.length?(o=rf(s,x=t*t),S()):Mc(x)},z.fitExtent=function(t,e){return Ql(z,t,e)},z.fitSize=function(t,e){return Zl(z,t,e)},z.fitWidth=function(t,e){return $l(z,t,e)},z.fitHeight=function(t,e){return tf(z,t,e)},function(){return e=t.apply(this,arguments),z.invert=e.invert&&w,T()}}function uf(t){var e=0,n=tc/3,i=cf(t),r=i(e,n);return r.parallels=function(t){return arguments.length?i(e=t[0]*ac,n=t[1]*ac):[e*rc,n*rc]},r}function df(t,e){var n=pc(t),i=(n+pc(e))/2;if(oc(i)<$s)return function(t){var e=uc(t);function n(t,n){return[t*e,pc(n)/e]}return n.invert=function(t,n){return[t/e,bc(n*e)]},n}(t);var r=1+n*(2*i-n),a=Mc(r)/i;function o(t,e){var n=Mc(r-2*i*pc(e))/i;return[n*pc(t*=i),a-n*uc(t)]}return o.invert=function(t,e){var n=a-e;return[cc(t,oc(n))/i*_c(n),bc((r-(t*t+n*n)*i*i)/(2*i))]},o}var lf=function(){return uf(df).scale(155.424).center([0,33.6442])},ff=function(){return lf().parallels([29.5,45.5]).scale(1070).translate([480,250]).rotate([96,0]).center([-.6,38.7])};var hf=function(){var t,e,n,i,r,a,o=ff(),s=lf().rotate([154,0]).center([-2,58.5]).parallels([55,65]),c=lf().rotate([157,0]).center([-3,19.9]).parallels([8,18]),u={point:function(t,e){a=[t,e]}};function d(t){var e=t[0],o=t[1];return a=null,n.point(e,o),a||(i.point(e,o),a)||(r.point(e,o),a)}function l(){return t=e=null,d}return d.invert=function(t){var e=o.scale(),n=o.translate(),i=(t[0]-n[0])/e,r=(t[1]-n[1])/e;return(r>=.12&&r<.234&&i>=-.425&&i<-.214?s:r>=.166&&r<.234&&i>=-.214&&i<-.115?c:o).invert(t)},d.stream=function(n){return t&&e===n?t:(i=[o.stream(e=n),s.stream(n),c.stream(n)],r=i.length,t={point:function(t,e){for(var n=-1;++n0?e<-ec+$s&&(e=-ec+$s):e>ec-$s&&(e=ec-$s);var n=r/hc(vf(e),i);return[n*pc(i*t),r-n*uc(i*t)]}return a.invert=function(t,e){var n=r-e,a=_c(i)*Mc(t*t+n*n);return[cc(t,oc(n))/i*_c(n),2*sc(hc(r/a,1/i))-ec]},a}var zf=function(){return uf(xf).scale(109.5).parallels([30,30])};function wf(t,e){return[t,e]}wf.invert=wf;var Tf=function(){return sf(wf).scale(152.63)};function Sf(t,e){var n=uc(t),i=t===e?pc(t):(n-uc(e))/(e-t),r=n/i+t;if(oc(i)<$s)return wf;function a(t,e){var n=r-e,a=i*t;return[n*pc(a),r-n*uc(a)]}return a.invert=function(t,e){var n=r-e;return[cc(t,oc(n))/i*_c(n),r-_c(i)*Mc(t*t+n*n)]},a}var Of=function(){return uf(Sf).scale(131.154).center([0,13.9389])};function Yf(t,e){var n=uc(e),i=uc(t)*n;return[n*pc(t)/i,pc(e)/i]}Yf.invert=_f(sc);var kf=function(){return sf(Yf).scale(144.049).clipAngle(60)};function Df(t,e,n,i){return 1===t&&1===e&&0===n&&0===i?Jd:Ul({point:function(r,a){this.stream.point(r*t+n,a*e+i)}})}var Nf=function(){var t,e,n,i,r,a,o=1,s=0,c=0,u=1,d=1,l=Jd,f=null,h=Jd;function p(){return i=r=null,a}return a={stream:function(t){return i&&r===t?i:i=l(h(r=t))},postclip:function(i){return arguments.length?(h=i,f=t=e=n=null,p()):h},clipExtent:function(i){return arguments.length?(h=null==i?(f=t=e=n=null,Jd):md(f=+i[0][0],t=+i[0][1],e=+i[1][0],n=+i[1][1]),p()):null==f?null:[[f,t],[e,n]]},scale:function(t){return arguments.length?(l=Df((o=+t)*u,o*d,s,c),p()):o},translate:function(t){return arguments.length?(l=Df(o*u,o*d,s=+t[0],c=+t[1]),p()):[s,c]},reflectX:function(t){return arguments.length?(l=Df(o*(u=t?-1:1),o*d,s,c),p()):u<0},reflectY:function(t){return arguments.length?(l=Df(o*u,o*(d=t?-1:1),s,c),p()):d<0},fitExtent:function(t,e){return Ql(a,t,e)},fitSize:function(t,e){return Zl(a,t,e)},fitWidth:function(t,e){return $l(a,t,e)},fitHeight:function(t,e){return tf(a,t,e)}}};function qf(t,e){var n=e*e,i=n*n;return[t*(.8707-.131979*n+i*(i*(.003971*n-.001529*i)-.013791)),e*(1.007226+n*(.015085+i*(.028874*n-.044475-.005916*i)))]}qf.invert=function(t,e){var n,i=e,r=25;do{var a=i*i,o=a*a;i-=n=(i*(1.007226+a*(.015085+o*(.028874*a-.044475-.005916*o)))-e)/(1.007226+a*(.045255+o*(.259866*a-.311325-.005916*11*o)))}while(oc(n)>$s&&--r>0);return[t/(.8707+(a=i*i)*(a*(a*a*a*(.003971-.001529*a)-.013791)-.131979)),i]};var Wf=function(){return sf(qf).scale(175.295)};function Pf(t,e){return[uc(e)*pc(t),pc(e)]}Pf.invert=_f(bc);var Ef=function(){return sf(Pf).scale(249.5).clipAngle(90+$s)};function Xf(t,e){var n=uc(e),i=1+uc(t)*n;return[n*pc(t)/i,pc(e)/i]}Xf.invert=_f(function(t){return 2*sc(t)});var Cf=function(){return sf(Xf).scale(250).clipAngle(142)};function Bf(t,e){return[fc(mc((ec+e)/2)),-t]}Bf.invert=function(t,e){return[-e,2*sc(lc(t))-ec]};var Hf=function(){var t=Af(Bf),e=t.center,n=t.rotate;return t.center=function(t){return arguments.length?e([-t[1],t[0]]):[(t=e())[1],-t[0]]},t.rotate=function(t){return arguments.length?n([t[0],t[1],t.length>2?t[2]+90:90]):[(t=n())[0],t[1],t[2]-90]},n([0,0,90]).scale(159.155)};function Rf(t,e){return t.parent===e.parent?1:2}function jf(t,e){return t+e.x}function If(t,e){return Math.max(t,e.y)}var Ff=function(){var t=Rf,e=1,n=1,i=!1;function r(r){var a,o=0;r.eachAfter(function(e){var n=e.children;n?(e.x=function(t){return t.reduce(jf,0)/t.length}(n),e.y=function(t){return 1+t.reduce(If,0)}(n)):(e.x=a?o+=t(e,a):0,e.y=0,a=e)});var s=function(t){for(var e;e=t.children;)t=e[0];return t}(r),c=function(t){for(var e;e=t.children;)t=e[e.length-1];return t}(r),u=s.x-t(s,c)/2,d=c.x+t(c,s)/2;return r.eachAfter(i?function(t){t.x=(t.x-r.x)*e,t.y=(r.y-t.y)*n}:function(t){t.x=(t.x-u)/(d-u)*e,t.y=(1-(r.y?t.y/r.y:1))*n})}return r.separation=function(e){return arguments.length?(t=e,r):t},r.size=function(t){return arguments.length?(i=!1,e=+t[0],n=+t[1],r):i?null:[e,n]},r.nodeSize=function(t){return arguments.length?(i=!0,e=+t[0],n=+t[1],r):i?[e,n]:null},r};function Gf(t){var e=0,n=t.children,i=n&&n.length;if(i)for(;--i>=0;)e+=n[i].value;else e=1;t.value=e}function Vf(t,e){var n,i,r,a,o,s=new Qf(t),c=+t.value&&(s.value=t.value),u=[s];for(null==e&&(e=Uf);n=u.pop();)if(c&&(n.value=+n.data.value),(r=e(n.data))&&(o=r.length))for(n.children=new Array(o),a=o-1;a>=0;--a)u.push(i=n.children[a]=new Qf(r[a])),i.parent=n,i.depth=n.depth+1;return s.eachBefore(Kf)}function Uf(t){return t.children}function Jf(t){t.data=t.data.data}function Kf(t){var e=0;do{t.height=e}while((t=t.parent)&&t.height<++e)}function Qf(t){this.data=t,this.depth=this.height=0,this.parent=null}Qf.prototype=Vf.prototype={constructor:Qf,count:function(){return this.eachAfter(Gf)},each:function(t){var e,n,i,r,a=this,o=[a];do{for(e=o.reverse(),o=[];a=e.pop();)if(t(a),n=a.children)for(i=0,r=n.length;i=0;--n)r.push(e[n]);return this},sum:function(t){return this.eachAfter(function(e){for(var n=+t(e.data)||0,i=e.children,r=i&&i.length;--r>=0;)n+=i[r].value;e.value=n})},sort:function(t){return this.eachBefore(function(e){e.children&&e.children.sort(t)})},path:function(t){for(var e=this,n=function(t,e){if(t===e)return t;var n=t.ancestors(),i=e.ancestors(),r=null;for(t=n.pop(),e=i.pop();t===e;)r=t,t=n.pop(),e=i.pop();return r}(e,t),i=[e];e!==n;)e=e.parent,i.push(e);for(var r=i.length;t!==n;)i.splice(r,0,t),t=t.parent;return i},ancestors:function(){for(var t=this,e=[t];t=t.parent;)e.push(t);return e},descendants:function(){var t=[];return this.each(function(e){t.push(e)}),t},leaves:function(){var t=[];return this.eachBefore(function(e){e.children||t.push(e)}),t},links:function(){var t=this,e=[];return t.each(function(n){n!==t&&e.push({source:n.parent,target:n})}),e},copy:function(){return Vf(this).eachBefore(Jf)}};var Zf=Array.prototype.slice;var $f=function(t){for(var e,n,i=0,r=(t=function(t){for(var e,n,i=t.length;i;)n=Math.random()*i--|0,e=t[i],t[i]=t[n],t[n]=e;return t}(Zf.call(t))).length,a=[];i0&&n*n>i*i+r*r}function ih(t,e){for(var n=0;n(o*=o)?(i=(u+o-r)/(2*u),a=Math.sqrt(Math.max(0,o/u-i*i)),n.x=t.x-i*s-a*c,n.y=t.y-i*c+a*s):(i=(u+r-o)/(2*u),a=Math.sqrt(Math.max(0,r/u-i*i)),n.x=e.x+i*s-a*c,n.y=e.y+i*c+a*s)):(n.x=e.x+n.r,n.y=e.y)}function ch(t,e){var n=t.r+e.r-1e-6,i=e.x-t.x,r=e.y-t.y;return n>0&&n*n>i*i+r*r}function uh(t){var e=t._,n=t.next._,i=e.r+n.r,r=(e.x*n.r+n.x*e.r)/i,a=(e.y*n.r+n.y*e.r)/i;return r*r+a*a}function dh(t){this._=t,this.next=null,this.previous=null}function lh(t){if(!(r=t.length))return 0;var e,n,i,r,a,o,s,c,u,d,l;if((e=t[0]).x=0,e.y=0,!(r>1))return e.r;if(n=t[1],e.x=-n.r,n.x=e.r,n.y=0,!(r>2))return e.r+n.r;sh(n,e,i=t[2]),e=new dh(e),n=new dh(n),i=new dh(i),e.next=i.previous=n,n.next=e.previous=i,i.next=n.previous=e;t:for(s=3;s0)throw new Error("cycle");return a}return n.id=function(e){return arguments.length?(t=hh(e),n):t},n.parentId=function(t){return arguments.length?(e=hh(t),n):e},n};function Yh(t,e){return t.parent===e.parent?1:2}function kh(t){var e=t.children;return e?e[0]:t.t}function Dh(t){var e=t.children;return e?e[e.length-1]:t.t}function Nh(t,e,n){var i=n/(e.i-t.i);e.c-=i,e.s+=n,t.c+=i,e.z+=n,e.m+=n}function qh(t,e,n){return t.a.parent===e.parent?t.a:n}function Wh(t,e){this._=t,this.parent=null,this.children=null,this.A=null,this.a=this,this.z=0,this.m=0,this.c=0,this.s=0,this.t=null,this.i=e}Wh.prototype=Object.create(Qf.prototype);var Ph=function(){var t=Yh,e=1,n=1,i=null;function r(r){var c=function(t){for(var e,n,i,r,a,o=new Wh(t,0),s=[o];e=s.pop();)if(i=e._.children)for(e.children=new Array(a=i.length),r=a-1;r>=0;--r)s.push(n=e.children[r]=new Wh(i[r],r)),n.parent=e;return(o.parent=new Wh(null,0)).children=[o],o}(r);if(c.eachAfter(a),c.parent.m=-c.z,c.eachBefore(o),i)r.eachBefore(s);else{var u=r,d=r,l=r;r.eachBefore(function(t){t.xd.x&&(d=t),t.depth>l.depth&&(l=t)});var f=u===d?1:t(u,d)/2,h=f-u.x,p=e/(d.x+f+h),_=n/(l.depth||1);r.eachBefore(function(t){t.x=(t.x+h)*p,t.y=t.depth*_})}return r}function a(e){var n=e.children,i=e.parent.children,r=e.i?i[e.i-1]:null;if(n){!function(t){for(var e,n=0,i=0,r=t.children,a=r.length;--a>=0;)(e=r[a]).z+=n,e.m+=n,n+=e.s+(i+=e.c)}(e);var a=(n[0].z+n[n.length-1].z)/2;r?(e.z=r.z+t(e._,r._),e.m=e.z-a):e.z=a}else r&&(e.z=r.z+t(e._,r._));e.parent.A=function(e,n,i){if(n){for(var r,a=e,o=e,s=n,c=a.parent.children[0],u=a.m,d=o.m,l=s.m,f=c.m;s=Dh(s),a=kh(a),s&&a;)c=kh(c),(o=Dh(o)).a=e,(r=s.z+l-a.z-u+t(s._,a._))>0&&(Nh(qh(s,e,i),e,r),u+=r,d+=r),l+=s.m,u+=a.m,f+=c.m,d+=o.m;s&&!Dh(o)&&(o.t=s,o.m+=l-d),a&&!kh(c)&&(c.t=a,c.m+=u-f,i=e)}return i}(e,r,e.parent.A||i[0])}function o(t){t._.x=t.z+t.parent.m,t.m+=t.parent.m}function s(t){t.x*=e,t.y=t.depth*n}return r.separation=function(e){return arguments.length?(t=e,r):t},r.size=function(t){return arguments.length?(i=!1,e=+t[0],n=+t[1],r):i?null:[e,n]},r.nodeSize=function(t){return arguments.length?(i=!0,e=+t[0],n=+t[1],r):i?[e,n]:null},r},Eh=function(t,e,n,i,r){for(var a,o=t.children,s=-1,c=o.length,u=t.value&&(r-n)/t.value;++sf&&(f=s),M=d*d*_,(h=Math.max(f/M,M/l))>p){d-=s;break}p=h}m.push(o={value:d,dice:c1?e:1)},n}(Xh),Hh=function(){var t=Bh,e=!1,n=1,i=1,r=[0],a=ph,o=ph,s=ph,c=ph,u=ph;function d(t){return t.x0=t.y0=0,t.x1=n,t.y1=i,t.eachBefore(l),r=[0],e&&t.eachBefore(Lh),t}function l(e){var n=r[e.depth],i=e.x0+n,d=e.y0+n,l=e.x1-n,f=e.y1-n;l=n-1){var d=s[e];return d.x0=r,d.y0=a,d.x1=o,void(d.y1=c)}var l=u[e],f=i/2+l,h=e+1,p=n-1;for(;h>>1;u[_]c-a){var g=(r*m+o*M)/i;t(e,h,M,r,a,g,c),t(h,n,m,g,a,o,c)}else{var b=(a*m+c*M)/i;t(e,h,M,r,a,o,b),t(h,n,m,r,b,o,c)}}(0,c,t.value,e,n,i,r)},jh=function(t,e,n,i,r){(1&t.depth?Eh:Ah)(t,e,n,i,r)},Ih=function t(e){function n(t,n,i,r,a){if((o=t._squarify)&&o.ratio===e)for(var o,s,c,u,d,l=-1,f=o.length,h=t.value;++l1?e:1)},n}(Xh),Fh=function(t){for(var e,n=-1,i=t.length,r=t[i-1],a=0;++n1&&Vh(t[n[i-2]],t[n[i-1]],t[r])<=0;)--i;n[i++]=r}return n.slice(0,i)}var Kh=function(t){if((n=t.length)<3)return null;var e,n,i=new Array(n),r=new Array(n);for(e=0;e=0;--e)u.push(t[i[a[e]][2]]);for(e=+s;es!=u>s&&o<(c-n)*(s-i)/(u-i)+n&&(d=!d),c=n,u=i;return d},Zh=function(t){for(var e,n,i=-1,r=t.length,a=t[r-1],o=a[0],s=a[1],c=0;++i1);return t+n*a*Math.sqrt(-2*Math.log(r)/r)}}return n.source=t,n}($h),np=function t(e){function n(){var t=ep.source(e).apply(this,arguments);return function(){return Math.exp(t())}}return n.source=t,n}($h),ip=function t(e){function n(t){return function(){for(var n=0,i=0;i2?gp:mp,i=r=null,d}function d(e){return(i||(i=n(a,o,c?function(t){return function(e,n){var i=t(e=+e,n=+n);return function(t){return t<=e?0:t>=n?1:i(t)}}}(t):t,s)))(+e)}return d.invert=function(t){return(r||(r=n(o,a,Mp,c?function(t){return function(e,n){var i=t(e=+e,n=+n);return function(t){return t<=0?e:t>=1?n:i(t)}}}(e):e)))(+t)},d.domain=function(t){return arguments.length?(a=sp.call(t,pp),u()):a.slice()},d.range=function(t){return arguments.length?(o=cp.call(t),u()):o.slice()},d.rangeRound=function(t){return o=cp.call(t),s=Zn,u()},d.clamp=function(t){return arguments.length?(c=!!t,u()):c},d.interpolate=function(t){return arguments.length?(s=t,u()):s},u()}var Lp=function(t,e,n){var i,r=t[0],a=t[t.length-1],o=S(r,a,null==e?10:e);switch((n=Ns(null==n?",f":n)).type){case"s":var s=Math.max(Math.abs(r),Math.abs(a));return null!=n.precision||isNaN(i=Vs(o,s))||(n.precision=i),Xs(n,s);case"":case"e":case"g":case"p":case"r":null!=n.precision||isNaN(i=Us(o,Math.max(Math.abs(r),Math.abs(a))))||(n.precision=i-("e"===n.type));break;case"f":case"%":null!=n.precision||isNaN(i=Gs(o))||(n.precision=i-2*("%"===n.type))}return Es(n)};function Ap(t){var e=t.domain;return t.ticks=function(t){var n=e();return w(n[0],n[n.length-1],null==t?10:t)},t.tickFormat=function(t,n){return Lp(e(),t,n)},t.nice=function(n){null==n&&(n=10);var i,r=e(),a=0,o=r.length-1,s=r[a],c=r[o];return c0?i=T(s=Math.floor(s/i)*i,c=Math.ceil(c/i)*i,n):i<0&&(i=T(s=Math.ceil(s*i)/i,c=Math.floor(c*i)/i,n)),i>0?(r[a]=Math.floor(s/i)*i,r[o]=Math.ceil(c/i)*i,e(r)):i<0&&(r[a]=Math.ceil(s*i)/i,r[o]=Math.floor(c*i)/i,e(r)),t},t}function vp(){var t=yp(Mp,Rn);return t.copy=function(){return bp(t,vp())},Ap(t)}function xp(){var t=[0,1];function e(t){return+t}return e.invert=e,e.domain=e.range=function(n){return arguments.length?(t=sp.call(n,pp),e):t.slice()},e.copy=function(){return xp().domain(t)},Ap(e)}var zp=function(t,e){var n,i=0,r=(t=t.slice()).length-1,a=t[i],o=t[r];return o0){for(;fc)break;_.push(l)}}else for(;f=1;--d)if(!((l=u*d)c)break;_.push(l)}}else _=w(f,h,Math.min(h-f,p)).map(r);return a?_.reverse():_},t.tickFormat=function(e,a){if(null==a&&(a=10===n?".0e":","),"function"!=typeof a&&(a=Es(a)),e===1/0)return a;null==e&&(e=10);var o=Math.max(1,n*e/t.ticks().length);return function(t){var e=t/r(Math.round(i(t)));return e*n0?n[r-1]:t[0],r=n?[i[n-1],e]:[i[o-1],i[o]]},a.copy=function(){return Ep().domain([t,e]).range(r)},Ap(a)}function Xp(){var t=[.5],e=[0,1],n=1;function i(i){if(i<=i)return e[c(t,i,0,n)]}return i.domain=function(r){return arguments.length?(t=cp.call(r),n=Math.min(t.length,e.length-1),i):t.slice()},i.range=function(r){return arguments.length?(e=cp.call(r),n=Math.min(t.length,e.length-1),i):e.slice()},i.invertExtent=function(n){var i=e.indexOf(n);return[t[i-1],t[i]]},i.copy=function(){return Xp().domain(t).range(e)},i}var Cp=new Date,Bp=new Date;function Hp(t,e,n,i){function r(e){return t(e=new Date(+e)),e}return r.floor=r,r.ceil=function(n){return t(n=new Date(n-1)),e(n,1),t(n),n},r.round=function(t){var e=r(t),n=r.ceil(t);return t-e0))return s;do{s.push(o=new Date(+n)),e(n,a),t(n)}while(o=e)for(;t(e),!n(e);)e.setTime(e-1)},function(t,i){if(t>=t)if(i<0)for(;++i<=0;)for(;e(t,-1),!n(t););else for(;--i>=0;)for(;e(t,1),!n(t););})},n&&(r.count=function(e,i){return Cp.setTime(+e),Bp.setTime(+i),t(Cp),t(Bp),Math.floor(n(Cp,Bp))},r.every=function(t){return t=Math.floor(t),isFinite(t)&&t>0?t>1?r.filter(i?function(e){return i(e)%t==0}:function(e){return r.count(0,e)%t==0}):r:null}),r}var Rp=Hp(function(){},function(t,e){t.setTime(+t+e)},function(t,e){return e-t});Rp.every=function(t){return t=Math.floor(t),isFinite(t)&&t>0?t>1?Hp(function(e){e.setTime(Math.floor(e/t)*t)},function(e,n){e.setTime(+e+n*t)},function(e,n){return(n-e)/t}):Rp:null};var jp=Rp,Ip=Rp.range,Fp=6e4,Gp=6048e5,Vp=Hp(function(t){t.setTime(1e3*Math.floor(t/1e3))},function(t,e){t.setTime(+t+1e3*e)},function(t,e){return(e-t)/1e3},function(t){return t.getUTCSeconds()}),Up=Vp,Jp=Vp.range,Kp=Hp(function(t){t.setTime(Math.floor(t/Fp)*Fp)},function(t,e){t.setTime(+t+e*Fp)},function(t,e){return(e-t)/Fp},function(t){return t.getMinutes()}),Qp=Kp,Zp=Kp.range,$p=Hp(function(t){var e=t.getTimezoneOffset()*Fp%36e5;e<0&&(e+=36e5),t.setTime(36e5*Math.floor((+t-e)/36e5)+e)},function(t,e){t.setTime(+t+36e5*e)},function(t,e){return(e-t)/36e5},function(t){return t.getHours()}),t_=$p,e_=$p.range,n_=Hp(function(t){t.setHours(0,0,0,0)},function(t,e){t.setDate(t.getDate()+e)},function(t,e){return(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*Fp)/864e5},function(t){return t.getDate()-1}),i_=n_,r_=n_.range;function a_(t){return Hp(function(e){e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)},function(t,e){t.setDate(t.getDate()+7*e)},function(t,e){return(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*Fp)/Gp})}var o_=a_(0),s_=a_(1),c_=a_(2),u_=a_(3),d_=a_(4),l_=a_(5),f_=a_(6),h_=o_.range,p_=s_.range,__=c_.range,M_=u_.range,m_=d_.range,g_=l_.range,b_=f_.range,y_=Hp(function(t){t.setDate(1),t.setHours(0,0,0,0)},function(t,e){t.setMonth(t.getMonth()+e)},function(t,e){return e.getMonth()-t.getMonth()+12*(e.getFullYear()-t.getFullYear())},function(t){return t.getMonth()}),L_=y_,A_=y_.range,v_=Hp(function(t){t.setMonth(0,1),t.setHours(0,0,0,0)},function(t,e){t.setFullYear(t.getFullYear()+e)},function(t,e){return e.getFullYear()-t.getFullYear()},function(t){return t.getFullYear()});v_.every=function(t){return isFinite(t=Math.floor(t))&&t>0?Hp(function(e){e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)},function(e,n){e.setFullYear(e.getFullYear()+n*t)}):null};var x_=v_,z_=v_.range,w_=Hp(function(t){t.setUTCSeconds(0,0)},function(t,e){t.setTime(+t+e*Fp)},function(t,e){return(e-t)/Fp},function(t){return t.getUTCMinutes()}),T_=w_,S_=w_.range,O_=Hp(function(t){t.setUTCMinutes(0,0,0)},function(t,e){t.setTime(+t+36e5*e)},function(t,e){return(e-t)/36e5},function(t){return t.getUTCHours()}),Y_=O_,k_=O_.range,D_=Hp(function(t){t.setUTCHours(0,0,0,0)},function(t,e){t.setUTCDate(t.getUTCDate()+e)},function(t,e){return(e-t)/864e5},function(t){return t.getUTCDate()-1}),N_=D_,q_=D_.range;function W_(t){return Hp(function(e){e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)},function(t,e){t.setUTCDate(t.getUTCDate()+7*e)},function(t,e){return(e-t)/Gp})}var P_=W_(0),E_=W_(1),X_=W_(2),C_=W_(3),B_=W_(4),H_=W_(5),R_=W_(6),j_=P_.range,I_=E_.range,F_=X_.range,G_=C_.range,V_=B_.range,U_=H_.range,J_=R_.range,K_=Hp(function(t){t.setUTCDate(1),t.setUTCHours(0,0,0,0)},function(t,e){t.setUTCMonth(t.getUTCMonth()+e)},function(t,e){return e.getUTCMonth()-t.getUTCMonth()+12*(e.getUTCFullYear()-t.getUTCFullYear())},function(t){return t.getUTCMonth()}),Q_=K_,Z_=K_.range,$_=Hp(function(t){t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},function(t,e){t.setUTCFullYear(t.getUTCFullYear()+e)},function(t,e){return e.getUTCFullYear()-t.getUTCFullYear()},function(t){return t.getUTCFullYear()});$_.every=function(t){return isFinite(t=Math.floor(t))&&t>0?Hp(function(e){e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},function(e,n){e.setUTCFullYear(e.getUTCFullYear()+n*t)}):null};var tM=$_,eM=$_.range;function nM(t){if(0<=t.y&&t.y<100){var e=new Date(-1,t.m,t.d,t.H,t.M,t.S,t.L);return e.setFullYear(t.y),e}return new Date(t.y,t.m,t.d,t.H,t.M,t.S,t.L)}function iM(t){if(0<=t.y&&t.y<100){var e=new Date(Date.UTC(-1,t.m,t.d,t.H,t.M,t.S,t.L));return e.setUTCFullYear(t.y),e}return new Date(Date.UTC(t.y,t.m,t.d,t.H,t.M,t.S,t.L))}function rM(t){return{y:t,m:0,d:1,H:0,M:0,S:0,L:0}}function aM(t){var e=t.dateTime,n=t.date,i=t.time,r=t.periods,a=t.days,o=t.shortDays,s=t.months,c=t.shortMonths,u=mM(r),d=gM(r),l=mM(a),f=gM(a),h=mM(o),p=gM(o),_=mM(s),M=gM(s),m=mM(c),g=gM(c),b={a:function(t){return o[t.getDay()]},A:function(t){return a[t.getDay()]},b:function(t){return c[t.getMonth()]},B:function(t){return s[t.getMonth()]},c:null,d:XM,e:XM,f:jM,H:CM,I:BM,j:HM,L:RM,m:IM,M:FM,p:function(t){return r[+(t.getHours()>=12)]},Q:bm,s:ym,S:GM,u:VM,U:UM,V:JM,w:KM,W:QM,x:null,X:null,y:ZM,Y:$M,Z:tm,"%":gm},y={a:function(t){return o[t.getUTCDay()]},A:function(t){return a[t.getUTCDay()]},b:function(t){return c[t.getUTCMonth()]},B:function(t){return s[t.getUTCMonth()]},c:null,d:em,e:em,f:om,H:nm,I:im,j:rm,L:am,m:sm,M:cm,p:function(t){return r[+(t.getUTCHours()>=12)]},Q:bm,s:ym,S:um,u:dm,U:lm,V:fm,w:hm,W:pm,x:null,X:null,y:_m,Y:Mm,Z:mm,"%":gm},L={a:function(t,e,n){var i=h.exec(e.slice(n));return i?(t.w=p[i[0].toLowerCase()],n+i[0].length):-1},A:function(t,e,n){var i=l.exec(e.slice(n));return i?(t.w=f[i[0].toLowerCase()],n+i[0].length):-1},b:function(t,e,n){var i=m.exec(e.slice(n));return i?(t.m=g[i[0].toLowerCase()],n+i[0].length):-1},B:function(t,e,n){var i=_.exec(e.slice(n));return i?(t.m=M[i[0].toLowerCase()],n+i[0].length):-1},c:function(t,n,i){return x(t,e,n,i)},d:SM,e:SM,f:qM,H:YM,I:YM,j:OM,L:NM,m:TM,M:kM,p:function(t,e,n){var i=u.exec(e.slice(n));return i?(t.p=d[i[0].toLowerCase()],n+i[0].length):-1},Q:PM,s:EM,S:DM,u:yM,U:LM,V:AM,w:bM,W:vM,x:function(t,e,i){return x(t,n,e,i)},X:function(t,e,n){return x(t,i,e,n)},y:zM,Y:xM,Z:wM,"%":WM};function A(t,e){return function(n){var i,r,a,o=[],s=-1,c=0,u=t.length;for(n instanceof Date||(n=new Date(+n));++s53)return null;"w"in a||(a.w=1),"Z"in a?(i=(r=(i=iM(rM(a.y))).getUTCDay())>4||0===r?E_.ceil(i):E_(i),i=N_.offset(i,7*(a.V-1)),a.y=i.getUTCFullYear(),a.m=i.getUTCMonth(),a.d=i.getUTCDate()+(a.w+6)%7):(i=(r=(i=e(rM(a.y))).getDay())>4||0===r?s_.ceil(i):s_(i),i=i_.offset(i,7*(a.V-1)),a.y=i.getFullYear(),a.m=i.getMonth(),a.d=i.getDate()+(a.w+6)%7)}else("W"in a||"U"in a)&&("w"in a||(a.w="u"in a?a.u%7:"W"in a?1:0),r="Z"in a?iM(rM(a.y)).getUTCDay():e(rM(a.y)).getDay(),a.m=0,a.d="W"in a?(a.w+6)%7+7*a.W-(r+5)%7:a.w+7*a.U-(r+6)%7);return"Z"in a?(a.H+=a.Z/100|0,a.M+=a.Z%100,iM(a)):e(a)}}function x(t,e,n,i){for(var r,a,o=0,s=e.length,c=n.length;o=c)return-1;if(37===(r=e.charCodeAt(o++))){if(r=e.charAt(o++),!(a=L[r in lM?e.charAt(o++):r])||(i=a(t,n,i))<0)return-1}else if(r!=n.charCodeAt(i++))return-1}return i}return b.x=A(n,b),b.X=A(i,b),b.c=A(e,b),y.x=A(n,y),y.X=A(i,y),y.c=A(e,y),{format:function(t){var e=A(t+="",b);return e.toString=function(){return t},e},parse:function(t){var e=v(t+="",nM);return e.toString=function(){return t},e},utcFormat:function(t){var e=A(t+="",y);return e.toString=function(){return t},e},utcParse:function(t){var e=v(t,iM);return e.toString=function(){return t},e}}}var oM,sM,cM,uM,dM,lM={"-":"",_:" ",0:"0"},fM=/^\s*\d+/,hM=/^%/,pM=/[\\^$*+?|[\]().{}]/g;function _M(t,e,n){var i=t<0?"-":"",r=(i?-t:t)+"",a=r.length;return i+(a68?1900:2e3),n+i[0].length):-1}function wM(t,e,n){var i=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(n,n+6));return i?(t.Z=i[1]?0:-(i[2]+(i[3]||"00")),n+i[0].length):-1}function TM(t,e,n){var i=fM.exec(e.slice(n,n+2));return i?(t.m=i[0]-1,n+i[0].length):-1}function SM(t,e,n){var i=fM.exec(e.slice(n,n+2));return i?(t.d=+i[0],n+i[0].length):-1}function OM(t,e,n){var i=fM.exec(e.slice(n,n+3));return i?(t.m=0,t.d=+i[0],n+i[0].length):-1}function YM(t,e,n){var i=fM.exec(e.slice(n,n+2));return i?(t.H=+i[0],n+i[0].length):-1}function kM(t,e,n){var i=fM.exec(e.slice(n,n+2));return i?(t.M=+i[0],n+i[0].length):-1}function DM(t,e,n){var i=fM.exec(e.slice(n,n+2));return i?(t.S=+i[0],n+i[0].length):-1}function NM(t,e,n){var i=fM.exec(e.slice(n,n+3));return i?(t.L=+i[0],n+i[0].length):-1}function qM(t,e,n){var i=fM.exec(e.slice(n,n+6));return i?(t.L=Math.floor(i[0]/1e3),n+i[0].length):-1}function WM(t,e,n){var i=hM.exec(e.slice(n,n+1));return i?n+i[0].length:-1}function PM(t,e,n){var i=fM.exec(e.slice(n));return i?(t.Q=+i[0],n+i[0].length):-1}function EM(t,e,n){var i=fM.exec(e.slice(n));return i?(t.Q=1e3*+i[0],n+i[0].length):-1}function XM(t,e){return _M(t.getDate(),e,2)}function CM(t,e){return _M(t.getHours(),e,2)}function BM(t,e){return _M(t.getHours()%12||12,e,2)}function HM(t,e){return _M(1+i_.count(x_(t),t),e,3)}function RM(t,e){return _M(t.getMilliseconds(),e,3)}function jM(t,e){return RM(t,e)+"000"}function IM(t,e){return _M(t.getMonth()+1,e,2)}function FM(t,e){return _M(t.getMinutes(),e,2)}function GM(t,e){return _M(t.getSeconds(),e,2)}function VM(t){var e=t.getDay();return 0===e?7:e}function UM(t,e){return _M(o_.count(x_(t),t),e,2)}function JM(t,e){var n=t.getDay();return t=n>=4||0===n?d_(t):d_.ceil(t),_M(d_.count(x_(t),t)+(4===x_(t).getDay()),e,2)}function KM(t){return t.getDay()}function QM(t,e){return _M(s_.count(x_(t),t),e,2)}function ZM(t,e){return _M(t.getFullYear()%100,e,2)}function $M(t,e){return _M(t.getFullYear()%1e4,e,4)}function tm(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+_M(e/60|0,"0",2)+_M(e%60,"0",2)}function em(t,e){return _M(t.getUTCDate(),e,2)}function nm(t,e){return _M(t.getUTCHours(),e,2)}function im(t,e){return _M(t.getUTCHours()%12||12,e,2)}function rm(t,e){return _M(1+N_.count(tM(t),t),e,3)}function am(t,e){return _M(t.getUTCMilliseconds(),e,3)}function om(t,e){return am(t,e)+"000"}function sm(t,e){return _M(t.getUTCMonth()+1,e,2)}function cm(t,e){return _M(t.getUTCMinutes(),e,2)}function um(t,e){return _M(t.getUTCSeconds(),e,2)}function dm(t){var e=t.getUTCDay();return 0===e?7:e}function lm(t,e){return _M(P_.count(tM(t),t),e,2)}function fm(t,e){var n=t.getUTCDay();return t=n>=4||0===n?B_(t):B_.ceil(t),_M(B_.count(tM(t),t)+(4===tM(t).getUTCDay()),e,2)}function hm(t){return t.getUTCDay()}function pm(t,e){return _M(E_.count(tM(t),t),e,2)}function _m(t,e){return _M(t.getUTCFullYear()%100,e,2)}function Mm(t,e){return _M(t.getUTCFullYear()%1e4,e,4)}function mm(){return"+0000"}function gm(){return"%"}function bm(t){return+t}function ym(t){return Math.floor(+t/1e3)}function Lm(t){return oM=aM(t),sM=oM.format,cM=oM.parse,uM=oM.utcFormat,dM=oM.utcParse,oM}Lm({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});var Am=Date.prototype.toISOString?function(t){return t.toISOString()}:uM("%Y-%m-%dT%H:%M:%S.%LZ");var vm=+new Date("2000-01-01T00:00:00.000Z")?function(t){var e=new Date(t);return isNaN(e)?null:e}:dM("%Y-%m-%dT%H:%M:%S.%LZ"),xm=1e3,zm=60*xm,wm=60*zm,Tm=24*wm,Sm=7*Tm,Om=30*Tm,Ym=365*Tm;function km(t){return new Date(t)}function Dm(t){return t instanceof Date?+t:+new Date(+t)}function Nm(t,e,n,i,a,o,s,c,u){var d=yp(Mp,Rn),l=d.invert,f=d.domain,h=u(".%L"),p=u(":%S"),_=u("%I:%M"),M=u("%I %p"),m=u("%a %d"),g=u("%b %d"),b=u("%B"),y=u("%Y"),L=[[s,1,xm],[s,5,5*xm],[s,15,15*xm],[s,30,30*xm],[o,1,zm],[o,5,5*zm],[o,15,15*zm],[o,30,30*zm],[a,1,wm],[a,3,3*wm],[a,6,6*wm],[a,12,12*wm],[i,1,Tm],[i,2,2*Tm],[n,1,Sm],[e,1,Om],[e,3,3*Om],[t,1,Ym]];function A(r){return(s(r)1)&&(t-=Math.floor(t));var e=Math.abs(t-.5);return Qg.h=360*t-100,Qg.s=1.5-1.5*e,Qg.l=.8-.9*e,Qg+""},$g=Fe(),tb=Math.PI/3,eb=2*Math.PI/3,nb=function(t){var e;return t=(.5-t)*Math.PI,$g.r=255*(e=Math.sin(t))*e,$g.g=255*(e=Math.sin(t+tb))*e,$g.b=255*(e=Math.sin(t+eb))*e,$g+""};function ib(t){var e=t.length;return function(n){return t[Math.max(0,Math.min(e-1,Math.floor(n*e)))]}}var rb=ib(Em("44015444025645045745055946075a46085c460a5d460b5e470d60470e6147106347116447136548146748166848176948186a481a6c481b6d481c6e481d6f481f70482071482173482374482475482576482677482878482979472a7a472c7a472d7b472e7c472f7d46307e46327e46337f463480453581453781453882443983443a83443b84433d84433e85423f854240864241864142874144874045884046883f47883f48893e49893e4a893e4c8a3d4d8a3d4e8a3c4f8a3c508b3b518b3b528b3a538b3a548c39558c39568c38588c38598c375a8c375b8d365c8d365d8d355e8d355f8d34608d34618d33628d33638d32648e32658e31668e31678e31688e30698e306a8e2f6b8e2f6c8e2e6d8e2e6e8e2e6f8e2d708e2d718e2c718e2c728e2c738e2b748e2b758e2a768e2a778e2a788e29798e297a8e297b8e287c8e287d8e277e8e277f8e27808e26818e26828e26828e25838e25848e25858e24868e24878e23888e23898e238a8d228b8d228c8d228d8d218e8d218f8d21908d21918c20928c20928c20938c1f948c1f958b1f968b1f978b1f988b1f998a1f9a8a1e9b8a1e9c891e9d891f9e891f9f881fa0881fa1881fa1871fa28720a38620a48621a58521a68522a78522a88423a98324aa8325ab8225ac8226ad8127ad8128ae8029af7f2ab07f2cb17e2db27d2eb37c2fb47c31b57b32b67a34b67935b77937b87838b9773aba763bbb753dbc743fbc7340bd7242be7144bf7046c06f48c16e4ac16d4cc26c4ec36b50c46a52c56954c56856c66758c7655ac8645cc8635ec96260ca6063cb5f65cb5e67cc5c69cd5b6ccd5a6ece5870cf5773d05675d05477d1537ad1517cd2507fd34e81d34d84d44b86d54989d5488bd6468ed64590d74393d74195d84098d83e9bd93c9dd93ba0da39a2da37a5db36a8db34aadc32addc30b0dd2fb2dd2db5de2bb8de29bade28bddf26c0df25c2df23c5e021c8e020cae11fcde11dd0e11cd2e21bd5e21ad8e219dae319dde318dfe318e2e418e5e419e7e419eae51aece51befe51cf1e51df4e61ef6e620f8e621fbe723fde725")),ab=ib(Em("00000401000501010601010802010902020b02020d03030f03031204041405041606051806051a07061c08071e0907200a08220b09240c09260d0a290e0b2b100b2d110c2f120d31130d34140e36150e38160f3b180f3d19103f1a10421c10441d11471e114920114b21114e22115024125325125527125829115a2a115c2c115f2d11612f116331116533106734106936106b38106c390f6e3b0f703d0f713f0f72400f74420f75440f764510774710784910784a10794c117a4e117b4f127b51127c52137c54137d56147d57157e59157e5a167e5c167f5d177f5f187f601880621980641a80651a80671b80681c816a1c816b1d816d1d816e1e81701f81721f817320817521817621817822817922827b23827c23827e24828025828125818326818426818627818827818928818b29818c29818e2a81902a81912b81932b80942c80962c80982d80992d809b2e7f9c2e7f9e2f7fa02f7fa1307ea3307ea5317ea6317da8327daa337dab337cad347cae347bb0357bb2357bb3367ab5367ab73779b83779ba3878bc3978bd3977bf3a77c03a76c23b75c43c75c53c74c73d73c83e73ca3e72cc3f71cd4071cf4070d0416fd2426fd3436ed5446dd6456cd8456cd9466bdb476adc4869de4968df4a68e04c67e24d66e34e65e44f64e55064e75263e85362e95462ea5661eb5760ec5860ed5a5fee5b5eef5d5ef05f5ef1605df2625df2645cf3655cf4675cf4695cf56b5cf66c5cf66e5cf7705cf7725cf8745cf8765cf9785df9795df97b5dfa7d5efa7f5efa815ffb835ffb8560fb8761fc8961fc8a62fc8c63fc8e64fc9065fd9266fd9467fd9668fd9869fd9a6afd9b6bfe9d6cfe9f6dfea16efea36ffea571fea772fea973feaa74feac76feae77feb078feb27afeb47bfeb67cfeb77efeb97ffebb81febd82febf84fec185fec287fec488fec68afec88cfeca8dfecc8ffecd90fecf92fed194fed395fed597fed799fed89afdda9cfddc9efddea0fde0a1fde2a3fde3a5fde5a7fde7a9fde9aafdebacfcecaefceeb0fcf0b2fcf2b4fcf4b6fcf6b8fcf7b9fcf9bbfcfbbdfcfdbf")),ob=ib(Em("00000401000501010601010802010a02020c02020e03021004031204031405041706041907051b08051d09061f0a07220b07240c08260d08290e092b10092d110a30120a32140b34150b37160b39180c3c190c3e1b0c411c0c431e0c451f0c48210c4a230c4c240c4f260c51280b53290b552b0b572d0b592f0a5b310a5c320a5e340a5f3609613809623909633b09643d09653e0966400a67420a68440a68450a69470b6a490b6a4a0c6b4c0c6b4d0d6c4f0d6c510e6c520e6d540f6d550f6d57106e59106e5a116e5c126e5d126e5f136e61136e62146e64156e65156e67166e69166e6a176e6c186e6d186e6f196e71196e721a6e741a6e751b6e771c6d781c6d7a1d6d7c1d6d7d1e6d7f1e6c801f6c82206c84206b85216b87216b88226a8a226a8c23698d23698f24699025689225689326679526679727669827669a28659b29649d29649f2a63a02a63a22b62a32c61a52c60a62d60a82e5fa92e5eab2f5ead305dae305cb0315bb1325ab3325ab43359b63458b73557b93556ba3655bc3754bd3853bf3952c03a51c13a50c33b4fc43c4ec63d4dc73e4cc83f4bca404acb4149cc4248ce4347cf4446d04545d24644d34743d44842d54a41d74b3fd84c3ed94d3dda4e3cdb503bdd513ade5238df5337e05536e15635e25734e35933e45a31e55c30e65d2fe75e2ee8602de9612bea632aeb6429eb6628ec6726ed6925ee6a24ef6c23ef6e21f06f20f1711ff1731df2741cf3761bf37819f47918f57b17f57d15f67e14f68013f78212f78410f8850ff8870ef8890cf98b0bf98c0af98e09fa9008fa9207fa9407fb9606fb9706fb9906fb9b06fb9d07fc9f07fca108fca309fca50afca60cfca80dfcaa0ffcac11fcae12fcb014fcb216fcb418fbb61afbb81dfbba1ffbbc21fbbe23fac026fac228fac42afac62df9c72ff9c932f9cb35f8cd37f8cf3af7d13df7d340f6d543f6d746f5d949f5db4cf4dd4ff4df53f4e156f3e35af3e55df2e661f2e865f2ea69f1ec6df1ed71f1ef75f1f179f2f27df2f482f3f586f3f68af4f88ef5f992f6fa96f8fb9af9fc9dfafda1fcffa4")),sb=ib(Em("0d088710078813078916078a19068c1b068d1d068e20068f2206902406912605912805922a05932c05942e05952f059631059733059735049837049938049a3a049a3c049b3e049c3f049c41049d43039e44039e46039f48039f4903a04b03a14c02a14e02a25002a25102a35302a35502a45601a45801a45901a55b01a55c01a65e01a66001a66100a76300a76400a76600a76700a86900a86a00a86c00a86e00a86f00a87100a87201a87401a87501a87701a87801a87a02a87b02a87d03a87e03a88004a88104a78305a78405a78606a68707a68808a68a09a58b0aa58d0ba58e0ca48f0da4910ea3920fa39410a29511a19613a19814a099159f9a169f9c179e9d189d9e199da01a9ca11b9ba21d9aa31e9aa51f99a62098a72197a82296aa2395ab2494ac2694ad2793ae2892b02991b12a90b22b8fb32c8eb42e8db52f8cb6308bb7318ab83289ba3388bb3488bc3587bd3786be3885bf3984c03a83c13b82c23c81c33d80c43e7fc5407ec6417dc7427cc8437bc9447aca457acb4679cc4778cc4977cd4a76ce4b75cf4c74d04d73d14e72d24f71d35171d45270d5536fd5546ed6556dd7566cd8576bd9586ada5a6ada5b69db5c68dc5d67dd5e66de5f65de6164df6263e06363e16462e26561e26660e3685fe4695ee56a5de56b5de66c5ce76e5be76f5ae87059e97158e97257ea7457eb7556eb7655ec7754ed7953ed7a52ee7b51ef7c51ef7e50f07f4ff0804ef1814df1834cf2844bf3854bf3874af48849f48948f58b47f58c46f68d45f68f44f79044f79143f79342f89441f89540f9973ff9983ef99a3efa9b3dfa9c3cfa9e3bfb9f3afba139fba238fca338fca537fca636fca835fca934fdab33fdac33fdae32fdaf31fdb130fdb22ffdb42ffdb52efeb72dfeb82cfeba2cfebb2bfebd2afebe2afec029fdc229fdc328fdc527fdc627fdc827fdca26fdcb26fccd25fcce25fcd025fcd225fbd324fbd524fbd724fad824fada24f9dc24f9dd25f8df25f8e125f7e225f7e425f6e626f6e826f5e926f5eb27f4ed27f3ee27f3f027f2f227f1f426f1f525f0f724f0f921")),cb=function(t){return function(){return t}},ub=Math.abs,db=Math.atan2,lb=Math.cos,fb=Math.max,hb=Math.min,pb=Math.sin,_b=Math.sqrt,Mb=1e-12,mb=Math.PI,gb=mb/2,bb=2*mb;function yb(t){return t>=1?gb:t<=-1?-gb:Math.asin(t)}function Lb(t){return t.innerRadius}function Ab(t){return t.outerRadius}function vb(t){return t.startAngle}function xb(t){return t.endAngle}function zb(t){return t&&t.padAngle}function wb(t,e,n,i,r,a,o){var s=t-n,c=e-i,u=(o?a:-a)/_b(s*s+c*c),d=u*c,l=-u*s,f=t+d,h=e+l,p=n+d,_=i+l,M=(f+p)/2,m=(h+_)/2,g=p-f,b=_-h,y=g*g+b*b,L=r-a,A=f*_-p*h,v=(b<0?-1:1)*_b(fb(0,L*L*y-A*A)),x=(A*b-g*v)/y,z=(-A*g-b*v)/y,w=(A*b+g*v)/y,T=(-A*g+b*v)/y,S=x-M,O=z-m,Y=w-M,k=T-m;return S*S+O*O>Y*Y+k*k&&(x=w,z=T),{cx:x,cy:z,x01:-d,y01:-l,x11:x*(r/L-1),y11:z*(r/L-1)}}var Tb=function(){var t=Lb,e=Ab,n=cb(0),i=null,r=vb,a=xb,o=zb,s=null;function c(){var c,u,d,l=+t.apply(this,arguments),f=+e.apply(this,arguments),h=r.apply(this,arguments)-gb,p=a.apply(this,arguments)-gb,_=ub(p-h),M=p>h;if(s||(s=c=Ba()),fMb)if(_>bb-Mb)s.moveTo(f*lb(h),f*pb(h)),s.arc(0,0,f,h,p,!M),l>Mb&&(s.moveTo(l*lb(p),l*pb(p)),s.arc(0,0,l,p,h,M));else{var m,g,b=h,y=p,L=h,A=p,v=_,x=_,z=o.apply(this,arguments)/2,w=z>Mb&&(i?+i.apply(this,arguments):_b(l*l+f*f)),T=hb(ub(f-l)/2,+n.apply(this,arguments)),S=T,O=T;if(w>Mb){var Y=yb(w/l*pb(z)),k=yb(w/f*pb(z));(v-=2*Y)>Mb?(L+=Y*=M?1:-1,A-=Y):(v=0,L=A=(h+p)/2),(x-=2*k)>Mb?(b+=k*=M?1:-1,y-=k):(x=0,b=y=(h+p)/2)}var D=f*lb(b),N=f*pb(b),q=l*lb(A),W=l*pb(A);if(T>Mb){var P=f*lb(y),E=f*pb(y),X=l*lb(L),C=l*pb(L);if(_Mb?function(t,e,n,i,r,a,o,s){var c=n-t,u=i-e,d=o-r,l=s-a,f=(d*(e-a)-l*(t-r))/(l*c-d*u);return[t+f*c,e+f*u]}(D,N,X,C,P,E,q,W):[q,W],H=D-B[0],R=N-B[1],j=P-B[0],I=E-B[1],F=1/pb(((d=(H*j+R*I)/(_b(H*H+R*R)*_b(j*j+I*I)))>1?0:d<-1?mb:Math.acos(d))/2),G=_b(B[0]*B[0]+B[1]*B[1]);S=hb(T,(l-G)/(F-1)),O=hb(T,(f-G)/(F+1))}}x>Mb?O>Mb?(m=wb(X,C,D,N,f,O,M),g=wb(P,E,q,W,f,O,M),s.moveTo(m.cx+m.x01,m.cy+m.y01),OMb&&v>Mb?S>Mb?(m=wb(q,W,P,E,l,-S,M),g=wb(D,N,X,C,l,-S,M),s.lineTo(m.cx+m.x01,m.cy+m.y01),S=d;--l)s.point(M[l],m[l]);s.lineEnd(),s.areaEnd()}_&&(M[u]=+t(f,u,c),m[u]=+n(f,u,c),s.point(e?+e(f,u,c):M[u],i?+i(f,u,c):m[u]))}if(h)return s=null,h+""||null}function u(){return Db().defined(r).curve(o).context(a)}return c.x=function(n){return arguments.length?(t="function"==typeof n?n:cb(+n),e=null,c):t},c.x0=function(e){return arguments.length?(t="function"==typeof e?e:cb(+e),c):t},c.x1=function(t){return arguments.length?(e=null==t?null:"function"==typeof t?t:cb(+t),c):e},c.y=function(t){return arguments.length?(n="function"==typeof t?t:cb(+t),i=null,c):n},c.y0=function(t){return arguments.length?(n="function"==typeof t?t:cb(+t),c):n},c.y1=function(t){return arguments.length?(i=null==t?null:"function"==typeof t?t:cb(+t),c):i},c.lineX0=c.lineY0=function(){return u().x(t).y(n)},c.lineY1=function(){return u().x(t).y(i)},c.lineX1=function(){return u().x(e).y(n)},c.defined=function(t){return arguments.length?(r="function"==typeof t?t:cb(!!t),c):r},c.curve=function(t){return arguments.length?(o=t,null!=a&&(s=o(a)),c):o},c.context=function(t){return arguments.length?(null==t?a=s=null:s=o(a=t),c):a},c},qb=function(t,e){return et?1:e>=t?0:NaN},Wb=function(t){return t},Pb=function(){var t=Wb,e=qb,n=null,i=cb(0),r=cb(bb),a=cb(0);function o(o){var s,c,u,d,l,f=o.length,h=0,p=new Array(f),_=new Array(f),M=+i.apply(this,arguments),m=Math.min(bb,Math.max(-bb,r.apply(this,arguments)-M)),g=Math.min(Math.abs(m)/f,a.apply(this,arguments)),b=g*(m<0?-1:1);for(s=0;s0&&(h+=l);for(null!=e?p.sort(function(t,n){return e(_[t],_[n])}):null!=n&&p.sort(function(t,e){return n(o[t],o[e])}),s=0,u=h?(m-f*b)/h:0;s0?l*u:0)+b,_[c]={data:o[c],index:s,value:l,startAngle:M,endAngle:d,padAngle:g};return _}return o.value=function(e){return arguments.length?(t="function"==typeof e?e:cb(+e),o):t},o.sortValues=function(t){return arguments.length?(e=t,n=null,o):e},o.sort=function(t){return arguments.length?(n=t,e=null,o):n},o.startAngle=function(t){return arguments.length?(i="function"==typeof t?t:cb(+t),o):i},o.endAngle=function(t){return arguments.length?(r="function"==typeof t?t:cb(+t),o):r},o.padAngle=function(t){return arguments.length?(a="function"==typeof t?t:cb(+t),o):a},o},Eb=Cb(Ob);function Xb(t){this._curve=t}function Cb(t){function e(e){return new Xb(t(e))}return e._curve=t,e}function Bb(t){var e=t.curve;return t.angle=t.x,delete t.x,t.radius=t.y,delete t.y,t.curve=function(t){return arguments.length?e(Cb(t)):e()._curve},t}Xb.prototype={areaStart:function(){this._curve.areaStart()},areaEnd:function(){this._curve.areaEnd()},lineStart:function(){this._curve.lineStart()},lineEnd:function(){this._curve.lineEnd()},point:function(t,e){this._curve.point(e*Math.sin(t),e*-Math.cos(t))}};var Hb=function(){return Bb(Db().curve(Eb))},Rb=function(){var t=Nb().curve(Eb),e=t.curve,n=t.lineX0,i=t.lineX1,r=t.lineY0,a=t.lineY1;return t.angle=t.x,delete t.x,t.startAngle=t.x0,delete t.x0,t.endAngle=t.x1,delete t.x1,t.radius=t.y,delete t.y,t.innerRadius=t.y0,delete t.y0,t.outerRadius=t.y1,delete t.y1,t.lineStartAngle=function(){return Bb(n())},delete t.lineX0,t.lineEndAngle=function(){return Bb(i())},delete t.lineX1,t.lineInnerRadius=function(){return Bb(r())},delete t.lineY0,t.lineOuterRadius=function(){return Bb(a())},delete t.lineY1,t.curve=function(t){return arguments.length?e(Cb(t)):e()._curve},t},jb=function(t,e){return[(e=+e)*Math.cos(t-=Math.PI/2),e*Math.sin(t)]},Ib=Array.prototype.slice;function Fb(t){return t.source}function Gb(t){return t.target}function Vb(t){var e=Fb,n=Gb,i=Yb,r=kb,a=null;function o(){var o,s=Ib.call(arguments),c=e.apply(this,s),u=n.apply(this,s);if(a||(a=o=Ba()),t(a,+i.apply(this,(s[0]=c,s)),+r.apply(this,s),+i.apply(this,(s[0]=u,s)),+r.apply(this,s)),o)return a=null,o+""||null}return o.source=function(t){return arguments.length?(e=t,o):e},o.target=function(t){return arguments.length?(n=t,o):n},o.x=function(t){return arguments.length?(i="function"==typeof t?t:cb(+t),o):i},o.y=function(t){return arguments.length?(r="function"==typeof t?t:cb(+t),o):r},o.context=function(t){return arguments.length?(a=null==t?null:t,o):a},o}function Ub(t,e,n,i,r){t.moveTo(e,n),t.bezierCurveTo(e=(e+i)/2,n,e,r,i,r)}function Jb(t,e,n,i,r){t.moveTo(e,n),t.bezierCurveTo(e,n=(n+r)/2,i,n,i,r)}function Kb(t,e,n,i,r){var a=jb(e,n),o=jb(e,n=(n+r)/2),s=jb(i,n),c=jb(i,r);t.moveTo(a[0],a[1]),t.bezierCurveTo(o[0],o[1],s[0],s[1],c[0],c[1])}function Qb(){return Vb(Ub)}function Zb(){return Vb(Jb)}function $b(){var t=Vb(Kb);return t.angle=t.x,delete t.x,t.radius=t.y,delete t.y,t}var ty={draw:function(t,e){var n=Math.sqrt(e/mb);t.moveTo(n,0),t.arc(0,0,n,0,bb)}},ey={draw:function(t,e){var n=Math.sqrt(e/5)/2;t.moveTo(-3*n,-n),t.lineTo(-n,-n),t.lineTo(-n,-3*n),t.lineTo(n,-3*n),t.lineTo(n,-n),t.lineTo(3*n,-n),t.lineTo(3*n,n),t.lineTo(n,n),t.lineTo(n,3*n),t.lineTo(-n,3*n),t.lineTo(-n,n),t.lineTo(-3*n,n),t.closePath()}},ny=Math.sqrt(1/3),iy=2*ny,ry={draw:function(t,e){var n=Math.sqrt(e/iy),i=n*ny;t.moveTo(0,-n),t.lineTo(i,0),t.lineTo(0,n),t.lineTo(-i,0),t.closePath()}},ay=Math.sin(mb/10)/Math.sin(7*mb/10),oy=Math.sin(bb/10)*ay,sy=-Math.cos(bb/10)*ay,cy={draw:function(t,e){var n=Math.sqrt(.8908130915292852*e),i=oy*n,r=sy*n;t.moveTo(0,-n),t.lineTo(i,r);for(var a=1;a<5;++a){var o=bb*a/5,s=Math.cos(o),c=Math.sin(o);t.lineTo(c*n,-s*n),t.lineTo(s*i-c*r,c*i+s*r)}t.closePath()}},uy={draw:function(t,e){var n=Math.sqrt(e),i=-n/2;t.rect(i,i,n,n)}},dy=Math.sqrt(3),ly={draw:function(t,e){var n=-Math.sqrt(e/(3*dy));t.moveTo(0,2*n),t.lineTo(-dy*n,-n),t.lineTo(dy*n,-n),t.closePath()}},fy=Math.sqrt(3)/2,hy=1/Math.sqrt(12),py=3*(hy/2+1),_y={draw:function(t,e){var n=Math.sqrt(e/py),i=n/2,r=n*hy,a=i,o=n*hy+n,s=-a,c=o;t.moveTo(i,r),t.lineTo(a,o),t.lineTo(s,c),t.lineTo(-.5*i-fy*r,fy*i+-.5*r),t.lineTo(-.5*a-fy*o,fy*a+-.5*o),t.lineTo(-.5*s-fy*c,fy*s+-.5*c),t.lineTo(-.5*i+fy*r,-.5*r-fy*i),t.lineTo(-.5*a+fy*o,-.5*o-fy*a),t.lineTo(-.5*s+fy*c,-.5*c-fy*s),t.closePath()}},My=[ty,ey,ry,uy,cy,ly,_y],my=function(){var t=cb(ty),e=cb(64),n=null;function i(){var i;if(n||(n=i=Ba()),t.apply(this,arguments).draw(n,+e.apply(this,arguments)),i)return n=null,i+""||null}return i.type=function(e){return arguments.length?(t="function"==typeof e?e:cb(e),i):t},i.size=function(t){return arguments.length?(e="function"==typeof t?t:cb(+t),i):e},i.context=function(t){return arguments.length?(n=null==t?null:t,i):n},i},gy=function(){};function by(t,e,n){t._context.bezierCurveTo((2*t._x0+t._x1)/3,(2*t._y0+t._y1)/3,(t._x0+2*t._x1)/3,(t._y0+2*t._y1)/3,(t._x0+4*t._x1+e)/6,(t._y0+4*t._y1+n)/6)}function yy(t){this._context=t}yy.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:by(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:by(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};var Ly=function(t){return new yy(t)};function Ay(t){this._context=t}Ay.prototype={areaStart:gy,areaEnd:gy,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x2,this._y2),this._context.closePath();break;case 2:this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break;case 3:this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4)}},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x2=t,this._y2=e;break;case 1:this._point=2,this._x3=t,this._y3=e;break;case 2:this._point=3,this._x4=t,this._y4=e,this._context.moveTo((this._x0+4*this._x1+t)/6,(this._y0+4*this._y1+e)/6);break;default:by(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};var vy=function(t){return new Ay(t)};function xy(t){this._context=t}xy.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var n=(this._x0+4*this._x1+t)/6,i=(this._y0+4*this._y1+e)/6;this._line?this._context.lineTo(n,i):this._context.moveTo(n,i);break;case 3:this._point=4;default:by(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};var zy=function(t){return new xy(t)};function wy(t,e){this._basis=new yy(t),this._beta=e}wy.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var t=this._x,e=this._y,n=t.length-1;if(n>0)for(var i,r=t[0],a=e[0],o=t[n]-r,s=e[n]-a,c=-1;++c<=n;)i=c/n,this._basis.point(this._beta*t[c]+(1-this._beta)*(r+i*o),this._beta*e[c]+(1-this._beta)*(a+i*s));this._x=this._y=null,this._basis.lineEnd()},point:function(t,e){this._x.push(+t),this._y.push(+e)}};var Ty=function t(e){function n(t){return 1===e?new yy(t):new wy(t,e)}return n.beta=function(e){return t(+e)},n}(.85);function Sy(t,e,n){t._context.bezierCurveTo(t._x1+t._k*(t._x2-t._x0),t._y1+t._k*(t._y2-t._y0),t._x2+t._k*(t._x1-e),t._y2+t._k*(t._y1-n),t._x2,t._y2)}function Oy(t,e){this._context=t,this._k=(1-e)/6}Oy.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:Sy(this,this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2,this._x1=t,this._y1=e;break;case 2:this._point=3;default:Sy(this,t,e)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var Yy=function t(e){function n(t){return new Oy(t,e)}return n.tension=function(e){return t(+e)},n}(0);function ky(t,e){this._context=t,this._k=(1-e)/6}ky.prototype={areaStart:gy,areaEnd:gy,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:Sy(this,t,e)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var Dy=function t(e){function n(t){return new ky(t,e)}return n.tension=function(e){return t(+e)},n}(0);function Ny(t,e){this._context=t,this._k=(1-e)/6}Ny.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:Sy(this,t,e)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var qy=function t(e){function n(t){return new Ny(t,e)}return n.tension=function(e){return t(+e)},n}(0);function Wy(t,e,n){var i=t._x1,r=t._y1,a=t._x2,o=t._y2;if(t._l01_a>Mb){var s=2*t._l01_2a+3*t._l01_a*t._l12_a+t._l12_2a,c=3*t._l01_a*(t._l01_a+t._l12_a);i=(i*s-t._x0*t._l12_2a+t._x2*t._l01_2a)/c,r=(r*s-t._y0*t._l12_2a+t._y2*t._l01_2a)/c}if(t._l23_a>Mb){var u=2*t._l23_2a+3*t._l23_a*t._l12_a+t._l12_2a,d=3*t._l23_a*(t._l23_a+t._l12_a);a=(a*u+t._x1*t._l23_2a-e*t._l12_2a)/d,o=(o*u+t._y1*t._l23_2a-n*t._l12_2a)/d}t._context.bezierCurveTo(i,r,a,o,t._x2,t._y2)}function Py(t,e){this._context=t,this._alpha=e}Py.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){if(t=+t,e=+e,this._point){var n=this._x2-t,i=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+i*i,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3;default:Wy(this,t,e)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var Ey=function t(e){function n(t){return e?new Py(t,e):new Oy(t,0)}return n.alpha=function(e){return t(+e)},n}(.5);function Xy(t,e){this._context=t,this._alpha=e}Xy.prototype={areaStart:gy,areaEnd:gy,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(t,e){if(t=+t,e=+e,this._point){var n=this._x2-t,i=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+i*i,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:Wy(this,t,e)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var Cy=function t(e){function n(t){return e?new Xy(t,e):new ky(t,0)}return n.alpha=function(e){return t(+e)},n}(.5);function By(t,e){this._context=t,this._alpha=e}By.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){if(t=+t,e=+e,this._point){var n=this._x2-t,i=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+i*i,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:Wy(this,t,e)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var Hy=function t(e){function n(t){return e?new By(t,e):new Ny(t,0)}return n.alpha=function(e){return t(+e)},n}(.5);function Ry(t){this._context=t}Ry.prototype={areaStart:gy,areaEnd:gy,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(t,e){t=+t,e=+e,this._point?this._context.lineTo(t,e):(this._point=1,this._context.moveTo(t,e))}};var jy=function(t){return new Ry(t)};function Iy(t){return t<0?-1:1}function Fy(t,e,n){var i=t._x1-t._x0,r=e-t._x1,a=(t._y1-t._y0)/(i||r<0&&-0),o=(n-t._y1)/(r||i<0&&-0),s=(a*r+o*i)/(i+r);return(Iy(a)+Iy(o))*Math.min(Math.abs(a),Math.abs(o),.5*Math.abs(s))||0}function Gy(t,e){var n=t._x1-t._x0;return n?(3*(t._y1-t._y0)/n-e)/2:e}function Vy(t,e,n){var i=t._x0,r=t._y0,a=t._x1,o=t._y1,s=(a-i)/3;t._context.bezierCurveTo(i+s,r+s*e,a-s,o-s*n,a,o)}function Uy(t){this._context=t}function Jy(t){this._context=new Ky(t)}function Ky(t){this._context=t}function Qy(t){return new Uy(t)}function Zy(t){return new Jy(t)}function $y(t){this._context=t}function tL(t){var e,n,i=t.length-1,r=new Array(i),a=new Array(i),o=new Array(i);for(r[0]=0,a[0]=2,o[0]=t[0]+2*t[1],e=1;e=0;--e)r[e]=(o[e]-r[e+1])/a[e];for(a[i-1]=(t[i]+r[i-1])/2,e=0;e=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:if(this._t<=0)this._context.lineTo(this._x,e),this._context.lineTo(t,e);else{var n=this._x*(1-this._t)+t*this._t;this._context.lineTo(n,this._y),this._context.lineTo(n,e)}}this._x=t,this._y=e}};var iL=function(t){return new nL(t,.5)};function rL(t){return new nL(t,0)}function aL(t){return new nL(t,1)}var oL=function(t,e){if((r=t.length)>1)for(var n,i,r,a=1,o=t[e[0]],s=o.length;a=0;)n[e]=e;return n};function cL(t,e){return t[e]}var uL=function(){var t=cb([]),e=sL,n=oL,i=cL;function r(r){var a,o,s=t.apply(this,arguments),c=r.length,u=s.length,d=new Array(u);for(a=0;a0){for(var n,i,r,a=0,o=t[0].length;a1)for(var n,i,r,a,o,s,c=0,u=t[e[0]].length;c=0?(i[0]=a,i[1]=a+=r):r<0?(i[1]=o,i[0]=o+=r):i[0]=a},fL=function(t,e){if((n=t.length)>0){for(var n,i=0,r=t[e[0]],a=r.length;i0&&(i=(n=t[e[0]]).length)>0){for(var n,i,r,a=0,o=1;o0)){if(a/=f,f<0){if(a0){if(a>l)return;a>d&&(d=a)}if(a=i-c,f||!(a<0)){if(a/=f,f<0){if(a>l)return;a>d&&(d=a)}else if(f>0){if(a0)){if(a/=h,h<0){if(a0){if(a>l)return;a>d&&(d=a)}if(a=r-u,h||!(a<0)){if(a/=h,h<0){if(a>l)return;a>d&&(d=a)}else if(h>0){if(a0||l<1)||(d>0&&(t[0]=[c+d*f,u+d*h]),l<1&&(t[1]=[c+l*f,u+l*h]),!0)}}}}}function DL(t,e,n,i,r){var a=t[1];if(a)return!0;var o,s,c=t[0],u=t.left,d=t.right,l=u[0],f=u[1],h=d[0],p=d[1],_=(l+h)/2,M=(f+p)/2;if(p===f){if(_=i)return;if(l>h){if(c){if(c[1]>=r)return}else c=[_,n];a=[_,r]}else{if(c){if(c[1]1)if(l>h){if(c){if(c[1]>=r)return}else c=[(n-s)/o,n];a=[(r-s)/o,r]}else{if(c){if(c[1]=i)return}else c=[e,o*e+s];a=[i,o*i+s]}else{if(c){if(c[0]=-ZL)){var h=c*c+u*u,p=d*d+l*l,_=(l*h-u*p)/f,M=(c*p-d*h)/f,m=EL.pop()||new function(){vL(this),this.x=this.y=this.arc=this.site=this.cy=null};m.arc=t,m.site=r,m.x=_+o,m.y=(m.cy=M+s)+Math.sqrt(_*_+M*M),t.circle=m;for(var g=null,b=JL._;b;)if(m.yQL)s=s.L;else{if(!((r=a-GL(s,o))>QL)){i>-QL?(e=s.P,n=s):r>-QL?(e=s,n=s.N):e=n=s;break}if(!s.R){e=s;break}s=s.R}!function(t){UL[t.index]={site:t,halfedges:[]}}(t);var c=HL(t);if(VL.insert(e,c),e||n){if(e===n)return CL(e),n=HL(e.site),VL.insert(c,n),c.edge=n.edge=SL(e.site,c.site),XL(e),void XL(n);if(n){CL(e),CL(n);var u=e.site,d=u[0],l=u[1],f=t[0]-d,h=t[1]-l,p=n.site,_=p[0]-d,M=p[1]-l,m=2*(f*M-h*_),g=f*f+h*h,b=_*_+M*M,y=[(M*g-h*b)/m+d,(f*b-_*g)/m+l];YL(n.edge,u,p,y),c.edge=SL(u,t,null,y),n.edge=SL(t,p,null,y),XL(e),XL(n)}else c.edge=SL(e.site,c.site)}}function FL(t,e){var n=t.site,i=n[0],r=n[1],a=r-e;if(!a)return i;var o=t.P;if(!o)return-1/0;var s=(n=o.site)[0],c=n[1],u=c-e;if(!u)return s;var d=s-i,l=1/a-1/u,f=d/u;return l?(-f+Math.sqrt(f*f-2*l*(d*d/(-2*u)-c+u/2+r-a/2)))/l+i:(i+s)/2}function GL(t,e){var n=t.N;if(n)return FL(n,e);var i=t.site;return i[1]===e?i[0]:1/0}var VL,UL,JL,KL,QL=1e-6,ZL=1e-12;function $L(t,e){return e[1]-t[1]||e[0]-t[0]}function tA(t,e){var n,i,r,a=t.sort($L).pop();for(KL=[],UL=new Array(t.length),VL=new TL,JL=new TL;;)if(r=PL,a&&(!r||a[1]QL||Math.abs(r[0][1]-r[1][1])>QL)||delete KL[a]}(o,s,c,u),function(t,e,n,i){var r,a,o,s,c,u,d,l,f,h,p,_,M=UL.length,m=!0;for(r=0;rQL||Math.abs(_-f)>QL)&&(c.splice(s,0,KL.push(OL(o,h,Math.abs(p-t)QL?[t,Math.abs(l-t)QL?[Math.abs(f-i)QL?[n,Math.abs(l-n)QL?[Math.abs(f-e)=s)return null;var c=t-r.site[0],u=e-r.site[1],d=c*c+u*u;do{r=a.cells[i=o],o=null,r.halfedges.forEach(function(n){var i=a.edges[n],s=i.left;if(s!==r.site&&s||(s=i.right)){var c=t-s[0],u=e-s[1],l=c*c+u*u;li?(i+r)/2:Math.min(0,i)||Math.max(0,r),o>a?(a+o)/2:Math.min(0,a)||Math.max(0,o))}var pA=function(){var t,e,n=cA,i=uA,r=hA,a=lA,o=fA,s=[0,1/0],c=[[-1/0,-1/0],[1/0,1/0]],u=250,d=si,l=[],f=ft("start","zoom","end"),h=500,p=150,_=0;function M(t){t.property("__zoom",dA).on("wheel.zoom",v).on("mousedown.zoom",x).on("dblclick.zoom",z).filter(o).on("touchstart.zoom",w).on("touchmove.zoom",T).on("touchend.zoom touchcancel.zoom",S).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function m(t,e){return(e=Math.max(s[0],Math.min(s[1],e)))===t.k?t:new iA(e,t.x,t.y)}function g(t,e,n){var i=e[0]-n[0]*t.k,r=e[1]-n[1]*t.k;return i===t.x&&r===t.y?t:new iA(t.k,i,r)}function b(t){return[(+t[0][0]+ +t[1][0])/2,(+t[0][1]+ +t[1][1])/2]}function y(t,e,n){t.on("start.zoom",function(){L(this,arguments).start()}).on("interrupt.zoom end.zoom",function(){L(this,arguments).end()}).tween("zoom",function(){var t=arguments,r=L(this,t),a=i.apply(this,t),o=n||b(a),s=Math.max(a[1][0]-a[0][0],a[1][1]-a[0][1]),c=this.__zoom,u="function"==typeof e?e.apply(this,t):e,l=d(c.invert(o).concat(s/c.k),u.invert(o).concat(s/u.k));return function(t){if(1===t)t=u;else{var e=l(t),n=s/e[2];t=new iA(n,o[0]-e[0]*n,o[1]-e[1]*n)}r.zoom(null,t)}})}function L(t,e){for(var n,i=0,r=l.length;i_}t.zoom("mouse",r(g(t.that.__zoom,t.mouse[0]=le(t.that),t.mouse[1]),t.extent,c))},!0).on("mouseup.zoom",function(){i.on("mousemove.zoom mouseup.zoom",null),ge(Vt.view,t.moved),sA(),t.end()},!0),a=le(this),o=Vt.clientX,s=Vt.clientY;me(Vt.view),oA(),t.mouse=[a,this.__zoom.invert(a)],tr(this),t.start()}}function z(){if(n.apply(this,arguments)){var t=this.__zoom,e=le(this),a=t.invert(e),o=t.k*(Vt.shiftKey?.5:2),s=r(g(m(t,o),e,a),i.apply(this,arguments),c);sA(),u>0?re(this).transition().duration(u).call(y,s,e):re(this).call(M.transform,s)}}function w(){if(n.apply(this,arguments)){var e,i,r,a,o=L(this,arguments),s=Vt.changedTouches,c=s.length;for(oA(),i=0;i=1e15)return e;return t>=1||t<=-1?(t<0&&(t=-t,n="-"),n+function t(e,n){var e=String(e);var r=e.split(".");if(r.length>1){e=r[0];var a=r[1];2==e.length&&a.length>0?a.length>0?e=e+"."+a.charAt(0):e+="0":1==e.length&&a.length>0&&(e=e+"."+a.charAt(0),a.length>1?e+=a.charAt(1):e+="0")}var o=e.length;e.split(".").length>1&&o--;return o<=3?String(e)+i[n]:t(Number(e)/1e3,n+1)}(t,0)):t.toPrecision(3)}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.escapeHtml=function(t){var e,n=""+t,r=i.exec(n);if(!r)return n;var a="",o=0,s=0;for(o=r.index;o]/},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.textWrap=function(t,e){t.each(function(){for(var t=i.select(this),n=t.text().split(/\s+/).reverse(),r=void 0,a=[],o=0,s=t.attr("x"),c=t.attr("y"),u=t.text(null).append("tspan").attr("x",s).attr("y",c).attr("dy","0em");r=n.pop();)a.push(r),u.text(a.join(" ")),u.node().getComputedTextLength()>e&&(a.pop(),u.text(a.join(" ")),a=[r],u=t.append("tspan").attr("x",s).attr("y",c).attr("dy",1.1*++o+0+"em").text(r))})};var i=function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e.default=t,e}(n(2))},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.extend=function(t){for(var e=1;e]+)>)/gi,"")}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(t){for(var e=[],n=0;n0&&(void 0===(r=e.call(n,t,i))&&(r=null),n.matrix[i].push(r))})):(!e||e instanceof Array)&&((e=e||[]).length<=n.matrix.length-1?e=e.concat((0,a.default)(n.matrix.length-1-e.length)):(0,o.each)(e,function(t,i){n.matrix.length-10&&(a=n.selectColumn(i),void 0===(o=e.call(n,a,i))&&(o=null),r.push(o))}),n.matrix.push(r)):(!e||e instanceof Array)&&((e=e||[]).length<=n.matrix[0].length-1?e=e.concat((0,a.default)(n.matrix[0].length-1-e.length)):(0,o.each)(e,function(t,i){n.matrix[0].length-1=11?t:t+12:"下午"===e||"晚上"===e?t+12:void 0},meridiem:function(t,e,n){var i=100*t+e;return i<600?"凌晨":i<900?"早上":i<1130?"上午":i<1230?"中午":i<1800?"下午":"晚上"},calendar:{sameDay:"[今天] LT",nextDay:"[明天] LT",nextWeek:"[下]dddd LT",lastDay:"[昨天] LT",lastWeek:"[上]dddd LT",sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}(日|月|週)/,ordinal:function(t,e){switch(e){case"d":case"D":case"DDD":return t+"日";case"M":return t+"月";case"w":case"W":return t+"週";default:return t}},relativeTime:{future:"%s內",past:"%s前",s:"幾秒",ss:"%d 秒",m:"1 分鐘",mm:"%d 分鐘",h:"1 小時",hh:"%d 小時",d:"1 天",dd:"%d 天",M:"1 個月",MM:"%d 個月",y:"1 年",yy:"%d 年"}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("zh-hk",{months:"一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),weekdays:"星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"),weekdaysShort:"週日_週一_週二_週三_週四_週五_週六".split("_"),weekdaysMin:"日_一_二_三_四_五_六".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY年M月D日",LLL:"YYYY年M月D日 HH:mm",LLLL:"YYYY年M月D日dddd HH:mm",l:"YYYY/M/D",ll:"YYYY年M月D日",lll:"YYYY年M月D日 HH:mm",llll:"YYYY年M月D日dddd HH:mm"},meridiemParse:/凌晨|早上|上午|中午|下午|晚上/,meridiemHour:function(t,e){return 12===t&&(t=0),"凌晨"===e||"早上"===e||"上午"===e?t:"中午"===e?t>=11?t:t+12:"下午"===e||"晚上"===e?t+12:void 0},meridiem:function(t,e,n){var i=100*t+e;return i<600?"凌晨":i<900?"早上":i<1130?"上午":i<1230?"中午":i<1800?"下午":"晚上"},calendar:{sameDay:"[今天]LT",nextDay:"[明天]LT",nextWeek:"[下]ddddLT",lastDay:"[昨天]LT",lastWeek:"[上]ddddLT",sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}(日|月|週)/,ordinal:function(t,e){switch(e){case"d":case"D":case"DDD":return t+"日";case"M":return t+"月";case"w":case"W":return t+"週";default:return t}},relativeTime:{future:"%s內",past:"%s前",s:"幾秒",ss:"%d 秒",m:"1 分鐘",mm:"%d 分鐘",h:"1 小時",hh:"%d 小時",d:"1 天",dd:"%d 天",M:"1 個月",MM:"%d 個月",y:"1 年",yy:"%d 年"}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("zh-cn",{months:"一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),weekdays:"星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"),weekdaysShort:"周日_周一_周二_周三_周四_周五_周六".split("_"),weekdaysMin:"日_一_二_三_四_五_六".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY年M月D日",LLL:"YYYY年M月D日Ah点mm分",LLLL:"YYYY年M月D日ddddAh点mm分",l:"YYYY/M/D",ll:"YYYY年M月D日",lll:"YYYY年M月D日 HH:mm",llll:"YYYY年M月D日dddd HH:mm"},meridiemParse:/凌晨|早上|上午|中午|下午|晚上/,meridiemHour:function(t,e){return 12===t&&(t=0),"凌晨"===e||"早上"===e||"上午"===e?t:"下午"===e||"晚上"===e?t+12:t>=11?t:t+12},meridiem:function(t,e,n){var i=100*t+e;return i<600?"凌晨":i<900?"早上":i<1130?"上午":i<1230?"中午":i<1800?"下午":"晚上"},calendar:{sameDay:"[今天]LT",nextDay:"[明天]LT",nextWeek:"[下]ddddLT",lastDay:"[昨天]LT",lastWeek:"[上]ddddLT",sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}(日|月|周)/,ordinal:function(t,e){switch(e){case"d":case"D":case"DDD":return t+"日";case"M":return t+"月";case"w":case"W":return t+"周";default:return t}},relativeTime:{future:"%s内",past:"%s前",s:"几秒",ss:"%d 秒",m:"1 分钟",mm:"%d 分钟",h:"1 小时",hh:"%d 小时",d:"1 天",dd:"%d 天",M:"1 个月",MM:"%d 个月",y:"1 年",yy:"%d 年"},week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("yo",{months:"Sẹ́rẹ́_Èrèlè_Ẹrẹ̀nà_Ìgbé_Èbibi_Òkùdu_Agẹmo_Ògún_Owewe_Ọ̀wàrà_Bélú_Ọ̀pẹ̀̀".split("_"),monthsShort:"Sẹ́r_Èrl_Ẹrn_Ìgb_Èbi_Òkù_Agẹ_Ògú_Owe_Ọ̀wà_Bél_Ọ̀pẹ̀̀".split("_"),weekdays:"Àìkú_Ajé_Ìsẹ́gun_Ọjọ́rú_Ọjọ́bọ_Ẹtì_Àbámẹ́ta".split("_"),weekdaysShort:"Àìk_Ajé_Ìsẹ́_Ọjr_Ọjb_Ẹtì_Àbá".split("_"),weekdaysMin:"Àì_Aj_Ìs_Ọr_Ọb_Ẹt_Àb".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Ònì ni] LT",nextDay:"[Ọ̀la ni] LT",nextWeek:"dddd [Ọsẹ̀ tón'bọ] [ni] LT",lastDay:"[Àna ni] LT",lastWeek:"dddd [Ọsẹ̀ tólọ́] [ni] LT",sameElse:"L"},relativeTime:{future:"ní %s",past:"%s kọjá",s:"ìsẹjú aayá die",ss:"aayá %d",m:"ìsẹjú kan",mm:"ìsẹjú %d",h:"wákati kan",hh:"wákati %d",d:"ọjọ́ kan",dd:"ọjọ́ %d",M:"osù kan",MM:"osù %d",y:"ọdún kan",yy:"ọdún %d"},dayOfMonthOrdinalParse:/ọjọ́\s\d{1,2}/,ordinal:"ọjọ́ %d",week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("x-pseudo",{months:"J~áñúá~rý_F~ébrú~árý_~Márc~h_Áp~ríl_~Máý_~Júñé~_Júl~ý_Áú~gúst~_Sép~témb~ér_Ó~ctób~ér_Ñ~óvém~bér_~Décé~mbér".split("_"),monthsShort:"J~áñ_~Féb_~Már_~Ápr_~Máý_~Júñ_~Júl_~Áúg_~Sép_~Óct_~Ñóv_~Déc".split("_"),monthsParseExact:!0,weekdays:"S~úñdá~ý_Mó~ñdáý~_Túé~sdáý~_Wéd~ñésd~áý_T~húrs~dáý_~Fríd~áý_S~átúr~dáý".split("_"),weekdaysShort:"S~úñ_~Móñ_~Túé_~Wéd_~Thú_~Frí_~Sát".split("_"),weekdaysMin:"S~ú_Mó~_Tú_~Wé_T~h_Fr~_Sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[T~ódá~ý át] LT",nextDay:"[T~ómó~rró~w át] LT",nextWeek:"dddd [át] LT",lastDay:"[Ý~ést~érdá~ý át] LT",lastWeek:"[L~ást] dddd [át] LT",sameElse:"L"},relativeTime:{future:"í~ñ %s",past:"%s á~gó",s:"á ~féw ~sécó~ñds",ss:"%d s~écóñ~ds",m:"á ~míñ~úté",mm:"%d m~íñú~tés",h:"á~ñ hó~úr",hh:"%d h~óúrs",d:"á ~dáý",dd:"%d d~áýs",M:"á ~móñ~th",MM:"%d m~óñt~hs",y:"á ~ýéár",yy:"%d ý~éárs"},dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(t){var e=t%10,n=1==~~(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th";return t+n},week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("vi",{months:"tháng 1_tháng 2_tháng 3_tháng 4_tháng 5_tháng 6_tháng 7_tháng 8_tháng 9_tháng 10_tháng 11_tháng 12".split("_"),monthsShort:"Th01_Th02_Th03_Th04_Th05_Th06_Th07_Th08_Th09_Th10_Th11_Th12".split("_"),monthsParseExact:!0,weekdays:"chủ nhật_thứ hai_thứ ba_thứ tư_thứ năm_thứ sáu_thứ bảy".split("_"),weekdaysShort:"CN_T2_T3_T4_T5_T6_T7".split("_"),weekdaysMin:"CN_T2_T3_T4_T5_T6_T7".split("_"),weekdaysParseExact:!0,meridiemParse:/sa|ch/i,isPM:function(t){return/^ch$/i.test(t)},meridiem:function(t,e,n){return t<12?n?"sa":"SA":n?"ch":"CH"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM [năm] YYYY",LLL:"D MMMM [năm] YYYY HH:mm",LLLL:"dddd, D MMMM [năm] YYYY HH:mm",l:"DD/M/YYYY",ll:"D MMM YYYY",lll:"D MMM YYYY HH:mm",llll:"ddd, D MMM YYYY HH:mm"},calendar:{sameDay:"[Hôm nay lúc] LT",nextDay:"[Ngày mai lúc] LT",nextWeek:"dddd [tuần tới lúc] LT",lastDay:"[Hôm qua lúc] LT",lastWeek:"dddd [tuần rồi lúc] LT",sameElse:"L"},relativeTime:{future:"%s tới",past:"%s trước",s:"vài giây",ss:"%d giây",m:"một phút",mm:"%d phút",h:"một giờ",hh:"%d giờ",d:"một ngày",dd:"%d ngày",M:"một tháng",MM:"%d tháng",y:"một năm",yy:"%d năm"},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:function(t){return t},week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("uz-latn",{months:"Yanvar_Fevral_Mart_Aprel_May_Iyun_Iyul_Avgust_Sentabr_Oktabr_Noyabr_Dekabr".split("_"),monthsShort:"Yan_Fev_Mar_Apr_May_Iyun_Iyul_Avg_Sen_Okt_Noy_Dek".split("_"),weekdays:"Yakshanba_Dushanba_Seshanba_Chorshanba_Payshanba_Juma_Shanba".split("_"),weekdaysShort:"Yak_Dush_Sesh_Chor_Pay_Jum_Shan".split("_"),weekdaysMin:"Ya_Du_Se_Cho_Pa_Ju_Sha".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"D MMMM YYYY, dddd HH:mm"},calendar:{sameDay:"[Bugun soat] LT [da]",nextDay:"[Ertaga] LT [da]",nextWeek:"dddd [kuni soat] LT [da]",lastDay:"[Kecha soat] LT [da]",lastWeek:"[O'tgan] dddd [kuni soat] LT [da]",sameElse:"L"},relativeTime:{future:"Yaqin %s ichida",past:"Bir necha %s oldin",s:"soniya",ss:"%d soniya",m:"bir daqiqa",mm:"%d daqiqa",h:"bir soat",hh:"%d soat",d:"bir kun",dd:"%d kun",M:"bir oy",MM:"%d oy",y:"bir yil",yy:"%d yil"},week:{dow:1,doy:7}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("uz",{months:"январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр".split("_"),monthsShort:"янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек".split("_"),weekdays:"Якшанба_Душанба_Сешанба_Чоршанба_Пайшанба_Жума_Шанба".split("_"),weekdaysShort:"Якш_Душ_Сеш_Чор_Пай_Жум_Шан".split("_"),weekdaysMin:"Як_Ду_Се_Чо_Па_Жу_Ша".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"D MMMM YYYY, dddd HH:mm"},calendar:{sameDay:"[Бугун соат] LT [да]",nextDay:"[Эртага] LT [да]",nextWeek:"dddd [куни соат] LT [да]",lastDay:"[Кеча соат] LT [да]",lastWeek:"[Утган] dddd [куни соат] LT [да]",sameElse:"L"},relativeTime:{future:"Якин %s ичида",past:"Бир неча %s олдин",s:"фурсат",ss:"%d фурсат",m:"бир дакика",mm:"%d дакика",h:"бир соат",hh:"%d соат",d:"бир кун",dd:"%d кун",M:"бир ой",MM:"%d ой",y:"бир йил",yy:"%d йил"},week:{dow:1,doy:7}})}(n(0))},function(t,e,n){!function(t){"use strict";var e=["جنوری","فروری","مارچ","اپریل","مئی","جون","جولائی","اگست","ستمبر","اکتوبر","نومبر","دسمبر"],n=["اتوار","پیر","منگل","بدھ","جمعرات","جمعہ","ہفتہ"];t.defineLocale("ur",{months:e,monthsShort:e,weekdays:n,weekdaysShort:n,weekdaysMin:n,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd، D MMMM YYYY HH:mm"},meridiemParse:/صبح|شام/,isPM:function(t){return"شام"===t},meridiem:function(t,e,n){return t<12?"صبح":"شام"},calendar:{sameDay:"[آج بوقت] LT",nextDay:"[کل بوقت] LT",nextWeek:"dddd [بوقت] LT",lastDay:"[گذشتہ روز بوقت] LT",lastWeek:"[گذشتہ] dddd [بوقت] LT",sameElse:"L"},relativeTime:{future:"%s بعد",past:"%s قبل",s:"چند سیکنڈ",ss:"%d سیکنڈ",m:"ایک منٹ",mm:"%d منٹ",h:"ایک گھنٹہ",hh:"%d گھنٹے",d:"ایک دن",dd:"%d دن",M:"ایک ماہ",MM:"%d ماہ",y:"ایک سال",yy:"%d سال"},preparse:function(t){return t.replace(/،/g,",")},postformat:function(t){return t.replace(/,/g,"،")},week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";function e(t,e,n){var i,r,a={ss:e?"секунда_секунди_секунд":"секунду_секунди_секунд",mm:e?"хвилина_хвилини_хвилин":"хвилину_хвилини_хвилин",hh:e?"година_години_годин":"годину_години_годин",dd:"день_дні_днів",MM:"місяць_місяці_місяців",yy:"рік_роки_років"};return"m"===n?e?"хвилина":"хвилину":"h"===n?e?"година":"годину":t+" "+(i=+t,r=a[n].split("_"),i%10==1&&i%100!=11?r[0]:i%10>=2&&i%10<=4&&(i%100<10||i%100>=20)?r[1]:r[2])}function n(t){return function(){return t+"о"+(11===this.hours()?"б":"")+"] LT"}}t.defineLocale("uk",{months:{format:"січня_лютого_березня_квітня_травня_червня_липня_серпня_вересня_жовтня_листопада_грудня".split("_"),standalone:"січень_лютий_березень_квітень_травень_червень_липень_серпень_вересень_жовтень_листопад_грудень".split("_")},monthsShort:"січ_лют_бер_квіт_трав_черв_лип_серп_вер_жовт_лист_груд".split("_"),weekdays:function(t,e){var n={nominative:"неділя_понеділок_вівторок_середа_четвер_п’ятниця_субота".split("_"),accusative:"неділю_понеділок_вівторок_середу_четвер_п’ятницю_суботу".split("_"),genitive:"неділі_понеділка_вівторка_середи_четверга_п’ятниці_суботи".split("_")};if(!t)return n.nominative;var i=/(\[[ВвУу]\]) ?dddd/.test(e)?"accusative":/\[?(?:минулої|наступної)? ?\] ?dddd/.test(e)?"genitive":"nominative";return n[i][t.day()]},weekdaysShort:"нд_пн_вт_ср_чт_пт_сб".split("_"),weekdaysMin:"нд_пн_вт_ср_чт_пт_сб".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY р.",LLL:"D MMMM YYYY р., HH:mm",LLLL:"dddd, D MMMM YYYY р., HH:mm"},calendar:{sameDay:n("[Сьогодні "),nextDay:n("[Завтра "),lastDay:n("[Вчора "),nextWeek:n("[У] dddd ["),lastWeek:function(){switch(this.day()){case 0:case 3:case 5:case 6:return n("[Минулої] dddd [").call(this);case 1:case 2:case 4:return n("[Минулого] dddd [").call(this)}},sameElse:"L"},relativeTime:{future:"за %s",past:"%s тому",s:"декілька секунд",ss:e,m:e,mm:e,h:"годину",hh:e,d:"день",dd:e,M:"місяць",MM:e,y:"рік",yy:e},meridiemParse:/ночі|ранку|дня|вечора/,isPM:function(t){return/^(дня|вечора)$/.test(t)},meridiem:function(t,e,n){return t<4?"ночі":t<12?"ранку":t<17?"дня":"вечора"},dayOfMonthOrdinalParse:/\d{1,2}-(й|го)/,ordinal:function(t,e){switch(e){case"M":case"d":case"DDD":case"w":case"W":return t+"-й";case"D":return t+"-го";default:return t}},week:{dow:1,doy:7}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("ug-cn",{months:"يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر".split("_"),monthsShort:"يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر".split("_"),weekdays:"يەكشەنبە_دۈشەنبە_سەيشەنبە_چارشەنبە_پەيشەنبە_جۈمە_شەنبە".split("_"),weekdaysShort:"يە_دۈ_سە_چا_پە_جۈ_شە".split("_"),weekdaysMin:"يە_دۈ_سە_چا_پە_جۈ_شە".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY-يىلىM-ئاينىڭD-كۈنى",LLL:"YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm",LLLL:"dddd، YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm"},meridiemParse:/يېرىم كېچە|سەھەر|چۈشتىن بۇرۇن|چۈش|چۈشتىن كېيىن|كەچ/,meridiemHour:function(t,e){return 12===t&&(t=0),"يېرىم كېچە"===e||"سەھەر"===e||"چۈشتىن بۇرۇن"===e?t:"چۈشتىن كېيىن"===e||"كەچ"===e?t+12:t>=11?t:t+12},meridiem:function(t,e,n){var i=100*t+e;return i<600?"يېرىم كېچە":i<900?"سەھەر":i<1130?"چۈشتىن بۇرۇن":i<1230?"چۈش":i<1800?"چۈشتىن كېيىن":"كەچ"},calendar:{sameDay:"[بۈگۈن سائەت] LT",nextDay:"[ئەتە سائەت] LT",nextWeek:"[كېلەركى] dddd [سائەت] LT",lastDay:"[تۆنۈگۈن] LT",lastWeek:"[ئالدىنقى] dddd [سائەت] LT",sameElse:"L"},relativeTime:{future:"%s كېيىن",past:"%s بۇرۇن",s:"نەچچە سېكونت",ss:"%d سېكونت",m:"بىر مىنۇت",mm:"%d مىنۇت",h:"بىر سائەت",hh:"%d سائەت",d:"بىر كۈن",dd:"%d كۈن",M:"بىر ئاي",MM:"%d ئاي",y:"بىر يىل",yy:"%d يىل"},dayOfMonthOrdinalParse:/\d{1,2}(-كۈنى|-ئاي|-ھەپتە)/,ordinal:function(t,e){switch(e){case"d":case"D":case"DDD":return t+"-كۈنى";case"w":case"W":return t+"-ھەپتە";default:return t}},preparse:function(t){return t.replace(/،/g,",")},postformat:function(t){return t.replace(/,/g,"،")},week:{dow:1,doy:7}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("tzm-latn",{months:"innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir".split("_"),monthsShort:"innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir".split("_"),weekdays:"asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas".split("_"),weekdaysShort:"asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas".split("_"),weekdaysMin:"asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[asdkh g] LT",nextDay:"[aska g] LT",nextWeek:"dddd [g] LT",lastDay:"[assant g] LT",lastWeek:"dddd [g] LT",sameElse:"L"},relativeTime:{future:"dadkh s yan %s",past:"yan %s",s:"imik",ss:"%d imik",m:"minuḍ",mm:"%d minuḍ",h:"saɛa",hh:"%d tassaɛin",d:"ass",dd:"%d ossan",M:"ayowr",MM:"%d iyyirn",y:"asgas",yy:"%d isgasn"},week:{dow:6,doy:12}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("tzm",{months:"ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ".split("_"),monthsShort:"ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ".split("_"),weekdays:"ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ".split("_"),weekdaysShort:"ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ".split("_"),weekdaysMin:"ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[ⴰⵙⴷⵅ ⴴ] LT",nextDay:"[ⴰⵙⴽⴰ ⴴ] LT",nextWeek:"dddd [ⴴ] LT",lastDay:"[ⴰⵚⴰⵏⵜ ⴴ] LT",lastWeek:"dddd [ⴴ] LT",sameElse:"L"},relativeTime:{future:"ⴷⴰⴷⵅ ⵙ ⵢⴰⵏ %s",past:"ⵢⴰⵏ %s",s:"ⵉⵎⵉⴽ",ss:"%d ⵉⵎⵉⴽ",m:"ⵎⵉⵏⵓⴺ",mm:"%d ⵎⵉⵏⵓⴺ",h:"ⵙⴰⵄⴰ",hh:"%d ⵜⴰⵙⵙⴰⵄⵉⵏ",d:"ⴰⵙⵙ",dd:"%d oⵙⵙⴰⵏ",M:"ⴰⵢoⵓⵔ",MM:"%d ⵉⵢⵢⵉⵔⵏ",y:"ⴰⵙⴳⴰⵙ",yy:"%d ⵉⵙⴳⴰⵙⵏ"},week:{dow:6,doy:12}})}(n(0))},function(t,e,n){!function(t){"use strict";function e(t,e,n,i){var r={s:["viensas secunds","'iensas secunds"],ss:[t+" secunds",t+" secunds"],m:["'n míut","'iens míut"],mm:[t+" míuts",t+" míuts"],h:["'n þora","'iensa þora"],hh:[t+" þoras",t+" þoras"],d:["'n ziua","'iensa ziua"],dd:[t+" ziuas",t+" ziuas"],M:["'n mes","'iens mes"],MM:[t+" mesen",t+" mesen"],y:["'n ar","'iens ar"],yy:[t+" ars",t+" ars"]};return i?r[n][0]:e?r[n][0]:r[n][1]}t.defineLocale("tzl",{months:"Januar_Fevraglh_Març_Avrïu_Mai_Gün_Julia_Guscht_Setemvar_Listopäts_Noemvar_Zecemvar".split("_"),monthsShort:"Jan_Fev_Mar_Avr_Mai_Gün_Jul_Gus_Set_Lis_Noe_Zec".split("_"),weekdays:"Súladi_Lúneçi_Maitzi_Márcuri_Xhúadi_Viénerçi_Sáturi".split("_"),weekdaysShort:"Súl_Lún_Mai_Már_Xhú_Vié_Sát".split("_"),weekdaysMin:"Sú_Lú_Ma_Má_Xh_Vi_Sá".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD.MM.YYYY",LL:"D. MMMM [dallas] YYYY",LLL:"D. MMMM [dallas] YYYY HH.mm",LLLL:"dddd, [li] D. MMMM [dallas] YYYY HH.mm"},meridiemParse:/d\'o|d\'a/i,isPM:function(t){return"d'o"===t.toLowerCase()},meridiem:function(t,e,n){return t>11?n?"d'o":"D'O":n?"d'a":"D'A"},calendar:{sameDay:"[oxhi à] LT",nextDay:"[demà à] LT",nextWeek:"dddd [à] LT",lastDay:"[ieiri à] LT",lastWeek:"[sür el] dddd [lasteu à] LT",sameElse:"L"},relativeTime:{future:"osprei %s",past:"ja%s",s:e,ss:e,m:e,mm:e,h:e,hh:e,d:e,dd:e,M:e,MM:e,y:e,yy:e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";var e={1:"'inci",5:"'inci",8:"'inci",70:"'inci",80:"'inci",2:"'nci",7:"'nci",20:"'nci",50:"'nci",3:"'üncü",4:"'üncü",100:"'üncü",6:"'ncı",9:"'uncu",10:"'uncu",30:"'uncu",60:"'ıncı",90:"'ıncı"};t.defineLocale("tr",{months:"Ocak_Şubat_Mart_Nisan_Mayıs_Haziran_Temmuz_Ağustos_Eylül_Ekim_Kasım_Aralık".split("_"),monthsShort:"Oca_Şub_Mar_Nis_May_Haz_Tem_Ağu_Eyl_Eki_Kas_Ara".split("_"),weekdays:"Pazar_Pazartesi_Salı_Çarşamba_Perşembe_Cuma_Cumartesi".split("_"),weekdaysShort:"Paz_Pts_Sal_Çar_Per_Cum_Cts".split("_"),weekdaysMin:"Pz_Pt_Sa_Ça_Pe_Cu_Ct".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[bugün saat] LT",nextDay:"[yarın saat] LT",nextWeek:"[gelecek] dddd [saat] LT",lastDay:"[dün] LT",lastWeek:"[geçen] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s sonra",past:"%s önce",s:"birkaç saniye",ss:"%d saniye",m:"bir dakika",mm:"%d dakika",h:"bir saat",hh:"%d saat",d:"bir gün",dd:"%d gün",M:"bir ay",MM:"%d ay",y:"bir yıl",yy:"%d yıl"},ordinal:function(t,n){switch(n){case"d":case"D":case"Do":case"DD":return t;default:if(0===t)return t+"'ıncı";var i=t%10,r=t%100-i,a=t>=100?100:null;return t+(e[i]||e[r]||e[a])}},week:{dow:1,doy:7}})}(n(0))},function(t,e,n){!function(t){"use strict";var e="pagh_wa’_cha’_wej_loS_vagh_jav_Soch_chorgh_Hut".split("_");function n(t,n,i,r){var a=function(t){var n=Math.floor(t%1e3/100),i=Math.floor(t%100/10),r=t%10,a="";return n>0&&(a+=e[n]+"vatlh"),i>0&&(a+=(""!==a?" ":"")+e[i]+"maH"),r>0&&(a+=(""!==a?" ":"")+e[r]),""===a?"pagh":a}(t);switch(i){case"ss":return a+" lup";case"mm":return a+" tup";case"hh":return a+" rep";case"dd":return a+" jaj";case"MM":return a+" jar";case"yy":return a+" DIS"}}t.defineLocale("tlh",{months:"tera’ jar wa’_tera’ jar cha’_tera’ jar wej_tera’ jar loS_tera’ jar vagh_tera’ jar jav_tera’ jar Soch_tera’ jar chorgh_tera’ jar Hut_tera’ jar wa’maH_tera’ jar wa’maH wa’_tera’ jar wa’maH cha’".split("_"),monthsShort:"jar wa’_jar cha’_jar wej_jar loS_jar vagh_jar jav_jar Soch_jar chorgh_jar Hut_jar wa’maH_jar wa’maH wa’_jar wa’maH cha’".split("_"),monthsParseExact:!0,weekdays:"lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj".split("_"),weekdaysShort:"lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj".split("_"),weekdaysMin:"lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[DaHjaj] LT",nextDay:"[wa’leS] LT",nextWeek:"LLL",lastDay:"[wa’Hu’] LT",lastWeek:"LLL",sameElse:"L"},relativeTime:{future:function(t){var e=t;return e=-1!==t.indexOf("jaj")?e.slice(0,-3)+"leS":-1!==t.indexOf("jar")?e.slice(0,-3)+"waQ":-1!==t.indexOf("DIS")?e.slice(0,-3)+"nem":e+" pIq"},past:function(t){var e=t;return e=-1!==t.indexOf("jaj")?e.slice(0,-3)+"Hu’":-1!==t.indexOf("jar")?e.slice(0,-3)+"wen":-1!==t.indexOf("DIS")?e.slice(0,-3)+"ben":e+" ret"},s:"puS lup",ss:n,m:"wa’ tup",mm:n,h:"wa’ rep",hh:n,d:"wa’ jaj",dd:n,M:"wa’ jar",MM:n,y:"wa’ DIS",yy:n},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("tl-ph",{months:"Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre".split("_"),monthsShort:"Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis".split("_"),weekdays:"Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado".split("_"),weekdaysShort:"Lin_Lun_Mar_Miy_Huw_Biy_Sab".split("_"),weekdaysMin:"Li_Lu_Ma_Mi_Hu_Bi_Sab".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"MM/D/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY HH:mm",LLLL:"dddd, MMMM DD, YYYY HH:mm"},calendar:{sameDay:"LT [ngayong araw]",nextDay:"[Bukas ng] LT",nextWeek:"LT [sa susunod na] dddd",lastDay:"LT [kahapon]",lastWeek:"LT [noong nakaraang] dddd",sameElse:"L"},relativeTime:{future:"sa loob ng %s",past:"%s ang nakalipas",s:"ilang segundo",ss:"%d segundo",m:"isang minuto",mm:"%d minuto",h:"isang oras",hh:"%d oras",d:"isang araw",dd:"%d araw",M:"isang buwan",MM:"%d buwan",y:"isang taon",yy:"%d taon"},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:function(t){return t},week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("th",{months:"มกราคม_กุมภาพันธ์_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_กรกฎาคม_สิงหาคม_กันยายน_ตุลาคม_พฤศจิกายน_ธันวาคม".split("_"),monthsShort:"ม.ค._ก.พ._มี.ค._เม.ย._พ.ค._มิ.ย._ก.ค._ส.ค._ก.ย._ต.ค._พ.ย._ธ.ค.".split("_"),monthsParseExact:!0,weekdays:"อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัสบดี_ศุกร์_เสาร์".split("_"),weekdaysShort:"อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัส_ศุกร์_เสาร์".split("_"),weekdaysMin:"อา._จ._อ._พ._พฤ._ศ._ส.".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY เวลา H:mm",LLLL:"วันddddที่ D MMMM YYYY เวลา H:mm"},meridiemParse:/ก่อนเที่ยง|หลังเที่ยง/,isPM:function(t){return"หลังเที่ยง"===t},meridiem:function(t,e,n){return t<12?"ก่อนเที่ยง":"หลังเที่ยง"},calendar:{sameDay:"[วันนี้ เวลา] LT",nextDay:"[พรุ่งนี้ เวลา] LT",nextWeek:"dddd[หน้า เวลา] LT",lastDay:"[เมื่อวานนี้ เวลา] LT",lastWeek:"[วัน]dddd[ที่แล้ว เวลา] LT",sameElse:"L"},relativeTime:{future:"อีก %s",past:"%sที่แล้ว",s:"ไม่กี่วินาที",ss:"%d วินาที",m:"1 นาที",mm:"%d นาที",h:"1 ชั่วโมง",hh:"%d ชั่วโมง",d:"1 วัน",dd:"%d วัน",M:"1 เดือน",MM:"%d เดือน",y:"1 ปี",yy:"%d ปี"}})}(n(0))},function(t,e,n){!function(t){"use strict";var e={0:"-ум",1:"-ум",2:"-юм",3:"-юм",4:"-ум",5:"-ум",6:"-ум",7:"-ум",8:"-ум",9:"-ум",10:"-ум",12:"-ум",13:"-ум",20:"-ум",30:"-юм",40:"-ум",50:"-ум",60:"-ум",70:"-ум",80:"-ум",90:"-ум",100:"-ум"};t.defineLocale("tg",{months:"январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр".split("_"),monthsShort:"янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек".split("_"),weekdays:"якшанбе_душанбе_сешанбе_чоршанбе_панҷшанбе_ҷумъа_шанбе".split("_"),weekdaysShort:"яшб_дшб_сшб_чшб_пшб_ҷум_шнб".split("_"),weekdaysMin:"яш_дш_сш_чш_пш_ҷм_шб".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Имрӯз соати] LT",nextDay:"[Пагоҳ соати] LT",lastDay:"[Дирӯз соати] LT",nextWeek:"dddd[и] [ҳафтаи оянда соати] LT",lastWeek:"dddd[и] [ҳафтаи гузашта соати] LT",sameElse:"L"},relativeTime:{future:"баъди %s",past:"%s пеш",s:"якчанд сония",m:"як дақиқа",mm:"%d дақиқа",h:"як соат",hh:"%d соат",d:"як рӯз",dd:"%d рӯз",M:"як моҳ",MM:"%d моҳ",y:"як сол",yy:"%d сол"},meridiemParse:/шаб|субҳ|рӯз|бегоҳ/,meridiemHour:function(t,e){return 12===t&&(t=0),"шаб"===e?t<4?t:t+12:"субҳ"===e?t:"рӯз"===e?t>=11?t:t+12:"бегоҳ"===e?t+12:void 0},meridiem:function(t,e,n){return t<4?"шаб":t<11?"субҳ":t<16?"рӯз":t<19?"бегоҳ":"шаб"},dayOfMonthOrdinalParse:/\d{1,2}-(ум|юм)/,ordinal:function(t){var n=t%10,i=t>=100?100:null;return t+(e[t]||e[n]||e[i])},week:{dow:1,doy:7}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("tet",{months:"Janeiru_Fevereiru_Marsu_Abril_Maiu_Juñu_Jullu_Agustu_Setembru_Outubru_Novembru_Dezembru".split("_"),monthsShort:"Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez".split("_"),weekdays:"Domingu_Segunda_Tersa_Kuarta_Kinta_Sesta_Sabadu".split("_"),weekdaysShort:"Dom_Seg_Ters_Kua_Kint_Sest_Sab".split("_"),weekdaysMin:"Do_Seg_Te_Ku_Ki_Ses_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Ohin iha] LT",nextDay:"[Aban iha] LT",nextWeek:"dddd [iha] LT",lastDay:"[Horiseik iha] LT",lastWeek:"dddd [semana kotuk] [iha] LT",sameElse:"L"},relativeTime:{future:"iha %s",past:"%s liuba",s:"minutu balun",ss:"minutu %d",m:"minutu ida",mm:"minutu %d",h:"oras ida",hh:"oras %d",d:"loron ida",dd:"loron %d",M:"fulan ida",MM:"fulan %d",y:"tinan ida",yy:"tinan %d"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(t){var e=t%10,n=1==~~(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th";return t+n},week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("te",{months:"జనవరి_ఫిబ్రవరి_మార్చి_ఏప్రిల్_మే_జూన్_జూలై_ఆగస్టు_సెప్టెంబర్_అక్టోబర్_నవంబర్_డిసెంబర్".split("_"),monthsShort:"జన._ఫిబ్ర._మార్చి_ఏప్రి._మే_జూన్_జూలై_ఆగ._సెప్._అక్టో._నవ._డిసె.".split("_"),monthsParseExact:!0,weekdays:"ఆదివారం_సోమవారం_మంగళవారం_బుధవారం_గురువారం_శుక్రవారం_శనివారం".split("_"),weekdaysShort:"ఆది_సోమ_మంగళ_బుధ_గురు_శుక్ర_శని".split("_"),weekdaysMin:"ఆ_సో_మం_బు_గు_శు_శ".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm",LLLL:"dddd, D MMMM YYYY, A h:mm"},calendar:{sameDay:"[నేడు] LT",nextDay:"[రేపు] LT",nextWeek:"dddd, LT",lastDay:"[నిన్న] LT",lastWeek:"[గత] dddd, LT",sameElse:"L"},relativeTime:{future:"%s లో",past:"%s క్రితం",s:"కొన్ని క్షణాలు",ss:"%d సెకన్లు",m:"ఒక నిమిషం",mm:"%d నిమిషాలు",h:"ఒక గంట",hh:"%d గంటలు",d:"ఒక రోజు",dd:"%d రోజులు",M:"ఒక నెల",MM:"%d నెలలు",y:"ఒక సంవత్సరం",yy:"%d సంవత్సరాలు"},dayOfMonthOrdinalParse:/\d{1,2}వ/,ordinal:"%dవ",meridiemParse:/రాత్రి|ఉదయం|మధ్యాహ్నం|సాయంత్రం/,meridiemHour:function(t,e){return 12===t&&(t=0),"రాత్రి"===e?t<4?t:t+12:"ఉదయం"===e?t:"మధ్యాహ్నం"===e?t>=10?t:t+12:"సాయంత్రం"===e?t+12:void 0},meridiem:function(t,e,n){return t<4?"రాత్రి":t<10?"ఉదయం":t<17?"మధ్యాహ్నం":t<20?"సాయంత్రం":"రాత్రి"},week:{dow:0,doy:6}})}(n(0))},function(t,e,n){!function(t){"use strict";var e={1:"௧",2:"௨",3:"௩",4:"௪",5:"௫",6:"௬",7:"௭",8:"௮",9:"௯",0:"௦"},n={"௧":"1","௨":"2","௩":"3","௪":"4","௫":"5","௬":"6","௭":"7","௮":"8","௯":"9","௦":"0"};t.defineLocale("ta",{months:"ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்".split("_"),monthsShort:"ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்".split("_"),weekdays:"ஞாயிற்றுக்கிழமை_திங்கட்கிழமை_செவ்வாய்கிழமை_புதன்கிழமை_வியாழக்கிழமை_வெள்ளிக்கிழமை_சனிக்கிழமை".split("_"),weekdaysShort:"ஞாயிறு_திங்கள்_செவ்வாய்_புதன்_வியாழன்_வெள்ளி_சனி".split("_"),weekdaysMin:"ஞா_தி_செ_பு_வி_வெ_ச".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, HH:mm",LLLL:"dddd, D MMMM YYYY, HH:mm"},calendar:{sameDay:"[இன்று] LT",nextDay:"[நாளை] LT",nextWeek:"dddd, LT",lastDay:"[நேற்று] LT",lastWeek:"[கடந்த வாரம்] dddd, LT",sameElse:"L"},relativeTime:{future:"%s இல்",past:"%s முன்",s:"ஒரு சில விநாடிகள்",ss:"%d விநாடிகள்",m:"ஒரு நிமிடம்",mm:"%d நிமிடங்கள்",h:"ஒரு மணி நேரம்",hh:"%d மணி நேரம்",d:"ஒரு நாள்",dd:"%d நாட்கள்",M:"ஒரு மாதம்",MM:"%d மாதங்கள்",y:"ஒரு வருடம்",yy:"%d ஆண்டுகள்"},dayOfMonthOrdinalParse:/\d{1,2}வது/,ordinal:function(t){return t+"வது"},preparse:function(t){return t.replace(/[௧௨௩௪௫௬௭௮௯௦]/g,function(t){return n[t]})},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]})},meridiemParse:/யாமம்|வைகறை|காலை|நண்பகல்|எற்பாடு|மாலை/,meridiem:function(t,e,n){return t<2?" யாமம்":t<6?" வைகறை":t<10?" காலை":t<14?" நண்பகல்":t<18?" எற்பாடு":t<22?" மாலை":" யாமம்"},meridiemHour:function(t,e){return 12===t&&(t=0),"யாமம்"===e?t<2?t:t+12:"வைகறை"===e||"காலை"===e?t:"நண்பகல்"===e&&t>=10?t:t+12},week:{dow:0,doy:6}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("sw",{months:"Januari_Februari_Machi_Aprili_Mei_Juni_Julai_Agosti_Septemba_Oktoba_Novemba_Desemba".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ago_Sep_Okt_Nov_Des".split("_"),weekdays:"Jumapili_Jumatatu_Jumanne_Jumatano_Alhamisi_Ijumaa_Jumamosi".split("_"),weekdaysShort:"Jpl_Jtat_Jnne_Jtan_Alh_Ijm_Jmos".split("_"),weekdaysMin:"J2_J3_J4_J5_Al_Ij_J1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[leo saa] LT",nextDay:"[kesho saa] LT",nextWeek:"[wiki ijayo] dddd [saat] LT",lastDay:"[jana] LT",lastWeek:"[wiki iliyopita] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s baadaye",past:"tokea %s",s:"hivi punde",ss:"sekunde %d",m:"dakika moja",mm:"dakika %d",h:"saa limoja",hh:"masaa %d",d:"siku moja",dd:"masiku %d",M:"mwezi mmoja",MM:"miezi %d",y:"mwaka mmoja",yy:"miaka %d"},week:{dow:1,doy:7}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("sv",{months:"januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec".split("_"),weekdays:"söndag_måndag_tisdag_onsdag_torsdag_fredag_lördag".split("_"),weekdaysShort:"sön_mån_tis_ons_tor_fre_lör".split("_"),weekdaysMin:"sö_må_ti_on_to_fr_lö".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [kl.] HH:mm",LLLL:"dddd D MMMM YYYY [kl.] HH:mm",lll:"D MMM YYYY HH:mm",llll:"ddd D MMM YYYY HH:mm"},calendar:{sameDay:"[Idag] LT",nextDay:"[Imorgon] LT",lastDay:"[Igår] LT",nextWeek:"[På] dddd LT",lastWeek:"[I] dddd[s] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"för %s sedan",s:"några sekunder",ss:"%d sekunder",m:"en minut",mm:"%d minuter",h:"en timme",hh:"%d timmar",d:"en dag",dd:"%d dagar",M:"en månad",MM:"%d månader",y:"ett år",yy:"%d år"},dayOfMonthOrdinalParse:/\d{1,2}(e|a)/,ordinal:function(t){var e=t%10,n=1==~~(t%100/10)?"e":1===e?"a":2===e?"a":"e";return t+n},week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("ss",{months:"Bhimbidvwane_Indlovana_Indlov'lenkhulu_Mabasa_Inkhwekhweti_Inhlaba_Kholwane_Ingci_Inyoni_Imphala_Lweti_Ingongoni".split("_"),monthsShort:"Bhi_Ina_Inu_Mab_Ink_Inh_Kho_Igc_Iny_Imp_Lwe_Igo".split("_"),weekdays:"Lisontfo_Umsombuluko_Lesibili_Lesitsatfu_Lesine_Lesihlanu_Umgcibelo".split("_"),weekdaysShort:"Lis_Umb_Lsb_Les_Lsi_Lsh_Umg".split("_"),weekdaysMin:"Li_Us_Lb_Lt_Ls_Lh_Ug".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Namuhla nga] LT",nextDay:"[Kusasa nga] LT",nextWeek:"dddd [nga] LT",lastDay:"[Itolo nga] LT",lastWeek:"dddd [leliphelile] [nga] LT",sameElse:"L"},relativeTime:{future:"nga %s",past:"wenteka nga %s",s:"emizuzwana lomcane",ss:"%d mzuzwana",m:"umzuzu",mm:"%d emizuzu",h:"lihora",hh:"%d emahora",d:"lilanga",dd:"%d emalanga",M:"inyanga",MM:"%d tinyanga",y:"umnyaka",yy:"%d iminyaka"},meridiemParse:/ekuseni|emini|entsambama|ebusuku/,meridiem:function(t,e,n){return t<11?"ekuseni":t<15?"emini":t<19?"entsambama":"ebusuku"},meridiemHour:function(t,e){return 12===t&&(t=0),"ekuseni"===e?t:"emini"===e?t>=11?t:t+12:"entsambama"===e||"ebusuku"===e?0===t?0:t+12:void 0},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:"%d",week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";var e={words:{ss:["секунда","секунде","секунди"],m:["један минут","једне минуте"],mm:["минут","минуте","минута"],h:["један сат","једног сата"],hh:["сат","сата","сати"],dd:["дан","дана","дана"],MM:["месец","месеца","месеци"],yy:["година","године","година"]},correctGrammaticalCase:function(t,e){return 1===t?e[0]:t>=2&&t<=4?e[1]:e[2]},translate:function(t,n,i){var r=e.words[i];return 1===i.length?n?r[0]:r[1]:t+" "+e.correctGrammaticalCase(t,r)}};t.defineLocale("sr-cyrl",{months:"јануар_фебруар_март_април_мај_јун_јул_август_септембар_октобар_новембар_децембар".split("_"),monthsShort:"јан._феб._мар._апр._мај_јун_јул_авг._сеп._окт._нов._дец.".split("_"),monthsParseExact:!0,weekdays:"недеља_понедељак_уторак_среда_четвртак_петак_субота".split("_"),weekdaysShort:"нед._пон._уто._сре._чет._пет._суб.".split("_"),weekdaysMin:"не_по_ут_ср_че_пе_су".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[данас у] LT",nextDay:"[сутра у] LT",nextWeek:function(){switch(this.day()){case 0:return"[у] [недељу] [у] LT";case 3:return"[у] [среду] [у] LT";case 6:return"[у] [суботу] [у] LT";case 1:case 2:case 4:case 5:return"[у] dddd [у] LT"}},lastDay:"[јуче у] LT",lastWeek:function(){return["[прошле] [недеље] [у] LT","[прошлог] [понедељка] [у] LT","[прошлог] [уторка] [у] LT","[прошле] [среде] [у] LT","[прошлог] [четвртка] [у] LT","[прошлог] [петка] [у] LT","[прошле] [суботе] [у] LT"][this.day()]},sameElse:"L"},relativeTime:{future:"за %s",past:"пре %s",s:"неколико секунди",ss:e.translate,m:e.translate,mm:e.translate,h:e.translate,hh:e.translate,d:"дан",dd:e.translate,M:"месец",MM:e.translate,y:"годину",yy:e.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}(n(0))},function(t,e,n){!function(t){"use strict";var e={words:{ss:["sekunda","sekunde","sekundi"],m:["jedan minut","jedne minute"],mm:["minut","minute","minuta"],h:["jedan sat","jednog sata"],hh:["sat","sata","sati"],dd:["dan","dana","dana"],MM:["mesec","meseca","meseci"],yy:["godina","godine","godina"]},correctGrammaticalCase:function(t,e){return 1===t?e[0]:t>=2&&t<=4?e[1]:e[2]},translate:function(t,n,i){var r=e.words[i];return 1===i.length?n?r[0]:r[1]:t+" "+e.correctGrammaticalCase(t,r)}};t.defineLocale("sr",{months:"januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar".split("_"),monthsShort:"jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedelja_ponedeljak_utorak_sreda_četvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sre._čet._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_če_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedelju] [u] LT";case 3:return"[u] [sredu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[juče u] LT",lastWeek:function(){return["[prošle] [nedelje] [u] LT","[prošlog] [ponedeljka] [u] LT","[prošlog] [utorka] [u] LT","[prošle] [srede] [u] LT","[prošlog] [četvrtka] [u] LT","[prošlog] [petka] [u] LT","[prošle] [subote] [u] LT"][this.day()]},sameElse:"L"},relativeTime:{future:"za %s",past:"pre %s",s:"nekoliko sekundi",ss:e.translate,m:e.translate,mm:e.translate,h:e.translate,hh:e.translate,d:"dan",dd:e.translate,M:"mesec",MM:e.translate,y:"godinu",yy:e.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("sq",{months:"Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_Nëntor_Dhjetor".split("_"),monthsShort:"Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_Nën_Dhj".split("_"),weekdays:"E Diel_E Hënë_E Martë_E Mërkurë_E Enjte_E Premte_E Shtunë".split("_"),weekdaysShort:"Die_Hën_Mar_Mër_Enj_Pre_Sht".split("_"),weekdaysMin:"D_H_Ma_Më_E_P_Sh".split("_"),weekdaysParseExact:!0,meridiemParse:/PD|MD/,isPM:function(t){return"M"===t.charAt(0)},meridiem:function(t,e,n){return t<12?"PD":"MD"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Sot në] LT",nextDay:"[Nesër në] LT",nextWeek:"dddd [në] LT",lastDay:"[Dje në] LT",lastWeek:"dddd [e kaluar në] LT",sameElse:"L"},relativeTime:{future:"në %s",past:"%s më parë",s:"disa sekonda",ss:"%d sekonda",m:"një minutë",mm:"%d minuta",h:"një orë",hh:"%d orë",d:"një ditë",dd:"%d ditë",M:"një muaj",MM:"%d muaj",y:"një vit",yy:"%d vite"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";function e(t,e,n,i){var r=t+" ";switch(n){case"s":return e||i?"nekaj sekund":"nekaj sekundami";case"ss":return r+=1===t?e?"sekundo":"sekundi":2===t?e||i?"sekundi":"sekundah":t<5?e||i?"sekunde":"sekundah":"sekund";case"m":return e?"ena minuta":"eno minuto";case"mm":return r+=1===t?e?"minuta":"minuto":2===t?e||i?"minuti":"minutama":t<5?e||i?"minute":"minutami":e||i?"minut":"minutami";case"h":return e?"ena ura":"eno uro";case"hh":return r+=1===t?e?"ura":"uro":2===t?e||i?"uri":"urama":t<5?e||i?"ure":"urami":e||i?"ur":"urami";case"d":return e||i?"en dan":"enim dnem";case"dd":return r+=1===t?e||i?"dan":"dnem":2===t?e||i?"dni":"dnevoma":e||i?"dni":"dnevi";case"M":return e||i?"en mesec":"enim mesecem";case"MM":return r+=1===t?e||i?"mesec":"mesecem":2===t?e||i?"meseca":"mesecema":t<5?e||i?"mesece":"meseci":e||i?"mesecev":"meseci";case"y":return e||i?"eno leto":"enim letom";case"yy":return r+=1===t?e||i?"leto":"letom":2===t?e||i?"leti":"letoma":t<5?e||i?"leta":"leti":e||i?"let":"leti"}}t.defineLocale("sl",{months:"januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december".split("_"),monthsShort:"jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedelja_ponedeljek_torek_sreda_četrtek_petek_sobota".split("_"),weekdaysShort:"ned._pon._tor._sre._čet._pet._sob.".split("_"),weekdaysMin:"ne_po_to_sr_če_pe_so".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danes ob] LT",nextDay:"[jutri ob] LT",nextWeek:function(){switch(this.day()){case 0:return"[v] [nedeljo] [ob] LT";case 3:return"[v] [sredo] [ob] LT";case 6:return"[v] [soboto] [ob] LT";case 1:case 2:case 4:case 5:return"[v] dddd [ob] LT"}},lastDay:"[včeraj ob] LT",lastWeek:function(){switch(this.day()){case 0:return"[prejšnjo] [nedeljo] [ob] LT";case 3:return"[prejšnjo] [sredo] [ob] LT";case 6:return"[prejšnjo] [soboto] [ob] LT";case 1:case 2:case 4:case 5:return"[prejšnji] dddd [ob] LT"}},sameElse:"L"},relativeTime:{future:"čez %s",past:"pred %s",s:e,ss:e,m:e,mm:e,h:e,hh:e,d:e,dd:e,M:e,MM:e,y:e,yy:e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}(n(0))},function(t,e,n){!function(t){"use strict";var e="január_február_marec_apríl_máj_jún_júl_august_september_október_november_december".split("_"),n="jan_feb_mar_apr_máj_jún_júl_aug_sep_okt_nov_dec".split("_");function i(t){return t>1&&t<5}function r(t,e,n,r){var a=t+" ";switch(n){case"s":return e||r?"pár sekúnd":"pár sekundami";case"ss":return e||r?a+(i(t)?"sekundy":"sekúnd"):a+"sekundami";case"m":return e?"minúta":r?"minútu":"minútou";case"mm":return e||r?a+(i(t)?"minúty":"minút"):a+"minútami";case"h":return e?"hodina":r?"hodinu":"hodinou";case"hh":return e||r?a+(i(t)?"hodiny":"hodín"):a+"hodinami";case"d":return e||r?"deň":"dňom";case"dd":return e||r?a+(i(t)?"dni":"dní"):a+"dňami";case"M":return e||r?"mesiac":"mesiacom";case"MM":return e||r?a+(i(t)?"mesiace":"mesiacov"):a+"mesiacmi";case"y":return e||r?"rok":"rokom";case"yy":return e||r?a+(i(t)?"roky":"rokov"):a+"rokmi"}}t.defineLocale("sk",{months:e,monthsShort:n,weekdays:"nedeľa_pondelok_utorok_streda_štvrtok_piatok_sobota".split("_"),weekdaysShort:"ne_po_ut_st_št_pi_so".split("_"),weekdaysMin:"ne_po_ut_st_št_pi_so".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd D. MMMM YYYY H:mm"},calendar:{sameDay:"[dnes o] LT",nextDay:"[zajtra o] LT",nextWeek:function(){switch(this.day()){case 0:return"[v nedeľu o] LT";case 1:case 2:return"[v] dddd [o] LT";case 3:return"[v stredu o] LT";case 4:return"[vo štvrtok o] LT";case 5:return"[v piatok o] LT";case 6:return"[v sobotu o] LT"}},lastDay:"[včera o] LT",lastWeek:function(){switch(this.day()){case 0:return"[minulú nedeľu o] LT";case 1:case 2:return"[minulý] dddd [o] LT";case 3:return"[minulú stredu o] LT";case 4:case 5:return"[minulý] dddd [o] LT";case 6:return"[minulú sobotu o] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"pred %s",s:r,ss:r,m:r,mm:r,h:r,hh:r,d:r,dd:r,M:r,MM:r,y:r,yy:r},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("si",{months:"ජනවාරි_පෙබරවාරි_මාර්තු_අප්‍රේල්_මැයි_ජූනි_ජූලි_අගෝස්තු_සැප්තැම්බර්_ඔක්තෝබර්_නොවැම්බර්_දෙසැම්බර්".split("_"),monthsShort:"ජන_පෙබ_මාර්_අප්_මැයි_ජූනි_ජූලි_අගෝ_සැප්_ඔක්_නොවැ_දෙසැ".split("_"),weekdays:"ඉරිදා_සඳුදා_අඟහරුවාදා_බදාදා_බ්‍රහස්පතින්දා_සිකුරාදා_සෙනසුරාදා".split("_"),weekdaysShort:"ඉරි_සඳු_අඟ_බදා_බ්‍රහ_සිකු_සෙන".split("_"),weekdaysMin:"ඉ_ස_අ_බ_බ්‍ර_සි_සෙ".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"a h:mm",LTS:"a h:mm:ss",L:"YYYY/MM/DD",LL:"YYYY MMMM D",LLL:"YYYY MMMM D, a h:mm",LLLL:"YYYY MMMM D [වැනි] dddd, a h:mm:ss"},calendar:{sameDay:"[අද] LT[ට]",nextDay:"[හෙට] LT[ට]",nextWeek:"dddd LT[ට]",lastDay:"[ඊයේ] LT[ට]",lastWeek:"[පසුගිය] dddd LT[ට]",sameElse:"L"},relativeTime:{future:"%sකින්",past:"%sකට පෙර",s:"තත්පර කිහිපය",ss:"තත්පර %d",m:"මිනිත්තුව",mm:"මිනිත්තු %d",h:"පැය",hh:"පැය %d",d:"දිනය",dd:"දින %d",M:"මාසය",MM:"මාස %d",y:"වසර",yy:"වසර %d"},dayOfMonthOrdinalParse:/\d{1,2} වැනි/,ordinal:function(t){return t+" වැනි"},meridiemParse:/පෙර වරු|පස් වරු|පෙ.ව|ප.ව./,isPM:function(t){return"ප.ව."===t||"පස් වරු"===t},meridiem:function(t,e,n){return t>11?n?"ප.ව.":"පස් වරු":n?"පෙ.ව.":"පෙර වරු"}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("se",{months:"ođđajagemánnu_guovvamánnu_njukčamánnu_cuoŋománnu_miessemánnu_geassemánnu_suoidnemánnu_borgemánnu_čakčamánnu_golggotmánnu_skábmamánnu_juovlamánnu".split("_"),monthsShort:"ođđj_guov_njuk_cuo_mies_geas_suoi_borg_čakč_golg_skáb_juov".split("_"),weekdays:"sotnabeaivi_vuossárga_maŋŋebárga_gaskavahkku_duorastat_bearjadat_lávvardat".split("_"),weekdaysShort:"sotn_vuos_maŋ_gask_duor_bear_láv".split("_"),weekdaysMin:"s_v_m_g_d_b_L".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"MMMM D. [b.] YYYY",LLL:"MMMM D. [b.] YYYY [ti.] HH:mm",LLLL:"dddd, MMMM D. [b.] YYYY [ti.] HH:mm"},calendar:{sameDay:"[otne ti] LT",nextDay:"[ihttin ti] LT",nextWeek:"dddd [ti] LT",lastDay:"[ikte ti] LT",lastWeek:"[ovddit] dddd [ti] LT",sameElse:"L"},relativeTime:{future:"%s geažes",past:"maŋit %s",s:"moadde sekunddat",ss:"%d sekunddat",m:"okta minuhta",mm:"%d minuhtat",h:"okta diimmu",hh:"%d diimmut",d:"okta beaivi",dd:"%d beaivvit",M:"okta mánnu",MM:"%d mánut",y:"okta jahki",yy:"%d jagit"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";var e=["جنوري","فيبروري","مارچ","اپريل","مئي","جون","جولاءِ","آگسٽ","سيپٽمبر","آڪٽوبر","نومبر","ڊسمبر"],n=["آچر","سومر","اڱارو","اربع","خميس","جمع","ڇنڇر"];t.defineLocale("sd",{months:e,monthsShort:e,weekdays:n,weekdaysShort:n,weekdaysMin:n,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd، D MMMM YYYY HH:mm"},meridiemParse:/صبح|شام/,isPM:function(t){return"شام"===t},meridiem:function(t,e,n){return t<12?"صبح":"شام"},calendar:{sameDay:"[اڄ] LT",nextDay:"[سڀاڻي] LT",nextWeek:"dddd [اڳين هفتي تي] LT",lastDay:"[ڪالهه] LT",lastWeek:"[گزريل هفتي] dddd [تي] LT",sameElse:"L"},relativeTime:{future:"%s پوء",past:"%s اڳ",s:"چند سيڪنڊ",ss:"%d سيڪنڊ",m:"هڪ منٽ",mm:"%d منٽ",h:"هڪ ڪلاڪ",hh:"%d ڪلاڪ",d:"هڪ ڏينهن",dd:"%d ڏينهن",M:"هڪ مهينو",MM:"%d مهينا",y:"هڪ سال",yy:"%d سال"},preparse:function(t){return t.replace(/،/g,",")},postformat:function(t){return t.replace(/,/g,"،")},week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";function e(t,e,n){var i,r,a={ss:e?"секунда_секунды_секунд":"секунду_секунды_секунд",mm:e?"минута_минуты_минут":"минуту_минуты_минут",hh:"час_часа_часов",dd:"день_дня_дней",MM:"месяц_месяца_месяцев",yy:"год_года_лет"};return"m"===n?e?"минута":"минуту":t+" "+(i=+t,r=a[n].split("_"),i%10==1&&i%100!=11?r[0]:i%10>=2&&i%10<=4&&(i%100<10||i%100>=20)?r[1]:r[2])}var n=[/^янв/i,/^фев/i,/^мар/i,/^апр/i,/^ма[йя]/i,/^июн/i,/^июл/i,/^авг/i,/^сен/i,/^окт/i,/^ноя/i,/^дек/i];t.defineLocale("ru",{months:{format:"января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря".split("_"),standalone:"январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь".split("_")},monthsShort:{format:"янв._февр._мар._апр._мая_июня_июля_авг._сент._окт._нояб._дек.".split("_"),standalone:"янв._февр._март_апр._май_июнь_июль_авг._сент._окт._нояб._дек.".split("_")},weekdays:{standalone:"воскресенье_понедельник_вторник_среда_четверг_пятница_суббота".split("_"),format:"воскресенье_понедельник_вторник_среду_четверг_пятницу_субботу".split("_"),isFormat:/\[ ?[Вв] ?(?:прошлую|следующую|эту)? ?\] ?dddd/},weekdaysShort:"вс_пн_вт_ср_чт_пт_сб".split("_"),weekdaysMin:"вс_пн_вт_ср_чт_пт_сб".split("_"),monthsParse:n,longMonthsParse:n,shortMonthsParse:n,monthsRegex:/^(январ[ья]|янв\.?|феврал[ья]|февр?\.?|марта?|мар\.?|апрел[ья]|апр\.?|ма[йя]|июн[ья]|июн\.?|июл[ья]|июл\.?|августа?|авг\.?|сентябр[ья]|сент?\.?|октябр[ья]|окт\.?|ноябр[ья]|нояб?\.?|декабр[ья]|дек\.?)/i,monthsShortRegex:/^(январ[ья]|янв\.?|феврал[ья]|февр?\.?|марта?|мар\.?|апрел[ья]|апр\.?|ма[йя]|июн[ья]|июн\.?|июл[ья]|июл\.?|августа?|авг\.?|сентябр[ья]|сент?\.?|октябр[ья]|окт\.?|ноябр[ья]|нояб?\.?|декабр[ья]|дек\.?)/i,monthsStrictRegex:/^(январ[яь]|феврал[яь]|марта?|апрел[яь]|ма[яй]|июн[яь]|июл[яь]|августа?|сентябр[яь]|октябр[яь]|ноябр[яь]|декабр[яь])/i,monthsShortStrictRegex:/^(янв\.|февр?\.|мар[т.]|апр\.|ма[яй]|июн[ья.]|июл[ья.]|авг\.|сент?\.|окт\.|нояб?\.|дек\.)/i,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY г.",LLL:"D MMMM YYYY г., H:mm",LLLL:"dddd, D MMMM YYYY г., H:mm"},calendar:{sameDay:"[Сегодня, в] LT",nextDay:"[Завтра, в] LT",lastDay:"[Вчера, в] LT",nextWeek:function(t){if(t.week()===this.week())return 2===this.day()?"[Во] dddd, [в] LT":"[В] dddd, [в] LT";switch(this.day()){case 0:return"[В следующее] dddd, [в] LT";case 1:case 2:case 4:return"[В следующий] dddd, [в] LT";case 3:case 5:case 6:return"[В следующую] dddd, [в] LT"}},lastWeek:function(t){if(t.week()===this.week())return 2===this.day()?"[Во] dddd, [в] LT":"[В] dddd, [в] LT";switch(this.day()){case 0:return"[В прошлое] dddd, [в] LT";case 1:case 2:case 4:return"[В прошлый] dddd, [в] LT";case 3:case 5:case 6:return"[В прошлую] dddd, [в] LT"}},sameElse:"L"},relativeTime:{future:"через %s",past:"%s назад",s:"несколько секунд",ss:e,m:e,mm:e,h:"час",hh:e,d:"день",dd:e,M:"месяц",MM:e,y:"год",yy:e},meridiemParse:/ночи|утра|дня|вечера/i,isPM:function(t){return/^(дня|вечера)$/.test(t)},meridiem:function(t,e,n){return t<4?"ночи":t<12?"утра":t<17?"дня":"вечера"},dayOfMonthOrdinalParse:/\d{1,2}-(й|го|я)/,ordinal:function(t,e){switch(e){case"M":case"d":case"DDD":return t+"-й";case"D":return t+"-го";case"w":case"W":return t+"-я";default:return t}},week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";function e(t,e,n){var i=" ";return(t%100>=20||t>=100&&t%100==0)&&(i=" de "),t+i+{ss:"secunde",mm:"minute",hh:"ore",dd:"zile",MM:"luni",yy:"ani"}[n]}t.defineLocale("ro",{months:"ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie".split("_"),monthsShort:"ian._febr._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"duminică_luni_marți_miercuri_joi_vineri_sâmbătă".split("_"),weekdaysShort:"Dum_Lun_Mar_Mie_Joi_Vin_Sâm".split("_"),weekdaysMin:"Du_Lu_Ma_Mi_Jo_Vi_Sâ".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[azi la] LT",nextDay:"[mâine la] LT",nextWeek:"dddd [la] LT",lastDay:"[ieri la] LT",lastWeek:"[fosta] dddd [la] LT",sameElse:"L"},relativeTime:{future:"peste %s",past:"%s în urmă",s:"câteva secunde",ss:e,m:"un minut",mm:e,h:"o oră",hh:e,d:"o zi",dd:e,M:"o lună",MM:e,y:"un an",yy:e},week:{dow:1,doy:7}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("pt-br",{months:"janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro".split("_"),monthsShort:"jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez".split("_"),weekdays:"Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado".split("_"),weekdaysShort:"Dom_Seg_Ter_Qua_Qui_Sex_Sáb".split("_"),weekdaysMin:"Do_2ª_3ª_4ª_5ª_6ª_Sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY [às] HH:mm",LLLL:"dddd, D [de] MMMM [de] YYYY [às] HH:mm"},calendar:{sameDay:"[Hoje às] LT",nextDay:"[Amanhã às] LT",nextWeek:"dddd [às] LT",lastDay:"[Ontem às] LT",lastWeek:function(){return 0===this.day()||6===this.day()?"[Último] dddd [às] LT":"[Última] dddd [às] LT"},sameElse:"L"},relativeTime:{future:"em %s",past:"há %s",s:"poucos segundos",ss:"%d segundos",m:"um minuto",mm:"%d minutos",h:"uma hora",hh:"%d horas",d:"um dia",dd:"%d dias",M:"um mês",MM:"%d meses",y:"um ano",yy:"%d anos"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº"})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("pt",{months:"janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro".split("_"),monthsShort:"jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez".split("_"),weekdays:"Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado".split("_"),weekdaysShort:"Dom_Seg_Ter_Qua_Qui_Sex_Sáb".split("_"),weekdaysMin:"Do_2ª_3ª_4ª_5ª_6ª_Sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY HH:mm",LLLL:"dddd, D [de] MMMM [de] YYYY HH:mm"},calendar:{sameDay:"[Hoje às] LT",nextDay:"[Amanhã às] LT",nextWeek:"dddd [às] LT",lastDay:"[Ontem às] LT",lastWeek:function(){return 0===this.day()||6===this.day()?"[Último] dddd [às] LT":"[Última] dddd [às] LT"},sameElse:"L"},relativeTime:{future:"em %s",past:"há %s",s:"segundos",ss:"%d segundos",m:"um minuto",mm:"%d minutos",h:"uma hora",hh:"%d horas",d:"um dia",dd:"%d dias",M:"um mês",MM:"%d meses",y:"um ano",yy:"%d anos"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";var e="styczeń_luty_marzec_kwiecień_maj_czerwiec_lipiec_sierpień_wrzesień_październik_listopad_grudzień".split("_"),n="stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_września_października_listopada_grudnia".split("_");function i(t){return t%10<5&&t%10>1&&~~(t/10)%10!=1}function r(t,e,n){var r=t+" ";switch(n){case"ss":return r+(i(t)?"sekundy":"sekund");case"m":return e?"minuta":"minutę";case"mm":return r+(i(t)?"minuty":"minut");case"h":return e?"godzina":"godzinę";case"hh":return r+(i(t)?"godziny":"godzin");case"MM":return r+(i(t)?"miesiące":"miesięcy");case"yy":return r+(i(t)?"lata":"lat")}}t.defineLocale("pl",{months:function(t,i){return t?""===i?"("+n[t.month()]+"|"+e[t.month()]+")":/D MMMM/.test(i)?n[t.month()]:e[t.month()]:e},monthsShort:"sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paź_lis_gru".split("_"),weekdays:"niedziela_poniedziałek_wtorek_środa_czwartek_piątek_sobota".split("_"),weekdaysShort:"ndz_pon_wt_śr_czw_pt_sob".split("_"),weekdaysMin:"Nd_Pn_Wt_Śr_Cz_Pt_So".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Dziś o] LT",nextDay:"[Jutro o] LT",nextWeek:function(){switch(this.day()){case 0:return"[W niedzielę o] LT";case 2:return"[We wtorek o] LT";case 3:return"[W środę o] LT";case 6:return"[W sobotę o] LT";default:return"[W] dddd [o] LT"}},lastDay:"[Wczoraj o] LT",lastWeek:function(){switch(this.day()){case 0:return"[W zeszłą niedzielę o] LT";case 3:return"[W zeszłą środę o] LT";case 6:return"[W zeszłą sobotę o] LT";default:return"[W zeszły] dddd [o] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"%s temu",s:"kilka sekund",ss:r,m:r,mm:r,h:r,hh:r,d:"1 dzień",dd:"%d dni",M:"miesiąc",MM:r,y:"rok",yy:r},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";var e={1:"੧",2:"੨",3:"੩",4:"੪",5:"੫",6:"੬",7:"੭",8:"੮",9:"੯",0:"੦"},n={"੧":"1","੨":"2","੩":"3","੪":"4","੫":"5","੬":"6","੭":"7","੮":"8","੯":"9","੦":"0"};t.defineLocale("pa-in",{months:"ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ".split("_"),monthsShort:"ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ".split("_"),weekdays:"ਐਤਵਾਰ_ਸੋਮਵਾਰ_ਮੰਗਲਵਾਰ_ਬੁਧਵਾਰ_ਵੀਰਵਾਰ_ਸ਼ੁੱਕਰਵਾਰ_ਸ਼ਨੀਚਰਵਾਰ".split("_"),weekdaysShort:"ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ".split("_"),weekdaysMin:"ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ".split("_"),longDateFormat:{LT:"A h:mm ਵਜੇ",LTS:"A h:mm:ss ਵਜੇ",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm ਵਜੇ",LLLL:"dddd, D MMMM YYYY, A h:mm ਵਜੇ"},calendar:{sameDay:"[ਅਜ] LT",nextDay:"[ਕਲ] LT",nextWeek:"[ਅਗਲਾ] dddd, LT",lastDay:"[ਕਲ] LT",lastWeek:"[ਪਿਛਲੇ] dddd, LT",sameElse:"L"},relativeTime:{future:"%s ਵਿੱਚ",past:"%s ਪਿਛਲੇ",s:"ਕੁਝ ਸਕਿੰਟ",ss:"%d ਸਕਿੰਟ",m:"ਇਕ ਮਿੰਟ",mm:"%d ਮਿੰਟ",h:"ਇੱਕ ਘੰਟਾ",hh:"%d ਘੰਟੇ",d:"ਇੱਕ ਦਿਨ",dd:"%d ਦਿਨ",M:"ਇੱਕ ਮਹੀਨਾ",MM:"%d ਮਹੀਨੇ",y:"ਇੱਕ ਸਾਲ",yy:"%d ਸਾਲ"},preparse:function(t){return t.replace(/[੧੨੩੪੫੬੭੮੯੦]/g,function(t){return n[t]})},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]})},meridiemParse:/ਰਾਤ|ਸਵੇਰ|ਦੁਪਹਿਰ|ਸ਼ਾਮ/,meridiemHour:function(t,e){return 12===t&&(t=0),"ਰਾਤ"===e?t<4?t:t+12:"ਸਵੇਰ"===e?t:"ਦੁਪਹਿਰ"===e?t>=10?t:t+12:"ਸ਼ਾਮ"===e?t+12:void 0},meridiem:function(t,e,n){return t<4?"ਰਾਤ":t<10?"ਸਵੇਰ":t<17?"ਦੁਪਹਿਰ":t<20?"ਸ਼ਾਮ":"ਰਾਤ"},week:{dow:0,doy:6}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("nn",{months:"januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_"),weekdays:"sundag_måndag_tysdag_onsdag_torsdag_fredag_laurdag".split("_"),weekdaysShort:"sun_mån_tys_ons_tor_fre_lau".split("_"),weekdaysMin:"su_må_ty_on_to_fr_lø".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] H:mm",LLLL:"dddd D. MMMM YYYY [kl.] HH:mm"},calendar:{sameDay:"[I dag klokka] LT",nextDay:"[I morgon klokka] LT",nextWeek:"dddd [klokka] LT",lastDay:"[I går klokka] LT",lastWeek:"[Føregåande] dddd [klokka] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"%s sidan",s:"nokre sekund",ss:"%d sekund",m:"eit minutt",mm:"%d minutt",h:"ein time",hh:"%d timar",d:"ein dag",dd:"%d dagar",M:"ein månad",MM:"%d månader",y:"eit år",yy:"%d år"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";var e="jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.".split("_"),n="jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec".split("_"),i=[/^jan/i,/^feb/i,/^maart|mrt.?$/i,/^apr/i,/^mei$/i,/^jun[i.]?$/i,/^jul[i.]?$/i,/^aug/i,/^sep/i,/^okt/i,/^nov/i,/^dec/i],r=/^(januari|februari|maart|april|mei|april|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i;t.defineLocale("nl-be",{months:"januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december".split("_"),monthsShort:function(t,i){return t?/-MMM-/.test(i)?n[t.month()]:e[t.month()]:e},monthsRegex:r,monthsShortRegex:r,monthsStrictRegex:/^(januari|februari|maart|mei|ju[nl]i|april|augustus|september|oktober|november|december)/i,monthsShortStrictRegex:/^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,monthsParse:i,longMonthsParse:i,shortMonthsParse:i,weekdays:"zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag".split("_"),weekdaysShort:"zo._ma._di._wo._do._vr._za.".split("_"),weekdaysMin:"zo_ma_di_wo_do_vr_za".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[vandaag om] LT",nextDay:"[morgen om] LT",nextWeek:"dddd [om] LT",lastDay:"[gisteren om] LT",lastWeek:"[afgelopen] dddd [om] LT",sameElse:"L"},relativeTime:{future:"over %s",past:"%s geleden",s:"een paar seconden",ss:"%d seconden",m:"één minuut",mm:"%d minuten",h:"één uur",hh:"%d uur",d:"één dag",dd:"%d dagen",M:"één maand",MM:"%d maanden",y:"één jaar",yy:"%d jaar"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(t){return t+(1===t||8===t||t>=20?"ste":"de")},week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";var e="jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.".split("_"),n="jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec".split("_"),i=[/^jan/i,/^feb/i,/^maart|mrt.?$/i,/^apr/i,/^mei$/i,/^jun[i.]?$/i,/^jul[i.]?$/i,/^aug/i,/^sep/i,/^okt/i,/^nov/i,/^dec/i],r=/^(januari|februari|maart|april|mei|april|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i;t.defineLocale("nl",{months:"januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december".split("_"),monthsShort:function(t,i){return t?/-MMM-/.test(i)?n[t.month()]:e[t.month()]:e},monthsRegex:r,monthsShortRegex:r,monthsStrictRegex:/^(januari|februari|maart|mei|ju[nl]i|april|augustus|september|oktober|november|december)/i,monthsShortStrictRegex:/^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,monthsParse:i,longMonthsParse:i,shortMonthsParse:i,weekdays:"zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag".split("_"),weekdaysShort:"zo._ma._di._wo._do._vr._za.".split("_"),weekdaysMin:"zo_ma_di_wo_do_vr_za".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[vandaag om] LT",nextDay:"[morgen om] LT",nextWeek:"dddd [om] LT",lastDay:"[gisteren om] LT",lastWeek:"[afgelopen] dddd [om] LT",sameElse:"L"},relativeTime:{future:"over %s",past:"%s geleden",s:"een paar seconden",ss:"%d seconden",m:"één minuut",mm:"%d minuten",h:"één uur",hh:"%d uur",d:"één dag",dd:"%d dagen",M:"één maand",MM:"%d maanden",y:"één jaar",yy:"%d jaar"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(t){return t+(1===t||8===t||t>=20?"ste":"de")},week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";var e={1:"१",2:"२",3:"३",4:"४",5:"५",6:"६",7:"७",8:"८",9:"९",0:"०"},n={"१":"1","२":"2","३":"3","४":"4","५":"5","६":"6","७":"7","८":"8","९":"9","०":"0"};t.defineLocale("ne",{months:"जनवरी_फेब्रुवरी_मार्च_अप्रिल_मई_जुन_जुलाई_अगष्ट_सेप्टेम्बर_अक्टोबर_नोभेम्बर_डिसेम्बर".split("_"),monthsShort:"जन._फेब्रु._मार्च_अप्रि._मई_जुन_जुलाई._अग._सेप्ट._अक्टो._नोभे._डिसे.".split("_"),monthsParseExact:!0,weekdays:"आइतबार_सोमबार_मङ्गलबार_बुधबार_बिहिबार_शुक्रबार_शनिबार".split("_"),weekdaysShort:"आइत._सोम._मङ्गल._बुध._बिहि._शुक्र._शनि.".split("_"),weekdaysMin:"आ._सो._मं._बु._बि._शु._श.".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"Aको h:mm बजे",LTS:"Aको h:mm:ss बजे",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, Aको h:mm बजे",LLLL:"dddd, D MMMM YYYY, Aको h:mm बजे"},preparse:function(t){return t.replace(/[१२३४५६७८९०]/g,function(t){return n[t]})},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]})},meridiemParse:/राति|बिहान|दिउँसो|साँझ/,meridiemHour:function(t,e){return 12===t&&(t=0),"राति"===e?t<4?t:t+12:"बिहान"===e?t:"दिउँसो"===e?t>=10?t:t+12:"साँझ"===e?t+12:void 0},meridiem:function(t,e,n){return t<3?"राति":t<12?"बिहान":t<16?"दिउँसो":t<20?"साँझ":"राति"},calendar:{sameDay:"[आज] LT",nextDay:"[भोलि] LT",nextWeek:"[आउँदो] dddd[,] LT",lastDay:"[हिजो] LT",lastWeek:"[गएको] dddd[,] LT",sameElse:"L"},relativeTime:{future:"%sमा",past:"%s अगाडि",s:"केही क्षण",ss:"%d सेकेण्ड",m:"एक मिनेट",mm:"%d मिनेट",h:"एक घण्टा",hh:"%d घण्टा",d:"एक दिन",dd:"%d दिन",M:"एक महिना",MM:"%d महिना",y:"एक बर्ष",yy:"%d बर्ष"},week:{dow:0,doy:6}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("nb",{months:"januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan._feb._mars_april_mai_juni_juli_aug._sep._okt._nov._des.".split("_"),monthsParseExact:!0,weekdays:"søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag".split("_"),weekdaysShort:"sø._ma._ti._on._to._fr._lø.".split("_"),weekdaysMin:"sø_ma_ti_on_to_fr_lø".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] HH:mm",LLLL:"dddd D. MMMM YYYY [kl.] HH:mm"},calendar:{sameDay:"[i dag kl.] LT",nextDay:"[i morgen kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[i går kl.] LT",lastWeek:"[forrige] dddd [kl.] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"%s siden",s:"noen sekunder",ss:"%d sekunder",m:"ett minutt",mm:"%d minutter",h:"en time",hh:"%d timer",d:"en dag",dd:"%d dager",M:"en måned",MM:"%d måneder",y:"ett år",yy:"%d år"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";var e={1:"၁",2:"၂",3:"၃",4:"၄",5:"၅",6:"၆",7:"၇",8:"၈",9:"၉",0:"၀"},n={"၁":"1","၂":"2","၃":"3","၄":"4","၅":"5","၆":"6","၇":"7","၈":"8","၉":"9","၀":"0"};t.defineLocale("my",{months:"ဇန်နဝါရီ_ဖေဖော်ဝါရီ_မတ်_ဧပြီ_မေ_ဇွန်_ဇူလိုင်_သြဂုတ်_စက်တင်ဘာ_အောက်တိုဘာ_နိုဝင်ဘာ_ဒီဇင်ဘာ".split("_"),monthsShort:"ဇန်_ဖေ_မတ်_ပြီ_မေ_ဇွန်_လိုင်_သြ_စက်_အောက်_နို_ဒီ".split("_"),weekdays:"တနင်္ဂနွေ_တနင်္လာ_အင်္ဂါ_ဗုဒ္ဓဟူး_ကြာသပတေး_သောကြာ_စနေ".split("_"),weekdaysShort:"နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ".split("_"),weekdaysMin:"နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[ယနေ.] LT [မှာ]",nextDay:"[မနက်ဖြန်] LT [မှာ]",nextWeek:"dddd LT [မှာ]",lastDay:"[မနေ.က] LT [မှာ]",lastWeek:"[ပြီးခဲ့သော] dddd LT [မှာ]",sameElse:"L"},relativeTime:{future:"လာမည့် %s မှာ",past:"လွန်ခဲ့သော %s က",s:"စက္ကန်.အနည်းငယ်",ss:"%d စက္ကန့်",m:"တစ်မိနစ်",mm:"%d မိနစ်",h:"တစ်နာရီ",hh:"%d နာရီ",d:"တစ်ရက်",dd:"%d ရက်",M:"တစ်လ",MM:"%d လ",y:"တစ်နှစ်",yy:"%d နှစ်"},preparse:function(t){return t.replace(/[၁၂၃၄၅၆၇၈၉၀]/g,function(t){return n[t]})},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]})},week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("mt",{months:"Jannar_Frar_Marzu_April_Mejju_Ġunju_Lulju_Awwissu_Settembru_Ottubru_Novembru_Diċembru".split("_"),monthsShort:"Jan_Fra_Mar_Apr_Mej_Ġun_Lul_Aww_Set_Ott_Nov_Diċ".split("_"),weekdays:"Il-Ħadd_It-Tnejn_It-Tlieta_L-Erbgħa_Il-Ħamis_Il-Ġimgħa_Is-Sibt".split("_"),weekdaysShort:"Ħad_Tne_Tli_Erb_Ħam_Ġim_Sib".split("_"),weekdaysMin:"Ħa_Tn_Tl_Er_Ħa_Ġi_Si".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Illum fil-]LT",nextDay:"[Għada fil-]LT",nextWeek:"dddd [fil-]LT",lastDay:"[Il-bieraħ fil-]LT",lastWeek:"dddd [li għadda] [fil-]LT",sameElse:"L"},relativeTime:{future:"f’ %s",past:"%s ilu",s:"ftit sekondi",ss:"%d sekondi",m:"minuta",mm:"%d minuti",h:"siegħa",hh:"%d siegħat",d:"ġurnata",dd:"%d ġranet",M:"xahar",MM:"%d xhur",y:"sena",yy:"%d sni"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("ms-my",{months:"Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis".split("_"),weekdays:"Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu".split("_"),weekdaysShort:"Ahd_Isn_Sel_Rab_Kha_Jum_Sab".split("_"),weekdaysMin:"Ah_Is_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/pagi|tengahari|petang|malam/,meridiemHour:function(t,e){return 12===t&&(t=0),"pagi"===e?t:"tengahari"===e?t>=11?t:t+12:"petang"===e||"malam"===e?t+12:void 0},meridiem:function(t,e,n){return t<11?"pagi":t<15?"tengahari":t<19?"petang":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Esok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kelmarin pukul] LT",lastWeek:"dddd [lepas pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lepas",s:"beberapa saat",ss:"%d saat",m:"seminit",mm:"%d minit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,doy:7}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("ms",{months:"Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis".split("_"),weekdays:"Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu".split("_"),weekdaysShort:"Ahd_Isn_Sel_Rab_Kha_Jum_Sab".split("_"),weekdaysMin:"Ah_Is_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/pagi|tengahari|petang|malam/,meridiemHour:function(t,e){return 12===t&&(t=0),"pagi"===e?t:"tengahari"===e?t>=11?t:t+12:"petang"===e||"malam"===e?t+12:void 0},meridiem:function(t,e,n){return t<11?"pagi":t<15?"tengahari":t<19?"petang":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Esok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kelmarin pukul] LT",lastWeek:"dddd [lepas pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lepas",s:"beberapa saat",ss:"%d saat",m:"seminit",mm:"%d minit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,doy:7}})}(n(0))},function(t,e,n){!function(t){"use strict";var e={1:"१",2:"२",3:"३",4:"४",5:"५",6:"६",7:"७",8:"८",9:"९",0:"०"},n={"१":"1","२":"2","३":"3","४":"4","५":"5","६":"6","७":"7","८":"8","९":"9","०":"0"};function i(t,e,n,i){var r="";if(e)switch(n){case"s":r="काही सेकंद";break;case"ss":r="%d सेकंद";break;case"m":r="एक मिनिट";break;case"mm":r="%d मिनिटे";break;case"h":r="एक तास";break;case"hh":r="%d तास";break;case"d":r="एक दिवस";break;case"dd":r="%d दिवस";break;case"M":r="एक महिना";break;case"MM":r="%d महिने";break;case"y":r="एक वर्ष";break;case"yy":r="%d वर्षे"}else switch(n){case"s":r="काही सेकंदां";break;case"ss":r="%d सेकंदां";break;case"m":r="एका मिनिटा";break;case"mm":r="%d मिनिटां";break;case"h":r="एका तासा";break;case"hh":r="%d तासां";break;case"d":r="एका दिवसा";break;case"dd":r="%d दिवसां";break;case"M":r="एका महिन्या";break;case"MM":r="%d महिन्यां";break;case"y":r="एका वर्षा";break;case"yy":r="%d वर्षां"}return r.replace(/%d/i,t)}t.defineLocale("mr",{months:"जानेवारी_फेब्रुवारी_मार्च_एप्रिल_मे_जून_जुलै_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर".split("_"),monthsShort:"जाने._फेब्रु._मार्च._एप्रि._मे._जून._जुलै._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.".split("_"),monthsParseExact:!0,weekdays:"रविवार_सोमवार_मंगळवार_बुधवार_गुरूवार_शुक्रवार_शनिवार".split("_"),weekdaysShort:"रवि_सोम_मंगळ_बुध_गुरू_शुक्र_शनि".split("_"),weekdaysMin:"र_सो_मं_बु_गु_शु_श".split("_"),longDateFormat:{LT:"A h:mm वाजता",LTS:"A h:mm:ss वाजता",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm वाजता",LLLL:"dddd, D MMMM YYYY, A h:mm वाजता"},calendar:{sameDay:"[आज] LT",nextDay:"[उद्या] LT",nextWeek:"dddd, LT",lastDay:"[काल] LT",lastWeek:"[मागील] dddd, LT",sameElse:"L"},relativeTime:{future:"%sमध्ये",past:"%sपूर्वी",s:i,ss:i,m:i,mm:i,h:i,hh:i,d:i,dd:i,M:i,MM:i,y:i,yy:i},preparse:function(t){return t.replace(/[१२३४५६७८९०]/g,function(t){return n[t]})},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]})},meridiemParse:/रात्री|सकाळी|दुपारी|सायंकाळी/,meridiemHour:function(t,e){return 12===t&&(t=0),"रात्री"===e?t<4?t:t+12:"सकाळी"===e?t:"दुपारी"===e?t>=10?t:t+12:"सायंकाळी"===e?t+12:void 0},meridiem:function(t,e,n){return t<4?"रात्री":t<10?"सकाळी":t<17?"दुपारी":t<20?"सायंकाळी":"रात्री"},week:{dow:0,doy:6}})}(n(0))},function(t,e,n){!function(t){"use strict";function e(t,e,n,i){switch(n){case"s":return e?"хэдхэн секунд":"хэдхэн секундын";case"ss":return t+(e?" секунд":" секундын");case"m":case"mm":return t+(e?" минут":" минутын");case"h":case"hh":return t+(e?" цаг":" цагийн");case"d":case"dd":return t+(e?" өдөр":" өдрийн");case"M":case"MM":return t+(e?" сар":" сарын");case"y":case"yy":return t+(e?" жил":" жилийн");default:return t}}t.defineLocale("mn",{months:"Нэгдүгээр сар_Хоёрдугаар сар_Гуравдугаар сар_Дөрөвдүгээр сар_Тавдугаар сар_Зургадугаар сар_Долдугаар сар_Наймдугаар сар_Есдүгээр сар_Аравдугаар сар_Арван нэгдүгээр сар_Арван хоёрдугаар сар".split("_"),monthsShort:"1 сар_2 сар_3 сар_4 сар_5 сар_6 сар_7 сар_8 сар_9 сар_10 сар_11 сар_12 сар".split("_"),monthsParseExact:!0,weekdays:"Ням_Даваа_Мягмар_Лхагва_Пүрэв_Баасан_Бямба".split("_"),weekdaysShort:"Ням_Дав_Мяг_Лха_Пүр_Баа_Бям".split("_"),weekdaysMin:"Ня_Да_Мя_Лх_Пү_Ба_Бя".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY оны MMMMын D",LLL:"YYYY оны MMMMын D HH:mm",LLLL:"dddd, YYYY оны MMMMын D HH:mm"},meridiemParse:/ҮӨ|ҮХ/i,isPM:function(t){return"ҮХ"===t},meridiem:function(t,e,n){return t<12?"ҮӨ":"ҮХ"},calendar:{sameDay:"[Өнөөдөр] LT",nextDay:"[Маргааш] LT",nextWeek:"[Ирэх] dddd LT",lastDay:"[Өчигдөр] LT",lastWeek:"[Өнгөрсөн] dddd LT",sameElse:"L"},relativeTime:{future:"%s дараа",past:"%s өмнө",s:e,ss:e,m:e,mm:e,h:e,hh:e,d:e,dd:e,M:e,MM:e,y:e,yy:e},dayOfMonthOrdinalParse:/\d{1,2} өдөр/,ordinal:function(t,e){switch(e){case"d":case"D":case"DDD":return t+" өдөр";default:return t}}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("ml",{months:"ജനുവരി_ഫെബ്രുവരി_മാർച്ച്_ഏപ്രിൽ_മേയ്_ജൂൺ_ജൂലൈ_ഓഗസ്റ്റ്_സെപ്റ്റംബർ_ഒക്ടോബർ_നവംബർ_ഡിസംബർ".split("_"),monthsShort:"ജനു._ഫെബ്രു._മാർ._ഏപ്രി._മേയ്_ജൂൺ_ജൂലൈ._ഓഗ._സെപ്റ്റ._ഒക്ടോ._നവം._ഡിസം.".split("_"),monthsParseExact:!0,weekdays:"ഞായറാഴ്ച_തിങ്കളാഴ്ച_ചൊവ്വാഴ്ച_ബുധനാഴ്ച_വ്യാഴാഴ്ച_വെള്ളിയാഴ്ച_ശനിയാഴ്ച".split("_"),weekdaysShort:"ഞായർ_തിങ്കൾ_ചൊവ്വ_ബുധൻ_വ്യാഴം_വെള്ളി_ശനി".split("_"),weekdaysMin:"ഞാ_തി_ചൊ_ബു_വ്യാ_വെ_ശ".split("_"),longDateFormat:{LT:"A h:mm -നു",LTS:"A h:mm:ss -നു",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm -നു",LLLL:"dddd, D MMMM YYYY, A h:mm -നു"},calendar:{sameDay:"[ഇന്ന്] LT",nextDay:"[നാളെ] LT",nextWeek:"dddd, LT",lastDay:"[ഇന്നലെ] LT",lastWeek:"[കഴിഞ്ഞ] dddd, LT",sameElse:"L"},relativeTime:{future:"%s കഴിഞ്ഞ്",past:"%s മുൻപ്",s:"അൽപ നിമിഷങ്ങൾ",ss:"%d സെക്കൻഡ്",m:"ഒരു മിനിറ്റ്",mm:"%d മിനിറ്റ്",h:"ഒരു മണിക്കൂർ",hh:"%d മണിക്കൂർ",d:"ഒരു ദിവസം",dd:"%d ദിവസം",M:"ഒരു മാസം",MM:"%d മാസം",y:"ഒരു വർഷം",yy:"%d വർഷം"},meridiemParse:/രാത്രി|രാവിലെ|ഉച്ച കഴിഞ്ഞ്|വൈകുന്നേരം|രാത്രി/i,meridiemHour:function(t,e){return 12===t&&(t=0),"രാത്രി"===e&&t>=4||"ഉച്ച കഴിഞ്ഞ്"===e||"വൈകുന്നേരം"===e?t+12:t},meridiem:function(t,e,n){return t<4?"രാത്രി":t<12?"രാവിലെ":t<17?"ഉച്ച കഴിഞ്ഞ്":t<20?"വൈകുന്നേരം":"രാത്രി"}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("mk",{months:"јануари_февруари_март_април_мај_јуни_јули_август_септември_октомври_ноември_декември".split("_"),monthsShort:"јан_фев_мар_апр_мај_јун_јул_авг_сеп_окт_ное_дек".split("_"),weekdays:"недела_понеделник_вторник_среда_четврток_петок_сабота".split("_"),weekdaysShort:"нед_пон_вто_сре_чет_пет_саб".split("_"),weekdaysMin:"нe_пo_вт_ср_че_пе_сa".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"D.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[Денес во] LT",nextDay:"[Утре во] LT",nextWeek:"[Во] dddd [во] LT",lastDay:"[Вчера во] LT",lastWeek:function(){switch(this.day()){case 0:case 3:case 6:return"[Изминатата] dddd [во] LT";case 1:case 2:case 4:case 5:return"[Изминатиот] dddd [во] LT"}},sameElse:"L"},relativeTime:{future:"после %s",past:"пред %s",s:"неколку секунди",ss:"%d секунди",m:"минута",mm:"%d минути",h:"час",hh:"%d часа",d:"ден",dd:"%d дена",M:"месец",MM:"%d месеци",y:"година",yy:"%d години"},dayOfMonthOrdinalParse:/\d{1,2}-(ев|ен|ти|ви|ри|ми)/,ordinal:function(t){var e=t%10,n=t%100;return 0===t?t+"-ев":0===n?t+"-ен":n>10&&n<20?t+"-ти":1===e?t+"-ви":2===e?t+"-ри":7===e||8===e?t+"-ми":t+"-ти"},week:{dow:1,doy:7}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("mi",{months:"Kohi-tāte_Hui-tanguru_Poutū-te-rangi_Paenga-whāwhā_Haratua_Pipiri_Hōngoingoi_Here-turi-kōkā_Mahuru_Whiringa-ā-nuku_Whiringa-ā-rangi_Hakihea".split("_"),monthsShort:"Kohi_Hui_Pou_Pae_Hara_Pipi_Hōngoi_Here_Mahu_Whi-nu_Whi-ra_Haki".split("_"),monthsRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,monthsStrictRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,monthsShortRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,monthsShortStrictRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,2}/i,weekdays:"Rātapu_Mane_Tūrei_Wenerei_Tāite_Paraire_Hātarei".split("_"),weekdaysShort:"Ta_Ma_Tū_We_Tāi_Pa_Hā".split("_"),weekdaysMin:"Ta_Ma_Tū_We_Tāi_Pa_Hā".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [i] HH:mm",LLLL:"dddd, D MMMM YYYY [i] HH:mm"},calendar:{sameDay:"[i teie mahana, i] LT",nextDay:"[apopo i] LT",nextWeek:"dddd [i] LT",lastDay:"[inanahi i] LT",lastWeek:"dddd [whakamutunga i] LT",sameElse:"L"},relativeTime:{future:"i roto i %s",past:"%s i mua",s:"te hēkona ruarua",ss:"%d hēkona",m:"he meneti",mm:"%d meneti",h:"te haora",hh:"%d haora",d:"he ra",dd:"%d ra",M:"he marama",MM:"%d marama",y:"he tau",yy:"%d tau"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";var e={words:{ss:["sekund","sekunda","sekundi"],m:["jedan minut","jednog minuta"],mm:["minut","minuta","minuta"],h:["jedan sat","jednog sata"],hh:["sat","sata","sati"],dd:["dan","dana","dana"],MM:["mjesec","mjeseca","mjeseci"],yy:["godina","godine","godina"]},correctGrammaticalCase:function(t,e){return 1===t?e[0]:t>=2&&t<=4?e[1]:e[2]},translate:function(t,n,i){var r=e.words[i];return 1===i.length?n?r[0]:r[1]:t+" "+e.correctGrammaticalCase(t,r)}};t.defineLocale("me",{months:"januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar".split("_"),monthsShort:"jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._čet._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_če_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sjutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[juče u] LT",lastWeek:function(){return["[prošle] [nedjelje] [u] LT","[prošlog] [ponedjeljka] [u] LT","[prošlog] [utorka] [u] LT","[prošle] [srijede] [u] LT","[prošlog] [četvrtka] [u] LT","[prošlog] [petka] [u] LT","[prošle] [subote] [u] LT"][this.day()]},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"nekoliko sekundi",ss:e.translate,m:e.translate,mm:e.translate,h:e.translate,hh:e.translate,d:"dan",dd:e.translate,M:"mjesec",MM:e.translate,y:"godinu",yy:e.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}(n(0))},function(t,e,n){!function(t){"use strict";var e={ss:"sekundes_sekundēm_sekunde_sekundes".split("_"),m:"minūtes_minūtēm_minūte_minūtes".split("_"),mm:"minūtes_minūtēm_minūte_minūtes".split("_"),h:"stundas_stundām_stunda_stundas".split("_"),hh:"stundas_stundām_stunda_stundas".split("_"),d:"dienas_dienām_diena_dienas".split("_"),dd:"dienas_dienām_diena_dienas".split("_"),M:"mēneša_mēnešiem_mēnesis_mēneši".split("_"),MM:"mēneša_mēnešiem_mēnesis_mēneši".split("_"),y:"gada_gadiem_gads_gadi".split("_"),yy:"gada_gadiem_gads_gadi".split("_")};function n(t,e,n){return n?e%10==1&&e%100!=11?t[2]:t[3]:e%10==1&&e%100!=11?t[0]:t[1]}function i(t,i,r){return t+" "+n(e[r],t,i)}function r(t,i,r){return n(e[r],t,i)}t.defineLocale("lv",{months:"janvāris_februāris_marts_aprīlis_maijs_jūnijs_jūlijs_augusts_septembris_oktobris_novembris_decembris".split("_"),monthsShort:"jan_feb_mar_apr_mai_jūn_jūl_aug_sep_okt_nov_dec".split("_"),weekdays:"svētdiena_pirmdiena_otrdiena_trešdiena_ceturtdiena_piektdiena_sestdiena".split("_"),weekdaysShort:"Sv_P_O_T_C_Pk_S".split("_"),weekdaysMin:"Sv_P_O_T_C_Pk_S".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY.",LL:"YYYY. [gada] D. MMMM",LLL:"YYYY. [gada] D. MMMM, HH:mm",LLLL:"YYYY. [gada] D. MMMM, dddd, HH:mm"},calendar:{sameDay:"[Šodien pulksten] LT",nextDay:"[Rīt pulksten] LT",nextWeek:"dddd [pulksten] LT",lastDay:"[Vakar pulksten] LT",lastWeek:"[Pagājušā] dddd [pulksten] LT",sameElse:"L"},relativeTime:{future:"pēc %s",past:"pirms %s",s:function(t,e){return e?"dažas sekundes":"dažām sekundēm"},ss:i,m:r,mm:i,h:r,hh:i,d:r,dd:i,M:r,MM:i,y:r,yy:i},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";var e={ss:"sekundė_sekundžių_sekundes",m:"minutė_minutės_minutę",mm:"minutės_minučių_minutes",h:"valanda_valandos_valandą",hh:"valandos_valandų_valandas",d:"diena_dienos_dieną",dd:"dienos_dienų_dienas",M:"mėnuo_mėnesio_mėnesį",MM:"mėnesiai_mėnesių_mėnesius",y:"metai_metų_metus",yy:"metai_metų_metus"};function n(t,e,n,i){return e?r(n)[0]:i?r(n)[1]:r(n)[2]}function i(t){return t%10==0||t>10&&t<20}function r(t){return e[t].split("_")}function a(t,e,a,o){var s=t+" ";return 1===t?s+n(0,e,a[0],o):e?s+(i(t)?r(a)[1]:r(a)[0]):o?s+r(a)[1]:s+(i(t)?r(a)[1]:r(a)[2])}t.defineLocale("lt",{months:{format:"sausio_vasario_kovo_balandžio_gegužės_birželio_liepos_rugpjūčio_rugsėjo_spalio_lapkričio_gruodžio".split("_"),standalone:"sausis_vasaris_kovas_balandis_gegužė_birželis_liepa_rugpjūtis_rugsėjis_spalis_lapkritis_gruodis".split("_"),isFormat:/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?|MMMM?(\[[^\[\]]*\]|\s)+D[oD]?/},monthsShort:"sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd".split("_"),weekdays:{format:"sekmadienį_pirmadienį_antradienį_trečiadienį_ketvirtadienį_penktadienį_šeštadienį".split("_"),standalone:"sekmadienis_pirmadienis_antradienis_trečiadienis_ketvirtadienis_penktadienis_šeštadienis".split("_"),isFormat:/dddd HH:mm/},weekdaysShort:"Sek_Pir_Ant_Tre_Ket_Pen_Šeš".split("_"),weekdaysMin:"S_P_A_T_K_Pn_Š".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY [m.] MMMM D [d.]",LLL:"YYYY [m.] MMMM D [d.], HH:mm [val.]",LLLL:"YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]",l:"YYYY-MM-DD",ll:"YYYY [m.] MMMM D [d.]",lll:"YYYY [m.] MMMM D [d.], HH:mm [val.]",llll:"YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]"},calendar:{sameDay:"[Šiandien] LT",nextDay:"[Rytoj] LT",nextWeek:"dddd LT",lastDay:"[Vakar] LT",lastWeek:"[Praėjusį] dddd LT",sameElse:"L"},relativeTime:{future:"po %s",past:"prieš %s",s:function(t,e,n,i){return e?"kelios sekundės":i?"kelių sekundžių":"kelias sekundes"},ss:a,m:n,mm:a,h:n,hh:a,d:n,dd:a,M:n,MM:a,y:n,yy:a},dayOfMonthOrdinalParse:/\d{1,2}-oji/,ordinal:function(t){return t+"-oji"},week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("lo",{months:"ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ".split("_"),monthsShort:"ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ".split("_"),weekdays:"ອາທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ".split("_"),weekdaysShort:"ທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ".split("_"),weekdaysMin:"ທ_ຈ_ອຄ_ພ_ພຫ_ສກ_ສ".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"ວັນdddd D MMMM YYYY HH:mm"},meridiemParse:/ຕອນເຊົ້າ|ຕອນແລງ/,isPM:function(t){return"ຕອນແລງ"===t},meridiem:function(t,e,n){return t<12?"ຕອນເຊົ້າ":"ຕອນແລງ"},calendar:{sameDay:"[ມື້ນີ້ເວລາ] LT",nextDay:"[ມື້ອື່ນເວລາ] LT",nextWeek:"[ວັນ]dddd[ໜ້າເວລາ] LT",lastDay:"[ມື້ວານນີ້ເວລາ] LT",lastWeek:"[ວັນ]dddd[ແລ້ວນີ້ເວລາ] LT",sameElse:"L"},relativeTime:{future:"ອີກ %s",past:"%sຜ່ານມາ",s:"ບໍ່ເທົ່າໃດວິນາທີ",ss:"%d ວິນາທີ",m:"1 ນາທີ",mm:"%d ນາທີ",h:"1 ຊົ່ວໂມງ",hh:"%d ຊົ່ວໂມງ",d:"1 ມື້",dd:"%d ມື້",M:"1 ເດືອນ",MM:"%d ເດືອນ",y:"1 ປີ",yy:"%d ປີ"},dayOfMonthOrdinalParse:/(ທີ່)\d{1,2}/,ordinal:function(t){return"ທີ່"+t}})}(n(0))},function(t,e,n){!function(t){"use strict";function e(t,e,n,i){var r={m:["eng Minutt","enger Minutt"],h:["eng Stonn","enger Stonn"],d:["een Dag","engem Dag"],M:["ee Mount","engem Mount"],y:["ee Joer","engem Joer"]};return e?r[n][0]:r[n][1]}function n(t){if(t=parseInt(t,10),isNaN(t))return!1;if(t<0)return!0;if(t<10)return 4<=t&&t<=7;if(t<100){var e=t%10,i=t/10;return n(0===e?i:e)}if(t<1e4){for(;t>=10;)t/=10;return n(t)}return n(t/=1e3)}t.defineLocale("lb",{months:"Januar_Februar_Mäerz_Abrëll_Mee_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonndeg_Méindeg_Dënschdeg_Mëttwoch_Donneschdeg_Freideg_Samschdeg".split("_"),weekdaysShort:"So._Mé._Dë._Më._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mé_Dë_Më_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm [Auer]",LTS:"H:mm:ss [Auer]",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm [Auer]",LLLL:"dddd, D. MMMM YYYY H:mm [Auer]"},calendar:{sameDay:"[Haut um] LT",sameElse:"L",nextDay:"[Muer um] LT",nextWeek:"dddd [um] LT",lastDay:"[Gëschter um] LT",lastWeek:function(){switch(this.day()){case 2:case 4:return"[Leschten] dddd [um] LT";default:return"[Leschte] dddd [um] LT"}}},relativeTime:{future:function(t){return n(t.substr(0,t.indexOf(" ")))?"a "+t:"an "+t},past:function(t){return n(t.substr(0,t.indexOf(" ")))?"viru "+t:"virun "+t},s:"e puer Sekonnen",ss:"%d Sekonnen",m:e,mm:"%d Minutten",h:e,hh:"%d Stonnen",d:e,dd:"%d Deeg",M:e,MM:"%d Méint",y:e,yy:"%d Joer"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";var e={0:"-чү",1:"-чи",2:"-чи",3:"-чү",4:"-чү",5:"-чи",6:"-чы",7:"-чи",8:"-чи",9:"-чу",10:"-чу",20:"-чы",30:"-чу",40:"-чы",50:"-чү",60:"-чы",70:"-чи",80:"-чи",90:"-чу",100:"-чү"};t.defineLocale("ky",{months:"январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь".split("_"),monthsShort:"янв_фев_март_апр_май_июнь_июль_авг_сен_окт_ноя_дек".split("_"),weekdays:"Жекшемби_Дүйшөмбү_Шейшемби_Шаршемби_Бейшемби_Жума_Ишемби".split("_"),weekdaysShort:"Жек_Дүй_Шей_Шар_Бей_Жум_Ише".split("_"),weekdaysMin:"Жк_Дй_Шй_Шр_Бй_Жм_Иш".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Бүгүн саат] LT",nextDay:"[Эртең саат] LT",nextWeek:"dddd [саат] LT",lastDay:"[Кече саат] LT",lastWeek:"[Өткен аптанын] dddd [күнү] [саат] LT",sameElse:"L"},relativeTime:{future:"%s ичинде",past:"%s мурун",s:"бирнече секунд",ss:"%d секунд",m:"бир мүнөт",mm:"%d мүнөт",h:"бир саат",hh:"%d саат",d:"бир күн",dd:"%d күн",M:"бир ай",MM:"%d ай",y:"бир жыл",yy:"%d жыл"},dayOfMonthOrdinalParse:/\d{1,2}-(чи|чы|чү|чу)/,ordinal:function(t){var n=t%10,i=t>=100?100:null;return t+(e[t]||e[n]||e[i])},week:{dow:1,doy:7}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("ko",{months:"1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월".split("_"),monthsShort:"1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월".split("_"),weekdays:"일요일_월요일_화요일_수요일_목요일_금요일_토요일".split("_"),weekdaysShort:"일_월_화_수_목_금_토".split("_"),weekdaysMin:"일_월_화_수_목_금_토".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"YYYY.MM.DD.",LL:"YYYY년 MMMM D일",LLL:"YYYY년 MMMM D일 A h:mm",LLLL:"YYYY년 MMMM D일 dddd A h:mm",l:"YYYY.MM.DD.",ll:"YYYY년 MMMM D일",lll:"YYYY년 MMMM D일 A h:mm",llll:"YYYY년 MMMM D일 dddd A h:mm"},calendar:{sameDay:"오늘 LT",nextDay:"내일 LT",nextWeek:"dddd LT",lastDay:"어제 LT",lastWeek:"지난주 dddd LT",sameElse:"L"},relativeTime:{future:"%s 후",past:"%s 전",s:"몇 초",ss:"%d초",m:"1분",mm:"%d분",h:"한 시간",hh:"%d시간",d:"하루",dd:"%d일",M:"한 달",MM:"%d달",y:"일 년",yy:"%d년"},dayOfMonthOrdinalParse:/\d{1,2}(일|월|주)/,ordinal:function(t,e){switch(e){case"d":case"D":case"DDD":return t+"일";case"M":return t+"월";case"w":case"W":return t+"주";default:return t}},meridiemParse:/오전|오후/,isPM:function(t){return"오후"===t},meridiem:function(t,e,n){return t<12?"오전":"오후"}})}(n(0))},function(t,e,n){!function(t){"use strict";var e={1:"೧",2:"೨",3:"೩",4:"೪",5:"೫",6:"೬",7:"೭",8:"೮",9:"೯",0:"೦"},n={"೧":"1","೨":"2","೩":"3","೪":"4","೫":"5","೬":"6","೭":"7","೮":"8","೯":"9","೦":"0"};t.defineLocale("kn",{months:"ಜನವರಿ_ಫೆಬ್ರವರಿ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂಬರ್_ಅಕ್ಟೋಬರ್_ನವೆಂಬರ್_ಡಿಸೆಂಬರ್".split("_"),monthsShort:"ಜನ_ಫೆಬ್ರ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂ_ಅಕ್ಟೋ_ನವೆಂ_ಡಿಸೆಂ".split("_"),monthsParseExact:!0,weekdays:"ಭಾನುವಾರ_ಸೋಮವಾರ_ಮಂಗಳವಾರ_ಬುಧವಾರ_ಗುರುವಾರ_ಶುಕ್ರವಾರ_ಶನಿವಾರ".split("_"),weekdaysShort:"ಭಾನು_ಸೋಮ_ಮಂಗಳ_ಬುಧ_ಗುರು_ಶುಕ್ರ_ಶನಿ".split("_"),weekdaysMin:"ಭಾ_ಸೋ_ಮಂ_ಬು_ಗು_ಶು_ಶ".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm",LLLL:"dddd, D MMMM YYYY, A h:mm"},calendar:{sameDay:"[ಇಂದು] LT",nextDay:"[ನಾಳೆ] LT",nextWeek:"dddd, LT",lastDay:"[ನಿನ್ನೆ] LT",lastWeek:"[ಕೊನೆಯ] dddd, LT",sameElse:"L"},relativeTime:{future:"%s ನಂತರ",past:"%s ಹಿಂದೆ",s:"ಕೆಲವು ಕ್ಷಣಗಳು",ss:"%d ಸೆಕೆಂಡುಗಳು",m:"ಒಂದು ನಿಮಿಷ",mm:"%d ನಿಮಿಷ",h:"ಒಂದು ಗಂಟೆ",hh:"%d ಗಂಟೆ",d:"ಒಂದು ದಿನ",dd:"%d ದಿನ",M:"ಒಂದು ತಿಂಗಳು",MM:"%d ತಿಂಗಳು",y:"ಒಂದು ವರ್ಷ",yy:"%d ವರ್ಷ"},preparse:function(t){return t.replace(/[೧೨೩೪೫೬೭೮೯೦]/g,function(t){return n[t]})},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]})},meridiemParse:/ರಾತ್ರಿ|ಬೆಳಿಗ್ಗೆ|ಮಧ್ಯಾಹ್ನ|ಸಂಜೆ/,meridiemHour:function(t,e){return 12===t&&(t=0),"ರಾತ್ರಿ"===e?t<4?t:t+12:"ಬೆಳಿಗ್ಗೆ"===e?t:"ಮಧ್ಯಾಹ್ನ"===e?t>=10?t:t+12:"ಸಂಜೆ"===e?t+12:void 0},meridiem:function(t,e,n){return t<4?"ರಾತ್ರಿ":t<10?"ಬೆಳಿಗ್ಗೆ":t<17?"ಮಧ್ಯಾಹ್ನ":t<20?"ಸಂಜೆ":"ರಾತ್ರಿ"},dayOfMonthOrdinalParse:/\d{1,2}(ನೇ)/,ordinal:function(t){return t+"ನೇ"},week:{dow:0,doy:6}})}(n(0))},function(t,e,n){!function(t){"use strict";var e={1:"១",2:"២",3:"៣",4:"៤",5:"៥",6:"៦",7:"៧",8:"៨",9:"៩",0:"០"},n={"១":"1","២":"2","៣":"3","៤":"4","៥":"5","៦":"6","៧":"7","៨":"8","៩":"9","០":"0"};t.defineLocale("km",{months:"មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ".split("_"),monthsShort:"មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ".split("_"),weekdays:"អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍".split("_"),weekdaysShort:"អា_ច_អ_ព_ព្រ_សុ_ស".split("_"),weekdaysMin:"អា_ច_អ_ព_ព្រ_សុ_ស".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},meridiemParse:/ព្រឹក|ល្ងាច/,isPM:function(t){return"ល្ងាច"===t},meridiem:function(t,e,n){return t<12?"ព្រឹក":"ល្ងាច"},calendar:{sameDay:"[ថ្ងៃនេះ ម៉ោង] LT",nextDay:"[ស្អែក ម៉ោង] LT",nextWeek:"dddd [ម៉ោង] LT",lastDay:"[ម្សិលមិញ ម៉ោង] LT",lastWeek:"dddd [សប្តាហ៍មុន] [ម៉ោង] LT",sameElse:"L"},relativeTime:{future:"%sទៀត",past:"%sមុន",s:"ប៉ុន្មានវិនាទី",ss:"%d វិនាទី",m:"មួយនាទី",mm:"%d នាទី",h:"មួយម៉ោង",hh:"%d ម៉ោង",d:"មួយថ្ងៃ",dd:"%d ថ្ងៃ",M:"មួយខែ",MM:"%d ខែ",y:"មួយឆ្នាំ",yy:"%d ឆ្នាំ"},dayOfMonthOrdinalParse:/ទី\d{1,2}/,ordinal:"ទី%d",preparse:function(t){return t.replace(/[១២៣៤៥៦៧៨៩០]/g,function(t){return n[t]})},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]})},week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";var e={0:"-ші",1:"-ші",2:"-ші",3:"-ші",4:"-ші",5:"-ші",6:"-шы",7:"-ші",8:"-ші",9:"-шы",10:"-шы",20:"-шы",30:"-шы",40:"-шы",50:"-ші",60:"-шы",70:"-ші",80:"-ші",90:"-шы",100:"-ші"};t.defineLocale("kk",{months:"қаңтар_ақпан_наурыз_сәуір_мамыр_маусым_шілде_тамыз_қыркүйек_қазан_қараша_желтоқсан".split("_"),monthsShort:"қаң_ақп_нау_сәу_мам_мау_шіл_там_қыр_қаз_қар_жел".split("_"),weekdays:"жексенбі_дүйсенбі_сейсенбі_сәрсенбі_бейсенбі_жұма_сенбі".split("_"),weekdaysShort:"жек_дүй_сей_сәр_бей_жұм_сен".split("_"),weekdaysMin:"жк_дй_сй_ср_бй_жм_сн".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Бүгін сағат] LT",nextDay:"[Ертең сағат] LT",nextWeek:"dddd [сағат] LT",lastDay:"[Кеше сағат] LT",lastWeek:"[Өткен аптаның] dddd [сағат] LT",sameElse:"L"},relativeTime:{future:"%s ішінде",past:"%s бұрын",s:"бірнеше секунд",ss:"%d секунд",m:"бір минут",mm:"%d минут",h:"бір сағат",hh:"%d сағат",d:"бір күн",dd:"%d күн",M:"бір ай",MM:"%d ай",y:"бір жыл",yy:"%d жыл"},dayOfMonthOrdinalParse:/\d{1,2}-(ші|шы)/,ordinal:function(t){var n=t%10,i=t>=100?100:null;return t+(e[t]||e[n]||e[i])},week:{dow:1,doy:7}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("ka",{months:{standalone:"იანვარი_თებერვალი_მარტი_აპრილი_მაისი_ივნისი_ივლისი_აგვისტო_სექტემბერი_ოქტომბერი_ნოემბერი_დეკემბერი".split("_"),format:"იანვარს_თებერვალს_მარტს_აპრილის_მაისს_ივნისს_ივლისს_აგვისტს_სექტემბერს_ოქტომბერს_ნოემბერს_დეკემბერს".split("_")},monthsShort:"იან_თებ_მარ_აპრ_მაი_ივნ_ივლ_აგვ_სექ_ოქტ_ნოე_დეკ".split("_"),weekdays:{standalone:"კვირა_ორშაბათი_სამშაბათი_ოთხშაბათი_ხუთშაბათი_პარასკევი_შაბათი".split("_"),format:"კვირას_ორშაბათს_სამშაბათს_ოთხშაბათს_ხუთშაბათს_პარასკევს_შაბათს".split("_"),isFormat:/(წინა|შემდეგ)/},weekdaysShort:"კვი_ორშ_სამ_ოთხ_ხუთ_პარ_შაბ".split("_"),weekdaysMin:"კვ_ორ_სა_ოთ_ხუ_პა_შა".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[დღეს] LT[-ზე]",nextDay:"[ხვალ] LT[-ზე]",lastDay:"[გუშინ] LT[-ზე]",nextWeek:"[შემდეგ] dddd LT[-ზე]",lastWeek:"[წინა] dddd LT-ზე",sameElse:"L"},relativeTime:{future:function(t){return/(წამი|წუთი|საათი|წელი)/.test(t)?t.replace(/ი$/,"ში"):t+"ში"},past:function(t){return/(წამი|წუთი|საათი|დღე|თვე)/.test(t)?t.replace(/(ი|ე)$/,"ის წინ"):/წელი/.test(t)?t.replace(/წელი$/,"წლის წინ"):void 0},s:"რამდენიმე წამი",ss:"%d წამი",m:"წუთი",mm:"%d წუთი",h:"საათი",hh:"%d საათი",d:"დღე",dd:"%d დღე",M:"თვე",MM:"%d თვე",y:"წელი",yy:"%d წელი"},dayOfMonthOrdinalParse:/0|1-ლი|მე-\d{1,2}|\d{1,2}-ე/,ordinal:function(t){return 0===t?t:1===t?t+"-ლი":t<20||t<=100&&t%20==0||t%100==0?"მე-"+t:t+"-ე"},week:{dow:1,doy:7}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("jv",{months:"Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember".split("_"),monthsShort:"Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des".split("_"),weekdays:"Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu".split("_"),weekdaysShort:"Min_Sen_Sel_Reb_Kem_Jem_Sep".split("_"),weekdaysMin:"Mg_Sn_Sl_Rb_Km_Jm_Sp".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/enjing|siyang|sonten|ndalu/,meridiemHour:function(t,e){return 12===t&&(t=0),"enjing"===e?t:"siyang"===e?t>=11?t:t+12:"sonten"===e||"ndalu"===e?t+12:void 0},meridiem:function(t,e,n){return t<11?"enjing":t<15?"siyang":t<19?"sonten":"ndalu"},calendar:{sameDay:"[Dinten puniko pukul] LT",nextDay:"[Mbenjang pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kala wingi pukul] LT",lastWeek:"dddd [kepengker pukul] LT",sameElse:"L"},relativeTime:{future:"wonten ing %s",past:"%s ingkang kepengker",s:"sawetawis detik",ss:"%d detik",m:"setunggal menit",mm:"%d menit",h:"setunggal jam",hh:"%d jam",d:"sedinten",dd:"%d dinten",M:"sewulan",MM:"%d wulan",y:"setaun",yy:"%d taun"},week:{dow:1,doy:7}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("ja",{months:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),weekdays:"日曜日_月曜日_火曜日_水曜日_木曜日_金曜日_土曜日".split("_"),weekdaysShort:"日_月_火_水_木_金_土".split("_"),weekdaysMin:"日_月_火_水_木_金_土".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY年M月D日",LLL:"YYYY年M月D日 HH:mm",LLLL:"YYYY年M月D日 dddd HH:mm",l:"YYYY/MM/DD",ll:"YYYY年M月D日",lll:"YYYY年M月D日 HH:mm",llll:"YYYY年M月D日(ddd) HH:mm"},meridiemParse:/午前|午後/i,isPM:function(t){return"午後"===t},meridiem:function(t,e,n){return t<12?"午前":"午後"},calendar:{sameDay:"[今日] LT",nextDay:"[明日] LT",nextWeek:function(t){return t.week()=11?t:t+12:"sore"===e||"malam"===e?t+12:void 0},meridiem:function(t,e,n){return t<11?"pagi":t<15?"siang":t<19?"sore":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Besok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kemarin pukul] LT",lastWeek:"dddd [lalu pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lalu",s:"beberapa detik",ss:"%d detik",m:"semenit",mm:"%d menit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,doy:7}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("hy-am",{months:{format:"հունվարի_փետրվարի_մարտի_ապրիլի_մայիսի_հունիսի_հուլիսի_օգոստոսի_սեպտեմբերի_հոկտեմբերի_նոյեմբերի_դեկտեմբերի".split("_"),standalone:"հունվար_փետրվար_մարտ_ապրիլ_մայիս_հունիս_հուլիս_օգոստոս_սեպտեմբեր_հոկտեմբեր_նոյեմբեր_դեկտեմբեր".split("_")},monthsShort:"հնվ_փտր_մրտ_ապր_մյս_հնս_հլս_օգս_սպտ_հկտ_նմբ_դկտ".split("_"),weekdays:"կիրակի_երկուշաբթի_երեքշաբթի_չորեքշաբթի_հինգշաբթի_ուրբաթ_շաբաթ".split("_"),weekdaysShort:"կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ".split("_"),weekdaysMin:"կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY թ.",LLL:"D MMMM YYYY թ., HH:mm",LLLL:"dddd, D MMMM YYYY թ., HH:mm"},calendar:{sameDay:"[այսօր] LT",nextDay:"[վաղը] LT",lastDay:"[երեկ] LT",nextWeek:function(){return"dddd [օրը ժամը] LT"},lastWeek:function(){return"[անցած] dddd [օրը ժամը] LT"},sameElse:"L"},relativeTime:{future:"%s հետո",past:"%s առաջ",s:"մի քանի վայրկյան",ss:"%d վայրկյան",m:"րոպե",mm:"%d րոպե",h:"ժամ",hh:"%d ժամ",d:"օր",dd:"%d օր",M:"ամիս",MM:"%d ամիս",y:"տարի",yy:"%d տարի"},meridiemParse:/գիշերվա|առավոտվա|ցերեկվա|երեկոյան/,isPM:function(t){return/^(ցերեկվա|երեկոյան)$/.test(t)},meridiem:function(t){return t<4?"գիշերվա":t<12?"առավոտվա":t<17?"ցերեկվա":"երեկոյան"},dayOfMonthOrdinalParse:/\d{1,2}|\d{1,2}-(ին|րդ)/,ordinal:function(t,e){switch(e){case"DDD":case"w":case"W":case"DDDo":return 1===t?t+"-ին":t+"-րդ";default:return t}},week:{dow:1,doy:7}})}(n(0))},function(t,e,n){!function(t){"use strict";var e="vasárnap hétfőn kedden szerdán csütörtökön pénteken szombaton".split(" ");function n(t,e,n,i){var r=t;switch(n){case"s":return i||e?"néhány másodperc":"néhány másodperce";case"ss":return r+(i||e)?" másodperc":" másodperce";case"m":return"egy"+(i||e?" perc":" perce");case"mm":return r+(i||e?" perc":" perce");case"h":return"egy"+(i||e?" óra":" órája");case"hh":return r+(i||e?" óra":" órája");case"d":return"egy"+(i||e?" nap":" napja");case"dd":return r+(i||e?" nap":" napja");case"M":return"egy"+(i||e?" hónap":" hónapja");case"MM":return r+(i||e?" hónap":" hónapja");case"y":return"egy"+(i||e?" év":" éve");case"yy":return r+(i||e?" év":" éve")}return""}function i(t){return(t?"":"[múlt] ")+"["+e[this.day()]+"] LT[-kor]"}t.defineLocale("hu",{months:"január_február_március_április_május_június_július_augusztus_szeptember_október_november_december".split("_"),monthsShort:"jan_feb_márc_ápr_máj_jún_júl_aug_szept_okt_nov_dec".split("_"),weekdays:"vasárnap_hétfő_kedd_szerda_csütörtök_péntek_szombat".split("_"),weekdaysShort:"vas_hét_kedd_sze_csüt_pén_szo".split("_"),weekdaysMin:"v_h_k_sze_cs_p_szo".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"YYYY.MM.DD.",LL:"YYYY. MMMM D.",LLL:"YYYY. MMMM D. H:mm",LLLL:"YYYY. MMMM D., dddd H:mm"},meridiemParse:/de|du/i,isPM:function(t){return"u"===t.charAt(1).toLowerCase()},meridiem:function(t,e,n){return t<12?!0===n?"de":"DE":!0===n?"du":"DU"},calendar:{sameDay:"[ma] LT[-kor]",nextDay:"[holnap] LT[-kor]",nextWeek:function(){return i.call(this,!0)},lastDay:"[tegnap] LT[-kor]",lastWeek:function(){return i.call(this,!1)},sameElse:"L"},relativeTime:{future:"%s múlva",past:"%s",s:n,ss:n,m:n,mm:n,h:n,hh:n,d:n,dd:n,M:n,MM:n,y:n,yy:n},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";function e(t,e,n){var i=t+" ";switch(n){case"ss":return i+=1===t?"sekunda":2===t||3===t||4===t?"sekunde":"sekundi";case"m":return e?"jedna minuta":"jedne minute";case"mm":return i+=1===t?"minuta":2===t||3===t||4===t?"minute":"minuta";case"h":return e?"jedan sat":"jednog sata";case"hh":return i+=1===t?"sat":2===t||3===t||4===t?"sata":"sati";case"dd":return i+=1===t?"dan":"dana";case"MM":return i+=1===t?"mjesec":2===t||3===t||4===t?"mjeseca":"mjeseci";case"yy":return i+=1===t?"godina":2===t||3===t||4===t?"godine":"godina"}}t.defineLocale("hr",{months:{format:"siječnja_veljače_ožujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca".split("_"),standalone:"siječanj_veljača_ožujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac".split("_")},monthsShort:"sij._velj._ožu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.".split("_"),monthsParseExact:!0,weekdays:"nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._čet._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_če_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[jučer u] LT",lastWeek:function(){switch(this.day()){case 0:case 3:return"[prošlu] dddd [u] LT";case 6:return"[prošle] [subote] [u] LT";case 1:case 2:case 4:case 5:return"[prošli] dddd [u] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"par sekundi",ss:e,m:e,mm:e,h:e,hh:e,d:"dan",dd:e,M:"mjesec",MM:e,y:"godinu",yy:e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}(n(0))},function(t,e,n){!function(t){"use strict";var e={1:"१",2:"२",3:"३",4:"४",5:"५",6:"६",7:"७",8:"८",9:"९",0:"०"},n={"१":"1","२":"2","३":"3","४":"4","५":"5","६":"6","७":"7","८":"8","९":"9","०":"0"};t.defineLocale("hi",{months:"जनवरी_फ़रवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितम्बर_अक्टूबर_नवम्बर_दिसम्बर".split("_"),monthsShort:"जन._फ़र._मार्च_अप्रै._मई_जून_जुल._अग._सित._अक्टू._नव._दिस.".split("_"),monthsParseExact:!0,weekdays:"रविवार_सोमवार_मंगलवार_बुधवार_गुरूवार_शुक्रवार_शनिवार".split("_"),weekdaysShort:"रवि_सोम_मंगल_बुध_गुरू_शुक्र_शनि".split("_"),weekdaysMin:"र_सो_मं_बु_गु_शु_श".split("_"),longDateFormat:{LT:"A h:mm बजे",LTS:"A h:mm:ss बजे",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm बजे",LLLL:"dddd, D MMMM YYYY, A h:mm बजे"},calendar:{sameDay:"[आज] LT",nextDay:"[कल] LT",nextWeek:"dddd, LT",lastDay:"[कल] LT",lastWeek:"[पिछले] dddd, LT",sameElse:"L"},relativeTime:{future:"%s में",past:"%s पहले",s:"कुछ ही क्षण",ss:"%d सेकंड",m:"एक मिनट",mm:"%d मिनट",h:"एक घंटा",hh:"%d घंटे",d:"एक दिन",dd:"%d दिन",M:"एक महीने",MM:"%d महीने",y:"एक वर्ष",yy:"%d वर्ष"},preparse:function(t){return t.replace(/[१२३४५६७८९०]/g,function(t){return n[t]})},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]})},meridiemParse:/रात|सुबह|दोपहर|शाम/,meridiemHour:function(t,e){return 12===t&&(t=0),"रात"===e?t<4?t:t+12:"सुबह"===e?t:"दोपहर"===e?t>=10?t:t+12:"शाम"===e?t+12:void 0},meridiem:function(t,e,n){return t<4?"रात":t<10?"सुबह":t<17?"दोपहर":t<20?"शाम":"रात"},week:{dow:0,doy:6}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("he",{months:"ינואר_פברואר_מרץ_אפריל_מאי_יוני_יולי_אוגוסט_ספטמבר_אוקטובר_נובמבר_דצמבר".split("_"),monthsShort:"ינו׳_פבר׳_מרץ_אפר׳_מאי_יוני_יולי_אוג׳_ספט׳_אוק׳_נוב׳_דצמ׳".split("_"),weekdays:"ראשון_שני_שלישי_רביעי_חמישי_שישי_שבת".split("_"),weekdaysShort:"א׳_ב׳_ג׳_ד׳_ה׳_ו׳_ש׳".split("_"),weekdaysMin:"א_ב_ג_ד_ה_ו_ש".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [ב]MMMM YYYY",LLL:"D [ב]MMMM YYYY HH:mm",LLLL:"dddd, D [ב]MMMM YYYY HH:mm",l:"D/M/YYYY",ll:"D MMM YYYY",lll:"D MMM YYYY HH:mm",llll:"ddd, D MMM YYYY HH:mm"},calendar:{sameDay:"[היום ב־]LT",nextDay:"[מחר ב־]LT",nextWeek:"dddd [בשעה] LT",lastDay:"[אתמול ב־]LT",lastWeek:"[ביום] dddd [האחרון בשעה] LT",sameElse:"L"},relativeTime:{future:"בעוד %s",past:"לפני %s",s:"מספר שניות",ss:"%d שניות",m:"דקה",mm:"%d דקות",h:"שעה",hh:function(t){return 2===t?"שעתיים":t+" שעות"},d:"יום",dd:function(t){return 2===t?"יומיים":t+" ימים"},M:"חודש",MM:function(t){return 2===t?"חודשיים":t+" חודשים"},y:"שנה",yy:function(t){return 2===t?"שנתיים":t%10==0&&10!==t?t+" שנה":t+" שנים"}},meridiemParse:/אחה"צ|לפנה"צ|אחרי הצהריים|לפני הצהריים|לפנות בוקר|בבוקר|בערב/i,isPM:function(t){return/^(אחה"צ|אחרי הצהריים|בערב)$/.test(t)},meridiem:function(t,e,n){return t<5?"לפנות בוקר":t<10?"בבוקר":t<12?n?'לפנה"צ':"לפני הצהריים":t<18?n?'אחה"צ':"אחרי הצהריים":"בערב"}})}(n(0))},function(t,e,n){!function(t){"use strict";var e={1:"૧",2:"૨",3:"૩",4:"૪",5:"૫",6:"૬",7:"૭",8:"૮",9:"૯",0:"૦"},n={"૧":"1","૨":"2","૩":"3","૪":"4","૫":"5","૬":"6","૭":"7","૮":"8","૯":"9","૦":"0"};t.defineLocale("gu",{months:"જાન્યુઆરી_ફેબ્રુઆરી_માર્ચ_એપ્રિલ_મે_જૂન_જુલાઈ_ઑગસ્ટ_સપ્ટેમ્બર_ઑક્ટ્બર_નવેમ્બર_ડિસેમ્બર".split("_"),monthsShort:"જાન્યુ._ફેબ્રુ._માર્ચ_એપ્રિ._મે_જૂન_જુલા._ઑગ._સપ્ટે._ઑક્ટ્._નવે._ડિસે.".split("_"),monthsParseExact:!0,weekdays:"રવિવાર_સોમવાર_મંગળવાર_બુધ્વાર_ગુરુવાર_શુક્રવાર_શનિવાર".split("_"),weekdaysShort:"રવિ_સોમ_મંગળ_બુધ્_ગુરુ_શુક્ર_શનિ".split("_"),weekdaysMin:"ર_સો_મં_બુ_ગુ_શુ_શ".split("_"),longDateFormat:{LT:"A h:mm વાગ્યે",LTS:"A h:mm:ss વાગ્યે",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm વાગ્યે",LLLL:"dddd, D MMMM YYYY, A h:mm વાગ્યે"},calendar:{sameDay:"[આજ] LT",nextDay:"[કાલે] LT",nextWeek:"dddd, LT",lastDay:"[ગઇકાલે] LT",lastWeek:"[પાછલા] dddd, LT",sameElse:"L"},relativeTime:{future:"%s મા",past:"%s પેહલા",s:"અમુક પળો",ss:"%d સેકંડ",m:"એક મિનિટ",mm:"%d મિનિટ",h:"એક કલાક",hh:"%d કલાક",d:"એક દિવસ",dd:"%d દિવસ",M:"એક મહિનો",MM:"%d મહિનો",y:"એક વર્ષ",yy:"%d વર્ષ"},preparse:function(t){return t.replace(/[૧૨૩૪૫૬૭૮૯૦]/g,function(t){return n[t]})},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]})},meridiemParse:/રાત|બપોર|સવાર|સાંજ/,meridiemHour:function(t,e){return 12===t&&(t=0),"રાત"===e?t<4?t:t+12:"સવાર"===e?t:"બપોર"===e?t>=10?t:t+12:"સાંજ"===e?t+12:void 0},meridiem:function(t,e,n){return t<4?"રાત":t<10?"સવાર":t<17?"બપોર":t<20?"સાંજ":"રાત"},week:{dow:0,doy:6}})}(n(0))},function(t,e,n){!function(t){"use strict";function e(t,e,n,i){var r={s:["thodde secondanim","thodde second"],ss:[t+" secondanim",t+" second"],m:["eka mintan","ek minute"],mm:[t+" mintanim",t+" mintam"],h:["eka horan","ek hor"],hh:[t+" horanim",t+" horam"],d:["eka disan","ek dis"],dd:[t+" disanim",t+" dis"],M:["eka mhoinean","ek mhoino"],MM:[t+" mhoineanim",t+" mhoine"],y:["eka vorsan","ek voros"],yy:[t+" vorsanim",t+" vorsam"]};return e?r[n][0]:r[n][1]}t.defineLocale("gom-latn",{months:"Janer_Febrer_Mars_Abril_Mai_Jun_Julai_Agost_Setembr_Otubr_Novembr_Dezembr".split("_"),monthsShort:"Jan._Feb._Mars_Abr._Mai_Jun_Jul._Ago._Set._Otu._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Aitar_Somar_Mongllar_Budvar_Brestar_Sukrar_Son'var".split("_"),weekdaysShort:"Ait._Som._Mon._Bud._Bre._Suk._Son.".split("_"),weekdaysMin:"Ai_Sm_Mo_Bu_Br_Su_Sn".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"A h:mm [vazta]",LTS:"A h:mm:ss [vazta]",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY A h:mm [vazta]",LLLL:"dddd, MMMM[achea] Do, YYYY, A h:mm [vazta]",llll:"ddd, D MMM YYYY, A h:mm [vazta]"},calendar:{sameDay:"[Aiz] LT",nextDay:"[Faleam] LT",nextWeek:"[Ieta to] dddd[,] LT",lastDay:"[Kal] LT",lastWeek:"[Fatlo] dddd[,] LT",sameElse:"L"},relativeTime:{future:"%s",past:"%s adim",s:e,ss:e,m:e,mm:e,h:e,hh:e,d:e,dd:e,M:e,MM:e,y:e,yy:e},dayOfMonthOrdinalParse:/\d{1,2}(er)/,ordinal:function(t,e){switch(e){case"D":return t+"er";default:case"M":case"Q":case"DDD":case"d":case"w":case"W":return t}},week:{dow:1,doy:4},meridiemParse:/rati|sokalli|donparam|sanje/,meridiemHour:function(t,e){return 12===t&&(t=0),"rati"===e?t<4?t:t+12:"sokalli"===e?t:"donparam"===e?t>12?t:t+12:"sanje"===e?t+12:void 0},meridiem:function(t,e,n){return t<4?"rati":t<12?"sokalli":t<16?"donparam":t<20?"sanje":"rati"}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("gl",{months:"xaneiro_febreiro_marzo_abril_maio_xuño_xullo_agosto_setembro_outubro_novembro_decembro".split("_"),monthsShort:"xan._feb._mar._abr._mai._xuñ._xul._ago._set._out._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"domingo_luns_martes_mércores_xoves_venres_sábado".split("_"),weekdaysShort:"dom._lun._mar._mér._xov._ven._sáb.".split("_"),weekdaysMin:"do_lu_ma_mé_xo_ve_sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY H:mm",LLLL:"dddd, D [de] MMMM [de] YYYY H:mm"},calendar:{sameDay:function(){return"[hoxe "+(1!==this.hours()?"ás":"á")+"] LT"},nextDay:function(){return"[mañá "+(1!==this.hours()?"ás":"á")+"] LT"},nextWeek:function(){return"dddd ["+(1!==this.hours()?"ás":"a")+"] LT"},lastDay:function(){return"[onte "+(1!==this.hours()?"á":"a")+"] LT"},lastWeek:function(){return"[o] dddd [pasado "+(1!==this.hours()?"ás":"a")+"] LT"},sameElse:"L"},relativeTime:{future:function(t){return 0===t.indexOf("un")?"n"+t:"en "+t},past:"hai %s",s:"uns segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"unha hora",hh:"%d horas",d:"un día",dd:"%d días",M:"un mes",MM:"%d meses",y:"un ano",yy:"%d anos"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("gd",{months:["Am Faoilleach","An Gearran","Am Màrt","An Giblean","An Cèitean","An t-Ògmhios","An t-Iuchar","An Lùnastal","An t-Sultain","An Dàmhair","An t-Samhain","An Dùbhlachd"],monthsShort:["Faoi","Gear","Màrt","Gibl","Cèit","Ògmh","Iuch","Lùn","Sult","Dàmh","Samh","Dùbh"],monthsParseExact:!0,weekdays:["Didòmhnaich","Diluain","Dimàirt","Diciadain","Diardaoin","Dihaoine","Disathairne"],weekdaysShort:["Did","Dil","Dim","Dic","Dia","Dih","Dis"],weekdaysMin:["Dò","Lu","Mà","Ci","Ar","Ha","Sa"],longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[An-diugh aig] LT",nextDay:"[A-màireach aig] LT",nextWeek:"dddd [aig] LT",lastDay:"[An-dè aig] LT",lastWeek:"dddd [seo chaidh] [aig] LT",sameElse:"L"},relativeTime:{future:"ann an %s",past:"bho chionn %s",s:"beagan diogan",ss:"%d diogan",m:"mionaid",mm:"%d mionaidean",h:"uair",hh:"%d uairean",d:"latha",dd:"%d latha",M:"mìos",MM:"%d mìosan",y:"bliadhna",yy:"%d bliadhna"},dayOfMonthOrdinalParse:/\d{1,2}(d|na|mh)/,ordinal:function(t){var e=1===t?"d":t%10==2?"na":"mh";return t+e},week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";var e="jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.".split("_"),n="jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_");t.defineLocale("fy",{months:"jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber".split("_"),monthsShort:function(t,i){return t?/-MMM-/.test(i)?n[t.month()]:e[t.month()]:e},monthsParseExact:!0,weekdays:"snein_moandei_tiisdei_woansdei_tongersdei_freed_sneon".split("_"),weekdaysShort:"si._mo._ti._wo._to._fr._so.".split("_"),weekdaysMin:"Si_Mo_Ti_Wo_To_Fr_So".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[hjoed om] LT",nextDay:"[moarn om] LT",nextWeek:"dddd [om] LT",lastDay:"[juster om] LT",lastWeek:"[ôfrûne] dddd [om] LT",sameElse:"L"},relativeTime:{future:"oer %s",past:"%s lyn",s:"in pear sekonden",ss:"%d sekonden",m:"ien minút",mm:"%d minuten",h:"ien oere",hh:"%d oeren",d:"ien dei",dd:"%d dagen",M:"ien moanne",MM:"%d moannen",y:"ien jier",yy:"%d jierren"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(t){return t+(1===t||8===t||t>=20?"ste":"de")},week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("fr-ch",{months:"janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre".split("_"),monthsShort:"janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.".split("_"),monthsParseExact:!0,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"di_lu_ma_me_je_ve_sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd’hui à] LT",nextDay:"[Demain à] LT",nextWeek:"dddd [à] LT",lastDay:"[Hier à] LT",lastWeek:"dddd [dernier à] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",ss:"%d secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},dayOfMonthOrdinalParse:/\d{1,2}(er|e)/,ordinal:function(t,e){switch(e){default:case"M":case"Q":case"D":case"DDD":case"d":return t+(1===t?"er":"e");case"w":case"W":return t+(1===t?"re":"e")}},week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("fr-ca",{months:"janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre".split("_"),monthsShort:"janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.".split("_"),monthsParseExact:!0,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"di_lu_ma_me_je_ve_sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd’hui à] LT",nextDay:"[Demain à] LT",nextWeek:"dddd [à] LT",lastDay:"[Hier à] LT",lastWeek:"dddd [dernier à] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",ss:"%d secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},dayOfMonthOrdinalParse:/\d{1,2}(er|e)/,ordinal:function(t,e){switch(e){default:case"M":case"Q":case"D":case"DDD":case"d":return t+(1===t?"er":"e");case"w":case"W":return t+(1===t?"re":"e")}}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("fr",{months:"janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre".split("_"),monthsShort:"janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.".split("_"),monthsParseExact:!0,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"di_lu_ma_me_je_ve_sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd’hui à] LT",nextDay:"[Demain à] LT",nextWeek:"dddd [à] LT",lastDay:"[Hier à] LT",lastWeek:"dddd [dernier à] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",ss:"%d secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},dayOfMonthOrdinalParse:/\d{1,2}(er|)/,ordinal:function(t,e){switch(e){case"D":return t+(1===t?"er":"");default:case"M":case"Q":case"DDD":case"d":return t+(1===t?"er":"e");case"w":case"W":return t+(1===t?"re":"e")}},week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("fo",{months:"januar_februar_mars_apríl_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_"),weekdays:"sunnudagur_mánadagur_týsdagur_mikudagur_hósdagur_fríggjadagur_leygardagur".split("_"),weekdaysShort:"sun_mán_týs_mik_hós_frí_ley".split("_"),weekdaysMin:"su_má_tý_mi_hó_fr_le".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D. MMMM, YYYY HH:mm"},calendar:{sameDay:"[Í dag kl.] LT",nextDay:"[Í morgin kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[Í gjár kl.] LT",lastWeek:"[síðstu] dddd [kl] LT",sameElse:"L"},relativeTime:{future:"um %s",past:"%s síðani",s:"fá sekund",ss:"%d sekundir",m:"ein minutt",mm:"%d minuttir",h:"ein tími",hh:"%d tímar",d:"ein dagur",dd:"%d dagar",M:"ein mánaði",MM:"%d mánaðir",y:"eitt ár",yy:"%d ár"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";var e="nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän".split(" "),n=["nolla","yhden","kahden","kolmen","neljän","viiden","kuuden",e[7],e[8],e[9]];function i(t,i,r,a){var o="";switch(r){case"s":return a?"muutaman sekunnin":"muutama sekunti";case"ss":return a?"sekunnin":"sekuntia";case"m":return a?"minuutin":"minuutti";case"mm":o=a?"minuutin":"minuuttia";break;case"h":return a?"tunnin":"tunti";case"hh":o=a?"tunnin":"tuntia";break;case"d":return a?"päivän":"päivä";case"dd":o=a?"päivän":"päivää";break;case"M":return a?"kuukauden":"kuukausi";case"MM":o=a?"kuukauden":"kuukautta";break;case"y":return a?"vuoden":"vuosi";case"yy":o=a?"vuoden":"vuotta"}return o=function(t,i){return t<10?i?n[t]:e[t]:t}(t,a)+" "+o}t.defineLocale("fi",{months:"tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu".split("_"),monthsShort:"tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu".split("_"),weekdays:"sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai".split("_"),weekdaysShort:"su_ma_ti_ke_to_pe_la".split("_"),weekdaysMin:"su_ma_ti_ke_to_pe_la".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD.MM.YYYY",LL:"Do MMMM[ta] YYYY",LLL:"Do MMMM[ta] YYYY, [klo] HH.mm",LLLL:"dddd, Do MMMM[ta] YYYY, [klo] HH.mm",l:"D.M.YYYY",ll:"Do MMM YYYY",lll:"Do MMM YYYY, [klo] HH.mm",llll:"ddd, Do MMM YYYY, [klo] HH.mm"},calendar:{sameDay:"[tänään] [klo] LT",nextDay:"[huomenna] [klo] LT",nextWeek:"dddd [klo] LT",lastDay:"[eilen] [klo] LT",lastWeek:"[viime] dddd[na] [klo] LT",sameElse:"L"},relativeTime:{future:"%s päästä",past:"%s sitten",s:i,ss:i,m:i,mm:i,h:i,hh:i,d:i,dd:i,M:i,MM:i,y:i,yy:i},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";var e={1:"۱",2:"۲",3:"۳",4:"۴",5:"۵",6:"۶",7:"۷",8:"۸",9:"۹",0:"۰"},n={"۱":"1","۲":"2","۳":"3","۴":"4","۵":"5","۶":"6","۷":"7","۸":"8","۹":"9","۰":"0"};t.defineLocale("fa",{months:"ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر".split("_"),monthsShort:"ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر".split("_"),weekdays:"یک‌شنبه_دوشنبه_سه‌شنبه_چهارشنبه_پنج‌شنبه_جمعه_شنبه".split("_"),weekdaysShort:"یک‌شنبه_دوشنبه_سه‌شنبه_چهارشنبه_پنج‌شنبه_جمعه_شنبه".split("_"),weekdaysMin:"ی_د_س_چ_پ_ج_ش".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},meridiemParse:/قبل از ظهر|بعد از ظهر/,isPM:function(t){return/بعد از ظهر/.test(t)},meridiem:function(t,e,n){return t<12?"قبل از ظهر":"بعد از ظهر"},calendar:{sameDay:"[امروز ساعت] LT",nextDay:"[فردا ساعت] LT",nextWeek:"dddd [ساعت] LT",lastDay:"[دیروز ساعت] LT",lastWeek:"dddd [پیش] [ساعت] LT",sameElse:"L"},relativeTime:{future:"در %s",past:"%s پیش",s:"چند ثانیه",ss:"ثانیه d%",m:"یک دقیقه",mm:"%d دقیقه",h:"یک ساعت",hh:"%d ساعت",d:"یک روز",dd:"%d روز",M:"یک ماه",MM:"%d ماه",y:"یک سال",yy:"%d سال"},preparse:function(t){return t.replace(/[۰-۹]/g,function(t){return n[t]}).replace(/،/g,",")},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]}).replace(/,/g,"،")},dayOfMonthOrdinalParse:/\d{1,2}م/,ordinal:"%dم",week:{dow:6,doy:12}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("eu",{months:"urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua".split("_"),monthsShort:"urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.".split("_"),monthsParseExact:!0,weekdays:"igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata".split("_"),weekdaysShort:"ig._al._ar._az._og._ol._lr.".split("_"),weekdaysMin:"ig_al_ar_az_og_ol_lr".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY[ko] MMMM[ren] D[a]",LLL:"YYYY[ko] MMMM[ren] D[a] HH:mm",LLLL:"dddd, YYYY[ko] MMMM[ren] D[a] HH:mm",l:"YYYY-M-D",ll:"YYYY[ko] MMM D[a]",lll:"YYYY[ko] MMM D[a] HH:mm",llll:"ddd, YYYY[ko] MMM D[a] HH:mm"},calendar:{sameDay:"[gaur] LT[etan]",nextDay:"[bihar] LT[etan]",nextWeek:"dddd LT[etan]",lastDay:"[atzo] LT[etan]",lastWeek:"[aurreko] dddd LT[etan]",sameElse:"L"},relativeTime:{future:"%s barru",past:"duela %s",s:"segundo batzuk",ss:"%d segundo",m:"minutu bat",mm:"%d minutu",h:"ordu bat",hh:"%d ordu",d:"egun bat",dd:"%d egun",M:"hilabete bat",MM:"%d hilabete",y:"urte bat",yy:"%d urte"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}(n(0))},function(t,e,n){!function(t){"use strict";function e(t,e,n,i){var r={s:["mõne sekundi","mõni sekund","paar sekundit"],ss:[t+"sekundi",t+"sekundit"],m:["ühe minuti","üks minut"],mm:[t+" minuti",t+" minutit"],h:["ühe tunni","tund aega","üks tund"],hh:[t+" tunni",t+" tundi"],d:["ühe päeva","üks päev"],M:["kuu aja","kuu aega","üks kuu"],MM:[t+" kuu",t+" kuud"],y:["ühe aasta","aasta","üks aasta"],yy:[t+" aasta",t+" aastat"]};return e?r[n][2]?r[n][2]:r[n][1]:i?r[n][0]:r[n][1]}t.defineLocale("et",{months:"jaanuar_veebruar_märts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember".split("_"),monthsShort:"jaan_veebr_märts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets".split("_"),weekdays:"pühapäev_esmaspäev_teisipäev_kolmapäev_neljapäev_reede_laupäev".split("_"),weekdaysShort:"P_E_T_K_N_R_L".split("_"),weekdaysMin:"P_E_T_K_N_R_L".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[Täna,] LT",nextDay:"[Homme,] LT",nextWeek:"[Järgmine] dddd LT",lastDay:"[Eile,] LT",lastWeek:"[Eelmine] dddd LT",sameElse:"L"},relativeTime:{future:"%s pärast",past:"%s tagasi",s:e,ss:e,m:e,mm:e,h:e,hh:e,d:e,dd:"%d päeva",M:e,MM:e,y:e,yy:e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";var e="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),n="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_");t.defineLocale("es-us",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(t,i){return t?/-MMM-/.test(i)?n[t.month()]:e[t.month()]:e},monthsParseExact:!0,weekdays:"domingo_lunes_martes_miércoles_jueves_viernes_sábado".split("_"),weekdaysShort:"dom._lun._mar._mié._jue._vie._sáb.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"MM/DD/YYYY",LL:"MMMM [de] D [de] YYYY",LLL:"MMMM [de] D [de] YYYY h:mm A",LLLL:"dddd, MMMM [de] D [de] YYYY h:mm A"},calendar:{sameDay:function(){return"[hoy a la"+(1!==this.hours()?"s":"")+"] LT"},nextDay:function(){return"[mañana a la"+(1!==this.hours()?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(1!==this.hours()?"s":"")+"] LT"},lastDay:function(){return"[ayer a la"+(1!==this.hours()?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(1!==this.hours()?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un día",dd:"%d días",M:"un mes",MM:"%d meses",y:"un año",yy:"%d años"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:0,doy:6}})}(n(0))},function(t,e,n){!function(t){"use strict";var e="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),n="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),i=[/^ene/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i],r=/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i;t.defineLocale("es-do",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(t,i){return t?/-MMM-/.test(i)?n[t.month()]:e[t.month()]:e},monthsRegex:r,monthsShortRegex:r,monthsStrictRegex:/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,monthsShortStrictRegex:/^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,monthsParse:i,longMonthsParse:i,shortMonthsParse:i,weekdays:"domingo_lunes_martes_miércoles_jueves_viernes_sábado".split("_"),weekdaysShort:"dom._lun._mar._mié._jue._vie._sáb.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY h:mm A",LLLL:"dddd, D [de] MMMM [de] YYYY h:mm A"},calendar:{sameDay:function(){return"[hoy a la"+(1!==this.hours()?"s":"")+"] LT"},nextDay:function(){return"[mañana a la"+(1!==this.hours()?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(1!==this.hours()?"s":"")+"] LT"},lastDay:function(){return"[ayer a la"+(1!==this.hours()?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(1!==this.hours()?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un día",dd:"%d días",M:"un mes",MM:"%d meses",y:"un año",yy:"%d años"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";var e="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),n="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),i=[/^ene/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i],r=/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i;t.defineLocale("es",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(t,i){return t?/-MMM-/.test(i)?n[t.month()]:e[t.month()]:e},monthsRegex:r,monthsShortRegex:r,monthsStrictRegex:/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,monthsShortStrictRegex:/^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,monthsParse:i,longMonthsParse:i,shortMonthsParse:i,weekdays:"domingo_lunes_martes_miércoles_jueves_viernes_sábado".split("_"),weekdaysShort:"dom._lun._mar._mié._jue._vie._sáb.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY H:mm",LLLL:"dddd, D [de] MMMM [de] YYYY H:mm"},calendar:{sameDay:function(){return"[hoy a la"+(1!==this.hours()?"s":"")+"] LT"},nextDay:function(){return"[mañana a la"+(1!==this.hours()?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(1!==this.hours()?"s":"")+"] LT"},lastDay:function(){return"[ayer a la"+(1!==this.hours()?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(1!==this.hours()?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un día",dd:"%d días",M:"un mes",MM:"%d meses",y:"un año",yy:"%d años"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("eo",{months:"januaro_februaro_marto_aprilo_majo_junio_julio_aŭgusto_septembro_oktobro_novembro_decembro".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_aŭg_sep_okt_nov_dec".split("_"),weekdays:"dimanĉo_lundo_mardo_merkredo_ĵaŭdo_vendredo_sabato".split("_"),weekdaysShort:"dim_lun_mard_merk_ĵaŭ_ven_sab".split("_"),weekdaysMin:"di_lu_ma_me_ĵa_ve_sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"D[-a de] MMMM, YYYY",LLL:"D[-a de] MMMM, YYYY HH:mm",LLLL:"dddd, [la] D[-a de] MMMM, YYYY HH:mm"},meridiemParse:/[ap]\.t\.m/i,isPM:function(t){return"p"===t.charAt(0).toLowerCase()},meridiem:function(t,e,n){return t>11?n?"p.t.m.":"P.T.M.":n?"a.t.m.":"A.T.M."},calendar:{sameDay:"[Hodiaŭ je] LT",nextDay:"[Morgaŭ je] LT",nextWeek:"dddd [je] LT",lastDay:"[Hieraŭ je] LT",lastWeek:"[pasinta] dddd [je] LT",sameElse:"L"},relativeTime:{future:"post %s",past:"antaŭ %s",s:"sekundoj",ss:"%d sekundoj",m:"minuto",mm:"%d minutoj",h:"horo",hh:"%d horoj",d:"tago",dd:"%d tagoj",M:"monato",MM:"%d monatoj",y:"jaro",yy:"%d jaroj"},dayOfMonthOrdinalParse:/\d{1,2}a/,ordinal:"%da",week:{dow:1,doy:7}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("en-nz",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(t){var e=t%10,n=1==~~(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th";return t+n},week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("en-il",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(t){var e=t%10,n=1==~~(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th";return t+n}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("en-ie",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(t){var e=t%10,n=1==~~(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th";return t+n},week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("en-gb",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(t){var e=t%10,n=1==~~(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th";return t+n},week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("en-ca",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"YYYY-MM-DD",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(t){var e=t%10,n=1==~~(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th";return t+n}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("en-au",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(t){var e=t%10,n=1==~~(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th";return t+n},week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("el",{monthsNominativeEl:"Ιανουάριος_Φεβρουάριος_Μάρτιος_Απρίλιος_Μάιος_Ιούνιος_Ιούλιος_Αύγουστος_Σεπτέμβριος_Οκτώβριος_Νοέμβριος_Δεκέμβριος".split("_"),monthsGenitiveEl:"Ιανουαρίου_Φεβρουαρίου_Μαρτίου_Απριλίου_Μαΐου_Ιουνίου_Ιουλίου_Αυγούστου_Σεπτεμβρίου_Οκτωβρίου_Νοεμβρίου_Δεκεμβρίου".split("_"),months:function(t,e){return t?"string"==typeof e&&/D/.test(e.substring(0,e.indexOf("MMMM")))?this._monthsGenitiveEl[t.month()]:this._monthsNominativeEl[t.month()]:this._monthsNominativeEl},monthsShort:"Ιαν_Φεβ_Μαρ_Απρ_Μαϊ_Ιουν_Ιουλ_Αυγ_Σεπ_Οκτ_Νοε_Δεκ".split("_"),weekdays:"Κυριακή_Δευτέρα_Τρίτη_Τετάρτη_Πέμπτη_Παρασκευή_Σάββατο".split("_"),weekdaysShort:"Κυρ_Δευ_Τρι_Τετ_Πεμ_Παρ_Σαβ".split("_"),weekdaysMin:"Κυ_Δε_Τρ_Τε_Πε_Πα_Σα".split("_"),meridiem:function(t,e,n){return t>11?n?"μμ":"ΜΜ":n?"πμ":"ΠΜ"},isPM:function(t){return"μ"===(t+"").toLowerCase()[0]},meridiemParse:/[ΠΜ]\.?Μ?\.?/i,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendarEl:{sameDay:"[Σήμερα {}] LT",nextDay:"[Αύριο {}] LT",nextWeek:"dddd [{}] LT",lastDay:"[Χθες {}] LT",lastWeek:function(){switch(this.day()){case 6:return"[το προηγούμενο] dddd [{}] LT";default:return"[την προηγούμενη] dddd [{}] LT"}},sameElse:"L"},calendar:function(t,e){var n,i=this._calendarEl[t],r=e&&e.hours();return((n=i)instanceof Function||"[object Function]"===Object.prototype.toString.call(n))&&(i=i.apply(e)),i.replace("{}",r%12==1?"στη":"στις")},relativeTime:{future:"σε %s",past:"%s πριν",s:"λίγα δευτερόλεπτα",ss:"%d δευτερόλεπτα",m:"ένα λεπτό",mm:"%d λεπτά",h:"μία ώρα",hh:"%d ώρες",d:"μία μέρα",dd:"%d μέρες",M:"ένας μήνας",MM:"%d μήνες",y:"ένας χρόνος",yy:"%d χρόνια"},dayOfMonthOrdinalParse:/\d{1,2}η/,ordinal:"%dη",week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";var e=["ޖެނުއަރީ","ފެބްރުއަރީ","މާރިޗު","އޭޕްރީލު","މޭ","ޖޫން","ޖުލައި","އޯގަސްޓު","ސެޕްޓެމްބަރު","އޮކްޓޯބަރު","ނޮވެމްބަރު","ޑިސެމްބަރު"],n=["އާދިއްތަ","ހޯމަ","އަންގާރަ","ބުދަ","ބުރާސްފަތި","ހުކުރު","ހޮނިހިރު"];t.defineLocale("dv",{months:e,monthsShort:e,weekdays:n,weekdaysShort:n,weekdaysMin:"އާދި_ހޯމަ_އަން_ބުދަ_ބުރާ_ހުކު_ހޮނި".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/M/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/މކ|މފ/,isPM:function(t){return"މފ"===t},meridiem:function(t,e,n){return t<12?"މކ":"މފ"},calendar:{sameDay:"[މިއަދު] LT",nextDay:"[މާދަމާ] LT",nextWeek:"dddd LT",lastDay:"[އިއްޔެ] LT",lastWeek:"[ފާއިތުވި] dddd LT",sameElse:"L"},relativeTime:{future:"ތެރޭގައި %s",past:"ކުރިން %s",s:"ސިކުންތުކޮޅެއް",ss:"d% ސިކުންތު",m:"މިނިޓެއް",mm:"މިނިޓު %d",h:"ގަޑިއިރެއް",hh:"ގަޑިއިރު %d",d:"ދުވަހެއް",dd:"ދުވަސް %d",M:"މަހެއް",MM:"މަސް %d",y:"އަހަރެއް",yy:"އަހަރު %d"},preparse:function(t){return t.replace(/،/g,",")},postformat:function(t){return t.replace(/,/g,"،")},week:{dow:7,doy:12}})}(n(0))},function(t,e,n){!function(t){"use strict";function e(t,e,n,i){var r={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[t+" Tage",t+" Tagen"],M:["ein Monat","einem Monat"],MM:[t+" Monate",t+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[t+" Jahre",t+" Jahren"]};return e?r[n][0]:r[n][1]}t.defineLocale("de-ch",{months:"Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},calendar:{sameDay:"[heute um] LT [Uhr]",sameElse:"L",nextDay:"[morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",ss:"%d Sekunden",m:e,mm:"%d Minuten",h:e,hh:"%d Stunden",d:e,dd:e,M:e,MM:e,y:e,yy:e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";function e(t,e,n,i){var r={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[t+" Tage",t+" Tagen"],M:["ein Monat","einem Monat"],MM:[t+" Monate",t+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[t+" Jahre",t+" Jahren"]};return e?r[n][0]:r[n][1]}t.defineLocale("de-at",{months:"Jänner_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jän._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So._Mo._Di._Mi._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},calendar:{sameDay:"[heute um] LT [Uhr]",sameElse:"L",nextDay:"[morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",ss:"%d Sekunden",m:e,mm:"%d Minuten",h:e,hh:"%d Stunden",d:e,dd:e,M:e,MM:e,y:e,yy:e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";function e(t,e,n,i){var r={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[t+" Tage",t+" Tagen"],M:["ein Monat","einem Monat"],MM:[t+" Monate",t+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[t+" Jahre",t+" Jahren"]};return e?r[n][0]:r[n][1]}t.defineLocale("de",{months:"Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So._Mo._Di._Mi._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},calendar:{sameDay:"[heute um] LT [Uhr]",sameElse:"L",nextDay:"[morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",ss:"%d Sekunden",m:e,mm:"%d Minuten",h:e,hh:"%d Stunden",d:e,dd:e,M:e,MM:e,y:e,yy:e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("da",{months:"januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec".split("_"),weekdays:"søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag".split("_"),weekdaysShort:"søn_man_tir_ons_tor_fre_lør".split("_"),weekdaysMin:"sø_ma_ti_on_to_fr_lø".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd [d.] D. MMMM YYYY [kl.] HH:mm"},calendar:{sameDay:"[i dag kl.] LT",nextDay:"[i morgen kl.] LT",nextWeek:"på dddd [kl.] LT",lastDay:"[i går kl.] LT",lastWeek:"[i] dddd[s kl.] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"%s siden",s:"få sekunder",ss:"%d sekunder",m:"et minut",mm:"%d minutter",h:"en time",hh:"%d timer",d:"en dag",dd:"%d dage",M:"en måned",MM:"%d måneder",y:"et år",yy:"%d år"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("cy",{months:"Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr".split("_"),monthsShort:"Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag".split("_"),weekdays:"Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn".split("_"),weekdaysShort:"Sul_Llun_Maw_Mer_Iau_Gwe_Sad".split("_"),weekdaysMin:"Su_Ll_Ma_Me_Ia_Gw_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Heddiw am] LT",nextDay:"[Yfory am] LT",nextWeek:"dddd [am] LT",lastDay:"[Ddoe am] LT",lastWeek:"dddd [diwethaf am] LT",sameElse:"L"},relativeTime:{future:"mewn %s",past:"%s yn ôl",s:"ychydig eiliadau",ss:"%d eiliad",m:"munud",mm:"%d munud",h:"awr",hh:"%d awr",d:"diwrnod",dd:"%d diwrnod",M:"mis",MM:"%d mis",y:"blwyddyn",yy:"%d flynedd"},dayOfMonthOrdinalParse:/\d{1,2}(fed|ain|af|il|ydd|ed|eg)/,ordinal:function(t){var e=t,n="";return e>20?n=40===e||50===e||60===e||80===e||100===e?"fed":"ain":e>0&&(n=["","af","il","ydd","ydd","ed","ed","ed","fed","fed","fed","eg","fed","eg","eg","fed","eg","eg","fed","eg","fed"][e]),t+n},week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("cv",{months:"кӑрлач_нарӑс_пуш_ака_май_ҫӗртме_утӑ_ҫурла_авӑн_юпа_чӳк_раштав".split("_"),monthsShort:"кӑр_нар_пуш_ака_май_ҫӗр_утӑ_ҫур_авн_юпа_чӳк_раш".split("_"),weekdays:"вырсарникун_тунтикун_ытларикун_юнкун_кӗҫнерникун_эрнекун_шӑматкун".split("_"),weekdaysShort:"выр_тун_ытл_юн_кӗҫ_эрн_шӑм".split("_"),weekdaysMin:"вр_тн_ыт_юн_кҫ_эр_шм".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ]",LLL:"YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm",LLLL:"dddd, YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm"},calendar:{sameDay:"[Паян] LT [сехетре]",nextDay:"[Ыран] LT [сехетре]",lastDay:"[Ӗнер] LT [сехетре]",nextWeek:"[Ҫитес] dddd LT [сехетре]",lastWeek:"[Иртнӗ] dddd LT [сехетре]",sameElse:"L"},relativeTime:{future:function(t){var e=/сехет$/i.exec(t)?"рен":/ҫул$/i.exec(t)?"тан":"ран";return t+e},past:"%s каялла",s:"пӗр-ик ҫеккунт",ss:"%d ҫеккунт",m:"пӗр минут",mm:"%d минут",h:"пӗр сехет",hh:"%d сехет",d:"пӗр кун",dd:"%d кун",M:"пӗр уйӑх",MM:"%d уйӑх",y:"пӗр ҫул",yy:"%d ҫул"},dayOfMonthOrdinalParse:/\d{1,2}-мӗш/,ordinal:"%d-мӗш",week:{dow:1,doy:7}})}(n(0))},function(t,e,n){!function(t){"use strict";var e="leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec".split("_"),n="led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro".split("_");function i(t){return t>1&&t<5&&1!=~~(t/10)}function r(t,e,n,r){var a=t+" ";switch(n){case"s":return e||r?"pár sekund":"pár sekundami";case"ss":return e||r?a+(i(t)?"sekundy":"sekund"):a+"sekundami";case"m":return e?"minuta":r?"minutu":"minutou";case"mm":return e||r?a+(i(t)?"minuty":"minut"):a+"minutami";case"h":return e?"hodina":r?"hodinu":"hodinou";case"hh":return e||r?a+(i(t)?"hodiny":"hodin"):a+"hodinami";case"d":return e||r?"den":"dnem";case"dd":return e||r?a+(i(t)?"dny":"dní"):a+"dny";case"M":return e||r?"měsíc":"měsícem";case"MM":return e||r?a+(i(t)?"měsíce":"měsíců"):a+"měsíci";case"y":return e||r?"rok":"rokem";case"yy":return e||r?a+(i(t)?"roky":"let"):a+"lety"}}t.defineLocale("cs",{months:e,monthsShort:n,monthsParse:function(t,e){var n,i=[];for(n=0;n<12;n++)i[n]=new RegExp("^"+t[n]+"$|^"+e[n]+"$","i");return i}(e,n),shortMonthsParse:function(t){var e,n=[];for(e=0;e<12;e++)n[e]=new RegExp("^"+t[e]+"$","i");return n}(n),longMonthsParse:function(t){var e,n=[];for(e=0;e<12;e++)n[e]=new RegExp("^"+t[e]+"$","i");return n}(e),weekdays:"neděle_pondělí_úterý_středa_čtvrtek_pátek_sobota".split("_"),weekdaysShort:"ne_po_út_st_čt_pá_so".split("_"),weekdaysMin:"ne_po_út_st_čt_pá_so".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd D. MMMM YYYY H:mm",l:"D. M. YYYY"},calendar:{sameDay:"[dnes v] LT",nextDay:"[zítra v] LT",nextWeek:function(){switch(this.day()){case 0:return"[v neděli v] LT";case 1:case 2:return"[v] dddd [v] LT";case 3:return"[ve středu v] LT";case 4:return"[ve čtvrtek v] LT";case 5:return"[v pátek v] LT";case 6:return"[v sobotu v] LT"}},lastDay:"[včera v] LT",lastWeek:function(){switch(this.day()){case 0:return"[minulou neděli v] LT";case 1:case 2:return"[minulé] dddd [v] LT";case 3:return"[minulou středu v] LT";case 4:case 5:return"[minulý] dddd [v] LT";case 6:return"[minulou sobotu v] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"před %s",s:r,ss:r,m:r,mm:r,h:r,hh:r,d:r,dd:r,M:r,MM:r,y:r,yy:r},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("ca",{months:{standalone:"gener_febrer_març_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre".split("_"),format:"de gener_de febrer_de març_d'abril_de maig_de juny_de juliol_d'agost_de setembre_d'octubre_de novembre_de desembre".split("_"),isFormat:/D[oD]?(\s)+MMMM/},monthsShort:"gen._febr._març_abr._maig_juny_jul._ag._set._oct._nov._des.".split("_"),monthsParseExact:!0,weekdays:"diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte".split("_"),weekdaysShort:"dg._dl._dt._dc._dj._dv._ds.".split("_"),weekdaysMin:"dg_dl_dt_dc_dj_dv_ds".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM [de] YYYY",ll:"D MMM YYYY",LLL:"D MMMM [de] YYYY [a les] H:mm",lll:"D MMM YYYY, H:mm",LLLL:"dddd D MMMM [de] YYYY [a les] H:mm",llll:"ddd D MMM YYYY, H:mm"},calendar:{sameDay:function(){return"[avui a "+(1!==this.hours()?"les":"la")+"] LT"},nextDay:function(){return"[demà a "+(1!==this.hours()?"les":"la")+"] LT"},nextWeek:function(){return"dddd [a "+(1!==this.hours()?"les":"la")+"] LT"},lastDay:function(){return"[ahir a "+(1!==this.hours()?"les":"la")+"] LT"},lastWeek:function(){return"[el] dddd [passat a "+(1!==this.hours()?"les":"la")+"] LT"},sameElse:"L"},relativeTime:{future:"d'aquí %s",past:"fa %s",s:"uns segons",ss:"%d segons",m:"un minut",mm:"%d minuts",h:"una hora",hh:"%d hores",d:"un dia",dd:"%d dies",M:"un mes",MM:"%d mesos",y:"un any",yy:"%d anys"},dayOfMonthOrdinalParse:/\d{1,2}(r|n|t|è|a)/,ordinal:function(t,e){var n=1===t?"r":2===t?"n":3===t?"r":4===t?"t":"è";return"w"!==e&&"W"!==e||(n="a"),t+n},week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";function e(t,e,n){var i=t+" ";switch(n){case"ss":return i+=1===t?"sekunda":2===t||3===t||4===t?"sekunde":"sekundi";case"m":return e?"jedna minuta":"jedne minute";case"mm":return i+=1===t?"minuta":2===t||3===t||4===t?"minute":"minuta";case"h":return e?"jedan sat":"jednog sata";case"hh":return i+=1===t?"sat":2===t||3===t||4===t?"sata":"sati";case"dd":return i+=1===t?"dan":"dana";case"MM":return i+=1===t?"mjesec":2===t||3===t||4===t?"mjeseca":"mjeseci";case"yy":return i+=1===t?"godina":2===t||3===t||4===t?"godine":"godina"}}t.defineLocale("bs",{months:"januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar".split("_"),monthsShort:"jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._čet._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_če_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[jučer u] LT",lastWeek:function(){switch(this.day()){case 0:case 3:return"[prošlu] dddd [u] LT";case 6:return"[prošle] [subote] [u] LT";case 1:case 2:case 4:case 5:return"[prošli] dddd [u] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"par sekundi",ss:e,m:e,mm:e,h:e,hh:e,d:"dan",dd:e,M:"mjesec",MM:e,y:"godinu",yy:e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}(n(0))},function(t,e,n){!function(t){"use strict";function e(t,e,n){return t+" "+function(t,e){return 2===e?function(t){var e={m:"v",b:"v",d:"z"};return void 0===e[t.charAt(0)]?t:e[t.charAt(0)]+t.substring(1)}(t):t}({mm:"munutenn",MM:"miz",dd:"devezh"}[n],t)}t.defineLocale("br",{months:"Genver_C'hwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu".split("_"),monthsShort:"Gen_C'hwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker".split("_"),weekdays:"Sul_Lun_Meurzh_Merc'her_Yaou_Gwener_Sadorn".split("_"),weekdaysShort:"Sul_Lun_Meu_Mer_Yao_Gwe_Sad".split("_"),weekdaysMin:"Su_Lu_Me_Mer_Ya_Gw_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h[e]mm A",LTS:"h[e]mm:ss A",L:"DD/MM/YYYY",LL:"D [a viz] MMMM YYYY",LLL:"D [a viz] MMMM YYYY h[e]mm A",LLLL:"dddd, D [a viz] MMMM YYYY h[e]mm A"},calendar:{sameDay:"[Hiziv da] LT",nextDay:"[Warc'hoazh da] LT",nextWeek:"dddd [da] LT",lastDay:"[Dec'h da] LT",lastWeek:"dddd [paset da] LT",sameElse:"L"},relativeTime:{future:"a-benn %s",past:"%s 'zo",s:"un nebeud segondennoù",ss:"%d eilenn",m:"ur vunutenn",mm:e,h:"un eur",hh:"%d eur",d:"un devezh",dd:e,M:"ur miz",MM:e,y:"ur bloaz",yy:function(t){switch(function t(e){return e>9?t(e%10):e}(t)){case 1:case 3:case 4:case 5:case 9:return t+" bloaz";default:return t+" vloaz"}}},dayOfMonthOrdinalParse:/\d{1,2}(añ|vet)/,ordinal:function(t){var e=1===t?"añ":"vet";return t+e},week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";var e={1:"༡",2:"༢",3:"༣",4:"༤",5:"༥",6:"༦",7:"༧",8:"༨",9:"༩",0:"༠"},n={"༡":"1","༢":"2","༣":"3","༤":"4","༥":"5","༦":"6","༧":"7","༨":"8","༩":"9","༠":"0"};t.defineLocale("bo",{months:"ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ".split("_"),monthsShort:"ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ".split("_"),weekdays:"གཟའ་ཉི་མ་_གཟའ་ཟླ་བ་_གཟའ་མིག་དམར་_གཟའ་ལྷག་པ་_གཟའ་ཕུར་བུ_གཟའ་པ་སངས་_གཟའ་སྤེན་པ་".split("_"),weekdaysShort:"ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་".split("_"),weekdaysMin:"ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm",LLLL:"dddd, D MMMM YYYY, A h:mm"},calendar:{sameDay:"[དི་རིང] LT",nextDay:"[སང་ཉིན] LT",nextWeek:"[བདུན་ཕྲག་རྗེས་མ], LT",lastDay:"[ཁ་སང] LT",lastWeek:"[བདུན་ཕྲག་མཐའ་མ] dddd, LT",sameElse:"L"},relativeTime:{future:"%s ལ་",past:"%s སྔན་ལ",s:"ལམ་སང",ss:"%d སྐར་ཆ།",m:"སྐར་མ་གཅིག",mm:"%d སྐར་མ",h:"ཆུ་ཚོད་གཅིག",hh:"%d ཆུ་ཚོད",d:"ཉིན་གཅིག",dd:"%d ཉིན་",M:"ཟླ་བ་གཅིག",MM:"%d ཟླ་བ",y:"ལོ་གཅིག",yy:"%d ལོ"},preparse:function(t){return t.replace(/[༡༢༣༤༥༦༧༨༩༠]/g,function(t){return n[t]})},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]})},meridiemParse:/མཚན་མོ|ཞོགས་ཀས|ཉིན་གུང|དགོང་དག|མཚན་མོ/,meridiemHour:function(t,e){return 12===t&&(t=0),"མཚན་མོ"===e&&t>=4||"ཉིན་གུང"===e&&t<5||"དགོང་དག"===e?t+12:t},meridiem:function(t,e,n){return t<4?"མཚན་མོ":t<10?"ཞོགས་ཀས":t<17?"ཉིན་གུང":t<20?"དགོང་དག":"མཚན་མོ"},week:{dow:0,doy:6}})}(n(0))},function(t,e,n){!function(t){"use strict";var e={1:"১",2:"২",3:"৩",4:"৪",5:"৫",6:"৬",7:"৭",8:"৮",9:"৯",0:"০"},n={"১":"1","২":"2","৩":"3","৪":"4","৫":"5","৬":"6","৭":"7","৮":"8","৯":"9","০":"0"};t.defineLocale("bn",{months:"জানুয়ারী_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর".split("_"),monthsShort:"জানু_ফেব_মার্চ_এপ্র_মে_জুন_জুল_আগ_সেপ্ট_অক্টো_নভে_ডিসে".split("_"),weekdays:"রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার".split("_"),weekdaysShort:"রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি".split("_"),weekdaysMin:"রবি_সোম_মঙ্গ_বুধ_বৃহঃ_শুক্র_শনি".split("_"),longDateFormat:{LT:"A h:mm সময়",LTS:"A h:mm:ss সময়",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm সময়",LLLL:"dddd, D MMMM YYYY, A h:mm সময়"},calendar:{sameDay:"[আজ] LT",nextDay:"[আগামীকাল] LT",nextWeek:"dddd, LT",lastDay:"[গতকাল] LT",lastWeek:"[গত] dddd, LT",sameElse:"L"},relativeTime:{future:"%s পরে",past:"%s আগে",s:"কয়েক সেকেন্ড",ss:"%d সেকেন্ড",m:"এক মিনিট",mm:"%d মিনিট",h:"এক ঘন্টা",hh:"%d ঘন্টা",d:"এক দিন",dd:"%d দিন",M:"এক মাস",MM:"%d মাস",y:"এক বছর",yy:"%d বছর"},preparse:function(t){return t.replace(/[১২৩৪৫৬৭৮৯০]/g,function(t){return n[t]})},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]})},meridiemParse:/রাত|সকাল|দুপুর|বিকাল|রাত/,meridiemHour:function(t,e){return 12===t&&(t=0),"রাত"===e&&t>=4||"দুপুর"===e&&t<5||"বিকাল"===e?t+12:t},meridiem:function(t,e,n){return t<4?"রাত":t<10?"সকাল":t<17?"দুপুর":t<20?"বিকাল":"রাত"},week:{dow:0,doy:6}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("bm",{months:"Zanwuyekalo_Fewuruyekalo_Marisikalo_Awirilikalo_Mɛkalo_Zuwɛnkalo_Zuluyekalo_Utikalo_Sɛtanburukalo_ɔkutɔburukalo_Nowanburukalo_Desanburukalo".split("_"),monthsShort:"Zan_Few_Mar_Awi_Mɛ_Zuw_Zul_Uti_Sɛt_ɔku_Now_Des".split("_"),weekdays:"Kari_Ntɛnɛn_Tarata_Araba_Alamisa_Juma_Sibiri".split("_"),weekdaysShort:"Kar_Ntɛ_Tar_Ara_Ala_Jum_Sib".split("_"),weekdaysMin:"Ka_Nt_Ta_Ar_Al_Ju_Si".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"MMMM [tile] D [san] YYYY",LLL:"MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm",LLLL:"dddd MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm"},calendar:{sameDay:"[Bi lɛrɛ] LT",nextDay:"[Sini lɛrɛ] LT",nextWeek:"dddd [don lɛrɛ] LT",lastDay:"[Kunu lɛrɛ] LT",lastWeek:"dddd [tɛmɛnen lɛrɛ] LT",sameElse:"L"},relativeTime:{future:"%s kɔnɔ",past:"a bɛ %s bɔ",s:"sanga dama dama",ss:"sekondi %d",m:"miniti kelen",mm:"miniti %d",h:"lɛrɛ kelen",hh:"lɛrɛ %d",d:"tile kelen",dd:"tile %d",M:"kalo kelen",MM:"kalo %d",y:"san kelen",yy:"san %d"},week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("bg",{months:"януари_февруари_март_април_май_юни_юли_август_септември_октомври_ноември_декември".split("_"),monthsShort:"янр_фев_мар_апр_май_юни_юли_авг_сеп_окт_ное_дек".split("_"),weekdays:"неделя_понеделник_вторник_сряда_четвъртък_петък_събота".split("_"),weekdaysShort:"нед_пон_вто_сря_чет_пет_съб".split("_"),weekdaysMin:"нд_пн_вт_ср_чт_пт_сб".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"D.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[Днес в] LT",nextDay:"[Утре в] LT",nextWeek:"dddd [в] LT",lastDay:"[Вчера в] LT",lastWeek:function(){switch(this.day()){case 0:case 3:case 6:return"[В изминалата] dddd [в] LT";case 1:case 2:case 4:case 5:return"[В изминалия] dddd [в] LT"}},sameElse:"L"},relativeTime:{future:"след %s",past:"преди %s",s:"няколко секунди",ss:"%d секунди",m:"минута",mm:"%d минути",h:"час",hh:"%d часа",d:"ден",dd:"%d дни",M:"месец",MM:"%d месеца",y:"година",yy:"%d години"},dayOfMonthOrdinalParse:/\d{1,2}-(ев|ен|ти|ви|ри|ми)/,ordinal:function(t){var e=t%10,n=t%100;return 0===t?t+"-ев":0===n?t+"-ен":n>10&&n<20?t+"-ти":1===e?t+"-ви":2===e?t+"-ри":7===e||8===e?t+"-ми":t+"-ти"},week:{dow:1,doy:7}})}(n(0))},function(t,e,n){!function(t){"use strict";function e(t,e,n){var i,r,a={ss:e?"секунда_секунды_секунд":"секунду_секунды_секунд",mm:e?"хвіліна_хвіліны_хвілін":"хвіліну_хвіліны_хвілін",hh:e?"гадзіна_гадзіны_гадзін":"гадзіну_гадзіны_гадзін",dd:"дзень_дні_дзён",MM:"месяц_месяцы_месяцаў",yy:"год_гады_гадоў"};return"m"===n?e?"хвіліна":"хвіліну":"h"===n?e?"гадзіна":"гадзіну":t+" "+(i=+t,r=a[n].split("_"),i%10==1&&i%100!=11?r[0]:i%10>=2&&i%10<=4&&(i%100<10||i%100>=20)?r[1]:r[2])}t.defineLocale("be",{months:{format:"студзеня_лютага_сакавіка_красавіка_траўня_чэрвеня_ліпеня_жніўня_верасня_кастрычніка_лістапада_снежня".split("_"),standalone:"студзень_люты_сакавік_красавік_травень_чэрвень_ліпень_жнівень_верасень_кастрычнік_лістапад_снежань".split("_")},monthsShort:"студ_лют_сак_крас_трав_чэрв_ліп_жнів_вер_каст_ліст_снеж".split("_"),weekdays:{format:"нядзелю_панядзелак_аўторак_сераду_чацвер_пятніцу_суботу".split("_"),standalone:"нядзеля_панядзелак_аўторак_серада_чацвер_пятніца_субота".split("_"),isFormat:/\[ ?[Ууў] ?(?:мінулую|наступную)? ?\] ?dddd/},weekdaysShort:"нд_пн_ат_ср_чц_пт_сб".split("_"),weekdaysMin:"нд_пн_ат_ср_чц_пт_сб".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY г.",LLL:"D MMMM YYYY г., HH:mm",LLLL:"dddd, D MMMM YYYY г., HH:mm"},calendar:{sameDay:"[Сёння ў] LT",nextDay:"[Заўтра ў] LT",lastDay:"[Учора ў] LT",nextWeek:function(){return"[У] dddd [ў] LT"},lastWeek:function(){switch(this.day()){case 0:case 3:case 5:case 6:return"[У мінулую] dddd [ў] LT";case 1:case 2:case 4:return"[У мінулы] dddd [ў] LT"}},sameElse:"L"},relativeTime:{future:"праз %s",past:"%s таму",s:"некалькі секунд",m:e,mm:e,h:e,hh:e,d:"дзень",dd:e,M:"месяц",MM:e,y:"год",yy:e},meridiemParse:/ночы|раніцы|дня|вечара/,isPM:function(t){return/^(дня|вечара)$/.test(t)},meridiem:function(t,e,n){return t<4?"ночы":t<12?"раніцы":t<17?"дня":"вечара"},dayOfMonthOrdinalParse:/\d{1,2}-(і|ы|га)/,ordinal:function(t,e){switch(e){case"M":case"d":case"DDD":case"w":case"W":return t%10!=2&&t%10!=3||t%100==12||t%100==13?t+"-ы":t+"-і";case"D":return t+"-га";default:return t}},week:{dow:1,doy:7}})}(n(0))},function(t,e,n){!function(t){"use strict";var e={1:"-inci",5:"-inci",8:"-inci",70:"-inci",80:"-inci",2:"-nci",7:"-nci",20:"-nci",50:"-nci",3:"-üncü",4:"-üncü",100:"-üncü",6:"-ncı",9:"-uncu",10:"-uncu",30:"-uncu",60:"-ıncı",90:"-ıncı"};t.defineLocale("az",{months:"yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr".split("_"),monthsShort:"yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek".split("_"),weekdays:"Bazar_Bazar ertəsi_Çərşənbə axşamı_Çərşənbə_Cümə axşamı_Cümə_Şənbə".split("_"),weekdaysShort:"Baz_BzE_ÇAx_Çər_CAx_Cüm_Şən".split("_"),weekdaysMin:"Bz_BE_ÇA_Çə_CA_Cü_Şə".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[bugün saat] LT",nextDay:"[sabah saat] LT",nextWeek:"[gələn həftə] dddd [saat] LT",lastDay:"[dünən] LT",lastWeek:"[keçən həftə] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s sonra",past:"%s əvvəl",s:"birneçə saniyə",ss:"%d saniyə",m:"bir dəqiqə",mm:"%d dəqiqə",h:"bir saat",hh:"%d saat",d:"bir gün",dd:"%d gün",M:"bir ay",MM:"%d ay",y:"bir il",yy:"%d il"},meridiemParse:/gecə|səhər|gündüz|axşam/,isPM:function(t){return/^(gündüz|axşam)$/.test(t)},meridiem:function(t,e,n){return t<4?"gecə":t<12?"səhər":t<17?"gündüz":"axşam"},dayOfMonthOrdinalParse:/\d{1,2}-(ıncı|inci|nci|üncü|ncı|uncu)/,ordinal:function(t){if(0===t)return t+"-ıncı";var n=t%10,i=t%100-n,r=t>=100?100:null;return t+(e[n]||e[i]||e[r])},week:{dow:1,doy:7}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("ar-tn",{months:"جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),monthsShort:"جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[اليوم على الساعة] LT",nextDay:"[غدا على الساعة] LT",nextWeek:"dddd [على الساعة] LT",lastDay:"[أمس على الساعة] LT",lastWeek:"dddd [على الساعة] LT",sameElse:"L"},relativeTime:{future:"في %s",past:"منذ %s",s:"ثوان",ss:"%d ثانية",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"},week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";var e={1:"١",2:"٢",3:"٣",4:"٤",5:"٥",6:"٦",7:"٧",8:"٨",9:"٩",0:"٠"},n={"١":"1","٢":"2","٣":"3","٤":"4","٥":"5","٦":"6","٧":"7","٨":"8","٩":"9","٠":"0"};t.defineLocale("ar-sa",{months:"يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),monthsShort:"يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/ص|م/,isPM:function(t){return"م"===t},meridiem:function(t,e,n){return t<12?"ص":"م"},calendar:{sameDay:"[اليوم على الساعة] LT",nextDay:"[غدا على الساعة] LT",nextWeek:"dddd [على الساعة] LT",lastDay:"[أمس على الساعة] LT",lastWeek:"dddd [على الساعة] LT",sameElse:"L"},relativeTime:{future:"في %s",past:"منذ %s",s:"ثوان",ss:"%d ثانية",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"},preparse:function(t){return t.replace(/[١٢٣٤٥٦٧٨٩٠]/g,function(t){return n[t]}).replace(/،/g,",")},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]}).replace(/,/g,"،")},week:{dow:0,doy:6}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("ar-ma",{months:"يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر".split("_"),monthsShort:"يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر".split("_"),weekdays:"الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[اليوم على الساعة] LT",nextDay:"[غدا على الساعة] LT",nextWeek:"dddd [على الساعة] LT",lastDay:"[أمس على الساعة] LT",lastWeek:"dddd [على الساعة] LT",sameElse:"L"},relativeTime:{future:"في %s",past:"منذ %s",s:"ثوان",ss:"%d ثانية",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"},week:{dow:6,doy:12}})}(n(0))},function(t,e,n){!function(t){"use strict";var e={1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",7:"7",8:"8",9:"9",0:"0"},n=function(t){return 0===t?0:1===t?1:2===t?2:t%100>=3&&t%100<=10?3:t%100>=11?4:5},i={s:["أقل من ثانية","ثانية واحدة",["ثانيتان","ثانيتين"],"%d ثوان","%d ثانية","%d ثانية"],m:["أقل من دقيقة","دقيقة واحدة",["دقيقتان","دقيقتين"],"%d دقائق","%d دقيقة","%d دقيقة"],h:["أقل من ساعة","ساعة واحدة",["ساعتان","ساعتين"],"%d ساعات","%d ساعة","%d ساعة"],d:["أقل من يوم","يوم واحد",["يومان","يومين"],"%d أيام","%d يومًا","%d يوم"],M:["أقل من شهر","شهر واحد",["شهران","شهرين"],"%d أشهر","%d شهرا","%d شهر"],y:["أقل من عام","عام واحد",["عامان","عامين"],"%d أعوام","%d عامًا","%d عام"]},r=function(t){return function(e,r,a,o){var s=n(e),c=i[t][n(e)];return 2===s&&(c=c[r?0:1]),c.replace(/%d/i,e)}},a=["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر"];t.defineLocale("ar-ly",{months:a,monthsShort:a,weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/‏M/‏YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/ص|م/,isPM:function(t){return"م"===t},meridiem:function(t,e,n){return t<12?"ص":"م"},calendar:{sameDay:"[اليوم عند الساعة] LT",nextDay:"[غدًا عند الساعة] LT",nextWeek:"dddd [عند الساعة] LT",lastDay:"[أمس عند الساعة] LT",lastWeek:"dddd [عند الساعة] LT",sameElse:"L"},relativeTime:{future:"بعد %s",past:"منذ %s",s:r("s"),ss:r("s"),m:r("m"),mm:r("m"),h:r("h"),hh:r("h"),d:r("d"),dd:r("d"),M:r("M"),MM:r("M"),y:r("y"),yy:r("y")},preparse:function(t){return t.replace(/،/g,",")},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]}).replace(/,/g,"،")},week:{dow:6,doy:12}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("ar-kw",{months:"يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر".split("_"),monthsShort:"يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر".split("_"),weekdays:"الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[اليوم على الساعة] LT",nextDay:"[غدا على الساعة] LT",nextWeek:"dddd [على الساعة] LT",lastDay:"[أمس على الساعة] LT",lastWeek:"dddd [على الساعة] LT",sameElse:"L"},relativeTime:{future:"في %s",past:"منذ %s",s:"ثوان",ss:"%d ثانية",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"},week:{dow:0,doy:12}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("ar-dz",{months:"جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),monthsShort:"جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"احد_اثنين_ثلاثاء_اربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"أح_إث_ثلا_أر_خم_جم_سب".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[اليوم على الساعة] LT",nextDay:"[غدا على الساعة] LT",nextWeek:"dddd [على الساعة] LT",lastDay:"[أمس على الساعة] LT",lastWeek:"dddd [على الساعة] LT",sameElse:"L"},relativeTime:{future:"في %s",past:"منذ %s",s:"ثوان",ss:"%d ثانية",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"},week:{dow:0,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";var e={1:"١",2:"٢",3:"٣",4:"٤",5:"٥",6:"٦",7:"٧",8:"٨",9:"٩",0:"٠"},n={"١":"1","٢":"2","٣":"3","٤":"4","٥":"5","٦":"6","٧":"7","٨":"8","٩":"9","٠":"0"},i=function(t){return 0===t?0:1===t?1:2===t?2:t%100>=3&&t%100<=10?3:t%100>=11?4:5},r={s:["أقل من ثانية","ثانية واحدة",["ثانيتان","ثانيتين"],"%d ثوان","%d ثانية","%d ثانية"],m:["أقل من دقيقة","دقيقة واحدة",["دقيقتان","دقيقتين"],"%d دقائق","%d دقيقة","%d دقيقة"],h:["أقل من ساعة","ساعة واحدة",["ساعتان","ساعتين"],"%d ساعات","%d ساعة","%d ساعة"],d:["أقل من يوم","يوم واحد",["يومان","يومين"],"%d أيام","%d يومًا","%d يوم"],M:["أقل من شهر","شهر واحد",["شهران","شهرين"],"%d أشهر","%d شهرا","%d شهر"],y:["أقل من عام","عام واحد",["عامان","عامين"],"%d أعوام","%d عامًا","%d عام"]},a=function(t){return function(e,n,a,o){var s=i(e),c=r[t][i(e)];return 2===s&&(c=c[n?0:1]),c.replace(/%d/i,e)}},o=["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر"];t.defineLocale("ar",{months:o,monthsShort:o,weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/‏M/‏YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/ص|م/,isPM:function(t){return"م"===t},meridiem:function(t,e,n){return t<12?"ص":"م"},calendar:{sameDay:"[اليوم عند الساعة] LT",nextDay:"[غدًا عند الساعة] LT",nextWeek:"dddd [عند الساعة] LT",lastDay:"[أمس عند الساعة] LT",lastWeek:"dddd [عند الساعة] LT",sameElse:"L"},relativeTime:{future:"بعد %s",past:"منذ %s",s:a("s"),ss:a("s"),m:a("m"),mm:a("m"),h:a("h"),hh:a("h"),d:a("d"),dd:a("d"),M:a("M"),MM:a("M"),y:a("y"),yy:a("y")},preparse:function(t){return t.replace(/[١٢٣٤٥٦٧٨٩٠]/g,function(t){return n[t]}).replace(/،/g,",")},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]}).replace(/,/g,"،")},week:{dow:6,doy:12}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("af",{months:"Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember".split("_"),monthsShort:"Jan_Feb_Mrt_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des".split("_"),weekdays:"Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag".split("_"),weekdaysShort:"Son_Maa_Din_Woe_Don_Vry_Sat".split("_"),weekdaysMin:"So_Ma_Di_Wo_Do_Vr_Sa".split("_"),meridiemParse:/vm|nm/i,isPM:function(t){return/^nm$/i.test(t)},meridiem:function(t,e,n){return t<12?n?"vm":"VM":n?"nm":"NM"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Vandag om] LT",nextDay:"[Môre om] LT",nextWeek:"dddd [om] LT",lastDay:"[Gister om] LT",lastWeek:"[Laas] dddd [om] LT",sameElse:"L"},relativeTime:{future:"oor %s",past:"%s gelede",s:"'n paar sekondes",ss:"%d sekondes",m:"'n minuut",mm:"%d minute",h:"'n uur",hh:"%d ure",d:"'n dag",dd:"%d dae",M:"'n maand",MM:"%d maande",y:"'n jaar",yy:"%d jaar"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(t){return t+(1===t||8===t||t>=20?"ste":"de")},week:{dow:1,doy:4}})}(n(0))},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};e.extendDeep=function t(e){for(var n=1;n0&&t(e[r],n[r],i)})}(i.prototype,this,this)}function r(t,e){this.component=t,this.params=e||{},this.d3=t.d3,this.scale=this.d3.scaleLinear(),this.range,this.orient="bottom",this.innerTickSize=6,this.outerTickSize=this.params.withOuterTick?6:0,this.tickPadding=3,this.tickValues=null,this.tickFormat,this.tickArguments,this.tickOffset=0,this.tickCulling=!0,this.tickCentered,this.tickTextCharSize,this.tickTextRotate=this.params.tickTextRotate,this.tickLength,this.axis=this.generateAxis()}r.prototype.axisX=function(t,e,n){t.attr("transform",function(t){return"translate("+Math.ceil(e(t)+n)+", 0)"})},r.prototype.axisY=function(t,e){t.attr("transform",function(t){return"translate(0,"+Math.ceil(e(t))+")"})},r.prototype.scaleExtent=function(t){var e=t[0],n=t[t.length-1];return e0&&i[0]>0&&i.unshift(i[0]-(i[1]-i[0])),i},r.prototype.copyScale=function(){var t,e=this.scale.copy();return this.params.isCategory&&(t=this.scale.domain(),e.domain([t[0],t[1]-1])),e},r.prototype.textFormatted=function(t){var e=this.tickFormat?this.tickFormat(t):t;return void 0!==e?e:""},r.prototype.updateRange=function(){return this.range=this.scale.rangeExtent?this.scale.rangeExtent():this.scaleExtent(this.scale.range()),this.range},r.prototype.updateTickTextCharSize=function(t){var e=this;if(e.tickTextCharSize)return e.tickTextCharSize;var n={h:11.5,w:5.5};return t.select("text").text(function(t){return e.textFormatted(t)}).each(function(t){var i=this.getBoundingClientRect(),r=e.textFormatted(t),a=i.height,o=r?i.width/r.length:void 0;a&&o&&(n.h=a,n.w=o)}).text(""),e.tickTextCharSize=n,n},r.prototype.isVertical=function(){return"left"===this.orient||"right"===this.orient},r.prototype.tspanData=function(t,e,n){var i=this.params.tickMultiline?this.splitTickText(t,n):[].concat(this.textFormatted(t));return this.params.tickMultiline&&this.params.tickMultilineMax>0&&(i=this.ellipsify(i,this.params.tickMultilineMax)),i.map(function(t){return{index:e,splitted:t,length:i.length}})},r.prototype.splitTickText=function(t,e){var n,i,r,a=this,o=a.textFormatted(t),s=a.params.tickWidth;return"[object Array]"===Object.prototype.toString.call(o)?o:((!s||s<=0)&&(s=a.isVertical()?95:a.params.isCategory?Math.ceil(e(1)-e(0))-12:110),function t(e,o){i=void 0;for(var c=1;c=0;r--){var a=n[r].length;if(n[r]=n[r].substr(0,a-i).padEnd(a,"."),(i-=a)<=0)break}return n},r.prototype.updateTickLength=function(){this.tickLength=Math.max(this.innerTickSize,0)+this.tickPadding},r.prototype.lineY2=function(t){var e=this.scale(t)+(this.tickCentered?0:this.tickOffset);return this.range[0]0?1:-1):this.tickLength},r.prototype.textTransform=function(){var t=this.tickTextRotate;return t?"rotate("+t+")":""},r.prototype.textTextAnchor=function(){var t=this.tickTextRotate;return t?t>0?"start":"end":"middle"},r.prototype.tspanDx=function(){var t=this.tickTextRotate;return t?8*Math.sin(Math.PI*(t/180)):0},r.prototype.tspanDy=function(t,e){var n=this.tickTextCharSize.h;return 0===e&&(n=this.isVertical()?-((t.length-1)*(this.tickTextCharSize.h/2)-3):".71em"),n},r.prototype.generateAxis=function(){var t=this,e=t.d3,n=t.params;function i(r,a){var o;return r.each(function(){var r,s,c,u=i.g=e.select(this),d=this.__chart__||t.scale,l=this.__chart__=t.copyScale(),f=t.tickValues?t.tickValues:t.generateTicks(l),h=u.selectAll(".tick").data(f,l),p=h.enter().insert("g",".domain").attr("class","tick").style("opacity",1e-6),_=h.exit().remove(),M=h.merge(p);n.isCategory?(t.tickOffset=Math.ceil((l(1)-l(0))/2),s=t.tickCentered?0:t.tickOffset,c=t.tickCentered?t.tickOffset:0):t.tickOffset=s=0,t.updateRange(),t.updateTickLength(),t.updateTickTextCharSize(u.select(".tick"));var m=M.select("line").merge(p.append("line")),g=M.select("text").merge(p.append("text")),b=M.selectAll("text").selectAll("tspan").data(function(e,n){return t.tspanData(e,n,l)}),y=b.enter().append("tspan"),L=y.merge(b).text(function(t){return t.splitted});b.exit().remove();var A=u.selectAll(".domain").data([0]),v=A.enter().append("path").merge(A).attr("class","domain");switch(t.orient){case"bottom":r=t.axisX,m.attr("x1",s).attr("x2",s).attr("y2",function(e,n){return t.lineY2(e,n)}),g.attr("x",0).attr("y",function(e,n){return t.textY(e,n)}).attr("transform",function(e,n){return t.textTransform(e,n)}).style("text-anchor",function(e,n){return t.textTextAnchor(e,n)}),L.attr("x",0).attr("dy",function(e,n){return t.tspanDy(e,n)}).attr("dx",function(e,n){return t.tspanDx(e,n)}),v.attr("d","M"+t.range[0]+","+t.outerTickSize+"V0H"+t.range[1]+"V"+t.outerTickSize);break;case"top":r=t.axisX,m.attr("x1",s).attr("x2",s).attr("y2",function(e,n){return-1*t.lineY2(e,n)}),g.attr("x",0).attr("y",function(e,i){return-1*t.textY(e,i)-(n.isCategory?2:t.tickLength-2)}).attr("transform",function(e,n){return t.textTransform(e,n)}).style("text-anchor",function(e,n){return t.textTextAnchor(e,n)}),L.attr("x",0).attr("dy",function(e,n){return t.tspanDy(e,n)}).attr("dx",function(e,n){return t.tspanDx(e,n)}),v.attr("d","M"+t.range[0]+","+-t.outerTickSize+"V0H"+t.range[1]+"V"+-t.outerTickSize);break;case"left":r=t.axisY,m.attr("x2",-t.innerTickSize).attr("y1",c).attr("y2",c),g.attr("x",-t.tickLength).attr("y",t.tickOffset).style("text-anchor","end"),L.attr("x",-t.tickLength).attr("dy",function(e,n){return t.tspanDy(e,n)}),v.attr("d","M"+-t.outerTickSize+","+t.range[0]+"H0V"+t.range[1]+"H"+-t.outerTickSize);break;case"right":r=t.axisY,m.attr("x2",t.innerTickSize).attr("y1",c).attr("y2",c),g.attr("x",t.tickLength).attr("y",t.tickOffset).style("text-anchor","start"),L.attr("x",t.tickLength).attr("dy",function(e,n){return t.tspanDy(e,n)}),v.attr("d","M"+t.outerTickSize+","+t.range[0]+"H0V"+t.range[1]+"H"+t.outerTickSize)}if(l.rangeBand){var z=l,x=z.rangeBand()/2;d=l=function(t){return z(t)+x}}else d.rangeBand?d=l:_.call(r,l,t.tickOffset);p.call(r,d,t.tickOffset),o=(a?M.transition(a):M).style("opacity",1).call(r,l,t.tickOffset)}),o}return i.scale=function(e){return arguments.length?(t.scale=e,i):t.scale},i.orient=function(e){return arguments.length?(t.orient=e in{top:1,right:1,bottom:1,left:1}?e+"":"bottom",i):t.orient},i.tickFormat=function(e){return arguments.length?(t.tickFormat=e,i):t.tickFormat},i.tickCentered=function(e){return arguments.length?(t.tickCentered=e,i):t.tickCentered},i.tickOffset=function(){return t.tickOffset},i.tickInterval=function(){var e,r;return n.isCategory?e=2*t.tickOffset:(r=i.g.select("path.domain").node().getTotalLength()-2*t.outerTickSize,e=r/i.g.selectAll("line").size()),e===1/0?0:e},i.ticks=function(){return arguments.length?(t.tickArguments=arguments,i):t.tickArguments},i.tickCulling=function(e){return arguments.length?(t.tickCulling=e,i):t.tickCulling},i.tickValues=function(e){if("function"==typeof e)t.tickValues=function(){return e(t.scale.domain())};else{if(!arguments.length)return t.tickValues;t.tickValues=e}return i},i};var a={target:"c3-target",chart:"c3-chart",chartLine:"c3-chart-line",chartLines:"c3-chart-lines",chartBar:"c3-chart-bar",chartBars:"c3-chart-bars",chartText:"c3-chart-text",chartTexts:"c3-chart-texts",chartArc:"c3-chart-arc",chartArcs:"c3-chart-arcs",chartArcsTitle:"c3-chart-arcs-title",chartArcsBackground:"c3-chart-arcs-background",chartArcsGaugeUnit:"c3-chart-arcs-gauge-unit",chartArcsGaugeMax:"c3-chart-arcs-gauge-max",chartArcsGaugeMin:"c3-chart-arcs-gauge-min",selectedCircle:"c3-selected-circle",selectedCircles:"c3-selected-circles",eventRect:"c3-event-rect",eventRects:"c3-event-rects",eventRectsSingle:"c3-event-rects-single",eventRectsMultiple:"c3-event-rects-multiple",zoomRect:"c3-zoom-rect",brush:"c3-brush",dragZoom:"c3-drag-zoom",focused:"c3-focused",defocused:"c3-defocused",region:"c3-region",regions:"c3-regions",title:"c3-title",tooltipContainer:"c3-tooltip-container",tooltip:"c3-tooltip",tooltipName:"c3-tooltip-name",shape:"c3-shape",shapes:"c3-shapes",line:"c3-line",lines:"c3-lines",bar:"c3-bar",bars:"c3-bars",circle:"c3-circle",circles:"c3-circles",arc:"c3-arc",arcLabelLine:"c3-arc-label-line",arcs:"c3-arcs",area:"c3-area",areas:"c3-areas",empty:"c3-empty",text:"c3-text",texts:"c3-texts",gaugeValue:"c3-gauge-value",grid:"c3-grid",gridLines:"c3-grid-lines",xgrid:"c3-xgrid",xgrids:"c3-xgrids",xgridLine:"c3-xgrid-line",xgridLines:"c3-xgrid-lines",xgridFocus:"c3-xgrid-focus",ygrid:"c3-ygrid",ygrids:"c3-ygrids",ygridLine:"c3-ygrid-line",ygridLines:"c3-ygrid-lines",axis:"c3-axis",axisX:"c3-axis-x",axisXLabel:"c3-axis-x-label",axisY:"c3-axis-y",axisYLabel:"c3-axis-y-label",axisY2:"c3-axis-y2",axisY2Label:"c3-axis-y2-label",legendBackground:"c3-legend-background",legendItem:"c3-legend-item",legendItemEvent:"c3-legend-item-event",legendItemTile:"c3-legend-item-tile",legendItemHidden:"c3-legend-item-hidden",legendItemFocused:"c3-legend-item-focused",dragarea:"c3-dragarea",EXPANDED:"_expanded_",SELECTED:"_selected_",INCLUDED:"_included_"},o=function(t){return Math.ceil(t)+.5},s=function(t){return 10*Math.ceil(t/10)},c=function(t){return t[1]-t[0]},u=function(t,e,n){return f(t[e])?t[e]:n},d=function(t){var e=t.getBoundingClientRect(),n=[t.pathSegList.getItem(0),t.pathSegList.getItem(1)],i=n[0].x,r=Math.min(n[0].y,n[1].y);return{x:i,y:r,width:e.width,height:e.height}},l=function(t){return Array.isArray(t)},f=function(t){return void 0!==t},h=function(e){return void 0===e||null===e||_(e)&&0===e.length||"object"===t(e)&&0===Object.keys(e).length},p=function(t){return"function"==typeof t},_=function(t){return"string"==typeof t},M=function(t){return void 0===t},m=function(t){return t||0===t},g=function(t){return!h(t)},b=function(t){return"string"==typeof t?t.replace(//g,">"):t},y=function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.owner=e,this.d3=e.d3,this.internal=r};y.prototype.init=function(){var t=this.owner,e=t.config,n=t.main;t.axes.x=n.append("g").attr("class",a.axis+" "+a.axisX).attr("clip-path",e.axis_x_inner?"":t.clipPathForXAxis).attr("transform",t.getTranslate("x")).style("visibility",e.axis_x_show?"visible":"hidden"),t.axes.x.append("text").attr("class",a.axisXLabel).attr("transform",e.axis_rotated?"rotate(-90)":"").style("text-anchor",this.textAnchorForXAxisLabel.bind(this)),t.axes.y=n.append("g").attr("class",a.axis+" "+a.axisY).attr("clip-path",e.axis_y_inner?"":t.clipPathForYAxis).attr("transform",t.getTranslate("y")).style("visibility",e.axis_y_show?"visible":"hidden"),t.axes.y.append("text").attr("class",a.axisYLabel).attr("transform",e.axis_rotated?"":"rotate(-90)").style("text-anchor",this.textAnchorForYAxisLabel.bind(this)),t.axes.y2=n.append("g").attr("class",a.axis+" "+a.axisY2).attr("transform",t.getTranslate("y2")).style("visibility",e.axis_y2_show?"visible":"hidden"),t.axes.y2.append("text").attr("class",a.axisY2Label).attr("transform",e.axis_rotated?"":"rotate(-90)").style("text-anchor",this.textAnchorForY2AxisLabel.bind(this))},y.prototype.getXAxis=function(t,e,n,i,r,a,o){var s=this.owner,c=s.config,u={isCategory:s.isCategorized(),withOuterTick:r,tickMultiline:c.axis_x_tick_multiline,tickMultilineMax:c.axis_x_tick_multiline?Number(c.axis_x_tick_multilineMax):0,tickWidth:c.axis_x_tick_width,tickTextRotate:o?0:c.axis_x_tick_rotate,withoutTransition:a},d=new this.internal(this,u).axis.scale(t).orient(e);return s.isTimeSeries()&&i&&"function"!=typeof i&&(i=i.map(function(t){return s.parseDate(t)})),d.tickFormat(n).tickValues(i),s.isCategorized()&&(d.tickCentered(c.axis_x_tick_centered),h(c.axis_x_tick_culling)&&(c.axis_x_tick_culling=!1)),d},y.prototype.updateXAxisTickValues=function(t,e){var n,i=this.owner,r=i.config;return(r.axis_x_tick_fit||r.axis_x_tick_count)&&(n=this.generateTickValues(i.mapTargetsToUniqueXs(t),r.axis_x_tick_count,i.isTimeSeries())),e?e.tickValues(n):(i.xAxis.tickValues(n),i.subXAxis.tickValues(n)),n},y.prototype.getYAxis=function(t,e,n,i,r,a,o){var s=this.owner,c=s.config,u={withOuterTick:r,withoutTransition:a,tickTextRotate:o?0:c.axis_y_tick_rotate},d=new this.internal(this,u).axis.scale(t).orient(e).tickFormat(n);return s.isTimeSeriesY()?d.ticks(c.axis_y_tick_time_type,c.axis_y_tick_time_interval):d.tickValues(i),d},y.prototype.getId=function(t){var e=this.owner.config;return t in e.data_axes?e.data_axes[t]:"y"},y.prototype.getXAxisTickFormat=function(){var t=this.owner,e=t.config,n=t.isTimeSeries()?t.defaultAxisTimeFormat:t.isCategorized()?t.categoryName:function(t){return t};return e.axis_x_tick_format&&(p(e.axis_x_tick_format)?n=e.axis_x_tick_format:t.isTimeSeries()&&(n=function(n){return n?t.axisTimeFormat(e.axis_x_tick_format)(n):""})),p(n)?function(e){return n.call(t,e)}:n},y.prototype.getTickValues=function(t,e){return t||(e?e.tickValues():void 0)},y.prototype.getXAxisTickValues=function(){return this.getTickValues(this.owner.config.axis_x_tick_values,this.owner.xAxis)},y.prototype.getYAxisTickValues=function(){return this.getTickValues(this.owner.config.axis_y_tick_values,this.owner.yAxis)},y.prototype.getY2AxisTickValues=function(){return this.getTickValues(this.owner.config.axis_y2_tick_values,this.owner.y2Axis)},y.prototype.getLabelOptionByAxisId=function(t){var e,n=this.owner,i=n.config;return"y"===t?e=i.axis_y_label:"y2"===t?e=i.axis_y2_label:"x"===t&&(e=i.axis_x_label),e},y.prototype.getLabelText=function(t){var e=this.getLabelOptionByAxisId(t);return _(e)?e:e?e.text:null},y.prototype.setLabelText=function(t,e){var n=this.owner,i=n.config,r=this.getLabelOptionByAxisId(t);_(r)?"y"===t?i.axis_y_label=e:"y2"===t?i.axis_y2_label=e:"x"===t&&(i.axis_x_label=e):r&&(r.text=e)},y.prototype.getLabelPosition=function(e,n){var i=this.getLabelOptionByAxisId(e),r=i&&"object"===t(i)&&i.position?i.position:n;return{isInner:r.indexOf("inner")>=0,isOuter:r.indexOf("outer")>=0,isLeft:r.indexOf("left")>=0,isCenter:r.indexOf("center")>=0,isRight:r.indexOf("right")>=0,isTop:r.indexOf("top")>=0,isMiddle:r.indexOf("middle")>=0,isBottom:r.indexOf("bottom")>=0}},y.prototype.getXAxisLabelPosition=function(){return this.getLabelPosition("x",this.owner.config.axis_rotated?"inner-top":"inner-right")},y.prototype.getYAxisLabelPosition=function(){return this.getLabelPosition("y",this.owner.config.axis_rotated?"inner-right":"inner-top")},y.prototype.getY2AxisLabelPosition=function(){return this.getLabelPosition("y2",this.owner.config.axis_rotated?"inner-right":"inner-top")},y.prototype.getLabelPositionById=function(t){return"y2"===t?this.getY2AxisLabelPosition():"y"===t?this.getYAxisLabelPosition():this.getXAxisLabelPosition()},y.prototype.textForXAxisLabel=function(){return this.getLabelText("x")},y.prototype.textForYAxisLabel=function(){return this.getLabelText("y")},y.prototype.textForY2AxisLabel=function(){return this.getLabelText("y2")},y.prototype.xForAxisLabel=function(t,e){var n=this.owner;return t?e.isLeft?0:e.isCenter?n.width/2:n.width:e.isBottom?-n.height:e.isMiddle?-n.height/2:0},y.prototype.dxForAxisLabel=function(t,e){return t?e.isLeft?"0.5em":e.isRight?"-0.5em":"0":e.isTop?"-0.5em":e.isBottom?"0.5em":"0"},y.prototype.textAnchorForAxisLabel=function(t,e){return t?e.isLeft?"start":e.isCenter?"middle":"end":e.isBottom?"start":e.isMiddle?"middle":"end"},y.prototype.xForXAxisLabel=function(){return this.xForAxisLabel(!this.owner.config.axis_rotated,this.getXAxisLabelPosition())},y.prototype.xForYAxisLabel=function(){return this.xForAxisLabel(this.owner.config.axis_rotated,this.getYAxisLabelPosition())},y.prototype.xForY2AxisLabel=function(){return this.xForAxisLabel(this.owner.config.axis_rotated,this.getY2AxisLabelPosition())},y.prototype.dxForXAxisLabel=function(){return this.dxForAxisLabel(!this.owner.config.axis_rotated,this.getXAxisLabelPosition())},y.prototype.dxForYAxisLabel=function(){return this.dxForAxisLabel(this.owner.config.axis_rotated,this.getYAxisLabelPosition())},y.prototype.dxForY2AxisLabel=function(){return this.dxForAxisLabel(this.owner.config.axis_rotated,this.getY2AxisLabelPosition())},y.prototype.dyForXAxisLabel=function(){var t=this.owner,e=t.config,n=this.getXAxisLabelPosition();return e.axis_rotated?n.isInner?"1.2em":-25-(t.config.axis_x_inner?0:this.getMaxTickWidth("x")):n.isInner?"-0.5em":e.axis_x_height?e.axis_x_height-10:"3em"},y.prototype.dyForYAxisLabel=function(){var t=this.owner,e=this.getYAxisLabelPosition();return t.config.axis_rotated?e.isInner?"-0.5em":"3em":e.isInner?"1.2em":-10-(t.config.axis_y_inner?0:this.getMaxTickWidth("y")+10)},y.prototype.dyForY2AxisLabel=function(){var t=this.owner,e=this.getY2AxisLabelPosition();return t.config.axis_rotated?e.isInner?"1.2em":"-2.2em":e.isInner?"-0.5em":15+(t.config.axis_y2_inner?0:this.getMaxTickWidth("y2")+15)},y.prototype.textAnchorForXAxisLabel=function(){var t=this.owner;return this.textAnchorForAxisLabel(!t.config.axis_rotated,this.getXAxisLabelPosition())},y.prototype.textAnchorForYAxisLabel=function(){var t=this.owner;return this.textAnchorForAxisLabel(t.config.axis_rotated,this.getYAxisLabelPosition())},y.prototype.textAnchorForY2AxisLabel=function(){var t=this.owner;return this.textAnchorForAxisLabel(t.config.axis_rotated,this.getY2AxisLabelPosition())},y.prototype.getMaxTickWidth=function(t,e){var n,i,r,a,o=this.owner,s=o.config,c=0;return e&&o.currentMaxTickWidths[t]?o.currentMaxTickWidths[t]:(o.svg&&(n=o.filterTargetsToShow(o.data.targets),"y"===t?(i=o.y.copy().domain(o.getYDomain(n,"y")),r=this.getYAxis(i,o.yOrient,s.axis_y_tick_format,o.yAxisTickValues,!1,!0,!0)):"y2"===t?(i=o.y2.copy().domain(o.getYDomain(n,"y2")),r=this.getYAxis(i,o.y2Orient,s.axis_y2_tick_format,o.y2AxisTickValues,!1,!0,!0)):(i=o.x.copy().domain(o.getXDomain(n)),r=this.getXAxis(i,o.xOrient,o.xAxisTickFormat,o.xAxisTickValues,!1,!0,!0),this.updateXAxisTickValues(n,r)),(a=o.d3.select("body").append("div").classed("c3",!0)).append("svg").style("visibility","hidden").style("position","fixed").style("top",0).style("left",0).append("g").call(r).each(function(){o.d3.select(this).selectAll("text").each(function(){var t=this.getBoundingClientRect();c2){for(o=i-2,r=t[0],a=t[t.length-1],s=(a-r)/(o+1),d=[r],c=0;c=0&&E.select(this).style("display",e%k?"none":"block")})}else W.svg.selectAll("."+a.axisX+" .tick text").style("display","block");m=W.generateDrawArea?W.generateDrawArea(C,!1):void 0,g=W.generateDrawBar?W.generateDrawBar(B):void 0,b=W.generateDrawLine?W.generateDrawLine(H,!1):void 0,y=W.generateXYForText(C,B,H,!0),L=W.generateXYForText(C,B,H,!1),W.updateCircleY(),N=(W.config.axis_rotated?W.circleY:W.circleX).bind(W),q=(W.config.axis_rotated?W.circleX:W.circleY).bind(W),n&&(W.subY.domain(W.getYDomain(j,"y")),W.subY2.domain(W.getYDomain(j,"y2"))),W.updateXgridFocus(),P.select("text."+a.text+"."+a.empty).attr("x",W.width/2).attr("y",W.height/2).text(X.data_empty_label_text).transition().style("opacity",j.length?0:1),p&&W.redrawEventRect(),W.updateGrid(A),W.updateRegion(A),W.updateBar(v),W.updateLine(v),W.updateArea(v),W.updateCircle(N,q),W.hasDataLabel()&&W.updateText(y,L,v),W.redrawTitle&&W.redrawTitle(),W.redrawArc&&W.redrawArc(A,v,c),W.redrawSubchart&&W.redrawSubchart(i,e,A,v,C,B,H),P.selectAll("."+a.selectedCircles).filter(W.isBarType.bind(W)).selectAll("circle").remove(),t.flow&&(T=W.generateFlow({targets:j,flow:t.flow,duration:t.flow.duration,drawBar:g,drawLine:b,drawArea:m,cx:N,cy:q,xv:I,xForText:y,yForText:L})),W.isTabVisible()&&(A?(S=E.transition().duration(A),x=[],[W.redrawBar(g,!0,S),W.redrawLine(b,!0,S),W.redrawArea(m,!0,S),W.redrawCircle(N,q,!0,S),W.redrawText(y,L,t.flow,!0,S),W.redrawRegion(!0,S),W.redrawGrid(!0,S)].forEach(function(t){t.forEach(function(t){x.push(t)})}),w=W.generateWait(),x.forEach(function(t){w.add(t)}),w(function(){T&&T(),X.onrendered&&X.onrendered.call(W)})):(W.redrawBar(g),W.redrawLine(b),W.redrawArea(m),W.redrawCircle(N,q),W.redrawText(y,L,t.flow),W.redrawRegion(),W.redrawGrid(),T&&T(),X.onrendered&&X.onrendered.call(W))),W.mapToIds(W.data.targets).forEach(function(t){W.withoutFadeIn[t]=!0})},e.prototype.updateAndRedraw=function(t){var e,n=this,i=n.config;(t=t||{}).withTransition=u(t,"withTransition",!0),t.withTransform=u(t,"withTransform",!1),t.withLegend=u(t,"withLegend",!1),t.withUpdateXDomain=u(t,"withUpdateXDomain",!0),t.withUpdateOrgXDomain=u(t,"withUpdateOrgXDomain",!0),t.withTransitionForExit=!1,t.withTransitionForTransform=u(t,"withTransitionForTransform",t.withTransition),n.updateSizes(),t.withLegend&&i.legend_show||(e=n.axis.generateTransitions(t.withTransitionForAxis?i.transition_duration:0),n.updateScales(),n.updateSvgSize(),n.transformAll(t.withTransitionForTransform,e)),n.redraw(t,e)},e.prototype.redrawWithoutRescale=function(){this.redraw({withY:!1,withSubchart:!1,withEventRect:!1,withTransitionForAxis:!1})},e.prototype.isTimeSeries=function(){return"timeseries"===this.config.axis_x_type},e.prototype.isCategorized=function(){return this.config.axis_x_type.indexOf("categor")>=0},e.prototype.isCustomX=function(){var t=this.config;return!this.isTimeSeries()&&(t.data_x||g(t.data_xs))},e.prototype.isTimeSeriesY=function(){return"timeseries"===this.config.axis_y_type},e.prototype.getTranslate=function(t){var e,n,i=this,r=i.config;return"main"===t?(e=o(i.margin.left),n=o(i.margin.top)):"context"===t?(e=o(i.margin2.left),n=o(i.margin2.top)):"legend"===t?(e=i.margin3.left,n=i.margin3.top):"x"===t?(e=0,n=r.axis_rotated?0:i.height):"y"===t?(e=0,n=r.axis_rotated?i.height:0):"y2"===t?(e=r.axis_rotated?0:i.width,n=r.axis_rotated?1:0):"subx"===t?(e=0,n=r.axis_rotated?0:i.height2):"arc"===t&&(e=i.arcWidth/2,n=i.arcHeight/2-(i.hasType("gauge")?6:0)),"translate("+e+","+n+")"},e.prototype.initialOpacity=function(t){return null!==t.value&&this.withoutFadeIn[t.id]?1:0},e.prototype.initialOpacityForCircle=function(t){return null!==t.value&&this.withoutFadeIn[t.id]?this.opacityForCircle(t):0},e.prototype.opacityForCircle=function(t){var e=(p(this.config.point_show)?this.config.point_show(t):this.config.point_show)?1:0;return m(t.value)?this.isScatterType(t)?.5:e:0},e.prototype.opacityForText=function(){return this.hasDataLabel()?1:0},e.prototype.xx=function(t){return t?this.x(t.x):null},e.prototype.xv=function(t){var e=this,n=t.value;return e.isTimeSeries()?n=e.parseDate(t.value):e.isCategorized()&&"string"==typeof t.value&&(n=e.config.axis_x_categories.indexOf(t.value)),Math.ceil(e.x(n))},e.prototype.yv=function(t){var e=t.axis&&"y2"===t.axis?this.y2:this.y;return Math.ceil(e(t.value))},e.prototype.subxx=function(t){return t?this.subX(t.x):null},e.prototype.transformMain=function(t,e){var n,i,r,o=this;e&&e.axisX?n=e.axisX:(n=o.main.select("."+a.axisX),t&&(n=n.transition())),e&&e.axisY?i=e.axisY:(i=o.main.select("."+a.axisY),t&&(i=i.transition())),e&&e.axisY2?r=e.axisY2:(r=o.main.select("."+a.axisY2),t&&(r=r.transition())),(t?o.main.transition():o.main).attr("transform",o.getTranslate("main")),n.attr("transform",o.getTranslate("x")),i.attr("transform",o.getTranslate("y")),r.attr("transform",o.getTranslate("y2")),o.main.select("."+a.chartArcs).attr("transform",o.getTranslate("arc"))},e.prototype.transformAll=function(t,e){var n=this;n.transformMain(t,e),n.config.subchart_show&&n.transformContext(t,e),n.legend&&n.transformLegend(t)},e.prototype.updateSvgSize=function(){var t=this,e=t.svg.select(".c3-brush .overlay");t.svg.attr("width",t.currentWidth).attr("height",t.currentHeight),t.svg.selectAll(["#"+t.clipId,"#"+t.clipIdForGrid]).select("rect").attr("width",t.width).attr("height",t.height),t.svg.select("#"+t.clipIdForXAxis).select("rect").attr("x",t.getXAxisClipX.bind(t)).attr("y",t.getXAxisClipY.bind(t)).attr("width",t.getXAxisClipWidth.bind(t)).attr("height",t.getXAxisClipHeight.bind(t)),t.svg.select("#"+t.clipIdForYAxis).select("rect").attr("x",t.getYAxisClipX.bind(t)).attr("y",t.getYAxisClipY.bind(t)).attr("width",t.getYAxisClipWidth.bind(t)).attr("height",t.getYAxisClipHeight.bind(t)),t.svg.select("#"+t.clipIdForSubchart).select("rect").attr("width",t.width).attr("height",e.size()?e.attr("height"):0)},e.prototype.updateDimension=function(t){var e=this;t||(e.config.axis_rotated?(e.axes.x.call(e.xAxis),e.axes.subx.call(e.subXAxis)):(e.axes.y.call(e.yAxis),e.axes.y2.call(e.y2Axis))),e.updateSizes(),e.updateScales(),e.updateSvgSize(),e.transformAll(!1)},e.prototype.observeInserted=function(t){var e,n=this;"undefined"!=typeof MutationObserver?(e=new MutationObserver(function(i){i.forEach(function(i){"childList"===i.type&&i.previousSibling&&(e.disconnect(),n.intervalForObserveInserted=window.setInterval(function(){t.node().parentNode&&(window.clearInterval(n.intervalForObserveInserted),n.updateDimension(),n.brush&&n.brush.update(),n.config.oninit.call(n),n.redraw({withTransform:!0,withUpdateXDomain:!0,withUpdateOrgXDomain:!0,withTransition:!1,withTransitionForTransform:!1,withLegend:!0}),t.transition().style("opacity",1))},10))})})).observe(t.node(),{attributes:!0,childList:!0,characterData:!0}):window.console.error("MutationObserver not defined.")},e.prototype.bindResize=function(){var t=this,e=t.config;if(t.resizeFunction=t.generateResize(),t.resizeFunction.add(function(){e.onresize.call(t)}),e.resize_auto&&t.resizeFunction.add(function(){void 0!==t.resizeTimeout&&window.clearTimeout(t.resizeTimeout),t.resizeTimeout=window.setTimeout(function(){delete t.resizeTimeout,t.updateAndRedraw({withUpdateXDomain:!1,withUpdateOrgXDomain:!1,withTransition:!1,withTransitionForTransform:!1,withLegend:!0}),t.brush&&t.brush.update()},100)}),t.resizeFunction.add(function(){e.onresized.call(t)}),t.resizeIfElementDisplayed=function(){null!=t.api&&t.api.element.offsetParent&&t.resizeFunction()},window.attachEvent)window.attachEvent("onresize",t.resizeIfElementDisplayed);else if(window.addEventListener)window.addEventListener("resize",t.resizeIfElementDisplayed,!1);else{var n=window.onresize;n?n.add&&n.remove||(n=t.generateResize()).add(window.onresize):n=t.generateResize(),n.add(t.resizeFunction),window.onresize=function(){t.api.element.offsetParent&&n()}}},e.prototype.bindWindowFocus=function(){var t=this;this.windowFocusHandler||(this.windowFocusHandler=function(){t.redraw()},window.addEventListener("focus",this.windowFocusHandler))},e.prototype.unbindWindowFocus=function(){window.removeEventListener("focus",this.windowFocusHandler),delete this.windowFocusHandler},e.prototype.generateResize=function(){var t=[];function e(){t.forEach(function(t){t()})}return e.add=function(e){t.push(e)},e.remove=function(e){for(var n=0;ne.getTotalLength())break;n--}while(n>0);return n})),"SVGPathSegList"in window||(window.SVGPathSegList=function(t){this._pathElement=t,this._list=this._parsePath(this._pathElement.getAttribute("d")),this._mutationObserverConfig={attributes:!0,attributeFilter:["d"]},this._pathElementMutationObserver=new MutationObserver(this._updateListFromPathMutations.bind(this)),this._pathElementMutationObserver.observe(this._pathElement,this._mutationObserverConfig)},window.SVGPathSegList.prototype.classname="SVGPathSegList",Object.defineProperty(window.SVGPathSegList.prototype,"numberOfItems",{get:function(){return this._checkPathSynchronizedToList(),this._list.length},enumerable:!0}),Object.defineProperty(window.SVGPathElement.prototype,"pathSegList",{get:function(){return this._pathSegList||(this._pathSegList=new window.SVGPathSegList(this)),this._pathSegList},enumerable:!0}),Object.defineProperty(window.SVGPathElement.prototype,"normalizedPathSegList",{get:function(){return this.pathSegList},enumerable:!0}),Object.defineProperty(window.SVGPathElement.prototype,"animatedPathSegList",{get:function(){return this.pathSegList},enumerable:!0}),Object.defineProperty(window.SVGPathElement.prototype,"animatedNormalizedPathSegList",{get:function(){return this.pathSegList},enumerable:!0}),window.SVGPathSegList.prototype._checkPathSynchronizedToList=function(){this._updateListFromPathMutations(this._pathElementMutationObserver.takeRecords())},window.SVGPathSegList.prototype._updateListFromPathMutations=function(t){if(this._pathElement){var e=!1;t.forEach(function(t){"d"==t.attributeName&&(e=!0)}),e&&(this._list=this._parsePath(this._pathElement.getAttribute("d")))}},window.SVGPathSegList.prototype._writeListToPath=function(){this._pathElementMutationObserver.disconnect(),this._pathElement.setAttribute("d",window.SVGPathSegList._pathSegArrayAsString(this._list)),this._pathElementMutationObserver.observe(this._pathElement,this._mutationObserverConfig)},window.SVGPathSegList.prototype.segmentChanged=function(t){this._writeListToPath()},window.SVGPathSegList.prototype.clear=function(){this._checkPathSynchronizedToList(),this._list.forEach(function(t){t._owningPathSegList=null}),this._list=[],this._writeListToPath()},window.SVGPathSegList.prototype.initialize=function(t){return this._checkPathSynchronizedToList(),this._list=[t],t._owningPathSegList=this,this._writeListToPath(),t},window.SVGPathSegList.prototype._checkValidIndex=function(t){if(isNaN(t)||t<0||t>=this.numberOfItems)throw"INDEX_SIZE_ERR"},window.SVGPathSegList.prototype.getItem=function(t){return this._checkPathSynchronizedToList(),this._checkValidIndex(t),this._list[t]},window.SVGPathSegList.prototype.insertItemBefore=function(t,e){return this._checkPathSynchronizedToList(),e>this.numberOfItems&&(e=this.numberOfItems),t._owningPathSegList&&(t=t.clone()),this._list.splice(e,0,t),t._owningPathSegList=this,this._writeListToPath(),t},window.SVGPathSegList.prototype.replaceItem=function(t,e){return this._checkPathSynchronizedToList(),t._owningPathSegList&&(t=t.clone()),this._checkValidIndex(e),this._list[e]=t,t._owningPathSegList=this,this._writeListToPath(),t},window.SVGPathSegList.prototype.removeItem=function(t){this._checkPathSynchronizedToList(),this._checkValidIndex(t);var e=this._list[t];return this._list.splice(t,1),this._writeListToPath(),e},window.SVGPathSegList.prototype.appendItem=function(t){return this._checkPathSynchronizedToList(),t._owningPathSegList&&(t=t.clone()),this._list.push(t),t._owningPathSegList=this,this._writeListToPath(),t},window.SVGPathSegList._pathSegArrayAsString=function(t){var e="",n=!0;return t.forEach(function(t){n?(n=!1,e+=t._asPathString()):e+=" "+t._asPathString()}),e},window.SVGPathSegList.prototype._parsePath=function(t){if(!t||0==t.length)return[];var e=this,n=function(){this.pathSegList=[]};n.prototype.appendSegment=function(t){this.pathSegList.push(t)};var i=function(t){this._string=t,this._currentIndex=0,this._endIndex=this._string.length,this._previousCommand=window.SVGPathSeg.PATHSEG_UNKNOWN,this._skipOptionalSpaces()};i.prototype._isCurrentSpace=function(){var t=this._string[this._currentIndex];return t<=" "&&(" "==t||"\n"==t||"\t"==t||"\r"==t||"\f"==t)},i.prototype._skipOptionalSpaces=function(){for(;this._currentIndex="0"&&t<="9")&&e!=window.SVGPathSeg.PATHSEG_CLOSEPATH?e==window.SVGPathSeg.PATHSEG_MOVETO_ABS?window.SVGPathSeg.PATHSEG_LINETO_ABS:e==window.SVGPathSeg.PATHSEG_MOVETO_REL?window.SVGPathSeg.PATHSEG_LINETO_REL:e:window.SVGPathSeg.PATHSEG_UNKNOWN},i.prototype.initialCommandIsMoveTo=function(){if(!this.hasMoreData())return!0;var t=this.peekSegmentType();return t==window.SVGPathSeg.PATHSEG_MOVETO_ABS||t==window.SVGPathSeg.PATHSEG_MOVETO_REL},i.prototype._parseNumber=function(){var t=0,e=0,n=1,i=0,r=1,a=1,o=this._currentIndex;if(this._skipOptionalSpaces(),this._currentIndex"9")&&"."!=this._string.charAt(this._currentIndex))){for(var s=this._currentIndex;this._currentIndex="0"&&this._string.charAt(this._currentIndex)<="9";)this._currentIndex++;if(this._currentIndex!=s)for(var c=this._currentIndex-1,u=1;c>=s;)e+=u*(this._string.charAt(c--)-"0"),u*=10;if(this._currentIndex=this._endIndex||this._string.charAt(this._currentIndex)<"0"||this._string.charAt(this._currentIndex)>"9")return;for(;this._currentIndex="0"&&this._string.charAt(this._currentIndex)<="9";)n*=10,i+=(this._string.charAt(this._currentIndex)-"0")/n,this._currentIndex+=1}if(this._currentIndex!=o&&this._currentIndex+1=this._endIndex||this._string.charAt(this._currentIndex)<"0"||this._string.charAt(this._currentIndex)>"9")return;for(;this._currentIndex="0"&&this._string.charAt(this._currentIndex)<="9";)t*=10,t+=this._string.charAt(this._currentIndex)-"0",this._currentIndex++}var d=e+i;if(d*=r,t&&(d*=Math.pow(10,a*t)),o!=this._currentIndex)return this._skipOptionalSpacesOrDelimiter(),d}},i.prototype._parseArcFlag=function(){if(!(this._currentIndex>=this._endIndex)){var t=!1,e=this._string.charAt(this._currentIndex++);if("0"==e)t=!1;else{if("1"!=e)return;t=!0}return this._skipOptionalSpacesOrDelimiter(),t}},i.prototype.parseSegment=function(){var t=this._string[this._currentIndex],n=this._pathSegTypeFromChar(t);if(n==window.SVGPathSeg.PATHSEG_UNKNOWN){if(this._previousCommand==window.SVGPathSeg.PATHSEG_UNKNOWN)return null;if((n=this._nextCommandHelper(t,this._previousCommand))==window.SVGPathSeg.PATHSEG_UNKNOWN)return null}else this._currentIndex++;switch(this._previousCommand=n,n){case window.SVGPathSeg.PATHSEG_MOVETO_REL:return new window.SVGPathSegMovetoRel(e,this._parseNumber(),this._parseNumber());case window.SVGPathSeg.PATHSEG_MOVETO_ABS:return new window.SVGPathSegMovetoAbs(e,this._parseNumber(),this._parseNumber());case window.SVGPathSeg.PATHSEG_LINETO_REL:return new window.SVGPathSegLinetoRel(e,this._parseNumber(),this._parseNumber());case window.SVGPathSeg.PATHSEG_LINETO_ABS:return new window.SVGPathSegLinetoAbs(e,this._parseNumber(),this._parseNumber());case window.SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_REL:return new window.SVGPathSegLinetoHorizontalRel(e,this._parseNumber());case window.SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_ABS:return new window.SVGPathSegLinetoHorizontalAbs(e,this._parseNumber());case window.SVGPathSeg.PATHSEG_LINETO_VERTICAL_REL:return new window.SVGPathSegLinetoVerticalRel(e,this._parseNumber());case window.SVGPathSeg.PATHSEG_LINETO_VERTICAL_ABS:return new window.SVGPathSegLinetoVerticalAbs(e,this._parseNumber());case window.SVGPathSeg.PATHSEG_CLOSEPATH:return this._skipOptionalSpaces(),new window.SVGPathSegClosePath(e);case window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_REL:var i={x1:this._parseNumber(),y1:this._parseNumber(),x2:this._parseNumber(),y2:this._parseNumber(),x:this._parseNumber(),y:this._parseNumber()};return new window.SVGPathSegCurvetoCubicRel(e,i.x,i.y,i.x1,i.y1,i.x2,i.y2);case window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_ABS:return i={x1:this._parseNumber(),y1:this._parseNumber(),x2:this._parseNumber(),y2:this._parseNumber(),x:this._parseNumber(),y:this._parseNumber()},new window.SVGPathSegCurvetoCubicAbs(e,i.x,i.y,i.x1,i.y1,i.x2,i.y2);case window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_REL:return i={x2:this._parseNumber(),y2:this._parseNumber(),x:this._parseNumber(),y:this._parseNumber()},new window.SVGPathSegCurvetoCubicSmoothRel(e,i.x,i.y,i.x2,i.y2);case window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_ABS:return i={x2:this._parseNumber(),y2:this._parseNumber(),x:this._parseNumber(),y:this._parseNumber()},new window.SVGPathSegCurvetoCubicSmoothAbs(e,i.x,i.y,i.x2,i.y2);case window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_REL:return i={x1:this._parseNumber(),y1:this._parseNumber(),x:this._parseNumber(),y:this._parseNumber()},new window.SVGPathSegCurvetoQuadraticRel(e,i.x,i.y,i.x1,i.y1);case window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_ABS:return i={x1:this._parseNumber(),y1:this._parseNumber(),x:this._parseNumber(),y:this._parseNumber()},new window.SVGPathSegCurvetoQuadraticAbs(e,i.x,i.y,i.x1,i.y1);case window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL:return new window.SVGPathSegCurvetoQuadraticSmoothRel(e,this._parseNumber(),this._parseNumber());case window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS:return new window.SVGPathSegCurvetoQuadraticSmoothAbs(e,this._parseNumber(),this._parseNumber());case window.SVGPathSeg.PATHSEG_ARC_REL:return i={x1:this._parseNumber(),y1:this._parseNumber(),arcAngle:this._parseNumber(),arcLarge:this._parseArcFlag(),arcSweep:this._parseArcFlag(),x:this._parseNumber(),y:this._parseNumber()},new window.SVGPathSegArcRel(e,i.x,i.y,i.x1,i.y1,i.arcAngle,i.arcLarge,i.arcSweep);case window.SVGPathSeg.PATHSEG_ARC_ABS:return i={x1:this._parseNumber(),y1:this._parseNumber(),arcAngle:this._parseNumber(),arcLarge:this._parseArcFlag(),arcSweep:this._parseArcFlag(),x:this._parseNumber(),y:this._parseNumber()},new window.SVGPathSegArcAbs(e,i.x,i.y,i.x1,i.y1,i.arcAngle,i.arcLarge,i.arcSweep);default:throw"Unknown path seg type."}};var r=new n,a=new i(t);if(!a.initialCommandIsMoveTo())return[];for(;a.hasMoreData();){var o=a.parseSegment();if(!o)return[];r.appendSegment(o)}return r.pathSegList}),String.prototype.padEnd||(String.prototype.padEnd=function(t,e){return t>>=0,e=String(void 0!==e?e:" "),this.length>t?String(this):((t-=this.length)>e.length&&(e+=e.repeat(t/e.length)),String(this)+e.slice(0,t))}),i.prototype.axis=function(){},i.prototype.axis.labels=function(t){var e=this.internal;arguments.length&&(Object.keys(t).forEach(function(n){e.axis.setLabelText(n,t[n])}),e.axis.updateLabels())},i.prototype.axis.max=function(e){var n=this.internal,i=n.config;if(!arguments.length)return{x:i.axis_x_max,y:i.axis_y_max,y2:i.axis_y2_max};"object"===t(e)?(m(e.x)&&(i.axis_x_max=e.x),m(e.y)&&(i.axis_y_max=e.y),m(e.y2)&&(i.axis_y2_max=e.y2)):i.axis_y_max=i.axis_y2_max=e,n.redraw({withUpdateOrgXDomain:!0,withUpdateXDomain:!0})},i.prototype.axis.min=function(e){var n=this.internal,i=n.config;if(!arguments.length)return{x:i.axis_x_min,y:i.axis_y_min,y2:i.axis_y2_min};"object"===t(e)?(m(e.x)&&(i.axis_x_min=e.x),m(e.y)&&(i.axis_y_min=e.y),m(e.y2)&&(i.axis_y2_min=e.y2)):i.axis_y_min=i.axis_y2_min=e,n.redraw({withUpdateOrgXDomain:!0,withUpdateXDomain:!0})},i.prototype.axis.range=function(t){if(!arguments.length)return{max:this.axis.max(),min:this.axis.min()};f(t.max)&&this.axis.max(t.max),f(t.min)&&this.axis.min(t.min)},i.prototype.category=function(t,e){var n=this.internal,i=n.config;return arguments.length>1&&(i.axis_x_categories[t]=e,n.redraw()),i.axis_x_categories[t]},i.prototype.categories=function(t){var e=this.internal,n=e.config;return arguments.length?(n.axis_x_categories=t,e.redraw(),n.axis_x_categories):n.axis_x_categories},i.prototype.resize=function(t){var e=this.internal.config;e.size_width=t?t.width:null,e.size_height=t?t.height:null,this.flush()},i.prototype.flush=function(){this.internal.updateAndRedraw({withLegend:!0,withTransition:!1,withTransitionForTransform:!1})},i.prototype.destroy=function(){var t=this.internal;if(window.clearInterval(t.intervalForObserveInserted),void 0!==t.resizeTimeout&&window.clearTimeout(t.resizeTimeout),window.detachEvent)window.detachEvent("onresize",t.resizeIfElementDisplayed);else if(window.removeEventListener)window.removeEventListener("resize",t.resizeIfElementDisplayed);else{var e=window.onresize;e&&e.add&&e.remove&&e.remove(t.resizeFunction)}return t.resizeFunction.remove(),t.unbindWindowFocus(),t.selectChart.classed("c3",!1).html(""),Object.keys(t).forEach(function(e){t[e]=null}),null},i.prototype.color=function(t){return this.internal.color(t)},i.prototype.data=function(t){var e=this.internal.data.targets;return void 0===t?e:e.filter(function(e){return[].concat(t).indexOf(e.id)>=0})},i.prototype.data.shown=function(t){return this.internal.filterTargetsToShow(this.data(t))},i.prototype.data.values=function(t){var e,n=null;return t&&(n=(e=this.data(t))[0]?e[0].values.map(function(t){return t.value}):null),n},i.prototype.data.names=function(t){return this.internal.clearLegendItemTextBoxCache(),this.internal.updateDataAttributes("names",t)},i.prototype.data.colors=function(t){return this.internal.updateDataAttributes("colors",t)},i.prototype.data.axes=function(t){return this.internal.updateDataAttributes("axes",t)},i.prototype.flow=function(t){var e,n,i,r,a,o,s,c=this.internal,u=[],d=c.getMaxDataCount(),l=0,h=0;if(t.json)n=c.convertJsonToData(t.json,t.keys);else if(t.rows)n=c.convertRowsToData(t.rows);else{if(!t.columns)return;n=c.convertColumnsToData(t.columns)}e=c.convertDataToTargets(n,!0),c.data.targets.forEach(function(t){var n,i,r=!1;for(n=0;n1?r.values[r.values.length-1].x-a.x:a.x-c.getXDomain(c.data.targets)[0]:1,i=[a.x-o,a.x],c.updateXDomain(null,!0,!0,!1,i)),c.updateTargets(c.data.targets),c.redraw({flow:{index:a.index,length:l,duration:m(t.duration)?t.duration:c.config.transition_duration,done:t.done,orgDataCount:d},withLegend:!0,withTransition:d>1,withTrimXDomain:!1,withUpdateXAxis:!0})},e.prototype.generateFlow=function(t){var e=this,n=e.config,i=e.d3;return function(){var r,o,s,u,d,l,f,h,p,_,M,m=t.targets,g=t.flow,b=t.drawBar,y=t.drawLine,L=t.drawArea,A=t.cx,v=t.cy,z=t.xv,x=t.xForText,w=t.yForText,T=t.duration,S=g.index,O=g.length,Y=e.getValueOnIndex(e.data.targets[0].values,S),k=e.getValueOnIndex(e.data.targets[0].values,S+O),D=e.x.domain(),N=g.duration||T,q=g.done||function(){},W=e.generateWait();e.flowing=!0,e.data.targets.forEach(function(t){t.values.splice(0,O)}),s=e.updateXDomain(m,!0,!0),e.updateXGrid&&e.updateXGrid(!0),u=e.xgrid||i.selectAll([]),d=e.xgridLines||i.selectAll([]),l=e.mainRegion||i.selectAll([]),f=e.mainText||i.selectAll([]),h=e.mainBar||i.selectAll([]),p=e.mainLine||i.selectAll([]),_=e.mainArea||i.selectAll([]),M=e.mainCircle||i.selectAll([]),g.orgDataCount?r=1===g.orgDataCount||(Y&&Y.x)===(k&&k.x)?e.x(D[0])-e.x(s[0]):e.isTimeSeries()?e.x(D[0])-e.x(s[0]):e.x(Y.x)-e.x(k.x):1!==e.data.targets[0].values.length?r=e.x(D[0])-e.x(s[0]):e.isTimeSeries()?(Y=e.getValueOnIndex(e.data.targets[0].values,0),k=e.getValueOnIndex(e.data.targets[0].values,e.data.targets[0].values.length-1),r=e.x(Y.x)-e.x(k.x)):r=c(s)/2,o="translate("+r+",0) scale("+c(D)/c(s)+",1)",e.hideXGridFocus();var P=i.transition().ease(i.easeLinear).duration(N);W.add(e.xAxis(e.axes.x,P)),W.add(h.transition(P).attr("transform",o)),W.add(p.transition(P).attr("transform",o)),W.add(_.transition(P).attr("transform",o)),W.add(M.transition(P).attr("transform",o)),W.add(f.transition(P).attr("transform",o)),W.add(l.filter(e.isRegionOnX).transition(P).attr("transform",o)),W.add(u.transition(P).attr("transform",o)),W.add(d.transition(P).attr("transform",o)),W(function(){var t,i=[],r=[];if(O){for(t=0;t=0&&(e=!0)}),!e)}),o.regions},i.prototype.selected=function(t){var e=this.internal,n=e.d3;return n.merge(e.main.selectAll("."+a.shapes+e.getTargetSelectorSuffix(t)).selectAll("."+a.shape).filter(function(){return n.select(this).classed(a.SELECTED)}).map(function(t){return t.map(function(t){var e=t.__data__;return e.data?e.data:e})}))},i.prototype.select=function(t,e,n){var i=this.internal,r=i.d3,o=i.config;o.data_selection_enabled&&i.main.selectAll("."+a.shapes).selectAll("."+a.shape).each(function(s,c){var u=r.select(this),d=s.data?s.data.id:s.id,l=i.getToggle(this,s).bind(i),h=o.data_selection_grouped||!t||t.indexOf(d)>=0,p=!e||e.indexOf(c)>=0,_=u.classed(a.SELECTED);u.classed(a.line)||u.classed(a.area)||(h&&p?o.data_selection_isselectable(s)&&!_&&l(!0,u.classed(a.SELECTED,!0),s,c):f(n)&&n&&_&&l(!1,u.classed(a.SELECTED,!1),s,c))})},i.prototype.unselect=function(t,e){var n=this.internal,i=n.d3,r=n.config;r.data_selection_enabled&&n.main.selectAll("."+a.shapes).selectAll("."+a.shape).each(function(o,s){var c=i.select(this),u=o.data?o.data.id:o.id,d=n.getToggle(this,o).bind(n),l=r.data_selection_grouped||!t||t.indexOf(u)>=0,f=!e||e.indexOf(s)>=0,h=c.classed(a.SELECTED);c.classed(a.line)||c.classed(a.area)||l&&f&&r.data_selection_isselectable(o)&&h&&d(!1,c.classed(a.SELECTED,!1),o,s)})},i.prototype.show=function(t,e){var n,i=this.internal;t=i.mapToTargetIds(t),e=e||{},i.removeHiddenTargetIds(t),(n=i.svg.selectAll(i.selectorTargets(t))).transition().style("display","initial","important").style("opacity",1,"important").call(i.endall,function(){n.style("opacity",null).style("opacity",1)}),e.withLegend&&i.showLegend(t),i.redraw({withUpdateOrgXDomain:!0,withUpdateXDomain:!0,withLegend:!0})},i.prototype.hide=function(t,e){var n,i=this.internal;t=i.mapToTargetIds(t),e=e||{},i.addHiddenTargetIds(t),(n=i.svg.selectAll(i.selectorTargets(t))).transition().style("opacity",0,"important").call(i.endall,function(){n.style("opacity",null).style("opacity",0),n.style("display","none")}),e.withLegend&&i.hideLegend(t),i.redraw({withUpdateOrgXDomain:!0,withUpdateXDomain:!0,withLegend:!0})},i.prototype.toggle=function(t,e){var n=this,i=this.internal;i.mapToTargetIds(t).forEach(function(t){i.isTargetToShow(t)?n.hide(t,e):n.show(t,e)})},i.prototype.tooltip=function(){},i.prototype.tooltip.show=function(t){var e,n,i=this.internal,r={};t.mouse?r=t.mouse:(t.data?n=t.data:void 0!==t.x&&(e=t.id?i.data.targets.filter(function(e){return e.id===t.id}):i.data.targets,n=i.filterByX(e,t.x).slice(0,1)[0]),r=n?i.getMousePosition(n):null),i.dispatchEvent("mousemove",r),i.config.tooltip_onshow.call(i,n)},i.prototype.tooltip.hide=function(){this.internal.dispatchEvent("mouseout",0),this.internal.config.tooltip_onhide.call(this)},i.prototype.transform=function(t,e){var n=this.internal,i=["pie","donut"].indexOf(t)>=0?{withTransform:!0}:null;n.transformTo(e,t,i)},e.prototype.transformTo=function(t,e,n){var i=this,r=!i.hasArcType(),a=n||{withTransitionForAxis:r};a.withTransitionForTransform=!1,i.transiting=!1,i.setTargetType(t,e),i.updateTargets(i.data.targets),i.updateAndRedraw(a)},i.prototype.x=function(t){var e=this.internal;return arguments.length&&(e.updateTargetX(e.data.targets,t),e.redraw({withUpdateOrgXDomain:!0,withUpdateXDomain:!0})),e.data.xs},i.prototype.xs=function(t){var e=this.internal;return arguments.length&&(e.updateTargetXs(e.data.targets,t),e.redraw({withUpdateOrgXDomain:!0,withUpdateXDomain:!0})),e.data.xs},i.prototype.zoom=function(t){var e=this.internal;return t?(e.isTimeSeries()&&(t=t.map(function(t){return e.parseDate(t)})),e.config.subchart_show?e.brush.selectionAsValue(t,!0):(e.updateXDomain(null,!0,!1,!1,t),e.redraw({withY:e.config.zoom_rescale,withSubchart:!1})),e.config.zoom_onzoom.call(this,e.x.orgDomain()),t):e.x.domain()},i.prototype.zoom.enable=function(t){var e=this.internal;e.config.zoom_enabled=t,e.updateAndRedraw()},i.prototype.unzoom=function(){var t=this.internal;t.config.subchart_show?t.brush.clear():(t.updateXDomain(null,!0,!1,!1,t.subX.domain()),t.redraw({withY:t.config.zoom_rescale,withSubchart:!1}))},i.prototype.zoom.max=function(t){var e=this.internal,n=e.config,i=e.d3;if(0!==t&&!t)return n.zoom_x_max;n.zoom_x_max=i.max([e.orgXDomain[1],t])},i.prototype.zoom.min=function(t){var e=this.internal,n=e.config,i=e.d3;if(0!==t&&!t)return n.zoom_x_min;n.zoom_x_min=i.min([e.orgXDomain[0],t])},i.prototype.zoom.range=function(t){if(!arguments.length)return{max:this.domain.max(),min:this.domain.min()};f(t.max)&&this.domain.max(t.max),f(t.min)&&this.domain.min(t.min)},e.prototype.initPie=function(){var t=this,e=t.d3;t.pie=e.pie().value(function(t){return t.values.reduce(function(t,e){return t+e.value},0)});var n=t.getOrderFunction();if(n&&(t.isOrderAsc()||t.isOrderDesc())){var i=n;n=function(t,e){return-1*i(t,e)}}t.pie.sort(n||null)},e.prototype.updateRadius=function(){var t=this,e=t.config,n=e.gauge_width||e.donut_width,i=t.filterTargetsToShow(t.data.targets).length*t.config.gauge_arcs_minWidth;t.radiusExpanded=Math.min(t.arcWidth,t.arcHeight)/2*(t.hasType("gauge")?.85:1),t.radius=.95*t.radiusExpanded,t.innerRadiusRatio=n?(t.radius-n)/t.radius:.6,t.innerRadius=t.hasType("donut")||t.hasType("gauge")?t.radius*t.innerRadiusRatio:0,t.gaugeArcWidth=n||(i<=t.radius-t.innerRadius?t.radius-t.innerRadius:i<=t.radius?i:t.radius)},e.prototype.updateArc=function(){var t=this;t.svgArc=t.getSvgArc(),t.svgArcExpanded=t.getSvgArcExpanded(),t.svgArcExpandedSub=t.getSvgArcExpanded(.98)},e.prototype.updateAngle=function(t){var e,n,i,r,a=this,o=a.config,s=!1,c=0;return o?(a.pie(a.filterTargetsToShow(a.data.targets)).forEach(function(e){s||e.data.id!==t.data.id||(s=!0,(t=e).index=c),c++}),isNaN(t.startAngle)&&(t.startAngle=0),isNaN(t.endAngle)&&(t.endAngle=t.startAngle),a.isGaugeType(t.data)&&(e=o.gauge_min,n=o.gauge_max,i=Math.PI*(o.gauge_fullCircle?2:1)/(n-e),r=t.value.375?1.175-36/o.radius:.8)*o.radius/r:0)+","+i*a+")";else if(c&&d&&o.filterTargetsToShow(o.data.targets).length>1){var l=Math.sin(c.endAngle-Math.PI/2);u="translate("+(n=Math.cos(c.endAngle-Math.PI/2)*(o.radiusExpanded+25))+","+(i=l*(o.radiusExpanded+15-Math.abs(10*l))+3)+")"}return u},e.prototype.getArcRatio=function(t){var e=this.config,n=Math.PI*(this.hasType("gauge")&&!e.gauge_fullCircle?1:2);return t?(t.endAngle-t.startAngle)/n:null},e.prototype.convertToArcData=function(t){return this.addName({id:t.data.id,value:t.value,ratio:this.getArcRatio(t),index:t.index})},e.prototype.textForArcLabel=function(t){var e,n,i,r,a,o=this;return o.shouldShowArcLabel()?(n=(e=o.updateAngle(t))?e.value:null,i=o.getArcRatio(e),r=t.data.id,o.hasType("gauge")||o.meetsArcLabelThreshold(i)?(a=o.getArcLabelFormat())?a(n,i,r):o.defaultArcValueFormat(n,i):""):""},e.prototype.textForGaugeMinMax=function(t,e){var n=this.getGaugeLabelExtents();return n?n(t,e):t},e.prototype.expandArc=function(t){var e,n=this;n.transiting?e=window.setInterval(function(){n.transiting||(window.clearInterval(e),n.legend.selectAll(".c3-legend-item-focused").size()>0&&n.expandArc(t))},10):(t=n.mapToTargetIds(t),n.svg.selectAll(n.selectorTargets(t,"."+a.chartArc)).each(function(t){n.shouldExpand(t.data.id)&&n.d3.select(this).selectAll("path").transition().duration(n.expandDuration(t.data.id)).attr("d",n.svgArcExpanded).transition().duration(2*n.expandDuration(t.data.id)).attr("d",n.svgArcExpandedSub).each(function(t){n.isDonutType(t.data)})}))},e.prototype.unexpandArc=function(t){var e=this;e.transiting||(t=e.mapToTargetIds(t),e.svg.selectAll(e.selectorTargets(t,"."+a.chartArc)).selectAll("path").transition().duration(function(t){return e.expandDuration(t.data.id)}).attr("d",e.svgArc),e.svg.selectAll("."+a.arc))},e.prototype.expandDuration=function(t){var e=this.config;return this.isDonutType(t)?e.donut_expand_duration:this.isGaugeType(t)?e.gauge_expand_duration:this.isPieType(t)?e.pie_expand_duration:50},e.prototype.shouldExpand=function(t){var e=this.config;return this.isDonutType(t)&&e.donut_expand||this.isGaugeType(t)&&e.gauge_expand||this.isPieType(t)&&e.pie_expand},e.prototype.shouldShowArcLabel=function(){var t=this.config,e=!0;return this.hasType("donut")?e=t.donut_label_show:this.hasType("pie")&&(e=t.pie_label_show),e},e.prototype.meetsArcLabelThreshold=function(t){var e=this.config;return t>=(this.hasType("donut")?e.donut_label_threshold:e.pie_label_threshold)},e.prototype.getArcLabelFormat=function(){var t=this.config,e=t.pie_label_format;return this.hasType("gauge")?e=t.gauge_label_format:this.hasType("donut")&&(e=t.donut_label_format),e},e.prototype.getGaugeLabelExtents=function(){return this.config.gauge_label_extents},e.prototype.getArcTitle=function(){return this.hasType("donut")?this.config.donut_title:""},e.prototype.updateTargetsForArc=function(t){var e,n=this,i=n.main,r=n.classChartArc.bind(n),o=n.classArcs.bind(n),s=n.classFocus.bind(n);(e=i.select("."+a.chartArcs).selectAll("."+a.chartArc).data(n.pie(t)).attr("class",function(t){return r(t)+s(t.data)}).enter().append("g").attr("class",r)).append("g").attr("class",o),e.append("text").attr("dy",n.hasType("gauge")?"-.1em":".35em").style("opacity",0).style("text-anchor","middle").style("pointer-events","none")},e.prototype.initArc=function(){var t=this;t.arcs=t.main.select("."+a.chart).append("g").attr("class",a.chartArcs).attr("transform",t.getTranslate("arc")),t.arcs.append("text").attr("class",a.chartArcsTitle).style("text-anchor","middle").text(t.getArcTitle())},e.prototype.redrawArc=function(t,e,n){var i,r,o,s,c=this,u=c.d3,d=c.config,l=c.main,f=c.hasType("gauge");if(r=(i=l.selectAll("."+a.arcs).selectAll("."+a.arc).data(c.arcData.bind(c))).enter().append("path").attr("class",c.classArc.bind(c)).style("fill",function(t){return c.color(t.data)}).style("cursor",function(t){return d.interaction_enabled&&d.data_selection_isselectable(t)?"pointer":null}).each(function(t){c.isGaugeType(t.data)&&(t.startAngle=t.endAngle=d.gauge_startingAngle),this._current=t}).merge(i),f&&(s=(o=l.selectAll("."+a.arcs).selectAll("."+a.arcLabelLine).data(c.arcData.bind(c))).enter().append("rect").attr("class",function(t){return a.arcLabelLine+" "+a.target+" "+a.target+"-"+t.data.id}).merge(o),1===c.filterTargetsToShow(c.data.targets).length?s.style("display","none"):s.style("fill",function(t){return c.levelColor?c.levelColor(t.data.values[0].value):c.color(t.data)}).style("display",d.gauge_labelLine_show?"":"none").each(function(t){var e=0,n=0,i=0,r="";if(c.hiddenTargetIds.indexOf(t.data.id)<0){var a=c.updateAngle(t),o=c.gaugeArcWidth/c.filterTargetsToShow(c.data.targets).length*(a.index+1),s=a.endAngle-Math.PI/2,d=c.radius-o,l=s-(0===d?0:1/d);e=c.radiusExpanded-c.radius+o,n=Math.cos(l)*d,i=Math.sin(l)*d,r="rotate("+180*s/Math.PI+", "+n+", "+i+")"}u.select(this).attr("x",n).attr("y",i).attr("width",e).attr("height",2).attr("transform",r).style("stroke-dasharray","0, "+(e+2)+", 0")})),r.attr("transform",function(t){return!c.isGaugeType(t.data)&&n?"scale(0)":""}).on("mouseover",d.interaction_enabled?function(t){var e,n;c.transiting||(e=c.updateAngle(t))&&(n=c.convertToArcData(e),c.expandArc(e.data.id),c.api.focus(e.data.id),c.toggleFocusLegend(e.data.id,!0),c.config.data_onmouseover(n,this))}:null).on("mousemove",d.interaction_enabled?function(t){var e,n=c.updateAngle(t);n&&(e=[c.convertToArcData(n)],c.showTooltip(e,this))}:null).on("mouseout",d.interaction_enabled?function(t){var e,n;c.transiting||(e=c.updateAngle(t))&&(n=c.convertToArcData(e),c.unexpandArc(e.data.id),c.api.revert(),c.revertLegend(),c.hideTooltip(),c.config.data_onmouseout(n,this))}:null).on("click",d.interaction_enabled?function(t,e){var n,i=c.updateAngle(t);i&&(n=c.convertToArcData(i),c.toggleShape&&c.toggleShape(this,n,e),c.config.data_onclick.call(c.api,n,this))}:null).each(function(){c.transiting=!0}).transition().duration(t).attrTween("d",function(t){var e,n=c.updateAngle(t);return n?(isNaN(this._current.startAngle)&&(this._current.startAngle=0),isNaN(this._current.endAngle)&&(this._current.endAngle=this._current.startAngle),e=u.interpolate(this._current,n),this._current=e(0),function(n){var i=e(n);return i.data=t.data,c.getArc(i,!0)}):function(){return"M 0 0"}}).attr("transform",n?"scale(1)":"").style("fill",function(t){return c.levelColor?c.levelColor(t.data.values[0].value):c.color(t.data.id)}).call(c.endall,function(){c.transiting=!1}),i.exit().transition().duration(e).style("opacity",0).remove(),l.selectAll("."+a.chartArc).select("text").style("opacity",0).attr("class",function(t){return c.isGaugeType(t.data)?a.gaugeValue:""}).text(c.textForArcLabel.bind(c)).attr("transform",c.transformForArcLabel.bind(c)).style("font-size",function(t){return c.isGaugeType(t.data)&&1===c.filterTargetsToShow(c.data.targets).length?Math.round(c.radius/5)+"px":""}).transition().duration(t).style("opacity",function(t){return c.isTargetToShow(t.data.id)&&c.isArcType(t.data)?1:0}),l.select("."+a.chartArcsTitle).style("opacity",c.hasType("donut")||f?1:0),f){var h=0,p=c.arcs.select("g."+a.chartArcsBackground).selectAll("path."+a.chartArcsBackground).data(c.data.targets);p.enter().append("path").attr("class",function(t,e){return a.chartArcsBackground+" "+a.chartArcsBackground+"-"+e}).merge(p).attr("d",function(t){if(c.hiddenTargetIds.indexOf(t.id)>=0)return"M 0 0";var e={data:[{value:d.gauge_max}],startAngle:d.gauge_startingAngle,endAngle:-1*d.gauge_startingAngle*(d.gauge_fullCircle?Math.PI:1),index:h++};return c.getArc(e,!0,!0)}),p.exit().remove(),c.arcs.select("."+a.chartArcsGaugeUnit).attr("dy",".75em").text(d.gauge_label_show?d.gauge_units:""),c.arcs.select("."+a.chartArcsGaugeMin).attr("dx",-1*(c.innerRadius+(c.radius-c.innerRadius)/(d.gauge_fullCircle?1:2))+"px").attr("dy","1.2em").text(d.gauge_label_show?c.textForGaugeMinMax(d.gauge_min,!1):""),c.arcs.select("."+a.chartArcsGaugeMax).attr("dx",c.innerRadius+(c.radius-c.innerRadius)/(d.gauge_fullCircle?1:2)+"px").attr("dy","1.2em").text(d.gauge_label_show?c.textForGaugeMinMax(d.gauge_max,!0):"")}},e.prototype.initGauge=function(){var t=this.arcs;this.hasType("gauge")&&(t.append("g").attr("class",a.chartArcsBackground),t.append("text").attr("class",a.chartArcsGaugeUnit).style("text-anchor","middle").style("pointer-events","none"),t.append("text").attr("class",a.chartArcsGaugeMin).style("text-anchor","middle").style("pointer-events","none"),t.append("text").attr("class",a.chartArcsGaugeMax).style("text-anchor","middle").style("pointer-events","none"))},e.prototype.getGaugeLabelHeight=function(){return this.config.gauge_label_show?20:0},e.prototype.hasCaches=function(t){for(var e=0;e=0?a.focused:"")},e.prototype.classDefocused=function(t){return" "+(this.defocusedTargetIds.indexOf(t.id)>=0?a.defocused:"")},e.prototype.classChartText=function(t){return a.chartText+this.classTarget(t.id)},e.prototype.classChartLine=function(t){return a.chartLine+this.classTarget(t.id)},e.prototype.classChartBar=function(t){return a.chartBar+this.classTarget(t.id)},e.prototype.classChartArc=function(t){return a.chartArc+this.classTarget(t.data.id)},e.prototype.getTargetSelectorSuffix=function(t){return this.generateTargetClass(t).replace(/([?!@#$%^&*()_=+,.<>'":;\[\]\/|~`{}\\])/g,"\\$1")},e.prototype.selectorTarget=function(t,e){return(e||"")+"."+a.target+this.getTargetSelectorSuffix(t)},e.prototype.selectorTargets=function(t,e){var n=this;return(t=t||[]).length?t.map(function(t){return n.selectorTarget(t,e)}):null},e.prototype.selectorLegend=function(t){return"."+a.legendItem+this.getTargetSelectorSuffix(t)},e.prototype.selectorLegends=function(t){var e=this;return t&&t.length?t.map(function(t){return e.selectorLegend(t)}):null},e.prototype.getClipPath=function(t){return"url("+(window.navigator.appVersion.toLowerCase().indexOf("msie 9.")>=0?"":document.URL.split("#")[0])+"#"+t+")"},e.prototype.appendClip=function(t,e){return t.append("clipPath").attr("id",e).append("rect")},e.prototype.getAxisClipX=function(t){var e=Math.max(30,this.margin.left);return t?-(1+e):-(e-1)},e.prototype.getAxisClipY=function(t){return t?-20:-this.margin.top},e.prototype.getXAxisClipX=function(){return this.getAxisClipX(!this.config.axis_rotated)},e.prototype.getXAxisClipY=function(){return this.getAxisClipY(!this.config.axis_rotated)},e.prototype.getYAxisClipX=function(){return this.config.axis_y_inner?-1:this.getAxisClipX(this.config.axis_rotated)},e.prototype.getYAxisClipY=function(){return this.getAxisClipY(this.config.axis_rotated)},e.prototype.getAxisClipWidth=function(t){var e=Math.max(30,this.margin.left),n=Math.max(30,this.margin.right);return t?this.width+2+e+n:this.margin.left+20},e.prototype.getAxisClipHeight=function(t){return(t?this.margin.bottom:this.margin.top+this.height)+20},e.prototype.getXAxisClipWidth=function(){return this.getAxisClipWidth(!this.config.axis_rotated)},e.prototype.getXAxisClipHeight=function(){return this.getAxisClipHeight(!this.config.axis_rotated)},e.prototype.getYAxisClipWidth=function(){return this.getAxisClipWidth(this.config.axis_rotated)+(this.config.axis_y_inner?20:0)},e.prototype.getYAxisClipHeight=function(){return this.getAxisClipHeight(this.config.axis_rotated)},e.prototype.generateColor=function(){var t=this.config,e=this.d3,n=t.data_colors,i=g(t.color_pattern)?t.color_pattern:e.schemeCategory10,r=t.data_color,a=[];return function(t){var e,o=t.id||t.data&&t.data.id||t;return n[o]instanceof Function?e=n[o](t):n[o]?e=n[o]:(a.indexOf(o)<0&&a.push(o),e=i[a.indexOf(o)%i.length],n[o]=e),r instanceof Function?r(e,t):e}},e.prototype.generateLevelColor=function(){var t=this.config,e=t.color_pattern,n=t.color_threshold,i="value"===n.unit,r=n.values&&n.values.length?n.values:[],a=n.max||100;return g(n)&&g(e)?function(t){var n,o=e[e.length-1];for(n=0;n=0?o.data.xs[n]=(e&&o.data.xs[n]?o.data.xs[n]:[]).concat(t.map(function(t){return t[i]}).filter(m).map(function(t,e){return o.generateTargetX(t,n,e)})):s.data_x?o.data.xs[n]=o.getOtherTargetXs():g(s.data_xs)&&(o.data.xs[n]=o.getXValuesOfXKey(i,o.data.targets)):o.data.xs[n]=t.map(function(t,e){return e})}),i.forEach(function(t){if(!o.data.xs[t])throw new Error('x is not defined for id = "'+t+'".')}),(n=i.map(function(e,n){var i=s.data_idConverter(e);return{id:i,id_org:e,values:t.map(function(t,r){var a,c=t[o.getXKey(e)],u=null===t[e]||isNaN(t[e])?null:+t[e];return o.isCustomX()&&o.isCategorized()&&!M(c)?(0===n&&0===r&&(s.axis_x_categories=[]),-1===(a=s.axis_x_categories.indexOf(c))&&(a=s.axis_x_categories.length,s.axis_x_categories.push(c))):a=o.generateTargetX(c,e,r),(M(t[e])||o.data.xs[e].length<=r)&&(a=void 0),{x:a,value:u,id:i}}).filter(function(t){return f(t.x)})}})).forEach(function(t){var e;s.data_xSort&&(t.values=t.values.sort(function(t,e){return(t.x||0===t.x?t.x:1/0)-(e.x||0===e.x?e.x:1/0)})),e=0,t.values.forEach(function(t){t.index=e++}),o.data.xs[t.id].sort(function(t,e){return t-e})}),o.hasNegativeValue=o.hasNegativeValueInTargets(n),o.hasPositiveValue=o.hasPositiveValueInTargets(n),s.data_type&&o.setTargetType(o.mapToIds(n).filter(function(t){return!(t in s.data_types)}),s.data_type),n.forEach(function(t){o.addCache(t.id_org,t)}),n},e.prototype.isX=function(t){var e,n,i,r=this.config;return r.data_x&&t===r.data_x||g(r.data_xs)&&(e=r.data_xs,n=t,i=!1,Object.keys(e).forEach(function(t){e[t]===n&&(i=!0)}),i)},e.prototype.isNotX=function(t){return!this.isX(t)},e.prototype.getXKey=function(t){var e=this.config;return e.data_x?e.data_x:g(e.data_xs)?e.data_xs[t]:null},e.prototype.getXValuesOfXKey=function(t,e){var n,i=this;return(e&&g(e)?i.mapToIds(e):[]).forEach(function(e){i.getXKey(e)===t&&(n=i.data.xs[e])}),n},e.prototype.getXValue=function(t,e){return t in this.data.xs&&this.data.xs[t]&&m(this.data.xs[t][e])?this.data.xs[t][e]:e},e.prototype.getOtherTargetXs=function(){var t=Object.keys(this.data.xs);return t.length?this.data.xs[t[0]]:null},e.prototype.getOtherTargetX=function(t){var e=this.getOtherTargetXs();return e&&te?1:t>=e?0:NaN})},e.prototype.addHiddenTargetIds=function(t){t=t instanceof Array?t:new Array(t);for(var e=0;e0})},e.prototype.isOrderDesc=function(){var t=this.config;return"string"==typeof t.data_order&&"desc"===t.data_order.toLowerCase()},e.prototype.isOrderAsc=function(){var t=this.config;return"string"==typeof t.data_order&&"asc"===t.data_order.toLowerCase()},e.prototype.getOrderFunction=function(){var t=this.config,e=this.isOrderAsc(),n=this.isOrderDesc();if(e||n){var i=function(t,e){return t+Math.abs(e.value)};return function(t,n){var r=t.values.reduce(i,0),a=n.values.reduce(i,0);return e?a-r:r-a}}if(p(t.data_order))return t.data_order;if(l(t.data_order)){var r=t.data_order;return function(t,e){return r.indexOf(t.id)-r.indexOf(e.id)}}},e.prototype.orderTargets=function(t){var e=this.getOrderFunction();return e&&t.sort(e),t},e.prototype.filterByX=function(t,e){return this.d3.merge(t.map(function(t){return t.values})).filter(function(t){return t.x-e==0})},e.prototype.filterRemoveNull=function(t){return t.filter(function(t){return m(t.value)})},e.prototype.filterByXDomain=function(t,e){return t.map(function(t){return{id:t.id,id_org:t.id_org,values:t.values.filter(function(t){return e[0]<=t.x&&t.x<=e[1]})}})},e.prototype.hasDataLabel=function(){var e=this.config;return!("boolean"!=typeof e.data_labels||!e.data_labels)||!("object"!==t(e.data_labels)||!g(e.data_labels))},e.prototype.getDataLabelLength=function(t,e,n){var i=this,r=[0,0];return i.selectChart.select("svg").selectAll(".dummy").data([t,e]).enter().append("text").text(function(t){return i.dataLabelFormat(t.id)(t)}).each(function(t,e){r[e]=1.3*this.getBoundingClientRect()[n]}).remove(),r},e.prototype.isNoneArc=function(t){return this.hasTarget(this.data.targets,t.id)},e.prototype.isArc=function(t){return"data"in t&&this.hasTarget(this.data.targets,t.data.id)},e.prototype.findClosestFromTargets=function(t,e){var n,i=this;return n=t.map(function(t){return i.findClosest(t.values,e)}),i.findClosest(n,e)},e.prototype.findClosest=function(t,e){var n,i=this,r=i.config.point_sensitivity;return t.filter(function(t){return t&&i.isBarType(t.id)}).forEach(function(t){var e=i.main.select("."+a.bars+i.getTargetSelectorSuffix(t.id)+" ."+a.bar+"-"+t.index).node();!n&&i.isWithinBar(i.d3.mouse(e),e)&&(n=t)}),t.filter(function(t){return t&&!i.isBarType(t.id)}).forEach(function(t){var a=i.dist(t,e);a0)for(o=s.hasNegativeValueInTargets(t),e=0;e=0})).length)for(i=r[0],o&&d[i]&&d[i].forEach(function(t,e){d[i][e]=t<0?t:0}),n=1;n0||(d[i][e]+=+t)});return s.d3.min(Object.keys(d).map(function(t){return s.d3.min(d[t])}))},e.prototype.getYDomainMax=function(t){var e,n,i,r,a,o,s=this,c=s.config,u=s.mapToIds(t),d=s.getValuesAsIdKeyed(t);if(c.data_groups.length>0)for(o=s.hasPositiveValueInTargets(t),e=0;e=0})).length)for(i=r[0],o&&d[i]&&d[i].forEach(function(t,e){d[i][e]=t>0?t:0}),n=1;n=0&&v>=0,h=A<=0&&v<=0,(m(y)&&f||m(L)&&h)&&(x=!1),x&&(f&&(A=0),h&&(v=0)),a=o=.1*(r=Math.abs(v-A)),void 0!==z&&(v=z+(s=Math.max(Math.abs(A),Math.abs(v))),A=z-s),T?(u=p.getDataLabelLength(A,v,"width"),d=c(p.y.range()),a+=r*((l=[u[0]/d,u[1]/d])[1]/(1-l[0]-l[1])),o+=r*(l[0]/(1-l[0]-l[1]))):S&&(u=p.getDataLabelLength(A,v,"height"),a+=p.axis.convertPixelsToAxisPadding(u[1],r),o+=p.axis.convertPixelsToAxisPadding(u[0],r)),"y"===e&&g(_.axis_y_padding)&&(a=p.axis.getPadding(_.axis_y_padding,"top",a,r),o=p.axis.getPadding(_.axis_y_padding,"bottom",o,r)),"y2"===e&&g(_.axis_y2_padding)&&(a=p.axis.getPadding(_.axis_y2_padding,"top",a,r),o=p.axis.getPadding(_.axis_y2_padding,"bottom",o,r)),x&&(f&&(o=A),h&&(a=-v)),i=[A-o,v+a],w?i.reverse():i)},e.prototype.getXDomainMin=function(t){var e=this,n=e.config;return f(n.axis_x_min)?e.isTimeSeries()?this.parseDate(n.axis_x_min):n.axis_x_min:e.d3.min(t,function(t){return e.d3.min(t.values,function(t){return t.x})})},e.prototype.getXDomainMax=function(t){var e=this,n=e.config;return f(n.axis_x_max)?e.isTimeSeries()?this.parseDate(n.axis_x_max):n.axis_x_max:e.d3.max(t,function(t){return e.d3.max(t.values,function(t){return t.x})})},e.prototype.getXDomainPadding=function(e){var n,i,r,a,o=this.config,s=e[1]-e[0];return i=this.isCategorized()?0:this.hasType("bar")?(n=this.getMaxDataCount())>1?s/(n-1)/2:.5:.01*s,"object"===t(o.axis_x_padding)&&g(o.axis_x_padding)?(r=m(o.axis_x_padding.left)?o.axis_x_padding.left:i,a=m(o.axis_x_padding.right)?o.axis_x_padding.right:i):r=a="number"==typeof o.axis_x_padding?o.axis_x_padding:i,{left:r,right:a}},e.prototype.getXDomain=function(t){var e=this,n=[e.getXDomainMin(t),e.getXDomainMax(t)],i=n[0],r=n[1],a=e.getXDomainPadding(n),o=0,s=0;return i-r!=0||e.isCategorized()||(e.isTimeSeries()?(i=new Date(.5*i.getTime()),r=new Date(1.5*r.getTime())):(i=0===i?1:.5*i,r=0===r?-1:1.5*r)),(i||0===i)&&(o=e.isTimeSeries()?new Date(i.getTime()-a.left):i-a.left),(r||0===r)&&(s=e.isTimeSeries()?new Date(r.getTime()+a.right):r+a.right),[o,s]},e.prototype.updateXDomain=function(t,e,n,i,r){var a=this,o=a.config;return n&&(a.x.domain(r||a.d3.extent(a.getXDomain(t))),a.orgXDomain=a.x.domain(),o.zoom_enabled&&a.zoom.update(),a.subX.domain(a.x.domain()),a.brush&&a.brush.updateScale(a.subX)),e&&a.x.domain(r||(!a.brush||a.brush.empty()?a.orgXDomain:a.brush.selectionAsValue())),i&&a.x.domain(a.trimXDomain(a.x.orgDomain())),a.x.domain()},e.prototype.trimXDomain=function(t){var e=this.getZoomDomain(),n=e[0],i=e[1];return t[0]<=n&&(t[1]=+t[1]+(n-t[0]),t[0]=n),i<=t[1]&&(t[0]=+t[0]-(t[1]-i),t[1]=i),t},e.prototype.drag=function(t){var e,n,i,r,o,s,c,u,l=this,f=l.config,h=l.main,p=l.d3;l.hasArcType()||f.data_selection_enabled&&f.data_selection_multiple&&(e=l.dragStart[0],n=l.dragStart[1],i=t[0],r=t[1],o=Math.min(e,i),s=Math.max(e,i),c=f.data_selection_grouped?l.margin.top:Math.min(n,r),u=f.data_selection_grouped?l.height:Math.max(n,r),h.select("."+a.dragarea).attr("x",o).attr("y",c).attr("width",s-o).attr("height",u-c),h.selectAll("."+a.shapes).selectAll("."+a.shape).filter(function(t){return f.data_selection_isselectable(t)}).each(function(t,e){var n,i,r,f,h,_,M=p.select(this),m=M.classed(a.SELECTED),g=M.classed(a.INCLUDED),b=!1;if(M.classed(a.circle))n=1*M.attr("cx"),i=1*M.attr("cy"),h=l.togglePoint,b=oc&&(s=s.filter(function(t){return(""+t).indexOf(".")<0}));return s},e.prototype.getGridFilterToRemove=function(t){return t?function(e){var n=!1;return[].concat(t).forEach(function(t){("value"in t&&e.value===t.value||"class"in t&&e.class===t.class)&&(n=!0)}),n}:function(){return!0}},e.prototype.removeGridLines=function(t,e){var n=this.config,i=this.getGridFilterToRemove(t),r=function(t){return!i(t)},o=e?a.xgridLines:a.ygridLines,s=e?a.xgridLine:a.ygridLine;this.main.select("."+o).selectAll("."+s).filter(i).transition().duration(n.transition_duration).style("opacity",0).remove(),e?n.grid_x_lines=n.grid_x_lines.filter(r):n.grid_y_lines=n.grid_y_lines.filter(r)},e.prototype.initEventRect=function(){var t=this,e=t.config;t.main.select("."+a.chart).append("g").attr("class",a.eventRects).style("fill-opacity",0),t.eventRect=t.main.select("."+a.eventRects).append("rect").attr("class",a.eventRect),e.zoom_enabled&&t.zoom&&(t.eventRect.call(t.zoom).on("dblclick.zoom",null),e.zoom_initialRange&&t.eventRect.transition().duration(0).call(t.zoom.transform,t.zoomTransform(e.zoom_initialRange)))},e.prototype.redrawEventRect=function(){var t,e,n=this,i=n.d3,r=n.config;function o(){n.svg.select("."+a.eventRect).style("cursor",null),n.hideXGridFocus(),n.hideTooltip(),n.unexpandCircles(),n.unexpandBars()}t=n.width,e=n.height,n.main.select("."+a.eventRects).style("cursor",r.zoom_enabled?r.axis_rotated?"ns-resize":"ew-resize":null),n.eventRect.attr("x",0).attr("y",0).attr("width",t).attr("height",e).on("mouseout",r.interaction_enabled?function(){r&&(n.hasArcType()||o())}:null).on("mousemove",r.interaction_enabled?function(){var t,e,s,c;n.dragging||n.hasArcType(t)||(t=n.filterTargetsToShow(n.data.targets),e=i.mouse(this),s=n.findClosestFromTargets(t,e),!n.mouseover||s&&s.id===n.mouseover.id||(r.data_onmouseout.call(n.api,n.mouseover),n.mouseover=void 0),s?(c=(n.isScatterType(s)||!r.tooltip_grouped?[s]:n.filterByX(t,s.x)).map(function(t){return n.addName(t)}),n.showTooltip(c,this),r.point_focus_expand_enabled&&(n.unexpandCircles(),c.forEach(function(t){n.expandCircles(t.index,t.id,!1)})),n.expandBars(s.index,s.id,!0),n.showXGridFocus(c),(n.isBarType(s.id)||n.dist(s,e)=0}).classed(a.legendItemFocused,e).transition().duration(100).style("opacity",function(){return(e?n.opacityForLegend:n.opacityForUnfocusedLegend).call(n,n.d3.select(this))})},e.prototype.revertLegend=function(){var t=this,e=t.d3;t.legend.selectAll("."+a.legendItem).classed(a.legendItemFocused,!1).transition().duration(100).style("opacity",function(){return t.opacityForLegend(e.select(this))})},e.prototype.showLegend=function(t){var e=this,n=e.config;n.legend_show||(n.legend_show=!0,e.legend.style("visibility","visible"),e.legendHasRendered||e.updateLegendWithDefaults()),e.removeHiddenLegendIds(t),e.legend.selectAll(e.selectorLegends(t)).style("visibility","visible").transition().style("opacity",function(){return e.opacityForLegend(e.d3.select(this))})},e.prototype.hideLegend=function(t){var e=this,n=e.config;n.legend_show&&h(t)&&(n.legend_show=!1,e.legend.style("visibility","hidden")),e.addHiddenLegendIds(t),e.legend.selectAll(e.selectorLegends(t)).style("opacity",0).style("visibility","hidden")},e.prototype.clearLegendItemTextBoxCache=function(){this.legendItemTextBox={}},e.prototype.updateLegend=function(t,e,n){var i,r,o,s,c,d,l,h,p,_,M,m,g,b,y,L,A=this,v=A.config,z=4,x=10,w=0,T=0,S=10,O=v.legend_item_tile_width+5,Y=0,k={},D={},N={},q=[0],W={},P=0;function E(e,n,i){var r,o,s=0===i,c=i===t.length-1,u=function(t,e){return A.legendItemTextBox[e]||(A.legendItemTextBox[e]=A.getTextRect(t.textContent,a.legendItem,t)),A.legendItemTextBox[e]}(e,n),d=u.width+O+(!c||A.isLegendRight||A.isLegendInset?x:0)+v.legend_padding,l=u.height+z,f=A.isLegendRight||A.isLegendInset?l:d,h=A.isLegendRight||A.isLegendInset?A.getLegendHeight():A.getLegendWidth();function p(t,e){e||(r=(h-Y-f)/2)=w)&&(w=d),(!T||l>=T)&&(T=l),o=A.isLegendRight||A.isLegendInset?T:w,v.legend_equally?(Object.keys(D).forEach(function(t){D[t]=w}),Object.keys(N).forEach(function(t){N[t]=T}),(r=(h-o*t.length)/2)0&&0===L.size()&&(L=A.legend.insert("g","."+a.legendItem).attr("class",a.legendBackground).append("rect")),g=A.legend.selectAll("text").data(t).text(function(t){return f(v.data_names[t])?v.data_names[t]:t}).each(function(t,e){E(this,t,e)}),(M?g.transition():g).attr("x",r).attr("y",c),b=A.legend.selectAll("rect."+a.legendItemEvent).data(t),(M?b.transition():b).attr("width",function(t){return D[t]}).attr("height",function(t){return N[t]}).attr("x",o).attr("y",d),y=A.legend.selectAll("line."+a.legendItemTile).data(t),(M?y.transition():y).style("stroke",A.levelColor?function(t){return A.levelColor(A.cache[t].values[0].value)}:A.color).attr("x1",l).attr("y1",p).attr("x2",h).attr("y2",p),L&&(M?L.transition():L).attr("height",A.getLegendHeight()-12).attr("width",w*(P+1)+10),A.legend.selectAll("."+a.legendItem).classed(a.legendItemHidden,function(t){return!A.isTargetToShow(t)}),A.updateLegendItemWidth(w),A.updateLegendItemHeight(T),A.updateLegendStep(P),A.updateSizes(),A.updateScales(),A.updateSvgSize(),A.transformAll(m,n),A.legendHasRendered=!0},e.prototype.initRegion=function(){this.region=this.main.append("g").attr("clip-path",this.clipPath).attr("class",a.regions)},e.prototype.updateRegion=function(t){var e=this,n=e.config;e.region.style("visibility",e.hasArcType()?"hidden":"visible");var i=e.main.select("."+a.regions).selectAll("."+a.region).data(n.regions),r=i.enter().append("rect").attr("x",e.regionX.bind(e)).attr("y",e.regionY.bind(e)).attr("width",e.regionWidth.bind(e)).attr("height",e.regionHeight.bind(e)).style("fill-opacity",0);e.mainRegion=r.merge(i).attr("class",e.classRegion.bind(e)),i.exit().transition().duration(t).style("opacity",0).remove()},e.prototype.redrawRegion=function(t,e){var n=this,i=n.mainRegion;return[(t?i.transition(e):i).attr("x",n.regionX.bind(n)).attr("y",n.regionY.bind(n)).attr("width",n.regionWidth.bind(n)).attr("height",n.regionHeight.bind(n)).style("fill-opacity",function(t){return m(t.opacity)?t.opacity:.1})]},e.prototype.regionX=function(t){var e=this,n=e.config,i="y"===t.axis?e.y:e.y2;return"y"===t.axis||"y2"===t.axis?n.axis_rotated&&"start"in t?i(t.start):0:n.axis_rotated?0:"start"in t?e.x(e.isTimeSeries()?e.parseDate(t.start):t.start):0},e.prototype.regionY=function(t){var e=this,n=e.config,i="y"===t.axis?e.y:e.y2;return"y"===t.axis||"y2"===t.axis?n.axis_rotated?0:"end"in t?i(t.end):0:n.axis_rotated&&"start"in t?e.x(e.isTimeSeries()?e.parseDate(t.start):t.start):0},e.prototype.regionWidth=function(t){var e,n=this,i=n.config,r=n.regionX(t),a="y"===t.axis?n.y:n.y2;return(e="y"===t.axis||"y2"===t.axis?i.axis_rotated&&"end"in t?a(t.end):n.width:i.axis_rotated?n.width:"end"in t?n.x(n.isTimeSeries()?n.parseDate(t.end):t.end):n.width)n.bar_width_max?n.bar_width_max:i},e.prototype.getBars=function(t,e){return(e?this.main.selectAll("."+a.bars+this.getTargetSelectorSuffix(e)):this.main).selectAll("."+a.bar+(m(t)?"-"+t:""))},e.prototype.expandBars=function(t,e,n){n&&this.unexpandBars(),this.getBars(t,e).classed(a.EXPANDED,!0)},e.prototype.unexpandBars=function(t){this.getBars(t).classed(a.EXPANDED,!1)},e.prototype.generateDrawBar=function(t,e){var n=this.config,i=this.generateGetBarPoints(t,e);return function(t,e){var r=i(t,e),a=n.axis_rotated?1:0,o=n.axis_rotated?0:1;return"M "+r[0][a]+","+r[0][o]+" L"+r[1][a]+","+r[1][o]+" L"+r[2][a]+","+r[2][o]+" L"+r[3][a]+","+r[3][o]+" z"}},e.prototype.generateGetBarPoints=function(t,e){var n=this,i=e?n.subXAxis:n.xAxis,r=t.__max__+1,a=n.getBarW(i,r),o=n.getShapeX(a,r,t,!!e),s=n.getShapeY(!!e),c=n.getShapeOffset(n.isBarType,t,!!e),u=a*(n.config.bar_space/2),d=e?n.getSubYScale:n.getYScale;return function(t,e){var i=d.call(n,t.id)(0),r=c(t,e)||i,l=o(t),f=s(t);return n.config.axis_rotated&&(0=0&&(u+=s(r[o].value)-c))}),u}},e.prototype.isWithinShape=function(t,e){var n,i=this,r=i.d3.select(t);return i.isTargetToShow(e.id)?"circle"===t.nodeName?n=i.isStepType(e)?i.isWithinStep(t,i.getYScale(e.id)(e.value)):i.isWithinCircle(t,1.5*i.pointSelectR(e)):"path"===t.nodeName&&(n=!r.classed(a.bar)||i.isWithinBar(i.d3.mouse(t),t)):n=!1,n},e.prototype.getInterpolate=function(t){var e=this,n=e.d3,i={linear:n.curveLinear,"linear-closed":n.curveLinearClosed,basis:n.curveBasis,"basis-open":n.curveBasisOpen,"basis-closed":n.curveBasisClosed,bundle:n.curveBundle,cardinal:n.curveCardinal,"cardinal-open":n.curveCardinalOpen,"cardinal-closed":n.curveCardinalClosed,monotone:n.curveMonotoneX,step:n.curveStep,"step-before":n.curveStepBefore,"step-after":n.curveStepAfter};return e.isSplineType(t)?i[e.config.spline_interpolation_type]||i.cardinal:e.isStepType(t)?i[e.config.line_step_type]:i.linear},e.prototype.initLine=function(){this.main.select("."+a.chart).append("g").attr("class",a.chartLines)},e.prototype.updateTargetsForLine=function(t){var e,n=this,i=n.config,r=n.classChartLine.bind(n),o=n.classLines.bind(n),s=n.classAreas.bind(n),c=n.classCircles.bind(n),u=n.classFocus.bind(n);(e=n.main.select("."+a.chartLines).selectAll("."+a.chartLine).data(t).attr("class",function(t){return r(t)+u(t)}).enter().append("g").attr("class",r).style("opacity",0).style("pointer-events","none")).append("g").attr("class",o),e.append("g").attr("class",s),e.append("g").attr("class",function(t){return n.generateClass(a.selectedCircles,t.id)}),e.append("g").attr("class",c).style("cursor",function(t){return i.data_selection_isselectable(t)?"pointer":null}),t.forEach(function(t){n.main.selectAll("."+a.selectedCircles+n.getTargetSelectorSuffix(t.id)).selectAll("."+a.selectedCircle).each(function(e){e.value=t.values[e.index].value})})},e.prototype.updateLine=function(t){var e=this,n=e.main.selectAll("."+a.lines).selectAll("."+a.line).data(e.lineData.bind(e)),i=n.enter().append("path").attr("class",e.classLine.bind(e)).style("stroke",e.color);e.mainLine=i.merge(n).style("opacity",e.initialOpacity.bind(e)).style("shape-rendering",function(t){return e.isStepType(t)?"crispEdges":""}).attr("transform",null),n.exit().transition().duration(t).style("opacity",0)},e.prototype.redrawLine=function(t,e,n){return[(e?this.mainLine.transition(n):this.mainLine).attr("d",t).style("stroke",this.color).style("opacity",1)]},e.prototype.generateDrawLine=function(t,e){var n=this,i=n.config,r=n.d3.line(),a=n.generateGetLinePoints(t,e),o=e?n.getSubYScale:n.getYScale,s=function(t){return(e?n.subxx:n.xx).call(n,t)},c=function(t,e){return i.data_groups.length>0?a(t,e)[0][1]:o.call(n,t.id)(t.value)};return r=i.axis_rotated?r.x(c).y(s):r.x(s).y(c),i.line_connectNull||(r=r.defined(function(t){return null!=t.value})),function(t){var a,s=i.line_connectNull?n.filterRemoveNull(t.values):t.values,c=e?n.subX:n.x,u=o.call(n,t.id),d=0,l=0;return n.isLineType(t)?i.data_regions[t.id]?a=n.lineWithRegions(s,c,u,i.data_regions[t.id]):(n.isStepType(t)&&(s=n.convertValuesToStep(s)),a=r.curve(n.getInterpolate(t))(s)):(s[0]&&(d=c(s[0].x),l=u(s[0].value)),a=i.axis_rotated?"M "+l+" "+d:"M "+d+" "+l),a||"M 0 0"}},e.prototype.generateGetLinePoints=function(t,e){var n=this,i=n.config,r=t.__max__+1,a=n.getShapeX(0,r,t,!!e),o=n.getShapeY(!!e),s=n.getShapeOffset(n.isLineType,t,!!e),c=e?n.getSubYScale:n.getYScale;return function(t,e){var r=c.call(n,t.id)(0),u=s(t,e)||r,d=a(t),l=o(t);return i.axis_rotated&&(00?a(t,e)[0][1]:o.call(n,t.id)(n.getAreaBaseValue(t.id))},u=function(t,e){return i.data_groups.length>0?a(t,e)[1][1]:o.call(n,t.id)(t.value)};return r=i.axis_rotated?r.x0(c).x1(u).y(s):r.x(s).y0(i.area_above?0:c).y1(u),i.line_connectNull||(r=r.defined(function(t){return null!==t.value})),function(t){var e,a=i.line_connectNull?n.filterRemoveNull(t.values):t.values,o=0,s=0;return n.isAreaType(t)?(n.isStepType(t)&&(a=n.convertValuesToStep(a)),e=r.curve(n.getInterpolate(t))(a)):(a[0]&&(o=n.x(a[0].x),s=n.getYScale(t.id)(a[0].value)),e=i.axis_rotated?"M "+s+" "+o:"M "+o+" "+s),e||"M 0 0"}},e.prototype.getAreaBaseValue=function(){return 0},e.prototype.generateGetAreaPoints=function(t,e){var n=this,i=n.config,r=t.__max__+1,a=n.getShapeX(0,r,t,!!e),o=n.getShapeY(!!e),s=n.getShapeOffset(n.isAreaType,t,!!e),c=e?n.getSubYScale:n.getYScale;return function(t,e){var r=c.call(n,t.id)(0),u=s(t,e)||r,d=a(t),l=o(t);return i.axis_rotated&&(00?(t=n.getShapeIndices(n.isLineType),e=n.generateGetLinePoints(t),n.circleY=function(t,n){return e(t,n)[0][1]}):n.circleY=function(t){return n.getYScale(t.id)(t.value)}},e.prototype.getCircles=function(t,e){return(e?this.main.selectAll("."+a.circles+this.getTargetSelectorSuffix(e)):this.main).selectAll("."+a.circle+(m(t)?"-"+t:""))},e.prototype.expandCircles=function(t,e,n){var i=this.pointExpandedR.bind(this);n&&this.unexpandCircles(),this.getCircles(t,e).classed(a.EXPANDED,!0).attr("r",i)},e.prototype.unexpandCircles=function(t){var e=this,n=e.pointR.bind(e);e.getCircles(t).filter(function(){return e.d3.select(this).classed(a.EXPANDED)}).classed(a.EXPANDED,!1).attr("r",n)},e.prototype.pointR=function(t){var e=this.config;return this.isStepType(t)?0:p(e.point_r)?e.point_r(t):e.point_r},e.prototype.pointExpandedR=function(t){var e=this.config;return e.point_focus_expand_enabled?p(e.point_focus_expand_r)?e.point_focus_expand_r(t):e.point_focus_expand_r?e.point_focus_expand_r:1.75*this.pointR(t):this.pointR(t)},e.prototype.pointSelectR=function(t){var e=this.config;return p(e.point_select_r)?e.point_select_r(t):e.point_select_r?e.point_select_r:4*this.pointR(t)},e.prototype.isWithinCircle=function(t,e){var n=this.d3,i=n.mouse(t),r=n.select(t),a=+r.attr("cx"),o=+r.attr("cy");return Math.sqrt(Math.pow(a-i[0],2)+Math.pow(o-i[1],2))0?e:320/(this.hasType("gauge")&&!t.gauge_fullCircle?2:1)},e.prototype.getCurrentPaddingTop=function(){var t=this.config,e=m(t.padding_top)?t.padding_top:0;return this.title&&this.title.node()&&(e+=this.getTitlePadding()),e},e.prototype.getCurrentPaddingBottom=function(){var t=this.config;return m(t.padding_bottom)?t.padding_bottom:0},e.prototype.getCurrentPaddingLeft=function(t){var e=this.config;return m(e.padding_left)?e.padding_left:e.axis_rotated?!e.axis_x_show||e.axis_x_inner?1:Math.max(s(this.getAxisWidthByAxisId("x",t)),40):!e.axis_y_show||e.axis_y_inner?this.axis.getYAxisLabelPosition().isOuter?30:1:s(this.getAxisWidthByAxisId("y",t))},e.prototype.getCurrentPaddingRight=function(){var t=this,e=t.config,n=t.isLegendRight?t.getLegendWidth()+20:0;return m(e.padding_right)?e.padding_right+1:e.axis_rotated?10+n:!e.axis_y2_show||e.axis_y2_inner?2+n+(t.axis.getY2AxisLabelPosition().isOuter?20:0):s(t.getAxisWidthByAxisId("y2"))+n},e.prototype.getParentRectValue=function(t){for(var e,n=this.selectChart.node();n&&"BODY"!==n.tagName;){try{e=n.getBoundingClientRect()[t]}catch(i){"width"===t&&(e=n.offsetWidth)}if(e)break;n=n.parentNode}return e},e.prototype.getParentWidth=function(){return this.getParentRectValue("width")},e.prototype.getParentHeight=function(){return this.getParentRectValue("height")},e.prototype.getSvgLeft=function(t){var e=this,n=e.config,i=n.axis_rotated||!n.axis_rotated&&!n.axis_y_inner,r=n.axis_rotated?a.axisX:a.axisY,o=e.main.select("."+r).node(),s=o&&i?o.getBoundingClientRect():{right:0},c=e.selectChart.node().getBoundingClientRect(),u=e.hasArcType(),d=s.right-c.left-(u?0:e.getCurrentPaddingLeft(t));return d>0?d:0},e.prototype.getAxisWidthByAxisId=function(t,e){var n=this.axis.getLabelPositionById(t);return this.axis.getMaxTickWidth(t,e)+(n.isInner?20:40)},e.prototype.getHorizontalAxisHeight=function(t){var e=this,n=e.config,i=30;return"x"!==t||n.axis_x_show?"x"===t&&n.axis_x_height?n.axis_x_height:"y"!==t||n.axis_y_show?"y2"!==t||n.axis_y2_show?("x"===t&&!n.axis_rotated&&n.axis_x_tick_rotate&&(i=30+e.axis.getMaxTickWidth(t)*Math.cos(Math.PI*(90-Math.abs(n.axis_x_tick_rotate))/180)),"y"===t&&n.axis_rotated&&n.axis_y_tick_rotate&&(i=30+e.axis.getMaxTickWidth(t)*Math.cos(Math.PI*(90-Math.abs(n.axis_y_tick_rotate))/180)),i+(e.axis.getLabelPositionById(t).isInner?0:10)+("y2"===t?-10:0)):e.rotated_padding_top:!n.legend_show||e.isLegendRight||e.isLegendInset?1:10:8},e.prototype.initBrush=function(t){var e=this,n=e.d3;return e.brush=(e.config.axis_rotated?n.brushY():n.brushX()).on("brush",function(){var t=n.event.sourceEvent;t&&"zoom"===t.type||e.redrawForBrush()}).on("end",function(){var t=n.event.sourceEvent;t&&"zoom"===t.type||e.brush.empty()&&t&&"end"!==t.type&&e.brush.clear()}),e.brush.updateExtent=function(){var t,n=this.scale.range();return t=e.config.axis_rotated?[[0,n[0]],[e.width2,n[1]]]:[[n[0],0],[n[1],e.height2]],this.extent(t),this},e.brush.updateScale=function(t){return this.scale=t,this},e.brush.update=function(t){this.updateScale(t||e.subX).updateExtent(),e.context.select("."+a.brush).call(this)},e.brush.clear=function(){e.context.select("."+a.brush).call(e.brush.move,null)},e.brush.selection=function(){return n.brushSelection(e.context.select("."+a.brush).node())},e.brush.selectionAsValue=function(t,n){var i,r;return t?(e.context&&(i=[this.scale(t[0]),this.scale(t[1])],r=e.context.select("."+a.brush),n&&(r=r.transition()),e.brush.move(r,i)),[]):(i=e.brush.selection()||[0,0],[this.scale.invert(i[0]),this.scale.invert(i[1])])},e.brush.empty=function(){var t=e.brush.selection();return!t||t[0]===t[1]},e.brush.updateScale(t)},e.prototype.initSubchart=function(){var t=this,e=t.config,n=t.context=t.svg.append("g").attr("transform",t.getTranslate("context")),i=e.subchart_show?"visible":"hidden";n.style("visibility",i),n.append("g").attr("clip-path",t.clipPathForSubchart).attr("class",a.chart),n.select("."+a.chart).append("g").attr("class",a.chartBars),n.select("."+a.chart).append("g").attr("class",a.chartLines),n.append("g").attr("clip-path",t.clipPath).attr("class",a.brush),t.axes.subx=n.append("g").attr("class",a.axisX).attr("transform",t.getTranslate("subx")).attr("clip-path",e.axis_rotated?"":t.clipPathForXAxis)},e.prototype.initSubchartBrush=function(){this.initBrush(this.subX).updateExtent(),this.context.select("."+a.brush).call(this.brush)},e.prototype.updateTargetsForSubchart=function(t){var e,n,i,r,o=this,s=o.context,c=o.config,u=o.classChartBar.bind(o),d=o.classBars.bind(o),l=o.classChartLine.bind(o),f=o.classLines.bind(o),h=o.classAreas.bind(o);c.subchart_show&&((i=(r=s.select("."+a.chartBars).selectAll("."+a.chartBar).data(t)).enter().append("g").style("opacity",0)).merge(r).attr("class",u),i.append("g").attr("class",d),(e=(n=s.select("."+a.chartLines).selectAll("."+a.chartLine).data(t)).enter().append("g").style("opacity",0)).merge(n).attr("class",l),e.append("g").attr("class",f),e.append("g").attr("class",h),s.selectAll("."+a.brush+" rect").attr(c.axis_rotated?"width":"height",c.axis_rotated?o.width2:o.height2))},e.prototype.updateBarForSubchart=function(t){var e=this,n=e.context.selectAll("."+a.bars).selectAll("."+a.bar).data(e.barData.bind(e)),i=n.enter().append("path").attr("class",e.classBar.bind(e)).style("stroke","none").style("fill",e.color);n.exit().transition().duration(t).style("opacity",0).remove(),e.contextBar=i.merge(n).style("opacity",e.initialOpacity.bind(e))},e.prototype.redrawBarForSubchart=function(t,e,n){(e?this.contextBar.transition(Math.random().toString()).duration(n):this.contextBar).attr("d",t).style("opacity",1)},e.prototype.updateLineForSubchart=function(t){var e=this,n=e.context.selectAll("."+a.lines).selectAll("."+a.line).data(e.lineData.bind(e)),i=n.enter().append("path").attr("class",e.classLine.bind(e)).style("stroke",e.color);n.exit().transition().duration(t).style("opacity",0).remove(),e.contextLine=i.merge(n).style("opacity",e.initialOpacity.bind(e))},e.prototype.redrawLineForSubchart=function(t,e,n){(e?this.contextLine.transition(Math.random().toString()).duration(n):this.contextLine).attr("d",t).style("opacity",1)},e.prototype.updateAreaForSubchart=function(t){var e=this,n=e.d3,i=e.context.selectAll("."+a.areas).selectAll("."+a.area).data(e.lineData.bind(e)),r=i.enter().append("path").attr("class",e.classArea.bind(e)).style("fill",e.color).style("opacity",function(){return e.orgAreaOpacity=+n.select(this).style("opacity"),0});i.exit().transition().duration(t).style("opacity",0).remove(),e.contextArea=r.merge(i).style("opacity",0)},e.prototype.redrawAreaForSubchart=function(t,e,n){(e?this.contextArea.transition(Math.random().toString()).duration(n):this.contextArea).attr("d",t).style("fill",this.color).style("opacity",this.orgAreaOpacity)},e.prototype.redrawSubchart=function(t,e,n,i,r,a,o){var s,c,u,d=this,l=d.d3,f=d.config;d.context.style("visibility",f.subchart_show?"visible":"hidden"),f.subchart_show&&(l.event&&"zoom"===l.event.type&&d.brush.selectionAsValue(d.x.orgDomain()),t&&(d.brush.empty()||d.brush.selectionAsValue(d.x.orgDomain()),s=d.generateDrawArea(r,!0),c=d.generateDrawBar(a,!0),u=d.generateDrawLine(o,!0),d.updateBarForSubchart(n),d.updateLineForSubchart(n),d.updateAreaForSubchart(n),d.redrawBarForSubchart(c,n,n),d.redrawLineForSubchart(u,n,n),d.redrawAreaForSubchart(s,n,n)))},e.prototype.redrawForBrush=function(){var t,e=this,n=e.x,i=e.d3;e.redraw({withTransition:!1,withY:e.config.zoom_rescale,withSubchart:!1,withUpdateXDomain:!0,withEventRect:!1,withDimension:!1}),t=i.event.selection||e.brush.scale.range(),e.main.select("."+a.eventRect).call(e.zoom.transform,i.zoomIdentity.scale(e.width/(t[1]-t[0])).translate(-t[0],0)),e.config.subchart_onbrush.call(e.api,n.orgDomain())},e.prototype.transformContext=function(t,e){var n;e&&e.axisSubX?n=e.axisSubX:(n=this.context.select("."+a.axisX),t&&(n=n.transition())),this.context.attr("transform",this.getTranslate("context")),n.attr("transform",this.getTranslate("subx"))},e.prototype.getDefaultSelection=function(){var t=this,e=t.config,n=p(e.axis_x_selection)?e.axis_x_selection(t.getXDomain(t.data.targets)):e.axis_x_selection;return t.isTimeSeries()&&(n=[t.parseDate(n[0]),t.parseDate(n[1])]),n},e.prototype.initText=function(){this.main.select("."+a.chart).append("g").attr("class",a.chartTexts),this.mainText=this.d3.selectAll([])},e.prototype.updateTargetsForText=function(t){var e=this,n=e.classChartText.bind(e),i=e.classTexts.bind(e),r=e.classFocus.bind(e),o=e.main.select("."+a.chartTexts).selectAll("."+a.chartText).data(t),s=o.enter().append("g").attr("class",n).style("opacity",0).style("pointer-events","none");s.append("g").attr("class",i),s.merge(o).attr("class",function(t){return n(t)+r(t)})},e.prototype.updateText=function(t,e,n){var i=this,r=i.config,o=i.barOrLineData.bind(i),s=i.classText.bind(i),c=i.main.selectAll("."+a.texts).selectAll("."+a.text).data(o),u=c.enter().append("text").attr("class",s).attr("text-anchor",function(t){return r.axis_rotated?t.value<0?"end":"start":"middle"}).style("stroke","none").attr("x",t).attr("y",e).style("fill",function(t){return i.color(t)}).style("fill-opacity",0);i.mainText=u.merge(c).text(function(t,e,n){return i.dataLabelFormat(t.id)(t.value,t.id,e,n)}),c.exit().transition().duration(n).style("fill-opacity",0).remove()},e.prototype.redrawText=function(t,e,n,i,r){return[(i?this.mainText.transition(r):this.mainText).attr("x",t).attr("y",e).style("fill",this.color).style("fill-opacity",n?0:this.opacityForText.bind(this))]},e.prototype.getTextRect=function(t,e,n){var i,r=this.d3.select("body").append("div").classed("c3",!0),a=r.append("svg").style("visibility","hidden").style("position","fixed").style("top",0).style("left",0),o=this.d3.select(n).style("font");return a.selectAll(".dummy").data([t]).enter().append("text").classed(e||"",!0).style("font",o).text(t).each(function(){i=this.getBoundingClientRect()}),r.remove(),i},e.prototype.generateXYForText=function(t,e,n,i){var r=this,a=r.generateGetAreaPoints(t,!1),o=r.generateGetBarPoints(e,!1),s=r.generateGetLinePoints(n,!1),c=i?r.getXForText:r.getYForText;return function(t,e){var n=r.isAreaType(t)?a:r.isBarType(t)?o:s;return c.call(r,n(t,e),t,this)}},e.prototype.getXForText=function(t,e,n){var i,r,a=this,o=n.getBoundingClientRect();return a.config.axis_rotated?(r=a.isBarType(e)?4:6,i=t[2][1]+r*(e.value<0?-1:1)):i=a.hasType("bar")?(t[2][0]+t[0][0])/2:t[0][0],null===e.value&&(i>a.width?i=a.width-o.width:i<0&&(i=4)),i},e.prototype.getYForText=function(t,e,n){var i,r=this,a=n.getBoundingClientRect();return r.config.axis_rotated?i=(t[0][0]+t[2][0]+.6*a.height)/2:(i=t[2][1],e.value<0||0===e.value&&!r.hasPositiveValue?(i+=a.height,r.isBarType(e)&&r.isSafari()?i-=3:!r.isBarType(e)&&r.isChrome()&&(i+=3)):i+=r.isBarType(e)?-3:-6),null!==e.value||r.config.axis_rotated||(ithis.height&&(i=this.height-4)),i},e.prototype.initTitle=function(){this.title=this.svg.append("text").text(this.config.title_text).attr("class",this.CLASS.title)},e.prototype.redrawTitle=function(){var t=this;t.title.attr("x",t.xForTitle.bind(t)).attr("y",t.yForTitle.bind(t))},e.prototype.xForTitle=function(){var t=this,e=t.config,n=e.title_position||"left";return n.indexOf("right")>=0?t.currentWidth-t.getTextRect(t.title.node().textContent,t.CLASS.title,t.title.node()).width-e.title_padding.right:n.indexOf("center")>=0?(t.currentWidth-t.getTextRect(t.title.node().textContent,t.CLASS.title,t.title.node()).width)/2:e.title_padding.left},e.prototype.yForTitle=function(){var t=this;return t.config.title_padding.top+t.getTextRect(t.title.node().textContent,t.CLASS.title,t.title.node()).height},e.prototype.getTitlePadding=function(){return this.yForTitle()+this.config.title_padding.bottom},e.prototype.initTooltip=function(){var t,e=this,n=e.config;if(e.tooltip=e.selectChart.style("position","relative").append("div").attr("class",a.tooltipContainer).style("position","absolute").style("pointer-events","none").style("display","none"),n.tooltip_init_show){if(e.isTimeSeries()&&_(n.tooltip_init_x)){for(n.tooltip_init_x=e.parseDate(n.tooltip_init_x),t=0;t"+(o||0===o?""+o+"":"")),void 0!==(s=b(p(t[a].value,t[a].ratio,t[a].id,t[a].index,t))))){if(null===t[a].name)continue;c=b(h(t[a].name,t[a].ratio,t[a].id,t[a].index)),u=d.levelColor?d.levelColor(t[a].value):i(t[a].id),r+="",r+=""+c+"",r+=""+s+"",r+=""}return r+""},e.prototype.tooltipPosition=function(t,e,n,i){var r,a,o,s,c,u=this,d=u.config,l=u.d3,f=u.hasArcType(),h=l.mouse(i);return f?(a=(u.width-(u.isLegendRight?u.getLegendWidth():0))/2+h[0],s=(u.hasType("gauge")?u.height:u.height/2)+h[1]+20):(r=u.getSvgLeft(!0),d.axis_rotated?(o=(a=r+h[0]+100)+e,c=u.currentWidth-u.getCurrentPaddingRight(),s=u.x(t[0].x)+20):(o=(a=r+u.getCurrentPaddingLeft(!0)+u.x(t[0].x)+20)+e,c=r+u.currentWidth-u.getCurrentPaddingRight(),s=h[1]+15),o>c&&(a-=o-c+20),s+n>u.currentHeight&&(s-=n+30)),s<0&&(s=0),{top:s,left:a}},e.prototype.showTooltip=function(t,n){var i,r,a,o=this,s=o.config,c=o.hasArcType(),u=t.filter(function(t){return t&&m(t.value)}),d=s.tooltip_position||e.prototype.tooltipPosition;0!==u.length&&s.tooltip_show&&(o.tooltip.html(s.tooltip_contents.call(o,t,o.axis.getXAxisTickFormat(),o.getYFormat(c),o.color)).style("display","block"),i=o.tooltip.property("offsetWidth"),r=o.tooltip.property("offsetHeight"),a=d.call(this,u,i,r,n),o.tooltip.style("top",a.top+"px").style("left",a.left+"px"))},e.prototype.hideTooltip=function(){this.tooltip.style("display","none")},e.prototype.setTargetType=function(t,e){var n=this,i=n.config;n.mapToTargetIds(t).forEach(function(t){n.withoutFadeIn[t]=e===i.data_types[t],i.data_types[t]=e}),t||(i.data_type=e)},e.prototype.hasType=function(t,e){var n=this.config.data_types,i=!1;return(e=e||this.data.targets)&&e.length?e.forEach(function(e){var r=n[e.id];(r&&r.indexOf(t)>=0||!r&&"line"===t)&&(i=!0)}):Object.keys(n).length?Object.keys(n).forEach(function(e){n[e]===t&&(i=!0)}):i=this.config.data_type===t,i},e.prototype.hasArcType=function(t){return this.hasType("pie",t)||this.hasType("donut",t)||this.hasType("gauge",t)},e.prototype.isLineType=function(t){var e=this.config,n=_(t)?t:t.id;return!e.data_types[n]||["line","spline","area","area-spline","step","area-step"].indexOf(e.data_types[n])>=0},e.prototype.isStepType=function(t){var e=_(t)?t:t.id;return["step","area-step"].indexOf(this.config.data_types[e])>=0},e.prototype.isSplineType=function(t){var e=_(t)?t:t.id;return["spline","area-spline"].indexOf(this.config.data_types[e])>=0},e.prototype.isAreaType=function(t){var e=_(t)?t:t.id;return["area","area-spline","area-step"].indexOf(this.config.data_types[e])>=0},e.prototype.isBarType=function(t){var e=_(t)?t:t.id;return"bar"===this.config.data_types[e]},e.prototype.isScatterType=function(t){var e=_(t)?t:t.id;return"scatter"===this.config.data_types[e]},e.prototype.isPieType=function(t){var e=_(t)?t:t.id;return"pie"===this.config.data_types[e]},e.prototype.isGaugeType=function(t){var e=_(t)?t:t.id;return"gauge"===this.config.data_types[e]},e.prototype.isDonutType=function(t){var e=_(t)?t:t.id;return"donut"===this.config.data_types[e]},e.prototype.isArcType=function(t){return this.isPieType(t)||this.isDonutType(t)||this.isGaugeType(t)},e.prototype.lineData=function(t){return this.isLineType(t)?[t]:[]},e.prototype.arcData=function(t){return this.isArcType(t.data)?[t]:[]},e.prototype.barData=function(t){return this.isBarType(t)?t.values:[]},e.prototype.lineOrScatterData=function(t){return this.isLineType(t)||this.isScatterType(t)?t.values:[]},e.prototype.barOrLineData=function(t){return this.isBarType(t)||this.isLineType(t)?t.values:[]},e.prototype.isSafari=function(){var t=window.navigator.userAgent;return t.indexOf("Safari")>=0&&t.indexOf("Chrome")<0},e.prototype.isChrome=function(){return window.navigator.userAgent.indexOf("Chrome")>=0},e.prototype.initZoom=function(){var t,e=this,n=e.d3,i=e.config;return e.zoom=n.zoom().on("start",function(){if("scroll"===i.zoom_type){var r=n.event.sourceEvent;r&&"brush"===r.type||(t=r,i.zoom_onzoomstart.call(e.api,r))}}).on("zoom",function(){if("scroll"===i.zoom_type){var t=n.event.sourceEvent;t&&"brush"===t.type||(e.redrawForZoom(),i.zoom_onzoom.call(e.api,e.x.orgDomain()))}}).on("end",function(){if("scroll"===i.zoom_type){var r=n.event.sourceEvent;r&&"brush"===r.type||r&&t.clientX===r.clientX&&t.clientY===r.clientY||i.zoom_onzoomend.call(e.api,e.x.orgDomain())}}),e.zoom.updateDomain=function(){return n.event&&n.event.transform&&e.x.domain(n.event.transform.rescaleX(e.subX).domain()),this},e.zoom.updateExtent=function(){return this.scaleExtent([1,1/0]).translateExtent([[0,0],[e.width,e.height]]).extent([[0,0],[e.width,e.height]]),this},e.zoom.update=function(){return this.updateExtent().updateDomain()},e.zoom.updateExtent()},e.prototype.zoomTransform=function(t){var e=[this.x(t[0]),this.x(t[1])];return this.d3.zoomIdentity.scale(this.width/(e[1]-e[0])).translate(-e[0],0)},e.prototype.initDragZoom=function(){var t=this,e=t.d3,n=t.config,i=t.context=t.svg,r=t.margin.left+20.5,o=t.margin.top+.5;if("drag"===n.zoom_type&&n.zoom_enabled){var s=function(e){return e&&e.map(function(e){return t.x.invert(e)})},c=t.dragZoomBrush=e.brushX().on("start",function(){t.api.unzoom(),t.svg.select("."+a.dragZoom).classed("disabled",!1),n.zoom_onzoomstart.call(t.api,e.event.sourceEvent)}).on("brush",function(){n.zoom_onzoom.call(t.api,s(e.event.selection))}).on("end",function(){if(null!=e.event.selection){var i=s(e.event.selection);n.zoom_disableDefaultBehavior||t.api.zoom(i),t.svg.select("."+a.dragZoom).classed("disabled",!0),n.zoom_onzoomend.call(t.api,i)}});i.append("g").classed(a.dragZoom,!0).attr("clip-path",t.clipPath).attr("transform","translate("+r+","+o+")").call(c)}},e.prototype.getZoomDomain=function(){var t=this.config,e=this.d3;return[e.min([this.orgXDomain[0],t.zoom_x_min]),e.max([this.orgXDomain[1],t.zoom_x_max])]},e.prototype.redrawForZoom=function(){var t=this,e=t.d3,n=t.config,i=t.zoom,r=t.x;n.zoom_enabled&&0!==t.filterTargetsToShow(t.data.targets).length&&(i.update(),n.zoom_disableDefaultBehavior||(t.isCategorized()&&r.orgDomain()[0]===t.orgXDomain[0]&&r.domain([t.orgXDomain[0]-1e-10,r.orgDomain()[1]]),t.redraw({withTransition:!1,withY:n.zoom_rescale,withSubchart:!1,withEventRect:!1,withDimension:!1}),e.event.sourceEvent&&"mousemove"===e.event.sourceEvent.type&&(t.cancelClick=!0)))},L}()},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(1);n(3);function r(t,e,n){var r=t.slice(e||0,n?n+1:t.length),a=0;return(0,i.each)(r,function(t,e){"number"!=typeof t||isNaN(parseFloat(t))||(a+=parseFloat(t))}),a/r.length}function a(t,e,n){var r=t.slice(e||0,n?n+1:t.length),a=[];return(0,i.each)(r,function(t,e){"number"!=typeof t||isNaN(parseFloat(t))||a.push(parseFloat(t))}),Math.max.apply(Math,a)}function o(t,e,n){var r=t.slice(e||0,n?n+1:t.length),a=[];return(0,i.each)(r,function(t,e){"number"!=typeof t||isNaN(parseFloat(t))||a.push(parseFloat(t))}),Math.min.apply(Math,a)}function s(t,e,n){var r=t.slice(e||0,n?n+1:t.length),a=0;return(0,i.each)(r,function(t,e){"number"!=typeof t||isNaN(parseFloat(t))||(a+=parseFloat(t))}),a}var c=function(t){return r(t,1)},u=c,d=function(t){return s(t,1)},l=d,f=function(t){return a(t,1)},h=f,p=function(t){return o(t,1)},_=p,M=function(t){return t[0]},m=M;e.default={average:r,maximum:a,minimum:o,sum:s,getColumnAverage:c,getRowAverage:u,getColumnSum:d,getRowSum:l,getColumnMaximum:f,getRowMaximum:h,getColumnMinimum:p,getRowMinimum:_,getColumnLabel:M,getRowIndex:m}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Dataset=void 0;var i=p(n(8)),r=p(n(160)),a=p(n(159)),o=p(n(158)),s=p(n(157)),c=p(n(156)),u=p(n(155)),d=h(n(134)),l=n(3),f=h(n(154));function h(t){return t&&t.__esModule?t:{default:t}}function p(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e.default=t,e}var _=e.Dataset=function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(this instanceof t==!1)return new t(e);this.matrix=[["Index"]],this.meta={type:void 0},this.config=e};_.prototype.data=function(t){return arguments.length?(this.matrix=t instanceof Array?t:null,this):this.matrix},_.prototype.set=function(t,e){if(arguments.length<2||t.length<2)throw Error("Incorrect arguments provided for #set method");var n="number"==typeof t[0]?t[0]:this.matrix[0].indexOf(t[0]),r="number"==typeof t[1]?t[1]:s.selectColumn.call(this,0).indexOf(t[1]),a=s.selectColumn.call(this,t[0]),o=s.selectRow.call(this,t[1]);return a.length<1&&(i.appendColumn.call(this,String(t[0])),n=this.matrix[0].length-1),o.length<1&&(i.appendRow.call(this,String(t[1])),r=this.matrix.length-1),this.matrix[r][n]=e,this},_.prototype.type=function(t){return arguments.length?(this.meta.type=t?String(t):void 0,this):this.meta.type},(0,l.extend)(_.prototype,i),(0,l.extend)(_.prototype,r),(0,l.extend)(_.prototype,a),(0,l.extend)(_.prototype,o),(0,l.extend)(_.prototype,s),(0,l.extend)(_.prototype,c),(0,l.extend)(_.prototype,u),(0,l.extend)(_.prototype,d.default),_.parser=(0,f.default)(_),e.default=_},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default={render:function(){var t="";this.view._artifacts.spinner={};t+='
',t+='
',t+='
',t+="
",t+="
",this.el().innerHTML=t},update:function(){this.render()},destroy:function(){if(this.view._artifacts.spinner){this.view._artifacts.spinner.interval&&clearInterval(this.view._artifacts.spinner.interval),this.view._artifacts.spinner.radius=0;try{delete this.view._artifacts.spinner}catch(t){this.view._artifacts.spinner=void 0}}this.el().innerHTML=""}}},function(t){t.exports={version:"2018e",zones:["Africa/Abidjan|LMT GMT|g.8 0|01|-2ldXH.Q|48e5","Africa/Accra|LMT GMT +0020|.Q 0 -k|012121212121212121212121212121212121212121212121|-26BbX.8 6tzX.8 MnE 1BAk MnE 1BAk MnE 1BAk MnE 1C0k MnE 1BAk MnE 1BAk MnE 1BAk MnE 1C0k MnE 1BAk MnE 1BAk MnE 1BAk MnE 1C0k MnE 1BAk MnE 1BAk MnE 1BAk MnE 1C0k MnE 1BAk MnE 1BAk MnE 1BAk MnE 1C0k MnE 1BAk MnE 1BAk MnE|41e5","Africa/Nairobi|LMT EAT +0230 +0245|-2r.g -30 -2u -2J|01231|-1F3Cr.g 3Dzr.g okMu MFXJ|47e5","Africa/Algiers|PMT WET WEST CET CEST|-9.l 0 -10 -10 -20|0121212121212121343431312123431213|-2nco9.l cNb9.l HA0 19A0 1iM0 11c0 1oo0 Wo0 1rc0 QM0 1EM0 UM0 DA0 Imo0 rd0 De0 9Xz0 1fb0 1ap0 16K0 2yo0 mEp0 hwL0 jxA0 11A0 dDd0 17b0 11B0 1cN0 2Dy0 1cN0 1fB0 1cL0|26e5","Africa/Lagos|LMT WAT|-d.A -10|01|-22y0d.A|17e6","Africa/Bissau|LMT -01 GMT|12.k 10 0|012|-2ldX0 2xoo0|39e4","Africa/Maputo|LMT CAT|-2a.k -20|01|-2GJea.k|26e5","Africa/Cairo|EET EEST|-20 -30|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-1bIO0 vb0 1ip0 11z0 1iN0 1nz0 12p0 1pz0 10N0 1pz0 16p0 1jz0 s3d0 Vz0 1oN0 11b0 1oO0 10N0 1pz0 10N0 1pb0 10N0 1pb0 10N0 1pb0 10N0 1pz0 10N0 1pb0 10N0 1pb0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1WL0 rd0 1Rz0 wp0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1qL0 Xd0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1ny0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 WL0 1qN0 Rb0 1wp0 On0 1zd0 Lz0 1EN0 Fb0 c10 8n0 8Nd0 gL0 e10 mn0|15e6","Africa/Casablanca|LMT WET WEST CET|u.k 0 -10 -10|0121212121212121213121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2gMnt.E 130Lt.E rb0 Dd0 dVb0 b6p0 TX0 EoB0 LL0 gnd0 rz0 43d0 AL0 1Nd0 XX0 1Cp0 pz0 dEp0 4mn0 SyN0 AL0 1Nd0 wn0 1FB0 Db0 1zd0 Lz0 1Nf0 wM0 co0 go0 1o00 s00 dA0 vc0 11A0 A00 e00 y00 11A0 uM0 e00 Dc0 11A0 s00 e00 IM0 WM0 mo0 gM0 LA0 WM0 jA0 e00 Rc0 11A0 e00 e00 U00 11A0 8o0 e00 11A0 11A0 5A0 e00 17c0 1fA0 1a00 1a00 1fA0 17c0 1io0 14o0 1lc0 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1lc0 14o0 1fA0|32e5","Africa/Ceuta|WET WEST CET CEST|0 -10 -10 -20|010101010101010101010232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-25KN0 11z0 drd0 18p0 3HX0 17d0 1fz0 1a10 1io0 1a00 1y7o0 LL0 gnd0 rz0 43d0 AL0 1Nd0 XX0 1Cp0 pz0 dEp0 4VB0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|85e3","Africa/El_Aaiun|LMT -01 WET WEST|Q.M 10 0 -10|01232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-1rDz7.c 1GVA7.c 6L0 AL0 1Nd0 XX0 1Cp0 pz0 1cBB0 AL0 1Nd0 wn0 1FB0 Db0 1zd0 Lz0 1Nf0 wM0 co0 go0 1o00 s00 dA0 vc0 11A0 A00 e00 y00 11A0 uM0 e00 Dc0 11A0 s00 e00 IM0 WM0 mo0 gM0 LA0 WM0 jA0 e00 Rc0 11A0 e00 e00 U00 11A0 8o0 e00 11A0 11A0 5A0 e00 17c0 1fA0 1a00 1a00 1fA0 17c0 1io0 14o0 1lc0 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1lc0 14o0 1fA0|20e4","Africa/Johannesburg|SAST SAST SAST|-1u -20 -30|012121|-2GJdu 1Ajdu 1cL0 1cN0 1cL0|84e5","Africa/Juba|LMT CAT CAST EAT|-26.s -20 -30 -30|01212121212121212121212121212121213|-1yW26.s 1zK06.s 16L0 1iN0 17b0 1jd0 17b0 1ip0 17z0 1i10 17X0 1hB0 18n0 1hd0 19b0 1gp0 19z0 1iN0 17b0 1ip0 17z0 1i10 18n0 1hd0 18L0 1gN0 19b0 1gp0 19z0 1iN0 17z0 1i10 17X0 yGd0","Africa/Khartoum|LMT CAT CAST EAT|-2a.8 -20 -30 -30|012121212121212121212121212121212131|-1yW2a.8 1zK0a.8 16L0 1iN0 17b0 1jd0 17b0 1ip0 17z0 1i10 17X0 1hB0 18n0 1hd0 19b0 1gp0 19z0 1iN0 17b0 1ip0 17z0 1i10 18n0 1hd0 18L0 1gN0 19b0 1gp0 19z0 1iN0 17z0 1i10 17X0 yGd0 HjL0|51e5","Africa/Monrovia|MMT MMT GMT|H.8 I.u 0|012|-23Lzg.Q 28G01.m|11e5","Africa/Ndjamena|LMT WAT WAST|-10.c -10 -20|0121|-2le10.c 2J3c0.c Wn0|13e5","Africa/Sao_Tome|LMT GMT WAT|A.J 0 -10|012|-2le00 4i6N0","Africa/Tripoli|LMT CET CEST EET|-Q.I -10 -20 -20|012121213121212121212121213123123|-21JcQ.I 1hnBQ.I vx0 4iP0 xx0 4eN0 Bb0 7ip0 U0n0 A10 1db0 1cN0 1db0 1dd0 1db0 1eN0 1bb0 1e10 1cL0 1c10 1db0 1dd0 1db0 1cN0 1db0 1q10 fAn0 1ep0 1db0 AKq0 TA0 1o00|11e5","Africa/Tunis|PMT CET CEST|-9.l -10 -20|0121212121212121212121212121212121|-2nco9.l 18pa9.l 1qM0 DA0 3Tc0 11B0 1ze0 WM0 7z0 3d0 14L0 1cN0 1f90 1ar0 16J0 1gXB0 WM0 1rA0 11c0 nwo0 Ko0 1cM0 1cM0 1rA0 10M0 zuM0 10N0 1aN0 1qM0 WM0 1qM0 11A0 1o00|20e5","Africa/Windhoek|+0130 SAST SAST CAT WAT|-1u -20 -30 -20 -10|01213434343434343434343434343434343434343434343434343|-2GJdu 1Ajdu 1cL0 1SqL0 9Io0 16P0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0|32e4","America/Adak|NST NWT NPT BST BDT AHST HST HDT|b0 a0 a0 b0 a0 a0 a0 90|012034343434343434343434343434343456767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676|-17SX0 8wW0 iB0 Qlb0 52O0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 cm0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|326","America/Anchorage|AST AWT APT AHST AHDT YST AKST AKDT|a0 90 90 a0 90 90 90 80|012034343434343434343434343434343456767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676|-17T00 8wX0 iA0 Qlb0 52O0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 cm0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|30e4","America/Port_of_Spain|LMT AST|46.4 40|01|-2kNvR.U|43e3","America/Araguaina|LMT -03 -02|3c.M 30 20|0121212121212121212121212121212121212121212121212121|-2glwL.c HdKL.c 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 dMN0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 ny10 Lz0|14e4","America/Argentina/Buenos_Aires|CMT -04 -03 -02|4g.M 40 30 20|01212121212121212121212121212121212121212123232323232323232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wp0 Rb0 1wp0 TX0 A4p0 uL0 1qN0 WL0","America/Argentina/Catamarca|CMT -04 -03 -02|4g.M 40 30 20|01212121212121212121212121212121212121212123232323132321232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wq0 Ra0 1wp0 TX0 rlB0 7B0 8zb0 uL0","America/Argentina/Cordoba|CMT -04 -03 -02|4g.M 40 30 20|01212121212121212121212121212121212121212123232323132323232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wq0 Ra0 1wp0 TX0 A4p0 uL0 1qN0 WL0","America/Argentina/Jujuy|CMT -04 -03 -02|4g.M 40 30 20|012121212121212121212121212121212121212121232323121323232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1ze0 TX0 1ld0 WK0 1wp0 TX0 A4p0 uL0","America/Argentina/La_Rioja|CMT -04 -03 -02|4g.M 40 30 20|012121212121212121212121212121212121212121232323231232321232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Qn0 qO0 16n0 Rb0 1wp0 TX0 rlB0 7B0 8zb0 uL0","America/Argentina/Mendoza|CMT -04 -03 -02|4g.M 40 30 20|01212121212121212121212121212121212121212123232312121321232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1u20 SL0 1vd0 Tb0 1wp0 TW0 ri10 Op0 7TX0 uL0","America/Argentina/Rio_Gallegos|CMT -04 -03 -02|4g.M 40 30 20|01212121212121212121212121212121212121212123232323232321232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wp0 Rb0 1wp0 TX0 rlB0 7B0 8zb0 uL0","America/Argentina/Salta|CMT -04 -03 -02|4g.M 40 30 20|012121212121212121212121212121212121212121232323231323232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wq0 Ra0 1wp0 TX0 A4p0 uL0","America/Argentina/San_Juan|CMT -04 -03 -02|4g.M 40 30 20|012121212121212121212121212121212121212121232323231232321232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Qn0 qO0 16n0 Rb0 1wp0 TX0 rld0 m10 8lb0 uL0","America/Argentina/San_Luis|CMT -04 -03 -02|4g.M 40 30 20|012121212121212121212121212121212121212121232323121212321212|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 XX0 1q20 SL0 AN0 vDb0 m10 8lb0 8L0 jd0 1qN0 WL0 1qN0","America/Argentina/Tucuman|CMT -04 -03 -02|4g.M 40 30 20|0121212121212121212121212121212121212121212323232313232123232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wq0 Ra0 1wp0 TX0 rlB0 4N0 8BX0 uL0 1qN0 WL0","America/Argentina/Ushuaia|CMT -04 -03 -02|4g.M 40 30 20|01212121212121212121212121212121212121212123232323232321232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wp0 Rb0 1wp0 TX0 rkN0 8p0 8zb0 uL0","America/Curacao|LMT -0430 AST|4z.L 4u 40|012|-2kV7o.d 28KLS.d|15e4","America/Asuncion|AMT -04 -03|3O.E 40 30|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212|-1x589.k 1DKM9.k 3CL0 3Dd0 10L0 1pB0 10n0 1pB0 10n0 1pB0 1cL0 1dd0 1db0 1dd0 1cL0 1dd0 1cL0 1dd0 1cL0 1dd0 1db0 1dd0 1cL0 1dd0 1cL0 1dd0 1cL0 1dd0 1db0 1dd0 1cL0 1lB0 14n0 1dd0 1cL0 1fd0 WL0 1rd0 1aL0 1dB0 Xz0 1qp0 Xb0 1qN0 10L0 1rB0 TX0 1tB0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 1cL0 WN0 1qL0 11B0 1nX0 1ip0 WL0 1qN0 WL0 1qN0 WL0 1tB0 TX0 1tB0 TX0 1tB0 19X0 1a10 1fz0 1a10 1fz0 1cN0 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0|28e5","America/Atikokan|CST CDT CWT CPT EST|60 50 50 50 50|0101234|-25TQ0 1in0 Rnb0 3je0 8x30 iw0|28e2","America/Bahia_Banderas|LMT MST CST PST MDT CDT|71 70 60 80 60 50|0121212131414141414141414141414141414152525252525252525252525252525252525252525252525252525252|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 otX0 gmN0 P2N0 13Vd0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nW0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0|84e3","America/Bahia|LMT -03 -02|2y.4 30 20|01212121212121212121212121212121212121212121212121212121212121|-2glxp.U HdLp.U 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 1EN0 Lz0 1C10 IL0 1HB0 Db0 1HB0 On0 1zd0 On0 1zd0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 l5B0 Rb0|27e5","America/Barbados|LMT BMT AST ADT|3W.t 3W.t 40 30|01232323232|-1Q0I1.v jsM0 1ODC1.v IL0 1ip0 17b0 1ip0 17b0 1ld0 13b0|28e4","America/Belem|LMT -03 -02|3d.U 30 20|012121212121212121212121212121|-2glwK.4 HdKK.4 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0|20e5","America/Belize|LMT CST -0530 CDT|5Q.M 60 5u 50|01212121212121212121212121212121212121212121212121213131|-2kBu7.c fPA7.c Onu 1zcu Rbu 1wou Rbu 1wou Rbu 1zcu Onu 1zcu Onu 1zcu Rbu 1wou Rbu 1wou Rbu 1wou Rbu 1zcu Onu 1zcu Onu 1zcu Rbu 1wou Rbu 1wou Rbu 1zcu Onu 1zcu Onu 1zcu Onu 1zcu Rbu 1wou Rbu 1wou Rbu 1zcu Onu 1zcu Onu 1zcu Rbu 1wou Rbu 1f0Mu qn0 lxB0 mn0|57e3","America/Blanc-Sablon|AST ADT AWT APT|40 30 30 30|010230|-25TS0 1in0 UGp0 8x50 iu0|11e2","America/Boa_Vista|LMT -04 -03|42.E 40 30|0121212121212121212121212121212121|-2glvV.k HdKV.k 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 smp0 WL0 1tB0 2L0|62e2","America/Bogota|BMT -05 -04|4U.g 50 40|0121|-2eb73.I 38yo3.I 2en0|90e5","America/Boise|PST PDT MST MWT MPT MDT|80 70 70 60 60 60|0101023425252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252|-261q0 1nX0 11B0 1nX0 8C10 JCL0 8x20 ix0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 Dd0 1Kn0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|21e4","America/Cambridge_Bay|-00 MST MWT MPT MDDT MDT CST CDT EST|0 70 60 60 50 60 60 50 50|0123141515151515151515151515151515151515151515678651515151515151515151515151515151515151515151515151515151515151515151515151|-21Jc0 RO90 8x20 ix0 LCL0 1fA0 zgO0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11A0 1nX0 2K0 WQ0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|15e2","America/Campo_Grande|LMT -04 -03|3C.s 40 30|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212|-2glwl.w HdLl.w 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 1EN0 Lz0 1C10 IL0 1HB0 Db0 1HB0 On0 1zd0 On0 1zd0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 1C10 Lz0 1Ip0 HX0 1zd0 On0 1HB0 IL0 1wp0 On0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 Rb0 1zd0 Lz0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 On0 1zd0 On0 1HB0 FX0 1HB0 FX0 1HB0 IL0 1HB0 FX0 1HB0 IL0 1EN0 FX0 1HB0 FX0 1HB0 IL0 1EN0 IL0 1HB0 FX0 1HB0 FX0 1HB0 FX0 1HB0 FX0 1HB0 FX0 1Kp0 FX0 1HB0 IL0 1EN0 FX0 1HB0 FX0 1HB0 IL0 1EN0|77e4","America/Cancun|LMT CST EST EDT CDT|5L.4 60 50 40 50|0123232341414141414141414141414141414141412|-1UQG0 2q2o0 yLB0 1lb0 14p0 1lb0 14p0 Lz0 xB0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 Dd0|63e4","America/Caracas|CMT -0430 -04|4r.E 4u 40|01212|-2kV7w.k 28KM2.k 1IwOu kqo0|29e5","America/Cayenne|LMT -04 -03|3t.k 40 30|012|-2mrwu.E 2gWou.E|58e3","America/Panama|CMT EST|5j.A 50|01|-2uduE.o|15e5","America/Chicago|CST CDT EST CWT CPT|60 50 50 50 50|01010101010101010101010101010101010102010101010103401010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261s0 1nX0 11B0 1nX0 1wp0 TX0 WN0 1qL0 1cN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 11B0 1Hz0 14p0 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 RB0 8x30 iw0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|92e5","America/Chihuahua|LMT MST CST CDT MDT|74.k 70 60 50 60|0121212323241414141414141414141414141414141414141414141414141414141414141414141414141414141|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 2zQN0 1lb0 14p0 1lb0 14q0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0|81e4","America/Costa_Rica|SJMT CST CDT|5A.d 60 50|0121212121|-1Xd6n.L 2lu0n.L Db0 1Kp0 Db0 pRB0 15b0 1kp0 mL0|12e5","America/Creston|MST PST|70 80|010|-29DR0 43B0|53e2","America/Cuiaba|LMT -04 -03|3I.k 40 30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212|-2glwf.E HdLf.E 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 1EN0 Lz0 1C10 IL0 1HB0 Db0 1HB0 On0 1zd0 On0 1zd0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 4a10 HX0 1zd0 On0 1HB0 IL0 1wp0 On0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 Rb0 1zd0 Lz0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 On0 1zd0 On0 1HB0 FX0 1HB0 FX0 1HB0 IL0 1HB0 FX0 1HB0 IL0 1EN0 FX0 1HB0 FX0 1HB0 IL0 1EN0 IL0 1HB0 FX0 1HB0 FX0 1HB0 FX0 1HB0 FX0 1HB0 FX0 1Kp0 FX0 1HB0 IL0 1EN0 FX0 1HB0 FX0 1HB0 IL0 1EN0|54e4","America/Danmarkshavn|LMT -03 -02 GMT|1e.E 30 20 0|01212121212121212121212121212121213|-2a5WJ.k 2z5fJ.k 19U0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 DC0|8","America/Dawson_Creek|PST PDT PWT PPT MST|80 70 70 70 70|0102301010101010101010101010101010101010101010101010101014|-25TO0 1in0 UGp0 8x10 iy0 3NB0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 ML0|12e3","America/Dawson|YST YDT YWT YPT YDDT PST PDT|90 80 80 80 70 80 70|0101023040565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565|-25TN0 1in0 1o10 13V0 Ser0 8x00 iz0 LCL0 1fA0 jrA0 fNd0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|13e2","America/Denver|MST MDT MWT MPT|70 60 60 60|01010101023010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261r0 1nX0 11B0 1nX0 11B0 1qL0 WN0 mn0 Ord0 8x20 ix0 LCN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|26e5","America/Detroit|LMT CST EST EWT EPT EDT|5w.b 60 50 40 40 40|012342525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252|-2Cgir.N peqr.N 156L0 8x40 iv0 6fd0 11z0 XQp0 1cL0 s10 1Vz0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|37e5","America/Edmonton|LMT MST MDT MWT MPT|7x.Q 70 60 60 60|01212121212121341212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2yd4q.8 shdq.8 1in0 17d0 hz0 2dB0 1fz0 1a10 11z0 1qN0 WL0 1qN0 11z0 IGN0 8x20 ix0 3NB0 11z0 LFB0 1cL0 3Cp0 1cL0 66N0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|10e5","America/Eirunepe|LMT -05 -04|4D.s 50 40|0121212121212121212121212121212121|-2glvk.w HdLk.w 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 dPB0 On0 yTd0 d5X0|31e3","America/El_Salvador|LMT CST CDT|5U.M 60 50|012121|-1XiG3.c 2Fvc3.c WL0 1qN0 WL0|11e5","America/Tijuana|LMT MST PST PDT PWT PPT|7M.4 70 80 70 70 70|012123245232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-1UQE0 4PX0 8mM0 8lc0 SN0 1cL0 pHB0 83r0 zI0 5O10 1Rz0 cOO0 11A0 1o00 11A0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 BUp0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 U10 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|20e5","America/Fort_Nelson|PST PDT PWT PPT MST|80 70 70 70 70|01023010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010104|-25TO0 1in0 UGp0 8x10 iy0 3NB0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0|39e2","America/Fort_Wayne|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|010101023010101010101010101040454545454545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 QI10 Db0 RB0 8x30 iw0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 5Tz0 1o10 qLb0 1cL0 1cN0 1cL0 1qhd0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Fortaleza|LMT -03 -02|2y 30 20|0121212121212121212121212121212121212121|-2glxq HdLq 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 nsp0 WL0 1tB0 5z0 2mN0 On0|34e5","America/Glace_Bay|LMT AST ADT AWT APT|3X.M 40 30 30 30|012134121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2IsI0.c CwO0.c 1in0 UGp0 8x50 iu0 iq10 11z0 Jg10 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|19e3","America/Godthab|LMT -03 -02|3q.U 30 20|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2a5Ux.4 2z5dx.4 19U0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|17e3","America/Goose_Bay|NST NDT NST NDT NWT NPT AST ADT ADDT|3u.Q 2u.Q 3u 2u 2u 2u 40 30 20|010232323232323245232323232323232323232323232323232323232326767676767676767676767676767676767676767676768676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676|-25TSt.8 1in0 DXb0 2HbX.8 WL0 1qN0 WL0 1qN0 WL0 1tB0 TX0 1tB0 WL0 1qN0 WL0 1qN0 7UHu itu 1tB0 WL0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1tB0 WL0 1ld0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 S10 g0u 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14n1 1lb0 14p0 1nW0 11C0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zcX Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|76e2","America/Grand_Turk|KMT EST EDT AST|57.a 50 40 40|01212121212121212121212121212121212121212121212121212121212121212121212121232121212121212121212121212121212121212121|-2l1uQ.O 2HHBQ.O 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 5Ip0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|37e2","America/Guatemala|LMT CST CDT|62.4 60 50|0121212121|-24KhV.U 2efXV.U An0 mtd0 Nz0 ifB0 17b0 zDB0 11z0|13e5","America/Guayaquil|QMT -05 -04|5e 50 40|0121|-1yVSK 2uILK rz0|27e5","America/Guyana|LMT -0345 -03 -04|3Q.E 3J 30 40|0123|-2dvU7.k 2r6LQ.k Bxbf|80e4","America/Halifax|LMT AST ADT AWT APT|4e.o 40 30 30 30|0121212121212121212121212121212121212121212121212134121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2IsHJ.A xzzJ.A 1db0 3I30 1in0 3HX0 IL0 1E10 ML0 1yN0 Pb0 1Bd0 Mn0 1Bd0 Rz0 1w10 Xb0 1w10 LX0 1w10 Xb0 1w10 Lz0 1C10 Jz0 1E10 OL0 1yN0 Un0 1qp0 Xb0 1qp0 11X0 1w10 Lz0 1HB0 LX0 1C10 FX0 1w10 Xb0 1qp0 Xb0 1BB0 LX0 1td0 Xb0 1qp0 Xb0 Rf0 8x50 iu0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 3Qp0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 3Qp0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 6i10 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|39e4","America/Havana|HMT CST CDT|5t.A 50 40|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1Meuu.o 72zu.o ML0 sld0 An0 1Nd0 Db0 1Nd0 An0 6Ep0 An0 1Nd0 An0 JDd0 Mn0 1Ap0 On0 1fd0 11X0 1qN0 WL0 1wp0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 14n0 1ld0 14L0 1kN0 15b0 1kp0 1cL0 1cN0 1fz0 1a10 1fz0 1fB0 11z0 14p0 1nX0 11B0 1nX0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 14n0 1ld0 14n0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 1a10 1in0 1a10 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 17c0 1o00 11A0 1qM0 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 11A0 6i00 Rc0 1wo0 U00 1tA0 Rc0 1wo0 U00 1wo0 U00 1zc0 U00 1qM0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0|21e5","America/Hermosillo|LMT MST CST PST MDT|7n.Q 70 60 80 60|0121212131414141|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 otX0 gmN0 P2N0 13Vd0 1lb0 14p0 1lb0 14p0 1lb0|64e4","America/Indiana/Knox|CST CDT CWT CPT EST|60 50 50 50 50|0101023010101010101010101010101010101040101010101010101010101010101010101010101010101010141010101010101010101010101010101010101010101010101010101010101010|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 3NB0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 11z0 1o10 11z0 1o10 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 3Cn0 8wp0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 z8o0 1o00 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Indiana/Marengo|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|0101023010101010101010104545454545414545454545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 dyN0 11z0 6fd0 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 jrz0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1VA0 LA0 1BX0 1e6p0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Indiana/Petersburg|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|01010230101010101010101010104010101010101010101010141014545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 njX0 WN0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 3Fb0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 19co0 1o00 Rd0 1zb0 Oo0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Indiana/Tell_City|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|01010230101010101010101010101010454541010101010101010101010101010101010101010101010101010101010101010|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 1o10 11z0 g0p0 11z0 1o10 11z0 1qL0 WN0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 WL0 1qN0 1cL0 1cN0 1cL0 1cN0 caL0 1cL0 1cN0 1cL0 1qhd0 1o00 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Indiana/Vevay|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|010102304545454545454545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 kPB0 Awn0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1lnd0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Indiana/Vincennes|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|01010230101010101010101010101010454541014545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 1o10 11z0 g0p0 11z0 1o10 11z0 1qL0 WN0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 WL0 1qN0 1cL0 1cN0 1cL0 1cN0 caL0 1cL0 1cN0 1cL0 1qhd0 1o00 Rd0 1zb0 Oo0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Indiana/Winamac|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|01010230101010101010101010101010101010454541054545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 jrz0 1cL0 1cN0 1cL0 1qhd0 1o00 Rd0 1za0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Inuvik|-00 PST PDDT MST MDT|0 80 60 70 60|0121343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343|-FnA0 tWU0 1fA0 wPe0 2pz0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|35e2","America/Iqaluit|-00 EWT EPT EST EDDT EDT CST CDT|0 40 40 50 30 40 60 50|01234353535353535353535353535353535353535353567353535353535353535353535353535353535353535353535353535353535353535353535353|-16K00 7nX0 iv0 LCL0 1fA0 zgO0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11C0 1nX0 11A0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|67e2","America/Jamaica|KMT EST EDT|57.a 50 40|0121212121212121212121|-2l1uQ.O 2uM1Q.O 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0|94e4","America/Juneau|PST PWT PPT PDT YDT YST AKST AKDT|80 70 70 70 80 90 90 80|01203030303030303030303030403030356767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676|-17T20 8x10 iy0 Vo10 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cM0 1cM0 1cL0 1cN0 1fz0 1a10 1fz0 co0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|33e3","America/Kentucky/Louisville|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|0101010102301010101010101010101010101454545454545414545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 3Fd0 Nb0 LPd0 11z0 RB0 8x30 iw0 Bb0 10N0 2bB0 8in0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 xz0 gso0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1VA0 LA0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Kentucky/Monticello|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|0101023010101010101010101010101010101010101010101010101010101010101010101454545454545454545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 SWp0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11A0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/La_Paz|CMT BST -04|4w.A 3w.A 40|012|-1x37r.o 13b0|19e5","America/Lima|LMT -05 -04|58.A 50 40|0121212121212121|-2tyGP.o 1bDzP.o zX0 1aN0 1cL0 1cN0 1cL0 1PrB0 zX0 1O10 zX0 6Gp0 zX0 98p0 zX0|11e6","America/Los_Angeles|PST PDT PWT PPT|80 70 70 70|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261q0 1nX0 11B0 1nX0 SgN0 8x10 iy0 5Wp1 1VaX 3dA0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1a00 1fA0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|15e6","America/Maceio|LMT -03 -02|2m.Q 30 20|012121212121212121212121212121212121212121|-2glxB.8 HdLB.8 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 dMN0 Lz0 8Q10 WL0 1tB0 5z0 2mN0 On0|93e4","America/Managua|MMT CST EST CDT|5J.c 60 50 50|0121313121213131|-1quie.M 1yAMe.M 4mn0 9Up0 Dz0 1K10 Dz0 s3F0 1KH0 DB0 9In0 k8p0 19X0 1o30 11y0|22e5","America/Manaus|LMT -04 -03|40.4 40 30|01212121212121212121212121212121|-2glvX.U HdKX.U 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 dPB0 On0|19e5","America/Martinique|FFMT AST ADT|44.k 40 30|0121|-2mPTT.E 2LPbT.E 19X0|39e4","America/Matamoros|LMT CST CDT|6E 60 50|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1UQG0 2FjC0 1nX0 i6p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 U10 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|45e4","America/Mazatlan|LMT MST CST PST MDT|75.E 70 60 80 60|0121212131414141414141414141414141414141414141414141414141414141414141414141414141414141414141|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 otX0 gmN0 P2N0 13Vd0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0|44e4","America/Menominee|CST CDT CWT CPT EST|60 50 50 50 50|01010230101041010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 1o10 11z0 LCN0 1fz0 6410 9Jb0 1cM0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|85e2","America/Merida|LMT CST EST CDT|5W.s 60 50 50|0121313131313131313131313131313131313131313131313131313131313131313131313131313131313131|-1UQG0 2q2o0 2hz0 wu30 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0|11e5","America/Metlakatla|PST PWT PPT PDT AKST AKDT|80 70 70 70 90 80|0120303030303030303030303030303030454545454545454545454545454545454545454545454|-17T20 8x10 iy0 Vo10 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1hU10 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|14e2","America/Mexico_City|LMT MST CST CDT CWT|6A.A 70 60 50 50|012121232324232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 gEn0 TX0 3xd0 Jb0 6zB0 SL0 e5d0 17b0 1Pff0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0|20e6","America/Miquelon|LMT AST -03 -02|3I.E 40 30 20|012323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-2mKkf.k 2LTAf.k gQ10 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|61e2","America/Moncton|EST AST ADT AWT APT|50 40 30 30 30|012121212121212121212134121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2IsH0 CwN0 1in0 zAo0 An0 1Nd0 An0 1Nd0 An0 1Nd0 An0 1Nd0 An0 1Nd0 An0 1K10 Lz0 1zB0 NX0 1u10 Wn0 S20 8x50 iu0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 3Cp0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14n1 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 ReX 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|64e3","America/Monterrey|LMT CST CDT|6F.g 60 50|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1UQG0 2FjC0 1nX0 i6p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0|41e5","America/Montevideo|LMT MMT -04 -03 -0330 -0230 -02 -0130|3I.P 3I.P 40 30 3u 2u 20 1u|012343434343434343434343435353636353636375363636363636363636363636363636363636363636363|-2tRUf.9 sVc0 8jcf.9 1db0 1dcu 1cLu 1dcu 1cLu ircu 11zu 1o0u 11zu 1o0u 11zu 1o0u 11zu 1qMu WLu 1qMu WLu 1fAu 1cLu 1o0u 11zu NAu 3jXu zXu Dq0u 19Xu pcu jz0 cm10 19X0 6tB0 1fbu 3o0u jX0 4vB0 xz0 3Cp0 mmu 1a10 IMu Db0 4c10 uL0 1Nd0 An0 1SN0 uL0 mp0 28L0 iPB0 un0 1SN0 xz0 1zd0 Lz0 1zd0 Rb0 1zd0 On0 1wp0 Rb0 s8p0 1fB0 1ip0 11z0 1ld0 14n0 1o10 11z0 1o10 11z0 1o10 14n0 1ld0 14n0 1ld0 14n0 1o10 11z0 1o10 11z0 1o10 11z0|17e5","America/Toronto|EST EDT EWT EPT|50 40 40 40|01010101010101010101010101010101010101010101012301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-25TR0 1in0 11Wu 1nzu 1fD0 WJ0 1wr0 Nb0 1Ap0 On0 1zd0 On0 1wp0 TX0 1tB0 TX0 1tB0 TX0 1tB0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 4kM0 8x40 iv0 1o10 11z0 1nX0 11z0 1o10 11z0 1o10 1qL0 11D0 1nX0 11B0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|65e5","America/Nassau|LMT EST EDT|59.u 50 40|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2kNuO.u 26XdO.u 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|24e4","America/New_York|EST EDT EWT EPT|50 40 40 40|01010101010101010101010101010101010101010101010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261t0 1nX0 11B0 1nX0 11B0 1qL0 1a10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 RB0 8x40 iv0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|21e6","America/Nipigon|EST EDT EWT EPT|50 40 40 40|010123010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-25TR0 1in0 Rnb0 3je0 8x40 iv0 19yN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|16e2","America/Nome|NST NWT NPT BST BDT YST AKST AKDT|b0 a0 a0 b0 a0 90 90 80|012034343434343434343434343434343456767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676|-17SX0 8wW0 iB0 Qlb0 52O0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 cl0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|38e2","America/Noronha|LMT -02 -01|29.E 20 10|0121212121212121212121212121212121212121|-2glxO.k HdKO.k 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 nsp0 WL0 1tB0 2L0 2pB0 On0|30e2","America/North_Dakota/Beulah|MST MDT MWT MPT CST CDT|70 60 60 60 60 50|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101014545454545454545454545454545454545454545454545454545454|-261r0 1nX0 11B0 1nX0 SgN0 8x20 ix0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Oo0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/North_Dakota/Center|MST MDT MWT MPT CST CDT|70 60 60 60 60 50|010102301010101010101010101010101010101010101010101010101014545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-261r0 1nX0 11B0 1nX0 SgN0 8x20 ix0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14o0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/North_Dakota/New_Salem|MST MDT MWT MPT CST CDT|70 60 60 60 60 50|010102301010101010101010101010101010101010101010101010101010101010101010101010101454545454545454545454545454545454545454545454545454545454545454545454|-261r0 1nX0 11B0 1nX0 SgN0 8x20 ix0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14o0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Ojinaga|LMT MST CST CDT MDT|6V.E 70 60 50 60|0121212323241414141414141414141414141414141414141414141414141414141414141414141414141414141|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 2zQN0 1lb0 14p0 1lb0 14q0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 U10 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|23e3","America/Pangnirtung|-00 AST AWT APT ADDT ADT EDT EST CST CDT|0 40 30 30 20 30 40 50 60 50|012314151515151515151515151515151515167676767689767676767676767676767676767676767676767676767676767676767676767676767676767|-1XiM0 PnG0 8x50 iu0 LCL0 1fA0 zgO0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1o00 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11C0 1nX0 11A0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|14e2","America/Paramaribo|LMT PMT PMT -0330 -03|3E.E 3E.Q 3E.A 3u 30|01234|-2nDUj.k Wqo0.c qanX.I 1yVXN.o|24e4","America/Phoenix|MST MDT MWT|70 60 60|01010202010|-261r0 1nX0 11B0 1nX0 SgN0 4Al1 Ap0 1db0 SWqX 1cL0|42e5","America/Port-au-Prince|PPMT EST EDT|4N 50 40|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-28RHb 2FnMb 19X0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14q0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 i6n0 1nX0 11B0 1nX0 d430 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 3iN0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|23e5","America/Rio_Branco|LMT -05 -04|4v.c 50 40|01212121212121212121212121212121|-2glvs.M HdLs.M 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 NBd0 d5X0|31e4","America/Porto_Velho|LMT -04 -03|4f.A 40 30|012121212121212121212121212121|-2glvI.o HdKI.o 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0|37e4","America/Puerto_Rico|AST AWT APT|40 30 30|0120|-17lU0 7XT0 iu0|24e5","America/Punta_Arenas|SMT -05 -04 -03|4G.K 50 40 30|0102021212121212121232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323|-2q2jh.e fJAh.e 5knG.K 1Vzh.e jRAG.K 1pbh.e 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 nHX0 op0 blz0 ko0 Qeo0 WL0 1zd0 On0 1ip0 11z0 1o10 11z0 1qN0 WL0 1ld0 14n0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 1cL0 1cN0 11z0 1o10 11z0 1qN0 WL0 1fB0 19X0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1ip0 1fz0 1fB0 11z0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1o10 19X0 1fB0 1nX0 G10 1EL0 Op0 1zb0 Rd0 1wn0 Rd0 46n0 Ap0","America/Rainy_River|CST CDT CWT CPT|60 50 50 50|010123010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-25TQ0 1in0 Rnb0 3je0 8x30 iw0 19yN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|842","America/Rankin_Inlet|-00 CST CDDT CDT EST|0 60 40 50 50|012131313131313131313131313131313131313131313431313131313131313131313131313131313131313131313131313131313131313131313131|-vDc0 keu0 1fA0 zgO0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|26e2","America/Recife|LMT -03 -02|2j.A 30 20|0121212121212121212121212121212121212121|-2glxE.o HdLE.o 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 nsp0 WL0 1tB0 2L0 2pB0 On0|33e5","America/Regina|LMT MST MDT MWT MPT CST|6W.A 70 60 60 60 60|012121212121212121212121341212121212121212121212121215|-2AD51.o uHe1.o 1in0 s2L0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 66N0 1cL0 1cN0 19X0 1fB0 1cL0 1fB0 1cL0 1cN0 1cL0 M30 8x20 ix0 1ip0 1cL0 1ip0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 3NB0 1cL0 1cN0|19e4","America/Resolute|-00 CST CDDT CDT EST|0 60 40 50 50|012131313131313131313131313131313131313131313431313131313431313131313131313131313131313131313131313131313131313131313131|-SnA0 GWS0 1fA0 zgO0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|229","America/Santarem|LMT -04 -03|3C.M 40 30|0121212121212121212121212121212|-2glwl.c HdLl.c 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 NBd0|21e4","America/Santiago|SMT -05 -04 -03|4G.K 50 40 30|010202121212121212321232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323|-2q2jh.e fJAh.e 5knG.K 1Vzh.e jRAG.K 1pbh.e 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 nHX0 op0 9Bz0 jb0 1oN0 ko0 Qeo0 WL0 1zd0 On0 1ip0 11z0 1o10 11z0 1qN0 WL0 1ld0 14n0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 1cL0 1cN0 11z0 1o10 11z0 1qN0 WL0 1fB0 19X0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1ip0 1fz0 1fB0 11z0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1o10 19X0 1fB0 1nX0 G10 1EL0 Op0 1zb0 Rd0 1wn0 Rd0 46n0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Dd0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Dd0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Dd0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0|62e5","America/Santo_Domingo|SDMT EST EDT -0430 AST|4E 50 40 4u 40|01213131313131414|-1ttjk 1lJMk Mn0 6sp0 Lbu 1Cou yLu 1RAu wLu 1QMu xzu 1Q0u xXu 1PAu 13jB0 e00|29e5","America/Sao_Paulo|LMT -03 -02|36.s 30 20|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212|-2glwR.w HdKR.w 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 pTd0 PX0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 1EN0 Lz0 1C10 IL0 1HB0 Db0 1HB0 On0 1zd0 On0 1zd0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 1C10 Lz0 1Ip0 HX0 1zd0 On0 1HB0 IL0 1wp0 On0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 Rb0 1zd0 Lz0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 On0 1zd0 On0 1HB0 FX0 1HB0 FX0 1HB0 IL0 1HB0 FX0 1HB0 IL0 1EN0 FX0 1HB0 FX0 1HB0 IL0 1EN0 IL0 1HB0 FX0 1HB0 FX0 1HB0 FX0 1HB0 FX0 1HB0 FX0 1Kp0 FX0 1HB0 IL0 1EN0 FX0 1HB0 FX0 1HB0 IL0 1EN0|20e6","America/Scoresbysund|LMT -02 -01 +00|1r.Q 20 10 0|0121323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-2a5Ww.8 2z5ew.8 1a00 1cK0 1cL0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|452","America/Sitka|PST PWT PPT PDT YST AKST AKDT|80 70 70 70 90 90 80|01203030303030303030303030303030345656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565|-17T20 8x10 iy0 Vo10 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 co0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|90e2","America/St_Johns|NST NDT NST NDT NWT NPT NDDT|3u.Q 2u.Q 3u 2u 2u 2u 1u|01010101010101010101010101010101010102323232323232324523232323232323232323232323232323232323232323232323232323232323232323232323232323232326232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-28oit.8 14L0 1nB0 1in0 1gm0 Dz0 1JB0 1cL0 1cN0 1cL0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1fB0 1cL0 1cN0 1cL0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1fB0 1cL0 1fB0 19X0 1fB0 19X0 10O0 eKX.8 19X0 1iq0 WL0 1qN0 WL0 1qN0 WL0 1tB0 TX0 1tB0 WL0 1qN0 WL0 1qN0 7UHu itu 1tB0 WL0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1tB0 WL0 1ld0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14n1 1lb0 14p0 1nW0 11C0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zcX Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|11e4","America/Swift_Current|LMT MST MDT MWT MPT CST|7b.k 70 60 60 60 60|012134121212121212121215|-2AD4M.E uHdM.E 1in0 UGp0 8x20 ix0 1o10 17b0 1ip0 11z0 1o10 11z0 1o10 11z0 isN0 1cL0 3Cp0 1cL0 1cN0 11z0 1qN0 WL0 pMp0|16e3","America/Tegucigalpa|LMT CST CDT|5M.Q 60 50|01212121|-1WGGb.8 2ETcb.8 WL0 1qN0 WL0 GRd0 AL0|11e5","America/Thule|LMT AST ADT|4z.8 40 30|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2a5To.Q 31NBo.Q 1cL0 1cN0 1cL0 1fB0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|656","America/Thunder_Bay|CST EST EWT EPT EDT|60 50 40 40 40|0123141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141|-2q5S0 1iaN0 8x40 iv0 XNB0 1cL0 1cN0 1fz0 1cN0 1cL0 3Cp0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|11e4","America/Vancouver|PST PDT PWT PPT|80 70 70 70|0102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-25TO0 1in0 UGp0 8x10 iy0 1o10 17b0 1ip0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|23e5","America/Whitehorse|YST YDT YWT YPT YDDT PST PDT|90 80 80 80 70 80 70|0101023040565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565|-25TN0 1in0 1o10 13V0 Ser0 8x00 iz0 LCL0 1fA0 3NA0 vrd0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|23e3","America/Winnipeg|CST CDT CWT CPT|60 50 50 50|010101023010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aIi0 WL0 3ND0 1in0 Jap0 Rb0 aCN0 8x30 iw0 1tB0 11z0 1ip0 11z0 1o10 11z0 1o10 11z0 1rd0 10L0 1op0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 1cL0 1cN0 11z0 6i10 WL0 6i10 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1a00 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1a00 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|66e4","America/Yakutat|YST YWT YPT YDT AKST AKDT|90 80 80 80 90 80|01203030303030303030303030303030304545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-17T10 8x00 iz0 Vo10 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 cn0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|642","America/Yellowknife|-00 MST MWT MPT MDDT MDT|0 70 60 60 50 60|012314151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151|-1pdA0 hix0 8x20 ix0 LCL0 1fA0 zgO0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|19e3","Antarctica/Casey|-00 +08 +11|0 -80 -b0|01212121|-2q00 1DjS0 T90 40P0 KL0 blz0 3m10|10","Antarctica/Davis|-00 +07 +05|0 -70 -50|01012121|-vyo0 iXt0 alj0 1D7v0 VB0 3Wn0 KN0|70","Antarctica/DumontDUrville|-00 +10|0 -a0|0101|-U0o0 cfq0 bFm0|80","Antarctica/Macquarie|AEST AEDT -00 +11|-a0 -b0 0 -b0|0102010101010101010101010101010101010101010101010101010101010101010101010101010101010101013|-29E80 19X0 4SL0 1ayy0 Lvs0 1cM0 1o00 Rc0 1wo0 Rc0 1wo0 U00 1wo0 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 11A0 1qM0 WM0 1qM0 Oo0 1zc0 Oo0 1zc0 Oo0 1wo0 WM0 1tA0 WM0 1tA0 U00 1tA0 U00 1tA0 11A0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 11A0 1o00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1cM0 1cM0 1cM0|1","Antarctica/Mawson|-00 +06 +05|0 -60 -50|012|-CEo0 2fyk0|60","Pacific/Auckland|NZMT NZST NZST NZDT|-bu -cu -c0 -d0|01020202020202020202020202023232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323|-1GCVu Lz0 1tB0 11zu 1o0u 11zu 1o0u 11zu 1o0u 14nu 1lcu 14nu 1lcu 1lbu 11Au 1nXu 11Au 1nXu 11Au 1nXu 11Au 1nXu 11Au 1qLu WMu 1qLu 11Au 1n1bu IM0 1C00 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1qM0 14o0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1io0 17c0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1io0 17c0 1io0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00|14e5","Antarctica/Palmer|-00 -03 -04 -02|0 30 40 20|0121212121213121212121212121212121212121212121212121212121212121212121212121212121|-cao0 nD0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 jsN0 14N0 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 1cL0 1cN0 11z0 1o10 11z0 1qN0 WL0 1fB0 19X0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1ip0 1fz0 1fB0 11z0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1o10 19X0 1fB0 1nX0 G10 1EL0 Op0 1zb0 Rd0 1wn0 Rd0 46n0 Ap0|40","Antarctica/Rothera|-00 -03|0 30|01|gOo0|130","Antarctica/Syowa|-00 +03|0 -30|01|-vs00|20","Antarctica/Troll|-00 +00 +02|0 0 -20|01212121212121212121212121212121212121212121212121212121212121212121|1puo0 hd0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|40","Antarctica/Vostok|-00 +06|0 -60|01|-tjA0|25","Europe/Oslo|CET CEST|-10 -20|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2awM0 Qm0 W6o0 5pf0 WM0 1fA0 1cM0 1cM0 1cM0 1cM0 wJc0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1qM0 WM0 zpc0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|62e4","Asia/Riyadh|LMT +03|-36.Q -30|01|-TvD6.Q|57e5","Asia/Almaty|LMT +05 +06 +07|-57.M -50 -60 -70|012323232323232323232321232323232323232323232323232|-1Pc57.M eUo7.M 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0|15e5","Asia/Amman|LMT EET EEST|-2n.I -20 -30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1yW2n.I 1HiMn.I KL0 1oN0 11b0 1oN0 11b0 1pd0 1dz0 1cp0 11b0 1op0 11b0 fO10 1db0 1e10 1cL0 1cN0 1cL0 1cN0 1fz0 1pd0 10n0 1ld0 14n0 1hB0 15b0 1ip0 19X0 1cN0 1cL0 1cN0 17b0 1ld0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1So0 y00 1fc0 1dc0 1co0 1dc0 1cM0 1cM0 1cM0 1o00 11A0 1lc0 17c0 1cM0 1cM0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 4bX0 Dd0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0|25e5","Asia/Anadyr|LMT +12 +13 +14 +11|-bN.U -c0 -d0 -e0 -b0|01232121212121212121214121212121212121212121212121212121212141|-1PcbN.U eUnN.U 23CL0 1db0 2q10 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 2sp0 WM0|13e3","Asia/Aqtau|LMT +04 +05 +06|-3l.4 -40 -50 -60|012323232323232323232123232312121212121212121212|-1Pc3l.4 eUnl.4 24PX0 2pX0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0|15e4","Asia/Aqtobe|LMT +04 +05 +06|-3M.E -40 -50 -60|0123232323232323232321232323232323232323232323232|-1Pc3M.E eUnM.E 23CL0 3Db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0|27e4","Asia/Ashgabat|LMT +04 +05 +06|-3R.w -40 -50 -60|0123232323232323232323212|-1Pc3R.w eUnR.w 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0|41e4","Asia/Atyrau|LMT +03 +05 +06 +04|-3r.I -30 -50 -60 -40|01232323232323232323242323232323232324242424242|-1Pc3r.I eUor.I 24PW0 2pX0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 2sp0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0","Asia/Baghdad|BMT +03 +04|-2V.A -30 -40|012121212121212121212121212121212121212121212121212121|-26BeV.A 2ACnV.A 11b0 1cp0 1dz0 1dd0 1db0 1cN0 1cp0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1de0 1dc0 1dc0 1dc0 1cM0 1dc0 1cM0 1dc0 1cM0 1dc0 1dc0 1dc0 1cM0 1dc0 1cM0 1dc0 1cM0 1dc0 1dc0 1dc0 1cM0 1dc0 1cM0 1dc0 1cM0 1dc0 1dc0 1dc0 1cM0 1dc0 1cM0 1dc0 1cM0 1dc0|66e5","Asia/Qatar|LMT +04 +03|-3q.8 -40 -30|012|-21Jfq.8 27BXq.8|96e4","Asia/Baku|LMT +03 +04 +05|-3j.o -30 -40 -50|01232323232323232323232123232323232323232323232323232323232323232|-1Pc3j.o 1jUoj.o WCL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 1cM0 9Je0 1o00 11z0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|27e5","Asia/Bangkok|BMT +07|-6G.4 -70|01|-218SG.4|15e6","Asia/Barnaul|LMT +06 +07 +08|-5z -60 -70 -80|0123232323232323232323212323232321212121212121212121212121212121212|-21S5z pCnz 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 p90 LE0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3rd0","Asia/Beirut|EET EEST|-20 -30|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-21aq0 1on0 1410 1db0 19B0 1in0 1ip0 WL0 1lQp0 11b0 1oN0 11b0 1oN0 11b0 1pd0 11b0 1oN0 11b0 q6N0 En0 1oN0 11b0 1oN0 11b0 1oN0 11b0 1pd0 11b0 1oN0 11b0 1op0 11b0 dA10 17b0 1iN0 17b0 1iN0 17b0 1iN0 17b0 1vB0 SL0 1mp0 13z0 1iN0 17b0 1iN0 17b0 1jd0 12n0 1a10 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0|22e5","Asia/Bishkek|LMT +05 +06 +07|-4W.o -50 -60 -70|012323232323232323232321212121212121212121212121212|-1Pc4W.o eUnW.o 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2e00 1tX0 17b0 1ip0 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1cPu 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0|87e4","Asia/Brunei|LMT +0730 +08|-7D.E -7u -80|012|-1KITD.E gDc9.E|42e4","Asia/Kolkata|MMT IST +0630|-5l.a -5u -6u|012121|-2zOtl.a 1r2LP.a 1un0 HB0 7zX0|15e6","Asia/Chita|LMT +08 +09 +10|-7x.Q -80 -90 -a0|012323232323232323232321232323232323232323232323232323232323232312|-21Q7x.Q pAnx.Q 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3re0|33e4","Asia/Choibalsan|LMT +07 +08 +10 +09|-7C -70 -80 -a0 -90|0123434343434343434343434343434343434343434343424242|-2APHC 2UkoC cKn0 1da0 1dd0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 6hD0 11z0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 3Db0 h1f0 1cJ0 1cP0 1cJ0|38e3","Asia/Shanghai|CST CDT|-80 -90|01010101010101010|-1c1I0 LX0 16p0 1jz0 1Myp0 Rb0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0|23e6","Asia/Colombo|MMT +0530 +06 +0630|-5j.w -5u -60 -6u|01231321|-2zOtj.w 1rFbN.w 1zzu 7Apu 23dz0 11zu n3cu|22e5","Asia/Dhaka|HMT +0630 +0530 +06 +07|-5R.k -6u -5u -60 -70|0121343|-18LFR.k 1unn.k HB0 m6n0 2kxbu 1i00|16e6","Asia/Damascus|LMT EET EEST|-2p.c -20 -30|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-21Jep.c Hep.c 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1xRB0 11X0 1oN0 10L0 1pB0 11b0 1oN0 10L0 1mp0 13X0 1oN0 11b0 1pd0 11b0 1oN0 11b0 1oN0 11b0 1oN0 11b0 1pd0 11b0 1oN0 11b0 1oN0 11b0 1oN0 11b0 1pd0 11b0 1oN0 Nb0 1AN0 Nb0 bcp0 19X0 1gp0 19X0 3ld0 1xX0 Vd0 1Bz0 Sp0 1vX0 10p0 1dz0 1cN0 1cL0 1db0 1db0 1g10 1an0 1ap0 1db0 1fd0 1db0 1cN0 1db0 1dd0 1db0 1cp0 1dz0 1c10 1dX0 1cN0 1db0 1dd0 1db0 1cN0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1db0 1cN0 1db0 1cN0 19z0 1fB0 1qL0 11B0 1on0 Wp0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0|26e5","Asia/Dili|LMT +08 +09|-8m.k -80 -90|01212|-2le8m.k 1dnXm.k 1nfA0 Xld0|19e4","Asia/Dubai|LMT +04|-3F.c -40|01|-21JfF.c|39e5","Asia/Dushanbe|LMT +05 +06 +07|-4z.c -50 -60 -70|012323232323232323232321|-1Pc4z.c eUnz.c 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2hB0|76e4","Asia/Famagusta|LMT EET EEST +03|-2f.M -20 -30 -30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212312121212121212121212121212121212121212121|-1Vc2f.M 2a3cf.M 1cL0 1qp0 Xz0 19B0 19X0 1fB0 1db0 1cp0 1cL0 1fB0 19X0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1o30 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 15U0 2Ks0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","Asia/Gaza|EET EEST IST IDT|-20 -30 -20 -30|010101010101010101010101010101012323232323232323232323232320101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-1c2q0 5Rb0 10r0 1px0 10N0 1pz0 16p0 1jB0 16p0 1jx0 pBd0 Vz0 1oN0 11b0 1oO0 10N0 1pz0 10N0 1pb0 10N0 1pb0 10N0 1pb0 10N0 1pz0 10N0 1pb0 10N0 1pb0 11d0 1oL0 dW0 hfB0 Db0 1fB0 Rb0 npB0 11z0 1C10 IL0 1s10 10n0 1o10 WL0 1zd0 On0 1ld0 11z0 1o10 14n0 1o10 14n0 1nd0 12n0 1nd0 Xz0 1q10 12n0 M10 C00 17c0 1io0 17c0 1io0 17c0 1o00 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 17c0 1io0 18N0 1bz0 19z0 1gp0 1610 1iL0 11z0 1o10 14o0 1lA1 SKX 1xd1 MKX 1AN0 1a00 1fA0 1cL0 1cN0 1nX0 1210 1nz0 1220 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1qL0|18e5","Asia/Hebron|EET EEST IST IDT|-20 -30 -20 -30|01010101010101010101010101010101232323232323232323232323232010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-1c2q0 5Rb0 10r0 1px0 10N0 1pz0 16p0 1jB0 16p0 1jx0 pBd0 Vz0 1oN0 11b0 1oO0 10N0 1pz0 10N0 1pb0 10N0 1pb0 10N0 1pb0 10N0 1pz0 10N0 1pb0 10N0 1pb0 11d0 1oL0 dW0 hfB0 Db0 1fB0 Rb0 npB0 11z0 1C10 IL0 1s10 10n0 1o10 WL0 1zd0 On0 1ld0 11z0 1o10 14n0 1o10 14n0 1nd0 12n0 1nd0 Xz0 1q10 12n0 M10 C00 17c0 1io0 17c0 1io0 17c0 1o00 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 17c0 1io0 18N0 1bz0 19z0 1gp0 1610 1iL0 12L0 1mN0 14o0 1lc0 Tb0 1xd1 MKX bB0 cn0 1cN0 1a00 1fA0 1cL0 1cN0 1nX0 1210 1nz0 1220 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1qL0|25e4","Asia/Ho_Chi_Minh|LMT PLMT +07 +08 +09|-76.E -76.u -70 -80 -90|0123423232|-2yC76.E bK00.a 1h7b6.u 5lz0 18o0 3Oq0 k5b0 aW00 BAM0|90e5","Asia/Hong_Kong|LMT HKT HKST JST|-7A.G -80 -90 -90|0121312121212121212121212121212121212121212121212121212121212121212121|-2CFHA.G 1sEP6.G 1cL0 ylu 93X0 1qQu 1tX0 Rd0 1In0 NB0 1cL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1kL0 14N0 1nX0 U10 1tz0 U10 1wn0 Rd0 1wn0 U10 1tz0 U10 1tz0 U10 1tz0 U10 1wn0 Rd0 1wn0 Rd0 1wn0 U10 1tz0 U10 1tz0 17d0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 s10 1Vz0 1cN0 1cL0 1cN0 1cL0 6fd0 14n0|73e5","Asia/Hovd|LMT +06 +07 +08|-66.A -60 -70 -80|012323232323232323232323232323232323232323232323232|-2APG6.A 2Uko6.A cKn0 1db0 1dd0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 6hD0 11z0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 kEp0 1cJ0 1cP0 1cJ0|81e3","Asia/Irkutsk|IMT +07 +08 +09|-6V.5 -70 -80 -90|01232323232323232323232123232323232323232323232323232323232323232|-21zGV.5 pjXV.5 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|60e4","Europe/Istanbul|IMT EET EEST +04 +03|-1U.U -20 -30 -40 -30|012121212121212121212121212121212121212121212121212121234343434342121212121212121212121212121212121212121212121212121212121212124|-2ogNU.U dzzU.U 11b0 8tB0 1on0 1410 1db0 19B0 1in0 3Rd0 Un0 1oN0 11b0 zSp0 CL0 mN0 1Vz0 1gN0 1pz0 5Rd0 1fz0 1yp0 ML0 1kp0 17b0 1ip0 17b0 1fB0 19X0 1jB0 18L0 1ip0 17z0 qdd0 xX0 3S10 Tz0 dA10 11z0 1o10 11z0 1qN0 11z0 1ze0 11B0 WM0 1qO0 WI0 1nX0 1rB0 10L0 11B0 1in0 17d0 1in0 2pX0 19E0 1fU0 16Q0 1iI0 16Q0 1iI0 1Vd0 pb0 3Kp0 14o0 1de0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1a00 1fA0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WO0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 Xc0 1qo0 WM0 1qM0 11A0 1o00 1200 1nA0 11A0 1tA0 U00 15w0|13e6","Asia/Jakarta|BMT +0720 +0730 +09 +08 WIB|-77.c -7k -7u -90 -80 -70|01232425|-1Q0Tk luM0 mPzO 8vWu 6kpu 4PXu xhcu|31e6","Asia/Jayapura|LMT +09 +0930 WIT|-9m.M -90 -9u -90|0123|-1uu9m.M sMMm.M L4nu|26e4","Asia/Jerusalem|JMT IST IDT IDDT|-2k.E -20 -30 -40|01212121212132121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-26Bek.E SyMk.E 5Rb0 10r0 1px0 10N0 1pz0 16p0 1jB0 16p0 1jx0 3LB0 Em0 or0 1cn0 1dB0 16n0 10O0 1ja0 1tC0 14o0 1cM0 1a00 11A0 1Na0 An0 1MP0 AJ0 1Kp0 LC0 1oo0 Wl0 EQN0 Db0 1fB0 Rb0 npB0 11z0 1C10 IL0 1s10 10n0 1o10 WL0 1zd0 On0 1ld0 11z0 1o10 14n0 1o10 14n0 1nd0 12n0 1nd0 Xz0 1q10 12n0 1hB0 1dX0 1ep0 1aL0 1eN0 17X0 1nf0 11z0 1tB0 19W0 1e10 17b0 1ep0 1gL0 18N0 1fz0 1eN0 17b0 1gq0 1gn0 19d0 1dz0 1c10 17X0 1hB0 1gn0 19d0 1dz0 1c10 17X0 1kp0 1dz0 1c10 1aL0 1eN0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0|81e4","Asia/Kabul|+04 +0430|-40 -4u|01|-10Qs0|46e5","Asia/Kamchatka|LMT +11 +12 +13|-ay.A -b0 -c0 -d0|012323232323232323232321232323232323232323232323232323232323212|-1SLKy.A ivXy.A 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 2sp0 WM0|18e4","Asia/Karachi|LMT +0530 +0630 +05 PKT PKST|-4s.c -5u -6u -50 -50 -60|012134545454|-2xoss.c 1qOKW.c 7zX0 eup0 LqMu 1fy00 1cL0 dK10 11b0 1610 1jX0|24e6","Asia/Urumqi|LMT +06|-5O.k -60|01|-1GgtO.k|32e5","Asia/Kathmandu|LMT +0530 +0545|-5F.g -5u -5J|012|-21JhF.g 2EGMb.g|12e5","Asia/Khandyga|LMT +08 +09 +10 +11|-92.d -80 -90 -a0 -b0|0123232323232323232323212323232323232323232323232343434343434343432|-21Q92.d pAp2.d 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 qK0 yN0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 17V0 7zD0|66e2","Asia/Krasnoyarsk|LMT +06 +07 +08|-6b.q -60 -70 -80|01232323232323232323232123232323232323232323232323232323232323232|-21Hib.q prAb.q 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|10e5","Asia/Kuala_Lumpur|SMT +07 +0720 +0730 +09 +08|-6T.p -70 -7k -7u -90 -80|0123435|-2Bg6T.p 17anT.p l5XE 17bO 8Fyu 1so1u|71e5","Asia/Kuching|LMT +0730 +08 +0820 +09|-7l.k -7u -80 -8k -90|0123232323232323242|-1KITl.k gDbP.k 6ynu AnE 1O0k AnE 1NAk AnE 1NAk AnE 1NAk AnE 1O0k AnE 1NAk AnE pAk 8Fz0|13e4","Asia/Macau|LMT CST CDT|-7y.k -80 -90|012121212121212121212121212121212121212121|-2le80 1XO3u 1wn0 Rd0 1wn0 R9u 1wqu U10 1tz0 TVu 1tz0 17gu 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cJu 1cL0 1cN0 1fz0 1cN0 1cOu 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cJu 1cL0 1cN0 1fz0 1cN0 1cL0|57e4","Asia/Magadan|LMT +10 +11 +12|-a3.c -a0 -b0 -c0|012323232323232323232321232323232323232323232323232323232323232312|-1Pca3.c eUo3.c 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3Cq0|95e3","Asia/Makassar|LMT MMT +08 +09 WITA|-7V.A -7V.A -80 -90 -80|01234|-21JjV.A vfc0 myLV.A 8ML0|15e5","Asia/Manila|+08 +09|-80 -90|010101010|-1kJI0 AL0 cK10 65X0 mXB0 vX0 VK10 1db0|24e6","Asia/Nicosia|LMT EET EEST|-2d.s -20 -30|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1Vc2d.s 2a3cd.s 1cL0 1qp0 Xz0 19B0 19X0 1fB0 1db0 1cp0 1cL0 1fB0 19X0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1o30 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|32e4","Asia/Novokuznetsk|LMT +06 +07 +08|-5M.M -60 -70 -80|012323232323232323232321232323232323232323232323232323232323212|-1PctM.M eULM.M 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 2sp0 WM0|55e4","Asia/Novosibirsk|LMT +06 +07 +08|-5v.E -60 -70 -80|0123232323232323232323212323212121212121212121212121212121212121212|-21Qnv.E pAFv.E 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 ml0 Os0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 4eN0|15e5","Asia/Omsk|LMT +05 +06 +07|-4R.u -50 -60 -70|01232323232323232323232123232323232323232323232323232323232323232|-224sR.u pMLR.u 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|12e5","Asia/Oral|LMT +03 +05 +06 +04|-3p.o -30 -50 -60 -40|01232323232323232424242424242424242424242424242|-1Pc3p.o eUop.o 23CK0 3Db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1fA0 1cM0 1cM0 IM0 1EM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0|27e4","Asia/Pontianak|LMT PMT +0730 +09 +08 WITA WIB|-7h.k -7h.k -7u -90 -80 -80 -70|012324256|-2ua7h.k XE00 munL.k 8Rau 6kpu 4PXu xhcu Wqnu|23e4","Asia/Pyongyang|LMT KST JST KST|-8n -8u -90 -90|012313|-2um8n 97XR 1lTzu 2Onc0 6BAu|29e5","Asia/Qyzylorda|LMT +04 +05 +06|-4l.Q -40 -50 -60|0123232323232323232323232323232323232323232323|-1Pc4l.Q eUol.Q 23CL0 3Db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 3ao0 1EM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0|73e4","Asia/Rangoon|RMT +0630 +09|-6o.L -6u -90|0121|-21Jio.L SmnS.L 7j9u|48e5","Asia/Sakhalin|LMT +09 +11 +12 +10|-9u.M -90 -b0 -c0 -a0|01232323232323232323232423232323232424242424242424242424242424242|-2AGVu.M 1BoMu.M 1qFa0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 2pB0 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3rd0|58e4","Asia/Samarkand|LMT +04 +05 +06|-4r.R -40 -50 -60|01232323232323232323232|-1Pc4r.R eUor.R 23CL0 3Db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0|36e4","Asia/Seoul|LMT KST JST KST KDT KDT|-8r.Q -8u -90 -90 -9u -a0|0123141414141414135353|-2um8r.Q 97XV.Q 1m1zu kKo0 2I0u OL0 1FB0 Rb0 1qN0 TX0 1tB0 TX0 1tB0 TX0 1tB0 TX0 2ap0 12FBu 11A0 1o00 11A0|23e6","Asia/Srednekolymsk|LMT +10 +11 +12|-ae.Q -a0 -b0 -c0|01232323232323232323232123232323232323232323232323232323232323232|-1Pcae.Q eUoe.Q 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|35e2","Asia/Taipei|CST JST CDT|-80 -90 -90|01020202020202020202020202020202020202020|-1iw80 joM0 1yo0 Tz0 1ip0 1jX0 1cN0 11b0 1oN0 11b0 1oN0 11b0 1oN0 11b0 10N0 1BX0 10p0 1pz0 10p0 1pz0 10p0 1db0 1dd0 1db0 1cN0 1db0 1cN0 1db0 1cN0 1db0 1BB0 ML0 1Bd0 ML0 uq10 1db0 1cN0 1db0 97B0 AL0|74e5","Asia/Tashkent|LMT +05 +06 +07|-4B.b -50 -60 -70|012323232323232323232321|-1Pc4B.b eUnB.b 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0|23e5","Asia/Tbilisi|TBMT +03 +04 +05|-2X.b -30 -40 -50|0123232323232323232323212121232323232323232323212|-1Pc2X.b 1jUnX.b WCL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 1cK0 1cL0 1cN0 1cL0 1cN0 2pz0 1cL0 1fB0 3Nz0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 An0 Os0 WM0|11e5","Asia/Tehran|LMT TMT +0330 +04 +05 +0430|-3p.I -3p.I -3u -40 -50 -4u|01234325252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252|-2btDp.I 1d3c0 1huLT.I TXu 1pz0 sN0 vAu 1cL0 1dB0 1en0 pNB0 UL0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 64p0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0|14e6","Asia/Thimphu|LMT +0530 +06|-5W.A -5u -60|012|-Su5W.A 1BGMs.A|79e3","Asia/Tokyo|JST JDT|-90 -a0|010101010|-QJJ0 Rb0 1ld0 14n0 1zd0 On0 1zd0 On0|38e6","Asia/Tomsk|LMT +06 +07 +08|-5D.P -60 -70 -80|0123232323232323232323212323232323232323232323212121212121212121212|-21NhD.P pxzD.P 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 co0 1bB0 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3Qp0|10e5","Asia/Ulaanbaatar|LMT +07 +08 +09|-77.w -70 -80 -90|012323232323232323232323232323232323232323232323232|-2APH7.w 2Uko7.w cKn0 1db0 1dd0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 6hD0 11z0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 kEp0 1cJ0 1cP0 1cJ0|12e5","Asia/Ust-Nera|LMT +08 +09 +12 +11 +10|-9w.S -80 -90 -c0 -b0 -a0|012343434343434343434345434343434343434343434343434343434343434345|-21Q9w.S pApw.S 23CL0 1d90 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 17V0 7zD0|65e2","Asia/Vladivostok|LMT +09 +10 +11|-8L.v -90 -a0 -b0|01232323232323232323232123232323232323232323232323232323232323232|-1SJIL.v itXL.v 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|60e4","Asia/Yakutsk|LMT +08 +09 +10|-8C.W -80 -90 -a0|01232323232323232323232123232323232323232323232323232323232323232|-21Q8C.W pAoC.W 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|28e4","Asia/Yekaterinburg|LMT PMT +04 +05 +06|-42.x -3J.5 -40 -50 -60|012343434343434343434343234343434343434343434343434343434343434343|-2ag42.x 7mQh.s qBvJ.5 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|14e5","Asia/Yerevan|LMT +03 +04 +05|-2W -30 -40 -50|0123232323232323232323212121212323232323232323232323232323232|-1Pc2W 1jUnW WCL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 4RX0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0|13e5","Atlantic/Azores|HMT -02 -01 +00 WET|1S.w 20 10 0 0|01212121212121212121212121212121212121212121232123212321232121212121212121212121212121212121212121232323232323232323232323232323234323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-2ldW0 aPX0 Sp0 LX0 1vc0 Tc0 1uM0 SM0 1vc0 Tc0 1vc0 SM0 1vc0 6600 1co0 3E00 17c0 1fA0 1a00 1io0 1a00 1io0 17c0 3I00 17c0 1cM0 1cM0 3Fc0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Dc0 1tA0 1cM0 1dc0 1400 gL0 IM0 s10 U00 dX0 Rc0 pd0 Rc0 gL0 Oo0 pd0 Rc0 gL0 Oo0 pd0 14o0 1cM0 1cP0 1cM0 1cM0 1cM0 1cM0 1cM0 3Co0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 qIl0 1cM0 1fA0 1cM0 1cM0 1cN0 1cL0 1cN0 1cM0 1cM0 1cM0 1cM0 1cN0 1cL0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cL0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|25e4","Atlantic/Bermuda|LMT AST ADT|4j.i 40 30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1BnRE.G 1LTbE.G 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|65e3","Atlantic/Canary|LMT -01 WET WEST|11.A 10 0 -10|01232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-1UtaW.o XPAW.o 1lAK0 1a10 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|54e4","Atlantic/Cape_Verde|LMT -02 -01|1y.4 20 10|01212|-2ldW0 1eEo0 7zX0 1djf0|50e4","Atlantic/Faroe|LMT WET WEST|r.4 0 -10|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2uSnw.U 2Wgow.U 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|49e3","Atlantic/Madeira|FMT -01 +00 +01 WET WEST|17.A 10 0 -10 0 -10|01212121212121212121212121212121212121212121232123212321232121212121212121212121212121212121212121454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-2ldX0 aPX0 Sp0 LX0 1vc0 Tc0 1uM0 SM0 1vc0 Tc0 1vc0 SM0 1vc0 6600 1co0 3E00 17c0 1fA0 1a00 1io0 1a00 1io0 17c0 3I00 17c0 1cM0 1cM0 3Fc0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Dc0 1tA0 1cM0 1dc0 1400 gL0 IM0 s10 U00 dX0 Rc0 pd0 Rc0 gL0 Oo0 pd0 Rc0 gL0 Oo0 pd0 14o0 1cM0 1cP0 1cM0 1cM0 1cM0 1cM0 1cM0 3Co0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 qIl0 1cM0 1fA0 1cM0 1cM0 1cN0 1cL0 1cN0 1cM0 1cM0 1cM0 1cM0 1cN0 1cL0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|27e4","Atlantic/Reykjavik|LMT -01 +00 GMT|1s 10 0 0|012121212121212121212121212121212121212121212121212121212121212121213|-2uWmw mfaw 1Bd0 ML0 1LB0 Cn0 1LB0 3fX0 C10 HrX0 1cO0 LB0 1EL0 LA0 1C00 Oo0 1wo0 Rc0 1wo0 Rc0 1wo0 Rc0 1zc0 Oo0 1zc0 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1lc0 14o0 1o00 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1o00 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1o00 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1o00 14o0|12e4","Atlantic/South_Georgia|-02|20|0||30","Atlantic/Stanley|SMT -04 -03 -02|3P.o 40 30 20|012121212121212323212121212121212121212121212121212121212121212121212|-2kJw8.A 12bA8.A 19X0 1fB0 19X0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 Cn0 1Cc10 WL0 1qL0 U10 1tz0 2mN0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1tz0 U10 1tz0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1tz0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qN0 U10 1wn0 Rd0 1wn0 U10 1tz0 U10 1tz0 U10 1tz0 U10 1tz0 U10 1wn0 U10 1tz0 U10 1tz0 U10|21e2","Australia/Sydney|AEST AEDT|-a0 -b0|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-293lX xcX 10jd0 yL0 1cN0 1cL0 1fB0 19X0 17c10 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 14o0 1o00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 U00 1qM0 WM0 1tA0 WM0 1tA0 U00 1tA0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 11A0 1o00 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 14o0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0|40e5","Australia/Adelaide|ACST ACDT|-9u -au|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-293lt xcX 10jd0 yL0 1cN0 1cL0 1fB0 19X0 17c10 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 U00 1qM0 WM0 1tA0 WM0 1tA0 U00 1tA0 U00 1tA0 Oo0 1zc0 WM0 1qM0 Rc0 1zc0 U00 1tA0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 14o0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0|11e5","Australia/Brisbane|AEST AEDT|-a0 -b0|01010101010101010|-293lX xcX 10jd0 yL0 1cN0 1cL0 1fB0 19X0 17c10 LA0 H1A0 Oo0 1zc0 Oo0 1zc0 Oo0|20e5","Australia/Broken_Hill|ACST ACDT|-9u -au|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-293lt xcX 10jd0 yL0 1cN0 1cL0 1fB0 19X0 17c10 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 14o0 1o00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 U00 1qM0 WM0 1tA0 WM0 1tA0 U00 1tA0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 14o0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0|18e3","Australia/Currie|AEST AEDT|-a0 -b0|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-29E80 19X0 10jd0 yL0 1cN0 1cL0 1fB0 19X0 17c10 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 11A0 1qM0 WM0 1qM0 Oo0 1zc0 Oo0 1zc0 Oo0 1wo0 WM0 1tA0 WM0 1tA0 U00 1tA0 U00 1tA0 11A0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 11A0 1o00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0|746","Australia/Darwin|ACST ACDT|-9u -au|010101010|-293lt xcX 10jd0 yL0 1cN0 1cL0 1fB0 19X0|12e4","Australia/Eucla|+0845 +0945|-8J -9J|0101010101010101010|-293kI xcX 10jd0 yL0 1cN0 1cL0 1gSp0 Oo0 l5A0 Oo0 iJA0 G00 zU00 IM0 1qM0 11A0 1o00 11A0|368","Australia/Hobart|AEST AEDT|-a0 -b0|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-29E80 19X0 10jd0 yL0 1cN0 1cL0 1fB0 19X0 VfB0 1cM0 1o00 Rc0 1wo0 Rc0 1wo0 U00 1wo0 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 11A0 1qM0 WM0 1qM0 Oo0 1zc0 Oo0 1zc0 Oo0 1wo0 WM0 1tA0 WM0 1tA0 U00 1tA0 U00 1tA0 11A0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 11A0 1o00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0|21e4","Australia/Lord_Howe|AEST +1030 +1130 +11|-a0 -au -bu -b0|0121212121313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313|raC0 1zdu Rb0 1zd0 On0 1zd0 On0 1zd0 On0 1zd0 TXu 1qMu WLu 1tAu WLu 1tAu TXu 1tAu Onu 1zcu Onu 1zcu Onu 1zcu Rbu 1zcu Onu 1zcu Onu 1zcu 11zu 1o0u 11zu 1o0u 11zu 1o0u 11zu 1qMu WLu 11Au 1nXu 1qMu 11zu 1o0u 11zu 1o0u 11zu 1qMu WLu 1qMu 11zu 1o0u WLu 1qMu 14nu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1fzu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu|347","Australia/Lindeman|AEST AEDT|-a0 -b0|010101010101010101010|-293lX xcX 10jd0 yL0 1cN0 1cL0 1fB0 19X0 17c10 LA0 H1A0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0|10","Australia/Melbourne|AEST AEDT|-a0 -b0|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-293lX xcX 10jd0 yL0 1cN0 1cL0 1fB0 19X0 17c10 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 U00 1qM0 WM0 1qM0 11A0 1tA0 U00 1tA0 U00 1tA0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 11A0 1o00 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 14o0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0|39e5","Australia/Perth|AWST AWDT|-80 -90|0101010101010101010|-293jX xcX 10jd0 yL0 1cN0 1cL0 1gSp0 Oo0 l5A0 Oo0 iJA0 G00 zU00 IM0 1qM0 11A0 1o00 11A0|18e5","CET|CET CEST|-10 -20|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1o00 11A0 Qrc0 6i00 WM0 1fA0 1cM0 1cM0 1cM0 16M0 1gMM0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","Pacific/Easter|EMT -07 -06 -05|7h.s 70 60 50|012121212121212121212121212123232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323|-1uSgG.w 1s4IG.w WL0 1zd0 On0 1ip0 11z0 1o10 11z0 1qN0 WL0 1ld0 14n0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 2pA0 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 1cL0 1cN0 11z0 1o10 11z0 1qN0 WL0 1fB0 19X0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1ip0 1fz0 1fB0 11z0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1o10 19X0 1fB0 1nX0 G10 1EL0 Op0 1zb0 Rd0 1wn0 Rd0 46n0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Dd0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Dd0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Dd0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0|30e2","CST6CDT|CST CDT CWT CPT|60 50 50 50|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","EET|EET EEST|-20 -30|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|hDB0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","Europe/Dublin|DMT IST GMT BST IST|p.l -y.D 0 -10 -10|01232323232324242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242|-2ax9y.D Rc0 1fzy.D 14M0 1fc0 1g00 1co0 1dc0 1co0 1oo0 1400 1dc0 19A0 1io0 1io0 WM0 1o00 14o0 1o00 17c0 1io0 17c0 1fA0 1a00 1lc0 17c0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1cM0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1a00 1io0 1qM0 Dc0 g600 14o0 1wo0 17c0 1io0 11A0 1o00 17c0 1fA0 1a00 1fA0 1cM0 1fA0 1a00 17c0 1fA0 1a00 1io0 17c0 1lc0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1a00 1a00 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1tA0 IM0 90o0 U00 1tA0 U00 1tA0 U00 1tA0 U00 1tA0 WM0 1qM0 WM0 1qM0 WM0 1tA0 U00 1tA0 U00 1tA0 11z0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 14o0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|12e5","EST|EST|50|0|","EST5EDT|EST EDT EWT EPT|50 40 40 40|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261t0 1nX0 11B0 1nX0 SgN0 8x40 iv0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","Etc/GMT-0|GMT|0|0|","Etc/GMT-1|+01|-10|0|","Pacific/Port_Moresby|+10|-a0|0||25e4","Pacific/Pohnpei|+11|-b0|0||34e3","Pacific/Tarawa|+12|-c0|0||29e3","Etc/GMT-13|+13|-d0|0|","Etc/GMT-14|+14|-e0|0|","Etc/GMT-2|+02|-20|0|","Etc/GMT-3|+03|-30|0|","Etc/GMT-4|+04|-40|0|","Etc/GMT-5|+05|-50|0|","Etc/GMT-6|+06|-60|0|","Indian/Christmas|+07|-70|0||21e2","Etc/GMT-8|+08|-80|0|","Pacific/Palau|+09|-90|0||21e3","Etc/GMT+1|-01|10|0|","Etc/GMT+10|-10|a0|0|","Etc/GMT+11|-11|b0|0|","Etc/GMT+12|-12|c0|0|","Etc/GMT+3|-03|30|0|","Etc/GMT+4|-04|40|0|","Etc/GMT+5|-05|50|0|","Etc/GMT+6|-06|60|0|","Etc/GMT+7|-07|70|0|","Etc/GMT+8|-08|80|0|","Etc/GMT+9|-09|90|0|","Etc/UCT|UCT|0|0|","Etc/UTC|UTC|0|0|","Europe/Amsterdam|AMT NST +0120 +0020 CEST CET|-j.w -1j.w -1k -k -20 -10|010101010101010101010101010101010101010101012323234545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545|-2aFcj.w 11b0 1iP0 11A0 1io0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1co0 1io0 1yo0 Pc0 1a00 1fA0 1Bc0 Mo0 1tc0 Uo0 1tA0 U00 1uo0 W00 1s00 VA0 1so0 Vc0 1sM0 UM0 1wo0 Rc0 1u00 Wo0 1rA0 W00 1s00 VA0 1sM0 UM0 1w00 fV0 BCX.w 1tA0 U00 1u00 Wo0 1sm0 601k WM0 1fA0 1cM0 1cM0 1cM0 16M0 1gMM0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|16e5","Europe/Andorra|WET CET CEST|0 -10 -20|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-UBA0 1xIN0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|79e3","Europe/Astrakhan|LMT +03 +04 +05|-3c.c -30 -40 -50|012323232323232323212121212121212121212121212121212121212121212|-1Pcrc.c eUMc.c 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1fA0 1cM0 3Co0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3rd0","Europe/Athens|AMT EET EEST CEST CET|-1y.Q -20 -30 -20 -10|012123434121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2a61x.Q CNbx.Q mn0 kU10 9b0 3Es0 Xa0 1fb0 1dd0 k3X0 Nz0 SCp0 1vc0 SO0 1cM0 1a00 1ao0 1fc0 1a10 1fG0 1cg0 1dX0 1bX0 1cQ0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|35e5","Europe/London|GMT BST BDST|0 -10 -20|0101010101010101010101010101010101010101010101010121212121210101210101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2axa0 Rc0 1fA0 14M0 1fc0 1g00 1co0 1dc0 1co0 1oo0 1400 1dc0 19A0 1io0 1io0 WM0 1o00 14o0 1o00 17c0 1io0 17c0 1fA0 1a00 1lc0 17c0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1cM0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1a00 1io0 1qM0 Dc0 2Rz0 Dc0 1zc0 Oo0 1zc0 Rc0 1wo0 17c0 1iM0 FA0 xB0 1fA0 1a00 14o0 bb0 LA0 xB0 Rc0 1wo0 11A0 1o00 17c0 1fA0 1a00 1fA0 1cM0 1fA0 1a00 17c0 1fA0 1a00 1io0 17c0 1lc0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1a00 1a00 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1tA0 IM0 90o0 U00 1tA0 U00 1tA0 U00 1tA0 U00 1tA0 WM0 1qM0 WM0 1qM0 WM0 1tA0 U00 1tA0 U00 1tA0 11z0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 14o0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|10e6","Europe/Belgrade|CET CEST|-10 -20|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-19RC0 3IP0 WM0 1fA0 1cM0 1cM0 1rc0 Qo0 1vmo0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|12e5","Europe/Berlin|CET CEST CEMT|-10 -20 -30|01010101010101210101210101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1o00 11A0 Qrc0 6i00 WM0 1fA0 1cM0 1cM0 1cM0 kL0 Nc0 m10 WM0 1ao0 1cp0 dX0 jz0 Dd0 1io0 17c0 1fA0 1a00 1ehA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|41e5","Europe/Prague|CET CEST GMT|-10 -20 0|01010101010101010201010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1o00 11A0 Qrc0 6i00 WM0 1fA0 1cM0 1cM0 1cM0 1cM0 1qM0 11c0 mp0 xA0 mn0 17c0 1io0 17c0 1fc0 1ao0 1bNc0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|13e5","Europe/Brussels|WET CET CEST WEST|0 -10 -20 -10|0121212103030303030303030303030303030303030303030303212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2ehc0 3zX0 11c0 1iO0 11A0 1o00 11A0 my0 Ic0 1qM0 Rc0 1EM0 UM0 1u00 10o0 1io0 1io0 17c0 1a00 1fA0 1cM0 1cM0 1io0 17c0 1fA0 1a00 1io0 1a30 1io0 17c0 1fA0 1a00 1io0 17c0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Dc0 y00 5Wn0 WM0 1fA0 1cM0 16M0 1iM0 16M0 1C00 Uo0 1eeo0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|21e5","Europe/Bucharest|BMT EET EEST|-1I.o -20 -30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1xApI.o 20LI.o RA0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1Axc0 On0 1fA0 1a10 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cK0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cL0 1cN0 1cL0 1fB0 1nX0 11E0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|19e5","Europe/Budapest|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1ip0 17b0 1op0 1tb0 Q2m0 3Ne0 WM0 1fA0 1cM0 1cM0 1oJ0 1dc0 1030 1fA0 1cM0 1cM0 1cM0 1cM0 1fA0 1a00 1iM0 1fA0 8Ha0 Rb0 1wN0 Rb0 1BB0 Lz0 1C20 LB0 SNX0 1a10 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|17e5","Europe/Zurich|CET CEST|-10 -20|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-19Lc0 11A0 1o00 11A0 1xG10 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|38e4","Europe/Chisinau|CMT BMT EET EEST CEST CET MSK MSD|-1T -1I.o -20 -30 -20 -10 -30 -40|012323232323232323234545467676767676767676767323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-26jdT wGMa.A 20LI.o RA0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 27A0 2en0 39g0 WM0 1fA0 1cM0 V90 1t7z0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 gL0 WO0 1cM0 1cM0 1cK0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1nX0 11D0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|67e4","Europe/Copenhagen|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2azC0 Tz0 VuO0 60q0 WM0 1fA0 1cM0 1cM0 1cM0 S00 1HA0 Nc0 1C00 Dc0 1Nc0 Ao0 1h5A0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|12e5","Europe/Gibraltar|GMT BST BDST CET CEST|0 -10 -20 -10 -20|010101010101010101010101010101010101010101010101012121212121010121010101010101010101034343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343|-2axa0 Rc0 1fA0 14M0 1fc0 1g00 1co0 1dc0 1co0 1oo0 1400 1dc0 19A0 1io0 1io0 WM0 1o00 14o0 1o00 17c0 1io0 17c0 1fA0 1a00 1lc0 17c0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1cM0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1a00 1io0 1qM0 Dc0 2Rz0 Dc0 1zc0 Oo0 1zc0 Rc0 1wo0 17c0 1iM0 FA0 xB0 1fA0 1a00 14o0 bb0 LA0 xB0 Rc0 1wo0 11A0 1o00 17c0 1fA0 1a00 1fA0 1cM0 1fA0 1a00 17c0 1fA0 1a00 1io0 17c0 1lc0 17c0 1fA0 10Jz0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|30e3","Europe/Helsinki|HMT EET EEST|-1D.N -20 -30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1WuND.N OULD.N 1dA0 1xGq0 1cM0 1cM0 1cM0 1cN0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|12e5","Europe/Kaliningrad|CET CEST CET CEST MSK MSD EEST EET +03|-10 -20 -20 -30 -30 -40 -30 -20 -30|0101010101010232454545454545454546767676767676767676767676767676767676767676787|-2aFe0 11d0 1iO0 11A0 1o00 11A0 Qrc0 6i00 WM0 1fA0 1cM0 1cM0 Am0 Lb0 1en0 op0 1pNz0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|44e4","Europe/Kiev|KMT EET MSK CEST CET MSD EEST|-22.4 -20 -30 -20 -10 -40 -30|0123434252525252525252525256161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161|-1Pc22.4 eUo2.4 rnz0 2Hg0 WM0 1fA0 da0 1v4m0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 Db0 3220 1cK0 1cL0 1cN0 1cL0 1cN0 1cL0 1cQ0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|34e5","Europe/Kirov|LMT +03 +04 +05|-3i.M -30 -40 -50|01232323232323232321212121212121212121212121212121212121212121|-22WM0 qH90 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1fA0 1cM0 3Co0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|48e4","Europe/Lisbon|LMT WET WEST WEMT CET CEST|A.J 0 -10 -20 -10 -20|012121212121212121212121212121212121212121212321232123212321212121212121212121212121212121212121214121212121212121212121212121212124545454212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2le00 aPX0 Sp0 LX0 1vc0 Tc0 1uM0 SM0 1vc0 Tc0 1vc0 SM0 1vc0 6600 1co0 3E00 17c0 1fA0 1a00 1io0 1a00 1io0 17c0 3I00 17c0 1cM0 1cM0 3Fc0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Dc0 1tA0 1cM0 1dc0 1400 gL0 IM0 s10 U00 dX0 Rc0 pd0 Rc0 gL0 Oo0 pd0 Rc0 gL0 Oo0 pd0 14o0 1cM0 1cP0 1cM0 1cM0 1cM0 1cM0 1cM0 3Co0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 pvy0 1cM0 1cM0 1fA0 1cM0 1cM0 1cN0 1cL0 1cN0 1cM0 1cM0 1cM0 1cM0 1cN0 1cL0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|27e5","Europe/Luxembourg|LMT CET CEST WET WEST WEST WET|-o.A -10 -20 0 -10 -20 -10|0121212134343434343434343434343434343434343434343434565651212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2DG0o.A t6mo.A TB0 1nX0 Up0 1o20 11A0 rW0 CM0 1qP0 R90 1EO0 UK0 1u20 10m0 1ip0 1in0 17e0 19W0 1fB0 1db0 1cp0 1in0 17d0 1fz0 1a10 1in0 1a10 1in0 17f0 1fA0 1a00 1io0 17c0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Dc0 vA0 60L0 WM0 1fA0 1cM0 17c0 1io0 16M0 1C00 Uo0 1eeo0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|54e4","Europe/Madrid|WET WEST WEMT CET CEST|0 -10 -20 -10 -20|010101010101010101210343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343|-25Td0 19B0 1cL0 1dd0 b1z0 18p0 3HX0 17d0 1fz0 1a10 1io0 1a00 1in0 17d0 iIn0 Hd0 1cL0 bb0 1200 2s20 14n0 5aL0 Mp0 1vz0 17d0 1in0 17d0 1in0 17d0 1in0 17d0 6hX0 11B0 XHX0 1a10 1fz0 1a10 19X0 1cN0 1fz0 1a10 1fC0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|62e5","Europe/Malta|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2arB0 Lz0 1cN0 1db0 1410 1on0 Wp0 1qL0 17d0 1cL0 M3B0 5M20 WM0 1fA0 1co0 17c0 1iM0 16m0 1de0 1lc0 14m0 1lc0 WO0 1qM0 GTW0 On0 1C10 LA0 1C00 LA0 1EM0 LA0 1C00 LA0 1zc0 Oo0 1C00 Oo0 1co0 1cM0 1lA0 Xc0 1qq0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1iN0 19z0 1fB0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|42e4","Europe/Minsk|MMT EET MSK CEST CET MSD EEST +03|-1O -20 -30 -20 -10 -40 -30 -30|01234343252525252525252525261616161616161616161616161616161616161617|-1Pc1O eUnO qNX0 3gQ0 WM0 1fA0 1cM0 Al0 1tsn0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 3Fc0 1cN0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0|19e5","Europe/Monaco|PMT WET WEST WEMT CET CEST|-9.l 0 -10 -20 -10 -20|01212121212121212121212121212121212121212121212121232323232345454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-2nco9.l cNb9.l HA0 19A0 1iM0 11c0 1oo0 Wo0 1rc0 QM0 1EM0 UM0 1u00 10o0 1io0 1wo0 Rc0 1a00 1fA0 1cM0 1cM0 1io0 17c0 1fA0 1a00 1io0 1a00 1io0 17c0 1fA0 1a00 1io0 17c0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Df0 2RV0 11z0 11B0 1ze0 WM0 1fA0 1cM0 1fa0 1aq0 16M0 1ekn0 1cL0 1fC0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|38e3","Europe/Moscow|MMT MMT MST MDST MSD MSK +05 EET EEST MSK|-2u.h -2v.j -3v.j -4v.j -40 -30 -50 -20 -30 -40|012132345464575454545454545454545458754545454545454545454545454545454545454595|-2ag2u.h 2pyW.W 1bA0 11X0 GN0 1Hb0 c4v.j ik0 3DA0 dz0 15A0 c10 2q10 iM10 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cN0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|16e6","Europe/Paris|PMT WET WEST CEST CET WEMT|-9.l 0 -10 -20 -10 -20|0121212121212121212121212121212121212121212121212123434352543434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434|-2nco8.l cNb8.l HA0 19A0 1iM0 11c0 1oo0 Wo0 1rc0 QM0 1EM0 UM0 1u00 10o0 1io0 1wo0 Rc0 1a00 1fA0 1cM0 1cM0 1io0 17c0 1fA0 1a00 1io0 1a00 1io0 17c0 1fA0 1a00 1io0 17c0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Df0 Ik0 5M30 WM0 1fA0 1cM0 Vx0 hB0 1aq0 16M0 1ekn0 1cL0 1fC0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|11e6","Europe/Riga|RMT LST EET MSK CEST CET MSD EEST|-1A.y -2A.y -20 -30 -20 -10 -40 -30|010102345454536363636363636363727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272|-25TzA.y 11A0 1iM0 ko0 gWm0 yDXA.y 2bX0 3fE0 WM0 1fA0 1cM0 1cM0 4m0 1sLy0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cN0 1o00 11A0 1o00 11A0 1qM0 3oo0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|64e4","Europe/Rome|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2arB0 Lz0 1cN0 1db0 1410 1on0 Wp0 1qL0 17d0 1cL0 M3B0 5M20 WM0 1fA0 1cM0 16M0 1iM0 16m0 1de0 1lc0 14m0 1lc0 WO0 1qM0 GTW0 On0 1C10 LA0 1C00 LA0 1EM0 LA0 1C00 LA0 1zc0 Oo0 1C00 Oo0 1C00 LA0 1zc0 Oo0 1C00 LA0 1C00 LA0 1zc0 Oo0 1C00 Oo0 1zc0 Oo0 1fC0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|39e5","Europe/Samara|LMT +03 +04 +05|-3k.k -30 -40 -50|0123232323232323232121232323232323232323232323232323232323212|-22WM0 qH90 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1fA0 2y10 14m0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 2sp0 WM0|12e5","Europe/Saratov|LMT +03 +04 +05|-34.i -30 -40 -50|012323232323232321212121212121212121212121212121212121212121212|-22WM0 qH90 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1cM0 1cM0 1fA0 1cM0 3Co0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 5810","Europe/Simferopol|SMT EET MSK CEST CET MSD EEST MSK|-2g -20 -30 -20 -10 -40 -30 -40|012343432525252525252525252161616525252616161616161616161616161616161616172|-1Pc2g eUog rEn0 2qs0 WM0 1fA0 1cM0 3V0 1u0L0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1Q00 4eL0 1cL0 1cN0 1cL0 1cN0 dX0 WL0 1cN0 1cL0 1fB0 1o30 11B0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11z0 1nW0|33e4","Europe/Sofia|EET CET CEST EEST|-20 -10 -20 -30|01212103030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030|-168L0 WM0 1fA0 1cM0 1cM0 1cN0 1mKH0 1dd0 1fb0 1ap0 1fb0 1a20 1fy0 1a30 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cK0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1nX0 11E0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|12e5","Europe/Stockholm|CET CEST|-10 -20|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2azC0 TB0 2yDe0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|15e5","Europe/Tallinn|TMT CET CEST EET MSK MSD EEST|-1D -10 -20 -20 -30 -40 -30|012103421212454545454545454546363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363|-26oND teD 11A0 1Ta0 4rXl KSLD 2FX0 2Jg0 WM0 1fA0 1cM0 18J0 1sTX0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o10 11A0 1qM0 5QM0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|41e4","Europe/Tirane|LMT CET CEST|-1j.k -10 -20|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2glBj.k 14pcj.k 5LC0 WM0 4M0 1fCK0 10n0 1op0 11z0 1pd0 11z0 1qN0 WL0 1qp0 Xb0 1qp0 Xb0 1qp0 11z0 1lB0 11z0 1qN0 11z0 1iN0 16n0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|42e4","Europe/Ulyanovsk|LMT +03 +04 +05 +02|-3d.A -30 -40 -50 -20|01232323232323232321214121212121212121212121212121212121212121212|-22WM0 qH90 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3rd0","Europe/Uzhgorod|CET CEST MSK MSD EET EEST|-10 -20 -30 -40 -20 -30|010101023232323232323232320454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-1cqL0 6i00 WM0 1fA0 1cM0 1ml0 1Cp0 1r3W0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1Q00 1Nf0 2pw0 1cL0 1cN0 1cL0 1cN0 1cL0 1cQ0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|11e4","Europe/Vienna|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1o00 11A0 3KM0 14o0 LA00 6i00 WM0 1fA0 1cM0 1cM0 1cM0 400 2qM0 1a00 1cM0 1cM0 1io0 17c0 1gHa0 19X0 1cP0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|18e5","Europe/Vilnius|WMT KMT CET EET MSK CEST MSD EEST|-1o -1z.A -10 -20 -30 -20 -40 -30|012324525254646464646464646473737373737373737352537373737373737373737373737373737373737373737373737373737373737373737373|-293do 6ILM.o 1Ooz.A zz0 Mfd0 29W0 3is0 WM0 1fA0 1cM0 LV0 1tgL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11B0 1o00 11A0 1qM0 8io0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|54e4","Europe/Volgograd|LMT +03 +04 +05|-2V.E -30 -40 -50|01232323232323232121212121212121212121212121212121212121212121|-21IqV.E psLV.E 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1cM0 1cM0 1fA0 1cM0 3Co0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|10e5","Europe/Warsaw|WMT CET CEST EET EEST|-1o -10 -20 -20 -30|012121234312121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2ctdo 1LXo 11d0 1iO0 11A0 1o00 11A0 1on0 11A0 6zy0 HWP0 5IM0 WM0 1fA0 1cM0 1dz0 1mL0 1en0 15B0 1aq0 1nA0 11A0 1io0 17c0 1fA0 1a00 iDX0 LA0 1cM0 1cM0 1C00 Oo0 1cM0 1cM0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1C00 LA0 uso0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|17e5","Europe/Zaporozhye|+0220 EET MSK CEST CET MSD EEST|-2k -20 -30 -20 -10 -40 -30|01234342525252525252525252526161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161|-1Pc2k eUok rdb0 2RE0 WM0 1fA0 8m0 1v9a0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cK0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cQ0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|77e4","HST|HST|a0|0|","Indian/Chagos|LMT +05 +06|-4N.E -50 -60|012|-2xosN.E 3AGLN.E|30e2","Indian/Cocos|+0630|-6u|0||596","Indian/Kerguelen|-00 +05|0 -50|01|-MG00|130","Indian/Mahe|LMT +04|-3F.M -40|01|-2yO3F.M|79e3","Indian/Maldives|MMT +05|-4S -50|01|-olgS|35e4","Indian/Mauritius|LMT +04 +05|-3O -40 -50|012121|-2xorO 34unO 14L0 12kr0 11z0|15e4","Indian/Reunion|LMT +04|-3F.Q -40|01|-2mDDF.Q|84e4","Pacific/Kwajalein|+11 -12 +12|-b0 c0 -c0|012|-AX0 W9X0|14e3","MET|MET MEST|-10 -20|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1o00 11A0 Qrc0 6i00 WM0 1fA0 1cM0 1cM0 1cM0 16M0 1gMM0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","MST|MST|70|0|","MST7MDT|MST MDT MWT MPT|70 60 60 60|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261r0 1nX0 11B0 1nX0 SgN0 8x20 ix0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","Pacific/Chatham|+1215 +1245 +1345|-cf -cJ -dJ|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212|-WqAf 1adef IM0 1C00 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1qM0 14o0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1io0 17c0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1io0 17c0 1io0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00|600","Pacific/Apia|LMT -1130 -11 -10 +14 +13|bq.U bu b0 a0 -e0 -d0|01232345454545454545454545454545454545454545454545454545454|-2nDMx.4 1yW03.4 2rRbu 1ff0 1a00 CI0 AQ0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00|37e3","Pacific/Bougainville|+10 +09 +11|-a0 -90 -b0|0102|-16Wy0 7CN0 2MQp0|18e4","Pacific/Efate|LMT +11 +12|-bd.g -b0 -c0|0121212121212121212121|-2l9nd.g 2Szcd.g 1cL0 1oN0 10L0 1fB0 19X0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 Lz0 1Nd0 An0|66e3","Pacific/Enderbury|-12 -11 +13|c0 b0 -d0|012|nIc0 B7X0|1","Pacific/Fakaofo|-11 +13|b0 -d0|01|1Gfn0|483","Pacific/Fiji|LMT +12 +13|-bT.I -c0 -d0|0121212121212121212121212121212121212121212121212121212121212121|-2bUzT.I 3m8NT.I LA0 1EM0 IM0 nJc0 LA0 1o00 Rc0 1wo0 Ao0 1Nc0 Ao0 1Q00 xz0 1SN0 uM0 1SM0 uM0 1VA0 s00 1VA0 s00 1VA0 uM0 1SM0 uM0 1SM0 uM0 1VA0 s00 1VA0 s00 1VA0 s00 1VA0 uM0 1SM0 uM0 1SM0 uM0 1VA0 s00 1VA0 s00 1VA0 uM0 1SM0 uM0 1SM0 uM0 1VA0 s00 1VA0 s00 1VA0 s00 1VA0 uM0 1SM0 uM0 1SM0 uM0|88e4","Pacific/Galapagos|LMT -05 -06|5W.o 50 60|01212|-1yVS1.A 2dTz1.A gNd0 rz0|25e3","Pacific/Gambier|LMT -09|8X.M 90|01|-2jof0.c|125","Pacific/Guadalcanal|LMT +11|-aD.M -b0|01|-2joyD.M|11e4","Pacific/Guam|GST ChST|-a0 -a0|01|1fpq0|17e4","Pacific/Honolulu|HST HDT HST|au 9u a0|010102|-1thLu 8x0 lef0 8Pz0 46p0|37e4","Pacific/Kiritimati|-1040 -10 +14|aE a0 -e0|012|nIaE B7Xk|51e2","Pacific/Kosrae|+11 +12|-b0 -c0|010|-AX0 1bdz0|66e2","Pacific/Majuro|+11 +12|-b0 -c0|01|-AX0|28e3","Pacific/Marquesas|LMT -0930|9i 9u|01|-2joeG|86e2","Pacific/Pago_Pago|LMT SST|bm.M b0|01|-2nDMB.c|37e2","Pacific/Nauru|LMT +1130 +09 +12|-b7.E -bu -90 -c0|01213|-1Xdn7.E PvzB.E 5RCu 1ouJu|10e3","Pacific/Niue|-1120 -1130 -11|bk bu b0|012|-KfME 17y0a|12e2","Pacific/Norfolk|+1112 +1130 +1230 +11|-bc -bu -cu -b0|01213|-Kgbc W01G On0 1COp0|25e4","Pacific/Noumea|LMT +11 +12|-b5.M -b0 -c0|01212121|-2l9n5.M 2EqM5.M xX0 1PB0 yn0 HeP0 Ao0|98e3","Pacific/Pitcairn|-0830 -08|8u 80|01|18Vku|56","Pacific/Rarotonga|-1030 -0930 -10|au 9u a0|012121212121212121212121212|lyWu IL0 1zcu Onu 1zcu Onu 1zcu Rbu 1zcu Onu 1zcu Onu 1zcu Onu 1zcu Onu 1zcu Onu 1zcu Rbu 1zcu Onu 1zcu Onu 1zcu Onu|13e3","Pacific/Tahiti|LMT -10|9W.g a0|01|-2joe1.I|18e4","Pacific/Tongatapu|+1220 +13 +14|-ck -d0 -e0|0121212121|-1aB0k 2n5dk 15A0 1wo0 xz0 1Q10 xz0 zWN0 s00|75e3","PST8PDT|PST PDT PWT PPT|80 70 70 70|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261q0 1nX0 11B0 1nX0 SgN0 8x10 iy0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","WET|WET WEST|0 -10|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|hDB0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00"],links:["Africa/Abidjan|Africa/Bamako","Africa/Abidjan|Africa/Banjul","Africa/Abidjan|Africa/Conakry","Africa/Abidjan|Africa/Dakar","Africa/Abidjan|Africa/Freetown","Africa/Abidjan|Africa/Lome","Africa/Abidjan|Africa/Nouakchott","Africa/Abidjan|Africa/Ouagadougou","Africa/Abidjan|Africa/Timbuktu","Africa/Abidjan|Atlantic/St_Helena","Africa/Cairo|Egypt","Africa/Johannesburg|Africa/Maseru","Africa/Johannesburg|Africa/Mbabane","Africa/Lagos|Africa/Bangui","Africa/Lagos|Africa/Brazzaville","Africa/Lagos|Africa/Douala","Africa/Lagos|Africa/Kinshasa","Africa/Lagos|Africa/Libreville","Africa/Lagos|Africa/Luanda","Africa/Lagos|Africa/Malabo","Africa/Lagos|Africa/Niamey","Africa/Lagos|Africa/Porto-Novo","Africa/Maputo|Africa/Blantyre","Africa/Maputo|Africa/Bujumbura","Africa/Maputo|Africa/Gaborone","Africa/Maputo|Africa/Harare","Africa/Maputo|Africa/Kigali","Africa/Maputo|Africa/Lubumbashi","Africa/Maputo|Africa/Lusaka","Africa/Nairobi|Africa/Addis_Ababa","Africa/Nairobi|Africa/Asmara","Africa/Nairobi|Africa/Asmera","Africa/Nairobi|Africa/Dar_es_Salaam","Africa/Nairobi|Africa/Djibouti","Africa/Nairobi|Africa/Kampala","Africa/Nairobi|Africa/Mogadishu","Africa/Nairobi|Indian/Antananarivo","Africa/Nairobi|Indian/Comoro","Africa/Nairobi|Indian/Mayotte","Africa/Tripoli|Libya","America/Adak|America/Atka","America/Adak|US/Aleutian","America/Anchorage|US/Alaska","America/Argentina/Buenos_Aires|America/Buenos_Aires","America/Argentina/Catamarca|America/Argentina/ComodRivadavia","America/Argentina/Catamarca|America/Catamarca","America/Argentina/Cordoba|America/Cordoba","America/Argentina/Cordoba|America/Rosario","America/Argentina/Jujuy|America/Jujuy","America/Argentina/Mendoza|America/Mendoza","America/Atikokan|America/Coral_Harbour","America/Chicago|US/Central","America/Curacao|America/Aruba","America/Curacao|America/Kralendijk","America/Curacao|America/Lower_Princes","America/Denver|America/Shiprock","America/Denver|Navajo","America/Denver|US/Mountain","America/Detroit|US/Michigan","America/Edmonton|Canada/Mountain","America/Fort_Wayne|America/Indiana/Indianapolis","America/Fort_Wayne|America/Indianapolis","America/Fort_Wayne|US/East-Indiana","America/Halifax|Canada/Atlantic","America/Havana|Cuba","America/Indiana/Knox|America/Knox_IN","America/Indiana/Knox|US/Indiana-Starke","America/Jamaica|Jamaica","America/Kentucky/Louisville|America/Louisville","America/Los_Angeles|US/Pacific","America/Los_Angeles|US/Pacific-New","America/Manaus|Brazil/West","America/Mazatlan|Mexico/BajaSur","America/Mexico_City|Mexico/General","America/New_York|US/Eastern","America/Noronha|Brazil/DeNoronha","America/Panama|America/Cayman","America/Phoenix|US/Arizona","America/Port_of_Spain|America/Anguilla","America/Port_of_Spain|America/Antigua","America/Port_of_Spain|America/Dominica","America/Port_of_Spain|America/Grenada","America/Port_of_Spain|America/Guadeloupe","America/Port_of_Spain|America/Marigot","America/Port_of_Spain|America/Montserrat","America/Port_of_Spain|America/St_Barthelemy","America/Port_of_Spain|America/St_Kitts","America/Port_of_Spain|America/St_Lucia","America/Port_of_Spain|America/St_Thomas","America/Port_of_Spain|America/St_Vincent","America/Port_of_Spain|America/Tortola","America/Port_of_Spain|America/Virgin","America/Regina|Canada/Saskatchewan","America/Rio_Branco|America/Porto_Acre","America/Rio_Branco|Brazil/Acre","America/Santiago|Chile/Continental","America/Sao_Paulo|Brazil/East","America/St_Johns|Canada/Newfoundland","America/Tijuana|America/Ensenada","America/Tijuana|America/Santa_Isabel","America/Tijuana|Mexico/BajaNorte","America/Toronto|America/Montreal","America/Toronto|Canada/Eastern","America/Vancouver|Canada/Pacific","America/Whitehorse|Canada/Yukon","America/Winnipeg|Canada/Central","Asia/Ashgabat|Asia/Ashkhabad","Asia/Bangkok|Asia/Phnom_Penh","Asia/Bangkok|Asia/Vientiane","Asia/Dhaka|Asia/Dacca","Asia/Dubai|Asia/Muscat","Asia/Ho_Chi_Minh|Asia/Saigon","Asia/Hong_Kong|Hongkong","Asia/Jerusalem|Asia/Tel_Aviv","Asia/Jerusalem|Israel","Asia/Kathmandu|Asia/Katmandu","Asia/Kolkata|Asia/Calcutta","Asia/Kuala_Lumpur|Asia/Singapore","Asia/Kuala_Lumpur|Singapore","Asia/Macau|Asia/Macao","Asia/Makassar|Asia/Ujung_Pandang","Asia/Nicosia|Europe/Nicosia","Asia/Qatar|Asia/Bahrain","Asia/Rangoon|Asia/Yangon","Asia/Riyadh|Asia/Aden","Asia/Riyadh|Asia/Kuwait","Asia/Seoul|ROK","Asia/Shanghai|Asia/Chongqing","Asia/Shanghai|Asia/Chungking","Asia/Shanghai|Asia/Harbin","Asia/Shanghai|PRC","Asia/Taipei|ROC","Asia/Tehran|Iran","Asia/Thimphu|Asia/Thimbu","Asia/Tokyo|Japan","Asia/Ulaanbaatar|Asia/Ulan_Bator","Asia/Urumqi|Asia/Kashgar","Atlantic/Faroe|Atlantic/Faeroe","Atlantic/Reykjavik|Iceland","Atlantic/South_Georgia|Etc/GMT+2","Australia/Adelaide|Australia/South","Australia/Brisbane|Australia/Queensland","Australia/Broken_Hill|Australia/Yancowinna","Australia/Darwin|Australia/North","Australia/Hobart|Australia/Tasmania","Australia/Lord_Howe|Australia/LHI","Australia/Melbourne|Australia/Victoria","Australia/Perth|Australia/West","Australia/Sydney|Australia/ACT","Australia/Sydney|Australia/Canberra","Australia/Sydney|Australia/NSW","Etc/GMT-0|Etc/GMT","Etc/GMT-0|Etc/GMT+0","Etc/GMT-0|Etc/GMT0","Etc/GMT-0|Etc/Greenwich","Etc/GMT-0|GMT","Etc/GMT-0|GMT+0","Etc/GMT-0|GMT-0","Etc/GMT-0|GMT0","Etc/GMT-0|Greenwich","Etc/UCT|UCT","Etc/UTC|Etc/Universal","Etc/UTC|Etc/Zulu","Etc/UTC|UTC","Etc/UTC|Universal","Etc/UTC|Zulu","Europe/Belgrade|Europe/Ljubljana","Europe/Belgrade|Europe/Podgorica","Europe/Belgrade|Europe/Sarajevo","Europe/Belgrade|Europe/Skopje","Europe/Belgrade|Europe/Zagreb","Europe/Chisinau|Europe/Tiraspol","Europe/Dublin|Eire","Europe/Helsinki|Europe/Mariehamn","Europe/Istanbul|Asia/Istanbul","Europe/Istanbul|Turkey","Europe/Lisbon|Portugal","Europe/London|Europe/Belfast","Europe/London|Europe/Guernsey","Europe/London|Europe/Isle_of_Man","Europe/London|Europe/Jersey","Europe/London|GB","Europe/London|GB-Eire","Europe/Moscow|W-SU","Europe/Oslo|Arctic/Longyearbyen","Europe/Oslo|Atlantic/Jan_Mayen","Europe/Prague|Europe/Bratislava","Europe/Rome|Europe/San_Marino","Europe/Rome|Europe/Vatican","Europe/Warsaw|Poland","Europe/Zurich|Europe/Busingen","Europe/Zurich|Europe/Vaduz","Indian/Christmas|Etc/GMT-7","Pacific/Auckland|Antarctica/McMurdo","Pacific/Auckland|Antarctica/South_Pole","Pacific/Auckland|NZ","Pacific/Chatham|NZ-CHAT","Pacific/Easter|Chile/EasterIsland","Pacific/Guam|Pacific/Saipan","Pacific/Honolulu|Pacific/Johnston","Pacific/Honolulu|US/Hawaii","Pacific/Kwajalein|Kwajalein","Pacific/Pago_Pago|Pacific/Midway","Pacific/Pago_Pago|Pacific/Samoa","Pacific/Pago_Pago|US/Samoa","Pacific/Palau|Etc/GMT-9","Pacific/Pohnpei|Etc/GMT-11","Pacific/Pohnpei|Pacific/Ponape","Pacific/Port_Moresby|Etc/GMT-10","Pacific/Port_Moresby|Pacific/Chuuk","Pacific/Port_Moresby|Pacific/Truk","Pacific/Port_Moresby|Pacific/Yap","Pacific/Tarawa|Etc/GMT-12","Pacific/Tarawa|Pacific/Funafuti","Pacific/Tarawa|Pacific/Wake","Pacific/Tarawa|Pacific/Wallis"]}},function(t,e,n){var i={"./af":131,"./af.js":131,"./ar":130,"./ar-dz":129,"./ar-dz.js":129,"./ar-kw":128,"./ar-kw.js":128,"./ar-ly":127,"./ar-ly.js":127,"./ar-ma":126,"./ar-ma.js":126,"./ar-sa":125,"./ar-sa.js":125,"./ar-tn":124,"./ar-tn.js":124,"./ar.js":130,"./az":123,"./az.js":123,"./be":122,"./be.js":122,"./bg":121,"./bg.js":121,"./bm":120,"./bm.js":120,"./bn":119,"./bn.js":119,"./bo":118,"./bo.js":118,"./br":117,"./br.js":117,"./bs":116,"./bs.js":116,"./ca":115,"./ca.js":115,"./cs":114,"./cs.js":114,"./cv":113,"./cv.js":113,"./cy":112,"./cy.js":112,"./da":111,"./da.js":111,"./de":110,"./de-at":109,"./de-at.js":109,"./de-ch":108,"./de-ch.js":108,"./de.js":110,"./dv":107,"./dv.js":107,"./el":106,"./el.js":106,"./en-au":105,"./en-au.js":105,"./en-ca":104,"./en-ca.js":104,"./en-gb":103,"./en-gb.js":103,"./en-ie":102,"./en-ie.js":102,"./en-il":101,"./en-il.js":101,"./en-nz":100,"./en-nz.js":100,"./eo":99,"./eo.js":99,"./es":98,"./es-do":97,"./es-do.js":97,"./es-us":96,"./es-us.js":96,"./es.js":98,"./et":95,"./et.js":95,"./eu":94,"./eu.js":94,"./fa":93,"./fa.js":93,"./fi":92,"./fi.js":92,"./fo":91,"./fo.js":91,"./fr":90,"./fr-ca":89,"./fr-ca.js":89,"./fr-ch":88,"./fr-ch.js":88,"./fr.js":90,"./fy":87,"./fy.js":87,"./gd":86,"./gd.js":86,"./gl":85,"./gl.js":85,"./gom-latn":84,"./gom-latn.js":84,"./gu":83,"./gu.js":83,"./he":82,"./he.js":82,"./hi":81,"./hi.js":81,"./hr":80,"./hr.js":80,"./hu":79,"./hu.js":79,"./hy-am":78,"./hy-am.js":78,"./id":77,"./id.js":77,"./is":76,"./is.js":76,"./it":75,"./it.js":75,"./ja":74,"./ja.js":74,"./jv":73,"./jv.js":73,"./ka":72,"./ka.js":72,"./kk":71,"./kk.js":71,"./km":70,"./km.js":70,"./kn":69,"./kn.js":69,"./ko":68,"./ko.js":68,"./ky":67,"./ky.js":67,"./lb":66,"./lb.js":66,"./lo":65,"./lo.js":65,"./lt":64,"./lt.js":64,"./lv":63,"./lv.js":63,"./me":62,"./me.js":62,"./mi":61,"./mi.js":61,"./mk":60,"./mk.js":60,"./ml":59,"./ml.js":59,"./mn":58,"./mn.js":58,"./mr":57,"./mr.js":57,"./ms":56,"./ms-my":55,"./ms-my.js":55,"./ms.js":56,"./mt":54,"./mt.js":54,"./my":53,"./my.js":53,"./nb":52,"./nb.js":52,"./ne":51,"./ne.js":51,"./nl":50,"./nl-be":49,"./nl-be.js":49,"./nl.js":50,"./nn":48,"./nn.js":48,"./pa-in":47,"./pa-in.js":47,"./pl":46,"./pl.js":46,"./pt":45,"./pt-br":44,"./pt-br.js":44,"./pt.js":45,"./ro":43,"./ro.js":43,"./ru":42,"./ru.js":42,"./sd":41,"./sd.js":41,"./se":40,"./se.js":40,"./si":39,"./si.js":39,"./sk":38,"./sk.js":38,"./sl":37,"./sl.js":37,"./sq":36,"./sq.js":36,"./sr":35,"./sr-cyrl":34,"./sr-cyrl.js":34,"./sr.js":35,"./ss":33,"./ss.js":33,"./sv":32,"./sv.js":32,"./sw":31,"./sw.js":31,"./ta":30,"./ta.js":30,"./te":29,"./te.js":29,"./tet":28,"./tet.js":28,"./tg":27,"./tg.js":27,"./th":26,"./th.js":26,"./tl-ph":25,"./tl-ph.js":25,"./tlh":24,"./tlh.js":24,"./tr":23,"./tr.js":23,"./tzl":22,"./tzl.js":22,"./tzm":21,"./tzm-latn":20,"./tzm-latn.js":20,"./tzm.js":21,"./ug-cn":19,"./ug-cn.js":19,"./uk":18,"./uk.js":18,"./ur":17,"./ur.js":17,"./uz":16,"./uz-latn":15,"./uz-latn.js":15,"./uz.js":16,"./vi":14,"./vi.js":14,"./x-pseudo":13,"./x-pseudo.js":13,"./yo":12,"./yo.js":12,"./zh-cn":11,"./zh-cn.js":11,"./zh-hk":10,"./zh-hk.js":10,"./zh-tw":9,"./zh-tw.js":9};function r(t){var e=a(t);return n(e)}function a(t){var e=i[t];if(!(e+1)){var n=new Error('Cannot find module "'+t+'".');throw n.code="MODULE_NOT_FOUND",n}return e}r.keys=function(){return Object.keys(i)},r.resolve=a,t.exports=r,r.id=138},function(t,e){t.exports=function(t){return t.webpackPolyfill||(t.deprecate=function(){},t.paths=[],t.children||(t.children=[]),Object.defineProperty(t,"loaded",{enumerable:!0,get:function(){return t.l}}),Object.defineProperty(t,"id",{enumerable:!0,get:function(){return t.i}}),t.webpackPolyfill=1),t}},function(t,e,n){var i,r,a;//! moment-timezone.js +t.exports=function(){"use strict";function t(e){return(t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(e)}function e(t){var e=this;e.d3=window.d3?window.d3:n(2),e.api=t,e.config=e.getDefaultConfig(),e.data={},e.cache={},e.axes={}}function i(t){var n=this.internal=new e(this);n.loadConfig(t),n.beforeInit(t),n.init(),n.afterInit(t),function t(e,n,i){Object.keys(e).forEach(function(r){n[r]=e[r].bind(i),Object.keys(e[r]).length>0&&t(e[r],n[r],i)})}(i.prototype,this,this)}function r(t,e){this.component=t,this.params=e||{},this.d3=t.d3,this.scale=this.d3.scaleLinear(),this.range,this.orient="bottom",this.innerTickSize=6,this.outerTickSize=this.params.withOuterTick?6:0,this.tickPadding=3,this.tickValues=null,this.tickFormat,this.tickArguments,this.tickOffset=0,this.tickCulling=!0,this.tickCentered,this.tickTextCharSize,this.tickTextRotate=this.params.tickTextRotate,this.tickLength,this.axis=this.generateAxis()}r.prototype.axisX=function(t,e,n){t.attr("transform",function(t){return"translate("+Math.ceil(e(t)+n)+", 0)"})},r.prototype.axisY=function(t,e){t.attr("transform",function(t){return"translate(0,"+Math.ceil(e(t))+")"})},r.prototype.scaleExtent=function(t){var e=t[0],n=t[t.length-1];return e0&&i[0]>0&&i.unshift(i[0]-(i[1]-i[0])),i},r.prototype.copyScale=function(){var t,e=this.scale.copy();return this.params.isCategory&&(t=this.scale.domain(),e.domain([t[0],t[1]-1])),e},r.prototype.textFormatted=function(t){var e=this.tickFormat?this.tickFormat(t):t;return void 0!==e?e:""},r.prototype.updateRange=function(){return this.range=this.scale.rangeExtent?this.scale.rangeExtent():this.scaleExtent(this.scale.range()),this.range},r.prototype.updateTickTextCharSize=function(t){var e=this;if(e.tickTextCharSize)return e.tickTextCharSize;var n={h:11.5,w:5.5};return t.select("text").text(function(t){return e.textFormatted(t)}).each(function(t){var i=this.getBoundingClientRect(),r=e.textFormatted(t),a=i.height,o=r?i.width/r.length:void 0;a&&o&&(n.h=a,n.w=o)}).text(""),e.tickTextCharSize=n,n},r.prototype.isVertical=function(){return"left"===this.orient||"right"===this.orient},r.prototype.tspanData=function(t,e,n){var i=this.params.tickMultiline?this.splitTickText(t,n):[].concat(this.textFormatted(t));return this.params.tickMultiline&&this.params.tickMultilineMax>0&&(i=this.ellipsify(i,this.params.tickMultilineMax)),i.map(function(t){return{index:e,splitted:t,length:i.length}})},r.prototype.splitTickText=function(t,e){var n,i,r,a=this,o=a.textFormatted(t),s=a.params.tickWidth;return"[object Array]"===Object.prototype.toString.call(o)?o:((!s||s<=0)&&(s=a.isVertical()?95:a.params.isCategory?Math.ceil(e(1)-e(0))-12:110),function t(e,o){i=void 0;for(var c=1;c=0;r--){var a=n[r].length;if(n[r]=n[r].substr(0,a-i).padEnd(a,"."),(i-=a)<=0)break}return n},r.prototype.updateTickLength=function(){this.tickLength=Math.max(this.innerTickSize,0)+this.tickPadding},r.prototype.lineY2=function(t){var e=this.scale(t)+(this.tickCentered?0:this.tickOffset);return this.range[0]0?1:-1):this.tickLength},r.prototype.textTransform=function(){var t=this.tickTextRotate;return t?"rotate("+t+")":""},r.prototype.textTextAnchor=function(){var t=this.tickTextRotate;return t?t>0?"start":"end":"middle"},r.prototype.tspanDx=function(){var t=this.tickTextRotate;return t?8*Math.sin(Math.PI*(t/180)):0},r.prototype.tspanDy=function(t,e){var n=this.tickTextCharSize.h;return 0===e&&(n=this.isVertical()?-((t.length-1)*(this.tickTextCharSize.h/2)-3):".71em"),n},r.prototype.generateAxis=function(){var t=this,e=t.d3,n=t.params;function i(r,a){var o;return r.each(function(){var r,s,c,u=i.g=e.select(this),d=this.__chart__||t.scale,l=this.__chart__=t.copyScale(),f=t.tickValues?t.tickValues:t.generateTicks(l),h=u.selectAll(".tick").data(f,l),p=h.enter().insert("g",".domain").attr("class","tick").style("opacity",1e-6),_=h.exit().remove(),M=h.merge(p);n.isCategory?(t.tickOffset=Math.ceil((l(1)-l(0))/2),s=t.tickCentered?0:t.tickOffset,c=t.tickCentered?t.tickOffset:0):t.tickOffset=s=0,t.updateRange(),t.updateTickLength(),t.updateTickTextCharSize(u.select(".tick"));var m=M.select("line").merge(p.append("line")),g=M.select("text").merge(p.append("text")),b=M.selectAll("text").selectAll("tspan").data(function(e,n){return t.tspanData(e,n,l)}),y=b.enter().append("tspan"),L=y.merge(b).text(function(t){return t.splitted});b.exit().remove();var A=u.selectAll(".domain").data([0]),v=A.enter().append("path").merge(A).attr("class","domain");switch(t.orient){case"bottom":r=t.axisX,m.attr("x1",s).attr("x2",s).attr("y2",function(e,n){return t.lineY2(e,n)}),g.attr("x",0).attr("y",function(e,n){return t.textY(e,n)}).attr("transform",function(e,n){return t.textTransform(e,n)}).style("text-anchor",function(e,n){return t.textTextAnchor(e,n)}),L.attr("x",0).attr("dy",function(e,n){return t.tspanDy(e,n)}).attr("dx",function(e,n){return t.tspanDx(e,n)}),v.attr("d","M"+t.range[0]+","+t.outerTickSize+"V0H"+t.range[1]+"V"+t.outerTickSize);break;case"top":r=t.axisX,m.attr("x1",s).attr("x2",s).attr("y2",function(e,n){return-1*t.lineY2(e,n)}),g.attr("x",0).attr("y",function(e,i){return-1*t.textY(e,i)-(n.isCategory?2:t.tickLength-2)}).attr("transform",function(e,n){return t.textTransform(e,n)}).style("text-anchor",function(e,n){return t.textTextAnchor(e,n)}),L.attr("x",0).attr("dy",function(e,n){return t.tspanDy(e,n)}).attr("dx",function(e,n){return t.tspanDx(e,n)}),v.attr("d","M"+t.range[0]+","+-t.outerTickSize+"V0H"+t.range[1]+"V"+-t.outerTickSize);break;case"left":r=t.axisY,m.attr("x2",-t.innerTickSize).attr("y1",c).attr("y2",c),g.attr("x",-t.tickLength).attr("y",t.tickOffset).style("text-anchor","end"),L.attr("x",-t.tickLength).attr("dy",function(e,n){return t.tspanDy(e,n)}),v.attr("d","M"+-t.outerTickSize+","+t.range[0]+"H0V"+t.range[1]+"H"+-t.outerTickSize);break;case"right":r=t.axisY,m.attr("x2",t.innerTickSize).attr("y1",c).attr("y2",c),g.attr("x",t.tickLength).attr("y",t.tickOffset).style("text-anchor","start"),L.attr("x",t.tickLength).attr("dy",function(e,n){return t.tspanDy(e,n)}),v.attr("d","M"+t.outerTickSize+","+t.range[0]+"H0V"+t.range[1]+"H"+t.outerTickSize)}if(l.rangeBand){var x=l,z=x.rangeBand()/2;d=l=function(t){return x(t)+z}}else d.rangeBand?d=l:_.call(r,l,t.tickOffset);p.call(r,d,t.tickOffset),o=(a?M.transition(a):M).style("opacity",1).call(r,l,t.tickOffset)}),o}return i.scale=function(e){return arguments.length?(t.scale=e,i):t.scale},i.orient=function(e){return arguments.length?(t.orient=e in{top:1,right:1,bottom:1,left:1}?e+"":"bottom",i):t.orient},i.tickFormat=function(e){return arguments.length?(t.tickFormat=e,i):t.tickFormat},i.tickCentered=function(e){return arguments.length?(t.tickCentered=e,i):t.tickCentered},i.tickOffset=function(){return t.tickOffset},i.tickInterval=function(){var e,r;return n.isCategory?e=2*t.tickOffset:(r=i.g.select("path.domain").node().getTotalLength()-2*t.outerTickSize,e=r/i.g.selectAll("line").size()),e===1/0?0:e},i.ticks=function(){return arguments.length?(t.tickArguments=arguments,i):t.tickArguments},i.tickCulling=function(e){return arguments.length?(t.tickCulling=e,i):t.tickCulling},i.tickValues=function(e){if("function"==typeof e)t.tickValues=function(){return e(t.scale.domain())};else{if(!arguments.length)return t.tickValues;t.tickValues=e}return i},i};var a={target:"c3-target",chart:"c3-chart",chartLine:"c3-chart-line",chartLines:"c3-chart-lines",chartBar:"c3-chart-bar",chartBars:"c3-chart-bars",chartText:"c3-chart-text",chartTexts:"c3-chart-texts",chartArc:"c3-chart-arc",chartArcs:"c3-chart-arcs",chartArcsTitle:"c3-chart-arcs-title",chartArcsBackground:"c3-chart-arcs-background",chartArcsGaugeUnit:"c3-chart-arcs-gauge-unit",chartArcsGaugeMax:"c3-chart-arcs-gauge-max",chartArcsGaugeMin:"c3-chart-arcs-gauge-min",selectedCircle:"c3-selected-circle",selectedCircles:"c3-selected-circles",eventRect:"c3-event-rect",eventRects:"c3-event-rects",eventRectsSingle:"c3-event-rects-single",eventRectsMultiple:"c3-event-rects-multiple",zoomRect:"c3-zoom-rect",brush:"c3-brush",dragZoom:"c3-drag-zoom",focused:"c3-focused",defocused:"c3-defocused",region:"c3-region",regions:"c3-regions",title:"c3-title",tooltipContainer:"c3-tooltip-container",tooltip:"c3-tooltip",tooltipName:"c3-tooltip-name",shape:"c3-shape",shapes:"c3-shapes",line:"c3-line",lines:"c3-lines",bar:"c3-bar",bars:"c3-bars",circle:"c3-circle",circles:"c3-circles",arc:"c3-arc",arcLabelLine:"c3-arc-label-line",arcs:"c3-arcs",area:"c3-area",areas:"c3-areas",empty:"c3-empty",text:"c3-text",texts:"c3-texts",gaugeValue:"c3-gauge-value",grid:"c3-grid",gridLines:"c3-grid-lines",xgrid:"c3-xgrid",xgrids:"c3-xgrids",xgridLine:"c3-xgrid-line",xgridLines:"c3-xgrid-lines",xgridFocus:"c3-xgrid-focus",ygrid:"c3-ygrid",ygrids:"c3-ygrids",ygridLine:"c3-ygrid-line",ygridLines:"c3-ygrid-lines",axis:"c3-axis",axisX:"c3-axis-x",axisXLabel:"c3-axis-x-label",axisY:"c3-axis-y",axisYLabel:"c3-axis-y-label",axisY2:"c3-axis-y2",axisY2Label:"c3-axis-y2-label",legendBackground:"c3-legend-background",legendItem:"c3-legend-item",legendItemEvent:"c3-legend-item-event",legendItemTile:"c3-legend-item-tile",legendItemHidden:"c3-legend-item-hidden",legendItemFocused:"c3-legend-item-focused",dragarea:"c3-dragarea",EXPANDED:"_expanded_",SELECTED:"_selected_",INCLUDED:"_included_"},o=function(t){return Math.ceil(t)+.5},s=function(t){return 10*Math.ceil(t/10)},c=function(t){return t[1]-t[0]},u=function(t,e,n){return f(t[e])?t[e]:n},d=function(t){var e=t.getBoundingClientRect(),n=[t.pathSegList.getItem(0),t.pathSegList.getItem(1)],i=n[0].x,r=Math.min(n[0].y,n[1].y);return{x:i,y:r,width:e.width,height:e.height}},l=function(t){return Array.isArray(t)},f=function(t){return void 0!==t},h=function(e){return void 0===e||null===e||_(e)&&0===e.length||"object"===t(e)&&0===Object.keys(e).length},p=function(t){return"function"==typeof t},_=function(t){return"string"==typeof t},M=function(t){return void 0===t},m=function(t){return t||0===t},g=function(t){return!h(t)},b=function(t){return"string"==typeof t?t.replace(//g,">"):t},y=function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.owner=e,this.d3=e.d3,this.internal=r};y.prototype.init=function(){var t=this.owner,e=t.config,n=t.main;t.axes.x=n.append("g").attr("class",a.axis+" "+a.axisX).attr("clip-path",e.axis_x_inner?"":t.clipPathForXAxis).attr("transform",t.getTranslate("x")).style("visibility",e.axis_x_show?"visible":"hidden"),t.axes.x.append("text").attr("class",a.axisXLabel).attr("transform",e.axis_rotated?"rotate(-90)":"").style("text-anchor",this.textAnchorForXAxisLabel.bind(this)),t.axes.y=n.append("g").attr("class",a.axis+" "+a.axisY).attr("clip-path",e.axis_y_inner?"":t.clipPathForYAxis).attr("transform",t.getTranslate("y")).style("visibility",e.axis_y_show?"visible":"hidden"),t.axes.y.append("text").attr("class",a.axisYLabel).attr("transform",e.axis_rotated?"":"rotate(-90)").style("text-anchor",this.textAnchorForYAxisLabel.bind(this)),t.axes.y2=n.append("g").attr("class",a.axis+" "+a.axisY2).attr("transform",t.getTranslate("y2")).style("visibility",e.axis_y2_show?"visible":"hidden"),t.axes.y2.append("text").attr("class",a.axisY2Label).attr("transform",e.axis_rotated?"":"rotate(-90)").style("text-anchor",this.textAnchorForY2AxisLabel.bind(this))},y.prototype.getXAxis=function(t,e,n,i,r,a,o){var s=this.owner,c=s.config,u={isCategory:s.isCategorized(),withOuterTick:r,tickMultiline:c.axis_x_tick_multiline,tickMultilineMax:c.axis_x_tick_multiline?Number(c.axis_x_tick_multilineMax):0,tickWidth:c.axis_x_tick_width,tickTextRotate:o?0:c.axis_x_tick_rotate,withoutTransition:a},d=new this.internal(this,u).axis.scale(t).orient(e);return s.isTimeSeries()&&i&&"function"!=typeof i&&(i=i.map(function(t){return s.parseDate(t)})),d.tickFormat(n).tickValues(i),s.isCategorized()&&(d.tickCentered(c.axis_x_tick_centered),h(c.axis_x_tick_culling)&&(c.axis_x_tick_culling=!1)),d},y.prototype.updateXAxisTickValues=function(t,e){var n,i=this.owner,r=i.config;return(r.axis_x_tick_fit||r.axis_x_tick_count)&&(n=this.generateTickValues(i.mapTargetsToUniqueXs(t),r.axis_x_tick_count,i.isTimeSeries())),e?e.tickValues(n):(i.xAxis.tickValues(n),i.subXAxis.tickValues(n)),n},y.prototype.getYAxis=function(t,e,n,i,r,a,o){var s=this.owner,c=s.config,u={withOuterTick:r,withoutTransition:a,tickTextRotate:o?0:c.axis_y_tick_rotate},d=new this.internal(this,u).axis.scale(t).orient(e).tickFormat(n);return s.isTimeSeriesY()?d.ticks(c.axis_y_tick_time_type,c.axis_y_tick_time_interval):d.tickValues(i),d},y.prototype.getId=function(t){var e=this.owner.config;return t in e.data_axes?e.data_axes[t]:"y"},y.prototype.getXAxisTickFormat=function(){var t=this.owner,e=t.config,n=t.isTimeSeries()?t.defaultAxisTimeFormat:t.isCategorized()?t.categoryName:function(t){return t};return e.axis_x_tick_format&&(p(e.axis_x_tick_format)?n=e.axis_x_tick_format:t.isTimeSeries()&&(n=function(n){return n?t.axisTimeFormat(e.axis_x_tick_format)(n):""})),p(n)?function(e){return n.call(t,e)}:n},y.prototype.getTickValues=function(t,e){return t||(e?e.tickValues():void 0)},y.prototype.getXAxisTickValues=function(){return this.getTickValues(this.owner.config.axis_x_tick_values,this.owner.xAxis)},y.prototype.getYAxisTickValues=function(){return this.getTickValues(this.owner.config.axis_y_tick_values,this.owner.yAxis)},y.prototype.getY2AxisTickValues=function(){return this.getTickValues(this.owner.config.axis_y2_tick_values,this.owner.y2Axis)},y.prototype.getLabelOptionByAxisId=function(t){var e,n=this.owner,i=n.config;return"y"===t?e=i.axis_y_label:"y2"===t?e=i.axis_y2_label:"x"===t&&(e=i.axis_x_label),e},y.prototype.getLabelText=function(t){var e=this.getLabelOptionByAxisId(t);return _(e)?e:e?e.text:null},y.prototype.setLabelText=function(t,e){var n=this.owner,i=n.config,r=this.getLabelOptionByAxisId(t);_(r)?"y"===t?i.axis_y_label=e:"y2"===t?i.axis_y2_label=e:"x"===t&&(i.axis_x_label=e):r&&(r.text=e)},y.prototype.getLabelPosition=function(e,n){var i=this.getLabelOptionByAxisId(e),r=i&&"object"===t(i)&&i.position?i.position:n;return{isInner:r.indexOf("inner")>=0,isOuter:r.indexOf("outer")>=0,isLeft:r.indexOf("left")>=0,isCenter:r.indexOf("center")>=0,isRight:r.indexOf("right")>=0,isTop:r.indexOf("top")>=0,isMiddle:r.indexOf("middle")>=0,isBottom:r.indexOf("bottom")>=0}},y.prototype.getXAxisLabelPosition=function(){return this.getLabelPosition("x",this.owner.config.axis_rotated?"inner-top":"inner-right")},y.prototype.getYAxisLabelPosition=function(){return this.getLabelPosition("y",this.owner.config.axis_rotated?"inner-right":"inner-top")},y.prototype.getY2AxisLabelPosition=function(){return this.getLabelPosition("y2",this.owner.config.axis_rotated?"inner-right":"inner-top")},y.prototype.getLabelPositionById=function(t){return"y2"===t?this.getY2AxisLabelPosition():"y"===t?this.getYAxisLabelPosition():this.getXAxisLabelPosition()},y.prototype.textForXAxisLabel=function(){return this.getLabelText("x")},y.prototype.textForYAxisLabel=function(){return this.getLabelText("y")},y.prototype.textForY2AxisLabel=function(){return this.getLabelText("y2")},y.prototype.xForAxisLabel=function(t,e){var n=this.owner;return t?e.isLeft?0:e.isCenter?n.width/2:n.width:e.isBottom?-n.height:e.isMiddle?-n.height/2:0},y.prototype.dxForAxisLabel=function(t,e){return t?e.isLeft?"0.5em":e.isRight?"-0.5em":"0":e.isTop?"-0.5em":e.isBottom?"0.5em":"0"},y.prototype.textAnchorForAxisLabel=function(t,e){return t?e.isLeft?"start":e.isCenter?"middle":"end":e.isBottom?"start":e.isMiddle?"middle":"end"},y.prototype.xForXAxisLabel=function(){return this.xForAxisLabel(!this.owner.config.axis_rotated,this.getXAxisLabelPosition())},y.prototype.xForYAxisLabel=function(){return this.xForAxisLabel(this.owner.config.axis_rotated,this.getYAxisLabelPosition())},y.prototype.xForY2AxisLabel=function(){return this.xForAxisLabel(this.owner.config.axis_rotated,this.getY2AxisLabelPosition())},y.prototype.dxForXAxisLabel=function(){return this.dxForAxisLabel(!this.owner.config.axis_rotated,this.getXAxisLabelPosition())},y.prototype.dxForYAxisLabel=function(){return this.dxForAxisLabel(this.owner.config.axis_rotated,this.getYAxisLabelPosition())},y.prototype.dxForY2AxisLabel=function(){return this.dxForAxisLabel(this.owner.config.axis_rotated,this.getY2AxisLabelPosition())},y.prototype.dyForXAxisLabel=function(){var t=this.owner,e=t.config,n=this.getXAxisLabelPosition();return e.axis_rotated?n.isInner?"1.2em":-25-(t.config.axis_x_inner?0:this.getMaxTickWidth("x")):n.isInner?"-0.5em":e.axis_x_height?e.axis_x_height-10:"3em"},y.prototype.dyForYAxisLabel=function(){var t=this.owner,e=this.getYAxisLabelPosition();return t.config.axis_rotated?e.isInner?"-0.5em":"3em":e.isInner?"1.2em":-10-(t.config.axis_y_inner?0:this.getMaxTickWidth("y")+10)},y.prototype.dyForY2AxisLabel=function(){var t=this.owner,e=this.getY2AxisLabelPosition();return t.config.axis_rotated?e.isInner?"1.2em":"-2.2em":e.isInner?"-0.5em":15+(t.config.axis_y2_inner?0:this.getMaxTickWidth("y2")+15)},y.prototype.textAnchorForXAxisLabel=function(){var t=this.owner;return this.textAnchorForAxisLabel(!t.config.axis_rotated,this.getXAxisLabelPosition())},y.prototype.textAnchorForYAxisLabel=function(){var t=this.owner;return this.textAnchorForAxisLabel(t.config.axis_rotated,this.getYAxisLabelPosition())},y.prototype.textAnchorForY2AxisLabel=function(){var t=this.owner;return this.textAnchorForAxisLabel(t.config.axis_rotated,this.getY2AxisLabelPosition())},y.prototype.getMaxTickWidth=function(t,e){var n,i,r,a,o=this.owner,s=o.config,c=0;return e&&o.currentMaxTickWidths[t]?o.currentMaxTickWidths[t]:(o.svg&&(n=o.filterTargetsToShow(o.data.targets),"y"===t?(i=o.y.copy().domain(o.getYDomain(n,"y")),r=this.getYAxis(i,o.yOrient,s.axis_y_tick_format,o.yAxisTickValues,!1,!0,!0)):"y2"===t?(i=o.y2.copy().domain(o.getYDomain(n,"y2")),r=this.getYAxis(i,o.y2Orient,s.axis_y2_tick_format,o.y2AxisTickValues,!1,!0,!0)):(i=o.x.copy().domain(o.getXDomain(n)),r=this.getXAxis(i,o.xOrient,o.xAxisTickFormat,o.xAxisTickValues,!1,!0,!0),this.updateXAxisTickValues(n,r)),(a=o.d3.select("body").append("div").classed("c3",!0)).append("svg").style("visibility","hidden").style("position","fixed").style("top",0).style("left",0).append("g").call(r).each(function(){o.d3.select(this).selectAll("text").each(function(){var t=this.getBoundingClientRect();c2){for(o=i-2,r=t[0],a=t[t.length-1],s=(a-r)/(o+1),d=[r],c=0;c=0&&E.select(this).style("display",e%k?"none":"block")})}else W.svg.selectAll("."+a.axisX+" .tick text").style("display","block");m=W.generateDrawArea?W.generateDrawArea(C,!1):void 0,g=W.generateDrawBar?W.generateDrawBar(B):void 0,b=W.generateDrawLine?W.generateDrawLine(H,!1):void 0,y=W.generateXYForText(C,B,H,!0),L=W.generateXYForText(C,B,H,!1),W.updateCircleY(),N=(W.config.axis_rotated?W.circleY:W.circleX).bind(W),q=(W.config.axis_rotated?W.circleX:W.circleY).bind(W),n&&(W.subY.domain(W.getYDomain(j,"y")),W.subY2.domain(W.getYDomain(j,"y2"))),W.updateXgridFocus(),P.select("text."+a.text+"."+a.empty).attr("x",W.width/2).attr("y",W.height/2).text(X.data_empty_label_text).transition().style("opacity",j.length?0:1),p&&W.redrawEventRect(),W.updateGrid(A),W.updateRegion(A),W.updateBar(v),W.updateLine(v),W.updateArea(v),W.updateCircle(N,q),W.hasDataLabel()&&W.updateText(y,L,v),W.redrawTitle&&W.redrawTitle(),W.redrawArc&&W.redrawArc(A,v,c),W.redrawSubchart&&W.redrawSubchart(i,e,A,v,C,B,H),P.selectAll("."+a.selectedCircles).filter(W.isBarType.bind(W)).selectAll("circle").remove(),t.flow&&(T=W.generateFlow({targets:j,flow:t.flow,duration:t.flow.duration,drawBar:g,drawLine:b,drawArea:m,cx:N,cy:q,xv:I,xForText:y,yForText:L})),W.isTabVisible()&&(A?(S=E.transition().duration(A),z=[],[W.redrawBar(g,!0,S),W.redrawLine(b,!0,S),W.redrawArea(m,!0,S),W.redrawCircle(N,q,!0,S),W.redrawText(y,L,t.flow,!0,S),W.redrawRegion(!0,S),W.redrawGrid(!0,S)].forEach(function(t){t.forEach(function(t){z.push(t)})}),w=W.generateWait(),z.forEach(function(t){w.add(t)}),w(function(){T&&T(),X.onrendered&&X.onrendered.call(W)})):(W.redrawBar(g),W.redrawLine(b),W.redrawArea(m),W.redrawCircle(N,q),W.redrawText(y,L,t.flow),W.redrawRegion(),W.redrawGrid(),T&&T(),X.onrendered&&X.onrendered.call(W))),W.mapToIds(W.data.targets).forEach(function(t){W.withoutFadeIn[t]=!0})},e.prototype.updateAndRedraw=function(t){var e,n=this,i=n.config;(t=t||{}).withTransition=u(t,"withTransition",!0),t.withTransform=u(t,"withTransform",!1),t.withLegend=u(t,"withLegend",!1),t.withUpdateXDomain=u(t,"withUpdateXDomain",!0),t.withUpdateOrgXDomain=u(t,"withUpdateOrgXDomain",!0),t.withTransitionForExit=!1,t.withTransitionForTransform=u(t,"withTransitionForTransform",t.withTransition),n.updateSizes(),t.withLegend&&i.legend_show||(e=n.axis.generateTransitions(t.withTransitionForAxis?i.transition_duration:0),n.updateScales(),n.updateSvgSize(),n.transformAll(t.withTransitionForTransform,e)),n.redraw(t,e)},e.prototype.redrawWithoutRescale=function(){this.redraw({withY:!1,withSubchart:!1,withEventRect:!1,withTransitionForAxis:!1})},e.prototype.isTimeSeries=function(){return"timeseries"===this.config.axis_x_type},e.prototype.isCategorized=function(){return this.config.axis_x_type.indexOf("categor")>=0},e.prototype.isCustomX=function(){var t=this.config;return!this.isTimeSeries()&&(t.data_x||g(t.data_xs))},e.prototype.isTimeSeriesY=function(){return"timeseries"===this.config.axis_y_type},e.prototype.getTranslate=function(t){var e,n,i=this,r=i.config;return"main"===t?(e=o(i.margin.left),n=o(i.margin.top)):"context"===t?(e=o(i.margin2.left),n=o(i.margin2.top)):"legend"===t?(e=i.margin3.left,n=i.margin3.top):"x"===t?(e=0,n=r.axis_rotated?0:i.height):"y"===t?(e=0,n=r.axis_rotated?i.height:0):"y2"===t?(e=r.axis_rotated?0:i.width,n=r.axis_rotated?1:0):"subx"===t?(e=0,n=r.axis_rotated?0:i.height2):"arc"===t&&(e=i.arcWidth/2,n=i.arcHeight/2-(i.hasType("gauge")?6:0)),"translate("+e+","+n+")"},e.prototype.initialOpacity=function(t){return null!==t.value&&this.withoutFadeIn[t.id]?1:0},e.prototype.initialOpacityForCircle=function(t){return null!==t.value&&this.withoutFadeIn[t.id]?this.opacityForCircle(t):0},e.prototype.opacityForCircle=function(t){var e=(p(this.config.point_show)?this.config.point_show(t):this.config.point_show)?1:0;return m(t.value)?this.isScatterType(t)?.5:e:0},e.prototype.opacityForText=function(){return this.hasDataLabel()?1:0},e.prototype.xx=function(t){return t?this.x(t.x):null},e.prototype.xv=function(t){var e=this,n=t.value;return e.isTimeSeries()?n=e.parseDate(t.value):e.isCategorized()&&"string"==typeof t.value&&(n=e.config.axis_x_categories.indexOf(t.value)),Math.ceil(e.x(n))},e.prototype.yv=function(t){var e=t.axis&&"y2"===t.axis?this.y2:this.y;return Math.ceil(e(t.value))},e.prototype.subxx=function(t){return t?this.subX(t.x):null},e.prototype.transformMain=function(t,e){var n,i,r,o=this;e&&e.axisX?n=e.axisX:(n=o.main.select("."+a.axisX),t&&(n=n.transition())),e&&e.axisY?i=e.axisY:(i=o.main.select("."+a.axisY),t&&(i=i.transition())),e&&e.axisY2?r=e.axisY2:(r=o.main.select("."+a.axisY2),t&&(r=r.transition())),(t?o.main.transition():o.main).attr("transform",o.getTranslate("main")),n.attr("transform",o.getTranslate("x")),i.attr("transform",o.getTranslate("y")),r.attr("transform",o.getTranslate("y2")),o.main.select("."+a.chartArcs).attr("transform",o.getTranslate("arc"))},e.prototype.transformAll=function(t,e){var n=this;n.transformMain(t,e),n.config.subchart_show&&n.transformContext(t,e),n.legend&&n.transformLegend(t)},e.prototype.updateSvgSize=function(){var t=this,e=t.svg.select(".c3-brush .overlay");t.svg.attr("width",t.currentWidth).attr("height",t.currentHeight),t.svg.selectAll(["#"+t.clipId,"#"+t.clipIdForGrid]).select("rect").attr("width",t.width).attr("height",t.height),t.svg.select("#"+t.clipIdForXAxis).select("rect").attr("x",t.getXAxisClipX.bind(t)).attr("y",t.getXAxisClipY.bind(t)).attr("width",t.getXAxisClipWidth.bind(t)).attr("height",t.getXAxisClipHeight.bind(t)),t.svg.select("#"+t.clipIdForYAxis).select("rect").attr("x",t.getYAxisClipX.bind(t)).attr("y",t.getYAxisClipY.bind(t)).attr("width",t.getYAxisClipWidth.bind(t)).attr("height",t.getYAxisClipHeight.bind(t)),t.svg.select("#"+t.clipIdForSubchart).select("rect").attr("width",t.width).attr("height",e.size()?e.attr("height"):0)},e.prototype.updateDimension=function(t){var e=this;t||(e.config.axis_rotated?(e.axes.x.call(e.xAxis),e.axes.subx.call(e.subXAxis)):(e.axes.y.call(e.yAxis),e.axes.y2.call(e.y2Axis))),e.updateSizes(),e.updateScales(),e.updateSvgSize(),e.transformAll(!1)},e.prototype.observeInserted=function(t){var e,n=this;"undefined"!=typeof MutationObserver?(e=new MutationObserver(function(i){i.forEach(function(i){"childList"===i.type&&i.previousSibling&&(e.disconnect(),n.intervalForObserveInserted=window.setInterval(function(){t.node().parentNode&&(window.clearInterval(n.intervalForObserveInserted),n.updateDimension(),n.brush&&n.brush.update(),n.config.oninit.call(n),n.redraw({withTransform:!0,withUpdateXDomain:!0,withUpdateOrgXDomain:!0,withTransition:!1,withTransitionForTransform:!1,withLegend:!0}),t.transition().style("opacity",1))},10))})})).observe(t.node(),{attributes:!0,childList:!0,characterData:!0}):window.console.error("MutationObserver not defined.")},e.prototype.bindResize=function(){var t=this,e=t.config;if(t.resizeFunction=t.generateResize(),t.resizeFunction.add(function(){e.onresize.call(t)}),e.resize_auto&&t.resizeFunction.add(function(){void 0!==t.resizeTimeout&&window.clearTimeout(t.resizeTimeout),t.resizeTimeout=window.setTimeout(function(){delete t.resizeTimeout,t.updateAndRedraw({withUpdateXDomain:!1,withUpdateOrgXDomain:!1,withTransition:!1,withTransitionForTransform:!1,withLegend:!0}),t.brush&&t.brush.update()},100)}),t.resizeFunction.add(function(){e.onresized.call(t)}),t.resizeIfElementDisplayed=function(){null!=t.api&&t.api.element.offsetParent&&t.resizeFunction()},window.attachEvent)window.attachEvent("onresize",t.resizeIfElementDisplayed);else if(window.addEventListener)window.addEventListener("resize",t.resizeIfElementDisplayed,!1);else{var n=window.onresize;n?n.add&&n.remove||(n=t.generateResize()).add(window.onresize):n=t.generateResize(),n.add(t.resizeFunction),window.onresize=function(){t.api.element.offsetParent&&n()}}},e.prototype.bindWindowFocus=function(){var t=this;this.windowFocusHandler||(this.windowFocusHandler=function(){t.redraw()},window.addEventListener("focus",this.windowFocusHandler))},e.prototype.unbindWindowFocus=function(){window.removeEventListener("focus",this.windowFocusHandler),delete this.windowFocusHandler},e.prototype.generateResize=function(){var t=[];function e(){t.forEach(function(t){t()})}return e.add=function(e){t.push(e)},e.remove=function(e){for(var n=0;ne.getTotalLength())break;n--}while(n>0);return n})),"SVGPathSegList"in window||(window.SVGPathSegList=function(t){this._pathElement=t,this._list=this._parsePath(this._pathElement.getAttribute("d")),this._mutationObserverConfig={attributes:!0,attributeFilter:["d"]},this._pathElementMutationObserver=new MutationObserver(this._updateListFromPathMutations.bind(this)),this._pathElementMutationObserver.observe(this._pathElement,this._mutationObserverConfig)},window.SVGPathSegList.prototype.classname="SVGPathSegList",Object.defineProperty(window.SVGPathSegList.prototype,"numberOfItems",{get:function(){return this._checkPathSynchronizedToList(),this._list.length},enumerable:!0}),Object.defineProperty(window.SVGPathElement.prototype,"pathSegList",{get:function(){return this._pathSegList||(this._pathSegList=new window.SVGPathSegList(this)),this._pathSegList},enumerable:!0}),Object.defineProperty(window.SVGPathElement.prototype,"normalizedPathSegList",{get:function(){return this.pathSegList},enumerable:!0}),Object.defineProperty(window.SVGPathElement.prototype,"animatedPathSegList",{get:function(){return this.pathSegList},enumerable:!0}),Object.defineProperty(window.SVGPathElement.prototype,"animatedNormalizedPathSegList",{get:function(){return this.pathSegList},enumerable:!0}),window.SVGPathSegList.prototype._checkPathSynchronizedToList=function(){this._updateListFromPathMutations(this._pathElementMutationObserver.takeRecords())},window.SVGPathSegList.prototype._updateListFromPathMutations=function(t){if(this._pathElement){var e=!1;t.forEach(function(t){"d"==t.attributeName&&(e=!0)}),e&&(this._list=this._parsePath(this._pathElement.getAttribute("d")))}},window.SVGPathSegList.prototype._writeListToPath=function(){this._pathElementMutationObserver.disconnect(),this._pathElement.setAttribute("d",window.SVGPathSegList._pathSegArrayAsString(this._list)),this._pathElementMutationObserver.observe(this._pathElement,this._mutationObserverConfig)},window.SVGPathSegList.prototype.segmentChanged=function(t){this._writeListToPath()},window.SVGPathSegList.prototype.clear=function(){this._checkPathSynchronizedToList(),this._list.forEach(function(t){t._owningPathSegList=null}),this._list=[],this._writeListToPath()},window.SVGPathSegList.prototype.initialize=function(t){return this._checkPathSynchronizedToList(),this._list=[t],t._owningPathSegList=this,this._writeListToPath(),t},window.SVGPathSegList.prototype._checkValidIndex=function(t){if(isNaN(t)||t<0||t>=this.numberOfItems)throw"INDEX_SIZE_ERR"},window.SVGPathSegList.prototype.getItem=function(t){return this._checkPathSynchronizedToList(),this._checkValidIndex(t),this._list[t]},window.SVGPathSegList.prototype.insertItemBefore=function(t,e){return this._checkPathSynchronizedToList(),e>this.numberOfItems&&(e=this.numberOfItems),t._owningPathSegList&&(t=t.clone()),this._list.splice(e,0,t),t._owningPathSegList=this,this._writeListToPath(),t},window.SVGPathSegList.prototype.replaceItem=function(t,e){return this._checkPathSynchronizedToList(),t._owningPathSegList&&(t=t.clone()),this._checkValidIndex(e),this._list[e]=t,t._owningPathSegList=this,this._writeListToPath(),t},window.SVGPathSegList.prototype.removeItem=function(t){this._checkPathSynchronizedToList(),this._checkValidIndex(t);var e=this._list[t];return this._list.splice(t,1),this._writeListToPath(),e},window.SVGPathSegList.prototype.appendItem=function(t){return this._checkPathSynchronizedToList(),t._owningPathSegList&&(t=t.clone()),this._list.push(t),t._owningPathSegList=this,this._writeListToPath(),t},window.SVGPathSegList._pathSegArrayAsString=function(t){var e="",n=!0;return t.forEach(function(t){n?(n=!1,e+=t._asPathString()):e+=" "+t._asPathString()}),e},window.SVGPathSegList.prototype._parsePath=function(t){if(!t||0==t.length)return[];var e=this,n=function(){this.pathSegList=[]};n.prototype.appendSegment=function(t){this.pathSegList.push(t)};var i=function(t){this._string=t,this._currentIndex=0,this._endIndex=this._string.length,this._previousCommand=window.SVGPathSeg.PATHSEG_UNKNOWN,this._skipOptionalSpaces()};i.prototype._isCurrentSpace=function(){var t=this._string[this._currentIndex];return t<=" "&&(" "==t||"\n"==t||"\t"==t||"\r"==t||"\f"==t)},i.prototype._skipOptionalSpaces=function(){for(;this._currentIndex="0"&&t<="9")&&e!=window.SVGPathSeg.PATHSEG_CLOSEPATH?e==window.SVGPathSeg.PATHSEG_MOVETO_ABS?window.SVGPathSeg.PATHSEG_LINETO_ABS:e==window.SVGPathSeg.PATHSEG_MOVETO_REL?window.SVGPathSeg.PATHSEG_LINETO_REL:e:window.SVGPathSeg.PATHSEG_UNKNOWN},i.prototype.initialCommandIsMoveTo=function(){if(!this.hasMoreData())return!0;var t=this.peekSegmentType();return t==window.SVGPathSeg.PATHSEG_MOVETO_ABS||t==window.SVGPathSeg.PATHSEG_MOVETO_REL},i.prototype._parseNumber=function(){var t=0,e=0,n=1,i=0,r=1,a=1,o=this._currentIndex;if(this._skipOptionalSpaces(),this._currentIndex"9")&&"."!=this._string.charAt(this._currentIndex))){for(var s=this._currentIndex;this._currentIndex="0"&&this._string.charAt(this._currentIndex)<="9";)this._currentIndex++;if(this._currentIndex!=s)for(var c=this._currentIndex-1,u=1;c>=s;)e+=u*(this._string.charAt(c--)-"0"),u*=10;if(this._currentIndex=this._endIndex||this._string.charAt(this._currentIndex)<"0"||this._string.charAt(this._currentIndex)>"9")return;for(;this._currentIndex="0"&&this._string.charAt(this._currentIndex)<="9";)n*=10,i+=(this._string.charAt(this._currentIndex)-"0")/n,this._currentIndex+=1}if(this._currentIndex!=o&&this._currentIndex+1=this._endIndex||this._string.charAt(this._currentIndex)<"0"||this._string.charAt(this._currentIndex)>"9")return;for(;this._currentIndex="0"&&this._string.charAt(this._currentIndex)<="9";)t*=10,t+=this._string.charAt(this._currentIndex)-"0",this._currentIndex++}var d=e+i;if(d*=r,t&&(d*=Math.pow(10,a*t)),o!=this._currentIndex)return this._skipOptionalSpacesOrDelimiter(),d}},i.prototype._parseArcFlag=function(){if(!(this._currentIndex>=this._endIndex)){var t=!1,e=this._string.charAt(this._currentIndex++);if("0"==e)t=!1;else{if("1"!=e)return;t=!0}return this._skipOptionalSpacesOrDelimiter(),t}},i.prototype.parseSegment=function(){var t=this._string[this._currentIndex],n=this._pathSegTypeFromChar(t);if(n==window.SVGPathSeg.PATHSEG_UNKNOWN){if(this._previousCommand==window.SVGPathSeg.PATHSEG_UNKNOWN)return null;if((n=this._nextCommandHelper(t,this._previousCommand))==window.SVGPathSeg.PATHSEG_UNKNOWN)return null}else this._currentIndex++;switch(this._previousCommand=n,n){case window.SVGPathSeg.PATHSEG_MOVETO_REL:return new window.SVGPathSegMovetoRel(e,this._parseNumber(),this._parseNumber());case window.SVGPathSeg.PATHSEG_MOVETO_ABS:return new window.SVGPathSegMovetoAbs(e,this._parseNumber(),this._parseNumber());case window.SVGPathSeg.PATHSEG_LINETO_REL:return new window.SVGPathSegLinetoRel(e,this._parseNumber(),this._parseNumber());case window.SVGPathSeg.PATHSEG_LINETO_ABS:return new window.SVGPathSegLinetoAbs(e,this._parseNumber(),this._parseNumber());case window.SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_REL:return new window.SVGPathSegLinetoHorizontalRel(e,this._parseNumber());case window.SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_ABS:return new window.SVGPathSegLinetoHorizontalAbs(e,this._parseNumber());case window.SVGPathSeg.PATHSEG_LINETO_VERTICAL_REL:return new window.SVGPathSegLinetoVerticalRel(e,this._parseNumber());case window.SVGPathSeg.PATHSEG_LINETO_VERTICAL_ABS:return new window.SVGPathSegLinetoVerticalAbs(e,this._parseNumber());case window.SVGPathSeg.PATHSEG_CLOSEPATH:return this._skipOptionalSpaces(),new window.SVGPathSegClosePath(e);case window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_REL:var i={x1:this._parseNumber(),y1:this._parseNumber(),x2:this._parseNumber(),y2:this._parseNumber(),x:this._parseNumber(),y:this._parseNumber()};return new window.SVGPathSegCurvetoCubicRel(e,i.x,i.y,i.x1,i.y1,i.x2,i.y2);case window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_ABS:return i={x1:this._parseNumber(),y1:this._parseNumber(),x2:this._parseNumber(),y2:this._parseNumber(),x:this._parseNumber(),y:this._parseNumber()},new window.SVGPathSegCurvetoCubicAbs(e,i.x,i.y,i.x1,i.y1,i.x2,i.y2);case window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_REL:return i={x2:this._parseNumber(),y2:this._parseNumber(),x:this._parseNumber(),y:this._parseNumber()},new window.SVGPathSegCurvetoCubicSmoothRel(e,i.x,i.y,i.x2,i.y2);case window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_ABS:return i={x2:this._parseNumber(),y2:this._parseNumber(),x:this._parseNumber(),y:this._parseNumber()},new window.SVGPathSegCurvetoCubicSmoothAbs(e,i.x,i.y,i.x2,i.y2);case window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_REL:return i={x1:this._parseNumber(),y1:this._parseNumber(),x:this._parseNumber(),y:this._parseNumber()},new window.SVGPathSegCurvetoQuadraticRel(e,i.x,i.y,i.x1,i.y1);case window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_ABS:return i={x1:this._parseNumber(),y1:this._parseNumber(),x:this._parseNumber(),y:this._parseNumber()},new window.SVGPathSegCurvetoQuadraticAbs(e,i.x,i.y,i.x1,i.y1);case window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL:return new window.SVGPathSegCurvetoQuadraticSmoothRel(e,this._parseNumber(),this._parseNumber());case window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS:return new window.SVGPathSegCurvetoQuadraticSmoothAbs(e,this._parseNumber(),this._parseNumber());case window.SVGPathSeg.PATHSEG_ARC_REL:return i={x1:this._parseNumber(),y1:this._parseNumber(),arcAngle:this._parseNumber(),arcLarge:this._parseArcFlag(),arcSweep:this._parseArcFlag(),x:this._parseNumber(),y:this._parseNumber()},new window.SVGPathSegArcRel(e,i.x,i.y,i.x1,i.y1,i.arcAngle,i.arcLarge,i.arcSweep);case window.SVGPathSeg.PATHSEG_ARC_ABS:return i={x1:this._parseNumber(),y1:this._parseNumber(),arcAngle:this._parseNumber(),arcLarge:this._parseArcFlag(),arcSweep:this._parseArcFlag(),x:this._parseNumber(),y:this._parseNumber()},new window.SVGPathSegArcAbs(e,i.x,i.y,i.x1,i.y1,i.arcAngle,i.arcLarge,i.arcSweep);default:throw"Unknown path seg type."}};var r=new n,a=new i(t);if(!a.initialCommandIsMoveTo())return[];for(;a.hasMoreData();){var o=a.parseSegment();if(!o)return[];r.appendSegment(o)}return r.pathSegList}),String.prototype.padEnd||(String.prototype.padEnd=function(t,e){return t>>=0,e=String(void 0!==e?e:" "),this.length>t?String(this):((t-=this.length)>e.length&&(e+=e.repeat(t/e.length)),String(this)+e.slice(0,t))}),i.prototype.axis=function(){},i.prototype.axis.labels=function(t){var e=this.internal;arguments.length&&(Object.keys(t).forEach(function(n){e.axis.setLabelText(n,t[n])}),e.axis.updateLabels())},i.prototype.axis.max=function(e){var n=this.internal,i=n.config;if(!arguments.length)return{x:i.axis_x_max,y:i.axis_y_max,y2:i.axis_y2_max};"object"===t(e)?(m(e.x)&&(i.axis_x_max=e.x),m(e.y)&&(i.axis_y_max=e.y),m(e.y2)&&(i.axis_y2_max=e.y2)):i.axis_y_max=i.axis_y2_max=e,n.redraw({withUpdateOrgXDomain:!0,withUpdateXDomain:!0})},i.prototype.axis.min=function(e){var n=this.internal,i=n.config;if(!arguments.length)return{x:i.axis_x_min,y:i.axis_y_min,y2:i.axis_y2_min};"object"===t(e)?(m(e.x)&&(i.axis_x_min=e.x),m(e.y)&&(i.axis_y_min=e.y),m(e.y2)&&(i.axis_y2_min=e.y2)):i.axis_y_min=i.axis_y2_min=e,n.redraw({withUpdateOrgXDomain:!0,withUpdateXDomain:!0})},i.prototype.axis.range=function(t){if(!arguments.length)return{max:this.axis.max(),min:this.axis.min()};f(t.max)&&this.axis.max(t.max),f(t.min)&&this.axis.min(t.min)},i.prototype.category=function(t,e){var n=this.internal,i=n.config;return arguments.length>1&&(i.axis_x_categories[t]=e,n.redraw()),i.axis_x_categories[t]},i.prototype.categories=function(t){var e=this.internal,n=e.config;return arguments.length?(n.axis_x_categories=t,e.redraw(),n.axis_x_categories):n.axis_x_categories},i.prototype.resize=function(t){var e=this.internal.config;e.size_width=t?t.width:null,e.size_height=t?t.height:null,this.flush()},i.prototype.flush=function(){this.internal.updateAndRedraw({withLegend:!0,withTransition:!1,withTransitionForTransform:!1})},i.prototype.destroy=function(){var t=this.internal;if(window.clearInterval(t.intervalForObserveInserted),void 0!==t.resizeTimeout&&window.clearTimeout(t.resizeTimeout),window.detachEvent)window.detachEvent("onresize",t.resizeIfElementDisplayed);else if(window.removeEventListener)window.removeEventListener("resize",t.resizeIfElementDisplayed);else{var e=window.onresize;e&&e.add&&e.remove&&e.remove(t.resizeFunction)}return t.resizeFunction.remove(),t.unbindWindowFocus(),t.selectChart.classed("c3",!1).html(""),Object.keys(t).forEach(function(e){t[e]=null}),null},i.prototype.color=function(t){return this.internal.color(t)},i.prototype.data=function(t){var e=this.internal.data.targets;return void 0===t?e:e.filter(function(e){return[].concat(t).indexOf(e.id)>=0})},i.prototype.data.shown=function(t){return this.internal.filterTargetsToShow(this.data(t))},i.prototype.data.values=function(t){var e,n=null;return t&&(n=(e=this.data(t))[0]?e[0].values.map(function(t){return t.value}):null),n},i.prototype.data.names=function(t){return this.internal.clearLegendItemTextBoxCache(),this.internal.updateDataAttributes("names",t)},i.prototype.data.colors=function(t){return this.internal.updateDataAttributes("colors",t)},i.prototype.data.axes=function(t){return this.internal.updateDataAttributes("axes",t)},i.prototype.flow=function(t){var e,n,i,r,a,o,s,c=this.internal,u=[],d=c.getMaxDataCount(),l=0,h=0;if(t.json)n=c.convertJsonToData(t.json,t.keys);else if(t.rows)n=c.convertRowsToData(t.rows);else{if(!t.columns)return;n=c.convertColumnsToData(t.columns)}e=c.convertDataToTargets(n,!0),c.data.targets.forEach(function(t){var n,i,r=!1;for(n=0;n1?r.values[r.values.length-1].x-a.x:a.x-c.getXDomain(c.data.targets)[0]:1,i=[a.x-o,a.x],c.updateXDomain(null,!0,!0,!1,i)),c.updateTargets(c.data.targets),c.redraw({flow:{index:a.index,length:l,duration:m(t.duration)?t.duration:c.config.transition_duration,done:t.done,orgDataCount:d},withLegend:!0,withTransition:d>1,withTrimXDomain:!1,withUpdateXAxis:!0})},e.prototype.generateFlow=function(t){var e=this,n=e.config,i=e.d3;return function(){var r,o,s,u,d,l,f,h,p,_,M,m=t.targets,g=t.flow,b=t.drawBar,y=t.drawLine,L=t.drawArea,A=t.cx,v=t.cy,x=t.xv,z=t.xForText,w=t.yForText,T=t.duration,S=g.index,O=g.length,Y=e.getValueOnIndex(e.data.targets[0].values,S),k=e.getValueOnIndex(e.data.targets[0].values,S+O),D=e.x.domain(),N=g.duration||T,q=g.done||function(){},W=e.generateWait();e.flowing=!0,e.data.targets.forEach(function(t){t.values.splice(0,O)}),s=e.updateXDomain(m,!0,!0),e.updateXGrid&&e.updateXGrid(!0),u=e.xgrid||i.selectAll([]),d=e.xgridLines||i.selectAll([]),l=e.mainRegion||i.selectAll([]),f=e.mainText||i.selectAll([]),h=e.mainBar||i.selectAll([]),p=e.mainLine||i.selectAll([]),_=e.mainArea||i.selectAll([]),M=e.mainCircle||i.selectAll([]),g.orgDataCount?r=1===g.orgDataCount||(Y&&Y.x)===(k&&k.x)?e.x(D[0])-e.x(s[0]):e.isTimeSeries()?e.x(D[0])-e.x(s[0]):e.x(Y.x)-e.x(k.x):1!==e.data.targets[0].values.length?r=e.x(D[0])-e.x(s[0]):e.isTimeSeries()?(Y=e.getValueOnIndex(e.data.targets[0].values,0),k=e.getValueOnIndex(e.data.targets[0].values,e.data.targets[0].values.length-1),r=e.x(Y.x)-e.x(k.x)):r=c(s)/2,o="translate("+r+",0) scale("+c(D)/c(s)+",1)",e.hideXGridFocus();var P=i.transition().ease(i.easeLinear).duration(N);W.add(e.xAxis(e.axes.x,P)),W.add(h.transition(P).attr("transform",o)),W.add(p.transition(P).attr("transform",o)),W.add(_.transition(P).attr("transform",o)),W.add(M.transition(P).attr("transform",o)),W.add(f.transition(P).attr("transform",o)),W.add(l.filter(e.isRegionOnX).transition(P).attr("transform",o)),W.add(u.transition(P).attr("transform",o)),W.add(d.transition(P).attr("transform",o)),W(function(){var t,i=[],r=[];if(O){for(t=0;t=0&&(e=!0)}),!e)}),o.regions},i.prototype.selected=function(t){var e=this.internal,n=e.d3;return n.merge(e.main.selectAll("."+a.shapes+e.getTargetSelectorSuffix(t)).selectAll("."+a.shape).filter(function(){return n.select(this).classed(a.SELECTED)}).map(function(t){return t.map(function(t){var e=t.__data__;return e.data?e.data:e})}))},i.prototype.select=function(t,e,n){var i=this.internal,r=i.d3,o=i.config;o.data_selection_enabled&&i.main.selectAll("."+a.shapes).selectAll("."+a.shape).each(function(s,c){var u=r.select(this),d=s.data?s.data.id:s.id,l=i.getToggle(this,s).bind(i),h=o.data_selection_grouped||!t||t.indexOf(d)>=0,p=!e||e.indexOf(c)>=0,_=u.classed(a.SELECTED);u.classed(a.line)||u.classed(a.area)||(h&&p?o.data_selection_isselectable(s)&&!_&&l(!0,u.classed(a.SELECTED,!0),s,c):f(n)&&n&&_&&l(!1,u.classed(a.SELECTED,!1),s,c))})},i.prototype.unselect=function(t,e){var n=this.internal,i=n.d3,r=n.config;r.data_selection_enabled&&n.main.selectAll("."+a.shapes).selectAll("."+a.shape).each(function(o,s){var c=i.select(this),u=o.data?o.data.id:o.id,d=n.getToggle(this,o).bind(n),l=r.data_selection_grouped||!t||t.indexOf(u)>=0,f=!e||e.indexOf(s)>=0,h=c.classed(a.SELECTED);c.classed(a.line)||c.classed(a.area)||l&&f&&r.data_selection_isselectable(o)&&h&&d(!1,c.classed(a.SELECTED,!1),o,s)})},i.prototype.show=function(t,e){var n,i=this.internal;t=i.mapToTargetIds(t),e=e||{},i.removeHiddenTargetIds(t),(n=i.svg.selectAll(i.selectorTargets(t))).transition().style("display","initial","important").style("opacity",1,"important").call(i.endall,function(){n.style("opacity",null).style("opacity",1)}),e.withLegend&&i.showLegend(t),i.redraw({withUpdateOrgXDomain:!0,withUpdateXDomain:!0,withLegend:!0})},i.prototype.hide=function(t,e){var n,i=this.internal;t=i.mapToTargetIds(t),e=e||{},i.addHiddenTargetIds(t),(n=i.svg.selectAll(i.selectorTargets(t))).transition().style("opacity",0,"important").call(i.endall,function(){n.style("opacity",null).style("opacity",0),n.style("display","none")}),e.withLegend&&i.hideLegend(t),i.redraw({withUpdateOrgXDomain:!0,withUpdateXDomain:!0,withLegend:!0})},i.prototype.toggle=function(t,e){var n=this,i=this.internal;i.mapToTargetIds(t).forEach(function(t){i.isTargetToShow(t)?n.hide(t,e):n.show(t,e)})},i.prototype.tooltip=function(){},i.prototype.tooltip.show=function(t){var e,n,i=this.internal,r={};t.mouse?r=t.mouse:(t.data?n=t.data:void 0!==t.x&&(e=t.id?i.data.targets.filter(function(e){return e.id===t.id}):i.data.targets,n=i.filterByX(e,t.x).slice(0,1)[0]),r=n?i.getMousePosition(n):null),i.dispatchEvent("mousemove",r),i.config.tooltip_onshow.call(i,n)},i.prototype.tooltip.hide=function(){this.internal.dispatchEvent("mouseout",0),this.internal.config.tooltip_onhide.call(this)},i.prototype.transform=function(t,e){var n=this.internal,i=["pie","donut"].indexOf(t)>=0?{withTransform:!0}:null;n.transformTo(e,t,i)},e.prototype.transformTo=function(t,e,n){var i=this,r=!i.hasArcType(),a=n||{withTransitionForAxis:r};a.withTransitionForTransform=!1,i.transiting=!1,i.setTargetType(t,e),i.updateTargets(i.data.targets),i.updateAndRedraw(a)},i.prototype.x=function(t){var e=this.internal;return arguments.length&&(e.updateTargetX(e.data.targets,t),e.redraw({withUpdateOrgXDomain:!0,withUpdateXDomain:!0})),e.data.xs},i.prototype.xs=function(t){var e=this.internal;return arguments.length&&(e.updateTargetXs(e.data.targets,t),e.redraw({withUpdateOrgXDomain:!0,withUpdateXDomain:!0})),e.data.xs},i.prototype.zoom=function(t){var e=this.internal;return t?(e.isTimeSeries()&&(t=t.map(function(t){return e.parseDate(t)})),e.config.subchart_show?e.brush.selectionAsValue(t,!0):(e.updateXDomain(null,!0,!1,!1,t),e.redraw({withY:e.config.zoom_rescale,withSubchart:!1})),e.config.zoom_onzoom.call(this,e.x.orgDomain()),t):e.x.domain()},i.prototype.zoom.enable=function(t){var e=this.internal;e.config.zoom_enabled=t,e.updateAndRedraw()},i.prototype.unzoom=function(){var t=this.internal;t.config.subchart_show?t.brush.clear():(t.updateXDomain(null,!0,!1,!1,t.subX.domain()),t.redraw({withY:t.config.zoom_rescale,withSubchart:!1}))},i.prototype.zoom.max=function(t){var e=this.internal,n=e.config,i=e.d3;if(0!==t&&!t)return n.zoom_x_max;n.zoom_x_max=i.max([e.orgXDomain[1],t])},i.prototype.zoom.min=function(t){var e=this.internal,n=e.config,i=e.d3;if(0!==t&&!t)return n.zoom_x_min;n.zoom_x_min=i.min([e.orgXDomain[0],t])},i.prototype.zoom.range=function(t){if(!arguments.length)return{max:this.domain.max(),min:this.domain.min()};f(t.max)&&this.domain.max(t.max),f(t.min)&&this.domain.min(t.min)},e.prototype.initPie=function(){var t=this,e=t.d3;t.pie=e.pie().value(function(t){return t.values.reduce(function(t,e){return t+e.value},0)});var n=t.getOrderFunction();if(n&&(t.isOrderAsc()||t.isOrderDesc())){var i=n;n=function(t,e){return-1*i(t,e)}}t.pie.sort(n||null)},e.prototype.updateRadius=function(){var t=this,e=t.config,n=e.gauge_width||e.donut_width,i=t.filterTargetsToShow(t.data.targets).length*t.config.gauge_arcs_minWidth;t.radiusExpanded=Math.min(t.arcWidth,t.arcHeight)/2*(t.hasType("gauge")?.85:1),t.radius=.95*t.radiusExpanded,t.innerRadiusRatio=n?(t.radius-n)/t.radius:.6,t.innerRadius=t.hasType("donut")||t.hasType("gauge")?t.radius*t.innerRadiusRatio:0,t.gaugeArcWidth=n||(i<=t.radius-t.innerRadius?t.radius-t.innerRadius:i<=t.radius?i:t.radius)},e.prototype.updateArc=function(){var t=this;t.svgArc=t.getSvgArc(),t.svgArcExpanded=t.getSvgArcExpanded(),t.svgArcExpandedSub=t.getSvgArcExpanded(.98)},e.prototype.updateAngle=function(t){var e,n,i,r,a=this,o=a.config,s=!1,c=0;return o?(a.pie(a.filterTargetsToShow(a.data.targets)).forEach(function(e){s||e.data.id!==t.data.id||(s=!0,(t=e).index=c),c++}),isNaN(t.startAngle)&&(t.startAngle=0),isNaN(t.endAngle)&&(t.endAngle=t.startAngle),a.isGaugeType(t.data)&&(e=o.gauge_min,n=o.gauge_max,i=Math.PI*(o.gauge_fullCircle?2:1)/(n-e),r=t.value.375?1.175-36/o.radius:.8)*o.radius/r:0)+","+i*a+")";else if(c&&d&&o.filterTargetsToShow(o.data.targets).length>1){var l=Math.sin(c.endAngle-Math.PI/2);u="translate("+(n=Math.cos(c.endAngle-Math.PI/2)*(o.radiusExpanded+25))+","+(i=l*(o.radiusExpanded+15-Math.abs(10*l))+3)+")"}return u},e.prototype.getArcRatio=function(t){var e=this.config,n=Math.PI*(this.hasType("gauge")&&!e.gauge_fullCircle?1:2);return t?(t.endAngle-t.startAngle)/n:null},e.prototype.convertToArcData=function(t){return this.addName({id:t.data.id,value:t.value,ratio:this.getArcRatio(t),index:t.index})},e.prototype.textForArcLabel=function(t){var e,n,i,r,a,o=this;return o.shouldShowArcLabel()?(n=(e=o.updateAngle(t))?e.value:null,i=o.getArcRatio(e),r=t.data.id,o.hasType("gauge")||o.meetsArcLabelThreshold(i)?(a=o.getArcLabelFormat())?a(n,i,r):o.defaultArcValueFormat(n,i):""):""},e.prototype.textForGaugeMinMax=function(t,e){var n=this.getGaugeLabelExtents();return n?n(t,e):t},e.prototype.expandArc=function(t){var e,n=this;n.transiting?e=window.setInterval(function(){n.transiting||(window.clearInterval(e),n.legend.selectAll(".c3-legend-item-focused").size()>0&&n.expandArc(t))},10):(t=n.mapToTargetIds(t),n.svg.selectAll(n.selectorTargets(t,"."+a.chartArc)).each(function(t){n.shouldExpand(t.data.id)&&n.d3.select(this).selectAll("path").transition().duration(n.expandDuration(t.data.id)).attr("d",n.svgArcExpanded).transition().duration(2*n.expandDuration(t.data.id)).attr("d",n.svgArcExpandedSub).each(function(t){n.isDonutType(t.data)})}))},e.prototype.unexpandArc=function(t){var e=this;e.transiting||(t=e.mapToTargetIds(t),e.svg.selectAll(e.selectorTargets(t,"."+a.chartArc)).selectAll("path").transition().duration(function(t){return e.expandDuration(t.data.id)}).attr("d",e.svgArc),e.svg.selectAll("."+a.arc))},e.prototype.expandDuration=function(t){var e=this.config;return this.isDonutType(t)?e.donut_expand_duration:this.isGaugeType(t)?e.gauge_expand_duration:this.isPieType(t)?e.pie_expand_duration:50},e.prototype.shouldExpand=function(t){var e=this.config;return this.isDonutType(t)&&e.donut_expand||this.isGaugeType(t)&&e.gauge_expand||this.isPieType(t)&&e.pie_expand},e.prototype.shouldShowArcLabel=function(){var t=this.config,e=!0;return this.hasType("donut")?e=t.donut_label_show:this.hasType("pie")&&(e=t.pie_label_show),e},e.prototype.meetsArcLabelThreshold=function(t){var e=this.config;return t>=(this.hasType("donut")?e.donut_label_threshold:e.pie_label_threshold)},e.prototype.getArcLabelFormat=function(){var t=this.config,e=t.pie_label_format;return this.hasType("gauge")?e=t.gauge_label_format:this.hasType("donut")&&(e=t.donut_label_format),e},e.prototype.getGaugeLabelExtents=function(){return this.config.gauge_label_extents},e.prototype.getArcTitle=function(){return this.hasType("donut")?this.config.donut_title:""},e.prototype.updateTargetsForArc=function(t){var e,n=this,i=n.main,r=n.classChartArc.bind(n),o=n.classArcs.bind(n),s=n.classFocus.bind(n);(e=i.select("."+a.chartArcs).selectAll("."+a.chartArc).data(n.pie(t)).attr("class",function(t){return r(t)+s(t.data)}).enter().append("g").attr("class",r)).append("g").attr("class",o),e.append("text").attr("dy",n.hasType("gauge")?"-.1em":".35em").style("opacity",0).style("text-anchor","middle").style("pointer-events","none")},e.prototype.initArc=function(){var t=this;t.arcs=t.main.select("."+a.chart).append("g").attr("class",a.chartArcs).attr("transform",t.getTranslate("arc")),t.arcs.append("text").attr("class",a.chartArcsTitle).style("text-anchor","middle").text(t.getArcTitle())},e.prototype.redrawArc=function(t,e,n){var i,r,o,s,c=this,u=c.d3,d=c.config,l=c.main,f=c.hasType("gauge");if(r=(i=l.selectAll("."+a.arcs).selectAll("."+a.arc).data(c.arcData.bind(c))).enter().append("path").attr("class",c.classArc.bind(c)).style("fill",function(t){return c.color(t.data)}).style("cursor",function(t){return d.interaction_enabled&&d.data_selection_isselectable(t)?"pointer":null}).each(function(t){c.isGaugeType(t.data)&&(t.startAngle=t.endAngle=d.gauge_startingAngle),this._current=t}).merge(i),f&&(s=(o=l.selectAll("."+a.arcs).selectAll("."+a.arcLabelLine).data(c.arcData.bind(c))).enter().append("rect").attr("class",function(t){return a.arcLabelLine+" "+a.target+" "+a.target+"-"+t.data.id}).merge(o),1===c.filterTargetsToShow(c.data.targets).length?s.style("display","none"):s.style("fill",function(t){return c.levelColor?c.levelColor(t.data.values[0].value):c.color(t.data)}).style("display",d.gauge_labelLine_show?"":"none").each(function(t){var e=0,n=0,i=0,r="";if(c.hiddenTargetIds.indexOf(t.data.id)<0){var a=c.updateAngle(t),o=c.gaugeArcWidth/c.filterTargetsToShow(c.data.targets).length*(a.index+1),s=a.endAngle-Math.PI/2,d=c.radius-o,l=s-(0===d?0:1/d);e=c.radiusExpanded-c.radius+o,n=Math.cos(l)*d,i=Math.sin(l)*d,r="rotate("+180*s/Math.PI+", "+n+", "+i+")"}u.select(this).attr("x",n).attr("y",i).attr("width",e).attr("height",2).attr("transform",r).style("stroke-dasharray","0, "+(e+2)+", 0")})),r.attr("transform",function(t){return!c.isGaugeType(t.data)&&n?"scale(0)":""}).on("mouseover",d.interaction_enabled?function(t){var e,n;c.transiting||(e=c.updateAngle(t))&&(n=c.convertToArcData(e),c.expandArc(e.data.id),c.api.focus(e.data.id),c.toggleFocusLegend(e.data.id,!0),c.config.data_onmouseover(n,this))}:null).on("mousemove",d.interaction_enabled?function(t){var e,n=c.updateAngle(t);n&&(e=[c.convertToArcData(n)],c.showTooltip(e,this))}:null).on("mouseout",d.interaction_enabled?function(t){var e,n;c.transiting||(e=c.updateAngle(t))&&(n=c.convertToArcData(e),c.unexpandArc(e.data.id),c.api.revert(),c.revertLegend(),c.hideTooltip(),c.config.data_onmouseout(n,this))}:null).on("click",d.interaction_enabled?function(t,e){var n,i=c.updateAngle(t);i&&(n=c.convertToArcData(i),c.toggleShape&&c.toggleShape(this,n,e),c.config.data_onclick.call(c.api,n,this))}:null).each(function(){c.transiting=!0}).transition().duration(t).attrTween("d",function(t){var e,n=c.updateAngle(t);return n?(isNaN(this._current.startAngle)&&(this._current.startAngle=0),isNaN(this._current.endAngle)&&(this._current.endAngle=this._current.startAngle),e=u.interpolate(this._current,n),this._current=e(0),function(n){var i=e(n);return i.data=t.data,c.getArc(i,!0)}):function(){return"M 0 0"}}).attr("transform",n?"scale(1)":"").style("fill",function(t){return c.levelColor?c.levelColor(t.data.values[0].value):c.color(t.data.id)}).call(c.endall,function(){c.transiting=!1}),i.exit().transition().duration(e).style("opacity",0).remove(),l.selectAll("."+a.chartArc).select("text").style("opacity",0).attr("class",function(t){return c.isGaugeType(t.data)?a.gaugeValue:""}).text(c.textForArcLabel.bind(c)).attr("transform",c.transformForArcLabel.bind(c)).style("font-size",function(t){return c.isGaugeType(t.data)&&1===c.filterTargetsToShow(c.data.targets).length?Math.round(c.radius/5)+"px":""}).transition().duration(t).style("opacity",function(t){return c.isTargetToShow(t.data.id)&&c.isArcType(t.data)?1:0}),l.select("."+a.chartArcsTitle).style("opacity",c.hasType("donut")||f?1:0),f){var h=0,p=c.arcs.select("g."+a.chartArcsBackground).selectAll("path."+a.chartArcsBackground).data(c.data.targets);p.enter().append("path").attr("class",function(t,e){return a.chartArcsBackground+" "+a.chartArcsBackground+"-"+e}).merge(p).attr("d",function(t){if(c.hiddenTargetIds.indexOf(t.id)>=0)return"M 0 0";var e={data:[{value:d.gauge_max}],startAngle:d.gauge_startingAngle,endAngle:-1*d.gauge_startingAngle*(d.gauge_fullCircle?Math.PI:1),index:h++};return c.getArc(e,!0,!0)}),p.exit().remove(),c.arcs.select("."+a.chartArcsGaugeUnit).attr("dy",".75em").text(d.gauge_label_show?d.gauge_units:""),c.arcs.select("."+a.chartArcsGaugeMin).attr("dx",-1*(c.innerRadius+(c.radius-c.innerRadius)/(d.gauge_fullCircle?1:2))+"px").attr("dy","1.2em").text(d.gauge_label_show?c.textForGaugeMinMax(d.gauge_min,!1):""),c.arcs.select("."+a.chartArcsGaugeMax).attr("dx",c.innerRadius+(c.radius-c.innerRadius)/(d.gauge_fullCircle?1:2)+"px").attr("dy","1.2em").text(d.gauge_label_show?c.textForGaugeMinMax(d.gauge_max,!0):"")}},e.prototype.initGauge=function(){var t=this.arcs;this.hasType("gauge")&&(t.append("g").attr("class",a.chartArcsBackground),t.append("text").attr("class",a.chartArcsGaugeUnit).style("text-anchor","middle").style("pointer-events","none"),t.append("text").attr("class",a.chartArcsGaugeMin).style("text-anchor","middle").style("pointer-events","none"),t.append("text").attr("class",a.chartArcsGaugeMax).style("text-anchor","middle").style("pointer-events","none"))},e.prototype.getGaugeLabelHeight=function(){return this.config.gauge_label_show?20:0},e.prototype.hasCaches=function(t){for(var e=0;e=0?a.focused:"")},e.prototype.classDefocused=function(t){return" "+(this.defocusedTargetIds.indexOf(t.id)>=0?a.defocused:"")},e.prototype.classChartText=function(t){return a.chartText+this.classTarget(t.id)},e.prototype.classChartLine=function(t){return a.chartLine+this.classTarget(t.id)},e.prototype.classChartBar=function(t){return a.chartBar+this.classTarget(t.id)},e.prototype.classChartArc=function(t){return a.chartArc+this.classTarget(t.data.id)},e.prototype.getTargetSelectorSuffix=function(t){return this.generateTargetClass(t).replace(/([?!@#$%^&*()_=+,.<>'":;\[\]\/|~`{}\\])/g,"\\$1")},e.prototype.selectorTarget=function(t,e){return(e||"")+"."+a.target+this.getTargetSelectorSuffix(t)},e.prototype.selectorTargets=function(t,e){var n=this;return(t=t||[]).length?t.map(function(t){return n.selectorTarget(t,e)}):null},e.prototype.selectorLegend=function(t){return"."+a.legendItem+this.getTargetSelectorSuffix(t)},e.prototype.selectorLegends=function(t){var e=this;return t&&t.length?t.map(function(t){return e.selectorLegend(t)}):null},e.prototype.getClipPath=function(t){return"url("+(window.navigator.appVersion.toLowerCase().indexOf("msie 9.")>=0?"":document.URL.split("#")[0])+"#"+t+")"},e.prototype.appendClip=function(t,e){return t.append("clipPath").attr("id",e).append("rect")},e.prototype.getAxisClipX=function(t){var e=Math.max(30,this.margin.left);return t?-(1+e):-(e-1)},e.prototype.getAxisClipY=function(t){return t?-20:-this.margin.top},e.prototype.getXAxisClipX=function(){return this.getAxisClipX(!this.config.axis_rotated)},e.prototype.getXAxisClipY=function(){return this.getAxisClipY(!this.config.axis_rotated)},e.prototype.getYAxisClipX=function(){return this.config.axis_y_inner?-1:this.getAxisClipX(this.config.axis_rotated)},e.prototype.getYAxisClipY=function(){return this.getAxisClipY(this.config.axis_rotated)},e.prototype.getAxisClipWidth=function(t){var e=Math.max(30,this.margin.left),n=Math.max(30,this.margin.right);return t?this.width+2+e+n:this.margin.left+20},e.prototype.getAxisClipHeight=function(t){return(t?this.margin.bottom:this.margin.top+this.height)+20},e.prototype.getXAxisClipWidth=function(){return this.getAxisClipWidth(!this.config.axis_rotated)},e.prototype.getXAxisClipHeight=function(){return this.getAxisClipHeight(!this.config.axis_rotated)},e.prototype.getYAxisClipWidth=function(){return this.getAxisClipWidth(this.config.axis_rotated)+(this.config.axis_y_inner?20:0)},e.prototype.getYAxisClipHeight=function(){return this.getAxisClipHeight(this.config.axis_rotated)},e.prototype.generateColor=function(){var t=this.config,e=this.d3,n=t.data_colors,i=g(t.color_pattern)?t.color_pattern:e.schemeCategory10,r=t.data_color,a=[];return function(t){var e,o=t.id||t.data&&t.data.id||t;return n[o]instanceof Function?e=n[o](t):n[o]?e=n[o]:(a.indexOf(o)<0&&a.push(o),e=i[a.indexOf(o)%i.length],n[o]=e),r instanceof Function?r(e,t):e}},e.prototype.generateLevelColor=function(){var t=this.config,e=t.color_pattern,n=t.color_threshold,i="value"===n.unit,r=n.values&&n.values.length?n.values:[],a=n.max||100;return g(n)&&g(e)?function(t){var n,o=e[e.length-1];for(n=0;n=0?o.data.xs[n]=(e&&o.data.xs[n]?o.data.xs[n]:[]).concat(t.map(function(t){return t[i]}).filter(m).map(function(t,e){return o.generateTargetX(t,n,e)})):s.data_x?o.data.xs[n]=o.getOtherTargetXs():g(s.data_xs)&&(o.data.xs[n]=o.getXValuesOfXKey(i,o.data.targets)):o.data.xs[n]=t.map(function(t,e){return e})}),i.forEach(function(t){if(!o.data.xs[t])throw new Error('x is not defined for id = "'+t+'".')}),(n=i.map(function(e,n){var i=s.data_idConverter(e);return{id:i,id_org:e,values:t.map(function(t,r){var a,c=t[o.getXKey(e)],u=null===t[e]||isNaN(t[e])?null:+t[e];return o.isCustomX()&&o.isCategorized()&&!M(c)?(0===n&&0===r&&(s.axis_x_categories=[]),-1===(a=s.axis_x_categories.indexOf(c))&&(a=s.axis_x_categories.length,s.axis_x_categories.push(c))):a=o.generateTargetX(c,e,r),(M(t[e])||o.data.xs[e].length<=r)&&(a=void 0),{x:a,value:u,id:i}}).filter(function(t){return f(t.x)})}})).forEach(function(t){var e;s.data_xSort&&(t.values=t.values.sort(function(t,e){return(t.x||0===t.x?t.x:1/0)-(e.x||0===e.x?e.x:1/0)})),e=0,t.values.forEach(function(t){t.index=e++}),o.data.xs[t.id].sort(function(t,e){return t-e})}),o.hasNegativeValue=o.hasNegativeValueInTargets(n),o.hasPositiveValue=o.hasPositiveValueInTargets(n),s.data_type&&o.setTargetType(o.mapToIds(n).filter(function(t){return!(t in s.data_types)}),s.data_type),n.forEach(function(t){o.addCache(t.id_org,t)}),n},e.prototype.isX=function(t){var e,n,i,r=this.config;return r.data_x&&t===r.data_x||g(r.data_xs)&&(e=r.data_xs,n=t,i=!1,Object.keys(e).forEach(function(t){e[t]===n&&(i=!0)}),i)},e.prototype.isNotX=function(t){return!this.isX(t)},e.prototype.getXKey=function(t){var e=this.config;return e.data_x?e.data_x:g(e.data_xs)?e.data_xs[t]:null},e.prototype.getXValuesOfXKey=function(t,e){var n,i=this;return(e&&g(e)?i.mapToIds(e):[]).forEach(function(e){i.getXKey(e)===t&&(n=i.data.xs[e])}),n},e.prototype.getXValue=function(t,e){return t in this.data.xs&&this.data.xs[t]&&m(this.data.xs[t][e])?this.data.xs[t][e]:e},e.prototype.getOtherTargetXs=function(){var t=Object.keys(this.data.xs);return t.length?this.data.xs[t[0]]:null},e.prototype.getOtherTargetX=function(t){var e=this.getOtherTargetXs();return e&&te?1:t>=e?0:NaN})},e.prototype.addHiddenTargetIds=function(t){t=t instanceof Array?t:new Array(t);for(var e=0;e0})},e.prototype.isOrderDesc=function(){var t=this.config;return"string"==typeof t.data_order&&"desc"===t.data_order.toLowerCase()},e.prototype.isOrderAsc=function(){var t=this.config;return"string"==typeof t.data_order&&"asc"===t.data_order.toLowerCase()},e.prototype.getOrderFunction=function(){var t=this.config,e=this.isOrderAsc(),n=this.isOrderDesc();if(e||n){var i=function(t,e){return t+Math.abs(e.value)};return function(t,n){var r=t.values.reduce(i,0),a=n.values.reduce(i,0);return e?a-r:r-a}}if(p(t.data_order))return t.data_order;if(l(t.data_order)){var r=t.data_order;return function(t,e){return r.indexOf(t.id)-r.indexOf(e.id)}}},e.prototype.orderTargets=function(t){var e=this.getOrderFunction();return e&&t.sort(e),t},e.prototype.filterByX=function(t,e){return this.d3.merge(t.map(function(t){return t.values})).filter(function(t){return t.x-e==0})},e.prototype.filterRemoveNull=function(t){return t.filter(function(t){return m(t.value)})},e.prototype.filterByXDomain=function(t,e){return t.map(function(t){return{id:t.id,id_org:t.id_org,values:t.values.filter(function(t){return e[0]<=t.x&&t.x<=e[1]})}})},e.prototype.hasDataLabel=function(){var e=this.config;return!("boolean"!=typeof e.data_labels||!e.data_labels)||!("object"!==t(e.data_labels)||!g(e.data_labels))},e.prototype.getDataLabelLength=function(t,e,n){var i=this,r=[0,0];return i.selectChart.select("svg").selectAll(".dummy").data([t,e]).enter().append("text").text(function(t){return i.dataLabelFormat(t.id)(t)}).each(function(t,e){r[e]=1.3*this.getBoundingClientRect()[n]}).remove(),r},e.prototype.isNoneArc=function(t){return this.hasTarget(this.data.targets,t.id)},e.prototype.isArc=function(t){return"data"in t&&this.hasTarget(this.data.targets,t.data.id)},e.prototype.findClosestFromTargets=function(t,e){var n,i=this;return n=t.map(function(t){return i.findClosest(t.values,e)}),i.findClosest(n,e)},e.prototype.findClosest=function(t,e){var n,i=this,r=i.config.point_sensitivity;return t.filter(function(t){return t&&i.isBarType(t.id)}).forEach(function(t){var e=i.main.select("."+a.bars+i.getTargetSelectorSuffix(t.id)+" ."+a.bar+"-"+t.index).node();!n&&i.isWithinBar(i.d3.mouse(e),e)&&(n=t)}),t.filter(function(t){return t&&!i.isBarType(t.id)}).forEach(function(t){var a=i.dist(t,e);a0)for(o=s.hasNegativeValueInTargets(t),e=0;e=0})).length)for(i=r[0],o&&d[i]&&d[i].forEach(function(t,e){d[i][e]=t<0?t:0}),n=1;n0||(d[i][e]+=+t)});return s.d3.min(Object.keys(d).map(function(t){return s.d3.min(d[t])}))},e.prototype.getYDomainMax=function(t){var e,n,i,r,a,o,s=this,c=s.config,u=s.mapToIds(t),d=s.getValuesAsIdKeyed(t);if(c.data_groups.length>0)for(o=s.hasPositiveValueInTargets(t),e=0;e=0})).length)for(i=r[0],o&&d[i]&&d[i].forEach(function(t,e){d[i][e]=t>0?t:0}),n=1;n=0&&v>=0,h=A<=0&&v<=0,(m(y)&&f||m(L)&&h)&&(z=!1),z&&(f&&(A=0),h&&(v=0)),a=o=.1*(r=Math.abs(v-A)),void 0!==x&&(v=x+(s=Math.max(Math.abs(A),Math.abs(v))),A=x-s),T?(u=p.getDataLabelLength(A,v,"width"),d=c(p.y.range()),a+=r*((l=[u[0]/d,u[1]/d])[1]/(1-l[0]-l[1])),o+=r*(l[0]/(1-l[0]-l[1]))):S&&(u=p.getDataLabelLength(A,v,"height"),a+=p.axis.convertPixelsToAxisPadding(u[1],r),o+=p.axis.convertPixelsToAxisPadding(u[0],r)),"y"===e&&g(_.axis_y_padding)&&(a=p.axis.getPadding(_.axis_y_padding,"top",a,r),o=p.axis.getPadding(_.axis_y_padding,"bottom",o,r)),"y2"===e&&g(_.axis_y2_padding)&&(a=p.axis.getPadding(_.axis_y2_padding,"top",a,r),o=p.axis.getPadding(_.axis_y2_padding,"bottom",o,r)),z&&(f&&(o=A),h&&(a=-v)),i=[A-o,v+a],w?i.reverse():i)},e.prototype.getXDomainMin=function(t){var e=this,n=e.config;return f(n.axis_x_min)?e.isTimeSeries()?this.parseDate(n.axis_x_min):n.axis_x_min:e.d3.min(t,function(t){return e.d3.min(t.values,function(t){return t.x})})},e.prototype.getXDomainMax=function(t){var e=this,n=e.config;return f(n.axis_x_max)?e.isTimeSeries()?this.parseDate(n.axis_x_max):n.axis_x_max:e.d3.max(t,function(t){return e.d3.max(t.values,function(t){return t.x})})},e.prototype.getXDomainPadding=function(e){var n,i,r,a,o=this.config,s=e[1]-e[0];return i=this.isCategorized()?0:this.hasType("bar")?(n=this.getMaxDataCount())>1?s/(n-1)/2:.5:.01*s,"object"===t(o.axis_x_padding)&&g(o.axis_x_padding)?(r=m(o.axis_x_padding.left)?o.axis_x_padding.left:i,a=m(o.axis_x_padding.right)?o.axis_x_padding.right:i):r=a="number"==typeof o.axis_x_padding?o.axis_x_padding:i,{left:r,right:a}},e.prototype.getXDomain=function(t){var e=this,n=[e.getXDomainMin(t),e.getXDomainMax(t)],i=n[0],r=n[1],a=e.getXDomainPadding(n),o=0,s=0;return i-r!=0||e.isCategorized()||(e.isTimeSeries()?(i=new Date(.5*i.getTime()),r=new Date(1.5*r.getTime())):(i=0===i?1:.5*i,r=0===r?-1:1.5*r)),(i||0===i)&&(o=e.isTimeSeries()?new Date(i.getTime()-a.left):i-a.left),(r||0===r)&&(s=e.isTimeSeries()?new Date(r.getTime()+a.right):r+a.right),[o,s]},e.prototype.updateXDomain=function(t,e,n,i,r){var a=this,o=a.config;return n&&(a.x.domain(r||a.d3.extent(a.getXDomain(t))),a.orgXDomain=a.x.domain(),o.zoom_enabled&&a.zoom.update(),a.subX.domain(a.x.domain()),a.brush&&a.brush.updateScale(a.subX)),e&&a.x.domain(r||(!a.brush||a.brush.empty()?a.orgXDomain:a.brush.selectionAsValue())),i&&a.x.domain(a.trimXDomain(a.x.orgDomain())),a.x.domain()},e.prototype.trimXDomain=function(t){var e=this.getZoomDomain(),n=e[0],i=e[1];return t[0]<=n&&(t[1]=+t[1]+(n-t[0]),t[0]=n),i<=t[1]&&(t[0]=+t[0]-(t[1]-i),t[1]=i),t},e.prototype.drag=function(t){var e,n,i,r,o,s,c,u,l=this,f=l.config,h=l.main,p=l.d3;l.hasArcType()||f.data_selection_enabled&&f.data_selection_multiple&&(e=l.dragStart[0],n=l.dragStart[1],i=t[0],r=t[1],o=Math.min(e,i),s=Math.max(e,i),c=f.data_selection_grouped?l.margin.top:Math.min(n,r),u=f.data_selection_grouped?l.height:Math.max(n,r),h.select("."+a.dragarea).attr("x",o).attr("y",c).attr("width",s-o).attr("height",u-c),h.selectAll("."+a.shapes).selectAll("."+a.shape).filter(function(t){return f.data_selection_isselectable(t)}).each(function(t,e){var n,i,r,f,h,_,M=p.select(this),m=M.classed(a.SELECTED),g=M.classed(a.INCLUDED),b=!1;if(M.classed(a.circle))n=1*M.attr("cx"),i=1*M.attr("cy"),h=l.togglePoint,b=oc&&(s=s.filter(function(t){return(""+t).indexOf(".")<0}));return s},e.prototype.getGridFilterToRemove=function(t){return t?function(e){var n=!1;return[].concat(t).forEach(function(t){("value"in t&&e.value===t.value||"class"in t&&e.class===t.class)&&(n=!0)}),n}:function(){return!0}},e.prototype.removeGridLines=function(t,e){var n=this.config,i=this.getGridFilterToRemove(t),r=function(t){return!i(t)},o=e?a.xgridLines:a.ygridLines,s=e?a.xgridLine:a.ygridLine;this.main.select("."+o).selectAll("."+s).filter(i).transition().duration(n.transition_duration).style("opacity",0).remove(),e?n.grid_x_lines=n.grid_x_lines.filter(r):n.grid_y_lines=n.grid_y_lines.filter(r)},e.prototype.initEventRect=function(){var t=this,e=t.config;t.main.select("."+a.chart).append("g").attr("class",a.eventRects).style("fill-opacity",0),t.eventRect=t.main.select("."+a.eventRects).append("rect").attr("class",a.eventRect),e.zoom_enabled&&t.zoom&&(t.eventRect.call(t.zoom).on("dblclick.zoom",null),e.zoom_initialRange&&t.eventRect.transition().duration(0).call(t.zoom.transform,t.zoomTransform(e.zoom_initialRange)))},e.prototype.redrawEventRect=function(){var t,e,n=this,i=n.d3,r=n.config;function o(){n.svg.select("."+a.eventRect).style("cursor",null),n.hideXGridFocus(),n.hideTooltip(),n.unexpandCircles(),n.unexpandBars()}t=n.width,e=n.height,n.main.select("."+a.eventRects).style("cursor",r.zoom_enabled?r.axis_rotated?"ns-resize":"ew-resize":null),n.eventRect.attr("x",0).attr("y",0).attr("width",t).attr("height",e).on("mouseout",r.interaction_enabled?function(){r&&(n.hasArcType()||o())}:null).on("mousemove",r.interaction_enabled?function(){var t,e,s,c;n.dragging||n.hasArcType(t)||(t=n.filterTargetsToShow(n.data.targets),e=i.mouse(this),s=n.findClosestFromTargets(t,e),!n.mouseover||s&&s.id===n.mouseover.id||(r.data_onmouseout.call(n.api,n.mouseover),n.mouseover=void 0),s?(c=(n.isScatterType(s)||!r.tooltip_grouped?[s]:n.filterByX(t,s.x)).map(function(t){return n.addName(t)}),n.showTooltip(c,this),r.point_focus_expand_enabled&&(n.unexpandCircles(),c.forEach(function(t){n.expandCircles(t.index,t.id,!1)})),n.expandBars(s.index,s.id,!0),n.showXGridFocus(c),(n.isBarType(s.id)||n.dist(s,e)=0}).classed(a.legendItemFocused,e).transition().duration(100).style("opacity",function(){return(e?n.opacityForLegend:n.opacityForUnfocusedLegend).call(n,n.d3.select(this))})},e.prototype.revertLegend=function(){var t=this,e=t.d3;t.legend.selectAll("."+a.legendItem).classed(a.legendItemFocused,!1).transition().duration(100).style("opacity",function(){return t.opacityForLegend(e.select(this))})},e.prototype.showLegend=function(t){var e=this,n=e.config;n.legend_show||(n.legend_show=!0,e.legend.style("visibility","visible"),e.legendHasRendered||e.updateLegendWithDefaults()),e.removeHiddenLegendIds(t),e.legend.selectAll(e.selectorLegends(t)).style("visibility","visible").transition().style("opacity",function(){return e.opacityForLegend(e.d3.select(this))})},e.prototype.hideLegend=function(t){var e=this,n=e.config;n.legend_show&&h(t)&&(n.legend_show=!1,e.legend.style("visibility","hidden")),e.addHiddenLegendIds(t),e.legend.selectAll(e.selectorLegends(t)).style("opacity",0).style("visibility","hidden")},e.prototype.clearLegendItemTextBoxCache=function(){this.legendItemTextBox={}},e.prototype.updateLegend=function(t,e,n){var i,r,o,s,c,d,l,h,p,_,M,m,g,b,y,L,A=this,v=A.config,x=4,z=10,w=0,T=0,S=10,O=v.legend_item_tile_width+5,Y=0,k={},D={},N={},q=[0],W={},P=0;function E(e,n,i){var r,o,s=0===i,c=i===t.length-1,u=function(t,e){return A.legendItemTextBox[e]||(A.legendItemTextBox[e]=A.getTextRect(t.textContent,a.legendItem,t)),A.legendItemTextBox[e]}(e,n),d=u.width+O+(!c||A.isLegendRight||A.isLegendInset?z:0)+v.legend_padding,l=u.height+x,f=A.isLegendRight||A.isLegendInset?l:d,h=A.isLegendRight||A.isLegendInset?A.getLegendHeight():A.getLegendWidth();function p(t,e){e||(r=(h-Y-f)/2)=w)&&(w=d),(!T||l>=T)&&(T=l),o=A.isLegendRight||A.isLegendInset?T:w,v.legend_equally?(Object.keys(D).forEach(function(t){D[t]=w}),Object.keys(N).forEach(function(t){N[t]=T}),(r=(h-o*t.length)/2)0&&0===L.size()&&(L=A.legend.insert("g","."+a.legendItem).attr("class",a.legendBackground).append("rect")),g=A.legend.selectAll("text").data(t).text(function(t){return f(v.data_names[t])?v.data_names[t]:t}).each(function(t,e){E(this,t,e)}),(M?g.transition():g).attr("x",r).attr("y",c),b=A.legend.selectAll("rect."+a.legendItemEvent).data(t),(M?b.transition():b).attr("width",function(t){return D[t]}).attr("height",function(t){return N[t]}).attr("x",o).attr("y",d),y=A.legend.selectAll("line."+a.legendItemTile).data(t),(M?y.transition():y).style("stroke",A.levelColor?function(t){return A.levelColor(A.cache[t].values[0].value)}:A.color).attr("x1",l).attr("y1",p).attr("x2",h).attr("y2",p),L&&(M?L.transition():L).attr("height",A.getLegendHeight()-12).attr("width",w*(P+1)+10),A.legend.selectAll("."+a.legendItem).classed(a.legendItemHidden,function(t){return!A.isTargetToShow(t)}),A.updateLegendItemWidth(w),A.updateLegendItemHeight(T),A.updateLegendStep(P),A.updateSizes(),A.updateScales(),A.updateSvgSize(),A.transformAll(m,n),A.legendHasRendered=!0},e.prototype.initRegion=function(){this.region=this.main.append("g").attr("clip-path",this.clipPath).attr("class",a.regions)},e.prototype.updateRegion=function(t){var e=this,n=e.config;e.region.style("visibility",e.hasArcType()?"hidden":"visible");var i=e.main.select("."+a.regions).selectAll("."+a.region).data(n.regions),r=i.enter().append("rect").attr("x",e.regionX.bind(e)).attr("y",e.regionY.bind(e)).attr("width",e.regionWidth.bind(e)).attr("height",e.regionHeight.bind(e)).style("fill-opacity",0);e.mainRegion=r.merge(i).attr("class",e.classRegion.bind(e)),i.exit().transition().duration(t).style("opacity",0).remove()},e.prototype.redrawRegion=function(t,e){var n=this,i=n.mainRegion;return[(t?i.transition(e):i).attr("x",n.regionX.bind(n)).attr("y",n.regionY.bind(n)).attr("width",n.regionWidth.bind(n)).attr("height",n.regionHeight.bind(n)).style("fill-opacity",function(t){return m(t.opacity)?t.opacity:.1})]},e.prototype.regionX=function(t){var e=this,n=e.config,i="y"===t.axis?e.y:e.y2;return"y"===t.axis||"y2"===t.axis?n.axis_rotated&&"start"in t?i(t.start):0:n.axis_rotated?0:"start"in t?e.x(e.isTimeSeries()?e.parseDate(t.start):t.start):0},e.prototype.regionY=function(t){var e=this,n=e.config,i="y"===t.axis?e.y:e.y2;return"y"===t.axis||"y2"===t.axis?n.axis_rotated?0:"end"in t?i(t.end):0:n.axis_rotated&&"start"in t?e.x(e.isTimeSeries()?e.parseDate(t.start):t.start):0},e.prototype.regionWidth=function(t){var e,n=this,i=n.config,r=n.regionX(t),a="y"===t.axis?n.y:n.y2;return(e="y"===t.axis||"y2"===t.axis?i.axis_rotated&&"end"in t?a(t.end):n.width:i.axis_rotated?n.width:"end"in t?n.x(n.isTimeSeries()?n.parseDate(t.end):t.end):n.width)n.bar_width_max?n.bar_width_max:i},e.prototype.getBars=function(t,e){return(e?this.main.selectAll("."+a.bars+this.getTargetSelectorSuffix(e)):this.main).selectAll("."+a.bar+(m(t)?"-"+t:""))},e.prototype.expandBars=function(t,e,n){n&&this.unexpandBars(),this.getBars(t,e).classed(a.EXPANDED,!0)},e.prototype.unexpandBars=function(t){this.getBars(t).classed(a.EXPANDED,!1)},e.prototype.generateDrawBar=function(t,e){var n=this.config,i=this.generateGetBarPoints(t,e);return function(t,e){var r=i(t,e),a=n.axis_rotated?1:0,o=n.axis_rotated?0:1;return"M "+r[0][a]+","+r[0][o]+" L"+r[1][a]+","+r[1][o]+" L"+r[2][a]+","+r[2][o]+" L"+r[3][a]+","+r[3][o]+" z"}},e.prototype.generateGetBarPoints=function(t,e){var n=this,i=e?n.subXAxis:n.xAxis,r=t.__max__+1,a=n.getBarW(i,r),o=n.getShapeX(a,r,t,!!e),s=n.getShapeY(!!e),c=n.getShapeOffset(n.isBarType,t,!!e),u=a*(n.config.bar_space/2),d=e?n.getSubYScale:n.getYScale;return function(t,e){var i=d.call(n,t.id)(0),r=c(t,e)||i,l=o(t),f=s(t);return n.config.axis_rotated&&(0=0&&(u+=s(r[o].value)-c))}),u}},e.prototype.isWithinShape=function(t,e){var n,i=this,r=i.d3.select(t);return i.isTargetToShow(e.id)?"circle"===t.nodeName?n=i.isStepType(e)?i.isWithinStep(t,i.getYScale(e.id)(e.value)):i.isWithinCircle(t,1.5*i.pointSelectR(e)):"path"===t.nodeName&&(n=!r.classed(a.bar)||i.isWithinBar(i.d3.mouse(t),t)):n=!1,n},e.prototype.getInterpolate=function(t){var e=this,n=e.d3,i={linear:n.curveLinear,"linear-closed":n.curveLinearClosed,basis:n.curveBasis,"basis-open":n.curveBasisOpen,"basis-closed":n.curveBasisClosed,bundle:n.curveBundle,cardinal:n.curveCardinal,"cardinal-open":n.curveCardinalOpen,"cardinal-closed":n.curveCardinalClosed,monotone:n.curveMonotoneX,step:n.curveStep,"step-before":n.curveStepBefore,"step-after":n.curveStepAfter};return e.isSplineType(t)?i[e.config.spline_interpolation_type]||i.cardinal:e.isStepType(t)?i[e.config.line_step_type]:i.linear},e.prototype.initLine=function(){this.main.select("."+a.chart).append("g").attr("class",a.chartLines)},e.prototype.updateTargetsForLine=function(t){var e,n=this,i=n.config,r=n.classChartLine.bind(n),o=n.classLines.bind(n),s=n.classAreas.bind(n),c=n.classCircles.bind(n),u=n.classFocus.bind(n);(e=n.main.select("."+a.chartLines).selectAll("."+a.chartLine).data(t).attr("class",function(t){return r(t)+u(t)}).enter().append("g").attr("class",r).style("opacity",0).style("pointer-events","none")).append("g").attr("class",o),e.append("g").attr("class",s),e.append("g").attr("class",function(t){return n.generateClass(a.selectedCircles,t.id)}),e.append("g").attr("class",c).style("cursor",function(t){return i.data_selection_isselectable(t)?"pointer":null}),t.forEach(function(t){n.main.selectAll("."+a.selectedCircles+n.getTargetSelectorSuffix(t.id)).selectAll("."+a.selectedCircle).each(function(e){e.value=t.values[e.index].value})})},e.prototype.updateLine=function(t){var e=this,n=e.main.selectAll("."+a.lines).selectAll("."+a.line).data(e.lineData.bind(e)),i=n.enter().append("path").attr("class",e.classLine.bind(e)).style("stroke",e.color);e.mainLine=i.merge(n).style("opacity",e.initialOpacity.bind(e)).style("shape-rendering",function(t){return e.isStepType(t)?"crispEdges":""}).attr("transform",null),n.exit().transition().duration(t).style("opacity",0)},e.prototype.redrawLine=function(t,e,n){return[(e?this.mainLine.transition(n):this.mainLine).attr("d",t).style("stroke",this.color).style("opacity",1)]},e.prototype.generateDrawLine=function(t,e){var n=this,i=n.config,r=n.d3.line(),a=n.generateGetLinePoints(t,e),o=e?n.getSubYScale:n.getYScale,s=function(t){return(e?n.subxx:n.xx).call(n,t)},c=function(t,e){return i.data_groups.length>0?a(t,e)[0][1]:o.call(n,t.id)(t.value)};return r=i.axis_rotated?r.x(c).y(s):r.x(s).y(c),i.line_connectNull||(r=r.defined(function(t){return null!=t.value})),function(t){var a,s=i.line_connectNull?n.filterRemoveNull(t.values):t.values,c=e?n.subX:n.x,u=o.call(n,t.id),d=0,l=0;return n.isLineType(t)?i.data_regions[t.id]?a=n.lineWithRegions(s,c,u,i.data_regions[t.id]):(n.isStepType(t)&&(s=n.convertValuesToStep(s)),a=r.curve(n.getInterpolate(t))(s)):(s[0]&&(d=c(s[0].x),l=u(s[0].value)),a=i.axis_rotated?"M "+l+" "+d:"M "+d+" "+l),a||"M 0 0"}},e.prototype.generateGetLinePoints=function(t,e){var n=this,i=n.config,r=t.__max__+1,a=n.getShapeX(0,r,t,!!e),o=n.getShapeY(!!e),s=n.getShapeOffset(n.isLineType,t,!!e),c=e?n.getSubYScale:n.getYScale;return function(t,e){var r=c.call(n,t.id)(0),u=s(t,e)||r,d=a(t),l=o(t);return i.axis_rotated&&(00?a(t,e)[0][1]:o.call(n,t.id)(n.getAreaBaseValue(t.id))},u=function(t,e){return i.data_groups.length>0?a(t,e)[1][1]:o.call(n,t.id)(t.value)};return r=i.axis_rotated?r.x0(c).x1(u).y(s):r.x(s).y0(i.area_above?0:c).y1(u),i.line_connectNull||(r=r.defined(function(t){return null!==t.value})),function(t){var e,a=i.line_connectNull?n.filterRemoveNull(t.values):t.values,o=0,s=0;return n.isAreaType(t)?(n.isStepType(t)&&(a=n.convertValuesToStep(a)),e=r.curve(n.getInterpolate(t))(a)):(a[0]&&(o=n.x(a[0].x),s=n.getYScale(t.id)(a[0].value)),e=i.axis_rotated?"M "+s+" "+o:"M "+o+" "+s),e||"M 0 0"}},e.prototype.getAreaBaseValue=function(){return 0},e.prototype.generateGetAreaPoints=function(t,e){var n=this,i=n.config,r=t.__max__+1,a=n.getShapeX(0,r,t,!!e),o=n.getShapeY(!!e),s=n.getShapeOffset(n.isAreaType,t,!!e),c=e?n.getSubYScale:n.getYScale;return function(t,e){var r=c.call(n,t.id)(0),u=s(t,e)||r,d=a(t),l=o(t);return i.axis_rotated&&(00?(t=n.getShapeIndices(n.isLineType),e=n.generateGetLinePoints(t),n.circleY=function(t,n){return e(t,n)[0][1]}):n.circleY=function(t){return n.getYScale(t.id)(t.value)}},e.prototype.getCircles=function(t,e){return(e?this.main.selectAll("."+a.circles+this.getTargetSelectorSuffix(e)):this.main).selectAll("."+a.circle+(m(t)?"-"+t:""))},e.prototype.expandCircles=function(t,e,n){var i=this.pointExpandedR.bind(this);n&&this.unexpandCircles(),this.getCircles(t,e).classed(a.EXPANDED,!0).attr("r",i)},e.prototype.unexpandCircles=function(t){var e=this,n=e.pointR.bind(e);e.getCircles(t).filter(function(){return e.d3.select(this).classed(a.EXPANDED)}).classed(a.EXPANDED,!1).attr("r",n)},e.prototype.pointR=function(t){var e=this.config;return this.isStepType(t)?0:p(e.point_r)?e.point_r(t):e.point_r},e.prototype.pointExpandedR=function(t){var e=this.config;return e.point_focus_expand_enabled?p(e.point_focus_expand_r)?e.point_focus_expand_r(t):e.point_focus_expand_r?e.point_focus_expand_r:1.75*this.pointR(t):this.pointR(t)},e.prototype.pointSelectR=function(t){var e=this.config;return p(e.point_select_r)?e.point_select_r(t):e.point_select_r?e.point_select_r:4*this.pointR(t)},e.prototype.isWithinCircle=function(t,e){var n=this.d3,i=n.mouse(t),r=n.select(t),a=+r.attr("cx"),o=+r.attr("cy");return Math.sqrt(Math.pow(a-i[0],2)+Math.pow(o-i[1],2))0?e:320/(this.hasType("gauge")&&!t.gauge_fullCircle?2:1)},e.prototype.getCurrentPaddingTop=function(){var t=this.config,e=m(t.padding_top)?t.padding_top:0;return this.title&&this.title.node()&&(e+=this.getTitlePadding()),e},e.prototype.getCurrentPaddingBottom=function(){var t=this.config;return m(t.padding_bottom)?t.padding_bottom:0},e.prototype.getCurrentPaddingLeft=function(t){var e=this.config;return m(e.padding_left)?e.padding_left:e.axis_rotated?!e.axis_x_show||e.axis_x_inner?1:Math.max(s(this.getAxisWidthByAxisId("x",t)),40):!e.axis_y_show||e.axis_y_inner?this.axis.getYAxisLabelPosition().isOuter?30:1:s(this.getAxisWidthByAxisId("y",t))},e.prototype.getCurrentPaddingRight=function(){var t=this,e=t.config,n=t.isLegendRight?t.getLegendWidth()+20:0;return m(e.padding_right)?e.padding_right+1:e.axis_rotated?10+n:!e.axis_y2_show||e.axis_y2_inner?2+n+(t.axis.getY2AxisLabelPosition().isOuter?20:0):s(t.getAxisWidthByAxisId("y2"))+n},e.prototype.getParentRectValue=function(t){for(var e,n=this.selectChart.node();n&&"BODY"!==n.tagName;){try{e=n.getBoundingClientRect()[t]}catch(i){"width"===t&&(e=n.offsetWidth)}if(e)break;n=n.parentNode}return e},e.prototype.getParentWidth=function(){return this.getParentRectValue("width")},e.prototype.getParentHeight=function(){return this.getParentRectValue("height")},e.prototype.getSvgLeft=function(t){var e=this,n=e.config,i=n.axis_rotated||!n.axis_rotated&&!n.axis_y_inner,r=n.axis_rotated?a.axisX:a.axisY,o=e.main.select("."+r).node(),s=o&&i?o.getBoundingClientRect():{right:0},c=e.selectChart.node().getBoundingClientRect(),u=e.hasArcType(),d=s.right-c.left-(u?0:e.getCurrentPaddingLeft(t));return d>0?d:0},e.prototype.getAxisWidthByAxisId=function(t,e){var n=this.axis.getLabelPositionById(t);return this.axis.getMaxTickWidth(t,e)+(n.isInner?20:40)},e.prototype.getHorizontalAxisHeight=function(t){var e=this,n=e.config,i=30;return"x"!==t||n.axis_x_show?"x"===t&&n.axis_x_height?n.axis_x_height:"y"!==t||n.axis_y_show?"y2"!==t||n.axis_y2_show?("x"===t&&!n.axis_rotated&&n.axis_x_tick_rotate&&(i=30+e.axis.getMaxTickWidth(t)*Math.cos(Math.PI*(90-Math.abs(n.axis_x_tick_rotate))/180)),"y"===t&&n.axis_rotated&&n.axis_y_tick_rotate&&(i=30+e.axis.getMaxTickWidth(t)*Math.cos(Math.PI*(90-Math.abs(n.axis_y_tick_rotate))/180)),i+(e.axis.getLabelPositionById(t).isInner?0:10)+("y2"===t?-10:0)):e.rotated_padding_top:!n.legend_show||e.isLegendRight||e.isLegendInset?1:10:8},e.prototype.initBrush=function(t){var e=this,n=e.d3;return e.brush=(e.config.axis_rotated?n.brushY():n.brushX()).on("brush",function(){var t=n.event.sourceEvent;t&&"zoom"===t.type||e.redrawForBrush()}).on("end",function(){var t=n.event.sourceEvent;t&&"zoom"===t.type||e.brush.empty()&&t&&"end"!==t.type&&e.brush.clear()}),e.brush.updateExtent=function(){var t,n=this.scale.range();return t=e.config.axis_rotated?[[0,n[0]],[e.width2,n[1]]]:[[n[0],0],[n[1],e.height2]],this.extent(t),this},e.brush.updateScale=function(t){return this.scale=t,this},e.brush.update=function(t){this.updateScale(t||e.subX).updateExtent(),e.context.select("."+a.brush).call(this)},e.brush.clear=function(){e.context.select("."+a.brush).call(e.brush.move,null)},e.brush.selection=function(){return n.brushSelection(e.context.select("."+a.brush).node())},e.brush.selectionAsValue=function(t,n){var i,r;return t?(e.context&&(i=[this.scale(t[0]),this.scale(t[1])],r=e.context.select("."+a.brush),n&&(r=r.transition()),e.brush.move(r,i)),[]):(i=e.brush.selection()||[0,0],[this.scale.invert(i[0]),this.scale.invert(i[1])])},e.brush.empty=function(){var t=e.brush.selection();return!t||t[0]===t[1]},e.brush.updateScale(t)},e.prototype.initSubchart=function(){var t=this,e=t.config,n=t.context=t.svg.append("g").attr("transform",t.getTranslate("context")),i=e.subchart_show?"visible":"hidden";n.style("visibility",i),n.append("g").attr("clip-path",t.clipPathForSubchart).attr("class",a.chart),n.select("."+a.chart).append("g").attr("class",a.chartBars),n.select("."+a.chart).append("g").attr("class",a.chartLines),n.append("g").attr("clip-path",t.clipPath).attr("class",a.brush),t.axes.subx=n.append("g").attr("class",a.axisX).attr("transform",t.getTranslate("subx")).attr("clip-path",e.axis_rotated?"":t.clipPathForXAxis)},e.prototype.initSubchartBrush=function(){this.initBrush(this.subX).updateExtent(),this.context.select("."+a.brush).call(this.brush)},e.prototype.updateTargetsForSubchart=function(t){var e,n,i,r,o=this,s=o.context,c=o.config,u=o.classChartBar.bind(o),d=o.classBars.bind(o),l=o.classChartLine.bind(o),f=o.classLines.bind(o),h=o.classAreas.bind(o);c.subchart_show&&((i=(r=s.select("."+a.chartBars).selectAll("."+a.chartBar).data(t)).enter().append("g").style("opacity",0)).merge(r).attr("class",u),i.append("g").attr("class",d),(e=(n=s.select("."+a.chartLines).selectAll("."+a.chartLine).data(t)).enter().append("g").style("opacity",0)).merge(n).attr("class",l),e.append("g").attr("class",f),e.append("g").attr("class",h),s.selectAll("."+a.brush+" rect").attr(c.axis_rotated?"width":"height",c.axis_rotated?o.width2:o.height2))},e.prototype.updateBarForSubchart=function(t){var e=this,n=e.context.selectAll("."+a.bars).selectAll("."+a.bar).data(e.barData.bind(e)),i=n.enter().append("path").attr("class",e.classBar.bind(e)).style("stroke","none").style("fill",e.color);n.exit().transition().duration(t).style("opacity",0).remove(),e.contextBar=i.merge(n).style("opacity",e.initialOpacity.bind(e))},e.prototype.redrawBarForSubchart=function(t,e,n){(e?this.contextBar.transition(Math.random().toString()).duration(n):this.contextBar).attr("d",t).style("opacity",1)},e.prototype.updateLineForSubchart=function(t){var e=this,n=e.context.selectAll("."+a.lines).selectAll("."+a.line).data(e.lineData.bind(e)),i=n.enter().append("path").attr("class",e.classLine.bind(e)).style("stroke",e.color);n.exit().transition().duration(t).style("opacity",0).remove(),e.contextLine=i.merge(n).style("opacity",e.initialOpacity.bind(e))},e.prototype.redrawLineForSubchart=function(t,e,n){(e?this.contextLine.transition(Math.random().toString()).duration(n):this.contextLine).attr("d",t).style("opacity",1)},e.prototype.updateAreaForSubchart=function(t){var e=this,n=e.d3,i=e.context.selectAll("."+a.areas).selectAll("."+a.area).data(e.lineData.bind(e)),r=i.enter().append("path").attr("class",e.classArea.bind(e)).style("fill",e.color).style("opacity",function(){return e.orgAreaOpacity=+n.select(this).style("opacity"),0});i.exit().transition().duration(t).style("opacity",0).remove(),e.contextArea=r.merge(i).style("opacity",0)},e.prototype.redrawAreaForSubchart=function(t,e,n){(e?this.contextArea.transition(Math.random().toString()).duration(n):this.contextArea).attr("d",t).style("fill",this.color).style("opacity",this.orgAreaOpacity)},e.prototype.redrawSubchart=function(t,e,n,i,r,a,o){var s,c,u,d=this,l=d.d3,f=d.config;d.context.style("visibility",f.subchart_show?"visible":"hidden"),f.subchart_show&&(l.event&&"zoom"===l.event.type&&d.brush.selectionAsValue(d.x.orgDomain()),t&&(d.brush.empty()||d.brush.selectionAsValue(d.x.orgDomain()),s=d.generateDrawArea(r,!0),c=d.generateDrawBar(a,!0),u=d.generateDrawLine(o,!0),d.updateBarForSubchart(n),d.updateLineForSubchart(n),d.updateAreaForSubchart(n),d.redrawBarForSubchart(c,n,n),d.redrawLineForSubchart(u,n,n),d.redrawAreaForSubchart(s,n,n)))},e.prototype.redrawForBrush=function(){var t,e=this,n=e.x,i=e.d3;e.redraw({withTransition:!1,withY:e.config.zoom_rescale,withSubchart:!1,withUpdateXDomain:!0,withEventRect:!1,withDimension:!1}),t=i.event.selection||e.brush.scale.range(),e.main.select("."+a.eventRect).call(e.zoom.transform,i.zoomIdentity.scale(e.width/(t[1]-t[0])).translate(-t[0],0)),e.config.subchart_onbrush.call(e.api,n.orgDomain())},e.prototype.transformContext=function(t,e){var n;e&&e.axisSubX?n=e.axisSubX:(n=this.context.select("."+a.axisX),t&&(n=n.transition())),this.context.attr("transform",this.getTranslate("context")),n.attr("transform",this.getTranslate("subx"))},e.prototype.getDefaultSelection=function(){var t=this,e=t.config,n=p(e.axis_x_selection)?e.axis_x_selection(t.getXDomain(t.data.targets)):e.axis_x_selection;return t.isTimeSeries()&&(n=[t.parseDate(n[0]),t.parseDate(n[1])]),n},e.prototype.initText=function(){this.main.select("."+a.chart).append("g").attr("class",a.chartTexts),this.mainText=this.d3.selectAll([])},e.prototype.updateTargetsForText=function(t){var e=this,n=e.classChartText.bind(e),i=e.classTexts.bind(e),r=e.classFocus.bind(e),o=e.main.select("."+a.chartTexts).selectAll("."+a.chartText).data(t),s=o.enter().append("g").attr("class",n).style("opacity",0).style("pointer-events","none");s.append("g").attr("class",i),s.merge(o).attr("class",function(t){return n(t)+r(t)})},e.prototype.updateText=function(t,e,n){var i=this,r=i.config,o=i.barOrLineData.bind(i),s=i.classText.bind(i),c=i.main.selectAll("."+a.texts).selectAll("."+a.text).data(o),u=c.enter().append("text").attr("class",s).attr("text-anchor",function(t){return r.axis_rotated?t.value<0?"end":"start":"middle"}).style("stroke","none").attr("x",t).attr("y",e).style("fill",function(t){return i.color(t)}).style("fill-opacity",0);i.mainText=u.merge(c).text(function(t,e,n){return i.dataLabelFormat(t.id)(t.value,t.id,e,n)}),c.exit().transition().duration(n).style("fill-opacity",0).remove()},e.prototype.redrawText=function(t,e,n,i,r){return[(i?this.mainText.transition(r):this.mainText).attr("x",t).attr("y",e).style("fill",this.color).style("fill-opacity",n?0:this.opacityForText.bind(this))]},e.prototype.getTextRect=function(t,e,n){var i,r=this.d3.select("body").append("div").classed("c3",!0),a=r.append("svg").style("visibility","hidden").style("position","fixed").style("top",0).style("left",0),o=this.d3.select(n).style("font");return a.selectAll(".dummy").data([t]).enter().append("text").classed(e||"",!0).style("font",o).text(t).each(function(){i=this.getBoundingClientRect()}),r.remove(),i},e.prototype.generateXYForText=function(t,e,n,i){var r=this,a=r.generateGetAreaPoints(t,!1),o=r.generateGetBarPoints(e,!1),s=r.generateGetLinePoints(n,!1),c=i?r.getXForText:r.getYForText;return function(t,e){var n=r.isAreaType(t)?a:r.isBarType(t)?o:s;return c.call(r,n(t,e),t,this)}},e.prototype.getXForText=function(t,e,n){var i,r,a=this,o=n.getBoundingClientRect();return a.config.axis_rotated?(r=a.isBarType(e)?4:6,i=t[2][1]+r*(e.value<0?-1:1)):i=a.hasType("bar")?(t[2][0]+t[0][0])/2:t[0][0],null===e.value&&(i>a.width?i=a.width-o.width:i<0&&(i=4)),i},e.prototype.getYForText=function(t,e,n){var i,r=this,a=n.getBoundingClientRect();return r.config.axis_rotated?i=(t[0][0]+t[2][0]+.6*a.height)/2:(i=t[2][1],e.value<0||0===e.value&&!r.hasPositiveValue?(i+=a.height,r.isBarType(e)&&r.isSafari()?i-=3:!r.isBarType(e)&&r.isChrome()&&(i+=3)):i+=r.isBarType(e)?-3:-6),null!==e.value||r.config.axis_rotated||(ithis.height&&(i=this.height-4)),i},e.prototype.initTitle=function(){this.title=this.svg.append("text").text(this.config.title_text).attr("class",this.CLASS.title)},e.prototype.redrawTitle=function(){var t=this;t.title.attr("x",t.xForTitle.bind(t)).attr("y",t.yForTitle.bind(t))},e.prototype.xForTitle=function(){var t=this,e=t.config,n=e.title_position||"left";return n.indexOf("right")>=0?t.currentWidth-t.getTextRect(t.title.node().textContent,t.CLASS.title,t.title.node()).width-e.title_padding.right:n.indexOf("center")>=0?(t.currentWidth-t.getTextRect(t.title.node().textContent,t.CLASS.title,t.title.node()).width)/2:e.title_padding.left},e.prototype.yForTitle=function(){var t=this;return t.config.title_padding.top+t.getTextRect(t.title.node().textContent,t.CLASS.title,t.title.node()).height},e.prototype.getTitlePadding=function(){return this.yForTitle()+this.config.title_padding.bottom},e.prototype.initTooltip=function(){var t,e=this,n=e.config;if(e.tooltip=e.selectChart.style("position","relative").append("div").attr("class",a.tooltipContainer).style("position","absolute").style("pointer-events","none").style("display","none"),n.tooltip_init_show){if(e.isTimeSeries()&&_(n.tooltip_init_x)){for(n.tooltip_init_x=e.parseDate(n.tooltip_init_x),t=0;t"+(o||0===o?""+o+"":"")),void 0!==(s=b(p(t[a].value,t[a].ratio,t[a].id,t[a].index,t))))){if(null===t[a].name)continue;c=b(h(t[a].name,t[a].ratio,t[a].id,t[a].index)),u=d.levelColor?d.levelColor(t[a].value):i(t[a].id),r+="",r+=""+c+"",r+=""+s+"",r+=""}return r+""},e.prototype.tooltipPosition=function(t,e,n,i){var r,a,o,s,c,u=this,d=u.config,l=u.d3,f=u.hasArcType(),h=l.mouse(i);return f?(a=(u.width-(u.isLegendRight?u.getLegendWidth():0))/2+h[0],s=(u.hasType("gauge")?u.height:u.height/2)+h[1]+20):(r=u.getSvgLeft(!0),d.axis_rotated?(o=(a=r+h[0]+100)+e,c=u.currentWidth-u.getCurrentPaddingRight(),s=u.x(t[0].x)+20):(o=(a=r+u.getCurrentPaddingLeft(!0)+u.x(t[0].x)+20)+e,c=r+u.currentWidth-u.getCurrentPaddingRight(),s=h[1]+15),o>c&&(a-=o-c+20),s+n>u.currentHeight&&(s-=n+30)),s<0&&(s=0),{top:s,left:a}},e.prototype.showTooltip=function(t,n){var i,r,a,o=this,s=o.config,c=o.hasArcType(),u=t.filter(function(t){return t&&m(t.value)}),d=s.tooltip_position||e.prototype.tooltipPosition;0!==u.length&&s.tooltip_show&&(o.tooltip.html(s.tooltip_contents.call(o,t,o.axis.getXAxisTickFormat(),o.getYFormat(c),o.color)).style("display","block"),i=o.tooltip.property("offsetWidth"),r=o.tooltip.property("offsetHeight"),a=d.call(this,u,i,r,n),o.tooltip.style("top",a.top+"px").style("left",a.left+"px"))},e.prototype.hideTooltip=function(){this.tooltip.style("display","none")},e.prototype.setTargetType=function(t,e){var n=this,i=n.config;n.mapToTargetIds(t).forEach(function(t){n.withoutFadeIn[t]=e===i.data_types[t],i.data_types[t]=e}),t||(i.data_type=e)},e.prototype.hasType=function(t,e){var n=this.config.data_types,i=!1;return(e=e||this.data.targets)&&e.length?e.forEach(function(e){var r=n[e.id];(r&&r.indexOf(t)>=0||!r&&"line"===t)&&(i=!0)}):Object.keys(n).length?Object.keys(n).forEach(function(e){n[e]===t&&(i=!0)}):i=this.config.data_type===t,i},e.prototype.hasArcType=function(t){return this.hasType("pie",t)||this.hasType("donut",t)||this.hasType("gauge",t)},e.prototype.isLineType=function(t){var e=this.config,n=_(t)?t:t.id;return!e.data_types[n]||["line","spline","area","area-spline","step","area-step"].indexOf(e.data_types[n])>=0},e.prototype.isStepType=function(t){var e=_(t)?t:t.id;return["step","area-step"].indexOf(this.config.data_types[e])>=0},e.prototype.isSplineType=function(t){var e=_(t)?t:t.id;return["spline","area-spline"].indexOf(this.config.data_types[e])>=0},e.prototype.isAreaType=function(t){var e=_(t)?t:t.id;return["area","area-spline","area-step"].indexOf(this.config.data_types[e])>=0},e.prototype.isBarType=function(t){var e=_(t)?t:t.id;return"bar"===this.config.data_types[e]},e.prototype.isScatterType=function(t){var e=_(t)?t:t.id;return"scatter"===this.config.data_types[e]},e.prototype.isPieType=function(t){var e=_(t)?t:t.id;return"pie"===this.config.data_types[e]},e.prototype.isGaugeType=function(t){var e=_(t)?t:t.id;return"gauge"===this.config.data_types[e]},e.prototype.isDonutType=function(t){var e=_(t)?t:t.id;return"donut"===this.config.data_types[e]},e.prototype.isArcType=function(t){return this.isPieType(t)||this.isDonutType(t)||this.isGaugeType(t)},e.prototype.lineData=function(t){return this.isLineType(t)?[t]:[]},e.prototype.arcData=function(t){return this.isArcType(t.data)?[t]:[]},e.prototype.barData=function(t){return this.isBarType(t)?t.values:[]},e.prototype.lineOrScatterData=function(t){return this.isLineType(t)||this.isScatterType(t)?t.values:[]},e.prototype.barOrLineData=function(t){return this.isBarType(t)||this.isLineType(t)?t.values:[]},e.prototype.isSafari=function(){var t=window.navigator.userAgent;return t.indexOf("Safari")>=0&&t.indexOf("Chrome")<0},e.prototype.isChrome=function(){return window.navigator.userAgent.indexOf("Chrome")>=0},e.prototype.initZoom=function(){var t,e=this,n=e.d3,i=e.config;return e.zoom=n.zoom().on("start",function(){if("scroll"===i.zoom_type){var r=n.event.sourceEvent;r&&"brush"===r.type||(t=r,i.zoom_onzoomstart.call(e.api,r))}}).on("zoom",function(){if("scroll"===i.zoom_type){var t=n.event.sourceEvent;t&&"brush"===t.type||(e.redrawForZoom(),i.zoom_onzoom.call(e.api,e.x.orgDomain()))}}).on("end",function(){if("scroll"===i.zoom_type){var r=n.event.sourceEvent;r&&"brush"===r.type||r&&t.clientX===r.clientX&&t.clientY===r.clientY||i.zoom_onzoomend.call(e.api,e.x.orgDomain())}}),e.zoom.updateDomain=function(){return n.event&&n.event.transform&&e.x.domain(n.event.transform.rescaleX(e.subX).domain()),this},e.zoom.updateExtent=function(){return this.scaleExtent([1,1/0]).translateExtent([[0,0],[e.width,e.height]]).extent([[0,0],[e.width,e.height]]),this},e.zoom.update=function(){return this.updateExtent().updateDomain()},e.zoom.updateExtent()},e.prototype.zoomTransform=function(t){var e=[this.x(t[0]),this.x(t[1])];return this.d3.zoomIdentity.scale(this.width/(e[1]-e[0])).translate(-e[0],0)},e.prototype.initDragZoom=function(){var t=this,e=t.d3,n=t.config,i=t.context=t.svg,r=t.margin.left+20.5,o=t.margin.top+.5;if("drag"===n.zoom_type&&n.zoom_enabled){var s=function(e){return e&&e.map(function(e){return t.x.invert(e)})},c=t.dragZoomBrush=e.brushX().on("start",function(){t.api.unzoom(),t.svg.select("."+a.dragZoom).classed("disabled",!1),n.zoom_onzoomstart.call(t.api,e.event.sourceEvent)}).on("brush",function(){n.zoom_onzoom.call(t.api,s(e.event.selection))}).on("end",function(){if(null!=e.event.selection){var i=s(e.event.selection);n.zoom_disableDefaultBehavior||t.api.zoom(i),t.svg.select("."+a.dragZoom).classed("disabled",!0),n.zoom_onzoomend.call(t.api,i)}});i.append("g").classed(a.dragZoom,!0).attr("clip-path",t.clipPath).attr("transform","translate("+r+","+o+")").call(c)}},e.prototype.getZoomDomain=function(){var t=this.config,e=this.d3;return[e.min([this.orgXDomain[0],t.zoom_x_min]),e.max([this.orgXDomain[1],t.zoom_x_max])]},e.prototype.redrawForZoom=function(){var t=this,e=t.d3,n=t.config,i=t.zoom,r=t.x;n.zoom_enabled&&0!==t.filterTargetsToShow(t.data.targets).length&&(i.update(),n.zoom_disableDefaultBehavior||(t.isCategorized()&&r.orgDomain()[0]===t.orgXDomain[0]&&r.domain([t.orgXDomain[0]-1e-10,r.orgDomain()[1]]),t.redraw({withTransition:!1,withY:n.zoom_rescale,withSubchart:!1,withEventRect:!1,withDimension:!1}),e.event.sourceEvent&&"mousemove"===e.event.sourceEvent.type&&(t.cancelClick=!0)))},L}()},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(1);n(6);function r(t,e,n){var r=t.slice(e||0,n?n+1:t.length),a=0;return(0,i.each)(r,function(t,e){"number"!=typeof t||isNaN(parseFloat(t))||(a+=parseFloat(t))}),a/r.length}function a(t,e,n){var r=t.slice(e||0,n?n+1:t.length),a=[];return(0,i.each)(r,function(t,e){"number"!=typeof t||isNaN(parseFloat(t))||a.push(parseFloat(t))}),Math.max.apply(Math,a)}function o(t,e,n){var r=t.slice(e||0,n?n+1:t.length),a=[];return(0,i.each)(r,function(t,e){"number"!=typeof t||isNaN(parseFloat(t))||a.push(parseFloat(t))}),Math.min.apply(Math,a)}function s(t,e,n){var r=t.slice(e||0,n?n+1:t.length),a=0;return(0,i.each)(r,function(t,e){"number"!=typeof t||isNaN(parseFloat(t))||(a+=parseFloat(t))}),a}var c=function(t){return r(t,1)},u=c,d=function(t){return s(t,1)},l=d,f=function(t){return a(t,1)},h=f,p=function(t){return o(t,1)},_=p,M=function(t){return t[0]},m=M;e.default={average:r,maximum:a,minimum:o,sum:s,getColumnAverage:c,getRowAverage:u,getColumnSum:d,getRowSum:l,getColumnMaximum:f,getRowMaximum:h,getColumnMinimum:p,getRowMinimum:_,getColumnLabel:M,getRowIndex:m}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Dataset=void 0;var i=p(n(10)),r=p(n(165)),a=p(n(164)),o=p(n(163)),s=p(n(162)),c=p(n(161)),u=p(n(160)),d=h(n(136)),l=n(6),f=h(n(159));function h(t){return t&&t.__esModule?t:{default:t}}function p(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e.default=t,e}var _=e.Dataset=function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(this instanceof t==!1)return new t(e);this.matrix=[["Index"]],this.meta={type:void 0},this.config=e};_.prototype.data=function(t){return arguments.length?(this.matrix=t instanceof Array?t:null,this):this.matrix},_.prototype.set=function(t,e){if(arguments.length<2||t.length<2)throw Error("Incorrect arguments provided for #set method");var n="number"==typeof t[0]?t[0]:this.matrix[0].indexOf(t[0]),r="number"==typeof t[1]?t[1]:s.selectColumn.call(this,0).indexOf(t[1]),a=s.selectColumn.call(this,t[0]),o=s.selectRow.call(this,t[1]);return a.length<1&&(i.appendColumn.call(this,String(t[0])),n=this.matrix[0].length-1),o.length<1&&(i.appendRow.call(this,String(t[1])),r=this.matrix.length-1),this.matrix[r][n]=e,this},_.prototype.type=function(t){return arguments.length?(this.meta.type=t?String(t):void 0,this):this.meta.type},(0,l.extend)(_.prototype,i),(0,l.extend)(_.prototype,r),(0,l.extend)(_.prototype,a),(0,l.extend)(_.prototype,o),(0,l.extend)(_.prototype,s),(0,l.extend)(_.prototype,c),(0,l.extend)(_.prototype,u),(0,l.extend)(_.prototype,d.default),_.parser=(0,f.default)(_),e.default=_},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=function(){function t(t,e){for(var n=0;nw/2?w/2-5:t.points[0].y+S}]}}),q=D.concat(N);if(x.attr("height",w+b+L-30).attr("width",z+A+y).append("g").attr("transform","translate("+A+","+b+")").selectAll("polygon").data(q).enter().append("polygon").attr("points",function(t){return t.points.map(function(t){return[t.x,t.y].join(",")}).join(" ")}).style("fill",function(t,e){return e>D.length-1?c[t.label]?r.rgb(c[t.label]).darker(1.5):r.rgb(n[e-D.length]).darker(1.5):c[t.label]?c[t.label]:n[e]}).attr("class",function(t){return t.label}).attr("cursor","pointer"),_&&(x.selectAll("line").data(D).enter().append("line").attr("x1",function(t){return t.points[0].x+A-.8*S}).attr("y1",w+L).attr("x2",function(t){return t.points[0].x+A-.8*S}).attr("y2",function(t){return t.points[0].y}).attr("class","chart-lines"),x.append("line").attr("x1",z+A+S/4).attr("y1",w+L).attr("x2",D[D.length-1].points[3].x+A+S/4).attr("y2",D[D.length-1].points[3].y).attr("class","chart-lines")),_&&x.selectAll("text.label").data(D).enter().append("text").style("text-anchor","middle").attr("x",function(t){return t.points[0].x+A+.25*T}).attr("y",w+.4*L).attr("class",function(t){return"text-label "+t.label}).text(function(t){return t.name}).call(a.textWrap,T).attr("cursor","pointer"),_||x.selectAll("text.label").data(D).enter().append("text").style("text-anchor","middle").attr("x",function(t){return t.points[0].x+A+.25*T}).attr("y",function(t){return t.points[2].y+T/4>w+L-40?w+L-40:t.points[2].y+T/4 *").remove()}}]),t}();e.default=s},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=function(){function t(t,e){for(var n=0;nT+L-40?T+L-40:t.points[2].y+(t.points[3].y-t.points[0].y)/2+S/4}).attr("class",function(t){return"text-label "+t.label}).text(function(t){return t.name}).call(a.textWrap,S).attr("cursor","pointer"),f&&!m&&z.selectAll("text.label").data(k).enter().append("text").style("text-anchor","middle").attr("x",function(t){return t.points[1].x+S/2+A}).attr("y",T/2+b+10).attr("class",function(t){return"text-main "+t.label}).text(function(t){return t.percent}).attr("cursor","pointer"),m&&!f&&z.selectAll("text.label").data(k).enter().append("text").style("text-anchor","middle").attr("x",function(t){return t.points[1].x+S/2+A}).attr("y",T/2+b+10).attr("class",function(t){return"text-main "+t.label}).text(function(t){return t.result}).attr("cursor","pointer"),f&&m&&(z.selectAll("text.label").data(k).enter().append("text").style("text-anchor","middle").attr("x",function(t){return t.points[1].x+S/2+A}).attr("y",T/2+b+16).attr("class",function(t){return"text-second "+t.label}).text(function(t){return t.percent}).attr("cursor","pointer"),z.selectAll("text.label").data(k).enter().append("text").style("text-anchor","middle").attr("x",function(t){return t.points[1].x+S/2+A}).attr("y",T/2+b-3).attr("class",function(t){return"text-main "+t.label}).text(function(t){return t.result}).attr("cursor","pointer")),g){var D=function(t){q.style("opacity",.5),W.style("opacity",.5);var e=/[^ ]*$/.exec(r.select(this).attr("class"))[0];z.selectAll("."+e).style("opacity",1)},N=function(t){q.style("opacity",1),W.style("opacity",1)},q=z.selectAll("polygon");q.on("mouseover",D).on("mouseout",N);var W=z.selectAll("text");W.on("mouseover",D).on("mouseout",N)}}},{key:"update",value:function(){this.destroy(),this.render()}},{key:"destroy",value:function(){var t=this.config.container;r.select(t+" .c3-chart > *").remove()}}]),t}();e.default=s},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=function(){function t(t,e){for(var n=0;nz/2?z/2-5:t.points[3].x+O,y:"right"===m?t.points[3].y:t.points[3].y+S/1.5}]}}),q=D.concat(N);if(x.attr("height",w+b+L-30).attr("width",z+A+y).append("g").attr("transform","translate("+A+","+b+")").selectAll("polygon").data(q).enter().append("polygon").attr("points",function(t){return t.points.map(function(t){return[t.x,t.y].join(",")}).join(" ")}).style("fill",function(t,e){return e>D.length-1?c[t.label]?r.rgb(c[t.label]).darker(1.5):r.rgb(n[e-D.length]).darker(1.5):c[t.label]?c[t.label]:n[e]}).attr("class",function(t){return t.label}).attr("cursor","pointer"),_&&(x.selectAll("line").data(D).enter().append("line").attr("x1",10).attr("y1",function(t){return t.points[0].y+b-S/5}).attr("x2",function(t,e){return 0===e?t.points[1].x+A:t.points[1].x+A-O}).attr("y2",function(t){return t.points[0].y+b-S/5}).attr("class","chart-lines"),x.append("line").attr("x1",10).attr("y1",D[D.length-1].points[2].y+b+S-S/5).attr("x2",D[D.length-1].points[2].x+A-O).attr("y2",D[D.length-1].points[2].y+b+S-S/5).attr("class","chart-lines")),_&&x.selectAll("text.label").data(D).enter().append("text").style("text-anchor","start").attr("x",20).attr("y",function(t){return(t.points[2].y-t.points[1].y)/2+t.points[1].y+b+5+S/4}).attr("class",function(t){return"text-label "+t.label}).text(function(t){return t.name}).call(a.textWrap,A).attr("cursor","pointer"),_||x.selectAll("text.label").data(D).enter().append("text").style("text-anchor","end").attr("x",function(t){return t.points[0].x+(t.points[3].x-t.points[0].x)/2+130}).attr("y",function(t){return(t.points[2].y-t.points[1].y)/2+t.points[1].y+b+5}).attr("class",function(t){return"text-label "+t.label}).text(function(t){return t.name}).call(a.textWrap,A).attr("cursor","pointer"),f&&!M&&x.selectAll("text.label").data(D).enter().append("text").style("text-anchor","middle").attr("x",z/2+A).attr("y",function(t){return(t.points[2].y-t.points[1].y)/2+t.points[1].y+b+8}).attr("class",function(t){return"text-main "+t.label}).text(function(t){return t.percent}).attr("cursor","pointer"),M&&!f&&x.selectAll("text.label").data(D).enter().append("text").style("text-anchor","middle").attr("x",z/2+A).attr("y",function(t){return(t.points[2].y-t.points[1].y)/2+t.points[1].y+b+8}).attr("class",function(t){return"text-main "+t.label}).text(function(t){return t.result}).attr("cursor","pointer"),f&&M&&(x.selectAll("text.label").data(D).enter().append("text").style("text-anchor","middle").attr("x",z/2+A).attr("y",function(t){return(t.points[2].y-t.points[1].y)/2+t.points[1].y+b+18}).attr("class",function(t){return"text-second "+t.label}).text(function(t){return t.percent}).attr("cursor","pointer"),x.selectAll("text.label").data(D).enter().append("text").style("text-anchor","middle").attr("x",z/2+A).attr("y",function(t){return(t.points[2].y-t.points[1].y)/2+t.points[1].y+b+3}).attr("class",function(t){return"text-main "+t.label}).text(function(t){return t.result}).attr("cursor","pointer")),g){var W=function(t){E.style("opacity",.5),X.style("opacity",.5);var e=/[^ ]*$/.exec(r.select(this).attr("class"))[0];x.selectAll("."+e).style("opacity",1)},P=function(t){E.style("opacity",1),X.style("opacity",1)},E=x.selectAll("polygon");E.on("mouseover",W).on("mouseout",P);var X=x.selectAll("text");X.on("mouseover",W).on("mouseout",P)}}},{key:"update",value:function(){this.destroy(),this.render()}},{key:"destroy",value:function(){var t=this.config.container;r.select(t+" .c3-chart > *").remove()}}]),t}();e.default=s},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=function(){function t(t,e){for(var n=0;n *").remove()}}]),t}();e.default=s},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default={render:function(){var t="";this.view._artifacts.spinner={};t+='
',t+='
',t+='
',t+="
",t+="
",this.el().innerHTML=t},update:function(){this.render()},destroy:function(){if(this.view._artifacts.spinner){this.view._artifacts.spinner.interval&&clearInterval(this.view._artifacts.spinner.interval),this.view._artifacts.spinner.radius=0;try{delete this.view._artifacts.spinner}catch(t){this.view._artifacts.spinner=void 0}}this.el().innerHTML=""}}},function(t){t.exports={version:"2018e",zones:["Africa/Abidjan|LMT GMT|g.8 0|01|-2ldXH.Q|48e5","Africa/Accra|LMT GMT +0020|.Q 0 -k|012121212121212121212121212121212121212121212121|-26BbX.8 6tzX.8 MnE 1BAk MnE 1BAk MnE 1BAk MnE 1C0k MnE 1BAk MnE 1BAk MnE 1BAk MnE 1C0k MnE 1BAk MnE 1BAk MnE 1BAk MnE 1C0k MnE 1BAk MnE 1BAk MnE 1BAk MnE 1C0k MnE 1BAk MnE 1BAk MnE 1BAk MnE 1C0k MnE 1BAk MnE 1BAk MnE|41e5","Africa/Nairobi|LMT EAT +0230 +0245|-2r.g -30 -2u -2J|01231|-1F3Cr.g 3Dzr.g okMu MFXJ|47e5","Africa/Algiers|PMT WET WEST CET CEST|-9.l 0 -10 -10 -20|0121212121212121343431312123431213|-2nco9.l cNb9.l HA0 19A0 1iM0 11c0 1oo0 Wo0 1rc0 QM0 1EM0 UM0 DA0 Imo0 rd0 De0 9Xz0 1fb0 1ap0 16K0 2yo0 mEp0 hwL0 jxA0 11A0 dDd0 17b0 11B0 1cN0 2Dy0 1cN0 1fB0 1cL0|26e5","Africa/Lagos|LMT WAT|-d.A -10|01|-22y0d.A|17e6","Africa/Bissau|LMT -01 GMT|12.k 10 0|012|-2ldX0 2xoo0|39e4","Africa/Maputo|LMT CAT|-2a.k -20|01|-2GJea.k|26e5","Africa/Cairo|EET EEST|-20 -30|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-1bIO0 vb0 1ip0 11z0 1iN0 1nz0 12p0 1pz0 10N0 1pz0 16p0 1jz0 s3d0 Vz0 1oN0 11b0 1oO0 10N0 1pz0 10N0 1pb0 10N0 1pb0 10N0 1pb0 10N0 1pz0 10N0 1pb0 10N0 1pb0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1WL0 rd0 1Rz0 wp0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1qL0 Xd0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1ny0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 WL0 1qN0 Rb0 1wp0 On0 1zd0 Lz0 1EN0 Fb0 c10 8n0 8Nd0 gL0 e10 mn0|15e6","Africa/Casablanca|LMT WET WEST CET|u.k 0 -10 -10|0121212121212121213121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2gMnt.E 130Lt.E rb0 Dd0 dVb0 b6p0 TX0 EoB0 LL0 gnd0 rz0 43d0 AL0 1Nd0 XX0 1Cp0 pz0 dEp0 4mn0 SyN0 AL0 1Nd0 wn0 1FB0 Db0 1zd0 Lz0 1Nf0 wM0 co0 go0 1o00 s00 dA0 vc0 11A0 A00 e00 y00 11A0 uM0 e00 Dc0 11A0 s00 e00 IM0 WM0 mo0 gM0 LA0 WM0 jA0 e00 Rc0 11A0 e00 e00 U00 11A0 8o0 e00 11A0 11A0 5A0 e00 17c0 1fA0 1a00 1a00 1fA0 17c0 1io0 14o0 1lc0 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1lc0 14o0 1fA0|32e5","Africa/Ceuta|WET WEST CET CEST|0 -10 -10 -20|010101010101010101010232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-25KN0 11z0 drd0 18p0 3HX0 17d0 1fz0 1a10 1io0 1a00 1y7o0 LL0 gnd0 rz0 43d0 AL0 1Nd0 XX0 1Cp0 pz0 dEp0 4VB0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|85e3","Africa/El_Aaiun|LMT -01 WET WEST|Q.M 10 0 -10|01232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-1rDz7.c 1GVA7.c 6L0 AL0 1Nd0 XX0 1Cp0 pz0 1cBB0 AL0 1Nd0 wn0 1FB0 Db0 1zd0 Lz0 1Nf0 wM0 co0 go0 1o00 s00 dA0 vc0 11A0 A00 e00 y00 11A0 uM0 e00 Dc0 11A0 s00 e00 IM0 WM0 mo0 gM0 LA0 WM0 jA0 e00 Rc0 11A0 e00 e00 U00 11A0 8o0 e00 11A0 11A0 5A0 e00 17c0 1fA0 1a00 1a00 1fA0 17c0 1io0 14o0 1lc0 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1lc0 14o0 1fA0|20e4","Africa/Johannesburg|SAST SAST SAST|-1u -20 -30|012121|-2GJdu 1Ajdu 1cL0 1cN0 1cL0|84e5","Africa/Juba|LMT CAT CAST EAT|-26.s -20 -30 -30|01212121212121212121212121212121213|-1yW26.s 1zK06.s 16L0 1iN0 17b0 1jd0 17b0 1ip0 17z0 1i10 17X0 1hB0 18n0 1hd0 19b0 1gp0 19z0 1iN0 17b0 1ip0 17z0 1i10 18n0 1hd0 18L0 1gN0 19b0 1gp0 19z0 1iN0 17z0 1i10 17X0 yGd0","Africa/Khartoum|LMT CAT CAST EAT|-2a.8 -20 -30 -30|012121212121212121212121212121212131|-1yW2a.8 1zK0a.8 16L0 1iN0 17b0 1jd0 17b0 1ip0 17z0 1i10 17X0 1hB0 18n0 1hd0 19b0 1gp0 19z0 1iN0 17b0 1ip0 17z0 1i10 18n0 1hd0 18L0 1gN0 19b0 1gp0 19z0 1iN0 17z0 1i10 17X0 yGd0 HjL0|51e5","Africa/Monrovia|MMT MMT GMT|H.8 I.u 0|012|-23Lzg.Q 28G01.m|11e5","Africa/Ndjamena|LMT WAT WAST|-10.c -10 -20|0121|-2le10.c 2J3c0.c Wn0|13e5","Africa/Sao_Tome|LMT GMT WAT|A.J 0 -10|012|-2le00 4i6N0","Africa/Tripoli|LMT CET CEST EET|-Q.I -10 -20 -20|012121213121212121212121213123123|-21JcQ.I 1hnBQ.I vx0 4iP0 xx0 4eN0 Bb0 7ip0 U0n0 A10 1db0 1cN0 1db0 1dd0 1db0 1eN0 1bb0 1e10 1cL0 1c10 1db0 1dd0 1db0 1cN0 1db0 1q10 fAn0 1ep0 1db0 AKq0 TA0 1o00|11e5","Africa/Tunis|PMT CET CEST|-9.l -10 -20|0121212121212121212121212121212121|-2nco9.l 18pa9.l 1qM0 DA0 3Tc0 11B0 1ze0 WM0 7z0 3d0 14L0 1cN0 1f90 1ar0 16J0 1gXB0 WM0 1rA0 11c0 nwo0 Ko0 1cM0 1cM0 1rA0 10M0 zuM0 10N0 1aN0 1qM0 WM0 1qM0 11A0 1o00|20e5","Africa/Windhoek|+0130 SAST SAST CAT WAT|-1u -20 -30 -20 -10|01213434343434343434343434343434343434343434343434343|-2GJdu 1Ajdu 1cL0 1SqL0 9Io0 16P0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0|32e4","America/Adak|NST NWT NPT BST BDT AHST HST HDT|b0 a0 a0 b0 a0 a0 a0 90|012034343434343434343434343434343456767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676|-17SX0 8wW0 iB0 Qlb0 52O0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 cm0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|326","America/Anchorage|AST AWT APT AHST AHDT YST AKST AKDT|a0 90 90 a0 90 90 90 80|012034343434343434343434343434343456767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676|-17T00 8wX0 iA0 Qlb0 52O0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 cm0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|30e4","America/Port_of_Spain|LMT AST|46.4 40|01|-2kNvR.U|43e3","America/Araguaina|LMT -03 -02|3c.M 30 20|0121212121212121212121212121212121212121212121212121|-2glwL.c HdKL.c 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 dMN0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 ny10 Lz0|14e4","America/Argentina/Buenos_Aires|CMT -04 -03 -02|4g.M 40 30 20|01212121212121212121212121212121212121212123232323232323232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wp0 Rb0 1wp0 TX0 A4p0 uL0 1qN0 WL0","America/Argentina/Catamarca|CMT -04 -03 -02|4g.M 40 30 20|01212121212121212121212121212121212121212123232323132321232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wq0 Ra0 1wp0 TX0 rlB0 7B0 8zb0 uL0","America/Argentina/Cordoba|CMT -04 -03 -02|4g.M 40 30 20|01212121212121212121212121212121212121212123232323132323232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wq0 Ra0 1wp0 TX0 A4p0 uL0 1qN0 WL0","America/Argentina/Jujuy|CMT -04 -03 -02|4g.M 40 30 20|012121212121212121212121212121212121212121232323121323232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1ze0 TX0 1ld0 WK0 1wp0 TX0 A4p0 uL0","America/Argentina/La_Rioja|CMT -04 -03 -02|4g.M 40 30 20|012121212121212121212121212121212121212121232323231232321232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Qn0 qO0 16n0 Rb0 1wp0 TX0 rlB0 7B0 8zb0 uL0","America/Argentina/Mendoza|CMT -04 -03 -02|4g.M 40 30 20|01212121212121212121212121212121212121212123232312121321232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1u20 SL0 1vd0 Tb0 1wp0 TW0 ri10 Op0 7TX0 uL0","America/Argentina/Rio_Gallegos|CMT -04 -03 -02|4g.M 40 30 20|01212121212121212121212121212121212121212123232323232321232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wp0 Rb0 1wp0 TX0 rlB0 7B0 8zb0 uL0","America/Argentina/Salta|CMT -04 -03 -02|4g.M 40 30 20|012121212121212121212121212121212121212121232323231323232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wq0 Ra0 1wp0 TX0 A4p0 uL0","America/Argentina/San_Juan|CMT -04 -03 -02|4g.M 40 30 20|012121212121212121212121212121212121212121232323231232321232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Qn0 qO0 16n0 Rb0 1wp0 TX0 rld0 m10 8lb0 uL0","America/Argentina/San_Luis|CMT -04 -03 -02|4g.M 40 30 20|012121212121212121212121212121212121212121232323121212321212|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 XX0 1q20 SL0 AN0 vDb0 m10 8lb0 8L0 jd0 1qN0 WL0 1qN0","America/Argentina/Tucuman|CMT -04 -03 -02|4g.M 40 30 20|0121212121212121212121212121212121212121212323232313232123232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wq0 Ra0 1wp0 TX0 rlB0 4N0 8BX0 uL0 1qN0 WL0","America/Argentina/Ushuaia|CMT -04 -03 -02|4g.M 40 30 20|01212121212121212121212121212121212121212123232323232321232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wp0 Rb0 1wp0 TX0 rkN0 8p0 8zb0 uL0","America/Curacao|LMT -0430 AST|4z.L 4u 40|012|-2kV7o.d 28KLS.d|15e4","America/Asuncion|AMT -04 -03|3O.E 40 30|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212|-1x589.k 1DKM9.k 3CL0 3Dd0 10L0 1pB0 10n0 1pB0 10n0 1pB0 1cL0 1dd0 1db0 1dd0 1cL0 1dd0 1cL0 1dd0 1cL0 1dd0 1db0 1dd0 1cL0 1dd0 1cL0 1dd0 1cL0 1dd0 1db0 1dd0 1cL0 1lB0 14n0 1dd0 1cL0 1fd0 WL0 1rd0 1aL0 1dB0 Xz0 1qp0 Xb0 1qN0 10L0 1rB0 TX0 1tB0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 1cL0 WN0 1qL0 11B0 1nX0 1ip0 WL0 1qN0 WL0 1qN0 WL0 1tB0 TX0 1tB0 TX0 1tB0 19X0 1a10 1fz0 1a10 1fz0 1cN0 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0|28e5","America/Atikokan|CST CDT CWT CPT EST|60 50 50 50 50|0101234|-25TQ0 1in0 Rnb0 3je0 8x30 iw0|28e2","America/Bahia_Banderas|LMT MST CST PST MDT CDT|71 70 60 80 60 50|0121212131414141414141414141414141414152525252525252525252525252525252525252525252525252525252|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 otX0 gmN0 P2N0 13Vd0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nW0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0|84e3","America/Bahia|LMT -03 -02|2y.4 30 20|01212121212121212121212121212121212121212121212121212121212121|-2glxp.U HdLp.U 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 1EN0 Lz0 1C10 IL0 1HB0 Db0 1HB0 On0 1zd0 On0 1zd0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 l5B0 Rb0|27e5","America/Barbados|LMT BMT AST ADT|3W.t 3W.t 40 30|01232323232|-1Q0I1.v jsM0 1ODC1.v IL0 1ip0 17b0 1ip0 17b0 1ld0 13b0|28e4","America/Belem|LMT -03 -02|3d.U 30 20|012121212121212121212121212121|-2glwK.4 HdKK.4 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0|20e5","America/Belize|LMT CST -0530 CDT|5Q.M 60 5u 50|01212121212121212121212121212121212121212121212121213131|-2kBu7.c fPA7.c Onu 1zcu Rbu 1wou Rbu 1wou Rbu 1zcu Onu 1zcu Onu 1zcu Rbu 1wou Rbu 1wou Rbu 1wou Rbu 1zcu Onu 1zcu Onu 1zcu Rbu 1wou Rbu 1wou Rbu 1zcu Onu 1zcu Onu 1zcu Onu 1zcu Rbu 1wou Rbu 1wou Rbu 1zcu Onu 1zcu Onu 1zcu Rbu 1wou Rbu 1f0Mu qn0 lxB0 mn0|57e3","America/Blanc-Sablon|AST ADT AWT APT|40 30 30 30|010230|-25TS0 1in0 UGp0 8x50 iu0|11e2","America/Boa_Vista|LMT -04 -03|42.E 40 30|0121212121212121212121212121212121|-2glvV.k HdKV.k 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 smp0 WL0 1tB0 2L0|62e2","America/Bogota|BMT -05 -04|4U.g 50 40|0121|-2eb73.I 38yo3.I 2en0|90e5","America/Boise|PST PDT MST MWT MPT MDT|80 70 70 60 60 60|0101023425252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252|-261q0 1nX0 11B0 1nX0 8C10 JCL0 8x20 ix0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 Dd0 1Kn0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|21e4","America/Cambridge_Bay|-00 MST MWT MPT MDDT MDT CST CDT EST|0 70 60 60 50 60 60 50 50|0123141515151515151515151515151515151515151515678651515151515151515151515151515151515151515151515151515151515151515151515151|-21Jc0 RO90 8x20 ix0 LCL0 1fA0 zgO0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11A0 1nX0 2K0 WQ0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|15e2","America/Campo_Grande|LMT -04 -03|3C.s 40 30|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212|-2glwl.w HdLl.w 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 1EN0 Lz0 1C10 IL0 1HB0 Db0 1HB0 On0 1zd0 On0 1zd0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 1C10 Lz0 1Ip0 HX0 1zd0 On0 1HB0 IL0 1wp0 On0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 Rb0 1zd0 Lz0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 On0 1zd0 On0 1HB0 FX0 1HB0 FX0 1HB0 IL0 1HB0 FX0 1HB0 IL0 1EN0 FX0 1HB0 FX0 1HB0 IL0 1EN0 IL0 1HB0 FX0 1HB0 FX0 1HB0 FX0 1HB0 FX0 1HB0 FX0 1Kp0 FX0 1HB0 IL0 1EN0 FX0 1HB0 FX0 1HB0 IL0 1EN0|77e4","America/Cancun|LMT CST EST EDT CDT|5L.4 60 50 40 50|0123232341414141414141414141414141414141412|-1UQG0 2q2o0 yLB0 1lb0 14p0 1lb0 14p0 Lz0 xB0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 Dd0|63e4","America/Caracas|CMT -0430 -04|4r.E 4u 40|01212|-2kV7w.k 28KM2.k 1IwOu kqo0|29e5","America/Cayenne|LMT -04 -03|3t.k 40 30|012|-2mrwu.E 2gWou.E|58e3","America/Panama|CMT EST|5j.A 50|01|-2uduE.o|15e5","America/Chicago|CST CDT EST CWT CPT|60 50 50 50 50|01010101010101010101010101010101010102010101010103401010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261s0 1nX0 11B0 1nX0 1wp0 TX0 WN0 1qL0 1cN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 11B0 1Hz0 14p0 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 RB0 8x30 iw0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|92e5","America/Chihuahua|LMT MST CST CDT MDT|74.k 70 60 50 60|0121212323241414141414141414141414141414141414141414141414141414141414141414141414141414141|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 2zQN0 1lb0 14p0 1lb0 14q0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0|81e4","America/Costa_Rica|SJMT CST CDT|5A.d 60 50|0121212121|-1Xd6n.L 2lu0n.L Db0 1Kp0 Db0 pRB0 15b0 1kp0 mL0|12e5","America/Creston|MST PST|70 80|010|-29DR0 43B0|53e2","America/Cuiaba|LMT -04 -03|3I.k 40 30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212|-2glwf.E HdLf.E 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 1EN0 Lz0 1C10 IL0 1HB0 Db0 1HB0 On0 1zd0 On0 1zd0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 4a10 HX0 1zd0 On0 1HB0 IL0 1wp0 On0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 Rb0 1zd0 Lz0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 On0 1zd0 On0 1HB0 FX0 1HB0 FX0 1HB0 IL0 1HB0 FX0 1HB0 IL0 1EN0 FX0 1HB0 FX0 1HB0 IL0 1EN0 IL0 1HB0 FX0 1HB0 FX0 1HB0 FX0 1HB0 FX0 1HB0 FX0 1Kp0 FX0 1HB0 IL0 1EN0 FX0 1HB0 FX0 1HB0 IL0 1EN0|54e4","America/Danmarkshavn|LMT -03 -02 GMT|1e.E 30 20 0|01212121212121212121212121212121213|-2a5WJ.k 2z5fJ.k 19U0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 DC0|8","America/Dawson_Creek|PST PDT PWT PPT MST|80 70 70 70 70|0102301010101010101010101010101010101010101010101010101014|-25TO0 1in0 UGp0 8x10 iy0 3NB0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 ML0|12e3","America/Dawson|YST YDT YWT YPT YDDT PST PDT|90 80 80 80 70 80 70|0101023040565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565|-25TN0 1in0 1o10 13V0 Ser0 8x00 iz0 LCL0 1fA0 jrA0 fNd0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|13e2","America/Denver|MST MDT MWT MPT|70 60 60 60|01010101023010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261r0 1nX0 11B0 1nX0 11B0 1qL0 WN0 mn0 Ord0 8x20 ix0 LCN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|26e5","America/Detroit|LMT CST EST EWT EPT EDT|5w.b 60 50 40 40 40|012342525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252|-2Cgir.N peqr.N 156L0 8x40 iv0 6fd0 11z0 XQp0 1cL0 s10 1Vz0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|37e5","America/Edmonton|LMT MST MDT MWT MPT|7x.Q 70 60 60 60|01212121212121341212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2yd4q.8 shdq.8 1in0 17d0 hz0 2dB0 1fz0 1a10 11z0 1qN0 WL0 1qN0 11z0 IGN0 8x20 ix0 3NB0 11z0 LFB0 1cL0 3Cp0 1cL0 66N0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|10e5","America/Eirunepe|LMT -05 -04|4D.s 50 40|0121212121212121212121212121212121|-2glvk.w HdLk.w 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 dPB0 On0 yTd0 d5X0|31e3","America/El_Salvador|LMT CST CDT|5U.M 60 50|012121|-1XiG3.c 2Fvc3.c WL0 1qN0 WL0|11e5","America/Tijuana|LMT MST PST PDT PWT PPT|7M.4 70 80 70 70 70|012123245232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-1UQE0 4PX0 8mM0 8lc0 SN0 1cL0 pHB0 83r0 zI0 5O10 1Rz0 cOO0 11A0 1o00 11A0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 BUp0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 U10 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|20e5","America/Fort_Nelson|PST PDT PWT PPT MST|80 70 70 70 70|01023010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010104|-25TO0 1in0 UGp0 8x10 iy0 3NB0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0|39e2","America/Fort_Wayne|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|010101023010101010101010101040454545454545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 QI10 Db0 RB0 8x30 iw0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 5Tz0 1o10 qLb0 1cL0 1cN0 1cL0 1qhd0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Fortaleza|LMT -03 -02|2y 30 20|0121212121212121212121212121212121212121|-2glxq HdLq 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 nsp0 WL0 1tB0 5z0 2mN0 On0|34e5","America/Glace_Bay|LMT AST ADT AWT APT|3X.M 40 30 30 30|012134121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2IsI0.c CwO0.c 1in0 UGp0 8x50 iu0 iq10 11z0 Jg10 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|19e3","America/Godthab|LMT -03 -02|3q.U 30 20|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2a5Ux.4 2z5dx.4 19U0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|17e3","America/Goose_Bay|NST NDT NST NDT NWT NPT AST ADT ADDT|3u.Q 2u.Q 3u 2u 2u 2u 40 30 20|010232323232323245232323232323232323232323232323232323232326767676767676767676767676767676767676767676768676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676|-25TSt.8 1in0 DXb0 2HbX.8 WL0 1qN0 WL0 1qN0 WL0 1tB0 TX0 1tB0 WL0 1qN0 WL0 1qN0 7UHu itu 1tB0 WL0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1tB0 WL0 1ld0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 S10 g0u 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14n1 1lb0 14p0 1nW0 11C0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zcX Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|76e2","America/Grand_Turk|KMT EST EDT AST|57.a 50 40 40|01212121212121212121212121212121212121212121212121212121212121212121212121232121212121212121212121212121212121212121|-2l1uQ.O 2HHBQ.O 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 5Ip0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|37e2","America/Guatemala|LMT CST CDT|62.4 60 50|0121212121|-24KhV.U 2efXV.U An0 mtd0 Nz0 ifB0 17b0 zDB0 11z0|13e5","America/Guayaquil|QMT -05 -04|5e 50 40|0121|-1yVSK 2uILK rz0|27e5","America/Guyana|LMT -0345 -03 -04|3Q.E 3J 30 40|0123|-2dvU7.k 2r6LQ.k Bxbf|80e4","America/Halifax|LMT AST ADT AWT APT|4e.o 40 30 30 30|0121212121212121212121212121212121212121212121212134121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2IsHJ.A xzzJ.A 1db0 3I30 1in0 3HX0 IL0 1E10 ML0 1yN0 Pb0 1Bd0 Mn0 1Bd0 Rz0 1w10 Xb0 1w10 LX0 1w10 Xb0 1w10 Lz0 1C10 Jz0 1E10 OL0 1yN0 Un0 1qp0 Xb0 1qp0 11X0 1w10 Lz0 1HB0 LX0 1C10 FX0 1w10 Xb0 1qp0 Xb0 1BB0 LX0 1td0 Xb0 1qp0 Xb0 Rf0 8x50 iu0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 3Qp0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 3Qp0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 6i10 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|39e4","America/Havana|HMT CST CDT|5t.A 50 40|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1Meuu.o 72zu.o ML0 sld0 An0 1Nd0 Db0 1Nd0 An0 6Ep0 An0 1Nd0 An0 JDd0 Mn0 1Ap0 On0 1fd0 11X0 1qN0 WL0 1wp0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 14n0 1ld0 14L0 1kN0 15b0 1kp0 1cL0 1cN0 1fz0 1a10 1fz0 1fB0 11z0 14p0 1nX0 11B0 1nX0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 14n0 1ld0 14n0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 1a10 1in0 1a10 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 17c0 1o00 11A0 1qM0 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 11A0 6i00 Rc0 1wo0 U00 1tA0 Rc0 1wo0 U00 1wo0 U00 1zc0 U00 1qM0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0|21e5","America/Hermosillo|LMT MST CST PST MDT|7n.Q 70 60 80 60|0121212131414141|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 otX0 gmN0 P2N0 13Vd0 1lb0 14p0 1lb0 14p0 1lb0|64e4","America/Indiana/Knox|CST CDT CWT CPT EST|60 50 50 50 50|0101023010101010101010101010101010101040101010101010101010101010101010101010101010101010141010101010101010101010101010101010101010101010101010101010101010|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 3NB0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 11z0 1o10 11z0 1o10 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 3Cn0 8wp0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 z8o0 1o00 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Indiana/Marengo|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|0101023010101010101010104545454545414545454545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 dyN0 11z0 6fd0 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 jrz0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1VA0 LA0 1BX0 1e6p0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Indiana/Petersburg|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|01010230101010101010101010104010101010101010101010141014545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 njX0 WN0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 3Fb0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 19co0 1o00 Rd0 1zb0 Oo0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Indiana/Tell_City|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|01010230101010101010101010101010454541010101010101010101010101010101010101010101010101010101010101010|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 1o10 11z0 g0p0 11z0 1o10 11z0 1qL0 WN0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 WL0 1qN0 1cL0 1cN0 1cL0 1cN0 caL0 1cL0 1cN0 1cL0 1qhd0 1o00 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Indiana/Vevay|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|010102304545454545454545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 kPB0 Awn0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1lnd0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Indiana/Vincennes|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|01010230101010101010101010101010454541014545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 1o10 11z0 g0p0 11z0 1o10 11z0 1qL0 WN0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 WL0 1qN0 1cL0 1cN0 1cL0 1cN0 caL0 1cL0 1cN0 1cL0 1qhd0 1o00 Rd0 1zb0 Oo0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Indiana/Winamac|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|01010230101010101010101010101010101010454541054545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 jrz0 1cL0 1cN0 1cL0 1qhd0 1o00 Rd0 1za0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Inuvik|-00 PST PDDT MST MDT|0 80 60 70 60|0121343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343|-FnA0 tWU0 1fA0 wPe0 2pz0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|35e2","America/Iqaluit|-00 EWT EPT EST EDDT EDT CST CDT|0 40 40 50 30 40 60 50|01234353535353535353535353535353535353535353567353535353535353535353535353535353535353535353535353535353535353535353535353|-16K00 7nX0 iv0 LCL0 1fA0 zgO0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11C0 1nX0 11A0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|67e2","America/Jamaica|KMT EST EDT|57.a 50 40|0121212121212121212121|-2l1uQ.O 2uM1Q.O 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0|94e4","America/Juneau|PST PWT PPT PDT YDT YST AKST AKDT|80 70 70 70 80 90 90 80|01203030303030303030303030403030356767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676|-17T20 8x10 iy0 Vo10 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cM0 1cM0 1cL0 1cN0 1fz0 1a10 1fz0 co0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|33e3","America/Kentucky/Louisville|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|0101010102301010101010101010101010101454545454545414545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 3Fd0 Nb0 LPd0 11z0 RB0 8x30 iw0 Bb0 10N0 2bB0 8in0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 xz0 gso0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1VA0 LA0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Kentucky/Monticello|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|0101023010101010101010101010101010101010101010101010101010101010101010101454545454545454545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 SWp0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11A0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/La_Paz|CMT BST -04|4w.A 3w.A 40|012|-1x37r.o 13b0|19e5","America/Lima|LMT -05 -04|58.A 50 40|0121212121212121|-2tyGP.o 1bDzP.o zX0 1aN0 1cL0 1cN0 1cL0 1PrB0 zX0 1O10 zX0 6Gp0 zX0 98p0 zX0|11e6","America/Los_Angeles|PST PDT PWT PPT|80 70 70 70|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261q0 1nX0 11B0 1nX0 SgN0 8x10 iy0 5Wp1 1VaX 3dA0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1a00 1fA0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|15e6","America/Maceio|LMT -03 -02|2m.Q 30 20|012121212121212121212121212121212121212121|-2glxB.8 HdLB.8 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 dMN0 Lz0 8Q10 WL0 1tB0 5z0 2mN0 On0|93e4","America/Managua|MMT CST EST CDT|5J.c 60 50 50|0121313121213131|-1quie.M 1yAMe.M 4mn0 9Up0 Dz0 1K10 Dz0 s3F0 1KH0 DB0 9In0 k8p0 19X0 1o30 11y0|22e5","America/Manaus|LMT -04 -03|40.4 40 30|01212121212121212121212121212121|-2glvX.U HdKX.U 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 dPB0 On0|19e5","America/Martinique|FFMT AST ADT|44.k 40 30|0121|-2mPTT.E 2LPbT.E 19X0|39e4","America/Matamoros|LMT CST CDT|6E 60 50|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1UQG0 2FjC0 1nX0 i6p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 U10 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|45e4","America/Mazatlan|LMT MST CST PST MDT|75.E 70 60 80 60|0121212131414141414141414141414141414141414141414141414141414141414141414141414141414141414141|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 otX0 gmN0 P2N0 13Vd0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0|44e4","America/Menominee|CST CDT CWT CPT EST|60 50 50 50 50|01010230101041010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 1o10 11z0 LCN0 1fz0 6410 9Jb0 1cM0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|85e2","America/Merida|LMT CST EST CDT|5W.s 60 50 50|0121313131313131313131313131313131313131313131313131313131313131313131313131313131313131|-1UQG0 2q2o0 2hz0 wu30 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0|11e5","America/Metlakatla|PST PWT PPT PDT AKST AKDT|80 70 70 70 90 80|0120303030303030303030303030303030454545454545454545454545454545454545454545454|-17T20 8x10 iy0 Vo10 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1hU10 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|14e2","America/Mexico_City|LMT MST CST CDT CWT|6A.A 70 60 50 50|012121232324232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 gEn0 TX0 3xd0 Jb0 6zB0 SL0 e5d0 17b0 1Pff0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0|20e6","America/Miquelon|LMT AST -03 -02|3I.E 40 30 20|012323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-2mKkf.k 2LTAf.k gQ10 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|61e2","America/Moncton|EST AST ADT AWT APT|50 40 30 30 30|012121212121212121212134121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2IsH0 CwN0 1in0 zAo0 An0 1Nd0 An0 1Nd0 An0 1Nd0 An0 1Nd0 An0 1Nd0 An0 1K10 Lz0 1zB0 NX0 1u10 Wn0 S20 8x50 iu0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 3Cp0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14n1 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 ReX 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|64e3","America/Monterrey|LMT CST CDT|6F.g 60 50|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1UQG0 2FjC0 1nX0 i6p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0|41e5","America/Montevideo|LMT MMT -04 -03 -0330 -0230 -02 -0130|3I.P 3I.P 40 30 3u 2u 20 1u|012343434343434343434343435353636353636375363636363636363636363636363636363636363636363|-2tRUf.9 sVc0 8jcf.9 1db0 1dcu 1cLu 1dcu 1cLu ircu 11zu 1o0u 11zu 1o0u 11zu 1o0u 11zu 1qMu WLu 1qMu WLu 1fAu 1cLu 1o0u 11zu NAu 3jXu zXu Dq0u 19Xu pcu jz0 cm10 19X0 6tB0 1fbu 3o0u jX0 4vB0 xz0 3Cp0 mmu 1a10 IMu Db0 4c10 uL0 1Nd0 An0 1SN0 uL0 mp0 28L0 iPB0 un0 1SN0 xz0 1zd0 Lz0 1zd0 Rb0 1zd0 On0 1wp0 Rb0 s8p0 1fB0 1ip0 11z0 1ld0 14n0 1o10 11z0 1o10 11z0 1o10 14n0 1ld0 14n0 1ld0 14n0 1o10 11z0 1o10 11z0 1o10 11z0|17e5","America/Toronto|EST EDT EWT EPT|50 40 40 40|01010101010101010101010101010101010101010101012301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-25TR0 1in0 11Wu 1nzu 1fD0 WJ0 1wr0 Nb0 1Ap0 On0 1zd0 On0 1wp0 TX0 1tB0 TX0 1tB0 TX0 1tB0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 4kM0 8x40 iv0 1o10 11z0 1nX0 11z0 1o10 11z0 1o10 1qL0 11D0 1nX0 11B0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|65e5","America/Nassau|LMT EST EDT|59.u 50 40|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2kNuO.u 26XdO.u 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|24e4","America/New_York|EST EDT EWT EPT|50 40 40 40|01010101010101010101010101010101010101010101010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261t0 1nX0 11B0 1nX0 11B0 1qL0 1a10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 RB0 8x40 iv0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|21e6","America/Nipigon|EST EDT EWT EPT|50 40 40 40|010123010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-25TR0 1in0 Rnb0 3je0 8x40 iv0 19yN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|16e2","America/Nome|NST NWT NPT BST BDT YST AKST AKDT|b0 a0 a0 b0 a0 90 90 80|012034343434343434343434343434343456767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676|-17SX0 8wW0 iB0 Qlb0 52O0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 cl0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|38e2","America/Noronha|LMT -02 -01|29.E 20 10|0121212121212121212121212121212121212121|-2glxO.k HdKO.k 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 nsp0 WL0 1tB0 2L0 2pB0 On0|30e2","America/North_Dakota/Beulah|MST MDT MWT MPT CST CDT|70 60 60 60 60 50|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101014545454545454545454545454545454545454545454545454545454|-261r0 1nX0 11B0 1nX0 SgN0 8x20 ix0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Oo0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/North_Dakota/Center|MST MDT MWT MPT CST CDT|70 60 60 60 60 50|010102301010101010101010101010101010101010101010101010101014545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-261r0 1nX0 11B0 1nX0 SgN0 8x20 ix0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14o0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/North_Dakota/New_Salem|MST MDT MWT MPT CST CDT|70 60 60 60 60 50|010102301010101010101010101010101010101010101010101010101010101010101010101010101454545454545454545454545454545454545454545454545454545454545454545454|-261r0 1nX0 11B0 1nX0 SgN0 8x20 ix0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14o0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Ojinaga|LMT MST CST CDT MDT|6V.E 70 60 50 60|0121212323241414141414141414141414141414141414141414141414141414141414141414141414141414141|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 2zQN0 1lb0 14p0 1lb0 14q0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 U10 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|23e3","America/Pangnirtung|-00 AST AWT APT ADDT ADT EDT EST CST CDT|0 40 30 30 20 30 40 50 60 50|012314151515151515151515151515151515167676767689767676767676767676767676767676767676767676767676767676767676767676767676767|-1XiM0 PnG0 8x50 iu0 LCL0 1fA0 zgO0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1o00 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11C0 1nX0 11A0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|14e2","America/Paramaribo|LMT PMT PMT -0330 -03|3E.E 3E.Q 3E.A 3u 30|01234|-2nDUj.k Wqo0.c qanX.I 1yVXN.o|24e4","America/Phoenix|MST MDT MWT|70 60 60|01010202010|-261r0 1nX0 11B0 1nX0 SgN0 4Al1 Ap0 1db0 SWqX 1cL0|42e5","America/Port-au-Prince|PPMT EST EDT|4N 50 40|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-28RHb 2FnMb 19X0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14q0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 i6n0 1nX0 11B0 1nX0 d430 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 3iN0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|23e5","America/Rio_Branco|LMT -05 -04|4v.c 50 40|01212121212121212121212121212121|-2glvs.M HdLs.M 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 NBd0 d5X0|31e4","America/Porto_Velho|LMT -04 -03|4f.A 40 30|012121212121212121212121212121|-2glvI.o HdKI.o 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0|37e4","America/Puerto_Rico|AST AWT APT|40 30 30|0120|-17lU0 7XT0 iu0|24e5","America/Punta_Arenas|SMT -05 -04 -03|4G.K 50 40 30|0102021212121212121232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323|-2q2jh.e fJAh.e 5knG.K 1Vzh.e jRAG.K 1pbh.e 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 nHX0 op0 blz0 ko0 Qeo0 WL0 1zd0 On0 1ip0 11z0 1o10 11z0 1qN0 WL0 1ld0 14n0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 1cL0 1cN0 11z0 1o10 11z0 1qN0 WL0 1fB0 19X0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1ip0 1fz0 1fB0 11z0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1o10 19X0 1fB0 1nX0 G10 1EL0 Op0 1zb0 Rd0 1wn0 Rd0 46n0 Ap0","America/Rainy_River|CST CDT CWT CPT|60 50 50 50|010123010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-25TQ0 1in0 Rnb0 3je0 8x30 iw0 19yN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|842","America/Rankin_Inlet|-00 CST CDDT CDT EST|0 60 40 50 50|012131313131313131313131313131313131313131313431313131313131313131313131313131313131313131313131313131313131313131313131|-vDc0 keu0 1fA0 zgO0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|26e2","America/Recife|LMT -03 -02|2j.A 30 20|0121212121212121212121212121212121212121|-2glxE.o HdLE.o 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 nsp0 WL0 1tB0 2L0 2pB0 On0|33e5","America/Regina|LMT MST MDT MWT MPT CST|6W.A 70 60 60 60 60|012121212121212121212121341212121212121212121212121215|-2AD51.o uHe1.o 1in0 s2L0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 66N0 1cL0 1cN0 19X0 1fB0 1cL0 1fB0 1cL0 1cN0 1cL0 M30 8x20 ix0 1ip0 1cL0 1ip0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 3NB0 1cL0 1cN0|19e4","America/Resolute|-00 CST CDDT CDT EST|0 60 40 50 50|012131313131313131313131313131313131313131313431313131313431313131313131313131313131313131313131313131313131313131313131|-SnA0 GWS0 1fA0 zgO0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|229","America/Santarem|LMT -04 -03|3C.M 40 30|0121212121212121212121212121212|-2glwl.c HdLl.c 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 NBd0|21e4","America/Santiago|SMT -05 -04 -03|4G.K 50 40 30|010202121212121212321232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323|-2q2jh.e fJAh.e 5knG.K 1Vzh.e jRAG.K 1pbh.e 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 nHX0 op0 9Bz0 jb0 1oN0 ko0 Qeo0 WL0 1zd0 On0 1ip0 11z0 1o10 11z0 1qN0 WL0 1ld0 14n0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 1cL0 1cN0 11z0 1o10 11z0 1qN0 WL0 1fB0 19X0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1ip0 1fz0 1fB0 11z0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1o10 19X0 1fB0 1nX0 G10 1EL0 Op0 1zb0 Rd0 1wn0 Rd0 46n0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Dd0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Dd0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Dd0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0|62e5","America/Santo_Domingo|SDMT EST EDT -0430 AST|4E 50 40 4u 40|01213131313131414|-1ttjk 1lJMk Mn0 6sp0 Lbu 1Cou yLu 1RAu wLu 1QMu xzu 1Q0u xXu 1PAu 13jB0 e00|29e5","America/Sao_Paulo|LMT -03 -02|36.s 30 20|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212|-2glwR.w HdKR.w 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 pTd0 PX0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 1EN0 Lz0 1C10 IL0 1HB0 Db0 1HB0 On0 1zd0 On0 1zd0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 1C10 Lz0 1Ip0 HX0 1zd0 On0 1HB0 IL0 1wp0 On0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 Rb0 1zd0 Lz0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 On0 1zd0 On0 1HB0 FX0 1HB0 FX0 1HB0 IL0 1HB0 FX0 1HB0 IL0 1EN0 FX0 1HB0 FX0 1HB0 IL0 1EN0 IL0 1HB0 FX0 1HB0 FX0 1HB0 FX0 1HB0 FX0 1HB0 FX0 1Kp0 FX0 1HB0 IL0 1EN0 FX0 1HB0 FX0 1HB0 IL0 1EN0|20e6","America/Scoresbysund|LMT -02 -01 +00|1r.Q 20 10 0|0121323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-2a5Ww.8 2z5ew.8 1a00 1cK0 1cL0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|452","America/Sitka|PST PWT PPT PDT YST AKST AKDT|80 70 70 70 90 90 80|01203030303030303030303030303030345656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565|-17T20 8x10 iy0 Vo10 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 co0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|90e2","America/St_Johns|NST NDT NST NDT NWT NPT NDDT|3u.Q 2u.Q 3u 2u 2u 2u 1u|01010101010101010101010101010101010102323232323232324523232323232323232323232323232323232323232323232323232323232323232323232323232323232326232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-28oit.8 14L0 1nB0 1in0 1gm0 Dz0 1JB0 1cL0 1cN0 1cL0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1fB0 1cL0 1cN0 1cL0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1fB0 1cL0 1fB0 19X0 1fB0 19X0 10O0 eKX.8 19X0 1iq0 WL0 1qN0 WL0 1qN0 WL0 1tB0 TX0 1tB0 WL0 1qN0 WL0 1qN0 7UHu itu 1tB0 WL0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1tB0 WL0 1ld0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14n1 1lb0 14p0 1nW0 11C0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zcX Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|11e4","America/Swift_Current|LMT MST MDT MWT MPT CST|7b.k 70 60 60 60 60|012134121212121212121215|-2AD4M.E uHdM.E 1in0 UGp0 8x20 ix0 1o10 17b0 1ip0 11z0 1o10 11z0 1o10 11z0 isN0 1cL0 3Cp0 1cL0 1cN0 11z0 1qN0 WL0 pMp0|16e3","America/Tegucigalpa|LMT CST CDT|5M.Q 60 50|01212121|-1WGGb.8 2ETcb.8 WL0 1qN0 WL0 GRd0 AL0|11e5","America/Thule|LMT AST ADT|4z.8 40 30|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2a5To.Q 31NBo.Q 1cL0 1cN0 1cL0 1fB0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|656","America/Thunder_Bay|CST EST EWT EPT EDT|60 50 40 40 40|0123141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141|-2q5S0 1iaN0 8x40 iv0 XNB0 1cL0 1cN0 1fz0 1cN0 1cL0 3Cp0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|11e4","America/Vancouver|PST PDT PWT PPT|80 70 70 70|0102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-25TO0 1in0 UGp0 8x10 iy0 1o10 17b0 1ip0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|23e5","America/Whitehorse|YST YDT YWT YPT YDDT PST PDT|90 80 80 80 70 80 70|0101023040565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565|-25TN0 1in0 1o10 13V0 Ser0 8x00 iz0 LCL0 1fA0 3NA0 vrd0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|23e3","America/Winnipeg|CST CDT CWT CPT|60 50 50 50|010101023010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aIi0 WL0 3ND0 1in0 Jap0 Rb0 aCN0 8x30 iw0 1tB0 11z0 1ip0 11z0 1o10 11z0 1o10 11z0 1rd0 10L0 1op0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 1cL0 1cN0 11z0 6i10 WL0 6i10 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1a00 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1a00 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|66e4","America/Yakutat|YST YWT YPT YDT AKST AKDT|90 80 80 80 90 80|01203030303030303030303030303030304545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-17T10 8x00 iz0 Vo10 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 cn0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|642","America/Yellowknife|-00 MST MWT MPT MDDT MDT|0 70 60 60 50 60|012314151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151|-1pdA0 hix0 8x20 ix0 LCL0 1fA0 zgO0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|19e3","Antarctica/Casey|-00 +08 +11|0 -80 -b0|01212121|-2q00 1DjS0 T90 40P0 KL0 blz0 3m10|10","Antarctica/Davis|-00 +07 +05|0 -70 -50|01012121|-vyo0 iXt0 alj0 1D7v0 VB0 3Wn0 KN0|70","Antarctica/DumontDUrville|-00 +10|0 -a0|0101|-U0o0 cfq0 bFm0|80","Antarctica/Macquarie|AEST AEDT -00 +11|-a0 -b0 0 -b0|0102010101010101010101010101010101010101010101010101010101010101010101010101010101010101013|-29E80 19X0 4SL0 1ayy0 Lvs0 1cM0 1o00 Rc0 1wo0 Rc0 1wo0 U00 1wo0 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 11A0 1qM0 WM0 1qM0 Oo0 1zc0 Oo0 1zc0 Oo0 1wo0 WM0 1tA0 WM0 1tA0 U00 1tA0 U00 1tA0 11A0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 11A0 1o00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1cM0 1cM0 1cM0|1","Antarctica/Mawson|-00 +06 +05|0 -60 -50|012|-CEo0 2fyk0|60","Pacific/Auckland|NZMT NZST NZST NZDT|-bu -cu -c0 -d0|01020202020202020202020202023232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323|-1GCVu Lz0 1tB0 11zu 1o0u 11zu 1o0u 11zu 1o0u 14nu 1lcu 14nu 1lcu 1lbu 11Au 1nXu 11Au 1nXu 11Au 1nXu 11Au 1nXu 11Au 1qLu WMu 1qLu 11Au 1n1bu IM0 1C00 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1qM0 14o0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1io0 17c0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1io0 17c0 1io0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00|14e5","Antarctica/Palmer|-00 -03 -04 -02|0 30 40 20|0121212121213121212121212121212121212121212121212121212121212121212121212121212121|-cao0 nD0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 jsN0 14N0 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 1cL0 1cN0 11z0 1o10 11z0 1qN0 WL0 1fB0 19X0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1ip0 1fz0 1fB0 11z0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1o10 19X0 1fB0 1nX0 G10 1EL0 Op0 1zb0 Rd0 1wn0 Rd0 46n0 Ap0|40","Antarctica/Rothera|-00 -03|0 30|01|gOo0|130","Antarctica/Syowa|-00 +03|0 -30|01|-vs00|20","Antarctica/Troll|-00 +00 +02|0 0 -20|01212121212121212121212121212121212121212121212121212121212121212121|1puo0 hd0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|40","Antarctica/Vostok|-00 +06|0 -60|01|-tjA0|25","Europe/Oslo|CET CEST|-10 -20|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2awM0 Qm0 W6o0 5pf0 WM0 1fA0 1cM0 1cM0 1cM0 1cM0 wJc0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1qM0 WM0 zpc0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|62e4","Asia/Riyadh|LMT +03|-36.Q -30|01|-TvD6.Q|57e5","Asia/Almaty|LMT +05 +06 +07|-57.M -50 -60 -70|012323232323232323232321232323232323232323232323232|-1Pc57.M eUo7.M 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0|15e5","Asia/Amman|LMT EET EEST|-2n.I -20 -30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1yW2n.I 1HiMn.I KL0 1oN0 11b0 1oN0 11b0 1pd0 1dz0 1cp0 11b0 1op0 11b0 fO10 1db0 1e10 1cL0 1cN0 1cL0 1cN0 1fz0 1pd0 10n0 1ld0 14n0 1hB0 15b0 1ip0 19X0 1cN0 1cL0 1cN0 17b0 1ld0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1So0 y00 1fc0 1dc0 1co0 1dc0 1cM0 1cM0 1cM0 1o00 11A0 1lc0 17c0 1cM0 1cM0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 4bX0 Dd0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0|25e5","Asia/Anadyr|LMT +12 +13 +14 +11|-bN.U -c0 -d0 -e0 -b0|01232121212121212121214121212121212121212121212121212121212141|-1PcbN.U eUnN.U 23CL0 1db0 2q10 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 2sp0 WM0|13e3","Asia/Aqtau|LMT +04 +05 +06|-3l.4 -40 -50 -60|012323232323232323232123232312121212121212121212|-1Pc3l.4 eUnl.4 24PX0 2pX0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0|15e4","Asia/Aqtobe|LMT +04 +05 +06|-3M.E -40 -50 -60|0123232323232323232321232323232323232323232323232|-1Pc3M.E eUnM.E 23CL0 3Db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0|27e4","Asia/Ashgabat|LMT +04 +05 +06|-3R.w -40 -50 -60|0123232323232323232323212|-1Pc3R.w eUnR.w 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0|41e4","Asia/Atyrau|LMT +03 +05 +06 +04|-3r.I -30 -50 -60 -40|01232323232323232323242323232323232324242424242|-1Pc3r.I eUor.I 24PW0 2pX0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 2sp0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0","Asia/Baghdad|BMT +03 +04|-2V.A -30 -40|012121212121212121212121212121212121212121212121212121|-26BeV.A 2ACnV.A 11b0 1cp0 1dz0 1dd0 1db0 1cN0 1cp0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1de0 1dc0 1dc0 1dc0 1cM0 1dc0 1cM0 1dc0 1cM0 1dc0 1dc0 1dc0 1cM0 1dc0 1cM0 1dc0 1cM0 1dc0 1dc0 1dc0 1cM0 1dc0 1cM0 1dc0 1cM0 1dc0 1dc0 1dc0 1cM0 1dc0 1cM0 1dc0 1cM0 1dc0|66e5","Asia/Qatar|LMT +04 +03|-3q.8 -40 -30|012|-21Jfq.8 27BXq.8|96e4","Asia/Baku|LMT +03 +04 +05|-3j.o -30 -40 -50|01232323232323232323232123232323232323232323232323232323232323232|-1Pc3j.o 1jUoj.o WCL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 1cM0 9Je0 1o00 11z0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|27e5","Asia/Bangkok|BMT +07|-6G.4 -70|01|-218SG.4|15e6","Asia/Barnaul|LMT +06 +07 +08|-5z -60 -70 -80|0123232323232323232323212323232321212121212121212121212121212121212|-21S5z pCnz 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 p90 LE0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3rd0","Asia/Beirut|EET EEST|-20 -30|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-21aq0 1on0 1410 1db0 19B0 1in0 1ip0 WL0 1lQp0 11b0 1oN0 11b0 1oN0 11b0 1pd0 11b0 1oN0 11b0 q6N0 En0 1oN0 11b0 1oN0 11b0 1oN0 11b0 1pd0 11b0 1oN0 11b0 1op0 11b0 dA10 17b0 1iN0 17b0 1iN0 17b0 1iN0 17b0 1vB0 SL0 1mp0 13z0 1iN0 17b0 1iN0 17b0 1jd0 12n0 1a10 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0|22e5","Asia/Bishkek|LMT +05 +06 +07|-4W.o -50 -60 -70|012323232323232323232321212121212121212121212121212|-1Pc4W.o eUnW.o 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2e00 1tX0 17b0 1ip0 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1cPu 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0|87e4","Asia/Brunei|LMT +0730 +08|-7D.E -7u -80|012|-1KITD.E gDc9.E|42e4","Asia/Kolkata|MMT IST +0630|-5l.a -5u -6u|012121|-2zOtl.a 1r2LP.a 1un0 HB0 7zX0|15e6","Asia/Chita|LMT +08 +09 +10|-7x.Q -80 -90 -a0|012323232323232323232321232323232323232323232323232323232323232312|-21Q7x.Q pAnx.Q 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3re0|33e4","Asia/Choibalsan|LMT +07 +08 +10 +09|-7C -70 -80 -a0 -90|0123434343434343434343434343434343434343434343424242|-2APHC 2UkoC cKn0 1da0 1dd0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 6hD0 11z0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 3Db0 h1f0 1cJ0 1cP0 1cJ0|38e3","Asia/Shanghai|CST CDT|-80 -90|01010101010101010|-1c1I0 LX0 16p0 1jz0 1Myp0 Rb0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0|23e6","Asia/Colombo|MMT +0530 +06 +0630|-5j.w -5u -60 -6u|01231321|-2zOtj.w 1rFbN.w 1zzu 7Apu 23dz0 11zu n3cu|22e5","Asia/Dhaka|HMT +0630 +0530 +06 +07|-5R.k -6u -5u -60 -70|0121343|-18LFR.k 1unn.k HB0 m6n0 2kxbu 1i00|16e6","Asia/Damascus|LMT EET EEST|-2p.c -20 -30|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-21Jep.c Hep.c 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1xRB0 11X0 1oN0 10L0 1pB0 11b0 1oN0 10L0 1mp0 13X0 1oN0 11b0 1pd0 11b0 1oN0 11b0 1oN0 11b0 1oN0 11b0 1pd0 11b0 1oN0 11b0 1oN0 11b0 1oN0 11b0 1pd0 11b0 1oN0 Nb0 1AN0 Nb0 bcp0 19X0 1gp0 19X0 3ld0 1xX0 Vd0 1Bz0 Sp0 1vX0 10p0 1dz0 1cN0 1cL0 1db0 1db0 1g10 1an0 1ap0 1db0 1fd0 1db0 1cN0 1db0 1dd0 1db0 1cp0 1dz0 1c10 1dX0 1cN0 1db0 1dd0 1db0 1cN0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1db0 1cN0 1db0 1cN0 19z0 1fB0 1qL0 11B0 1on0 Wp0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0|26e5","Asia/Dili|LMT +08 +09|-8m.k -80 -90|01212|-2le8m.k 1dnXm.k 1nfA0 Xld0|19e4","Asia/Dubai|LMT +04|-3F.c -40|01|-21JfF.c|39e5","Asia/Dushanbe|LMT +05 +06 +07|-4z.c -50 -60 -70|012323232323232323232321|-1Pc4z.c eUnz.c 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2hB0|76e4","Asia/Famagusta|LMT EET EEST +03|-2f.M -20 -30 -30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212312121212121212121212121212121212121212121|-1Vc2f.M 2a3cf.M 1cL0 1qp0 Xz0 19B0 19X0 1fB0 1db0 1cp0 1cL0 1fB0 19X0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1o30 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 15U0 2Ks0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","Asia/Gaza|EET EEST IST IDT|-20 -30 -20 -30|010101010101010101010101010101012323232323232323232323232320101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-1c2q0 5Rb0 10r0 1px0 10N0 1pz0 16p0 1jB0 16p0 1jx0 pBd0 Vz0 1oN0 11b0 1oO0 10N0 1pz0 10N0 1pb0 10N0 1pb0 10N0 1pb0 10N0 1pz0 10N0 1pb0 10N0 1pb0 11d0 1oL0 dW0 hfB0 Db0 1fB0 Rb0 npB0 11z0 1C10 IL0 1s10 10n0 1o10 WL0 1zd0 On0 1ld0 11z0 1o10 14n0 1o10 14n0 1nd0 12n0 1nd0 Xz0 1q10 12n0 M10 C00 17c0 1io0 17c0 1io0 17c0 1o00 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 17c0 1io0 18N0 1bz0 19z0 1gp0 1610 1iL0 11z0 1o10 14o0 1lA1 SKX 1xd1 MKX 1AN0 1a00 1fA0 1cL0 1cN0 1nX0 1210 1nz0 1220 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1qL0|18e5","Asia/Hebron|EET EEST IST IDT|-20 -30 -20 -30|01010101010101010101010101010101232323232323232323232323232010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-1c2q0 5Rb0 10r0 1px0 10N0 1pz0 16p0 1jB0 16p0 1jx0 pBd0 Vz0 1oN0 11b0 1oO0 10N0 1pz0 10N0 1pb0 10N0 1pb0 10N0 1pb0 10N0 1pz0 10N0 1pb0 10N0 1pb0 11d0 1oL0 dW0 hfB0 Db0 1fB0 Rb0 npB0 11z0 1C10 IL0 1s10 10n0 1o10 WL0 1zd0 On0 1ld0 11z0 1o10 14n0 1o10 14n0 1nd0 12n0 1nd0 Xz0 1q10 12n0 M10 C00 17c0 1io0 17c0 1io0 17c0 1o00 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 17c0 1io0 18N0 1bz0 19z0 1gp0 1610 1iL0 12L0 1mN0 14o0 1lc0 Tb0 1xd1 MKX bB0 cn0 1cN0 1a00 1fA0 1cL0 1cN0 1nX0 1210 1nz0 1220 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1qL0|25e4","Asia/Ho_Chi_Minh|LMT PLMT +07 +08 +09|-76.E -76.u -70 -80 -90|0123423232|-2yC76.E bK00.a 1h7b6.u 5lz0 18o0 3Oq0 k5b0 aW00 BAM0|90e5","Asia/Hong_Kong|LMT HKT HKST JST|-7A.G -80 -90 -90|0121312121212121212121212121212121212121212121212121212121212121212121|-2CFHA.G 1sEP6.G 1cL0 ylu 93X0 1qQu 1tX0 Rd0 1In0 NB0 1cL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1kL0 14N0 1nX0 U10 1tz0 U10 1wn0 Rd0 1wn0 U10 1tz0 U10 1tz0 U10 1tz0 U10 1wn0 Rd0 1wn0 Rd0 1wn0 U10 1tz0 U10 1tz0 17d0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 s10 1Vz0 1cN0 1cL0 1cN0 1cL0 6fd0 14n0|73e5","Asia/Hovd|LMT +06 +07 +08|-66.A -60 -70 -80|012323232323232323232323232323232323232323232323232|-2APG6.A 2Uko6.A cKn0 1db0 1dd0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 6hD0 11z0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 kEp0 1cJ0 1cP0 1cJ0|81e3","Asia/Irkutsk|IMT +07 +08 +09|-6V.5 -70 -80 -90|01232323232323232323232123232323232323232323232323232323232323232|-21zGV.5 pjXV.5 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|60e4","Europe/Istanbul|IMT EET EEST +04 +03|-1U.U -20 -30 -40 -30|012121212121212121212121212121212121212121212121212121234343434342121212121212121212121212121212121212121212121212121212121212124|-2ogNU.U dzzU.U 11b0 8tB0 1on0 1410 1db0 19B0 1in0 3Rd0 Un0 1oN0 11b0 zSp0 CL0 mN0 1Vz0 1gN0 1pz0 5Rd0 1fz0 1yp0 ML0 1kp0 17b0 1ip0 17b0 1fB0 19X0 1jB0 18L0 1ip0 17z0 qdd0 xX0 3S10 Tz0 dA10 11z0 1o10 11z0 1qN0 11z0 1ze0 11B0 WM0 1qO0 WI0 1nX0 1rB0 10L0 11B0 1in0 17d0 1in0 2pX0 19E0 1fU0 16Q0 1iI0 16Q0 1iI0 1Vd0 pb0 3Kp0 14o0 1de0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1a00 1fA0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WO0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 Xc0 1qo0 WM0 1qM0 11A0 1o00 1200 1nA0 11A0 1tA0 U00 15w0|13e6","Asia/Jakarta|BMT +0720 +0730 +09 +08 WIB|-77.c -7k -7u -90 -80 -70|01232425|-1Q0Tk luM0 mPzO 8vWu 6kpu 4PXu xhcu|31e6","Asia/Jayapura|LMT +09 +0930 WIT|-9m.M -90 -9u -90|0123|-1uu9m.M sMMm.M L4nu|26e4","Asia/Jerusalem|JMT IST IDT IDDT|-2k.E -20 -30 -40|01212121212132121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-26Bek.E SyMk.E 5Rb0 10r0 1px0 10N0 1pz0 16p0 1jB0 16p0 1jx0 3LB0 Em0 or0 1cn0 1dB0 16n0 10O0 1ja0 1tC0 14o0 1cM0 1a00 11A0 1Na0 An0 1MP0 AJ0 1Kp0 LC0 1oo0 Wl0 EQN0 Db0 1fB0 Rb0 npB0 11z0 1C10 IL0 1s10 10n0 1o10 WL0 1zd0 On0 1ld0 11z0 1o10 14n0 1o10 14n0 1nd0 12n0 1nd0 Xz0 1q10 12n0 1hB0 1dX0 1ep0 1aL0 1eN0 17X0 1nf0 11z0 1tB0 19W0 1e10 17b0 1ep0 1gL0 18N0 1fz0 1eN0 17b0 1gq0 1gn0 19d0 1dz0 1c10 17X0 1hB0 1gn0 19d0 1dz0 1c10 17X0 1kp0 1dz0 1c10 1aL0 1eN0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0|81e4","Asia/Kabul|+04 +0430|-40 -4u|01|-10Qs0|46e5","Asia/Kamchatka|LMT +11 +12 +13|-ay.A -b0 -c0 -d0|012323232323232323232321232323232323232323232323232323232323212|-1SLKy.A ivXy.A 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 2sp0 WM0|18e4","Asia/Karachi|LMT +0530 +0630 +05 PKT PKST|-4s.c -5u -6u -50 -50 -60|012134545454|-2xoss.c 1qOKW.c 7zX0 eup0 LqMu 1fy00 1cL0 dK10 11b0 1610 1jX0|24e6","Asia/Urumqi|LMT +06|-5O.k -60|01|-1GgtO.k|32e5","Asia/Kathmandu|LMT +0530 +0545|-5F.g -5u -5J|012|-21JhF.g 2EGMb.g|12e5","Asia/Khandyga|LMT +08 +09 +10 +11|-92.d -80 -90 -a0 -b0|0123232323232323232323212323232323232323232323232343434343434343432|-21Q92.d pAp2.d 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 qK0 yN0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 17V0 7zD0|66e2","Asia/Krasnoyarsk|LMT +06 +07 +08|-6b.q -60 -70 -80|01232323232323232323232123232323232323232323232323232323232323232|-21Hib.q prAb.q 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|10e5","Asia/Kuala_Lumpur|SMT +07 +0720 +0730 +09 +08|-6T.p -70 -7k -7u -90 -80|0123435|-2Bg6T.p 17anT.p l5XE 17bO 8Fyu 1so1u|71e5","Asia/Kuching|LMT +0730 +08 +0820 +09|-7l.k -7u -80 -8k -90|0123232323232323242|-1KITl.k gDbP.k 6ynu AnE 1O0k AnE 1NAk AnE 1NAk AnE 1NAk AnE 1O0k AnE 1NAk AnE pAk 8Fz0|13e4","Asia/Macau|LMT CST CDT|-7y.k -80 -90|012121212121212121212121212121212121212121|-2le80 1XO3u 1wn0 Rd0 1wn0 R9u 1wqu U10 1tz0 TVu 1tz0 17gu 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cJu 1cL0 1cN0 1fz0 1cN0 1cOu 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cJu 1cL0 1cN0 1fz0 1cN0 1cL0|57e4","Asia/Magadan|LMT +10 +11 +12|-a3.c -a0 -b0 -c0|012323232323232323232321232323232323232323232323232323232323232312|-1Pca3.c eUo3.c 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3Cq0|95e3","Asia/Makassar|LMT MMT +08 +09 WITA|-7V.A -7V.A -80 -90 -80|01234|-21JjV.A vfc0 myLV.A 8ML0|15e5","Asia/Manila|+08 +09|-80 -90|010101010|-1kJI0 AL0 cK10 65X0 mXB0 vX0 VK10 1db0|24e6","Asia/Nicosia|LMT EET EEST|-2d.s -20 -30|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1Vc2d.s 2a3cd.s 1cL0 1qp0 Xz0 19B0 19X0 1fB0 1db0 1cp0 1cL0 1fB0 19X0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1o30 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|32e4","Asia/Novokuznetsk|LMT +06 +07 +08|-5M.M -60 -70 -80|012323232323232323232321232323232323232323232323232323232323212|-1PctM.M eULM.M 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 2sp0 WM0|55e4","Asia/Novosibirsk|LMT +06 +07 +08|-5v.E -60 -70 -80|0123232323232323232323212323212121212121212121212121212121212121212|-21Qnv.E pAFv.E 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 ml0 Os0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 4eN0|15e5","Asia/Omsk|LMT +05 +06 +07|-4R.u -50 -60 -70|01232323232323232323232123232323232323232323232323232323232323232|-224sR.u pMLR.u 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|12e5","Asia/Oral|LMT +03 +05 +06 +04|-3p.o -30 -50 -60 -40|01232323232323232424242424242424242424242424242|-1Pc3p.o eUop.o 23CK0 3Db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1fA0 1cM0 1cM0 IM0 1EM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0|27e4","Asia/Pontianak|LMT PMT +0730 +09 +08 WITA WIB|-7h.k -7h.k -7u -90 -80 -80 -70|012324256|-2ua7h.k XE00 munL.k 8Rau 6kpu 4PXu xhcu Wqnu|23e4","Asia/Pyongyang|LMT KST JST KST|-8n -8u -90 -90|012313|-2um8n 97XR 1lTzu 2Onc0 6BAu|29e5","Asia/Qyzylorda|LMT +04 +05 +06|-4l.Q -40 -50 -60|0123232323232323232323232323232323232323232323|-1Pc4l.Q eUol.Q 23CL0 3Db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 3ao0 1EM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0|73e4","Asia/Rangoon|RMT +0630 +09|-6o.L -6u -90|0121|-21Jio.L SmnS.L 7j9u|48e5","Asia/Sakhalin|LMT +09 +11 +12 +10|-9u.M -90 -b0 -c0 -a0|01232323232323232323232423232323232424242424242424242424242424242|-2AGVu.M 1BoMu.M 1qFa0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 2pB0 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3rd0|58e4","Asia/Samarkand|LMT +04 +05 +06|-4r.R -40 -50 -60|01232323232323232323232|-1Pc4r.R eUor.R 23CL0 3Db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0|36e4","Asia/Seoul|LMT KST JST KST KDT KDT|-8r.Q -8u -90 -90 -9u -a0|0123141414141414135353|-2um8r.Q 97XV.Q 1m1zu kKo0 2I0u OL0 1FB0 Rb0 1qN0 TX0 1tB0 TX0 1tB0 TX0 1tB0 TX0 2ap0 12FBu 11A0 1o00 11A0|23e6","Asia/Srednekolymsk|LMT +10 +11 +12|-ae.Q -a0 -b0 -c0|01232323232323232323232123232323232323232323232323232323232323232|-1Pcae.Q eUoe.Q 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|35e2","Asia/Taipei|CST JST CDT|-80 -90 -90|01020202020202020202020202020202020202020|-1iw80 joM0 1yo0 Tz0 1ip0 1jX0 1cN0 11b0 1oN0 11b0 1oN0 11b0 1oN0 11b0 10N0 1BX0 10p0 1pz0 10p0 1pz0 10p0 1db0 1dd0 1db0 1cN0 1db0 1cN0 1db0 1cN0 1db0 1BB0 ML0 1Bd0 ML0 uq10 1db0 1cN0 1db0 97B0 AL0|74e5","Asia/Tashkent|LMT +05 +06 +07|-4B.b -50 -60 -70|012323232323232323232321|-1Pc4B.b eUnB.b 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0|23e5","Asia/Tbilisi|TBMT +03 +04 +05|-2X.b -30 -40 -50|0123232323232323232323212121232323232323232323212|-1Pc2X.b 1jUnX.b WCL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 1cK0 1cL0 1cN0 1cL0 1cN0 2pz0 1cL0 1fB0 3Nz0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 An0 Os0 WM0|11e5","Asia/Tehran|LMT TMT +0330 +04 +05 +0430|-3p.I -3p.I -3u -40 -50 -4u|01234325252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252|-2btDp.I 1d3c0 1huLT.I TXu 1pz0 sN0 vAu 1cL0 1dB0 1en0 pNB0 UL0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 64p0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0|14e6","Asia/Thimphu|LMT +0530 +06|-5W.A -5u -60|012|-Su5W.A 1BGMs.A|79e3","Asia/Tokyo|JST JDT|-90 -a0|010101010|-QJJ0 Rb0 1ld0 14n0 1zd0 On0 1zd0 On0|38e6","Asia/Tomsk|LMT +06 +07 +08|-5D.P -60 -70 -80|0123232323232323232323212323232323232323232323212121212121212121212|-21NhD.P pxzD.P 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 co0 1bB0 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3Qp0|10e5","Asia/Ulaanbaatar|LMT +07 +08 +09|-77.w -70 -80 -90|012323232323232323232323232323232323232323232323232|-2APH7.w 2Uko7.w cKn0 1db0 1dd0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 6hD0 11z0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 kEp0 1cJ0 1cP0 1cJ0|12e5","Asia/Ust-Nera|LMT +08 +09 +12 +11 +10|-9w.S -80 -90 -c0 -b0 -a0|012343434343434343434345434343434343434343434343434343434343434345|-21Q9w.S pApw.S 23CL0 1d90 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 17V0 7zD0|65e2","Asia/Vladivostok|LMT +09 +10 +11|-8L.v -90 -a0 -b0|01232323232323232323232123232323232323232323232323232323232323232|-1SJIL.v itXL.v 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|60e4","Asia/Yakutsk|LMT +08 +09 +10|-8C.W -80 -90 -a0|01232323232323232323232123232323232323232323232323232323232323232|-21Q8C.W pAoC.W 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|28e4","Asia/Yekaterinburg|LMT PMT +04 +05 +06|-42.x -3J.5 -40 -50 -60|012343434343434343434343234343434343434343434343434343434343434343|-2ag42.x 7mQh.s qBvJ.5 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|14e5","Asia/Yerevan|LMT +03 +04 +05|-2W -30 -40 -50|0123232323232323232323212121212323232323232323232323232323232|-1Pc2W 1jUnW WCL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 4RX0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0|13e5","Atlantic/Azores|HMT -02 -01 +00 WET|1S.w 20 10 0 0|01212121212121212121212121212121212121212121232123212321232121212121212121212121212121212121212121232323232323232323232323232323234323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-2ldW0 aPX0 Sp0 LX0 1vc0 Tc0 1uM0 SM0 1vc0 Tc0 1vc0 SM0 1vc0 6600 1co0 3E00 17c0 1fA0 1a00 1io0 1a00 1io0 17c0 3I00 17c0 1cM0 1cM0 3Fc0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Dc0 1tA0 1cM0 1dc0 1400 gL0 IM0 s10 U00 dX0 Rc0 pd0 Rc0 gL0 Oo0 pd0 Rc0 gL0 Oo0 pd0 14o0 1cM0 1cP0 1cM0 1cM0 1cM0 1cM0 1cM0 3Co0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 qIl0 1cM0 1fA0 1cM0 1cM0 1cN0 1cL0 1cN0 1cM0 1cM0 1cM0 1cM0 1cN0 1cL0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cL0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|25e4","Atlantic/Bermuda|LMT AST ADT|4j.i 40 30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1BnRE.G 1LTbE.G 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|65e3","Atlantic/Canary|LMT -01 WET WEST|11.A 10 0 -10|01232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-1UtaW.o XPAW.o 1lAK0 1a10 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|54e4","Atlantic/Cape_Verde|LMT -02 -01|1y.4 20 10|01212|-2ldW0 1eEo0 7zX0 1djf0|50e4","Atlantic/Faroe|LMT WET WEST|r.4 0 -10|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2uSnw.U 2Wgow.U 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|49e3","Atlantic/Madeira|FMT -01 +00 +01 WET WEST|17.A 10 0 -10 0 -10|01212121212121212121212121212121212121212121232123212321232121212121212121212121212121212121212121454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-2ldX0 aPX0 Sp0 LX0 1vc0 Tc0 1uM0 SM0 1vc0 Tc0 1vc0 SM0 1vc0 6600 1co0 3E00 17c0 1fA0 1a00 1io0 1a00 1io0 17c0 3I00 17c0 1cM0 1cM0 3Fc0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Dc0 1tA0 1cM0 1dc0 1400 gL0 IM0 s10 U00 dX0 Rc0 pd0 Rc0 gL0 Oo0 pd0 Rc0 gL0 Oo0 pd0 14o0 1cM0 1cP0 1cM0 1cM0 1cM0 1cM0 1cM0 3Co0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 qIl0 1cM0 1fA0 1cM0 1cM0 1cN0 1cL0 1cN0 1cM0 1cM0 1cM0 1cM0 1cN0 1cL0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|27e4","Atlantic/Reykjavik|LMT -01 +00 GMT|1s 10 0 0|012121212121212121212121212121212121212121212121212121212121212121213|-2uWmw mfaw 1Bd0 ML0 1LB0 Cn0 1LB0 3fX0 C10 HrX0 1cO0 LB0 1EL0 LA0 1C00 Oo0 1wo0 Rc0 1wo0 Rc0 1wo0 Rc0 1zc0 Oo0 1zc0 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1lc0 14o0 1o00 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1o00 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1o00 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1o00 14o0|12e4","Atlantic/South_Georgia|-02|20|0||30","Atlantic/Stanley|SMT -04 -03 -02|3P.o 40 30 20|012121212121212323212121212121212121212121212121212121212121212121212|-2kJw8.A 12bA8.A 19X0 1fB0 19X0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 Cn0 1Cc10 WL0 1qL0 U10 1tz0 2mN0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1tz0 U10 1tz0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1tz0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qN0 U10 1wn0 Rd0 1wn0 U10 1tz0 U10 1tz0 U10 1tz0 U10 1tz0 U10 1wn0 U10 1tz0 U10 1tz0 U10|21e2","Australia/Sydney|AEST AEDT|-a0 -b0|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-293lX xcX 10jd0 yL0 1cN0 1cL0 1fB0 19X0 17c10 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 14o0 1o00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 U00 1qM0 WM0 1tA0 WM0 1tA0 U00 1tA0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 11A0 1o00 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 14o0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0|40e5","Australia/Adelaide|ACST ACDT|-9u -au|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-293lt xcX 10jd0 yL0 1cN0 1cL0 1fB0 19X0 17c10 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 U00 1qM0 WM0 1tA0 WM0 1tA0 U00 1tA0 U00 1tA0 Oo0 1zc0 WM0 1qM0 Rc0 1zc0 U00 1tA0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 14o0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0|11e5","Australia/Brisbane|AEST AEDT|-a0 -b0|01010101010101010|-293lX xcX 10jd0 yL0 1cN0 1cL0 1fB0 19X0 17c10 LA0 H1A0 Oo0 1zc0 Oo0 1zc0 Oo0|20e5","Australia/Broken_Hill|ACST ACDT|-9u -au|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-293lt xcX 10jd0 yL0 1cN0 1cL0 1fB0 19X0 17c10 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 14o0 1o00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 U00 1qM0 WM0 1tA0 WM0 1tA0 U00 1tA0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 14o0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0|18e3","Australia/Currie|AEST AEDT|-a0 -b0|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-29E80 19X0 10jd0 yL0 1cN0 1cL0 1fB0 19X0 17c10 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 11A0 1qM0 WM0 1qM0 Oo0 1zc0 Oo0 1zc0 Oo0 1wo0 WM0 1tA0 WM0 1tA0 U00 1tA0 U00 1tA0 11A0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 11A0 1o00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0|746","Australia/Darwin|ACST ACDT|-9u -au|010101010|-293lt xcX 10jd0 yL0 1cN0 1cL0 1fB0 19X0|12e4","Australia/Eucla|+0845 +0945|-8J -9J|0101010101010101010|-293kI xcX 10jd0 yL0 1cN0 1cL0 1gSp0 Oo0 l5A0 Oo0 iJA0 G00 zU00 IM0 1qM0 11A0 1o00 11A0|368","Australia/Hobart|AEST AEDT|-a0 -b0|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-29E80 19X0 10jd0 yL0 1cN0 1cL0 1fB0 19X0 VfB0 1cM0 1o00 Rc0 1wo0 Rc0 1wo0 U00 1wo0 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 11A0 1qM0 WM0 1qM0 Oo0 1zc0 Oo0 1zc0 Oo0 1wo0 WM0 1tA0 WM0 1tA0 U00 1tA0 U00 1tA0 11A0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 11A0 1o00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0|21e4","Australia/Lord_Howe|AEST +1030 +1130 +11|-a0 -au -bu -b0|0121212121313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313|raC0 1zdu Rb0 1zd0 On0 1zd0 On0 1zd0 On0 1zd0 TXu 1qMu WLu 1tAu WLu 1tAu TXu 1tAu Onu 1zcu Onu 1zcu Onu 1zcu Rbu 1zcu Onu 1zcu Onu 1zcu 11zu 1o0u 11zu 1o0u 11zu 1o0u 11zu 1qMu WLu 11Au 1nXu 1qMu 11zu 1o0u 11zu 1o0u 11zu 1qMu WLu 1qMu 11zu 1o0u WLu 1qMu 14nu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1fzu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu|347","Australia/Lindeman|AEST AEDT|-a0 -b0|010101010101010101010|-293lX xcX 10jd0 yL0 1cN0 1cL0 1fB0 19X0 17c10 LA0 H1A0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0|10","Australia/Melbourne|AEST AEDT|-a0 -b0|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-293lX xcX 10jd0 yL0 1cN0 1cL0 1fB0 19X0 17c10 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 U00 1qM0 WM0 1qM0 11A0 1tA0 U00 1tA0 U00 1tA0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 11A0 1o00 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 14o0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0|39e5","Australia/Perth|AWST AWDT|-80 -90|0101010101010101010|-293jX xcX 10jd0 yL0 1cN0 1cL0 1gSp0 Oo0 l5A0 Oo0 iJA0 G00 zU00 IM0 1qM0 11A0 1o00 11A0|18e5","CET|CET CEST|-10 -20|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1o00 11A0 Qrc0 6i00 WM0 1fA0 1cM0 1cM0 1cM0 16M0 1gMM0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","Pacific/Easter|EMT -07 -06 -05|7h.s 70 60 50|012121212121212121212121212123232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323|-1uSgG.w 1s4IG.w WL0 1zd0 On0 1ip0 11z0 1o10 11z0 1qN0 WL0 1ld0 14n0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 2pA0 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 1cL0 1cN0 11z0 1o10 11z0 1qN0 WL0 1fB0 19X0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1ip0 1fz0 1fB0 11z0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1o10 19X0 1fB0 1nX0 G10 1EL0 Op0 1zb0 Rd0 1wn0 Rd0 46n0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Dd0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Dd0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Dd0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0|30e2","CST6CDT|CST CDT CWT CPT|60 50 50 50|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","EET|EET EEST|-20 -30|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|hDB0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","Europe/Dublin|DMT IST GMT BST IST|p.l -y.D 0 -10 -10|01232323232324242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242|-2ax9y.D Rc0 1fzy.D 14M0 1fc0 1g00 1co0 1dc0 1co0 1oo0 1400 1dc0 19A0 1io0 1io0 WM0 1o00 14o0 1o00 17c0 1io0 17c0 1fA0 1a00 1lc0 17c0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1cM0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1a00 1io0 1qM0 Dc0 g600 14o0 1wo0 17c0 1io0 11A0 1o00 17c0 1fA0 1a00 1fA0 1cM0 1fA0 1a00 17c0 1fA0 1a00 1io0 17c0 1lc0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1a00 1a00 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1tA0 IM0 90o0 U00 1tA0 U00 1tA0 U00 1tA0 U00 1tA0 WM0 1qM0 WM0 1qM0 WM0 1tA0 U00 1tA0 U00 1tA0 11z0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 14o0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|12e5","EST|EST|50|0|","EST5EDT|EST EDT EWT EPT|50 40 40 40|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261t0 1nX0 11B0 1nX0 SgN0 8x40 iv0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","Etc/GMT-0|GMT|0|0|","Etc/GMT-1|+01|-10|0|","Pacific/Port_Moresby|+10|-a0|0||25e4","Pacific/Pohnpei|+11|-b0|0||34e3","Pacific/Tarawa|+12|-c0|0||29e3","Etc/GMT-13|+13|-d0|0|","Etc/GMT-14|+14|-e0|0|","Etc/GMT-2|+02|-20|0|","Etc/GMT-3|+03|-30|0|","Etc/GMT-4|+04|-40|0|","Etc/GMT-5|+05|-50|0|","Etc/GMT-6|+06|-60|0|","Indian/Christmas|+07|-70|0||21e2","Etc/GMT-8|+08|-80|0|","Pacific/Palau|+09|-90|0||21e3","Etc/GMT+1|-01|10|0|","Etc/GMT+10|-10|a0|0|","Etc/GMT+11|-11|b0|0|","Etc/GMT+12|-12|c0|0|","Etc/GMT+3|-03|30|0|","Etc/GMT+4|-04|40|0|","Etc/GMT+5|-05|50|0|","Etc/GMT+6|-06|60|0|","Etc/GMT+7|-07|70|0|","Etc/GMT+8|-08|80|0|","Etc/GMT+9|-09|90|0|","Etc/UCT|UCT|0|0|","Etc/UTC|UTC|0|0|","Europe/Amsterdam|AMT NST +0120 +0020 CEST CET|-j.w -1j.w -1k -k -20 -10|010101010101010101010101010101010101010101012323234545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545|-2aFcj.w 11b0 1iP0 11A0 1io0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1co0 1io0 1yo0 Pc0 1a00 1fA0 1Bc0 Mo0 1tc0 Uo0 1tA0 U00 1uo0 W00 1s00 VA0 1so0 Vc0 1sM0 UM0 1wo0 Rc0 1u00 Wo0 1rA0 W00 1s00 VA0 1sM0 UM0 1w00 fV0 BCX.w 1tA0 U00 1u00 Wo0 1sm0 601k WM0 1fA0 1cM0 1cM0 1cM0 16M0 1gMM0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|16e5","Europe/Andorra|WET CET CEST|0 -10 -20|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-UBA0 1xIN0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|79e3","Europe/Astrakhan|LMT +03 +04 +05|-3c.c -30 -40 -50|012323232323232323212121212121212121212121212121212121212121212|-1Pcrc.c eUMc.c 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1fA0 1cM0 3Co0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3rd0","Europe/Athens|AMT EET EEST CEST CET|-1y.Q -20 -30 -20 -10|012123434121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2a61x.Q CNbx.Q mn0 kU10 9b0 3Es0 Xa0 1fb0 1dd0 k3X0 Nz0 SCp0 1vc0 SO0 1cM0 1a00 1ao0 1fc0 1a10 1fG0 1cg0 1dX0 1bX0 1cQ0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|35e5","Europe/London|GMT BST BDST|0 -10 -20|0101010101010101010101010101010101010101010101010121212121210101210101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2axa0 Rc0 1fA0 14M0 1fc0 1g00 1co0 1dc0 1co0 1oo0 1400 1dc0 19A0 1io0 1io0 WM0 1o00 14o0 1o00 17c0 1io0 17c0 1fA0 1a00 1lc0 17c0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1cM0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1a00 1io0 1qM0 Dc0 2Rz0 Dc0 1zc0 Oo0 1zc0 Rc0 1wo0 17c0 1iM0 FA0 xB0 1fA0 1a00 14o0 bb0 LA0 xB0 Rc0 1wo0 11A0 1o00 17c0 1fA0 1a00 1fA0 1cM0 1fA0 1a00 17c0 1fA0 1a00 1io0 17c0 1lc0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1a00 1a00 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1tA0 IM0 90o0 U00 1tA0 U00 1tA0 U00 1tA0 U00 1tA0 WM0 1qM0 WM0 1qM0 WM0 1tA0 U00 1tA0 U00 1tA0 11z0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 14o0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|10e6","Europe/Belgrade|CET CEST|-10 -20|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-19RC0 3IP0 WM0 1fA0 1cM0 1cM0 1rc0 Qo0 1vmo0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|12e5","Europe/Berlin|CET CEST CEMT|-10 -20 -30|01010101010101210101210101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1o00 11A0 Qrc0 6i00 WM0 1fA0 1cM0 1cM0 1cM0 kL0 Nc0 m10 WM0 1ao0 1cp0 dX0 jz0 Dd0 1io0 17c0 1fA0 1a00 1ehA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|41e5","Europe/Prague|CET CEST GMT|-10 -20 0|01010101010101010201010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1o00 11A0 Qrc0 6i00 WM0 1fA0 1cM0 1cM0 1cM0 1cM0 1qM0 11c0 mp0 xA0 mn0 17c0 1io0 17c0 1fc0 1ao0 1bNc0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|13e5","Europe/Brussels|WET CET CEST WEST|0 -10 -20 -10|0121212103030303030303030303030303030303030303030303212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2ehc0 3zX0 11c0 1iO0 11A0 1o00 11A0 my0 Ic0 1qM0 Rc0 1EM0 UM0 1u00 10o0 1io0 1io0 17c0 1a00 1fA0 1cM0 1cM0 1io0 17c0 1fA0 1a00 1io0 1a30 1io0 17c0 1fA0 1a00 1io0 17c0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Dc0 y00 5Wn0 WM0 1fA0 1cM0 16M0 1iM0 16M0 1C00 Uo0 1eeo0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|21e5","Europe/Bucharest|BMT EET EEST|-1I.o -20 -30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1xApI.o 20LI.o RA0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1Axc0 On0 1fA0 1a10 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cK0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cL0 1cN0 1cL0 1fB0 1nX0 11E0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|19e5","Europe/Budapest|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1ip0 17b0 1op0 1tb0 Q2m0 3Ne0 WM0 1fA0 1cM0 1cM0 1oJ0 1dc0 1030 1fA0 1cM0 1cM0 1cM0 1cM0 1fA0 1a00 1iM0 1fA0 8Ha0 Rb0 1wN0 Rb0 1BB0 Lz0 1C20 LB0 SNX0 1a10 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|17e5","Europe/Zurich|CET CEST|-10 -20|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-19Lc0 11A0 1o00 11A0 1xG10 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|38e4","Europe/Chisinau|CMT BMT EET EEST CEST CET MSK MSD|-1T -1I.o -20 -30 -20 -10 -30 -40|012323232323232323234545467676767676767676767323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-26jdT wGMa.A 20LI.o RA0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 27A0 2en0 39g0 WM0 1fA0 1cM0 V90 1t7z0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 gL0 WO0 1cM0 1cM0 1cK0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1nX0 11D0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|67e4","Europe/Copenhagen|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2azC0 Tz0 VuO0 60q0 WM0 1fA0 1cM0 1cM0 1cM0 S00 1HA0 Nc0 1C00 Dc0 1Nc0 Ao0 1h5A0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|12e5","Europe/Gibraltar|GMT BST BDST CET CEST|0 -10 -20 -10 -20|010101010101010101010101010101010101010101010101012121212121010121010101010101010101034343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343|-2axa0 Rc0 1fA0 14M0 1fc0 1g00 1co0 1dc0 1co0 1oo0 1400 1dc0 19A0 1io0 1io0 WM0 1o00 14o0 1o00 17c0 1io0 17c0 1fA0 1a00 1lc0 17c0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1cM0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1a00 1io0 1qM0 Dc0 2Rz0 Dc0 1zc0 Oo0 1zc0 Rc0 1wo0 17c0 1iM0 FA0 xB0 1fA0 1a00 14o0 bb0 LA0 xB0 Rc0 1wo0 11A0 1o00 17c0 1fA0 1a00 1fA0 1cM0 1fA0 1a00 17c0 1fA0 1a00 1io0 17c0 1lc0 17c0 1fA0 10Jz0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|30e3","Europe/Helsinki|HMT EET EEST|-1D.N -20 -30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1WuND.N OULD.N 1dA0 1xGq0 1cM0 1cM0 1cM0 1cN0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|12e5","Europe/Kaliningrad|CET CEST CET CEST MSK MSD EEST EET +03|-10 -20 -20 -30 -30 -40 -30 -20 -30|0101010101010232454545454545454546767676767676767676767676767676767676767676787|-2aFe0 11d0 1iO0 11A0 1o00 11A0 Qrc0 6i00 WM0 1fA0 1cM0 1cM0 Am0 Lb0 1en0 op0 1pNz0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|44e4","Europe/Kiev|KMT EET MSK CEST CET MSD EEST|-22.4 -20 -30 -20 -10 -40 -30|0123434252525252525252525256161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161|-1Pc22.4 eUo2.4 rnz0 2Hg0 WM0 1fA0 da0 1v4m0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 Db0 3220 1cK0 1cL0 1cN0 1cL0 1cN0 1cL0 1cQ0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|34e5","Europe/Kirov|LMT +03 +04 +05|-3i.M -30 -40 -50|01232323232323232321212121212121212121212121212121212121212121|-22WM0 qH90 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1fA0 1cM0 3Co0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|48e4","Europe/Lisbon|LMT WET WEST WEMT CET CEST|A.J 0 -10 -20 -10 -20|012121212121212121212121212121212121212121212321232123212321212121212121212121212121212121212121214121212121212121212121212121212124545454212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2le00 aPX0 Sp0 LX0 1vc0 Tc0 1uM0 SM0 1vc0 Tc0 1vc0 SM0 1vc0 6600 1co0 3E00 17c0 1fA0 1a00 1io0 1a00 1io0 17c0 3I00 17c0 1cM0 1cM0 3Fc0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Dc0 1tA0 1cM0 1dc0 1400 gL0 IM0 s10 U00 dX0 Rc0 pd0 Rc0 gL0 Oo0 pd0 Rc0 gL0 Oo0 pd0 14o0 1cM0 1cP0 1cM0 1cM0 1cM0 1cM0 1cM0 3Co0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 pvy0 1cM0 1cM0 1fA0 1cM0 1cM0 1cN0 1cL0 1cN0 1cM0 1cM0 1cM0 1cM0 1cN0 1cL0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|27e5","Europe/Luxembourg|LMT CET CEST WET WEST WEST WET|-o.A -10 -20 0 -10 -20 -10|0121212134343434343434343434343434343434343434343434565651212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2DG0o.A t6mo.A TB0 1nX0 Up0 1o20 11A0 rW0 CM0 1qP0 R90 1EO0 UK0 1u20 10m0 1ip0 1in0 17e0 19W0 1fB0 1db0 1cp0 1in0 17d0 1fz0 1a10 1in0 1a10 1in0 17f0 1fA0 1a00 1io0 17c0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Dc0 vA0 60L0 WM0 1fA0 1cM0 17c0 1io0 16M0 1C00 Uo0 1eeo0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|54e4","Europe/Madrid|WET WEST WEMT CET CEST|0 -10 -20 -10 -20|010101010101010101210343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343|-25Td0 19B0 1cL0 1dd0 b1z0 18p0 3HX0 17d0 1fz0 1a10 1io0 1a00 1in0 17d0 iIn0 Hd0 1cL0 bb0 1200 2s20 14n0 5aL0 Mp0 1vz0 17d0 1in0 17d0 1in0 17d0 1in0 17d0 6hX0 11B0 XHX0 1a10 1fz0 1a10 19X0 1cN0 1fz0 1a10 1fC0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|62e5","Europe/Malta|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2arB0 Lz0 1cN0 1db0 1410 1on0 Wp0 1qL0 17d0 1cL0 M3B0 5M20 WM0 1fA0 1co0 17c0 1iM0 16m0 1de0 1lc0 14m0 1lc0 WO0 1qM0 GTW0 On0 1C10 LA0 1C00 LA0 1EM0 LA0 1C00 LA0 1zc0 Oo0 1C00 Oo0 1co0 1cM0 1lA0 Xc0 1qq0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1iN0 19z0 1fB0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|42e4","Europe/Minsk|MMT EET MSK CEST CET MSD EEST +03|-1O -20 -30 -20 -10 -40 -30 -30|01234343252525252525252525261616161616161616161616161616161616161617|-1Pc1O eUnO qNX0 3gQ0 WM0 1fA0 1cM0 Al0 1tsn0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 3Fc0 1cN0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0|19e5","Europe/Monaco|PMT WET WEST WEMT CET CEST|-9.l 0 -10 -20 -10 -20|01212121212121212121212121212121212121212121212121232323232345454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-2nco9.l cNb9.l HA0 19A0 1iM0 11c0 1oo0 Wo0 1rc0 QM0 1EM0 UM0 1u00 10o0 1io0 1wo0 Rc0 1a00 1fA0 1cM0 1cM0 1io0 17c0 1fA0 1a00 1io0 1a00 1io0 17c0 1fA0 1a00 1io0 17c0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Df0 2RV0 11z0 11B0 1ze0 WM0 1fA0 1cM0 1fa0 1aq0 16M0 1ekn0 1cL0 1fC0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|38e3","Europe/Moscow|MMT MMT MST MDST MSD MSK +05 EET EEST MSK|-2u.h -2v.j -3v.j -4v.j -40 -30 -50 -20 -30 -40|012132345464575454545454545454545458754545454545454545454545454545454545454595|-2ag2u.h 2pyW.W 1bA0 11X0 GN0 1Hb0 c4v.j ik0 3DA0 dz0 15A0 c10 2q10 iM10 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cN0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|16e6","Europe/Paris|PMT WET WEST CEST CET WEMT|-9.l 0 -10 -20 -10 -20|0121212121212121212121212121212121212121212121212123434352543434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434|-2nco8.l cNb8.l HA0 19A0 1iM0 11c0 1oo0 Wo0 1rc0 QM0 1EM0 UM0 1u00 10o0 1io0 1wo0 Rc0 1a00 1fA0 1cM0 1cM0 1io0 17c0 1fA0 1a00 1io0 1a00 1io0 17c0 1fA0 1a00 1io0 17c0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Df0 Ik0 5M30 WM0 1fA0 1cM0 Vx0 hB0 1aq0 16M0 1ekn0 1cL0 1fC0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|11e6","Europe/Riga|RMT LST EET MSK CEST CET MSD EEST|-1A.y -2A.y -20 -30 -20 -10 -40 -30|010102345454536363636363636363727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272|-25TzA.y 11A0 1iM0 ko0 gWm0 yDXA.y 2bX0 3fE0 WM0 1fA0 1cM0 1cM0 4m0 1sLy0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cN0 1o00 11A0 1o00 11A0 1qM0 3oo0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|64e4","Europe/Rome|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2arB0 Lz0 1cN0 1db0 1410 1on0 Wp0 1qL0 17d0 1cL0 M3B0 5M20 WM0 1fA0 1cM0 16M0 1iM0 16m0 1de0 1lc0 14m0 1lc0 WO0 1qM0 GTW0 On0 1C10 LA0 1C00 LA0 1EM0 LA0 1C00 LA0 1zc0 Oo0 1C00 Oo0 1C00 LA0 1zc0 Oo0 1C00 LA0 1C00 LA0 1zc0 Oo0 1C00 Oo0 1zc0 Oo0 1fC0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|39e5","Europe/Samara|LMT +03 +04 +05|-3k.k -30 -40 -50|0123232323232323232121232323232323232323232323232323232323212|-22WM0 qH90 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1fA0 2y10 14m0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 2sp0 WM0|12e5","Europe/Saratov|LMT +03 +04 +05|-34.i -30 -40 -50|012323232323232321212121212121212121212121212121212121212121212|-22WM0 qH90 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1cM0 1cM0 1fA0 1cM0 3Co0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 5810","Europe/Simferopol|SMT EET MSK CEST CET MSD EEST MSK|-2g -20 -30 -20 -10 -40 -30 -40|012343432525252525252525252161616525252616161616161616161616161616161616172|-1Pc2g eUog rEn0 2qs0 WM0 1fA0 1cM0 3V0 1u0L0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1Q00 4eL0 1cL0 1cN0 1cL0 1cN0 dX0 WL0 1cN0 1cL0 1fB0 1o30 11B0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11z0 1nW0|33e4","Europe/Sofia|EET CET CEST EEST|-20 -10 -20 -30|01212103030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030|-168L0 WM0 1fA0 1cM0 1cM0 1cN0 1mKH0 1dd0 1fb0 1ap0 1fb0 1a20 1fy0 1a30 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cK0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1nX0 11E0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|12e5","Europe/Stockholm|CET CEST|-10 -20|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2azC0 TB0 2yDe0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|15e5","Europe/Tallinn|TMT CET CEST EET MSK MSD EEST|-1D -10 -20 -20 -30 -40 -30|012103421212454545454545454546363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363|-26oND teD 11A0 1Ta0 4rXl KSLD 2FX0 2Jg0 WM0 1fA0 1cM0 18J0 1sTX0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o10 11A0 1qM0 5QM0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|41e4","Europe/Tirane|LMT CET CEST|-1j.k -10 -20|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2glBj.k 14pcj.k 5LC0 WM0 4M0 1fCK0 10n0 1op0 11z0 1pd0 11z0 1qN0 WL0 1qp0 Xb0 1qp0 Xb0 1qp0 11z0 1lB0 11z0 1qN0 11z0 1iN0 16n0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|42e4","Europe/Ulyanovsk|LMT +03 +04 +05 +02|-3d.A -30 -40 -50 -20|01232323232323232321214121212121212121212121212121212121212121212|-22WM0 qH90 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3rd0","Europe/Uzhgorod|CET CEST MSK MSD EET EEST|-10 -20 -30 -40 -20 -30|010101023232323232323232320454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-1cqL0 6i00 WM0 1fA0 1cM0 1ml0 1Cp0 1r3W0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1Q00 1Nf0 2pw0 1cL0 1cN0 1cL0 1cN0 1cL0 1cQ0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|11e4","Europe/Vienna|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1o00 11A0 3KM0 14o0 LA00 6i00 WM0 1fA0 1cM0 1cM0 1cM0 400 2qM0 1a00 1cM0 1cM0 1io0 17c0 1gHa0 19X0 1cP0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|18e5","Europe/Vilnius|WMT KMT CET EET MSK CEST MSD EEST|-1o -1z.A -10 -20 -30 -20 -40 -30|012324525254646464646464646473737373737373737352537373737373737373737373737373737373737373737373737373737373737373737373|-293do 6ILM.o 1Ooz.A zz0 Mfd0 29W0 3is0 WM0 1fA0 1cM0 LV0 1tgL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11B0 1o00 11A0 1qM0 8io0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|54e4","Europe/Volgograd|LMT +03 +04 +05|-2V.E -30 -40 -50|01232323232323232121212121212121212121212121212121212121212121|-21IqV.E psLV.E 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1cM0 1cM0 1fA0 1cM0 3Co0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|10e5","Europe/Warsaw|WMT CET CEST EET EEST|-1o -10 -20 -20 -30|012121234312121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2ctdo 1LXo 11d0 1iO0 11A0 1o00 11A0 1on0 11A0 6zy0 HWP0 5IM0 WM0 1fA0 1cM0 1dz0 1mL0 1en0 15B0 1aq0 1nA0 11A0 1io0 17c0 1fA0 1a00 iDX0 LA0 1cM0 1cM0 1C00 Oo0 1cM0 1cM0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1C00 LA0 uso0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|17e5","Europe/Zaporozhye|+0220 EET MSK CEST CET MSD EEST|-2k -20 -30 -20 -10 -40 -30|01234342525252525252525252526161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161|-1Pc2k eUok rdb0 2RE0 WM0 1fA0 8m0 1v9a0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cK0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cQ0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|77e4","HST|HST|a0|0|","Indian/Chagos|LMT +05 +06|-4N.E -50 -60|012|-2xosN.E 3AGLN.E|30e2","Indian/Cocos|+0630|-6u|0||596","Indian/Kerguelen|-00 +05|0 -50|01|-MG00|130","Indian/Mahe|LMT +04|-3F.M -40|01|-2yO3F.M|79e3","Indian/Maldives|MMT +05|-4S -50|01|-olgS|35e4","Indian/Mauritius|LMT +04 +05|-3O -40 -50|012121|-2xorO 34unO 14L0 12kr0 11z0|15e4","Indian/Reunion|LMT +04|-3F.Q -40|01|-2mDDF.Q|84e4","Pacific/Kwajalein|+11 -12 +12|-b0 c0 -c0|012|-AX0 W9X0|14e3","MET|MET MEST|-10 -20|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1o00 11A0 Qrc0 6i00 WM0 1fA0 1cM0 1cM0 1cM0 16M0 1gMM0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","MST|MST|70|0|","MST7MDT|MST MDT MWT MPT|70 60 60 60|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261r0 1nX0 11B0 1nX0 SgN0 8x20 ix0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","Pacific/Chatham|+1215 +1245 +1345|-cf -cJ -dJ|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212|-WqAf 1adef IM0 1C00 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1qM0 14o0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1io0 17c0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1io0 17c0 1io0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00|600","Pacific/Apia|LMT -1130 -11 -10 +14 +13|bq.U bu b0 a0 -e0 -d0|01232345454545454545454545454545454545454545454545454545454|-2nDMx.4 1yW03.4 2rRbu 1ff0 1a00 CI0 AQ0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00|37e3","Pacific/Bougainville|+10 +09 +11|-a0 -90 -b0|0102|-16Wy0 7CN0 2MQp0|18e4","Pacific/Efate|LMT +11 +12|-bd.g -b0 -c0|0121212121212121212121|-2l9nd.g 2Szcd.g 1cL0 1oN0 10L0 1fB0 19X0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 Lz0 1Nd0 An0|66e3","Pacific/Enderbury|-12 -11 +13|c0 b0 -d0|012|nIc0 B7X0|1","Pacific/Fakaofo|-11 +13|b0 -d0|01|1Gfn0|483","Pacific/Fiji|LMT +12 +13|-bT.I -c0 -d0|0121212121212121212121212121212121212121212121212121212121212121|-2bUzT.I 3m8NT.I LA0 1EM0 IM0 nJc0 LA0 1o00 Rc0 1wo0 Ao0 1Nc0 Ao0 1Q00 xz0 1SN0 uM0 1SM0 uM0 1VA0 s00 1VA0 s00 1VA0 uM0 1SM0 uM0 1SM0 uM0 1VA0 s00 1VA0 s00 1VA0 s00 1VA0 uM0 1SM0 uM0 1SM0 uM0 1VA0 s00 1VA0 s00 1VA0 uM0 1SM0 uM0 1SM0 uM0 1VA0 s00 1VA0 s00 1VA0 s00 1VA0 uM0 1SM0 uM0 1SM0 uM0|88e4","Pacific/Galapagos|LMT -05 -06|5W.o 50 60|01212|-1yVS1.A 2dTz1.A gNd0 rz0|25e3","Pacific/Gambier|LMT -09|8X.M 90|01|-2jof0.c|125","Pacific/Guadalcanal|LMT +11|-aD.M -b0|01|-2joyD.M|11e4","Pacific/Guam|GST ChST|-a0 -a0|01|1fpq0|17e4","Pacific/Honolulu|HST HDT HST|au 9u a0|010102|-1thLu 8x0 lef0 8Pz0 46p0|37e4","Pacific/Kiritimati|-1040 -10 +14|aE a0 -e0|012|nIaE B7Xk|51e2","Pacific/Kosrae|+11 +12|-b0 -c0|010|-AX0 1bdz0|66e2","Pacific/Majuro|+11 +12|-b0 -c0|01|-AX0|28e3","Pacific/Marquesas|LMT -0930|9i 9u|01|-2joeG|86e2","Pacific/Pago_Pago|LMT SST|bm.M b0|01|-2nDMB.c|37e2","Pacific/Nauru|LMT +1130 +09 +12|-b7.E -bu -90 -c0|01213|-1Xdn7.E PvzB.E 5RCu 1ouJu|10e3","Pacific/Niue|-1120 -1130 -11|bk bu b0|012|-KfME 17y0a|12e2","Pacific/Norfolk|+1112 +1130 +1230 +11|-bc -bu -cu -b0|01213|-Kgbc W01G On0 1COp0|25e4","Pacific/Noumea|LMT +11 +12|-b5.M -b0 -c0|01212121|-2l9n5.M 2EqM5.M xX0 1PB0 yn0 HeP0 Ao0|98e3","Pacific/Pitcairn|-0830 -08|8u 80|01|18Vku|56","Pacific/Rarotonga|-1030 -0930 -10|au 9u a0|012121212121212121212121212|lyWu IL0 1zcu Onu 1zcu Onu 1zcu Rbu 1zcu Onu 1zcu Onu 1zcu Onu 1zcu Onu 1zcu Onu 1zcu Rbu 1zcu Onu 1zcu Onu 1zcu Onu|13e3","Pacific/Tahiti|LMT -10|9W.g a0|01|-2joe1.I|18e4","Pacific/Tongatapu|+1220 +13 +14|-ck -d0 -e0|0121212121|-1aB0k 2n5dk 15A0 1wo0 xz0 1Q10 xz0 zWN0 s00|75e3","PST8PDT|PST PDT PWT PPT|80 70 70 70|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261q0 1nX0 11B0 1nX0 SgN0 8x10 iy0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","WET|WET WEST|0 -10|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|hDB0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00"],links:["Africa/Abidjan|Africa/Bamako","Africa/Abidjan|Africa/Banjul","Africa/Abidjan|Africa/Conakry","Africa/Abidjan|Africa/Dakar","Africa/Abidjan|Africa/Freetown","Africa/Abidjan|Africa/Lome","Africa/Abidjan|Africa/Nouakchott","Africa/Abidjan|Africa/Ouagadougou","Africa/Abidjan|Africa/Timbuktu","Africa/Abidjan|Atlantic/St_Helena","Africa/Cairo|Egypt","Africa/Johannesburg|Africa/Maseru","Africa/Johannesburg|Africa/Mbabane","Africa/Lagos|Africa/Bangui","Africa/Lagos|Africa/Brazzaville","Africa/Lagos|Africa/Douala","Africa/Lagos|Africa/Kinshasa","Africa/Lagos|Africa/Libreville","Africa/Lagos|Africa/Luanda","Africa/Lagos|Africa/Malabo","Africa/Lagos|Africa/Niamey","Africa/Lagos|Africa/Porto-Novo","Africa/Maputo|Africa/Blantyre","Africa/Maputo|Africa/Bujumbura","Africa/Maputo|Africa/Gaborone","Africa/Maputo|Africa/Harare","Africa/Maputo|Africa/Kigali","Africa/Maputo|Africa/Lubumbashi","Africa/Maputo|Africa/Lusaka","Africa/Nairobi|Africa/Addis_Ababa","Africa/Nairobi|Africa/Asmara","Africa/Nairobi|Africa/Asmera","Africa/Nairobi|Africa/Dar_es_Salaam","Africa/Nairobi|Africa/Djibouti","Africa/Nairobi|Africa/Kampala","Africa/Nairobi|Africa/Mogadishu","Africa/Nairobi|Indian/Antananarivo","Africa/Nairobi|Indian/Comoro","Africa/Nairobi|Indian/Mayotte","Africa/Tripoli|Libya","America/Adak|America/Atka","America/Adak|US/Aleutian","America/Anchorage|US/Alaska","America/Argentina/Buenos_Aires|America/Buenos_Aires","America/Argentina/Catamarca|America/Argentina/ComodRivadavia","America/Argentina/Catamarca|America/Catamarca","America/Argentina/Cordoba|America/Cordoba","America/Argentina/Cordoba|America/Rosario","America/Argentina/Jujuy|America/Jujuy","America/Argentina/Mendoza|America/Mendoza","America/Atikokan|America/Coral_Harbour","America/Chicago|US/Central","America/Curacao|America/Aruba","America/Curacao|America/Kralendijk","America/Curacao|America/Lower_Princes","America/Denver|America/Shiprock","America/Denver|Navajo","America/Denver|US/Mountain","America/Detroit|US/Michigan","America/Edmonton|Canada/Mountain","America/Fort_Wayne|America/Indiana/Indianapolis","America/Fort_Wayne|America/Indianapolis","America/Fort_Wayne|US/East-Indiana","America/Halifax|Canada/Atlantic","America/Havana|Cuba","America/Indiana/Knox|America/Knox_IN","America/Indiana/Knox|US/Indiana-Starke","America/Jamaica|Jamaica","America/Kentucky/Louisville|America/Louisville","America/Los_Angeles|US/Pacific","America/Los_Angeles|US/Pacific-New","America/Manaus|Brazil/West","America/Mazatlan|Mexico/BajaSur","America/Mexico_City|Mexico/General","America/New_York|US/Eastern","America/Noronha|Brazil/DeNoronha","America/Panama|America/Cayman","America/Phoenix|US/Arizona","America/Port_of_Spain|America/Anguilla","America/Port_of_Spain|America/Antigua","America/Port_of_Spain|America/Dominica","America/Port_of_Spain|America/Grenada","America/Port_of_Spain|America/Guadeloupe","America/Port_of_Spain|America/Marigot","America/Port_of_Spain|America/Montserrat","America/Port_of_Spain|America/St_Barthelemy","America/Port_of_Spain|America/St_Kitts","America/Port_of_Spain|America/St_Lucia","America/Port_of_Spain|America/St_Thomas","America/Port_of_Spain|America/St_Vincent","America/Port_of_Spain|America/Tortola","America/Port_of_Spain|America/Virgin","America/Regina|Canada/Saskatchewan","America/Rio_Branco|America/Porto_Acre","America/Rio_Branco|Brazil/Acre","America/Santiago|Chile/Continental","America/Sao_Paulo|Brazil/East","America/St_Johns|Canada/Newfoundland","America/Tijuana|America/Ensenada","America/Tijuana|America/Santa_Isabel","America/Tijuana|Mexico/BajaNorte","America/Toronto|America/Montreal","America/Toronto|Canada/Eastern","America/Vancouver|Canada/Pacific","America/Whitehorse|Canada/Yukon","America/Winnipeg|Canada/Central","Asia/Ashgabat|Asia/Ashkhabad","Asia/Bangkok|Asia/Phnom_Penh","Asia/Bangkok|Asia/Vientiane","Asia/Dhaka|Asia/Dacca","Asia/Dubai|Asia/Muscat","Asia/Ho_Chi_Minh|Asia/Saigon","Asia/Hong_Kong|Hongkong","Asia/Jerusalem|Asia/Tel_Aviv","Asia/Jerusalem|Israel","Asia/Kathmandu|Asia/Katmandu","Asia/Kolkata|Asia/Calcutta","Asia/Kuala_Lumpur|Asia/Singapore","Asia/Kuala_Lumpur|Singapore","Asia/Macau|Asia/Macao","Asia/Makassar|Asia/Ujung_Pandang","Asia/Nicosia|Europe/Nicosia","Asia/Qatar|Asia/Bahrain","Asia/Rangoon|Asia/Yangon","Asia/Riyadh|Asia/Aden","Asia/Riyadh|Asia/Kuwait","Asia/Seoul|ROK","Asia/Shanghai|Asia/Chongqing","Asia/Shanghai|Asia/Chungking","Asia/Shanghai|Asia/Harbin","Asia/Shanghai|PRC","Asia/Taipei|ROC","Asia/Tehran|Iran","Asia/Thimphu|Asia/Thimbu","Asia/Tokyo|Japan","Asia/Ulaanbaatar|Asia/Ulan_Bator","Asia/Urumqi|Asia/Kashgar","Atlantic/Faroe|Atlantic/Faeroe","Atlantic/Reykjavik|Iceland","Atlantic/South_Georgia|Etc/GMT+2","Australia/Adelaide|Australia/South","Australia/Brisbane|Australia/Queensland","Australia/Broken_Hill|Australia/Yancowinna","Australia/Darwin|Australia/North","Australia/Hobart|Australia/Tasmania","Australia/Lord_Howe|Australia/LHI","Australia/Melbourne|Australia/Victoria","Australia/Perth|Australia/West","Australia/Sydney|Australia/ACT","Australia/Sydney|Australia/Canberra","Australia/Sydney|Australia/NSW","Etc/GMT-0|Etc/GMT","Etc/GMT-0|Etc/GMT+0","Etc/GMT-0|Etc/GMT0","Etc/GMT-0|Etc/Greenwich","Etc/GMT-0|GMT","Etc/GMT-0|GMT+0","Etc/GMT-0|GMT-0","Etc/GMT-0|GMT0","Etc/GMT-0|Greenwich","Etc/UCT|UCT","Etc/UTC|Etc/Universal","Etc/UTC|Etc/Zulu","Etc/UTC|UTC","Etc/UTC|Universal","Etc/UTC|Zulu","Europe/Belgrade|Europe/Ljubljana","Europe/Belgrade|Europe/Podgorica","Europe/Belgrade|Europe/Sarajevo","Europe/Belgrade|Europe/Skopje","Europe/Belgrade|Europe/Zagreb","Europe/Chisinau|Europe/Tiraspol","Europe/Dublin|Eire","Europe/Helsinki|Europe/Mariehamn","Europe/Istanbul|Asia/Istanbul","Europe/Istanbul|Turkey","Europe/Lisbon|Portugal","Europe/London|Europe/Belfast","Europe/London|Europe/Guernsey","Europe/London|Europe/Isle_of_Man","Europe/London|Europe/Jersey","Europe/London|GB","Europe/London|GB-Eire","Europe/Moscow|W-SU","Europe/Oslo|Arctic/Longyearbyen","Europe/Oslo|Atlantic/Jan_Mayen","Europe/Prague|Europe/Bratislava","Europe/Rome|Europe/San_Marino","Europe/Rome|Europe/Vatican","Europe/Warsaw|Poland","Europe/Zurich|Europe/Busingen","Europe/Zurich|Europe/Vaduz","Indian/Christmas|Etc/GMT-7","Pacific/Auckland|Antarctica/McMurdo","Pacific/Auckland|Antarctica/South_Pole","Pacific/Auckland|NZ","Pacific/Chatham|NZ-CHAT","Pacific/Easter|Chile/EasterIsland","Pacific/Guam|Pacific/Saipan","Pacific/Honolulu|Pacific/Johnston","Pacific/Honolulu|US/Hawaii","Pacific/Kwajalein|Kwajalein","Pacific/Pago_Pago|Pacific/Midway","Pacific/Pago_Pago|Pacific/Samoa","Pacific/Pago_Pago|US/Samoa","Pacific/Palau|Etc/GMT-9","Pacific/Pohnpei|Etc/GMT-11","Pacific/Pohnpei|Pacific/Ponape","Pacific/Port_Moresby|Etc/GMT-10","Pacific/Port_Moresby|Pacific/Chuuk","Pacific/Port_Moresby|Pacific/Truk","Pacific/Port_Moresby|Pacific/Yap","Pacific/Tarawa|Etc/GMT-12","Pacific/Tarawa|Pacific/Funafuti","Pacific/Tarawa|Pacific/Wake","Pacific/Tarawa|Pacific/Wallis"]}},function(t,e,n){var i={"./af":133,"./af.js":133,"./ar":132,"./ar-dz":131,"./ar-dz.js":131,"./ar-kw":130,"./ar-kw.js":130,"./ar-ly":129,"./ar-ly.js":129,"./ar-ma":128,"./ar-ma.js":128,"./ar-sa":127,"./ar-sa.js":127,"./ar-tn":126,"./ar-tn.js":126,"./ar.js":132,"./az":125,"./az.js":125,"./be":124,"./be.js":124,"./bg":123,"./bg.js":123,"./bm":122,"./bm.js":122,"./bn":121,"./bn.js":121,"./bo":120,"./bo.js":120,"./br":119,"./br.js":119,"./bs":118,"./bs.js":118,"./ca":117,"./ca.js":117,"./cs":116,"./cs.js":116,"./cv":115,"./cv.js":115,"./cy":114,"./cy.js":114,"./da":113,"./da.js":113,"./de":112,"./de-at":111,"./de-at.js":111,"./de-ch":110,"./de-ch.js":110,"./de.js":112,"./dv":109,"./dv.js":109,"./el":108,"./el.js":108,"./en-au":107,"./en-au.js":107,"./en-ca":106,"./en-ca.js":106,"./en-gb":105,"./en-gb.js":105,"./en-ie":104,"./en-ie.js":104,"./en-il":103,"./en-il.js":103,"./en-nz":102,"./en-nz.js":102,"./eo":101,"./eo.js":101,"./es":100,"./es-do":99,"./es-do.js":99,"./es-us":98,"./es-us.js":98,"./es.js":100,"./et":97,"./et.js":97,"./eu":96,"./eu.js":96,"./fa":95,"./fa.js":95,"./fi":94,"./fi.js":94,"./fo":93,"./fo.js":93,"./fr":92,"./fr-ca":91,"./fr-ca.js":91,"./fr-ch":90,"./fr-ch.js":90,"./fr.js":92,"./fy":89,"./fy.js":89,"./gd":88,"./gd.js":88,"./gl":87,"./gl.js":87,"./gom-latn":86,"./gom-latn.js":86,"./gu":85,"./gu.js":85,"./he":84,"./he.js":84,"./hi":83,"./hi.js":83,"./hr":82,"./hr.js":82,"./hu":81,"./hu.js":81,"./hy-am":80,"./hy-am.js":80,"./id":79,"./id.js":79,"./is":78,"./is.js":78,"./it":77,"./it.js":77,"./ja":76,"./ja.js":76,"./jv":75,"./jv.js":75,"./ka":74,"./ka.js":74,"./kk":73,"./kk.js":73,"./km":72,"./km.js":72,"./kn":71,"./kn.js":71,"./ko":70,"./ko.js":70,"./ky":69,"./ky.js":69,"./lb":68,"./lb.js":68,"./lo":67,"./lo.js":67,"./lt":66,"./lt.js":66,"./lv":65,"./lv.js":65,"./me":64,"./me.js":64,"./mi":63,"./mi.js":63,"./mk":62,"./mk.js":62,"./ml":61,"./ml.js":61,"./mn":60,"./mn.js":60,"./mr":59,"./mr.js":59,"./ms":58,"./ms-my":57,"./ms-my.js":57,"./ms.js":58,"./mt":56,"./mt.js":56,"./my":55,"./my.js":55,"./nb":54,"./nb.js":54,"./ne":53,"./ne.js":53,"./nl":52,"./nl-be":51,"./nl-be.js":51,"./nl.js":52,"./nn":50,"./nn.js":50,"./pa-in":49,"./pa-in.js":49,"./pl":48,"./pl.js":48,"./pt":47,"./pt-br":46,"./pt-br.js":46,"./pt.js":47,"./ro":45,"./ro.js":45,"./ru":44,"./ru.js":44,"./sd":43,"./sd.js":43,"./se":42,"./se.js":42,"./si":41,"./si.js":41,"./sk":40,"./sk.js":40,"./sl":39,"./sl.js":39,"./sq":38,"./sq.js":38,"./sr":37,"./sr-cyrl":36,"./sr-cyrl.js":36,"./sr.js":37,"./ss":35,"./ss.js":35,"./sv":34,"./sv.js":34,"./sw":33,"./sw.js":33,"./ta":32,"./ta.js":32,"./te":31,"./te.js":31,"./tet":30,"./tet.js":30,"./tg":29,"./tg.js":29,"./th":28,"./th.js":28,"./tl-ph":27,"./tl-ph.js":27,"./tlh":26,"./tlh.js":26,"./tr":25,"./tr.js":25,"./tzl":24,"./tzl.js":24,"./tzm":23,"./tzm-latn":22,"./tzm-latn.js":22,"./tzm.js":23,"./ug-cn":21,"./ug-cn.js":21,"./uk":20,"./uk.js":20,"./ur":19,"./ur.js":19,"./uz":18,"./uz-latn":17,"./uz-latn.js":17,"./uz.js":18,"./vi":16,"./vi.js":16,"./x-pseudo":15,"./x-pseudo.js":15,"./yo":14,"./yo.js":14,"./zh-cn":13,"./zh-cn.js":13,"./zh-hk":12,"./zh-hk.js":12,"./zh-tw":11,"./zh-tw.js":11};function r(t){var e=a(t);return n(e)}function a(t){var e=i[t];if(!(e+1)){var n=new Error('Cannot find module "'+t+'".');throw n.code="MODULE_NOT_FOUND",n}return e}r.keys=function(){return Object.keys(i)},r.resolve=a,t.exports=r,r.id=144},function(t,e){t.exports=function(t){return t.webpackPolyfill||(t.deprecate=function(){},t.paths=[],t.children||(t.children=[]),Object.defineProperty(t,"loaded",{enumerable:!0,get:function(){return t.l}}),Object.defineProperty(t,"id",{enumerable:!0,get:function(){return t.i}}),t.webpackPolyfill=1),t}},function(t,e,n){var i,r,a;//! moment-timezone.js //! version : 0.5.21 //! Copyright (c) JS Foundation and other contributors //! license : MIT @@ -10,5 +10,5 @@ t.exports=function(){"use strict";function t(e){return(t="function"==typeof Symb //! Copyright (c) JS Foundation and other contributors //! license : MIT //! github.com/moment/moment-timezone -!function(o,s){"use strict";"object"==typeof t&&t.exports?t.exports=s(n(0)):(r=[n(0)],void 0===(a="function"==typeof(i=s)?i.apply(e,r):i)||(t.exports=a))}(0,function(t){"use strict";var e,n={},i={},r={},a={};t&&"string"==typeof t.version||T("Moment Timezone requires Moment.js. See https://momentjs.com/timezone/docs/#/use-it/browser/");var o=t.version.split("."),s=+o[0],c=+o[1];function u(t){return t>96?t-87:t>64?t-29:t-48}function d(t){var e=0,n=t.split("."),i=n[0],r=n[1]||"",a=1,o=0,s=1;for(45===t.charCodeAt(0)&&(e=1,s=-1);e3){var e=r[A(t)];if(e)return e;T("Moment Timezone found "+t+" from the Intl api, but did not have that data loaded.")}}catch(t){}var n,i,a,o=function(){var t,e,n,i=(new Date).getFullYear()-2,r=new _(new Date(i,0,1)),a=[r];for(n=1;n<48;n++)(e=new _(new Date(i,n,1))).offset!==r.offset&&(t=m(r,e),a.push(t),a.push(new _(new Date(t.at+6e4)))),r=e;for(n=0;n<4;n++)a.push(new _(new Date(i+n,0,1))),a.push(new _(new Date(i+n,6,1)));return a}(),s=o.length,c=y(o),u=[];for(i=0;i0?u[0].zone.name:void 0}function A(t){return(t||"").toLowerCase().replace(/\//g,"_")}function v(t){var e,i,a,o;for("string"==typeof t&&(t=[t]),e=0;e= 2.6.0. You are using Moment.js "+t.version+". See momentjs.com"),p.prototype={_set:function(t){this.name=t.name,this.abbrs=t.abbrs,this.untils=t.untils,this.offsets=t.offsets,this.population=t.population},_index:function(t){var e,n=+t,i=this.untils;for(e=0;ei&&S.moveInvalidForward&&(e=i),a= 2.9.0. You are using Moment.js "+t.version+"."),t.defaultZone=e?z(e):null,t};var D=t.momentProperties;return"[object Array]"===Object.prototype.toString.call(D)?(D.push("_z"),D.push("_a")):D&&(D._z=null),t})},function(t,e,n){(t.exports=n(140)).tz.load(n(137))},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i,r=function(){return function(t,e){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return function(t,e){var n=[],i=!0,r=!1,a=void 0;try{for(var o,s=t[Symbol.iterator]();!(i=(o=s.next()).done)&&(n.push(o.value),!e||n.length!==e);i=!0);}catch(t){r=!0,a=t}finally{try{!i&&s.return&&s.return()}finally{if(r)throw a}}return n}(t,e);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),a=Object.assign||function(t){for(var e=1;e';var z=!0,x=!1,w=void 0;try{for(var T,S=v.entries()[Symbol.iterator]();!(z=(T=S.next()).done);z=!0){var O=T.value,Y=r(O,2),k=Y[0],D=Y[1];if(t.config.timezone&&D instanceof Date){n+=""+s.default.tz(D,"UTC").clone().tz(t.config.timezone).toString()+""}else{var N=(0,c.escapeHtml)(D);_[k]?n+=""+M[_[k]](N)+"":n+=""+N+""}}}catch(t){x=!0,w=t}finally{try{!z&&S.return&&S.return()}finally{if(x)throw w}}n+=""}}catch(t){b=!0,y=t}finally{try{!g&&A.return&&A.return()}finally{if(b)throw y}}if(l>1){n+='';var q=1,W=1===u?1:u-1,P=u===l?l:u+1;for(o.arrows&&(n+='<');q<=l;)n+=''+q+"",q++;o.arrows&&(n+='>'),n+=""}return n}e.default={render:function(){var t=this,e=this.dataset.matrix,n=this.el(),i=this.config.theme,r=this,a="";if(1===e.length&&0===e[0].length){var o="No data to display",s=this.config.errorMapping[o]||o;this.config.showErrorMessages&&this.message(s)}else{a+='
',a+='',a+="",a+="",a+=function(t,e){var n="",i=-1,r=t.config.table&&t.config.table.columns||e[0],a=!0,o=!1,s=void 0;try{for(var u,d=r[Symbol.iterator]();!(a=(u=d.next()).done);a=!0){var l=u.value,f=(0,c.escapeHtml)(l);n+='"}}catch(t){o=!0,s=t}finally{try{!a&&d.return&&d.return()}finally{if(o)throw s}}return n}(r,e),a+="",a+="",a+="",a+=d(r,e),a+="",a+="
'+f+"
",a+="
",n.querySelector("."+i+"-rendering").innerHTML=a,n.querySelectorAll("."+i+"-rendering th").forEach(function(a){a.addEventListener("click",function(a){var o=a.target.getAttribute("order")||"asc",s=a.target.getAttribute("fieldNumber");o="asc"===o?"desc":"asc",a.target.setAttribute("order",o);var c=t.dataset.matrix.shift();t.dataset.matrix.sort(function(t,e){var n="asc"===o?1:-1;if("string"==typeof t[s]){var i=t[s].toUpperCase(),r=e[s].toUpperCase();return ir?1*n:0}return(t[s]-e[s])*n}),t.dataset.matrix.unshift(c),n.querySelector("."+i+"-rendering tbody").innerHTML=d(r,e),l()})});var l=function t(){n.querySelectorAll(".btn").forEach(function(a){a.addEventListener("click",function(a){u=parseInt(a.target.getAttribute("data-page")),n.querySelector("."+i+"-rendering tbody").innerHTML=d(r,e),t()},!0)})};l(r,n,i),this.config.onrendered&&this.config.onrendered()}},update:function(){this.render()},destroy:function(){}}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.prettyNumber=function(t){var e=(t=Number(t)).toPrecision(3),n="",i=["","k","M","B","T"];if(Number(e)==t&&String(t).length<=4)return String(t);if(Math.abs(t)>=1e15)return e;return t>=1||t<=-1?(t<0&&(t=-t,n="-"),n+function t(e,n){var e=String(e);var r=e.split(".");if(r.length>1){e=r[0];var a=r[1];2==e.length&&a.length>0?a.length>0?e=e+"."+a.charAt(0):e+="0":1==e.length&&a.length>0&&(e=e+"."+a.charAt(0),a.length>1?e+=a.charAt(1):e+="0")}var o=e.length;e.split(".").length>1&&o--;return o<=3?String(e)+i[n]:t(Number(e)/1e3,n+1)}(t,0)):t.toPrecision(3)}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(143),r=n(2);e.default={render:function(){this.config.colors[0];var t=this.config.theme,e=this.config.title,n=this.config,a="-",o="",s="",c="",u=void 0,d="",l="",f="",h="",p=this.config,_=p.results,M=p.previousResults;_&&M&&(d=M?" metric-comparison":"",h=M&&e?"-smaller":"",f=(l=_.result-M.result)>0?"-green":"-red",l=Math.abs(l)),"number"==typeof this.data()[1][1]&&(a=this.data()[1][1]),u=a,void 0!==n.prettyNumber&&!0!==n.prettyNumber||isNaN(parseInt(a))||(u=(0,i.prettyNumber)(a),_&&M&&(l=(0,i.prettyNumber)(l))),n.prefix&&(s=''+n.prefix+""),n.suffix&&(c=''+n.suffix+""),o+='
',o+='
',_&&M&&(o+='
'+(0,r.escapeHtml)(l)+"
"),o+='
'+s+(0,r.escapeHtml)(u)+c+"
",e&&(o+='
'+(0,r.escapeHtml)(e)+"
"),o+="
",o+="
",this.el().innerHTML=o,this.config.onrendered&&this.config.onrendered()},update:function(){this.render()},destroy:function(){}}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(2);e.default={render:function(t){var e=document.createElement("div"),n=document.createElement("div"),r=document.createElement("span"),a=document.createElement("div"),o=document.createElement("div");e.className=this.config.theme+" keen-dataviz-box",n.className=this.config.theme+"-message",a.className=this.config.theme+"-title",a.innerHTML=(0,i.escapeHtml)(this.config.title||""),o.className=this.config.theme+"-notes",o.innerHTML=(0,i.escapeHtml)(this.config.notes||""),r.innerHTML=(0,i.escapeHtml)(t)||"",n.appendChild(r),this.config.title&&this.config.showTitle&&e.appendChild(a),e.appendChild(n),this.config.notes&&e.appendChild(o),this.el().innerHTML="",this.el().appendChild(e)},update:function(){this.render()},destroy:function(){}}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(t,e,n,r){for(var a=void 0,o=void 0,s=this.config.tooltip_format_name||function(t){return t},c=this.config.tooltip_format_title||e,u=this.config.tooltip_format_value||n,d=0;d"+(o||0===o?""+(0,i.escapeHtml)(o)+"":""));var l=s(t[d].name),f=u(t[d].value,t[d].ratio,t[d].id,t[d].index),h=this.levelColor?this.levelColor(t[d].value):r(t[d].id);f&&(a+="",-1===l.indexOf("__tooltip_ignore_name_field__")&&(a+=""+(0,i.escapeHtml)(l)+""),a+=""+(0,i.escapeHtml)(f)+"",a+="")}return a+""};var i=n(2)},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=Object.assign||function(t){for(var e=1;e"+n+"",i.chartPartId=e,i.setAttribute("class","legend-item"),_.append(i);var a=document.createElement("span");a.setAttribute("class","legend-item-color-sample"),a.style.backgroundColor=r.color(i.chartPartId),i.prepend(a);var o=document.createElement("div");i.addEventListener("mouseover",function(e){r.focus(i.chartPartId),c.tooltip.show&&i.chartPartId.length>c.label.textMaxLength&&(o.setAttribute("class","keen-c3-legend-label-overlay keen-c3-legend-position-"+c.position),o.innerHTML=(t.legend.tooltip.pointer?"
":"")+i.chartPartId,i.append(o))}),i.addEventListener("mouseout",function(t){r.revert(),o.remove()}),i.addEventListener("click",function(t){var e=1,n=u.hidden.indexOf(i.chartPartId);n<0?(u.hidden.push(i.chartPartId),e=.35):(u.hidden.splice(n,1),e=1),i.style.opacity=e,r.toggle(i.chartPartId)})}),t.onLegendRendered&&(t.onLegendRendered(),t.onLegendRendered=null)}.call(n,u.labels),u.total>u.limit&&function(){M.innerHTML="",p.innerHTML="",m.innerHTML="";var t=document.createElement("i"),e=document.createElement("i"),n=function(t){if("forward"===t){var e=u.offset+u.limit;return e=0?n:Math.floor(u.total/u.limit)*u.limit};e.addEventListener("click",function(){n("forward"),g(),b()}),t.addEventListener("click",function(){n("backward"),g(),b()}),"left"===c.position||"right"===c.position?(t.setAttribute("class","up"),e.setAttribute("class","down"),M.append(e),M.append(t)):(t.setAttribute("class","left"),e.setAttribute("class","right"),p.append(t),m.append(e))}.call(n),t.onPaginated&&t.onPaginated()}function b(){document.selection&&document.selection.empty?document.selection.empty():window.getSelection&&window.getSelection().removeAllRanges()}m.setAttribute("class","keen-c3-legend-pagination-icons keen-c3-legend-horizontal-pagination-right"),"horizontal"===h&&f.append(m),g()};!function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);e.default=t}(n(4));var r,a=n(5),o=(r=a)&&r.__esModule?r:{default:r}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(t,e){var n=Math.abs(new Date(t).getTime()-new Date(e).getTime()),i=["Jan","Feb","Mar","Apr","May","June","July","Aug","Sept","Oct","Nov","Dec"];return n>=24192e5?function(t){var e=new Date(t);return i[e.getMonth()]+" "+e.getFullYear()}:n>=864e5?function(t){var e=new Date(t);return i[e.getMonth()]+" "+e.getDate()}:n>=36e5?"%I:%M %p":"%I:%M:%S %p"}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=Object.assign||function(t){for(var e=1;e12?1e3:250;e=setTimeout(function(){(0,a.each)(t.visuals,function(t){t.view._artifacts.c3&&t.view._artifacts.c3.resize()})},n)}),r.default.chart&&r.default.chart.internal&&r.default.chart.internal.fn&&(r.default.chart.internal.fn.horizontalDistance=function(t,e){var n=this.config.axis_rotated?1:0,i=this.x(t.x);return Math.abs(i-e[n])},r.default.chart.internal.fn.findClosest=function(t,e){var n,i=r.default.chart.internal.fn.CLASS,a=this,o=a.config.point_sensitivity;o=1/0;return t.filter(function(t){return t&&a.isBarType(t.id)}).forEach(function(t){var e=a.main.select("."+i.bars+a.getTargetSelectorSuffix(t.id)+" ."+i.bar+"-"+t.index).node();!n&&a.isWithinBar(a.d3.mouse(e),e)&&(n=t)}),t.filter(function(t){return t&&!a.isBarType(t.id)}).forEach(function(t){var i=a.dist(t,e);(i=a.horizontalDistance(t,e))0?r:void 0}};return(0,o.extendDeep)({},u,this.config,t)}.call(this);if(this.config.clearOnRender&&l.data.columns.length>0&&l.data.columns.splice(1),1!==this.data()[0].length&&1!==this.data().length){var f=!1;if("gauge"===n?(l.legend.show=!1,l.data.columns=[[this.config.title||this.data()[1][0],this.data()[1][1]]],f=!0):"pie"===n||"donut"===n?l.data.columns=this.data().slice(1):(n.indexOf("horizontal-")>-1&&(l.axis.rotated=n.indexOf("horizontal-")>-1),(0,s.default)(this.data()[1][0])?(l.axis.x=l.axis.x||{},l.axis.x.type="timeseries",l.axis.x.tick=l.axis.x.tick||{format:this.config.dateFormat||(0,c.default)(this.data()[1][0],this.data()[2]?this.data()[2][0]:this.data()[1][0]),culling:{max:5}},l.data.columns[0]=[],(0,a.each)(this.dataset.selectColumn(0),function(t,e){e>0&&(t=new Date(t)),l.data.columns[0][e]=t}),l.data.columns[0][0]="x",l.data.x="x",this.config.stacked&&this.data()[0].length>2&&(l.data.groups=[this.dataset.selectRow(0).slice(1)])):(l.axis.x=l.axis.x||{},l.axis.x.type="category",l.axis.x.categories=this.dataset.selectColumn(0).slice(1),this.config.stacked&&this.data()[0].length>2&&(l.data.groups=[this.dataset.selectRow(0).slice(1)])),2===this.data()[0].length&&(l.legend.show=!1,f=!0),(0,a.each)(this.data()[0],function(t,e){e>0&&l.data.columns.push(this.dataset.selectColumn(e))}.bind(this))),f){var h=this.el().querySelector(".keen-c3-legend");h&&(h.remove(),l.size.width=this.el().querySelector(".c3-chart").offsetWidth),l.legend.show=!1}if(l.partialIntervalIndicator&&l.partialIntervalIndicator.show&&["area","area-spline","area-step","line","spline","step"].indexOf(l.type)>-1){var p=l.data.columns&&l.data.columns[0];if(p&&p.length>1){var _={axis:"x",start:new Date(p[p.length-2]),class:l.partialIntervalIndicator.className};l.regions=[].concat(function(t){if(Array.isArray(t)){for(var e=0,n=Array(t.length);e-1?t:void 0}.call(t,e,n,i,r);return t.config.tooltip&&t.config.tooltip.format&&t.config.tooltip.format.value&&(a=t.config.tooltip.format.value.call(t,a,n,i,r)),a}}}),!0===l.legend.show){var M=i({},l);M.data.color=function(t,e){var n=this.config.type;if(this.view._artifacts.pagination&&"gauge"!==n){var i=this.view._artifacts.pagination.labels;return e.id&&i.indexOf(e.id)>-1||e&&!e.id&&i.indexOf(e)>-1?t:"donut"===n||"pie"===n?"rgba(0,0,0,.1)":"rgba(0,0,0,.07)"}return t}.bind(this),M.legend.hide=!0,this.view._artifacts.c3=r.default.generate(M),u.default.call(this,i({},l,{onLegendRendered:function(){var n=t.el().querySelector(".keen-c3-legend");n&&("top"===l.legend.position||"bottom"===l.legend.position?(M.size.height-=n.offsetHeight,t.view._artifacts.c3.resize({height:M.size.height})):(0===M.size.width&&(M.size.width=t.el().offsetWidth-e(t.el(),"Left")-e(t.el(),"Right")),M.size.width-=n.offsetWidth,t.view._artifacts.c3.resize({width:M.size.width})))},onPaginated:function(){t.view._artifacts.c3.flush()}}))}else this.view._artifacts.c3=r.default.generate(l)}else{var m="No data to display",g=this.config.errorMapping[m]||m;this.config.showErrorMessages&&this.message(g)}},update:function(){this.render()},destroy:function(){this.view._artifacts.c3&&(this.view._artifacts.c3.destroy(),this.view._artifacts.c3=null)}}}),t}()};var r=_(n(133)),a=n(1),o=(n(3),n(132)),s=_(n(5)),c=_(n(148)),u=_(n(147)),d=_(n(146)),l=_(n(145)),f=_(n(144)),h=_(n(142)),p=_(n(136));function _(t){return t&&t.__esModule?t:{default:t}}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(t){return arguments.length?t instanceof a.default?(this.dataset=t,this):function(t){var e,n,i,r,c,u,d,l,f=[];n=this.config.indexBy,i=t.metadata||{},c=void 0!==t.query?t.query:{},"funnel"===(c=(0,o.extend)({analysis_type:null,event_collection:null,filters:[],group_by:null,interval:null,timeframe:null,timezone:null},c)).analysis_type?r="funnel":"extraction"===c.analysis_type?r="extraction":"select_unique"===c.analysis_type?c.group_by||c.interval||(r="list"):c.analysis_type&&(c.group_by||c.interval?c.group_by&&!c.interval?c.group_by instanceof Array&&c.group_by.length>1?(r="double-grouped-metric",f.push(c.group_by)):r="grouped-metric":c.interval&&!c.group_by?(r="interval",f.push(n)):c.group_by&&c.interval&&(c.group_by instanceof Array&&c.group_by.length>1?(r="double-grouped-interval",f.push(c.group_by),f.push(n)):(r="grouped-interval",f.push(n))):r="metric");r||("number"==typeof t.result&&(r="metric"),t.result instanceof Array&&t.result.length>0&&(!t.result[0].timeframe||"number"!=typeof t.result[0].value&&null!=t.result[0].value||(r="interval",f.push(n)),"number"==typeof t.result[0].result&&(r="grouped-metric"),t.result[0].value instanceof Array&&(r="grouped-interval",f.push(n)),"number"==typeof t.result[0]&&void 0!==t.steps&&(r="funnel",c.steps=t.steps),"string"!=typeof t.result[0]&&"number"!=typeof t.result[0]||void 0!==t.steps||(r="list"),r||(r="extraction")),r||(r="extraction"));void 0===this.config.title&&(d=i.display_name?i.display_name:function(t){var e,n=t.analysis_type?t.analysis_type.replace("_"," "):"";e=n.replace(/\b./g,function(t){return t.toUpperCase()}),t.event_collection&&(e+=" - "+t.event_collection);return e}(c),this.config.title=d);this.config.type||(l=i.visualization&&i.visualization.chart_type?i.visualization.chart_type:function(t){var e=void 0;switch(t){case"metric":e="metric";break;case"interval":e="area";break;case"grouped-metric":case"double-grouped-metric":e="bar";break;case"grouped-interval":case"double-grouped-interval":e="line";break;case"funnel":e="horizontal-bar";break;case"list":case"extraction":default:e="table"}return e}(r),this.config.type=l);u=a.default.parser.apply(this,[r].concat(f)),e=u((0,o.extend)(t,{query:c})),r.indexOf("interval")>-1&&e.updateColumn(0,function(t,e){return new Date(t)});return e.updateRow(0,function(t,e){return(0,s.stripHtmlTags)(t)}),this.dataset=e,this}.call(this,t):this.dataset.data()};var i,r=n(135),a=(i=r)&&i.__esModule?i:{default:i},o=n(3),s=n(6)},function(t){t.exports={name:"keen-dataviz",description:"Data Visualization SDK for Keen IO",license:"MIT",version:"3.2.4",main:"dist/external_d3_c3/node/keen-dataviz.js",browser:"dist/external_d3_c3/keen-dataviz.js",style:"dist/keen-dataviz.css",scripts:{start:'concurrently --kill-others "NODE_ENV=development webpack-dev-server" "npm run postcss-watch"',"postcss-watch":"node_modules/postcss-cli/bin/postcss lib/style/keen-dataviz-c3.css -o test/demo/keen-dataviz.css --watch --config postcss.config.js",build:"NODE_ENV=production webpack -p && npm run build:css && NODE_ENV=production OPTIMIZE_MINIMIZE=1 webpack -p && npm run build:css && npm run build:css:min && npm run build:external_d3_c3 && npm run build:external_d3_c3:css && npm run build:external_d3_c3:css:min && npm run build:node","build:css":"node_modules/postcss-cli/bin/postcss lib/style/keen-dataviz-c3.css -o dist/keen-dataviz.css --config postcss.config.js","build:css:min":"OPTIMIZE_MINIMIZE=1 node_modules/postcss-cli/bin/postcss lib/style/keen-dataviz-c3.css -o dist/keen-dataviz.min.css --config postcss.config.js","build:external_d3_c3:css":"node_modules/postcss-cli/bin/postcss lib/style/keen-dataviz.css -o dist/external_d3_c3/keen-dataviz.css --config postcss.config.js","build:external_d3_c3:css:min":"OPTIMIZE_MINIMIZE=1 node_modules/postcss-cli/bin/postcss lib/style/keen-dataviz.css -o dist/external_d3_c3/keen-dataviz.min.css --config postcss.config.js","build:external_d3_c3":"NODE_ENV=production EXTERNAL_D3_C3=1 webpack -p && NODE_ENV=production EXTERNAL_D3_C3=1 OPTIMIZE_MINIMIZE=1 webpack -p","build:node":"TARGET=node NODE_ENV=production EXTERNAL_D3_C3=1 webpack -p",profile:"webpack --profile --json > stats.json",analyze:"webpack-bundle-analyzer stats.json /dist",version:"npm run build && git add .",postversion:"git push && git push --tags",test:"NODE_ENV=test jest","test:watch":"NODE_ENV=test jest --watch"},repository:{type:"git",url:"https://github.com/keen/keen-dataviz.js.git"},bugs:"https://github.com/keen/keen-dataviz.js/issues",author:"Keen.IO (https://keen.io/)",contributors:["Dustin Larimer (https://github.com/dustinlarimer)","Joanne Cheng (https://github.com/joannecheng)","Eric Anderson (https://github.com/aroc)","Joe Wegner (https://github.com/josephwegner)","Sara Falkoff (https://github.com/adamkasprowicz)"],homepage:"https://keen.io",keywords:["d3","c3","Analytics","Stats","Statistics","Visualization","Visualizations","Data Visualization","Chart","Charts","Charting","Svg","Dataviz","Plots","Graphs","Funnels"],dependencies:{c3:"^0.6.12",d3:"^5.4.0","moment-timezone":"^0.5.21","promise-polyfill":"^8.0.0"},devDependencies:{autoprefixer:"^8.2.0","babel-loader":"^7.1.4","babel-plugin-transform-es2015-modules-commonjs":"^6.26.2","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-preset-env":"^1.7.0",concurrently:"^3.5.1",cssnano:"^3.10.0",eslint:"^4.19.1","eslint-config-airbnb":"^16.1.0","eslint-loader":"^2.0.0","eslint-plugin-import":"^2.11.0","eslint-plugin-jsx-a11y":"^6.0.3","eslint-plugin-react":"^7.7.0","html-loader":"^0.5.5","html-webpack-plugin":"^3.2.0",jest:"^22.4.3","jest-environment-jsdom-c3":"^2.0.0",nock:"^9.2.6",postcss:"^6.0.21","postcss-cli":"^5.0.0","postcss-color-function":"^4.0.1","postcss-css-variables":"^0.8.1","postcss-cssnext":"^2.4.0","postcss-import":"^8.0.2","postcss-loader":"^2.1.3",precss:"^3.1.2","regenerator-runtime":"^0.11.1","replace-in-file":"^3.4.0","style-loader":"^0.20.3",webpack:"^4.5.0","webpack-bundle-analyzer":"^2.11.1","webpack-cli":"^2.0.13","webpack-dev-server":"^3.1.1","xhr-mock":"^2.3.2"}}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.valueAtDeepKey=function t(e,n,i){return"string"==typeof n?t(e,n.split("."),i):1==n.length&&void 0!==i&&null!==e&&void 0!==e[n[0]]?e[n[0]]=i:0==n.length?e:void 0===n||void 0===e||null===n||null===e||void 0===e[n[0]]?null:t(e[n[0]],n.slice(1),i)}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};e.flatten=function t(e){var n={};for(var r in e)if(e.hasOwnProperty(r))if("object"==i(e[r])&&null!==e[r]){var a=t(e[r]);for(var o in a)a.hasOwnProperty(o)&&(n[r+"."+o]=a[o])}else n[r]=e[r];return n}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(t){return o=t,function(t){var e=Array.prototype.slice.call(arguments,1);if(s[t])return s[t].apply(this,e);throw"Requested parser does not exist"}};var i=n(1),r=n(153),a=n(152),o=void 0;var s={metric:function(){return function(t){return(new o).set(["Value","Result"],t.result).type("metric")}},interval:function(){var t=Array.prototype.slice.call(arguments);return function(e){var n=(new o).type("interval");return(0,i.each)(e.result,function(e,i){var r=t[0]&&"timeframe.end"===t[0]?e.timeframe.end:e.timeframe.start;n.set(["Result",r],e.value)}),n}},"grouped-metric":function(){return function(t){var e=(new o).type("grouped-metric");return(0,i.each)(t.result,function(t,n){var r;(0,i.each)(t,function(t,e){"result"!==e&&(r=e)}),e.set(["Result",String(t[r])],t.result)}),e}},"grouped-interval":function(){var t=Array.prototype.slice.call(arguments);return function(e){var n=(new o).type("grouped-interval");return(0,i.each)(e.result,function(e,r){var a=t[0]&&"timeframe.end"===t[0]?e.timeframe.end:e.timeframe.start;e.value.length?(0,i.each)(e.value,function(t,e){var r;(0,i.each)(t,function(t,e){"result"!==e&&(r=e)}),n.set([String(t[r]),a],t.result)}):n.appendRow(a)}),n}},"double-grouped-metric":function(){var t=Array.prototype.slice.call(arguments);if(!t[0])throw"Requested parser requires a sequential list (array) of properties to target as a second argument";return function(e){var n=(new o).type("double-grouped-metric");return(0,i.each)(e.result,function(e,i){var r=e[t[0][0]]+" "+e[t[0][1]];n.set(["Result",r],e.result)}),n}},"double-grouped-interval":function(){var t=Array.prototype.slice.call(arguments);if(!t[0])throw"Requested parser requires a sequential list (array) of properties to target as a second argument";return function(e){var n=(new o).type("double-grouped-interval");return(0,i.each)(e.result,function(e,r){var a=t[1]&&"timeframe.end"===t[1]?e.timeframe.end:e.timeframe.start;(0,i.each)(e.value,function(e,i){var r=e[t[0][0]]+" "+e[t[0][1]];n.set([r,a],e.result)})}),n}},funnel:function(){return function(t){var e,n,r;return void 0!==t.steps&&void 0!==t.result&&t.result instanceof Array?(e=t.result,n=t.steps):void 0!==t.result.steps&&void 0!==t.result.result&&t.result.result instanceof Array&&(e=t.result.result,n=t.result.steps),(r=(new o).type("funnel")).appendColumn("Step Value"),(0,i.each)(e,function(t,e){void 0!==n&&n[e]&&r.appendRow(String(n[e].event_collection),[t])}),r}},list:function(){return function(t){var e=(new o).type("list");return(0,i.each)(t.result,function(t,n){e.set(["Result",String(n+1)],t)}),e}},extraction:function(){var t=this.config;return function(e){for(var n=(new o).type("extraction"),s=function(t){var a=e.result[t];(0,i.each)((0,r.flatten)(a),function(e,i){n.set([i,String(t+1)],e)})},c=0;c<1;c++)s(c);var u=Object.keys((0,r.flatten)(e.result[0]));for(o&&t.table&&t.table.columns&&(u=t.table.columns),c=0;c-1&&("function"==typeof e?(0,r.each)(n.data(),function(t,r){var a;r>0&&void 0!==(a=e.call(n,t[i],r,t))&&(n.matrix[r][i]=a)}):(!e||e instanceof Array)&&((e=e||[]).length<=n.data().length-1?e=e.concat((0,o.default)(n.data().length-1-e.length)):(0,r.each)(e,function(t,i){n.matrix.length-1-1&&("function"==typeof e?(0,r.each)(n.data()[i],function(t,r){var a=n.selectColumn(r),o=e.call(n,t,r,a);void 0!==o&&(n.matrix[i][r]=o)}):(!e||e instanceof Array)&&((e=e||[]).length<=n.matrix[0].length-1?e=e.concat((0,o.default)(n.matrix[0].length-1-e.length)):(0,r.each)(e,function(t,i){n.matrix[0].length-1s.call(n,i);return r?"asc"===t?1:-1:r?0:"asc"===t?-1:1}),(0,r.each)(a,function(t,e){n.deleteColumn(e+1).insertColumn(e+1,t[0],t.slice(1))}),n},e.sortRows=function(t,e){var n=this,i=this.matrix.slice(0,1),r=this.matrix.slice(1),a=e||o.default.getRowIndex;return r.sort(function(e,i){var r=a.call(n,e)>a.call(n,i);return r?"asc"===t?1:-1:r?0:"asc"===t?-1:1}),n.data(i.concat(r)),n};var i,r=n(1),a=n(134),o=(i=a)&&i.__esModule?i:{default:i}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.selectColumn=function(t){var e=[],n="number"==typeof t?t:this.matrix[0].indexOf(t);n>-1&&void 0!==this.matrix[0][n]&&(0,i.each)(this.matrix,function(t,i){e.push(t[n])});return e},e.selectRow=function(t){var e=[],n="number"==typeof t?t:this.selectColumn(0).indexOf(t);n>-1&&void 0!==this.matrix[n]&&(e=this.matrix[n]);return e};var i=n(1)},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.insertColumn=function(t,e,n){var i=this,a=void 0!==e?e:null;"function"==typeof n?(i.matrix[0].splice(t,0,a),(0,r.each)(i.matrix,function(e,r){var a;r>0&&(void 0===(a=n.call(i,e,r))&&(a=null),i.matrix[r].splice(t,0,a))})):(!n||n instanceof Array)&&((n=n||[]).length<=i.matrix.length-1?n=n.concat((0,o.default)(i.matrix.length-1-n.length)):(0,r.each)(n,function(t,e){i.matrix.length-10&&(r=i.selectColumn(e),void 0===(o=n.call(i,r,e))&&(o=null),a.push(o))}),i.matrix.splice(t,0,a)):(!n||n instanceof Array)&&((n=n||[]).length<=i.matrix[0].length-1?n=n.concat((0,o.default)(i.matrix[0].length-1-n.length)):(0,r.each)(n,function(t,e){i.matrix[0].length-1-1&&(0,i.each)(e.matrix,function(t,i){e.matrix[i].splice(n,1)});return e},e.deleteRow=function(t){var e="number"==typeof t?t:this.selectColumn(0).indexOf(t);e>-1&&this.matrix.splice(e,1);return this};var i=n(1)},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Dataset=e.Dataviz=void 0;var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},r=Object.assign||function(t){for(var e=1;e0&&void 0!==arguments[0]?arguments[0]:{};if(this instanceof t==!1)return new t(n);this.c3=s.default,this.d3=o;var i=(M(e={showDeprecationWarnings:!0,showLoadingSpinner:!1,container:void 0,containerElement:void 0,title:void 0,showTitle:!0,notes:void 0,theme:"keen-dataviz",colors:["#00bbde","#fe6672","#eeb058","#8a8ad6","#ff855c","#00cfbb","#5a9eed","#73d483","#c879bb","#0099b6","#d74d58","#cb9141","#6b6bb6","#d86945","#00aa99","#4281c9","#57b566","#ac5c9e","#27cceb","#ff818b","#f6bf71","#9b9be1","#ff9b79","#26dfcd","#73aff4","#87e096","#d88bcb"],colorMapping:{},indexBy:"timeframe.start",labels:[],labelMapping:{},labelMappingRegExp:void 0,errorMapping:{},showErrorMessages:!0,library:"default",sortGroups:void 0,sortIntervals:void 0,results:void 0,type:void 0,stacked:!1,dateFormat:void 0,legend:{show:!0,position:"right",label:{textMaxLength:12},pagination:{offset:0,limit:5},tooltip:{show:!0,pointer:!0},sort:void 0},axis:{},color:{},data:{order:null},size:{},padding:{top:15},point:{focus:{expand:{enabled:!1}},r:2,show:!0},tooltip:{format:{}},transition:{}},"data",{selection:{enabled:!0,draggable:!0,multiple:!0}}),M(e,"grid",{y:{show:!0}}),M(e,"partialIntervalIndicator",{show:void 0,className:"partial-interval-indicator"}),M(e,"timezone","UTC"),M(e,"table",{}),M(e,"renderOnVisible",!1),e);this.config=r({},(0,p.extendDeep)(i,n)),this.config.type&&(this.config.type=v(this.config.type)),this.config.container&&this.el(this.config.container),void 0===n.legend||n.legend||(this.config.legend=r({},n,{show:!1})),n.color&&n.color.pattern&&(this.config.colors=n.color.pattern),this.config.legend&&this.config.legend.tooltip&&!1===this.config.legend.tooltip.show&&void 0===this.config.tooltip.show&&(this.config.tooltip={show:!1}),n.color&&n.color.pattern&&(this.config.colors=n.color.pattern),this.dataset=new a.Dataset(this.config),this.view={_prepared:!1,_rendered:!1,_artifacts:{}},t.visuals.push(this),this.config.showLoadingSpinner&&this.prepare(),this.config.results&&this.render(this.config.results),this.config.firstVisibilityState=document.visibilityState};function g(t){2!==t.data()[0].length||(0,l.default)(t.data()[1][0])?t.dataset.updateRow(0,function(e,n){return n>0&&t.config.labels[n-1]?(0,f.stripHtmlTags)(String(t.config.labels[n-1])):(0,f.stripHtmlTags)(e)}.bind(t)):t.dataset.updateColumn(0,function(e,n){return t.config.labels[n-1]?(0,f.stripHtmlTags)(String(t.config.labels[n-1])):(0,f.stripHtmlTags)(e)}.bind(t))}function b(t){var e=t.datavizInstance,n=t.value;if(e.config.labelMappingRegExp){var i=n;return e.config.labelMappingRegExp.forEach(function(t){t.length>1&&(t[0].test(n)&&(i=t[1]))}),(0,f.stripHtmlTags)(i)}return e.config.labelMapping[n]?(0,f.stripHtmlTags)(String(e.config.labelMapping[n])):(0,f.stripHtmlTags)(n)}function y(t){t.config.labelMappingDimension||(2!==t.data()[0].length||(0,l.default)(t.data()[1][0])?t.config.labelMappingDimension="column":t.config.labelMappingDimension="row"),"row"!==t.config.labelMappingDimension&&"both"!==t.config.labelMappingDimension||t.dataset.updateColumn(0,function(e){return b({datavizInstance:t,value:e})}.bind(t)),"column"!==t.config.labelMappingDimension&&"both"!==t.config.labelMappingDimension||t.dataset.updateRow(0,function(e){return b({datavizInstance:t,value:e})}.bind(t))}function L(t){t.config.sortGroups&&t.data().length>1&&((0,l.default)(t.data()[1][0])?t.dataset.sortColumns(t.config.sortGroups,t.dataset.getColumnSum):t.dataset.sortRows(t.config.sortGroups,t.dataset.getRowSum))}function A(t){t.config.sortIntervals&&t.dataset.sortRows(t.config.sortIntervals)}function v(t){return{areachart:"area",barchart:"horizontal-bar",columnchart:"bar",linechart:"line",piechart:"pie"}[t]||t}function z(t){"undefined"==typeof document&&"undefined"!=typeof window?(null==document.readyState&&document.addEventListener&&(document.addEventListener("DOMContentLoaded",function t(){document.removeEventListener("DOMContentLoaded",t,!1),document.readyState="complete"},!1),document.readyState="loading"),function t(e){/in/.test(document.readyState)?setTimeout(function(){t(e)},9):e()}(t)):t()}m.libraries={default:{}},"undefined"!=typeof window&&(m.libraries.default=(0,h.default)(m)),m.visuals=[],m.register=function(t,e){m.libraries[t]=m.libraries[t]||{},(0,d.each)(e,function(e,n){m.libraries[t][n]=e})},m.find=function(t){if(!arguments.length)return m.visuals;var e=t.nodeName?t:document.querySelector(t),n=null;return(0,d.each)(m.visuals,function(t){if(e==t.config.container)return n=t,!1}),n},m.prototype.attributes=function(t){if(this.config.showDeprecationWarnings&&console.log(".attributes() is deprecated. Use: new KeenDataviz({ _your_value_here_ })"),!arguments.length)return this.config;var e=this.config;return(0,d.each)(t,function(t,n){"chartType"===n&&(n="type"),e[n]=t}),this},m.prototype.call=function(t){return t.call(this),this},m.prototype.chartOptions=function(t){return this.config.showDeprecationWarnings&&console.log(".chartOptions() is deprecated. Use: new KeenDataviz({ _your_value_here_ })"),arguments.length?(this.config=(0,p.extendDeep)(this.config,t),this):this.config},m.prototype.colors=function(t){return this.config.showDeprecationWarnings&&console.log(".colors() is deprecated. Use: new KeenDataviz({ colors: _your_value_here_ })"),arguments.length?(this.config.colors=t instanceof Array?t:[],this):this.config.colors},m.prototype.colorMapping=function(t){this.config.showDeprecationWarnings&&console.log(".colorMapping() is deprecated. Use: new KeenDataviz({ colorMapping: _your_value_here_ })");var e=this;return arguments.length?(null===t?this.config.colorMapping={}:"object"===(void 0===t?"undefined":i(t))&&(0,d.each)(t,function(t,n){e.config.colorMapping[n]=t||null}),this):this.config.colorMapping},m.prototype.data=u.default,m.prototype.dateFormat=function(t){return this.config.showDeprecationWarnings&&console.log(".dateFormat() is deprecated. Use: new KeenDataviz({ dateFormat: _your_value_here_ })"),arguments.length?(this.config.dateFormat="string"==typeof t||"function"==typeof t?t:void 0,this):this.config.dateFormat},m.prototype.destroy=function(){var t=this.library(),e=this.config.type,n=this.el();return m.libraries[t]&&m.libraries[t][e]&&m.libraries[t][e].destroy.call(this),n&&(n.innerHTML=""),this.view._prepared=!1,this.view._rendered=!1,this.view._artifacts={},this},m.prototype.el=function(t){var e=this;return arguments.length?(z(function(){t&&null!==t?t.nodeName?e.config.containerElement=t:document.querySelector&&(e.config.containerElement=document.querySelector(t)):e.config.containerElement=void 0}),this):this.config.containerElement},m.prototype.height=function(t){return this.config.showDeprecationWarnings&&console.log(".height() is deprecated - use CSS classes"),this},m.prototype.indexBy=function(t){return this.config.showDeprecationWarnings&&console.log(".indexBy() is deprecated. Use: new KeenDataviz({ indexBy: _your_value_here_ })"),arguments.length?(this.config.indexBy=t?String(t):"timeframe.start",this):this.config.indexBy},m.prototype.labels=function(t){return this.config.showDeprecationWarnings&&console.log(".labels() is deprecated. Use: new KeenDataviz({ labels: _your_value_here_ })"),arguments.length?(this.config.labels=t instanceof Array?t:[],g(this),this):this.config.labels},m.prototype.labelMapping=function(t){return this.config.showDeprecationWarnings&&console.log(".labelMapping() is deprecated. Use: new KeenDataviz({ labelMapping: _your_value_here_ })"),arguments.length?(null===t?this.config.labelMapping={}:"object"===(void 0===t?"undefined":i(t))&&(0,d.each)(t,function(t,e){this.config.labelMapping[e]=t||null}.bind(this)),y(this),this):this.config.labelMapping},m.prototype.library=function(t){return arguments.length?(this.config.library=t?String(t):null,this):this.config.library},m.prototype.message=function(){if(this.view._rendered&&this.destroy(),this.el()){this.el().innerHTML="";var t=m.libraries.default.message;t.render&&t.render.apply(this,arguments)}return this},m.prototype.notes=function(t){return this.config.showDeprecationWarnings&&console.log(".notes() is deprecated. Use: new KeenDataviz({ notes: _your_value_here_ })"),arguments.length?(this.config.notes=t?String(t):null,this):this.config.notes},m.prototype.prepare=function(){var t=this;if(!this.el())throw this.config.container+" not found. A DOM parent element is required to mount the chart.";return z(function(){if(t.view._rendered&&t.destroy(),t.el()){t.el().innerHTML="";var e=m.libraries.default.spinner;e.render&&e.render.call(t),t.view._prepared=!0}}),this},m.prototype.render=function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:void 0,n=this;if(e){var i=e[0]||e;if(i.query&&i.query.interval&&i.query.timeframe&&"string"===i.query.timeframe&&i.query.timeframe.indexOf("this_")>-1&&this.config.partialIntervalIndicator&&void 0===this.config.partialIntervalIndicator.show&&(this.config.partialIntervalIndicator.show=!0),Array.isArray(e)){var r=e.map(function(t){return t.query.timeframe});return r.forEach(function(t){if(r.find(function(e){return JSON.stringify(e)!==JSON.stringify(t)})){var e="Timeframes of the queries should be the same";throw console.error(e),e}}),n.data(e[0]).call(function(){var i=function(t){return t.query.event_collection+" "+t.query.analysis_type},r=i(e[0]);n.config.labelMapping[r]&&(r=n.config.labelMapping[r]),t.dataset.deleteColumn(1);var o=!0,s=!1,c=void 0;try{for(var u,d=e[Symbol.iterator]();!(o=(u=d.next()).done);o=!0){var l=u.value;r=i(l);var f=a.Dataset.parser("interval")(l);n.dataset.appendColumn(r,f.selectColumn(1).slice(1))}}catch(t){s=!0,c=t}finally{try{!o&&d.return&&d.return()}finally{if(s)throw c}}}).render()}return n.data(e).render()}(this.config.labelMapping&&Object.keys(this.config.labelMapping).length>0||this.config.labelMappingRegExp&&this.config.labelMappingRegExp.length>0)&&y(n),this.config.labels&&Object.keys(this.config.labels).length>0&&g(n),this.config.sortGroups&&L(n),this.config.sortIntervals&&A(n);var o=m.libraries.default.spinner,s=this.config.library,c=this.config.type,u=this.el();if(!u||void 0===u){var d=this.config.container+" not found. A DOM parent element is required to mount the chart.";throw console.error(d),d}var l=n;return n.config.renderAsPromise&&(l=new Promise(function(e,i){var r=t.config.onrendered;n.config.onrendered=function(){r&&r(),e(n)}})),z(function(){if(n.view._prepared&&o.destroy&&o.destroy.apply(n,arguments),u.innerHTML="","undefined"===m.libraries[s]){var t="Incorrect library";throw n.message(t),t}if(void 0===m.libraries[s][c]){var e="Incorrect chart type",i=this.config.errorMapping[e]||e;throw n.message(i),e}if(function(t,e){var n="",i="";"top"!==e.legend.position&&"bottom"!==e.legend.position||(i="c3-chart-100-percent");var r='
',a="horizontal";"left"!==e.legend.position&&"right"!==e.legend.position||(a="vertical");e.legend&&e.legend.show&&(r="top"===e.legend.position||"left"===e.legend.position?'
'+r:r+'
');n+='
',e.title&&e.showTitle&&(n+='
'+e.title+"
");n+='
'+r+"
",e.notes&&(n+='
'+e.notes+"
");n+="
",t.innerHTML=n}(u,n.config),n.config.renderOnVisible&&"undefined"!=typeof IntersectionObserver){new IntersectionObserver(function(t,e){t.forEach(function(t){t.isIntersecting&&(n.view._rendered||(m.libraries[s][c].render.call(n),n.view._rendered=!0))})}).observe(u)}else{if("hidden"===n.config.firstVisibilityState&&"undefined"!=typeof document){var r=void 0,a=void 0;void 0!==document.hidden?(r="hidden",a="visibilitychange"):void 0!==document.msHidden?(r="msHidden",a="msvisibilitychange"):void 0!==document.webkitHidden&&(r="webkitHidden",a="webkitvisibilitychange");void 0===document.addEventListener&&void 0===r||document.addEventListener(a,function(){document[r]||n.view._artifacts.c3.load(n.dataset.matrix)},{once:!0})}m.libraries[s][c].render.call(n),n.view._rendered=!0}}),l},m.prototype.sortGroups=function(t){return this.config.showDeprecationWarnings&&console.log(".sortGroups() is deprecated. Use: new KeenDataviz({ sortGroups: _your_value_here_ })"),arguments.length?(this.config.sortGroups=t?String(t):null,L(this),this):this.config.sortGroups},m.prototype.sortIntervals=function(t){return this.config.showDeprecationWarnings&&console.log(".sortIntervals() is deprecated. Use: new KeenDataviz({ sortIntervals: _your_value_here_ })"),arguments.length?(this.config.sortIntervals=t?String(t):null,A(this),this):this.config.sortIntervals},m.prototype.stacked=function(t){return this.config.showDeprecationWarnings&&console.log(".stacked() is deprecated. Use: new KeenDataviz({ stacked: _your_value_here_ })"),arguments.length?(this.config.stacked=!!t,this):this.config.stacked},m.prototype.theme=function(t){return this.config.showDeprecationWarnings&&console.log(".theme() is deprecated. Use: new KeenDataviz({ theme: _your_value_here_ })"),arguments.length?(this.config.theme=t?String(t):null,this):this.config.theme},m.prototype.title=function(t){return this.config.showDeprecationWarnings&&console.log(".title() is deprecated. Use: new KeenDataviz({ title: _your_value_here_ })"),arguments.length?(this.config.title=t?String(t):null,this):this.config.title},m.prototype.type=function(t){return this.config.showDeprecationWarnings&&console.log(".type() is deprecated. Use: new KeenDataviz({ type: _your_value_here_ })"),arguments.length?(this.config.type=t?v(t):null,this):this.config.type},m.prototype.update=function(){var t=this.config.library,e=this.config.type,n=this.el();return t&&e&&n&&m.libraries[t][e].update&&m.libraries[t][e].update.apply(this,arguments),this},m.prototype.width=function(t){return this.config.showDeprecationWarnings&&console.log(".width() is deprecated - use CSS classes"),this},m.prototype.chartType=m.prototype.type,m.prototype.error=m.prototype.message,m.prototype.parseRawData=m.prototype.data,m.prototype.parseRequest=function(){return this},m.prototype.initialize=function(){return this},m.version=c.default.version,e.default=m},function(t,e){var n;n=function(){return this}();try{n=n||Function("return this")()||(0,eval)("this")}catch(t){"object"==typeof window&&(n=window)}t.exports=n},function(t,e,n){"use strict";(function(t){Object.defineProperty(e,"__esModule",{value:!0}),e.Dataset=e.Dataviz=e.keenGlobals=e.extendKeenGlobalObject=void 0;var i=n(161);Object.defineProperty(e,"Dataviz",{enumerable:!0,get:function(){return i.Dataviz}}),Object.defineProperty(e,"Dataset",{enumerable:!0,get:function(){return i.Dataset}});var r=void 0!==t?t:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{};(e.extendKeenGlobalObject=function(t){t.KeenDataviz=i.Dataviz,t.KeenDataset=i.Dataset,t.Keen=t.Keen||{},t.Keen.Dataset=i.Dataset,t.Keen.Dataviz=i.Dataviz})(r);e.keenGlobals=void 0;"undefined"!=typeof webpackKeenGlobals&&(e.keenGlobals=webpackKeenGlobals),e.default=i.Dataviz}).call(this,n(162))}])}); +!function(o,s){"use strict";"object"==typeof t&&t.exports?t.exports=s(n(0)):(r=[n(0)],void 0===(a="function"==typeof(i=s)?i.apply(e,r):i)||(t.exports=a))}(0,function(t){"use strict";var e,n={},i={},r={},a={};t&&"string"==typeof t.version||T("Moment Timezone requires Moment.js. See https://momentjs.com/timezone/docs/#/use-it/browser/");var o=t.version.split("."),s=+o[0],c=+o[1];function u(t){return t>96?t-87:t>64?t-29:t-48}function d(t){var e=0,n=t.split("."),i=n[0],r=n[1]||"",a=1,o=0,s=1;for(45===t.charCodeAt(0)&&(e=1,s=-1);e3){var e=r[A(t)];if(e)return e;T("Moment Timezone found "+t+" from the Intl api, but did not have that data loaded.")}}catch(t){}var n,i,a,o=function(){var t,e,n,i=(new Date).getFullYear()-2,r=new _(new Date(i,0,1)),a=[r];for(n=1;n<48;n++)(e=new _(new Date(i,n,1))).offset!==r.offset&&(t=m(r,e),a.push(t),a.push(new _(new Date(t.at+6e4)))),r=e;for(n=0;n<4;n++)a.push(new _(new Date(i+n,0,1))),a.push(new _(new Date(i+n,6,1)));return a}(),s=o.length,c=y(o),u=[];for(i=0;i0?u[0].zone.name:void 0}function A(t){return(t||"").toLowerCase().replace(/\//g,"_")}function v(t){var e,i,a,o;for("string"==typeof t&&(t=[t]),e=0;e= 2.6.0. You are using Moment.js "+t.version+". See momentjs.com"),p.prototype={_set:function(t){this.name=t.name,this.abbrs=t.abbrs,this.untils=t.untils,this.offsets=t.offsets,this.population=t.population},_index:function(t){var e,n=+t,i=this.untils;for(e=0;ei&&S.moveInvalidForward&&(e=i),a= 2.9.0. You are using Moment.js "+t.version+"."),t.defaultZone=e?x(e):null,t};var D=t.momentProperties;return"[object Array]"===Object.prototype.toString.call(D)?(D.push("_z"),D.push("_a")):D&&(D._z=null),t})},function(t,e,n){(t.exports=n(146)).tz.load(n(143))},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i,r=function(){return function(t,e){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return function(t,e){var n=[],i=!0,r=!1,a=void 0;try{for(var o,s=t[Symbol.iterator]();!(i=(o=s.next()).done)&&(n.push(o.value),!e||n.length!==e);i=!0);}catch(t){r=!0,a=t}finally{try{!i&&s.return&&s.return()}finally{if(r)throw a}}return n}(t,e);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),a=Object.assign||function(t){for(var e=1;e';var x=!0,z=!1,w=void 0;try{for(var T,S=v.entries()[Symbol.iterator]();!(x=(T=S.next()).done);x=!0){var O=T.value,Y=r(O,2),k=Y[0],D=Y[1];if(t.config.timezone&&D instanceof Date){n+=""+s.default.tz(D,"UTC").clone().tz(t.config.timezone).toString()+""}else{var N=(0,c.escapeHtml)(D);_[k]?n+=""+M[_[k]](N)+"":n+=""+N+""}}}catch(t){z=!0,w=t}finally{try{!x&&S.return&&S.return()}finally{if(z)throw w}}n+=""}}catch(t){b=!0,y=t}finally{try{!g&&A.return&&A.return()}finally{if(b)throw y}}if(l>1){n+='';var q=1,W=1===u?1:u-1,P=u===l?l:u+1;for(o.arrows&&(n+='<');q<=l;)n+=''+q+"",q++;o.arrows&&(n+='>'),n+=""}return n}e.default={render:function(){var t=this,e=this.dataset.matrix,n=this.el(),i=this.config.theme,r=this,a="";if(1===e.length&&0===e[0].length){var o="No data to display",s=this.config.errorMapping[o]||o;this.config.showErrorMessages&&this.message(s)}else{a+='
',a+='',a+="",a+="",a+=function(t,e){var n="",i=-1,r=t.config.table&&t.config.table.columns||e[0],a=!0,o=!1,s=void 0;try{for(var u,d=r[Symbol.iterator]();!(a=(u=d.next()).done);a=!0){var l=u.value,f=(0,c.escapeHtml)(l);n+='"}}catch(t){o=!0,s=t}finally{try{!a&&d.return&&d.return()}finally{if(o)throw s}}return n}(r,e),a+="",a+="",a+="",a+=d(r,e),a+="",a+="
'+f+"
",a+="
",n.querySelector("."+i+"-rendering").innerHTML=a,n.querySelectorAll("."+i+"-rendering th").forEach(function(a){a.addEventListener("click",function(a){var o=a.target.getAttribute("order")||"asc",s=a.target.getAttribute("fieldNumber");o="asc"===o?"desc":"asc",a.target.setAttribute("order",o);var c=t.dataset.matrix.shift();t.dataset.matrix.sort(function(t,e){var n="asc"===o?1:-1;if("string"==typeof t[s]){var i=t[s].toUpperCase(),r=e[s].toUpperCase();return ir?1*n:0}return(t[s]-e[s])*n}),t.dataset.matrix.unshift(c),n.querySelector("."+i+"-rendering tbody").innerHTML=d(r,e),l()})});var l=function t(){n.querySelectorAll(".btn").forEach(function(a){a.addEventListener("click",function(a){u=parseInt(a.target.getAttribute("data-page")),n.querySelector("."+i+"-rendering tbody").innerHTML=d(r,e),t()},!0)})};l(r,n,i),this.config.onrendered&&this.config.onrendered()}},update:function(){this.render()},destroy:function(){}}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(3),r=n(4);e.default={render:function(){this.config.colors[0];var t=this.config.theme,e=this.config.title,n=this.config,a="-",o="",s="",c="",u=void 0,d="",l="",f="",h="",p=this.config,_=p.results,M=p.previousResults;_&&M&&(d=M?" metric-comparison":"",h=M&&e?"-smaller":"",f=(l=_.result-M.result)>0?"-green":"-red",l=Math.abs(l)),"number"==typeof this.data()[1][1]&&(a=this.data()[1][1]),u=a,void 0!==n.prettyNumber&&!0!==n.prettyNumber||isNaN(parseInt(a))||(u=(0,i.prettyNumber)(a),_&&M&&(l=(0,i.prettyNumber)(l))),n.prefix&&(s=''+n.prefix+""),n.suffix&&(c=''+n.suffix+""),o+='
',o+='
',_&&M&&(o+='
'+(0,r.escapeHtml)(l)+"
"),o+='
'+s+(0,r.escapeHtml)(u)+c+"
",e&&(o+='
'+(0,r.escapeHtml)(e)+"
"),o+="
",o+="
",this.el().innerHTML=o,this.config.onrendered&&this.config.onrendered()},update:function(){this.render()},destroy:function(){}}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(4);e.default={render:function(t){var e=document.createElement("div"),n=document.createElement("div"),r=document.createElement("span"),a=document.createElement("div"),o=document.createElement("div");e.className=this.config.theme+" keen-dataviz-box",n.className=this.config.theme+"-message",a.className=this.config.theme+"-title",a.innerHTML=(0,i.escapeHtml)(this.config.title||""),o.className=this.config.theme+"-notes",o.innerHTML=(0,i.escapeHtml)(this.config.notes||""),r.innerHTML=(0,i.escapeHtml)(t)||"",n.appendChild(r),this.config.title&&this.config.showTitle&&e.appendChild(a),e.appendChild(n),this.config.notes&&e.appendChild(o),this.el().innerHTML="",this.el().appendChild(e)},update:function(){this.render()},destroy:function(){}}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(t,e,n,r){for(var a=void 0,o=void 0,s=this.config.tooltip_format_name||function(t){return t},c=this.config.tooltip_format_title||e,u=this.config.tooltip_format_value||n,d=0;d"+(o||0===o?""+(0,i.escapeHtml)(o)+"":""));var l=s(t[d].name),f=u(t[d].value,t[d].ratio,t[d].id,t[d].index),h=this.levelColor?this.levelColor(t[d].value):r(t[d].id);f&&(a+="",-1===l.indexOf("__tooltip_ignore_name_field__")&&(a+=""+(0,i.escapeHtml)(l)+""),a+=""+(0,i.escapeHtml)(f)+"",a+="")}return a+""};var i=n(4)},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=Object.assign||function(t){for(var e=1;e"+n+"",i.chartPartId=e,i.setAttribute("class","legend-item"),_.append(i);var a=document.createElement("span");a.setAttribute("class","legend-item-color-sample"),a.style.backgroundColor=r.color(i.chartPartId),i.prepend(a);var o=document.createElement("div");i.addEventListener("mouseover",function(e){r.focus(i.chartPartId),c.tooltip.show&&i.chartPartId.length>c.label.textMaxLength&&(o.setAttribute("class","keen-c3-legend-label-overlay keen-c3-legend-position-"+c.position),o.innerHTML=(t.legend.tooltip.pointer?"
":"")+i.chartPartId,i.append(o))}),i.addEventListener("mouseout",function(t){r.revert(),o.remove()}),i.addEventListener("click",function(t){var e=1,n=u.hidden.indexOf(i.chartPartId);n<0?(u.hidden.push(i.chartPartId),e=.35):(u.hidden.splice(n,1),e=1),i.style.opacity=e,r.toggle(i.chartPartId)})}),t.onLegendRendered&&(t.onLegendRendered(),t.onLegendRendered=null)}.call(n,u.labels),u.total>u.limit&&function(){M.innerHTML="",p.innerHTML="",m.innerHTML="";var t=document.createElement("i"),e=document.createElement("i"),n=function(t){if("forward"===t){var e=u.offset+u.limit;return e=0?n:Math.floor(u.total/u.limit)*u.limit};e.addEventListener("click",function(){n("forward"),g(),b()}),t.addEventListener("click",function(){n("backward"),g(),b()}),"left"===c.position||"right"===c.position?(t.setAttribute("class","up"),e.setAttribute("class","down"),M.append(e),M.append(t)):(t.setAttribute("class","left"),e.setAttribute("class","right"),p.append(t),m.append(e))}.call(n),t.onPaginated&&t.onPaginated()}function b(){document.selection&&document.selection.empty?document.selection.empty():window.getSelection&&window.getSelection().removeAllRanges()}m.setAttribute("class","keen-c3-legend-pagination-icons keen-c3-legend-horizontal-pagination-right"),"horizontal"===h&&f.append(m),g()};!function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);e.default=t}(n(2));var r,a=n(7),o=(r=a)&&r.__esModule?r:{default:r}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(t,e){var n=Math.abs(new Date(t).getTime()-new Date(e).getTime()),i=["Jan","Feb","Mar","Apr","May","June","July","Aug","Sept","Oct","Nov","Dec"];return n>=24192e5?function(t){var e=new Date(t);return i[e.getMonth()]+" "+e.getFullYear()}:n>=864e5?function(t){var e=new Date(t);return i[e.getMonth()]+" "+e.getDate()}:n>=36e5?"%I:%M %p":"%I:%M:%S %p"}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=Object.assign||function(t){for(var e=1;e12?1e3:250;e=setTimeout(function(){(0,a.each)(t.visuals,function(t){t.view._artifacts.c3&&t.view._artifacts.c3.resize()})},n)}),r.default.chart&&r.default.chart.internal&&r.default.chart.internal.fn&&(r.default.chart.internal.fn.horizontalDistance=function(t,e){var n=this.config.axis_rotated?1:0,i=this.x(t.x);return Math.abs(i-e[n])},r.default.chart.internal.fn.findClosest=function(t,e){var n,i=r.default.chart.internal.fn.CLASS,a=this,o=a.config.point_sensitivity;o=1/0;return t.filter(function(t){return t&&a.isBarType(t.id)}).forEach(function(t){var e=a.main.select("."+i.bars+a.getTargetSelectorSuffix(t.id)+" ."+i.bar+"-"+t.index).node();!n&&a.isWithinBar(a.d3.mouse(e),e)&&(n=t)}),t.filter(function(t){return t&&!a.isBarType(t.id)}).forEach(function(t){var i=a.dist(t,e);(i=a.horizontalDistance(t,e))0?r:void 0}};return(0,o.extendDeep)({},u,this.config,t)}.call(this);if(this.config.clearOnRender&&l.data.columns.length>0&&l.data.columns.splice(1),1!==this.data()[0].length&&1!==this.data().length){var f=!1;if("gauge"===n?(l.legend.show=!1,l.data.columns=[[this.config.title||this.data()[1][0],this.data()[1][1]]],f=!0):"pie"===n||"donut"===n?l.data.columns=this.data().slice(1):(n.indexOf("horizontal-")>-1&&(l.axis.rotated=n.indexOf("horizontal-")>-1),(0,s.default)(this.data()[1][0])?(l.axis.x=l.axis.x||{},l.axis.x.type="timeseries",l.axis.x.tick=l.axis.x.tick||{format:this.config.dateFormat||(0,c.default)(this.data()[1][0],this.data()[2]?this.data()[2][0]:this.data()[1][0]),culling:{max:5}},l.data.columns[0]=[],(0,a.each)(this.dataset.selectColumn(0),function(t,e){e>0&&(t=new Date(t)),l.data.columns[0][e]=t}),l.data.columns[0][0]="x",l.data.x="x",this.config.stacked&&this.data()[0].length>2&&(l.data.groups=[this.dataset.selectRow(0).slice(1)])):(l.axis.x=l.axis.x||{},l.axis.x.type="category",l.axis.x.categories=this.dataset.selectColumn(0).slice(1),this.config.stacked&&this.data()[0].length>2&&(l.data.groups=[this.dataset.selectRow(0).slice(1)])),2===this.data()[0].length&&(l.legend.show=!1,f=!0),(0,a.each)(this.data()[0],function(t,e){e>0&&l.data.columns.push(this.dataset.selectColumn(e))}.bind(this))),f){var h=this.el().querySelector(".keen-c3-legend");h&&(h.remove(),l.size.width=this.el().querySelector(".c3-chart").offsetWidth),l.legend.show=!1}if(l.partialIntervalIndicator&&l.partialIntervalIndicator.show&&["area","area-spline","area-step","line","spline","step"].indexOf(l.type)>-1){var p=l.data.columns&&l.data.columns[0];if(p&&p.length>1){var _={axis:"x",start:new Date(p[p.length-2]),class:l.partialIntervalIndicator.className};l.regions=[].concat(function(t){if(Array.isArray(t)){for(var e=0,n=Array(t.length);e-1?t:void 0}.call(t,e,n,i,r);return t.config.tooltip&&t.config.tooltip.format&&t.config.tooltip.format.value&&(a=t.config.tooltip.format.value.call(t,a,n,i,r)),a}}}),!0===l.legend.show){var M=i({},l);M.data.color=function(t,e){var n=this.config.type;if(this.view._artifacts.pagination&&"gauge"!==n){var i=this.view._artifacts.pagination.labels;return e.id&&i.indexOf(e.id)>-1||e&&!e.id&&i.indexOf(e)>-1?t:"donut"===n||"pie"===n?"rgba(0,0,0,.1)":"rgba(0,0,0,.07)"}return t}.bind(this),M.legend.hide=!0,this.view._artifacts.c3=r.default.generate(M),u.default.call(this,i({},l,{onLegendRendered:function(){var n=t.el().querySelector(".keen-c3-legend");n&&("top"===l.legend.position||"bottom"===l.legend.position?(M.size.height-=n.offsetHeight,t.view._artifacts.c3.resize({height:M.size.height})):(0===M.size.width&&(M.size.width=t.el().offsetWidth-e(t.el(),"Left")-e(t.el(),"Right")),M.size.width-=n.offsetWidth,t.view._artifacts.c3.resize({width:M.size.width})))},onPaginated:function(){t.view._artifacts.c3.flush()}}))}else this.view._artifacts.c3=r.default.generate(l)}else{var m="No data to display",g=this.config.errorMapping[m]||m;this.config.showErrorMessages&&this.message(g)}},update:function(){this.render()},destroy:function(){this.view._artifacts.c3&&(this.view._artifacts.c3.destroy(),this.view._artifacts.c3=null)}}}),t}()};var r=b(n(135)),a=n(1),o=(n(6),n(134)),s=b(n(7)),c=b(n(153)),u=b(n(152)),d=b(n(151)),l=b(n(150)),f=b(n(149)),h=b(n(148)),p=b(n(142)),_=b(n(141)),M=b(n(140)),m=b(n(139)),g=b(n(138));function b(t){return t&&t.__esModule?t:{default:t}}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(t){return arguments.length?t instanceof a.default?(this.dataset=t,this):function(t){var e,n,i,r,c,u,d,l,f=[];n=this.config.indexBy,i=t.metadata||{},c=void 0!==t.query?t.query:{},"funnel"===(c=(0,o.extend)({analysis_type:null,event_collection:null,filters:[],group_by:null,interval:null,timeframe:null,timezone:null},c)).analysis_type?r="funnel":"extraction"===c.analysis_type?r="extraction":"select_unique"===c.analysis_type?c.group_by||c.interval||(r="list"):c.analysis_type&&(c.group_by||c.interval?c.group_by&&!c.interval?c.group_by instanceof Array&&c.group_by.length>1?(r="double-grouped-metric",f.push(c.group_by)):r="grouped-metric":c.interval&&!c.group_by?(r="interval",f.push(n)):c.group_by&&c.interval&&(c.group_by instanceof Array&&c.group_by.length>1?(r="double-grouped-interval",f.push(c.group_by),f.push(n)):(r="grouped-interval",f.push(n))):r="metric");r||("number"==typeof t.result&&(r="metric"),t.result instanceof Array&&t.result.length>0&&(!t.result[0].timeframe||"number"!=typeof t.result[0].value&&null!=t.result[0].value||(r="interval",f.push(n)),"number"==typeof t.result[0].result&&(r="grouped-metric"),t.result[0].value instanceof Array&&(r="grouped-interval",f.push(n)),"number"==typeof t.result[0]&&void 0!==t.steps&&(r="funnel",c.steps=t.steps),"string"!=typeof t.result[0]&&"number"!=typeof t.result[0]||void 0!==t.steps||(r="list"),r||(r="extraction")),r||(r="extraction"));void 0===this.config.title&&(d=i.display_name?i.display_name:function(t){var e,n=t.analysis_type?t.analysis_type.replace("_"," "):"";e=n.replace(/\b./g,function(t){return t.toUpperCase()}),t.event_collection&&(e+=" - "+t.event_collection);return e}(c),this.config.title=d);this.config.type||(l=i.visualization&&i.visualization.chart_type?i.visualization.chart_type:function(t){var e=void 0;switch(t){case"metric":e="metric";break;case"interval":e="area";break;case"grouped-metric":case"double-grouped-metric":e="bar";break;case"grouped-interval":case"double-grouped-interval":e="line";break;case"funnel":e="horizontal-bar";break;case"list":case"extraction":default:e="table"}return e}(r),this.config.type=l);u=a.default.parser.apply(this,[r].concat(f)),e=u((0,o.extend)(t,{query:c})),r.indexOf("interval")>-1&&e.updateColumn(0,function(t,e){return new Date(t)});return e.updateRow(0,function(t,e){return(0,s.stripHtmlTags)(t)}),this.dataset=e,this}.call(this,t):this.dataset.data()};var i,r=n(137),a=(i=r)&&i.__esModule?i:{default:i},o=n(6),s=n(8)},function(t){t.exports={name:"keen-dataviz",description:"Data Visualization SDK for Keen IO",license:"MIT",version:"3.3.0",main:"dist/external_d3_c3/node/keen-dataviz.js",browser:"dist/external_d3_c3/keen-dataviz.js",style:"dist/keen-dataviz.css",scripts:{start:'concurrently --kill-others "NODE_ENV=development webpack-dev-server" "npm run postcss-watch"',"postcss-watch":"node_modules/postcss-cli/bin/postcss lib/style/keen-dataviz-c3.css -o test/demo/keen-dataviz.css --watch --config postcss.config.js",build:"NODE_ENV=production webpack -p && npm run build:css && NODE_ENV=production OPTIMIZE_MINIMIZE=1 webpack -p && npm run build:css && npm run build:css:min && npm run build:external_d3_c3 && npm run build:external_d3_c3:css && npm run build:external_d3_c3:css:min && npm run build:node","build:css":"node_modules/postcss-cli/bin/postcss lib/style/keen-dataviz-c3.css -o dist/keen-dataviz.css --config postcss.config.js","build:css:min":"OPTIMIZE_MINIMIZE=1 node_modules/postcss-cli/bin/postcss lib/style/keen-dataviz-c3.css -o dist/keen-dataviz.min.css --config postcss.config.js","build:external_d3_c3:css":"node_modules/postcss-cli/bin/postcss lib/style/keen-dataviz.css -o dist/external_d3_c3/keen-dataviz.css --config postcss.config.js","build:external_d3_c3:css:min":"OPTIMIZE_MINIMIZE=1 node_modules/postcss-cli/bin/postcss lib/style/keen-dataviz.css -o dist/external_d3_c3/keen-dataviz.min.css --config postcss.config.js","build:external_d3_c3":"NODE_ENV=production EXTERNAL_D3_C3=1 webpack -p && NODE_ENV=production EXTERNAL_D3_C3=1 OPTIMIZE_MINIMIZE=1 webpack -p","build:node":"TARGET=node NODE_ENV=production EXTERNAL_D3_C3=1 webpack -p",profile:"webpack --profile --json > stats.json",analyze:"webpack-bundle-analyzer stats.json /dist",version:"npm run build && git add .",postversion:"git push && git push --tags",test:"NODE_ENV=test jest","test:watch":"NODE_ENV=test jest --watch"},repository:{type:"git",url:"https://github.com/keen/keen-dataviz.js.git"},bugs:"https://github.com/keen/keen-dataviz.js/issues",author:"Keen.IO (https://keen.io/)",contributors:["Dustin Larimer (https://github.com/dustinlarimer)","Joanne Cheng (https://github.com/joannecheng)","Eric Anderson (https://github.com/aroc)","Joe Wegner (https://github.com/josephwegner)","Sara Falkoff (https://github.com/adamkasprowicz)","Dariusz Łacheta (https://github.com/dariuszlacheta)"],homepage:"https://keen.io",keywords:["d3","c3","Analytics","Stats","Statistics","Visualization","Visualizations","Data Visualization","Chart","Charts","Charting","Svg","Dataviz","Plots","Graphs","Funnels"],dependencies:{c3:"^0.6.12",d3:"^5.4.0","moment-timezone":"^0.5.21","promise-polyfill":"^8.0.0"},devDependencies:{autoprefixer:"^8.2.0","babel-loader":"^7.1.4","babel-plugin-transform-es2015-modules-commonjs":"^6.26.2","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-preset-env":"^1.7.0",concurrently:"^3.5.1",cssnano:"^3.10.0",eslint:"^4.19.1","eslint-config-airbnb":"^16.1.0","eslint-loader":"^2.0.0","eslint-plugin-import":"^2.11.0","eslint-plugin-jsx-a11y":"^6.0.3","eslint-plugin-react":"^7.7.0","html-loader":"^0.5.5","html-webpack-plugin":"^3.2.0",jest:"^22.4.3","jest-environment-jsdom-c3":"^2.0.0",nock:"^9.2.6",postcss:"^6.0.21","postcss-cli":"^5.0.0","postcss-color-function":"^4.0.1","postcss-css-variables":"^0.8.1","postcss-cssnext":"^2.4.0","postcss-import":"^8.0.2","postcss-loader":"^2.1.3",precss:"^3.1.2","regenerator-runtime":"^0.11.1","replace-in-file":"^3.4.0","style-loader":"^0.20.3",webpack:"^4.5.0","webpack-bundle-analyzer":"^2.11.1","webpack-cli":"^2.0.13","webpack-dev-server":"^3.1.1","xhr-mock":"^2.3.2"}}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.valueAtDeepKey=function t(e,n,i){return"string"==typeof n?t(e,n.split("."),i):1==n.length&&void 0!==i&&null!==e&&void 0!==e[n[0]]?e[n[0]]=i:0==n.length?e:void 0===n||void 0===e||null===n||null===e||void 0===e[n[0]]?null:t(e[n[0]],n.slice(1),i)}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};e.flatten=function t(e){var n={};for(var r in e)if(e.hasOwnProperty(r))if("object"==i(e[r])&&null!==e[r]){var a=t(e[r]);for(var o in a)a.hasOwnProperty(o)&&(n[r+"."+o]=a[o])}else n[r]=e[r];return n}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(t){return o=t,function(t){var e=Array.prototype.slice.call(arguments,1);if(s[t])return s[t].apply(this,e);throw"Requested parser does not exist"}};var i=n(1),r=n(158),a=n(157),o=void 0;var s={metric:function(){return function(t){return(new o).set(["Value","Result"],t.result).type("metric")}},interval:function(){var t=Array.prototype.slice.call(arguments);return function(e){var n=(new o).type("interval");return(0,i.each)(e.result,function(e,i){var r=t[0]&&"timeframe.end"===t[0]?e.timeframe.end:e.timeframe.start;n.set(["Result",r],e.value)}),n}},"grouped-metric":function(){return function(t){var e=(new o).type("grouped-metric");return(0,i.each)(t.result,function(t,n){var r;(0,i.each)(t,function(t,e){"result"!==e&&(r=e)}),e.set(["Result",String(t[r])],t.result)}),e}},"grouped-interval":function(){var t=Array.prototype.slice.call(arguments);return function(e){var n=(new o).type("grouped-interval");return(0,i.each)(e.result,function(e,r){var a=t[0]&&"timeframe.end"===t[0]?e.timeframe.end:e.timeframe.start;e.value.length?(0,i.each)(e.value,function(t,e){var r;(0,i.each)(t,function(t,e){"result"!==e&&(r=e)}),n.set([String(t[r]),a],t.result)}):n.appendRow(a)}),n}},"double-grouped-metric":function(){var t=Array.prototype.slice.call(arguments);if(!t[0])throw"Requested parser requires a sequential list (array) of properties to target as a second argument";return function(e){var n=(new o).type("double-grouped-metric");return(0,i.each)(e.result,function(e,i){var r=e[t[0][0]]+" "+e[t[0][1]];n.set(["Result",r],e.result)}),n}},"double-grouped-interval":function(){var t=Array.prototype.slice.call(arguments);if(!t[0])throw"Requested parser requires a sequential list (array) of properties to target as a second argument";return function(e){var n=(new o).type("double-grouped-interval");return(0,i.each)(e.result,function(e,r){var a=t[1]&&"timeframe.end"===t[1]?e.timeframe.end:e.timeframe.start;(0,i.each)(e.value,function(e,i){var r=e[t[0][0]]+" "+e[t[0][1]];n.set([r,a],e.result)})}),n}},funnel:function(){return function(t){var e,n,r;return void 0!==t.steps&&void 0!==t.result&&t.result instanceof Array?(e=t.result,n=t.steps):void 0!==t.result.steps&&void 0!==t.result.result&&t.result.result instanceof Array&&(e=t.result.result,n=t.result.steps),(r=(new o).type("funnel")).appendColumn("Step Value"),(0,i.each)(e,function(t,e){void 0!==n&&n[e]&&r.appendRow(String(n[e].event_collection),[t])}),r}},list:function(){return function(t){var e=(new o).type("list");return(0,i.each)(t.result,function(t,n){e.set(["Result",String(n+1)],t)}),e}},extraction:function(){var t=this.config;return function(e){for(var n=(new o).type("extraction"),s=function(t){var a=e.result[t];(0,i.each)((0,r.flatten)(a),function(e,i){n.set([i,String(t+1)],e)})},c=0;c<1;c++)s(c);var u=Object.keys((0,r.flatten)(e.result[0]));for(o&&t&&t.table&&t.table.columns&&(u=t.table.columns),c=0;c-1&&("function"==typeof e?(0,r.each)(n.data(),function(t,r){var a;r>0&&void 0!==(a=e.call(n,t[i],r,t))&&(n.matrix[r][i]=a)}):(!e||e instanceof Array)&&((e=e||[]).length<=n.data().length-1?e=e.concat((0,o.default)(n.data().length-1-e.length)):(0,r.each)(e,function(t,i){n.matrix.length-1-1&&("function"==typeof e?(0,r.each)(n.data()[i],function(t,r){var a=n.selectColumn(r),o=e.call(n,t,r,a);void 0!==o&&(n.matrix[i][r]=o)}):(!e||e instanceof Array)&&((e=e||[]).length<=n.matrix[0].length-1?e=e.concat((0,o.default)(n.matrix[0].length-1-e.length)):(0,r.each)(e,function(t,i){n.matrix[0].length-1s.call(n,i);return r?"asc"===t?1:-1:r?0:"asc"===t?-1:1}),(0,r.each)(a,function(t,e){n.deleteColumn(e+1).insertColumn(e+1,t[0],t.slice(1))}),n},e.sortRows=function(t,e){var n=this,i=this.matrix.slice(0,1),r=this.matrix.slice(1),a=e||o.default.getRowIndex;return r.sort(function(e,i){var r=a.call(n,e)>a.call(n,i);return r?"asc"===t?1:-1:r?0:"asc"===t?-1:1}),n.data(i.concat(r)),n};var i,r=n(1),a=n(136),o=(i=a)&&i.__esModule?i:{default:i}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.selectColumn=function(t){var e=[],n="number"==typeof t?t:this.matrix[0].indexOf(t);n>-1&&void 0!==this.matrix[0][n]&&(0,i.each)(this.matrix,function(t,i){e.push(t[n])});return e},e.selectRow=function(t){var e=[],n="number"==typeof t?t:this.selectColumn(0).indexOf(t);n>-1&&void 0!==this.matrix[n]&&(e=this.matrix[n]);return e};var i=n(1)},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.insertColumn=function(t,e,n){var i=this,a=void 0!==e?e:null;"function"==typeof n?(i.matrix[0].splice(t,0,a),(0,r.each)(i.matrix,function(e,r){var a;r>0&&(void 0===(a=n.call(i,e,r))&&(a=null),i.matrix[r].splice(t,0,a))})):(!n||n instanceof Array)&&((n=n||[]).length<=i.matrix.length-1?n=n.concat((0,o.default)(i.matrix.length-1-n.length)):(0,r.each)(n,function(t,e){i.matrix.length-10&&(r=i.selectColumn(e),void 0===(o=n.call(i,r,e))&&(o=null),a.push(o))}),i.matrix.splice(t,0,a)):(!n||n instanceof Array)&&((n=n||[]).length<=i.matrix[0].length-1?n=n.concat((0,o.default)(i.matrix[0].length-1-n.length)):(0,r.each)(n,function(t,e){i.matrix[0].length-1-1&&(0,i.each)(e.matrix,function(t,i){e.matrix[i].splice(n,1)});return e},e.deleteRow=function(t){var e="number"==typeof t?t:this.selectColumn(0).indexOf(t);e>-1&&this.matrix.splice(e,1);return this};var i=n(1)},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Dataset=e.Dataviz=void 0;var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},r=Object.assign||function(t){for(var e=1;e0&&void 0!==arguments[0]?arguments[0]:{};if(this instanceof t==!1)return new t(n);this.c3=s.default,this.d3=o;var i=(M(e={showDeprecationWarnings:!0,showLoadingSpinner:!1,container:void 0,containerElement:void 0,title:void 0,showTitle:!0,notes:void 0,theme:"keen-dataviz",colors:["#00bbde","#fe6672","#eeb058","#8a8ad6","#ff855c","#00cfbb","#5a9eed","#73d483","#c879bb","#0099b6","#d74d58","#cb9141","#6b6bb6","#d86945","#00aa99","#4281c9","#57b566","#ac5c9e","#27cceb","#ff818b","#f6bf71","#9b9be1","#ff9b79","#26dfcd","#73aff4","#87e096","#d88bcb"],colorMapping:{},indexBy:"timeframe.start",labels:[],labelMapping:{},labelMappingRegExp:void 0,errorMapping:{},showErrorMessages:!0,library:"default",sortGroups:void 0,sortIntervals:void 0,results:void 0,type:void 0,stacked:!1,dateFormat:void 0,legend:{show:!0,position:"right",label:{textMaxLength:12},pagination:{offset:0,limit:5},tooltip:{show:!0,pointer:!0},sort:void 0},axis:{},color:{},data:{order:null},size:{},padding:{top:15},point:{focus:{expand:{enabled:!1}},r:2,show:!0},tooltip:{format:{}},transition:{}},"data",{selection:{enabled:!0,draggable:!0,multiple:!0}}),M(e,"grid",{y:{show:!0}}),M(e,"partialIntervalIndicator",{show:void 0,className:"partial-interval-indicator"}),M(e,"timezone","UTC"),M(e,"table",{}),M(e,"renderOnVisible",!1),M(e,"funnel",{lines:!0,resultValues:!0,percents:{show:!1,countingMethod:"absolute",decimals:0},marginBetweenElements:!1,hover:!0,effect3d:"both-sides"}),e);this.config=r({},(0,p.extendDeep)(i,n)),this.config.type&&(this.config.type=v(this.config.type)),this.config.container&&this.el(this.config.container),void 0===n.legend||n.legend||(this.config.legend=r({},n,{show:!1})),n.color&&n.color.pattern&&(this.config.colors=n.color.pattern),this.config.legend&&this.config.legend.tooltip&&!1===this.config.legend.tooltip.show&&void 0===this.config.tooltip.show&&(this.config.tooltip={show:!1}),n.color&&n.color.pattern&&(this.config.colors=n.color.pattern),this.dataset=new a.Dataset(this.config),this.view={_prepared:!1,_rendered:!1,_artifacts:{}},t.visuals.push(this),this.config.showLoadingSpinner&&this.prepare(),this.config.results&&this.render(this.config.results),this.config.firstVisibilityState=document.visibilityState};function g(t){2!==t.data()[0].length||(0,l.default)(t.data()[1][0])?t.dataset.updateRow(0,function(e,n){return n>0&&t.config.labels[n-1]?(0,f.stripHtmlTags)(String(t.config.labels[n-1])):(0,f.stripHtmlTags)(e)}.bind(t)):t.dataset.updateColumn(0,function(e,n){return t.config.labels[n-1]?(0,f.stripHtmlTags)(String(t.config.labels[n-1])):(0,f.stripHtmlTags)(e)}.bind(t))}function b(t){var e=t.datavizInstance,n=t.value;if(e.config.labelMappingRegExp){var i=n;return e.config.labelMappingRegExp.forEach(function(t){t.length>1&&(t[0].test(n)&&(i=t[1]))}),(0,f.stripHtmlTags)(i)}return e.config.labelMapping[n]?(0,f.stripHtmlTags)(String(e.config.labelMapping[n])):(0,f.stripHtmlTags)(n)}function y(t){t.config.labelMappingDimension||(2!==t.data()[0].length||(0,l.default)(t.data()[1][0])?t.config.labelMappingDimension="column":t.config.labelMappingDimension="row"),"row"!==t.config.labelMappingDimension&&"both"!==t.config.labelMappingDimension||t.dataset.updateColumn(0,function(e){return b({datavizInstance:t,value:e})}.bind(t)),"column"!==t.config.labelMappingDimension&&"both"!==t.config.labelMappingDimension||t.dataset.updateRow(0,function(e){return b({datavizInstance:t,value:e})}.bind(t))}function L(t){t.config.sortGroups&&t.data().length>1&&((0,l.default)(t.data()[1][0])?t.dataset.sortColumns(t.config.sortGroups,t.dataset.getColumnSum):t.dataset.sortRows(t.config.sortGroups,t.dataset.getRowSum))}function A(t){t.config.sortIntervals&&t.dataset.sortRows(t.config.sortIntervals)}function v(t){return{areachart:"area",barchart:"horizontal-bar",columnchart:"bar",linechart:"line",piechart:"pie"}[t]||t}function x(t){"undefined"==typeof document&&"undefined"!=typeof window?(null==document.readyState&&document.addEventListener&&(document.addEventListener("DOMContentLoaded",function t(){document.removeEventListener("DOMContentLoaded",t,!1),document.readyState="complete"},!1),document.readyState="loading"),function t(e){/in/.test(document.readyState)?setTimeout(function(){t(e)},9):e()}(t)):t()}m.libraries={default:{}},"undefined"!=typeof window&&(m.libraries.default=(0,h.default)(m)),m.visuals=[],m.register=function(t,e){m.libraries[t]=m.libraries[t]||{},(0,d.each)(e,function(e,n){m.libraries[t][n]=e})},m.find=function(t){if(!arguments.length)return m.visuals;var e=t.nodeName?t:document.querySelector(t),n=null;return(0,d.each)(m.visuals,function(t){if(e==t.config.container)return n=t,!1}),n},m.prototype.attributes=function(t){if(this.config.showDeprecationWarnings&&console.log(".attributes() is deprecated. Use: new KeenDataviz({ _your_value_here_ })"),!arguments.length)return this.config;var e=this.config;return(0,d.each)(t,function(t,n){"chartType"===n&&(n="type"),e[n]=t}),this},m.prototype.call=function(t){return t.call(this),this},m.prototype.chartOptions=function(t){return this.config.showDeprecationWarnings&&console.log(".chartOptions() is deprecated. Use: new KeenDataviz({ _your_value_here_ })"),arguments.length?(this.config=(0,p.extendDeep)(this.config,t),this):this.config},m.prototype.colors=function(t){return this.config.showDeprecationWarnings&&console.log(".colors() is deprecated. Use: new KeenDataviz({ colors: _your_value_here_ })"),arguments.length?(this.config.colors=t instanceof Array?t:[],this):this.config.colors},m.prototype.colorMapping=function(t){this.config.showDeprecationWarnings&&console.log(".colorMapping() is deprecated. Use: new KeenDataviz({ colorMapping: _your_value_here_ })");var e=this;return arguments.length?(null===t?this.config.colorMapping={}:"object"===(void 0===t?"undefined":i(t))&&(0,d.each)(t,function(t,n){e.config.colorMapping[n]=t||null}),this):this.config.colorMapping},m.prototype.data=u.default,m.prototype.dateFormat=function(t){return this.config.showDeprecationWarnings&&console.log(".dateFormat() is deprecated. Use: new KeenDataviz({ dateFormat: _your_value_here_ })"),arguments.length?(this.config.dateFormat="string"==typeof t||"function"==typeof t?t:void 0,this):this.config.dateFormat},m.prototype.destroy=function(){var t=this.library(),e=this.config.type,n=this.el();return m.libraries[t]&&m.libraries[t][e]&&m.libraries[t][e].destroy.call(this),n&&(n.innerHTML=""),this.view._prepared=!1,this.view._rendered=!1,this.view._artifacts={},this},m.prototype.el=function(t){var e=this;return arguments.length?(x(function(){t&&null!==t?t.nodeName?e.config.containerElement=t:document.querySelector&&(e.config.containerElement=document.querySelector(t)):e.config.containerElement=void 0}),this):this.config.containerElement},m.prototype.height=function(t){return this.config.showDeprecationWarnings&&console.log(".height() is deprecated - use CSS classes"),this},m.prototype.indexBy=function(t){return this.config.showDeprecationWarnings&&console.log(".indexBy() is deprecated. Use: new KeenDataviz({ indexBy: _your_value_here_ })"),arguments.length?(this.config.indexBy=t?String(t):"timeframe.start",this):this.config.indexBy},m.prototype.labels=function(t){return this.config.showDeprecationWarnings&&console.log(".labels() is deprecated. Use: new KeenDataviz({ labels: _your_value_here_ })"),arguments.length?(this.config.labels=t instanceof Array?t:[],g(this),this):this.config.labels},m.prototype.labelMapping=function(t){return this.config.showDeprecationWarnings&&console.log(".labelMapping() is deprecated. Use: new KeenDataviz({ labelMapping: _your_value_here_ })"),arguments.length?(null===t?this.config.labelMapping={}:"object"===(void 0===t?"undefined":i(t))&&(0,d.each)(t,function(t,e){this.config.labelMapping[e]=t||null}.bind(this)),y(this),this):this.config.labelMapping},m.prototype.library=function(t){return arguments.length?(this.config.library=t?String(t):null,this):this.config.library},m.prototype.message=function(){if(this.view._rendered&&this.destroy(),this.el()){this.el().innerHTML="";var t=m.libraries.default.message;t.render&&t.render.apply(this,arguments)}return this},m.prototype.notes=function(t){return this.config.showDeprecationWarnings&&console.log(".notes() is deprecated. Use: new KeenDataviz({ notes: _your_value_here_ })"),arguments.length?(this.config.notes=t?String(t):null,this):this.config.notes},m.prototype.prepare=function(){var t=this;if(!this.el())throw this.config.container+" not found. A DOM parent element is required to mount the chart.";return x(function(){if(t.view._rendered&&t.destroy(),t.el()){t.el().innerHTML="";var e=m.libraries.default.spinner;e.render&&e.render.call(t),t.view._prepared=!0}}),this},m.prototype.render=function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:void 0,n=this;if(e){var i=e[0]||e;if(i.query&&i.query.interval&&i.query.timeframe&&"string"===i.query.timeframe&&i.query.timeframe.indexOf("this_")>-1&&this.config.partialIntervalIndicator&&void 0===this.config.partialIntervalIndicator.show&&(this.config.partialIntervalIndicator.show=!0),Array.isArray(e)){var r=e.map(function(t){return t.query.timeframe});return r.forEach(function(t){if(r.find(function(e){return JSON.stringify(e)!==JSON.stringify(t)})){var e="Timeframes of the queries should be the same";throw console.error(e),e}}),n.data(e[0]).call(function(){var i=function(t){return t.query.event_collection+" "+t.query.analysis_type},r=i(e[0]);n.config.labelMapping[r]&&(r=n.config.labelMapping[r]),t.dataset.deleteColumn(1);var o=!0,s=!1,c=void 0;try{for(var u,d=e[Symbol.iterator]();!(o=(u=d.next()).done);o=!0){var l=u.value;r=i(l);var f=a.Dataset.parser("interval")(l);n.dataset.appendColumn(r,f.selectColumn(1).slice(1))}}catch(t){s=!0,c=t}finally{try{!o&&d.return&&d.return()}finally{if(s)throw c}}}).render()}return n.data(e).render()}(this.config.labelMapping&&Object.keys(this.config.labelMapping).length>0||this.config.labelMappingRegExp&&this.config.labelMappingRegExp.length>0)&&y(n),this.config.labels&&Object.keys(this.config.labels).length>0&&g(n),this.config.sortGroups&&L(n),this.config.sortIntervals&&A(n);var o=m.libraries.default.spinner,s=this.config.library,c=this.config.type,u=this.el();if(!u||void 0===u){var d=this.config.container+" not found. A DOM parent element is required to mount the chart.";throw console.error(d),d}var l=n;return n.config.renderAsPromise&&(l=new Promise(function(e,i){var r=t.config.onrendered;n.config.onrendered=function(){r&&r(),e(n)}})),x(function(){if(n.view._prepared&&o.destroy&&o.destroy.apply(n,arguments),u.innerHTML="","undefined"===m.libraries[s]){var t="Incorrect library";throw n.message(t),t}if(void 0===m.libraries[s][c]){var e="Incorrect chart type",i=this.config.errorMapping[e]||e;throw n.message(i),e}if(function(t,e){var n="",i="";"top"!==e.legend.position&&"bottom"!==e.legend.position||(i="c3-chart-100-percent");var r='
',a="horizontal";"left"!==e.legend.position&&"right"!==e.legend.position||(a="vertical");e.legend&&e.legend.show&&(r="top"===e.legend.position||"left"===e.legend.position?'
'+r:r+'
');n+='
',e.title&&e.showTitle&&(n+='
'+e.title+"
");n+='
'+r+"
",e.notes&&(n+='
'+e.notes+"
");n+="
",t.innerHTML=n}(u,n.config),n.config.renderOnVisible&&"undefined"!=typeof IntersectionObserver){new IntersectionObserver(function(t,e){t.forEach(function(t){t.isIntersecting&&(n.view._rendered||(m.libraries[s][c].render.call(n),n.view._rendered=!0))})}).observe(u)}else{if("hidden"===n.config.firstVisibilityState&&"undefined"!=typeof document){var r=void 0,a=void 0;void 0!==document.hidden?(r="hidden",a="visibilitychange"):void 0!==document.msHidden?(r="msHidden",a="msvisibilitychange"):void 0!==document.webkitHidden&&(r="webkitHidden",a="webkitvisibilitychange");void 0===document.addEventListener&&void 0===r||document.addEventListener(a,function(){document[r]||n.view._artifacts.c3.load(n.dataset.matrix)},{once:!0})}m.libraries[s][c].render.call(n),n.view._rendered=!0}}),l},m.prototype.sortGroups=function(t){return this.config.showDeprecationWarnings&&console.log(".sortGroups() is deprecated. Use: new KeenDataviz({ sortGroups: _your_value_here_ })"),arguments.length?(this.config.sortGroups=t?String(t):null,L(this),this):this.config.sortGroups},m.prototype.sortIntervals=function(t){return this.config.showDeprecationWarnings&&console.log(".sortIntervals() is deprecated. Use: new KeenDataviz({ sortIntervals: _your_value_here_ })"),arguments.length?(this.config.sortIntervals=t?String(t):null,A(this),this):this.config.sortIntervals},m.prototype.stacked=function(t){return this.config.showDeprecationWarnings&&console.log(".stacked() is deprecated. Use: new KeenDataviz({ stacked: _your_value_here_ })"),arguments.length?(this.config.stacked=!!t,this):this.config.stacked},m.prototype.theme=function(t){return this.config.showDeprecationWarnings&&console.log(".theme() is deprecated. Use: new KeenDataviz({ theme: _your_value_here_ })"),arguments.length?(this.config.theme=t?String(t):null,this):this.config.theme},m.prototype.title=function(t){return this.config.showDeprecationWarnings&&console.log(".title() is deprecated. Use: new KeenDataviz({ title: _your_value_here_ })"),arguments.length?(this.config.title=t?String(t):null,this):this.config.title},m.prototype.type=function(t){return this.config.showDeprecationWarnings&&console.log(".type() is deprecated. Use: new KeenDataviz({ type: _your_value_here_ })"),arguments.length?(this.config.type=t?v(t):null,this):this.config.type},m.prototype.update=function(){var t=this.config.library,e=this.config.type,n=this.el();return t&&e&&n&&m.libraries[t][e].update&&m.libraries[t][e].update.apply(this,arguments),this},m.prototype.width=function(t){return this.config.showDeprecationWarnings&&console.log(".width() is deprecated - use CSS classes"),this},m.prototype.chartType=m.prototype.type,m.prototype.error=m.prototype.message,m.prototype.parseRawData=m.prototype.data,m.prototype.parseRequest=function(){return this},m.prototype.initialize=function(){return this},m.version=c.default.version,e.default=m},function(t,e){var n;n=function(){return this}();try{n=n||Function("return this")()||(0,eval)("this")}catch(t){"object"==typeof window&&(n=window)}t.exports=n},function(t,e,n){"use strict";(function(t){Object.defineProperty(e,"__esModule",{value:!0}),e.Dataset=e.Dataviz=e.keenGlobals=e.extendKeenGlobalObject=void 0;var i=n(166);Object.defineProperty(e,"Dataviz",{enumerable:!0,get:function(){return i.Dataviz}}),Object.defineProperty(e,"Dataset",{enumerable:!0,get:function(){return i.Dataset}});var r=void 0!==t?t:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{};(e.extendKeenGlobalObject=function(t){t.KeenDataviz=i.Dataviz,t.KeenDataset=i.Dataset,t.Keen=t.Keen||{},t.Keen.Dataset=i.Dataset,t.Keen.Dataviz=i.Dataviz})(r);e.keenGlobals=void 0;"undefined"!=typeof webpackKeenGlobals&&(e.keenGlobals=webpackKeenGlobals),e.default=i.Dataviz}).call(this,n(167))}])}); //# sourceMappingURL=keen-dataviz.min.js.map \ No newline at end of file diff --git a/dist/keen-dataviz.min.js.map b/dist/keen-dataviz.min.js.map index 16e26fe..beae946 100644 --- a/dist/keen-dataviz.min.js.map +++ b/dist/keen-dataviz.min.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap","webpack:///./node_modules/moment/moment.js","webpack:///./lib/utils/each.js","webpack:///./lib/utils/escape-html.js","webpack:///./lib/utils/extend.js","webpack:///./node_modules/d3/dist/package.js","webpack:///./node_modules/d3-array/src/ascending.js","webpack:///./node_modules/d3-array/src/bisector.js","webpack:///./node_modules/d3-array/src/bisect.js","webpack:///./node_modules/d3-array/src/pairs.js","webpack:///./node_modules/d3-array/src/cross.js","webpack:///./node_modules/d3-array/src/descending.js","webpack:///./node_modules/d3-array/src/number.js","webpack:///./node_modules/d3-array/src/variance.js","webpack:///./node_modules/d3-array/src/deviation.js","webpack:///./node_modules/d3-array/src/extent.js","webpack:///./node_modules/d3-array/src/array.js","webpack:///./node_modules/d3-array/src/constant.js","webpack:///./node_modules/d3-array/src/identity.js","webpack:///./node_modules/d3-array/src/range.js","webpack:///./node_modules/d3-array/src/ticks.js","webpack:///./node_modules/d3-array/src/threshold/sturges.js","webpack:///./node_modules/d3-array/src/histogram.js","webpack:///./node_modules/d3-array/src/quantile.js","webpack:///./node_modules/d3-array/src/threshold/freedmanDiaconis.js","webpack:///./node_modules/d3-array/src/threshold/scott.js","webpack:///./node_modules/d3-array/src/max.js","webpack:///./node_modules/d3-array/src/mean.js","webpack:///./node_modules/d3-array/src/median.js","webpack:///./node_modules/d3-array/src/merge.js","webpack:///./node_modules/d3-array/src/min.js","webpack:///./node_modules/d3-array/src/permute.js","webpack:///./node_modules/d3-array/src/scan.js","webpack:///./node_modules/d3-array/src/shuffle.js","webpack:///./node_modules/d3-array/src/sum.js","webpack:///./node_modules/d3-array/src/transpose.js","webpack:///./node_modules/d3-array/src/zip.js","webpack:///./node_modules/d3-axis/src/array.js","webpack:///./node_modules/d3-axis/src/identity.js","webpack:///./node_modules/d3-axis/src/axis.js","webpack:///./node_modules/d3-dispatch/src/dispatch.js","webpack:///./node_modules/d3-selection/src/namespaces.js","webpack:///./node_modules/d3-selection/src/namespace.js","webpack:///./node_modules/d3-selection/src/creator.js","webpack:///./node_modules/d3-selection/src/selector.js","webpack:///./node_modules/d3-selection/src/selectorAll.js","webpack:///./node_modules/d3-selection/src/matcher.js","webpack:///./node_modules/d3-selection/src/selection/sparse.js","webpack:///./node_modules/d3-selection/src/selection/enter.js","webpack:///./node_modules/d3-selection/src/constant.js","webpack:///./node_modules/d3-selection/src/selection/data.js","webpack:///./node_modules/d3-selection/src/selection/sort.js","webpack:///./node_modules/d3-selection/src/selection/attr.js","webpack:///./node_modules/d3-selection/src/window.js","webpack:///./node_modules/d3-selection/src/selection/style.js","webpack:///./node_modules/d3-selection/src/selection/classed.js","webpack:///./node_modules/d3-selection/src/selection/text.js","webpack:///./node_modules/d3-selection/src/selection/html.js","webpack:///./node_modules/d3-selection/src/selection/raise.js","webpack:///./node_modules/d3-selection/src/selection/lower.js","webpack:///./node_modules/d3-selection/src/selection/insert.js","webpack:///./node_modules/d3-selection/src/selection/remove.js","webpack:///./node_modules/d3-selection/src/selection/clone.js","webpack:///./node_modules/d3-selection/src/selection/on.js","webpack:///./node_modules/d3-selection/src/selection/dispatch.js","webpack:///./node_modules/d3-selection/src/selection/index.js","webpack:///./node_modules/d3-selection/src/selection/select.js","webpack:///./node_modules/d3-selection/src/selection/selectAll.js","webpack:///./node_modules/d3-selection/src/selection/filter.js","webpack:///./node_modules/d3-selection/src/selection/exit.js","webpack:///./node_modules/d3-selection/src/selection/merge.js","webpack:///./node_modules/d3-selection/src/selection/order.js","webpack:///./node_modules/d3-selection/src/selection/call.js","webpack:///./node_modules/d3-selection/src/selection/nodes.js","webpack:///./node_modules/d3-selection/src/selection/node.js","webpack:///./node_modules/d3-selection/src/selection/size.js","webpack:///./node_modules/d3-selection/src/selection/empty.js","webpack:///./node_modules/d3-selection/src/selection/each.js","webpack:///./node_modules/d3-selection/src/selection/property.js","webpack:///./node_modules/d3-selection/src/selection/append.js","webpack:///./node_modules/d3-selection/src/selection/datum.js","webpack:///./node_modules/d3-selection/src/select.js","webpack:///./node_modules/d3-selection/src/create.js","webpack:///./node_modules/d3-selection/src/local.js","webpack:///./node_modules/d3-selection/src/sourceEvent.js","webpack:///./node_modules/d3-selection/src/point.js","webpack:///./node_modules/d3-selection/src/mouse.js","webpack:///./node_modules/d3-selection/src/selectAll.js","webpack:///./node_modules/d3-selection/src/touch.js","webpack:///./node_modules/d3-selection/src/touches.js","webpack:///./node_modules/d3-drag/src/noevent.js","webpack:///./node_modules/d3-drag/src/nodrag.js","webpack:///./node_modules/d3-drag/src/constant.js","webpack:///./node_modules/d3-drag/src/event.js","webpack:///./node_modules/d3-drag/src/drag.js","webpack:///./node_modules/d3-color/src/define.js","webpack:///./node_modules/d3-color/src/color.js","webpack:///./node_modules/d3-color/src/math.js","webpack:///./node_modules/d3-color/src/lab.js","webpack:///./node_modules/d3-color/src/cubehelix.js","webpack:///./node_modules/d3-interpolate/src/basis.js","webpack:///./node_modules/d3-interpolate/src/basisClosed.js","webpack:///./node_modules/d3-interpolate/src/constant.js","webpack:///./node_modules/d3-interpolate/src/color.js","webpack:///./node_modules/d3-interpolate/src/rgb.js","webpack:///./node_modules/d3-interpolate/src/array.js","webpack:///./node_modules/d3-interpolate/src/date.js","webpack:///./node_modules/d3-interpolate/src/number.js","webpack:///./node_modules/d3-interpolate/src/object.js","webpack:///./node_modules/d3-interpolate/src/string.js","webpack:///./node_modules/d3-interpolate/src/transform/parse.js","webpack:///./node_modules/d3-interpolate/src/value.js","webpack:///./node_modules/d3-interpolate/src/round.js","webpack:///./node_modules/d3-interpolate/src/transform/decompose.js","webpack:///./node_modules/d3-interpolate/src/transform/index.js","webpack:///./node_modules/d3-interpolate/src/zoom.js","webpack:///./node_modules/d3-interpolate/src/hsl.js","webpack:///./node_modules/d3-interpolate/src/lab.js","webpack:///./node_modules/d3-interpolate/src/hcl.js","webpack:///./node_modules/d3-interpolate/src/cubehelix.js","webpack:///./node_modules/d3-interpolate/src/piecewise.js","webpack:///./node_modules/d3-interpolate/src/quantize.js","webpack:///./node_modules/d3-timer/src/timer.js","webpack:///./node_modules/d3-timer/src/timeout.js","webpack:///./node_modules/d3-timer/src/interval.js","webpack:///./node_modules/d3-transition/src/transition/schedule.js","webpack:///./node_modules/d3-transition/src/interrupt.js","webpack:///./node_modules/d3-transition/src/transition/tween.js","webpack:///./node_modules/d3-transition/src/transition/interpolate.js","webpack:///./node_modules/d3-transition/src/transition/remove.js","webpack:///./node_modules/d3-transition/src/transition/selection.js","webpack:///./node_modules/d3-transition/src/transition/text.js","webpack:///./node_modules/d3-transition/src/transition/index.js","webpack:///./node_modules/d3-ease/src/linear.js","webpack:///./node_modules/d3-ease/src/quad.js","webpack:///./node_modules/d3-ease/src/cubic.js","webpack:///./node_modules/d3-transition/src/transition/select.js","webpack:///./node_modules/d3-transition/src/transition/selectAll.js","webpack:///./node_modules/d3-transition/src/transition/filter.js","webpack:///./node_modules/d3-transition/src/transition/merge.js","webpack:///./node_modules/d3-transition/src/transition/transition.js","webpack:///./node_modules/d3-transition/src/transition/on.js","webpack:///./node_modules/d3-transition/src/transition/attr.js","webpack:///./node_modules/d3-transition/src/transition/attrTween.js","webpack:///./node_modules/d3-transition/src/transition/style.js","webpack:///./node_modules/d3-transition/src/transition/styleTween.js","webpack:///./node_modules/d3-transition/src/transition/delay.js","webpack:///./node_modules/d3-transition/src/transition/duration.js","webpack:///./node_modules/d3-transition/src/transition/ease.js","webpack:///./node_modules/d3-ease/src/poly.js","webpack:///./node_modules/d3-ease/src/sin.js","webpack:///./node_modules/d3-ease/src/exp.js","webpack:///./node_modules/d3-ease/src/circle.js","webpack:///./node_modules/d3-ease/src/bounce.js","webpack:///./node_modules/d3-ease/src/back.js","webpack:///./node_modules/d3-ease/src/elastic.js","webpack:///./node_modules/d3-transition/src/selection/transition.js","webpack:///./node_modules/d3-transition/src/selection/index.js","webpack:///./node_modules/d3-transition/src/selection/interrupt.js","webpack:///./node_modules/d3-transition/src/active.js","webpack:///./node_modules/d3-brush/src/constant.js","webpack:///./node_modules/d3-brush/src/event.js","webpack:///./node_modules/d3-brush/src/noevent.js","webpack:///./node_modules/d3-brush/src/brush.js","webpack:///./node_modules/d3-chord/src/math.js","webpack:///./node_modules/d3-chord/src/chord.js","webpack:///./node_modules/d3-chord/src/array.js","webpack:///./node_modules/d3-chord/src/constant.js","webpack:///./node_modules/d3-path/src/path.js","webpack:///./node_modules/d3-chord/src/ribbon.js","webpack:///./node_modules/d3-collection/src/map.js","webpack:///./node_modules/d3-collection/src/nest.js","webpack:///./node_modules/d3-collection/src/set.js","webpack:///./node_modules/d3-collection/src/keys.js","webpack:///./node_modules/d3-collection/src/values.js","webpack:///./node_modules/d3-collection/src/entries.js","webpack:///./node_modules/d3-contour/src/array.js","webpack:///./node_modules/d3-contour/src/ascending.js","webpack:///./node_modules/d3-contour/src/area.js","webpack:///./node_modules/d3-contour/src/constant.js","webpack:///./node_modules/d3-contour/src/contains.js","webpack:///./node_modules/d3-contour/src/noop.js","webpack:///./node_modules/d3-contour/src/contours.js","webpack:///./node_modules/d3-contour/src/blur.js","webpack:///./node_modules/d3-contour/src/density.js","webpack:///./node_modules/d3-dsv/src/dsv.js","webpack:///./node_modules/d3-dsv/src/csv.js","webpack:///./node_modules/d3-dsv/src/tsv.js","webpack:///./node_modules/d3-fetch/src/blob.js","webpack:///./node_modules/d3-fetch/src/buffer.js","webpack:///./node_modules/d3-fetch/src/text.js","webpack:///./node_modules/d3-fetch/src/dsv.js","webpack:///./node_modules/d3-fetch/src/image.js","webpack:///./node_modules/d3-fetch/src/json.js","webpack:///./node_modules/d3-fetch/src/xml.js","webpack:///./node_modules/d3-force/src/center.js","webpack:///./node_modules/d3-force/src/constant.js","webpack:///./node_modules/d3-force/src/jiggle.js","webpack:///./node_modules/d3-quadtree/src/add.js","webpack:///./node_modules/d3-quadtree/src/cover.js","webpack:///./node_modules/d3-quadtree/src/quad.js","webpack:///./node_modules/d3-quadtree/src/x.js","webpack:///./node_modules/d3-quadtree/src/y.js","webpack:///./node_modules/d3-quadtree/src/quadtree.js","webpack:///./node_modules/d3-force/src/collide.js","webpack:///./node_modules/d3-quadtree/src/data.js","webpack:///./node_modules/d3-quadtree/src/extent.js","webpack:///./node_modules/d3-quadtree/src/find.js","webpack:///./node_modules/d3-quadtree/src/remove.js","webpack:///./node_modules/d3-quadtree/src/root.js","webpack:///./node_modules/d3-quadtree/src/size.js","webpack:///./node_modules/d3-quadtree/src/visit.js","webpack:///./node_modules/d3-quadtree/src/visitAfter.js","webpack:///./node_modules/d3-force/src/link.js","webpack:///./node_modules/d3-force/src/simulation.js","webpack:///./node_modules/d3-force/src/manyBody.js","webpack:///./node_modules/d3-force/src/radial.js","webpack:///./node_modules/d3-force/src/x.js","webpack:///./node_modules/d3-force/src/y.js","webpack:///./node_modules/d3-format/src/formatDecimal.js","webpack:///./node_modules/d3-format/src/exponent.js","webpack:///./node_modules/d3-format/src/formatSpecifier.js","webpack:///./node_modules/d3-format/src/formatTrim.js","webpack:///./node_modules/d3-format/src/formatPrefixAuto.js","webpack:///./node_modules/d3-format/src/defaultLocale.js","webpack:///./node_modules/d3-format/src/formatRounded.js","webpack:///./node_modules/d3-format/src/formatTypes.js","webpack:///./node_modules/d3-format/src/identity.js","webpack:///./node_modules/d3-format/src/locale.js","webpack:///./node_modules/d3-format/src/formatGroup.js","webpack:///./node_modules/d3-format/src/formatNumerals.js","webpack:///./node_modules/d3-format/src/precisionFixed.js","webpack:///./node_modules/d3-format/src/precisionPrefix.js","webpack:///./node_modules/d3-format/src/precisionRound.js","webpack:///./node_modules/d3-geo/src/adder.js","webpack:///./node_modules/d3-geo/src/math.js","webpack:///./node_modules/d3-geo/src/noop.js","webpack:///./node_modules/d3-geo/src/stream.js","webpack:///./node_modules/d3-geo/src/area.js","webpack:///./node_modules/d3-geo/src/cartesian.js","webpack:///./node_modules/d3-geo/src/bounds.js","webpack:///./node_modules/d3-geo/src/centroid.js","webpack:///./node_modules/d3-geo/src/constant.js","webpack:///./node_modules/d3-geo/src/compose.js","webpack:///./node_modules/d3-geo/src/rotation.js","webpack:///./node_modules/d3-geo/src/circle.js","webpack:///./node_modules/d3-geo/src/clip/buffer.js","webpack:///./node_modules/d3-geo/src/pointEqual.js","webpack:///./node_modules/d3-geo/src/clip/rejoin.js","webpack:///./node_modules/d3-geo/src/polygonContains.js","webpack:///./node_modules/d3-geo/src/clip/index.js","webpack:///./node_modules/d3-geo/src/clip/antimeridian.js","webpack:///./node_modules/d3-geo/src/clip/circle.js","webpack:///./node_modules/d3-geo/src/clip/line.js","webpack:///./node_modules/d3-geo/src/clip/rectangle.js","webpack:///./node_modules/d3-geo/src/clip/extent.js","webpack:///./node_modules/d3-geo/src/length.js","webpack:///./node_modules/d3-geo/src/distance.js","webpack:///./node_modules/d3-geo/src/contains.js","webpack:///./node_modules/d3-geo/src/graticule.js","webpack:///./node_modules/d3-geo/src/interpolate.js","webpack:///./node_modules/d3-geo/src/path/area.js","webpack:///./node_modules/d3-geo/src/identity.js","webpack:///./node_modules/d3-geo/src/path/bounds.js","webpack:///./node_modules/d3-geo/src/path/centroid.js","webpack:///./node_modules/d3-geo/src/path/context.js","webpack:///./node_modules/d3-geo/src/path/measure.js","webpack:///./node_modules/d3-geo/src/path/string.js","webpack:///./node_modules/d3-geo/src/path/index.js","webpack:///./node_modules/d3-geo/src/transform.js","webpack:///./node_modules/d3-geo/src/projection/fit.js","webpack:///./node_modules/d3-geo/src/projection/resample.js","webpack:///./node_modules/d3-geo/src/projection/index.js","webpack:///./node_modules/d3-geo/src/projection/conic.js","webpack:///./node_modules/d3-geo/src/projection/conicEqualArea.js","webpack:///./node_modules/d3-geo/src/projection/cylindricalEqualArea.js","webpack:///./node_modules/d3-geo/src/projection/albers.js","webpack:///./node_modules/d3-geo/src/projection/albersUsa.js","webpack:///./node_modules/d3-geo/src/projection/azimuthal.js","webpack:///./node_modules/d3-geo/src/projection/azimuthalEqualArea.js","webpack:///./node_modules/d3-geo/src/projection/azimuthalEquidistant.js","webpack:///./node_modules/d3-geo/src/projection/mercator.js","webpack:///./node_modules/d3-geo/src/projection/conicConformal.js","webpack:///./node_modules/d3-geo/src/projection/equirectangular.js","webpack:///./node_modules/d3-geo/src/projection/conicEquidistant.js","webpack:///./node_modules/d3-geo/src/projection/gnomonic.js","webpack:///./node_modules/d3-geo/src/projection/identity.js","webpack:///./node_modules/d3-geo/src/projection/naturalEarth1.js","webpack:///./node_modules/d3-geo/src/projection/orthographic.js","webpack:///./node_modules/d3-geo/src/projection/stereographic.js","webpack:///./node_modules/d3-geo/src/projection/transverseMercator.js","webpack:///./node_modules/d3-hierarchy/src/cluster.js","webpack:///./node_modules/d3-hierarchy/src/hierarchy/count.js","webpack:///./node_modules/d3-hierarchy/src/hierarchy/index.js","webpack:///./node_modules/d3-hierarchy/src/hierarchy/each.js","webpack:///./node_modules/d3-hierarchy/src/hierarchy/eachAfter.js","webpack:///./node_modules/d3-hierarchy/src/hierarchy/eachBefore.js","webpack:///./node_modules/d3-hierarchy/src/hierarchy/sum.js","webpack:///./node_modules/d3-hierarchy/src/hierarchy/sort.js","webpack:///./node_modules/d3-hierarchy/src/hierarchy/path.js","webpack:///./node_modules/d3-hierarchy/src/hierarchy/ancestors.js","webpack:///./node_modules/d3-hierarchy/src/hierarchy/descendants.js","webpack:///./node_modules/d3-hierarchy/src/hierarchy/leaves.js","webpack:///./node_modules/d3-hierarchy/src/hierarchy/links.js","webpack:///./node_modules/d3-hierarchy/src/array.js","webpack:///./node_modules/d3-hierarchy/src/pack/enclose.js","webpack:///./node_modules/d3-hierarchy/src/pack/siblings.js","webpack:///./node_modules/d3-hierarchy/src/accessors.js","webpack:///./node_modules/d3-hierarchy/src/constant.js","webpack:///./node_modules/d3-hierarchy/src/pack/index.js","webpack:///./node_modules/d3-hierarchy/src/treemap/round.js","webpack:///./node_modules/d3-hierarchy/src/treemap/dice.js","webpack:///./node_modules/d3-hierarchy/src/partition.js","webpack:///./node_modules/d3-hierarchy/src/stratify.js","webpack:///./node_modules/d3-hierarchy/src/tree.js","webpack:///./node_modules/d3-hierarchy/src/treemap/slice.js","webpack:///./node_modules/d3-hierarchy/src/treemap/squarify.js","webpack:///./node_modules/d3-hierarchy/src/treemap/index.js","webpack:///./node_modules/d3-hierarchy/src/treemap/binary.js","webpack:///./node_modules/d3-hierarchy/src/treemap/sliceDice.js","webpack:///./node_modules/d3-hierarchy/src/treemap/resquarify.js","webpack:///./node_modules/d3-polygon/src/area.js","webpack:///./node_modules/d3-polygon/src/centroid.js","webpack:///./node_modules/d3-polygon/src/cross.js","webpack:///./node_modules/d3-polygon/src/hull.js","webpack:///./node_modules/d3-polygon/src/contains.js","webpack:///./node_modules/d3-polygon/src/length.js","webpack:///./node_modules/d3-random/src/defaultSource.js","webpack:///./node_modules/d3-random/src/uniform.js","webpack:///./node_modules/d3-random/src/normal.js","webpack:///./node_modules/d3-random/src/logNormal.js","webpack:///./node_modules/d3-random/src/irwinHall.js","webpack:///./node_modules/d3-random/src/bates.js","webpack:///./node_modules/d3-random/src/exponential.js","webpack:///./node_modules/d3-scale/src/array.js","webpack:///./node_modules/d3-scale/src/ordinal.js","webpack:///./node_modules/d3-scale/src/band.js","webpack:///./node_modules/d3-scale/src/constant.js","webpack:///./node_modules/d3-scale/src/number.js","webpack:///./node_modules/d3-scale/src/continuous.js","webpack:///./node_modules/d3-scale/src/tickFormat.js","webpack:///./node_modules/d3-scale/src/linear.js","webpack:///./node_modules/d3-scale/src/identity.js","webpack:///./node_modules/d3-scale/src/nice.js","webpack:///./node_modules/d3-scale/src/log.js","webpack:///./node_modules/d3-scale/src/pow.js","webpack:///./node_modules/d3-scale/src/quantile.js","webpack:///./node_modules/d3-scale/src/quantize.js","webpack:///./node_modules/d3-scale/src/threshold.js","webpack:///./node_modules/d3-time/src/interval.js","webpack:///./node_modules/d3-time/src/millisecond.js","webpack:///./node_modules/d3-time/src/duration.js","webpack:///./node_modules/d3-time/src/second.js","webpack:///./node_modules/d3-time/src/minute.js","webpack:///./node_modules/d3-time/src/hour.js","webpack:///./node_modules/d3-time/src/day.js","webpack:///./node_modules/d3-time/src/week.js","webpack:///./node_modules/d3-time/src/month.js","webpack:///./node_modules/d3-time/src/year.js","webpack:///./node_modules/d3-time/src/utcMinute.js","webpack:///./node_modules/d3-time/src/utcHour.js","webpack:///./node_modules/d3-time/src/utcDay.js","webpack:///./node_modules/d3-time/src/utcWeek.js","webpack:///./node_modules/d3-time/src/utcMonth.js","webpack:///./node_modules/d3-time/src/utcYear.js","webpack:///./node_modules/d3-time-format/src/locale.js","webpack:///./node_modules/d3-time-format/src/defaultLocale.js","webpack:///./node_modules/d3-time-format/src/isoFormat.js","webpack:///./node_modules/d3-time-format/src/isoParse.js","webpack:///./node_modules/d3-scale/src/time.js","webpack:///./node_modules/d3-scale/src/utcTime.js","webpack:///./node_modules/d3-scale/src/sequential.js","webpack:///./node_modules/d3-scale-chromatic/src/colors.js","webpack:///./node_modules/d3-scale-chromatic/src/categorical/category10.js","webpack:///./node_modules/d3-scale-chromatic/src/categorical/Accent.js","webpack:///./node_modules/d3-scale-chromatic/src/categorical/Dark2.js","webpack:///./node_modules/d3-scale-chromatic/src/categorical/Paired.js","webpack:///./node_modules/d3-scale-chromatic/src/categorical/Pastel1.js","webpack:///./node_modules/d3-scale-chromatic/src/categorical/Pastel2.js","webpack:///./node_modules/d3-scale-chromatic/src/categorical/Set1.js","webpack:///./node_modules/d3-scale-chromatic/src/categorical/Set2.js","webpack:///./node_modules/d3-scale-chromatic/src/categorical/Set3.js","webpack:///./node_modules/d3-scale-chromatic/src/ramp.js","webpack:///./node_modules/d3-scale-chromatic/src/diverging/BrBG.js","webpack:///./node_modules/d3-scale-chromatic/src/diverging/PRGn.js","webpack:///./node_modules/d3-scale-chromatic/src/diverging/PiYG.js","webpack:///./node_modules/d3-scale-chromatic/src/diverging/PuOr.js","webpack:///./node_modules/d3-scale-chromatic/src/diverging/RdBu.js","webpack:///./node_modules/d3-scale-chromatic/src/diverging/RdGy.js","webpack:///./node_modules/d3-scale-chromatic/src/diverging/RdYlBu.js","webpack:///./node_modules/d3-scale-chromatic/src/diverging/RdYlGn.js","webpack:///./node_modules/d3-scale-chromatic/src/diverging/Spectral.js","webpack:///./node_modules/d3-scale-chromatic/src/sequential-multi/BuGn.js","webpack:///./node_modules/d3-scale-chromatic/src/sequential-multi/BuPu.js","webpack:///./node_modules/d3-scale-chromatic/src/sequential-multi/GnBu.js","webpack:///./node_modules/d3-scale-chromatic/src/sequential-multi/OrRd.js","webpack:///./node_modules/d3-scale-chromatic/src/sequential-multi/PuBuGn.js","webpack:///./node_modules/d3-scale-chromatic/src/sequential-multi/PuBu.js","webpack:///./node_modules/d3-scale-chromatic/src/sequential-multi/PuRd.js","webpack:///./node_modules/d3-scale-chromatic/src/sequential-multi/RdPu.js","webpack:///./node_modules/d3-scale-chromatic/src/sequential-multi/YlGnBu.js","webpack:///./node_modules/d3-scale-chromatic/src/sequential-multi/YlGn.js","webpack:///./node_modules/d3-scale-chromatic/src/sequential-multi/YlOrBr.js","webpack:///./node_modules/d3-scale-chromatic/src/sequential-multi/YlOrRd.js","webpack:///./node_modules/d3-scale-chromatic/src/sequential-single/Blues.js","webpack:///./node_modules/d3-scale-chromatic/src/sequential-single/Greens.js","webpack:///./node_modules/d3-scale-chromatic/src/sequential-single/Greys.js","webpack:///./node_modules/d3-scale-chromatic/src/sequential-single/Purples.js","webpack:///./node_modules/d3-scale-chromatic/src/sequential-single/Reds.js","webpack:///./node_modules/d3-scale-chromatic/src/sequential-single/Oranges.js","webpack:///./node_modules/d3-scale-chromatic/src/sequential-multi/cubehelix.js","webpack:///./node_modules/d3-scale-chromatic/src/sequential-multi/rainbow.js","webpack:///./node_modules/d3-scale-chromatic/src/sequential-multi/sinebow.js","webpack:///./node_modules/d3-scale-chromatic/src/sequential-multi/viridis.js","webpack:///./node_modules/d3-shape/src/constant.js","webpack:///./node_modules/d3-shape/src/math.js","webpack:///./node_modules/d3-shape/src/arc.js","webpack:///./node_modules/d3-shape/src/curve/linear.js","webpack:///./node_modules/d3-shape/src/point.js","webpack:///./node_modules/d3-shape/src/line.js","webpack:///./node_modules/d3-shape/src/area.js","webpack:///./node_modules/d3-shape/src/descending.js","webpack:///./node_modules/d3-shape/src/identity.js","webpack:///./node_modules/d3-shape/src/pie.js","webpack:///./node_modules/d3-shape/src/curve/radial.js","webpack:///./node_modules/d3-shape/src/lineRadial.js","webpack:///./node_modules/d3-shape/src/areaRadial.js","webpack:///./node_modules/d3-shape/src/pointRadial.js","webpack:///./node_modules/d3-shape/src/array.js","webpack:///./node_modules/d3-shape/src/link/index.js","webpack:///./node_modules/d3-shape/src/symbol/circle.js","webpack:///./node_modules/d3-shape/src/symbol/cross.js","webpack:///./node_modules/d3-shape/src/symbol/diamond.js","webpack:///./node_modules/d3-shape/src/symbol/star.js","webpack:///./node_modules/d3-shape/src/symbol/square.js","webpack:///./node_modules/d3-shape/src/symbol/triangle.js","webpack:///./node_modules/d3-shape/src/symbol/wye.js","webpack:///./node_modules/d3-shape/src/symbol.js","webpack:///./node_modules/d3-shape/src/noop.js","webpack:///./node_modules/d3-shape/src/curve/basis.js","webpack:///./node_modules/d3-shape/src/curve/basisClosed.js","webpack:///./node_modules/d3-shape/src/curve/basisOpen.js","webpack:///./node_modules/d3-shape/src/curve/bundle.js","webpack:///./node_modules/d3-shape/src/curve/cardinal.js","webpack:///./node_modules/d3-shape/src/curve/cardinalClosed.js","webpack:///./node_modules/d3-shape/src/curve/cardinalOpen.js","webpack:///./node_modules/d3-shape/src/curve/catmullRom.js","webpack:///./node_modules/d3-shape/src/curve/catmullRomClosed.js","webpack:///./node_modules/d3-shape/src/curve/catmullRomOpen.js","webpack:///./node_modules/d3-shape/src/curve/linearClosed.js","webpack:///./node_modules/d3-shape/src/curve/monotone.js","webpack:///./node_modules/d3-shape/src/curve/natural.js","webpack:///./node_modules/d3-shape/src/curve/step.js","webpack:///./node_modules/d3-shape/src/offset/none.js","webpack:///./node_modules/d3-shape/src/order/none.js","webpack:///./node_modules/d3-shape/src/stack.js","webpack:///./node_modules/d3-shape/src/offset/expand.js","webpack:///./node_modules/d3-shape/src/offset/diverging.js","webpack:///./node_modules/d3-shape/src/offset/silhouette.js","webpack:///./node_modules/d3-shape/src/offset/wiggle.js","webpack:///./node_modules/d3-shape/src/order/ascending.js","webpack:///./node_modules/d3-shape/src/order/descending.js","webpack:///./node_modules/d3-shape/src/order/insideOut.js","webpack:///./node_modules/d3-shape/src/order/reverse.js","webpack:///./node_modules/d3-voronoi/src/constant.js","webpack:///./node_modules/d3-voronoi/src/point.js","webpack:///./node_modules/d3-voronoi/src/RedBlackTree.js","webpack:///./node_modules/d3-voronoi/src/Edge.js","webpack:///./node_modules/d3-voronoi/src/Cell.js","webpack:///./node_modules/d3-voronoi/src/Circle.js","webpack:///./node_modules/d3-voronoi/src/Beach.js","webpack:///./node_modules/d3-voronoi/src/Diagram.js","webpack:///./node_modules/d3-voronoi/src/voronoi.js","webpack:///./node_modules/d3-zoom/src/constant.js","webpack:///./node_modules/d3-zoom/src/transform.js","webpack:///./node_modules/d3-zoom/src/noevent.js","webpack:///./node_modules/d3-zoom/src/zoom.js","webpack:///./node_modules/d3-zoom/src/event.js","webpack:///./lib/utils/assert-date-string.js","webpack:///./lib/utils/strip-html-tags.js","webpack:///./lib/dataset/utils/create-null-list.js","webpack:///./lib/dataset/modifiers/append.js","webpack:///./node_modules/moment/locale/zh-tw.js","webpack:///./node_modules/moment/locale/zh-hk.js","webpack:///./node_modules/moment/locale/zh-cn.js","webpack:///./node_modules/moment/locale/yo.js","webpack:///./node_modules/moment/locale/x-pseudo.js","webpack:///./node_modules/moment/locale/vi.js","webpack:///./node_modules/moment/locale/uz-latn.js","webpack:///./node_modules/moment/locale/uz.js","webpack:///./node_modules/moment/locale/ur.js","webpack:///./node_modules/moment/locale/uk.js","webpack:///./node_modules/moment/locale/ug-cn.js","webpack:///./node_modules/moment/locale/tzm-latn.js","webpack:///./node_modules/moment/locale/tzm.js","webpack:///./node_modules/moment/locale/tzl.js","webpack:///./node_modules/moment/locale/tr.js","webpack:///./node_modules/moment/locale/tlh.js","webpack:///./node_modules/moment/locale/tl-ph.js","webpack:///./node_modules/moment/locale/th.js","webpack:///./node_modules/moment/locale/tg.js","webpack:///./node_modules/moment/locale/tet.js","webpack:///./node_modules/moment/locale/te.js","webpack:///./node_modules/moment/locale/ta.js","webpack:///./node_modules/moment/locale/sw.js","webpack:///./node_modules/moment/locale/sv.js","webpack:///./node_modules/moment/locale/ss.js","webpack:///./node_modules/moment/locale/sr-cyrl.js","webpack:///./node_modules/moment/locale/sr.js","webpack:///./node_modules/moment/locale/sq.js","webpack:///./node_modules/moment/locale/sl.js","webpack:///./node_modules/moment/locale/sk.js","webpack:///./node_modules/moment/locale/si.js","webpack:///./node_modules/moment/locale/se.js","webpack:///./node_modules/moment/locale/sd.js","webpack:///./node_modules/moment/locale/ru.js","webpack:///./node_modules/moment/locale/ro.js","webpack:///./node_modules/moment/locale/pt-br.js","webpack:///./node_modules/moment/locale/pt.js","webpack:///./node_modules/moment/locale/pl.js","webpack:///./node_modules/moment/locale/pa-in.js","webpack:///./node_modules/moment/locale/nn.js","webpack:///./node_modules/moment/locale/nl-be.js","webpack:///./node_modules/moment/locale/nl.js","webpack:///./node_modules/moment/locale/ne.js","webpack:///./node_modules/moment/locale/nb.js","webpack:///./node_modules/moment/locale/my.js","webpack:///./node_modules/moment/locale/mt.js","webpack:///./node_modules/moment/locale/ms-my.js","webpack:///./node_modules/moment/locale/ms.js","webpack:///./node_modules/moment/locale/mr.js","webpack:///./node_modules/moment/locale/mn.js","webpack:///./node_modules/moment/locale/ml.js","webpack:///./node_modules/moment/locale/mk.js","webpack:///./node_modules/moment/locale/mi.js","webpack:///./node_modules/moment/locale/me.js","webpack:///./node_modules/moment/locale/lv.js","webpack:///./node_modules/moment/locale/lt.js","webpack:///./node_modules/moment/locale/lo.js","webpack:///./node_modules/moment/locale/lb.js","webpack:///./node_modules/moment/locale/ky.js","webpack:///./node_modules/moment/locale/ko.js","webpack:///./node_modules/moment/locale/kn.js","webpack:///./node_modules/moment/locale/km.js","webpack:///./node_modules/moment/locale/kk.js","webpack:///./node_modules/moment/locale/ka.js","webpack:///./node_modules/moment/locale/jv.js","webpack:///./node_modules/moment/locale/ja.js","webpack:///./node_modules/moment/locale/it.js","webpack:///./node_modules/moment/locale/is.js","webpack:///./node_modules/moment/locale/id.js","webpack:///./node_modules/moment/locale/hy-am.js","webpack:///./node_modules/moment/locale/hu.js","webpack:///./node_modules/moment/locale/hr.js","webpack:///./node_modules/moment/locale/hi.js","webpack:///./node_modules/moment/locale/he.js","webpack:///./node_modules/moment/locale/gu.js","webpack:///./node_modules/moment/locale/gom-latn.js","webpack:///./node_modules/moment/locale/gl.js","webpack:///./node_modules/moment/locale/gd.js","webpack:///./node_modules/moment/locale/fy.js","webpack:///./node_modules/moment/locale/fr-ch.js","webpack:///./node_modules/moment/locale/fr-ca.js","webpack:///./node_modules/moment/locale/fr.js","webpack:///./node_modules/moment/locale/fo.js","webpack:///./node_modules/moment/locale/fi.js","webpack:///./node_modules/moment/locale/fa.js","webpack:///./node_modules/moment/locale/eu.js","webpack:///./node_modules/moment/locale/et.js","webpack:///./node_modules/moment/locale/es-us.js","webpack:///./node_modules/moment/locale/es-do.js","webpack:///./node_modules/moment/locale/es.js","webpack:///./node_modules/moment/locale/eo.js","webpack:///./node_modules/moment/locale/en-nz.js","webpack:///./node_modules/moment/locale/en-il.js","webpack:///./node_modules/moment/locale/en-ie.js","webpack:///./node_modules/moment/locale/en-gb.js","webpack:///./node_modules/moment/locale/en-ca.js","webpack:///./node_modules/moment/locale/en-au.js","webpack:///./node_modules/moment/locale/el.js","webpack:///./node_modules/moment/locale/dv.js","webpack:///./node_modules/moment/locale/de-ch.js","webpack:///./node_modules/moment/locale/de-at.js","webpack:///./node_modules/moment/locale/de.js","webpack:///./node_modules/moment/locale/da.js","webpack:///./node_modules/moment/locale/cy.js","webpack:///./node_modules/moment/locale/cv.js","webpack:///./node_modules/moment/locale/cs.js","webpack:///./node_modules/moment/locale/ca.js","webpack:///./node_modules/moment/locale/bs.js","webpack:///./node_modules/moment/locale/br.js","webpack:///./node_modules/moment/locale/bo.js","webpack:///./node_modules/moment/locale/bn.js","webpack:///./node_modules/moment/locale/bm.js","webpack:///./node_modules/moment/locale/bg.js","webpack:///./node_modules/moment/locale/be.js","webpack:///./node_modules/moment/locale/az.js","webpack:///./node_modules/moment/locale/ar-tn.js","webpack:///./node_modules/moment/locale/ar-sa.js","webpack:///./node_modules/moment/locale/ar-ma.js","webpack:///./node_modules/moment/locale/ar-ly.js","webpack:///./node_modules/moment/locale/ar-kw.js","webpack:///./node_modules/moment/locale/ar-dz.js","webpack:///./node_modules/moment/locale/ar.js","webpack:///./node_modules/moment/locale/af.js","webpack:///./lib/utils/extend-deep.js","webpack:///./node_modules/c3/c3.js","webpack:///./lib/dataset/utils/analyses.js","webpack:///./lib/dataset/index.js","webpack:///./lib/libraries/default/spinner.js","webpack:///./node_modules/moment/locale sync ^\\.\\/.*$","webpack:///(webpack)/buildin/module.js","webpack:///./node_modules/moment-timezone/moment-timezone.js","webpack:///./node_modules/moment-timezone/index.js","webpack:///./lib/libraries/default/table.js","webpack:///./lib/utils/pretty-number.js","webpack:///./lib/libraries/default/metric.js","webpack:///./lib/libraries/default/message.js","webpack:///./lib/libraries/c3/extensions/tooltip-contents.js","webpack:///./lib/libraries/c3/extensions/paginating-legend.js","webpack:///./lib/libraries/c3/extensions/default-date-format.js","webpack:///./lib/libraries/index.js","webpack:///./lib/data.js","webpack:///./lib/dataset/utils/object.js","webpack:///./lib/dataset/utils/flatten.js","webpack:///./lib/dataset/utils/parsers.js","webpack:///./lib/dataset/modifiers/update.js","webpack:///./lib/dataset/modifiers/sort.js","webpack:///./lib/dataset/modifiers/select.js","webpack:///./lib/dataset/modifiers/insert.js","webpack:///./lib/dataset/modifiers/filter.js","webpack:///./lib/dataset/modifiers/delete.js","webpack:///./lib/index.js","webpack:///(webpack)/buildin/global.js","webpack:///./lib/browser.js"],"names":["root","factory","exports","module","define","amd","a","i","window","installedModules","__webpack_require__","moduleId","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","configurable","enumerable","get","r","value","n","__esModule","object","property","prototype","hasOwnProperty","p","s","hookCallback","some","hooks","apply","arguments","isArray","input","Array","toString","isObject","isUndefined","isNumber","isDate","Date","map","arr","fn","res","length","push","hasOwnProp","b","extend","valueOf","createUTC","format","locale","strict","createLocalOrUTC","utc","getParsingFlags","_pf","empty","unusedTokens","unusedInput","overflow","charsLeftOver","nullInput","invalidMonth","invalidFormat","userInvalidated","iso","parsedDateParts","meridiem","rfc2822","weekdayMismatch","isValid","_isValid","flags","parsedParts","isNowValid","isNaN","_d","getTime","invalidWeekday","_strict","undefined","bigHour","isFrozen","createInvalid","NaN","fun","t","this","len","momentProperties","copyConfig","to","from","prop","val","_isAMomentObject","_i","_f","_l","_tzm","_isUTC","_offset","_locale","updateInProgress","Moment","config","updateOffset","isMoment","obj","absFloor","number","Math","ceil","floor","toInt","argumentForCoercion","coercedNumber","isFinite","compareArrays","array1","array2","dontConvert","min","lengthDiff","abs","diffs","warn","msg","suppressDeprecationWarnings","console","deprecate","firstTime","deprecationHandler","arg","args","key","slice","join","Error","stack","keys","deprecations","deprecateSimple","isFunction","Function","mergeConfigs","parentConfig","childConfig","Locale","set","aliases","addUnitAlias","unit","shorthand","lowerCase","toLowerCase","normalizeUnits","units","normalizeObjectUnits","inputObject","normalizedProp","normalizedInput","priorities","addUnitPriority","priority","zeroFill","targetLength","forceSign","absNumber","zerosToFill","sign","pow","max","substr","formattingTokens","localFormattingTokens","formatFunctions","formatTokenFunctions","addFormatToken","token","padded","ordinal","callback","func","localeData","formatMoment","expandFormat","array","match","replace","mom","output","makeFormatFunction","invalidDate","replaceLongDateFormatTokens","longDateFormat","lastIndex","test","match1","match2","match3","match4","match6","match1to2","match3to4","match5to6","match1to3","match1to4","match1to6","matchUnsigned","matchSigned","matchOffset","matchShortOffset","matchWord","regexes","addRegexToken","regex","strictRegex","isStrict","getParseRegexForToken","RegExp","regexEscape","matched","p1","p2","p3","p4","tokens","addParseToken","addWeekParseToken","_w","addTimeToArrayFromToken","_a","YEAR","MONTH","DATE","HOUR","MINUTE","SECOND","MILLISECOND","WEEK","WEEKDAY","daysInYear","year","isLeapYear","y","parseTwoDigitYear","parseInt","indexOf","getSetYear","makeGetSet","keepTime","set$1","month","date","daysInMonth","x","modMonth","monthsShort","months","monthsShortRegex","monthsRegex","monthsParse","MONTHS_IN_FORMAT","defaultLocaleMonths","split","defaultLocaleMonthsShort","setMonth","dayOfMonth","getSetMonth","defaultMonthsShortRegex","defaultMonthsRegex","computeMonthsParse","cmpLenRev","shortPieces","longPieces","mixedPieces","sort","_monthsRegex","_monthsShortRegex","_monthsStrictRegex","_monthsShortStrictRegex","createUTCDate","UTC","getUTCFullYear","setUTCFullYear","firstWeekOffset","dow","doy","fwd","fwdlw","getUTCDay","dayOfYearFromWeeks","week","weekday","resYear","resDayOfYear","localWeekday","weekOffset","dayOfYear","weekOfYear","resWeek","weeksInYear","weekOffsetNext","weekdaysMin","weekdaysShort","weekdays","weekdaysMinRegex","weekdaysShortRegex","weekdaysRegex","weekdaysParse","defaultLocaleWeekdays","defaultLocaleWeekdaysShort","defaultLocaleWeekdaysMin","defaultWeekdaysRegex","defaultWeekdaysShortRegex","defaultWeekdaysMinRegex","computeWeekdaysParse","minp","shortp","longp","minPieces","day","_weekdaysRegex","_weekdaysShortRegex","_weekdaysMinRegex","_weekdaysStrictRegex","_weekdaysShortStrictRegex","_weekdaysMinStrictRegex","hFormat","hours","lowercase","minutes","matchMeridiem","_meridiemParse","seconds","kInput","_isPm","isPM","_meridiem","pos","pos1","pos2","globalLocale","getSetHour","baseConfig","calendar","sameDay","nextDay","nextWeek","lastDay","lastWeek","sameElse","LTS","LT","L","LL","LLL","LLLL","dayOfMonthOrdinalParse","relativeTime","future","past","ss","mm","h","hh","dd","M","MM","yy","meridiemParse","locales","localeFamilies","normalizeLocale","loadLocale","oldLocale","_abbr","getSetGlobalLocale","e","values","data","getLocale","defineLocale","abbr","_config","parentLocale","forEach","names","j","next","chooseLocale","checkOverflow","_overflowDayOfYear","_overflowWeeks","_overflowWeekday","defaults","configFromArray","currentDate","expectedWeekday","yearToUse","nowValue","now","_useUTC","getUTCMonth","getUTCDate","getFullYear","getMonth","getDate","currentDateArray","w","weekYear","temp","weekdayOverflow","GG","W","E","createLocal","_week","curWeek","gg","_dayOfYear","dayOfYearFromWeekInfo","_nextDay","ms","setFullYear","getDay","setUTCMinutes","getUTCMinutes","extendedIsoRegex","basicIsoRegex","tzRegex","isoDates","isoTimes","aspNetJsonRegex","configFromISO","allowTime","dateFormat","timeFormat","tzFormat","string","exec","configFromStringAndFormat","extractFromRFC2822Strings","yearStr","monthStr","dayStr","hourStr","minuteStr","secondStr","result","untruncateYear","obsOffsets","UT","GMT","EDT","EST","CDT","CST","MDT","MST","PDT","PST","configFromRFC2822","parsedArray","weekdayStr","parsedInput","weekdayProvided","weekdayActual","checkWeekday","obsOffset","militaryOffset","numOffset","hm","calculateOffset","ISO_8601","RFC_2822","skipped","stringLength","totalParsedInputLength","hour","meridiemHour","isPm","prepareConfig","preparse","tempConfig","bestMoment","scoreToBeat","currentScore","score","configFromStringAndArray","createFromInputFallback","configFromString","minute","second","millisecond","configFromObject","configFromInput","isUTC","getOwnPropertyNames","k","isObjectEmpty","add","prototypeMin","other","prototypeMax","pickBy","moments","ordering","Duration","duration","years","quarters","quarter","weeks","days","milliseconds","unitHasDecimal","parseFloat","isDurationValid","_milliseconds","_days","_months","_data","_bubble","isDuration","absRound","round","offset","separator","utcOffset","offsetFromString","chunkOffset","matcher","matches","chunk","parts","cloneWithOffset","model","diff","clone","setTime","local","getDateOffset","getTimezoneOffset","isUtc","aspNetRegex","isoRegex","createDuration","ret","diffRes","base","parseIso","isBefore","positiveMomentsDifference","inp","isAfter","createAdder","direction","period","tmp","addSubtract","isAdding","invalid","subtract","monthDiff","anchor2","adjust","wholeMonthDiff","anchor","newLocaleData","defaultFormat","defaultFormatUtc","lang","addWeekYearFormatToken","getSetWeekYearHelper","weeksTarget","dayOfYearData","isoWeekYear","_dayOfMonthOrdinalParse","_ordinalParse","_dayOfMonthOrdinalParseLenient","getSetDayOfMonth","getSetMinute","getSetSecond","parseMs","getSetMillisecond","proto","preParsePostFormat","time","formats","sod","startOf","calendarFormat","asFloat","that","zoneDelta","endOf","inputString","postformat","withoutSuffix","humanize","fromNow","toNow","invalidAt","localInput","isBetween","inclusivity","isSame","inputMs","isSameOrAfter","isSameOrBefore","parsingFlags","prioritized","unitsObj","u","getPrioritizedUnits","isoWeekday","toArray","toObject","toDate","toISOString","keepOffset","inspect","zone","isLocal","prefix","suffix","toJSON","unix","creationData","isoWeek","isoWeeks","weekInfo","isoWeeksInYear","parseWeekday","parseIsoWeekday","keepLocalTime","keepMinutes","localAdjust","_changeInProgress","parseZone","tZone","hasAlignedHourOffset","isDST","isUtcOffset","zoneAbbr","zoneName","dates","isDSTShifted","_isDSTShifted","proto$1","get$1","index","field","setter","listMonthsImpl","out","listWeekdaysImpl","localeSorted","shift","_calendar","_longDateFormat","formatUpper","toUpperCase","_invalidDate","_ordinal","isFuture","_relativeTime","pastFuture","source","isFormat","_monthsShort","monthName","_monthsParseExact","ii","llc","toLocaleLowerCase","_monthsParse","_longMonthsParse","_shortMonthsParse","firstDayOfYear","firstDayOfWeek","_weekdays","_weekdaysMin","_weekdaysShort","weekdayName","_weekdaysParseExact","_weekdaysParse","_shortWeekdaysParse","_minWeekdaysParse","_fullWeekdaysParse","charAt","isLower","langData","mathAbs","addSubtract$1","absCeil","daysToMonths","monthsToDays","makeAs","alias","as","asMilliseconds","asSeconds","asMinutes","asHours","asDays","asWeeks","asMonths","asYears","makeGetter","thresholds","abs$1","toISOString$1","Y","D","toFixed","total","totalSign","ymSign","daysSign","hmsSign","proto$2","monthsFromDays","withSuffix","posNegDuration","relativeTime$1","toIsoString","version","updateLocale","tmpLocale","relativeTimeRounding","roundingFunction","relativeTimeThreshold","threshold","limit","myMoment","HTML5_FMT","DATETIME_LOCAL","DATETIME_LOCAL_SECONDS","DATETIME_LOCAL_MS","TIME","TIME_SECONDS","TIME_MS","each","cb","escapeHtml","escape","str","matchHtmlRegExp","html","charCodeAt","substring","target","ascending","bisector","compare","f","left","lo","hi","mid","right","ascendingBisect","bisectRight","bisectLeft","bisect","pairs","pair","cross","values0","values1","reduce","i0","i1","value0","n0","n1","descending","variance","valueof","delta","mean","sum","deviation","v","sqrt","src_extent","array_array","constant","identity","src_range","start","stop","step","range","e10","e5","e2","ticks","count","reverse","tickIncrement","power","log","LN10","error","tickStep","step0","step1","sturges","LN2","src_histogram","domain","histogram","xz","x0","x1","tz","pop","bin","bins","_","quantile","freedmanDiaconis","scott","src_max","src_mean","median","numbers","src_merge","arrays","merged","src_min","permute","indexes","permutes","scan","xi","xj","shuffle","random","src_sum","src_transpose","matrix","transpose_length","transpose","row","zip","array_slice","src_identity","axis_top","axis_right","axis_bottom","axis_left","epsilon","translateX","translateY","entering","__axis","axis_axis","orient","scale","tickArguments","tickValues","tickFormat","tickSizeInner","tickSizeOuter","tickPadding","transform","axis","context","spacing","range0","range1","position","bandwidth","copy","selection","path","selectAll","tick","order","tickExit","exit","tickEnter","enter","append","attr","line","select","text","merge","insert","transition","getAttribute","parentNode","remove","filter","tickSize","axisTop","axisRight","axisBottom","axisLeft","noop","dispatch","Dispatch","type","concat","constructor","on","typename","types","T","trim","src_dispatch","xhtml","namespaces","svg","xlink","xml","xmlns","namespace","space","creator","fullname","ownerDocument","createElementNS","document","uri","namespaceURI","documentElement","createElement","none","src_selector","selector","querySelector","selectorAll_empty","selectorAll","querySelectorAll","matcher_element","vendorMatches","webkitMatchesSelector","msMatchesSelector","mozMatchesSelector","oMatchesSelector","src_matcher","sparse","update","EnterNode","parent","datum","_next","_parent","__data__","appendChild","child","insertBefore","keyPrefix","bindIndex","group","node","groupLength","dataLength","bindKey","keyValue","nodeByKeyValue","keyValues","sort_ascending","src_window","defaultView","styleValue","style","getPropertyValue","getComputedStyle","classArray","classList","ClassList","_node","_names","classedAdd","list","classedRemove","setAttribute","splice","contains","textRemove","textContent","htmlRemove","innerHTML","raise","nextSibling","lower","previousSibling","firstChild","constantNull","removeChild","selection_cloneShallow","cloneNode","selection_cloneDeep","filterEvents","on_event","mouseenter","mouseleave","filterContextListener","listener","contextListener","event","related","relatedTarget","compareDocumentPosition","event1","event0","onRemove","__on","removeEventListener","capture","onAdd","wrap","addEventListener","customEvent","sourceEvent","dispatchEvent","params","CustomEvent","createEvent","initEvent","bubbles","cancelable","detail","selection_root","Selection","groups","parents","_groups","_parents","selection_selection","subgroups","subnode","subgroup","size","bind","enterGroup","updateGroup","previous","_enter","_exit","groups0","groups1","m0","m1","merges","group0","group1","compareNode","sortgroups","sortgroup","nodes","getAttributeNS","removeAttributeNS","removeAttribute","setAttributeNS","removeProperty","setProperty","classed","create","before","deep","typenames","on_parseTypenames","src_selection","src_select","src_create","nextId","Local","id","current","src_point","ownerSVGElement","createSVGPoint","point","clientX","clientY","matrixTransform","getScreenCTM","inverse","rect","getBoundingClientRect","clientLeft","top","clientTop","mouse","changedTouches","src_selectAll","src_touch","touches","identifier","touch","src_touches","points","nopropagation","stopImmediatePropagation","noevent","preventDefault","nodrag","view","__noselect","MozUserSelect","yesdrag","noclick","setTimeout","d3_drag_src_constant","DragEvent","subject","active","dx","dy","defaultFilter","button","defaultContainer","defaultSubject","defaultTouchable","src_drag","mousedownx","mousedowny","mousemoving","touchending","container","touchable","gestures","listeners","clickDistance2","drag","mousedowned","touchstarted","touchmoved","touchended","gesture","beforestart","mousemoved","mouseupped","clearTimeout","sublisteners","p0","clickDistance","definition","Color","reI","reN","reP","reHex3","reHex6","reRgbInteger","reRgbPercent","reRgbaInteger","reRgbaPercent","reHslPercent","reHslaPercent","named","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","green","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen","color_color","Rgb","rgbn","rgba","hsla","g","rgbConvert","rgb","opacity","color_rgb","hex","Hsl","hsl","hslConvert","hsl2rgb","m2","displayable","brighter","darker","deg2rad","PI","rad2deg","Xn","Yn","Zn","lab_t0","lab_t1","lab_t2","t3","labConvert","Lab","Hcl","cos","sin","z","rgb2lrgb","xyz2lab","lab","lab2xyz","lrgb2rgb","hclConvert","atan2","lch","hcl","C","cubehelix_D","cubehelix_E","ED","EB","BC_DA","cubehelix_cubehelix","Cubehelix","bl","cubehelixConvert","basis","t1","v0","v1","v2","v3","t2","cosh","sinh","src_basis","basisClosed","d3_interpolate_src_constant","linear","color_hue","gamma","nogamma","exponential","rgbGamma","color","end","rgbSpline","spline","colors","rgbBasis","rgbBasisClosed","src_array","nb","na","src_value","src_date","src_number","src_object","reA","reB","cssNode","cssRoot","cssView","svgNode","src_string","am","bm","bs","bi","q","one","string_zero","src_rgb","src_round","degrees","decompose_identity","rotate","skewX","scaleX","scaleY","decompose","atan","interpolateTransform","parse","pxComma","pxParen","degParen","xa","ya","xb","yb","translate","interpolateTransformCss","interpolateTransformSvg","baseVal","consolidate","rho","SQRT2","zoom_cosh","exp","src_zoom","S","ux0","uy0","w0","ux1","uy1","w1","d2","d1","b0","b1","r0","r1","coshr0","zoom_sinh","hsl_hsl","hue","src_hsl","hslLong","lab_lab","hcl_hcl","src_hcl","hclLong","src_cubehelix_cubehelix","cubehelixGamma","cubehelix","src_cubehelix","cubehelixLong","piecewise_piecewise","interpolate","I","taskHead","taskTail","quantize","interpolator","samples","timer_frame","timeout","timer_interval","pokeDelay","clockLast","clockNow","clockSkew","clock","performance","setFrame","requestAnimationFrame","clearNow","Timer","_call","_time","timer","delay","restart","timerFlush","wake","t0","Infinity","sleep","nap","poke","clearInterval","setInterval","TypeError","src_timeout","elapsed","src_interval","emptyOn","emptyTween","CREATED","SCHEDULED","STARTING","STARTED","RUNNING","ENDING","ENDED","transition_schedule","timing","schedules","__transition","self","tween","state","ease","schedule_create","schedule_init","schedule","schedule_get","schedule_set","interrupt","tweenValue","_id","transition_interpolate","selection_Selection","transition_id","Transition","_name","src_transition_transition","newId","selection_prototype","linear_linear","quadIn","quadOut","quadInOut","cubicIn","cubicOut","cubicInOut","children","inherit","id0","id1","on0","on1","sit","every","on_start","onFunction","attrTween","value00","value10","interpolate0","value1","_value","styleTween","style_styleRemove","styleRemoveEnd","style_styleFunction","style_styleConstant","text_textFunction","text_textConstant","tween0","tween1","easeConstant","polyIn","custom","exponent","polyOut","polyInOut","pi","halfPi","sinIn","sinOut","sinInOut","expIn","expOut","expInOut","circleIn","circleOut","circleInOut","bounce_b1","b2","b3","b4","b5","b6","b7","b8","b9","bounce_b0","bounceIn","bounceOut","bounceInOut","backIn","overshoot","backOut","backInOut","tau","elasticIn","asin","amplitude","elasticOut","elasticInOut","defaultTiming","transition_inherit","active_root","src_active","d3_brush_src_constant","src_event","noevent_nopropagation","src_noevent","MODE_DRAG","MODE_SPACE","MODE_HANDLE","MODE_CENTER","brush_X","handles","brush_type","xy","brush_Y","XY","cursors","overlay","nw","ne","se","sw","flipX","flipY","signsX","signsY","brush_defaultFilter","defaultExtent","width","height","brush_local","__brush","brush_empty","extent","brushSelection","dim","brushX","brush_brush","brushY","brush","handleSize","initialize","handle","redraw","started","emitter","Emitter","e0","e1","s0","s1","moving","lockX","lockY","mode","metaKey","altKey","signX","signY","N","shifting","shiftKey","point0","emit","moved","ended","keyCode","move","point1","selection0","selection1","starting","math_pi","math_halfPi","math_tau","math_max","src_chord","padAngle","sortGroups","sortSubgroups","sortChords","chord","groupSums","groupIndex","subgroupIndex","chords","di","dj","a0","a1","subindex","startAngle","endAngle","src_array_slice","d3_chord_src_constant","path_pi","path_tau","tauEpsilon","Path","_x0","_y0","_x1","_y1","path_path","moveTo","closePath","lineTo","quadraticCurveTo","y1","bezierCurveTo","x2","y2","arcTo","y0","x21","y21","x01","y01","l01_2","x20","y20","l21_2","l20_2","l21","l01","acos","t01","t21","arc","ccw","cw","da","src_path","defaultSource","defaultTarget","defaultRadius","radius","defaultStartAngle","defaultEndAngle","src_ribbon","ribbon","buffer","argv","sr","sa0","sa1","sx0","sy0","tr","ta0","ta1","Map","map_map","has","clear","entries","src_map","src_nest","sortValues","rollup","nest","sortKeys","depth","createResult","setResult","valuesByKey","createObject","setObject","createMap","setMap","sortKey","Set","set_set","src_set","src_keys","src_values","src_entries","d3_contour_src_array_slice","src_ascending","src_area","ring","area","d3_contour_src_constant","hole","ringContains","yi","pj","yj","segmentContains","collinear","src_noop","cases","src_contours","smooth","smoothLinear","contours","contour","polygons","holes","fragmentByStart","fragmentByEnd","stitch","startIndex","endIndex","unshift","isorings","polygon","coordinates","xt","yt","_0","_1","blurX","blurY","defaultX","defaultY","src_density","density","Float32Array","geometry","transformPolygon","transformRing","transformPoint","resize","cellSize","EOL","EOF","QUOTE","NEWLINE","RETURN","objectConverter","columns","JSON","stringify","dsv","delimiter","reFormat","DELIMITER","parseRows","rows","eof","eol","formatRow","formatValue","convert","customConverter","columnSet","column","inferColumns","formatRows","csv","csvParse","csvParseRows","csvFormat","csvFormatRows","tsv","tsvParse","tsvParseRows","tsvFormat","tsvFormatRows","responseBlob","response","ok","status","statusText","blob","init","fetch","then","responseArrayBuffer","arrayBuffer","src_buffer","responseText","src_text","dsvParse","dsv_dsv","dsv_csv","dsv_tsv","src_image","Promise","resolve","reject","image","Image","onerror","onload","src","responseJson","json","parser","DOMParser","parseFromString","xml_html","src_center","force","sx","sy","d3_force_src_constant","jiggle","add_add","tree","xm","ym","xp","yp","bottom","_root","leaf","_x","_y","src_quad","x_defaultX","y_defaultY","quadtree","Quadtree","addAll","leaf_copy","treeProto","collide_x","vx","collide_y","vy","cover","yz","visit","find","x3","y3","quads","retainer","removeAll","visitAfter","collide","radii","strength","iterations","ri","ri2","prepare","quad","rj","link_index","link_find","nodeById","nodeId","links","strengths","distances","bias","link","distance","alpha","initializeStrength","initializeDistance","simulation_x","simulation_y","initialRadius","initialAngle","src_simulation","simulation","alphaMin","alphaDecay","alphaTarget","velocityDecay","forces","stepper","fx","fy","initializeNodes","angle","initializeForce","closest","distanceMin2","distanceMax2","theta2","accumulate","weight","distanceMin","distanceMax","theta","radial","radiuses","d3_force_src_x","d3_force_src_y","formatDecimal","toExponential","coefficient","src_exponent","re","formatSpecifier","specifier","FormatSpecifier","fill","align","symbol","zero","comma","precision","prefixExponent","defaultLocale_locale","defaultLocale_format","defaultLocale_formatPrefix","formatTrim","formatRounded","formatTypes","%","toPrecision","X","d3_format_src_identity","prefixes","src_locale","grouping","thousands","currency","decimal","numerals","formatNumerals","percent","newFormat","formatType","maybeSuffix","valuePrefix","valueSuffix","valueNegative","padding","formatPrefix","defaultLocale","precisionFixed","precisionPrefix","precisionRound","adder","Adder","reset","adder_add","bv","av","math_epsilon","src_math_pi","src_math_halfPi","quarterPi","src_math_tau","math_degrees","radians","math_cos","math_sin","math_sign","haversin","noop_noop","streamGeometry","stream","streamGeometryType","streamObjectType","Feature","FeatureCollection","features","Sphere","sphere","Point","MultiPoint","LineString","streamLine","MultiLineString","Polygon","streamPolygon","MultiPolygon","GeometryCollection","geometries","closed","coordinate","lineStart","lineEnd","polygonStart","polygonEnd","area_lambda00","phi00","area_lambda0","area_cosPhi0","area_sinPhi0","src_stream","areaRingSum","areaSum","areaStream","areaRingStart","areaRingEnd","areaRing","areaPointFirst","areaPoint","lambda","phi","dLambda","sdLambda","adLambda","cosPhi","sinPhi","d3_geo_src_area","cartesian_spherical","cartesian","cartesian_cartesian","spherical","cartesianDot","cartesianCross","cartesianAddInPlace","cartesianScale","vector","cartesianNormalizeInPlace","bounds_lambda0","bounds_phi0","bounds_lambda1","bounds_phi1","bounds_lambda2","bounds_lambda00","bounds_phi00","bounds_p0","ranges","bounds_range","deltaSum","boundsStream","boundsPoint","boundsLineStart","boundsLineEnd","boundsRingPoint","boundsRingStart","boundsRingEnd","bounds_linePoint","normal","inflection","phii","lambdai","antimeridian","bounds_angle","lambda0","lambda1","rangeCompare","rangeContains","W0","W1","centroid_X0","centroid_Y0","Z0","centroid_X1","centroid_Y1","Z1","X2","Y2","Z2","centroid_lambda00","centroid_phi00","centroid_x0","centroid_y0","z0","bounds","feature","deltaMax","centroidStream","centroidPoint","centroidLineStart","centroidLineEnd","centroidRingStart","centroidRingEnd","centroidPointCartesian","centroidLinePointFirst","centroidLinePoint","centroidRingPointFirst","centroidRingPoint","cx","cy","cz","d3_geo_src_constant","compose","invert","rotationIdentity","rotateRadians","deltaLambda","deltaPhi","deltaGamma","rotationLambda","rotationPhiGamma","forwardRotationLambda","rotation","cosDeltaPhi","sinDeltaPhi","cosDeltaGamma","sinDeltaGamma","src_rotation","forward","circleStream","cosRadius","sinRadius","circleRadius","src_circle","center","circle","clip_buffer","lines","rejoin","pointEqual","Intersection","entry","segments","compareIntersection","startInside","clip","segment","rejoin_link","isSubject","polygonContains_sum","polygonContains","winding","phi0","sinPhi0","cosPhi0","sinPhi1","cosPhi1","phi1","absDelta","intersection","phiArc","src_clip","pointVisible","clipLine","sink","ringBuffer","ringSink","polygonStarted","pointRing","ringStart","ringEnd","clip_compareIntersection","pointLine","clean","ringSegments","validSegment","sign0","sign1","sinLambda0Lambda1","clipAntimeridianIntersect","clip_circle","cr","smallRadius","notHemisphere","visible","intersect","two","n2","n2n2","n1n2","determinant","c1","c2","n1xn2","A","uu","polar","q1","code","c0","v00","point2","clip_line","ax","ay","clipMax","clipMin","clipRectangle","corner","comparePoint","ca","x__","y__","v__","x_","y_","v_","first","activeStream","bufferStream","clipStream","linePoint","polygonInside","cleanInside","length_lambda0","length_sinPhi0","length_cosPhi0","clip_extent","cache","cacheStream","lengthSum","lengthStream","lengthPointFirst","lengthLineEnd","lengthPoint","cosDelta","src_length","distance_coordinates","distance_object","src_distance","containsObjectType","containsGeometry","containsGeometryType","containsPoint","containsLine","containsPolygon","ab","ringRadians","pointRadians","src_contains","graticuleX","graticuleY","graticule_graticule","X1","X0","Y1","Y0","DX","DY","graticule","outline","extentMajor","extentMinor","stepMajor","stepMinor","graticule10","area_x00","area_y00","area_x0","area_y0","src_interpolate","cy0","cy1","sy1","kx0","ky0","kx1","ky1","B","d3_geo_src_identity","area_areaSum","area_areaRingSum","area_areaStream","area_areaRingStart","area_areaRingEnd","area_areaPointFirst","area_areaPoint","path_area","bounds_x0","bounds_y0","bounds_x1","bounds_y1","centroid_x00","centroid_y00","path_centroid_x0","path_centroid_y0","path_bounds","path_centroid_X0","path_centroid_Y0","centroid_Z0","path_centroid_X1","path_centroid_Y1","centroid_Z1","centroid_X2","centroid_Y2","centroid_Z2","centroid_centroidStream","centroid_centroidPoint","centroid_centroidLineStart","centroid_centroidLineEnd","centroid_centroidRingStart","centroid_centroidRingEnd","centroid","centroidPointFirstLine","centroidPointLine","centroidPointFirstRing","centroidPointRing","path_centroid","PathContext","_context","_radius","pointRadius","_line","_point","lengthRing","measure_x00","measure_y00","measure_x0","measure_y0","measure_lengthSum","measure_lengthStream","measure_lengthPointFirst","measure_lengthPoint","measure","PathString","_string","string_circle","_circle","projection","projectionStream","contextStream","src_transform","methods","transformer","TransformStream","fit","fitBounds","clipExtent","fitExtent","fitSize","fitWidth","fitHeight","maxDepth","cosMinDistance","resample","project","delta2","resampleLineTo","phi2","lambda2","dx2","dy2","dz","lambda00","x00","y00","a00","b00","c00","resampleStream","ringPoint","resample_resample","resampleNone","transformRadians","scaleTranslateRotate","cosAlpha","sinAlpha","ai","ci","fi","projection_projection","projectionMutator","projectAt","projectResample","projectTransform","projectRotateTransform","preclip","clip_antimeridian","postclip","recenter","transformRotate","clipAngle","conicProjection","parallels","conicEqualAreaRaw","cylindricalEqualAreaRaw","r0y","conicEqualArea","albers","projection_albersUsa","lower48Point","alaskaPoint","hawaiiPoint","lower48","alaska","hawaii","pointStream","albersUsa","streams","azimuthalRaw","azimuthalInvert","sc","cc","azimuthalEqualAreaRaw","cxcy","azimuthalEqualArea","azimuthalEquidistantRaw","azimuthalEquidistant","mercatorRaw","mercator","mercatorProjection","reclip","tany","conicConformalRaw","conicConformal","equirectangularRaw","equirectangular","conicEquidistantRaw","gy","nx","conicEquidistant","gnomonicRaw","gnomonic","identity_scaleTranslate","kx","ky","tx","ty","projection_identity","reflectX","reflectY","naturalEarth1Raw","phi4","naturalEarth1","orthographicRaw","orthographic","stereographicRaw","stereographic","transverseMercatorRaw","transverseMercator","defaultSeparation","meanXReduce","maxYReduce","cluster","separation","nodeSize","previousNode","eachAfter","meanX","maxY","leafLeft","leafRight","count_count","hierarchy","childs","Node","valued","defaultChildren","eachBefore","computeHeight","copyData","ancestor","aNodes","ancestors","bNodes","leastCommonAncestor","descendants","leaves","d3_hierarchy_src_array_slice","enclose","circles","array_shuffle","enclosesWeak","encloseBasis","extendBasis","enclosesWeakAll","enclosesNot","encloseBasis2","encloseBasis3","dr","r2","r21","r3","a2","a3","c3","d3","place","intersects","siblings_Node","packEnclose","aa","sj","sk","pack","siblings","required","constantZero","d3_hierarchy_src_constant","pack_defaultRadius","src_pack","radiusLeaf","packChildren","translateChild","treemap_round","dice","src_partition","partition","positionNode","stratify_keyPrefix","preroot","ambiguous","defaultId","defaultParentId","parentId","stratify","nodeKey","nodeByKey","tree_defaultSeparation","nextLeft","nextRight","moveSubtree","wm","wp","change","nextAncestor","vim","TreeNode","src_tree","treeRoot","firstWalk","secondWalk","sizeNode","executeShifts","midpoint","vip","vop","vom","sip","sop","sim","som","apportion","treemap_slice","squarify_phi","squarifyRatio","ratio","nodeValue","sumValue","minValue","maxValue","newRatio","minRatio","beta","squarify","src_treemap","tile","paddingStack","paddingInner","paddingTop","paddingRight","paddingBottom","paddingLeft","treemap","paddingOuter","binary","sums","valueOffset","valueTarget","valueLeft","valueRight","xk","yk","sliceDice","treemap_resquarify","resquarify","_squarify","d3_polygon_src_area","d3_polygon_src_centroid","src_cross","lexicographicOrder","computeUpperHullIndexes","hull","sortedPoints","flippedPoints","upperIndexes","lowerIndexes","skipLeft","skipRight","d3_polygon_src_contains","inside","d3_polygon_src_length","perimeter","src_defaultSource","uniform","sourceRandomUniform","randomUniform","src_normal","sourceRandomNormal","randomNormal","mu","sigma","logNormal","sourceRandomLogNormal","randomLogNormal","irwinHall","sourceRandomIrwinHall","randomIrwinHall","bates","sourceRandomBates","randomBates","src_exponential","sourceRandomExponential","randomExponential","d3_scale_src_array_array","array_map","d3_scale_src_array_slice","implicit","unknown","band","ordinalRange","rescale","rangeRound","band_point","pointish","d3_scale_src_constant","d3_scale_src_number","deinterpolateLinear","bimap","deinterpolate","reinterpolate","d0","polymap","clamp","continuous","piecewise","deinterpolateClamp","reinterpolateClamp","src_tickFormat","linearish","nice","src_linear_linear","identity_identity","interval","log_deinterpolate","log_reinterpolate","pow10","powp","logp","log10","log2","reflect","log_log","logs","pows","pow_raise","pow_pow","pow_sqrt","quantile_quantile","invertExtent","quantiles","quantize_quantize","threshold_threshold","interval_t0","interval_t1","newInterval","floori","offseti","millisecond_millisecond","src_millisecond","durationMinute","durationWeek","second_second","getUTCSeconds","minute_minute","getMinutes","hour_hour","getHours","src_hour","day_day","setHours","setDate","src_day","sunday","monday","tuesday","wednesday","thursday","friday","saturday","sundays","mondays","tuesdays","wednesdays","thursdays","fridays","saturdays","month_month","src_month","year_year","src_year","utcMinute","setUTCSeconds","src_utcMinute","utcMinutes","utcHour","getUTCHours","src_utcHour","utcHours","utcDay","setUTCHours","setUTCDate","utcDays","utcWeekday","utcSunday","utcMonday","utcTuesday","utcWednesday","utcThursday","utcFriday","utcSaturday","utcSundays","utcMondays","utcTuesdays","utcWednesdays","utcThursdays","utcFridays","utcSaturdays","utcMonth","setUTCMonth","src_utcMonth","utcMonths","utcYear","src_utcYear","utcYears","localDate","H","utcDate","newYear","formatLocale","locale_dateTime","dateTime","locale_date","locale_time","locale_periods","periods","locale_weekdays","locale_shortWeekdays","shortDays","locale_months","locale_shortMonths","shortMonths","periodRe","formatRe","periodLookup","formatLookup","weekdayRe","weekdayLookup","shortWeekdayRe","shortWeekdayLookup","monthRe","monthLookup","shortMonthRe","shortMonthLookup","formatDayOfMonth","formatMicroseconds","formatHour24","formatHour12","formatDayOfYear","formatMilliseconds","formatMonthNumber","formatMinutes","Q","formatUnixTimestamp","formatUnixTimestampSeconds","formatSeconds","formatWeekdayNumberMonday","U","formatWeekNumberSunday","V","formatWeekNumberISO","formatWeekdayNumberSunday","formatWeekNumberMonday","locale_formatYear","formatFullYear","Z","formatZone","formatLiteralPercent","utcFormats","formatUTCDayOfMonth","formatUTCMicroseconds","formatUTCHour24","formatUTCHour12","formatUTCDayOfYear","formatUTCMilliseconds","formatUTCMonthNumber","formatUTCMinutes","formatUTCSeconds","formatUTCWeekdayNumberMonday","formatUTCWeekNumberSunday","formatUTCWeekNumberISO","formatUTCWeekdayNumberSunday","formatUTCWeekNumberMonday","formatUTCYear","formatUTCFullYear","formatUTCZone","parses","parseSpecifier","parseDayOfMonth","parseMicroseconds","parseHour24","parseDayOfYear","parseMilliseconds","parseMonthNumber","parseMinutes","parseUnixTimestamp","parseUnixTimestampSeconds","parseSeconds","parseWeekdayNumberMonday","parseWeekNumberSunday","parseWeekNumberISO","parseWeekdayNumberSunday","parseWeekNumberMonday","parseYear","parseFullYear","parseLiteralPercent","pad","pads","newParse","newDate","src_utcDay","utcFormat","utcParse","src_defaultLocale_locale","timeParse","-","0","numberRe","percentRe","requoteRe","requote","getMilliseconds","getSeconds","getUTCMilliseconds","defaultLocale_defaultLocale","isoFormat","isoParse","time_durationSecond","time_durationMinute","time_durationHour","time_durationDay","time_durationWeek","durationMonth","durationYear","time_date","time_number","formatMillisecond","formatSecond","formatMinute","formatHour","formatDay","formatWeek","formatMonth","formatYear","tickIntervals","tickInterval","src_time","src_minute","src_second","utcTime","sequential","src_colors","category10","Accent","Dark2","Paired","Pastel1","Pastel2","Set1","Set2","Set3","ramp","scheme","BrBG_scheme","BrBG","PRGn_scheme","PRGn","PiYG_scheme","PiYG","PuOr_scheme","PuOr","RdBu_scheme","RdBu","RdGy_scheme","RdGy","RdYlBu_scheme","RdYlBu","RdYlGn_scheme","RdYlGn","Spectral_scheme","Spectral","BuGn_scheme","BuGn","BuPu_scheme","BuPu","GnBu_scheme","GnBu","OrRd_scheme","OrRd","PuBuGn_scheme","PuBuGn","PuBu_scheme","PuBu","PuRd_scheme","PuRd","RdPu_scheme","RdPu","YlGnBu_scheme","YlGnBu","YlGn_scheme","YlGn","YlOrBr_scheme","YlOrBr","YlOrRd_scheme","YlOrRd","Blues_scheme","Blues","Greens_scheme","Greens","Greys_scheme","Greys","Purples_scheme","Purples","Reds_scheme","Reds","Oranges_scheme","Oranges","sequential_multi_cubehelix","warm","cool","rainbow_c","rainbow","ts","sinebow_c","pi_1_3","pi_2_3","sinebow","viridis_ramp","magma","inferno","plasma","d3_shape_src_constant","math_abs","math_atan2","src_math_cos","src_math_max","math_min","src_math_sin","math_sqrt","src_math_epsilon","d3_shape_src_math_pi","d3_shape_src_math_halfPi","d3_shape_src_math_tau","math_asin","arcInnerRadius","innerRadius","arcOuterRadius","outerRadius","arcStartAngle","arcEndAngle","arcPadAngle","cornerTangents","rc","ox","oy","x11","y11","x10","y10","cx0","cx1","dx0","dy0","dx1","dy1","src_arc","cornerRadius","padRadius","a01","a11","a10","da0","da1","ap","rp","rc0","rc1","oc","x32","y32","arc_intersect","bx","by","kc","lc","Linear","areaStart","areaEnd","curve_linear","point_x","point_y","defined","curve","defined0","d3_shape_src_area","x0z","y0z","arealine","src_line","lineX0","lineY0","lineY1","lineX1","src_descending","d3_shape_src_identity","src_pie","pie","arcs","pa","curveRadialLinear","curveRadial","Radial","_curve","lineRadial","src_lineRadial","lineStartAngle","lineEndAngle","lineInnerRadius","lineOuterRadius","pointRadial","d3_shape_src_array_slice","linkSource","linkTarget","link_link","curveHorizontal","curveVertical","link_curveRadial","linkHorizontal","linkVertical","linkRadial","symbol_circle","draw","symbol_cross","tan30","tan30_2","diamond","kr","star_kx","star_ky","star","square","sqrt3","triangle","wye_s","wye_k","wye_a","wye","symbols","src_symbol","d3_shape_src_noop","basis_point","Basis","curve_basis","BasisClosed","_x2","_x3","_x4","_y2","_y3","_y4","curve_basisClosed","BasisOpen","basisOpen","Bundle","_basis","_beta","curve_bundle","bundle","cardinal_point","_k","Cardinal","tension","cardinal","CardinalClosed","_x5","_y5","cardinalClosed","CardinalOpen","cardinalOpen","catmullRom_point","_l01_a","_l01_2a","_l12_a","_l12_2a","_l23_a","_l23_2a","CatmullRom","_alpha","x23","y23","curve_catmullRom","catmullRom","CatmullRomClosed","catmullRomClosed","CatmullRomOpen","catmullRomOpen","LinearClosed","linearClosed","monotone_sign","slope3","h0","h1","slope2","monotone_point","MonotoneX","MonotoneY","ReflectContext","monotoneX","monotoneY","Natural","controlPoints","_t0","px","py","natural","Step","_t","curve_step","stepBefore","stepAfter","offset_none","series","order_none","stackValue","src_stack","oz","kz","sz","sij","ki","si","expand","diverging","yn","silhouette","wiggle","s2","sij0","s3","order_ascending","ascending_sum","order_descending","insideOut","tops","bottoms","order_reverse","d3_voronoi_src_constant","src_point_x","src_point_y","RedBlackTree","RedBlackNode","R","P","RedBlackRotateLeft","RedBlackRotateRight","RedBlackFirst","after","grandpa","uncle","sibling","src_RedBlackTree","createEdge","edge","Diagram_edges","setEdgeEnd","cells","halfedges","createBorderEdge","vertex","clipEdge","connectEdge","fm","fb","lx","ly","rx","ry","cellHalfedgeAngle","cell","site","va","vb","cellHalfedgeStart","cellHalfedgeEnd","firstCircle","circlePool","attachCircle","lArc","rArc","lSite","cSite","rSite","Diagram_epsilon2","ha","hc","Diagram_circles","detachCircle","beachPool","createBeach","beach","detachBeach","beaches","removeBeach","disappearing","Diagram_epsilon","iArc","nArcs","addBeach","dxl","dxr","directrix","leftBreakPoint","rightBreakPoint","createCell","newArc","hb","rfocx","rfocy","pby2","lfocx","lfocy","plby2","hl","aby2","lexicographic","Diagram","sites","sortCellHalfedges","clipEdges","iCell","iHalfedge","nHalfedges","startX","startY","endX","endY","nCells","dc","v01","v11","v10","clipCells","edges","triangles","_found","src_voronoi","voronoi","d3_zoom_src_constant","Transform","applyX","applyY","location","invertX","invertY","rescaleX","rescaleY","transform_identity","transform_transform","__zoom","src_noevent_nopropagation","d3_zoom_src_noevent","zoom_defaultFilter","zoom_defaultExtent","SVGElement","clientWidth","clientHeight","defaultTransform","defaultWheelDelta","deltaY","deltaMode","zoom_defaultTouchable","defaultConstrain","translateExtent","d3_zoom_src_zoom","touchstarting","constrain","wheelDelta","scaleExtent","touchDelay","wheelDelay","zoom","wheeled","dblclicked","Gesture","wheel","k1","touch0","touch1","l0","l1","dp","dl","collection","scaleBy","scaleTo","translateBy","translateTo","testObject","testString","_typeof","stripHtmlTags","appendColumn","appendRow","_createNullList","_each","label","_createNullList2","default","String","newRow","col","selectColumn","moment","ll","lll","llll","monthsParseExact","weekdaysParseExact","relativeTimeWithPlural","num","forms","processHoursFunction","standalone","nominative","accusative","genitive","nounCase","processRelativeTime","suffixes","1","5","8","70","80","2","7","20","50","3","4","100","6","9","10","30","60","90","numbersNouns","numberNoun","hundred","ten","word","numberAsNoun","12","13","40","symbolMap","numberMap","௧","௨","௩","௪","௫","௬","௭","௮","௯","௦","translator","words","correctGrammaticalCase","wordKey","plural","longMonthsParse","shortMonthsParse","monthsStrictRegex","monthsShortStrictRegex","monthsNominative","monthsSubjective","momentToFormat","੧","੨","੩","੪","੫","੬","੭","੮","੯","੦","monthsShortWithDots","monthsShortWithoutDots","१","२","३","४","५","६","७","८","९","०","၁","၂","၃","၄","၅","၆","၇","၈","၉","၀","relativeTimeMr","lastDigit","last2Digits","relativeTimeWithSingular","translateSingular","special","eifelerRegelAppliesToNumber","firstDigit","isUpper","೧","೨","೩","೪","೫","೬","೭","೮","೯","೦","១","២","៣","៤","៥","៦","៧","៨","៩","០","weekEndings","૧","૨","૩","૪","૫","૬","૭","૮","૯","૦","numbersPast","numbersFuture","verbalNumber","۱","۲","۳","۴","۵","۶","۷","۸","۹","۰","monthsShortDot","monthsNominativeEl","monthsGenitiveEl","_monthsGenitiveEl","_monthsNominativeEl","calendarEl","_calendarEl","affix","relativeTimeWithMutation","mutationTable","softMutation","mutation","lastNumber","༡","༢","༣","༤","༥","༦","༧","༨","༩","༠","১","২","৩","৪","৫","৬","৭","৮","৯","০","١","٢","٣","٤","٥","٦","٧","٨","٩","٠","pluralForm","plurals","pluralize","extendDeep","Symbol","iterator","ChartInternal","api","$$","getDefaultConfig","axes","Chart","internal","loadConfig","beforeInit","afterInit","bindThis","argThis","AxisInternal","component","scaleLinear","innerTickSize","outerTickSize","withOuterTick","tickOffset","tickCulling","tickCentered","tickTextCharSize","tickTextRotate","tickLength","generateAxis","axisX","axisY","generateTicks","copyScale","newScale","isCategory","textFormatted","formatted","updateRange","rangeExtent","updateTickTextCharSize","box","isVertical","tspanData","splitted","tickMultiline","splitTickText","tickMultilineMax","ellipsify","subtext","spaceIndex","textWidth","tickText","maxWidth","tickWidth","ellipsified","remaining","available","padEnd","updateTickLength","lineY2","tickPosition","textY","textTransform","textTextAnchor","tspanDx","tspanDy","tickTransform","tickX","tickY","scale0","__chart__","scale1","ticksValues","tickUpdate","lineUpdate","textUpdate","tspans","tspanEnter","tspanUpdate","pathUpdate","rangeBand","isCentered","getTotalLength","culling","CLASS","chart","chartLine","chartLines","chartBar","chartBars","chartText","chartTexts","chartArc","chartArcs","chartArcsTitle","chartArcsBackground","chartArcsGaugeUnit","chartArcsGaugeMax","chartArcsGaugeMin","selectedCircle","selectedCircles","eventRect","eventRects","eventRectsSingle","eventRectsMultiple","zoomRect","dragZoom","focused","defocused","region","regions","title","tooltipContainer","tooltip","tooltipName","shape","shapes","bar","bars","arcLabelLine","areas","texts","gaugeValue","grid","gridLines","xgrid","xgrids","xgridLine","xgridLines","xgridFocus","ygrid","ygrids","ygridLine","ygridLines","axisXLabel","axisYLabel","axisY2","axisY2Label","legendBackground","legendItem","legendItemEvent","legendItemTile","legendItemHidden","legendItemFocused","dragarea","EXPANDED","SELECTED","INCLUDED","asHalfPixel","ceil10","diffDomain","getOption","options","defaultValue","isDefined","getPathBox","items","pathSegList","getItem","minX","minY","isEmpty","isString","isValue","notEmpty","sanitise","Axis","owner","instance","Constructor","_classCallCheck","main","axis_x_inner","clipPathForXAxis","getTranslate","axis_x_show","axis_rotated","textAnchorForXAxisLabel","axis_y_inner","clipPathForYAxis","axis_y_show","textAnchorForYAxisLabel","axis_y2_show","textAnchorForY2AxisLabel","getXAxis","withoutTransition","withoutRotateTickText","axisParams","isCategorized","axis_x_tick_multiline","Number","axis_x_tick_multilineMax","axis_x_tick_width","axis_x_tick_rotate","isTimeSeries","parseDate","axis_x_tick_centered","axis_x_tick_culling","updateXAxisTickValues","targets","axis_x_tick_fit","axis_x_tick_count","generateTickValues","mapTargetsToUniqueXs","xAxis","subXAxis","getYAxis","axis_y_tick_rotate","isTimeSeriesY","axis_y_tick_time_type","axis_y_tick_time_interval","getId","data_axes","getXAxisTickFormat","defaultAxisTimeFormat","categoryName","axis_x_tick_format","axisTimeFormat","getTickValues","getXAxisTickValues","axis_x_tick_values","getYAxisTickValues","axis_y_tick_values","yAxis","getY2AxisTickValues","axis_y2_tick_values","y2Axis","getLabelOptionByAxisId","axisId","option","axis_y_label","axis_y2_label","axis_x_label","getLabelText","setLabelText","getLabelPosition","defaultPosition","isInner","isOuter","isLeft","isCenter","isRight","isTop","isMiddle","isBottom","getXAxisLabelPosition","getYAxisLabelPosition","getY2AxisLabelPosition","getLabelPositionById","textForXAxisLabel","textForYAxisLabel","textForY2AxisLabel","xForAxisLabel","forHorizontal","dxForAxisLabel","textAnchorForAxisLabel","xForXAxisLabel","xForYAxisLabel","xForY2AxisLabel","dxForXAxisLabel","dxForYAxisLabel","dxForY2AxisLabel","dyForXAxisLabel","getMaxTickWidth","axis_x_height","dyForYAxisLabel","dyForY2AxisLabel","axis_y2_inner","withoutRecompute","targetsToShow","dummy","currentMaxTickWidths","filterTargetsToShow","getYDomain","yOrient","axis_y_tick_format","yAxisTickValues","y2Orient","axis_y2_tick_format","y2AxisTickValues","getXDomain","xOrient","xAxisTickFormat","xAxisTickValues","updateLabels","withTransition","getPadding","domainLength","convertPixelsToAxisPadding","pixels","tickCount","forTimeSeries","targetCount","tickValue","generateTransitions","axisSubX","subx","isHidden","generate","initParams","data_url","convertUrlToData","data_mimeType","data_headers","data_keys","initWithData","data_json","convertJsonToData","data_rows","convertRowsToData","data_columns","convertColumnsToData","clipId","clipIdForXAxis","clipIdForYAxis","clipIdForGrid","clipIdForSubchart","clipPath","getClipPath","clipPathForGrid","clipPathForSubchart","dragStart","dragging","flowing","cancelClick","mouseover","transiting","generateColor","levelColor","generateLevelColor","dataTimeParse","data_xLocaltime","data_xFormat","axis_x_localtime","hiddenTargetIds","hiddenLegendIds","focusedTargetIds","defocusedTargetIds","subXOrient","isLegendRight","legend_position","isLegendInset","isLegendTop","legend_inset_anchor","isLegendLeft","legendStep","legendItemWidth","legendItemHeight","rotated_padding_left","rotated_padding_right","rotated_padding_top","withoutFadeIn","intervalForObserveInserted","initChartElements","initBar","initLine","initArc","initGauge","initText","defs","binding","bindto","selectChart","observeInserted","xs","convertDataToTargets","data_filter","data_hide","addHiddenTargetIds","mapToIds","legend_hide","addHiddenLegendIds","updateSizes","updateScales","subX","subY","subY2","orgXDomain","onmouseover","onmouseout","svg_classname","clipChart","appendClip","clipXAxis","clipYAxis","clipGrid","clipSubchart","updateSvgSize","initPie","initDragZoom","initSubchart","initTooltip","initLegend","initTitle","initZoom","initSubchartBrush","initRegion","initGrid","grid_lines_front","initGridLines","initEventRect","updateTargets","axis_x_selection","selectionAsValue","getDefaultSelection","updateDimension","oninit","withTransform","withUpdateXDomain","withUpdateOrgXDomain","withTransitionForAxis","bindResize","bindWindowFocus","element","smoothLines","el","legendHeight","legend","getLegendHeight","legendWidth","getLegendWidth","legendHeightForBottom","hasArc","hasArcType","xAxisHeight","getHorizontalAxisHeight","subchartHeight","subchart_show","subchart_size_height","currentWidth","getCurrentWidth","currentHeight","getCurrentHeight","margin","getCurrentPaddingTop","getCurrentPaddingRight","getCurrentPaddingBottom","getCurrentPaddingLeft","margin2","margin3","updateSizeForLegend","width2","height2","arcWidth","arcHeight","hasType","gauge_fullCircle","getGaugeLabelHeight","updateRadius","radiusExpanded","updateTargetsForText","updateTargetsForBar","updateTargetsForLine","updateTargetsForArc","updateTargetsForSubchart","showTargets","isTargetToShow","transition_duration","transitions","withY","withSubchart","withTransitionForExit","withTrimXDomain","withLegend","withEventRect","withDimension","withUpdateXAxis","drawArea","drawBar","drawLine","xForText","yForText","durationForExit","durationForAxis","transitionsToWait","waitForDraw","flow","intervalForCulling","xDomainForZoom","areaIndices","getShapeIndices","isAreaType","barIndices","isBarType","lineIndices","isLineType","hideAxis","xv","legend_show","updateLegend","updateXDomain","zoom_rescale","orgDomain","axis_y_tick_count","axis_y2_tick_count","axis_x_tick_culling_max","generateDrawArea","generateDrawBar","generateDrawLine","generateXYForText","updateCircleY","circleY","circleX","updateXgridFocus","data_empty_label_text","redrawEventRect","updateGrid","updateRegion","updateBar","updateLine","updateArea","updateCircle","hasDataLabel","updateText","redrawTitle","redrawArc","redrawSubchart","generateFlow","isTabVisible","redrawBar","redrawLine","redrawArea","redrawCircle","redrawText","redrawRegion","redrawGrid","generateWait","onrendered","updateAndRedraw","withTransitionForTransform","transformAll","redrawWithoutRescale","axis_x_type","isCustomX","data_x","data_xs","axis_y_type","initialOpacity","initialOpacityForCircle","opacityForCircle","point_show","isScatterType","opacityForText","xx","axis_x_categories","yv","yScale","subxx","transformMain","transformContext","transformLegend","getXAxisClipX","getXAxisClipY","getXAxisClipWidth","getXAxisClipHeight","getYAxisClipX","getYAxisClipY","getYAxisClipWidth","getYAxisClipHeight","withoutAxis","observer","MutationObserver","mutations","disconnect","observe","attributes","childList","characterData","resizeFunction","generateResize","onresize","resize_auto","resizeTimeout","onresized","resizeIfElementDisplayed","offsetParent","attachEvent","wrapper","_this","windowFocusHandler","unbindWindowFocus","resizeFunctions","callResizeFunctions","endall","done","parsedDate","hidden","SVGPathSeg","typeAsLetter","owningPathSegList","pathSegType","pathSegTypeAsLetter","_owningPathSegList","classname","PATHSEG_UNKNOWN","PATHSEG_CLOSEPATH","PATHSEG_MOVETO_ABS","PATHSEG_MOVETO_REL","PATHSEG_LINETO_ABS","PATHSEG_LINETO_REL","PATHSEG_CURVETO_CUBIC_ABS","PATHSEG_CURVETO_CUBIC_REL","PATHSEG_CURVETO_QUADRATIC_ABS","PATHSEG_CURVETO_QUADRATIC_REL","PATHSEG_ARC_ABS","PATHSEG_ARC_REL","PATHSEG_LINETO_HORIZONTAL_ABS","PATHSEG_LINETO_HORIZONTAL_REL","PATHSEG_LINETO_VERTICAL_ABS","PATHSEG_LINETO_VERTICAL_REL","PATHSEG_CURVETO_CUBIC_SMOOTH_ABS","PATHSEG_CURVETO_CUBIC_SMOOTH_REL","PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS","PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL","_segmentChanged","segmentChanged","SVGPathSegClosePath","_asPathString","SVGPathSegMovetoAbs","SVGPathSegMovetoRel","SVGPathSegLinetoAbs","SVGPathSegLinetoRel","SVGPathSegCurvetoCubicAbs","SVGPathSegCurvetoCubicRel","SVGPathSegCurvetoQuadraticAbs","SVGPathSegCurvetoQuadraticRel","SVGPathSegArcAbs","largeArcFlag","sweepFlag","_r1","_r2","_angle","_largeArcFlag","_sweepFlag","SVGPathSegArcRel","SVGPathSegLinetoHorizontalAbs","SVGPathSegLinetoHorizontalRel","SVGPathSegLinetoVerticalAbs","SVGPathSegLinetoVerticalRel","SVGPathSegCurvetoCubicSmoothAbs","SVGPathSegCurvetoCubicSmoothRel","SVGPathSegCurvetoQuadraticSmoothAbs","SVGPathSegCurvetoQuadraticSmoothRel","SVGPathElement","createSVGPathSegClosePath","createSVGPathSegMovetoAbs","createSVGPathSegMovetoRel","createSVGPathSegLinetoAbs","createSVGPathSegLinetoRel","createSVGPathSegCurvetoCubicAbs","createSVGPathSegCurvetoCubicRel","createSVGPathSegCurvetoQuadraticAbs","createSVGPathSegCurvetoQuadraticRel","createSVGPathSegArcAbs","createSVGPathSegArcRel","createSVGPathSegLinetoHorizontalAbs","createSVGPathSegLinetoHorizontalRel","createSVGPathSegLinetoVerticalAbs","createSVGPathSegLinetoVerticalRel","createSVGPathSegCurvetoCubicSmoothAbs","createSVGPathSegCurvetoCubicSmoothRel","createSVGPathSegCurvetoQuadraticSmoothAbs","createSVGPathSegCurvetoQuadraticSmoothRel","getPathSegAtLength","measurementElement","lastPathSegment","numberOfItems","removeItem","SVGPathSegList","pathElement","_pathElement","_list","_parsePath","_mutationObserverConfig","attributeFilter","_pathElementMutationObserver","_updateListFromPathMutations","_checkPathSynchronizedToList","_pathSegList","takeRecords","mutationRecords","hasPathMutations","record","attributeName","_writeListToPath","_pathSegArrayAsString","pathSeg","newItem","_checkValidIndex","insertItemBefore","replaceItem","item","appendItem","pathSegArray","Builder","appendSegment","Source","_currentIndex","_endIndex","_previousCommand","_skipOptionalSpaces","_isCurrentSpace","character","_skipOptionalSpacesOrDelimiter","hasMoreData","peekSegmentType","lookahead","_pathSegTypeFromChar","_nextCommandHelper","previousCommand","initialCommandIsMoveTo","command","_parseNumber","integer","frac","expsign","startIntPartIndex","scanIntPartIndex","multiplier","_parseArcFlag","flag","flagChar","parseSegment","arcAngle","arcLarge","arcSweep","builder","padString","repeat","labels","axis_x_max","axis_y_max","axis_y2_max","axis_x_min","axis_y_min","axis_y2_min","category","categories","size_width","size_height","flush","destroy","detachEvent","targetIds","shown","targetId","clearLegendItemTextBoxCache","updateDataAttributes","baseTarget","baseValue","notfoundIds","orgDataCount","getMaxDataCount","tail","found","getOtherTargetX","missing","mainRegion","mainText","mainBar","mainLine","mainArea","mainCircle","flowIndex","flowLength","flowStart","getValueOnIndex","flowEnd","durationForFlow","wait","updateXGrid","hideXGridFocus","flowTransition","easeLinear","isRegionOnX","xgridAttr","regionX","regionWidth","focus","candidates","mapToTargetIds","selectorTargets","revert","defocus","expandArc","toggleFocusLegend","unexpandArc","showLegend","isLegendToShow","selectorLegends","grids","grid_x_lines","removeGridLines","grid_y_lines","data_groups","show","hide","hideLegend","load","addXs","classes","data_classes","data_colors","hasCaches","cacheIds","getCaches","unload","loadFromArgs","ids","selected","getTargetSelectorSuffix","indices","resetOther","data_selection_enabled","toggle","getToggle","isTargetId","data_selection_grouped","isTargetIndex","isSelected","data_selection_isselectable","unselect","removeHiddenTargetIds","filterByX","getMousePosition","tooltip_onshow","tooltip_onhide","transformTo","optionsForRedraw","setTargetType","updateTargetX","updateTargetXs","zoom_onzoom","enable","enabled","zoom_enabled","unzoom","zoom_x_max","zoom_x_min","orderFct","getOrderFunction","isOrderAsc","isOrderDesc","defaultSort","gauge_width","donut_width","gaugeArcWidth","gauge_arcs_minWidth","innerRadiusRatio","updateArc","svgArc","getSvgArc","svgArcExpanded","getSvgArcExpanded","svgArcExpandedSub","updateAngle","gMin","gMax","gTic","gValue","isGaugeType","gauge_min","gauge_max","gauge_startingAngle","hasGaugeType","singleArcWidth","withoutUpdate","updated","rate","expandWidth","getArc","isArcType","transformForArcLabel","hasGauge","donut_label_ratio","pie_label_ratio","getArcRatio","whole","convertToArcData","addName","textForArcLabel","shouldShowArcLabel","meetsArcLabelThreshold","getArcLabelFormat","defaultArcValueFormat","textForGaugeMinMax","isMax","getGaugeLabelExtents","shouldExpand","expandDuration","isDonutType","donut_expand_duration","gauge_expand_duration","isPieType","pie_expand_duration","donut_expand","gauge_expand","pie_expand","shouldShow","donut_label_show","pie_label_show","donut_label_threshold","pie_label_threshold","pie_label_format","gauge_label_format","donut_label_format","gauge_label_extents","getArcTitle","donut_title","mainPieEnter","classChartArc","classArcs","classFocus","mainArc","arcLabelLines","mainArcLabelLine","arcData","classArc","interaction_enabled","_current","gauge_labelLine_show","lineLength","innerLineLength","lineAngle","linePositioningAngle","data_onmouseover","selectedData","showTooltip","revertLegend","hideTooltip","data_onmouseout","toggleShape","data_onclick","interpolated","backgroundArc","gauge_label_show","gauge_units","addCache","cloneTarget","generateTargetClass","generateClass","classText","classTexts","classShape","classShapes","classLine","classLines","classCircle","classCircles","classBar","classBars","classArea","classAreas","classRegion","classEvent","classTarget","additionalClassSuffix","additionalClass","classFocused","classDefocused","classChartText","classChartLine","classChartBar","selectorTarget","selectorLegend","navigator","appVersion","URL","getAxisClipX","getAxisClipY","getAxisClipWidth","getAxisClipHeight","pattern","color_pattern","schemeCategory10","data_color","color_threshold","asValue","padding_left","padding_right","padding_top","padding_bottom","zoom_initialRange","zoom_type","zoom_disableDefaultBehavior","zoom_privileged","zoom_onzoomstart","zoom_onzoomend","interaction_brighten","data_xSort","data_idConverter","data_names","data_type","data_types","data_labels","data_order","data_regions","data_selection_multiple","data_selection_draggable","data_onselected","data_onunselected","subchart_axis_x_show","subchart_onbrush","legend_inset_x","legend_inset_y","legend_inset_step","legend_item_onclick","legend_item_onmouseover","legend_item_onmouseout","legend_equally","legend_padding","legend_item_tile_width","legend_item_tile_height","axis_x_tick_outer","axis_x_padding","axis_y_inverted","axis_y_center","axis_y_tick_outer","axis_y_padding","axis_y_default","axis_y2_inverted","axis_y2_center","axis_y2_tick_outer","axis_y2_padding","axis_y2_default","grid_x_show","grid_x_type","grid_y_show","grid_y_ticks","grid_focus_show","point_r","point_sensitivity","point_focus_expand_enabled","point_focus_expand_r","point_select_r","line_connectNull","line_step_type","bar_width","bar_width_ratio","bar_width_max","bar_zerobased","bar_space","area_zerobased","area_above","spline_interpolation_type","tooltip_show","tooltip_grouped","tooltip_order","tooltip_format_title","tooltip_format_name","tooltip_format_value","tooltip_position","tooltip_contents","defaultTitleFormat","defaultValueFormat","getTooltipContent","tooltip_init_show","tooltip_init_x","tooltip_init_position","title_text","title_padding","title_position","additionalConfig","read","this_config","url","mimeType","headers","converter","convertXsvToData","catch","xsv","assign","writable","_defineProperty","targetKeys","new_rows","new_row","findValueInJson","pathArray","newRows","appendXs","isNotX","isX","xKey","getXKey","rawX","generateTargetX","getOtherTargetXs","getXValuesOfXKey","convertedId","id_org","hasNegativeValue","hasNegativeValueInTargets","hasPositiveValue","hasPositiveValueInTargets","dict","xValues","getXValue","idsForX","valueOnIndex","hasTarget","removeHiddenLegendIds","getValuesAsIdKeyed","ys","checkValueInTargets","checker","orderAsc","orderDesc","reducer","t1Sum","t2Sum","orderTargets","fct","filterRemoveNull","filterByXDomain","xDomain","getDataLabelLength","lengths","dataLabelFormat","isNoneArc","isArc","findClosestFromTargets","findClosest","minDist","isWithinBar","dist","xIndex","yIndex","convertValuesToStep","converted","attrs","getYDomainMin","baseId","idsInGroup","getYDomainMax","yDomainAbs","isAllPositive","isAllNegative","targetsByAxisId","yTargets","yMin","yMax","yDomainMin","yDomainMax","isZeroBased","isInverted","showHorizontalDataLabel","showVerticalDataLabel","getXDomainMin","getXDomainMax","getXDomainPadding","maxDataCount","firstX","lastX","withTrim","updateScale","trimXDomain","zoomDomain","getZoomDomain","mx","my","maxX","_h","isIncluded","isWithin","togglePoint","togglePath","dragstart","dragend","getYFormat","forArc","formatForY","yFormat","formatForY2","y2Format","xgridData","generateGridData","xgridEnter","updateYGrid","gridValues","ygridEnter","gridTextAnchor","gridTextDx","xGridTextX","yGridTextX","xgridLineEnter","ygridLineEnter","showXGridFocus","dataToShow","focusEl","firstYear","lastYear","gridData","tickNum","getGridFilterToRemove","param","forX","toRemove","toShow","zoomTransform","mouseout","unexpandCircles","unexpandBars","expandCircles","expandBars","isWithinShape","getYScale","initMouseEvent","legendItemTextBox","legendHasRendered","updateLegendWithDefaults","insetLegendPosition","updateLegendStep","updateLegendItemWidth","updateLegendItemHeight","opacityForLegend","opacityForUnfocusedLegend","xForLegend","xForLegendText","xForLegendRect","yForLegend","yForLegendText","yForLegendRect","x1ForLegendTile","x2ForLegendTile","yForLegendTile","rects","tiles","background","maxHeight","posMin","tileWidth","totalLength","offsets","widths","heights","margins","steps","updatePositions","textElement","maxLength","isLast","getTextRect","getTextBox","itemWidth","itemHeight","itemLength","areaLength","updateValues","withoutStep","mainRegionEnter","regionY","regionHeight","getScale","forTimeseries","scaleTime","getX","_scale","raw","getY","getSubYScale","forInit","xMin","xMax","subXMin","subXMax","subYMin","subYMax","selectPoint","pointSelectR","unselectPoint","selectPath","unselectPath","nodeName","isStepType","barData","mainBarEnter","getBarW","barTargetsNum","getBars","isSub","getPoints","generateGetBarPoints","indexX","indexY","__max__","barW","barX","getShapeX","barY","getShapeY","barOffset","getShapeOffset","barSpaceOffset","posX","posY","seg0","seg1","ex","ey","typeFilter","targetsNum","isWithinStep","isWithinCircle","getInterpolate","curveLinear","linear-closed","curveLinearClosed","curveBasis","basis-open","curveBasisOpen","basis-closed","curveBasisClosed","curveBundle","curveCardinal","cardinal-open","curveCardinalOpen","cardinal-closed","curveCardinalClosed","monotone","curveMonotoneX","curveStep","step-before","curveStepBefore","step-after","curveStepAfter","isSplineType","mainLineEnter","lineData","generateGetLinePoints","yScaleGetter","xValue","yValue","lineWithRegions","lineTargetsNum","lineOffset","_regions","sWithRegion","diffx2","xOffset","isWithinRegions","generateM","x_diff","xv0","xv1","mainAreaEnter","orgAreaOpacity","generateGetAreaPoints","getAreaBaseValue","areaTargetsNum","areaOffset","lineOrScatterData","mainCircleEnter","pointR","getCircles","pointExpandedR","d3_this","getParentWidth","getParentHeight","getTitlePadding","getAxisWidthByAxisId","legendWidthOnRight","getParentRectValue","tagName","offsetWidth","getSvgLeft","hasLeftAxisRect","leftAxisClass","leftAxis","svgRect","chartRect","svgLeft","initBrush","redrawForBrush","updateExtent","visibility","contextLineEnter","contextLine","contextBarEnter","contextBar","updateBarForSubchart","redrawBarForSubchart","drawBarOnSub","updateLineForSubchart","redrawLineForSubchart","drawLineOnSub","updateAreaForSubchart","contextArea","contextAreaEnter","redrawAreaForSubchart","drawAreaOnSub","zoomIdentity","mainTextEnter","barOrLineData","forFlow","cls","font","getAreaPoints","getBarPoints","getLinePoints","getXForText","getYForText","xPos","yPos","isSafari","isChrome","xForTitle","yForTitle","getTooltipSortFunction","sortFunction","bgcolor","titleFormat","nameFormat","valueFormat","tooltipSortFunction","tooltipPosition","tWidth","tHeight","tooltipLeft","tooltipRight","tooltipTop","chartRight","positionFunction","ua","userAgent","startEvent","redrawForZoom","updateDomain","brushXPos","brushYPos","getZoomedDomain","dragZoomBrush","zoomedDomain","average","maximum","nums","minimum","getColumnAverage","getRowAverage","getColumnSum","getRowSum","getColumnMaximum","getRowMaximum","getColumnMinimum","getRowMinimum","getColumnLabel","getRowIndex","del","_extend","Dataset","meta","coords","colIndex","rowIndex","colResult","rowResult","selectRow","analyses","_parsers2","render","_artifacts","spinner","theme","./af","./af.js","./ar","./ar-dz","./ar-dz.js","./ar-kw","./ar-kw.js","./ar-ly","./ar-ly.js","./ar-ma","./ar-ma.js","./ar-sa","./ar-sa.js","./ar-tn","./ar-tn.js","./ar.js","./az","./az.js","./be","./be.js","./bg","./bg.js","./bm","./bm.js","./bn","./bn.js","./bo","./bo.js","./br","./br.js","./bs","./bs.js","./ca","./ca.js","./cs","./cs.js","./cv","./cv.js","./cy","./cy.js","./da","./da.js","./de","./de-at","./de-at.js","./de-ch","./de-ch.js","./de.js","./dv","./dv.js","./el","./el.js","./en-au","./en-au.js","./en-ca","./en-ca.js","./en-gb","./en-gb.js","./en-ie","./en-ie.js","./en-il","./en-il.js","./en-nz","./en-nz.js","./eo","./eo.js","./es","./es-do","./es-do.js","./es-us","./es-us.js","./es.js","./et","./et.js","./eu","./eu.js","./fa","./fa.js","./fi","./fi.js","./fo","./fo.js","./fr","./fr-ca","./fr-ca.js","./fr-ch","./fr-ch.js","./fr.js","./fy","./fy.js","./gd","./gd.js","./gl","./gl.js","./gom-latn","./gom-latn.js","./gu","./gu.js","./he","./he.js","./hi","./hi.js","./hr","./hr.js","./hu","./hu.js","./hy-am","./hy-am.js","./id","./id.js","./is","./is.js","./it","./it.js","./ja","./ja.js","./jv","./jv.js","./ka","./ka.js","./kk","./kk.js","./km","./km.js","./kn","./kn.js","./ko","./ko.js","./ky","./ky.js","./lb","./lb.js","./lo","./lo.js","./lt","./lt.js","./lv","./lv.js","./me","./me.js","./mi","./mi.js","./mk","./mk.js","./ml","./ml.js","./mn","./mn.js","./mr","./mr.js","./ms","./ms-my","./ms-my.js","./ms.js","./mt","./mt.js","./my","./my.js","./nb","./nb.js","./ne","./ne.js","./nl","./nl-be","./nl-be.js","./nl.js","./nn","./nn.js","./pa-in","./pa-in.js","./pl","./pl.js","./pt","./pt-br","./pt-br.js","./pt.js","./ro","./ro.js","./ru","./ru.js","./sd","./sd.js","./se","./se.js","./si","./si.js","./sk","./sk.js","./sl","./sl.js","./sq","./sq.js","./sr","./sr-cyrl","./sr-cyrl.js","./sr.js","./ss","./ss.js","./sv","./sv.js","./sw","./sw.js","./ta","./ta.js","./te","./te.js","./tet","./tet.js","./tg","./tg.js","./th","./th.js","./tl-ph","./tl-ph.js","./tlh","./tlh.js","./tr","./tr.js","./tzl","./tzl.js","./tzm","./tzm-latn","./tzm-latn.js","./tzm.js","./ug-cn","./ug-cn.js","./uk","./uk.js","./ur","./ur.js","./uz","./uz-latn","./uz-latn.js","./uz.js","./vi","./vi.js","./x-pseudo","./x-pseudo.js","./yo","./yo.js","./zh-cn","./zh-cn.js","./zh-hk","./zh-hk.js","./zh-tw","./zh-tw.js","webpackContext","req","webpackContextResolve","webpackPolyfill","paths","__WEBPACK_AMD_DEFINE_FACTORY__","__WEBPACK_AMD_DEFINE_ARRAY__","__WEBPACK_AMD_DEFINE_RESULT__","cachedGuess","zones","guesses","logError","momentVersion","major","minor","charCodeToInt","charCode","unpackBase60","fractional","arrayToInt","mapIndices","unpack","untils","intToUntil","abbrs","population","Zone","packedString","_set","OffsetAt","at","timeString","toTimeString","ZoneScore","offsetScore","abbrScore","findChange","low","high","sortZoneScores","addToGuesses","guessesForUserOffsets","guessesOffset","offsetsLength","filteredGuesses","rebuildGuess","intlName","Intl","DateTimeFormat","resolvedOptions","timeZone","normalizeName","zoneScore","startYear","last","userOffsets","zoneScores","getZone","scoreOffsetAt","addZone","packed","normalized","caller","addLink","normal0","normal1","needsOffset","isUnixTimestamp","message","unpacked","_index","timestamp","offsetNext","offsetPrev","moveAmbiguousForward","moveInvalidForward","offsetAt","dataVersion","_zones","_links","zoneExists","didShowError","guess","ignoreCache","old","abbrWrap","_z","defaultZone","setDefault","_momentTimezone","_escapeHtml","currentPage","_generateTableRows","datavizInstance","dataset","customConfig","table","pagination","page","arrows","datasetPaginated","pages","columnsArray","checkArray","mapValues","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_step","_iterator","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_step2","_iterator2","_ref","_ref2","_slicedToArray","rowCol","timezone","rowColEscaped","err","return","pageNumber","prevPage","nextPage","mappedMsg","errorMapping","showErrorMessages","fieldNumber","columnNames","_iteratorNormalCompletion3","_didIteratorError3","_iteratorError3","_step3","_iterator3","colName","colNameEscaped","_generateTableHeader","sortOrder","sortOrderNumber","nameA","nameB","attachBtnEventListeners","btn","prettyNumber","sciNo","recurse","iteration","rhs","numNumerals","_prettyNumber","opts","formattedNum","flexDifferenceStyle","resultDifference","differenceStyle","smallerValue","results","previousResults","outer","inner","titleContainer","notesContainer","className","notes","showTitle","cols","domNode","legendConfig","_extends","offsetHeight","dataColumnsSorted","columnData","_assertDateString2","legendElement","paginateHorizontalLeftElement","legendItemsElement","paginateVerticalElement","paginateHorizontalRightElement","paginateData","labelShortened","textMaxLength","chartPartId","legendItemColorSample","backgroundColor","prepend","tooltipElement","pointer","onLegendRendered","arrowUp","arrowDown","paginate","clearSelectedText","onPaginated","getSelection","removeAllRanges","_assertDateString","startDate","endDate","timeDiff","lib","bindResizeListener","visuals","horizontalDistance","metric","getPaddings","paddingName","ENFORCED_OPTIONS","colorMapping","renderingElement","titleElement","notesElement","DEFAULT_OPTIONS","_extendDeep","clearOnRender","removeLegend","rotated","_defaultDateFormat2","stacked","partialIntervalIndicator","partialResultsRegion","class","_toConsumableArray","contents","c3TooltipContents","valueFormatted","scope","c3options","c3PaginatingLegend","defineC3","indexBy","query","selectedParser","parserArgs","metadata","analysis_type","event_collection","filters","group_by","timeframe","display_name","analysis","getDefaultTitle","visualization","chart_type","getDefaultType","updateColumn","updateRow","_stripHtmlTags","_dataset","valueAtDeepKey","is","flatten","ob","toReturn","flatObject","parsers","_flatten","_object","grouped-metric","grouped-interval","double-grouped-metric","rowLabel","double-grouped-interval","funnel","extraction","datasetExtraction","_loop","iNames","deleteColumn","_append","sortColumns","comp","head","analysesUtilMethods","op","insertColumn","sortRows","body","_analyses","insertRow","filterColumns","selectedColumn","filterRows","deleteRow","Dataviz","_defaultOptions","defaultOptions","showDeprecationWarnings","showLoadingSpinner","containerElement","labelMapping","labelMappingRegExp","library","sortIntervals","draggable","multiple","convertChartTypes","_prepared","_rendered","firstVisibilityState","visibilityState","setLabels","mapLabelsExec","valueAfterMatching","regExpAndLabel","mapLabels","labelMappingDimension","areachart","barchart","columnchart","linechart","piechart","domReady","readyState","DOMContentLoaded","testDom","libraries","_libraries2","register","actions","method","visual","chartOptions","loader","firstResult","timeframes","resultItem","resultTimeframe","timeframeItem","getLabel","ds2","returnValue","renderAsPromise","customCallback","chart100percentWide","buildDomWrapper","renderOnVisible","IntersectionObserver","events","isIntersecting","visibilityChange","msHidden","webkitHidden","once","bool","chartType","parseRawData","parseRequest","pkg","eval","env","global","extendKeenGlobalObject","KeenDataviz","KeenDataset","Keen","keenGlobals","webpackKeenGlobals"],"mappings":"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ACAv2B,IAAA81F,IAEA2B,GAAAjB,GAAAgB,ICZAE,GAAA,IAAAj4F,MAAA,GAAA82B,OACA,qBACA,2BACA,iCACA,uCACA,6CACA,mDACA,yDACA,+DACA,sEACAv2B,IAAA81F,IAEA6B,GAAAnB,GAAAkB,ICZAE,GAAA,IAAAn4F,MAAA,GAAA82B,OACA,qBACA,2BACA,iCACA,uCACA,6CACA,mDACA,0DACAv2B,IAAA81F,IAEA+B,GAAArB,GAAAoB,ICVAE,GAAA,IAAAr4F,MAAA,GAAA82B,OACA,qBACA,2BACA,iCACA,uCACA,6CACA,mDACA,0DACAv2B,IAAA81F,IAEAiC,GAAAvB,GAAAsB,ICVAE,GAAA,IAAAv4F,MAAA,GAAA82B,OACA,qBACA,2BACA,iCACA,uCACA,6CACA,mDACA,0DACAv2B,IAAA81F,IAEAmC,GAAAzB,GAAAwB,ICVAE,GAAA,IAAAz4F,MAAA,GAAA82B,OACA,qBACA,2BACA,iCACA,uCACA,6CACA,mDACA,0DACAv2B,IAAA81F,IAEAqC,GAAA3B,GAAA0B,ICVAE,GAAA,IAAA34F,MAAA,GAAA82B,OACA,qBACA,2BACA,iCACA,uCACA,6CACA,mDACA,0DACAv2B,IAAA81F,IAEAuC,GAAA7B,GAAA4B,ICVAE,GAAA,IAAA74F,MAAA,GAAA82B,OACA,qBACA,2BACA,iCACA,uCACA,6CACA,mDACA,0DACAv2B,IAAA81F,IAEAyC,GAAA/B,GAAA8B,ICVAE,GAAA,IAAA/4F,MAAA,GAAA82B,OACA,qBACA,2BACA,iCACA,uCACA,6CACA,mDACA,0DACAv2B,IAAA81F,IAEA2C,GAAAjC,GAAAgC,ICVAE,GAAA,IAAAj5F,MAAA,GAAA82B,OACA,qBACA,2BACA,iCACA,uCACA,6CACA,mDACA,0DACAv2B,IAAA81F,IAEA6C,GAAAnC,GAAAkC,ICVAE,GAAA,IAAAn5F,MAAA,GAAA82B,OACA,qBACA,2BACA,iCACA,uCACA,6CACA,mDACA,0DACAv2B,IAAA81F,IAEA+C,GAAArC,GAAAoC,ICVAE,GAAA,IAAAr5F,MAAA,GAAA82B,OACA,qBACA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,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,UAAA,IACAC,aAAA,IACAC,UAAA,IACAC,aAAA,IACAC,UAAA,IACAC,aAAA,IACAC,UAAA,IACAC,aAAA,IACAC,UAAA,IACAC,aAAA,IACAC,UAAA,IACAC,aAAA,IACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,aAAA,GACAC,UAAA,GACAC,aAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,aAAA,GACAC,UAAA,GACAC,aAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,aAAA,GACAC,gBAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,UAAA,GACAC,aAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,aAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC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","file":"keen-dataviz.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse {\n\t\tvar a = factory();\n\t\tfor(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i];\n\t}\n})(window, function() {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 163);\n","//! moment.js\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n global.moment = factory()\n}(this, (function () { 'use strict';\n\n var hookCallback;\n\n function hooks () {\n return hookCallback.apply(null, arguments);\n }\n\n // This is done to register the method called with moment()\n // without creating circular dependencies.\n function setHookCallback (callback) {\n hookCallback = callback;\n }\n\n function isArray(input) {\n return input instanceof Array || Object.prototype.toString.call(input) === '[object Array]';\n }\n\n function isObject(input) {\n // IE8 will treat undefined and null as object if it wasn't for\n // input != null\n return input != null && Object.prototype.toString.call(input) === '[object Object]';\n }\n\n function isObjectEmpty(obj) {\n if (Object.getOwnPropertyNames) {\n return (Object.getOwnPropertyNames(obj).length === 0);\n } else {\n var k;\n for (k in obj) {\n if (obj.hasOwnProperty(k)) {\n return false;\n }\n }\n return true;\n }\n }\n\n function isUndefined(input) {\n return input === void 0;\n }\n\n function isNumber(input) {\n return typeof input === 'number' || Object.prototype.toString.call(input) === '[object Number]';\n }\n\n function isDate(input) {\n return input instanceof Date || Object.prototype.toString.call(input) === '[object Date]';\n }\n\n function map(arr, fn) {\n var res = [], i;\n for (i = 0; i < arr.length; ++i) {\n res.push(fn(arr[i], i));\n }\n return res;\n }\n\n function hasOwnProp(a, b) {\n return Object.prototype.hasOwnProperty.call(a, b);\n }\n\n function extend(a, b) {\n for (var i in b) {\n if (hasOwnProp(b, i)) {\n a[i] = b[i];\n }\n }\n\n if (hasOwnProp(b, 'toString')) {\n a.toString = b.toString;\n }\n\n if (hasOwnProp(b, 'valueOf')) {\n a.valueOf = b.valueOf;\n }\n\n return a;\n }\n\n function createUTC (input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, true).utc();\n }\n\n function defaultParsingFlags() {\n // We need to deep clone this object.\n return {\n empty : false,\n unusedTokens : [],\n unusedInput : [],\n overflow : -2,\n charsLeftOver : 0,\n nullInput : false,\n invalidMonth : null,\n invalidFormat : false,\n userInvalidated : false,\n iso : false,\n parsedDateParts : [],\n meridiem : null,\n rfc2822 : false,\n weekdayMismatch : false\n };\n }\n\n function getParsingFlags(m) {\n if (m._pf == null) {\n m._pf = defaultParsingFlags();\n }\n return m._pf;\n }\n\n var some;\n if (Array.prototype.some) {\n some = Array.prototype.some;\n } else {\n some = function (fun) {\n var t = Object(this);\n var len = t.length >>> 0;\n\n for (var i = 0; i < len; i++) {\n if (i in t && fun.call(this, t[i], i, t)) {\n return true;\n }\n }\n\n return false;\n };\n }\n\n function isValid(m) {\n if (m._isValid == null) {\n var flags = getParsingFlags(m);\n var parsedParts = some.call(flags.parsedDateParts, function (i) {\n return i != null;\n });\n var isNowValid = !isNaN(m._d.getTime()) &&\n flags.overflow < 0 &&\n !flags.empty &&\n !flags.invalidMonth &&\n !flags.invalidWeekday &&\n !flags.weekdayMismatch &&\n !flags.nullInput &&\n !flags.invalidFormat &&\n !flags.userInvalidated &&\n (!flags.meridiem || (flags.meridiem && parsedParts));\n\n if (m._strict) {\n isNowValid = isNowValid &&\n flags.charsLeftOver === 0 &&\n flags.unusedTokens.length === 0 &&\n flags.bigHour === undefined;\n }\n\n if (Object.isFrozen == null || !Object.isFrozen(m)) {\n m._isValid = isNowValid;\n }\n else {\n return isNowValid;\n }\n }\n return m._isValid;\n }\n\n function createInvalid (flags) {\n var m = createUTC(NaN);\n if (flags != null) {\n extend(getParsingFlags(m), flags);\n }\n else {\n getParsingFlags(m).userInvalidated = true;\n }\n\n return m;\n }\n\n // Plugins that add properties should also add the key here (null value),\n // so we can properly clone ourselves.\n var momentProperties = hooks.momentProperties = [];\n\n function copyConfig(to, from) {\n var i, prop, val;\n\n if (!isUndefined(from._isAMomentObject)) {\n to._isAMomentObject = from._isAMomentObject;\n }\n if (!isUndefined(from._i)) {\n to._i = from._i;\n }\n if (!isUndefined(from._f)) {\n to._f = from._f;\n }\n if (!isUndefined(from._l)) {\n to._l = from._l;\n }\n if (!isUndefined(from._strict)) {\n to._strict = from._strict;\n }\n if (!isUndefined(from._tzm)) {\n to._tzm = from._tzm;\n }\n if (!isUndefined(from._isUTC)) {\n to._isUTC = from._isUTC;\n }\n if (!isUndefined(from._offset)) {\n to._offset = from._offset;\n }\n if (!isUndefined(from._pf)) {\n to._pf = getParsingFlags(from);\n }\n if (!isUndefined(from._locale)) {\n to._locale = from._locale;\n }\n\n if (momentProperties.length > 0) {\n for (i = 0; i < momentProperties.length; i++) {\n prop = momentProperties[i];\n val = from[prop];\n if (!isUndefined(val)) {\n to[prop] = val;\n }\n }\n }\n\n return to;\n }\n\n var updateInProgress = false;\n\n // Moment prototype object\n function Moment(config) {\n copyConfig(this, config);\n this._d = new Date(config._d != null ? config._d.getTime() : NaN);\n if (!this.isValid()) {\n this._d = new Date(NaN);\n }\n // Prevent infinite loop in case updateOffset creates new moment\n // objects.\n if (updateInProgress === false) {\n updateInProgress = true;\n hooks.updateOffset(this);\n updateInProgress = false;\n }\n }\n\n function isMoment (obj) {\n return obj instanceof Moment || (obj != null && obj._isAMomentObject != null);\n }\n\n function absFloor (number) {\n if (number < 0) {\n // -0 -> 0\n return Math.ceil(number) || 0;\n } else {\n return Math.floor(number);\n }\n }\n\n function toInt(argumentForCoercion) {\n var coercedNumber = +argumentForCoercion,\n value = 0;\n\n if (coercedNumber !== 0 && isFinite(coercedNumber)) {\n value = absFloor(coercedNumber);\n }\n\n return value;\n }\n\n // compare two arrays, return the number of differences\n function compareArrays(array1, array2, dontConvert) {\n var len = Math.min(array1.length, array2.length),\n lengthDiff = Math.abs(array1.length - array2.length),\n diffs = 0,\n i;\n for (i = 0; i < len; i++) {\n if ((dontConvert && array1[i] !== array2[i]) ||\n (!dontConvert && toInt(array1[i]) !== toInt(array2[i]))) {\n diffs++;\n }\n }\n return diffs + lengthDiff;\n }\n\n function warn(msg) {\n if (hooks.suppressDeprecationWarnings === false &&\n (typeof console !== 'undefined') && console.warn) {\n console.warn('Deprecation warning: ' + msg);\n }\n }\n\n function deprecate(msg, fn) {\n var firstTime = true;\n\n return extend(function () {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(null, msg);\n }\n if (firstTime) {\n var args = [];\n var arg;\n for (var i = 0; i < arguments.length; i++) {\n arg = '';\n if (typeof arguments[i] === 'object') {\n arg += '\\n[' + i + '] ';\n for (var key in arguments[0]) {\n arg += key + ': ' + arguments[0][key] + ', ';\n }\n arg = arg.slice(0, -2); // Remove trailing comma and space\n } else {\n arg = arguments[i];\n }\n args.push(arg);\n }\n warn(msg + '\\nArguments: ' + Array.prototype.slice.call(args).join('') + '\\n' + (new Error()).stack);\n firstTime = false;\n }\n return fn.apply(this, arguments);\n }, fn);\n }\n\n var deprecations = {};\n\n function deprecateSimple(name, msg) {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(name, msg);\n }\n if (!deprecations[name]) {\n warn(msg);\n deprecations[name] = true;\n }\n }\n\n hooks.suppressDeprecationWarnings = false;\n hooks.deprecationHandler = null;\n\n function isFunction(input) {\n return input instanceof Function || Object.prototype.toString.call(input) === '[object Function]';\n }\n\n function set (config) {\n var prop, i;\n for (i in config) {\n prop = config[i];\n if (isFunction(prop)) {\n this[i] = prop;\n } else {\n this['_' + i] = prop;\n }\n }\n this._config = config;\n // Lenient ordinal parsing accepts just a number in addition to\n // number + (possibly) stuff coming from _dayOfMonthOrdinalParse.\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n this._dayOfMonthOrdinalParseLenient = new RegExp(\n (this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) +\n '|' + (/\\d{1,2}/).source);\n }\n\n function mergeConfigs(parentConfig, childConfig) {\n var res = extend({}, parentConfig), prop;\n for (prop in childConfig) {\n if (hasOwnProp(childConfig, prop)) {\n if (isObject(parentConfig[prop]) && isObject(childConfig[prop])) {\n res[prop] = {};\n extend(res[prop], parentConfig[prop]);\n extend(res[prop], childConfig[prop]);\n } else if (childConfig[prop] != null) {\n res[prop] = childConfig[prop];\n } else {\n delete res[prop];\n }\n }\n }\n for (prop in parentConfig) {\n if (hasOwnProp(parentConfig, prop) &&\n !hasOwnProp(childConfig, prop) &&\n isObject(parentConfig[prop])) {\n // make sure changes to properties don't modify parent config\n res[prop] = extend({}, res[prop]);\n }\n }\n return res;\n }\n\n function Locale(config) {\n if (config != null) {\n this.set(config);\n }\n }\n\n var keys;\n\n if (Object.keys) {\n keys = Object.keys;\n } else {\n keys = function (obj) {\n var i, res = [];\n for (i in obj) {\n if (hasOwnProp(obj, i)) {\n res.push(i);\n }\n }\n return res;\n };\n }\n\n var defaultCalendar = {\n sameDay : '[Today at] LT',\n nextDay : '[Tomorrow at] LT',\n nextWeek : 'dddd [at] LT',\n lastDay : '[Yesterday at] LT',\n lastWeek : '[Last] dddd [at] LT',\n sameElse : 'L'\n };\n\n function calendar (key, mom, now) {\n var output = this._calendar[key] || this._calendar['sameElse'];\n return isFunction(output) ? output.call(mom, now) : output;\n }\n\n var defaultLongDateFormat = {\n LTS : 'h:mm:ss A',\n LT : 'h:mm A',\n L : 'MM/DD/YYYY',\n LL : 'MMMM D, YYYY',\n LLL : 'MMMM D, YYYY h:mm A',\n LLLL : 'dddd, MMMM D, YYYY h:mm A'\n };\n\n function longDateFormat (key) {\n var format = this._longDateFormat[key],\n formatUpper = this._longDateFormat[key.toUpperCase()];\n\n if (format || !formatUpper) {\n return format;\n }\n\n this._longDateFormat[key] = formatUpper.replace(/MMMM|MM|DD|dddd/g, function (val) {\n return val.slice(1);\n });\n\n return this._longDateFormat[key];\n }\n\n var defaultInvalidDate = 'Invalid date';\n\n function invalidDate () {\n return this._invalidDate;\n }\n\n var defaultOrdinal = '%d';\n var defaultDayOfMonthOrdinalParse = /\\d{1,2}/;\n\n function ordinal (number) {\n return this._ordinal.replace('%d', number);\n }\n\n var defaultRelativeTime = {\n future : 'in %s',\n past : '%s ago',\n s : 'a few seconds',\n ss : '%d seconds',\n m : 'a minute',\n mm : '%d minutes',\n h : 'an hour',\n hh : '%d hours',\n d : 'a day',\n dd : '%d days',\n M : 'a month',\n MM : '%d months',\n y : 'a year',\n yy : '%d years'\n };\n\n function relativeTime (number, withoutSuffix, string, isFuture) {\n var output = this._relativeTime[string];\n return (isFunction(output)) ?\n output(number, withoutSuffix, string, isFuture) :\n output.replace(/%d/i, number);\n }\n\n function pastFuture (diff, output) {\n var format = this._relativeTime[diff > 0 ? 'future' : 'past'];\n return isFunction(format) ? format(output) : format.replace(/%s/i, output);\n }\n\n var aliases = {};\n\n function addUnitAlias (unit, shorthand) {\n var lowerCase = unit.toLowerCase();\n aliases[lowerCase] = aliases[lowerCase + 's'] = aliases[shorthand] = unit;\n }\n\n function normalizeUnits(units) {\n return typeof units === 'string' ? aliases[units] || aliases[units.toLowerCase()] : undefined;\n }\n\n function normalizeObjectUnits(inputObject) {\n var normalizedInput = {},\n normalizedProp,\n prop;\n\n for (prop in inputObject) {\n if (hasOwnProp(inputObject, prop)) {\n normalizedProp = normalizeUnits(prop);\n if (normalizedProp) {\n normalizedInput[normalizedProp] = inputObject[prop];\n }\n }\n }\n\n return normalizedInput;\n }\n\n var priorities = {};\n\n function addUnitPriority(unit, priority) {\n priorities[unit] = priority;\n }\n\n function getPrioritizedUnits(unitsObj) {\n var units = [];\n for (var u in unitsObj) {\n units.push({unit: u, priority: priorities[u]});\n }\n units.sort(function (a, b) {\n return a.priority - b.priority;\n });\n return units;\n }\n\n function zeroFill(number, targetLength, forceSign) {\n var absNumber = '' + Math.abs(number),\n zerosToFill = targetLength - absNumber.length,\n sign = number >= 0;\n return (sign ? (forceSign ? '+' : '') : '-') +\n Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) + absNumber;\n }\n\n var formattingTokens = /(\\[[^\\[]*\\])|(\\\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g;\n\n var localFormattingTokens = /(\\[[^\\[]*\\])|(\\\\)?(LTS|LT|LL?L?L?|l{1,4})/g;\n\n var formatFunctions = {};\n\n var formatTokenFunctions = {};\n\n // token: 'M'\n // padded: ['MM', 2]\n // ordinal: 'Mo'\n // callback: function () { this.month() + 1 }\n function addFormatToken (token, padded, ordinal, callback) {\n var func = callback;\n if (typeof callback === 'string') {\n func = function () {\n return this[callback]();\n };\n }\n if (token) {\n formatTokenFunctions[token] = func;\n }\n if (padded) {\n formatTokenFunctions[padded[0]] = function () {\n return zeroFill(func.apply(this, arguments), padded[1], padded[2]);\n };\n }\n if (ordinal) {\n formatTokenFunctions[ordinal] = function () {\n return this.localeData().ordinal(func.apply(this, arguments), token);\n };\n }\n }\n\n function removeFormattingTokens(input) {\n if (input.match(/\\[[\\s\\S]/)) {\n return input.replace(/^\\[|\\]$/g, '');\n }\n return input.replace(/\\\\/g, '');\n }\n\n function makeFormatFunction(format) {\n var array = format.match(formattingTokens), i, length;\n\n for (i = 0, length = array.length; i < length; i++) {\n if (formatTokenFunctions[array[i]]) {\n array[i] = formatTokenFunctions[array[i]];\n } else {\n array[i] = removeFormattingTokens(array[i]);\n }\n }\n\n return function (mom) {\n var output = '', i;\n for (i = 0; i < length; i++) {\n output += isFunction(array[i]) ? array[i].call(mom, format) : array[i];\n }\n return output;\n };\n }\n\n // format date using native date object\n function formatMoment(m, format) {\n if (!m.isValid()) {\n return m.localeData().invalidDate();\n }\n\n format = expandFormat(format, m.localeData());\n formatFunctions[format] = formatFunctions[format] || makeFormatFunction(format);\n\n return formatFunctions[format](m);\n }\n\n function expandFormat(format, locale) {\n var i = 5;\n\n function replaceLongDateFormatTokens(input) {\n return locale.longDateFormat(input) || input;\n }\n\n localFormattingTokens.lastIndex = 0;\n while (i >= 0 && localFormattingTokens.test(format)) {\n format = format.replace(localFormattingTokens, replaceLongDateFormatTokens);\n localFormattingTokens.lastIndex = 0;\n i -= 1;\n }\n\n return format;\n }\n\n var match1 = /\\d/; // 0 - 9\n var match2 = /\\d\\d/; // 00 - 99\n var match3 = /\\d{3}/; // 000 - 999\n var match4 = /\\d{4}/; // 0000 - 9999\n var match6 = /[+-]?\\d{6}/; // -999999 - 999999\n var match1to2 = /\\d\\d?/; // 0 - 99\n var match3to4 = /\\d\\d\\d\\d?/; // 999 - 9999\n var match5to6 = /\\d\\d\\d\\d\\d\\d?/; // 99999 - 999999\n var match1to3 = /\\d{1,3}/; // 0 - 999\n var match1to4 = /\\d{1,4}/; // 0 - 9999\n var match1to6 = /[+-]?\\d{1,6}/; // -999999 - 999999\n\n var matchUnsigned = /\\d+/; // 0 - inf\n var matchSigned = /[+-]?\\d+/; // -inf - inf\n\n var matchOffset = /Z|[+-]\\d\\d:?\\d\\d/gi; // +00:00 -00:00 +0000 -0000 or Z\n var matchShortOffset = /Z|[+-]\\d\\d(?::?\\d\\d)?/gi; // +00 -00 +00:00 -00:00 +0000 -0000 or Z\n\n var matchTimestamp = /[+-]?\\d+(\\.\\d{1,3})?/; // 123456789 123456789.123\n\n // any word (or two) characters or numbers including two/three word month in arabic.\n // includes scottish gaelic two word and hyphenated months\n var matchWord = /[0-9]{0,256}['a-z\\u00A0-\\u05FF\\u0700-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFF07\\uFF10-\\uFFEF]{1,256}|[\\u0600-\\u06FF\\/]{1,256}(\\s*?[\\u0600-\\u06FF]{1,256}){1,2}/i;\n\n var regexes = {};\n\n function addRegexToken (token, regex, strictRegex) {\n regexes[token] = isFunction(regex) ? regex : function (isStrict, localeData) {\n return (isStrict && strictRegex) ? strictRegex : regex;\n };\n }\n\n function getParseRegexForToken (token, config) {\n if (!hasOwnProp(regexes, token)) {\n return new RegExp(unescapeFormat(token));\n }\n\n return regexes[token](config._strict, config._locale);\n }\n\n // Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript\n function unescapeFormat(s) {\n return regexEscape(s.replace('\\\\', '').replace(/\\\\(\\[)|\\\\(\\])|\\[([^\\]\\[]*)\\]|\\\\(.)/g, function (matched, p1, p2, p3, p4) {\n return p1 || p2 || p3 || p4;\n }));\n }\n\n function regexEscape(s) {\n return s.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n }\n\n var tokens = {};\n\n function addParseToken (token, callback) {\n var i, func = callback;\n if (typeof token === 'string') {\n token = [token];\n }\n if (isNumber(callback)) {\n func = function (input, array) {\n array[callback] = toInt(input);\n };\n }\n for (i = 0; i < token.length; i++) {\n tokens[token[i]] = func;\n }\n }\n\n function addWeekParseToken (token, callback) {\n addParseToken(token, function (input, array, config, token) {\n config._w = config._w || {};\n callback(input, config._w, config, token);\n });\n }\n\n function addTimeToArrayFromToken(token, input, config) {\n if (input != null && hasOwnProp(tokens, token)) {\n tokens[token](input, config._a, config, token);\n }\n }\n\n var YEAR = 0;\n var MONTH = 1;\n var DATE = 2;\n var HOUR = 3;\n var MINUTE = 4;\n var SECOND = 5;\n var MILLISECOND = 6;\n var WEEK = 7;\n var WEEKDAY = 8;\n\n // FORMATTING\n\n addFormatToken('Y', 0, 0, function () {\n var y = this.year();\n return y <= 9999 ? '' + y : '+' + y;\n });\n\n addFormatToken(0, ['YY', 2], 0, function () {\n return this.year() % 100;\n });\n\n addFormatToken(0, ['YYYY', 4], 0, 'year');\n addFormatToken(0, ['YYYYY', 5], 0, 'year');\n addFormatToken(0, ['YYYYYY', 6, true], 0, 'year');\n\n // ALIASES\n\n addUnitAlias('year', 'y');\n\n // PRIORITIES\n\n addUnitPriority('year', 1);\n\n // PARSING\n\n addRegexToken('Y', matchSigned);\n addRegexToken('YY', match1to2, match2);\n addRegexToken('YYYY', match1to4, match4);\n addRegexToken('YYYYY', match1to6, match6);\n addRegexToken('YYYYYY', match1to6, match6);\n\n addParseToken(['YYYYY', 'YYYYYY'], YEAR);\n addParseToken('YYYY', function (input, array) {\n array[YEAR] = input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input);\n });\n addParseToken('YY', function (input, array) {\n array[YEAR] = hooks.parseTwoDigitYear(input);\n });\n addParseToken('Y', function (input, array) {\n array[YEAR] = parseInt(input, 10);\n });\n\n // HELPERS\n\n function daysInYear(year) {\n return isLeapYear(year) ? 366 : 365;\n }\n\n function isLeapYear(year) {\n return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;\n }\n\n // HOOKS\n\n hooks.parseTwoDigitYear = function (input) {\n return toInt(input) + (toInt(input) > 68 ? 1900 : 2000);\n };\n\n // MOMENTS\n\n var getSetYear = makeGetSet('FullYear', true);\n\n function getIsLeapYear () {\n return isLeapYear(this.year());\n }\n\n function makeGetSet (unit, keepTime) {\n return function (value) {\n if (value != null) {\n set$1(this, unit, value);\n hooks.updateOffset(this, keepTime);\n return this;\n } else {\n return get(this, unit);\n }\n };\n }\n\n function get (mom, unit) {\n return mom.isValid() ?\n mom._d['get' + (mom._isUTC ? 'UTC' : '') + unit]() : NaN;\n }\n\n function set$1 (mom, unit, value) {\n if (mom.isValid() && !isNaN(value)) {\n if (unit === 'FullYear' && isLeapYear(mom.year()) && mom.month() === 1 && mom.date() === 29) {\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value, mom.month(), daysInMonth(value, mom.month()));\n }\n else {\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value);\n }\n }\n }\n\n // MOMENTS\n\n function stringGet (units) {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units]();\n }\n return this;\n }\n\n\n function stringSet (units, value) {\n if (typeof units === 'object') {\n units = normalizeObjectUnits(units);\n var prioritized = getPrioritizedUnits(units);\n for (var i = 0; i < prioritized.length; i++) {\n this[prioritized[i].unit](units[prioritized[i].unit]);\n }\n } else {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units](value);\n }\n }\n return this;\n }\n\n function mod(n, x) {\n return ((n % x) + x) % x;\n }\n\n var indexOf;\n\n if (Array.prototype.indexOf) {\n indexOf = Array.prototype.indexOf;\n } else {\n indexOf = function (o) {\n // I know\n var i;\n for (i = 0; i < this.length; ++i) {\n if (this[i] === o) {\n return i;\n }\n }\n return -1;\n };\n }\n\n function daysInMonth(year, month) {\n if (isNaN(year) || isNaN(month)) {\n return NaN;\n }\n var modMonth = mod(month, 12);\n year += (month - modMonth) / 12;\n return modMonth === 1 ? (isLeapYear(year) ? 29 : 28) : (31 - modMonth % 7 % 2);\n }\n\n // FORMATTING\n\n addFormatToken('M', ['MM', 2], 'Mo', function () {\n return this.month() + 1;\n });\n\n addFormatToken('MMM', 0, 0, function (format) {\n return this.localeData().monthsShort(this, format);\n });\n\n addFormatToken('MMMM', 0, 0, function (format) {\n return this.localeData().months(this, format);\n });\n\n // ALIASES\n\n addUnitAlias('month', 'M');\n\n // PRIORITY\n\n addUnitPriority('month', 8);\n\n // PARSING\n\n addRegexToken('M', match1to2);\n addRegexToken('MM', match1to2, match2);\n addRegexToken('MMM', function (isStrict, locale) {\n return locale.monthsShortRegex(isStrict);\n });\n addRegexToken('MMMM', function (isStrict, locale) {\n return locale.monthsRegex(isStrict);\n });\n\n addParseToken(['M', 'MM'], function (input, array) {\n array[MONTH] = toInt(input) - 1;\n });\n\n addParseToken(['MMM', 'MMMM'], function (input, array, config, token) {\n var month = config._locale.monthsParse(input, token, config._strict);\n // if we didn't find a month name, mark the date as invalid.\n if (month != null) {\n array[MONTH] = month;\n } else {\n getParsingFlags(config).invalidMonth = input;\n }\n });\n\n // LOCALES\n\n var MONTHS_IN_FORMAT = /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?/;\n var defaultLocaleMonths = 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_');\n function localeMonths (m, format) {\n if (!m) {\n return isArray(this._months) ? this._months :\n this._months['standalone'];\n }\n return isArray(this._months) ? this._months[m.month()] :\n this._months[(this._months.isFormat || MONTHS_IN_FORMAT).test(format) ? 'format' : 'standalone'][m.month()];\n }\n\n var defaultLocaleMonthsShort = 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_');\n function localeMonthsShort (m, format) {\n if (!m) {\n return isArray(this._monthsShort) ? this._monthsShort :\n this._monthsShort['standalone'];\n }\n return isArray(this._monthsShort) ? this._monthsShort[m.month()] :\n this._monthsShort[MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone'][m.month()];\n }\n\n function handleStrictParse(monthName, format, strict) {\n var i, ii, mom, llc = monthName.toLocaleLowerCase();\n if (!this._monthsParse) {\n // this is not used\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n for (i = 0; i < 12; ++i) {\n mom = createUTC([2000, i]);\n this._shortMonthsParse[i] = this.monthsShort(mom, '').toLocaleLowerCase();\n this._longMonthsParse[i] = this.months(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n }\n\n function localeMonthsParse (monthName, format, strict) {\n var i, mom, regex;\n\n if (this._monthsParseExact) {\n return handleStrictParse.call(this, monthName, format, strict);\n }\n\n if (!this._monthsParse) {\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n }\n\n // TODO: add sorting\n // Sorting makes sure if one month (or abbr) is a prefix of another\n // see sorting in computeMonthsParse\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n if (strict && !this._longMonthsParse[i]) {\n this._longMonthsParse[i] = new RegExp('^' + this.months(mom, '').replace('.', '') + '$', 'i');\n this._shortMonthsParse[i] = new RegExp('^' + this.monthsShort(mom, '').replace('.', '') + '$', 'i');\n }\n if (!strict && !this._monthsParse[i]) {\n regex = '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, '');\n this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (strict && format === 'MMMM' && this._longMonthsParse[i].test(monthName)) {\n return i;\n } else if (strict && format === 'MMM' && this._shortMonthsParse[i].test(monthName)) {\n return i;\n } else if (!strict && this._monthsParse[i].test(monthName)) {\n return i;\n }\n }\n }\n\n // MOMENTS\n\n function setMonth (mom, value) {\n var dayOfMonth;\n\n if (!mom.isValid()) {\n // No op\n return mom;\n }\n\n if (typeof value === 'string') {\n if (/^\\d+$/.test(value)) {\n value = toInt(value);\n } else {\n value = mom.localeData().monthsParse(value);\n // TODO: Another silent failure?\n if (!isNumber(value)) {\n return mom;\n }\n }\n }\n\n dayOfMonth = Math.min(mom.date(), daysInMonth(mom.year(), value));\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + 'Month'](value, dayOfMonth);\n return mom;\n }\n\n function getSetMonth (value) {\n if (value != null) {\n setMonth(this, value);\n hooks.updateOffset(this, true);\n return this;\n } else {\n return get(this, 'Month');\n }\n }\n\n function getDaysInMonth () {\n return daysInMonth(this.year(), this.month());\n }\n\n var defaultMonthsShortRegex = matchWord;\n function monthsShortRegex (isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n if (isStrict) {\n return this._monthsShortStrictRegex;\n } else {\n return this._monthsShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsShortRegex')) {\n this._monthsShortRegex = defaultMonthsShortRegex;\n }\n return this._monthsShortStrictRegex && isStrict ?\n this._monthsShortStrictRegex : this._monthsShortRegex;\n }\n }\n\n var defaultMonthsRegex = matchWord;\n function monthsRegex (isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n if (isStrict) {\n return this._monthsStrictRegex;\n } else {\n return this._monthsRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsRegex')) {\n this._monthsRegex = defaultMonthsRegex;\n }\n return this._monthsStrictRegex && isStrict ?\n this._monthsStrictRegex : this._monthsRegex;\n }\n }\n\n function computeMonthsParse () {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var shortPieces = [], longPieces = [], mixedPieces = [],\n i, mom;\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n shortPieces.push(this.monthsShort(mom, ''));\n longPieces.push(this.months(mom, ''));\n mixedPieces.push(this.months(mom, ''));\n mixedPieces.push(this.monthsShort(mom, ''));\n }\n // Sorting makes sure if one month (or abbr) is a prefix of another it\n // will match the longer piece.\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n for (i = 0; i < 12; i++) {\n shortPieces[i] = regexEscape(shortPieces[i]);\n longPieces[i] = regexEscape(longPieces[i]);\n }\n for (i = 0; i < 24; i++) {\n mixedPieces[i] = regexEscape(mixedPieces[i]);\n }\n\n this._monthsRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._monthsShortRegex = this._monthsRegex;\n this._monthsStrictRegex = new RegExp('^(' + longPieces.join('|') + ')', 'i');\n this._monthsShortStrictRegex = new RegExp('^(' + shortPieces.join('|') + ')', 'i');\n }\n\n function createDate (y, m, d, h, M, s, ms) {\n // can't just apply() to create a date:\n // https://stackoverflow.com/q/181348\n var date = new Date(y, m, d, h, M, s, ms);\n\n // the date constructor remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0 && isFinite(date.getFullYear())) {\n date.setFullYear(y);\n }\n return date;\n }\n\n function createUTCDate (y) {\n var date = new Date(Date.UTC.apply(null, arguments));\n\n // the Date.UTC function remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0 && isFinite(date.getUTCFullYear())) {\n date.setUTCFullYear(y);\n }\n return date;\n }\n\n // start-of-first-week - start-of-year\n function firstWeekOffset(year, dow, doy) {\n var // first-week day -- which january is always in the first week (4 for iso, 1 for other)\n fwd = 7 + dow - doy,\n // first-week day local weekday -- which local weekday is fwd\n fwdlw = (7 + createUTCDate(year, 0, fwd).getUTCDay() - dow) % 7;\n\n return -fwdlw + fwd - 1;\n }\n\n // https://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday\n function dayOfYearFromWeeks(year, week, weekday, dow, doy) {\n var localWeekday = (7 + weekday - dow) % 7,\n weekOffset = firstWeekOffset(year, dow, doy),\n dayOfYear = 1 + 7 * (week - 1) + localWeekday + weekOffset,\n resYear, resDayOfYear;\n\n if (dayOfYear <= 0) {\n resYear = year - 1;\n resDayOfYear = daysInYear(resYear) + dayOfYear;\n } else if (dayOfYear > daysInYear(year)) {\n resYear = year + 1;\n resDayOfYear = dayOfYear - daysInYear(year);\n } else {\n resYear = year;\n resDayOfYear = dayOfYear;\n }\n\n return {\n year: resYear,\n dayOfYear: resDayOfYear\n };\n }\n\n function weekOfYear(mom, dow, doy) {\n var weekOffset = firstWeekOffset(mom.year(), dow, doy),\n week = Math.floor((mom.dayOfYear() - weekOffset - 1) / 7) + 1,\n resWeek, resYear;\n\n if (week < 1) {\n resYear = mom.year() - 1;\n resWeek = week + weeksInYear(resYear, dow, doy);\n } else if (week > weeksInYear(mom.year(), dow, doy)) {\n resWeek = week - weeksInYear(mom.year(), dow, doy);\n resYear = mom.year() + 1;\n } else {\n resYear = mom.year();\n resWeek = week;\n }\n\n return {\n week: resWeek,\n year: resYear\n };\n }\n\n function weeksInYear(year, dow, doy) {\n var weekOffset = firstWeekOffset(year, dow, doy),\n weekOffsetNext = firstWeekOffset(year + 1, dow, doy);\n return (daysInYear(year) - weekOffset + weekOffsetNext) / 7;\n }\n\n // FORMATTING\n\n addFormatToken('w', ['ww', 2], 'wo', 'week');\n addFormatToken('W', ['WW', 2], 'Wo', 'isoWeek');\n\n // ALIASES\n\n addUnitAlias('week', 'w');\n addUnitAlias('isoWeek', 'W');\n\n // PRIORITIES\n\n addUnitPriority('week', 5);\n addUnitPriority('isoWeek', 5);\n\n // PARSING\n\n addRegexToken('w', match1to2);\n addRegexToken('ww', match1to2, match2);\n addRegexToken('W', match1to2);\n addRegexToken('WW', match1to2, match2);\n\n addWeekParseToken(['w', 'ww', 'W', 'WW'], function (input, week, config, token) {\n week[token.substr(0, 1)] = toInt(input);\n });\n\n // HELPERS\n\n // LOCALES\n\n function localeWeek (mom) {\n return weekOfYear(mom, this._week.dow, this._week.doy).week;\n }\n\n var defaultLocaleWeek = {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n };\n\n function localeFirstDayOfWeek () {\n return this._week.dow;\n }\n\n function localeFirstDayOfYear () {\n return this._week.doy;\n }\n\n // MOMENTS\n\n function getSetWeek (input) {\n var week = this.localeData().week(this);\n return input == null ? week : this.add((input - week) * 7, 'd');\n }\n\n function getSetISOWeek (input) {\n var week = weekOfYear(this, 1, 4).week;\n return input == null ? week : this.add((input - week) * 7, 'd');\n }\n\n // FORMATTING\n\n addFormatToken('d', 0, 'do', 'day');\n\n addFormatToken('dd', 0, 0, function (format) {\n return this.localeData().weekdaysMin(this, format);\n });\n\n addFormatToken('ddd', 0, 0, function (format) {\n return this.localeData().weekdaysShort(this, format);\n });\n\n addFormatToken('dddd', 0, 0, function (format) {\n return this.localeData().weekdays(this, format);\n });\n\n addFormatToken('e', 0, 0, 'weekday');\n addFormatToken('E', 0, 0, 'isoWeekday');\n\n // ALIASES\n\n addUnitAlias('day', 'd');\n addUnitAlias('weekday', 'e');\n addUnitAlias('isoWeekday', 'E');\n\n // PRIORITY\n addUnitPriority('day', 11);\n addUnitPriority('weekday', 11);\n addUnitPriority('isoWeekday', 11);\n\n // PARSING\n\n addRegexToken('d', match1to2);\n addRegexToken('e', match1to2);\n addRegexToken('E', match1to2);\n addRegexToken('dd', function (isStrict, locale) {\n return locale.weekdaysMinRegex(isStrict);\n });\n addRegexToken('ddd', function (isStrict, locale) {\n return locale.weekdaysShortRegex(isStrict);\n });\n addRegexToken('dddd', function (isStrict, locale) {\n return locale.weekdaysRegex(isStrict);\n });\n\n addWeekParseToken(['dd', 'ddd', 'dddd'], function (input, week, config, token) {\n var weekday = config._locale.weekdaysParse(input, token, config._strict);\n // if we didn't get a weekday name, mark the date as invalid\n if (weekday != null) {\n week.d = weekday;\n } else {\n getParsingFlags(config).invalidWeekday = input;\n }\n });\n\n addWeekParseToken(['d', 'e', 'E'], function (input, week, config, token) {\n week[token] = toInt(input);\n });\n\n // HELPERS\n\n function parseWeekday(input, locale) {\n if (typeof input !== 'string') {\n return input;\n }\n\n if (!isNaN(input)) {\n return parseInt(input, 10);\n }\n\n input = locale.weekdaysParse(input);\n if (typeof input === 'number') {\n return input;\n }\n\n return null;\n }\n\n function parseIsoWeekday(input, locale) {\n if (typeof input === 'string') {\n return locale.weekdaysParse(input) % 7 || 7;\n }\n return isNaN(input) ? null : input;\n }\n\n // LOCALES\n\n var defaultLocaleWeekdays = 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_');\n function localeWeekdays (m, format) {\n if (!m) {\n return isArray(this._weekdays) ? this._weekdays :\n this._weekdays['standalone'];\n }\n return isArray(this._weekdays) ? this._weekdays[m.day()] :\n this._weekdays[this._weekdays.isFormat.test(format) ? 'format' : 'standalone'][m.day()];\n }\n\n var defaultLocaleWeekdaysShort = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_');\n function localeWeekdaysShort (m) {\n return (m) ? this._weekdaysShort[m.day()] : this._weekdaysShort;\n }\n\n var defaultLocaleWeekdaysMin = 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_');\n function localeWeekdaysMin (m) {\n return (m) ? this._weekdaysMin[m.day()] : this._weekdaysMin;\n }\n\n function handleStrictParse$1(weekdayName, format, strict) {\n var i, ii, mom, llc = weekdayName.toLocaleLowerCase();\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._minWeekdaysParse = [];\n\n for (i = 0; i < 7; ++i) {\n mom = createUTC([2000, 1]).day(i);\n this._minWeekdaysParse[i] = this.weekdaysMin(mom, '').toLocaleLowerCase();\n this._shortWeekdaysParse[i] = this.weekdaysShort(mom, '').toLocaleLowerCase();\n this._weekdaysParse[i] = this.weekdays(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n }\n\n function localeWeekdaysParse (weekdayName, format, strict) {\n var i, mom, regex;\n\n if (this._weekdaysParseExact) {\n return handleStrictParse$1.call(this, weekdayName, format, strict);\n }\n\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._minWeekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._fullWeekdaysParse = [];\n }\n\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n\n mom = createUTC([2000, 1]).day(i);\n if (strict && !this._fullWeekdaysParse[i]) {\n this._fullWeekdaysParse[i] = new RegExp('^' + this.weekdays(mom, '').replace('.', '\\\\.?') + '$', 'i');\n this._shortWeekdaysParse[i] = new RegExp('^' + this.weekdaysShort(mom, '').replace('.', '\\\\.?') + '$', 'i');\n this._minWeekdaysParse[i] = new RegExp('^' + this.weekdaysMin(mom, '').replace('.', '\\\\.?') + '$', 'i');\n }\n if (!this._weekdaysParse[i]) {\n regex = '^' + this.weekdays(mom, '') + '|^' + this.weekdaysShort(mom, '') + '|^' + this.weekdaysMin(mom, '');\n this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (strict && format === 'dddd' && this._fullWeekdaysParse[i].test(weekdayName)) {\n return i;\n } else if (strict && format === 'ddd' && this._shortWeekdaysParse[i].test(weekdayName)) {\n return i;\n } else if (strict && format === 'dd' && this._minWeekdaysParse[i].test(weekdayName)) {\n return i;\n } else if (!strict && this._weekdaysParse[i].test(weekdayName)) {\n return i;\n }\n }\n }\n\n // MOMENTS\n\n function getSetDayOfWeek (input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n var day = this._isUTC ? this._d.getUTCDay() : this._d.getDay();\n if (input != null) {\n input = parseWeekday(input, this.localeData());\n return this.add(input - day, 'd');\n } else {\n return day;\n }\n }\n\n function getSetLocaleDayOfWeek (input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7;\n return input == null ? weekday : this.add(input - weekday, 'd');\n }\n\n function getSetISODayOfWeek (input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n\n // behaves the same as moment#day except\n // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6)\n // as a setter, sunday should belong to the previous week.\n\n if (input != null) {\n var weekday = parseIsoWeekday(input, this.localeData());\n return this.day(this.day() % 7 ? weekday : weekday - 7);\n } else {\n return this.day() || 7;\n }\n }\n\n var defaultWeekdaysRegex = matchWord;\n function weekdaysRegex (isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysStrictRegex;\n } else {\n return this._weekdaysRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n this._weekdaysRegex = defaultWeekdaysRegex;\n }\n return this._weekdaysStrictRegex && isStrict ?\n this._weekdaysStrictRegex : this._weekdaysRegex;\n }\n }\n\n var defaultWeekdaysShortRegex = matchWord;\n function weekdaysShortRegex (isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysShortStrictRegex;\n } else {\n return this._weekdaysShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysShortRegex')) {\n this._weekdaysShortRegex = defaultWeekdaysShortRegex;\n }\n return this._weekdaysShortStrictRegex && isStrict ?\n this._weekdaysShortStrictRegex : this._weekdaysShortRegex;\n }\n }\n\n var defaultWeekdaysMinRegex = matchWord;\n function weekdaysMinRegex (isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysMinStrictRegex;\n } else {\n return this._weekdaysMinRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysMinRegex')) {\n this._weekdaysMinRegex = defaultWeekdaysMinRegex;\n }\n return this._weekdaysMinStrictRegex && isStrict ?\n this._weekdaysMinStrictRegex : this._weekdaysMinRegex;\n }\n }\n\n\n function computeWeekdaysParse () {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var minPieces = [], shortPieces = [], longPieces = [], mixedPieces = [],\n i, mom, minp, shortp, longp;\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, 1]).day(i);\n minp = this.weekdaysMin(mom, '');\n shortp = this.weekdaysShort(mom, '');\n longp = this.weekdays(mom, '');\n minPieces.push(minp);\n shortPieces.push(shortp);\n longPieces.push(longp);\n mixedPieces.push(minp);\n mixedPieces.push(shortp);\n mixedPieces.push(longp);\n }\n // Sorting makes sure if one weekday (or abbr) is a prefix of another it\n // will match the longer piece.\n minPieces.sort(cmpLenRev);\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n for (i = 0; i < 7; i++) {\n shortPieces[i] = regexEscape(shortPieces[i]);\n longPieces[i] = regexEscape(longPieces[i]);\n mixedPieces[i] = regexEscape(mixedPieces[i]);\n }\n\n this._weekdaysRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._weekdaysShortRegex = this._weekdaysRegex;\n this._weekdaysMinRegex = this._weekdaysRegex;\n\n this._weekdaysStrictRegex = new RegExp('^(' + longPieces.join('|') + ')', 'i');\n this._weekdaysShortStrictRegex = new RegExp('^(' + shortPieces.join('|') + ')', 'i');\n this._weekdaysMinStrictRegex = new RegExp('^(' + minPieces.join('|') + ')', 'i');\n }\n\n // FORMATTING\n\n function hFormat() {\n return this.hours() % 12 || 12;\n }\n\n function kFormat() {\n return this.hours() || 24;\n }\n\n addFormatToken('H', ['HH', 2], 0, 'hour');\n addFormatToken('h', ['hh', 2], 0, hFormat);\n addFormatToken('k', ['kk', 2], 0, kFormat);\n\n addFormatToken('hmm', 0, 0, function () {\n return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2);\n });\n\n addFormatToken('hmmss', 0, 0, function () {\n return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2);\n });\n\n addFormatToken('Hmm', 0, 0, function () {\n return '' + this.hours() + zeroFill(this.minutes(), 2);\n });\n\n addFormatToken('Hmmss', 0, 0, function () {\n return '' + this.hours() + zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2);\n });\n\n function meridiem (token, lowercase) {\n addFormatToken(token, 0, 0, function () {\n return this.localeData().meridiem(this.hours(), this.minutes(), lowercase);\n });\n }\n\n meridiem('a', true);\n meridiem('A', false);\n\n // ALIASES\n\n addUnitAlias('hour', 'h');\n\n // PRIORITY\n addUnitPriority('hour', 13);\n\n // PARSING\n\n function matchMeridiem (isStrict, locale) {\n return locale._meridiemParse;\n }\n\n addRegexToken('a', matchMeridiem);\n addRegexToken('A', matchMeridiem);\n addRegexToken('H', match1to2);\n addRegexToken('h', match1to2);\n addRegexToken('k', match1to2);\n addRegexToken('HH', match1to2, match2);\n addRegexToken('hh', match1to2, match2);\n addRegexToken('kk', match1to2, match2);\n\n addRegexToken('hmm', match3to4);\n addRegexToken('hmmss', match5to6);\n addRegexToken('Hmm', match3to4);\n addRegexToken('Hmmss', match5to6);\n\n addParseToken(['H', 'HH'], HOUR);\n addParseToken(['k', 'kk'], function (input, array, config) {\n var kInput = toInt(input);\n array[HOUR] = kInput === 24 ? 0 : kInput;\n });\n addParseToken(['a', 'A'], function (input, array, config) {\n config._isPm = config._locale.isPM(input);\n config._meridiem = input;\n });\n addParseToken(['h', 'hh'], function (input, array, config) {\n array[HOUR] = toInt(input);\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('hmmss', function (input, array, config) {\n var pos1 = input.length - 4;\n var pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('Hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n });\n addParseToken('Hmmss', function (input, array, config) {\n var pos1 = input.length - 4;\n var pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n });\n\n // LOCALES\n\n function localeIsPM (input) {\n // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays\n // Using charAt should be more compatible.\n return ((input + '').toLowerCase().charAt(0) === 'p');\n }\n\n var defaultLocaleMeridiemParse = /[ap]\\.?m?\\.?/i;\n function localeMeridiem (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'pm' : 'PM';\n } else {\n return isLower ? 'am' : 'AM';\n }\n }\n\n\n // MOMENTS\n\n // Setting the hour should keep the time, because the user explicitly\n // specified which hour they want. So trying to maintain the same hour (in\n // a new timezone) makes sense. Adding/subtracting hours does not follow\n // this rule.\n var getSetHour = makeGetSet('Hours', true);\n\n var baseConfig = {\n calendar: defaultCalendar,\n longDateFormat: defaultLongDateFormat,\n invalidDate: defaultInvalidDate,\n ordinal: defaultOrdinal,\n dayOfMonthOrdinalParse: defaultDayOfMonthOrdinalParse,\n relativeTime: defaultRelativeTime,\n\n months: defaultLocaleMonths,\n monthsShort: defaultLocaleMonthsShort,\n\n week: defaultLocaleWeek,\n\n weekdays: defaultLocaleWeekdays,\n weekdaysMin: defaultLocaleWeekdaysMin,\n weekdaysShort: defaultLocaleWeekdaysShort,\n\n meridiemParse: defaultLocaleMeridiemParse\n };\n\n // internal storage for locale config files\n var locales = {};\n var localeFamilies = {};\n var globalLocale;\n\n function normalizeLocale(key) {\n return key ? key.toLowerCase().replace('_', '-') : key;\n }\n\n // pick the locale from the array\n // try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each\n // substring from most specific to least, but move to the next array item if it's a more specific variant than the current root\n function chooseLocale(names) {\n var i = 0, j, next, locale, split;\n\n while (i < names.length) {\n split = normalizeLocale(names[i]).split('-');\n j = split.length;\n next = normalizeLocale(names[i + 1]);\n next = next ? next.split('-') : null;\n while (j > 0) {\n locale = loadLocale(split.slice(0, j).join('-'));\n if (locale) {\n return locale;\n }\n if (next && next.length >= j && compareArrays(split, next, true) >= j - 1) {\n //the next array item is better than a shallower substring of this one\n break;\n }\n j--;\n }\n i++;\n }\n return globalLocale;\n }\n\n function loadLocale(name) {\n var oldLocale = null;\n // TODO: Find a better way to register and load all the locales in Node\n if (!locales[name] && (typeof module !== 'undefined') &&\n module && module.exports) {\n try {\n oldLocale = globalLocale._abbr;\n var aliasedRequire = require;\n aliasedRequire('./locale/' + name);\n getSetGlobalLocale(oldLocale);\n } catch (e) {}\n }\n return locales[name];\n }\n\n // This function will load locale and then set the global locale. If\n // no arguments are passed in, it will simply return the current global\n // locale key.\n function getSetGlobalLocale (key, values) {\n var data;\n if (key) {\n if (isUndefined(values)) {\n data = getLocale(key);\n }\n else {\n data = defineLocale(key, values);\n }\n\n if (data) {\n // moment.duration._locale = moment._locale = data;\n globalLocale = data;\n }\n else {\n if ((typeof console !== 'undefined') && console.warn) {\n //warn user if arguments are passed but the locale could not be set\n console.warn('Locale ' + key + ' not found. Did you forget to load it?');\n }\n }\n }\n\n return globalLocale._abbr;\n }\n\n function defineLocale (name, config) {\n if (config !== null) {\n var locale, parentConfig = baseConfig;\n config.abbr = name;\n if (locales[name] != null) {\n deprecateSimple('defineLocaleOverride',\n 'use moment.updateLocale(localeName, config) to change ' +\n 'an existing locale. moment.defineLocale(localeName, ' +\n 'config) should only be used for creating a new locale ' +\n 'See http://momentjs.com/guides/#/warnings/define-locale/ for more info.');\n parentConfig = locales[name]._config;\n } else if (config.parentLocale != null) {\n if (locales[config.parentLocale] != null) {\n parentConfig = locales[config.parentLocale]._config;\n } else {\n locale = loadLocale(config.parentLocale);\n if (locale != null) {\n parentConfig = locale._config;\n } else {\n if (!localeFamilies[config.parentLocale]) {\n localeFamilies[config.parentLocale] = [];\n }\n localeFamilies[config.parentLocale].push({\n name: name,\n config: config\n });\n return null;\n }\n }\n }\n locales[name] = new Locale(mergeConfigs(parentConfig, config));\n\n if (localeFamilies[name]) {\n localeFamilies[name].forEach(function (x) {\n defineLocale(x.name, x.config);\n });\n }\n\n // backwards compat for now: also set the locale\n // make sure we set the locale AFTER all child locales have been\n // created, so we won't end up with the child locale set.\n getSetGlobalLocale(name);\n\n\n return locales[name];\n } else {\n // useful for testing\n delete locales[name];\n return null;\n }\n }\n\n function updateLocale(name, config) {\n if (config != null) {\n var locale, tmpLocale, parentConfig = baseConfig;\n // MERGE\n tmpLocale = loadLocale(name);\n if (tmpLocale != null) {\n parentConfig = tmpLocale._config;\n }\n config = mergeConfigs(parentConfig, config);\n locale = new Locale(config);\n locale.parentLocale = locales[name];\n locales[name] = locale;\n\n // backwards compat for now: also set the locale\n getSetGlobalLocale(name);\n } else {\n // pass null for config to unupdate, useful for tests\n if (locales[name] != null) {\n if (locales[name].parentLocale != null) {\n locales[name] = locales[name].parentLocale;\n } else if (locales[name] != null) {\n delete locales[name];\n }\n }\n }\n return locales[name];\n }\n\n // returns locale data\n function getLocale (key) {\n var locale;\n\n if (key && key._locale && key._locale._abbr) {\n key = key._locale._abbr;\n }\n\n if (!key) {\n return globalLocale;\n }\n\n if (!isArray(key)) {\n //short-circuit everything else\n locale = loadLocale(key);\n if (locale) {\n return locale;\n }\n key = [key];\n }\n\n return chooseLocale(key);\n }\n\n function listLocales() {\n return keys(locales);\n }\n\n function checkOverflow (m) {\n var overflow;\n var a = m._a;\n\n if (a && getParsingFlags(m).overflow === -2) {\n overflow =\n a[MONTH] < 0 || a[MONTH] > 11 ? MONTH :\n a[DATE] < 1 || a[DATE] > daysInMonth(a[YEAR], a[MONTH]) ? DATE :\n a[HOUR] < 0 || a[HOUR] > 24 || (a[HOUR] === 24 && (a[MINUTE] !== 0 || a[SECOND] !== 0 || a[MILLISECOND] !== 0)) ? HOUR :\n a[MINUTE] < 0 || a[MINUTE] > 59 ? MINUTE :\n a[SECOND] < 0 || a[SECOND] > 59 ? SECOND :\n a[MILLISECOND] < 0 || a[MILLISECOND] > 999 ? MILLISECOND :\n -1;\n\n if (getParsingFlags(m)._overflowDayOfYear && (overflow < YEAR || overflow > DATE)) {\n overflow = DATE;\n }\n if (getParsingFlags(m)._overflowWeeks && overflow === -1) {\n overflow = WEEK;\n }\n if (getParsingFlags(m)._overflowWeekday && overflow === -1) {\n overflow = WEEKDAY;\n }\n\n getParsingFlags(m).overflow = overflow;\n }\n\n return m;\n }\n\n // Pick the first defined of two or three arguments.\n function defaults(a, b, c) {\n if (a != null) {\n return a;\n }\n if (b != null) {\n return b;\n }\n return c;\n }\n\n function currentDateArray(config) {\n // hooks is actually the exported moment object\n var nowValue = new Date(hooks.now());\n if (config._useUTC) {\n return [nowValue.getUTCFullYear(), nowValue.getUTCMonth(), nowValue.getUTCDate()];\n }\n return [nowValue.getFullYear(), nowValue.getMonth(), nowValue.getDate()];\n }\n\n // convert an array to a date.\n // the array should mirror the parameters below\n // note: all values past the year are optional and will default to the lowest possible value.\n // [year, month, day , hour, minute, second, millisecond]\n function configFromArray (config) {\n var i, date, input = [], currentDate, expectedWeekday, yearToUse;\n\n if (config._d) {\n return;\n }\n\n currentDate = currentDateArray(config);\n\n //compute day of the year from weeks and weekdays\n if (config._w && config._a[DATE] == null && config._a[MONTH] == null) {\n dayOfYearFromWeekInfo(config);\n }\n\n //if the day of the year is set, figure out what it is\n if (config._dayOfYear != null) {\n yearToUse = defaults(config._a[YEAR], currentDate[YEAR]);\n\n if (config._dayOfYear > daysInYear(yearToUse) || config._dayOfYear === 0) {\n getParsingFlags(config)._overflowDayOfYear = true;\n }\n\n date = createUTCDate(yearToUse, 0, config._dayOfYear);\n config._a[MONTH] = date.getUTCMonth();\n config._a[DATE] = date.getUTCDate();\n }\n\n // Default to current date.\n // * if no year, month, day of month are given, default to today\n // * if day of month is given, default month and year\n // * if month is given, default only year\n // * if year is given, don't default anything\n for (i = 0; i < 3 && config._a[i] == null; ++i) {\n config._a[i] = input[i] = currentDate[i];\n }\n\n // Zero out whatever was not defaulted, including time\n for (; i < 7; i++) {\n config._a[i] = input[i] = (config._a[i] == null) ? (i === 2 ? 1 : 0) : config._a[i];\n }\n\n // Check for 24:00:00.000\n if (config._a[HOUR] === 24 &&\n config._a[MINUTE] === 0 &&\n config._a[SECOND] === 0 &&\n config._a[MILLISECOND] === 0) {\n config._nextDay = true;\n config._a[HOUR] = 0;\n }\n\n config._d = (config._useUTC ? createUTCDate : createDate).apply(null, input);\n expectedWeekday = config._useUTC ? config._d.getUTCDay() : config._d.getDay();\n\n // Apply timezone offset from input. The actual utcOffset can be changed\n // with parseZone.\n if (config._tzm != null) {\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n }\n\n if (config._nextDay) {\n config._a[HOUR] = 24;\n }\n\n // check for mismatching day of week\n if (config._w && typeof config._w.d !== 'undefined' && config._w.d !== expectedWeekday) {\n getParsingFlags(config).weekdayMismatch = true;\n }\n }\n\n function dayOfYearFromWeekInfo(config) {\n var w, weekYear, week, weekday, dow, doy, temp, weekdayOverflow;\n\n w = config._w;\n if (w.GG != null || w.W != null || w.E != null) {\n dow = 1;\n doy = 4;\n\n // TODO: We need to take the current isoWeekYear, but that depends on\n // how we interpret now (local, utc, fixed offset). So create\n // a now version of current config (take local/utc/offset flags, and\n // create now).\n weekYear = defaults(w.GG, config._a[YEAR], weekOfYear(createLocal(), 1, 4).year);\n week = defaults(w.W, 1);\n weekday = defaults(w.E, 1);\n if (weekday < 1 || weekday > 7) {\n weekdayOverflow = true;\n }\n } else {\n dow = config._locale._week.dow;\n doy = config._locale._week.doy;\n\n var curWeek = weekOfYear(createLocal(), dow, doy);\n\n weekYear = defaults(w.gg, config._a[YEAR], curWeek.year);\n\n // Default to current week.\n week = defaults(w.w, curWeek.week);\n\n if (w.d != null) {\n // weekday -- low day numbers are considered next week\n weekday = w.d;\n if (weekday < 0 || weekday > 6) {\n weekdayOverflow = true;\n }\n } else if (w.e != null) {\n // local weekday -- counting starts from begining of week\n weekday = w.e + dow;\n if (w.e < 0 || w.e > 6) {\n weekdayOverflow = true;\n }\n } else {\n // default to begining of week\n weekday = dow;\n }\n }\n if (week < 1 || week > weeksInYear(weekYear, dow, doy)) {\n getParsingFlags(config)._overflowWeeks = true;\n } else if (weekdayOverflow != null) {\n getParsingFlags(config)._overflowWeekday = true;\n } else {\n temp = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy);\n config._a[YEAR] = temp.year;\n config._dayOfYear = temp.dayOfYear;\n }\n }\n\n // iso 8601 regex\n // 0000-00-00 0000-W00 or 0000-W00-0 + T + 00 or 00:00 or 00:00:00 or 00:00:00.000 + +00:00 or +0000 or +00)\n var extendedIsoRegex = /^\\s*((?:[+-]\\d{6}|\\d{4})-(?:\\d\\d-\\d\\d|W\\d\\d-\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?::\\d\\d(?::\\d\\d(?:[.,]\\d+)?)?)?)([\\+\\-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/;\n var basicIsoRegex = /^\\s*((?:[+-]\\d{6}|\\d{4})(?:\\d\\d\\d\\d|W\\d\\d\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?:\\d\\d(?:\\d\\d(?:[.,]\\d+)?)?)?)([\\+\\-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/;\n\n var tzRegex = /Z|[+-]\\d\\d(?::?\\d\\d)?/;\n\n var isoDates = [\n ['YYYYYY-MM-DD', /[+-]\\d{6}-\\d\\d-\\d\\d/],\n ['YYYY-MM-DD', /\\d{4}-\\d\\d-\\d\\d/],\n ['GGGG-[W]WW-E', /\\d{4}-W\\d\\d-\\d/],\n ['GGGG-[W]WW', /\\d{4}-W\\d\\d/, false],\n ['YYYY-DDD', /\\d{4}-\\d{3}/],\n ['YYYY-MM', /\\d{4}-\\d\\d/, false],\n ['YYYYYYMMDD', /[+-]\\d{10}/],\n ['YYYYMMDD', /\\d{8}/],\n // YYYYMM is NOT allowed by the standard\n ['GGGG[W]WWE', /\\d{4}W\\d{3}/],\n ['GGGG[W]WW', /\\d{4}W\\d{2}/, false],\n ['YYYYDDD', /\\d{7}/]\n ];\n\n // iso time formats and regexes\n var isoTimes = [\n ['HH:mm:ss.SSSS', /\\d\\d:\\d\\d:\\d\\d\\.\\d+/],\n ['HH:mm:ss,SSSS', /\\d\\d:\\d\\d:\\d\\d,\\d+/],\n ['HH:mm:ss', /\\d\\d:\\d\\d:\\d\\d/],\n ['HH:mm', /\\d\\d:\\d\\d/],\n ['HHmmss.SSSS', /\\d\\d\\d\\d\\d\\d\\.\\d+/],\n ['HHmmss,SSSS', /\\d\\d\\d\\d\\d\\d,\\d+/],\n ['HHmmss', /\\d\\d\\d\\d\\d\\d/],\n ['HHmm', /\\d\\d\\d\\d/],\n ['HH', /\\d\\d/]\n ];\n\n var aspNetJsonRegex = /^\\/?Date\\((\\-?\\d+)/i;\n\n // date from iso format\n function configFromISO(config) {\n var i, l,\n string = config._i,\n match = extendedIsoRegex.exec(string) || basicIsoRegex.exec(string),\n allowTime, dateFormat, timeFormat, tzFormat;\n\n if (match) {\n getParsingFlags(config).iso = true;\n\n for (i = 0, l = isoDates.length; i < l; i++) {\n if (isoDates[i][1].exec(match[1])) {\n dateFormat = isoDates[i][0];\n allowTime = isoDates[i][2] !== false;\n break;\n }\n }\n if (dateFormat == null) {\n config._isValid = false;\n return;\n }\n if (match[3]) {\n for (i = 0, l = isoTimes.length; i < l; i++) {\n if (isoTimes[i][1].exec(match[3])) {\n // match[2] should be 'T' or space\n timeFormat = (match[2] || ' ') + isoTimes[i][0];\n break;\n }\n }\n if (timeFormat == null) {\n config._isValid = false;\n return;\n }\n }\n if (!allowTime && timeFormat != null) {\n config._isValid = false;\n return;\n }\n if (match[4]) {\n if (tzRegex.exec(match[4])) {\n tzFormat = 'Z';\n } else {\n config._isValid = false;\n return;\n }\n }\n config._f = dateFormat + (timeFormat || '') + (tzFormat || '');\n configFromStringAndFormat(config);\n } else {\n config._isValid = false;\n }\n }\n\n // RFC 2822 regex: For details see https://tools.ietf.org/html/rfc2822#section-3.3\n var rfc2822 = /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\\s)?(\\d{1,2})\\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\\s(\\d{2,4})\\s(\\d\\d):(\\d\\d)(?::(\\d\\d))?\\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\\d{4}))$/;\n\n function extractFromRFC2822Strings(yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr) {\n var result = [\n untruncateYear(yearStr),\n defaultLocaleMonthsShort.indexOf(monthStr),\n parseInt(dayStr, 10),\n parseInt(hourStr, 10),\n parseInt(minuteStr, 10)\n ];\n\n if (secondStr) {\n result.push(parseInt(secondStr, 10));\n }\n\n return result;\n }\n\n function untruncateYear(yearStr) {\n var year = parseInt(yearStr, 10);\n if (year <= 49) {\n return 2000 + year;\n } else if (year <= 999) {\n return 1900 + year;\n }\n return year;\n }\n\n function preprocessRFC2822(s) {\n // Remove comments and folding whitespace and replace multiple-spaces with a single space\n return s.replace(/\\([^)]*\\)|[\\n\\t]/g, ' ').replace(/(\\s\\s+)/g, ' ').replace(/^\\s\\s*/, '').replace(/\\s\\s*$/, '');\n }\n\n function checkWeekday(weekdayStr, parsedInput, config) {\n if (weekdayStr) {\n // TODO: Replace the vanilla JS Date object with an indepentent day-of-week check.\n var weekdayProvided = defaultLocaleWeekdaysShort.indexOf(weekdayStr),\n weekdayActual = new Date(parsedInput[0], parsedInput[1], parsedInput[2]).getDay();\n if (weekdayProvided !== weekdayActual) {\n getParsingFlags(config).weekdayMismatch = true;\n config._isValid = false;\n return false;\n }\n }\n return true;\n }\n\n var obsOffsets = {\n UT: 0,\n GMT: 0,\n EDT: -4 * 60,\n EST: -5 * 60,\n CDT: -5 * 60,\n CST: -6 * 60,\n MDT: -6 * 60,\n MST: -7 * 60,\n PDT: -7 * 60,\n PST: -8 * 60\n };\n\n function calculateOffset(obsOffset, militaryOffset, numOffset) {\n if (obsOffset) {\n return obsOffsets[obsOffset];\n } else if (militaryOffset) {\n // the only allowed military tz is Z\n return 0;\n } else {\n var hm = parseInt(numOffset, 10);\n var m = hm % 100, h = (hm - m) / 100;\n return h * 60 + m;\n }\n }\n\n // date and time from ref 2822 format\n function configFromRFC2822(config) {\n var match = rfc2822.exec(preprocessRFC2822(config._i));\n if (match) {\n var parsedArray = extractFromRFC2822Strings(match[4], match[3], match[2], match[5], match[6], match[7]);\n if (!checkWeekday(match[1], parsedArray, config)) {\n return;\n }\n\n config._a = parsedArray;\n config._tzm = calculateOffset(match[8], match[9], match[10]);\n\n config._d = createUTCDate.apply(null, config._a);\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n\n getParsingFlags(config).rfc2822 = true;\n } else {\n config._isValid = false;\n }\n }\n\n // date from iso format or fallback\n function configFromString(config) {\n var matched = aspNetJsonRegex.exec(config._i);\n\n if (matched !== null) {\n config._d = new Date(+matched[1]);\n return;\n }\n\n configFromISO(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n configFromRFC2822(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n // Final attempt, use Input Fallback\n hooks.createFromInputFallback(config);\n }\n\n hooks.createFromInputFallback = deprecate(\n 'value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), ' +\n 'which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are ' +\n 'discouraged and will be removed in an upcoming major release. Please refer to ' +\n 'http://momentjs.com/guides/#/warnings/js-date/ for more info.',\n function (config) {\n config._d = new Date(config._i + (config._useUTC ? ' UTC' : ''));\n }\n );\n\n // constant that refers to the ISO standard\n hooks.ISO_8601 = function () {};\n\n // constant that refers to the RFC 2822 form\n hooks.RFC_2822 = function () {};\n\n // date from string and format string\n function configFromStringAndFormat(config) {\n // TODO: Move this to another part of the creation flow to prevent circular deps\n if (config._f === hooks.ISO_8601) {\n configFromISO(config);\n return;\n }\n if (config._f === hooks.RFC_2822) {\n configFromRFC2822(config);\n return;\n }\n config._a = [];\n getParsingFlags(config).empty = true;\n\n // This array is used to make a Date, either with `new Date` or `Date.UTC`\n var string = '' + config._i,\n i, parsedInput, tokens, token, skipped,\n stringLength = string.length,\n totalParsedInputLength = 0;\n\n tokens = expandFormat(config._f, config._locale).match(formattingTokens) || [];\n\n for (i = 0; i < tokens.length; i++) {\n token = tokens[i];\n parsedInput = (string.match(getParseRegexForToken(token, config)) || [])[0];\n // console.log('token', token, 'parsedInput', parsedInput,\n // 'regex', getParseRegexForToken(token, config));\n if (parsedInput) {\n skipped = string.substr(0, string.indexOf(parsedInput));\n if (skipped.length > 0) {\n getParsingFlags(config).unusedInput.push(skipped);\n }\n string = string.slice(string.indexOf(parsedInput) + parsedInput.length);\n totalParsedInputLength += parsedInput.length;\n }\n // don't parse if it's not a known token\n if (formatTokenFunctions[token]) {\n if (parsedInput) {\n getParsingFlags(config).empty = false;\n }\n else {\n getParsingFlags(config).unusedTokens.push(token);\n }\n addTimeToArrayFromToken(token, parsedInput, config);\n }\n else if (config._strict && !parsedInput) {\n getParsingFlags(config).unusedTokens.push(token);\n }\n }\n\n // add remaining unparsed input length to the string\n getParsingFlags(config).charsLeftOver = stringLength - totalParsedInputLength;\n if (string.length > 0) {\n getParsingFlags(config).unusedInput.push(string);\n }\n\n // clear _12h flag if hour is <= 12\n if (config._a[HOUR] <= 12 &&\n getParsingFlags(config).bigHour === true &&\n config._a[HOUR] > 0) {\n getParsingFlags(config).bigHour = undefined;\n }\n\n getParsingFlags(config).parsedDateParts = config._a.slice(0);\n getParsingFlags(config).meridiem = config._meridiem;\n // handle meridiem\n config._a[HOUR] = meridiemFixWrap(config._locale, config._a[HOUR], config._meridiem);\n\n configFromArray(config);\n checkOverflow(config);\n }\n\n\n function meridiemFixWrap (locale, hour, meridiem) {\n var isPm;\n\n if (meridiem == null) {\n // nothing to do\n return hour;\n }\n if (locale.meridiemHour != null) {\n return locale.meridiemHour(hour, meridiem);\n } else if (locale.isPM != null) {\n // Fallback\n isPm = locale.isPM(meridiem);\n if (isPm && hour < 12) {\n hour += 12;\n }\n if (!isPm && hour === 12) {\n hour = 0;\n }\n return hour;\n } else {\n // this is not supposed to happen\n return hour;\n }\n }\n\n // date from string and array of format strings\n function configFromStringAndArray(config) {\n var tempConfig,\n bestMoment,\n\n scoreToBeat,\n i,\n currentScore;\n\n if (config._f.length === 0) {\n getParsingFlags(config).invalidFormat = true;\n config._d = new Date(NaN);\n return;\n }\n\n for (i = 0; i < config._f.length; i++) {\n currentScore = 0;\n tempConfig = copyConfig({}, config);\n if (config._useUTC != null) {\n tempConfig._useUTC = config._useUTC;\n }\n tempConfig._f = config._f[i];\n configFromStringAndFormat(tempConfig);\n\n if (!isValid(tempConfig)) {\n continue;\n }\n\n // if there is any input that was not parsed add a penalty for that format\n currentScore += getParsingFlags(tempConfig).charsLeftOver;\n\n //or tokens\n currentScore += getParsingFlags(tempConfig).unusedTokens.length * 10;\n\n getParsingFlags(tempConfig).score = currentScore;\n\n if (scoreToBeat == null || currentScore < scoreToBeat) {\n scoreToBeat = currentScore;\n bestMoment = tempConfig;\n }\n }\n\n extend(config, bestMoment || tempConfig);\n }\n\n function configFromObject(config) {\n if (config._d) {\n return;\n }\n\n var i = normalizeObjectUnits(config._i);\n config._a = map([i.year, i.month, i.day || i.date, i.hour, i.minute, i.second, i.millisecond], function (obj) {\n return obj && parseInt(obj, 10);\n });\n\n configFromArray(config);\n }\n\n function createFromConfig (config) {\n var res = new Moment(checkOverflow(prepareConfig(config)));\n if (res._nextDay) {\n // Adding is smart enough around DST\n res.add(1, 'd');\n res._nextDay = undefined;\n }\n\n return res;\n }\n\n function prepareConfig (config) {\n var input = config._i,\n format = config._f;\n\n config._locale = config._locale || getLocale(config._l);\n\n if (input === null || (format === undefined && input === '')) {\n return createInvalid({nullInput: true});\n }\n\n if (typeof input === 'string') {\n config._i = input = config._locale.preparse(input);\n }\n\n if (isMoment(input)) {\n return new Moment(checkOverflow(input));\n } else if (isDate(input)) {\n config._d = input;\n } else if (isArray(format)) {\n configFromStringAndArray(config);\n } else if (format) {\n configFromStringAndFormat(config);\n } else {\n configFromInput(config);\n }\n\n if (!isValid(config)) {\n config._d = null;\n }\n\n return config;\n }\n\n function configFromInput(config) {\n var input = config._i;\n if (isUndefined(input)) {\n config._d = new Date(hooks.now());\n } else if (isDate(input)) {\n config._d = new Date(input.valueOf());\n } else if (typeof input === 'string') {\n configFromString(config);\n } else if (isArray(input)) {\n config._a = map(input.slice(0), function (obj) {\n return parseInt(obj, 10);\n });\n configFromArray(config);\n } else if (isObject(input)) {\n configFromObject(config);\n } else if (isNumber(input)) {\n // from milliseconds\n config._d = new Date(input);\n } else {\n hooks.createFromInputFallback(config);\n }\n }\n\n function createLocalOrUTC (input, format, locale, strict, isUTC) {\n var c = {};\n\n if (locale === true || locale === false) {\n strict = locale;\n locale = undefined;\n }\n\n if ((isObject(input) && isObjectEmpty(input)) ||\n (isArray(input) && input.length === 0)) {\n input = undefined;\n }\n // object construction must be done this way.\n // https://github.com/moment/moment/issues/1423\n c._isAMomentObject = true;\n c._useUTC = c._isUTC = isUTC;\n c._l = locale;\n c._i = input;\n c._f = format;\n c._strict = strict;\n\n return createFromConfig(c);\n }\n\n function createLocal (input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, false);\n }\n\n var prototypeMin = deprecate(\n 'moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/',\n function () {\n var other = createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other < this ? this : other;\n } else {\n return createInvalid();\n }\n }\n );\n\n var prototypeMax = deprecate(\n 'moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/',\n function () {\n var other = createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other > this ? this : other;\n } else {\n return createInvalid();\n }\n }\n );\n\n // Pick a moment m from moments so that m[fn](other) is true for all\n // other. This relies on the function fn to be transitive.\n //\n // moments should either be an array of moment objects or an array, whose\n // first element is an array of moment objects.\n function pickBy(fn, moments) {\n var res, i;\n if (moments.length === 1 && isArray(moments[0])) {\n moments = moments[0];\n }\n if (!moments.length) {\n return createLocal();\n }\n res = moments[0];\n for (i = 1; i < moments.length; ++i) {\n if (!moments[i].isValid() || moments[i][fn](res)) {\n res = moments[i];\n }\n }\n return res;\n }\n\n // TODO: Use [].sort instead?\n function min () {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isBefore', args);\n }\n\n function max () {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isAfter', args);\n }\n\n var now = function () {\n return Date.now ? Date.now() : +(new Date());\n };\n\n var ordering = ['year', 'quarter', 'month', 'week', 'day', 'hour', 'minute', 'second', 'millisecond'];\n\n function isDurationValid(m) {\n for (var key in m) {\n if (!(indexOf.call(ordering, key) !== -1 && (m[key] == null || !isNaN(m[key])))) {\n return false;\n }\n }\n\n var unitHasDecimal = false;\n for (var i = 0; i < ordering.length; ++i) {\n if (m[ordering[i]]) {\n if (unitHasDecimal) {\n return false; // only allow non-integers for smallest unit\n }\n if (parseFloat(m[ordering[i]]) !== toInt(m[ordering[i]])) {\n unitHasDecimal = true;\n }\n }\n }\n\n return true;\n }\n\n function isValid$1() {\n return this._isValid;\n }\n\n function createInvalid$1() {\n return createDuration(NaN);\n }\n\n function Duration (duration) {\n var normalizedInput = normalizeObjectUnits(duration),\n years = normalizedInput.year || 0,\n quarters = normalizedInput.quarter || 0,\n months = normalizedInput.month || 0,\n weeks = normalizedInput.week || 0,\n days = normalizedInput.day || 0,\n hours = normalizedInput.hour || 0,\n minutes = normalizedInput.minute || 0,\n seconds = normalizedInput.second || 0,\n milliseconds = normalizedInput.millisecond || 0;\n\n this._isValid = isDurationValid(normalizedInput);\n\n // representation for dateAddRemove\n this._milliseconds = +milliseconds +\n seconds * 1e3 + // 1000\n minutes * 6e4 + // 1000 * 60\n hours * 1000 * 60 * 60; //using 1000 * 60 * 60 instead of 36e5 to avoid floating point rounding errors https://github.com/moment/moment/issues/2978\n // Because of dateAddRemove treats 24 hours as different from a\n // day when working around DST, we need to store them separately\n this._days = +days +\n weeks * 7;\n // It is impossible to translate months into days without knowing\n // which months you are are talking about, so we have to store\n // it separately.\n this._months = +months +\n quarters * 3 +\n years * 12;\n\n this._data = {};\n\n this._locale = getLocale();\n\n this._bubble();\n }\n\n function isDuration (obj) {\n return obj instanceof Duration;\n }\n\n function absRound (number) {\n if (number < 0) {\n return Math.round(-1 * number) * -1;\n } else {\n return Math.round(number);\n }\n }\n\n // FORMATTING\n\n function offset (token, separator) {\n addFormatToken(token, 0, 0, function () {\n var offset = this.utcOffset();\n var sign = '+';\n if (offset < 0) {\n offset = -offset;\n sign = '-';\n }\n return sign + zeroFill(~~(offset / 60), 2) + separator + zeroFill(~~(offset) % 60, 2);\n });\n }\n\n offset('Z', ':');\n offset('ZZ', '');\n\n // PARSING\n\n addRegexToken('Z', matchShortOffset);\n addRegexToken('ZZ', matchShortOffset);\n addParseToken(['Z', 'ZZ'], function (input, array, config) {\n config._useUTC = true;\n config._tzm = offsetFromString(matchShortOffset, input);\n });\n\n // HELPERS\n\n // timezone chunker\n // '+10:00' > ['10', '00']\n // '-1530' > ['-15', '30']\n var chunkOffset = /([\\+\\-]|\\d\\d)/gi;\n\n function offsetFromString(matcher, string) {\n var matches = (string || '').match(matcher);\n\n if (matches === null) {\n return null;\n }\n\n var chunk = matches[matches.length - 1] || [];\n var parts = (chunk + '').match(chunkOffset) || ['-', 0, 0];\n var minutes = +(parts[1] * 60) + toInt(parts[2]);\n\n return minutes === 0 ?\n 0 :\n parts[0] === '+' ? minutes : -minutes;\n }\n\n // Return a moment from input, that is local/utc/zone equivalent to model.\n function cloneWithOffset(input, model) {\n var res, diff;\n if (model._isUTC) {\n res = model.clone();\n diff = (isMoment(input) || isDate(input) ? input.valueOf() : createLocal(input).valueOf()) - res.valueOf();\n // Use low-level api, because this fn is low-level api.\n res._d.setTime(res._d.valueOf() + diff);\n hooks.updateOffset(res, false);\n return res;\n } else {\n return createLocal(input).local();\n }\n }\n\n function getDateOffset (m) {\n // On Firefox.24 Date#getTimezoneOffset returns a floating point.\n // https://github.com/moment/moment/pull/1871\n return -Math.round(m._d.getTimezoneOffset() / 15) * 15;\n }\n\n // HOOKS\n\n // This function will be called whenever a moment is mutated.\n // It is intended to keep the offset in sync with the timezone.\n hooks.updateOffset = function () {};\n\n // MOMENTS\n\n // keepLocalTime = true means only change the timezone, without\n // affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]-->\n // 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset\n // +0200, so we adjust the time as needed, to be valid.\n //\n // Keeping the time actually adds/subtracts (one hour)\n // from the actual represented time. That is why we call updateOffset\n // a second time. In case it wants us to change the offset again\n // _changeInProgress == true case, then we have to adjust, because\n // there is no such time in the given timezone.\n function getSetOffset (input, keepLocalTime, keepMinutes) {\n var offset = this._offset || 0,\n localAdjust;\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n if (input != null) {\n if (typeof input === 'string') {\n input = offsetFromString(matchShortOffset, input);\n if (input === null) {\n return this;\n }\n } else if (Math.abs(input) < 16 && !keepMinutes) {\n input = input * 60;\n }\n if (!this._isUTC && keepLocalTime) {\n localAdjust = getDateOffset(this);\n }\n this._offset = input;\n this._isUTC = true;\n if (localAdjust != null) {\n this.add(localAdjust, 'm');\n }\n if (offset !== input) {\n if (!keepLocalTime || this._changeInProgress) {\n addSubtract(this, createDuration(input - offset, 'm'), 1, false);\n } else if (!this._changeInProgress) {\n this._changeInProgress = true;\n hooks.updateOffset(this, true);\n this._changeInProgress = null;\n }\n }\n return this;\n } else {\n return this._isUTC ? offset : getDateOffset(this);\n }\n }\n\n function getSetZone (input, keepLocalTime) {\n if (input != null) {\n if (typeof input !== 'string') {\n input = -input;\n }\n\n this.utcOffset(input, keepLocalTime);\n\n return this;\n } else {\n return -this.utcOffset();\n }\n }\n\n function setOffsetToUTC (keepLocalTime) {\n return this.utcOffset(0, keepLocalTime);\n }\n\n function setOffsetToLocal (keepLocalTime) {\n if (this._isUTC) {\n this.utcOffset(0, keepLocalTime);\n this._isUTC = false;\n\n if (keepLocalTime) {\n this.subtract(getDateOffset(this), 'm');\n }\n }\n return this;\n }\n\n function setOffsetToParsedOffset () {\n if (this._tzm != null) {\n this.utcOffset(this._tzm, false, true);\n } else if (typeof this._i === 'string') {\n var tZone = offsetFromString(matchOffset, this._i);\n if (tZone != null) {\n this.utcOffset(tZone);\n }\n else {\n this.utcOffset(0, true);\n }\n }\n return this;\n }\n\n function hasAlignedHourOffset (input) {\n if (!this.isValid()) {\n return false;\n }\n input = input ? createLocal(input).utcOffset() : 0;\n\n return (this.utcOffset() - input) % 60 === 0;\n }\n\n function isDaylightSavingTime () {\n return (\n this.utcOffset() > this.clone().month(0).utcOffset() ||\n this.utcOffset() > this.clone().month(5).utcOffset()\n );\n }\n\n function isDaylightSavingTimeShifted () {\n if (!isUndefined(this._isDSTShifted)) {\n return this._isDSTShifted;\n }\n\n var c = {};\n\n copyConfig(c, this);\n c = prepareConfig(c);\n\n if (c._a) {\n var other = c._isUTC ? createUTC(c._a) : createLocal(c._a);\n this._isDSTShifted = this.isValid() &&\n compareArrays(c._a, other.toArray()) > 0;\n } else {\n this._isDSTShifted = false;\n }\n\n return this._isDSTShifted;\n }\n\n function isLocal () {\n return this.isValid() ? !this._isUTC : false;\n }\n\n function isUtcOffset () {\n return this.isValid() ? this._isUTC : false;\n }\n\n function isUtc () {\n return this.isValid() ? this._isUTC && this._offset === 0 : false;\n }\n\n // ASP.NET json date format regex\n var aspNetRegex = /^(\\-|\\+)?(?:(\\d*)[. ])?(\\d+)\\:(\\d+)(?:\\:(\\d+)(\\.\\d*)?)?$/;\n\n // from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html\n // somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere\n // and further modified to allow for strings containing both week and day\n var isoRegex = /^(-|\\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;\n\n function createDuration (input, key) {\n var duration = input,\n // matching against regexp is expensive, do it on demand\n match = null,\n sign,\n ret,\n diffRes;\n\n if (isDuration(input)) {\n duration = {\n ms : input._milliseconds,\n d : input._days,\n M : input._months\n };\n } else if (isNumber(input)) {\n duration = {};\n if (key) {\n duration[key] = input;\n } else {\n duration.milliseconds = input;\n }\n } else if (!!(match = aspNetRegex.exec(input))) {\n sign = (match[1] === '-') ? -1 : 1;\n duration = {\n y : 0,\n d : toInt(match[DATE]) * sign,\n h : toInt(match[HOUR]) * sign,\n m : toInt(match[MINUTE]) * sign,\n s : toInt(match[SECOND]) * sign,\n ms : toInt(absRound(match[MILLISECOND] * 1000)) * sign // the millisecond decimal point is included in the match\n };\n } else if (!!(match = isoRegex.exec(input))) {\n sign = (match[1] === '-') ? -1 : (match[1] === '+') ? 1 : 1;\n duration = {\n y : parseIso(match[2], sign),\n M : parseIso(match[3], sign),\n w : parseIso(match[4], sign),\n d : parseIso(match[5], sign),\n h : parseIso(match[6], sign),\n m : parseIso(match[7], sign),\n s : parseIso(match[8], sign)\n };\n } else if (duration == null) {// checks for null or undefined\n duration = {};\n } else if (typeof duration === 'object' && ('from' in duration || 'to' in duration)) {\n diffRes = momentsDifference(createLocal(duration.from), createLocal(duration.to));\n\n duration = {};\n duration.ms = diffRes.milliseconds;\n duration.M = diffRes.months;\n }\n\n ret = new Duration(duration);\n\n if (isDuration(input) && hasOwnProp(input, '_locale')) {\n ret._locale = input._locale;\n }\n\n return ret;\n }\n\n createDuration.fn = Duration.prototype;\n createDuration.invalid = createInvalid$1;\n\n function parseIso (inp, sign) {\n // We'd normally use ~~inp for this, but unfortunately it also\n // converts floats to ints.\n // inp may be undefined, so careful calling replace on it.\n var res = inp && parseFloat(inp.replace(',', '.'));\n // apply sign while we're at it\n return (isNaN(res) ? 0 : res) * sign;\n }\n\n function positiveMomentsDifference(base, other) {\n var res = {milliseconds: 0, months: 0};\n\n res.months = other.month() - base.month() +\n (other.year() - base.year()) * 12;\n if (base.clone().add(res.months, 'M').isAfter(other)) {\n --res.months;\n }\n\n res.milliseconds = +other - +(base.clone().add(res.months, 'M'));\n\n return res;\n }\n\n function momentsDifference(base, other) {\n var res;\n if (!(base.isValid() && other.isValid())) {\n return {milliseconds: 0, months: 0};\n }\n\n other = cloneWithOffset(other, base);\n if (base.isBefore(other)) {\n res = positiveMomentsDifference(base, other);\n } else {\n res = positiveMomentsDifference(other, base);\n res.milliseconds = -res.milliseconds;\n res.months = -res.months;\n }\n\n return res;\n }\n\n // TODO: remove 'name' arg after deprecation is removed\n function createAdder(direction, name) {\n return function (val, period) {\n var dur, tmp;\n //invert the arguments, but complain about it\n if (period !== null && !isNaN(+period)) {\n deprecateSimple(name, 'moment().' + name + '(period, number) is deprecated. Please use moment().' + name + '(number, period). ' +\n 'See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.');\n tmp = val; val = period; period = tmp;\n }\n\n val = typeof val === 'string' ? +val : val;\n dur = createDuration(val, period);\n addSubtract(this, dur, direction);\n return this;\n };\n }\n\n function addSubtract (mom, duration, isAdding, updateOffset) {\n var milliseconds = duration._milliseconds,\n days = absRound(duration._days),\n months = absRound(duration._months);\n\n if (!mom.isValid()) {\n // No op\n return;\n }\n\n updateOffset = updateOffset == null ? true : updateOffset;\n\n if (months) {\n setMonth(mom, get(mom, 'Month') + months * isAdding);\n }\n if (days) {\n set$1(mom, 'Date', get(mom, 'Date') + days * isAdding);\n }\n if (milliseconds) {\n mom._d.setTime(mom._d.valueOf() + milliseconds * isAdding);\n }\n if (updateOffset) {\n hooks.updateOffset(mom, days || months);\n }\n }\n\n var add = createAdder(1, 'add');\n var subtract = createAdder(-1, 'subtract');\n\n function getCalendarFormat(myMoment, now) {\n var diff = myMoment.diff(now, 'days', true);\n return diff < -6 ? 'sameElse' :\n diff < -1 ? 'lastWeek' :\n diff < 0 ? 'lastDay' :\n diff < 1 ? 'sameDay' :\n diff < 2 ? 'nextDay' :\n diff < 7 ? 'nextWeek' : 'sameElse';\n }\n\n function calendar$1 (time, formats) {\n // We want to compare the start of today, vs this.\n // Getting start-of-today depends on whether we're local/utc/offset or not.\n var now = time || createLocal(),\n sod = cloneWithOffset(now, this).startOf('day'),\n format = hooks.calendarFormat(this, sod) || 'sameElse';\n\n var output = formats && (isFunction(formats[format]) ? formats[format].call(this, now) : formats[format]);\n\n return this.format(output || this.localeData().calendar(format, this, createLocal(now)));\n }\n\n function clone () {\n return new Moment(this);\n }\n\n function isAfter (input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(!isUndefined(units) ? units : 'millisecond');\n if (units === 'millisecond') {\n return this.valueOf() > localInput.valueOf();\n } else {\n return localInput.valueOf() < this.clone().startOf(units).valueOf();\n }\n }\n\n function isBefore (input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(!isUndefined(units) ? units : 'millisecond');\n if (units === 'millisecond') {\n return this.valueOf() < localInput.valueOf();\n } else {\n return this.clone().endOf(units).valueOf() < localInput.valueOf();\n }\n }\n\n function isBetween (from, to, units, inclusivity) {\n inclusivity = inclusivity || '()';\n return (inclusivity[0] === '(' ? this.isAfter(from, units) : !this.isBefore(from, units)) &&\n (inclusivity[1] === ')' ? this.isBefore(to, units) : !this.isAfter(to, units));\n }\n\n function isSame (input, units) {\n var localInput = isMoment(input) ? input : createLocal(input),\n inputMs;\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units || 'millisecond');\n if (units === 'millisecond') {\n return this.valueOf() === localInput.valueOf();\n } else {\n inputMs = localInput.valueOf();\n return this.clone().startOf(units).valueOf() <= inputMs && inputMs <= this.clone().endOf(units).valueOf();\n }\n }\n\n function isSameOrAfter (input, units) {\n return this.isSame(input, units) || this.isAfter(input,units);\n }\n\n function isSameOrBefore (input, units) {\n return this.isSame(input, units) || this.isBefore(input,units);\n }\n\n function diff (input, units, asFloat) {\n var that,\n zoneDelta,\n output;\n\n if (!this.isValid()) {\n return NaN;\n }\n\n that = cloneWithOffset(input, this);\n\n if (!that.isValid()) {\n return NaN;\n }\n\n zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4;\n\n units = normalizeUnits(units);\n\n switch (units) {\n case 'year': output = monthDiff(this, that) / 12; break;\n case 'month': output = monthDiff(this, that); break;\n case 'quarter': output = monthDiff(this, that) / 3; break;\n case 'second': output = (this - that) / 1e3; break; // 1000\n case 'minute': output = (this - that) / 6e4; break; // 1000 * 60\n case 'hour': output = (this - that) / 36e5; break; // 1000 * 60 * 60\n case 'day': output = (this - that - zoneDelta) / 864e5; break; // 1000 * 60 * 60 * 24, negate dst\n case 'week': output = (this - that - zoneDelta) / 6048e5; break; // 1000 * 60 * 60 * 24 * 7, negate dst\n default: output = this - that;\n }\n\n return asFloat ? output : absFloor(output);\n }\n\n function monthDiff (a, b) {\n // difference in months\n var wholeMonthDiff = ((b.year() - a.year()) * 12) + (b.month() - a.month()),\n // b is in (anchor - 1 month, anchor + 1 month)\n anchor = a.clone().add(wholeMonthDiff, 'months'),\n anchor2, adjust;\n\n if (b - anchor < 0) {\n anchor2 = a.clone().add(wholeMonthDiff - 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor - anchor2);\n } else {\n anchor2 = a.clone().add(wholeMonthDiff + 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor2 - anchor);\n }\n\n //check for negative zero, return zero if negative zero\n return -(wholeMonthDiff + adjust) || 0;\n }\n\n hooks.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ';\n hooks.defaultFormatUtc = 'YYYY-MM-DDTHH:mm:ss[Z]';\n\n function toString () {\n return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ');\n }\n\n function toISOString(keepOffset) {\n if (!this.isValid()) {\n return null;\n }\n var utc = keepOffset !== true;\n var m = utc ? this.clone().utc() : this;\n if (m.year() < 0 || m.year() > 9999) {\n return formatMoment(m, utc ? 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYYYY-MM-DD[T]HH:mm:ss.SSSZ');\n }\n if (isFunction(Date.prototype.toISOString)) {\n // native implementation is ~50x faster, use it when we can\n if (utc) {\n return this.toDate().toISOString();\n } else {\n return new Date(this.valueOf() + this.utcOffset() * 60 * 1000).toISOString().replace('Z', formatMoment(m, 'Z'));\n }\n }\n return formatMoment(m, utc ? 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYY-MM-DD[T]HH:mm:ss.SSSZ');\n }\n\n /**\n * Return a human readable representation of a moment that can\n * also be evaluated to get a new moment which is the same\n *\n * @link https://nodejs.org/dist/latest/docs/api/util.html#util_custom_inspect_function_on_objects\n */\n function inspect () {\n if (!this.isValid()) {\n return 'moment.invalid(/* ' + this._i + ' */)';\n }\n var func = 'moment';\n var zone = '';\n if (!this.isLocal()) {\n func = this.utcOffset() === 0 ? 'moment.utc' : 'moment.parseZone';\n zone = 'Z';\n }\n var prefix = '[' + func + '(\"]';\n var year = (0 <= this.year() && this.year() <= 9999) ? 'YYYY' : 'YYYYYY';\n var datetime = '-MM-DD[T]HH:mm:ss.SSS';\n var suffix = zone + '[\")]';\n\n return this.format(prefix + year + datetime + suffix);\n }\n\n function format (inputString) {\n if (!inputString) {\n inputString = this.isUtc() ? hooks.defaultFormatUtc : hooks.defaultFormat;\n }\n var output = formatMoment(this, inputString);\n return this.localeData().postformat(output);\n }\n\n function from (time, withoutSuffix) {\n if (this.isValid() &&\n ((isMoment(time) && time.isValid()) ||\n createLocal(time).isValid())) {\n return createDuration({to: this, from: time}).locale(this.locale()).humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n\n function fromNow (withoutSuffix) {\n return this.from(createLocal(), withoutSuffix);\n }\n\n function to (time, withoutSuffix) {\n if (this.isValid() &&\n ((isMoment(time) && time.isValid()) ||\n createLocal(time).isValid())) {\n return createDuration({from: this, to: time}).locale(this.locale()).humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n\n function toNow (withoutSuffix) {\n return this.to(createLocal(), withoutSuffix);\n }\n\n // If passed a locale key, it will set the locale for this\n // instance. Otherwise, it will return the locale configuration\n // variables for this instance.\n function locale (key) {\n var newLocaleData;\n\n if (key === undefined) {\n return this._locale._abbr;\n } else {\n newLocaleData = getLocale(key);\n if (newLocaleData != null) {\n this._locale = newLocaleData;\n }\n return this;\n }\n }\n\n var lang = deprecate(\n 'moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.',\n function (key) {\n if (key === undefined) {\n return this.localeData();\n } else {\n return this.locale(key);\n }\n }\n );\n\n function localeData () {\n return this._locale;\n }\n\n function startOf (units) {\n units = normalizeUnits(units);\n // the following switch intentionally omits break keywords\n // to utilize falling through the cases.\n switch (units) {\n case 'year':\n this.month(0);\n /* falls through */\n case 'quarter':\n case 'month':\n this.date(1);\n /* falls through */\n case 'week':\n case 'isoWeek':\n case 'day':\n case 'date':\n this.hours(0);\n /* falls through */\n case 'hour':\n this.minutes(0);\n /* falls through */\n case 'minute':\n this.seconds(0);\n /* falls through */\n case 'second':\n this.milliseconds(0);\n }\n\n // weeks are a special case\n if (units === 'week') {\n this.weekday(0);\n }\n if (units === 'isoWeek') {\n this.isoWeekday(1);\n }\n\n // quarters are also special\n if (units === 'quarter') {\n this.month(Math.floor(this.month() / 3) * 3);\n }\n\n return this;\n }\n\n function endOf (units) {\n units = normalizeUnits(units);\n if (units === undefined || units === 'millisecond') {\n return this;\n }\n\n // 'date' is an alias for 'day', so it should be considered as such.\n if (units === 'date') {\n units = 'day';\n }\n\n return this.startOf(units).add(1, (units === 'isoWeek' ? 'week' : units)).subtract(1, 'ms');\n }\n\n function valueOf () {\n return this._d.valueOf() - ((this._offset || 0) * 60000);\n }\n\n function unix () {\n return Math.floor(this.valueOf() / 1000);\n }\n\n function toDate () {\n return new Date(this.valueOf());\n }\n\n function toArray () {\n var m = this;\n return [m.year(), m.month(), m.date(), m.hour(), m.minute(), m.second(), m.millisecond()];\n }\n\n function toObject () {\n var m = this;\n return {\n years: m.year(),\n months: m.month(),\n date: m.date(),\n hours: m.hours(),\n minutes: m.minutes(),\n seconds: m.seconds(),\n milliseconds: m.milliseconds()\n };\n }\n\n function toJSON () {\n // new Date(NaN).toJSON() === null\n return this.isValid() ? this.toISOString() : null;\n }\n\n function isValid$2 () {\n return isValid(this);\n }\n\n function parsingFlags () {\n return extend({}, getParsingFlags(this));\n }\n\n function invalidAt () {\n return getParsingFlags(this).overflow;\n }\n\n function creationData() {\n return {\n input: this._i,\n format: this._f,\n locale: this._locale,\n isUTC: this._isUTC,\n strict: this._strict\n };\n }\n\n // FORMATTING\n\n addFormatToken(0, ['gg', 2], 0, function () {\n return this.weekYear() % 100;\n });\n\n addFormatToken(0, ['GG', 2], 0, function () {\n return this.isoWeekYear() % 100;\n });\n\n function addWeekYearFormatToken (token, getter) {\n addFormatToken(0, [token, token.length], 0, getter);\n }\n\n addWeekYearFormatToken('gggg', 'weekYear');\n addWeekYearFormatToken('ggggg', 'weekYear');\n addWeekYearFormatToken('GGGG', 'isoWeekYear');\n addWeekYearFormatToken('GGGGG', 'isoWeekYear');\n\n // ALIASES\n\n addUnitAlias('weekYear', 'gg');\n addUnitAlias('isoWeekYear', 'GG');\n\n // PRIORITY\n\n addUnitPriority('weekYear', 1);\n addUnitPriority('isoWeekYear', 1);\n\n\n // PARSING\n\n addRegexToken('G', matchSigned);\n addRegexToken('g', matchSigned);\n addRegexToken('GG', match1to2, match2);\n addRegexToken('gg', match1to2, match2);\n addRegexToken('GGGG', match1to4, match4);\n addRegexToken('gggg', match1to4, match4);\n addRegexToken('GGGGG', match1to6, match6);\n addRegexToken('ggggg', match1to6, match6);\n\n addWeekParseToken(['gggg', 'ggggg', 'GGGG', 'GGGGG'], function (input, week, config, token) {\n week[token.substr(0, 2)] = toInt(input);\n });\n\n addWeekParseToken(['gg', 'GG'], function (input, week, config, token) {\n week[token] = hooks.parseTwoDigitYear(input);\n });\n\n // MOMENTS\n\n function getSetWeekYear (input) {\n return getSetWeekYearHelper.call(this,\n input,\n this.week(),\n this.weekday(),\n this.localeData()._week.dow,\n this.localeData()._week.doy);\n }\n\n function getSetISOWeekYear (input) {\n return getSetWeekYearHelper.call(this,\n input, this.isoWeek(), this.isoWeekday(), 1, 4);\n }\n\n function getISOWeeksInYear () {\n return weeksInYear(this.year(), 1, 4);\n }\n\n function getWeeksInYear () {\n var weekInfo = this.localeData()._week;\n return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy);\n }\n\n function getSetWeekYearHelper(input, week, weekday, dow, doy) {\n var weeksTarget;\n if (input == null) {\n return weekOfYear(this, dow, doy).year;\n } else {\n weeksTarget = weeksInYear(input, dow, doy);\n if (week > weeksTarget) {\n week = weeksTarget;\n }\n return setWeekAll.call(this, input, week, weekday, dow, doy);\n }\n }\n\n function setWeekAll(weekYear, week, weekday, dow, doy) {\n var dayOfYearData = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy),\n date = createUTCDate(dayOfYearData.year, 0, dayOfYearData.dayOfYear);\n\n this.year(date.getUTCFullYear());\n this.month(date.getUTCMonth());\n this.date(date.getUTCDate());\n return this;\n }\n\n // FORMATTING\n\n addFormatToken('Q', 0, 'Qo', 'quarter');\n\n // ALIASES\n\n addUnitAlias('quarter', 'Q');\n\n // PRIORITY\n\n addUnitPriority('quarter', 7);\n\n // PARSING\n\n addRegexToken('Q', match1);\n addParseToken('Q', function (input, array) {\n array[MONTH] = (toInt(input) - 1) * 3;\n });\n\n // MOMENTS\n\n function getSetQuarter (input) {\n return input == null ? Math.ceil((this.month() + 1) / 3) : this.month((input - 1) * 3 + this.month() % 3);\n }\n\n // FORMATTING\n\n addFormatToken('D', ['DD', 2], 'Do', 'date');\n\n // ALIASES\n\n addUnitAlias('date', 'D');\n\n // PRIORITY\n addUnitPriority('date', 9);\n\n // PARSING\n\n addRegexToken('D', match1to2);\n addRegexToken('DD', match1to2, match2);\n addRegexToken('Do', function (isStrict, locale) {\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n return isStrict ?\n (locale._dayOfMonthOrdinalParse || locale._ordinalParse) :\n locale._dayOfMonthOrdinalParseLenient;\n });\n\n addParseToken(['D', 'DD'], DATE);\n addParseToken('Do', function (input, array) {\n array[DATE] = toInt(input.match(match1to2)[0]);\n });\n\n // MOMENTS\n\n var getSetDayOfMonth = makeGetSet('Date', true);\n\n // FORMATTING\n\n addFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear');\n\n // ALIASES\n\n addUnitAlias('dayOfYear', 'DDD');\n\n // PRIORITY\n addUnitPriority('dayOfYear', 4);\n\n // PARSING\n\n addRegexToken('DDD', match1to3);\n addRegexToken('DDDD', match3);\n addParseToken(['DDD', 'DDDD'], function (input, array, config) {\n config._dayOfYear = toInt(input);\n });\n\n // HELPERS\n\n // MOMENTS\n\n function getSetDayOfYear (input) {\n var dayOfYear = Math.round((this.clone().startOf('day') - this.clone().startOf('year')) / 864e5) + 1;\n return input == null ? dayOfYear : this.add((input - dayOfYear), 'd');\n }\n\n // FORMATTING\n\n addFormatToken('m', ['mm', 2], 0, 'minute');\n\n // ALIASES\n\n addUnitAlias('minute', 'm');\n\n // PRIORITY\n\n addUnitPriority('minute', 14);\n\n // PARSING\n\n addRegexToken('m', match1to2);\n addRegexToken('mm', match1to2, match2);\n addParseToken(['m', 'mm'], MINUTE);\n\n // MOMENTS\n\n var getSetMinute = makeGetSet('Minutes', false);\n\n // FORMATTING\n\n addFormatToken('s', ['ss', 2], 0, 'second');\n\n // ALIASES\n\n addUnitAlias('second', 's');\n\n // PRIORITY\n\n addUnitPriority('second', 15);\n\n // PARSING\n\n addRegexToken('s', match1to2);\n addRegexToken('ss', match1to2, match2);\n addParseToken(['s', 'ss'], SECOND);\n\n // MOMENTS\n\n var getSetSecond = makeGetSet('Seconds', false);\n\n // FORMATTING\n\n addFormatToken('S', 0, 0, function () {\n return ~~(this.millisecond() / 100);\n });\n\n addFormatToken(0, ['SS', 2], 0, function () {\n return ~~(this.millisecond() / 10);\n });\n\n addFormatToken(0, ['SSS', 3], 0, 'millisecond');\n addFormatToken(0, ['SSSS', 4], 0, function () {\n return this.millisecond() * 10;\n });\n addFormatToken(0, ['SSSSS', 5], 0, function () {\n return this.millisecond() * 100;\n });\n addFormatToken(0, ['SSSSSS', 6], 0, function () {\n return this.millisecond() * 1000;\n });\n addFormatToken(0, ['SSSSSSS', 7], 0, function () {\n return this.millisecond() * 10000;\n });\n addFormatToken(0, ['SSSSSSSS', 8], 0, function () {\n return this.millisecond() * 100000;\n });\n addFormatToken(0, ['SSSSSSSSS', 9], 0, function () {\n return this.millisecond() * 1000000;\n });\n\n\n // ALIASES\n\n addUnitAlias('millisecond', 'ms');\n\n // PRIORITY\n\n addUnitPriority('millisecond', 16);\n\n // PARSING\n\n addRegexToken('S', match1to3, match1);\n addRegexToken('SS', match1to3, match2);\n addRegexToken('SSS', match1to3, match3);\n\n var token;\n for (token = 'SSSS'; token.length <= 9; token += 'S') {\n addRegexToken(token, matchUnsigned);\n }\n\n function parseMs(input, array) {\n array[MILLISECOND] = toInt(('0.' + input) * 1000);\n }\n\n for (token = 'S'; token.length <= 9; token += 'S') {\n addParseToken(token, parseMs);\n }\n // MOMENTS\n\n var getSetMillisecond = makeGetSet('Milliseconds', false);\n\n // FORMATTING\n\n addFormatToken('z', 0, 0, 'zoneAbbr');\n addFormatToken('zz', 0, 0, 'zoneName');\n\n // MOMENTS\n\n function getZoneAbbr () {\n return this._isUTC ? 'UTC' : '';\n }\n\n function getZoneName () {\n return this._isUTC ? 'Coordinated Universal Time' : '';\n }\n\n var proto = Moment.prototype;\n\n proto.add = add;\n proto.calendar = calendar$1;\n proto.clone = clone;\n proto.diff = diff;\n proto.endOf = endOf;\n proto.format = format;\n proto.from = from;\n proto.fromNow = fromNow;\n proto.to = to;\n proto.toNow = toNow;\n proto.get = stringGet;\n proto.invalidAt = invalidAt;\n proto.isAfter = isAfter;\n proto.isBefore = isBefore;\n proto.isBetween = isBetween;\n proto.isSame = isSame;\n proto.isSameOrAfter = isSameOrAfter;\n proto.isSameOrBefore = isSameOrBefore;\n proto.isValid = isValid$2;\n proto.lang = lang;\n proto.locale = locale;\n proto.localeData = localeData;\n proto.max = prototypeMax;\n proto.min = prototypeMin;\n proto.parsingFlags = parsingFlags;\n proto.set = stringSet;\n proto.startOf = startOf;\n proto.subtract = subtract;\n proto.toArray = toArray;\n proto.toObject = toObject;\n proto.toDate = toDate;\n proto.toISOString = toISOString;\n proto.inspect = inspect;\n proto.toJSON = toJSON;\n proto.toString = toString;\n proto.unix = unix;\n proto.valueOf = valueOf;\n proto.creationData = creationData;\n proto.year = getSetYear;\n proto.isLeapYear = getIsLeapYear;\n proto.weekYear = getSetWeekYear;\n proto.isoWeekYear = getSetISOWeekYear;\n proto.quarter = proto.quarters = getSetQuarter;\n proto.month = getSetMonth;\n proto.daysInMonth = getDaysInMonth;\n proto.week = proto.weeks = getSetWeek;\n proto.isoWeek = proto.isoWeeks = getSetISOWeek;\n proto.weeksInYear = getWeeksInYear;\n proto.isoWeeksInYear = getISOWeeksInYear;\n proto.date = getSetDayOfMonth;\n proto.day = proto.days = getSetDayOfWeek;\n proto.weekday = getSetLocaleDayOfWeek;\n proto.isoWeekday = getSetISODayOfWeek;\n proto.dayOfYear = getSetDayOfYear;\n proto.hour = proto.hours = getSetHour;\n proto.minute = proto.minutes = getSetMinute;\n proto.second = proto.seconds = getSetSecond;\n proto.millisecond = proto.milliseconds = getSetMillisecond;\n proto.utcOffset = getSetOffset;\n proto.utc = setOffsetToUTC;\n proto.local = setOffsetToLocal;\n proto.parseZone = setOffsetToParsedOffset;\n proto.hasAlignedHourOffset = hasAlignedHourOffset;\n proto.isDST = isDaylightSavingTime;\n proto.isLocal = isLocal;\n proto.isUtcOffset = isUtcOffset;\n proto.isUtc = isUtc;\n proto.isUTC = isUtc;\n proto.zoneAbbr = getZoneAbbr;\n proto.zoneName = getZoneName;\n proto.dates = deprecate('dates accessor is deprecated. Use date instead.', getSetDayOfMonth);\n proto.months = deprecate('months accessor is deprecated. Use month instead', getSetMonth);\n proto.years = deprecate('years accessor is deprecated. Use year instead', getSetYear);\n proto.zone = deprecate('moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/', getSetZone);\n proto.isDSTShifted = deprecate('isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information', isDaylightSavingTimeShifted);\n\n function createUnix (input) {\n return createLocal(input * 1000);\n }\n\n function createInZone () {\n return createLocal.apply(null, arguments).parseZone();\n }\n\n function preParsePostFormat (string) {\n return string;\n }\n\n var proto$1 = Locale.prototype;\n\n proto$1.calendar = calendar;\n proto$1.longDateFormat = longDateFormat;\n proto$1.invalidDate = invalidDate;\n proto$1.ordinal = ordinal;\n proto$1.preparse = preParsePostFormat;\n proto$1.postformat = preParsePostFormat;\n proto$1.relativeTime = relativeTime;\n proto$1.pastFuture = pastFuture;\n proto$1.set = set;\n\n proto$1.months = localeMonths;\n proto$1.monthsShort = localeMonthsShort;\n proto$1.monthsParse = localeMonthsParse;\n proto$1.monthsRegex = monthsRegex;\n proto$1.monthsShortRegex = monthsShortRegex;\n proto$1.week = localeWeek;\n proto$1.firstDayOfYear = localeFirstDayOfYear;\n proto$1.firstDayOfWeek = localeFirstDayOfWeek;\n\n proto$1.weekdays = localeWeekdays;\n proto$1.weekdaysMin = localeWeekdaysMin;\n proto$1.weekdaysShort = localeWeekdaysShort;\n proto$1.weekdaysParse = localeWeekdaysParse;\n\n proto$1.weekdaysRegex = weekdaysRegex;\n proto$1.weekdaysShortRegex = weekdaysShortRegex;\n proto$1.weekdaysMinRegex = weekdaysMinRegex;\n\n proto$1.isPM = localeIsPM;\n proto$1.meridiem = localeMeridiem;\n\n function get$1 (format, index, field, setter) {\n var locale = getLocale();\n var utc = createUTC().set(setter, index);\n return locale[field](utc, format);\n }\n\n function listMonthsImpl (format, index, field) {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n\n if (index != null) {\n return get$1(format, index, field, 'month');\n }\n\n var i;\n var out = [];\n for (i = 0; i < 12; i++) {\n out[i] = get$1(format, i, field, 'month');\n }\n return out;\n }\n\n // ()\n // (5)\n // (fmt, 5)\n // (fmt)\n // (true)\n // (true, 5)\n // (true, fmt, 5)\n // (true, fmt)\n function listWeekdaysImpl (localeSorted, format, index, field) {\n if (typeof localeSorted === 'boolean') {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n } else {\n format = localeSorted;\n index = format;\n localeSorted = false;\n\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n }\n\n var locale = getLocale(),\n shift = localeSorted ? locale._week.dow : 0;\n\n if (index != null) {\n return get$1(format, (index + shift) % 7, field, 'day');\n }\n\n var i;\n var out = [];\n for (i = 0; i < 7; i++) {\n out[i] = get$1(format, (i + shift) % 7, field, 'day');\n }\n return out;\n }\n\n function listMonths (format, index) {\n return listMonthsImpl(format, index, 'months');\n }\n\n function listMonthsShort (format, index) {\n return listMonthsImpl(format, index, 'monthsShort');\n }\n\n function listWeekdays (localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdays');\n }\n\n function listWeekdaysShort (localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysShort');\n }\n\n function listWeekdaysMin (localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysMin');\n }\n\n getSetGlobalLocale('en', {\n dayOfMonthOrdinalParse: /\\d{1,2}(th|st|nd|rd)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (toInt(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n }\n });\n\n // Side effect imports\n\n hooks.lang = deprecate('moment.lang is deprecated. Use moment.locale instead.', getSetGlobalLocale);\n hooks.langData = deprecate('moment.langData is deprecated. Use moment.localeData instead.', getLocale);\n\n var mathAbs = Math.abs;\n\n function abs () {\n var data = this._data;\n\n this._milliseconds = mathAbs(this._milliseconds);\n this._days = mathAbs(this._days);\n this._months = mathAbs(this._months);\n\n data.milliseconds = mathAbs(data.milliseconds);\n data.seconds = mathAbs(data.seconds);\n data.minutes = mathAbs(data.minutes);\n data.hours = mathAbs(data.hours);\n data.months = mathAbs(data.months);\n data.years = mathAbs(data.years);\n\n return this;\n }\n\n function addSubtract$1 (duration, input, value, direction) {\n var other = createDuration(input, value);\n\n duration._milliseconds += direction * other._milliseconds;\n duration._days += direction * other._days;\n duration._months += direction * other._months;\n\n return duration._bubble();\n }\n\n // supports only 2.0-style add(1, 's') or add(duration)\n function add$1 (input, value) {\n return addSubtract$1(this, input, value, 1);\n }\n\n // supports only 2.0-style subtract(1, 's') or subtract(duration)\n function subtract$1 (input, value) {\n return addSubtract$1(this, input, value, -1);\n }\n\n function absCeil (number) {\n if (number < 0) {\n return Math.floor(number);\n } else {\n return Math.ceil(number);\n }\n }\n\n function bubble () {\n var milliseconds = this._milliseconds;\n var days = this._days;\n var months = this._months;\n var data = this._data;\n var seconds, minutes, hours, years, monthsFromDays;\n\n // if we have a mix of positive and negative values, bubble down first\n // check: https://github.com/moment/moment/issues/2166\n if (!((milliseconds >= 0 && days >= 0 && months >= 0) ||\n (milliseconds <= 0 && days <= 0 && months <= 0))) {\n milliseconds += absCeil(monthsToDays(months) + days) * 864e5;\n days = 0;\n months = 0;\n }\n\n // The following code bubbles up values, see the tests for\n // examples of what that means.\n data.milliseconds = milliseconds % 1000;\n\n seconds = absFloor(milliseconds / 1000);\n data.seconds = seconds % 60;\n\n minutes = absFloor(seconds / 60);\n data.minutes = minutes % 60;\n\n hours = absFloor(minutes / 60);\n data.hours = hours % 24;\n\n days += absFloor(hours / 24);\n\n // convert days to months\n monthsFromDays = absFloor(daysToMonths(days));\n months += monthsFromDays;\n days -= absCeil(monthsToDays(monthsFromDays));\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n data.days = days;\n data.months = months;\n data.years = years;\n\n return this;\n }\n\n function daysToMonths (days) {\n // 400 years have 146097 days (taking into account leap year rules)\n // 400 years have 12 months === 4800\n return days * 4800 / 146097;\n }\n\n function monthsToDays (months) {\n // the reverse of daysToMonths\n return months * 146097 / 4800;\n }\n\n function as (units) {\n if (!this.isValid()) {\n return NaN;\n }\n var days;\n var months;\n var milliseconds = this._milliseconds;\n\n units = normalizeUnits(units);\n\n if (units === 'month' || units === 'year') {\n days = this._days + milliseconds / 864e5;\n months = this._months + daysToMonths(days);\n return units === 'month' ? months : months / 12;\n } else {\n // handle milliseconds separately because of floating point math errors (issue #1867)\n days = this._days + Math.round(monthsToDays(this._months));\n switch (units) {\n case 'week' : return days / 7 + milliseconds / 6048e5;\n case 'day' : return days + milliseconds / 864e5;\n case 'hour' : return days * 24 + milliseconds / 36e5;\n case 'minute' : return days * 1440 + milliseconds / 6e4;\n case 'second' : return days * 86400 + milliseconds / 1000;\n // Math.floor prevents floating point math errors here\n case 'millisecond': return Math.floor(days * 864e5) + milliseconds;\n default: throw new Error('Unknown unit ' + units);\n }\n }\n }\n\n // TODO: Use this.as('ms')?\n function valueOf$1 () {\n if (!this.isValid()) {\n return NaN;\n }\n return (\n this._milliseconds +\n this._days * 864e5 +\n (this._months % 12) * 2592e6 +\n toInt(this._months / 12) * 31536e6\n );\n }\n\n function makeAs (alias) {\n return function () {\n return this.as(alias);\n };\n }\n\n var asMilliseconds = makeAs('ms');\n var asSeconds = makeAs('s');\n var asMinutes = makeAs('m');\n var asHours = makeAs('h');\n var asDays = makeAs('d');\n var asWeeks = makeAs('w');\n var asMonths = makeAs('M');\n var asYears = makeAs('y');\n\n function clone$1 () {\n return createDuration(this);\n }\n\n function get$2 (units) {\n units = normalizeUnits(units);\n return this.isValid() ? this[units + 's']() : NaN;\n }\n\n function makeGetter(name) {\n return function () {\n return this.isValid() ? this._data[name] : NaN;\n };\n }\n\n var milliseconds = makeGetter('milliseconds');\n var seconds = makeGetter('seconds');\n var minutes = makeGetter('minutes');\n var hours = makeGetter('hours');\n var days = makeGetter('days');\n var months = makeGetter('months');\n var years = makeGetter('years');\n\n function weeks () {\n return absFloor(this.days() / 7);\n }\n\n var round = Math.round;\n var thresholds = {\n ss: 44, // a few seconds to seconds\n s : 45, // seconds to minute\n m : 45, // minutes to hour\n h : 22, // hours to day\n d : 26, // days to month\n M : 11 // months to year\n };\n\n // helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize\n function substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) {\n return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture);\n }\n\n function relativeTime$1 (posNegDuration, withoutSuffix, locale) {\n var duration = createDuration(posNegDuration).abs();\n var seconds = round(duration.as('s'));\n var minutes = round(duration.as('m'));\n var hours = round(duration.as('h'));\n var days = round(duration.as('d'));\n var months = round(duration.as('M'));\n var years = round(duration.as('y'));\n\n var a = seconds <= thresholds.ss && ['s', seconds] ||\n seconds < thresholds.s && ['ss', seconds] ||\n minutes <= 1 && ['m'] ||\n minutes < thresholds.m && ['mm', minutes] ||\n hours <= 1 && ['h'] ||\n hours < thresholds.h && ['hh', hours] ||\n days <= 1 && ['d'] ||\n days < thresholds.d && ['dd', days] ||\n months <= 1 && ['M'] ||\n months < thresholds.M && ['MM', months] ||\n years <= 1 && ['y'] || ['yy', years];\n\n a[2] = withoutSuffix;\n a[3] = +posNegDuration > 0;\n a[4] = locale;\n return substituteTimeAgo.apply(null, a);\n }\n\n // This function allows you to set the rounding function for relative time strings\n function getSetRelativeTimeRounding (roundingFunction) {\n if (roundingFunction === undefined) {\n return round;\n }\n if (typeof(roundingFunction) === 'function') {\n round = roundingFunction;\n return true;\n }\n return false;\n }\n\n // This function allows you to set a threshold for relative time strings\n function getSetRelativeTimeThreshold (threshold, limit) {\n if (thresholds[threshold] === undefined) {\n return false;\n }\n if (limit === undefined) {\n return thresholds[threshold];\n }\n thresholds[threshold] = limit;\n if (threshold === 's') {\n thresholds.ss = limit - 1;\n }\n return true;\n }\n\n function humanize (withSuffix) {\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var locale = this.localeData();\n var output = relativeTime$1(this, !withSuffix, locale);\n\n if (withSuffix) {\n output = locale.pastFuture(+this, output);\n }\n\n return locale.postformat(output);\n }\n\n var abs$1 = Math.abs;\n\n function sign(x) {\n return ((x > 0) - (x < 0)) || +x;\n }\n\n function toISOString$1() {\n // for ISO strings we do not use the normal bubbling rules:\n // * milliseconds bubble up until they become hours\n // * days do not bubble at all\n // * months bubble up until they become years\n // This is because there is no context-free conversion between hours and days\n // (think of clock changes)\n // and also not between days and months (28-31 days per month)\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var seconds = abs$1(this._milliseconds) / 1000;\n var days = abs$1(this._days);\n var months = abs$1(this._months);\n var minutes, hours, years;\n\n // 3600 seconds -> 60 minutes -> 1 hour\n minutes = absFloor(seconds / 60);\n hours = absFloor(minutes / 60);\n seconds %= 60;\n minutes %= 60;\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n\n // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js\n var Y = years;\n var M = months;\n var D = days;\n var h = hours;\n var m = minutes;\n var s = seconds ? seconds.toFixed(3).replace(/\\.?0+$/, '') : '';\n var total = this.asSeconds();\n\n if (!total) {\n // this is the same as C#'s (Noda) and python (isodate)...\n // but not other JS (goog.date)\n return 'P0D';\n }\n\n var totalSign = total < 0 ? '-' : '';\n var ymSign = sign(this._months) !== sign(total) ? '-' : '';\n var daysSign = sign(this._days) !== sign(total) ? '-' : '';\n var hmsSign = sign(this._milliseconds) !== sign(total) ? '-' : '';\n\n return totalSign + 'P' +\n (Y ? ymSign + Y + 'Y' : '') +\n (M ? ymSign + M + 'M' : '') +\n (D ? daysSign + D + 'D' : '') +\n ((h || m || s) ? 'T' : '') +\n (h ? hmsSign + h + 'H' : '') +\n (m ? hmsSign + m + 'M' : '') +\n (s ? hmsSign + s + 'S' : '');\n }\n\n var proto$2 = Duration.prototype;\n\n proto$2.isValid = isValid$1;\n proto$2.abs = abs;\n proto$2.add = add$1;\n proto$2.subtract = subtract$1;\n proto$2.as = as;\n proto$2.asMilliseconds = asMilliseconds;\n proto$2.asSeconds = asSeconds;\n proto$2.asMinutes = asMinutes;\n proto$2.asHours = asHours;\n proto$2.asDays = asDays;\n proto$2.asWeeks = asWeeks;\n proto$2.asMonths = asMonths;\n proto$2.asYears = asYears;\n proto$2.valueOf = valueOf$1;\n proto$2._bubble = bubble;\n proto$2.clone = clone$1;\n proto$2.get = get$2;\n proto$2.milliseconds = milliseconds;\n proto$2.seconds = seconds;\n proto$2.minutes = minutes;\n proto$2.hours = hours;\n proto$2.days = days;\n proto$2.weeks = weeks;\n proto$2.months = months;\n proto$2.years = years;\n proto$2.humanize = humanize;\n proto$2.toISOString = toISOString$1;\n proto$2.toString = toISOString$1;\n proto$2.toJSON = toISOString$1;\n proto$2.locale = locale;\n proto$2.localeData = localeData;\n\n proto$2.toIsoString = deprecate('toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)', toISOString$1);\n proto$2.lang = lang;\n\n // Side effect imports\n\n // FORMATTING\n\n addFormatToken('X', 0, 0, 'unix');\n addFormatToken('x', 0, 0, 'valueOf');\n\n // PARSING\n\n addRegexToken('x', matchSigned);\n addRegexToken('X', matchTimestamp);\n addParseToken('X', function (input, array, config) {\n config._d = new Date(parseFloat(input, 10) * 1000);\n });\n addParseToken('x', function (input, array, config) {\n config._d = new Date(toInt(input));\n });\n\n // Side effect imports\n\n\n hooks.version = '2.22.2';\n\n setHookCallback(createLocal);\n\n hooks.fn = proto;\n hooks.min = min;\n hooks.max = max;\n hooks.now = now;\n hooks.utc = createUTC;\n hooks.unix = createUnix;\n hooks.months = listMonths;\n hooks.isDate = isDate;\n hooks.locale = getSetGlobalLocale;\n hooks.invalid = createInvalid;\n hooks.duration = createDuration;\n hooks.isMoment = isMoment;\n hooks.weekdays = listWeekdays;\n hooks.parseZone = createInZone;\n hooks.localeData = getLocale;\n hooks.isDuration = isDuration;\n hooks.monthsShort = listMonthsShort;\n hooks.weekdaysMin = listWeekdaysMin;\n hooks.defineLocale = defineLocale;\n hooks.updateLocale = updateLocale;\n hooks.locales = listLocales;\n hooks.weekdaysShort = listWeekdaysShort;\n hooks.normalizeUnits = normalizeUnits;\n hooks.relativeTimeRounding = getSetRelativeTimeRounding;\n hooks.relativeTimeThreshold = getSetRelativeTimeThreshold;\n hooks.calendarFormat = getCalendarFormat;\n hooks.prototype = proto;\n\n // currently HTML5 input type only supports 24-hour formats\n hooks.HTML5_FMT = {\n DATETIME_LOCAL: 'YYYY-MM-DDTHH:mm', // \n DATETIME_LOCAL_SECONDS: 'YYYY-MM-DDTHH:mm:ss', // \n DATETIME_LOCAL_MS: 'YYYY-MM-DDTHH:mm:ss.SSS', // \n DATE: 'YYYY-MM-DD', // \n TIME: 'HH:mm', // \n TIME_SECONDS: 'HH:mm:ss', // \n TIME_MS: 'HH:mm:ss.SSS', // \n WEEK: 'YYYY-[W]WW', // \n MONTH: 'YYYY-MM' // \n };\n\n return hooks;\n\n})));\n","export function each(o, cb, s) {\n var n;\n if (!o) {\n return 0;\n }\n s = !s ? o : s;\n if (o instanceof Array) {\n // Indexed arrays, needed for Safari\n for (n = 0; n < o.length; n++) {\n if (cb.call(s, o[n], n, o) === false) {\n return 0;\n }\n }\n } else {\n // Hashtables\n for (n in o) {\n if (o.hasOwnProperty(n)) {\n if (cb.call(s, o[n], n, o) === false){\n return 0;\n }\n }\n }\n }\n return 1;\n}\n","const matchHtmlRegExp = /[\"'&<>]/;\n\n/**\n * Escape special characters in the given string of html.\n *\n * @param {string} string The string to escape for inserting into HTML\n * @return {string}\n * @public\n */\n\nexport function escapeHtml(string) {\n var str = '' + string;\n var match = matchHtmlRegExp.exec(str);\n\n if (!match) {\n return str;\n }\n\n var escape;\n var html = '';\n var index = 0;\n var lastIndex = 0;\n\n for (index = match.index; index < str.length; index++) {\n switch (str.charCodeAt(index)) {\n case 34: // \"\n escape = '"';\n break;\n case 38: // &\n escape = '&';\n break;\n case 39: // '\n escape = ''';\n break;\n case 60: // <\n escape = '<';\n break;\n case 62: // >\n escape = '>';\n break;\n default:\n continue;\n }\n\n if (lastIndex !== index) {\n html += str.substring(lastIndex, index);\n }\n\n lastIndex = index + 1;\n html += escape;\n }\n\n return lastIndex !== index\n ? html + str.substring(lastIndex, index)\n : html;\n}\n","export function extend(target) {\n for (var i = 1; i < arguments.length; i++) {\n for (var prop in arguments[i]){\n target[prop] = arguments[i][prop];\n }\n }\n return target;\n}\n","export var name = \"d3\";\nexport var version = \"5.4.0\";\nexport var description = \"Data-Driven Documents\";\nexport var keywords = [\"dom\",\"visualization\",\"svg\",\"animation\",\"canvas\"];\nexport var homepage = \"https://d3js.org\";\nexport var license = \"BSD-3-Clause\";\nexport var author = {\"name\":\"Mike Bostock\",\"url\":\"https://bost.ocks.org/mike\"};\nexport var main = \"dist/d3.node.js\";\nexport var unpkg = \"dist/d3.min.js\";\nexport var jsdelivr = \"dist/d3.min.js\";\nexport var module = \"index\";\nexport var repository = {\"type\":\"git\",\"url\":\"https://github.com/d3/d3.git\"};\nexport var scripts = {\"pretest\":\"rimraf dist && mkdir dist && json2module package.json > dist/package.js && node rollup.node\",\"test\":\"tape 'test/**/*-test.js'\",\"prepublishOnly\":\"npm run test && rollup -c --banner \\\"$(preamble)\\\" && uglifyjs -b beautify=false,preamble=\\\"'$(preamble)'\\\" dist/d3.js -c negate_iife=false -m -o dist/d3.min.js\",\"postpublish\":\"git push && git push --tags && cd ../d3.github.com && git pull && cp ../d3/dist/d3.js d3.v5.js && cp ../d3/dist/d3.min.js d3.v5.min.js && git add d3.v5.js d3.v5.min.js && git commit -m \\\"d3 ${npm_package_version}\\\" && git push && cd - && cd ../d3-bower && git pull && cp ../d3/LICENSE ../d3/README.md ../d3/dist/d3.js ../d3/dist/d3.min.js . && git add -- LICENSE README.md d3.js d3.min.js && git commit -m \\\"${npm_package_version}\\\" && git tag -am \\\"${npm_package_version}\\\" v${npm_package_version} && git push && git push --tags && cd - && zip -j dist/d3.zip -- LICENSE README.md API.md CHANGES.md dist/d3.js dist/d3.min.js\"};\nexport var devDependencies = {\"json2module\":\"0.0\",\"package-preamble\":\"0.1\",\"rimraf\":\"2\",\"rollup\":\"0.57\",\"rollup-plugin-ascii\":\"0.0\",\"rollup-plugin-node-resolve\":\"3\",\"tape\":\"4\",\"uglify-js\":\"3.2\"};\nexport var dependencies = {\"d3-array\":\"1\",\"d3-axis\":\"1\",\"d3-brush\":\"1\",\"d3-chord\":\"1\",\"d3-collection\":\"1\",\"d3-color\":\"1\",\"d3-contour\":\"1\",\"d3-dispatch\":\"1\",\"d3-drag\":\"1\",\"d3-dsv\":\"1\",\"d3-ease\":\"1\",\"d3-fetch\":\"1\",\"d3-force\":\"1\",\"d3-format\":\"1\",\"d3-geo\":\"1\",\"d3-hierarchy\":\"1\",\"d3-interpolate\":\"1\",\"d3-path\":\"1\",\"d3-polygon\":\"1\",\"d3-quadtree\":\"1\",\"d3-random\":\"1\",\"d3-scale\":\"2\",\"d3-scale-chromatic\":\"1\",\"d3-selection\":\"1\",\"d3-shape\":\"1\",\"d3-time\":\"1\",\"d3-time-format\":\"2\",\"d3-timer\":\"1\",\"d3-transition\":\"1\",\"d3-voronoi\":\"1\",\"d3-zoom\":\"1\"};\n","export default function(a, b) {\n return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;\n}\n","import ascending from \"./ascending\";\n\nexport default function(compare) {\n if (compare.length === 1) compare = ascendingComparator(compare);\n return {\n left: function(a, x, lo, hi) {\n if (lo == null) lo = 0;\n if (hi == null) hi = a.length;\n while (lo < hi) {\n var mid = lo + hi >>> 1;\n if (compare(a[mid], x) < 0) lo = mid + 1;\n else hi = mid;\n }\n return lo;\n },\n right: function(a, x, lo, hi) {\n if (lo == null) lo = 0;\n if (hi == null) hi = a.length;\n while (lo < hi) {\n var mid = lo + hi >>> 1;\n if (compare(a[mid], x) > 0) hi = mid;\n else lo = mid + 1;\n }\n return lo;\n }\n };\n}\n\nfunction ascendingComparator(f) {\n return function(d, x) {\n return ascending(f(d), x);\n };\n}\n","import ascending from \"./ascending\";\nimport bisector from \"./bisector\";\n\nvar ascendingBisect = bisector(ascending);\nexport var bisectRight = ascendingBisect.right;\nexport var bisectLeft = ascendingBisect.left;\nexport default bisectRight;\n","export default function(array, f) {\n if (f == null) f = pair;\n var i = 0, n = array.length - 1, p = array[0], pairs = new Array(n < 0 ? 0 : n);\n while (i < n) pairs[i] = f(p, p = array[++i]);\n return pairs;\n}\n\nexport function pair(a, b) {\n return [a, b];\n}\n","import {pair} from \"./pairs\";\n\nexport default function(values0, values1, reduce) {\n var n0 = values0.length,\n n1 = values1.length,\n values = new Array(n0 * n1),\n i0,\n i1,\n i,\n value0;\n\n if (reduce == null) reduce = pair;\n\n for (i0 = i = 0; i0 < n0; ++i0) {\n for (value0 = values0[i0], i1 = 0; i1 < n1; ++i1, ++i) {\n values[i] = reduce(value0, values1[i1]);\n }\n }\n\n return values;\n}\n","export default function(a, b) {\n return b < a ? -1 : b > a ? 1 : b >= a ? 0 : NaN;\n}\n","export default function(x) {\n return x === null ? NaN : +x;\n}\n","import number from \"./number\";\n\nexport default function(values, valueof) {\n var n = values.length,\n m = 0,\n i = -1,\n mean = 0,\n value,\n delta,\n sum = 0;\n\n if (valueof == null) {\n while (++i < n) {\n if (!isNaN(value = number(values[i]))) {\n delta = value - mean;\n mean += delta / ++m;\n sum += delta * (value - mean);\n }\n }\n }\n\n else {\n while (++i < n) {\n if (!isNaN(value = number(valueof(values[i], i, values)))) {\n delta = value - mean;\n mean += delta / ++m;\n sum += delta * (value - mean);\n }\n }\n }\n\n if (m > 1) return sum / (m - 1);\n}\n","import variance from \"./variance\";\n\nexport default function(array, f) {\n var v = variance(array, f);\n return v ? Math.sqrt(v) : v;\n}\n","export default function(values, valueof) {\n var n = values.length,\n i = -1,\n value,\n min,\n max;\n\n if (valueof == null) {\n while (++i < n) { // Find the first comparable value.\n if ((value = values[i]) != null && value >= value) {\n min = max = value;\n while (++i < n) { // Compare the remaining values.\n if ((value = values[i]) != null) {\n if (min > value) min = value;\n if (max < value) max = value;\n }\n }\n }\n }\n }\n\n else {\n while (++i < n) { // Find the first comparable value.\n if ((value = valueof(values[i], i, values)) != null && value >= value) {\n min = max = value;\n while (++i < n) { // Compare the remaining values.\n if ((value = valueof(values[i], i, values)) != null) {\n if (min > value) min = value;\n if (max < value) max = value;\n }\n }\n }\n }\n }\n\n return [min, max];\n}\n","var array = Array.prototype;\n\nexport var slice = array.slice;\nexport var map = array.map;\n","export default function(x) {\n return function() {\n return x;\n };\n}\n","export default function(x) {\n return x;\n}\n","export default function(start, stop, step) {\n start = +start, stop = +stop, step = (n = arguments.length) < 2 ? (stop = start, start = 0, 1) : n < 3 ? 1 : +step;\n\n var i = -1,\n n = Math.max(0, Math.ceil((stop - start) / step)) | 0,\n range = new Array(n);\n\n while (++i < n) {\n range[i] = start + i * step;\n }\n\n return range;\n}\n","var e10 = Math.sqrt(50),\n e5 = Math.sqrt(10),\n e2 = Math.sqrt(2);\n\nexport default function(start, stop, count) {\n var reverse,\n i = -1,\n n,\n ticks,\n step;\n\n stop = +stop, start = +start, count = +count;\n if (start === stop && count > 0) return [start];\n if (reverse = stop < start) n = start, start = stop, stop = n;\n if ((step = tickIncrement(start, stop, count)) === 0 || !isFinite(step)) return [];\n\n if (step > 0) {\n start = Math.ceil(start / step);\n stop = Math.floor(stop / step);\n ticks = new Array(n = Math.ceil(stop - start + 1));\n while (++i < n) ticks[i] = (start + i) * step;\n } else {\n start = Math.floor(start * step);\n stop = Math.ceil(stop * step);\n ticks = new Array(n = Math.ceil(start - stop + 1));\n while (++i < n) ticks[i] = (start - i) / step;\n }\n\n if (reverse) ticks.reverse();\n\n return ticks;\n}\n\nexport function tickIncrement(start, stop, count) {\n var step = (stop - start) / Math.max(0, count),\n power = Math.floor(Math.log(step) / Math.LN10),\n error = step / Math.pow(10, power);\n return power >= 0\n ? (error >= e10 ? 10 : error >= e5 ? 5 : error >= e2 ? 2 : 1) * Math.pow(10, power)\n : -Math.pow(10, -power) / (error >= e10 ? 10 : error >= e5 ? 5 : error >= e2 ? 2 : 1);\n}\n\nexport function tickStep(start, stop, count) {\n var step0 = Math.abs(stop - start) / Math.max(0, count),\n step1 = Math.pow(10, Math.floor(Math.log(step0) / Math.LN10)),\n error = step0 / step1;\n if (error >= e10) step1 *= 10;\n else if (error >= e5) step1 *= 5;\n else if (error >= e2) step1 *= 2;\n return stop < start ? -step1 : step1;\n}\n","export default function(values) {\n return Math.ceil(Math.log(values.length) / Math.LN2) + 1;\n}\n","import {slice} from \"./array\";\nimport bisect from \"./bisect\";\nimport constant from \"./constant\";\nimport extent from \"./extent\";\nimport identity from \"./identity\";\nimport range from \"./range\";\nimport {tickStep} from \"./ticks\";\nimport sturges from \"./threshold/sturges\";\n\nexport default function() {\n var value = identity,\n domain = extent,\n threshold = sturges;\n\n function histogram(data) {\n var i,\n n = data.length,\n x,\n values = new Array(n);\n\n for (i = 0; i < n; ++i) {\n values[i] = value(data[i], i, data);\n }\n\n var xz = domain(values),\n x0 = xz[0],\n x1 = xz[1],\n tz = threshold(values, x0, x1);\n\n // Convert number of thresholds into uniform thresholds.\n if (!Array.isArray(tz)) {\n tz = tickStep(x0, x1, tz);\n tz = range(Math.ceil(x0 / tz) * tz, Math.floor(x1 / tz) * tz, tz); // exclusive\n }\n\n // Remove any thresholds outside the domain.\n var m = tz.length;\n while (tz[0] <= x0) tz.shift(), --m;\n while (tz[m - 1] > x1) tz.pop(), --m;\n\n var bins = new Array(m + 1),\n bin;\n\n // Initialize bins.\n for (i = 0; i <= m; ++i) {\n bin = bins[i] = [];\n bin.x0 = i > 0 ? tz[i - 1] : x0;\n bin.x1 = i < m ? tz[i] : x1;\n }\n\n // Assign data to bins by value, ignoring any outside the domain.\n for (i = 0; i < n; ++i) {\n x = values[i];\n if (x0 <= x && x <= x1) {\n bins[bisect(tz, x, 0, m)].push(data[i]);\n }\n }\n\n return bins;\n }\n\n histogram.value = function(_) {\n return arguments.length ? (value = typeof _ === \"function\" ? _ : constant(_), histogram) : value;\n };\n\n histogram.domain = function(_) {\n return arguments.length ? (domain = typeof _ === \"function\" ? _ : constant([_[0], _[1]]), histogram) : domain;\n };\n\n histogram.thresholds = function(_) {\n return arguments.length ? (threshold = typeof _ === \"function\" ? _ : Array.isArray(_) ? constant(slice.call(_)) : constant(_), histogram) : threshold;\n };\n\n return histogram;\n}\n","import number from \"./number\";\n\nexport default function(values, p, valueof) {\n if (valueof == null) valueof = number;\n if (!(n = values.length)) return;\n if ((p = +p) <= 0 || n < 2) return +valueof(values[0], 0, values);\n if (p >= 1) return +valueof(values[n - 1], n - 1, values);\n var n,\n i = (n - 1) * p,\n i0 = Math.floor(i),\n value0 = +valueof(values[i0], i0, values),\n value1 = +valueof(values[i0 + 1], i0 + 1, values);\n return value0 + (value1 - value0) * (i - i0);\n}\n","import {map} from \"../array\";\nimport ascending from \"../ascending\";\nimport number from \"../number\";\nimport quantile from \"../quantile\";\n\nexport default function(values, min, max) {\n values = map.call(values, number).sort(ascending);\n return Math.ceil((max - min) / (2 * (quantile(values, 0.75) - quantile(values, 0.25)) * Math.pow(values.length, -1 / 3)));\n}\n","import deviation from \"../deviation\";\n\nexport default function(values, min, max) {\n return Math.ceil((max - min) / (3.5 * deviation(values) * Math.pow(values.length, -1 / 3)));\n}\n","export default function(values, valueof) {\n var n = values.length,\n i = -1,\n value,\n max;\n\n if (valueof == null) {\n while (++i < n) { // Find the first comparable value.\n if ((value = values[i]) != null && value >= value) {\n max = value;\n while (++i < n) { // Compare the remaining values.\n if ((value = values[i]) != null && value > max) {\n max = value;\n }\n }\n }\n }\n }\n\n else {\n while (++i < n) { // Find the first comparable value.\n if ((value = valueof(values[i], i, values)) != null && value >= value) {\n max = value;\n while (++i < n) { // Compare the remaining values.\n if ((value = valueof(values[i], i, values)) != null && value > max) {\n max = value;\n }\n }\n }\n }\n }\n\n return max;\n}\n","import number from \"./number\";\n\nexport default function(values, valueof) {\n var n = values.length,\n m = n,\n i = -1,\n value,\n sum = 0;\n\n if (valueof == null) {\n while (++i < n) {\n if (!isNaN(value = number(values[i]))) sum += value;\n else --m;\n }\n }\n\n else {\n while (++i < n) {\n if (!isNaN(value = number(valueof(values[i], i, values)))) sum += value;\n else --m;\n }\n }\n\n if (m) return sum / m;\n}\n","import ascending from \"./ascending\";\nimport number from \"./number\";\nimport quantile from \"./quantile\";\n\nexport default function(values, valueof) {\n var n = values.length,\n i = -1,\n value,\n numbers = [];\n\n if (valueof == null) {\n while (++i < n) {\n if (!isNaN(value = number(values[i]))) {\n numbers.push(value);\n }\n }\n }\n\n else {\n while (++i < n) {\n if (!isNaN(value = number(valueof(values[i], i, values)))) {\n numbers.push(value);\n }\n }\n }\n\n return quantile(numbers.sort(ascending), 0.5);\n}\n","export default function(arrays) {\n var n = arrays.length,\n m,\n i = -1,\n j = 0,\n merged,\n array;\n\n while (++i < n) j += arrays[i].length;\n merged = new Array(j);\n\n while (--n >= 0) {\n array = arrays[n];\n m = array.length;\n while (--m >= 0) {\n merged[--j] = array[m];\n }\n }\n\n return merged;\n}\n","export default function(values, valueof) {\n var n = values.length,\n i = -1,\n value,\n min;\n\n if (valueof == null) {\n while (++i < n) { // Find the first comparable value.\n if ((value = values[i]) != null && value >= value) {\n min = value;\n while (++i < n) { // Compare the remaining values.\n if ((value = values[i]) != null && min > value) {\n min = value;\n }\n }\n }\n }\n }\n\n else {\n while (++i < n) { // Find the first comparable value.\n if ((value = valueof(values[i], i, values)) != null && value >= value) {\n min = value;\n while (++i < n) { // Compare the remaining values.\n if ((value = valueof(values[i], i, values)) != null && min > value) {\n min = value;\n }\n }\n }\n }\n }\n\n return min;\n}\n","export default function(array, indexes) {\n var i = indexes.length, permutes = new Array(i);\n while (i--) permutes[i] = array[indexes[i]];\n return permutes;\n}\n","import ascending from \"./ascending\";\n\nexport default function(values, compare) {\n if (!(n = values.length)) return;\n var n,\n i = 0,\n j = 0,\n xi,\n xj = values[j];\n\n if (compare == null) compare = ascending;\n\n while (++i < n) {\n if (compare(xi = values[i], xj) < 0 || compare(xj, xj) !== 0) {\n xj = xi, j = i;\n }\n }\n\n if (compare(xj, xj) === 0) return j;\n}\n","export default function(array, i0, i1) {\n var m = (i1 == null ? array.length : i1) - (i0 = i0 == null ? 0 : +i0),\n t,\n i;\n\n while (m) {\n i = Math.random() * m-- | 0;\n t = array[m + i0];\n array[m + i0] = array[i + i0];\n array[i + i0] = t;\n }\n\n return array;\n}\n","export default function(values, valueof) {\n var n = values.length,\n i = -1,\n value,\n sum = 0;\n\n if (valueof == null) {\n while (++i < n) {\n if (value = +values[i]) sum += value; // Note: zero and null are equivalent.\n }\n }\n\n else {\n while (++i < n) {\n if (value = +valueof(values[i], i, values)) sum += value;\n }\n }\n\n return sum;\n}\n","import min from \"./min\";\n\nexport default function(matrix) {\n if (!(n = matrix.length)) return [];\n for (var i = -1, m = min(matrix, length), transpose = new Array(m); ++i < m;) {\n for (var j = -1, n, row = transpose[i] = new Array(n); ++j < n;) {\n row[j] = matrix[j][i];\n }\n }\n return transpose;\n}\n\nfunction length(d) {\n return d.length;\n}\n","import transpose from \"./transpose\";\n\nexport default function() {\n return transpose(arguments);\n}\n","export var slice = Array.prototype.slice;\n","export default function(x) {\n return x;\n}\n","import {slice} from \"./array\";\nimport identity from \"./identity\";\n\nvar top = 1,\n right = 2,\n bottom = 3,\n left = 4,\n epsilon = 1e-6;\n\nfunction translateX(x) {\n return \"translate(\" + (x + 0.5) + \",0)\";\n}\n\nfunction translateY(y) {\n return \"translate(0,\" + (y + 0.5) + \")\";\n}\n\nfunction number(scale) {\n return function(d) {\n return +scale(d);\n };\n}\n\nfunction center(scale) {\n var offset = Math.max(0, scale.bandwidth() - 1) / 2; // Adjust for 0.5px offset.\n if (scale.round()) offset = Math.round(offset);\n return function(d) {\n return +scale(d) + offset;\n };\n}\n\nfunction entering() {\n return !this.__axis;\n}\n\nfunction axis(orient, scale) {\n var tickArguments = [],\n tickValues = null,\n tickFormat = null,\n tickSizeInner = 6,\n tickSizeOuter = 6,\n tickPadding = 3,\n k = orient === top || orient === left ? -1 : 1,\n x = orient === left || orient === right ? \"x\" : \"y\",\n transform = orient === top || orient === bottom ? translateX : translateY;\n\n function axis(context) {\n var values = tickValues == null ? (scale.ticks ? scale.ticks.apply(scale, tickArguments) : scale.domain()) : tickValues,\n format = tickFormat == null ? (scale.tickFormat ? scale.tickFormat.apply(scale, tickArguments) : identity) : tickFormat,\n spacing = Math.max(tickSizeInner, 0) + tickPadding,\n range = scale.range(),\n range0 = +range[0] + 0.5,\n range1 = +range[range.length - 1] + 0.5,\n position = (scale.bandwidth ? center : number)(scale.copy()),\n selection = context.selection ? context.selection() : context,\n path = selection.selectAll(\".domain\").data([null]),\n tick = selection.selectAll(\".tick\").data(values, scale).order(),\n tickExit = tick.exit(),\n tickEnter = tick.enter().append(\"g\").attr(\"class\", \"tick\"),\n line = tick.select(\"line\"),\n text = tick.select(\"text\");\n\n path = path.merge(path.enter().insert(\"path\", \".tick\")\n .attr(\"class\", \"domain\")\n .attr(\"stroke\", \"#000\"));\n\n tick = tick.merge(tickEnter);\n\n line = line.merge(tickEnter.append(\"line\")\n .attr(\"stroke\", \"#000\")\n .attr(x + \"2\", k * tickSizeInner));\n\n text = text.merge(tickEnter.append(\"text\")\n .attr(\"fill\", \"#000\")\n .attr(x, k * spacing)\n .attr(\"dy\", orient === top ? \"0em\" : orient === bottom ? \"0.71em\" : \"0.32em\"));\n\n if (context !== selection) {\n path = path.transition(context);\n tick = tick.transition(context);\n line = line.transition(context);\n text = text.transition(context);\n\n tickExit = tickExit.transition(context)\n .attr(\"opacity\", epsilon)\n .attr(\"transform\", function(d) { return isFinite(d = position(d)) ? transform(d) : this.getAttribute(\"transform\"); });\n\n tickEnter\n .attr(\"opacity\", epsilon)\n .attr(\"transform\", function(d) { var p = this.parentNode.__axis; return transform(p && isFinite(p = p(d)) ? p : position(d)); });\n }\n\n tickExit.remove();\n\n path\n .attr(\"d\", orient === left || orient == right\n ? \"M\" + k * tickSizeOuter + \",\" + range0 + \"H0.5V\" + range1 + \"H\" + k * tickSizeOuter\n : \"M\" + range0 + \",\" + k * tickSizeOuter + \"V0.5H\" + range1 + \"V\" + k * tickSizeOuter);\n\n tick\n .attr(\"opacity\", 1)\n .attr(\"transform\", function(d) { return transform(position(d)); });\n\n line\n .attr(x + \"2\", k * tickSizeInner);\n\n text\n .attr(x, k * spacing)\n .text(format);\n\n selection.filter(entering)\n .attr(\"fill\", \"none\")\n .attr(\"font-size\", 10)\n .attr(\"font-family\", \"sans-serif\")\n .attr(\"text-anchor\", orient === right ? \"start\" : orient === left ? \"end\" : \"middle\");\n\n selection\n .each(function() { this.__axis = position; });\n }\n\n axis.scale = function(_) {\n return arguments.length ? (scale = _, axis) : scale;\n };\n\n axis.ticks = function() {\n return tickArguments = slice.call(arguments), axis;\n };\n\n axis.tickArguments = function(_) {\n return arguments.length ? (tickArguments = _ == null ? [] : slice.call(_), axis) : tickArguments.slice();\n };\n\n axis.tickValues = function(_) {\n return arguments.length ? (tickValues = _ == null ? null : slice.call(_), axis) : tickValues && tickValues.slice();\n };\n\n axis.tickFormat = function(_) {\n return arguments.length ? (tickFormat = _, axis) : tickFormat;\n };\n\n axis.tickSize = function(_) {\n return arguments.length ? (tickSizeInner = tickSizeOuter = +_, axis) : tickSizeInner;\n };\n\n axis.tickSizeInner = function(_) {\n return arguments.length ? (tickSizeInner = +_, axis) : tickSizeInner;\n };\n\n axis.tickSizeOuter = function(_) {\n return arguments.length ? (tickSizeOuter = +_, axis) : tickSizeOuter;\n };\n\n axis.tickPadding = function(_) {\n return arguments.length ? (tickPadding = +_, axis) : tickPadding;\n };\n\n return axis;\n}\n\nexport function axisTop(scale) {\n return axis(top, scale);\n}\n\nexport function axisRight(scale) {\n return axis(right, scale);\n}\n\nexport function axisBottom(scale) {\n return axis(bottom, scale);\n}\n\nexport function axisLeft(scale) {\n return axis(left, scale);\n}\n","var noop = {value: function() {}};\n\nfunction dispatch() {\n for (var i = 0, n = arguments.length, _ = {}, t; i < n; ++i) {\n if (!(t = arguments[i] + \"\") || (t in _)) throw new Error(\"illegal type: \" + t);\n _[t] = [];\n }\n return new Dispatch(_);\n}\n\nfunction Dispatch(_) {\n this._ = _;\n}\n\nfunction parseTypenames(typenames, types) {\n return typenames.trim().split(/^|\\s+/).map(function(t) {\n var name = \"\", i = t.indexOf(\".\");\n if (i >= 0) name = t.slice(i + 1), t = t.slice(0, i);\n if (t && !types.hasOwnProperty(t)) throw new Error(\"unknown type: \" + t);\n return {type: t, name: name};\n });\n}\n\nDispatch.prototype = dispatch.prototype = {\n constructor: Dispatch,\n on: function(typename, callback) {\n var _ = this._,\n T = parseTypenames(typename + \"\", _),\n t,\n i = -1,\n n = T.length;\n\n // If no callback was specified, return the callback of the given type and name.\n if (arguments.length < 2) {\n while (++i < n) if ((t = (typename = T[i]).type) && (t = get(_[t], typename.name))) return t;\n return;\n }\n\n // If a type was specified, set the callback for the given type and name.\n // Otherwise, if a null callback was specified, remove callbacks of the given name.\n if (callback != null && typeof callback !== \"function\") throw new Error(\"invalid callback: \" + callback);\n while (++i < n) {\n if (t = (typename = T[i]).type) _[t] = set(_[t], typename.name, callback);\n else if (callback == null) for (t in _) _[t] = set(_[t], typename.name, null);\n }\n\n return this;\n },\n copy: function() {\n var copy = {}, _ = this._;\n for (var t in _) copy[t] = _[t].slice();\n return new Dispatch(copy);\n },\n call: function(type, that) {\n if ((n = arguments.length - 2) > 0) for (var args = new Array(n), i = 0, n, t; i < n; ++i) args[i] = arguments[i + 2];\n if (!this._.hasOwnProperty(type)) throw new Error(\"unknown type: \" + type);\n for (t = this._[type], i = 0, n = t.length; i < n; ++i) t[i].value.apply(that, args);\n },\n apply: function(type, that, args) {\n if (!this._.hasOwnProperty(type)) throw new Error(\"unknown type: \" + type);\n for (var t = this._[type], i = 0, n = t.length; i < n; ++i) t[i].value.apply(that, args);\n }\n};\n\nfunction get(type, name) {\n for (var i = 0, n = type.length, c; i < n; ++i) {\n if ((c = type[i]).name === name) {\n return c.value;\n }\n }\n}\n\nfunction set(type, name, callback) {\n for (var i = 0, n = type.length; i < n; ++i) {\n if (type[i].name === name) {\n type[i] = noop, type = type.slice(0, i).concat(type.slice(i + 1));\n break;\n }\n }\n if (callback != null) type.push({name: name, value: callback});\n return type;\n}\n\nexport default dispatch;\n","export var xhtml = \"http://www.w3.org/1999/xhtml\";\n\nexport default {\n svg: \"http://www.w3.org/2000/svg\",\n xhtml: xhtml,\n xlink: \"http://www.w3.org/1999/xlink\",\n xml: \"http://www.w3.org/XML/1998/namespace\",\n xmlns: \"http://www.w3.org/2000/xmlns/\"\n};\n","import namespaces from \"./namespaces\";\n\nexport default function(name) {\n var prefix = name += \"\", i = prefix.indexOf(\":\");\n if (i >= 0 && (prefix = name.slice(0, i)) !== \"xmlns\") name = name.slice(i + 1);\n return namespaces.hasOwnProperty(prefix) ? {space: namespaces[prefix], local: name} : name;\n}\n","import namespace from \"./namespace\";\nimport {xhtml} from \"./namespaces\";\n\nfunction creatorInherit(name) {\n return function() {\n var document = this.ownerDocument,\n uri = this.namespaceURI;\n return uri === xhtml && document.documentElement.namespaceURI === xhtml\n ? document.createElement(name)\n : document.createElementNS(uri, name);\n };\n}\n\nfunction creatorFixed(fullname) {\n return function() {\n return this.ownerDocument.createElementNS(fullname.space, fullname.local);\n };\n}\n\nexport default function(name) {\n var fullname = namespace(name);\n return (fullname.local\n ? creatorFixed\n : creatorInherit)(fullname);\n}\n","function none() {}\n\nexport default function(selector) {\n return selector == null ? none : function() {\n return this.querySelector(selector);\n };\n}\n","function empty() {\n return [];\n}\n\nexport default function(selector) {\n return selector == null ? empty : function() {\n return this.querySelectorAll(selector);\n };\n}\n","var matcher = function(selector) {\n return function() {\n return this.matches(selector);\n };\n};\n\nif (typeof document !== \"undefined\") {\n var element = document.documentElement;\n if (!element.matches) {\n var vendorMatches = element.webkitMatchesSelector\n || element.msMatchesSelector\n || element.mozMatchesSelector\n || element.oMatchesSelector;\n matcher = function(selector) {\n return function() {\n return vendorMatches.call(this, selector);\n };\n };\n }\n}\n\nexport default matcher;\n","export default function(update) {\n return new Array(update.length);\n}\n","import sparse from \"./sparse\";\nimport {Selection} from \"./index\";\n\nexport default function() {\n return new Selection(this._enter || this._groups.map(sparse), this._parents);\n}\n\nexport function EnterNode(parent, datum) {\n this.ownerDocument = parent.ownerDocument;\n this.namespaceURI = parent.namespaceURI;\n this._next = null;\n this._parent = parent;\n this.__data__ = datum;\n}\n\nEnterNode.prototype = {\n constructor: EnterNode,\n appendChild: function(child) { return this._parent.insertBefore(child, this._next); },\n insertBefore: function(child, next) { return this._parent.insertBefore(child, next); },\n querySelector: function(selector) { return this._parent.querySelector(selector); },\n querySelectorAll: function(selector) { return this._parent.querySelectorAll(selector); }\n};\n","export default function(x) {\n return function() {\n return x;\n };\n}\n","import {Selection} from \"./index\";\nimport {EnterNode} from \"./enter\";\nimport constant from \"../constant\";\n\nvar keyPrefix = \"$\"; // Protect against keys like “__proto__”.\n\nfunction bindIndex(parent, group, enter, update, exit, data) {\n var i = 0,\n node,\n groupLength = group.length,\n dataLength = data.length;\n\n // Put any non-null nodes that fit into update.\n // Put any null nodes into enter.\n // Put any remaining data into enter.\n for (; i < dataLength; ++i) {\n if (node = group[i]) {\n node.__data__ = data[i];\n update[i] = node;\n } else {\n enter[i] = new EnterNode(parent, data[i]);\n }\n }\n\n // Put any non-null nodes that don’t fit into exit.\n for (; i < groupLength; ++i) {\n if (node = group[i]) {\n exit[i] = node;\n }\n }\n}\n\nfunction bindKey(parent, group, enter, update, exit, data, key) {\n var i,\n node,\n nodeByKeyValue = {},\n groupLength = group.length,\n dataLength = data.length,\n keyValues = new Array(groupLength),\n keyValue;\n\n // Compute the key for each node.\n // If multiple nodes have the same key, the duplicates are added to exit.\n for (i = 0; i < groupLength; ++i) {\n if (node = group[i]) {\n keyValues[i] = keyValue = keyPrefix + key.call(node, node.__data__, i, group);\n if (keyValue in nodeByKeyValue) {\n exit[i] = node;\n } else {\n nodeByKeyValue[keyValue] = node;\n }\n }\n }\n\n // Compute the key for each datum.\n // If there a node associated with this key, join and add it to update.\n // If there is not (or the key is a duplicate), add it to enter.\n for (i = 0; i < dataLength; ++i) {\n keyValue = keyPrefix + key.call(parent, data[i], i, data);\n if (node = nodeByKeyValue[keyValue]) {\n update[i] = node;\n node.__data__ = data[i];\n nodeByKeyValue[keyValue] = null;\n } else {\n enter[i] = new EnterNode(parent, data[i]);\n }\n }\n\n // Add any remaining nodes that were not bound to data to exit.\n for (i = 0; i < groupLength; ++i) {\n if ((node = group[i]) && (nodeByKeyValue[keyValues[i]] === node)) {\n exit[i] = node;\n }\n }\n}\n\nexport default function(value, key) {\n if (!value) {\n data = new Array(this.size()), j = -1;\n this.each(function(d) { data[++j] = d; });\n return data;\n }\n\n var bind = key ? bindKey : bindIndex,\n parents = this._parents,\n groups = this._groups;\n\n if (typeof value !== \"function\") value = constant(value);\n\n for (var m = groups.length, update = new Array(m), enter = new Array(m), exit = new Array(m), j = 0; j < m; ++j) {\n var parent = parents[j],\n group = groups[j],\n groupLength = group.length,\n data = value.call(parent, parent && parent.__data__, j, parents),\n dataLength = data.length,\n enterGroup = enter[j] = new Array(dataLength),\n updateGroup = update[j] = new Array(dataLength),\n exitGroup = exit[j] = new Array(groupLength);\n\n bind(parent, group, enterGroup, updateGroup, exitGroup, data, key);\n\n // Now connect the enter nodes to their following update node, such that\n // appendChild can insert the materialized enter node before this node,\n // rather than at the end of the parent node.\n for (var i0 = 0, i1 = 0, previous, next; i0 < dataLength; ++i0) {\n if (previous = enterGroup[i0]) {\n if (i0 >= i1) i1 = i0 + 1;\n while (!(next = updateGroup[i1]) && ++i1 < dataLength);\n previous._next = next || null;\n }\n }\n }\n\n update = new Selection(update, parents);\n update._enter = enter;\n update._exit = exit;\n return update;\n}\n","import {Selection} from \"./index\";\n\nexport default function(compare) {\n if (!compare) compare = ascending;\n\n function compareNode(a, b) {\n return a && b ? compare(a.__data__, b.__data__) : !a - !b;\n }\n\n for (var groups = this._groups, m = groups.length, sortgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, sortgroup = sortgroups[j] = new Array(n), node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n sortgroup[i] = node;\n }\n }\n sortgroup.sort(compareNode);\n }\n\n return new Selection(sortgroups, this._parents).order();\n}\n\nfunction ascending(a, b) {\n return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;\n}\n","import namespace from \"../namespace\";\n\nfunction attrRemove(name) {\n return function() {\n this.removeAttribute(name);\n };\n}\n\nfunction attrRemoveNS(fullname) {\n return function() {\n this.removeAttributeNS(fullname.space, fullname.local);\n };\n}\n\nfunction attrConstant(name, value) {\n return function() {\n this.setAttribute(name, value);\n };\n}\n\nfunction attrConstantNS(fullname, value) {\n return function() {\n this.setAttributeNS(fullname.space, fullname.local, value);\n };\n}\n\nfunction attrFunction(name, value) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) this.removeAttribute(name);\n else this.setAttribute(name, v);\n };\n}\n\nfunction attrFunctionNS(fullname, value) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) this.removeAttributeNS(fullname.space, fullname.local);\n else this.setAttributeNS(fullname.space, fullname.local, v);\n };\n}\n\nexport default function(name, value) {\n var fullname = namespace(name);\n\n if (arguments.length < 2) {\n var node = this.node();\n return fullname.local\n ? node.getAttributeNS(fullname.space, fullname.local)\n : node.getAttribute(fullname);\n }\n\n return this.each((value == null\n ? (fullname.local ? attrRemoveNS : attrRemove) : (typeof value === \"function\"\n ? (fullname.local ? attrFunctionNS : attrFunction)\n : (fullname.local ? attrConstantNS : attrConstant)))(fullname, value));\n}\n","export default function(node) {\n return (node.ownerDocument && node.ownerDocument.defaultView) // node is a Node\n || (node.document && node) // node is a Window\n || node.defaultView; // node is a Document\n}\n","import defaultView from \"../window\";\n\nfunction styleRemove(name) {\n return function() {\n this.style.removeProperty(name);\n };\n}\n\nfunction styleConstant(name, value, priority) {\n return function() {\n this.style.setProperty(name, value, priority);\n };\n}\n\nfunction styleFunction(name, value, priority) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) this.style.removeProperty(name);\n else this.style.setProperty(name, v, priority);\n };\n}\n\nexport default function(name, value, priority) {\n return arguments.length > 1\n ? this.each((value == null\n ? styleRemove : typeof value === \"function\"\n ? styleFunction\n : styleConstant)(name, value, priority == null ? \"\" : priority))\n : styleValue(this.node(), name);\n}\n\nexport function styleValue(node, name) {\n return node.style.getPropertyValue(name)\n || defaultView(node).getComputedStyle(node, null).getPropertyValue(name);\n}\n","function classArray(string) {\n return string.trim().split(/^|\\s+/);\n}\n\nfunction classList(node) {\n return node.classList || new ClassList(node);\n}\n\nfunction ClassList(node) {\n this._node = node;\n this._names = classArray(node.getAttribute(\"class\") || \"\");\n}\n\nClassList.prototype = {\n add: function(name) {\n var i = this._names.indexOf(name);\n if (i < 0) {\n this._names.push(name);\n this._node.setAttribute(\"class\", this._names.join(\" \"));\n }\n },\n remove: function(name) {\n var i = this._names.indexOf(name);\n if (i >= 0) {\n this._names.splice(i, 1);\n this._node.setAttribute(\"class\", this._names.join(\" \"));\n }\n },\n contains: function(name) {\n return this._names.indexOf(name) >= 0;\n }\n};\n\nfunction classedAdd(node, names) {\n var list = classList(node), i = -1, n = names.length;\n while (++i < n) list.add(names[i]);\n}\n\nfunction classedRemove(node, names) {\n var list = classList(node), i = -1, n = names.length;\n while (++i < n) list.remove(names[i]);\n}\n\nfunction classedTrue(names) {\n return function() {\n classedAdd(this, names);\n };\n}\n\nfunction classedFalse(names) {\n return function() {\n classedRemove(this, names);\n };\n}\n\nfunction classedFunction(names, value) {\n return function() {\n (value.apply(this, arguments) ? classedAdd : classedRemove)(this, names);\n };\n}\n\nexport default function(name, value) {\n var names = classArray(name + \"\");\n\n if (arguments.length < 2) {\n var list = classList(this.node()), i = -1, n = names.length;\n while (++i < n) if (!list.contains(names[i])) return false;\n return true;\n }\n\n return this.each((typeof value === \"function\"\n ? classedFunction : value\n ? classedTrue\n : classedFalse)(names, value));\n}\n","function textRemove() {\n this.textContent = \"\";\n}\n\nfunction textConstant(value) {\n return function() {\n this.textContent = value;\n };\n}\n\nfunction textFunction(value) {\n return function() {\n var v = value.apply(this, arguments);\n this.textContent = v == null ? \"\" : v;\n };\n}\n\nexport default function(value) {\n return arguments.length\n ? this.each(value == null\n ? textRemove : (typeof value === \"function\"\n ? textFunction\n : textConstant)(value))\n : this.node().textContent;\n}\n","function htmlRemove() {\n this.innerHTML = \"\";\n}\n\nfunction htmlConstant(value) {\n return function() {\n this.innerHTML = value;\n };\n}\n\nfunction htmlFunction(value) {\n return function() {\n var v = value.apply(this, arguments);\n this.innerHTML = v == null ? \"\" : v;\n };\n}\n\nexport default function(value) {\n return arguments.length\n ? this.each(value == null\n ? htmlRemove : (typeof value === \"function\"\n ? htmlFunction\n : htmlConstant)(value))\n : this.node().innerHTML;\n}\n","function raise() {\n if (this.nextSibling) this.parentNode.appendChild(this);\n}\n\nexport default function() {\n return this.each(raise);\n}\n","function lower() {\n if (this.previousSibling) this.parentNode.insertBefore(this, this.parentNode.firstChild);\n}\n\nexport default function() {\n return this.each(lower);\n}\n","import creator from \"../creator\";\nimport selector from \"../selector\";\n\nfunction constantNull() {\n return null;\n}\n\nexport default function(name, before) {\n var create = typeof name === \"function\" ? name : creator(name),\n select = before == null ? constantNull : typeof before === \"function\" ? before : selector(before);\n return this.select(function() {\n return this.insertBefore(create.apply(this, arguments), select.apply(this, arguments) || null);\n });\n}\n","function remove() {\n var parent = this.parentNode;\n if (parent) parent.removeChild(this);\n}\n\nexport default function() {\n return this.each(remove);\n}\n","function selection_cloneShallow() {\n return this.parentNode.insertBefore(this.cloneNode(false), this.nextSibling);\n}\n\nfunction selection_cloneDeep() {\n return this.parentNode.insertBefore(this.cloneNode(true), this.nextSibling);\n}\n\nexport default function(deep) {\n return this.select(deep ? selection_cloneDeep : selection_cloneShallow);\n}\n","var filterEvents = {};\n\nexport var event = null;\n\nif (typeof document !== \"undefined\") {\n var element = document.documentElement;\n if (!(\"onmouseenter\" in element)) {\n filterEvents = {mouseenter: \"mouseover\", mouseleave: \"mouseout\"};\n }\n}\n\nfunction filterContextListener(listener, index, group) {\n listener = contextListener(listener, index, group);\n return function(event) {\n var related = event.relatedTarget;\n if (!related || (related !== this && !(related.compareDocumentPosition(this) & 8))) {\n listener.call(this, event);\n }\n };\n}\n\nfunction contextListener(listener, index, group) {\n return function(event1) {\n var event0 = event; // Events can be reentrant (e.g., focus).\n event = event1;\n try {\n listener.call(this, this.__data__, index, group);\n } finally {\n event = event0;\n }\n };\n}\n\nfunction parseTypenames(typenames) {\n return typenames.trim().split(/^|\\s+/).map(function(t) {\n var name = \"\", i = t.indexOf(\".\");\n if (i >= 0) name = t.slice(i + 1), t = t.slice(0, i);\n return {type: t, name: name};\n });\n}\n\nfunction onRemove(typename) {\n return function() {\n var on = this.__on;\n if (!on) return;\n for (var j = 0, i = -1, m = on.length, o; j < m; ++j) {\n if (o = on[j], (!typename.type || o.type === typename.type) && o.name === typename.name) {\n this.removeEventListener(o.type, o.listener, o.capture);\n } else {\n on[++i] = o;\n }\n }\n if (++i) on.length = i;\n else delete this.__on;\n };\n}\n\nfunction onAdd(typename, value, capture) {\n var wrap = filterEvents.hasOwnProperty(typename.type) ? filterContextListener : contextListener;\n return function(d, i, group) {\n var on = this.__on, o, listener = wrap(value, i, group);\n if (on) for (var j = 0, m = on.length; j < m; ++j) {\n if ((o = on[j]).type === typename.type && o.name === typename.name) {\n this.removeEventListener(o.type, o.listener, o.capture);\n this.addEventListener(o.type, o.listener = listener, o.capture = capture);\n o.value = value;\n return;\n }\n }\n this.addEventListener(typename.type, listener, capture);\n o = {type: typename.type, name: typename.name, value: value, listener: listener, capture: capture};\n if (!on) this.__on = [o];\n else on.push(o);\n };\n}\n\nexport default function(typename, value, capture) {\n var typenames = parseTypenames(typename + \"\"), i, n = typenames.length, t;\n\n if (arguments.length < 2) {\n var on = this.node().__on;\n if (on) for (var j = 0, m = on.length, o; j < m; ++j) {\n for (i = 0, o = on[j]; i < n; ++i) {\n if ((t = typenames[i]).type === o.type && t.name === o.name) {\n return o.value;\n }\n }\n }\n return;\n }\n\n on = value ? onAdd : onRemove;\n if (capture == null) capture = false;\n for (i = 0; i < n; ++i) this.each(on(typenames[i], value, capture));\n return this;\n}\n\nexport function customEvent(event1, listener, that, args) {\n var event0 = event;\n event1.sourceEvent = event;\n event = event1;\n try {\n return listener.apply(that, args);\n } finally {\n event = event0;\n }\n}\n","import defaultView from \"../window\";\n\nfunction dispatchEvent(node, type, params) {\n var window = defaultView(node),\n event = window.CustomEvent;\n\n if (typeof event === \"function\") {\n event = new event(type, params);\n } else {\n event = window.document.createEvent(\"Event\");\n if (params) event.initEvent(type, params.bubbles, params.cancelable), event.detail = params.detail;\n else event.initEvent(type, false, false);\n }\n\n node.dispatchEvent(event);\n}\n\nfunction dispatchConstant(type, params) {\n return function() {\n return dispatchEvent(this, type, params);\n };\n}\n\nfunction dispatchFunction(type, params) {\n return function() {\n return dispatchEvent(this, type, params.apply(this, arguments));\n };\n}\n\nexport default function(type, params) {\n return this.each((typeof params === \"function\"\n ? dispatchFunction\n : dispatchConstant)(type, params));\n}\n","import selection_select from \"./select\";\nimport selection_selectAll from \"./selectAll\";\nimport selection_filter from \"./filter\";\nimport selection_data from \"./data\";\nimport selection_enter from \"./enter\";\nimport selection_exit from \"./exit\";\nimport selection_merge from \"./merge\";\nimport selection_order from \"./order\";\nimport selection_sort from \"./sort\";\nimport selection_call from \"./call\";\nimport selection_nodes from \"./nodes\";\nimport selection_node from \"./node\";\nimport selection_size from \"./size\";\nimport selection_empty from \"./empty\";\nimport selection_each from \"./each\";\nimport selection_attr from \"./attr\";\nimport selection_style from \"./style\";\nimport selection_property from \"./property\";\nimport selection_classed from \"./classed\";\nimport selection_text from \"./text\";\nimport selection_html from \"./html\";\nimport selection_raise from \"./raise\";\nimport selection_lower from \"./lower\";\nimport selection_append from \"./append\";\nimport selection_insert from \"./insert\";\nimport selection_remove from \"./remove\";\nimport selection_clone from \"./clone\";\nimport selection_datum from \"./datum\";\nimport selection_on from \"./on\";\nimport selection_dispatch from \"./dispatch\";\n\nexport var root = [null];\n\nexport function Selection(groups, parents) {\n this._groups = groups;\n this._parents = parents;\n}\n\nfunction selection() {\n return new Selection([[document.documentElement]], root);\n}\n\nSelection.prototype = selection.prototype = {\n constructor: Selection,\n select: selection_select,\n selectAll: selection_selectAll,\n filter: selection_filter,\n data: selection_data,\n enter: selection_enter,\n exit: selection_exit,\n merge: selection_merge,\n order: selection_order,\n sort: selection_sort,\n call: selection_call,\n nodes: selection_nodes,\n node: selection_node,\n size: selection_size,\n empty: selection_empty,\n each: selection_each,\n attr: selection_attr,\n style: selection_style,\n property: selection_property,\n classed: selection_classed,\n text: selection_text,\n html: selection_html,\n raise: selection_raise,\n lower: selection_lower,\n append: selection_append,\n insert: selection_insert,\n remove: selection_remove,\n clone: selection_clone,\n datum: selection_datum,\n on: selection_on,\n dispatch: selection_dispatch\n};\n\nexport default selection;\n","import {Selection} from \"./index\";\nimport selector from \"../selector\";\n\nexport default function(select) {\n if (typeof select !== \"function\") select = selector(select);\n\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = new Array(n), node, subnode, i = 0; i < n; ++i) {\n if ((node = group[i]) && (subnode = select.call(node, node.__data__, i, group))) {\n if (\"__data__\" in node) subnode.__data__ = node.__data__;\n subgroup[i] = subnode;\n }\n }\n }\n\n return new Selection(subgroups, this._parents);\n}\n","import {Selection} from \"./index\";\nimport selectorAll from \"../selectorAll\";\n\nexport default function(select) {\n if (typeof select !== \"function\") select = selectorAll(select);\n\n for (var groups = this._groups, m = groups.length, subgroups = [], parents = [], j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n subgroups.push(select.call(node, node.__data__, i, group));\n parents.push(node);\n }\n }\n }\n\n return new Selection(subgroups, parents);\n}\n","import {Selection} from \"./index\";\nimport matcher from \"../matcher\";\n\nexport default function(match) {\n if (typeof match !== \"function\") match = matcher(match);\n\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = [], node, i = 0; i < n; ++i) {\n if ((node = group[i]) && match.call(node, node.__data__, i, group)) {\n subgroup.push(node);\n }\n }\n }\n\n return new Selection(subgroups, this._parents);\n}\n","import sparse from \"./sparse\";\nimport {Selection} from \"./index\";\n\nexport default function() {\n return new Selection(this._exit || this._groups.map(sparse), this._parents);\n}\n","import {Selection} from \"./index\";\n\nexport default function(selection) {\n\n for (var groups0 = this._groups, groups1 = selection._groups, m0 = groups0.length, m1 = groups1.length, m = Math.min(m0, m1), merges = new Array(m0), j = 0; j < m; ++j) {\n for (var group0 = groups0[j], group1 = groups1[j], n = group0.length, merge = merges[j] = new Array(n), node, i = 0; i < n; ++i) {\n if (node = group0[i] || group1[i]) {\n merge[i] = node;\n }\n }\n }\n\n for (; j < m0; ++j) {\n merges[j] = groups0[j];\n }\n\n return new Selection(merges, this._parents);\n}\n","export default function() {\n\n for (var groups = this._groups, j = -1, m = groups.length; ++j < m;) {\n for (var group = groups[j], i = group.length - 1, next = group[i], node; --i >= 0;) {\n if (node = group[i]) {\n if (next && next !== node.nextSibling) next.parentNode.insertBefore(node, next);\n next = node;\n }\n }\n }\n\n return this;\n}\n","export default function() {\n var callback = arguments[0];\n arguments[0] = this;\n callback.apply(null, arguments);\n return this;\n}\n","export default function() {\n var nodes = new Array(this.size()), i = -1;\n this.each(function() { nodes[++i] = this; });\n return nodes;\n}\n","export default function() {\n\n for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) {\n for (var group = groups[j], i = 0, n = group.length; i < n; ++i) {\n var node = group[i];\n if (node) return node;\n }\n }\n\n return null;\n}\n","export default function() {\n var size = 0;\n this.each(function() { ++size; });\n return size;\n}\n","export default function() {\n return !this.node();\n}\n","export default function(callback) {\n\n for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) {\n for (var group = groups[j], i = 0, n = group.length, node; i < n; ++i) {\n if (node = group[i]) callback.call(node, node.__data__, i, group);\n }\n }\n\n return this;\n}\n","function propertyRemove(name) {\n return function() {\n delete this[name];\n };\n}\n\nfunction propertyConstant(name, value) {\n return function() {\n this[name] = value;\n };\n}\n\nfunction propertyFunction(name, value) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) delete this[name];\n else this[name] = v;\n };\n}\n\nexport default function(name, value) {\n return arguments.length > 1\n ? this.each((value == null\n ? propertyRemove : typeof value === \"function\"\n ? propertyFunction\n : propertyConstant)(name, value))\n : this.node()[name];\n}\n","import creator from \"../creator\";\n\nexport default function(name) {\n var create = typeof name === \"function\" ? name : creator(name);\n return this.select(function() {\n return this.appendChild(create.apply(this, arguments));\n });\n}\n","export default function(value) {\n return arguments.length\n ? this.property(\"__data__\", value)\n : this.node().__data__;\n}\n","import {Selection, root} from \"./selection/index\";\n\nexport default function(selector) {\n return typeof selector === \"string\"\n ? new Selection([[document.querySelector(selector)]], [document.documentElement])\n : new Selection([[selector]], root);\n}\n","import creator from \"./creator\";\nimport select from \"./select\";\n\nexport default function(name) {\n return select(creator(name).call(document.documentElement));\n}\n","var nextId = 0;\n\nexport default function local() {\n return new Local;\n}\n\nfunction Local() {\n this._ = \"@\" + (++nextId).toString(36);\n}\n\nLocal.prototype = local.prototype = {\n constructor: Local,\n get: function(node) {\n var id = this._;\n while (!(id in node)) if (!(node = node.parentNode)) return;\n return node[id];\n },\n set: function(node, value) {\n return node[this._] = value;\n },\n remove: function(node) {\n return this._ in node && delete node[this._];\n },\n toString: function() {\n return this._;\n }\n};\n","import {event} from \"./selection/on\";\n\nexport default function() {\n var current = event, source;\n while (source = current.sourceEvent) current = source;\n return current;\n}\n","export default function(node, event) {\n var svg = node.ownerSVGElement || node;\n\n if (svg.createSVGPoint) {\n var point = svg.createSVGPoint();\n point.x = event.clientX, point.y = event.clientY;\n point = point.matrixTransform(node.getScreenCTM().inverse());\n return [point.x, point.y];\n }\n\n var rect = node.getBoundingClientRect();\n return [event.clientX - rect.left - node.clientLeft, event.clientY - rect.top - node.clientTop];\n}\n","import sourceEvent from \"./sourceEvent\";\nimport point from \"./point\";\n\nexport default function(node) {\n var event = sourceEvent();\n if (event.changedTouches) event = event.changedTouches[0];\n return point(node, event);\n}\n","import {Selection, root} from \"./selection/index\";\n\nexport default function(selector) {\n return typeof selector === \"string\"\n ? new Selection([document.querySelectorAll(selector)], [document.documentElement])\n : new Selection([selector == null ? [] : selector], root);\n}\n","import sourceEvent from \"./sourceEvent\";\nimport point from \"./point\";\n\nexport default function(node, touches, identifier) {\n if (arguments.length < 3) identifier = touches, touches = sourceEvent().changedTouches;\n\n for (var i = 0, n = touches ? touches.length : 0, touch; i < n; ++i) {\n if ((touch = touches[i]).identifier === identifier) {\n return point(node, touch);\n }\n }\n\n return null;\n}\n","import sourceEvent from \"./sourceEvent\";\nimport point from \"./point\";\n\nexport default function(node, touches) {\n if (touches == null) touches = sourceEvent().touches;\n\n for (var i = 0, n = touches ? touches.length : 0, points = new Array(n); i < n; ++i) {\n points[i] = point(node, touches[i]);\n }\n\n return points;\n}\n","import {event} from \"d3-selection\";\n\nexport function nopropagation() {\n event.stopImmediatePropagation();\n}\n\nexport default function() {\n event.preventDefault();\n event.stopImmediatePropagation();\n}\n","import {select} from \"d3-selection\";\nimport noevent from \"./noevent\";\n\nexport default function(view) {\n var root = view.document.documentElement,\n selection = select(view).on(\"dragstart.drag\", noevent, true);\n if (\"onselectstart\" in root) {\n selection.on(\"selectstart.drag\", noevent, true);\n } else {\n root.__noselect = root.style.MozUserSelect;\n root.style.MozUserSelect = \"none\";\n }\n}\n\nexport function yesdrag(view, noclick) {\n var root = view.document.documentElement,\n selection = select(view).on(\"dragstart.drag\", null);\n if (noclick) {\n selection.on(\"click.drag\", noevent, true);\n setTimeout(function() { selection.on(\"click.drag\", null); }, 0);\n }\n if (\"onselectstart\" in root) {\n selection.on(\"selectstart.drag\", null);\n } else {\n root.style.MozUserSelect = root.__noselect;\n delete root.__noselect;\n }\n}\n","export default function(x) {\n return function() {\n return x;\n };\n}\n","export default function DragEvent(target, type, subject, id, active, x, y, dx, dy, dispatch) {\n this.target = target;\n this.type = type;\n this.subject = subject;\n this.identifier = id;\n this.active = active;\n this.x = x;\n this.y = y;\n this.dx = dx;\n this.dy = dy;\n this._ = dispatch;\n}\n\nDragEvent.prototype.on = function() {\n var value = this._.on.apply(this._, arguments);\n return value === this._ ? this : value;\n};\n","import {dispatch} from \"d3-dispatch\";\nimport {event, customEvent, select, mouse, touch} from \"d3-selection\";\nimport nodrag, {yesdrag} from \"./nodrag\";\nimport noevent, {nopropagation} from \"./noevent\";\nimport constant from \"./constant\";\nimport DragEvent from \"./event\";\n\n// Ignore right-click, since that should open the context menu.\nfunction defaultFilter() {\n return !event.button;\n}\n\nfunction defaultContainer() {\n return this.parentNode;\n}\n\nfunction defaultSubject(d) {\n return d == null ? {x: event.x, y: event.y} : d;\n}\n\nfunction defaultTouchable() {\n return \"ontouchstart\" in this;\n}\n\nexport default function() {\n var filter = defaultFilter,\n container = defaultContainer,\n subject = defaultSubject,\n touchable = defaultTouchable,\n gestures = {},\n listeners = dispatch(\"start\", \"drag\", \"end\"),\n active = 0,\n mousedownx,\n mousedowny,\n mousemoving,\n touchending,\n clickDistance2 = 0;\n\n function drag(selection) {\n selection\n .on(\"mousedown.drag\", mousedowned)\n .filter(touchable)\n .on(\"touchstart.drag\", touchstarted)\n .on(\"touchmove.drag\", touchmoved)\n .on(\"touchend.drag touchcancel.drag\", touchended)\n .style(\"touch-action\", \"none\")\n .style(\"-webkit-tap-highlight-color\", \"rgba(0,0,0,0)\");\n }\n\n function mousedowned() {\n if (touchending || !filter.apply(this, arguments)) return;\n var gesture = beforestart(\"mouse\", container.apply(this, arguments), mouse, this, arguments);\n if (!gesture) return;\n select(event.view).on(\"mousemove.drag\", mousemoved, true).on(\"mouseup.drag\", mouseupped, true);\n nodrag(event.view);\n nopropagation();\n mousemoving = false;\n mousedownx = event.clientX;\n mousedowny = event.clientY;\n gesture(\"start\");\n }\n\n function mousemoved() {\n noevent();\n if (!mousemoving) {\n var dx = event.clientX - mousedownx, dy = event.clientY - mousedowny;\n mousemoving = dx * dx + dy * dy > clickDistance2;\n }\n gestures.mouse(\"drag\");\n }\n\n function mouseupped() {\n select(event.view).on(\"mousemove.drag mouseup.drag\", null);\n yesdrag(event.view, mousemoving);\n noevent();\n gestures.mouse(\"end\");\n }\n\n function touchstarted() {\n if (!filter.apply(this, arguments)) return;\n var touches = event.changedTouches,\n c = container.apply(this, arguments),\n n = touches.length, i, gesture;\n\n for (i = 0; i < n; ++i) {\n if (gesture = beforestart(touches[i].identifier, c, touch, this, arguments)) {\n nopropagation();\n gesture(\"start\");\n }\n }\n }\n\n function touchmoved() {\n var touches = event.changedTouches,\n n = touches.length, i, gesture;\n\n for (i = 0; i < n; ++i) {\n if (gesture = gestures[touches[i].identifier]) {\n noevent();\n gesture(\"drag\");\n }\n }\n }\n\n function touchended() {\n var touches = event.changedTouches,\n n = touches.length, i, gesture;\n\n if (touchending) clearTimeout(touchending);\n touchending = setTimeout(function() { touchending = null; }, 500); // Ghost clicks are delayed!\n for (i = 0; i < n; ++i) {\n if (gesture = gestures[touches[i].identifier]) {\n nopropagation();\n gesture(\"end\");\n }\n }\n }\n\n function beforestart(id, container, point, that, args) {\n var p = point(container, id), s, dx, dy,\n sublisteners = listeners.copy();\n\n if (!customEvent(new DragEvent(drag, \"beforestart\", s, id, active, p[0], p[1], 0, 0, sublisteners), function() {\n if ((event.subject = s = subject.apply(that, args)) == null) return false;\n dx = s.x - p[0] || 0;\n dy = s.y - p[1] || 0;\n return true;\n })) return;\n\n return function gesture(type) {\n var p0 = p, n;\n switch (type) {\n case \"start\": gestures[id] = gesture, n = active++; break;\n case \"end\": delete gestures[id], --active; // nobreak\n case \"drag\": p = point(container, id), n = active; break;\n }\n customEvent(new DragEvent(drag, type, s, id, n, p[0] + dx, p[1] + dy, p[0] - p0[0], p[1] - p0[1], sublisteners), sublisteners.apply, sublisteners, [type, that, args]);\n };\n }\n\n drag.filter = function(_) {\n return arguments.length ? (filter = typeof _ === \"function\" ? _ : constant(!!_), drag) : filter;\n };\n\n drag.container = function(_) {\n return arguments.length ? (container = typeof _ === \"function\" ? _ : constant(_), drag) : container;\n };\n\n drag.subject = function(_) {\n return arguments.length ? (subject = typeof _ === \"function\" ? _ : constant(_), drag) : subject;\n };\n\n drag.touchable = function(_) {\n return arguments.length ? (touchable = typeof _ === \"function\" ? _ : constant(!!_), drag) : touchable;\n };\n\n drag.on = function() {\n var value = listeners.on.apply(listeners, arguments);\n return value === listeners ? drag : value;\n };\n\n drag.clickDistance = function(_) {\n return arguments.length ? (clickDistance2 = (_ = +_) * _, drag) : Math.sqrt(clickDistance2);\n };\n\n return drag;\n}\n","export default function(constructor, factory, prototype) {\n constructor.prototype = factory.prototype = prototype;\n prototype.constructor = constructor;\n}\n\nexport function extend(parent, definition) {\n var prototype = Object.create(parent.prototype);\n for (var key in definition) prototype[key] = definition[key];\n return prototype;\n}\n","import define, {extend} from \"./define\";\n\nexport function Color() {}\n\nexport var darker = 0.7;\nexport var brighter = 1 / darker;\n\nvar reI = \"\\\\s*([+-]?\\\\d+)\\\\s*\",\n reN = \"\\\\s*([+-]?\\\\d*\\\\.?\\\\d+(?:[eE][+-]?\\\\d+)?)\\\\s*\",\n reP = \"\\\\s*([+-]?\\\\d*\\\\.?\\\\d+(?:[eE][+-]?\\\\d+)?)%\\\\s*\",\n reHex3 = /^#([0-9a-f]{3})$/,\n reHex6 = /^#([0-9a-f]{6})$/,\n reRgbInteger = new RegExp(\"^rgb\\\\(\" + [reI, reI, reI] + \"\\\\)$\"),\n reRgbPercent = new RegExp(\"^rgb\\\\(\" + [reP, reP, reP] + \"\\\\)$\"),\n reRgbaInteger = new RegExp(\"^rgba\\\\(\" + [reI, reI, reI, reN] + \"\\\\)$\"),\n reRgbaPercent = new RegExp(\"^rgba\\\\(\" + [reP, reP, reP, reN] + \"\\\\)$\"),\n reHslPercent = new RegExp(\"^hsl\\\\(\" + [reN, reP, reP] + \"\\\\)$\"),\n reHslaPercent = new RegExp(\"^hsla\\\\(\" + [reN, reP, reP, reN] + \"\\\\)$\");\n\nvar named = {\n aliceblue: 0xf0f8ff,\n antiquewhite: 0xfaebd7,\n aqua: 0x00ffff,\n aquamarine: 0x7fffd4,\n azure: 0xf0ffff,\n beige: 0xf5f5dc,\n bisque: 0xffe4c4,\n black: 0x000000,\n blanchedalmond: 0xffebcd,\n blue: 0x0000ff,\n blueviolet: 0x8a2be2,\n brown: 0xa52a2a,\n burlywood: 0xdeb887,\n cadetblue: 0x5f9ea0,\n chartreuse: 0x7fff00,\n chocolate: 0xd2691e,\n coral: 0xff7f50,\n cornflowerblue: 0x6495ed,\n cornsilk: 0xfff8dc,\n crimson: 0xdc143c,\n cyan: 0x00ffff,\n darkblue: 0x00008b,\n darkcyan: 0x008b8b,\n darkgoldenrod: 0xb8860b,\n darkgray: 0xa9a9a9,\n darkgreen: 0x006400,\n darkgrey: 0xa9a9a9,\n darkkhaki: 0xbdb76b,\n darkmagenta: 0x8b008b,\n darkolivegreen: 0x556b2f,\n darkorange: 0xff8c00,\n darkorchid: 0x9932cc,\n darkred: 0x8b0000,\n darksalmon: 0xe9967a,\n darkseagreen: 0x8fbc8f,\n darkslateblue: 0x483d8b,\n darkslategray: 0x2f4f4f,\n darkslategrey: 0x2f4f4f,\n darkturquoise: 0x00ced1,\n darkviolet: 0x9400d3,\n deeppink: 0xff1493,\n deepskyblue: 0x00bfff,\n dimgray: 0x696969,\n dimgrey: 0x696969,\n dodgerblue: 0x1e90ff,\n firebrick: 0xb22222,\n floralwhite: 0xfffaf0,\n forestgreen: 0x228b22,\n fuchsia: 0xff00ff,\n gainsboro: 0xdcdcdc,\n ghostwhite: 0xf8f8ff,\n gold: 0xffd700,\n goldenrod: 0xdaa520,\n gray: 0x808080,\n green: 0x008000,\n greenyellow: 0xadff2f,\n grey: 0x808080,\n honeydew: 0xf0fff0,\n hotpink: 0xff69b4,\n indianred: 0xcd5c5c,\n indigo: 0x4b0082,\n ivory: 0xfffff0,\n khaki: 0xf0e68c,\n lavender: 0xe6e6fa,\n lavenderblush: 0xfff0f5,\n lawngreen: 0x7cfc00,\n lemonchiffon: 0xfffacd,\n lightblue: 0xadd8e6,\n lightcoral: 0xf08080,\n lightcyan: 0xe0ffff,\n lightgoldenrodyellow: 0xfafad2,\n lightgray: 0xd3d3d3,\n lightgreen: 0x90ee90,\n lightgrey: 0xd3d3d3,\n lightpink: 0xffb6c1,\n lightsalmon: 0xffa07a,\n lightseagreen: 0x20b2aa,\n lightskyblue: 0x87cefa,\n lightslategray: 0x778899,\n lightslategrey: 0x778899,\n lightsteelblue: 0xb0c4de,\n lightyellow: 0xffffe0,\n lime: 0x00ff00,\n limegreen: 0x32cd32,\n linen: 0xfaf0e6,\n magenta: 0xff00ff,\n maroon: 0x800000,\n mediumaquamarine: 0x66cdaa,\n mediumblue: 0x0000cd,\n mediumorchid: 0xba55d3,\n mediumpurple: 0x9370db,\n mediumseagreen: 0x3cb371,\n mediumslateblue: 0x7b68ee,\n mediumspringgreen: 0x00fa9a,\n mediumturquoise: 0x48d1cc,\n mediumvioletred: 0xc71585,\n midnightblue: 0x191970,\n mintcream: 0xf5fffa,\n mistyrose: 0xffe4e1,\n moccasin: 0xffe4b5,\n navajowhite: 0xffdead,\n navy: 0x000080,\n oldlace: 0xfdf5e6,\n olive: 0x808000,\n olivedrab: 0x6b8e23,\n orange: 0xffa500,\n orangered: 0xff4500,\n orchid: 0xda70d6,\n palegoldenrod: 0xeee8aa,\n palegreen: 0x98fb98,\n paleturquoise: 0xafeeee,\n palevioletred: 0xdb7093,\n papayawhip: 0xffefd5,\n peachpuff: 0xffdab9,\n peru: 0xcd853f,\n pink: 0xffc0cb,\n plum: 0xdda0dd,\n powderblue: 0xb0e0e6,\n purple: 0x800080,\n rebeccapurple: 0x663399,\n red: 0xff0000,\n rosybrown: 0xbc8f8f,\n royalblue: 0x4169e1,\n saddlebrown: 0x8b4513,\n salmon: 0xfa8072,\n sandybrown: 0xf4a460,\n seagreen: 0x2e8b57,\n seashell: 0xfff5ee,\n sienna: 0xa0522d,\n silver: 0xc0c0c0,\n skyblue: 0x87ceeb,\n slateblue: 0x6a5acd,\n slategray: 0x708090,\n slategrey: 0x708090,\n snow: 0xfffafa,\n springgreen: 0x00ff7f,\n steelblue: 0x4682b4,\n tan: 0xd2b48c,\n teal: 0x008080,\n thistle: 0xd8bfd8,\n tomato: 0xff6347,\n turquoise: 0x40e0d0,\n violet: 0xee82ee,\n wheat: 0xf5deb3,\n white: 0xffffff,\n whitesmoke: 0xf5f5f5,\n yellow: 0xffff00,\n yellowgreen: 0x9acd32\n};\n\ndefine(Color, color, {\n displayable: function() {\n return this.rgb().displayable();\n },\n hex: function() {\n return this.rgb().hex();\n },\n toString: function() {\n return this.rgb() + \"\";\n }\n});\n\nexport default function color(format) {\n var m;\n format = (format + \"\").trim().toLowerCase();\n return (m = reHex3.exec(format)) ? (m = parseInt(m[1], 16), new Rgb((m >> 8 & 0xf) | (m >> 4 & 0x0f0), (m >> 4 & 0xf) | (m & 0xf0), ((m & 0xf) << 4) | (m & 0xf), 1)) // #f00\n : (m = reHex6.exec(format)) ? rgbn(parseInt(m[1], 16)) // #ff0000\n : (m = reRgbInteger.exec(format)) ? new Rgb(m[1], m[2], m[3], 1) // rgb(255, 0, 0)\n : (m = reRgbPercent.exec(format)) ? new Rgb(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, 1) // rgb(100%, 0%, 0%)\n : (m = reRgbaInteger.exec(format)) ? rgba(m[1], m[2], m[3], m[4]) // rgba(255, 0, 0, 1)\n : (m = reRgbaPercent.exec(format)) ? rgba(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, m[4]) // rgb(100%, 0%, 0%, 1)\n : (m = reHslPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, 1) // hsl(120, 50%, 50%)\n : (m = reHslaPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, m[4]) // hsla(120, 50%, 50%, 1)\n : named.hasOwnProperty(format) ? rgbn(named[format])\n : format === \"transparent\" ? new Rgb(NaN, NaN, NaN, 0)\n : null;\n}\n\nfunction rgbn(n) {\n return new Rgb(n >> 16 & 0xff, n >> 8 & 0xff, n & 0xff, 1);\n}\n\nfunction rgba(r, g, b, a) {\n if (a <= 0) r = g = b = NaN;\n return new Rgb(r, g, b, a);\n}\n\nexport function rgbConvert(o) {\n if (!(o instanceof Color)) o = color(o);\n if (!o) return new Rgb;\n o = o.rgb();\n return new Rgb(o.r, o.g, o.b, o.opacity);\n}\n\nexport function rgb(r, g, b, opacity) {\n return arguments.length === 1 ? rgbConvert(r) : new Rgb(r, g, b, opacity == null ? 1 : opacity);\n}\n\nexport function Rgb(r, g, b, opacity) {\n this.r = +r;\n this.g = +g;\n this.b = +b;\n this.opacity = +opacity;\n}\n\ndefine(Rgb, rgb, extend(Color, {\n brighter: function(k) {\n k = k == null ? brighter : Math.pow(brighter, k);\n return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);\n },\n darker: function(k) {\n k = k == null ? darker : Math.pow(darker, k);\n return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);\n },\n rgb: function() {\n return this;\n },\n displayable: function() {\n return (0 <= this.r && this.r <= 255)\n && (0 <= this.g && this.g <= 255)\n && (0 <= this.b && this.b <= 255)\n && (0 <= this.opacity && this.opacity <= 1);\n },\n hex: function() {\n return \"#\" + hex(this.r) + hex(this.g) + hex(this.b);\n },\n toString: function() {\n var a = this.opacity; a = isNaN(a) ? 1 : Math.max(0, Math.min(1, a));\n return (a === 1 ? \"rgb(\" : \"rgba(\")\n + Math.max(0, Math.min(255, Math.round(this.r) || 0)) + \", \"\n + Math.max(0, Math.min(255, Math.round(this.g) || 0)) + \", \"\n + Math.max(0, Math.min(255, Math.round(this.b) || 0))\n + (a === 1 ? \")\" : \", \" + a + \")\");\n }\n}));\n\nfunction hex(value) {\n value = Math.max(0, Math.min(255, Math.round(value) || 0));\n return (value < 16 ? \"0\" : \"\") + value.toString(16);\n}\n\nfunction hsla(h, s, l, a) {\n if (a <= 0) h = s = l = NaN;\n else if (l <= 0 || l >= 1) h = s = NaN;\n else if (s <= 0) h = NaN;\n return new Hsl(h, s, l, a);\n}\n\nexport function hslConvert(o) {\n if (o instanceof Hsl) return new Hsl(o.h, o.s, o.l, o.opacity);\n if (!(o instanceof Color)) o = color(o);\n if (!o) return new Hsl;\n if (o instanceof Hsl) return o;\n o = o.rgb();\n var r = o.r / 255,\n g = o.g / 255,\n b = o.b / 255,\n min = Math.min(r, g, b),\n max = Math.max(r, g, b),\n h = NaN,\n s = max - min,\n l = (max + min) / 2;\n if (s) {\n if (r === max) h = (g - b) / s + (g < b) * 6;\n else if (g === max) h = (b - r) / s + 2;\n else h = (r - g) / s + 4;\n s /= l < 0.5 ? max + min : 2 - max - min;\n h *= 60;\n } else {\n s = l > 0 && l < 1 ? 0 : h;\n }\n return new Hsl(h, s, l, o.opacity);\n}\n\nexport function hsl(h, s, l, opacity) {\n return arguments.length === 1 ? hslConvert(h) : new Hsl(h, s, l, opacity == null ? 1 : opacity);\n}\n\nfunction Hsl(h, s, l, opacity) {\n this.h = +h;\n this.s = +s;\n this.l = +l;\n this.opacity = +opacity;\n}\n\ndefine(Hsl, hsl, extend(Color, {\n brighter: function(k) {\n k = k == null ? brighter : Math.pow(brighter, k);\n return new Hsl(this.h, this.s, this.l * k, this.opacity);\n },\n darker: function(k) {\n k = k == null ? darker : Math.pow(darker, k);\n return new Hsl(this.h, this.s, this.l * k, this.opacity);\n },\n rgb: function() {\n var h = this.h % 360 + (this.h < 0) * 360,\n s = isNaN(h) || isNaN(this.s) ? 0 : this.s,\n l = this.l,\n m2 = l + (l < 0.5 ? l : 1 - l) * s,\n m1 = 2 * l - m2;\n return new Rgb(\n hsl2rgb(h >= 240 ? h - 240 : h + 120, m1, m2),\n hsl2rgb(h, m1, m2),\n hsl2rgb(h < 120 ? h + 240 : h - 120, m1, m2),\n this.opacity\n );\n },\n displayable: function() {\n return (0 <= this.s && this.s <= 1 || isNaN(this.s))\n && (0 <= this.l && this.l <= 1)\n && (0 <= this.opacity && this.opacity <= 1);\n }\n}));\n\n/* From FvD 13.37, CSS Color Module Level 3 */\nfunction hsl2rgb(h, m1, m2) {\n return (h < 60 ? m1 + (m2 - m1) * h / 60\n : h < 180 ? m2\n : h < 240 ? m1 + (m2 - m1) * (240 - h) / 60\n : m1) * 255;\n}\n","export var deg2rad = Math.PI / 180;\nexport var rad2deg = 180 / Math.PI;\n","import define, {extend} from \"./define\";\nimport {Color, rgbConvert, Rgb} from \"./color\";\nimport {deg2rad, rad2deg} from \"./math\";\n\n// https://beta.observablehq.com/@mbostock/lab-and-rgb\nvar K = 18,\n Xn = 0.96422,\n Yn = 1,\n Zn = 0.82521,\n t0 = 4 / 29,\n t1 = 6 / 29,\n t2 = 3 * t1 * t1,\n t3 = t1 * t1 * t1;\n\nfunction labConvert(o) {\n if (o instanceof Lab) return new Lab(o.l, o.a, o.b, o.opacity);\n if (o instanceof Hcl) {\n if (isNaN(o.h)) return new Lab(o.l, 0, 0, o.opacity);\n var h = o.h * deg2rad;\n return new Lab(o.l, Math.cos(h) * o.c, Math.sin(h) * o.c, o.opacity);\n }\n if (!(o instanceof Rgb)) o = rgbConvert(o);\n var r = rgb2lrgb(o.r),\n g = rgb2lrgb(o.g),\n b = rgb2lrgb(o.b),\n y = xyz2lab((0.2225045 * r + 0.7168786 * g + 0.0606169 * b) / Yn), x, z;\n if (r === g && g === b) x = z = y; else {\n x = xyz2lab((0.4360747 * r + 0.3850649 * g + 0.1430804 * b) / Xn);\n z = xyz2lab((0.0139322 * r + 0.0971045 * g + 0.7141733 * b) / Zn);\n }\n return new Lab(116 * y - 16, 500 * (x - y), 200 * (y - z), o.opacity);\n}\n\nexport function gray(l, opacity) {\n return new Lab(l, 0, 0, opacity == null ? 1 : opacity);\n}\n\nexport default function lab(l, a, b, opacity) {\n return arguments.length === 1 ? labConvert(l) : new Lab(l, a, b, opacity == null ? 1 : opacity);\n}\n\nexport function Lab(l, a, b, opacity) {\n this.l = +l;\n this.a = +a;\n this.b = +b;\n this.opacity = +opacity;\n}\n\ndefine(Lab, lab, extend(Color, {\n brighter: function(k) {\n return new Lab(this.l + K * (k == null ? 1 : k), this.a, this.b, this.opacity);\n },\n darker: function(k) {\n return new Lab(this.l - K * (k == null ? 1 : k), this.a, this.b, this.opacity);\n },\n rgb: function() {\n var y = (this.l + 16) / 116,\n x = isNaN(this.a) ? y : y + this.a / 500,\n z = isNaN(this.b) ? y : y - this.b / 200;\n x = Xn * lab2xyz(x);\n y = Yn * lab2xyz(y);\n z = Zn * lab2xyz(z);\n return new Rgb(\n lrgb2rgb( 3.1338561 * x - 1.6168667 * y - 0.4906146 * z),\n lrgb2rgb(-0.9787684 * x + 1.9161415 * y + 0.0334540 * z),\n lrgb2rgb( 0.0719453 * x - 0.2289914 * y + 1.4052427 * z),\n this.opacity\n );\n }\n}));\n\nfunction xyz2lab(t) {\n return t > t3 ? Math.pow(t, 1 / 3) : t / t2 + t0;\n}\n\nfunction lab2xyz(t) {\n return t > t1 ? t * t * t : t2 * (t - t0);\n}\n\nfunction lrgb2rgb(x) {\n return 255 * (x <= 0.0031308 ? 12.92 * x : 1.055 * Math.pow(x, 1 / 2.4) - 0.055);\n}\n\nfunction rgb2lrgb(x) {\n return (x /= 255) <= 0.04045 ? x / 12.92 : Math.pow((x + 0.055) / 1.055, 2.4);\n}\n\nfunction hclConvert(o) {\n if (o instanceof Hcl) return new Hcl(o.h, o.c, o.l, o.opacity);\n if (!(o instanceof Lab)) o = labConvert(o);\n if (o.a === 0 && o.b === 0) return new Hcl(NaN, 0, o.l, o.opacity);\n var h = Math.atan2(o.b, o.a) * rad2deg;\n return new Hcl(h < 0 ? h + 360 : h, Math.sqrt(o.a * o.a + o.b * o.b), o.l, o.opacity);\n}\n\nexport function lch(l, c, h, opacity) {\n return arguments.length === 1 ? hclConvert(l) : new Hcl(h, c, l, opacity == null ? 1 : opacity);\n}\n\nexport function hcl(h, c, l, opacity) {\n return arguments.length === 1 ? hclConvert(h) : new Hcl(h, c, l, opacity == null ? 1 : opacity);\n}\n\nexport function Hcl(h, c, l, opacity) {\n this.h = +h;\n this.c = +c;\n this.l = +l;\n this.opacity = +opacity;\n}\n\ndefine(Hcl, hcl, extend(Color, {\n brighter: function(k) {\n return new Hcl(this.h, this.c, this.l + K * (k == null ? 1 : k), this.opacity);\n },\n darker: function(k) {\n return new Hcl(this.h, this.c, this.l - K * (k == null ? 1 : k), this.opacity);\n },\n rgb: function() {\n return labConvert(this).rgb();\n }\n}));\n","import define, {extend} from \"./define\";\nimport {Color, rgbConvert, Rgb, darker, brighter} from \"./color\";\nimport {deg2rad, rad2deg} from \"./math\";\n\nvar A = -0.14861,\n B = +1.78277,\n C = -0.29227,\n D = -0.90649,\n E = +1.97294,\n ED = E * D,\n EB = E * B,\n BC_DA = B * C - D * A;\n\nfunction cubehelixConvert(o) {\n if (o instanceof Cubehelix) return new Cubehelix(o.h, o.s, o.l, o.opacity);\n if (!(o instanceof Rgb)) o = rgbConvert(o);\n var r = o.r / 255,\n g = o.g / 255,\n b = o.b / 255,\n l = (BC_DA * b + ED * r - EB * g) / (BC_DA + ED - EB),\n bl = b - l,\n k = (E * (g - l) - C * bl) / D,\n s = Math.sqrt(k * k + bl * bl) / (E * l * (1 - l)), // NaN if l=0 or l=1\n h = s ? Math.atan2(k, bl) * rad2deg - 120 : NaN;\n return new Cubehelix(h < 0 ? h + 360 : h, s, l, o.opacity);\n}\n\nexport default function cubehelix(h, s, l, opacity) {\n return arguments.length === 1 ? cubehelixConvert(h) : new Cubehelix(h, s, l, opacity == null ? 1 : opacity);\n}\n\nexport function Cubehelix(h, s, l, opacity) {\n this.h = +h;\n this.s = +s;\n this.l = +l;\n this.opacity = +opacity;\n}\n\ndefine(Cubehelix, cubehelix, extend(Color, {\n brighter: function(k) {\n k = k == null ? brighter : Math.pow(brighter, k);\n return new Cubehelix(this.h, this.s, this.l * k, this.opacity);\n },\n darker: function(k) {\n k = k == null ? darker : Math.pow(darker, k);\n return new Cubehelix(this.h, this.s, this.l * k, this.opacity);\n },\n rgb: function() {\n var h = isNaN(this.h) ? 0 : (this.h + 120) * deg2rad,\n l = +this.l,\n a = isNaN(this.s) ? 0 : this.s * l * (1 - l),\n cosh = Math.cos(h),\n sinh = Math.sin(h);\n return new Rgb(\n 255 * (l + a * (A * cosh + B * sinh)),\n 255 * (l + a * (C * cosh + D * sinh)),\n 255 * (l + a * (E * cosh)),\n this.opacity\n );\n }\n}));\n","export function basis(t1, v0, v1, v2, v3) {\n var t2 = t1 * t1, t3 = t2 * t1;\n return ((1 - 3 * t1 + 3 * t2 - t3) * v0\n + (4 - 6 * t2 + 3 * t3) * v1\n + (1 + 3 * t1 + 3 * t2 - 3 * t3) * v2\n + t3 * v3) / 6;\n}\n\nexport default function(values) {\n var n = values.length - 1;\n return function(t) {\n var i = t <= 0 ? (t = 0) : t >= 1 ? (t = 1, n - 1) : Math.floor(t * n),\n v1 = values[i],\n v2 = values[i + 1],\n v0 = i > 0 ? values[i - 1] : 2 * v1 - v2,\n v3 = i < n - 1 ? values[i + 2] : 2 * v2 - v1;\n return basis((t - i / n) * n, v0, v1, v2, v3);\n };\n}\n","import {basis} from \"./basis\";\n\nexport default function(values) {\n var n = values.length;\n return function(t) {\n var i = Math.floor(((t %= 1) < 0 ? ++t : t) * n),\n v0 = values[(i + n - 1) % n],\n v1 = values[i % n],\n v2 = values[(i + 1) % n],\n v3 = values[(i + 2) % n];\n return basis((t - i / n) * n, v0, v1, v2, v3);\n };\n}\n","export default function(x) {\n return function() {\n return x;\n };\n}\n","import constant from \"./constant\";\n\nfunction linear(a, d) {\n return function(t) {\n return a + t * d;\n };\n}\n\nfunction exponential(a, b, y) {\n return a = Math.pow(a, y), b = Math.pow(b, y) - a, y = 1 / y, function(t) {\n return Math.pow(a + t * b, y);\n };\n}\n\nexport function hue(a, b) {\n var d = b - a;\n return d ? linear(a, d > 180 || d < -180 ? d - 360 * Math.round(d / 360) : d) : constant(isNaN(a) ? b : a);\n}\n\nexport function gamma(y) {\n return (y = +y) === 1 ? nogamma : function(a, b) {\n return b - a ? exponential(a, b, y) : constant(isNaN(a) ? b : a);\n };\n}\n\nexport default function nogamma(a, b) {\n var d = b - a;\n return d ? linear(a, d) : constant(isNaN(a) ? b : a);\n}\n","import {rgb as colorRgb} from \"d3-color\";\nimport basis from \"./basis\";\nimport basisClosed from \"./basisClosed\";\nimport nogamma, {gamma} from \"./color\";\n\nexport default (function rgbGamma(y) {\n var color = gamma(y);\n\n function rgb(start, end) {\n var r = color((start = colorRgb(start)).r, (end = colorRgb(end)).r),\n g = color(start.g, end.g),\n b = color(start.b, end.b),\n opacity = nogamma(start.opacity, end.opacity);\n return function(t) {\n start.r = r(t);\n start.g = g(t);\n start.b = b(t);\n start.opacity = opacity(t);\n return start + \"\";\n };\n }\n\n rgb.gamma = rgbGamma;\n\n return rgb;\n})(1);\n\nfunction rgbSpline(spline) {\n return function(colors) {\n var n = colors.length,\n r = new Array(n),\n g = new Array(n),\n b = new Array(n),\n i, color;\n for (i = 0; i < n; ++i) {\n color = colorRgb(colors[i]);\n r[i] = color.r || 0;\n g[i] = color.g || 0;\n b[i] = color.b || 0;\n }\n r = spline(r);\n g = spline(g);\n b = spline(b);\n color.opacity = 1;\n return function(t) {\n color.r = r(t);\n color.g = g(t);\n color.b = b(t);\n return color + \"\";\n };\n };\n}\n\nexport var rgbBasis = rgbSpline(basis);\nexport var rgbBasisClosed = rgbSpline(basisClosed);\n","import value from \"./value\";\n\nexport default function(a, b) {\n var nb = b ? b.length : 0,\n na = a ? Math.min(nb, a.length) : 0,\n x = new Array(na),\n c = new Array(nb),\n i;\n\n for (i = 0; i < na; ++i) x[i] = value(a[i], b[i]);\n for (; i < nb; ++i) c[i] = b[i];\n\n return function(t) {\n for (i = 0; i < na; ++i) c[i] = x[i](t);\n return c;\n };\n}\n","export default function(a, b) {\n var d = new Date;\n return a = +a, b -= a, function(t) {\n return d.setTime(a + b * t), d;\n };\n}\n","export default function(a, b) {\n return a = +a, b -= a, function(t) {\n return a + b * t;\n };\n}\n","import value from \"./value\";\n\nexport default function(a, b) {\n var i = {},\n c = {},\n k;\n\n if (a === null || typeof a !== \"object\") a = {};\n if (b === null || typeof b !== \"object\") b = {};\n\n for (k in b) {\n if (k in a) {\n i[k] = value(a[k], b[k]);\n } else {\n c[k] = b[k];\n }\n }\n\n return function(t) {\n for (k in i) c[k] = i[k](t);\n return c;\n };\n}\n","import number from \"./number\";\n\nvar reA = /[-+]?(?:\\d+\\.?\\d*|\\.?\\d+)(?:[eE][-+]?\\d+)?/g,\n reB = new RegExp(reA.source, \"g\");\n\nfunction zero(b) {\n return function() {\n return b;\n };\n}\n\nfunction one(b) {\n return function(t) {\n return b(t) + \"\";\n };\n}\n\nexport default function(a, b) {\n var bi = reA.lastIndex = reB.lastIndex = 0, // scan index for next number in b\n am, // current match in a\n bm, // current match in b\n bs, // string preceding current number in b, if any\n i = -1, // index in s\n s = [], // string constants and placeholders\n q = []; // number interpolators\n\n // Coerce inputs to strings.\n a = a + \"\", b = b + \"\";\n\n // Interpolate pairs of numbers in a & b.\n while ((am = reA.exec(a))\n && (bm = reB.exec(b))) {\n if ((bs = bm.index) > bi) { // a string precedes the next number in b\n bs = b.slice(bi, bs);\n if (s[i]) s[i] += bs; // coalesce with previous string\n else s[++i] = bs;\n }\n if ((am = am[0]) === (bm = bm[0])) { // numbers in a & b match\n if (s[i]) s[i] += bm; // coalesce with previous string\n else s[++i] = bm;\n } else { // interpolate non-matching numbers\n s[++i] = null;\n q.push({i: i, x: number(am, bm)});\n }\n bi = reB.lastIndex;\n }\n\n // Add remains of b.\n if (bi < b.length) {\n bs = b.slice(bi);\n if (s[i]) s[i] += bs; // coalesce with previous string\n else s[++i] = bs;\n }\n\n // Special optimization for only a single match.\n // Otherwise, interpolate each of the numbers and rejoin the string.\n return s.length < 2 ? (q[0]\n ? one(q[0].x)\n : zero(b))\n : (b = q.length, function(t) {\n for (var i = 0, o; i < b; ++i) s[(o = q[i]).i] = o.x(t);\n return s.join(\"\");\n });\n}\n","import decompose, {identity} from \"./decompose\";\n\nvar cssNode,\n cssRoot,\n cssView,\n svgNode;\n\nexport function parseCss(value) {\n if (value === \"none\") return identity;\n if (!cssNode) cssNode = document.createElement(\"DIV\"), cssRoot = document.documentElement, cssView = document.defaultView;\n cssNode.style.transform = value;\n value = cssView.getComputedStyle(cssRoot.appendChild(cssNode), null).getPropertyValue(\"transform\");\n cssRoot.removeChild(cssNode);\n value = value.slice(7, -1).split(\",\");\n return decompose(+value[0], +value[1], +value[2], +value[3], +value[4], +value[5]);\n}\n\nexport function parseSvg(value) {\n if (value == null) return identity;\n if (!svgNode) svgNode = document.createElementNS(\"http://www.w3.org/2000/svg\", \"g\");\n svgNode.setAttribute(\"transform\", value);\n if (!(value = svgNode.transform.baseVal.consolidate())) return identity;\n value = value.matrix;\n return decompose(value.a, value.b, value.c, value.d, value.e, value.f);\n}\n","import {color} from \"d3-color\";\nimport rgb from \"./rgb\";\nimport array from \"./array\";\nimport date from \"./date\";\nimport number from \"./number\";\nimport object from \"./object\";\nimport string from \"./string\";\nimport constant from \"./constant\";\n\nexport default function(a, b) {\n var t = typeof b, c;\n return b == null || t === \"boolean\" ? constant(b)\n : (t === \"number\" ? number\n : t === \"string\" ? ((c = color(b)) ? (b = c, rgb) : string)\n : b instanceof color ? rgb\n : b instanceof Date ? date\n : Array.isArray(b) ? array\n : typeof b.valueOf !== \"function\" && typeof b.toString !== \"function\" || isNaN(b) ? object\n : number)(a, b);\n}\n","export default function(a, b) {\n return a = +a, b -= a, function(t) {\n return Math.round(a + b * t);\n };\n}\n","var degrees = 180 / Math.PI;\n\nexport var identity = {\n translateX: 0,\n translateY: 0,\n rotate: 0,\n skewX: 0,\n scaleX: 1,\n scaleY: 1\n};\n\nexport default function(a, b, c, d, e, f) {\n var scaleX, scaleY, skewX;\n if (scaleX = Math.sqrt(a * a + b * b)) a /= scaleX, b /= scaleX;\n if (skewX = a * c + b * d) c -= a * skewX, d -= b * skewX;\n if (scaleY = Math.sqrt(c * c + d * d)) c /= scaleY, d /= scaleY, skewX /= scaleY;\n if (a * d < b * c) a = -a, b = -b, skewX = -skewX, scaleX = -scaleX;\n return {\n translateX: e,\n translateY: f,\n rotate: Math.atan2(b, a) * degrees,\n skewX: Math.atan(skewX) * degrees,\n scaleX: scaleX,\n scaleY: scaleY\n };\n}\n","import number from \"../number\";\nimport {parseCss, parseSvg} from \"./parse\";\n\nfunction interpolateTransform(parse, pxComma, pxParen, degParen) {\n\n function pop(s) {\n return s.length ? s.pop() + \" \" : \"\";\n }\n\n function translate(xa, ya, xb, yb, s, q) {\n if (xa !== xb || ya !== yb) {\n var i = s.push(\"translate(\", null, pxComma, null, pxParen);\n q.push({i: i - 4, x: number(xa, xb)}, {i: i - 2, x: number(ya, yb)});\n } else if (xb || yb) {\n s.push(\"translate(\" + xb + pxComma + yb + pxParen);\n }\n }\n\n function rotate(a, b, s, q) {\n if (a !== b) {\n if (a - b > 180) b += 360; else if (b - a > 180) a += 360; // shortest path\n q.push({i: s.push(pop(s) + \"rotate(\", null, degParen) - 2, x: number(a, b)});\n } else if (b) {\n s.push(pop(s) + \"rotate(\" + b + degParen);\n }\n }\n\n function skewX(a, b, s, q) {\n if (a !== b) {\n q.push({i: s.push(pop(s) + \"skewX(\", null, degParen) - 2, x: number(a, b)});\n } else if (b) {\n s.push(pop(s) + \"skewX(\" + b + degParen);\n }\n }\n\n function scale(xa, ya, xb, yb, s, q) {\n if (xa !== xb || ya !== yb) {\n var i = s.push(pop(s) + \"scale(\", null, \",\", null, \")\");\n q.push({i: i - 4, x: number(xa, xb)}, {i: i - 2, x: number(ya, yb)});\n } else if (xb !== 1 || yb !== 1) {\n s.push(pop(s) + \"scale(\" + xb + \",\" + yb + \")\");\n }\n }\n\n return function(a, b) {\n var s = [], // string constants and placeholders\n q = []; // number interpolators\n a = parse(a), b = parse(b);\n translate(a.translateX, a.translateY, b.translateX, b.translateY, s, q);\n rotate(a.rotate, b.rotate, s, q);\n skewX(a.skewX, b.skewX, s, q);\n scale(a.scaleX, a.scaleY, b.scaleX, b.scaleY, s, q);\n a = b = null; // gc\n return function(t) {\n var i = -1, n = q.length, o;\n while (++i < n) s[(o = q[i]).i] = o.x(t);\n return s.join(\"\");\n };\n };\n}\n\nexport var interpolateTransformCss = interpolateTransform(parseCss, \"px, \", \"px)\", \"deg)\");\nexport var interpolateTransformSvg = interpolateTransform(parseSvg, \", \", \")\", \")\");\n","var rho = Math.SQRT2,\n rho2 = 2,\n rho4 = 4,\n epsilon2 = 1e-12;\n\nfunction cosh(x) {\n return ((x = Math.exp(x)) + 1 / x) / 2;\n}\n\nfunction sinh(x) {\n return ((x = Math.exp(x)) - 1 / x) / 2;\n}\n\nfunction tanh(x) {\n return ((x = Math.exp(2 * x)) - 1) / (x + 1);\n}\n\n// p0 = [ux0, uy0, w0]\n// p1 = [ux1, uy1, w1]\nexport default function(p0, p1) {\n var ux0 = p0[0], uy0 = p0[1], w0 = p0[2],\n ux1 = p1[0], uy1 = p1[1], w1 = p1[2],\n dx = ux1 - ux0,\n dy = uy1 - uy0,\n d2 = dx * dx + dy * dy,\n i,\n S;\n\n // Special case for u0 ≅ u1.\n if (d2 < epsilon2) {\n S = Math.log(w1 / w0) / rho;\n i = function(t) {\n return [\n ux0 + t * dx,\n uy0 + t * dy,\n w0 * Math.exp(rho * t * S)\n ];\n }\n }\n\n // General case.\n else {\n var d1 = Math.sqrt(d2),\n b0 = (w1 * w1 - w0 * w0 + rho4 * d2) / (2 * w0 * rho2 * d1),\n b1 = (w1 * w1 - w0 * w0 - rho4 * d2) / (2 * w1 * rho2 * d1),\n r0 = Math.log(Math.sqrt(b0 * b0 + 1) - b0),\n r1 = Math.log(Math.sqrt(b1 * b1 + 1) - b1);\n S = (r1 - r0) / rho;\n i = function(t) {\n var s = t * S,\n coshr0 = cosh(r0),\n u = w0 / (rho2 * d1) * (coshr0 * tanh(rho * s + r0) - sinh(r0));\n return [\n ux0 + u * dx,\n uy0 + u * dy,\n w0 * coshr0 / cosh(rho * s + r0)\n ];\n }\n }\n\n i.duration = S * 1000;\n\n return i;\n}\n","import {hsl as colorHsl} from \"d3-color\";\nimport color, {hue} from \"./color\";\n\nfunction hsl(hue) {\n return function(start, end) {\n var h = hue((start = colorHsl(start)).h, (end = colorHsl(end)).h),\n s = color(start.s, end.s),\n l = color(start.l, end.l),\n opacity = color(start.opacity, end.opacity);\n return function(t) {\n start.h = h(t);\n start.s = s(t);\n start.l = l(t);\n start.opacity = opacity(t);\n return start + \"\";\n };\n }\n}\n\nexport default hsl(hue);\nexport var hslLong = hsl(color);\n","import {lab as colorLab} from \"d3-color\";\nimport color from \"./color\";\n\nexport default function lab(start, end) {\n var l = color((start = colorLab(start)).l, (end = colorLab(end)).l),\n a = color(start.a, end.a),\n b = color(start.b, end.b),\n opacity = color(start.opacity, end.opacity);\n return function(t) {\n start.l = l(t);\n start.a = a(t);\n start.b = b(t);\n start.opacity = opacity(t);\n return start + \"\";\n };\n}\n","import {hcl as colorHcl} from \"d3-color\";\nimport color, {hue} from \"./color\";\n\nfunction hcl(hue) {\n return function(start, end) {\n var h = hue((start = colorHcl(start)).h, (end = colorHcl(end)).h),\n c = color(start.c, end.c),\n l = color(start.l, end.l),\n opacity = color(start.opacity, end.opacity);\n return function(t) {\n start.h = h(t);\n start.c = c(t);\n start.l = l(t);\n start.opacity = opacity(t);\n return start + \"\";\n };\n }\n}\n\nexport default hcl(hue);\nexport var hclLong = hcl(color);\n","import {cubehelix as colorCubehelix} from \"d3-color\";\nimport color, {hue} from \"./color\";\n\nfunction cubehelix(hue) {\n return (function cubehelixGamma(y) {\n y = +y;\n\n function cubehelix(start, end) {\n var h = hue((start = colorCubehelix(start)).h, (end = colorCubehelix(end)).h),\n s = color(start.s, end.s),\n l = color(start.l, end.l),\n opacity = color(start.opacity, end.opacity);\n return function(t) {\n start.h = h(t);\n start.s = s(t);\n start.l = l(Math.pow(t, y));\n start.opacity = opacity(t);\n return start + \"\";\n };\n }\n\n cubehelix.gamma = cubehelixGamma;\n\n return cubehelix;\n })(1);\n}\n\nexport default cubehelix(hue);\nexport var cubehelixLong = cubehelix(color);\n","export default function piecewise(interpolate, values) {\n var i = 0, n = values.length - 1, v = values[0], I = new Array(n < 0 ? 0 : n);\n while (i < n) I[i] = interpolate(v, v = values[++i]);\n return function(t) {\n var i = Math.max(0, Math.min(n - 1, Math.floor(t *= n)));\n return I[i](t - i);\n };\n}\n","export default function(interpolator, n) {\n var samples = new Array(n);\n for (var i = 0; i < n; ++i) samples[i] = interpolator(i / (n - 1));\n return samples;\n}\n","var frame = 0, // is an animation frame pending?\n timeout = 0, // is a timeout pending?\n interval = 0, // are any timers active?\n pokeDelay = 1000, // how frequently we check for clock skew\n taskHead,\n taskTail,\n clockLast = 0,\n clockNow = 0,\n clockSkew = 0,\n clock = typeof performance === \"object\" && performance.now ? performance : Date,\n setFrame = typeof window === \"object\" && window.requestAnimationFrame ? window.requestAnimationFrame.bind(window) : function(f) { setTimeout(f, 17); };\n\nexport function now() {\n return clockNow || (setFrame(clearNow), clockNow = clock.now() + clockSkew);\n}\n\nfunction clearNow() {\n clockNow = 0;\n}\n\nexport function Timer() {\n this._call =\n this._time =\n this._next = null;\n}\n\nTimer.prototype = timer.prototype = {\n constructor: Timer,\n restart: function(callback, delay, time) {\n if (typeof callback !== \"function\") throw new TypeError(\"callback is not a function\");\n time = (time == null ? now() : +time) + (delay == null ? 0 : +delay);\n if (!this._next && taskTail !== this) {\n if (taskTail) taskTail._next = this;\n else taskHead = this;\n taskTail = this;\n }\n this._call = callback;\n this._time = time;\n sleep();\n },\n stop: function() {\n if (this._call) {\n this._call = null;\n this._time = Infinity;\n sleep();\n }\n }\n};\n\nexport function timer(callback, delay, time) {\n var t = new Timer;\n t.restart(callback, delay, time);\n return t;\n}\n\nexport function timerFlush() {\n now(); // Get the current time, if not already set.\n ++frame; // Pretend we’ve set an alarm, if we haven’t already.\n var t = taskHead, e;\n while (t) {\n if ((e = clockNow - t._time) >= 0) t._call.call(null, e);\n t = t._next;\n }\n --frame;\n}\n\nfunction wake() {\n clockNow = (clockLast = clock.now()) + clockSkew;\n frame = timeout = 0;\n try {\n timerFlush();\n } finally {\n frame = 0;\n nap();\n clockNow = 0;\n }\n}\n\nfunction poke() {\n var now = clock.now(), delay = now - clockLast;\n if (delay > pokeDelay) clockSkew -= delay, clockLast = now;\n}\n\nfunction nap() {\n var t0, t1 = taskHead, t2, time = Infinity;\n while (t1) {\n if (t1._call) {\n if (time > t1._time) time = t1._time;\n t0 = t1, t1 = t1._next;\n } else {\n t2 = t1._next, t1._next = null;\n t1 = t0 ? t0._next = t2 : taskHead = t2;\n }\n }\n taskTail = t0;\n sleep(time);\n}\n\nfunction sleep(time) {\n if (frame) return; // Soonest alarm already set, or will be.\n if (timeout) timeout = clearTimeout(timeout);\n var delay = time - clockNow; // Strictly less than if we recomputed clockNow.\n if (delay > 24) {\n if (time < Infinity) timeout = setTimeout(wake, time - clock.now() - clockSkew);\n if (interval) interval = clearInterval(interval);\n } else {\n if (!interval) clockLast = clock.now(), interval = setInterval(poke, pokeDelay);\n frame = 1, setFrame(wake);\n }\n}\n","import {Timer} from \"./timer\";\n\nexport default function(callback, delay, time) {\n var t = new Timer;\n delay = delay == null ? 0 : +delay;\n t.restart(function(elapsed) {\n t.stop();\n callback(elapsed + delay);\n }, delay, time);\n return t;\n}\n","import {Timer, now} from \"./timer\";\n\nexport default function(callback, delay, time) {\n var t = new Timer, total = delay;\n if (delay == null) return t.restart(callback, delay, time), t;\n delay = +delay, time = time == null ? now() : +time;\n t.restart(function tick(elapsed) {\n elapsed += total;\n t.restart(tick, total += delay, time);\n callback(elapsed);\n }, delay, time);\n return t;\n}\n","import {dispatch} from \"d3-dispatch\";\nimport {timer, timeout} from \"d3-timer\";\n\nvar emptyOn = dispatch(\"start\", \"end\", \"interrupt\");\nvar emptyTween = [];\n\nexport var CREATED = 0;\nexport var SCHEDULED = 1;\nexport var STARTING = 2;\nexport var STARTED = 3;\nexport var RUNNING = 4;\nexport var ENDING = 5;\nexport var ENDED = 6;\n\nexport default function(node, name, id, index, group, timing) {\n var schedules = node.__transition;\n if (!schedules) node.__transition = {};\n else if (id in schedules) return;\n create(node, id, {\n name: name,\n index: index, // For context during callback.\n group: group, // For context during callback.\n on: emptyOn,\n tween: emptyTween,\n time: timing.time,\n delay: timing.delay,\n duration: timing.duration,\n ease: timing.ease,\n timer: null,\n state: CREATED\n });\n}\n\nexport function init(node, id) {\n var schedule = get(node, id);\n if (schedule.state > CREATED) throw new Error(\"too late; already scheduled\");\n return schedule;\n}\n\nexport function set(node, id) {\n var schedule = get(node, id);\n if (schedule.state > STARTING) throw new Error(\"too late; already started\");\n return schedule;\n}\n\nexport function get(node, id) {\n var schedule = node.__transition;\n if (!schedule || !(schedule = schedule[id])) throw new Error(\"transition not found\");\n return schedule;\n}\n\nfunction create(node, id, self) {\n var schedules = node.__transition,\n tween;\n\n // Initialize the self timer when the transition is created.\n // Note the actual delay is not known until the first callback!\n schedules[id] = self;\n self.timer = timer(schedule, 0, self.time);\n\n function schedule(elapsed) {\n self.state = SCHEDULED;\n self.timer.restart(start, self.delay, self.time);\n\n // If the elapsed delay is less than our first sleep, start immediately.\n if (self.delay <= elapsed) start(elapsed - self.delay);\n }\n\n function start(elapsed) {\n var i, j, n, o;\n\n // If the state is not SCHEDULED, then we previously errored on start.\n if (self.state !== SCHEDULED) return stop();\n\n for (i in schedules) {\n o = schedules[i];\n if (o.name !== self.name) continue;\n\n // While this element already has a starting transition during this frame,\n // defer starting an interrupting transition until that transition has a\n // chance to tick (and possibly end); see d3/d3-transition#54!\n if (o.state === STARTED) return timeout(start);\n\n // Interrupt the active transition, if any.\n // Dispatch the interrupt event.\n if (o.state === RUNNING) {\n o.state = ENDED;\n o.timer.stop();\n o.on.call(\"interrupt\", node, node.__data__, o.index, o.group);\n delete schedules[i];\n }\n\n // Cancel any pre-empted transitions. No interrupt event is dispatched\n // because the cancelled transitions never started. Note that this also\n // removes this transition from the pending list!\n else if (+i < id) {\n o.state = ENDED;\n o.timer.stop();\n delete schedules[i];\n }\n }\n\n // Defer the first tick to end of the current frame; see d3/d3#1576.\n // Note the transition may be canceled after start and before the first tick!\n // Note this must be scheduled before the start event; see d3/d3-transition#16!\n // Assuming this is successful, subsequent callbacks go straight to tick.\n timeout(function() {\n if (self.state === STARTED) {\n self.state = RUNNING;\n self.timer.restart(tick, self.delay, self.time);\n tick(elapsed);\n }\n });\n\n // Dispatch the start event.\n // Note this must be done before the tween are initialized.\n self.state = STARTING;\n self.on.call(\"start\", node, node.__data__, self.index, self.group);\n if (self.state !== STARTING) return; // interrupted\n self.state = STARTED;\n\n // Initialize the tween, deleting null tween.\n tween = new Array(n = self.tween.length);\n for (i = 0, j = -1; i < n; ++i) {\n if (o = self.tween[i].value.call(node, node.__data__, self.index, self.group)) {\n tween[++j] = o;\n }\n }\n tween.length = j + 1;\n }\n\n function tick(elapsed) {\n var t = elapsed < self.duration ? self.ease.call(null, elapsed / self.duration) : (self.timer.restart(stop), self.state = ENDING, 1),\n i = -1,\n n = tween.length;\n\n while (++i < n) {\n tween[i].call(null, t);\n }\n\n // Dispatch the end event.\n if (self.state === ENDING) {\n self.on.call(\"end\", node, node.__data__, self.index, self.group);\n stop();\n }\n }\n\n function stop() {\n self.state = ENDED;\n self.timer.stop();\n delete schedules[id];\n for (var i in schedules) return; // eslint-disable-line no-unused-vars\n delete node.__transition;\n }\n}\n","import {STARTING, ENDING, ENDED} from \"./transition/schedule\";\n\nexport default function(node, name) {\n var schedules = node.__transition,\n schedule,\n active,\n empty = true,\n i;\n\n if (!schedules) return;\n\n name = name == null ? null : name + \"\";\n\n for (i in schedules) {\n if ((schedule = schedules[i]).name !== name) { empty = false; continue; }\n active = schedule.state > STARTING && schedule.state < ENDING;\n schedule.state = ENDED;\n schedule.timer.stop();\n if (active) schedule.on.call(\"interrupt\", node, node.__data__, schedule.index, schedule.group);\n delete schedules[i];\n }\n\n if (empty) delete node.__transition;\n}\n","import {get, set} from \"./schedule\";\n\nfunction tweenRemove(id, name) {\n var tween0, tween1;\n return function() {\n var schedule = set(this, id),\n tween = schedule.tween;\n\n // If this node shared tween with the previous node,\n // just assign the updated shared tween and we’re done!\n // Otherwise, copy-on-write.\n if (tween !== tween0) {\n tween1 = tween0 = tween;\n for (var i = 0, n = tween1.length; i < n; ++i) {\n if (tween1[i].name === name) {\n tween1 = tween1.slice();\n tween1.splice(i, 1);\n break;\n }\n }\n }\n\n schedule.tween = tween1;\n };\n}\n\nfunction tweenFunction(id, name, value) {\n var tween0, tween1;\n if (typeof value !== \"function\") throw new Error;\n return function() {\n var schedule = set(this, id),\n tween = schedule.tween;\n\n // If this node shared tween with the previous node,\n // just assign the updated shared tween and we’re done!\n // Otherwise, copy-on-write.\n if (tween !== tween0) {\n tween1 = (tween0 = tween).slice();\n for (var t = {name: name, value: value}, i = 0, n = tween1.length; i < n; ++i) {\n if (tween1[i].name === name) {\n tween1[i] = t;\n break;\n }\n }\n if (i === n) tween1.push(t);\n }\n\n schedule.tween = tween1;\n };\n}\n\nexport default function(name, value) {\n var id = this._id;\n\n name += \"\";\n\n if (arguments.length < 2) {\n var tween = get(this.node(), id).tween;\n for (var i = 0, n = tween.length, t; i < n; ++i) {\n if ((t = tween[i]).name === name) {\n return t.value;\n }\n }\n return null;\n }\n\n return this.each((value == null ? tweenRemove : tweenFunction)(id, name, value));\n}\n\nexport function tweenValue(transition, name, value) {\n var id = transition._id;\n\n transition.each(function() {\n var schedule = set(this, id);\n (schedule.value || (schedule.value = {}))[name] = value.apply(this, arguments);\n });\n\n return function(node) {\n return get(node, id).value[name];\n };\n}\n","import {color} from \"d3-color\";\nimport {interpolateNumber, interpolateRgb, interpolateString} from \"d3-interpolate\";\n\nexport default function(a, b) {\n var c;\n return (typeof b === \"number\" ? interpolateNumber\n : b instanceof color ? interpolateRgb\n : (c = color(b)) ? (b = c, interpolateRgb)\n : interpolateString)(a, b);\n}\n","function removeFunction(id) {\n return function() {\n var parent = this.parentNode;\n for (var i in this.__transition) if (+i !== id) return;\n if (parent) parent.removeChild(this);\n };\n}\n\nexport default function() {\n return this.on(\"end.remove\", removeFunction(this._id));\n}\n","import {selection} from \"d3-selection\";\n\nvar Selection = selection.prototype.constructor;\n\nexport default function() {\n return new Selection(this._groups, this._parents);\n}\n","import {tweenValue} from \"./tween\";\n\nfunction textConstant(value) {\n return function() {\n this.textContent = value;\n };\n}\n\nfunction textFunction(value) {\n return function() {\n var value1 = value(this);\n this.textContent = value1 == null ? \"\" : value1;\n };\n}\n\nexport default function(value) {\n return this.tween(\"text\", typeof value === \"function\"\n ? textFunction(tweenValue(this, \"text\", value))\n : textConstant(value == null ? \"\" : value + \"\"));\n}\n","import {selection} from \"d3-selection\";\nimport transition_attr from \"./attr\";\nimport transition_attrTween from \"./attrTween\";\nimport transition_delay from \"./delay\";\nimport transition_duration from \"./duration\";\nimport transition_ease from \"./ease\";\nimport transition_filter from \"./filter\";\nimport transition_merge from \"./merge\";\nimport transition_on from \"./on\";\nimport transition_remove from \"./remove\";\nimport transition_select from \"./select\";\nimport transition_selectAll from \"./selectAll\";\nimport transition_selection from \"./selection\";\nimport transition_style from \"./style\";\nimport transition_styleTween from \"./styleTween\";\nimport transition_text from \"./text\";\nimport transition_transition from \"./transition\";\nimport transition_tween from \"./tween\";\n\nvar id = 0;\n\nexport function Transition(groups, parents, name, id) {\n this._groups = groups;\n this._parents = parents;\n this._name = name;\n this._id = id;\n}\n\nexport default function transition(name) {\n return selection().transition(name);\n}\n\nexport function newId() {\n return ++id;\n}\n\nvar selection_prototype = selection.prototype;\n\nTransition.prototype = transition.prototype = {\n constructor: Transition,\n select: transition_select,\n selectAll: transition_selectAll,\n filter: transition_filter,\n merge: transition_merge,\n selection: transition_selection,\n transition: transition_transition,\n call: selection_prototype.call,\n nodes: selection_prototype.nodes,\n node: selection_prototype.node,\n size: selection_prototype.size,\n empty: selection_prototype.empty,\n each: selection_prototype.each,\n on: transition_on,\n attr: transition_attr,\n attrTween: transition_attrTween,\n style: transition_style,\n styleTween: transition_styleTween,\n text: transition_text,\n remove: transition_remove,\n tween: transition_tween,\n delay: transition_delay,\n duration: transition_duration,\n ease: transition_ease\n};\n","export function linear(t) {\n return +t;\n}\n","export function quadIn(t) {\n return t * t;\n}\n\nexport function quadOut(t) {\n return t * (2 - t);\n}\n\nexport function quadInOut(t) {\n return ((t *= 2) <= 1 ? t * t : --t * (2 - t) + 1) / 2;\n}\n","export function cubicIn(t) {\n return t * t * t;\n}\n\nexport function cubicOut(t) {\n return --t * t * t + 1;\n}\n\nexport function cubicInOut(t) {\n return ((t *= 2) <= 1 ? t * t * t : (t -= 2) * t * t + 2) / 2;\n}\n","import {selector} from \"d3-selection\";\nimport {Transition} from \"./index\";\nimport schedule, {get} from \"./schedule\";\n\nexport default function(select) {\n var name = this._name,\n id = this._id;\n\n if (typeof select !== \"function\") select = selector(select);\n\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = new Array(n), node, subnode, i = 0; i < n; ++i) {\n if ((node = group[i]) && (subnode = select.call(node, node.__data__, i, group))) {\n if (\"__data__\" in node) subnode.__data__ = node.__data__;\n subgroup[i] = subnode;\n schedule(subgroup[i], name, id, i, subgroup, get(node, id));\n }\n }\n }\n\n return new Transition(subgroups, this._parents, name, id);\n}\n","import {selectorAll} from \"d3-selection\";\nimport {Transition} from \"./index\";\nimport schedule, {get} from \"./schedule\";\n\nexport default function(select) {\n var name = this._name,\n id = this._id;\n\n if (typeof select !== \"function\") select = selectorAll(select);\n\n for (var groups = this._groups, m = groups.length, subgroups = [], parents = [], j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n for (var children = select.call(node, node.__data__, i, group), child, inherit = get(node, id), k = 0, l = children.length; k < l; ++k) {\n if (child = children[k]) {\n schedule(child, name, id, k, children, inherit);\n }\n }\n subgroups.push(children);\n parents.push(node);\n }\n }\n }\n\n return new Transition(subgroups, parents, name, id);\n}\n","import {matcher} from \"d3-selection\";\nimport {Transition} from \"./index\";\n\nexport default function(match) {\n if (typeof match !== \"function\") match = matcher(match);\n\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = [], node, i = 0; i < n; ++i) {\n if ((node = group[i]) && match.call(node, node.__data__, i, group)) {\n subgroup.push(node);\n }\n }\n }\n\n return new Transition(subgroups, this._parents, this._name, this._id);\n}\n","import {Transition} from \"./index\";\n\nexport default function(transition) {\n if (transition._id !== this._id) throw new Error;\n\n for (var groups0 = this._groups, groups1 = transition._groups, m0 = groups0.length, m1 = groups1.length, m = Math.min(m0, m1), merges = new Array(m0), j = 0; j < m; ++j) {\n for (var group0 = groups0[j], group1 = groups1[j], n = group0.length, merge = merges[j] = new Array(n), node, i = 0; i < n; ++i) {\n if (node = group0[i] || group1[i]) {\n merge[i] = node;\n }\n }\n }\n\n for (; j < m0; ++j) {\n merges[j] = groups0[j];\n }\n\n return new Transition(merges, this._parents, this._name, this._id);\n}\n","import {Transition, newId} from \"./index\";\nimport schedule, {get} from \"./schedule\";\n\nexport default function() {\n var name = this._name,\n id0 = this._id,\n id1 = newId();\n\n for (var groups = this._groups, m = groups.length, j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n var inherit = get(node, id0);\n schedule(node, name, id1, i, group, {\n time: inherit.time + inherit.delay + inherit.duration,\n delay: 0,\n duration: inherit.duration,\n ease: inherit.ease\n });\n }\n }\n }\n\n return new Transition(groups, this._parents, name, id1);\n}\n","import {get, set, init} from \"./schedule\";\n\nfunction start(name) {\n return (name + \"\").trim().split(/^|\\s+/).every(function(t) {\n var i = t.indexOf(\".\");\n if (i >= 0) t = t.slice(0, i);\n return !t || t === \"start\";\n });\n}\n\nfunction onFunction(id, name, listener) {\n var on0, on1, sit = start(name) ? init : set;\n return function() {\n var schedule = sit(this, id),\n on = schedule.on;\n\n // If this node shared a dispatch with the previous node,\n // just assign the updated shared dispatch and we’re done!\n // Otherwise, copy-on-write.\n if (on !== on0) (on1 = (on0 = on).copy()).on(name, listener);\n\n schedule.on = on1;\n };\n}\n\nexport default function(name, listener) {\n var id = this._id;\n\n return arguments.length < 2\n ? get(this.node(), id).on.on(name)\n : this.each(onFunction(id, name, listener));\n}\n","import {interpolateTransformSvg as interpolateTransform} from \"d3-interpolate\";\nimport {namespace} from \"d3-selection\";\nimport {tweenValue} from \"./tween\";\nimport interpolate from \"./interpolate\";\n\nfunction attrRemove(name) {\n return function() {\n this.removeAttribute(name);\n };\n}\n\nfunction attrRemoveNS(fullname) {\n return function() {\n this.removeAttributeNS(fullname.space, fullname.local);\n };\n}\n\nfunction attrConstant(name, interpolate, value1) {\n var value00,\n interpolate0;\n return function() {\n var value0 = this.getAttribute(name);\n return value0 === value1 ? null\n : value0 === value00 ? interpolate0\n : interpolate0 = interpolate(value00 = value0, value1);\n };\n}\n\nfunction attrConstantNS(fullname, interpolate, value1) {\n var value00,\n interpolate0;\n return function() {\n var value0 = this.getAttributeNS(fullname.space, fullname.local);\n return value0 === value1 ? null\n : value0 === value00 ? interpolate0\n : interpolate0 = interpolate(value00 = value0, value1);\n };\n}\n\nfunction attrFunction(name, interpolate, value) {\n var value00,\n value10,\n interpolate0;\n return function() {\n var value0, value1 = value(this);\n if (value1 == null) return void this.removeAttribute(name);\n value0 = this.getAttribute(name);\n return value0 === value1 ? null\n : value0 === value00 && value1 === value10 ? interpolate0\n : interpolate0 = interpolate(value00 = value0, value10 = value1);\n };\n}\n\nfunction attrFunctionNS(fullname, interpolate, value) {\n var value00,\n value10,\n interpolate0;\n return function() {\n var value0, value1 = value(this);\n if (value1 == null) return void this.removeAttributeNS(fullname.space, fullname.local);\n value0 = this.getAttributeNS(fullname.space, fullname.local);\n return value0 === value1 ? null\n : value0 === value00 && value1 === value10 ? interpolate0\n : interpolate0 = interpolate(value00 = value0, value10 = value1);\n };\n}\n\nexport default function(name, value) {\n var fullname = namespace(name), i = fullname === \"transform\" ? interpolateTransform : interpolate;\n return this.attrTween(name, typeof value === \"function\"\n ? (fullname.local ? attrFunctionNS : attrFunction)(fullname, i, tweenValue(this, \"attr.\" + name, value))\n : value == null ? (fullname.local ? attrRemoveNS : attrRemove)(fullname)\n : (fullname.local ? attrConstantNS : attrConstant)(fullname, i, value + \"\"));\n}\n","import {namespace} from \"d3-selection\";\n\nfunction attrTweenNS(fullname, value) {\n function tween() {\n var node = this, i = value.apply(node, arguments);\n return i && function(t) {\n node.setAttributeNS(fullname.space, fullname.local, i(t));\n };\n }\n tween._value = value;\n return tween;\n}\n\nfunction attrTween(name, value) {\n function tween() {\n var node = this, i = value.apply(node, arguments);\n return i && function(t) {\n node.setAttribute(name, i(t));\n };\n }\n tween._value = value;\n return tween;\n}\n\nexport default function(name, value) {\n var key = \"attr.\" + name;\n if (arguments.length < 2) return (key = this.tween(key)) && key._value;\n if (value == null) return this.tween(key, null);\n if (typeof value !== \"function\") throw new Error;\n var fullname = namespace(name);\n return this.tween(key, (fullname.local ? attrTweenNS : attrTween)(fullname, value));\n}\n","import {interpolateTransformCss as interpolateTransform} from \"d3-interpolate\";\nimport {style} from \"d3-selection\";\nimport {tweenValue} from \"./tween\";\nimport interpolate from \"./interpolate\";\n\nfunction styleRemove(name, interpolate) {\n var value00,\n value10,\n interpolate0;\n return function() {\n var value0 = style(this, name),\n value1 = (this.style.removeProperty(name), style(this, name));\n return value0 === value1 ? null\n : value0 === value00 && value1 === value10 ? interpolate0\n : interpolate0 = interpolate(value00 = value0, value10 = value1);\n };\n}\n\nfunction styleRemoveEnd(name) {\n return function() {\n this.style.removeProperty(name);\n };\n}\n\nfunction styleConstant(name, interpolate, value1) {\n var value00,\n interpolate0;\n return function() {\n var value0 = style(this, name);\n return value0 === value1 ? null\n : value0 === value00 ? interpolate0\n : interpolate0 = interpolate(value00 = value0, value1);\n };\n}\n\nfunction styleFunction(name, interpolate, value) {\n var value00,\n value10,\n interpolate0;\n return function() {\n var value0 = style(this, name),\n value1 = value(this);\n if (value1 == null) value1 = (this.style.removeProperty(name), style(this, name));\n return value0 === value1 ? null\n : value0 === value00 && value1 === value10 ? interpolate0\n : interpolate0 = interpolate(value00 = value0, value10 = value1);\n };\n}\n\nexport default function(name, value, priority) {\n var i = (name += \"\") === \"transform\" ? interpolateTransform : interpolate;\n return value == null ? this\n .styleTween(name, styleRemove(name, i))\n .on(\"end.style.\" + name, styleRemoveEnd(name))\n : this.styleTween(name, typeof value === \"function\"\n ? styleFunction(name, i, tweenValue(this, \"style.\" + name, value))\n : styleConstant(name, i, value + \"\"), priority);\n}\n","function styleTween(name, value, priority) {\n function tween() {\n var node = this, i = value.apply(node, arguments);\n return i && function(t) {\n node.style.setProperty(name, i(t), priority);\n };\n }\n tween._value = value;\n return tween;\n}\n\nexport default function(name, value, priority) {\n var key = \"style.\" + (name += \"\");\n if (arguments.length < 2) return (key = this.tween(key)) && key._value;\n if (value == null) return this.tween(key, null);\n if (typeof value !== \"function\") throw new Error;\n return this.tween(key, styleTween(name, value, priority == null ? \"\" : priority));\n}\n","import {get, init} from \"./schedule\";\n\nfunction delayFunction(id, value) {\n return function() {\n init(this, id).delay = +value.apply(this, arguments);\n };\n}\n\nfunction delayConstant(id, value) {\n return value = +value, function() {\n init(this, id).delay = value;\n };\n}\n\nexport default function(value) {\n var id = this._id;\n\n return arguments.length\n ? this.each((typeof value === \"function\"\n ? delayFunction\n : delayConstant)(id, value))\n : get(this.node(), id).delay;\n}\n","import {get, set} from \"./schedule\";\n\nfunction durationFunction(id, value) {\n return function() {\n set(this, id).duration = +value.apply(this, arguments);\n };\n}\n\nfunction durationConstant(id, value) {\n return value = +value, function() {\n set(this, id).duration = value;\n };\n}\n\nexport default function(value) {\n var id = this._id;\n\n return arguments.length\n ? this.each((typeof value === \"function\"\n ? durationFunction\n : durationConstant)(id, value))\n : get(this.node(), id).duration;\n}\n","import {get, set} from \"./schedule\";\n\nfunction easeConstant(id, value) {\n if (typeof value !== \"function\") throw new Error;\n return function() {\n set(this, id).ease = value;\n };\n}\n\nexport default function(value) {\n var id = this._id;\n\n return arguments.length\n ? this.each(easeConstant(id, value))\n : get(this.node(), id).ease;\n}\n","var exponent = 3;\n\nexport var polyIn = (function custom(e) {\n e = +e;\n\n function polyIn(t) {\n return Math.pow(t, e);\n }\n\n polyIn.exponent = custom;\n\n return polyIn;\n})(exponent);\n\nexport var polyOut = (function custom(e) {\n e = +e;\n\n function polyOut(t) {\n return 1 - Math.pow(1 - t, e);\n }\n\n polyOut.exponent = custom;\n\n return polyOut;\n})(exponent);\n\nexport var polyInOut = (function custom(e) {\n e = +e;\n\n function polyInOut(t) {\n return ((t *= 2) <= 1 ? Math.pow(t, e) : 2 - Math.pow(2 - t, e)) / 2;\n }\n\n polyInOut.exponent = custom;\n\n return polyInOut;\n})(exponent);\n","var pi = Math.PI,\n halfPi = pi / 2;\n\nexport function sinIn(t) {\n return 1 - Math.cos(t * halfPi);\n}\n\nexport function sinOut(t) {\n return Math.sin(t * halfPi);\n}\n\nexport function sinInOut(t) {\n return (1 - Math.cos(pi * t)) / 2;\n}\n","export function expIn(t) {\n return Math.pow(2, 10 * t - 10);\n}\n\nexport function expOut(t) {\n return 1 - Math.pow(2, -10 * t);\n}\n\nexport function expInOut(t) {\n return ((t *= 2) <= 1 ? Math.pow(2, 10 * t - 10) : 2 - Math.pow(2, 10 - 10 * t)) / 2;\n}\n","export function circleIn(t) {\n return 1 - Math.sqrt(1 - t * t);\n}\n\nexport function circleOut(t) {\n return Math.sqrt(1 - --t * t);\n}\n\nexport function circleInOut(t) {\n return ((t *= 2) <= 1 ? 1 - Math.sqrt(1 - t * t) : Math.sqrt(1 - (t -= 2) * t) + 1) / 2;\n}\n","var b1 = 4 / 11,\n b2 = 6 / 11,\n b3 = 8 / 11,\n b4 = 3 / 4,\n b5 = 9 / 11,\n b6 = 10 / 11,\n b7 = 15 / 16,\n b8 = 21 / 22,\n b9 = 63 / 64,\n b0 = 1 / b1 / b1;\n\nexport function bounceIn(t) {\n return 1 - bounceOut(1 - t);\n}\n\nexport function bounceOut(t) {\n return (t = +t) < b1 ? b0 * t * t : t < b3 ? b0 * (t -= b2) * t + b4 : t < b6 ? b0 * (t -= b5) * t + b7 : b0 * (t -= b8) * t + b9;\n}\n\nexport function bounceInOut(t) {\n return ((t *= 2) <= 1 ? 1 - bounceOut(1 - t) : bounceOut(t - 1) + 1) / 2;\n}\n","var overshoot = 1.70158;\n\nexport var backIn = (function custom(s) {\n s = +s;\n\n function backIn(t) {\n return t * t * ((s + 1) * t - s);\n }\n\n backIn.overshoot = custom;\n\n return backIn;\n})(overshoot);\n\nexport var backOut = (function custom(s) {\n s = +s;\n\n function backOut(t) {\n return --t * t * ((s + 1) * t + s) + 1;\n }\n\n backOut.overshoot = custom;\n\n return backOut;\n})(overshoot);\n\nexport var backInOut = (function custom(s) {\n s = +s;\n\n function backInOut(t) {\n return ((t *= 2) < 1 ? t * t * ((s + 1) * t - s) : (t -= 2) * t * ((s + 1) * t + s) + 2) / 2;\n }\n\n backInOut.overshoot = custom;\n\n return backInOut;\n})(overshoot);\n","var tau = 2 * Math.PI,\n amplitude = 1,\n period = 0.3;\n\nexport var elasticIn = (function custom(a, p) {\n var s = Math.asin(1 / (a = Math.max(1, a))) * (p /= tau);\n\n function elasticIn(t) {\n return a * Math.pow(2, 10 * --t) * Math.sin((s - t) / p);\n }\n\n elasticIn.amplitude = function(a) { return custom(a, p * tau); };\n elasticIn.period = function(p) { return custom(a, p); };\n\n return elasticIn;\n})(amplitude, period);\n\nexport var elasticOut = (function custom(a, p) {\n var s = Math.asin(1 / (a = Math.max(1, a))) * (p /= tau);\n\n function elasticOut(t) {\n return 1 - a * Math.pow(2, -10 * (t = +t)) * Math.sin((t + s) / p);\n }\n\n elasticOut.amplitude = function(a) { return custom(a, p * tau); };\n elasticOut.period = function(p) { return custom(a, p); };\n\n return elasticOut;\n})(amplitude, period);\n\nexport var elasticInOut = (function custom(a, p) {\n var s = Math.asin(1 / (a = Math.max(1, a))) * (p /= tau);\n\n function elasticInOut(t) {\n return ((t = t * 2 - 1) < 0\n ? a * Math.pow(2, 10 * t) * Math.sin((s - t) / p)\n : 2 - a * Math.pow(2, -10 * t) * Math.sin((s + t) / p)) / 2;\n }\n\n elasticInOut.amplitude = function(a) { return custom(a, p * tau); };\n elasticInOut.period = function(p) { return custom(a, p); };\n\n return elasticInOut;\n})(amplitude, period);\n","import {Transition, newId} from \"../transition/index\";\nimport schedule from \"../transition/schedule\";\nimport {easeCubicInOut} from \"d3-ease\";\nimport {now} from \"d3-timer\";\n\nvar defaultTiming = {\n time: null, // Set on use.\n delay: 0,\n duration: 250,\n ease: easeCubicInOut\n};\n\nfunction inherit(node, id) {\n var timing;\n while (!(timing = node.__transition) || !(timing = timing[id])) {\n if (!(node = node.parentNode)) {\n return defaultTiming.time = now(), defaultTiming;\n }\n }\n return timing;\n}\n\nexport default function(name) {\n var id,\n timing;\n\n if (name instanceof Transition) {\n id = name._id, name = name._name;\n } else {\n id = newId(), (timing = defaultTiming).time = now(), name = name == null ? null : name + \"\";\n }\n\n for (var groups = this._groups, m = groups.length, j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n schedule(node, name, id, i, group, timing || inherit(node, id));\n }\n }\n }\n\n return new Transition(groups, this._parents, name, id);\n}\n","import {selection} from \"d3-selection\";\nimport selection_interrupt from \"./interrupt\";\nimport selection_transition from \"./transition\";\n\nselection.prototype.interrupt = selection_interrupt;\nselection.prototype.transition = selection_transition;\n","import interrupt from \"../interrupt\";\n\nexport default function(name) {\n return this.each(function() {\n interrupt(this, name);\n });\n}\n","import {Transition} from \"./transition/index\";\nimport {SCHEDULED} from \"./transition/schedule\";\n\nvar root = [null];\n\nexport default function(node, name) {\n var schedules = node.__transition,\n schedule,\n i;\n\n if (schedules) {\n name = name == null ? null : name + \"\";\n for (i in schedules) {\n if ((schedule = schedules[i]).state > SCHEDULED && schedule.name === name) {\n return new Transition([[node]], root, name, +i);\n }\n }\n }\n\n return null;\n}\n","export default function(x) {\n return function() {\n return x;\n };\n}\n","export default function(target, type, selection) {\n this.target = target;\n this.type = type;\n this.selection = selection;\n}\n","import {event} from \"d3-selection\";\n\nexport function nopropagation() {\n event.stopImmediatePropagation();\n}\n\nexport default function() {\n event.preventDefault();\n event.stopImmediatePropagation();\n}\n","import {dispatch} from \"d3-dispatch\";\nimport {dragDisable, dragEnable} from \"d3-drag\";\nimport {interpolate} from \"d3-interpolate\";\nimport {customEvent, event, mouse, select} from \"d3-selection\";\nimport {interrupt} from \"d3-transition\";\nimport constant from \"./constant\";\nimport BrushEvent from \"./event\";\nimport noevent, {nopropagation} from \"./noevent\";\n\nvar MODE_DRAG = {name: \"drag\"},\n MODE_SPACE = {name: \"space\"},\n MODE_HANDLE = {name: \"handle\"},\n MODE_CENTER = {name: \"center\"};\n\nvar X = {\n name: \"x\",\n handles: [\"e\", \"w\"].map(type),\n input: function(x, e) { return x && [[x[0], e[0][1]], [x[1], e[1][1]]]; },\n output: function(xy) { return xy && [xy[0][0], xy[1][0]]; }\n};\n\nvar Y = {\n name: \"y\",\n handles: [\"n\", \"s\"].map(type),\n input: function(y, e) { return y && [[e[0][0], y[0]], [e[1][0], y[1]]]; },\n output: function(xy) { return xy && [xy[0][1], xy[1][1]]; }\n};\n\nvar XY = {\n name: \"xy\",\n handles: [\"n\", \"e\", \"s\", \"w\", \"nw\", \"ne\", \"se\", \"sw\"].map(type),\n input: function(xy) { return xy; },\n output: function(xy) { return xy; }\n};\n\nvar cursors = {\n overlay: \"crosshair\",\n selection: \"move\",\n n: \"ns-resize\",\n e: \"ew-resize\",\n s: \"ns-resize\",\n w: \"ew-resize\",\n nw: \"nwse-resize\",\n ne: \"nesw-resize\",\n se: \"nwse-resize\",\n sw: \"nesw-resize\"\n};\n\nvar flipX = {\n e: \"w\",\n w: \"e\",\n nw: \"ne\",\n ne: \"nw\",\n se: \"sw\",\n sw: \"se\"\n};\n\nvar flipY = {\n n: \"s\",\n s: \"n\",\n nw: \"sw\",\n ne: \"se\",\n se: \"ne\",\n sw: \"nw\"\n};\n\nvar signsX = {\n overlay: +1,\n selection: +1,\n n: null,\n e: +1,\n s: null,\n w: -1,\n nw: -1,\n ne: +1,\n se: +1,\n sw: -1\n};\n\nvar signsY = {\n overlay: +1,\n selection: +1,\n n: -1,\n e: null,\n s: +1,\n w: null,\n nw: -1,\n ne: -1,\n se: +1,\n sw: +1\n};\n\nfunction type(t) {\n return {type: t};\n}\n\n// Ignore right-click, since that should open the context menu.\nfunction defaultFilter() {\n return !event.button;\n}\n\nfunction defaultExtent() {\n var svg = this.ownerSVGElement || this;\n return [[0, 0], [svg.width.baseVal.value, svg.height.baseVal.value]];\n}\n\n// Like d3.local, but with the name “__brush” rather than auto-generated.\nfunction local(node) {\n while (!node.__brush) if (!(node = node.parentNode)) return;\n return node.__brush;\n}\n\nfunction empty(extent) {\n return extent[0][0] === extent[1][0]\n || extent[0][1] === extent[1][1];\n}\n\nexport function brushSelection(node) {\n var state = node.__brush;\n return state ? state.dim.output(state.selection) : null;\n}\n\nexport function brushX() {\n return brush(X);\n}\n\nexport function brushY() {\n return brush(Y);\n}\n\nexport default function() {\n return brush(XY);\n}\n\nfunction brush(dim) {\n var extent = defaultExtent,\n filter = defaultFilter,\n listeners = dispatch(brush, \"start\", \"brush\", \"end\"),\n handleSize = 6,\n touchending;\n\n function brush(group) {\n var overlay = group\n .property(\"__brush\", initialize)\n .selectAll(\".overlay\")\n .data([type(\"overlay\")]);\n\n overlay.enter().append(\"rect\")\n .attr(\"class\", \"overlay\")\n .attr(\"pointer-events\", \"all\")\n .attr(\"cursor\", cursors.overlay)\n .merge(overlay)\n .each(function() {\n var extent = local(this).extent;\n select(this)\n .attr(\"x\", extent[0][0])\n .attr(\"y\", extent[0][1])\n .attr(\"width\", extent[1][0] - extent[0][0])\n .attr(\"height\", extent[1][1] - extent[0][1]);\n });\n\n group.selectAll(\".selection\")\n .data([type(\"selection\")])\n .enter().append(\"rect\")\n .attr(\"class\", \"selection\")\n .attr(\"cursor\", cursors.selection)\n .attr(\"fill\", \"#777\")\n .attr(\"fill-opacity\", 0.3)\n .attr(\"stroke\", \"#fff\")\n .attr(\"shape-rendering\", \"crispEdges\");\n\n var handle = group.selectAll(\".handle\")\n .data(dim.handles, function(d) { return d.type; });\n\n handle.exit().remove();\n\n handle.enter().append(\"rect\")\n .attr(\"class\", function(d) { return \"handle handle--\" + d.type; })\n .attr(\"cursor\", function(d) { return cursors[d.type]; });\n\n group\n .each(redraw)\n .attr(\"fill\", \"none\")\n .attr(\"pointer-events\", \"all\")\n .style(\"-webkit-tap-highlight-color\", \"rgba(0,0,0,0)\")\n .on(\"mousedown.brush touchstart.brush\", started);\n }\n\n brush.move = function(group, selection) {\n if (group.selection) {\n group\n .on(\"start.brush\", function() { emitter(this, arguments).beforestart().start(); })\n .on(\"interrupt.brush end.brush\", function() { emitter(this, arguments).end(); })\n .tween(\"brush\", function() {\n var that = this,\n state = that.__brush,\n emit = emitter(that, arguments),\n selection0 = state.selection,\n selection1 = dim.input(typeof selection === \"function\" ? selection.apply(this, arguments) : selection, state.extent),\n i = interpolate(selection0, selection1);\n\n function tween(t) {\n state.selection = t === 1 && empty(selection1) ? null : i(t);\n redraw.call(that);\n emit.brush();\n }\n\n return selection0 && selection1 ? tween : tween(1);\n });\n } else {\n group\n .each(function() {\n var that = this,\n args = arguments,\n state = that.__brush,\n selection1 = dim.input(typeof selection === \"function\" ? selection.apply(that, args) : selection, state.extent),\n emit = emitter(that, args).beforestart();\n\n interrupt(that);\n state.selection = selection1 == null || empty(selection1) ? null : selection1;\n redraw.call(that);\n emit.start().brush().end();\n });\n }\n };\n\n function redraw() {\n var group = select(this),\n selection = local(this).selection;\n\n if (selection) {\n group.selectAll(\".selection\")\n .style(\"display\", null)\n .attr(\"x\", selection[0][0])\n .attr(\"y\", selection[0][1])\n .attr(\"width\", selection[1][0] - selection[0][0])\n .attr(\"height\", selection[1][1] - selection[0][1]);\n\n group.selectAll(\".handle\")\n .style(\"display\", null)\n .attr(\"x\", function(d) { return d.type[d.type.length - 1] === \"e\" ? selection[1][0] - handleSize / 2 : selection[0][0] - handleSize / 2; })\n .attr(\"y\", function(d) { return d.type[0] === \"s\" ? selection[1][1] - handleSize / 2 : selection[0][1] - handleSize / 2; })\n .attr(\"width\", function(d) { return d.type === \"n\" || d.type === \"s\" ? selection[1][0] - selection[0][0] + handleSize : handleSize; })\n .attr(\"height\", function(d) { return d.type === \"e\" || d.type === \"w\" ? selection[1][1] - selection[0][1] + handleSize : handleSize; });\n }\n\n else {\n group.selectAll(\".selection,.handle\")\n .style(\"display\", \"none\")\n .attr(\"x\", null)\n .attr(\"y\", null)\n .attr(\"width\", null)\n .attr(\"height\", null);\n }\n }\n\n function emitter(that, args) {\n return that.__brush.emitter || new Emitter(that, args);\n }\n\n function Emitter(that, args) {\n this.that = that;\n this.args = args;\n this.state = that.__brush;\n this.active = 0;\n }\n\n Emitter.prototype = {\n beforestart: function() {\n if (++this.active === 1) this.state.emitter = this, this.starting = true;\n return this;\n },\n start: function() {\n if (this.starting) this.starting = false, this.emit(\"start\");\n return this;\n },\n brush: function() {\n this.emit(\"brush\");\n return this;\n },\n end: function() {\n if (--this.active === 0) delete this.state.emitter, this.emit(\"end\");\n return this;\n },\n emit: function(type) {\n customEvent(new BrushEvent(brush, type, dim.output(this.state.selection)), listeners.apply, listeners, [type, this.that, this.args]);\n }\n };\n\n function started() {\n if (event.touches) { if (event.changedTouches.length < event.touches.length) return noevent(); }\n else if (touchending) return;\n if (!filter.apply(this, arguments)) return;\n\n var that = this,\n type = event.target.__data__.type,\n mode = (event.metaKey ? type = \"overlay\" : type) === \"selection\" ? MODE_DRAG : (event.altKey ? MODE_CENTER : MODE_HANDLE),\n signX = dim === Y ? null : signsX[type],\n signY = dim === X ? null : signsY[type],\n state = local(that),\n extent = state.extent,\n selection = state.selection,\n W = extent[0][0], w0, w1,\n N = extent[0][1], n0, n1,\n E = extent[1][0], e0, e1,\n S = extent[1][1], s0, s1,\n dx,\n dy,\n moving,\n shifting = signX && signY && event.shiftKey,\n lockX,\n lockY,\n point0 = mouse(that),\n point = point0,\n emit = emitter(that, arguments).beforestart();\n\n if (type === \"overlay\") {\n state.selection = selection = [\n [w0 = dim === Y ? W : point0[0], n0 = dim === X ? N : point0[1]],\n [e0 = dim === Y ? E : w0, s0 = dim === X ? S : n0]\n ];\n } else {\n w0 = selection[0][0];\n n0 = selection[0][1];\n e0 = selection[1][0];\n s0 = selection[1][1];\n }\n\n w1 = w0;\n n1 = n0;\n e1 = e0;\n s1 = s0;\n\n var group = select(that)\n .attr(\"pointer-events\", \"none\");\n\n var overlay = group.selectAll(\".overlay\")\n .attr(\"cursor\", cursors[type]);\n\n if (event.touches) {\n group\n .on(\"touchmove.brush\", moved, true)\n .on(\"touchend.brush touchcancel.brush\", ended, true);\n } else {\n var view = select(event.view)\n .on(\"keydown.brush\", keydowned, true)\n .on(\"keyup.brush\", keyupped, true)\n .on(\"mousemove.brush\", moved, true)\n .on(\"mouseup.brush\", ended, true);\n\n dragDisable(event.view);\n }\n\n nopropagation();\n interrupt(that);\n redraw.call(that);\n emit.start();\n\n function moved() {\n var point1 = mouse(that);\n if (shifting && !lockX && !lockY) {\n if (Math.abs(point1[0] - point[0]) > Math.abs(point1[1] - point[1])) lockY = true;\n else lockX = true;\n }\n point = point1;\n moving = true;\n noevent();\n move();\n }\n\n function move() {\n var t;\n\n dx = point[0] - point0[0];\n dy = point[1] - point0[1];\n\n switch (mode) {\n case MODE_SPACE:\n case MODE_DRAG: {\n if (signX) dx = Math.max(W - w0, Math.min(E - e0, dx)), w1 = w0 + dx, e1 = e0 + dx;\n if (signY) dy = Math.max(N - n0, Math.min(S - s0, dy)), n1 = n0 + dy, s1 = s0 + dy;\n break;\n }\n case MODE_HANDLE: {\n if (signX < 0) dx = Math.max(W - w0, Math.min(E - w0, dx)), w1 = w0 + dx, e1 = e0;\n else if (signX > 0) dx = Math.max(W - e0, Math.min(E - e0, dx)), w1 = w0, e1 = e0 + dx;\n if (signY < 0) dy = Math.max(N - n0, Math.min(S - n0, dy)), n1 = n0 + dy, s1 = s0;\n else if (signY > 0) dy = Math.max(N - s0, Math.min(S - s0, dy)), n1 = n0, s1 = s0 + dy;\n break;\n }\n case MODE_CENTER: {\n if (signX) w1 = Math.max(W, Math.min(E, w0 - dx * signX)), e1 = Math.max(W, Math.min(E, e0 + dx * signX));\n if (signY) n1 = Math.max(N, Math.min(S, n0 - dy * signY)), s1 = Math.max(N, Math.min(S, s0 + dy * signY));\n break;\n }\n }\n\n if (e1 < w1) {\n signX *= -1;\n t = w0, w0 = e0, e0 = t;\n t = w1, w1 = e1, e1 = t;\n if (type in flipX) overlay.attr(\"cursor\", cursors[type = flipX[type]]);\n }\n\n if (s1 < n1) {\n signY *= -1;\n t = n0, n0 = s0, s0 = t;\n t = n1, n1 = s1, s1 = t;\n if (type in flipY) overlay.attr(\"cursor\", cursors[type = flipY[type]]);\n }\n\n if (state.selection) selection = state.selection; // May be set by brush.move!\n if (lockX) w1 = selection[0][0], e1 = selection[1][0];\n if (lockY) n1 = selection[0][1], s1 = selection[1][1];\n\n if (selection[0][0] !== w1\n || selection[0][1] !== n1\n || selection[1][0] !== e1\n || selection[1][1] !== s1) {\n state.selection = [[w1, n1], [e1, s1]];\n redraw.call(that);\n emit.brush();\n }\n }\n\n function ended() {\n nopropagation();\n if (event.touches) {\n if (event.touches.length) return;\n if (touchending) clearTimeout(touchending);\n touchending = setTimeout(function() { touchending = null; }, 500); // Ghost clicks are delayed!\n group.on(\"touchmove.brush touchend.brush touchcancel.brush\", null);\n } else {\n dragEnable(event.view, moving);\n view.on(\"keydown.brush keyup.brush mousemove.brush mouseup.brush\", null);\n }\n group.attr(\"pointer-events\", \"all\");\n overlay.attr(\"cursor\", cursors.overlay);\n if (state.selection) selection = state.selection; // May be set by brush.move (on start)!\n if (empty(selection)) state.selection = null, redraw.call(that);\n emit.end();\n }\n\n function keydowned() {\n switch (event.keyCode) {\n case 16: { // SHIFT\n shifting = signX && signY;\n break;\n }\n case 18: { // ALT\n if (mode === MODE_HANDLE) {\n if (signX) e0 = e1 - dx * signX, w0 = w1 + dx * signX;\n if (signY) s0 = s1 - dy * signY, n0 = n1 + dy * signY;\n mode = MODE_CENTER;\n move();\n }\n break;\n }\n case 32: { // SPACE; takes priority over ALT\n if (mode === MODE_HANDLE || mode === MODE_CENTER) {\n if (signX < 0) e0 = e1 - dx; else if (signX > 0) w0 = w1 - dx;\n if (signY < 0) s0 = s1 - dy; else if (signY > 0) n0 = n1 - dy;\n mode = MODE_SPACE;\n overlay.attr(\"cursor\", cursors.selection);\n move();\n }\n break;\n }\n default: return;\n }\n noevent();\n }\n\n function keyupped() {\n switch (event.keyCode) {\n case 16: { // SHIFT\n if (shifting) {\n lockX = lockY = shifting = false;\n move();\n }\n break;\n }\n case 18: { // ALT\n if (mode === MODE_CENTER) {\n if (signX < 0) e0 = e1; else if (signX > 0) w0 = w1;\n if (signY < 0) s0 = s1; else if (signY > 0) n0 = n1;\n mode = MODE_HANDLE;\n move();\n }\n break;\n }\n case 32: { // SPACE\n if (mode === MODE_SPACE) {\n if (event.altKey) {\n if (signX) e0 = e1 - dx * signX, w0 = w1 + dx * signX;\n if (signY) s0 = s1 - dy * signY, n0 = n1 + dy * signY;\n mode = MODE_CENTER;\n } else {\n if (signX < 0) e0 = e1; else if (signX > 0) w0 = w1;\n if (signY < 0) s0 = s1; else if (signY > 0) n0 = n1;\n mode = MODE_HANDLE;\n }\n overlay.attr(\"cursor\", cursors[type]);\n move();\n }\n break;\n }\n default: return;\n }\n noevent();\n }\n }\n\n function initialize() {\n var state = this.__brush || {selection: null};\n state.extent = extent.apply(this, arguments);\n state.dim = dim;\n return state;\n }\n\n brush.extent = function(_) {\n return arguments.length ? (extent = typeof _ === \"function\" ? _ : constant([[+_[0][0], +_[0][1]], [+_[1][0], +_[1][1]]]), brush) : extent;\n };\n\n brush.filter = function(_) {\n return arguments.length ? (filter = typeof _ === \"function\" ? _ : constant(!!_), brush) : filter;\n };\n\n brush.handleSize = function(_) {\n return arguments.length ? (handleSize = +_, brush) : handleSize;\n };\n\n brush.on = function() {\n var value = listeners.on.apply(listeners, arguments);\n return value === listeners ? brush : value;\n };\n\n return brush;\n}\n","export var cos = Math.cos;\nexport var sin = Math.sin;\nexport var pi = Math.PI;\nexport var halfPi = pi / 2;\nexport var tau = pi * 2;\nexport var max = Math.max;\n","import {range} from \"d3-array\";\nimport {max, tau} from \"./math\";\n\nfunction compareValue(compare) {\n return function(a, b) {\n return compare(\n a.source.value + a.target.value,\n b.source.value + b.target.value\n );\n };\n}\n\nexport default function() {\n var padAngle = 0,\n sortGroups = null,\n sortSubgroups = null,\n sortChords = null;\n\n function chord(matrix) {\n var n = matrix.length,\n groupSums = [],\n groupIndex = range(n),\n subgroupIndex = [],\n chords = [],\n groups = chords.groups = new Array(n),\n subgroups = new Array(n * n),\n k,\n x,\n x0,\n dx,\n i,\n j;\n\n // Compute the sum.\n k = 0, i = -1; while (++i < n) {\n x = 0, j = -1; while (++j < n) {\n x += matrix[i][j];\n }\n groupSums.push(x);\n subgroupIndex.push(range(n));\n k += x;\n }\n\n // Sort groups…\n if (sortGroups) groupIndex.sort(function(a, b) {\n return sortGroups(groupSums[a], groupSums[b]);\n });\n\n // Sort subgroups…\n if (sortSubgroups) subgroupIndex.forEach(function(d, i) {\n d.sort(function(a, b) {\n return sortSubgroups(matrix[i][a], matrix[i][b]);\n });\n });\n\n // Convert the sum to scaling factor for [0, 2pi].\n // TODO Allow start and end angle to be specified?\n // TODO Allow padding to be specified as percentage?\n k = max(0, tau - padAngle * n) / k;\n dx = k ? padAngle : tau / n;\n\n // Compute the start and end angle for each group and subgroup.\n // Note: Opera has a bug reordering object literal properties!\n x = 0, i = -1; while (++i < n) {\n x0 = x, j = -1; while (++j < n) {\n var di = groupIndex[i],\n dj = subgroupIndex[di][j],\n v = matrix[di][dj],\n a0 = x,\n a1 = x += v * k;\n subgroups[dj * n + di] = {\n index: di,\n subindex: dj,\n startAngle: a0,\n endAngle: a1,\n value: v\n };\n }\n groups[di] = {\n index: di,\n startAngle: x0,\n endAngle: x,\n value: groupSums[di]\n };\n x += dx;\n }\n\n // Generate chords for each (non-empty) subgroup-subgroup link.\n i = -1; while (++i < n) {\n j = i - 1; while (++j < n) {\n var source = subgroups[j * n + i],\n target = subgroups[i * n + j];\n if (source.value || target.value) {\n chords.push(source.value < target.value\n ? {source: target, target: source}\n : {source: source, target: target});\n }\n }\n }\n\n return sortChords ? chords.sort(sortChords) : chords;\n }\n\n chord.padAngle = function(_) {\n return arguments.length ? (padAngle = max(0, _), chord) : padAngle;\n };\n\n chord.sortGroups = function(_) {\n return arguments.length ? (sortGroups = _, chord) : sortGroups;\n };\n\n chord.sortSubgroups = function(_) {\n return arguments.length ? (sortSubgroups = _, chord) : sortSubgroups;\n };\n\n chord.sortChords = function(_) {\n return arguments.length ? (_ == null ? sortChords = null : (sortChords = compareValue(_))._ = _, chord) : sortChords && sortChords._;\n };\n\n return chord;\n}\n","export var slice = Array.prototype.slice;\n","export default function(x) {\n return function() {\n return x;\n };\n}\n","var pi = Math.PI,\n tau = 2 * pi,\n epsilon = 1e-6,\n tauEpsilon = tau - epsilon;\n\nfunction Path() {\n this._x0 = this._y0 = // start of current subpath\n this._x1 = this._y1 = null; // end of current subpath\n this._ = \"\";\n}\n\nfunction path() {\n return new Path;\n}\n\nPath.prototype = path.prototype = {\n constructor: Path,\n moveTo: function(x, y) {\n this._ += \"M\" + (this._x0 = this._x1 = +x) + \",\" + (this._y0 = this._y1 = +y);\n },\n closePath: function() {\n if (this._x1 !== null) {\n this._x1 = this._x0, this._y1 = this._y0;\n this._ += \"Z\";\n }\n },\n lineTo: function(x, y) {\n this._ += \"L\" + (this._x1 = +x) + \",\" + (this._y1 = +y);\n },\n quadraticCurveTo: function(x1, y1, x, y) {\n this._ += \"Q\" + (+x1) + \",\" + (+y1) + \",\" + (this._x1 = +x) + \",\" + (this._y1 = +y);\n },\n bezierCurveTo: function(x1, y1, x2, y2, x, y) {\n this._ += \"C\" + (+x1) + \",\" + (+y1) + \",\" + (+x2) + \",\" + (+y2) + \",\" + (this._x1 = +x) + \",\" + (this._y1 = +y);\n },\n arcTo: function(x1, y1, x2, y2, r) {\n x1 = +x1, y1 = +y1, x2 = +x2, y2 = +y2, r = +r;\n var x0 = this._x1,\n y0 = this._y1,\n x21 = x2 - x1,\n y21 = y2 - y1,\n x01 = x0 - x1,\n y01 = y0 - y1,\n l01_2 = x01 * x01 + y01 * y01;\n\n // Is the radius negative? Error.\n if (r < 0) throw new Error(\"negative radius: \" + r);\n\n // Is this path empty? Move to (x1,y1).\n if (this._x1 === null) {\n this._ += \"M\" + (this._x1 = x1) + \",\" + (this._y1 = y1);\n }\n\n // Or, is (x1,y1) coincident with (x0,y0)? Do nothing.\n else if (!(l01_2 > epsilon)) {}\n\n // Or, are (x0,y0), (x1,y1) and (x2,y2) collinear?\n // Equivalently, is (x1,y1) coincident with (x2,y2)?\n // Or, is the radius zero? Line to (x1,y1).\n else if (!(Math.abs(y01 * x21 - y21 * x01) > epsilon) || !r) {\n this._ += \"L\" + (this._x1 = x1) + \",\" + (this._y1 = y1);\n }\n\n // Otherwise, draw an arc!\n else {\n var x20 = x2 - x0,\n y20 = y2 - y0,\n l21_2 = x21 * x21 + y21 * y21,\n l20_2 = x20 * x20 + y20 * y20,\n l21 = Math.sqrt(l21_2),\n l01 = Math.sqrt(l01_2),\n l = r * Math.tan((pi - Math.acos((l21_2 + l01_2 - l20_2) / (2 * l21 * l01))) / 2),\n t01 = l / l01,\n t21 = l / l21;\n\n // If the start tangent is not coincident with (x0,y0), line to.\n if (Math.abs(t01 - 1) > epsilon) {\n this._ += \"L\" + (x1 + t01 * x01) + \",\" + (y1 + t01 * y01);\n }\n\n this._ += \"A\" + r + \",\" + r + \",0,0,\" + (+(y01 * x20 > x01 * y20)) + \",\" + (this._x1 = x1 + t21 * x21) + \",\" + (this._y1 = y1 + t21 * y21);\n }\n },\n arc: function(x, y, r, a0, a1, ccw) {\n x = +x, y = +y, r = +r;\n var dx = r * Math.cos(a0),\n dy = r * Math.sin(a0),\n x0 = x + dx,\n y0 = y + dy,\n cw = 1 ^ ccw,\n da = ccw ? a0 - a1 : a1 - a0;\n\n // Is the radius negative? Error.\n if (r < 0) throw new Error(\"negative radius: \" + r);\n\n // Is this path empty? Move to (x0,y0).\n if (this._x1 === null) {\n this._ += \"M\" + x0 + \",\" + y0;\n }\n\n // Or, is (x0,y0) not coincident with the previous point? Line to (x0,y0).\n else if (Math.abs(this._x1 - x0) > epsilon || Math.abs(this._y1 - y0) > epsilon) {\n this._ += \"L\" + x0 + \",\" + y0;\n }\n\n // Is this arc empty? We’re done.\n if (!r) return;\n\n // Does the angle go the wrong way? Flip the direction.\n if (da < 0) da = da % tau + tau;\n\n // Is this a complete circle? Draw two arcs to complete the circle.\n if (da > tauEpsilon) {\n this._ += \"A\" + r + \",\" + r + \",0,1,\" + cw + \",\" + (x - dx) + \",\" + (y - dy) + \"A\" + r + \",\" + r + \",0,1,\" + cw + \",\" + (this._x1 = x0) + \",\" + (this._y1 = y0);\n }\n\n // Is this arc non-empty? Draw an arc!\n else if (da > epsilon) {\n this._ += \"A\" + r + \",\" + r + \",0,\" + (+(da >= pi)) + \",\" + cw + \",\" + (this._x1 = x + r * Math.cos(a1)) + \",\" + (this._y1 = y + r * Math.sin(a1));\n }\n },\n rect: function(x, y, w, h) {\n this._ += \"M\" + (this._x0 = this._x1 = +x) + \",\" + (this._y0 = this._y1 = +y) + \"h\" + (+w) + \"v\" + (+h) + \"h\" + (-w) + \"Z\";\n },\n toString: function() {\n return this._;\n }\n};\n\nexport default path;\n","import {slice} from \"./array\";\nimport constant from \"./constant\";\nimport {cos, halfPi, sin} from \"./math\";\nimport {path} from \"d3-path\";\n\nfunction defaultSource(d) {\n return d.source;\n}\n\nfunction defaultTarget(d) {\n return d.target;\n}\n\nfunction defaultRadius(d) {\n return d.radius;\n}\n\nfunction defaultStartAngle(d) {\n return d.startAngle;\n}\n\nfunction defaultEndAngle(d) {\n return d.endAngle;\n}\n\nexport default function() {\n var source = defaultSource,\n target = defaultTarget,\n radius = defaultRadius,\n startAngle = defaultStartAngle,\n endAngle = defaultEndAngle,\n context = null;\n\n function ribbon() {\n var buffer,\n argv = slice.call(arguments),\n s = source.apply(this, argv),\n t = target.apply(this, argv),\n sr = +radius.apply(this, (argv[0] = s, argv)),\n sa0 = startAngle.apply(this, argv) - halfPi,\n sa1 = endAngle.apply(this, argv) - halfPi,\n sx0 = sr * cos(sa0),\n sy0 = sr * sin(sa0),\n tr = +radius.apply(this, (argv[0] = t, argv)),\n ta0 = startAngle.apply(this, argv) - halfPi,\n ta1 = endAngle.apply(this, argv) - halfPi;\n\n if (!context) context = buffer = path();\n\n context.moveTo(sx0, sy0);\n context.arc(0, 0, sr, sa0, sa1);\n if (sa0 !== ta0 || sa1 !== ta1) { // TODO sr !== tr?\n context.quadraticCurveTo(0, 0, tr * cos(ta0), tr * sin(ta0));\n context.arc(0, 0, tr, ta0, ta1);\n }\n context.quadraticCurveTo(0, 0, sx0, sy0);\n context.closePath();\n\n if (buffer) return context = null, buffer + \"\" || null;\n }\n\n ribbon.radius = function(_) {\n return arguments.length ? (radius = typeof _ === \"function\" ? _ : constant(+_), ribbon) : radius;\n };\n\n ribbon.startAngle = function(_) {\n return arguments.length ? (startAngle = typeof _ === \"function\" ? _ : constant(+_), ribbon) : startAngle;\n };\n\n ribbon.endAngle = function(_) {\n return arguments.length ? (endAngle = typeof _ === \"function\" ? _ : constant(+_), ribbon) : endAngle;\n };\n\n ribbon.source = function(_) {\n return arguments.length ? (source = _, ribbon) : source;\n };\n\n ribbon.target = function(_) {\n return arguments.length ? (target = _, ribbon) : target;\n };\n\n ribbon.context = function(_) {\n return arguments.length ? ((context = _ == null ? null : _), ribbon) : context;\n };\n\n return ribbon;\n}\n","export var prefix = \"$\";\n\nfunction Map() {}\n\nMap.prototype = map.prototype = {\n constructor: Map,\n has: function(key) {\n return (prefix + key) in this;\n },\n get: function(key) {\n return this[prefix + key];\n },\n set: function(key, value) {\n this[prefix + key] = value;\n return this;\n },\n remove: function(key) {\n var property = prefix + key;\n return property in this && delete this[property];\n },\n clear: function() {\n for (var property in this) if (property[0] === prefix) delete this[property];\n },\n keys: function() {\n var keys = [];\n for (var property in this) if (property[0] === prefix) keys.push(property.slice(1));\n return keys;\n },\n values: function() {\n var values = [];\n for (var property in this) if (property[0] === prefix) values.push(this[property]);\n return values;\n },\n entries: function() {\n var entries = [];\n for (var property in this) if (property[0] === prefix) entries.push({key: property.slice(1), value: this[property]});\n return entries;\n },\n size: function() {\n var size = 0;\n for (var property in this) if (property[0] === prefix) ++size;\n return size;\n },\n empty: function() {\n for (var property in this) if (property[0] === prefix) return false;\n return true;\n },\n each: function(f) {\n for (var property in this) if (property[0] === prefix) f(this[property], property.slice(1), this);\n }\n};\n\nfunction map(object, f) {\n var map = new Map;\n\n // Copy constructor.\n if (object instanceof Map) object.each(function(value, key) { map.set(key, value); });\n\n // Index array by numeric index or specified key function.\n else if (Array.isArray(object)) {\n var i = -1,\n n = object.length,\n o;\n\n if (f == null) while (++i < n) map.set(i, object[i]);\n else while (++i < n) map.set(f(o = object[i], i, object), o);\n }\n\n // Convert object to map.\n else if (object) for (var key in object) map.set(key, object[key]);\n\n return map;\n}\n\nexport default map;\n","import map from \"./map\";\n\nexport default function() {\n var keys = [],\n sortKeys = [],\n sortValues,\n rollup,\n nest;\n\n function apply(array, depth, createResult, setResult) {\n if (depth >= keys.length) {\n if (sortValues != null) array.sort(sortValues);\n return rollup != null ? rollup(array) : array;\n }\n\n var i = -1,\n n = array.length,\n key = keys[depth++],\n keyValue,\n value,\n valuesByKey = map(),\n values,\n result = createResult();\n\n while (++i < n) {\n if (values = valuesByKey.get(keyValue = key(value = array[i]) + \"\")) {\n values.push(value);\n } else {\n valuesByKey.set(keyValue, [value]);\n }\n }\n\n valuesByKey.each(function(values, key) {\n setResult(result, key, apply(values, depth, createResult, setResult));\n });\n\n return result;\n }\n\n function entries(map, depth) {\n if (++depth > keys.length) return map;\n var array, sortKey = sortKeys[depth - 1];\n if (rollup != null && depth >= keys.length) array = map.entries();\n else array = [], map.each(function(v, k) { array.push({key: k, values: entries(v, depth)}); });\n return sortKey != null ? array.sort(function(a, b) { return sortKey(a.key, b.key); }) : array;\n }\n\n return nest = {\n object: function(array) { return apply(array, 0, createObject, setObject); },\n map: function(array) { return apply(array, 0, createMap, setMap); },\n entries: function(array) { return entries(apply(array, 0, createMap, setMap), 0); },\n key: function(d) { keys.push(d); return nest; },\n sortKeys: function(order) { sortKeys[keys.length - 1] = order; return nest; },\n sortValues: function(order) { sortValues = order; return nest; },\n rollup: function(f) { rollup = f; return nest; }\n };\n}\n\nfunction createObject() {\n return {};\n}\n\nfunction setObject(object, key, value) {\n object[key] = value;\n}\n\nfunction createMap() {\n return map();\n}\n\nfunction setMap(map, key, value) {\n map.set(key, value);\n}\n","import {default as map, prefix} from \"./map\";\n\nfunction Set() {}\n\nvar proto = map.prototype;\n\nSet.prototype = set.prototype = {\n constructor: Set,\n has: proto.has,\n add: function(value) {\n value += \"\";\n this[prefix + value] = value;\n return this;\n },\n remove: proto.remove,\n clear: proto.clear,\n values: proto.keys,\n size: proto.size,\n empty: proto.empty,\n each: proto.each\n};\n\nfunction set(object, f) {\n var set = new Set;\n\n // Copy constructor.\n if (object instanceof Set) object.each(function(value) { set.add(value); });\n\n // Otherwise, assume it’s an array.\n else if (object) {\n var i = -1, n = object.length;\n if (f == null) while (++i < n) set.add(object[i]);\n else while (++i < n) set.add(f(object[i], i, object));\n }\n\n return set;\n}\n\nexport default set;\n","export default function(map) {\n var keys = [];\n for (var key in map) keys.push(key);\n return keys;\n}\n","export default function(map) {\n var values = [];\n for (var key in map) values.push(map[key]);\n return values;\n}\n","export default function(map) {\n var entries = [];\n for (var key in map) entries.push({key: key, value: map[key]});\n return entries;\n}\n","var array = Array.prototype;\n\nexport var slice = array.slice;\n","export default function(a, b) {\n return a - b;\n}\n","export default function(ring) {\n var i = 0, n = ring.length, area = ring[n - 1][1] * ring[0][0] - ring[n - 1][0] * ring[0][1];\n while (++i < n) area += ring[i - 1][1] * ring[i][0] - ring[i - 1][0] * ring[i][1];\n return area;\n}\n","export default function(x) {\n return function() {\n return x;\n };\n}\n","export default function(ring, hole) {\n var i = -1, n = hole.length, c;\n while (++i < n) if (c = ringContains(ring, hole[i])) return c;\n return 0;\n}\n\nfunction ringContains(ring, point) {\n var x = point[0], y = point[1], contains = -1;\n for (var i = 0, n = ring.length, j = n - 1; i < n; j = i++) {\n var pi = ring[i], xi = pi[0], yi = pi[1], pj = ring[j], xj = pj[0], yj = pj[1];\n if (segmentContains(pi, pj, point)) return 0;\n if (((yi > y) !== (yj > y)) && ((x < (xj - xi) * (y - yi) / (yj - yi) + xi))) contains = -contains;\n }\n return contains;\n}\n\nfunction segmentContains(a, b, c) {\n var i; return collinear(a, b, c) && within(a[i = +(a[0] === b[0])], c[i], b[i]);\n}\n\nfunction collinear(a, b, c) {\n return (b[0] - a[0]) * (c[1] - a[1]) === (c[0] - a[0]) * (b[1] - a[1]);\n}\n\nfunction within(p, q, r) {\n return p <= q && q <= r || r <= q && q <= p;\n}\n","export default function() {}\n","import {extent, thresholdSturges, tickStep, range} from \"d3-array\";\nimport {slice} from \"./array\";\nimport ascending from \"./ascending\";\nimport area from \"./area\";\nimport constant from \"./constant\";\nimport contains from \"./contains\";\nimport noop from \"./noop\";\n\nvar cases = [\n [],\n [[[1.0, 1.5], [0.5, 1.0]]],\n [[[1.5, 1.0], [1.0, 1.5]]],\n [[[1.5, 1.0], [0.5, 1.0]]],\n [[[1.0, 0.5], [1.5, 1.0]]],\n [[[1.0, 1.5], [0.5, 1.0]], [[1.0, 0.5], [1.5, 1.0]]],\n [[[1.0, 0.5], [1.0, 1.5]]],\n [[[1.0, 0.5], [0.5, 1.0]]],\n [[[0.5, 1.0], [1.0, 0.5]]],\n [[[1.0, 1.5], [1.0, 0.5]]],\n [[[0.5, 1.0], [1.0, 0.5]], [[1.5, 1.0], [1.0, 1.5]]],\n [[[1.5, 1.0], [1.0, 0.5]]],\n [[[0.5, 1.0], [1.5, 1.0]]],\n [[[1.0, 1.5], [1.5, 1.0]]],\n [[[0.5, 1.0], [1.0, 1.5]]],\n []\n];\n\nexport default function() {\n var dx = 1,\n dy = 1,\n threshold = thresholdSturges,\n smooth = smoothLinear;\n\n function contours(values) {\n var tz = threshold(values);\n\n // Convert number of thresholds into uniform thresholds.\n if (!Array.isArray(tz)) {\n var domain = extent(values), start = domain[0], stop = domain[1];\n tz = tickStep(start, stop, tz);\n tz = range(Math.floor(start / tz) * tz, Math.floor(stop / tz) * tz, tz);\n } else {\n tz = tz.slice().sort(ascending);\n }\n\n return tz.map(function(value) {\n return contour(values, value);\n });\n }\n\n // Accumulate, smooth contour rings, assign holes to exterior rings.\n // Based on https://github.com/mbostock/shapefile/blob/v0.6.2/shp/polygon.js\n function contour(values, value) {\n var polygons = [],\n holes = [];\n\n isorings(values, value, function(ring) {\n smooth(ring, values, value);\n if (area(ring) > 0) polygons.push([ring]);\n else holes.push(ring);\n });\n\n holes.forEach(function(hole) {\n for (var i = 0, n = polygons.length, polygon; i < n; ++i) {\n if (contains((polygon = polygons[i])[0], hole) !== -1) {\n polygon.push(hole);\n return;\n }\n }\n });\n\n return {\n type: \"MultiPolygon\",\n value: value,\n coordinates: polygons\n };\n }\n\n // Marching squares with isolines stitched into rings.\n // Based on https://github.com/topojson/topojson-client/blob/v3.0.0/src/stitch.js\n function isorings(values, value, callback) {\n var fragmentByStart = new Array,\n fragmentByEnd = new Array,\n x, y, t0, t1, t2, t3;\n\n // Special case for the first row (y = -1, t2 = t3 = 0).\n x = y = -1;\n t1 = values[0] >= value;\n cases[t1 << 1].forEach(stitch);\n while (++x < dx - 1) {\n t0 = t1, t1 = values[x + 1] >= value;\n cases[t0 | t1 << 1].forEach(stitch);\n }\n cases[t1 << 0].forEach(stitch);\n\n // General case for the intermediate rows.\n while (++y < dy - 1) {\n x = -1;\n t1 = values[y * dx + dx] >= value;\n t2 = values[y * dx] >= value;\n cases[t1 << 1 | t2 << 2].forEach(stitch);\n while (++x < dx - 1) {\n t0 = t1, t1 = values[y * dx + dx + x + 1] >= value;\n t3 = t2, t2 = values[y * dx + x + 1] >= value;\n cases[t0 | t1 << 1 | t2 << 2 | t3 << 3].forEach(stitch);\n }\n cases[t1 | t2 << 3].forEach(stitch);\n }\n\n // Special case for the last row (y = dy - 1, t0 = t1 = 0).\n x = -1;\n t2 = values[y * dx] >= value;\n cases[t2 << 2].forEach(stitch);\n while (++x < dx - 1) {\n t3 = t2, t2 = values[y * dx + x + 1] >= value;\n cases[t2 << 2 | t3 << 3].forEach(stitch);\n }\n cases[t2 << 3].forEach(stitch);\n\n function stitch(line) {\n var start = [line[0][0] + x, line[0][1] + y],\n end = [line[1][0] + x, line[1][1] + y],\n startIndex = index(start),\n endIndex = index(end),\n f, g;\n if (f = fragmentByEnd[startIndex]) {\n if (g = fragmentByStart[endIndex]) {\n delete fragmentByEnd[f.end];\n delete fragmentByStart[g.start];\n if (f === g) {\n f.ring.push(end);\n callback(f.ring);\n } else {\n fragmentByStart[f.start] = fragmentByEnd[g.end] = {start: f.start, end: g.end, ring: f.ring.concat(g.ring)};\n }\n } else {\n delete fragmentByEnd[f.end];\n f.ring.push(end);\n fragmentByEnd[f.end = endIndex] = f;\n }\n } else if (f = fragmentByStart[endIndex]) {\n if (g = fragmentByEnd[startIndex]) {\n delete fragmentByStart[f.start];\n delete fragmentByEnd[g.end];\n if (f === g) {\n f.ring.push(end);\n callback(f.ring);\n } else {\n fragmentByStart[g.start] = fragmentByEnd[f.end] = {start: g.start, end: f.end, ring: g.ring.concat(f.ring)};\n }\n } else {\n delete fragmentByStart[f.start];\n f.ring.unshift(start);\n fragmentByStart[f.start = startIndex] = f;\n }\n } else {\n fragmentByStart[startIndex] = fragmentByEnd[endIndex] = {start: startIndex, end: endIndex, ring: [start, end]};\n }\n }\n }\n\n function index(point) {\n return point[0] * 2 + point[1] * (dx + 1) * 4;\n }\n\n function smoothLinear(ring, values, value) {\n ring.forEach(function(point) {\n var x = point[0],\n y = point[1],\n xt = x | 0,\n yt = y | 0,\n v0,\n v1 = values[yt * dx + xt];\n if (x > 0 && x < dx && xt === x) {\n v0 = values[yt * dx + xt - 1];\n point[0] = x + (value - v0) / (v1 - v0) - 0.5;\n }\n if (y > 0 && y < dy && yt === y) {\n v0 = values[(yt - 1) * dx + xt];\n point[1] = y + (value - v0) / (v1 - v0) - 0.5;\n }\n });\n }\n\n contours.contour = contour;\n\n contours.size = function(_) {\n if (!arguments.length) return [dx, dy];\n var _0 = Math.ceil(_[0]), _1 = Math.ceil(_[1]);\n if (!(_0 > 0) || !(_1 > 0)) throw new Error(\"invalid size\");\n return dx = _0, dy = _1, contours;\n };\n\n contours.thresholds = function(_) {\n return arguments.length ? (threshold = typeof _ === \"function\" ? _ : Array.isArray(_) ? constant(slice.call(_)) : constant(_), contours) : threshold;\n };\n\n contours.smooth = function(_) {\n return arguments.length ? (smooth = _ ? smoothLinear : noop, contours) : smooth === smoothLinear;\n };\n\n return contours;\n}\n","// TODO Optimize edge cases.\n// TODO Optimize index calculation.\n// TODO Optimize arguments.\nexport function blurX(source, target, r) {\n var n = source.width,\n m = source.height,\n w = (r << 1) + 1;\n for (var j = 0; j < m; ++j) {\n for (var i = 0, sr = 0; i < n + r; ++i) {\n if (i < n) {\n sr += source.data[i + j * n];\n }\n if (i >= r) {\n if (i >= w) {\n sr -= source.data[i - w + j * n];\n }\n target.data[i - r + j * n] = sr / Math.min(i + 1, n - 1 + w - i, w);\n }\n }\n }\n}\n\n// TODO Optimize edge cases.\n// TODO Optimize index calculation.\n// TODO Optimize arguments.\nexport function blurY(source, target, r) {\n var n = source.width,\n m = source.height,\n w = (r << 1) + 1;\n for (var i = 0; i < n; ++i) {\n for (var j = 0, sr = 0; j < m + r; ++j) {\n if (j < m) {\n sr += source.data[i + j * n];\n }\n if (j >= r) {\n if (j >= w) {\n sr -= source.data[i + (j - w) * n];\n }\n target.data[i + (j - r) * n] = sr / Math.min(j + 1, m - 1 + w - j, w);\n }\n }\n }\n}\n","import {max, range, tickStep} from \"d3-array\";\nimport {slice} from \"./array\";\nimport {blurX, blurY} from \"./blur\";\nimport constant from \"./constant\";\nimport contours from \"./contours\";\n\nfunction defaultX(d) {\n return d[0];\n}\n\nfunction defaultY(d) {\n return d[1];\n}\n\nexport default function() {\n var x = defaultX,\n y = defaultY,\n dx = 960,\n dy = 500,\n r = 20, // blur radius\n k = 2, // log2(grid cell size)\n o = r * 3, // grid offset, to pad for blur\n n = (dx + o * 2) >> k, // grid width\n m = (dy + o * 2) >> k, // grid height\n threshold = constant(20);\n\n function density(data) {\n var values0 = new Float32Array(n * m),\n values1 = new Float32Array(n * m);\n\n data.forEach(function(d, i, data) {\n var xi = (x(d, i, data) + o) >> k,\n yi = (y(d, i, data) + o) >> k;\n if (xi >= 0 && xi < n && yi >= 0 && yi < m) {\n ++values0[xi + yi * n];\n }\n });\n\n // TODO Optimize.\n blurX({width: n, height: m, data: values0}, {width: n, height: m, data: values1}, r >> k);\n blurY({width: n, height: m, data: values1}, {width: n, height: m, data: values0}, r >> k);\n blurX({width: n, height: m, data: values0}, {width: n, height: m, data: values1}, r >> k);\n blurY({width: n, height: m, data: values1}, {width: n, height: m, data: values0}, r >> k);\n blurX({width: n, height: m, data: values0}, {width: n, height: m, data: values1}, r >> k);\n blurY({width: n, height: m, data: values1}, {width: n, height: m, data: values0}, r >> k);\n\n var tz = threshold(values0);\n\n // Convert number of thresholds into uniform thresholds.\n if (!Array.isArray(tz)) {\n var stop = max(values0);\n tz = tickStep(0, stop, tz);\n tz = range(0, Math.floor(stop / tz) * tz, tz);\n tz.shift();\n }\n\n return contours()\n .thresholds(tz)\n .size([n, m])\n (values0)\n .map(transform);\n }\n\n function transform(geometry) {\n geometry.value *= Math.pow(2, -2 * k); // Density in points per square pixel.\n geometry.coordinates.forEach(transformPolygon);\n return geometry;\n }\n\n function transformPolygon(coordinates) {\n coordinates.forEach(transformRing);\n }\n\n function transformRing(coordinates) {\n coordinates.forEach(transformPoint);\n }\n\n // TODO Optimize.\n function transformPoint(coordinates) {\n coordinates[0] = coordinates[0] * Math.pow(2, k) - o;\n coordinates[1] = coordinates[1] * Math.pow(2, k) - o;\n }\n\n function resize() {\n o = r * 3;\n n = (dx + o * 2) >> k;\n m = (dy + o * 2) >> k;\n return density;\n }\n\n density.x = function(_) {\n return arguments.length ? (x = typeof _ === \"function\" ? _ : constant(+_), density) : x;\n };\n\n density.y = function(_) {\n return arguments.length ? (y = typeof _ === \"function\" ? _ : constant(+_), density) : y;\n };\n\n density.size = function(_) {\n if (!arguments.length) return [dx, dy];\n var _0 = Math.ceil(_[0]), _1 = Math.ceil(_[1]);\n if (!(_0 >= 0) && !(_0 >= 0)) throw new Error(\"invalid size\");\n return dx = _0, dy = _1, resize();\n };\n\n density.cellSize = function(_) {\n if (!arguments.length) return 1 << k;\n if (!((_ = +_) >= 1)) throw new Error(\"invalid cell size\");\n return k = Math.floor(Math.log(_) / Math.LN2), resize();\n };\n\n density.thresholds = function(_) {\n return arguments.length ? (threshold = typeof _ === \"function\" ? _ : Array.isArray(_) ? constant(slice.call(_)) : constant(_), density) : threshold;\n };\n\n density.bandwidth = function(_) {\n if (!arguments.length) return Math.sqrt(r * (r + 1));\n if (!((_ = +_) >= 0)) throw new Error(\"invalid bandwidth\");\n return r = Math.round((Math.sqrt(4 * _ * _ + 1) - 1) / 2), resize();\n };\n\n return density;\n}\n","var EOL = {},\n EOF = {},\n QUOTE = 34,\n NEWLINE = 10,\n RETURN = 13;\n\nfunction objectConverter(columns) {\n return new Function(\"d\", \"return {\" + columns.map(function(name, i) {\n return JSON.stringify(name) + \": d[\" + i + \"]\";\n }).join(\",\") + \"}\");\n}\n\nfunction customConverter(columns, f) {\n var object = objectConverter(columns);\n return function(row, i) {\n return f(object(row), i, columns);\n };\n}\n\n// Compute unique columns in order of discovery.\nfunction inferColumns(rows) {\n var columnSet = Object.create(null),\n columns = [];\n\n rows.forEach(function(row) {\n for (var column in row) {\n if (!(column in columnSet)) {\n columns.push(columnSet[column] = column);\n }\n }\n });\n\n return columns;\n}\n\nexport default function(delimiter) {\n var reFormat = new RegExp(\"[\\\"\" + delimiter + \"\\n\\r]\"),\n DELIMITER = delimiter.charCodeAt(0);\n\n function parse(text, f) {\n var convert, columns, rows = parseRows(text, function(row, i) {\n if (convert) return convert(row, i - 1);\n columns = row, convert = f ? customConverter(row, f) : objectConverter(row);\n });\n rows.columns = columns || [];\n return rows;\n }\n\n function parseRows(text, f) {\n var rows = [], // output rows\n N = text.length,\n I = 0, // current character index\n n = 0, // current line number\n t, // current token\n eof = N <= 0, // current token followed by EOF?\n eol = false; // current token followed by EOL?\n\n // Strip the trailing newline.\n if (text.charCodeAt(N - 1) === NEWLINE) --N;\n if (text.charCodeAt(N - 1) === RETURN) --N;\n\n function token() {\n if (eof) return EOF;\n if (eol) return eol = false, EOL;\n\n // Unescape quotes.\n var i, j = I, c;\n if (text.charCodeAt(j) === QUOTE) {\n while (I++ < N && text.charCodeAt(I) !== QUOTE || text.charCodeAt(++I) === QUOTE);\n if ((i = I) >= N) eof = true;\n else if ((c = text.charCodeAt(I++)) === NEWLINE) eol = true;\n else if (c === RETURN) { eol = true; if (text.charCodeAt(I) === NEWLINE) ++I; }\n return text.slice(j + 1, i - 1).replace(/\"\"/g, \"\\\"\");\n }\n\n // Find next delimiter or newline.\n while (I < N) {\n if ((c = text.charCodeAt(i = I++)) === NEWLINE) eol = true;\n else if (c === RETURN) { eol = true; if (text.charCodeAt(I) === NEWLINE) ++I; }\n else if (c !== DELIMITER) continue;\n return text.slice(j, i);\n }\n\n // Return last token before EOF.\n return eof = true, text.slice(j, N);\n }\n\n while ((t = token()) !== EOF) {\n var row = [];\n while (t !== EOL && t !== EOF) row.push(t), t = token();\n if (f && (row = f(row, n++)) == null) continue;\n rows.push(row);\n }\n\n return rows;\n }\n\n function format(rows, columns) {\n if (columns == null) columns = inferColumns(rows);\n return [columns.map(formatValue).join(delimiter)].concat(rows.map(function(row) {\n return columns.map(function(column) {\n return formatValue(row[column]);\n }).join(delimiter);\n })).join(\"\\n\");\n }\n\n function formatRows(rows) {\n return rows.map(formatRow).join(\"\\n\");\n }\n\n function formatRow(row) {\n return row.map(formatValue).join(delimiter);\n }\n\n function formatValue(text) {\n return text == null ? \"\"\n : reFormat.test(text += \"\") ? \"\\\"\" + text.replace(/\"/g, \"\\\"\\\"\") + \"\\\"\"\n : text;\n }\n\n return {\n parse: parse,\n parseRows: parseRows,\n format: format,\n formatRows: formatRows\n };\n}\n","import dsv from \"./dsv\";\n\nvar csv = dsv(\",\");\n\nexport var csvParse = csv.parse;\nexport var csvParseRows = csv.parseRows;\nexport var csvFormat = csv.format;\nexport var csvFormatRows = csv.formatRows;\n","import dsv from \"./dsv\";\n\nvar tsv = dsv(\"\\t\");\n\nexport var tsvParse = tsv.parse;\nexport var tsvParseRows = tsv.parseRows;\nexport var tsvFormat = tsv.format;\nexport var tsvFormatRows = tsv.formatRows;\n","function responseBlob(response) {\n if (!response.ok) throw new Error(response.status + \" \" + response.statusText);\n return response.blob();\n}\n\nexport default function(input, init) {\n return fetch(input, init).then(responseBlob);\n}\n","function responseArrayBuffer(response) {\n if (!response.ok) throw new Error(response.status + \" \" + response.statusText);\n return response.arrayBuffer();\n}\n\nexport default function(input, init) {\n return fetch(input, init).then(responseArrayBuffer);\n}\n","function responseText(response) {\n if (!response.ok) throw new Error(response.status + \" \" + response.statusText);\n return response.text();\n}\n\nexport default function(input, init) {\n return fetch(input, init).then(responseText);\n}\n","import {csvParse, dsvFormat, tsvParse} from \"d3-dsv\";\nimport text from \"./text\";\n\nfunction dsvParse(parse) {\n return function(input, init, row) {\n if (arguments.length === 2 && typeof init === \"function\") row = init, init = undefined;\n return text(input, init).then(function(response) {\n return parse(response, row);\n });\n };\n}\n\nexport default function dsv(delimiter, input, init, row) {\n if (arguments.length === 3 && typeof init === \"function\") row = init, init = undefined;\n var format = dsvFormat(delimiter);\n return text(input, init).then(function(response) {\n return format.parse(response, row);\n });\n}\n\nexport var csv = dsvParse(csvParse);\nexport var tsv = dsvParse(tsvParse);\n","export default function(input, init) {\n return new Promise(function(resolve, reject) {\n var image = new Image;\n for (var key in init) image[key] = init[key];\n image.onerror = reject;\n image.onload = function() { resolve(image); };\n image.src = input;\n });\n}\n","function responseJson(response) {\n if (!response.ok) throw new Error(response.status + \" \" + response.statusText);\n return response.json();\n}\n\nexport default function(input, init) {\n return fetch(input, init).then(responseJson);\n}\n","import text from \"./text\";\n\nfunction parser(type) {\n return function(input, init) {\n return text(input, init).then(function(text) {\n return (new DOMParser).parseFromString(text, type);\n });\n };\n}\n\nexport default parser(\"application/xml\");\n\nexport var html = parser(\"text/html\");\n\nexport var svg = parser(\"image/svg+xml\");\n","export default function(x, y) {\n var nodes;\n\n if (x == null) x = 0;\n if (y == null) y = 0;\n\n function force() {\n var i,\n n = nodes.length,\n node,\n sx = 0,\n sy = 0;\n\n for (i = 0; i < n; ++i) {\n node = nodes[i], sx += node.x, sy += node.y;\n }\n\n for (sx = sx / n - x, sy = sy / n - y, i = 0; i < n; ++i) {\n node = nodes[i], node.x -= sx, node.y -= sy;\n }\n }\n\n force.initialize = function(_) {\n nodes = _;\n };\n\n force.x = function(_) {\n return arguments.length ? (x = +_, force) : x;\n };\n\n force.y = function(_) {\n return arguments.length ? (y = +_, force) : y;\n };\n\n return force;\n}\n","export default function(x) {\n return function() {\n return x;\n };\n}\n","export default function() {\n return (Math.random() - 0.5) * 1e-6;\n}\n","export default function(d) {\n var x = +this._x.call(null, d),\n y = +this._y.call(null, d);\n return add(this.cover(x, y), x, y, d);\n}\n\nfunction add(tree, x, y, d) {\n if (isNaN(x) || isNaN(y)) return tree; // ignore invalid points\n\n var parent,\n node = tree._root,\n leaf = {data: d},\n x0 = tree._x0,\n y0 = tree._y0,\n x1 = tree._x1,\n y1 = tree._y1,\n xm,\n ym,\n xp,\n yp,\n right,\n bottom,\n i,\n j;\n\n // If the tree is empty, initialize the root as a leaf.\n if (!node) return tree._root = leaf, tree;\n\n // Find the existing leaf for the new point, or add it.\n while (node.length) {\n if (right = x >= (xm = (x0 + x1) / 2)) x0 = xm; else x1 = xm;\n if (bottom = y >= (ym = (y0 + y1) / 2)) y0 = ym; else y1 = ym;\n if (parent = node, !(node = node[i = bottom << 1 | right])) return parent[i] = leaf, tree;\n }\n\n // Is the new point is exactly coincident with the existing point?\n xp = +tree._x.call(null, node.data);\n yp = +tree._y.call(null, node.data);\n if (x === xp && y === yp) return leaf.next = node, parent ? parent[i] = leaf : tree._root = leaf, tree;\n\n // Otherwise, split the leaf node until the old and new point are separated.\n do {\n parent = parent ? parent[i] = new Array(4) : tree._root = new Array(4);\n if (right = x >= (xm = (x0 + x1) / 2)) x0 = xm; else x1 = xm;\n if (bottom = y >= (ym = (y0 + y1) / 2)) y0 = ym; else y1 = ym;\n } while ((i = bottom << 1 | right) === (j = (yp >= ym) << 1 | (xp >= xm)));\n return parent[j] = node, parent[i] = leaf, tree;\n}\n\nexport function addAll(data) {\n var d, i, n = data.length,\n x,\n y,\n xz = new Array(n),\n yz = new Array(n),\n x0 = Infinity,\n y0 = Infinity,\n x1 = -Infinity,\n y1 = -Infinity;\n\n // Compute the points and their extent.\n for (i = 0; i < n; ++i) {\n if (isNaN(x = +this._x.call(null, d = data[i])) || isNaN(y = +this._y.call(null, d))) continue;\n xz[i] = x;\n yz[i] = y;\n if (x < x0) x0 = x;\n if (x > x1) x1 = x;\n if (y < y0) y0 = y;\n if (y > y1) y1 = y;\n }\n\n // If there were no (valid) points, inherit the existing extent.\n if (x1 < x0) x0 = this._x0, x1 = this._x1;\n if (y1 < y0) y0 = this._y0, y1 = this._y1;\n\n // Expand the tree to cover the new points.\n this.cover(x0, y0).cover(x1, y1);\n\n // Add the new points.\n for (i = 0; i < n; ++i) {\n add(this, xz[i], yz[i], data[i]);\n }\n\n return this;\n}\n","export default function(x, y) {\n if (isNaN(x = +x) || isNaN(y = +y)) return this; // ignore invalid points\n\n var x0 = this._x0,\n y0 = this._y0,\n x1 = this._x1,\n y1 = this._y1;\n\n // If the quadtree has no extent, initialize them.\n // Integer extent are necessary so that if we later double the extent,\n // the existing quadrant boundaries don’t change due to floating point error!\n if (isNaN(x0)) {\n x1 = (x0 = Math.floor(x)) + 1;\n y1 = (y0 = Math.floor(y)) + 1;\n }\n\n // Otherwise, double repeatedly to cover.\n else if (x0 > x || x > x1 || y0 > y || y > y1) {\n var z = x1 - x0,\n node = this._root,\n parent,\n i;\n\n switch (i = (y < (y0 + y1) / 2) << 1 | (x < (x0 + x1) / 2)) {\n case 0: {\n do parent = new Array(4), parent[i] = node, node = parent;\n while (z *= 2, x1 = x0 + z, y1 = y0 + z, x > x1 || y > y1);\n break;\n }\n case 1: {\n do parent = new Array(4), parent[i] = node, node = parent;\n while (z *= 2, x0 = x1 - z, y1 = y0 + z, x0 > x || y > y1);\n break;\n }\n case 2: {\n do parent = new Array(4), parent[i] = node, node = parent;\n while (z *= 2, x1 = x0 + z, y0 = y1 - z, x > x1 || y0 > y);\n break;\n }\n case 3: {\n do parent = new Array(4), parent[i] = node, node = parent;\n while (z *= 2, x0 = x1 - z, y0 = y1 - z, x0 > x || y0 > y);\n break;\n }\n }\n\n if (this._root && this._root.length) this._root = node;\n }\n\n // If the quadtree covers the point already, just return.\n else return this;\n\n this._x0 = x0;\n this._y0 = y0;\n this._x1 = x1;\n this._y1 = y1;\n return this;\n}\n","export default function(node, x0, y0, x1, y1) {\n this.node = node;\n this.x0 = x0;\n this.y0 = y0;\n this.x1 = x1;\n this.y1 = y1;\n}\n","export function defaultX(d) {\n return d[0];\n}\n\nexport default function(_) {\n return arguments.length ? (this._x = _, this) : this._x;\n}\n","export function defaultY(d) {\n return d[1];\n}\n\nexport default function(_) {\n return arguments.length ? (this._y = _, this) : this._y;\n}\n","import tree_add, {addAll as tree_addAll} from \"./add\";\nimport tree_cover from \"./cover\";\nimport tree_data from \"./data\";\nimport tree_extent from \"./extent\";\nimport tree_find from \"./find\";\nimport tree_remove, {removeAll as tree_removeAll} from \"./remove\";\nimport tree_root from \"./root\";\nimport tree_size from \"./size\";\nimport tree_visit from \"./visit\";\nimport tree_visitAfter from \"./visitAfter\";\nimport tree_x, {defaultX} from \"./x\";\nimport tree_y, {defaultY} from \"./y\";\n\nexport default function quadtree(nodes, x, y) {\n var tree = new Quadtree(x == null ? defaultX : x, y == null ? defaultY : y, NaN, NaN, NaN, NaN);\n return nodes == null ? tree : tree.addAll(nodes);\n}\n\nfunction Quadtree(x, y, x0, y0, x1, y1) {\n this._x = x;\n this._y = y;\n this._x0 = x0;\n this._y0 = y0;\n this._x1 = x1;\n this._y1 = y1;\n this._root = undefined;\n}\n\nfunction leaf_copy(leaf) {\n var copy = {data: leaf.data}, next = copy;\n while (leaf = leaf.next) next = next.next = {data: leaf.data};\n return copy;\n}\n\nvar treeProto = quadtree.prototype = Quadtree.prototype;\n\ntreeProto.copy = function() {\n var copy = new Quadtree(this._x, this._y, this._x0, this._y0, this._x1, this._y1),\n node = this._root,\n nodes,\n child;\n\n if (!node) return copy;\n\n if (!node.length) return copy._root = leaf_copy(node), copy;\n\n nodes = [{source: node, target: copy._root = new Array(4)}];\n while (node = nodes.pop()) {\n for (var i = 0; i < 4; ++i) {\n if (child = node.source[i]) {\n if (child.length) nodes.push({source: child, target: node.target[i] = new Array(4)});\n else node.target[i] = leaf_copy(child);\n }\n }\n }\n\n return copy;\n};\n\ntreeProto.add = tree_add;\ntreeProto.addAll = tree_addAll;\ntreeProto.cover = tree_cover;\ntreeProto.data = tree_data;\ntreeProto.extent = tree_extent;\ntreeProto.find = tree_find;\ntreeProto.remove = tree_remove;\ntreeProto.removeAll = tree_removeAll;\ntreeProto.root = tree_root;\ntreeProto.size = tree_size;\ntreeProto.visit = tree_visit;\ntreeProto.visitAfter = tree_visitAfter;\ntreeProto.x = tree_x;\ntreeProto.y = tree_y;\n","import constant from \"./constant\";\nimport jiggle from \"./jiggle\";\nimport {quadtree} from \"d3-quadtree\";\n\nfunction x(d) {\n return d.x + d.vx;\n}\n\nfunction y(d) {\n return d.y + d.vy;\n}\n\nexport default function(radius) {\n var nodes,\n radii,\n strength = 1,\n iterations = 1;\n\n if (typeof radius !== \"function\") radius = constant(radius == null ? 1 : +radius);\n\n function force() {\n var i, n = nodes.length,\n tree,\n node,\n xi,\n yi,\n ri,\n ri2;\n\n for (var k = 0; k < iterations; ++k) {\n tree = quadtree(nodes, x, y).visitAfter(prepare);\n for (i = 0; i < n; ++i) {\n node = nodes[i];\n ri = radii[node.index], ri2 = ri * ri;\n xi = node.x + node.vx;\n yi = node.y + node.vy;\n tree.visit(apply);\n }\n }\n\n function apply(quad, x0, y0, x1, y1) {\n var data = quad.data, rj = quad.r, r = ri + rj;\n if (data) {\n if (data.index > node.index) {\n var x = xi - data.x - data.vx,\n y = yi - data.y - data.vy,\n l = x * x + y * y;\n if (l < r * r) {\n if (x === 0) x = jiggle(), l += x * x;\n if (y === 0) y = jiggle(), l += y * y;\n l = (r - (l = Math.sqrt(l))) / l * strength;\n node.vx += (x *= l) * (r = (rj *= rj) / (ri2 + rj));\n node.vy += (y *= l) * r;\n data.vx -= x * (r = 1 - r);\n data.vy -= y * r;\n }\n }\n return;\n }\n return x0 > xi + r || x1 < xi - r || y0 > yi + r || y1 < yi - r;\n }\n }\n\n function prepare(quad) {\n if (quad.data) return quad.r = radii[quad.data.index];\n for (var i = quad.r = 0; i < 4; ++i) {\n if (quad[i] && quad[i].r > quad.r) {\n quad.r = quad[i].r;\n }\n }\n }\n\n function initialize() {\n if (!nodes) return;\n var i, n = nodes.length, node;\n radii = new Array(n);\n for (i = 0; i < n; ++i) node = nodes[i], radii[node.index] = +radius(node, i, nodes);\n }\n\n force.initialize = function(_) {\n nodes = _;\n initialize();\n };\n\n force.iterations = function(_) {\n return arguments.length ? (iterations = +_, force) : iterations;\n };\n\n force.strength = function(_) {\n return arguments.length ? (strength = +_, force) : strength;\n };\n\n force.radius = function(_) {\n return arguments.length ? (radius = typeof _ === \"function\" ? _ : constant(+_), initialize(), force) : radius;\n };\n\n return force;\n}\n","export default function() {\n var data = [];\n this.visit(function(node) {\n if (!node.length) do data.push(node.data); while (node = node.next)\n });\n return data;\n}\n","export default function(_) {\n return arguments.length\n ? this.cover(+_[0][0], +_[0][1]).cover(+_[1][0], +_[1][1])\n : isNaN(this._x0) ? undefined : [[this._x0, this._y0], [this._x1, this._y1]];\n}\n","import Quad from \"./quad\";\n\nexport default function(x, y, radius) {\n var data,\n x0 = this._x0,\n y0 = this._y0,\n x1,\n y1,\n x2,\n y2,\n x3 = this._x1,\n y3 = this._y1,\n quads = [],\n node = this._root,\n q,\n i;\n\n if (node) quads.push(new Quad(node, x0, y0, x3, y3));\n if (radius == null) radius = Infinity;\n else {\n x0 = x - radius, y0 = y - radius;\n x3 = x + radius, y3 = y + radius;\n radius *= radius;\n }\n\n while (q = quads.pop()) {\n\n // Stop searching if this quadrant can’t contain a closer node.\n if (!(node = q.node)\n || (x1 = q.x0) > x3\n || (y1 = q.y0) > y3\n || (x2 = q.x1) < x0\n || (y2 = q.y1) < y0) continue;\n\n // Bisect the current quadrant.\n if (node.length) {\n var xm = (x1 + x2) / 2,\n ym = (y1 + y2) / 2;\n\n quads.push(\n new Quad(node[3], xm, ym, x2, y2),\n new Quad(node[2], x1, ym, xm, y2),\n new Quad(node[1], xm, y1, x2, ym),\n new Quad(node[0], x1, y1, xm, ym)\n );\n\n // Visit the closest quadrant first.\n if (i = (y >= ym) << 1 | (x >= xm)) {\n q = quads[quads.length - 1];\n quads[quads.length - 1] = quads[quads.length - 1 - i];\n quads[quads.length - 1 - i] = q;\n }\n }\n\n // Visit this point. (Visiting coincident points isn’t necessary!)\n else {\n var dx = x - +this._x.call(null, node.data),\n dy = y - +this._y.call(null, node.data),\n d2 = dx * dx + dy * dy;\n if (d2 < radius) {\n var d = Math.sqrt(radius = d2);\n x0 = x - d, y0 = y - d;\n x3 = x + d, y3 = y + d;\n data = node.data;\n }\n }\n }\n\n return data;\n}\n","export default function(d) {\n if (isNaN(x = +this._x.call(null, d)) || isNaN(y = +this._y.call(null, d))) return this; // ignore invalid points\n\n var parent,\n node = this._root,\n retainer,\n previous,\n next,\n x0 = this._x0,\n y0 = this._y0,\n x1 = this._x1,\n y1 = this._y1,\n x,\n y,\n xm,\n ym,\n right,\n bottom,\n i,\n j;\n\n // If the tree is empty, initialize the root as a leaf.\n if (!node) return this;\n\n // Find the leaf node for the point.\n // While descending, also retain the deepest parent with a non-removed sibling.\n if (node.length) while (true) {\n if (right = x >= (xm = (x0 + x1) / 2)) x0 = xm; else x1 = xm;\n if (bottom = y >= (ym = (y0 + y1) / 2)) y0 = ym; else y1 = ym;\n if (!(parent = node, node = node[i = bottom << 1 | right])) return this;\n if (!node.length) break;\n if (parent[(i + 1) & 3] || parent[(i + 2) & 3] || parent[(i + 3) & 3]) retainer = parent, j = i;\n }\n\n // Find the point to remove.\n while (node.data !== d) if (!(previous = node, node = node.next)) return this;\n if (next = node.next) delete node.next;\n\n // If there are multiple coincident points, remove just the point.\n if (previous) return (next ? previous.next = next : delete previous.next), this;\n\n // If this is the root point, remove it.\n if (!parent) return this._root = next, this;\n\n // Remove this leaf.\n next ? parent[i] = next : delete parent[i];\n\n // If the parent now contains exactly one leaf, collapse superfluous parents.\n if ((node = parent[0] || parent[1] || parent[2] || parent[3])\n && node === (parent[3] || parent[2] || parent[1] || parent[0])\n && !node.length) {\n if (retainer) retainer[j] = node;\n else this._root = node;\n }\n\n return this;\n}\n\nexport function removeAll(data) {\n for (var i = 0, n = data.length; i < n; ++i) this.remove(data[i]);\n return this;\n}\n","export default function() {\n return this._root;\n}\n","export default function() {\n var size = 0;\n this.visit(function(node) {\n if (!node.length) do ++size; while (node = node.next)\n });\n return size;\n}\n","import Quad from \"./quad\";\n\nexport default function(callback) {\n var quads = [], q, node = this._root, child, x0, y0, x1, y1;\n if (node) quads.push(new Quad(node, this._x0, this._y0, this._x1, this._y1));\n while (q = quads.pop()) {\n if (!callback(node = q.node, x0 = q.x0, y0 = q.y0, x1 = q.x1, y1 = q.y1) && node.length) {\n var xm = (x0 + x1) / 2, ym = (y0 + y1) / 2;\n if (child = node[3]) quads.push(new Quad(child, xm, ym, x1, y1));\n if (child = node[2]) quads.push(new Quad(child, x0, ym, xm, y1));\n if (child = node[1]) quads.push(new Quad(child, xm, y0, x1, ym));\n if (child = node[0]) quads.push(new Quad(child, x0, y0, xm, ym));\n }\n }\n return this;\n}\n","import Quad from \"./quad\";\n\nexport default function(callback) {\n var quads = [], next = [], q;\n if (this._root) quads.push(new Quad(this._root, this._x0, this._y0, this._x1, this._y1));\n while (q = quads.pop()) {\n var node = q.node;\n if (node.length) {\n var child, x0 = q.x0, y0 = q.y0, x1 = q.x1, y1 = q.y1, xm = (x0 + x1) / 2, ym = (y0 + y1) / 2;\n if (child = node[0]) quads.push(new Quad(child, x0, y0, xm, ym));\n if (child = node[1]) quads.push(new Quad(child, xm, y0, x1, ym));\n if (child = node[2]) quads.push(new Quad(child, x0, ym, xm, y1));\n if (child = node[3]) quads.push(new Quad(child, xm, ym, x1, y1));\n }\n next.push(q);\n }\n while (q = next.pop()) {\n callback(q.node, q.x0, q.y0, q.x1, q.y1);\n }\n return this;\n}\n","import constant from \"./constant\";\nimport jiggle from \"./jiggle\";\nimport {map} from \"d3-collection\";\n\nfunction index(d) {\n return d.index;\n}\n\nfunction find(nodeById, nodeId) {\n var node = nodeById.get(nodeId);\n if (!node) throw new Error(\"missing: \" + nodeId);\n return node;\n}\n\nexport default function(links) {\n var id = index,\n strength = defaultStrength,\n strengths,\n distance = constant(30),\n distances,\n nodes,\n count,\n bias,\n iterations = 1;\n\n if (links == null) links = [];\n\n function defaultStrength(link) {\n return 1 / Math.min(count[link.source.index], count[link.target.index]);\n }\n\n function force(alpha) {\n for (var k = 0, n = links.length; k < iterations; ++k) {\n for (var i = 0, link, source, target, x, y, l, b; i < n; ++i) {\n link = links[i], source = link.source, target = link.target;\n x = target.x + target.vx - source.x - source.vx || jiggle();\n y = target.y + target.vy - source.y - source.vy || jiggle();\n l = Math.sqrt(x * x + y * y);\n l = (l - distances[i]) / l * alpha * strengths[i];\n x *= l, y *= l;\n target.vx -= x * (b = bias[i]);\n target.vy -= y * b;\n source.vx += x * (b = 1 - b);\n source.vy += y * b;\n }\n }\n }\n\n function initialize() {\n if (!nodes) return;\n\n var i,\n n = nodes.length,\n m = links.length,\n nodeById = map(nodes, id),\n link;\n\n for (i = 0, count = new Array(n); i < m; ++i) {\n link = links[i], link.index = i;\n if (typeof link.source !== \"object\") link.source = find(nodeById, link.source);\n if (typeof link.target !== \"object\") link.target = find(nodeById, link.target);\n count[link.source.index] = (count[link.source.index] || 0) + 1;\n count[link.target.index] = (count[link.target.index] || 0) + 1;\n }\n\n for (i = 0, bias = new Array(m); i < m; ++i) {\n link = links[i], bias[i] = count[link.source.index] / (count[link.source.index] + count[link.target.index]);\n }\n\n strengths = new Array(m), initializeStrength();\n distances = new Array(m), initializeDistance();\n }\n\n function initializeStrength() {\n if (!nodes) return;\n\n for (var i = 0, n = links.length; i < n; ++i) {\n strengths[i] = +strength(links[i], i, links);\n }\n }\n\n function initializeDistance() {\n if (!nodes) return;\n\n for (var i = 0, n = links.length; i < n; ++i) {\n distances[i] = +distance(links[i], i, links);\n }\n }\n\n force.initialize = function(_) {\n nodes = _;\n initialize();\n };\n\n force.links = function(_) {\n return arguments.length ? (links = _, initialize(), force) : links;\n };\n\n force.id = function(_) {\n return arguments.length ? (id = _, force) : id;\n };\n\n force.iterations = function(_) {\n return arguments.length ? (iterations = +_, force) : iterations;\n };\n\n force.strength = function(_) {\n return arguments.length ? (strength = typeof _ === \"function\" ? _ : constant(+_), initializeStrength(), force) : strength;\n };\n\n force.distance = function(_) {\n return arguments.length ? (distance = typeof _ === \"function\" ? _ : constant(+_), initializeDistance(), force) : distance;\n };\n\n return force;\n}\n","import {dispatch} from \"d3-dispatch\";\nimport {map} from \"d3-collection\";\nimport {timer} from \"d3-timer\";\n\nexport function x(d) {\n return d.x;\n}\n\nexport function y(d) {\n return d.y;\n}\n\nvar initialRadius = 10,\n initialAngle = Math.PI * (3 - Math.sqrt(5));\n\nexport default function(nodes) {\n var simulation,\n alpha = 1,\n alphaMin = 0.001,\n alphaDecay = 1 - Math.pow(alphaMin, 1 / 300),\n alphaTarget = 0,\n velocityDecay = 0.6,\n forces = map(),\n stepper = timer(step),\n event = dispatch(\"tick\", \"end\");\n\n if (nodes == null) nodes = [];\n\n function step() {\n tick();\n event.call(\"tick\", simulation);\n if (alpha < alphaMin) {\n stepper.stop();\n event.call(\"end\", simulation);\n }\n }\n\n function tick() {\n var i, n = nodes.length, node;\n\n alpha += (alphaTarget - alpha) * alphaDecay;\n\n forces.each(function(force) {\n force(alpha);\n });\n\n for (i = 0; i < n; ++i) {\n node = nodes[i];\n if (node.fx == null) node.x += node.vx *= velocityDecay;\n else node.x = node.fx, node.vx = 0;\n if (node.fy == null) node.y += node.vy *= velocityDecay;\n else node.y = node.fy, node.vy = 0;\n }\n }\n\n function initializeNodes() {\n for (var i = 0, n = nodes.length, node; i < n; ++i) {\n node = nodes[i], node.index = i;\n if (isNaN(node.x) || isNaN(node.y)) {\n var radius = initialRadius * Math.sqrt(i), angle = i * initialAngle;\n node.x = radius * Math.cos(angle);\n node.y = radius * Math.sin(angle);\n }\n if (isNaN(node.vx) || isNaN(node.vy)) {\n node.vx = node.vy = 0;\n }\n }\n }\n\n function initializeForce(force) {\n if (force.initialize) force.initialize(nodes);\n return force;\n }\n\n initializeNodes();\n\n return simulation = {\n tick: tick,\n\n restart: function() {\n return stepper.restart(step), simulation;\n },\n\n stop: function() {\n return stepper.stop(), simulation;\n },\n\n nodes: function(_) {\n return arguments.length ? (nodes = _, initializeNodes(), forces.each(initializeForce), simulation) : nodes;\n },\n\n alpha: function(_) {\n return arguments.length ? (alpha = +_, simulation) : alpha;\n },\n\n alphaMin: function(_) {\n return arguments.length ? (alphaMin = +_, simulation) : alphaMin;\n },\n\n alphaDecay: function(_) {\n return arguments.length ? (alphaDecay = +_, simulation) : +alphaDecay;\n },\n\n alphaTarget: function(_) {\n return arguments.length ? (alphaTarget = +_, simulation) : alphaTarget;\n },\n\n velocityDecay: function(_) {\n return arguments.length ? (velocityDecay = 1 - _, simulation) : 1 - velocityDecay;\n },\n\n force: function(name, _) {\n return arguments.length > 1 ? ((_ == null ? forces.remove(name) : forces.set(name, initializeForce(_))), simulation) : forces.get(name);\n },\n\n find: function(x, y, radius) {\n var i = 0,\n n = nodes.length,\n dx,\n dy,\n d2,\n node,\n closest;\n\n if (radius == null) radius = Infinity;\n else radius *= radius;\n\n for (i = 0; i < n; ++i) {\n node = nodes[i];\n dx = x - node.x;\n dy = y - node.y;\n d2 = dx * dx + dy * dy;\n if (d2 < radius) closest = node, radius = d2;\n }\n\n return closest;\n },\n\n on: function(name, _) {\n return arguments.length > 1 ? (event.on(name, _), simulation) : event.on(name);\n }\n };\n}\n","import constant from \"./constant\";\nimport jiggle from \"./jiggle\";\nimport {quadtree} from \"d3-quadtree\";\nimport {x, y} from \"./simulation\";\n\nexport default function() {\n var nodes,\n node,\n alpha,\n strength = constant(-30),\n strengths,\n distanceMin2 = 1,\n distanceMax2 = Infinity,\n theta2 = 0.81;\n\n function force(_) {\n var i, n = nodes.length, tree = quadtree(nodes, x, y).visitAfter(accumulate);\n for (alpha = _, i = 0; i < n; ++i) node = nodes[i], tree.visit(apply);\n }\n\n function initialize() {\n if (!nodes) return;\n var i, n = nodes.length, node;\n strengths = new Array(n);\n for (i = 0; i < n; ++i) node = nodes[i], strengths[node.index] = +strength(node, i, nodes);\n }\n\n function accumulate(quad) {\n var strength = 0, q, c, weight = 0, x, y, i;\n\n // For internal nodes, accumulate forces from child quadrants.\n if (quad.length) {\n for (x = y = i = 0; i < 4; ++i) {\n if ((q = quad[i]) && (c = Math.abs(q.value))) {\n strength += q.value, weight += c, x += c * q.x, y += c * q.y;\n }\n }\n quad.x = x / weight;\n quad.y = y / weight;\n }\n\n // For leaf nodes, accumulate forces from coincident quadrants.\n else {\n q = quad;\n q.x = q.data.x;\n q.y = q.data.y;\n do strength += strengths[q.data.index];\n while (q = q.next);\n }\n\n quad.value = strength;\n }\n\n function apply(quad, x1, _, x2) {\n if (!quad.value) return true;\n\n var x = quad.x - node.x,\n y = quad.y - node.y,\n w = x2 - x1,\n l = x * x + y * y;\n\n // Apply the Barnes-Hut approximation if possible.\n // Limit forces for very close nodes; randomize direction if coincident.\n if (w * w / theta2 < l) {\n if (l < distanceMax2) {\n if (x === 0) x = jiggle(), l += x * x;\n if (y === 0) y = jiggle(), l += y * y;\n if (l < distanceMin2) l = Math.sqrt(distanceMin2 * l);\n node.vx += x * quad.value * alpha / l;\n node.vy += y * quad.value * alpha / l;\n }\n return true;\n }\n\n // Otherwise, process points directly.\n else if (quad.length || l >= distanceMax2) return;\n\n // Limit forces for very close nodes; randomize direction if coincident.\n if (quad.data !== node || quad.next) {\n if (x === 0) x = jiggle(), l += x * x;\n if (y === 0) y = jiggle(), l += y * y;\n if (l < distanceMin2) l = Math.sqrt(distanceMin2 * l);\n }\n\n do if (quad.data !== node) {\n w = strengths[quad.data.index] * alpha / l;\n node.vx += x * w;\n node.vy += y * w;\n } while (quad = quad.next);\n }\n\n force.initialize = function(_) {\n nodes = _;\n initialize();\n };\n\n force.strength = function(_) {\n return arguments.length ? (strength = typeof _ === \"function\" ? _ : constant(+_), initialize(), force) : strength;\n };\n\n force.distanceMin = function(_) {\n return arguments.length ? (distanceMin2 = _ * _, force) : Math.sqrt(distanceMin2);\n };\n\n force.distanceMax = function(_) {\n return arguments.length ? (distanceMax2 = _ * _, force) : Math.sqrt(distanceMax2);\n };\n\n force.theta = function(_) {\n return arguments.length ? (theta2 = _ * _, force) : Math.sqrt(theta2);\n };\n\n return force;\n}\n","import constant from \"./constant\";\n\nexport default function(radius, x, y) {\n var nodes,\n strength = constant(0.1),\n strengths,\n radiuses;\n\n if (typeof radius !== \"function\") radius = constant(+radius);\n if (x == null) x = 0;\n if (y == null) y = 0;\n\n function force(alpha) {\n for (var i = 0, n = nodes.length; i < n; ++i) {\n var node = nodes[i],\n dx = node.x - x || 1e-6,\n dy = node.y - y || 1e-6,\n r = Math.sqrt(dx * dx + dy * dy),\n k = (radiuses[i] - r) * strengths[i] * alpha / r;\n node.vx += dx * k;\n node.vy += dy * k;\n }\n }\n\n function initialize() {\n if (!nodes) return;\n var i, n = nodes.length;\n strengths = new Array(n);\n radiuses = new Array(n);\n for (i = 0; i < n; ++i) {\n radiuses[i] = +radius(nodes[i], i, nodes);\n strengths[i] = isNaN(radiuses[i]) ? 0 : +strength(nodes[i], i, nodes);\n }\n }\n\n force.initialize = function(_) {\n nodes = _, initialize();\n };\n\n force.strength = function(_) {\n return arguments.length ? (strength = typeof _ === \"function\" ? _ : constant(+_), initialize(), force) : strength;\n };\n\n force.radius = function(_) {\n return arguments.length ? (radius = typeof _ === \"function\" ? _ : constant(+_), initialize(), force) : radius;\n };\n\n force.x = function(_) {\n return arguments.length ? (x = +_, force) : x;\n };\n\n force.y = function(_) {\n return arguments.length ? (y = +_, force) : y;\n };\n\n return force;\n}\n","import constant from \"./constant\";\n\nexport default function(x) {\n var strength = constant(0.1),\n nodes,\n strengths,\n xz;\n\n if (typeof x !== \"function\") x = constant(x == null ? 0 : +x);\n\n function force(alpha) {\n for (var i = 0, n = nodes.length, node; i < n; ++i) {\n node = nodes[i], node.vx += (xz[i] - node.x) * strengths[i] * alpha;\n }\n }\n\n function initialize() {\n if (!nodes) return;\n var i, n = nodes.length;\n strengths = new Array(n);\n xz = new Array(n);\n for (i = 0; i < n; ++i) {\n strengths[i] = isNaN(xz[i] = +x(nodes[i], i, nodes)) ? 0 : +strength(nodes[i], i, nodes);\n }\n }\n\n force.initialize = function(_) {\n nodes = _;\n initialize();\n };\n\n force.strength = function(_) {\n return arguments.length ? (strength = typeof _ === \"function\" ? _ : constant(+_), initialize(), force) : strength;\n };\n\n force.x = function(_) {\n return arguments.length ? (x = typeof _ === \"function\" ? _ : constant(+_), initialize(), force) : x;\n };\n\n return force;\n}\n","import constant from \"./constant\";\n\nexport default function(y) {\n var strength = constant(0.1),\n nodes,\n strengths,\n yz;\n\n if (typeof y !== \"function\") y = constant(y == null ? 0 : +y);\n\n function force(alpha) {\n for (var i = 0, n = nodes.length, node; i < n; ++i) {\n node = nodes[i], node.vy += (yz[i] - node.y) * strengths[i] * alpha;\n }\n }\n\n function initialize() {\n if (!nodes) return;\n var i, n = nodes.length;\n strengths = new Array(n);\n yz = new Array(n);\n for (i = 0; i < n; ++i) {\n strengths[i] = isNaN(yz[i] = +y(nodes[i], i, nodes)) ? 0 : +strength(nodes[i], i, nodes);\n }\n }\n\n force.initialize = function(_) {\n nodes = _;\n initialize();\n };\n\n force.strength = function(_) {\n return arguments.length ? (strength = typeof _ === \"function\" ? _ : constant(+_), initialize(), force) : strength;\n };\n\n force.y = function(_) {\n return arguments.length ? (y = typeof _ === \"function\" ? _ : constant(+_), initialize(), force) : y;\n };\n\n return force;\n}\n","// Computes the decimal coefficient and exponent of the specified number x with\n// significant digits p, where x is positive and p is in [1, 21] or undefined.\n// For example, formatDecimal(1.23) returns [\"123\", 0].\nexport default function(x, p) {\n if ((i = (x = p ? x.toExponential(p - 1) : x.toExponential()).indexOf(\"e\")) < 0) return null; // NaN, ±Infinity\n var i, coefficient = x.slice(0, i);\n\n // The string returned by toExponential either has the form \\d\\.\\d+e[-+]\\d+\n // (e.g., 1.2e+3) or the form \\de[-+]\\d+ (e.g., 1e+3).\n return [\n coefficient.length > 1 ? coefficient[0] + coefficient.slice(2) : coefficient,\n +x.slice(i + 1)\n ];\n}\n","import formatDecimal from \"./formatDecimal\";\n\nexport default function(x) {\n return x = formatDecimal(Math.abs(x)), x ? x[1] : NaN;\n}\n","// [[fill]align][sign][symbol][0][width][,][.precision][~][type]\nvar re = /^(?:(.)?([<>=^]))?([+\\-\\( ])?([$#])?(0)?(\\d+)?(,)?(\\.\\d+)?(~)?([a-z%])?$/i;\n\nexport default function formatSpecifier(specifier) {\n return new FormatSpecifier(specifier);\n}\n\nformatSpecifier.prototype = FormatSpecifier.prototype; // instanceof\n\nfunction FormatSpecifier(specifier) {\n if (!(match = re.exec(specifier))) throw new Error(\"invalid format: \" + specifier);\n var match;\n this.fill = match[1] || \" \";\n this.align = match[2] || \">\";\n this.sign = match[3] || \"-\";\n this.symbol = match[4] || \"\";\n this.zero = !!match[5];\n this.width = match[6] && +match[6];\n this.comma = !!match[7];\n this.precision = match[8] && +match[8].slice(1);\n this.trim = !!match[9];\n this.type = match[10] || \"\";\n}\n\nFormatSpecifier.prototype.toString = function() {\n return this.fill\n + this.align\n + this.sign\n + this.symbol\n + (this.zero ? \"0\" : \"\")\n + (this.width == null ? \"\" : Math.max(1, this.width | 0))\n + (this.comma ? \",\" : \"\")\n + (this.precision == null ? \"\" : \".\" + Math.max(0, this.precision | 0))\n + (this.trim ? \"~\" : \"\")\n + this.type;\n};\n","// Trims insignificant zeros, e.g., replaces 1.2000k with 1.2k.\nexport default function(s) {\n out: for (var n = s.length, i = 1, i0 = -1, i1; i < n; ++i) {\n switch (s[i]) {\n case \".\": i0 = i1 = i; break;\n case \"0\": if (i0 === 0) i0 = i; i1 = i; break;\n default: if (i0 > 0) { if (!+s[i]) break out; i0 = 0; } break;\n }\n }\n return i0 > 0 ? s.slice(0, i0) + s.slice(i1 + 1) : s;\n}\n","import formatDecimal from \"./formatDecimal\";\n\nexport var prefixExponent;\n\nexport default function(x, p) {\n var d = formatDecimal(x, p);\n if (!d) return x + \"\";\n var coefficient = d[0],\n exponent = d[1],\n i = exponent - (prefixExponent = Math.max(-8, Math.min(8, Math.floor(exponent / 3))) * 3) + 1,\n n = coefficient.length;\n return i === n ? coefficient\n : i > n ? coefficient + new Array(i - n + 1).join(\"0\")\n : i > 0 ? coefficient.slice(0, i) + \".\" + coefficient.slice(i)\n : \"0.\" + new Array(1 - i).join(\"0\") + formatDecimal(x, Math.max(0, p + i - 1))[0]; // less than 1y!\n}\n","import formatLocale from \"./locale\";\n\nvar locale;\nexport var format;\nexport var formatPrefix;\n\ndefaultLocale({\n decimal: \".\",\n thousands: \",\",\n grouping: [3],\n currency: [\"$\", \"\"]\n});\n\nexport default function defaultLocale(definition) {\n locale = formatLocale(definition);\n format = locale.format;\n formatPrefix = locale.formatPrefix;\n return locale;\n}\n","import formatDecimal from \"./formatDecimal\";\n\nexport default function(x, p) {\n var d = formatDecimal(x, p);\n if (!d) return x + \"\";\n var coefficient = d[0],\n exponent = d[1];\n return exponent < 0 ? \"0.\" + new Array(-exponent).join(\"0\") + coefficient\n : coefficient.length > exponent + 1 ? coefficient.slice(0, exponent + 1) + \".\" + coefficient.slice(exponent + 1)\n : coefficient + new Array(exponent - coefficient.length + 2).join(\"0\");\n}\n","import formatPrefixAuto from \"./formatPrefixAuto\";\nimport formatRounded from \"./formatRounded\";\n\nexport default {\n \"%\": function(x, p) { return (x * 100).toFixed(p); },\n \"b\": function(x) { return Math.round(x).toString(2); },\n \"c\": function(x) { return x + \"\"; },\n \"d\": function(x) { return Math.round(x).toString(10); },\n \"e\": function(x, p) { return x.toExponential(p); },\n \"f\": function(x, p) { return x.toFixed(p); },\n \"g\": function(x, p) { return x.toPrecision(p); },\n \"o\": function(x) { return Math.round(x).toString(8); },\n \"p\": function(x, p) { return formatRounded(x * 100, p); },\n \"r\": formatRounded,\n \"s\": formatPrefixAuto,\n \"X\": function(x) { return Math.round(x).toString(16).toUpperCase(); },\n \"x\": function(x) { return Math.round(x).toString(16); }\n};\n","export default function(x) {\n return x;\n}\n","import exponent from \"./exponent\";\nimport formatGroup from \"./formatGroup\";\nimport formatNumerals from \"./formatNumerals\";\nimport formatSpecifier from \"./formatSpecifier\";\nimport formatTrim from \"./formatTrim\";\nimport formatTypes from \"./formatTypes\";\nimport {prefixExponent} from \"./formatPrefixAuto\";\nimport identity from \"./identity\";\n\nvar prefixes = [\"y\",\"z\",\"a\",\"f\",\"p\",\"n\",\"µ\",\"m\",\"\",\"k\",\"M\",\"G\",\"T\",\"P\",\"E\",\"Z\",\"Y\"];\n\nexport default function(locale) {\n var group = locale.grouping && locale.thousands ? formatGroup(locale.grouping, locale.thousands) : identity,\n currency = locale.currency,\n decimal = locale.decimal,\n numerals = locale.numerals ? formatNumerals(locale.numerals) : identity,\n percent = locale.percent || \"%\";\n\n function newFormat(specifier) {\n specifier = formatSpecifier(specifier);\n\n var fill = specifier.fill,\n align = specifier.align,\n sign = specifier.sign,\n symbol = specifier.symbol,\n zero = specifier.zero,\n width = specifier.width,\n comma = specifier.comma,\n precision = specifier.precision,\n trim = specifier.trim,\n type = specifier.type;\n\n // The \"n\" type is an alias for \",g\".\n if (type === \"n\") comma = true, type = \"g\";\n\n // The \"\" type, and any invalid type, is an alias for \".12~g\".\n else if (!formatTypes[type]) precision == null && (precision = 12), trim = true, type = \"g\";\n\n // If zero fill is specified, padding goes after sign and before digits.\n if (zero || (fill === \"0\" && align === \"=\")) zero = true, fill = \"0\", align = \"=\";\n\n // Compute the prefix and suffix.\n // For SI-prefix, the suffix is lazily computed.\n var prefix = symbol === \"$\" ? currency[0] : symbol === \"#\" && /[boxX]/.test(type) ? \"0\" + type.toLowerCase() : \"\",\n suffix = symbol === \"$\" ? currency[1] : /[%p]/.test(type) ? percent : \"\";\n\n // What format function should we use?\n // Is this an integer type?\n // Can this type generate exponential notation?\n var formatType = formatTypes[type],\n maybeSuffix = /[defgprs%]/.test(type);\n\n // Set the default precision if not specified,\n // or clamp the specified precision to the supported range.\n // For significant precision, it must be in [1, 21].\n // For fixed precision, it must be in [0, 20].\n precision = precision == null ? 6\n : /[gprs]/.test(type) ? Math.max(1, Math.min(21, precision))\n : Math.max(0, Math.min(20, precision));\n\n function format(value) {\n var valuePrefix = prefix,\n valueSuffix = suffix,\n i, n, c;\n\n if (type === \"c\") {\n valueSuffix = formatType(value) + valueSuffix;\n value = \"\";\n } else {\n value = +value;\n\n // Perform the initial formatting.\n var valueNegative = value < 0;\n value = formatType(Math.abs(value), precision);\n\n // Trim insignificant zeros.\n if (trim) value = formatTrim(value);\n\n // If a negative value rounds to zero during formatting, treat as positive.\n if (valueNegative && +value === 0) valueNegative = false;\n\n // Compute the prefix and suffix.\n valuePrefix = (valueNegative ? (sign === \"(\" ? sign : \"-\") : sign === \"-\" || sign === \"(\" ? \"\" : sign) + valuePrefix;\n valueSuffix = (type === \"s\" ? prefixes[8 + prefixExponent / 3] : \"\") + valueSuffix + (valueNegative && sign === \"(\" ? \")\" : \"\");\n\n // Break the formatted value into the integer “value” part that can be\n // grouped, and fractional or exponential “suffix” part that is not.\n if (maybeSuffix) {\n i = -1, n = value.length;\n while (++i < n) {\n if (c = value.charCodeAt(i), 48 > c || c > 57) {\n valueSuffix = (c === 46 ? decimal + value.slice(i + 1) : value.slice(i)) + valueSuffix;\n value = value.slice(0, i);\n break;\n }\n }\n }\n }\n\n // If the fill character is not \"0\", grouping is applied before padding.\n if (comma && !zero) value = group(value, Infinity);\n\n // Compute the padding.\n var length = valuePrefix.length + value.length + valueSuffix.length,\n padding = length < width ? new Array(width - length + 1).join(fill) : \"\";\n\n // If the fill character is \"0\", grouping is applied after padding.\n if (comma && zero) value = group(padding + value, padding.length ? width - valueSuffix.length : Infinity), padding = \"\";\n\n // Reconstruct the final output based on the desired alignment.\n switch (align) {\n case \"<\": value = valuePrefix + value + valueSuffix + padding; break;\n case \"=\": value = valuePrefix + padding + value + valueSuffix; break;\n case \"^\": value = padding.slice(0, length = padding.length >> 1) + valuePrefix + value + valueSuffix + padding.slice(length); break;\n default: value = padding + valuePrefix + value + valueSuffix; break;\n }\n\n return numerals(value);\n }\n\n format.toString = function() {\n return specifier + \"\";\n };\n\n return format;\n }\n\n function formatPrefix(specifier, value) {\n var f = newFormat((specifier = formatSpecifier(specifier), specifier.type = \"f\", specifier)),\n e = Math.max(-8, Math.min(8, Math.floor(exponent(value) / 3))) * 3,\n k = Math.pow(10, -e),\n prefix = prefixes[8 + e / 3];\n return function(value) {\n return f(k * value) + prefix;\n };\n }\n\n return {\n format: newFormat,\n formatPrefix: formatPrefix\n };\n}\n","export default function(grouping, thousands) {\n return function(value, width) {\n var i = value.length,\n t = [],\n j = 0,\n g = grouping[0],\n length = 0;\n\n while (i > 0 && g > 0) {\n if (length + g + 1 > width) g = Math.max(1, width - length);\n t.push(value.substring(i -= g, i + g));\n if ((length += g + 1) > width) break;\n g = grouping[j = (j + 1) % grouping.length];\n }\n\n return t.reverse().join(thousands);\n };\n}\n","export default function(numerals) {\n return function(value) {\n return value.replace(/[0-9]/g, function(i) {\n return numerals[+i];\n });\n };\n}\n","import exponent from \"./exponent\";\n\nexport default function(step) {\n return Math.max(0, -exponent(Math.abs(step)));\n}\n","import exponent from \"./exponent\";\n\nexport default function(step, value) {\n return Math.max(0, Math.max(-8, Math.min(8, Math.floor(exponent(value) / 3))) * 3 - exponent(Math.abs(step)));\n}\n","import exponent from \"./exponent\";\n\nexport default function(step, max) {\n step = Math.abs(step), max = Math.abs(max) - step;\n return Math.max(0, exponent(max) - exponent(step)) + 1;\n}\n","// Adds floating point numbers with twice the normal precision.\n// Reference: J. R. Shewchuk, Adaptive Precision Floating-Point Arithmetic and\n// Fast Robust Geometric Predicates, Discrete & Computational Geometry 18(3)\n// 305–363 (1997).\n// Code adapted from GeographicLib by Charles F. F. Karney,\n// http://geographiclib.sourceforge.net/\n\nexport default function() {\n return new Adder;\n}\n\nfunction Adder() {\n this.reset();\n}\n\nAdder.prototype = {\n constructor: Adder,\n reset: function() {\n this.s = // rounded value\n this.t = 0; // exact error\n },\n add: function(y) {\n add(temp, y, this.t);\n add(this, temp.s, this.s);\n if (this.s) this.t += temp.t;\n else this.s = temp.t;\n },\n valueOf: function() {\n return this.s;\n }\n};\n\nvar temp = new Adder;\n\nfunction add(adder, a, b) {\n var x = adder.s = a + b,\n bv = x - a,\n av = x - bv;\n adder.t = (a - av) + (b - bv);\n}\n","export var epsilon = 1e-6;\nexport var epsilon2 = 1e-12;\nexport var pi = Math.PI;\nexport var halfPi = pi / 2;\nexport var quarterPi = pi / 4;\nexport var tau = pi * 2;\n\nexport var degrees = 180 / pi;\nexport var radians = pi / 180;\n\nexport var abs = Math.abs;\nexport var atan = Math.atan;\nexport var atan2 = Math.atan2;\nexport var cos = Math.cos;\nexport var ceil = Math.ceil;\nexport var exp = Math.exp;\nexport var floor = Math.floor;\nexport var log = Math.log;\nexport var pow = Math.pow;\nexport var sin = Math.sin;\nexport var sign = Math.sign || function(x) { return x > 0 ? 1 : x < 0 ? -1 : 0; };\nexport var sqrt = Math.sqrt;\nexport var tan = Math.tan;\n\nexport function acos(x) {\n return x > 1 ? 0 : x < -1 ? pi : Math.acos(x);\n}\n\nexport function asin(x) {\n return x > 1 ? halfPi : x < -1 ? -halfPi : Math.asin(x);\n}\n\nexport function haversin(x) {\n return (x = sin(x / 2)) * x;\n}\n","export default function noop() {}\n","function streamGeometry(geometry, stream) {\n if (geometry && streamGeometryType.hasOwnProperty(geometry.type)) {\n streamGeometryType[geometry.type](geometry, stream);\n }\n}\n\nvar streamObjectType = {\n Feature: function(object, stream) {\n streamGeometry(object.geometry, stream);\n },\n FeatureCollection: function(object, stream) {\n var features = object.features, i = -1, n = features.length;\n while (++i < n) streamGeometry(features[i].geometry, stream);\n }\n};\n\nvar streamGeometryType = {\n Sphere: function(object, stream) {\n stream.sphere();\n },\n Point: function(object, stream) {\n object = object.coordinates;\n stream.point(object[0], object[1], object[2]);\n },\n MultiPoint: function(object, stream) {\n var coordinates = object.coordinates, i = -1, n = coordinates.length;\n while (++i < n) object = coordinates[i], stream.point(object[0], object[1], object[2]);\n },\n LineString: function(object, stream) {\n streamLine(object.coordinates, stream, 0);\n },\n MultiLineString: function(object, stream) {\n var coordinates = object.coordinates, i = -1, n = coordinates.length;\n while (++i < n) streamLine(coordinates[i], stream, 0);\n },\n Polygon: function(object, stream) {\n streamPolygon(object.coordinates, stream);\n },\n MultiPolygon: function(object, stream) {\n var coordinates = object.coordinates, i = -1, n = coordinates.length;\n while (++i < n) streamPolygon(coordinates[i], stream);\n },\n GeometryCollection: function(object, stream) {\n var geometries = object.geometries, i = -1, n = geometries.length;\n while (++i < n) streamGeometry(geometries[i], stream);\n }\n};\n\nfunction streamLine(coordinates, stream, closed) {\n var i = -1, n = coordinates.length - closed, coordinate;\n stream.lineStart();\n while (++i < n) coordinate = coordinates[i], stream.point(coordinate[0], coordinate[1], coordinate[2]);\n stream.lineEnd();\n}\n\nfunction streamPolygon(coordinates, stream) {\n var i = -1, n = coordinates.length;\n stream.polygonStart();\n while (++i < n) streamLine(coordinates[i], stream, 1);\n stream.polygonEnd();\n}\n\nexport default function(object, stream) {\n if (object && streamObjectType.hasOwnProperty(object.type)) {\n streamObjectType[object.type](object, stream);\n } else {\n streamGeometry(object, stream);\n }\n}\n","import adder from \"./adder\";\nimport {atan2, cos, quarterPi, radians, sin, tau} from \"./math\";\nimport noop from \"./noop\";\nimport stream from \"./stream\";\n\nexport var areaRingSum = adder();\n\nvar areaSum = adder(),\n lambda00,\n phi00,\n lambda0,\n cosPhi0,\n sinPhi0;\n\nexport var areaStream = {\n point: noop,\n lineStart: noop,\n lineEnd: noop,\n polygonStart: function() {\n areaRingSum.reset();\n areaStream.lineStart = areaRingStart;\n areaStream.lineEnd = areaRingEnd;\n },\n polygonEnd: function() {\n var areaRing = +areaRingSum;\n areaSum.add(areaRing < 0 ? tau + areaRing : areaRing);\n this.lineStart = this.lineEnd = this.point = noop;\n },\n sphere: function() {\n areaSum.add(tau);\n }\n};\n\nfunction areaRingStart() {\n areaStream.point = areaPointFirst;\n}\n\nfunction areaRingEnd() {\n areaPoint(lambda00, phi00);\n}\n\nfunction areaPointFirst(lambda, phi) {\n areaStream.point = areaPoint;\n lambda00 = lambda, phi00 = phi;\n lambda *= radians, phi *= radians;\n lambda0 = lambda, cosPhi0 = cos(phi = phi / 2 + quarterPi), sinPhi0 = sin(phi);\n}\n\nfunction areaPoint(lambda, phi) {\n lambda *= radians, phi *= radians;\n phi = phi / 2 + quarterPi; // half the angular distance from south pole\n\n // Spherical excess E for a spherical triangle with vertices: south pole,\n // previous point, current point. Uses a formula derived from Cagnoli’s\n // theorem. See Todhunter, Spherical Trig. (1871), Sec. 103, Eq. (2).\n var dLambda = lambda - lambda0,\n sdLambda = dLambda >= 0 ? 1 : -1,\n adLambda = sdLambda * dLambda,\n cosPhi = cos(phi),\n sinPhi = sin(phi),\n k = sinPhi0 * sinPhi,\n u = cosPhi0 * cosPhi + k * cos(adLambda),\n v = k * sdLambda * sin(adLambda);\n areaRingSum.add(atan2(v, u));\n\n // Advance the previous points.\n lambda0 = lambda, cosPhi0 = cosPhi, sinPhi0 = sinPhi;\n}\n\nexport default function(object) {\n areaSum.reset();\n stream(object, areaStream);\n return areaSum * 2;\n}\n","import {asin, atan2, cos, sin, sqrt} from \"./math\";\n\nexport function spherical(cartesian) {\n return [atan2(cartesian[1], cartesian[0]), asin(cartesian[2])];\n}\n\nexport function cartesian(spherical) {\n var lambda = spherical[0], phi = spherical[1], cosPhi = cos(phi);\n return [cosPhi * cos(lambda), cosPhi * sin(lambda), sin(phi)];\n}\n\nexport function cartesianDot(a, b) {\n return a[0] * b[0] + a[1] * b[1] + a[2] * b[2];\n}\n\nexport function cartesianCross(a, b) {\n return [a[1] * b[2] - a[2] * b[1], a[2] * b[0] - a[0] * b[2], a[0] * b[1] - a[1] * b[0]];\n}\n\n// TODO return a\nexport function cartesianAddInPlace(a, b) {\n a[0] += b[0], a[1] += b[1], a[2] += b[2];\n}\n\nexport function cartesianScale(vector, k) {\n return [vector[0] * k, vector[1] * k, vector[2] * k];\n}\n\n// TODO return d\nexport function cartesianNormalizeInPlace(d) {\n var l = sqrt(d[0] * d[0] + d[1] * d[1] + d[2] * d[2]);\n d[0] /= l, d[1] /= l, d[2] /= l;\n}\n","import adder from \"./adder\";\nimport {areaStream, areaRingSum} from \"./area\";\nimport {cartesian, cartesianCross, cartesianNormalizeInPlace, spherical} from \"./cartesian\";\nimport {abs, degrees, epsilon, radians} from \"./math\";\nimport stream from \"./stream\";\n\nvar lambda0, phi0, lambda1, phi1, // bounds\n lambda2, // previous lambda-coordinate\n lambda00, phi00, // first point\n p0, // previous 3D point\n deltaSum = adder(),\n ranges,\n range;\n\nvar boundsStream = {\n point: boundsPoint,\n lineStart: boundsLineStart,\n lineEnd: boundsLineEnd,\n polygonStart: function() {\n boundsStream.point = boundsRingPoint;\n boundsStream.lineStart = boundsRingStart;\n boundsStream.lineEnd = boundsRingEnd;\n deltaSum.reset();\n areaStream.polygonStart();\n },\n polygonEnd: function() {\n areaStream.polygonEnd();\n boundsStream.point = boundsPoint;\n boundsStream.lineStart = boundsLineStart;\n boundsStream.lineEnd = boundsLineEnd;\n if (areaRingSum < 0) lambda0 = -(lambda1 = 180), phi0 = -(phi1 = 90);\n else if (deltaSum > epsilon) phi1 = 90;\n else if (deltaSum < -epsilon) phi0 = -90;\n range[0] = lambda0, range[1] = lambda1;\n }\n};\n\nfunction boundsPoint(lambda, phi) {\n ranges.push(range = [lambda0 = lambda, lambda1 = lambda]);\n if (phi < phi0) phi0 = phi;\n if (phi > phi1) phi1 = phi;\n}\n\nfunction linePoint(lambda, phi) {\n var p = cartesian([lambda * radians, phi * radians]);\n if (p0) {\n var normal = cartesianCross(p0, p),\n equatorial = [normal[1], -normal[0], 0],\n inflection = cartesianCross(equatorial, normal);\n cartesianNormalizeInPlace(inflection);\n inflection = spherical(inflection);\n var delta = lambda - lambda2,\n sign = delta > 0 ? 1 : -1,\n lambdai = inflection[0] * degrees * sign,\n phii,\n antimeridian = abs(delta) > 180;\n if (antimeridian ^ (sign * lambda2 < lambdai && lambdai < sign * lambda)) {\n phii = inflection[1] * degrees;\n if (phii > phi1) phi1 = phii;\n } else if (lambdai = (lambdai + 360) % 360 - 180, antimeridian ^ (sign * lambda2 < lambdai && lambdai < sign * lambda)) {\n phii = -inflection[1] * degrees;\n if (phii < phi0) phi0 = phii;\n } else {\n if (phi < phi0) phi0 = phi;\n if (phi > phi1) phi1 = phi;\n }\n if (antimeridian) {\n if (lambda < lambda2) {\n if (angle(lambda0, lambda) > angle(lambda0, lambda1)) lambda1 = lambda;\n } else {\n if (angle(lambda, lambda1) > angle(lambda0, lambda1)) lambda0 = lambda;\n }\n } else {\n if (lambda1 >= lambda0) {\n if (lambda < lambda0) lambda0 = lambda;\n if (lambda > lambda1) lambda1 = lambda;\n } else {\n if (lambda > lambda2) {\n if (angle(lambda0, lambda) > angle(lambda0, lambda1)) lambda1 = lambda;\n } else {\n if (angle(lambda, lambda1) > angle(lambda0, lambda1)) lambda0 = lambda;\n }\n }\n }\n } else {\n ranges.push(range = [lambda0 = lambda, lambda1 = lambda]);\n }\n if (phi < phi0) phi0 = phi;\n if (phi > phi1) phi1 = phi;\n p0 = p, lambda2 = lambda;\n}\n\nfunction boundsLineStart() {\n boundsStream.point = linePoint;\n}\n\nfunction boundsLineEnd() {\n range[0] = lambda0, range[1] = lambda1;\n boundsStream.point = boundsPoint;\n p0 = null;\n}\n\nfunction boundsRingPoint(lambda, phi) {\n if (p0) {\n var delta = lambda - lambda2;\n deltaSum.add(abs(delta) > 180 ? delta + (delta > 0 ? 360 : -360) : delta);\n } else {\n lambda00 = lambda, phi00 = phi;\n }\n areaStream.point(lambda, phi);\n linePoint(lambda, phi);\n}\n\nfunction boundsRingStart() {\n areaStream.lineStart();\n}\n\nfunction boundsRingEnd() {\n boundsRingPoint(lambda00, phi00);\n areaStream.lineEnd();\n if (abs(deltaSum) > epsilon) lambda0 = -(lambda1 = 180);\n range[0] = lambda0, range[1] = lambda1;\n p0 = null;\n}\n\n// Finds the left-right distance between two longitudes.\n// This is almost the same as (lambda1 - lambda0 + 360°) % 360°, except that we want\n// the distance between ±180° to be 360°.\nfunction angle(lambda0, lambda1) {\n return (lambda1 -= lambda0) < 0 ? lambda1 + 360 : lambda1;\n}\n\nfunction rangeCompare(a, b) {\n return a[0] - b[0];\n}\n\nfunction rangeContains(range, x) {\n return range[0] <= range[1] ? range[0] <= x && x <= range[1] : x < range[0] || range[1] < x;\n}\n\nexport default function(feature) {\n var i, n, a, b, merged, deltaMax, delta;\n\n phi1 = lambda1 = -(lambda0 = phi0 = Infinity);\n ranges = [];\n stream(feature, boundsStream);\n\n // First, sort ranges by their minimum longitudes.\n if (n = ranges.length) {\n ranges.sort(rangeCompare);\n\n // Then, merge any ranges that overlap.\n for (i = 1, a = ranges[0], merged = [a]; i < n; ++i) {\n b = ranges[i];\n if (rangeContains(a, b[0]) || rangeContains(a, b[1])) {\n if (angle(a[0], b[1]) > angle(a[0], a[1])) a[1] = b[1];\n if (angle(b[0], a[1]) > angle(a[0], a[1])) a[0] = b[0];\n } else {\n merged.push(a = b);\n }\n }\n\n // Finally, find the largest gap between the merged ranges.\n // The final bounding box will be the inverse of this gap.\n for (deltaMax = -Infinity, n = merged.length - 1, i = 0, a = merged[n]; i <= n; a = b, ++i) {\n b = merged[i];\n if ((delta = angle(a[1], b[0])) > deltaMax) deltaMax = delta, lambda0 = b[0], lambda1 = a[1];\n }\n }\n\n ranges = range = null;\n\n return lambda0 === Infinity || phi0 === Infinity\n ? [[NaN, NaN], [NaN, NaN]]\n : [[lambda0, phi0], [lambda1, phi1]];\n}\n","import {asin, atan2, cos, degrees, epsilon, epsilon2, radians, sin, sqrt} from \"./math\";\nimport noop from \"./noop\";\nimport stream from \"./stream\";\n\nvar W0, W1,\n X0, Y0, Z0,\n X1, Y1, Z1,\n X2, Y2, Z2,\n lambda00, phi00, // first point\n x0, y0, z0; // previous point\n\nvar centroidStream = {\n sphere: noop,\n point: centroidPoint,\n lineStart: centroidLineStart,\n lineEnd: centroidLineEnd,\n polygonStart: function() {\n centroidStream.lineStart = centroidRingStart;\n centroidStream.lineEnd = centroidRingEnd;\n },\n polygonEnd: function() {\n centroidStream.lineStart = centroidLineStart;\n centroidStream.lineEnd = centroidLineEnd;\n }\n};\n\n// Arithmetic mean of Cartesian vectors.\nfunction centroidPoint(lambda, phi) {\n lambda *= radians, phi *= radians;\n var cosPhi = cos(phi);\n centroidPointCartesian(cosPhi * cos(lambda), cosPhi * sin(lambda), sin(phi));\n}\n\nfunction centroidPointCartesian(x, y, z) {\n ++W0;\n X0 += (x - X0) / W0;\n Y0 += (y - Y0) / W0;\n Z0 += (z - Z0) / W0;\n}\n\nfunction centroidLineStart() {\n centroidStream.point = centroidLinePointFirst;\n}\n\nfunction centroidLinePointFirst(lambda, phi) {\n lambda *= radians, phi *= radians;\n var cosPhi = cos(phi);\n x0 = cosPhi * cos(lambda);\n y0 = cosPhi * sin(lambda);\n z0 = sin(phi);\n centroidStream.point = centroidLinePoint;\n centroidPointCartesian(x0, y0, z0);\n}\n\nfunction centroidLinePoint(lambda, phi) {\n lambda *= radians, phi *= radians;\n var cosPhi = cos(phi),\n x = cosPhi * cos(lambda),\n y = cosPhi * sin(lambda),\n z = sin(phi),\n w = atan2(sqrt((w = y0 * z - z0 * y) * w + (w = z0 * x - x0 * z) * w + (w = x0 * y - y0 * x) * w), x0 * x + y0 * y + z0 * z);\n W1 += w;\n X1 += w * (x0 + (x0 = x));\n Y1 += w * (y0 + (y0 = y));\n Z1 += w * (z0 + (z0 = z));\n centroidPointCartesian(x0, y0, z0);\n}\n\nfunction centroidLineEnd() {\n centroidStream.point = centroidPoint;\n}\n\n// See J. E. Brock, The Inertia Tensor for a Spherical Triangle,\n// J. Applied Mechanics 42, 239 (1975).\nfunction centroidRingStart() {\n centroidStream.point = centroidRingPointFirst;\n}\n\nfunction centroidRingEnd() {\n centroidRingPoint(lambda00, phi00);\n centroidStream.point = centroidPoint;\n}\n\nfunction centroidRingPointFirst(lambda, phi) {\n lambda00 = lambda, phi00 = phi;\n lambda *= radians, phi *= radians;\n centroidStream.point = centroidRingPoint;\n var cosPhi = cos(phi);\n x0 = cosPhi * cos(lambda);\n y0 = cosPhi * sin(lambda);\n z0 = sin(phi);\n centroidPointCartesian(x0, y0, z0);\n}\n\nfunction centroidRingPoint(lambda, phi) {\n lambda *= radians, phi *= radians;\n var cosPhi = cos(phi),\n x = cosPhi * cos(lambda),\n y = cosPhi * sin(lambda),\n z = sin(phi),\n cx = y0 * z - z0 * y,\n cy = z0 * x - x0 * z,\n cz = x0 * y - y0 * x,\n m = sqrt(cx * cx + cy * cy + cz * cz),\n w = asin(m), // line weight = angle\n v = m && -w / m; // area weight multiplier\n X2 += v * cx;\n Y2 += v * cy;\n Z2 += v * cz;\n W1 += w;\n X1 += w * (x0 + (x0 = x));\n Y1 += w * (y0 + (y0 = y));\n Z1 += w * (z0 + (z0 = z));\n centroidPointCartesian(x0, y0, z0);\n}\n\nexport default function(object) {\n W0 = W1 =\n X0 = Y0 = Z0 =\n X1 = Y1 = Z1 =\n X2 = Y2 = Z2 = 0;\n stream(object, centroidStream);\n\n var x = X2,\n y = Y2,\n z = Z2,\n m = x * x + y * y + z * z;\n\n // If the area-weighted ccentroid is undefined, fall back to length-weighted ccentroid.\n if (m < epsilon2) {\n x = X1, y = Y1, z = Z1;\n // If the feature has zero length, fall back to arithmetic mean of point vectors.\n if (W1 < epsilon) x = X0, y = Y0, z = Z0;\n m = x * x + y * y + z * z;\n // If the feature still has an undefined ccentroid, then return.\n if (m < epsilon2) return [NaN, NaN];\n }\n\n return [atan2(y, x) * degrees, asin(z / sqrt(m)) * degrees];\n}\n","export default function(x) {\n return function() {\n return x;\n };\n}\n","export default function(a, b) {\n\n function compose(x, y) {\n return x = a(x, y), b(x[0], x[1]);\n }\n\n if (a.invert && b.invert) compose.invert = function(x, y) {\n return x = b.invert(x, y), x && a.invert(x[0], x[1]);\n };\n\n return compose;\n}\n","import compose from \"./compose\";\nimport {asin, atan2, cos, degrees, pi, radians, sin, tau} from \"./math\";\n\nfunction rotationIdentity(lambda, phi) {\n return [lambda > pi ? lambda - tau : lambda < -pi ? lambda + tau : lambda, phi];\n}\n\nrotationIdentity.invert = rotationIdentity;\n\nexport function rotateRadians(deltaLambda, deltaPhi, deltaGamma) {\n return (deltaLambda %= tau) ? (deltaPhi || deltaGamma ? compose(rotationLambda(deltaLambda), rotationPhiGamma(deltaPhi, deltaGamma))\n : rotationLambda(deltaLambda))\n : (deltaPhi || deltaGamma ? rotationPhiGamma(deltaPhi, deltaGamma)\n : rotationIdentity);\n}\n\nfunction forwardRotationLambda(deltaLambda) {\n return function(lambda, phi) {\n return lambda += deltaLambda, [lambda > pi ? lambda - tau : lambda < -pi ? lambda + tau : lambda, phi];\n };\n}\n\nfunction rotationLambda(deltaLambda) {\n var rotation = forwardRotationLambda(deltaLambda);\n rotation.invert = forwardRotationLambda(-deltaLambda);\n return rotation;\n}\n\nfunction rotationPhiGamma(deltaPhi, deltaGamma) {\n var cosDeltaPhi = cos(deltaPhi),\n sinDeltaPhi = sin(deltaPhi),\n cosDeltaGamma = cos(deltaGamma),\n sinDeltaGamma = sin(deltaGamma);\n\n function rotation(lambda, phi) {\n var cosPhi = cos(phi),\n x = cos(lambda) * cosPhi,\n y = sin(lambda) * cosPhi,\n z = sin(phi),\n k = z * cosDeltaPhi + x * sinDeltaPhi;\n return [\n atan2(y * cosDeltaGamma - k * sinDeltaGamma, x * cosDeltaPhi - z * sinDeltaPhi),\n asin(k * cosDeltaGamma + y * sinDeltaGamma)\n ];\n }\n\n rotation.invert = function(lambda, phi) {\n var cosPhi = cos(phi),\n x = cos(lambda) * cosPhi,\n y = sin(lambda) * cosPhi,\n z = sin(phi),\n k = z * cosDeltaGamma - y * sinDeltaGamma;\n return [\n atan2(y * cosDeltaGamma + z * sinDeltaGamma, x * cosDeltaPhi + k * sinDeltaPhi),\n asin(k * cosDeltaPhi - x * sinDeltaPhi)\n ];\n };\n\n return rotation;\n}\n\nexport default function(rotate) {\n rotate = rotateRadians(rotate[0] * radians, rotate[1] * radians, rotate.length > 2 ? rotate[2] * radians : 0);\n\n function forward(coordinates) {\n coordinates = rotate(coordinates[0] * radians, coordinates[1] * radians);\n return coordinates[0] *= degrees, coordinates[1] *= degrees, coordinates;\n }\n\n forward.invert = function(coordinates) {\n coordinates = rotate.invert(coordinates[0] * radians, coordinates[1] * radians);\n return coordinates[0] *= degrees, coordinates[1] *= degrees, coordinates;\n };\n\n return forward;\n}\n","import {cartesian, cartesianNormalizeInPlace, spherical} from \"./cartesian\";\nimport constant from \"./constant\";\nimport {acos, cos, degrees, epsilon, radians, sin, tau} from \"./math\";\nimport {rotateRadians} from \"./rotation\";\n\n// Generates a circle centered at [0°, 0°], with a given radius and precision.\nexport function circleStream(stream, radius, delta, direction, t0, t1) {\n if (!delta) return;\n var cosRadius = cos(radius),\n sinRadius = sin(radius),\n step = direction * delta;\n if (t0 == null) {\n t0 = radius + direction * tau;\n t1 = radius - step / 2;\n } else {\n t0 = circleRadius(cosRadius, t0);\n t1 = circleRadius(cosRadius, t1);\n if (direction > 0 ? t0 < t1 : t0 > t1) t0 += direction * tau;\n }\n for (var point, t = t0; direction > 0 ? t > t1 : t < t1; t -= step) {\n point = spherical([cosRadius, -sinRadius * cos(t), -sinRadius * sin(t)]);\n stream.point(point[0], point[1]);\n }\n}\n\n// Returns the signed angle of a cartesian point relative to [cosRadius, 0, 0].\nfunction circleRadius(cosRadius, point) {\n point = cartesian(point), point[0] -= cosRadius;\n cartesianNormalizeInPlace(point);\n var radius = acos(-point[1]);\n return ((-point[2] < 0 ? -radius : radius) + tau - epsilon) % tau;\n}\n\nexport default function() {\n var center = constant([0, 0]),\n radius = constant(90),\n precision = constant(6),\n ring,\n rotate,\n stream = {point: point};\n\n function point(x, y) {\n ring.push(x = rotate(x, y));\n x[0] *= degrees, x[1] *= degrees;\n }\n\n function circle() {\n var c = center.apply(this, arguments),\n r = radius.apply(this, arguments) * radians,\n p = precision.apply(this, arguments) * radians;\n ring = [];\n rotate = rotateRadians(-c[0] * radians, -c[1] * radians, 0).invert;\n circleStream(stream, r, p, 1);\n c = {type: \"Polygon\", coordinates: [ring]};\n ring = rotate = null;\n return c;\n }\n\n circle.center = function(_) {\n return arguments.length ? (center = typeof _ === \"function\" ? _ : constant([+_[0], +_[1]]), circle) : center;\n };\n\n circle.radius = function(_) {\n return arguments.length ? (radius = typeof _ === \"function\" ? _ : constant(+_), circle) : radius;\n };\n\n circle.precision = function(_) {\n return arguments.length ? (precision = typeof _ === \"function\" ? _ : constant(+_), circle) : precision;\n };\n\n return circle;\n}\n","import noop from \"../noop\";\n\nexport default function() {\n var lines = [],\n line;\n return {\n point: function(x, y) {\n line.push([x, y]);\n },\n lineStart: function() {\n lines.push(line = []);\n },\n lineEnd: noop,\n rejoin: function() {\n if (lines.length > 1) lines.push(lines.pop().concat(lines.shift()));\n },\n result: function() {\n var result = lines;\n lines = [];\n line = null;\n return result;\n }\n };\n}\n","import {abs, epsilon} from \"./math\";\n\nexport default function(a, b) {\n return abs(a[0] - b[0]) < epsilon && abs(a[1] - b[1]) < epsilon;\n}\n","import pointEqual from \"../pointEqual\";\n\nfunction Intersection(point, points, other, entry) {\n this.x = point;\n this.z = points;\n this.o = other; // another intersection\n this.e = entry; // is an entry?\n this.v = false; // visited\n this.n = this.p = null; // next & previous\n}\n\n// A generalized polygon clipping algorithm: given a polygon that has been cut\n// into its visible line segments, and rejoins the segments by interpolating\n// along the clip edge.\nexport default function(segments, compareIntersection, startInside, interpolate, stream) {\n var subject = [],\n clip = [],\n i,\n n;\n\n segments.forEach(function(segment) {\n if ((n = segment.length - 1) <= 0) return;\n var n, p0 = segment[0], p1 = segment[n], x;\n\n // If the first and last points of a segment are coincident, then treat as a\n // closed ring. TODO if all rings are closed, then the winding order of the\n // exterior ring should be checked.\n if (pointEqual(p0, p1)) {\n stream.lineStart();\n for (i = 0; i < n; ++i) stream.point((p0 = segment[i])[0], p0[1]);\n stream.lineEnd();\n return;\n }\n\n subject.push(x = new Intersection(p0, segment, null, true));\n clip.push(x.o = new Intersection(p0, null, x, false));\n subject.push(x = new Intersection(p1, segment, null, false));\n clip.push(x.o = new Intersection(p1, null, x, true));\n });\n\n if (!subject.length) return;\n\n clip.sort(compareIntersection);\n link(subject);\n link(clip);\n\n for (i = 0, n = clip.length; i < n; ++i) {\n clip[i].e = startInside = !startInside;\n }\n\n var start = subject[0],\n points,\n point;\n\n while (1) {\n // Find first unvisited intersection.\n var current = start,\n isSubject = true;\n while (current.v) if ((current = current.n) === start) return;\n points = current.z;\n stream.lineStart();\n do {\n current.v = current.o.v = true;\n if (current.e) {\n if (isSubject) {\n for (i = 0, n = points.length; i < n; ++i) stream.point((point = points[i])[0], point[1]);\n } else {\n interpolate(current.x, current.n.x, 1, stream);\n }\n current = current.n;\n } else {\n if (isSubject) {\n points = current.p.z;\n for (i = points.length - 1; i >= 0; --i) stream.point((point = points[i])[0], point[1]);\n } else {\n interpolate(current.x, current.p.x, -1, stream);\n }\n current = current.p;\n }\n current = current.o;\n points = current.z;\n isSubject = !isSubject;\n } while (!current.v);\n stream.lineEnd();\n }\n}\n\nfunction link(array) {\n if (!(n = array.length)) return;\n var n,\n i = 0,\n a = array[0],\n b;\n while (++i < n) {\n a.n = b = array[i];\n b.p = a;\n a = b;\n }\n a.n = b = array[0];\n b.p = a;\n}\n","import adder from \"./adder\";\nimport {cartesian, cartesianCross, cartesianNormalizeInPlace} from \"./cartesian\";\nimport {asin, atan2, cos, epsilon, halfPi, pi, quarterPi, sin, tau} from \"./math\";\n\nvar sum = adder();\n\nexport default function(polygon, point) {\n var lambda = point[0],\n phi = point[1],\n sinPhi = sin(phi),\n normal = [sin(lambda), -cos(lambda), 0],\n angle = 0,\n winding = 0;\n\n sum.reset();\n\n if (sinPhi === 1) phi = halfPi + epsilon;\n else if (sinPhi === -1) phi = -halfPi - epsilon;\n\n for (var i = 0, n = polygon.length; i < n; ++i) {\n if (!(m = (ring = polygon[i]).length)) continue;\n var ring,\n m,\n point0 = ring[m - 1],\n lambda0 = point0[0],\n phi0 = point0[1] / 2 + quarterPi,\n sinPhi0 = sin(phi0),\n cosPhi0 = cos(phi0);\n\n for (var j = 0; j < m; ++j, lambda0 = lambda1, sinPhi0 = sinPhi1, cosPhi0 = cosPhi1, point0 = point1) {\n var point1 = ring[j],\n lambda1 = point1[0],\n phi1 = point1[1] / 2 + quarterPi,\n sinPhi1 = sin(phi1),\n cosPhi1 = cos(phi1),\n delta = lambda1 - lambda0,\n sign = delta >= 0 ? 1 : -1,\n absDelta = sign * delta,\n antimeridian = absDelta > pi,\n k = sinPhi0 * sinPhi1;\n\n sum.add(atan2(k * sign * sin(absDelta), cosPhi0 * cosPhi1 + k * cos(absDelta)));\n angle += antimeridian ? delta + sign * tau : delta;\n\n // Are the longitudes either side of the point’s meridian (lambda),\n // and are the latitudes smaller than the parallel (phi)?\n if (antimeridian ^ lambda0 >= lambda ^ lambda1 >= lambda) {\n var arc = cartesianCross(cartesian(point0), cartesian(point1));\n cartesianNormalizeInPlace(arc);\n var intersection = cartesianCross(normal, arc);\n cartesianNormalizeInPlace(intersection);\n var phiArc = (antimeridian ^ delta >= 0 ? -1 : 1) * asin(intersection[2]);\n if (phi > phiArc || phi === phiArc && (arc[0] || arc[1])) {\n winding += antimeridian ^ delta >= 0 ? 1 : -1;\n }\n }\n }\n }\n\n // First, determine whether the South pole is inside or outside:\n //\n // It is inside if:\n // * the polygon winds around it in a clockwise direction.\n // * the polygon does not (cumulatively) wind around it, but has a negative\n // (counter-clockwise) area.\n //\n // Second, count the (signed) number of times a segment crosses a lambda\n // from the point to the South pole. If it is zero, then the point is the\n // same side as the South pole.\n\n return (angle < -epsilon || angle < epsilon && sum < -epsilon) ^ (winding & 1);\n}\n","import clipBuffer from \"./buffer\";\nimport clipRejoin from \"./rejoin\";\nimport {epsilon, halfPi} from \"../math\";\nimport polygonContains from \"../polygonContains\";\nimport {merge} from \"d3-array\";\n\nexport default function(pointVisible, clipLine, interpolate, start) {\n return function(sink) {\n var line = clipLine(sink),\n ringBuffer = clipBuffer(),\n ringSink = clipLine(ringBuffer),\n polygonStarted = false,\n polygon,\n segments,\n ring;\n\n var clip = {\n point: point,\n lineStart: lineStart,\n lineEnd: lineEnd,\n polygonStart: function() {\n clip.point = pointRing;\n clip.lineStart = ringStart;\n clip.lineEnd = ringEnd;\n segments = [];\n polygon = [];\n },\n polygonEnd: function() {\n clip.point = point;\n clip.lineStart = lineStart;\n clip.lineEnd = lineEnd;\n segments = merge(segments);\n var startInside = polygonContains(polygon, start);\n if (segments.length) {\n if (!polygonStarted) sink.polygonStart(), polygonStarted = true;\n clipRejoin(segments, compareIntersection, startInside, interpolate, sink);\n } else if (startInside) {\n if (!polygonStarted) sink.polygonStart(), polygonStarted = true;\n sink.lineStart();\n interpolate(null, null, 1, sink);\n sink.lineEnd();\n }\n if (polygonStarted) sink.polygonEnd(), polygonStarted = false;\n segments = polygon = null;\n },\n sphere: function() {\n sink.polygonStart();\n sink.lineStart();\n interpolate(null, null, 1, sink);\n sink.lineEnd();\n sink.polygonEnd();\n }\n };\n\n function point(lambda, phi) {\n if (pointVisible(lambda, phi)) sink.point(lambda, phi);\n }\n\n function pointLine(lambda, phi) {\n line.point(lambda, phi);\n }\n\n function lineStart() {\n clip.point = pointLine;\n line.lineStart();\n }\n\n function lineEnd() {\n clip.point = point;\n line.lineEnd();\n }\n\n function pointRing(lambda, phi) {\n ring.push([lambda, phi]);\n ringSink.point(lambda, phi);\n }\n\n function ringStart() {\n ringSink.lineStart();\n ring = [];\n }\n\n function ringEnd() {\n pointRing(ring[0][0], ring[0][1]);\n ringSink.lineEnd();\n\n var clean = ringSink.clean(),\n ringSegments = ringBuffer.result(),\n i, n = ringSegments.length, m,\n segment,\n point;\n\n ring.pop();\n polygon.push(ring);\n ring = null;\n\n if (!n) return;\n\n // No intersections.\n if (clean & 1) {\n segment = ringSegments[0];\n if ((m = segment.length - 1) > 0) {\n if (!polygonStarted) sink.polygonStart(), polygonStarted = true;\n sink.lineStart();\n for (i = 0; i < m; ++i) sink.point((point = segment[i])[0], point[1]);\n sink.lineEnd();\n }\n return;\n }\n\n // Rejoin connected segments.\n // TODO reuse ringBuffer.rejoin()?\n if (n > 1 && clean & 2) ringSegments.push(ringSegments.pop().concat(ringSegments.shift()));\n\n segments.push(ringSegments.filter(validSegment));\n }\n\n return clip;\n };\n}\n\nfunction validSegment(segment) {\n return segment.length > 1;\n}\n\n// Intersections are sorted along the clip edge. For both antimeridian cutting\n// and circle clipping, the same comparison is used.\nfunction compareIntersection(a, b) {\n return ((a = a.x)[0] < 0 ? a[1] - halfPi - epsilon : halfPi - a[1])\n - ((b = b.x)[0] < 0 ? b[1] - halfPi - epsilon : halfPi - b[1]);\n}\n","import clip from \"./index\";\nimport {abs, atan, cos, epsilon, halfPi, pi, sin} from \"../math\";\n\nexport default clip(\n function() { return true; },\n clipAntimeridianLine,\n clipAntimeridianInterpolate,\n [-pi, -halfPi]\n);\n\n// Takes a line and cuts into visible segments. Return values: 0 - there were\n// intersections or the line was empty; 1 - no intersections; 2 - there were\n// intersections, and the first and last segments should be rejoined.\nfunction clipAntimeridianLine(stream) {\n var lambda0 = NaN,\n phi0 = NaN,\n sign0 = NaN,\n clean; // no intersections\n\n return {\n lineStart: function() {\n stream.lineStart();\n clean = 1;\n },\n point: function(lambda1, phi1) {\n var sign1 = lambda1 > 0 ? pi : -pi,\n delta = abs(lambda1 - lambda0);\n if (abs(delta - pi) < epsilon) { // line crosses a pole\n stream.point(lambda0, phi0 = (phi0 + phi1) / 2 > 0 ? halfPi : -halfPi);\n stream.point(sign0, phi0);\n stream.lineEnd();\n stream.lineStart();\n stream.point(sign1, phi0);\n stream.point(lambda1, phi0);\n clean = 0;\n } else if (sign0 !== sign1 && delta >= pi) { // line crosses antimeridian\n if (abs(lambda0 - sign0) < epsilon) lambda0 -= sign0 * epsilon; // handle degeneracies\n if (abs(lambda1 - sign1) < epsilon) lambda1 -= sign1 * epsilon;\n phi0 = clipAntimeridianIntersect(lambda0, phi0, lambda1, phi1);\n stream.point(sign0, phi0);\n stream.lineEnd();\n stream.lineStart();\n stream.point(sign1, phi0);\n clean = 0;\n }\n stream.point(lambda0 = lambda1, phi0 = phi1);\n sign0 = sign1;\n },\n lineEnd: function() {\n stream.lineEnd();\n lambda0 = phi0 = NaN;\n },\n clean: function() {\n return 2 - clean; // if intersections, rejoin first and last segments\n }\n };\n}\n\nfunction clipAntimeridianIntersect(lambda0, phi0, lambda1, phi1) {\n var cosPhi0,\n cosPhi1,\n sinLambda0Lambda1 = sin(lambda0 - lambda1);\n return abs(sinLambda0Lambda1) > epsilon\n ? atan((sin(phi0) * (cosPhi1 = cos(phi1)) * sin(lambda1)\n - sin(phi1) * (cosPhi0 = cos(phi0)) * sin(lambda0))\n / (cosPhi0 * cosPhi1 * sinLambda0Lambda1))\n : (phi0 + phi1) / 2;\n}\n\nfunction clipAntimeridianInterpolate(from, to, direction, stream) {\n var phi;\n if (from == null) {\n phi = direction * halfPi;\n stream.point(-pi, phi);\n stream.point(0, phi);\n stream.point(pi, phi);\n stream.point(pi, 0);\n stream.point(pi, -phi);\n stream.point(0, -phi);\n stream.point(-pi, -phi);\n stream.point(-pi, 0);\n stream.point(-pi, phi);\n } else if (abs(from[0] - to[0]) > epsilon) {\n var lambda = from[0] < to[0] ? pi : -pi;\n phi = direction * lambda / 2;\n stream.point(-lambda, phi);\n stream.point(0, phi);\n stream.point(lambda, phi);\n } else {\n stream.point(to[0], to[1]);\n }\n}\n","import {cartesian, cartesianAddInPlace, cartesianCross, cartesianDot, cartesianScale, spherical} from \"../cartesian\";\nimport {circleStream} from \"../circle\";\nimport {abs, cos, epsilon, pi, radians, sqrt} from \"../math\";\nimport pointEqual from \"../pointEqual\";\nimport clip from \"./index\";\n\nexport default function(radius) {\n var cr = cos(radius),\n delta = 6 * radians,\n smallRadius = cr > 0,\n notHemisphere = abs(cr) > epsilon; // TODO optimise for this common case\n\n function interpolate(from, to, direction, stream) {\n circleStream(stream, radius, delta, direction, from, to);\n }\n\n function visible(lambda, phi) {\n return cos(lambda) * cos(phi) > cr;\n }\n\n // Takes a line and cuts into visible segments. Return values used for polygon\n // clipping: 0 - there were intersections or the line was empty; 1 - no\n // intersections 2 - there were intersections, and the first and last segments\n // should be rejoined.\n function clipLine(stream) {\n var point0, // previous point\n c0, // code for previous point\n v0, // visibility of previous point\n v00, // visibility of first point\n clean; // no intersections\n return {\n lineStart: function() {\n v00 = v0 = false;\n clean = 1;\n },\n point: function(lambda, phi) {\n var point1 = [lambda, phi],\n point2,\n v = visible(lambda, phi),\n c = smallRadius\n ? v ? 0 : code(lambda, phi)\n : v ? code(lambda + (lambda < 0 ? pi : -pi), phi) : 0;\n if (!point0 && (v00 = v0 = v)) stream.lineStart();\n // Handle degeneracies.\n // TODO ignore if not clipping polygons.\n if (v !== v0) {\n point2 = intersect(point0, point1);\n if (!point2 || pointEqual(point0, point2) || pointEqual(point1, point2)) {\n point1[0] += epsilon;\n point1[1] += epsilon;\n v = visible(point1[0], point1[1]);\n }\n }\n if (v !== v0) {\n clean = 0;\n if (v) {\n // outside going in\n stream.lineStart();\n point2 = intersect(point1, point0);\n stream.point(point2[0], point2[1]);\n } else {\n // inside going out\n point2 = intersect(point0, point1);\n stream.point(point2[0], point2[1]);\n stream.lineEnd();\n }\n point0 = point2;\n } else if (notHemisphere && point0 && smallRadius ^ v) {\n var t;\n // If the codes for two points are different, or are both zero,\n // and there this segment intersects with the small circle.\n if (!(c & c0) && (t = intersect(point1, point0, true))) {\n clean = 0;\n if (smallRadius) {\n stream.lineStart();\n stream.point(t[0][0], t[0][1]);\n stream.point(t[1][0], t[1][1]);\n stream.lineEnd();\n } else {\n stream.point(t[1][0], t[1][1]);\n stream.lineEnd();\n stream.lineStart();\n stream.point(t[0][0], t[0][1]);\n }\n }\n }\n if (v && (!point0 || !pointEqual(point0, point1))) {\n stream.point(point1[0], point1[1]);\n }\n point0 = point1, v0 = v, c0 = c;\n },\n lineEnd: function() {\n if (v0) stream.lineEnd();\n point0 = null;\n },\n // Rejoin first and last segments if there were intersections and the first\n // and last points were visible.\n clean: function() {\n return clean | ((v00 && v0) << 1);\n }\n };\n }\n\n // Intersects the great circle between a and b with the clip circle.\n function intersect(a, b, two) {\n var pa = cartesian(a),\n pb = cartesian(b);\n\n // We have two planes, n1.p = d1 and n2.p = d2.\n // Find intersection line p(t) = c1 n1 + c2 n2 + t (n1 ⨯ n2).\n var n1 = [1, 0, 0], // normal\n n2 = cartesianCross(pa, pb),\n n2n2 = cartesianDot(n2, n2),\n n1n2 = n2[0], // cartesianDot(n1, n2),\n determinant = n2n2 - n1n2 * n1n2;\n\n // Two polar points.\n if (!determinant) return !two && a;\n\n var c1 = cr * n2n2 / determinant,\n c2 = -cr * n1n2 / determinant,\n n1xn2 = cartesianCross(n1, n2),\n A = cartesianScale(n1, c1),\n B = cartesianScale(n2, c2);\n cartesianAddInPlace(A, B);\n\n // Solve |p(t)|^2 = 1.\n var u = n1xn2,\n w = cartesianDot(A, u),\n uu = cartesianDot(u, u),\n t2 = w * w - uu * (cartesianDot(A, A) - 1);\n\n if (t2 < 0) return;\n\n var t = sqrt(t2),\n q = cartesianScale(u, (-w - t) / uu);\n cartesianAddInPlace(q, A);\n q = spherical(q);\n\n if (!two) return q;\n\n // Two intersection points.\n var lambda0 = a[0],\n lambda1 = b[0],\n phi0 = a[1],\n phi1 = b[1],\n z;\n\n if (lambda1 < lambda0) z = lambda0, lambda0 = lambda1, lambda1 = z;\n\n var delta = lambda1 - lambda0,\n polar = abs(delta - pi) < epsilon,\n meridian = polar || delta < epsilon;\n\n if (!polar && phi1 < phi0) z = phi0, phi0 = phi1, phi1 = z;\n\n // Check that the first point is between a and b.\n if (meridian\n ? polar\n ? phi0 + phi1 > 0 ^ q[1] < (abs(q[0] - lambda0) < epsilon ? phi0 : phi1)\n : phi0 <= q[1] && q[1] <= phi1\n : delta > pi ^ (lambda0 <= q[0] && q[0] <= lambda1)) {\n var q1 = cartesianScale(u, (-w + t) / uu);\n cartesianAddInPlace(q1, A);\n return [q, spherical(q1)];\n }\n }\n\n // Generates a 4-bit vector representing the location of a point relative to\n // the small circle's bounding box.\n function code(lambda, phi) {\n var r = smallRadius ? radius : pi - radius,\n code = 0;\n if (lambda < -r) code |= 1; // left\n else if (lambda > r) code |= 2; // right\n if (phi < -r) code |= 4; // below\n else if (phi > r) code |= 8; // above\n return code;\n }\n\n return clip(visible, clipLine, interpolate, smallRadius ? [0, -radius] : [-pi, radius - pi]);\n}\n","export default function(a, b, x0, y0, x1, y1) {\n var ax = a[0],\n ay = a[1],\n bx = b[0],\n by = b[1],\n t0 = 0,\n t1 = 1,\n dx = bx - ax,\n dy = by - ay,\n r;\n\n r = x0 - ax;\n if (!dx && r > 0) return;\n r /= dx;\n if (dx < 0) {\n if (r < t0) return;\n if (r < t1) t1 = r;\n } else if (dx > 0) {\n if (r > t1) return;\n if (r > t0) t0 = r;\n }\n\n r = x1 - ax;\n if (!dx && r < 0) return;\n r /= dx;\n if (dx < 0) {\n if (r > t1) return;\n if (r > t0) t0 = r;\n } else if (dx > 0) {\n if (r < t0) return;\n if (r < t1) t1 = r;\n }\n\n r = y0 - ay;\n if (!dy && r > 0) return;\n r /= dy;\n if (dy < 0) {\n if (r < t0) return;\n if (r < t1) t1 = r;\n } else if (dy > 0) {\n if (r > t1) return;\n if (r > t0) t0 = r;\n }\n\n r = y1 - ay;\n if (!dy && r < 0) return;\n r /= dy;\n if (dy < 0) {\n if (r > t1) return;\n if (r > t0) t0 = r;\n } else if (dy > 0) {\n if (r < t0) return;\n if (r < t1) t1 = r;\n }\n\n if (t0 > 0) a[0] = ax + t0 * dx, a[1] = ay + t0 * dy;\n if (t1 < 1) b[0] = ax + t1 * dx, b[1] = ay + t1 * dy;\n return true;\n}\n","import {abs, epsilon} from \"../math\";\nimport clipBuffer from \"./buffer\";\nimport clipLine from \"./line\";\nimport clipRejoin from \"./rejoin\";\nimport {merge} from \"d3-array\";\n\nvar clipMax = 1e9, clipMin = -clipMax;\n\n// TODO Use d3-polygon’s polygonContains here for the ring check?\n// TODO Eliminate duplicate buffering in clipBuffer and polygon.push?\n\nexport default function clipRectangle(x0, y0, x1, y1) {\n\n function visible(x, y) {\n return x0 <= x && x <= x1 && y0 <= y && y <= y1;\n }\n\n function interpolate(from, to, direction, stream) {\n var a = 0, a1 = 0;\n if (from == null\n || (a = corner(from, direction)) !== (a1 = corner(to, direction))\n || comparePoint(from, to) < 0 ^ direction > 0) {\n do stream.point(a === 0 || a === 3 ? x0 : x1, a > 1 ? y1 : y0);\n while ((a = (a + direction + 4) % 4) !== a1);\n } else {\n stream.point(to[0], to[1]);\n }\n }\n\n function corner(p, direction) {\n return abs(p[0] - x0) < epsilon ? direction > 0 ? 0 : 3\n : abs(p[0] - x1) < epsilon ? direction > 0 ? 2 : 1\n : abs(p[1] - y0) < epsilon ? direction > 0 ? 1 : 0\n : direction > 0 ? 3 : 2; // abs(p[1] - y1) < epsilon\n }\n\n function compareIntersection(a, b) {\n return comparePoint(a.x, b.x);\n }\n\n function comparePoint(a, b) {\n var ca = corner(a, 1),\n cb = corner(b, 1);\n return ca !== cb ? ca - cb\n : ca === 0 ? b[1] - a[1]\n : ca === 1 ? a[0] - b[0]\n : ca === 2 ? a[1] - b[1]\n : b[0] - a[0];\n }\n\n return function(stream) {\n var activeStream = stream,\n bufferStream = clipBuffer(),\n segments,\n polygon,\n ring,\n x__, y__, v__, // first point\n x_, y_, v_, // previous point\n first,\n clean;\n\n var clipStream = {\n point: point,\n lineStart: lineStart,\n lineEnd: lineEnd,\n polygonStart: polygonStart,\n polygonEnd: polygonEnd\n };\n\n function point(x, y) {\n if (visible(x, y)) activeStream.point(x, y);\n }\n\n function polygonInside() {\n var winding = 0;\n\n for (var i = 0, n = polygon.length; i < n; ++i) {\n for (var ring = polygon[i], j = 1, m = ring.length, point = ring[0], a0, a1, b0 = point[0], b1 = point[1]; j < m; ++j) {\n a0 = b0, a1 = b1, point = ring[j], b0 = point[0], b1 = point[1];\n if (a1 <= y1) { if (b1 > y1 && (b0 - a0) * (y1 - a1) > (b1 - a1) * (x0 - a0)) ++winding; }\n else { if (b1 <= y1 && (b0 - a0) * (y1 - a1) < (b1 - a1) * (x0 - a0)) --winding; }\n }\n }\n\n return winding;\n }\n\n // Buffer geometry within a polygon and then clip it en masse.\n function polygonStart() {\n activeStream = bufferStream, segments = [], polygon = [], clean = true;\n }\n\n function polygonEnd() {\n var startInside = polygonInside(),\n cleanInside = clean && startInside,\n visible = (segments = merge(segments)).length;\n if (cleanInside || visible) {\n stream.polygonStart();\n if (cleanInside) {\n stream.lineStart();\n interpolate(null, null, 1, stream);\n stream.lineEnd();\n }\n if (visible) {\n clipRejoin(segments, compareIntersection, startInside, interpolate, stream);\n }\n stream.polygonEnd();\n }\n activeStream = stream, segments = polygon = ring = null;\n }\n\n function lineStart() {\n clipStream.point = linePoint;\n if (polygon) polygon.push(ring = []);\n first = true;\n v_ = false;\n x_ = y_ = NaN;\n }\n\n // TODO rather than special-case polygons, simply handle them separately.\n // Ideally, coincident intersection points should be jittered to avoid\n // clipping issues.\n function lineEnd() {\n if (segments) {\n linePoint(x__, y__);\n if (v__ && v_) bufferStream.rejoin();\n segments.push(bufferStream.result());\n }\n clipStream.point = point;\n if (v_) activeStream.lineEnd();\n }\n\n function linePoint(x, y) {\n var v = visible(x, y);\n if (polygon) ring.push([x, y]);\n if (first) {\n x__ = x, y__ = y, v__ = v;\n first = false;\n if (v) {\n activeStream.lineStart();\n activeStream.point(x, y);\n }\n } else {\n if (v && v_) activeStream.point(x, y);\n else {\n var a = [x_ = Math.max(clipMin, Math.min(clipMax, x_)), y_ = Math.max(clipMin, Math.min(clipMax, y_))],\n b = [x = Math.max(clipMin, Math.min(clipMax, x)), y = Math.max(clipMin, Math.min(clipMax, y))];\n if (clipLine(a, b, x0, y0, x1, y1)) {\n if (!v_) {\n activeStream.lineStart();\n activeStream.point(a[0], a[1]);\n }\n activeStream.point(b[0], b[1]);\n if (!v) activeStream.lineEnd();\n clean = false;\n } else if (v) {\n activeStream.lineStart();\n activeStream.point(x, y);\n clean = false;\n }\n }\n }\n x_ = x, y_ = y, v_ = v;\n }\n\n return clipStream;\n };\n}\n","import clipRectangle from \"./rectangle\";\n\nexport default function() {\n var x0 = 0,\n y0 = 0,\n x1 = 960,\n y1 = 500,\n cache,\n cacheStream,\n clip;\n\n return clip = {\n stream: function(stream) {\n return cache && cacheStream === stream ? cache : cache = clipRectangle(x0, y0, x1, y1)(cacheStream = stream);\n },\n extent: function(_) {\n return arguments.length ? (x0 = +_[0][0], y0 = +_[0][1], x1 = +_[1][0], y1 = +_[1][1], cache = cacheStream = null, clip) : [[x0, y0], [x1, y1]];\n }\n };\n}\n","import adder from \"./adder\";\nimport {abs, atan2, cos, radians, sin, sqrt} from \"./math\";\nimport noop from \"./noop\";\nimport stream from \"./stream\";\n\nvar lengthSum = adder(),\n lambda0,\n sinPhi0,\n cosPhi0;\n\nvar lengthStream = {\n sphere: noop,\n point: noop,\n lineStart: lengthLineStart,\n lineEnd: noop,\n polygonStart: noop,\n polygonEnd: noop\n};\n\nfunction lengthLineStart() {\n lengthStream.point = lengthPointFirst;\n lengthStream.lineEnd = lengthLineEnd;\n}\n\nfunction lengthLineEnd() {\n lengthStream.point = lengthStream.lineEnd = noop;\n}\n\nfunction lengthPointFirst(lambda, phi) {\n lambda *= radians, phi *= radians;\n lambda0 = lambda, sinPhi0 = sin(phi), cosPhi0 = cos(phi);\n lengthStream.point = lengthPoint;\n}\n\nfunction lengthPoint(lambda, phi) {\n lambda *= radians, phi *= radians;\n var sinPhi = sin(phi),\n cosPhi = cos(phi),\n delta = abs(lambda - lambda0),\n cosDelta = cos(delta),\n sinDelta = sin(delta),\n x = cosPhi * sinDelta,\n y = cosPhi0 * sinPhi - sinPhi0 * cosPhi * cosDelta,\n z = sinPhi0 * sinPhi + cosPhi0 * cosPhi * cosDelta;\n lengthSum.add(atan2(sqrt(x * x + y * y), z));\n lambda0 = lambda, sinPhi0 = sinPhi, cosPhi0 = cosPhi;\n}\n\nexport default function(object) {\n lengthSum.reset();\n stream(object, lengthStream);\n return +lengthSum;\n}\n","import length from \"./length\";\n\nvar coordinates = [null, null],\n object = {type: \"LineString\", coordinates: coordinates};\n\nexport default function(a, b) {\n coordinates[0] = a;\n coordinates[1] = b;\n return length(object);\n}\n","import {default as polygonContains} from \"./polygonContains\";\nimport {default as distance} from \"./distance\";\nimport {epsilon, radians} from \"./math\";\n\nvar containsObjectType = {\n Feature: function(object, point) {\n return containsGeometry(object.geometry, point);\n },\n FeatureCollection: function(object, point) {\n var features = object.features, i = -1, n = features.length;\n while (++i < n) if (containsGeometry(features[i].geometry, point)) return true;\n return false;\n }\n};\n\nvar containsGeometryType = {\n Sphere: function() {\n return true;\n },\n Point: function(object, point) {\n return containsPoint(object.coordinates, point);\n },\n MultiPoint: function(object, point) {\n var coordinates = object.coordinates, i = -1, n = coordinates.length;\n while (++i < n) if (containsPoint(coordinates[i], point)) return true;\n return false;\n },\n LineString: function(object, point) {\n return containsLine(object.coordinates, point);\n },\n MultiLineString: function(object, point) {\n var coordinates = object.coordinates, i = -1, n = coordinates.length;\n while (++i < n) if (containsLine(coordinates[i], point)) return true;\n return false;\n },\n Polygon: function(object, point) {\n return containsPolygon(object.coordinates, point);\n },\n MultiPolygon: function(object, point) {\n var coordinates = object.coordinates, i = -1, n = coordinates.length;\n while (++i < n) if (containsPolygon(coordinates[i], point)) return true;\n return false;\n },\n GeometryCollection: function(object, point) {\n var geometries = object.geometries, i = -1, n = geometries.length;\n while (++i < n) if (containsGeometry(geometries[i], point)) return true;\n return false;\n }\n};\n\nfunction containsGeometry(geometry, point) {\n return geometry && containsGeometryType.hasOwnProperty(geometry.type)\n ? containsGeometryType[geometry.type](geometry, point)\n : false;\n}\n\nfunction containsPoint(coordinates, point) {\n return distance(coordinates, point) === 0;\n}\n\nfunction containsLine(coordinates, point) {\n var ab = distance(coordinates[0], coordinates[1]),\n ao = distance(coordinates[0], point),\n ob = distance(point, coordinates[1]);\n return ao + ob <= ab + epsilon;\n}\n\nfunction containsPolygon(coordinates, point) {\n return !!polygonContains(coordinates.map(ringRadians), pointRadians(point));\n}\n\nfunction ringRadians(ring) {\n return ring = ring.map(pointRadians), ring.pop(), ring;\n}\n\nfunction pointRadians(point) {\n return [point[0] * radians, point[1] * radians];\n}\n\nexport default function(object, point) {\n return (object && containsObjectType.hasOwnProperty(object.type)\n ? containsObjectType[object.type]\n : containsGeometry)(object, point);\n}\n","import {range} from \"d3-array\";\nimport {abs, ceil, epsilon} from \"./math\";\n\nfunction graticuleX(y0, y1, dy) {\n var y = range(y0, y1 - epsilon, dy).concat(y1);\n return function(x) { return y.map(function(y) { return [x, y]; }); };\n}\n\nfunction graticuleY(x0, x1, dx) {\n var x = range(x0, x1 - epsilon, dx).concat(x1);\n return function(y) { return x.map(function(x) { return [x, y]; }); };\n}\n\nexport default function graticule() {\n var x1, x0, X1, X0,\n y1, y0, Y1, Y0,\n dx = 10, dy = dx, DX = 90, DY = 360,\n x, y, X, Y,\n precision = 2.5;\n\n function graticule() {\n return {type: \"MultiLineString\", coordinates: lines()};\n }\n\n function lines() {\n return range(ceil(X0 / DX) * DX, X1, DX).map(X)\n .concat(range(ceil(Y0 / DY) * DY, Y1, DY).map(Y))\n .concat(range(ceil(x0 / dx) * dx, x1, dx).filter(function(x) { return abs(x % DX) > epsilon; }).map(x))\n .concat(range(ceil(y0 / dy) * dy, y1, dy).filter(function(y) { return abs(y % DY) > epsilon; }).map(y));\n }\n\n graticule.lines = function() {\n return lines().map(function(coordinates) { return {type: \"LineString\", coordinates: coordinates}; });\n };\n\n graticule.outline = function() {\n return {\n type: \"Polygon\",\n coordinates: [\n X(X0).concat(\n Y(Y1).slice(1),\n X(X1).reverse().slice(1),\n Y(Y0).reverse().slice(1))\n ]\n };\n };\n\n graticule.extent = function(_) {\n if (!arguments.length) return graticule.extentMinor();\n return graticule.extentMajor(_).extentMinor(_);\n };\n\n graticule.extentMajor = function(_) {\n if (!arguments.length) return [[X0, Y0], [X1, Y1]];\n X0 = +_[0][0], X1 = +_[1][0];\n Y0 = +_[0][1], Y1 = +_[1][1];\n if (X0 > X1) _ = X0, X0 = X1, X1 = _;\n if (Y0 > Y1) _ = Y0, Y0 = Y1, Y1 = _;\n return graticule.precision(precision);\n };\n\n graticule.extentMinor = function(_) {\n if (!arguments.length) return [[x0, y0], [x1, y1]];\n x0 = +_[0][0], x1 = +_[1][0];\n y0 = +_[0][1], y1 = +_[1][1];\n if (x0 > x1) _ = x0, x0 = x1, x1 = _;\n if (y0 > y1) _ = y0, y0 = y1, y1 = _;\n return graticule.precision(precision);\n };\n\n graticule.step = function(_) {\n if (!arguments.length) return graticule.stepMinor();\n return graticule.stepMajor(_).stepMinor(_);\n };\n\n graticule.stepMajor = function(_) {\n if (!arguments.length) return [DX, DY];\n DX = +_[0], DY = +_[1];\n return graticule;\n };\n\n graticule.stepMinor = function(_) {\n if (!arguments.length) return [dx, dy];\n dx = +_[0], dy = +_[1];\n return graticule;\n };\n\n graticule.precision = function(_) {\n if (!arguments.length) return precision;\n precision = +_;\n x = graticuleX(y0, y1, 90);\n y = graticuleY(x0, x1, precision);\n X = graticuleX(Y0, Y1, 90);\n Y = graticuleY(X0, X1, precision);\n return graticule;\n };\n\n return graticule\n .extentMajor([[-180, -90 + epsilon], [180, 90 - epsilon]])\n .extentMinor([[-180, -80 - epsilon], [180, 80 + epsilon]]);\n}\n\nexport function graticule10() {\n return graticule()();\n}\n","import {asin, atan2, cos, degrees, haversin, radians, sin, sqrt} from \"./math\";\n\nexport default function(a, b) {\n var x0 = a[0] * radians,\n y0 = a[1] * radians,\n x1 = b[0] * radians,\n y1 = b[1] * radians,\n cy0 = cos(y0),\n sy0 = sin(y0),\n cy1 = cos(y1),\n sy1 = sin(y1),\n kx0 = cy0 * cos(x0),\n ky0 = cy0 * sin(x0),\n kx1 = cy1 * cos(x1),\n ky1 = cy1 * sin(x1),\n d = 2 * asin(sqrt(haversin(y1 - y0) + cy0 * cy1 * haversin(x1 - x0))),\n k = sin(d);\n\n var interpolate = d ? function(t) {\n var B = sin(t *= d) / k,\n A = sin(d - t) / k,\n x = A * kx0 + B * kx1,\n y = A * ky0 + B * ky1,\n z = A * sy0 + B * sy1;\n return [\n atan2(y, x) * degrees,\n atan2(z, sqrt(x * x + y * y)) * degrees\n ];\n } : function() {\n return [x0 * degrees, y0 * degrees];\n };\n\n interpolate.distance = d;\n\n return interpolate;\n}\n","import adder from \"../adder\";\nimport {abs} from \"../math\";\nimport noop from \"../noop\";\n\nvar areaSum = adder(),\n areaRingSum = adder(),\n x00,\n y00,\n x0,\n y0;\n\nvar areaStream = {\n point: noop,\n lineStart: noop,\n lineEnd: noop,\n polygonStart: function() {\n areaStream.lineStart = areaRingStart;\n areaStream.lineEnd = areaRingEnd;\n },\n polygonEnd: function() {\n areaStream.lineStart = areaStream.lineEnd = areaStream.point = noop;\n areaSum.add(abs(areaRingSum));\n areaRingSum.reset();\n },\n result: function() {\n var area = areaSum / 2;\n areaSum.reset();\n return area;\n }\n};\n\nfunction areaRingStart() {\n areaStream.point = areaPointFirst;\n}\n\nfunction areaPointFirst(x, y) {\n areaStream.point = areaPoint;\n x00 = x0 = x, y00 = y0 = y;\n}\n\nfunction areaPoint(x, y) {\n areaRingSum.add(y0 * x - x0 * y);\n x0 = x, y0 = y;\n}\n\nfunction areaRingEnd() {\n areaPoint(x00, y00);\n}\n\nexport default areaStream;\n","export default function(x) {\n return x;\n}\n","import noop from \"../noop\";\n\nvar x0 = Infinity,\n y0 = x0,\n x1 = -x0,\n y1 = x1;\n\nvar boundsStream = {\n point: boundsPoint,\n lineStart: noop,\n lineEnd: noop,\n polygonStart: noop,\n polygonEnd: noop,\n result: function() {\n var bounds = [[x0, y0], [x1, y1]];\n x1 = y1 = -(y0 = x0 = Infinity);\n return bounds;\n }\n};\n\nfunction boundsPoint(x, y) {\n if (x < x0) x0 = x;\n if (x > x1) x1 = x;\n if (y < y0) y0 = y;\n if (y > y1) y1 = y;\n}\n\nexport default boundsStream;\n","import {sqrt} from \"../math\";\n\n// TODO Enforce positive area for exterior, negative area for interior?\n\nvar X0 = 0,\n Y0 = 0,\n Z0 = 0,\n X1 = 0,\n Y1 = 0,\n Z1 = 0,\n X2 = 0,\n Y2 = 0,\n Z2 = 0,\n x00,\n y00,\n x0,\n y0;\n\nvar centroidStream = {\n point: centroidPoint,\n lineStart: centroidLineStart,\n lineEnd: centroidLineEnd,\n polygonStart: function() {\n centroidStream.lineStart = centroidRingStart;\n centroidStream.lineEnd = centroidRingEnd;\n },\n polygonEnd: function() {\n centroidStream.point = centroidPoint;\n centroidStream.lineStart = centroidLineStart;\n centroidStream.lineEnd = centroidLineEnd;\n },\n result: function() {\n var centroid = Z2 ? [X2 / Z2, Y2 / Z2]\n : Z1 ? [X1 / Z1, Y1 / Z1]\n : Z0 ? [X0 / Z0, Y0 / Z0]\n : [NaN, NaN];\n X0 = Y0 = Z0 =\n X1 = Y1 = Z1 =\n X2 = Y2 = Z2 = 0;\n return centroid;\n }\n};\n\nfunction centroidPoint(x, y) {\n X0 += x;\n Y0 += y;\n ++Z0;\n}\n\nfunction centroidLineStart() {\n centroidStream.point = centroidPointFirstLine;\n}\n\nfunction centroidPointFirstLine(x, y) {\n centroidStream.point = centroidPointLine;\n centroidPoint(x0 = x, y0 = y);\n}\n\nfunction centroidPointLine(x, y) {\n var dx = x - x0, dy = y - y0, z = sqrt(dx * dx + dy * dy);\n X1 += z * (x0 + x) / 2;\n Y1 += z * (y0 + y) / 2;\n Z1 += z;\n centroidPoint(x0 = x, y0 = y);\n}\n\nfunction centroidLineEnd() {\n centroidStream.point = centroidPoint;\n}\n\nfunction centroidRingStart() {\n centroidStream.point = centroidPointFirstRing;\n}\n\nfunction centroidRingEnd() {\n centroidPointRing(x00, y00);\n}\n\nfunction centroidPointFirstRing(x, y) {\n centroidStream.point = centroidPointRing;\n centroidPoint(x00 = x0 = x, y00 = y0 = y);\n}\n\nfunction centroidPointRing(x, y) {\n var dx = x - x0,\n dy = y - y0,\n z = sqrt(dx * dx + dy * dy);\n\n X1 += z * (x0 + x) / 2;\n Y1 += z * (y0 + y) / 2;\n Z1 += z;\n\n z = y0 * x - x0 * y;\n X2 += z * (x0 + x);\n Y2 += z * (y0 + y);\n Z2 += z * 3;\n centroidPoint(x0 = x, y0 = y);\n}\n\nexport default centroidStream;\n","import {tau} from \"../math\";\nimport noop from \"../noop\";\n\nexport default function PathContext(context) {\n this._context = context;\n}\n\nPathContext.prototype = {\n _radius: 4.5,\n pointRadius: function(_) {\n return this._radius = _, this;\n },\n polygonStart: function() {\n this._line = 0;\n },\n polygonEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._point = 0;\n },\n lineEnd: function() {\n if (this._line === 0) this._context.closePath();\n this._point = NaN;\n },\n point: function(x, y) {\n switch (this._point) {\n case 0: {\n this._context.moveTo(x, y);\n this._point = 1;\n break;\n }\n case 1: {\n this._context.lineTo(x, y);\n break;\n }\n default: {\n this._context.moveTo(x + this._radius, y);\n this._context.arc(x, y, this._radius, 0, tau);\n break;\n }\n }\n },\n result: noop\n};\n","import adder from \"../adder\";\nimport {sqrt} from \"../math\";\nimport noop from \"../noop\";\n\nvar lengthSum = adder(),\n lengthRing,\n x00,\n y00,\n x0,\n y0;\n\nvar lengthStream = {\n point: noop,\n lineStart: function() {\n lengthStream.point = lengthPointFirst;\n },\n lineEnd: function() {\n if (lengthRing) lengthPoint(x00, y00);\n lengthStream.point = noop;\n },\n polygonStart: function() {\n lengthRing = true;\n },\n polygonEnd: function() {\n lengthRing = null;\n },\n result: function() {\n var length = +lengthSum;\n lengthSum.reset();\n return length;\n }\n};\n\nfunction lengthPointFirst(x, y) {\n lengthStream.point = lengthPoint;\n x00 = x0 = x, y00 = y0 = y;\n}\n\nfunction lengthPoint(x, y) {\n x0 -= x, y0 -= y;\n lengthSum.add(sqrt(x0 * x0 + y0 * y0));\n x0 = x, y0 = y;\n}\n\nexport default lengthStream;\n","export default function PathString() {\n this._string = [];\n}\n\nPathString.prototype = {\n _radius: 4.5,\n _circle: circle(4.5),\n pointRadius: function(_) {\n if ((_ = +_) !== this._radius) this._radius = _, this._circle = null;\n return this;\n },\n polygonStart: function() {\n this._line = 0;\n },\n polygonEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._point = 0;\n },\n lineEnd: function() {\n if (this._line === 0) this._string.push(\"Z\");\n this._point = NaN;\n },\n point: function(x, y) {\n switch (this._point) {\n case 0: {\n this._string.push(\"M\", x, \",\", y);\n this._point = 1;\n break;\n }\n case 1: {\n this._string.push(\"L\", x, \",\", y);\n break;\n }\n default: {\n if (this._circle == null) this._circle = circle(this._radius);\n this._string.push(\"M\", x, \",\", y, this._circle);\n break;\n }\n }\n },\n result: function() {\n if (this._string.length) {\n var result = this._string.join(\"\");\n this._string = [];\n return result;\n } else {\n return null;\n }\n }\n};\n\nfunction circle(radius) {\n return \"m0,\" + radius\n + \"a\" + radius + \",\" + radius + \" 0 1,1 0,\" + -2 * radius\n + \"a\" + radius + \",\" + radius + \" 0 1,1 0,\" + 2 * radius\n + \"z\";\n}\n","import identity from \"../identity\";\nimport stream from \"../stream\";\nimport pathArea from \"./area\";\nimport pathBounds from \"./bounds\";\nimport pathCentroid from \"./centroid\";\nimport PathContext from \"./context\";\nimport pathMeasure from \"./measure\";\nimport PathString from \"./string\";\n\nexport default function(projection, context) {\n var pointRadius = 4.5,\n projectionStream,\n contextStream;\n\n function path(object) {\n if (object) {\n if (typeof pointRadius === \"function\") contextStream.pointRadius(+pointRadius.apply(this, arguments));\n stream(object, projectionStream(contextStream));\n }\n return contextStream.result();\n }\n\n path.area = function(object) {\n stream(object, projectionStream(pathArea));\n return pathArea.result();\n };\n\n path.measure = function(object) {\n stream(object, projectionStream(pathMeasure));\n return pathMeasure.result();\n };\n\n path.bounds = function(object) {\n stream(object, projectionStream(pathBounds));\n return pathBounds.result();\n };\n\n path.centroid = function(object) {\n stream(object, projectionStream(pathCentroid));\n return pathCentroid.result();\n };\n\n path.projection = function(_) {\n return arguments.length ? (projectionStream = _ == null ? (projection = null, identity) : (projection = _).stream, path) : projection;\n };\n\n path.context = function(_) {\n if (!arguments.length) return context;\n contextStream = _ == null ? (context = null, new PathString) : new PathContext(context = _);\n if (typeof pointRadius !== \"function\") contextStream.pointRadius(pointRadius);\n return path;\n };\n\n path.pointRadius = function(_) {\n if (!arguments.length) return pointRadius;\n pointRadius = typeof _ === \"function\" ? _ : (contextStream.pointRadius(+_), +_);\n return path;\n };\n\n return path.projection(projection).context(context);\n}\n","export default function(methods) {\n return {\n stream: transformer(methods)\n };\n}\n\nexport function transformer(methods) {\n return function(stream) {\n var s = new TransformStream;\n for (var key in methods) s[key] = methods[key];\n s.stream = stream;\n return s;\n };\n}\n\nfunction TransformStream() {}\n\nTransformStream.prototype = {\n constructor: TransformStream,\n point: function(x, y) { this.stream.point(x, y); },\n sphere: function() { this.stream.sphere(); },\n lineStart: function() { this.stream.lineStart(); },\n lineEnd: function() { this.stream.lineEnd(); },\n polygonStart: function() { this.stream.polygonStart(); },\n polygonEnd: function() { this.stream.polygonEnd(); }\n};\n","import {default as geoStream} from \"../stream\";\nimport boundsStream from \"../path/bounds\";\n\nfunction fit(projection, fitBounds, object) {\n var clip = projection.clipExtent && projection.clipExtent();\n projection.scale(150).translate([0, 0]);\n if (clip != null) projection.clipExtent(null);\n geoStream(object, projection.stream(boundsStream));\n fitBounds(boundsStream.result());\n if (clip != null) projection.clipExtent(clip);\n return projection;\n}\n\nexport function fitExtent(projection, extent, object) {\n return fit(projection, function(b) {\n var w = extent[1][0] - extent[0][0],\n h = extent[1][1] - extent[0][1],\n k = Math.min(w / (b[1][0] - b[0][0]), h / (b[1][1] - b[0][1])),\n x = +extent[0][0] + (w - k * (b[1][0] + b[0][0])) / 2,\n y = +extent[0][1] + (h - k * (b[1][1] + b[0][1])) / 2;\n projection.scale(150 * k).translate([x, y]);\n }, object);\n}\n\nexport function fitSize(projection, size, object) {\n return fitExtent(projection, [[0, 0], size], object);\n}\n\nexport function fitWidth(projection, width, object) {\n return fit(projection, function(b) {\n var w = +width,\n k = w / (b[1][0] - b[0][0]),\n x = (w - k * (b[1][0] + b[0][0])) / 2,\n y = -k * b[0][1];\n projection.scale(150 * k).translate([x, y]);\n }, object);\n}\n\nexport function fitHeight(projection, height, object) {\n return fit(projection, function(b) {\n var h = +height,\n k = h / (b[1][1] - b[0][1]),\n x = -k * b[0][0],\n y = (h - k * (b[1][1] + b[0][1])) / 2;\n projection.scale(150 * k).translate([x, y]);\n }, object);\n}\n","import {cartesian} from \"../cartesian\";\nimport {abs, asin, atan2, cos, epsilon, radians, sqrt} from \"../math\";\nimport {transformer} from \"../transform\";\n\nvar maxDepth = 16, // maximum depth of subdivision\n cosMinDistance = cos(30 * radians); // cos(minimum angular distance)\n\nexport default function(project, delta2) {\n return +delta2 ? resample(project, delta2) : resampleNone(project);\n}\n\nfunction resampleNone(project) {\n return transformer({\n point: function(x, y) {\n x = project(x, y);\n this.stream.point(x[0], x[1]);\n }\n });\n}\n\nfunction resample(project, delta2) {\n\n function resampleLineTo(x0, y0, lambda0, a0, b0, c0, x1, y1, lambda1, a1, b1, c1, depth, stream) {\n var dx = x1 - x0,\n dy = y1 - y0,\n d2 = dx * dx + dy * dy;\n if (d2 > 4 * delta2 && depth--) {\n var a = a0 + a1,\n b = b0 + b1,\n c = c0 + c1,\n m = sqrt(a * a + b * b + c * c),\n phi2 = asin(c /= m),\n lambda2 = abs(abs(c) - 1) < epsilon || abs(lambda0 - lambda1) < epsilon ? (lambda0 + lambda1) / 2 : atan2(b, a),\n p = project(lambda2, phi2),\n x2 = p[0],\n y2 = p[1],\n dx2 = x2 - x0,\n dy2 = y2 - y0,\n dz = dy * dx2 - dx * dy2;\n if (dz * dz / d2 > delta2 // perpendicular projected distance\n || abs((dx * dx2 + dy * dy2) / d2 - 0.5) > 0.3 // midpoint close to an end\n || a0 * a1 + b0 * b1 + c0 * c1 < cosMinDistance) { // angular distance\n resampleLineTo(x0, y0, lambda0, a0, b0, c0, x2, y2, lambda2, a /= m, b /= m, c, depth, stream);\n stream.point(x2, y2);\n resampleLineTo(x2, y2, lambda2, a, b, c, x1, y1, lambda1, a1, b1, c1, depth, stream);\n }\n }\n }\n return function(stream) {\n var lambda00, x00, y00, a00, b00, c00, // first point\n lambda0, x0, y0, a0, b0, c0; // previous point\n\n var resampleStream = {\n point: point,\n lineStart: lineStart,\n lineEnd: lineEnd,\n polygonStart: function() { stream.polygonStart(); resampleStream.lineStart = ringStart; },\n polygonEnd: function() { stream.polygonEnd(); resampleStream.lineStart = lineStart; }\n };\n\n function point(x, y) {\n x = project(x, y);\n stream.point(x[0], x[1]);\n }\n\n function lineStart() {\n x0 = NaN;\n resampleStream.point = linePoint;\n stream.lineStart();\n }\n\n function linePoint(lambda, phi) {\n var c = cartesian([lambda, phi]), p = project(lambda, phi);\n resampleLineTo(x0, y0, lambda0, a0, b0, c0, x0 = p[0], y0 = p[1], lambda0 = lambda, a0 = c[0], b0 = c[1], c0 = c[2], maxDepth, stream);\n stream.point(x0, y0);\n }\n\n function lineEnd() {\n resampleStream.point = point;\n stream.lineEnd();\n }\n\n function ringStart() {\n lineStart();\n resampleStream.point = ringPoint;\n resampleStream.lineEnd = ringEnd;\n }\n\n function ringPoint(lambda, phi) {\n linePoint(lambda00 = lambda, phi), x00 = x0, y00 = y0, a00 = a0, b00 = b0, c00 = c0;\n resampleStream.point = linePoint;\n }\n\n function ringEnd() {\n resampleLineTo(x0, y0, lambda0, a0, b0, c0, x00, y00, lambda00, a00, b00, c00, maxDepth, stream);\n resampleStream.lineEnd = lineEnd;\n lineEnd();\n }\n\n return resampleStream;\n };\n}\n","import clipAntimeridian from \"../clip/antimeridian\";\nimport clipCircle from \"../clip/circle\";\nimport clipRectangle from \"../clip/rectangle\";\nimport compose from \"../compose\";\nimport identity from \"../identity\";\nimport {cos, degrees, radians, sin, sqrt} from \"../math\";\nimport {rotateRadians} from \"../rotation\";\nimport {transformer} from \"../transform\";\nimport {fitExtent, fitSize, fitWidth, fitHeight} from \"./fit\";\nimport resample from \"./resample\";\n\nvar transformRadians = transformer({\n point: function(x, y) {\n this.stream.point(x * radians, y * radians);\n }\n});\n\nfunction transformRotate(rotate) {\n return transformer({\n point: function(x, y) {\n var r = rotate(x, y);\n return this.stream.point(r[0], r[1]);\n }\n });\n}\n\nfunction scaleTranslate(k, dx, dy) {\n function transform(x, y) {\n return [dx + k * x, dy - k * y];\n }\n transform.invert = function(x, y) {\n return [(x - dx) / k, (dy - y) / k];\n };\n return transform;\n}\n\nfunction scaleTranslateRotate(k, dx, dy, alpha) {\n var cosAlpha = cos(alpha),\n sinAlpha = sin(alpha),\n a = cosAlpha * k,\n b = sinAlpha * k,\n ai = cosAlpha / k,\n bi = sinAlpha / k,\n ci = (sinAlpha * dy - cosAlpha * dx) / k,\n fi = (sinAlpha * dx + cosAlpha * dy) / k;\n function transform(x, y) {\n return [a * x - b * y + dx, dy - b * x - a * y];\n }\n transform.invert = function(x, y) {\n return [ai * x - bi * y + ci, fi - bi * x - ai * y];\n };\n return transform;\n}\n\nexport default function projection(project) {\n return projectionMutator(function() { return project; })();\n}\n\nexport function projectionMutator(projectAt) {\n var project,\n k = 150, // scale\n x = 480, y = 250, // translate\n lambda = 0, phi = 0, // center\n deltaLambda = 0, deltaPhi = 0, deltaGamma = 0, rotate, // pre-rotate\n alpha = 0, // post-rotate\n theta = null, preclip = clipAntimeridian, // pre-clip angle\n x0 = null, y0, x1, y1, postclip = identity, // post-clip extent\n delta2 = 0.5, // precision\n projectResample,\n projectTransform,\n projectRotateTransform,\n cache,\n cacheStream;\n\n function projection(point) {\n return projectRotateTransform(point[0] * radians, point[1] * radians);\n }\n\n function invert(point) {\n point = projectRotateTransform.invert(point[0], point[1]);\n return point && [point[0] * degrees, point[1] * degrees];\n }\n\n projection.stream = function(stream) {\n return cache && cacheStream === stream ? cache : cache = transformRadians(transformRotate(rotate)(preclip(projectResample(postclip(cacheStream = stream)))));\n };\n\n projection.preclip = function(_) {\n return arguments.length ? (preclip = _, theta = undefined, reset()) : preclip;\n };\n\n projection.postclip = function(_) {\n return arguments.length ? (postclip = _, x0 = y0 = x1 = y1 = null, reset()) : postclip;\n };\n\n projection.clipAngle = function(_) {\n return arguments.length ? (preclip = +_ ? clipCircle(theta = _ * radians) : (theta = null, clipAntimeridian), reset()) : theta * degrees;\n };\n\n projection.clipExtent = function(_) {\n return arguments.length ? (postclip = _ == null ? (x0 = y0 = x1 = y1 = null, identity) : clipRectangle(x0 = +_[0][0], y0 = +_[0][1], x1 = +_[1][0], y1 = +_[1][1]), reset()) : x0 == null ? null : [[x0, y0], [x1, y1]];\n };\n\n projection.scale = function(_) {\n return arguments.length ? (k = +_, recenter()) : k;\n };\n\n projection.translate = function(_) {\n return arguments.length ? (x = +_[0], y = +_[1], recenter()) : [x, y];\n };\n\n projection.center = function(_) {\n return arguments.length ? (lambda = _[0] % 360 * radians, phi = _[1] % 360 * radians, recenter()) : [lambda * degrees, phi * degrees];\n };\n\n projection.rotate = function(_) {\n return arguments.length ? (deltaLambda = _[0] % 360 * radians, deltaPhi = _[1] % 360 * radians, deltaGamma = _.length > 2 ? _[2] % 360 * radians : 0, recenter()) : [deltaLambda * degrees, deltaPhi * degrees, deltaGamma * degrees];\n };\n\n projection.angle = function(_) {\n return arguments.length ? (alpha = _ % 360 * radians, recenter()) : alpha * degrees;\n };\n\n projection.precision = function(_) {\n return arguments.length ? (projectResample = resample(projectTransform, delta2 = _ * _), reset()) : sqrt(delta2);\n };\n\n projection.fitExtent = function(extent, object) {\n return fitExtent(projection, extent, object);\n };\n\n projection.fitSize = function(size, object) {\n return fitSize(projection, size, object);\n };\n\n projection.fitWidth = function(width, object) {\n return fitWidth(projection, width, object);\n };\n\n projection.fitHeight = function(height, object) {\n return fitHeight(projection, height, object);\n };\n\n function recenter() {\n var center = scaleTranslateRotate(k, 0, 0, alpha).apply(null, project(lambda, phi)),\n transform = (alpha ? scaleTranslateRotate : scaleTranslate)(k, x - center[0], y - center[1], alpha);\n rotate = rotateRadians(deltaLambda, deltaPhi, deltaGamma);\n projectTransform = compose(project, transform);\n projectRotateTransform = compose(rotate, projectTransform);\n projectResample = resample(projectTransform, delta2);\n return reset();\n }\n\n function reset() {\n cache = cacheStream = null;\n return projection;\n }\n\n return function() {\n project = projectAt.apply(this, arguments);\n projection.invert = project.invert && invert;\n return recenter();\n };\n}\n","import {degrees, pi, radians} from \"../math\";\nimport {projectionMutator} from \"./index\";\n\nexport function conicProjection(projectAt) {\n var phi0 = 0,\n phi1 = pi / 3,\n m = projectionMutator(projectAt),\n p = m(phi0, phi1);\n\n p.parallels = function(_) {\n return arguments.length ? m(phi0 = _[0] * radians, phi1 = _[1] * radians) : [phi0 * degrees, phi1 * degrees];\n };\n\n return p;\n}\n","import {abs, asin, atan2, cos, epsilon, sign, sin, sqrt} from \"../math\";\nimport {conicProjection} from \"./conic\";\nimport {cylindricalEqualAreaRaw} from \"./cylindricalEqualArea\";\n\nexport function conicEqualAreaRaw(y0, y1) {\n var sy0 = sin(y0), n = (sy0 + sin(y1)) / 2;\n\n // Are the parallels symmetrical around the Equator?\n if (abs(n) < epsilon) return cylindricalEqualAreaRaw(y0);\n\n var c = 1 + sy0 * (2 * n - sy0), r0 = sqrt(c) / n;\n\n function project(x, y) {\n var r = sqrt(c - 2 * n * sin(y)) / n;\n return [r * sin(x *= n), r0 - r * cos(x)];\n }\n\n project.invert = function(x, y) {\n var r0y = r0 - y;\n return [atan2(x, abs(r0y)) / n * sign(r0y), asin((c - (x * x + r0y * r0y) * n * n) / (2 * n))];\n };\n\n return project;\n}\n\nexport default function() {\n return conicProjection(conicEqualAreaRaw)\n .scale(155.424)\n .center([0, 33.6442]);\n}\n","import {asin, cos, sin} from \"../math\";\n\nexport function cylindricalEqualAreaRaw(phi0) {\n var cosPhi0 = cos(phi0);\n\n function forward(lambda, phi) {\n return [lambda * cosPhi0, sin(phi) / cosPhi0];\n }\n\n forward.invert = function(x, y) {\n return [x / cosPhi0, asin(y * cosPhi0)];\n };\n\n return forward;\n}\n","import conicEqualArea from \"./conicEqualArea\";\n\nexport default function() {\n return conicEqualArea()\n .parallels([29.5, 45.5])\n .scale(1070)\n .translate([480, 250])\n .rotate([96, 0])\n .center([-0.6, 38.7]);\n}\n","import {epsilon} from \"../math\";\nimport albers from \"./albers\";\nimport conicEqualArea from \"./conicEqualArea\";\nimport {fitExtent, fitSize, fitWidth, fitHeight} from \"./fit\";\n\n// The projections must have mutually exclusive clip regions on the sphere,\n// as this will avoid emitting interleaving lines and polygons.\nfunction multiplex(streams) {\n var n = streams.length;\n return {\n point: function(x, y) { var i = -1; while (++i < n) streams[i].point(x, y); },\n sphere: function() { var i = -1; while (++i < n) streams[i].sphere(); },\n lineStart: function() { var i = -1; while (++i < n) streams[i].lineStart(); },\n lineEnd: function() { var i = -1; while (++i < n) streams[i].lineEnd(); },\n polygonStart: function() { var i = -1; while (++i < n) streams[i].polygonStart(); },\n polygonEnd: function() { var i = -1; while (++i < n) streams[i].polygonEnd(); }\n };\n}\n\n// A composite projection for the United States, configured by default for\n// 960×500. The projection also works quite well at 960×600 if you change the\n// scale to 1285 and adjust the translate accordingly. The set of standard\n// parallels for each region comes from USGS, which is published here:\n// http://egsc.usgs.gov/isb/pubs/MapProjections/projections.html#albers\nexport default function() {\n var cache,\n cacheStream,\n lower48 = albers(), lower48Point,\n alaska = conicEqualArea().rotate([154, 0]).center([-2, 58.5]).parallels([55, 65]), alaskaPoint, // EPSG:3338\n hawaii = conicEqualArea().rotate([157, 0]).center([-3, 19.9]).parallels([8, 18]), hawaiiPoint, // ESRI:102007\n point, pointStream = {point: function(x, y) { point = [x, y]; }};\n\n function albersUsa(coordinates) {\n var x = coordinates[0], y = coordinates[1];\n return point = null,\n (lower48Point.point(x, y), point)\n || (alaskaPoint.point(x, y), point)\n || (hawaiiPoint.point(x, y), point);\n }\n\n albersUsa.invert = function(coordinates) {\n var k = lower48.scale(),\n t = lower48.translate(),\n x = (coordinates[0] - t[0]) / k,\n y = (coordinates[1] - t[1]) / k;\n return (y >= 0.120 && y < 0.234 && x >= -0.425 && x < -0.214 ? alaska\n : y >= 0.166 && y < 0.234 && x >= -0.214 && x < -0.115 ? hawaii\n : lower48).invert(coordinates);\n };\n\n albersUsa.stream = function(stream) {\n return cache && cacheStream === stream ? cache : cache = multiplex([lower48.stream(cacheStream = stream), alaska.stream(stream), hawaii.stream(stream)]);\n };\n\n albersUsa.precision = function(_) {\n if (!arguments.length) return lower48.precision();\n lower48.precision(_), alaska.precision(_), hawaii.precision(_);\n return reset();\n };\n\n albersUsa.scale = function(_) {\n if (!arguments.length) return lower48.scale();\n lower48.scale(_), alaska.scale(_ * 0.35), hawaii.scale(_);\n return albersUsa.translate(lower48.translate());\n };\n\n albersUsa.translate = function(_) {\n if (!arguments.length) return lower48.translate();\n var k = lower48.scale(), x = +_[0], y = +_[1];\n\n lower48Point = lower48\n .translate(_)\n .clipExtent([[x - 0.455 * k, y - 0.238 * k], [x + 0.455 * k, y + 0.238 * k]])\n .stream(pointStream);\n\n alaskaPoint = alaska\n .translate([x - 0.307 * k, y + 0.201 * k])\n .clipExtent([[x - 0.425 * k + epsilon, y + 0.120 * k + epsilon], [x - 0.214 * k - epsilon, y + 0.234 * k - epsilon]])\n .stream(pointStream);\n\n hawaiiPoint = hawaii\n .translate([x - 0.205 * k, y + 0.212 * k])\n .clipExtent([[x - 0.214 * k + epsilon, y + 0.166 * k + epsilon], [x - 0.115 * k - epsilon, y + 0.234 * k - epsilon]])\n .stream(pointStream);\n\n return reset();\n };\n\n albersUsa.fitExtent = function(extent, object) {\n return fitExtent(albersUsa, extent, object);\n };\n\n albersUsa.fitSize = function(size, object) {\n return fitSize(albersUsa, size, object);\n };\n\n albersUsa.fitWidth = function(width, object) {\n return fitWidth(albersUsa, width, object);\n };\n\n albersUsa.fitHeight = function(height, object) {\n return fitHeight(albersUsa, height, object);\n };\n\n function reset() {\n cache = cacheStream = null;\n return albersUsa;\n }\n\n return albersUsa.scale(1070);\n}\n","import {asin, atan2, cos, sin, sqrt} from \"../math\";\n\nexport function azimuthalRaw(scale) {\n return function(x, y) {\n var cx = cos(x),\n cy = cos(y),\n k = scale(cx * cy);\n return [\n k * cy * sin(x),\n k * sin(y)\n ];\n }\n}\n\nexport function azimuthalInvert(angle) {\n return function(x, y) {\n var z = sqrt(x * x + y * y),\n c = angle(z),\n sc = sin(c),\n cc = cos(c);\n return [\n atan2(x * sc, z * cc),\n asin(z && y * sc / z)\n ];\n }\n}\n","import {asin, sqrt} from \"../math\";\nimport {azimuthalRaw, azimuthalInvert} from \"./azimuthal\";\nimport projection from \"./index\";\n\nexport var azimuthalEqualAreaRaw = azimuthalRaw(function(cxcy) {\n return sqrt(2 / (1 + cxcy));\n});\n\nazimuthalEqualAreaRaw.invert = azimuthalInvert(function(z) {\n return 2 * asin(z / 2);\n});\n\nexport default function() {\n return projection(azimuthalEqualAreaRaw)\n .scale(124.75)\n .clipAngle(180 - 1e-3);\n}\n","import {acos, sin} from \"../math\";\nimport {azimuthalRaw, azimuthalInvert} from \"./azimuthal\";\nimport projection from \"./index\";\n\nexport var azimuthalEquidistantRaw = azimuthalRaw(function(c) {\n return (c = acos(c)) && c / sin(c);\n});\n\nazimuthalEquidistantRaw.invert = azimuthalInvert(function(z) {\n return z;\n});\n\nexport default function() {\n return projection(azimuthalEquidistantRaw)\n .scale(79.4188)\n .clipAngle(180 - 1e-3);\n}\n","import {atan, exp, halfPi, log, pi, tan, tau} from \"../math\";\nimport rotation from \"../rotation\";\nimport projection from \"./index\";\n\nexport function mercatorRaw(lambda, phi) {\n return [lambda, log(tan((halfPi + phi) / 2))];\n}\n\nmercatorRaw.invert = function(x, y) {\n return [x, 2 * atan(exp(y)) - halfPi];\n};\n\nexport default function() {\n return mercatorProjection(mercatorRaw)\n .scale(961 / tau);\n}\n\nexport function mercatorProjection(project) {\n var m = projection(project),\n center = m.center,\n scale = m.scale,\n translate = m.translate,\n clipExtent = m.clipExtent,\n x0 = null, y0, x1, y1; // clip extent\n\n m.scale = function(_) {\n return arguments.length ? (scale(_), reclip()) : scale();\n };\n\n m.translate = function(_) {\n return arguments.length ? (translate(_), reclip()) : translate();\n };\n\n m.center = function(_) {\n return arguments.length ? (center(_), reclip()) : center();\n };\n\n m.clipExtent = function(_) {\n return arguments.length ? ((_ == null ? x0 = y0 = x1 = y1 = null : (x0 = +_[0][0], y0 = +_[0][1], x1 = +_[1][0], y1 = +_[1][1])), reclip()) : x0 == null ? null : [[x0, y0], [x1, y1]];\n };\n\n function reclip() {\n var k = pi * scale(),\n t = m(rotation(m.rotate()).invert([0, 0]));\n return clipExtent(x0 == null\n ? [[t[0] - k, t[1] - k], [t[0] + k, t[1] + k]] : project === mercatorRaw\n ? [[Math.max(t[0] - k, x0), y0], [Math.min(t[0] + k, x1), y1]]\n : [[x0, Math.max(t[1] - k, y0)], [x1, Math.min(t[1] + k, y1)]]);\n }\n\n return reclip();\n}\n","import {abs, atan, atan2, cos, epsilon, halfPi, log, pow, sign, sin, sqrt, tan} from \"../math\";\nimport {conicProjection} from \"./conic\";\nimport {mercatorRaw} from \"./mercator\";\n\nfunction tany(y) {\n return tan((halfPi + y) / 2);\n}\n\nexport function conicConformalRaw(y0, y1) {\n var cy0 = cos(y0),\n n = y0 === y1 ? sin(y0) : log(cy0 / cos(y1)) / log(tany(y1) / tany(y0)),\n f = cy0 * pow(tany(y0), n) / n;\n\n if (!n) return mercatorRaw;\n\n function project(x, y) {\n if (f > 0) { if (y < -halfPi + epsilon) y = -halfPi + epsilon; }\n else { if (y > halfPi - epsilon) y = halfPi - epsilon; }\n var r = f / pow(tany(y), n);\n return [r * sin(n * x), f - r * cos(n * x)];\n }\n\n project.invert = function(x, y) {\n var fy = f - y, r = sign(n) * sqrt(x * x + fy * fy);\n return [atan2(x, abs(fy)) / n * sign(fy), 2 * atan(pow(f / r, 1 / n)) - halfPi];\n };\n\n return project;\n}\n\nexport default function() {\n return conicProjection(conicConformalRaw)\n .scale(109.5)\n .parallels([30, 30]);\n}\n","import projection from \"./index\";\n\nexport function equirectangularRaw(lambda, phi) {\n return [lambda, phi];\n}\n\nequirectangularRaw.invert = equirectangularRaw;\n\nexport default function() {\n return projection(equirectangularRaw)\n .scale(152.63);\n}\n","import {abs, atan2, cos, epsilon, sign, sin, sqrt} from \"../math\";\nimport {conicProjection} from \"./conic\";\nimport {equirectangularRaw} from \"./equirectangular\";\n\nexport function conicEquidistantRaw(y0, y1) {\n var cy0 = cos(y0),\n n = y0 === y1 ? sin(y0) : (cy0 - cos(y1)) / (y1 - y0),\n g = cy0 / n + y0;\n\n if (abs(n) < epsilon) return equirectangularRaw;\n\n function project(x, y) {\n var gy = g - y, nx = n * x;\n return [gy * sin(nx), g - gy * cos(nx)];\n }\n\n project.invert = function(x, y) {\n var gy = g - y;\n return [atan2(x, abs(gy)) / n * sign(gy), g - sign(n) * sqrt(x * x + gy * gy)];\n };\n\n return project;\n}\n\nexport default function() {\n return conicProjection(conicEquidistantRaw)\n .scale(131.154)\n .center([0, 13.9389]);\n}\n","import {atan, cos, sin} from \"../math\";\nimport {azimuthalInvert} from \"./azimuthal\";\nimport projection from \"./index\";\n\nexport function gnomonicRaw(x, y) {\n var cy = cos(y), k = cos(x) * cy;\n return [cy * sin(x) / k, sin(y) / k];\n}\n\ngnomonicRaw.invert = azimuthalInvert(atan);\n\nexport default function() {\n return projection(gnomonicRaw)\n .scale(144.049)\n .clipAngle(60);\n}\n","import clipRectangle from \"../clip/rectangle\";\nimport identity from \"../identity\";\nimport {transformer} from \"../transform\";\nimport {fitExtent, fitSize, fitWidth, fitHeight} from \"./fit\";\n\nfunction scaleTranslate(kx, ky, tx, ty) {\n return kx === 1 && ky === 1 && tx === 0 && ty === 0 ? identity : transformer({\n point: function(x, y) {\n this.stream.point(x * kx + tx, y * ky + ty);\n }\n });\n}\n\nexport default function() {\n var k = 1, tx = 0, ty = 0, sx = 1, sy = 1, transform = identity, // scale, translate and reflect\n x0 = null, y0, x1, y1, // clip extent\n postclip = identity,\n cache,\n cacheStream,\n projection;\n\n function reset() {\n cache = cacheStream = null;\n return projection;\n }\n\n return projection = {\n stream: function(stream) {\n return cache && cacheStream === stream ? cache : cache = transform(postclip(cacheStream = stream));\n },\n postclip: function(_) {\n return arguments.length ? (postclip = _, x0 = y0 = x1 = y1 = null, reset()) : postclip;\n },\n clipExtent: function(_) {\n return arguments.length ? (postclip = _ == null ? (x0 = y0 = x1 = y1 = null, identity) : clipRectangle(x0 = +_[0][0], y0 = +_[0][1], x1 = +_[1][0], y1 = +_[1][1]), reset()) : x0 == null ? null : [[x0, y0], [x1, y1]];\n },\n scale: function(_) {\n return arguments.length ? (transform = scaleTranslate((k = +_) * sx, k * sy, tx, ty), reset()) : k;\n },\n translate: function(_) {\n return arguments.length ? (transform = scaleTranslate(k * sx, k * sy, tx = +_[0], ty = +_[1]), reset()) : [tx, ty];\n },\n reflectX: function(_) {\n return arguments.length ? (transform = scaleTranslate(k * (sx = _ ? -1 : 1), k * sy, tx, ty), reset()) : sx < 0;\n },\n reflectY: function(_) {\n return arguments.length ? (transform = scaleTranslate(k * sx, k * (sy = _ ? -1 : 1), tx, ty), reset()) : sy < 0;\n },\n fitExtent: function(extent, object) {\n return fitExtent(projection, extent, object);\n },\n fitSize: function(size, object) {\n return fitSize(projection, size, object);\n },\n fitWidth: function(width, object) {\n return fitWidth(projection, width, object);\n },\n fitHeight: function(height, object) {\n return fitHeight(projection, height, object);\n }\n };\n}\n","import projection from \"./index\";\nimport {abs, epsilon} from \"../math\";\n\nexport function naturalEarth1Raw(lambda, phi) {\n var phi2 = phi * phi, phi4 = phi2 * phi2;\n return [\n lambda * (0.8707 - 0.131979 * phi2 + phi4 * (-0.013791 + phi4 * (0.003971 * phi2 - 0.001529 * phi4))),\n phi * (1.007226 + phi2 * (0.015085 + phi4 * (-0.044475 + 0.028874 * phi2 - 0.005916 * phi4)))\n ];\n}\n\nnaturalEarth1Raw.invert = function(x, y) {\n var phi = y, i = 25, delta;\n do {\n var phi2 = phi * phi, phi4 = phi2 * phi2;\n phi -= delta = (phi * (1.007226 + phi2 * (0.015085 + phi4 * (-0.044475 + 0.028874 * phi2 - 0.005916 * phi4))) - y) /\n (1.007226 + phi2 * (0.015085 * 3 + phi4 * (-0.044475 * 7 + 0.028874 * 9 * phi2 - 0.005916 * 11 * phi4)));\n } while (abs(delta) > epsilon && --i > 0);\n return [\n x / (0.8707 + (phi2 = phi * phi) * (-0.131979 + phi2 * (-0.013791 + phi2 * phi2 * phi2 * (0.003971 - 0.001529 * phi2)))),\n phi\n ];\n};\n\nexport default function() {\n return projection(naturalEarth1Raw)\n .scale(175.295);\n}\n","import {asin, cos, epsilon, sin} from \"../math\";\nimport {azimuthalInvert} from \"./azimuthal\";\nimport projection from \"./index\";\n\nexport function orthographicRaw(x, y) {\n return [cos(y) * sin(x), sin(y)];\n}\n\northographicRaw.invert = azimuthalInvert(asin);\n\nexport default function() {\n return projection(orthographicRaw)\n .scale(249.5)\n .clipAngle(90 + epsilon);\n}\n","import {atan, cos, sin} from \"../math\";\nimport {azimuthalInvert} from \"./azimuthal\";\nimport projection from \"./index\";\n\nexport function stereographicRaw(x, y) {\n var cy = cos(y), k = 1 + cos(x) * cy;\n return [cy * sin(x) / k, sin(y) / k];\n}\n\nstereographicRaw.invert = azimuthalInvert(function(z) {\n return 2 * atan(z);\n});\n\nexport default function() {\n return projection(stereographicRaw)\n .scale(250)\n .clipAngle(142);\n}\n","import {atan, exp, halfPi, log, tan} from \"../math\";\nimport {mercatorProjection} from \"./mercator\";\n\nexport function transverseMercatorRaw(lambda, phi) {\n return [log(tan((halfPi + phi) / 2)), -lambda];\n}\n\ntransverseMercatorRaw.invert = function(x, y) {\n return [-y, 2 * atan(exp(x)) - halfPi];\n};\n\nexport default function() {\n var m = mercatorProjection(transverseMercatorRaw),\n center = m.center,\n rotate = m.rotate;\n\n m.center = function(_) {\n return arguments.length ? center([-_[1], _[0]]) : (_ = center(), [_[1], -_[0]]);\n };\n\n m.rotate = function(_) {\n return arguments.length ? rotate([_[0], _[1], _.length > 2 ? _[2] + 90 : 90]) : (_ = rotate(), [_[0], _[1], _[2] - 90]);\n };\n\n return rotate([0, 0, 90])\n .scale(159.155);\n}\n","function defaultSeparation(a, b) {\n return a.parent === b.parent ? 1 : 2;\n}\n\nfunction meanX(children) {\n return children.reduce(meanXReduce, 0) / children.length;\n}\n\nfunction meanXReduce(x, c) {\n return x + c.x;\n}\n\nfunction maxY(children) {\n return 1 + children.reduce(maxYReduce, 0);\n}\n\nfunction maxYReduce(y, c) {\n return Math.max(y, c.y);\n}\n\nfunction leafLeft(node) {\n var children;\n while (children = node.children) node = children[0];\n return node;\n}\n\nfunction leafRight(node) {\n var children;\n while (children = node.children) node = children[children.length - 1];\n return node;\n}\n\nexport default function() {\n var separation = defaultSeparation,\n dx = 1,\n dy = 1,\n nodeSize = false;\n\n function cluster(root) {\n var previousNode,\n x = 0;\n\n // First walk, computing the initial x & y values.\n root.eachAfter(function(node) {\n var children = node.children;\n if (children) {\n node.x = meanX(children);\n node.y = maxY(children);\n } else {\n node.x = previousNode ? x += separation(node, previousNode) : 0;\n node.y = 0;\n previousNode = node;\n }\n });\n\n var left = leafLeft(root),\n right = leafRight(root),\n x0 = left.x - separation(left, right) / 2,\n x1 = right.x + separation(right, left) / 2;\n\n // Second walk, normalizing x & y to the desired size.\n return root.eachAfter(nodeSize ? function(node) {\n node.x = (node.x - root.x) * dx;\n node.y = (root.y - node.y) * dy;\n } : function(node) {\n node.x = (node.x - x0) / (x1 - x0) * dx;\n node.y = (1 - (root.y ? node.y / root.y : 1)) * dy;\n });\n }\n\n cluster.separation = function(x) {\n return arguments.length ? (separation = x, cluster) : separation;\n };\n\n cluster.size = function(x) {\n return arguments.length ? (nodeSize = false, dx = +x[0], dy = +x[1], cluster) : (nodeSize ? null : [dx, dy]);\n };\n\n cluster.nodeSize = function(x) {\n return arguments.length ? (nodeSize = true, dx = +x[0], dy = +x[1], cluster) : (nodeSize ? [dx, dy] : null);\n };\n\n return cluster;\n}\n","function count(node) {\n var sum = 0,\n children = node.children,\n i = children && children.length;\n if (!i) sum = 1;\n else while (--i >= 0) sum += children[i].value;\n node.value = sum;\n}\n\nexport default function() {\n return this.eachAfter(count);\n}\n","import node_count from \"./count\";\nimport node_each from \"./each\";\nimport node_eachBefore from \"./eachBefore\";\nimport node_eachAfter from \"./eachAfter\";\nimport node_sum from \"./sum\";\nimport node_sort from \"./sort\";\nimport node_path from \"./path\";\nimport node_ancestors from \"./ancestors\";\nimport node_descendants from \"./descendants\";\nimport node_leaves from \"./leaves\";\nimport node_links from \"./links\";\n\nexport default function hierarchy(data, children) {\n var root = new Node(data),\n valued = +data.value && (root.value = data.value),\n node,\n nodes = [root],\n child,\n childs,\n i,\n n;\n\n if (children == null) children = defaultChildren;\n\n while (node = nodes.pop()) {\n if (valued) node.value = +node.data.value;\n if ((childs = children(node.data)) && (n = childs.length)) {\n node.children = new Array(n);\n for (i = n - 1; i >= 0; --i) {\n nodes.push(child = node.children[i] = new Node(childs[i]));\n child.parent = node;\n child.depth = node.depth + 1;\n }\n }\n }\n\n return root.eachBefore(computeHeight);\n}\n\nfunction node_copy() {\n return hierarchy(this).eachBefore(copyData);\n}\n\nfunction defaultChildren(d) {\n return d.children;\n}\n\nfunction copyData(node) {\n node.data = node.data.data;\n}\n\nexport function computeHeight(node) {\n var height = 0;\n do node.height = height;\n while ((node = node.parent) && (node.height < ++height));\n}\n\nexport function Node(data) {\n this.data = data;\n this.depth =\n this.height = 0;\n this.parent = null;\n}\n\nNode.prototype = hierarchy.prototype = {\n constructor: Node,\n count: node_count,\n each: node_each,\n eachAfter: node_eachAfter,\n eachBefore: node_eachBefore,\n sum: node_sum,\n sort: node_sort,\n path: node_path,\n ancestors: node_ancestors,\n descendants: node_descendants,\n leaves: node_leaves,\n links: node_links,\n copy: node_copy\n};\n","export default function(callback) {\n var node = this, current, next = [node], children, i, n;\n do {\n current = next.reverse(), next = [];\n while (node = current.pop()) {\n callback(node), children = node.children;\n if (children) for (i = 0, n = children.length; i < n; ++i) {\n next.push(children[i]);\n }\n }\n } while (next.length);\n return this;\n}\n","export default function(callback) {\n var node = this, nodes = [node], next = [], children, i, n;\n while (node = nodes.pop()) {\n next.push(node), children = node.children;\n if (children) for (i = 0, n = children.length; i < n; ++i) {\n nodes.push(children[i]);\n }\n }\n while (node = next.pop()) {\n callback(node);\n }\n return this;\n}\n","export default function(callback) {\n var node = this, nodes = [node], children, i;\n while (node = nodes.pop()) {\n callback(node), children = node.children;\n if (children) for (i = children.length - 1; i >= 0; --i) {\n nodes.push(children[i]);\n }\n }\n return this;\n}\n","export default function(value) {\n return this.eachAfter(function(node) {\n var sum = +value(node.data) || 0,\n children = node.children,\n i = children && children.length;\n while (--i >= 0) sum += children[i].value;\n node.value = sum;\n });\n}\n","export default function(compare) {\n return this.eachBefore(function(node) {\n if (node.children) {\n node.children.sort(compare);\n }\n });\n}\n","export default function(end) {\n var start = this,\n ancestor = leastCommonAncestor(start, end),\n nodes = [start];\n while (start !== ancestor) {\n start = start.parent;\n nodes.push(start);\n }\n var k = nodes.length;\n while (end !== ancestor) {\n nodes.splice(k, 0, end);\n end = end.parent;\n }\n return nodes;\n}\n\nfunction leastCommonAncestor(a, b) {\n if (a === b) return a;\n var aNodes = a.ancestors(),\n bNodes = b.ancestors(),\n c = null;\n a = aNodes.pop();\n b = bNodes.pop();\n while (a === b) {\n c = a;\n a = aNodes.pop();\n b = bNodes.pop();\n }\n return c;\n}\n","export default function() {\n var node = this, nodes = [node];\n while (node = node.parent) {\n nodes.push(node);\n }\n return nodes;\n}\n","export default function() {\n var nodes = [];\n this.each(function(node) {\n nodes.push(node);\n });\n return nodes;\n}\n","export default function() {\n var leaves = [];\n this.eachBefore(function(node) {\n if (!node.children) {\n leaves.push(node);\n }\n });\n return leaves;\n}\n","export default function() {\n var root = this, links = [];\n root.each(function(node) {\n if (node !== root) { // Don’t include the root’s parent, if any.\n links.push({source: node.parent, target: node});\n }\n });\n return links;\n}\n","export var slice = Array.prototype.slice;\n\nexport function shuffle(array) {\n var m = array.length,\n t,\n i;\n\n while (m) {\n i = Math.random() * m-- | 0;\n t = array[m];\n array[m] = array[i];\n array[i] = t;\n }\n\n return array;\n}\n","import {shuffle, slice} from \"../array\";\n\nexport default function(circles) {\n var i = 0, n = (circles = shuffle(slice.call(circles))).length, B = [], p, e;\n\n while (i < n) {\n p = circles[i];\n if (e && enclosesWeak(e, p)) ++i;\n else e = encloseBasis(B = extendBasis(B, p)), i = 0;\n }\n\n return e;\n}\n\nfunction extendBasis(B, p) {\n var i, j;\n\n if (enclosesWeakAll(p, B)) return [p];\n\n // If we get here then B must have at least one element.\n for (i = 0; i < B.length; ++i) {\n if (enclosesNot(p, B[i])\n && enclosesWeakAll(encloseBasis2(B[i], p), B)) {\n return [B[i], p];\n }\n }\n\n // If we get here then B must have at least two elements.\n for (i = 0; i < B.length - 1; ++i) {\n for (j = i + 1; j < B.length; ++j) {\n if (enclosesNot(encloseBasis2(B[i], B[j]), p)\n && enclosesNot(encloseBasis2(B[i], p), B[j])\n && enclosesNot(encloseBasis2(B[j], p), B[i])\n && enclosesWeakAll(encloseBasis3(B[i], B[j], p), B)) {\n return [B[i], B[j], p];\n }\n }\n }\n\n // If we get here then something is very wrong.\n throw new Error;\n}\n\nfunction enclosesNot(a, b) {\n var dr = a.r - b.r, dx = b.x - a.x, dy = b.y - a.y;\n return dr < 0 || dr * dr < dx * dx + dy * dy;\n}\n\nfunction enclosesWeak(a, b) {\n var dr = a.r - b.r + 1e-6, dx = b.x - a.x, dy = b.y - a.y;\n return dr > 0 && dr * dr > dx * dx + dy * dy;\n}\n\nfunction enclosesWeakAll(a, B) {\n for (var i = 0; i < B.length; ++i) {\n if (!enclosesWeak(a, B[i])) {\n return false;\n }\n }\n return true;\n}\n\nfunction encloseBasis(B) {\n switch (B.length) {\n case 1: return encloseBasis1(B[0]);\n case 2: return encloseBasis2(B[0], B[1]);\n case 3: return encloseBasis3(B[0], B[1], B[2]);\n }\n}\n\nfunction encloseBasis1(a) {\n return {\n x: a.x,\n y: a.y,\n r: a.r\n };\n}\n\nfunction encloseBasis2(a, b) {\n var x1 = a.x, y1 = a.y, r1 = a.r,\n x2 = b.x, y2 = b.y, r2 = b.r,\n x21 = x2 - x1, y21 = y2 - y1, r21 = r2 - r1,\n l = Math.sqrt(x21 * x21 + y21 * y21);\n return {\n x: (x1 + x2 + x21 / l * r21) / 2,\n y: (y1 + y2 + y21 / l * r21) / 2,\n r: (l + r1 + r2) / 2\n };\n}\n\nfunction encloseBasis3(a, b, c) {\n var x1 = a.x, y1 = a.y, r1 = a.r,\n x2 = b.x, y2 = b.y, r2 = b.r,\n x3 = c.x, y3 = c.y, r3 = c.r,\n a2 = x1 - x2,\n a3 = x1 - x3,\n b2 = y1 - y2,\n b3 = y1 - y3,\n c2 = r2 - r1,\n c3 = r3 - r1,\n d1 = x1 * x1 + y1 * y1 - r1 * r1,\n d2 = d1 - x2 * x2 - y2 * y2 + r2 * r2,\n d3 = d1 - x3 * x3 - y3 * y3 + r3 * r3,\n ab = a3 * b2 - a2 * b3,\n xa = (b2 * d3 - b3 * d2) / (ab * 2) - x1,\n xb = (b3 * c2 - b2 * c3) / ab,\n ya = (a3 * d2 - a2 * d3) / (ab * 2) - y1,\n yb = (a2 * c3 - a3 * c2) / ab,\n A = xb * xb + yb * yb - 1,\n B = 2 * (r1 + xa * xb + ya * yb),\n C = xa * xa + ya * ya - r1 * r1,\n r = -(A ? (B + Math.sqrt(B * B - 4 * A * C)) / (2 * A) : C / B);\n return {\n x: x1 + xa + xb * r,\n y: y1 + ya + yb * r,\n r: r\n };\n}\n","import enclose from \"./enclose\";\n\nfunction place(b, a, c) {\n var dx = b.x - a.x, x, a2,\n dy = b.y - a.y, y, b2,\n d2 = dx * dx + dy * dy;\n if (d2) {\n a2 = a.r + c.r, a2 *= a2;\n b2 = b.r + c.r, b2 *= b2;\n if (a2 > b2) {\n x = (d2 + b2 - a2) / (2 * d2);\n y = Math.sqrt(Math.max(0, b2 / d2 - x * x));\n c.x = b.x - x * dx - y * dy;\n c.y = b.y - x * dy + y * dx;\n } else {\n x = (d2 + a2 - b2) / (2 * d2);\n y = Math.sqrt(Math.max(0, a2 / d2 - x * x));\n c.x = a.x + x * dx - y * dy;\n c.y = a.y + x * dy + y * dx;\n }\n } else {\n c.x = a.x + c.r;\n c.y = a.y;\n }\n}\n\nfunction intersects(a, b) {\n var dr = a.r + b.r - 1e-6, dx = b.x - a.x, dy = b.y - a.y;\n return dr > 0 && dr * dr > dx * dx + dy * dy;\n}\n\nfunction score(node) {\n var a = node._,\n b = node.next._,\n ab = a.r + b.r,\n dx = (a.x * b.r + b.x * a.r) / ab,\n dy = (a.y * b.r + b.y * a.r) / ab;\n return dx * dx + dy * dy;\n}\n\nfunction Node(circle) {\n this._ = circle;\n this.next = null;\n this.previous = null;\n}\n\nexport function packEnclose(circles) {\n if (!(n = circles.length)) return 0;\n\n var a, b, c, n, aa, ca, i, j, k, sj, sk;\n\n // Place the first circle.\n a = circles[0], a.x = 0, a.y = 0;\n if (!(n > 1)) return a.r;\n\n // Place the second circle.\n b = circles[1], a.x = -b.r, b.x = a.r, b.y = 0;\n if (!(n > 2)) return a.r + b.r;\n\n // Place the third circle.\n place(b, a, c = circles[2]);\n\n // Initialize the front-chain using the first three circles a, b and c.\n a = new Node(a), b = new Node(b), c = new Node(c);\n a.next = c.previous = b;\n b.next = a.previous = c;\n c.next = b.previous = a;\n\n // Attempt to place each remaining circle…\n pack: for (i = 3; i < n; ++i) {\n place(a._, b._, c = circles[i]), c = new Node(c);\n\n // Find the closest intersecting circle on the front-chain, if any.\n // “Closeness” is determined by linear distance along the front-chain.\n // “Ahead” or “behind” is likewise determined by linear distance.\n j = b.next, k = a.previous, sj = b._.r, sk = a._.r;\n do {\n if (sj <= sk) {\n if (intersects(j._, c._)) {\n b = j, a.next = b, b.previous = a, --i;\n continue pack;\n }\n sj += j._.r, j = j.next;\n } else {\n if (intersects(k._, c._)) {\n a = k, a.next = b, b.previous = a, --i;\n continue pack;\n }\n sk += k._.r, k = k.previous;\n }\n } while (j !== k.next);\n\n // Success! Insert the new circle c between a and b.\n c.previous = a, c.next = b, a.next = b.previous = b = c;\n\n // Compute the new closest circle pair to the centroid.\n aa = score(a);\n while ((c = c.next) !== b) {\n if ((ca = score(c)) < aa) {\n a = c, aa = ca;\n }\n }\n b = a.next;\n }\n\n // Compute the enclosing circle of the front chain.\n a = [b._], c = b; while ((c = c.next) !== b) a.push(c._); c = enclose(a);\n\n // Translate the circles to put the enclosing circle around the origin.\n for (i = 0; i < n; ++i) a = circles[i], a.x -= c.x, a.y -= c.y;\n\n return c.r;\n}\n\nexport default function(circles) {\n packEnclose(circles);\n return circles;\n}\n","export function optional(f) {\n return f == null ? null : required(f);\n}\n\nexport function required(f) {\n if (typeof f !== \"function\") throw new Error;\n return f;\n}\n","export function constantZero() {\n return 0;\n}\n\nexport default function(x) {\n return function() {\n return x;\n };\n}\n","import {packEnclose} from \"./siblings\";\nimport {optional} from \"../accessors\";\nimport constant, {constantZero} from \"../constant\";\n\nfunction defaultRadius(d) {\n return Math.sqrt(d.value);\n}\n\nexport default function() {\n var radius = null,\n dx = 1,\n dy = 1,\n padding = constantZero;\n\n function pack(root) {\n root.x = dx / 2, root.y = dy / 2;\n if (radius) {\n root.eachBefore(radiusLeaf(radius))\n .eachAfter(packChildren(padding, 0.5))\n .eachBefore(translateChild(1));\n } else {\n root.eachBefore(radiusLeaf(defaultRadius))\n .eachAfter(packChildren(constantZero, 1))\n .eachAfter(packChildren(padding, root.r / Math.min(dx, dy)))\n .eachBefore(translateChild(Math.min(dx, dy) / (2 * root.r)));\n }\n return root;\n }\n\n pack.radius = function(x) {\n return arguments.length ? (radius = optional(x), pack) : radius;\n };\n\n pack.size = function(x) {\n return arguments.length ? (dx = +x[0], dy = +x[1], pack) : [dx, dy];\n };\n\n pack.padding = function(x) {\n return arguments.length ? (padding = typeof x === \"function\" ? x : constant(+x), pack) : padding;\n };\n\n return pack;\n}\n\nfunction radiusLeaf(radius) {\n return function(node) {\n if (!node.children) {\n node.r = Math.max(0, +radius(node) || 0);\n }\n };\n}\n\nfunction packChildren(padding, k) {\n return function(node) {\n if (children = node.children) {\n var children,\n i,\n n = children.length,\n r = padding(node) * k || 0,\n e;\n\n if (r) for (i = 0; i < n; ++i) children[i].r += r;\n e = packEnclose(children);\n if (r) for (i = 0; i < n; ++i) children[i].r -= r;\n node.r = e + r;\n }\n };\n}\n\nfunction translateChild(k) {\n return function(node) {\n var parent = node.parent;\n node.r *= k;\n if (parent) {\n node.x = parent.x + k * node.x;\n node.y = parent.y + k * node.y;\n }\n };\n}\n","export default function(node) {\n node.x0 = Math.round(node.x0);\n node.y0 = Math.round(node.y0);\n node.x1 = Math.round(node.x1);\n node.y1 = Math.round(node.y1);\n}\n","export default function(parent, x0, y0, x1, y1) {\n var nodes = parent.children,\n node,\n i = -1,\n n = nodes.length,\n k = parent.value && (x1 - x0) / parent.value;\n\n while (++i < n) {\n node = nodes[i], node.y0 = y0, node.y1 = y1;\n node.x0 = x0, node.x1 = x0 += node.value * k;\n }\n}\n","import roundNode from \"./treemap/round\";\nimport treemapDice from \"./treemap/dice\";\n\nexport default function() {\n var dx = 1,\n dy = 1,\n padding = 0,\n round = false;\n\n function partition(root) {\n var n = root.height + 1;\n root.x0 =\n root.y0 = padding;\n root.x1 = dx;\n root.y1 = dy / n;\n root.eachBefore(positionNode(dy, n));\n if (round) root.eachBefore(roundNode);\n return root;\n }\n\n function positionNode(dy, n) {\n return function(node) {\n if (node.children) {\n treemapDice(node, node.x0, dy * (node.depth + 1) / n, node.x1, dy * (node.depth + 2) / n);\n }\n var x0 = node.x0,\n y0 = node.y0,\n x1 = node.x1 - padding,\n y1 = node.y1 - padding;\n if (x1 < x0) x0 = x1 = (x0 + x1) / 2;\n if (y1 < y0) y0 = y1 = (y0 + y1) / 2;\n node.x0 = x0;\n node.y0 = y0;\n node.x1 = x1;\n node.y1 = y1;\n };\n }\n\n partition.round = function(x) {\n return arguments.length ? (round = !!x, partition) : round;\n };\n\n partition.size = function(x) {\n return arguments.length ? (dx = +x[0], dy = +x[1], partition) : [dx, dy];\n };\n\n partition.padding = function(x) {\n return arguments.length ? (padding = +x, partition) : padding;\n };\n\n return partition;\n}\n","import {required} from \"./accessors\";\nimport {Node, computeHeight} from \"./hierarchy/index\";\n\nvar keyPrefix = \"$\", // Protect against keys like “__proto__”.\n preroot = {depth: -1},\n ambiguous = {};\n\nfunction defaultId(d) {\n return d.id;\n}\n\nfunction defaultParentId(d) {\n return d.parentId;\n}\n\nexport default function() {\n var id = defaultId,\n parentId = defaultParentId;\n\n function stratify(data) {\n var d,\n i,\n n = data.length,\n root,\n parent,\n node,\n nodes = new Array(n),\n nodeId,\n nodeKey,\n nodeByKey = {};\n\n for (i = 0; i < n; ++i) {\n d = data[i], node = nodes[i] = new Node(d);\n if ((nodeId = id(d, i, data)) != null && (nodeId += \"\")) {\n nodeKey = keyPrefix + (node.id = nodeId);\n nodeByKey[nodeKey] = nodeKey in nodeByKey ? ambiguous : node;\n }\n }\n\n for (i = 0; i < n; ++i) {\n node = nodes[i], nodeId = parentId(data[i], i, data);\n if (nodeId == null || !(nodeId += \"\")) {\n if (root) throw new Error(\"multiple roots\");\n root = node;\n } else {\n parent = nodeByKey[keyPrefix + nodeId];\n if (!parent) throw new Error(\"missing: \" + nodeId);\n if (parent === ambiguous) throw new Error(\"ambiguous: \" + nodeId);\n if (parent.children) parent.children.push(node);\n else parent.children = [node];\n node.parent = parent;\n }\n }\n\n if (!root) throw new Error(\"no root\");\n root.parent = preroot;\n root.eachBefore(function(node) { node.depth = node.parent.depth + 1; --n; }).eachBefore(computeHeight);\n root.parent = null;\n if (n > 0) throw new Error(\"cycle\");\n\n return root;\n }\n\n stratify.id = function(x) {\n return arguments.length ? (id = required(x), stratify) : id;\n };\n\n stratify.parentId = function(x) {\n return arguments.length ? (parentId = required(x), stratify) : parentId;\n };\n\n return stratify;\n}\n","import {Node} from \"./hierarchy/index\";\n\nfunction defaultSeparation(a, b) {\n return a.parent === b.parent ? 1 : 2;\n}\n\n// function radialSeparation(a, b) {\n// return (a.parent === b.parent ? 1 : 2) / a.depth;\n// }\n\n// This function is used to traverse the left contour of a subtree (or\n// subforest). It returns the successor of v on this contour. This successor is\n// either given by the leftmost child of v or by the thread of v. The function\n// returns null if and only if v is on the highest level of its subtree.\nfunction nextLeft(v) {\n var children = v.children;\n return children ? children[0] : v.t;\n}\n\n// This function works analogously to nextLeft.\nfunction nextRight(v) {\n var children = v.children;\n return children ? children[children.length - 1] : v.t;\n}\n\n// Shifts the current subtree rooted at w+. This is done by increasing\n// prelim(w+) and mod(w+) by shift.\nfunction moveSubtree(wm, wp, shift) {\n var change = shift / (wp.i - wm.i);\n wp.c -= change;\n wp.s += shift;\n wm.c += change;\n wp.z += shift;\n wp.m += shift;\n}\n\n// All other shifts, applied to the smaller subtrees between w- and w+, are\n// performed by this function. To prepare the shifts, we have to adjust\n// change(w+), shift(w+), and change(w-).\nfunction executeShifts(v) {\n var shift = 0,\n change = 0,\n children = v.children,\n i = children.length,\n w;\n while (--i >= 0) {\n w = children[i];\n w.z += shift;\n w.m += shift;\n shift += w.s + (change += w.c);\n }\n}\n\n// If vi-’s ancestor is a sibling of v, returns vi-’s ancestor. Otherwise,\n// returns the specified (default) ancestor.\nfunction nextAncestor(vim, v, ancestor) {\n return vim.a.parent === v.parent ? vim.a : ancestor;\n}\n\nfunction TreeNode(node, i) {\n this._ = node;\n this.parent = null;\n this.children = null;\n this.A = null; // default ancestor\n this.a = this; // ancestor\n this.z = 0; // prelim\n this.m = 0; // mod\n this.c = 0; // change\n this.s = 0; // shift\n this.t = null; // thread\n this.i = i; // number\n}\n\nTreeNode.prototype = Object.create(Node.prototype);\n\nfunction treeRoot(root) {\n var tree = new TreeNode(root, 0),\n node,\n nodes = [tree],\n child,\n children,\n i,\n n;\n\n while (node = nodes.pop()) {\n if (children = node._.children) {\n node.children = new Array(n = children.length);\n for (i = n - 1; i >= 0; --i) {\n nodes.push(child = node.children[i] = new TreeNode(children[i], i));\n child.parent = node;\n }\n }\n }\n\n (tree.parent = new TreeNode(null, 0)).children = [tree];\n return tree;\n}\n\n// Node-link tree diagram using the Reingold-Tilford \"tidy\" algorithm\nexport default function() {\n var separation = defaultSeparation,\n dx = 1,\n dy = 1,\n nodeSize = null;\n\n function tree(root) {\n var t = treeRoot(root);\n\n // Compute the layout using Buchheim et al.’s algorithm.\n t.eachAfter(firstWalk), t.parent.m = -t.z;\n t.eachBefore(secondWalk);\n\n // If a fixed node size is specified, scale x and y.\n if (nodeSize) root.eachBefore(sizeNode);\n\n // If a fixed tree size is specified, scale x and y based on the extent.\n // Compute the left-most, right-most, and depth-most nodes for extents.\n else {\n var left = root,\n right = root,\n bottom = root;\n root.eachBefore(function(node) {\n if (node.x < left.x) left = node;\n if (node.x > right.x) right = node;\n if (node.depth > bottom.depth) bottom = node;\n });\n var s = left === right ? 1 : separation(left, right) / 2,\n tx = s - left.x,\n kx = dx / (right.x + s + tx),\n ky = dy / (bottom.depth || 1);\n root.eachBefore(function(node) {\n node.x = (node.x + tx) * kx;\n node.y = node.depth * ky;\n });\n }\n\n return root;\n }\n\n // Computes a preliminary x-coordinate for v. Before that, FIRST WALK is\n // applied recursively to the children of v, as well as the function\n // APPORTION. After spacing out the children by calling EXECUTE SHIFTS, the\n // node v is placed to the midpoint of its outermost children.\n function firstWalk(v) {\n var children = v.children,\n siblings = v.parent.children,\n w = v.i ? siblings[v.i - 1] : null;\n if (children) {\n executeShifts(v);\n var midpoint = (children[0].z + children[children.length - 1].z) / 2;\n if (w) {\n v.z = w.z + separation(v._, w._);\n v.m = v.z - midpoint;\n } else {\n v.z = midpoint;\n }\n } else if (w) {\n v.z = w.z + separation(v._, w._);\n }\n v.parent.A = apportion(v, w, v.parent.A || siblings[0]);\n }\n\n // Computes all real x-coordinates by summing up the modifiers recursively.\n function secondWalk(v) {\n v._.x = v.z + v.parent.m;\n v.m += v.parent.m;\n }\n\n // The core of the algorithm. Here, a new subtree is combined with the\n // previous subtrees. Threads are used to traverse the inside and outside\n // contours of the left and right subtree up to the highest common level. The\n // vertices used for the traversals are vi+, vi-, vo-, and vo+, where the\n // superscript o means outside and i means inside, the subscript - means left\n // subtree and + means right subtree. For summing up the modifiers along the\n // contour, we use respective variables si+, si-, so-, and so+. Whenever two\n // nodes of the inside contours conflict, we compute the left one of the\n // greatest uncommon ancestors using the function ANCESTOR and call MOVE\n // SUBTREE to shift the subtree and prepare the shifts of smaller subtrees.\n // Finally, we add a new thread (if necessary).\n function apportion(v, w, ancestor) {\n if (w) {\n var vip = v,\n vop = v,\n vim = w,\n vom = vip.parent.children[0],\n sip = vip.m,\n sop = vop.m,\n sim = vim.m,\n som = vom.m,\n shift;\n while (vim = nextRight(vim), vip = nextLeft(vip), vim && vip) {\n vom = nextLeft(vom);\n vop = nextRight(vop);\n vop.a = v;\n shift = vim.z + sim - vip.z - sip + separation(vim._, vip._);\n if (shift > 0) {\n moveSubtree(nextAncestor(vim, v, ancestor), v, shift);\n sip += shift;\n sop += shift;\n }\n sim += vim.m;\n sip += vip.m;\n som += vom.m;\n sop += vop.m;\n }\n if (vim && !nextRight(vop)) {\n vop.t = vim;\n vop.m += sim - sop;\n }\n if (vip && !nextLeft(vom)) {\n vom.t = vip;\n vom.m += sip - som;\n ancestor = v;\n }\n }\n return ancestor;\n }\n\n function sizeNode(node) {\n node.x *= dx;\n node.y = node.depth * dy;\n }\n\n tree.separation = function(x) {\n return arguments.length ? (separation = x, tree) : separation;\n };\n\n tree.size = function(x) {\n return arguments.length ? (nodeSize = false, dx = +x[0], dy = +x[1], tree) : (nodeSize ? null : [dx, dy]);\n };\n\n tree.nodeSize = function(x) {\n return arguments.length ? (nodeSize = true, dx = +x[0], dy = +x[1], tree) : (nodeSize ? [dx, dy] : null);\n };\n\n return tree;\n}\n","export default function(parent, x0, y0, x1, y1) {\n var nodes = parent.children,\n node,\n i = -1,\n n = nodes.length,\n k = parent.value && (y1 - y0) / parent.value;\n\n while (++i < n) {\n node = nodes[i], node.x0 = x0, node.x1 = x1;\n node.y0 = y0, node.y1 = y0 += node.value * k;\n }\n}\n","import treemapDice from \"./dice\";\nimport treemapSlice from \"./slice\";\n\nexport var phi = (1 + Math.sqrt(5)) / 2;\n\nexport function squarifyRatio(ratio, parent, x0, y0, x1, y1) {\n var rows = [],\n nodes = parent.children,\n row,\n nodeValue,\n i0 = 0,\n i1 = 0,\n n = nodes.length,\n dx, dy,\n value = parent.value,\n sumValue,\n minValue,\n maxValue,\n newRatio,\n minRatio,\n alpha,\n beta;\n\n while (i0 < n) {\n dx = x1 - x0, dy = y1 - y0;\n\n // Find the next non-empty node.\n do sumValue = nodes[i1++].value; while (!sumValue && i1 < n);\n minValue = maxValue = sumValue;\n alpha = Math.max(dy / dx, dx / dy) / (value * ratio);\n beta = sumValue * sumValue * alpha;\n minRatio = Math.max(maxValue / beta, beta / minValue);\n\n // Keep adding nodes while the aspect ratio maintains or improves.\n for (; i1 < n; ++i1) {\n sumValue += nodeValue = nodes[i1].value;\n if (nodeValue < minValue) minValue = nodeValue;\n if (nodeValue > maxValue) maxValue = nodeValue;\n beta = sumValue * sumValue * alpha;\n newRatio = Math.max(maxValue / beta, beta / minValue);\n if (newRatio > minRatio) { sumValue -= nodeValue; break; }\n minRatio = newRatio;\n }\n\n // Position and record the row orientation.\n rows.push(row = {value: sumValue, dice: dx < dy, children: nodes.slice(i0, i1)});\n if (row.dice) treemapDice(row, x0, y0, x1, value ? y0 += dy * sumValue / value : y1);\n else treemapSlice(row, x0, y0, value ? x0 += dx * sumValue / value : x1, y1);\n value -= sumValue, i0 = i1;\n }\n\n return rows;\n}\n\nexport default (function custom(ratio) {\n\n function squarify(parent, x0, y0, x1, y1) {\n squarifyRatio(ratio, parent, x0, y0, x1, y1);\n }\n\n squarify.ratio = function(x) {\n return custom((x = +x) > 1 ? x : 1);\n };\n\n return squarify;\n})(phi);\n","import roundNode from \"./round\";\nimport squarify from \"./squarify\";\nimport {required} from \"../accessors\";\nimport constant, {constantZero} from \"../constant\";\n\nexport default function() {\n var tile = squarify,\n round = false,\n dx = 1,\n dy = 1,\n paddingStack = [0],\n paddingInner = constantZero,\n paddingTop = constantZero,\n paddingRight = constantZero,\n paddingBottom = constantZero,\n paddingLeft = constantZero;\n\n function treemap(root) {\n root.x0 =\n root.y0 = 0;\n root.x1 = dx;\n root.y1 = dy;\n root.eachBefore(positionNode);\n paddingStack = [0];\n if (round) root.eachBefore(roundNode);\n return root;\n }\n\n function positionNode(node) {\n var p = paddingStack[node.depth],\n x0 = node.x0 + p,\n y0 = node.y0 + p,\n x1 = node.x1 - p,\n y1 = node.y1 - p;\n if (x1 < x0) x0 = x1 = (x0 + x1) / 2;\n if (y1 < y0) y0 = y1 = (y0 + y1) / 2;\n node.x0 = x0;\n node.y0 = y0;\n node.x1 = x1;\n node.y1 = y1;\n if (node.children) {\n p = paddingStack[node.depth + 1] = paddingInner(node) / 2;\n x0 += paddingLeft(node) - p;\n y0 += paddingTop(node) - p;\n x1 -= paddingRight(node) - p;\n y1 -= paddingBottom(node) - p;\n if (x1 < x0) x0 = x1 = (x0 + x1) / 2;\n if (y1 < y0) y0 = y1 = (y0 + y1) / 2;\n tile(node, x0, y0, x1, y1);\n }\n }\n\n treemap.round = function(x) {\n return arguments.length ? (round = !!x, treemap) : round;\n };\n\n treemap.size = function(x) {\n return arguments.length ? (dx = +x[0], dy = +x[1], treemap) : [dx, dy];\n };\n\n treemap.tile = function(x) {\n return arguments.length ? (tile = required(x), treemap) : tile;\n };\n\n treemap.padding = function(x) {\n return arguments.length ? treemap.paddingInner(x).paddingOuter(x) : treemap.paddingInner();\n };\n\n treemap.paddingInner = function(x) {\n return arguments.length ? (paddingInner = typeof x === \"function\" ? x : constant(+x), treemap) : paddingInner;\n };\n\n treemap.paddingOuter = function(x) {\n return arguments.length ? treemap.paddingTop(x).paddingRight(x).paddingBottom(x).paddingLeft(x) : treemap.paddingTop();\n };\n\n treemap.paddingTop = function(x) {\n return arguments.length ? (paddingTop = typeof x === \"function\" ? x : constant(+x), treemap) : paddingTop;\n };\n\n treemap.paddingRight = function(x) {\n return arguments.length ? (paddingRight = typeof x === \"function\" ? x : constant(+x), treemap) : paddingRight;\n };\n\n treemap.paddingBottom = function(x) {\n return arguments.length ? (paddingBottom = typeof x === \"function\" ? x : constant(+x), treemap) : paddingBottom;\n };\n\n treemap.paddingLeft = function(x) {\n return arguments.length ? (paddingLeft = typeof x === \"function\" ? x : constant(+x), treemap) : paddingLeft;\n };\n\n return treemap;\n}\n","export default function(parent, x0, y0, x1, y1) {\n var nodes = parent.children,\n i, n = nodes.length,\n sum, sums = new Array(n + 1);\n\n for (sums[0] = sum = i = 0; i < n; ++i) {\n sums[i + 1] = sum += nodes[i].value;\n }\n\n partition(0, n, parent.value, x0, y0, x1, y1);\n\n function partition(i, j, value, x0, y0, x1, y1) {\n if (i >= j - 1) {\n var node = nodes[i];\n node.x0 = x0, node.y0 = y0;\n node.x1 = x1, node.y1 = y1;\n return;\n }\n\n var valueOffset = sums[i],\n valueTarget = (value / 2) + valueOffset,\n k = i + 1,\n hi = j - 1;\n\n while (k < hi) {\n var mid = k + hi >>> 1;\n if (sums[mid] < valueTarget) k = mid + 1;\n else hi = mid;\n }\n\n if ((valueTarget - sums[k - 1]) < (sums[k] - valueTarget) && i + 1 < k) --k;\n\n var valueLeft = sums[k] - valueOffset,\n valueRight = value - valueLeft;\n\n if ((x1 - x0) > (y1 - y0)) {\n var xk = (x0 * valueRight + x1 * valueLeft) / value;\n partition(i, k, valueLeft, x0, y0, xk, y1);\n partition(k, j, valueRight, xk, y0, x1, y1);\n } else {\n var yk = (y0 * valueRight + y1 * valueLeft) / value;\n partition(i, k, valueLeft, x0, y0, x1, yk);\n partition(k, j, valueRight, x0, yk, x1, y1);\n }\n }\n}\n","import dice from \"./dice\";\nimport slice from \"./slice\";\n\nexport default function(parent, x0, y0, x1, y1) {\n (parent.depth & 1 ? slice : dice)(parent, x0, y0, x1, y1);\n}\n","import treemapDice from \"./dice\";\nimport treemapSlice from \"./slice\";\nimport {phi, squarifyRatio} from \"./squarify\";\n\nexport default (function custom(ratio) {\n\n function resquarify(parent, x0, y0, x1, y1) {\n if ((rows = parent._squarify) && (rows.ratio === ratio)) {\n var rows,\n row,\n nodes,\n i,\n j = -1,\n n,\n m = rows.length,\n value = parent.value;\n\n while (++j < m) {\n row = rows[j], nodes = row.children;\n for (i = row.value = 0, n = nodes.length; i < n; ++i) row.value += nodes[i].value;\n if (row.dice) treemapDice(row, x0, y0, x1, y0 += (y1 - y0) * row.value / value);\n else treemapSlice(row, x0, y0, x0 += (x1 - x0) * row.value / value, y1);\n value -= row.value;\n }\n } else {\n parent._squarify = rows = squarifyRatio(ratio, parent, x0, y0, x1, y1);\n rows.ratio = ratio;\n }\n }\n\n resquarify.ratio = function(x) {\n return custom((x = +x) > 1 ? x : 1);\n };\n\n return resquarify;\n})(phi);\n","export default function(polygon) {\n var i = -1,\n n = polygon.length,\n a,\n b = polygon[n - 1],\n area = 0;\n\n while (++i < n) {\n a = b;\n b = polygon[i];\n area += a[1] * b[0] - a[0] * b[1];\n }\n\n return area / 2;\n}\n","export default function(polygon) {\n var i = -1,\n n = polygon.length,\n x = 0,\n y = 0,\n a,\n b = polygon[n - 1],\n c,\n k = 0;\n\n while (++i < n) {\n a = b;\n b = polygon[i];\n k += c = a[0] * b[1] - b[0] * a[1];\n x += (a[0] + b[0]) * c;\n y += (a[1] + b[1]) * c;\n }\n\n return k *= 3, [x / k, y / k];\n}\n","// Returns the 2D cross product of AB and AC vectors, i.e., the z-component of\n// the 3D cross product in a quadrant I Cartesian coordinate system (+x is\n// right, +y is up). Returns a positive value if ABC is counter-clockwise,\n// negative if clockwise, and zero if the points are collinear.\nexport default function(a, b, c) {\n return (b[0] - a[0]) * (c[1] - a[1]) - (b[1] - a[1]) * (c[0] - a[0]);\n}\n","import cross from \"./cross\";\n\nfunction lexicographicOrder(a, b) {\n return a[0] - b[0] || a[1] - b[1];\n}\n\n// Computes the upper convex hull per the monotone chain algorithm.\n// Assumes points.length >= 3, is sorted by x, unique in y.\n// Returns an array of indices into points in left-to-right order.\nfunction computeUpperHullIndexes(points) {\n var n = points.length,\n indexes = [0, 1],\n size = 2;\n\n for (var i = 2; i < n; ++i) {\n while (size > 1 && cross(points[indexes[size - 2]], points[indexes[size - 1]], points[i]) <= 0) --size;\n indexes[size++] = i;\n }\n\n return indexes.slice(0, size); // remove popped points\n}\n\nexport default function(points) {\n if ((n = points.length) < 3) return null;\n\n var i,\n n,\n sortedPoints = new Array(n),\n flippedPoints = new Array(n);\n\n for (i = 0; i < n; ++i) sortedPoints[i] = [+points[i][0], +points[i][1], i];\n sortedPoints.sort(lexicographicOrder);\n for (i = 0; i < n; ++i) flippedPoints[i] = [sortedPoints[i][0], -sortedPoints[i][1]];\n\n var upperIndexes = computeUpperHullIndexes(sortedPoints),\n lowerIndexes = computeUpperHullIndexes(flippedPoints);\n\n // Construct the hull polygon, removing possible duplicate endpoints.\n var skipLeft = lowerIndexes[0] === upperIndexes[0],\n skipRight = lowerIndexes[lowerIndexes.length - 1] === upperIndexes[upperIndexes.length - 1],\n hull = [];\n\n // Add upper hull in right-to-l order.\n // Then add lower hull in left-to-right order.\n for (i = upperIndexes.length - 1; i >= 0; --i) hull.push(points[sortedPoints[upperIndexes[i]][2]]);\n for (i = +skipLeft; i < lowerIndexes.length - skipRight; ++i) hull.push(points[sortedPoints[lowerIndexes[i]][2]]);\n\n return hull;\n}\n","export default function(polygon, point) {\n var n = polygon.length,\n p = polygon[n - 1],\n x = point[0], y = point[1],\n x0 = p[0], y0 = p[1],\n x1, y1,\n inside = false;\n\n for (var i = 0; i < n; ++i) {\n p = polygon[i], x1 = p[0], y1 = p[1];\n if (((y1 > y) !== (y0 > y)) && (x < (x0 - x1) * (y - y1) / (y0 - y1) + x1)) inside = !inside;\n x0 = x1, y0 = y1;\n }\n\n return inside;\n}\n","export default function(polygon) {\n var i = -1,\n n = polygon.length,\n b = polygon[n - 1],\n xa,\n ya,\n xb = b[0],\n yb = b[1],\n perimeter = 0;\n\n while (++i < n) {\n xa = xb;\n ya = yb;\n b = polygon[i];\n xb = b[0];\n yb = b[1];\n xa -= xb;\n ya -= yb;\n perimeter += Math.sqrt(xa * xa + ya * ya);\n }\n\n return perimeter;\n}\n","export default function() {\n return Math.random();\n}\n","import defaultSource from \"./defaultSource\";\n\nexport default (function sourceRandomUniform(source) {\n function randomUniform(min, max) {\n min = min == null ? 0 : +min;\n max = max == null ? 1 : +max;\n if (arguments.length === 1) max = min, min = 0;\n else max -= min;\n return function() {\n return source() * max + min;\n };\n }\n\n randomUniform.source = sourceRandomUniform;\n\n return randomUniform;\n})(defaultSource);\n","import defaultSource from \"./defaultSource\";\n\nexport default (function sourceRandomNormal(source) {\n function randomNormal(mu, sigma) {\n var x, r;\n mu = mu == null ? 0 : +mu;\n sigma = sigma == null ? 1 : +sigma;\n return function() {\n var y;\n\n // If available, use the second previously-generated uniform random.\n if (x != null) y = x, x = null;\n\n // Otherwise, generate a new x and y.\n else do {\n x = source() * 2 - 1;\n y = source() * 2 - 1;\n r = x * x + y * y;\n } while (!r || r > 1);\n\n return mu + sigma * y * Math.sqrt(-2 * Math.log(r) / r);\n };\n }\n\n randomNormal.source = sourceRandomNormal;\n\n return randomNormal;\n})(defaultSource);\n","import defaultSource from \"./defaultSource\";\nimport normal from \"./normal\";\n\nexport default (function sourceRandomLogNormal(source) {\n function randomLogNormal() {\n var randomNormal = normal.source(source).apply(this, arguments);\n return function() {\n return Math.exp(randomNormal());\n };\n }\n\n randomLogNormal.source = sourceRandomLogNormal;\n\n return randomLogNormal;\n})(defaultSource);\n","import defaultSource from \"./defaultSource\";\n\nexport default (function sourceRandomIrwinHall(source) {\n function randomIrwinHall(n) {\n return function() {\n for (var sum = 0, i = 0; i < n; ++i) sum += source();\n return sum;\n };\n }\n\n randomIrwinHall.source = sourceRandomIrwinHall;\n\n return randomIrwinHall;\n})(defaultSource);\n","import defaultSource from \"./defaultSource\";\nimport irwinHall from \"./irwinHall\";\n\nexport default (function sourceRandomBates(source) {\n function randomBates(n) {\n var randomIrwinHall = irwinHall.source(source)(n);\n return function() {\n return randomIrwinHall() / n;\n };\n }\n\n randomBates.source = sourceRandomBates;\n\n return randomBates;\n})(defaultSource);\n","import defaultSource from \"./defaultSource\";\n\nexport default (function sourceRandomExponential(source) {\n function randomExponential(lambda) {\n return function() {\n return -Math.log(1 - source()) / lambda;\n };\n }\n\n randomExponential.source = sourceRandomExponential;\n\n return randomExponential;\n})(defaultSource);\n","var array = Array.prototype;\n\nexport var map = array.map;\nexport var slice = array.slice;\n","import {map} from \"d3-collection\";\nimport {slice} from \"./array\";\n\nexport var implicit = {name: \"implicit\"};\n\nexport default function ordinal(range) {\n var index = map(),\n domain = [],\n unknown = implicit;\n\n range = range == null ? [] : slice.call(range);\n\n function scale(d) {\n var key = d + \"\", i = index.get(key);\n if (!i) {\n if (unknown !== implicit) return unknown;\n index.set(key, i = domain.push(d));\n }\n return range[(i - 1) % range.length];\n }\n\n scale.domain = function(_) {\n if (!arguments.length) return domain.slice();\n domain = [], index = map();\n var i = -1, n = _.length, d, key;\n while (++i < n) if (!index.has(key = (d = _[i]) + \"\")) index.set(key, domain.push(d));\n return scale;\n };\n\n scale.range = function(_) {\n return arguments.length ? (range = slice.call(_), scale) : range.slice();\n };\n\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n scale.copy = function() {\n return ordinal()\n .domain(domain)\n .range(range)\n .unknown(unknown);\n };\n\n return scale;\n}\n","import {range as sequence} from \"d3-array\";\nimport ordinal from \"./ordinal\";\n\nexport default function band() {\n var scale = ordinal().unknown(undefined),\n domain = scale.domain,\n ordinalRange = scale.range,\n range = [0, 1],\n step,\n bandwidth,\n round = false,\n paddingInner = 0,\n paddingOuter = 0,\n align = 0.5;\n\n delete scale.unknown;\n\n function rescale() {\n var n = domain().length,\n reverse = range[1] < range[0],\n start = range[reverse - 0],\n stop = range[1 - reverse];\n step = (stop - start) / Math.max(1, n - paddingInner + paddingOuter * 2);\n if (round) step = Math.floor(step);\n start += (stop - start - step * (n - paddingInner)) * align;\n bandwidth = step * (1 - paddingInner);\n if (round) start = Math.round(start), bandwidth = Math.round(bandwidth);\n var values = sequence(n).map(function(i) { return start + step * i; });\n return ordinalRange(reverse ? values.reverse() : values);\n }\n\n scale.domain = function(_) {\n return arguments.length ? (domain(_), rescale()) : domain();\n };\n\n scale.range = function(_) {\n return arguments.length ? (range = [+_[0], +_[1]], rescale()) : range.slice();\n };\n\n scale.rangeRound = function(_) {\n return range = [+_[0], +_[1]], round = true, rescale();\n };\n\n scale.bandwidth = function() {\n return bandwidth;\n };\n\n scale.step = function() {\n return step;\n };\n\n scale.round = function(_) {\n return arguments.length ? (round = !!_, rescale()) : round;\n };\n\n scale.padding = function(_) {\n return arguments.length ? (paddingInner = paddingOuter = Math.max(0, Math.min(1, _)), rescale()) : paddingInner;\n };\n\n scale.paddingInner = function(_) {\n return arguments.length ? (paddingInner = Math.max(0, Math.min(1, _)), rescale()) : paddingInner;\n };\n\n scale.paddingOuter = function(_) {\n return arguments.length ? (paddingOuter = Math.max(0, Math.min(1, _)), rescale()) : paddingOuter;\n };\n\n scale.align = function(_) {\n return arguments.length ? (align = Math.max(0, Math.min(1, _)), rescale()) : align;\n };\n\n scale.copy = function() {\n return band()\n .domain(domain())\n .range(range)\n .round(round)\n .paddingInner(paddingInner)\n .paddingOuter(paddingOuter)\n .align(align);\n };\n\n return rescale();\n}\n\nfunction pointish(scale) {\n var copy = scale.copy;\n\n scale.padding = scale.paddingOuter;\n delete scale.paddingInner;\n delete scale.paddingOuter;\n\n scale.copy = function() {\n return pointish(copy());\n };\n\n return scale;\n}\n\nexport function point() {\n return pointish(band().paddingInner(1));\n}\n","export default function(x) {\n return function() {\n return x;\n };\n}\n","export default function(x) {\n return +x;\n}\n","import {bisect} from \"d3-array\";\nimport {interpolate as interpolateValue, interpolateRound} from \"d3-interpolate\";\nimport {map, slice} from \"./array\";\nimport constant from \"./constant\";\nimport number from \"./number\";\n\nvar unit = [0, 1];\n\nexport function deinterpolateLinear(a, b) {\n return (b -= (a = +a))\n ? function(x) { return (x - a) / b; }\n : constant(b);\n}\n\nfunction deinterpolateClamp(deinterpolate) {\n return function(a, b) {\n var d = deinterpolate(a = +a, b = +b);\n return function(x) { return x <= a ? 0 : x >= b ? 1 : d(x); };\n };\n}\n\nfunction reinterpolateClamp(reinterpolate) {\n return function(a, b) {\n var r = reinterpolate(a = +a, b = +b);\n return function(t) { return t <= 0 ? a : t >= 1 ? b : r(t); };\n };\n}\n\nfunction bimap(domain, range, deinterpolate, reinterpolate) {\n var d0 = domain[0], d1 = domain[1], r0 = range[0], r1 = range[1];\n if (d1 < d0) d0 = deinterpolate(d1, d0), r0 = reinterpolate(r1, r0);\n else d0 = deinterpolate(d0, d1), r0 = reinterpolate(r0, r1);\n return function(x) { return r0(d0(x)); };\n}\n\nfunction polymap(domain, range, deinterpolate, reinterpolate) {\n var j = Math.min(domain.length, range.length) - 1,\n d = new Array(j),\n r = new Array(j),\n i = -1;\n\n // Reverse descending domains.\n if (domain[j] < domain[0]) {\n domain = domain.slice().reverse();\n range = range.slice().reverse();\n }\n\n while (++i < j) {\n d[i] = deinterpolate(domain[i], domain[i + 1]);\n r[i] = reinterpolate(range[i], range[i + 1]);\n }\n\n return function(x) {\n var i = bisect(domain, x, 1, j) - 1;\n return r[i](d[i](x));\n };\n}\n\nexport function copy(source, target) {\n return target\n .domain(source.domain())\n .range(source.range())\n .interpolate(source.interpolate())\n .clamp(source.clamp());\n}\n\n// deinterpolate(a, b)(x) takes a domain value x in [a,b] and returns the corresponding parameter t in [0,1].\n// reinterpolate(a, b)(t) takes a parameter t in [0,1] and returns the corresponding domain value x in [a,b].\nexport default function continuous(deinterpolate, reinterpolate) {\n var domain = unit,\n range = unit,\n interpolate = interpolateValue,\n clamp = false,\n piecewise,\n output,\n input;\n\n function rescale() {\n piecewise = Math.min(domain.length, range.length) > 2 ? polymap : bimap;\n output = input = null;\n return scale;\n }\n\n function scale(x) {\n return (output || (output = piecewise(domain, range, clamp ? deinterpolateClamp(deinterpolate) : deinterpolate, interpolate)))(+x);\n }\n\n scale.invert = function(y) {\n return (input || (input = piecewise(range, domain, deinterpolateLinear, clamp ? reinterpolateClamp(reinterpolate) : reinterpolate)))(+y);\n };\n\n scale.domain = function(_) {\n return arguments.length ? (domain = map.call(_, number), rescale()) : domain.slice();\n };\n\n scale.range = function(_) {\n return arguments.length ? (range = slice.call(_), rescale()) : range.slice();\n };\n\n scale.rangeRound = function(_) {\n return range = slice.call(_), interpolate = interpolateRound, rescale();\n };\n\n scale.clamp = function(_) {\n return arguments.length ? (clamp = !!_, rescale()) : clamp;\n };\n\n scale.interpolate = function(_) {\n return arguments.length ? (interpolate = _, rescale()) : interpolate;\n };\n\n return rescale();\n}\n","import {tickStep} from \"d3-array\";\nimport {format, formatPrefix, formatSpecifier, precisionFixed, precisionPrefix, precisionRound} from \"d3-format\";\n\nexport default function(domain, count, specifier) {\n var start = domain[0],\n stop = domain[domain.length - 1],\n step = tickStep(start, stop, count == null ? 10 : count),\n precision;\n specifier = formatSpecifier(specifier == null ? \",f\" : specifier);\n switch (specifier.type) {\n case \"s\": {\n var value = Math.max(Math.abs(start), Math.abs(stop));\n if (specifier.precision == null && !isNaN(precision = precisionPrefix(step, value))) specifier.precision = precision;\n return formatPrefix(specifier, value);\n }\n case \"\":\n case \"e\":\n case \"g\":\n case \"p\":\n case \"r\": {\n if (specifier.precision == null && !isNaN(precision = precisionRound(step, Math.max(Math.abs(start), Math.abs(stop))))) specifier.precision = precision - (specifier.type === \"e\");\n break;\n }\n case \"f\":\n case \"%\": {\n if (specifier.precision == null && !isNaN(precision = precisionFixed(step))) specifier.precision = precision - (specifier.type === \"%\") * 2;\n break;\n }\n }\n return format(specifier);\n}\n","import {ticks, tickIncrement} from \"d3-array\";\nimport {interpolateNumber as reinterpolate} from \"d3-interpolate\";\nimport {default as continuous, copy, deinterpolateLinear as deinterpolate} from \"./continuous\";\nimport tickFormat from \"./tickFormat\";\n\nexport function linearish(scale) {\n var domain = scale.domain;\n\n scale.ticks = function(count) {\n var d = domain();\n return ticks(d[0], d[d.length - 1], count == null ? 10 : count);\n };\n\n scale.tickFormat = function(count, specifier) {\n return tickFormat(domain(), count, specifier);\n };\n\n scale.nice = function(count) {\n if (count == null) count = 10;\n\n var d = domain(),\n i0 = 0,\n i1 = d.length - 1,\n start = d[i0],\n stop = d[i1],\n step;\n\n if (stop < start) {\n step = start, start = stop, stop = step;\n step = i0, i0 = i1, i1 = step;\n }\n\n step = tickIncrement(start, stop, count);\n\n if (step > 0) {\n start = Math.floor(start / step) * step;\n stop = Math.ceil(stop / step) * step;\n step = tickIncrement(start, stop, count);\n } else if (step < 0) {\n start = Math.ceil(start * step) / step;\n stop = Math.floor(stop * step) / step;\n step = tickIncrement(start, stop, count);\n }\n\n if (step > 0) {\n d[i0] = Math.floor(start / step) * step;\n d[i1] = Math.ceil(stop / step) * step;\n domain(d);\n } else if (step < 0) {\n d[i0] = Math.ceil(start * step) / step;\n d[i1] = Math.floor(stop * step) / step;\n domain(d);\n }\n\n return scale;\n };\n\n return scale;\n}\n\nexport default function linear() {\n var scale = continuous(deinterpolate, reinterpolate);\n\n scale.copy = function() {\n return copy(scale, linear());\n };\n\n return linearish(scale);\n}\n","import {map} from \"./array\";\nimport {linearish} from \"./linear\";\nimport number from \"./number\";\n\nexport default function identity() {\n var domain = [0, 1];\n\n function scale(x) {\n return +x;\n }\n\n scale.invert = scale;\n\n scale.domain = scale.range = function(_) {\n return arguments.length ? (domain = map.call(_, number), scale) : domain.slice();\n };\n\n scale.copy = function() {\n return identity().domain(domain);\n };\n\n return linearish(scale);\n}\n","export default function(domain, interval) {\n domain = domain.slice();\n\n var i0 = 0,\n i1 = domain.length - 1,\n x0 = domain[i0],\n x1 = domain[i1],\n t;\n\n if (x1 < x0) {\n t = i0, i0 = i1, i1 = t;\n t = x0, x0 = x1, x1 = t;\n }\n\n domain[i0] = interval.floor(x0);\n domain[i1] = interval.ceil(x1);\n return domain;\n}\n","import {ticks} from \"d3-array\";\nimport {format} from \"d3-format\";\nimport constant from \"./constant\";\nimport nice from \"./nice\";\nimport {default as continuous, copy} from \"./continuous\";\n\nfunction deinterpolate(a, b) {\n return (b = Math.log(b / a))\n ? function(x) { return Math.log(x / a) / b; }\n : constant(b);\n}\n\nfunction reinterpolate(a, b) {\n return a < 0\n ? function(t) { return -Math.pow(-b, t) * Math.pow(-a, 1 - t); }\n : function(t) { return Math.pow(b, t) * Math.pow(a, 1 - t); };\n}\n\nfunction pow10(x) {\n return isFinite(x) ? +(\"1e\" + x) : x < 0 ? 0 : x;\n}\n\nfunction powp(base) {\n return base === 10 ? pow10\n : base === Math.E ? Math.exp\n : function(x) { return Math.pow(base, x); };\n}\n\nfunction logp(base) {\n return base === Math.E ? Math.log\n : base === 10 && Math.log10\n || base === 2 && Math.log2\n || (base = Math.log(base), function(x) { return Math.log(x) / base; });\n}\n\nfunction reflect(f) {\n return function(x) {\n return -f(-x);\n };\n}\n\nexport default function log() {\n var scale = continuous(deinterpolate, reinterpolate).domain([1, 10]),\n domain = scale.domain,\n base = 10,\n logs = logp(10),\n pows = powp(10);\n\n function rescale() {\n logs = logp(base), pows = powp(base);\n if (domain()[0] < 0) logs = reflect(logs), pows = reflect(pows);\n return scale;\n }\n\n scale.base = function(_) {\n return arguments.length ? (base = +_, rescale()) : base;\n };\n\n scale.domain = function(_) {\n return arguments.length ? (domain(_), rescale()) : domain();\n };\n\n scale.ticks = function(count) {\n var d = domain(),\n u = d[0],\n v = d[d.length - 1],\n r;\n\n if (r = v < u) i = u, u = v, v = i;\n\n var i = logs(u),\n j = logs(v),\n p,\n k,\n t,\n n = count == null ? 10 : +count,\n z = [];\n\n if (!(base % 1) && j - i < n) {\n i = Math.round(i) - 1, j = Math.round(j) + 1;\n if (u > 0) for (; i < j; ++i) {\n for (k = 1, p = pows(i); k < base; ++k) {\n t = p * k;\n if (t < u) continue;\n if (t > v) break;\n z.push(t);\n }\n } else for (; i < j; ++i) {\n for (k = base - 1, p = pows(i); k >= 1; --k) {\n t = p * k;\n if (t < u) continue;\n if (t > v) break;\n z.push(t);\n }\n }\n } else {\n z = ticks(i, j, Math.min(j - i, n)).map(pows);\n }\n\n return r ? z.reverse() : z;\n };\n\n scale.tickFormat = function(count, specifier) {\n if (specifier == null) specifier = base === 10 ? \".0e\" : \",\";\n if (typeof specifier !== \"function\") specifier = format(specifier);\n if (count === Infinity) return specifier;\n if (count == null) count = 10;\n var k = Math.max(1, base * count / scale.ticks().length); // TODO fast estimate?\n return function(d) {\n var i = d / pows(Math.round(logs(d)));\n if (i * base < base - 0.5) i *= base;\n return i <= k ? specifier(d) : \"\";\n };\n };\n\n scale.nice = function() {\n return domain(nice(domain(), {\n floor: function(x) { return pows(Math.floor(logs(x))); },\n ceil: function(x) { return pows(Math.ceil(logs(x))); }\n }));\n };\n\n scale.copy = function() {\n return copy(scale, log().base(base));\n };\n\n return scale;\n}\n","import constant from \"./constant\";\nimport {linearish} from \"./linear\";\nimport {default as continuous, copy} from \"./continuous\";\n\nfunction raise(x, exponent) {\n return x < 0 ? -Math.pow(-x, exponent) : Math.pow(x, exponent);\n}\n\nexport default function pow() {\n var exponent = 1,\n scale = continuous(deinterpolate, reinterpolate),\n domain = scale.domain;\n\n function deinterpolate(a, b) {\n return (b = raise(b, exponent) - (a = raise(a, exponent)))\n ? function(x) { return (raise(x, exponent) - a) / b; }\n : constant(b);\n }\n\n function reinterpolate(a, b) {\n b = raise(b, exponent) - (a = raise(a, exponent));\n return function(t) { return raise(a + b * t, 1 / exponent); };\n }\n\n scale.exponent = function(_) {\n return arguments.length ? (exponent = +_, domain(domain())) : exponent;\n };\n\n scale.copy = function() {\n return copy(scale, pow().exponent(exponent));\n };\n\n return linearish(scale);\n}\n\nexport function sqrt() {\n return pow().exponent(0.5);\n}\n","import {ascending, bisect, quantile as threshold} from \"d3-array\";\nimport {slice} from \"./array\";\n\nexport default function quantile() {\n var domain = [],\n range = [],\n thresholds = [];\n\n function rescale() {\n var i = 0, n = Math.max(1, range.length);\n thresholds = new Array(n - 1);\n while (++i < n) thresholds[i - 1] = threshold(domain, i / n);\n return scale;\n }\n\n function scale(x) {\n if (!isNaN(x = +x)) return range[bisect(thresholds, x)];\n }\n\n scale.invertExtent = function(y) {\n var i = range.indexOf(y);\n return i < 0 ? [NaN, NaN] : [\n i > 0 ? thresholds[i - 1] : domain[0],\n i < thresholds.length ? thresholds[i] : domain[domain.length - 1]\n ];\n };\n\n scale.domain = function(_) {\n if (!arguments.length) return domain.slice();\n domain = [];\n for (var i = 0, n = _.length, d; i < n; ++i) if (d = _[i], d != null && !isNaN(d = +d)) domain.push(d);\n domain.sort(ascending);\n return rescale();\n };\n\n scale.range = function(_) {\n return arguments.length ? (range = slice.call(_), rescale()) : range.slice();\n };\n\n scale.quantiles = function() {\n return thresholds.slice();\n };\n\n scale.copy = function() {\n return quantile()\n .domain(domain)\n .range(range);\n };\n\n return scale;\n}\n","import {bisect} from \"d3-array\";\nimport {slice} from \"./array\";\nimport {linearish} from \"./linear\";\n\nexport default function quantize() {\n var x0 = 0,\n x1 = 1,\n n = 1,\n domain = [0.5],\n range = [0, 1];\n\n function scale(x) {\n if (x <= x) return range[bisect(domain, x, 0, n)];\n }\n\n function rescale() {\n var i = -1;\n domain = new Array(n);\n while (++i < n) domain[i] = ((i + 1) * x1 - (i - n) * x0) / (n + 1);\n return scale;\n }\n\n scale.domain = function(_) {\n return arguments.length ? (x0 = +_[0], x1 = +_[1], rescale()) : [x0, x1];\n };\n\n scale.range = function(_) {\n return arguments.length ? (n = (range = slice.call(_)).length - 1, rescale()) : range.slice();\n };\n\n scale.invertExtent = function(y) {\n var i = range.indexOf(y);\n return i < 0 ? [NaN, NaN]\n : i < 1 ? [x0, domain[0]]\n : i >= n ? [domain[n - 1], x1]\n : [domain[i - 1], domain[i]];\n };\n\n scale.copy = function() {\n return quantize()\n .domain([x0, x1])\n .range(range);\n };\n\n return linearish(scale);\n}\n","import {bisect} from \"d3-array\";\nimport {slice} from \"./array\";\n\nexport default function threshold() {\n var domain = [0.5],\n range = [0, 1],\n n = 1;\n\n function scale(x) {\n if (x <= x) return range[bisect(domain, x, 0, n)];\n }\n\n scale.domain = function(_) {\n return arguments.length ? (domain = slice.call(_), n = Math.min(domain.length, range.length - 1), scale) : domain.slice();\n };\n\n scale.range = function(_) {\n return arguments.length ? (range = slice.call(_), n = Math.min(domain.length, range.length - 1), scale) : range.slice();\n };\n\n scale.invertExtent = function(y) {\n var i = range.indexOf(y);\n return [domain[i - 1], domain[i]];\n };\n\n scale.copy = function() {\n return threshold()\n .domain(domain)\n .range(range);\n };\n\n return scale;\n}\n","var t0 = new Date,\n t1 = new Date;\n\nexport default function newInterval(floori, offseti, count, field) {\n\n function interval(date) {\n return floori(date = new Date(+date)), date;\n }\n\n interval.floor = interval;\n\n interval.ceil = function(date) {\n return floori(date = new Date(date - 1)), offseti(date, 1), floori(date), date;\n };\n\n interval.round = function(date) {\n var d0 = interval(date),\n d1 = interval.ceil(date);\n return date - d0 < d1 - date ? d0 : d1;\n };\n\n interval.offset = function(date, step) {\n return offseti(date = new Date(+date), step == null ? 1 : Math.floor(step)), date;\n };\n\n interval.range = function(start, stop, step) {\n var range = [], previous;\n start = interval.ceil(start);\n step = step == null ? 1 : Math.floor(step);\n if (!(start < stop) || !(step > 0)) return range; // also handles Invalid Date\n do range.push(previous = new Date(+start)), offseti(start, step), floori(start);\n while (previous < start && start < stop);\n return range;\n };\n\n interval.filter = function(test) {\n return newInterval(function(date) {\n if (date >= date) while (floori(date), !test(date)) date.setTime(date - 1);\n }, function(date, step) {\n if (date >= date) {\n if (step < 0) while (++step <= 0) {\n while (offseti(date, -1), !test(date)) {} // eslint-disable-line no-empty\n } else while (--step >= 0) {\n while (offseti(date, +1), !test(date)) {} // eslint-disable-line no-empty\n }\n }\n });\n };\n\n if (count) {\n interval.count = function(start, end) {\n t0.setTime(+start), t1.setTime(+end);\n floori(t0), floori(t1);\n return Math.floor(count(t0, t1));\n };\n\n interval.every = function(step) {\n step = Math.floor(step);\n return !isFinite(step) || !(step > 0) ? null\n : !(step > 1) ? interval\n : interval.filter(field\n ? function(d) { return field(d) % step === 0; }\n : function(d) { return interval.count(0, d) % step === 0; });\n };\n }\n\n return interval;\n}\n","import interval from \"./interval\";\n\nvar millisecond = interval(function() {\n // noop\n}, function(date, step) {\n date.setTime(+date + step);\n}, function(start, end) {\n return end - start;\n});\n\n// An optimized implementation for this simple case.\nmillisecond.every = function(k) {\n k = Math.floor(k);\n if (!isFinite(k) || !(k > 0)) return null;\n if (!(k > 1)) return millisecond;\n return interval(function(date) {\n date.setTime(Math.floor(date / k) * k);\n }, function(date, step) {\n date.setTime(+date + step * k);\n }, function(start, end) {\n return (end - start) / k;\n });\n};\n\nexport default millisecond;\nexport var milliseconds = millisecond.range;\n","export var durationSecond = 1e3;\nexport var durationMinute = 6e4;\nexport var durationHour = 36e5;\nexport var durationDay = 864e5;\nexport var durationWeek = 6048e5;\n","import interval from \"./interval\";\nimport {durationSecond} from \"./duration\";\n\nvar second = interval(function(date) {\n date.setTime(Math.floor(date / durationSecond) * durationSecond);\n}, function(date, step) {\n date.setTime(+date + step * durationSecond);\n}, function(start, end) {\n return (end - start) / durationSecond;\n}, function(date) {\n return date.getUTCSeconds();\n});\n\nexport default second;\nexport var seconds = second.range;\n","import interval from \"./interval\";\nimport {durationMinute} from \"./duration\";\n\nvar minute = interval(function(date) {\n date.setTime(Math.floor(date / durationMinute) * durationMinute);\n}, function(date, step) {\n date.setTime(+date + step * durationMinute);\n}, function(start, end) {\n return (end - start) / durationMinute;\n}, function(date) {\n return date.getMinutes();\n});\n\nexport default minute;\nexport var minutes = minute.range;\n","import interval from \"./interval\";\nimport {durationHour, durationMinute} from \"./duration\";\n\nvar hour = interval(function(date) {\n var offset = date.getTimezoneOffset() * durationMinute % durationHour;\n if (offset < 0) offset += durationHour;\n date.setTime(Math.floor((+date - offset) / durationHour) * durationHour + offset);\n}, function(date, step) {\n date.setTime(+date + step * durationHour);\n}, function(start, end) {\n return (end - start) / durationHour;\n}, function(date) {\n return date.getHours();\n});\n\nexport default hour;\nexport var hours = hour.range;\n","import interval from \"./interval\";\nimport {durationDay, durationMinute} from \"./duration\";\n\nvar day = interval(function(date) {\n date.setHours(0, 0, 0, 0);\n}, function(date, step) {\n date.setDate(date.getDate() + step);\n}, function(start, end) {\n return (end - start - (end.getTimezoneOffset() - start.getTimezoneOffset()) * durationMinute) / durationDay;\n}, function(date) {\n return date.getDate() - 1;\n});\n\nexport default day;\nexport var days = day.range;\n","import interval from \"./interval\";\nimport {durationMinute, durationWeek} from \"./duration\";\n\nfunction weekday(i) {\n return interval(function(date) {\n date.setDate(date.getDate() - (date.getDay() + 7 - i) % 7);\n date.setHours(0, 0, 0, 0);\n }, function(date, step) {\n date.setDate(date.getDate() + step * 7);\n }, function(start, end) {\n return (end - start - (end.getTimezoneOffset() - start.getTimezoneOffset()) * durationMinute) / durationWeek;\n });\n}\n\nexport var sunday = weekday(0);\nexport var monday = weekday(1);\nexport var tuesday = weekday(2);\nexport var wednesday = weekday(3);\nexport var thursday = weekday(4);\nexport var friday = weekday(5);\nexport var saturday = weekday(6);\n\nexport var sundays = sunday.range;\nexport var mondays = monday.range;\nexport var tuesdays = tuesday.range;\nexport var wednesdays = wednesday.range;\nexport var thursdays = thursday.range;\nexport var fridays = friday.range;\nexport var saturdays = saturday.range;\n","import interval from \"./interval\";\n\nvar month = interval(function(date) {\n date.setDate(1);\n date.setHours(0, 0, 0, 0);\n}, function(date, step) {\n date.setMonth(date.getMonth() + step);\n}, function(start, end) {\n return end.getMonth() - start.getMonth() + (end.getFullYear() - start.getFullYear()) * 12;\n}, function(date) {\n return date.getMonth();\n});\n\nexport default month;\nexport var months = month.range;\n","import interval from \"./interval\";\n\nvar year = interval(function(date) {\n date.setMonth(0, 1);\n date.setHours(0, 0, 0, 0);\n}, function(date, step) {\n date.setFullYear(date.getFullYear() + step);\n}, function(start, end) {\n return end.getFullYear() - start.getFullYear();\n}, function(date) {\n return date.getFullYear();\n});\n\n// An optimized implementation for this simple case.\nyear.every = function(k) {\n return !isFinite(k = Math.floor(k)) || !(k > 0) ? null : interval(function(date) {\n date.setFullYear(Math.floor(date.getFullYear() / k) * k);\n date.setMonth(0, 1);\n date.setHours(0, 0, 0, 0);\n }, function(date, step) {\n date.setFullYear(date.getFullYear() + step * k);\n });\n};\n\nexport default year;\nexport var years = year.range;\n","import interval from \"./interval\";\nimport {durationMinute} from \"./duration\";\n\nvar utcMinute = interval(function(date) {\n date.setUTCSeconds(0, 0);\n}, function(date, step) {\n date.setTime(+date + step * durationMinute);\n}, function(start, end) {\n return (end - start) / durationMinute;\n}, function(date) {\n return date.getUTCMinutes();\n});\n\nexport default utcMinute;\nexport var utcMinutes = utcMinute.range;\n","import interval from \"./interval\";\nimport {durationHour} from \"./duration\";\n\nvar utcHour = interval(function(date) {\n date.setUTCMinutes(0, 0, 0);\n}, function(date, step) {\n date.setTime(+date + step * durationHour);\n}, function(start, end) {\n return (end - start) / durationHour;\n}, function(date) {\n return date.getUTCHours();\n});\n\nexport default utcHour;\nexport var utcHours = utcHour.range;\n","import interval from \"./interval\";\nimport {durationDay} from \"./duration\";\n\nvar utcDay = interval(function(date) {\n date.setUTCHours(0, 0, 0, 0);\n}, function(date, step) {\n date.setUTCDate(date.getUTCDate() + step);\n}, function(start, end) {\n return (end - start) / durationDay;\n}, function(date) {\n return date.getUTCDate() - 1;\n});\n\nexport default utcDay;\nexport var utcDays = utcDay.range;\n","import interval from \"./interval\";\nimport {durationWeek} from \"./duration\";\n\nfunction utcWeekday(i) {\n return interval(function(date) {\n date.setUTCDate(date.getUTCDate() - (date.getUTCDay() + 7 - i) % 7);\n date.setUTCHours(0, 0, 0, 0);\n }, function(date, step) {\n date.setUTCDate(date.getUTCDate() + step * 7);\n }, function(start, end) {\n return (end - start) / durationWeek;\n });\n}\n\nexport var utcSunday = utcWeekday(0);\nexport var utcMonday = utcWeekday(1);\nexport var utcTuesday = utcWeekday(2);\nexport var utcWednesday = utcWeekday(3);\nexport var utcThursday = utcWeekday(4);\nexport var utcFriday = utcWeekday(5);\nexport var utcSaturday = utcWeekday(6);\n\nexport var utcSundays = utcSunday.range;\nexport var utcMondays = utcMonday.range;\nexport var utcTuesdays = utcTuesday.range;\nexport var utcWednesdays = utcWednesday.range;\nexport var utcThursdays = utcThursday.range;\nexport var utcFridays = utcFriday.range;\nexport var utcSaturdays = utcSaturday.range;\n","import interval from \"./interval\";\n\nvar utcMonth = interval(function(date) {\n date.setUTCDate(1);\n date.setUTCHours(0, 0, 0, 0);\n}, function(date, step) {\n date.setUTCMonth(date.getUTCMonth() + step);\n}, function(start, end) {\n return end.getUTCMonth() - start.getUTCMonth() + (end.getUTCFullYear() - start.getUTCFullYear()) * 12;\n}, function(date) {\n return date.getUTCMonth();\n});\n\nexport default utcMonth;\nexport var utcMonths = utcMonth.range;\n","import interval from \"./interval\";\n\nvar utcYear = interval(function(date) {\n date.setUTCMonth(0, 1);\n date.setUTCHours(0, 0, 0, 0);\n}, function(date, step) {\n date.setUTCFullYear(date.getUTCFullYear() + step);\n}, function(start, end) {\n return end.getUTCFullYear() - start.getUTCFullYear();\n}, function(date) {\n return date.getUTCFullYear();\n});\n\n// An optimized implementation for this simple case.\nutcYear.every = function(k) {\n return !isFinite(k = Math.floor(k)) || !(k > 0) ? null : interval(function(date) {\n date.setUTCFullYear(Math.floor(date.getUTCFullYear() / k) * k);\n date.setUTCMonth(0, 1);\n date.setUTCHours(0, 0, 0, 0);\n }, function(date, step) {\n date.setUTCFullYear(date.getUTCFullYear() + step * k);\n });\n};\n\nexport default utcYear;\nexport var utcYears = utcYear.range;\n","import {\n timeDay,\n timeSunday,\n timeMonday,\n timeThursday,\n timeYear,\n utcDay,\n utcSunday,\n utcMonday,\n utcThursday,\n utcYear\n} from \"d3-time\";\n\nfunction localDate(d) {\n if (0 <= d.y && d.y < 100) {\n var date = new Date(-1, d.m, d.d, d.H, d.M, d.S, d.L);\n date.setFullYear(d.y);\n return date;\n }\n return new Date(d.y, d.m, d.d, d.H, d.M, d.S, d.L);\n}\n\nfunction utcDate(d) {\n if (0 <= d.y && d.y < 100) {\n var date = new Date(Date.UTC(-1, d.m, d.d, d.H, d.M, d.S, d.L));\n date.setUTCFullYear(d.y);\n return date;\n }\n return new Date(Date.UTC(d.y, d.m, d.d, d.H, d.M, d.S, d.L));\n}\n\nfunction newYear(y) {\n return {y: y, m: 0, d: 1, H: 0, M: 0, S: 0, L: 0};\n}\n\nexport default function formatLocale(locale) {\n var locale_dateTime = locale.dateTime,\n locale_date = locale.date,\n locale_time = locale.time,\n locale_periods = locale.periods,\n locale_weekdays = locale.days,\n locale_shortWeekdays = locale.shortDays,\n locale_months = locale.months,\n locale_shortMonths = locale.shortMonths;\n\n var periodRe = formatRe(locale_periods),\n periodLookup = formatLookup(locale_periods),\n weekdayRe = formatRe(locale_weekdays),\n weekdayLookup = formatLookup(locale_weekdays),\n shortWeekdayRe = formatRe(locale_shortWeekdays),\n shortWeekdayLookup = formatLookup(locale_shortWeekdays),\n monthRe = formatRe(locale_months),\n monthLookup = formatLookup(locale_months),\n shortMonthRe = formatRe(locale_shortMonths),\n shortMonthLookup = formatLookup(locale_shortMonths);\n\n var formats = {\n \"a\": formatShortWeekday,\n \"A\": formatWeekday,\n \"b\": formatShortMonth,\n \"B\": formatMonth,\n \"c\": null,\n \"d\": formatDayOfMonth,\n \"e\": formatDayOfMonth,\n \"f\": formatMicroseconds,\n \"H\": formatHour24,\n \"I\": formatHour12,\n \"j\": formatDayOfYear,\n \"L\": formatMilliseconds,\n \"m\": formatMonthNumber,\n \"M\": formatMinutes,\n \"p\": formatPeriod,\n \"Q\": formatUnixTimestamp,\n \"s\": formatUnixTimestampSeconds,\n \"S\": formatSeconds,\n \"u\": formatWeekdayNumberMonday,\n \"U\": formatWeekNumberSunday,\n \"V\": formatWeekNumberISO,\n \"w\": formatWeekdayNumberSunday,\n \"W\": formatWeekNumberMonday,\n \"x\": null,\n \"X\": null,\n \"y\": formatYear,\n \"Y\": formatFullYear,\n \"Z\": formatZone,\n \"%\": formatLiteralPercent\n };\n\n var utcFormats = {\n \"a\": formatUTCShortWeekday,\n \"A\": formatUTCWeekday,\n \"b\": formatUTCShortMonth,\n \"B\": formatUTCMonth,\n \"c\": null,\n \"d\": formatUTCDayOfMonth,\n \"e\": formatUTCDayOfMonth,\n \"f\": formatUTCMicroseconds,\n \"H\": formatUTCHour24,\n \"I\": formatUTCHour12,\n \"j\": formatUTCDayOfYear,\n \"L\": formatUTCMilliseconds,\n \"m\": formatUTCMonthNumber,\n \"M\": formatUTCMinutes,\n \"p\": formatUTCPeriod,\n \"Q\": formatUnixTimestamp,\n \"s\": formatUnixTimestampSeconds,\n \"S\": formatUTCSeconds,\n \"u\": formatUTCWeekdayNumberMonday,\n \"U\": formatUTCWeekNumberSunday,\n \"V\": formatUTCWeekNumberISO,\n \"w\": formatUTCWeekdayNumberSunday,\n \"W\": formatUTCWeekNumberMonday,\n \"x\": null,\n \"X\": null,\n \"y\": formatUTCYear,\n \"Y\": formatUTCFullYear,\n \"Z\": formatUTCZone,\n \"%\": formatLiteralPercent\n };\n\n var parses = {\n \"a\": parseShortWeekday,\n \"A\": parseWeekday,\n \"b\": parseShortMonth,\n \"B\": parseMonth,\n \"c\": parseLocaleDateTime,\n \"d\": parseDayOfMonth,\n \"e\": parseDayOfMonth,\n \"f\": parseMicroseconds,\n \"H\": parseHour24,\n \"I\": parseHour24,\n \"j\": parseDayOfYear,\n \"L\": parseMilliseconds,\n \"m\": parseMonthNumber,\n \"M\": parseMinutes,\n \"p\": parsePeriod,\n \"Q\": parseUnixTimestamp,\n \"s\": parseUnixTimestampSeconds,\n \"S\": parseSeconds,\n \"u\": parseWeekdayNumberMonday,\n \"U\": parseWeekNumberSunday,\n \"V\": parseWeekNumberISO,\n \"w\": parseWeekdayNumberSunday,\n \"W\": parseWeekNumberMonday,\n \"x\": parseLocaleDate,\n \"X\": parseLocaleTime,\n \"y\": parseYear,\n \"Y\": parseFullYear,\n \"Z\": parseZone,\n \"%\": parseLiteralPercent\n };\n\n // These recursive directive definitions must be deferred.\n formats.x = newFormat(locale_date, formats);\n formats.X = newFormat(locale_time, formats);\n formats.c = newFormat(locale_dateTime, formats);\n utcFormats.x = newFormat(locale_date, utcFormats);\n utcFormats.X = newFormat(locale_time, utcFormats);\n utcFormats.c = newFormat(locale_dateTime, utcFormats);\n\n function newFormat(specifier, formats) {\n return function(date) {\n var string = [],\n i = -1,\n j = 0,\n n = specifier.length,\n c,\n pad,\n format;\n\n if (!(date instanceof Date)) date = new Date(+date);\n\n while (++i < n) {\n if (specifier.charCodeAt(i) === 37) {\n string.push(specifier.slice(j, i));\n if ((pad = pads[c = specifier.charAt(++i)]) != null) c = specifier.charAt(++i);\n else pad = c === \"e\" ? \" \" : \"0\";\n if (format = formats[c]) c = format(date, pad);\n string.push(c);\n j = i + 1;\n }\n }\n\n string.push(specifier.slice(j, i));\n return string.join(\"\");\n };\n }\n\n function newParse(specifier, newDate) {\n return function(string) {\n var d = newYear(1900),\n i = parseSpecifier(d, specifier, string += \"\", 0),\n week, day;\n if (i != string.length) return null;\n\n // If a UNIX timestamp is specified, return it.\n if (\"Q\" in d) return new Date(d.Q);\n\n // The am-pm flag is 0 for AM, and 1 for PM.\n if (\"p\" in d) d.H = d.H % 12 + d.p * 12;\n\n // Convert day-of-week and week-of-year to day-of-year.\n if (\"V\" in d) {\n if (d.V < 1 || d.V > 53) return null;\n if (!(\"w\" in d)) d.w = 1;\n if (\"Z\" in d) {\n week = utcDate(newYear(d.y)), day = week.getUTCDay();\n week = day > 4 || day === 0 ? utcMonday.ceil(week) : utcMonday(week);\n week = utcDay.offset(week, (d.V - 1) * 7);\n d.y = week.getUTCFullYear();\n d.m = week.getUTCMonth();\n d.d = week.getUTCDate() + (d.w + 6) % 7;\n } else {\n week = newDate(newYear(d.y)), day = week.getDay();\n week = day > 4 || day === 0 ? timeMonday.ceil(week) : timeMonday(week);\n week = timeDay.offset(week, (d.V - 1) * 7);\n d.y = week.getFullYear();\n d.m = week.getMonth();\n d.d = week.getDate() + (d.w + 6) % 7;\n }\n } else if (\"W\" in d || \"U\" in d) {\n if (!(\"w\" in d)) d.w = \"u\" in d ? d.u % 7 : \"W\" in d ? 1 : 0;\n day = \"Z\" in d ? utcDate(newYear(d.y)).getUTCDay() : newDate(newYear(d.y)).getDay();\n d.m = 0;\n d.d = \"W\" in d ? (d.w + 6) % 7 + d.W * 7 - (day + 5) % 7 : d.w + d.U * 7 - (day + 6) % 7;\n }\n\n // If a time zone is specified, all fields are interpreted as UTC and then\n // offset according to the specified time zone.\n if (\"Z\" in d) {\n d.H += d.Z / 100 | 0;\n d.M += d.Z % 100;\n return utcDate(d);\n }\n\n // Otherwise, all fields are in local time.\n return newDate(d);\n };\n }\n\n function parseSpecifier(d, specifier, string, j) {\n var i = 0,\n n = specifier.length,\n m = string.length,\n c,\n parse;\n\n while (i < n) {\n if (j >= m) return -1;\n c = specifier.charCodeAt(i++);\n if (c === 37) {\n c = specifier.charAt(i++);\n parse = parses[c in pads ? specifier.charAt(i++) : c];\n if (!parse || ((j = parse(d, string, j)) < 0)) return -1;\n } else if (c != string.charCodeAt(j++)) {\n return -1;\n }\n }\n\n return j;\n }\n\n function parsePeriod(d, string, i) {\n var n = periodRe.exec(string.slice(i));\n return n ? (d.p = periodLookup[n[0].toLowerCase()], i + n[0].length) : -1;\n }\n\n function parseShortWeekday(d, string, i) {\n var n = shortWeekdayRe.exec(string.slice(i));\n return n ? (d.w = shortWeekdayLookup[n[0].toLowerCase()], i + n[0].length) : -1;\n }\n\n function parseWeekday(d, string, i) {\n var n = weekdayRe.exec(string.slice(i));\n return n ? (d.w = weekdayLookup[n[0].toLowerCase()], i + n[0].length) : -1;\n }\n\n function parseShortMonth(d, string, i) {\n var n = shortMonthRe.exec(string.slice(i));\n return n ? (d.m = shortMonthLookup[n[0].toLowerCase()], i + n[0].length) : -1;\n }\n\n function parseMonth(d, string, i) {\n var n = monthRe.exec(string.slice(i));\n return n ? (d.m = monthLookup[n[0].toLowerCase()], i + n[0].length) : -1;\n }\n\n function parseLocaleDateTime(d, string, i) {\n return parseSpecifier(d, locale_dateTime, string, i);\n }\n\n function parseLocaleDate(d, string, i) {\n return parseSpecifier(d, locale_date, string, i);\n }\n\n function parseLocaleTime(d, string, i) {\n return parseSpecifier(d, locale_time, string, i);\n }\n\n function formatShortWeekday(d) {\n return locale_shortWeekdays[d.getDay()];\n }\n\n function formatWeekday(d) {\n return locale_weekdays[d.getDay()];\n }\n\n function formatShortMonth(d) {\n return locale_shortMonths[d.getMonth()];\n }\n\n function formatMonth(d) {\n return locale_months[d.getMonth()];\n }\n\n function formatPeriod(d) {\n return locale_periods[+(d.getHours() >= 12)];\n }\n\n function formatUTCShortWeekday(d) {\n return locale_shortWeekdays[d.getUTCDay()];\n }\n\n function formatUTCWeekday(d) {\n return locale_weekdays[d.getUTCDay()];\n }\n\n function formatUTCShortMonth(d) {\n return locale_shortMonths[d.getUTCMonth()];\n }\n\n function formatUTCMonth(d) {\n return locale_months[d.getUTCMonth()];\n }\n\n function formatUTCPeriod(d) {\n return locale_periods[+(d.getUTCHours() >= 12)];\n }\n\n return {\n format: function(specifier) {\n var f = newFormat(specifier += \"\", formats);\n f.toString = function() { return specifier; };\n return f;\n },\n parse: function(specifier) {\n var p = newParse(specifier += \"\", localDate);\n p.toString = function() { return specifier; };\n return p;\n },\n utcFormat: function(specifier) {\n var f = newFormat(specifier += \"\", utcFormats);\n f.toString = function() { return specifier; };\n return f;\n },\n utcParse: function(specifier) {\n var p = newParse(specifier, utcDate);\n p.toString = function() { return specifier; };\n return p;\n }\n };\n}\n\nvar pads = {\"-\": \"\", \"_\": \" \", \"0\": \"0\"},\n numberRe = /^\\s*\\d+/, // note: ignores next directive\n percentRe = /^%/,\n requoteRe = /[\\\\^$*+?|[\\]().{}]/g;\n\nfunction pad(value, fill, width) {\n var sign = value < 0 ? \"-\" : \"\",\n string = (sign ? -value : value) + \"\",\n length = string.length;\n return sign + (length < width ? new Array(width - length + 1).join(fill) + string : string);\n}\n\nfunction requote(s) {\n return s.replace(requoteRe, \"\\\\$&\");\n}\n\nfunction formatRe(names) {\n return new RegExp(\"^(?:\" + names.map(requote).join(\"|\") + \")\", \"i\");\n}\n\nfunction formatLookup(names) {\n var map = {}, i = -1, n = names.length;\n while (++i < n) map[names[i].toLowerCase()] = i;\n return map;\n}\n\nfunction parseWeekdayNumberSunday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 1));\n return n ? (d.w = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekdayNumberMonday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 1));\n return n ? (d.u = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekNumberSunday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.U = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekNumberISO(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.V = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekNumberMonday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.W = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseFullYear(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 4));\n return n ? (d.y = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseYear(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.y = +n[0] + (+n[0] > 68 ? 1900 : 2000), i + n[0].length) : -1;\n}\n\nfunction parseZone(d, string, i) {\n var n = /^(Z)|([+-]\\d\\d)(?::?(\\d\\d))?/.exec(string.slice(i, i + 6));\n return n ? (d.Z = n[1] ? 0 : -(n[2] + (n[3] || \"00\")), i + n[0].length) : -1;\n}\n\nfunction parseMonthNumber(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.m = n[0] - 1, i + n[0].length) : -1;\n}\n\nfunction parseDayOfMonth(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.d = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseDayOfYear(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 3));\n return n ? (d.m = 0, d.d = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseHour24(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.H = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseMinutes(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.M = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseSeconds(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.S = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseMilliseconds(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 3));\n return n ? (d.L = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseMicroseconds(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 6));\n return n ? (d.L = Math.floor(n[0] / 1000), i + n[0].length) : -1;\n}\n\nfunction parseLiteralPercent(d, string, i) {\n var n = percentRe.exec(string.slice(i, i + 1));\n return n ? i + n[0].length : -1;\n}\n\nfunction parseUnixTimestamp(d, string, i) {\n var n = numberRe.exec(string.slice(i));\n return n ? (d.Q = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseUnixTimestampSeconds(d, string, i) {\n var n = numberRe.exec(string.slice(i));\n return n ? (d.Q = (+n[0]) * 1000, i + n[0].length) : -1;\n}\n\nfunction formatDayOfMonth(d, p) {\n return pad(d.getDate(), p, 2);\n}\n\nfunction formatHour24(d, p) {\n return pad(d.getHours(), p, 2);\n}\n\nfunction formatHour12(d, p) {\n return pad(d.getHours() % 12 || 12, p, 2);\n}\n\nfunction formatDayOfYear(d, p) {\n return pad(1 + timeDay.count(timeYear(d), d), p, 3);\n}\n\nfunction formatMilliseconds(d, p) {\n return pad(d.getMilliseconds(), p, 3);\n}\n\nfunction formatMicroseconds(d, p) {\n return formatMilliseconds(d, p) + \"000\";\n}\n\nfunction formatMonthNumber(d, p) {\n return pad(d.getMonth() + 1, p, 2);\n}\n\nfunction formatMinutes(d, p) {\n return pad(d.getMinutes(), p, 2);\n}\n\nfunction formatSeconds(d, p) {\n return pad(d.getSeconds(), p, 2);\n}\n\nfunction formatWeekdayNumberMonday(d) {\n var day = d.getDay();\n return day === 0 ? 7 : day;\n}\n\nfunction formatWeekNumberSunday(d, p) {\n return pad(timeSunday.count(timeYear(d), d), p, 2);\n}\n\nfunction formatWeekNumberISO(d, p) {\n var day = d.getDay();\n d = (day >= 4 || day === 0) ? timeThursday(d) : timeThursday.ceil(d);\n return pad(timeThursday.count(timeYear(d), d) + (timeYear(d).getDay() === 4), p, 2);\n}\n\nfunction formatWeekdayNumberSunday(d) {\n return d.getDay();\n}\n\nfunction formatWeekNumberMonday(d, p) {\n return pad(timeMonday.count(timeYear(d), d), p, 2);\n}\n\nfunction formatYear(d, p) {\n return pad(d.getFullYear() % 100, p, 2);\n}\n\nfunction formatFullYear(d, p) {\n return pad(d.getFullYear() % 10000, p, 4);\n}\n\nfunction formatZone(d) {\n var z = d.getTimezoneOffset();\n return (z > 0 ? \"-\" : (z *= -1, \"+\"))\n + pad(z / 60 | 0, \"0\", 2)\n + pad(z % 60, \"0\", 2);\n}\n\nfunction formatUTCDayOfMonth(d, p) {\n return pad(d.getUTCDate(), p, 2);\n}\n\nfunction formatUTCHour24(d, p) {\n return pad(d.getUTCHours(), p, 2);\n}\n\nfunction formatUTCHour12(d, p) {\n return pad(d.getUTCHours() % 12 || 12, p, 2);\n}\n\nfunction formatUTCDayOfYear(d, p) {\n return pad(1 + utcDay.count(utcYear(d), d), p, 3);\n}\n\nfunction formatUTCMilliseconds(d, p) {\n return pad(d.getUTCMilliseconds(), p, 3);\n}\n\nfunction formatUTCMicroseconds(d, p) {\n return formatUTCMilliseconds(d, p) + \"000\";\n}\n\nfunction formatUTCMonthNumber(d, p) {\n return pad(d.getUTCMonth() + 1, p, 2);\n}\n\nfunction formatUTCMinutes(d, p) {\n return pad(d.getUTCMinutes(), p, 2);\n}\n\nfunction formatUTCSeconds(d, p) {\n return pad(d.getUTCSeconds(), p, 2);\n}\n\nfunction formatUTCWeekdayNumberMonday(d) {\n var dow = d.getUTCDay();\n return dow === 0 ? 7 : dow;\n}\n\nfunction formatUTCWeekNumberSunday(d, p) {\n return pad(utcSunday.count(utcYear(d), d), p, 2);\n}\n\nfunction formatUTCWeekNumberISO(d, p) {\n var day = d.getUTCDay();\n d = (day >= 4 || day === 0) ? utcThursday(d) : utcThursday.ceil(d);\n return pad(utcThursday.count(utcYear(d), d) + (utcYear(d).getUTCDay() === 4), p, 2);\n}\n\nfunction formatUTCWeekdayNumberSunday(d) {\n return d.getUTCDay();\n}\n\nfunction formatUTCWeekNumberMonday(d, p) {\n return pad(utcMonday.count(utcYear(d), d), p, 2);\n}\n\nfunction formatUTCYear(d, p) {\n return pad(d.getUTCFullYear() % 100, p, 2);\n}\n\nfunction formatUTCFullYear(d, p) {\n return pad(d.getUTCFullYear() % 10000, p, 4);\n}\n\nfunction formatUTCZone() {\n return \"+0000\";\n}\n\nfunction formatLiteralPercent() {\n return \"%\";\n}\n\nfunction formatUnixTimestamp(d) {\n return +d;\n}\n\nfunction formatUnixTimestampSeconds(d) {\n return Math.floor(+d / 1000);\n}\n","import formatLocale from \"./locale\";\n\nvar locale;\nexport var timeFormat;\nexport var timeParse;\nexport var utcFormat;\nexport var utcParse;\n\ndefaultLocale({\n dateTime: \"%x, %X\",\n date: \"%-m/%-d/%Y\",\n time: \"%-I:%M:%S %p\",\n periods: [\"AM\", \"PM\"],\n days: [\"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"],\n shortDays: [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"],\n months: [\"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\"],\n shortMonths: [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"]\n});\n\nexport default function defaultLocale(definition) {\n locale = formatLocale(definition);\n timeFormat = locale.format;\n timeParse = locale.parse;\n utcFormat = locale.utcFormat;\n utcParse = locale.utcParse;\n return locale;\n}\n","import {utcFormat} from \"./defaultLocale\";\n\nexport var isoSpecifier = \"%Y-%m-%dT%H:%M:%S.%LZ\";\n\nfunction formatIsoNative(date) {\n return date.toISOString();\n}\n\nvar formatIso = Date.prototype.toISOString\n ? formatIsoNative\n : utcFormat(isoSpecifier);\n\nexport default formatIso;\n","import {isoSpecifier} from \"./isoFormat\";\nimport {utcParse} from \"./defaultLocale\";\n\nfunction parseIsoNative(string) {\n var date = new Date(string);\n return isNaN(date) ? null : date;\n}\n\nvar parseIso = +new Date(\"2000-01-01T00:00:00.000Z\")\n ? parseIsoNative\n : utcParse(isoSpecifier);\n\nexport default parseIso;\n","import {bisector, tickStep} from \"d3-array\";\nimport {interpolateNumber as reinterpolate} from \"d3-interpolate\";\nimport {timeYear, timeMonth, timeWeek, timeDay, timeHour, timeMinute, timeSecond, timeMillisecond} from \"d3-time\";\nimport {timeFormat} from \"d3-time-format\";\nimport {map} from \"./array\";\nimport {default as continuous, copy, deinterpolateLinear as deinterpolate} from \"./continuous\";\nimport nice from \"./nice\";\n\nvar durationSecond = 1000,\n durationMinute = durationSecond * 60,\n durationHour = durationMinute * 60,\n durationDay = durationHour * 24,\n durationWeek = durationDay * 7,\n durationMonth = durationDay * 30,\n durationYear = durationDay * 365;\n\nfunction date(t) {\n return new Date(t);\n}\n\nfunction number(t) {\n return t instanceof Date ? +t : +new Date(+t);\n}\n\nexport function calendar(year, month, week, day, hour, minute, second, millisecond, format) {\n var scale = continuous(deinterpolate, reinterpolate),\n invert = scale.invert,\n domain = scale.domain;\n\n var formatMillisecond = format(\".%L\"),\n formatSecond = format(\":%S\"),\n formatMinute = format(\"%I:%M\"),\n formatHour = format(\"%I %p\"),\n formatDay = format(\"%a %d\"),\n formatWeek = format(\"%b %d\"),\n formatMonth = format(\"%B\"),\n formatYear = format(\"%Y\");\n\n var tickIntervals = [\n [second, 1, durationSecond],\n [second, 5, 5 * durationSecond],\n [second, 15, 15 * durationSecond],\n [second, 30, 30 * durationSecond],\n [minute, 1, durationMinute],\n [minute, 5, 5 * durationMinute],\n [minute, 15, 15 * durationMinute],\n [minute, 30, 30 * durationMinute],\n [ hour, 1, durationHour ],\n [ hour, 3, 3 * durationHour ],\n [ hour, 6, 6 * durationHour ],\n [ hour, 12, 12 * durationHour ],\n [ day, 1, durationDay ],\n [ day, 2, 2 * durationDay ],\n [ week, 1, durationWeek ],\n [ month, 1, durationMonth ],\n [ month, 3, 3 * durationMonth ],\n [ year, 1, durationYear ]\n ];\n\n function tickFormat(date) {\n return (second(date) < date ? formatMillisecond\n : minute(date) < date ? formatSecond\n : hour(date) < date ? formatMinute\n : day(date) < date ? formatHour\n : month(date) < date ? (week(date) < date ? formatDay : formatWeek)\n : year(date) < date ? formatMonth\n : formatYear)(date);\n }\n\n function tickInterval(interval, start, stop, step) {\n if (interval == null) interval = 10;\n\n // If a desired tick count is specified, pick a reasonable tick interval\n // based on the extent of the domain and a rough estimate of tick size.\n // Otherwise, assume interval is already a time interval and use it.\n if (typeof interval === \"number\") {\n var target = Math.abs(stop - start) / interval,\n i = bisector(function(i) { return i[2]; }).right(tickIntervals, target);\n if (i === tickIntervals.length) {\n step = tickStep(start / durationYear, stop / durationYear, interval);\n interval = year;\n } else if (i) {\n i = tickIntervals[target / tickIntervals[i - 1][2] < tickIntervals[i][2] / target ? i - 1 : i];\n step = i[1];\n interval = i[0];\n } else {\n step = Math.max(tickStep(start, stop, interval), 1);\n interval = millisecond;\n }\n }\n\n return step == null ? interval : interval.every(step);\n }\n\n scale.invert = function(y) {\n return new Date(invert(y));\n };\n\n scale.domain = function(_) {\n return arguments.length ? domain(map.call(_, number)) : domain().map(date);\n };\n\n scale.ticks = function(interval, step) {\n var d = domain(),\n t0 = d[0],\n t1 = d[d.length - 1],\n r = t1 < t0,\n t;\n if (r) t = t0, t0 = t1, t1 = t;\n t = tickInterval(interval, t0, t1, step);\n t = t ? t.range(t0, t1 + 1) : []; // inclusive stop\n return r ? t.reverse() : t;\n };\n\n scale.tickFormat = function(count, specifier) {\n return specifier == null ? tickFormat : format(specifier);\n };\n\n scale.nice = function(interval, step) {\n var d = domain();\n return (interval = tickInterval(interval, d[0], d[d.length - 1], step))\n ? domain(nice(d, interval))\n : scale;\n };\n\n scale.copy = function() {\n return copy(scale, calendar(year, month, week, day, hour, minute, second, millisecond, format));\n };\n\n return scale;\n}\n\nexport default function() {\n return calendar(timeYear, timeMonth, timeWeek, timeDay, timeHour, timeMinute, timeSecond, timeMillisecond, timeFormat).domain([new Date(2000, 0, 1), new Date(2000, 0, 2)]);\n}\n","import {calendar} from \"./time\";\nimport {utcFormat} from \"d3-time-format\";\nimport {utcYear, utcMonth, utcWeek, utcDay, utcHour, utcMinute, utcSecond, utcMillisecond} from \"d3-time\";\n\nexport default function() {\n return calendar(utcYear, utcMonth, utcWeek, utcDay, utcHour, utcMinute, utcSecond, utcMillisecond, utcFormat).domain([Date.UTC(2000, 0, 1), Date.UTC(2000, 0, 2)]);\n}\n","import {linearish} from \"./linear\";\n\nexport default function sequential(interpolator) {\n var x0 = 0,\n x1 = 1,\n clamp = false;\n\n function scale(x) {\n var t = (x - x0) / (x1 - x0);\n return interpolator(clamp ? Math.max(0, Math.min(1, t)) : t);\n }\n\n scale.domain = function(_) {\n return arguments.length ? (x0 = +_[0], x1 = +_[1], scale) : [x0, x1];\n };\n\n scale.clamp = function(_) {\n return arguments.length ? (clamp = !!_, scale) : clamp;\n };\n\n scale.interpolator = function(_) {\n return arguments.length ? (interpolator = _, scale) : interpolator;\n };\n\n scale.copy = function() {\n return sequential(interpolator).domain([x0, x1]).clamp(clamp);\n };\n\n return linearish(scale);\n}\n","export default function(specifier) {\n var n = specifier.length / 6 | 0, colors = new Array(n), i = 0;\n while (i < n) colors[i] = \"#\" + specifier.slice(i * 6, ++i * 6);\n return colors;\n}\n","import colors from \"../colors\";\n\nexport default colors(\"1f77b4ff7f0e2ca02cd627289467bd8c564be377c27f7f7fbcbd2217becf\");\n","import colors from \"../colors\";\n\nexport default colors(\"7fc97fbeaed4fdc086ffff99386cb0f0027fbf5b17666666\");\n","import colors from \"../colors\";\n\nexport default colors(\"1b9e77d95f027570b3e7298a66a61ee6ab02a6761d666666\");\n","import colors from \"../colors\";\n\nexport default colors(\"a6cee31f78b4b2df8a33a02cfb9a99e31a1cfdbf6fff7f00cab2d66a3d9affff99b15928\");\n","import colors from \"../colors\";\n\nexport default colors(\"fbb4aeb3cde3ccebc5decbe4fed9a6ffffcce5d8bdfddaecf2f2f2\");\n","import colors from \"../colors\";\n\nexport default colors(\"b3e2cdfdcdaccbd5e8f4cae4e6f5c9fff2aef1e2cccccccc\");\n","import colors from \"../colors\";\n\nexport default colors(\"e41a1c377eb84daf4a984ea3ff7f00ffff33a65628f781bf999999\");\n","import colors from \"../colors\";\n\nexport default colors(\"66c2a5fc8d628da0cbe78ac3a6d854ffd92fe5c494b3b3b3\");\n","import colors from \"../colors\";\n\nexport default colors(\"8dd3c7ffffb3bebadafb807280b1d3fdb462b3de69fccde5d9d9d9bc80bdccebc5ffed6f\");\n","import {interpolateRgbBasis} from \"d3-interpolate\";\n\nexport default function(scheme) {\n return interpolateRgbBasis(scheme[scheme.length - 1]);\n}\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"d8b365f5f5f55ab4ac\",\n \"a6611adfc27d80cdc1018571\",\n \"a6611adfc27df5f5f580cdc1018571\",\n \"8c510ad8b365f6e8c3c7eae55ab4ac01665e\",\n \"8c510ad8b365f6e8c3f5f5f5c7eae55ab4ac01665e\",\n \"8c510abf812ddfc27df6e8c3c7eae580cdc135978f01665e\",\n \"8c510abf812ddfc27df6e8c3f5f5f5c7eae580cdc135978f01665e\",\n \"5430058c510abf812ddfc27df6e8c3c7eae580cdc135978f01665e003c30\",\n \"5430058c510abf812ddfc27df6e8c3f5f5f5c7eae580cdc135978f01665e003c30\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"af8dc3f7f7f77fbf7b\",\n \"7b3294c2a5cfa6dba0008837\",\n \"7b3294c2a5cff7f7f7a6dba0008837\",\n \"762a83af8dc3e7d4e8d9f0d37fbf7b1b7837\",\n \"762a83af8dc3e7d4e8f7f7f7d9f0d37fbf7b1b7837\",\n \"762a839970abc2a5cfe7d4e8d9f0d3a6dba05aae611b7837\",\n \"762a839970abc2a5cfe7d4e8f7f7f7d9f0d3a6dba05aae611b7837\",\n \"40004b762a839970abc2a5cfe7d4e8d9f0d3a6dba05aae611b783700441b\",\n \"40004b762a839970abc2a5cfe7d4e8f7f7f7d9f0d3a6dba05aae611b783700441b\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"e9a3c9f7f7f7a1d76a\",\n \"d01c8bf1b6dab8e1864dac26\",\n \"d01c8bf1b6daf7f7f7b8e1864dac26\",\n \"c51b7de9a3c9fde0efe6f5d0a1d76a4d9221\",\n \"c51b7de9a3c9fde0eff7f7f7e6f5d0a1d76a4d9221\",\n \"c51b7dde77aef1b6dafde0efe6f5d0b8e1867fbc414d9221\",\n \"c51b7dde77aef1b6dafde0eff7f7f7e6f5d0b8e1867fbc414d9221\",\n \"8e0152c51b7dde77aef1b6dafde0efe6f5d0b8e1867fbc414d9221276419\",\n \"8e0152c51b7dde77aef1b6dafde0eff7f7f7e6f5d0b8e1867fbc414d9221276419\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"998ec3f7f7f7f1a340\",\n \"5e3c99b2abd2fdb863e66101\",\n \"5e3c99b2abd2f7f7f7fdb863e66101\",\n \"542788998ec3d8daebfee0b6f1a340b35806\",\n \"542788998ec3d8daebf7f7f7fee0b6f1a340b35806\",\n \"5427888073acb2abd2d8daebfee0b6fdb863e08214b35806\",\n \"5427888073acb2abd2d8daebf7f7f7fee0b6fdb863e08214b35806\",\n \"2d004b5427888073acb2abd2d8daebfee0b6fdb863e08214b358067f3b08\",\n \"2d004b5427888073acb2abd2d8daebf7f7f7fee0b6fdb863e08214b358067f3b08\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"ef8a62f7f7f767a9cf\",\n \"ca0020f4a58292c5de0571b0\",\n \"ca0020f4a582f7f7f792c5de0571b0\",\n \"b2182bef8a62fddbc7d1e5f067a9cf2166ac\",\n \"b2182bef8a62fddbc7f7f7f7d1e5f067a9cf2166ac\",\n \"b2182bd6604df4a582fddbc7d1e5f092c5de4393c32166ac\",\n \"b2182bd6604df4a582fddbc7f7f7f7d1e5f092c5de4393c32166ac\",\n \"67001fb2182bd6604df4a582fddbc7d1e5f092c5de4393c32166ac053061\",\n \"67001fb2182bd6604df4a582fddbc7f7f7f7d1e5f092c5de4393c32166ac053061\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"ef8a62ffffff999999\",\n \"ca0020f4a582bababa404040\",\n \"ca0020f4a582ffffffbababa404040\",\n \"b2182bef8a62fddbc7e0e0e09999994d4d4d\",\n \"b2182bef8a62fddbc7ffffffe0e0e09999994d4d4d\",\n \"b2182bd6604df4a582fddbc7e0e0e0bababa8787874d4d4d\",\n \"b2182bd6604df4a582fddbc7ffffffe0e0e0bababa8787874d4d4d\",\n \"67001fb2182bd6604df4a582fddbc7e0e0e0bababa8787874d4d4d1a1a1a\",\n \"67001fb2182bd6604df4a582fddbc7ffffffe0e0e0bababa8787874d4d4d1a1a1a\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"fc8d59ffffbf91bfdb\",\n \"d7191cfdae61abd9e92c7bb6\",\n \"d7191cfdae61ffffbfabd9e92c7bb6\",\n \"d73027fc8d59fee090e0f3f891bfdb4575b4\",\n \"d73027fc8d59fee090ffffbfe0f3f891bfdb4575b4\",\n \"d73027f46d43fdae61fee090e0f3f8abd9e974add14575b4\",\n \"d73027f46d43fdae61fee090ffffbfe0f3f8abd9e974add14575b4\",\n \"a50026d73027f46d43fdae61fee090e0f3f8abd9e974add14575b4313695\",\n \"a50026d73027f46d43fdae61fee090ffffbfe0f3f8abd9e974add14575b4313695\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"fc8d59ffffbf91cf60\",\n \"d7191cfdae61a6d96a1a9641\",\n \"d7191cfdae61ffffbfa6d96a1a9641\",\n \"d73027fc8d59fee08bd9ef8b91cf601a9850\",\n \"d73027fc8d59fee08bffffbfd9ef8b91cf601a9850\",\n \"d73027f46d43fdae61fee08bd9ef8ba6d96a66bd631a9850\",\n \"d73027f46d43fdae61fee08bffffbfd9ef8ba6d96a66bd631a9850\",\n \"a50026d73027f46d43fdae61fee08bd9ef8ba6d96a66bd631a9850006837\",\n \"a50026d73027f46d43fdae61fee08bffffbfd9ef8ba6d96a66bd631a9850006837\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"fc8d59ffffbf99d594\",\n \"d7191cfdae61abdda42b83ba\",\n \"d7191cfdae61ffffbfabdda42b83ba\",\n \"d53e4ffc8d59fee08be6f59899d5943288bd\",\n \"d53e4ffc8d59fee08bffffbfe6f59899d5943288bd\",\n \"d53e4ff46d43fdae61fee08be6f598abdda466c2a53288bd\",\n \"d53e4ff46d43fdae61fee08bffffbfe6f598abdda466c2a53288bd\",\n \"9e0142d53e4ff46d43fdae61fee08be6f598abdda466c2a53288bd5e4fa2\",\n \"9e0142d53e4ff46d43fdae61fee08bffffbfe6f598abdda466c2a53288bd5e4fa2\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"e5f5f999d8c92ca25f\",\n \"edf8fbb2e2e266c2a4238b45\",\n \"edf8fbb2e2e266c2a42ca25f006d2c\",\n \"edf8fbccece699d8c966c2a42ca25f006d2c\",\n \"edf8fbccece699d8c966c2a441ae76238b45005824\",\n \"f7fcfde5f5f9ccece699d8c966c2a441ae76238b45005824\",\n \"f7fcfde5f5f9ccece699d8c966c2a441ae76238b45006d2c00441b\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"e0ecf49ebcda8856a7\",\n \"edf8fbb3cde38c96c688419d\",\n \"edf8fbb3cde38c96c68856a7810f7c\",\n \"edf8fbbfd3e69ebcda8c96c68856a7810f7c\",\n \"edf8fbbfd3e69ebcda8c96c68c6bb188419d6e016b\",\n \"f7fcfde0ecf4bfd3e69ebcda8c96c68c6bb188419d6e016b\",\n \"f7fcfde0ecf4bfd3e69ebcda8c96c68c6bb188419d810f7c4d004b\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"e0f3dba8ddb543a2ca\",\n \"f0f9e8bae4bc7bccc42b8cbe\",\n \"f0f9e8bae4bc7bccc443a2ca0868ac\",\n \"f0f9e8ccebc5a8ddb57bccc443a2ca0868ac\",\n \"f0f9e8ccebc5a8ddb57bccc44eb3d32b8cbe08589e\",\n \"f7fcf0e0f3dbccebc5a8ddb57bccc44eb3d32b8cbe08589e\",\n \"f7fcf0e0f3dbccebc5a8ddb57bccc44eb3d32b8cbe0868ac084081\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"fee8c8fdbb84e34a33\",\n \"fef0d9fdcc8afc8d59d7301f\",\n \"fef0d9fdcc8afc8d59e34a33b30000\",\n \"fef0d9fdd49efdbb84fc8d59e34a33b30000\",\n \"fef0d9fdd49efdbb84fc8d59ef6548d7301f990000\",\n \"fff7ecfee8c8fdd49efdbb84fc8d59ef6548d7301f990000\",\n \"fff7ecfee8c8fdd49efdbb84fc8d59ef6548d7301fb300007f0000\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"ece2f0a6bddb1c9099\",\n \"f6eff7bdc9e167a9cf02818a\",\n \"f6eff7bdc9e167a9cf1c9099016c59\",\n \"f6eff7d0d1e6a6bddb67a9cf1c9099016c59\",\n \"f6eff7d0d1e6a6bddb67a9cf3690c002818a016450\",\n \"fff7fbece2f0d0d1e6a6bddb67a9cf3690c002818a016450\",\n \"fff7fbece2f0d0d1e6a6bddb67a9cf3690c002818a016c59014636\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"ece7f2a6bddb2b8cbe\",\n \"f1eef6bdc9e174a9cf0570b0\",\n \"f1eef6bdc9e174a9cf2b8cbe045a8d\",\n \"f1eef6d0d1e6a6bddb74a9cf2b8cbe045a8d\",\n \"f1eef6d0d1e6a6bddb74a9cf3690c00570b0034e7b\",\n \"fff7fbece7f2d0d1e6a6bddb74a9cf3690c00570b0034e7b\",\n \"fff7fbece7f2d0d1e6a6bddb74a9cf3690c00570b0045a8d023858\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"e7e1efc994c7dd1c77\",\n \"f1eef6d7b5d8df65b0ce1256\",\n \"f1eef6d7b5d8df65b0dd1c77980043\",\n \"f1eef6d4b9dac994c7df65b0dd1c77980043\",\n \"f1eef6d4b9dac994c7df65b0e7298ace125691003f\",\n \"f7f4f9e7e1efd4b9dac994c7df65b0e7298ace125691003f\",\n \"f7f4f9e7e1efd4b9dac994c7df65b0e7298ace125698004367001f\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"fde0ddfa9fb5c51b8a\",\n \"feebe2fbb4b9f768a1ae017e\",\n \"feebe2fbb4b9f768a1c51b8a7a0177\",\n \"feebe2fcc5c0fa9fb5f768a1c51b8a7a0177\",\n \"feebe2fcc5c0fa9fb5f768a1dd3497ae017e7a0177\",\n \"fff7f3fde0ddfcc5c0fa9fb5f768a1dd3497ae017e7a0177\",\n \"fff7f3fde0ddfcc5c0fa9fb5f768a1dd3497ae017e7a017749006a\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"edf8b17fcdbb2c7fb8\",\n \"ffffcca1dab441b6c4225ea8\",\n \"ffffcca1dab441b6c42c7fb8253494\",\n \"ffffccc7e9b47fcdbb41b6c42c7fb8253494\",\n \"ffffccc7e9b47fcdbb41b6c41d91c0225ea80c2c84\",\n \"ffffd9edf8b1c7e9b47fcdbb41b6c41d91c0225ea80c2c84\",\n \"ffffd9edf8b1c7e9b47fcdbb41b6c41d91c0225ea8253494081d58\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"f7fcb9addd8e31a354\",\n \"ffffccc2e69978c679238443\",\n \"ffffccc2e69978c67931a354006837\",\n \"ffffccd9f0a3addd8e78c67931a354006837\",\n \"ffffccd9f0a3addd8e78c67941ab5d238443005a32\",\n \"ffffe5f7fcb9d9f0a3addd8e78c67941ab5d238443005a32\",\n \"ffffe5f7fcb9d9f0a3addd8e78c67941ab5d238443006837004529\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"fff7bcfec44fd95f0e\",\n \"ffffd4fed98efe9929cc4c02\",\n \"ffffd4fed98efe9929d95f0e993404\",\n \"ffffd4fee391fec44ffe9929d95f0e993404\",\n \"ffffd4fee391fec44ffe9929ec7014cc4c028c2d04\",\n \"ffffe5fff7bcfee391fec44ffe9929ec7014cc4c028c2d04\",\n \"ffffe5fff7bcfee391fec44ffe9929ec7014cc4c02993404662506\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"ffeda0feb24cf03b20\",\n \"ffffb2fecc5cfd8d3ce31a1c\",\n \"ffffb2fecc5cfd8d3cf03b20bd0026\",\n \"ffffb2fed976feb24cfd8d3cf03b20bd0026\",\n \"ffffb2fed976feb24cfd8d3cfc4e2ae31a1cb10026\",\n \"ffffccffeda0fed976feb24cfd8d3cfc4e2ae31a1cb10026\",\n \"ffffccffeda0fed976feb24cfd8d3cfc4e2ae31a1cbd0026800026\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"deebf79ecae13182bd\",\n \"eff3ffbdd7e76baed62171b5\",\n \"eff3ffbdd7e76baed63182bd08519c\",\n \"eff3ffc6dbef9ecae16baed63182bd08519c\",\n \"eff3ffc6dbef9ecae16baed64292c62171b5084594\",\n \"f7fbffdeebf7c6dbef9ecae16baed64292c62171b5084594\",\n \"f7fbffdeebf7c6dbef9ecae16baed64292c62171b508519c08306b\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"e5f5e0a1d99b31a354\",\n \"edf8e9bae4b374c476238b45\",\n \"edf8e9bae4b374c47631a354006d2c\",\n \"edf8e9c7e9c0a1d99b74c47631a354006d2c\",\n \"edf8e9c7e9c0a1d99b74c47641ab5d238b45005a32\",\n \"f7fcf5e5f5e0c7e9c0a1d99b74c47641ab5d238b45005a32\",\n \"f7fcf5e5f5e0c7e9c0a1d99b74c47641ab5d238b45006d2c00441b\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"f0f0f0bdbdbd636363\",\n \"f7f7f7cccccc969696525252\",\n \"f7f7f7cccccc969696636363252525\",\n \"f7f7f7d9d9d9bdbdbd969696636363252525\",\n \"f7f7f7d9d9d9bdbdbd969696737373525252252525\",\n \"fffffff0f0f0d9d9d9bdbdbd969696737373525252252525\",\n \"fffffff0f0f0d9d9d9bdbdbd969696737373525252252525000000\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"efedf5bcbddc756bb1\",\n \"f2f0f7cbc9e29e9ac86a51a3\",\n \"f2f0f7cbc9e29e9ac8756bb154278f\",\n \"f2f0f7dadaebbcbddc9e9ac8756bb154278f\",\n \"f2f0f7dadaebbcbddc9e9ac8807dba6a51a34a1486\",\n \"fcfbfdefedf5dadaebbcbddc9e9ac8807dba6a51a34a1486\",\n \"fcfbfdefedf5dadaebbcbddc9e9ac8807dba6a51a354278f3f007d\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"fee0d2fc9272de2d26\",\n \"fee5d9fcae91fb6a4acb181d\",\n \"fee5d9fcae91fb6a4ade2d26a50f15\",\n \"fee5d9fcbba1fc9272fb6a4ade2d26a50f15\",\n \"fee5d9fcbba1fc9272fb6a4aef3b2ccb181d99000d\",\n \"fff5f0fee0d2fcbba1fc9272fb6a4aef3b2ccb181d99000d\",\n \"fff5f0fee0d2fcbba1fc9272fb6a4aef3b2ccb181da50f1567000d\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"fee6cefdae6be6550d\",\n \"feeddefdbe85fd8d3cd94701\",\n \"feeddefdbe85fd8d3ce6550da63603\",\n \"feeddefdd0a2fdae6bfd8d3ce6550da63603\",\n \"feeddefdd0a2fdae6bfd8d3cf16913d948018c2d04\",\n \"fff5ebfee6cefdd0a2fdae6bfd8d3cf16913d948018c2d04\",\n \"fff5ebfee6cefdd0a2fdae6bfd8d3cf16913d94801a636037f2704\"\n).map(colors);\n\nexport default ramp(scheme);\n","import {cubehelix} from \"d3-color\";\nimport {interpolateCubehelixLong} from \"d3-interpolate\";\n\nexport default interpolateCubehelixLong(cubehelix(300, 0.5, 0.0), cubehelix(-240, 0.5, 1.0));\n","import {cubehelix} from \"d3-color\";\nimport {interpolateCubehelixLong} from \"d3-interpolate\";\n\nexport var warm = interpolateCubehelixLong(cubehelix(-100, 0.75, 0.35), cubehelix(80, 1.50, 0.8));\n\nexport var cool = interpolateCubehelixLong(cubehelix(260, 0.75, 0.35), cubehelix(80, 1.50, 0.8));\n\nvar c = cubehelix();\n\nexport default function(t) {\n if (t < 0 || t > 1) t -= Math.floor(t);\n var ts = Math.abs(t - 0.5);\n c.h = 360 * t - 100;\n c.s = 1.5 - 1.5 * ts;\n c.l = 0.8 - 0.9 * ts;\n return c + \"\";\n}\n","import {rgb} from \"d3-color\";\n\nvar c = rgb(),\n pi_1_3 = Math.PI / 3,\n pi_2_3 = Math.PI * 2 / 3;\n\nexport default function(t) {\n var x;\n t = (0.5 - t) * Math.PI;\n c.r = 255 * (x = Math.sin(t)) * x;\n c.g = 255 * (x = Math.sin(t + pi_1_3)) * x;\n c.b = 255 * (x = Math.sin(t + pi_2_3)) * x;\n return c + \"\";\n}\n","import colors from \"../colors\";\n\nfunction ramp(range) {\n var n = range.length;\n return function(t) {\n return range[Math.max(0, Math.min(n - 1, Math.floor(t * n)))];\n };\n}\n\nexport default ramp(colors(\"44015444025645045745055946075a46085c460a5d460b5e470d60470e6147106347116447136548146748166848176948186a481a6c481b6d481c6e481d6f481f70482071482173482374482475482576482677482878482979472a7a472c7a472d7b472e7c472f7d46307e46327e46337f463480453581453781453882443983443a83443b84433d84433e85423f854240864241864142874144874045884046883f47883f48893e49893e4a893e4c8a3d4d8a3d4e8a3c4f8a3c508b3b518b3b528b3a538b3a548c39558c39568c38588c38598c375a8c375b8d365c8d365d8d355e8d355f8d34608d34618d33628d33638d32648e32658e31668e31678e31688e30698e306a8e2f6b8e2f6c8e2e6d8e2e6e8e2e6f8e2d708e2d718e2c718e2c728e2c738e2b748e2b758e2a768e2a778e2a788e29798e297a8e297b8e287c8e287d8e277e8e277f8e27808e26818e26828e26828e25838e25848e25858e24868e24878e23888e23898e238a8d228b8d228c8d228d8d218e8d218f8d21908d21918c20928c20928c20938c1f948c1f958b1f968b1f978b1f988b1f998a1f9a8a1e9b8a1e9c891e9d891f9e891f9f881fa0881fa1881fa1871fa28720a38620a48621a58521a68522a78522a88423a98324aa8325ab8225ac8226ad8127ad8128ae8029af7f2ab07f2cb17e2db27d2eb37c2fb47c31b57b32b67a34b67935b77937b87838b9773aba763bbb753dbc743fbc7340bd7242be7144bf7046c06f48c16e4ac16d4cc26c4ec36b50c46a52c56954c56856c66758c7655ac8645cc8635ec96260ca6063cb5f65cb5e67cc5c69cd5b6ccd5a6ece5870cf5773d05675d05477d1537ad1517cd2507fd34e81d34d84d44b86d54989d5488bd6468ed64590d74393d74195d84098d83e9bd93c9dd93ba0da39a2da37a5db36a8db34aadc32addc30b0dd2fb2dd2db5de2bb8de29bade28bddf26c0df25c2df23c5e021c8e020cae11fcde11dd0e11cd2e21bd5e21ad8e219dae319dde318dfe318e2e418e5e419e7e419eae51aece51befe51cf1e51df4e61ef6e620f8e621fbe723fde725\"));\n\nexport var magma = ramp(colors(\"00000401000501010601010802010902020b02020d03030f03031204041405041606051806051a07061c08071e0907200a08220b09240c09260d0a290e0b2b100b2d110c2f120d31130d34140e36150e38160f3b180f3d19103f1a10421c10441d11471e114920114b21114e22115024125325125527125829115a2a115c2c115f2d11612f116331116533106734106936106b38106c390f6e3b0f703d0f713f0f72400f74420f75440f764510774710784910784a10794c117a4e117b4f127b51127c52137c54137d56147d57157e59157e5a167e5c167f5d177f5f187f601880621980641a80651a80671b80681c816a1c816b1d816d1d816e1e81701f81721f817320817521817621817822817922827b23827c23827e24828025828125818326818426818627818827818928818b29818c29818e2a81902a81912b81932b80942c80962c80982d80992d809b2e7f9c2e7f9e2f7fa02f7fa1307ea3307ea5317ea6317da8327daa337dab337cad347cae347bb0357bb2357bb3367ab5367ab73779b83779ba3878bc3978bd3977bf3a77c03a76c23b75c43c75c53c74c73d73c83e73ca3e72cc3f71cd4071cf4070d0416fd2426fd3436ed5446dd6456cd8456cd9466bdb476adc4869de4968df4a68e04c67e24d66e34e65e44f64e55064e75263e85362e95462ea5661eb5760ec5860ed5a5fee5b5eef5d5ef05f5ef1605df2625df2645cf3655cf4675cf4695cf56b5cf66c5cf66e5cf7705cf7725cf8745cf8765cf9785df9795df97b5dfa7d5efa7f5efa815ffb835ffb8560fb8761fc8961fc8a62fc8c63fc8e64fc9065fd9266fd9467fd9668fd9869fd9a6afd9b6bfe9d6cfe9f6dfea16efea36ffea571fea772fea973feaa74feac76feae77feb078feb27afeb47bfeb67cfeb77efeb97ffebb81febd82febf84fec185fec287fec488fec68afec88cfeca8dfecc8ffecd90fecf92fed194fed395fed597fed799fed89afdda9cfddc9efddea0fde0a1fde2a3fde3a5fde5a7fde7a9fde9aafdebacfcecaefceeb0fcf0b2fcf2b4fcf4b6fcf6b8fcf7b9fcf9bbfcfbbdfcfdbf\"));\n\nexport var inferno = ramp(colors(\"00000401000501010601010802010a02020c02020e03021004031204031405041706041907051b08051d09061f0a07220b07240c08260d08290e092b10092d110a30120a32140b34150b37160b39180c3c190c3e1b0c411c0c431e0c451f0c48210c4a230c4c240c4f260c51280b53290b552b0b572d0b592f0a5b310a5c320a5e340a5f3609613809623909633b09643d09653e0966400a67420a68440a68450a69470b6a490b6a4a0c6b4c0c6b4d0d6c4f0d6c510e6c520e6d540f6d550f6d57106e59106e5a116e5c126e5d126e5f136e61136e62146e64156e65156e67166e69166e6a176e6c186e6d186e6f196e71196e721a6e741a6e751b6e771c6d781c6d7a1d6d7c1d6d7d1e6d7f1e6c801f6c82206c84206b85216b87216b88226a8a226a8c23698d23698f24699025689225689326679526679727669827669a28659b29649d29649f2a63a02a63a22b62a32c61a52c60a62d60a82e5fa92e5eab2f5ead305dae305cb0315bb1325ab3325ab43359b63458b73557b93556ba3655bc3754bd3853bf3952c03a51c13a50c33b4fc43c4ec63d4dc73e4cc83f4bca404acb4149cc4248ce4347cf4446d04545d24644d34743d44842d54a41d74b3fd84c3ed94d3dda4e3cdb503bdd513ade5238df5337e05536e15635e25734e35933e45a31e55c30e65d2fe75e2ee8602de9612bea632aeb6429eb6628ec6726ed6925ee6a24ef6c23ef6e21f06f20f1711ff1731df2741cf3761bf37819f47918f57b17f57d15f67e14f68013f78212f78410f8850ff8870ef8890cf98b0bf98c0af98e09fa9008fa9207fa9407fb9606fb9706fb9906fb9b06fb9d07fc9f07fca108fca309fca50afca60cfca80dfcaa0ffcac11fcae12fcb014fcb216fcb418fbb61afbb81dfbba1ffbbc21fbbe23fac026fac228fac42afac62df9c72ff9c932f9cb35f8cd37f8cf3af7d13df7d340f6d543f6d746f5d949f5db4cf4dd4ff4df53f4e156f3e35af3e55df2e661f2e865f2ea69f1ec6df1ed71f1ef75f1f179f2f27df2f482f3f586f3f68af4f88ef5f992f6fa96f8fb9af9fc9dfafda1fcffa4\"));\n\nexport var plasma = ramp(colors(\"0d088710078813078916078a19068c1b068d1d068e20068f2206902406912605912805922a05932c05942e05952f059631059733059735049837049938049a3a049a3c049b3e049c3f049c41049d43039e44039e46039f48039f4903a04b03a14c02a14e02a25002a25102a35302a35502a45601a45801a45901a55b01a55c01a65e01a66001a66100a76300a76400a76600a76700a86900a86a00a86c00a86e00a86f00a87100a87201a87401a87501a87701a87801a87a02a87b02a87d03a87e03a88004a88104a78305a78405a78606a68707a68808a68a09a58b0aa58d0ba58e0ca48f0da4910ea3920fa39410a29511a19613a19814a099159f9a169f9c179e9d189d9e199da01a9ca11b9ba21d9aa31e9aa51f99a62098a72197a82296aa2395ab2494ac2694ad2793ae2892b02991b12a90b22b8fb32c8eb42e8db52f8cb6308bb7318ab83289ba3388bb3488bc3587bd3786be3885bf3984c03a83c13b82c23c81c33d80c43e7fc5407ec6417dc7427cc8437bc9447aca457acb4679cc4778cc4977cd4a76ce4b75cf4c74d04d73d14e72d24f71d35171d45270d5536fd5546ed6556dd7566cd8576bd9586ada5a6ada5b69db5c68dc5d67dd5e66de5f65de6164df6263e06363e16462e26561e26660e3685fe4695ee56a5de56b5de66c5ce76e5be76f5ae87059e97158e97257ea7457eb7556eb7655ec7754ed7953ed7a52ee7b51ef7c51ef7e50f07f4ff0804ef1814df1834cf2844bf3854bf3874af48849f48948f58b47f58c46f68d45f68f44f79044f79143f79342f89441f89540f9973ff9983ef99a3efa9b3dfa9c3cfa9e3bfb9f3afba139fba238fca338fca537fca636fca835fca934fdab33fdac33fdae32fdaf31fdb130fdb22ffdb42ffdb52efeb72dfeb82cfeba2cfebb2bfebd2afebe2afec029fdc229fdc328fdc527fdc627fdc827fdca26fdcb26fccd25fcce25fcd025fcd225fbd324fbd524fbd724fad824fada24f9dc24f9dd25f8df25f8e125f7e225f7e425f6e626f6e826f5e926f5eb27f4ed27f3ee27f3f027f2f227f1f426f1f525f0f724f0f921\"));\n","export default function(x) {\n return function constant() {\n return x;\n };\n}\n","export var abs = Math.abs;\nexport var atan2 = Math.atan2;\nexport var cos = Math.cos;\nexport var max = Math.max;\nexport var min = Math.min;\nexport var sin = Math.sin;\nexport var sqrt = Math.sqrt;\n\nexport var epsilon = 1e-12;\nexport var pi = Math.PI;\nexport var halfPi = pi / 2;\nexport var tau = 2 * pi;\n\nexport function acos(x) {\n return x > 1 ? 0 : x < -1 ? pi : Math.acos(x);\n}\n\nexport function asin(x) {\n return x >= 1 ? halfPi : x <= -1 ? -halfPi : Math.asin(x);\n}\n","import {path} from \"d3-path\";\nimport constant from \"./constant\";\nimport {abs, acos, asin, atan2, cos, epsilon, halfPi, max, min, pi, sin, sqrt, tau} from \"./math\";\n\nfunction arcInnerRadius(d) {\n return d.innerRadius;\n}\n\nfunction arcOuterRadius(d) {\n return d.outerRadius;\n}\n\nfunction arcStartAngle(d) {\n return d.startAngle;\n}\n\nfunction arcEndAngle(d) {\n return d.endAngle;\n}\n\nfunction arcPadAngle(d) {\n return d && d.padAngle; // Note: optional!\n}\n\nfunction intersect(x0, y0, x1, y1, x2, y2, x3, y3) {\n var x10 = x1 - x0, y10 = y1 - y0,\n x32 = x3 - x2, y32 = y3 - y2,\n t = (x32 * (y0 - y2) - y32 * (x0 - x2)) / (y32 * x10 - x32 * y10);\n return [x0 + t * x10, y0 + t * y10];\n}\n\n// Compute perpendicular offset line of length rc.\n// http://mathworld.wolfram.com/Circle-LineIntersection.html\nfunction cornerTangents(x0, y0, x1, y1, r1, rc, cw) {\n var x01 = x0 - x1,\n y01 = y0 - y1,\n lo = (cw ? rc : -rc) / sqrt(x01 * x01 + y01 * y01),\n ox = lo * y01,\n oy = -lo * x01,\n x11 = x0 + ox,\n y11 = y0 + oy,\n x10 = x1 + ox,\n y10 = y1 + oy,\n x00 = (x11 + x10) / 2,\n y00 = (y11 + y10) / 2,\n dx = x10 - x11,\n dy = y10 - y11,\n d2 = dx * dx + dy * dy,\n r = r1 - rc,\n D = x11 * y10 - x10 * y11,\n d = (dy < 0 ? -1 : 1) * sqrt(max(0, r * r * d2 - D * D)),\n cx0 = (D * dy - dx * d) / d2,\n cy0 = (-D * dx - dy * d) / d2,\n cx1 = (D * dy + dx * d) / d2,\n cy1 = (-D * dx + dy * d) / d2,\n dx0 = cx0 - x00,\n dy0 = cy0 - y00,\n dx1 = cx1 - x00,\n dy1 = cy1 - y00;\n\n // Pick the closer of the two intersection points.\n // TODO Is there a faster way to determine which intersection to use?\n if (dx0 * dx0 + dy0 * dy0 > dx1 * dx1 + dy1 * dy1) cx0 = cx1, cy0 = cy1;\n\n return {\n cx: cx0,\n cy: cy0,\n x01: -ox,\n y01: -oy,\n x11: cx0 * (r1 / r - 1),\n y11: cy0 * (r1 / r - 1)\n };\n}\n\nexport default function() {\n var innerRadius = arcInnerRadius,\n outerRadius = arcOuterRadius,\n cornerRadius = constant(0),\n padRadius = null,\n startAngle = arcStartAngle,\n endAngle = arcEndAngle,\n padAngle = arcPadAngle,\n context = null;\n\n function arc() {\n var buffer,\n r,\n r0 = +innerRadius.apply(this, arguments),\n r1 = +outerRadius.apply(this, arguments),\n a0 = startAngle.apply(this, arguments) - halfPi,\n a1 = endAngle.apply(this, arguments) - halfPi,\n da = abs(a1 - a0),\n cw = a1 > a0;\n\n if (!context) context = buffer = path();\n\n // Ensure that the outer radius is always larger than the inner radius.\n if (r1 < r0) r = r1, r1 = r0, r0 = r;\n\n // Is it a point?\n if (!(r1 > epsilon)) context.moveTo(0, 0);\n\n // Or is it a circle or annulus?\n else if (da > tau - epsilon) {\n context.moveTo(r1 * cos(a0), r1 * sin(a0));\n context.arc(0, 0, r1, a0, a1, !cw);\n if (r0 > epsilon) {\n context.moveTo(r0 * cos(a1), r0 * sin(a1));\n context.arc(0, 0, r0, a1, a0, cw);\n }\n }\n\n // Or is it a circular or annular sector?\n else {\n var a01 = a0,\n a11 = a1,\n a00 = a0,\n a10 = a1,\n da0 = da,\n da1 = da,\n ap = padAngle.apply(this, arguments) / 2,\n rp = (ap > epsilon) && (padRadius ? +padRadius.apply(this, arguments) : sqrt(r0 * r0 + r1 * r1)),\n rc = min(abs(r1 - r0) / 2, +cornerRadius.apply(this, arguments)),\n rc0 = rc,\n rc1 = rc,\n t0,\n t1;\n\n // Apply padding? Note that since r1 ≥ r0, da1 ≥ da0.\n if (rp > epsilon) {\n var p0 = asin(rp / r0 * sin(ap)),\n p1 = asin(rp / r1 * sin(ap));\n if ((da0 -= p0 * 2) > epsilon) p0 *= (cw ? 1 : -1), a00 += p0, a10 -= p0;\n else da0 = 0, a00 = a10 = (a0 + a1) / 2;\n if ((da1 -= p1 * 2) > epsilon) p1 *= (cw ? 1 : -1), a01 += p1, a11 -= p1;\n else da1 = 0, a01 = a11 = (a0 + a1) / 2;\n }\n\n var x01 = r1 * cos(a01),\n y01 = r1 * sin(a01),\n x10 = r0 * cos(a10),\n y10 = r0 * sin(a10);\n\n // Apply rounded corners?\n if (rc > epsilon) {\n var x11 = r1 * cos(a11),\n y11 = r1 * sin(a11),\n x00 = r0 * cos(a00),\n y00 = r0 * sin(a00);\n\n // Restrict the corner radius according to the sector angle.\n if (da < pi) {\n var oc = da0 > epsilon ? intersect(x01, y01, x00, y00, x11, y11, x10, y10) : [x10, y10],\n ax = x01 - oc[0],\n ay = y01 - oc[1],\n bx = x11 - oc[0],\n by = y11 - oc[1],\n kc = 1 / sin(acos((ax * bx + ay * by) / (sqrt(ax * ax + ay * ay) * sqrt(bx * bx + by * by))) / 2),\n lc = sqrt(oc[0] * oc[0] + oc[1] * oc[1]);\n rc0 = min(rc, (r0 - lc) / (kc - 1));\n rc1 = min(rc, (r1 - lc) / (kc + 1));\n }\n }\n\n // Is the sector collapsed to a line?\n if (!(da1 > epsilon)) context.moveTo(x01, y01);\n\n // Does the sector’s outer ring have rounded corners?\n else if (rc1 > epsilon) {\n t0 = cornerTangents(x00, y00, x01, y01, r1, rc1, cw);\n t1 = cornerTangents(x11, y11, x10, y10, r1, rc1, cw);\n\n context.moveTo(t0.cx + t0.x01, t0.cy + t0.y01);\n\n // Have the corners merged?\n if (rc1 < rc) context.arc(t0.cx, t0.cy, rc1, atan2(t0.y01, t0.x01), atan2(t1.y01, t1.x01), !cw);\n\n // Otherwise, draw the two corners and the ring.\n else {\n context.arc(t0.cx, t0.cy, rc1, atan2(t0.y01, t0.x01), atan2(t0.y11, t0.x11), !cw);\n context.arc(0, 0, r1, atan2(t0.cy + t0.y11, t0.cx + t0.x11), atan2(t1.cy + t1.y11, t1.cx + t1.x11), !cw);\n context.arc(t1.cx, t1.cy, rc1, atan2(t1.y11, t1.x11), atan2(t1.y01, t1.x01), !cw);\n }\n }\n\n // Or is the outer ring just a circular arc?\n else context.moveTo(x01, y01), context.arc(0, 0, r1, a01, a11, !cw);\n\n // Is there no inner ring, and it’s a circular sector?\n // Or perhaps it’s an annular sector collapsed due to padding?\n if (!(r0 > epsilon) || !(da0 > epsilon)) context.lineTo(x10, y10);\n\n // Does the sector’s inner ring (or point) have rounded corners?\n else if (rc0 > epsilon) {\n t0 = cornerTangents(x10, y10, x11, y11, r0, -rc0, cw);\n t1 = cornerTangents(x01, y01, x00, y00, r0, -rc0, cw);\n\n context.lineTo(t0.cx + t0.x01, t0.cy + t0.y01);\n\n // Have the corners merged?\n if (rc0 < rc) context.arc(t0.cx, t0.cy, rc0, atan2(t0.y01, t0.x01), atan2(t1.y01, t1.x01), !cw);\n\n // Otherwise, draw the two corners and the ring.\n else {\n context.arc(t0.cx, t0.cy, rc0, atan2(t0.y01, t0.x01), atan2(t0.y11, t0.x11), !cw);\n context.arc(0, 0, r0, atan2(t0.cy + t0.y11, t0.cx + t0.x11), atan2(t1.cy + t1.y11, t1.cx + t1.x11), cw);\n context.arc(t1.cx, t1.cy, rc0, atan2(t1.y11, t1.x11), atan2(t1.y01, t1.x01), !cw);\n }\n }\n\n // Or is the inner ring just a circular arc?\n else context.arc(0, 0, r0, a10, a00, cw);\n }\n\n context.closePath();\n\n if (buffer) return context = null, buffer + \"\" || null;\n }\n\n arc.centroid = function() {\n var r = (+innerRadius.apply(this, arguments) + +outerRadius.apply(this, arguments)) / 2,\n a = (+startAngle.apply(this, arguments) + +endAngle.apply(this, arguments)) / 2 - pi / 2;\n return [cos(a) * r, sin(a) * r];\n };\n\n arc.innerRadius = function(_) {\n return arguments.length ? (innerRadius = typeof _ === \"function\" ? _ : constant(+_), arc) : innerRadius;\n };\n\n arc.outerRadius = function(_) {\n return arguments.length ? (outerRadius = typeof _ === \"function\" ? _ : constant(+_), arc) : outerRadius;\n };\n\n arc.cornerRadius = function(_) {\n return arguments.length ? (cornerRadius = typeof _ === \"function\" ? _ : constant(+_), arc) : cornerRadius;\n };\n\n arc.padRadius = function(_) {\n return arguments.length ? (padRadius = _ == null ? null : typeof _ === \"function\" ? _ : constant(+_), arc) : padRadius;\n };\n\n arc.startAngle = function(_) {\n return arguments.length ? (startAngle = typeof _ === \"function\" ? _ : constant(+_), arc) : startAngle;\n };\n\n arc.endAngle = function(_) {\n return arguments.length ? (endAngle = typeof _ === \"function\" ? _ : constant(+_), arc) : endAngle;\n };\n\n arc.padAngle = function(_) {\n return arguments.length ? (padAngle = typeof _ === \"function\" ? _ : constant(+_), arc) : padAngle;\n };\n\n arc.context = function(_) {\n return arguments.length ? ((context = _ == null ? null : _), arc) : context;\n };\n\n return arc;\n}\n","function Linear(context) {\n this._context = context;\n}\n\nLinear.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._point = 0;\n },\n lineEnd: function() {\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; // proceed\n default: this._context.lineTo(x, y); break;\n }\n }\n};\n\nexport default function(context) {\n return new Linear(context);\n}\n","export function x(p) {\n return p[0];\n}\n\nexport function y(p) {\n return p[1];\n}\n","import {path} from \"d3-path\";\nimport constant from \"./constant\";\nimport curveLinear from \"./curve/linear\";\nimport {x as pointX, y as pointY} from \"./point\";\n\nexport default function() {\n var x = pointX,\n y = pointY,\n defined = constant(true),\n context = null,\n curve = curveLinear,\n output = null;\n\n function line(data) {\n var i,\n n = data.length,\n d,\n defined0 = false,\n buffer;\n\n if (context == null) output = curve(buffer = path());\n\n for (i = 0; i <= n; ++i) {\n if (!(i < n && defined(d = data[i], i, data)) === defined0) {\n if (defined0 = !defined0) output.lineStart();\n else output.lineEnd();\n }\n if (defined0) output.point(+x(d, i, data), +y(d, i, data));\n }\n\n if (buffer) return output = null, buffer + \"\" || null;\n }\n\n line.x = function(_) {\n return arguments.length ? (x = typeof _ === \"function\" ? _ : constant(+_), line) : x;\n };\n\n line.y = function(_) {\n return arguments.length ? (y = typeof _ === \"function\" ? _ : constant(+_), line) : y;\n };\n\n line.defined = function(_) {\n return arguments.length ? (defined = typeof _ === \"function\" ? _ : constant(!!_), line) : defined;\n };\n\n line.curve = function(_) {\n return arguments.length ? (curve = _, context != null && (output = curve(context)), line) : curve;\n };\n\n line.context = function(_) {\n return arguments.length ? (_ == null ? context = output = null : output = curve(context = _), line) : context;\n };\n\n return line;\n}\n","import {path} from \"d3-path\";\nimport constant from \"./constant\";\nimport curveLinear from \"./curve/linear\";\nimport line from \"./line\";\nimport {x as pointX, y as pointY} from \"./point\";\n\nexport default function() {\n var x0 = pointX,\n x1 = null,\n y0 = constant(0),\n y1 = pointY,\n defined = constant(true),\n context = null,\n curve = curveLinear,\n output = null;\n\n function area(data) {\n var i,\n j,\n k,\n n = data.length,\n d,\n defined0 = false,\n buffer,\n x0z = new Array(n),\n y0z = new Array(n);\n\n if (context == null) output = curve(buffer = path());\n\n for (i = 0; i <= n; ++i) {\n if (!(i < n && defined(d = data[i], i, data)) === defined0) {\n if (defined0 = !defined0) {\n j = i;\n output.areaStart();\n output.lineStart();\n } else {\n output.lineEnd();\n output.lineStart();\n for (k = i - 1; k >= j; --k) {\n output.point(x0z[k], y0z[k]);\n }\n output.lineEnd();\n output.areaEnd();\n }\n }\n if (defined0) {\n x0z[i] = +x0(d, i, data), y0z[i] = +y0(d, i, data);\n output.point(x1 ? +x1(d, i, data) : x0z[i], y1 ? +y1(d, i, data) : y0z[i]);\n }\n }\n\n if (buffer) return output = null, buffer + \"\" || null;\n }\n\n function arealine() {\n return line().defined(defined).curve(curve).context(context);\n }\n\n area.x = function(_) {\n return arguments.length ? (x0 = typeof _ === \"function\" ? _ : constant(+_), x1 = null, area) : x0;\n };\n\n area.x0 = function(_) {\n return arguments.length ? (x0 = typeof _ === \"function\" ? _ : constant(+_), area) : x0;\n };\n\n area.x1 = function(_) {\n return arguments.length ? (x1 = _ == null ? null : typeof _ === \"function\" ? _ : constant(+_), area) : x1;\n };\n\n area.y = function(_) {\n return arguments.length ? (y0 = typeof _ === \"function\" ? _ : constant(+_), y1 = null, area) : y0;\n };\n\n area.y0 = function(_) {\n return arguments.length ? (y0 = typeof _ === \"function\" ? _ : constant(+_), area) : y0;\n };\n\n area.y1 = function(_) {\n return arguments.length ? (y1 = _ == null ? null : typeof _ === \"function\" ? _ : constant(+_), area) : y1;\n };\n\n area.lineX0 =\n area.lineY0 = function() {\n return arealine().x(x0).y(y0);\n };\n\n area.lineY1 = function() {\n return arealine().x(x0).y(y1);\n };\n\n area.lineX1 = function() {\n return arealine().x(x1).y(y0);\n };\n\n area.defined = function(_) {\n return arguments.length ? (defined = typeof _ === \"function\" ? _ : constant(!!_), area) : defined;\n };\n\n area.curve = function(_) {\n return arguments.length ? (curve = _, context != null && (output = curve(context)), area) : curve;\n };\n\n area.context = function(_) {\n return arguments.length ? (_ == null ? context = output = null : output = curve(context = _), area) : context;\n };\n\n return area;\n}\n","export default function(a, b) {\n return b < a ? -1 : b > a ? 1 : b >= a ? 0 : NaN;\n}\n","export default function(d) {\n return d;\n}\n","import constant from \"./constant\";\nimport descending from \"./descending\";\nimport identity from \"./identity\";\nimport {tau} from \"./math\";\n\nexport default function() {\n var value = identity,\n sortValues = descending,\n sort = null,\n startAngle = constant(0),\n endAngle = constant(tau),\n padAngle = constant(0);\n\n function pie(data) {\n var i,\n n = data.length,\n j,\n k,\n sum = 0,\n index = new Array(n),\n arcs = new Array(n),\n a0 = +startAngle.apply(this, arguments),\n da = Math.min(tau, Math.max(-tau, endAngle.apply(this, arguments) - a0)),\n a1,\n p = Math.min(Math.abs(da) / n, padAngle.apply(this, arguments)),\n pa = p * (da < 0 ? -1 : 1),\n v;\n\n for (i = 0; i < n; ++i) {\n if ((v = arcs[index[i] = i] = +value(data[i], i, data)) > 0) {\n sum += v;\n }\n }\n\n // Optionally sort the arcs by previously-computed values or by data.\n if (sortValues != null) index.sort(function(i, j) { return sortValues(arcs[i], arcs[j]); });\n else if (sort != null) index.sort(function(i, j) { return sort(data[i], data[j]); });\n\n // Compute the arcs! They are stored in the original data's order.\n for (i = 0, k = sum ? (da - n * pa) / sum : 0; i < n; ++i, a0 = a1) {\n j = index[i], v = arcs[j], a1 = a0 + (v > 0 ? v * k : 0) + pa, arcs[j] = {\n data: data[j],\n index: i,\n value: v,\n startAngle: a0,\n endAngle: a1,\n padAngle: p\n };\n }\n\n return arcs;\n }\n\n pie.value = function(_) {\n return arguments.length ? (value = typeof _ === \"function\" ? _ : constant(+_), pie) : value;\n };\n\n pie.sortValues = function(_) {\n return arguments.length ? (sortValues = _, sort = null, pie) : sortValues;\n };\n\n pie.sort = function(_) {\n return arguments.length ? (sort = _, sortValues = null, pie) : sort;\n };\n\n pie.startAngle = function(_) {\n return arguments.length ? (startAngle = typeof _ === \"function\" ? _ : constant(+_), pie) : startAngle;\n };\n\n pie.endAngle = function(_) {\n return arguments.length ? (endAngle = typeof _ === \"function\" ? _ : constant(+_), pie) : endAngle;\n };\n\n pie.padAngle = function(_) {\n return arguments.length ? (padAngle = typeof _ === \"function\" ? _ : constant(+_), pie) : padAngle;\n };\n\n return pie;\n}\n","import curveLinear from \"./linear\";\n\nexport var curveRadialLinear = curveRadial(curveLinear);\n\nfunction Radial(curve) {\n this._curve = curve;\n}\n\nRadial.prototype = {\n areaStart: function() {\n this._curve.areaStart();\n },\n areaEnd: function() {\n this._curve.areaEnd();\n },\n lineStart: function() {\n this._curve.lineStart();\n },\n lineEnd: function() {\n this._curve.lineEnd();\n },\n point: function(a, r) {\n this._curve.point(r * Math.sin(a), r * -Math.cos(a));\n }\n};\n\nexport default function curveRadial(curve) {\n\n function radial(context) {\n return new Radial(curve(context));\n }\n\n radial._curve = curve;\n\n return radial;\n}\n","import curveRadial, {curveRadialLinear} from \"./curve/radial\";\nimport line from \"./line\";\n\nexport function lineRadial(l) {\n var c = l.curve;\n\n l.angle = l.x, delete l.x;\n l.radius = l.y, delete l.y;\n\n l.curve = function(_) {\n return arguments.length ? c(curveRadial(_)) : c()._curve;\n };\n\n return l;\n}\n\nexport default function() {\n return lineRadial(line().curve(curveRadialLinear));\n}\n","import curveRadial, {curveRadialLinear} from \"./curve/radial\";\nimport area from \"./area\";\nimport {lineRadial} from \"./lineRadial\"\n\nexport default function() {\n var a = area().curve(curveRadialLinear),\n c = a.curve,\n x0 = a.lineX0,\n x1 = a.lineX1,\n y0 = a.lineY0,\n y1 = a.lineY1;\n\n a.angle = a.x, delete a.x;\n a.startAngle = a.x0, delete a.x0;\n a.endAngle = a.x1, delete a.x1;\n a.radius = a.y, delete a.y;\n a.innerRadius = a.y0, delete a.y0;\n a.outerRadius = a.y1, delete a.y1;\n a.lineStartAngle = function() { return lineRadial(x0()); }, delete a.lineX0;\n a.lineEndAngle = function() { return lineRadial(x1()); }, delete a.lineX1;\n a.lineInnerRadius = function() { return lineRadial(y0()); }, delete a.lineY0;\n a.lineOuterRadius = function() { return lineRadial(y1()); }, delete a.lineY1;\n\n a.curve = function(_) {\n return arguments.length ? c(curveRadial(_)) : c()._curve;\n };\n\n return a;\n}\n","export default function(x, y) {\n return [(y = +y) * Math.cos(x -= Math.PI / 2), y * Math.sin(x)];\n}\n","export var slice = Array.prototype.slice;\n","import {path} from \"d3-path\";\nimport {slice} from \"../array\";\nimport constant from \"../constant\";\nimport {x as pointX, y as pointY} from \"../point\";\nimport pointRadial from \"../pointRadial\";\n\nfunction linkSource(d) {\n return d.source;\n}\n\nfunction linkTarget(d) {\n return d.target;\n}\n\nfunction link(curve) {\n var source = linkSource,\n target = linkTarget,\n x = pointX,\n y = pointY,\n context = null;\n\n function link() {\n var buffer, argv = slice.call(arguments), s = source.apply(this, argv), t = target.apply(this, argv);\n if (!context) context = buffer = path();\n curve(context, +x.apply(this, (argv[0] = s, argv)), +y.apply(this, argv), +x.apply(this, (argv[0] = t, argv)), +y.apply(this, argv));\n if (buffer) return context = null, buffer + \"\" || null;\n }\n\n link.source = function(_) {\n return arguments.length ? (source = _, link) : source;\n };\n\n link.target = function(_) {\n return arguments.length ? (target = _, link) : target;\n };\n\n link.x = function(_) {\n return arguments.length ? (x = typeof _ === \"function\" ? _ : constant(+_), link) : x;\n };\n\n link.y = function(_) {\n return arguments.length ? (y = typeof _ === \"function\" ? _ : constant(+_), link) : y;\n };\n\n link.context = function(_) {\n return arguments.length ? ((context = _ == null ? null : _), link) : context;\n };\n\n return link;\n}\n\nfunction curveHorizontal(context, x0, y0, x1, y1) {\n context.moveTo(x0, y0);\n context.bezierCurveTo(x0 = (x0 + x1) / 2, y0, x0, y1, x1, y1);\n}\n\nfunction curveVertical(context, x0, y0, x1, y1) {\n context.moveTo(x0, y0);\n context.bezierCurveTo(x0, y0 = (y0 + y1) / 2, x1, y0, x1, y1);\n}\n\nfunction curveRadial(context, x0, y0, x1, y1) {\n var p0 = pointRadial(x0, y0),\n p1 = pointRadial(x0, y0 = (y0 + y1) / 2),\n p2 = pointRadial(x1, y0),\n p3 = pointRadial(x1, y1);\n context.moveTo(p0[0], p0[1]);\n context.bezierCurveTo(p1[0], p1[1], p2[0], p2[1], p3[0], p3[1]);\n}\n\nexport function linkHorizontal() {\n return link(curveHorizontal);\n}\n\nexport function linkVertical() {\n return link(curveVertical);\n}\n\nexport function linkRadial() {\n var l = link(curveRadial);\n l.angle = l.x, delete l.x;\n l.radius = l.y, delete l.y;\n return l;\n}\n","import {pi, tau} from \"../math\";\n\nexport default {\n draw: function(context, size) {\n var r = Math.sqrt(size / pi);\n context.moveTo(r, 0);\n context.arc(0, 0, r, 0, tau);\n }\n};\n","export default {\n draw: function(context, size) {\n var r = Math.sqrt(size / 5) / 2;\n context.moveTo(-3 * r, -r);\n context.lineTo(-r, -r);\n context.lineTo(-r, -3 * r);\n context.lineTo(r, -3 * r);\n context.lineTo(r, -r);\n context.lineTo(3 * r, -r);\n context.lineTo(3 * r, r);\n context.lineTo(r, r);\n context.lineTo(r, 3 * r);\n context.lineTo(-r, 3 * r);\n context.lineTo(-r, r);\n context.lineTo(-3 * r, r);\n context.closePath();\n }\n};\n","var tan30 = Math.sqrt(1 / 3),\n tan30_2 = tan30 * 2;\n\nexport default {\n draw: function(context, size) {\n var y = Math.sqrt(size / tan30_2),\n x = y * tan30;\n context.moveTo(0, -y);\n context.lineTo(x, 0);\n context.lineTo(0, y);\n context.lineTo(-x, 0);\n context.closePath();\n }\n};\n","import {pi, tau} from \"../math\";\n\nvar ka = 0.89081309152928522810,\n kr = Math.sin(pi / 10) / Math.sin(7 * pi / 10),\n kx = Math.sin(tau / 10) * kr,\n ky = -Math.cos(tau / 10) * kr;\n\nexport default {\n draw: function(context, size) {\n var r = Math.sqrt(size * ka),\n x = kx * r,\n y = ky * r;\n context.moveTo(0, -r);\n context.lineTo(x, y);\n for (var i = 1; i < 5; ++i) {\n var a = tau * i / 5,\n c = Math.cos(a),\n s = Math.sin(a);\n context.lineTo(s * r, -c * r);\n context.lineTo(c * x - s * y, s * x + c * y);\n }\n context.closePath();\n }\n};\n","export default {\n draw: function(context, size) {\n var w = Math.sqrt(size),\n x = -w / 2;\n context.rect(x, x, w, w);\n }\n};\n","var sqrt3 = Math.sqrt(3);\n\nexport default {\n draw: function(context, size) {\n var y = -Math.sqrt(size / (sqrt3 * 3));\n context.moveTo(0, y * 2);\n context.lineTo(-sqrt3 * y, -y);\n context.lineTo(sqrt3 * y, -y);\n context.closePath();\n }\n};\n","var c = -0.5,\n s = Math.sqrt(3) / 2,\n k = 1 / Math.sqrt(12),\n a = (k / 2 + 1) * 3;\n\nexport default {\n draw: function(context, size) {\n var r = Math.sqrt(size / a),\n x0 = r / 2,\n y0 = r * k,\n x1 = x0,\n y1 = r * k + r,\n x2 = -x1,\n y2 = y1;\n context.moveTo(x0, y0);\n context.lineTo(x1, y1);\n context.lineTo(x2, y2);\n context.lineTo(c * x0 - s * y0, s * x0 + c * y0);\n context.lineTo(c * x1 - s * y1, s * x1 + c * y1);\n context.lineTo(c * x2 - s * y2, s * x2 + c * y2);\n context.lineTo(c * x0 + s * y0, c * y0 - s * x0);\n context.lineTo(c * x1 + s * y1, c * y1 - s * x1);\n context.lineTo(c * x2 + s * y2, c * y2 - s * x2);\n context.closePath();\n }\n};\n","import {path} from \"d3-path\";\nimport circle from \"./symbol/circle\";\nimport cross from \"./symbol/cross\";\nimport diamond from \"./symbol/diamond\";\nimport star from \"./symbol/star\";\nimport square from \"./symbol/square\";\nimport triangle from \"./symbol/triangle\";\nimport wye from \"./symbol/wye\";\nimport constant from \"./constant\";\n\nexport var symbols = [\n circle,\n cross,\n diamond,\n square,\n star,\n triangle,\n wye\n];\n\nexport default function() {\n var type = constant(circle),\n size = constant(64),\n context = null;\n\n function symbol() {\n var buffer;\n if (!context) context = buffer = path();\n type.apply(this, arguments).draw(context, +size.apply(this, arguments));\n if (buffer) return context = null, buffer + \"\" || null;\n }\n\n symbol.type = function(_) {\n return arguments.length ? (type = typeof _ === \"function\" ? _ : constant(_), symbol) : type;\n };\n\n symbol.size = function(_) {\n return arguments.length ? (size = typeof _ === \"function\" ? _ : constant(+_), symbol) : size;\n };\n\n symbol.context = function(_) {\n return arguments.length ? (context = _ == null ? null : _, symbol) : context;\n };\n\n return symbol;\n}\n","export default function() {}\n","export function point(that, x, y) {\n that._context.bezierCurveTo(\n (2 * that._x0 + that._x1) / 3,\n (2 * that._y0 + that._y1) / 3,\n (that._x0 + 2 * that._x1) / 3,\n (that._y0 + 2 * that._y1) / 3,\n (that._x0 + 4 * that._x1 + x) / 6,\n (that._y0 + 4 * that._y1 + y) / 6\n );\n}\n\nexport function Basis(context) {\n this._context = context;\n}\n\nBasis.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 =\n this._y0 = this._y1 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 3: point(this, this._x1, this._y1); // proceed\n case 2: this._context.lineTo(this._x1, this._y1); break;\n }\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; break;\n case 2: this._point = 3; this._context.lineTo((5 * this._x0 + this._x1) / 6, (5 * this._y0 + this._y1) / 6); // proceed\n default: point(this, x, y); break;\n }\n this._x0 = this._x1, this._x1 = x;\n this._y0 = this._y1, this._y1 = y;\n }\n};\n\nexport default function(context) {\n return new Basis(context);\n}\n","import noop from \"../noop\";\nimport {point} from \"./basis\";\n\nfunction BasisClosed(context) {\n this._context = context;\n}\n\nBasisClosed.prototype = {\n areaStart: noop,\n areaEnd: noop,\n lineStart: function() {\n this._x0 = this._x1 = this._x2 = this._x3 = this._x4 =\n this._y0 = this._y1 = this._y2 = this._y3 = this._y4 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 1: {\n this._context.moveTo(this._x2, this._y2);\n this._context.closePath();\n break;\n }\n case 2: {\n this._context.moveTo((this._x2 + 2 * this._x3) / 3, (this._y2 + 2 * this._y3) / 3);\n this._context.lineTo((this._x3 + 2 * this._x2) / 3, (this._y3 + 2 * this._y2) / 3);\n this._context.closePath();\n break;\n }\n case 3: {\n this.point(this._x2, this._y2);\n this.point(this._x3, this._y3);\n this.point(this._x4, this._y4);\n break;\n }\n }\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._x2 = x, this._y2 = y; break;\n case 1: this._point = 2; this._x3 = x, this._y3 = y; break;\n case 2: this._point = 3; this._x4 = x, this._y4 = y; this._context.moveTo((this._x0 + 4 * this._x1 + x) / 6, (this._y0 + 4 * this._y1 + y) / 6); break;\n default: point(this, x, y); break;\n }\n this._x0 = this._x1, this._x1 = x;\n this._y0 = this._y1, this._y1 = y;\n }\n};\n\nexport default function(context) {\n return new BasisClosed(context);\n}\n","import {point} from \"./basis\";\n\nfunction BasisOpen(context) {\n this._context = context;\n}\n\nBasisOpen.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 =\n this._y0 = this._y1 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n if (this._line || (this._line !== 0 && this._point === 3)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; break;\n case 1: this._point = 2; break;\n case 2: this._point = 3; var x0 = (this._x0 + 4 * this._x1 + x) / 6, y0 = (this._y0 + 4 * this._y1 + y) / 6; this._line ? this._context.lineTo(x0, y0) : this._context.moveTo(x0, y0); break;\n case 3: this._point = 4; // proceed\n default: point(this, x, y); break;\n }\n this._x0 = this._x1, this._x1 = x;\n this._y0 = this._y1, this._y1 = y;\n }\n};\n\nexport default function(context) {\n return new BasisOpen(context);\n}\n","import {Basis} from \"./basis\";\n\nfunction Bundle(context, beta) {\n this._basis = new Basis(context);\n this._beta = beta;\n}\n\nBundle.prototype = {\n lineStart: function() {\n this._x = [];\n this._y = [];\n this._basis.lineStart();\n },\n lineEnd: function() {\n var x = this._x,\n y = this._y,\n j = x.length - 1;\n\n if (j > 0) {\n var x0 = x[0],\n y0 = y[0],\n dx = x[j] - x0,\n dy = y[j] - y0,\n i = -1,\n t;\n\n while (++i <= j) {\n t = i / j;\n this._basis.point(\n this._beta * x[i] + (1 - this._beta) * (x0 + t * dx),\n this._beta * y[i] + (1 - this._beta) * (y0 + t * dy)\n );\n }\n }\n\n this._x = this._y = null;\n this._basis.lineEnd();\n },\n point: function(x, y) {\n this._x.push(+x);\n this._y.push(+y);\n }\n};\n\nexport default (function custom(beta) {\n\n function bundle(context) {\n return beta === 1 ? new Basis(context) : new Bundle(context, beta);\n }\n\n bundle.beta = function(beta) {\n return custom(+beta);\n };\n\n return bundle;\n})(0.85);\n","export function point(that, x, y) {\n that._context.bezierCurveTo(\n that._x1 + that._k * (that._x2 - that._x0),\n that._y1 + that._k * (that._y2 - that._y0),\n that._x2 + that._k * (that._x1 - x),\n that._y2 + that._k * (that._y1 - y),\n that._x2,\n that._y2\n );\n}\n\nexport function Cardinal(context, tension) {\n this._context = context;\n this._k = (1 - tension) / 6;\n}\n\nCardinal.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 = this._x2 =\n this._y0 = this._y1 = this._y2 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 2: this._context.lineTo(this._x2, this._y2); break;\n case 3: point(this, this._x1, this._y1); break;\n }\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; this._x1 = x, this._y1 = y; break;\n case 2: this._point = 3; // proceed\n default: point(this, x, y); break;\n }\n this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;\n this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;\n }\n};\n\nexport default (function custom(tension) {\n\n function cardinal(context) {\n return new Cardinal(context, tension);\n }\n\n cardinal.tension = function(tension) {\n return custom(+tension);\n };\n\n return cardinal;\n})(0);\n","import noop from \"../noop\";\nimport {point} from \"./cardinal\";\n\nexport function CardinalClosed(context, tension) {\n this._context = context;\n this._k = (1 - tension) / 6;\n}\n\nCardinalClosed.prototype = {\n areaStart: noop,\n areaEnd: noop,\n lineStart: function() {\n this._x0 = this._x1 = this._x2 = this._x3 = this._x4 = this._x5 =\n this._y0 = this._y1 = this._y2 = this._y3 = this._y4 = this._y5 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 1: {\n this._context.moveTo(this._x3, this._y3);\n this._context.closePath();\n break;\n }\n case 2: {\n this._context.lineTo(this._x3, this._y3);\n this._context.closePath();\n break;\n }\n case 3: {\n this.point(this._x3, this._y3);\n this.point(this._x4, this._y4);\n this.point(this._x5, this._y5);\n break;\n }\n }\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._x3 = x, this._y3 = y; break;\n case 1: this._point = 2; this._context.moveTo(this._x4 = x, this._y4 = y); break;\n case 2: this._point = 3; this._x5 = x, this._y5 = y; break;\n default: point(this, x, y); break;\n }\n this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;\n this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;\n }\n};\n\nexport default (function custom(tension) {\n\n function cardinal(context) {\n return new CardinalClosed(context, tension);\n }\n\n cardinal.tension = function(tension) {\n return custom(+tension);\n };\n\n return cardinal;\n})(0);\n","import {point} from \"./cardinal\";\n\nexport function CardinalOpen(context, tension) {\n this._context = context;\n this._k = (1 - tension) / 6;\n}\n\nCardinalOpen.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 = this._x2 =\n this._y0 = this._y1 = this._y2 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n if (this._line || (this._line !== 0 && this._point === 3)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; break;\n case 1: this._point = 2; break;\n case 2: this._point = 3; this._line ? this._context.lineTo(this._x2, this._y2) : this._context.moveTo(this._x2, this._y2); break;\n case 3: this._point = 4; // proceed\n default: point(this, x, y); break;\n }\n this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;\n this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;\n }\n};\n\nexport default (function custom(tension) {\n\n function cardinal(context) {\n return new CardinalOpen(context, tension);\n }\n\n cardinal.tension = function(tension) {\n return custom(+tension);\n };\n\n return cardinal;\n})(0);\n","import {epsilon} from \"../math\";\nimport {Cardinal} from \"./cardinal\";\n\nexport function point(that, x, y) {\n var x1 = that._x1,\n y1 = that._y1,\n x2 = that._x2,\n y2 = that._y2;\n\n if (that._l01_a > epsilon) {\n var a = 2 * that._l01_2a + 3 * that._l01_a * that._l12_a + that._l12_2a,\n n = 3 * that._l01_a * (that._l01_a + that._l12_a);\n x1 = (x1 * a - that._x0 * that._l12_2a + that._x2 * that._l01_2a) / n;\n y1 = (y1 * a - that._y0 * that._l12_2a + that._y2 * that._l01_2a) / n;\n }\n\n if (that._l23_a > epsilon) {\n var b = 2 * that._l23_2a + 3 * that._l23_a * that._l12_a + that._l12_2a,\n m = 3 * that._l23_a * (that._l23_a + that._l12_a);\n x2 = (x2 * b + that._x1 * that._l23_2a - x * that._l12_2a) / m;\n y2 = (y2 * b + that._y1 * that._l23_2a - y * that._l12_2a) / m;\n }\n\n that._context.bezierCurveTo(x1, y1, x2, y2, that._x2, that._y2);\n}\n\nfunction CatmullRom(context, alpha) {\n this._context = context;\n this._alpha = alpha;\n}\n\nCatmullRom.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 = this._x2 =\n this._y0 = this._y1 = this._y2 = NaN;\n this._l01_a = this._l12_a = this._l23_a =\n this._l01_2a = this._l12_2a = this._l23_2a =\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 2: this._context.lineTo(this._x2, this._y2); break;\n case 3: this.point(this._x2, this._y2); break;\n }\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n\n if (this._point) {\n var x23 = this._x2 - x,\n y23 = this._y2 - y;\n this._l23_a = Math.sqrt(this._l23_2a = Math.pow(x23 * x23 + y23 * y23, this._alpha));\n }\n\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; break;\n case 2: this._point = 3; // proceed\n default: point(this, x, y); break;\n }\n\n this._l01_a = this._l12_a, this._l12_a = this._l23_a;\n this._l01_2a = this._l12_2a, this._l12_2a = this._l23_2a;\n this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;\n this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;\n }\n};\n\nexport default (function custom(alpha) {\n\n function catmullRom(context) {\n return alpha ? new CatmullRom(context, alpha) : new Cardinal(context, 0);\n }\n\n catmullRom.alpha = function(alpha) {\n return custom(+alpha);\n };\n\n return catmullRom;\n})(0.5);\n","import {CardinalClosed} from \"./cardinalClosed\";\nimport noop from \"../noop\";\nimport {point} from \"./catmullRom\";\n\nfunction CatmullRomClosed(context, alpha) {\n this._context = context;\n this._alpha = alpha;\n}\n\nCatmullRomClosed.prototype = {\n areaStart: noop,\n areaEnd: noop,\n lineStart: function() {\n this._x0 = this._x1 = this._x2 = this._x3 = this._x4 = this._x5 =\n this._y0 = this._y1 = this._y2 = this._y3 = this._y4 = this._y5 = NaN;\n this._l01_a = this._l12_a = this._l23_a =\n this._l01_2a = this._l12_2a = this._l23_2a =\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 1: {\n this._context.moveTo(this._x3, this._y3);\n this._context.closePath();\n break;\n }\n case 2: {\n this._context.lineTo(this._x3, this._y3);\n this._context.closePath();\n break;\n }\n case 3: {\n this.point(this._x3, this._y3);\n this.point(this._x4, this._y4);\n this.point(this._x5, this._y5);\n break;\n }\n }\n },\n point: function(x, y) {\n x = +x, y = +y;\n\n if (this._point) {\n var x23 = this._x2 - x,\n y23 = this._y2 - y;\n this._l23_a = Math.sqrt(this._l23_2a = Math.pow(x23 * x23 + y23 * y23, this._alpha));\n }\n\n switch (this._point) {\n case 0: this._point = 1; this._x3 = x, this._y3 = y; break;\n case 1: this._point = 2; this._context.moveTo(this._x4 = x, this._y4 = y); break;\n case 2: this._point = 3; this._x5 = x, this._y5 = y; break;\n default: point(this, x, y); break;\n }\n\n this._l01_a = this._l12_a, this._l12_a = this._l23_a;\n this._l01_2a = this._l12_2a, this._l12_2a = this._l23_2a;\n this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;\n this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;\n }\n};\n\nexport default (function custom(alpha) {\n\n function catmullRom(context) {\n return alpha ? new CatmullRomClosed(context, alpha) : new CardinalClosed(context, 0);\n }\n\n catmullRom.alpha = function(alpha) {\n return custom(+alpha);\n };\n\n return catmullRom;\n})(0.5);\n","import {CardinalOpen} from \"./cardinalOpen\";\nimport {point} from \"./catmullRom\";\n\nfunction CatmullRomOpen(context, alpha) {\n this._context = context;\n this._alpha = alpha;\n}\n\nCatmullRomOpen.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 = this._x2 =\n this._y0 = this._y1 = this._y2 = NaN;\n this._l01_a = this._l12_a = this._l23_a =\n this._l01_2a = this._l12_2a = this._l23_2a =\n this._point = 0;\n },\n lineEnd: function() {\n if (this._line || (this._line !== 0 && this._point === 3)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n\n if (this._point) {\n var x23 = this._x2 - x,\n y23 = this._y2 - y;\n this._l23_a = Math.sqrt(this._l23_2a = Math.pow(x23 * x23 + y23 * y23, this._alpha));\n }\n\n switch (this._point) {\n case 0: this._point = 1; break;\n case 1: this._point = 2; break;\n case 2: this._point = 3; this._line ? this._context.lineTo(this._x2, this._y2) : this._context.moveTo(this._x2, this._y2); break;\n case 3: this._point = 4; // proceed\n default: point(this, x, y); break;\n }\n\n this._l01_a = this._l12_a, this._l12_a = this._l23_a;\n this._l01_2a = this._l12_2a, this._l12_2a = this._l23_2a;\n this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;\n this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;\n }\n};\n\nexport default (function custom(alpha) {\n\n function catmullRom(context) {\n return alpha ? new CatmullRomOpen(context, alpha) : new CardinalOpen(context, 0);\n }\n\n catmullRom.alpha = function(alpha) {\n return custom(+alpha);\n };\n\n return catmullRom;\n})(0.5);\n","import noop from \"../noop\";\n\nfunction LinearClosed(context) {\n this._context = context;\n}\n\nLinearClosed.prototype = {\n areaStart: noop,\n areaEnd: noop,\n lineStart: function() {\n this._point = 0;\n },\n lineEnd: function() {\n if (this._point) this._context.closePath();\n },\n point: function(x, y) {\n x = +x, y = +y;\n if (this._point) this._context.lineTo(x, y);\n else this._point = 1, this._context.moveTo(x, y);\n }\n};\n\nexport default function(context) {\n return new LinearClosed(context);\n}\n","function sign(x) {\n return x < 0 ? -1 : 1;\n}\n\n// Calculate the slopes of the tangents (Hermite-type interpolation) based on\n// the following paper: Steffen, M. 1990. A Simple Method for Monotonic\n// Interpolation in One Dimension. Astronomy and Astrophysics, Vol. 239, NO.\n// NOV(II), P. 443, 1990.\nfunction slope3(that, x2, y2) {\n var h0 = that._x1 - that._x0,\n h1 = x2 - that._x1,\n s0 = (that._y1 - that._y0) / (h0 || h1 < 0 && -0),\n s1 = (y2 - that._y1) / (h1 || h0 < 0 && -0),\n p = (s0 * h1 + s1 * h0) / (h0 + h1);\n return (sign(s0) + sign(s1)) * Math.min(Math.abs(s0), Math.abs(s1), 0.5 * Math.abs(p)) || 0;\n}\n\n// Calculate a one-sided slope.\nfunction slope2(that, t) {\n var h = that._x1 - that._x0;\n return h ? (3 * (that._y1 - that._y0) / h - t) / 2 : t;\n}\n\n// According to https://en.wikipedia.org/wiki/Cubic_Hermite_spline#Representations\n// \"you can express cubic Hermite interpolation in terms of cubic Bézier curves\n// with respect to the four values p0, p0 + m0 / 3, p1 - m1 / 3, p1\".\nfunction point(that, t0, t1) {\n var x0 = that._x0,\n y0 = that._y0,\n x1 = that._x1,\n y1 = that._y1,\n dx = (x1 - x0) / 3;\n that._context.bezierCurveTo(x0 + dx, y0 + dx * t0, x1 - dx, y1 - dx * t1, x1, y1);\n}\n\nfunction MonotoneX(context) {\n this._context = context;\n}\n\nMonotoneX.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 =\n this._y0 = this._y1 =\n this._t0 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 2: this._context.lineTo(this._x1, this._y1); break;\n case 3: point(this, this._t0, slope2(this, this._t0)); break;\n }\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n var t1 = NaN;\n\n x = +x, y = +y;\n if (x === this._x1 && y === this._y1) return; // Ignore coincident points.\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; break;\n case 2: this._point = 3; point(this, slope2(this, t1 = slope3(this, x, y)), t1); break;\n default: point(this, this._t0, t1 = slope3(this, x, y)); break;\n }\n\n this._x0 = this._x1, this._x1 = x;\n this._y0 = this._y1, this._y1 = y;\n this._t0 = t1;\n }\n}\n\nfunction MonotoneY(context) {\n this._context = new ReflectContext(context);\n}\n\n(MonotoneY.prototype = Object.create(MonotoneX.prototype)).point = function(x, y) {\n MonotoneX.prototype.point.call(this, y, x);\n};\n\nfunction ReflectContext(context) {\n this._context = context;\n}\n\nReflectContext.prototype = {\n moveTo: function(x, y) { this._context.moveTo(y, x); },\n closePath: function() { this._context.closePath(); },\n lineTo: function(x, y) { this._context.lineTo(y, x); },\n bezierCurveTo: function(x1, y1, x2, y2, x, y) { this._context.bezierCurveTo(y1, x1, y2, x2, y, x); }\n};\n\nexport function monotoneX(context) {\n return new MonotoneX(context);\n}\n\nexport function monotoneY(context) {\n return new MonotoneY(context);\n}\n","function Natural(context) {\n this._context = context;\n}\n\nNatural.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x = [];\n this._y = [];\n },\n lineEnd: function() {\n var x = this._x,\n y = this._y,\n n = x.length;\n\n if (n) {\n this._line ? this._context.lineTo(x[0], y[0]) : this._context.moveTo(x[0], y[0]);\n if (n === 2) {\n this._context.lineTo(x[1], y[1]);\n } else {\n var px = controlPoints(x),\n py = controlPoints(y);\n for (var i0 = 0, i1 = 1; i1 < n; ++i0, ++i1) {\n this._context.bezierCurveTo(px[0][i0], py[0][i0], px[1][i0], py[1][i0], x[i1], y[i1]);\n }\n }\n }\n\n if (this._line || (this._line !== 0 && n === 1)) this._context.closePath();\n this._line = 1 - this._line;\n this._x = this._y = null;\n },\n point: function(x, y) {\n this._x.push(+x);\n this._y.push(+y);\n }\n};\n\n// See https://www.particleincell.com/2012/bezier-splines/ for derivation.\nfunction controlPoints(x) {\n var i,\n n = x.length - 1,\n m,\n a = new Array(n),\n b = new Array(n),\n r = new Array(n);\n a[0] = 0, b[0] = 2, r[0] = x[0] + 2 * x[1];\n for (i = 1; i < n - 1; ++i) a[i] = 1, b[i] = 4, r[i] = 4 * x[i] + 2 * x[i + 1];\n a[n - 1] = 2, b[n - 1] = 7, r[n - 1] = 8 * x[n - 1] + x[n];\n for (i = 1; i < n; ++i) m = a[i] / b[i - 1], b[i] -= m, r[i] -= m * r[i - 1];\n a[n - 1] = r[n - 1] / b[n - 1];\n for (i = n - 2; i >= 0; --i) a[i] = (r[i] - a[i + 1]) / b[i];\n b[n - 1] = (x[n] + a[n - 1]) / 2;\n for (i = 0; i < n - 1; ++i) b[i] = 2 * x[i + 1] - a[i + 1];\n return [a, b];\n}\n\nexport default function(context) {\n return new Natural(context);\n}\n","function Step(context, t) {\n this._context = context;\n this._t = t;\n}\n\nStep.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x = this._y = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n if (0 < this._t && this._t < 1 && this._point === 2) this._context.lineTo(this._x, this._y);\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n if (this._line >= 0) this._t = 1 - this._t, this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; // proceed\n default: {\n if (this._t <= 0) {\n this._context.lineTo(this._x, y);\n this._context.lineTo(x, y);\n } else {\n var x1 = this._x * (1 - this._t) + x * this._t;\n this._context.lineTo(x1, this._y);\n this._context.lineTo(x1, y);\n }\n break;\n }\n }\n this._x = x, this._y = y;\n }\n};\n\nexport default function(context) {\n return new Step(context, 0.5);\n}\n\nexport function stepBefore(context) {\n return new Step(context, 0);\n}\n\nexport function stepAfter(context) {\n return new Step(context, 1);\n}\n","export default function(series, order) {\n if (!((n = series.length) > 1)) return;\n for (var i = 1, j, s0, s1 = series[order[0]], n, m = s1.length; i < n; ++i) {\n s0 = s1, s1 = series[order[i]];\n for (j = 0; j < m; ++j) {\n s1[j][1] += s1[j][0] = isNaN(s0[j][1]) ? s0[j][0] : s0[j][1];\n }\n }\n}\n","export default function(series) {\n var n = series.length, o = new Array(n);\n while (--n >= 0) o[n] = n;\n return o;\n}\n","import {slice} from \"./array\";\nimport constant from \"./constant\";\nimport offsetNone from \"./offset/none\";\nimport orderNone from \"./order/none\";\n\nfunction stackValue(d, key) {\n return d[key];\n}\n\nexport default function() {\n var keys = constant([]),\n order = orderNone,\n offset = offsetNone,\n value = stackValue;\n\n function stack(data) {\n var kz = keys.apply(this, arguments),\n i,\n m = data.length,\n n = kz.length,\n sz = new Array(n),\n oz;\n\n for (i = 0; i < n; ++i) {\n for (var ki = kz[i], si = sz[i] = new Array(m), j = 0, sij; j < m; ++j) {\n si[j] = sij = [0, +value(data[j], ki, j, data)];\n sij.data = data[j];\n }\n si.key = ki;\n }\n\n for (i = 0, oz = order(sz); i < n; ++i) {\n sz[oz[i]].index = i;\n }\n\n offset(sz, oz);\n return sz;\n }\n\n stack.keys = function(_) {\n return arguments.length ? (keys = typeof _ === \"function\" ? _ : constant(slice.call(_)), stack) : keys;\n };\n\n stack.value = function(_) {\n return arguments.length ? (value = typeof _ === \"function\" ? _ : constant(+_), stack) : value;\n };\n\n stack.order = function(_) {\n return arguments.length ? (order = _ == null ? orderNone : typeof _ === \"function\" ? _ : constant(slice.call(_)), stack) : order;\n };\n\n stack.offset = function(_) {\n return arguments.length ? (offset = _ == null ? offsetNone : _, stack) : offset;\n };\n\n return stack;\n}\n","import none from \"./none\";\n\nexport default function(series, order) {\n if (!((n = series.length) > 0)) return;\n for (var i, n, j = 0, m = series[0].length, y; j < m; ++j) {\n for (y = i = 0; i < n; ++i) y += series[i][j][1] || 0;\n if (y) for (i = 0; i < n; ++i) series[i][j][1] /= y;\n }\n none(series, order);\n}\n","export default function(series, order) {\n if (!((n = series.length) > 1)) return;\n for (var i, j = 0, d, dy, yp, yn, n, m = series[order[0]].length; j < m; ++j) {\n for (yp = yn = 0, i = 0; i < n; ++i) {\n if ((dy = (d = series[order[i]][j])[1] - d[0]) >= 0) {\n d[0] = yp, d[1] = yp += dy;\n } else if (dy < 0) {\n d[1] = yn, d[0] = yn += dy;\n } else {\n d[0] = yp;\n }\n }\n }\n}\n","import none from \"./none\";\n\nexport default function(series, order) {\n if (!((n = series.length) > 0)) return;\n for (var j = 0, s0 = series[order[0]], n, m = s0.length; j < m; ++j) {\n for (var i = 0, y = 0; i < n; ++i) y += series[i][j][1] || 0;\n s0[j][1] += s0[j][0] = -y / 2;\n }\n none(series, order);\n}\n","import none from \"./none\";\n\nexport default function(series, order) {\n if (!((n = series.length) > 0) || !((m = (s0 = series[order[0]]).length) > 0)) return;\n for (var y = 0, j = 1, s0, m, n; j < m; ++j) {\n for (var i = 0, s1 = 0, s2 = 0; i < n; ++i) {\n var si = series[order[i]],\n sij0 = si[j][1] || 0,\n sij1 = si[j - 1][1] || 0,\n s3 = (sij0 - sij1) / 2;\n for (var k = 0; k < i; ++k) {\n var sk = series[order[k]],\n skj0 = sk[j][1] || 0,\n skj1 = sk[j - 1][1] || 0;\n s3 += skj0 - skj1;\n }\n s1 += sij0, s2 += s3 * sij0;\n }\n s0[j - 1][1] += s0[j - 1][0] = y;\n if (s1) y -= s2 / s1;\n }\n s0[j - 1][1] += s0[j - 1][0] = y;\n none(series, order);\n}\n","import none from \"./none\";\n\nexport default function(series) {\n var sums = series.map(sum);\n return none(series).sort(function(a, b) { return sums[a] - sums[b]; });\n}\n\nexport function sum(series) {\n var s = 0, i = -1, n = series.length, v;\n while (++i < n) if (v = +series[i][1]) s += v;\n return s;\n}\n","import ascending from \"./ascending\";\n\nexport default function(series) {\n return ascending(series).reverse();\n}\n","import none from \"./none\";\nimport {sum} from \"./ascending\";\n\nexport default function(series) {\n var n = series.length,\n i,\n j,\n sums = series.map(sum),\n order = none(series).sort(function(a, b) { return sums[b] - sums[a]; }),\n top = 0,\n bottom = 0,\n tops = [],\n bottoms = [];\n\n for (i = 0; i < n; ++i) {\n j = order[i];\n if (top < bottom) {\n top += sums[j];\n tops.push(j);\n } else {\n bottom += sums[j];\n bottoms.push(j);\n }\n }\n\n return bottoms.reverse().concat(tops);\n}\n","import none from \"./none\";\n\nexport default function(series) {\n return none(series).reverse();\n}\n","export default function(x) {\n return function() {\n return x;\n };\n}\n","export function x(d) {\n return d[0];\n}\n\nexport function y(d) {\n return d[1];\n}\n","function RedBlackTree() {\n this._ = null; // root node\n}\n\nexport function RedBlackNode(node) {\n node.U = // parent node\n node.C = // color - true for red, false for black\n node.L = // left node\n node.R = // right node\n node.P = // previous node\n node.N = null; // next node\n}\n\nRedBlackTree.prototype = {\n constructor: RedBlackTree,\n\n insert: function(after, node) {\n var parent, grandpa, uncle;\n\n if (after) {\n node.P = after;\n node.N = after.N;\n if (after.N) after.N.P = node;\n after.N = node;\n if (after.R) {\n after = after.R;\n while (after.L) after = after.L;\n after.L = node;\n } else {\n after.R = node;\n }\n parent = after;\n } else if (this._) {\n after = RedBlackFirst(this._);\n node.P = null;\n node.N = after;\n after.P = after.L = node;\n parent = after;\n } else {\n node.P = node.N = null;\n this._ = node;\n parent = null;\n }\n node.L = node.R = null;\n node.U = parent;\n node.C = true;\n\n after = node;\n while (parent && parent.C) {\n grandpa = parent.U;\n if (parent === grandpa.L) {\n uncle = grandpa.R;\n if (uncle && uncle.C) {\n parent.C = uncle.C = false;\n grandpa.C = true;\n after = grandpa;\n } else {\n if (after === parent.R) {\n RedBlackRotateLeft(this, parent);\n after = parent;\n parent = after.U;\n }\n parent.C = false;\n grandpa.C = true;\n RedBlackRotateRight(this, grandpa);\n }\n } else {\n uncle = grandpa.L;\n if (uncle && uncle.C) {\n parent.C = uncle.C = false;\n grandpa.C = true;\n after = grandpa;\n } else {\n if (after === parent.L) {\n RedBlackRotateRight(this, parent);\n after = parent;\n parent = after.U;\n }\n parent.C = false;\n grandpa.C = true;\n RedBlackRotateLeft(this, grandpa);\n }\n }\n parent = after.U;\n }\n this._.C = false;\n },\n\n remove: function(node) {\n if (node.N) node.N.P = node.P;\n if (node.P) node.P.N = node.N;\n node.N = node.P = null;\n\n var parent = node.U,\n sibling,\n left = node.L,\n right = node.R,\n next,\n red;\n\n if (!left) next = right;\n else if (!right) next = left;\n else next = RedBlackFirst(right);\n\n if (parent) {\n if (parent.L === node) parent.L = next;\n else parent.R = next;\n } else {\n this._ = next;\n }\n\n if (left && right) {\n red = next.C;\n next.C = node.C;\n next.L = left;\n left.U = next;\n if (next !== right) {\n parent = next.U;\n next.U = node.U;\n node = next.R;\n parent.L = node;\n next.R = right;\n right.U = next;\n } else {\n next.U = parent;\n parent = next;\n node = next.R;\n }\n } else {\n red = node.C;\n node = next;\n }\n\n if (node) node.U = parent;\n if (red) return;\n if (node && node.C) { node.C = false; return; }\n\n do {\n if (node === this._) break;\n if (node === parent.L) {\n sibling = parent.R;\n if (sibling.C) {\n sibling.C = false;\n parent.C = true;\n RedBlackRotateLeft(this, parent);\n sibling = parent.R;\n }\n if ((sibling.L && sibling.L.C)\n || (sibling.R && sibling.R.C)) {\n if (!sibling.R || !sibling.R.C) {\n sibling.L.C = false;\n sibling.C = true;\n RedBlackRotateRight(this, sibling);\n sibling = parent.R;\n }\n sibling.C = parent.C;\n parent.C = sibling.R.C = false;\n RedBlackRotateLeft(this, parent);\n node = this._;\n break;\n }\n } else {\n sibling = parent.L;\n if (sibling.C) {\n sibling.C = false;\n parent.C = true;\n RedBlackRotateRight(this, parent);\n sibling = parent.L;\n }\n if ((sibling.L && sibling.L.C)\n || (sibling.R && sibling.R.C)) {\n if (!sibling.L || !sibling.L.C) {\n sibling.R.C = false;\n sibling.C = true;\n RedBlackRotateLeft(this, sibling);\n sibling = parent.L;\n }\n sibling.C = parent.C;\n parent.C = sibling.L.C = false;\n RedBlackRotateRight(this, parent);\n node = this._;\n break;\n }\n }\n sibling.C = true;\n node = parent;\n parent = parent.U;\n } while (!node.C);\n\n if (node) node.C = false;\n }\n};\n\nfunction RedBlackRotateLeft(tree, node) {\n var p = node,\n q = node.R,\n parent = p.U;\n\n if (parent) {\n if (parent.L === p) parent.L = q;\n else parent.R = q;\n } else {\n tree._ = q;\n }\n\n q.U = parent;\n p.U = q;\n p.R = q.L;\n if (p.R) p.R.U = p;\n q.L = p;\n}\n\nfunction RedBlackRotateRight(tree, node) {\n var p = node,\n q = node.L,\n parent = p.U;\n\n if (parent) {\n if (parent.L === p) parent.L = q;\n else parent.R = q;\n } else {\n tree._ = q;\n }\n\n q.U = parent;\n p.U = q;\n p.L = q.R;\n if (p.L) p.L.U = p;\n q.R = p;\n}\n\nfunction RedBlackFirst(node) {\n while (node.L) node = node.L;\n return node;\n}\n\nexport default RedBlackTree;\n","import {cells, edges, epsilon} from \"./Diagram\";\n\nexport function createEdge(left, right, v0, v1) {\n var edge = [null, null],\n index = edges.push(edge) - 1;\n edge.left = left;\n edge.right = right;\n if (v0) setEdgeEnd(edge, left, right, v0);\n if (v1) setEdgeEnd(edge, right, left, v1);\n cells[left.index].halfedges.push(index);\n cells[right.index].halfedges.push(index);\n return edge;\n}\n\nexport function createBorderEdge(left, v0, v1) {\n var edge = [v0, v1];\n edge.left = left;\n return edge;\n}\n\nexport function setEdgeEnd(edge, left, right, vertex) {\n if (!edge[0] && !edge[1]) {\n edge[0] = vertex;\n edge.left = left;\n edge.right = right;\n } else if (edge.left === right) {\n edge[1] = vertex;\n } else {\n edge[0] = vertex;\n }\n}\n\n// Liang–Barsky line clipping.\nfunction clipEdge(edge, x0, y0, x1, y1) {\n var a = edge[0],\n b = edge[1],\n ax = a[0],\n ay = a[1],\n bx = b[0],\n by = b[1],\n t0 = 0,\n t1 = 1,\n dx = bx - ax,\n dy = by - ay,\n r;\n\n r = x0 - ax;\n if (!dx && r > 0) return;\n r /= dx;\n if (dx < 0) {\n if (r < t0) return;\n if (r < t1) t1 = r;\n } else if (dx > 0) {\n if (r > t1) return;\n if (r > t0) t0 = r;\n }\n\n r = x1 - ax;\n if (!dx && r < 0) return;\n r /= dx;\n if (dx < 0) {\n if (r > t1) return;\n if (r > t0) t0 = r;\n } else if (dx > 0) {\n if (r < t0) return;\n if (r < t1) t1 = r;\n }\n\n r = y0 - ay;\n if (!dy && r > 0) return;\n r /= dy;\n if (dy < 0) {\n if (r < t0) return;\n if (r < t1) t1 = r;\n } else if (dy > 0) {\n if (r > t1) return;\n if (r > t0) t0 = r;\n }\n\n r = y1 - ay;\n if (!dy && r < 0) return;\n r /= dy;\n if (dy < 0) {\n if (r > t1) return;\n if (r > t0) t0 = r;\n } else if (dy > 0) {\n if (r < t0) return;\n if (r < t1) t1 = r;\n }\n\n if (!(t0 > 0) && !(t1 < 1)) return true; // TODO Better check?\n\n if (t0 > 0) edge[0] = [ax + t0 * dx, ay + t0 * dy];\n if (t1 < 1) edge[1] = [ax + t1 * dx, ay + t1 * dy];\n return true;\n}\n\nfunction connectEdge(edge, x0, y0, x1, y1) {\n var v1 = edge[1];\n if (v1) return true;\n\n var v0 = edge[0],\n left = edge.left,\n right = edge.right,\n lx = left[0],\n ly = left[1],\n rx = right[0],\n ry = right[1],\n fx = (lx + rx) / 2,\n fy = (ly + ry) / 2,\n fm,\n fb;\n\n if (ry === ly) {\n if (fx < x0 || fx >= x1) return;\n if (lx > rx) {\n if (!v0) v0 = [fx, y0];\n else if (v0[1] >= y1) return;\n v1 = [fx, y1];\n } else {\n if (!v0) v0 = [fx, y1];\n else if (v0[1] < y0) return;\n v1 = [fx, y0];\n }\n } else {\n fm = (lx - rx) / (ry - ly);\n fb = fy - fm * fx;\n if (fm < -1 || fm > 1) {\n if (lx > rx) {\n if (!v0) v0 = [(y0 - fb) / fm, y0];\n else if (v0[1] >= y1) return;\n v1 = [(y1 - fb) / fm, y1];\n } else {\n if (!v0) v0 = [(y1 - fb) / fm, y1];\n else if (v0[1] < y0) return;\n v1 = [(y0 - fb) / fm, y0];\n }\n } else {\n if (ly < ry) {\n if (!v0) v0 = [x0, fm * x0 + fb];\n else if (v0[0] >= x1) return;\n v1 = [x1, fm * x1 + fb];\n } else {\n if (!v0) v0 = [x1, fm * x1 + fb];\n else if (v0[0] < x0) return;\n v1 = [x0, fm * x0 + fb];\n }\n }\n }\n\n edge[0] = v0;\n edge[1] = v1;\n return true;\n}\n\nexport function clipEdges(x0, y0, x1, y1) {\n var i = edges.length,\n edge;\n\n while (i--) {\n if (!connectEdge(edge = edges[i], x0, y0, x1, y1)\n || !clipEdge(edge, x0, y0, x1, y1)\n || !(Math.abs(edge[0][0] - edge[1][0]) > epsilon\n || Math.abs(edge[0][1] - edge[1][1]) > epsilon)) {\n delete edges[i];\n }\n }\n}\n","import {createBorderEdge} from \"./Edge\";\nimport {cells, edges, epsilon} from \"./Diagram\";\n\nexport function createCell(site) {\n return cells[site.index] = {\n site: site,\n halfedges: []\n };\n}\n\nfunction cellHalfedgeAngle(cell, edge) {\n var site = cell.site,\n va = edge.left,\n vb = edge.right;\n if (site === vb) vb = va, va = site;\n if (vb) return Math.atan2(vb[1] - va[1], vb[0] - va[0]);\n if (site === va) va = edge[1], vb = edge[0];\n else va = edge[0], vb = edge[1];\n return Math.atan2(va[0] - vb[0], vb[1] - va[1]);\n}\n\nexport function cellHalfedgeStart(cell, edge) {\n return edge[+(edge.left !== cell.site)];\n}\n\nexport function cellHalfedgeEnd(cell, edge) {\n return edge[+(edge.left === cell.site)];\n}\n\nexport function sortCellHalfedges() {\n for (var i = 0, n = cells.length, cell, halfedges, j, m; i < n; ++i) {\n if ((cell = cells[i]) && (m = (halfedges = cell.halfedges).length)) {\n var index = new Array(m),\n array = new Array(m);\n for (j = 0; j < m; ++j) index[j] = j, array[j] = cellHalfedgeAngle(cell, edges[halfedges[j]]);\n index.sort(function(i, j) { return array[j] - array[i]; });\n for (j = 0; j < m; ++j) array[j] = halfedges[index[j]];\n for (j = 0; j < m; ++j) halfedges[j] = array[j];\n }\n }\n}\n\nexport function clipCells(x0, y0, x1, y1) {\n var nCells = cells.length,\n iCell,\n cell,\n site,\n iHalfedge,\n halfedges,\n nHalfedges,\n start,\n startX,\n startY,\n end,\n endX,\n endY,\n cover = true;\n\n for (iCell = 0; iCell < nCells; ++iCell) {\n if (cell = cells[iCell]) {\n site = cell.site;\n halfedges = cell.halfedges;\n iHalfedge = halfedges.length;\n\n // Remove any dangling clipped edges.\n while (iHalfedge--) {\n if (!edges[halfedges[iHalfedge]]) {\n halfedges.splice(iHalfedge, 1);\n }\n }\n\n // Insert any border edges as necessary.\n iHalfedge = 0, nHalfedges = halfedges.length;\n while (iHalfedge < nHalfedges) {\n end = cellHalfedgeEnd(cell, edges[halfedges[iHalfedge]]), endX = end[0], endY = end[1];\n start = cellHalfedgeStart(cell, edges[halfedges[++iHalfedge % nHalfedges]]), startX = start[0], startY = start[1];\n if (Math.abs(endX - startX) > epsilon || Math.abs(endY - startY) > epsilon) {\n halfedges.splice(iHalfedge, 0, edges.push(createBorderEdge(site, end,\n Math.abs(endX - x0) < epsilon && y1 - endY > epsilon ? [x0, Math.abs(startX - x0) < epsilon ? startY : y1]\n : Math.abs(endY - y1) < epsilon && x1 - endX > epsilon ? [Math.abs(startY - y1) < epsilon ? startX : x1, y1]\n : Math.abs(endX - x1) < epsilon && endY - y0 > epsilon ? [x1, Math.abs(startX - x1) < epsilon ? startY : y0]\n : Math.abs(endY - y0) < epsilon && endX - x0 > epsilon ? [Math.abs(startY - y0) < epsilon ? startX : x0, y0]\n : null)) - 1);\n ++nHalfedges;\n }\n }\n\n if (nHalfedges) cover = false;\n }\n }\n\n // If there weren’t any edges, have the closest site cover the extent.\n // It doesn’t matter which corner of the extent we measure!\n if (cover) {\n var dx, dy, d2, dc = Infinity;\n\n for (iCell = 0, cover = null; iCell < nCells; ++iCell) {\n if (cell = cells[iCell]) {\n site = cell.site;\n dx = site[0] - x0;\n dy = site[1] - y0;\n d2 = dx * dx + dy * dy;\n if (d2 < dc) dc = d2, cover = cell;\n }\n }\n\n if (cover) {\n var v00 = [x0, y0], v01 = [x0, y1], v11 = [x1, y1], v10 = [x1, y0];\n cover.halfedges.push(\n edges.push(createBorderEdge(site = cover.site, v00, v01)) - 1,\n edges.push(createBorderEdge(site, v01, v11)) - 1,\n edges.push(createBorderEdge(site, v11, v10)) - 1,\n edges.push(createBorderEdge(site, v10, v00)) - 1\n );\n }\n }\n\n // Lastly delete any cells with no edges; these were entirely clipped.\n for (iCell = 0; iCell < nCells; ++iCell) {\n if (cell = cells[iCell]) {\n if (!cell.halfedges.length) {\n delete cells[iCell];\n }\n }\n }\n}\n","import {RedBlackNode} from \"./RedBlackTree\";\nimport {circles, epsilon2} from \"./Diagram\";\n\nvar circlePool = [];\n\nexport var firstCircle;\n\nfunction Circle() {\n RedBlackNode(this);\n this.x =\n this.y =\n this.arc =\n this.site =\n this.cy = null;\n}\n\nexport function attachCircle(arc) {\n var lArc = arc.P,\n rArc = arc.N;\n\n if (!lArc || !rArc) return;\n\n var lSite = lArc.site,\n cSite = arc.site,\n rSite = rArc.site;\n\n if (lSite === rSite) return;\n\n var bx = cSite[0],\n by = cSite[1],\n ax = lSite[0] - bx,\n ay = lSite[1] - by,\n cx = rSite[0] - bx,\n cy = rSite[1] - by;\n\n var d = 2 * (ax * cy - ay * cx);\n if (d >= -epsilon2) return;\n\n var ha = ax * ax + ay * ay,\n hc = cx * cx + cy * cy,\n x = (cy * ha - ay * hc) / d,\n y = (ax * hc - cx * ha) / d;\n\n var circle = circlePool.pop() || new Circle;\n circle.arc = arc;\n circle.site = cSite;\n circle.x = x + bx;\n circle.y = (circle.cy = y + by) + Math.sqrt(x * x + y * y); // y bottom\n\n arc.circle = circle;\n\n var before = null,\n node = circles._;\n\n while (node) {\n if (circle.y < node.y || (circle.y === node.y && circle.x <= node.x)) {\n if (node.L) node = node.L;\n else { before = node.P; break; }\n } else {\n if (node.R) node = node.R;\n else { before = node; break; }\n }\n }\n\n circles.insert(before, circle);\n if (!before) firstCircle = circle;\n}\n\nexport function detachCircle(arc) {\n var circle = arc.circle;\n if (circle) {\n if (!circle.P) firstCircle = circle.N;\n circles.remove(circle);\n circlePool.push(circle);\n RedBlackNode(circle);\n arc.circle = null;\n }\n}\n","import {RedBlackNode} from \"./RedBlackTree\";\nimport {createCell} from \"./Cell\";\nimport {attachCircle, detachCircle} from \"./Circle\";\nimport {createEdge, setEdgeEnd} from \"./Edge\";\nimport {beaches, epsilon} from \"./Diagram\";\n\nvar beachPool = [];\n\nfunction Beach() {\n RedBlackNode(this);\n this.edge =\n this.site =\n this.circle = null;\n}\n\nfunction createBeach(site) {\n var beach = beachPool.pop() || new Beach;\n beach.site = site;\n return beach;\n}\n\nfunction detachBeach(beach) {\n detachCircle(beach);\n beaches.remove(beach);\n beachPool.push(beach);\n RedBlackNode(beach);\n}\n\nexport function removeBeach(beach) {\n var circle = beach.circle,\n x = circle.x,\n y = circle.cy,\n vertex = [x, y],\n previous = beach.P,\n next = beach.N,\n disappearing = [beach];\n\n detachBeach(beach);\n\n var lArc = previous;\n while (lArc.circle\n && Math.abs(x - lArc.circle.x) < epsilon\n && Math.abs(y - lArc.circle.cy) < epsilon) {\n previous = lArc.P;\n disappearing.unshift(lArc);\n detachBeach(lArc);\n lArc = previous;\n }\n\n disappearing.unshift(lArc);\n detachCircle(lArc);\n\n var rArc = next;\n while (rArc.circle\n && Math.abs(x - rArc.circle.x) < epsilon\n && Math.abs(y - rArc.circle.cy) < epsilon) {\n next = rArc.N;\n disappearing.push(rArc);\n detachBeach(rArc);\n rArc = next;\n }\n\n disappearing.push(rArc);\n detachCircle(rArc);\n\n var nArcs = disappearing.length,\n iArc;\n for (iArc = 1; iArc < nArcs; ++iArc) {\n rArc = disappearing[iArc];\n lArc = disappearing[iArc - 1];\n setEdgeEnd(rArc.edge, lArc.site, rArc.site, vertex);\n }\n\n lArc = disappearing[0];\n rArc = disappearing[nArcs - 1];\n rArc.edge = createEdge(lArc.site, rArc.site, null, vertex);\n\n attachCircle(lArc);\n attachCircle(rArc);\n}\n\nexport function addBeach(site) {\n var x = site[0],\n directrix = site[1],\n lArc,\n rArc,\n dxl,\n dxr,\n node = beaches._;\n\n while (node) {\n dxl = leftBreakPoint(node, directrix) - x;\n if (dxl > epsilon) node = node.L; else {\n dxr = x - rightBreakPoint(node, directrix);\n if (dxr > epsilon) {\n if (!node.R) {\n lArc = node;\n break;\n }\n node = node.R;\n } else {\n if (dxl > -epsilon) {\n lArc = node.P;\n rArc = node;\n } else if (dxr > -epsilon) {\n lArc = node;\n rArc = node.N;\n } else {\n lArc = rArc = node;\n }\n break;\n }\n }\n }\n\n createCell(site);\n var newArc = createBeach(site);\n beaches.insert(lArc, newArc);\n\n if (!lArc && !rArc) return;\n\n if (lArc === rArc) {\n detachCircle(lArc);\n rArc = createBeach(lArc.site);\n beaches.insert(newArc, rArc);\n newArc.edge = rArc.edge = createEdge(lArc.site, newArc.site);\n attachCircle(lArc);\n attachCircle(rArc);\n return;\n }\n\n if (!rArc) { // && lArc\n newArc.edge = createEdge(lArc.site, newArc.site);\n return;\n }\n\n // else lArc !== rArc\n detachCircle(lArc);\n detachCircle(rArc);\n\n var lSite = lArc.site,\n ax = lSite[0],\n ay = lSite[1],\n bx = site[0] - ax,\n by = site[1] - ay,\n rSite = rArc.site,\n cx = rSite[0] - ax,\n cy = rSite[1] - ay,\n d = 2 * (bx * cy - by * cx),\n hb = bx * bx + by * by,\n hc = cx * cx + cy * cy,\n vertex = [(cy * hb - by * hc) / d + ax, (bx * hc - cx * hb) / d + ay];\n\n setEdgeEnd(rArc.edge, lSite, rSite, vertex);\n newArc.edge = createEdge(lSite, site, null, vertex);\n rArc.edge = createEdge(site, rSite, null, vertex);\n attachCircle(lArc);\n attachCircle(rArc);\n}\n\nfunction leftBreakPoint(arc, directrix) {\n var site = arc.site,\n rfocx = site[0],\n rfocy = site[1],\n pby2 = rfocy - directrix;\n\n if (!pby2) return rfocx;\n\n var lArc = arc.P;\n if (!lArc) return -Infinity;\n\n site = lArc.site;\n var lfocx = site[0],\n lfocy = site[1],\n plby2 = lfocy - directrix;\n\n if (!plby2) return lfocx;\n\n var hl = lfocx - rfocx,\n aby2 = 1 / pby2 - 1 / plby2,\n b = hl / plby2;\n\n if (aby2) return (-b + Math.sqrt(b * b - 2 * aby2 * (hl * hl / (-2 * plby2) - lfocy + plby2 / 2 + rfocy - pby2 / 2))) / aby2 + rfocx;\n\n return (rfocx + lfocx) / 2;\n}\n\nfunction rightBreakPoint(arc, directrix) {\n var rArc = arc.N;\n if (rArc) return leftBreakPoint(rArc, directrix);\n var site = arc.site;\n return site[1] === directrix ? site[0] : Infinity;\n}\n","import {addBeach, removeBeach} from \"./Beach\";\nimport {sortCellHalfedges, cellHalfedgeStart, clipCells} from \"./Cell\";\nimport {firstCircle} from \"./Circle\";\nimport {clipEdges} from \"./Edge\";\nimport RedBlackTree from \"./RedBlackTree\";\n\nexport var epsilon = 1e-6;\nexport var epsilon2 = 1e-12;\nexport var beaches;\nexport var cells;\nexport var circles;\nexport var edges;\n\nfunction triangleArea(a, b, c) {\n return (a[0] - c[0]) * (b[1] - a[1]) - (a[0] - b[0]) * (c[1] - a[1]);\n}\n\nfunction lexicographic(a, b) {\n return b[1] - a[1]\n || b[0] - a[0];\n}\n\nexport default function Diagram(sites, extent) {\n var site = sites.sort(lexicographic).pop(),\n x,\n y,\n circle;\n\n edges = [];\n cells = new Array(sites.length);\n beaches = new RedBlackTree;\n circles = new RedBlackTree;\n\n while (true) {\n circle = firstCircle;\n if (site && (!circle || site[1] < circle.y || (site[1] === circle.y && site[0] < circle.x))) {\n if (site[0] !== x || site[1] !== y) {\n addBeach(site);\n x = site[0], y = site[1];\n }\n site = sites.pop();\n } else if (circle) {\n removeBeach(circle.arc);\n } else {\n break;\n }\n }\n\n sortCellHalfedges();\n\n if (extent) {\n var x0 = +extent[0][0],\n y0 = +extent[0][1],\n x1 = +extent[1][0],\n y1 = +extent[1][1];\n clipEdges(x0, y0, x1, y1);\n clipCells(x0, y0, x1, y1);\n }\n\n this.edges = edges;\n this.cells = cells;\n\n beaches =\n circles =\n edges =\n cells = null;\n}\n\nDiagram.prototype = {\n constructor: Diagram,\n\n polygons: function() {\n var edges = this.edges;\n\n return this.cells.map(function(cell) {\n var polygon = cell.halfedges.map(function(i) { return cellHalfedgeStart(cell, edges[i]); });\n polygon.data = cell.site.data;\n return polygon;\n });\n },\n\n triangles: function() {\n var triangles = [],\n edges = this.edges;\n\n this.cells.forEach(function(cell, i) {\n if (!(m = (halfedges = cell.halfedges).length)) return;\n var site = cell.site,\n halfedges,\n j = -1,\n m,\n s0,\n e1 = edges[halfedges[m - 1]],\n s1 = e1.left === site ? e1.right : e1.left;\n\n while (++j < m) {\n s0 = s1;\n e1 = edges[halfedges[j]];\n s1 = e1.left === site ? e1.right : e1.left;\n if (s0 && s1 && i < s0.index && i < s1.index && triangleArea(site, s0, s1) < 0) {\n triangles.push([site.data, s0.data, s1.data]);\n }\n }\n });\n\n return triangles;\n },\n\n links: function() {\n return this.edges.filter(function(edge) {\n return edge.right;\n }).map(function(edge) {\n return {\n source: edge.left.data,\n target: edge.right.data\n };\n });\n },\n\n find: function(x, y, radius) {\n var that = this, i0, i1 = that._found || 0, n = that.cells.length, cell;\n\n // Use the previously-found cell, or start with an arbitrary one.\n while (!(cell = that.cells[i1])) if (++i1 >= n) return null;\n var dx = x - cell.site[0], dy = y - cell.site[1], d2 = dx * dx + dy * dy;\n\n // Traverse the half-edges to find a closer cell, if any.\n do {\n cell = that.cells[i0 = i1], i1 = null;\n cell.halfedges.forEach(function(e) {\n var edge = that.edges[e], v = edge.left;\n if ((v === cell.site || !v) && !(v = edge.right)) return;\n var vx = x - v[0], vy = y - v[1], v2 = vx * vx + vy * vy;\n if (v2 < d2) d2 = v2, i1 = v.index;\n });\n } while (i1 !== null);\n\n that._found = i0;\n\n return radius == null || d2 <= radius * radius ? cell.site : null;\n }\n}\n","import constant from \"./constant\";\nimport {x as pointX, y as pointY} from \"./point\";\nimport Diagram, {epsilon} from \"./Diagram\";\n\nexport default function() {\n var x = pointX,\n y = pointY,\n extent = null;\n\n function voronoi(data) {\n return new Diagram(data.map(function(d, i) {\n var s = [Math.round(x(d, i, data) / epsilon) * epsilon, Math.round(y(d, i, data) / epsilon) * epsilon];\n s.index = i;\n s.data = d;\n return s;\n }), extent);\n }\n\n voronoi.polygons = function(data) {\n return voronoi(data).polygons();\n };\n\n voronoi.links = function(data) {\n return voronoi(data).links();\n };\n\n voronoi.triangles = function(data) {\n return voronoi(data).triangles();\n };\n\n voronoi.x = function(_) {\n return arguments.length ? (x = typeof _ === \"function\" ? _ : constant(+_), voronoi) : x;\n };\n\n voronoi.y = function(_) {\n return arguments.length ? (y = typeof _ === \"function\" ? _ : constant(+_), voronoi) : y;\n };\n\n voronoi.extent = function(_) {\n return arguments.length ? (extent = _ == null ? null : [[+_[0][0], +_[0][1]], [+_[1][0], +_[1][1]]], voronoi) : extent && [[extent[0][0], extent[0][1]], [extent[1][0], extent[1][1]]];\n };\n\n voronoi.size = function(_) {\n return arguments.length ? (extent = _ == null ? null : [[0, 0], [+_[0], +_[1]]], voronoi) : extent && [extent[1][0] - extent[0][0], extent[1][1] - extent[0][1]];\n };\n\n return voronoi;\n}\n","export default function(x) {\n return function() {\n return x;\n };\n}\n","export function Transform(k, x, y) {\n this.k = k;\n this.x = x;\n this.y = y;\n}\n\nTransform.prototype = {\n constructor: Transform,\n scale: function(k) {\n return k === 1 ? this : new Transform(this.k * k, this.x, this.y);\n },\n translate: function(x, y) {\n return x === 0 & y === 0 ? this : new Transform(this.k, this.x + this.k * x, this.y + this.k * y);\n },\n apply: function(point) {\n return [point[0] * this.k + this.x, point[1] * this.k + this.y];\n },\n applyX: function(x) {\n return x * this.k + this.x;\n },\n applyY: function(y) {\n return y * this.k + this.y;\n },\n invert: function(location) {\n return [(location[0] - this.x) / this.k, (location[1] - this.y) / this.k];\n },\n invertX: function(x) {\n return (x - this.x) / this.k;\n },\n invertY: function(y) {\n return (y - this.y) / this.k;\n },\n rescaleX: function(x) {\n return x.copy().domain(x.range().map(this.invertX, this).map(x.invert, x));\n },\n rescaleY: function(y) {\n return y.copy().domain(y.range().map(this.invertY, this).map(y.invert, y));\n },\n toString: function() {\n return \"translate(\" + this.x + \",\" + this.y + \") scale(\" + this.k + \")\";\n }\n};\n\nexport var identity = new Transform(1, 0, 0);\n\ntransform.prototype = Transform.prototype;\n\nexport default function transform(node) {\n return node.__zoom || identity;\n}\n","import {event} from \"d3-selection\";\n\nexport function nopropagation() {\n event.stopImmediatePropagation();\n}\n\nexport default function() {\n event.preventDefault();\n event.stopImmediatePropagation();\n}\n","import {dispatch} from \"d3-dispatch\";\nimport {dragDisable, dragEnable} from \"d3-drag\";\nimport {interpolateZoom} from \"d3-interpolate\";\nimport {event, customEvent, select, mouse, touch} from \"d3-selection\";\nimport {interrupt} from \"d3-transition\";\nimport constant from \"./constant\";\nimport ZoomEvent from \"./event\";\nimport {Transform, identity} from \"./transform\";\nimport noevent, {nopropagation} from \"./noevent\";\n\n// Ignore right-click, since that should open the context menu.\nfunction defaultFilter() {\n return !event.button;\n}\n\nfunction defaultExtent() {\n var e = this, w, h;\n if (e instanceof SVGElement) {\n e = e.ownerSVGElement || e;\n w = e.width.baseVal.value;\n h = e.height.baseVal.value;\n } else {\n w = e.clientWidth;\n h = e.clientHeight;\n }\n return [[0, 0], [w, h]];\n}\n\nfunction defaultTransform() {\n return this.__zoom || identity;\n}\n\nfunction defaultWheelDelta() {\n return -event.deltaY * (event.deltaMode ? 120 : 1) / 500;\n}\n\nfunction defaultTouchable() {\n return \"ontouchstart\" in this;\n}\n\nfunction defaultConstrain(transform, extent, translateExtent) {\n var dx0 = transform.invertX(extent[0][0]) - translateExtent[0][0],\n dx1 = transform.invertX(extent[1][0]) - translateExtent[1][0],\n dy0 = transform.invertY(extent[0][1]) - translateExtent[0][1],\n dy1 = transform.invertY(extent[1][1]) - translateExtent[1][1];\n return transform.translate(\n dx1 > dx0 ? (dx0 + dx1) / 2 : Math.min(0, dx0) || Math.max(0, dx1),\n dy1 > dy0 ? (dy0 + dy1) / 2 : Math.min(0, dy0) || Math.max(0, dy1)\n );\n}\n\nexport default function() {\n var filter = defaultFilter,\n extent = defaultExtent,\n constrain = defaultConstrain,\n wheelDelta = defaultWheelDelta,\n touchable = defaultTouchable,\n scaleExtent = [0, Infinity],\n translateExtent = [[-Infinity, -Infinity], [Infinity, Infinity]],\n duration = 250,\n interpolate = interpolateZoom,\n gestures = [],\n listeners = dispatch(\"start\", \"zoom\", \"end\"),\n touchstarting,\n touchending,\n touchDelay = 500,\n wheelDelay = 150,\n clickDistance2 = 0;\n\n function zoom(selection) {\n selection\n .property(\"__zoom\", defaultTransform)\n .on(\"wheel.zoom\", wheeled)\n .on(\"mousedown.zoom\", mousedowned)\n .on(\"dblclick.zoom\", dblclicked)\n .filter(touchable)\n .on(\"touchstart.zoom\", touchstarted)\n .on(\"touchmove.zoom\", touchmoved)\n .on(\"touchend.zoom touchcancel.zoom\", touchended)\n .style(\"touch-action\", \"none\")\n .style(\"-webkit-tap-highlight-color\", \"rgba(0,0,0,0)\");\n }\n\n zoom.transform = function(collection, transform) {\n var selection = collection.selection ? collection.selection() : collection;\n selection.property(\"__zoom\", defaultTransform);\n if (collection !== selection) {\n schedule(collection, transform);\n } else {\n selection.interrupt().each(function() {\n gesture(this, arguments)\n .start()\n .zoom(null, typeof transform === \"function\" ? transform.apply(this, arguments) : transform)\n .end();\n });\n }\n };\n\n zoom.scaleBy = function(selection, k) {\n zoom.scaleTo(selection, function() {\n var k0 = this.__zoom.k,\n k1 = typeof k === \"function\" ? k.apply(this, arguments) : k;\n return k0 * k1;\n });\n };\n\n zoom.scaleTo = function(selection, k) {\n zoom.transform(selection, function() {\n var e = extent.apply(this, arguments),\n t0 = this.__zoom,\n p0 = centroid(e),\n p1 = t0.invert(p0),\n k1 = typeof k === \"function\" ? k.apply(this, arguments) : k;\n return constrain(translate(scale(t0, k1), p0, p1), e, translateExtent);\n });\n };\n\n zoom.translateBy = function(selection, x, y) {\n zoom.transform(selection, function() {\n return constrain(this.__zoom.translate(\n typeof x === \"function\" ? x.apply(this, arguments) : x,\n typeof y === \"function\" ? y.apply(this, arguments) : y\n ), extent.apply(this, arguments), translateExtent);\n });\n };\n\n zoom.translateTo = function(selection, x, y) {\n zoom.transform(selection, function() {\n var e = extent.apply(this, arguments),\n t = this.__zoom,\n p = centroid(e);\n return constrain(identity.translate(p[0], p[1]).scale(t.k).translate(\n typeof x === \"function\" ? -x.apply(this, arguments) : -x,\n typeof y === \"function\" ? -y.apply(this, arguments) : -y\n ), e, translateExtent);\n });\n };\n\n function scale(transform, k) {\n k = Math.max(scaleExtent[0], Math.min(scaleExtent[1], k));\n return k === transform.k ? transform : new Transform(k, transform.x, transform.y);\n }\n\n function translate(transform, p0, p1) {\n var x = p0[0] - p1[0] * transform.k, y = p0[1] - p1[1] * transform.k;\n return x === transform.x && y === transform.y ? transform : new Transform(transform.k, x, y);\n }\n\n function centroid(extent) {\n return [(+extent[0][0] + +extent[1][0]) / 2, (+extent[0][1] + +extent[1][1]) / 2];\n }\n\n function schedule(transition, transform, center) {\n transition\n .on(\"start.zoom\", function() { gesture(this, arguments).start(); })\n .on(\"interrupt.zoom end.zoom\", function() { gesture(this, arguments).end(); })\n .tween(\"zoom\", function() {\n var that = this,\n args = arguments,\n g = gesture(that, args),\n e = extent.apply(that, args),\n p = center || centroid(e),\n w = Math.max(e[1][0] - e[0][0], e[1][1] - e[0][1]),\n a = that.__zoom,\n b = typeof transform === \"function\" ? transform.apply(that, args) : transform,\n i = interpolate(a.invert(p).concat(w / a.k), b.invert(p).concat(w / b.k));\n return function(t) {\n if (t === 1) t = b; // Avoid rounding error on end.\n else { var l = i(t), k = w / l[2]; t = new Transform(k, p[0] - l[0] * k, p[1] - l[1] * k); }\n g.zoom(null, t);\n };\n });\n }\n\n function gesture(that, args) {\n for (var i = 0, n = gestures.length, g; i < n; ++i) {\n if ((g = gestures[i]).that === that) {\n return g;\n }\n }\n return new Gesture(that, args);\n }\n\n function Gesture(that, args) {\n this.that = that;\n this.args = args;\n this.index = -1;\n this.active = 0;\n this.extent = extent.apply(that, args);\n }\n\n Gesture.prototype = {\n start: function() {\n if (++this.active === 1) {\n this.index = gestures.push(this) - 1;\n this.emit(\"start\");\n }\n return this;\n },\n zoom: function(key, transform) {\n if (this.mouse && key !== \"mouse\") this.mouse[1] = transform.invert(this.mouse[0]);\n if (this.touch0 && key !== \"touch\") this.touch0[1] = transform.invert(this.touch0[0]);\n if (this.touch1 && key !== \"touch\") this.touch1[1] = transform.invert(this.touch1[0]);\n this.that.__zoom = transform;\n this.emit(\"zoom\");\n return this;\n },\n end: function() {\n if (--this.active === 0) {\n gestures.splice(this.index, 1);\n this.index = -1;\n this.emit(\"end\");\n }\n return this;\n },\n emit: function(type) {\n customEvent(new ZoomEvent(zoom, type, this.that.__zoom), listeners.apply, listeners, [type, this.that, this.args]);\n }\n };\n\n function wheeled() {\n if (!filter.apply(this, arguments)) return;\n var g = gesture(this, arguments),\n t = this.__zoom,\n k = Math.max(scaleExtent[0], Math.min(scaleExtent[1], t.k * Math.pow(2, wheelDelta.apply(this, arguments)))),\n p = mouse(this);\n\n // If the mouse is in the same location as before, reuse it.\n // If there were recent wheel events, reset the wheel idle timeout.\n if (g.wheel) {\n if (g.mouse[0][0] !== p[0] || g.mouse[0][1] !== p[1]) {\n g.mouse[1] = t.invert(g.mouse[0] = p);\n }\n clearTimeout(g.wheel);\n }\n\n // If this wheel event won’t trigger a transform change, ignore it.\n else if (t.k === k) return;\n\n // Otherwise, capture the mouse point and location at the start.\n else {\n g.mouse = [p, t.invert(p)];\n interrupt(this);\n g.start();\n }\n\n noevent();\n g.wheel = setTimeout(wheelidled, wheelDelay);\n g.zoom(\"mouse\", constrain(translate(scale(t, k), g.mouse[0], g.mouse[1]), g.extent, translateExtent));\n\n function wheelidled() {\n g.wheel = null;\n g.end();\n }\n }\n\n function mousedowned() {\n if (touchending || !filter.apply(this, arguments)) return;\n var g = gesture(this, arguments),\n v = select(event.view).on(\"mousemove.zoom\", mousemoved, true).on(\"mouseup.zoom\", mouseupped, true),\n p = mouse(this),\n x0 = event.clientX,\n y0 = event.clientY;\n\n dragDisable(event.view);\n nopropagation();\n g.mouse = [p, this.__zoom.invert(p)];\n interrupt(this);\n g.start();\n\n function mousemoved() {\n noevent();\n if (!g.moved) {\n var dx = event.clientX - x0, dy = event.clientY - y0;\n g.moved = dx * dx + dy * dy > clickDistance2;\n }\n g.zoom(\"mouse\", constrain(translate(g.that.__zoom, g.mouse[0] = mouse(g.that), g.mouse[1]), g.extent, translateExtent));\n }\n\n function mouseupped() {\n v.on(\"mousemove.zoom mouseup.zoom\", null);\n dragEnable(event.view, g.moved);\n noevent();\n g.end();\n }\n }\n\n function dblclicked() {\n if (!filter.apply(this, arguments)) return;\n var t0 = this.__zoom,\n p0 = mouse(this),\n p1 = t0.invert(p0),\n k1 = t0.k * (event.shiftKey ? 0.5 : 2),\n t1 = constrain(translate(scale(t0, k1), p0, p1), extent.apply(this, arguments), translateExtent);\n\n noevent();\n if (duration > 0) select(this).transition().duration(duration).call(schedule, t1, p0);\n else select(this).call(zoom.transform, t1);\n }\n\n function touchstarted() {\n if (!filter.apply(this, arguments)) return;\n var g = gesture(this, arguments),\n touches = event.changedTouches,\n started,\n n = touches.length, i, t, p;\n\n nopropagation();\n for (i = 0; i < n; ++i) {\n t = touches[i], p = touch(this, touches, t.identifier);\n p = [p, this.__zoom.invert(p), t.identifier];\n if (!g.touch0) g.touch0 = p, started = true;\n else if (!g.touch1) g.touch1 = p;\n }\n\n // If this is a dbltap, reroute to the (optional) dblclick.zoom handler.\n if (touchstarting) {\n touchstarting = clearTimeout(touchstarting);\n if (!g.touch1) {\n g.end();\n p = select(this).on(\"dblclick.zoom\");\n if (p) p.apply(this, arguments);\n return;\n }\n }\n\n if (started) {\n touchstarting = setTimeout(function() { touchstarting = null; }, touchDelay);\n interrupt(this);\n g.start();\n }\n }\n\n function touchmoved() {\n var g = gesture(this, arguments),\n touches = event.changedTouches,\n n = touches.length, i, t, p, l;\n\n noevent();\n if (touchstarting) touchstarting = clearTimeout(touchstarting);\n for (i = 0; i < n; ++i) {\n t = touches[i], p = touch(this, touches, t.identifier);\n if (g.touch0 && g.touch0[2] === t.identifier) g.touch0[0] = p;\n else if (g.touch1 && g.touch1[2] === t.identifier) g.touch1[0] = p;\n }\n t = g.that.__zoom;\n if (g.touch1) {\n var p0 = g.touch0[0], l0 = g.touch0[1],\n p1 = g.touch1[0], l1 = g.touch1[1],\n dp = (dp = p1[0] - p0[0]) * dp + (dp = p1[1] - p0[1]) * dp,\n dl = (dl = l1[0] - l0[0]) * dl + (dl = l1[1] - l0[1]) * dl;\n t = scale(t, Math.sqrt(dp / dl));\n p = [(p0[0] + p1[0]) / 2, (p0[1] + p1[1]) / 2];\n l = [(l0[0] + l1[0]) / 2, (l0[1] + l1[1]) / 2];\n }\n else if (g.touch0) p = g.touch0[0], l = g.touch0[1];\n else return;\n g.zoom(\"touch\", constrain(translate(t, p, l), g.extent, translateExtent));\n }\n\n function touchended() {\n var g = gesture(this, arguments),\n touches = event.changedTouches,\n n = touches.length, i, t;\n\n nopropagation();\n if (touchending) clearTimeout(touchending);\n touchending = setTimeout(function() { touchending = null; }, touchDelay);\n for (i = 0; i < n; ++i) {\n t = touches[i];\n if (g.touch0 && g.touch0[2] === t.identifier) delete g.touch0;\n else if (g.touch1 && g.touch1[2] === t.identifier) delete g.touch1;\n }\n if (g.touch1 && !g.touch0) g.touch0 = g.touch1, delete g.touch1;\n if (g.touch0) g.touch0[1] = this.__zoom.invert(g.touch0[0]);\n else g.end();\n }\n\n zoom.wheelDelta = function(_) {\n return arguments.length ? (wheelDelta = typeof _ === \"function\" ? _ : constant(+_), zoom) : wheelDelta;\n };\n\n zoom.filter = function(_) {\n return arguments.length ? (filter = typeof _ === \"function\" ? _ : constant(!!_), zoom) : filter;\n };\n\n zoom.touchable = function(_) {\n return arguments.length ? (touchable = typeof _ === \"function\" ? _ : constant(!!_), zoom) : touchable;\n };\n\n zoom.extent = function(_) {\n return arguments.length ? (extent = typeof _ === \"function\" ? _ : constant([[+_[0][0], +_[0][1]], [+_[1][0], +_[1][1]]]), zoom) : extent;\n };\n\n zoom.scaleExtent = function(_) {\n return arguments.length ? (scaleExtent[0] = +_[0], scaleExtent[1] = +_[1], zoom) : [scaleExtent[0], scaleExtent[1]];\n };\n\n zoom.translateExtent = function(_) {\n return arguments.length ? (translateExtent[0][0] = +_[0][0], translateExtent[1][0] = +_[1][0], translateExtent[0][1] = +_[0][1], translateExtent[1][1] = +_[1][1], zoom) : [[translateExtent[0][0], translateExtent[0][1]], [translateExtent[1][0], translateExtent[1][1]]];\n };\n\n zoom.constrain = function(_) {\n return arguments.length ? (constrain = _, zoom) : constrain;\n };\n\n zoom.duration = function(_) {\n return arguments.length ? (duration = +_, zoom) : duration;\n };\n\n zoom.interpolate = function(_) {\n return arguments.length ? (interpolate = _, zoom) : interpolate;\n };\n\n zoom.on = function() {\n var value = listeners.on.apply(listeners, arguments);\n return value === listeners ? zoom : value;\n };\n\n zoom.clickDistance = function(_) {\n return arguments.length ? (clickDistance2 = (_ = +_) * _, zoom) : Math.sqrt(clickDistance2);\n };\n\n return zoom;\n}\n","export default function ZoomEvent(target, type, transform) {\n this.target = target;\n this.type = type;\n this.transform = transform;\n}\n","export function testObject(input) {\n if (input !== null && typeof input.getTime === 'function' && !isNaN(input.getTime())) {\n return true;\n }\n return false;\n}\n\nexport function testString(input) {\n const ISO_8601 = /^\\d{4}-\\d\\d-\\d\\dT\\d\\d:\\d\\d:\\d\\d(\\.\\d+)?(([+-]\\d\\d:\\d\\d)|Z)?$/i;\n return ISO_8601.test(input);\n}\n\nexport default function (input) {\n if (typeof input === 'object') {\n return testObject(input);\n } else if (typeof input === 'string') {\n return testString(input);\n }\n return false;\n}\n","/**\n * Strip html tags from string\n *\n * @param {string} string The string to strip\n * @return {string}\n * @public\n */\n\nexport function stripHtmlTags(inputString) {\n return inputString.replace(/(<([^>]+)>)/ig, '');\n}\n","export default function (len) {\n const list = [];\n for (let i = 0; i < len; i++) {\n list.push(null);\n }\n return list;\n}\n","import createNullList from '../utils/create-null-list';\nimport { each } from '../../utils/each';\n\nexport function appendColumn(str, input) {\n const self = this;\n const args = Array.prototype.slice.call(arguments, 2);\n const label = (str !== undefined) ? str : null;\n\n if (typeof input === 'function') {\n self.matrix[0].push(label);\n each(self.matrix, function(row, i) {\n let cell;\n if (i > 0) {\n cell = input.call(self, row, i);\n if (typeof cell === 'undefined') {\n cell = null;\n }\n self.matrix[i].push(cell);\n }\n });\n }\n\n else if (!input || input instanceof Array) {\n input = input || [];\n\n if (input.length <= self.matrix.length - 1) {\n input = input.concat(createNullList(self.matrix.length - 1 - input.length));\n }\n else {\n // If this new column is longer than existing columns,\n // we need to update the rest to match ...\n each(input, function(value, i){\n if (self.matrix.length -1 < input.length) {\n appendRow.call(self, String(self.matrix.length));\n }\n });\n }\n\n self.matrix[0].push(label);\n each(input, function(value, i){\n self.matrix[i+1][self.matrix[0].length-1] = value;\n });\n\n }\n\n return self;\n}\n\nexport function appendRow(str, input) {\n const self = this;\n const args = Array.prototype.slice.call(arguments, 2);\n const label = (str !== undefined) ? str : null;\n const newRow = [];\n\n newRow.push(label);\n\n if (typeof input === 'function') {\n each(self.matrix[0], function(label, i){\n let col;\n let cell;\n if (i > 0) {\n col = self.selectColumn(i);\n cell = input.call(self, col, i);\n if (typeof cell === 'undefined') {\n cell = null;\n }\n newRow.push(cell);\n }\n });\n self.matrix.push(newRow);\n }\n\n else if (!input || input instanceof Array) {\n input = input || [];\n\n if (input.length <= self.matrix[0].length - 1) {\n input = input.concat( createNullList( self.matrix[0].length - 1 - input.length ) );\n }\n else {\n each(input, function(value, i){\n if (self.matrix[0].length -1 < input.length) {\n appendColumn.call(self, String( self.matrix[0].length));\n }\n });\n }\n\n self.matrix.push(newRow.concat(input));\n }\n\n return self;\n}\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var zhTw = moment.defineLocale('zh-tw', {\n months : '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'),\n monthsShort : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n weekdays : '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n weekdaysShort : '週日_週一_週二_週三_週四_週五_週六'.split('_'),\n weekdaysMin : '日_一_二_三_四_五_六'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY/MM/DD',\n LL : 'YYYY年M月D日',\n LLL : 'YYYY年M月D日 HH:mm',\n LLLL : 'YYYY年M月D日dddd HH:mm',\n l : 'YYYY/M/D',\n ll : 'YYYY年M月D日',\n lll : 'YYYY年M月D日 HH:mm',\n llll : 'YYYY年M月D日dddd HH:mm'\n },\n meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n return hour;\n } else if (meridiem === '中午') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === '下午' || meridiem === '晚上') {\n return hour + 12;\n }\n },\n meridiem : function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n if (hm < 600) {\n return '凌晨';\n } else if (hm < 900) {\n return '早上';\n } else if (hm < 1130) {\n return '上午';\n } else if (hm < 1230) {\n return '中午';\n } else if (hm < 1800) {\n return '下午';\n } else {\n return '晚上';\n }\n },\n calendar : {\n sameDay : '[今天] LT',\n nextDay : '[明天] LT',\n nextWeek : '[下]dddd LT',\n lastDay : '[昨天] LT',\n lastWeek : '[上]dddd LT',\n sameElse : 'L'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(日|月|週)/,\n ordinal : function (number, period) {\n switch (period) {\n case 'd' :\n case 'D' :\n case 'DDD' :\n return number + '日';\n case 'M' :\n return number + '月';\n case 'w' :\n case 'W' :\n return number + '週';\n default :\n return number;\n }\n },\n relativeTime : {\n future : '%s內',\n past : '%s前',\n s : '幾秒',\n ss : '%d 秒',\n m : '1 分鐘',\n mm : '%d 分鐘',\n h : '1 小時',\n hh : '%d 小時',\n d : '1 天',\n dd : '%d 天',\n M : '1 個月',\n MM : '%d 個月',\n y : '1 年',\n yy : '%d 年'\n }\n });\n\n return zhTw;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var zhHk = moment.defineLocale('zh-hk', {\n months : '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'),\n monthsShort : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n weekdays : '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n weekdaysShort : '週日_週一_週二_週三_週四_週五_週六'.split('_'),\n weekdaysMin : '日_一_二_三_四_五_六'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY/MM/DD',\n LL : 'YYYY年M月D日',\n LLL : 'YYYY年M月D日 HH:mm',\n LLLL : 'YYYY年M月D日dddd HH:mm',\n l : 'YYYY/M/D',\n ll : 'YYYY年M月D日',\n lll : 'YYYY年M月D日 HH:mm',\n llll : 'YYYY年M月D日dddd HH:mm'\n },\n meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n return hour;\n } else if (meridiem === '中午') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === '下午' || meridiem === '晚上') {\n return hour + 12;\n }\n },\n meridiem : function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n if (hm < 600) {\n return '凌晨';\n } else if (hm < 900) {\n return '早上';\n } else if (hm < 1130) {\n return '上午';\n } else if (hm < 1230) {\n return '中午';\n } else if (hm < 1800) {\n return '下午';\n } else {\n return '晚上';\n }\n },\n calendar : {\n sameDay : '[今天]LT',\n nextDay : '[明天]LT',\n nextWeek : '[下]ddddLT',\n lastDay : '[昨天]LT',\n lastWeek : '[上]ddddLT',\n sameElse : 'L'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(日|月|週)/,\n ordinal : function (number, period) {\n switch (period) {\n case 'd' :\n case 'D' :\n case 'DDD' :\n return number + '日';\n case 'M' :\n return number + '月';\n case 'w' :\n case 'W' :\n return number + '週';\n default :\n return number;\n }\n },\n relativeTime : {\n future : '%s內',\n past : '%s前',\n s : '幾秒',\n ss : '%d 秒',\n m : '1 分鐘',\n mm : '%d 分鐘',\n h : '1 小時',\n hh : '%d 小時',\n d : '1 天',\n dd : '%d 天',\n M : '1 個月',\n MM : '%d 個月',\n y : '1 年',\n yy : '%d 年'\n }\n });\n\n return zhHk;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var zhCn = moment.defineLocale('zh-cn', {\n months : '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'),\n monthsShort : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n weekdays : '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n weekdaysShort : '周日_周一_周二_周三_周四_周五_周六'.split('_'),\n weekdaysMin : '日_一_二_三_四_五_六'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY/MM/DD',\n LL : 'YYYY年M月D日',\n LLL : 'YYYY年M月D日Ah点mm分',\n LLLL : 'YYYY年M月D日ddddAh点mm分',\n l : 'YYYY/M/D',\n ll : 'YYYY年M月D日',\n lll : 'YYYY年M月D日 HH:mm',\n llll : 'YYYY年M月D日dddd HH:mm'\n },\n meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === '凌晨' || meridiem === '早上' ||\n meridiem === '上午') {\n return hour;\n } else if (meridiem === '下午' || meridiem === '晚上') {\n return hour + 12;\n } else {\n // '中午'\n return hour >= 11 ? hour : hour + 12;\n }\n },\n meridiem : function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n if (hm < 600) {\n return '凌晨';\n } else if (hm < 900) {\n return '早上';\n } else if (hm < 1130) {\n return '上午';\n } else if (hm < 1230) {\n return '中午';\n } else if (hm < 1800) {\n return '下午';\n } else {\n return '晚上';\n }\n },\n calendar : {\n sameDay : '[今天]LT',\n nextDay : '[明天]LT',\n nextWeek : '[下]ddddLT',\n lastDay : '[昨天]LT',\n lastWeek : '[上]ddddLT',\n sameElse : 'L'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(日|月|周)/,\n ordinal : function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '日';\n case 'M':\n return number + '月';\n case 'w':\n case 'W':\n return number + '周';\n default:\n return number;\n }\n },\n relativeTime : {\n future : '%s内',\n past : '%s前',\n s : '几秒',\n ss : '%d 秒',\n m : '1 分钟',\n mm : '%d 分钟',\n h : '1 小时',\n hh : '%d 小时',\n d : '1 天',\n dd : '%d 天',\n M : '1 个月',\n MM : '%d 个月',\n y : '1 年',\n yy : '%d 年'\n },\n week : {\n // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return zhCn;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var yo = moment.defineLocale('yo', {\n months : 'Sẹ́rẹ́_Èrèlè_Ẹrẹ̀nà_Ìgbé_Èbibi_Òkùdu_Agẹmo_Ògún_Owewe_Ọ̀wàrà_Bélú_Ọ̀pẹ̀̀'.split('_'),\n monthsShort : 'Sẹ́r_Èrl_Ẹrn_Ìgb_Èbi_Òkù_Agẹ_Ògú_Owe_Ọ̀wà_Bél_Ọ̀pẹ̀̀'.split('_'),\n weekdays : 'Àìkú_Ajé_Ìsẹ́gun_Ọjọ́rú_Ọjọ́bọ_Ẹtì_Àbámẹ́ta'.split('_'),\n weekdaysShort : 'Àìk_Ajé_Ìsẹ́_Ọjr_Ọjb_Ẹtì_Àbá'.split('_'),\n weekdaysMin : 'Àì_Aj_Ìs_Ọr_Ọb_Ẹt_Àb'.split('_'),\n longDateFormat : {\n LT : 'h:mm A',\n LTS : 'h:mm:ss A',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY h:mm A',\n LLLL : 'dddd, D MMMM YYYY h:mm A'\n },\n calendar : {\n sameDay : '[Ònì ni] LT',\n nextDay : '[Ọ̀la ni] LT',\n nextWeek : 'dddd [Ọsẹ̀ tón\\'bọ] [ni] LT',\n lastDay : '[Àna ni] LT',\n lastWeek : 'dddd [Ọsẹ̀ tólọ́] [ni] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'ní %s',\n past : '%s kọjá',\n s : 'ìsẹjú aayá die',\n ss :'aayá %d',\n m : 'ìsẹjú kan',\n mm : 'ìsẹjú %d',\n h : 'wákati kan',\n hh : 'wákati %d',\n d : 'ọjọ́ kan',\n dd : 'ọjọ́ %d',\n M : 'osù kan',\n MM : 'osù %d',\n y : 'ọdún kan',\n yy : 'ọdún %d'\n },\n dayOfMonthOrdinalParse : /ọjọ́\\s\\d{1,2}/,\n ordinal : 'ọjọ́ %d',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return yo;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var xPseudo = moment.defineLocale('x-pseudo', {\n months : 'J~áñúá~rý_F~ébrú~árý_~Márc~h_Áp~ríl_~Máý_~Júñé~_Júl~ý_Áú~gúst~_Sép~témb~ér_Ó~ctób~ér_Ñ~óvém~bér_~Décé~mbér'.split('_'),\n monthsShort : 'J~áñ_~Féb_~Már_~Ápr_~Máý_~Júñ_~Júl_~Áúg_~Sép_~Óct_~Ñóv_~Déc'.split('_'),\n monthsParseExact : true,\n weekdays : 'S~úñdá~ý_Mó~ñdáý~_Túé~sdáý~_Wéd~ñésd~áý_T~húrs~dáý_~Fríd~áý_S~átúr~dáý'.split('_'),\n weekdaysShort : 'S~úñ_~Móñ_~Túé_~Wéd_~Thú_~Frí_~Sát'.split('_'),\n weekdaysMin : 'S~ú_Mó~_Tú_~Wé_T~h_Fr~_Sá'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[T~ódá~ý át] LT',\n nextDay : '[T~ómó~rró~w át] LT',\n nextWeek : 'dddd [át] LT',\n lastDay : '[Ý~ést~érdá~ý át] LT',\n lastWeek : '[L~ást] dddd [át] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'í~ñ %s',\n past : '%s á~gó',\n s : 'á ~féw ~sécó~ñds',\n ss : '%d s~écóñ~ds',\n m : 'á ~míñ~úté',\n mm : '%d m~íñú~tés',\n h : 'á~ñ hó~úr',\n hh : '%d h~óúrs',\n d : 'á ~dáý',\n dd : '%d d~áýs',\n M : 'á ~móñ~th',\n MM : '%d m~óñt~hs',\n y : 'á ~ýéár',\n yy : '%d ý~éárs'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(th|st|nd|rd)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return xPseudo;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var vi = moment.defineLocale('vi', {\n months : 'tháng 1_tháng 2_tháng 3_tháng 4_tháng 5_tháng 6_tháng 7_tháng 8_tháng 9_tháng 10_tháng 11_tháng 12'.split('_'),\n monthsShort : 'Th01_Th02_Th03_Th04_Th05_Th06_Th07_Th08_Th09_Th10_Th11_Th12'.split('_'),\n monthsParseExact : true,\n weekdays : 'chủ nhật_thứ hai_thứ ba_thứ tư_thứ năm_thứ sáu_thứ bảy'.split('_'),\n weekdaysShort : 'CN_T2_T3_T4_T5_T6_T7'.split('_'),\n weekdaysMin : 'CN_T2_T3_T4_T5_T6_T7'.split('_'),\n weekdaysParseExact : true,\n meridiemParse: /sa|ch/i,\n isPM : function (input) {\n return /^ch$/i.test(input);\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours < 12) {\n return isLower ? 'sa' : 'SA';\n } else {\n return isLower ? 'ch' : 'CH';\n }\n },\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM [năm] YYYY',\n LLL : 'D MMMM [năm] YYYY HH:mm',\n LLLL : 'dddd, D MMMM [năm] YYYY HH:mm',\n l : 'DD/M/YYYY',\n ll : 'D MMM YYYY',\n lll : 'D MMM YYYY HH:mm',\n llll : 'ddd, D MMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[Hôm nay lúc] LT',\n nextDay: '[Ngày mai lúc] LT',\n nextWeek: 'dddd [tuần tới lúc] LT',\n lastDay: '[Hôm qua lúc] LT',\n lastWeek: 'dddd [tuần rồi lúc] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : '%s tới',\n past : '%s trước',\n s : 'vài giây',\n ss : '%d giây' ,\n m : 'một phút',\n mm : '%d phút',\n h : 'một giờ',\n hh : '%d giờ',\n d : 'một ngày',\n dd : '%d ngày',\n M : 'một tháng',\n MM : '%d tháng',\n y : 'một năm',\n yy : '%d năm'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}/,\n ordinal : function (number) {\n return number;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return vi;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var uzLatn = moment.defineLocale('uz-latn', {\n months : 'Yanvar_Fevral_Mart_Aprel_May_Iyun_Iyul_Avgust_Sentabr_Oktabr_Noyabr_Dekabr'.split('_'),\n monthsShort : 'Yan_Fev_Mar_Apr_May_Iyun_Iyul_Avg_Sen_Okt_Noy_Dek'.split('_'),\n weekdays : 'Yakshanba_Dushanba_Seshanba_Chorshanba_Payshanba_Juma_Shanba'.split('_'),\n weekdaysShort : 'Yak_Dush_Sesh_Chor_Pay_Jum_Shan'.split('_'),\n weekdaysMin : 'Ya_Du_Se_Cho_Pa_Ju_Sha'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'D MMMM YYYY, dddd HH:mm'\n },\n calendar : {\n sameDay : '[Bugun soat] LT [da]',\n nextDay : '[Ertaga] LT [da]',\n nextWeek : 'dddd [kuni soat] LT [da]',\n lastDay : '[Kecha soat] LT [da]',\n lastWeek : '[O\\'tgan] dddd [kuni soat] LT [da]',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'Yaqin %s ichida',\n past : 'Bir necha %s oldin',\n s : 'soniya',\n ss : '%d soniya',\n m : 'bir daqiqa',\n mm : '%d daqiqa',\n h : 'bir soat',\n hh : '%d soat',\n d : 'bir kun',\n dd : '%d kun',\n M : 'bir oy',\n MM : '%d oy',\n y : 'bir yil',\n yy : '%d yil'\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return uzLatn;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var uz = moment.defineLocale('uz', {\n months : 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split('_'),\n monthsShort : 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'),\n weekdays : 'Якшанба_Душанба_Сешанба_Чоршанба_Пайшанба_Жума_Шанба'.split('_'),\n weekdaysShort : 'Якш_Душ_Сеш_Чор_Пай_Жум_Шан'.split('_'),\n weekdaysMin : 'Як_Ду_Се_Чо_Па_Жу_Ша'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'D MMMM YYYY, dddd HH:mm'\n },\n calendar : {\n sameDay : '[Бугун соат] LT [да]',\n nextDay : '[Эртага] LT [да]',\n nextWeek : 'dddd [куни соат] LT [да]',\n lastDay : '[Кеча соат] LT [да]',\n lastWeek : '[Утган] dddd [куни соат] LT [да]',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'Якин %s ичида',\n past : 'Бир неча %s олдин',\n s : 'фурсат',\n ss : '%d фурсат',\n m : 'бир дакика',\n mm : '%d дакика',\n h : 'бир соат',\n hh : '%d соат',\n d : 'бир кун',\n dd : '%d кун',\n M : 'бир ой',\n MM : '%d ой',\n y : 'бир йил',\n yy : '%d йил'\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return uz;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var months = [\n 'جنوری',\n 'فروری',\n 'مارچ',\n 'اپریل',\n 'مئی',\n 'جون',\n 'جولائی',\n 'اگست',\n 'ستمبر',\n 'اکتوبر',\n 'نومبر',\n 'دسمبر'\n ];\n var days = [\n 'اتوار',\n 'پیر',\n 'منگل',\n 'بدھ',\n 'جمعرات',\n 'جمعہ',\n 'ہفتہ'\n ];\n\n var ur = moment.defineLocale('ur', {\n months : months,\n monthsShort : months,\n weekdays : days,\n weekdaysShort : days,\n weekdaysMin : days,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd، D MMMM YYYY HH:mm'\n },\n meridiemParse: /صبح|شام/,\n isPM : function (input) {\n return 'شام' === input;\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'صبح';\n }\n return 'شام';\n },\n calendar : {\n sameDay : '[آج بوقت] LT',\n nextDay : '[کل بوقت] LT',\n nextWeek : 'dddd [بوقت] LT',\n lastDay : '[گذشتہ روز بوقت] LT',\n lastWeek : '[گذشتہ] dddd [بوقت] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s بعد',\n past : '%s قبل',\n s : 'چند سیکنڈ',\n ss : '%d سیکنڈ',\n m : 'ایک منٹ',\n mm : '%d منٹ',\n h : 'ایک گھنٹہ',\n hh : '%d گھنٹے',\n d : 'ایک دن',\n dd : '%d دن',\n M : 'ایک ماہ',\n MM : '%d ماہ',\n y : 'ایک سال',\n yy : '%d سال'\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/,/g, '،');\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return ur;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function plural(word, num) {\n var forms = word.split('_');\n return num % 10 === 1 && num % 100 !== 11 ? forms[0] : (num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) ? forms[1] : forms[2]);\n }\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n var format = {\n 'ss': withoutSuffix ? 'секунда_секунди_секунд' : 'секунду_секунди_секунд',\n 'mm': withoutSuffix ? 'хвилина_хвилини_хвилин' : 'хвилину_хвилини_хвилин',\n 'hh': withoutSuffix ? 'година_години_годин' : 'годину_години_годин',\n 'dd': 'день_дні_днів',\n 'MM': 'місяць_місяці_місяців',\n 'yy': 'рік_роки_років'\n };\n if (key === 'm') {\n return withoutSuffix ? 'хвилина' : 'хвилину';\n }\n else if (key === 'h') {\n return withoutSuffix ? 'година' : 'годину';\n }\n else {\n return number + ' ' + plural(format[key], +number);\n }\n }\n function weekdaysCaseReplace(m, format) {\n var weekdays = {\n 'nominative': 'неділя_понеділок_вівторок_середа_четвер_п’ятниця_субота'.split('_'),\n 'accusative': 'неділю_понеділок_вівторок_середу_четвер_п’ятницю_суботу'.split('_'),\n 'genitive': 'неділі_понеділка_вівторка_середи_четверга_п’ятниці_суботи'.split('_')\n };\n\n if (!m) {\n return weekdays['nominative'];\n }\n\n var nounCase = (/(\\[[ВвУу]\\]) ?dddd/).test(format) ?\n 'accusative' :\n ((/\\[?(?:минулої|наступної)? ?\\] ?dddd/).test(format) ?\n 'genitive' :\n 'nominative');\n return weekdays[nounCase][m.day()];\n }\n function processHoursFunction(str) {\n return function () {\n return str + 'о' + (this.hours() === 11 ? 'б' : '') + '] LT';\n };\n }\n\n var uk = moment.defineLocale('uk', {\n months : {\n 'format': 'січня_лютого_березня_квітня_травня_червня_липня_серпня_вересня_жовтня_листопада_грудня'.split('_'),\n 'standalone': 'січень_лютий_березень_квітень_травень_червень_липень_серпень_вересень_жовтень_листопад_грудень'.split('_')\n },\n monthsShort : 'січ_лют_бер_квіт_трав_черв_лип_серп_вер_жовт_лист_груд'.split('_'),\n weekdays : weekdaysCaseReplace,\n weekdaysShort : 'нд_пн_вт_ср_чт_пт_сб'.split('_'),\n weekdaysMin : 'нд_пн_вт_ср_чт_пт_сб'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY р.',\n LLL : 'D MMMM YYYY р., HH:mm',\n LLLL : 'dddd, D MMMM YYYY р., HH:mm'\n },\n calendar : {\n sameDay: processHoursFunction('[Сьогодні '),\n nextDay: processHoursFunction('[Завтра '),\n lastDay: processHoursFunction('[Вчора '),\n nextWeek: processHoursFunction('[У] dddd ['),\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n case 3:\n case 5:\n case 6:\n return processHoursFunction('[Минулої] dddd [').call(this);\n case 1:\n case 2:\n case 4:\n return processHoursFunction('[Минулого] dddd [').call(this);\n }\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : 'за %s',\n past : '%s тому',\n s : 'декілька секунд',\n ss : relativeTimeWithPlural,\n m : relativeTimeWithPlural,\n mm : relativeTimeWithPlural,\n h : 'годину',\n hh : relativeTimeWithPlural,\n d : 'день',\n dd : relativeTimeWithPlural,\n M : 'місяць',\n MM : relativeTimeWithPlural,\n y : 'рік',\n yy : relativeTimeWithPlural\n },\n // M. E.: those two are virtually unused but a user might want to implement them for his/her website for some reason\n meridiemParse: /ночі|ранку|дня|вечора/,\n isPM: function (input) {\n return /^(дня|вечора)$/.test(input);\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ночі';\n } else if (hour < 12) {\n return 'ранку';\n } else if (hour < 17) {\n return 'дня';\n } else {\n return 'вечора';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(й|го)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'M':\n case 'd':\n case 'DDD':\n case 'w':\n case 'W':\n return number + '-й';\n case 'D':\n return number + '-го';\n default:\n return number;\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return uk;\n\n})));\n","//! moment.js language configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var ugCn = moment.defineLocale('ug-cn', {\n months: 'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.split(\n '_'\n ),\n monthsShort: 'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.split(\n '_'\n ),\n weekdays: 'يەكشەنبە_دۈشەنبە_سەيشەنبە_چارشەنبە_پەيشەنبە_جۈمە_شەنبە'.split(\n '_'\n ),\n weekdaysShort: 'يە_دۈ_سە_چا_پە_جۈ_شە'.split('_'),\n weekdaysMin: 'يە_دۈ_سە_چا_پە_جۈ_شە'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: 'YYYY-يىلىM-ئاينىڭD-كۈنى',\n LLL: 'YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm',\n LLLL: 'dddd، YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm'\n },\n meridiemParse: /يېرىم كېچە|سەھەر|چۈشتىن بۇرۇن|چۈش|چۈشتىن كېيىن|كەچ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (\n meridiem === 'يېرىم كېچە' ||\n meridiem === 'سەھەر' ||\n meridiem === 'چۈشتىن بۇرۇن'\n ) {\n return hour;\n } else if (meridiem === 'چۈشتىن كېيىن' || meridiem === 'كەچ') {\n return hour + 12;\n } else {\n return hour >= 11 ? hour : hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n if (hm < 600) {\n return 'يېرىم كېچە';\n } else if (hm < 900) {\n return 'سەھەر';\n } else if (hm < 1130) {\n return 'چۈشتىن بۇرۇن';\n } else if (hm < 1230) {\n return 'چۈش';\n } else if (hm < 1800) {\n return 'چۈشتىن كېيىن';\n } else {\n return 'كەچ';\n }\n },\n calendar: {\n sameDay: '[بۈگۈن سائەت] LT',\n nextDay: '[ئەتە سائەت] LT',\n nextWeek: '[كېلەركى] dddd [سائەت] LT',\n lastDay: '[تۆنۈگۈن] LT',\n lastWeek: '[ئالدىنقى] dddd [سائەت] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s كېيىن',\n past: '%s بۇرۇن',\n s: 'نەچچە سېكونت',\n ss: '%d سېكونت',\n m: 'بىر مىنۇت',\n mm: '%d مىنۇت',\n h: 'بىر سائەت',\n hh: '%d سائەت',\n d: 'بىر كۈن',\n dd: '%d كۈن',\n M: 'بىر ئاي',\n MM: '%d ئاي',\n y: 'بىر يىل',\n yy: '%d يىل'\n },\n\n dayOfMonthOrdinalParse: /\\d{1,2}(-كۈنى|-ئاي|-ھەپتە)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '-كۈنى';\n case 'w':\n case 'W':\n return number + '-ھەپتە';\n default:\n return number;\n }\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/,/g, '،');\n },\n week: {\n // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效\n dow: 1, // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return ugCn;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var tzmLatn = moment.defineLocale('tzm-latn', {\n months : 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split('_'),\n monthsShort : 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split('_'),\n weekdays : 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),\n weekdaysShort : 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),\n weekdaysMin : 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[asdkh g] LT',\n nextDay: '[aska g] LT',\n nextWeek: 'dddd [g] LT',\n lastDay: '[assant g] LT',\n lastWeek: 'dddd [g] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'dadkh s yan %s',\n past : 'yan %s',\n s : 'imik',\n ss : '%d imik',\n m : 'minuḍ',\n mm : '%d minuḍ',\n h : 'saɛa',\n hh : '%d tassaɛin',\n d : 'ass',\n dd : '%d ossan',\n M : 'ayowr',\n MM : '%d iyyirn',\n y : 'asgas',\n yy : '%d isgasn'\n },\n week : {\n dow : 6, // Saturday is the first day of the week.\n doy : 12 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return tzmLatn;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var tzm = moment.defineLocale('tzm', {\n months : 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split('_'),\n monthsShort : 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split('_'),\n weekdays : 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),\n weekdaysShort : 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),\n weekdaysMin : 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS: 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[ⴰⵙⴷⵅ ⴴ] LT',\n nextDay: '[ⴰⵙⴽⴰ ⴴ] LT',\n nextWeek: 'dddd [ⴴ] LT',\n lastDay: '[ⴰⵚⴰⵏⵜ ⴴ] LT',\n lastWeek: 'dddd [ⴴ] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'ⴷⴰⴷⵅ ⵙ ⵢⴰⵏ %s',\n past : 'ⵢⴰⵏ %s',\n s : 'ⵉⵎⵉⴽ',\n ss : '%d ⵉⵎⵉⴽ',\n m : 'ⵎⵉⵏⵓⴺ',\n mm : '%d ⵎⵉⵏⵓⴺ',\n h : 'ⵙⴰⵄⴰ',\n hh : '%d ⵜⴰⵙⵙⴰⵄⵉⵏ',\n d : 'ⴰⵙⵙ',\n dd : '%d oⵙⵙⴰⵏ',\n M : 'ⴰⵢoⵓⵔ',\n MM : '%d ⵉⵢⵢⵉⵔⵏ',\n y : 'ⴰⵙⴳⴰⵙ',\n yy : '%d ⵉⵙⴳⴰⵙⵏ'\n },\n week : {\n dow : 6, // Saturday is the first day of the week.\n doy : 12 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return tzm;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n // After the year there should be a slash and the amount of years since December 26, 1979 in Roman numerals.\n // This is currently too difficult (maybe even impossible) to add.\n var tzl = moment.defineLocale('tzl', {\n months : 'Januar_Fevraglh_Març_Avrïu_Mai_Gün_Julia_Guscht_Setemvar_Listopäts_Noemvar_Zecemvar'.split('_'),\n monthsShort : 'Jan_Fev_Mar_Avr_Mai_Gün_Jul_Gus_Set_Lis_Noe_Zec'.split('_'),\n weekdays : 'Súladi_Lúneçi_Maitzi_Márcuri_Xhúadi_Viénerçi_Sáturi'.split('_'),\n weekdaysShort : 'Súl_Lún_Mai_Már_Xhú_Vié_Sát'.split('_'),\n weekdaysMin : 'Sú_Lú_Ma_Má_Xh_Vi_Sá'.split('_'),\n longDateFormat : {\n LT : 'HH.mm',\n LTS : 'HH.mm.ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM [dallas] YYYY',\n LLL : 'D. MMMM [dallas] YYYY HH.mm',\n LLLL : 'dddd, [li] D. MMMM [dallas] YYYY HH.mm'\n },\n meridiemParse: /d\\'o|d\\'a/i,\n isPM : function (input) {\n return 'd\\'o' === input.toLowerCase();\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'd\\'o' : 'D\\'O';\n } else {\n return isLower ? 'd\\'a' : 'D\\'A';\n }\n },\n calendar : {\n sameDay : '[oxhi à] LT',\n nextDay : '[demà à] LT',\n nextWeek : 'dddd [à] LT',\n lastDay : '[ieiri à] LT',\n lastWeek : '[sür el] dddd [lasteu à] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'osprei %s',\n past : 'ja%s',\n s : processRelativeTime,\n ss : processRelativeTime,\n m : processRelativeTime,\n mm : processRelativeTime,\n h : processRelativeTime,\n hh : processRelativeTime,\n d : processRelativeTime,\n dd : processRelativeTime,\n M : processRelativeTime,\n MM : processRelativeTime,\n y : processRelativeTime,\n yy : processRelativeTime\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n 's': ['viensas secunds', '\\'iensas secunds'],\n 'ss': [number + ' secunds', '' + number + ' secunds'],\n 'm': ['\\'n míut', '\\'iens míut'],\n 'mm': [number + ' míuts', '' + number + ' míuts'],\n 'h': ['\\'n þora', '\\'iensa þora'],\n 'hh': [number + ' þoras', '' + number + ' þoras'],\n 'd': ['\\'n ziua', '\\'iensa ziua'],\n 'dd': [number + ' ziuas', '' + number + ' ziuas'],\n 'M': ['\\'n mes', '\\'iens mes'],\n 'MM': [number + ' mesen', '' + number + ' mesen'],\n 'y': ['\\'n ar', '\\'iens ar'],\n 'yy': [number + ' ars', '' + number + ' ars']\n };\n return isFuture ? format[key][0] : (withoutSuffix ? format[key][0] : format[key][1]);\n }\n\n return tzl;\n\n})));\n","\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n var suffixes = {\n 1: '\\'inci',\n 5: '\\'inci',\n 8: '\\'inci',\n 70: '\\'inci',\n 80: '\\'inci',\n 2: '\\'nci',\n 7: '\\'nci',\n 20: '\\'nci',\n 50: '\\'nci',\n 3: '\\'üncü',\n 4: '\\'üncü',\n 100: '\\'üncü',\n 6: '\\'ncı',\n 9: '\\'uncu',\n 10: '\\'uncu',\n 30: '\\'uncu',\n 60: '\\'ıncı',\n 90: '\\'ıncı'\n };\n\n var tr = moment.defineLocale('tr', {\n months : 'Ocak_Şubat_Mart_Nisan_Mayıs_Haziran_Temmuz_Ağustos_Eylül_Ekim_Kasım_Aralık'.split('_'),\n monthsShort : 'Oca_Şub_Mar_Nis_May_Haz_Tem_Ağu_Eyl_Eki_Kas_Ara'.split('_'),\n weekdays : 'Pazar_Pazartesi_Salı_Çarşamba_Perşembe_Cuma_Cumartesi'.split('_'),\n weekdaysShort : 'Paz_Pts_Sal_Çar_Per_Cum_Cts'.split('_'),\n weekdaysMin : 'Pz_Pt_Sa_Ça_Pe_Cu_Ct'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[bugün saat] LT',\n nextDay : '[yarın saat] LT',\n nextWeek : '[gelecek] dddd [saat] LT',\n lastDay : '[dün] LT',\n lastWeek : '[geçen] dddd [saat] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s sonra',\n past : '%s önce',\n s : 'birkaç saniye',\n ss : '%d saniye',\n m : 'bir dakika',\n mm : '%d dakika',\n h : 'bir saat',\n hh : '%d saat',\n d : 'bir gün',\n dd : '%d gün',\n M : 'bir ay',\n MM : '%d ay',\n y : 'bir yıl',\n yy : '%d yıl'\n },\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'Do':\n case 'DD':\n return number;\n default:\n if (number === 0) { // special case for zero\n return number + '\\'ıncı';\n }\n var a = number % 10,\n b = number % 100 - a,\n c = number >= 100 ? 100 : null;\n return number + (suffixes[a] || suffixes[b] || suffixes[c]);\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return tr;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var numbersNouns = 'pagh_wa’_cha’_wej_loS_vagh_jav_Soch_chorgh_Hut'.split('_');\n\n function translateFuture(output) {\n var time = output;\n time = (output.indexOf('jaj') !== -1) ?\n time.slice(0, -3) + 'leS' :\n (output.indexOf('jar') !== -1) ?\n time.slice(0, -3) + 'waQ' :\n (output.indexOf('DIS') !== -1) ?\n time.slice(0, -3) + 'nem' :\n time + ' pIq';\n return time;\n }\n\n function translatePast(output) {\n var time = output;\n time = (output.indexOf('jaj') !== -1) ?\n time.slice(0, -3) + 'Hu’' :\n (output.indexOf('jar') !== -1) ?\n time.slice(0, -3) + 'wen' :\n (output.indexOf('DIS') !== -1) ?\n time.slice(0, -3) + 'ben' :\n time + ' ret';\n return time;\n }\n\n function translate(number, withoutSuffix, string, isFuture) {\n var numberNoun = numberAsNoun(number);\n switch (string) {\n case 'ss':\n return numberNoun + ' lup';\n case 'mm':\n return numberNoun + ' tup';\n case 'hh':\n return numberNoun + ' rep';\n case 'dd':\n return numberNoun + ' jaj';\n case 'MM':\n return numberNoun + ' jar';\n case 'yy':\n return numberNoun + ' DIS';\n }\n }\n\n function numberAsNoun(number) {\n var hundred = Math.floor((number % 1000) / 100),\n ten = Math.floor((number % 100) / 10),\n one = number % 10,\n word = '';\n if (hundred > 0) {\n word += numbersNouns[hundred] + 'vatlh';\n }\n if (ten > 0) {\n word += ((word !== '') ? ' ' : '') + numbersNouns[ten] + 'maH';\n }\n if (one > 0) {\n word += ((word !== '') ? ' ' : '') + numbersNouns[one];\n }\n return (word === '') ? 'pagh' : word;\n }\n\n var tlh = moment.defineLocale('tlh', {\n months : 'tera’ jar wa’_tera’ jar cha’_tera’ jar wej_tera’ jar loS_tera’ jar vagh_tera’ jar jav_tera’ jar Soch_tera’ jar chorgh_tera’ jar Hut_tera’ jar wa’maH_tera’ jar wa’maH wa’_tera’ jar wa’maH cha’'.split('_'),\n monthsShort : 'jar wa’_jar cha’_jar wej_jar loS_jar vagh_jar jav_jar Soch_jar chorgh_jar Hut_jar wa’maH_jar wa’maH wa’_jar wa’maH cha’'.split('_'),\n monthsParseExact : true,\n weekdays : 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),\n weekdaysShort : 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),\n weekdaysMin : 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[DaHjaj] LT',\n nextDay: '[wa’leS] LT',\n nextWeek: 'LLL',\n lastDay: '[wa’Hu’] LT',\n lastWeek: 'LLL',\n sameElse: 'L'\n },\n relativeTime : {\n future : translateFuture,\n past : translatePast,\n s : 'puS lup',\n ss : translate,\n m : 'wa’ tup',\n mm : translate,\n h : 'wa’ rep',\n hh : translate,\n d : 'wa’ jaj',\n dd : translate,\n M : 'wa’ jar',\n MM : translate,\n y : 'wa’ DIS',\n yy : translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return tlh;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var tlPh = moment.defineLocale('tl-ph', {\n months : 'Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre'.split('_'),\n monthsShort : 'Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis'.split('_'),\n weekdays : 'Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado'.split('_'),\n weekdaysShort : 'Lin_Lun_Mar_Miy_Huw_Biy_Sab'.split('_'),\n weekdaysMin : 'Li_Lu_Ma_Mi_Hu_Bi_Sab'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'MM/D/YYYY',\n LL : 'MMMM D, YYYY',\n LLL : 'MMMM D, YYYY HH:mm',\n LLLL : 'dddd, MMMM DD, YYYY HH:mm'\n },\n calendar : {\n sameDay: 'LT [ngayong araw]',\n nextDay: '[Bukas ng] LT',\n nextWeek: 'LT [sa susunod na] dddd',\n lastDay: 'LT [kahapon]',\n lastWeek: 'LT [noong nakaraang] dddd',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'sa loob ng %s',\n past : '%s ang nakalipas',\n s : 'ilang segundo',\n ss : '%d segundo',\n m : 'isang minuto',\n mm : '%d minuto',\n h : 'isang oras',\n hh : '%d oras',\n d : 'isang araw',\n dd : '%d araw',\n M : 'isang buwan',\n MM : '%d buwan',\n y : 'isang taon',\n yy : '%d taon'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}/,\n ordinal : function (number) {\n return number;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return tlPh;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var th = moment.defineLocale('th', {\n months : 'มกราคม_กุมภาพันธ์_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_กรกฎาคม_สิงหาคม_กันยายน_ตุลาคม_พฤศจิกายน_ธันวาคม'.split('_'),\n monthsShort : 'ม.ค._ก.พ._มี.ค._เม.ย._พ.ค._มิ.ย._ก.ค._ส.ค._ก.ย._ต.ค._พ.ย._ธ.ค.'.split('_'),\n monthsParseExact: true,\n weekdays : 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัสบดี_ศุกร์_เสาร์'.split('_'),\n weekdaysShort : 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัส_ศุกร์_เสาร์'.split('_'), // yes, three characters difference\n weekdaysMin : 'อา._จ._อ._พ._พฤ._ศ._ส.'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY เวลา H:mm',\n LLLL : 'วันddddที่ D MMMM YYYY เวลา H:mm'\n },\n meridiemParse: /ก่อนเที่ยง|หลังเที่ยง/,\n isPM: function (input) {\n return input === 'หลังเที่ยง';\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ก่อนเที่ยง';\n } else {\n return 'หลังเที่ยง';\n }\n },\n calendar : {\n sameDay : '[วันนี้ เวลา] LT',\n nextDay : '[พรุ่งนี้ เวลา] LT',\n nextWeek : 'dddd[หน้า เวลา] LT',\n lastDay : '[เมื่อวานนี้ เวลา] LT',\n lastWeek : '[วัน]dddd[ที่แล้ว เวลา] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'อีก %s',\n past : '%sที่แล้ว',\n s : 'ไม่กี่วินาที',\n ss : '%d วินาที',\n m : '1 นาที',\n mm : '%d นาที',\n h : '1 ชั่วโมง',\n hh : '%d ชั่วโมง',\n d : '1 วัน',\n dd : '%d วัน',\n M : '1 เดือน',\n MM : '%d เดือน',\n y : '1 ปี',\n yy : '%d ปี'\n }\n });\n\n return th;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var suffixes = {\n 0: '-ум',\n 1: '-ум',\n 2: '-юм',\n 3: '-юм',\n 4: '-ум',\n 5: '-ум',\n 6: '-ум',\n 7: '-ум',\n 8: '-ум',\n 9: '-ум',\n 10: '-ум',\n 12: '-ум',\n 13: '-ум',\n 20: '-ум',\n 30: '-юм',\n 40: '-ум',\n 50: '-ум',\n 60: '-ум',\n 70: '-ум',\n 80: '-ум',\n 90: '-ум',\n 100: '-ум'\n };\n\n var tg = moment.defineLocale('tg', {\n months : 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split('_'),\n monthsShort : 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'),\n weekdays : 'якшанбе_душанбе_сешанбе_чоршанбе_панҷшанбе_ҷумъа_шанбе'.split('_'),\n weekdaysShort : 'яшб_дшб_сшб_чшб_пшб_ҷум_шнб'.split('_'),\n weekdaysMin : 'яш_дш_сш_чш_пш_ҷм_шб'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Имрӯз соати] LT',\n nextDay : '[Пагоҳ соати] LT',\n lastDay : '[Дирӯз соати] LT',\n nextWeek : 'dddd[и] [ҳафтаи оянда соати] LT',\n lastWeek : 'dddd[и] [ҳафтаи гузашта соати] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'баъди %s',\n past : '%s пеш',\n s : 'якчанд сония',\n m : 'як дақиқа',\n mm : '%d дақиқа',\n h : 'як соат',\n hh : '%d соат',\n d : 'як рӯз',\n dd : '%d рӯз',\n M : 'як моҳ',\n MM : '%d моҳ',\n y : 'як сол',\n yy : '%d сол'\n },\n meridiemParse: /шаб|субҳ|рӯз|бегоҳ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'шаб') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'субҳ') {\n return hour;\n } else if (meridiem === 'рӯз') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'бегоҳ') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'шаб';\n } else if (hour < 11) {\n return 'субҳ';\n } else if (hour < 16) {\n return 'рӯз';\n } else if (hour < 19) {\n return 'бегоҳ';\n } else {\n return 'шаб';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ум|юм)/,\n ordinal: function (number) {\n var a = number % 10,\n b = number >= 100 ? 100 : null;\n return number + (suffixes[number] || suffixes[a] || suffixes[b]);\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1th is the first week of the year.\n }\n });\n\n return tg;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var tet = moment.defineLocale('tet', {\n months : 'Janeiru_Fevereiru_Marsu_Abril_Maiu_Juñu_Jullu_Agustu_Setembru_Outubru_Novembru_Dezembru'.split('_'),\n monthsShort : 'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez'.split('_'),\n weekdays : 'Domingu_Segunda_Tersa_Kuarta_Kinta_Sesta_Sabadu'.split('_'),\n weekdaysShort : 'Dom_Seg_Ters_Kua_Kint_Sest_Sab'.split('_'),\n weekdaysMin : 'Do_Seg_Te_Ku_Ki_Ses_Sa'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[Ohin iha] LT',\n nextDay: '[Aban iha] LT',\n nextWeek: 'dddd [iha] LT',\n lastDay: '[Horiseik iha] LT',\n lastWeek: 'dddd [semana kotuk] [iha] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'iha %s',\n past : '%s liuba',\n s : 'minutu balun',\n ss : 'minutu %d',\n m : 'minutu ida',\n mm : 'minutu %d',\n h : 'oras ida',\n hh : 'oras %d',\n d : 'loron ida',\n dd : 'loron %d',\n M : 'fulan ida',\n MM : 'fulan %d',\n y : 'tinan ida',\n yy : 'tinan %d'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return tet;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var te = moment.defineLocale('te', {\n months : 'జనవరి_ఫిబ్రవరి_మార్చి_ఏప్రిల్_మే_జూన్_జూలై_ఆగస్టు_సెప్టెంబర్_అక్టోబర్_నవంబర్_డిసెంబర్'.split('_'),\n monthsShort : 'జన._ఫిబ్ర._మార్చి_ఏప్రి._మే_జూన్_జూలై_ఆగ._సెప్._అక్టో._నవ._డిసె.'.split('_'),\n monthsParseExact : true,\n weekdays : 'ఆదివారం_సోమవారం_మంగళవారం_బుధవారం_గురువారం_శుక్రవారం_శనివారం'.split('_'),\n weekdaysShort : 'ఆది_సోమ_మంగళ_బుధ_గురు_శుక్ర_శని'.split('_'),\n weekdaysMin : 'ఆ_సో_మం_బు_గు_శు_శ'.split('_'),\n longDateFormat : {\n LT : 'A h:mm',\n LTS : 'A h:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, A h:mm',\n LLLL : 'dddd, D MMMM YYYY, A h:mm'\n },\n calendar : {\n sameDay : '[నేడు] LT',\n nextDay : '[రేపు] LT',\n nextWeek : 'dddd, LT',\n lastDay : '[నిన్న] LT',\n lastWeek : '[గత] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s లో',\n past : '%s క్రితం',\n s : 'కొన్ని క్షణాలు',\n ss : '%d సెకన్లు',\n m : 'ఒక నిమిషం',\n mm : '%d నిమిషాలు',\n h : 'ఒక గంట',\n hh : '%d గంటలు',\n d : 'ఒక రోజు',\n dd : '%d రోజులు',\n M : 'ఒక నెల',\n MM : '%d నెలలు',\n y : 'ఒక సంవత్సరం',\n yy : '%d సంవత్సరాలు'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}వ/,\n ordinal : '%dవ',\n meridiemParse: /రాత్రి|ఉదయం|మధ్యాహ్నం|సాయంత్రం/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'రాత్రి') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'ఉదయం') {\n return hour;\n } else if (meridiem === 'మధ్యాహ్నం') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'సాయంత్రం') {\n return hour + 12;\n }\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'రాత్రి';\n } else if (hour < 10) {\n return 'ఉదయం';\n } else if (hour < 17) {\n return 'మధ్యాహ్నం';\n } else if (hour < 20) {\n return 'సాయంత్రం';\n } else {\n return 'రాత్రి';\n }\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return te;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '௧',\n '2': '௨',\n '3': '௩',\n '4': '௪',\n '5': '௫',\n '6': '௬',\n '7': '௭',\n '8': '௮',\n '9': '௯',\n '0': '௦'\n }, numberMap = {\n '௧': '1',\n '௨': '2',\n '௩': '3',\n '௪': '4',\n '௫': '5',\n '௬': '6',\n '௭': '7',\n '௮': '8',\n '௯': '9',\n '௦': '0'\n };\n\n var ta = moment.defineLocale('ta', {\n months : 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split('_'),\n monthsShort : 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split('_'),\n weekdays : 'ஞாயிற்றுக்கிழமை_திங்கட்கிழமை_செவ்வாய்கிழமை_புதன்கிழமை_வியாழக்கிழமை_வெள்ளிக்கிழமை_சனிக்கிழமை'.split('_'),\n weekdaysShort : 'ஞாயிறு_திங்கள்_செவ்வாய்_புதன்_வியாழன்_வெள்ளி_சனி'.split('_'),\n weekdaysMin : 'ஞா_தி_செ_பு_வி_வெ_ச'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, HH:mm',\n LLLL : 'dddd, D MMMM YYYY, HH:mm'\n },\n calendar : {\n sameDay : '[இன்று] LT',\n nextDay : '[நாளை] LT',\n nextWeek : 'dddd, LT',\n lastDay : '[நேற்று] LT',\n lastWeek : '[கடந்த வாரம்] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s இல்',\n past : '%s முன்',\n s : 'ஒரு சில விநாடிகள்',\n ss : '%d விநாடிகள்',\n m : 'ஒரு நிமிடம்',\n mm : '%d நிமிடங்கள்',\n h : 'ஒரு மணி நேரம்',\n hh : '%d மணி நேரம்',\n d : 'ஒரு நாள்',\n dd : '%d நாட்கள்',\n M : 'ஒரு மாதம்',\n MM : '%d மாதங்கள்',\n y : 'ஒரு வருடம்',\n yy : '%d ஆண்டுகள்'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}வது/,\n ordinal : function (number) {\n return number + 'வது';\n },\n preparse: function (string) {\n return string.replace(/[௧௨௩௪௫௬௭௮௯௦]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n // refer http://ta.wikipedia.org/s/1er1\n meridiemParse: /யாமம்|வைகறை|காலை|நண்பகல்|எற்பாடு|மாலை/,\n meridiem : function (hour, minute, isLower) {\n if (hour < 2) {\n return ' யாமம்';\n } else if (hour < 6) {\n return ' வைகறை'; // வைகறை\n } else if (hour < 10) {\n return ' காலை'; // காலை\n } else if (hour < 14) {\n return ' நண்பகல்'; // நண்பகல்\n } else if (hour < 18) {\n return ' எற்பாடு'; // எற்பாடு\n } else if (hour < 22) {\n return ' மாலை'; // மாலை\n } else {\n return ' யாமம்';\n }\n },\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'யாமம்') {\n return hour < 2 ? hour : hour + 12;\n } else if (meridiem === 'வைகறை' || meridiem === 'காலை') {\n return hour;\n } else if (meridiem === 'நண்பகல்') {\n return hour >= 10 ? hour : hour + 12;\n } else {\n return hour + 12;\n }\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return ta;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var sw = moment.defineLocale('sw', {\n months : 'Januari_Februari_Machi_Aprili_Mei_Juni_Julai_Agosti_Septemba_Oktoba_Novemba_Desemba'.split('_'),\n monthsShort : 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ago_Sep_Okt_Nov_Des'.split('_'),\n weekdays : 'Jumapili_Jumatatu_Jumanne_Jumatano_Alhamisi_Ijumaa_Jumamosi'.split('_'),\n weekdaysShort : 'Jpl_Jtat_Jnne_Jtan_Alh_Ijm_Jmos'.split('_'),\n weekdaysMin : 'J2_J3_J4_J5_Al_Ij_J1'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[leo saa] LT',\n nextDay : '[kesho saa] LT',\n nextWeek : '[wiki ijayo] dddd [saat] LT',\n lastDay : '[jana] LT',\n lastWeek : '[wiki iliyopita] dddd [saat] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s baadaye',\n past : 'tokea %s',\n s : 'hivi punde',\n ss : 'sekunde %d',\n m : 'dakika moja',\n mm : 'dakika %d',\n h : 'saa limoja',\n hh : 'masaa %d',\n d : 'siku moja',\n dd : 'masiku %d',\n M : 'mwezi mmoja',\n MM : 'miezi %d',\n y : 'mwaka mmoja',\n yy : 'miaka %d'\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return sw;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var sv = moment.defineLocale('sv', {\n months : 'januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december'.split('_'),\n monthsShort : 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n weekdays : 'söndag_måndag_tisdag_onsdag_torsdag_fredag_lördag'.split('_'),\n weekdaysShort : 'sön_mån_tis_ons_tor_fre_lör'.split('_'),\n weekdaysMin : 'sö_må_ti_on_to_fr_lö'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY-MM-DD',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY [kl.] HH:mm',\n LLLL : 'dddd D MMMM YYYY [kl.] HH:mm',\n lll : 'D MMM YYYY HH:mm',\n llll : 'ddd D MMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[Idag] LT',\n nextDay: '[Imorgon] LT',\n lastDay: '[Igår] LT',\n nextWeek: '[På] dddd LT',\n lastWeek: '[I] dddd[s] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'om %s',\n past : 'för %s sedan',\n s : 'några sekunder',\n ss : '%d sekunder',\n m : 'en minut',\n mm : '%d minuter',\n h : 'en timme',\n hh : '%d timmar',\n d : 'en dag',\n dd : '%d dagar',\n M : 'en månad',\n MM : '%d månader',\n y : 'ett år',\n yy : '%d år'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(e|a)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'e' :\n (b === 1) ? 'a' :\n (b === 2) ? 'a' :\n (b === 3) ? 'e' : 'e';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return sv;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var ss = moment.defineLocale('ss', {\n months : \"Bhimbidvwane_Indlovana_Indlov'lenkhulu_Mabasa_Inkhwekhweti_Inhlaba_Kholwane_Ingci_Inyoni_Imphala_Lweti_Ingongoni\".split('_'),\n monthsShort : 'Bhi_Ina_Inu_Mab_Ink_Inh_Kho_Igc_Iny_Imp_Lwe_Igo'.split('_'),\n weekdays : 'Lisontfo_Umsombuluko_Lesibili_Lesitsatfu_Lesine_Lesihlanu_Umgcibelo'.split('_'),\n weekdaysShort : 'Lis_Umb_Lsb_Les_Lsi_Lsh_Umg'.split('_'),\n weekdaysMin : 'Li_Us_Lb_Lt_Ls_Lh_Ug'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'h:mm A',\n LTS : 'h:mm:ss A',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY h:mm A',\n LLLL : 'dddd, D MMMM YYYY h:mm A'\n },\n calendar : {\n sameDay : '[Namuhla nga] LT',\n nextDay : '[Kusasa nga] LT',\n nextWeek : 'dddd [nga] LT',\n lastDay : '[Itolo nga] LT',\n lastWeek : 'dddd [leliphelile] [nga] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'nga %s',\n past : 'wenteka nga %s',\n s : 'emizuzwana lomcane',\n ss : '%d mzuzwana',\n m : 'umzuzu',\n mm : '%d emizuzu',\n h : 'lihora',\n hh : '%d emahora',\n d : 'lilanga',\n dd : '%d emalanga',\n M : 'inyanga',\n MM : '%d tinyanga',\n y : 'umnyaka',\n yy : '%d iminyaka'\n },\n meridiemParse: /ekuseni|emini|entsambama|ebusuku/,\n meridiem : function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'ekuseni';\n } else if (hours < 15) {\n return 'emini';\n } else if (hours < 19) {\n return 'entsambama';\n } else {\n return 'ebusuku';\n }\n },\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'ekuseni') {\n return hour;\n } else if (meridiem === 'emini') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'entsambama' || meridiem === 'ebusuku') {\n if (hour === 0) {\n return 0;\n }\n return hour + 12;\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}/,\n ordinal : '%d',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return ss;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var translator = {\n words: { //Different grammatical cases\n ss: ['секунда', 'секунде', 'секунди'],\n m: ['један минут', 'једне минуте'],\n mm: ['минут', 'минуте', 'минута'],\n h: ['један сат', 'једног сата'],\n hh: ['сат', 'сата', 'сати'],\n dd: ['дан', 'дана', 'дана'],\n MM: ['месец', 'месеца', 'месеци'],\n yy: ['година', 'године', 'година']\n },\n correctGrammaticalCase: function (number, wordKey) {\n return number === 1 ? wordKey[0] : (number >= 2 && number <= 4 ? wordKey[1] : wordKey[2]);\n },\n translate: function (number, withoutSuffix, key) {\n var wordKey = translator.words[key];\n if (key.length === 1) {\n return withoutSuffix ? wordKey[0] : wordKey[1];\n } else {\n return number + ' ' + translator.correctGrammaticalCase(number, wordKey);\n }\n }\n };\n\n var srCyrl = moment.defineLocale('sr-cyrl', {\n months: 'јануар_фебруар_март_април_мај_јун_јул_август_септембар_октобар_новембар_децембар'.split('_'),\n monthsShort: 'јан._феб._мар._апр._мај_јун_јул_авг._сеп._окт._нов._дец.'.split('_'),\n monthsParseExact: true,\n weekdays: 'недеља_понедељак_уторак_среда_четвртак_петак_субота'.split('_'),\n weekdaysShort: 'нед._пон._уто._сре._чет._пет._суб.'.split('_'),\n weekdaysMin: 'не_по_ут_ср_че_пе_су'.split('_'),\n weekdaysParseExact : true,\n longDateFormat: {\n LT: 'H:mm',\n LTS : 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd, D. MMMM YYYY H:mm'\n },\n calendar: {\n sameDay: '[данас у] LT',\n nextDay: '[сутра у] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[у] [недељу] [у] LT';\n case 3:\n return '[у] [среду] [у] LT';\n case 6:\n return '[у] [суботу] [у] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[у] dddd [у] LT';\n }\n },\n lastDay : '[јуче у] LT',\n lastWeek : function () {\n var lastWeekDays = [\n '[прошле] [недеље] [у] LT',\n '[прошлог] [понедељка] [у] LT',\n '[прошлог] [уторка] [у] LT',\n '[прошле] [среде] [у] LT',\n '[прошлог] [четвртка] [у] LT',\n '[прошлог] [петка] [у] LT',\n '[прошле] [суботе] [у] LT'\n ];\n return lastWeekDays[this.day()];\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'за %s',\n past : 'пре %s',\n s : 'неколико секунди',\n ss : translator.translate,\n m : translator.translate,\n mm : translator.translate,\n h : translator.translate,\n hh : translator.translate,\n d : 'дан',\n dd : translator.translate,\n M : 'месец',\n MM : translator.translate,\n y : 'годину',\n yy : translator.translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return srCyrl;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var translator = {\n words: { //Different grammatical cases\n ss: ['sekunda', 'sekunde', 'sekundi'],\n m: ['jedan minut', 'jedne minute'],\n mm: ['minut', 'minute', 'minuta'],\n h: ['jedan sat', 'jednog sata'],\n hh: ['sat', 'sata', 'sati'],\n dd: ['dan', 'dana', 'dana'],\n MM: ['mesec', 'meseca', 'meseci'],\n yy: ['godina', 'godine', 'godina']\n },\n correctGrammaticalCase: function (number, wordKey) {\n return number === 1 ? wordKey[0] : (number >= 2 && number <= 4 ? wordKey[1] : wordKey[2]);\n },\n translate: function (number, withoutSuffix, key) {\n var wordKey = translator.words[key];\n if (key.length === 1) {\n return withoutSuffix ? wordKey[0] : wordKey[1];\n } else {\n return number + ' ' + translator.correctGrammaticalCase(number, wordKey);\n }\n }\n };\n\n var sr = moment.defineLocale('sr', {\n months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split('_'),\n monthsShort: 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays: 'nedelja_ponedeljak_utorak_sreda_četvrtak_petak_subota'.split('_'),\n weekdaysShort: 'ned._pon._uto._sre._čet._pet._sub.'.split('_'),\n weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact : true,\n longDateFormat: {\n LT: 'H:mm',\n LTS : 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd, D. MMMM YYYY H:mm'\n },\n calendar: {\n sameDay: '[danas u] LT',\n nextDay: '[sutra u] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[u] [nedelju] [u] LT';\n case 3:\n return '[u] [sredu] [u] LT';\n case 6:\n return '[u] [subotu] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay : '[juče u] LT',\n lastWeek : function () {\n var lastWeekDays = [\n '[prošle] [nedelje] [u] LT',\n '[prošlog] [ponedeljka] [u] LT',\n '[prošlog] [utorka] [u] LT',\n '[prošle] [srede] [u] LT',\n '[prošlog] [četvrtka] [u] LT',\n '[prošlog] [petka] [u] LT',\n '[prošle] [subote] [u] LT'\n ];\n return lastWeekDays[this.day()];\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'za %s',\n past : 'pre %s',\n s : 'nekoliko sekundi',\n ss : translator.translate,\n m : translator.translate,\n mm : translator.translate,\n h : translator.translate,\n hh : translator.translate,\n d : 'dan',\n dd : translator.translate,\n M : 'mesec',\n MM : translator.translate,\n y : 'godinu',\n yy : translator.translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return sr;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var sq = moment.defineLocale('sq', {\n months : 'Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_Nëntor_Dhjetor'.split('_'),\n monthsShort : 'Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_Nën_Dhj'.split('_'),\n weekdays : 'E Diel_E Hënë_E Martë_E Mërkurë_E Enjte_E Premte_E Shtunë'.split('_'),\n weekdaysShort : 'Die_Hën_Mar_Mër_Enj_Pre_Sht'.split('_'),\n weekdaysMin : 'D_H_Ma_Më_E_P_Sh'.split('_'),\n weekdaysParseExact : true,\n meridiemParse: /PD|MD/,\n isPM: function (input) {\n return input.charAt(0) === 'M';\n },\n meridiem : function (hours, minutes, isLower) {\n return hours < 12 ? 'PD' : 'MD';\n },\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Sot në] LT',\n nextDay : '[Nesër në] LT',\n nextWeek : 'dddd [në] LT',\n lastDay : '[Dje në] LT',\n lastWeek : 'dddd [e kaluar në] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'në %s',\n past : '%s më parë',\n s : 'disa sekonda',\n ss : '%d sekonda',\n m : 'një minutë',\n mm : '%d minuta',\n h : 'një orë',\n hh : '%d orë',\n d : 'një ditë',\n dd : '%d ditë',\n M : 'një muaj',\n MM : '%d muaj',\n y : 'një vit',\n yy : '%d vite'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return sq;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n switch (key) {\n case 's':\n return withoutSuffix || isFuture ? 'nekaj sekund' : 'nekaj sekundami';\n case 'ss':\n if (number === 1) {\n result += withoutSuffix ? 'sekundo' : 'sekundi';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'sekundi' : 'sekundah';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'sekunde' : 'sekundah';\n } else {\n result += withoutSuffix || isFuture ? 'sekund' : 'sekund';\n }\n return result;\n case 'm':\n return withoutSuffix ? 'ena minuta' : 'eno minuto';\n case 'mm':\n if (number === 1) {\n result += withoutSuffix ? 'minuta' : 'minuto';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'minuti' : 'minutama';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'minute' : 'minutami';\n } else {\n result += withoutSuffix || isFuture ? 'minut' : 'minutami';\n }\n return result;\n case 'h':\n return withoutSuffix ? 'ena ura' : 'eno uro';\n case 'hh':\n if (number === 1) {\n result += withoutSuffix ? 'ura' : 'uro';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'uri' : 'urama';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'ure' : 'urami';\n } else {\n result += withoutSuffix || isFuture ? 'ur' : 'urami';\n }\n return result;\n case 'd':\n return withoutSuffix || isFuture ? 'en dan' : 'enim dnem';\n case 'dd':\n if (number === 1) {\n result += withoutSuffix || isFuture ? 'dan' : 'dnem';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'dni' : 'dnevoma';\n } else {\n result += withoutSuffix || isFuture ? 'dni' : 'dnevi';\n }\n return result;\n case 'M':\n return withoutSuffix || isFuture ? 'en mesec' : 'enim mesecem';\n case 'MM':\n if (number === 1) {\n result += withoutSuffix || isFuture ? 'mesec' : 'mesecem';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'meseca' : 'mesecema';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'mesece' : 'meseci';\n } else {\n result += withoutSuffix || isFuture ? 'mesecev' : 'meseci';\n }\n return result;\n case 'y':\n return withoutSuffix || isFuture ? 'eno leto' : 'enim letom';\n case 'yy':\n if (number === 1) {\n result += withoutSuffix || isFuture ? 'leto' : 'letom';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'leti' : 'letoma';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'leta' : 'leti';\n } else {\n result += withoutSuffix || isFuture ? 'let' : 'leti';\n }\n return result;\n }\n }\n\n var sl = moment.defineLocale('sl', {\n months : 'januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december'.split('_'),\n monthsShort : 'jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays : 'nedelja_ponedeljek_torek_sreda_četrtek_petek_sobota'.split('_'),\n weekdaysShort : 'ned._pon._tor._sre._čet._pet._sob.'.split('_'),\n weekdaysMin : 'ne_po_to_sr_če_pe_so'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY H:mm',\n LLLL : 'dddd, D. MMMM YYYY H:mm'\n },\n calendar : {\n sameDay : '[danes ob] LT',\n nextDay : '[jutri ob] LT',\n\n nextWeek : function () {\n switch (this.day()) {\n case 0:\n return '[v] [nedeljo] [ob] LT';\n case 3:\n return '[v] [sredo] [ob] LT';\n case 6:\n return '[v] [soboto] [ob] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[v] dddd [ob] LT';\n }\n },\n lastDay : '[včeraj ob] LT',\n lastWeek : function () {\n switch (this.day()) {\n case 0:\n return '[prejšnjo] [nedeljo] [ob] LT';\n case 3:\n return '[prejšnjo] [sredo] [ob] LT';\n case 6:\n return '[prejšnjo] [soboto] [ob] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[prejšnji] dddd [ob] LT';\n }\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'čez %s',\n past : 'pred %s',\n s : processRelativeTime,\n ss : processRelativeTime,\n m : processRelativeTime,\n mm : processRelativeTime,\n h : processRelativeTime,\n hh : processRelativeTime,\n d : processRelativeTime,\n dd : processRelativeTime,\n M : processRelativeTime,\n MM : processRelativeTime,\n y : processRelativeTime,\n yy : processRelativeTime\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return sl;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var months = 'január_február_marec_apríl_máj_jún_júl_august_september_október_november_december'.split('_'),\n monthsShort = 'jan_feb_mar_apr_máj_jún_júl_aug_sep_okt_nov_dec'.split('_');\n function plural(n) {\n return (n > 1) && (n < 5);\n }\n function translate(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n switch (key) {\n case 's': // a few seconds / in a few seconds / a few seconds ago\n return (withoutSuffix || isFuture) ? 'pár sekúnd' : 'pár sekundami';\n case 'ss': // 9 seconds / in 9 seconds / 9 seconds ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'sekundy' : 'sekúnd');\n } else {\n return result + 'sekundami';\n }\n break;\n case 'm': // a minute / in a minute / a minute ago\n return withoutSuffix ? 'minúta' : (isFuture ? 'minútu' : 'minútou');\n case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'minúty' : 'minút');\n } else {\n return result + 'minútami';\n }\n break;\n case 'h': // an hour / in an hour / an hour ago\n return withoutSuffix ? 'hodina' : (isFuture ? 'hodinu' : 'hodinou');\n case 'hh': // 9 hours / in 9 hours / 9 hours ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'hodiny' : 'hodín');\n } else {\n return result + 'hodinami';\n }\n break;\n case 'd': // a day / in a day / a day ago\n return (withoutSuffix || isFuture) ? 'deň' : 'dňom';\n case 'dd': // 9 days / in 9 days / 9 days ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'dni' : 'dní');\n } else {\n return result + 'dňami';\n }\n break;\n case 'M': // a month / in a month / a month ago\n return (withoutSuffix || isFuture) ? 'mesiac' : 'mesiacom';\n case 'MM': // 9 months / in 9 months / 9 months ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'mesiace' : 'mesiacov');\n } else {\n return result + 'mesiacmi';\n }\n break;\n case 'y': // a year / in a year / a year ago\n return (withoutSuffix || isFuture) ? 'rok' : 'rokom';\n case 'yy': // 9 years / in 9 years / 9 years ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'roky' : 'rokov');\n } else {\n return result + 'rokmi';\n }\n break;\n }\n }\n\n var sk = moment.defineLocale('sk', {\n months : months,\n monthsShort : monthsShort,\n weekdays : 'nedeľa_pondelok_utorok_streda_štvrtok_piatok_sobota'.split('_'),\n weekdaysShort : 'ne_po_ut_st_št_pi_so'.split('_'),\n weekdaysMin : 'ne_po_ut_st_št_pi_so'.split('_'),\n longDateFormat : {\n LT: 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY H:mm',\n LLLL : 'dddd D. MMMM YYYY H:mm'\n },\n calendar : {\n sameDay: '[dnes o] LT',\n nextDay: '[zajtra o] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[v nedeľu o] LT';\n case 1:\n case 2:\n return '[v] dddd [o] LT';\n case 3:\n return '[v stredu o] LT';\n case 4:\n return '[vo štvrtok o] LT';\n case 5:\n return '[v piatok o] LT';\n case 6:\n return '[v sobotu o] LT';\n }\n },\n lastDay: '[včera o] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[minulú nedeľu o] LT';\n case 1:\n case 2:\n return '[minulý] dddd [o] LT';\n case 3:\n return '[minulú stredu o] LT';\n case 4:\n case 5:\n return '[minulý] dddd [o] LT';\n case 6:\n return '[minulú sobotu o] LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : 'za %s',\n past : 'pred %s',\n s : translate,\n ss : translate,\n m : translate,\n mm : translate,\n h : translate,\n hh : translate,\n d : translate,\n dd : translate,\n M : translate,\n MM : translate,\n y : translate,\n yy : translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return sk;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n /*jshint -W100*/\n var si = moment.defineLocale('si', {\n months : 'ජනවාරි_පෙබරවාරි_මාර්තු_අප්‍රේල්_මැයි_ජූනි_ජූලි_අගෝස්තු_සැප්තැම්බර්_ඔක්තෝබර්_නොවැම්බර්_දෙසැම්බර්'.split('_'),\n monthsShort : 'ජන_පෙබ_මාර්_අප්_මැයි_ජූනි_ජූලි_අගෝ_සැප්_ඔක්_නොවැ_දෙසැ'.split('_'),\n weekdays : 'ඉරිදා_සඳුදා_අඟහරුවාදා_බදාදා_බ්‍රහස්පතින්දා_සිකුරාදා_සෙනසුරාදා'.split('_'),\n weekdaysShort : 'ඉරි_සඳු_අඟ_බදා_බ්‍රහ_සිකු_සෙන'.split('_'),\n weekdaysMin : 'ඉ_ස_අ_බ_බ්‍ර_සි_සෙ'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'a h:mm',\n LTS : 'a h:mm:ss',\n L : 'YYYY/MM/DD',\n LL : 'YYYY MMMM D',\n LLL : 'YYYY MMMM D, a h:mm',\n LLLL : 'YYYY MMMM D [වැනි] dddd, a h:mm:ss'\n },\n calendar : {\n sameDay : '[අද] LT[ට]',\n nextDay : '[හෙට] LT[ට]',\n nextWeek : 'dddd LT[ට]',\n lastDay : '[ඊයේ] LT[ට]',\n lastWeek : '[පසුගිය] dddd LT[ට]',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%sකින්',\n past : '%sකට පෙර',\n s : 'තත්පර කිහිපය',\n ss : 'තත්පර %d',\n m : 'මිනිත්තුව',\n mm : 'මිනිත්තු %d',\n h : 'පැය',\n hh : 'පැය %d',\n d : 'දිනය',\n dd : 'දින %d',\n M : 'මාසය',\n MM : 'මාස %d',\n y : 'වසර',\n yy : 'වසර %d'\n },\n dayOfMonthOrdinalParse: /\\d{1,2} වැනි/,\n ordinal : function (number) {\n return number + ' වැනි';\n },\n meridiemParse : /පෙර වරු|පස් වරු|පෙ.ව|ප.ව./,\n isPM : function (input) {\n return input === 'ප.ව.' || input === 'පස් වරු';\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'ප.ව.' : 'පස් වරු';\n } else {\n return isLower ? 'පෙ.ව.' : 'පෙර වරු';\n }\n }\n });\n\n return si;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var se = moment.defineLocale('se', {\n months : 'ođđajagemánnu_guovvamánnu_njukčamánnu_cuoŋománnu_miessemánnu_geassemánnu_suoidnemánnu_borgemánnu_čakčamánnu_golggotmánnu_skábmamánnu_juovlamánnu'.split('_'),\n monthsShort : 'ođđj_guov_njuk_cuo_mies_geas_suoi_borg_čakč_golg_skáb_juov'.split('_'),\n weekdays : 'sotnabeaivi_vuossárga_maŋŋebárga_gaskavahkku_duorastat_bearjadat_lávvardat'.split('_'),\n weekdaysShort : 'sotn_vuos_maŋ_gask_duor_bear_láv'.split('_'),\n weekdaysMin : 's_v_m_g_d_b_L'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'MMMM D. [b.] YYYY',\n LLL : 'MMMM D. [b.] YYYY [ti.] HH:mm',\n LLLL : 'dddd, MMMM D. [b.] YYYY [ti.] HH:mm'\n },\n calendar : {\n sameDay: '[otne ti] LT',\n nextDay: '[ihttin ti] LT',\n nextWeek: 'dddd [ti] LT',\n lastDay: '[ikte ti] LT',\n lastWeek: '[ovddit] dddd [ti] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : '%s geažes',\n past : 'maŋit %s',\n s : 'moadde sekunddat',\n ss: '%d sekunddat',\n m : 'okta minuhta',\n mm : '%d minuhtat',\n h : 'okta diimmu',\n hh : '%d diimmut',\n d : 'okta beaivi',\n dd : '%d beaivvit',\n M : 'okta mánnu',\n MM : '%d mánut',\n y : 'okta jahki',\n yy : '%d jagit'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return se;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var months = [\n 'جنوري',\n 'فيبروري',\n 'مارچ',\n 'اپريل',\n 'مئي',\n 'جون',\n 'جولاءِ',\n 'آگسٽ',\n 'سيپٽمبر',\n 'آڪٽوبر',\n 'نومبر',\n 'ڊسمبر'\n ];\n var days = [\n 'آچر',\n 'سومر',\n 'اڱارو',\n 'اربع',\n 'خميس',\n 'جمع',\n 'ڇنڇر'\n ];\n\n var sd = moment.defineLocale('sd', {\n months : months,\n monthsShort : months,\n weekdays : days,\n weekdaysShort : days,\n weekdaysMin : days,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd، D MMMM YYYY HH:mm'\n },\n meridiemParse: /صبح|شام/,\n isPM : function (input) {\n return 'شام' === input;\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'صبح';\n }\n return 'شام';\n },\n calendar : {\n sameDay : '[اڄ] LT',\n nextDay : '[سڀاڻي] LT',\n nextWeek : 'dddd [اڳين هفتي تي] LT',\n lastDay : '[ڪالهه] LT',\n lastWeek : '[گزريل هفتي] dddd [تي] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s پوء',\n past : '%s اڳ',\n s : 'چند سيڪنڊ',\n ss : '%d سيڪنڊ',\n m : 'هڪ منٽ',\n mm : '%d منٽ',\n h : 'هڪ ڪلاڪ',\n hh : '%d ڪلاڪ',\n d : 'هڪ ڏينهن',\n dd : '%d ڏينهن',\n M : 'هڪ مهينو',\n MM : '%d مهينا',\n y : 'هڪ سال',\n yy : '%d سال'\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/,/g, '،');\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return sd;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function plural(word, num) {\n var forms = word.split('_');\n return num % 10 === 1 && num % 100 !== 11 ? forms[0] : (num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) ? forms[1] : forms[2]);\n }\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n var format = {\n 'ss': withoutSuffix ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд',\n 'mm': withoutSuffix ? 'минута_минуты_минут' : 'минуту_минуты_минут',\n 'hh': 'час_часа_часов',\n 'dd': 'день_дня_дней',\n 'MM': 'месяц_месяца_месяцев',\n 'yy': 'год_года_лет'\n };\n if (key === 'm') {\n return withoutSuffix ? 'минута' : 'минуту';\n }\n else {\n return number + ' ' + plural(format[key], +number);\n }\n }\n var monthsParse = [/^янв/i, /^фев/i, /^мар/i, /^апр/i, /^ма[йя]/i, /^июн/i, /^июл/i, /^авг/i, /^сен/i, /^окт/i, /^ноя/i, /^дек/i];\n\n // http://new.gramota.ru/spravka/rules/139-prop : § 103\n // Сокращения месяцев: http://new.gramota.ru/spravka/buro/search-answer?s=242637\n // CLDR data: http://www.unicode.org/cldr/charts/28/summary/ru.html#1753\n var ru = moment.defineLocale('ru', {\n months : {\n format: 'января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря'.split('_'),\n standalone: 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split('_')\n },\n monthsShort : {\n // по CLDR именно \"июл.\" и \"июн.\", но какой смысл менять букву на точку ?\n format: 'янв._февр._мар._апр._мая_июня_июля_авг._сент._окт._нояб._дек.'.split('_'),\n standalone: 'янв._февр._март_апр._май_июнь_июль_авг._сент._окт._нояб._дек.'.split('_')\n },\n weekdays : {\n standalone: 'воскресенье_понедельник_вторник_среда_четверг_пятница_суббота'.split('_'),\n format: 'воскресенье_понедельник_вторник_среду_четверг_пятницу_субботу'.split('_'),\n isFormat: /\\[ ?[Вв] ?(?:прошлую|следующую|эту)? ?\\] ?dddd/\n },\n weekdaysShort : 'вс_пн_вт_ср_чт_пт_сб'.split('_'),\n weekdaysMin : 'вс_пн_вт_ср_чт_пт_сб'.split('_'),\n monthsParse : monthsParse,\n longMonthsParse : monthsParse,\n shortMonthsParse : monthsParse,\n\n // полные названия с падежами, по три буквы, для некоторых, по 4 буквы, сокращения с точкой и без точки\n monthsRegex: /^(январ[ья]|янв\\.?|феврал[ья]|февр?\\.?|марта?|мар\\.?|апрел[ья]|апр\\.?|ма[йя]|июн[ья]|июн\\.?|июл[ья]|июл\\.?|августа?|авг\\.?|сентябр[ья]|сент?\\.?|октябр[ья]|окт\\.?|ноябр[ья]|нояб?\\.?|декабр[ья]|дек\\.?)/i,\n\n // копия предыдущего\n monthsShortRegex: /^(январ[ья]|янв\\.?|феврал[ья]|февр?\\.?|марта?|мар\\.?|апрел[ья]|апр\\.?|ма[йя]|июн[ья]|июн\\.?|июл[ья]|июл\\.?|августа?|авг\\.?|сентябр[ья]|сент?\\.?|октябр[ья]|окт\\.?|ноябр[ья]|нояб?\\.?|декабр[ья]|дек\\.?)/i,\n\n // полные названия с падежами\n monthsStrictRegex: /^(январ[яь]|феврал[яь]|марта?|апрел[яь]|ма[яй]|июн[яь]|июл[яь]|августа?|сентябр[яь]|октябр[яь]|ноябр[яь]|декабр[яь])/i,\n\n // Выражение, которое соотвествует только сокращённым формам\n monthsShortStrictRegex: /^(янв\\.|февр?\\.|мар[т.]|апр\\.|ма[яй]|июн[ья.]|июл[ья.]|авг\\.|сент?\\.|окт\\.|нояб?\\.|дек\\.)/i,\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY г.',\n LLL : 'D MMMM YYYY г., H:mm',\n LLLL : 'dddd, D MMMM YYYY г., H:mm'\n },\n calendar : {\n sameDay: '[Сегодня, в] LT',\n nextDay: '[Завтра, в] LT',\n lastDay: '[Вчера, в] LT',\n nextWeek: function (now) {\n if (now.week() !== this.week()) {\n switch (this.day()) {\n case 0:\n return '[В следующее] dddd, [в] LT';\n case 1:\n case 2:\n case 4:\n return '[В следующий] dddd, [в] LT';\n case 3:\n case 5:\n case 6:\n return '[В следующую] dddd, [в] LT';\n }\n } else {\n if (this.day() === 2) {\n return '[Во] dddd, [в] LT';\n } else {\n return '[В] dddd, [в] LT';\n }\n }\n },\n lastWeek: function (now) {\n if (now.week() !== this.week()) {\n switch (this.day()) {\n case 0:\n return '[В прошлое] dddd, [в] LT';\n case 1:\n case 2:\n case 4:\n return '[В прошлый] dddd, [в] LT';\n case 3:\n case 5:\n case 6:\n return '[В прошлую] dddd, [в] LT';\n }\n } else {\n if (this.day() === 2) {\n return '[Во] dddd, [в] LT';\n } else {\n return '[В] dddd, [в] LT';\n }\n }\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : 'через %s',\n past : '%s назад',\n s : 'несколько секунд',\n ss : relativeTimeWithPlural,\n m : relativeTimeWithPlural,\n mm : relativeTimeWithPlural,\n h : 'час',\n hh : relativeTimeWithPlural,\n d : 'день',\n dd : relativeTimeWithPlural,\n M : 'месяц',\n MM : relativeTimeWithPlural,\n y : 'год',\n yy : relativeTimeWithPlural\n },\n meridiemParse: /ночи|утра|дня|вечера/i,\n isPM : function (input) {\n return /^(дня|вечера)$/.test(input);\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ночи';\n } else if (hour < 12) {\n return 'утра';\n } else if (hour < 17) {\n return 'дня';\n } else {\n return 'вечера';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(й|го|я)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'M':\n case 'd':\n case 'DDD':\n return number + '-й';\n case 'D':\n return number + '-го';\n case 'w':\n case 'W':\n return number + '-я';\n default:\n return number;\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return ru;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n var format = {\n 'ss': 'secunde',\n 'mm': 'minute',\n 'hh': 'ore',\n 'dd': 'zile',\n 'MM': 'luni',\n 'yy': 'ani'\n },\n separator = ' ';\n if (number % 100 >= 20 || (number >= 100 && number % 100 === 0)) {\n separator = ' de ';\n }\n return number + separator + format[key];\n }\n\n var ro = moment.defineLocale('ro', {\n months : 'ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie'.split('_'),\n monthsShort : 'ian._febr._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays : 'duminică_luni_marți_miercuri_joi_vineri_sâmbătă'.split('_'),\n weekdaysShort : 'Dum_Lun_Mar_Mie_Joi_Vin_Sâm'.split('_'),\n weekdaysMin : 'Du_Lu_Ma_Mi_Jo_Vi_Sâ'.split('_'),\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY H:mm',\n LLLL : 'dddd, D MMMM YYYY H:mm'\n },\n calendar : {\n sameDay: '[azi la] LT',\n nextDay: '[mâine la] LT',\n nextWeek: 'dddd [la] LT',\n lastDay: '[ieri la] LT',\n lastWeek: '[fosta] dddd [la] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'peste %s',\n past : '%s în urmă',\n s : 'câteva secunde',\n ss : relativeTimeWithPlural,\n m : 'un minut',\n mm : relativeTimeWithPlural,\n h : 'o oră',\n hh : relativeTimeWithPlural,\n d : 'o zi',\n dd : relativeTimeWithPlural,\n M : 'o lună',\n MM : relativeTimeWithPlural,\n y : 'un an',\n yy : relativeTimeWithPlural\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return ro;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var ptBr = moment.defineLocale('pt-br', {\n months : 'janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro'.split('_'),\n monthsShort : 'jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez'.split('_'),\n weekdays : 'Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado'.split('_'),\n weekdaysShort : 'Dom_Seg_Ter_Qua_Qui_Sex_Sáb'.split('_'),\n weekdaysMin : 'Do_2ª_3ª_4ª_5ª_6ª_Sá'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D [de] MMMM [de] YYYY',\n LLL : 'D [de] MMMM [de] YYYY [às] HH:mm',\n LLLL : 'dddd, D [de] MMMM [de] YYYY [às] HH:mm'\n },\n calendar : {\n sameDay: '[Hoje às] LT',\n nextDay: '[Amanhã às] LT',\n nextWeek: 'dddd [às] LT',\n lastDay: '[Ontem às] LT',\n lastWeek: function () {\n return (this.day() === 0 || this.day() === 6) ?\n '[Último] dddd [às] LT' : // Saturday + Sunday\n '[Última] dddd [às] LT'; // Monday - Friday\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : 'em %s',\n past : 'há %s',\n s : 'poucos segundos',\n ss : '%d segundos',\n m : 'um minuto',\n mm : '%d minutos',\n h : 'uma hora',\n hh : '%d horas',\n d : 'um dia',\n dd : '%d dias',\n M : 'um mês',\n MM : '%d meses',\n y : 'um ano',\n yy : '%d anos'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal : '%dº'\n });\n\n return ptBr;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var pt = moment.defineLocale('pt', {\n months : 'janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro'.split('_'),\n monthsShort : 'jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez'.split('_'),\n weekdays : 'Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado'.split('_'),\n weekdaysShort : 'Dom_Seg_Ter_Qua_Qui_Sex_Sáb'.split('_'),\n weekdaysMin : 'Do_2ª_3ª_4ª_5ª_6ª_Sá'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D [de] MMMM [de] YYYY',\n LLL : 'D [de] MMMM [de] YYYY HH:mm',\n LLLL : 'dddd, D [de] MMMM [de] YYYY HH:mm'\n },\n calendar : {\n sameDay: '[Hoje às] LT',\n nextDay: '[Amanhã às] LT',\n nextWeek: 'dddd [às] LT',\n lastDay: '[Ontem às] LT',\n lastWeek: function () {\n return (this.day() === 0 || this.day() === 6) ?\n '[Último] dddd [às] LT' : // Saturday + Sunday\n '[Última] dddd [às] LT'; // Monday - Friday\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : 'em %s',\n past : 'há %s',\n s : 'segundos',\n ss : '%d segundos',\n m : 'um minuto',\n mm : '%d minutos',\n h : 'uma hora',\n hh : '%d horas',\n d : 'um dia',\n dd : '%d dias',\n M : 'um mês',\n MM : '%d meses',\n y : 'um ano',\n yy : '%d anos'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal : '%dº',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return pt;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var monthsNominative = 'styczeń_luty_marzec_kwiecień_maj_czerwiec_lipiec_sierpień_wrzesień_październik_listopad_grudzień'.split('_'),\n monthsSubjective = 'stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_września_października_listopada_grudnia'.split('_');\n function plural(n) {\n return (n % 10 < 5) && (n % 10 > 1) && ((~~(n / 10) % 10) !== 1);\n }\n function translate(number, withoutSuffix, key) {\n var result = number + ' ';\n switch (key) {\n case 'ss':\n return result + (plural(number) ? 'sekundy' : 'sekund');\n case 'm':\n return withoutSuffix ? 'minuta' : 'minutę';\n case 'mm':\n return result + (plural(number) ? 'minuty' : 'minut');\n case 'h':\n return withoutSuffix ? 'godzina' : 'godzinę';\n case 'hh':\n return result + (plural(number) ? 'godziny' : 'godzin');\n case 'MM':\n return result + (plural(number) ? 'miesiące' : 'miesięcy');\n case 'yy':\n return result + (plural(number) ? 'lata' : 'lat');\n }\n }\n\n var pl = moment.defineLocale('pl', {\n months : function (momentToFormat, format) {\n if (!momentToFormat) {\n return monthsNominative;\n } else if (format === '') {\n // Hack: if format empty we know this is used to generate\n // RegExp by moment. Give then back both valid forms of months\n // in RegExp ready format.\n return '(' + monthsSubjective[momentToFormat.month()] + '|' + monthsNominative[momentToFormat.month()] + ')';\n } else if (/D MMMM/.test(format)) {\n return monthsSubjective[momentToFormat.month()];\n } else {\n return monthsNominative[momentToFormat.month()];\n }\n },\n monthsShort : 'sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paź_lis_gru'.split('_'),\n weekdays : 'niedziela_poniedziałek_wtorek_środa_czwartek_piątek_sobota'.split('_'),\n weekdaysShort : 'ndz_pon_wt_śr_czw_pt_sob'.split('_'),\n weekdaysMin : 'Nd_Pn_Wt_Śr_Cz_Pt_So'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[Dziś o] LT',\n nextDay: '[Jutro o] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[W niedzielę o] LT';\n\n case 2:\n return '[We wtorek o] LT';\n\n case 3:\n return '[W środę o] LT';\n\n case 6:\n return '[W sobotę o] LT';\n\n default:\n return '[W] dddd [o] LT';\n }\n },\n lastDay: '[Wczoraj o] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[W zeszłą niedzielę o] LT';\n case 3:\n return '[W zeszłą środę o] LT';\n case 6:\n return '[W zeszłą sobotę o] LT';\n default:\n return '[W zeszły] dddd [o] LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : 'za %s',\n past : '%s temu',\n s : 'kilka sekund',\n ss : translate,\n m : translate,\n mm : translate,\n h : translate,\n hh : translate,\n d : '1 dzień',\n dd : '%d dni',\n M : 'miesiąc',\n MM : translate,\n y : 'rok',\n yy : translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return pl;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '੧',\n '2': '੨',\n '3': '੩',\n '4': '੪',\n '5': '੫',\n '6': '੬',\n '7': '੭',\n '8': '੮',\n '9': '੯',\n '0': '੦'\n },\n numberMap = {\n '੧': '1',\n '੨': '2',\n '੩': '3',\n '੪': '4',\n '੫': '5',\n '੬': '6',\n '੭': '7',\n '੮': '8',\n '੯': '9',\n '੦': '0'\n };\n\n var paIn = moment.defineLocale('pa-in', {\n // There are months name as per Nanakshahi Calender but they are not used as rigidly in modern Punjabi.\n months : 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split('_'),\n monthsShort : 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split('_'),\n weekdays : 'ਐਤਵਾਰ_ਸੋਮਵਾਰ_ਮੰਗਲਵਾਰ_ਬੁਧਵਾਰ_ਵੀਰਵਾਰ_ਸ਼ੁੱਕਰਵਾਰ_ਸ਼ਨੀਚਰਵਾਰ'.split('_'),\n weekdaysShort : 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'),\n weekdaysMin : 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'),\n longDateFormat : {\n LT : 'A h:mm ਵਜੇ',\n LTS : 'A h:mm:ss ਵਜੇ',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, A h:mm ਵਜੇ',\n LLLL : 'dddd, D MMMM YYYY, A h:mm ਵਜੇ'\n },\n calendar : {\n sameDay : '[ਅਜ] LT',\n nextDay : '[ਕਲ] LT',\n nextWeek : '[ਅਗਲਾ] dddd, LT',\n lastDay : '[ਕਲ] LT',\n lastWeek : '[ਪਿਛਲੇ] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s ਵਿੱਚ',\n past : '%s ਪਿਛਲੇ',\n s : 'ਕੁਝ ਸਕਿੰਟ',\n ss : '%d ਸਕਿੰਟ',\n m : 'ਇਕ ਮਿੰਟ',\n mm : '%d ਮਿੰਟ',\n h : 'ਇੱਕ ਘੰਟਾ',\n hh : '%d ਘੰਟੇ',\n d : 'ਇੱਕ ਦਿਨ',\n dd : '%d ਦਿਨ',\n M : 'ਇੱਕ ਮਹੀਨਾ',\n MM : '%d ਮਹੀਨੇ',\n y : 'ਇੱਕ ਸਾਲ',\n yy : '%d ਸਾਲ'\n },\n preparse: function (string) {\n return string.replace(/[੧੨੩੪੫੬੭੮੯੦]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n // Punjabi notation for meridiems are quite fuzzy in practice. While there exists\n // a rigid notion of a 'Pahar' it is not used as rigidly in modern Punjabi.\n meridiemParse: /ਰਾਤ|ਸਵੇਰ|ਦੁਪਹਿਰ|ਸ਼ਾਮ/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'ਰਾਤ') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'ਸਵੇਰ') {\n return hour;\n } else if (meridiem === 'ਦੁਪਹਿਰ') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'ਸ਼ਾਮ') {\n return hour + 12;\n }\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ਰਾਤ';\n } else if (hour < 10) {\n return 'ਸਵੇਰ';\n } else if (hour < 17) {\n return 'ਦੁਪਹਿਰ';\n } else if (hour < 20) {\n return 'ਸ਼ਾਮ';\n } else {\n return 'ਰਾਤ';\n }\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return paIn;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var nn = moment.defineLocale('nn', {\n months : 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split('_'),\n monthsShort : 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'),\n weekdays : 'sundag_måndag_tysdag_onsdag_torsdag_fredag_laurdag'.split('_'),\n weekdaysShort : 'sun_mån_tys_ons_tor_fre_lau'.split('_'),\n weekdaysMin : 'su_må_ty_on_to_fr_lø'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY [kl.] H:mm',\n LLLL : 'dddd D. MMMM YYYY [kl.] HH:mm'\n },\n calendar : {\n sameDay: '[I dag klokka] LT',\n nextDay: '[I morgon klokka] LT',\n nextWeek: 'dddd [klokka] LT',\n lastDay: '[I går klokka] LT',\n lastWeek: '[Føregåande] dddd [klokka] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'om %s',\n past : '%s sidan',\n s : 'nokre sekund',\n ss : '%d sekund',\n m : 'eit minutt',\n mm : '%d minutt',\n h : 'ein time',\n hh : '%d timar',\n d : 'ein dag',\n dd : '%d dagar',\n M : 'ein månad',\n MM : '%d månader',\n y : 'eit år',\n yy : '%d år'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return nn;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var monthsShortWithDots = 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'),\n monthsShortWithoutDots = 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_');\n\n var monthsParse = [/^jan/i, /^feb/i, /^maart|mrt.?$/i, /^apr/i, /^mei$/i, /^jun[i.]?$/i, /^jul[i.]?$/i, /^aug/i, /^sep/i, /^okt/i, /^nov/i, /^dec/i];\n var monthsRegex = /^(januari|februari|maart|april|mei|april|ju[nl]i|augustus|september|oktober|november|december|jan\\.?|feb\\.?|mrt\\.?|apr\\.?|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i;\n\n var nlBe = moment.defineLocale('nl-be', {\n months : 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split('_'),\n monthsShort : function (m, format) {\n if (!m) {\n return monthsShortWithDots;\n } else if (/-MMM-/.test(format)) {\n return monthsShortWithoutDots[m.month()];\n } else {\n return monthsShortWithDots[m.month()];\n }\n },\n\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: /^(januari|februari|maart|mei|ju[nl]i|april|augustus|september|oktober|november|december)/i,\n monthsShortStrictRegex: /^(jan\\.?|feb\\.?|mrt\\.?|apr\\.?|mei|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i,\n\n monthsParse : monthsParse,\n longMonthsParse : monthsParse,\n shortMonthsParse : monthsParse,\n\n weekdays : 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split('_'),\n weekdaysShort : 'zo._ma._di._wo._do._vr._za.'.split('_'),\n weekdaysMin : 'zo_ma_di_wo_do_vr_za'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[vandaag om] LT',\n nextDay: '[morgen om] LT',\n nextWeek: 'dddd [om] LT',\n lastDay: '[gisteren om] LT',\n lastWeek: '[afgelopen] dddd [om] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'over %s',\n past : '%s geleden',\n s : 'een paar seconden',\n ss : '%d seconden',\n m : 'één minuut',\n mm : '%d minuten',\n h : 'één uur',\n hh : '%d uur',\n d : 'één dag',\n dd : '%d dagen',\n M : 'één maand',\n MM : '%d maanden',\n y : 'één jaar',\n yy : '%d jaar'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n ordinal : function (number) {\n return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de');\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return nlBe;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var monthsShortWithDots = 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'),\n monthsShortWithoutDots = 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_');\n\n var monthsParse = [/^jan/i, /^feb/i, /^maart|mrt.?$/i, /^apr/i, /^mei$/i, /^jun[i.]?$/i, /^jul[i.]?$/i, /^aug/i, /^sep/i, /^okt/i, /^nov/i, /^dec/i];\n var monthsRegex = /^(januari|februari|maart|april|mei|april|ju[nl]i|augustus|september|oktober|november|december|jan\\.?|feb\\.?|mrt\\.?|apr\\.?|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i;\n\n var nl = moment.defineLocale('nl', {\n months : 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split('_'),\n monthsShort : function (m, format) {\n if (!m) {\n return monthsShortWithDots;\n } else if (/-MMM-/.test(format)) {\n return monthsShortWithoutDots[m.month()];\n } else {\n return monthsShortWithDots[m.month()];\n }\n },\n\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: /^(januari|februari|maart|mei|ju[nl]i|april|augustus|september|oktober|november|december)/i,\n monthsShortStrictRegex: /^(jan\\.?|feb\\.?|mrt\\.?|apr\\.?|mei|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i,\n\n monthsParse : monthsParse,\n longMonthsParse : monthsParse,\n shortMonthsParse : monthsParse,\n\n weekdays : 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split('_'),\n weekdaysShort : 'zo._ma._di._wo._do._vr._za.'.split('_'),\n weekdaysMin : 'zo_ma_di_wo_do_vr_za'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD-MM-YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[vandaag om] LT',\n nextDay: '[morgen om] LT',\n nextWeek: 'dddd [om] LT',\n lastDay: '[gisteren om] LT',\n lastWeek: '[afgelopen] dddd [om] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'over %s',\n past : '%s geleden',\n s : 'een paar seconden',\n ss : '%d seconden',\n m : 'één minuut',\n mm : '%d minuten',\n h : 'één uur',\n hh : '%d uur',\n d : 'één dag',\n dd : '%d dagen',\n M : 'één maand',\n MM : '%d maanden',\n y : 'één jaar',\n yy : '%d jaar'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n ordinal : function (number) {\n return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de');\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return nl;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '१',\n '2': '२',\n '3': '३',\n '4': '४',\n '5': '५',\n '6': '६',\n '7': '७',\n '8': '८',\n '9': '९',\n '0': '०'\n },\n numberMap = {\n '१': '1',\n '२': '2',\n '३': '3',\n '४': '4',\n '५': '5',\n '६': '6',\n '७': '7',\n '८': '8',\n '९': '9',\n '०': '0'\n };\n\n var ne = moment.defineLocale('ne', {\n months : 'जनवरी_फेब्रुवरी_मार्च_अप्रिल_मई_जुन_जुलाई_अगष्ट_सेप्टेम्बर_अक्टोबर_नोभेम्बर_डिसेम्बर'.split('_'),\n monthsShort : 'जन._फेब्रु._मार्च_अप्रि._मई_जुन_जुलाई._अग._सेप्ट._अक्टो._नोभे._डिसे.'.split('_'),\n monthsParseExact : true,\n weekdays : 'आइतबार_सोमबार_मङ्गलबार_बुधबार_बिहिबार_शुक्रबार_शनिबार'.split('_'),\n weekdaysShort : 'आइत._सोम._मङ्गल._बुध._बिहि._शुक्र._शनि.'.split('_'),\n weekdaysMin : 'आ._सो._मं._बु._बि._शु._श.'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'Aको h:mm बजे',\n LTS : 'Aको h:mm:ss बजे',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, Aको h:mm बजे',\n LLLL : 'dddd, D MMMM YYYY, Aको h:mm बजे'\n },\n preparse: function (string) {\n return string.replace(/[१२३४५६७८९०]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /राति|बिहान|दिउँसो|साँझ/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'राति') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'बिहान') {\n return hour;\n } else if (meridiem === 'दिउँसो') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'साँझ') {\n return hour + 12;\n }\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 3) {\n return 'राति';\n } else if (hour < 12) {\n return 'बिहान';\n } else if (hour < 16) {\n return 'दिउँसो';\n } else if (hour < 20) {\n return 'साँझ';\n } else {\n return 'राति';\n }\n },\n calendar : {\n sameDay : '[आज] LT',\n nextDay : '[भोलि] LT',\n nextWeek : '[आउँदो] dddd[,] LT',\n lastDay : '[हिजो] LT',\n lastWeek : '[गएको] dddd[,] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%sमा',\n past : '%s अगाडि',\n s : 'केही क्षण',\n ss : '%d सेकेण्ड',\n m : 'एक मिनेट',\n mm : '%d मिनेट',\n h : 'एक घण्टा',\n hh : '%d घण्टा',\n d : 'एक दिन',\n dd : '%d दिन',\n M : 'एक महिना',\n MM : '%d महिना',\n y : 'एक बर्ष',\n yy : '%d बर्ष'\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return ne;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var nb = moment.defineLocale('nb', {\n months : 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split('_'),\n monthsShort : 'jan._feb._mars_april_mai_juni_juli_aug._sep._okt._nov._des.'.split('_'),\n monthsParseExact : true,\n weekdays : 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),\n weekdaysShort : 'sø._ma._ti._on._to._fr._lø.'.split('_'),\n weekdaysMin : 'sø_ma_ti_on_to_fr_lø'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY [kl.] HH:mm',\n LLLL : 'dddd D. MMMM YYYY [kl.] HH:mm'\n },\n calendar : {\n sameDay: '[i dag kl.] LT',\n nextDay: '[i morgen kl.] LT',\n nextWeek: 'dddd [kl.] LT',\n lastDay: '[i går kl.] LT',\n lastWeek: '[forrige] dddd [kl.] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'om %s',\n past : '%s siden',\n s : 'noen sekunder',\n ss : '%d sekunder',\n m : 'ett minutt',\n mm : '%d minutter',\n h : 'en time',\n hh : '%d timer',\n d : 'en dag',\n dd : '%d dager',\n M : 'en måned',\n MM : '%d måneder',\n y : 'ett år',\n yy : '%d år'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return nb;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '၁',\n '2': '၂',\n '3': '၃',\n '4': '၄',\n '5': '၅',\n '6': '၆',\n '7': '၇',\n '8': '၈',\n '9': '၉',\n '0': '၀'\n }, numberMap = {\n '၁': '1',\n '၂': '2',\n '၃': '3',\n '၄': '4',\n '၅': '5',\n '၆': '6',\n '၇': '7',\n '၈': '8',\n '၉': '9',\n '၀': '0'\n };\n\n var my = moment.defineLocale('my', {\n months: 'ဇန်နဝါရီ_ဖေဖော်ဝါရီ_မတ်_ဧပြီ_မေ_ဇွန်_ဇူလိုင်_သြဂုတ်_စက်တင်ဘာ_အောက်တိုဘာ_နိုဝင်ဘာ_ဒီဇင်ဘာ'.split('_'),\n monthsShort: 'ဇန်_ဖေ_မတ်_ပြီ_မေ_ဇွန်_လိုင်_သြ_စက်_အောက်_နို_ဒီ'.split('_'),\n weekdays: 'တနင်္ဂနွေ_တနင်္လာ_အင်္ဂါ_ဗုဒ္ဓဟူး_ကြာသပတေး_သောကြာ_စနေ'.split('_'),\n weekdaysShort: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'),\n weekdaysMin: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'),\n\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[ယနေ.] LT [မှာ]',\n nextDay: '[မနက်ဖြန်] LT [မှာ]',\n nextWeek: 'dddd LT [မှာ]',\n lastDay: '[မနေ.က] LT [မှာ]',\n lastWeek: '[ပြီးခဲ့သော] dddd LT [မှာ]',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'လာမည့် %s မှာ',\n past: 'လွန်ခဲ့သော %s က',\n s: 'စက္ကန်.အနည်းငယ်',\n ss : '%d စက္ကန့်',\n m: 'တစ်မိနစ်',\n mm: '%d မိနစ်',\n h: 'တစ်နာရီ',\n hh: '%d နာရီ',\n d: 'တစ်ရက်',\n dd: '%d ရက်',\n M: 'တစ်လ',\n MM: '%d လ',\n y: 'တစ်နှစ်',\n yy: '%d နှစ်'\n },\n preparse: function (string) {\n return string.replace(/[၁၂၃၄၅၆၇၈၉၀]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return my;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var mt = moment.defineLocale('mt', {\n months : 'Jannar_Frar_Marzu_April_Mejju_Ġunju_Lulju_Awwissu_Settembru_Ottubru_Novembru_Diċembru'.split('_'),\n monthsShort : 'Jan_Fra_Mar_Apr_Mej_Ġun_Lul_Aww_Set_Ott_Nov_Diċ'.split('_'),\n weekdays : 'Il-Ħadd_It-Tnejn_It-Tlieta_L-Erbgħa_Il-Ħamis_Il-Ġimgħa_Is-Sibt'.split('_'),\n weekdaysShort : 'Ħad_Tne_Tli_Erb_Ħam_Ġim_Sib'.split('_'),\n weekdaysMin : 'Ħa_Tn_Tl_Er_Ħa_Ġi_Si'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Illum fil-]LT',\n nextDay : '[Għada fil-]LT',\n nextWeek : 'dddd [fil-]LT',\n lastDay : '[Il-bieraħ fil-]LT',\n lastWeek : 'dddd [li għadda] [fil-]LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'f’ %s',\n past : '%s ilu',\n s : 'ftit sekondi',\n ss : '%d sekondi',\n m : 'minuta',\n mm : '%d minuti',\n h : 'siegħa',\n hh : '%d siegħat',\n d : 'ġurnata',\n dd : '%d ġranet',\n M : 'xahar',\n MM : '%d xhur',\n y : 'sena',\n yy : '%d sni'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}º/,\n ordinal: '%dº',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return mt;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var msMy = moment.defineLocale('ms-my', {\n months : 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split('_'),\n monthsShort : 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'),\n weekdays : 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'),\n weekdaysShort : 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'),\n weekdaysMin : 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'),\n longDateFormat : {\n LT : 'HH.mm',\n LTS : 'HH.mm.ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY [pukul] HH.mm',\n LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm'\n },\n meridiemParse: /pagi|tengahari|petang|malam/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'pagi') {\n return hour;\n } else if (meridiem === 'tengahari') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'petang' || meridiem === 'malam') {\n return hour + 12;\n }\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'pagi';\n } else if (hours < 15) {\n return 'tengahari';\n } else if (hours < 19) {\n return 'petang';\n } else {\n return 'malam';\n }\n },\n calendar : {\n sameDay : '[Hari ini pukul] LT',\n nextDay : '[Esok pukul] LT',\n nextWeek : 'dddd [pukul] LT',\n lastDay : '[Kelmarin pukul] LT',\n lastWeek : 'dddd [lepas pukul] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'dalam %s',\n past : '%s yang lepas',\n s : 'beberapa saat',\n ss : '%d saat',\n m : 'seminit',\n mm : '%d minit',\n h : 'sejam',\n hh : '%d jam',\n d : 'sehari',\n dd : '%d hari',\n M : 'sebulan',\n MM : '%d bulan',\n y : 'setahun',\n yy : '%d tahun'\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return msMy;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var ms = moment.defineLocale('ms', {\n months : 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split('_'),\n monthsShort : 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'),\n weekdays : 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'),\n weekdaysShort : 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'),\n weekdaysMin : 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'),\n longDateFormat : {\n LT : 'HH.mm',\n LTS : 'HH.mm.ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY [pukul] HH.mm',\n LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm'\n },\n meridiemParse: /pagi|tengahari|petang|malam/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'pagi') {\n return hour;\n } else if (meridiem === 'tengahari') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'petang' || meridiem === 'malam') {\n return hour + 12;\n }\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'pagi';\n } else if (hours < 15) {\n return 'tengahari';\n } else if (hours < 19) {\n return 'petang';\n } else {\n return 'malam';\n }\n },\n calendar : {\n sameDay : '[Hari ini pukul] LT',\n nextDay : '[Esok pukul] LT',\n nextWeek : 'dddd [pukul] LT',\n lastDay : '[Kelmarin pukul] LT',\n lastWeek : 'dddd [lepas pukul] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'dalam %s',\n past : '%s yang lepas',\n s : 'beberapa saat',\n ss : '%d saat',\n m : 'seminit',\n mm : '%d minit',\n h : 'sejam',\n hh : '%d jam',\n d : 'sehari',\n dd : '%d hari',\n M : 'sebulan',\n MM : '%d bulan',\n y : 'setahun',\n yy : '%d tahun'\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return ms;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '१',\n '2': '२',\n '3': '३',\n '4': '४',\n '5': '५',\n '6': '६',\n '7': '७',\n '8': '८',\n '9': '९',\n '0': '०'\n },\n numberMap = {\n '१': '1',\n '२': '2',\n '३': '3',\n '४': '4',\n '५': '5',\n '६': '6',\n '७': '7',\n '८': '8',\n '९': '9',\n '०': '0'\n };\n\n function relativeTimeMr(number, withoutSuffix, string, isFuture)\n {\n var output = '';\n if (withoutSuffix) {\n switch (string) {\n case 's': output = 'काही सेकंद'; break;\n case 'ss': output = '%d सेकंद'; break;\n case 'm': output = 'एक मिनिट'; break;\n case 'mm': output = '%d मिनिटे'; break;\n case 'h': output = 'एक तास'; break;\n case 'hh': output = '%d तास'; break;\n case 'd': output = 'एक दिवस'; break;\n case 'dd': output = '%d दिवस'; break;\n case 'M': output = 'एक महिना'; break;\n case 'MM': output = '%d महिने'; break;\n case 'y': output = 'एक वर्ष'; break;\n case 'yy': output = '%d वर्षे'; break;\n }\n }\n else {\n switch (string) {\n case 's': output = 'काही सेकंदां'; break;\n case 'ss': output = '%d सेकंदां'; break;\n case 'm': output = 'एका मिनिटा'; break;\n case 'mm': output = '%d मिनिटां'; break;\n case 'h': output = 'एका तासा'; break;\n case 'hh': output = '%d तासां'; break;\n case 'd': output = 'एका दिवसा'; break;\n case 'dd': output = '%d दिवसां'; break;\n case 'M': output = 'एका महिन्या'; break;\n case 'MM': output = '%d महिन्यां'; break;\n case 'y': output = 'एका वर्षा'; break;\n case 'yy': output = '%d वर्षां'; break;\n }\n }\n return output.replace(/%d/i, number);\n }\n\n var mr = moment.defineLocale('mr', {\n months : 'जानेवारी_फेब्रुवारी_मार्च_एप्रिल_मे_जून_जुलै_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर'.split('_'),\n monthsShort: 'जाने._फेब्रु._मार्च._एप्रि._मे._जून._जुलै._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.'.split('_'),\n monthsParseExact : true,\n weekdays : 'रविवार_सोमवार_मंगळवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'),\n weekdaysShort : 'रवि_सोम_मंगळ_बुध_गुरू_शुक्र_शनि'.split('_'),\n weekdaysMin : 'र_सो_मं_बु_गु_शु_श'.split('_'),\n longDateFormat : {\n LT : 'A h:mm वाजता',\n LTS : 'A h:mm:ss वाजता',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, A h:mm वाजता',\n LLLL : 'dddd, D MMMM YYYY, A h:mm वाजता'\n },\n calendar : {\n sameDay : '[आज] LT',\n nextDay : '[उद्या] LT',\n nextWeek : 'dddd, LT',\n lastDay : '[काल] LT',\n lastWeek: '[मागील] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future: '%sमध्ये',\n past: '%sपूर्वी',\n s: relativeTimeMr,\n ss: relativeTimeMr,\n m: relativeTimeMr,\n mm: relativeTimeMr,\n h: relativeTimeMr,\n hh: relativeTimeMr,\n d: relativeTimeMr,\n dd: relativeTimeMr,\n M: relativeTimeMr,\n MM: relativeTimeMr,\n y: relativeTimeMr,\n yy: relativeTimeMr\n },\n preparse: function (string) {\n return string.replace(/[१२३४५६७८९०]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /रात्री|सकाळी|दुपारी|सायंकाळी/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'रात्री') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'सकाळी') {\n return hour;\n } else if (meridiem === 'दुपारी') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'सायंकाळी') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'रात्री';\n } else if (hour < 10) {\n return 'सकाळी';\n } else if (hour < 17) {\n return 'दुपारी';\n } else if (hour < 20) {\n return 'सायंकाळी';\n } else {\n return 'रात्री';\n }\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return mr;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function translate(number, withoutSuffix, key, isFuture) {\n switch (key) {\n case 's':\n return withoutSuffix ? 'хэдхэн секунд' : 'хэдхэн секундын';\n case 'ss':\n return number + (withoutSuffix ? ' секунд' : ' секундын');\n case 'm':\n case 'mm':\n return number + (withoutSuffix ? ' минут' : ' минутын');\n case 'h':\n case 'hh':\n return number + (withoutSuffix ? ' цаг' : ' цагийн');\n case 'd':\n case 'dd':\n return number + (withoutSuffix ? ' өдөр' : ' өдрийн');\n case 'M':\n case 'MM':\n return number + (withoutSuffix ? ' сар' : ' сарын');\n case 'y':\n case 'yy':\n return number + (withoutSuffix ? ' жил' : ' жилийн');\n default:\n return number;\n }\n }\n\n var mn = moment.defineLocale('mn', {\n months : 'Нэгдүгээр сар_Хоёрдугаар сар_Гуравдугаар сар_Дөрөвдүгээр сар_Тавдугаар сар_Зургадугаар сар_Долдугаар сар_Наймдугаар сар_Есдүгээр сар_Аравдугаар сар_Арван нэгдүгээр сар_Арван хоёрдугаар сар'.split('_'),\n monthsShort : '1 сар_2 сар_3 сар_4 сар_5 сар_6 сар_7 сар_8 сар_9 сар_10 сар_11 сар_12 сар'.split('_'),\n monthsParseExact : true,\n weekdays : 'Ням_Даваа_Мягмар_Лхагва_Пүрэв_Баасан_Бямба'.split('_'),\n weekdaysShort : 'Ням_Дав_Мяг_Лха_Пүр_Баа_Бям'.split('_'),\n weekdaysMin : 'Ня_Да_Мя_Лх_Пү_Ба_Бя'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY-MM-DD',\n LL : 'YYYY оны MMMMын D',\n LLL : 'YYYY оны MMMMын D HH:mm',\n LLLL : 'dddd, YYYY оны MMMMын D HH:mm'\n },\n meridiemParse: /ҮӨ|ҮХ/i,\n isPM : function (input) {\n return input === 'ҮХ';\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ҮӨ';\n } else {\n return 'ҮХ';\n }\n },\n calendar : {\n sameDay : '[Өнөөдөр] LT',\n nextDay : '[Маргааш] LT',\n nextWeek : '[Ирэх] dddd LT',\n lastDay : '[Өчигдөр] LT',\n lastWeek : '[Өнгөрсөн] dddd LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s дараа',\n past : '%s өмнө',\n s : translate,\n ss : translate,\n m : translate,\n mm : translate,\n h : translate,\n hh : translate,\n d : translate,\n dd : translate,\n M : translate,\n MM : translate,\n y : translate,\n yy : translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2} өдөр/,\n ordinal : function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + ' өдөр';\n default:\n return number;\n }\n }\n });\n\n return mn;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var ml = moment.defineLocale('ml', {\n months : 'ജനുവരി_ഫെബ്രുവരി_മാർച്ച്_ഏപ്രിൽ_മേയ്_ജൂൺ_ജൂലൈ_ഓഗസ്റ്റ്_സെപ്റ്റംബർ_ഒക്ടോബർ_നവംബർ_ഡിസംബർ'.split('_'),\n monthsShort : 'ജനു._ഫെബ്രു._മാർ._ഏപ്രി._മേയ്_ജൂൺ_ജൂലൈ._ഓഗ._സെപ്റ്റ._ഒക്ടോ._നവം._ഡിസം.'.split('_'),\n monthsParseExact : true,\n weekdays : 'ഞായറാഴ്ച_തിങ്കളാഴ്ച_ചൊവ്വാഴ്ച_ബുധനാഴ്ച_വ്യാഴാഴ്ച_വെള്ളിയാഴ്ച_ശനിയാഴ്ച'.split('_'),\n weekdaysShort : 'ഞായർ_തിങ്കൾ_ചൊവ്വ_ബുധൻ_വ്യാഴം_വെള്ളി_ശനി'.split('_'),\n weekdaysMin : 'ഞാ_തി_ചൊ_ബു_വ്യാ_വെ_ശ'.split('_'),\n longDateFormat : {\n LT : 'A h:mm -നു',\n LTS : 'A h:mm:ss -നു',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, A h:mm -നു',\n LLLL : 'dddd, D MMMM YYYY, A h:mm -നു'\n },\n calendar : {\n sameDay : '[ഇന്ന്] LT',\n nextDay : '[നാളെ] LT',\n nextWeek : 'dddd, LT',\n lastDay : '[ഇന്നലെ] LT',\n lastWeek : '[കഴിഞ്ഞ] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s കഴിഞ്ഞ്',\n past : '%s മുൻപ്',\n s : 'അൽപ നിമിഷങ്ങൾ',\n ss : '%d സെക്കൻഡ്',\n m : 'ഒരു മിനിറ്റ്',\n mm : '%d മിനിറ്റ്',\n h : 'ഒരു മണിക്കൂർ',\n hh : '%d മണിക്കൂർ',\n d : 'ഒരു ദിവസം',\n dd : '%d ദിവസം',\n M : 'ഒരു മാസം',\n MM : '%d മാസം',\n y : 'ഒരു വർഷം',\n yy : '%d വർഷം'\n },\n meridiemParse: /രാത്രി|രാവിലെ|ഉച്ച കഴിഞ്ഞ്|വൈകുന്നേരം|രാത്രി/i,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if ((meridiem === 'രാത്രി' && hour >= 4) ||\n meridiem === 'ഉച്ച കഴിഞ്ഞ്' ||\n meridiem === 'വൈകുന്നേരം') {\n return hour + 12;\n } else {\n return hour;\n }\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'രാത്രി';\n } else if (hour < 12) {\n return 'രാവിലെ';\n } else if (hour < 17) {\n return 'ഉച്ച കഴിഞ്ഞ്';\n } else if (hour < 20) {\n return 'വൈകുന്നേരം';\n } else {\n return 'രാത്രി';\n }\n }\n });\n\n return ml;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var mk = moment.defineLocale('mk', {\n months : 'јануари_февруари_март_април_мај_јуни_јули_август_септември_октомври_ноември_декември'.split('_'),\n monthsShort : 'јан_фев_мар_апр_мај_јун_јул_авг_сеп_окт_ное_дек'.split('_'),\n weekdays : 'недела_понеделник_вторник_среда_четврток_петок_сабота'.split('_'),\n weekdaysShort : 'нед_пон_вто_сре_чет_пет_саб'.split('_'),\n weekdaysMin : 'нe_пo_вт_ср_че_пе_сa'.split('_'),\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'D.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY H:mm',\n LLLL : 'dddd, D MMMM YYYY H:mm'\n },\n calendar : {\n sameDay : '[Денес во] LT',\n nextDay : '[Утре во] LT',\n nextWeek : '[Во] dddd [во] LT',\n lastDay : '[Вчера во] LT',\n lastWeek : function () {\n switch (this.day()) {\n case 0:\n case 3:\n case 6:\n return '[Изминатата] dddd [во] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[Изминатиот] dddd [во] LT';\n }\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'после %s',\n past : 'пред %s',\n s : 'неколку секунди',\n ss : '%d секунди',\n m : 'минута',\n mm : '%d минути',\n h : 'час',\n hh : '%d часа',\n d : 'ден',\n dd : '%d дена',\n M : 'месец',\n MM : '%d месеци',\n y : 'година',\n yy : '%d години'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ев|ен|ти|ви|ри|ми)/,\n ordinal : function (number) {\n var lastDigit = number % 10,\n last2Digits = number % 100;\n if (number === 0) {\n return number + '-ев';\n } else if (last2Digits === 0) {\n return number + '-ен';\n } else if (last2Digits > 10 && last2Digits < 20) {\n return number + '-ти';\n } else if (lastDigit === 1) {\n return number + '-ви';\n } else if (lastDigit === 2) {\n return number + '-ри';\n } else if (lastDigit === 7 || lastDigit === 8) {\n return number + '-ми';\n } else {\n return number + '-ти';\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return mk;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var mi = moment.defineLocale('mi', {\n months: 'Kohi-tāte_Hui-tanguru_Poutū-te-rangi_Paenga-whāwhā_Haratua_Pipiri_Hōngoingoi_Here-turi-kōkā_Mahuru_Whiringa-ā-nuku_Whiringa-ā-rangi_Hakihea'.split('_'),\n monthsShort: 'Kohi_Hui_Pou_Pae_Hara_Pipi_Hōngoi_Here_Mahu_Whi-nu_Whi-ra_Haki'.split('_'),\n monthsRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,\n monthsStrictRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,\n monthsShortRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,\n monthsShortStrictRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,2}/i,\n weekdays: 'Rātapu_Mane_Tūrei_Wenerei_Tāite_Paraire_Hātarei'.split('_'),\n weekdaysShort: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'),\n weekdaysMin: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY [i] HH:mm',\n LLLL: 'dddd, D MMMM YYYY [i] HH:mm'\n },\n calendar: {\n sameDay: '[i teie mahana, i] LT',\n nextDay: '[apopo i] LT',\n nextWeek: 'dddd [i] LT',\n lastDay: '[inanahi i] LT',\n lastWeek: 'dddd [whakamutunga i] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'i roto i %s',\n past: '%s i mua',\n s: 'te hēkona ruarua',\n ss: '%d hēkona',\n m: 'he meneti',\n mm: '%d meneti',\n h: 'te haora',\n hh: '%d haora',\n d: 'he ra',\n dd: '%d ra',\n M: 'he marama',\n MM: '%d marama',\n y: 'he tau',\n yy: '%d tau'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return mi;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var translator = {\n words: { //Different grammatical cases\n ss: ['sekund', 'sekunda', 'sekundi'],\n m: ['jedan minut', 'jednog minuta'],\n mm: ['minut', 'minuta', 'minuta'],\n h: ['jedan sat', 'jednog sata'],\n hh: ['sat', 'sata', 'sati'],\n dd: ['dan', 'dana', 'dana'],\n MM: ['mjesec', 'mjeseca', 'mjeseci'],\n yy: ['godina', 'godine', 'godina']\n },\n correctGrammaticalCase: function (number, wordKey) {\n return number === 1 ? wordKey[0] : (number >= 2 && number <= 4 ? wordKey[1] : wordKey[2]);\n },\n translate: function (number, withoutSuffix, key) {\n var wordKey = translator.words[key];\n if (key.length === 1) {\n return withoutSuffix ? wordKey[0] : wordKey[1];\n } else {\n return number + ' ' + translator.correctGrammaticalCase(number, wordKey);\n }\n }\n };\n\n var me = moment.defineLocale('me', {\n months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split('_'),\n monthsShort: 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split('_'),\n monthsParseExact : true,\n weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split('_'),\n weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact : true,\n longDateFormat: {\n LT: 'H:mm',\n LTS : 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd, D. MMMM YYYY H:mm'\n },\n calendar: {\n sameDay: '[danas u] LT',\n nextDay: '[sjutra u] LT',\n\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[u] [nedjelju] [u] LT';\n case 3:\n return '[u] [srijedu] [u] LT';\n case 6:\n return '[u] [subotu] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay : '[juče u] LT',\n lastWeek : function () {\n var lastWeekDays = [\n '[prošle] [nedjelje] [u] LT',\n '[prošlog] [ponedjeljka] [u] LT',\n '[prošlog] [utorka] [u] LT',\n '[prošle] [srijede] [u] LT',\n '[prošlog] [četvrtka] [u] LT',\n '[prošlog] [petka] [u] LT',\n '[prošle] [subote] [u] LT'\n ];\n return lastWeekDays[this.day()];\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'za %s',\n past : 'prije %s',\n s : 'nekoliko sekundi',\n ss : translator.translate,\n m : translator.translate,\n mm : translator.translate,\n h : translator.translate,\n hh : translator.translate,\n d : 'dan',\n dd : translator.translate,\n M : 'mjesec',\n MM : translator.translate,\n y : 'godinu',\n yy : translator.translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return me;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var units = {\n 'ss': 'sekundes_sekundēm_sekunde_sekundes'.split('_'),\n 'm': 'minūtes_minūtēm_minūte_minūtes'.split('_'),\n 'mm': 'minūtes_minūtēm_minūte_minūtes'.split('_'),\n 'h': 'stundas_stundām_stunda_stundas'.split('_'),\n 'hh': 'stundas_stundām_stunda_stundas'.split('_'),\n 'd': 'dienas_dienām_diena_dienas'.split('_'),\n 'dd': 'dienas_dienām_diena_dienas'.split('_'),\n 'M': 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'),\n 'MM': 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'),\n 'y': 'gada_gadiem_gads_gadi'.split('_'),\n 'yy': 'gada_gadiem_gads_gadi'.split('_')\n };\n /**\n * @param withoutSuffix boolean true = a length of time; false = before/after a period of time.\n */\n function format(forms, number, withoutSuffix) {\n if (withoutSuffix) {\n // E.g. \"21 minūte\", \"3 minūtes\".\n return number % 10 === 1 && number % 100 !== 11 ? forms[2] : forms[3];\n } else {\n // E.g. \"21 minūtes\" as in \"pēc 21 minūtes\".\n // E.g. \"3 minūtēm\" as in \"pēc 3 minūtēm\".\n return number % 10 === 1 && number % 100 !== 11 ? forms[0] : forms[1];\n }\n }\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n return number + ' ' + format(units[key], number, withoutSuffix);\n }\n function relativeTimeWithSingular(number, withoutSuffix, key) {\n return format(units[key], number, withoutSuffix);\n }\n function relativeSeconds(number, withoutSuffix) {\n return withoutSuffix ? 'dažas sekundes' : 'dažām sekundēm';\n }\n\n var lv = moment.defineLocale('lv', {\n months : 'janvāris_februāris_marts_aprīlis_maijs_jūnijs_jūlijs_augusts_septembris_oktobris_novembris_decembris'.split('_'),\n monthsShort : 'jan_feb_mar_apr_mai_jūn_jūl_aug_sep_okt_nov_dec'.split('_'),\n weekdays : 'svētdiena_pirmdiena_otrdiena_trešdiena_ceturtdiena_piektdiena_sestdiena'.split('_'),\n weekdaysShort : 'Sv_P_O_T_C_Pk_S'.split('_'),\n weekdaysMin : 'Sv_P_O_T_C_Pk_S'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY.',\n LL : 'YYYY. [gada] D. MMMM',\n LLL : 'YYYY. [gada] D. MMMM, HH:mm',\n LLLL : 'YYYY. [gada] D. MMMM, dddd, HH:mm'\n },\n calendar : {\n sameDay : '[Šodien pulksten] LT',\n nextDay : '[Rīt pulksten] LT',\n nextWeek : 'dddd [pulksten] LT',\n lastDay : '[Vakar pulksten] LT',\n lastWeek : '[Pagājušā] dddd [pulksten] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'pēc %s',\n past : 'pirms %s',\n s : relativeSeconds,\n ss : relativeTimeWithPlural,\n m : relativeTimeWithSingular,\n mm : relativeTimeWithPlural,\n h : relativeTimeWithSingular,\n hh : relativeTimeWithPlural,\n d : relativeTimeWithSingular,\n dd : relativeTimeWithPlural,\n M : relativeTimeWithSingular,\n MM : relativeTimeWithPlural,\n y : relativeTimeWithSingular,\n yy : relativeTimeWithPlural\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return lv;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var units = {\n 'ss' : 'sekundė_sekundžių_sekundes',\n 'm' : 'minutė_minutės_minutę',\n 'mm': 'minutės_minučių_minutes',\n 'h' : 'valanda_valandos_valandą',\n 'hh': 'valandos_valandų_valandas',\n 'd' : 'diena_dienos_dieną',\n 'dd': 'dienos_dienų_dienas',\n 'M' : 'mėnuo_mėnesio_mėnesį',\n 'MM': 'mėnesiai_mėnesių_mėnesius',\n 'y' : 'metai_metų_metus',\n 'yy': 'metai_metų_metus'\n };\n function translateSeconds(number, withoutSuffix, key, isFuture) {\n if (withoutSuffix) {\n return 'kelios sekundės';\n } else {\n return isFuture ? 'kelių sekundžių' : 'kelias sekundes';\n }\n }\n function translateSingular(number, withoutSuffix, key, isFuture) {\n return withoutSuffix ? forms(key)[0] : (isFuture ? forms(key)[1] : forms(key)[2]);\n }\n function special(number) {\n return number % 10 === 0 || (number > 10 && number < 20);\n }\n function forms(key) {\n return units[key].split('_');\n }\n function translate(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n if (number === 1) {\n return result + translateSingular(number, withoutSuffix, key[0], isFuture);\n } else if (withoutSuffix) {\n return result + (special(number) ? forms(key)[1] : forms(key)[0]);\n } else {\n if (isFuture) {\n return result + forms(key)[1];\n } else {\n return result + (special(number) ? forms(key)[1] : forms(key)[2]);\n }\n }\n }\n var lt = moment.defineLocale('lt', {\n months : {\n format: 'sausio_vasario_kovo_balandžio_gegužės_birželio_liepos_rugpjūčio_rugsėjo_spalio_lapkričio_gruodžio'.split('_'),\n standalone: 'sausis_vasaris_kovas_balandis_gegužė_birželis_liepa_rugpjūtis_rugsėjis_spalis_lapkritis_gruodis'.split('_'),\n isFormat: /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?|MMMM?(\\[[^\\[\\]]*\\]|\\s)+D[oD]?/\n },\n monthsShort : 'sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd'.split('_'),\n weekdays : {\n format: 'sekmadienį_pirmadienį_antradienį_trečiadienį_ketvirtadienį_penktadienį_šeštadienį'.split('_'),\n standalone: 'sekmadienis_pirmadienis_antradienis_trečiadienis_ketvirtadienis_penktadienis_šeštadienis'.split('_'),\n isFormat: /dddd HH:mm/\n },\n weekdaysShort : 'Sek_Pir_Ant_Tre_Ket_Pen_Šeš'.split('_'),\n weekdaysMin : 'S_P_A_T_K_Pn_Š'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY-MM-DD',\n LL : 'YYYY [m.] MMMM D [d.]',\n LLL : 'YYYY [m.] MMMM D [d.], HH:mm [val.]',\n LLLL : 'YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]',\n l : 'YYYY-MM-DD',\n ll : 'YYYY [m.] MMMM D [d.]',\n lll : 'YYYY [m.] MMMM D [d.], HH:mm [val.]',\n llll : 'YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]'\n },\n calendar : {\n sameDay : '[Šiandien] LT',\n nextDay : '[Rytoj] LT',\n nextWeek : 'dddd LT',\n lastDay : '[Vakar] LT',\n lastWeek : '[Praėjusį] dddd LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'po %s',\n past : 'prieš %s',\n s : translateSeconds,\n ss : translate,\n m : translateSingular,\n mm : translate,\n h : translateSingular,\n hh : translate,\n d : translateSingular,\n dd : translate,\n M : translateSingular,\n MM : translate,\n y : translateSingular,\n yy : translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-oji/,\n ordinal : function (number) {\n return number + '-oji';\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return lt;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var lo = moment.defineLocale('lo', {\n months : 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split('_'),\n monthsShort : 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split('_'),\n weekdays : 'ອາທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'),\n weekdaysShort : 'ທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'),\n weekdaysMin : 'ທ_ຈ_ອຄ_ພ_ພຫ_ສກ_ສ'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'ວັນdddd D MMMM YYYY HH:mm'\n },\n meridiemParse: /ຕອນເຊົ້າ|ຕອນແລງ/,\n isPM: function (input) {\n return input === 'ຕອນແລງ';\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ຕອນເຊົ້າ';\n } else {\n return 'ຕອນແລງ';\n }\n },\n calendar : {\n sameDay : '[ມື້ນີ້ເວລາ] LT',\n nextDay : '[ມື້ອື່ນເວລາ] LT',\n nextWeek : '[ວັນ]dddd[ໜ້າເວລາ] LT',\n lastDay : '[ມື້ວານນີ້ເວລາ] LT',\n lastWeek : '[ວັນ]dddd[ແລ້ວນີ້ເວລາ] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'ອີກ %s',\n past : '%sຜ່ານມາ',\n s : 'ບໍ່ເທົ່າໃດວິນາທີ',\n ss : '%d ວິນາທີ' ,\n m : '1 ນາທີ',\n mm : '%d ນາທີ',\n h : '1 ຊົ່ວໂມງ',\n hh : '%d ຊົ່ວໂມງ',\n d : '1 ມື້',\n dd : '%d ມື້',\n M : '1 ເດືອນ',\n MM : '%d ເດືອນ',\n y : '1 ປີ',\n yy : '%d ປີ'\n },\n dayOfMonthOrdinalParse: /(ທີ່)\\d{1,2}/,\n ordinal : function (number) {\n return 'ທີ່' + number;\n }\n });\n\n return lo;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n 'm': ['eng Minutt', 'enger Minutt'],\n 'h': ['eng Stonn', 'enger Stonn'],\n 'd': ['een Dag', 'engem Dag'],\n 'M': ['ee Mount', 'engem Mount'],\n 'y': ['ee Joer', 'engem Joer']\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n function processFutureTime(string) {\n var number = string.substr(0, string.indexOf(' '));\n if (eifelerRegelAppliesToNumber(number)) {\n return 'a ' + string;\n }\n return 'an ' + string;\n }\n function processPastTime(string) {\n var number = string.substr(0, string.indexOf(' '));\n if (eifelerRegelAppliesToNumber(number)) {\n return 'viru ' + string;\n }\n return 'virun ' + string;\n }\n /**\n * Returns true if the word before the given number loses the '-n' ending.\n * e.g. 'an 10 Deeg' but 'a 5 Deeg'\n *\n * @param number {integer}\n * @returns {boolean}\n */\n function eifelerRegelAppliesToNumber(number) {\n number = parseInt(number, 10);\n if (isNaN(number)) {\n return false;\n }\n if (number < 0) {\n // Negative Number --> always true\n return true;\n } else if (number < 10) {\n // Only 1 digit\n if (4 <= number && number <= 7) {\n return true;\n }\n return false;\n } else if (number < 100) {\n // 2 digits\n var lastDigit = number % 10, firstDigit = number / 10;\n if (lastDigit === 0) {\n return eifelerRegelAppliesToNumber(firstDigit);\n }\n return eifelerRegelAppliesToNumber(lastDigit);\n } else if (number < 10000) {\n // 3 or 4 digits --> recursively check first digit\n while (number >= 10) {\n number = number / 10;\n }\n return eifelerRegelAppliesToNumber(number);\n } else {\n // Anything larger than 4 digits: recursively check first n-3 digits\n number = number / 1000;\n return eifelerRegelAppliesToNumber(number);\n }\n }\n\n var lb = moment.defineLocale('lb', {\n months: 'Januar_Februar_Mäerz_Abrëll_Mee_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),\n monthsShort: 'Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.'.split('_'),\n monthsParseExact : true,\n weekdays: 'Sonndeg_Méindeg_Dënschdeg_Mëttwoch_Donneschdeg_Freideg_Samschdeg'.split('_'),\n weekdaysShort: 'So._Mé._Dë._Më._Do._Fr._Sa.'.split('_'),\n weekdaysMin: 'So_Mé_Dë_Më_Do_Fr_Sa'.split('_'),\n weekdaysParseExact : true,\n longDateFormat: {\n LT: 'H:mm [Auer]',\n LTS: 'H:mm:ss [Auer]',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm [Auer]',\n LLLL: 'dddd, D. MMMM YYYY H:mm [Auer]'\n },\n calendar: {\n sameDay: '[Haut um] LT',\n sameElse: 'L',\n nextDay: '[Muer um] LT',\n nextWeek: 'dddd [um] LT',\n lastDay: '[Gëschter um] LT',\n lastWeek: function () {\n // Different date string for 'Dënschdeg' (Tuesday) and 'Donneschdeg' (Thursday) due to phonological rule\n switch (this.day()) {\n case 2:\n case 4:\n return '[Leschten] dddd [um] LT';\n default:\n return '[Leschte] dddd [um] LT';\n }\n }\n },\n relativeTime : {\n future : processFutureTime,\n past : processPastTime,\n s : 'e puer Sekonnen',\n ss : '%d Sekonnen',\n m : processRelativeTime,\n mm : '%d Minutten',\n h : processRelativeTime,\n hh : '%d Stonnen',\n d : processRelativeTime,\n dd : '%d Deeg',\n M : processRelativeTime,\n MM : '%d Méint',\n y : processRelativeTime,\n yy : '%d Joer'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return lb;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var suffixes = {\n 0: '-чү',\n 1: '-чи',\n 2: '-чи',\n 3: '-чү',\n 4: '-чү',\n 5: '-чи',\n 6: '-чы',\n 7: '-чи',\n 8: '-чи',\n 9: '-чу',\n 10: '-чу',\n 20: '-чы',\n 30: '-чу',\n 40: '-чы',\n 50: '-чү',\n 60: '-чы',\n 70: '-чи',\n 80: '-чи',\n 90: '-чу',\n 100: '-чү'\n };\n\n var ky = moment.defineLocale('ky', {\n months : 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split('_'),\n monthsShort : 'янв_фев_март_апр_май_июнь_июль_авг_сен_окт_ноя_дек'.split('_'),\n weekdays : 'Жекшемби_Дүйшөмбү_Шейшемби_Шаршемби_Бейшемби_Жума_Ишемби'.split('_'),\n weekdaysShort : 'Жек_Дүй_Шей_Шар_Бей_Жум_Ише'.split('_'),\n weekdaysMin : 'Жк_Дй_Шй_Шр_Бй_Жм_Иш'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Бүгүн саат] LT',\n nextDay : '[Эртең саат] LT',\n nextWeek : 'dddd [саат] LT',\n lastDay : '[Кече саат] LT',\n lastWeek : '[Өткен аптанын] dddd [күнү] [саат] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s ичинде',\n past : '%s мурун',\n s : 'бирнече секунд',\n ss : '%d секунд',\n m : 'бир мүнөт',\n mm : '%d мүнөт',\n h : 'бир саат',\n hh : '%d саат',\n d : 'бир күн',\n dd : '%d күн',\n M : 'бир ай',\n MM : '%d ай',\n y : 'бир жыл',\n yy : '%d жыл'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(чи|чы|чү|чу)/,\n ordinal : function (number) {\n var a = number % 10,\n b = number >= 100 ? 100 : null;\n return number + (suffixes[number] || suffixes[a] || suffixes[b]);\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return ky;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var ko = moment.defineLocale('ko', {\n months : '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split('_'),\n monthsShort : '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split('_'),\n weekdays : '일요일_월요일_화요일_수요일_목요일_금요일_토요일'.split('_'),\n weekdaysShort : '일_월_화_수_목_금_토'.split('_'),\n weekdaysMin : '일_월_화_수_목_금_토'.split('_'),\n longDateFormat : {\n LT : 'A h:mm',\n LTS : 'A h:mm:ss',\n L : 'YYYY.MM.DD.',\n LL : 'YYYY년 MMMM D일',\n LLL : 'YYYY년 MMMM D일 A h:mm',\n LLLL : 'YYYY년 MMMM D일 dddd A h:mm',\n l : 'YYYY.MM.DD.',\n ll : 'YYYY년 MMMM D일',\n lll : 'YYYY년 MMMM D일 A h:mm',\n llll : 'YYYY년 MMMM D일 dddd A h:mm'\n },\n calendar : {\n sameDay : '오늘 LT',\n nextDay : '내일 LT',\n nextWeek : 'dddd LT',\n lastDay : '어제 LT',\n lastWeek : '지난주 dddd LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s 후',\n past : '%s 전',\n s : '몇 초',\n ss : '%d초',\n m : '1분',\n mm : '%d분',\n h : '한 시간',\n hh : '%d시간',\n d : '하루',\n dd : '%d일',\n M : '한 달',\n MM : '%d달',\n y : '일 년',\n yy : '%d년'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}(일|월|주)/,\n ordinal : function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '일';\n case 'M':\n return number + '월';\n case 'w':\n case 'W':\n return number + '주';\n default:\n return number;\n }\n },\n meridiemParse : /오전|오후/,\n isPM : function (token) {\n return token === '오후';\n },\n meridiem : function (hour, minute, isUpper) {\n return hour < 12 ? '오전' : '오후';\n }\n });\n\n return ko;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '೧',\n '2': '೨',\n '3': '೩',\n '4': '೪',\n '5': '೫',\n '6': '೬',\n '7': '೭',\n '8': '೮',\n '9': '೯',\n '0': '೦'\n },\n numberMap = {\n '೧': '1',\n '೨': '2',\n '೩': '3',\n '೪': '4',\n '೫': '5',\n '೬': '6',\n '೭': '7',\n '೮': '8',\n '೯': '9',\n '೦': '0'\n };\n\n var kn = moment.defineLocale('kn', {\n months : 'ಜನವರಿ_ಫೆಬ್ರವರಿ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂಬರ್_ಅಕ್ಟೋಬರ್_ನವೆಂಬರ್_ಡಿಸೆಂಬರ್'.split('_'),\n monthsShort : 'ಜನ_ಫೆಬ್ರ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂ_ಅಕ್ಟೋ_ನವೆಂ_ಡಿಸೆಂ'.split('_'),\n monthsParseExact: true,\n weekdays : 'ಭಾನುವಾರ_ಸೋಮವಾರ_ಮಂಗಳವಾರ_ಬುಧವಾರ_ಗುರುವಾರ_ಶುಕ್ರವಾರ_ಶನಿವಾರ'.split('_'),\n weekdaysShort : 'ಭಾನು_ಸೋಮ_ಮಂಗಳ_ಬುಧ_ಗುರು_ಶುಕ್ರ_ಶನಿ'.split('_'),\n weekdaysMin : 'ಭಾ_ಸೋ_ಮಂ_ಬು_ಗು_ಶು_ಶ'.split('_'),\n longDateFormat : {\n LT : 'A h:mm',\n LTS : 'A h:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, A h:mm',\n LLLL : 'dddd, D MMMM YYYY, A h:mm'\n },\n calendar : {\n sameDay : '[ಇಂದು] LT',\n nextDay : '[ನಾಳೆ] LT',\n nextWeek : 'dddd, LT',\n lastDay : '[ನಿನ್ನೆ] LT',\n lastWeek : '[ಕೊನೆಯ] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s ನಂತರ',\n past : '%s ಹಿಂದೆ',\n s : 'ಕೆಲವು ಕ್ಷಣಗಳು',\n ss : '%d ಸೆಕೆಂಡುಗಳು',\n m : 'ಒಂದು ನಿಮಿಷ',\n mm : '%d ನಿಮಿಷ',\n h : 'ಒಂದು ಗಂಟೆ',\n hh : '%d ಗಂಟೆ',\n d : 'ಒಂದು ದಿನ',\n dd : '%d ದಿನ',\n M : 'ಒಂದು ತಿಂಗಳು',\n MM : '%d ತಿಂಗಳು',\n y : 'ಒಂದು ವರ್ಷ',\n yy : '%d ವರ್ಷ'\n },\n preparse: function (string) {\n return string.replace(/[೧೨೩೪೫೬೭೮೯೦]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /ರಾತ್ರಿ|ಬೆಳಿಗ್ಗೆ|ಮಧ್ಯಾಹ್ನ|ಸಂಜೆ/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'ರಾತ್ರಿ') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'ಬೆಳಿಗ್ಗೆ') {\n return hour;\n } else if (meridiem === 'ಮಧ್ಯಾಹ್ನ') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'ಸಂಜೆ') {\n return hour + 12;\n }\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ರಾತ್ರಿ';\n } else if (hour < 10) {\n return 'ಬೆಳಿಗ್ಗೆ';\n } else if (hour < 17) {\n return 'ಮಧ್ಯಾಹ್ನ';\n } else if (hour < 20) {\n return 'ಸಂಜೆ';\n } else {\n return 'ರಾತ್ರಿ';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ನೇ)/,\n ordinal : function (number) {\n return number + 'ನೇ';\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return kn;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '១',\n '2': '២',\n '3': '៣',\n '4': '៤',\n '5': '៥',\n '6': '៦',\n '7': '៧',\n '8': '៨',\n '9': '៩',\n '0': '០'\n }, numberMap = {\n '១': '1',\n '២': '2',\n '៣': '3',\n '៤': '4',\n '៥': '5',\n '៦': '6',\n '៧': '7',\n '៨': '8',\n '៩': '9',\n '០': '0'\n };\n\n var km = moment.defineLocale('km', {\n months: 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split(\n '_'\n ),\n monthsShort: 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split(\n '_'\n ),\n weekdays: 'អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍'.split('_'),\n weekdaysShort: 'អា_ច_អ_ព_ព្រ_សុ_ស'.split('_'),\n weekdaysMin: 'អា_ច_អ_ព_ព្រ_សុ_ស'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n meridiemParse: /ព្រឹក|ល្ងាច/,\n isPM: function (input) {\n return input === 'ល្ងាច';\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ព្រឹក';\n } else {\n return 'ល្ងាច';\n }\n },\n calendar: {\n sameDay: '[ថ្ងៃនេះ ម៉ោង] LT',\n nextDay: '[ស្អែក ម៉ោង] LT',\n nextWeek: 'dddd [ម៉ោង] LT',\n lastDay: '[ម្សិលមិញ ម៉ោង] LT',\n lastWeek: 'dddd [សប្តាហ៍មុន] [ម៉ោង] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%sទៀត',\n past: '%sមុន',\n s: 'ប៉ុន្មានវិនាទី',\n ss: '%d វិនាទី',\n m: 'មួយនាទី',\n mm: '%d នាទី',\n h: 'មួយម៉ោង',\n hh: '%d ម៉ោង',\n d: 'មួយថ្ងៃ',\n dd: '%d ថ្ងៃ',\n M: 'មួយខែ',\n MM: '%d ខែ',\n y: 'មួយឆ្នាំ',\n yy: '%d ឆ្នាំ'\n },\n dayOfMonthOrdinalParse : /ទី\\d{1,2}/,\n ordinal : 'ទី%d',\n preparse: function (string) {\n return string.replace(/[១២៣៤៥៦៧៨៩០]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return km;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var suffixes = {\n 0: '-ші',\n 1: '-ші',\n 2: '-ші',\n 3: '-ші',\n 4: '-ші',\n 5: '-ші',\n 6: '-шы',\n 7: '-ші',\n 8: '-ші',\n 9: '-шы',\n 10: '-шы',\n 20: '-шы',\n 30: '-шы',\n 40: '-шы',\n 50: '-ші',\n 60: '-шы',\n 70: '-ші',\n 80: '-ші',\n 90: '-шы',\n 100: '-ші'\n };\n\n var kk = moment.defineLocale('kk', {\n months : 'қаңтар_ақпан_наурыз_сәуір_мамыр_маусым_шілде_тамыз_қыркүйек_қазан_қараша_желтоқсан'.split('_'),\n monthsShort : 'қаң_ақп_нау_сәу_мам_мау_шіл_там_қыр_қаз_қар_жел'.split('_'),\n weekdays : 'жексенбі_дүйсенбі_сейсенбі_сәрсенбі_бейсенбі_жұма_сенбі'.split('_'),\n weekdaysShort : 'жек_дүй_сей_сәр_бей_жұм_сен'.split('_'),\n weekdaysMin : 'жк_дй_сй_ср_бй_жм_сн'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Бүгін сағат] LT',\n nextDay : '[Ертең сағат] LT',\n nextWeek : 'dddd [сағат] LT',\n lastDay : '[Кеше сағат] LT',\n lastWeek : '[Өткен аптаның] dddd [сағат] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s ішінде',\n past : '%s бұрын',\n s : 'бірнеше секунд',\n ss : '%d секунд',\n m : 'бір минут',\n mm : '%d минут',\n h : 'бір сағат',\n hh : '%d сағат',\n d : 'бір күн',\n dd : '%d күн',\n M : 'бір ай',\n MM : '%d ай',\n y : 'бір жыл',\n yy : '%d жыл'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ші|шы)/,\n ordinal : function (number) {\n var a = number % 10,\n b = number >= 100 ? 100 : null;\n return number + (suffixes[number] || suffixes[a] || suffixes[b]);\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return kk;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var ka = moment.defineLocale('ka', {\n months : {\n standalone: 'იანვარი_თებერვალი_მარტი_აპრილი_მაისი_ივნისი_ივლისი_აგვისტო_სექტემბერი_ოქტომბერი_ნოემბერი_დეკემბერი'.split('_'),\n format: 'იანვარს_თებერვალს_მარტს_აპრილის_მაისს_ივნისს_ივლისს_აგვისტს_სექტემბერს_ოქტომბერს_ნოემბერს_დეკემბერს'.split('_')\n },\n monthsShort : 'იან_თებ_მარ_აპრ_მაი_ივნ_ივლ_აგვ_სექ_ოქტ_ნოე_დეკ'.split('_'),\n weekdays : {\n standalone: 'კვირა_ორშაბათი_სამშაბათი_ოთხშაბათი_ხუთშაბათი_პარასკევი_შაბათი'.split('_'),\n format: 'კვირას_ორშაბათს_სამშაბათს_ოთხშაბათს_ხუთშაბათს_პარასკევს_შაბათს'.split('_'),\n isFormat: /(წინა|შემდეგ)/\n },\n weekdaysShort : 'კვი_ორშ_სამ_ოთხ_ხუთ_პარ_შაბ'.split('_'),\n weekdaysMin : 'კვ_ორ_სა_ოთ_ხუ_პა_შა'.split('_'),\n longDateFormat : {\n LT : 'h:mm A',\n LTS : 'h:mm:ss A',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY h:mm A',\n LLLL : 'dddd, D MMMM YYYY h:mm A'\n },\n calendar : {\n sameDay : '[დღეს] LT[-ზე]',\n nextDay : '[ხვალ] LT[-ზე]',\n lastDay : '[გუშინ] LT[-ზე]',\n nextWeek : '[შემდეგ] dddd LT[-ზე]',\n lastWeek : '[წინა] dddd LT-ზე',\n sameElse : 'L'\n },\n relativeTime : {\n future : function (s) {\n return (/(წამი|წუთი|საათი|წელი)/).test(s) ?\n s.replace(/ი$/, 'ში') :\n s + 'ში';\n },\n past : function (s) {\n if ((/(წამი|წუთი|საათი|დღე|თვე)/).test(s)) {\n return s.replace(/(ი|ე)$/, 'ის წინ');\n }\n if ((/წელი/).test(s)) {\n return s.replace(/წელი$/, 'წლის წინ');\n }\n },\n s : 'რამდენიმე წამი',\n ss : '%d წამი',\n m : 'წუთი',\n mm : '%d წუთი',\n h : 'საათი',\n hh : '%d საათი',\n d : 'დღე',\n dd : '%d დღე',\n M : 'თვე',\n MM : '%d თვე',\n y : 'წელი',\n yy : '%d წელი'\n },\n dayOfMonthOrdinalParse: /0|1-ლი|მე-\\d{1,2}|\\d{1,2}-ე/,\n ordinal : function (number) {\n if (number === 0) {\n return number;\n }\n if (number === 1) {\n return number + '-ლი';\n }\n if ((number < 20) || (number <= 100 && (number % 20 === 0)) || (number % 100 === 0)) {\n return 'მე-' + number;\n }\n return number + '-ე';\n },\n week : {\n dow : 1,\n doy : 7\n }\n });\n\n return ka;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var jv = moment.defineLocale('jv', {\n months : 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember'.split('_'),\n monthsShort : 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des'.split('_'),\n weekdays : 'Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu'.split('_'),\n weekdaysShort : 'Min_Sen_Sel_Reb_Kem_Jem_Sep'.split('_'),\n weekdaysMin : 'Mg_Sn_Sl_Rb_Km_Jm_Sp'.split('_'),\n longDateFormat : {\n LT : 'HH.mm',\n LTS : 'HH.mm.ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY [pukul] HH.mm',\n LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm'\n },\n meridiemParse: /enjing|siyang|sonten|ndalu/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'enjing') {\n return hour;\n } else if (meridiem === 'siyang') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'sonten' || meridiem === 'ndalu') {\n return hour + 12;\n }\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'enjing';\n } else if (hours < 15) {\n return 'siyang';\n } else if (hours < 19) {\n return 'sonten';\n } else {\n return 'ndalu';\n }\n },\n calendar : {\n sameDay : '[Dinten puniko pukul] LT',\n nextDay : '[Mbenjang pukul] LT',\n nextWeek : 'dddd [pukul] LT',\n lastDay : '[Kala wingi pukul] LT',\n lastWeek : 'dddd [kepengker pukul] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'wonten ing %s',\n past : '%s ingkang kepengker',\n s : 'sawetawis detik',\n ss : '%d detik',\n m : 'setunggal menit',\n mm : '%d menit',\n h : 'setunggal jam',\n hh : '%d jam',\n d : 'sedinten',\n dd : '%d dinten',\n M : 'sewulan',\n MM : '%d wulan',\n y : 'setaun',\n yy : '%d taun'\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return jv;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var ja = moment.defineLocale('ja', {\n months : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n monthsShort : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n weekdays : '日曜日_月曜日_火曜日_水曜日_木曜日_金曜日_土曜日'.split('_'),\n weekdaysShort : '日_月_火_水_木_金_土'.split('_'),\n weekdaysMin : '日_月_火_水_木_金_土'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY/MM/DD',\n LL : 'YYYY年M月D日',\n LLL : 'YYYY年M月D日 HH:mm',\n LLLL : 'YYYY年M月D日 dddd HH:mm',\n l : 'YYYY/MM/DD',\n ll : 'YYYY年M月D日',\n lll : 'YYYY年M月D日 HH:mm',\n llll : 'YYYY年M月D日(ddd) HH:mm'\n },\n meridiemParse: /午前|午後/i,\n isPM : function (input) {\n return input === '午後';\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return '午前';\n } else {\n return '午後';\n }\n },\n calendar : {\n sameDay : '[今日] LT',\n nextDay : '[明日] LT',\n nextWeek : function (now) {\n if (now.week() < this.week()) {\n return '[来週]dddd LT';\n } else {\n return 'dddd LT';\n }\n },\n lastDay : '[昨日] LT',\n lastWeek : function (now) {\n if (this.week() < now.week()) {\n return '[先週]dddd LT';\n } else {\n return 'dddd LT';\n }\n },\n sameElse : 'L'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}日/,\n ordinal : function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '日';\n default:\n return number;\n }\n },\n relativeTime : {\n future : '%s後',\n past : '%s前',\n s : '数秒',\n ss : '%d秒',\n m : '1分',\n mm : '%d分',\n h : '1時間',\n hh : '%d時間',\n d : '1日',\n dd : '%d日',\n M : '1ヶ月',\n MM : '%dヶ月',\n y : '1年',\n yy : '%d年'\n }\n });\n\n return ja;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var it = moment.defineLocale('it', {\n months : 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split('_'),\n monthsShort : 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'),\n weekdays : 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split('_'),\n weekdaysShort : 'dom_lun_mar_mer_gio_ven_sab'.split('_'),\n weekdaysMin : 'do_lu_ma_me_gi_ve_sa'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[Oggi alle] LT',\n nextDay: '[Domani alle] LT',\n nextWeek: 'dddd [alle] LT',\n lastDay: '[Ieri alle] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[la scorsa] dddd [alle] LT';\n default:\n return '[lo scorso] dddd [alle] LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : function (s) {\n return ((/^[0-9].+$/).test(s) ? 'tra' : 'in') + ' ' + s;\n },\n past : '%s fa',\n s : 'alcuni secondi',\n ss : '%d secondi',\n m : 'un minuto',\n mm : '%d minuti',\n h : 'un\\'ora',\n hh : '%d ore',\n d : 'un giorno',\n dd : '%d giorni',\n M : 'un mese',\n MM : '%d mesi',\n y : 'un anno',\n yy : '%d anni'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}º/,\n ordinal: '%dº',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return it;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function plural(n) {\n if (n % 100 === 11) {\n return true;\n } else if (n % 10 === 1) {\n return false;\n }\n return true;\n }\n function translate(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n switch (key) {\n case 's':\n return withoutSuffix || isFuture ? 'nokkrar sekúndur' : 'nokkrum sekúndum';\n case 'ss':\n if (plural(number)) {\n return result + (withoutSuffix || isFuture ? 'sekúndur' : 'sekúndum');\n }\n return result + 'sekúnda';\n case 'm':\n return withoutSuffix ? 'mínúta' : 'mínútu';\n case 'mm':\n if (plural(number)) {\n return result + (withoutSuffix || isFuture ? 'mínútur' : 'mínútum');\n } else if (withoutSuffix) {\n return result + 'mínúta';\n }\n return result + 'mínútu';\n case 'hh':\n if (plural(number)) {\n return result + (withoutSuffix || isFuture ? 'klukkustundir' : 'klukkustundum');\n }\n return result + 'klukkustund';\n case 'd':\n if (withoutSuffix) {\n return 'dagur';\n }\n return isFuture ? 'dag' : 'degi';\n case 'dd':\n if (plural(number)) {\n if (withoutSuffix) {\n return result + 'dagar';\n }\n return result + (isFuture ? 'daga' : 'dögum');\n } else if (withoutSuffix) {\n return result + 'dagur';\n }\n return result + (isFuture ? 'dag' : 'degi');\n case 'M':\n if (withoutSuffix) {\n return 'mánuður';\n }\n return isFuture ? 'mánuð' : 'mánuði';\n case 'MM':\n if (plural(number)) {\n if (withoutSuffix) {\n return result + 'mánuðir';\n }\n return result + (isFuture ? 'mánuði' : 'mánuðum');\n } else if (withoutSuffix) {\n return result + 'mánuður';\n }\n return result + (isFuture ? 'mánuð' : 'mánuði');\n case 'y':\n return withoutSuffix || isFuture ? 'ár' : 'ári';\n case 'yy':\n if (plural(number)) {\n return result + (withoutSuffix || isFuture ? 'ár' : 'árum');\n }\n return result + (withoutSuffix || isFuture ? 'ár' : 'ári');\n }\n }\n\n var is = moment.defineLocale('is', {\n months : 'janúar_febrúar_mars_apríl_maí_júní_júlí_ágúst_september_október_nóvember_desember'.split('_'),\n monthsShort : 'jan_feb_mar_apr_maí_jún_júl_ágú_sep_okt_nóv_des'.split('_'),\n weekdays : 'sunnudagur_mánudagur_þriðjudagur_miðvikudagur_fimmtudagur_föstudagur_laugardagur'.split('_'),\n weekdaysShort : 'sun_mán_þri_mið_fim_fös_lau'.split('_'),\n weekdaysMin : 'Su_Má_Þr_Mi_Fi_Fö_La'.split('_'),\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY [kl.] H:mm',\n LLLL : 'dddd, D. MMMM YYYY [kl.] H:mm'\n },\n calendar : {\n sameDay : '[í dag kl.] LT',\n nextDay : '[á morgun kl.] LT',\n nextWeek : 'dddd [kl.] LT',\n lastDay : '[í gær kl.] LT',\n lastWeek : '[síðasta] dddd [kl.] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'eftir %s',\n past : 'fyrir %s síðan',\n s : translate,\n ss : translate,\n m : translate,\n mm : translate,\n h : 'klukkustund',\n hh : translate,\n d : translate,\n dd : translate,\n M : translate,\n MM : translate,\n y : translate,\n yy : translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return is;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var id = moment.defineLocale('id', {\n months : 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember'.split('_'),\n monthsShort : 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Agt_Sep_Okt_Nov_Des'.split('_'),\n weekdays : 'Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu'.split('_'),\n weekdaysShort : 'Min_Sen_Sel_Rab_Kam_Jum_Sab'.split('_'),\n weekdaysMin : 'Mg_Sn_Sl_Rb_Km_Jm_Sb'.split('_'),\n longDateFormat : {\n LT : 'HH.mm',\n LTS : 'HH.mm.ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY [pukul] HH.mm',\n LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm'\n },\n meridiemParse: /pagi|siang|sore|malam/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'pagi') {\n return hour;\n } else if (meridiem === 'siang') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'sore' || meridiem === 'malam') {\n return hour + 12;\n }\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'pagi';\n } else if (hours < 15) {\n return 'siang';\n } else if (hours < 19) {\n return 'sore';\n } else {\n return 'malam';\n }\n },\n calendar : {\n sameDay : '[Hari ini pukul] LT',\n nextDay : '[Besok pukul] LT',\n nextWeek : 'dddd [pukul] LT',\n lastDay : '[Kemarin pukul] LT',\n lastWeek : 'dddd [lalu pukul] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'dalam %s',\n past : '%s yang lalu',\n s : 'beberapa detik',\n ss : '%d detik',\n m : 'semenit',\n mm : '%d menit',\n h : 'sejam',\n hh : '%d jam',\n d : 'sehari',\n dd : '%d hari',\n M : 'sebulan',\n MM : '%d bulan',\n y : 'setahun',\n yy : '%d tahun'\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return id;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var hyAm = moment.defineLocale('hy-am', {\n months : {\n format: 'հունվարի_փետրվարի_մարտի_ապրիլի_մայիսի_հունիսի_հուլիսի_օգոստոսի_սեպտեմբերի_հոկտեմբերի_նոյեմբերի_դեկտեմբերի'.split('_'),\n standalone: 'հունվար_փետրվար_մարտ_ապրիլ_մայիս_հունիս_հուլիս_օգոստոս_սեպտեմբեր_հոկտեմբեր_նոյեմբեր_դեկտեմբեր'.split('_')\n },\n monthsShort : 'հնվ_փտր_մրտ_ապր_մյս_հնս_հլս_օգս_սպտ_հկտ_նմբ_դկտ'.split('_'),\n weekdays : 'կիրակի_երկուշաբթի_երեքշաբթի_չորեքշաբթի_հինգշաբթի_ուրբաթ_շաբաթ'.split('_'),\n weekdaysShort : 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'),\n weekdaysMin : 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY թ.',\n LLL : 'D MMMM YYYY թ., HH:mm',\n LLLL : 'dddd, D MMMM YYYY թ., HH:mm'\n },\n calendar : {\n sameDay: '[այսօր] LT',\n nextDay: '[վաղը] LT',\n lastDay: '[երեկ] LT',\n nextWeek: function () {\n return 'dddd [օրը ժամը] LT';\n },\n lastWeek: function () {\n return '[անցած] dddd [օրը ժամը] LT';\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : '%s հետո',\n past : '%s առաջ',\n s : 'մի քանի վայրկյան',\n ss : '%d վայրկյան',\n m : 'րոպե',\n mm : '%d րոպե',\n h : 'ժամ',\n hh : '%d ժամ',\n d : 'օր',\n dd : '%d օր',\n M : 'ամիս',\n MM : '%d ամիս',\n y : 'տարի',\n yy : '%d տարի'\n },\n meridiemParse: /գիշերվա|առավոտվա|ցերեկվա|երեկոյան/,\n isPM: function (input) {\n return /^(ցերեկվա|երեկոյան)$/.test(input);\n },\n meridiem : function (hour) {\n if (hour < 4) {\n return 'գիշերվա';\n } else if (hour < 12) {\n return 'առավոտվա';\n } else if (hour < 17) {\n return 'ցերեկվա';\n } else {\n return 'երեկոյան';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}|\\d{1,2}-(ին|րդ)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'DDD':\n case 'w':\n case 'W':\n case 'DDDo':\n if (number === 1) {\n return number + '-ին';\n }\n return number + '-րդ';\n default:\n return number;\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return hyAm;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var weekEndings = 'vasárnap hétfőn kedden szerdán csütörtökön pénteken szombaton'.split(' ');\n function translate(number, withoutSuffix, key, isFuture) {\n var num = number;\n switch (key) {\n case 's':\n return (isFuture || withoutSuffix) ? 'néhány másodperc' : 'néhány másodperce';\n case 'ss':\n return num + (isFuture || withoutSuffix) ? ' másodperc' : ' másodperce';\n case 'm':\n return 'egy' + (isFuture || withoutSuffix ? ' perc' : ' perce');\n case 'mm':\n return num + (isFuture || withoutSuffix ? ' perc' : ' perce');\n case 'h':\n return 'egy' + (isFuture || withoutSuffix ? ' óra' : ' órája');\n case 'hh':\n return num + (isFuture || withoutSuffix ? ' óra' : ' órája');\n case 'd':\n return 'egy' + (isFuture || withoutSuffix ? ' nap' : ' napja');\n case 'dd':\n return num + (isFuture || withoutSuffix ? ' nap' : ' napja');\n case 'M':\n return 'egy' + (isFuture || withoutSuffix ? ' hónap' : ' hónapja');\n case 'MM':\n return num + (isFuture || withoutSuffix ? ' hónap' : ' hónapja');\n case 'y':\n return 'egy' + (isFuture || withoutSuffix ? ' év' : ' éve');\n case 'yy':\n return num + (isFuture || withoutSuffix ? ' év' : ' éve');\n }\n return '';\n }\n function week(isFuture) {\n return (isFuture ? '' : '[múlt] ') + '[' + weekEndings[this.day()] + '] LT[-kor]';\n }\n\n var hu = moment.defineLocale('hu', {\n months : 'január_február_március_április_május_június_július_augusztus_szeptember_október_november_december'.split('_'),\n monthsShort : 'jan_feb_márc_ápr_máj_jún_júl_aug_szept_okt_nov_dec'.split('_'),\n weekdays : 'vasárnap_hétfő_kedd_szerda_csütörtök_péntek_szombat'.split('_'),\n weekdaysShort : 'vas_hét_kedd_sze_csüt_pén_szo'.split('_'),\n weekdaysMin : 'v_h_k_sze_cs_p_szo'.split('_'),\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'YYYY.MM.DD.',\n LL : 'YYYY. MMMM D.',\n LLL : 'YYYY. MMMM D. H:mm',\n LLLL : 'YYYY. MMMM D., dddd H:mm'\n },\n meridiemParse: /de|du/i,\n isPM: function (input) {\n return input.charAt(1).toLowerCase() === 'u';\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours < 12) {\n return isLower === true ? 'de' : 'DE';\n } else {\n return isLower === true ? 'du' : 'DU';\n }\n },\n calendar : {\n sameDay : '[ma] LT[-kor]',\n nextDay : '[holnap] LT[-kor]',\n nextWeek : function () {\n return week.call(this, true);\n },\n lastDay : '[tegnap] LT[-kor]',\n lastWeek : function () {\n return week.call(this, false);\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s múlva',\n past : '%s',\n s : translate,\n ss : translate,\n m : translate,\n mm : translate,\n h : translate,\n hh : translate,\n d : translate,\n dd : translate,\n M : translate,\n MM : translate,\n y : translate,\n yy : translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return hu;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function translate(number, withoutSuffix, key) {\n var result = number + ' ';\n switch (key) {\n case 'ss':\n if (number === 1) {\n result += 'sekunda';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sekunde';\n } else {\n result += 'sekundi';\n }\n return result;\n case 'm':\n return withoutSuffix ? 'jedna minuta' : 'jedne minute';\n case 'mm':\n if (number === 1) {\n result += 'minuta';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'minute';\n } else {\n result += 'minuta';\n }\n return result;\n case 'h':\n return withoutSuffix ? 'jedan sat' : 'jednog sata';\n case 'hh':\n if (number === 1) {\n result += 'sat';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sata';\n } else {\n result += 'sati';\n }\n return result;\n case 'dd':\n if (number === 1) {\n result += 'dan';\n } else {\n result += 'dana';\n }\n return result;\n case 'MM':\n if (number === 1) {\n result += 'mjesec';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'mjeseca';\n } else {\n result += 'mjeseci';\n }\n return result;\n case 'yy':\n if (number === 1) {\n result += 'godina';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'godine';\n } else {\n result += 'godina';\n }\n return result;\n }\n }\n\n var hr = moment.defineLocale('hr', {\n months : {\n format: 'siječnja_veljače_ožujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca'.split('_'),\n standalone: 'siječanj_veljača_ožujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac'.split('_')\n },\n monthsShort : 'sij._velj._ožu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.'.split('_'),\n monthsParseExact: true,\n weekdays : 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split('_'),\n weekdaysShort : 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n weekdaysMin : 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY H:mm',\n LLLL : 'dddd, D. MMMM YYYY H:mm'\n },\n calendar : {\n sameDay : '[danas u] LT',\n nextDay : '[sutra u] LT',\n nextWeek : function () {\n switch (this.day()) {\n case 0:\n return '[u] [nedjelju] [u] LT';\n case 3:\n return '[u] [srijedu] [u] LT';\n case 6:\n return '[u] [subotu] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay : '[jučer u] LT',\n lastWeek : function () {\n switch (this.day()) {\n case 0:\n case 3:\n return '[prošlu] dddd [u] LT';\n case 6:\n return '[prošle] [subote] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[prošli] dddd [u] LT';\n }\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'za %s',\n past : 'prije %s',\n s : 'par sekundi',\n ss : translate,\n m : translate,\n mm : translate,\n h : translate,\n hh : translate,\n d : 'dan',\n dd : translate,\n M : 'mjesec',\n MM : translate,\n y : 'godinu',\n yy : translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return hr;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '१',\n '2': '२',\n '3': '३',\n '4': '४',\n '5': '५',\n '6': '६',\n '7': '७',\n '8': '८',\n '9': '९',\n '0': '०'\n },\n numberMap = {\n '१': '1',\n '२': '2',\n '३': '3',\n '४': '4',\n '५': '5',\n '६': '6',\n '७': '7',\n '८': '8',\n '९': '9',\n '०': '0'\n };\n\n var hi = moment.defineLocale('hi', {\n months : 'जनवरी_फ़रवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितम्बर_अक्टूबर_नवम्बर_दिसम्बर'.split('_'),\n monthsShort : 'जन._फ़र._मार्च_अप्रै._मई_जून_जुल._अग._सित._अक्टू._नव._दिस.'.split('_'),\n monthsParseExact: true,\n weekdays : 'रविवार_सोमवार_मंगलवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'),\n weekdaysShort : 'रवि_सोम_मंगल_बुध_गुरू_शुक्र_शनि'.split('_'),\n weekdaysMin : 'र_सो_मं_बु_गु_शु_श'.split('_'),\n longDateFormat : {\n LT : 'A h:mm बजे',\n LTS : 'A h:mm:ss बजे',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, A h:mm बजे',\n LLLL : 'dddd, D MMMM YYYY, A h:mm बजे'\n },\n calendar : {\n sameDay : '[आज] LT',\n nextDay : '[कल] LT',\n nextWeek : 'dddd, LT',\n lastDay : '[कल] LT',\n lastWeek : '[पिछले] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s में',\n past : '%s पहले',\n s : 'कुछ ही क्षण',\n ss : '%d सेकंड',\n m : 'एक मिनट',\n mm : '%d मिनट',\n h : 'एक घंटा',\n hh : '%d घंटे',\n d : 'एक दिन',\n dd : '%d दिन',\n M : 'एक महीने',\n MM : '%d महीने',\n y : 'एक वर्ष',\n yy : '%d वर्ष'\n },\n preparse: function (string) {\n return string.replace(/[१२३४५६७८९०]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n // Hindi notation for meridiems are quite fuzzy in practice. While there exists\n // a rigid notion of a 'Pahar' it is not used as rigidly in modern Hindi.\n meridiemParse: /रात|सुबह|दोपहर|शाम/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'रात') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'सुबह') {\n return hour;\n } else if (meridiem === 'दोपहर') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'शाम') {\n return hour + 12;\n }\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'रात';\n } else if (hour < 10) {\n return 'सुबह';\n } else if (hour < 17) {\n return 'दोपहर';\n } else if (hour < 20) {\n return 'शाम';\n } else {\n return 'रात';\n }\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return hi;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var he = moment.defineLocale('he', {\n months : 'ינואר_פברואר_מרץ_אפריל_מאי_יוני_יולי_אוגוסט_ספטמבר_אוקטובר_נובמבר_דצמבר'.split('_'),\n monthsShort : 'ינו׳_פבר׳_מרץ_אפר׳_מאי_יוני_יולי_אוג׳_ספט׳_אוק׳_נוב׳_דצמ׳'.split('_'),\n weekdays : 'ראשון_שני_שלישי_רביעי_חמישי_שישי_שבת'.split('_'),\n weekdaysShort : 'א׳_ב׳_ג׳_ד׳_ה׳_ו׳_ש׳'.split('_'),\n weekdaysMin : 'א_ב_ג_ד_ה_ו_ש'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D [ב]MMMM YYYY',\n LLL : 'D [ב]MMMM YYYY HH:mm',\n LLLL : 'dddd, D [ב]MMMM YYYY HH:mm',\n l : 'D/M/YYYY',\n ll : 'D MMM YYYY',\n lll : 'D MMM YYYY HH:mm',\n llll : 'ddd, D MMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[היום ב־]LT',\n nextDay : '[מחר ב־]LT',\n nextWeek : 'dddd [בשעה] LT',\n lastDay : '[אתמול ב־]LT',\n lastWeek : '[ביום] dddd [האחרון בשעה] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'בעוד %s',\n past : 'לפני %s',\n s : 'מספר שניות',\n ss : '%d שניות',\n m : 'דקה',\n mm : '%d דקות',\n h : 'שעה',\n hh : function (number) {\n if (number === 2) {\n return 'שעתיים';\n }\n return number + ' שעות';\n },\n d : 'יום',\n dd : function (number) {\n if (number === 2) {\n return 'יומיים';\n }\n return number + ' ימים';\n },\n M : 'חודש',\n MM : function (number) {\n if (number === 2) {\n return 'חודשיים';\n }\n return number + ' חודשים';\n },\n y : 'שנה',\n yy : function (number) {\n if (number === 2) {\n return 'שנתיים';\n } else if (number % 10 === 0 && number !== 10) {\n return number + ' שנה';\n }\n return number + ' שנים';\n }\n },\n meridiemParse: /אחה\"צ|לפנה\"צ|אחרי הצהריים|לפני הצהריים|לפנות בוקר|בבוקר|בערב/i,\n isPM : function (input) {\n return /^(אחה\"צ|אחרי הצהריים|בערב)$/.test(input);\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 5) {\n return 'לפנות בוקר';\n } else if (hour < 10) {\n return 'בבוקר';\n } else if (hour < 12) {\n return isLower ? 'לפנה\"צ' : 'לפני הצהריים';\n } else if (hour < 18) {\n return isLower ? 'אחה\"צ' : 'אחרי הצהריים';\n } else {\n return 'בערב';\n }\n }\n });\n\n return he;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '૧',\n '2': '૨',\n '3': '૩',\n '4': '૪',\n '5': '૫',\n '6': '૬',\n '7': '૭',\n '8': '૮',\n '9': '૯',\n '0': '૦'\n },\n numberMap = {\n '૧': '1',\n '૨': '2',\n '૩': '3',\n '૪': '4',\n '૫': '5',\n '૬': '6',\n '૭': '7',\n '૮': '8',\n '૯': '9',\n '૦': '0'\n };\n\n var gu = moment.defineLocale('gu', {\n months: 'જાન્યુઆરી_ફેબ્રુઆરી_માર્ચ_એપ્રિલ_મે_જૂન_જુલાઈ_ઑગસ્ટ_સપ્ટેમ્બર_ઑક્ટ્બર_નવેમ્બર_ડિસેમ્બર'.split('_'),\n monthsShort: 'જાન્યુ._ફેબ્રુ._માર્ચ_એપ્રિ._મે_જૂન_જુલા._ઑગ._સપ્ટે._ઑક્ટ્._નવે._ડિસે.'.split('_'),\n monthsParseExact: true,\n weekdays: 'રવિવાર_સોમવાર_મંગળવાર_બુધ્વાર_ગુરુવાર_શુક્રવાર_શનિવાર'.split('_'),\n weekdaysShort: 'રવિ_સોમ_મંગળ_બુધ્_ગુરુ_શુક્ર_શનિ'.split('_'),\n weekdaysMin: 'ર_સો_મં_બુ_ગુ_શુ_શ'.split('_'),\n longDateFormat: {\n LT: 'A h:mm વાગ્યે',\n LTS: 'A h:mm:ss વાગ્યે',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm વાગ્યે',\n LLLL: 'dddd, D MMMM YYYY, A h:mm વાગ્યે'\n },\n calendar: {\n sameDay: '[આજ] LT',\n nextDay: '[કાલે] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[ગઇકાલે] LT',\n lastWeek: '[પાછલા] dddd, LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s મા',\n past: '%s પેહલા',\n s: 'અમુક પળો',\n ss: '%d સેકંડ',\n m: 'એક મિનિટ',\n mm: '%d મિનિટ',\n h: 'એક કલાક',\n hh: '%d કલાક',\n d: 'એક દિવસ',\n dd: '%d દિવસ',\n M: 'એક મહિનો',\n MM: '%d મહિનો',\n y: 'એક વર્ષ',\n yy: '%d વર્ષ'\n },\n preparse: function (string) {\n return string.replace(/[૧૨૩૪૫૬૭૮૯૦]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n // Gujarati notation for meridiems are quite fuzzy in practice. While there exists\n // a rigid notion of a 'Pahar' it is not used as rigidly in modern Gujarati.\n meridiemParse: /રાત|બપોર|સવાર|સાંજ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'રાત') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'સવાર') {\n return hour;\n } else if (meridiem === 'બપોર') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'સાંજ') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'રાત';\n } else if (hour < 10) {\n return 'સવાર';\n } else if (hour < 17) {\n return 'બપોર';\n } else if (hour < 20) {\n return 'સાંજ';\n } else {\n return 'રાત';\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return gu;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n 's': ['thodde secondanim', 'thodde second'],\n 'ss': [number + ' secondanim', number + ' second'],\n 'm': ['eka mintan', 'ek minute'],\n 'mm': [number + ' mintanim', number + ' mintam'],\n 'h': ['eka horan', 'ek hor'],\n 'hh': [number + ' horanim', number + ' horam'],\n 'd': ['eka disan', 'ek dis'],\n 'dd': [number + ' disanim', number + ' dis'],\n 'M': ['eka mhoinean', 'ek mhoino'],\n 'MM': [number + ' mhoineanim', number + ' mhoine'],\n 'y': ['eka vorsan', 'ek voros'],\n 'yy': [number + ' vorsanim', number + ' vorsam']\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n\n var gomLatn = moment.defineLocale('gom-latn', {\n months : 'Janer_Febrer_Mars_Abril_Mai_Jun_Julai_Agost_Setembr_Otubr_Novembr_Dezembr'.split('_'),\n monthsShort : 'Jan._Feb._Mars_Abr._Mai_Jun_Jul._Ago._Set._Otu._Nov._Dez.'.split('_'),\n monthsParseExact : true,\n weekdays : 'Aitar_Somar_Mongllar_Budvar_Brestar_Sukrar_Son\\'var'.split('_'),\n weekdaysShort : 'Ait._Som._Mon._Bud._Bre._Suk._Son.'.split('_'),\n weekdaysMin : 'Ai_Sm_Mo_Bu_Br_Su_Sn'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'A h:mm [vazta]',\n LTS : 'A h:mm:ss [vazta]',\n L : 'DD-MM-YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY A h:mm [vazta]',\n LLLL : 'dddd, MMMM[achea] Do, YYYY, A h:mm [vazta]',\n llll: 'ddd, D MMM YYYY, A h:mm [vazta]'\n },\n calendar : {\n sameDay: '[Aiz] LT',\n nextDay: '[Faleam] LT',\n nextWeek: '[Ieta to] dddd[,] LT',\n lastDay: '[Kal] LT',\n lastWeek: '[Fatlo] dddd[,] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : '%s',\n past : '%s adim',\n s : processRelativeTime,\n ss : processRelativeTime,\n m : processRelativeTime,\n mm : processRelativeTime,\n h : processRelativeTime,\n hh : processRelativeTime,\n d : processRelativeTime,\n dd : processRelativeTime,\n M : processRelativeTime,\n MM : processRelativeTime,\n y : processRelativeTime,\n yy : processRelativeTime\n },\n dayOfMonthOrdinalParse : /\\d{1,2}(er)/,\n ordinal : function (number, period) {\n switch (period) {\n // the ordinal 'er' only applies to day of the month\n case 'D':\n return number + 'er';\n default:\n case 'M':\n case 'Q':\n case 'DDD':\n case 'd':\n case 'w':\n case 'W':\n return number;\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n },\n meridiemParse: /rati|sokalli|donparam|sanje/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'rati') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'sokalli') {\n return hour;\n } else if (meridiem === 'donparam') {\n return hour > 12 ? hour : hour + 12;\n } else if (meridiem === 'sanje') {\n return hour + 12;\n }\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'rati';\n } else if (hour < 12) {\n return 'sokalli';\n } else if (hour < 16) {\n return 'donparam';\n } else if (hour < 20) {\n return 'sanje';\n } else {\n return 'rati';\n }\n }\n });\n\n return gomLatn;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var gl = moment.defineLocale('gl', {\n months : 'xaneiro_febreiro_marzo_abril_maio_xuño_xullo_agosto_setembro_outubro_novembro_decembro'.split('_'),\n monthsShort : 'xan._feb._mar._abr._mai._xuñ._xul._ago._set._out._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays : 'domingo_luns_martes_mércores_xoves_venres_sábado'.split('_'),\n weekdaysShort : 'dom._lun._mar._mér._xov._ven._sáb.'.split('_'),\n weekdaysMin : 'do_lu_ma_mé_xo_ve_sá'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D [de] MMMM [de] YYYY',\n LLL : 'D [de] MMMM [de] YYYY H:mm',\n LLLL : 'dddd, D [de] MMMM [de] YYYY H:mm'\n },\n calendar : {\n sameDay : function () {\n return '[hoxe ' + ((this.hours() !== 1) ? 'ás' : 'á') + '] LT';\n },\n nextDay : function () {\n return '[mañá ' + ((this.hours() !== 1) ? 'ás' : 'á') + '] LT';\n },\n nextWeek : function () {\n return 'dddd [' + ((this.hours() !== 1) ? 'ás' : 'a') + '] LT';\n },\n lastDay : function () {\n return '[onte ' + ((this.hours() !== 1) ? 'á' : 'a') + '] LT';\n },\n lastWeek : function () {\n return '[o] dddd [pasado ' + ((this.hours() !== 1) ? 'ás' : 'a') + '] LT';\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : function (str) {\n if (str.indexOf('un') === 0) {\n return 'n' + str;\n }\n return 'en ' + str;\n },\n past : 'hai %s',\n s : 'uns segundos',\n ss : '%d segundos',\n m : 'un minuto',\n mm : '%d minutos',\n h : 'unha hora',\n hh : '%d horas',\n d : 'un día',\n dd : '%d días',\n M : 'un mes',\n MM : '%d meses',\n y : 'un ano',\n yy : '%d anos'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}º/,\n ordinal : '%dº',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return gl;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var months = [\n 'Am Faoilleach', 'An Gearran', 'Am Màrt', 'An Giblean', 'An Cèitean', 'An t-Ògmhios', 'An t-Iuchar', 'An Lùnastal', 'An t-Sultain', 'An Dàmhair', 'An t-Samhain', 'An Dùbhlachd'\n ];\n\n var monthsShort = ['Faoi', 'Gear', 'Màrt', 'Gibl', 'Cèit', 'Ògmh', 'Iuch', 'Lùn', 'Sult', 'Dàmh', 'Samh', 'Dùbh'];\n\n var weekdays = ['Didòmhnaich', 'Diluain', 'Dimàirt', 'Diciadain', 'Diardaoin', 'Dihaoine', 'Disathairne'];\n\n var weekdaysShort = ['Did', 'Dil', 'Dim', 'Dic', 'Dia', 'Dih', 'Dis'];\n\n var weekdaysMin = ['Dò', 'Lu', 'Mà', 'Ci', 'Ar', 'Ha', 'Sa'];\n\n var gd = moment.defineLocale('gd', {\n months : months,\n monthsShort : monthsShort,\n monthsParseExact : true,\n weekdays : weekdays,\n weekdaysShort : weekdaysShort,\n weekdaysMin : weekdaysMin,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[An-diugh aig] LT',\n nextDay : '[A-màireach aig] LT',\n nextWeek : 'dddd [aig] LT',\n lastDay : '[An-dè aig] LT',\n lastWeek : 'dddd [seo chaidh] [aig] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'ann an %s',\n past : 'bho chionn %s',\n s : 'beagan diogan',\n ss : '%d diogan',\n m : 'mionaid',\n mm : '%d mionaidean',\n h : 'uair',\n hh : '%d uairean',\n d : 'latha',\n dd : '%d latha',\n M : 'mìos',\n MM : '%d mìosan',\n y : 'bliadhna',\n yy : '%d bliadhna'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}(d|na|mh)/,\n ordinal : function (number) {\n var output = number === 1 ? 'd' : number % 10 === 2 ? 'na' : 'mh';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return gd;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var monthsShortWithDots = 'jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.'.split('_'),\n monthsShortWithoutDots = 'jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_');\n\n var fy = moment.defineLocale('fy', {\n months : 'jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber'.split('_'),\n monthsShort : function (m, format) {\n if (!m) {\n return monthsShortWithDots;\n } else if (/-MMM-/.test(format)) {\n return monthsShortWithoutDots[m.month()];\n } else {\n return monthsShortWithDots[m.month()];\n }\n },\n monthsParseExact : true,\n weekdays : 'snein_moandei_tiisdei_woansdei_tongersdei_freed_sneon'.split('_'),\n weekdaysShort : 'si._mo._ti._wo._to._fr._so.'.split('_'),\n weekdaysMin : 'Si_Mo_Ti_Wo_To_Fr_So'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD-MM-YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[hjoed om] LT',\n nextDay: '[moarn om] LT',\n nextWeek: 'dddd [om] LT',\n lastDay: '[juster om] LT',\n lastWeek: '[ôfrûne] dddd [om] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'oer %s',\n past : '%s lyn',\n s : 'in pear sekonden',\n ss : '%d sekonden',\n m : 'ien minút',\n mm : '%d minuten',\n h : 'ien oere',\n hh : '%d oeren',\n d : 'ien dei',\n dd : '%d dagen',\n M : 'ien moanne',\n MM : '%d moannen',\n y : 'ien jier',\n yy : '%d jierren'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n ordinal : function (number) {\n return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de');\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return fy;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var frCh = moment.defineLocale('fr-ch', {\n months : 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'),\n monthsShort : 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'),\n monthsParseExact : true,\n weekdays : 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n weekdaysShort : 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n weekdaysMin : 'di_lu_ma_me_je_ve_sa'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Aujourd’hui à] LT',\n nextDay : '[Demain à] LT',\n nextWeek : 'dddd [à] LT',\n lastDay : '[Hier à] LT',\n lastWeek : 'dddd [dernier à] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'dans %s',\n past : 'il y a %s',\n s : 'quelques secondes',\n ss : '%d secondes',\n m : 'une minute',\n mm : '%d minutes',\n h : 'une heure',\n hh : '%d heures',\n d : 'un jour',\n dd : '%d jours',\n M : 'un mois',\n MM : '%d mois',\n y : 'un an',\n yy : '%d ans'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(er|e)/,\n ordinal : function (number, period) {\n switch (period) {\n // Words with masculine grammatical gender: mois, trimestre, jour\n default:\n case 'M':\n case 'Q':\n case 'D':\n case 'DDD':\n case 'd':\n return number + (number === 1 ? 'er' : 'e');\n\n // Words with feminine grammatical gender: semaine\n case 'w':\n case 'W':\n return number + (number === 1 ? 're' : 'e');\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return frCh;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var frCa = moment.defineLocale('fr-ca', {\n months : 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'),\n monthsShort : 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'),\n monthsParseExact : true,\n weekdays : 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n weekdaysShort : 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n weekdaysMin : 'di_lu_ma_me_je_ve_sa'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY-MM-DD',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Aujourd’hui à] LT',\n nextDay : '[Demain à] LT',\n nextWeek : 'dddd [à] LT',\n lastDay : '[Hier à] LT',\n lastWeek : 'dddd [dernier à] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'dans %s',\n past : 'il y a %s',\n s : 'quelques secondes',\n ss : '%d secondes',\n m : 'une minute',\n mm : '%d minutes',\n h : 'une heure',\n hh : '%d heures',\n d : 'un jour',\n dd : '%d jours',\n M : 'un mois',\n MM : '%d mois',\n y : 'un an',\n yy : '%d ans'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(er|e)/,\n ordinal : function (number, period) {\n switch (period) {\n // Words with masculine grammatical gender: mois, trimestre, jour\n default:\n case 'M':\n case 'Q':\n case 'D':\n case 'DDD':\n case 'd':\n return number + (number === 1 ? 'er' : 'e');\n\n // Words with feminine grammatical gender: semaine\n case 'w':\n case 'W':\n return number + (number === 1 ? 're' : 'e');\n }\n }\n });\n\n return frCa;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var fr = moment.defineLocale('fr', {\n months : 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'),\n monthsShort : 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'),\n monthsParseExact : true,\n weekdays : 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n weekdaysShort : 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n weekdaysMin : 'di_lu_ma_me_je_ve_sa'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Aujourd’hui à] LT',\n nextDay : '[Demain à] LT',\n nextWeek : 'dddd [à] LT',\n lastDay : '[Hier à] LT',\n lastWeek : 'dddd [dernier à] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'dans %s',\n past : 'il y a %s',\n s : 'quelques secondes',\n ss : '%d secondes',\n m : 'une minute',\n mm : '%d minutes',\n h : 'une heure',\n hh : '%d heures',\n d : 'un jour',\n dd : '%d jours',\n M : 'un mois',\n MM : '%d mois',\n y : 'un an',\n yy : '%d ans'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(er|)/,\n ordinal : function (number, period) {\n switch (period) {\n // TODO: Return 'e' when day of month > 1. Move this case inside\n // block for masculine words below.\n // See https://github.com/moment/moment/issues/3375\n case 'D':\n return number + (number === 1 ? 'er' : '');\n\n // Words with masculine grammatical gender: mois, trimestre, jour\n default:\n case 'M':\n case 'Q':\n case 'DDD':\n case 'd':\n return number + (number === 1 ? 'er' : 'e');\n\n // Words with feminine grammatical gender: semaine\n case 'w':\n case 'W':\n return number + (number === 1 ? 're' : 'e');\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return fr;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var fo = moment.defineLocale('fo', {\n months : 'januar_februar_mars_apríl_mai_juni_juli_august_september_oktober_november_desember'.split('_'),\n monthsShort : 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'),\n weekdays : 'sunnudagur_mánadagur_týsdagur_mikudagur_hósdagur_fríggjadagur_leygardagur'.split('_'),\n weekdaysShort : 'sun_mán_týs_mik_hós_frí_ley'.split('_'),\n weekdaysMin : 'su_má_tý_mi_hó_fr_le'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D. MMMM, YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Í dag kl.] LT',\n nextDay : '[Í morgin kl.] LT',\n nextWeek : 'dddd [kl.] LT',\n lastDay : '[Í gjár kl.] LT',\n lastWeek : '[síðstu] dddd [kl] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'um %s',\n past : '%s síðani',\n s : 'fá sekund',\n ss : '%d sekundir',\n m : 'ein minutt',\n mm : '%d minuttir',\n h : 'ein tími',\n hh : '%d tímar',\n d : 'ein dagur',\n dd : '%d dagar',\n M : 'ein mánaði',\n MM : '%d mánaðir',\n y : 'eitt ár',\n yy : '%d ár'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return fo;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var numbersPast = 'nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän'.split(' '),\n numbersFuture = [\n 'nolla', 'yhden', 'kahden', 'kolmen', 'neljän', 'viiden', 'kuuden',\n numbersPast[7], numbersPast[8], numbersPast[9]\n ];\n function translate(number, withoutSuffix, key, isFuture) {\n var result = '';\n switch (key) {\n case 's':\n return isFuture ? 'muutaman sekunnin' : 'muutama sekunti';\n case 'ss':\n return isFuture ? 'sekunnin' : 'sekuntia';\n case 'm':\n return isFuture ? 'minuutin' : 'minuutti';\n case 'mm':\n result = isFuture ? 'minuutin' : 'minuuttia';\n break;\n case 'h':\n return isFuture ? 'tunnin' : 'tunti';\n case 'hh':\n result = isFuture ? 'tunnin' : 'tuntia';\n break;\n case 'd':\n return isFuture ? 'päivän' : 'päivä';\n case 'dd':\n result = isFuture ? 'päivän' : 'päivää';\n break;\n case 'M':\n return isFuture ? 'kuukauden' : 'kuukausi';\n case 'MM':\n result = isFuture ? 'kuukauden' : 'kuukautta';\n break;\n case 'y':\n return isFuture ? 'vuoden' : 'vuosi';\n case 'yy':\n result = isFuture ? 'vuoden' : 'vuotta';\n break;\n }\n result = verbalNumber(number, isFuture) + ' ' + result;\n return result;\n }\n function verbalNumber(number, isFuture) {\n return number < 10 ? (isFuture ? numbersFuture[number] : numbersPast[number]) : number;\n }\n\n var fi = moment.defineLocale('fi', {\n months : 'tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu'.split('_'),\n monthsShort : 'tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu'.split('_'),\n weekdays : 'sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai'.split('_'),\n weekdaysShort : 'su_ma_ti_ke_to_pe_la'.split('_'),\n weekdaysMin : 'su_ma_ti_ke_to_pe_la'.split('_'),\n longDateFormat : {\n LT : 'HH.mm',\n LTS : 'HH.mm.ss',\n L : 'DD.MM.YYYY',\n LL : 'Do MMMM[ta] YYYY',\n LLL : 'Do MMMM[ta] YYYY, [klo] HH.mm',\n LLLL : 'dddd, Do MMMM[ta] YYYY, [klo] HH.mm',\n l : 'D.M.YYYY',\n ll : 'Do MMM YYYY',\n lll : 'Do MMM YYYY, [klo] HH.mm',\n llll : 'ddd, Do MMM YYYY, [klo] HH.mm'\n },\n calendar : {\n sameDay : '[tänään] [klo] LT',\n nextDay : '[huomenna] [klo] LT',\n nextWeek : 'dddd [klo] LT',\n lastDay : '[eilen] [klo] LT',\n lastWeek : '[viime] dddd[na] [klo] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s päästä',\n past : '%s sitten',\n s : translate,\n ss : translate,\n m : translate,\n mm : translate,\n h : translate,\n hh : translate,\n d : translate,\n dd : translate,\n M : translate,\n MM : translate,\n y : translate,\n yy : translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return fi;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '۱',\n '2': '۲',\n '3': '۳',\n '4': '۴',\n '5': '۵',\n '6': '۶',\n '7': '۷',\n '8': '۸',\n '9': '۹',\n '0': '۰'\n }, numberMap = {\n '۱': '1',\n '۲': '2',\n '۳': '3',\n '۴': '4',\n '۵': '5',\n '۶': '6',\n '۷': '7',\n '۸': '8',\n '۹': '9',\n '۰': '0'\n };\n\n var fa = moment.defineLocale('fa', {\n months : 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split('_'),\n monthsShort : 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split('_'),\n weekdays : 'یک\\u200cشنبه_دوشنبه_سه\\u200cشنبه_چهارشنبه_پنج\\u200cشنبه_جمعه_شنبه'.split('_'),\n weekdaysShort : 'یک\\u200cشنبه_دوشنبه_سه\\u200cشنبه_چهارشنبه_پنج\\u200cشنبه_جمعه_شنبه'.split('_'),\n weekdaysMin : 'ی_د_س_چ_پ_ج_ش'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n meridiemParse: /قبل از ظهر|بعد از ظهر/,\n isPM: function (input) {\n return /بعد از ظهر/.test(input);\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'قبل از ظهر';\n } else {\n return 'بعد از ظهر';\n }\n },\n calendar : {\n sameDay : '[امروز ساعت] LT',\n nextDay : '[فردا ساعت] LT',\n nextWeek : 'dddd [ساعت] LT',\n lastDay : '[دیروز ساعت] LT',\n lastWeek : 'dddd [پیش] [ساعت] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'در %s',\n past : '%s پیش',\n s : 'چند ثانیه',\n ss : 'ثانیه d%',\n m : 'یک دقیقه',\n mm : '%d دقیقه',\n h : 'یک ساعت',\n hh : '%d ساعت',\n d : 'یک روز',\n dd : '%d روز',\n M : 'یک ماه',\n MM : '%d ماه',\n y : 'یک سال',\n yy : '%d سال'\n },\n preparse: function (string) {\n return string.replace(/[۰-۹]/g, function (match) {\n return numberMap[match];\n }).replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n }).replace(/,/g, '،');\n },\n dayOfMonthOrdinalParse: /\\d{1,2}م/,\n ordinal : '%dم',\n week : {\n dow : 6, // Saturday is the first day of the week.\n doy : 12 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return fa;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var eu = moment.defineLocale('eu', {\n months : 'urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua'.split('_'),\n monthsShort : 'urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.'.split('_'),\n monthsParseExact : true,\n weekdays : 'igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata'.split('_'),\n weekdaysShort : 'ig._al._ar._az._og._ol._lr.'.split('_'),\n weekdaysMin : 'ig_al_ar_az_og_ol_lr'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY-MM-DD',\n LL : 'YYYY[ko] MMMM[ren] D[a]',\n LLL : 'YYYY[ko] MMMM[ren] D[a] HH:mm',\n LLLL : 'dddd, YYYY[ko] MMMM[ren] D[a] HH:mm',\n l : 'YYYY-M-D',\n ll : 'YYYY[ko] MMM D[a]',\n lll : 'YYYY[ko] MMM D[a] HH:mm',\n llll : 'ddd, YYYY[ko] MMM D[a] HH:mm'\n },\n calendar : {\n sameDay : '[gaur] LT[etan]',\n nextDay : '[bihar] LT[etan]',\n nextWeek : 'dddd LT[etan]',\n lastDay : '[atzo] LT[etan]',\n lastWeek : '[aurreko] dddd LT[etan]',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s barru',\n past : 'duela %s',\n s : 'segundo batzuk',\n ss : '%d segundo',\n m : 'minutu bat',\n mm : '%d minutu',\n h : 'ordu bat',\n hh : '%d ordu',\n d : 'egun bat',\n dd : '%d egun',\n M : 'hilabete bat',\n MM : '%d hilabete',\n y : 'urte bat',\n yy : '%d urte'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return eu;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n 's' : ['mõne sekundi', 'mõni sekund', 'paar sekundit'],\n 'ss': [number + 'sekundi', number + 'sekundit'],\n 'm' : ['ühe minuti', 'üks minut'],\n 'mm': [number + ' minuti', number + ' minutit'],\n 'h' : ['ühe tunni', 'tund aega', 'üks tund'],\n 'hh': [number + ' tunni', number + ' tundi'],\n 'd' : ['ühe päeva', 'üks päev'],\n 'M' : ['kuu aja', 'kuu aega', 'üks kuu'],\n 'MM': [number + ' kuu', number + ' kuud'],\n 'y' : ['ühe aasta', 'aasta', 'üks aasta'],\n 'yy': [number + ' aasta', number + ' aastat']\n };\n if (withoutSuffix) {\n return format[key][2] ? format[key][2] : format[key][1];\n }\n return isFuture ? format[key][0] : format[key][1];\n }\n\n var et = moment.defineLocale('et', {\n months : 'jaanuar_veebruar_märts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember'.split('_'),\n monthsShort : 'jaan_veebr_märts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets'.split('_'),\n weekdays : 'pühapäev_esmaspäev_teisipäev_kolmapäev_neljapäev_reede_laupäev'.split('_'),\n weekdaysShort : 'P_E_T_K_N_R_L'.split('_'),\n weekdaysMin : 'P_E_T_K_N_R_L'.split('_'),\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY H:mm',\n LLLL : 'dddd, D. MMMM YYYY H:mm'\n },\n calendar : {\n sameDay : '[Täna,] LT',\n nextDay : '[Homme,] LT',\n nextWeek : '[Järgmine] dddd LT',\n lastDay : '[Eile,] LT',\n lastWeek : '[Eelmine] dddd LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s pärast',\n past : '%s tagasi',\n s : processRelativeTime,\n ss : processRelativeTime,\n m : processRelativeTime,\n mm : processRelativeTime,\n h : processRelativeTime,\n hh : processRelativeTime,\n d : processRelativeTime,\n dd : '%d päeva',\n M : processRelativeTime,\n MM : processRelativeTime,\n y : processRelativeTime,\n yy : processRelativeTime\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return et;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_'),\n monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_');\n\n var esUs = moment.defineLocale('es-us', {\n months : 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'),\n monthsShort : function (m, format) {\n if (!m) {\n return monthsShortDot;\n } else if (/-MMM-/.test(format)) {\n return monthsShort[m.month()];\n } else {\n return monthsShortDot[m.month()];\n }\n },\n monthsParseExact : true,\n weekdays : 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n weekdaysShort : 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n weekdaysMin : 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'h:mm A',\n LTS : 'h:mm:ss A',\n L : 'MM/DD/YYYY',\n LL : 'MMMM [de] D [de] YYYY',\n LLL : 'MMMM [de] D [de] YYYY h:mm A',\n LLLL : 'dddd, MMMM [de] D [de] YYYY h:mm A'\n },\n calendar : {\n sameDay : function () {\n return '[hoy a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n nextDay : function () {\n return '[mañana a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n nextWeek : function () {\n return 'dddd [a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n lastDay : function () {\n return '[ayer a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n lastWeek : function () {\n return '[el] dddd [pasado a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'en %s',\n past : 'hace %s',\n s : 'unos segundos',\n ss : '%d segundos',\n m : 'un minuto',\n mm : '%d minutos',\n h : 'una hora',\n hh : '%d horas',\n d : 'un día',\n dd : '%d días',\n M : 'un mes',\n MM : '%d meses',\n y : 'un año',\n yy : '%d años'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}º/,\n ordinal : '%dº',\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return esUs;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_'),\n monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_');\n\n var monthsParse = [/^ene/i, /^feb/i, /^mar/i, /^abr/i, /^may/i, /^jun/i, /^jul/i, /^ago/i, /^sep/i, /^oct/i, /^nov/i, /^dic/i];\n var monthsRegex = /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n\n var esDo = moment.defineLocale('es-do', {\n months : 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'),\n monthsShort : function (m, format) {\n if (!m) {\n return monthsShortDot;\n } else if (/-MMM-/.test(format)) {\n return monthsShort[m.month()];\n } else {\n return monthsShortDot[m.month()];\n }\n },\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n monthsShortStrictRegex: /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n weekdays : 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n weekdaysShort : 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n weekdaysMin : 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'h:mm A',\n LTS : 'h:mm:ss A',\n L : 'DD/MM/YYYY',\n LL : 'D [de] MMMM [de] YYYY',\n LLL : 'D [de] MMMM [de] YYYY h:mm A',\n LLLL : 'dddd, D [de] MMMM [de] YYYY h:mm A'\n },\n calendar : {\n sameDay : function () {\n return '[hoy a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n nextDay : function () {\n return '[mañana a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n nextWeek : function () {\n return 'dddd [a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n lastDay : function () {\n return '[ayer a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n lastWeek : function () {\n return '[el] dddd [pasado a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'en %s',\n past : 'hace %s',\n s : 'unos segundos',\n ss : '%d segundos',\n m : 'un minuto',\n mm : '%d minutos',\n h : 'una hora',\n hh : '%d horas',\n d : 'un día',\n dd : '%d días',\n M : 'un mes',\n MM : '%d meses',\n y : 'un año',\n yy : '%d años'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}º/,\n ordinal : '%dº',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return esDo;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_'),\n monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_');\n\n var monthsParse = [/^ene/i, /^feb/i, /^mar/i, /^abr/i, /^may/i, /^jun/i, /^jul/i, /^ago/i, /^sep/i, /^oct/i, /^nov/i, /^dic/i];\n var monthsRegex = /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n\n var es = moment.defineLocale('es', {\n months : 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'),\n monthsShort : function (m, format) {\n if (!m) {\n return monthsShortDot;\n } else if (/-MMM-/.test(format)) {\n return monthsShort[m.month()];\n } else {\n return monthsShortDot[m.month()];\n }\n },\n monthsRegex : monthsRegex,\n monthsShortRegex : monthsRegex,\n monthsStrictRegex : /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n monthsShortStrictRegex : /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n monthsParse : monthsParse,\n longMonthsParse : monthsParse,\n shortMonthsParse : monthsParse,\n weekdays : 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n weekdaysShort : 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n weekdaysMin : 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D [de] MMMM [de] YYYY',\n LLL : 'D [de] MMMM [de] YYYY H:mm',\n LLLL : 'dddd, D [de] MMMM [de] YYYY H:mm'\n },\n calendar : {\n sameDay : function () {\n return '[hoy a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n nextDay : function () {\n return '[mañana a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n nextWeek : function () {\n return 'dddd [a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n lastDay : function () {\n return '[ayer a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n lastWeek : function () {\n return '[el] dddd [pasado a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'en %s',\n past : 'hace %s',\n s : 'unos segundos',\n ss : '%d segundos',\n m : 'un minuto',\n mm : '%d minutos',\n h : 'una hora',\n hh : '%d horas',\n d : 'un día',\n dd : '%d días',\n M : 'un mes',\n MM : '%d meses',\n y : 'un año',\n yy : '%d años'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}º/,\n ordinal : '%dº',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return es;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var eo = moment.defineLocale('eo', {\n months : 'januaro_februaro_marto_aprilo_majo_junio_julio_aŭgusto_septembro_oktobro_novembro_decembro'.split('_'),\n monthsShort : 'jan_feb_mar_apr_maj_jun_jul_aŭg_sep_okt_nov_dec'.split('_'),\n weekdays : 'dimanĉo_lundo_mardo_merkredo_ĵaŭdo_vendredo_sabato'.split('_'),\n weekdaysShort : 'dim_lun_mard_merk_ĵaŭ_ven_sab'.split('_'),\n weekdaysMin : 'di_lu_ma_me_ĵa_ve_sa'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY-MM-DD',\n LL : 'D[-a de] MMMM, YYYY',\n LLL : 'D[-a de] MMMM, YYYY HH:mm',\n LLLL : 'dddd, [la] D[-a de] MMMM, YYYY HH:mm'\n },\n meridiemParse: /[ap]\\.t\\.m/i,\n isPM: function (input) {\n return input.charAt(0).toLowerCase() === 'p';\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'p.t.m.' : 'P.T.M.';\n } else {\n return isLower ? 'a.t.m.' : 'A.T.M.';\n }\n },\n calendar : {\n sameDay : '[Hodiaŭ je] LT',\n nextDay : '[Morgaŭ je] LT',\n nextWeek : 'dddd [je] LT',\n lastDay : '[Hieraŭ je] LT',\n lastWeek : '[pasinta] dddd [je] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'post %s',\n past : 'antaŭ %s',\n s : 'sekundoj',\n ss : '%d sekundoj',\n m : 'minuto',\n mm : '%d minutoj',\n h : 'horo',\n hh : '%d horoj',\n d : 'tago',//ne 'diurno', ĉar estas uzita por proksimumo\n dd : '%d tagoj',\n M : 'monato',\n MM : '%d monatoj',\n y : 'jaro',\n yy : '%d jaroj'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}a/,\n ordinal : '%da',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return eo;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var enNz = moment.defineLocale('en-nz', {\n months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat : {\n LT : 'h:mm A',\n LTS : 'h:mm:ss A',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY h:mm A',\n LLLL : 'dddd, D MMMM YYYY h:mm A'\n },\n calendar : {\n sameDay : '[Today at] LT',\n nextDay : '[Tomorrow at] LT',\n nextWeek : 'dddd [at] LT',\n lastDay : '[Yesterday at] LT',\n lastWeek : '[Last] dddd [at] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'in %s',\n past : '%s ago',\n s : 'a few seconds',\n ss : '%d seconds',\n m : 'a minute',\n mm : '%d minutes',\n h : 'an hour',\n hh : '%d hours',\n d : 'a day',\n dd : '%d days',\n M : 'a month',\n MM : '%d months',\n y : 'a year',\n yy : '%d years'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return enNz;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var enIl = moment.defineLocale('en-il', {\n months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Today at] LT',\n nextDay : '[Tomorrow at] LT',\n nextWeek : 'dddd [at] LT',\n lastDay : '[Yesterday at] LT',\n lastWeek : '[Last] dddd [at] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'in %s',\n past : '%s ago',\n s : 'a few seconds',\n m : 'a minute',\n mm : '%d minutes',\n h : 'an hour',\n hh : '%d hours',\n d : 'a day',\n dd : '%d days',\n M : 'a month',\n MM : '%d months',\n y : 'a year',\n yy : '%d years'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n }\n });\n\n return enIl;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var enIe = moment.defineLocale('en-ie', {\n months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD-MM-YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Today at] LT',\n nextDay : '[Tomorrow at] LT',\n nextWeek : 'dddd [at] LT',\n lastDay : '[Yesterday at] LT',\n lastWeek : '[Last] dddd [at] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'in %s',\n past : '%s ago',\n s : 'a few seconds',\n ss : '%d seconds',\n m : 'a minute',\n mm : '%d minutes',\n h : 'an hour',\n hh : '%d hours',\n d : 'a day',\n dd : '%d days',\n M : 'a month',\n MM : '%d months',\n y : 'a year',\n yy : '%d years'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return enIe;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var enGb = moment.defineLocale('en-gb', {\n months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Today at] LT',\n nextDay : '[Tomorrow at] LT',\n nextWeek : 'dddd [at] LT',\n lastDay : '[Yesterday at] LT',\n lastWeek : '[Last] dddd [at] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'in %s',\n past : '%s ago',\n s : 'a few seconds',\n ss : '%d seconds',\n m : 'a minute',\n mm : '%d minutes',\n h : 'an hour',\n hh : '%d hours',\n d : 'a day',\n dd : '%d days',\n M : 'a month',\n MM : '%d months',\n y : 'a year',\n yy : '%d years'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return enGb;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var enCa = moment.defineLocale('en-ca', {\n months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat : {\n LT : 'h:mm A',\n LTS : 'h:mm:ss A',\n L : 'YYYY-MM-DD',\n LL : 'MMMM D, YYYY',\n LLL : 'MMMM D, YYYY h:mm A',\n LLLL : 'dddd, MMMM D, YYYY h:mm A'\n },\n calendar : {\n sameDay : '[Today at] LT',\n nextDay : '[Tomorrow at] LT',\n nextWeek : 'dddd [at] LT',\n lastDay : '[Yesterday at] LT',\n lastWeek : '[Last] dddd [at] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'in %s',\n past : '%s ago',\n s : 'a few seconds',\n ss : '%d seconds',\n m : 'a minute',\n mm : '%d minutes',\n h : 'an hour',\n hh : '%d hours',\n d : 'a day',\n dd : '%d days',\n M : 'a month',\n MM : '%d months',\n y : 'a year',\n yy : '%d years'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n }\n });\n\n return enCa;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var enAu = moment.defineLocale('en-au', {\n months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat : {\n LT : 'h:mm A',\n LTS : 'h:mm:ss A',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY h:mm A',\n LLLL : 'dddd, D MMMM YYYY h:mm A'\n },\n calendar : {\n sameDay : '[Today at] LT',\n nextDay : '[Tomorrow at] LT',\n nextWeek : 'dddd [at] LT',\n lastDay : '[Yesterday at] LT',\n lastWeek : '[Last] dddd [at] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'in %s',\n past : '%s ago',\n s : 'a few seconds',\n ss : '%d seconds',\n m : 'a minute',\n mm : '%d minutes',\n h : 'an hour',\n hh : '%d hours',\n d : 'a day',\n dd : '%d days',\n M : 'a month',\n MM : '%d months',\n y : 'a year',\n yy : '%d years'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return enAu;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n function isFunction(input) {\n return input instanceof Function || Object.prototype.toString.call(input) === '[object Function]';\n }\n\n\n var el = moment.defineLocale('el', {\n monthsNominativeEl : 'Ιανουάριος_Φεβρουάριος_Μάρτιος_Απρίλιος_Μάιος_Ιούνιος_Ιούλιος_Αύγουστος_Σεπτέμβριος_Οκτώβριος_Νοέμβριος_Δεκέμβριος'.split('_'),\n monthsGenitiveEl : 'Ιανουαρίου_Φεβρουαρίου_Μαρτίου_Απριλίου_Μαΐου_Ιουνίου_Ιουλίου_Αυγούστου_Σεπτεμβρίου_Οκτωβρίου_Νοεμβρίου_Δεκεμβρίου'.split('_'),\n months : function (momentToFormat, format) {\n if (!momentToFormat) {\n return this._monthsNominativeEl;\n } else if (typeof format === 'string' && /D/.test(format.substring(0, format.indexOf('MMMM')))) { // if there is a day number before 'MMMM'\n return this._monthsGenitiveEl[momentToFormat.month()];\n } else {\n return this._monthsNominativeEl[momentToFormat.month()];\n }\n },\n monthsShort : 'Ιαν_Φεβ_Μαρ_Απρ_Μαϊ_Ιουν_Ιουλ_Αυγ_Σεπ_Οκτ_Νοε_Δεκ'.split('_'),\n weekdays : 'Κυριακή_Δευτέρα_Τρίτη_Τετάρτη_Πέμπτη_Παρασκευή_Σάββατο'.split('_'),\n weekdaysShort : 'Κυρ_Δευ_Τρι_Τετ_Πεμ_Παρ_Σαβ'.split('_'),\n weekdaysMin : 'Κυ_Δε_Τρ_Τε_Πε_Πα_Σα'.split('_'),\n meridiem : function (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'μμ' : 'ΜΜ';\n } else {\n return isLower ? 'πμ' : 'ΠΜ';\n }\n },\n isPM : function (input) {\n return ((input + '').toLowerCase()[0] === 'μ');\n },\n meridiemParse : /[ΠΜ]\\.?Μ?\\.?/i,\n longDateFormat : {\n LT : 'h:mm A',\n LTS : 'h:mm:ss A',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY h:mm A',\n LLLL : 'dddd, D MMMM YYYY h:mm A'\n },\n calendarEl : {\n sameDay : '[Σήμερα {}] LT',\n nextDay : '[Αύριο {}] LT',\n nextWeek : 'dddd [{}] LT',\n lastDay : '[Χθες {}] LT',\n lastWeek : function () {\n switch (this.day()) {\n case 6:\n return '[το προηγούμενο] dddd [{}] LT';\n default:\n return '[την προηγούμενη] dddd [{}] LT';\n }\n },\n sameElse : 'L'\n },\n calendar : function (key, mom) {\n var output = this._calendarEl[key],\n hours = mom && mom.hours();\n if (isFunction(output)) {\n output = output.apply(mom);\n }\n return output.replace('{}', (hours % 12 === 1 ? 'στη' : 'στις'));\n },\n relativeTime : {\n future : 'σε %s',\n past : '%s πριν',\n s : 'λίγα δευτερόλεπτα',\n ss : '%d δευτερόλεπτα',\n m : 'ένα λεπτό',\n mm : '%d λεπτά',\n h : 'μία ώρα',\n hh : '%d ώρες',\n d : 'μία μέρα',\n dd : '%d μέρες',\n M : 'ένας μήνας',\n MM : '%d μήνες',\n y : 'ένας χρόνος',\n yy : '%d χρόνια'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}η/,\n ordinal: '%dη',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4st is the first week of the year.\n }\n });\n\n return el;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var months = [\n 'ޖެނުއަރީ',\n 'ފެބްރުއަރީ',\n 'މާރިޗު',\n 'އޭޕްރީލު',\n 'މޭ',\n 'ޖޫން',\n 'ޖުލައި',\n 'އޯގަސްޓު',\n 'ސެޕްޓެމްބަރު',\n 'އޮކްޓޯބަރު',\n 'ނޮވެމްބަރު',\n 'ޑިސެމްބަރު'\n ], weekdays = [\n 'އާދިއްތަ',\n 'ހޯމަ',\n 'އަންގާރަ',\n 'ބުދަ',\n 'ބުރާސްފަތި',\n 'ހުކުރު',\n 'ހޮނިހިރު'\n ];\n\n var dv = moment.defineLocale('dv', {\n months : months,\n monthsShort : months,\n weekdays : weekdays,\n weekdaysShort : weekdays,\n weekdaysMin : 'އާދި_ހޯމަ_އަން_ބުދަ_ބުރާ_ހުކު_ހޮނި'.split('_'),\n longDateFormat : {\n\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'D/M/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n meridiemParse: /މކ|މފ/,\n isPM : function (input) {\n return 'މފ' === input;\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'މކ';\n } else {\n return 'މފ';\n }\n },\n calendar : {\n sameDay : '[މިއަދު] LT',\n nextDay : '[މާދަމާ] LT',\n nextWeek : 'dddd LT',\n lastDay : '[އިއްޔެ] LT',\n lastWeek : '[ފާއިތުވި] dddd LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'ތެރޭގައި %s',\n past : 'ކުރިން %s',\n s : 'ސިކުންތުކޮޅެއް',\n ss : 'd% ސިކުންތު',\n m : 'މިނިޓެއް',\n mm : 'މިނިޓު %d',\n h : 'ގަޑިއިރެއް',\n hh : 'ގަޑިއިރު %d',\n d : 'ދުވަހެއް',\n dd : 'ދުވަސް %d',\n M : 'މަހެއް',\n MM : 'މަސް %d',\n y : 'އަހަރެއް',\n yy : 'އަހަރު %d'\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/,/g, '،');\n },\n week : {\n dow : 7, // Sunday is the first day of the week.\n doy : 12 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return dv;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n 'm': ['eine Minute', 'einer Minute'],\n 'h': ['eine Stunde', 'einer Stunde'],\n 'd': ['ein Tag', 'einem Tag'],\n 'dd': [number + ' Tage', number + ' Tagen'],\n 'M': ['ein Monat', 'einem Monat'],\n 'MM': [number + ' Monate', number + ' Monaten'],\n 'y': ['ein Jahr', 'einem Jahr'],\n 'yy': [number + ' Jahre', number + ' Jahren']\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n\n var deCh = moment.defineLocale('de-ch', {\n months : 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),\n monthsShort : 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),\n monthsParseExact : true,\n weekdays : 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'),\n weekdaysShort : 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n weekdaysMin : 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY HH:mm',\n LLLL : 'dddd, D. MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[heute um] LT [Uhr]',\n sameElse: 'L',\n nextDay: '[morgen um] LT [Uhr]',\n nextWeek: 'dddd [um] LT [Uhr]',\n lastDay: '[gestern um] LT [Uhr]',\n lastWeek: '[letzten] dddd [um] LT [Uhr]'\n },\n relativeTime : {\n future : 'in %s',\n past : 'vor %s',\n s : 'ein paar Sekunden',\n ss : '%d Sekunden',\n m : processRelativeTime,\n mm : '%d Minuten',\n h : processRelativeTime,\n hh : '%d Stunden',\n d : processRelativeTime,\n dd : processRelativeTime,\n M : processRelativeTime,\n MM : processRelativeTime,\n y : processRelativeTime,\n yy : processRelativeTime\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return deCh;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n 'm': ['eine Minute', 'einer Minute'],\n 'h': ['eine Stunde', 'einer Stunde'],\n 'd': ['ein Tag', 'einem Tag'],\n 'dd': [number + ' Tage', number + ' Tagen'],\n 'M': ['ein Monat', 'einem Monat'],\n 'MM': [number + ' Monate', number + ' Monaten'],\n 'y': ['ein Jahr', 'einem Jahr'],\n 'yy': [number + ' Jahre', number + ' Jahren']\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n\n var deAt = moment.defineLocale('de-at', {\n months : 'Jänner_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),\n monthsShort : 'Jän._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),\n monthsParseExact : true,\n weekdays : 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'),\n weekdaysShort : 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'),\n weekdaysMin : 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY HH:mm',\n LLLL : 'dddd, D. MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[heute um] LT [Uhr]',\n sameElse: 'L',\n nextDay: '[morgen um] LT [Uhr]',\n nextWeek: 'dddd [um] LT [Uhr]',\n lastDay: '[gestern um] LT [Uhr]',\n lastWeek: '[letzten] dddd [um] LT [Uhr]'\n },\n relativeTime : {\n future : 'in %s',\n past : 'vor %s',\n s : 'ein paar Sekunden',\n ss : '%d Sekunden',\n m : processRelativeTime,\n mm : '%d Minuten',\n h : processRelativeTime,\n hh : '%d Stunden',\n d : processRelativeTime,\n dd : processRelativeTime,\n M : processRelativeTime,\n MM : processRelativeTime,\n y : processRelativeTime,\n yy : processRelativeTime\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return deAt;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n 'm': ['eine Minute', 'einer Minute'],\n 'h': ['eine Stunde', 'einer Stunde'],\n 'd': ['ein Tag', 'einem Tag'],\n 'dd': [number + ' Tage', number + ' Tagen'],\n 'M': ['ein Monat', 'einem Monat'],\n 'MM': [number + ' Monate', number + ' Monaten'],\n 'y': ['ein Jahr', 'einem Jahr'],\n 'yy': [number + ' Jahre', number + ' Jahren']\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n\n var de = moment.defineLocale('de', {\n months : 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),\n monthsShort : 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),\n monthsParseExact : true,\n weekdays : 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'),\n weekdaysShort : 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'),\n weekdaysMin : 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY HH:mm',\n LLLL : 'dddd, D. MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[heute um] LT [Uhr]',\n sameElse: 'L',\n nextDay: '[morgen um] LT [Uhr]',\n nextWeek: 'dddd [um] LT [Uhr]',\n lastDay: '[gestern um] LT [Uhr]',\n lastWeek: '[letzten] dddd [um] LT [Uhr]'\n },\n relativeTime : {\n future : 'in %s',\n past : 'vor %s',\n s : 'ein paar Sekunden',\n ss : '%d Sekunden',\n m : processRelativeTime,\n mm : '%d Minuten',\n h : processRelativeTime,\n hh : '%d Stunden',\n d : processRelativeTime,\n dd : processRelativeTime,\n M : processRelativeTime,\n MM : processRelativeTime,\n y : processRelativeTime,\n yy : processRelativeTime\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return de;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var da = moment.defineLocale('da', {\n months : 'januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december'.split('_'),\n monthsShort : 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n weekdays : 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),\n weekdaysShort : 'søn_man_tir_ons_tor_fre_lør'.split('_'),\n weekdaysMin : 'sø_ma_ti_on_to_fr_lø'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY HH:mm',\n LLLL : 'dddd [d.] D. MMMM YYYY [kl.] HH:mm'\n },\n calendar : {\n sameDay : '[i dag kl.] LT',\n nextDay : '[i morgen kl.] LT',\n nextWeek : 'på dddd [kl.] LT',\n lastDay : '[i går kl.] LT',\n lastWeek : '[i] dddd[s kl.] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'om %s',\n past : '%s siden',\n s : 'få sekunder',\n ss : '%d sekunder',\n m : 'et minut',\n mm : '%d minutter',\n h : 'en time',\n hh : '%d timer',\n d : 'en dag',\n dd : '%d dage',\n M : 'en måned',\n MM : '%d måneder',\n y : 'et år',\n yy : '%d år'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return da;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var cy = moment.defineLocale('cy', {\n months: 'Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr'.split('_'),\n monthsShort: 'Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag'.split('_'),\n weekdays: 'Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn'.split('_'),\n weekdaysShort: 'Sul_Llun_Maw_Mer_Iau_Gwe_Sad'.split('_'),\n weekdaysMin: 'Su_Ll_Ma_Me_Ia_Gw_Sa'.split('_'),\n weekdaysParseExact : true,\n // time formats are the same as en-gb\n longDateFormat: {\n LT: 'HH:mm',\n LTS : 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Heddiw am] LT',\n nextDay: '[Yfory am] LT',\n nextWeek: 'dddd [am] LT',\n lastDay: '[Ddoe am] LT',\n lastWeek: 'dddd [diwethaf am] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'mewn %s',\n past: '%s yn ôl',\n s: 'ychydig eiliadau',\n ss: '%d eiliad',\n m: 'munud',\n mm: '%d munud',\n h: 'awr',\n hh: '%d awr',\n d: 'diwrnod',\n dd: '%d diwrnod',\n M: 'mis',\n MM: '%d mis',\n y: 'blwyddyn',\n yy: '%d flynedd'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(fed|ain|af|il|ydd|ed|eg)/,\n // traditional ordinal numbers above 31 are not commonly used in colloquial Welsh\n ordinal: function (number) {\n var b = number,\n output = '',\n lookup = [\n '', 'af', 'il', 'ydd', 'ydd', 'ed', 'ed', 'ed', 'fed', 'fed', 'fed', // 1af to 10fed\n 'eg', 'fed', 'eg', 'eg', 'fed', 'eg', 'eg', 'fed', 'eg', 'fed' // 11eg to 20fed\n ];\n if (b > 20) {\n if (b === 40 || b === 50 || b === 60 || b === 80 || b === 100) {\n output = 'fed'; // not 30ain, 70ain or 90ain\n } else {\n output = 'ain';\n }\n } else if (b > 0) {\n output = lookup[b];\n }\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return cy;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var cv = moment.defineLocale('cv', {\n months : 'кӑрлач_нарӑс_пуш_ака_май_ҫӗртме_утӑ_ҫурла_авӑн_юпа_чӳк_раштав'.split('_'),\n monthsShort : 'кӑр_нар_пуш_ака_май_ҫӗр_утӑ_ҫур_авн_юпа_чӳк_раш'.split('_'),\n weekdays : 'вырсарникун_тунтикун_ытларикун_юнкун_кӗҫнерникун_эрнекун_шӑматкун'.split('_'),\n weekdaysShort : 'выр_тун_ытл_юн_кӗҫ_эрн_шӑм'.split('_'),\n weekdaysMin : 'вр_тн_ыт_юн_кҫ_эр_шм'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD-MM-YYYY',\n LL : 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ]',\n LLL : 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm',\n LLLL : 'dddd, YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm'\n },\n calendar : {\n sameDay: '[Паян] LT [сехетре]',\n nextDay: '[Ыран] LT [сехетре]',\n lastDay: '[Ӗнер] LT [сехетре]',\n nextWeek: '[Ҫитес] dddd LT [сехетре]',\n lastWeek: '[Иртнӗ] dddd LT [сехетре]',\n sameElse: 'L'\n },\n relativeTime : {\n future : function (output) {\n var affix = /сехет$/i.exec(output) ? 'рен' : /ҫул$/i.exec(output) ? 'тан' : 'ран';\n return output + affix;\n },\n past : '%s каялла',\n s : 'пӗр-ик ҫеккунт',\n ss : '%d ҫеккунт',\n m : 'пӗр минут',\n mm : '%d минут',\n h : 'пӗр сехет',\n hh : '%d сехет',\n d : 'пӗр кун',\n dd : '%d кун',\n M : 'пӗр уйӑх',\n MM : '%d уйӑх',\n y : 'пӗр ҫул',\n yy : '%d ҫул'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-мӗш/,\n ordinal : '%d-мӗш',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return cv;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var months = 'leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec'.split('_'),\n monthsShort = 'led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro'.split('_');\n function plural(n) {\n return (n > 1) && (n < 5) && (~~(n / 10) !== 1);\n }\n function translate(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n switch (key) {\n case 's': // a few seconds / in a few seconds / a few seconds ago\n return (withoutSuffix || isFuture) ? 'pár sekund' : 'pár sekundami';\n case 'ss': // 9 seconds / in 9 seconds / 9 seconds ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'sekundy' : 'sekund');\n } else {\n return result + 'sekundami';\n }\n break;\n case 'm': // a minute / in a minute / a minute ago\n return withoutSuffix ? 'minuta' : (isFuture ? 'minutu' : 'minutou');\n case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'minuty' : 'minut');\n } else {\n return result + 'minutami';\n }\n break;\n case 'h': // an hour / in an hour / an hour ago\n return withoutSuffix ? 'hodina' : (isFuture ? 'hodinu' : 'hodinou');\n case 'hh': // 9 hours / in 9 hours / 9 hours ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'hodiny' : 'hodin');\n } else {\n return result + 'hodinami';\n }\n break;\n case 'd': // a day / in a day / a day ago\n return (withoutSuffix || isFuture) ? 'den' : 'dnem';\n case 'dd': // 9 days / in 9 days / 9 days ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'dny' : 'dní');\n } else {\n return result + 'dny';\n }\n break;\n case 'M': // a month / in a month / a month ago\n return (withoutSuffix || isFuture) ? 'měsíc' : 'měsícem';\n case 'MM': // 9 months / in 9 months / 9 months ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'měsíce' : 'měsíců');\n } else {\n return result + 'měsíci';\n }\n break;\n case 'y': // a year / in a year / a year ago\n return (withoutSuffix || isFuture) ? 'rok' : 'rokem';\n case 'yy': // 9 years / in 9 years / 9 years ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'roky' : 'let');\n } else {\n return result + 'lety';\n }\n break;\n }\n }\n\n var cs = moment.defineLocale('cs', {\n months : months,\n monthsShort : monthsShort,\n monthsParse : (function (months, monthsShort) {\n var i, _monthsParse = [];\n for (i = 0; i < 12; i++) {\n // use custom parser to solve problem with July (červenec)\n _monthsParse[i] = new RegExp('^' + months[i] + '$|^' + monthsShort[i] + '$', 'i');\n }\n return _monthsParse;\n }(months, monthsShort)),\n shortMonthsParse : (function (monthsShort) {\n var i, _shortMonthsParse = [];\n for (i = 0; i < 12; i++) {\n _shortMonthsParse[i] = new RegExp('^' + monthsShort[i] + '$', 'i');\n }\n return _shortMonthsParse;\n }(monthsShort)),\n longMonthsParse : (function (months) {\n var i, _longMonthsParse = [];\n for (i = 0; i < 12; i++) {\n _longMonthsParse[i] = new RegExp('^' + months[i] + '$', 'i');\n }\n return _longMonthsParse;\n }(months)),\n weekdays : 'neděle_pondělí_úterý_středa_čtvrtek_pátek_sobota'.split('_'),\n weekdaysShort : 'ne_po_út_st_čt_pá_so'.split('_'),\n weekdaysMin : 'ne_po_út_st_čt_pá_so'.split('_'),\n longDateFormat : {\n LT: 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY H:mm',\n LLLL : 'dddd D. MMMM YYYY H:mm',\n l : 'D. M. YYYY'\n },\n calendar : {\n sameDay: '[dnes v] LT',\n nextDay: '[zítra v] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[v neděli v] LT';\n case 1:\n case 2:\n return '[v] dddd [v] LT';\n case 3:\n return '[ve středu v] LT';\n case 4:\n return '[ve čtvrtek v] LT';\n case 5:\n return '[v pátek v] LT';\n case 6:\n return '[v sobotu v] LT';\n }\n },\n lastDay: '[včera v] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[minulou neděli v] LT';\n case 1:\n case 2:\n return '[minulé] dddd [v] LT';\n case 3:\n return '[minulou středu v] LT';\n case 4:\n case 5:\n return '[minulý] dddd [v] LT';\n case 6:\n return '[minulou sobotu v] LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : 'za %s',\n past : 'před %s',\n s : translate,\n ss : translate,\n m : translate,\n mm : translate,\n h : translate,\n hh : translate,\n d : translate,\n dd : translate,\n M : translate,\n MM : translate,\n y : translate,\n yy : translate\n },\n dayOfMonthOrdinalParse : /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return cs;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var ca = moment.defineLocale('ca', {\n months : {\n standalone: 'gener_febrer_març_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre'.split('_'),\n format: 'de gener_de febrer_de març_d\\'abril_de maig_de juny_de juliol_d\\'agost_de setembre_d\\'octubre_de novembre_de desembre'.split('_'),\n isFormat: /D[oD]?(\\s)+MMMM/\n },\n monthsShort : 'gen._febr._març_abr._maig_juny_jul._ag._set._oct._nov._des.'.split('_'),\n monthsParseExact : true,\n weekdays : 'diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte'.split('_'),\n weekdaysShort : 'dg._dl._dt._dc._dj._dv._ds.'.split('_'),\n weekdaysMin : 'dg_dl_dt_dc_dj_dv_ds'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM [de] YYYY',\n ll : 'D MMM YYYY',\n LLL : 'D MMMM [de] YYYY [a les] H:mm',\n lll : 'D MMM YYYY, H:mm',\n LLLL : 'dddd D MMMM [de] YYYY [a les] H:mm',\n llll : 'ddd D MMM YYYY, H:mm'\n },\n calendar : {\n sameDay : function () {\n return '[avui a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';\n },\n nextDay : function () {\n return '[demà a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';\n },\n nextWeek : function () {\n return 'dddd [a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';\n },\n lastDay : function () {\n return '[ahir a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';\n },\n lastWeek : function () {\n return '[el] dddd [passat a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'd\\'aquí %s',\n past : 'fa %s',\n s : 'uns segons',\n ss : '%d segons',\n m : 'un minut',\n mm : '%d minuts',\n h : 'una hora',\n hh : '%d hores',\n d : 'un dia',\n dd : '%d dies',\n M : 'un mes',\n MM : '%d mesos',\n y : 'un any',\n yy : '%d anys'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(r|n|t|è|a)/,\n ordinal : function (number, period) {\n var output = (number === 1) ? 'r' :\n (number === 2) ? 'n' :\n (number === 3) ? 'r' :\n (number === 4) ? 't' : 'è';\n if (period === 'w' || period === 'W') {\n output = 'a';\n }\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return ca;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function translate(number, withoutSuffix, key) {\n var result = number + ' ';\n switch (key) {\n case 'ss':\n if (number === 1) {\n result += 'sekunda';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sekunde';\n } else {\n result += 'sekundi';\n }\n return result;\n case 'm':\n return withoutSuffix ? 'jedna minuta' : 'jedne minute';\n case 'mm':\n if (number === 1) {\n result += 'minuta';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'minute';\n } else {\n result += 'minuta';\n }\n return result;\n case 'h':\n return withoutSuffix ? 'jedan sat' : 'jednog sata';\n case 'hh':\n if (number === 1) {\n result += 'sat';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sata';\n } else {\n result += 'sati';\n }\n return result;\n case 'dd':\n if (number === 1) {\n result += 'dan';\n } else {\n result += 'dana';\n }\n return result;\n case 'MM':\n if (number === 1) {\n result += 'mjesec';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'mjeseca';\n } else {\n result += 'mjeseci';\n }\n return result;\n case 'yy':\n if (number === 1) {\n result += 'godina';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'godine';\n } else {\n result += 'godina';\n }\n return result;\n }\n }\n\n var bs = moment.defineLocale('bs', {\n months : 'januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar'.split('_'),\n monthsShort : 'jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays : 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split('_'),\n weekdaysShort : 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n weekdaysMin : 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY H:mm',\n LLLL : 'dddd, D. MMMM YYYY H:mm'\n },\n calendar : {\n sameDay : '[danas u] LT',\n nextDay : '[sutra u] LT',\n nextWeek : function () {\n switch (this.day()) {\n case 0:\n return '[u] [nedjelju] [u] LT';\n case 3:\n return '[u] [srijedu] [u] LT';\n case 6:\n return '[u] [subotu] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay : '[jučer u] LT',\n lastWeek : function () {\n switch (this.day()) {\n case 0:\n case 3:\n return '[prošlu] dddd [u] LT';\n case 6:\n return '[prošle] [subote] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[prošli] dddd [u] LT';\n }\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'za %s',\n past : 'prije %s',\n s : 'par sekundi',\n ss : translate,\n m : translate,\n mm : translate,\n h : translate,\n hh : translate,\n d : 'dan',\n dd : translate,\n M : 'mjesec',\n MM : translate,\n y : 'godinu',\n yy : translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return bs;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function relativeTimeWithMutation(number, withoutSuffix, key) {\n var format = {\n 'mm': 'munutenn',\n 'MM': 'miz',\n 'dd': 'devezh'\n };\n return number + ' ' + mutation(format[key], number);\n }\n function specialMutationForYears(number) {\n switch (lastNumber(number)) {\n case 1:\n case 3:\n case 4:\n case 5:\n case 9:\n return number + ' bloaz';\n default:\n return number + ' vloaz';\n }\n }\n function lastNumber(number) {\n if (number > 9) {\n return lastNumber(number % 10);\n }\n return number;\n }\n function mutation(text, number) {\n if (number === 2) {\n return softMutation(text);\n }\n return text;\n }\n function softMutation(text) {\n var mutationTable = {\n 'm': 'v',\n 'b': 'v',\n 'd': 'z'\n };\n if (mutationTable[text.charAt(0)] === undefined) {\n return text;\n }\n return mutationTable[text.charAt(0)] + text.substring(1);\n }\n\n var br = moment.defineLocale('br', {\n months : 'Genver_C\\'hwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu'.split('_'),\n monthsShort : 'Gen_C\\'hwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker'.split('_'),\n weekdays : 'Sul_Lun_Meurzh_Merc\\'her_Yaou_Gwener_Sadorn'.split('_'),\n weekdaysShort : 'Sul_Lun_Meu_Mer_Yao_Gwe_Sad'.split('_'),\n weekdaysMin : 'Su_Lu_Me_Mer_Ya_Gw_Sa'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'h[e]mm A',\n LTS : 'h[e]mm:ss A',\n L : 'DD/MM/YYYY',\n LL : 'D [a viz] MMMM YYYY',\n LLL : 'D [a viz] MMMM YYYY h[e]mm A',\n LLLL : 'dddd, D [a viz] MMMM YYYY h[e]mm A'\n },\n calendar : {\n sameDay : '[Hiziv da] LT',\n nextDay : '[Warc\\'hoazh da] LT',\n nextWeek : 'dddd [da] LT',\n lastDay : '[Dec\\'h da] LT',\n lastWeek : 'dddd [paset da] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'a-benn %s',\n past : '%s \\'zo',\n s : 'un nebeud segondennoù',\n ss : '%d eilenn',\n m : 'ur vunutenn',\n mm : relativeTimeWithMutation,\n h : 'un eur',\n hh : '%d eur',\n d : 'un devezh',\n dd : relativeTimeWithMutation,\n M : 'ur miz',\n MM : relativeTimeWithMutation,\n y : 'ur bloaz',\n yy : specialMutationForYears\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(añ|vet)/,\n ordinal : function (number) {\n var output = (number === 1) ? 'añ' : 'vet';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return br;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '༡',\n '2': '༢',\n '3': '༣',\n '4': '༤',\n '5': '༥',\n '6': '༦',\n '7': '༧',\n '8': '༨',\n '9': '༩',\n '0': '༠'\n },\n numberMap = {\n '༡': '1',\n '༢': '2',\n '༣': '3',\n '༤': '4',\n '༥': '5',\n '༦': '6',\n '༧': '7',\n '༨': '8',\n '༩': '9',\n '༠': '0'\n };\n\n var bo = moment.defineLocale('bo', {\n months : 'ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ'.split('_'),\n monthsShort : 'ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ'.split('_'),\n weekdays : 'གཟའ་ཉི་མ་_གཟའ་ཟླ་བ་_གཟའ་མིག་དམར་_གཟའ་ལྷག་པ་_གཟའ་ཕུར་བུ_གཟའ་པ་སངས་_གཟའ་སྤེན་པ་'.split('_'),\n weekdaysShort : 'ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་'.split('_'),\n weekdaysMin : 'ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་'.split('_'),\n longDateFormat : {\n LT : 'A h:mm',\n LTS : 'A h:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, A h:mm',\n LLLL : 'dddd, D MMMM YYYY, A h:mm'\n },\n calendar : {\n sameDay : '[དི་རིང] LT',\n nextDay : '[སང་ཉིན] LT',\n nextWeek : '[བདུན་ཕྲག་རྗེས་མ], LT',\n lastDay : '[ཁ་སང] LT',\n lastWeek : '[བདུན་ཕྲག་མཐའ་མ] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s ལ་',\n past : '%s སྔན་ལ',\n s : 'ལམ་སང',\n ss : '%d སྐར་ཆ།',\n m : 'སྐར་མ་གཅིག',\n mm : '%d སྐར་མ',\n h : 'ཆུ་ཚོད་གཅིག',\n hh : '%d ཆུ་ཚོད',\n d : 'ཉིན་གཅིག',\n dd : '%d ཉིན་',\n M : 'ཟླ་བ་གཅིག',\n MM : '%d ཟླ་བ',\n y : 'ལོ་གཅིག',\n yy : '%d ལོ'\n },\n preparse: function (string) {\n return string.replace(/[༡༢༣༤༥༦༧༨༩༠]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /མཚན་མོ|ཞོགས་ཀས|ཉིན་གུང|དགོང་དག|མཚན་མོ/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if ((meridiem === 'མཚན་མོ' && hour >= 4) ||\n (meridiem === 'ཉིན་གུང' && hour < 5) ||\n meridiem === 'དགོང་དག') {\n return hour + 12;\n } else {\n return hour;\n }\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'མཚན་མོ';\n } else if (hour < 10) {\n return 'ཞོགས་ཀས';\n } else if (hour < 17) {\n return 'ཉིན་གུང';\n } else if (hour < 20) {\n return 'དགོང་དག';\n } else {\n return 'མཚན་མོ';\n }\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return bo;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '১',\n '2': '২',\n '3': '৩',\n '4': '৪',\n '5': '৫',\n '6': '৬',\n '7': '৭',\n '8': '৮',\n '9': '৯',\n '0': '০'\n },\n numberMap = {\n '১': '1',\n '২': '2',\n '৩': '3',\n '৪': '4',\n '৫': '5',\n '৬': '6',\n '৭': '7',\n '৮': '8',\n '৯': '9',\n '০': '0'\n };\n\n var bn = moment.defineLocale('bn', {\n months : 'জানুয়ারী_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর'.split('_'),\n monthsShort : 'জানু_ফেব_মার্চ_এপ্র_মে_জুন_জুল_আগ_সেপ্ট_অক্টো_নভে_ডিসে'.split('_'),\n weekdays : 'রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার'.split('_'),\n weekdaysShort : 'রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি'.split('_'),\n weekdaysMin : 'রবি_সোম_মঙ্গ_বুধ_বৃহঃ_শুক্র_শনি'.split('_'),\n longDateFormat : {\n LT : 'A h:mm সময়',\n LTS : 'A h:mm:ss সময়',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, A h:mm সময়',\n LLLL : 'dddd, D MMMM YYYY, A h:mm সময়'\n },\n calendar : {\n sameDay : '[আজ] LT',\n nextDay : '[আগামীকাল] LT',\n nextWeek : 'dddd, LT',\n lastDay : '[গতকাল] LT',\n lastWeek : '[গত] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s পরে',\n past : '%s আগে',\n s : 'কয়েক সেকেন্ড',\n ss : '%d সেকেন্ড',\n m : 'এক মিনিট',\n mm : '%d মিনিট',\n h : 'এক ঘন্টা',\n hh : '%d ঘন্টা',\n d : 'এক দিন',\n dd : '%d দিন',\n M : 'এক মাস',\n MM : '%d মাস',\n y : 'এক বছর',\n yy : '%d বছর'\n },\n preparse: function (string) {\n return string.replace(/[১২৩৪৫৬৭৮৯০]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /রাত|সকাল|দুপুর|বিকাল|রাত/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if ((meridiem === 'রাত' && hour >= 4) ||\n (meridiem === 'দুপুর' && hour < 5) ||\n meridiem === 'বিকাল') {\n return hour + 12;\n } else {\n return hour;\n }\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'রাত';\n } else if (hour < 10) {\n return 'সকাল';\n } else if (hour < 17) {\n return 'দুপুর';\n } else if (hour < 20) {\n return 'বিকাল';\n } else {\n return 'রাত';\n }\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return bn;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var bm = moment.defineLocale('bm', {\n months : 'Zanwuyekalo_Fewuruyekalo_Marisikalo_Awirilikalo_Mɛkalo_Zuwɛnkalo_Zuluyekalo_Utikalo_Sɛtanburukalo_ɔkutɔburukalo_Nowanburukalo_Desanburukalo'.split('_'),\n monthsShort : 'Zan_Few_Mar_Awi_Mɛ_Zuw_Zul_Uti_Sɛt_ɔku_Now_Des'.split('_'),\n weekdays : 'Kari_Ntɛnɛn_Tarata_Araba_Alamisa_Juma_Sibiri'.split('_'),\n weekdaysShort : 'Kar_Ntɛ_Tar_Ara_Ala_Jum_Sib'.split('_'),\n weekdaysMin : 'Ka_Nt_Ta_Ar_Al_Ju_Si'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'MMMM [tile] D [san] YYYY',\n LLL : 'MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm',\n LLLL : 'dddd MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm'\n },\n calendar : {\n sameDay : '[Bi lɛrɛ] LT',\n nextDay : '[Sini lɛrɛ] LT',\n nextWeek : 'dddd [don lɛrɛ] LT',\n lastDay : '[Kunu lɛrɛ] LT',\n lastWeek : 'dddd [tɛmɛnen lɛrɛ] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s kɔnɔ',\n past : 'a bɛ %s bɔ',\n s : 'sanga dama dama',\n ss : 'sekondi %d',\n m : 'miniti kelen',\n mm : 'miniti %d',\n h : 'lɛrɛ kelen',\n hh : 'lɛrɛ %d',\n d : 'tile kelen',\n dd : 'tile %d',\n M : 'kalo kelen',\n MM : 'kalo %d',\n y : 'san kelen',\n yy : 'san %d'\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return bm;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var bg = moment.defineLocale('bg', {\n months : 'януари_февруари_март_април_май_юни_юли_август_септември_октомври_ноември_декември'.split('_'),\n monthsShort : 'янр_фев_мар_апр_май_юни_юли_авг_сеп_окт_ное_дек'.split('_'),\n weekdays : 'неделя_понеделник_вторник_сряда_четвъртък_петък_събота'.split('_'),\n weekdaysShort : 'нед_пон_вто_сря_чет_пет_съб'.split('_'),\n weekdaysMin : 'нд_пн_вт_ср_чт_пт_сб'.split('_'),\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'D.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY H:mm',\n LLLL : 'dddd, D MMMM YYYY H:mm'\n },\n calendar : {\n sameDay : '[Днес в] LT',\n nextDay : '[Утре в] LT',\n nextWeek : 'dddd [в] LT',\n lastDay : '[Вчера в] LT',\n lastWeek : function () {\n switch (this.day()) {\n case 0:\n case 3:\n case 6:\n return '[В изминалата] dddd [в] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[В изминалия] dddd [в] LT';\n }\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'след %s',\n past : 'преди %s',\n s : 'няколко секунди',\n ss : '%d секунди',\n m : 'минута',\n mm : '%d минути',\n h : 'час',\n hh : '%d часа',\n d : 'ден',\n dd : '%d дни',\n M : 'месец',\n MM : '%d месеца',\n y : 'година',\n yy : '%d години'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ев|ен|ти|ви|ри|ми)/,\n ordinal : function (number) {\n var lastDigit = number % 10,\n last2Digits = number % 100;\n if (number === 0) {\n return number + '-ев';\n } else if (last2Digits === 0) {\n return number + '-ен';\n } else if (last2Digits > 10 && last2Digits < 20) {\n return number + '-ти';\n } else if (lastDigit === 1) {\n return number + '-ви';\n } else if (lastDigit === 2) {\n return number + '-ри';\n } else if (lastDigit === 7 || lastDigit === 8) {\n return number + '-ми';\n } else {\n return number + '-ти';\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return bg;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function plural(word, num) {\n var forms = word.split('_');\n return num % 10 === 1 && num % 100 !== 11 ? forms[0] : (num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) ? forms[1] : forms[2]);\n }\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n var format = {\n 'ss': withoutSuffix ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд',\n 'mm': withoutSuffix ? 'хвіліна_хвіліны_хвілін' : 'хвіліну_хвіліны_хвілін',\n 'hh': withoutSuffix ? 'гадзіна_гадзіны_гадзін' : 'гадзіну_гадзіны_гадзін',\n 'dd': 'дзень_дні_дзён',\n 'MM': 'месяц_месяцы_месяцаў',\n 'yy': 'год_гады_гадоў'\n };\n if (key === 'm') {\n return withoutSuffix ? 'хвіліна' : 'хвіліну';\n }\n else if (key === 'h') {\n return withoutSuffix ? 'гадзіна' : 'гадзіну';\n }\n else {\n return number + ' ' + plural(format[key], +number);\n }\n }\n\n var be = moment.defineLocale('be', {\n months : {\n format: 'студзеня_лютага_сакавіка_красавіка_траўня_чэрвеня_ліпеня_жніўня_верасня_кастрычніка_лістапада_снежня'.split('_'),\n standalone: 'студзень_люты_сакавік_красавік_травень_чэрвень_ліпень_жнівень_верасень_кастрычнік_лістапад_снежань'.split('_')\n },\n monthsShort : 'студ_лют_сак_крас_трав_чэрв_ліп_жнів_вер_каст_ліст_снеж'.split('_'),\n weekdays : {\n format: 'нядзелю_панядзелак_аўторак_сераду_чацвер_пятніцу_суботу'.split('_'),\n standalone: 'нядзеля_панядзелак_аўторак_серада_чацвер_пятніца_субота'.split('_'),\n isFormat: /\\[ ?[Ууў] ?(?:мінулую|наступную)? ?\\] ?dddd/\n },\n weekdaysShort : 'нд_пн_ат_ср_чц_пт_сб'.split('_'),\n weekdaysMin : 'нд_пн_ат_ср_чц_пт_сб'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY г.',\n LLL : 'D MMMM YYYY г., HH:mm',\n LLLL : 'dddd, D MMMM YYYY г., HH:mm'\n },\n calendar : {\n sameDay: '[Сёння ў] LT',\n nextDay: '[Заўтра ў] LT',\n lastDay: '[Учора ў] LT',\n nextWeek: function () {\n return '[У] dddd [ў] LT';\n },\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n case 3:\n case 5:\n case 6:\n return '[У мінулую] dddd [ў] LT';\n case 1:\n case 2:\n case 4:\n return '[У мінулы] dddd [ў] LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : 'праз %s',\n past : '%s таму',\n s : 'некалькі секунд',\n m : relativeTimeWithPlural,\n mm : relativeTimeWithPlural,\n h : relativeTimeWithPlural,\n hh : relativeTimeWithPlural,\n d : 'дзень',\n dd : relativeTimeWithPlural,\n M : 'месяц',\n MM : relativeTimeWithPlural,\n y : 'год',\n yy : relativeTimeWithPlural\n },\n meridiemParse: /ночы|раніцы|дня|вечара/,\n isPM : function (input) {\n return /^(дня|вечара)$/.test(input);\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ночы';\n } else if (hour < 12) {\n return 'раніцы';\n } else if (hour < 17) {\n return 'дня';\n } else {\n return 'вечара';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(і|ы|га)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'M':\n case 'd':\n case 'DDD':\n case 'w':\n case 'W':\n return (number % 10 === 2 || number % 10 === 3) && (number % 100 !== 12 && number % 100 !== 13) ? number + '-і' : number + '-ы';\n case 'D':\n return number + '-га';\n default:\n return number;\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return be;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var suffixes = {\n 1: '-inci',\n 5: '-inci',\n 8: '-inci',\n 70: '-inci',\n 80: '-inci',\n 2: '-nci',\n 7: '-nci',\n 20: '-nci',\n 50: '-nci',\n 3: '-üncü',\n 4: '-üncü',\n 100: '-üncü',\n 6: '-ncı',\n 9: '-uncu',\n 10: '-uncu',\n 30: '-uncu',\n 60: '-ıncı',\n 90: '-ıncı'\n };\n\n var az = moment.defineLocale('az', {\n months : 'yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr'.split('_'),\n monthsShort : 'yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek'.split('_'),\n weekdays : 'Bazar_Bazar ertəsi_Çərşənbə axşamı_Çərşənbə_Cümə axşamı_Cümə_Şənbə'.split('_'),\n weekdaysShort : 'Baz_BzE_ÇAx_Çər_CAx_Cüm_Şən'.split('_'),\n weekdaysMin : 'Bz_BE_ÇA_Çə_CA_Cü_Şə'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[bugün saat] LT',\n nextDay : '[sabah saat] LT',\n nextWeek : '[gələn həftə] dddd [saat] LT',\n lastDay : '[dünən] LT',\n lastWeek : '[keçən həftə] dddd [saat] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s sonra',\n past : '%s əvvəl',\n s : 'birneçə saniyə',\n ss : '%d saniyə',\n m : 'bir dəqiqə',\n mm : '%d dəqiqə',\n h : 'bir saat',\n hh : '%d saat',\n d : 'bir gün',\n dd : '%d gün',\n M : 'bir ay',\n MM : '%d ay',\n y : 'bir il',\n yy : '%d il'\n },\n meridiemParse: /gecə|səhər|gündüz|axşam/,\n isPM : function (input) {\n return /^(gündüz|axşam)$/.test(input);\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'gecə';\n } else if (hour < 12) {\n return 'səhər';\n } else if (hour < 17) {\n return 'gündüz';\n } else {\n return 'axşam';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ıncı|inci|nci|üncü|ncı|uncu)/,\n ordinal : function (number) {\n if (number === 0) { // special case for zero\n return number + '-ıncı';\n }\n var a = number % 10,\n b = number % 100 - a,\n c = number >= 100 ? 100 : null;\n return number + (suffixes[a] || suffixes[b] || suffixes[c]);\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return az;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var arTn = moment.defineLocale('ar-tn', {\n months: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),\n monthsShort: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact : true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'في %s',\n past: 'منذ %s',\n s: 'ثوان',\n ss : '%d ثانية',\n m: 'دقيقة',\n mm: '%d دقائق',\n h: 'ساعة',\n hh: '%d ساعات',\n d: 'يوم',\n dd: '%d أيام',\n M: 'شهر',\n MM: '%d أشهر',\n y: 'سنة',\n yy: '%d سنوات'\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return arTn;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '١',\n '2': '٢',\n '3': '٣',\n '4': '٤',\n '5': '٥',\n '6': '٦',\n '7': '٧',\n '8': '٨',\n '9': '٩',\n '0': '٠'\n }, numberMap = {\n '١': '1',\n '٢': '2',\n '٣': '3',\n '٤': '4',\n '٥': '5',\n '٦': '6',\n '٧': '7',\n '٨': '8',\n '٩': '9',\n '٠': '0'\n };\n\n var arSa = moment.defineLocale('ar-sa', {\n months : 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),\n monthsShort : 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),\n weekdays : 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort : 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n meridiemParse: /ص|م/,\n isPM : function (input) {\n return 'م' === input;\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ص';\n } else {\n return 'م';\n }\n },\n calendar : {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'في %s',\n past : 'منذ %s',\n s : 'ثوان',\n ss : '%d ثانية',\n m : 'دقيقة',\n mm : '%d دقائق',\n h : 'ساعة',\n hh : '%d ساعات',\n d : 'يوم',\n dd : '%d أيام',\n M : 'شهر',\n MM : '%d أشهر',\n y : 'سنة',\n yy : '%d سنوات'\n },\n preparse: function (string) {\n return string.replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\n return numberMap[match];\n }).replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n }).replace(/,/g, '،');\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return arSa;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var arMa = moment.defineLocale('ar-ma', {\n months : 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),\n monthsShort : 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),\n weekdays : 'الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort : 'احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'في %s',\n past : 'منذ %s',\n s : 'ثوان',\n ss : '%d ثانية',\n m : 'دقيقة',\n mm : '%d دقائق',\n h : 'ساعة',\n hh : '%d ساعات',\n d : 'يوم',\n dd : '%d أيام',\n M : 'شهر',\n MM : '%d أشهر',\n y : 'سنة',\n yy : '%d سنوات'\n },\n week : {\n dow : 6, // Saturday is the first day of the week.\n doy : 12 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return arMa;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '1',\n '2': '2',\n '3': '3',\n '4': '4',\n '5': '5',\n '6': '6',\n '7': '7',\n '8': '8',\n '9': '9',\n '0': '0'\n }, pluralForm = function (n) {\n return n === 0 ? 0 : n === 1 ? 1 : n === 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5;\n }, plurals = {\n s : ['أقل من ثانية', 'ثانية واحدة', ['ثانيتان', 'ثانيتين'], '%d ثوان', '%d ثانية', '%d ثانية'],\n m : ['أقل من دقيقة', 'دقيقة واحدة', ['دقيقتان', 'دقيقتين'], '%d دقائق', '%d دقيقة', '%d دقيقة'],\n h : ['أقل من ساعة', 'ساعة واحدة', ['ساعتان', 'ساعتين'], '%d ساعات', '%d ساعة', '%d ساعة'],\n d : ['أقل من يوم', 'يوم واحد', ['يومان', 'يومين'], '%d أيام', '%d يومًا', '%d يوم'],\n M : ['أقل من شهر', 'شهر واحد', ['شهران', 'شهرين'], '%d أشهر', '%d شهرا', '%d شهر'],\n y : ['أقل من عام', 'عام واحد', ['عامان', 'عامين'], '%d أعوام', '%d عامًا', '%d عام']\n }, pluralize = function (u) {\n return function (number, withoutSuffix, string, isFuture) {\n var f = pluralForm(number),\n str = plurals[u][pluralForm(number)];\n if (f === 2) {\n str = str[withoutSuffix ? 0 : 1];\n }\n return str.replace(/%d/i, number);\n };\n }, months = [\n 'يناير',\n 'فبراير',\n 'مارس',\n 'أبريل',\n 'مايو',\n 'يونيو',\n 'يوليو',\n 'أغسطس',\n 'سبتمبر',\n 'أكتوبر',\n 'نوفمبر',\n 'ديسمبر'\n ];\n\n var arLy = moment.defineLocale('ar-ly', {\n months : months,\n monthsShort : months,\n weekdays : 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort : 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'D/\\u200FM/\\u200FYYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n meridiemParse: /ص|م/,\n isPM : function (input) {\n return 'م' === input;\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ص';\n } else {\n return 'م';\n }\n },\n calendar : {\n sameDay: '[اليوم عند الساعة] LT',\n nextDay: '[غدًا عند الساعة] LT',\n nextWeek: 'dddd [عند الساعة] LT',\n lastDay: '[أمس عند الساعة] LT',\n lastWeek: 'dddd [عند الساعة] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'بعد %s',\n past : 'منذ %s',\n s : pluralize('s'),\n ss : pluralize('s'),\n m : pluralize('m'),\n mm : pluralize('m'),\n h : pluralize('h'),\n hh : pluralize('h'),\n d : pluralize('d'),\n dd : pluralize('d'),\n M : pluralize('M'),\n MM : pluralize('M'),\n y : pluralize('y'),\n yy : pluralize('y')\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n }).replace(/,/g, '،');\n },\n week : {\n dow : 6, // Saturday is the first day of the week.\n doy : 12 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return arLy;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var arKw = moment.defineLocale('ar-kw', {\n months : 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),\n monthsShort : 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),\n weekdays : 'الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort : 'احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'في %s',\n past : 'منذ %s',\n s : 'ثوان',\n ss : '%d ثانية',\n m : 'دقيقة',\n mm : '%d دقائق',\n h : 'ساعة',\n hh : '%d ساعات',\n d : 'يوم',\n dd : '%d أيام',\n M : 'شهر',\n MM : '%d أشهر',\n y : 'سنة',\n yy : '%d سنوات'\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 12 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return arKw;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var arDz = moment.defineLocale('ar-dz', {\n months : 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),\n monthsShort : 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),\n weekdays : 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort : 'احد_اثنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin : 'أح_إث_ثلا_أر_خم_جم_سب'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'في %s',\n past : 'منذ %s',\n s : 'ثوان',\n ss : '%d ثانية',\n m : 'دقيقة',\n mm : '%d دقائق',\n h : 'ساعة',\n hh : '%d ساعات',\n d : 'يوم',\n dd : '%d أيام',\n M : 'شهر',\n MM : '%d أشهر',\n y : 'سنة',\n yy : '%d سنوات'\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 4 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return arDz;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '١',\n '2': '٢',\n '3': '٣',\n '4': '٤',\n '5': '٥',\n '6': '٦',\n '7': '٧',\n '8': '٨',\n '9': '٩',\n '0': '٠'\n }, numberMap = {\n '١': '1',\n '٢': '2',\n '٣': '3',\n '٤': '4',\n '٥': '5',\n '٦': '6',\n '٧': '7',\n '٨': '8',\n '٩': '9',\n '٠': '0'\n }, pluralForm = function (n) {\n return n === 0 ? 0 : n === 1 ? 1 : n === 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5;\n }, plurals = {\n s : ['أقل من ثانية', 'ثانية واحدة', ['ثانيتان', 'ثانيتين'], '%d ثوان', '%d ثانية', '%d ثانية'],\n m : ['أقل من دقيقة', 'دقيقة واحدة', ['دقيقتان', 'دقيقتين'], '%d دقائق', '%d دقيقة', '%d دقيقة'],\n h : ['أقل من ساعة', 'ساعة واحدة', ['ساعتان', 'ساعتين'], '%d ساعات', '%d ساعة', '%d ساعة'],\n d : ['أقل من يوم', 'يوم واحد', ['يومان', 'يومين'], '%d أيام', '%d يومًا', '%d يوم'],\n M : ['أقل من شهر', 'شهر واحد', ['شهران', 'شهرين'], '%d أشهر', '%d شهرا', '%d شهر'],\n y : ['أقل من عام', 'عام واحد', ['عامان', 'عامين'], '%d أعوام', '%d عامًا', '%d عام']\n }, pluralize = function (u) {\n return function (number, withoutSuffix, string, isFuture) {\n var f = pluralForm(number),\n str = plurals[u][pluralForm(number)];\n if (f === 2) {\n str = str[withoutSuffix ? 0 : 1];\n }\n return str.replace(/%d/i, number);\n };\n }, months = [\n 'يناير',\n 'فبراير',\n 'مارس',\n 'أبريل',\n 'مايو',\n 'يونيو',\n 'يوليو',\n 'أغسطس',\n 'سبتمبر',\n 'أكتوبر',\n 'نوفمبر',\n 'ديسمبر'\n ];\n\n var ar = moment.defineLocale('ar', {\n months : months,\n monthsShort : months,\n weekdays : 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort : 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'D/\\u200FM/\\u200FYYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n meridiemParse: /ص|م/,\n isPM : function (input) {\n return 'م' === input;\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ص';\n } else {\n return 'م';\n }\n },\n calendar : {\n sameDay: '[اليوم عند الساعة] LT',\n nextDay: '[غدًا عند الساعة] LT',\n nextWeek: 'dddd [عند الساعة] LT',\n lastDay: '[أمس عند الساعة] LT',\n lastWeek: 'dddd [عند الساعة] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'بعد %s',\n past : 'منذ %s',\n s : pluralize('s'),\n ss : pluralize('s'),\n m : pluralize('m'),\n mm : pluralize('m'),\n h : pluralize('h'),\n hh : pluralize('h'),\n d : pluralize('d'),\n dd : pluralize('d'),\n M : pluralize('M'),\n MM : pluralize('M'),\n y : pluralize('y'),\n yy : pluralize('y')\n },\n preparse: function (string) {\n return string.replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\n return numberMap[match];\n }).replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n }).replace(/,/g, '،');\n },\n week : {\n dow : 6, // Saturday is the first day of the week.\n doy : 12 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return ar;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var af = moment.defineLocale('af', {\n months : 'Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember'.split('_'),\n monthsShort : 'Jan_Feb_Mrt_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des'.split('_'),\n weekdays : 'Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag'.split('_'),\n weekdaysShort : 'Son_Maa_Din_Woe_Don_Vry_Sat'.split('_'),\n weekdaysMin : 'So_Ma_Di_Wo_Do_Vr_Sa'.split('_'),\n meridiemParse: /vm|nm/i,\n isPM : function (input) {\n return /^nm$/i.test(input);\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours < 12) {\n return isLower ? 'vm' : 'VM';\n } else {\n return isLower ? 'nm' : 'NM';\n }\n },\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Vandag om] LT',\n nextDay : '[Môre om] LT',\n nextWeek : 'dddd [om] LT',\n lastDay : '[Gister om] LT',\n lastWeek : '[Laas] dddd [om] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'oor %s',\n past : '%s gelede',\n s : '\\'n paar sekondes',\n ss : '%d sekondes',\n m : '\\'n minuut',\n mm : '%d minute',\n h : '\\'n uur',\n hh : '%d ure',\n d : '\\'n dag',\n dd : '%d dae',\n M : '\\'n maand',\n MM : '%d maande',\n y : '\\'n jaar',\n yy : '%d jaar'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n ordinal : function (number) {\n return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de'); // Thanks to Joris Röling : https://github.com/jjupiter\n },\n week : {\n dow : 1, // Maandag is die eerste dag van die week.\n doy : 4 // Die week wat die 4de Januarie bevat is die eerste week van die jaar.\n }\n });\n\n return af;\n\n})));\n","import { each } from './each';\n\nexport function extendDeep(target) {\n for (var i = 1; i < arguments.length; i++) {\n each(arguments[i], function(prop, key){\n if (( typeof target[key] !== 'undefined' && typeof prop !== 'undefined' ) &&\n ( typeof target[key] === 'object' && typeof prop === 'object' ) &&\n ( target[key] !== null && prop !== null )) {\n extendDeep(target[key], prop);\n }\n else {\n target[key] = prop;\n }\n });\n }\n return target;\n}\n","/* @license C3.js v0.6.12 | (c) C3 Team and other contributors | http://c3js.org/ */\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n (global.c3 = factory());\n}(this, (function () { 'use strict';\n\n function _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n }\n\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n\n function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n }\n\n function ChartInternal(api) {\n var $$ = this;\n $$.d3 = window.d3 ? window.d3 : typeof require !== 'undefined' ? require(\"d3\") : undefined;\n $$.api = api;\n $$.config = $$.getDefaultConfig();\n $$.data = {};\n $$.cache = {};\n $$.axes = {};\n }\n\n function Chart(config) {\n var $$ = this.internal = new ChartInternal(this);\n $$.loadConfig(config);\n $$.beforeInit(config);\n $$.init();\n $$.afterInit(config); // bind \"this\" to nested API\n\n (function bindThis(fn, target, argThis) {\n Object.keys(fn).forEach(function (key) {\n target[key] = fn[key].bind(argThis);\n\n if (Object.keys(fn[key]).length > 0) {\n bindThis(fn[key], target[key], argThis);\n }\n });\n })(Chart.prototype, this, this);\n }\n\n function AxisInternal(component, params) {\n var internal = this;\n internal.component = component;\n internal.params = params || {};\n internal.d3 = component.d3;\n internal.scale = internal.d3.scaleLinear();\n internal.range;\n internal.orient = \"bottom\";\n internal.innerTickSize = 6;\n internal.outerTickSize = this.params.withOuterTick ? 6 : 0;\n internal.tickPadding = 3;\n internal.tickValues = null;\n internal.tickFormat;\n internal.tickArguments;\n internal.tickOffset = 0;\n internal.tickCulling = true;\n internal.tickCentered;\n internal.tickTextCharSize;\n internal.tickTextRotate = internal.params.tickTextRotate;\n internal.tickLength;\n internal.axis = internal.generateAxis();\n }\n\n AxisInternal.prototype.axisX = function (selection, x, tickOffset) {\n selection.attr(\"transform\", function (d) {\n return \"translate(\" + Math.ceil(x(d) + tickOffset) + \", 0)\";\n });\n };\n\n AxisInternal.prototype.axisY = function (selection, y) {\n selection.attr(\"transform\", function (d) {\n return \"translate(0,\" + Math.ceil(y(d)) + \")\";\n });\n };\n\n AxisInternal.prototype.scaleExtent = function (domain) {\n var start = domain[0],\n stop = domain[domain.length - 1];\n return start < stop ? [start, stop] : [stop, start];\n };\n\n AxisInternal.prototype.generateTicks = function (scale) {\n var internal = this;\n var i,\n domain,\n ticks = [];\n\n if (scale.ticks) {\n return scale.ticks.apply(scale, internal.tickArguments);\n }\n\n domain = scale.domain();\n\n for (i = Math.ceil(domain[0]); i < domain[1]; i++) {\n ticks.push(i);\n }\n\n if (ticks.length > 0 && ticks[0] > 0) {\n ticks.unshift(ticks[0] - (ticks[1] - ticks[0]));\n }\n\n return ticks;\n };\n\n AxisInternal.prototype.copyScale = function () {\n var internal = this;\n var newScale = internal.scale.copy(),\n domain;\n\n if (internal.params.isCategory) {\n domain = internal.scale.domain();\n newScale.domain([domain[0], domain[1] - 1]);\n }\n\n return newScale;\n };\n\n AxisInternal.prototype.textFormatted = function (v) {\n var internal = this,\n formatted = internal.tickFormat ? internal.tickFormat(v) : v;\n return typeof formatted !== 'undefined' ? formatted : '';\n };\n\n AxisInternal.prototype.updateRange = function () {\n var internal = this;\n internal.range = internal.scale.rangeExtent ? internal.scale.rangeExtent() : internal.scaleExtent(internal.scale.range());\n return internal.range;\n };\n\n AxisInternal.prototype.updateTickTextCharSize = function (tick) {\n var internal = this;\n\n if (internal.tickTextCharSize) {\n return internal.tickTextCharSize;\n }\n\n var size = {\n h: 11.5,\n w: 5.5\n };\n tick.select('text').text(function (d) {\n return internal.textFormatted(d);\n }).each(function (d) {\n var box = this.getBoundingClientRect(),\n text = internal.textFormatted(d),\n h = box.height,\n w = text ? box.width / text.length : undefined;\n\n if (h && w) {\n size.h = h;\n size.w = w;\n }\n }).text('');\n internal.tickTextCharSize = size;\n return size;\n };\n\n AxisInternal.prototype.isVertical = function () {\n return this.orient === 'left' || this.orient === 'right';\n };\n\n AxisInternal.prototype.tspanData = function (d, i, scale) {\n var internal = this;\n var splitted = internal.params.tickMultiline ? internal.splitTickText(d, scale) : [].concat(internal.textFormatted(d));\n\n if (internal.params.tickMultiline && internal.params.tickMultilineMax > 0) {\n splitted = internal.ellipsify(splitted, internal.params.tickMultilineMax);\n }\n\n return splitted.map(function (s) {\n return {\n index: i,\n splitted: s,\n length: splitted.length\n };\n });\n };\n\n AxisInternal.prototype.splitTickText = function (d, scale) {\n var internal = this,\n tickText = internal.textFormatted(d),\n maxWidth = internal.params.tickWidth,\n subtext,\n spaceIndex,\n textWidth,\n splitted = [];\n\n if (Object.prototype.toString.call(tickText) === \"[object Array]\") {\n return tickText;\n }\n\n if (!maxWidth || maxWidth <= 0) {\n maxWidth = internal.isVertical() ? 95 : internal.params.isCategory ? Math.ceil(scale(1) - scale(0)) - 12 : 110;\n }\n\n function split(splitted, text) {\n spaceIndex = undefined;\n\n for (var i = 1; i < text.length; i++) {\n if (text.charAt(i) === ' ') {\n spaceIndex = i;\n }\n\n subtext = text.substr(0, i + 1);\n textWidth = internal.tickTextCharSize.w * subtext.length; // if text width gets over tick width, split by space index or crrent index\n\n if (maxWidth < textWidth) {\n return split(splitted.concat(text.substr(0, spaceIndex ? spaceIndex : i)), text.slice(spaceIndex ? spaceIndex + 1 : i));\n }\n }\n\n return splitted.concat(text);\n }\n\n return split(splitted, tickText + \"\");\n };\n\n AxisInternal.prototype.ellipsify = function (splitted, max) {\n if (splitted.length <= max) {\n return splitted;\n }\n\n var ellipsified = splitted.slice(0, max);\n var remaining = 3;\n\n for (var i = max - 1; i >= 0; i--) {\n var available = ellipsified[i].length;\n ellipsified[i] = ellipsified[i].substr(0, available - remaining).padEnd(available, '.');\n remaining -= available;\n\n if (remaining <= 0) {\n break;\n }\n }\n\n return ellipsified;\n };\n\n AxisInternal.prototype.updateTickLength = function () {\n var internal = this;\n internal.tickLength = Math.max(internal.innerTickSize, 0) + internal.tickPadding;\n };\n\n AxisInternal.prototype.lineY2 = function (d) {\n var internal = this,\n tickPosition = internal.scale(d) + (internal.tickCentered ? 0 : internal.tickOffset);\n return internal.range[0] < tickPosition && tickPosition < internal.range[1] ? internal.innerTickSize : 0;\n };\n\n AxisInternal.prototype.textY = function () {\n var internal = this,\n rotate = internal.tickTextRotate;\n return rotate ? 11.5 - 2.5 * (rotate / 15) * (rotate > 0 ? 1 : -1) : internal.tickLength;\n };\n\n AxisInternal.prototype.textTransform = function () {\n var internal = this,\n rotate = internal.tickTextRotate;\n return rotate ? \"rotate(\" + rotate + \")\" : \"\";\n };\n\n AxisInternal.prototype.textTextAnchor = function () {\n var internal = this,\n rotate = internal.tickTextRotate;\n return rotate ? rotate > 0 ? \"start\" : \"end\" : \"middle\";\n };\n\n AxisInternal.prototype.tspanDx = function () {\n var internal = this,\n rotate = internal.tickTextRotate;\n return rotate ? 8 * Math.sin(Math.PI * (rotate / 180)) : 0;\n };\n\n AxisInternal.prototype.tspanDy = function (d, i) {\n var internal = this,\n dy = internal.tickTextCharSize.h;\n\n if (i === 0) {\n if (internal.isVertical()) {\n dy = -((d.length - 1) * (internal.tickTextCharSize.h / 2) - 3);\n } else {\n dy = \".71em\";\n }\n }\n\n return dy;\n };\n\n AxisInternal.prototype.generateAxis = function () {\n var internal = this,\n d3 = internal.d3,\n params = internal.params;\n\n function axis(g, transition) {\n var self;\n g.each(function () {\n var g = axis.g = d3.select(this);\n var scale0 = this.__chart__ || internal.scale,\n scale1 = this.__chart__ = internal.copyScale();\n var ticksValues = internal.tickValues ? internal.tickValues : internal.generateTicks(scale1),\n ticks = g.selectAll(\".tick\").data(ticksValues, scale1),\n tickEnter = ticks.enter().insert(\"g\", \".domain\").attr(\"class\", \"tick\").style(\"opacity\", 1e-6),\n // MEMO: No exit transition. The reason is this transition affects max tick width calculation because old tick will be included in the ticks.\n tickExit = ticks.exit().remove(),\n tickUpdate = ticks.merge(tickEnter),\n tickTransform,\n tickX,\n tickY;\n\n if (params.isCategory) {\n internal.tickOffset = Math.ceil((scale1(1) - scale1(0)) / 2);\n tickX = internal.tickCentered ? 0 : internal.tickOffset;\n tickY = internal.tickCentered ? internal.tickOffset : 0;\n } else {\n internal.tickOffset = tickX = 0;\n }\n\n internal.updateRange();\n internal.updateTickLength();\n internal.updateTickTextCharSize(g.select('.tick'));\n var lineUpdate = tickUpdate.select(\"line\").merge(tickEnter.append(\"line\")),\n textUpdate = tickUpdate.select(\"text\").merge(tickEnter.append(\"text\"));\n var tspans = tickUpdate.selectAll('text').selectAll('tspan').data(function (d, i) {\n return internal.tspanData(d, i, scale1);\n }),\n tspanEnter = tspans.enter().append('tspan'),\n tspanUpdate = tspanEnter.merge(tspans).text(function (d) {\n return d.splitted;\n });\n tspans.exit().remove();\n var path = g.selectAll(\".domain\").data([0]),\n pathUpdate = path.enter().append(\"path\").merge(path).attr(\"class\", \"domain\"); // TODO: each attr should be one function and change its behavior by internal.orient, probably\n\n switch (internal.orient) {\n case \"bottom\":\n {\n tickTransform = internal.axisX;\n lineUpdate.attr(\"x1\", tickX).attr(\"x2\", tickX).attr(\"y2\", function (d, i) {\n return internal.lineY2(d, i);\n });\n textUpdate.attr(\"x\", 0).attr(\"y\", function (d, i) {\n return internal.textY(d, i);\n }).attr(\"transform\", function (d, i) {\n return internal.textTransform(d, i);\n }).style(\"text-anchor\", function (d, i) {\n return internal.textTextAnchor(d, i);\n });\n tspanUpdate.attr('x', 0).attr(\"dy\", function (d, i) {\n return internal.tspanDy(d, i);\n }).attr('dx', function (d, i) {\n return internal.tspanDx(d, i);\n });\n pathUpdate.attr(\"d\", \"M\" + internal.range[0] + \",\" + internal.outerTickSize + \"V0H\" + internal.range[1] + \"V\" + internal.outerTickSize);\n break;\n }\n\n case \"top\":\n {\n // TODO: rotated tick text\n tickTransform = internal.axisX;\n lineUpdate.attr(\"x1\", tickX).attr(\"x2\", tickX).attr(\"y2\", function (d, i) {\n return -1 * internal.lineY2(d, i);\n });\n textUpdate.attr(\"x\", 0).attr(\"y\", function (d, i) {\n return -1 * internal.textY(d, i) - (params.isCategory ? 2 : internal.tickLength - 2);\n }).attr(\"transform\", function (d, i) {\n return internal.textTransform(d, i);\n }).style(\"text-anchor\", function (d, i) {\n return internal.textTextAnchor(d, i);\n });\n tspanUpdate.attr('x', 0).attr(\"dy\", function (d, i) {\n return internal.tspanDy(d, i);\n }).attr('dx', function (d, i) {\n return internal.tspanDx(d, i);\n });\n pathUpdate.attr(\"d\", \"M\" + internal.range[0] + \",\" + -internal.outerTickSize + \"V0H\" + internal.range[1] + \"V\" + -internal.outerTickSize);\n break;\n }\n\n case \"left\":\n {\n tickTransform = internal.axisY;\n lineUpdate.attr(\"x2\", -internal.innerTickSize).attr(\"y1\", tickY).attr(\"y2\", tickY);\n textUpdate.attr(\"x\", -internal.tickLength).attr(\"y\", internal.tickOffset).style(\"text-anchor\", \"end\");\n tspanUpdate.attr('x', -internal.tickLength).attr(\"dy\", function (d, i) {\n return internal.tspanDy(d, i);\n });\n pathUpdate.attr(\"d\", \"M\" + -internal.outerTickSize + \",\" + internal.range[0] + \"H0V\" + internal.range[1] + \"H\" + -internal.outerTickSize);\n break;\n }\n\n case \"right\":\n {\n tickTransform = internal.axisY;\n lineUpdate.attr(\"x2\", internal.innerTickSize).attr(\"y1\", tickY).attr(\"y2\", tickY);\n textUpdate.attr(\"x\", internal.tickLength).attr(\"y\", internal.tickOffset).style(\"text-anchor\", \"start\");\n tspanUpdate.attr('x', internal.tickLength).attr(\"dy\", function (d, i) {\n return internal.tspanDy(d, i);\n });\n pathUpdate.attr(\"d\", \"M\" + internal.outerTickSize + \",\" + internal.range[0] + \"H0V\" + internal.range[1] + \"H\" + internal.outerTickSize);\n break;\n }\n }\n\n if (scale1.rangeBand) {\n var x = scale1,\n dx = x.rangeBand() / 2;\n\n scale0 = scale1 = function scale1(d) {\n return x(d) + dx;\n };\n } else if (scale0.rangeBand) {\n scale0 = scale1;\n } else {\n tickExit.call(tickTransform, scale1, internal.tickOffset);\n }\n\n tickEnter.call(tickTransform, scale0, internal.tickOffset);\n self = (transition ? tickUpdate.transition(transition) : tickUpdate).style('opacity', 1).call(tickTransform, scale1, internal.tickOffset);\n });\n return self;\n }\n\n axis.scale = function (x) {\n if (!arguments.length) {\n return internal.scale;\n }\n\n internal.scale = x;\n return axis;\n };\n\n axis.orient = function (x) {\n if (!arguments.length) {\n return internal.orient;\n }\n\n internal.orient = x in {\n top: 1,\n right: 1,\n bottom: 1,\n left: 1\n } ? x + \"\" : \"bottom\";\n return axis;\n };\n\n axis.tickFormat = function (format) {\n if (!arguments.length) {\n return internal.tickFormat;\n }\n\n internal.tickFormat = format;\n return axis;\n };\n\n axis.tickCentered = function (isCentered) {\n if (!arguments.length) {\n return internal.tickCentered;\n }\n\n internal.tickCentered = isCentered;\n return axis;\n };\n\n axis.tickOffset = function () {\n return internal.tickOffset;\n };\n\n axis.tickInterval = function () {\n var interval, length;\n\n if (params.isCategory) {\n interval = internal.tickOffset * 2;\n } else {\n length = axis.g.select('path.domain').node().getTotalLength() - internal.outerTickSize * 2;\n interval = length / axis.g.selectAll('line').size();\n }\n\n return interval === Infinity ? 0 : interval;\n };\n\n axis.ticks = function () {\n if (!arguments.length) {\n return internal.tickArguments;\n }\n\n internal.tickArguments = arguments;\n return axis;\n };\n\n axis.tickCulling = function (culling) {\n if (!arguments.length) {\n return internal.tickCulling;\n }\n\n internal.tickCulling = culling;\n return axis;\n };\n\n axis.tickValues = function (x) {\n if (typeof x === 'function') {\n internal.tickValues = function () {\n return x(internal.scale.domain());\n };\n } else {\n if (!arguments.length) {\n return internal.tickValues;\n }\n\n internal.tickValues = x;\n }\n\n return axis;\n };\n\n return axis;\n };\n\n var CLASS = {\n target: 'c3-target',\n chart: 'c3-chart',\n chartLine: 'c3-chart-line',\n chartLines: 'c3-chart-lines',\n chartBar: 'c3-chart-bar',\n chartBars: 'c3-chart-bars',\n chartText: 'c3-chart-text',\n chartTexts: 'c3-chart-texts',\n chartArc: 'c3-chart-arc',\n chartArcs: 'c3-chart-arcs',\n chartArcsTitle: 'c3-chart-arcs-title',\n chartArcsBackground: 'c3-chart-arcs-background',\n chartArcsGaugeUnit: 'c3-chart-arcs-gauge-unit',\n chartArcsGaugeMax: 'c3-chart-arcs-gauge-max',\n chartArcsGaugeMin: 'c3-chart-arcs-gauge-min',\n selectedCircle: 'c3-selected-circle',\n selectedCircles: 'c3-selected-circles',\n eventRect: 'c3-event-rect',\n eventRects: 'c3-event-rects',\n eventRectsSingle: 'c3-event-rects-single',\n eventRectsMultiple: 'c3-event-rects-multiple',\n zoomRect: 'c3-zoom-rect',\n brush: 'c3-brush',\n dragZoom: 'c3-drag-zoom',\n focused: 'c3-focused',\n defocused: 'c3-defocused',\n region: 'c3-region',\n regions: 'c3-regions',\n title: 'c3-title',\n tooltipContainer: 'c3-tooltip-container',\n tooltip: 'c3-tooltip',\n tooltipName: 'c3-tooltip-name',\n shape: 'c3-shape',\n shapes: 'c3-shapes',\n line: 'c3-line',\n lines: 'c3-lines',\n bar: 'c3-bar',\n bars: 'c3-bars',\n circle: 'c3-circle',\n circles: 'c3-circles',\n arc: 'c3-arc',\n arcLabelLine: 'c3-arc-label-line',\n arcs: 'c3-arcs',\n area: 'c3-area',\n areas: 'c3-areas',\n empty: 'c3-empty',\n text: 'c3-text',\n texts: 'c3-texts',\n gaugeValue: 'c3-gauge-value',\n grid: 'c3-grid',\n gridLines: 'c3-grid-lines',\n xgrid: 'c3-xgrid',\n xgrids: 'c3-xgrids',\n xgridLine: 'c3-xgrid-line',\n xgridLines: 'c3-xgrid-lines',\n xgridFocus: 'c3-xgrid-focus',\n ygrid: 'c3-ygrid',\n ygrids: 'c3-ygrids',\n ygridLine: 'c3-ygrid-line',\n ygridLines: 'c3-ygrid-lines',\n axis: 'c3-axis',\n axisX: 'c3-axis-x',\n axisXLabel: 'c3-axis-x-label',\n axisY: 'c3-axis-y',\n axisYLabel: 'c3-axis-y-label',\n axisY2: 'c3-axis-y2',\n axisY2Label: 'c3-axis-y2-label',\n legendBackground: 'c3-legend-background',\n legendItem: 'c3-legend-item',\n legendItemEvent: 'c3-legend-item-event',\n legendItemTile: 'c3-legend-item-tile',\n legendItemHidden: 'c3-legend-item-hidden',\n legendItemFocused: 'c3-legend-item-focused',\n dragarea: 'c3-dragarea',\n EXPANDED: '_expanded_',\n SELECTED: '_selected_',\n INCLUDED: '_included_'\n };\n\n var asHalfPixel = function asHalfPixel(n) {\n return Math.ceil(n) + 0.5;\n };\n var ceil10 = function ceil10(v) {\n return Math.ceil(v / 10) * 10;\n };\n var diffDomain = function diffDomain(d) {\n return d[1] - d[0];\n };\n var getOption = function getOption(options, key, defaultValue) {\n return isDefined(options[key]) ? options[key] : defaultValue;\n };\n var getPathBox = function getPathBox(path) {\n var box = path.getBoundingClientRect(),\n items = [path.pathSegList.getItem(0), path.pathSegList.getItem(1)],\n minX = items[0].x,\n minY = Math.min(items[0].y, items[1].y);\n return {\n x: minX,\n y: minY,\n width: box.width,\n height: box.height\n };\n };\n var hasValue = function hasValue(dict, value) {\n var found = false;\n Object.keys(dict).forEach(function (key) {\n if (dict[key] === value) {\n found = true;\n }\n });\n return found;\n };\n var isArray = function isArray(o) {\n return Array.isArray(o);\n };\n var isDefined = function isDefined(v) {\n return typeof v !== 'undefined';\n };\n var isEmpty = function isEmpty(o) {\n return typeof o === 'undefined' || o === null || isString(o) && o.length === 0 || _typeof(o) === 'object' && Object.keys(o).length === 0;\n };\n var isFunction = function isFunction(o) {\n return typeof o === 'function';\n };\n var isString = function isString(o) {\n return typeof o === 'string';\n };\n var isUndefined = function isUndefined(v) {\n return typeof v === 'undefined';\n };\n var isValue = function isValue(v) {\n return v || v === 0;\n };\n var notEmpty = function notEmpty(o) {\n return !isEmpty(o);\n };\n var sanitise = function sanitise(str) {\n return typeof str === 'string' ? str.replace(//g, '>') : str;\n };\n\n var Axis = function Axis(owner) {\n _classCallCheck(this, Axis);\n\n this.owner = owner;\n this.d3 = owner.d3;\n this.internal = AxisInternal;\n };\n\n Axis.prototype.init = function init() {\n var $$ = this.owner,\n config = $$.config,\n main = $$.main;\n $$.axes.x = main.append(\"g\").attr(\"class\", CLASS.axis + ' ' + CLASS.axisX).attr(\"clip-path\", config.axis_x_inner ? \"\" : $$.clipPathForXAxis).attr(\"transform\", $$.getTranslate('x')).style(\"visibility\", config.axis_x_show ? 'visible' : 'hidden');\n $$.axes.x.append(\"text\").attr(\"class\", CLASS.axisXLabel).attr(\"transform\", config.axis_rotated ? \"rotate(-90)\" : \"\").style(\"text-anchor\", this.textAnchorForXAxisLabel.bind(this));\n $$.axes.y = main.append(\"g\").attr(\"class\", CLASS.axis + ' ' + CLASS.axisY).attr(\"clip-path\", config.axis_y_inner ? \"\" : $$.clipPathForYAxis).attr(\"transform\", $$.getTranslate('y')).style(\"visibility\", config.axis_y_show ? 'visible' : 'hidden');\n $$.axes.y.append(\"text\").attr(\"class\", CLASS.axisYLabel).attr(\"transform\", config.axis_rotated ? \"\" : \"rotate(-90)\").style(\"text-anchor\", this.textAnchorForYAxisLabel.bind(this));\n $$.axes.y2 = main.append(\"g\").attr(\"class\", CLASS.axis + ' ' + CLASS.axisY2) // clip-path?\n .attr(\"transform\", $$.getTranslate('y2')).style(\"visibility\", config.axis_y2_show ? 'visible' : 'hidden');\n $$.axes.y2.append(\"text\").attr(\"class\", CLASS.axisY2Label).attr(\"transform\", config.axis_rotated ? \"\" : \"rotate(-90)\").style(\"text-anchor\", this.textAnchorForY2AxisLabel.bind(this));\n };\n\n Axis.prototype.getXAxis = function getXAxis(scale, orient, tickFormat, tickValues, withOuterTick, withoutTransition, withoutRotateTickText) {\n var $$ = this.owner,\n config = $$.config,\n axisParams = {\n isCategory: $$.isCategorized(),\n withOuterTick: withOuterTick,\n tickMultiline: config.axis_x_tick_multiline,\n tickMultilineMax: config.axis_x_tick_multiline ? Number(config.axis_x_tick_multilineMax) : 0,\n tickWidth: config.axis_x_tick_width,\n tickTextRotate: withoutRotateTickText ? 0 : config.axis_x_tick_rotate,\n withoutTransition: withoutTransition\n },\n axis = new this.internal(this, axisParams).axis.scale(scale).orient(orient);\n\n if ($$.isTimeSeries() && tickValues && typeof tickValues !== \"function\") {\n tickValues = tickValues.map(function (v) {\n return $$.parseDate(v);\n });\n } // Set tick\n\n\n axis.tickFormat(tickFormat).tickValues(tickValues);\n\n if ($$.isCategorized()) {\n axis.tickCentered(config.axis_x_tick_centered);\n\n if (isEmpty(config.axis_x_tick_culling)) {\n config.axis_x_tick_culling = false;\n }\n }\n\n return axis;\n };\n\n Axis.prototype.updateXAxisTickValues = function updateXAxisTickValues(targets, axis) {\n var $$ = this.owner,\n config = $$.config,\n tickValues;\n\n if (config.axis_x_tick_fit || config.axis_x_tick_count) {\n tickValues = this.generateTickValues($$.mapTargetsToUniqueXs(targets), config.axis_x_tick_count, $$.isTimeSeries());\n }\n\n if (axis) {\n axis.tickValues(tickValues);\n } else {\n $$.xAxis.tickValues(tickValues);\n $$.subXAxis.tickValues(tickValues);\n }\n\n return tickValues;\n };\n\n Axis.prototype.getYAxis = function getYAxis(scale, orient, tickFormat, tickValues, withOuterTick, withoutTransition, withoutRotateTickText) {\n var $$ = this.owner,\n config = $$.config,\n axisParams = {\n withOuterTick: withOuterTick,\n withoutTransition: withoutTransition,\n tickTextRotate: withoutRotateTickText ? 0 : config.axis_y_tick_rotate\n },\n axis = new this.internal(this, axisParams).axis.scale(scale).orient(orient).tickFormat(tickFormat);\n\n if ($$.isTimeSeriesY()) {\n axis.ticks(config.axis_y_tick_time_type, config.axis_y_tick_time_interval);\n } else {\n axis.tickValues(tickValues);\n }\n\n return axis;\n };\n\n Axis.prototype.getId = function getId(id) {\n var config = this.owner.config;\n return id in config.data_axes ? config.data_axes[id] : 'y';\n };\n\n Axis.prototype.getXAxisTickFormat = function getXAxisTickFormat() {\n // #2251 previously set any negative values to a whole number,\n // however both should be truncated according to the users format specification\n var $$ = this.owner,\n config = $$.config;\n var format = $$.isTimeSeries() ? $$.defaultAxisTimeFormat : $$.isCategorized() ? $$.categoryName : function (v) {\n return v;\n };\n\n if (config.axis_x_tick_format) {\n if (isFunction(config.axis_x_tick_format)) {\n format = config.axis_x_tick_format;\n } else if ($$.isTimeSeries()) {\n format = function format(date) {\n return date ? $$.axisTimeFormat(config.axis_x_tick_format)(date) : \"\";\n };\n }\n }\n\n return isFunction(format) ? function (v) {\n return format.call($$, v);\n } : format;\n };\n\n Axis.prototype.getTickValues = function getTickValues(tickValues, axis) {\n return tickValues ? tickValues : axis ? axis.tickValues() : undefined;\n };\n\n Axis.prototype.getXAxisTickValues = function getXAxisTickValues() {\n return this.getTickValues(this.owner.config.axis_x_tick_values, this.owner.xAxis);\n };\n\n Axis.prototype.getYAxisTickValues = function getYAxisTickValues() {\n return this.getTickValues(this.owner.config.axis_y_tick_values, this.owner.yAxis);\n };\n\n Axis.prototype.getY2AxisTickValues = function getY2AxisTickValues() {\n return this.getTickValues(this.owner.config.axis_y2_tick_values, this.owner.y2Axis);\n };\n\n Axis.prototype.getLabelOptionByAxisId = function getLabelOptionByAxisId(axisId) {\n var $$ = this.owner,\n config = $$.config,\n option;\n\n if (axisId === 'y') {\n option = config.axis_y_label;\n } else if (axisId === 'y2') {\n option = config.axis_y2_label;\n } else if (axisId === 'x') {\n option = config.axis_x_label;\n }\n\n return option;\n };\n\n Axis.prototype.getLabelText = function getLabelText(axisId) {\n var option = this.getLabelOptionByAxisId(axisId);\n return isString(option) ? option : option ? option.text : null;\n };\n\n Axis.prototype.setLabelText = function setLabelText(axisId, text) {\n var $$ = this.owner,\n config = $$.config,\n option = this.getLabelOptionByAxisId(axisId);\n\n if (isString(option)) {\n if (axisId === 'y') {\n config.axis_y_label = text;\n } else if (axisId === 'y2') {\n config.axis_y2_label = text;\n } else if (axisId === 'x') {\n config.axis_x_label = text;\n }\n } else if (option) {\n option.text = text;\n }\n };\n\n Axis.prototype.getLabelPosition = function getLabelPosition(axisId, defaultPosition) {\n var option = this.getLabelOptionByAxisId(axisId),\n position = option && _typeof(option) === 'object' && option.position ? option.position : defaultPosition;\n return {\n isInner: position.indexOf('inner') >= 0,\n isOuter: position.indexOf('outer') >= 0,\n isLeft: position.indexOf('left') >= 0,\n isCenter: position.indexOf('center') >= 0,\n isRight: position.indexOf('right') >= 0,\n isTop: position.indexOf('top') >= 0,\n isMiddle: position.indexOf('middle') >= 0,\n isBottom: position.indexOf('bottom') >= 0\n };\n };\n\n Axis.prototype.getXAxisLabelPosition = function getXAxisLabelPosition() {\n return this.getLabelPosition('x', this.owner.config.axis_rotated ? 'inner-top' : 'inner-right');\n };\n\n Axis.prototype.getYAxisLabelPosition = function getYAxisLabelPosition() {\n return this.getLabelPosition('y', this.owner.config.axis_rotated ? 'inner-right' : 'inner-top');\n };\n\n Axis.prototype.getY2AxisLabelPosition = function getY2AxisLabelPosition() {\n return this.getLabelPosition('y2', this.owner.config.axis_rotated ? 'inner-right' : 'inner-top');\n };\n\n Axis.prototype.getLabelPositionById = function getLabelPositionById(id) {\n return id === 'y2' ? this.getY2AxisLabelPosition() : id === 'y' ? this.getYAxisLabelPosition() : this.getXAxisLabelPosition();\n };\n\n Axis.prototype.textForXAxisLabel = function textForXAxisLabel() {\n return this.getLabelText('x');\n };\n\n Axis.prototype.textForYAxisLabel = function textForYAxisLabel() {\n return this.getLabelText('y');\n };\n\n Axis.prototype.textForY2AxisLabel = function textForY2AxisLabel() {\n return this.getLabelText('y2');\n };\n\n Axis.prototype.xForAxisLabel = function xForAxisLabel(forHorizontal, position) {\n var $$ = this.owner;\n\n if (forHorizontal) {\n return position.isLeft ? 0 : position.isCenter ? $$.width / 2 : $$.width;\n } else {\n return position.isBottom ? -$$.height : position.isMiddle ? -$$.height / 2 : 0;\n }\n };\n\n Axis.prototype.dxForAxisLabel = function dxForAxisLabel(forHorizontal, position) {\n if (forHorizontal) {\n return position.isLeft ? \"0.5em\" : position.isRight ? \"-0.5em\" : \"0\";\n } else {\n return position.isTop ? \"-0.5em\" : position.isBottom ? \"0.5em\" : \"0\";\n }\n };\n\n Axis.prototype.textAnchorForAxisLabel = function textAnchorForAxisLabel(forHorizontal, position) {\n if (forHorizontal) {\n return position.isLeft ? 'start' : position.isCenter ? 'middle' : 'end';\n } else {\n return position.isBottom ? 'start' : position.isMiddle ? 'middle' : 'end';\n }\n };\n\n Axis.prototype.xForXAxisLabel = function xForXAxisLabel() {\n return this.xForAxisLabel(!this.owner.config.axis_rotated, this.getXAxisLabelPosition());\n };\n\n Axis.prototype.xForYAxisLabel = function xForYAxisLabel() {\n return this.xForAxisLabel(this.owner.config.axis_rotated, this.getYAxisLabelPosition());\n };\n\n Axis.prototype.xForY2AxisLabel = function xForY2AxisLabel() {\n return this.xForAxisLabel(this.owner.config.axis_rotated, this.getY2AxisLabelPosition());\n };\n\n Axis.prototype.dxForXAxisLabel = function dxForXAxisLabel() {\n return this.dxForAxisLabel(!this.owner.config.axis_rotated, this.getXAxisLabelPosition());\n };\n\n Axis.prototype.dxForYAxisLabel = function dxForYAxisLabel() {\n return this.dxForAxisLabel(this.owner.config.axis_rotated, this.getYAxisLabelPosition());\n };\n\n Axis.prototype.dxForY2AxisLabel = function dxForY2AxisLabel() {\n return this.dxForAxisLabel(this.owner.config.axis_rotated, this.getY2AxisLabelPosition());\n };\n\n Axis.prototype.dyForXAxisLabel = function dyForXAxisLabel() {\n var $$ = this.owner,\n config = $$.config,\n position = this.getXAxisLabelPosition();\n\n if (config.axis_rotated) {\n return position.isInner ? \"1.2em\" : -25 - ($$.config.axis_x_inner ? 0 : this.getMaxTickWidth('x'));\n } else {\n return position.isInner ? \"-0.5em\" : config.axis_x_height ? config.axis_x_height - 10 : \"3em\";\n }\n };\n\n Axis.prototype.dyForYAxisLabel = function dyForYAxisLabel() {\n var $$ = this.owner,\n position = this.getYAxisLabelPosition();\n\n if ($$.config.axis_rotated) {\n return position.isInner ? \"-0.5em\" : \"3em\";\n } else {\n return position.isInner ? \"1.2em\" : -10 - ($$.config.axis_y_inner ? 0 : this.getMaxTickWidth('y') + 10);\n }\n };\n\n Axis.prototype.dyForY2AxisLabel = function dyForY2AxisLabel() {\n var $$ = this.owner,\n position = this.getY2AxisLabelPosition();\n\n if ($$.config.axis_rotated) {\n return position.isInner ? \"1.2em\" : \"-2.2em\";\n } else {\n return position.isInner ? \"-0.5em\" : 15 + ($$.config.axis_y2_inner ? 0 : this.getMaxTickWidth('y2') + 15);\n }\n };\n\n Axis.prototype.textAnchorForXAxisLabel = function textAnchorForXAxisLabel() {\n var $$ = this.owner;\n return this.textAnchorForAxisLabel(!$$.config.axis_rotated, this.getXAxisLabelPosition());\n };\n\n Axis.prototype.textAnchorForYAxisLabel = function textAnchorForYAxisLabel() {\n var $$ = this.owner;\n return this.textAnchorForAxisLabel($$.config.axis_rotated, this.getYAxisLabelPosition());\n };\n\n Axis.prototype.textAnchorForY2AxisLabel = function textAnchorForY2AxisLabel() {\n var $$ = this.owner;\n return this.textAnchorForAxisLabel($$.config.axis_rotated, this.getY2AxisLabelPosition());\n };\n\n Axis.prototype.getMaxTickWidth = function getMaxTickWidth(id, withoutRecompute) {\n var $$ = this.owner,\n config = $$.config,\n maxWidth = 0,\n targetsToShow,\n scale,\n axis,\n dummy,\n svg;\n\n if (withoutRecompute && $$.currentMaxTickWidths[id]) {\n return $$.currentMaxTickWidths[id];\n }\n\n if ($$.svg) {\n targetsToShow = $$.filterTargetsToShow($$.data.targets);\n\n if (id === 'y') {\n scale = $$.y.copy().domain($$.getYDomain(targetsToShow, 'y'));\n axis = this.getYAxis(scale, $$.yOrient, config.axis_y_tick_format, $$.yAxisTickValues, false, true, true);\n } else if (id === 'y2') {\n scale = $$.y2.copy().domain($$.getYDomain(targetsToShow, 'y2'));\n axis = this.getYAxis(scale, $$.y2Orient, config.axis_y2_tick_format, $$.y2AxisTickValues, false, true, true);\n } else {\n scale = $$.x.copy().domain($$.getXDomain(targetsToShow));\n axis = this.getXAxis(scale, $$.xOrient, $$.xAxisTickFormat, $$.xAxisTickValues, false, true, true);\n this.updateXAxisTickValues(targetsToShow, axis);\n }\n\n dummy = $$.d3.select('body').append('div').classed('c3', true);\n svg = dummy.append(\"svg\").style('visibility', 'hidden').style('position', 'fixed').style('top', 0).style('left', 0), svg.append('g').call(axis).each(function () {\n $$.d3.select(this).selectAll('text').each(function () {\n var box = this.getBoundingClientRect();\n\n if (maxWidth < box.width) {\n maxWidth = box.width;\n }\n });\n dummy.remove();\n });\n }\n\n $$.currentMaxTickWidths[id] = maxWidth <= 0 ? $$.currentMaxTickWidths[id] : maxWidth;\n return $$.currentMaxTickWidths[id];\n };\n\n Axis.prototype.updateLabels = function updateLabels(withTransition) {\n var $$ = this.owner;\n var axisXLabel = $$.main.select('.' + CLASS.axisX + ' .' + CLASS.axisXLabel),\n axisYLabel = $$.main.select('.' + CLASS.axisY + ' .' + CLASS.axisYLabel),\n axisY2Label = $$.main.select('.' + CLASS.axisY2 + ' .' + CLASS.axisY2Label);\n (withTransition ? axisXLabel.transition() : axisXLabel).attr(\"x\", this.xForXAxisLabel.bind(this)).attr(\"dx\", this.dxForXAxisLabel.bind(this)).attr(\"dy\", this.dyForXAxisLabel.bind(this)).text(this.textForXAxisLabel.bind(this));\n (withTransition ? axisYLabel.transition() : axisYLabel).attr(\"x\", this.xForYAxisLabel.bind(this)).attr(\"dx\", this.dxForYAxisLabel.bind(this)).attr(\"dy\", this.dyForYAxisLabel.bind(this)).text(this.textForYAxisLabel.bind(this));\n (withTransition ? axisY2Label.transition() : axisY2Label).attr(\"x\", this.xForY2AxisLabel.bind(this)).attr(\"dx\", this.dxForY2AxisLabel.bind(this)).attr(\"dy\", this.dyForY2AxisLabel.bind(this)).text(this.textForY2AxisLabel.bind(this));\n };\n\n Axis.prototype.getPadding = function getPadding(padding, key, defaultValue, domainLength) {\n var p = typeof padding === 'number' ? padding : padding[key];\n\n if (!isValue(p)) {\n return defaultValue;\n }\n\n if (padding.unit === 'ratio') {\n return padding[key] * domainLength;\n } // assume padding is pixels if unit is not specified\n\n\n return this.convertPixelsToAxisPadding(p, domainLength);\n };\n\n Axis.prototype.convertPixelsToAxisPadding = function convertPixelsToAxisPadding(pixels, domainLength) {\n var $$ = this.owner,\n length = $$.config.axis_rotated ? $$.width : $$.height;\n return domainLength * (pixels / length);\n };\n\n Axis.prototype.generateTickValues = function generateTickValues(values, tickCount, forTimeSeries) {\n var tickValues = values,\n targetCount,\n start,\n end,\n count,\n interval,\n i,\n tickValue;\n\n if (tickCount) {\n targetCount = isFunction(tickCount) ? tickCount() : tickCount; // compute ticks according to tickCount\n\n if (targetCount === 1) {\n tickValues = [values[0]];\n } else if (targetCount === 2) {\n tickValues = [values[0], values[values.length - 1]];\n } else if (targetCount > 2) {\n count = targetCount - 2;\n start = values[0];\n end = values[values.length - 1];\n interval = (end - start) / (count + 1); // re-construct unique values\n\n tickValues = [start];\n\n for (i = 0; i < count; i++) {\n tickValue = +start + interval * (i + 1);\n tickValues.push(forTimeSeries ? new Date(tickValue) : tickValue);\n }\n\n tickValues.push(end);\n }\n }\n\n if (!forTimeSeries) {\n tickValues = tickValues.sort(function (a, b) {\n return a - b;\n });\n }\n\n return tickValues;\n };\n\n Axis.prototype.generateTransitions = function generateTransitions(duration) {\n var $$ = this.owner,\n axes = $$.axes;\n return {\n axisX: duration ? axes.x.transition().duration(duration) : axes.x,\n axisY: duration ? axes.y.transition().duration(duration) : axes.y,\n axisY2: duration ? axes.y2.transition().duration(duration) : axes.y2,\n axisSubX: duration ? axes.subx.transition().duration(duration) : axes.subx\n };\n };\n\n Axis.prototype.redraw = function redraw(duration, isHidden) {\n var $$ = this.owner,\n transition = duration ? $$.d3.transition().duration(duration) : null;\n $$.axes.x.style(\"opacity\", isHidden ? 0 : 1).call($$.xAxis, transition);\n $$.axes.y.style(\"opacity\", isHidden ? 0 : 1).call($$.yAxis, transition);\n $$.axes.y2.style(\"opacity\", isHidden ? 0 : 1).call($$.y2Axis, transition);\n $$.axes.subx.style(\"opacity\", isHidden ? 0 : 1).call($$.subXAxis, transition);\n };\n\n var c3 = {\n version: \"0.6.12\",\n chart: {\n fn: Chart.prototype,\n internal: {\n fn: ChartInternal.prototype,\n axis: {\n fn: Axis.prototype,\n internal: {\n fn: AxisInternal.prototype\n }\n }\n }\n },\n generate: function generate(config) {\n return new Chart(config);\n }\n };\n\n ChartInternal.prototype.beforeInit = function () {// can do something\n };\n\n ChartInternal.prototype.afterInit = function () {// can do something\n };\n\n ChartInternal.prototype.init = function () {\n var $$ = this,\n config = $$.config;\n $$.initParams();\n\n if (config.data_url) {\n $$.convertUrlToData(config.data_url, config.data_mimeType, config.data_headers, config.data_keys, $$.initWithData);\n } else if (config.data_json) {\n $$.initWithData($$.convertJsonToData(config.data_json, config.data_keys));\n } else if (config.data_rows) {\n $$.initWithData($$.convertRowsToData(config.data_rows));\n } else if (config.data_columns) {\n $$.initWithData($$.convertColumnsToData(config.data_columns));\n } else {\n throw Error('url or json or rows or columns is required.');\n }\n };\n\n ChartInternal.prototype.initParams = function () {\n var $$ = this,\n d3 = $$.d3,\n config = $$.config; // MEMO: clipId needs to be unique because it conflicts when multiple charts exist\n\n $$.clipId = \"c3-\" + +new Date() + '-clip';\n $$.clipIdForXAxis = $$.clipId + '-xaxis';\n $$.clipIdForYAxis = $$.clipId + '-yaxis';\n $$.clipIdForGrid = $$.clipId + '-grid';\n $$.clipIdForSubchart = $$.clipId + '-subchart';\n $$.clipPath = $$.getClipPath($$.clipId);\n $$.clipPathForXAxis = $$.getClipPath($$.clipIdForXAxis);\n $$.clipPathForYAxis = $$.getClipPath($$.clipIdForYAxis);\n $$.clipPathForGrid = $$.getClipPath($$.clipIdForGrid);\n $$.clipPathForSubchart = $$.getClipPath($$.clipIdForSubchart);\n $$.dragStart = null;\n $$.dragging = false;\n $$.flowing = false;\n $$.cancelClick = false;\n $$.mouseover = false;\n $$.transiting = false;\n $$.color = $$.generateColor();\n $$.levelColor = $$.generateLevelColor();\n $$.dataTimeParse = (config.data_xLocaltime ? d3.timeParse : d3.utcParse)($$.config.data_xFormat);\n $$.axisTimeFormat = config.axis_x_localtime ? d3.timeFormat : d3.utcFormat;\n\n $$.defaultAxisTimeFormat = function (date) {\n if (date.getMilliseconds()) {\n return d3.timeFormat(\".%L\")(date);\n }\n\n if (date.getSeconds()) {\n return d3.timeFormat(\":%S\")(date);\n }\n\n if (date.getMinutes()) {\n return d3.timeFormat(\"%I:%M\")(date);\n }\n\n if (date.getHours()) {\n return d3.timeFormat(\"%I %p\")(date);\n }\n\n if (date.getDay() && date.getDate() !== 1) {\n return d3.timeFormat(\"%-m/%-d\")(date);\n }\n\n if (date.getDate() !== 1) {\n return d3.timeFormat(\"%-m/%-d\")(date);\n }\n\n if (date.getMonth()) {\n return d3.timeFormat(\"%-m/%-d\")(date);\n }\n\n return d3.timeFormat(\"%Y/%-m/%-d\")(date);\n };\n\n $$.hiddenTargetIds = [];\n $$.hiddenLegendIds = [];\n $$.focusedTargetIds = [];\n $$.defocusedTargetIds = [];\n $$.xOrient = config.axis_rotated ? config.axis_x_inner ? \"right\" : \"left\" : config.axis_x_inner ? \"top\" : \"bottom\";\n $$.yOrient = config.axis_rotated ? config.axis_y_inner ? \"top\" : \"bottom\" : config.axis_y_inner ? \"right\" : \"left\";\n $$.y2Orient = config.axis_rotated ? config.axis_y2_inner ? \"bottom\" : \"top\" : config.axis_y2_inner ? \"left\" : \"right\";\n $$.subXOrient = config.axis_rotated ? \"left\" : \"bottom\";\n $$.isLegendRight = config.legend_position === 'right';\n $$.isLegendInset = config.legend_position === 'inset';\n $$.isLegendTop = config.legend_inset_anchor === 'top-left' || config.legend_inset_anchor === 'top-right';\n $$.isLegendLeft = config.legend_inset_anchor === 'top-left' || config.legend_inset_anchor === 'bottom-left';\n $$.legendStep = 0;\n $$.legendItemWidth = 0;\n $$.legendItemHeight = 0;\n $$.currentMaxTickWidths = {\n x: 0,\n y: 0,\n y2: 0\n };\n $$.rotated_padding_left = 30;\n $$.rotated_padding_right = config.axis_rotated && !config.axis_x_show ? 0 : 30;\n $$.rotated_padding_top = 5;\n $$.withoutFadeIn = {};\n $$.intervalForObserveInserted = undefined;\n $$.axes.subx = d3.selectAll([]); // needs when excluding subchart.js\n };\n\n ChartInternal.prototype.initChartElements = function () {\n if (this.initBar) {\n this.initBar();\n }\n\n if (this.initLine) {\n this.initLine();\n }\n\n if (this.initArc) {\n this.initArc();\n }\n\n if (this.initGauge) {\n this.initGauge();\n }\n\n if (this.initText) {\n this.initText();\n }\n };\n\n ChartInternal.prototype.initWithData = function (data) {\n var $$ = this,\n d3 = $$.d3,\n config = $$.config;\n var defs,\n main,\n binding = true;\n $$.axis = new Axis($$);\n\n if (!config.bindto) {\n $$.selectChart = d3.selectAll([]);\n } else if (typeof config.bindto.node === 'function') {\n $$.selectChart = config.bindto;\n } else {\n $$.selectChart = d3.select(config.bindto);\n }\n\n if ($$.selectChart.empty()) {\n $$.selectChart = d3.select(document.createElement('div')).style('opacity', 0);\n $$.observeInserted($$.selectChart);\n binding = false;\n }\n\n $$.selectChart.html(\"\").classed(\"c3\", true); // Init data as targets\n\n $$.data.xs = {};\n $$.data.targets = $$.convertDataToTargets(data);\n\n if (config.data_filter) {\n $$.data.targets = $$.data.targets.filter(config.data_filter);\n } // Set targets to hide if needed\n\n\n if (config.data_hide) {\n $$.addHiddenTargetIds(config.data_hide === true ? $$.mapToIds($$.data.targets) : config.data_hide);\n }\n\n if (config.legend_hide) {\n $$.addHiddenLegendIds(config.legend_hide === true ? $$.mapToIds($$.data.targets) : config.legend_hide);\n } // Init sizes and scales\n\n\n $$.updateSizes();\n $$.updateScales(); // Set domains for each scale\n\n $$.x.domain(d3.extent($$.getXDomain($$.data.targets)));\n $$.y.domain($$.getYDomain($$.data.targets, 'y'));\n $$.y2.domain($$.getYDomain($$.data.targets, 'y2'));\n $$.subX.domain($$.x.domain());\n $$.subY.domain($$.y.domain());\n $$.subY2.domain($$.y2.domain()); // Save original x domain for zoom update\n\n $$.orgXDomain = $$.x.domain();\n /*-- Basic Elements --*/\n // Define svgs\n\n $$.svg = $$.selectChart.append(\"svg\").style(\"overflow\", \"hidden\").on('mouseenter', function () {\n return config.onmouseover.call($$);\n }).on('mouseleave', function () {\n return config.onmouseout.call($$);\n });\n\n if ($$.config.svg_classname) {\n $$.svg.attr('class', $$.config.svg_classname);\n } // Define defs\n\n\n defs = $$.svg.append(\"defs\");\n $$.clipChart = $$.appendClip(defs, $$.clipId);\n $$.clipXAxis = $$.appendClip(defs, $$.clipIdForXAxis);\n $$.clipYAxis = $$.appendClip(defs, $$.clipIdForYAxis);\n $$.clipGrid = $$.appendClip(defs, $$.clipIdForGrid);\n $$.clipSubchart = $$.appendClip(defs, $$.clipIdForSubchart);\n $$.updateSvgSize(); // Define regions\n\n main = $$.main = $$.svg.append(\"g\").attr(\"transform\", $$.getTranslate('main'));\n\n if ($$.initPie) {\n $$.initPie();\n }\n\n if ($$.initDragZoom) {\n $$.initDragZoom();\n }\n\n if ($$.initSubchart) {\n $$.initSubchart();\n }\n\n if ($$.initTooltip) {\n $$.initTooltip();\n }\n\n if ($$.initLegend) {\n $$.initLegend();\n }\n\n if ($$.initTitle) {\n $$.initTitle();\n }\n\n if ($$.initZoom) {\n $$.initZoom();\n } // Update selection based on size and scale\n // TODO: currently this must be called after initLegend because of update of sizes, but it should be done in initSubchart.\n\n\n if ($$.initSubchartBrush) {\n $$.initSubchartBrush();\n }\n /*-- Main Region --*/\n // text when empty\n\n\n main.append(\"text\").attr(\"class\", CLASS.text + ' ' + CLASS.empty).attr(\"text-anchor\", \"middle\") // horizontal centering of text at x position in all browsers.\n .attr(\"dominant-baseline\", \"middle\"); // vertical centering of text at y position in all browsers, except IE.\n // Regions\n\n $$.initRegion(); // Grids\n\n $$.initGrid(); // Define g for chart area\n\n main.append('g').attr(\"clip-path\", $$.clipPath).attr('class', CLASS.chart); // Grid lines\n\n if (config.grid_lines_front) {\n $$.initGridLines();\n } // Cover whole with rects for events\n\n\n $$.initEventRect(); // Define g for chart\n\n $$.initChartElements(); // Add Axis\n\n $$.axis.init(); // Set targets\n\n $$.updateTargets($$.data.targets); // Set default extent if defined\n\n if (config.axis_x_selection) {\n $$.brush.selectionAsValue($$.getDefaultSelection());\n } // Draw with targets\n\n\n if (binding) {\n $$.updateDimension();\n $$.config.oninit.call($$);\n $$.redraw({\n withTransition: false,\n withTransform: true,\n withUpdateXDomain: true,\n withUpdateOrgXDomain: true,\n withTransitionForAxis: false\n });\n } // Bind to resize event\n\n\n $$.bindResize(); // Bind to window focus event\n\n $$.bindWindowFocus(); // export element of the chart\n\n $$.api.element = $$.selectChart.node();\n };\n\n ChartInternal.prototype.smoothLines = function (el, type) {\n var $$ = this;\n\n if (type === 'grid') {\n el.each(function () {\n var g = $$.d3.select(this),\n x1 = g.attr('x1'),\n x2 = g.attr('x2'),\n y1 = g.attr('y1'),\n y2 = g.attr('y2');\n g.attr({\n 'x1': Math.ceil(x1),\n 'x2': Math.ceil(x2),\n 'y1': Math.ceil(y1),\n 'y2': Math.ceil(y2)\n });\n });\n }\n };\n\n ChartInternal.prototype.updateSizes = function () {\n var $$ = this,\n config = $$.config;\n var legendHeight = $$.legend ? $$.getLegendHeight() : 0,\n legendWidth = $$.legend ? $$.getLegendWidth() : 0,\n legendHeightForBottom = $$.isLegendRight || $$.isLegendInset ? 0 : legendHeight,\n hasArc = $$.hasArcType(),\n xAxisHeight = config.axis_rotated || hasArc ? 0 : $$.getHorizontalAxisHeight('x'),\n subchartHeight = config.subchart_show && !hasArc ? config.subchart_size_height + xAxisHeight : 0;\n $$.currentWidth = $$.getCurrentWidth();\n $$.currentHeight = $$.getCurrentHeight(); // for main\n\n $$.margin = config.axis_rotated ? {\n top: $$.getHorizontalAxisHeight('y2') + $$.getCurrentPaddingTop(),\n right: hasArc ? 0 : $$.getCurrentPaddingRight(),\n bottom: $$.getHorizontalAxisHeight('y') + legendHeightForBottom + $$.getCurrentPaddingBottom(),\n left: subchartHeight + (hasArc ? 0 : $$.getCurrentPaddingLeft())\n } : {\n top: 4 + $$.getCurrentPaddingTop(),\n // for top tick text\n right: hasArc ? 0 : $$.getCurrentPaddingRight(),\n bottom: xAxisHeight + subchartHeight + legendHeightForBottom + $$.getCurrentPaddingBottom(),\n left: hasArc ? 0 : $$.getCurrentPaddingLeft()\n }; // for subchart\n\n $$.margin2 = config.axis_rotated ? {\n top: $$.margin.top,\n right: NaN,\n bottom: 20 + legendHeightForBottom,\n left: $$.rotated_padding_left\n } : {\n top: $$.currentHeight - subchartHeight - legendHeightForBottom,\n right: NaN,\n bottom: xAxisHeight + legendHeightForBottom,\n left: $$.margin.left\n }; // for legend\n\n $$.margin3 = {\n top: 0,\n right: NaN,\n bottom: 0,\n left: 0\n };\n\n if ($$.updateSizeForLegend) {\n $$.updateSizeForLegend(legendHeight, legendWidth);\n }\n\n $$.width = $$.currentWidth - $$.margin.left - $$.margin.right;\n $$.height = $$.currentHeight - $$.margin.top - $$.margin.bottom;\n\n if ($$.width < 0) {\n $$.width = 0;\n }\n\n if ($$.height < 0) {\n $$.height = 0;\n }\n\n $$.width2 = config.axis_rotated ? $$.margin.left - $$.rotated_padding_left - $$.rotated_padding_right : $$.width;\n $$.height2 = config.axis_rotated ? $$.height : $$.currentHeight - $$.margin2.top - $$.margin2.bottom;\n\n if ($$.width2 < 0) {\n $$.width2 = 0;\n }\n\n if ($$.height2 < 0) {\n $$.height2 = 0;\n } // for arc\n\n\n $$.arcWidth = $$.width - ($$.isLegendRight ? legendWidth + 10 : 0);\n $$.arcHeight = $$.height - ($$.isLegendRight ? 0 : 10);\n\n if ($$.hasType('gauge') && !config.gauge_fullCircle) {\n $$.arcHeight += $$.height - $$.getGaugeLabelHeight();\n }\n\n if ($$.updateRadius) {\n $$.updateRadius();\n }\n\n if ($$.isLegendRight && hasArc) {\n $$.margin3.left = $$.arcWidth / 2 + $$.radiusExpanded * 1.1;\n }\n };\n\n ChartInternal.prototype.updateTargets = function (targets) {\n var $$ = this;\n /*-- Main --*/\n //-- Text --//\n\n $$.updateTargetsForText(targets); //-- Bar --//\n\n $$.updateTargetsForBar(targets); //-- Line --//\n\n $$.updateTargetsForLine(targets); //-- Arc --//\n\n if ($$.hasArcType() && $$.updateTargetsForArc) {\n $$.updateTargetsForArc(targets);\n }\n /*-- Sub --*/\n\n\n if ($$.updateTargetsForSubchart) {\n $$.updateTargetsForSubchart(targets);\n } // Fade-in each chart\n\n\n $$.showTargets();\n };\n\n ChartInternal.prototype.showTargets = function () {\n var $$ = this;\n $$.svg.selectAll('.' + CLASS.target).filter(function (d) {\n return $$.isTargetToShow(d.id);\n }).transition().duration($$.config.transition_duration).style(\"opacity\", 1);\n };\n\n ChartInternal.prototype.redraw = function (options, transitions) {\n var $$ = this,\n main = $$.main,\n d3 = $$.d3,\n config = $$.config;\n var areaIndices = $$.getShapeIndices($$.isAreaType),\n barIndices = $$.getShapeIndices($$.isBarType),\n lineIndices = $$.getShapeIndices($$.isLineType);\n var withY, withSubchart, withTransition, withTransitionForExit, withTransitionForAxis, withTransform, withUpdateXDomain, withUpdateOrgXDomain, withTrimXDomain, withLegend, withEventRect, withDimension, withUpdateXAxis;\n var hideAxis = $$.hasArcType();\n var drawArea, drawBar, drawLine, xForText, yForText;\n var duration, durationForExit, durationForAxis;\n var transitionsToWait, waitForDraw, flow, transition;\n var targetsToShow = $$.filterTargetsToShow($$.data.targets),\n tickValues,\n i,\n intervalForCulling,\n xDomainForZoom;\n var xv = $$.xv.bind($$),\n cx,\n cy;\n options = options || {};\n withY = getOption(options, \"withY\", true);\n withSubchart = getOption(options, \"withSubchart\", true);\n withTransition = getOption(options, \"withTransition\", true);\n withTransform = getOption(options, \"withTransform\", false);\n withUpdateXDomain = getOption(options, \"withUpdateXDomain\", false);\n withUpdateOrgXDomain = getOption(options, \"withUpdateOrgXDomain\", false);\n withTrimXDomain = getOption(options, \"withTrimXDomain\", true);\n withUpdateXAxis = getOption(options, \"withUpdateXAxis\", withUpdateXDomain);\n withLegend = getOption(options, \"withLegend\", false);\n withEventRect = getOption(options, \"withEventRect\", true);\n withDimension = getOption(options, \"withDimension\", true);\n withTransitionForExit = getOption(options, \"withTransitionForExit\", withTransition);\n withTransitionForAxis = getOption(options, \"withTransitionForAxis\", withTransition);\n duration = withTransition ? config.transition_duration : 0;\n durationForExit = withTransitionForExit ? duration : 0;\n durationForAxis = withTransitionForAxis ? duration : 0;\n transitions = transitions || $$.axis.generateTransitions(durationForAxis); // update legend and transform each g\n\n if (withLegend && config.legend_show) {\n $$.updateLegend($$.mapToIds($$.data.targets), options, transitions);\n } else if (withDimension) {\n // need to update dimension (e.g. axis.y.tick.values) because y tick values should change\n // no need to update axis in it because they will be updated in redraw()\n $$.updateDimension(true);\n } // MEMO: needed for grids calculation\n\n\n if ($$.isCategorized() && targetsToShow.length === 0) {\n $$.x.domain([0, $$.axes.x.selectAll('.tick').size()]);\n }\n\n if (targetsToShow.length) {\n $$.updateXDomain(targetsToShow, withUpdateXDomain, withUpdateOrgXDomain, withTrimXDomain);\n\n if (!config.axis_x_tick_values) {\n tickValues = $$.axis.updateXAxisTickValues(targetsToShow);\n }\n } else {\n $$.xAxis.tickValues([]);\n $$.subXAxis.tickValues([]);\n }\n\n if (config.zoom_rescale && !options.flow) {\n xDomainForZoom = $$.x.orgDomain();\n }\n\n $$.y.domain($$.getYDomain(targetsToShow, 'y', xDomainForZoom));\n $$.y2.domain($$.getYDomain(targetsToShow, 'y2', xDomainForZoom));\n\n if (!config.axis_y_tick_values && config.axis_y_tick_count) {\n $$.yAxis.tickValues($$.axis.generateTickValues($$.y.domain(), config.axis_y_tick_count));\n }\n\n if (!config.axis_y2_tick_values && config.axis_y2_tick_count) {\n $$.y2Axis.tickValues($$.axis.generateTickValues($$.y2.domain(), config.axis_y2_tick_count));\n } // axes\n\n\n $$.axis.redraw(durationForAxis, hideAxis); // Update axis label\n\n $$.axis.updateLabels(withTransition); // show/hide if manual culling needed\n\n if ((withUpdateXDomain || withUpdateXAxis) && targetsToShow.length) {\n if (config.axis_x_tick_culling && tickValues) {\n for (i = 1; i < tickValues.length; i++) {\n if (tickValues.length / i < config.axis_x_tick_culling_max) {\n intervalForCulling = i;\n break;\n }\n }\n\n $$.svg.selectAll('.' + CLASS.axisX + ' .tick text').each(function (e) {\n var index = tickValues.indexOf(e);\n\n if (index >= 0) {\n d3.select(this).style('display', index % intervalForCulling ? 'none' : 'block');\n }\n });\n } else {\n $$.svg.selectAll('.' + CLASS.axisX + ' .tick text').style('display', 'block');\n }\n } // setup drawer - MEMO: these must be called after axis updated\n\n\n drawArea = $$.generateDrawArea ? $$.generateDrawArea(areaIndices, false) : undefined;\n drawBar = $$.generateDrawBar ? $$.generateDrawBar(barIndices) : undefined;\n drawLine = $$.generateDrawLine ? $$.generateDrawLine(lineIndices, false) : undefined;\n xForText = $$.generateXYForText(areaIndices, barIndices, lineIndices, true);\n yForText = $$.generateXYForText(areaIndices, barIndices, lineIndices, false); // update circleY based on updated parameters\n\n $$.updateCircleY(); // generate circle x/y functions depending on updated params\n\n cx = ($$.config.axis_rotated ? $$.circleY : $$.circleX).bind($$);\n cy = ($$.config.axis_rotated ? $$.circleX : $$.circleY).bind($$); // Update sub domain\n\n if (withY) {\n $$.subY.domain($$.getYDomain(targetsToShow, 'y'));\n $$.subY2.domain($$.getYDomain(targetsToShow, 'y2'));\n } // xgrid focus\n\n\n $$.updateXgridFocus(); // Data empty label positioning and text.\n\n main.select(\"text.\" + CLASS.text + '.' + CLASS.empty).attr(\"x\", $$.width / 2).attr(\"y\", $$.height / 2).text(config.data_empty_label_text).transition().style('opacity', targetsToShow.length ? 0 : 1); // event rect\n\n if (withEventRect) {\n $$.redrawEventRect();\n } // grid\n\n\n $$.updateGrid(duration); // rect for regions\n\n $$.updateRegion(duration); // bars\n\n $$.updateBar(durationForExit); // lines, areas and cricles\n\n $$.updateLine(durationForExit);\n $$.updateArea(durationForExit);\n $$.updateCircle(cx, cy); // text\n\n if ($$.hasDataLabel()) {\n $$.updateText(xForText, yForText, durationForExit);\n } // title\n\n\n if ($$.redrawTitle) {\n $$.redrawTitle();\n } // arc\n\n\n if ($$.redrawArc) {\n $$.redrawArc(duration, durationForExit, withTransform);\n } // subchart\n\n\n if ($$.redrawSubchart) {\n $$.redrawSubchart(withSubchart, transitions, duration, durationForExit, areaIndices, barIndices, lineIndices);\n } // circles for select\n\n\n main.selectAll('.' + CLASS.selectedCircles).filter($$.isBarType.bind($$)).selectAll('circle').remove();\n\n if (options.flow) {\n flow = $$.generateFlow({\n targets: targetsToShow,\n flow: options.flow,\n duration: options.flow.duration,\n drawBar: drawBar,\n drawLine: drawLine,\n drawArea: drawArea,\n cx: cx,\n cy: cy,\n xv: xv,\n xForText: xForText,\n yForText: yForText\n });\n }\n\n if ($$.isTabVisible()) {\n // Only use transition if tab visible. See #938.\n if (duration) {\n // transition should be derived from one transition\n transition = d3.transition().duration(duration);\n transitionsToWait = [];\n [$$.redrawBar(drawBar, true, transition), $$.redrawLine(drawLine, true, transition), $$.redrawArea(drawArea, true, transition), $$.redrawCircle(cx, cy, true, transition), $$.redrawText(xForText, yForText, options.flow, true, transition), $$.redrawRegion(true, transition), $$.redrawGrid(true, transition)].forEach(function (transitions) {\n transitions.forEach(function (transition) {\n transitionsToWait.push(transition);\n });\n }); // Wait for end of transitions to call flow and onrendered callback\n\n waitForDraw = $$.generateWait();\n transitionsToWait.forEach(function (t) {\n waitForDraw.add(t);\n });\n waitForDraw(function () {\n if (flow) {\n flow();\n }\n\n if (config.onrendered) {\n config.onrendered.call($$);\n }\n });\n } else {\n $$.redrawBar(drawBar);\n $$.redrawLine(drawLine);\n $$.redrawArea(drawArea);\n $$.redrawCircle(cx, cy);\n $$.redrawText(xForText, yForText, options.flow);\n $$.redrawRegion();\n $$.redrawGrid();\n\n if (flow) {\n flow();\n }\n\n if (config.onrendered) {\n config.onrendered.call($$);\n }\n }\n } // update fadein condition\n\n\n $$.mapToIds($$.data.targets).forEach(function (id) {\n $$.withoutFadeIn[id] = true;\n });\n };\n\n ChartInternal.prototype.updateAndRedraw = function (options) {\n var $$ = this,\n config = $$.config,\n transitions;\n options = options || {}; // same with redraw\n\n options.withTransition = getOption(options, \"withTransition\", true);\n options.withTransform = getOption(options, \"withTransform\", false);\n options.withLegend = getOption(options, \"withLegend\", false); // NOT same with redraw\n\n options.withUpdateXDomain = getOption(options, \"withUpdateXDomain\", true);\n options.withUpdateOrgXDomain = getOption(options, \"withUpdateOrgXDomain\", true);\n options.withTransitionForExit = false;\n options.withTransitionForTransform = getOption(options, \"withTransitionForTransform\", options.withTransition); // MEMO: this needs to be called before updateLegend and it means this ALWAYS needs to be called)\n\n $$.updateSizes(); // MEMO: called in updateLegend in redraw if withLegend\n\n if (!(options.withLegend && config.legend_show)) {\n transitions = $$.axis.generateTransitions(options.withTransitionForAxis ? config.transition_duration : 0); // Update scales\n\n $$.updateScales();\n $$.updateSvgSize(); // Update g positions\n\n $$.transformAll(options.withTransitionForTransform, transitions);\n } // Draw with new sizes & scales\n\n\n $$.redraw(options, transitions);\n };\n\n ChartInternal.prototype.redrawWithoutRescale = function () {\n this.redraw({\n withY: false,\n withSubchart: false,\n withEventRect: false,\n withTransitionForAxis: false\n });\n };\n\n ChartInternal.prototype.isTimeSeries = function () {\n return this.config.axis_x_type === 'timeseries';\n };\n\n ChartInternal.prototype.isCategorized = function () {\n return this.config.axis_x_type.indexOf('categor') >= 0;\n };\n\n ChartInternal.prototype.isCustomX = function () {\n var $$ = this,\n config = $$.config;\n return !$$.isTimeSeries() && (config.data_x || notEmpty(config.data_xs));\n };\n\n ChartInternal.prototype.isTimeSeriesY = function () {\n return this.config.axis_y_type === 'timeseries';\n };\n\n ChartInternal.prototype.getTranslate = function (target) {\n var $$ = this,\n config = $$.config,\n x,\n y;\n\n if (target === 'main') {\n x = asHalfPixel($$.margin.left);\n y = asHalfPixel($$.margin.top);\n } else if (target === 'context') {\n x = asHalfPixel($$.margin2.left);\n y = asHalfPixel($$.margin2.top);\n } else if (target === 'legend') {\n x = $$.margin3.left;\n y = $$.margin3.top;\n } else if (target === 'x') {\n x = 0;\n y = config.axis_rotated ? 0 : $$.height;\n } else if (target === 'y') {\n x = 0;\n y = config.axis_rotated ? $$.height : 0;\n } else if (target === 'y2') {\n x = config.axis_rotated ? 0 : $$.width;\n y = config.axis_rotated ? 1 : 0;\n } else if (target === 'subx') {\n x = 0;\n y = config.axis_rotated ? 0 : $$.height2;\n } else if (target === 'arc') {\n x = $$.arcWidth / 2;\n y = $$.arcHeight / 2 - ($$.hasType('gauge') ? 6 : 0); // to prevent wrong display of min and max label\n }\n\n return \"translate(\" + x + \",\" + y + \")\";\n };\n\n ChartInternal.prototype.initialOpacity = function (d) {\n return d.value !== null && this.withoutFadeIn[d.id] ? 1 : 0;\n };\n\n ChartInternal.prototype.initialOpacityForCircle = function (d) {\n return d.value !== null && this.withoutFadeIn[d.id] ? this.opacityForCircle(d) : 0;\n };\n\n ChartInternal.prototype.opacityForCircle = function (d) {\n var isPointShouldBeShown = isFunction(this.config.point_show) ? this.config.point_show(d) : this.config.point_show;\n var opacity = isPointShouldBeShown ? 1 : 0;\n return isValue(d.value) ? this.isScatterType(d) ? 0.5 : opacity : 0;\n };\n\n ChartInternal.prototype.opacityForText = function () {\n return this.hasDataLabel() ? 1 : 0;\n };\n\n ChartInternal.prototype.xx = function (d) {\n return d ? this.x(d.x) : null;\n };\n\n ChartInternal.prototype.xv = function (d) {\n var $$ = this,\n value = d.value;\n\n if ($$.isTimeSeries()) {\n value = $$.parseDate(d.value);\n } else if ($$.isCategorized() && typeof d.value === 'string') {\n value = $$.config.axis_x_categories.indexOf(d.value);\n }\n\n return Math.ceil($$.x(value));\n };\n\n ChartInternal.prototype.yv = function (d) {\n var $$ = this,\n yScale = d.axis && d.axis === 'y2' ? $$.y2 : $$.y;\n return Math.ceil(yScale(d.value));\n };\n\n ChartInternal.prototype.subxx = function (d) {\n return d ? this.subX(d.x) : null;\n };\n\n ChartInternal.prototype.transformMain = function (withTransition, transitions) {\n var $$ = this,\n xAxis,\n yAxis,\n y2Axis;\n\n if (transitions && transitions.axisX) {\n xAxis = transitions.axisX;\n } else {\n xAxis = $$.main.select('.' + CLASS.axisX);\n\n if (withTransition) {\n xAxis = xAxis.transition();\n }\n }\n\n if (transitions && transitions.axisY) {\n yAxis = transitions.axisY;\n } else {\n yAxis = $$.main.select('.' + CLASS.axisY);\n\n if (withTransition) {\n yAxis = yAxis.transition();\n }\n }\n\n if (transitions && transitions.axisY2) {\n y2Axis = transitions.axisY2;\n } else {\n y2Axis = $$.main.select('.' + CLASS.axisY2);\n\n if (withTransition) {\n y2Axis = y2Axis.transition();\n }\n }\n\n (withTransition ? $$.main.transition() : $$.main).attr(\"transform\", $$.getTranslate('main'));\n xAxis.attr(\"transform\", $$.getTranslate('x'));\n yAxis.attr(\"transform\", $$.getTranslate('y'));\n y2Axis.attr(\"transform\", $$.getTranslate('y2'));\n $$.main.select('.' + CLASS.chartArcs).attr(\"transform\", $$.getTranslate('arc'));\n };\n\n ChartInternal.prototype.transformAll = function (withTransition, transitions) {\n var $$ = this;\n $$.transformMain(withTransition, transitions);\n\n if ($$.config.subchart_show) {\n $$.transformContext(withTransition, transitions);\n }\n\n if ($$.legend) {\n $$.transformLegend(withTransition);\n }\n };\n\n ChartInternal.prototype.updateSvgSize = function () {\n var $$ = this,\n brush = $$.svg.select(\".c3-brush .overlay\");\n $$.svg.attr('width', $$.currentWidth).attr('height', $$.currentHeight);\n $$.svg.selectAll(['#' + $$.clipId, '#' + $$.clipIdForGrid]).select('rect').attr('width', $$.width).attr('height', $$.height);\n $$.svg.select('#' + $$.clipIdForXAxis).select('rect').attr('x', $$.getXAxisClipX.bind($$)).attr('y', $$.getXAxisClipY.bind($$)).attr('width', $$.getXAxisClipWidth.bind($$)).attr('height', $$.getXAxisClipHeight.bind($$));\n $$.svg.select('#' + $$.clipIdForYAxis).select('rect').attr('x', $$.getYAxisClipX.bind($$)).attr('y', $$.getYAxisClipY.bind($$)).attr('width', $$.getYAxisClipWidth.bind($$)).attr('height', $$.getYAxisClipHeight.bind($$));\n $$.svg.select('#' + $$.clipIdForSubchart).select('rect').attr('width', $$.width).attr('height', brush.size() ? brush.attr('height') : 0);\n };\n\n ChartInternal.prototype.updateDimension = function (withoutAxis) {\n var $$ = this;\n\n if (!withoutAxis) {\n if ($$.config.axis_rotated) {\n $$.axes.x.call($$.xAxis);\n $$.axes.subx.call($$.subXAxis);\n } else {\n $$.axes.y.call($$.yAxis);\n $$.axes.y2.call($$.y2Axis);\n }\n }\n\n $$.updateSizes();\n $$.updateScales();\n $$.updateSvgSize();\n $$.transformAll(false);\n };\n\n ChartInternal.prototype.observeInserted = function (selection) {\n var $$ = this,\n observer;\n\n if (typeof MutationObserver === 'undefined') {\n window.console.error(\"MutationObserver not defined.\");\n return;\n }\n\n observer = new MutationObserver(function (mutations) {\n mutations.forEach(function (mutation) {\n if (mutation.type === 'childList' && mutation.previousSibling) {\n observer.disconnect(); // need to wait for completion of load because size calculation requires the actual sizes determined after that completion\n\n $$.intervalForObserveInserted = window.setInterval(function () {\n // parentNode will NOT be null when completed\n if (selection.node().parentNode) {\n window.clearInterval($$.intervalForObserveInserted);\n $$.updateDimension();\n\n if ($$.brush) {\n $$.brush.update();\n }\n\n $$.config.oninit.call($$);\n $$.redraw({\n withTransform: true,\n withUpdateXDomain: true,\n withUpdateOrgXDomain: true,\n withTransition: false,\n withTransitionForTransform: false,\n withLegend: true\n });\n selection.transition().style('opacity', 1);\n }\n }, 10);\n }\n });\n });\n observer.observe(selection.node(), {\n attributes: true,\n childList: true,\n characterData: true\n });\n };\n /**\n * Binds handlers to the window resize event.\n */\n\n\n ChartInternal.prototype.bindResize = function () {\n var $$ = this,\n config = $$.config;\n $$.resizeFunction = $$.generateResize(); // need to call .remove\n\n $$.resizeFunction.add(function () {\n config.onresize.call($$);\n });\n\n if (config.resize_auto) {\n $$.resizeFunction.add(function () {\n if ($$.resizeTimeout !== undefined) {\n window.clearTimeout($$.resizeTimeout);\n }\n\n $$.resizeTimeout = window.setTimeout(function () {\n delete $$.resizeTimeout;\n $$.updateAndRedraw({\n withUpdateXDomain: false,\n withUpdateOrgXDomain: false,\n withTransition: false,\n withTransitionForTransform: false,\n withLegend: true\n });\n\n if ($$.brush) {\n $$.brush.update();\n }\n }, 100);\n });\n }\n\n $$.resizeFunction.add(function () {\n config.onresized.call($$);\n });\n\n $$.resizeIfElementDisplayed = function () {\n // if element not displayed skip it\n if ($$.api == null || !$$.api.element.offsetParent) {\n return;\n }\n\n $$.resizeFunction();\n };\n\n if (window.attachEvent) {\n window.attachEvent('onresize', $$.resizeIfElementDisplayed);\n } else if (window.addEventListener) {\n window.addEventListener('resize', $$.resizeIfElementDisplayed, false);\n } else {\n // fallback to this, if this is a very old browser\n var wrapper = window.onresize;\n\n if (!wrapper) {\n // create a wrapper that will call all charts\n wrapper = $$.generateResize();\n } else if (!wrapper.add || !wrapper.remove) {\n // there is already a handler registered, make sure we call it too\n wrapper = $$.generateResize();\n wrapper.add(window.onresize);\n } // add this graph to the wrapper, we will be removed if the user calls destroy\n\n\n wrapper.add($$.resizeFunction);\n\n window.onresize = function () {\n // if element not displayed skip it\n if (!$$.api.element.offsetParent) {\n return;\n }\n\n wrapper();\n };\n }\n };\n /**\n * Binds handlers to the window focus event.\n */\n\n\n ChartInternal.prototype.bindWindowFocus = function () {\n var _this = this;\n\n if (this.windowFocusHandler) {\n // The handler is already set\n return;\n }\n\n this.windowFocusHandler = function () {\n _this.redraw();\n };\n\n window.addEventListener('focus', this.windowFocusHandler);\n };\n /**\n * Unbinds from the window focus event.\n */\n\n\n ChartInternal.prototype.unbindWindowFocus = function () {\n window.removeEventListener('focus', this.windowFocusHandler);\n delete this.windowFocusHandler;\n };\n\n ChartInternal.prototype.generateResize = function () {\n var resizeFunctions = [];\n\n function callResizeFunctions() {\n resizeFunctions.forEach(function (f) {\n f();\n });\n }\n\n callResizeFunctions.add = function (f) {\n resizeFunctions.push(f);\n };\n\n callResizeFunctions.remove = function (f) {\n for (var i = 0; i < resizeFunctions.length; i++) {\n if (resizeFunctions[i] === f) {\n resizeFunctions.splice(i, 1);\n break;\n }\n }\n };\n\n return callResizeFunctions;\n };\n\n ChartInternal.prototype.endall = function (transition, callback) {\n var n = 0;\n transition.each(function () {\n ++n;\n }).on(\"end\", function () {\n if (! --n) {\n callback.apply(this, arguments);\n }\n });\n };\n\n ChartInternal.prototype.generateWait = function () {\n var transitionsToWait = [],\n f = function f(callback) {\n var timer = setInterval(function () {\n var done = 0;\n transitionsToWait.forEach(function (t) {\n if (t.empty()) {\n done += 1;\n return;\n }\n\n try {\n t.transition();\n } catch (e) {\n done += 1;\n }\n });\n\n if (done === transitionsToWait.length) {\n clearInterval(timer);\n\n if (callback) {\n callback();\n }\n }\n }, 50);\n };\n\n f.add = function (transition) {\n transitionsToWait.push(transition);\n };\n\n return f;\n };\n\n ChartInternal.prototype.parseDate = function (date) {\n var $$ = this,\n parsedDate;\n\n if (date instanceof Date) {\n parsedDate = date;\n } else if (typeof date === 'string') {\n parsedDate = $$.dataTimeParse(date);\n } else if (_typeof(date) === 'object') {\n parsedDate = new Date(+date);\n } else if (typeof date === 'number' && !isNaN(date)) {\n parsedDate = new Date(+date);\n }\n\n if (!parsedDate || isNaN(+parsedDate)) {\n window.console.error(\"Failed to parse x '\" + date + \"' to Date object\");\n }\n\n return parsedDate;\n };\n\n ChartInternal.prototype.isTabVisible = function () {\n return !document.hidden;\n };\n\n ChartInternal.prototype.getPathBox = getPathBox;\n ChartInternal.prototype.CLASS = CLASS;\n\n /* jshint ignore:start */\n // SVGPathSeg API polyfill\n // https://github.com/progers/pathseg\n //\n // This is a drop-in replacement for the SVGPathSeg and SVGPathSegList APIs that were removed from\n // SVG2 (https://lists.w3.org/Archives/Public/www-svg/2015Jun/0044.html), including the latest spec\n // changes which were implemented in Firefox 43 and Chrome 46.\n (function () {\n\n if (!(\"SVGPathSeg\" in window)) {\n // Spec: http://www.w3.org/TR/SVG11/single-page.html#paths-InterfaceSVGPathSeg\n window.SVGPathSeg = function (type, typeAsLetter, owningPathSegList) {\n this.pathSegType = type;\n this.pathSegTypeAsLetter = typeAsLetter;\n this._owningPathSegList = owningPathSegList;\n };\n\n window.SVGPathSeg.prototype.classname = \"SVGPathSeg\";\n window.SVGPathSeg.PATHSEG_UNKNOWN = 0;\n window.SVGPathSeg.PATHSEG_CLOSEPATH = 1;\n window.SVGPathSeg.PATHSEG_MOVETO_ABS = 2;\n window.SVGPathSeg.PATHSEG_MOVETO_REL = 3;\n window.SVGPathSeg.PATHSEG_LINETO_ABS = 4;\n window.SVGPathSeg.PATHSEG_LINETO_REL = 5;\n window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_ABS = 6;\n window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_REL = 7;\n window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_ABS = 8;\n window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_REL = 9;\n window.SVGPathSeg.PATHSEG_ARC_ABS = 10;\n window.SVGPathSeg.PATHSEG_ARC_REL = 11;\n window.SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_ABS = 12;\n window.SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_REL = 13;\n window.SVGPathSeg.PATHSEG_LINETO_VERTICAL_ABS = 14;\n window.SVGPathSeg.PATHSEG_LINETO_VERTICAL_REL = 15;\n window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_ABS = 16;\n window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_REL = 17;\n window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS = 18;\n window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL = 19; // Notify owning PathSegList on any changes so they can be synchronized back to the path element.\n\n window.SVGPathSeg.prototype._segmentChanged = function () {\n if (this._owningPathSegList) this._owningPathSegList.segmentChanged(this);\n };\n\n window.SVGPathSegClosePath = function (owningPathSegList) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_CLOSEPATH, \"z\", owningPathSegList);\n };\n\n window.SVGPathSegClosePath.prototype = Object.create(window.SVGPathSeg.prototype);\n\n window.SVGPathSegClosePath.prototype.toString = function () {\n return \"[object SVGPathSegClosePath]\";\n };\n\n window.SVGPathSegClosePath.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter;\n };\n\n window.SVGPathSegClosePath.prototype.clone = function () {\n return new window.SVGPathSegClosePath(undefined);\n };\n\n window.SVGPathSegMovetoAbs = function (owningPathSegList, x, y) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_MOVETO_ABS, \"M\", owningPathSegList);\n this._x = x;\n this._y = y;\n };\n\n window.SVGPathSegMovetoAbs.prototype = Object.create(window.SVGPathSeg.prototype);\n\n window.SVGPathSegMovetoAbs.prototype.toString = function () {\n return \"[object SVGPathSegMovetoAbs]\";\n };\n\n window.SVGPathSegMovetoAbs.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._x + \" \" + this._y;\n };\n\n window.SVGPathSegMovetoAbs.prototype.clone = function () {\n return new window.SVGPathSegMovetoAbs(undefined, this._x, this._y);\n };\n\n Object.defineProperty(window.SVGPathSegMovetoAbs.prototype, \"x\", {\n get: function get() {\n return this._x;\n },\n set: function set(x) {\n this._x = x;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegMovetoAbs.prototype, \"y\", {\n get: function get() {\n return this._y;\n },\n set: function set(y) {\n this._y = y;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n\n window.SVGPathSegMovetoRel = function (owningPathSegList, x, y) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_MOVETO_REL, \"m\", owningPathSegList);\n this._x = x;\n this._y = y;\n };\n\n window.SVGPathSegMovetoRel.prototype = Object.create(window.SVGPathSeg.prototype);\n\n window.SVGPathSegMovetoRel.prototype.toString = function () {\n return \"[object SVGPathSegMovetoRel]\";\n };\n\n window.SVGPathSegMovetoRel.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._x + \" \" + this._y;\n };\n\n window.SVGPathSegMovetoRel.prototype.clone = function () {\n return new window.SVGPathSegMovetoRel(undefined, this._x, this._y);\n };\n\n Object.defineProperty(window.SVGPathSegMovetoRel.prototype, \"x\", {\n get: function get() {\n return this._x;\n },\n set: function set(x) {\n this._x = x;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegMovetoRel.prototype, \"y\", {\n get: function get() {\n return this._y;\n },\n set: function set(y) {\n this._y = y;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n\n window.SVGPathSegLinetoAbs = function (owningPathSegList, x, y) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_LINETO_ABS, \"L\", owningPathSegList);\n this._x = x;\n this._y = y;\n };\n\n window.SVGPathSegLinetoAbs.prototype = Object.create(window.SVGPathSeg.prototype);\n\n window.SVGPathSegLinetoAbs.prototype.toString = function () {\n return \"[object SVGPathSegLinetoAbs]\";\n };\n\n window.SVGPathSegLinetoAbs.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._x + \" \" + this._y;\n };\n\n window.SVGPathSegLinetoAbs.prototype.clone = function () {\n return new window.SVGPathSegLinetoAbs(undefined, this._x, this._y);\n };\n\n Object.defineProperty(window.SVGPathSegLinetoAbs.prototype, \"x\", {\n get: function get() {\n return this._x;\n },\n set: function set(x) {\n this._x = x;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegLinetoAbs.prototype, \"y\", {\n get: function get() {\n return this._y;\n },\n set: function set(y) {\n this._y = y;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n\n window.SVGPathSegLinetoRel = function (owningPathSegList, x, y) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_LINETO_REL, \"l\", owningPathSegList);\n this._x = x;\n this._y = y;\n };\n\n window.SVGPathSegLinetoRel.prototype = Object.create(window.SVGPathSeg.prototype);\n\n window.SVGPathSegLinetoRel.prototype.toString = function () {\n return \"[object SVGPathSegLinetoRel]\";\n };\n\n window.SVGPathSegLinetoRel.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._x + \" \" + this._y;\n };\n\n window.SVGPathSegLinetoRel.prototype.clone = function () {\n return new window.SVGPathSegLinetoRel(undefined, this._x, this._y);\n };\n\n Object.defineProperty(window.SVGPathSegLinetoRel.prototype, \"x\", {\n get: function get() {\n return this._x;\n },\n set: function set(x) {\n this._x = x;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegLinetoRel.prototype, \"y\", {\n get: function get() {\n return this._y;\n },\n set: function set(y) {\n this._y = y;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n\n window.SVGPathSegCurvetoCubicAbs = function (owningPathSegList, x, y, x1, y1, x2, y2) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_ABS, \"C\", owningPathSegList);\n this._x = x;\n this._y = y;\n this._x1 = x1;\n this._y1 = y1;\n this._x2 = x2;\n this._y2 = y2;\n };\n\n window.SVGPathSegCurvetoCubicAbs.prototype = Object.create(window.SVGPathSeg.prototype);\n\n window.SVGPathSegCurvetoCubicAbs.prototype.toString = function () {\n return \"[object SVGPathSegCurvetoCubicAbs]\";\n };\n\n window.SVGPathSegCurvetoCubicAbs.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._x1 + \" \" + this._y1 + \" \" + this._x2 + \" \" + this._y2 + \" \" + this._x + \" \" + this._y;\n };\n\n window.SVGPathSegCurvetoCubicAbs.prototype.clone = function () {\n return new window.SVGPathSegCurvetoCubicAbs(undefined, this._x, this._y, this._x1, this._y1, this._x2, this._y2);\n };\n\n Object.defineProperty(window.SVGPathSegCurvetoCubicAbs.prototype, \"x\", {\n get: function get() {\n return this._x;\n },\n set: function set(x) {\n this._x = x;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegCurvetoCubicAbs.prototype, \"y\", {\n get: function get() {\n return this._y;\n },\n set: function set(y) {\n this._y = y;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegCurvetoCubicAbs.prototype, \"x1\", {\n get: function get() {\n return this._x1;\n },\n set: function set(x1) {\n this._x1 = x1;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegCurvetoCubicAbs.prototype, \"y1\", {\n get: function get() {\n return this._y1;\n },\n set: function set(y1) {\n this._y1 = y1;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegCurvetoCubicAbs.prototype, \"x2\", {\n get: function get() {\n return this._x2;\n },\n set: function set(x2) {\n this._x2 = x2;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegCurvetoCubicAbs.prototype, \"y2\", {\n get: function get() {\n return this._y2;\n },\n set: function set(y2) {\n this._y2 = y2;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n\n window.SVGPathSegCurvetoCubicRel = function (owningPathSegList, x, y, x1, y1, x2, y2) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_REL, \"c\", owningPathSegList);\n this._x = x;\n this._y = y;\n this._x1 = x1;\n this._y1 = y1;\n this._x2 = x2;\n this._y2 = y2;\n };\n\n window.SVGPathSegCurvetoCubicRel.prototype = Object.create(window.SVGPathSeg.prototype);\n\n window.SVGPathSegCurvetoCubicRel.prototype.toString = function () {\n return \"[object SVGPathSegCurvetoCubicRel]\";\n };\n\n window.SVGPathSegCurvetoCubicRel.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._x1 + \" \" + this._y1 + \" \" + this._x2 + \" \" + this._y2 + \" \" + this._x + \" \" + this._y;\n };\n\n window.SVGPathSegCurvetoCubicRel.prototype.clone = function () {\n return new window.SVGPathSegCurvetoCubicRel(undefined, this._x, this._y, this._x1, this._y1, this._x2, this._y2);\n };\n\n Object.defineProperty(window.SVGPathSegCurvetoCubicRel.prototype, \"x\", {\n get: function get() {\n return this._x;\n },\n set: function set(x) {\n this._x = x;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegCurvetoCubicRel.prototype, \"y\", {\n get: function get() {\n return this._y;\n },\n set: function set(y) {\n this._y = y;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegCurvetoCubicRel.prototype, \"x1\", {\n get: function get() {\n return this._x1;\n },\n set: function set(x1) {\n this._x1 = x1;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegCurvetoCubicRel.prototype, \"y1\", {\n get: function get() {\n return this._y1;\n },\n set: function set(y1) {\n this._y1 = y1;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegCurvetoCubicRel.prototype, \"x2\", {\n get: function get() {\n return this._x2;\n },\n set: function set(x2) {\n this._x2 = x2;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegCurvetoCubicRel.prototype, \"y2\", {\n get: function get() {\n return this._y2;\n },\n set: function set(y2) {\n this._y2 = y2;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n\n window.SVGPathSegCurvetoQuadraticAbs = function (owningPathSegList, x, y, x1, y1) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_ABS, \"Q\", owningPathSegList);\n this._x = x;\n this._y = y;\n this._x1 = x1;\n this._y1 = y1;\n };\n\n window.SVGPathSegCurvetoQuadraticAbs.prototype = Object.create(window.SVGPathSeg.prototype);\n\n window.SVGPathSegCurvetoQuadraticAbs.prototype.toString = function () {\n return \"[object SVGPathSegCurvetoQuadraticAbs]\";\n };\n\n window.SVGPathSegCurvetoQuadraticAbs.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._x1 + \" \" + this._y1 + \" \" + this._x + \" \" + this._y;\n };\n\n window.SVGPathSegCurvetoQuadraticAbs.prototype.clone = function () {\n return new window.SVGPathSegCurvetoQuadraticAbs(undefined, this._x, this._y, this._x1, this._y1);\n };\n\n Object.defineProperty(window.SVGPathSegCurvetoQuadraticAbs.prototype, \"x\", {\n get: function get() {\n return this._x;\n },\n set: function set(x) {\n this._x = x;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegCurvetoQuadraticAbs.prototype, \"y\", {\n get: function get() {\n return this._y;\n },\n set: function set(y) {\n this._y = y;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegCurvetoQuadraticAbs.prototype, \"x1\", {\n get: function get() {\n return this._x1;\n },\n set: function set(x1) {\n this._x1 = x1;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegCurvetoQuadraticAbs.prototype, \"y1\", {\n get: function get() {\n return this._y1;\n },\n set: function set(y1) {\n this._y1 = y1;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n\n window.SVGPathSegCurvetoQuadraticRel = function (owningPathSegList, x, y, x1, y1) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_REL, \"q\", owningPathSegList);\n this._x = x;\n this._y = y;\n this._x1 = x1;\n this._y1 = y1;\n };\n\n window.SVGPathSegCurvetoQuadraticRel.prototype = Object.create(window.SVGPathSeg.prototype);\n\n window.SVGPathSegCurvetoQuadraticRel.prototype.toString = function () {\n return \"[object SVGPathSegCurvetoQuadraticRel]\";\n };\n\n window.SVGPathSegCurvetoQuadraticRel.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._x1 + \" \" + this._y1 + \" \" + this._x + \" \" + this._y;\n };\n\n window.SVGPathSegCurvetoQuadraticRel.prototype.clone = function () {\n return new window.SVGPathSegCurvetoQuadraticRel(undefined, this._x, this._y, this._x1, this._y1);\n };\n\n Object.defineProperty(window.SVGPathSegCurvetoQuadraticRel.prototype, \"x\", {\n get: function get() {\n return this._x;\n },\n set: function set(x) {\n this._x = x;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegCurvetoQuadraticRel.prototype, \"y\", {\n get: function get() {\n return this._y;\n },\n set: function set(y) {\n this._y = y;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegCurvetoQuadraticRel.prototype, \"x1\", {\n get: function get() {\n return this._x1;\n },\n set: function set(x1) {\n this._x1 = x1;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegCurvetoQuadraticRel.prototype, \"y1\", {\n get: function get() {\n return this._y1;\n },\n set: function set(y1) {\n this._y1 = y1;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n\n window.SVGPathSegArcAbs = function (owningPathSegList, x, y, r1, r2, angle, largeArcFlag, sweepFlag) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_ARC_ABS, \"A\", owningPathSegList);\n this._x = x;\n this._y = y;\n this._r1 = r1;\n this._r2 = r2;\n this._angle = angle;\n this._largeArcFlag = largeArcFlag;\n this._sweepFlag = sweepFlag;\n };\n\n window.SVGPathSegArcAbs.prototype = Object.create(window.SVGPathSeg.prototype);\n\n window.SVGPathSegArcAbs.prototype.toString = function () {\n return \"[object SVGPathSegArcAbs]\";\n };\n\n window.SVGPathSegArcAbs.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._r1 + \" \" + this._r2 + \" \" + this._angle + \" \" + (this._largeArcFlag ? \"1\" : \"0\") + \" \" + (this._sweepFlag ? \"1\" : \"0\") + \" \" + this._x + \" \" + this._y;\n };\n\n window.SVGPathSegArcAbs.prototype.clone = function () {\n return new window.SVGPathSegArcAbs(undefined, this._x, this._y, this._r1, this._r2, this._angle, this._largeArcFlag, this._sweepFlag);\n };\n\n Object.defineProperty(window.SVGPathSegArcAbs.prototype, \"x\", {\n get: function get() {\n return this._x;\n },\n set: function set(x) {\n this._x = x;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegArcAbs.prototype, \"y\", {\n get: function get() {\n return this._y;\n },\n set: function set(y) {\n this._y = y;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegArcAbs.prototype, \"r1\", {\n get: function get() {\n return this._r1;\n },\n set: function set(r1) {\n this._r1 = r1;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegArcAbs.prototype, \"r2\", {\n get: function get() {\n return this._r2;\n },\n set: function set(r2) {\n this._r2 = r2;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegArcAbs.prototype, \"angle\", {\n get: function get() {\n return this._angle;\n },\n set: function set(angle) {\n this._angle = angle;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegArcAbs.prototype, \"largeArcFlag\", {\n get: function get() {\n return this._largeArcFlag;\n },\n set: function set(largeArcFlag) {\n this._largeArcFlag = largeArcFlag;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegArcAbs.prototype, \"sweepFlag\", {\n get: function get() {\n return this._sweepFlag;\n },\n set: function set(sweepFlag) {\n this._sweepFlag = sweepFlag;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n\n window.SVGPathSegArcRel = function (owningPathSegList, x, y, r1, r2, angle, largeArcFlag, sweepFlag) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_ARC_REL, \"a\", owningPathSegList);\n this._x = x;\n this._y = y;\n this._r1 = r1;\n this._r2 = r2;\n this._angle = angle;\n this._largeArcFlag = largeArcFlag;\n this._sweepFlag = sweepFlag;\n };\n\n window.SVGPathSegArcRel.prototype = Object.create(window.SVGPathSeg.prototype);\n\n window.SVGPathSegArcRel.prototype.toString = function () {\n return \"[object SVGPathSegArcRel]\";\n };\n\n window.SVGPathSegArcRel.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._r1 + \" \" + this._r2 + \" \" + this._angle + \" \" + (this._largeArcFlag ? \"1\" : \"0\") + \" \" + (this._sweepFlag ? \"1\" : \"0\") + \" \" + this._x + \" \" + this._y;\n };\n\n window.SVGPathSegArcRel.prototype.clone = function () {\n return new window.SVGPathSegArcRel(undefined, this._x, this._y, this._r1, this._r2, this._angle, this._largeArcFlag, this._sweepFlag);\n };\n\n Object.defineProperty(window.SVGPathSegArcRel.prototype, \"x\", {\n get: function get() {\n return this._x;\n },\n set: function set(x) {\n this._x = x;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegArcRel.prototype, \"y\", {\n get: function get() {\n return this._y;\n },\n set: function set(y) {\n this._y = y;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegArcRel.prototype, \"r1\", {\n get: function get() {\n return this._r1;\n },\n set: function set(r1) {\n this._r1 = r1;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegArcRel.prototype, \"r2\", {\n get: function get() {\n return this._r2;\n },\n set: function set(r2) {\n this._r2 = r2;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegArcRel.prototype, \"angle\", {\n get: function get() {\n return this._angle;\n },\n set: function set(angle) {\n this._angle = angle;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegArcRel.prototype, \"largeArcFlag\", {\n get: function get() {\n return this._largeArcFlag;\n },\n set: function set(largeArcFlag) {\n this._largeArcFlag = largeArcFlag;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegArcRel.prototype, \"sweepFlag\", {\n get: function get() {\n return this._sweepFlag;\n },\n set: function set(sweepFlag) {\n this._sweepFlag = sweepFlag;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n\n window.SVGPathSegLinetoHorizontalAbs = function (owningPathSegList, x) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_ABS, \"H\", owningPathSegList);\n this._x = x;\n };\n\n window.SVGPathSegLinetoHorizontalAbs.prototype = Object.create(window.SVGPathSeg.prototype);\n\n window.SVGPathSegLinetoHorizontalAbs.prototype.toString = function () {\n return \"[object SVGPathSegLinetoHorizontalAbs]\";\n };\n\n window.SVGPathSegLinetoHorizontalAbs.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._x;\n };\n\n window.SVGPathSegLinetoHorizontalAbs.prototype.clone = function () {\n return new window.SVGPathSegLinetoHorizontalAbs(undefined, this._x);\n };\n\n Object.defineProperty(window.SVGPathSegLinetoHorizontalAbs.prototype, \"x\", {\n get: function get() {\n return this._x;\n },\n set: function set(x) {\n this._x = x;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n\n window.SVGPathSegLinetoHorizontalRel = function (owningPathSegList, x) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_REL, \"h\", owningPathSegList);\n this._x = x;\n };\n\n window.SVGPathSegLinetoHorizontalRel.prototype = Object.create(window.SVGPathSeg.prototype);\n\n window.SVGPathSegLinetoHorizontalRel.prototype.toString = function () {\n return \"[object SVGPathSegLinetoHorizontalRel]\";\n };\n\n window.SVGPathSegLinetoHorizontalRel.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._x;\n };\n\n window.SVGPathSegLinetoHorizontalRel.prototype.clone = function () {\n return new window.SVGPathSegLinetoHorizontalRel(undefined, this._x);\n };\n\n Object.defineProperty(window.SVGPathSegLinetoHorizontalRel.prototype, \"x\", {\n get: function get() {\n return this._x;\n },\n set: function set(x) {\n this._x = x;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n\n window.SVGPathSegLinetoVerticalAbs = function (owningPathSegList, y) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_LINETO_VERTICAL_ABS, \"V\", owningPathSegList);\n this._y = y;\n };\n\n window.SVGPathSegLinetoVerticalAbs.prototype = Object.create(window.SVGPathSeg.prototype);\n\n window.SVGPathSegLinetoVerticalAbs.prototype.toString = function () {\n return \"[object SVGPathSegLinetoVerticalAbs]\";\n };\n\n window.SVGPathSegLinetoVerticalAbs.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._y;\n };\n\n window.SVGPathSegLinetoVerticalAbs.prototype.clone = function () {\n return new window.SVGPathSegLinetoVerticalAbs(undefined, this._y);\n };\n\n Object.defineProperty(window.SVGPathSegLinetoVerticalAbs.prototype, \"y\", {\n get: function get() {\n return this._y;\n },\n set: function set(y) {\n this._y = y;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n\n window.SVGPathSegLinetoVerticalRel = function (owningPathSegList, y) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_LINETO_VERTICAL_REL, \"v\", owningPathSegList);\n this._y = y;\n };\n\n window.SVGPathSegLinetoVerticalRel.prototype = Object.create(window.SVGPathSeg.prototype);\n\n window.SVGPathSegLinetoVerticalRel.prototype.toString = function () {\n return \"[object SVGPathSegLinetoVerticalRel]\";\n };\n\n window.SVGPathSegLinetoVerticalRel.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._y;\n };\n\n window.SVGPathSegLinetoVerticalRel.prototype.clone = function () {\n return new window.SVGPathSegLinetoVerticalRel(undefined, this._y);\n };\n\n Object.defineProperty(window.SVGPathSegLinetoVerticalRel.prototype, \"y\", {\n get: function get() {\n return this._y;\n },\n set: function set(y) {\n this._y = y;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n\n window.SVGPathSegCurvetoCubicSmoothAbs = function (owningPathSegList, x, y, x2, y2) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_ABS, \"S\", owningPathSegList);\n this._x = x;\n this._y = y;\n this._x2 = x2;\n this._y2 = y2;\n };\n\n window.SVGPathSegCurvetoCubicSmoothAbs.prototype = Object.create(window.SVGPathSeg.prototype);\n\n window.SVGPathSegCurvetoCubicSmoothAbs.prototype.toString = function () {\n return \"[object SVGPathSegCurvetoCubicSmoothAbs]\";\n };\n\n window.SVGPathSegCurvetoCubicSmoothAbs.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._x2 + \" \" + this._y2 + \" \" + this._x + \" \" + this._y;\n };\n\n window.SVGPathSegCurvetoCubicSmoothAbs.prototype.clone = function () {\n return new window.SVGPathSegCurvetoCubicSmoothAbs(undefined, this._x, this._y, this._x2, this._y2);\n };\n\n Object.defineProperty(window.SVGPathSegCurvetoCubicSmoothAbs.prototype, \"x\", {\n get: function get() {\n return this._x;\n },\n set: function set(x) {\n this._x = x;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegCurvetoCubicSmoothAbs.prototype, \"y\", {\n get: function get() {\n return this._y;\n },\n set: function set(y) {\n this._y = y;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegCurvetoCubicSmoothAbs.prototype, \"x2\", {\n get: function get() {\n return this._x2;\n },\n set: function set(x2) {\n this._x2 = x2;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegCurvetoCubicSmoothAbs.prototype, \"y2\", {\n get: function get() {\n return this._y2;\n },\n set: function set(y2) {\n this._y2 = y2;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n\n window.SVGPathSegCurvetoCubicSmoothRel = function (owningPathSegList, x, y, x2, y2) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_REL, \"s\", owningPathSegList);\n this._x = x;\n this._y = y;\n this._x2 = x2;\n this._y2 = y2;\n };\n\n window.SVGPathSegCurvetoCubicSmoothRel.prototype = Object.create(window.SVGPathSeg.prototype);\n\n window.SVGPathSegCurvetoCubicSmoothRel.prototype.toString = function () {\n return \"[object SVGPathSegCurvetoCubicSmoothRel]\";\n };\n\n window.SVGPathSegCurvetoCubicSmoothRel.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._x2 + \" \" + this._y2 + \" \" + this._x + \" \" + this._y;\n };\n\n window.SVGPathSegCurvetoCubicSmoothRel.prototype.clone = function () {\n return new window.SVGPathSegCurvetoCubicSmoothRel(undefined, this._x, this._y, this._x2, this._y2);\n };\n\n Object.defineProperty(window.SVGPathSegCurvetoCubicSmoothRel.prototype, \"x\", {\n get: function get() {\n return this._x;\n },\n set: function set(x) {\n this._x = x;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegCurvetoCubicSmoothRel.prototype, \"y\", {\n get: function get() {\n return this._y;\n },\n set: function set(y) {\n this._y = y;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegCurvetoCubicSmoothRel.prototype, \"x2\", {\n get: function get() {\n return this._x2;\n },\n set: function set(x2) {\n this._x2 = x2;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegCurvetoCubicSmoothRel.prototype, \"y2\", {\n get: function get() {\n return this._y2;\n },\n set: function set(y2) {\n this._y2 = y2;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n\n window.SVGPathSegCurvetoQuadraticSmoothAbs = function (owningPathSegList, x, y) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS, \"T\", owningPathSegList);\n this._x = x;\n this._y = y;\n };\n\n window.SVGPathSegCurvetoQuadraticSmoothAbs.prototype = Object.create(window.SVGPathSeg.prototype);\n\n window.SVGPathSegCurvetoQuadraticSmoothAbs.prototype.toString = function () {\n return \"[object SVGPathSegCurvetoQuadraticSmoothAbs]\";\n };\n\n window.SVGPathSegCurvetoQuadraticSmoothAbs.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._x + \" \" + this._y;\n };\n\n window.SVGPathSegCurvetoQuadraticSmoothAbs.prototype.clone = function () {\n return new window.SVGPathSegCurvetoQuadraticSmoothAbs(undefined, this._x, this._y);\n };\n\n Object.defineProperty(window.SVGPathSegCurvetoQuadraticSmoothAbs.prototype, \"x\", {\n get: function get() {\n return this._x;\n },\n set: function set(x) {\n this._x = x;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegCurvetoQuadraticSmoothAbs.prototype, \"y\", {\n get: function get() {\n return this._y;\n },\n set: function set(y) {\n this._y = y;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n\n window.SVGPathSegCurvetoQuadraticSmoothRel = function (owningPathSegList, x, y) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL, \"t\", owningPathSegList);\n this._x = x;\n this._y = y;\n };\n\n window.SVGPathSegCurvetoQuadraticSmoothRel.prototype = Object.create(window.SVGPathSeg.prototype);\n\n window.SVGPathSegCurvetoQuadraticSmoothRel.prototype.toString = function () {\n return \"[object SVGPathSegCurvetoQuadraticSmoothRel]\";\n };\n\n window.SVGPathSegCurvetoQuadraticSmoothRel.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._x + \" \" + this._y;\n };\n\n window.SVGPathSegCurvetoQuadraticSmoothRel.prototype.clone = function () {\n return new window.SVGPathSegCurvetoQuadraticSmoothRel(undefined, this._x, this._y);\n };\n\n Object.defineProperty(window.SVGPathSegCurvetoQuadraticSmoothRel.prototype, \"x\", {\n get: function get() {\n return this._x;\n },\n set: function set(x) {\n this._x = x;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegCurvetoQuadraticSmoothRel.prototype, \"y\", {\n get: function get() {\n return this._y;\n },\n set: function set(y) {\n this._y = y;\n\n this._segmentChanged();\n },\n enumerable: true\n }); // Add createSVGPathSeg* functions to window.SVGPathElement.\n // Spec: http://www.w3.org/TR/SVG11/single-page.html#paths-Interfacewindow.SVGPathElement.\n\n window.SVGPathElement.prototype.createSVGPathSegClosePath = function () {\n return new window.SVGPathSegClosePath(undefined);\n };\n\n window.SVGPathElement.prototype.createSVGPathSegMovetoAbs = function (x, y) {\n return new window.SVGPathSegMovetoAbs(undefined, x, y);\n };\n\n window.SVGPathElement.prototype.createSVGPathSegMovetoRel = function (x, y) {\n return new window.SVGPathSegMovetoRel(undefined, x, y);\n };\n\n window.SVGPathElement.prototype.createSVGPathSegLinetoAbs = function (x, y) {\n return new window.SVGPathSegLinetoAbs(undefined, x, y);\n };\n\n window.SVGPathElement.prototype.createSVGPathSegLinetoRel = function (x, y) {\n return new window.SVGPathSegLinetoRel(undefined, x, y);\n };\n\n window.SVGPathElement.prototype.createSVGPathSegCurvetoCubicAbs = function (x, y, x1, y1, x2, y2) {\n return new window.SVGPathSegCurvetoCubicAbs(undefined, x, y, x1, y1, x2, y2);\n };\n\n window.SVGPathElement.prototype.createSVGPathSegCurvetoCubicRel = function (x, y, x1, y1, x2, y2) {\n return new window.SVGPathSegCurvetoCubicRel(undefined, x, y, x1, y1, x2, y2);\n };\n\n window.SVGPathElement.prototype.createSVGPathSegCurvetoQuadraticAbs = function (x, y, x1, y1) {\n return new window.SVGPathSegCurvetoQuadraticAbs(undefined, x, y, x1, y1);\n };\n\n window.SVGPathElement.prototype.createSVGPathSegCurvetoQuadraticRel = function (x, y, x1, y1) {\n return new window.SVGPathSegCurvetoQuadraticRel(undefined, x, y, x1, y1);\n };\n\n window.SVGPathElement.prototype.createSVGPathSegArcAbs = function (x, y, r1, r2, angle, largeArcFlag, sweepFlag) {\n return new window.SVGPathSegArcAbs(undefined, x, y, r1, r2, angle, largeArcFlag, sweepFlag);\n };\n\n window.SVGPathElement.prototype.createSVGPathSegArcRel = function (x, y, r1, r2, angle, largeArcFlag, sweepFlag) {\n return new window.SVGPathSegArcRel(undefined, x, y, r1, r2, angle, largeArcFlag, sweepFlag);\n };\n\n window.SVGPathElement.prototype.createSVGPathSegLinetoHorizontalAbs = function (x) {\n return new window.SVGPathSegLinetoHorizontalAbs(undefined, x);\n };\n\n window.SVGPathElement.prototype.createSVGPathSegLinetoHorizontalRel = function (x) {\n return new window.SVGPathSegLinetoHorizontalRel(undefined, x);\n };\n\n window.SVGPathElement.prototype.createSVGPathSegLinetoVerticalAbs = function (y) {\n return new window.SVGPathSegLinetoVerticalAbs(undefined, y);\n };\n\n window.SVGPathElement.prototype.createSVGPathSegLinetoVerticalRel = function (y) {\n return new window.SVGPathSegLinetoVerticalRel(undefined, y);\n };\n\n window.SVGPathElement.prototype.createSVGPathSegCurvetoCubicSmoothAbs = function (x, y, x2, y2) {\n return new window.SVGPathSegCurvetoCubicSmoothAbs(undefined, x, y, x2, y2);\n };\n\n window.SVGPathElement.prototype.createSVGPathSegCurvetoCubicSmoothRel = function (x, y, x2, y2) {\n return new window.SVGPathSegCurvetoCubicSmoothRel(undefined, x, y, x2, y2);\n };\n\n window.SVGPathElement.prototype.createSVGPathSegCurvetoQuadraticSmoothAbs = function (x, y) {\n return new window.SVGPathSegCurvetoQuadraticSmoothAbs(undefined, x, y);\n };\n\n window.SVGPathElement.prototype.createSVGPathSegCurvetoQuadraticSmoothRel = function (x, y) {\n return new window.SVGPathSegCurvetoQuadraticSmoothRel(undefined, x, y);\n };\n\n if (!(\"getPathSegAtLength\" in window.SVGPathElement.prototype)) {\n // Add getPathSegAtLength to SVGPathElement.\n // Spec: https://www.w3.org/TR/SVG11/single-page.html#paths-__svg__SVGPathElement__getPathSegAtLength\n // This polyfill requires SVGPathElement.getTotalLength to implement the distance-along-a-path algorithm.\n window.SVGPathElement.prototype.getPathSegAtLength = function (distance) {\n if (distance === undefined || !isFinite(distance)) throw \"Invalid arguments.\";\n var measurementElement = document.createElementNS(\"http://www.w3.org/2000/svg\", \"path\");\n measurementElement.setAttribute(\"d\", this.getAttribute(\"d\"));\n var lastPathSegment = measurementElement.pathSegList.numberOfItems - 1; // If the path is empty, return 0.\n\n if (lastPathSegment <= 0) return 0;\n\n do {\n measurementElement.pathSegList.removeItem(lastPathSegment);\n if (distance > measurementElement.getTotalLength()) break;\n lastPathSegment--;\n } while (lastPathSegment > 0);\n\n return lastPathSegment;\n };\n }\n }\n\n if (!(\"SVGPathSegList\" in window)) {\n // Spec: http://www.w3.org/TR/SVG11/single-page.html#paths-InterfaceSVGPathSegList\n window.SVGPathSegList = function (pathElement) {\n this._pathElement = pathElement;\n this._list = this._parsePath(this._pathElement.getAttribute(\"d\")); // Use a MutationObserver to catch changes to the path's \"d\" attribute.\n\n this._mutationObserverConfig = {\n \"attributes\": true,\n \"attributeFilter\": [\"d\"]\n };\n this._pathElementMutationObserver = new MutationObserver(this._updateListFromPathMutations.bind(this));\n\n this._pathElementMutationObserver.observe(this._pathElement, this._mutationObserverConfig);\n };\n\n window.SVGPathSegList.prototype.classname = \"SVGPathSegList\";\n Object.defineProperty(window.SVGPathSegList.prototype, \"numberOfItems\", {\n get: function get() {\n this._checkPathSynchronizedToList();\n\n return this._list.length;\n },\n enumerable: true\n }); // Add the pathSegList accessors to window.SVGPathElement.\n // Spec: http://www.w3.org/TR/SVG11/single-page.html#paths-InterfaceSVGAnimatedPathData\n\n Object.defineProperty(window.SVGPathElement.prototype, \"pathSegList\", {\n get: function get() {\n if (!this._pathSegList) this._pathSegList = new window.SVGPathSegList(this);\n return this._pathSegList;\n },\n enumerable: true\n }); // FIXME: The following are not implemented and simply return window.SVGPathElement.pathSegList.\n\n Object.defineProperty(window.SVGPathElement.prototype, \"normalizedPathSegList\", {\n get: function get() {\n return this.pathSegList;\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathElement.prototype, \"animatedPathSegList\", {\n get: function get() {\n return this.pathSegList;\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathElement.prototype, \"animatedNormalizedPathSegList\", {\n get: function get() {\n return this.pathSegList;\n },\n enumerable: true\n }); // Process any pending mutations to the path element and update the list as needed.\n // This should be the first call of all public functions and is needed because\n // MutationObservers are not synchronous so we can have pending asynchronous mutations.\n\n window.SVGPathSegList.prototype._checkPathSynchronizedToList = function () {\n this._updateListFromPathMutations(this._pathElementMutationObserver.takeRecords());\n };\n\n window.SVGPathSegList.prototype._updateListFromPathMutations = function (mutationRecords) {\n if (!this._pathElement) return;\n var hasPathMutations = false;\n mutationRecords.forEach(function (record) {\n if (record.attributeName == \"d\") hasPathMutations = true;\n });\n if (hasPathMutations) this._list = this._parsePath(this._pathElement.getAttribute(\"d\"));\n }; // Serialize the list and update the path's 'd' attribute.\n\n\n window.SVGPathSegList.prototype._writeListToPath = function () {\n this._pathElementMutationObserver.disconnect();\n\n this._pathElement.setAttribute(\"d\", window.SVGPathSegList._pathSegArrayAsString(this._list));\n\n this._pathElementMutationObserver.observe(this._pathElement, this._mutationObserverConfig);\n }; // When a path segment changes the list needs to be synchronized back to the path element.\n\n\n window.SVGPathSegList.prototype.segmentChanged = function (pathSeg) {\n this._writeListToPath();\n };\n\n window.SVGPathSegList.prototype.clear = function () {\n this._checkPathSynchronizedToList();\n\n this._list.forEach(function (pathSeg) {\n pathSeg._owningPathSegList = null;\n });\n\n this._list = [];\n\n this._writeListToPath();\n };\n\n window.SVGPathSegList.prototype.initialize = function (newItem) {\n this._checkPathSynchronizedToList();\n\n this._list = [newItem];\n newItem._owningPathSegList = this;\n\n this._writeListToPath();\n\n return newItem;\n };\n\n window.SVGPathSegList.prototype._checkValidIndex = function (index) {\n if (isNaN(index) || index < 0 || index >= this.numberOfItems) throw \"INDEX_SIZE_ERR\";\n };\n\n window.SVGPathSegList.prototype.getItem = function (index) {\n this._checkPathSynchronizedToList();\n\n this._checkValidIndex(index);\n\n return this._list[index];\n };\n\n window.SVGPathSegList.prototype.insertItemBefore = function (newItem, index) {\n this._checkPathSynchronizedToList(); // Spec: If the index is greater than or equal to numberOfItems, then the new item is appended to the end of the list.\n\n\n if (index > this.numberOfItems) index = this.numberOfItems;\n\n if (newItem._owningPathSegList) {\n // SVG2 spec says to make a copy.\n newItem = newItem.clone();\n }\n\n this._list.splice(index, 0, newItem);\n\n newItem._owningPathSegList = this;\n\n this._writeListToPath();\n\n return newItem;\n };\n\n window.SVGPathSegList.prototype.replaceItem = function (newItem, index) {\n this._checkPathSynchronizedToList();\n\n if (newItem._owningPathSegList) {\n // SVG2 spec says to make a copy.\n newItem = newItem.clone();\n }\n\n this._checkValidIndex(index);\n\n this._list[index] = newItem;\n newItem._owningPathSegList = this;\n\n this._writeListToPath();\n\n return newItem;\n };\n\n window.SVGPathSegList.prototype.removeItem = function (index) {\n this._checkPathSynchronizedToList();\n\n this._checkValidIndex(index);\n\n var item = this._list[index];\n\n this._list.splice(index, 1);\n\n this._writeListToPath();\n\n return item;\n };\n\n window.SVGPathSegList.prototype.appendItem = function (newItem) {\n this._checkPathSynchronizedToList();\n\n if (newItem._owningPathSegList) {\n // SVG2 spec says to make a copy.\n newItem = newItem.clone();\n }\n\n this._list.push(newItem);\n\n newItem._owningPathSegList = this; // TODO: Optimize this to just append to the existing attribute.\n\n this._writeListToPath();\n\n return newItem;\n };\n\n window.SVGPathSegList._pathSegArrayAsString = function (pathSegArray) {\n var string = \"\";\n var first = true;\n pathSegArray.forEach(function (pathSeg) {\n if (first) {\n first = false;\n string += pathSeg._asPathString();\n } else {\n string += \" \" + pathSeg._asPathString();\n }\n });\n return string;\n }; // This closely follows SVGPathParser::parsePath from Source/core/svg/SVGPathParser.cpp.\n\n\n window.SVGPathSegList.prototype._parsePath = function (string) {\n if (!string || string.length == 0) return [];\n var owningPathSegList = this;\n\n var Builder = function Builder() {\n this.pathSegList = [];\n };\n\n Builder.prototype.appendSegment = function (pathSeg) {\n this.pathSegList.push(pathSeg);\n };\n\n var Source = function Source(string) {\n this._string = string;\n this._currentIndex = 0;\n this._endIndex = this._string.length;\n this._previousCommand = window.SVGPathSeg.PATHSEG_UNKNOWN;\n\n this._skipOptionalSpaces();\n };\n\n Source.prototype._isCurrentSpace = function () {\n var character = this._string[this._currentIndex];\n return character <= \" \" && (character == \" \" || character == \"\\n\" || character == \"\\t\" || character == \"\\r\" || character == \"\\f\");\n };\n\n Source.prototype._skipOptionalSpaces = function () {\n while (this._currentIndex < this._endIndex && this._isCurrentSpace()) {\n this._currentIndex++;\n }\n\n return this._currentIndex < this._endIndex;\n };\n\n Source.prototype._skipOptionalSpacesOrDelimiter = function () {\n if (this._currentIndex < this._endIndex && !this._isCurrentSpace() && this._string.charAt(this._currentIndex) != \",\") return false;\n\n if (this._skipOptionalSpaces()) {\n if (this._currentIndex < this._endIndex && this._string.charAt(this._currentIndex) == \",\") {\n this._currentIndex++;\n\n this._skipOptionalSpaces();\n }\n }\n\n return this._currentIndex < this._endIndex;\n };\n\n Source.prototype.hasMoreData = function () {\n return this._currentIndex < this._endIndex;\n };\n\n Source.prototype.peekSegmentType = function () {\n var lookahead = this._string[this._currentIndex];\n return this._pathSegTypeFromChar(lookahead);\n };\n\n Source.prototype._pathSegTypeFromChar = function (lookahead) {\n switch (lookahead) {\n case \"Z\":\n case \"z\":\n return window.SVGPathSeg.PATHSEG_CLOSEPATH;\n\n case \"M\":\n return window.SVGPathSeg.PATHSEG_MOVETO_ABS;\n\n case \"m\":\n return window.SVGPathSeg.PATHSEG_MOVETO_REL;\n\n case \"L\":\n return window.SVGPathSeg.PATHSEG_LINETO_ABS;\n\n case \"l\":\n return window.SVGPathSeg.PATHSEG_LINETO_REL;\n\n case \"C\":\n return window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_ABS;\n\n case \"c\":\n return window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_REL;\n\n case \"Q\":\n return window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_ABS;\n\n case \"q\":\n return window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_REL;\n\n case \"A\":\n return window.SVGPathSeg.PATHSEG_ARC_ABS;\n\n case \"a\":\n return window.SVGPathSeg.PATHSEG_ARC_REL;\n\n case \"H\":\n return window.SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_ABS;\n\n case \"h\":\n return window.SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_REL;\n\n case \"V\":\n return window.SVGPathSeg.PATHSEG_LINETO_VERTICAL_ABS;\n\n case \"v\":\n return window.SVGPathSeg.PATHSEG_LINETO_VERTICAL_REL;\n\n case \"S\":\n return window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_ABS;\n\n case \"s\":\n return window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_REL;\n\n case \"T\":\n return window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS;\n\n case \"t\":\n return window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL;\n\n default:\n return window.SVGPathSeg.PATHSEG_UNKNOWN;\n }\n };\n\n Source.prototype._nextCommandHelper = function (lookahead, previousCommand) {\n // Check for remaining coordinates in the current command.\n if ((lookahead == \"+\" || lookahead == \"-\" || lookahead == \".\" || lookahead >= \"0\" && lookahead <= \"9\") && previousCommand != window.SVGPathSeg.PATHSEG_CLOSEPATH) {\n if (previousCommand == window.SVGPathSeg.PATHSEG_MOVETO_ABS) return window.SVGPathSeg.PATHSEG_LINETO_ABS;\n if (previousCommand == window.SVGPathSeg.PATHSEG_MOVETO_REL) return window.SVGPathSeg.PATHSEG_LINETO_REL;\n return previousCommand;\n }\n\n return window.SVGPathSeg.PATHSEG_UNKNOWN;\n };\n\n Source.prototype.initialCommandIsMoveTo = function () {\n // If the path is empty it is still valid, so return true.\n if (!this.hasMoreData()) return true;\n var command = this.peekSegmentType(); // Path must start with moveTo.\n\n return command == window.SVGPathSeg.PATHSEG_MOVETO_ABS || command == window.SVGPathSeg.PATHSEG_MOVETO_REL;\n }; // Parse a number from an SVG path. This very closely follows genericParseNumber(...) from Source/core/svg/SVGParserUtilities.cpp.\n // Spec: http://www.w3.org/TR/SVG11/single-page.html#paths-PathDataBNF\n\n\n Source.prototype._parseNumber = function () {\n var exponent = 0;\n var integer = 0;\n var frac = 1;\n var decimal = 0;\n var sign = 1;\n var expsign = 1;\n var startIndex = this._currentIndex;\n\n this._skipOptionalSpaces(); // Read the sign.\n\n\n if (this._currentIndex < this._endIndex && this._string.charAt(this._currentIndex) == \"+\") this._currentIndex++;else if (this._currentIndex < this._endIndex && this._string.charAt(this._currentIndex) == \"-\") {\n this._currentIndex++;\n sign = -1;\n }\n if (this._currentIndex == this._endIndex || (this._string.charAt(this._currentIndex) < \"0\" || this._string.charAt(this._currentIndex) > \"9\") && this._string.charAt(this._currentIndex) != \".\") // The first character of a number must be one of [0-9+-.].\n return undefined; // Read the integer part, build right-to-left.\n\n var startIntPartIndex = this._currentIndex;\n\n while (this._currentIndex < this._endIndex && this._string.charAt(this._currentIndex) >= \"0\" && this._string.charAt(this._currentIndex) <= \"9\") {\n this._currentIndex++;\n } // Advance to first non-digit.\n\n\n if (this._currentIndex != startIntPartIndex) {\n var scanIntPartIndex = this._currentIndex - 1;\n var multiplier = 1;\n\n while (scanIntPartIndex >= startIntPartIndex) {\n integer += multiplier * (this._string.charAt(scanIntPartIndex--) - \"0\");\n multiplier *= 10;\n }\n } // Read the decimals.\n\n\n if (this._currentIndex < this._endIndex && this._string.charAt(this._currentIndex) == \".\") {\n this._currentIndex++; // There must be a least one digit following the .\n\n if (this._currentIndex >= this._endIndex || this._string.charAt(this._currentIndex) < \"0\" || this._string.charAt(this._currentIndex) > \"9\") return undefined;\n\n while (this._currentIndex < this._endIndex && this._string.charAt(this._currentIndex) >= \"0\" && this._string.charAt(this._currentIndex) <= \"9\") {\n frac *= 10;\n decimal += (this._string.charAt(this._currentIndex) - \"0\") / frac;\n this._currentIndex += 1;\n }\n } // Read the exponent part.\n\n\n if (this._currentIndex != startIndex && this._currentIndex + 1 < this._endIndex && (this._string.charAt(this._currentIndex) == \"e\" || this._string.charAt(this._currentIndex) == \"E\") && this._string.charAt(this._currentIndex + 1) != \"x\" && this._string.charAt(this._currentIndex + 1) != \"m\") {\n this._currentIndex++; // Read the sign of the exponent.\n\n if (this._string.charAt(this._currentIndex) == \"+\") {\n this._currentIndex++;\n } else if (this._string.charAt(this._currentIndex) == \"-\") {\n this._currentIndex++;\n expsign = -1;\n } // There must be an exponent.\n\n\n if (this._currentIndex >= this._endIndex || this._string.charAt(this._currentIndex) < \"0\" || this._string.charAt(this._currentIndex) > \"9\") return undefined;\n\n while (this._currentIndex < this._endIndex && this._string.charAt(this._currentIndex) >= \"0\" && this._string.charAt(this._currentIndex) <= \"9\") {\n exponent *= 10;\n exponent += this._string.charAt(this._currentIndex) - \"0\";\n this._currentIndex++;\n }\n }\n\n var number = integer + decimal;\n number *= sign;\n if (exponent) number *= Math.pow(10, expsign * exponent);\n if (startIndex == this._currentIndex) return undefined;\n\n this._skipOptionalSpacesOrDelimiter();\n\n return number;\n };\n\n Source.prototype._parseArcFlag = function () {\n if (this._currentIndex >= this._endIndex) return undefined;\n var flag = false;\n\n var flagChar = this._string.charAt(this._currentIndex++);\n\n if (flagChar == \"0\") flag = false;else if (flagChar == \"1\") flag = true;else return undefined;\n\n this._skipOptionalSpacesOrDelimiter();\n\n return flag;\n };\n\n Source.prototype.parseSegment = function () {\n var lookahead = this._string[this._currentIndex];\n\n var command = this._pathSegTypeFromChar(lookahead);\n\n if (command == window.SVGPathSeg.PATHSEG_UNKNOWN) {\n // Possibly an implicit command. Not allowed if this is the first command.\n if (this._previousCommand == window.SVGPathSeg.PATHSEG_UNKNOWN) return null;\n command = this._nextCommandHelper(lookahead, this._previousCommand);\n if (command == window.SVGPathSeg.PATHSEG_UNKNOWN) return null;\n } else {\n this._currentIndex++;\n }\n\n this._previousCommand = command;\n\n switch (command) {\n case window.SVGPathSeg.PATHSEG_MOVETO_REL:\n return new window.SVGPathSegMovetoRel(owningPathSegList, this._parseNumber(), this._parseNumber());\n\n case window.SVGPathSeg.PATHSEG_MOVETO_ABS:\n return new window.SVGPathSegMovetoAbs(owningPathSegList, this._parseNumber(), this._parseNumber());\n\n case window.SVGPathSeg.PATHSEG_LINETO_REL:\n return new window.SVGPathSegLinetoRel(owningPathSegList, this._parseNumber(), this._parseNumber());\n\n case window.SVGPathSeg.PATHSEG_LINETO_ABS:\n return new window.SVGPathSegLinetoAbs(owningPathSegList, this._parseNumber(), this._parseNumber());\n\n case window.SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_REL:\n return new window.SVGPathSegLinetoHorizontalRel(owningPathSegList, this._parseNumber());\n\n case window.SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_ABS:\n return new window.SVGPathSegLinetoHorizontalAbs(owningPathSegList, this._parseNumber());\n\n case window.SVGPathSeg.PATHSEG_LINETO_VERTICAL_REL:\n return new window.SVGPathSegLinetoVerticalRel(owningPathSegList, this._parseNumber());\n\n case window.SVGPathSeg.PATHSEG_LINETO_VERTICAL_ABS:\n return new window.SVGPathSegLinetoVerticalAbs(owningPathSegList, this._parseNumber());\n\n case window.SVGPathSeg.PATHSEG_CLOSEPATH:\n this._skipOptionalSpaces();\n\n return new window.SVGPathSegClosePath(owningPathSegList);\n\n case window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_REL:\n var points = {\n x1: this._parseNumber(),\n y1: this._parseNumber(),\n x2: this._parseNumber(),\n y2: this._parseNumber(),\n x: this._parseNumber(),\n y: this._parseNumber()\n };\n return new window.SVGPathSegCurvetoCubicRel(owningPathSegList, points.x, points.y, points.x1, points.y1, points.x2, points.y2);\n\n case window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_ABS:\n var points = {\n x1: this._parseNumber(),\n y1: this._parseNumber(),\n x2: this._parseNumber(),\n y2: this._parseNumber(),\n x: this._parseNumber(),\n y: this._parseNumber()\n };\n return new window.SVGPathSegCurvetoCubicAbs(owningPathSegList, points.x, points.y, points.x1, points.y1, points.x2, points.y2);\n\n case window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_REL:\n var points = {\n x2: this._parseNumber(),\n y2: this._parseNumber(),\n x: this._parseNumber(),\n y: this._parseNumber()\n };\n return new window.SVGPathSegCurvetoCubicSmoothRel(owningPathSegList, points.x, points.y, points.x2, points.y2);\n\n case window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_ABS:\n var points = {\n x2: this._parseNumber(),\n y2: this._parseNumber(),\n x: this._parseNumber(),\n y: this._parseNumber()\n };\n return new window.SVGPathSegCurvetoCubicSmoothAbs(owningPathSegList, points.x, points.y, points.x2, points.y2);\n\n case window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_REL:\n var points = {\n x1: this._parseNumber(),\n y1: this._parseNumber(),\n x: this._parseNumber(),\n y: this._parseNumber()\n };\n return new window.SVGPathSegCurvetoQuadraticRel(owningPathSegList, points.x, points.y, points.x1, points.y1);\n\n case window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_ABS:\n var points = {\n x1: this._parseNumber(),\n y1: this._parseNumber(),\n x: this._parseNumber(),\n y: this._parseNumber()\n };\n return new window.SVGPathSegCurvetoQuadraticAbs(owningPathSegList, points.x, points.y, points.x1, points.y1);\n\n case window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL:\n return new window.SVGPathSegCurvetoQuadraticSmoothRel(owningPathSegList, this._parseNumber(), this._parseNumber());\n\n case window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS:\n return new window.SVGPathSegCurvetoQuadraticSmoothAbs(owningPathSegList, this._parseNumber(), this._parseNumber());\n\n case window.SVGPathSeg.PATHSEG_ARC_REL:\n var points = {\n x1: this._parseNumber(),\n y1: this._parseNumber(),\n arcAngle: this._parseNumber(),\n arcLarge: this._parseArcFlag(),\n arcSweep: this._parseArcFlag(),\n x: this._parseNumber(),\n y: this._parseNumber()\n };\n return new window.SVGPathSegArcRel(owningPathSegList, points.x, points.y, points.x1, points.y1, points.arcAngle, points.arcLarge, points.arcSweep);\n\n case window.SVGPathSeg.PATHSEG_ARC_ABS:\n var points = {\n x1: this._parseNumber(),\n y1: this._parseNumber(),\n arcAngle: this._parseNumber(),\n arcLarge: this._parseArcFlag(),\n arcSweep: this._parseArcFlag(),\n x: this._parseNumber(),\n y: this._parseNumber()\n };\n return new window.SVGPathSegArcAbs(owningPathSegList, points.x, points.y, points.x1, points.y1, points.arcAngle, points.arcLarge, points.arcSweep);\n\n default:\n throw \"Unknown path seg type.\";\n }\n };\n\n var builder = new Builder();\n var source = new Source(string);\n if (!source.initialCommandIsMoveTo()) return [];\n\n while (source.hasMoreData()) {\n var pathSeg = source.parseSegment();\n if (!pathSeg) return [];\n builder.appendSegment(pathSeg);\n }\n\n return builder.pathSegList;\n };\n }\n })(); // String.padEnd polyfill for IE11\n //\n // https://github.com/uxitten/polyfill/blob/master/string.polyfill.js\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/padEnd\n\n\n if (!String.prototype.padEnd) {\n String.prototype.padEnd = function padEnd(targetLength, padString) {\n targetLength = targetLength >> 0; //floor if number or convert non-number to 0;\n\n padString = String(typeof padString !== 'undefined' ? padString : ' ');\n\n if (this.length > targetLength) {\n return String(this);\n } else {\n targetLength = targetLength - this.length;\n\n if (targetLength > padString.length) {\n padString += padString.repeat(targetLength / padString.length); //append to original to ensure we are longer than needed\n }\n\n return String(this) + padString.slice(0, targetLength);\n }\n };\n }\n /* jshint ignore:end */\n\n Chart.prototype.axis = function () {};\n\n Chart.prototype.axis.labels = function (labels) {\n var $$ = this.internal;\n\n if (arguments.length) {\n Object.keys(labels).forEach(function (axisId) {\n $$.axis.setLabelText(axisId, labels[axisId]);\n });\n $$.axis.updateLabels();\n } // TODO: return some values?\n\n };\n\n Chart.prototype.axis.max = function (max) {\n var $$ = this.internal,\n config = $$.config;\n\n if (arguments.length) {\n if (_typeof(max) === 'object') {\n if (isValue(max.x)) {\n config.axis_x_max = max.x;\n }\n\n if (isValue(max.y)) {\n config.axis_y_max = max.y;\n }\n\n if (isValue(max.y2)) {\n config.axis_y2_max = max.y2;\n }\n } else {\n config.axis_y_max = config.axis_y2_max = max;\n }\n\n $$.redraw({\n withUpdateOrgXDomain: true,\n withUpdateXDomain: true\n });\n } else {\n return {\n x: config.axis_x_max,\n y: config.axis_y_max,\n y2: config.axis_y2_max\n };\n }\n };\n\n Chart.prototype.axis.min = function (min) {\n var $$ = this.internal,\n config = $$.config;\n\n if (arguments.length) {\n if (_typeof(min) === 'object') {\n if (isValue(min.x)) {\n config.axis_x_min = min.x;\n }\n\n if (isValue(min.y)) {\n config.axis_y_min = min.y;\n }\n\n if (isValue(min.y2)) {\n config.axis_y2_min = min.y2;\n }\n } else {\n config.axis_y_min = config.axis_y2_min = min;\n }\n\n $$.redraw({\n withUpdateOrgXDomain: true,\n withUpdateXDomain: true\n });\n } else {\n return {\n x: config.axis_x_min,\n y: config.axis_y_min,\n y2: config.axis_y2_min\n };\n }\n };\n\n Chart.prototype.axis.range = function (range) {\n if (arguments.length) {\n if (isDefined(range.max)) {\n this.axis.max(range.max);\n }\n\n if (isDefined(range.min)) {\n this.axis.min(range.min);\n }\n } else {\n return {\n max: this.axis.max(),\n min: this.axis.min()\n };\n }\n };\n\n Chart.prototype.category = function (i, category) {\n var $$ = this.internal,\n config = $$.config;\n\n if (arguments.length > 1) {\n config.axis_x_categories[i] = category;\n $$.redraw();\n }\n\n return config.axis_x_categories[i];\n };\n\n Chart.prototype.categories = function (categories) {\n var $$ = this.internal,\n config = $$.config;\n\n if (!arguments.length) {\n return config.axis_x_categories;\n }\n\n config.axis_x_categories = categories;\n $$.redraw();\n return config.axis_x_categories;\n };\n\n Chart.prototype.resize = function (size) {\n var $$ = this.internal,\n config = $$.config;\n config.size_width = size ? size.width : null;\n config.size_height = size ? size.height : null;\n this.flush();\n };\n\n Chart.prototype.flush = function () {\n var $$ = this.internal;\n $$.updateAndRedraw({\n withLegend: true,\n withTransition: false,\n withTransitionForTransform: false\n });\n };\n\n Chart.prototype.destroy = function () {\n var $$ = this.internal;\n window.clearInterval($$.intervalForObserveInserted);\n\n if ($$.resizeTimeout !== undefined) {\n window.clearTimeout($$.resizeTimeout);\n }\n\n if (window.detachEvent) {\n window.detachEvent('onresize', $$.resizeIfElementDisplayed);\n } else if (window.removeEventListener) {\n window.removeEventListener('resize', $$.resizeIfElementDisplayed);\n } else {\n var wrapper = window.onresize; // check if no one else removed our wrapper and remove our resizeFunction from it\n\n if (wrapper && wrapper.add && wrapper.remove) {\n wrapper.remove($$.resizeFunction);\n }\n } // Removes the inner resize functions\n\n\n $$.resizeFunction.remove(); // Unbinds from the window focus event\n\n $$.unbindWindowFocus();\n $$.selectChart.classed('c3', false).html(\"\"); // MEMO: this is needed because the reference of some elements will not be released, then memory leak will happen.\n\n Object.keys($$).forEach(function (key) {\n $$[key] = null;\n });\n return null;\n };\n\n Chart.prototype.color = function (id) {\n var $$ = this.internal;\n return $$.color(id); // more patterns\n };\n\n Chart.prototype.data = function (targetIds) {\n var targets = this.internal.data.targets;\n return typeof targetIds === 'undefined' ? targets : targets.filter(function (t) {\n return [].concat(targetIds).indexOf(t.id) >= 0;\n });\n };\n\n Chart.prototype.data.shown = function (targetIds) {\n return this.internal.filterTargetsToShow(this.data(targetIds));\n };\n\n Chart.prototype.data.values = function (targetId) {\n var targets,\n values = null;\n\n if (targetId) {\n targets = this.data(targetId);\n values = targets[0] ? targets[0].values.map(function (d) {\n return d.value;\n }) : null;\n }\n\n return values;\n };\n\n Chart.prototype.data.names = function (names) {\n this.internal.clearLegendItemTextBoxCache();\n return this.internal.updateDataAttributes('names', names);\n };\n\n Chart.prototype.data.colors = function (colors) {\n return this.internal.updateDataAttributes('colors', colors);\n };\n\n Chart.prototype.data.axes = function (axes) {\n return this.internal.updateDataAttributes('axes', axes);\n };\n\n Chart.prototype.flow = function (args) {\n var $$ = this.internal,\n targets,\n data,\n notfoundIds = [],\n orgDataCount = $$.getMaxDataCount(),\n dataCount,\n domain,\n baseTarget,\n baseValue,\n length = 0,\n tail = 0,\n diff,\n to;\n\n if (args.json) {\n data = $$.convertJsonToData(args.json, args.keys);\n } else if (args.rows) {\n data = $$.convertRowsToData(args.rows);\n } else if (args.columns) {\n data = $$.convertColumnsToData(args.columns);\n } else {\n return;\n }\n\n targets = $$.convertDataToTargets(data, true); // Update/Add data\n\n $$.data.targets.forEach(function (t) {\n var found = false,\n i,\n j;\n\n for (i = 0; i < targets.length; i++) {\n if (t.id === targets[i].id) {\n found = true;\n\n if (t.values[t.values.length - 1]) {\n tail = t.values[t.values.length - 1].index + 1;\n }\n\n length = targets[i].values.length;\n\n for (j = 0; j < length; j++) {\n targets[i].values[j].index = tail + j;\n\n if (!$$.isTimeSeries()) {\n targets[i].values[j].x = tail + j;\n }\n }\n\n t.values = t.values.concat(targets[i].values);\n targets.splice(i, 1);\n break;\n }\n }\n\n if (!found) {\n notfoundIds.push(t.id);\n }\n }); // Append null for not found targets\n\n $$.data.targets.forEach(function (t) {\n var i, j;\n\n for (i = 0; i < notfoundIds.length; i++) {\n if (t.id === notfoundIds[i]) {\n tail = t.values[t.values.length - 1].index + 1;\n\n for (j = 0; j < length; j++) {\n t.values.push({\n id: t.id,\n index: tail + j,\n x: $$.isTimeSeries() ? $$.getOtherTargetX(tail + j) : tail + j,\n value: null\n });\n }\n }\n }\n }); // Generate null values for new target\n\n if ($$.data.targets.length) {\n targets.forEach(function (t) {\n var i,\n missing = [];\n\n for (i = $$.data.targets[0].values[0].index; i < tail; i++) {\n missing.push({\n id: t.id,\n index: i,\n x: $$.isTimeSeries() ? $$.getOtherTargetX(i) : i,\n value: null\n });\n }\n\n t.values.forEach(function (v) {\n v.index += tail;\n\n if (!$$.isTimeSeries()) {\n v.x += tail;\n }\n });\n t.values = missing.concat(t.values);\n });\n }\n\n $$.data.targets = $$.data.targets.concat(targets); // add remained\n // check data count because behavior needs to change when it's only one\n\n dataCount = $$.getMaxDataCount();\n baseTarget = $$.data.targets[0];\n baseValue = baseTarget.values[0]; // Update length to flow if needed\n\n if (isDefined(args.to)) {\n length = 0;\n to = $$.isTimeSeries() ? $$.parseDate(args.to) : args.to;\n baseTarget.values.forEach(function (v) {\n if (v.x < to) {\n length++;\n }\n });\n } else if (isDefined(args.length)) {\n length = args.length;\n } // If only one data, update the domain to flow from left edge of the chart\n\n\n if (!orgDataCount) {\n if ($$.isTimeSeries()) {\n if (baseTarget.values.length > 1) {\n diff = baseTarget.values[baseTarget.values.length - 1].x - baseValue.x;\n } else {\n diff = baseValue.x - $$.getXDomain($$.data.targets)[0];\n }\n } else {\n diff = 1;\n }\n\n domain = [baseValue.x - diff, baseValue.x];\n $$.updateXDomain(null, true, true, false, domain);\n } else if (orgDataCount === 1) {\n if ($$.isTimeSeries()) {\n diff = (baseTarget.values[baseTarget.values.length - 1].x - baseValue.x) / 2;\n domain = [new Date(+baseValue.x - diff), new Date(+baseValue.x + diff)];\n $$.updateXDomain(null, true, true, false, domain);\n }\n } // Set targets\n\n\n $$.updateTargets($$.data.targets); // Redraw with new targets\n\n $$.redraw({\n flow: {\n index: baseValue.index,\n length: length,\n duration: isValue(args.duration) ? args.duration : $$.config.transition_duration,\n done: args.done,\n orgDataCount: orgDataCount\n },\n withLegend: true,\n withTransition: orgDataCount > 1,\n withTrimXDomain: false,\n withUpdateXAxis: true\n });\n };\n\n ChartInternal.prototype.generateFlow = function (args) {\n var $$ = this,\n config = $$.config,\n d3 = $$.d3;\n return function () {\n var targets = args.targets,\n flow = args.flow,\n drawBar = args.drawBar,\n drawLine = args.drawLine,\n drawArea = args.drawArea,\n cx = args.cx,\n cy = args.cy,\n xv = args.xv,\n xForText = args.xForText,\n yForText = args.yForText,\n duration = args.duration;\n\n var translateX,\n scaleX = 1,\n transform,\n flowIndex = flow.index,\n flowLength = flow.length,\n flowStart = $$.getValueOnIndex($$.data.targets[0].values, flowIndex),\n flowEnd = $$.getValueOnIndex($$.data.targets[0].values, flowIndex + flowLength),\n orgDomain = $$.x.domain(),\n domain,\n durationForFlow = flow.duration || duration,\n done = flow.done || function () {},\n wait = $$.generateWait();\n\n var xgrid, xgridLines, mainRegion, mainText, mainBar, mainLine, mainArea, mainCircle; // set flag\n\n $$.flowing = true; // remove head data after rendered\n\n $$.data.targets.forEach(function (d) {\n d.values.splice(0, flowLength);\n }); // update x domain to generate axis elements for flow\n\n domain = $$.updateXDomain(targets, true, true); // update elements related to x scale\n\n if ($$.updateXGrid) {\n $$.updateXGrid(true);\n }\n\n xgrid = $$.xgrid || d3.selectAll([]); // xgrid needs to be obtained after updateXGrid\n\n xgridLines = $$.xgridLines || d3.selectAll([]);\n mainRegion = $$.mainRegion || d3.selectAll([]);\n mainText = $$.mainText || d3.selectAll([]);\n mainBar = $$.mainBar || d3.selectAll([]);\n mainLine = $$.mainLine || d3.selectAll([]);\n mainArea = $$.mainArea || d3.selectAll([]);\n mainCircle = $$.mainCircle || d3.selectAll([]); // generate transform to flow\n\n if (!flow.orgDataCount) {\n // if empty\n if ($$.data.targets[0].values.length !== 1) {\n translateX = $$.x(orgDomain[0]) - $$.x(domain[0]);\n } else {\n if ($$.isTimeSeries()) {\n flowStart = $$.getValueOnIndex($$.data.targets[0].values, 0);\n flowEnd = $$.getValueOnIndex($$.data.targets[0].values, $$.data.targets[0].values.length - 1);\n translateX = $$.x(flowStart.x) - $$.x(flowEnd.x);\n } else {\n translateX = diffDomain(domain) / 2;\n }\n }\n } else if (flow.orgDataCount === 1 || (flowStart && flowStart.x) === (flowEnd && flowEnd.x)) {\n translateX = $$.x(orgDomain[0]) - $$.x(domain[0]);\n } else {\n if ($$.isTimeSeries()) {\n translateX = $$.x(orgDomain[0]) - $$.x(domain[0]);\n } else {\n translateX = $$.x(flowStart.x) - $$.x(flowEnd.x);\n }\n }\n\n scaleX = diffDomain(orgDomain) / diffDomain(domain);\n transform = 'translate(' + translateX + ',0) scale(' + scaleX + ',1)';\n $$.hideXGridFocus();\n var flowTransition = d3.transition().ease(d3.easeLinear).duration(durationForFlow);\n wait.add($$.xAxis($$.axes.x, flowTransition));\n wait.add(mainBar.transition(flowTransition).attr('transform', transform));\n wait.add(mainLine.transition(flowTransition).attr('transform', transform));\n wait.add(mainArea.transition(flowTransition).attr('transform', transform));\n wait.add(mainCircle.transition(flowTransition).attr('transform', transform));\n wait.add(mainText.transition(flowTransition).attr('transform', transform));\n wait.add(mainRegion.filter($$.isRegionOnX).transition(flowTransition).attr('transform', transform));\n wait.add(xgrid.transition(flowTransition).attr('transform', transform));\n wait.add(xgridLines.transition(flowTransition).attr('transform', transform));\n wait(function () {\n var i,\n shapes = [],\n texts = []; // remove flowed elements\n\n if (flowLength) {\n for (i = 0; i < flowLength; i++) {\n shapes.push('.' + CLASS.shape + '-' + (flowIndex + i));\n texts.push('.' + CLASS.text + '-' + (flowIndex + i));\n }\n\n $$.svg.selectAll('.' + CLASS.shapes).selectAll(shapes).remove();\n $$.svg.selectAll('.' + CLASS.texts).selectAll(texts).remove();\n $$.svg.select('.' + CLASS.xgrid).remove();\n } // draw again for removing flowed elements and reverting attr\n\n\n xgrid.attr('transform', null).attr('x1', $$.xgridAttr.x1).attr('x2', $$.xgridAttr.x2).attr('y1', $$.xgridAttr.y1).attr('y2', $$.xgridAttr.y2).style(\"opacity\", $$.xgridAttr.opacity);\n xgridLines.attr('transform', null);\n xgridLines.select('line').attr(\"x1\", config.axis_rotated ? 0 : xv).attr(\"x2\", config.axis_rotated ? $$.width : xv);\n xgridLines.select('text').attr(\"x\", config.axis_rotated ? $$.width : 0).attr(\"y\", xv);\n mainBar.attr('transform', null).attr(\"d\", drawBar);\n mainLine.attr('transform', null).attr(\"d\", drawLine);\n mainArea.attr('transform', null).attr(\"d\", drawArea);\n mainCircle.attr('transform', null).attr(\"cx\", cx).attr(\"cy\", cy);\n mainText.attr('transform', null).attr('x', xForText).attr('y', yForText).style('fill-opacity', $$.opacityForText.bind($$));\n mainRegion.attr('transform', null);\n mainRegion.filter($$.isRegionOnX).attr(\"x\", $$.regionX.bind($$)).attr(\"width\", $$.regionWidth.bind($$)); // callback for end of flow\n\n done();\n $$.flowing = false;\n });\n };\n };\n\n Chart.prototype.focus = function (targetIds) {\n var $$ = this.internal,\n candidates;\n targetIds = $$.mapToTargetIds(targetIds);\n candidates = $$.svg.selectAll($$.selectorTargets(targetIds.filter($$.isTargetToShow, $$))), this.revert();\n this.defocus();\n candidates.classed(CLASS.focused, true).classed(CLASS.defocused, false);\n\n if ($$.hasArcType()) {\n $$.expandArc(targetIds);\n }\n\n $$.toggleFocusLegend(targetIds, true);\n $$.focusedTargetIds = targetIds;\n $$.defocusedTargetIds = $$.defocusedTargetIds.filter(function (id) {\n return targetIds.indexOf(id) < 0;\n });\n };\n\n Chart.prototype.defocus = function (targetIds) {\n var $$ = this.internal,\n candidates;\n targetIds = $$.mapToTargetIds(targetIds);\n candidates = $$.svg.selectAll($$.selectorTargets(targetIds.filter($$.isTargetToShow, $$))), candidates.classed(CLASS.focused, false).classed(CLASS.defocused, true);\n\n if ($$.hasArcType()) {\n $$.unexpandArc(targetIds);\n }\n\n $$.toggleFocusLegend(targetIds, false);\n $$.focusedTargetIds = $$.focusedTargetIds.filter(function (id) {\n return targetIds.indexOf(id) < 0;\n });\n $$.defocusedTargetIds = targetIds;\n };\n\n Chart.prototype.revert = function (targetIds) {\n var $$ = this.internal,\n candidates;\n targetIds = $$.mapToTargetIds(targetIds);\n candidates = $$.svg.selectAll($$.selectorTargets(targetIds)); // should be for all targets\n\n candidates.classed(CLASS.focused, false).classed(CLASS.defocused, false);\n\n if ($$.hasArcType()) {\n $$.unexpandArc(targetIds);\n }\n\n if ($$.config.legend_show) {\n $$.showLegend(targetIds.filter($$.isLegendToShow.bind($$)));\n $$.legend.selectAll($$.selectorLegends(targetIds)).filter(function () {\n return $$.d3.select(this).classed(CLASS.legendItemFocused);\n }).classed(CLASS.legendItemFocused, false);\n }\n\n $$.focusedTargetIds = [];\n $$.defocusedTargetIds = [];\n };\n\n Chart.prototype.xgrids = function (grids) {\n var $$ = this.internal,\n config = $$.config;\n\n if (!grids) {\n return config.grid_x_lines;\n }\n\n config.grid_x_lines = grids;\n $$.redrawWithoutRescale();\n return config.grid_x_lines;\n };\n\n Chart.prototype.xgrids.add = function (grids) {\n var $$ = this.internal;\n return this.xgrids($$.config.grid_x_lines.concat(grids ? grids : []));\n };\n\n Chart.prototype.xgrids.remove = function (params) {\n // TODO: multiple\n var $$ = this.internal;\n $$.removeGridLines(params, true);\n };\n\n Chart.prototype.ygrids = function (grids) {\n var $$ = this.internal,\n config = $$.config;\n\n if (!grids) {\n return config.grid_y_lines;\n }\n\n config.grid_y_lines = grids;\n $$.redrawWithoutRescale();\n return config.grid_y_lines;\n };\n\n Chart.prototype.ygrids.add = function (grids) {\n var $$ = this.internal;\n return this.ygrids($$.config.grid_y_lines.concat(grids ? grids : []));\n };\n\n Chart.prototype.ygrids.remove = function (params) {\n // TODO: multiple\n var $$ = this.internal;\n $$.removeGridLines(params, false);\n };\n\n Chart.prototype.groups = function (groups) {\n var $$ = this.internal,\n config = $$.config;\n\n if (isUndefined(groups)) {\n return config.data_groups;\n }\n\n config.data_groups = groups;\n $$.redraw();\n return config.data_groups;\n };\n\n Chart.prototype.legend = function () {};\n\n Chart.prototype.legend.show = function (targetIds) {\n var $$ = this.internal;\n $$.showLegend($$.mapToTargetIds(targetIds));\n $$.updateAndRedraw({\n withLegend: true\n });\n };\n\n Chart.prototype.legend.hide = function (targetIds) {\n var $$ = this.internal;\n $$.hideLegend($$.mapToTargetIds(targetIds));\n $$.updateAndRedraw({\n withLegend: false\n });\n };\n\n Chart.prototype.load = function (args) {\n var $$ = this.internal,\n config = $$.config; // update xs if specified\n\n if (args.xs) {\n $$.addXs(args.xs);\n } // update names if exists\n\n\n if ('names' in args) {\n Chart.prototype.data.names.bind(this)(args.names);\n } // update classes if exists\n\n\n if ('classes' in args) {\n Object.keys(args.classes).forEach(function (id) {\n config.data_classes[id] = args.classes[id];\n });\n } // update categories if exists\n\n\n if ('categories' in args && $$.isCategorized()) {\n config.axis_x_categories = args.categories;\n } // update axes if exists\n\n\n if ('axes' in args) {\n Object.keys(args.axes).forEach(function (id) {\n config.data_axes[id] = args.axes[id];\n });\n } // update colors if exists\n\n\n if ('colors' in args) {\n Object.keys(args.colors).forEach(function (id) {\n config.data_colors[id] = args.colors[id];\n });\n } // use cache if exists\n\n\n if ('cacheIds' in args && $$.hasCaches(args.cacheIds)) {\n $$.load($$.getCaches(args.cacheIds), args.done);\n return;\n } // unload if needed\n\n\n if ('unload' in args) {\n // TODO: do not unload if target will load (included in url/rows/columns)\n $$.unload($$.mapToTargetIds(typeof args.unload === 'boolean' && args.unload ? null : args.unload), function () {\n $$.loadFromArgs(args);\n });\n } else {\n $$.loadFromArgs(args);\n }\n };\n\n Chart.prototype.unload = function (args) {\n var $$ = this.internal;\n args = args || {};\n\n if (args instanceof Array) {\n args = {\n ids: args\n };\n } else if (typeof args === 'string') {\n args = {\n ids: [args]\n };\n }\n\n $$.unload($$.mapToTargetIds(args.ids), function () {\n $$.redraw({\n withUpdateOrgXDomain: true,\n withUpdateXDomain: true,\n withLegend: true\n });\n\n if (args.done) {\n args.done();\n }\n });\n };\n\n Chart.prototype.regions = function (regions) {\n var $$ = this.internal,\n config = $$.config;\n\n if (!regions) {\n return config.regions;\n }\n\n config.regions = regions;\n $$.redrawWithoutRescale();\n return config.regions;\n };\n\n Chart.prototype.regions.add = function (regions) {\n var $$ = this.internal,\n config = $$.config;\n\n if (!regions) {\n return config.regions;\n }\n\n config.regions = config.regions.concat(regions);\n $$.redrawWithoutRescale();\n return config.regions;\n };\n\n Chart.prototype.regions.remove = function (options) {\n var $$ = this.internal,\n config = $$.config,\n duration,\n classes,\n regions;\n options = options || {};\n duration = getOption(options, \"duration\", config.transition_duration);\n classes = getOption(options, \"classes\", [CLASS.region]);\n regions = $$.main.select('.' + CLASS.regions).selectAll(classes.map(function (c) {\n return '.' + c;\n }));\n (duration ? regions.transition().duration(duration) : regions).style('opacity', 0).remove();\n config.regions = config.regions.filter(function (region) {\n var found = false;\n\n if (!region['class']) {\n return true;\n }\n\n region['class'].split(' ').forEach(function (c) {\n if (classes.indexOf(c) >= 0) {\n found = true;\n }\n });\n return !found;\n });\n return config.regions;\n };\n\n Chart.prototype.selected = function (targetId) {\n var $$ = this.internal,\n d3 = $$.d3;\n return d3.merge($$.main.selectAll('.' + CLASS.shapes + $$.getTargetSelectorSuffix(targetId)).selectAll('.' + CLASS.shape).filter(function () {\n return d3.select(this).classed(CLASS.SELECTED);\n }).map(function (d) {\n return d.map(function (d) {\n var data = d.__data__;\n return data.data ? data.data : data;\n });\n }));\n };\n\n Chart.prototype.select = function (ids, indices, resetOther) {\n var $$ = this.internal,\n d3 = $$.d3,\n config = $$.config;\n\n if (!config.data_selection_enabled) {\n return;\n }\n\n $$.main.selectAll('.' + CLASS.shapes).selectAll('.' + CLASS.shape).each(function (d, i) {\n var shape = d3.select(this),\n id = d.data ? d.data.id : d.id,\n toggle = $$.getToggle(this, d).bind($$),\n isTargetId = config.data_selection_grouped || !ids || ids.indexOf(id) >= 0,\n isTargetIndex = !indices || indices.indexOf(i) >= 0,\n isSelected = shape.classed(CLASS.SELECTED); // line/area selection not supported yet\n\n if (shape.classed(CLASS.line) || shape.classed(CLASS.area)) {\n return;\n }\n\n if (isTargetId && isTargetIndex) {\n if (config.data_selection_isselectable(d) && !isSelected) {\n toggle(true, shape.classed(CLASS.SELECTED, true), d, i);\n }\n } else if (isDefined(resetOther) && resetOther) {\n if (isSelected) {\n toggle(false, shape.classed(CLASS.SELECTED, false), d, i);\n }\n }\n });\n };\n\n Chart.prototype.unselect = function (ids, indices) {\n var $$ = this.internal,\n d3 = $$.d3,\n config = $$.config;\n\n if (!config.data_selection_enabled) {\n return;\n }\n\n $$.main.selectAll('.' + CLASS.shapes).selectAll('.' + CLASS.shape).each(function (d, i) {\n var shape = d3.select(this),\n id = d.data ? d.data.id : d.id,\n toggle = $$.getToggle(this, d).bind($$),\n isTargetId = config.data_selection_grouped || !ids || ids.indexOf(id) >= 0,\n isTargetIndex = !indices || indices.indexOf(i) >= 0,\n isSelected = shape.classed(CLASS.SELECTED); // line/area selection not supported yet\n\n if (shape.classed(CLASS.line) || shape.classed(CLASS.area)) {\n return;\n }\n\n if (isTargetId && isTargetIndex) {\n if (config.data_selection_isselectable(d)) {\n if (isSelected) {\n toggle(false, shape.classed(CLASS.SELECTED, false), d, i);\n }\n }\n }\n });\n };\n\n Chart.prototype.show = function (targetIds, options) {\n var $$ = this.internal,\n targets;\n targetIds = $$.mapToTargetIds(targetIds);\n options = options || {};\n $$.removeHiddenTargetIds(targetIds);\n targets = $$.svg.selectAll($$.selectorTargets(targetIds));\n targets.transition().style('display', 'initial', 'important').style('opacity', 1, 'important').call($$.endall, function () {\n targets.style('opacity', null).style('opacity', 1);\n });\n\n if (options.withLegend) {\n $$.showLegend(targetIds);\n }\n\n $$.redraw({\n withUpdateOrgXDomain: true,\n withUpdateXDomain: true,\n withLegend: true\n });\n };\n\n Chart.prototype.hide = function (targetIds, options) {\n var $$ = this.internal,\n targets;\n targetIds = $$.mapToTargetIds(targetIds);\n options = options || {};\n $$.addHiddenTargetIds(targetIds);\n targets = $$.svg.selectAll($$.selectorTargets(targetIds));\n targets.transition().style('opacity', 0, 'important').call($$.endall, function () {\n targets.style('opacity', null).style('opacity', 0);\n targets.style('display', 'none');\n });\n\n if (options.withLegend) {\n $$.hideLegend(targetIds);\n }\n\n $$.redraw({\n withUpdateOrgXDomain: true,\n withUpdateXDomain: true,\n withLegend: true\n });\n };\n\n Chart.prototype.toggle = function (targetIds, options) {\n var that = this,\n $$ = this.internal;\n $$.mapToTargetIds(targetIds).forEach(function (targetId) {\n $$.isTargetToShow(targetId) ? that.hide(targetId, options) : that.show(targetId, options);\n });\n };\n\n Chart.prototype.tooltip = function () {};\n\n Chart.prototype.tooltip.show = function (args) {\n var $$ = this.internal,\n targets,\n data,\n mouse = {}; // determine mouse position on the chart\n\n if (args.mouse) {\n mouse = args.mouse;\n } else {\n // determine focus data\n if (args.data) {\n data = args.data;\n } else if (typeof args.x !== 'undefined') {\n if (args.id) {\n targets = $$.data.targets.filter(function (t) {\n return t.id === args.id;\n });\n } else {\n targets = $$.data.targets;\n }\n\n data = $$.filterByX(targets, args.x).slice(0, 1)[0];\n }\n\n mouse = data ? $$.getMousePosition(data) : null;\n } // emulate mouse events to show\n\n\n $$.dispatchEvent('mousemove', mouse);\n $$.config.tooltip_onshow.call($$, data);\n };\n\n Chart.prototype.tooltip.hide = function () {\n // TODO: get target data by checking the state of focus\n this.internal.dispatchEvent('mouseout', 0);\n this.internal.config.tooltip_onhide.call(this);\n };\n\n Chart.prototype.transform = function (type, targetIds) {\n var $$ = this.internal,\n options = ['pie', 'donut'].indexOf(type) >= 0 ? {\n withTransform: true\n } : null;\n $$.transformTo(targetIds, type, options);\n };\n\n ChartInternal.prototype.transformTo = function (targetIds, type, optionsForRedraw) {\n var $$ = this,\n withTransitionForAxis = !$$.hasArcType(),\n options = optionsForRedraw || {\n withTransitionForAxis: withTransitionForAxis\n };\n options.withTransitionForTransform = false;\n $$.transiting = false;\n $$.setTargetType(targetIds, type);\n $$.updateTargets($$.data.targets); // this is needed when transforming to arc\n\n $$.updateAndRedraw(options);\n };\n\n Chart.prototype.x = function (x) {\n var $$ = this.internal;\n\n if (arguments.length) {\n $$.updateTargetX($$.data.targets, x);\n $$.redraw({\n withUpdateOrgXDomain: true,\n withUpdateXDomain: true\n });\n }\n\n return $$.data.xs;\n };\n\n Chart.prototype.xs = function (xs) {\n var $$ = this.internal;\n\n if (arguments.length) {\n $$.updateTargetXs($$.data.targets, xs);\n $$.redraw({\n withUpdateOrgXDomain: true,\n withUpdateXDomain: true\n });\n }\n\n return $$.data.xs;\n };\n\n Chart.prototype.zoom = function (domain) {\n var $$ = this.internal;\n\n if (domain) {\n if ($$.isTimeSeries()) {\n domain = domain.map(function (x) {\n return $$.parseDate(x);\n });\n }\n\n if ($$.config.subchart_show) {\n $$.brush.selectionAsValue(domain, true);\n } else {\n $$.updateXDomain(null, true, false, false, domain);\n $$.redraw({\n withY: $$.config.zoom_rescale,\n withSubchart: false\n });\n }\n\n $$.config.zoom_onzoom.call(this, $$.x.orgDomain());\n return domain;\n } else {\n return $$.x.domain();\n }\n };\n\n Chart.prototype.zoom.enable = function (enabled) {\n var $$ = this.internal;\n $$.config.zoom_enabled = enabled;\n $$.updateAndRedraw();\n };\n\n Chart.prototype.unzoom = function () {\n var $$ = this.internal;\n\n if ($$.config.subchart_show) {\n $$.brush.clear();\n } else {\n $$.updateXDomain(null, true, false, false, $$.subX.domain());\n $$.redraw({\n withY: $$.config.zoom_rescale,\n withSubchart: false\n });\n }\n };\n\n Chart.prototype.zoom.max = function (max) {\n var $$ = this.internal,\n config = $$.config,\n d3 = $$.d3;\n\n if (max === 0 || max) {\n config.zoom_x_max = d3.max([$$.orgXDomain[1], max]);\n } else {\n return config.zoom_x_max;\n }\n };\n\n Chart.prototype.zoom.min = function (min) {\n var $$ = this.internal,\n config = $$.config,\n d3 = $$.d3;\n\n if (min === 0 || min) {\n config.zoom_x_min = d3.min([$$.orgXDomain[0], min]);\n } else {\n return config.zoom_x_min;\n }\n };\n\n Chart.prototype.zoom.range = function (range) {\n if (arguments.length) {\n if (isDefined(range.max)) {\n this.domain.max(range.max);\n }\n\n if (isDefined(range.min)) {\n this.domain.min(range.min);\n }\n } else {\n return {\n max: this.domain.max(),\n min: this.domain.min()\n };\n }\n };\n\n ChartInternal.prototype.initPie = function () {\n var $$ = this,\n d3 = $$.d3;\n $$.pie = d3.pie().value(function (d) {\n return d.values.reduce(function (a, b) {\n return a + b.value;\n }, 0);\n });\n var orderFct = $$.getOrderFunction(); // we need to reverse the returned order if asc or desc to have the slice in expected order.\n\n if (orderFct && ($$.isOrderAsc() || $$.isOrderDesc())) {\n var defaultSort = orderFct;\n\n orderFct = function orderFct(t1, t2) {\n return defaultSort(t1, t2) * -1;\n };\n }\n\n $$.pie.sort(orderFct || null);\n };\n\n ChartInternal.prototype.updateRadius = function () {\n var $$ = this,\n config = $$.config,\n w = config.gauge_width || config.donut_width,\n gaugeArcWidth = $$.filterTargetsToShow($$.data.targets).length * $$.config.gauge_arcs_minWidth;\n $$.radiusExpanded = Math.min($$.arcWidth, $$.arcHeight) / 2 * ($$.hasType('gauge') ? 0.85 : 1);\n $$.radius = $$.radiusExpanded * 0.95;\n $$.innerRadiusRatio = w ? ($$.radius - w) / $$.radius : 0.6;\n $$.innerRadius = $$.hasType('donut') || $$.hasType('gauge') ? $$.radius * $$.innerRadiusRatio : 0;\n $$.gaugeArcWidth = w ? w : gaugeArcWidth <= $$.radius - $$.innerRadius ? $$.radius - $$.innerRadius : gaugeArcWidth <= $$.radius ? gaugeArcWidth : $$.radius;\n };\n\n ChartInternal.prototype.updateArc = function () {\n var $$ = this;\n $$.svgArc = $$.getSvgArc();\n $$.svgArcExpanded = $$.getSvgArcExpanded();\n $$.svgArcExpandedSub = $$.getSvgArcExpanded(0.98);\n };\n\n ChartInternal.prototype.updateAngle = function (d) {\n var $$ = this,\n config = $$.config,\n found = false,\n index = 0,\n gMin,\n gMax,\n gTic,\n gValue;\n\n if (!config) {\n return null;\n }\n\n $$.pie($$.filterTargetsToShow($$.data.targets)).forEach(function (t) {\n if (!found && t.data.id === d.data.id) {\n found = true;\n d = t;\n d.index = index;\n }\n\n index++;\n });\n\n if (isNaN(d.startAngle)) {\n d.startAngle = 0;\n }\n\n if (isNaN(d.endAngle)) {\n d.endAngle = d.startAngle;\n }\n\n if ($$.isGaugeType(d.data)) {\n gMin = config.gauge_min;\n gMax = config.gauge_max;\n gTic = Math.PI * (config.gauge_fullCircle ? 2 : 1) / (gMax - gMin);\n gValue = d.value < gMin ? 0 : d.value < gMax ? d.value - gMin : gMax - gMin;\n d.startAngle = config.gauge_startingAngle;\n d.endAngle = d.startAngle + gTic * gValue;\n }\n\n return found ? d : null;\n };\n\n ChartInternal.prototype.getSvgArc = function () {\n var $$ = this,\n hasGaugeType = $$.hasType('gauge'),\n singleArcWidth = $$.gaugeArcWidth / $$.filterTargetsToShow($$.data.targets).length,\n arc = $$.d3.arc().outerRadius(function (d) {\n return hasGaugeType ? $$.radius - singleArcWidth * d.index : $$.radius;\n }).innerRadius(function (d) {\n return hasGaugeType ? $$.radius - singleArcWidth * (d.index + 1) : $$.innerRadius;\n }),\n newArc = function newArc(d, withoutUpdate) {\n var updated;\n\n if (withoutUpdate) {\n return arc(d);\n } // for interpolate\n\n\n updated = $$.updateAngle(d);\n return updated ? arc(updated) : \"M 0 0\";\n }; // TODO: extends all function\n\n\n newArc.centroid = arc.centroid;\n return newArc;\n };\n\n ChartInternal.prototype.getSvgArcExpanded = function (rate) {\n rate = rate || 1;\n var $$ = this,\n hasGaugeType = $$.hasType('gauge'),\n singleArcWidth = $$.gaugeArcWidth / $$.filterTargetsToShow($$.data.targets).length,\n expandWidth = Math.min($$.radiusExpanded * rate - $$.radius, singleArcWidth * 0.8 - (1 - rate) * 100),\n arc = $$.d3.arc().outerRadius(function (d) {\n return hasGaugeType ? $$.radius - singleArcWidth * d.index + expandWidth : $$.radiusExpanded * rate;\n }).innerRadius(function (d) {\n return hasGaugeType ? $$.radius - singleArcWidth * (d.index + 1) : $$.innerRadius;\n });\n return function (d) {\n var updated = $$.updateAngle(d);\n return updated ? arc(updated) : \"M 0 0\";\n };\n };\n\n ChartInternal.prototype.getArc = function (d, withoutUpdate, force) {\n return force || this.isArcType(d.data) ? this.svgArc(d, withoutUpdate) : \"M 0 0\";\n };\n\n ChartInternal.prototype.transformForArcLabel = function (d) {\n var $$ = this,\n config = $$.config,\n updated = $$.updateAngle(d),\n c,\n x,\n y,\n h,\n ratio,\n translate = \"\",\n hasGauge = $$.hasType('gauge');\n\n if (updated && !hasGauge) {\n c = this.svgArc.centroid(updated);\n x = isNaN(c[0]) ? 0 : c[0];\n y = isNaN(c[1]) ? 0 : c[1];\n h = Math.sqrt(x * x + y * y);\n\n if ($$.hasType('donut') && config.donut_label_ratio) {\n ratio = isFunction(config.donut_label_ratio) ? config.donut_label_ratio(d, $$.radius, h) : config.donut_label_ratio;\n } else if ($$.hasType('pie') && config.pie_label_ratio) {\n ratio = isFunction(config.pie_label_ratio) ? config.pie_label_ratio(d, $$.radius, h) : config.pie_label_ratio;\n } else {\n ratio = $$.radius && h ? (36 / $$.radius > 0.375 ? 1.175 - 36 / $$.radius : 0.8) * $$.radius / h : 0;\n }\n\n translate = \"translate(\" + x * ratio + ',' + y * ratio + \")\";\n } else if (updated && hasGauge && $$.filterTargetsToShow($$.data.targets).length > 1) {\n var y1 = Math.sin(updated.endAngle - Math.PI / 2);\n x = Math.cos(updated.endAngle - Math.PI / 2) * ($$.radiusExpanded + 25);\n y = y1 * ($$.radiusExpanded + 15 - Math.abs(y1 * 10)) + 3;\n translate = \"translate(\" + x + ',' + y + \")\";\n }\n\n return translate;\n };\n\n ChartInternal.prototype.getArcRatio = function (d) {\n var $$ = this,\n config = $$.config,\n whole = Math.PI * ($$.hasType('gauge') && !config.gauge_fullCircle ? 1 : 2);\n return d ? (d.endAngle - d.startAngle) / whole : null;\n };\n\n ChartInternal.prototype.convertToArcData = function (d) {\n return this.addName({\n id: d.data.id,\n value: d.value,\n ratio: this.getArcRatio(d),\n index: d.index\n });\n };\n\n ChartInternal.prototype.textForArcLabel = function (d) {\n var $$ = this,\n updated,\n value,\n ratio,\n id,\n format;\n\n if (!$$.shouldShowArcLabel()) {\n return \"\";\n }\n\n updated = $$.updateAngle(d);\n value = updated ? updated.value : null;\n ratio = $$.getArcRatio(updated);\n id = d.data.id;\n\n if (!$$.hasType('gauge') && !$$.meetsArcLabelThreshold(ratio)) {\n return \"\";\n }\n\n format = $$.getArcLabelFormat();\n return format ? format(value, ratio, id) : $$.defaultArcValueFormat(value, ratio);\n };\n\n ChartInternal.prototype.textForGaugeMinMax = function (value, isMax) {\n var $$ = this,\n format = $$.getGaugeLabelExtents();\n return format ? format(value, isMax) : value;\n };\n\n ChartInternal.prototype.expandArc = function (targetIds) {\n var $$ = this,\n interval; // MEMO: avoid to cancel transition\n\n if ($$.transiting) {\n interval = window.setInterval(function () {\n if (!$$.transiting) {\n window.clearInterval(interval);\n\n if ($$.legend.selectAll('.c3-legend-item-focused').size() > 0) {\n $$.expandArc(targetIds);\n }\n }\n }, 10);\n return;\n }\n\n targetIds = $$.mapToTargetIds(targetIds);\n $$.svg.selectAll($$.selectorTargets(targetIds, '.' + CLASS.chartArc)).each(function (d) {\n if (!$$.shouldExpand(d.data.id)) {\n return;\n }\n\n $$.d3.select(this).selectAll('path').transition().duration($$.expandDuration(d.data.id)).attr(\"d\", $$.svgArcExpanded).transition().duration($$.expandDuration(d.data.id) * 2).attr(\"d\", $$.svgArcExpandedSub).each(function (d) {\n if ($$.isDonutType(d.data)) ;\n });\n });\n };\n\n ChartInternal.prototype.unexpandArc = function (targetIds) {\n var $$ = this;\n\n if ($$.transiting) {\n return;\n }\n\n targetIds = $$.mapToTargetIds(targetIds);\n $$.svg.selectAll($$.selectorTargets(targetIds, '.' + CLASS.chartArc)).selectAll('path').transition().duration(function (d) {\n return $$.expandDuration(d.data.id);\n }).attr(\"d\", $$.svgArc);\n $$.svg.selectAll('.' + CLASS.arc);\n };\n\n ChartInternal.prototype.expandDuration = function (id) {\n var $$ = this,\n config = $$.config;\n\n if ($$.isDonutType(id)) {\n return config.donut_expand_duration;\n } else if ($$.isGaugeType(id)) {\n return config.gauge_expand_duration;\n } else if ($$.isPieType(id)) {\n return config.pie_expand_duration;\n } else {\n return 50;\n }\n };\n\n ChartInternal.prototype.shouldExpand = function (id) {\n var $$ = this,\n config = $$.config;\n return $$.isDonutType(id) && config.donut_expand || $$.isGaugeType(id) && config.gauge_expand || $$.isPieType(id) && config.pie_expand;\n };\n\n ChartInternal.prototype.shouldShowArcLabel = function () {\n var $$ = this,\n config = $$.config,\n shouldShow = true;\n\n if ($$.hasType('donut')) {\n shouldShow = config.donut_label_show;\n } else if ($$.hasType('pie')) {\n shouldShow = config.pie_label_show;\n } // when gauge, always true\n\n\n return shouldShow;\n };\n\n ChartInternal.prototype.meetsArcLabelThreshold = function (ratio) {\n var $$ = this,\n config = $$.config,\n threshold = $$.hasType('donut') ? config.donut_label_threshold : config.pie_label_threshold;\n return ratio >= threshold;\n };\n\n ChartInternal.prototype.getArcLabelFormat = function () {\n var $$ = this,\n config = $$.config,\n format = config.pie_label_format;\n\n if ($$.hasType('gauge')) {\n format = config.gauge_label_format;\n } else if ($$.hasType('donut')) {\n format = config.donut_label_format;\n }\n\n return format;\n };\n\n ChartInternal.prototype.getGaugeLabelExtents = function () {\n var $$ = this,\n config = $$.config;\n return config.gauge_label_extents;\n };\n\n ChartInternal.prototype.getArcTitle = function () {\n var $$ = this;\n return $$.hasType('donut') ? $$.config.donut_title : \"\";\n };\n\n ChartInternal.prototype.updateTargetsForArc = function (targets) {\n var $$ = this,\n main = $$.main,\n mainPies,\n mainPieEnter,\n classChartArc = $$.classChartArc.bind($$),\n classArcs = $$.classArcs.bind($$),\n classFocus = $$.classFocus.bind($$);\n mainPies = main.select('.' + CLASS.chartArcs).selectAll('.' + CLASS.chartArc).data($$.pie(targets)).attr(\"class\", function (d) {\n return classChartArc(d) + classFocus(d.data);\n });\n mainPieEnter = mainPies.enter().append(\"g\").attr(\"class\", classChartArc);\n mainPieEnter.append('g').attr('class', classArcs);\n mainPieEnter.append(\"text\").attr(\"dy\", $$.hasType('gauge') ? \"-.1em\" : \".35em\").style(\"opacity\", 0).style(\"text-anchor\", \"middle\").style(\"pointer-events\", \"none\"); // MEMO: can not keep same color..., but not bad to update color in redraw\n //mainPieUpdate.exit().remove();\n };\n\n ChartInternal.prototype.initArc = function () {\n var $$ = this;\n $$.arcs = $$.main.select('.' + CLASS.chart).append(\"g\").attr(\"class\", CLASS.chartArcs).attr(\"transform\", $$.getTranslate('arc'));\n $$.arcs.append('text').attr('class', CLASS.chartArcsTitle).style(\"text-anchor\", \"middle\").text($$.getArcTitle());\n };\n\n ChartInternal.prototype.redrawArc = function (duration, durationForExit, withTransform) {\n var $$ = this,\n d3 = $$.d3,\n config = $$.config,\n main = $$.main,\n arcs,\n mainArc,\n arcLabelLines,\n mainArcLabelLine,\n hasGaugeType = $$.hasType('gauge');\n arcs = main.selectAll('.' + CLASS.arcs).selectAll('.' + CLASS.arc).data($$.arcData.bind($$));\n mainArc = arcs.enter().append('path').attr(\"class\", $$.classArc.bind($$)).style(\"fill\", function (d) {\n return $$.color(d.data);\n }).style(\"cursor\", function (d) {\n return config.interaction_enabled && config.data_selection_isselectable(d) ? \"pointer\" : null;\n }).each(function (d) {\n if ($$.isGaugeType(d.data)) {\n d.startAngle = d.endAngle = config.gauge_startingAngle;\n }\n\n this._current = d;\n }).merge(arcs);\n\n if (hasGaugeType) {\n arcLabelLines = main.selectAll('.' + CLASS.arcs).selectAll('.' + CLASS.arcLabelLine).data($$.arcData.bind($$));\n mainArcLabelLine = arcLabelLines.enter().append('rect').attr(\"class\", function (d) {\n return CLASS.arcLabelLine + ' ' + CLASS.target + ' ' + CLASS.target + '-' + d.data.id;\n }).merge(arcLabelLines);\n\n if ($$.filterTargetsToShow($$.data.targets).length === 1) {\n mainArcLabelLine.style(\"display\", \"none\");\n } else {\n mainArcLabelLine.style(\"fill\", function (d) {\n return $$.levelColor ? $$.levelColor(d.data.values[0].value) : $$.color(d.data);\n }).style(\"display\", config.gauge_labelLine_show ? \"\" : \"none\").each(function (d) {\n var lineLength = 0,\n lineThickness = 2,\n x = 0,\n y = 0,\n transform = \"\";\n\n if ($$.hiddenTargetIds.indexOf(d.data.id) < 0) {\n var updated = $$.updateAngle(d),\n innerLineLength = $$.gaugeArcWidth / $$.filterTargetsToShow($$.data.targets).length * (updated.index + 1),\n lineAngle = updated.endAngle - Math.PI / 2,\n arcInnerRadius = $$.radius - innerLineLength,\n linePositioningAngle = lineAngle - (arcInnerRadius === 0 ? 0 : 1 / arcInnerRadius);\n lineLength = $$.radiusExpanded - $$.radius + innerLineLength;\n x = Math.cos(linePositioningAngle) * arcInnerRadius;\n y = Math.sin(linePositioningAngle) * arcInnerRadius;\n transform = \"rotate(\" + lineAngle * 180 / Math.PI + \", \" + x + \", \" + y + \")\";\n }\n\n d3.select(this).attr('x', x).attr('y', y).attr('width', lineLength).attr('height', lineThickness).attr('transform', transform).style(\"stroke-dasharray\", \"0, \" + (lineLength + lineThickness) + \", 0\");\n });\n }\n }\n\n mainArc.attr(\"transform\", function (d) {\n return !$$.isGaugeType(d.data) && withTransform ? \"scale(0)\" : \"\";\n }).on('mouseover', config.interaction_enabled ? function (d) {\n var updated, arcData;\n\n if ($$.transiting) {\n // skip while transiting\n return;\n }\n\n updated = $$.updateAngle(d);\n\n if (updated) {\n arcData = $$.convertToArcData(updated); // transitions\n\n $$.expandArc(updated.data.id);\n $$.api.focus(updated.data.id);\n $$.toggleFocusLegend(updated.data.id, true);\n $$.config.data_onmouseover(arcData, this);\n }\n } : null).on('mousemove', config.interaction_enabled ? function (d) {\n var updated = $$.updateAngle(d),\n arcData,\n selectedData;\n\n if (updated) {\n arcData = $$.convertToArcData(updated), selectedData = [arcData];\n $$.showTooltip(selectedData, this);\n }\n } : null).on('mouseout', config.interaction_enabled ? function (d) {\n var updated, arcData;\n\n if ($$.transiting) {\n // skip while transiting\n return;\n }\n\n updated = $$.updateAngle(d);\n\n if (updated) {\n arcData = $$.convertToArcData(updated); // transitions\n\n $$.unexpandArc(updated.data.id);\n $$.api.revert();\n $$.revertLegend();\n $$.hideTooltip();\n $$.config.data_onmouseout(arcData, this);\n }\n } : null).on('click', config.interaction_enabled ? function (d, i) {\n var updated = $$.updateAngle(d),\n arcData;\n\n if (updated) {\n arcData = $$.convertToArcData(updated);\n\n if ($$.toggleShape) {\n $$.toggleShape(this, arcData, i);\n }\n\n $$.config.data_onclick.call($$.api, arcData, this);\n }\n } : null).each(function () {\n $$.transiting = true;\n }).transition().duration(duration).attrTween(\"d\", function (d) {\n var updated = $$.updateAngle(d),\n interpolate;\n\n if (!updated) {\n return function () {\n return \"M 0 0\";\n };\n } // if (this._current === d) {\n // this._current = {\n // startAngle: Math.PI*2,\n // endAngle: Math.PI*2,\n // };\n // }\n\n\n if (isNaN(this._current.startAngle)) {\n this._current.startAngle = 0;\n }\n\n if (isNaN(this._current.endAngle)) {\n this._current.endAngle = this._current.startAngle;\n }\n\n interpolate = d3.interpolate(this._current, updated);\n this._current = interpolate(0);\n return function (t) {\n var interpolated = interpolate(t);\n interpolated.data = d.data; // data.id will be updated by interporator\n\n return $$.getArc(interpolated, true);\n };\n }).attr(\"transform\", withTransform ? \"scale(1)\" : \"\").style(\"fill\", function (d) {\n return $$.levelColor ? $$.levelColor(d.data.values[0].value) : $$.color(d.data.id);\n }) // Where gauge reading color would receive customization.\n .call($$.endall, function () {\n $$.transiting = false;\n });\n arcs.exit().transition().duration(durationForExit).style('opacity', 0).remove();\n main.selectAll('.' + CLASS.chartArc).select('text').style(\"opacity\", 0).attr('class', function (d) {\n return $$.isGaugeType(d.data) ? CLASS.gaugeValue : '';\n }).text($$.textForArcLabel.bind($$)).attr(\"transform\", $$.transformForArcLabel.bind($$)).style('font-size', function (d) {\n return $$.isGaugeType(d.data) && $$.filterTargetsToShow($$.data.targets).length === 1 ? Math.round($$.radius / 5) + 'px' : '';\n }).transition().duration(duration).style(\"opacity\", function (d) {\n return $$.isTargetToShow(d.data.id) && $$.isArcType(d.data) ? 1 : 0;\n });\n main.select('.' + CLASS.chartArcsTitle).style(\"opacity\", $$.hasType('donut') || hasGaugeType ? 1 : 0);\n\n if (hasGaugeType) {\n var index = 0;\n var backgroundArc = $$.arcs.select('g.' + CLASS.chartArcsBackground).selectAll('path.' + CLASS.chartArcsBackground).data($$.data.targets);\n backgroundArc.enter().append(\"path\").attr(\"class\", function (d, i) {\n return CLASS.chartArcsBackground + ' ' + CLASS.chartArcsBackground + '-' + i;\n }).merge(backgroundArc).attr(\"d\", function (d1) {\n if ($$.hiddenTargetIds.indexOf(d1.id) >= 0) {\n return \"M 0 0\";\n }\n\n var d = {\n data: [{\n value: config.gauge_max\n }],\n startAngle: config.gauge_startingAngle,\n endAngle: -1 * config.gauge_startingAngle * (config.gauge_fullCircle ? Math.PI : 1),\n index: index++\n };\n return $$.getArc(d, true, true);\n });\n backgroundArc.exit().remove();\n $$.arcs.select('.' + CLASS.chartArcsGaugeUnit).attr(\"dy\", \".75em\").text(config.gauge_label_show ? config.gauge_units : '');\n $$.arcs.select('.' + CLASS.chartArcsGaugeMin).attr(\"dx\", -1 * ($$.innerRadius + ($$.radius - $$.innerRadius) / (config.gauge_fullCircle ? 1 : 2)) + \"px\").attr(\"dy\", \"1.2em\").text(config.gauge_label_show ? $$.textForGaugeMinMax(config.gauge_min, false) : '');\n $$.arcs.select('.' + CLASS.chartArcsGaugeMax).attr(\"dx\", $$.innerRadius + ($$.radius - $$.innerRadius) / (config.gauge_fullCircle ? 1 : 2) + \"px\").attr(\"dy\", \"1.2em\").text(config.gauge_label_show ? $$.textForGaugeMinMax(config.gauge_max, true) : '');\n }\n };\n\n ChartInternal.prototype.initGauge = function () {\n var arcs = this.arcs;\n\n if (this.hasType('gauge')) {\n arcs.append('g').attr(\"class\", CLASS.chartArcsBackground);\n arcs.append(\"text\").attr(\"class\", CLASS.chartArcsGaugeUnit).style(\"text-anchor\", \"middle\").style(\"pointer-events\", \"none\");\n arcs.append(\"text\").attr(\"class\", CLASS.chartArcsGaugeMin).style(\"text-anchor\", \"middle\").style(\"pointer-events\", \"none\");\n arcs.append(\"text\").attr(\"class\", CLASS.chartArcsGaugeMax).style(\"text-anchor\", \"middle\").style(\"pointer-events\", \"none\");\n }\n };\n\n ChartInternal.prototype.getGaugeLabelHeight = function () {\n return this.config.gauge_label_show ? 20 : 0;\n };\n\n ChartInternal.prototype.hasCaches = function (ids) {\n for (var i = 0; i < ids.length; i++) {\n if (!(ids[i] in this.cache)) {\n return false;\n }\n }\n\n return true;\n };\n\n ChartInternal.prototype.addCache = function (id, target) {\n this.cache[id] = this.cloneTarget(target);\n };\n\n ChartInternal.prototype.getCaches = function (ids) {\n var targets = [],\n i;\n\n for (i = 0; i < ids.length; i++) {\n if (ids[i] in this.cache) {\n targets.push(this.cloneTarget(this.cache[ids[i]]));\n }\n }\n\n return targets;\n };\n\n ChartInternal.prototype.categoryName = function (i) {\n var config = this.config;\n return i < config.axis_x_categories.length ? config.axis_x_categories[i] : i;\n };\n\n ChartInternal.prototype.generateTargetClass = function (targetId) {\n return targetId || targetId === 0 ? ('-' + targetId).replace(/\\s/g, '-') : '';\n };\n\n ChartInternal.prototype.generateClass = function (prefix, targetId) {\n return \" \" + prefix + \" \" + prefix + this.generateTargetClass(targetId);\n };\n\n ChartInternal.prototype.classText = function (d) {\n return this.generateClass(CLASS.text, d.index);\n };\n\n ChartInternal.prototype.classTexts = function (d) {\n return this.generateClass(CLASS.texts, d.id);\n };\n\n ChartInternal.prototype.classShape = function (d) {\n return this.generateClass(CLASS.shape, d.index);\n };\n\n ChartInternal.prototype.classShapes = function (d) {\n return this.generateClass(CLASS.shapes, d.id);\n };\n\n ChartInternal.prototype.classLine = function (d) {\n return this.classShape(d) + this.generateClass(CLASS.line, d.id);\n };\n\n ChartInternal.prototype.classLines = function (d) {\n return this.classShapes(d) + this.generateClass(CLASS.lines, d.id);\n };\n\n ChartInternal.prototype.classCircle = function (d) {\n return this.classShape(d) + this.generateClass(CLASS.circle, d.index);\n };\n\n ChartInternal.prototype.classCircles = function (d) {\n return this.classShapes(d) + this.generateClass(CLASS.circles, d.id);\n };\n\n ChartInternal.prototype.classBar = function (d) {\n return this.classShape(d) + this.generateClass(CLASS.bar, d.index);\n };\n\n ChartInternal.prototype.classBars = function (d) {\n return this.classShapes(d) + this.generateClass(CLASS.bars, d.id);\n };\n\n ChartInternal.prototype.classArc = function (d) {\n return this.classShape(d.data) + this.generateClass(CLASS.arc, d.data.id);\n };\n\n ChartInternal.prototype.classArcs = function (d) {\n return this.classShapes(d.data) + this.generateClass(CLASS.arcs, d.data.id);\n };\n\n ChartInternal.prototype.classArea = function (d) {\n return this.classShape(d) + this.generateClass(CLASS.area, d.id);\n };\n\n ChartInternal.prototype.classAreas = function (d) {\n return this.classShapes(d) + this.generateClass(CLASS.areas, d.id);\n };\n\n ChartInternal.prototype.classRegion = function (d, i) {\n return this.generateClass(CLASS.region, i) + ' ' + ('class' in d ? d['class'] : '');\n };\n\n ChartInternal.prototype.classEvent = function (d) {\n return this.generateClass(CLASS.eventRect, d.index);\n };\n\n ChartInternal.prototype.classTarget = function (id) {\n var $$ = this;\n var additionalClassSuffix = $$.config.data_classes[id],\n additionalClass = '';\n\n if (additionalClassSuffix) {\n additionalClass = ' ' + CLASS.target + '-' + additionalClassSuffix;\n }\n\n return $$.generateClass(CLASS.target, id) + additionalClass;\n };\n\n ChartInternal.prototype.classFocus = function (d) {\n return this.classFocused(d) + this.classDefocused(d);\n };\n\n ChartInternal.prototype.classFocused = function (d) {\n return ' ' + (this.focusedTargetIds.indexOf(d.id) >= 0 ? CLASS.focused : '');\n };\n\n ChartInternal.prototype.classDefocused = function (d) {\n return ' ' + (this.defocusedTargetIds.indexOf(d.id) >= 0 ? CLASS.defocused : '');\n };\n\n ChartInternal.prototype.classChartText = function (d) {\n return CLASS.chartText + this.classTarget(d.id);\n };\n\n ChartInternal.prototype.classChartLine = function (d) {\n return CLASS.chartLine + this.classTarget(d.id);\n };\n\n ChartInternal.prototype.classChartBar = function (d) {\n return CLASS.chartBar + this.classTarget(d.id);\n };\n\n ChartInternal.prototype.classChartArc = function (d) {\n return CLASS.chartArc + this.classTarget(d.data.id);\n };\n\n ChartInternal.prototype.getTargetSelectorSuffix = function (targetId) {\n return this.generateTargetClass(targetId).replace(/([?!@#$%^&*()_=+,.<>'\":;\\[\\]\\/|~`{}\\\\])/g, '\\\\$1');\n };\n\n ChartInternal.prototype.selectorTarget = function (id, prefix) {\n return (prefix || '') + '.' + CLASS.target + this.getTargetSelectorSuffix(id);\n };\n\n ChartInternal.prototype.selectorTargets = function (ids, prefix) {\n var $$ = this;\n ids = ids || [];\n return ids.length ? ids.map(function (id) {\n return $$.selectorTarget(id, prefix);\n }) : null;\n };\n\n ChartInternal.prototype.selectorLegend = function (id) {\n return '.' + CLASS.legendItem + this.getTargetSelectorSuffix(id);\n };\n\n ChartInternal.prototype.selectorLegends = function (ids) {\n var $$ = this;\n return ids && ids.length ? ids.map(function (id) {\n return $$.selectorLegend(id);\n }) : null;\n };\n\n ChartInternal.prototype.getClipPath = function (id) {\n var isIE9 = window.navigator.appVersion.toLowerCase().indexOf(\"msie 9.\") >= 0;\n return \"url(\" + (isIE9 ? \"\" : document.URL.split('#')[0]) + \"#\" + id + \")\";\n };\n\n ChartInternal.prototype.appendClip = function (parent, id) {\n return parent.append(\"clipPath\").attr(\"id\", id).append(\"rect\");\n };\n\n ChartInternal.prototype.getAxisClipX = function (forHorizontal) {\n // axis line width + padding for left\n var left = Math.max(30, this.margin.left);\n return forHorizontal ? -(1 + left) : -(left - 1);\n };\n\n ChartInternal.prototype.getAxisClipY = function (forHorizontal) {\n return forHorizontal ? -20 : -this.margin.top;\n };\n\n ChartInternal.prototype.getXAxisClipX = function () {\n var $$ = this;\n return $$.getAxisClipX(!$$.config.axis_rotated);\n };\n\n ChartInternal.prototype.getXAxisClipY = function () {\n var $$ = this;\n return $$.getAxisClipY(!$$.config.axis_rotated);\n };\n\n ChartInternal.prototype.getYAxisClipX = function () {\n var $$ = this;\n return $$.config.axis_y_inner ? -1 : $$.getAxisClipX($$.config.axis_rotated);\n };\n\n ChartInternal.prototype.getYAxisClipY = function () {\n var $$ = this;\n return $$.getAxisClipY($$.config.axis_rotated);\n };\n\n ChartInternal.prototype.getAxisClipWidth = function (forHorizontal) {\n var $$ = this,\n left = Math.max(30, $$.margin.left),\n right = Math.max(30, $$.margin.right); // width + axis line width + padding for left/right\n\n return forHorizontal ? $$.width + 2 + left + right : $$.margin.left + 20;\n };\n\n ChartInternal.prototype.getAxisClipHeight = function (forHorizontal) {\n // less than 20 is not enough to show the axis label 'outer' without legend\n return (forHorizontal ? this.margin.bottom : this.margin.top + this.height) + 20;\n };\n\n ChartInternal.prototype.getXAxisClipWidth = function () {\n var $$ = this;\n return $$.getAxisClipWidth(!$$.config.axis_rotated);\n };\n\n ChartInternal.prototype.getXAxisClipHeight = function () {\n var $$ = this;\n return $$.getAxisClipHeight(!$$.config.axis_rotated);\n };\n\n ChartInternal.prototype.getYAxisClipWidth = function () {\n var $$ = this;\n return $$.getAxisClipWidth($$.config.axis_rotated) + ($$.config.axis_y_inner ? 20 : 0);\n };\n\n ChartInternal.prototype.getYAxisClipHeight = function () {\n var $$ = this;\n return $$.getAxisClipHeight($$.config.axis_rotated);\n };\n\n ChartInternal.prototype.generateColor = function () {\n var $$ = this,\n config = $$.config,\n d3 = $$.d3,\n colors = config.data_colors,\n pattern = notEmpty(config.color_pattern) ? config.color_pattern : d3.schemeCategory10,\n callback = config.data_color,\n ids = [];\n return function (d) {\n var id = d.id || d.data && d.data.id || d,\n color; // if callback function is provided\n\n if (colors[id] instanceof Function) {\n color = colors[id](d);\n } // if specified, choose that color\n else if (colors[id]) {\n color = colors[id];\n } // if not specified, choose from pattern\n else {\n if (ids.indexOf(id) < 0) {\n ids.push(id);\n }\n\n color = pattern[ids.indexOf(id) % pattern.length];\n colors[id] = color;\n }\n\n return callback instanceof Function ? callback(color, d) : color;\n };\n };\n\n ChartInternal.prototype.generateLevelColor = function () {\n var $$ = this,\n config = $$.config,\n colors = config.color_pattern,\n threshold = config.color_threshold,\n asValue = threshold.unit === 'value',\n values = threshold.values && threshold.values.length ? threshold.values : [],\n max = threshold.max || 100;\n return notEmpty(threshold) && notEmpty(colors) ? function (value) {\n var i,\n v,\n color = colors[colors.length - 1];\n\n for (i = 0; i < values.length; i++) {\n v = asValue ? value : value * 100 / max;\n\n if (v < values[i]) {\n color = colors[i];\n break;\n }\n }\n\n return color;\n } : null;\n };\n\n ChartInternal.prototype.getDefaultConfig = function () {\n var config = {\n bindto: '#chart',\n svg_classname: undefined,\n size_width: undefined,\n size_height: undefined,\n padding_left: undefined,\n padding_right: undefined,\n padding_top: undefined,\n padding_bottom: undefined,\n resize_auto: true,\n zoom_enabled: false,\n zoom_initialRange: undefined,\n zoom_type: 'scroll',\n zoom_disableDefaultBehavior: false,\n zoom_privileged: false,\n zoom_rescale: false,\n zoom_onzoom: function zoom_onzoom() {},\n zoom_onzoomstart: function zoom_onzoomstart() {},\n zoom_onzoomend: function zoom_onzoomend() {},\n zoom_x_min: undefined,\n zoom_x_max: undefined,\n interaction_brighten: true,\n interaction_enabled: true,\n onmouseover: function onmouseover() {},\n onmouseout: function onmouseout() {},\n onresize: function onresize() {},\n onresized: function onresized() {},\n oninit: function oninit() {},\n onrendered: function onrendered() {},\n transition_duration: 350,\n data_x: undefined,\n data_xs: {},\n data_xFormat: '%Y-%m-%d',\n data_xLocaltime: true,\n data_xSort: true,\n data_idConverter: function data_idConverter(id) {\n return id;\n },\n data_names: {},\n data_classes: {},\n data_groups: [],\n data_axes: {},\n data_type: undefined,\n data_types: {},\n data_labels: {},\n data_order: 'desc',\n data_regions: {},\n data_color: undefined,\n data_colors: {},\n data_hide: false,\n data_filter: undefined,\n data_selection_enabled: false,\n data_selection_grouped: false,\n data_selection_isselectable: function data_selection_isselectable() {\n return true;\n },\n data_selection_multiple: true,\n data_selection_draggable: false,\n data_onclick: function data_onclick() {},\n data_onmouseover: function data_onmouseover() {},\n data_onmouseout: function data_onmouseout() {},\n data_onselected: function data_onselected() {},\n data_onunselected: function data_onunselected() {},\n data_url: undefined,\n data_headers: undefined,\n data_json: undefined,\n data_rows: undefined,\n data_columns: undefined,\n data_mimeType: undefined,\n data_keys: undefined,\n // configuration for no plot-able data supplied.\n data_empty_label_text: \"\",\n // subchart\n subchart_show: false,\n subchart_size_height: 60,\n subchart_axis_x_show: true,\n subchart_onbrush: function subchart_onbrush() {},\n // color\n color_pattern: [],\n color_threshold: {},\n // legend\n legend_show: true,\n legend_hide: false,\n legend_position: 'bottom',\n legend_inset_anchor: 'top-left',\n legend_inset_x: 10,\n legend_inset_y: 0,\n legend_inset_step: undefined,\n legend_item_onclick: undefined,\n legend_item_onmouseover: undefined,\n legend_item_onmouseout: undefined,\n legend_equally: false,\n legend_padding: 0,\n legend_item_tile_width: 10,\n legend_item_tile_height: 10,\n // axis\n axis_rotated: false,\n axis_x_show: true,\n axis_x_type: 'indexed',\n axis_x_localtime: true,\n axis_x_categories: [],\n axis_x_tick_centered: false,\n axis_x_tick_format: undefined,\n axis_x_tick_culling: {},\n axis_x_tick_culling_max: 10,\n axis_x_tick_count: undefined,\n axis_x_tick_fit: true,\n axis_x_tick_values: null,\n axis_x_tick_rotate: 0,\n axis_x_tick_outer: true,\n axis_x_tick_multiline: true,\n axis_x_tick_multilineMax: 0,\n axis_x_tick_width: null,\n axis_x_max: undefined,\n axis_x_min: undefined,\n axis_x_padding: {},\n axis_x_height: undefined,\n axis_x_selection: undefined,\n axis_x_label: {},\n axis_x_inner: undefined,\n axis_y_show: true,\n axis_y_type: undefined,\n axis_y_max: undefined,\n axis_y_min: undefined,\n axis_y_inverted: false,\n axis_y_center: undefined,\n axis_y_inner: undefined,\n axis_y_label: {},\n axis_y_tick_format: undefined,\n axis_y_tick_outer: true,\n axis_y_tick_values: null,\n axis_y_tick_rotate: 0,\n axis_y_tick_count: undefined,\n axis_y_tick_time_type: undefined,\n axis_y_tick_time_interval: undefined,\n axis_y_padding: {},\n axis_y_default: undefined,\n axis_y2_show: false,\n axis_y2_max: undefined,\n axis_y2_min: undefined,\n axis_y2_inverted: false,\n axis_y2_center: undefined,\n axis_y2_inner: undefined,\n axis_y2_label: {},\n axis_y2_tick_format: undefined,\n axis_y2_tick_outer: true,\n axis_y2_tick_values: null,\n axis_y2_tick_count: undefined,\n axis_y2_padding: {},\n axis_y2_default: undefined,\n // grid\n grid_x_show: false,\n grid_x_type: 'tick',\n grid_x_lines: [],\n grid_y_show: false,\n // not used\n // grid_y_type: 'tick',\n grid_y_lines: [],\n grid_y_ticks: 10,\n grid_focus_show: true,\n grid_lines_front: true,\n // point - point of each data\n point_show: true,\n point_r: 2.5,\n point_sensitivity: 10,\n point_focus_expand_enabled: true,\n point_focus_expand_r: undefined,\n point_select_r: undefined,\n // line\n line_connectNull: false,\n line_step_type: 'step',\n // bar\n bar_width: undefined,\n bar_width_ratio: 0.6,\n bar_width_max: undefined,\n bar_zerobased: true,\n bar_space: 0,\n // area\n area_zerobased: true,\n area_above: false,\n // pie\n pie_label_show: true,\n pie_label_format: undefined,\n pie_label_threshold: 0.05,\n pie_label_ratio: undefined,\n pie_expand: {},\n pie_expand_duration: 50,\n // gauge\n gauge_fullCircle: false,\n gauge_label_show: true,\n gauge_labelLine_show: true,\n gauge_label_format: undefined,\n gauge_min: 0,\n gauge_max: 100,\n gauge_startingAngle: -1 * Math.PI / 2,\n gauge_label_extents: undefined,\n gauge_units: undefined,\n gauge_width: undefined,\n gauge_arcs_minWidth: 5,\n gauge_expand: {},\n gauge_expand_duration: 50,\n // donut\n donut_label_show: true,\n donut_label_format: undefined,\n donut_label_threshold: 0.05,\n donut_label_ratio: undefined,\n donut_width: undefined,\n donut_title: \"\",\n donut_expand: {},\n donut_expand_duration: 50,\n // spline\n spline_interpolation_type: 'cardinal',\n // region - region to change style\n regions: [],\n // tooltip - show when mouseover on each data\n tooltip_show: true,\n tooltip_grouped: true,\n tooltip_order: undefined,\n tooltip_format_title: undefined,\n tooltip_format_name: undefined,\n tooltip_format_value: undefined,\n tooltip_position: undefined,\n tooltip_contents: function tooltip_contents(d, defaultTitleFormat, defaultValueFormat, color) {\n return this.getTooltipContent ? this.getTooltipContent(d, defaultTitleFormat, defaultValueFormat, color) : '';\n },\n tooltip_init_show: false,\n tooltip_init_x: 0,\n tooltip_init_position: {\n top: '0px',\n left: '50px'\n },\n tooltip_onshow: function tooltip_onshow() {},\n tooltip_onhide: function tooltip_onhide() {},\n // title\n title_text: undefined,\n title_padding: {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n },\n title_position: 'top-center'\n };\n Object.keys(this.additionalConfig).forEach(function (key) {\n config[key] = this.additionalConfig[key];\n }, this);\n return config;\n };\n\n ChartInternal.prototype.additionalConfig = {};\n\n ChartInternal.prototype.loadConfig = function (config) {\n var this_config = this.config,\n target,\n keys,\n read;\n\n function find() {\n var key = keys.shift(); // console.log(\"key =>\", key, \", target =>\", target);\n\n if (key && target && _typeof(target) === 'object' && key in target) {\n target = target[key];\n return find();\n } else if (!key) {\n return target;\n } else {\n return undefined;\n }\n }\n\n Object.keys(this_config).forEach(function (key) {\n target = config;\n keys = key.split('_');\n read = find(); // console.log(\"CONFIG : \", key, read);\n\n if (isDefined(read)) {\n this_config[key] = read;\n }\n });\n };\n\n ChartInternal.prototype.convertUrlToData = function (url, mimeType, headers, keys, done) {\n var $$ = this,\n type = mimeType ? mimeType : 'csv',\n f,\n converter;\n\n if (type === 'json') {\n f = $$.d3.json;\n converter = $$.convertJsonToData;\n } else if (type === 'tsv') {\n f = $$.d3.tsv;\n converter = $$.convertXsvToData;\n } else {\n f = $$.d3.csv;\n converter = $$.convertXsvToData;\n }\n\n f(url, headers).then(function (data) {\n done.call($$, converter.call($$, data, keys));\n }).catch(function (error) {\n throw error;\n });\n };\n\n ChartInternal.prototype.convertXsvToData = function (xsv) {\n var keys = xsv.columns,\n rows = xsv;\n\n if (rows.length === 0) {\n return {\n keys: keys,\n rows: [keys.reduce(function (row, key) {\n return Object.assign(row, _defineProperty({}, key, null));\n }, {})]\n };\n } else {\n // [].concat() is to convert result into a plain array otherwise\n // test is not happy because rows have properties.\n return {\n keys: keys,\n rows: [].concat(xsv)\n };\n }\n };\n\n ChartInternal.prototype.convertJsonToData = function (json, keys) {\n var $$ = this,\n new_rows = [],\n targetKeys,\n data;\n\n if (keys) {\n // when keys specified, json would be an array that includes objects\n if (keys.x) {\n targetKeys = keys.value.concat(keys.x);\n $$.config.data_x = keys.x;\n } else {\n targetKeys = keys.value;\n }\n\n new_rows.push(targetKeys);\n json.forEach(function (o) {\n var new_row = [];\n targetKeys.forEach(function (key) {\n // convert undefined to null because undefined data will be removed in convertDataToTargets()\n var v = $$.findValueInJson(o, key);\n\n if (isUndefined(v)) {\n v = null;\n }\n\n new_row.push(v);\n });\n new_rows.push(new_row);\n });\n data = $$.convertRowsToData(new_rows);\n } else {\n Object.keys(json).forEach(function (key) {\n new_rows.push([key].concat(json[key]));\n });\n data = $$.convertColumnsToData(new_rows);\n }\n\n return data;\n };\n\n ChartInternal.prototype.findValueInJson = function (object, path) {\n path = path.replace(/\\[(\\w+)\\]/g, '.$1'); // convert indexes to properties (replace [] with .)\n\n path = path.replace(/^\\./, ''); // strip a leading dot\n\n var pathArray = path.split('.');\n\n for (var i = 0; i < pathArray.length; ++i) {\n var k = pathArray[i];\n\n if (k in object) {\n object = object[k];\n } else {\n return;\n }\n }\n\n return object;\n };\n /**\n * Converts the rows to normalized data.\n * @param {any[][]} rows The row data\n * @return {Object}\n */\n\n\n ChartInternal.prototype.convertRowsToData = function (rows) {\n var newRows = [];\n var keys = rows[0];\n\n for (var i = 1; i < rows.length; i++) {\n var newRow = {};\n\n for (var j = 0; j < rows[i].length; j++) {\n if (isUndefined(rows[i][j])) {\n throw new Error(\"Source data is missing a component at (\" + i + \",\" + j + \")!\");\n }\n\n newRow[keys[j]] = rows[i][j];\n }\n\n newRows.push(newRow);\n }\n\n return {\n keys: keys,\n rows: newRows\n };\n };\n /**\n * Converts the columns to normalized data.\n * @param {any[][]} columns The column data\n * @return {Object}\n */\n\n\n ChartInternal.prototype.convertColumnsToData = function (columns) {\n var newRows = [];\n var keys = [];\n\n for (var i = 0; i < columns.length; i++) {\n var key = columns[i][0];\n\n for (var j = 1; j < columns[i].length; j++) {\n if (isUndefined(newRows[j - 1])) {\n newRows[j - 1] = {};\n }\n\n if (isUndefined(columns[i][j])) {\n throw new Error(\"Source data is missing a component at (\" + i + \",\" + j + \")!\");\n }\n\n newRows[j - 1][key] = columns[i][j];\n }\n\n keys.push(key);\n }\n\n return {\n keys: keys,\n rows: newRows\n };\n };\n /**\n * Converts the data format into the target format.\n * @param {!Object} data\n * @param {!Array} data.keys Ordered list of target IDs.\n * @param {!Array} data.rows Rows of data to convert.\n * @param {boolean} appendXs True to append to $$.data.xs, False to replace.\n * @return {!Array}\n */\n\n\n ChartInternal.prototype.convertDataToTargets = function (data, appendXs) {\n var $$ = this,\n config = $$.config,\n targets,\n ids,\n xs,\n keys; // handles format where keys are not orderly provided\n\n if (isArray(data)) {\n keys = Object.keys(data[0]);\n } else {\n keys = data.keys;\n data = data.rows;\n }\n\n ids = keys.filter($$.isNotX, $$);\n xs = keys.filter($$.isX, $$); // save x for update data by load when custom x and c3.x API\n\n ids.forEach(function (id) {\n var xKey = $$.getXKey(id);\n\n if ($$.isCustomX() || $$.isTimeSeries()) {\n // if included in input data\n if (xs.indexOf(xKey) >= 0) {\n $$.data.xs[id] = (appendXs && $$.data.xs[id] ? $$.data.xs[id] : []).concat(data.map(function (d) {\n return d[xKey];\n }).filter(isValue).map(function (rawX, i) {\n return $$.generateTargetX(rawX, id, i);\n }));\n } // if not included in input data, find from preloaded data of other id's x\n else if (config.data_x) {\n $$.data.xs[id] = $$.getOtherTargetXs();\n } // if not included in input data, find from preloaded data\n else if (notEmpty(config.data_xs)) {\n $$.data.xs[id] = $$.getXValuesOfXKey(xKey, $$.data.targets);\n } // MEMO: if no x included, use same x of current will be used\n\n } else {\n $$.data.xs[id] = data.map(function (d, i) {\n return i;\n });\n }\n }); // check x is defined\n\n ids.forEach(function (id) {\n if (!$$.data.xs[id]) {\n throw new Error('x is not defined for id = \"' + id + '\".');\n }\n }); // convert to target\n\n targets = ids.map(function (id, index) {\n var convertedId = config.data_idConverter(id);\n return {\n id: convertedId,\n id_org: id,\n values: data.map(function (d, i) {\n var xKey = $$.getXKey(id),\n rawX = d[xKey],\n value = d[id] !== null && !isNaN(d[id]) ? +d[id] : null,\n x; // use x as categories if custom x and categorized\n\n if ($$.isCustomX() && $$.isCategorized() && !isUndefined(rawX)) {\n if (index === 0 && i === 0) {\n config.axis_x_categories = [];\n }\n\n x = config.axis_x_categories.indexOf(rawX);\n\n if (x === -1) {\n x = config.axis_x_categories.length;\n config.axis_x_categories.push(rawX);\n }\n } else {\n x = $$.generateTargetX(rawX, id, i);\n } // mark as x = undefined if value is undefined and filter to remove after mapped\n\n\n if (isUndefined(d[id]) || $$.data.xs[id].length <= i) {\n x = undefined;\n }\n\n return {\n x: x,\n value: value,\n id: convertedId\n };\n }).filter(function (v) {\n return isDefined(v.x);\n })\n };\n }); // finish targets\n\n targets.forEach(function (t) {\n var i; // sort values by its x\n\n if (config.data_xSort) {\n t.values = t.values.sort(function (v1, v2) {\n var x1 = v1.x || v1.x === 0 ? v1.x : Infinity,\n x2 = v2.x || v2.x === 0 ? v2.x : Infinity;\n return x1 - x2;\n });\n } // indexing each value\n\n\n i = 0;\n t.values.forEach(function (v) {\n v.index = i++;\n }); // this needs to be sorted because its index and value.index is identical\n\n $$.data.xs[t.id].sort(function (v1, v2) {\n return v1 - v2;\n });\n }); // cache information about values\n\n $$.hasNegativeValue = $$.hasNegativeValueInTargets(targets);\n $$.hasPositiveValue = $$.hasPositiveValueInTargets(targets); // set target types\n\n if (config.data_type) {\n $$.setTargetType($$.mapToIds(targets).filter(function (id) {\n return !(id in config.data_types);\n }), config.data_type);\n } // cache as original id keyed\n\n\n targets.forEach(function (d) {\n $$.addCache(d.id_org, d);\n });\n return targets;\n };\n\n ChartInternal.prototype.isX = function (key) {\n var $$ = this,\n config = $$.config;\n return config.data_x && key === config.data_x || notEmpty(config.data_xs) && hasValue(config.data_xs, key);\n };\n\n ChartInternal.prototype.isNotX = function (key) {\n return !this.isX(key);\n };\n\n ChartInternal.prototype.getXKey = function (id) {\n var $$ = this,\n config = $$.config;\n return config.data_x ? config.data_x : notEmpty(config.data_xs) ? config.data_xs[id] : null;\n };\n\n ChartInternal.prototype.getXValuesOfXKey = function (key, targets) {\n var $$ = this,\n xValues,\n ids = targets && notEmpty(targets) ? $$.mapToIds(targets) : [];\n ids.forEach(function (id) {\n if ($$.getXKey(id) === key) {\n xValues = $$.data.xs[id];\n }\n });\n return xValues;\n };\n\n ChartInternal.prototype.getXValue = function (id, i) {\n var $$ = this;\n return id in $$.data.xs && $$.data.xs[id] && isValue($$.data.xs[id][i]) ? $$.data.xs[id][i] : i;\n };\n\n ChartInternal.prototype.getOtherTargetXs = function () {\n var $$ = this,\n idsForX = Object.keys($$.data.xs);\n return idsForX.length ? $$.data.xs[idsForX[0]] : null;\n };\n\n ChartInternal.prototype.getOtherTargetX = function (index) {\n var xs = this.getOtherTargetXs();\n return xs && index < xs.length ? xs[index] : null;\n };\n\n ChartInternal.prototype.addXs = function (xs) {\n var $$ = this;\n Object.keys(xs).forEach(function (id) {\n $$.config.data_xs[id] = xs[id];\n });\n };\n\n ChartInternal.prototype.addName = function (data) {\n var $$ = this,\n name;\n\n if (data) {\n name = $$.config.data_names[data.id];\n data.name = name !== undefined ? name : data.id;\n }\n\n return data;\n };\n\n ChartInternal.prototype.getValueOnIndex = function (values, index) {\n var valueOnIndex = values.filter(function (v) {\n return v.index === index;\n });\n return valueOnIndex.length ? valueOnIndex[0] : null;\n };\n\n ChartInternal.prototype.updateTargetX = function (targets, x) {\n var $$ = this;\n targets.forEach(function (t) {\n t.values.forEach(function (v, i) {\n v.x = $$.generateTargetX(x[i], t.id, i);\n });\n $$.data.xs[t.id] = x;\n });\n };\n\n ChartInternal.prototype.updateTargetXs = function (targets, xs) {\n var $$ = this;\n targets.forEach(function (t) {\n if (xs[t.id]) {\n $$.updateTargetX([t], xs[t.id]);\n }\n });\n };\n\n ChartInternal.prototype.generateTargetX = function (rawX, id, index) {\n var $$ = this,\n x;\n\n if ($$.isTimeSeries()) {\n x = rawX ? $$.parseDate(rawX) : $$.parseDate($$.getXValue(id, index));\n } else if ($$.isCustomX() && !$$.isCategorized()) {\n x = isValue(rawX) ? +rawX : $$.getXValue(id, index);\n } else {\n x = index;\n }\n\n return x;\n };\n\n ChartInternal.prototype.cloneTarget = function (target) {\n return {\n id: target.id,\n id_org: target.id_org,\n values: target.values.map(function (d) {\n return {\n x: d.x,\n value: d.value,\n id: d.id\n };\n })\n };\n };\n\n ChartInternal.prototype.getMaxDataCount = function () {\n var $$ = this;\n return $$.d3.max($$.data.targets, function (t) {\n return t.values.length;\n });\n };\n\n ChartInternal.prototype.mapToIds = function (targets) {\n return targets.map(function (d) {\n return d.id;\n });\n };\n\n ChartInternal.prototype.mapToTargetIds = function (ids) {\n var $$ = this;\n return ids ? [].concat(ids) : $$.mapToIds($$.data.targets);\n };\n\n ChartInternal.prototype.hasTarget = function (targets, id) {\n var ids = this.mapToIds(targets),\n i;\n\n for (i = 0; i < ids.length; i++) {\n if (ids[i] === id) {\n return true;\n }\n }\n\n return false;\n };\n\n ChartInternal.prototype.isTargetToShow = function (targetId) {\n return this.hiddenTargetIds.indexOf(targetId) < 0;\n };\n\n ChartInternal.prototype.isLegendToShow = function (targetId) {\n return this.hiddenLegendIds.indexOf(targetId) < 0;\n };\n\n ChartInternal.prototype.filterTargetsToShow = function (targets) {\n var $$ = this;\n return targets.filter(function (t) {\n return $$.isTargetToShow(t.id);\n });\n };\n\n ChartInternal.prototype.mapTargetsToUniqueXs = function (targets) {\n var $$ = this;\n var xs = $$.d3.set($$.d3.merge(targets.map(function (t) {\n return t.values.map(function (v) {\n return +v.x;\n });\n }))).values();\n xs = $$.isTimeSeries() ? xs.map(function (x) {\n return new Date(+x);\n }) : xs.map(function (x) {\n return +x;\n });\n return xs.sort(function (a, b) {\n return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;\n });\n };\n\n ChartInternal.prototype.addHiddenTargetIds = function (targetIds) {\n targetIds = targetIds instanceof Array ? targetIds : new Array(targetIds);\n\n for (var i = 0; i < targetIds.length; i++) {\n if (this.hiddenTargetIds.indexOf(targetIds[i]) < 0) {\n this.hiddenTargetIds = this.hiddenTargetIds.concat(targetIds[i]);\n }\n }\n };\n\n ChartInternal.prototype.removeHiddenTargetIds = function (targetIds) {\n this.hiddenTargetIds = this.hiddenTargetIds.filter(function (id) {\n return targetIds.indexOf(id) < 0;\n });\n };\n\n ChartInternal.prototype.addHiddenLegendIds = function (targetIds) {\n targetIds = targetIds instanceof Array ? targetIds : new Array(targetIds);\n\n for (var i = 0; i < targetIds.length; i++) {\n if (this.hiddenLegendIds.indexOf(targetIds[i]) < 0) {\n this.hiddenLegendIds = this.hiddenLegendIds.concat(targetIds[i]);\n }\n }\n };\n\n ChartInternal.prototype.removeHiddenLegendIds = function (targetIds) {\n this.hiddenLegendIds = this.hiddenLegendIds.filter(function (id) {\n return targetIds.indexOf(id) < 0;\n });\n };\n\n ChartInternal.prototype.getValuesAsIdKeyed = function (targets) {\n var ys = {};\n targets.forEach(function (t) {\n ys[t.id] = [];\n t.values.forEach(function (v) {\n ys[t.id].push(v.value);\n });\n });\n return ys;\n };\n\n ChartInternal.prototype.checkValueInTargets = function (targets, checker) {\n var ids = Object.keys(targets),\n i,\n j,\n values;\n\n for (i = 0; i < ids.length; i++) {\n values = targets[ids[i]].values;\n\n for (j = 0; j < values.length; j++) {\n if (checker(values[j].value)) {\n return true;\n }\n }\n }\n\n return false;\n };\n\n ChartInternal.prototype.hasNegativeValueInTargets = function (targets) {\n return this.checkValueInTargets(targets, function (v) {\n return v < 0;\n });\n };\n\n ChartInternal.prototype.hasPositiveValueInTargets = function (targets) {\n return this.checkValueInTargets(targets, function (v) {\n return v > 0;\n });\n };\n\n ChartInternal.prototype.isOrderDesc = function () {\n var config = this.config;\n return typeof config.data_order === 'string' && config.data_order.toLowerCase() === 'desc';\n };\n\n ChartInternal.prototype.isOrderAsc = function () {\n var config = this.config;\n return typeof config.data_order === 'string' && config.data_order.toLowerCase() === 'asc';\n };\n\n ChartInternal.prototype.getOrderFunction = function () {\n var $$ = this,\n config = $$.config,\n orderAsc = $$.isOrderAsc(),\n orderDesc = $$.isOrderDesc();\n\n if (orderAsc || orderDesc) {\n var reducer = function reducer(p, c) {\n return p + Math.abs(c.value);\n };\n\n return function (t1, t2) {\n var t1Sum = t1.values.reduce(reducer, 0),\n t2Sum = t2.values.reduce(reducer, 0);\n return orderAsc ? t2Sum - t1Sum : t1Sum - t2Sum;\n };\n } else if (isFunction(config.data_order)) {\n return config.data_order;\n } else if (isArray(config.data_order)) {\n var order = config.data_order;\n return function (t1, t2) {\n return order.indexOf(t1.id) - order.indexOf(t2.id);\n };\n }\n };\n\n ChartInternal.prototype.orderTargets = function (targets) {\n var fct = this.getOrderFunction();\n\n if (fct) {\n targets.sort(fct);\n }\n\n return targets;\n };\n\n ChartInternal.prototype.filterByX = function (targets, x) {\n return this.d3.merge(targets.map(function (t) {\n return t.values;\n })).filter(function (v) {\n return v.x - x === 0;\n });\n };\n\n ChartInternal.prototype.filterRemoveNull = function (data) {\n return data.filter(function (d) {\n return isValue(d.value);\n });\n };\n\n ChartInternal.prototype.filterByXDomain = function (targets, xDomain) {\n return targets.map(function (t) {\n return {\n id: t.id,\n id_org: t.id_org,\n values: t.values.filter(function (v) {\n return xDomain[0] <= v.x && v.x <= xDomain[1];\n })\n };\n });\n };\n\n ChartInternal.prototype.hasDataLabel = function () {\n var config = this.config;\n\n if (typeof config.data_labels === 'boolean' && config.data_labels) {\n return true;\n } else if (_typeof(config.data_labels) === 'object' && notEmpty(config.data_labels)) {\n return true;\n }\n\n return false;\n };\n\n ChartInternal.prototype.getDataLabelLength = function (min, max, key) {\n var $$ = this,\n lengths = [0, 0],\n paddingCoef = 1.3;\n $$.selectChart.select('svg').selectAll('.dummy').data([min, max]).enter().append('text').text(function (d) {\n return $$.dataLabelFormat(d.id)(d);\n }).each(function (d, i) {\n lengths[i] = this.getBoundingClientRect()[key] * paddingCoef;\n }).remove();\n return lengths;\n };\n /**\n * Returns true if the given data point is not arc type, otherwise false.\n * @param {Object} d The data point\n * @return {boolean}\n */\n\n\n ChartInternal.prototype.isNoneArc = function (d) {\n return this.hasTarget(this.data.targets, d.id);\n };\n /**\n * Returns true if the given data point is arc type, otherwise false.\n * @param {Object} d The data point\n * @return {boolean}\n */\n\n\n ChartInternal.prototype.isArc = function (d) {\n return 'data' in d && this.hasTarget(this.data.targets, d.data.id);\n };\n\n ChartInternal.prototype.findClosestFromTargets = function (targets, pos) {\n var $$ = this,\n candidates; // map to array of closest points of each target\n\n candidates = targets.map(function (target) {\n return $$.findClosest(target.values, pos);\n }); // decide closest point and return\n\n return $$.findClosest(candidates, pos);\n };\n\n ChartInternal.prototype.findClosest = function (values, pos) {\n var $$ = this,\n minDist = $$.config.point_sensitivity,\n closest; // find mouseovering bar\n\n values.filter(function (v) {\n return v && $$.isBarType(v.id);\n }).forEach(function (v) {\n var shape = $$.main.select('.' + CLASS.bars + $$.getTargetSelectorSuffix(v.id) + ' .' + CLASS.bar + '-' + v.index).node();\n\n if (!closest && $$.isWithinBar($$.d3.mouse(shape), shape)) {\n closest = v;\n }\n }); // find closest point from non-bar\n\n values.filter(function (v) {\n return v && !$$.isBarType(v.id);\n }).forEach(function (v) {\n var d = $$.dist(v, pos);\n\n if (d < minDist) {\n minDist = d;\n closest = v;\n }\n });\n return closest;\n };\n\n ChartInternal.prototype.dist = function (data, pos) {\n var $$ = this,\n config = $$.config,\n xIndex = config.axis_rotated ? 1 : 0,\n yIndex = config.axis_rotated ? 0 : 1,\n y = $$.circleY(data, data.index),\n x = $$.x(data.x);\n return Math.sqrt(Math.pow(x - pos[xIndex], 2) + Math.pow(y - pos[yIndex], 2));\n };\n\n ChartInternal.prototype.convertValuesToStep = function (values) {\n var converted = [].concat(values),\n i;\n\n if (!this.isCategorized()) {\n return values;\n }\n\n for (i = values.length + 1; 0 < i; i--) {\n converted[i] = converted[i - 1];\n }\n\n converted[0] = {\n x: converted[0].x - 1,\n value: converted[0].value,\n id: converted[0].id\n };\n converted[values.length + 1] = {\n x: converted[values.length].x + 1,\n value: converted[values.length].value,\n id: converted[values.length].id\n };\n return converted;\n };\n\n ChartInternal.prototype.updateDataAttributes = function (name, attrs) {\n var $$ = this,\n config = $$.config,\n current = config['data_' + name];\n\n if (typeof attrs === 'undefined') {\n return current;\n }\n\n Object.keys(attrs).forEach(function (id) {\n current[id] = attrs[id];\n });\n $$.redraw({\n withLegend: true\n });\n return current;\n };\n\n ChartInternal.prototype.load = function (targets, args) {\n var $$ = this;\n\n if (targets) {\n // filter loading targets if needed\n if (args.filter) {\n targets = targets.filter(args.filter);\n } // set type if args.types || args.type specified\n\n\n if (args.type || args.types) {\n targets.forEach(function (t) {\n var type = args.types && args.types[t.id] ? args.types[t.id] : args.type;\n $$.setTargetType(t.id, type);\n });\n } // Update/Add data\n\n\n $$.data.targets.forEach(function (d) {\n for (var i = 0; i < targets.length; i++) {\n if (d.id === targets[i].id) {\n d.values = targets[i].values;\n targets.splice(i, 1);\n break;\n }\n }\n });\n $$.data.targets = $$.data.targets.concat(targets); // add remained\n } // Set targets\n\n\n $$.updateTargets($$.data.targets); // Redraw with new targets\n\n $$.redraw({\n withUpdateOrgXDomain: true,\n withUpdateXDomain: true,\n withLegend: true\n });\n\n if (args.done) {\n args.done();\n }\n };\n\n ChartInternal.prototype.loadFromArgs = function (args) {\n var $$ = this;\n\n if (args.data) {\n $$.load($$.convertDataToTargets(args.data), args);\n } else if (args.url) {\n $$.convertUrlToData(args.url, args.mimeType, args.headers, args.keys, function (data) {\n $$.load($$.convertDataToTargets(data), args);\n });\n } else if (args.json) {\n $$.load($$.convertDataToTargets($$.convertJsonToData(args.json, args.keys)), args);\n } else if (args.rows) {\n $$.load($$.convertDataToTargets($$.convertRowsToData(args.rows)), args);\n } else if (args.columns) {\n $$.load($$.convertDataToTargets($$.convertColumnsToData(args.columns)), args);\n } else {\n $$.load(null, args);\n }\n };\n\n ChartInternal.prototype.unload = function (targetIds, done) {\n var $$ = this;\n\n if (!done) {\n done = function done() {};\n } // filter existing target\n\n\n targetIds = targetIds.filter(function (id) {\n return $$.hasTarget($$.data.targets, id);\n }); // If no target, call done and return\n\n if (!targetIds || targetIds.length === 0) {\n done();\n return;\n }\n\n $$.svg.selectAll(targetIds.map(function (id) {\n return $$.selectorTarget(id);\n })).transition().style('opacity', 0).remove().call($$.endall, done);\n targetIds.forEach(function (id) {\n // Reset fadein for future load\n $$.withoutFadeIn[id] = false; // Remove target's elements\n\n if ($$.legend) {\n $$.legend.selectAll('.' + CLASS.legendItem + $$.getTargetSelectorSuffix(id)).remove();\n } // Remove target\n\n\n $$.data.targets = $$.data.targets.filter(function (t) {\n return t.id !== id;\n });\n });\n };\n\n ChartInternal.prototype.getYDomainMin = function (targets) {\n var $$ = this,\n config = $$.config,\n ids = $$.mapToIds(targets),\n ys = $$.getValuesAsIdKeyed(targets),\n j,\n k,\n baseId,\n idsInGroup,\n id,\n hasNegativeValue;\n\n if (config.data_groups.length > 0) {\n hasNegativeValue = $$.hasNegativeValueInTargets(targets);\n\n for (j = 0; j < config.data_groups.length; j++) {\n // Determine baseId\n idsInGroup = config.data_groups[j].filter(function (id) {\n return ids.indexOf(id) >= 0;\n });\n\n if (idsInGroup.length === 0) {\n continue;\n }\n\n baseId = idsInGroup[0]; // Consider negative values\n\n if (hasNegativeValue && ys[baseId]) {\n ys[baseId].forEach(function (v, i) {\n ys[baseId][i] = v < 0 ? v : 0;\n });\n } // Compute min\n\n\n for (k = 1; k < idsInGroup.length; k++) {\n id = idsInGroup[k];\n\n if (!ys[id]) {\n continue;\n }\n\n ys[id].forEach(function (v, i) {\n if ($$.axis.getId(id) === $$.axis.getId(baseId) && ys[baseId] && !(hasNegativeValue && +v > 0)) {\n ys[baseId][i] += +v;\n }\n });\n }\n }\n }\n\n return $$.d3.min(Object.keys(ys).map(function (key) {\n return $$.d3.min(ys[key]);\n }));\n };\n\n ChartInternal.prototype.getYDomainMax = function (targets) {\n var $$ = this,\n config = $$.config,\n ids = $$.mapToIds(targets),\n ys = $$.getValuesAsIdKeyed(targets),\n j,\n k,\n baseId,\n idsInGroup,\n id,\n hasPositiveValue;\n\n if (config.data_groups.length > 0) {\n hasPositiveValue = $$.hasPositiveValueInTargets(targets);\n\n for (j = 0; j < config.data_groups.length; j++) {\n // Determine baseId\n idsInGroup = config.data_groups[j].filter(function (id) {\n return ids.indexOf(id) >= 0;\n });\n\n if (idsInGroup.length === 0) {\n continue;\n }\n\n baseId = idsInGroup[0]; // Consider positive values\n\n if (hasPositiveValue && ys[baseId]) {\n ys[baseId].forEach(function (v, i) {\n ys[baseId][i] = v > 0 ? v : 0;\n });\n } // Compute max\n\n\n for (k = 1; k < idsInGroup.length; k++) {\n id = idsInGroup[k];\n\n if (!ys[id]) {\n continue;\n }\n\n ys[id].forEach(function (v, i) {\n if ($$.axis.getId(id) === $$.axis.getId(baseId) && ys[baseId] && !(hasPositiveValue && +v < 0)) {\n ys[baseId][i] += +v;\n }\n });\n }\n }\n }\n\n return $$.d3.max(Object.keys(ys).map(function (key) {\n return $$.d3.max(ys[key]);\n }));\n };\n\n ChartInternal.prototype.getYDomain = function (targets, axisId, xDomain) {\n var $$ = this,\n config = $$.config,\n targetsByAxisId = targets.filter(function (t) {\n return $$.axis.getId(t.id) === axisId;\n }),\n yTargets = xDomain ? $$.filterByXDomain(targetsByAxisId, xDomain) : targetsByAxisId,\n yMin = axisId === 'y2' ? config.axis_y2_min : config.axis_y_min,\n yMax = axisId === 'y2' ? config.axis_y2_max : config.axis_y_max,\n yDomainMin = $$.getYDomainMin(yTargets),\n yDomainMax = $$.getYDomainMax(yTargets),\n domain,\n domainLength,\n padding,\n padding_top,\n padding_bottom,\n center = axisId === 'y2' ? config.axis_y2_center : config.axis_y_center,\n yDomainAbs,\n lengths,\n diff,\n ratio,\n isAllPositive,\n isAllNegative,\n isZeroBased = $$.hasType('bar', yTargets) && config.bar_zerobased || $$.hasType('area', yTargets) && config.area_zerobased,\n isInverted = axisId === 'y2' ? config.axis_y2_inverted : config.axis_y_inverted,\n showHorizontalDataLabel = $$.hasDataLabel() && config.axis_rotated,\n showVerticalDataLabel = $$.hasDataLabel() && !config.axis_rotated; // MEMO: avoid inverting domain unexpectedly\n\n yDomainMin = isValue(yMin) ? yMin : isValue(yMax) ? yDomainMin < yMax ? yDomainMin : yMax - 10 : yDomainMin;\n yDomainMax = isValue(yMax) ? yMax : isValue(yMin) ? yMin < yDomainMax ? yDomainMax : yMin + 10 : yDomainMax;\n\n if (yTargets.length === 0) {\n // use current domain if target of axisId is none\n return axisId === 'y2' ? $$.y2.domain() : $$.y.domain();\n }\n\n if (isNaN(yDomainMin)) {\n // set minimum to zero when not number\n yDomainMin = 0;\n }\n\n if (isNaN(yDomainMax)) {\n // set maximum to have same value as yDomainMin\n yDomainMax = yDomainMin;\n }\n\n if (yDomainMin === yDomainMax) {\n yDomainMin < 0 ? yDomainMax = 0 : yDomainMin = 0;\n }\n\n isAllPositive = yDomainMin >= 0 && yDomainMax >= 0;\n isAllNegative = yDomainMin <= 0 && yDomainMax <= 0; // Cancel zerobased if axis_*_min / axis_*_max specified\n\n if (isValue(yMin) && isAllPositive || isValue(yMax) && isAllNegative) {\n isZeroBased = false;\n } // Bar/Area chart should be 0-based if all positive|negative\n\n\n if (isZeroBased) {\n if (isAllPositive) {\n yDomainMin = 0;\n }\n\n if (isAllNegative) {\n yDomainMax = 0;\n }\n }\n\n domainLength = Math.abs(yDomainMax - yDomainMin);\n padding = padding_top = padding_bottom = domainLength * 0.1;\n\n if (typeof center !== 'undefined') {\n yDomainAbs = Math.max(Math.abs(yDomainMin), Math.abs(yDomainMax));\n yDomainMax = center + yDomainAbs;\n yDomainMin = center - yDomainAbs;\n } // add padding for data label\n\n\n if (showHorizontalDataLabel) {\n lengths = $$.getDataLabelLength(yDomainMin, yDomainMax, 'width');\n diff = diffDomain($$.y.range());\n ratio = [lengths[0] / diff, lengths[1] / diff];\n padding_top += domainLength * (ratio[1] / (1 - ratio[0] - ratio[1]));\n padding_bottom += domainLength * (ratio[0] / (1 - ratio[0] - ratio[1]));\n } else if (showVerticalDataLabel) {\n lengths = $$.getDataLabelLength(yDomainMin, yDomainMax, 'height');\n padding_top += $$.axis.convertPixelsToAxisPadding(lengths[1], domainLength);\n padding_bottom += $$.axis.convertPixelsToAxisPadding(lengths[0], domainLength);\n }\n\n if (axisId === 'y' && notEmpty(config.axis_y_padding)) {\n padding_top = $$.axis.getPadding(config.axis_y_padding, 'top', padding_top, domainLength);\n padding_bottom = $$.axis.getPadding(config.axis_y_padding, 'bottom', padding_bottom, domainLength);\n }\n\n if (axisId === 'y2' && notEmpty(config.axis_y2_padding)) {\n padding_top = $$.axis.getPadding(config.axis_y2_padding, 'top', padding_top, domainLength);\n padding_bottom = $$.axis.getPadding(config.axis_y2_padding, 'bottom', padding_bottom, domainLength);\n } // Bar/Area chart should be 0-based if all positive|negative\n\n\n if (isZeroBased) {\n if (isAllPositive) {\n padding_bottom = yDomainMin;\n }\n\n if (isAllNegative) {\n padding_top = -yDomainMax;\n }\n }\n\n domain = [yDomainMin - padding_bottom, yDomainMax + padding_top];\n return isInverted ? domain.reverse() : domain;\n };\n\n ChartInternal.prototype.getXDomainMin = function (targets) {\n var $$ = this,\n config = $$.config;\n return isDefined(config.axis_x_min) ? $$.isTimeSeries() ? this.parseDate(config.axis_x_min) : config.axis_x_min : $$.d3.min(targets, function (t) {\n return $$.d3.min(t.values, function (v) {\n return v.x;\n });\n });\n };\n\n ChartInternal.prototype.getXDomainMax = function (targets) {\n var $$ = this,\n config = $$.config;\n return isDefined(config.axis_x_max) ? $$.isTimeSeries() ? this.parseDate(config.axis_x_max) : config.axis_x_max : $$.d3.max(targets, function (t) {\n return $$.d3.max(t.values, function (v) {\n return v.x;\n });\n });\n };\n\n ChartInternal.prototype.getXDomainPadding = function (domain) {\n var $$ = this,\n config = $$.config,\n diff = domain[1] - domain[0],\n maxDataCount,\n padding,\n paddingLeft,\n paddingRight;\n\n if ($$.isCategorized()) {\n padding = 0;\n } else if ($$.hasType('bar')) {\n maxDataCount = $$.getMaxDataCount();\n padding = maxDataCount > 1 ? diff / (maxDataCount - 1) / 2 : 0.5;\n } else {\n padding = diff * 0.01;\n }\n\n if (_typeof(config.axis_x_padding) === 'object' && notEmpty(config.axis_x_padding)) {\n paddingLeft = isValue(config.axis_x_padding.left) ? config.axis_x_padding.left : padding;\n paddingRight = isValue(config.axis_x_padding.right) ? config.axis_x_padding.right : padding;\n } else if (typeof config.axis_x_padding === 'number') {\n paddingLeft = paddingRight = config.axis_x_padding;\n } else {\n paddingLeft = paddingRight = padding;\n }\n\n return {\n left: paddingLeft,\n right: paddingRight\n };\n };\n\n ChartInternal.prototype.getXDomain = function (targets) {\n var $$ = this,\n xDomain = [$$.getXDomainMin(targets), $$.getXDomainMax(targets)],\n firstX = xDomain[0],\n lastX = xDomain[1],\n padding = $$.getXDomainPadding(xDomain),\n min = 0,\n max = 0; // show center of x domain if min and max are the same\n\n if (firstX - lastX === 0 && !$$.isCategorized()) {\n if ($$.isTimeSeries()) {\n firstX = new Date(firstX.getTime() * 0.5);\n lastX = new Date(lastX.getTime() * 1.5);\n } else {\n firstX = firstX === 0 ? 1 : firstX * 0.5;\n lastX = lastX === 0 ? -1 : lastX * 1.5;\n }\n }\n\n if (firstX || firstX === 0) {\n min = $$.isTimeSeries() ? new Date(firstX.getTime() - padding.left) : firstX - padding.left;\n }\n\n if (lastX || lastX === 0) {\n max = $$.isTimeSeries() ? new Date(lastX.getTime() + padding.right) : lastX + padding.right;\n }\n\n return [min, max];\n };\n\n ChartInternal.prototype.updateXDomain = function (targets, withUpdateXDomain, withUpdateOrgXDomain, withTrim, domain) {\n var $$ = this,\n config = $$.config;\n\n if (withUpdateOrgXDomain) {\n $$.x.domain(domain ? domain : $$.d3.extent($$.getXDomain(targets)));\n $$.orgXDomain = $$.x.domain();\n\n if (config.zoom_enabled) {\n $$.zoom.update();\n }\n\n $$.subX.domain($$.x.domain());\n\n if ($$.brush) {\n $$.brush.updateScale($$.subX);\n }\n }\n\n if (withUpdateXDomain) {\n $$.x.domain(domain ? domain : !$$.brush || $$.brush.empty() ? $$.orgXDomain : $$.brush.selectionAsValue());\n } // Trim domain when too big by zoom mousemove event\n\n\n if (withTrim) {\n $$.x.domain($$.trimXDomain($$.x.orgDomain()));\n }\n\n return $$.x.domain();\n };\n\n ChartInternal.prototype.trimXDomain = function (domain) {\n var zoomDomain = this.getZoomDomain(),\n min = zoomDomain[0],\n max = zoomDomain[1];\n\n if (domain[0] <= min) {\n domain[1] = +domain[1] + (min - domain[0]);\n domain[0] = min;\n }\n\n if (max <= domain[1]) {\n domain[0] = +domain[0] - (domain[1] - max);\n domain[1] = max;\n }\n\n return domain;\n };\n\n ChartInternal.prototype.drag = function (mouse) {\n var $$ = this,\n config = $$.config,\n main = $$.main,\n d3 = $$.d3;\n var sx, sy, mx, my, minX, maxX, minY, maxY;\n\n if ($$.hasArcType()) {\n return;\n }\n\n if (!config.data_selection_enabled) {\n return;\n } // do nothing if not selectable\n\n\n if (!config.data_selection_multiple) {\n return;\n } // skip when single selection because drag is used for multiple selection\n\n\n sx = $$.dragStart[0];\n sy = $$.dragStart[1];\n mx = mouse[0];\n my = mouse[1];\n minX = Math.min(sx, mx);\n maxX = Math.max(sx, mx);\n minY = config.data_selection_grouped ? $$.margin.top : Math.min(sy, my);\n maxY = config.data_selection_grouped ? $$.height : Math.max(sy, my);\n main.select('.' + CLASS.dragarea).attr('x', minX).attr('y', minY).attr('width', maxX - minX).attr('height', maxY - minY); // TODO: binary search when multiple xs\n\n main.selectAll('.' + CLASS.shapes).selectAll('.' + CLASS.shape).filter(function (d) {\n return config.data_selection_isselectable(d);\n }).each(function (d, i) {\n var shape = d3.select(this),\n isSelected = shape.classed(CLASS.SELECTED),\n isIncluded = shape.classed(CLASS.INCLUDED),\n _x,\n _y,\n _w,\n _h,\n toggle,\n isWithin = false,\n box;\n\n if (shape.classed(CLASS.circle)) {\n _x = shape.attr(\"cx\") * 1;\n _y = shape.attr(\"cy\") * 1;\n toggle = $$.togglePoint;\n isWithin = minX < _x && _x < maxX && minY < _y && _y < maxY;\n } else if (shape.classed(CLASS.bar)) {\n box = getPathBox(this);\n _x = box.x;\n _y = box.y;\n _w = box.width;\n _h = box.height;\n toggle = $$.togglePath;\n isWithin = !(maxX < _x || _x + _w < minX) && !(maxY < _y || _y + _h < minY);\n } else {\n // line/area selection not supported yet\n return;\n }\n\n if (isWithin ^ isIncluded) {\n shape.classed(CLASS.INCLUDED, !isIncluded); // TODO: included/unincluded callback here\n\n shape.classed(CLASS.SELECTED, !isSelected);\n toggle.call($$, !isSelected, shape, d, i);\n }\n });\n };\n\n ChartInternal.prototype.dragstart = function (mouse) {\n var $$ = this,\n config = $$.config;\n\n if ($$.hasArcType()) {\n return;\n }\n\n if (!config.data_selection_enabled) {\n return;\n } // do nothing if not selectable\n\n\n $$.dragStart = mouse;\n $$.main.select('.' + CLASS.chart).append('rect').attr('class', CLASS.dragarea).style('opacity', 0.1);\n $$.dragging = true;\n };\n\n ChartInternal.prototype.dragend = function () {\n var $$ = this,\n config = $$.config;\n\n if ($$.hasArcType()) {\n return;\n }\n\n if (!config.data_selection_enabled) {\n return;\n } // do nothing if not selectable\n\n\n $$.main.select('.' + CLASS.dragarea).transition().duration(100).style('opacity', 0).remove();\n $$.main.selectAll('.' + CLASS.shape).classed(CLASS.INCLUDED, false);\n $$.dragging = false;\n };\n\n ChartInternal.prototype.getYFormat = function (forArc) {\n var $$ = this,\n formatForY = forArc && !$$.hasType('gauge') ? $$.defaultArcValueFormat : $$.yFormat,\n formatForY2 = forArc && !$$.hasType('gauge') ? $$.defaultArcValueFormat : $$.y2Format;\n return function (v, ratio, id) {\n var format = $$.axis.getId(id) === 'y2' ? formatForY2 : formatForY;\n return format.call($$, v, ratio);\n };\n };\n\n ChartInternal.prototype.yFormat = function (v) {\n var $$ = this,\n config = $$.config,\n format = config.axis_y_tick_format ? config.axis_y_tick_format : $$.defaultValueFormat;\n return format(v);\n };\n\n ChartInternal.prototype.y2Format = function (v) {\n var $$ = this,\n config = $$.config,\n format = config.axis_y2_tick_format ? config.axis_y2_tick_format : $$.defaultValueFormat;\n return format(v);\n };\n\n ChartInternal.prototype.defaultValueFormat = function (v) {\n return isValue(v) ? +v : \"\";\n };\n\n ChartInternal.prototype.defaultArcValueFormat = function (v, ratio) {\n return (ratio * 100).toFixed(1) + '%';\n };\n\n ChartInternal.prototype.dataLabelFormat = function (targetId) {\n var $$ = this,\n data_labels = $$.config.data_labels,\n format,\n defaultFormat = function defaultFormat(v) {\n return isValue(v) ? +v : \"\";\n }; // find format according to axis id\n\n\n if (typeof data_labels.format === 'function') {\n format = data_labels.format;\n } else if (_typeof(data_labels.format) === 'object') {\n if (data_labels.format[targetId]) {\n format = data_labels.format[targetId] === true ? defaultFormat : data_labels.format[targetId];\n } else {\n format = function format() {\n return '';\n };\n }\n } else {\n format = defaultFormat;\n }\n\n return format;\n };\n\n ChartInternal.prototype.initGrid = function () {\n var $$ = this,\n config = $$.config,\n d3 = $$.d3;\n $$.grid = $$.main.append('g').attr(\"clip-path\", $$.clipPathForGrid).attr('class', CLASS.grid);\n\n if (config.grid_x_show) {\n $$.grid.append(\"g\").attr(\"class\", CLASS.xgrids);\n }\n\n if (config.grid_y_show) {\n $$.grid.append('g').attr('class', CLASS.ygrids);\n }\n\n if (config.grid_focus_show) {\n $$.grid.append('g').attr(\"class\", CLASS.xgridFocus).append('line').attr('class', CLASS.xgridFocus);\n }\n\n $$.xgrid = d3.selectAll([]);\n\n if (!config.grid_lines_front) {\n $$.initGridLines();\n }\n };\n\n ChartInternal.prototype.initGridLines = function () {\n var $$ = this,\n d3 = $$.d3;\n $$.gridLines = $$.main.append('g').attr(\"clip-path\", $$.clipPathForGrid).attr('class', CLASS.grid + ' ' + CLASS.gridLines);\n $$.gridLines.append('g').attr(\"class\", CLASS.xgridLines);\n $$.gridLines.append('g').attr('class', CLASS.ygridLines);\n $$.xgridLines = d3.selectAll([]);\n };\n\n ChartInternal.prototype.updateXGrid = function (withoutUpdate) {\n var $$ = this,\n config = $$.config,\n d3 = $$.d3,\n xgridData = $$.generateGridData(config.grid_x_type, $$.x),\n tickOffset = $$.isCategorized() ? $$.xAxis.tickOffset() : 0;\n $$.xgridAttr = config.axis_rotated ? {\n 'x1': 0,\n 'x2': $$.width,\n 'y1': function y1(d) {\n return $$.x(d) - tickOffset;\n },\n 'y2': function y2(d) {\n return $$.x(d) - tickOffset;\n }\n } : {\n 'x1': function x1(d) {\n return $$.x(d) + tickOffset;\n },\n 'x2': function x2(d) {\n return $$.x(d) + tickOffset;\n },\n 'y1': 0,\n 'y2': $$.height\n };\n\n $$.xgridAttr.opacity = function () {\n var pos = +d3.select(this).attr(config.axis_rotated ? 'y1' : 'x1');\n return pos === (config.axis_rotated ? $$.height : 0) ? 0 : 1;\n };\n\n var xgrid = $$.main.select('.' + CLASS.xgrids).selectAll('.' + CLASS.xgrid).data(xgridData);\n var xgridEnter = xgrid.enter().append('line').attr(\"class\", CLASS.xgrid).attr('x1', $$.xgridAttr.x1).attr('x2', $$.xgridAttr.x2).attr('y1', $$.xgridAttr.y1).attr('y2', $$.xgridAttr.y2).style(\"opacity\", 0);\n $$.xgrid = xgridEnter.merge(xgrid);\n\n if (!withoutUpdate) {\n $$.xgrid.attr('x1', $$.xgridAttr.x1).attr('x2', $$.xgridAttr.x2).attr('y1', $$.xgridAttr.y1).attr('y2', $$.xgridAttr.y2).style(\"opacity\", $$.xgridAttr.opacity);\n }\n\n xgrid.exit().remove();\n };\n\n ChartInternal.prototype.updateYGrid = function () {\n var $$ = this,\n config = $$.config,\n gridValues = $$.yAxis.tickValues() || $$.y.ticks(config.grid_y_ticks);\n var ygrid = $$.main.select('.' + CLASS.ygrids).selectAll('.' + CLASS.ygrid).data(gridValues);\n var ygridEnter = ygrid.enter().append('line') // TODO: x1, x2, y1, y2, opacity need to be set here maybe\n .attr('class', CLASS.ygrid);\n $$.ygrid = ygridEnter.merge(ygrid);\n $$.ygrid.attr(\"x1\", config.axis_rotated ? $$.y : 0).attr(\"x2\", config.axis_rotated ? $$.y : $$.width).attr(\"y1\", config.axis_rotated ? 0 : $$.y).attr(\"y2\", config.axis_rotated ? $$.height : $$.y);\n ygrid.exit().remove();\n $$.smoothLines($$.ygrid, 'grid');\n };\n\n ChartInternal.prototype.gridTextAnchor = function (d) {\n return d.position ? d.position : \"end\";\n };\n\n ChartInternal.prototype.gridTextDx = function (d) {\n return d.position === 'start' ? 4 : d.position === 'middle' ? 0 : -4;\n };\n\n ChartInternal.prototype.xGridTextX = function (d) {\n return d.position === 'start' ? -this.height : d.position === 'middle' ? -this.height / 2 : 0;\n };\n\n ChartInternal.prototype.yGridTextX = function (d) {\n return d.position === 'start' ? 0 : d.position === 'middle' ? this.width / 2 : this.width;\n };\n\n ChartInternal.prototype.updateGrid = function (duration) {\n var $$ = this,\n main = $$.main,\n config = $$.config,\n xgridLine,\n xgridLineEnter,\n ygridLine,\n ygridLineEnter,\n xv = $$.xv.bind($$),\n yv = $$.yv.bind($$),\n xGridTextX = $$.xGridTextX.bind($$),\n yGridTextX = $$.yGridTextX.bind($$); // hide if arc type\n\n $$.grid.style('visibility', $$.hasArcType() ? 'hidden' : 'visible');\n main.select('line.' + CLASS.xgridFocus).style(\"visibility\", \"hidden\");\n\n if (config.grid_x_show) {\n $$.updateXGrid();\n }\n\n xgridLine = main.select('.' + CLASS.xgridLines).selectAll('.' + CLASS.xgridLine).data(config.grid_x_lines); // enter\n\n xgridLineEnter = xgridLine.enter().append('g').attr(\"class\", function (d) {\n return CLASS.xgridLine + (d['class'] ? ' ' + d['class'] : '');\n });\n xgridLineEnter.append('line').attr(\"x1\", config.axis_rotated ? 0 : xv).attr(\"x2\", config.axis_rotated ? $$.width : xv).attr(\"y1\", config.axis_rotated ? xv : 0).attr(\"y2\", config.axis_rotated ? xv : $$.height).style(\"opacity\", 0);\n xgridLineEnter.append('text').attr(\"text-anchor\", $$.gridTextAnchor).attr(\"transform\", config.axis_rotated ? \"\" : \"rotate(-90)\").attr(\"x\", config.axis_rotated ? yGridTextX : xGridTextX).attr(\"y\", xv).attr('dx', $$.gridTextDx).attr('dy', -5).style(\"opacity\", 0); // udpate\n\n $$.xgridLines = xgridLineEnter.merge(xgridLine); // done in d3.transition() of the end of this function\n // exit\n\n xgridLine.exit().transition().duration(duration).style(\"opacity\", 0).remove(); // Y-Grid\n\n if (config.grid_y_show) {\n $$.updateYGrid();\n }\n\n ygridLine = main.select('.' + CLASS.ygridLines).selectAll('.' + CLASS.ygridLine).data(config.grid_y_lines); // enter\n\n ygridLineEnter = ygridLine.enter().append('g').attr(\"class\", function (d) {\n return CLASS.ygridLine + (d['class'] ? ' ' + d['class'] : '');\n });\n ygridLineEnter.append('line').attr(\"x1\", config.axis_rotated ? yv : 0).attr(\"x2\", config.axis_rotated ? yv : $$.width).attr(\"y1\", config.axis_rotated ? 0 : yv).attr(\"y2\", config.axis_rotated ? $$.height : yv).style(\"opacity\", 0);\n ygridLineEnter.append('text').attr(\"text-anchor\", $$.gridTextAnchor).attr(\"transform\", config.axis_rotated ? \"rotate(-90)\" : \"\").attr(\"x\", config.axis_rotated ? xGridTextX : yGridTextX).attr(\"y\", yv).attr('dx', $$.gridTextDx).attr('dy', -5).style(\"opacity\", 0); // update\n\n $$.ygridLines = ygridLineEnter.merge(ygridLine);\n $$.ygridLines.select('line').transition().duration(duration).attr(\"x1\", config.axis_rotated ? yv : 0).attr(\"x2\", config.axis_rotated ? yv : $$.width).attr(\"y1\", config.axis_rotated ? 0 : yv).attr(\"y2\", config.axis_rotated ? $$.height : yv).style(\"opacity\", 1);\n $$.ygridLines.select('text').transition().duration(duration).attr(\"x\", config.axis_rotated ? $$.xGridTextX.bind($$) : $$.yGridTextX.bind($$)).attr(\"y\", yv).text(function (d) {\n return d.text;\n }).style(\"opacity\", 1); // exit\n\n ygridLine.exit().transition().duration(duration).style(\"opacity\", 0).remove();\n };\n\n ChartInternal.prototype.redrawGrid = function (withTransition, transition) {\n var $$ = this,\n config = $$.config,\n xv = $$.xv.bind($$),\n lines = $$.xgridLines.select('line'),\n texts = $$.xgridLines.select('text');\n return [(withTransition ? lines.transition(transition) : lines).attr(\"x1\", config.axis_rotated ? 0 : xv).attr(\"x2\", config.axis_rotated ? $$.width : xv).attr(\"y1\", config.axis_rotated ? xv : 0).attr(\"y2\", config.axis_rotated ? xv : $$.height).style(\"opacity\", 1), (withTransition ? texts.transition(transition) : texts).attr(\"x\", config.axis_rotated ? $$.yGridTextX.bind($$) : $$.xGridTextX.bind($$)).attr(\"y\", xv).text(function (d) {\n return d.text;\n }).style(\"opacity\", 1)];\n };\n\n ChartInternal.prototype.showXGridFocus = function (selectedData) {\n var $$ = this,\n config = $$.config,\n dataToShow = selectedData.filter(function (d) {\n return d && isValue(d.value);\n }),\n focusEl = $$.main.selectAll('line.' + CLASS.xgridFocus),\n xx = $$.xx.bind($$);\n\n if (!config.tooltip_show) {\n return;\n } // Hide when scatter plot exists\n\n\n if ($$.hasType('scatter') || $$.hasArcType()) {\n return;\n }\n\n focusEl.style(\"visibility\", \"visible\").data([dataToShow[0]]).attr(config.axis_rotated ? 'y1' : 'x1', xx).attr(config.axis_rotated ? 'y2' : 'x2', xx);\n $$.smoothLines(focusEl, 'grid');\n };\n\n ChartInternal.prototype.hideXGridFocus = function () {\n this.main.select('line.' + CLASS.xgridFocus).style(\"visibility\", \"hidden\");\n };\n\n ChartInternal.prototype.updateXgridFocus = function () {\n var $$ = this,\n config = $$.config;\n $$.main.select('line.' + CLASS.xgridFocus).attr(\"x1\", config.axis_rotated ? 0 : -10).attr(\"x2\", config.axis_rotated ? $$.width : -10).attr(\"y1\", config.axis_rotated ? -10 : 0).attr(\"y2\", config.axis_rotated ? -10 : $$.height);\n };\n\n ChartInternal.prototype.generateGridData = function (type, scale) {\n var $$ = this,\n gridData = [],\n xDomain,\n firstYear,\n lastYear,\n i,\n tickNum = $$.main.select(\".\" + CLASS.axisX).selectAll('.tick').size();\n\n if (type === 'year') {\n xDomain = $$.getXDomain();\n firstYear = xDomain[0].getFullYear();\n lastYear = xDomain[1].getFullYear();\n\n for (i = firstYear; i <= lastYear; i++) {\n gridData.push(new Date(i + '-01-01 00:00:00'));\n }\n } else {\n gridData = scale.ticks(10);\n\n if (gridData.length > tickNum) {\n // use only int\n gridData = gridData.filter(function (d) {\n return (\"\" + d).indexOf('.') < 0;\n });\n }\n }\n\n return gridData;\n };\n\n ChartInternal.prototype.getGridFilterToRemove = function (params) {\n return params ? function (line) {\n var found = false;\n [].concat(params).forEach(function (param) {\n if ('value' in param && line.value === param.value || 'class' in param && line['class'] === param['class']) {\n found = true;\n }\n });\n return found;\n } : function () {\n return true;\n };\n };\n\n ChartInternal.prototype.removeGridLines = function (params, forX) {\n var $$ = this,\n config = $$.config,\n toRemove = $$.getGridFilterToRemove(params),\n toShow = function toShow(line) {\n return !toRemove(line);\n },\n classLines = forX ? CLASS.xgridLines : CLASS.ygridLines,\n classLine = forX ? CLASS.xgridLine : CLASS.ygridLine;\n\n $$.main.select('.' + classLines).selectAll('.' + classLine).filter(toRemove).transition().duration(config.transition_duration).style('opacity', 0).remove();\n\n if (forX) {\n config.grid_x_lines = config.grid_x_lines.filter(toShow);\n } else {\n config.grid_y_lines = config.grid_y_lines.filter(toShow);\n }\n };\n\n ChartInternal.prototype.initEventRect = function () {\n var $$ = this,\n config = $$.config;\n $$.main.select('.' + CLASS.chart).append(\"g\").attr(\"class\", CLASS.eventRects).style('fill-opacity', 0);\n $$.eventRect = $$.main.select('.' + CLASS.eventRects).append('rect').attr('class', CLASS.eventRect); // event rect handle zoom event as well\n\n if (config.zoom_enabled && $$.zoom) {\n $$.eventRect.call($$.zoom).on(\"dblclick.zoom\", null);\n\n if (config.zoom_initialRange) {\n // WORKAROUND: Add transition to apply transform immediately when no subchart\n $$.eventRect.transition().duration(0).call($$.zoom.transform, $$.zoomTransform(config.zoom_initialRange));\n }\n }\n };\n\n ChartInternal.prototype.redrawEventRect = function () {\n var $$ = this,\n d3 = $$.d3,\n config = $$.config,\n x,\n y,\n w,\n h; // TODO: rotated not supported yet\n\n x = 0;\n y = 0;\n w = $$.width;\n h = $$.height;\n\n function mouseout() {\n $$.svg.select('.' + CLASS.eventRect).style('cursor', null);\n $$.hideXGridFocus();\n $$.hideTooltip();\n $$.unexpandCircles();\n $$.unexpandBars();\n } // rects for mouseover\n\n\n $$.main.select('.' + CLASS.eventRects).style('cursor', config.zoom_enabled ? config.axis_rotated ? 'ns-resize' : 'ew-resize' : null);\n $$.eventRect.attr('x', x).attr('y', y).attr('width', w).attr('height', h).on('mouseout', config.interaction_enabled ? function () {\n if (!config) {\n return;\n } // chart is destroyed\n\n\n if ($$.hasArcType()) {\n return;\n }\n\n mouseout();\n } : null).on('mousemove', config.interaction_enabled ? function () {\n var targetsToShow, mouse, closest, sameXData, selectedData;\n\n if ($$.dragging) {\n return;\n } // do nothing when dragging\n\n\n if ($$.hasArcType(targetsToShow)) {\n return;\n }\n\n targetsToShow = $$.filterTargetsToShow($$.data.targets);\n mouse = d3.mouse(this);\n closest = $$.findClosestFromTargets(targetsToShow, mouse);\n\n if ($$.mouseover && (!closest || closest.id !== $$.mouseover.id)) {\n config.data_onmouseout.call($$.api, $$.mouseover);\n $$.mouseover = undefined;\n }\n\n if (!closest) {\n mouseout();\n return;\n }\n\n if ($$.isScatterType(closest) || !config.tooltip_grouped) {\n sameXData = [closest];\n } else {\n sameXData = $$.filterByX(targetsToShow, closest.x);\n } // show tooltip when cursor is close to some point\n\n\n selectedData = sameXData.map(function (d) {\n return $$.addName(d);\n });\n $$.showTooltip(selectedData, this); // expand points\n\n if (config.point_focus_expand_enabled) {\n $$.unexpandCircles();\n selectedData.forEach(function (d) {\n $$.expandCircles(d.index, d.id, false);\n });\n }\n\n $$.expandBars(closest.index, closest.id, true); // Show xgrid focus line\n\n $$.showXGridFocus(selectedData); // Show cursor as pointer if point is close to mouse position\n\n if ($$.isBarType(closest.id) || $$.dist(closest, mouse) < config.point_sensitivity) {\n $$.svg.select('.' + CLASS.eventRect).style('cursor', 'pointer');\n\n if (!$$.mouseover) {\n config.data_onmouseover.call($$.api, closest);\n $$.mouseover = closest;\n }\n }\n } : null).on('click', config.interaction_enabled ? function () {\n var targetsToShow, mouse, closest, sameXData;\n\n if ($$.hasArcType(targetsToShow)) {\n return;\n }\n\n targetsToShow = $$.filterTargetsToShow($$.data.targets);\n mouse = d3.mouse(this);\n closest = $$.findClosestFromTargets(targetsToShow, mouse);\n\n if (!closest) {\n return;\n } // select if selection enabled\n\n\n if ($$.isBarType(closest.id) || $$.dist(closest, mouse) < config.point_sensitivity) {\n if ($$.isScatterType(closest) || !config.data_selection_grouped) {\n sameXData = [closest];\n } else {\n sameXData = $$.filterByX(targetsToShow, closest.x);\n }\n\n sameXData.forEach(function (d) {\n $$.main.selectAll('.' + CLASS.shapes + $$.getTargetSelectorSuffix(d.id)).selectAll('.' + CLASS.shape + '-' + d.index).each(function () {\n if (config.data_selection_grouped || $$.isWithinShape(this, d)) {\n $$.toggleShape(this, d, d.index);\n config.data_onclick.call($$.api, d, this);\n }\n });\n });\n }\n } : null).call(config.interaction_enabled && config.data_selection_draggable && $$.drag ? d3.drag().on('drag', function () {\n $$.drag(d3.mouse(this));\n }).on('start', function () {\n $$.dragstart(d3.mouse(this));\n }).on('end', function () {\n $$.dragend();\n }) : function () {});\n };\n\n ChartInternal.prototype.getMousePosition = function (data) {\n var $$ = this;\n return [$$.x(data.x), $$.getYScale(data.id)(data.value)];\n };\n\n ChartInternal.prototype.dispatchEvent = function (type, mouse) {\n var $$ = this,\n selector = '.' + CLASS.eventRect,\n eventRect = $$.main.select(selector).node(),\n box = eventRect.getBoundingClientRect(),\n x = box.left + (mouse ? mouse[0] : 0),\n y = box.top + (mouse ? mouse[1] : 0),\n event = document.createEvent(\"MouseEvents\");\n event.initMouseEvent(type, true, true, window, 0, x, y, x, y, false, false, false, false, 0, null);\n eventRect.dispatchEvent(event);\n };\n\n ChartInternal.prototype.initLegend = function () {\n var $$ = this;\n $$.legendItemTextBox = {};\n $$.legendHasRendered = false;\n $$.legend = $$.svg.append(\"g\").attr(\"transform\", $$.getTranslate('legend'));\n\n if (!$$.config.legend_show) {\n $$.legend.style('visibility', 'hidden');\n $$.hiddenLegendIds = $$.mapToIds($$.data.targets);\n return;\n } // MEMO: call here to update legend box and tranlate for all\n // MEMO: translate will be upated by this, so transform not needed in updateLegend()\n\n\n $$.updateLegendWithDefaults();\n };\n\n ChartInternal.prototype.updateLegendWithDefaults = function () {\n var $$ = this;\n $$.updateLegend($$.mapToIds($$.data.targets), {\n withTransform: false,\n withTransitionForTransform: false,\n withTransition: false\n });\n };\n\n ChartInternal.prototype.updateSizeForLegend = function (legendHeight, legendWidth) {\n var $$ = this,\n config = $$.config,\n insetLegendPosition = {\n top: $$.isLegendTop ? $$.getCurrentPaddingTop() + config.legend_inset_y + 5.5 : $$.currentHeight - legendHeight - $$.getCurrentPaddingBottom() - config.legend_inset_y,\n left: $$.isLegendLeft ? $$.getCurrentPaddingLeft() + config.legend_inset_x + 0.5 : $$.currentWidth - legendWidth - $$.getCurrentPaddingRight() - config.legend_inset_x + 0.5\n };\n $$.margin3 = {\n top: $$.isLegendRight ? 0 : $$.isLegendInset ? insetLegendPosition.top : $$.currentHeight - legendHeight,\n right: NaN,\n bottom: 0,\n left: $$.isLegendRight ? $$.currentWidth - legendWidth : $$.isLegendInset ? insetLegendPosition.left : 0\n };\n };\n\n ChartInternal.prototype.transformLegend = function (withTransition) {\n var $$ = this;\n (withTransition ? $$.legend.transition() : $$.legend).attr(\"transform\", $$.getTranslate('legend'));\n };\n\n ChartInternal.prototype.updateLegendStep = function (step) {\n this.legendStep = step;\n };\n\n ChartInternal.prototype.updateLegendItemWidth = function (w) {\n this.legendItemWidth = w;\n };\n\n ChartInternal.prototype.updateLegendItemHeight = function (h) {\n this.legendItemHeight = h;\n };\n\n ChartInternal.prototype.getLegendWidth = function () {\n var $$ = this;\n return $$.config.legend_show ? $$.isLegendRight || $$.isLegendInset ? $$.legendItemWidth * ($$.legendStep + 1) : $$.currentWidth : 0;\n };\n\n ChartInternal.prototype.getLegendHeight = function () {\n var $$ = this,\n h = 0;\n\n if ($$.config.legend_show) {\n if ($$.isLegendRight) {\n h = $$.currentHeight;\n } else {\n h = Math.max(20, $$.legendItemHeight) * ($$.legendStep + 1);\n }\n }\n\n return h;\n };\n\n ChartInternal.prototype.opacityForLegend = function (legendItem) {\n return legendItem.classed(CLASS.legendItemHidden) ? null : 1;\n };\n\n ChartInternal.prototype.opacityForUnfocusedLegend = function (legendItem) {\n return legendItem.classed(CLASS.legendItemHidden) ? null : 0.3;\n };\n\n ChartInternal.prototype.toggleFocusLegend = function (targetIds, focus) {\n var $$ = this;\n targetIds = $$.mapToTargetIds(targetIds);\n $$.legend.selectAll('.' + CLASS.legendItem).filter(function (id) {\n return targetIds.indexOf(id) >= 0;\n }).classed(CLASS.legendItemFocused, focus).transition().duration(100).style('opacity', function () {\n var opacity = focus ? $$.opacityForLegend : $$.opacityForUnfocusedLegend;\n return opacity.call($$, $$.d3.select(this));\n });\n };\n\n ChartInternal.prototype.revertLegend = function () {\n var $$ = this,\n d3 = $$.d3;\n $$.legend.selectAll('.' + CLASS.legendItem).classed(CLASS.legendItemFocused, false).transition().duration(100).style('opacity', function () {\n return $$.opacityForLegend(d3.select(this));\n });\n };\n\n ChartInternal.prototype.showLegend = function (targetIds) {\n var $$ = this,\n config = $$.config;\n\n if (!config.legend_show) {\n config.legend_show = true;\n $$.legend.style('visibility', 'visible');\n\n if (!$$.legendHasRendered) {\n $$.updateLegendWithDefaults();\n }\n }\n\n $$.removeHiddenLegendIds(targetIds);\n $$.legend.selectAll($$.selectorLegends(targetIds)).style('visibility', 'visible').transition().style('opacity', function () {\n return $$.opacityForLegend($$.d3.select(this));\n });\n };\n\n ChartInternal.prototype.hideLegend = function (targetIds) {\n var $$ = this,\n config = $$.config;\n\n if (config.legend_show && isEmpty(targetIds)) {\n config.legend_show = false;\n $$.legend.style('visibility', 'hidden');\n }\n\n $$.addHiddenLegendIds(targetIds);\n $$.legend.selectAll($$.selectorLegends(targetIds)).style('opacity', 0).style('visibility', 'hidden');\n };\n\n ChartInternal.prototype.clearLegendItemTextBoxCache = function () {\n this.legendItemTextBox = {};\n };\n\n ChartInternal.prototype.updateLegend = function (targetIds, options, transitions) {\n var $$ = this,\n config = $$.config;\n var xForLegend, xForLegendText, xForLegendRect, yForLegend, yForLegendText, yForLegendRect, x1ForLegendTile, x2ForLegendTile, yForLegendTile;\n var paddingTop = 4,\n paddingRight = 10,\n maxWidth = 0,\n maxHeight = 0,\n posMin = 10,\n tileWidth = config.legend_item_tile_width + 5;\n var l,\n totalLength = 0,\n offsets = {},\n widths = {},\n heights = {},\n margins = [0],\n steps = {},\n step = 0;\n var withTransition, withTransitionForTransform;\n var texts, rects, tiles, background; // Skip elements when their name is set to null\n\n targetIds = targetIds.filter(function (id) {\n return !isDefined(config.data_names[id]) || config.data_names[id] !== null;\n });\n options = options || {};\n withTransition = getOption(options, \"withTransition\", true);\n withTransitionForTransform = getOption(options, \"withTransitionForTransform\", true);\n\n function getTextBox(textElement, id) {\n if (!$$.legendItemTextBox[id]) {\n $$.legendItemTextBox[id] = $$.getTextRect(textElement.textContent, CLASS.legendItem, textElement);\n }\n\n return $$.legendItemTextBox[id];\n }\n\n function updatePositions(textElement, id, index) {\n var reset = index === 0,\n isLast = index === targetIds.length - 1,\n box = getTextBox(textElement, id),\n itemWidth = box.width + tileWidth + (isLast && !($$.isLegendRight || $$.isLegendInset) ? 0 : paddingRight) + config.legend_padding,\n itemHeight = box.height + paddingTop,\n itemLength = $$.isLegendRight || $$.isLegendInset ? itemHeight : itemWidth,\n areaLength = $$.isLegendRight || $$.isLegendInset ? $$.getLegendHeight() : $$.getLegendWidth(),\n margin,\n maxLength; // MEMO: care about condifion of step, totalLength\n\n function updateValues(id, withoutStep) {\n if (!withoutStep) {\n margin = (areaLength - totalLength - itemLength) / 2;\n\n if (margin < posMin) {\n margin = (areaLength - itemLength) / 2;\n totalLength = 0;\n step++;\n }\n }\n\n steps[id] = step;\n margins[step] = $$.isLegendInset ? 10 : margin;\n offsets[id] = totalLength;\n totalLength += itemLength;\n }\n\n if (reset) {\n totalLength = 0;\n step = 0;\n maxWidth = 0;\n maxHeight = 0;\n }\n\n if (config.legend_show && !$$.isLegendToShow(id)) {\n widths[id] = heights[id] = steps[id] = offsets[id] = 0;\n return;\n }\n\n widths[id] = itemWidth;\n heights[id] = itemHeight;\n\n if (!maxWidth || itemWidth >= maxWidth) {\n maxWidth = itemWidth;\n }\n\n if (!maxHeight || itemHeight >= maxHeight) {\n maxHeight = itemHeight;\n }\n\n maxLength = $$.isLegendRight || $$.isLegendInset ? maxHeight : maxWidth;\n\n if (config.legend_equally) {\n Object.keys(widths).forEach(function (id) {\n widths[id] = maxWidth;\n });\n Object.keys(heights).forEach(function (id) {\n heights[id] = maxHeight;\n });\n margin = (areaLength - maxLength * targetIds.length) / 2;\n\n if (margin < posMin) {\n totalLength = 0;\n step = 0;\n targetIds.forEach(function (id) {\n updateValues(id);\n });\n } else {\n updateValues(id, true);\n }\n } else {\n updateValues(id);\n }\n }\n\n if ($$.isLegendInset) {\n step = config.legend_inset_step ? config.legend_inset_step : targetIds.length;\n $$.updateLegendStep(step);\n }\n\n if ($$.isLegendRight) {\n xForLegend = function xForLegend(id) {\n return maxWidth * steps[id];\n };\n\n yForLegend = function yForLegend(id) {\n return margins[steps[id]] + offsets[id];\n };\n } else if ($$.isLegendInset) {\n xForLegend = function xForLegend(id) {\n return maxWidth * steps[id] + 10;\n };\n\n yForLegend = function yForLegend(id) {\n return margins[steps[id]] + offsets[id];\n };\n } else {\n xForLegend = function xForLegend(id) {\n return margins[steps[id]] + offsets[id];\n };\n\n yForLegend = function yForLegend(id) {\n return maxHeight * steps[id];\n };\n }\n\n xForLegendText = function xForLegendText(id, i) {\n return xForLegend(id, i) + 4 + config.legend_item_tile_width;\n };\n\n yForLegendText = function yForLegendText(id, i) {\n return yForLegend(id, i) + 9;\n };\n\n xForLegendRect = function xForLegendRect(id, i) {\n return xForLegend(id, i);\n };\n\n yForLegendRect = function yForLegendRect(id, i) {\n return yForLegend(id, i) - 5;\n };\n\n x1ForLegendTile = function x1ForLegendTile(id, i) {\n return xForLegend(id, i) - 2;\n };\n\n x2ForLegendTile = function x2ForLegendTile(id, i) {\n return xForLegend(id, i) - 2 + config.legend_item_tile_width;\n };\n\n yForLegendTile = function yForLegendTile(id, i) {\n return yForLegend(id, i) + 4;\n }; // Define g for legend area\n\n\n l = $$.legend.selectAll('.' + CLASS.legendItem).data(targetIds).enter().append('g').attr('class', function (id) {\n return $$.generateClass(CLASS.legendItem, id);\n }).style('visibility', function (id) {\n return $$.isLegendToShow(id) ? 'visible' : 'hidden';\n }).style('cursor', 'pointer').on('click', function (id) {\n if (config.legend_item_onclick) {\n config.legend_item_onclick.call($$, id);\n } else {\n if ($$.d3.event.altKey) {\n $$.api.hide();\n $$.api.show(id);\n } else {\n $$.api.toggle(id);\n $$.isTargetToShow(id) ? $$.api.focus(id) : $$.api.revert();\n }\n }\n }).on('mouseover', function (id) {\n if (config.legend_item_onmouseover) {\n config.legend_item_onmouseover.call($$, id);\n } else {\n $$.d3.select(this).classed(CLASS.legendItemFocused, true);\n\n if (!$$.transiting && $$.isTargetToShow(id)) {\n $$.api.focus(id);\n }\n }\n }).on('mouseout', function (id) {\n if (config.legend_item_onmouseout) {\n config.legend_item_onmouseout.call($$, id);\n } else {\n $$.d3.select(this).classed(CLASS.legendItemFocused, false);\n $$.api.revert();\n }\n });\n l.append('text').text(function (id) {\n return isDefined(config.data_names[id]) ? config.data_names[id] : id;\n }).each(function (id, i) {\n updatePositions(this, id, i);\n }).style(\"pointer-events\", \"none\").attr('x', $$.isLegendRight || $$.isLegendInset ? xForLegendText : -200).attr('y', $$.isLegendRight || $$.isLegendInset ? -200 : yForLegendText);\n l.append('rect').attr(\"class\", CLASS.legendItemEvent).style('fill-opacity', 0).attr('x', $$.isLegendRight || $$.isLegendInset ? xForLegendRect : -200).attr('y', $$.isLegendRight || $$.isLegendInset ? -200 : yForLegendRect);\n l.append('line').attr('class', CLASS.legendItemTile).style('stroke', $$.color).style(\"pointer-events\", \"none\").attr('x1', $$.isLegendRight || $$.isLegendInset ? x1ForLegendTile : -200).attr('y1', $$.isLegendRight || $$.isLegendInset ? -200 : yForLegendTile).attr('x2', $$.isLegendRight || $$.isLegendInset ? x2ForLegendTile : -200).attr('y2', $$.isLegendRight || $$.isLegendInset ? -200 : yForLegendTile).attr('stroke-width', config.legend_item_tile_height); // Set background for inset legend\n\n background = $$.legend.select('.' + CLASS.legendBackground + ' rect');\n\n if ($$.isLegendInset && maxWidth > 0 && background.size() === 0) {\n background = $$.legend.insert('g', '.' + CLASS.legendItem).attr(\"class\", CLASS.legendBackground).append('rect');\n }\n\n texts = $$.legend.selectAll('text').data(targetIds).text(function (id) {\n return isDefined(config.data_names[id]) ? config.data_names[id] : id;\n }) // MEMO: needed for update\n .each(function (id, i) {\n updatePositions(this, id, i);\n });\n (withTransition ? texts.transition() : texts).attr('x', xForLegendText).attr('y', yForLegendText);\n rects = $$.legend.selectAll('rect.' + CLASS.legendItemEvent).data(targetIds);\n (withTransition ? rects.transition() : rects).attr('width', function (id) {\n return widths[id];\n }).attr('height', function (id) {\n return heights[id];\n }).attr('x', xForLegendRect).attr('y', yForLegendRect);\n tiles = $$.legend.selectAll('line.' + CLASS.legendItemTile).data(targetIds);\n (withTransition ? tiles.transition() : tiles).style('stroke', $$.levelColor ? function (id) {\n return $$.levelColor($$.cache[id].values[0].value);\n } : $$.color).attr('x1', x1ForLegendTile).attr('y1', yForLegendTile).attr('x2', x2ForLegendTile).attr('y2', yForLegendTile);\n\n if (background) {\n (withTransition ? background.transition() : background).attr('height', $$.getLegendHeight() - 12).attr('width', maxWidth * (step + 1) + 10);\n } // toggle legend state\n\n\n $$.legend.selectAll('.' + CLASS.legendItem).classed(CLASS.legendItemHidden, function (id) {\n return !$$.isTargetToShow(id);\n }); // Update all to reflect change of legend\n\n $$.updateLegendItemWidth(maxWidth);\n $$.updateLegendItemHeight(maxHeight);\n $$.updateLegendStep(step); // Update size and scale\n\n $$.updateSizes();\n $$.updateScales();\n $$.updateSvgSize(); // Update g positions\n\n $$.transformAll(withTransitionForTransform, transitions);\n $$.legendHasRendered = true;\n };\n\n ChartInternal.prototype.initRegion = function () {\n var $$ = this;\n $$.region = $$.main.append('g').attr(\"clip-path\", $$.clipPath).attr(\"class\", CLASS.regions);\n };\n\n ChartInternal.prototype.updateRegion = function (duration) {\n var $$ = this,\n config = $$.config; // hide if arc type\n\n $$.region.style('visibility', $$.hasArcType() ? 'hidden' : 'visible');\n var mainRegion = $$.main.select('.' + CLASS.regions).selectAll('.' + CLASS.region).data(config.regions);\n var mainRegionEnter = mainRegion.enter().append('rect').attr(\"x\", $$.regionX.bind($$)).attr(\"y\", $$.regionY.bind($$)).attr(\"width\", $$.regionWidth.bind($$)).attr(\"height\", $$.regionHeight.bind($$)).style(\"fill-opacity\", 0);\n $$.mainRegion = mainRegionEnter.merge(mainRegion).attr('class', $$.classRegion.bind($$));\n mainRegion.exit().transition().duration(duration).style(\"opacity\", 0).remove();\n };\n\n ChartInternal.prototype.redrawRegion = function (withTransition, transition) {\n var $$ = this,\n regions = $$.mainRegion;\n return [(withTransition ? regions.transition(transition) : regions).attr(\"x\", $$.regionX.bind($$)).attr(\"y\", $$.regionY.bind($$)).attr(\"width\", $$.regionWidth.bind($$)).attr(\"height\", $$.regionHeight.bind($$)).style(\"fill-opacity\", function (d) {\n return isValue(d.opacity) ? d.opacity : 0.1;\n })];\n };\n\n ChartInternal.prototype.regionX = function (d) {\n var $$ = this,\n config = $$.config,\n xPos,\n yScale = d.axis === 'y' ? $$.y : $$.y2;\n\n if (d.axis === 'y' || d.axis === 'y2') {\n xPos = config.axis_rotated ? 'start' in d ? yScale(d.start) : 0 : 0;\n } else {\n xPos = config.axis_rotated ? 0 : 'start' in d ? $$.x($$.isTimeSeries() ? $$.parseDate(d.start) : d.start) : 0;\n }\n\n return xPos;\n };\n\n ChartInternal.prototype.regionY = function (d) {\n var $$ = this,\n config = $$.config,\n yPos,\n yScale = d.axis === 'y' ? $$.y : $$.y2;\n\n if (d.axis === 'y' || d.axis === 'y2') {\n yPos = config.axis_rotated ? 0 : 'end' in d ? yScale(d.end) : 0;\n } else {\n yPos = config.axis_rotated ? 'start' in d ? $$.x($$.isTimeSeries() ? $$.parseDate(d.start) : d.start) : 0 : 0;\n }\n\n return yPos;\n };\n\n ChartInternal.prototype.regionWidth = function (d) {\n var $$ = this,\n config = $$.config,\n start = $$.regionX(d),\n end,\n yScale = d.axis === 'y' ? $$.y : $$.y2;\n\n if (d.axis === 'y' || d.axis === 'y2') {\n end = config.axis_rotated ? 'end' in d ? yScale(d.end) : $$.width : $$.width;\n } else {\n end = config.axis_rotated ? $$.width : 'end' in d ? $$.x($$.isTimeSeries() ? $$.parseDate(d.end) : d.end) : $$.width;\n }\n\n return end < start ? 0 : end - start;\n };\n\n ChartInternal.prototype.regionHeight = function (d) {\n var $$ = this,\n config = $$.config,\n start = this.regionY(d),\n end,\n yScale = d.axis === 'y' ? $$.y : $$.y2;\n\n if (d.axis === 'y' || d.axis === 'y2') {\n end = config.axis_rotated ? $$.height : 'start' in d ? yScale(d.start) : $$.height;\n } else {\n end = config.axis_rotated ? 'end' in d ? $$.x($$.isTimeSeries() ? $$.parseDate(d.end) : d.end) : $$.height : $$.height;\n }\n\n return end < start ? 0 : end - start;\n };\n\n ChartInternal.prototype.isRegionOnX = function (d) {\n return !d.axis || d.axis === 'x';\n };\n\n ChartInternal.prototype.getScale = function (min, max, forTimeseries) {\n return (forTimeseries ? this.d3.scaleTime() : this.d3.scaleLinear()).range([min, max]);\n };\n\n ChartInternal.prototype.getX = function (min, max, domain, offset) {\n var $$ = this,\n scale = $$.getScale(min, max, $$.isTimeSeries()),\n _scale = domain ? scale.domain(domain) : scale,\n key; // Define customized scale if categorized axis\n\n\n if ($$.isCategorized()) {\n offset = offset || function () {\n return 0;\n };\n\n scale = function scale(d, raw) {\n var v = _scale(d) + offset(d);\n return raw ? v : Math.ceil(v);\n };\n } else {\n scale = function scale(d, raw) {\n var v = _scale(d);\n\n return raw ? v : Math.ceil(v);\n };\n } // define functions\n\n\n for (key in _scale) {\n scale[key] = _scale[key];\n }\n\n scale.orgDomain = function () {\n return _scale.domain();\n }; // define custom domain() for categorized axis\n\n\n if ($$.isCategorized()) {\n scale.domain = function (domain) {\n if (!arguments.length) {\n domain = this.orgDomain();\n return [domain[0], domain[1] + 1];\n }\n\n _scale.domain(domain);\n\n return scale;\n };\n }\n\n return scale;\n };\n\n ChartInternal.prototype.getY = function (min, max, domain) {\n var scale = this.getScale(min, max, this.isTimeSeriesY());\n\n if (domain) {\n scale.domain(domain);\n }\n\n return scale;\n };\n\n ChartInternal.prototype.getYScale = function (id) {\n return this.axis.getId(id) === 'y2' ? this.y2 : this.y;\n };\n\n ChartInternal.prototype.getSubYScale = function (id) {\n return this.axis.getId(id) === 'y2' ? this.subY2 : this.subY;\n };\n\n ChartInternal.prototype.updateScales = function () {\n var $$ = this,\n config = $$.config,\n forInit = !$$.x; // update edges\n\n $$.xMin = config.axis_rotated ? 1 : 0;\n $$.xMax = config.axis_rotated ? $$.height : $$.width;\n $$.yMin = config.axis_rotated ? 0 : $$.height;\n $$.yMax = config.axis_rotated ? $$.width : 1;\n $$.subXMin = $$.xMin;\n $$.subXMax = $$.xMax;\n $$.subYMin = config.axis_rotated ? 0 : $$.height2;\n $$.subYMax = config.axis_rotated ? $$.width2 : 1; // update scales\n\n $$.x = $$.getX($$.xMin, $$.xMax, forInit ? undefined : $$.x.orgDomain(), function () {\n return $$.xAxis.tickOffset();\n });\n $$.y = $$.getY($$.yMin, $$.yMax, forInit ? config.axis_y_default : $$.y.domain());\n $$.y2 = $$.getY($$.yMin, $$.yMax, forInit ? config.axis_y2_default : $$.y2.domain());\n $$.subX = $$.getX($$.xMin, $$.xMax, $$.orgXDomain, function (d) {\n return d % 1 ? 0 : $$.subXAxis.tickOffset();\n });\n $$.subY = $$.getY($$.subYMin, $$.subYMax, forInit ? config.axis_y_default : $$.subY.domain());\n $$.subY2 = $$.getY($$.subYMin, $$.subYMax, forInit ? config.axis_y2_default : $$.subY2.domain()); // update axes\n\n $$.xAxisTickFormat = $$.axis.getXAxisTickFormat();\n $$.xAxisTickValues = $$.axis.getXAxisTickValues();\n $$.yAxisTickValues = $$.axis.getYAxisTickValues();\n $$.y2AxisTickValues = $$.axis.getY2AxisTickValues();\n $$.xAxis = $$.axis.getXAxis($$.x, $$.xOrient, $$.xAxisTickFormat, $$.xAxisTickValues, config.axis_x_tick_outer);\n $$.subXAxis = $$.axis.getXAxis($$.subX, $$.subXOrient, $$.xAxisTickFormat, $$.xAxisTickValues, config.axis_x_tick_outer);\n $$.yAxis = $$.axis.getYAxis($$.y, $$.yOrient, config.axis_y_tick_format, $$.yAxisTickValues, config.axis_y_tick_outer);\n $$.y2Axis = $$.axis.getYAxis($$.y2, $$.y2Orient, config.axis_y2_tick_format, $$.y2AxisTickValues, config.axis_y2_tick_outer); // Set initialized scales to brush and zoom\n\n if (!forInit) {\n if ($$.brush) {\n $$.brush.updateScale($$.subX);\n }\n } // update for arc\n\n\n if ($$.updateArc) {\n $$.updateArc();\n }\n };\n\n ChartInternal.prototype.selectPoint = function (target, d, i) {\n var $$ = this,\n config = $$.config,\n cx = (config.axis_rotated ? $$.circleY : $$.circleX).bind($$),\n cy = (config.axis_rotated ? $$.circleX : $$.circleY).bind($$),\n r = $$.pointSelectR.bind($$);\n config.data_onselected.call($$.api, d, target.node()); // add selected-circle on low layer g\n\n $$.main.select('.' + CLASS.selectedCircles + $$.getTargetSelectorSuffix(d.id)).selectAll('.' + CLASS.selectedCircle + '-' + i).data([d]).enter().append('circle').attr(\"class\", function () {\n return $$.generateClass(CLASS.selectedCircle, i);\n }).attr(\"cx\", cx).attr(\"cy\", cy).attr(\"stroke\", function () {\n return $$.color(d);\n }).attr(\"r\", function (d) {\n return $$.pointSelectR(d) * 1.4;\n }).transition().duration(100).attr(\"r\", r);\n };\n\n ChartInternal.prototype.unselectPoint = function (target, d, i) {\n var $$ = this;\n $$.config.data_onunselected.call($$.api, d, target.node()); // remove selected-circle from low layer g\n\n $$.main.select('.' + CLASS.selectedCircles + $$.getTargetSelectorSuffix(d.id)).selectAll('.' + CLASS.selectedCircle + '-' + i).transition().duration(100).attr('r', 0).remove();\n };\n\n ChartInternal.prototype.togglePoint = function (selected, target, d, i) {\n selected ? this.selectPoint(target, d, i) : this.unselectPoint(target, d, i);\n };\n\n ChartInternal.prototype.selectPath = function (target, d) {\n var $$ = this;\n $$.config.data_onselected.call($$, d, target.node());\n\n if ($$.config.interaction_brighten) {\n target.transition().duration(100).style(\"fill\", function () {\n return $$.d3.rgb($$.color(d)).brighter(0.75);\n });\n }\n };\n\n ChartInternal.prototype.unselectPath = function (target, d) {\n var $$ = this;\n $$.config.data_onunselected.call($$, d, target.node());\n\n if ($$.config.interaction_brighten) {\n target.transition().duration(100).style(\"fill\", function () {\n return $$.color(d);\n });\n }\n };\n\n ChartInternal.prototype.togglePath = function (selected, target, d, i) {\n selected ? this.selectPath(target, d, i) : this.unselectPath(target, d, i);\n };\n\n ChartInternal.prototype.getToggle = function (that, d) {\n var $$ = this,\n toggle;\n\n if (that.nodeName === 'circle') {\n if ($$.isStepType(d)) {\n // circle is hidden in step chart, so treat as within the click area\n toggle = function toggle() {}; // TODO: how to select step chart?\n\n } else {\n toggle = $$.togglePoint;\n }\n } else if (that.nodeName === 'path') {\n toggle = $$.togglePath;\n }\n\n return toggle;\n };\n\n ChartInternal.prototype.toggleShape = function (that, d, i) {\n var $$ = this,\n d3 = $$.d3,\n config = $$.config,\n shape = d3.select(that),\n isSelected = shape.classed(CLASS.SELECTED),\n toggle = $$.getToggle(that, d).bind($$);\n\n if (config.data_selection_enabled && config.data_selection_isselectable(d)) {\n if (!config.data_selection_multiple) {\n $$.main.selectAll('.' + CLASS.shapes + (config.data_selection_grouped ? $$.getTargetSelectorSuffix(d.id) : \"\")).selectAll('.' + CLASS.shape).each(function (d, i) {\n var shape = d3.select(this);\n\n if (shape.classed(CLASS.SELECTED)) {\n toggle(false, shape.classed(CLASS.SELECTED, false), d, i);\n }\n });\n }\n\n shape.classed(CLASS.SELECTED, !isSelected);\n toggle(!isSelected, shape, d, i);\n }\n };\n\n ChartInternal.prototype.initBar = function () {\n var $$ = this;\n $$.main.select('.' + CLASS.chart).append(\"g\").attr(\"class\", CLASS.chartBars);\n };\n\n ChartInternal.prototype.updateTargetsForBar = function (targets) {\n var $$ = this,\n config = $$.config,\n mainBars,\n mainBarEnter,\n classChartBar = $$.classChartBar.bind($$),\n classBars = $$.classBars.bind($$),\n classFocus = $$.classFocus.bind($$);\n mainBars = $$.main.select('.' + CLASS.chartBars).selectAll('.' + CLASS.chartBar).data(targets).attr('class', function (d) {\n return classChartBar(d) + classFocus(d);\n });\n mainBarEnter = mainBars.enter().append('g').attr('class', classChartBar).style(\"pointer-events\", \"none\"); // Bars for each data\n\n mainBarEnter.append('g').attr(\"class\", classBars).style(\"cursor\", function (d) {\n return config.data_selection_isselectable(d) ? \"pointer\" : null;\n });\n };\n\n ChartInternal.prototype.updateBar = function (durationForExit) {\n var $$ = this,\n barData = $$.barData.bind($$),\n classBar = $$.classBar.bind($$),\n initialOpacity = $$.initialOpacity.bind($$),\n color = function color(d) {\n return $$.color(d.id);\n };\n\n var mainBar = $$.main.selectAll('.' + CLASS.bars).selectAll('.' + CLASS.bar).data(barData);\n var mainBarEnter = mainBar.enter().append('path').attr(\"class\", classBar).style(\"stroke\", color).style(\"fill\", color);\n $$.mainBar = mainBarEnter.merge(mainBar).style(\"opacity\", initialOpacity);\n mainBar.exit().transition().duration(durationForExit).style(\"opacity\", 0);\n };\n\n ChartInternal.prototype.redrawBar = function (drawBar, withTransition, transition) {\n return [(withTransition ? this.mainBar.transition(transition) : this.mainBar).attr('d', drawBar).style(\"stroke\", this.color).style(\"fill\", this.color).style(\"opacity\", 1)];\n };\n\n ChartInternal.prototype.getBarW = function (axis, barTargetsNum) {\n var $$ = this,\n config = $$.config,\n w = typeof config.bar_width === 'number' ? config.bar_width : barTargetsNum ? axis.tickInterval() * config.bar_width_ratio / barTargetsNum : 0;\n return config.bar_width_max && w > config.bar_width_max ? config.bar_width_max : w;\n };\n\n ChartInternal.prototype.getBars = function (i, id) {\n var $$ = this;\n return (id ? $$.main.selectAll('.' + CLASS.bars + $$.getTargetSelectorSuffix(id)) : $$.main).selectAll('.' + CLASS.bar + (isValue(i) ? '-' + i : ''));\n };\n\n ChartInternal.prototype.expandBars = function (i, id, reset) {\n var $$ = this;\n\n if (reset) {\n $$.unexpandBars();\n }\n\n $$.getBars(i, id).classed(CLASS.EXPANDED, true);\n };\n\n ChartInternal.prototype.unexpandBars = function (i) {\n var $$ = this;\n $$.getBars(i).classed(CLASS.EXPANDED, false);\n };\n\n ChartInternal.prototype.generateDrawBar = function (barIndices, isSub) {\n var $$ = this,\n config = $$.config,\n getPoints = $$.generateGetBarPoints(barIndices, isSub);\n return function (d, i) {\n // 4 points that make a bar\n var points = getPoints(d, i); // switch points if axis is rotated, not applicable for sub chart\n\n var indexX = config.axis_rotated ? 1 : 0;\n var indexY = config.axis_rotated ? 0 : 1;\n var path = 'M ' + points[0][indexX] + ',' + points[0][indexY] + ' ' + 'L' + points[1][indexX] + ',' + points[1][indexY] + ' ' + 'L' + points[2][indexX] + ',' + points[2][indexY] + ' ' + 'L' + points[3][indexX] + ',' + points[3][indexY] + ' ' + 'z';\n return path;\n };\n };\n\n ChartInternal.prototype.generateGetBarPoints = function (barIndices, isSub) {\n var $$ = this,\n axis = isSub ? $$.subXAxis : $$.xAxis,\n barTargetsNum = barIndices.__max__ + 1,\n barW = $$.getBarW(axis, barTargetsNum),\n barX = $$.getShapeX(barW, barTargetsNum, barIndices, !!isSub),\n barY = $$.getShapeY(!!isSub),\n barOffset = $$.getShapeOffset($$.isBarType, barIndices, !!isSub),\n barSpaceOffset = barW * ($$.config.bar_space / 2),\n yScale = isSub ? $$.getSubYScale : $$.getYScale;\n return function (d, i) {\n var y0 = yScale.call($$, d.id)(0),\n offset = barOffset(d, i) || y0,\n // offset is for stacked bar chart\n posX = barX(d),\n posY = barY(d); // fix posY not to overflow opposite quadrant\n\n if ($$.config.axis_rotated) {\n if (0 < d.value && posY < y0 || d.value < 0 && y0 < posY) {\n posY = y0;\n }\n } // 4 points that make a bar\n\n\n return [[posX + barSpaceOffset, offset], [posX + barSpaceOffset, posY - (y0 - offset)], [posX + barW - barSpaceOffset, posY - (y0 - offset)], [posX + barW - barSpaceOffset, offset]];\n };\n };\n\n ChartInternal.prototype.isWithinBar = function (mouse, that) {\n var box = that.getBoundingClientRect(),\n seg0 = that.pathSegList.getItem(0),\n seg1 = that.pathSegList.getItem(1),\n x = Math.min(seg0.x, seg1.x),\n y = Math.min(seg0.y, seg1.y),\n w = box.width,\n h = box.height,\n offset = 2,\n sx = x - offset,\n ex = x + w + offset,\n sy = y + h + offset,\n ey = y - offset;\n return sx < mouse[0] && mouse[0] < ex && ey < mouse[1] && mouse[1] < sy;\n };\n\n ChartInternal.prototype.getShapeIndices = function (typeFilter) {\n var $$ = this,\n config = $$.config,\n indices = {},\n i = 0,\n j,\n k;\n $$.filterTargetsToShow($$.data.targets.filter(typeFilter, $$)).forEach(function (d) {\n for (j = 0; j < config.data_groups.length; j++) {\n if (config.data_groups[j].indexOf(d.id) < 0) {\n continue;\n }\n\n for (k = 0; k < config.data_groups[j].length; k++) {\n if (config.data_groups[j][k] in indices) {\n indices[d.id] = indices[config.data_groups[j][k]];\n break;\n }\n }\n }\n\n if (isUndefined(indices[d.id])) {\n indices[d.id] = i++;\n }\n });\n indices.__max__ = i - 1;\n return indices;\n };\n\n ChartInternal.prototype.getShapeX = function (offset, targetsNum, indices, isSub) {\n var $$ = this,\n scale = isSub ? $$.subX : $$.x;\n return function (d) {\n var index = d.id in indices ? indices[d.id] : 0;\n return d.x || d.x === 0 ? scale(d.x) - offset * (targetsNum / 2 - index) : 0;\n };\n };\n\n ChartInternal.prototype.getShapeY = function (isSub) {\n var $$ = this;\n return function (d) {\n var scale = isSub ? $$.getSubYScale(d.id) : $$.getYScale(d.id);\n return scale(d.value);\n };\n };\n\n ChartInternal.prototype.getShapeOffset = function (typeFilter, indices, isSub) {\n var $$ = this,\n targets = $$.orderTargets($$.filterTargetsToShow($$.data.targets.filter(typeFilter, $$))),\n targetIds = targets.map(function (t) {\n return t.id;\n });\n return function (d, i) {\n var scale = isSub ? $$.getSubYScale(d.id) : $$.getYScale(d.id),\n y0 = scale(0),\n offset = y0;\n targets.forEach(function (t) {\n var values = $$.isStepType(d) ? $$.convertValuesToStep(t.values) : t.values;\n\n if (t.id === d.id || indices[t.id] !== indices[d.id]) {\n return;\n }\n\n if (targetIds.indexOf(t.id) < targetIds.indexOf(d.id)) {\n // check if the x values line up\n if (typeof values[i] === 'undefined' || +values[i].x !== +d.x) {\n // \"+\" for timeseries\n // if not, try to find the value that does line up\n i = -1;\n values.forEach(function (v, j) {\n if (v.x === d.x) {\n i = j;\n }\n });\n }\n\n if (i in values && values[i].value * d.value >= 0) {\n offset += scale(values[i].value) - y0;\n }\n }\n });\n return offset;\n };\n };\n\n ChartInternal.prototype.isWithinShape = function (that, d) {\n var $$ = this,\n shape = $$.d3.select(that),\n isWithin;\n\n if (!$$.isTargetToShow(d.id)) {\n isWithin = false;\n } else if (that.nodeName === 'circle') {\n isWithin = $$.isStepType(d) ? $$.isWithinStep(that, $$.getYScale(d.id)(d.value)) : $$.isWithinCircle(that, $$.pointSelectR(d) * 1.5);\n } else if (that.nodeName === 'path') {\n isWithin = shape.classed(CLASS.bar) ? $$.isWithinBar($$.d3.mouse(that), that) : true;\n }\n\n return isWithin;\n };\n\n ChartInternal.prototype.getInterpolate = function (d) {\n var $$ = this,\n d3 = $$.d3,\n types = {\n 'linear': d3.curveLinear,\n 'linear-closed': d3.curveLinearClosed,\n 'basis': d3.curveBasis,\n 'basis-open': d3.curveBasisOpen,\n 'basis-closed': d3.curveBasisClosed,\n 'bundle': d3.curveBundle,\n 'cardinal': d3.curveCardinal,\n 'cardinal-open': d3.curveCardinalOpen,\n 'cardinal-closed': d3.curveCardinalClosed,\n 'monotone': d3.curveMonotoneX,\n 'step': d3.curveStep,\n 'step-before': d3.curveStepBefore,\n 'step-after': d3.curveStepAfter\n },\n type;\n\n if ($$.isSplineType(d)) {\n type = types[$$.config.spline_interpolation_type] || types.cardinal;\n } else if ($$.isStepType(d)) {\n type = types[$$.config.line_step_type];\n } else {\n type = types.linear;\n }\n\n return type;\n };\n\n ChartInternal.prototype.initLine = function () {\n var $$ = this;\n $$.main.select('.' + CLASS.chart).append(\"g\").attr(\"class\", CLASS.chartLines);\n };\n\n ChartInternal.prototype.updateTargetsForLine = function (targets) {\n var $$ = this,\n config = $$.config,\n mainLines,\n mainLineEnter,\n classChartLine = $$.classChartLine.bind($$),\n classLines = $$.classLines.bind($$),\n classAreas = $$.classAreas.bind($$),\n classCircles = $$.classCircles.bind($$),\n classFocus = $$.classFocus.bind($$);\n mainLines = $$.main.select('.' + CLASS.chartLines).selectAll('.' + CLASS.chartLine).data(targets).attr('class', function (d) {\n return classChartLine(d) + classFocus(d);\n });\n mainLineEnter = mainLines.enter().append('g').attr('class', classChartLine).style('opacity', 0).style(\"pointer-events\", \"none\"); // Lines for each data\n\n mainLineEnter.append('g').attr(\"class\", classLines); // Areas\n\n mainLineEnter.append('g').attr('class', classAreas); // Circles for each data point on lines\n\n mainLineEnter.append('g').attr(\"class\", function (d) {\n return $$.generateClass(CLASS.selectedCircles, d.id);\n });\n mainLineEnter.append('g').attr(\"class\", classCircles).style(\"cursor\", function (d) {\n return config.data_selection_isselectable(d) ? \"pointer\" : null;\n }); // Update date for selected circles\n\n targets.forEach(function (t) {\n $$.main.selectAll('.' + CLASS.selectedCircles + $$.getTargetSelectorSuffix(t.id)).selectAll('.' + CLASS.selectedCircle).each(function (d) {\n d.value = t.values[d.index].value;\n });\n }); // MEMO: can not keep same color...\n //mainLineUpdate.exit().remove();\n };\n\n ChartInternal.prototype.updateLine = function (durationForExit) {\n var $$ = this;\n var mainLine = $$.main.selectAll('.' + CLASS.lines).selectAll('.' + CLASS.line).data($$.lineData.bind($$));\n var mainLineEnter = mainLine.enter().append('path').attr('class', $$.classLine.bind($$)).style(\"stroke\", $$.color);\n $$.mainLine = mainLineEnter.merge(mainLine).style(\"opacity\", $$.initialOpacity.bind($$)).style('shape-rendering', function (d) {\n return $$.isStepType(d) ? 'crispEdges' : '';\n }).attr('transform', null);\n mainLine.exit().transition().duration(durationForExit).style('opacity', 0);\n };\n\n ChartInternal.prototype.redrawLine = function (drawLine, withTransition, transition) {\n return [(withTransition ? this.mainLine.transition(transition) : this.mainLine).attr(\"d\", drawLine).style(\"stroke\", this.color).style(\"opacity\", 1)];\n };\n\n ChartInternal.prototype.generateDrawLine = function (lineIndices, isSub) {\n var $$ = this,\n config = $$.config,\n line = $$.d3.line(),\n getPoints = $$.generateGetLinePoints(lineIndices, isSub),\n yScaleGetter = isSub ? $$.getSubYScale : $$.getYScale,\n xValue = function xValue(d) {\n return (isSub ? $$.subxx : $$.xx).call($$, d);\n },\n yValue = function yValue(d, i) {\n return config.data_groups.length > 0 ? getPoints(d, i)[0][1] : yScaleGetter.call($$, d.id)(d.value);\n };\n\n line = config.axis_rotated ? line.x(yValue).y(xValue) : line.x(xValue).y(yValue);\n\n if (!config.line_connectNull) {\n line = line.defined(function (d) {\n return d.value != null;\n });\n }\n\n return function (d) {\n var values = config.line_connectNull ? $$.filterRemoveNull(d.values) : d.values,\n x = isSub ? $$.subX : $$.x,\n y = yScaleGetter.call($$, d.id),\n x0 = 0,\n y0 = 0,\n path;\n\n if ($$.isLineType(d)) {\n if (config.data_regions[d.id]) {\n path = $$.lineWithRegions(values, x, y, config.data_regions[d.id]);\n } else {\n if ($$.isStepType(d)) {\n values = $$.convertValuesToStep(values);\n }\n\n path = line.curve($$.getInterpolate(d))(values);\n }\n } else {\n if (values[0]) {\n x0 = x(values[0].x);\n y0 = y(values[0].value);\n }\n\n path = config.axis_rotated ? \"M \" + y0 + \" \" + x0 : \"M \" + x0 + \" \" + y0;\n }\n\n return path ? path : \"M 0 0\";\n };\n };\n\n ChartInternal.prototype.generateGetLinePoints = function (lineIndices, isSub) {\n // partial duplication of generateGetBarPoints\n var $$ = this,\n config = $$.config,\n lineTargetsNum = lineIndices.__max__ + 1,\n x = $$.getShapeX(0, lineTargetsNum, lineIndices, !!isSub),\n y = $$.getShapeY(!!isSub),\n lineOffset = $$.getShapeOffset($$.isLineType, lineIndices, !!isSub),\n yScale = isSub ? $$.getSubYScale : $$.getYScale;\n return function (d, i) {\n var y0 = yScale.call($$, d.id)(0),\n offset = lineOffset(d, i) || y0,\n // offset is for stacked area chart\n posX = x(d),\n posY = y(d); // fix posY not to overflow opposite quadrant\n\n if (config.axis_rotated) {\n if (0 < d.value && posY < y0 || d.value < 0 && y0 < posY) {\n posY = y0;\n }\n } // 1 point that marks the line position\n\n\n return [[posX, posY - (y0 - offset)], [posX, posY - (y0 - offset)], // needed for compatibility\n [posX, posY - (y0 - offset)], // needed for compatibility\n [posX, posY - (y0 - offset)] // needed for compatibility\n ];\n };\n };\n\n ChartInternal.prototype.lineWithRegions = function (d, x, y, _regions) {\n var $$ = this,\n config = $$.config,\n prev = -1,\n i,\n j,\n s = \"M\",\n sWithRegion,\n xp,\n yp,\n dx,\n dy,\n dd,\n diff,\n diffx2,\n xOffset = $$.isCategorized() ? 0.5 : 0,\n xValue,\n yValue,\n regions = [];\n\n function isWithinRegions(x, regions) {\n var i;\n\n for (i = 0; i < regions.length; i++) {\n if (regions[i].start < x && x <= regions[i].end) {\n return true;\n }\n }\n\n return false;\n } // Check start/end of regions\n\n\n if (isDefined(_regions)) {\n for (i = 0; i < _regions.length; i++) {\n regions[i] = {};\n\n if (isUndefined(_regions[i].start)) {\n regions[i].start = d[0].x;\n } else {\n regions[i].start = $$.isTimeSeries() ? $$.parseDate(_regions[i].start) : _regions[i].start;\n }\n\n if (isUndefined(_regions[i].end)) {\n regions[i].end = d[d.length - 1].x;\n } else {\n regions[i].end = $$.isTimeSeries() ? $$.parseDate(_regions[i].end) : _regions[i].end;\n }\n }\n } // Set scales\n\n\n xValue = config.axis_rotated ? function (d) {\n return y(d.value);\n } : function (d) {\n return x(d.x);\n };\n yValue = config.axis_rotated ? function (d) {\n return x(d.x);\n } : function (d) {\n return y(d.value);\n }; // Define svg generator function for region\n\n function generateM(points) {\n return 'M' + points[0][0] + ' ' + points[0][1] + ' ' + points[1][0] + ' ' + points[1][1];\n }\n\n if ($$.isTimeSeries()) {\n sWithRegion = function sWithRegion(d0, d1, j, diff) {\n var x0 = d0.x.getTime(),\n x_diff = d1.x - d0.x,\n xv0 = new Date(x0 + x_diff * j),\n xv1 = new Date(x0 + x_diff * (j + diff)),\n points;\n\n if (config.axis_rotated) {\n points = [[y(yp(j)), x(xv0)], [y(yp(j + diff)), x(xv1)]];\n } else {\n points = [[x(xv0), y(yp(j))], [x(xv1), y(yp(j + diff))]];\n }\n\n return generateM(points);\n };\n } else {\n sWithRegion = function sWithRegion(d0, d1, j, diff) {\n var points;\n\n if (config.axis_rotated) {\n points = [[y(yp(j), true), x(xp(j))], [y(yp(j + diff), true), x(xp(j + diff))]];\n } else {\n points = [[x(xp(j), true), y(yp(j))], [x(xp(j + diff), true), y(yp(j + diff))]];\n }\n\n return generateM(points);\n };\n } // Generate\n\n\n for (i = 0; i < d.length; i++) {\n // Draw as normal\n if (isUndefined(regions) || !isWithinRegions(d[i].x, regions)) {\n s += \" \" + xValue(d[i]) + \" \" + yValue(d[i]);\n } // Draw with region // TODO: Fix for horizotal charts\n else {\n xp = $$.getScale(d[i - 1].x + xOffset, d[i].x + xOffset, $$.isTimeSeries());\n yp = $$.getScale(d[i - 1].value, d[i].value);\n dx = x(d[i].x) - x(d[i - 1].x);\n dy = y(d[i].value) - y(d[i - 1].value);\n dd = Math.sqrt(Math.pow(dx, 2) + Math.pow(dy, 2));\n diff = 2 / dd;\n diffx2 = diff * 2;\n\n for (j = diff; j <= 1; j += diffx2) {\n s += sWithRegion(d[i - 1], d[i], j, diff);\n }\n }\n\n prev = d[i].x;\n }\n\n return s;\n };\n\n ChartInternal.prototype.updateArea = function (durationForExit) {\n var $$ = this,\n d3 = $$.d3;\n var mainArea = $$.main.selectAll('.' + CLASS.areas).selectAll('.' + CLASS.area).data($$.lineData.bind($$));\n var mainAreaEnter = mainArea.enter().append('path').attr(\"class\", $$.classArea.bind($$)).style(\"fill\", $$.color).style(\"opacity\", function () {\n $$.orgAreaOpacity = +d3.select(this).style('opacity');\n return 0;\n });\n $$.mainArea = mainAreaEnter.merge(mainArea).style(\"opacity\", $$.orgAreaOpacity);\n mainArea.exit().transition().duration(durationForExit).style('opacity', 0);\n };\n\n ChartInternal.prototype.redrawArea = function (drawArea, withTransition, transition) {\n return [(withTransition ? this.mainArea.transition(transition) : this.mainArea).attr(\"d\", drawArea).style(\"fill\", this.color).style(\"opacity\", this.orgAreaOpacity)];\n };\n\n ChartInternal.prototype.generateDrawArea = function (areaIndices, isSub) {\n var $$ = this,\n config = $$.config,\n area = $$.d3.area(),\n getPoints = $$.generateGetAreaPoints(areaIndices, isSub),\n yScaleGetter = isSub ? $$.getSubYScale : $$.getYScale,\n xValue = function xValue(d) {\n return (isSub ? $$.subxx : $$.xx).call($$, d);\n },\n value0 = function value0(d, i) {\n return config.data_groups.length > 0 ? getPoints(d, i)[0][1] : yScaleGetter.call($$, d.id)($$.getAreaBaseValue(d.id));\n },\n value1 = function value1(d, i) {\n return config.data_groups.length > 0 ? getPoints(d, i)[1][1] : yScaleGetter.call($$, d.id)(d.value);\n };\n\n area = config.axis_rotated ? area.x0(value0).x1(value1).y(xValue) : area.x(xValue).y0(config.area_above ? 0 : value0).y1(value1);\n\n if (!config.line_connectNull) {\n area = area.defined(function (d) {\n return d.value !== null;\n });\n }\n\n return function (d) {\n var values = config.line_connectNull ? $$.filterRemoveNull(d.values) : d.values,\n x0 = 0,\n y0 = 0,\n path;\n\n if ($$.isAreaType(d)) {\n if ($$.isStepType(d)) {\n values = $$.convertValuesToStep(values);\n }\n\n path = area.curve($$.getInterpolate(d))(values);\n } else {\n if (values[0]) {\n x0 = $$.x(values[0].x);\n y0 = $$.getYScale(d.id)(values[0].value);\n }\n\n path = config.axis_rotated ? \"M \" + y0 + \" \" + x0 : \"M \" + x0 + \" \" + y0;\n }\n\n return path ? path : \"M 0 0\";\n };\n };\n\n ChartInternal.prototype.getAreaBaseValue = function () {\n return 0;\n };\n\n ChartInternal.prototype.generateGetAreaPoints = function (areaIndices, isSub) {\n // partial duplication of generateGetBarPoints\n var $$ = this,\n config = $$.config,\n areaTargetsNum = areaIndices.__max__ + 1,\n x = $$.getShapeX(0, areaTargetsNum, areaIndices, !!isSub),\n y = $$.getShapeY(!!isSub),\n areaOffset = $$.getShapeOffset($$.isAreaType, areaIndices, !!isSub),\n yScale = isSub ? $$.getSubYScale : $$.getYScale;\n return function (d, i) {\n var y0 = yScale.call($$, d.id)(0),\n offset = areaOffset(d, i) || y0,\n // offset is for stacked area chart\n posX = x(d),\n posY = y(d); // fix posY not to overflow opposite quadrant\n\n if (config.axis_rotated) {\n if (0 < d.value && posY < y0 || d.value < 0 && y0 < posY) {\n posY = y0;\n }\n } // 1 point that marks the area position\n\n\n return [[posX, offset], [posX, posY - (y0 - offset)], [posX, posY - (y0 - offset)], // needed for compatibility\n [posX, offset] // needed for compatibility\n ];\n };\n };\n\n ChartInternal.prototype.updateCircle = function (cx, cy) {\n var $$ = this;\n var mainCircle = $$.main.selectAll('.' + CLASS.circles).selectAll('.' + CLASS.circle).data($$.lineOrScatterData.bind($$));\n var mainCircleEnter = mainCircle.enter().append(\"circle\").attr(\"class\", $$.classCircle.bind($$)).attr(\"cx\", cx).attr(\"cy\", cy).attr(\"r\", $$.pointR.bind($$)).style(\"fill\", $$.color);\n $$.mainCircle = mainCircleEnter.merge(mainCircle).style(\"opacity\", $$.initialOpacityForCircle.bind($$));\n mainCircle.exit().style(\"opacity\", 0);\n };\n\n ChartInternal.prototype.redrawCircle = function (cx, cy, withTransition, transition) {\n var $$ = this,\n selectedCircles = $$.main.selectAll('.' + CLASS.selectedCircle);\n return [(withTransition ? $$.mainCircle.transition(transition) : $$.mainCircle).style('opacity', this.opacityForCircle.bind($$)).style(\"fill\", $$.color).attr(\"cx\", cx).attr(\"cy\", cy), (withTransition ? selectedCircles.transition(transition) : selectedCircles).attr(\"cx\", cx).attr(\"cy\", cy)];\n };\n\n ChartInternal.prototype.circleX = function (d) {\n return d.x || d.x === 0 ? this.x(d.x) : null;\n };\n\n ChartInternal.prototype.updateCircleY = function () {\n var $$ = this,\n lineIndices,\n getPoints;\n\n if ($$.config.data_groups.length > 0) {\n lineIndices = $$.getShapeIndices($$.isLineType), getPoints = $$.generateGetLinePoints(lineIndices);\n\n $$.circleY = function (d, i) {\n return getPoints(d, i)[0][1];\n };\n } else {\n $$.circleY = function (d) {\n return $$.getYScale(d.id)(d.value);\n };\n }\n };\n\n ChartInternal.prototype.getCircles = function (i, id) {\n var $$ = this;\n return (id ? $$.main.selectAll('.' + CLASS.circles + $$.getTargetSelectorSuffix(id)) : $$.main).selectAll('.' + CLASS.circle + (isValue(i) ? '-' + i : ''));\n };\n\n ChartInternal.prototype.expandCircles = function (i, id, reset) {\n var $$ = this,\n r = $$.pointExpandedR.bind($$);\n\n if (reset) {\n $$.unexpandCircles();\n }\n\n $$.getCircles(i, id).classed(CLASS.EXPANDED, true).attr('r', r);\n };\n\n ChartInternal.prototype.unexpandCircles = function (i) {\n var $$ = this,\n r = $$.pointR.bind($$);\n $$.getCircles(i).filter(function () {\n return $$.d3.select(this).classed(CLASS.EXPANDED);\n }).classed(CLASS.EXPANDED, false).attr('r', r);\n };\n\n ChartInternal.prototype.pointR = function (d) {\n var $$ = this,\n config = $$.config;\n return $$.isStepType(d) ? 0 : isFunction(config.point_r) ? config.point_r(d) : config.point_r;\n };\n\n ChartInternal.prototype.pointExpandedR = function (d) {\n var $$ = this,\n config = $$.config;\n\n if (config.point_focus_expand_enabled) {\n return isFunction(config.point_focus_expand_r) ? config.point_focus_expand_r(d) : config.point_focus_expand_r ? config.point_focus_expand_r : $$.pointR(d) * 1.75;\n } else {\n return $$.pointR(d);\n }\n };\n\n ChartInternal.prototype.pointSelectR = function (d) {\n var $$ = this,\n config = $$.config;\n return isFunction(config.point_select_r) ? config.point_select_r(d) : config.point_select_r ? config.point_select_r : $$.pointR(d) * 4;\n };\n\n ChartInternal.prototype.isWithinCircle = function (that, r) {\n var d3 = this.d3,\n mouse = d3.mouse(that),\n d3_this = d3.select(that),\n cx = +d3_this.attr(\"cx\"),\n cy = +d3_this.attr(\"cy\");\n return Math.sqrt(Math.pow(cx - mouse[0], 2) + Math.pow(cy - mouse[1], 2)) < r;\n };\n\n ChartInternal.prototype.isWithinStep = function (that, y) {\n return Math.abs(y - this.d3.mouse(that)[1]) < 30;\n };\n\n ChartInternal.prototype.getCurrentWidth = function () {\n var $$ = this,\n config = $$.config;\n return config.size_width ? config.size_width : $$.getParentWidth();\n };\n\n ChartInternal.prototype.getCurrentHeight = function () {\n var $$ = this,\n config = $$.config,\n h = config.size_height ? config.size_height : $$.getParentHeight();\n return h > 0 ? h : 320 / ($$.hasType('gauge') && !config.gauge_fullCircle ? 2 : 1);\n };\n\n ChartInternal.prototype.getCurrentPaddingTop = function () {\n var $$ = this,\n config = $$.config,\n padding = isValue(config.padding_top) ? config.padding_top : 0;\n\n if ($$.title && $$.title.node()) {\n padding += $$.getTitlePadding();\n }\n\n return padding;\n };\n\n ChartInternal.prototype.getCurrentPaddingBottom = function () {\n var config = this.config;\n return isValue(config.padding_bottom) ? config.padding_bottom : 0;\n };\n\n ChartInternal.prototype.getCurrentPaddingLeft = function (withoutRecompute) {\n var $$ = this,\n config = $$.config;\n\n if (isValue(config.padding_left)) {\n return config.padding_left;\n } else if (config.axis_rotated) {\n return !config.axis_x_show || config.axis_x_inner ? 1 : Math.max(ceil10($$.getAxisWidthByAxisId('x', withoutRecompute)), 40);\n } else if (!config.axis_y_show || config.axis_y_inner) {\n // && !config.axis_rotated\n return $$.axis.getYAxisLabelPosition().isOuter ? 30 : 1;\n } else {\n return ceil10($$.getAxisWidthByAxisId('y', withoutRecompute));\n }\n };\n\n ChartInternal.prototype.getCurrentPaddingRight = function () {\n var $$ = this,\n config = $$.config,\n defaultPadding = 10,\n legendWidthOnRight = $$.isLegendRight ? $$.getLegendWidth() + 20 : 0;\n\n if (isValue(config.padding_right)) {\n return config.padding_right + 1; // 1 is needed not to hide tick line\n } else if (config.axis_rotated) {\n return defaultPadding + legendWidthOnRight;\n } else if (!config.axis_y2_show || config.axis_y2_inner) {\n // && !config.axis_rotated\n return 2 + legendWidthOnRight + ($$.axis.getY2AxisLabelPosition().isOuter ? 20 : 0);\n } else {\n return ceil10($$.getAxisWidthByAxisId('y2')) + legendWidthOnRight;\n }\n };\n\n ChartInternal.prototype.getParentRectValue = function (key) {\n var parent = this.selectChart.node(),\n v;\n\n while (parent && parent.tagName !== 'BODY') {\n try {\n v = parent.getBoundingClientRect()[key];\n } catch (e) {\n if (key === 'width') {\n // In IE in certain cases getBoundingClientRect\n // will cause an \"unspecified error\"\n v = parent.offsetWidth;\n }\n }\n\n if (v) {\n break;\n }\n\n parent = parent.parentNode;\n }\n\n return v;\n };\n\n ChartInternal.prototype.getParentWidth = function () {\n return this.getParentRectValue('width');\n };\n\n ChartInternal.prototype.getParentHeight = function () {\n return this.getParentRectValue('height');\n };\n\n ChartInternal.prototype.getSvgLeft = function (withoutRecompute) {\n var $$ = this,\n config = $$.config,\n hasLeftAxisRect = config.axis_rotated || !config.axis_rotated && !config.axis_y_inner,\n leftAxisClass = config.axis_rotated ? CLASS.axisX : CLASS.axisY,\n leftAxis = $$.main.select('.' + leftAxisClass).node(),\n svgRect = leftAxis && hasLeftAxisRect ? leftAxis.getBoundingClientRect() : {\n right: 0\n },\n chartRect = $$.selectChart.node().getBoundingClientRect(),\n hasArc = $$.hasArcType(),\n svgLeft = svgRect.right - chartRect.left - (hasArc ? 0 : $$.getCurrentPaddingLeft(withoutRecompute));\n return svgLeft > 0 ? svgLeft : 0;\n };\n\n ChartInternal.prototype.getAxisWidthByAxisId = function (id, withoutRecompute) {\n var $$ = this,\n position = $$.axis.getLabelPositionById(id);\n return $$.axis.getMaxTickWidth(id, withoutRecompute) + (position.isInner ? 20 : 40);\n };\n\n ChartInternal.prototype.getHorizontalAxisHeight = function (axisId) {\n var $$ = this,\n config = $$.config,\n h = 30;\n\n if (axisId === 'x' && !config.axis_x_show) {\n return 8;\n }\n\n if (axisId === 'x' && config.axis_x_height) {\n return config.axis_x_height;\n }\n\n if (axisId === 'y' && !config.axis_y_show) {\n return config.legend_show && !$$.isLegendRight && !$$.isLegendInset ? 10 : 1;\n }\n\n if (axisId === 'y2' && !config.axis_y2_show) {\n return $$.rotated_padding_top;\n } // Calculate x axis height when tick rotated\n\n\n if (axisId === 'x' && !config.axis_rotated && config.axis_x_tick_rotate) {\n h = 30 + $$.axis.getMaxTickWidth(axisId) * Math.cos(Math.PI * (90 - Math.abs(config.axis_x_tick_rotate)) / 180);\n } // Calculate y axis height when tick rotated\n\n\n if (axisId === 'y' && config.axis_rotated && config.axis_y_tick_rotate) {\n h = 30 + $$.axis.getMaxTickWidth(axisId) * Math.cos(Math.PI * (90 - Math.abs(config.axis_y_tick_rotate)) / 180);\n }\n\n return h + ($$.axis.getLabelPositionById(axisId).isInner ? 0 : 10) + (axisId === 'y2' ? -10 : 0);\n };\n\n ChartInternal.prototype.initBrush = function (scale) {\n var $$ = this,\n d3 = $$.d3; // TODO: dynamically change brushY/brushX according to axis_rotated.\n\n $$.brush = ($$.config.axis_rotated ? d3.brushY() : d3.brushX()).on(\"brush\", function () {\n var event = d3.event.sourceEvent;\n\n if (event && event.type === \"zoom\") {\n return;\n }\n\n $$.redrawForBrush();\n }).on(\"end\", function () {\n var event = d3.event.sourceEvent;\n\n if (event && event.type === \"zoom\") {\n return;\n }\n\n if ($$.brush.empty() && event && event.type !== 'end') {\n $$.brush.clear();\n }\n });\n\n $$.brush.updateExtent = function () {\n var range = this.scale.range(),\n extent;\n\n if ($$.config.axis_rotated) {\n extent = [[0, range[0]], [$$.width2, range[1]]];\n } else {\n extent = [[range[0], 0], [range[1], $$.height2]];\n }\n\n this.extent(extent);\n return this;\n };\n\n $$.brush.updateScale = function (scale) {\n this.scale = scale;\n return this;\n };\n\n $$.brush.update = function (scale) {\n this.updateScale(scale || $$.subX).updateExtent();\n $$.context.select('.' + CLASS.brush).call(this);\n };\n\n $$.brush.clear = function () {\n $$.context.select('.' + CLASS.brush).call($$.brush.move, null);\n };\n\n $$.brush.selection = function () {\n return d3.brushSelection($$.context.select('.' + CLASS.brush).node());\n };\n\n $$.brush.selectionAsValue = function (selectionAsValue, withTransition) {\n var selection, brush;\n\n if (selectionAsValue) {\n if ($$.context) {\n selection = [this.scale(selectionAsValue[0]), this.scale(selectionAsValue[1])];\n brush = $$.context.select('.' + CLASS.brush);\n\n if (withTransition) {\n brush = brush.transition();\n }\n\n $$.brush.move(brush, selection);\n }\n\n return [];\n }\n\n selection = $$.brush.selection() || [0, 0];\n return [this.scale.invert(selection[0]), this.scale.invert(selection[1])];\n };\n\n $$.brush.empty = function () {\n var selection = $$.brush.selection();\n return !selection || selection[0] === selection[1];\n };\n\n return $$.brush.updateScale(scale);\n };\n\n ChartInternal.prototype.initSubchart = function () {\n var $$ = this,\n config = $$.config,\n context = $$.context = $$.svg.append(\"g\").attr(\"transform\", $$.getTranslate('context')),\n visibility = config.subchart_show ? 'visible' : 'hidden'; // set style\n\n context.style('visibility', visibility); // Define g for chart area\n\n context.append('g').attr(\"clip-path\", $$.clipPathForSubchart).attr('class', CLASS.chart); // Define g for bar chart area\n\n context.select('.' + CLASS.chart).append(\"g\").attr(\"class\", CLASS.chartBars); // Define g for line chart area\n\n context.select('.' + CLASS.chart).append(\"g\").attr(\"class\", CLASS.chartLines); // Add extent rect for Brush\n\n context.append(\"g\").attr(\"clip-path\", $$.clipPath).attr(\"class\", CLASS.brush); // ATTENTION: This must be called AFTER chart added\n // Add Axis\n\n $$.axes.subx = context.append(\"g\").attr(\"class\", CLASS.axisX).attr(\"transform\", $$.getTranslate('subx')).attr(\"clip-path\", config.axis_rotated ? \"\" : $$.clipPathForXAxis);\n };\n\n ChartInternal.prototype.initSubchartBrush = function () {\n var $$ = this; // Add extent rect for Brush\n\n $$.initBrush($$.subX).updateExtent();\n $$.context.select('.' + CLASS.brush).call($$.brush);\n };\n\n ChartInternal.prototype.updateTargetsForSubchart = function (targets) {\n var $$ = this,\n context = $$.context,\n config = $$.config,\n contextLineEnter,\n contextLine,\n contextBarEnter,\n contextBar,\n classChartBar = $$.classChartBar.bind($$),\n classBars = $$.classBars.bind($$),\n classChartLine = $$.classChartLine.bind($$),\n classLines = $$.classLines.bind($$),\n classAreas = $$.classAreas.bind($$);\n\n if (config.subchart_show) {\n //-- Bar --//\n contextBar = context.select('.' + CLASS.chartBars).selectAll('.' + CLASS.chartBar).data(targets);\n contextBarEnter = contextBar.enter().append('g').style('opacity', 0);\n contextBarEnter.merge(contextBar).attr('class', classChartBar); // Bars for each data\n\n contextBarEnter.append('g').attr(\"class\", classBars); //-- Line --//\n\n contextLine = context.select('.' + CLASS.chartLines).selectAll('.' + CLASS.chartLine).data(targets);\n contextLineEnter = contextLine.enter().append('g').style('opacity', 0);\n contextLineEnter.merge(contextLine).attr('class', classChartLine); // Lines for each data\n\n contextLineEnter.append(\"g\").attr(\"class\", classLines); // Area\n\n contextLineEnter.append(\"g\").attr(\"class\", classAreas); //-- Brush --//\n\n context.selectAll('.' + CLASS.brush + ' rect').attr(config.axis_rotated ? \"width\" : \"height\", config.axis_rotated ? $$.width2 : $$.height2);\n }\n };\n\n ChartInternal.prototype.updateBarForSubchart = function (durationForExit) {\n var $$ = this;\n var contextBar = $$.context.selectAll('.' + CLASS.bars).selectAll('.' + CLASS.bar).data($$.barData.bind($$));\n var contextBarEnter = contextBar.enter().append('path').attr(\"class\", $$.classBar.bind($$)).style(\"stroke\", 'none').style(\"fill\", $$.color);\n contextBar.exit().transition().duration(durationForExit).style('opacity', 0).remove();\n $$.contextBar = contextBarEnter.merge(contextBar).style(\"opacity\", $$.initialOpacity.bind($$));\n };\n\n ChartInternal.prototype.redrawBarForSubchart = function (drawBarOnSub, withTransition, duration) {\n (withTransition ? this.contextBar.transition(Math.random().toString()).duration(duration) : this.contextBar).attr('d', drawBarOnSub).style('opacity', 1);\n };\n\n ChartInternal.prototype.updateLineForSubchart = function (durationForExit) {\n var $$ = this;\n var contextLine = $$.context.selectAll('.' + CLASS.lines).selectAll('.' + CLASS.line).data($$.lineData.bind($$));\n var contextLineEnter = contextLine.enter().append('path').attr('class', $$.classLine.bind($$)).style('stroke', $$.color);\n contextLine.exit().transition().duration(durationForExit).style('opacity', 0).remove();\n $$.contextLine = contextLineEnter.merge(contextLine).style(\"opacity\", $$.initialOpacity.bind($$));\n };\n\n ChartInternal.prototype.redrawLineForSubchart = function (drawLineOnSub, withTransition, duration) {\n (withTransition ? this.contextLine.transition(Math.random().toString()).duration(duration) : this.contextLine).attr(\"d\", drawLineOnSub).style('opacity', 1);\n };\n\n ChartInternal.prototype.updateAreaForSubchart = function (durationForExit) {\n var $$ = this,\n d3 = $$.d3;\n var contextArea = $$.context.selectAll('.' + CLASS.areas).selectAll('.' + CLASS.area).data($$.lineData.bind($$));\n var contextAreaEnter = contextArea.enter().append('path').attr(\"class\", $$.classArea.bind($$)).style(\"fill\", $$.color).style(\"opacity\", function () {\n $$.orgAreaOpacity = +d3.select(this).style('opacity');\n return 0;\n });\n contextArea.exit().transition().duration(durationForExit).style('opacity', 0).remove();\n $$.contextArea = contextAreaEnter.merge(contextArea).style(\"opacity\", 0);\n };\n\n ChartInternal.prototype.redrawAreaForSubchart = function (drawAreaOnSub, withTransition, duration) {\n (withTransition ? this.contextArea.transition(Math.random().toString()).duration(duration) : this.contextArea).attr(\"d\", drawAreaOnSub).style(\"fill\", this.color).style(\"opacity\", this.orgAreaOpacity);\n };\n\n ChartInternal.prototype.redrawSubchart = function (withSubchart, transitions, duration, durationForExit, areaIndices, barIndices, lineIndices) {\n var $$ = this,\n d3 = $$.d3,\n config = $$.config,\n drawAreaOnSub,\n drawBarOnSub,\n drawLineOnSub;\n $$.context.style('visibility', config.subchart_show ? 'visible' : 'hidden'); // subchart\n\n if (config.subchart_show) {\n // reflect main chart to extent on subchart if zoomed\n if (d3.event && d3.event.type === 'zoom') {\n $$.brush.selectionAsValue($$.x.orgDomain());\n } // update subchart elements if needed\n\n\n if (withSubchart) {\n // extent rect\n if (!$$.brush.empty()) {\n $$.brush.selectionAsValue($$.x.orgDomain());\n } // setup drawer - MEMO: this must be called after axis updated\n\n\n drawAreaOnSub = $$.generateDrawArea(areaIndices, true);\n drawBarOnSub = $$.generateDrawBar(barIndices, true);\n drawLineOnSub = $$.generateDrawLine(lineIndices, true);\n $$.updateBarForSubchart(duration);\n $$.updateLineForSubchart(duration);\n $$.updateAreaForSubchart(duration);\n $$.redrawBarForSubchart(drawBarOnSub, duration, duration);\n $$.redrawLineForSubchart(drawLineOnSub, duration, duration);\n $$.redrawAreaForSubchart(drawAreaOnSub, duration, duration);\n }\n }\n };\n\n ChartInternal.prototype.redrawForBrush = function () {\n var $$ = this,\n x = $$.x,\n d3 = $$.d3,\n s;\n $$.redraw({\n withTransition: false,\n withY: $$.config.zoom_rescale,\n withSubchart: false,\n withUpdateXDomain: true,\n withEventRect: false,\n withDimension: false\n }); // update zoom transation binded to event rect\n\n s = d3.event.selection || $$.brush.scale.range();\n $$.main.select('.' + CLASS.eventRect).call($$.zoom.transform, d3.zoomIdentity.scale($$.width / (s[1] - s[0])).translate(-s[0], 0));\n $$.config.subchart_onbrush.call($$.api, x.orgDomain());\n };\n\n ChartInternal.prototype.transformContext = function (withTransition, transitions) {\n var $$ = this,\n subXAxis;\n\n if (transitions && transitions.axisSubX) {\n subXAxis = transitions.axisSubX;\n } else {\n subXAxis = $$.context.select('.' + CLASS.axisX);\n\n if (withTransition) {\n subXAxis = subXAxis.transition();\n }\n }\n\n $$.context.attr(\"transform\", $$.getTranslate('context'));\n subXAxis.attr(\"transform\", $$.getTranslate('subx'));\n };\n\n ChartInternal.prototype.getDefaultSelection = function () {\n var $$ = this,\n config = $$.config,\n selection = isFunction(config.axis_x_selection) ? config.axis_x_selection($$.getXDomain($$.data.targets)) : config.axis_x_selection;\n\n if ($$.isTimeSeries()) {\n selection = [$$.parseDate(selection[0]), $$.parseDate(selection[1])];\n }\n\n return selection;\n };\n\n ChartInternal.prototype.initText = function () {\n var $$ = this;\n $$.main.select('.' + CLASS.chart).append(\"g\").attr(\"class\", CLASS.chartTexts);\n $$.mainText = $$.d3.selectAll([]);\n };\n\n ChartInternal.prototype.updateTargetsForText = function (targets) {\n var $$ = this,\n classChartText = $$.classChartText.bind($$),\n classTexts = $$.classTexts.bind($$),\n classFocus = $$.classFocus.bind($$);\n var mainText = $$.main.select('.' + CLASS.chartTexts).selectAll('.' + CLASS.chartText).data(targets);\n var mainTextEnter = mainText.enter().append('g').attr('class', classChartText).style('opacity', 0).style(\"pointer-events\", \"none\");\n mainTextEnter.append('g').attr('class', classTexts);\n mainTextEnter.merge(mainText).attr('class', function (d) {\n return classChartText(d) + classFocus(d);\n });\n };\n\n ChartInternal.prototype.updateText = function (xForText, yForText, durationForExit) {\n var $$ = this,\n config = $$.config,\n barOrLineData = $$.barOrLineData.bind($$),\n classText = $$.classText.bind($$);\n var mainText = $$.main.selectAll('.' + CLASS.texts).selectAll('.' + CLASS.text).data(barOrLineData);\n var mainTextEnter = mainText.enter().append('text').attr(\"class\", classText).attr('text-anchor', function (d) {\n return config.axis_rotated ? d.value < 0 ? 'end' : 'start' : 'middle';\n }).style(\"stroke\", 'none').attr('x', xForText).attr('y', yForText).style(\"fill\", function (d) {\n return $$.color(d);\n }).style(\"fill-opacity\", 0);\n $$.mainText = mainTextEnter.merge(mainText).text(function (d, i, j) {\n return $$.dataLabelFormat(d.id)(d.value, d.id, i, j);\n });\n mainText.exit().transition().duration(durationForExit).style('fill-opacity', 0).remove();\n };\n\n ChartInternal.prototype.redrawText = function (xForText, yForText, forFlow, withTransition, transition) {\n return [(withTransition ? this.mainText.transition(transition) : this.mainText).attr('x', xForText).attr('y', yForText).style(\"fill\", this.color).style(\"fill-opacity\", forFlow ? 0 : this.opacityForText.bind(this))];\n };\n\n ChartInternal.prototype.getTextRect = function (text, cls, element) {\n var dummy = this.d3.select('body').append('div').classed('c3', true),\n svg = dummy.append(\"svg\").style('visibility', 'hidden').style('position', 'fixed').style('top', 0).style('left', 0),\n font = this.d3.select(element).style('font'),\n rect;\n svg.selectAll('.dummy').data([text]).enter().append('text').classed(cls ? cls : \"\", true).style('font', font).text(text).each(function () {\n rect = this.getBoundingClientRect();\n });\n dummy.remove();\n return rect;\n };\n\n ChartInternal.prototype.generateXYForText = function (areaIndices, barIndices, lineIndices, forX) {\n var $$ = this,\n getAreaPoints = $$.generateGetAreaPoints(areaIndices, false),\n getBarPoints = $$.generateGetBarPoints(barIndices, false),\n getLinePoints = $$.generateGetLinePoints(lineIndices, false),\n getter = forX ? $$.getXForText : $$.getYForText;\n return function (d, i) {\n var getPoints = $$.isAreaType(d) ? getAreaPoints : $$.isBarType(d) ? getBarPoints : getLinePoints;\n return getter.call($$, getPoints(d, i), d, this);\n };\n };\n\n ChartInternal.prototype.getXForText = function (points, d, textElement) {\n var $$ = this,\n box = textElement.getBoundingClientRect(),\n xPos,\n padding;\n\n if ($$.config.axis_rotated) {\n padding = $$.isBarType(d) ? 4 : 6;\n xPos = points[2][1] + padding * (d.value < 0 ? -1 : 1);\n } else {\n xPos = $$.hasType('bar') ? (points[2][0] + points[0][0]) / 2 : points[0][0];\n } // show labels regardless of the domain if value is null\n\n\n if (d.value === null) {\n if (xPos > $$.width) {\n xPos = $$.width - box.width;\n } else if (xPos < 0) {\n xPos = 4;\n }\n }\n\n return xPos;\n };\n\n ChartInternal.prototype.getYForText = function (points, d, textElement) {\n var $$ = this,\n box = textElement.getBoundingClientRect(),\n yPos;\n\n if ($$.config.axis_rotated) {\n yPos = (points[0][0] + points[2][0] + box.height * 0.6) / 2;\n } else {\n yPos = points[2][1];\n\n if (d.value < 0 || d.value === 0 && !$$.hasPositiveValue) {\n yPos += box.height;\n\n if ($$.isBarType(d) && $$.isSafari()) {\n yPos -= 3;\n } else if (!$$.isBarType(d) && $$.isChrome()) {\n yPos += 3;\n }\n } else {\n yPos += $$.isBarType(d) ? -3 : -6;\n }\n } // show labels regardless of the domain if value is null\n\n\n if (d.value === null && !$$.config.axis_rotated) {\n if (yPos < box.height) {\n yPos = box.height;\n } else if (yPos > this.height) {\n yPos = this.height - 4;\n }\n }\n\n return yPos;\n };\n\n ChartInternal.prototype.initTitle = function () {\n var $$ = this;\n $$.title = $$.svg.append(\"text\").text($$.config.title_text).attr(\"class\", $$.CLASS.title);\n };\n\n ChartInternal.prototype.redrawTitle = function () {\n var $$ = this;\n $$.title.attr(\"x\", $$.xForTitle.bind($$)).attr(\"y\", $$.yForTitle.bind($$));\n };\n\n ChartInternal.prototype.xForTitle = function () {\n var $$ = this,\n config = $$.config,\n position = config.title_position || 'left',\n x;\n\n if (position.indexOf('right') >= 0) {\n x = $$.currentWidth - $$.getTextRect($$.title.node().textContent, $$.CLASS.title, $$.title.node()).width - config.title_padding.right;\n } else if (position.indexOf('center') >= 0) {\n x = ($$.currentWidth - $$.getTextRect($$.title.node().textContent, $$.CLASS.title, $$.title.node()).width) / 2;\n } else {\n // left\n x = config.title_padding.left;\n }\n\n return x;\n };\n\n ChartInternal.prototype.yForTitle = function () {\n var $$ = this;\n return $$.config.title_padding.top + $$.getTextRect($$.title.node().textContent, $$.CLASS.title, $$.title.node()).height;\n };\n\n ChartInternal.prototype.getTitlePadding = function () {\n var $$ = this;\n return $$.yForTitle() + $$.config.title_padding.bottom;\n };\n\n ChartInternal.prototype.initTooltip = function () {\n var $$ = this,\n config = $$.config,\n i;\n $$.tooltip = $$.selectChart.style(\"position\", \"relative\").append(\"div\").attr('class', CLASS.tooltipContainer).style(\"position\", \"absolute\").style(\"pointer-events\", \"none\").style(\"display\", \"none\"); // Show tooltip if needed\n\n if (config.tooltip_init_show) {\n if ($$.isTimeSeries() && isString(config.tooltip_init_x)) {\n config.tooltip_init_x = $$.parseDate(config.tooltip_init_x);\n\n for (i = 0; i < $$.data.targets[0].values.length; i++) {\n if ($$.data.targets[0].values[i].x - config.tooltip_init_x === 0) {\n break;\n }\n }\n\n config.tooltip_init_x = i;\n }\n\n $$.tooltip.html(config.tooltip_contents.call($$, $$.data.targets.map(function (d) {\n return $$.addName(d.values[config.tooltip_init_x]);\n }), $$.axis.getXAxisTickFormat(), $$.getYFormat($$.hasArcType()), $$.color));\n $$.tooltip.style(\"top\", config.tooltip_init_position.top).style(\"left\", config.tooltip_init_position.left).style(\"display\", \"block\");\n }\n };\n\n ChartInternal.prototype.getTooltipSortFunction = function () {\n var $$ = this,\n config = $$.config;\n\n if (config.data_groups.length === 0 || config.tooltip_order !== undefined) {\n // if data are not grouped or if an order is specified\n // for the tooltip values we sort them by their values\n var order = config.tooltip_order;\n\n if (order === undefined) {\n order = config.data_order;\n }\n\n var valueOf = function valueOf(obj) {\n return obj ? obj.value : null;\n }; // if data are not grouped, we sort them by their value\n\n\n if (isString(order) && order.toLowerCase() === 'asc') {\n return function (a, b) {\n return valueOf(a) - valueOf(b);\n };\n } else if (isString(order) && order.toLowerCase() === 'desc') {\n return function (a, b) {\n return valueOf(b) - valueOf(a);\n };\n } else if (isFunction(order)) {\n // if the function is from data_order we need\n // to wrap the returned function in order to format\n // the sorted value to the expected format\n var sortFunction = order;\n\n if (config.tooltip_order === undefined) {\n sortFunction = function sortFunction(a, b) {\n return order(a ? {\n id: a.id,\n values: [a]\n } : null, b ? {\n id: b.id,\n values: [b]\n } : null);\n };\n }\n\n return sortFunction;\n } else if (isArray(order)) {\n return function (a, b) {\n return order.indexOf(a.id) - order.indexOf(b.id);\n };\n }\n } else {\n // if data are grouped, we follow the order of grouped targets\n var ids = $$.orderTargets($$.data.targets).map(function (i) {\n return i.id;\n }); // if it was either asc or desc we need to invert the order\n // returned by orderTargets\n\n if ($$.isOrderAsc() || $$.isOrderDesc()) {\n ids = ids.reverse();\n }\n\n return function (a, b) {\n return ids.indexOf(a.id) - ids.indexOf(b.id);\n };\n }\n };\n\n ChartInternal.prototype.getTooltipContent = function (d, defaultTitleFormat, defaultValueFormat, color) {\n var $$ = this,\n config = $$.config,\n titleFormat = config.tooltip_format_title || defaultTitleFormat,\n nameFormat = config.tooltip_format_name || function (name) {\n return name;\n },\n valueFormat = config.tooltip_format_value || defaultValueFormat,\n text,\n i,\n title,\n value,\n name,\n bgcolor;\n\n var tooltipSortFunction = this.getTooltipSortFunction();\n\n if (tooltipSortFunction) {\n d.sort(tooltipSortFunction);\n }\n\n for (i = 0; i < d.length; i++) {\n if (!(d[i] && (d[i].value || d[i].value === 0))) {\n continue;\n }\n\n if (!text) {\n title = sanitise(titleFormat ? titleFormat(d[i].x, d[i].index) : d[i].x);\n text = \"\" + (title || title === 0 ? \"\" : \"\");\n }\n\n value = sanitise(valueFormat(d[i].value, d[i].ratio, d[i].id, d[i].index, d));\n\n if (value !== undefined) {\n // Skip elements when their name is set to null\n if (d[i].name === null) {\n continue;\n }\n\n name = sanitise(nameFormat(d[i].name, d[i].ratio, d[i].id, d[i].index));\n bgcolor = $$.levelColor ? $$.levelColor(d[i].value) : color(d[i].id);\n text += \"\";\n text += \"\";\n text += \"\";\n text += \"\";\n }\n }\n\n return text + \"
\" + title + \"
\" + name + \"\" + value + \"
\";\n };\n\n ChartInternal.prototype.tooltipPosition = function (dataToShow, tWidth, tHeight, element) {\n var $$ = this,\n config = $$.config,\n d3 = $$.d3;\n var svgLeft, tooltipLeft, tooltipRight, tooltipTop, chartRight;\n var forArc = $$.hasArcType(),\n mouse = d3.mouse(element); // Determin tooltip position\n\n if (forArc) {\n tooltipLeft = ($$.width - ($$.isLegendRight ? $$.getLegendWidth() : 0)) / 2 + mouse[0];\n tooltipTop = ($$.hasType('gauge') ? $$.height : $$.height / 2) + mouse[1] + 20;\n } else {\n svgLeft = $$.getSvgLeft(true);\n\n if (config.axis_rotated) {\n tooltipLeft = svgLeft + mouse[0] + 100;\n tooltipRight = tooltipLeft + tWidth;\n chartRight = $$.currentWidth - $$.getCurrentPaddingRight();\n tooltipTop = $$.x(dataToShow[0].x) + 20;\n } else {\n tooltipLeft = svgLeft + $$.getCurrentPaddingLeft(true) + $$.x(dataToShow[0].x) + 20;\n tooltipRight = tooltipLeft + tWidth;\n chartRight = svgLeft + $$.currentWidth - $$.getCurrentPaddingRight();\n tooltipTop = mouse[1] + 15;\n }\n\n if (tooltipRight > chartRight) {\n // 20 is needed for Firefox to keep tooltip width\n tooltipLeft -= tooltipRight - chartRight + 20;\n }\n\n if (tooltipTop + tHeight > $$.currentHeight) {\n tooltipTop -= tHeight + 30;\n }\n }\n\n if (tooltipTop < 0) {\n tooltipTop = 0;\n }\n\n return {\n top: tooltipTop,\n left: tooltipLeft\n };\n };\n\n ChartInternal.prototype.showTooltip = function (selectedData, element) {\n var $$ = this,\n config = $$.config;\n var tWidth, tHeight, position;\n var forArc = $$.hasArcType(),\n dataToShow = selectedData.filter(function (d) {\n return d && isValue(d.value);\n }),\n positionFunction = config.tooltip_position || ChartInternal.prototype.tooltipPosition;\n\n if (dataToShow.length === 0 || !config.tooltip_show) {\n return;\n }\n\n $$.tooltip.html(config.tooltip_contents.call($$, selectedData, $$.axis.getXAxisTickFormat(), $$.getYFormat(forArc), $$.color)).style(\"display\", \"block\"); // Get tooltip dimensions\n\n tWidth = $$.tooltip.property('offsetWidth');\n tHeight = $$.tooltip.property('offsetHeight');\n position = positionFunction.call(this, dataToShow, tWidth, tHeight, element); // Set tooltip\n\n $$.tooltip.style(\"top\", position.top + \"px\").style(\"left\", position.left + 'px');\n };\n\n ChartInternal.prototype.hideTooltip = function () {\n this.tooltip.style(\"display\", \"none\");\n };\n\n ChartInternal.prototype.setTargetType = function (targetIds, type) {\n var $$ = this,\n config = $$.config;\n $$.mapToTargetIds(targetIds).forEach(function (id) {\n $$.withoutFadeIn[id] = type === config.data_types[id];\n config.data_types[id] = type;\n });\n\n if (!targetIds) {\n config.data_type = type;\n }\n };\n\n ChartInternal.prototype.hasType = function (type, targets) {\n var $$ = this,\n types = $$.config.data_types,\n has = false;\n targets = targets || $$.data.targets;\n\n if (targets && targets.length) {\n targets.forEach(function (target) {\n var t = types[target.id];\n\n if (t && t.indexOf(type) >= 0 || !t && type === 'line') {\n has = true;\n }\n });\n } else if (Object.keys(types).length) {\n Object.keys(types).forEach(function (id) {\n if (types[id] === type) {\n has = true;\n }\n });\n } else {\n has = $$.config.data_type === type;\n }\n\n return has;\n };\n\n ChartInternal.prototype.hasArcType = function (targets) {\n return this.hasType('pie', targets) || this.hasType('donut', targets) || this.hasType('gauge', targets);\n };\n\n ChartInternal.prototype.isLineType = function (d) {\n var config = this.config,\n id = isString(d) ? d : d.id;\n return !config.data_types[id] || ['line', 'spline', 'area', 'area-spline', 'step', 'area-step'].indexOf(config.data_types[id]) >= 0;\n };\n\n ChartInternal.prototype.isStepType = function (d) {\n var id = isString(d) ? d : d.id;\n return ['step', 'area-step'].indexOf(this.config.data_types[id]) >= 0;\n };\n\n ChartInternal.prototype.isSplineType = function (d) {\n var id = isString(d) ? d : d.id;\n return ['spline', 'area-spline'].indexOf(this.config.data_types[id]) >= 0;\n };\n\n ChartInternal.prototype.isAreaType = function (d) {\n var id = isString(d) ? d : d.id;\n return ['area', 'area-spline', 'area-step'].indexOf(this.config.data_types[id]) >= 0;\n };\n\n ChartInternal.prototype.isBarType = function (d) {\n var id = isString(d) ? d : d.id;\n return this.config.data_types[id] === 'bar';\n };\n\n ChartInternal.prototype.isScatterType = function (d) {\n var id = isString(d) ? d : d.id;\n return this.config.data_types[id] === 'scatter';\n };\n\n ChartInternal.prototype.isPieType = function (d) {\n var id = isString(d) ? d : d.id;\n return this.config.data_types[id] === 'pie';\n };\n\n ChartInternal.prototype.isGaugeType = function (d) {\n var id = isString(d) ? d : d.id;\n return this.config.data_types[id] === 'gauge';\n };\n\n ChartInternal.prototype.isDonutType = function (d) {\n var id = isString(d) ? d : d.id;\n return this.config.data_types[id] === 'donut';\n };\n\n ChartInternal.prototype.isArcType = function (d) {\n return this.isPieType(d) || this.isDonutType(d) || this.isGaugeType(d);\n };\n\n ChartInternal.prototype.lineData = function (d) {\n return this.isLineType(d) ? [d] : [];\n };\n\n ChartInternal.prototype.arcData = function (d) {\n return this.isArcType(d.data) ? [d] : [];\n };\n /* not used\n function scatterData(d) {\n return isScatterType(d) ? d.values : [];\n }\n */\n\n\n ChartInternal.prototype.barData = function (d) {\n return this.isBarType(d) ? d.values : [];\n };\n\n ChartInternal.prototype.lineOrScatterData = function (d) {\n return this.isLineType(d) || this.isScatterType(d) ? d.values : [];\n };\n\n ChartInternal.prototype.barOrLineData = function (d) {\n return this.isBarType(d) || this.isLineType(d) ? d.values : [];\n };\n\n ChartInternal.prototype.isSafari = function () {\n var ua = window.navigator.userAgent;\n return ua.indexOf('Safari') >= 0 && ua.indexOf('Chrome') < 0;\n };\n\n ChartInternal.prototype.isChrome = function () {\n var ua = window.navigator.userAgent;\n return ua.indexOf('Chrome') >= 0;\n };\n\n ChartInternal.prototype.initZoom = function () {\n var $$ = this,\n d3 = $$.d3,\n config = $$.config,\n startEvent;\n $$.zoom = d3.zoom().on(\"start\", function () {\n if (config.zoom_type !== 'scroll') {\n return;\n }\n\n var e = d3.event.sourceEvent;\n\n if (e && e.type === \"brush\") {\n return;\n }\n\n startEvent = e;\n config.zoom_onzoomstart.call($$.api, e);\n }).on(\"zoom\", function () {\n if (config.zoom_type !== 'scroll') {\n return;\n }\n\n var e = d3.event.sourceEvent;\n\n if (e && e.type === \"brush\") {\n return;\n }\n\n $$.redrawForZoom();\n config.zoom_onzoom.call($$.api, $$.x.orgDomain());\n }).on('end', function () {\n if (config.zoom_type !== 'scroll') {\n return;\n }\n\n var e = d3.event.sourceEvent;\n\n if (e && e.type === \"brush\") {\n return;\n } // if click, do nothing. otherwise, click interaction will be canceled.\n\n\n if (e && startEvent.clientX === e.clientX && startEvent.clientY === e.clientY) {\n return;\n }\n\n config.zoom_onzoomend.call($$.api, $$.x.orgDomain());\n });\n\n $$.zoom.updateDomain = function () {\n if (d3.event && d3.event.transform) {\n $$.x.domain(d3.event.transform.rescaleX($$.subX).domain());\n }\n\n return this;\n };\n\n $$.zoom.updateExtent = function () {\n this.scaleExtent([1, Infinity]).translateExtent([[0, 0], [$$.width, $$.height]]).extent([[0, 0], [$$.width, $$.height]]);\n return this;\n };\n\n $$.zoom.update = function () {\n return this.updateExtent().updateDomain();\n };\n\n return $$.zoom.updateExtent();\n };\n\n ChartInternal.prototype.zoomTransform = function (range) {\n var $$ = this,\n s = [$$.x(range[0]), $$.x(range[1])];\n return $$.d3.zoomIdentity.scale($$.width / (s[1] - s[0])).translate(-s[0], 0);\n };\n\n ChartInternal.prototype.initDragZoom = function () {\n var $$ = this;\n var d3 = $$.d3;\n var config = $$.config;\n var context = $$.context = $$.svg;\n var brushXPos = $$.margin.left + 20.5;\n var brushYPos = $$.margin.top + 0.5;\n\n if (!(config.zoom_type === 'drag' && config.zoom_enabled)) {\n return;\n }\n\n var getZoomedDomain = function getZoomedDomain(selection) {\n return selection && selection.map(function (x) {\n return $$.x.invert(x);\n });\n };\n\n var brush = $$.dragZoomBrush = d3.brushX().on(\"start\", function () {\n $$.api.unzoom();\n $$.svg.select(\".\" + CLASS.dragZoom).classed(\"disabled\", false);\n config.zoom_onzoomstart.call($$.api, d3.event.sourceEvent);\n }).on(\"brush\", function () {\n config.zoom_onzoom.call($$.api, getZoomedDomain(d3.event.selection));\n }).on(\"end\", function () {\n if (d3.event.selection == null) {\n return;\n }\n\n var zoomedDomain = getZoomedDomain(d3.event.selection);\n\n if (!config.zoom_disableDefaultBehavior) {\n $$.api.zoom(zoomedDomain);\n }\n\n $$.svg.select(\".\" + CLASS.dragZoom).classed(\"disabled\", true);\n config.zoom_onzoomend.call($$.api, zoomedDomain);\n });\n context.append(\"g\").classed(CLASS.dragZoom, true).attr(\"clip-path\", $$.clipPath).attr(\"transform\", \"translate(\" + brushXPos + \",\" + brushYPos + \")\").call(brush);\n };\n\n ChartInternal.prototype.getZoomDomain = function () {\n var $$ = this,\n config = $$.config,\n d3 = $$.d3,\n min = d3.min([$$.orgXDomain[0], config.zoom_x_min]),\n max = d3.max([$$.orgXDomain[1], config.zoom_x_max]);\n return [min, max];\n };\n\n ChartInternal.prototype.redrawForZoom = function () {\n var $$ = this,\n d3 = $$.d3,\n config = $$.config,\n zoom = $$.zoom,\n x = $$.x;\n\n if (!config.zoom_enabled) {\n return;\n }\n\n if ($$.filterTargetsToShow($$.data.targets).length === 0) {\n return;\n }\n\n zoom.update();\n\n if (config.zoom_disableDefaultBehavior) {\n return;\n }\n\n if ($$.isCategorized() && x.orgDomain()[0] === $$.orgXDomain[0]) {\n x.domain([$$.orgXDomain[0] - 1e-10, x.orgDomain()[1]]);\n }\n\n $$.redraw({\n withTransition: false,\n withY: config.zoom_rescale,\n withSubchart: false,\n withEventRect: false,\n withDimension: false\n });\n\n if (d3.event.sourceEvent && d3.event.sourceEvent.type === 'mousemove') {\n $$.cancelClick = true;\n }\n };\n\n return c3;\n\n})));\n","import { each } from '../../utils/each';\nimport { extend } from '../../utils/extend';\n\nfunction average(arr, start, end){\n var set = arr.slice(start||0, (end ? end+1 : arr.length)),\n sum = 0,\n avg = null;\n\n // Add numeric values\n each(set, function(val, i){\n if (typeof val === 'number' && !isNaN(parseFloat(val))) {\n sum += parseFloat(val);\n }\n });\n return sum / set.length;\n}\n\nfunction maximum(arr, start, end){\n var set = arr.slice(start||0, (end ? end+1 : arr.length)),\n nums = [];\n\n // Pull numeric values\n each(set, function(val, i){\n if (typeof val === 'number' && !isNaN(parseFloat(val))) {\n nums.push(parseFloat(val));\n }\n });\n return Math.max.apply(Math, nums);\n}\n\nfunction minimum(arr, start, end){\n var set = arr.slice(start||0, (end ? end+1 : arr.length)),\n nums = [];\n\n // Pull numeric values\n each(set, function(val, i){\n if (typeof val === 'number' && !isNaN(parseFloat(val))) {\n nums.push(parseFloat(val));\n }\n });\n return Math.min.apply(Math, nums);\n}\n\nfunction sum(arr, start, end){\n // Copy set with given range\n var set = arr.slice(start||0, (end ? end+1 : arr.length)),\n sum = 0;\n\n // Add numeric values\n each(set, function(val, i){\n if (typeof val === 'number' && !isNaN(parseFloat(val))) {\n sum += parseFloat(val);\n }\n });\n return sum;\n}\n\nconst getColumnAverage = function (arr) {\n return average(arr, 1);\n};\nconst getRowAverage = getColumnAverage;\n\nconst getColumnSum = function (arr) {\n return sum(arr, 1);\n};\nconst getRowSum = getColumnSum;\n\nconst getColumnMaximum = function (arr) {\n return maximum(arr, 1);\n};\nconst getRowMaximum = getColumnMaximum;\n\nconst getColumnMinimum = function (arr) {\n return minimum(arr, 1);\n};\nconst getRowMinimum = getColumnMinimum;\n\nconst getColumnLabel = function (arr) {\n return arr[0];\n};\nconst getRowIndex = getColumnLabel;\n\nexport default {\n average,\n maximum,\n minimum,\n sum,\n getColumnAverage,\n getRowAverage,\n getColumnSum,\n getRowSum,\n getColumnMaximum,\n getRowMaximum,\n getColumnMinimum,\n getRowMinimum,\n getColumnLabel,\n getRowIndex,\n};\n","// Modifiers\nimport * as append from './modifiers/append';\nimport * as del from './modifiers/delete';\nimport * as filter from './modifiers/filter';\nimport * as insert from './modifiers/insert';\nimport * as select from './modifiers/select';\nimport * as sort from './modifiers/sort';\nimport * as update from './modifiers/update';\n\n// Utils\nimport analyses from './utils/analyses';\nimport { extend } from '../utils/extend';\nimport parsers from './utils/parsers';\n\nexport const Dataset = function (config = {}) {\n if (this instanceof Dataset === false) {\n return new Dataset(config);\n }\n\n this.matrix = [\n ['Index']\n ];\n this.meta = {\n type: undefined\n };\n this.config = config;\n}\n\nDataset.prototype.data = function (arr) {\n if (!arguments.length) return this.matrix;\n this.matrix = (arr instanceof Array ? arr : null);\n return this;\n};\n\nDataset.prototype.set = function (coords, value) {\n if (arguments.length < 2 || coords.length < 2) {\n throw Error('Incorrect arguments provided for #set method');\n }\n\n var colIndex = 'number' === typeof coords[0] ? coords[0] : this.matrix[0].indexOf(coords[0]),\n rowIndex = 'number' === typeof coords[1] ? coords[1] : select.selectColumn.call(this, 0).indexOf(coords[1]);\n\n var colResult = select.selectColumn.call(this, coords[0]),\n rowResult = select.selectRow.call(this, coords[1]);\n\n // Column doesn't exist, create and reset colIndex\n if (colResult.length < 1) {\n append.appendColumn.call(this, String(coords[0]));\n colIndex = this.matrix[0].length - 1;\n }\n\n // Row doesn't exist, create and reset rowIndex\n if (rowResult.length < 1) {\n append.appendRow.call(this, String(coords[1]));\n rowIndex = this.matrix.length - 1;\n }\n\n // Set provided value\n this.matrix[ rowIndex ][ colIndex ] = value;\n return this;\n};\n\nDataset.prototype.type = function(str){\n if (!arguments.length) return this.meta['type'];\n this.meta['type'] = (str ? String(str) : undefined);\n return this;\n};\n\nextend(Dataset.prototype, append);\nextend(Dataset.prototype, del);\nextend(Dataset.prototype, filter);\nextend(Dataset.prototype, insert);\nextend(Dataset.prototype, select);\nextend(Dataset.prototype, sort);\nextend(Dataset.prototype, update);\nextend(Dataset.prototype, analyses);\nDataset.parser = parsers(Dataset);\n\nexport default Dataset;\n","export default {\n render: function(){\n let html = '';\n const artifacts = this.view._artifacts.spinner = {};\n\n // Build DOM element\n html += '
';\n html += '
';\n html += '
';\n html += '
';\n html += '
';\n this.el().innerHTML = html;\n },\n update: function(){\n // no special update handling\n this.render();\n },\n destroy: function(){\n if (this.view._artifacts.spinner) {\n if (this.view._artifacts.spinner.interval) {\n clearInterval(this.view._artifacts.spinner.interval);\n }\n this.view._artifacts.spinner.radius = 0;\n try {\n delete this.view._artifacts.spinner;\n }\n catch (e) {\n this.view._artifacts.spinner = undefined;\n }\n }\n this.el().innerHTML = '';\n }\n};\n","var map = {\n\t\"./af\": 131,\n\t\"./af.js\": 131,\n\t\"./ar\": 130,\n\t\"./ar-dz\": 129,\n\t\"./ar-dz.js\": 129,\n\t\"./ar-kw\": 128,\n\t\"./ar-kw.js\": 128,\n\t\"./ar-ly\": 127,\n\t\"./ar-ly.js\": 127,\n\t\"./ar-ma\": 126,\n\t\"./ar-ma.js\": 126,\n\t\"./ar-sa\": 125,\n\t\"./ar-sa.js\": 125,\n\t\"./ar-tn\": 124,\n\t\"./ar-tn.js\": 124,\n\t\"./ar.js\": 130,\n\t\"./az\": 123,\n\t\"./az.js\": 123,\n\t\"./be\": 122,\n\t\"./be.js\": 122,\n\t\"./bg\": 121,\n\t\"./bg.js\": 121,\n\t\"./bm\": 120,\n\t\"./bm.js\": 120,\n\t\"./bn\": 119,\n\t\"./bn.js\": 119,\n\t\"./bo\": 118,\n\t\"./bo.js\": 118,\n\t\"./br\": 117,\n\t\"./br.js\": 117,\n\t\"./bs\": 116,\n\t\"./bs.js\": 116,\n\t\"./ca\": 115,\n\t\"./ca.js\": 115,\n\t\"./cs\": 114,\n\t\"./cs.js\": 114,\n\t\"./cv\": 113,\n\t\"./cv.js\": 113,\n\t\"./cy\": 112,\n\t\"./cy.js\": 112,\n\t\"./da\": 111,\n\t\"./da.js\": 111,\n\t\"./de\": 110,\n\t\"./de-at\": 109,\n\t\"./de-at.js\": 109,\n\t\"./de-ch\": 108,\n\t\"./de-ch.js\": 108,\n\t\"./de.js\": 110,\n\t\"./dv\": 107,\n\t\"./dv.js\": 107,\n\t\"./el\": 106,\n\t\"./el.js\": 106,\n\t\"./en-au\": 105,\n\t\"./en-au.js\": 105,\n\t\"./en-ca\": 104,\n\t\"./en-ca.js\": 104,\n\t\"./en-gb\": 103,\n\t\"./en-gb.js\": 103,\n\t\"./en-ie\": 102,\n\t\"./en-ie.js\": 102,\n\t\"./en-il\": 101,\n\t\"./en-il.js\": 101,\n\t\"./en-nz\": 100,\n\t\"./en-nz.js\": 100,\n\t\"./eo\": 99,\n\t\"./eo.js\": 99,\n\t\"./es\": 98,\n\t\"./es-do\": 97,\n\t\"./es-do.js\": 97,\n\t\"./es-us\": 96,\n\t\"./es-us.js\": 96,\n\t\"./es.js\": 98,\n\t\"./et\": 95,\n\t\"./et.js\": 95,\n\t\"./eu\": 94,\n\t\"./eu.js\": 94,\n\t\"./fa\": 93,\n\t\"./fa.js\": 93,\n\t\"./fi\": 92,\n\t\"./fi.js\": 92,\n\t\"./fo\": 91,\n\t\"./fo.js\": 91,\n\t\"./fr\": 90,\n\t\"./fr-ca\": 89,\n\t\"./fr-ca.js\": 89,\n\t\"./fr-ch\": 88,\n\t\"./fr-ch.js\": 88,\n\t\"./fr.js\": 90,\n\t\"./fy\": 87,\n\t\"./fy.js\": 87,\n\t\"./gd\": 86,\n\t\"./gd.js\": 86,\n\t\"./gl\": 85,\n\t\"./gl.js\": 85,\n\t\"./gom-latn\": 84,\n\t\"./gom-latn.js\": 84,\n\t\"./gu\": 83,\n\t\"./gu.js\": 83,\n\t\"./he\": 82,\n\t\"./he.js\": 82,\n\t\"./hi\": 81,\n\t\"./hi.js\": 81,\n\t\"./hr\": 80,\n\t\"./hr.js\": 80,\n\t\"./hu\": 79,\n\t\"./hu.js\": 79,\n\t\"./hy-am\": 78,\n\t\"./hy-am.js\": 78,\n\t\"./id\": 77,\n\t\"./id.js\": 77,\n\t\"./is\": 76,\n\t\"./is.js\": 76,\n\t\"./it\": 75,\n\t\"./it.js\": 75,\n\t\"./ja\": 74,\n\t\"./ja.js\": 74,\n\t\"./jv\": 73,\n\t\"./jv.js\": 73,\n\t\"./ka\": 72,\n\t\"./ka.js\": 72,\n\t\"./kk\": 71,\n\t\"./kk.js\": 71,\n\t\"./km\": 70,\n\t\"./km.js\": 70,\n\t\"./kn\": 69,\n\t\"./kn.js\": 69,\n\t\"./ko\": 68,\n\t\"./ko.js\": 68,\n\t\"./ky\": 67,\n\t\"./ky.js\": 67,\n\t\"./lb\": 66,\n\t\"./lb.js\": 66,\n\t\"./lo\": 65,\n\t\"./lo.js\": 65,\n\t\"./lt\": 64,\n\t\"./lt.js\": 64,\n\t\"./lv\": 63,\n\t\"./lv.js\": 63,\n\t\"./me\": 62,\n\t\"./me.js\": 62,\n\t\"./mi\": 61,\n\t\"./mi.js\": 61,\n\t\"./mk\": 60,\n\t\"./mk.js\": 60,\n\t\"./ml\": 59,\n\t\"./ml.js\": 59,\n\t\"./mn\": 58,\n\t\"./mn.js\": 58,\n\t\"./mr\": 57,\n\t\"./mr.js\": 57,\n\t\"./ms\": 56,\n\t\"./ms-my\": 55,\n\t\"./ms-my.js\": 55,\n\t\"./ms.js\": 56,\n\t\"./mt\": 54,\n\t\"./mt.js\": 54,\n\t\"./my\": 53,\n\t\"./my.js\": 53,\n\t\"./nb\": 52,\n\t\"./nb.js\": 52,\n\t\"./ne\": 51,\n\t\"./ne.js\": 51,\n\t\"./nl\": 50,\n\t\"./nl-be\": 49,\n\t\"./nl-be.js\": 49,\n\t\"./nl.js\": 50,\n\t\"./nn\": 48,\n\t\"./nn.js\": 48,\n\t\"./pa-in\": 47,\n\t\"./pa-in.js\": 47,\n\t\"./pl\": 46,\n\t\"./pl.js\": 46,\n\t\"./pt\": 45,\n\t\"./pt-br\": 44,\n\t\"./pt-br.js\": 44,\n\t\"./pt.js\": 45,\n\t\"./ro\": 43,\n\t\"./ro.js\": 43,\n\t\"./ru\": 42,\n\t\"./ru.js\": 42,\n\t\"./sd\": 41,\n\t\"./sd.js\": 41,\n\t\"./se\": 40,\n\t\"./se.js\": 40,\n\t\"./si\": 39,\n\t\"./si.js\": 39,\n\t\"./sk\": 38,\n\t\"./sk.js\": 38,\n\t\"./sl\": 37,\n\t\"./sl.js\": 37,\n\t\"./sq\": 36,\n\t\"./sq.js\": 36,\n\t\"./sr\": 35,\n\t\"./sr-cyrl\": 34,\n\t\"./sr-cyrl.js\": 34,\n\t\"./sr.js\": 35,\n\t\"./ss\": 33,\n\t\"./ss.js\": 33,\n\t\"./sv\": 32,\n\t\"./sv.js\": 32,\n\t\"./sw\": 31,\n\t\"./sw.js\": 31,\n\t\"./ta\": 30,\n\t\"./ta.js\": 30,\n\t\"./te\": 29,\n\t\"./te.js\": 29,\n\t\"./tet\": 28,\n\t\"./tet.js\": 28,\n\t\"./tg\": 27,\n\t\"./tg.js\": 27,\n\t\"./th\": 26,\n\t\"./th.js\": 26,\n\t\"./tl-ph\": 25,\n\t\"./tl-ph.js\": 25,\n\t\"./tlh\": 24,\n\t\"./tlh.js\": 24,\n\t\"./tr\": 23,\n\t\"./tr.js\": 23,\n\t\"./tzl\": 22,\n\t\"./tzl.js\": 22,\n\t\"./tzm\": 21,\n\t\"./tzm-latn\": 20,\n\t\"./tzm-latn.js\": 20,\n\t\"./tzm.js\": 21,\n\t\"./ug-cn\": 19,\n\t\"./ug-cn.js\": 19,\n\t\"./uk\": 18,\n\t\"./uk.js\": 18,\n\t\"./ur\": 17,\n\t\"./ur.js\": 17,\n\t\"./uz\": 16,\n\t\"./uz-latn\": 15,\n\t\"./uz-latn.js\": 15,\n\t\"./uz.js\": 16,\n\t\"./vi\": 14,\n\t\"./vi.js\": 14,\n\t\"./x-pseudo\": 13,\n\t\"./x-pseudo.js\": 13,\n\t\"./yo\": 12,\n\t\"./yo.js\": 12,\n\t\"./zh-cn\": 11,\n\t\"./zh-cn.js\": 11,\n\t\"./zh-hk\": 10,\n\t\"./zh-hk.js\": 10,\n\t\"./zh-tw\": 9,\n\t\"./zh-tw.js\": 9\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\tvar module = __webpack_require__(id);\n\treturn module;\n}\nfunction webpackContextResolve(req) {\n\tvar id = map[req];\n\tif(!(id + 1)) { // check for number or string\n\t\tvar e = new Error('Cannot find module \"' + req + '\".');\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn id;\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 138;","module.exports = function(module) {\r\n\tif (!module.webpackPolyfill) {\r\n\t\tmodule.deprecate = function() {};\r\n\t\tmodule.paths = [];\r\n\t\t// module.parent = undefined by default\r\n\t\tif (!module.children) module.children = [];\r\n\t\tObject.defineProperty(module, \"loaded\", {\r\n\t\t\tenumerable: true,\r\n\t\t\tget: function() {\r\n\t\t\t\treturn module.l;\r\n\t\t\t}\r\n\t\t});\r\n\t\tObject.defineProperty(module, \"id\", {\r\n\t\t\tenumerable: true,\r\n\t\t\tget: function() {\r\n\t\t\t\treturn module.i;\r\n\t\t\t}\r\n\t\t});\r\n\t\tmodule.webpackPolyfill = 1;\r\n\t}\r\n\treturn module;\r\n};\r\n","//! moment-timezone.js\n//! version : 0.5.21\n//! Copyright (c) JS Foundation and other contributors\n//! license : MIT\n//! github.com/moment/moment-timezone\n\n(function (root, factory) {\n\t\"use strict\";\n\n\t/*global define*/\n\tif (typeof module === 'object' && module.exports) {\n\t\tmodule.exports = factory(require('moment')); // Node\n\t} else if (typeof define === 'function' && define.amd) {\n\t\tdefine(['moment'], factory); // AMD\n\t} else {\n\t\tfactory(root.moment); // Browser\n\t}\n}(this, function (moment) {\n\t\"use strict\";\n\n\t// Do not load moment-timezone a second time.\n\t// if (moment.tz !== undefined) {\n\t// \tlogError('Moment Timezone ' + moment.tz.version + ' was already loaded ' + (moment.tz.dataVersion ? 'with data from ' : 'without any data') + moment.tz.dataVersion);\n\t// \treturn moment;\n\t// }\n\n\tvar VERSION = \"0.5.21\",\n\t\tzones = {},\n\t\tlinks = {},\n\t\tnames = {},\n\t\tguesses = {},\n\t\tcachedGuess;\n\n\tif (!moment || typeof moment.version !== 'string') {\n\t\tlogError('Moment Timezone requires Moment.js. See https://momentjs.com/timezone/docs/#/use-it/browser/');\n\t}\n\n\tvar momentVersion = moment.version.split('.'),\n\t\tmajor = +momentVersion[0],\n\t\tminor = +momentVersion[1];\n\n\t// Moment.js version check\n\tif (major < 2 || (major === 2 && minor < 6)) {\n\t\tlogError('Moment Timezone requires Moment.js >= 2.6.0. You are using Moment.js ' + moment.version + '. See momentjs.com');\n\t}\n\n\t/************************************\n\t\tUnpacking\n\t************************************/\n\n\tfunction charCodeToInt(charCode) {\n\t\tif (charCode > 96) {\n\t\t\treturn charCode - 87;\n\t\t} else if (charCode > 64) {\n\t\t\treturn charCode - 29;\n\t\t}\n\t\treturn charCode - 48;\n\t}\n\n\tfunction unpackBase60(string) {\n\t\tvar i = 0,\n\t\t\tparts = string.split('.'),\n\t\t\twhole = parts[0],\n\t\t\tfractional = parts[1] || '',\n\t\t\tmultiplier = 1,\n\t\t\tnum,\n\t\t\tout = 0,\n\t\t\tsign = 1;\n\n\t\t// handle negative numbers\n\t\tif (string.charCodeAt(0) === 45) {\n\t\t\ti = 1;\n\t\t\tsign = -1;\n\t\t}\n\n\t\t// handle digits before the decimal\n\t\tfor (i; i < whole.length; i++) {\n\t\t\tnum = charCodeToInt(whole.charCodeAt(i));\n\t\t\tout = 60 * out + num;\n\t\t}\n\n\t\t// handle digits after the decimal\n\t\tfor (i = 0; i < fractional.length; i++) {\n\t\t\tmultiplier = multiplier / 60;\n\t\t\tnum = charCodeToInt(fractional.charCodeAt(i));\n\t\t\tout += num * multiplier;\n\t\t}\n\n\t\treturn out * sign;\n\t}\n\n\tfunction arrayToInt (array) {\n\t\tfor (var i = 0; i < array.length; i++) {\n\t\t\tarray[i] = unpackBase60(array[i]);\n\t\t}\n\t}\n\n\tfunction intToUntil (array, length) {\n\t\tfor (var i = 0; i < length; i++) {\n\t\t\tarray[i] = Math.round((array[i - 1] || 0) + (array[i] * 60000)); // minutes to milliseconds\n\t\t}\n\n\t\tarray[length - 1] = Infinity;\n\t}\n\n\tfunction mapIndices (source, indices) {\n\t\tvar out = [], i;\n\n\t\tfor (i = 0; i < indices.length; i++) {\n\t\t\tout[i] = source[indices[i]];\n\t\t}\n\n\t\treturn out;\n\t}\n\n\tfunction unpack (string) {\n\t\tvar data = string.split('|'),\n\t\t\toffsets = data[2].split(' '),\n\t\t\tindices = data[3].split(''),\n\t\t\tuntils = data[4].split(' ');\n\n\t\tarrayToInt(offsets);\n\t\tarrayToInt(indices);\n\t\tarrayToInt(untils);\n\n\t\tintToUntil(untils, indices.length);\n\n\t\treturn {\n\t\t\tname : data[0],\n\t\t\tabbrs : mapIndices(data[1].split(' '), indices),\n\t\t\toffsets : mapIndices(offsets, indices),\n\t\t\tuntils : untils,\n\t\t\tpopulation : data[5] | 0\n\t\t};\n\t}\n\n\t/************************************\n\t\tZone object\n\t************************************/\n\n\tfunction Zone (packedString) {\n\t\tif (packedString) {\n\t\t\tthis._set(unpack(packedString));\n\t\t}\n\t}\n\n\tZone.prototype = {\n\t\t_set : function (unpacked) {\n\t\t\tthis.name = unpacked.name;\n\t\t\tthis.abbrs = unpacked.abbrs;\n\t\t\tthis.untils = unpacked.untils;\n\t\t\tthis.offsets = unpacked.offsets;\n\t\t\tthis.population = unpacked.population;\n\t\t},\n\n\t\t_index : function (timestamp) {\n\t\t\tvar target = +timestamp,\n\t\t\t\tuntils = this.untils,\n\t\t\t\ti;\n\n\t\t\tfor (i = 0; i < untils.length; i++) {\n\t\t\t\tif (target < untils[i]) {\n\t\t\t\t\treturn i;\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\tparse : function (timestamp) {\n\t\t\tvar target = +timestamp,\n\t\t\t\toffsets = this.offsets,\n\t\t\t\tuntils = this.untils,\n\t\t\t\tmax = untils.length - 1,\n\t\t\t\toffset, offsetNext, offsetPrev, i;\n\n\t\t\tfor (i = 0; i < max; i++) {\n\t\t\t\toffset = offsets[i];\n\t\t\t\toffsetNext = offsets[i + 1];\n\t\t\t\toffsetPrev = offsets[i ? i - 1 : i];\n\n\t\t\t\tif (offset < offsetNext && tz.moveAmbiguousForward) {\n\t\t\t\t\toffset = offsetNext;\n\t\t\t\t} else if (offset > offsetPrev && tz.moveInvalidForward) {\n\t\t\t\t\toffset = offsetPrev;\n\t\t\t\t}\n\n\t\t\t\tif (target < untils[i] - (offset * 60000)) {\n\t\t\t\t\treturn offsets[i];\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn offsets[max];\n\t\t},\n\n\t\tabbr : function (mom) {\n\t\t\treturn this.abbrs[this._index(mom)];\n\t\t},\n\n\t\toffset : function (mom) {\n\t\t\tlogError(\"zone.offset has been deprecated in favor of zone.utcOffset\");\n\t\t\treturn this.offsets[this._index(mom)];\n\t\t},\n\n\t\tutcOffset : function (mom) {\n\t\t\treturn this.offsets[this._index(mom)];\n\t\t}\n\t};\n\n\t/************************************\n\t\tCurrent Timezone\n\t************************************/\n\n\tfunction OffsetAt(at) {\n\t\tvar timeString = at.toTimeString();\n\t\tvar abbr = timeString.match(/\\([a-z ]+\\)/i);\n\t\tif (abbr && abbr[0]) {\n\t\t\t// 17:56:31 GMT-0600 (CST)\n\t\t\t// 17:56:31 GMT-0600 (Central Standard Time)\n\t\t\tabbr = abbr[0].match(/[A-Z]/g);\n\t\t\tabbr = abbr ? abbr.join('') : undefined;\n\t\t} else {\n\t\t\t// 17:56:31 CST\n\t\t\t// 17:56:31 GMT+0800 (台北標準時間)\n\t\t\tabbr = timeString.match(/[A-Z]{3,5}/g);\n\t\t\tabbr = abbr ? abbr[0] : undefined;\n\t\t}\n\n\t\tif (abbr === 'GMT') {\n\t\t\tabbr = undefined;\n\t\t}\n\n\t\tthis.at = +at;\n\t\tthis.abbr = abbr;\n\t\tthis.offset = at.getTimezoneOffset();\n\t}\n\n\tfunction ZoneScore(zone) {\n\t\tthis.zone = zone;\n\t\tthis.offsetScore = 0;\n\t\tthis.abbrScore = 0;\n\t}\n\n\tZoneScore.prototype.scoreOffsetAt = function (offsetAt) {\n\t\tthis.offsetScore += Math.abs(this.zone.utcOffset(offsetAt.at) - offsetAt.offset);\n\t\tif (this.zone.abbr(offsetAt.at).replace(/[^A-Z]/g, '') !== offsetAt.abbr) {\n\t\t\tthis.abbrScore++;\n\t\t}\n\t};\n\n\tfunction findChange(low, high) {\n\t\tvar mid, diff;\n\n\t\twhile ((diff = ((high.at - low.at) / 12e4 | 0) * 6e4)) {\n\t\t\tmid = new OffsetAt(new Date(low.at + diff));\n\t\t\tif (mid.offset === low.offset) {\n\t\t\t\tlow = mid;\n\t\t\t} else {\n\t\t\t\thigh = mid;\n\t\t\t}\n\t\t}\n\n\t\treturn low;\n\t}\n\n\tfunction userOffsets() {\n\t\tvar startYear = new Date().getFullYear() - 2,\n\t\t\tlast = new OffsetAt(new Date(startYear, 0, 1)),\n\t\t\toffsets = [last],\n\t\t\tchange, next, i;\n\n\t\tfor (i = 1; i < 48; i++) {\n\t\t\tnext = new OffsetAt(new Date(startYear, i, 1));\n\t\t\tif (next.offset !== last.offset) {\n\t\t\t\tchange = findChange(last, next);\n\t\t\t\toffsets.push(change);\n\t\t\t\toffsets.push(new OffsetAt(new Date(change.at + 6e4)));\n\t\t\t}\n\t\t\tlast = next;\n\t\t}\n\n\t\tfor (i = 0; i < 4; i++) {\n\t\t\toffsets.push(new OffsetAt(new Date(startYear + i, 0, 1)));\n\t\t\toffsets.push(new OffsetAt(new Date(startYear + i, 6, 1)));\n\t\t}\n\n\t\treturn offsets;\n\t}\n\n\tfunction sortZoneScores (a, b) {\n\t\tif (a.offsetScore !== b.offsetScore) {\n\t\t\treturn a.offsetScore - b.offsetScore;\n\t\t}\n\t\tif (a.abbrScore !== b.abbrScore) {\n\t\t\treturn a.abbrScore - b.abbrScore;\n\t\t}\n\t\treturn b.zone.population - a.zone.population;\n\t}\n\n\tfunction addToGuesses (name, offsets) {\n\t\tvar i, offset;\n\t\tarrayToInt(offsets);\n\t\tfor (i = 0; i < offsets.length; i++) {\n\t\t\toffset = offsets[i];\n\t\t\tguesses[offset] = guesses[offset] || {};\n\t\t\tguesses[offset][name] = true;\n\t\t}\n\t}\n\n\tfunction guessesForUserOffsets (offsets) {\n\t\tvar offsetsLength = offsets.length,\n\t\t\tfilteredGuesses = {},\n\t\t\tout = [],\n\t\t\ti, j, guessesOffset;\n\n\t\tfor (i = 0; i < offsetsLength; i++) {\n\t\t\tguessesOffset = guesses[offsets[i].offset] || {};\n\t\t\tfor (j in guessesOffset) {\n\t\t\t\tif (guessesOffset.hasOwnProperty(j)) {\n\t\t\t\t\tfilteredGuesses[j] = true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tfor (i in filteredGuesses) {\n\t\t\tif (filteredGuesses.hasOwnProperty(i)) {\n\t\t\t\tout.push(names[i]);\n\t\t\t}\n\t\t}\n\n\t\treturn out;\n\t}\n\n\tfunction rebuildGuess () {\n\n\t\t// use Intl API when available and returning valid time zone\n\t\ttry {\n\t\t\tvar intlName = Intl.DateTimeFormat().resolvedOptions().timeZone;\n\t\t\tif (intlName && intlName.length > 3) {\n\t\t\t\tvar name = names[normalizeName(intlName)];\n\t\t\t\tif (name) {\n\t\t\t\t\treturn name;\n\t\t\t\t}\n\t\t\t\tlogError(\"Moment Timezone found \" + intlName + \" from the Intl api, but did not have that data loaded.\");\n\t\t\t}\n\t\t} catch (e) {\n\t\t\t// Intl unavailable, fall back to manual guessing.\n\t\t}\n\n\t\tvar offsets = userOffsets(),\n\t\t\toffsetsLength = offsets.length,\n\t\t\tguesses = guessesForUserOffsets(offsets),\n\t\t\tzoneScores = [],\n\t\t\tzoneScore, i, j;\n\n\t\tfor (i = 0; i < guesses.length; i++) {\n\t\t\tzoneScore = new ZoneScore(getZone(guesses[i]), offsetsLength);\n\t\t\tfor (j = 0; j < offsetsLength; j++) {\n\t\t\t\tzoneScore.scoreOffsetAt(offsets[j]);\n\t\t\t}\n\t\t\tzoneScores.push(zoneScore);\n\t\t}\n\n\t\tzoneScores.sort(sortZoneScores);\n\n\t\treturn zoneScores.length > 0 ? zoneScores[0].zone.name : undefined;\n\t}\n\n\tfunction guess (ignoreCache) {\n\t\tif (!cachedGuess || ignoreCache) {\n\t\t\tcachedGuess = rebuildGuess();\n\t\t}\n\t\treturn cachedGuess;\n\t}\n\n\t/************************************\n\t\tGlobal Methods\n\t************************************/\n\n\tfunction normalizeName (name) {\n\t\treturn (name || '').toLowerCase().replace(/\\//g, '_');\n\t}\n\n\tfunction addZone (packed) {\n\t\tvar i, name, split, normalized;\n\n\t\tif (typeof packed === \"string\") {\n\t\t\tpacked = [packed];\n\t\t}\n\n\t\tfor (i = 0; i < packed.length; i++) {\n\t\t\tsplit = packed[i].split('|');\n\t\t\tname = split[0];\n\t\t\tnormalized = normalizeName(name);\n\t\t\tzones[normalized] = packed[i];\n\t\t\tnames[normalized] = name;\n\t\t\taddToGuesses(normalized, split[2].split(' '));\n\t\t}\n\t}\n\n\tfunction getZone (name, caller) {\n\t\t\n\t\tname = normalizeName(name);\n\n\t\tvar zone = zones[name];\n\t\tvar link;\n\n\t\tif (zone instanceof Zone) {\n\t\t\treturn zone;\n\t\t}\n\n\t\tif (typeof zone === 'string') {\n\t\t\tzone = new Zone(zone);\n\t\t\tzones[name] = zone;\n\t\t\treturn zone;\n\t\t}\n\n\t\t// Pass getZone to prevent recursion more than 1 level deep\n\t\tif (links[name] && caller !== getZone && (link = getZone(links[name], getZone))) {\n\t\t\tzone = zones[name] = new Zone();\n\t\t\tzone._set(link);\n\t\t\tzone.name = names[name];\n\t\t\treturn zone;\n\t\t}\n\n\t\treturn null;\n\t}\n\n\tfunction getNames () {\n\t\tvar i, out = [];\n\n\t\tfor (i in names) {\n\t\t\tif (names.hasOwnProperty(i) && (zones[i] || zones[links[i]]) && names[i]) {\n\t\t\t\tout.push(names[i]);\n\t\t\t}\n\t\t}\n\n\t\treturn out.sort();\n\t}\n\n\tfunction addLink (aliases) {\n\t\tvar i, alias, normal0, normal1;\n\n\t\tif (typeof aliases === \"string\") {\n\t\t\taliases = [aliases];\n\t\t}\n\n\t\tfor (i = 0; i < aliases.length; i++) {\n\t\t\talias = aliases[i].split('|');\n\n\t\t\tnormal0 = normalizeName(alias[0]);\n\t\t\tnormal1 = normalizeName(alias[1]);\n\n\t\t\tlinks[normal0] = normal1;\n\t\t\tnames[normal0] = alias[0];\n\n\t\t\tlinks[normal1] = normal0;\n\t\t\tnames[normal1] = alias[1];\n\t\t}\n\t}\n\n\tfunction loadData (data) {\n\t\taddZone(data.zones);\n\t\taddLink(data.links);\n\t\ttz.dataVersion = data.version;\n\t}\n\n\tfunction zoneExists (name) {\n\t\tif (!zoneExists.didShowError) {\n\t\t\tzoneExists.didShowError = true;\n\t\t\t\tlogError(\"moment.tz.zoneExists('\" + name + \"') has been deprecated in favor of !moment.tz.zone('\" + name + \"')\");\n\t\t}\n\t\treturn !!getZone(name);\n\t}\n\n\tfunction needsOffset (m) {\n\t\tvar isUnixTimestamp = (m._f === 'X' || m._f === 'x');\n\t\treturn !!(m._a && (m._tzm === undefined) && !isUnixTimestamp);\n\t}\n\n\tfunction logError (message) {\n\t\tif (typeof console !== 'undefined' && typeof console.error === 'function') {\n\t\t\tconsole.error(message);\n\t\t}\n\t}\n\n\t/************************************\n\t\tmoment.tz namespace\n\t************************************/\n\n\tfunction tz (input) {\n\t\tvar args = Array.prototype.slice.call(arguments, 0, -1),\n\t\t\tname = arguments[arguments.length - 1],\n\t\t\tzone = getZone(name),\n\t\t\tout = moment.utc.apply(null, args);\n\n\t\tif (zone && !moment.isMoment(input) && needsOffset(out)) {\n\t\t\tout.add(zone.parse(out), 'minutes');\n\t\t}\n\n\t\tout.tz(name);\n\n\t\treturn out;\n\t}\n\n\ttz.version = VERSION;\n\ttz.dataVersion = '';\n\ttz._zones = zones;\n\ttz._links = links;\n\ttz._names = names;\n\ttz.add = addZone;\n\ttz.link = addLink;\n\ttz.load = loadData;\n\ttz.zone = getZone;\n\ttz.zoneExists = zoneExists; // deprecated in 0.1.0\n\ttz.guess = guess;\n\ttz.names = getNames;\n\ttz.Zone = Zone;\n\ttz.unpack = unpack;\n\ttz.unpackBase60 = unpackBase60;\n\ttz.needsOffset = needsOffset;\n\ttz.moveInvalidForward = true;\n\ttz.moveAmbiguousForward = false;\n\n\t/************************************\n\t\tInterface with Moment.js\n\t************************************/\n\n\tvar fn = moment.fn;\n\n\tmoment.tz = tz;\n\n\tmoment.defaultZone = null;\n\n\tmoment.updateOffset = function (mom, keepTime) {\n\t\tvar zone = moment.defaultZone,\n\t\t\toffset;\n\n\t\tif (mom._z === undefined) {\n\t\t\tif (zone && needsOffset(mom) && !mom._isUTC) {\n\t\t\t\tmom._d = moment.utc(mom._a)._d;\n\t\t\t\tmom.utc().add(zone.parse(mom), 'minutes');\n\t\t\t}\n\t\t\tmom._z = zone;\n\t\t}\n\t\tif (mom._z) {\n\t\t\toffset = mom._z.utcOffset(mom);\n\t\t\tif (Math.abs(offset) < 16) {\n\t\t\t\toffset = offset / 60;\n\t\t\t}\n\t\t\tif (mom.utcOffset !== undefined) {\n\t\t\t\tmom.utcOffset(-offset, keepTime);\n\t\t\t} else {\n\t\t\t\tmom.zone(offset, keepTime);\n\t\t\t}\n\t\t}\n\t};\n\n\tfn.tz = function (name, keepTime) {\n\t\tif (name) {\n\t\t\tif (typeof name !== 'string') {\n\t\t\t\tthrow new Error('Time zone name must be a string, got ' + name + ' [' + typeof name + ']');\n\t\t\t}\n\t\t\tthis._z = getZone(name);\n\t\t\tif (this._z) {\n\t\t\t\tmoment.updateOffset(this, keepTime);\n\t\t\t} else {\n\t\t\t\tlogError(\"Moment Timezone has no data for \" + name + \". See http://momentjs.com/timezone/docs/#/data-loading/.\");\n\t\t\t}\n\t\t\treturn this;\n\t\t}\n\t\tif (this._z) { return this._z.name; }\n\t};\n\n\tfunction abbrWrap (old) {\n\t\treturn function () {\n\t\t\tif (this._z) { return this._z.abbr(this); }\n\t\t\treturn old.call(this);\n\t\t};\n\t}\n\n\tfunction resetZoneWrap (old) {\n\t\treturn function () {\n\t\t\tthis._z = null;\n\t\t\treturn old.apply(this, arguments);\n\t\t};\n\t}\n\n\tfn.zoneName = abbrWrap(fn.zoneName);\n\tfn.zoneAbbr = abbrWrap(fn.zoneAbbr);\n\tfn.utc = resetZoneWrap(fn.utc);\n\n\tmoment.tz.setDefault = function(name) {\n\t\tif (major < 2 || (major === 2 && minor < 9)) {\n\t\t\tlogError('Moment Timezone setDefault() requires Moment.js >= 2.9.0. You are using Moment.js ' + moment.version + '.');\n\t\t}\n\t\tmoment.defaultZone = name ? getZone(name) : null;\n\t\treturn moment;\n\t};\n\n\t// Cloning a moment should include the _z property.\n\tvar momentProperties = moment.momentProperties;\n\tif (Object.prototype.toString.call(momentProperties) === '[object Array]') {\n\t\t// moment 2.8.1+\n\t\tmomentProperties.push('_z');\n\t\tmomentProperties.push('_a');\n\t} else if (momentProperties) {\n\t\t// moment 2.7.0\n\t\tmomentProperties._z = null;\n\t}\n\n\t// INJECT DATA\n\n\treturn moment;\n}));\n","var moment = module.exports = require(\"./moment-timezone\");\nmoment.tz.load(require('./data/packed/latest.json'));\n","import moment from 'moment-timezone';\n\nimport { each } from '../../utils/each';\nimport { stripHtmlTags } from '../../utils/strip-html-tags';\nimport { escapeHtml } from '../../utils/escape-html';\n\nconst defaults = {\n /*\n DEPRECATED - use CSS styles\n\n height: undefined,\n width: undefined,\n stickyHeader: false,\n stickyFooter: false\n */\n};\n\nlet currentPage;\nfunction _generateTableRows(datavizInstance, dataset) {\n let html = '';\n const defaultConfig = {\n page: 1,\n limit: 0,\n arrows: true\n };\n let customConfig = {};\n if (datavizInstance.config.table && datavizInstance.config.table.pagination) {\n customConfig = datavizInstance.config.table.pagination;\n }\n const config = {\n ...defaultConfig,\n ...customConfig\n };\n\n if (!currentPage){\n currentPage = config.page;\n }\n\n let datasetPaginated;\n let pages = 0;\n if (config.limit === 0) {\n datasetPaginated = dataset.slice(1); // remove header\n } else {\n const start = config.limit * (currentPage - 1) + 1;\n const end = start + config.limit;\n datasetPaginated = dataset.slice(start, end);\n pages = Math.ceil((dataset.length - 1) / config.limit);\n }\n\n let columnsArray = datavizInstance.config.table.columns ?\n datavizInstance.config.table.columns :\n datavizInstance.dataset.matrix[0];\n\n const checkArray = {};\n const { mapValues } = datavizInstance.config.table;\n for (let key in mapValues){\n checkArray[columnsArray.indexOf(key)] = key;\n }\n\n // var london = newYork.clone().tz(\"Europe/London\");\n for (let row of datasetPaginated) {\n html += '';\n for (let [index, rowCol] of row.entries()) {\n if (\n datavizInstance.config.timezone\n && rowCol instanceof Date\n ) {\n let dateTimeTimezoned = moment\n .tz(rowCol, \"UTC\")\n .clone()\n .tz(datavizInstance.config.timezone);\n html += `${dateTimeTimezoned.toString()}`;\n continue;\n }\n let rowColEscaped = escapeHtml(rowCol);\n if(checkArray[index]){\n html += `${mapValues[checkArray[index]](rowColEscaped)}`;\n continue;\n }\n html += `${rowColEscaped}`\n }\n html += '';\n }\n\n if (pages > 1){\n html += ``;\n let pageNumber = 1;\n const prevPage = (currentPage === 1) ? 1 : (currentPage - 1);\n const nextPage = (currentPage === pages) ? pages : (currentPage + 1);\n if (config.arrows){\n html += `<`;\n }\n while (pageNumber <= pages){\n html += `${pageNumber}`;\n pageNumber++;\n }\n if (config.arrows){\n html += `>`;\n }\n html += '';\n }\n\n return html;\n}\n\nfunction _generateTableHeader(datavizInstance, dataset) {\n let html = '';\n let fieldNumber = -1;\n let columnNames =\n (datavizInstance.config.table && datavizInstance.config.table.columns)\n || dataset[0];\n for (let colName of columnNames) {\n let colNameEscaped = escapeHtml(colName);\n fieldNumber +=1;\n html += `${colNameEscaped}`;\n }\n return html;\n}\n\n\n const render = function() {\n const dataset = this.dataset.matrix;\n\n const el = this.el();\n const theme = this.config.theme;\n const datavizInstance = this;\n\n let html = '';\n\n const isEmpty = dataset.length === 1 && dataset[0].length === 0;\n if (isEmpty) {\n const msg = 'No data to display';\n const mappedMsg = this.config.errorMapping[msg] || msg;\n if (this.config.showErrorMessages) {\n this.message(mappedMsg);\n }\n return;\n }\n\n // Open wrapper\n html += `
`;\n\n // Static, scrollable table\n html += ``;\n html += '';\n html += '';\n html += _generateTableHeader(datavizInstance, dataset);\n html += '';\n html += '';\n // Table data\n html += '';\n html += _generateTableRows(datavizInstance, dataset);\n html += '';\n html += '
';\n/* */\n // Close wrapper\n html += '
';\n\n // Inject HTML string\n el.querySelector(`.${theme}-rendering`).innerHTML = html;\n\n el\n .querySelectorAll(`.${theme}-rendering th`)\n .forEach((item) => {\n item.addEventListener('click', (event) => {\n let sortOrder = event.target.getAttribute('order') || 'asc';\n let fieldNumber = event.target.getAttribute('fieldNumber');\n let checker = function (a, b) {\n let sortOrderNumber = (sortOrder === 'asc') ? 1 : -1;\n\n if (typeof a[fieldNumber] === 'string') {\n let nameA = a[fieldNumber].toUpperCase(); // ignore upper and lowercase\n let nameB = b[fieldNumber].toUpperCase(); // ignore upper and lowercase\n if (nameA < nameB) {\n return -1 * sortOrderNumber;\n }\n if (nameA > nameB) {\n return 1* sortOrderNumber;\n }\n\n // names must be equal\n return 0;\n }\n return (a[fieldNumber] - b[fieldNumber]) * sortOrderNumber;\n };\n\n if (sortOrder === 'asc') {\n sortOrder = 'desc';\n } else {\n sortOrder = 'asc'\n }\n event.target.setAttribute('order', sortOrder);\n\n const first = this.dataset.matrix.shift();\n this.dataset.matrix.sort(checker);\n this.dataset.matrix.unshift(first);\n\n el.querySelector(`.${theme}-rendering tbody`).innerHTML =\n _generateTableRows(datavizInstance, dataset);\n attachBtnEventListeners();\n });\n });\n\n\n const attachBtnEventListeners = () => {\n el.querySelectorAll('.btn').forEach(btn => {\n btn.addEventListener('click', (event) => {\n currentPage = parseInt(event.target.getAttribute('data-page'));\n el.querySelector(`.${theme}-rendering tbody`).innerHTML =\n _generateTableRows(datavizInstance, dataset);\n attachBtnEventListeners();\n }, true);\n });\n };\n\n attachBtnEventListeners(datavizInstance, el, theme);\n\n if (this.config.onrendered) {\n this.config.onrendered();\n }\n };\n\n\n\nconst update = function(){\n // no special update handling\n this.render();\n };\n\nconst destroy= function(){};\n\nexport default { render, update, destroy };\n","export function prettyNumber(input) {\n // If it has 3 or fewer sig figs already, just return the number.\n var input = Number(input),\n sciNo = input.toPrecision(3),\n prefix = '',\n suffixes = ['', 'k', 'M', 'B', 'T'];\n\n if (Number(sciNo) == input && String(input).length <= 4) {\n return String(input);\n }\n\n if (Math.abs(input) >= 1000000000000000) {\n return sciNo;\n }\n\n if (input >= 1 || input <= -1) {\n if (input < 0){\n //Pull off the negative side and stash that.\n input = -input;\n prefix = '-';\n }\n return prefix + recurse(input, 0);\n }\n else {\n return input.toPrecision(3);\n }\n\n function recurse(input, iteration) {\n var input = String(input);\n var split = input.split('.');\n // If there's a dot\n if (split.length > 1) {\n // Keep the left hand side only\n input = split[0];\n var rhs = split[1];\n // If the left-hand side is too short, pad until it has 3 digits\n if (input.length == 2 && rhs.length > 0) {\n // Pad with right-hand side if possible\n if (rhs.length > 0) {\n input = input + '.' + rhs.charAt(0);\n }\n // Pad with zeroes if you must\n else {\n input += '0';\n }\n }\n else if (input.length == 1 && rhs.length > 0) {\n input = input + '.' + rhs.charAt(0);\n // Pad with right-hand side if possible\n if (rhs.length > 1) {\n input += rhs.charAt(1);\n }\n // Pad with zeroes if you must\n else {\n input += '0';\n }\n }\n }\n var numNumerals = input.length;\n // if it has a period, then numNumerals is 1 smaller than the string length:\n if (input.split('.').length > 1) {\n numNumerals--;\n }\n if (numNumerals <= 3) {\n return String(input) + suffixes[iteration];\n }\n else {\n return recurse(Number(input) / 1000, iteration + 1);\n }\n }\n}\n","import { prettyNumber } from '../../utils/pretty-number';\nimport { escapeHtml } from '../../utils/escape-html';\n\nexport default {\n render: function(){\n const color = this.config.colors[0];\n const theme = this.config.theme;\n const title = this.config.title;\n const opts = this.config;\n let value = '-';\n let html = '';\n let prefix = '';\n let suffix = '';\n let formattedNum;\n let valueEl;\n let flexDifferenceStyle = '';\n let resultDifference = '';\n let differenceStyle = '';\n let smallerValue = '';\n const { results, previousResults } = this.config;\n if(results && previousResults){\n flexDifferenceStyle = previousResults ? ' metric-comparison' : '';\n smallerValue = previousResults && title ? '-smaller' : '';\n resultDifference = results.result - previousResults.result;\n differenceStyle = (resultDifference > 0) ? '-green' : '-red';\n resultDifference = Math.abs(resultDifference);\n }\n\n if (typeof this.data()[1][1] === 'number') {\n value = this.data()[1][1];\n }\n\n formattedNum = value;\n if ( (typeof opts['prettyNumber'] === 'undefined' || opts['prettyNumber'] === true)\n && !isNaN(parseInt(value)) ) {\n formattedNum = prettyNumber(value);\n if(results && previousResults){\n resultDifference = prettyNumber(resultDifference);\n }\n }\n\n if (opts['prefix']) {\n prefix = '' + opts['prefix'] + '';\n }\n if (opts['suffix']) {\n suffix = '' + opts['suffix'] + '';\n }\n html += '
';\n html += '
';\n if (results && previousResults) {\n html += '
' + escapeHtml(resultDifference) + '
';\n }\n html += '
' + prefix + escapeHtml(formattedNum) + suffix + '
';\n if (title) {\n html += '
' + escapeHtml(title) + '
';\n }\n html += '
';\n html += '
';\n\n this.el().innerHTML = html;\n\n if (this.config.onrendered) {\n this.config.onrendered();\n }\n },\n update: function(){\n // no special update handling\n this.render();\n },\n destroy: function(){\n // no special clean-up\n }\n};\n","import { escapeHtml } from '../../utils/escape-html';\n\nexport default {\n render: function(text){\n const outer = document.createElement('div');\n const inner = document.createElement('div');\n const msg = document.createElement('span');\n\n const titleContainer = document.createElement('div');\n const notesContainer = document.createElement('div');\n\n outer.className = this.config.theme + ' keen-dataviz-box';\n inner.className = this.config.theme + '-message';\n\n // Create title and notes for message\n titleContainer.className = this.config.theme + '-title';\n titleContainer.innerHTML = escapeHtml(this.config.title || '');\n notesContainer.className = this.config.theme + '-notes';\n notesContainer.innerHTML = escapeHtml(this.config.notes || '');\n\n msg.innerHTML = escapeHtml(text) || '';\n inner.appendChild(msg);\n\n if (this.config.title && this.config.showTitle) {\n outer.appendChild(titleContainer);\n }\n\n outer.appendChild(inner);\n\n if (this.config.notes) {\n outer.appendChild(notesContainer);\n }\n\n this.el().innerHTML = '';\n this.el().appendChild(outer);\n\n },\n update: function(){\n // no special update handling\n this.render();\n },\n destroy: function(){\n // no special clean-up\n }\n};\n","import { escapeHtml } from '../../../utils/escape-html';\n\nexport default function (d, defaultTitleFormat, defaultValueFormat, color) {\n let text;\n let title;\n // Set config options or defaults\n const nameFormat = this.config.tooltip_format_name || function (name) { return name; };\n const titleFormat = this.config.tooltip_format_title || defaultTitleFormat;\n const valueFormat = this.config.tooltip_format_value || defaultValueFormat;\n\n // Reverse list to match legend\n for (let i = 0; i < d.length; i++) {\n if (! (d[i] && (d[i].value || d[i].value === 0))) { continue; }\n if (!text) {\n title = titleFormat ? titleFormat(d[i].x) : d[i].x;\n text = \"\" + (title || title === 0 ? \"\" : \"\");\n }\n let name = nameFormat(d[i].name);\n let value = valueFormat(d[i].value, d[i].ratio, d[i].id, d[i].index);\n let bgcolor = this.levelColor ? this.levelColor(d[i].value) : color(d[i].id);\n if (value) {\n text += \"\";\n if (name.indexOf('__tooltip_ignore_name_field__') === -1) {\n text += \"\";\n }\n text += \"\";\n text += \"\";\n }\n }\n return text + \"
\" + escapeHtml(title) + \"
\" + escapeHtml(name) + \"\" + escapeHtml(value) + \"
\";\n}\n","import * as d3 from 'd3';\n\nimport isDateString from '../../../utils/assert-date-string';\n\nexport default function (options) {\n const cols = options.data.columns;\n const datavizInstance = this;\n const chart = this.view._artifacts.c3;\n let columns = [];\n const domNode = this.el().querySelector('.' + datavizInstance.config.theme + '-rendering');\n const legendConfig = datavizInstance.config.legend;\n\n const pagination = this.view._artifacts.pagination = {\n ...{\n hidden: [],\n labels: [],\n offset: 0,\n limit: Math.round((domNode.offsetHeight - 78) / 20),\n total: 0\n },\n ...legendConfig.pagination\n };\n\n if (options.legend.sort) {\n columns = options.legend.sort(cols);\n\n // update column order in the data, so tooltip will be the same order\n const columnsSorted = [];\n const dataColumnsSorted = [];\n if (cols[0][0] === 'x') {\n dataColumnsSorted.push(cols[0]);\n }\n columns.forEach(column => {\n let columnData = options.data.columns.find(item => item[0] === column);\n dataColumnsSorted.push(columnData);\n });\n options.data.columns = dataColumnsSorted;\n } else {\n for (let i = 0; i < cols.length; i++) {\n if (cols[i][0] !== 'x' && !isDateString(cols[i][1])) {\n columns.push(cols[i][0]);\n }\n }\n }\n\n const legendElement = this.el().querySelector('.keen-c3-legend');\n\n let align = 'vertical';\n if (legendConfig.position === 'top' || legendConfig.position === 'bottom') {\n align = 'horizontal';\n }\n\n const paginateHorizontalLeftElement = document.createElement('div');\n paginateHorizontalLeftElement.setAttribute('class', 'keen-c3-legend-pagination-icons keen-c3-legend-horizontal-pagination-left');\n if (align === 'horizontal') {\n legendElement.append(paginateHorizontalLeftElement);\n }\n\n const legendItemsElement = document.createElement('div');\n legendItemsElement.setAttribute('class', `keen-c3-legend-items keen-c3-legend-${align}-items`);\n legendElement.append(legendItemsElement);\n\n const paginateVerticalElement = document.createElement('div');\n paginateVerticalElement.setAttribute('class', 'keen-c3-legend-pagination keen-c3-legend-pagination-icons');\n if (align === 'vertical') {\n legendElement.append(paginateVerticalElement);\n }\n\n const paginateHorizontalRightElement = document.createElement('div');\n paginateHorizontalRightElement.setAttribute('class', 'keen-c3-legend-pagination-icons keen-c3-legend-horizontal-pagination-right');\n if (align === 'horizontal') {\n legendElement.append(paginateHorizontalRightElement);\n }\n\n paginateData();\n\n function paginateData(){\n pagination.labels = columns.slice(pagination.offset, pagination.offset + pagination.limit);\n pagination.total = columns.length;\n renderLegendComponent.call(datavizInstance, pagination.labels);\n if (pagination.total > pagination.limit) {\n renderPaginationComponent.call(datavizInstance);\n }\n if (options.onPaginated){\n options.onPaginated();\n }\n }\n\n function renderLegendComponent(){\n legendItemsElement.innerHTML = '';\n\n pagination.labels.forEach(label => {\n const labelShortened = legendConfig.label.textMaxLength ? label.slice(0, legendConfig.label.textMaxLength - 1) : label;\n const legendItem = document.createElement(\"div\");\n legendItem.innerHTML = `${labelShortened}`;\n legendItem.chartPartId = label;\n legendItem.setAttribute('class', 'legend-item');\n legendItemsElement.append(legendItem);\n\n const legendItemColorSample = document.createElement(\"span\");\n legendItemColorSample.setAttribute('class', 'legend-item-color-sample');\n legendItemColorSample.style.backgroundColor = chart.color(legendItem.chartPartId);\n legendItem.prepend(legendItemColorSample);\n\n const tooltipElement = document.createElement(\"div\");\n legendItem.addEventListener('mouseover', (event) => {\n chart.focus(legendItem.chartPartId);\n if (legendConfig.tooltip.show && legendItem.chartPartId.length > legendConfig.label.textMaxLength) {\n tooltipElement.setAttribute('class', `keen-c3-legend-label-overlay keen-c3-legend-position-${legendConfig.position}`);\n tooltipElement.innerHTML =\n `${\n options.legend.tooltip.pointer ? `
` : ``\n }${legendItem.chartPartId}`;\n legendItem.append(tooltipElement);\n }\n });\n legendItem.addEventListener('mouseout', (event) => {\n chart.revert();\n tooltipElement.remove();\n });\n legendItem.addEventListener('click', (event) => {\n let opacity = 1;\n const isHidden = pagination.hidden.indexOf(legendItem.chartPartId);\n if (isHidden < 0) {\n pagination.hidden.push(legendItem.chartPartId);\n opacity = .35;\n }\n else {\n pagination.hidden.splice(isHidden, 1);\n opacity = 1;\n }\n legendItem.style.opacity = opacity;\n chart.toggle(legendItem.chartPartId);\n });\n });\n\n if (options.onLegendRendered){\n options.onLegendRendered();\n options.onLegendRendered = null;\n }\n\n }\n\n function renderPaginationComponent(){\n paginateVerticalElement.innerHTML = '';\n paginateHorizontalLeftElement.innerHTML = '';\n paginateHorizontalRightElement.innerHTML = '';\n\n const arrowUp = document.createElement('i');\n const arrowDown = document.createElement('i');\n\n const paginate = (direction) => {\n if (direction === 'forward') {\n const diff = pagination.offset + pagination.limit;\n if (diff < pagination.total) {\n pagination.offset = diff;\n return;\n }\n pagination.offset = 0;\n return;\n }\n\n const diff = pagination.offset - pagination.limit;\n if (diff >= 0) {\n pagination.offset = diff;\n return;\n }\n\n pagination.offset = Math.floor(pagination.total/pagination.limit) * pagination.limit;\n };\n\n arrowDown.addEventListener('click', () => {\n paginate('forward');\n paginateData();\n clearSelectedText();\n });\n\n arrowUp.addEventListener('click', () => {\n paginate('backward');\n paginateData();\n clearSelectedText();\n });\n\n if (legendConfig.position === 'left' || legendConfig.position === 'right') {\n arrowUp.setAttribute('class', 'up');\n arrowDown.setAttribute('class', 'down');\n paginateVerticalElement.append(arrowDown);\n paginateVerticalElement.append(arrowUp);\n } else {\n // bottom top\n arrowUp.setAttribute('class', 'left');\n arrowDown.setAttribute('class', 'right');\n paginateHorizontalLeftElement.append(arrowUp);\n paginateHorizontalRightElement.append(arrowDown);\n }\n\n }\n\n function clearSelectedText() {\n let selection;\n if (document.selection && document.selection.empty) {\n selection = document.selection;\n selection.empty();\n }\n else if (window.getSelection) {\n selection = window.getSelection();\n selection.removeAllRanges();\n }\n }\n}\n","export default function (startDate, endDate) {\n const timeDiff = Math.abs(new Date(startDate).getTime() - new Date(endDate).getTime());\n const months = [\n 'Jan',\n 'Feb',\n 'Mar',\n 'Apr',\n 'May',\n 'June',\n 'July',\n 'Aug',\n 'Sept',\n 'Oct',\n 'Nov',\n 'Dec'\n ];\n\n // Yearly (31536000000) + Monthly\n if (timeDiff >= 2419200000) {\n return function(ms){\n const date = new Date(ms);\n return months[date.getMonth()] + ' ' + date.getFullYear();\n };\n }\n // Daily\n else if (timeDiff >= 86400000) {\n return function(ms){\n const date = new Date(ms);\n return months[date.getMonth()] + ' ' + date.getDate();\n };\n }\n // Hourly\n else if (timeDiff >= 3600000) {\n return '%I:%M %p';\n }\n // Minutely\n else {\n return '%I:%M:%S %p';\n }\n}\n","import c3 from 'c3';\n\nimport { each } from '../utils/each';\nimport { extend } from '../utils/extend';\nimport { extendDeep } from '../utils/extend-deep';\nimport isDateString from '../utils/assert-date-string';\nimport c3DefaultDateFormat from './c3/extensions/default-date-format';\nimport c3PaginatingLegend from './c3/extensions/paginating-legend';\nimport c3TooltipContents from './c3/extensions/tooltip-contents';\n\nimport message from './default/message';\nimport metric from './default/metric';\nimport table from './default/table';\nimport spinner from './default/spinner';\n\nexport default function(lib) {\n let timer;\n bindResizeListener(function(){\n if (timer) {\n clearTimeout(timer);\n }\n const delay = (lib.visuals.length > 12) ? 1000 : 250;\n timer = setTimeout(function(){\n each(lib.visuals, function(chart){\n if (chart.view._artifacts.c3) {\n chart.view._artifacts.c3.resize();\n }\n });\n }, delay);\n });\n\n // FIX for c3 tooltip bug - REMOVE when https://github.com/c3js/c3/pull/2476 is merged\n if (c3.chart && c3.chart.internal && c3.chart.internal.fn) {\n c3.chart.internal.fn.horizontalDistance = function(data, pos) {\n var $$ = this,\n config = $$.config,\n xIndex = config.axis_rotated ? 1 : 0,\n x = $$.x(data.x);\n return Math.abs(x - pos[xIndex]);\n };\n c3.chart.internal.fn.findClosest = function (values, pos) {\n const CLASS = c3.chart.internal.fn.CLASS;\n var $$ = this,\n minDist = $$.config.point_sensitivity,\n minDist = Infinity,\n closest;\n // find mouseovering bar\n values.filter(function (v) {\n return v && $$.isBarType(v.id);\n }).forEach(function (v) {\n var shape = $$.main.select('.' + CLASS.bars + $$.getTargetSelectorSuffix(v.id) + ' .' + CLASS.bar + '-' + v.index).node();\n if (!closest && $$.isWithinBar($$.d3.mouse(shape), shape)) {\n closest = v;\n }\n });\n // find closest point from non-bar\n values.filter(function (v) {\n return v && !$$.isBarType(v.id);\n }).forEach(function (v) {\n var d = $$.dist(v, pos);\n var d = $$.horizontalDistance(v, pos);\n if (d < minDist) {\n minDist = d;\n closest = v;\n }\n });\n return closest;\n };\n }\n\n return defineC3();\n};\n\nfunction defineC3(){\n const types = {\n message,\n metric,\n table,\n spinner,\n };\n\n const c3Types = [\n // Standard types\n 'area',\n 'area-spline',\n 'area-step',\n 'bar',\n 'donut',\n 'gauge',\n 'line',\n 'pie',\n 'step',\n 'spline',\n\n // Horizontal variant types\n 'horizontal-area',\n 'horizontal-area-spline',\n 'horizontal-area-step',\n 'horizontal-bar',\n 'horizontal-line',\n 'horizontal-step',\n 'horizontal-spline'\n ];\n\n const getPaddings = (element, paddingName) => {\n return parseInt(window.getComputedStyle(element)[`padding${paddingName}`].replace('px', ''));\n }\n\n function getDefaultOptions(){\n\n const ENFORCED_OPTIONS = {\n bindto: this.el().querySelector('.' + this.config.theme + '-rendering .c3-chart'),\n color: {\n pattern: this.config.colors\n },\n data: {\n colors: { ...this.config.colorMapping },\n columns: [],\n type: this.config.type.replace('horizontal-', '')\n },\n };\n\n const renderingElement = this.el();\n// .querySelector('.' + this.config.theme + '-rendering');\n\n let height = renderingElement.offsetHeight;\n\n height -= (getPaddings(renderingElement, 'Top') + getPaddings(renderingElement, 'Bottom'));\n\n if (this.config.showTitle) {\n const titleElement = this.el().querySelector('.keen-dataviz-title');\n if (titleElement) {\n height -= titleElement.offsetHeight;\n } else {\n height -= parseInt(\n window\n .getComputedStyle(this.el(), null)\n ['font-size'].replace('px','')\n );\n }\n }\n\n if (this.config.notes) {\n const notesElement = this.el().querySelector('.keen-dataviz-notes');\n if (notesElement) {\n height -= notesElement.offsetHeight;\n } else {\n height -= parseInt(\n window\n .getComputedStyle(this.el(), null)\n ['font-size'].replace('px','')\n );\n }\n }\n\n let width = this.el().querySelector('.c3-chart').offsetWidth\n - (getPaddings(renderingElement, 'Left') + getPaddings(renderingElement, 'Right'));\n if (width < 0) {\n width = 0;\n }\n\n const DEFAULT_OPTIONS = {\n size: {\n width,\n height:\n height > 0 ?\n height\n : undefined,\n }\n };\n\n return extendDeep({}, DEFAULT_OPTIONS, this.config, ENFORCED_OPTIONS);\n }\n\n each(c3Types, function(type, index) {\n types[type] = {\n render: function(){\n const options = getDefaultOptions.call(this);\n\n if (!!this.config.clearOnRender && options.data.columns.length > 0) {\n options.data.columns.splice(1);\n }\n\n if (this.data()[0].length === 1 || this.data().length === 1) {\n const msg = 'No data to display';\n const mappedMsg = this.config.errorMapping[msg] || msg;\n if (this.config.showErrorMessages) {\n this.message(mappedMsg);\n }\n return;\n }\n\n let removeLegend = false;\n\n if (type === 'gauge') {\n // Accommodate a neat bug:\n options.legend.show = false;\n options.data.columns = [[\n this.config.title || this.data()[1][0],\n this.data()[1][1]\n ]];\n removeLegend = true;\n }\n else if (type === 'pie' || type === 'donut') {\n options.data.columns = this.data().slice(1);\n }\n else {\n\n // Apply formatting for horizontal variant types\n if (type.indexOf('horizontal-') > -1) {\n options.axis.rotated = type.indexOf('horizontal-') > -1;\n }\n\n if (isDateString(this.data()[1][0])) {\n // TIMESERIES\n options.axis.x = options.axis.x || {};\n options.axis.x.type = 'timeseries';\n options.axis.x.tick = options.axis.x.tick || {\n format: this.config.dateFormat || c3DefaultDateFormat(this.data()[1][0], this.data()[2] ? this.data()[2][0] : this.data()[1][0]),\n culling: { max: 5 }\n };\n\n options.data.columns[0] = [];\n each(this.dataset.selectColumn(0), function(cell, i){\n if (i > 0) {\n cell = new Date(cell);\n }\n options.data.columns[0][i] = cell;\n });\n options.data.columns[0][0] = 'x';\n options.data.x = 'x';\n if (this.config.stacked && this.data()[0].length > 2) {\n options.data.groups = [ this.dataset.selectRow(0).slice(1) ];\n }\n }\n else {\n // CATEGORIES\n options.axis.x = options.axis.x || {};\n options.axis.x.type = 'category';\n options.axis.x.categories = this.dataset.selectColumn(0).slice(1);\n if (this.config.stacked && this.data()[0].length > 2) {\n options.data.groups = [ this.dataset.selectRow(0).slice(1) ];\n }\n }\n\n if (this.data()[0].length === 2) {\n options.legend.show = false;\n removeLegend = true;\n }\n\n each(this.data()[0], function(cell, i){\n if (i > 0) {\n options.data.columns.push(this.dataset.selectColumn(i));\n }\n }.bind(this));\n }\n\n if (removeLegend){\n const legendElement = this.el().querySelector('.keen-c3-legend');\n if (legendElement) {\n legendElement.remove();\n options.size.width = this.el().querySelector('.c3-chart').offsetWidth;\n }\n options.legend.show = false;\n }\n\n const chartTypesWithPartialIntervalIndicator = ['area', 'area-spline', 'area-step', 'line', 'spline', 'step'];\n\n if (options.partialIntervalIndicator\n && options.partialIntervalIndicator.show\n && chartTypesWithPartialIntervalIndicator.indexOf(options.type) > -1\n ) {\n const results = options.data.columns && options.data.columns[0];\n if (results && results.length > 1) {\n const partialResultsRegion = {\n axis: 'x',\n start: new Date(results[results.length-2]),\n class: options.partialIntervalIndicator.className\n };\n options.regions = [...(options.regions || []), partialResultsRegion];\n }\n }\n\n if (\n !(options.tooltip && options.tooltip.show === false)\n &&\n (options.legend.show === true ||\n (options.legend\n && options.legend.tooltip\n && options.legend.tooltip.show)\n )) {\n // Apply custom tooltip\n options.tooltip = {\n contents: c3TooltipContents,\n format: {\n title: this.config.tooltip.format.title,\n value: (value, ratio, id, index) => {\n let valueFormatted = c3CustomTooltipFiltering.call(this, value, ratio, id, index);\n if (this.config.tooltip && this.config.tooltip.format && this.config.tooltip.format.value)\n {\n valueFormatted = this.config.tooltip.format.value.call(this, valueFormatted, ratio, id, index);\n }\n return valueFormatted;\n }\n }\n };\n }\n\n if (options.legend.show === true) {\n const c3options = { ...options };\n // Apply custom color handling\n c3options.data.color = c3CustomDataMapping.bind(this);\n\n c3options.legend.hide = true; // hide default c3 legend\n\n // Render artifacts\n this.view._artifacts['c3'] = c3.generate(c3options);\n\n c3PaginatingLegend.call(this, {...options, onLegendRendered: () => {\n const legendElement = this.el().querySelector('.keen-c3-legend');\n if (legendElement) {\n if (\n options.legend.position === 'top' ||\n options.legend.position === 'bottom'\n ) {\n c3options.size.height -= legendElement.offsetHeight;\n this.view._artifacts['c3'].resize({ height: c3options.size.height });\n } else {\n if (c3options.size.width === 0) {\n c3options.size.width = this.el().offsetWidth\n - getPaddings(this.el(), 'Left')\n - getPaddings(this.el(), 'Right');\n }\n c3options.size.width -= legendElement.offsetWidth;\n this.view._artifacts['c3'].resize({ width: c3options.size.width });\n }\n }\n },\n onPaginated: () => {\n this.view._artifacts['c3'].flush();\n }\n });\n }\n else {\n this.view._artifacts['c3'] = c3.generate(options);\n }\n\n },\n update: function(){\n // no special update handling\n this.render();\n },\n destroy: function(){\n if (this.view._artifacts['c3']) {\n this.view._artifacts['c3'].destroy();\n this.view._artifacts['c3'] = null;\n }\n }\n };\n });\n\n return types;\n}\n\nfunction c3CustomDataMapping(color, d) {\n const type = this.config.type;\n if (this.view._artifacts.pagination\n && type !== 'gauge'\n /*&& this.type() !== 'pie'\n && this.type() !== 'donut'*/) {\n const scope = this.view._artifacts.pagination.labels;\n if ((d.id && scope.indexOf(d.id) > -1)\n || (d && !d.id && scope.indexOf(d) > -1)) {\n return color;\n }\n else {\n if (type === 'donut' || type === 'pie') {\n return 'rgba(0,0,0,.1)';\n }\n else {\n return 'rgba(0,0,0,.07)';\n }\n }\n }\n else {\n return color;\n }\n}\n\nfunction c3CustomTooltipFiltering(value, ratio, id, index) {\n const type = this.config.type;\n\n if (this.view._artifacts.pagination\n && type !== 'gauge'\n /*&& this.type() !== 'pie'\n && this.type() !== 'donut'*/) {\n const scope = this.view._artifacts.pagination.labels;\n if (scope.indexOf(id) > -1) {\n return value;\n }\n }\n else {\n return value;\n }\n}\n\nfunction bindResizeListener(fn){\n if (typeof window === 'undefined') return;\n window.onresize = window.resize = function(){};\n if (window.addEventListener) {\n window.addEventListener('resize', fn, true);\n }\n else if (window.attachEvent) {\n window.attachEvent('onresize', fn);\n }\n}\n","import Dataset from './dataset';\nimport { extend } from './utils/extend';\nimport { stripHtmlTags } from './utils/strip-html-tags';\n\nexport default function (data) {\n if (!arguments.length) return this.dataset.data();\n if (data instanceof Dataset) {\n this.dataset = data;\n return this;\n }\n else {\n return parseResponse.call(this, data);\n }\n};\n\nfunction parseResponse(response) {\n var dataset,\n indexBy,\n meta,\n parser,\n parserArgs = [],\n query,\n selectedParser,\n title,\n type;\n\n indexBy = this.config.indexBy;\n meta = response.metadata || {};\n query = (typeof response.query !== 'undefined') ? response.query : {};\n\n // Ensure all required params are present\n query = extend({\n analysis_type: null,\n event_collection: null,\n filters: [],\n group_by: null,\n interval: null,\n timeframe: null,\n timezone: null\n }, query);\n\n if (query.analysis_type === 'funnel') {\n parser = 'funnel';\n }\n else if (query.analysis_type === 'extraction'){\n parser = 'extraction';\n }\n else if (query.analysis_type === 'select_unique') {\n if (!query.group_by && !query.interval) {\n parser = 'list';\n }\n // else { Not supported }\n }\n else if (query.analysis_type) {\n if (!query.group_by && !query.interval) {\n parser = 'metric';\n }\n else if (query.group_by && !query.interval) {\n if (query.group_by instanceof Array && query.group_by.length > 1) {\n parser = 'double-grouped-metric';\n parserArgs.push(query.group_by);\n }\n else {\n parser = 'grouped-metric';\n }\n }\n else if (query.interval && !query.group_by) {\n parser = 'interval';\n parserArgs.push(indexBy);\n }\n else if (query.group_by && query.interval) {\n if (query.group_by instanceof Array && query.group_by.length > 1) {\n parser = 'double-grouped-interval';\n parserArgs.push(query.group_by);\n parserArgs.push(indexBy);\n }\n else {\n parser = 'grouped-interval';\n parserArgs.push(indexBy);\n }\n }\n }\n\n if (!parser) {\n\n // Metric\n // -------------------------------\n if (typeof response.result === 'number'){\n parser = 'metric';\n }\n\n // Everything else\n // -------------------------------\n if (response.result instanceof Array && response.result.length > 0){\n\n // Interval w/ single value\n // -------------------------------\n if (response.result[0].timeframe && (typeof response.result[0].value == 'number' || response.result[0].value == null)) {\n parser = 'interval';\n parserArgs.push(indexBy)\n }\n\n // Static GroupBy\n // -------------------------------\n if (typeof response.result[0].result == 'number'){\n parser = 'grouped-metric';\n }\n\n // Grouped Interval\n // -------------------------------\n if (response.result[0].value instanceof Array){\n parser = 'grouped-interval';\n parserArgs.push(indexBy)\n }\n\n // Funnel\n // -------------------------------\n if (typeof response.result[0] === 'number'\n && typeof response.steps !== 'undefined'){\n parser = 'funnel';\n // Move steps into query object\n query.steps = response.steps;\n }\n\n // Select Unique\n // -------------------------------\n if ((typeof response.result[0] === 'string' || typeof response.result[0] == 'number') && typeof response.steps === 'undefined'){\n parser = 'list';\n }\n\n // Extraction\n // -------------------------------\n if (!parser) {\n parser = 'extraction';\n }\n }\n\n if (!parser) {\n parser = 'extraction';\n }\n }\n\n // Set title from saved query body, or create a default title\n if (this.config.title === undefined) {\n if (meta.display_name) {\n title = meta.display_name;\n }\n else {\n title = getDefaultTitle(query);\n }\n this.config.title = title;\n }\n\n // Set type from saved query body, or use a default type\n if (!this.config.type) {\n if (meta.visualization && meta.visualization.chart_type) {\n type = meta.visualization.chart_type;\n }\n else {\n type = getDefaultType(parser);\n }\n this.config.type = type;\n }\n\n // Define the appropriate parser\n selectedParser = Dataset.parser.apply(this, [parser].concat(parserArgs));\n\n // Parse the response with augmented query body\n dataset = selectedParser(extend(response, { 'query': query }));\n\n // Set true dates for 'interval' data\n if (parser.indexOf('interval') > -1) {\n dataset.updateColumn(0, function(value, i){\n return new Date(value);\n });\n }\n\n dataset.updateRow(0, function(value, i){\n return stripHtmlTags(value);\n });\n\n this.dataset = dataset;\n\n return this;\n}\n\nfunction getDefaultTitle(query) {\n var analysis = query.analysis_type ? query.analysis_type.replace('_', ' ') : '',\n title;\n\n title = analysis.replace( /\\b./g, function(a){\n return a.toUpperCase();\n });\n\n if (query.event_collection) {\n title += ' - ' + query.event_collection;\n }\n return title;\n}\n\nfunction getDefaultType(parser) {\n let type;\n switch (parser) {\n case 'metric':\n type = 'metric';\n break;\n case 'interval':\n type = 'area';\n break;\n case 'grouped-metric':\n case 'double-grouped-metric':\n type = 'bar';\n break;\n case 'grouped-interval':\n case 'double-grouped-interval':\n type = 'line';\n break;\n case 'funnel':\n type = 'horizontal-bar';\n break;\n case 'list':\n case 'extraction':\n default:\n type = 'table';\n }\n return type;\n}\n","export function valueAtDeepKey(obj, is, value) {\n if (typeof is == 'string')\n return valueAtDeepKey(obj, is.split('.'), value);\n else if (is.length==1 && value!==undefined && obj !== null &&\n typeof obj[is[0]] !== 'undefined')\n return obj[is[0]] = value;\n else if (is.length==0)\n return obj;\n else if (typeof is === 'undefined' || typeof obj === 'undefined'\n || is === null || obj === null\n || typeof obj[is[0]] === 'undefined')\n return null;\n else\n return valueAtDeepKey(obj[is[0]], is.slice(1), value);\n}\n","// Pure awesomeness by Will Rayner (penguinboy)\n// https://gist.github.com/penguinboy/762197\n\nexport function flatten(ob){\n var toReturn = {};\n for (var i in ob) {\n if (!ob.hasOwnProperty(i)) continue;\n if ((typeof ob[i]) == 'object' && ob[i] !== null) {\n var flatObject = flatten(ob[i]);\n for (var x in flatObject) {\n if (!flatObject.hasOwnProperty(x)) continue;\n toReturn[i + '.' + x] = flatObject[x];\n }\n } else {\n toReturn[i] = ob[i];\n }\n }\n return toReturn;\n};\n","let Dataset; /* injected */\n\nimport { each } from '../../utils/each';\nimport { flatten } from '../utils/flatten';\nimport { valueAtDeepKey } from '../utils/object';\n\nexport default function initialize(lib){\n Dataset = lib;\n return function(name){\n var options = Array.prototype.slice.call(arguments, 1);\n\n if (!parsers[name]) {\n throw 'Requested parser does not exist';\n }\n else {\n return parsers[name].apply(this, options);\n }\n };\n}\n\nfunction parseMetric(){\n return function(res){\n return new Dataset()\n .set(['Value', 'Result'], res.result)\n .type('metric');\n }\n}\n\n//var myParser = Dataset.parser('interval', 'timeframe.end');\nfunction parseInterval(){\n var options = Array.prototype.slice.call(arguments);\n return function(res){\n var dataset = new Dataset()\n .type('interval');\n each(res.result, function(record, i){\n var index = options[0] && options[0] === 'timeframe.end' ? record.timeframe.end : record.timeframe.start;\n dataset.set(['Result', index], record.value);\n });\n return dataset;\n }\n}\n\nfunction parseGroupedMetric(){\n return function(res){\n var dataset = new Dataset()\n .type('grouped-metric');\n each(res.result, function(record, i){\n var label;\n each(record, function(value, key){\n if (key !== 'result') {\n label = key;\n }\n });\n dataset.set(['Result', String(record[label])], record.result);\n });\n return dataset;\n }\n}\n\n//var myParser = Dataset.parser('grouped-interval', 'timeframe.end');\nfunction parseGroupedInterval(){\n var options = Array.prototype.slice.call(arguments);\n return function(res){\n var dataset = new Dataset()\n .type('grouped-interval');\n each(res.result, function(record, i){\n var index = options[0] && options[0] === 'timeframe.end' ? record.timeframe.end : record.timeframe.start;\n if (record.value.length) {\n each(record.value, function(group, j){\n var label;\n each(group, function(value, key){\n if (key !== 'result') {\n label = key;\n }\n });\n dataset.set([ String(group[label]), index ], group.result);\n });\n }\n else {\n dataset.appendRow(index);\n }\n });\n return dataset;\n }\n}\n\n//var myParser = Dataset.parser('double-grouped-metric', ['first', 'second']);\nfunction parseDoubleGroupedMetric(){\n var options = Array.prototype.slice.call(arguments);\n if (!options[0]) throw 'Requested parser requires a sequential list (array) of properties to target as a second argument';\n return function(res){\n var dataset = new Dataset()\n .type('double-grouped-metric');\n each(res.result, function(record, i){\n var rowLabel = record[options[0][0]] + ' ' + record[options[0][1]];\n dataset.set([ 'Result', rowLabel ], record.result);\n });\n return dataset;\n }\n}\n\n//var myParser = Dataset.parser('double-grouped-interval', ['first', 'second'], 'timeframe.end');\nfunction parseDoubleGroupedInterval(){\n var options = Array.prototype.slice.call(arguments);\n if (!options[0]) throw 'Requested parser requires a sequential list (array) of properties to target as a second argument';\n return function(res){\n var dataset = new Dataset()\n .type('double-grouped-interval');\n each(res.result, function(record, i){\n var index = options[1] && options[1] === 'timeframe.end' ? record.timeframe.end : record.timeframe.start;\n each(record['value'], function(value, j){\n var label = value[options[0][0]] + ' ' + value[options[0][1]];\n dataset.set([ label, index ], value.result);\n });\n });\n return dataset;\n }\n}\n\nfunction parseFunnel(){\n return function(res){\n var result, steps, dataset;\n if (typeof res.steps !== 'undefined'\n && typeof res.result !== 'undefined'\n && res.result instanceof Array) {\n // Ad-hoc funnel response\n result = res.result;\n steps = res.steps;\n }\n else if (typeof res.result.steps !== 'undefined'\n && typeof res.result.result !== 'undefined'\n && res.result.result instanceof Array) {\n // Saved funnel response\n result = res.result.result;\n steps = res.result.steps;\n }\n dataset = new Dataset().type('funnel');\n dataset.appendColumn('Step Value');\n each(result, function(value, i){\n if (typeof steps !== 'undefined' && steps[i]) {\n dataset.appendRow(String(steps[i].event_collection), [value]);\n }\n });\n return dataset;\n }\n}\n\nfunction parseList(){\n return function(res){\n var dataset = new Dataset()\n .type('list');\n each(res.result, function(value, i){\n dataset.set( [ 'Result', String(i+1) ], value );\n });\n return dataset;\n }\n}\n\nfunction parseExtraction(){\n let config = this.config;\n return function(res){\n const datasetExtraction = new Dataset()\n .type('extraction');\n // create header\n for (let i=0; i<1; i++){\n let record = res.result[i];\n each(flatten(record), function(value, key){\n datasetExtraction.set([ key, String(i+1) ], value);\n });\n }\n\n // get keys of the Object\n let names = Object.keys(flatten(res.result[0]));\n\n if (Dataset) {\n if (config.table\n && config.table.columns) {\n names = config.table.columns;\n }\n }\n\n for (let i=0; i -1) {\n\n if (typeof input === 'function') {\n\n each(self.data(), function(row, i){\n var cell;\n if (i > 0) {\n cell = input.call(self, row[index], i, row);\n if (typeof cell !== 'undefined') {\n self.matrix[i][index] = cell;\n }\n }\n });\n\n } else if (!input || input instanceof Array) {\n input = input || [];\n\n if (input.length <= self.data().length - 1) {\n input = input.concat( createNullList(self.data().length - 1 - input.length) );\n }\n else {\n // If this new column is longer than existing columns,\n // we need to update the rest to match ...\n each(input, function(value, i){\n if (self.matrix.length -1 < input.length) {\n appendRow.call(self, String( self.matrix.length ));\n }\n });\n }\n\n each(input, function(value, i){\n self.matrix[i+1][index] = value;\n });\n\n }\n\n }\n return self;\n}\n\nexport function updateRow(q, input){\n var self = this,\n index = (typeof q === 'number') ? q : this.selectColumn(0).indexOf(q);\n\n if (index > -1) {\n\n if (typeof input === 'function') {\n\n each(self.data()[index], function(value, i){\n var col = self.selectColumn(i),\n cell = input.call(self, value, i, col);\n if (typeof cell !== 'undefined') {\n self.matrix[index][i] = cell;\n }\n });\n\n } else if (!input || input instanceof Array) {\n input = input || [];\n\n if (input.length <= self.matrix[0].length - 1) {\n input = input.concat( createNullList( self.matrix[0].length - 1 - input.length ) );\n }\n else {\n each(input, function(value, i){\n if (self.matrix[0].length -1 < input.length) {\n appendColumn.call(self, String( self.matrix[0].length ));\n }\n });\n }\n\n each(input, function(value, i){\n self.matrix[index][i+1] = value;\n });\n }\n\n }\n return self;\n}\n","import { each } from '../../utils/each';\nimport analysesUtilMethods from '../utils/analyses';\n\nexport function sortColumns(str, comp) {\n var self = this,\n head = this.matrix[0].slice(1), // minus index\n cols = [],\n clone = [],\n fn = comp || analysesUtilMethods.getColumnLabel;\n\n // Isolate each column (except the index)\n each(head, function(cell, i) {\n cols.push(self.selectColumn(i+1).slice(0));\n });\n cols.sort(function(a,b){\n // If fn(a) > fn(b)\n var op = fn.call(self, a) > fn.call(self, b);\n if (op) {\n return (str === 'asc' ? 1 : -1);\n } else if (!op) {\n return (str === 'asc' ? -1 : 1);\n } else {\n return 0;\n }\n });\n each(cols, function(col, i) {\n self\n .deleteColumn(i+1)\n .insertColumn(i+1, col[0], col.slice(1));\n });\n return self;\n}\n\nexport function sortRows(str, comp) {\n var self = this,\n head = this.matrix.slice(0,1),\n body = this.matrix.slice(1),\n fn = comp || analysesUtilMethods.getRowIndex;\n body.sort(function(a, b){\n // If fn(a) > fn(b)\n var op = fn.call(self, a) > fn.call(self, b);\n if (op) {\n return (str === 'asc' ? 1 : -1);\n } else if (!op) {\n return (str === 'asc' ? -1 : 1);\n } else {\n return 0;\n }\n });\n self.data(head.concat(body));\n return self;\n}\n","import { each } from '../../utils/each';\n\nexport function selectColumn(q) {\n const result = [];\n const index = (typeof q === 'number') ? q : this.matrix[0].indexOf(q);\n\n if (index > -1 && typeof this.matrix[0][index] !== 'undefined') {\n each(this.matrix, function(row, i) {\n result.push(row[index]);\n });\n }\n return result;\n}\n\nexport function selectRow(q) {\n let result = [];\n const index = (typeof q === 'number') ? q : this.selectColumn(0).indexOf(q);\n\n if (index > -1 && typeof this.matrix[index] !== 'undefined') {\n result = this.matrix[index];\n }\n return result;\n}\n","import { each } from '../../utils/each';\nimport createNullList from '../utils/create-null-list';\nimport { appendRow, appendColumn } from './append';\n\nexport function insertColumn(index, str, input) {\n const self = this;\n const label = (str !== undefined) ? str : null;\n\n if (typeof input === 'function') {\n\n self.matrix[0].splice(index, 0, label);\n each(self.matrix, function(row, i) {\n var cell;\n if (i > 0) {\n cell = input.call(self, row, i);\n if (typeof cell === 'undefined') {\n cell = null;\n }\n self.matrix[i].splice(index, 0, cell);\n }\n });\n\n }\n\n else if (!input || input instanceof Array) {\n input = input || [];\n\n if (input.length <= self.matrix.length - 1) {\n input = input.concat( createNullList(self.matrix.length - 1 - input.length) );\n }\n else {\n // If this new column is longer than existing columns,\n // we need to update the rest to match ...\n each(input, function(value, i){\n if (self.matrix.length -1 < input.length) {\n appendRow.call(self, String( self.matrix.length ));\n }\n });\n }\n\n self.matrix[0].splice(index, 0, label);\n each(input, function(value, i){\n self.matrix[i+1].splice(index, 0, value);\n });\n\n }\n return self;\n}\n\nexport function insertRow(index, str, input) {\n const self = this;\n const newRow = [];\n const label = (str !== undefined) ? str : null;\n newRow.push(label);\n\n if (typeof input === 'function') {\n each(self.matrix[0], function(label, i) {\n let col;\n let cell;\n if (i > 0) {\n col = self.selectColumn(i);\n cell = input.call(self, col, i);\n if (typeof cell === 'undefined') {\n cell = null;\n }\n newRow.push(cell);\n }\n });\n self.matrix.splice(index, 0, newRow);\n }\n\n else if (!input || input instanceof Array) {\n input = input || [];\n\n if (input.length <= self.matrix[0].length - 1) {\n input = input.concat( createNullList( self.matrix[0].length - 1 - input.length ) );\n }\n else {\n each(input, function(value, i){\n if (self.matrix[0].length -1 < input.length) {\n appendColumn.call(self, String( self.matrix[0].length ));\n }\n });\n }\n\n self.matrix.splice(index, 0, newRow.concat(input) );\n }\n\n return self;\n}\n","import { each } from '../../utils/each';\n\nexport function filterColumns(fn) {\n const self = this;\n const clone = [];\n\n each(self.matrix, function(row, i) {\n clone.push([]);\n });\n\n each(self.matrix[0], function(col, i){\n var selectedColumn = self.selectColumn(i);\n if (i == 0 || fn.call(self, selectedColumn, i)) {\n each(selectedColumn, function(cell, ri){\n clone[ri].push(cell);\n });\n }\n });\n\n self.data(clone);\n return self;\n}\n\nexport function filterRows(fn) {\n const self = this;\n const clone = [];\n\n each(self.matrix, function(row, i){\n if (i == 0 || fn.call(self, row, i)) {\n clone.push(row);\n }\n });\n\n self.data(clone);\n return self;\n}\n","import { each } from '../../utils/each';\n\nexport function deleteColumn(q) {\n const self = this;\n const index = (typeof q === 'number') ? q : this.matrix[0].indexOf(q);\n\n if (index > -1) {\n each(self.matrix, function(row, i){\n self.matrix[i].splice(index, 1);\n });\n }\n return self;\n}\n\nexport function deleteRow(q) {\n var index = (typeof q === 'number') ? q : this.selectColumn(0).indexOf(q);\n\n if (index > -1) {\n this.matrix.splice(index, 1);\n }\n return this;\n}\n","import * as d3 from \"d3\";\nimport c3 from 'c3';\n\nimport pkg from '../package.json';\nimport data from './data';\nimport { Dataset } from './dataset';\n\n// Utils\nimport { each } from './utils/each';\nimport isDateString from './utils/assert-date-string';\nimport { stripHtmlTags } from './utils/strip-html-tags';\nimport { escapeHtml } from './utils/escape-html';\nimport libraries from './libraries';\nimport { extendDeep } from './utils/extend-deep';\n\n// Constructor\nexport const Dataviz = function (options = {}) {\n if (this instanceof Dataviz === false) {\n return new Dataviz(options);\n }\n\n this.c3 = c3; // expose for use outside\n this.d3 = d3;\n\n const datavizInstance = this;\n\n const defaultOptions = {\n showDeprecationWarnings: true,\n showLoadingSpinner: false,\n\n container: undefined, // querySelector of container, for example '#someDiv'\n containerElement: undefined, // HTML parent element for the chart\n\n // width: undefined, *deprecated* - use CSS\n // height: undefined, *deprecated* - use CSS\n\n title: undefined,\n showTitle: true,\n\n notes: undefined,\n theme: 'keen-dataviz',\n\n colors: [\n '#00bbde', '#fe6672', '#eeb058', '#8a8ad6', '#ff855c', '#00cfbb',\n '#5a9eed', '#73d483', '#c879bb', '#0099b6', '#d74d58', '#cb9141',\n '#6b6bb6', '#d86945', '#00aa99', '#4281c9', '#57b566', '#ac5c9e',\n '#27cceb', '#ff818b', '#f6bf71', '#9b9be1', '#ff9b79', '#26dfcd',\n '#73aff4', '#87e096', '#d88bcb',\n ],\n\n colorMapping: {},\n\n indexBy: 'timeframe.start',\n labels: [],\n labelMapping: {},\n labelMappingRegExp: undefined,\n errorMapping: {},\n showErrorMessages: true,\n library: 'default',\n sortGroups: undefined,\n sortIntervals: undefined,\n\n results: undefined, // raw data\n\n // C3 chartOptions\n type: undefined,\n stacked: false,\n dateFormat: undefined,\n legend: {\n show: true,\n position: 'right',\n label: {\n textMaxLength: 12\n },\n pagination: {\n offset: 0, // start from\n limit: 5 // items per page\n },\n tooltip: {\n show: true,\n pointer: true\n },\n sort: undefined\n },\n\n axis: {},\n color: {},\n data: {\n order: null\n },\n size: {\n // control it with CSS of .c3-chart\n },\n padding: {\n top: 15\n },\n point: {\n focus: {\n expand: {\n enabled: false\n }\n },\n r: 2,\n show: true\n },\n tooltip: {\n format: {\n // https://c3js.org/samples/tooltip_format.html\n }\n },\n transition: {\n // duration: 0\n },\n data: {\n selection: {\n enabled: true,\n draggable: true,\n multiple: true\n }\n },\n grid: {\n y: {\n show: true\n }\n },\n partialIntervalIndicator: {\n show: undefined,\n className: 'partial-interval-indicator'\n },\n timezone: 'UTC',\n table: {},\n renderOnVisible: false\n };\n\n this.config = { ...extendDeep(defaultOptions, options) };\n\n if (this.config.type) {\n // backward compatibility with v2016... areachart -> area\n this.config.type = convertChartTypes(this.config.type);\n }\n\n // get DOM node by query\n if (this.config.container) {\n this.el(this.config.container);\n }\n\n if (options.legend !== undefined && !options.legend) {\n this.config.legend = {\n ...options,\n show: false\n };\n }\n\n if (options.color && options.color.pattern) {\n // to match c3 options\n this.config.colors = options.color.pattern;\n }\n\n if (this.config.legend\n && this.config.legend.tooltip\n && this.config.legend.tooltip.show === false\n && this.config.tooltip.show === undefined) {\n this.config.tooltip = { show: false };\n }\n\n if (options.color && options.color.pattern) {\n // to match c3 options\n this.config.colors = options.color.pattern;\n }\n\n this.dataset = new Dataset(this.config);\n this.view = {\n _prepared: false,\n _rendered: false,\n _artifacts: { /* state bin */ }\n };\n\n Dataviz.visuals.push(this);\n\n if (this.config.showLoadingSpinner) {\n this.prepare();\n }\n\n if (!!this.config.results) {\n this.render(this.config.results);\n }\n this.config.firstVisibilityState = document.visibilityState;\n};\n\nDataviz.libraries = { default: {} };\nif (typeof window !== 'undefined') {\n Dataviz.libraries.default = libraries(Dataviz);\n}\nDataviz.visuals = [];\n\nDataviz.register = function (name, actions) {\n Dataviz.libraries[name] = Dataviz.libraries[name] || {};\n each(actions, function(method, key){\n Dataviz.libraries[name][key] = method;\n });\n};\n\nDataviz.find = function(target){\n if (!arguments.length) return Dataviz.visuals;\n const el = target.nodeName ? target : document.querySelector(target);\n let match = null;\n each(Dataviz.visuals, function(visual){\n if (el == visual.config.container){\n match = visual;\n return false;\n }\n });\n return match;\n};\n\n\n // Prototype\n // ------------\n\nDataviz.prototype.attributes = function(obj){\n if (this.config.showDeprecationWarnings) {\n console.log('.attributes() is deprecated. Use: new KeenDataviz({ _your_value_here_ })');\n }\n if (!arguments.length) return this.config;\n const view = this.config;\n each(obj, function(prop, key){\n // Handle deprecated property names\n if (key === 'chartType') {\n key = 'type';\n }\n view[key] = prop;\n });\n return this;\n};\n\nDataviz.prototype.call = function(fn){\n fn.call(this);\n return this;\n};\n\nDataviz.prototype.chartOptions = function(obj){\n if (this.config.showDeprecationWarnings) {\n console.log('.chartOptions() is deprecated. Use: new KeenDataviz({ _your_value_here_ })');\n }\n if (!arguments.length) return this.config;\n this.config = extendDeep(this.config, obj);\n return this;\n};\n\nDataviz.prototype.colors = function(arr){\n if (this.config.showDeprecationWarnings) {\n console.log('.colors() is deprecated. Use: new KeenDataviz({ colors: _your_value_here_ })');\n }\n if (!arguments.length) return this.config.colors;\n this.config.colors = (arr instanceof Array ? arr : []);\n return this;\n};\n\nDataviz.prototype.colorMapping = function(obj){\n if (this.config.showDeprecationWarnings) {\n console.log('.colorMapping() is deprecated. Use: new KeenDataviz({ colorMapping: _your_value_here_ })');\n }\n const datavizInstance = this;\n if (!arguments.length) return this.config.colorMapping;\n if (obj === null) {\n this.config.colorMapping = {};\n }\n else if (typeof obj === 'object') {\n each(obj, function(value, key){\n datavizInstance.config.colorMapping[key] = (value ? value : null);\n });\n }\n return this;\n};\n\nDataviz.prototype.data = data;\n\nDataviz.prototype.dateFormat = function(val){\n if (this.config.showDeprecationWarnings) {\n console.log('.dateFormat() is deprecated. Use: new KeenDataviz({ dateFormat: _your_value_here_ })');\n }\n if (!arguments.length) return this.config.dateFormat;\n if (typeof val === 'string' || typeof val === 'function') {\n this.config.dateFormat = val;\n }\n else {\n this.config.dateFormat = undefined;\n }\n return this;\n};\n\nDataviz.prototype.destroy = function(){\n const library = this.library();\n const type = this.config.type;\n const element = this.el();\n\n // Call destroy method if present\n if (Dataviz.libraries[library]\n && Dataviz.libraries[library][type]){\n Dataviz.libraries[library][type].destroy.call(this);\n }\n\n // Clear rendered artifacts, state bin\n if (element) {\n element.innerHTML = '';\n }\n this.view._prepared = false;\n this.view._rendered = false;\n this.view._artifacts = {};\n return this;\n};\n\nDataviz.prototype.el = function(target){\n const datavizInstance = this;\n if (!arguments.length) return this.config.containerElement;\n domReady(function(){\n if (target && target !== null) {\n if (target.nodeName) {\n datavizInstance.config.containerElement = target;\n }\n else if (document.querySelector) {\n datavizInstance.config.containerElement = document.querySelector(target);\n }\n }\n else {\n datavizInstance.config.containerElement = undefined;\n }\n });\n return this;\n};\n\nDataviz.prototype.height = function(num){\n if (this.config.showDeprecationWarnings) {\n console.log('.height() is deprecated - use CSS classes');\n }\n return this;\n};\n\n// IMPORTANT: Must be run before data parsing\nDataviz.prototype.indexBy = function(str){\n if (this.config.showDeprecationWarnings) {\n console.log('.indexBy() is deprecated. Use: new KeenDataviz({ indexBy: _your_value_here_ })');\n }\n if (!arguments.length) return this.config.indexBy;\n this.config.indexBy = (str ? String(str) : 'timeframe.start');\n return this;\n};\n\nDataviz.prototype.labels = function(arr){\n if (this.config.showDeprecationWarnings) {\n console.log('.labels() is deprecated. Use: new KeenDataviz({ labels: _your_value_here_ })');\n }\n\n if (!arguments.length) return this.config.labels;\n this.config.labels = (arr instanceof Array ? arr : []);\n\n setLabels(this);\n\n return this;\n};\n\nfunction setLabels(datavizInstance){\n // Write labels\n if (datavizInstance.data()[0].length === 2 && !isDateString(datavizInstance.data()[1][0])) {\n datavizInstance.dataset.updateColumn(0, function(value, index){\n if (datavizInstance.config.labels[index-1]) {\n return stripHtmlTags(String(datavizInstance.config.labels[index-1]));\n }\n return stripHtmlTags(value);\n }.bind(datavizInstance));\n }\n else {\n datavizInstance.dataset.updateRow(0, function(value, index){\n if (index > 0 && datavizInstance.config.labels[index-1]) {\n return stripHtmlTags(String(datavizInstance.config.labels[index-1]));\n }\n return stripHtmlTags(value);\n }.bind(datavizInstance));\n }\n}\n\nDataviz.prototype.labelMapping = function(obj){\n if (this.config.showDeprecationWarnings) {\n console.log('.labelMapping() is deprecated. Use: new KeenDataviz({ labelMapping: _your_value_here_ })');\n }\n if (!arguments.length) return this.config.labelMapping;\n if (obj === null) {\n this.config.labelMapping = {};\n }\n else if (typeof obj === 'object') {\n each(obj, function(value, key){\n this.config.labelMapping[key] = (value ? value : null);\n }.bind(this));\n }\n\n mapLabels(this);\n\n return this;\n};\n\nfunction mapLabelsExec({ datavizInstance, value }){\n if (datavizInstance.config.labelMappingRegExp){\n let valueAfterMatching = value;\n datavizInstance.config.labelMappingRegExp.forEach(regExpAndLabel => {\n if (regExpAndLabel.length > 1) {\n let regExpObj = regExpAndLabel[0];\n if (regExpObj.test(value)){\n valueAfterMatching = regExpAndLabel[1];\n }\n }\n });\n return stripHtmlTags(valueAfterMatching);\n }\n if (datavizInstance.config.labelMapping[value]) {\n return stripHtmlTags(String(datavizInstance.config.labelMapping[value]));\n }\n return stripHtmlTags(value);\n}\n\nfunction mapLabels(datavizInstance){\n // Write labels\n if (!datavizInstance.config.labelMappingDimension) {\n // if not defined use deprecated auto-detecting\n if (datavizInstance.data()[0].length === 2 && !isDateString(datavizInstance.data()[1][0])) {\n datavizInstance.config.labelMappingDimension = 'row';\n } else {\n datavizInstance.config.labelMappingDimension = 'column';\n }\n }\n\n if (datavizInstance.config.labelMappingDimension === 'row'\n || datavizInstance.config.labelMappingDimension === 'both') {\n datavizInstance.dataset.updateColumn(0, function(value){\n return mapLabelsExec({ datavizInstance, value });\n }.bind(datavizInstance));\n }\n\n if (datavizInstance.config.labelMappingDimension === 'column'\n || datavizInstance.config.labelMappingDimension === 'both') {\n datavizInstance.dataset.updateRow(0, function(value){\n return mapLabelsExec({ datavizInstance, value });\n }.bind(datavizInstance));\n }\n}\n\nDataviz.prototype.library = function(str){\n if (!arguments.length) return this.config['library'];\n this.config['library'] = (str ? String(str) : null);\n return this;\n};\n\nDataviz.prototype.message = function(){\n if (this.view._rendered) {\n this.destroy();\n }\n if (this.el()) {\n this.el().innerHTML = '';\n const message = Dataviz.libraries.default.message;\n if (message.render) {\n message.render.apply(this, arguments);\n }\n }\n return this;\n};\n\nDataviz.prototype.notes = function(str){\n if (this.config.showDeprecationWarnings) {\n console.log('.notes() is deprecated. Use: new KeenDataviz({ notes: _your_value_here_ })');\n }\n if (!arguments.length) return this.config.notes;\n this.config.notes = (str ? String(str) : null);\n return this;\n};\n\nDataviz.prototype.prepare = function(){\n const datavizInstance = this;\n\n if (!this.el()) {\n throw `${this.config.container} not found. A DOM parent element is required to mount the chart.`;\n return;\n }\n\n domReady(function(){\n if (datavizInstance.view._rendered) {\n datavizInstance.destroy();\n }\n if (datavizInstance.el()) {\n datavizInstance.el().innerHTML = '';\n const loader = Dataviz.libraries.default.spinner;\n if (loader.render) {\n loader.render.call(datavizInstance);\n }\n datavizInstance.view._prepared = true;\n }\n });\n\n return this;\n};\n\nDataviz.prototype.render = function(results = undefined){\n const datavizInstance = this;\n if (!!results) {\n const firstResult = results[0] || results;\n if (\n firstResult.query\n && firstResult.query.interval\n && firstResult.query.timeframe\n && firstResult.query.timeframe === 'string'\n && firstResult.query.timeframe.indexOf('this_') > -1\n && this.config.partialIntervalIndicator\n && this.config.partialIntervalIndicator.show === undefined\n )\n {\n this.config.partialIntervalIndicator.show = true;\n }\n\n if (Array.isArray(results)) {\n const timeframes = results.map(resultItem => resultItem.query.timeframe);\n timeframes.forEach(resultTimeframe => {\n let foundDifferent = timeframes.find(timeframeItem =>\n JSON.stringify(timeframeItem) !== JSON.stringify(resultTimeframe)\n );\n if (foundDifferent){\n const msg = 'Timeframes of the queries should be the same';\n console.error(msg);\n throw msg;\n }\n });\n // first result is important to prepare X on the chart\n return datavizInstance\n .data(results[0])\n .call(() => {\n const getLabel = (input) => {\n return `${input.query.event_collection} ${input.query.analysis_type}`;\n }\n let label = getLabel(results[0]);\n if (datavizInstance.config.labelMapping[label]) {\n label = datavizInstance.config.labelMapping[label];\n }\n this.dataset.deleteColumn(1);\n let firstResultPassed = false;\n for (let result of results) {\n label = getLabel(result);;\n let ds2 = Dataset.parser('interval')(result);\n datavizInstance.dataset.appendColumn(label, ds2.selectColumn(1).slice(1));\n }\n })\n .render();\n }\n\n return datavizInstance.data(results).render();\n }\n if (\n (!!this.config.labelMapping && Object.keys(this.config.labelMapping).length > 0)\n ||\n (!!this.config.labelMappingRegExp && this.config.labelMappingRegExp.length > 0)\n ){\n mapLabels(datavizInstance);\n }\n if (!!this.config.labels && Object.keys(this.config.labels).length > 0){\n setLabels(datavizInstance);\n }\n if (!!this.config.sortGroups) {\n sortGroups(datavizInstance);\n }\n if (!!this.config.sortIntervals) {\n sortIntervals(datavizInstance);\n }\n\n const loader = Dataviz.libraries.default.spinner;\n const library = this.config.library;\n const type = this.config.type;\n const containerElement = this.el();\n\n if (!containerElement || containerElement === undefined) {\n const msg = `${this.config.container} not found. A DOM parent element is required to mount the chart.`;\n console.error(msg);\n throw msg;\n return;\n }\n\n let returnValue = datavizInstance;\n\n if (datavizInstance.config.renderAsPromise) {\n returnValue = new Promise((resolve, reject) => {\n const customCallback = this.config.onrendered;\n datavizInstance.config.onrendered = () => {\n if (customCallback) {\n customCallback();\n }\n resolve(datavizInstance);\n }\n });\n }\n\n domReady(function(){\n if (datavizInstance.view._prepared && loader.destroy) {\n loader.destroy.apply(datavizInstance, arguments);\n }\n containerElement.innerHTML = '';\n\n if (Dataviz.libraries[library] === 'undefined'){\n // Error: Unregistered library\n const msg = `Incorrect library`;\n datavizInstance.message(msg);\n throw msg;\n return;\n }\n else {\n if (typeof Dataviz.libraries[library][type] === 'undefined') {\n const msg = `Incorrect chart type`;\n const mappedMsg = this.config.errorMapping[msg] || msg;\n datavizInstance.message(mappedMsg);\n throw msg;\n return;\n }\n else {\n buildDomWrapper(containerElement,\n datavizInstance.config\n );\n const { renderOnVisible } = datavizInstance.config;\n if(renderOnVisible){\n if(typeof IntersectionObserver !== 'undefined'){\n const chartVisibleCallback = (events, observer) => {\n events.forEach(el => {\n if(el.isIntersecting){\n if(!datavizInstance.view._rendered){\n Dataviz.libraries[library][type].render.call(datavizInstance);\n datavizInstance.view._rendered = true;\n }\n }\n })\n }\n const observer = new IntersectionObserver(chartVisibleCallback);\n observer.observe(containerElement);\n return;\n }\n }\n if(datavizInstance.config.firstVisibilityState === 'hidden'){\n if(typeof document !== 'undefined') {\n let hidden, visibilityChange;\n if (typeof document.hidden !== \"undefined\") {\n hidden = \"hidden\";\n visibilityChange = \"visibilitychange\";\n } else if (typeof document.msHidden !== \"undefined\") {\n hidden = \"msHidden\";\n visibilityChange = \"msvisibilitychange\";\n } else if (typeof document.webkitHidden !== \"undefined\") {\n hidden = \"webkitHidden\";\n visibilityChange = \"webkitvisibilitychange\";\n }\n const handleVisibilityChange = () => {\n if(!document[hidden]) {\n datavizInstance.view._artifacts.c3.load(datavizInstance.dataset.matrix);\n }\n }\n if(typeof document.addEventListener !== \"undefined\" ||\n hidden !== undefined){\n document.addEventListener(visibilityChange, handleVisibilityChange, {\n once: true\n });\n }\n }\n }\n Dataviz.libraries[library][type].render.call(datavizInstance);\n datavizInstance.view._rendered = true;\n }\n }\n });\n\n return returnValue;\n};\n\nDataviz.prototype.sortGroups = function(str){\n if (this.config.showDeprecationWarnings) {\n console.log('.sortGroups() is deprecated. Use: new KeenDataviz({ sortGroups: _your_value_here_ })');\n }\n if (!arguments.length) return this.config.sortGroups;\n this.config.sortGroups = (str ? String(str) : null);\n\n sortGroups(this, str);\n\n return this;\n};\n\nfunction sortGroups(datavizInstance){\n // Sort groups\n if (datavizInstance.config.sortGroups && datavizInstance.data().length > 1) {\n if (isDateString(datavizInstance.data()[1][0])) {\n datavizInstance.dataset.sortColumns(datavizInstance.config.sortGroups, datavizInstance.dataset.getColumnSum);\n }\n else {\n datavizInstance.dataset.sortRows(datavizInstance.config.sortGroups, datavizInstance.dataset.getRowSum);\n }\n }\n}\n\nDataviz.prototype.sortIntervals = function(str){\n if (this.config.showDeprecationWarnings) {\n console.log('.sortIntervals() is deprecated. Use: new KeenDataviz({ sortIntervals: _your_value_here_ })');\n }\n if (!arguments.length) return this.config.sortIntervals;\n this.config.sortIntervals = (str ? String(str) : null);\n\n sortIntervals(this);\n\n return this;\n};\n\nfunction sortIntervals(datavizInstance){\n if (datavizInstance.config.sortIntervals) {\n datavizInstance.dataset.sortRows(datavizInstance.config.sortIntervals);\n }\n}\n\nDataviz.prototype.stacked = function(bool){\n if (this.config.showDeprecationWarnings) {\n console.log('.stacked() is deprecated. Use: new KeenDataviz({ stacked: _your_value_here_ })');\n }\n if (!arguments.length) return this.config.stacked;\n this.config.stacked = bool ? true : false;\n return this;\n};\n\nDataviz.prototype.theme = function(str){\n if (this.config.showDeprecationWarnings) {\n console.log('.theme() is deprecated. Use: new KeenDataviz({ theme: _your_value_here_ })');\n }\n if (!arguments.length) return this.config.theme;\n this.config.theme = (str ? String(str) : null);\n return this;\n};\n\nDataviz.prototype.title = function(str){\n if (this.config.showDeprecationWarnings) {\n console.log('.title() is deprecated. Use: new KeenDataviz({ title: _your_value_here_ })');\n }\n if (!arguments.length) return this.config.title;\n this.config.title = (str ? String(str) : null);\n return this;\n};\n\nDataviz.prototype.type = function(str){\n if (this.config.showDeprecationWarnings) {\n console.log('.type() is deprecated. Use: new KeenDataviz({ type: _your_value_here_ })');\n }\n if (!arguments.length) return this.config.type;\n this.config.type = (str ? convertChartTypes(str) : null);\n return this;\n};\n\nDataviz.prototype.update = function(){\n const library = this.config.library;\n const type = this.config.type;\n const element = this.el();\n if (library && type && element && Dataviz.libraries[library][type].update) {\n Dataviz.libraries[library][type].update.apply(this, arguments);\n }\n return this;\n};\n\nDataviz.prototype.width = function(num){\n if (this.config.showDeprecationWarnings) {\n console.log('.width() is deprecated - use CSS classes');\n }\n return this;\n};\n\n// Deprecations\nDataviz.prototype.chartType = Dataviz.prototype.type;\nDataviz.prototype.error = Dataviz.prototype.message;\nDataviz.prototype.parseRawData = Dataviz.prototype.data;\nDataviz.prototype.parseRequest = function(){\n // this.emit('error', 'This method is no longer supported. Use .data() instead: https://github.com/keen/keen-dataviz.js#data');\n return this;\n};\nDataviz.prototype.initialize = function(){\n // this.emit('error', 'This method is no longer supported, and can be omitted as it has no impact');\n return this;\n};\n\nDataviz.version = pkg.version;\n\n// Private\n\nfunction buildDomWrapper(el, options) {\n let html = '';\n let chart100percentWide = '';\n if (options.legend.position === 'top' || options.legend.position === 'bottom') {\n chart100percentWide = 'c3-chart-100-percent';\n }\n\n let container = `
`;\n let align = 'horizontal';\n if (options.legend.position === 'left' || options.legend.position === 'right') {\n align = 'vertical';\n }\n if (options.legend && options.legend.show) {\n if (options.legend.position === 'top' || options.legend.position === 'left') {\n container = `
${container}`;\n } else {\n container = `${container}
`;\n }\n }\n html += `
`;\n if (options.title && options.showTitle) {\n html += `
${options.title}
`;\n }\n html += `
${container}
`;\n if (options.notes) {\n html += `
${options.notes}
`;\n }\n html += `
`;\n el.innerHTML = html;\n}\n\nfunction convertChartTypes(str) {\n const map = {\n areachart: 'area',\n barchart: 'horizontal-bar',\n columnchart: 'bar',\n linechart: 'line',\n piechart: 'pie',\n };\n return map[str] || str;\n}\n\nfunction testDom(fn) {\n if (/in/.test(document.readyState)) {\n setTimeout(function(){\n testDom(fn);\n }, 9);\n } else {\n fn();\n }\n}\n\nfunction domReady(fn) {\n if (typeof document !== 'undefined' || typeof window === 'undefined') {\n fn();\n return;\n }\n // Firefox 3.5 shim\n if (document.readyState == null && document.addEventListener) {\n document.addEventListener('DOMContentLoaded', function DOMContentLoaded() {\n document.removeEventListener('DOMContentLoaded', DOMContentLoaded, false);\n document.readyState = 'complete';\n }, false);\n document.readyState = 'loading';\n }\n testDom(fn);\n}\n\nexport { Dataset } from './dataset';\n\nexport default Dataviz;\n","var g;\r\n\r\n// This works in non-strict mode\r\ng = (function() {\r\n\treturn this;\r\n})();\r\n\r\ntry {\r\n\t// This works if eval is allowed (see CSP)\r\n\tg = g || Function(\"return this\")() || (1, eval)(\"this\");\r\n} catch (e) {\r\n\t// This works if the window reference is available\r\n\tif (typeof window === \"object\") g = window;\r\n}\r\n\r\n// g can still be undefined, but nothing to do about it...\r\n// We return undefined, instead of nothing here, so it's\r\n// easier to handle this case. if(!global) { ...}\r\n\r\nmodule.exports = g;\r\n","import { Dataviz, Dataset } from './index';\n\nconst env = typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : typeof window !== 'undefined' ? window : {};\n\nexport const extendKeenGlobalObject = function(env) {\n env.KeenDataviz = Dataviz;\n env.KeenDataset = Dataset;\n\n // just for backward compatibility\n env.Keen = env.Keen || {};\n env.Keen.Dataset = Dataset;\n env.Keen.Dataviz = Dataviz;\n};\n\nif (typeof KEEN_GLOBAL_OBJECT !== 'undefined'\n && KEEN_GLOBAL_OBJECT) {\n extendKeenGlobalObject(env);\n}\n\nexport let keenGlobals = undefined;\nif (typeof webpackKeenGlobals !== 'undefined') {\n keenGlobals = webpackKeenGlobals;\n}\n\nexport { Dataviz, Dataset } from './index';\nexport default Dataviz;\n"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap","webpack:///./node_modules/moment/moment.js","webpack:///./lib/utils/each.js","webpack:///./node_modules/d3/dist/package.js","webpack:///./node_modules/d3-array/src/ascending.js","webpack:///./node_modules/d3-array/src/bisector.js","webpack:///./node_modules/d3-array/src/bisect.js","webpack:///./node_modules/d3-array/src/pairs.js","webpack:///./node_modules/d3-array/src/cross.js","webpack:///./node_modules/d3-array/src/descending.js","webpack:///./node_modules/d3-array/src/number.js","webpack:///./node_modules/d3-array/src/variance.js","webpack:///./node_modules/d3-array/src/deviation.js","webpack:///./node_modules/d3-array/src/extent.js","webpack:///./node_modules/d3-array/src/array.js","webpack:///./node_modules/d3-array/src/constant.js","webpack:///./node_modules/d3-array/src/identity.js","webpack:///./node_modules/d3-array/src/range.js","webpack:///./node_modules/d3-array/src/ticks.js","webpack:///./node_modules/d3-array/src/threshold/sturges.js","webpack:///./node_modules/d3-array/src/histogram.js","webpack:///./node_modules/d3-array/src/quantile.js","webpack:///./node_modules/d3-array/src/threshold/freedmanDiaconis.js","webpack:///./node_modules/d3-array/src/threshold/scott.js","webpack:///./node_modules/d3-array/src/max.js","webpack:///./node_modules/d3-array/src/mean.js","webpack:///./node_modules/d3-array/src/median.js","webpack:///./node_modules/d3-array/src/merge.js","webpack:///./node_modules/d3-array/src/min.js","webpack:///./node_modules/d3-array/src/permute.js","webpack:///./node_modules/d3-array/src/scan.js","webpack:///./node_modules/d3-array/src/shuffle.js","webpack:///./node_modules/d3-array/src/sum.js","webpack:///./node_modules/d3-array/src/transpose.js","webpack:///./node_modules/d3-array/src/zip.js","webpack:///./node_modules/d3-axis/src/array.js","webpack:///./node_modules/d3-axis/src/identity.js","webpack:///./node_modules/d3-axis/src/axis.js","webpack:///./node_modules/d3-dispatch/src/dispatch.js","webpack:///./node_modules/d3-selection/src/namespaces.js","webpack:///./node_modules/d3-selection/src/namespace.js","webpack:///./node_modules/d3-selection/src/creator.js","webpack:///./node_modules/d3-selection/src/selector.js","webpack:///./node_modules/d3-selection/src/selectorAll.js","webpack:///./node_modules/d3-selection/src/matcher.js","webpack:///./node_modules/d3-selection/src/selection/sparse.js","webpack:///./node_modules/d3-selection/src/selection/enter.js","webpack:///./node_modules/d3-selection/src/constant.js","webpack:///./node_modules/d3-selection/src/selection/data.js","webpack:///./node_modules/d3-selection/src/selection/sort.js","webpack:///./node_modules/d3-selection/src/selection/attr.js","webpack:///./node_modules/d3-selection/src/window.js","webpack:///./node_modules/d3-selection/src/selection/style.js","webpack:///./node_modules/d3-selection/src/selection/classed.js","webpack:///./node_modules/d3-selection/src/selection/text.js","webpack:///./node_modules/d3-selection/src/selection/html.js","webpack:///./node_modules/d3-selection/src/selection/raise.js","webpack:///./node_modules/d3-selection/src/selection/lower.js","webpack:///./node_modules/d3-selection/src/selection/insert.js","webpack:///./node_modules/d3-selection/src/selection/remove.js","webpack:///./node_modules/d3-selection/src/selection/clone.js","webpack:///./node_modules/d3-selection/src/selection/on.js","webpack:///./node_modules/d3-selection/src/selection/dispatch.js","webpack:///./node_modules/d3-selection/src/selection/index.js","webpack:///./node_modules/d3-selection/src/selection/select.js","webpack:///./node_modules/d3-selection/src/selection/selectAll.js","webpack:///./node_modules/d3-selection/src/selection/filter.js","webpack:///./node_modules/d3-selection/src/selection/exit.js","webpack:///./node_modules/d3-selection/src/selection/merge.js","webpack:///./node_modules/d3-selection/src/selection/order.js","webpack:///./node_modules/d3-selection/src/selection/call.js","webpack:///./node_modules/d3-selection/src/selection/nodes.js","webpack:///./node_modules/d3-selection/src/selection/node.js","webpack:///./node_modules/d3-selection/src/selection/size.js","webpack:///./node_modules/d3-selection/src/selection/empty.js","webpack:///./node_modules/d3-selection/src/selection/each.js","webpack:///./node_modules/d3-selection/src/selection/property.js","webpack:///./node_modules/d3-selection/src/selection/append.js","webpack:///./node_modules/d3-selection/src/selection/datum.js","webpack:///./node_modules/d3-selection/src/select.js","webpack:///./node_modules/d3-selection/src/create.js","webpack:///./node_modules/d3-selection/src/local.js","webpack:///./node_modules/d3-selection/src/sourceEvent.js","webpack:///./node_modules/d3-selection/src/point.js","webpack:///./node_modules/d3-selection/src/mouse.js","webpack:///./node_modules/d3-selection/src/selectAll.js","webpack:///./node_modules/d3-selection/src/touch.js","webpack:///./node_modules/d3-selection/src/touches.js","webpack:///./node_modules/d3-drag/src/noevent.js","webpack:///./node_modules/d3-drag/src/nodrag.js","webpack:///./node_modules/d3-drag/src/constant.js","webpack:///./node_modules/d3-drag/src/event.js","webpack:///./node_modules/d3-drag/src/drag.js","webpack:///./node_modules/d3-color/src/define.js","webpack:///./node_modules/d3-color/src/color.js","webpack:///./node_modules/d3-color/src/math.js","webpack:///./node_modules/d3-color/src/lab.js","webpack:///./node_modules/d3-color/src/cubehelix.js","webpack:///./node_modules/d3-interpolate/src/basis.js","webpack:///./node_modules/d3-interpolate/src/basisClosed.js","webpack:///./node_modules/d3-interpolate/src/constant.js","webpack:///./node_modules/d3-interpolate/src/color.js","webpack:///./node_modules/d3-interpolate/src/rgb.js","webpack:///./node_modules/d3-interpolate/src/array.js","webpack:///./node_modules/d3-interpolate/src/date.js","webpack:///./node_modules/d3-interpolate/src/number.js","webpack:///./node_modules/d3-interpolate/src/object.js","webpack:///./node_modules/d3-interpolate/src/string.js","webpack:///./node_modules/d3-interpolate/src/transform/parse.js","webpack:///./node_modules/d3-interpolate/src/value.js","webpack:///./node_modules/d3-interpolate/src/round.js","webpack:///./node_modules/d3-interpolate/src/transform/decompose.js","webpack:///./node_modules/d3-interpolate/src/transform/index.js","webpack:///./node_modules/d3-interpolate/src/zoom.js","webpack:///./node_modules/d3-interpolate/src/hsl.js","webpack:///./node_modules/d3-interpolate/src/lab.js","webpack:///./node_modules/d3-interpolate/src/hcl.js","webpack:///./node_modules/d3-interpolate/src/cubehelix.js","webpack:///./node_modules/d3-interpolate/src/piecewise.js","webpack:///./node_modules/d3-interpolate/src/quantize.js","webpack:///./node_modules/d3-timer/src/timer.js","webpack:///./node_modules/d3-timer/src/timeout.js","webpack:///./node_modules/d3-timer/src/interval.js","webpack:///./node_modules/d3-transition/src/transition/schedule.js","webpack:///./node_modules/d3-transition/src/interrupt.js","webpack:///./node_modules/d3-transition/src/transition/tween.js","webpack:///./node_modules/d3-transition/src/transition/interpolate.js","webpack:///./node_modules/d3-transition/src/transition/remove.js","webpack:///./node_modules/d3-transition/src/transition/selection.js","webpack:///./node_modules/d3-transition/src/transition/text.js","webpack:///./node_modules/d3-transition/src/transition/index.js","webpack:///./node_modules/d3-ease/src/linear.js","webpack:///./node_modules/d3-ease/src/quad.js","webpack:///./node_modules/d3-ease/src/cubic.js","webpack:///./node_modules/d3-transition/src/transition/select.js","webpack:///./node_modules/d3-transition/src/transition/selectAll.js","webpack:///./node_modules/d3-transition/src/transition/filter.js","webpack:///./node_modules/d3-transition/src/transition/merge.js","webpack:///./node_modules/d3-transition/src/transition/transition.js","webpack:///./node_modules/d3-transition/src/transition/on.js","webpack:///./node_modules/d3-transition/src/transition/attr.js","webpack:///./node_modules/d3-transition/src/transition/attrTween.js","webpack:///./node_modules/d3-transition/src/transition/style.js","webpack:///./node_modules/d3-transition/src/transition/styleTween.js","webpack:///./node_modules/d3-transition/src/transition/delay.js","webpack:///./node_modules/d3-transition/src/transition/duration.js","webpack:///./node_modules/d3-transition/src/transition/ease.js","webpack:///./node_modules/d3-ease/src/poly.js","webpack:///./node_modules/d3-ease/src/sin.js","webpack:///./node_modules/d3-ease/src/exp.js","webpack:///./node_modules/d3-ease/src/circle.js","webpack:///./node_modules/d3-ease/src/bounce.js","webpack:///./node_modules/d3-ease/src/back.js","webpack:///./node_modules/d3-ease/src/elastic.js","webpack:///./node_modules/d3-transition/src/selection/transition.js","webpack:///./node_modules/d3-transition/src/selection/index.js","webpack:///./node_modules/d3-transition/src/selection/interrupt.js","webpack:///./node_modules/d3-transition/src/active.js","webpack:///./node_modules/d3-brush/src/constant.js","webpack:///./node_modules/d3-brush/src/event.js","webpack:///./node_modules/d3-brush/src/noevent.js","webpack:///./node_modules/d3-brush/src/brush.js","webpack:///./node_modules/d3-chord/src/math.js","webpack:///./node_modules/d3-chord/src/chord.js","webpack:///./node_modules/d3-chord/src/array.js","webpack:///./node_modules/d3-chord/src/constant.js","webpack:///./node_modules/d3-path/src/path.js","webpack:///./node_modules/d3-chord/src/ribbon.js","webpack:///./node_modules/d3-collection/src/map.js","webpack:///./node_modules/d3-collection/src/nest.js","webpack:///./node_modules/d3-collection/src/set.js","webpack:///./node_modules/d3-collection/src/keys.js","webpack:///./node_modules/d3-collection/src/values.js","webpack:///./node_modules/d3-collection/src/entries.js","webpack:///./node_modules/d3-contour/src/array.js","webpack:///./node_modules/d3-contour/src/ascending.js","webpack:///./node_modules/d3-contour/src/area.js","webpack:///./node_modules/d3-contour/src/constant.js","webpack:///./node_modules/d3-contour/src/contains.js","webpack:///./node_modules/d3-contour/src/noop.js","webpack:///./node_modules/d3-contour/src/contours.js","webpack:///./node_modules/d3-contour/src/blur.js","webpack:///./node_modules/d3-contour/src/density.js","webpack:///./node_modules/d3-dsv/src/dsv.js","webpack:///./node_modules/d3-dsv/src/csv.js","webpack:///./node_modules/d3-dsv/src/tsv.js","webpack:///./node_modules/d3-fetch/src/blob.js","webpack:///./node_modules/d3-fetch/src/buffer.js","webpack:///./node_modules/d3-fetch/src/text.js","webpack:///./node_modules/d3-fetch/src/dsv.js","webpack:///./node_modules/d3-fetch/src/image.js","webpack:///./node_modules/d3-fetch/src/json.js","webpack:///./node_modules/d3-fetch/src/xml.js","webpack:///./node_modules/d3-force/src/center.js","webpack:///./node_modules/d3-force/src/constant.js","webpack:///./node_modules/d3-force/src/jiggle.js","webpack:///./node_modules/d3-quadtree/src/add.js","webpack:///./node_modules/d3-quadtree/src/cover.js","webpack:///./node_modules/d3-quadtree/src/quad.js","webpack:///./node_modules/d3-quadtree/src/x.js","webpack:///./node_modules/d3-quadtree/src/y.js","webpack:///./node_modules/d3-quadtree/src/quadtree.js","webpack:///./node_modules/d3-force/src/collide.js","webpack:///./node_modules/d3-quadtree/src/data.js","webpack:///./node_modules/d3-quadtree/src/extent.js","webpack:///./node_modules/d3-quadtree/src/find.js","webpack:///./node_modules/d3-quadtree/src/remove.js","webpack:///./node_modules/d3-quadtree/src/root.js","webpack:///./node_modules/d3-quadtree/src/size.js","webpack:///./node_modules/d3-quadtree/src/visit.js","webpack:///./node_modules/d3-quadtree/src/visitAfter.js","webpack:///./node_modules/d3-force/src/link.js","webpack:///./node_modules/d3-force/src/simulation.js","webpack:///./node_modules/d3-force/src/manyBody.js","webpack:///./node_modules/d3-force/src/radial.js","webpack:///./node_modules/d3-force/src/x.js","webpack:///./node_modules/d3-force/src/y.js","webpack:///./node_modules/d3-format/src/formatDecimal.js","webpack:///./node_modules/d3-format/src/exponent.js","webpack:///./node_modules/d3-format/src/formatSpecifier.js","webpack:///./node_modules/d3-format/src/formatTrim.js","webpack:///./node_modules/d3-format/src/formatPrefixAuto.js","webpack:///./node_modules/d3-format/src/defaultLocale.js","webpack:///./node_modules/d3-format/src/formatRounded.js","webpack:///./node_modules/d3-format/src/formatTypes.js","webpack:///./node_modules/d3-format/src/identity.js","webpack:///./node_modules/d3-format/src/locale.js","webpack:///./node_modules/d3-format/src/formatGroup.js","webpack:///./node_modules/d3-format/src/formatNumerals.js","webpack:///./node_modules/d3-format/src/precisionFixed.js","webpack:///./node_modules/d3-format/src/precisionPrefix.js","webpack:///./node_modules/d3-format/src/precisionRound.js","webpack:///./node_modules/d3-geo/src/adder.js","webpack:///./node_modules/d3-geo/src/math.js","webpack:///./node_modules/d3-geo/src/noop.js","webpack:///./node_modules/d3-geo/src/stream.js","webpack:///./node_modules/d3-geo/src/area.js","webpack:///./node_modules/d3-geo/src/cartesian.js","webpack:///./node_modules/d3-geo/src/bounds.js","webpack:///./node_modules/d3-geo/src/centroid.js","webpack:///./node_modules/d3-geo/src/constant.js","webpack:///./node_modules/d3-geo/src/compose.js","webpack:///./node_modules/d3-geo/src/rotation.js","webpack:///./node_modules/d3-geo/src/circle.js","webpack:///./node_modules/d3-geo/src/clip/buffer.js","webpack:///./node_modules/d3-geo/src/pointEqual.js","webpack:///./node_modules/d3-geo/src/clip/rejoin.js","webpack:///./node_modules/d3-geo/src/polygonContains.js","webpack:///./node_modules/d3-geo/src/clip/index.js","webpack:///./node_modules/d3-geo/src/clip/antimeridian.js","webpack:///./node_modules/d3-geo/src/clip/circle.js","webpack:///./node_modules/d3-geo/src/clip/line.js","webpack:///./node_modules/d3-geo/src/clip/rectangle.js","webpack:///./node_modules/d3-geo/src/clip/extent.js","webpack:///./node_modules/d3-geo/src/length.js","webpack:///./node_modules/d3-geo/src/distance.js","webpack:///./node_modules/d3-geo/src/contains.js","webpack:///./node_modules/d3-geo/src/graticule.js","webpack:///./node_modules/d3-geo/src/interpolate.js","webpack:///./node_modules/d3-geo/src/path/area.js","webpack:///./node_modules/d3-geo/src/identity.js","webpack:///./node_modules/d3-geo/src/path/bounds.js","webpack:///./node_modules/d3-geo/src/path/centroid.js","webpack:///./node_modules/d3-geo/src/path/context.js","webpack:///./node_modules/d3-geo/src/path/measure.js","webpack:///./node_modules/d3-geo/src/path/string.js","webpack:///./node_modules/d3-geo/src/path/index.js","webpack:///./node_modules/d3-geo/src/transform.js","webpack:///./node_modules/d3-geo/src/projection/fit.js","webpack:///./node_modules/d3-geo/src/projection/resample.js","webpack:///./node_modules/d3-geo/src/projection/index.js","webpack:///./node_modules/d3-geo/src/projection/conic.js","webpack:///./node_modules/d3-geo/src/projection/conicEqualArea.js","webpack:///./node_modules/d3-geo/src/projection/cylindricalEqualArea.js","webpack:///./node_modules/d3-geo/src/projection/albers.js","webpack:///./node_modules/d3-geo/src/projection/albersUsa.js","webpack:///./node_modules/d3-geo/src/projection/azimuthal.js","webpack:///./node_modules/d3-geo/src/projection/azimuthalEqualArea.js","webpack:///./node_modules/d3-geo/src/projection/azimuthalEquidistant.js","webpack:///./node_modules/d3-geo/src/projection/mercator.js","webpack:///./node_modules/d3-geo/src/projection/conicConformal.js","webpack:///./node_modules/d3-geo/src/projection/equirectangular.js","webpack:///./node_modules/d3-geo/src/projection/conicEquidistant.js","webpack:///./node_modules/d3-geo/src/projection/gnomonic.js","webpack:///./node_modules/d3-geo/src/projection/identity.js","webpack:///./node_modules/d3-geo/src/projection/naturalEarth1.js","webpack:///./node_modules/d3-geo/src/projection/orthographic.js","webpack:///./node_modules/d3-geo/src/projection/stereographic.js","webpack:///./node_modules/d3-geo/src/projection/transverseMercator.js","webpack:///./node_modules/d3-hierarchy/src/cluster.js","webpack:///./node_modules/d3-hierarchy/src/hierarchy/count.js","webpack:///./node_modules/d3-hierarchy/src/hierarchy/index.js","webpack:///./node_modules/d3-hierarchy/src/hierarchy/each.js","webpack:///./node_modules/d3-hierarchy/src/hierarchy/eachAfter.js","webpack:///./node_modules/d3-hierarchy/src/hierarchy/eachBefore.js","webpack:///./node_modules/d3-hierarchy/src/hierarchy/sum.js","webpack:///./node_modules/d3-hierarchy/src/hierarchy/sort.js","webpack:///./node_modules/d3-hierarchy/src/hierarchy/path.js","webpack:///./node_modules/d3-hierarchy/src/hierarchy/ancestors.js","webpack:///./node_modules/d3-hierarchy/src/hierarchy/descendants.js","webpack:///./node_modules/d3-hierarchy/src/hierarchy/leaves.js","webpack:///./node_modules/d3-hierarchy/src/hierarchy/links.js","webpack:///./node_modules/d3-hierarchy/src/array.js","webpack:///./node_modules/d3-hierarchy/src/pack/enclose.js","webpack:///./node_modules/d3-hierarchy/src/pack/siblings.js","webpack:///./node_modules/d3-hierarchy/src/accessors.js","webpack:///./node_modules/d3-hierarchy/src/constant.js","webpack:///./node_modules/d3-hierarchy/src/pack/index.js","webpack:///./node_modules/d3-hierarchy/src/treemap/round.js","webpack:///./node_modules/d3-hierarchy/src/treemap/dice.js","webpack:///./node_modules/d3-hierarchy/src/partition.js","webpack:///./node_modules/d3-hierarchy/src/stratify.js","webpack:///./node_modules/d3-hierarchy/src/tree.js","webpack:///./node_modules/d3-hierarchy/src/treemap/slice.js","webpack:///./node_modules/d3-hierarchy/src/treemap/squarify.js","webpack:///./node_modules/d3-hierarchy/src/treemap/index.js","webpack:///./node_modules/d3-hierarchy/src/treemap/binary.js","webpack:///./node_modules/d3-hierarchy/src/treemap/sliceDice.js","webpack:///./node_modules/d3-hierarchy/src/treemap/resquarify.js","webpack:///./node_modules/d3-polygon/src/area.js","webpack:///./node_modules/d3-polygon/src/centroid.js","webpack:///./node_modules/d3-polygon/src/cross.js","webpack:///./node_modules/d3-polygon/src/hull.js","webpack:///./node_modules/d3-polygon/src/contains.js","webpack:///./node_modules/d3-polygon/src/length.js","webpack:///./node_modules/d3-random/src/defaultSource.js","webpack:///./node_modules/d3-random/src/uniform.js","webpack:///./node_modules/d3-random/src/normal.js","webpack:///./node_modules/d3-random/src/logNormal.js","webpack:///./node_modules/d3-random/src/irwinHall.js","webpack:///./node_modules/d3-random/src/bates.js","webpack:///./node_modules/d3-random/src/exponential.js","webpack:///./node_modules/d3-scale/src/array.js","webpack:///./node_modules/d3-scale/src/ordinal.js","webpack:///./node_modules/d3-scale/src/band.js","webpack:///./node_modules/d3-scale/src/constant.js","webpack:///./node_modules/d3-scale/src/number.js","webpack:///./node_modules/d3-scale/src/continuous.js","webpack:///./node_modules/d3-scale/src/tickFormat.js","webpack:///./node_modules/d3-scale/src/linear.js","webpack:///./node_modules/d3-scale/src/identity.js","webpack:///./node_modules/d3-scale/src/nice.js","webpack:///./node_modules/d3-scale/src/log.js","webpack:///./node_modules/d3-scale/src/pow.js","webpack:///./node_modules/d3-scale/src/quantile.js","webpack:///./node_modules/d3-scale/src/quantize.js","webpack:///./node_modules/d3-scale/src/threshold.js","webpack:///./node_modules/d3-time/src/interval.js","webpack:///./node_modules/d3-time/src/millisecond.js","webpack:///./node_modules/d3-time/src/duration.js","webpack:///./node_modules/d3-time/src/second.js","webpack:///./node_modules/d3-time/src/minute.js","webpack:///./node_modules/d3-time/src/hour.js","webpack:///./node_modules/d3-time/src/day.js","webpack:///./node_modules/d3-time/src/week.js","webpack:///./node_modules/d3-time/src/month.js","webpack:///./node_modules/d3-time/src/year.js","webpack:///./node_modules/d3-time/src/utcMinute.js","webpack:///./node_modules/d3-time/src/utcHour.js","webpack:///./node_modules/d3-time/src/utcDay.js","webpack:///./node_modules/d3-time/src/utcWeek.js","webpack:///./node_modules/d3-time/src/utcMonth.js","webpack:///./node_modules/d3-time/src/utcYear.js","webpack:///./node_modules/d3-time-format/src/locale.js","webpack:///./node_modules/d3-time-format/src/defaultLocale.js","webpack:///./node_modules/d3-time-format/src/isoFormat.js","webpack:///./node_modules/d3-time-format/src/isoParse.js","webpack:///./node_modules/d3-scale/src/time.js","webpack:///./node_modules/d3-scale/src/utcTime.js","webpack:///./node_modules/d3-scale/src/sequential.js","webpack:///./node_modules/d3-scale-chromatic/src/colors.js","webpack:///./node_modules/d3-scale-chromatic/src/categorical/category10.js","webpack:///./node_modules/d3-scale-chromatic/src/categorical/Accent.js","webpack:///./node_modules/d3-scale-chromatic/src/categorical/Dark2.js","webpack:///./node_modules/d3-scale-chromatic/src/categorical/Paired.js","webpack:///./node_modules/d3-scale-chromatic/src/categorical/Pastel1.js","webpack:///./node_modules/d3-scale-chromatic/src/categorical/Pastel2.js","webpack:///./node_modules/d3-scale-chromatic/src/categorical/Set1.js","webpack:///./node_modules/d3-scale-chromatic/src/categorical/Set2.js","webpack:///./node_modules/d3-scale-chromatic/src/categorical/Set3.js","webpack:///./node_modules/d3-scale-chromatic/src/ramp.js","webpack:///./node_modules/d3-scale-chromatic/src/diverging/BrBG.js","webpack:///./node_modules/d3-scale-chromatic/src/diverging/PRGn.js","webpack:///./node_modules/d3-scale-chromatic/src/diverging/PiYG.js","webpack:///./node_modules/d3-scale-chromatic/src/diverging/PuOr.js","webpack:///./node_modules/d3-scale-chromatic/src/diverging/RdBu.js","webpack:///./node_modules/d3-scale-chromatic/src/diverging/RdGy.js","webpack:///./node_modules/d3-scale-chromatic/src/diverging/RdYlBu.js","webpack:///./node_modules/d3-scale-chromatic/src/diverging/RdYlGn.js","webpack:///./node_modules/d3-scale-chromatic/src/diverging/Spectral.js","webpack:///./node_modules/d3-scale-chromatic/src/sequential-multi/BuGn.js","webpack:///./node_modules/d3-scale-chromatic/src/sequential-multi/BuPu.js","webpack:///./node_modules/d3-scale-chromatic/src/sequential-multi/GnBu.js","webpack:///./node_modules/d3-scale-chromatic/src/sequential-multi/OrRd.js","webpack:///./node_modules/d3-scale-chromatic/src/sequential-multi/PuBuGn.js","webpack:///./node_modules/d3-scale-chromatic/src/sequential-multi/PuBu.js","webpack:///./node_modules/d3-scale-chromatic/src/sequential-multi/PuRd.js","webpack:///./node_modules/d3-scale-chromatic/src/sequential-multi/RdPu.js","webpack:///./node_modules/d3-scale-chromatic/src/sequential-multi/YlGnBu.js","webpack:///./node_modules/d3-scale-chromatic/src/sequential-multi/YlGn.js","webpack:///./node_modules/d3-scale-chromatic/src/sequential-multi/YlOrBr.js","webpack:///./node_modules/d3-scale-chromatic/src/sequential-multi/YlOrRd.js","webpack:///./node_modules/d3-scale-chromatic/src/sequential-single/Blues.js","webpack:///./node_modules/d3-scale-chromatic/src/sequential-single/Greens.js","webpack:///./node_modules/d3-scale-chromatic/src/sequential-single/Greys.js","webpack:///./node_modules/d3-scale-chromatic/src/sequential-single/Purples.js","webpack:///./node_modules/d3-scale-chromatic/src/sequential-single/Reds.js","webpack:///./node_modules/d3-scale-chromatic/src/sequential-single/Oranges.js","webpack:///./node_modules/d3-scale-chromatic/src/sequential-multi/cubehelix.js","webpack:///./node_modules/d3-scale-chromatic/src/sequential-multi/rainbow.js","webpack:///./node_modules/d3-scale-chromatic/src/sequential-multi/sinebow.js","webpack:///./node_modules/d3-scale-chromatic/src/sequential-multi/viridis.js","webpack:///./node_modules/d3-shape/src/constant.js","webpack:///./node_modules/d3-shape/src/math.js","webpack:///./node_modules/d3-shape/src/arc.js","webpack:///./node_modules/d3-shape/src/curve/linear.js","webpack:///./node_modules/d3-shape/src/point.js","webpack:///./node_modules/d3-shape/src/line.js","webpack:///./node_modules/d3-shape/src/area.js","webpack:///./node_modules/d3-shape/src/descending.js","webpack:///./node_modules/d3-shape/src/identity.js","webpack:///./node_modules/d3-shape/src/pie.js","webpack:///./node_modules/d3-shape/src/curve/radial.js","webpack:///./node_modules/d3-shape/src/lineRadial.js","webpack:///./node_modules/d3-shape/src/areaRadial.js","webpack:///./node_modules/d3-shape/src/pointRadial.js","webpack:///./node_modules/d3-shape/src/array.js","webpack:///./node_modules/d3-shape/src/link/index.js","webpack:///./node_modules/d3-shape/src/symbol/circle.js","webpack:///./node_modules/d3-shape/src/symbol/cross.js","webpack:///./node_modules/d3-shape/src/symbol/diamond.js","webpack:///./node_modules/d3-shape/src/symbol/star.js","webpack:///./node_modules/d3-shape/src/symbol/square.js","webpack:///./node_modules/d3-shape/src/symbol/triangle.js","webpack:///./node_modules/d3-shape/src/symbol/wye.js","webpack:///./node_modules/d3-shape/src/symbol.js","webpack:///./node_modules/d3-shape/src/noop.js","webpack:///./node_modules/d3-shape/src/curve/basis.js","webpack:///./node_modules/d3-shape/src/curve/basisClosed.js","webpack:///./node_modules/d3-shape/src/curve/basisOpen.js","webpack:///./node_modules/d3-shape/src/curve/bundle.js","webpack:///./node_modules/d3-shape/src/curve/cardinal.js","webpack:///./node_modules/d3-shape/src/curve/cardinalClosed.js","webpack:///./node_modules/d3-shape/src/curve/cardinalOpen.js","webpack:///./node_modules/d3-shape/src/curve/catmullRom.js","webpack:///./node_modules/d3-shape/src/curve/catmullRomClosed.js","webpack:///./node_modules/d3-shape/src/curve/catmullRomOpen.js","webpack:///./node_modules/d3-shape/src/curve/linearClosed.js","webpack:///./node_modules/d3-shape/src/curve/monotone.js","webpack:///./node_modules/d3-shape/src/curve/natural.js","webpack:///./node_modules/d3-shape/src/curve/step.js","webpack:///./node_modules/d3-shape/src/offset/none.js","webpack:///./node_modules/d3-shape/src/order/none.js","webpack:///./node_modules/d3-shape/src/stack.js","webpack:///./node_modules/d3-shape/src/offset/expand.js","webpack:///./node_modules/d3-shape/src/offset/diverging.js","webpack:///./node_modules/d3-shape/src/offset/silhouette.js","webpack:///./node_modules/d3-shape/src/offset/wiggle.js","webpack:///./node_modules/d3-shape/src/order/ascending.js","webpack:///./node_modules/d3-shape/src/order/descending.js","webpack:///./node_modules/d3-shape/src/order/insideOut.js","webpack:///./node_modules/d3-shape/src/order/reverse.js","webpack:///./node_modules/d3-voronoi/src/constant.js","webpack:///./node_modules/d3-voronoi/src/point.js","webpack:///./node_modules/d3-voronoi/src/RedBlackTree.js","webpack:///./node_modules/d3-voronoi/src/Edge.js","webpack:///./node_modules/d3-voronoi/src/Cell.js","webpack:///./node_modules/d3-voronoi/src/Circle.js","webpack:///./node_modules/d3-voronoi/src/Beach.js","webpack:///./node_modules/d3-voronoi/src/Diagram.js","webpack:///./node_modules/d3-voronoi/src/voronoi.js","webpack:///./node_modules/d3-zoom/src/constant.js","webpack:///./node_modules/d3-zoom/src/transform.js","webpack:///./node_modules/d3-zoom/src/noevent.js","webpack:///./node_modules/d3-zoom/src/zoom.js","webpack:///./node_modules/d3-zoom/src/event.js","webpack:///./lib/utils/pretty-number.js","webpack:///./lib/utils/escape-html.js","webpack:///./lib/utils/svg-text-wrap.js","webpack:///./lib/utils/extend.js","webpack:///./lib/utils/assert-date-string.js","webpack:///./lib/utils/strip-html-tags.js","webpack:///./lib/dataset/utils/create-null-list.js","webpack:///./lib/dataset/modifiers/append.js","webpack:///./node_modules/moment/locale/zh-tw.js","webpack:///./node_modules/moment/locale/zh-hk.js","webpack:///./node_modules/moment/locale/zh-cn.js","webpack:///./node_modules/moment/locale/yo.js","webpack:///./node_modules/moment/locale/x-pseudo.js","webpack:///./node_modules/moment/locale/vi.js","webpack:///./node_modules/moment/locale/uz-latn.js","webpack:///./node_modules/moment/locale/uz.js","webpack:///./node_modules/moment/locale/ur.js","webpack:///./node_modules/moment/locale/uk.js","webpack:///./node_modules/moment/locale/ug-cn.js","webpack:///./node_modules/moment/locale/tzm-latn.js","webpack:///./node_modules/moment/locale/tzm.js","webpack:///./node_modules/moment/locale/tzl.js","webpack:///./node_modules/moment/locale/tr.js","webpack:///./node_modules/moment/locale/tlh.js","webpack:///./node_modules/moment/locale/tl-ph.js","webpack:///./node_modules/moment/locale/th.js","webpack:///./node_modules/moment/locale/tg.js","webpack:///./node_modules/moment/locale/tet.js","webpack:///./node_modules/moment/locale/te.js","webpack:///./node_modules/moment/locale/ta.js","webpack:///./node_modules/moment/locale/sw.js","webpack:///./node_modules/moment/locale/sv.js","webpack:///./node_modules/moment/locale/ss.js","webpack:///./node_modules/moment/locale/sr-cyrl.js","webpack:///./node_modules/moment/locale/sr.js","webpack:///./node_modules/moment/locale/sq.js","webpack:///./node_modules/moment/locale/sl.js","webpack:///./node_modules/moment/locale/sk.js","webpack:///./node_modules/moment/locale/si.js","webpack:///./node_modules/moment/locale/se.js","webpack:///./node_modules/moment/locale/sd.js","webpack:///./node_modules/moment/locale/ru.js","webpack:///./node_modules/moment/locale/ro.js","webpack:///./node_modules/moment/locale/pt-br.js","webpack:///./node_modules/moment/locale/pt.js","webpack:///./node_modules/moment/locale/pl.js","webpack:///./node_modules/moment/locale/pa-in.js","webpack:///./node_modules/moment/locale/nn.js","webpack:///./node_modules/moment/locale/nl-be.js","webpack:///./node_modules/moment/locale/nl.js","webpack:///./node_modules/moment/locale/ne.js","webpack:///./node_modules/moment/locale/nb.js","webpack:///./node_modules/moment/locale/my.js","webpack:///./node_modules/moment/locale/mt.js","webpack:///./node_modules/moment/locale/ms-my.js","webpack:///./node_modules/moment/locale/ms.js","webpack:///./node_modules/moment/locale/mr.js","webpack:///./node_modules/moment/locale/mn.js","webpack:///./node_modules/moment/locale/ml.js","webpack:///./node_modules/moment/locale/mk.js","webpack:///./node_modules/moment/locale/mi.js","webpack:///./node_modules/moment/locale/me.js","webpack:///./node_modules/moment/locale/lv.js","webpack:///./node_modules/moment/locale/lt.js","webpack:///./node_modules/moment/locale/lo.js","webpack:///./node_modules/moment/locale/lb.js","webpack:///./node_modules/moment/locale/ky.js","webpack:///./node_modules/moment/locale/ko.js","webpack:///./node_modules/moment/locale/kn.js","webpack:///./node_modules/moment/locale/km.js","webpack:///./node_modules/moment/locale/kk.js","webpack:///./node_modules/moment/locale/ka.js","webpack:///./node_modules/moment/locale/jv.js","webpack:///./node_modules/moment/locale/ja.js","webpack:///./node_modules/moment/locale/it.js","webpack:///./node_modules/moment/locale/is.js","webpack:///./node_modules/moment/locale/id.js","webpack:///./node_modules/moment/locale/hy-am.js","webpack:///./node_modules/moment/locale/hu.js","webpack:///./node_modules/moment/locale/hr.js","webpack:///./node_modules/moment/locale/hi.js","webpack:///./node_modules/moment/locale/he.js","webpack:///./node_modules/moment/locale/gu.js","webpack:///./node_modules/moment/locale/gom-latn.js","webpack:///./node_modules/moment/locale/gl.js","webpack:///./node_modules/moment/locale/gd.js","webpack:///./node_modules/moment/locale/fy.js","webpack:///./node_modules/moment/locale/fr-ch.js","webpack:///./node_modules/moment/locale/fr-ca.js","webpack:///./node_modules/moment/locale/fr.js","webpack:///./node_modules/moment/locale/fo.js","webpack:///./node_modules/moment/locale/fi.js","webpack:///./node_modules/moment/locale/fa.js","webpack:///./node_modules/moment/locale/eu.js","webpack:///./node_modules/moment/locale/et.js","webpack:///./node_modules/moment/locale/es-us.js","webpack:///./node_modules/moment/locale/es-do.js","webpack:///./node_modules/moment/locale/es.js","webpack:///./node_modules/moment/locale/eo.js","webpack:///./node_modules/moment/locale/en-nz.js","webpack:///./node_modules/moment/locale/en-il.js","webpack:///./node_modules/moment/locale/en-ie.js","webpack:///./node_modules/moment/locale/en-gb.js","webpack:///./node_modules/moment/locale/en-ca.js","webpack:///./node_modules/moment/locale/en-au.js","webpack:///./node_modules/moment/locale/el.js","webpack:///./node_modules/moment/locale/dv.js","webpack:///./node_modules/moment/locale/de-ch.js","webpack:///./node_modules/moment/locale/de-at.js","webpack:///./node_modules/moment/locale/de.js","webpack:///./node_modules/moment/locale/da.js","webpack:///./node_modules/moment/locale/cy.js","webpack:///./node_modules/moment/locale/cv.js","webpack:///./node_modules/moment/locale/cs.js","webpack:///./node_modules/moment/locale/ca.js","webpack:///./node_modules/moment/locale/bs.js","webpack:///./node_modules/moment/locale/br.js","webpack:///./node_modules/moment/locale/bo.js","webpack:///./node_modules/moment/locale/bn.js","webpack:///./node_modules/moment/locale/bm.js","webpack:///./node_modules/moment/locale/bg.js","webpack:///./node_modules/moment/locale/be.js","webpack:///./node_modules/moment/locale/az.js","webpack:///./node_modules/moment/locale/ar-tn.js","webpack:///./node_modules/moment/locale/ar-sa.js","webpack:///./node_modules/moment/locale/ar-ma.js","webpack:///./node_modules/moment/locale/ar-ly.js","webpack:///./node_modules/moment/locale/ar-kw.js","webpack:///./node_modules/moment/locale/ar-dz.js","webpack:///./node_modules/moment/locale/ar.js","webpack:///./node_modules/moment/locale/af.js","webpack:///./lib/utils/extend-deep.js","webpack:///./node_modules/c3/c3.js","webpack:///./lib/dataset/utils/analyses.js","webpack:///./lib/dataset/index.js","webpack:///./lib/libraries/default/horizontal-funnel-3d.js","webpack:///./lib/libraries/default/horizontal-funnel.js","webpack:///./lib/libraries/default/funnel-3d.js","webpack:///./lib/libraries/default/funnel.js","webpack:///./lib/libraries/default/spinner.js","webpack:///./node_modules/moment/locale sync ^\\.\\/.*$","webpack:///(webpack)/buildin/module.js","webpack:///./node_modules/moment-timezone/moment-timezone.js","webpack:///./node_modules/moment-timezone/index.js","webpack:///./lib/libraries/default/table.js","webpack:///./lib/libraries/default/metric.js","webpack:///./lib/libraries/default/message.js","webpack:///./lib/libraries/c3/extensions/tooltip-contents.js","webpack:///./lib/libraries/c3/extensions/paginating-legend.js","webpack:///./lib/libraries/c3/extensions/default-date-format.js","webpack:///./lib/libraries/index.js","webpack:///./lib/data.js","webpack:///./lib/dataset/utils/object.js","webpack:///./lib/dataset/utils/flatten.js","webpack:///./lib/dataset/utils/parsers.js","webpack:///./lib/dataset/modifiers/update.js","webpack:///./lib/dataset/modifiers/sort.js","webpack:///./lib/dataset/modifiers/select.js","webpack:///./lib/dataset/modifiers/insert.js","webpack:///./lib/dataset/modifiers/filter.js","webpack:///./lib/dataset/modifiers/delete.js","webpack:///./lib/index.js","webpack:///(webpack)/buildin/global.js","webpack:///./lib/browser.js"],"names":["root","factory","exports","module","define","amd","a","i","window","installedModules","__webpack_require__","moduleId","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","configurable","enumerable","get","r","value","n","__esModule","object","property","prototype","hasOwnProperty","p","s","hookCallback","some","hooks","apply","arguments","isArray","input","Array","toString","isObject","isUndefined","isNumber","isDate","Date","map","arr","fn","res","length","push","hasOwnProp","b","extend","valueOf","createUTC","format","locale","strict","createLocalOrUTC","utc","getParsingFlags","_pf","empty","unusedTokens","unusedInput","overflow","charsLeftOver","nullInput","invalidMonth","invalidFormat","userInvalidated","iso","parsedDateParts","meridiem","rfc2822","weekdayMismatch","isValid","_isValid","flags","parsedParts","isNowValid","isNaN","_d","getTime","invalidWeekday","_strict","undefined","bigHour","isFrozen","createInvalid","NaN","fun","t","this","len","momentProperties","copyConfig","to","from","prop","val","_isAMomentObject","_i","_f","_l","_tzm","_isUTC","_offset","_locale","updateInProgress","Moment","config","updateOffset","isMoment","obj","absFloor","number","Math","ceil","floor","toInt","argumentForCoercion","coercedNumber","isFinite","compareArrays","array1","array2","dontConvert","min","lengthDiff","abs","diffs","warn","msg","suppressDeprecationWarnings","console","deprecate","firstTime","deprecationHandler","arg","args","key","slice","join","Error","stack","keys","deprecations","deprecateSimple","isFunction","Function","mergeConfigs","parentConfig","childConfig","Locale","set","aliases","addUnitAlias","unit","shorthand","lowerCase","toLowerCase","normalizeUnits","units","normalizeObjectUnits","inputObject","normalizedProp","normalizedInput","priorities","addUnitPriority","priority","zeroFill","targetLength","forceSign","absNumber","zerosToFill","sign","pow","max","substr","formattingTokens","localFormattingTokens","formatFunctions","formatTokenFunctions","addFormatToken","token","padded","ordinal","callback","func","localeData","formatMoment","expandFormat","array","match","replace","mom","output","makeFormatFunction","invalidDate","replaceLongDateFormatTokens","longDateFormat","lastIndex","test","match1","match2","match3","match4","match6","match1to2","match3to4","match5to6","match1to3","match1to4","match1to6","matchUnsigned","matchSigned","matchOffset","matchShortOffset","matchWord","regexes","addRegexToken","regex","strictRegex","isStrict","getParseRegexForToken","RegExp","regexEscape","matched","p1","p2","p3","p4","tokens","addParseToken","addWeekParseToken","_w","addTimeToArrayFromToken","_a","YEAR","MONTH","DATE","HOUR","MINUTE","SECOND","MILLISECOND","WEEK","WEEKDAY","daysInYear","year","isLeapYear","y","parseTwoDigitYear","parseInt","indexOf","getSetYear","makeGetSet","keepTime","set$1","month","date","daysInMonth","x","modMonth","monthsShort","months","monthsShortRegex","monthsRegex","monthsParse","MONTHS_IN_FORMAT","defaultLocaleMonths","split","defaultLocaleMonthsShort","setMonth","dayOfMonth","getSetMonth","defaultMonthsShortRegex","defaultMonthsRegex","computeMonthsParse","cmpLenRev","shortPieces","longPieces","mixedPieces","sort","_monthsRegex","_monthsShortRegex","_monthsStrictRegex","_monthsShortStrictRegex","createUTCDate","UTC","getUTCFullYear","setUTCFullYear","firstWeekOffset","dow","doy","fwd","fwdlw","getUTCDay","dayOfYearFromWeeks","week","weekday","resYear","resDayOfYear","localWeekday","weekOffset","dayOfYear","weekOfYear","resWeek","weeksInYear","weekOffsetNext","weekdaysMin","weekdaysShort","weekdays","weekdaysMinRegex","weekdaysShortRegex","weekdaysRegex","weekdaysParse","defaultLocaleWeekdays","defaultLocaleWeekdaysShort","defaultLocaleWeekdaysMin","defaultWeekdaysRegex","defaultWeekdaysShortRegex","defaultWeekdaysMinRegex","computeWeekdaysParse","minp","shortp","longp","minPieces","day","_weekdaysRegex","_weekdaysShortRegex","_weekdaysMinRegex","_weekdaysStrictRegex","_weekdaysShortStrictRegex","_weekdaysMinStrictRegex","hFormat","hours","lowercase","minutes","matchMeridiem","_meridiemParse","seconds","kInput","_isPm","isPM","_meridiem","pos","pos1","pos2","globalLocale","getSetHour","baseConfig","calendar","sameDay","nextDay","nextWeek","lastDay","lastWeek","sameElse","LTS","LT","L","LL","LLL","LLLL","dayOfMonthOrdinalParse","relativeTime","future","past","ss","mm","h","hh","dd","M","MM","yy","meridiemParse","locales","localeFamilies","normalizeLocale","loadLocale","oldLocale","_abbr","getSetGlobalLocale","e","values","data","getLocale","defineLocale","abbr","_config","parentLocale","forEach","names","j","next","chooseLocale","checkOverflow","_overflowDayOfYear","_overflowWeeks","_overflowWeekday","defaults","configFromArray","currentDate","expectedWeekday","yearToUse","nowValue","now","_useUTC","getUTCMonth","getUTCDate","getFullYear","getMonth","getDate","currentDateArray","w","weekYear","temp","weekdayOverflow","GG","W","E","createLocal","_week","curWeek","gg","_dayOfYear","dayOfYearFromWeekInfo","_nextDay","ms","setFullYear","getDay","setUTCMinutes","getUTCMinutes","extendedIsoRegex","basicIsoRegex","tzRegex","isoDates","isoTimes","aspNetJsonRegex","configFromISO","allowTime","dateFormat","timeFormat","tzFormat","string","exec","configFromStringAndFormat","extractFromRFC2822Strings","yearStr","monthStr","dayStr","hourStr","minuteStr","secondStr","result","untruncateYear","obsOffsets","UT","GMT","EDT","EST","CDT","CST","MDT","MST","PDT","PST","configFromRFC2822","parsedArray","weekdayStr","parsedInput","weekdayProvided","weekdayActual","checkWeekday","obsOffset","militaryOffset","numOffset","hm","calculateOffset","ISO_8601","RFC_2822","skipped","stringLength","totalParsedInputLength","hour","meridiemHour","isPm","prepareConfig","preparse","tempConfig","bestMoment","scoreToBeat","currentScore","score","configFromStringAndArray","createFromInputFallback","configFromString","minute","second","millisecond","configFromObject","configFromInput","isUTC","getOwnPropertyNames","k","isObjectEmpty","add","prototypeMin","other","prototypeMax","pickBy","moments","ordering","Duration","duration","years","quarters","quarter","weeks","days","milliseconds","unitHasDecimal","parseFloat","isDurationValid","_milliseconds","_days","_months","_data","_bubble","isDuration","absRound","round","offset","separator","utcOffset","offsetFromString","chunkOffset","matcher","matches","chunk","parts","cloneWithOffset","model","diff","clone","setTime","local","getDateOffset","getTimezoneOffset","isUtc","aspNetRegex","isoRegex","createDuration","ret","diffRes","base","parseIso","isBefore","positiveMomentsDifference","inp","isAfter","createAdder","direction","period","tmp","addSubtract","isAdding","invalid","subtract","monthDiff","anchor2","adjust","wholeMonthDiff","anchor","newLocaleData","defaultFormat","defaultFormatUtc","lang","addWeekYearFormatToken","getSetWeekYearHelper","weeksTarget","dayOfYearData","isoWeekYear","_dayOfMonthOrdinalParse","_ordinalParse","_dayOfMonthOrdinalParseLenient","getSetDayOfMonth","getSetMinute","getSetSecond","parseMs","getSetMillisecond","proto","preParsePostFormat","time","formats","sod","startOf","calendarFormat","asFloat","that","zoneDelta","endOf","inputString","postformat","withoutSuffix","humanize","fromNow","toNow","invalidAt","localInput","isBetween","inclusivity","isSame","inputMs","isSameOrAfter","isSameOrBefore","parsingFlags","prioritized","unitsObj","u","getPrioritizedUnits","isoWeekday","toArray","toObject","toDate","toISOString","keepOffset","inspect","zone","isLocal","prefix","suffix","toJSON","unix","creationData","isoWeek","isoWeeks","weekInfo","isoWeeksInYear","parseWeekday","parseIsoWeekday","keepLocalTime","keepMinutes","localAdjust","_changeInProgress","parseZone","tZone","hasAlignedHourOffset","isDST","isUtcOffset","zoneAbbr","zoneName","dates","isDSTShifted","_isDSTShifted","proto$1","get$1","index","field","setter","listMonthsImpl","out","listWeekdaysImpl","localeSorted","shift","_calendar","_longDateFormat","formatUpper","toUpperCase","_invalidDate","_ordinal","isFuture","_relativeTime","pastFuture","source","isFormat","_monthsShort","monthName","_monthsParseExact","ii","llc","toLocaleLowerCase","_monthsParse","_longMonthsParse","_shortMonthsParse","firstDayOfYear","firstDayOfWeek","_weekdays","_weekdaysMin","_weekdaysShort","weekdayName","_weekdaysParseExact","_weekdaysParse","_shortWeekdaysParse","_minWeekdaysParse","_fullWeekdaysParse","charAt","isLower","langData","mathAbs","addSubtract$1","absCeil","daysToMonths","monthsToDays","makeAs","alias","as","asMilliseconds","asSeconds","asMinutes","asHours","asDays","asWeeks","asMonths","asYears","makeGetter","thresholds","abs$1","toISOString$1","Y","D","toFixed","total","totalSign","ymSign","daysSign","hmsSign","proto$2","monthsFromDays","withSuffix","posNegDuration","relativeTime$1","toIsoString","version","updateLocale","tmpLocale","relativeTimeRounding","roundingFunction","relativeTimeThreshold","threshold","limit","myMoment","HTML5_FMT","DATETIME_LOCAL","DATETIME_LOCAL_SECONDS","DATETIME_LOCAL_MS","TIME","TIME_SECONDS","TIME_MS","each","cb","ascending","bisector","compare","f","left","lo","hi","mid","right","ascendingBisect","bisectRight","bisectLeft","bisect","pairs","pair","cross","values0","values1","reduce","i0","i1","value0","n0","n1","descending","variance","valueof","delta","mean","sum","deviation","v","sqrt","src_extent","array_array","constant","identity","src_range","start","stop","step","range","e10","e5","e2","ticks","count","reverse","tickIncrement","power","log","LN10","error","tickStep","step0","step1","sturges","LN2","src_histogram","domain","histogram","xz","x0","x1","tz","pop","bin","bins","_","quantile","freedmanDiaconis","scott","src_max","src_mean","median","numbers","src_merge","arrays","merged","src_min","permute","indexes","permutes","scan","xi","xj","shuffle","random","src_sum","src_transpose","matrix","transpose_length","transpose","row","zip","array_slice","src_identity","axis_top","axis_right","axis_bottom","axis_left","epsilon","translateX","translateY","entering","__axis","axis_axis","orient","scale","tickArguments","tickValues","tickFormat","tickSizeInner","tickSizeOuter","tickPadding","transform","axis","context","spacing","range0","range1","position","bandwidth","copy","selection","path","selectAll","tick","order","tickExit","exit","tickEnter","enter","append","attr","line","select","text","merge","insert","transition","getAttribute","parentNode","remove","filter","tickSize","axisTop","axisRight","axisBottom","axisLeft","noop","dispatch","Dispatch","type","concat","constructor","on","typename","types","T","trim","src_dispatch","xhtml","namespaces","svg","xlink","xml","xmlns","namespace","space","creator","fullname","ownerDocument","createElementNS","document","uri","namespaceURI","documentElement","createElement","none","src_selector","selector","querySelector","selectorAll_empty","selectorAll","querySelectorAll","matcher_element","vendorMatches","webkitMatchesSelector","msMatchesSelector","mozMatchesSelector","oMatchesSelector","src_matcher","sparse","update","EnterNode","parent","datum","_next","_parent","__data__","appendChild","child","insertBefore","keyPrefix","bindIndex","group","node","groupLength","dataLength","bindKey","keyValue","nodeByKeyValue","keyValues","sort_ascending","src_window","defaultView","styleValue","style","getPropertyValue","getComputedStyle","classArray","classList","ClassList","_node","_names","classedAdd","list","classedRemove","setAttribute","splice","contains","textRemove","textContent","htmlRemove","innerHTML","raise","nextSibling","lower","previousSibling","firstChild","constantNull","removeChild","selection_cloneShallow","cloneNode","selection_cloneDeep","filterEvents","on_event","mouseenter","mouseleave","filterContextListener","listener","contextListener","event","related","relatedTarget","compareDocumentPosition","event1","event0","onRemove","__on","removeEventListener","capture","onAdd","wrap","addEventListener","customEvent","sourceEvent","dispatchEvent","params","CustomEvent","createEvent","initEvent","bubbles","cancelable","detail","selection_root","Selection","groups","parents","_groups","_parents","selection_selection","subgroups","subnode","subgroup","size","bind","enterGroup","updateGroup","previous","_enter","_exit","groups0","groups1","m0","m1","merges","group0","group1","compareNode","sortgroups","sortgroup","nodes","getAttributeNS","removeAttributeNS","removeAttribute","setAttributeNS","removeProperty","setProperty","classed","html","create","before","deep","typenames","on_parseTypenames","src_selection","src_select","src_create","nextId","Local","id","current","src_point","ownerSVGElement","createSVGPoint","point","clientX","clientY","matrixTransform","getScreenCTM","inverse","rect","getBoundingClientRect","clientLeft","top","clientTop","mouse","changedTouches","src_selectAll","src_touch","touches","identifier","touch","src_touches","points","nopropagation","stopImmediatePropagation","noevent","preventDefault","nodrag","view","__noselect","MozUserSelect","yesdrag","noclick","setTimeout","d3_drag_src_constant","DragEvent","target","subject","active","dx","dy","defaultFilter","button","defaultContainer","defaultSubject","defaultTouchable","src_drag","mousedownx","mousedowny","mousemoving","touchending","container","touchable","gestures","listeners","clickDistance2","drag","mousedowned","touchstarted","touchmoved","touchended","gesture","beforestart","mousemoved","mouseupped","clearTimeout","sublisteners","p0","clickDistance","definition","Color","reI","reN","reP","reHex3","reHex6","reRgbInteger","reRgbPercent","reRgbaInteger","reRgbaPercent","reHslPercent","reHslaPercent","named","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","green","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen","color_color","Rgb","rgbn","rgba","hsla","g","rgbConvert","rgb","opacity","color_rgb","hex","Hsl","hsl","hslConvert","hsl2rgb","m2","displayable","brighter","darker","deg2rad","PI","rad2deg","Xn","Yn","Zn","lab_t0","lab_t1","lab_t2","t3","labConvert","Lab","Hcl","cos","sin","z","rgb2lrgb","xyz2lab","lab","lab2xyz","lrgb2rgb","hclConvert","atan2","lch","hcl","C","cubehelix_D","cubehelix_E","ED","EB","BC_DA","cubehelix_cubehelix","Cubehelix","bl","cubehelixConvert","basis","t1","v0","v1","v2","v3","t2","cosh","sinh","src_basis","basisClosed","d3_interpolate_src_constant","linear","color_hue","gamma","nogamma","exponential","src_rgb","rgbGamma","color","end","rgbSpline","spline","colors","rgbBasis","rgbBasisClosed","src_array","nb","na","src_value","src_date","src_number","src_object","reA","reB","cssNode","cssRoot","cssView","svgNode","src_string","am","bm","bs","bi","q","one","string_zero","src_round","degrees","decompose_identity","rotate","skewX","scaleX","scaleY","decompose","atan","interpolateTransform","parse","pxComma","pxParen","degParen","xa","ya","xb","yb","translate","interpolateTransformCss","interpolateTransformSvg","baseVal","consolidate","rho","SQRT2","zoom_cosh","exp","src_zoom","S","ux0","uy0","w0","ux1","uy1","w1","d2","d1","b0","b1","r0","r1","coshr0","zoom_sinh","hsl_hsl","hue","src_hsl","hslLong","lab_lab","hcl_hcl","src_hcl","hclLong","src_cubehelix_cubehelix","cubehelixGamma","cubehelix","src_cubehelix","cubehelixLong","piecewise_piecewise","interpolate","I","taskHead","taskTail","quantize","interpolator","samples","timer_frame","timeout","timer_interval","pokeDelay","clockLast","clockNow","clockSkew","clock","performance","setFrame","requestAnimationFrame","clearNow","Timer","_call","_time","timer","delay","restart","timerFlush","wake","t0","Infinity","sleep","nap","poke","clearInterval","setInterval","TypeError","src_timeout","elapsed","src_interval","emptyOn","emptyTween","CREATED","SCHEDULED","STARTING","STARTED","RUNNING","ENDING","ENDED","transition_schedule","timing","schedules","__transition","self","tween","state","ease","schedule_create","schedule_init","schedule","schedule_get","schedule_set","interrupt","tweenValue","_id","transition_interpolate","selection_Selection","transition_id","Transition","_name","src_transition_transition","newId","selection_prototype","linear_linear","quadIn","quadOut","quadInOut","cubicIn","cubicOut","cubicInOut","children","inherit","id0","id1","on0","on1","sit","every","on_start","onFunction","attrTween","value00","value10","interpolate0","value1","_value","styleTween","style_styleRemove","styleRemoveEnd","style_styleFunction","style_styleConstant","text_textFunction","text_textConstant","tween0","tween1","easeConstant","polyIn","custom","exponent","polyOut","polyInOut","pi","halfPi","sinIn","sinOut","sinInOut","expIn","expOut","expInOut","circleIn","circleOut","circleInOut","bounce_b1","b2","b3","b4","b5","b6","b7","b8","b9","bounce_b0","bounceIn","bounceOut","bounceInOut","backIn","overshoot","backOut","backInOut","tau","elasticIn","asin","amplitude","elasticOut","elasticInOut","defaultTiming","transition_inherit","active_root","src_active","d3_brush_src_constant","src_event","noevent_nopropagation","src_noevent","MODE_DRAG","MODE_SPACE","MODE_HANDLE","MODE_CENTER","brush_X","handles","brush_type","xy","brush_Y","XY","cursors","overlay","nw","ne","se","sw","flipX","flipY","signsX","signsY","brush_defaultFilter","defaultExtent","width","height","brush_local","__brush","brush_empty","extent","brushSelection","dim","brushX","brush_brush","brushY","src_brush","brush","handleSize","initialize","handle","redraw","started","emitter","Emitter","e0","e1","s0","s1","moving","lockX","lockY","mode","metaKey","altKey","signX","signY","N","shifting","shiftKey","point0","emit","moved","ended","keyCode","move","point1","selection0","selection1","starting","math_pi","math_halfPi","math_tau","math_max","src_chord","padAngle","sortGroups","sortSubgroups","sortChords","chord","groupSums","groupIndex","subgroupIndex","chords","di","dj","a0","a1","subindex","startAngle","endAngle","src_array_slice","d3_chord_src_constant","path_pi","path_tau","tauEpsilon","Path","_x0","_y0","_x1","_y1","path_path","moveTo","closePath","lineTo","quadraticCurveTo","y1","bezierCurveTo","x2","y2","arcTo","y0","x21","y21","x01","y01","l01_2","x20","y20","l21_2","l20_2","l21","l01","acos","t01","t21","arc","ccw","cw","da","src_path","defaultSource","defaultTarget","defaultRadius","radius","defaultStartAngle","defaultEndAngle","src_ribbon","ribbon","buffer","argv","sr","sa0","sa1","sx0","sy0","tr","ta0","ta1","Map","map_map","has","clear","entries","src_map","src_nest","sortValues","rollup","nest","sortKeys","depth","createResult","setResult","valuesByKey","createObject","setObject","createMap","setMap","sortKey","Set","set_set","src_set","src_keys","src_values","src_entries","d3_contour_src_array_slice","src_ascending","src_area","ring","area","d3_contour_src_constant","hole","ringContains","yi","pj","yj","segmentContains","collinear","src_noop","cases","src_contours","smooth","smoothLinear","contours","contour","polygons","holes","fragmentByStart","fragmentByEnd","stitch","startIndex","endIndex","unshift","isorings","polygon","coordinates","xt","yt","_0","_1","blurX","blurY","defaultX","defaultY","src_density","density","Float32Array","geometry","transformPolygon","transformRing","transformPoint","resize","cellSize","EOL","EOF","QUOTE","NEWLINE","RETURN","objectConverter","columns","JSON","stringify","dsv","delimiter","reFormat","DELIMITER","charCodeAt","parseRows","rows","eof","eol","formatRow","formatValue","convert","customConverter","columnSet","column","inferColumns","formatRows","csv","csvParse","csvParseRows","csvFormat","csvFormatRows","tsv","tsvParse","tsvParseRows","tsvFormat","tsvFormatRows","responseBlob","response","ok","status","statusText","blob","init","fetch","then","responseArrayBuffer","arrayBuffer","src_buffer","responseText","src_text","dsvParse","dsv_dsv","dsv_csv","dsv_tsv","src_image","Promise","resolve","reject","image","Image","onerror","onload","src","responseJson","json","parser","DOMParser","parseFromString","xml_html","src_center","force","sx","sy","d3_force_src_constant","jiggle","add_add","tree","xm","ym","xp","yp","bottom","_root","leaf","_x","_y","src_quad","x_defaultX","y_defaultY","quadtree","Quadtree","addAll","leaf_copy","treeProto","collide_x","vx","collide_y","vy","cover","yz","visit","find","x3","y3","quads","retainer","removeAll","visitAfter","collide","radii","strength","iterations","ri","ri2","prepare","quad","rj","link_index","link_find","nodeById","nodeId","src_link","links","strengths","distances","bias","link","distance","alpha","initializeStrength","initializeDistance","simulation_x","simulation_y","initialRadius","initialAngle","src_simulation","simulation","alphaMin","alphaDecay","alphaTarget","velocityDecay","forces","stepper","fx","fy","initializeNodes","angle","initializeForce","closest","manyBody","distanceMin2","distanceMax2","theta2","accumulate","weight","distanceMin","distanceMax","theta","radial","radiuses","d3_force_src_x","d3_force_src_y","formatDecimal","toExponential","coefficient","src_exponent","re","formatSpecifier","specifier","FormatSpecifier","fill","align","symbol","zero","comma","precision","prefixExponent","defaultLocale_locale","defaultLocale_format","defaultLocale_formatPrefix","formatTrim","formatRounded","formatTypes","%","toPrecision","X","d3_format_src_identity","prefixes","src_locale","grouping","thousands","substring","currency","decimal","numerals","formatNumerals","percent","newFormat","formatType","maybeSuffix","valuePrefix","valueSuffix","valueNegative","padding","formatPrefix","defaultLocale","precisionFixed","precisionPrefix","precisionRound","adder","Adder","reset","adder_add","bv","av","math_epsilon","src_math_pi","src_math_halfPi","quarterPi","src_math_tau","math_degrees","radians","math_cos","math_sin","math_sign","haversin","noop_noop","streamGeometry","stream","streamGeometryType","streamObjectType","Feature","FeatureCollection","features","Sphere","sphere","Point","MultiPoint","LineString","streamLine","MultiLineString","Polygon","streamPolygon","MultiPolygon","GeometryCollection","geometries","closed","coordinate","lineStart","lineEnd","polygonStart","polygonEnd","area_lambda00","phi00","area_lambda0","area_cosPhi0","area_sinPhi0","src_stream","areaRingSum","areaSum","areaStream","areaRingStart","areaRingEnd","areaRing","areaPointFirst","areaPoint","lambda","phi","dLambda","sdLambda","adLambda","cosPhi","sinPhi","d3_geo_src_area","cartesian_spherical","cartesian","cartesian_cartesian","spherical","cartesianDot","cartesianCross","cartesianAddInPlace","cartesianScale","vector","cartesianNormalizeInPlace","bounds_lambda0","bounds_phi0","bounds_lambda1","bounds_phi1","bounds_lambda2","bounds_lambda00","bounds_phi00","bounds_p0","ranges","bounds_range","deltaSum","boundsStream","boundsPoint","boundsLineStart","boundsLineEnd","boundsRingPoint","boundsRingStart","boundsRingEnd","bounds_linePoint","normal","inflection","phii","lambdai","antimeridian","bounds_angle","lambda0","lambda1","rangeCompare","rangeContains","W0","W1","centroid_X0","centroid_Y0","Z0","centroid_X1","centroid_Y1","Z1","X2","Y2","Z2","centroid_lambda00","centroid_phi00","centroid_x0","centroid_y0","z0","bounds","feature","deltaMax","centroidStream","centroidPoint","centroidLineStart","centroidLineEnd","centroidRingStart","centroidRingEnd","centroidPointCartesian","centroidLinePointFirst","centroidLinePoint","centroidRingPointFirst","centroidRingPoint","cx","cy","cz","src_centroid","d3_geo_src_constant","compose","invert","rotationIdentity","rotateRadians","deltaLambda","deltaPhi","deltaGamma","rotationLambda","rotationPhiGamma","forwardRotationLambda","rotation","cosDeltaPhi","sinDeltaPhi","cosDeltaGamma","sinDeltaGamma","src_rotation","forward","circleStream","cosRadius","sinRadius","circleRadius","src_circle","center","circle","clip_buffer","lines","rejoin","pointEqual","Intersection","entry","segments","compareIntersection","startInside","clip","segment","rejoin_link","isSubject","polygonContains_sum","polygonContains","winding","phi0","sinPhi0","cosPhi0","sinPhi1","cosPhi1","phi1","absDelta","intersection","phiArc","src_clip","pointVisible","clipLine","sink","ringBuffer","ringSink","polygonStarted","pointRing","ringStart","ringEnd","clip_compareIntersection","pointLine","clean","ringSegments","validSegment","clip_antimeridian","sign0","sign1","sinLambda0Lambda1","clipAntimeridianIntersect","clip_circle","cr","smallRadius","notHemisphere","visible","intersect","two","n2","n2n2","n1n2","determinant","c1","c2","n1xn2","A","uu","polar","q1","code","c0","v00","point2","clip_line","ax","ay","clipMax","clipMin","clipRectangle","corner","comparePoint","ca","x__","y__","v__","x_","y_","v_","first","activeStream","bufferStream","clipStream","linePoint","polygonInside","cleanInside","length_lambda0","length_sinPhi0","length_cosPhi0","clip_extent","cache","cacheStream","lengthSum","lengthStream","lengthPointFirst","lengthLineEnd","lengthPoint","cosDelta","src_length","distance_coordinates","distance_object","src_distance","containsObjectType","containsGeometry","containsGeometryType","containsPoint","containsLine","containsPolygon","ab","ringRadians","pointRadians","src_contains","graticuleX","graticuleY","graticule_graticule","X1","X0","Y1","Y0","DX","DY","graticule","outline","extentMajor","extentMinor","stepMajor","stepMinor","graticule10","area_x00","area_y00","area_x0","area_y0","src_interpolate","cy0","cy1","sy1","kx0","ky0","kx1","ky1","B","d3_geo_src_identity","area_areaSum","area_areaRingSum","area_areaStream","area_areaRingStart","area_areaRingEnd","area_areaPointFirst","area_areaPoint","path_area","bounds_x0","bounds_y0","bounds_x1","bounds_y1","centroid_x00","centroid_y00","path_centroid_x0","path_centroid_y0","path_bounds","path_centroid_X0","path_centroid_Y0","centroid_Z0","path_centroid_X1","path_centroid_Y1","centroid_Z1","centroid_X2","centroid_Y2","centroid_Z2","centroid_centroidStream","centroid_centroidPoint","centroid_centroidLineStart","centroid_centroidLineEnd","centroid_centroidRingStart","centroid_centroidRingEnd","centroid","centroidPointFirstLine","centroidPointLine","centroidPointFirstRing","centroidPointRing","path_centroid","PathContext","_context","_radius","pointRadius","_line","_point","lengthRing","measure_x00","measure_y00","measure_x0","measure_y0","measure_lengthSum","measure_lengthStream","measure_lengthPointFirst","measure_lengthPoint","measure","PathString","_string","string_circle","_circle","d3_geo_src_path","projection","projectionStream","contextStream","src_transform","methods","transformer","TransformStream","fit","fitBounds","clipExtent","fitExtent","fitSize","fitWidth","fitHeight","maxDepth","cosMinDistance","resample","project","delta2","resampleLineTo","phi2","lambda2","dx2","dy2","dz","lambda00","x00","y00","a00","b00","c00","resampleStream","ringPoint","resample_resample","resampleNone","transformRadians","scaleTranslateRotate","cosAlpha","sinAlpha","ai","ci","fi","projection_projection","projectionMutator","projectAt","projectResample","projectTransform","projectRotateTransform","preclip","postclip","recenter","transformRotate","clipAngle","conicProjection","parallels","conicEqualAreaRaw","cylindricalEqualAreaRaw","r0y","conicEqualArea","albers","projection_albersUsa","lower48Point","alaskaPoint","hawaiiPoint","lower48","alaska","hawaii","pointStream","albersUsa","streams","azimuthalRaw","azimuthalInvert","sc","cc","azimuthalEqualAreaRaw","cxcy","azimuthalEqualArea","azimuthalEquidistantRaw","azimuthalEquidistant","mercatorRaw","mercator","mercatorProjection","reclip","tany","conicConformalRaw","conicConformal","equirectangularRaw","equirectangular","conicEquidistantRaw","gy","nx","conicEquidistant","gnomonicRaw","gnomonic","identity_scaleTranslate","kx","ky","tx","ty","projection_identity","reflectX","reflectY","naturalEarth1Raw","phi4","naturalEarth1","orthographicRaw","orthographic","stereographicRaw","stereographic","transverseMercatorRaw","transverseMercator","defaultSeparation","meanXReduce","maxYReduce","cluster","separation","nodeSize","previousNode","eachAfter","meanX","maxY","leafLeft","leafRight","count_count","hierarchy","childs","Node","valued","defaultChildren","eachBefore","computeHeight","copyData","ancestor","aNodes","ancestors","bNodes","leastCommonAncestor","descendants","leaves","d3_hierarchy_src_array_slice","enclose","circles","array_shuffle","enclosesWeak","encloseBasis","extendBasis","enclosesWeakAll","enclosesNot","encloseBasis2","encloseBasis3","dr","r2","r21","r3","a2","a3","c3","d3","place","intersects","siblings_Node","packEnclose","aa","sj","sk","pack","siblings","required","constantZero","d3_hierarchy_src_constant","pack_defaultRadius","src_pack","radiusLeaf","packChildren","translateChild","treemap_round","dice","src_partition","partition","positionNode","stratify_keyPrefix","preroot","ambiguous","defaultId","defaultParentId","parentId","src_stratify","stratify","nodeKey","nodeByKey","tree_defaultSeparation","nextLeft","nextRight","moveSubtree","wm","wp","change","nextAncestor","vim","TreeNode","src_tree","treeRoot","firstWalk","secondWalk","sizeNode","executeShifts","midpoint","vip","vop","vom","sip","sop","sim","som","apportion","treemap_slice","squarify_phi","squarifyRatio","ratio","nodeValue","sumValue","minValue","maxValue","newRatio","minRatio","beta","squarify","src_treemap","tile","paddingStack","paddingInner","paddingTop","paddingRight","paddingBottom","paddingLeft","treemap","paddingOuter","binary","sums","valueOffset","valueTarget","valueLeft","valueRight","xk","yk","sliceDice","treemap_resquarify","resquarify","_squarify","d3_polygon_src_area","d3_polygon_src_centroid","src_cross","lexicographicOrder","computeUpperHullIndexes","hull","sortedPoints","flippedPoints","upperIndexes","lowerIndexes","skipLeft","skipRight","d3_polygon_src_contains","inside","d3_polygon_src_length","perimeter","src_defaultSource","uniform","sourceRandomUniform","randomUniform","src_normal","sourceRandomNormal","randomNormal","mu","sigma","logNormal","sourceRandomLogNormal","randomLogNormal","irwinHall","sourceRandomIrwinHall","randomIrwinHall","bates","sourceRandomBates","randomBates","src_exponential","sourceRandomExponential","randomExponential","d3_scale_src_array_array","array_map","d3_scale_src_array_slice","implicit","unknown","band","ordinalRange","rescale","rangeRound","band_point","pointish","d3_scale_src_constant","d3_scale_src_number","deinterpolateLinear","bimap","deinterpolate","reinterpolate","d0","polymap","clamp","continuous","piecewise","deinterpolateClamp","reinterpolateClamp","src_tickFormat","linearish","nice","src_linear_linear","identity_identity","interval","log_deinterpolate","log_reinterpolate","pow10","powp","logp","log10","log2","reflect","log_log","logs","pows","pow_raise","pow_pow","pow_sqrt","quantile_quantile","invertExtent","quantiles","quantize_quantize","threshold_threshold","interval_t0","interval_t1","newInterval","floori","offseti","millisecond_millisecond","src_millisecond","durationMinute","durationWeek","second_second","getUTCSeconds","src_second","minute_minute","getMinutes","src_minute","hour_hour","getHours","src_hour","day_day","setHours","setDate","src_day","sunday","monday","tuesday","wednesday","thursday","friday","saturday","sundays","mondays","tuesdays","wednesdays","thursdays","fridays","saturdays","month_month","src_month","year_year","src_year","utcMinute","setUTCSeconds","src_utcMinute","utcMinutes","utcHour","getUTCHours","src_utcHour","utcHours","utcDay","setUTCHours","setUTCDate","src_utcDay","utcDays","utcWeekday","utcSunday","utcMonday","utcTuesday","utcWednesday","utcThursday","utcFriday","utcSaturday","utcSundays","utcMondays","utcTuesdays","utcWednesdays","utcThursdays","utcFridays","utcSaturdays","utcMonth","setUTCMonth","src_utcMonth","utcMonths","utcYear","src_utcYear","utcYears","localDate","H","utcDate","newYear","formatLocale","locale_dateTime","dateTime","locale_date","locale_time","locale_periods","periods","locale_weekdays","locale_shortWeekdays","shortDays","locale_months","locale_shortMonths","shortMonths","periodRe","formatRe","periodLookup","formatLookup","weekdayRe","weekdayLookup","shortWeekdayRe","shortWeekdayLookup","monthRe","monthLookup","shortMonthRe","shortMonthLookup","formatDayOfMonth","formatMicroseconds","formatHour24","formatHour12","formatDayOfYear","formatMilliseconds","formatMonthNumber","formatMinutes","Q","formatUnixTimestamp","formatUnixTimestampSeconds","formatSeconds","formatWeekdayNumberMonday","U","formatWeekNumberSunday","V","formatWeekNumberISO","formatWeekdayNumberSunday","formatWeekNumberMonday","locale_formatYear","formatFullYear","Z","formatZone","formatLiteralPercent","utcFormats","formatUTCDayOfMonth","formatUTCMicroseconds","formatUTCHour24","formatUTCHour12","formatUTCDayOfYear","formatUTCMilliseconds","formatUTCMonthNumber","formatUTCMinutes","formatUTCSeconds","formatUTCWeekdayNumberMonday","formatUTCWeekNumberSunday","formatUTCWeekNumberISO","formatUTCWeekdayNumberSunday","formatUTCWeekNumberMonday","formatUTCYear","formatUTCFullYear","formatUTCZone","parses","parseSpecifier","parseDayOfMonth","parseMicroseconds","parseHour24","parseDayOfYear","parseMilliseconds","parseMonthNumber","parseMinutes","parseUnixTimestamp","parseUnixTimestampSeconds","parseSeconds","parseWeekdayNumberMonday","parseWeekNumberSunday","parseWeekNumberISO","parseWeekdayNumberSunday","parseWeekNumberMonday","parseYear","parseFullYear","parseLiteralPercent","pad","pads","newParse","newDate","utcFormat","utcParse","src_defaultLocale_locale","timeParse","-","0","numberRe","percentRe","requoteRe","requote","getMilliseconds","getSeconds","getUTCMilliseconds","defaultLocale_defaultLocale","isoFormat","isoParse","time_durationSecond","time_durationMinute","time_durationHour","time_durationDay","time_durationWeek","durationMonth","durationYear","time_date","time_number","formatMillisecond","formatSecond","formatMinute","formatHour","formatDay","formatWeek","formatMonth","formatYear","tickIntervals","tickInterval","src_time","utcTime","sequential","src_colors","category10","Accent","Dark2","Paired","Pastel1","Pastel2","Set1","Set2","Set3","ramp","scheme","BrBG_scheme","BrBG","PRGn_scheme","PRGn","PiYG_scheme","PiYG","PuOr_scheme","PuOr","RdBu_scheme","RdBu","RdGy_scheme","RdGy","RdYlBu_scheme","RdYlBu","RdYlGn_scheme","RdYlGn","Spectral_scheme","Spectral","BuGn_scheme","BuGn","BuPu_scheme","BuPu","GnBu_scheme","GnBu","OrRd_scheme","OrRd","PuBuGn_scheme","PuBuGn","PuBu_scheme","PuBu","PuRd_scheme","PuRd","RdPu_scheme","RdPu","YlGnBu_scheme","YlGnBu","YlGn_scheme","YlGn","YlOrBr_scheme","YlOrBr","YlOrRd_scheme","YlOrRd","Blues_scheme","Blues","Greens_scheme","Greens","Greys_scheme","Greys","Purples_scheme","Purples","Reds_scheme","Reds","Oranges_scheme","Oranges","sequential_multi_cubehelix","warm","cool","rainbow_c","rainbow","ts","sinebow_c","pi_1_3","pi_2_3","sinebow","viridis_ramp","viridis","magma","inferno","plasma","d3_shape_src_constant","math_abs","math_atan2","src_math_cos","src_math_max","math_min","src_math_sin","math_sqrt","src_math_epsilon","d3_shape_src_math_pi","d3_shape_src_math_halfPi","d3_shape_src_math_tau","math_asin","arcInnerRadius","innerRadius","arcOuterRadius","outerRadius","arcStartAngle","arcEndAngle","arcPadAngle","cornerTangents","rc","ox","oy","x11","y11","x10","y10","cx0","cx1","dx0","dy0","dx1","dy1","src_arc","cornerRadius","padRadius","a01","a11","a10","da0","da1","ap","rp","rc0","rc1","oc","x32","y32","arc_intersect","bx","by","kc","lc","Linear","areaStart","areaEnd","curve_linear","point_x","point_y","src_line","defined","curve","defined0","d3_shape_src_area","x0z","y0z","arealine","lineX0","lineY0","lineY1","lineX1","src_descending","d3_shape_src_identity","src_pie","pie","arcs","pa","curveRadialLinear","curveRadial","Radial","_curve","lineRadial","src_lineRadial","areaRadial","lineStartAngle","lineEndAngle","lineInnerRadius","lineOuterRadius","pointRadial","d3_shape_src_array_slice","linkSource","linkTarget","link_link","curveHorizontal","curveVertical","link_curveRadial","linkHorizontal","linkVertical","linkRadial","symbol_circle","draw","symbol_cross","tan30","tan30_2","diamond","kr","star_kx","star_ky","star","square","sqrt3","triangle","wye_s","wye_k","wye_a","wye","symbols","src_symbol","d3_shape_src_noop","basis_point","Basis","curve_basis","BasisClosed","_x2","_x3","_x4","_y2","_y3","_y4","curve_basisClosed","BasisOpen","basisOpen","Bundle","_basis","_beta","curve_bundle","bundle","cardinal_point","_k","Cardinal","tension","cardinal","CardinalClosed","_x5","_y5","cardinalClosed","CardinalOpen","cardinalOpen","catmullRom_point","_l01_a","_l01_2a","_l12_a","_l12_2a","_l23_a","_l23_2a","CatmullRom","_alpha","x23","y23","curve_catmullRom","catmullRom","CatmullRomClosed","catmullRomClosed","CatmullRomOpen","catmullRomOpen","LinearClosed","linearClosed","monotone_sign","slope3","h0","h1","slope2","monotone_point","MonotoneX","MonotoneY","ReflectContext","monotoneX","monotoneY","Natural","controlPoints","_t0","px","py","natural","Step","_t","curve_step","stepBefore","stepAfter","offset_none","series","order_none","stackValue","src_stack","oz","kz","sz","sij","ki","si","expand","diverging","yn","silhouette","wiggle","s2","sij0","s3","order_ascending","ascending_sum","order_descending","insideOut","tops","bottoms","order_reverse","d3_voronoi_src_constant","src_point_x","src_point_y","RedBlackTree","RedBlackNode","R","P","RedBlackRotateLeft","RedBlackRotateRight","RedBlackFirst","after","grandpa","uncle","sibling","src_RedBlackTree","createEdge","edge","Diagram_edges","setEdgeEnd","cells","halfedges","createBorderEdge","vertex","clipEdge","connectEdge","fm","fb","lx","ly","rx","ry","cellHalfedgeAngle","cell","site","va","vb","cellHalfedgeStart","cellHalfedgeEnd","firstCircle","circlePool","attachCircle","lArc","rArc","lSite","cSite","rSite","Diagram_epsilon2","ha","hc","Diagram_circles","detachCircle","beachPool","createBeach","beach","detachBeach","beaches","removeBeach","disappearing","Diagram_epsilon","iArc","nArcs","addBeach","dxl","dxr","directrix","leftBreakPoint","rightBreakPoint","createCell","newArc","hb","rfocx","rfocy","pby2","lfocx","lfocy","plby2","hl","aby2","lexicographic","Diagram","sites","sortCellHalfedges","clipEdges","iCell","iHalfedge","nHalfedges","startX","startY","endX","endY","nCells","dc","v01","v11","v10","clipCells","edges","triangles","_found","src_voronoi","voronoi","d3_zoom_src_constant","Transform","applyX","applyY","location","invertX","invertY","rescaleX","rescaleY","transform_identity","transform_transform","__zoom","src_noevent_nopropagation","d3_zoom_src_noevent","zoom_defaultFilter","zoom_defaultExtent","SVGElement","clientWidth","clientHeight","defaultTransform","defaultWheelDelta","deltaY","deltaMode","zoom_defaultTouchable","defaultConstrain","translateExtent","d3_zoom_src_zoom","touchstarting","constrain","wheelDelta","scaleExtent","touchDelay","wheelDelay","zoom","wheeled","dblclicked","Gesture","wheel","k1","touch0","touch1","l0","l1","dp","dl","collection","scaleBy","scaleTo","translateBy","translateTo","prettyNumber","sciNo","Number","suffixes","String","recurse","iteration","rhs","numNumerals","escapeHtml","escape","str","matchHtmlRegExp","textWrap","words","word","lineNumber","tspan","getComputedTextLength","testObject","testString","_typeof","stripHtmlTags","appendColumn","appendRow","_createNullList","_each","label","_createNullList2","default","newRow","col","selectColumn","moment","ll","lll","llll","monthsParseExact","weekdaysParseExact","relativeTimeWithPlural","num","forms","processHoursFunction","standalone","nominative","accusative","genitive","nounCase","processRelativeTime","1","5","8","70","80","2","7","20","50","3","4","100","6","9","10","30","60","90","numbersNouns","numberNoun","hundred","ten","numberAsNoun","12","13","40","symbolMap","numberMap","௧","௨","௩","௪","௫","௬","௭","௮","௯","௦","translator","correctGrammaticalCase","wordKey","plural","longMonthsParse","shortMonthsParse","monthsStrictRegex","monthsShortStrictRegex","monthsNominative","monthsSubjective","momentToFormat","੧","੨","੩","੪","੫","੬","੭","੮","੯","੦","monthsShortWithDots","monthsShortWithoutDots","१","२","३","४","५","६","७","८","९","०","၁","၂","၃","၄","၅","၆","၇","၈","၉","၀","relativeTimeMr","lastDigit","last2Digits","relativeTimeWithSingular","translateSingular","special","eifelerRegelAppliesToNumber","firstDigit","isUpper","೧","೨","೩","೪","೫","೬","೭","೮","೯","೦","១","២","៣","៤","៥","៦","៧","៨","៩","០","weekEndings","૧","૨","૩","૪","૫","૬","૭","૮","૯","૦","numbersPast","numbersFuture","verbalNumber","۱","۲","۳","۴","۵","۶","۷","۸","۹","۰","monthsShortDot","monthsNominativeEl","monthsGenitiveEl","_monthsGenitiveEl","_monthsNominativeEl","calendarEl","_calendarEl","affix","relativeTimeWithMutation","mutationTable","softMutation","mutation","lastNumber","༡","༢","༣","༤","༥","༦","༧","༨","༩","༠","১","২","৩","৪","৫","৬","৭","৮","৯","০","١","٢","٣","٤","٥","٦","٧","٨","٩","٠","pluralForm","plurals","pluralize","extendDeep","Symbol","iterator","ChartInternal","api","$$","getDefaultConfig","axes","Chart","internal","loadConfig","beforeInit","afterInit","bindThis","argThis","AxisInternal","component","scaleLinear","innerTickSize","outerTickSize","withOuterTick","tickOffset","tickCulling","tickCentered","tickTextCharSize","tickTextRotate","tickLength","generateAxis","axisX","axisY","generateTicks","copyScale","newScale","isCategory","textFormatted","formatted","updateRange","rangeExtent","updateTickTextCharSize","box","isVertical","tspanData","splitted","tickMultiline","splitTickText","tickMultilineMax","ellipsify","subtext","spaceIndex","textWidth","tickText","maxWidth","tickWidth","ellipsified","remaining","available","padEnd","updateTickLength","lineY2","tickPosition","textY","textTransform","textTextAnchor","tspanDx","tspanDy","tickTransform","tickX","tickY","scale0","__chart__","scale1","ticksValues","tickUpdate","lineUpdate","textUpdate","tspans","tspanEnter","tspanUpdate","pathUpdate","rangeBand","isCentered","getTotalLength","culling","CLASS","chart","chartLine","chartLines","chartBar","chartBars","chartText","chartTexts","chartArc","chartArcs","chartArcsTitle","chartArcsBackground","chartArcsGaugeUnit","chartArcsGaugeMax","chartArcsGaugeMin","selectedCircle","selectedCircles","eventRect","eventRects","eventRectsSingle","eventRectsMultiple","zoomRect","dragZoom","focused","defocused","region","regions","title","tooltipContainer","tooltip","tooltipName","shape","shapes","bar","bars","arcLabelLine","areas","texts","gaugeValue","grid","gridLines","xgrid","xgrids","xgridLine","xgridLines","xgridFocus","ygrid","ygrids","ygridLine","ygridLines","axisXLabel","axisYLabel","axisY2","axisY2Label","legendBackground","legendItem","legendItemEvent","legendItemTile","legendItemHidden","legendItemFocused","dragarea","EXPANDED","SELECTED","INCLUDED","asHalfPixel","ceil10","diffDomain","getOption","options","defaultValue","isDefined","getPathBox","items","pathSegList","getItem","minX","minY","isEmpty","isString","isValue","notEmpty","sanitise","Axis","owner","instance","Constructor","_classCallCheck","main","axis_x_inner","clipPathForXAxis","getTranslate","axis_x_show","axis_rotated","textAnchorForXAxisLabel","axis_y_inner","clipPathForYAxis","axis_y_show","textAnchorForYAxisLabel","axis_y2_show","textAnchorForY2AxisLabel","getXAxis","withoutTransition","withoutRotateTickText","axisParams","isCategorized","axis_x_tick_multiline","axis_x_tick_multilineMax","axis_x_tick_width","axis_x_tick_rotate","isTimeSeries","parseDate","axis_x_tick_centered","axis_x_tick_culling","updateXAxisTickValues","targets","axis_x_tick_fit","axis_x_tick_count","generateTickValues","mapTargetsToUniqueXs","xAxis","subXAxis","getYAxis","axis_y_tick_rotate","isTimeSeriesY","axis_y_tick_time_type","axis_y_tick_time_interval","getId","data_axes","getXAxisTickFormat","defaultAxisTimeFormat","categoryName","axis_x_tick_format","axisTimeFormat","getTickValues","getXAxisTickValues","axis_x_tick_values","getYAxisTickValues","axis_y_tick_values","yAxis","getY2AxisTickValues","axis_y2_tick_values","y2Axis","getLabelOptionByAxisId","axisId","option","axis_y_label","axis_y2_label","axis_x_label","getLabelText","setLabelText","getLabelPosition","defaultPosition","isInner","isOuter","isLeft","isCenter","isRight","isTop","isMiddle","isBottom","getXAxisLabelPosition","getYAxisLabelPosition","getY2AxisLabelPosition","getLabelPositionById","textForXAxisLabel","textForYAxisLabel","textForY2AxisLabel","xForAxisLabel","forHorizontal","dxForAxisLabel","textAnchorForAxisLabel","xForXAxisLabel","xForYAxisLabel","xForY2AxisLabel","dxForXAxisLabel","dxForYAxisLabel","dxForY2AxisLabel","dyForXAxisLabel","getMaxTickWidth","axis_x_height","dyForYAxisLabel","dyForY2AxisLabel","axis_y2_inner","withoutRecompute","targetsToShow","dummy","currentMaxTickWidths","filterTargetsToShow","getYDomain","yOrient","axis_y_tick_format","yAxisTickValues","y2Orient","axis_y2_tick_format","y2AxisTickValues","getXDomain","xOrient","xAxisTickFormat","xAxisTickValues","updateLabels","withTransition","getPadding","domainLength","convertPixelsToAxisPadding","pixels","tickCount","forTimeSeries","targetCount","tickValue","generateTransitions","axisSubX","subx","isHidden","generate","initParams","data_url","convertUrlToData","data_mimeType","data_headers","data_keys","initWithData","data_json","convertJsonToData","data_rows","convertRowsToData","data_columns","convertColumnsToData","clipId","clipIdForXAxis","clipIdForYAxis","clipIdForGrid","clipIdForSubchart","clipPath","getClipPath","clipPathForGrid","clipPathForSubchart","dragStart","dragging","flowing","cancelClick","mouseover","transiting","generateColor","levelColor","generateLevelColor","dataTimeParse","data_xLocaltime","data_xFormat","axis_x_localtime","hiddenTargetIds","hiddenLegendIds","focusedTargetIds","defocusedTargetIds","subXOrient","isLegendRight","legend_position","isLegendInset","isLegendTop","legend_inset_anchor","isLegendLeft","legendStep","legendItemWidth","legendItemHeight","rotated_padding_left","rotated_padding_right","rotated_padding_top","withoutFadeIn","intervalForObserveInserted","initChartElements","initBar","initLine","initArc","initGauge","initText","defs","binding","bindto","selectChart","observeInserted","xs","convertDataToTargets","data_filter","data_hide","addHiddenTargetIds","mapToIds","legend_hide","addHiddenLegendIds","updateSizes","updateScales","subX","subY","subY2","orgXDomain","onmouseover","onmouseout","svg_classname","clipChart","appendClip","clipXAxis","clipYAxis","clipGrid","clipSubchart","updateSvgSize","initPie","initDragZoom","initSubchart","initTooltip","initLegend","initTitle","initZoom","initSubchartBrush","initRegion","initGrid","grid_lines_front","initGridLines","initEventRect","updateTargets","axis_x_selection","selectionAsValue","getDefaultSelection","updateDimension","oninit","withTransform","withUpdateXDomain","withUpdateOrgXDomain","withTransitionForAxis","bindResize","bindWindowFocus","element","smoothLines","el","legendHeight","legend","getLegendHeight","legendWidth","getLegendWidth","legendHeightForBottom","hasArc","hasArcType","xAxisHeight","getHorizontalAxisHeight","subchartHeight","subchart_show","subchart_size_height","currentWidth","getCurrentWidth","currentHeight","getCurrentHeight","margin","getCurrentPaddingTop","getCurrentPaddingRight","getCurrentPaddingBottom","getCurrentPaddingLeft","margin2","margin3","updateSizeForLegend","width2","height2","arcWidth","arcHeight","hasType","gauge_fullCircle","getGaugeLabelHeight","updateRadius","radiusExpanded","updateTargetsForText","updateTargetsForBar","updateTargetsForLine","updateTargetsForArc","updateTargetsForSubchart","showTargets","isTargetToShow","transition_duration","transitions","withY","withSubchart","withTransitionForExit","withTrimXDomain","withLegend","withEventRect","withDimension","withUpdateXAxis","drawArea","drawBar","drawLine","xForText","yForText","durationForExit","durationForAxis","transitionsToWait","waitForDraw","flow","intervalForCulling","xDomainForZoom","areaIndices","getShapeIndices","isAreaType","barIndices","isBarType","lineIndices","isLineType","hideAxis","xv","legend_show","updateLegend","updateXDomain","zoom_rescale","orgDomain","axis_y_tick_count","axis_y2_tick_count","axis_x_tick_culling_max","generateDrawArea","generateDrawBar","generateDrawLine","generateXYForText","updateCircleY","circleY","circleX","updateXgridFocus","data_empty_label_text","redrawEventRect","updateGrid","updateRegion","updateBar","updateLine","updateArea","updateCircle","hasDataLabel","updateText","redrawTitle","redrawArc","redrawSubchart","generateFlow","isTabVisible","redrawBar","redrawLine","redrawArea","redrawCircle","redrawText","redrawRegion","redrawGrid","generateWait","onrendered","updateAndRedraw","withTransitionForTransform","transformAll","redrawWithoutRescale","axis_x_type","isCustomX","data_x","data_xs","axis_y_type","initialOpacity","initialOpacityForCircle","opacityForCircle","point_show","isScatterType","opacityForText","xx","axis_x_categories","yv","yScale","subxx","transformMain","transformContext","transformLegend","getXAxisClipX","getXAxisClipY","getXAxisClipWidth","getXAxisClipHeight","getYAxisClipX","getYAxisClipY","getYAxisClipWidth","getYAxisClipHeight","withoutAxis","observer","MutationObserver","mutations","disconnect","observe","attributes","childList","characterData","resizeFunction","generateResize","onresize","resize_auto","resizeTimeout","onresized","resizeIfElementDisplayed","offsetParent","attachEvent","wrapper","_this","windowFocusHandler","unbindWindowFocus","resizeFunctions","callResizeFunctions","endall","done","parsedDate","hidden","SVGPathSeg","typeAsLetter","owningPathSegList","pathSegType","pathSegTypeAsLetter","_owningPathSegList","classname","PATHSEG_UNKNOWN","PATHSEG_CLOSEPATH","PATHSEG_MOVETO_ABS","PATHSEG_MOVETO_REL","PATHSEG_LINETO_ABS","PATHSEG_LINETO_REL","PATHSEG_CURVETO_CUBIC_ABS","PATHSEG_CURVETO_CUBIC_REL","PATHSEG_CURVETO_QUADRATIC_ABS","PATHSEG_CURVETO_QUADRATIC_REL","PATHSEG_ARC_ABS","PATHSEG_ARC_REL","PATHSEG_LINETO_HORIZONTAL_ABS","PATHSEG_LINETO_HORIZONTAL_REL","PATHSEG_LINETO_VERTICAL_ABS","PATHSEG_LINETO_VERTICAL_REL","PATHSEG_CURVETO_CUBIC_SMOOTH_ABS","PATHSEG_CURVETO_CUBIC_SMOOTH_REL","PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS","PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL","_segmentChanged","segmentChanged","SVGPathSegClosePath","_asPathString","SVGPathSegMovetoAbs","SVGPathSegMovetoRel","SVGPathSegLinetoAbs","SVGPathSegLinetoRel","SVGPathSegCurvetoCubicAbs","SVGPathSegCurvetoCubicRel","SVGPathSegCurvetoQuadraticAbs","SVGPathSegCurvetoQuadraticRel","SVGPathSegArcAbs","largeArcFlag","sweepFlag","_r1","_r2","_angle","_largeArcFlag","_sweepFlag","SVGPathSegArcRel","SVGPathSegLinetoHorizontalAbs","SVGPathSegLinetoHorizontalRel","SVGPathSegLinetoVerticalAbs","SVGPathSegLinetoVerticalRel","SVGPathSegCurvetoCubicSmoothAbs","SVGPathSegCurvetoCubicSmoothRel","SVGPathSegCurvetoQuadraticSmoothAbs","SVGPathSegCurvetoQuadraticSmoothRel","SVGPathElement","createSVGPathSegClosePath","createSVGPathSegMovetoAbs","createSVGPathSegMovetoRel","createSVGPathSegLinetoAbs","createSVGPathSegLinetoRel","createSVGPathSegCurvetoCubicAbs","createSVGPathSegCurvetoCubicRel","createSVGPathSegCurvetoQuadraticAbs","createSVGPathSegCurvetoQuadraticRel","createSVGPathSegArcAbs","createSVGPathSegArcRel","createSVGPathSegLinetoHorizontalAbs","createSVGPathSegLinetoHorizontalRel","createSVGPathSegLinetoVerticalAbs","createSVGPathSegLinetoVerticalRel","createSVGPathSegCurvetoCubicSmoothAbs","createSVGPathSegCurvetoCubicSmoothRel","createSVGPathSegCurvetoQuadraticSmoothAbs","createSVGPathSegCurvetoQuadraticSmoothRel","getPathSegAtLength","measurementElement","lastPathSegment","numberOfItems","removeItem","SVGPathSegList","pathElement","_pathElement","_list","_parsePath","_mutationObserverConfig","attributeFilter","_pathElementMutationObserver","_updateListFromPathMutations","_checkPathSynchronizedToList","_pathSegList","takeRecords","mutationRecords","hasPathMutations","record","attributeName","_writeListToPath","_pathSegArrayAsString","pathSeg","newItem","_checkValidIndex","insertItemBefore","replaceItem","item","appendItem","pathSegArray","Builder","appendSegment","Source","_currentIndex","_endIndex","_previousCommand","_skipOptionalSpaces","_isCurrentSpace","character","_skipOptionalSpacesOrDelimiter","hasMoreData","peekSegmentType","lookahead","_pathSegTypeFromChar","_nextCommandHelper","previousCommand","initialCommandIsMoveTo","command","_parseNumber","integer","frac","expsign","startIntPartIndex","scanIntPartIndex","multiplier","_parseArcFlag","flag","flagChar","parseSegment","arcAngle","arcLarge","arcSweep","builder","padString","repeat","labels","axis_x_max","axis_y_max","axis_y2_max","axis_x_min","axis_y_min","axis_y2_min","category","categories","size_width","size_height","flush","destroy","detachEvent","targetIds","shown","targetId","clearLegendItemTextBoxCache","updateDataAttributes","baseTarget","baseValue","notfoundIds","orgDataCount","getMaxDataCount","tail","found","getOtherTargetX","missing","mainRegion","mainText","mainBar","mainLine","mainArea","mainCircle","flowIndex","flowLength","flowStart","getValueOnIndex","flowEnd","durationForFlow","wait","updateXGrid","hideXGridFocus","flowTransition","easeLinear","isRegionOnX","xgridAttr","regionX","regionWidth","focus","candidates","mapToTargetIds","selectorTargets","revert","defocus","expandArc","toggleFocusLegend","unexpandArc","showLegend","isLegendToShow","selectorLegends","grids","grid_x_lines","removeGridLines","grid_y_lines","data_groups","show","hide","hideLegend","load","addXs","classes","data_classes","data_colors","hasCaches","cacheIds","getCaches","unload","loadFromArgs","ids","selected","getTargetSelectorSuffix","indices","resetOther","data_selection_enabled","toggle","getToggle","isTargetId","data_selection_grouped","isTargetIndex","isSelected","data_selection_isselectable","unselect","removeHiddenTargetIds","filterByX","getMousePosition","tooltip_onshow","tooltip_onhide","transformTo","optionsForRedraw","setTargetType","updateTargetX","updateTargetXs","zoom_onzoom","enable","enabled","zoom_enabled","unzoom","zoom_x_max","zoom_x_min","orderFct","getOrderFunction","isOrderAsc","isOrderDesc","defaultSort","gauge_width","donut_width","gaugeArcWidth","gauge_arcs_minWidth","innerRadiusRatio","updateArc","svgArc","getSvgArc","svgArcExpanded","getSvgArcExpanded","svgArcExpandedSub","updateAngle","gMin","gMax","gTic","gValue","isGaugeType","gauge_min","gauge_max","gauge_startingAngle","hasGaugeType","singleArcWidth","withoutUpdate","updated","rate","expandWidth","getArc","isArcType","transformForArcLabel","hasGauge","donut_label_ratio","pie_label_ratio","getArcRatio","whole","convertToArcData","addName","textForArcLabel","shouldShowArcLabel","meetsArcLabelThreshold","getArcLabelFormat","defaultArcValueFormat","textForGaugeMinMax","isMax","getGaugeLabelExtents","shouldExpand","expandDuration","isDonutType","donut_expand_duration","gauge_expand_duration","isPieType","pie_expand_duration","donut_expand","gauge_expand","pie_expand","shouldShow","donut_label_show","pie_label_show","donut_label_threshold","pie_label_threshold","pie_label_format","gauge_label_format","donut_label_format","gauge_label_extents","getArcTitle","donut_title","mainPieEnter","classChartArc","classArcs","classFocus","mainArc","arcLabelLines","mainArcLabelLine","arcData","classArc","interaction_enabled","_current","gauge_labelLine_show","lineLength","innerLineLength","lineAngle","linePositioningAngle","data_onmouseover","selectedData","showTooltip","revertLegend","hideTooltip","data_onmouseout","toggleShape","data_onclick","interpolated","backgroundArc","gauge_label_show","gauge_units","addCache","cloneTarget","generateTargetClass","generateClass","classText","classTexts","classShape","classShapes","classLine","classLines","classCircle","classCircles","classBar","classBars","classArea","classAreas","classRegion","classEvent","classTarget","additionalClassSuffix","additionalClass","classFocused","classDefocused","classChartText","classChartLine","classChartBar","selectorTarget","selectorLegend","navigator","appVersion","URL","getAxisClipX","getAxisClipY","getAxisClipWidth","getAxisClipHeight","pattern","color_pattern","schemeCategory10","data_color","color_threshold","asValue","padding_left","padding_right","padding_top","padding_bottom","zoom_initialRange","zoom_type","zoom_disableDefaultBehavior","zoom_privileged","zoom_onzoomstart","zoom_onzoomend","interaction_brighten","data_xSort","data_idConverter","data_names","data_type","data_types","data_labels","data_order","data_regions","data_selection_multiple","data_selection_draggable","data_onselected","data_onunselected","subchart_axis_x_show","subchart_onbrush","legend_inset_x","legend_inset_y","legend_inset_step","legend_item_onclick","legend_item_onmouseover","legend_item_onmouseout","legend_equally","legend_padding","legend_item_tile_width","legend_item_tile_height","axis_x_tick_outer","axis_x_padding","axis_y_inverted","axis_y_center","axis_y_tick_outer","axis_y_padding","axis_y_default","axis_y2_inverted","axis_y2_center","axis_y2_tick_outer","axis_y2_padding","axis_y2_default","grid_x_show","grid_x_type","grid_y_show","grid_y_ticks","grid_focus_show","point_r","point_sensitivity","point_focus_expand_enabled","point_focus_expand_r","point_select_r","line_connectNull","line_step_type","bar_width","bar_width_ratio","bar_width_max","bar_zerobased","bar_space","area_zerobased","area_above","spline_interpolation_type","tooltip_show","tooltip_grouped","tooltip_order","tooltip_format_title","tooltip_format_name","tooltip_format_value","tooltip_position","tooltip_contents","defaultTitleFormat","defaultValueFormat","getTooltipContent","tooltip_init_show","tooltip_init_x","tooltip_init_position","title_text","title_padding","title_position","additionalConfig","read","this_config","url","mimeType","headers","converter","convertXsvToData","catch","xsv","assign","writable","_defineProperty","targetKeys","new_rows","new_row","findValueInJson","pathArray","newRows","appendXs","isNotX","isX","xKey","getXKey","rawX","generateTargetX","getOtherTargetXs","getXValuesOfXKey","convertedId","id_org","hasNegativeValue","hasNegativeValueInTargets","hasPositiveValue","hasPositiveValueInTargets","dict","xValues","getXValue","idsForX","valueOnIndex","hasTarget","removeHiddenLegendIds","getValuesAsIdKeyed","ys","checkValueInTargets","checker","orderAsc","orderDesc","reducer","t1Sum","t2Sum","orderTargets","fct","filterRemoveNull","filterByXDomain","xDomain","getDataLabelLength","lengths","dataLabelFormat","isNoneArc","isArc","findClosestFromTargets","findClosest","minDist","isWithinBar","dist","xIndex","yIndex","convertValuesToStep","converted","attrs","getYDomainMin","baseId","idsInGroup","getYDomainMax","yDomainAbs","isAllPositive","isAllNegative","targetsByAxisId","yTargets","yMin","yMax","yDomainMin","yDomainMax","isZeroBased","isInverted","showHorizontalDataLabel","showVerticalDataLabel","getXDomainMin","getXDomainMax","getXDomainPadding","maxDataCount","firstX","lastX","withTrim","updateScale","trimXDomain","zoomDomain","getZoomDomain","mx","my","maxX","_h","isIncluded","isWithin","togglePoint","togglePath","dragstart","dragend","getYFormat","forArc","formatForY","yFormat","formatForY2","y2Format","xgridData","generateGridData","xgridEnter","updateYGrid","gridValues","ygridEnter","gridTextAnchor","gridTextDx","xGridTextX","yGridTextX","xgridLineEnter","ygridLineEnter","showXGridFocus","dataToShow","focusEl","firstYear","lastYear","gridData","tickNum","getGridFilterToRemove","param","forX","toRemove","toShow","zoomTransform","mouseout","unexpandCircles","unexpandBars","expandCircles","expandBars","isWithinShape","getYScale","initMouseEvent","legendItemTextBox","legendHasRendered","updateLegendWithDefaults","insetLegendPosition","updateLegendStep","updateLegendItemWidth","updateLegendItemHeight","opacityForLegend","opacityForUnfocusedLegend","xForLegend","xForLegendText","xForLegendRect","yForLegend","yForLegendText","yForLegendRect","x1ForLegendTile","x2ForLegendTile","yForLegendTile","rects","tiles","background","maxHeight","posMin","tileWidth","totalLength","offsets","widths","heights","margins","steps","updatePositions","textElement","maxLength","isLast","getTextRect","getTextBox","itemWidth","itemHeight","itemLength","areaLength","updateValues","withoutStep","mainRegionEnter","regionY","regionHeight","getScale","forTimeseries","scaleTime","getX","_scale","raw","getY","getSubYScale","forInit","xMin","xMax","subXMin","subXMax","subYMin","subYMax","selectPoint","pointSelectR","unselectPoint","selectPath","unselectPath","nodeName","isStepType","barData","mainBarEnter","getBarW","barTargetsNum","getBars","isSub","getPoints","generateGetBarPoints","indexX","indexY","__max__","barW","barX","getShapeX","barY","getShapeY","barOffset","getShapeOffset","barSpaceOffset","posX","posY","seg0","seg1","ex","ey","typeFilter","targetsNum","isWithinStep","isWithinCircle","getInterpolate","curveLinear","linear-closed","curveLinearClosed","curveBasis","basis-open","curveBasisOpen","basis-closed","curveBasisClosed","curveBundle","curveCardinal","cardinal-open","curveCardinalOpen","cardinal-closed","curveCardinalClosed","monotone","curveMonotoneX","curveStep","step-before","curveStepBefore","step-after","curveStepAfter","isSplineType","mainLineEnter","lineData","generateGetLinePoints","yScaleGetter","xValue","yValue","lineWithRegions","lineTargetsNum","lineOffset","_regions","sWithRegion","diffx2","xOffset","isWithinRegions","generateM","x_diff","xv0","xv1","mainAreaEnter","orgAreaOpacity","generateGetAreaPoints","getAreaBaseValue","areaTargetsNum","areaOffset","lineOrScatterData","mainCircleEnter","pointR","getCircles","pointExpandedR","d3_this","getParentWidth","getParentHeight","getTitlePadding","getAxisWidthByAxisId","legendWidthOnRight","getParentRectValue","tagName","offsetWidth","getSvgLeft","hasLeftAxisRect","leftAxisClass","leftAxis","svgRect","chartRect","svgLeft","initBrush","redrawForBrush","updateExtent","visibility","contextLineEnter","contextLine","contextBarEnter","contextBar","updateBarForSubchart","redrawBarForSubchart","drawBarOnSub","updateLineForSubchart","redrawLineForSubchart","drawLineOnSub","updateAreaForSubchart","contextArea","contextAreaEnter","redrawAreaForSubchart","drawAreaOnSub","zoomIdentity","mainTextEnter","barOrLineData","forFlow","cls","font","getAreaPoints","getBarPoints","getLinePoints","getXForText","getYForText","xPos","yPos","isSafari","isChrome","xForTitle","yForTitle","getTooltipSortFunction","sortFunction","bgcolor","titleFormat","nameFormat","valueFormat","tooltipSortFunction","tooltipPosition","tWidth","tHeight","tooltipLeft","tooltipRight","tooltipTop","chartRight","positionFunction","ua","userAgent","startEvent","redrawForZoom","updateDomain","brushXPos","brushYPos","getZoomedDomain","dragZoomBrush","zoomedDomain","average","maximum","nums","minimum","getColumnAverage","getRowAverage","getColumnSum","getRowSum","getColumnMaximum","getRowMaximum","getColumnMinimum","getRowMinimum","getColumnLabel","getRowIndex","del","_extend","Dataset","meta","coords","colIndex","rowIndex","colResult","rowResult","selectRow","analyses","_parsers2","_svgTextWrap","_prettyNumber","HorizontalFunnel3d","dataset","labelMapping","colorMapping","opts","_config$funnel","funnel","_config$funnel$percen","percents","countingMethod","decimals","resultValues","effect3d","hover","funnelContainer","svgWidth","svgHeight","elemWidth","xMarginElement","shadowCut","prevElemHeight","newPoints","polygonsShadows","polygons3d","handleMouseOver","polygonsHover","labelHover","thisLabel","handleMouseOut","render","HorizontalFunnel","marginBetweenSteps","Funnel3d","elemHeight","yMarginElement","prevElemWidth","Funnel","_artifacts","spinner","theme","./af","./af.js","./ar","./ar-dz","./ar-dz.js","./ar-kw","./ar-kw.js","./ar-ly","./ar-ly.js","./ar-ma","./ar-ma.js","./ar-sa","./ar-sa.js","./ar-tn","./ar-tn.js","./ar.js","./az","./az.js","./be","./be.js","./bg","./bg.js","./bm","./bm.js","./bn","./bn.js","./bo","./bo.js","./br","./br.js","./bs","./bs.js","./ca","./ca.js","./cs","./cs.js","./cv","./cv.js","./cy","./cy.js","./da","./da.js","./de","./de-at","./de-at.js","./de-ch","./de-ch.js","./de.js","./dv","./dv.js","./el","./el.js","./en-au","./en-au.js","./en-ca","./en-ca.js","./en-gb","./en-gb.js","./en-ie","./en-ie.js","./en-il","./en-il.js","./en-nz","./en-nz.js","./eo","./eo.js","./es","./es-do","./es-do.js","./es-us","./es-us.js","./es.js","./et","./et.js","./eu","./eu.js","./fa","./fa.js","./fi","./fi.js","./fo","./fo.js","./fr","./fr-ca","./fr-ca.js","./fr-ch","./fr-ch.js","./fr.js","./fy","./fy.js","./gd","./gd.js","./gl","./gl.js","./gom-latn","./gom-latn.js","./gu","./gu.js","./he","./he.js","./hi","./hi.js","./hr","./hr.js","./hu","./hu.js","./hy-am","./hy-am.js","./id","./id.js","./is","./is.js","./it","./it.js","./ja","./ja.js","./jv","./jv.js","./ka","./ka.js","./kk","./kk.js","./km","./km.js","./kn","./kn.js","./ko","./ko.js","./ky","./ky.js","./lb","./lb.js","./lo","./lo.js","./lt","./lt.js","./lv","./lv.js","./me","./me.js","./mi","./mi.js","./mk","./mk.js","./ml","./ml.js","./mn","./mn.js","./mr","./mr.js","./ms","./ms-my","./ms-my.js","./ms.js","./mt","./mt.js","./my","./my.js","./nb","./nb.js","./ne","./ne.js","./nl","./nl-be","./nl-be.js","./nl.js","./nn","./nn.js","./pa-in","./pa-in.js","./pl","./pl.js","./pt","./pt-br","./pt-br.js","./pt.js","./ro","./ro.js","./ru","./ru.js","./sd","./sd.js","./se","./se.js","./si","./si.js","./sk","./sk.js","./sl","./sl.js","./sq","./sq.js","./sr","./sr-cyrl","./sr-cyrl.js","./sr.js","./ss","./ss.js","./sv","./sv.js","./sw","./sw.js","./ta","./ta.js","./te","./te.js","./tet","./tet.js","./tg","./tg.js","./th","./th.js","./tl-ph","./tl-ph.js","./tlh","./tlh.js","./tr","./tr.js","./tzl","./tzl.js","./tzm","./tzm-latn","./tzm-latn.js","./tzm.js","./ug-cn","./ug-cn.js","./uk","./uk.js","./ur","./ur.js","./uz","./uz-latn","./uz-latn.js","./uz.js","./vi","./vi.js","./x-pseudo","./x-pseudo.js","./yo","./yo.js","./zh-cn","./zh-cn.js","./zh-hk","./zh-hk.js","./zh-tw","./zh-tw.js","webpackContext","req","webpackContextResolve","webpackPolyfill","paths","__WEBPACK_AMD_DEFINE_FACTORY__","__WEBPACK_AMD_DEFINE_ARRAY__","__WEBPACK_AMD_DEFINE_RESULT__","cachedGuess","zones","guesses","logError","momentVersion","major","minor","charCodeToInt","charCode","unpackBase60","fractional","arrayToInt","mapIndices","unpack","untils","intToUntil","abbrs","population","Zone","packedString","_set","OffsetAt","at","timeString","toTimeString","ZoneScore","offsetScore","abbrScore","findChange","low","high","sortZoneScores","addToGuesses","guessesForUserOffsets","guessesOffset","offsetsLength","filteredGuesses","rebuildGuess","intlName","Intl","DateTimeFormat","resolvedOptions","timeZone","normalizeName","zoneScore","startYear","last","userOffsets","zoneScores","getZone","scoreOffsetAt","addZone","packed","normalized","caller","addLink","normal0","normal1","needsOffset","isUnixTimestamp","message","unpacked","_index","timestamp","offsetNext","offsetPrev","moveAmbiguousForward","moveInvalidForward","offsetAt","dataVersion","_zones","_links","zoneExists","didShowError","guess","ignoreCache","old","abbrWrap","_z","defaultZone","setDefault","_momentTimezone","_escapeHtml","currentPage","_generateTableRows","datavizInstance","customConfig","table","pagination","page","arrows","datasetPaginated","pages","columnsArray","checkArray","mapValues","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_step","_iterator","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_step2","_iterator2","_ref","_ref2","_slicedToArray","rowCol","timezone","rowColEscaped","err","return","pageNumber","prevPage","nextPage","mappedMsg","errorMapping","showErrorMessages","fieldNumber","columnNames","_iteratorNormalCompletion3","_didIteratorError3","_iteratorError3","_step3","_iterator3","colName","colNameEscaped","_generateTableHeader","sortOrder","sortOrderNumber","nameA","nameB","attachBtnEventListeners","btn","formattedNum","flexDifferenceStyle","resultDifference","differenceStyle","smallerValue","results","previousResults","outer","inner","titleContainer","notesContainer","className","notes","showTitle","cols","domNode","legendConfig","_extends","offsetHeight","dataColumnsSorted","columnData","_assertDateString2","legendElement","paginateHorizontalLeftElement","legendItemsElement","paginateVerticalElement","paginateHorizontalRightElement","paginateData","labelShortened","textMaxLength","chartPartId","legendItemColorSample","backgroundColor","prepend","tooltipElement","pointer","onLegendRendered","arrowUp","arrowDown","paginate","clearSelectedText","onPaginated","getSelection","removeAllRanges","_assertDateString","startDate","endDate","timeDiff","lib","bindResizeListener","visuals","horizontalDistance","metric","funnel-3d","horizontal-funnel","horizontal-funnel-3d","getPaddings","paddingName","ENFORCED_OPTIONS","renderingElement","titleElement","notesElement","DEFAULT_OPTIONS","_extendDeep","clearOnRender","removeLegend","rotated","_defaultDateFormat2","stacked","partialIntervalIndicator","partialResultsRegion","class","_toConsumableArray","contents","c3TooltipContents","valueFormatted","scope","c3options","c3PaginatingLegend","defineC3","indexBy","query","selectedParser","parserArgs","metadata","analysis_type","event_collection","filters","group_by","timeframe","display_name","analysis","getDefaultTitle","visualization","chart_type","getDefaultType","updateColumn","updateRow","_stripHtmlTags","_dataset","valueAtDeepKey","is","flatten","ob","toReturn","flatObject","parsers","_flatten","_object","grouped-metric","grouped-interval","double-grouped-metric","rowLabel","double-grouped-interval","extraction","datasetExtraction","_loop","iNames","deleteColumn","_append","sortColumns","comp","head","analysesUtilMethods","op","insertColumn","sortRows","body","_analyses","insertRow","filterColumns","selectedColumn","filterRows","deleteRow","Dataviz","_defaultOptions","defaultOptions","showDeprecationWarnings","showLoadingSpinner","containerElement","labelMappingRegExp","library","sortIntervals","draggable","multiple","marginBetweenElements","convertChartTypes","_prepared","_rendered","firstVisibilityState","visibilityState","setLabels","mapLabelsExec","valueAfterMatching","regExpAndLabel","mapLabels","labelMappingDimension","areachart","barchart","columnchart","linechart","piechart","domReady","readyState","DOMContentLoaded","testDom","libraries","_libraries2","register","actions","method","visual","chartOptions","loader","firstResult","timeframes","resultItem","resultTimeframe","timeframeItem","getLabel","ds2","returnValue","renderAsPromise","customCallback","chart100percentWide","buildDomWrapper","renderOnVisible","IntersectionObserver","events","isIntersecting","visibilityChange","msHidden","webkitHidden","once","bool","chartType","parseRawData","parseRequest","pkg","eval","env","global","extendKeenGlobalObject","KeenDataviz","KeenDataset","Keen","keenGlobals","webpackKeenGlobals"],"mappings":"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UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,aAAA,IACAC,UAAA,IACAC,aAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,UAAA,IACAC,aAAA,IACAC,UAAA,IACAC,aAAA,IACAC,UAAA,IACAC,aAAA,IACAC,UAAA,IACAC,aAAA,IACAC,UAAA,IACAC,aAAA,IACAC,UAAA,IACAC,aAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,GACAC,aAAA,GACAC,UAAA,GACAC,aAAA,GACAC,UAAA,IACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,aAAA,GACAC,UAAA,GACAC,aAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,aAAA,GACAC,gBAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,UAAA,GACAC,aAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,OAAA,GACAC,UAAA,GACAC,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","file":"keen-dataviz.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse {\n\t\tvar a = factory();\n\t\tfor(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i];\n\t}\n})(window, function() {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 168);\n","//! moment.js\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n global.moment = factory()\n}(this, (function () { 'use strict';\n\n var hookCallback;\n\n function hooks () {\n return hookCallback.apply(null, arguments);\n }\n\n // This is done to register the method called with moment()\n // without creating circular dependencies.\n function setHookCallback (callback) {\n hookCallback = callback;\n }\n\n function isArray(input) {\n return input instanceof Array || Object.prototype.toString.call(input) === '[object Array]';\n }\n\n function isObject(input) {\n // IE8 will treat undefined and null as object if it wasn't for\n // input != null\n return input != null && Object.prototype.toString.call(input) === '[object Object]';\n }\n\n function isObjectEmpty(obj) {\n if (Object.getOwnPropertyNames) {\n return (Object.getOwnPropertyNames(obj).length === 0);\n } else {\n var k;\n for (k in obj) {\n if (obj.hasOwnProperty(k)) {\n return false;\n }\n }\n return true;\n }\n }\n\n function isUndefined(input) {\n return input === void 0;\n }\n\n function isNumber(input) {\n return typeof input === 'number' || Object.prototype.toString.call(input) === '[object Number]';\n }\n\n function isDate(input) {\n return input instanceof Date || Object.prototype.toString.call(input) === '[object Date]';\n }\n\n function map(arr, fn) {\n var res = [], i;\n for (i = 0; i < arr.length; ++i) {\n res.push(fn(arr[i], i));\n }\n return res;\n }\n\n function hasOwnProp(a, b) {\n return Object.prototype.hasOwnProperty.call(a, b);\n }\n\n function extend(a, b) {\n for (var i in b) {\n if (hasOwnProp(b, i)) {\n a[i] = b[i];\n }\n }\n\n if (hasOwnProp(b, 'toString')) {\n a.toString = b.toString;\n }\n\n if (hasOwnProp(b, 'valueOf')) {\n a.valueOf = b.valueOf;\n }\n\n return a;\n }\n\n function createUTC (input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, true).utc();\n }\n\n function defaultParsingFlags() {\n // We need to deep clone this object.\n return {\n empty : false,\n unusedTokens : [],\n unusedInput : [],\n overflow : -2,\n charsLeftOver : 0,\n nullInput : false,\n invalidMonth : null,\n invalidFormat : false,\n userInvalidated : false,\n iso : false,\n parsedDateParts : [],\n meridiem : null,\n rfc2822 : false,\n weekdayMismatch : false\n };\n }\n\n function getParsingFlags(m) {\n if (m._pf == null) {\n m._pf = defaultParsingFlags();\n }\n return m._pf;\n }\n\n var some;\n if (Array.prototype.some) {\n some = Array.prototype.some;\n } else {\n some = function (fun) {\n var t = Object(this);\n var len = t.length >>> 0;\n\n for (var i = 0; i < len; i++) {\n if (i in t && fun.call(this, t[i], i, t)) {\n return true;\n }\n }\n\n return false;\n };\n }\n\n function isValid(m) {\n if (m._isValid == null) {\n var flags = getParsingFlags(m);\n var parsedParts = some.call(flags.parsedDateParts, function (i) {\n return i != null;\n });\n var isNowValid = !isNaN(m._d.getTime()) &&\n flags.overflow < 0 &&\n !flags.empty &&\n !flags.invalidMonth &&\n !flags.invalidWeekday &&\n !flags.weekdayMismatch &&\n !flags.nullInput &&\n !flags.invalidFormat &&\n !flags.userInvalidated &&\n (!flags.meridiem || (flags.meridiem && parsedParts));\n\n if (m._strict) {\n isNowValid = isNowValid &&\n flags.charsLeftOver === 0 &&\n flags.unusedTokens.length === 0 &&\n flags.bigHour === undefined;\n }\n\n if (Object.isFrozen == null || !Object.isFrozen(m)) {\n m._isValid = isNowValid;\n }\n else {\n return isNowValid;\n }\n }\n return m._isValid;\n }\n\n function createInvalid (flags) {\n var m = createUTC(NaN);\n if (flags != null) {\n extend(getParsingFlags(m), flags);\n }\n else {\n getParsingFlags(m).userInvalidated = true;\n }\n\n return m;\n }\n\n // Plugins that add properties should also add the key here (null value),\n // so we can properly clone ourselves.\n var momentProperties = hooks.momentProperties = [];\n\n function copyConfig(to, from) {\n var i, prop, val;\n\n if (!isUndefined(from._isAMomentObject)) {\n to._isAMomentObject = from._isAMomentObject;\n }\n if (!isUndefined(from._i)) {\n to._i = from._i;\n }\n if (!isUndefined(from._f)) {\n to._f = from._f;\n }\n if (!isUndefined(from._l)) {\n to._l = from._l;\n }\n if (!isUndefined(from._strict)) {\n to._strict = from._strict;\n }\n if (!isUndefined(from._tzm)) {\n to._tzm = from._tzm;\n }\n if (!isUndefined(from._isUTC)) {\n to._isUTC = from._isUTC;\n }\n if (!isUndefined(from._offset)) {\n to._offset = from._offset;\n }\n if (!isUndefined(from._pf)) {\n to._pf = getParsingFlags(from);\n }\n if (!isUndefined(from._locale)) {\n to._locale = from._locale;\n }\n\n if (momentProperties.length > 0) {\n for (i = 0; i < momentProperties.length; i++) {\n prop = momentProperties[i];\n val = from[prop];\n if (!isUndefined(val)) {\n to[prop] = val;\n }\n }\n }\n\n return to;\n }\n\n var updateInProgress = false;\n\n // Moment prototype object\n function Moment(config) {\n copyConfig(this, config);\n this._d = new Date(config._d != null ? config._d.getTime() : NaN);\n if (!this.isValid()) {\n this._d = new Date(NaN);\n }\n // Prevent infinite loop in case updateOffset creates new moment\n // objects.\n if (updateInProgress === false) {\n updateInProgress = true;\n hooks.updateOffset(this);\n updateInProgress = false;\n }\n }\n\n function isMoment (obj) {\n return obj instanceof Moment || (obj != null && obj._isAMomentObject != null);\n }\n\n function absFloor (number) {\n if (number < 0) {\n // -0 -> 0\n return Math.ceil(number) || 0;\n } else {\n return Math.floor(number);\n }\n }\n\n function toInt(argumentForCoercion) {\n var coercedNumber = +argumentForCoercion,\n value = 0;\n\n if (coercedNumber !== 0 && isFinite(coercedNumber)) {\n value = absFloor(coercedNumber);\n }\n\n return value;\n }\n\n // compare two arrays, return the number of differences\n function compareArrays(array1, array2, dontConvert) {\n var len = Math.min(array1.length, array2.length),\n lengthDiff = Math.abs(array1.length - array2.length),\n diffs = 0,\n i;\n for (i = 0; i < len; i++) {\n if ((dontConvert && array1[i] !== array2[i]) ||\n (!dontConvert && toInt(array1[i]) !== toInt(array2[i]))) {\n diffs++;\n }\n }\n return diffs + lengthDiff;\n }\n\n function warn(msg) {\n if (hooks.suppressDeprecationWarnings === false &&\n (typeof console !== 'undefined') && console.warn) {\n console.warn('Deprecation warning: ' + msg);\n }\n }\n\n function deprecate(msg, fn) {\n var firstTime = true;\n\n return extend(function () {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(null, msg);\n }\n if (firstTime) {\n var args = [];\n var arg;\n for (var i = 0; i < arguments.length; i++) {\n arg = '';\n if (typeof arguments[i] === 'object') {\n arg += '\\n[' + i + '] ';\n for (var key in arguments[0]) {\n arg += key + ': ' + arguments[0][key] + ', ';\n }\n arg = arg.slice(0, -2); // Remove trailing comma and space\n } else {\n arg = arguments[i];\n }\n args.push(arg);\n }\n warn(msg + '\\nArguments: ' + Array.prototype.slice.call(args).join('') + '\\n' + (new Error()).stack);\n firstTime = false;\n }\n return fn.apply(this, arguments);\n }, fn);\n }\n\n var deprecations = {};\n\n function deprecateSimple(name, msg) {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(name, msg);\n }\n if (!deprecations[name]) {\n warn(msg);\n deprecations[name] = true;\n }\n }\n\n hooks.suppressDeprecationWarnings = false;\n hooks.deprecationHandler = null;\n\n function isFunction(input) {\n return input instanceof Function || Object.prototype.toString.call(input) === '[object Function]';\n }\n\n function set (config) {\n var prop, i;\n for (i in config) {\n prop = config[i];\n if (isFunction(prop)) {\n this[i] = prop;\n } else {\n this['_' + i] = prop;\n }\n }\n this._config = config;\n // Lenient ordinal parsing accepts just a number in addition to\n // number + (possibly) stuff coming from _dayOfMonthOrdinalParse.\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n this._dayOfMonthOrdinalParseLenient = new RegExp(\n (this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) +\n '|' + (/\\d{1,2}/).source);\n }\n\n function mergeConfigs(parentConfig, childConfig) {\n var res = extend({}, parentConfig), prop;\n for (prop in childConfig) {\n if (hasOwnProp(childConfig, prop)) {\n if (isObject(parentConfig[prop]) && isObject(childConfig[prop])) {\n res[prop] = {};\n extend(res[prop], parentConfig[prop]);\n extend(res[prop], childConfig[prop]);\n } else if (childConfig[prop] != null) {\n res[prop] = childConfig[prop];\n } else {\n delete res[prop];\n }\n }\n }\n for (prop in parentConfig) {\n if (hasOwnProp(parentConfig, prop) &&\n !hasOwnProp(childConfig, prop) &&\n isObject(parentConfig[prop])) {\n // make sure changes to properties don't modify parent config\n res[prop] = extend({}, res[prop]);\n }\n }\n return res;\n }\n\n function Locale(config) {\n if (config != null) {\n this.set(config);\n }\n }\n\n var keys;\n\n if (Object.keys) {\n keys = Object.keys;\n } else {\n keys = function (obj) {\n var i, res = [];\n for (i in obj) {\n if (hasOwnProp(obj, i)) {\n res.push(i);\n }\n }\n return res;\n };\n }\n\n var defaultCalendar = {\n sameDay : '[Today at] LT',\n nextDay : '[Tomorrow at] LT',\n nextWeek : 'dddd [at] LT',\n lastDay : '[Yesterday at] LT',\n lastWeek : '[Last] dddd [at] LT',\n sameElse : 'L'\n };\n\n function calendar (key, mom, now) {\n var output = this._calendar[key] || this._calendar['sameElse'];\n return isFunction(output) ? output.call(mom, now) : output;\n }\n\n var defaultLongDateFormat = {\n LTS : 'h:mm:ss A',\n LT : 'h:mm A',\n L : 'MM/DD/YYYY',\n LL : 'MMMM D, YYYY',\n LLL : 'MMMM D, YYYY h:mm A',\n LLLL : 'dddd, MMMM D, YYYY h:mm A'\n };\n\n function longDateFormat (key) {\n var format = this._longDateFormat[key],\n formatUpper = this._longDateFormat[key.toUpperCase()];\n\n if (format || !formatUpper) {\n return format;\n }\n\n this._longDateFormat[key] = formatUpper.replace(/MMMM|MM|DD|dddd/g, function (val) {\n return val.slice(1);\n });\n\n return this._longDateFormat[key];\n }\n\n var defaultInvalidDate = 'Invalid date';\n\n function invalidDate () {\n return this._invalidDate;\n }\n\n var defaultOrdinal = '%d';\n var defaultDayOfMonthOrdinalParse = /\\d{1,2}/;\n\n function ordinal (number) {\n return this._ordinal.replace('%d', number);\n }\n\n var defaultRelativeTime = {\n future : 'in %s',\n past : '%s ago',\n s : 'a few seconds',\n ss : '%d seconds',\n m : 'a minute',\n mm : '%d minutes',\n h : 'an hour',\n hh : '%d hours',\n d : 'a day',\n dd : '%d days',\n M : 'a month',\n MM : '%d months',\n y : 'a year',\n yy : '%d years'\n };\n\n function relativeTime (number, withoutSuffix, string, isFuture) {\n var output = this._relativeTime[string];\n return (isFunction(output)) ?\n output(number, withoutSuffix, string, isFuture) :\n output.replace(/%d/i, number);\n }\n\n function pastFuture (diff, output) {\n var format = this._relativeTime[diff > 0 ? 'future' : 'past'];\n return isFunction(format) ? format(output) : format.replace(/%s/i, output);\n }\n\n var aliases = {};\n\n function addUnitAlias (unit, shorthand) {\n var lowerCase = unit.toLowerCase();\n aliases[lowerCase] = aliases[lowerCase + 's'] = aliases[shorthand] = unit;\n }\n\n function normalizeUnits(units) {\n return typeof units === 'string' ? aliases[units] || aliases[units.toLowerCase()] : undefined;\n }\n\n function normalizeObjectUnits(inputObject) {\n var normalizedInput = {},\n normalizedProp,\n prop;\n\n for (prop in inputObject) {\n if (hasOwnProp(inputObject, prop)) {\n normalizedProp = normalizeUnits(prop);\n if (normalizedProp) {\n normalizedInput[normalizedProp] = inputObject[prop];\n }\n }\n }\n\n return normalizedInput;\n }\n\n var priorities = {};\n\n function addUnitPriority(unit, priority) {\n priorities[unit] = priority;\n }\n\n function getPrioritizedUnits(unitsObj) {\n var units = [];\n for (var u in unitsObj) {\n units.push({unit: u, priority: priorities[u]});\n }\n units.sort(function (a, b) {\n return a.priority - b.priority;\n });\n return units;\n }\n\n function zeroFill(number, targetLength, forceSign) {\n var absNumber = '' + Math.abs(number),\n zerosToFill = targetLength - absNumber.length,\n sign = number >= 0;\n return (sign ? (forceSign ? '+' : '') : '-') +\n Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) + absNumber;\n }\n\n var formattingTokens = /(\\[[^\\[]*\\])|(\\\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g;\n\n var localFormattingTokens = /(\\[[^\\[]*\\])|(\\\\)?(LTS|LT|LL?L?L?|l{1,4})/g;\n\n var formatFunctions = {};\n\n var formatTokenFunctions = {};\n\n // token: 'M'\n // padded: ['MM', 2]\n // ordinal: 'Mo'\n // callback: function () { this.month() + 1 }\n function addFormatToken (token, padded, ordinal, callback) {\n var func = callback;\n if (typeof callback === 'string') {\n func = function () {\n return this[callback]();\n };\n }\n if (token) {\n formatTokenFunctions[token] = func;\n }\n if (padded) {\n formatTokenFunctions[padded[0]] = function () {\n return zeroFill(func.apply(this, arguments), padded[1], padded[2]);\n };\n }\n if (ordinal) {\n formatTokenFunctions[ordinal] = function () {\n return this.localeData().ordinal(func.apply(this, arguments), token);\n };\n }\n }\n\n function removeFormattingTokens(input) {\n if (input.match(/\\[[\\s\\S]/)) {\n return input.replace(/^\\[|\\]$/g, '');\n }\n return input.replace(/\\\\/g, '');\n }\n\n function makeFormatFunction(format) {\n var array = format.match(formattingTokens), i, length;\n\n for (i = 0, length = array.length; i < length; i++) {\n if (formatTokenFunctions[array[i]]) {\n array[i] = formatTokenFunctions[array[i]];\n } else {\n array[i] = removeFormattingTokens(array[i]);\n }\n }\n\n return function (mom) {\n var output = '', i;\n for (i = 0; i < length; i++) {\n output += isFunction(array[i]) ? array[i].call(mom, format) : array[i];\n }\n return output;\n };\n }\n\n // format date using native date object\n function formatMoment(m, format) {\n if (!m.isValid()) {\n return m.localeData().invalidDate();\n }\n\n format = expandFormat(format, m.localeData());\n formatFunctions[format] = formatFunctions[format] || makeFormatFunction(format);\n\n return formatFunctions[format](m);\n }\n\n function expandFormat(format, locale) {\n var i = 5;\n\n function replaceLongDateFormatTokens(input) {\n return locale.longDateFormat(input) || input;\n }\n\n localFormattingTokens.lastIndex = 0;\n while (i >= 0 && localFormattingTokens.test(format)) {\n format = format.replace(localFormattingTokens, replaceLongDateFormatTokens);\n localFormattingTokens.lastIndex = 0;\n i -= 1;\n }\n\n return format;\n }\n\n var match1 = /\\d/; // 0 - 9\n var match2 = /\\d\\d/; // 00 - 99\n var match3 = /\\d{3}/; // 000 - 999\n var match4 = /\\d{4}/; // 0000 - 9999\n var match6 = /[+-]?\\d{6}/; // -999999 - 999999\n var match1to2 = /\\d\\d?/; // 0 - 99\n var match3to4 = /\\d\\d\\d\\d?/; // 999 - 9999\n var match5to6 = /\\d\\d\\d\\d\\d\\d?/; // 99999 - 999999\n var match1to3 = /\\d{1,3}/; // 0 - 999\n var match1to4 = /\\d{1,4}/; // 0 - 9999\n var match1to6 = /[+-]?\\d{1,6}/; // -999999 - 999999\n\n var matchUnsigned = /\\d+/; // 0 - inf\n var matchSigned = /[+-]?\\d+/; // -inf - inf\n\n var matchOffset = /Z|[+-]\\d\\d:?\\d\\d/gi; // +00:00 -00:00 +0000 -0000 or Z\n var matchShortOffset = /Z|[+-]\\d\\d(?::?\\d\\d)?/gi; // +00 -00 +00:00 -00:00 +0000 -0000 or Z\n\n var matchTimestamp = /[+-]?\\d+(\\.\\d{1,3})?/; // 123456789 123456789.123\n\n // any word (or two) characters or numbers including two/three word month in arabic.\n // includes scottish gaelic two word and hyphenated months\n var matchWord = /[0-9]{0,256}['a-z\\u00A0-\\u05FF\\u0700-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFF07\\uFF10-\\uFFEF]{1,256}|[\\u0600-\\u06FF\\/]{1,256}(\\s*?[\\u0600-\\u06FF]{1,256}){1,2}/i;\n\n var regexes = {};\n\n function addRegexToken (token, regex, strictRegex) {\n regexes[token] = isFunction(regex) ? regex : function (isStrict, localeData) {\n return (isStrict && strictRegex) ? strictRegex : regex;\n };\n }\n\n function getParseRegexForToken (token, config) {\n if (!hasOwnProp(regexes, token)) {\n return new RegExp(unescapeFormat(token));\n }\n\n return regexes[token](config._strict, config._locale);\n }\n\n // Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript\n function unescapeFormat(s) {\n return regexEscape(s.replace('\\\\', '').replace(/\\\\(\\[)|\\\\(\\])|\\[([^\\]\\[]*)\\]|\\\\(.)/g, function (matched, p1, p2, p3, p4) {\n return p1 || p2 || p3 || p4;\n }));\n }\n\n function regexEscape(s) {\n return s.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n }\n\n var tokens = {};\n\n function addParseToken (token, callback) {\n var i, func = callback;\n if (typeof token === 'string') {\n token = [token];\n }\n if (isNumber(callback)) {\n func = function (input, array) {\n array[callback] = toInt(input);\n };\n }\n for (i = 0; i < token.length; i++) {\n tokens[token[i]] = func;\n }\n }\n\n function addWeekParseToken (token, callback) {\n addParseToken(token, function (input, array, config, token) {\n config._w = config._w || {};\n callback(input, config._w, config, token);\n });\n }\n\n function addTimeToArrayFromToken(token, input, config) {\n if (input != null && hasOwnProp(tokens, token)) {\n tokens[token](input, config._a, config, token);\n }\n }\n\n var YEAR = 0;\n var MONTH = 1;\n var DATE = 2;\n var HOUR = 3;\n var MINUTE = 4;\n var SECOND = 5;\n var MILLISECOND = 6;\n var WEEK = 7;\n var WEEKDAY = 8;\n\n // FORMATTING\n\n addFormatToken('Y', 0, 0, function () {\n var y = this.year();\n return y <= 9999 ? '' + y : '+' + y;\n });\n\n addFormatToken(0, ['YY', 2], 0, function () {\n return this.year() % 100;\n });\n\n addFormatToken(0, ['YYYY', 4], 0, 'year');\n addFormatToken(0, ['YYYYY', 5], 0, 'year');\n addFormatToken(0, ['YYYYYY', 6, true], 0, 'year');\n\n // ALIASES\n\n addUnitAlias('year', 'y');\n\n // PRIORITIES\n\n addUnitPriority('year', 1);\n\n // PARSING\n\n addRegexToken('Y', matchSigned);\n addRegexToken('YY', match1to2, match2);\n addRegexToken('YYYY', match1to4, match4);\n addRegexToken('YYYYY', match1to6, match6);\n addRegexToken('YYYYYY', match1to6, match6);\n\n addParseToken(['YYYYY', 'YYYYYY'], YEAR);\n addParseToken('YYYY', function (input, array) {\n array[YEAR] = input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input);\n });\n addParseToken('YY', function (input, array) {\n array[YEAR] = hooks.parseTwoDigitYear(input);\n });\n addParseToken('Y', function (input, array) {\n array[YEAR] = parseInt(input, 10);\n });\n\n // HELPERS\n\n function daysInYear(year) {\n return isLeapYear(year) ? 366 : 365;\n }\n\n function isLeapYear(year) {\n return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;\n }\n\n // HOOKS\n\n hooks.parseTwoDigitYear = function (input) {\n return toInt(input) + (toInt(input) > 68 ? 1900 : 2000);\n };\n\n // MOMENTS\n\n var getSetYear = makeGetSet('FullYear', true);\n\n function getIsLeapYear () {\n return isLeapYear(this.year());\n }\n\n function makeGetSet (unit, keepTime) {\n return function (value) {\n if (value != null) {\n set$1(this, unit, value);\n hooks.updateOffset(this, keepTime);\n return this;\n } else {\n return get(this, unit);\n }\n };\n }\n\n function get (mom, unit) {\n return mom.isValid() ?\n mom._d['get' + (mom._isUTC ? 'UTC' : '') + unit]() : NaN;\n }\n\n function set$1 (mom, unit, value) {\n if (mom.isValid() && !isNaN(value)) {\n if (unit === 'FullYear' && isLeapYear(mom.year()) && mom.month() === 1 && mom.date() === 29) {\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value, mom.month(), daysInMonth(value, mom.month()));\n }\n else {\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value);\n }\n }\n }\n\n // MOMENTS\n\n function stringGet (units) {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units]();\n }\n return this;\n }\n\n\n function stringSet (units, value) {\n if (typeof units === 'object') {\n units = normalizeObjectUnits(units);\n var prioritized = getPrioritizedUnits(units);\n for (var i = 0; i < prioritized.length; i++) {\n this[prioritized[i].unit](units[prioritized[i].unit]);\n }\n } else {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units](value);\n }\n }\n return this;\n }\n\n function mod(n, x) {\n return ((n % x) + x) % x;\n }\n\n var indexOf;\n\n if (Array.prototype.indexOf) {\n indexOf = Array.prototype.indexOf;\n } else {\n indexOf = function (o) {\n // I know\n var i;\n for (i = 0; i < this.length; ++i) {\n if (this[i] === o) {\n return i;\n }\n }\n return -1;\n };\n }\n\n function daysInMonth(year, month) {\n if (isNaN(year) || isNaN(month)) {\n return NaN;\n }\n var modMonth = mod(month, 12);\n year += (month - modMonth) / 12;\n return modMonth === 1 ? (isLeapYear(year) ? 29 : 28) : (31 - modMonth % 7 % 2);\n }\n\n // FORMATTING\n\n addFormatToken('M', ['MM', 2], 'Mo', function () {\n return this.month() + 1;\n });\n\n addFormatToken('MMM', 0, 0, function (format) {\n return this.localeData().monthsShort(this, format);\n });\n\n addFormatToken('MMMM', 0, 0, function (format) {\n return this.localeData().months(this, format);\n });\n\n // ALIASES\n\n addUnitAlias('month', 'M');\n\n // PRIORITY\n\n addUnitPriority('month', 8);\n\n // PARSING\n\n addRegexToken('M', match1to2);\n addRegexToken('MM', match1to2, match2);\n addRegexToken('MMM', function (isStrict, locale) {\n return locale.monthsShortRegex(isStrict);\n });\n addRegexToken('MMMM', function (isStrict, locale) {\n return locale.monthsRegex(isStrict);\n });\n\n addParseToken(['M', 'MM'], function (input, array) {\n array[MONTH] = toInt(input) - 1;\n });\n\n addParseToken(['MMM', 'MMMM'], function (input, array, config, token) {\n var month = config._locale.monthsParse(input, token, config._strict);\n // if we didn't find a month name, mark the date as invalid.\n if (month != null) {\n array[MONTH] = month;\n } else {\n getParsingFlags(config).invalidMonth = input;\n }\n });\n\n // LOCALES\n\n var MONTHS_IN_FORMAT = /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?/;\n var defaultLocaleMonths = 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_');\n function localeMonths (m, format) {\n if (!m) {\n return isArray(this._months) ? this._months :\n this._months['standalone'];\n }\n return isArray(this._months) ? this._months[m.month()] :\n this._months[(this._months.isFormat || MONTHS_IN_FORMAT).test(format) ? 'format' : 'standalone'][m.month()];\n }\n\n var defaultLocaleMonthsShort = 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_');\n function localeMonthsShort (m, format) {\n if (!m) {\n return isArray(this._monthsShort) ? this._monthsShort :\n this._monthsShort['standalone'];\n }\n return isArray(this._monthsShort) ? this._monthsShort[m.month()] :\n this._monthsShort[MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone'][m.month()];\n }\n\n function handleStrictParse(monthName, format, strict) {\n var i, ii, mom, llc = monthName.toLocaleLowerCase();\n if (!this._monthsParse) {\n // this is not used\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n for (i = 0; i < 12; ++i) {\n mom = createUTC([2000, i]);\n this._shortMonthsParse[i] = this.monthsShort(mom, '').toLocaleLowerCase();\n this._longMonthsParse[i] = this.months(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n }\n\n function localeMonthsParse (monthName, format, strict) {\n var i, mom, regex;\n\n if (this._monthsParseExact) {\n return handleStrictParse.call(this, monthName, format, strict);\n }\n\n if (!this._monthsParse) {\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n }\n\n // TODO: add sorting\n // Sorting makes sure if one month (or abbr) is a prefix of another\n // see sorting in computeMonthsParse\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n if (strict && !this._longMonthsParse[i]) {\n this._longMonthsParse[i] = new RegExp('^' + this.months(mom, '').replace('.', '') + '$', 'i');\n this._shortMonthsParse[i] = new RegExp('^' + this.monthsShort(mom, '').replace('.', '') + '$', 'i');\n }\n if (!strict && !this._monthsParse[i]) {\n regex = '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, '');\n this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (strict && format === 'MMMM' && this._longMonthsParse[i].test(monthName)) {\n return i;\n } else if (strict && format === 'MMM' && this._shortMonthsParse[i].test(monthName)) {\n return i;\n } else if (!strict && this._monthsParse[i].test(monthName)) {\n return i;\n }\n }\n }\n\n // MOMENTS\n\n function setMonth (mom, value) {\n var dayOfMonth;\n\n if (!mom.isValid()) {\n // No op\n return mom;\n }\n\n if (typeof value === 'string') {\n if (/^\\d+$/.test(value)) {\n value = toInt(value);\n } else {\n value = mom.localeData().monthsParse(value);\n // TODO: Another silent failure?\n if (!isNumber(value)) {\n return mom;\n }\n }\n }\n\n dayOfMonth = Math.min(mom.date(), daysInMonth(mom.year(), value));\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + 'Month'](value, dayOfMonth);\n return mom;\n }\n\n function getSetMonth (value) {\n if (value != null) {\n setMonth(this, value);\n hooks.updateOffset(this, true);\n return this;\n } else {\n return get(this, 'Month');\n }\n }\n\n function getDaysInMonth () {\n return daysInMonth(this.year(), this.month());\n }\n\n var defaultMonthsShortRegex = matchWord;\n function monthsShortRegex (isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n if (isStrict) {\n return this._monthsShortStrictRegex;\n } else {\n return this._monthsShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsShortRegex')) {\n this._monthsShortRegex = defaultMonthsShortRegex;\n }\n return this._monthsShortStrictRegex && isStrict ?\n this._monthsShortStrictRegex : this._monthsShortRegex;\n }\n }\n\n var defaultMonthsRegex = matchWord;\n function monthsRegex (isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n if (isStrict) {\n return this._monthsStrictRegex;\n } else {\n return this._monthsRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsRegex')) {\n this._monthsRegex = defaultMonthsRegex;\n }\n return this._monthsStrictRegex && isStrict ?\n this._monthsStrictRegex : this._monthsRegex;\n }\n }\n\n function computeMonthsParse () {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var shortPieces = [], longPieces = [], mixedPieces = [],\n i, mom;\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n shortPieces.push(this.monthsShort(mom, ''));\n longPieces.push(this.months(mom, ''));\n mixedPieces.push(this.months(mom, ''));\n mixedPieces.push(this.monthsShort(mom, ''));\n }\n // Sorting makes sure if one month (or abbr) is a prefix of another it\n // will match the longer piece.\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n for (i = 0; i < 12; i++) {\n shortPieces[i] = regexEscape(shortPieces[i]);\n longPieces[i] = regexEscape(longPieces[i]);\n }\n for (i = 0; i < 24; i++) {\n mixedPieces[i] = regexEscape(mixedPieces[i]);\n }\n\n this._monthsRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._monthsShortRegex = this._monthsRegex;\n this._monthsStrictRegex = new RegExp('^(' + longPieces.join('|') + ')', 'i');\n this._monthsShortStrictRegex = new RegExp('^(' + shortPieces.join('|') + ')', 'i');\n }\n\n function createDate (y, m, d, h, M, s, ms) {\n // can't just apply() to create a date:\n // https://stackoverflow.com/q/181348\n var date = new Date(y, m, d, h, M, s, ms);\n\n // the date constructor remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0 && isFinite(date.getFullYear())) {\n date.setFullYear(y);\n }\n return date;\n }\n\n function createUTCDate (y) {\n var date = new Date(Date.UTC.apply(null, arguments));\n\n // the Date.UTC function remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0 && isFinite(date.getUTCFullYear())) {\n date.setUTCFullYear(y);\n }\n return date;\n }\n\n // start-of-first-week - start-of-year\n function firstWeekOffset(year, dow, doy) {\n var // first-week day -- which january is always in the first week (4 for iso, 1 for other)\n fwd = 7 + dow - doy,\n // first-week day local weekday -- which local weekday is fwd\n fwdlw = (7 + createUTCDate(year, 0, fwd).getUTCDay() - dow) % 7;\n\n return -fwdlw + fwd - 1;\n }\n\n // https://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday\n function dayOfYearFromWeeks(year, week, weekday, dow, doy) {\n var localWeekday = (7 + weekday - dow) % 7,\n weekOffset = firstWeekOffset(year, dow, doy),\n dayOfYear = 1 + 7 * (week - 1) + localWeekday + weekOffset,\n resYear, resDayOfYear;\n\n if (dayOfYear <= 0) {\n resYear = year - 1;\n resDayOfYear = daysInYear(resYear) + dayOfYear;\n } else if (dayOfYear > daysInYear(year)) {\n resYear = year + 1;\n resDayOfYear = dayOfYear - daysInYear(year);\n } else {\n resYear = year;\n resDayOfYear = dayOfYear;\n }\n\n return {\n year: resYear,\n dayOfYear: resDayOfYear\n };\n }\n\n function weekOfYear(mom, dow, doy) {\n var weekOffset = firstWeekOffset(mom.year(), dow, doy),\n week = Math.floor((mom.dayOfYear() - weekOffset - 1) / 7) + 1,\n resWeek, resYear;\n\n if (week < 1) {\n resYear = mom.year() - 1;\n resWeek = week + weeksInYear(resYear, dow, doy);\n } else if (week > weeksInYear(mom.year(), dow, doy)) {\n resWeek = week - weeksInYear(mom.year(), dow, doy);\n resYear = mom.year() + 1;\n } else {\n resYear = mom.year();\n resWeek = week;\n }\n\n return {\n week: resWeek,\n year: resYear\n };\n }\n\n function weeksInYear(year, dow, doy) {\n var weekOffset = firstWeekOffset(year, dow, doy),\n weekOffsetNext = firstWeekOffset(year + 1, dow, doy);\n return (daysInYear(year) - weekOffset + weekOffsetNext) / 7;\n }\n\n // FORMATTING\n\n addFormatToken('w', ['ww', 2], 'wo', 'week');\n addFormatToken('W', ['WW', 2], 'Wo', 'isoWeek');\n\n // ALIASES\n\n addUnitAlias('week', 'w');\n addUnitAlias('isoWeek', 'W');\n\n // PRIORITIES\n\n addUnitPriority('week', 5);\n addUnitPriority('isoWeek', 5);\n\n // PARSING\n\n addRegexToken('w', match1to2);\n addRegexToken('ww', match1to2, match2);\n addRegexToken('W', match1to2);\n addRegexToken('WW', match1to2, match2);\n\n addWeekParseToken(['w', 'ww', 'W', 'WW'], function (input, week, config, token) {\n week[token.substr(0, 1)] = toInt(input);\n });\n\n // HELPERS\n\n // LOCALES\n\n function localeWeek (mom) {\n return weekOfYear(mom, this._week.dow, this._week.doy).week;\n }\n\n var defaultLocaleWeek = {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n };\n\n function localeFirstDayOfWeek () {\n return this._week.dow;\n }\n\n function localeFirstDayOfYear () {\n return this._week.doy;\n }\n\n // MOMENTS\n\n function getSetWeek (input) {\n var week = this.localeData().week(this);\n return input == null ? week : this.add((input - week) * 7, 'd');\n }\n\n function getSetISOWeek (input) {\n var week = weekOfYear(this, 1, 4).week;\n return input == null ? week : this.add((input - week) * 7, 'd');\n }\n\n // FORMATTING\n\n addFormatToken('d', 0, 'do', 'day');\n\n addFormatToken('dd', 0, 0, function (format) {\n return this.localeData().weekdaysMin(this, format);\n });\n\n addFormatToken('ddd', 0, 0, function (format) {\n return this.localeData().weekdaysShort(this, format);\n });\n\n addFormatToken('dddd', 0, 0, function (format) {\n return this.localeData().weekdays(this, format);\n });\n\n addFormatToken('e', 0, 0, 'weekday');\n addFormatToken('E', 0, 0, 'isoWeekday');\n\n // ALIASES\n\n addUnitAlias('day', 'd');\n addUnitAlias('weekday', 'e');\n addUnitAlias('isoWeekday', 'E');\n\n // PRIORITY\n addUnitPriority('day', 11);\n addUnitPriority('weekday', 11);\n addUnitPriority('isoWeekday', 11);\n\n // PARSING\n\n addRegexToken('d', match1to2);\n addRegexToken('e', match1to2);\n addRegexToken('E', match1to2);\n addRegexToken('dd', function (isStrict, locale) {\n return locale.weekdaysMinRegex(isStrict);\n });\n addRegexToken('ddd', function (isStrict, locale) {\n return locale.weekdaysShortRegex(isStrict);\n });\n addRegexToken('dddd', function (isStrict, locale) {\n return locale.weekdaysRegex(isStrict);\n });\n\n addWeekParseToken(['dd', 'ddd', 'dddd'], function (input, week, config, token) {\n var weekday = config._locale.weekdaysParse(input, token, config._strict);\n // if we didn't get a weekday name, mark the date as invalid\n if (weekday != null) {\n week.d = weekday;\n } else {\n getParsingFlags(config).invalidWeekday = input;\n }\n });\n\n addWeekParseToken(['d', 'e', 'E'], function (input, week, config, token) {\n week[token] = toInt(input);\n });\n\n // HELPERS\n\n function parseWeekday(input, locale) {\n if (typeof input !== 'string') {\n return input;\n }\n\n if (!isNaN(input)) {\n return parseInt(input, 10);\n }\n\n input = locale.weekdaysParse(input);\n if (typeof input === 'number') {\n return input;\n }\n\n return null;\n }\n\n function parseIsoWeekday(input, locale) {\n if (typeof input === 'string') {\n return locale.weekdaysParse(input) % 7 || 7;\n }\n return isNaN(input) ? null : input;\n }\n\n // LOCALES\n\n var defaultLocaleWeekdays = 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_');\n function localeWeekdays (m, format) {\n if (!m) {\n return isArray(this._weekdays) ? this._weekdays :\n this._weekdays['standalone'];\n }\n return isArray(this._weekdays) ? this._weekdays[m.day()] :\n this._weekdays[this._weekdays.isFormat.test(format) ? 'format' : 'standalone'][m.day()];\n }\n\n var defaultLocaleWeekdaysShort = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_');\n function localeWeekdaysShort (m) {\n return (m) ? this._weekdaysShort[m.day()] : this._weekdaysShort;\n }\n\n var defaultLocaleWeekdaysMin = 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_');\n function localeWeekdaysMin (m) {\n return (m) ? this._weekdaysMin[m.day()] : this._weekdaysMin;\n }\n\n function handleStrictParse$1(weekdayName, format, strict) {\n var i, ii, mom, llc = weekdayName.toLocaleLowerCase();\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._minWeekdaysParse = [];\n\n for (i = 0; i < 7; ++i) {\n mom = createUTC([2000, 1]).day(i);\n this._minWeekdaysParse[i] = this.weekdaysMin(mom, '').toLocaleLowerCase();\n this._shortWeekdaysParse[i] = this.weekdaysShort(mom, '').toLocaleLowerCase();\n this._weekdaysParse[i] = this.weekdays(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n }\n\n function localeWeekdaysParse (weekdayName, format, strict) {\n var i, mom, regex;\n\n if (this._weekdaysParseExact) {\n return handleStrictParse$1.call(this, weekdayName, format, strict);\n }\n\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._minWeekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._fullWeekdaysParse = [];\n }\n\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n\n mom = createUTC([2000, 1]).day(i);\n if (strict && !this._fullWeekdaysParse[i]) {\n this._fullWeekdaysParse[i] = new RegExp('^' + this.weekdays(mom, '').replace('.', '\\\\.?') + '$', 'i');\n this._shortWeekdaysParse[i] = new RegExp('^' + this.weekdaysShort(mom, '').replace('.', '\\\\.?') + '$', 'i');\n this._minWeekdaysParse[i] = new RegExp('^' + this.weekdaysMin(mom, '').replace('.', '\\\\.?') + '$', 'i');\n }\n if (!this._weekdaysParse[i]) {\n regex = '^' + this.weekdays(mom, '') + '|^' + this.weekdaysShort(mom, '') + '|^' + this.weekdaysMin(mom, '');\n this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (strict && format === 'dddd' && this._fullWeekdaysParse[i].test(weekdayName)) {\n return i;\n } else if (strict && format === 'ddd' && this._shortWeekdaysParse[i].test(weekdayName)) {\n return i;\n } else if (strict && format === 'dd' && this._minWeekdaysParse[i].test(weekdayName)) {\n return i;\n } else if (!strict && this._weekdaysParse[i].test(weekdayName)) {\n return i;\n }\n }\n }\n\n // MOMENTS\n\n function getSetDayOfWeek (input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n var day = this._isUTC ? this._d.getUTCDay() : this._d.getDay();\n if (input != null) {\n input = parseWeekday(input, this.localeData());\n return this.add(input - day, 'd');\n } else {\n return day;\n }\n }\n\n function getSetLocaleDayOfWeek (input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7;\n return input == null ? weekday : this.add(input - weekday, 'd');\n }\n\n function getSetISODayOfWeek (input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n\n // behaves the same as moment#day except\n // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6)\n // as a setter, sunday should belong to the previous week.\n\n if (input != null) {\n var weekday = parseIsoWeekday(input, this.localeData());\n return this.day(this.day() % 7 ? weekday : weekday - 7);\n } else {\n return this.day() || 7;\n }\n }\n\n var defaultWeekdaysRegex = matchWord;\n function weekdaysRegex (isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysStrictRegex;\n } else {\n return this._weekdaysRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n this._weekdaysRegex = defaultWeekdaysRegex;\n }\n return this._weekdaysStrictRegex && isStrict ?\n this._weekdaysStrictRegex : this._weekdaysRegex;\n }\n }\n\n var defaultWeekdaysShortRegex = matchWord;\n function weekdaysShortRegex (isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysShortStrictRegex;\n } else {\n return this._weekdaysShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysShortRegex')) {\n this._weekdaysShortRegex = defaultWeekdaysShortRegex;\n }\n return this._weekdaysShortStrictRegex && isStrict ?\n this._weekdaysShortStrictRegex : this._weekdaysShortRegex;\n }\n }\n\n var defaultWeekdaysMinRegex = matchWord;\n function weekdaysMinRegex (isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysMinStrictRegex;\n } else {\n return this._weekdaysMinRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysMinRegex')) {\n this._weekdaysMinRegex = defaultWeekdaysMinRegex;\n }\n return this._weekdaysMinStrictRegex && isStrict ?\n this._weekdaysMinStrictRegex : this._weekdaysMinRegex;\n }\n }\n\n\n function computeWeekdaysParse () {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var minPieces = [], shortPieces = [], longPieces = [], mixedPieces = [],\n i, mom, minp, shortp, longp;\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, 1]).day(i);\n minp = this.weekdaysMin(mom, '');\n shortp = this.weekdaysShort(mom, '');\n longp = this.weekdays(mom, '');\n minPieces.push(minp);\n shortPieces.push(shortp);\n longPieces.push(longp);\n mixedPieces.push(minp);\n mixedPieces.push(shortp);\n mixedPieces.push(longp);\n }\n // Sorting makes sure if one weekday (or abbr) is a prefix of another it\n // will match the longer piece.\n minPieces.sort(cmpLenRev);\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n for (i = 0; i < 7; i++) {\n shortPieces[i] = regexEscape(shortPieces[i]);\n longPieces[i] = regexEscape(longPieces[i]);\n mixedPieces[i] = regexEscape(mixedPieces[i]);\n }\n\n this._weekdaysRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._weekdaysShortRegex = this._weekdaysRegex;\n this._weekdaysMinRegex = this._weekdaysRegex;\n\n this._weekdaysStrictRegex = new RegExp('^(' + longPieces.join('|') + ')', 'i');\n this._weekdaysShortStrictRegex = new RegExp('^(' + shortPieces.join('|') + ')', 'i');\n this._weekdaysMinStrictRegex = new RegExp('^(' + minPieces.join('|') + ')', 'i');\n }\n\n // FORMATTING\n\n function hFormat() {\n return this.hours() % 12 || 12;\n }\n\n function kFormat() {\n return this.hours() || 24;\n }\n\n addFormatToken('H', ['HH', 2], 0, 'hour');\n addFormatToken('h', ['hh', 2], 0, hFormat);\n addFormatToken('k', ['kk', 2], 0, kFormat);\n\n addFormatToken('hmm', 0, 0, function () {\n return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2);\n });\n\n addFormatToken('hmmss', 0, 0, function () {\n return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2);\n });\n\n addFormatToken('Hmm', 0, 0, function () {\n return '' + this.hours() + zeroFill(this.minutes(), 2);\n });\n\n addFormatToken('Hmmss', 0, 0, function () {\n return '' + this.hours() + zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2);\n });\n\n function meridiem (token, lowercase) {\n addFormatToken(token, 0, 0, function () {\n return this.localeData().meridiem(this.hours(), this.minutes(), lowercase);\n });\n }\n\n meridiem('a', true);\n meridiem('A', false);\n\n // ALIASES\n\n addUnitAlias('hour', 'h');\n\n // PRIORITY\n addUnitPriority('hour', 13);\n\n // PARSING\n\n function matchMeridiem (isStrict, locale) {\n return locale._meridiemParse;\n }\n\n addRegexToken('a', matchMeridiem);\n addRegexToken('A', matchMeridiem);\n addRegexToken('H', match1to2);\n addRegexToken('h', match1to2);\n addRegexToken('k', match1to2);\n addRegexToken('HH', match1to2, match2);\n addRegexToken('hh', match1to2, match2);\n addRegexToken('kk', match1to2, match2);\n\n addRegexToken('hmm', match3to4);\n addRegexToken('hmmss', match5to6);\n addRegexToken('Hmm', match3to4);\n addRegexToken('Hmmss', match5to6);\n\n addParseToken(['H', 'HH'], HOUR);\n addParseToken(['k', 'kk'], function (input, array, config) {\n var kInput = toInt(input);\n array[HOUR] = kInput === 24 ? 0 : kInput;\n });\n addParseToken(['a', 'A'], function (input, array, config) {\n config._isPm = config._locale.isPM(input);\n config._meridiem = input;\n });\n addParseToken(['h', 'hh'], function (input, array, config) {\n array[HOUR] = toInt(input);\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('hmmss', function (input, array, config) {\n var pos1 = input.length - 4;\n var pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('Hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n });\n addParseToken('Hmmss', function (input, array, config) {\n var pos1 = input.length - 4;\n var pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n });\n\n // LOCALES\n\n function localeIsPM (input) {\n // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays\n // Using charAt should be more compatible.\n return ((input + '').toLowerCase().charAt(0) === 'p');\n }\n\n var defaultLocaleMeridiemParse = /[ap]\\.?m?\\.?/i;\n function localeMeridiem (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'pm' : 'PM';\n } else {\n return isLower ? 'am' : 'AM';\n }\n }\n\n\n // MOMENTS\n\n // Setting the hour should keep the time, because the user explicitly\n // specified which hour they want. So trying to maintain the same hour (in\n // a new timezone) makes sense. Adding/subtracting hours does not follow\n // this rule.\n var getSetHour = makeGetSet('Hours', true);\n\n var baseConfig = {\n calendar: defaultCalendar,\n longDateFormat: defaultLongDateFormat,\n invalidDate: defaultInvalidDate,\n ordinal: defaultOrdinal,\n dayOfMonthOrdinalParse: defaultDayOfMonthOrdinalParse,\n relativeTime: defaultRelativeTime,\n\n months: defaultLocaleMonths,\n monthsShort: defaultLocaleMonthsShort,\n\n week: defaultLocaleWeek,\n\n weekdays: defaultLocaleWeekdays,\n weekdaysMin: defaultLocaleWeekdaysMin,\n weekdaysShort: defaultLocaleWeekdaysShort,\n\n meridiemParse: defaultLocaleMeridiemParse\n };\n\n // internal storage for locale config files\n var locales = {};\n var localeFamilies = {};\n var globalLocale;\n\n function normalizeLocale(key) {\n return key ? key.toLowerCase().replace('_', '-') : key;\n }\n\n // pick the locale from the array\n // try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each\n // substring from most specific to least, but move to the next array item if it's a more specific variant than the current root\n function chooseLocale(names) {\n var i = 0, j, next, locale, split;\n\n while (i < names.length) {\n split = normalizeLocale(names[i]).split('-');\n j = split.length;\n next = normalizeLocale(names[i + 1]);\n next = next ? next.split('-') : null;\n while (j > 0) {\n locale = loadLocale(split.slice(0, j).join('-'));\n if (locale) {\n return locale;\n }\n if (next && next.length >= j && compareArrays(split, next, true) >= j - 1) {\n //the next array item is better than a shallower substring of this one\n break;\n }\n j--;\n }\n i++;\n }\n return globalLocale;\n }\n\n function loadLocale(name) {\n var oldLocale = null;\n // TODO: Find a better way to register and load all the locales in Node\n if (!locales[name] && (typeof module !== 'undefined') &&\n module && module.exports) {\n try {\n oldLocale = globalLocale._abbr;\n var aliasedRequire = require;\n aliasedRequire('./locale/' + name);\n getSetGlobalLocale(oldLocale);\n } catch (e) {}\n }\n return locales[name];\n }\n\n // This function will load locale and then set the global locale. If\n // no arguments are passed in, it will simply return the current global\n // locale key.\n function getSetGlobalLocale (key, values) {\n var data;\n if (key) {\n if (isUndefined(values)) {\n data = getLocale(key);\n }\n else {\n data = defineLocale(key, values);\n }\n\n if (data) {\n // moment.duration._locale = moment._locale = data;\n globalLocale = data;\n }\n else {\n if ((typeof console !== 'undefined') && console.warn) {\n //warn user if arguments are passed but the locale could not be set\n console.warn('Locale ' + key + ' not found. Did you forget to load it?');\n }\n }\n }\n\n return globalLocale._abbr;\n }\n\n function defineLocale (name, config) {\n if (config !== null) {\n var locale, parentConfig = baseConfig;\n config.abbr = name;\n if (locales[name] != null) {\n deprecateSimple('defineLocaleOverride',\n 'use moment.updateLocale(localeName, config) to change ' +\n 'an existing locale. moment.defineLocale(localeName, ' +\n 'config) should only be used for creating a new locale ' +\n 'See http://momentjs.com/guides/#/warnings/define-locale/ for more info.');\n parentConfig = locales[name]._config;\n } else if (config.parentLocale != null) {\n if (locales[config.parentLocale] != null) {\n parentConfig = locales[config.parentLocale]._config;\n } else {\n locale = loadLocale(config.parentLocale);\n if (locale != null) {\n parentConfig = locale._config;\n } else {\n if (!localeFamilies[config.parentLocale]) {\n localeFamilies[config.parentLocale] = [];\n }\n localeFamilies[config.parentLocale].push({\n name: name,\n config: config\n });\n return null;\n }\n }\n }\n locales[name] = new Locale(mergeConfigs(parentConfig, config));\n\n if (localeFamilies[name]) {\n localeFamilies[name].forEach(function (x) {\n defineLocale(x.name, x.config);\n });\n }\n\n // backwards compat for now: also set the locale\n // make sure we set the locale AFTER all child locales have been\n // created, so we won't end up with the child locale set.\n getSetGlobalLocale(name);\n\n\n return locales[name];\n } else {\n // useful for testing\n delete locales[name];\n return null;\n }\n }\n\n function updateLocale(name, config) {\n if (config != null) {\n var locale, tmpLocale, parentConfig = baseConfig;\n // MERGE\n tmpLocale = loadLocale(name);\n if (tmpLocale != null) {\n parentConfig = tmpLocale._config;\n }\n config = mergeConfigs(parentConfig, config);\n locale = new Locale(config);\n locale.parentLocale = locales[name];\n locales[name] = locale;\n\n // backwards compat for now: also set the locale\n getSetGlobalLocale(name);\n } else {\n // pass null for config to unupdate, useful for tests\n if (locales[name] != null) {\n if (locales[name].parentLocale != null) {\n locales[name] = locales[name].parentLocale;\n } else if (locales[name] != null) {\n delete locales[name];\n }\n }\n }\n return locales[name];\n }\n\n // returns locale data\n function getLocale (key) {\n var locale;\n\n if (key && key._locale && key._locale._abbr) {\n key = key._locale._abbr;\n }\n\n if (!key) {\n return globalLocale;\n }\n\n if (!isArray(key)) {\n //short-circuit everything else\n locale = loadLocale(key);\n if (locale) {\n return locale;\n }\n key = [key];\n }\n\n return chooseLocale(key);\n }\n\n function listLocales() {\n return keys(locales);\n }\n\n function checkOverflow (m) {\n var overflow;\n var a = m._a;\n\n if (a && getParsingFlags(m).overflow === -2) {\n overflow =\n a[MONTH] < 0 || a[MONTH] > 11 ? MONTH :\n a[DATE] < 1 || a[DATE] > daysInMonth(a[YEAR], a[MONTH]) ? DATE :\n a[HOUR] < 0 || a[HOUR] > 24 || (a[HOUR] === 24 && (a[MINUTE] !== 0 || a[SECOND] !== 0 || a[MILLISECOND] !== 0)) ? HOUR :\n a[MINUTE] < 0 || a[MINUTE] > 59 ? MINUTE :\n a[SECOND] < 0 || a[SECOND] > 59 ? SECOND :\n a[MILLISECOND] < 0 || a[MILLISECOND] > 999 ? MILLISECOND :\n -1;\n\n if (getParsingFlags(m)._overflowDayOfYear && (overflow < YEAR || overflow > DATE)) {\n overflow = DATE;\n }\n if (getParsingFlags(m)._overflowWeeks && overflow === -1) {\n overflow = WEEK;\n }\n if (getParsingFlags(m)._overflowWeekday && overflow === -1) {\n overflow = WEEKDAY;\n }\n\n getParsingFlags(m).overflow = overflow;\n }\n\n return m;\n }\n\n // Pick the first defined of two or three arguments.\n function defaults(a, b, c) {\n if (a != null) {\n return a;\n }\n if (b != null) {\n return b;\n }\n return c;\n }\n\n function currentDateArray(config) {\n // hooks is actually the exported moment object\n var nowValue = new Date(hooks.now());\n if (config._useUTC) {\n return [nowValue.getUTCFullYear(), nowValue.getUTCMonth(), nowValue.getUTCDate()];\n }\n return [nowValue.getFullYear(), nowValue.getMonth(), nowValue.getDate()];\n }\n\n // convert an array to a date.\n // the array should mirror the parameters below\n // note: all values past the year are optional and will default to the lowest possible value.\n // [year, month, day , hour, minute, second, millisecond]\n function configFromArray (config) {\n var i, date, input = [], currentDate, expectedWeekday, yearToUse;\n\n if (config._d) {\n return;\n }\n\n currentDate = currentDateArray(config);\n\n //compute day of the year from weeks and weekdays\n if (config._w && config._a[DATE] == null && config._a[MONTH] == null) {\n dayOfYearFromWeekInfo(config);\n }\n\n //if the day of the year is set, figure out what it is\n if (config._dayOfYear != null) {\n yearToUse = defaults(config._a[YEAR], currentDate[YEAR]);\n\n if (config._dayOfYear > daysInYear(yearToUse) || config._dayOfYear === 0) {\n getParsingFlags(config)._overflowDayOfYear = true;\n }\n\n date = createUTCDate(yearToUse, 0, config._dayOfYear);\n config._a[MONTH] = date.getUTCMonth();\n config._a[DATE] = date.getUTCDate();\n }\n\n // Default to current date.\n // * if no year, month, day of month are given, default to today\n // * if day of month is given, default month and year\n // * if month is given, default only year\n // * if year is given, don't default anything\n for (i = 0; i < 3 && config._a[i] == null; ++i) {\n config._a[i] = input[i] = currentDate[i];\n }\n\n // Zero out whatever was not defaulted, including time\n for (; i < 7; i++) {\n config._a[i] = input[i] = (config._a[i] == null) ? (i === 2 ? 1 : 0) : config._a[i];\n }\n\n // Check for 24:00:00.000\n if (config._a[HOUR] === 24 &&\n config._a[MINUTE] === 0 &&\n config._a[SECOND] === 0 &&\n config._a[MILLISECOND] === 0) {\n config._nextDay = true;\n config._a[HOUR] = 0;\n }\n\n config._d = (config._useUTC ? createUTCDate : createDate).apply(null, input);\n expectedWeekday = config._useUTC ? config._d.getUTCDay() : config._d.getDay();\n\n // Apply timezone offset from input. The actual utcOffset can be changed\n // with parseZone.\n if (config._tzm != null) {\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n }\n\n if (config._nextDay) {\n config._a[HOUR] = 24;\n }\n\n // check for mismatching day of week\n if (config._w && typeof config._w.d !== 'undefined' && config._w.d !== expectedWeekday) {\n getParsingFlags(config).weekdayMismatch = true;\n }\n }\n\n function dayOfYearFromWeekInfo(config) {\n var w, weekYear, week, weekday, dow, doy, temp, weekdayOverflow;\n\n w = config._w;\n if (w.GG != null || w.W != null || w.E != null) {\n dow = 1;\n doy = 4;\n\n // TODO: We need to take the current isoWeekYear, but that depends on\n // how we interpret now (local, utc, fixed offset). So create\n // a now version of current config (take local/utc/offset flags, and\n // create now).\n weekYear = defaults(w.GG, config._a[YEAR], weekOfYear(createLocal(), 1, 4).year);\n week = defaults(w.W, 1);\n weekday = defaults(w.E, 1);\n if (weekday < 1 || weekday > 7) {\n weekdayOverflow = true;\n }\n } else {\n dow = config._locale._week.dow;\n doy = config._locale._week.doy;\n\n var curWeek = weekOfYear(createLocal(), dow, doy);\n\n weekYear = defaults(w.gg, config._a[YEAR], curWeek.year);\n\n // Default to current week.\n week = defaults(w.w, curWeek.week);\n\n if (w.d != null) {\n // weekday -- low day numbers are considered next week\n weekday = w.d;\n if (weekday < 0 || weekday > 6) {\n weekdayOverflow = true;\n }\n } else if (w.e != null) {\n // local weekday -- counting starts from begining of week\n weekday = w.e + dow;\n if (w.e < 0 || w.e > 6) {\n weekdayOverflow = true;\n }\n } else {\n // default to begining of week\n weekday = dow;\n }\n }\n if (week < 1 || week > weeksInYear(weekYear, dow, doy)) {\n getParsingFlags(config)._overflowWeeks = true;\n } else if (weekdayOverflow != null) {\n getParsingFlags(config)._overflowWeekday = true;\n } else {\n temp = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy);\n config._a[YEAR] = temp.year;\n config._dayOfYear = temp.dayOfYear;\n }\n }\n\n // iso 8601 regex\n // 0000-00-00 0000-W00 or 0000-W00-0 + T + 00 or 00:00 or 00:00:00 or 00:00:00.000 + +00:00 or +0000 or +00)\n var extendedIsoRegex = /^\\s*((?:[+-]\\d{6}|\\d{4})-(?:\\d\\d-\\d\\d|W\\d\\d-\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?::\\d\\d(?::\\d\\d(?:[.,]\\d+)?)?)?)([\\+\\-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/;\n var basicIsoRegex = /^\\s*((?:[+-]\\d{6}|\\d{4})(?:\\d\\d\\d\\d|W\\d\\d\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?:\\d\\d(?:\\d\\d(?:[.,]\\d+)?)?)?)([\\+\\-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/;\n\n var tzRegex = /Z|[+-]\\d\\d(?::?\\d\\d)?/;\n\n var isoDates = [\n ['YYYYYY-MM-DD', /[+-]\\d{6}-\\d\\d-\\d\\d/],\n ['YYYY-MM-DD', /\\d{4}-\\d\\d-\\d\\d/],\n ['GGGG-[W]WW-E', /\\d{4}-W\\d\\d-\\d/],\n ['GGGG-[W]WW', /\\d{4}-W\\d\\d/, false],\n ['YYYY-DDD', /\\d{4}-\\d{3}/],\n ['YYYY-MM', /\\d{4}-\\d\\d/, false],\n ['YYYYYYMMDD', /[+-]\\d{10}/],\n ['YYYYMMDD', /\\d{8}/],\n // YYYYMM is NOT allowed by the standard\n ['GGGG[W]WWE', /\\d{4}W\\d{3}/],\n ['GGGG[W]WW', /\\d{4}W\\d{2}/, false],\n ['YYYYDDD', /\\d{7}/]\n ];\n\n // iso time formats and regexes\n var isoTimes = [\n ['HH:mm:ss.SSSS', /\\d\\d:\\d\\d:\\d\\d\\.\\d+/],\n ['HH:mm:ss,SSSS', /\\d\\d:\\d\\d:\\d\\d,\\d+/],\n ['HH:mm:ss', /\\d\\d:\\d\\d:\\d\\d/],\n ['HH:mm', /\\d\\d:\\d\\d/],\n ['HHmmss.SSSS', /\\d\\d\\d\\d\\d\\d\\.\\d+/],\n ['HHmmss,SSSS', /\\d\\d\\d\\d\\d\\d,\\d+/],\n ['HHmmss', /\\d\\d\\d\\d\\d\\d/],\n ['HHmm', /\\d\\d\\d\\d/],\n ['HH', /\\d\\d/]\n ];\n\n var aspNetJsonRegex = /^\\/?Date\\((\\-?\\d+)/i;\n\n // date from iso format\n function configFromISO(config) {\n var i, l,\n string = config._i,\n match = extendedIsoRegex.exec(string) || basicIsoRegex.exec(string),\n allowTime, dateFormat, timeFormat, tzFormat;\n\n if (match) {\n getParsingFlags(config).iso = true;\n\n for (i = 0, l = isoDates.length; i < l; i++) {\n if (isoDates[i][1].exec(match[1])) {\n dateFormat = isoDates[i][0];\n allowTime = isoDates[i][2] !== false;\n break;\n }\n }\n if (dateFormat == null) {\n config._isValid = false;\n return;\n }\n if (match[3]) {\n for (i = 0, l = isoTimes.length; i < l; i++) {\n if (isoTimes[i][1].exec(match[3])) {\n // match[2] should be 'T' or space\n timeFormat = (match[2] || ' ') + isoTimes[i][0];\n break;\n }\n }\n if (timeFormat == null) {\n config._isValid = false;\n return;\n }\n }\n if (!allowTime && timeFormat != null) {\n config._isValid = false;\n return;\n }\n if (match[4]) {\n if (tzRegex.exec(match[4])) {\n tzFormat = 'Z';\n } else {\n config._isValid = false;\n return;\n }\n }\n config._f = dateFormat + (timeFormat || '') + (tzFormat || '');\n configFromStringAndFormat(config);\n } else {\n config._isValid = false;\n }\n }\n\n // RFC 2822 regex: For details see https://tools.ietf.org/html/rfc2822#section-3.3\n var rfc2822 = /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\\s)?(\\d{1,2})\\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\\s(\\d{2,4})\\s(\\d\\d):(\\d\\d)(?::(\\d\\d))?\\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\\d{4}))$/;\n\n function extractFromRFC2822Strings(yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr) {\n var result = [\n untruncateYear(yearStr),\n defaultLocaleMonthsShort.indexOf(monthStr),\n parseInt(dayStr, 10),\n parseInt(hourStr, 10),\n parseInt(minuteStr, 10)\n ];\n\n if (secondStr) {\n result.push(parseInt(secondStr, 10));\n }\n\n return result;\n }\n\n function untruncateYear(yearStr) {\n var year = parseInt(yearStr, 10);\n if (year <= 49) {\n return 2000 + year;\n } else if (year <= 999) {\n return 1900 + year;\n }\n return year;\n }\n\n function preprocessRFC2822(s) {\n // Remove comments and folding whitespace and replace multiple-spaces with a single space\n return s.replace(/\\([^)]*\\)|[\\n\\t]/g, ' ').replace(/(\\s\\s+)/g, ' ').replace(/^\\s\\s*/, '').replace(/\\s\\s*$/, '');\n }\n\n function checkWeekday(weekdayStr, parsedInput, config) {\n if (weekdayStr) {\n // TODO: Replace the vanilla JS Date object with an indepentent day-of-week check.\n var weekdayProvided = defaultLocaleWeekdaysShort.indexOf(weekdayStr),\n weekdayActual = new Date(parsedInput[0], parsedInput[1], parsedInput[2]).getDay();\n if (weekdayProvided !== weekdayActual) {\n getParsingFlags(config).weekdayMismatch = true;\n config._isValid = false;\n return false;\n }\n }\n return true;\n }\n\n var obsOffsets = {\n UT: 0,\n GMT: 0,\n EDT: -4 * 60,\n EST: -5 * 60,\n CDT: -5 * 60,\n CST: -6 * 60,\n MDT: -6 * 60,\n MST: -7 * 60,\n PDT: -7 * 60,\n PST: -8 * 60\n };\n\n function calculateOffset(obsOffset, militaryOffset, numOffset) {\n if (obsOffset) {\n return obsOffsets[obsOffset];\n } else if (militaryOffset) {\n // the only allowed military tz is Z\n return 0;\n } else {\n var hm = parseInt(numOffset, 10);\n var m = hm % 100, h = (hm - m) / 100;\n return h * 60 + m;\n }\n }\n\n // date and time from ref 2822 format\n function configFromRFC2822(config) {\n var match = rfc2822.exec(preprocessRFC2822(config._i));\n if (match) {\n var parsedArray = extractFromRFC2822Strings(match[4], match[3], match[2], match[5], match[6], match[7]);\n if (!checkWeekday(match[1], parsedArray, config)) {\n return;\n }\n\n config._a = parsedArray;\n config._tzm = calculateOffset(match[8], match[9], match[10]);\n\n config._d = createUTCDate.apply(null, config._a);\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n\n getParsingFlags(config).rfc2822 = true;\n } else {\n config._isValid = false;\n }\n }\n\n // date from iso format or fallback\n function configFromString(config) {\n var matched = aspNetJsonRegex.exec(config._i);\n\n if (matched !== null) {\n config._d = new Date(+matched[1]);\n return;\n }\n\n configFromISO(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n configFromRFC2822(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n // Final attempt, use Input Fallback\n hooks.createFromInputFallback(config);\n }\n\n hooks.createFromInputFallback = deprecate(\n 'value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), ' +\n 'which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are ' +\n 'discouraged and will be removed in an upcoming major release. Please refer to ' +\n 'http://momentjs.com/guides/#/warnings/js-date/ for more info.',\n function (config) {\n config._d = new Date(config._i + (config._useUTC ? ' UTC' : ''));\n }\n );\n\n // constant that refers to the ISO standard\n hooks.ISO_8601 = function () {};\n\n // constant that refers to the RFC 2822 form\n hooks.RFC_2822 = function () {};\n\n // date from string and format string\n function configFromStringAndFormat(config) {\n // TODO: Move this to another part of the creation flow to prevent circular deps\n if (config._f === hooks.ISO_8601) {\n configFromISO(config);\n return;\n }\n if (config._f === hooks.RFC_2822) {\n configFromRFC2822(config);\n return;\n }\n config._a = [];\n getParsingFlags(config).empty = true;\n\n // This array is used to make a Date, either with `new Date` or `Date.UTC`\n var string = '' + config._i,\n i, parsedInput, tokens, token, skipped,\n stringLength = string.length,\n totalParsedInputLength = 0;\n\n tokens = expandFormat(config._f, config._locale).match(formattingTokens) || [];\n\n for (i = 0; i < tokens.length; i++) {\n token = tokens[i];\n parsedInput = (string.match(getParseRegexForToken(token, config)) || [])[0];\n // console.log('token', token, 'parsedInput', parsedInput,\n // 'regex', getParseRegexForToken(token, config));\n if (parsedInput) {\n skipped = string.substr(0, string.indexOf(parsedInput));\n if (skipped.length > 0) {\n getParsingFlags(config).unusedInput.push(skipped);\n }\n string = string.slice(string.indexOf(parsedInput) + parsedInput.length);\n totalParsedInputLength += parsedInput.length;\n }\n // don't parse if it's not a known token\n if (formatTokenFunctions[token]) {\n if (parsedInput) {\n getParsingFlags(config).empty = false;\n }\n else {\n getParsingFlags(config).unusedTokens.push(token);\n }\n addTimeToArrayFromToken(token, parsedInput, config);\n }\n else if (config._strict && !parsedInput) {\n getParsingFlags(config).unusedTokens.push(token);\n }\n }\n\n // add remaining unparsed input length to the string\n getParsingFlags(config).charsLeftOver = stringLength - totalParsedInputLength;\n if (string.length > 0) {\n getParsingFlags(config).unusedInput.push(string);\n }\n\n // clear _12h flag if hour is <= 12\n if (config._a[HOUR] <= 12 &&\n getParsingFlags(config).bigHour === true &&\n config._a[HOUR] > 0) {\n getParsingFlags(config).bigHour = undefined;\n }\n\n getParsingFlags(config).parsedDateParts = config._a.slice(0);\n getParsingFlags(config).meridiem = config._meridiem;\n // handle meridiem\n config._a[HOUR] = meridiemFixWrap(config._locale, config._a[HOUR], config._meridiem);\n\n configFromArray(config);\n checkOverflow(config);\n }\n\n\n function meridiemFixWrap (locale, hour, meridiem) {\n var isPm;\n\n if (meridiem == null) {\n // nothing to do\n return hour;\n }\n if (locale.meridiemHour != null) {\n return locale.meridiemHour(hour, meridiem);\n } else if (locale.isPM != null) {\n // Fallback\n isPm = locale.isPM(meridiem);\n if (isPm && hour < 12) {\n hour += 12;\n }\n if (!isPm && hour === 12) {\n hour = 0;\n }\n return hour;\n } else {\n // this is not supposed to happen\n return hour;\n }\n }\n\n // date from string and array of format strings\n function configFromStringAndArray(config) {\n var tempConfig,\n bestMoment,\n\n scoreToBeat,\n i,\n currentScore;\n\n if (config._f.length === 0) {\n getParsingFlags(config).invalidFormat = true;\n config._d = new Date(NaN);\n return;\n }\n\n for (i = 0; i < config._f.length; i++) {\n currentScore = 0;\n tempConfig = copyConfig({}, config);\n if (config._useUTC != null) {\n tempConfig._useUTC = config._useUTC;\n }\n tempConfig._f = config._f[i];\n configFromStringAndFormat(tempConfig);\n\n if (!isValid(tempConfig)) {\n continue;\n }\n\n // if there is any input that was not parsed add a penalty for that format\n currentScore += getParsingFlags(tempConfig).charsLeftOver;\n\n //or tokens\n currentScore += getParsingFlags(tempConfig).unusedTokens.length * 10;\n\n getParsingFlags(tempConfig).score = currentScore;\n\n if (scoreToBeat == null || currentScore < scoreToBeat) {\n scoreToBeat = currentScore;\n bestMoment = tempConfig;\n }\n }\n\n extend(config, bestMoment || tempConfig);\n }\n\n function configFromObject(config) {\n if (config._d) {\n return;\n }\n\n var i = normalizeObjectUnits(config._i);\n config._a = map([i.year, i.month, i.day || i.date, i.hour, i.minute, i.second, i.millisecond], function (obj) {\n return obj && parseInt(obj, 10);\n });\n\n configFromArray(config);\n }\n\n function createFromConfig (config) {\n var res = new Moment(checkOverflow(prepareConfig(config)));\n if (res._nextDay) {\n // Adding is smart enough around DST\n res.add(1, 'd');\n res._nextDay = undefined;\n }\n\n return res;\n }\n\n function prepareConfig (config) {\n var input = config._i,\n format = config._f;\n\n config._locale = config._locale || getLocale(config._l);\n\n if (input === null || (format === undefined && input === '')) {\n return createInvalid({nullInput: true});\n }\n\n if (typeof input === 'string') {\n config._i = input = config._locale.preparse(input);\n }\n\n if (isMoment(input)) {\n return new Moment(checkOverflow(input));\n } else if (isDate(input)) {\n config._d = input;\n } else if (isArray(format)) {\n configFromStringAndArray(config);\n } else if (format) {\n configFromStringAndFormat(config);\n } else {\n configFromInput(config);\n }\n\n if (!isValid(config)) {\n config._d = null;\n }\n\n return config;\n }\n\n function configFromInput(config) {\n var input = config._i;\n if (isUndefined(input)) {\n config._d = new Date(hooks.now());\n } else if (isDate(input)) {\n config._d = new Date(input.valueOf());\n } else if (typeof input === 'string') {\n configFromString(config);\n } else if (isArray(input)) {\n config._a = map(input.slice(0), function (obj) {\n return parseInt(obj, 10);\n });\n configFromArray(config);\n } else if (isObject(input)) {\n configFromObject(config);\n } else if (isNumber(input)) {\n // from milliseconds\n config._d = new Date(input);\n } else {\n hooks.createFromInputFallback(config);\n }\n }\n\n function createLocalOrUTC (input, format, locale, strict, isUTC) {\n var c = {};\n\n if (locale === true || locale === false) {\n strict = locale;\n locale = undefined;\n }\n\n if ((isObject(input) && isObjectEmpty(input)) ||\n (isArray(input) && input.length === 0)) {\n input = undefined;\n }\n // object construction must be done this way.\n // https://github.com/moment/moment/issues/1423\n c._isAMomentObject = true;\n c._useUTC = c._isUTC = isUTC;\n c._l = locale;\n c._i = input;\n c._f = format;\n c._strict = strict;\n\n return createFromConfig(c);\n }\n\n function createLocal (input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, false);\n }\n\n var prototypeMin = deprecate(\n 'moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/',\n function () {\n var other = createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other < this ? this : other;\n } else {\n return createInvalid();\n }\n }\n );\n\n var prototypeMax = deprecate(\n 'moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/',\n function () {\n var other = createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other > this ? this : other;\n } else {\n return createInvalid();\n }\n }\n );\n\n // Pick a moment m from moments so that m[fn](other) is true for all\n // other. This relies on the function fn to be transitive.\n //\n // moments should either be an array of moment objects or an array, whose\n // first element is an array of moment objects.\n function pickBy(fn, moments) {\n var res, i;\n if (moments.length === 1 && isArray(moments[0])) {\n moments = moments[0];\n }\n if (!moments.length) {\n return createLocal();\n }\n res = moments[0];\n for (i = 1; i < moments.length; ++i) {\n if (!moments[i].isValid() || moments[i][fn](res)) {\n res = moments[i];\n }\n }\n return res;\n }\n\n // TODO: Use [].sort instead?\n function min () {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isBefore', args);\n }\n\n function max () {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isAfter', args);\n }\n\n var now = function () {\n return Date.now ? Date.now() : +(new Date());\n };\n\n var ordering = ['year', 'quarter', 'month', 'week', 'day', 'hour', 'minute', 'second', 'millisecond'];\n\n function isDurationValid(m) {\n for (var key in m) {\n if (!(indexOf.call(ordering, key) !== -1 && (m[key] == null || !isNaN(m[key])))) {\n return false;\n }\n }\n\n var unitHasDecimal = false;\n for (var i = 0; i < ordering.length; ++i) {\n if (m[ordering[i]]) {\n if (unitHasDecimal) {\n return false; // only allow non-integers for smallest unit\n }\n if (parseFloat(m[ordering[i]]) !== toInt(m[ordering[i]])) {\n unitHasDecimal = true;\n }\n }\n }\n\n return true;\n }\n\n function isValid$1() {\n return this._isValid;\n }\n\n function createInvalid$1() {\n return createDuration(NaN);\n }\n\n function Duration (duration) {\n var normalizedInput = normalizeObjectUnits(duration),\n years = normalizedInput.year || 0,\n quarters = normalizedInput.quarter || 0,\n months = normalizedInput.month || 0,\n weeks = normalizedInput.week || 0,\n days = normalizedInput.day || 0,\n hours = normalizedInput.hour || 0,\n minutes = normalizedInput.minute || 0,\n seconds = normalizedInput.second || 0,\n milliseconds = normalizedInput.millisecond || 0;\n\n this._isValid = isDurationValid(normalizedInput);\n\n // representation for dateAddRemove\n this._milliseconds = +milliseconds +\n seconds * 1e3 + // 1000\n minutes * 6e4 + // 1000 * 60\n hours * 1000 * 60 * 60; //using 1000 * 60 * 60 instead of 36e5 to avoid floating point rounding errors https://github.com/moment/moment/issues/2978\n // Because of dateAddRemove treats 24 hours as different from a\n // day when working around DST, we need to store them separately\n this._days = +days +\n weeks * 7;\n // It is impossible to translate months into days without knowing\n // which months you are are talking about, so we have to store\n // it separately.\n this._months = +months +\n quarters * 3 +\n years * 12;\n\n this._data = {};\n\n this._locale = getLocale();\n\n this._bubble();\n }\n\n function isDuration (obj) {\n return obj instanceof Duration;\n }\n\n function absRound (number) {\n if (number < 0) {\n return Math.round(-1 * number) * -1;\n } else {\n return Math.round(number);\n }\n }\n\n // FORMATTING\n\n function offset (token, separator) {\n addFormatToken(token, 0, 0, function () {\n var offset = this.utcOffset();\n var sign = '+';\n if (offset < 0) {\n offset = -offset;\n sign = '-';\n }\n return sign + zeroFill(~~(offset / 60), 2) + separator + zeroFill(~~(offset) % 60, 2);\n });\n }\n\n offset('Z', ':');\n offset('ZZ', '');\n\n // PARSING\n\n addRegexToken('Z', matchShortOffset);\n addRegexToken('ZZ', matchShortOffset);\n addParseToken(['Z', 'ZZ'], function (input, array, config) {\n config._useUTC = true;\n config._tzm = offsetFromString(matchShortOffset, input);\n });\n\n // HELPERS\n\n // timezone chunker\n // '+10:00' > ['10', '00']\n // '-1530' > ['-15', '30']\n var chunkOffset = /([\\+\\-]|\\d\\d)/gi;\n\n function offsetFromString(matcher, string) {\n var matches = (string || '').match(matcher);\n\n if (matches === null) {\n return null;\n }\n\n var chunk = matches[matches.length - 1] || [];\n var parts = (chunk + '').match(chunkOffset) || ['-', 0, 0];\n var minutes = +(parts[1] * 60) + toInt(parts[2]);\n\n return minutes === 0 ?\n 0 :\n parts[0] === '+' ? minutes : -minutes;\n }\n\n // Return a moment from input, that is local/utc/zone equivalent to model.\n function cloneWithOffset(input, model) {\n var res, diff;\n if (model._isUTC) {\n res = model.clone();\n diff = (isMoment(input) || isDate(input) ? input.valueOf() : createLocal(input).valueOf()) - res.valueOf();\n // Use low-level api, because this fn is low-level api.\n res._d.setTime(res._d.valueOf() + diff);\n hooks.updateOffset(res, false);\n return res;\n } else {\n return createLocal(input).local();\n }\n }\n\n function getDateOffset (m) {\n // On Firefox.24 Date#getTimezoneOffset returns a floating point.\n // https://github.com/moment/moment/pull/1871\n return -Math.round(m._d.getTimezoneOffset() / 15) * 15;\n }\n\n // HOOKS\n\n // This function will be called whenever a moment is mutated.\n // It is intended to keep the offset in sync with the timezone.\n hooks.updateOffset = function () {};\n\n // MOMENTS\n\n // keepLocalTime = true means only change the timezone, without\n // affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]-->\n // 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset\n // +0200, so we adjust the time as needed, to be valid.\n //\n // Keeping the time actually adds/subtracts (one hour)\n // from the actual represented time. That is why we call updateOffset\n // a second time. In case it wants us to change the offset again\n // _changeInProgress == true case, then we have to adjust, because\n // there is no such time in the given timezone.\n function getSetOffset (input, keepLocalTime, keepMinutes) {\n var offset = this._offset || 0,\n localAdjust;\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n if (input != null) {\n if (typeof input === 'string') {\n input = offsetFromString(matchShortOffset, input);\n if (input === null) {\n return this;\n }\n } else if (Math.abs(input) < 16 && !keepMinutes) {\n input = input * 60;\n }\n if (!this._isUTC && keepLocalTime) {\n localAdjust = getDateOffset(this);\n }\n this._offset = input;\n this._isUTC = true;\n if (localAdjust != null) {\n this.add(localAdjust, 'm');\n }\n if (offset !== input) {\n if (!keepLocalTime || this._changeInProgress) {\n addSubtract(this, createDuration(input - offset, 'm'), 1, false);\n } else if (!this._changeInProgress) {\n this._changeInProgress = true;\n hooks.updateOffset(this, true);\n this._changeInProgress = null;\n }\n }\n return this;\n } else {\n return this._isUTC ? offset : getDateOffset(this);\n }\n }\n\n function getSetZone (input, keepLocalTime) {\n if (input != null) {\n if (typeof input !== 'string') {\n input = -input;\n }\n\n this.utcOffset(input, keepLocalTime);\n\n return this;\n } else {\n return -this.utcOffset();\n }\n }\n\n function setOffsetToUTC (keepLocalTime) {\n return this.utcOffset(0, keepLocalTime);\n }\n\n function setOffsetToLocal (keepLocalTime) {\n if (this._isUTC) {\n this.utcOffset(0, keepLocalTime);\n this._isUTC = false;\n\n if (keepLocalTime) {\n this.subtract(getDateOffset(this), 'm');\n }\n }\n return this;\n }\n\n function setOffsetToParsedOffset () {\n if (this._tzm != null) {\n this.utcOffset(this._tzm, false, true);\n } else if (typeof this._i === 'string') {\n var tZone = offsetFromString(matchOffset, this._i);\n if (tZone != null) {\n this.utcOffset(tZone);\n }\n else {\n this.utcOffset(0, true);\n }\n }\n return this;\n }\n\n function hasAlignedHourOffset (input) {\n if (!this.isValid()) {\n return false;\n }\n input = input ? createLocal(input).utcOffset() : 0;\n\n return (this.utcOffset() - input) % 60 === 0;\n }\n\n function isDaylightSavingTime () {\n return (\n this.utcOffset() > this.clone().month(0).utcOffset() ||\n this.utcOffset() > this.clone().month(5).utcOffset()\n );\n }\n\n function isDaylightSavingTimeShifted () {\n if (!isUndefined(this._isDSTShifted)) {\n return this._isDSTShifted;\n }\n\n var c = {};\n\n copyConfig(c, this);\n c = prepareConfig(c);\n\n if (c._a) {\n var other = c._isUTC ? createUTC(c._a) : createLocal(c._a);\n this._isDSTShifted = this.isValid() &&\n compareArrays(c._a, other.toArray()) > 0;\n } else {\n this._isDSTShifted = false;\n }\n\n return this._isDSTShifted;\n }\n\n function isLocal () {\n return this.isValid() ? !this._isUTC : false;\n }\n\n function isUtcOffset () {\n return this.isValid() ? this._isUTC : false;\n }\n\n function isUtc () {\n return this.isValid() ? this._isUTC && this._offset === 0 : false;\n }\n\n // ASP.NET json date format regex\n var aspNetRegex = /^(\\-|\\+)?(?:(\\d*)[. ])?(\\d+)\\:(\\d+)(?:\\:(\\d+)(\\.\\d*)?)?$/;\n\n // from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html\n // somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere\n // and further modified to allow for strings containing both week and day\n var isoRegex = /^(-|\\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;\n\n function createDuration (input, key) {\n var duration = input,\n // matching against regexp is expensive, do it on demand\n match = null,\n sign,\n ret,\n diffRes;\n\n if (isDuration(input)) {\n duration = {\n ms : input._milliseconds,\n d : input._days,\n M : input._months\n };\n } else if (isNumber(input)) {\n duration = {};\n if (key) {\n duration[key] = input;\n } else {\n duration.milliseconds = input;\n }\n } else if (!!(match = aspNetRegex.exec(input))) {\n sign = (match[1] === '-') ? -1 : 1;\n duration = {\n y : 0,\n d : toInt(match[DATE]) * sign,\n h : toInt(match[HOUR]) * sign,\n m : toInt(match[MINUTE]) * sign,\n s : toInt(match[SECOND]) * sign,\n ms : toInt(absRound(match[MILLISECOND] * 1000)) * sign // the millisecond decimal point is included in the match\n };\n } else if (!!(match = isoRegex.exec(input))) {\n sign = (match[1] === '-') ? -1 : (match[1] === '+') ? 1 : 1;\n duration = {\n y : parseIso(match[2], sign),\n M : parseIso(match[3], sign),\n w : parseIso(match[4], sign),\n d : parseIso(match[5], sign),\n h : parseIso(match[6], sign),\n m : parseIso(match[7], sign),\n s : parseIso(match[8], sign)\n };\n } else if (duration == null) {// checks for null or undefined\n duration = {};\n } else if (typeof duration === 'object' && ('from' in duration || 'to' in duration)) {\n diffRes = momentsDifference(createLocal(duration.from), createLocal(duration.to));\n\n duration = {};\n duration.ms = diffRes.milliseconds;\n duration.M = diffRes.months;\n }\n\n ret = new Duration(duration);\n\n if (isDuration(input) && hasOwnProp(input, '_locale')) {\n ret._locale = input._locale;\n }\n\n return ret;\n }\n\n createDuration.fn = Duration.prototype;\n createDuration.invalid = createInvalid$1;\n\n function parseIso (inp, sign) {\n // We'd normally use ~~inp for this, but unfortunately it also\n // converts floats to ints.\n // inp may be undefined, so careful calling replace on it.\n var res = inp && parseFloat(inp.replace(',', '.'));\n // apply sign while we're at it\n return (isNaN(res) ? 0 : res) * sign;\n }\n\n function positiveMomentsDifference(base, other) {\n var res = {milliseconds: 0, months: 0};\n\n res.months = other.month() - base.month() +\n (other.year() - base.year()) * 12;\n if (base.clone().add(res.months, 'M').isAfter(other)) {\n --res.months;\n }\n\n res.milliseconds = +other - +(base.clone().add(res.months, 'M'));\n\n return res;\n }\n\n function momentsDifference(base, other) {\n var res;\n if (!(base.isValid() && other.isValid())) {\n return {milliseconds: 0, months: 0};\n }\n\n other = cloneWithOffset(other, base);\n if (base.isBefore(other)) {\n res = positiveMomentsDifference(base, other);\n } else {\n res = positiveMomentsDifference(other, base);\n res.milliseconds = -res.milliseconds;\n res.months = -res.months;\n }\n\n return res;\n }\n\n // TODO: remove 'name' arg after deprecation is removed\n function createAdder(direction, name) {\n return function (val, period) {\n var dur, tmp;\n //invert the arguments, but complain about it\n if (period !== null && !isNaN(+period)) {\n deprecateSimple(name, 'moment().' + name + '(period, number) is deprecated. Please use moment().' + name + '(number, period). ' +\n 'See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.');\n tmp = val; val = period; period = tmp;\n }\n\n val = typeof val === 'string' ? +val : val;\n dur = createDuration(val, period);\n addSubtract(this, dur, direction);\n return this;\n };\n }\n\n function addSubtract (mom, duration, isAdding, updateOffset) {\n var milliseconds = duration._milliseconds,\n days = absRound(duration._days),\n months = absRound(duration._months);\n\n if (!mom.isValid()) {\n // No op\n return;\n }\n\n updateOffset = updateOffset == null ? true : updateOffset;\n\n if (months) {\n setMonth(mom, get(mom, 'Month') + months * isAdding);\n }\n if (days) {\n set$1(mom, 'Date', get(mom, 'Date') + days * isAdding);\n }\n if (milliseconds) {\n mom._d.setTime(mom._d.valueOf() + milliseconds * isAdding);\n }\n if (updateOffset) {\n hooks.updateOffset(mom, days || months);\n }\n }\n\n var add = createAdder(1, 'add');\n var subtract = createAdder(-1, 'subtract');\n\n function getCalendarFormat(myMoment, now) {\n var diff = myMoment.diff(now, 'days', true);\n return diff < -6 ? 'sameElse' :\n diff < -1 ? 'lastWeek' :\n diff < 0 ? 'lastDay' :\n diff < 1 ? 'sameDay' :\n diff < 2 ? 'nextDay' :\n diff < 7 ? 'nextWeek' : 'sameElse';\n }\n\n function calendar$1 (time, formats) {\n // We want to compare the start of today, vs this.\n // Getting start-of-today depends on whether we're local/utc/offset or not.\n var now = time || createLocal(),\n sod = cloneWithOffset(now, this).startOf('day'),\n format = hooks.calendarFormat(this, sod) || 'sameElse';\n\n var output = formats && (isFunction(formats[format]) ? formats[format].call(this, now) : formats[format]);\n\n return this.format(output || this.localeData().calendar(format, this, createLocal(now)));\n }\n\n function clone () {\n return new Moment(this);\n }\n\n function isAfter (input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(!isUndefined(units) ? units : 'millisecond');\n if (units === 'millisecond') {\n return this.valueOf() > localInput.valueOf();\n } else {\n return localInput.valueOf() < this.clone().startOf(units).valueOf();\n }\n }\n\n function isBefore (input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(!isUndefined(units) ? units : 'millisecond');\n if (units === 'millisecond') {\n return this.valueOf() < localInput.valueOf();\n } else {\n return this.clone().endOf(units).valueOf() < localInput.valueOf();\n }\n }\n\n function isBetween (from, to, units, inclusivity) {\n inclusivity = inclusivity || '()';\n return (inclusivity[0] === '(' ? this.isAfter(from, units) : !this.isBefore(from, units)) &&\n (inclusivity[1] === ')' ? this.isBefore(to, units) : !this.isAfter(to, units));\n }\n\n function isSame (input, units) {\n var localInput = isMoment(input) ? input : createLocal(input),\n inputMs;\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units || 'millisecond');\n if (units === 'millisecond') {\n return this.valueOf() === localInput.valueOf();\n } else {\n inputMs = localInput.valueOf();\n return this.clone().startOf(units).valueOf() <= inputMs && inputMs <= this.clone().endOf(units).valueOf();\n }\n }\n\n function isSameOrAfter (input, units) {\n return this.isSame(input, units) || this.isAfter(input,units);\n }\n\n function isSameOrBefore (input, units) {\n return this.isSame(input, units) || this.isBefore(input,units);\n }\n\n function diff (input, units, asFloat) {\n var that,\n zoneDelta,\n output;\n\n if (!this.isValid()) {\n return NaN;\n }\n\n that = cloneWithOffset(input, this);\n\n if (!that.isValid()) {\n return NaN;\n }\n\n zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4;\n\n units = normalizeUnits(units);\n\n switch (units) {\n case 'year': output = monthDiff(this, that) / 12; break;\n case 'month': output = monthDiff(this, that); break;\n case 'quarter': output = monthDiff(this, that) / 3; break;\n case 'second': output = (this - that) / 1e3; break; // 1000\n case 'minute': output = (this - that) / 6e4; break; // 1000 * 60\n case 'hour': output = (this - that) / 36e5; break; // 1000 * 60 * 60\n case 'day': output = (this - that - zoneDelta) / 864e5; break; // 1000 * 60 * 60 * 24, negate dst\n case 'week': output = (this - that - zoneDelta) / 6048e5; break; // 1000 * 60 * 60 * 24 * 7, negate dst\n default: output = this - that;\n }\n\n return asFloat ? output : absFloor(output);\n }\n\n function monthDiff (a, b) {\n // difference in months\n var wholeMonthDiff = ((b.year() - a.year()) * 12) + (b.month() - a.month()),\n // b is in (anchor - 1 month, anchor + 1 month)\n anchor = a.clone().add(wholeMonthDiff, 'months'),\n anchor2, adjust;\n\n if (b - anchor < 0) {\n anchor2 = a.clone().add(wholeMonthDiff - 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor - anchor2);\n } else {\n anchor2 = a.clone().add(wholeMonthDiff + 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor2 - anchor);\n }\n\n //check for negative zero, return zero if negative zero\n return -(wholeMonthDiff + adjust) || 0;\n }\n\n hooks.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ';\n hooks.defaultFormatUtc = 'YYYY-MM-DDTHH:mm:ss[Z]';\n\n function toString () {\n return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ');\n }\n\n function toISOString(keepOffset) {\n if (!this.isValid()) {\n return null;\n }\n var utc = keepOffset !== true;\n var m = utc ? this.clone().utc() : this;\n if (m.year() < 0 || m.year() > 9999) {\n return formatMoment(m, utc ? 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYYYY-MM-DD[T]HH:mm:ss.SSSZ');\n }\n if (isFunction(Date.prototype.toISOString)) {\n // native implementation is ~50x faster, use it when we can\n if (utc) {\n return this.toDate().toISOString();\n } else {\n return new Date(this.valueOf() + this.utcOffset() * 60 * 1000).toISOString().replace('Z', formatMoment(m, 'Z'));\n }\n }\n return formatMoment(m, utc ? 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYY-MM-DD[T]HH:mm:ss.SSSZ');\n }\n\n /**\n * Return a human readable representation of a moment that can\n * also be evaluated to get a new moment which is the same\n *\n * @link https://nodejs.org/dist/latest/docs/api/util.html#util_custom_inspect_function_on_objects\n */\n function inspect () {\n if (!this.isValid()) {\n return 'moment.invalid(/* ' + this._i + ' */)';\n }\n var func = 'moment';\n var zone = '';\n if (!this.isLocal()) {\n func = this.utcOffset() === 0 ? 'moment.utc' : 'moment.parseZone';\n zone = 'Z';\n }\n var prefix = '[' + func + '(\"]';\n var year = (0 <= this.year() && this.year() <= 9999) ? 'YYYY' : 'YYYYYY';\n var datetime = '-MM-DD[T]HH:mm:ss.SSS';\n var suffix = zone + '[\")]';\n\n return this.format(prefix + year + datetime + suffix);\n }\n\n function format (inputString) {\n if (!inputString) {\n inputString = this.isUtc() ? hooks.defaultFormatUtc : hooks.defaultFormat;\n }\n var output = formatMoment(this, inputString);\n return this.localeData().postformat(output);\n }\n\n function from (time, withoutSuffix) {\n if (this.isValid() &&\n ((isMoment(time) && time.isValid()) ||\n createLocal(time).isValid())) {\n return createDuration({to: this, from: time}).locale(this.locale()).humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n\n function fromNow (withoutSuffix) {\n return this.from(createLocal(), withoutSuffix);\n }\n\n function to (time, withoutSuffix) {\n if (this.isValid() &&\n ((isMoment(time) && time.isValid()) ||\n createLocal(time).isValid())) {\n return createDuration({from: this, to: time}).locale(this.locale()).humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n\n function toNow (withoutSuffix) {\n return this.to(createLocal(), withoutSuffix);\n }\n\n // If passed a locale key, it will set the locale for this\n // instance. Otherwise, it will return the locale configuration\n // variables for this instance.\n function locale (key) {\n var newLocaleData;\n\n if (key === undefined) {\n return this._locale._abbr;\n } else {\n newLocaleData = getLocale(key);\n if (newLocaleData != null) {\n this._locale = newLocaleData;\n }\n return this;\n }\n }\n\n var lang = deprecate(\n 'moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.',\n function (key) {\n if (key === undefined) {\n return this.localeData();\n } else {\n return this.locale(key);\n }\n }\n );\n\n function localeData () {\n return this._locale;\n }\n\n function startOf (units) {\n units = normalizeUnits(units);\n // the following switch intentionally omits break keywords\n // to utilize falling through the cases.\n switch (units) {\n case 'year':\n this.month(0);\n /* falls through */\n case 'quarter':\n case 'month':\n this.date(1);\n /* falls through */\n case 'week':\n case 'isoWeek':\n case 'day':\n case 'date':\n this.hours(0);\n /* falls through */\n case 'hour':\n this.minutes(0);\n /* falls through */\n case 'minute':\n this.seconds(0);\n /* falls through */\n case 'second':\n this.milliseconds(0);\n }\n\n // weeks are a special case\n if (units === 'week') {\n this.weekday(0);\n }\n if (units === 'isoWeek') {\n this.isoWeekday(1);\n }\n\n // quarters are also special\n if (units === 'quarter') {\n this.month(Math.floor(this.month() / 3) * 3);\n }\n\n return this;\n }\n\n function endOf (units) {\n units = normalizeUnits(units);\n if (units === undefined || units === 'millisecond') {\n return this;\n }\n\n // 'date' is an alias for 'day', so it should be considered as such.\n if (units === 'date') {\n units = 'day';\n }\n\n return this.startOf(units).add(1, (units === 'isoWeek' ? 'week' : units)).subtract(1, 'ms');\n }\n\n function valueOf () {\n return this._d.valueOf() - ((this._offset || 0) * 60000);\n }\n\n function unix () {\n return Math.floor(this.valueOf() / 1000);\n }\n\n function toDate () {\n return new Date(this.valueOf());\n }\n\n function toArray () {\n var m = this;\n return [m.year(), m.month(), m.date(), m.hour(), m.minute(), m.second(), m.millisecond()];\n }\n\n function toObject () {\n var m = this;\n return {\n years: m.year(),\n months: m.month(),\n date: m.date(),\n hours: m.hours(),\n minutes: m.minutes(),\n seconds: m.seconds(),\n milliseconds: m.milliseconds()\n };\n }\n\n function toJSON () {\n // new Date(NaN).toJSON() === null\n return this.isValid() ? this.toISOString() : null;\n }\n\n function isValid$2 () {\n return isValid(this);\n }\n\n function parsingFlags () {\n return extend({}, getParsingFlags(this));\n }\n\n function invalidAt () {\n return getParsingFlags(this).overflow;\n }\n\n function creationData() {\n return {\n input: this._i,\n format: this._f,\n locale: this._locale,\n isUTC: this._isUTC,\n strict: this._strict\n };\n }\n\n // FORMATTING\n\n addFormatToken(0, ['gg', 2], 0, function () {\n return this.weekYear() % 100;\n });\n\n addFormatToken(0, ['GG', 2], 0, function () {\n return this.isoWeekYear() % 100;\n });\n\n function addWeekYearFormatToken (token, getter) {\n addFormatToken(0, [token, token.length], 0, getter);\n }\n\n addWeekYearFormatToken('gggg', 'weekYear');\n addWeekYearFormatToken('ggggg', 'weekYear');\n addWeekYearFormatToken('GGGG', 'isoWeekYear');\n addWeekYearFormatToken('GGGGG', 'isoWeekYear');\n\n // ALIASES\n\n addUnitAlias('weekYear', 'gg');\n addUnitAlias('isoWeekYear', 'GG');\n\n // PRIORITY\n\n addUnitPriority('weekYear', 1);\n addUnitPriority('isoWeekYear', 1);\n\n\n // PARSING\n\n addRegexToken('G', matchSigned);\n addRegexToken('g', matchSigned);\n addRegexToken('GG', match1to2, match2);\n addRegexToken('gg', match1to2, match2);\n addRegexToken('GGGG', match1to4, match4);\n addRegexToken('gggg', match1to4, match4);\n addRegexToken('GGGGG', match1to6, match6);\n addRegexToken('ggggg', match1to6, match6);\n\n addWeekParseToken(['gggg', 'ggggg', 'GGGG', 'GGGGG'], function (input, week, config, token) {\n week[token.substr(0, 2)] = toInt(input);\n });\n\n addWeekParseToken(['gg', 'GG'], function (input, week, config, token) {\n week[token] = hooks.parseTwoDigitYear(input);\n });\n\n // MOMENTS\n\n function getSetWeekYear (input) {\n return getSetWeekYearHelper.call(this,\n input,\n this.week(),\n this.weekday(),\n this.localeData()._week.dow,\n this.localeData()._week.doy);\n }\n\n function getSetISOWeekYear (input) {\n return getSetWeekYearHelper.call(this,\n input, this.isoWeek(), this.isoWeekday(), 1, 4);\n }\n\n function getISOWeeksInYear () {\n return weeksInYear(this.year(), 1, 4);\n }\n\n function getWeeksInYear () {\n var weekInfo = this.localeData()._week;\n return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy);\n }\n\n function getSetWeekYearHelper(input, week, weekday, dow, doy) {\n var weeksTarget;\n if (input == null) {\n return weekOfYear(this, dow, doy).year;\n } else {\n weeksTarget = weeksInYear(input, dow, doy);\n if (week > weeksTarget) {\n week = weeksTarget;\n }\n return setWeekAll.call(this, input, week, weekday, dow, doy);\n }\n }\n\n function setWeekAll(weekYear, week, weekday, dow, doy) {\n var dayOfYearData = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy),\n date = createUTCDate(dayOfYearData.year, 0, dayOfYearData.dayOfYear);\n\n this.year(date.getUTCFullYear());\n this.month(date.getUTCMonth());\n this.date(date.getUTCDate());\n return this;\n }\n\n // FORMATTING\n\n addFormatToken('Q', 0, 'Qo', 'quarter');\n\n // ALIASES\n\n addUnitAlias('quarter', 'Q');\n\n // PRIORITY\n\n addUnitPriority('quarter', 7);\n\n // PARSING\n\n addRegexToken('Q', match1);\n addParseToken('Q', function (input, array) {\n array[MONTH] = (toInt(input) - 1) * 3;\n });\n\n // MOMENTS\n\n function getSetQuarter (input) {\n return input == null ? Math.ceil((this.month() + 1) / 3) : this.month((input - 1) * 3 + this.month() % 3);\n }\n\n // FORMATTING\n\n addFormatToken('D', ['DD', 2], 'Do', 'date');\n\n // ALIASES\n\n addUnitAlias('date', 'D');\n\n // PRIORITY\n addUnitPriority('date', 9);\n\n // PARSING\n\n addRegexToken('D', match1to2);\n addRegexToken('DD', match1to2, match2);\n addRegexToken('Do', function (isStrict, locale) {\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n return isStrict ?\n (locale._dayOfMonthOrdinalParse || locale._ordinalParse) :\n locale._dayOfMonthOrdinalParseLenient;\n });\n\n addParseToken(['D', 'DD'], DATE);\n addParseToken('Do', function (input, array) {\n array[DATE] = toInt(input.match(match1to2)[0]);\n });\n\n // MOMENTS\n\n var getSetDayOfMonth = makeGetSet('Date', true);\n\n // FORMATTING\n\n addFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear');\n\n // ALIASES\n\n addUnitAlias('dayOfYear', 'DDD');\n\n // PRIORITY\n addUnitPriority('dayOfYear', 4);\n\n // PARSING\n\n addRegexToken('DDD', match1to3);\n addRegexToken('DDDD', match3);\n addParseToken(['DDD', 'DDDD'], function (input, array, config) {\n config._dayOfYear = toInt(input);\n });\n\n // HELPERS\n\n // MOMENTS\n\n function getSetDayOfYear (input) {\n var dayOfYear = Math.round((this.clone().startOf('day') - this.clone().startOf('year')) / 864e5) + 1;\n return input == null ? dayOfYear : this.add((input - dayOfYear), 'd');\n }\n\n // FORMATTING\n\n addFormatToken('m', ['mm', 2], 0, 'minute');\n\n // ALIASES\n\n addUnitAlias('minute', 'm');\n\n // PRIORITY\n\n addUnitPriority('minute', 14);\n\n // PARSING\n\n addRegexToken('m', match1to2);\n addRegexToken('mm', match1to2, match2);\n addParseToken(['m', 'mm'], MINUTE);\n\n // MOMENTS\n\n var getSetMinute = makeGetSet('Minutes', false);\n\n // FORMATTING\n\n addFormatToken('s', ['ss', 2], 0, 'second');\n\n // ALIASES\n\n addUnitAlias('second', 's');\n\n // PRIORITY\n\n addUnitPriority('second', 15);\n\n // PARSING\n\n addRegexToken('s', match1to2);\n addRegexToken('ss', match1to2, match2);\n addParseToken(['s', 'ss'], SECOND);\n\n // MOMENTS\n\n var getSetSecond = makeGetSet('Seconds', false);\n\n // FORMATTING\n\n addFormatToken('S', 0, 0, function () {\n return ~~(this.millisecond() / 100);\n });\n\n addFormatToken(0, ['SS', 2], 0, function () {\n return ~~(this.millisecond() / 10);\n });\n\n addFormatToken(0, ['SSS', 3], 0, 'millisecond');\n addFormatToken(0, ['SSSS', 4], 0, function () {\n return this.millisecond() * 10;\n });\n addFormatToken(0, ['SSSSS', 5], 0, function () {\n return this.millisecond() * 100;\n });\n addFormatToken(0, ['SSSSSS', 6], 0, function () {\n return this.millisecond() * 1000;\n });\n addFormatToken(0, ['SSSSSSS', 7], 0, function () {\n return this.millisecond() * 10000;\n });\n addFormatToken(0, ['SSSSSSSS', 8], 0, function () {\n return this.millisecond() * 100000;\n });\n addFormatToken(0, ['SSSSSSSSS', 9], 0, function () {\n return this.millisecond() * 1000000;\n });\n\n\n // ALIASES\n\n addUnitAlias('millisecond', 'ms');\n\n // PRIORITY\n\n addUnitPriority('millisecond', 16);\n\n // PARSING\n\n addRegexToken('S', match1to3, match1);\n addRegexToken('SS', match1to3, match2);\n addRegexToken('SSS', match1to3, match3);\n\n var token;\n for (token = 'SSSS'; token.length <= 9; token += 'S') {\n addRegexToken(token, matchUnsigned);\n }\n\n function parseMs(input, array) {\n array[MILLISECOND] = toInt(('0.' + input) * 1000);\n }\n\n for (token = 'S'; token.length <= 9; token += 'S') {\n addParseToken(token, parseMs);\n }\n // MOMENTS\n\n var getSetMillisecond = makeGetSet('Milliseconds', false);\n\n // FORMATTING\n\n addFormatToken('z', 0, 0, 'zoneAbbr');\n addFormatToken('zz', 0, 0, 'zoneName');\n\n // MOMENTS\n\n function getZoneAbbr () {\n return this._isUTC ? 'UTC' : '';\n }\n\n function getZoneName () {\n return this._isUTC ? 'Coordinated Universal Time' : '';\n }\n\n var proto = Moment.prototype;\n\n proto.add = add;\n proto.calendar = calendar$1;\n proto.clone = clone;\n proto.diff = diff;\n proto.endOf = endOf;\n proto.format = format;\n proto.from = from;\n proto.fromNow = fromNow;\n proto.to = to;\n proto.toNow = toNow;\n proto.get = stringGet;\n proto.invalidAt = invalidAt;\n proto.isAfter = isAfter;\n proto.isBefore = isBefore;\n proto.isBetween = isBetween;\n proto.isSame = isSame;\n proto.isSameOrAfter = isSameOrAfter;\n proto.isSameOrBefore = isSameOrBefore;\n proto.isValid = isValid$2;\n proto.lang = lang;\n proto.locale = locale;\n proto.localeData = localeData;\n proto.max = prototypeMax;\n proto.min = prototypeMin;\n proto.parsingFlags = parsingFlags;\n proto.set = stringSet;\n proto.startOf = startOf;\n proto.subtract = subtract;\n proto.toArray = toArray;\n proto.toObject = toObject;\n proto.toDate = toDate;\n proto.toISOString = toISOString;\n proto.inspect = inspect;\n proto.toJSON = toJSON;\n proto.toString = toString;\n proto.unix = unix;\n proto.valueOf = valueOf;\n proto.creationData = creationData;\n proto.year = getSetYear;\n proto.isLeapYear = getIsLeapYear;\n proto.weekYear = getSetWeekYear;\n proto.isoWeekYear = getSetISOWeekYear;\n proto.quarter = proto.quarters = getSetQuarter;\n proto.month = getSetMonth;\n proto.daysInMonth = getDaysInMonth;\n proto.week = proto.weeks = getSetWeek;\n proto.isoWeek = proto.isoWeeks = getSetISOWeek;\n proto.weeksInYear = getWeeksInYear;\n proto.isoWeeksInYear = getISOWeeksInYear;\n proto.date = getSetDayOfMonth;\n proto.day = proto.days = getSetDayOfWeek;\n proto.weekday = getSetLocaleDayOfWeek;\n proto.isoWeekday = getSetISODayOfWeek;\n proto.dayOfYear = getSetDayOfYear;\n proto.hour = proto.hours = getSetHour;\n proto.minute = proto.minutes = getSetMinute;\n proto.second = proto.seconds = getSetSecond;\n proto.millisecond = proto.milliseconds = getSetMillisecond;\n proto.utcOffset = getSetOffset;\n proto.utc = setOffsetToUTC;\n proto.local = setOffsetToLocal;\n proto.parseZone = setOffsetToParsedOffset;\n proto.hasAlignedHourOffset = hasAlignedHourOffset;\n proto.isDST = isDaylightSavingTime;\n proto.isLocal = isLocal;\n proto.isUtcOffset = isUtcOffset;\n proto.isUtc = isUtc;\n proto.isUTC = isUtc;\n proto.zoneAbbr = getZoneAbbr;\n proto.zoneName = getZoneName;\n proto.dates = deprecate('dates accessor is deprecated. Use date instead.', getSetDayOfMonth);\n proto.months = deprecate('months accessor is deprecated. Use month instead', getSetMonth);\n proto.years = deprecate('years accessor is deprecated. Use year instead', getSetYear);\n proto.zone = deprecate('moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/', getSetZone);\n proto.isDSTShifted = deprecate('isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information', isDaylightSavingTimeShifted);\n\n function createUnix (input) {\n return createLocal(input * 1000);\n }\n\n function createInZone () {\n return createLocal.apply(null, arguments).parseZone();\n }\n\n function preParsePostFormat (string) {\n return string;\n }\n\n var proto$1 = Locale.prototype;\n\n proto$1.calendar = calendar;\n proto$1.longDateFormat = longDateFormat;\n proto$1.invalidDate = invalidDate;\n proto$1.ordinal = ordinal;\n proto$1.preparse = preParsePostFormat;\n proto$1.postformat = preParsePostFormat;\n proto$1.relativeTime = relativeTime;\n proto$1.pastFuture = pastFuture;\n proto$1.set = set;\n\n proto$1.months = localeMonths;\n proto$1.monthsShort = localeMonthsShort;\n proto$1.monthsParse = localeMonthsParse;\n proto$1.monthsRegex = monthsRegex;\n proto$1.monthsShortRegex = monthsShortRegex;\n proto$1.week = localeWeek;\n proto$1.firstDayOfYear = localeFirstDayOfYear;\n proto$1.firstDayOfWeek = localeFirstDayOfWeek;\n\n proto$1.weekdays = localeWeekdays;\n proto$1.weekdaysMin = localeWeekdaysMin;\n proto$1.weekdaysShort = localeWeekdaysShort;\n proto$1.weekdaysParse = localeWeekdaysParse;\n\n proto$1.weekdaysRegex = weekdaysRegex;\n proto$1.weekdaysShortRegex = weekdaysShortRegex;\n proto$1.weekdaysMinRegex = weekdaysMinRegex;\n\n proto$1.isPM = localeIsPM;\n proto$1.meridiem = localeMeridiem;\n\n function get$1 (format, index, field, setter) {\n var locale = getLocale();\n var utc = createUTC().set(setter, index);\n return locale[field](utc, format);\n }\n\n function listMonthsImpl (format, index, field) {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n\n if (index != null) {\n return get$1(format, index, field, 'month');\n }\n\n var i;\n var out = [];\n for (i = 0; i < 12; i++) {\n out[i] = get$1(format, i, field, 'month');\n }\n return out;\n }\n\n // ()\n // (5)\n // (fmt, 5)\n // (fmt)\n // (true)\n // (true, 5)\n // (true, fmt, 5)\n // (true, fmt)\n function listWeekdaysImpl (localeSorted, format, index, field) {\n if (typeof localeSorted === 'boolean') {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n } else {\n format = localeSorted;\n index = format;\n localeSorted = false;\n\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n }\n\n var locale = getLocale(),\n shift = localeSorted ? locale._week.dow : 0;\n\n if (index != null) {\n return get$1(format, (index + shift) % 7, field, 'day');\n }\n\n var i;\n var out = [];\n for (i = 0; i < 7; i++) {\n out[i] = get$1(format, (i + shift) % 7, field, 'day');\n }\n return out;\n }\n\n function listMonths (format, index) {\n return listMonthsImpl(format, index, 'months');\n }\n\n function listMonthsShort (format, index) {\n return listMonthsImpl(format, index, 'monthsShort');\n }\n\n function listWeekdays (localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdays');\n }\n\n function listWeekdaysShort (localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysShort');\n }\n\n function listWeekdaysMin (localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysMin');\n }\n\n getSetGlobalLocale('en', {\n dayOfMonthOrdinalParse: /\\d{1,2}(th|st|nd|rd)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (toInt(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n }\n });\n\n // Side effect imports\n\n hooks.lang = deprecate('moment.lang is deprecated. Use moment.locale instead.', getSetGlobalLocale);\n hooks.langData = deprecate('moment.langData is deprecated. Use moment.localeData instead.', getLocale);\n\n var mathAbs = Math.abs;\n\n function abs () {\n var data = this._data;\n\n this._milliseconds = mathAbs(this._milliseconds);\n this._days = mathAbs(this._days);\n this._months = mathAbs(this._months);\n\n data.milliseconds = mathAbs(data.milliseconds);\n data.seconds = mathAbs(data.seconds);\n data.minutes = mathAbs(data.minutes);\n data.hours = mathAbs(data.hours);\n data.months = mathAbs(data.months);\n data.years = mathAbs(data.years);\n\n return this;\n }\n\n function addSubtract$1 (duration, input, value, direction) {\n var other = createDuration(input, value);\n\n duration._milliseconds += direction * other._milliseconds;\n duration._days += direction * other._days;\n duration._months += direction * other._months;\n\n return duration._bubble();\n }\n\n // supports only 2.0-style add(1, 's') or add(duration)\n function add$1 (input, value) {\n return addSubtract$1(this, input, value, 1);\n }\n\n // supports only 2.0-style subtract(1, 's') or subtract(duration)\n function subtract$1 (input, value) {\n return addSubtract$1(this, input, value, -1);\n }\n\n function absCeil (number) {\n if (number < 0) {\n return Math.floor(number);\n } else {\n return Math.ceil(number);\n }\n }\n\n function bubble () {\n var milliseconds = this._milliseconds;\n var days = this._days;\n var months = this._months;\n var data = this._data;\n var seconds, minutes, hours, years, monthsFromDays;\n\n // if we have a mix of positive and negative values, bubble down first\n // check: https://github.com/moment/moment/issues/2166\n if (!((milliseconds >= 0 && days >= 0 && months >= 0) ||\n (milliseconds <= 0 && days <= 0 && months <= 0))) {\n milliseconds += absCeil(monthsToDays(months) + days) * 864e5;\n days = 0;\n months = 0;\n }\n\n // The following code bubbles up values, see the tests for\n // examples of what that means.\n data.milliseconds = milliseconds % 1000;\n\n seconds = absFloor(milliseconds / 1000);\n data.seconds = seconds % 60;\n\n minutes = absFloor(seconds / 60);\n data.minutes = minutes % 60;\n\n hours = absFloor(minutes / 60);\n data.hours = hours % 24;\n\n days += absFloor(hours / 24);\n\n // convert days to months\n monthsFromDays = absFloor(daysToMonths(days));\n months += monthsFromDays;\n days -= absCeil(monthsToDays(monthsFromDays));\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n data.days = days;\n data.months = months;\n data.years = years;\n\n return this;\n }\n\n function daysToMonths (days) {\n // 400 years have 146097 days (taking into account leap year rules)\n // 400 years have 12 months === 4800\n return days * 4800 / 146097;\n }\n\n function monthsToDays (months) {\n // the reverse of daysToMonths\n return months * 146097 / 4800;\n }\n\n function as (units) {\n if (!this.isValid()) {\n return NaN;\n }\n var days;\n var months;\n var milliseconds = this._milliseconds;\n\n units = normalizeUnits(units);\n\n if (units === 'month' || units === 'year') {\n days = this._days + milliseconds / 864e5;\n months = this._months + daysToMonths(days);\n return units === 'month' ? months : months / 12;\n } else {\n // handle milliseconds separately because of floating point math errors (issue #1867)\n days = this._days + Math.round(monthsToDays(this._months));\n switch (units) {\n case 'week' : return days / 7 + milliseconds / 6048e5;\n case 'day' : return days + milliseconds / 864e5;\n case 'hour' : return days * 24 + milliseconds / 36e5;\n case 'minute' : return days * 1440 + milliseconds / 6e4;\n case 'second' : return days * 86400 + milliseconds / 1000;\n // Math.floor prevents floating point math errors here\n case 'millisecond': return Math.floor(days * 864e5) + milliseconds;\n default: throw new Error('Unknown unit ' + units);\n }\n }\n }\n\n // TODO: Use this.as('ms')?\n function valueOf$1 () {\n if (!this.isValid()) {\n return NaN;\n }\n return (\n this._milliseconds +\n this._days * 864e5 +\n (this._months % 12) * 2592e6 +\n toInt(this._months / 12) * 31536e6\n );\n }\n\n function makeAs (alias) {\n return function () {\n return this.as(alias);\n };\n }\n\n var asMilliseconds = makeAs('ms');\n var asSeconds = makeAs('s');\n var asMinutes = makeAs('m');\n var asHours = makeAs('h');\n var asDays = makeAs('d');\n var asWeeks = makeAs('w');\n var asMonths = makeAs('M');\n var asYears = makeAs('y');\n\n function clone$1 () {\n return createDuration(this);\n }\n\n function get$2 (units) {\n units = normalizeUnits(units);\n return this.isValid() ? this[units + 's']() : NaN;\n }\n\n function makeGetter(name) {\n return function () {\n return this.isValid() ? this._data[name] : NaN;\n };\n }\n\n var milliseconds = makeGetter('milliseconds');\n var seconds = makeGetter('seconds');\n var minutes = makeGetter('minutes');\n var hours = makeGetter('hours');\n var days = makeGetter('days');\n var months = makeGetter('months');\n var years = makeGetter('years');\n\n function weeks () {\n return absFloor(this.days() / 7);\n }\n\n var round = Math.round;\n var thresholds = {\n ss: 44, // a few seconds to seconds\n s : 45, // seconds to minute\n m : 45, // minutes to hour\n h : 22, // hours to day\n d : 26, // days to month\n M : 11 // months to year\n };\n\n // helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize\n function substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) {\n return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture);\n }\n\n function relativeTime$1 (posNegDuration, withoutSuffix, locale) {\n var duration = createDuration(posNegDuration).abs();\n var seconds = round(duration.as('s'));\n var minutes = round(duration.as('m'));\n var hours = round(duration.as('h'));\n var days = round(duration.as('d'));\n var months = round(duration.as('M'));\n var years = round(duration.as('y'));\n\n var a = seconds <= thresholds.ss && ['s', seconds] ||\n seconds < thresholds.s && ['ss', seconds] ||\n minutes <= 1 && ['m'] ||\n minutes < thresholds.m && ['mm', minutes] ||\n hours <= 1 && ['h'] ||\n hours < thresholds.h && ['hh', hours] ||\n days <= 1 && ['d'] ||\n days < thresholds.d && ['dd', days] ||\n months <= 1 && ['M'] ||\n months < thresholds.M && ['MM', months] ||\n years <= 1 && ['y'] || ['yy', years];\n\n a[2] = withoutSuffix;\n a[3] = +posNegDuration > 0;\n a[4] = locale;\n return substituteTimeAgo.apply(null, a);\n }\n\n // This function allows you to set the rounding function for relative time strings\n function getSetRelativeTimeRounding (roundingFunction) {\n if (roundingFunction === undefined) {\n return round;\n }\n if (typeof(roundingFunction) === 'function') {\n round = roundingFunction;\n return true;\n }\n return false;\n }\n\n // This function allows you to set a threshold for relative time strings\n function getSetRelativeTimeThreshold (threshold, limit) {\n if (thresholds[threshold] === undefined) {\n return false;\n }\n if (limit === undefined) {\n return thresholds[threshold];\n }\n thresholds[threshold] = limit;\n if (threshold === 's') {\n thresholds.ss = limit - 1;\n }\n return true;\n }\n\n function humanize (withSuffix) {\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var locale = this.localeData();\n var output = relativeTime$1(this, !withSuffix, locale);\n\n if (withSuffix) {\n output = locale.pastFuture(+this, output);\n }\n\n return locale.postformat(output);\n }\n\n var abs$1 = Math.abs;\n\n function sign(x) {\n return ((x > 0) - (x < 0)) || +x;\n }\n\n function toISOString$1() {\n // for ISO strings we do not use the normal bubbling rules:\n // * milliseconds bubble up until they become hours\n // * days do not bubble at all\n // * months bubble up until they become years\n // This is because there is no context-free conversion between hours and days\n // (think of clock changes)\n // and also not between days and months (28-31 days per month)\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var seconds = abs$1(this._milliseconds) / 1000;\n var days = abs$1(this._days);\n var months = abs$1(this._months);\n var minutes, hours, years;\n\n // 3600 seconds -> 60 minutes -> 1 hour\n minutes = absFloor(seconds / 60);\n hours = absFloor(minutes / 60);\n seconds %= 60;\n minutes %= 60;\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n\n // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js\n var Y = years;\n var M = months;\n var D = days;\n var h = hours;\n var m = minutes;\n var s = seconds ? seconds.toFixed(3).replace(/\\.?0+$/, '') : '';\n var total = this.asSeconds();\n\n if (!total) {\n // this is the same as C#'s (Noda) and python (isodate)...\n // but not other JS (goog.date)\n return 'P0D';\n }\n\n var totalSign = total < 0 ? '-' : '';\n var ymSign = sign(this._months) !== sign(total) ? '-' : '';\n var daysSign = sign(this._days) !== sign(total) ? '-' : '';\n var hmsSign = sign(this._milliseconds) !== sign(total) ? '-' : '';\n\n return totalSign + 'P' +\n (Y ? ymSign + Y + 'Y' : '') +\n (M ? ymSign + M + 'M' : '') +\n (D ? daysSign + D + 'D' : '') +\n ((h || m || s) ? 'T' : '') +\n (h ? hmsSign + h + 'H' : '') +\n (m ? hmsSign + m + 'M' : '') +\n (s ? hmsSign + s + 'S' : '');\n }\n\n var proto$2 = Duration.prototype;\n\n proto$2.isValid = isValid$1;\n proto$2.abs = abs;\n proto$2.add = add$1;\n proto$2.subtract = subtract$1;\n proto$2.as = as;\n proto$2.asMilliseconds = asMilliseconds;\n proto$2.asSeconds = asSeconds;\n proto$2.asMinutes = asMinutes;\n proto$2.asHours = asHours;\n proto$2.asDays = asDays;\n proto$2.asWeeks = asWeeks;\n proto$2.asMonths = asMonths;\n proto$2.asYears = asYears;\n proto$2.valueOf = valueOf$1;\n proto$2._bubble = bubble;\n proto$2.clone = clone$1;\n proto$2.get = get$2;\n proto$2.milliseconds = milliseconds;\n proto$2.seconds = seconds;\n proto$2.minutes = minutes;\n proto$2.hours = hours;\n proto$2.days = days;\n proto$2.weeks = weeks;\n proto$2.months = months;\n proto$2.years = years;\n proto$2.humanize = humanize;\n proto$2.toISOString = toISOString$1;\n proto$2.toString = toISOString$1;\n proto$2.toJSON = toISOString$1;\n proto$2.locale = locale;\n proto$2.localeData = localeData;\n\n proto$2.toIsoString = deprecate('toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)', toISOString$1);\n proto$2.lang = lang;\n\n // Side effect imports\n\n // FORMATTING\n\n addFormatToken('X', 0, 0, 'unix');\n addFormatToken('x', 0, 0, 'valueOf');\n\n // PARSING\n\n addRegexToken('x', matchSigned);\n addRegexToken('X', matchTimestamp);\n addParseToken('X', function (input, array, config) {\n config._d = new Date(parseFloat(input, 10) * 1000);\n });\n addParseToken('x', function (input, array, config) {\n config._d = new Date(toInt(input));\n });\n\n // Side effect imports\n\n\n hooks.version = '2.22.2';\n\n setHookCallback(createLocal);\n\n hooks.fn = proto;\n hooks.min = min;\n hooks.max = max;\n hooks.now = now;\n hooks.utc = createUTC;\n hooks.unix = createUnix;\n hooks.months = listMonths;\n hooks.isDate = isDate;\n hooks.locale = getSetGlobalLocale;\n hooks.invalid = createInvalid;\n hooks.duration = createDuration;\n hooks.isMoment = isMoment;\n hooks.weekdays = listWeekdays;\n hooks.parseZone = createInZone;\n hooks.localeData = getLocale;\n hooks.isDuration = isDuration;\n hooks.monthsShort = listMonthsShort;\n hooks.weekdaysMin = listWeekdaysMin;\n hooks.defineLocale = defineLocale;\n hooks.updateLocale = updateLocale;\n hooks.locales = listLocales;\n hooks.weekdaysShort = listWeekdaysShort;\n hooks.normalizeUnits = normalizeUnits;\n hooks.relativeTimeRounding = getSetRelativeTimeRounding;\n hooks.relativeTimeThreshold = getSetRelativeTimeThreshold;\n hooks.calendarFormat = getCalendarFormat;\n hooks.prototype = proto;\n\n // currently HTML5 input type only supports 24-hour formats\n hooks.HTML5_FMT = {\n DATETIME_LOCAL: 'YYYY-MM-DDTHH:mm', // \n DATETIME_LOCAL_SECONDS: 'YYYY-MM-DDTHH:mm:ss', // \n DATETIME_LOCAL_MS: 'YYYY-MM-DDTHH:mm:ss.SSS', // \n DATE: 'YYYY-MM-DD', // \n TIME: 'HH:mm', // \n TIME_SECONDS: 'HH:mm:ss', // \n TIME_MS: 'HH:mm:ss.SSS', // \n WEEK: 'YYYY-[W]WW', // \n MONTH: 'YYYY-MM' // \n };\n\n return hooks;\n\n})));\n","export function each(o, cb, s) {\n var n;\n if (!o) {\n return 0;\n }\n s = !s ? o : s;\n if (o instanceof Array) {\n // Indexed arrays, needed for Safari\n for (n = 0; n < o.length; n++) {\n if (cb.call(s, o[n], n, o) === false) {\n return 0;\n }\n }\n } else {\n // Hashtables\n for (n in o) {\n if (o.hasOwnProperty(n)) {\n if (cb.call(s, o[n], n, o) === false){\n return 0;\n }\n }\n }\n }\n return 1;\n}\n","export var name = \"d3\";\nexport var version = \"5.4.0\";\nexport var description = \"Data-Driven Documents\";\nexport var keywords = [\"dom\",\"visualization\",\"svg\",\"animation\",\"canvas\"];\nexport var homepage = \"https://d3js.org\";\nexport var license = \"BSD-3-Clause\";\nexport var author = {\"name\":\"Mike Bostock\",\"url\":\"https://bost.ocks.org/mike\"};\nexport var main = \"dist/d3.node.js\";\nexport var unpkg = \"dist/d3.min.js\";\nexport var jsdelivr = \"dist/d3.min.js\";\nexport var module = \"index\";\nexport var repository = {\"type\":\"git\",\"url\":\"https://github.com/d3/d3.git\"};\nexport var scripts = {\"pretest\":\"rimraf dist && mkdir dist && json2module package.json > dist/package.js && node rollup.node\",\"test\":\"tape 'test/**/*-test.js'\",\"prepublishOnly\":\"npm run test && rollup -c --banner \\\"$(preamble)\\\" && uglifyjs -b beautify=false,preamble=\\\"'$(preamble)'\\\" dist/d3.js -c negate_iife=false -m -o dist/d3.min.js\",\"postpublish\":\"git push && git push --tags && cd ../d3.github.com && git pull && cp ../d3/dist/d3.js d3.v5.js && cp ../d3/dist/d3.min.js d3.v5.min.js && git add d3.v5.js d3.v5.min.js && git commit -m \\\"d3 ${npm_package_version}\\\" && git push && cd - && cd ../d3-bower && git pull && cp ../d3/LICENSE ../d3/README.md ../d3/dist/d3.js ../d3/dist/d3.min.js . && git add -- LICENSE README.md d3.js d3.min.js && git commit -m \\\"${npm_package_version}\\\" && git tag -am \\\"${npm_package_version}\\\" v${npm_package_version} && git push && git push --tags && cd - && zip -j dist/d3.zip -- LICENSE README.md API.md CHANGES.md dist/d3.js dist/d3.min.js\"};\nexport var devDependencies = {\"json2module\":\"0.0\",\"package-preamble\":\"0.1\",\"rimraf\":\"2\",\"rollup\":\"0.57\",\"rollup-plugin-ascii\":\"0.0\",\"rollup-plugin-node-resolve\":\"3\",\"tape\":\"4\",\"uglify-js\":\"3.2\"};\nexport var dependencies = {\"d3-array\":\"1\",\"d3-axis\":\"1\",\"d3-brush\":\"1\",\"d3-chord\":\"1\",\"d3-collection\":\"1\",\"d3-color\":\"1\",\"d3-contour\":\"1\",\"d3-dispatch\":\"1\",\"d3-drag\":\"1\",\"d3-dsv\":\"1\",\"d3-ease\":\"1\",\"d3-fetch\":\"1\",\"d3-force\":\"1\",\"d3-format\":\"1\",\"d3-geo\":\"1\",\"d3-hierarchy\":\"1\",\"d3-interpolate\":\"1\",\"d3-path\":\"1\",\"d3-polygon\":\"1\",\"d3-quadtree\":\"1\",\"d3-random\":\"1\",\"d3-scale\":\"2\",\"d3-scale-chromatic\":\"1\",\"d3-selection\":\"1\",\"d3-shape\":\"1\",\"d3-time\":\"1\",\"d3-time-format\":\"2\",\"d3-timer\":\"1\",\"d3-transition\":\"1\",\"d3-voronoi\":\"1\",\"d3-zoom\":\"1\"};\n","export default function(a, b) {\n return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;\n}\n","import ascending from \"./ascending\";\n\nexport default function(compare) {\n if (compare.length === 1) compare = ascendingComparator(compare);\n return {\n left: function(a, x, lo, hi) {\n if (lo == null) lo = 0;\n if (hi == null) hi = a.length;\n while (lo < hi) {\n var mid = lo + hi >>> 1;\n if (compare(a[mid], x) < 0) lo = mid + 1;\n else hi = mid;\n }\n return lo;\n },\n right: function(a, x, lo, hi) {\n if (lo == null) lo = 0;\n if (hi == null) hi = a.length;\n while (lo < hi) {\n var mid = lo + hi >>> 1;\n if (compare(a[mid], x) > 0) hi = mid;\n else lo = mid + 1;\n }\n return lo;\n }\n };\n}\n\nfunction ascendingComparator(f) {\n return function(d, x) {\n return ascending(f(d), x);\n };\n}\n","import ascending from \"./ascending\";\nimport bisector from \"./bisector\";\n\nvar ascendingBisect = bisector(ascending);\nexport var bisectRight = ascendingBisect.right;\nexport var bisectLeft = ascendingBisect.left;\nexport default bisectRight;\n","export default function(array, f) {\n if (f == null) f = pair;\n var i = 0, n = array.length - 1, p = array[0], pairs = new Array(n < 0 ? 0 : n);\n while (i < n) pairs[i] = f(p, p = array[++i]);\n return pairs;\n}\n\nexport function pair(a, b) {\n return [a, b];\n}\n","import {pair} from \"./pairs\";\n\nexport default function(values0, values1, reduce) {\n var n0 = values0.length,\n n1 = values1.length,\n values = new Array(n0 * n1),\n i0,\n i1,\n i,\n value0;\n\n if (reduce == null) reduce = pair;\n\n for (i0 = i = 0; i0 < n0; ++i0) {\n for (value0 = values0[i0], i1 = 0; i1 < n1; ++i1, ++i) {\n values[i] = reduce(value0, values1[i1]);\n }\n }\n\n return values;\n}\n","export default function(a, b) {\n return b < a ? -1 : b > a ? 1 : b >= a ? 0 : NaN;\n}\n","export default function(x) {\n return x === null ? NaN : +x;\n}\n","import number from \"./number\";\n\nexport default function(values, valueof) {\n var n = values.length,\n m = 0,\n i = -1,\n mean = 0,\n value,\n delta,\n sum = 0;\n\n if (valueof == null) {\n while (++i < n) {\n if (!isNaN(value = number(values[i]))) {\n delta = value - mean;\n mean += delta / ++m;\n sum += delta * (value - mean);\n }\n }\n }\n\n else {\n while (++i < n) {\n if (!isNaN(value = number(valueof(values[i], i, values)))) {\n delta = value - mean;\n mean += delta / ++m;\n sum += delta * (value - mean);\n }\n }\n }\n\n if (m > 1) return sum / (m - 1);\n}\n","import variance from \"./variance\";\n\nexport default function(array, f) {\n var v = variance(array, f);\n return v ? Math.sqrt(v) : v;\n}\n","export default function(values, valueof) {\n var n = values.length,\n i = -1,\n value,\n min,\n max;\n\n if (valueof == null) {\n while (++i < n) { // Find the first comparable value.\n if ((value = values[i]) != null && value >= value) {\n min = max = value;\n while (++i < n) { // Compare the remaining values.\n if ((value = values[i]) != null) {\n if (min > value) min = value;\n if (max < value) max = value;\n }\n }\n }\n }\n }\n\n else {\n while (++i < n) { // Find the first comparable value.\n if ((value = valueof(values[i], i, values)) != null && value >= value) {\n min = max = value;\n while (++i < n) { // Compare the remaining values.\n if ((value = valueof(values[i], i, values)) != null) {\n if (min > value) min = value;\n if (max < value) max = value;\n }\n }\n }\n }\n }\n\n return [min, max];\n}\n","var array = Array.prototype;\n\nexport var slice = array.slice;\nexport var map = array.map;\n","export default function(x) {\n return function() {\n return x;\n };\n}\n","export default function(x) {\n return x;\n}\n","export default function(start, stop, step) {\n start = +start, stop = +stop, step = (n = arguments.length) < 2 ? (stop = start, start = 0, 1) : n < 3 ? 1 : +step;\n\n var i = -1,\n n = Math.max(0, Math.ceil((stop - start) / step)) | 0,\n range = new Array(n);\n\n while (++i < n) {\n range[i] = start + i * step;\n }\n\n return range;\n}\n","var e10 = Math.sqrt(50),\n e5 = Math.sqrt(10),\n e2 = Math.sqrt(2);\n\nexport default function(start, stop, count) {\n var reverse,\n i = -1,\n n,\n ticks,\n step;\n\n stop = +stop, start = +start, count = +count;\n if (start === stop && count > 0) return [start];\n if (reverse = stop < start) n = start, start = stop, stop = n;\n if ((step = tickIncrement(start, stop, count)) === 0 || !isFinite(step)) return [];\n\n if (step > 0) {\n start = Math.ceil(start / step);\n stop = Math.floor(stop / step);\n ticks = new Array(n = Math.ceil(stop - start + 1));\n while (++i < n) ticks[i] = (start + i) * step;\n } else {\n start = Math.floor(start * step);\n stop = Math.ceil(stop * step);\n ticks = new Array(n = Math.ceil(start - stop + 1));\n while (++i < n) ticks[i] = (start - i) / step;\n }\n\n if (reverse) ticks.reverse();\n\n return ticks;\n}\n\nexport function tickIncrement(start, stop, count) {\n var step = (stop - start) / Math.max(0, count),\n power = Math.floor(Math.log(step) / Math.LN10),\n error = step / Math.pow(10, power);\n return power >= 0\n ? (error >= e10 ? 10 : error >= e5 ? 5 : error >= e2 ? 2 : 1) * Math.pow(10, power)\n : -Math.pow(10, -power) / (error >= e10 ? 10 : error >= e5 ? 5 : error >= e2 ? 2 : 1);\n}\n\nexport function tickStep(start, stop, count) {\n var step0 = Math.abs(stop - start) / Math.max(0, count),\n step1 = Math.pow(10, Math.floor(Math.log(step0) / Math.LN10)),\n error = step0 / step1;\n if (error >= e10) step1 *= 10;\n else if (error >= e5) step1 *= 5;\n else if (error >= e2) step1 *= 2;\n return stop < start ? -step1 : step1;\n}\n","export default function(values) {\n return Math.ceil(Math.log(values.length) / Math.LN2) + 1;\n}\n","import {slice} from \"./array\";\nimport bisect from \"./bisect\";\nimport constant from \"./constant\";\nimport extent from \"./extent\";\nimport identity from \"./identity\";\nimport range from \"./range\";\nimport {tickStep} from \"./ticks\";\nimport sturges from \"./threshold/sturges\";\n\nexport default function() {\n var value = identity,\n domain = extent,\n threshold = sturges;\n\n function histogram(data) {\n var i,\n n = data.length,\n x,\n values = new Array(n);\n\n for (i = 0; i < n; ++i) {\n values[i] = value(data[i], i, data);\n }\n\n var xz = domain(values),\n x0 = xz[0],\n x1 = xz[1],\n tz = threshold(values, x0, x1);\n\n // Convert number of thresholds into uniform thresholds.\n if (!Array.isArray(tz)) {\n tz = tickStep(x0, x1, tz);\n tz = range(Math.ceil(x0 / tz) * tz, Math.floor(x1 / tz) * tz, tz); // exclusive\n }\n\n // Remove any thresholds outside the domain.\n var m = tz.length;\n while (tz[0] <= x0) tz.shift(), --m;\n while (tz[m - 1] > x1) tz.pop(), --m;\n\n var bins = new Array(m + 1),\n bin;\n\n // Initialize bins.\n for (i = 0; i <= m; ++i) {\n bin = bins[i] = [];\n bin.x0 = i > 0 ? tz[i - 1] : x0;\n bin.x1 = i < m ? tz[i] : x1;\n }\n\n // Assign data to bins by value, ignoring any outside the domain.\n for (i = 0; i < n; ++i) {\n x = values[i];\n if (x0 <= x && x <= x1) {\n bins[bisect(tz, x, 0, m)].push(data[i]);\n }\n }\n\n return bins;\n }\n\n histogram.value = function(_) {\n return arguments.length ? (value = typeof _ === \"function\" ? _ : constant(_), histogram) : value;\n };\n\n histogram.domain = function(_) {\n return arguments.length ? (domain = typeof _ === \"function\" ? _ : constant([_[0], _[1]]), histogram) : domain;\n };\n\n histogram.thresholds = function(_) {\n return arguments.length ? (threshold = typeof _ === \"function\" ? _ : Array.isArray(_) ? constant(slice.call(_)) : constant(_), histogram) : threshold;\n };\n\n return histogram;\n}\n","import number from \"./number\";\n\nexport default function(values, p, valueof) {\n if (valueof == null) valueof = number;\n if (!(n = values.length)) return;\n if ((p = +p) <= 0 || n < 2) return +valueof(values[0], 0, values);\n if (p >= 1) return +valueof(values[n - 1], n - 1, values);\n var n,\n i = (n - 1) * p,\n i0 = Math.floor(i),\n value0 = +valueof(values[i0], i0, values),\n value1 = +valueof(values[i0 + 1], i0 + 1, values);\n return value0 + (value1 - value0) * (i - i0);\n}\n","import {map} from \"../array\";\nimport ascending from \"../ascending\";\nimport number from \"../number\";\nimport quantile from \"../quantile\";\n\nexport default function(values, min, max) {\n values = map.call(values, number).sort(ascending);\n return Math.ceil((max - min) / (2 * (quantile(values, 0.75) - quantile(values, 0.25)) * Math.pow(values.length, -1 / 3)));\n}\n","import deviation from \"../deviation\";\n\nexport default function(values, min, max) {\n return Math.ceil((max - min) / (3.5 * deviation(values) * Math.pow(values.length, -1 / 3)));\n}\n","export default function(values, valueof) {\n var n = values.length,\n i = -1,\n value,\n max;\n\n if (valueof == null) {\n while (++i < n) { // Find the first comparable value.\n if ((value = values[i]) != null && value >= value) {\n max = value;\n while (++i < n) { // Compare the remaining values.\n if ((value = values[i]) != null && value > max) {\n max = value;\n }\n }\n }\n }\n }\n\n else {\n while (++i < n) { // Find the first comparable value.\n if ((value = valueof(values[i], i, values)) != null && value >= value) {\n max = value;\n while (++i < n) { // Compare the remaining values.\n if ((value = valueof(values[i], i, values)) != null && value > max) {\n max = value;\n }\n }\n }\n }\n }\n\n return max;\n}\n","import number from \"./number\";\n\nexport default function(values, valueof) {\n var n = values.length,\n m = n,\n i = -1,\n value,\n sum = 0;\n\n if (valueof == null) {\n while (++i < n) {\n if (!isNaN(value = number(values[i]))) sum += value;\n else --m;\n }\n }\n\n else {\n while (++i < n) {\n if (!isNaN(value = number(valueof(values[i], i, values)))) sum += value;\n else --m;\n }\n }\n\n if (m) return sum / m;\n}\n","import ascending from \"./ascending\";\nimport number from \"./number\";\nimport quantile from \"./quantile\";\n\nexport default function(values, valueof) {\n var n = values.length,\n i = -1,\n value,\n numbers = [];\n\n if (valueof == null) {\n while (++i < n) {\n if (!isNaN(value = number(values[i]))) {\n numbers.push(value);\n }\n }\n }\n\n else {\n while (++i < n) {\n if (!isNaN(value = number(valueof(values[i], i, values)))) {\n numbers.push(value);\n }\n }\n }\n\n return quantile(numbers.sort(ascending), 0.5);\n}\n","export default function(arrays) {\n var n = arrays.length,\n m,\n i = -1,\n j = 0,\n merged,\n array;\n\n while (++i < n) j += arrays[i].length;\n merged = new Array(j);\n\n while (--n >= 0) {\n array = arrays[n];\n m = array.length;\n while (--m >= 0) {\n merged[--j] = array[m];\n }\n }\n\n return merged;\n}\n","export default function(values, valueof) {\n var n = values.length,\n i = -1,\n value,\n min;\n\n if (valueof == null) {\n while (++i < n) { // Find the first comparable value.\n if ((value = values[i]) != null && value >= value) {\n min = value;\n while (++i < n) { // Compare the remaining values.\n if ((value = values[i]) != null && min > value) {\n min = value;\n }\n }\n }\n }\n }\n\n else {\n while (++i < n) { // Find the first comparable value.\n if ((value = valueof(values[i], i, values)) != null && value >= value) {\n min = value;\n while (++i < n) { // Compare the remaining values.\n if ((value = valueof(values[i], i, values)) != null && min > value) {\n min = value;\n }\n }\n }\n }\n }\n\n return min;\n}\n","export default function(array, indexes) {\n var i = indexes.length, permutes = new Array(i);\n while (i--) permutes[i] = array[indexes[i]];\n return permutes;\n}\n","import ascending from \"./ascending\";\n\nexport default function(values, compare) {\n if (!(n = values.length)) return;\n var n,\n i = 0,\n j = 0,\n xi,\n xj = values[j];\n\n if (compare == null) compare = ascending;\n\n while (++i < n) {\n if (compare(xi = values[i], xj) < 0 || compare(xj, xj) !== 0) {\n xj = xi, j = i;\n }\n }\n\n if (compare(xj, xj) === 0) return j;\n}\n","export default function(array, i0, i1) {\n var m = (i1 == null ? array.length : i1) - (i0 = i0 == null ? 0 : +i0),\n t,\n i;\n\n while (m) {\n i = Math.random() * m-- | 0;\n t = array[m + i0];\n array[m + i0] = array[i + i0];\n array[i + i0] = t;\n }\n\n return array;\n}\n","export default function(values, valueof) {\n var n = values.length,\n i = -1,\n value,\n sum = 0;\n\n if (valueof == null) {\n while (++i < n) {\n if (value = +values[i]) sum += value; // Note: zero and null are equivalent.\n }\n }\n\n else {\n while (++i < n) {\n if (value = +valueof(values[i], i, values)) sum += value;\n }\n }\n\n return sum;\n}\n","import min from \"./min\";\n\nexport default function(matrix) {\n if (!(n = matrix.length)) return [];\n for (var i = -1, m = min(matrix, length), transpose = new Array(m); ++i < m;) {\n for (var j = -1, n, row = transpose[i] = new Array(n); ++j < n;) {\n row[j] = matrix[j][i];\n }\n }\n return transpose;\n}\n\nfunction length(d) {\n return d.length;\n}\n","import transpose from \"./transpose\";\n\nexport default function() {\n return transpose(arguments);\n}\n","export var slice = Array.prototype.slice;\n","export default function(x) {\n return x;\n}\n","import {slice} from \"./array\";\nimport identity from \"./identity\";\n\nvar top = 1,\n right = 2,\n bottom = 3,\n left = 4,\n epsilon = 1e-6;\n\nfunction translateX(x) {\n return \"translate(\" + (x + 0.5) + \",0)\";\n}\n\nfunction translateY(y) {\n return \"translate(0,\" + (y + 0.5) + \")\";\n}\n\nfunction number(scale) {\n return function(d) {\n return +scale(d);\n };\n}\n\nfunction center(scale) {\n var offset = Math.max(0, scale.bandwidth() - 1) / 2; // Adjust for 0.5px offset.\n if (scale.round()) offset = Math.round(offset);\n return function(d) {\n return +scale(d) + offset;\n };\n}\n\nfunction entering() {\n return !this.__axis;\n}\n\nfunction axis(orient, scale) {\n var tickArguments = [],\n tickValues = null,\n tickFormat = null,\n tickSizeInner = 6,\n tickSizeOuter = 6,\n tickPadding = 3,\n k = orient === top || orient === left ? -1 : 1,\n x = orient === left || orient === right ? \"x\" : \"y\",\n transform = orient === top || orient === bottom ? translateX : translateY;\n\n function axis(context) {\n var values = tickValues == null ? (scale.ticks ? scale.ticks.apply(scale, tickArguments) : scale.domain()) : tickValues,\n format = tickFormat == null ? (scale.tickFormat ? scale.tickFormat.apply(scale, tickArguments) : identity) : tickFormat,\n spacing = Math.max(tickSizeInner, 0) + tickPadding,\n range = scale.range(),\n range0 = +range[0] + 0.5,\n range1 = +range[range.length - 1] + 0.5,\n position = (scale.bandwidth ? center : number)(scale.copy()),\n selection = context.selection ? context.selection() : context,\n path = selection.selectAll(\".domain\").data([null]),\n tick = selection.selectAll(\".tick\").data(values, scale).order(),\n tickExit = tick.exit(),\n tickEnter = tick.enter().append(\"g\").attr(\"class\", \"tick\"),\n line = tick.select(\"line\"),\n text = tick.select(\"text\");\n\n path = path.merge(path.enter().insert(\"path\", \".tick\")\n .attr(\"class\", \"domain\")\n .attr(\"stroke\", \"#000\"));\n\n tick = tick.merge(tickEnter);\n\n line = line.merge(tickEnter.append(\"line\")\n .attr(\"stroke\", \"#000\")\n .attr(x + \"2\", k * tickSizeInner));\n\n text = text.merge(tickEnter.append(\"text\")\n .attr(\"fill\", \"#000\")\n .attr(x, k * spacing)\n .attr(\"dy\", orient === top ? \"0em\" : orient === bottom ? \"0.71em\" : \"0.32em\"));\n\n if (context !== selection) {\n path = path.transition(context);\n tick = tick.transition(context);\n line = line.transition(context);\n text = text.transition(context);\n\n tickExit = tickExit.transition(context)\n .attr(\"opacity\", epsilon)\n .attr(\"transform\", function(d) { return isFinite(d = position(d)) ? transform(d) : this.getAttribute(\"transform\"); });\n\n tickEnter\n .attr(\"opacity\", epsilon)\n .attr(\"transform\", function(d) { var p = this.parentNode.__axis; return transform(p && isFinite(p = p(d)) ? p : position(d)); });\n }\n\n tickExit.remove();\n\n path\n .attr(\"d\", orient === left || orient == right\n ? \"M\" + k * tickSizeOuter + \",\" + range0 + \"H0.5V\" + range1 + \"H\" + k * tickSizeOuter\n : \"M\" + range0 + \",\" + k * tickSizeOuter + \"V0.5H\" + range1 + \"V\" + k * tickSizeOuter);\n\n tick\n .attr(\"opacity\", 1)\n .attr(\"transform\", function(d) { return transform(position(d)); });\n\n line\n .attr(x + \"2\", k * tickSizeInner);\n\n text\n .attr(x, k * spacing)\n .text(format);\n\n selection.filter(entering)\n .attr(\"fill\", \"none\")\n .attr(\"font-size\", 10)\n .attr(\"font-family\", \"sans-serif\")\n .attr(\"text-anchor\", orient === right ? \"start\" : orient === left ? \"end\" : \"middle\");\n\n selection\n .each(function() { this.__axis = position; });\n }\n\n axis.scale = function(_) {\n return arguments.length ? (scale = _, axis) : scale;\n };\n\n axis.ticks = function() {\n return tickArguments = slice.call(arguments), axis;\n };\n\n axis.tickArguments = function(_) {\n return arguments.length ? (tickArguments = _ == null ? [] : slice.call(_), axis) : tickArguments.slice();\n };\n\n axis.tickValues = function(_) {\n return arguments.length ? (tickValues = _ == null ? null : slice.call(_), axis) : tickValues && tickValues.slice();\n };\n\n axis.tickFormat = function(_) {\n return arguments.length ? (tickFormat = _, axis) : tickFormat;\n };\n\n axis.tickSize = function(_) {\n return arguments.length ? (tickSizeInner = tickSizeOuter = +_, axis) : tickSizeInner;\n };\n\n axis.tickSizeInner = function(_) {\n return arguments.length ? (tickSizeInner = +_, axis) : tickSizeInner;\n };\n\n axis.tickSizeOuter = function(_) {\n return arguments.length ? (tickSizeOuter = +_, axis) : tickSizeOuter;\n };\n\n axis.tickPadding = function(_) {\n return arguments.length ? (tickPadding = +_, axis) : tickPadding;\n };\n\n return axis;\n}\n\nexport function axisTop(scale) {\n return axis(top, scale);\n}\n\nexport function axisRight(scale) {\n return axis(right, scale);\n}\n\nexport function axisBottom(scale) {\n return axis(bottom, scale);\n}\n\nexport function axisLeft(scale) {\n return axis(left, scale);\n}\n","var noop = {value: function() {}};\n\nfunction dispatch() {\n for (var i = 0, n = arguments.length, _ = {}, t; i < n; ++i) {\n if (!(t = arguments[i] + \"\") || (t in _)) throw new Error(\"illegal type: \" + t);\n _[t] = [];\n }\n return new Dispatch(_);\n}\n\nfunction Dispatch(_) {\n this._ = _;\n}\n\nfunction parseTypenames(typenames, types) {\n return typenames.trim().split(/^|\\s+/).map(function(t) {\n var name = \"\", i = t.indexOf(\".\");\n if (i >= 0) name = t.slice(i + 1), t = t.slice(0, i);\n if (t && !types.hasOwnProperty(t)) throw new Error(\"unknown type: \" + t);\n return {type: t, name: name};\n });\n}\n\nDispatch.prototype = dispatch.prototype = {\n constructor: Dispatch,\n on: function(typename, callback) {\n var _ = this._,\n T = parseTypenames(typename + \"\", _),\n t,\n i = -1,\n n = T.length;\n\n // If no callback was specified, return the callback of the given type and name.\n if (arguments.length < 2) {\n while (++i < n) if ((t = (typename = T[i]).type) && (t = get(_[t], typename.name))) return t;\n return;\n }\n\n // If a type was specified, set the callback for the given type and name.\n // Otherwise, if a null callback was specified, remove callbacks of the given name.\n if (callback != null && typeof callback !== \"function\") throw new Error(\"invalid callback: \" + callback);\n while (++i < n) {\n if (t = (typename = T[i]).type) _[t] = set(_[t], typename.name, callback);\n else if (callback == null) for (t in _) _[t] = set(_[t], typename.name, null);\n }\n\n return this;\n },\n copy: function() {\n var copy = {}, _ = this._;\n for (var t in _) copy[t] = _[t].slice();\n return new Dispatch(copy);\n },\n call: function(type, that) {\n if ((n = arguments.length - 2) > 0) for (var args = new Array(n), i = 0, n, t; i < n; ++i) args[i] = arguments[i + 2];\n if (!this._.hasOwnProperty(type)) throw new Error(\"unknown type: \" + type);\n for (t = this._[type], i = 0, n = t.length; i < n; ++i) t[i].value.apply(that, args);\n },\n apply: function(type, that, args) {\n if (!this._.hasOwnProperty(type)) throw new Error(\"unknown type: \" + type);\n for (var t = this._[type], i = 0, n = t.length; i < n; ++i) t[i].value.apply(that, args);\n }\n};\n\nfunction get(type, name) {\n for (var i = 0, n = type.length, c; i < n; ++i) {\n if ((c = type[i]).name === name) {\n return c.value;\n }\n }\n}\n\nfunction set(type, name, callback) {\n for (var i = 0, n = type.length; i < n; ++i) {\n if (type[i].name === name) {\n type[i] = noop, type = type.slice(0, i).concat(type.slice(i + 1));\n break;\n }\n }\n if (callback != null) type.push({name: name, value: callback});\n return type;\n}\n\nexport default dispatch;\n","export var xhtml = \"http://www.w3.org/1999/xhtml\";\n\nexport default {\n svg: \"http://www.w3.org/2000/svg\",\n xhtml: xhtml,\n xlink: \"http://www.w3.org/1999/xlink\",\n xml: \"http://www.w3.org/XML/1998/namespace\",\n xmlns: \"http://www.w3.org/2000/xmlns/\"\n};\n","import namespaces from \"./namespaces\";\n\nexport default function(name) {\n var prefix = name += \"\", i = prefix.indexOf(\":\");\n if (i >= 0 && (prefix = name.slice(0, i)) !== \"xmlns\") name = name.slice(i + 1);\n return namespaces.hasOwnProperty(prefix) ? {space: namespaces[prefix], local: name} : name;\n}\n","import namespace from \"./namespace\";\nimport {xhtml} from \"./namespaces\";\n\nfunction creatorInherit(name) {\n return function() {\n var document = this.ownerDocument,\n uri = this.namespaceURI;\n return uri === xhtml && document.documentElement.namespaceURI === xhtml\n ? document.createElement(name)\n : document.createElementNS(uri, name);\n };\n}\n\nfunction creatorFixed(fullname) {\n return function() {\n return this.ownerDocument.createElementNS(fullname.space, fullname.local);\n };\n}\n\nexport default function(name) {\n var fullname = namespace(name);\n return (fullname.local\n ? creatorFixed\n : creatorInherit)(fullname);\n}\n","function none() {}\n\nexport default function(selector) {\n return selector == null ? none : function() {\n return this.querySelector(selector);\n };\n}\n","function empty() {\n return [];\n}\n\nexport default function(selector) {\n return selector == null ? empty : function() {\n return this.querySelectorAll(selector);\n };\n}\n","var matcher = function(selector) {\n return function() {\n return this.matches(selector);\n };\n};\n\nif (typeof document !== \"undefined\") {\n var element = document.documentElement;\n if (!element.matches) {\n var vendorMatches = element.webkitMatchesSelector\n || element.msMatchesSelector\n || element.mozMatchesSelector\n || element.oMatchesSelector;\n matcher = function(selector) {\n return function() {\n return vendorMatches.call(this, selector);\n };\n };\n }\n}\n\nexport default matcher;\n","export default function(update) {\n return new Array(update.length);\n}\n","import sparse from \"./sparse\";\nimport {Selection} from \"./index\";\n\nexport default function() {\n return new Selection(this._enter || this._groups.map(sparse), this._parents);\n}\n\nexport function EnterNode(parent, datum) {\n this.ownerDocument = parent.ownerDocument;\n this.namespaceURI = parent.namespaceURI;\n this._next = null;\n this._parent = parent;\n this.__data__ = datum;\n}\n\nEnterNode.prototype = {\n constructor: EnterNode,\n appendChild: function(child) { return this._parent.insertBefore(child, this._next); },\n insertBefore: function(child, next) { return this._parent.insertBefore(child, next); },\n querySelector: function(selector) { return this._parent.querySelector(selector); },\n querySelectorAll: function(selector) { return this._parent.querySelectorAll(selector); }\n};\n","export default function(x) {\n return function() {\n return x;\n };\n}\n","import {Selection} from \"./index\";\nimport {EnterNode} from \"./enter\";\nimport constant from \"../constant\";\n\nvar keyPrefix = \"$\"; // Protect against keys like “__proto__”.\n\nfunction bindIndex(parent, group, enter, update, exit, data) {\n var i = 0,\n node,\n groupLength = group.length,\n dataLength = data.length;\n\n // Put any non-null nodes that fit into update.\n // Put any null nodes into enter.\n // Put any remaining data into enter.\n for (; i < dataLength; ++i) {\n if (node = group[i]) {\n node.__data__ = data[i];\n update[i] = node;\n } else {\n enter[i] = new EnterNode(parent, data[i]);\n }\n }\n\n // Put any non-null nodes that don’t fit into exit.\n for (; i < groupLength; ++i) {\n if (node = group[i]) {\n exit[i] = node;\n }\n }\n}\n\nfunction bindKey(parent, group, enter, update, exit, data, key) {\n var i,\n node,\n nodeByKeyValue = {},\n groupLength = group.length,\n dataLength = data.length,\n keyValues = new Array(groupLength),\n keyValue;\n\n // Compute the key for each node.\n // If multiple nodes have the same key, the duplicates are added to exit.\n for (i = 0; i < groupLength; ++i) {\n if (node = group[i]) {\n keyValues[i] = keyValue = keyPrefix + key.call(node, node.__data__, i, group);\n if (keyValue in nodeByKeyValue) {\n exit[i] = node;\n } else {\n nodeByKeyValue[keyValue] = node;\n }\n }\n }\n\n // Compute the key for each datum.\n // If there a node associated with this key, join and add it to update.\n // If there is not (or the key is a duplicate), add it to enter.\n for (i = 0; i < dataLength; ++i) {\n keyValue = keyPrefix + key.call(parent, data[i], i, data);\n if (node = nodeByKeyValue[keyValue]) {\n update[i] = node;\n node.__data__ = data[i];\n nodeByKeyValue[keyValue] = null;\n } else {\n enter[i] = new EnterNode(parent, data[i]);\n }\n }\n\n // Add any remaining nodes that were not bound to data to exit.\n for (i = 0; i < groupLength; ++i) {\n if ((node = group[i]) && (nodeByKeyValue[keyValues[i]] === node)) {\n exit[i] = node;\n }\n }\n}\n\nexport default function(value, key) {\n if (!value) {\n data = new Array(this.size()), j = -1;\n this.each(function(d) { data[++j] = d; });\n return data;\n }\n\n var bind = key ? bindKey : bindIndex,\n parents = this._parents,\n groups = this._groups;\n\n if (typeof value !== \"function\") value = constant(value);\n\n for (var m = groups.length, update = new Array(m), enter = new Array(m), exit = new Array(m), j = 0; j < m; ++j) {\n var parent = parents[j],\n group = groups[j],\n groupLength = group.length,\n data = value.call(parent, parent && parent.__data__, j, parents),\n dataLength = data.length,\n enterGroup = enter[j] = new Array(dataLength),\n updateGroup = update[j] = new Array(dataLength),\n exitGroup = exit[j] = new Array(groupLength);\n\n bind(parent, group, enterGroup, updateGroup, exitGroup, data, key);\n\n // Now connect the enter nodes to their following update node, such that\n // appendChild can insert the materialized enter node before this node,\n // rather than at the end of the parent node.\n for (var i0 = 0, i1 = 0, previous, next; i0 < dataLength; ++i0) {\n if (previous = enterGroup[i0]) {\n if (i0 >= i1) i1 = i0 + 1;\n while (!(next = updateGroup[i1]) && ++i1 < dataLength);\n previous._next = next || null;\n }\n }\n }\n\n update = new Selection(update, parents);\n update._enter = enter;\n update._exit = exit;\n return update;\n}\n","import {Selection} from \"./index\";\n\nexport default function(compare) {\n if (!compare) compare = ascending;\n\n function compareNode(a, b) {\n return a && b ? compare(a.__data__, b.__data__) : !a - !b;\n }\n\n for (var groups = this._groups, m = groups.length, sortgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, sortgroup = sortgroups[j] = new Array(n), node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n sortgroup[i] = node;\n }\n }\n sortgroup.sort(compareNode);\n }\n\n return new Selection(sortgroups, this._parents).order();\n}\n\nfunction ascending(a, b) {\n return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;\n}\n","import namespace from \"../namespace\";\n\nfunction attrRemove(name) {\n return function() {\n this.removeAttribute(name);\n };\n}\n\nfunction attrRemoveNS(fullname) {\n return function() {\n this.removeAttributeNS(fullname.space, fullname.local);\n };\n}\n\nfunction attrConstant(name, value) {\n return function() {\n this.setAttribute(name, value);\n };\n}\n\nfunction attrConstantNS(fullname, value) {\n return function() {\n this.setAttributeNS(fullname.space, fullname.local, value);\n };\n}\n\nfunction attrFunction(name, value) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) this.removeAttribute(name);\n else this.setAttribute(name, v);\n };\n}\n\nfunction attrFunctionNS(fullname, value) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) this.removeAttributeNS(fullname.space, fullname.local);\n else this.setAttributeNS(fullname.space, fullname.local, v);\n };\n}\n\nexport default function(name, value) {\n var fullname = namespace(name);\n\n if (arguments.length < 2) {\n var node = this.node();\n return fullname.local\n ? node.getAttributeNS(fullname.space, fullname.local)\n : node.getAttribute(fullname);\n }\n\n return this.each((value == null\n ? (fullname.local ? attrRemoveNS : attrRemove) : (typeof value === \"function\"\n ? (fullname.local ? attrFunctionNS : attrFunction)\n : (fullname.local ? attrConstantNS : attrConstant)))(fullname, value));\n}\n","export default function(node) {\n return (node.ownerDocument && node.ownerDocument.defaultView) // node is a Node\n || (node.document && node) // node is a Window\n || node.defaultView; // node is a Document\n}\n","import defaultView from \"../window\";\n\nfunction styleRemove(name) {\n return function() {\n this.style.removeProperty(name);\n };\n}\n\nfunction styleConstant(name, value, priority) {\n return function() {\n this.style.setProperty(name, value, priority);\n };\n}\n\nfunction styleFunction(name, value, priority) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) this.style.removeProperty(name);\n else this.style.setProperty(name, v, priority);\n };\n}\n\nexport default function(name, value, priority) {\n return arguments.length > 1\n ? this.each((value == null\n ? styleRemove : typeof value === \"function\"\n ? styleFunction\n : styleConstant)(name, value, priority == null ? \"\" : priority))\n : styleValue(this.node(), name);\n}\n\nexport function styleValue(node, name) {\n return node.style.getPropertyValue(name)\n || defaultView(node).getComputedStyle(node, null).getPropertyValue(name);\n}\n","function classArray(string) {\n return string.trim().split(/^|\\s+/);\n}\n\nfunction classList(node) {\n return node.classList || new ClassList(node);\n}\n\nfunction ClassList(node) {\n this._node = node;\n this._names = classArray(node.getAttribute(\"class\") || \"\");\n}\n\nClassList.prototype = {\n add: function(name) {\n var i = this._names.indexOf(name);\n if (i < 0) {\n this._names.push(name);\n this._node.setAttribute(\"class\", this._names.join(\" \"));\n }\n },\n remove: function(name) {\n var i = this._names.indexOf(name);\n if (i >= 0) {\n this._names.splice(i, 1);\n this._node.setAttribute(\"class\", this._names.join(\" \"));\n }\n },\n contains: function(name) {\n return this._names.indexOf(name) >= 0;\n }\n};\n\nfunction classedAdd(node, names) {\n var list = classList(node), i = -1, n = names.length;\n while (++i < n) list.add(names[i]);\n}\n\nfunction classedRemove(node, names) {\n var list = classList(node), i = -1, n = names.length;\n while (++i < n) list.remove(names[i]);\n}\n\nfunction classedTrue(names) {\n return function() {\n classedAdd(this, names);\n };\n}\n\nfunction classedFalse(names) {\n return function() {\n classedRemove(this, names);\n };\n}\n\nfunction classedFunction(names, value) {\n return function() {\n (value.apply(this, arguments) ? classedAdd : classedRemove)(this, names);\n };\n}\n\nexport default function(name, value) {\n var names = classArray(name + \"\");\n\n if (arguments.length < 2) {\n var list = classList(this.node()), i = -1, n = names.length;\n while (++i < n) if (!list.contains(names[i])) return false;\n return true;\n }\n\n return this.each((typeof value === \"function\"\n ? classedFunction : value\n ? classedTrue\n : classedFalse)(names, value));\n}\n","function textRemove() {\n this.textContent = \"\";\n}\n\nfunction textConstant(value) {\n return function() {\n this.textContent = value;\n };\n}\n\nfunction textFunction(value) {\n return function() {\n var v = value.apply(this, arguments);\n this.textContent = v == null ? \"\" : v;\n };\n}\n\nexport default function(value) {\n return arguments.length\n ? this.each(value == null\n ? textRemove : (typeof value === \"function\"\n ? textFunction\n : textConstant)(value))\n : this.node().textContent;\n}\n","function htmlRemove() {\n this.innerHTML = \"\";\n}\n\nfunction htmlConstant(value) {\n return function() {\n this.innerHTML = value;\n };\n}\n\nfunction htmlFunction(value) {\n return function() {\n var v = value.apply(this, arguments);\n this.innerHTML = v == null ? \"\" : v;\n };\n}\n\nexport default function(value) {\n return arguments.length\n ? this.each(value == null\n ? htmlRemove : (typeof value === \"function\"\n ? htmlFunction\n : htmlConstant)(value))\n : this.node().innerHTML;\n}\n","function raise() {\n if (this.nextSibling) this.parentNode.appendChild(this);\n}\n\nexport default function() {\n return this.each(raise);\n}\n","function lower() {\n if (this.previousSibling) this.parentNode.insertBefore(this, this.parentNode.firstChild);\n}\n\nexport default function() {\n return this.each(lower);\n}\n","import creator from \"../creator\";\nimport selector from \"../selector\";\n\nfunction constantNull() {\n return null;\n}\n\nexport default function(name, before) {\n var create = typeof name === \"function\" ? name : creator(name),\n select = before == null ? constantNull : typeof before === \"function\" ? before : selector(before);\n return this.select(function() {\n return this.insertBefore(create.apply(this, arguments), select.apply(this, arguments) || null);\n });\n}\n","function remove() {\n var parent = this.parentNode;\n if (parent) parent.removeChild(this);\n}\n\nexport default function() {\n return this.each(remove);\n}\n","function selection_cloneShallow() {\n return this.parentNode.insertBefore(this.cloneNode(false), this.nextSibling);\n}\n\nfunction selection_cloneDeep() {\n return this.parentNode.insertBefore(this.cloneNode(true), this.nextSibling);\n}\n\nexport default function(deep) {\n return this.select(deep ? selection_cloneDeep : selection_cloneShallow);\n}\n","var filterEvents = {};\n\nexport var event = null;\n\nif (typeof document !== \"undefined\") {\n var element = document.documentElement;\n if (!(\"onmouseenter\" in element)) {\n filterEvents = {mouseenter: \"mouseover\", mouseleave: \"mouseout\"};\n }\n}\n\nfunction filterContextListener(listener, index, group) {\n listener = contextListener(listener, index, group);\n return function(event) {\n var related = event.relatedTarget;\n if (!related || (related !== this && !(related.compareDocumentPosition(this) & 8))) {\n listener.call(this, event);\n }\n };\n}\n\nfunction contextListener(listener, index, group) {\n return function(event1) {\n var event0 = event; // Events can be reentrant (e.g., focus).\n event = event1;\n try {\n listener.call(this, this.__data__, index, group);\n } finally {\n event = event0;\n }\n };\n}\n\nfunction parseTypenames(typenames) {\n return typenames.trim().split(/^|\\s+/).map(function(t) {\n var name = \"\", i = t.indexOf(\".\");\n if (i >= 0) name = t.slice(i + 1), t = t.slice(0, i);\n return {type: t, name: name};\n });\n}\n\nfunction onRemove(typename) {\n return function() {\n var on = this.__on;\n if (!on) return;\n for (var j = 0, i = -1, m = on.length, o; j < m; ++j) {\n if (o = on[j], (!typename.type || o.type === typename.type) && o.name === typename.name) {\n this.removeEventListener(o.type, o.listener, o.capture);\n } else {\n on[++i] = o;\n }\n }\n if (++i) on.length = i;\n else delete this.__on;\n };\n}\n\nfunction onAdd(typename, value, capture) {\n var wrap = filterEvents.hasOwnProperty(typename.type) ? filterContextListener : contextListener;\n return function(d, i, group) {\n var on = this.__on, o, listener = wrap(value, i, group);\n if (on) for (var j = 0, m = on.length; j < m; ++j) {\n if ((o = on[j]).type === typename.type && o.name === typename.name) {\n this.removeEventListener(o.type, o.listener, o.capture);\n this.addEventListener(o.type, o.listener = listener, o.capture = capture);\n o.value = value;\n return;\n }\n }\n this.addEventListener(typename.type, listener, capture);\n o = {type: typename.type, name: typename.name, value: value, listener: listener, capture: capture};\n if (!on) this.__on = [o];\n else on.push(o);\n };\n}\n\nexport default function(typename, value, capture) {\n var typenames = parseTypenames(typename + \"\"), i, n = typenames.length, t;\n\n if (arguments.length < 2) {\n var on = this.node().__on;\n if (on) for (var j = 0, m = on.length, o; j < m; ++j) {\n for (i = 0, o = on[j]; i < n; ++i) {\n if ((t = typenames[i]).type === o.type && t.name === o.name) {\n return o.value;\n }\n }\n }\n return;\n }\n\n on = value ? onAdd : onRemove;\n if (capture == null) capture = false;\n for (i = 0; i < n; ++i) this.each(on(typenames[i], value, capture));\n return this;\n}\n\nexport function customEvent(event1, listener, that, args) {\n var event0 = event;\n event1.sourceEvent = event;\n event = event1;\n try {\n return listener.apply(that, args);\n } finally {\n event = event0;\n }\n}\n","import defaultView from \"../window\";\n\nfunction dispatchEvent(node, type, params) {\n var window = defaultView(node),\n event = window.CustomEvent;\n\n if (typeof event === \"function\") {\n event = new event(type, params);\n } else {\n event = window.document.createEvent(\"Event\");\n if (params) event.initEvent(type, params.bubbles, params.cancelable), event.detail = params.detail;\n else event.initEvent(type, false, false);\n }\n\n node.dispatchEvent(event);\n}\n\nfunction dispatchConstant(type, params) {\n return function() {\n return dispatchEvent(this, type, params);\n };\n}\n\nfunction dispatchFunction(type, params) {\n return function() {\n return dispatchEvent(this, type, params.apply(this, arguments));\n };\n}\n\nexport default function(type, params) {\n return this.each((typeof params === \"function\"\n ? dispatchFunction\n : dispatchConstant)(type, params));\n}\n","import selection_select from \"./select\";\nimport selection_selectAll from \"./selectAll\";\nimport selection_filter from \"./filter\";\nimport selection_data from \"./data\";\nimport selection_enter from \"./enter\";\nimport selection_exit from \"./exit\";\nimport selection_merge from \"./merge\";\nimport selection_order from \"./order\";\nimport selection_sort from \"./sort\";\nimport selection_call from \"./call\";\nimport selection_nodes from \"./nodes\";\nimport selection_node from \"./node\";\nimport selection_size from \"./size\";\nimport selection_empty from \"./empty\";\nimport selection_each from \"./each\";\nimport selection_attr from \"./attr\";\nimport selection_style from \"./style\";\nimport selection_property from \"./property\";\nimport selection_classed from \"./classed\";\nimport selection_text from \"./text\";\nimport selection_html from \"./html\";\nimport selection_raise from \"./raise\";\nimport selection_lower from \"./lower\";\nimport selection_append from \"./append\";\nimport selection_insert from \"./insert\";\nimport selection_remove from \"./remove\";\nimport selection_clone from \"./clone\";\nimport selection_datum from \"./datum\";\nimport selection_on from \"./on\";\nimport selection_dispatch from \"./dispatch\";\n\nexport var root = [null];\n\nexport function Selection(groups, parents) {\n this._groups = groups;\n this._parents = parents;\n}\n\nfunction selection() {\n return new Selection([[document.documentElement]], root);\n}\n\nSelection.prototype = selection.prototype = {\n constructor: Selection,\n select: selection_select,\n selectAll: selection_selectAll,\n filter: selection_filter,\n data: selection_data,\n enter: selection_enter,\n exit: selection_exit,\n merge: selection_merge,\n order: selection_order,\n sort: selection_sort,\n call: selection_call,\n nodes: selection_nodes,\n node: selection_node,\n size: selection_size,\n empty: selection_empty,\n each: selection_each,\n attr: selection_attr,\n style: selection_style,\n property: selection_property,\n classed: selection_classed,\n text: selection_text,\n html: selection_html,\n raise: selection_raise,\n lower: selection_lower,\n append: selection_append,\n insert: selection_insert,\n remove: selection_remove,\n clone: selection_clone,\n datum: selection_datum,\n on: selection_on,\n dispatch: selection_dispatch\n};\n\nexport default selection;\n","import {Selection} from \"./index\";\nimport selector from \"../selector\";\n\nexport default function(select) {\n if (typeof select !== \"function\") select = selector(select);\n\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = new Array(n), node, subnode, i = 0; i < n; ++i) {\n if ((node = group[i]) && (subnode = select.call(node, node.__data__, i, group))) {\n if (\"__data__\" in node) subnode.__data__ = node.__data__;\n subgroup[i] = subnode;\n }\n }\n }\n\n return new Selection(subgroups, this._parents);\n}\n","import {Selection} from \"./index\";\nimport selectorAll from \"../selectorAll\";\n\nexport default function(select) {\n if (typeof select !== \"function\") select = selectorAll(select);\n\n for (var groups = this._groups, m = groups.length, subgroups = [], parents = [], j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n subgroups.push(select.call(node, node.__data__, i, group));\n parents.push(node);\n }\n }\n }\n\n return new Selection(subgroups, parents);\n}\n","import {Selection} from \"./index\";\nimport matcher from \"../matcher\";\n\nexport default function(match) {\n if (typeof match !== \"function\") match = matcher(match);\n\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = [], node, i = 0; i < n; ++i) {\n if ((node = group[i]) && match.call(node, node.__data__, i, group)) {\n subgroup.push(node);\n }\n }\n }\n\n return new Selection(subgroups, this._parents);\n}\n","import sparse from \"./sparse\";\nimport {Selection} from \"./index\";\n\nexport default function() {\n return new Selection(this._exit || this._groups.map(sparse), this._parents);\n}\n","import {Selection} from \"./index\";\n\nexport default function(selection) {\n\n for (var groups0 = this._groups, groups1 = selection._groups, m0 = groups0.length, m1 = groups1.length, m = Math.min(m0, m1), merges = new Array(m0), j = 0; j < m; ++j) {\n for (var group0 = groups0[j], group1 = groups1[j], n = group0.length, merge = merges[j] = new Array(n), node, i = 0; i < n; ++i) {\n if (node = group0[i] || group1[i]) {\n merge[i] = node;\n }\n }\n }\n\n for (; j < m0; ++j) {\n merges[j] = groups0[j];\n }\n\n return new Selection(merges, this._parents);\n}\n","export default function() {\n\n for (var groups = this._groups, j = -1, m = groups.length; ++j < m;) {\n for (var group = groups[j], i = group.length - 1, next = group[i], node; --i >= 0;) {\n if (node = group[i]) {\n if (next && next !== node.nextSibling) next.parentNode.insertBefore(node, next);\n next = node;\n }\n }\n }\n\n return this;\n}\n","export default function() {\n var callback = arguments[0];\n arguments[0] = this;\n callback.apply(null, arguments);\n return this;\n}\n","export default function() {\n var nodes = new Array(this.size()), i = -1;\n this.each(function() { nodes[++i] = this; });\n return nodes;\n}\n","export default function() {\n\n for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) {\n for (var group = groups[j], i = 0, n = group.length; i < n; ++i) {\n var node = group[i];\n if (node) return node;\n }\n }\n\n return null;\n}\n","export default function() {\n var size = 0;\n this.each(function() { ++size; });\n return size;\n}\n","export default function() {\n return !this.node();\n}\n","export default function(callback) {\n\n for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) {\n for (var group = groups[j], i = 0, n = group.length, node; i < n; ++i) {\n if (node = group[i]) callback.call(node, node.__data__, i, group);\n }\n }\n\n return this;\n}\n","function propertyRemove(name) {\n return function() {\n delete this[name];\n };\n}\n\nfunction propertyConstant(name, value) {\n return function() {\n this[name] = value;\n };\n}\n\nfunction propertyFunction(name, value) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) delete this[name];\n else this[name] = v;\n };\n}\n\nexport default function(name, value) {\n return arguments.length > 1\n ? this.each((value == null\n ? propertyRemove : typeof value === \"function\"\n ? propertyFunction\n : propertyConstant)(name, value))\n : this.node()[name];\n}\n","import creator from \"../creator\";\n\nexport default function(name) {\n var create = typeof name === \"function\" ? name : creator(name);\n return this.select(function() {\n return this.appendChild(create.apply(this, arguments));\n });\n}\n","export default function(value) {\n return arguments.length\n ? this.property(\"__data__\", value)\n : this.node().__data__;\n}\n","import {Selection, root} from \"./selection/index\";\n\nexport default function(selector) {\n return typeof selector === \"string\"\n ? new Selection([[document.querySelector(selector)]], [document.documentElement])\n : new Selection([[selector]], root);\n}\n","import creator from \"./creator\";\nimport select from \"./select\";\n\nexport default function(name) {\n return select(creator(name).call(document.documentElement));\n}\n","var nextId = 0;\n\nexport default function local() {\n return new Local;\n}\n\nfunction Local() {\n this._ = \"@\" + (++nextId).toString(36);\n}\n\nLocal.prototype = local.prototype = {\n constructor: Local,\n get: function(node) {\n var id = this._;\n while (!(id in node)) if (!(node = node.parentNode)) return;\n return node[id];\n },\n set: function(node, value) {\n return node[this._] = value;\n },\n remove: function(node) {\n return this._ in node && delete node[this._];\n },\n toString: function() {\n return this._;\n }\n};\n","import {event} from \"./selection/on\";\n\nexport default function() {\n var current = event, source;\n while (source = current.sourceEvent) current = source;\n return current;\n}\n","export default function(node, event) {\n var svg = node.ownerSVGElement || node;\n\n if (svg.createSVGPoint) {\n var point = svg.createSVGPoint();\n point.x = event.clientX, point.y = event.clientY;\n point = point.matrixTransform(node.getScreenCTM().inverse());\n return [point.x, point.y];\n }\n\n var rect = node.getBoundingClientRect();\n return [event.clientX - rect.left - node.clientLeft, event.clientY - rect.top - node.clientTop];\n}\n","import sourceEvent from \"./sourceEvent\";\nimport point from \"./point\";\n\nexport default function(node) {\n var event = sourceEvent();\n if (event.changedTouches) event = event.changedTouches[0];\n return point(node, event);\n}\n","import {Selection, root} from \"./selection/index\";\n\nexport default function(selector) {\n return typeof selector === \"string\"\n ? new Selection([document.querySelectorAll(selector)], [document.documentElement])\n : new Selection([selector == null ? [] : selector], root);\n}\n","import sourceEvent from \"./sourceEvent\";\nimport point from \"./point\";\n\nexport default function(node, touches, identifier) {\n if (arguments.length < 3) identifier = touches, touches = sourceEvent().changedTouches;\n\n for (var i = 0, n = touches ? touches.length : 0, touch; i < n; ++i) {\n if ((touch = touches[i]).identifier === identifier) {\n return point(node, touch);\n }\n }\n\n return null;\n}\n","import sourceEvent from \"./sourceEvent\";\nimport point from \"./point\";\n\nexport default function(node, touches) {\n if (touches == null) touches = sourceEvent().touches;\n\n for (var i = 0, n = touches ? touches.length : 0, points = new Array(n); i < n; ++i) {\n points[i] = point(node, touches[i]);\n }\n\n return points;\n}\n","import {event} from \"d3-selection\";\n\nexport function nopropagation() {\n event.stopImmediatePropagation();\n}\n\nexport default function() {\n event.preventDefault();\n event.stopImmediatePropagation();\n}\n","import {select} from \"d3-selection\";\nimport noevent from \"./noevent\";\n\nexport default function(view) {\n var root = view.document.documentElement,\n selection = select(view).on(\"dragstart.drag\", noevent, true);\n if (\"onselectstart\" in root) {\n selection.on(\"selectstart.drag\", noevent, true);\n } else {\n root.__noselect = root.style.MozUserSelect;\n root.style.MozUserSelect = \"none\";\n }\n}\n\nexport function yesdrag(view, noclick) {\n var root = view.document.documentElement,\n selection = select(view).on(\"dragstart.drag\", null);\n if (noclick) {\n selection.on(\"click.drag\", noevent, true);\n setTimeout(function() { selection.on(\"click.drag\", null); }, 0);\n }\n if (\"onselectstart\" in root) {\n selection.on(\"selectstart.drag\", null);\n } else {\n root.style.MozUserSelect = root.__noselect;\n delete root.__noselect;\n }\n}\n","export default function(x) {\n return function() {\n return x;\n };\n}\n","export default function DragEvent(target, type, subject, id, active, x, y, dx, dy, dispatch) {\n this.target = target;\n this.type = type;\n this.subject = subject;\n this.identifier = id;\n this.active = active;\n this.x = x;\n this.y = y;\n this.dx = dx;\n this.dy = dy;\n this._ = dispatch;\n}\n\nDragEvent.prototype.on = function() {\n var value = this._.on.apply(this._, arguments);\n return value === this._ ? this : value;\n};\n","import {dispatch} from \"d3-dispatch\";\nimport {event, customEvent, select, mouse, touch} from \"d3-selection\";\nimport nodrag, {yesdrag} from \"./nodrag\";\nimport noevent, {nopropagation} from \"./noevent\";\nimport constant from \"./constant\";\nimport DragEvent from \"./event\";\n\n// Ignore right-click, since that should open the context menu.\nfunction defaultFilter() {\n return !event.button;\n}\n\nfunction defaultContainer() {\n return this.parentNode;\n}\n\nfunction defaultSubject(d) {\n return d == null ? {x: event.x, y: event.y} : d;\n}\n\nfunction defaultTouchable() {\n return \"ontouchstart\" in this;\n}\n\nexport default function() {\n var filter = defaultFilter,\n container = defaultContainer,\n subject = defaultSubject,\n touchable = defaultTouchable,\n gestures = {},\n listeners = dispatch(\"start\", \"drag\", \"end\"),\n active = 0,\n mousedownx,\n mousedowny,\n mousemoving,\n touchending,\n clickDistance2 = 0;\n\n function drag(selection) {\n selection\n .on(\"mousedown.drag\", mousedowned)\n .filter(touchable)\n .on(\"touchstart.drag\", touchstarted)\n .on(\"touchmove.drag\", touchmoved)\n .on(\"touchend.drag touchcancel.drag\", touchended)\n .style(\"touch-action\", \"none\")\n .style(\"-webkit-tap-highlight-color\", \"rgba(0,0,0,0)\");\n }\n\n function mousedowned() {\n if (touchending || !filter.apply(this, arguments)) return;\n var gesture = beforestart(\"mouse\", container.apply(this, arguments), mouse, this, arguments);\n if (!gesture) return;\n select(event.view).on(\"mousemove.drag\", mousemoved, true).on(\"mouseup.drag\", mouseupped, true);\n nodrag(event.view);\n nopropagation();\n mousemoving = false;\n mousedownx = event.clientX;\n mousedowny = event.clientY;\n gesture(\"start\");\n }\n\n function mousemoved() {\n noevent();\n if (!mousemoving) {\n var dx = event.clientX - mousedownx, dy = event.clientY - mousedowny;\n mousemoving = dx * dx + dy * dy > clickDistance2;\n }\n gestures.mouse(\"drag\");\n }\n\n function mouseupped() {\n select(event.view).on(\"mousemove.drag mouseup.drag\", null);\n yesdrag(event.view, mousemoving);\n noevent();\n gestures.mouse(\"end\");\n }\n\n function touchstarted() {\n if (!filter.apply(this, arguments)) return;\n var touches = event.changedTouches,\n c = container.apply(this, arguments),\n n = touches.length, i, gesture;\n\n for (i = 0; i < n; ++i) {\n if (gesture = beforestart(touches[i].identifier, c, touch, this, arguments)) {\n nopropagation();\n gesture(\"start\");\n }\n }\n }\n\n function touchmoved() {\n var touches = event.changedTouches,\n n = touches.length, i, gesture;\n\n for (i = 0; i < n; ++i) {\n if (gesture = gestures[touches[i].identifier]) {\n noevent();\n gesture(\"drag\");\n }\n }\n }\n\n function touchended() {\n var touches = event.changedTouches,\n n = touches.length, i, gesture;\n\n if (touchending) clearTimeout(touchending);\n touchending = setTimeout(function() { touchending = null; }, 500); // Ghost clicks are delayed!\n for (i = 0; i < n; ++i) {\n if (gesture = gestures[touches[i].identifier]) {\n nopropagation();\n gesture(\"end\");\n }\n }\n }\n\n function beforestart(id, container, point, that, args) {\n var p = point(container, id), s, dx, dy,\n sublisteners = listeners.copy();\n\n if (!customEvent(new DragEvent(drag, \"beforestart\", s, id, active, p[0], p[1], 0, 0, sublisteners), function() {\n if ((event.subject = s = subject.apply(that, args)) == null) return false;\n dx = s.x - p[0] || 0;\n dy = s.y - p[1] || 0;\n return true;\n })) return;\n\n return function gesture(type) {\n var p0 = p, n;\n switch (type) {\n case \"start\": gestures[id] = gesture, n = active++; break;\n case \"end\": delete gestures[id], --active; // nobreak\n case \"drag\": p = point(container, id), n = active; break;\n }\n customEvent(new DragEvent(drag, type, s, id, n, p[0] + dx, p[1] + dy, p[0] - p0[0], p[1] - p0[1], sublisteners), sublisteners.apply, sublisteners, [type, that, args]);\n };\n }\n\n drag.filter = function(_) {\n return arguments.length ? (filter = typeof _ === \"function\" ? _ : constant(!!_), drag) : filter;\n };\n\n drag.container = function(_) {\n return arguments.length ? (container = typeof _ === \"function\" ? _ : constant(_), drag) : container;\n };\n\n drag.subject = function(_) {\n return arguments.length ? (subject = typeof _ === \"function\" ? _ : constant(_), drag) : subject;\n };\n\n drag.touchable = function(_) {\n return arguments.length ? (touchable = typeof _ === \"function\" ? _ : constant(!!_), drag) : touchable;\n };\n\n drag.on = function() {\n var value = listeners.on.apply(listeners, arguments);\n return value === listeners ? drag : value;\n };\n\n drag.clickDistance = function(_) {\n return arguments.length ? (clickDistance2 = (_ = +_) * _, drag) : Math.sqrt(clickDistance2);\n };\n\n return drag;\n}\n","export default function(constructor, factory, prototype) {\n constructor.prototype = factory.prototype = prototype;\n prototype.constructor = constructor;\n}\n\nexport function extend(parent, definition) {\n var prototype = Object.create(parent.prototype);\n for (var key in definition) prototype[key] = definition[key];\n return prototype;\n}\n","import define, {extend} from \"./define\";\n\nexport function Color() {}\n\nexport var darker = 0.7;\nexport var brighter = 1 / darker;\n\nvar reI = \"\\\\s*([+-]?\\\\d+)\\\\s*\",\n reN = \"\\\\s*([+-]?\\\\d*\\\\.?\\\\d+(?:[eE][+-]?\\\\d+)?)\\\\s*\",\n reP = \"\\\\s*([+-]?\\\\d*\\\\.?\\\\d+(?:[eE][+-]?\\\\d+)?)%\\\\s*\",\n reHex3 = /^#([0-9a-f]{3})$/,\n reHex6 = /^#([0-9a-f]{6})$/,\n reRgbInteger = new RegExp(\"^rgb\\\\(\" + [reI, reI, reI] + \"\\\\)$\"),\n reRgbPercent = new RegExp(\"^rgb\\\\(\" + [reP, reP, reP] + \"\\\\)$\"),\n reRgbaInteger = new RegExp(\"^rgba\\\\(\" + [reI, reI, reI, reN] + \"\\\\)$\"),\n reRgbaPercent = new RegExp(\"^rgba\\\\(\" + [reP, reP, reP, reN] + \"\\\\)$\"),\n reHslPercent = new RegExp(\"^hsl\\\\(\" + [reN, reP, reP] + \"\\\\)$\"),\n reHslaPercent = new RegExp(\"^hsla\\\\(\" + [reN, reP, reP, reN] + \"\\\\)$\");\n\nvar named = {\n aliceblue: 0xf0f8ff,\n antiquewhite: 0xfaebd7,\n aqua: 0x00ffff,\n aquamarine: 0x7fffd4,\n azure: 0xf0ffff,\n beige: 0xf5f5dc,\n bisque: 0xffe4c4,\n black: 0x000000,\n blanchedalmond: 0xffebcd,\n blue: 0x0000ff,\n blueviolet: 0x8a2be2,\n brown: 0xa52a2a,\n burlywood: 0xdeb887,\n cadetblue: 0x5f9ea0,\n chartreuse: 0x7fff00,\n chocolate: 0xd2691e,\n coral: 0xff7f50,\n cornflowerblue: 0x6495ed,\n cornsilk: 0xfff8dc,\n crimson: 0xdc143c,\n cyan: 0x00ffff,\n darkblue: 0x00008b,\n darkcyan: 0x008b8b,\n darkgoldenrod: 0xb8860b,\n darkgray: 0xa9a9a9,\n darkgreen: 0x006400,\n darkgrey: 0xa9a9a9,\n darkkhaki: 0xbdb76b,\n darkmagenta: 0x8b008b,\n darkolivegreen: 0x556b2f,\n darkorange: 0xff8c00,\n darkorchid: 0x9932cc,\n darkred: 0x8b0000,\n darksalmon: 0xe9967a,\n darkseagreen: 0x8fbc8f,\n darkslateblue: 0x483d8b,\n darkslategray: 0x2f4f4f,\n darkslategrey: 0x2f4f4f,\n darkturquoise: 0x00ced1,\n darkviolet: 0x9400d3,\n deeppink: 0xff1493,\n deepskyblue: 0x00bfff,\n dimgray: 0x696969,\n dimgrey: 0x696969,\n dodgerblue: 0x1e90ff,\n firebrick: 0xb22222,\n floralwhite: 0xfffaf0,\n forestgreen: 0x228b22,\n fuchsia: 0xff00ff,\n gainsboro: 0xdcdcdc,\n ghostwhite: 0xf8f8ff,\n gold: 0xffd700,\n goldenrod: 0xdaa520,\n gray: 0x808080,\n green: 0x008000,\n greenyellow: 0xadff2f,\n grey: 0x808080,\n honeydew: 0xf0fff0,\n hotpink: 0xff69b4,\n indianred: 0xcd5c5c,\n indigo: 0x4b0082,\n ivory: 0xfffff0,\n khaki: 0xf0e68c,\n lavender: 0xe6e6fa,\n lavenderblush: 0xfff0f5,\n lawngreen: 0x7cfc00,\n lemonchiffon: 0xfffacd,\n lightblue: 0xadd8e6,\n lightcoral: 0xf08080,\n lightcyan: 0xe0ffff,\n lightgoldenrodyellow: 0xfafad2,\n lightgray: 0xd3d3d3,\n lightgreen: 0x90ee90,\n lightgrey: 0xd3d3d3,\n lightpink: 0xffb6c1,\n lightsalmon: 0xffa07a,\n lightseagreen: 0x20b2aa,\n lightskyblue: 0x87cefa,\n lightslategray: 0x778899,\n lightslategrey: 0x778899,\n lightsteelblue: 0xb0c4de,\n lightyellow: 0xffffe0,\n lime: 0x00ff00,\n limegreen: 0x32cd32,\n linen: 0xfaf0e6,\n magenta: 0xff00ff,\n maroon: 0x800000,\n mediumaquamarine: 0x66cdaa,\n mediumblue: 0x0000cd,\n mediumorchid: 0xba55d3,\n mediumpurple: 0x9370db,\n mediumseagreen: 0x3cb371,\n mediumslateblue: 0x7b68ee,\n mediumspringgreen: 0x00fa9a,\n mediumturquoise: 0x48d1cc,\n mediumvioletred: 0xc71585,\n midnightblue: 0x191970,\n mintcream: 0xf5fffa,\n mistyrose: 0xffe4e1,\n moccasin: 0xffe4b5,\n navajowhite: 0xffdead,\n navy: 0x000080,\n oldlace: 0xfdf5e6,\n olive: 0x808000,\n olivedrab: 0x6b8e23,\n orange: 0xffa500,\n orangered: 0xff4500,\n orchid: 0xda70d6,\n palegoldenrod: 0xeee8aa,\n palegreen: 0x98fb98,\n paleturquoise: 0xafeeee,\n palevioletred: 0xdb7093,\n papayawhip: 0xffefd5,\n peachpuff: 0xffdab9,\n peru: 0xcd853f,\n pink: 0xffc0cb,\n plum: 0xdda0dd,\n powderblue: 0xb0e0e6,\n purple: 0x800080,\n rebeccapurple: 0x663399,\n red: 0xff0000,\n rosybrown: 0xbc8f8f,\n royalblue: 0x4169e1,\n saddlebrown: 0x8b4513,\n salmon: 0xfa8072,\n sandybrown: 0xf4a460,\n seagreen: 0x2e8b57,\n seashell: 0xfff5ee,\n sienna: 0xa0522d,\n silver: 0xc0c0c0,\n skyblue: 0x87ceeb,\n slateblue: 0x6a5acd,\n slategray: 0x708090,\n slategrey: 0x708090,\n snow: 0xfffafa,\n springgreen: 0x00ff7f,\n steelblue: 0x4682b4,\n tan: 0xd2b48c,\n teal: 0x008080,\n thistle: 0xd8bfd8,\n tomato: 0xff6347,\n turquoise: 0x40e0d0,\n violet: 0xee82ee,\n wheat: 0xf5deb3,\n white: 0xffffff,\n whitesmoke: 0xf5f5f5,\n yellow: 0xffff00,\n yellowgreen: 0x9acd32\n};\n\ndefine(Color, color, {\n displayable: function() {\n return this.rgb().displayable();\n },\n hex: function() {\n return this.rgb().hex();\n },\n toString: function() {\n return this.rgb() + \"\";\n }\n});\n\nexport default function color(format) {\n var m;\n format = (format + \"\").trim().toLowerCase();\n return (m = reHex3.exec(format)) ? (m = parseInt(m[1], 16), new Rgb((m >> 8 & 0xf) | (m >> 4 & 0x0f0), (m >> 4 & 0xf) | (m & 0xf0), ((m & 0xf) << 4) | (m & 0xf), 1)) // #f00\n : (m = reHex6.exec(format)) ? rgbn(parseInt(m[1], 16)) // #ff0000\n : (m = reRgbInteger.exec(format)) ? new Rgb(m[1], m[2], m[3], 1) // rgb(255, 0, 0)\n : (m = reRgbPercent.exec(format)) ? new Rgb(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, 1) // rgb(100%, 0%, 0%)\n : (m = reRgbaInteger.exec(format)) ? rgba(m[1], m[2], m[3], m[4]) // rgba(255, 0, 0, 1)\n : (m = reRgbaPercent.exec(format)) ? rgba(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, m[4]) // rgb(100%, 0%, 0%, 1)\n : (m = reHslPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, 1) // hsl(120, 50%, 50%)\n : (m = reHslaPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, m[4]) // hsla(120, 50%, 50%, 1)\n : named.hasOwnProperty(format) ? rgbn(named[format])\n : format === \"transparent\" ? new Rgb(NaN, NaN, NaN, 0)\n : null;\n}\n\nfunction rgbn(n) {\n return new Rgb(n >> 16 & 0xff, n >> 8 & 0xff, n & 0xff, 1);\n}\n\nfunction rgba(r, g, b, a) {\n if (a <= 0) r = g = b = NaN;\n return new Rgb(r, g, b, a);\n}\n\nexport function rgbConvert(o) {\n if (!(o instanceof Color)) o = color(o);\n if (!o) return new Rgb;\n o = o.rgb();\n return new Rgb(o.r, o.g, o.b, o.opacity);\n}\n\nexport function rgb(r, g, b, opacity) {\n return arguments.length === 1 ? rgbConvert(r) : new Rgb(r, g, b, opacity == null ? 1 : opacity);\n}\n\nexport function Rgb(r, g, b, opacity) {\n this.r = +r;\n this.g = +g;\n this.b = +b;\n this.opacity = +opacity;\n}\n\ndefine(Rgb, rgb, extend(Color, {\n brighter: function(k) {\n k = k == null ? brighter : Math.pow(brighter, k);\n return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);\n },\n darker: function(k) {\n k = k == null ? darker : Math.pow(darker, k);\n return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);\n },\n rgb: function() {\n return this;\n },\n displayable: function() {\n return (0 <= this.r && this.r <= 255)\n && (0 <= this.g && this.g <= 255)\n && (0 <= this.b && this.b <= 255)\n && (0 <= this.opacity && this.opacity <= 1);\n },\n hex: function() {\n return \"#\" + hex(this.r) + hex(this.g) + hex(this.b);\n },\n toString: function() {\n var a = this.opacity; a = isNaN(a) ? 1 : Math.max(0, Math.min(1, a));\n return (a === 1 ? \"rgb(\" : \"rgba(\")\n + Math.max(0, Math.min(255, Math.round(this.r) || 0)) + \", \"\n + Math.max(0, Math.min(255, Math.round(this.g) || 0)) + \", \"\n + Math.max(0, Math.min(255, Math.round(this.b) || 0))\n + (a === 1 ? \")\" : \", \" + a + \")\");\n }\n}));\n\nfunction hex(value) {\n value = Math.max(0, Math.min(255, Math.round(value) || 0));\n return (value < 16 ? \"0\" : \"\") + value.toString(16);\n}\n\nfunction hsla(h, s, l, a) {\n if (a <= 0) h = s = l = NaN;\n else if (l <= 0 || l >= 1) h = s = NaN;\n else if (s <= 0) h = NaN;\n return new Hsl(h, s, l, a);\n}\n\nexport function hslConvert(o) {\n if (o instanceof Hsl) return new Hsl(o.h, o.s, o.l, o.opacity);\n if (!(o instanceof Color)) o = color(o);\n if (!o) return new Hsl;\n if (o instanceof Hsl) return o;\n o = o.rgb();\n var r = o.r / 255,\n g = o.g / 255,\n b = o.b / 255,\n min = Math.min(r, g, b),\n max = Math.max(r, g, b),\n h = NaN,\n s = max - min,\n l = (max + min) / 2;\n if (s) {\n if (r === max) h = (g - b) / s + (g < b) * 6;\n else if (g === max) h = (b - r) / s + 2;\n else h = (r - g) / s + 4;\n s /= l < 0.5 ? max + min : 2 - max - min;\n h *= 60;\n } else {\n s = l > 0 && l < 1 ? 0 : h;\n }\n return new Hsl(h, s, l, o.opacity);\n}\n\nexport function hsl(h, s, l, opacity) {\n return arguments.length === 1 ? hslConvert(h) : new Hsl(h, s, l, opacity == null ? 1 : opacity);\n}\n\nfunction Hsl(h, s, l, opacity) {\n this.h = +h;\n this.s = +s;\n this.l = +l;\n this.opacity = +opacity;\n}\n\ndefine(Hsl, hsl, extend(Color, {\n brighter: function(k) {\n k = k == null ? brighter : Math.pow(brighter, k);\n return new Hsl(this.h, this.s, this.l * k, this.opacity);\n },\n darker: function(k) {\n k = k == null ? darker : Math.pow(darker, k);\n return new Hsl(this.h, this.s, this.l * k, this.opacity);\n },\n rgb: function() {\n var h = this.h % 360 + (this.h < 0) * 360,\n s = isNaN(h) || isNaN(this.s) ? 0 : this.s,\n l = this.l,\n m2 = l + (l < 0.5 ? l : 1 - l) * s,\n m1 = 2 * l - m2;\n return new Rgb(\n hsl2rgb(h >= 240 ? h - 240 : h + 120, m1, m2),\n hsl2rgb(h, m1, m2),\n hsl2rgb(h < 120 ? h + 240 : h - 120, m1, m2),\n this.opacity\n );\n },\n displayable: function() {\n return (0 <= this.s && this.s <= 1 || isNaN(this.s))\n && (0 <= this.l && this.l <= 1)\n && (0 <= this.opacity && this.opacity <= 1);\n }\n}));\n\n/* From FvD 13.37, CSS Color Module Level 3 */\nfunction hsl2rgb(h, m1, m2) {\n return (h < 60 ? m1 + (m2 - m1) * h / 60\n : h < 180 ? m2\n : h < 240 ? m1 + (m2 - m1) * (240 - h) / 60\n : m1) * 255;\n}\n","export var deg2rad = Math.PI / 180;\nexport var rad2deg = 180 / Math.PI;\n","import define, {extend} from \"./define\";\nimport {Color, rgbConvert, Rgb} from \"./color\";\nimport {deg2rad, rad2deg} from \"./math\";\n\n// https://beta.observablehq.com/@mbostock/lab-and-rgb\nvar K = 18,\n Xn = 0.96422,\n Yn = 1,\n Zn = 0.82521,\n t0 = 4 / 29,\n t1 = 6 / 29,\n t2 = 3 * t1 * t1,\n t3 = t1 * t1 * t1;\n\nfunction labConvert(o) {\n if (o instanceof Lab) return new Lab(o.l, o.a, o.b, o.opacity);\n if (o instanceof Hcl) {\n if (isNaN(o.h)) return new Lab(o.l, 0, 0, o.opacity);\n var h = o.h * deg2rad;\n return new Lab(o.l, Math.cos(h) * o.c, Math.sin(h) * o.c, o.opacity);\n }\n if (!(o instanceof Rgb)) o = rgbConvert(o);\n var r = rgb2lrgb(o.r),\n g = rgb2lrgb(o.g),\n b = rgb2lrgb(o.b),\n y = xyz2lab((0.2225045 * r + 0.7168786 * g + 0.0606169 * b) / Yn), x, z;\n if (r === g && g === b) x = z = y; else {\n x = xyz2lab((0.4360747 * r + 0.3850649 * g + 0.1430804 * b) / Xn);\n z = xyz2lab((0.0139322 * r + 0.0971045 * g + 0.7141733 * b) / Zn);\n }\n return new Lab(116 * y - 16, 500 * (x - y), 200 * (y - z), o.opacity);\n}\n\nexport function gray(l, opacity) {\n return new Lab(l, 0, 0, opacity == null ? 1 : opacity);\n}\n\nexport default function lab(l, a, b, opacity) {\n return arguments.length === 1 ? labConvert(l) : new Lab(l, a, b, opacity == null ? 1 : opacity);\n}\n\nexport function Lab(l, a, b, opacity) {\n this.l = +l;\n this.a = +a;\n this.b = +b;\n this.opacity = +opacity;\n}\n\ndefine(Lab, lab, extend(Color, {\n brighter: function(k) {\n return new Lab(this.l + K * (k == null ? 1 : k), this.a, this.b, this.opacity);\n },\n darker: function(k) {\n return new Lab(this.l - K * (k == null ? 1 : k), this.a, this.b, this.opacity);\n },\n rgb: function() {\n var y = (this.l + 16) / 116,\n x = isNaN(this.a) ? y : y + this.a / 500,\n z = isNaN(this.b) ? y : y - this.b / 200;\n x = Xn * lab2xyz(x);\n y = Yn * lab2xyz(y);\n z = Zn * lab2xyz(z);\n return new Rgb(\n lrgb2rgb( 3.1338561 * x - 1.6168667 * y - 0.4906146 * z),\n lrgb2rgb(-0.9787684 * x + 1.9161415 * y + 0.0334540 * z),\n lrgb2rgb( 0.0719453 * x - 0.2289914 * y + 1.4052427 * z),\n this.opacity\n );\n }\n}));\n\nfunction xyz2lab(t) {\n return t > t3 ? Math.pow(t, 1 / 3) : t / t2 + t0;\n}\n\nfunction lab2xyz(t) {\n return t > t1 ? t * t * t : t2 * (t - t0);\n}\n\nfunction lrgb2rgb(x) {\n return 255 * (x <= 0.0031308 ? 12.92 * x : 1.055 * Math.pow(x, 1 / 2.4) - 0.055);\n}\n\nfunction rgb2lrgb(x) {\n return (x /= 255) <= 0.04045 ? x / 12.92 : Math.pow((x + 0.055) / 1.055, 2.4);\n}\n\nfunction hclConvert(o) {\n if (o instanceof Hcl) return new Hcl(o.h, o.c, o.l, o.opacity);\n if (!(o instanceof Lab)) o = labConvert(o);\n if (o.a === 0 && o.b === 0) return new Hcl(NaN, 0, o.l, o.opacity);\n var h = Math.atan2(o.b, o.a) * rad2deg;\n return new Hcl(h < 0 ? h + 360 : h, Math.sqrt(o.a * o.a + o.b * o.b), o.l, o.opacity);\n}\n\nexport function lch(l, c, h, opacity) {\n return arguments.length === 1 ? hclConvert(l) : new Hcl(h, c, l, opacity == null ? 1 : opacity);\n}\n\nexport function hcl(h, c, l, opacity) {\n return arguments.length === 1 ? hclConvert(h) : new Hcl(h, c, l, opacity == null ? 1 : opacity);\n}\n\nexport function Hcl(h, c, l, opacity) {\n this.h = +h;\n this.c = +c;\n this.l = +l;\n this.opacity = +opacity;\n}\n\ndefine(Hcl, hcl, extend(Color, {\n brighter: function(k) {\n return new Hcl(this.h, this.c, this.l + K * (k == null ? 1 : k), this.opacity);\n },\n darker: function(k) {\n return new Hcl(this.h, this.c, this.l - K * (k == null ? 1 : k), this.opacity);\n },\n rgb: function() {\n return labConvert(this).rgb();\n }\n}));\n","import define, {extend} from \"./define\";\nimport {Color, rgbConvert, Rgb, darker, brighter} from \"./color\";\nimport {deg2rad, rad2deg} from \"./math\";\n\nvar A = -0.14861,\n B = +1.78277,\n C = -0.29227,\n D = -0.90649,\n E = +1.97294,\n ED = E * D,\n EB = E * B,\n BC_DA = B * C - D * A;\n\nfunction cubehelixConvert(o) {\n if (o instanceof Cubehelix) return new Cubehelix(o.h, o.s, o.l, o.opacity);\n if (!(o instanceof Rgb)) o = rgbConvert(o);\n var r = o.r / 255,\n g = o.g / 255,\n b = o.b / 255,\n l = (BC_DA * b + ED * r - EB * g) / (BC_DA + ED - EB),\n bl = b - l,\n k = (E * (g - l) - C * bl) / D,\n s = Math.sqrt(k * k + bl * bl) / (E * l * (1 - l)), // NaN if l=0 or l=1\n h = s ? Math.atan2(k, bl) * rad2deg - 120 : NaN;\n return new Cubehelix(h < 0 ? h + 360 : h, s, l, o.opacity);\n}\n\nexport default function cubehelix(h, s, l, opacity) {\n return arguments.length === 1 ? cubehelixConvert(h) : new Cubehelix(h, s, l, opacity == null ? 1 : opacity);\n}\n\nexport function Cubehelix(h, s, l, opacity) {\n this.h = +h;\n this.s = +s;\n this.l = +l;\n this.opacity = +opacity;\n}\n\ndefine(Cubehelix, cubehelix, extend(Color, {\n brighter: function(k) {\n k = k == null ? brighter : Math.pow(brighter, k);\n return new Cubehelix(this.h, this.s, this.l * k, this.opacity);\n },\n darker: function(k) {\n k = k == null ? darker : Math.pow(darker, k);\n return new Cubehelix(this.h, this.s, this.l * k, this.opacity);\n },\n rgb: function() {\n var h = isNaN(this.h) ? 0 : (this.h + 120) * deg2rad,\n l = +this.l,\n a = isNaN(this.s) ? 0 : this.s * l * (1 - l),\n cosh = Math.cos(h),\n sinh = Math.sin(h);\n return new Rgb(\n 255 * (l + a * (A * cosh + B * sinh)),\n 255 * (l + a * (C * cosh + D * sinh)),\n 255 * (l + a * (E * cosh)),\n this.opacity\n );\n }\n}));\n","export function basis(t1, v0, v1, v2, v3) {\n var t2 = t1 * t1, t3 = t2 * t1;\n return ((1 - 3 * t1 + 3 * t2 - t3) * v0\n + (4 - 6 * t2 + 3 * t3) * v1\n + (1 + 3 * t1 + 3 * t2 - 3 * t3) * v2\n + t3 * v3) / 6;\n}\n\nexport default function(values) {\n var n = values.length - 1;\n return function(t) {\n var i = t <= 0 ? (t = 0) : t >= 1 ? (t = 1, n - 1) : Math.floor(t * n),\n v1 = values[i],\n v2 = values[i + 1],\n v0 = i > 0 ? values[i - 1] : 2 * v1 - v2,\n v3 = i < n - 1 ? values[i + 2] : 2 * v2 - v1;\n return basis((t - i / n) * n, v0, v1, v2, v3);\n };\n}\n","import {basis} from \"./basis\";\n\nexport default function(values) {\n var n = values.length;\n return function(t) {\n var i = Math.floor(((t %= 1) < 0 ? ++t : t) * n),\n v0 = values[(i + n - 1) % n],\n v1 = values[i % n],\n v2 = values[(i + 1) % n],\n v3 = values[(i + 2) % n];\n return basis((t - i / n) * n, v0, v1, v2, v3);\n };\n}\n","export default function(x) {\n return function() {\n return x;\n };\n}\n","import constant from \"./constant\";\n\nfunction linear(a, d) {\n return function(t) {\n return a + t * d;\n };\n}\n\nfunction exponential(a, b, y) {\n return a = Math.pow(a, y), b = Math.pow(b, y) - a, y = 1 / y, function(t) {\n return Math.pow(a + t * b, y);\n };\n}\n\nexport function hue(a, b) {\n var d = b - a;\n return d ? linear(a, d > 180 || d < -180 ? d - 360 * Math.round(d / 360) : d) : constant(isNaN(a) ? b : a);\n}\n\nexport function gamma(y) {\n return (y = +y) === 1 ? nogamma : function(a, b) {\n return b - a ? exponential(a, b, y) : constant(isNaN(a) ? b : a);\n };\n}\n\nexport default function nogamma(a, b) {\n var d = b - a;\n return d ? linear(a, d) : constant(isNaN(a) ? b : a);\n}\n","import {rgb as colorRgb} from \"d3-color\";\nimport basis from \"./basis\";\nimport basisClosed from \"./basisClosed\";\nimport nogamma, {gamma} from \"./color\";\n\nexport default (function rgbGamma(y) {\n var color = gamma(y);\n\n function rgb(start, end) {\n var r = color((start = colorRgb(start)).r, (end = colorRgb(end)).r),\n g = color(start.g, end.g),\n b = color(start.b, end.b),\n opacity = nogamma(start.opacity, end.opacity);\n return function(t) {\n start.r = r(t);\n start.g = g(t);\n start.b = b(t);\n start.opacity = opacity(t);\n return start + \"\";\n };\n }\n\n rgb.gamma = rgbGamma;\n\n return rgb;\n})(1);\n\nfunction rgbSpline(spline) {\n return function(colors) {\n var n = colors.length,\n r = new Array(n),\n g = new Array(n),\n b = new Array(n),\n i, color;\n for (i = 0; i < n; ++i) {\n color = colorRgb(colors[i]);\n r[i] = color.r || 0;\n g[i] = color.g || 0;\n b[i] = color.b || 0;\n }\n r = spline(r);\n g = spline(g);\n b = spline(b);\n color.opacity = 1;\n return function(t) {\n color.r = r(t);\n color.g = g(t);\n color.b = b(t);\n return color + \"\";\n };\n };\n}\n\nexport var rgbBasis = rgbSpline(basis);\nexport var rgbBasisClosed = rgbSpline(basisClosed);\n","import value from \"./value\";\n\nexport default function(a, b) {\n var nb = b ? b.length : 0,\n na = a ? Math.min(nb, a.length) : 0,\n x = new Array(na),\n c = new Array(nb),\n i;\n\n for (i = 0; i < na; ++i) x[i] = value(a[i], b[i]);\n for (; i < nb; ++i) c[i] = b[i];\n\n return function(t) {\n for (i = 0; i < na; ++i) c[i] = x[i](t);\n return c;\n };\n}\n","export default function(a, b) {\n var d = new Date;\n return a = +a, b -= a, function(t) {\n return d.setTime(a + b * t), d;\n };\n}\n","export default function(a, b) {\n return a = +a, b -= a, function(t) {\n return a + b * t;\n };\n}\n","import value from \"./value\";\n\nexport default function(a, b) {\n var i = {},\n c = {},\n k;\n\n if (a === null || typeof a !== \"object\") a = {};\n if (b === null || typeof b !== \"object\") b = {};\n\n for (k in b) {\n if (k in a) {\n i[k] = value(a[k], b[k]);\n } else {\n c[k] = b[k];\n }\n }\n\n return function(t) {\n for (k in i) c[k] = i[k](t);\n return c;\n };\n}\n","import number from \"./number\";\n\nvar reA = /[-+]?(?:\\d+\\.?\\d*|\\.?\\d+)(?:[eE][-+]?\\d+)?/g,\n reB = new RegExp(reA.source, \"g\");\n\nfunction zero(b) {\n return function() {\n return b;\n };\n}\n\nfunction one(b) {\n return function(t) {\n return b(t) + \"\";\n };\n}\n\nexport default function(a, b) {\n var bi = reA.lastIndex = reB.lastIndex = 0, // scan index for next number in b\n am, // current match in a\n bm, // current match in b\n bs, // string preceding current number in b, if any\n i = -1, // index in s\n s = [], // string constants and placeholders\n q = []; // number interpolators\n\n // Coerce inputs to strings.\n a = a + \"\", b = b + \"\";\n\n // Interpolate pairs of numbers in a & b.\n while ((am = reA.exec(a))\n && (bm = reB.exec(b))) {\n if ((bs = bm.index) > bi) { // a string precedes the next number in b\n bs = b.slice(bi, bs);\n if (s[i]) s[i] += bs; // coalesce with previous string\n else s[++i] = bs;\n }\n if ((am = am[0]) === (bm = bm[0])) { // numbers in a & b match\n if (s[i]) s[i] += bm; // coalesce with previous string\n else s[++i] = bm;\n } else { // interpolate non-matching numbers\n s[++i] = null;\n q.push({i: i, x: number(am, bm)});\n }\n bi = reB.lastIndex;\n }\n\n // Add remains of b.\n if (bi < b.length) {\n bs = b.slice(bi);\n if (s[i]) s[i] += bs; // coalesce with previous string\n else s[++i] = bs;\n }\n\n // Special optimization for only a single match.\n // Otherwise, interpolate each of the numbers and rejoin the string.\n return s.length < 2 ? (q[0]\n ? one(q[0].x)\n : zero(b))\n : (b = q.length, function(t) {\n for (var i = 0, o; i < b; ++i) s[(o = q[i]).i] = o.x(t);\n return s.join(\"\");\n });\n}\n","import decompose, {identity} from \"./decompose\";\n\nvar cssNode,\n cssRoot,\n cssView,\n svgNode;\n\nexport function parseCss(value) {\n if (value === \"none\") return identity;\n if (!cssNode) cssNode = document.createElement(\"DIV\"), cssRoot = document.documentElement, cssView = document.defaultView;\n cssNode.style.transform = value;\n value = cssView.getComputedStyle(cssRoot.appendChild(cssNode), null).getPropertyValue(\"transform\");\n cssRoot.removeChild(cssNode);\n value = value.slice(7, -1).split(\",\");\n return decompose(+value[0], +value[1], +value[2], +value[3], +value[4], +value[5]);\n}\n\nexport function parseSvg(value) {\n if (value == null) return identity;\n if (!svgNode) svgNode = document.createElementNS(\"http://www.w3.org/2000/svg\", \"g\");\n svgNode.setAttribute(\"transform\", value);\n if (!(value = svgNode.transform.baseVal.consolidate())) return identity;\n value = value.matrix;\n return decompose(value.a, value.b, value.c, value.d, value.e, value.f);\n}\n","import {color} from \"d3-color\";\nimport rgb from \"./rgb\";\nimport array from \"./array\";\nimport date from \"./date\";\nimport number from \"./number\";\nimport object from \"./object\";\nimport string from \"./string\";\nimport constant from \"./constant\";\n\nexport default function(a, b) {\n var t = typeof b, c;\n return b == null || t === \"boolean\" ? constant(b)\n : (t === \"number\" ? number\n : t === \"string\" ? ((c = color(b)) ? (b = c, rgb) : string)\n : b instanceof color ? rgb\n : b instanceof Date ? date\n : Array.isArray(b) ? array\n : typeof b.valueOf !== \"function\" && typeof b.toString !== \"function\" || isNaN(b) ? object\n : number)(a, b);\n}\n","export default function(a, b) {\n return a = +a, b -= a, function(t) {\n return Math.round(a + b * t);\n };\n}\n","var degrees = 180 / Math.PI;\n\nexport var identity = {\n translateX: 0,\n translateY: 0,\n rotate: 0,\n skewX: 0,\n scaleX: 1,\n scaleY: 1\n};\n\nexport default function(a, b, c, d, e, f) {\n var scaleX, scaleY, skewX;\n if (scaleX = Math.sqrt(a * a + b * b)) a /= scaleX, b /= scaleX;\n if (skewX = a * c + b * d) c -= a * skewX, d -= b * skewX;\n if (scaleY = Math.sqrt(c * c + d * d)) c /= scaleY, d /= scaleY, skewX /= scaleY;\n if (a * d < b * c) a = -a, b = -b, skewX = -skewX, scaleX = -scaleX;\n return {\n translateX: e,\n translateY: f,\n rotate: Math.atan2(b, a) * degrees,\n skewX: Math.atan(skewX) * degrees,\n scaleX: scaleX,\n scaleY: scaleY\n };\n}\n","import number from \"../number\";\nimport {parseCss, parseSvg} from \"./parse\";\n\nfunction interpolateTransform(parse, pxComma, pxParen, degParen) {\n\n function pop(s) {\n return s.length ? s.pop() + \" \" : \"\";\n }\n\n function translate(xa, ya, xb, yb, s, q) {\n if (xa !== xb || ya !== yb) {\n var i = s.push(\"translate(\", null, pxComma, null, pxParen);\n q.push({i: i - 4, x: number(xa, xb)}, {i: i - 2, x: number(ya, yb)});\n } else if (xb || yb) {\n s.push(\"translate(\" + xb + pxComma + yb + pxParen);\n }\n }\n\n function rotate(a, b, s, q) {\n if (a !== b) {\n if (a - b > 180) b += 360; else if (b - a > 180) a += 360; // shortest path\n q.push({i: s.push(pop(s) + \"rotate(\", null, degParen) - 2, x: number(a, b)});\n } else if (b) {\n s.push(pop(s) + \"rotate(\" + b + degParen);\n }\n }\n\n function skewX(a, b, s, q) {\n if (a !== b) {\n q.push({i: s.push(pop(s) + \"skewX(\", null, degParen) - 2, x: number(a, b)});\n } else if (b) {\n s.push(pop(s) + \"skewX(\" + b + degParen);\n }\n }\n\n function scale(xa, ya, xb, yb, s, q) {\n if (xa !== xb || ya !== yb) {\n var i = s.push(pop(s) + \"scale(\", null, \",\", null, \")\");\n q.push({i: i - 4, x: number(xa, xb)}, {i: i - 2, x: number(ya, yb)});\n } else if (xb !== 1 || yb !== 1) {\n s.push(pop(s) + \"scale(\" + xb + \",\" + yb + \")\");\n }\n }\n\n return function(a, b) {\n var s = [], // string constants and placeholders\n q = []; // number interpolators\n a = parse(a), b = parse(b);\n translate(a.translateX, a.translateY, b.translateX, b.translateY, s, q);\n rotate(a.rotate, b.rotate, s, q);\n skewX(a.skewX, b.skewX, s, q);\n scale(a.scaleX, a.scaleY, b.scaleX, b.scaleY, s, q);\n a = b = null; // gc\n return function(t) {\n var i = -1, n = q.length, o;\n while (++i < n) s[(o = q[i]).i] = o.x(t);\n return s.join(\"\");\n };\n };\n}\n\nexport var interpolateTransformCss = interpolateTransform(parseCss, \"px, \", \"px)\", \"deg)\");\nexport var interpolateTransformSvg = interpolateTransform(parseSvg, \", \", \")\", \")\");\n","var rho = Math.SQRT2,\n rho2 = 2,\n rho4 = 4,\n epsilon2 = 1e-12;\n\nfunction cosh(x) {\n return ((x = Math.exp(x)) + 1 / x) / 2;\n}\n\nfunction sinh(x) {\n return ((x = Math.exp(x)) - 1 / x) / 2;\n}\n\nfunction tanh(x) {\n return ((x = Math.exp(2 * x)) - 1) / (x + 1);\n}\n\n// p0 = [ux0, uy0, w0]\n// p1 = [ux1, uy1, w1]\nexport default function(p0, p1) {\n var ux0 = p0[0], uy0 = p0[1], w0 = p0[2],\n ux1 = p1[0], uy1 = p1[1], w1 = p1[2],\n dx = ux1 - ux0,\n dy = uy1 - uy0,\n d2 = dx * dx + dy * dy,\n i,\n S;\n\n // Special case for u0 ≅ u1.\n if (d2 < epsilon2) {\n S = Math.log(w1 / w0) / rho;\n i = function(t) {\n return [\n ux0 + t * dx,\n uy0 + t * dy,\n w0 * Math.exp(rho * t * S)\n ];\n }\n }\n\n // General case.\n else {\n var d1 = Math.sqrt(d2),\n b0 = (w1 * w1 - w0 * w0 + rho4 * d2) / (2 * w0 * rho2 * d1),\n b1 = (w1 * w1 - w0 * w0 - rho4 * d2) / (2 * w1 * rho2 * d1),\n r0 = Math.log(Math.sqrt(b0 * b0 + 1) - b0),\n r1 = Math.log(Math.sqrt(b1 * b1 + 1) - b1);\n S = (r1 - r0) / rho;\n i = function(t) {\n var s = t * S,\n coshr0 = cosh(r0),\n u = w0 / (rho2 * d1) * (coshr0 * tanh(rho * s + r0) - sinh(r0));\n return [\n ux0 + u * dx,\n uy0 + u * dy,\n w0 * coshr0 / cosh(rho * s + r0)\n ];\n }\n }\n\n i.duration = S * 1000;\n\n return i;\n}\n","import {hsl as colorHsl} from \"d3-color\";\nimport color, {hue} from \"./color\";\n\nfunction hsl(hue) {\n return function(start, end) {\n var h = hue((start = colorHsl(start)).h, (end = colorHsl(end)).h),\n s = color(start.s, end.s),\n l = color(start.l, end.l),\n opacity = color(start.opacity, end.opacity);\n return function(t) {\n start.h = h(t);\n start.s = s(t);\n start.l = l(t);\n start.opacity = opacity(t);\n return start + \"\";\n };\n }\n}\n\nexport default hsl(hue);\nexport var hslLong = hsl(color);\n","import {lab as colorLab} from \"d3-color\";\nimport color from \"./color\";\n\nexport default function lab(start, end) {\n var l = color((start = colorLab(start)).l, (end = colorLab(end)).l),\n a = color(start.a, end.a),\n b = color(start.b, end.b),\n opacity = color(start.opacity, end.opacity);\n return function(t) {\n start.l = l(t);\n start.a = a(t);\n start.b = b(t);\n start.opacity = opacity(t);\n return start + \"\";\n };\n}\n","import {hcl as colorHcl} from \"d3-color\";\nimport color, {hue} from \"./color\";\n\nfunction hcl(hue) {\n return function(start, end) {\n var h = hue((start = colorHcl(start)).h, (end = colorHcl(end)).h),\n c = color(start.c, end.c),\n l = color(start.l, end.l),\n opacity = color(start.opacity, end.opacity);\n return function(t) {\n start.h = h(t);\n start.c = c(t);\n start.l = l(t);\n start.opacity = opacity(t);\n return start + \"\";\n };\n }\n}\n\nexport default hcl(hue);\nexport var hclLong = hcl(color);\n","import {cubehelix as colorCubehelix} from \"d3-color\";\nimport color, {hue} from \"./color\";\n\nfunction cubehelix(hue) {\n return (function cubehelixGamma(y) {\n y = +y;\n\n function cubehelix(start, end) {\n var h = hue((start = colorCubehelix(start)).h, (end = colorCubehelix(end)).h),\n s = color(start.s, end.s),\n l = color(start.l, end.l),\n opacity = color(start.opacity, end.opacity);\n return function(t) {\n start.h = h(t);\n start.s = s(t);\n start.l = l(Math.pow(t, y));\n start.opacity = opacity(t);\n return start + \"\";\n };\n }\n\n cubehelix.gamma = cubehelixGamma;\n\n return cubehelix;\n })(1);\n}\n\nexport default cubehelix(hue);\nexport var cubehelixLong = cubehelix(color);\n","export default function piecewise(interpolate, values) {\n var i = 0, n = values.length - 1, v = values[0], I = new Array(n < 0 ? 0 : n);\n while (i < n) I[i] = interpolate(v, v = values[++i]);\n return function(t) {\n var i = Math.max(0, Math.min(n - 1, Math.floor(t *= n)));\n return I[i](t - i);\n };\n}\n","export default function(interpolator, n) {\n var samples = new Array(n);\n for (var i = 0; i < n; ++i) samples[i] = interpolator(i / (n - 1));\n return samples;\n}\n","var frame = 0, // is an animation frame pending?\n timeout = 0, // is a timeout pending?\n interval = 0, // are any timers active?\n pokeDelay = 1000, // how frequently we check for clock skew\n taskHead,\n taskTail,\n clockLast = 0,\n clockNow = 0,\n clockSkew = 0,\n clock = typeof performance === \"object\" && performance.now ? performance : Date,\n setFrame = typeof window === \"object\" && window.requestAnimationFrame ? window.requestAnimationFrame.bind(window) : function(f) { setTimeout(f, 17); };\n\nexport function now() {\n return clockNow || (setFrame(clearNow), clockNow = clock.now() + clockSkew);\n}\n\nfunction clearNow() {\n clockNow = 0;\n}\n\nexport function Timer() {\n this._call =\n this._time =\n this._next = null;\n}\n\nTimer.prototype = timer.prototype = {\n constructor: Timer,\n restart: function(callback, delay, time) {\n if (typeof callback !== \"function\") throw new TypeError(\"callback is not a function\");\n time = (time == null ? now() : +time) + (delay == null ? 0 : +delay);\n if (!this._next && taskTail !== this) {\n if (taskTail) taskTail._next = this;\n else taskHead = this;\n taskTail = this;\n }\n this._call = callback;\n this._time = time;\n sleep();\n },\n stop: function() {\n if (this._call) {\n this._call = null;\n this._time = Infinity;\n sleep();\n }\n }\n};\n\nexport function timer(callback, delay, time) {\n var t = new Timer;\n t.restart(callback, delay, time);\n return t;\n}\n\nexport function timerFlush() {\n now(); // Get the current time, if not already set.\n ++frame; // Pretend we’ve set an alarm, if we haven’t already.\n var t = taskHead, e;\n while (t) {\n if ((e = clockNow - t._time) >= 0) t._call.call(null, e);\n t = t._next;\n }\n --frame;\n}\n\nfunction wake() {\n clockNow = (clockLast = clock.now()) + clockSkew;\n frame = timeout = 0;\n try {\n timerFlush();\n } finally {\n frame = 0;\n nap();\n clockNow = 0;\n }\n}\n\nfunction poke() {\n var now = clock.now(), delay = now - clockLast;\n if (delay > pokeDelay) clockSkew -= delay, clockLast = now;\n}\n\nfunction nap() {\n var t0, t1 = taskHead, t2, time = Infinity;\n while (t1) {\n if (t1._call) {\n if (time > t1._time) time = t1._time;\n t0 = t1, t1 = t1._next;\n } else {\n t2 = t1._next, t1._next = null;\n t1 = t0 ? t0._next = t2 : taskHead = t2;\n }\n }\n taskTail = t0;\n sleep(time);\n}\n\nfunction sleep(time) {\n if (frame) return; // Soonest alarm already set, or will be.\n if (timeout) timeout = clearTimeout(timeout);\n var delay = time - clockNow; // Strictly less than if we recomputed clockNow.\n if (delay > 24) {\n if (time < Infinity) timeout = setTimeout(wake, time - clock.now() - clockSkew);\n if (interval) interval = clearInterval(interval);\n } else {\n if (!interval) clockLast = clock.now(), interval = setInterval(poke, pokeDelay);\n frame = 1, setFrame(wake);\n }\n}\n","import {Timer} from \"./timer\";\n\nexport default function(callback, delay, time) {\n var t = new Timer;\n delay = delay == null ? 0 : +delay;\n t.restart(function(elapsed) {\n t.stop();\n callback(elapsed + delay);\n }, delay, time);\n return t;\n}\n","import {Timer, now} from \"./timer\";\n\nexport default function(callback, delay, time) {\n var t = new Timer, total = delay;\n if (delay == null) return t.restart(callback, delay, time), t;\n delay = +delay, time = time == null ? now() : +time;\n t.restart(function tick(elapsed) {\n elapsed += total;\n t.restart(tick, total += delay, time);\n callback(elapsed);\n }, delay, time);\n return t;\n}\n","import {dispatch} from \"d3-dispatch\";\nimport {timer, timeout} from \"d3-timer\";\n\nvar emptyOn = dispatch(\"start\", \"end\", \"interrupt\");\nvar emptyTween = [];\n\nexport var CREATED = 0;\nexport var SCHEDULED = 1;\nexport var STARTING = 2;\nexport var STARTED = 3;\nexport var RUNNING = 4;\nexport var ENDING = 5;\nexport var ENDED = 6;\n\nexport default function(node, name, id, index, group, timing) {\n var schedules = node.__transition;\n if (!schedules) node.__transition = {};\n else if (id in schedules) return;\n create(node, id, {\n name: name,\n index: index, // For context during callback.\n group: group, // For context during callback.\n on: emptyOn,\n tween: emptyTween,\n time: timing.time,\n delay: timing.delay,\n duration: timing.duration,\n ease: timing.ease,\n timer: null,\n state: CREATED\n });\n}\n\nexport function init(node, id) {\n var schedule = get(node, id);\n if (schedule.state > CREATED) throw new Error(\"too late; already scheduled\");\n return schedule;\n}\n\nexport function set(node, id) {\n var schedule = get(node, id);\n if (schedule.state > STARTING) throw new Error(\"too late; already started\");\n return schedule;\n}\n\nexport function get(node, id) {\n var schedule = node.__transition;\n if (!schedule || !(schedule = schedule[id])) throw new Error(\"transition not found\");\n return schedule;\n}\n\nfunction create(node, id, self) {\n var schedules = node.__transition,\n tween;\n\n // Initialize the self timer when the transition is created.\n // Note the actual delay is not known until the first callback!\n schedules[id] = self;\n self.timer = timer(schedule, 0, self.time);\n\n function schedule(elapsed) {\n self.state = SCHEDULED;\n self.timer.restart(start, self.delay, self.time);\n\n // If the elapsed delay is less than our first sleep, start immediately.\n if (self.delay <= elapsed) start(elapsed - self.delay);\n }\n\n function start(elapsed) {\n var i, j, n, o;\n\n // If the state is not SCHEDULED, then we previously errored on start.\n if (self.state !== SCHEDULED) return stop();\n\n for (i in schedules) {\n o = schedules[i];\n if (o.name !== self.name) continue;\n\n // While this element already has a starting transition during this frame,\n // defer starting an interrupting transition until that transition has a\n // chance to tick (and possibly end); see d3/d3-transition#54!\n if (o.state === STARTED) return timeout(start);\n\n // Interrupt the active transition, if any.\n // Dispatch the interrupt event.\n if (o.state === RUNNING) {\n o.state = ENDED;\n o.timer.stop();\n o.on.call(\"interrupt\", node, node.__data__, o.index, o.group);\n delete schedules[i];\n }\n\n // Cancel any pre-empted transitions. No interrupt event is dispatched\n // because the cancelled transitions never started. Note that this also\n // removes this transition from the pending list!\n else if (+i < id) {\n o.state = ENDED;\n o.timer.stop();\n delete schedules[i];\n }\n }\n\n // Defer the first tick to end of the current frame; see d3/d3#1576.\n // Note the transition may be canceled after start and before the first tick!\n // Note this must be scheduled before the start event; see d3/d3-transition#16!\n // Assuming this is successful, subsequent callbacks go straight to tick.\n timeout(function() {\n if (self.state === STARTED) {\n self.state = RUNNING;\n self.timer.restart(tick, self.delay, self.time);\n tick(elapsed);\n }\n });\n\n // Dispatch the start event.\n // Note this must be done before the tween are initialized.\n self.state = STARTING;\n self.on.call(\"start\", node, node.__data__, self.index, self.group);\n if (self.state !== STARTING) return; // interrupted\n self.state = STARTED;\n\n // Initialize the tween, deleting null tween.\n tween = new Array(n = self.tween.length);\n for (i = 0, j = -1; i < n; ++i) {\n if (o = self.tween[i].value.call(node, node.__data__, self.index, self.group)) {\n tween[++j] = o;\n }\n }\n tween.length = j + 1;\n }\n\n function tick(elapsed) {\n var t = elapsed < self.duration ? self.ease.call(null, elapsed / self.duration) : (self.timer.restart(stop), self.state = ENDING, 1),\n i = -1,\n n = tween.length;\n\n while (++i < n) {\n tween[i].call(null, t);\n }\n\n // Dispatch the end event.\n if (self.state === ENDING) {\n self.on.call(\"end\", node, node.__data__, self.index, self.group);\n stop();\n }\n }\n\n function stop() {\n self.state = ENDED;\n self.timer.stop();\n delete schedules[id];\n for (var i in schedules) return; // eslint-disable-line no-unused-vars\n delete node.__transition;\n }\n}\n","import {STARTING, ENDING, ENDED} from \"./transition/schedule\";\n\nexport default function(node, name) {\n var schedules = node.__transition,\n schedule,\n active,\n empty = true,\n i;\n\n if (!schedules) return;\n\n name = name == null ? null : name + \"\";\n\n for (i in schedules) {\n if ((schedule = schedules[i]).name !== name) { empty = false; continue; }\n active = schedule.state > STARTING && schedule.state < ENDING;\n schedule.state = ENDED;\n schedule.timer.stop();\n if (active) schedule.on.call(\"interrupt\", node, node.__data__, schedule.index, schedule.group);\n delete schedules[i];\n }\n\n if (empty) delete node.__transition;\n}\n","import {get, set} from \"./schedule\";\n\nfunction tweenRemove(id, name) {\n var tween0, tween1;\n return function() {\n var schedule = set(this, id),\n tween = schedule.tween;\n\n // If this node shared tween with the previous node,\n // just assign the updated shared tween and we’re done!\n // Otherwise, copy-on-write.\n if (tween !== tween0) {\n tween1 = tween0 = tween;\n for (var i = 0, n = tween1.length; i < n; ++i) {\n if (tween1[i].name === name) {\n tween1 = tween1.slice();\n tween1.splice(i, 1);\n break;\n }\n }\n }\n\n schedule.tween = tween1;\n };\n}\n\nfunction tweenFunction(id, name, value) {\n var tween0, tween1;\n if (typeof value !== \"function\") throw new Error;\n return function() {\n var schedule = set(this, id),\n tween = schedule.tween;\n\n // If this node shared tween with the previous node,\n // just assign the updated shared tween and we’re done!\n // Otherwise, copy-on-write.\n if (tween !== tween0) {\n tween1 = (tween0 = tween).slice();\n for (var t = {name: name, value: value}, i = 0, n = tween1.length; i < n; ++i) {\n if (tween1[i].name === name) {\n tween1[i] = t;\n break;\n }\n }\n if (i === n) tween1.push(t);\n }\n\n schedule.tween = tween1;\n };\n}\n\nexport default function(name, value) {\n var id = this._id;\n\n name += \"\";\n\n if (arguments.length < 2) {\n var tween = get(this.node(), id).tween;\n for (var i = 0, n = tween.length, t; i < n; ++i) {\n if ((t = tween[i]).name === name) {\n return t.value;\n }\n }\n return null;\n }\n\n return this.each((value == null ? tweenRemove : tweenFunction)(id, name, value));\n}\n\nexport function tweenValue(transition, name, value) {\n var id = transition._id;\n\n transition.each(function() {\n var schedule = set(this, id);\n (schedule.value || (schedule.value = {}))[name] = value.apply(this, arguments);\n });\n\n return function(node) {\n return get(node, id).value[name];\n };\n}\n","import {color} from \"d3-color\";\nimport {interpolateNumber, interpolateRgb, interpolateString} from \"d3-interpolate\";\n\nexport default function(a, b) {\n var c;\n return (typeof b === \"number\" ? interpolateNumber\n : b instanceof color ? interpolateRgb\n : (c = color(b)) ? (b = c, interpolateRgb)\n : interpolateString)(a, b);\n}\n","function removeFunction(id) {\n return function() {\n var parent = this.parentNode;\n for (var i in this.__transition) if (+i !== id) return;\n if (parent) parent.removeChild(this);\n };\n}\n\nexport default function() {\n return this.on(\"end.remove\", removeFunction(this._id));\n}\n","import {selection} from \"d3-selection\";\n\nvar Selection = selection.prototype.constructor;\n\nexport default function() {\n return new Selection(this._groups, this._parents);\n}\n","import {tweenValue} from \"./tween\";\n\nfunction textConstant(value) {\n return function() {\n this.textContent = value;\n };\n}\n\nfunction textFunction(value) {\n return function() {\n var value1 = value(this);\n this.textContent = value1 == null ? \"\" : value1;\n };\n}\n\nexport default function(value) {\n return this.tween(\"text\", typeof value === \"function\"\n ? textFunction(tweenValue(this, \"text\", value))\n : textConstant(value == null ? \"\" : value + \"\"));\n}\n","import {selection} from \"d3-selection\";\nimport transition_attr from \"./attr\";\nimport transition_attrTween from \"./attrTween\";\nimport transition_delay from \"./delay\";\nimport transition_duration from \"./duration\";\nimport transition_ease from \"./ease\";\nimport transition_filter from \"./filter\";\nimport transition_merge from \"./merge\";\nimport transition_on from \"./on\";\nimport transition_remove from \"./remove\";\nimport transition_select from \"./select\";\nimport transition_selectAll from \"./selectAll\";\nimport transition_selection from \"./selection\";\nimport transition_style from \"./style\";\nimport transition_styleTween from \"./styleTween\";\nimport transition_text from \"./text\";\nimport transition_transition from \"./transition\";\nimport transition_tween from \"./tween\";\n\nvar id = 0;\n\nexport function Transition(groups, parents, name, id) {\n this._groups = groups;\n this._parents = parents;\n this._name = name;\n this._id = id;\n}\n\nexport default function transition(name) {\n return selection().transition(name);\n}\n\nexport function newId() {\n return ++id;\n}\n\nvar selection_prototype = selection.prototype;\n\nTransition.prototype = transition.prototype = {\n constructor: Transition,\n select: transition_select,\n selectAll: transition_selectAll,\n filter: transition_filter,\n merge: transition_merge,\n selection: transition_selection,\n transition: transition_transition,\n call: selection_prototype.call,\n nodes: selection_prototype.nodes,\n node: selection_prototype.node,\n size: selection_prototype.size,\n empty: selection_prototype.empty,\n each: selection_prototype.each,\n on: transition_on,\n attr: transition_attr,\n attrTween: transition_attrTween,\n style: transition_style,\n styleTween: transition_styleTween,\n text: transition_text,\n remove: transition_remove,\n tween: transition_tween,\n delay: transition_delay,\n duration: transition_duration,\n ease: transition_ease\n};\n","export function linear(t) {\n return +t;\n}\n","export function quadIn(t) {\n return t * t;\n}\n\nexport function quadOut(t) {\n return t * (2 - t);\n}\n\nexport function quadInOut(t) {\n return ((t *= 2) <= 1 ? t * t : --t * (2 - t) + 1) / 2;\n}\n","export function cubicIn(t) {\n return t * t * t;\n}\n\nexport function cubicOut(t) {\n return --t * t * t + 1;\n}\n\nexport function cubicInOut(t) {\n return ((t *= 2) <= 1 ? t * t * t : (t -= 2) * t * t + 2) / 2;\n}\n","import {selector} from \"d3-selection\";\nimport {Transition} from \"./index\";\nimport schedule, {get} from \"./schedule\";\n\nexport default function(select) {\n var name = this._name,\n id = this._id;\n\n if (typeof select !== \"function\") select = selector(select);\n\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = new Array(n), node, subnode, i = 0; i < n; ++i) {\n if ((node = group[i]) && (subnode = select.call(node, node.__data__, i, group))) {\n if (\"__data__\" in node) subnode.__data__ = node.__data__;\n subgroup[i] = subnode;\n schedule(subgroup[i], name, id, i, subgroup, get(node, id));\n }\n }\n }\n\n return new Transition(subgroups, this._parents, name, id);\n}\n","import {selectorAll} from \"d3-selection\";\nimport {Transition} from \"./index\";\nimport schedule, {get} from \"./schedule\";\n\nexport default function(select) {\n var name = this._name,\n id = this._id;\n\n if (typeof select !== \"function\") select = selectorAll(select);\n\n for (var groups = this._groups, m = groups.length, subgroups = [], parents = [], j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n for (var children = select.call(node, node.__data__, i, group), child, inherit = get(node, id), k = 0, l = children.length; k < l; ++k) {\n if (child = children[k]) {\n schedule(child, name, id, k, children, inherit);\n }\n }\n subgroups.push(children);\n parents.push(node);\n }\n }\n }\n\n return new Transition(subgroups, parents, name, id);\n}\n","import {matcher} from \"d3-selection\";\nimport {Transition} from \"./index\";\n\nexport default function(match) {\n if (typeof match !== \"function\") match = matcher(match);\n\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = [], node, i = 0; i < n; ++i) {\n if ((node = group[i]) && match.call(node, node.__data__, i, group)) {\n subgroup.push(node);\n }\n }\n }\n\n return new Transition(subgroups, this._parents, this._name, this._id);\n}\n","import {Transition} from \"./index\";\n\nexport default function(transition) {\n if (transition._id !== this._id) throw new Error;\n\n for (var groups0 = this._groups, groups1 = transition._groups, m0 = groups0.length, m1 = groups1.length, m = Math.min(m0, m1), merges = new Array(m0), j = 0; j < m; ++j) {\n for (var group0 = groups0[j], group1 = groups1[j], n = group0.length, merge = merges[j] = new Array(n), node, i = 0; i < n; ++i) {\n if (node = group0[i] || group1[i]) {\n merge[i] = node;\n }\n }\n }\n\n for (; j < m0; ++j) {\n merges[j] = groups0[j];\n }\n\n return new Transition(merges, this._parents, this._name, this._id);\n}\n","import {Transition, newId} from \"./index\";\nimport schedule, {get} from \"./schedule\";\n\nexport default function() {\n var name = this._name,\n id0 = this._id,\n id1 = newId();\n\n for (var groups = this._groups, m = groups.length, j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n var inherit = get(node, id0);\n schedule(node, name, id1, i, group, {\n time: inherit.time + inherit.delay + inherit.duration,\n delay: 0,\n duration: inherit.duration,\n ease: inherit.ease\n });\n }\n }\n }\n\n return new Transition(groups, this._parents, name, id1);\n}\n","import {get, set, init} from \"./schedule\";\n\nfunction start(name) {\n return (name + \"\").trim().split(/^|\\s+/).every(function(t) {\n var i = t.indexOf(\".\");\n if (i >= 0) t = t.slice(0, i);\n return !t || t === \"start\";\n });\n}\n\nfunction onFunction(id, name, listener) {\n var on0, on1, sit = start(name) ? init : set;\n return function() {\n var schedule = sit(this, id),\n on = schedule.on;\n\n // If this node shared a dispatch with the previous node,\n // just assign the updated shared dispatch and we’re done!\n // Otherwise, copy-on-write.\n if (on !== on0) (on1 = (on0 = on).copy()).on(name, listener);\n\n schedule.on = on1;\n };\n}\n\nexport default function(name, listener) {\n var id = this._id;\n\n return arguments.length < 2\n ? get(this.node(), id).on.on(name)\n : this.each(onFunction(id, name, listener));\n}\n","import {interpolateTransformSvg as interpolateTransform} from \"d3-interpolate\";\nimport {namespace} from \"d3-selection\";\nimport {tweenValue} from \"./tween\";\nimport interpolate from \"./interpolate\";\n\nfunction attrRemove(name) {\n return function() {\n this.removeAttribute(name);\n };\n}\n\nfunction attrRemoveNS(fullname) {\n return function() {\n this.removeAttributeNS(fullname.space, fullname.local);\n };\n}\n\nfunction attrConstant(name, interpolate, value1) {\n var value00,\n interpolate0;\n return function() {\n var value0 = this.getAttribute(name);\n return value0 === value1 ? null\n : value0 === value00 ? interpolate0\n : interpolate0 = interpolate(value00 = value0, value1);\n };\n}\n\nfunction attrConstantNS(fullname, interpolate, value1) {\n var value00,\n interpolate0;\n return function() {\n var value0 = this.getAttributeNS(fullname.space, fullname.local);\n return value0 === value1 ? null\n : value0 === value00 ? interpolate0\n : interpolate0 = interpolate(value00 = value0, value1);\n };\n}\n\nfunction attrFunction(name, interpolate, value) {\n var value00,\n value10,\n interpolate0;\n return function() {\n var value0, value1 = value(this);\n if (value1 == null) return void this.removeAttribute(name);\n value0 = this.getAttribute(name);\n return value0 === value1 ? null\n : value0 === value00 && value1 === value10 ? interpolate0\n : interpolate0 = interpolate(value00 = value0, value10 = value1);\n };\n}\n\nfunction attrFunctionNS(fullname, interpolate, value) {\n var value00,\n value10,\n interpolate0;\n return function() {\n var value0, value1 = value(this);\n if (value1 == null) return void this.removeAttributeNS(fullname.space, fullname.local);\n value0 = this.getAttributeNS(fullname.space, fullname.local);\n return value0 === value1 ? null\n : value0 === value00 && value1 === value10 ? interpolate0\n : interpolate0 = interpolate(value00 = value0, value10 = value1);\n };\n}\n\nexport default function(name, value) {\n var fullname = namespace(name), i = fullname === \"transform\" ? interpolateTransform : interpolate;\n return this.attrTween(name, typeof value === \"function\"\n ? (fullname.local ? attrFunctionNS : attrFunction)(fullname, i, tweenValue(this, \"attr.\" + name, value))\n : value == null ? (fullname.local ? attrRemoveNS : attrRemove)(fullname)\n : (fullname.local ? attrConstantNS : attrConstant)(fullname, i, value + \"\"));\n}\n","import {namespace} from \"d3-selection\";\n\nfunction attrTweenNS(fullname, value) {\n function tween() {\n var node = this, i = value.apply(node, arguments);\n return i && function(t) {\n node.setAttributeNS(fullname.space, fullname.local, i(t));\n };\n }\n tween._value = value;\n return tween;\n}\n\nfunction attrTween(name, value) {\n function tween() {\n var node = this, i = value.apply(node, arguments);\n return i && function(t) {\n node.setAttribute(name, i(t));\n };\n }\n tween._value = value;\n return tween;\n}\n\nexport default function(name, value) {\n var key = \"attr.\" + name;\n if (arguments.length < 2) return (key = this.tween(key)) && key._value;\n if (value == null) return this.tween(key, null);\n if (typeof value !== \"function\") throw new Error;\n var fullname = namespace(name);\n return this.tween(key, (fullname.local ? attrTweenNS : attrTween)(fullname, value));\n}\n","import {interpolateTransformCss as interpolateTransform} from \"d3-interpolate\";\nimport {style} from \"d3-selection\";\nimport {tweenValue} from \"./tween\";\nimport interpolate from \"./interpolate\";\n\nfunction styleRemove(name, interpolate) {\n var value00,\n value10,\n interpolate0;\n return function() {\n var value0 = style(this, name),\n value1 = (this.style.removeProperty(name), style(this, name));\n return value0 === value1 ? null\n : value0 === value00 && value1 === value10 ? interpolate0\n : interpolate0 = interpolate(value00 = value0, value10 = value1);\n };\n}\n\nfunction styleRemoveEnd(name) {\n return function() {\n this.style.removeProperty(name);\n };\n}\n\nfunction styleConstant(name, interpolate, value1) {\n var value00,\n interpolate0;\n return function() {\n var value0 = style(this, name);\n return value0 === value1 ? null\n : value0 === value00 ? interpolate0\n : interpolate0 = interpolate(value00 = value0, value1);\n };\n}\n\nfunction styleFunction(name, interpolate, value) {\n var value00,\n value10,\n interpolate0;\n return function() {\n var value0 = style(this, name),\n value1 = value(this);\n if (value1 == null) value1 = (this.style.removeProperty(name), style(this, name));\n return value0 === value1 ? null\n : value0 === value00 && value1 === value10 ? interpolate0\n : interpolate0 = interpolate(value00 = value0, value10 = value1);\n };\n}\n\nexport default function(name, value, priority) {\n var i = (name += \"\") === \"transform\" ? interpolateTransform : interpolate;\n return value == null ? this\n .styleTween(name, styleRemove(name, i))\n .on(\"end.style.\" + name, styleRemoveEnd(name))\n : this.styleTween(name, typeof value === \"function\"\n ? styleFunction(name, i, tweenValue(this, \"style.\" + name, value))\n : styleConstant(name, i, value + \"\"), priority);\n}\n","function styleTween(name, value, priority) {\n function tween() {\n var node = this, i = value.apply(node, arguments);\n return i && function(t) {\n node.style.setProperty(name, i(t), priority);\n };\n }\n tween._value = value;\n return tween;\n}\n\nexport default function(name, value, priority) {\n var key = \"style.\" + (name += \"\");\n if (arguments.length < 2) return (key = this.tween(key)) && key._value;\n if (value == null) return this.tween(key, null);\n if (typeof value !== \"function\") throw new Error;\n return this.tween(key, styleTween(name, value, priority == null ? \"\" : priority));\n}\n","import {get, init} from \"./schedule\";\n\nfunction delayFunction(id, value) {\n return function() {\n init(this, id).delay = +value.apply(this, arguments);\n };\n}\n\nfunction delayConstant(id, value) {\n return value = +value, function() {\n init(this, id).delay = value;\n };\n}\n\nexport default function(value) {\n var id = this._id;\n\n return arguments.length\n ? this.each((typeof value === \"function\"\n ? delayFunction\n : delayConstant)(id, value))\n : get(this.node(), id).delay;\n}\n","import {get, set} from \"./schedule\";\n\nfunction durationFunction(id, value) {\n return function() {\n set(this, id).duration = +value.apply(this, arguments);\n };\n}\n\nfunction durationConstant(id, value) {\n return value = +value, function() {\n set(this, id).duration = value;\n };\n}\n\nexport default function(value) {\n var id = this._id;\n\n return arguments.length\n ? this.each((typeof value === \"function\"\n ? durationFunction\n : durationConstant)(id, value))\n : get(this.node(), id).duration;\n}\n","import {get, set} from \"./schedule\";\n\nfunction easeConstant(id, value) {\n if (typeof value !== \"function\") throw new Error;\n return function() {\n set(this, id).ease = value;\n };\n}\n\nexport default function(value) {\n var id = this._id;\n\n return arguments.length\n ? this.each(easeConstant(id, value))\n : get(this.node(), id).ease;\n}\n","var exponent = 3;\n\nexport var polyIn = (function custom(e) {\n e = +e;\n\n function polyIn(t) {\n return Math.pow(t, e);\n }\n\n polyIn.exponent = custom;\n\n return polyIn;\n})(exponent);\n\nexport var polyOut = (function custom(e) {\n e = +e;\n\n function polyOut(t) {\n return 1 - Math.pow(1 - t, e);\n }\n\n polyOut.exponent = custom;\n\n return polyOut;\n})(exponent);\n\nexport var polyInOut = (function custom(e) {\n e = +e;\n\n function polyInOut(t) {\n return ((t *= 2) <= 1 ? Math.pow(t, e) : 2 - Math.pow(2 - t, e)) / 2;\n }\n\n polyInOut.exponent = custom;\n\n return polyInOut;\n})(exponent);\n","var pi = Math.PI,\n halfPi = pi / 2;\n\nexport function sinIn(t) {\n return 1 - Math.cos(t * halfPi);\n}\n\nexport function sinOut(t) {\n return Math.sin(t * halfPi);\n}\n\nexport function sinInOut(t) {\n return (1 - Math.cos(pi * t)) / 2;\n}\n","export function expIn(t) {\n return Math.pow(2, 10 * t - 10);\n}\n\nexport function expOut(t) {\n return 1 - Math.pow(2, -10 * t);\n}\n\nexport function expInOut(t) {\n return ((t *= 2) <= 1 ? Math.pow(2, 10 * t - 10) : 2 - Math.pow(2, 10 - 10 * t)) / 2;\n}\n","export function circleIn(t) {\n return 1 - Math.sqrt(1 - t * t);\n}\n\nexport function circleOut(t) {\n return Math.sqrt(1 - --t * t);\n}\n\nexport function circleInOut(t) {\n return ((t *= 2) <= 1 ? 1 - Math.sqrt(1 - t * t) : Math.sqrt(1 - (t -= 2) * t) + 1) / 2;\n}\n","var b1 = 4 / 11,\n b2 = 6 / 11,\n b3 = 8 / 11,\n b4 = 3 / 4,\n b5 = 9 / 11,\n b6 = 10 / 11,\n b7 = 15 / 16,\n b8 = 21 / 22,\n b9 = 63 / 64,\n b0 = 1 / b1 / b1;\n\nexport function bounceIn(t) {\n return 1 - bounceOut(1 - t);\n}\n\nexport function bounceOut(t) {\n return (t = +t) < b1 ? b0 * t * t : t < b3 ? b0 * (t -= b2) * t + b4 : t < b6 ? b0 * (t -= b5) * t + b7 : b0 * (t -= b8) * t + b9;\n}\n\nexport function bounceInOut(t) {\n return ((t *= 2) <= 1 ? 1 - bounceOut(1 - t) : bounceOut(t - 1) + 1) / 2;\n}\n","var overshoot = 1.70158;\n\nexport var backIn = (function custom(s) {\n s = +s;\n\n function backIn(t) {\n return t * t * ((s + 1) * t - s);\n }\n\n backIn.overshoot = custom;\n\n return backIn;\n})(overshoot);\n\nexport var backOut = (function custom(s) {\n s = +s;\n\n function backOut(t) {\n return --t * t * ((s + 1) * t + s) + 1;\n }\n\n backOut.overshoot = custom;\n\n return backOut;\n})(overshoot);\n\nexport var backInOut = (function custom(s) {\n s = +s;\n\n function backInOut(t) {\n return ((t *= 2) < 1 ? t * t * ((s + 1) * t - s) : (t -= 2) * t * ((s + 1) * t + s) + 2) / 2;\n }\n\n backInOut.overshoot = custom;\n\n return backInOut;\n})(overshoot);\n","var tau = 2 * Math.PI,\n amplitude = 1,\n period = 0.3;\n\nexport var elasticIn = (function custom(a, p) {\n var s = Math.asin(1 / (a = Math.max(1, a))) * (p /= tau);\n\n function elasticIn(t) {\n return a * Math.pow(2, 10 * --t) * Math.sin((s - t) / p);\n }\n\n elasticIn.amplitude = function(a) { return custom(a, p * tau); };\n elasticIn.period = function(p) { return custom(a, p); };\n\n return elasticIn;\n})(amplitude, period);\n\nexport var elasticOut = (function custom(a, p) {\n var s = Math.asin(1 / (a = Math.max(1, a))) * (p /= tau);\n\n function elasticOut(t) {\n return 1 - a * Math.pow(2, -10 * (t = +t)) * Math.sin((t + s) / p);\n }\n\n elasticOut.amplitude = function(a) { return custom(a, p * tau); };\n elasticOut.period = function(p) { return custom(a, p); };\n\n return elasticOut;\n})(amplitude, period);\n\nexport var elasticInOut = (function custom(a, p) {\n var s = Math.asin(1 / (a = Math.max(1, a))) * (p /= tau);\n\n function elasticInOut(t) {\n return ((t = t * 2 - 1) < 0\n ? a * Math.pow(2, 10 * t) * Math.sin((s - t) / p)\n : 2 - a * Math.pow(2, -10 * t) * Math.sin((s + t) / p)) / 2;\n }\n\n elasticInOut.amplitude = function(a) { return custom(a, p * tau); };\n elasticInOut.period = function(p) { return custom(a, p); };\n\n return elasticInOut;\n})(amplitude, period);\n","import {Transition, newId} from \"../transition/index\";\nimport schedule from \"../transition/schedule\";\nimport {easeCubicInOut} from \"d3-ease\";\nimport {now} from \"d3-timer\";\n\nvar defaultTiming = {\n time: null, // Set on use.\n delay: 0,\n duration: 250,\n ease: easeCubicInOut\n};\n\nfunction inherit(node, id) {\n var timing;\n while (!(timing = node.__transition) || !(timing = timing[id])) {\n if (!(node = node.parentNode)) {\n return defaultTiming.time = now(), defaultTiming;\n }\n }\n return timing;\n}\n\nexport default function(name) {\n var id,\n timing;\n\n if (name instanceof Transition) {\n id = name._id, name = name._name;\n } else {\n id = newId(), (timing = defaultTiming).time = now(), name = name == null ? null : name + \"\";\n }\n\n for (var groups = this._groups, m = groups.length, j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n schedule(node, name, id, i, group, timing || inherit(node, id));\n }\n }\n }\n\n return new Transition(groups, this._parents, name, id);\n}\n","import {selection} from \"d3-selection\";\nimport selection_interrupt from \"./interrupt\";\nimport selection_transition from \"./transition\";\n\nselection.prototype.interrupt = selection_interrupt;\nselection.prototype.transition = selection_transition;\n","import interrupt from \"../interrupt\";\n\nexport default function(name) {\n return this.each(function() {\n interrupt(this, name);\n });\n}\n","import {Transition} from \"./transition/index\";\nimport {SCHEDULED} from \"./transition/schedule\";\n\nvar root = [null];\n\nexport default function(node, name) {\n var schedules = node.__transition,\n schedule,\n i;\n\n if (schedules) {\n name = name == null ? null : name + \"\";\n for (i in schedules) {\n if ((schedule = schedules[i]).state > SCHEDULED && schedule.name === name) {\n return new Transition([[node]], root, name, +i);\n }\n }\n }\n\n return null;\n}\n","export default function(x) {\n return function() {\n return x;\n };\n}\n","export default function(target, type, selection) {\n this.target = target;\n this.type = type;\n this.selection = selection;\n}\n","import {event} from \"d3-selection\";\n\nexport function nopropagation() {\n event.stopImmediatePropagation();\n}\n\nexport default function() {\n event.preventDefault();\n event.stopImmediatePropagation();\n}\n","import {dispatch} from \"d3-dispatch\";\nimport {dragDisable, dragEnable} from \"d3-drag\";\nimport {interpolate} from \"d3-interpolate\";\nimport {customEvent, event, mouse, select} from \"d3-selection\";\nimport {interrupt} from \"d3-transition\";\nimport constant from \"./constant\";\nimport BrushEvent from \"./event\";\nimport noevent, {nopropagation} from \"./noevent\";\n\nvar MODE_DRAG = {name: \"drag\"},\n MODE_SPACE = {name: \"space\"},\n MODE_HANDLE = {name: \"handle\"},\n MODE_CENTER = {name: \"center\"};\n\nvar X = {\n name: \"x\",\n handles: [\"e\", \"w\"].map(type),\n input: function(x, e) { return x && [[x[0], e[0][1]], [x[1], e[1][1]]]; },\n output: function(xy) { return xy && [xy[0][0], xy[1][0]]; }\n};\n\nvar Y = {\n name: \"y\",\n handles: [\"n\", \"s\"].map(type),\n input: function(y, e) { return y && [[e[0][0], y[0]], [e[1][0], y[1]]]; },\n output: function(xy) { return xy && [xy[0][1], xy[1][1]]; }\n};\n\nvar XY = {\n name: \"xy\",\n handles: [\"n\", \"e\", \"s\", \"w\", \"nw\", \"ne\", \"se\", \"sw\"].map(type),\n input: function(xy) { return xy; },\n output: function(xy) { return xy; }\n};\n\nvar cursors = {\n overlay: \"crosshair\",\n selection: \"move\",\n n: \"ns-resize\",\n e: \"ew-resize\",\n s: \"ns-resize\",\n w: \"ew-resize\",\n nw: \"nwse-resize\",\n ne: \"nesw-resize\",\n se: \"nwse-resize\",\n sw: \"nesw-resize\"\n};\n\nvar flipX = {\n e: \"w\",\n w: \"e\",\n nw: \"ne\",\n ne: \"nw\",\n se: \"sw\",\n sw: \"se\"\n};\n\nvar flipY = {\n n: \"s\",\n s: \"n\",\n nw: \"sw\",\n ne: \"se\",\n se: \"ne\",\n sw: \"nw\"\n};\n\nvar signsX = {\n overlay: +1,\n selection: +1,\n n: null,\n e: +1,\n s: null,\n w: -1,\n nw: -1,\n ne: +1,\n se: +1,\n sw: -1\n};\n\nvar signsY = {\n overlay: +1,\n selection: +1,\n n: -1,\n e: null,\n s: +1,\n w: null,\n nw: -1,\n ne: -1,\n se: +1,\n sw: +1\n};\n\nfunction type(t) {\n return {type: t};\n}\n\n// Ignore right-click, since that should open the context menu.\nfunction defaultFilter() {\n return !event.button;\n}\n\nfunction defaultExtent() {\n var svg = this.ownerSVGElement || this;\n return [[0, 0], [svg.width.baseVal.value, svg.height.baseVal.value]];\n}\n\n// Like d3.local, but with the name “__brush” rather than auto-generated.\nfunction local(node) {\n while (!node.__brush) if (!(node = node.parentNode)) return;\n return node.__brush;\n}\n\nfunction empty(extent) {\n return extent[0][0] === extent[1][0]\n || extent[0][1] === extent[1][1];\n}\n\nexport function brushSelection(node) {\n var state = node.__brush;\n return state ? state.dim.output(state.selection) : null;\n}\n\nexport function brushX() {\n return brush(X);\n}\n\nexport function brushY() {\n return brush(Y);\n}\n\nexport default function() {\n return brush(XY);\n}\n\nfunction brush(dim) {\n var extent = defaultExtent,\n filter = defaultFilter,\n listeners = dispatch(brush, \"start\", \"brush\", \"end\"),\n handleSize = 6,\n touchending;\n\n function brush(group) {\n var overlay = group\n .property(\"__brush\", initialize)\n .selectAll(\".overlay\")\n .data([type(\"overlay\")]);\n\n overlay.enter().append(\"rect\")\n .attr(\"class\", \"overlay\")\n .attr(\"pointer-events\", \"all\")\n .attr(\"cursor\", cursors.overlay)\n .merge(overlay)\n .each(function() {\n var extent = local(this).extent;\n select(this)\n .attr(\"x\", extent[0][0])\n .attr(\"y\", extent[0][1])\n .attr(\"width\", extent[1][0] - extent[0][0])\n .attr(\"height\", extent[1][1] - extent[0][1]);\n });\n\n group.selectAll(\".selection\")\n .data([type(\"selection\")])\n .enter().append(\"rect\")\n .attr(\"class\", \"selection\")\n .attr(\"cursor\", cursors.selection)\n .attr(\"fill\", \"#777\")\n .attr(\"fill-opacity\", 0.3)\n .attr(\"stroke\", \"#fff\")\n .attr(\"shape-rendering\", \"crispEdges\");\n\n var handle = group.selectAll(\".handle\")\n .data(dim.handles, function(d) { return d.type; });\n\n handle.exit().remove();\n\n handle.enter().append(\"rect\")\n .attr(\"class\", function(d) { return \"handle handle--\" + d.type; })\n .attr(\"cursor\", function(d) { return cursors[d.type]; });\n\n group\n .each(redraw)\n .attr(\"fill\", \"none\")\n .attr(\"pointer-events\", \"all\")\n .style(\"-webkit-tap-highlight-color\", \"rgba(0,0,0,0)\")\n .on(\"mousedown.brush touchstart.brush\", started);\n }\n\n brush.move = function(group, selection) {\n if (group.selection) {\n group\n .on(\"start.brush\", function() { emitter(this, arguments).beforestart().start(); })\n .on(\"interrupt.brush end.brush\", function() { emitter(this, arguments).end(); })\n .tween(\"brush\", function() {\n var that = this,\n state = that.__brush,\n emit = emitter(that, arguments),\n selection0 = state.selection,\n selection1 = dim.input(typeof selection === \"function\" ? selection.apply(this, arguments) : selection, state.extent),\n i = interpolate(selection0, selection1);\n\n function tween(t) {\n state.selection = t === 1 && empty(selection1) ? null : i(t);\n redraw.call(that);\n emit.brush();\n }\n\n return selection0 && selection1 ? tween : tween(1);\n });\n } else {\n group\n .each(function() {\n var that = this,\n args = arguments,\n state = that.__brush,\n selection1 = dim.input(typeof selection === \"function\" ? selection.apply(that, args) : selection, state.extent),\n emit = emitter(that, args).beforestart();\n\n interrupt(that);\n state.selection = selection1 == null || empty(selection1) ? null : selection1;\n redraw.call(that);\n emit.start().brush().end();\n });\n }\n };\n\n function redraw() {\n var group = select(this),\n selection = local(this).selection;\n\n if (selection) {\n group.selectAll(\".selection\")\n .style(\"display\", null)\n .attr(\"x\", selection[0][0])\n .attr(\"y\", selection[0][1])\n .attr(\"width\", selection[1][0] - selection[0][0])\n .attr(\"height\", selection[1][1] - selection[0][1]);\n\n group.selectAll(\".handle\")\n .style(\"display\", null)\n .attr(\"x\", function(d) { return d.type[d.type.length - 1] === \"e\" ? selection[1][0] - handleSize / 2 : selection[0][0] - handleSize / 2; })\n .attr(\"y\", function(d) { return d.type[0] === \"s\" ? selection[1][1] - handleSize / 2 : selection[0][1] - handleSize / 2; })\n .attr(\"width\", function(d) { return d.type === \"n\" || d.type === \"s\" ? selection[1][0] - selection[0][0] + handleSize : handleSize; })\n .attr(\"height\", function(d) { return d.type === \"e\" || d.type === \"w\" ? selection[1][1] - selection[0][1] + handleSize : handleSize; });\n }\n\n else {\n group.selectAll(\".selection,.handle\")\n .style(\"display\", \"none\")\n .attr(\"x\", null)\n .attr(\"y\", null)\n .attr(\"width\", null)\n .attr(\"height\", null);\n }\n }\n\n function emitter(that, args) {\n return that.__brush.emitter || new Emitter(that, args);\n }\n\n function Emitter(that, args) {\n this.that = that;\n this.args = args;\n this.state = that.__brush;\n this.active = 0;\n }\n\n Emitter.prototype = {\n beforestart: function() {\n if (++this.active === 1) this.state.emitter = this, this.starting = true;\n return this;\n },\n start: function() {\n if (this.starting) this.starting = false, this.emit(\"start\");\n return this;\n },\n brush: function() {\n this.emit(\"brush\");\n return this;\n },\n end: function() {\n if (--this.active === 0) delete this.state.emitter, this.emit(\"end\");\n return this;\n },\n emit: function(type) {\n customEvent(new BrushEvent(brush, type, dim.output(this.state.selection)), listeners.apply, listeners, [type, this.that, this.args]);\n }\n };\n\n function started() {\n if (event.touches) { if (event.changedTouches.length < event.touches.length) return noevent(); }\n else if (touchending) return;\n if (!filter.apply(this, arguments)) return;\n\n var that = this,\n type = event.target.__data__.type,\n mode = (event.metaKey ? type = \"overlay\" : type) === \"selection\" ? MODE_DRAG : (event.altKey ? MODE_CENTER : MODE_HANDLE),\n signX = dim === Y ? null : signsX[type],\n signY = dim === X ? null : signsY[type],\n state = local(that),\n extent = state.extent,\n selection = state.selection,\n W = extent[0][0], w0, w1,\n N = extent[0][1], n0, n1,\n E = extent[1][0], e0, e1,\n S = extent[1][1], s0, s1,\n dx,\n dy,\n moving,\n shifting = signX && signY && event.shiftKey,\n lockX,\n lockY,\n point0 = mouse(that),\n point = point0,\n emit = emitter(that, arguments).beforestart();\n\n if (type === \"overlay\") {\n state.selection = selection = [\n [w0 = dim === Y ? W : point0[0], n0 = dim === X ? N : point0[1]],\n [e0 = dim === Y ? E : w0, s0 = dim === X ? S : n0]\n ];\n } else {\n w0 = selection[0][0];\n n0 = selection[0][1];\n e0 = selection[1][0];\n s0 = selection[1][1];\n }\n\n w1 = w0;\n n1 = n0;\n e1 = e0;\n s1 = s0;\n\n var group = select(that)\n .attr(\"pointer-events\", \"none\");\n\n var overlay = group.selectAll(\".overlay\")\n .attr(\"cursor\", cursors[type]);\n\n if (event.touches) {\n group\n .on(\"touchmove.brush\", moved, true)\n .on(\"touchend.brush touchcancel.brush\", ended, true);\n } else {\n var view = select(event.view)\n .on(\"keydown.brush\", keydowned, true)\n .on(\"keyup.brush\", keyupped, true)\n .on(\"mousemove.brush\", moved, true)\n .on(\"mouseup.brush\", ended, true);\n\n dragDisable(event.view);\n }\n\n nopropagation();\n interrupt(that);\n redraw.call(that);\n emit.start();\n\n function moved() {\n var point1 = mouse(that);\n if (shifting && !lockX && !lockY) {\n if (Math.abs(point1[0] - point[0]) > Math.abs(point1[1] - point[1])) lockY = true;\n else lockX = true;\n }\n point = point1;\n moving = true;\n noevent();\n move();\n }\n\n function move() {\n var t;\n\n dx = point[0] - point0[0];\n dy = point[1] - point0[1];\n\n switch (mode) {\n case MODE_SPACE:\n case MODE_DRAG: {\n if (signX) dx = Math.max(W - w0, Math.min(E - e0, dx)), w1 = w0 + dx, e1 = e0 + dx;\n if (signY) dy = Math.max(N - n0, Math.min(S - s0, dy)), n1 = n0 + dy, s1 = s0 + dy;\n break;\n }\n case MODE_HANDLE: {\n if (signX < 0) dx = Math.max(W - w0, Math.min(E - w0, dx)), w1 = w0 + dx, e1 = e0;\n else if (signX > 0) dx = Math.max(W - e0, Math.min(E - e0, dx)), w1 = w0, e1 = e0 + dx;\n if (signY < 0) dy = Math.max(N - n0, Math.min(S - n0, dy)), n1 = n0 + dy, s1 = s0;\n else if (signY > 0) dy = Math.max(N - s0, Math.min(S - s0, dy)), n1 = n0, s1 = s0 + dy;\n break;\n }\n case MODE_CENTER: {\n if (signX) w1 = Math.max(W, Math.min(E, w0 - dx * signX)), e1 = Math.max(W, Math.min(E, e0 + dx * signX));\n if (signY) n1 = Math.max(N, Math.min(S, n0 - dy * signY)), s1 = Math.max(N, Math.min(S, s0 + dy * signY));\n break;\n }\n }\n\n if (e1 < w1) {\n signX *= -1;\n t = w0, w0 = e0, e0 = t;\n t = w1, w1 = e1, e1 = t;\n if (type in flipX) overlay.attr(\"cursor\", cursors[type = flipX[type]]);\n }\n\n if (s1 < n1) {\n signY *= -1;\n t = n0, n0 = s0, s0 = t;\n t = n1, n1 = s1, s1 = t;\n if (type in flipY) overlay.attr(\"cursor\", cursors[type = flipY[type]]);\n }\n\n if (state.selection) selection = state.selection; // May be set by brush.move!\n if (lockX) w1 = selection[0][0], e1 = selection[1][0];\n if (lockY) n1 = selection[0][1], s1 = selection[1][1];\n\n if (selection[0][0] !== w1\n || selection[0][1] !== n1\n || selection[1][0] !== e1\n || selection[1][1] !== s1) {\n state.selection = [[w1, n1], [e1, s1]];\n redraw.call(that);\n emit.brush();\n }\n }\n\n function ended() {\n nopropagation();\n if (event.touches) {\n if (event.touches.length) return;\n if (touchending) clearTimeout(touchending);\n touchending = setTimeout(function() { touchending = null; }, 500); // Ghost clicks are delayed!\n group.on(\"touchmove.brush touchend.brush touchcancel.brush\", null);\n } else {\n dragEnable(event.view, moving);\n view.on(\"keydown.brush keyup.brush mousemove.brush mouseup.brush\", null);\n }\n group.attr(\"pointer-events\", \"all\");\n overlay.attr(\"cursor\", cursors.overlay);\n if (state.selection) selection = state.selection; // May be set by brush.move (on start)!\n if (empty(selection)) state.selection = null, redraw.call(that);\n emit.end();\n }\n\n function keydowned() {\n switch (event.keyCode) {\n case 16: { // SHIFT\n shifting = signX && signY;\n break;\n }\n case 18: { // ALT\n if (mode === MODE_HANDLE) {\n if (signX) e0 = e1 - dx * signX, w0 = w1 + dx * signX;\n if (signY) s0 = s1 - dy * signY, n0 = n1 + dy * signY;\n mode = MODE_CENTER;\n move();\n }\n break;\n }\n case 32: { // SPACE; takes priority over ALT\n if (mode === MODE_HANDLE || mode === MODE_CENTER) {\n if (signX < 0) e0 = e1 - dx; else if (signX > 0) w0 = w1 - dx;\n if (signY < 0) s0 = s1 - dy; else if (signY > 0) n0 = n1 - dy;\n mode = MODE_SPACE;\n overlay.attr(\"cursor\", cursors.selection);\n move();\n }\n break;\n }\n default: return;\n }\n noevent();\n }\n\n function keyupped() {\n switch (event.keyCode) {\n case 16: { // SHIFT\n if (shifting) {\n lockX = lockY = shifting = false;\n move();\n }\n break;\n }\n case 18: { // ALT\n if (mode === MODE_CENTER) {\n if (signX < 0) e0 = e1; else if (signX > 0) w0 = w1;\n if (signY < 0) s0 = s1; else if (signY > 0) n0 = n1;\n mode = MODE_HANDLE;\n move();\n }\n break;\n }\n case 32: { // SPACE\n if (mode === MODE_SPACE) {\n if (event.altKey) {\n if (signX) e0 = e1 - dx * signX, w0 = w1 + dx * signX;\n if (signY) s0 = s1 - dy * signY, n0 = n1 + dy * signY;\n mode = MODE_CENTER;\n } else {\n if (signX < 0) e0 = e1; else if (signX > 0) w0 = w1;\n if (signY < 0) s0 = s1; else if (signY > 0) n0 = n1;\n mode = MODE_HANDLE;\n }\n overlay.attr(\"cursor\", cursors[type]);\n move();\n }\n break;\n }\n default: return;\n }\n noevent();\n }\n }\n\n function initialize() {\n var state = this.__brush || {selection: null};\n state.extent = extent.apply(this, arguments);\n state.dim = dim;\n return state;\n }\n\n brush.extent = function(_) {\n return arguments.length ? (extent = typeof _ === \"function\" ? _ : constant([[+_[0][0], +_[0][1]], [+_[1][0], +_[1][1]]]), brush) : extent;\n };\n\n brush.filter = function(_) {\n return arguments.length ? (filter = typeof _ === \"function\" ? _ : constant(!!_), brush) : filter;\n };\n\n brush.handleSize = function(_) {\n return arguments.length ? (handleSize = +_, brush) : handleSize;\n };\n\n brush.on = function() {\n var value = listeners.on.apply(listeners, arguments);\n return value === listeners ? brush : value;\n };\n\n return brush;\n}\n","export var cos = Math.cos;\nexport var sin = Math.sin;\nexport var pi = Math.PI;\nexport var halfPi = pi / 2;\nexport var tau = pi * 2;\nexport var max = Math.max;\n","import {range} from \"d3-array\";\nimport {max, tau} from \"./math\";\n\nfunction compareValue(compare) {\n return function(a, b) {\n return compare(\n a.source.value + a.target.value,\n b.source.value + b.target.value\n );\n };\n}\n\nexport default function() {\n var padAngle = 0,\n sortGroups = null,\n sortSubgroups = null,\n sortChords = null;\n\n function chord(matrix) {\n var n = matrix.length,\n groupSums = [],\n groupIndex = range(n),\n subgroupIndex = [],\n chords = [],\n groups = chords.groups = new Array(n),\n subgroups = new Array(n * n),\n k,\n x,\n x0,\n dx,\n i,\n j;\n\n // Compute the sum.\n k = 0, i = -1; while (++i < n) {\n x = 0, j = -1; while (++j < n) {\n x += matrix[i][j];\n }\n groupSums.push(x);\n subgroupIndex.push(range(n));\n k += x;\n }\n\n // Sort groups…\n if (sortGroups) groupIndex.sort(function(a, b) {\n return sortGroups(groupSums[a], groupSums[b]);\n });\n\n // Sort subgroups…\n if (sortSubgroups) subgroupIndex.forEach(function(d, i) {\n d.sort(function(a, b) {\n return sortSubgroups(matrix[i][a], matrix[i][b]);\n });\n });\n\n // Convert the sum to scaling factor for [0, 2pi].\n // TODO Allow start and end angle to be specified?\n // TODO Allow padding to be specified as percentage?\n k = max(0, tau - padAngle * n) / k;\n dx = k ? padAngle : tau / n;\n\n // Compute the start and end angle for each group and subgroup.\n // Note: Opera has a bug reordering object literal properties!\n x = 0, i = -1; while (++i < n) {\n x0 = x, j = -1; while (++j < n) {\n var di = groupIndex[i],\n dj = subgroupIndex[di][j],\n v = matrix[di][dj],\n a0 = x,\n a1 = x += v * k;\n subgroups[dj * n + di] = {\n index: di,\n subindex: dj,\n startAngle: a0,\n endAngle: a1,\n value: v\n };\n }\n groups[di] = {\n index: di,\n startAngle: x0,\n endAngle: x,\n value: groupSums[di]\n };\n x += dx;\n }\n\n // Generate chords for each (non-empty) subgroup-subgroup link.\n i = -1; while (++i < n) {\n j = i - 1; while (++j < n) {\n var source = subgroups[j * n + i],\n target = subgroups[i * n + j];\n if (source.value || target.value) {\n chords.push(source.value < target.value\n ? {source: target, target: source}\n : {source: source, target: target});\n }\n }\n }\n\n return sortChords ? chords.sort(sortChords) : chords;\n }\n\n chord.padAngle = function(_) {\n return arguments.length ? (padAngle = max(0, _), chord) : padAngle;\n };\n\n chord.sortGroups = function(_) {\n return arguments.length ? (sortGroups = _, chord) : sortGroups;\n };\n\n chord.sortSubgroups = function(_) {\n return arguments.length ? (sortSubgroups = _, chord) : sortSubgroups;\n };\n\n chord.sortChords = function(_) {\n return arguments.length ? (_ == null ? sortChords = null : (sortChords = compareValue(_))._ = _, chord) : sortChords && sortChords._;\n };\n\n return chord;\n}\n","export var slice = Array.prototype.slice;\n","export default function(x) {\n return function() {\n return x;\n };\n}\n","var pi = Math.PI,\n tau = 2 * pi,\n epsilon = 1e-6,\n tauEpsilon = tau - epsilon;\n\nfunction Path() {\n this._x0 = this._y0 = // start of current subpath\n this._x1 = this._y1 = null; // end of current subpath\n this._ = \"\";\n}\n\nfunction path() {\n return new Path;\n}\n\nPath.prototype = path.prototype = {\n constructor: Path,\n moveTo: function(x, y) {\n this._ += \"M\" + (this._x0 = this._x1 = +x) + \",\" + (this._y0 = this._y1 = +y);\n },\n closePath: function() {\n if (this._x1 !== null) {\n this._x1 = this._x0, this._y1 = this._y0;\n this._ += \"Z\";\n }\n },\n lineTo: function(x, y) {\n this._ += \"L\" + (this._x1 = +x) + \",\" + (this._y1 = +y);\n },\n quadraticCurveTo: function(x1, y1, x, y) {\n this._ += \"Q\" + (+x1) + \",\" + (+y1) + \",\" + (this._x1 = +x) + \",\" + (this._y1 = +y);\n },\n bezierCurveTo: function(x1, y1, x2, y2, x, y) {\n this._ += \"C\" + (+x1) + \",\" + (+y1) + \",\" + (+x2) + \",\" + (+y2) + \",\" + (this._x1 = +x) + \",\" + (this._y1 = +y);\n },\n arcTo: function(x1, y1, x2, y2, r) {\n x1 = +x1, y1 = +y1, x2 = +x2, y2 = +y2, r = +r;\n var x0 = this._x1,\n y0 = this._y1,\n x21 = x2 - x1,\n y21 = y2 - y1,\n x01 = x0 - x1,\n y01 = y0 - y1,\n l01_2 = x01 * x01 + y01 * y01;\n\n // Is the radius negative? Error.\n if (r < 0) throw new Error(\"negative radius: \" + r);\n\n // Is this path empty? Move to (x1,y1).\n if (this._x1 === null) {\n this._ += \"M\" + (this._x1 = x1) + \",\" + (this._y1 = y1);\n }\n\n // Or, is (x1,y1) coincident with (x0,y0)? Do nothing.\n else if (!(l01_2 > epsilon)) {}\n\n // Or, are (x0,y0), (x1,y1) and (x2,y2) collinear?\n // Equivalently, is (x1,y1) coincident with (x2,y2)?\n // Or, is the radius zero? Line to (x1,y1).\n else if (!(Math.abs(y01 * x21 - y21 * x01) > epsilon) || !r) {\n this._ += \"L\" + (this._x1 = x1) + \",\" + (this._y1 = y1);\n }\n\n // Otherwise, draw an arc!\n else {\n var x20 = x2 - x0,\n y20 = y2 - y0,\n l21_2 = x21 * x21 + y21 * y21,\n l20_2 = x20 * x20 + y20 * y20,\n l21 = Math.sqrt(l21_2),\n l01 = Math.sqrt(l01_2),\n l = r * Math.tan((pi - Math.acos((l21_2 + l01_2 - l20_2) / (2 * l21 * l01))) / 2),\n t01 = l / l01,\n t21 = l / l21;\n\n // If the start tangent is not coincident with (x0,y0), line to.\n if (Math.abs(t01 - 1) > epsilon) {\n this._ += \"L\" + (x1 + t01 * x01) + \",\" + (y1 + t01 * y01);\n }\n\n this._ += \"A\" + r + \",\" + r + \",0,0,\" + (+(y01 * x20 > x01 * y20)) + \",\" + (this._x1 = x1 + t21 * x21) + \",\" + (this._y1 = y1 + t21 * y21);\n }\n },\n arc: function(x, y, r, a0, a1, ccw) {\n x = +x, y = +y, r = +r;\n var dx = r * Math.cos(a0),\n dy = r * Math.sin(a0),\n x0 = x + dx,\n y0 = y + dy,\n cw = 1 ^ ccw,\n da = ccw ? a0 - a1 : a1 - a0;\n\n // Is the radius negative? Error.\n if (r < 0) throw new Error(\"negative radius: \" + r);\n\n // Is this path empty? Move to (x0,y0).\n if (this._x1 === null) {\n this._ += \"M\" + x0 + \",\" + y0;\n }\n\n // Or, is (x0,y0) not coincident with the previous point? Line to (x0,y0).\n else if (Math.abs(this._x1 - x0) > epsilon || Math.abs(this._y1 - y0) > epsilon) {\n this._ += \"L\" + x0 + \",\" + y0;\n }\n\n // Is this arc empty? We’re done.\n if (!r) return;\n\n // Does the angle go the wrong way? Flip the direction.\n if (da < 0) da = da % tau + tau;\n\n // Is this a complete circle? Draw two arcs to complete the circle.\n if (da > tauEpsilon) {\n this._ += \"A\" + r + \",\" + r + \",0,1,\" + cw + \",\" + (x - dx) + \",\" + (y - dy) + \"A\" + r + \",\" + r + \",0,1,\" + cw + \",\" + (this._x1 = x0) + \",\" + (this._y1 = y0);\n }\n\n // Is this arc non-empty? Draw an arc!\n else if (da > epsilon) {\n this._ += \"A\" + r + \",\" + r + \",0,\" + (+(da >= pi)) + \",\" + cw + \",\" + (this._x1 = x + r * Math.cos(a1)) + \",\" + (this._y1 = y + r * Math.sin(a1));\n }\n },\n rect: function(x, y, w, h) {\n this._ += \"M\" + (this._x0 = this._x1 = +x) + \",\" + (this._y0 = this._y1 = +y) + \"h\" + (+w) + \"v\" + (+h) + \"h\" + (-w) + \"Z\";\n },\n toString: function() {\n return this._;\n }\n};\n\nexport default path;\n","import {slice} from \"./array\";\nimport constant from \"./constant\";\nimport {cos, halfPi, sin} from \"./math\";\nimport {path} from \"d3-path\";\n\nfunction defaultSource(d) {\n return d.source;\n}\n\nfunction defaultTarget(d) {\n return d.target;\n}\n\nfunction defaultRadius(d) {\n return d.radius;\n}\n\nfunction defaultStartAngle(d) {\n return d.startAngle;\n}\n\nfunction defaultEndAngle(d) {\n return d.endAngle;\n}\n\nexport default function() {\n var source = defaultSource,\n target = defaultTarget,\n radius = defaultRadius,\n startAngle = defaultStartAngle,\n endAngle = defaultEndAngle,\n context = null;\n\n function ribbon() {\n var buffer,\n argv = slice.call(arguments),\n s = source.apply(this, argv),\n t = target.apply(this, argv),\n sr = +radius.apply(this, (argv[0] = s, argv)),\n sa0 = startAngle.apply(this, argv) - halfPi,\n sa1 = endAngle.apply(this, argv) - halfPi,\n sx0 = sr * cos(sa0),\n sy0 = sr * sin(sa0),\n tr = +radius.apply(this, (argv[0] = t, argv)),\n ta0 = startAngle.apply(this, argv) - halfPi,\n ta1 = endAngle.apply(this, argv) - halfPi;\n\n if (!context) context = buffer = path();\n\n context.moveTo(sx0, sy0);\n context.arc(0, 0, sr, sa0, sa1);\n if (sa0 !== ta0 || sa1 !== ta1) { // TODO sr !== tr?\n context.quadraticCurveTo(0, 0, tr * cos(ta0), tr * sin(ta0));\n context.arc(0, 0, tr, ta0, ta1);\n }\n context.quadraticCurveTo(0, 0, sx0, sy0);\n context.closePath();\n\n if (buffer) return context = null, buffer + \"\" || null;\n }\n\n ribbon.radius = function(_) {\n return arguments.length ? (radius = typeof _ === \"function\" ? _ : constant(+_), ribbon) : radius;\n };\n\n ribbon.startAngle = function(_) {\n return arguments.length ? (startAngle = typeof _ === \"function\" ? _ : constant(+_), ribbon) : startAngle;\n };\n\n ribbon.endAngle = function(_) {\n return arguments.length ? (endAngle = typeof _ === \"function\" ? _ : constant(+_), ribbon) : endAngle;\n };\n\n ribbon.source = function(_) {\n return arguments.length ? (source = _, ribbon) : source;\n };\n\n ribbon.target = function(_) {\n return arguments.length ? (target = _, ribbon) : target;\n };\n\n ribbon.context = function(_) {\n return arguments.length ? ((context = _ == null ? null : _), ribbon) : context;\n };\n\n return ribbon;\n}\n","export var prefix = \"$\";\n\nfunction Map() {}\n\nMap.prototype = map.prototype = {\n constructor: Map,\n has: function(key) {\n return (prefix + key) in this;\n },\n get: function(key) {\n return this[prefix + key];\n },\n set: function(key, value) {\n this[prefix + key] = value;\n return this;\n },\n remove: function(key) {\n var property = prefix + key;\n return property in this && delete this[property];\n },\n clear: function() {\n for (var property in this) if (property[0] === prefix) delete this[property];\n },\n keys: function() {\n var keys = [];\n for (var property in this) if (property[0] === prefix) keys.push(property.slice(1));\n return keys;\n },\n values: function() {\n var values = [];\n for (var property in this) if (property[0] === prefix) values.push(this[property]);\n return values;\n },\n entries: function() {\n var entries = [];\n for (var property in this) if (property[0] === prefix) entries.push({key: property.slice(1), value: this[property]});\n return entries;\n },\n size: function() {\n var size = 0;\n for (var property in this) if (property[0] === prefix) ++size;\n return size;\n },\n empty: function() {\n for (var property in this) if (property[0] === prefix) return false;\n return true;\n },\n each: function(f) {\n for (var property in this) if (property[0] === prefix) f(this[property], property.slice(1), this);\n }\n};\n\nfunction map(object, f) {\n var map = new Map;\n\n // Copy constructor.\n if (object instanceof Map) object.each(function(value, key) { map.set(key, value); });\n\n // Index array by numeric index or specified key function.\n else if (Array.isArray(object)) {\n var i = -1,\n n = object.length,\n o;\n\n if (f == null) while (++i < n) map.set(i, object[i]);\n else while (++i < n) map.set(f(o = object[i], i, object), o);\n }\n\n // Convert object to map.\n else if (object) for (var key in object) map.set(key, object[key]);\n\n return map;\n}\n\nexport default map;\n","import map from \"./map\";\n\nexport default function() {\n var keys = [],\n sortKeys = [],\n sortValues,\n rollup,\n nest;\n\n function apply(array, depth, createResult, setResult) {\n if (depth >= keys.length) {\n if (sortValues != null) array.sort(sortValues);\n return rollup != null ? rollup(array) : array;\n }\n\n var i = -1,\n n = array.length,\n key = keys[depth++],\n keyValue,\n value,\n valuesByKey = map(),\n values,\n result = createResult();\n\n while (++i < n) {\n if (values = valuesByKey.get(keyValue = key(value = array[i]) + \"\")) {\n values.push(value);\n } else {\n valuesByKey.set(keyValue, [value]);\n }\n }\n\n valuesByKey.each(function(values, key) {\n setResult(result, key, apply(values, depth, createResult, setResult));\n });\n\n return result;\n }\n\n function entries(map, depth) {\n if (++depth > keys.length) return map;\n var array, sortKey = sortKeys[depth - 1];\n if (rollup != null && depth >= keys.length) array = map.entries();\n else array = [], map.each(function(v, k) { array.push({key: k, values: entries(v, depth)}); });\n return sortKey != null ? array.sort(function(a, b) { return sortKey(a.key, b.key); }) : array;\n }\n\n return nest = {\n object: function(array) { return apply(array, 0, createObject, setObject); },\n map: function(array) { return apply(array, 0, createMap, setMap); },\n entries: function(array) { return entries(apply(array, 0, createMap, setMap), 0); },\n key: function(d) { keys.push(d); return nest; },\n sortKeys: function(order) { sortKeys[keys.length - 1] = order; return nest; },\n sortValues: function(order) { sortValues = order; return nest; },\n rollup: function(f) { rollup = f; return nest; }\n };\n}\n\nfunction createObject() {\n return {};\n}\n\nfunction setObject(object, key, value) {\n object[key] = value;\n}\n\nfunction createMap() {\n return map();\n}\n\nfunction setMap(map, key, value) {\n map.set(key, value);\n}\n","import {default as map, prefix} from \"./map\";\n\nfunction Set() {}\n\nvar proto = map.prototype;\n\nSet.prototype = set.prototype = {\n constructor: Set,\n has: proto.has,\n add: function(value) {\n value += \"\";\n this[prefix + value] = value;\n return this;\n },\n remove: proto.remove,\n clear: proto.clear,\n values: proto.keys,\n size: proto.size,\n empty: proto.empty,\n each: proto.each\n};\n\nfunction set(object, f) {\n var set = new Set;\n\n // Copy constructor.\n if (object instanceof Set) object.each(function(value) { set.add(value); });\n\n // Otherwise, assume it’s an array.\n else if (object) {\n var i = -1, n = object.length;\n if (f == null) while (++i < n) set.add(object[i]);\n else while (++i < n) set.add(f(object[i], i, object));\n }\n\n return set;\n}\n\nexport default set;\n","export default function(map) {\n var keys = [];\n for (var key in map) keys.push(key);\n return keys;\n}\n","export default function(map) {\n var values = [];\n for (var key in map) values.push(map[key]);\n return values;\n}\n","export default function(map) {\n var entries = [];\n for (var key in map) entries.push({key: key, value: map[key]});\n return entries;\n}\n","var array = Array.prototype;\n\nexport var slice = array.slice;\n","export default function(a, b) {\n return a - b;\n}\n","export default function(ring) {\n var i = 0, n = ring.length, area = ring[n - 1][1] * ring[0][0] - ring[n - 1][0] * ring[0][1];\n while (++i < n) area += ring[i - 1][1] * ring[i][0] - ring[i - 1][0] * ring[i][1];\n return area;\n}\n","export default function(x) {\n return function() {\n return x;\n };\n}\n","export default function(ring, hole) {\n var i = -1, n = hole.length, c;\n while (++i < n) if (c = ringContains(ring, hole[i])) return c;\n return 0;\n}\n\nfunction ringContains(ring, point) {\n var x = point[0], y = point[1], contains = -1;\n for (var i = 0, n = ring.length, j = n - 1; i < n; j = i++) {\n var pi = ring[i], xi = pi[0], yi = pi[1], pj = ring[j], xj = pj[0], yj = pj[1];\n if (segmentContains(pi, pj, point)) return 0;\n if (((yi > y) !== (yj > y)) && ((x < (xj - xi) * (y - yi) / (yj - yi) + xi))) contains = -contains;\n }\n return contains;\n}\n\nfunction segmentContains(a, b, c) {\n var i; return collinear(a, b, c) && within(a[i = +(a[0] === b[0])], c[i], b[i]);\n}\n\nfunction collinear(a, b, c) {\n return (b[0] - a[0]) * (c[1] - a[1]) === (c[0] - a[0]) * (b[1] - a[1]);\n}\n\nfunction within(p, q, r) {\n return p <= q && q <= r || r <= q && q <= p;\n}\n","export default function() {}\n","import {extent, thresholdSturges, tickStep, range} from \"d3-array\";\nimport {slice} from \"./array\";\nimport ascending from \"./ascending\";\nimport area from \"./area\";\nimport constant from \"./constant\";\nimport contains from \"./contains\";\nimport noop from \"./noop\";\n\nvar cases = [\n [],\n [[[1.0, 1.5], [0.5, 1.0]]],\n [[[1.5, 1.0], [1.0, 1.5]]],\n [[[1.5, 1.0], [0.5, 1.0]]],\n [[[1.0, 0.5], [1.5, 1.0]]],\n [[[1.0, 1.5], [0.5, 1.0]], [[1.0, 0.5], [1.5, 1.0]]],\n [[[1.0, 0.5], [1.0, 1.5]]],\n [[[1.0, 0.5], [0.5, 1.0]]],\n [[[0.5, 1.0], [1.0, 0.5]]],\n [[[1.0, 1.5], [1.0, 0.5]]],\n [[[0.5, 1.0], [1.0, 0.5]], [[1.5, 1.0], [1.0, 1.5]]],\n [[[1.5, 1.0], [1.0, 0.5]]],\n [[[0.5, 1.0], [1.5, 1.0]]],\n [[[1.0, 1.5], [1.5, 1.0]]],\n [[[0.5, 1.0], [1.0, 1.5]]],\n []\n];\n\nexport default function() {\n var dx = 1,\n dy = 1,\n threshold = thresholdSturges,\n smooth = smoothLinear;\n\n function contours(values) {\n var tz = threshold(values);\n\n // Convert number of thresholds into uniform thresholds.\n if (!Array.isArray(tz)) {\n var domain = extent(values), start = domain[0], stop = domain[1];\n tz = tickStep(start, stop, tz);\n tz = range(Math.floor(start / tz) * tz, Math.floor(stop / tz) * tz, tz);\n } else {\n tz = tz.slice().sort(ascending);\n }\n\n return tz.map(function(value) {\n return contour(values, value);\n });\n }\n\n // Accumulate, smooth contour rings, assign holes to exterior rings.\n // Based on https://github.com/mbostock/shapefile/blob/v0.6.2/shp/polygon.js\n function contour(values, value) {\n var polygons = [],\n holes = [];\n\n isorings(values, value, function(ring) {\n smooth(ring, values, value);\n if (area(ring) > 0) polygons.push([ring]);\n else holes.push(ring);\n });\n\n holes.forEach(function(hole) {\n for (var i = 0, n = polygons.length, polygon; i < n; ++i) {\n if (contains((polygon = polygons[i])[0], hole) !== -1) {\n polygon.push(hole);\n return;\n }\n }\n });\n\n return {\n type: \"MultiPolygon\",\n value: value,\n coordinates: polygons\n };\n }\n\n // Marching squares with isolines stitched into rings.\n // Based on https://github.com/topojson/topojson-client/blob/v3.0.0/src/stitch.js\n function isorings(values, value, callback) {\n var fragmentByStart = new Array,\n fragmentByEnd = new Array,\n x, y, t0, t1, t2, t3;\n\n // Special case for the first row (y = -1, t2 = t3 = 0).\n x = y = -1;\n t1 = values[0] >= value;\n cases[t1 << 1].forEach(stitch);\n while (++x < dx - 1) {\n t0 = t1, t1 = values[x + 1] >= value;\n cases[t0 | t1 << 1].forEach(stitch);\n }\n cases[t1 << 0].forEach(stitch);\n\n // General case for the intermediate rows.\n while (++y < dy - 1) {\n x = -1;\n t1 = values[y * dx + dx] >= value;\n t2 = values[y * dx] >= value;\n cases[t1 << 1 | t2 << 2].forEach(stitch);\n while (++x < dx - 1) {\n t0 = t1, t1 = values[y * dx + dx + x + 1] >= value;\n t3 = t2, t2 = values[y * dx + x + 1] >= value;\n cases[t0 | t1 << 1 | t2 << 2 | t3 << 3].forEach(stitch);\n }\n cases[t1 | t2 << 3].forEach(stitch);\n }\n\n // Special case for the last row (y = dy - 1, t0 = t1 = 0).\n x = -1;\n t2 = values[y * dx] >= value;\n cases[t2 << 2].forEach(stitch);\n while (++x < dx - 1) {\n t3 = t2, t2 = values[y * dx + x + 1] >= value;\n cases[t2 << 2 | t3 << 3].forEach(stitch);\n }\n cases[t2 << 3].forEach(stitch);\n\n function stitch(line) {\n var start = [line[0][0] + x, line[0][1] + y],\n end = [line[1][0] + x, line[1][1] + y],\n startIndex = index(start),\n endIndex = index(end),\n f, g;\n if (f = fragmentByEnd[startIndex]) {\n if (g = fragmentByStart[endIndex]) {\n delete fragmentByEnd[f.end];\n delete fragmentByStart[g.start];\n if (f === g) {\n f.ring.push(end);\n callback(f.ring);\n } else {\n fragmentByStart[f.start] = fragmentByEnd[g.end] = {start: f.start, end: g.end, ring: f.ring.concat(g.ring)};\n }\n } else {\n delete fragmentByEnd[f.end];\n f.ring.push(end);\n fragmentByEnd[f.end = endIndex] = f;\n }\n } else if (f = fragmentByStart[endIndex]) {\n if (g = fragmentByEnd[startIndex]) {\n delete fragmentByStart[f.start];\n delete fragmentByEnd[g.end];\n if (f === g) {\n f.ring.push(end);\n callback(f.ring);\n } else {\n fragmentByStart[g.start] = fragmentByEnd[f.end] = {start: g.start, end: f.end, ring: g.ring.concat(f.ring)};\n }\n } else {\n delete fragmentByStart[f.start];\n f.ring.unshift(start);\n fragmentByStart[f.start = startIndex] = f;\n }\n } else {\n fragmentByStart[startIndex] = fragmentByEnd[endIndex] = {start: startIndex, end: endIndex, ring: [start, end]};\n }\n }\n }\n\n function index(point) {\n return point[0] * 2 + point[1] * (dx + 1) * 4;\n }\n\n function smoothLinear(ring, values, value) {\n ring.forEach(function(point) {\n var x = point[0],\n y = point[1],\n xt = x | 0,\n yt = y | 0,\n v0,\n v1 = values[yt * dx + xt];\n if (x > 0 && x < dx && xt === x) {\n v0 = values[yt * dx + xt - 1];\n point[0] = x + (value - v0) / (v1 - v0) - 0.5;\n }\n if (y > 0 && y < dy && yt === y) {\n v0 = values[(yt - 1) * dx + xt];\n point[1] = y + (value - v0) / (v1 - v0) - 0.5;\n }\n });\n }\n\n contours.contour = contour;\n\n contours.size = function(_) {\n if (!arguments.length) return [dx, dy];\n var _0 = Math.ceil(_[0]), _1 = Math.ceil(_[1]);\n if (!(_0 > 0) || !(_1 > 0)) throw new Error(\"invalid size\");\n return dx = _0, dy = _1, contours;\n };\n\n contours.thresholds = function(_) {\n return arguments.length ? (threshold = typeof _ === \"function\" ? _ : Array.isArray(_) ? constant(slice.call(_)) : constant(_), contours) : threshold;\n };\n\n contours.smooth = function(_) {\n return arguments.length ? (smooth = _ ? smoothLinear : noop, contours) : smooth === smoothLinear;\n };\n\n return contours;\n}\n","// TODO Optimize edge cases.\n// TODO Optimize index calculation.\n// TODO Optimize arguments.\nexport function blurX(source, target, r) {\n var n = source.width,\n m = source.height,\n w = (r << 1) + 1;\n for (var j = 0; j < m; ++j) {\n for (var i = 0, sr = 0; i < n + r; ++i) {\n if (i < n) {\n sr += source.data[i + j * n];\n }\n if (i >= r) {\n if (i >= w) {\n sr -= source.data[i - w + j * n];\n }\n target.data[i - r + j * n] = sr / Math.min(i + 1, n - 1 + w - i, w);\n }\n }\n }\n}\n\n// TODO Optimize edge cases.\n// TODO Optimize index calculation.\n// TODO Optimize arguments.\nexport function blurY(source, target, r) {\n var n = source.width,\n m = source.height,\n w = (r << 1) + 1;\n for (var i = 0; i < n; ++i) {\n for (var j = 0, sr = 0; j < m + r; ++j) {\n if (j < m) {\n sr += source.data[i + j * n];\n }\n if (j >= r) {\n if (j >= w) {\n sr -= source.data[i + (j - w) * n];\n }\n target.data[i + (j - r) * n] = sr / Math.min(j + 1, m - 1 + w - j, w);\n }\n }\n }\n}\n","import {max, range, tickStep} from \"d3-array\";\nimport {slice} from \"./array\";\nimport {blurX, blurY} from \"./blur\";\nimport constant from \"./constant\";\nimport contours from \"./contours\";\n\nfunction defaultX(d) {\n return d[0];\n}\n\nfunction defaultY(d) {\n return d[1];\n}\n\nexport default function() {\n var x = defaultX,\n y = defaultY,\n dx = 960,\n dy = 500,\n r = 20, // blur radius\n k = 2, // log2(grid cell size)\n o = r * 3, // grid offset, to pad for blur\n n = (dx + o * 2) >> k, // grid width\n m = (dy + o * 2) >> k, // grid height\n threshold = constant(20);\n\n function density(data) {\n var values0 = new Float32Array(n * m),\n values1 = new Float32Array(n * m);\n\n data.forEach(function(d, i, data) {\n var xi = (x(d, i, data) + o) >> k,\n yi = (y(d, i, data) + o) >> k;\n if (xi >= 0 && xi < n && yi >= 0 && yi < m) {\n ++values0[xi + yi * n];\n }\n });\n\n // TODO Optimize.\n blurX({width: n, height: m, data: values0}, {width: n, height: m, data: values1}, r >> k);\n blurY({width: n, height: m, data: values1}, {width: n, height: m, data: values0}, r >> k);\n blurX({width: n, height: m, data: values0}, {width: n, height: m, data: values1}, r >> k);\n blurY({width: n, height: m, data: values1}, {width: n, height: m, data: values0}, r >> k);\n blurX({width: n, height: m, data: values0}, {width: n, height: m, data: values1}, r >> k);\n blurY({width: n, height: m, data: values1}, {width: n, height: m, data: values0}, r >> k);\n\n var tz = threshold(values0);\n\n // Convert number of thresholds into uniform thresholds.\n if (!Array.isArray(tz)) {\n var stop = max(values0);\n tz = tickStep(0, stop, tz);\n tz = range(0, Math.floor(stop / tz) * tz, tz);\n tz.shift();\n }\n\n return contours()\n .thresholds(tz)\n .size([n, m])\n (values0)\n .map(transform);\n }\n\n function transform(geometry) {\n geometry.value *= Math.pow(2, -2 * k); // Density in points per square pixel.\n geometry.coordinates.forEach(transformPolygon);\n return geometry;\n }\n\n function transformPolygon(coordinates) {\n coordinates.forEach(transformRing);\n }\n\n function transformRing(coordinates) {\n coordinates.forEach(transformPoint);\n }\n\n // TODO Optimize.\n function transformPoint(coordinates) {\n coordinates[0] = coordinates[0] * Math.pow(2, k) - o;\n coordinates[1] = coordinates[1] * Math.pow(2, k) - o;\n }\n\n function resize() {\n o = r * 3;\n n = (dx + o * 2) >> k;\n m = (dy + o * 2) >> k;\n return density;\n }\n\n density.x = function(_) {\n return arguments.length ? (x = typeof _ === \"function\" ? _ : constant(+_), density) : x;\n };\n\n density.y = function(_) {\n return arguments.length ? (y = typeof _ === \"function\" ? _ : constant(+_), density) : y;\n };\n\n density.size = function(_) {\n if (!arguments.length) return [dx, dy];\n var _0 = Math.ceil(_[0]), _1 = Math.ceil(_[1]);\n if (!(_0 >= 0) && !(_0 >= 0)) throw new Error(\"invalid size\");\n return dx = _0, dy = _1, resize();\n };\n\n density.cellSize = function(_) {\n if (!arguments.length) return 1 << k;\n if (!((_ = +_) >= 1)) throw new Error(\"invalid cell size\");\n return k = Math.floor(Math.log(_) / Math.LN2), resize();\n };\n\n density.thresholds = function(_) {\n return arguments.length ? (threshold = typeof _ === \"function\" ? _ : Array.isArray(_) ? constant(slice.call(_)) : constant(_), density) : threshold;\n };\n\n density.bandwidth = function(_) {\n if (!arguments.length) return Math.sqrt(r * (r + 1));\n if (!((_ = +_) >= 0)) throw new Error(\"invalid bandwidth\");\n return r = Math.round((Math.sqrt(4 * _ * _ + 1) - 1) / 2), resize();\n };\n\n return density;\n}\n","var EOL = {},\n EOF = {},\n QUOTE = 34,\n NEWLINE = 10,\n RETURN = 13;\n\nfunction objectConverter(columns) {\n return new Function(\"d\", \"return {\" + columns.map(function(name, i) {\n return JSON.stringify(name) + \": d[\" + i + \"]\";\n }).join(\",\") + \"}\");\n}\n\nfunction customConverter(columns, f) {\n var object = objectConverter(columns);\n return function(row, i) {\n return f(object(row), i, columns);\n };\n}\n\n// Compute unique columns in order of discovery.\nfunction inferColumns(rows) {\n var columnSet = Object.create(null),\n columns = [];\n\n rows.forEach(function(row) {\n for (var column in row) {\n if (!(column in columnSet)) {\n columns.push(columnSet[column] = column);\n }\n }\n });\n\n return columns;\n}\n\nexport default function(delimiter) {\n var reFormat = new RegExp(\"[\\\"\" + delimiter + \"\\n\\r]\"),\n DELIMITER = delimiter.charCodeAt(0);\n\n function parse(text, f) {\n var convert, columns, rows = parseRows(text, function(row, i) {\n if (convert) return convert(row, i - 1);\n columns = row, convert = f ? customConverter(row, f) : objectConverter(row);\n });\n rows.columns = columns || [];\n return rows;\n }\n\n function parseRows(text, f) {\n var rows = [], // output rows\n N = text.length,\n I = 0, // current character index\n n = 0, // current line number\n t, // current token\n eof = N <= 0, // current token followed by EOF?\n eol = false; // current token followed by EOL?\n\n // Strip the trailing newline.\n if (text.charCodeAt(N - 1) === NEWLINE) --N;\n if (text.charCodeAt(N - 1) === RETURN) --N;\n\n function token() {\n if (eof) return EOF;\n if (eol) return eol = false, EOL;\n\n // Unescape quotes.\n var i, j = I, c;\n if (text.charCodeAt(j) === QUOTE) {\n while (I++ < N && text.charCodeAt(I) !== QUOTE || text.charCodeAt(++I) === QUOTE);\n if ((i = I) >= N) eof = true;\n else if ((c = text.charCodeAt(I++)) === NEWLINE) eol = true;\n else if (c === RETURN) { eol = true; if (text.charCodeAt(I) === NEWLINE) ++I; }\n return text.slice(j + 1, i - 1).replace(/\"\"/g, \"\\\"\");\n }\n\n // Find next delimiter or newline.\n while (I < N) {\n if ((c = text.charCodeAt(i = I++)) === NEWLINE) eol = true;\n else if (c === RETURN) { eol = true; if (text.charCodeAt(I) === NEWLINE) ++I; }\n else if (c !== DELIMITER) continue;\n return text.slice(j, i);\n }\n\n // Return last token before EOF.\n return eof = true, text.slice(j, N);\n }\n\n while ((t = token()) !== EOF) {\n var row = [];\n while (t !== EOL && t !== EOF) row.push(t), t = token();\n if (f && (row = f(row, n++)) == null) continue;\n rows.push(row);\n }\n\n return rows;\n }\n\n function format(rows, columns) {\n if (columns == null) columns = inferColumns(rows);\n return [columns.map(formatValue).join(delimiter)].concat(rows.map(function(row) {\n return columns.map(function(column) {\n return formatValue(row[column]);\n }).join(delimiter);\n })).join(\"\\n\");\n }\n\n function formatRows(rows) {\n return rows.map(formatRow).join(\"\\n\");\n }\n\n function formatRow(row) {\n return row.map(formatValue).join(delimiter);\n }\n\n function formatValue(text) {\n return text == null ? \"\"\n : reFormat.test(text += \"\") ? \"\\\"\" + text.replace(/\"/g, \"\\\"\\\"\") + \"\\\"\"\n : text;\n }\n\n return {\n parse: parse,\n parseRows: parseRows,\n format: format,\n formatRows: formatRows\n };\n}\n","import dsv from \"./dsv\";\n\nvar csv = dsv(\",\");\n\nexport var csvParse = csv.parse;\nexport var csvParseRows = csv.parseRows;\nexport var csvFormat = csv.format;\nexport var csvFormatRows = csv.formatRows;\n","import dsv from \"./dsv\";\n\nvar tsv = dsv(\"\\t\");\n\nexport var tsvParse = tsv.parse;\nexport var tsvParseRows = tsv.parseRows;\nexport var tsvFormat = tsv.format;\nexport var tsvFormatRows = tsv.formatRows;\n","function responseBlob(response) {\n if (!response.ok) throw new Error(response.status + \" \" + response.statusText);\n return response.blob();\n}\n\nexport default function(input, init) {\n return fetch(input, init).then(responseBlob);\n}\n","function responseArrayBuffer(response) {\n if (!response.ok) throw new Error(response.status + \" \" + response.statusText);\n return response.arrayBuffer();\n}\n\nexport default function(input, init) {\n return fetch(input, init).then(responseArrayBuffer);\n}\n","function responseText(response) {\n if (!response.ok) throw new Error(response.status + \" \" + response.statusText);\n return response.text();\n}\n\nexport default function(input, init) {\n return fetch(input, init).then(responseText);\n}\n","import {csvParse, dsvFormat, tsvParse} from \"d3-dsv\";\nimport text from \"./text\";\n\nfunction dsvParse(parse) {\n return function(input, init, row) {\n if (arguments.length === 2 && typeof init === \"function\") row = init, init = undefined;\n return text(input, init).then(function(response) {\n return parse(response, row);\n });\n };\n}\n\nexport default function dsv(delimiter, input, init, row) {\n if (arguments.length === 3 && typeof init === \"function\") row = init, init = undefined;\n var format = dsvFormat(delimiter);\n return text(input, init).then(function(response) {\n return format.parse(response, row);\n });\n}\n\nexport var csv = dsvParse(csvParse);\nexport var tsv = dsvParse(tsvParse);\n","export default function(input, init) {\n return new Promise(function(resolve, reject) {\n var image = new Image;\n for (var key in init) image[key] = init[key];\n image.onerror = reject;\n image.onload = function() { resolve(image); };\n image.src = input;\n });\n}\n","function responseJson(response) {\n if (!response.ok) throw new Error(response.status + \" \" + response.statusText);\n return response.json();\n}\n\nexport default function(input, init) {\n return fetch(input, init).then(responseJson);\n}\n","import text from \"./text\";\n\nfunction parser(type) {\n return function(input, init) {\n return text(input, init).then(function(text) {\n return (new DOMParser).parseFromString(text, type);\n });\n };\n}\n\nexport default parser(\"application/xml\");\n\nexport var html = parser(\"text/html\");\n\nexport var svg = parser(\"image/svg+xml\");\n","export default function(x, y) {\n var nodes;\n\n if (x == null) x = 0;\n if (y == null) y = 0;\n\n function force() {\n var i,\n n = nodes.length,\n node,\n sx = 0,\n sy = 0;\n\n for (i = 0; i < n; ++i) {\n node = nodes[i], sx += node.x, sy += node.y;\n }\n\n for (sx = sx / n - x, sy = sy / n - y, i = 0; i < n; ++i) {\n node = nodes[i], node.x -= sx, node.y -= sy;\n }\n }\n\n force.initialize = function(_) {\n nodes = _;\n };\n\n force.x = function(_) {\n return arguments.length ? (x = +_, force) : x;\n };\n\n force.y = function(_) {\n return arguments.length ? (y = +_, force) : y;\n };\n\n return force;\n}\n","export default function(x) {\n return function() {\n return x;\n };\n}\n","export default function() {\n return (Math.random() - 0.5) * 1e-6;\n}\n","export default function(d) {\n var x = +this._x.call(null, d),\n y = +this._y.call(null, d);\n return add(this.cover(x, y), x, y, d);\n}\n\nfunction add(tree, x, y, d) {\n if (isNaN(x) || isNaN(y)) return tree; // ignore invalid points\n\n var parent,\n node = tree._root,\n leaf = {data: d},\n x0 = tree._x0,\n y0 = tree._y0,\n x1 = tree._x1,\n y1 = tree._y1,\n xm,\n ym,\n xp,\n yp,\n right,\n bottom,\n i,\n j;\n\n // If the tree is empty, initialize the root as a leaf.\n if (!node) return tree._root = leaf, tree;\n\n // Find the existing leaf for the new point, or add it.\n while (node.length) {\n if (right = x >= (xm = (x0 + x1) / 2)) x0 = xm; else x1 = xm;\n if (bottom = y >= (ym = (y0 + y1) / 2)) y0 = ym; else y1 = ym;\n if (parent = node, !(node = node[i = bottom << 1 | right])) return parent[i] = leaf, tree;\n }\n\n // Is the new point is exactly coincident with the existing point?\n xp = +tree._x.call(null, node.data);\n yp = +tree._y.call(null, node.data);\n if (x === xp && y === yp) return leaf.next = node, parent ? parent[i] = leaf : tree._root = leaf, tree;\n\n // Otherwise, split the leaf node until the old and new point are separated.\n do {\n parent = parent ? parent[i] = new Array(4) : tree._root = new Array(4);\n if (right = x >= (xm = (x0 + x1) / 2)) x0 = xm; else x1 = xm;\n if (bottom = y >= (ym = (y0 + y1) / 2)) y0 = ym; else y1 = ym;\n } while ((i = bottom << 1 | right) === (j = (yp >= ym) << 1 | (xp >= xm)));\n return parent[j] = node, parent[i] = leaf, tree;\n}\n\nexport function addAll(data) {\n var d, i, n = data.length,\n x,\n y,\n xz = new Array(n),\n yz = new Array(n),\n x0 = Infinity,\n y0 = Infinity,\n x1 = -Infinity,\n y1 = -Infinity;\n\n // Compute the points and their extent.\n for (i = 0; i < n; ++i) {\n if (isNaN(x = +this._x.call(null, d = data[i])) || isNaN(y = +this._y.call(null, d))) continue;\n xz[i] = x;\n yz[i] = y;\n if (x < x0) x0 = x;\n if (x > x1) x1 = x;\n if (y < y0) y0 = y;\n if (y > y1) y1 = y;\n }\n\n // If there were no (valid) points, inherit the existing extent.\n if (x1 < x0) x0 = this._x0, x1 = this._x1;\n if (y1 < y0) y0 = this._y0, y1 = this._y1;\n\n // Expand the tree to cover the new points.\n this.cover(x0, y0).cover(x1, y1);\n\n // Add the new points.\n for (i = 0; i < n; ++i) {\n add(this, xz[i], yz[i], data[i]);\n }\n\n return this;\n}\n","export default function(x, y) {\n if (isNaN(x = +x) || isNaN(y = +y)) return this; // ignore invalid points\n\n var x0 = this._x0,\n y0 = this._y0,\n x1 = this._x1,\n y1 = this._y1;\n\n // If the quadtree has no extent, initialize them.\n // Integer extent are necessary so that if we later double the extent,\n // the existing quadrant boundaries don’t change due to floating point error!\n if (isNaN(x0)) {\n x1 = (x0 = Math.floor(x)) + 1;\n y1 = (y0 = Math.floor(y)) + 1;\n }\n\n // Otherwise, double repeatedly to cover.\n else if (x0 > x || x > x1 || y0 > y || y > y1) {\n var z = x1 - x0,\n node = this._root,\n parent,\n i;\n\n switch (i = (y < (y0 + y1) / 2) << 1 | (x < (x0 + x1) / 2)) {\n case 0: {\n do parent = new Array(4), parent[i] = node, node = parent;\n while (z *= 2, x1 = x0 + z, y1 = y0 + z, x > x1 || y > y1);\n break;\n }\n case 1: {\n do parent = new Array(4), parent[i] = node, node = parent;\n while (z *= 2, x0 = x1 - z, y1 = y0 + z, x0 > x || y > y1);\n break;\n }\n case 2: {\n do parent = new Array(4), parent[i] = node, node = parent;\n while (z *= 2, x1 = x0 + z, y0 = y1 - z, x > x1 || y0 > y);\n break;\n }\n case 3: {\n do parent = new Array(4), parent[i] = node, node = parent;\n while (z *= 2, x0 = x1 - z, y0 = y1 - z, x0 > x || y0 > y);\n break;\n }\n }\n\n if (this._root && this._root.length) this._root = node;\n }\n\n // If the quadtree covers the point already, just return.\n else return this;\n\n this._x0 = x0;\n this._y0 = y0;\n this._x1 = x1;\n this._y1 = y1;\n return this;\n}\n","export default function(node, x0, y0, x1, y1) {\n this.node = node;\n this.x0 = x0;\n this.y0 = y0;\n this.x1 = x1;\n this.y1 = y1;\n}\n","export function defaultX(d) {\n return d[0];\n}\n\nexport default function(_) {\n return arguments.length ? (this._x = _, this) : this._x;\n}\n","export function defaultY(d) {\n return d[1];\n}\n\nexport default function(_) {\n return arguments.length ? (this._y = _, this) : this._y;\n}\n","import tree_add, {addAll as tree_addAll} from \"./add\";\nimport tree_cover from \"./cover\";\nimport tree_data from \"./data\";\nimport tree_extent from \"./extent\";\nimport tree_find from \"./find\";\nimport tree_remove, {removeAll as tree_removeAll} from \"./remove\";\nimport tree_root from \"./root\";\nimport tree_size from \"./size\";\nimport tree_visit from \"./visit\";\nimport tree_visitAfter from \"./visitAfter\";\nimport tree_x, {defaultX} from \"./x\";\nimport tree_y, {defaultY} from \"./y\";\n\nexport default function quadtree(nodes, x, y) {\n var tree = new Quadtree(x == null ? defaultX : x, y == null ? defaultY : y, NaN, NaN, NaN, NaN);\n return nodes == null ? tree : tree.addAll(nodes);\n}\n\nfunction Quadtree(x, y, x0, y0, x1, y1) {\n this._x = x;\n this._y = y;\n this._x0 = x0;\n this._y0 = y0;\n this._x1 = x1;\n this._y1 = y1;\n this._root = undefined;\n}\n\nfunction leaf_copy(leaf) {\n var copy = {data: leaf.data}, next = copy;\n while (leaf = leaf.next) next = next.next = {data: leaf.data};\n return copy;\n}\n\nvar treeProto = quadtree.prototype = Quadtree.prototype;\n\ntreeProto.copy = function() {\n var copy = new Quadtree(this._x, this._y, this._x0, this._y0, this._x1, this._y1),\n node = this._root,\n nodes,\n child;\n\n if (!node) return copy;\n\n if (!node.length) return copy._root = leaf_copy(node), copy;\n\n nodes = [{source: node, target: copy._root = new Array(4)}];\n while (node = nodes.pop()) {\n for (var i = 0; i < 4; ++i) {\n if (child = node.source[i]) {\n if (child.length) nodes.push({source: child, target: node.target[i] = new Array(4)});\n else node.target[i] = leaf_copy(child);\n }\n }\n }\n\n return copy;\n};\n\ntreeProto.add = tree_add;\ntreeProto.addAll = tree_addAll;\ntreeProto.cover = tree_cover;\ntreeProto.data = tree_data;\ntreeProto.extent = tree_extent;\ntreeProto.find = tree_find;\ntreeProto.remove = tree_remove;\ntreeProto.removeAll = tree_removeAll;\ntreeProto.root = tree_root;\ntreeProto.size = tree_size;\ntreeProto.visit = tree_visit;\ntreeProto.visitAfter = tree_visitAfter;\ntreeProto.x = tree_x;\ntreeProto.y = tree_y;\n","import constant from \"./constant\";\nimport jiggle from \"./jiggle\";\nimport {quadtree} from \"d3-quadtree\";\n\nfunction x(d) {\n return d.x + d.vx;\n}\n\nfunction y(d) {\n return d.y + d.vy;\n}\n\nexport default function(radius) {\n var nodes,\n radii,\n strength = 1,\n iterations = 1;\n\n if (typeof radius !== \"function\") radius = constant(radius == null ? 1 : +radius);\n\n function force() {\n var i, n = nodes.length,\n tree,\n node,\n xi,\n yi,\n ri,\n ri2;\n\n for (var k = 0; k < iterations; ++k) {\n tree = quadtree(nodes, x, y).visitAfter(prepare);\n for (i = 0; i < n; ++i) {\n node = nodes[i];\n ri = radii[node.index], ri2 = ri * ri;\n xi = node.x + node.vx;\n yi = node.y + node.vy;\n tree.visit(apply);\n }\n }\n\n function apply(quad, x0, y0, x1, y1) {\n var data = quad.data, rj = quad.r, r = ri + rj;\n if (data) {\n if (data.index > node.index) {\n var x = xi - data.x - data.vx,\n y = yi - data.y - data.vy,\n l = x * x + y * y;\n if (l < r * r) {\n if (x === 0) x = jiggle(), l += x * x;\n if (y === 0) y = jiggle(), l += y * y;\n l = (r - (l = Math.sqrt(l))) / l * strength;\n node.vx += (x *= l) * (r = (rj *= rj) / (ri2 + rj));\n node.vy += (y *= l) * r;\n data.vx -= x * (r = 1 - r);\n data.vy -= y * r;\n }\n }\n return;\n }\n return x0 > xi + r || x1 < xi - r || y0 > yi + r || y1 < yi - r;\n }\n }\n\n function prepare(quad) {\n if (quad.data) return quad.r = radii[quad.data.index];\n for (var i = quad.r = 0; i < 4; ++i) {\n if (quad[i] && quad[i].r > quad.r) {\n quad.r = quad[i].r;\n }\n }\n }\n\n function initialize() {\n if (!nodes) return;\n var i, n = nodes.length, node;\n radii = new Array(n);\n for (i = 0; i < n; ++i) node = nodes[i], radii[node.index] = +radius(node, i, nodes);\n }\n\n force.initialize = function(_) {\n nodes = _;\n initialize();\n };\n\n force.iterations = function(_) {\n return arguments.length ? (iterations = +_, force) : iterations;\n };\n\n force.strength = function(_) {\n return arguments.length ? (strength = +_, force) : strength;\n };\n\n force.radius = function(_) {\n return arguments.length ? (radius = typeof _ === \"function\" ? _ : constant(+_), initialize(), force) : radius;\n };\n\n return force;\n}\n","export default function() {\n var data = [];\n this.visit(function(node) {\n if (!node.length) do data.push(node.data); while (node = node.next)\n });\n return data;\n}\n","export default function(_) {\n return arguments.length\n ? this.cover(+_[0][0], +_[0][1]).cover(+_[1][0], +_[1][1])\n : isNaN(this._x0) ? undefined : [[this._x0, this._y0], [this._x1, this._y1]];\n}\n","import Quad from \"./quad\";\n\nexport default function(x, y, radius) {\n var data,\n x0 = this._x0,\n y0 = this._y0,\n x1,\n y1,\n x2,\n y2,\n x3 = this._x1,\n y3 = this._y1,\n quads = [],\n node = this._root,\n q,\n i;\n\n if (node) quads.push(new Quad(node, x0, y0, x3, y3));\n if (radius == null) radius = Infinity;\n else {\n x0 = x - radius, y0 = y - radius;\n x3 = x + radius, y3 = y + radius;\n radius *= radius;\n }\n\n while (q = quads.pop()) {\n\n // Stop searching if this quadrant can’t contain a closer node.\n if (!(node = q.node)\n || (x1 = q.x0) > x3\n || (y1 = q.y0) > y3\n || (x2 = q.x1) < x0\n || (y2 = q.y1) < y0) continue;\n\n // Bisect the current quadrant.\n if (node.length) {\n var xm = (x1 + x2) / 2,\n ym = (y1 + y2) / 2;\n\n quads.push(\n new Quad(node[3], xm, ym, x2, y2),\n new Quad(node[2], x1, ym, xm, y2),\n new Quad(node[1], xm, y1, x2, ym),\n new Quad(node[0], x1, y1, xm, ym)\n );\n\n // Visit the closest quadrant first.\n if (i = (y >= ym) << 1 | (x >= xm)) {\n q = quads[quads.length - 1];\n quads[quads.length - 1] = quads[quads.length - 1 - i];\n quads[quads.length - 1 - i] = q;\n }\n }\n\n // Visit this point. (Visiting coincident points isn’t necessary!)\n else {\n var dx = x - +this._x.call(null, node.data),\n dy = y - +this._y.call(null, node.data),\n d2 = dx * dx + dy * dy;\n if (d2 < radius) {\n var d = Math.sqrt(radius = d2);\n x0 = x - d, y0 = y - d;\n x3 = x + d, y3 = y + d;\n data = node.data;\n }\n }\n }\n\n return data;\n}\n","export default function(d) {\n if (isNaN(x = +this._x.call(null, d)) || isNaN(y = +this._y.call(null, d))) return this; // ignore invalid points\n\n var parent,\n node = this._root,\n retainer,\n previous,\n next,\n x0 = this._x0,\n y0 = this._y0,\n x1 = this._x1,\n y1 = this._y1,\n x,\n y,\n xm,\n ym,\n right,\n bottom,\n i,\n j;\n\n // If the tree is empty, initialize the root as a leaf.\n if (!node) return this;\n\n // Find the leaf node for the point.\n // While descending, also retain the deepest parent with a non-removed sibling.\n if (node.length) while (true) {\n if (right = x >= (xm = (x0 + x1) / 2)) x0 = xm; else x1 = xm;\n if (bottom = y >= (ym = (y0 + y1) / 2)) y0 = ym; else y1 = ym;\n if (!(parent = node, node = node[i = bottom << 1 | right])) return this;\n if (!node.length) break;\n if (parent[(i + 1) & 3] || parent[(i + 2) & 3] || parent[(i + 3) & 3]) retainer = parent, j = i;\n }\n\n // Find the point to remove.\n while (node.data !== d) if (!(previous = node, node = node.next)) return this;\n if (next = node.next) delete node.next;\n\n // If there are multiple coincident points, remove just the point.\n if (previous) return (next ? previous.next = next : delete previous.next), this;\n\n // If this is the root point, remove it.\n if (!parent) return this._root = next, this;\n\n // Remove this leaf.\n next ? parent[i] = next : delete parent[i];\n\n // If the parent now contains exactly one leaf, collapse superfluous parents.\n if ((node = parent[0] || parent[1] || parent[2] || parent[3])\n && node === (parent[3] || parent[2] || parent[1] || parent[0])\n && !node.length) {\n if (retainer) retainer[j] = node;\n else this._root = node;\n }\n\n return this;\n}\n\nexport function removeAll(data) {\n for (var i = 0, n = data.length; i < n; ++i) this.remove(data[i]);\n return this;\n}\n","export default function() {\n return this._root;\n}\n","export default function() {\n var size = 0;\n this.visit(function(node) {\n if (!node.length) do ++size; while (node = node.next)\n });\n return size;\n}\n","import Quad from \"./quad\";\n\nexport default function(callback) {\n var quads = [], q, node = this._root, child, x0, y0, x1, y1;\n if (node) quads.push(new Quad(node, this._x0, this._y0, this._x1, this._y1));\n while (q = quads.pop()) {\n if (!callback(node = q.node, x0 = q.x0, y0 = q.y0, x1 = q.x1, y1 = q.y1) && node.length) {\n var xm = (x0 + x1) / 2, ym = (y0 + y1) / 2;\n if (child = node[3]) quads.push(new Quad(child, xm, ym, x1, y1));\n if (child = node[2]) quads.push(new Quad(child, x0, ym, xm, y1));\n if (child = node[1]) quads.push(new Quad(child, xm, y0, x1, ym));\n if (child = node[0]) quads.push(new Quad(child, x0, y0, xm, ym));\n }\n }\n return this;\n}\n","import Quad from \"./quad\";\n\nexport default function(callback) {\n var quads = [], next = [], q;\n if (this._root) quads.push(new Quad(this._root, this._x0, this._y0, this._x1, this._y1));\n while (q = quads.pop()) {\n var node = q.node;\n if (node.length) {\n var child, x0 = q.x0, y0 = q.y0, x1 = q.x1, y1 = q.y1, xm = (x0 + x1) / 2, ym = (y0 + y1) / 2;\n if (child = node[0]) quads.push(new Quad(child, x0, y0, xm, ym));\n if (child = node[1]) quads.push(new Quad(child, xm, y0, x1, ym));\n if (child = node[2]) quads.push(new Quad(child, x0, ym, xm, y1));\n if (child = node[3]) quads.push(new Quad(child, xm, ym, x1, y1));\n }\n next.push(q);\n }\n while (q = next.pop()) {\n callback(q.node, q.x0, q.y0, q.x1, q.y1);\n }\n return this;\n}\n","import constant from \"./constant\";\nimport jiggle from \"./jiggle\";\nimport {map} from \"d3-collection\";\n\nfunction index(d) {\n return d.index;\n}\n\nfunction find(nodeById, nodeId) {\n var node = nodeById.get(nodeId);\n if (!node) throw new Error(\"missing: \" + nodeId);\n return node;\n}\n\nexport default function(links) {\n var id = index,\n strength = defaultStrength,\n strengths,\n distance = constant(30),\n distances,\n nodes,\n count,\n bias,\n iterations = 1;\n\n if (links == null) links = [];\n\n function defaultStrength(link) {\n return 1 / Math.min(count[link.source.index], count[link.target.index]);\n }\n\n function force(alpha) {\n for (var k = 0, n = links.length; k < iterations; ++k) {\n for (var i = 0, link, source, target, x, y, l, b; i < n; ++i) {\n link = links[i], source = link.source, target = link.target;\n x = target.x + target.vx - source.x - source.vx || jiggle();\n y = target.y + target.vy - source.y - source.vy || jiggle();\n l = Math.sqrt(x * x + y * y);\n l = (l - distances[i]) / l * alpha * strengths[i];\n x *= l, y *= l;\n target.vx -= x * (b = bias[i]);\n target.vy -= y * b;\n source.vx += x * (b = 1 - b);\n source.vy += y * b;\n }\n }\n }\n\n function initialize() {\n if (!nodes) return;\n\n var i,\n n = nodes.length,\n m = links.length,\n nodeById = map(nodes, id),\n link;\n\n for (i = 0, count = new Array(n); i < m; ++i) {\n link = links[i], link.index = i;\n if (typeof link.source !== \"object\") link.source = find(nodeById, link.source);\n if (typeof link.target !== \"object\") link.target = find(nodeById, link.target);\n count[link.source.index] = (count[link.source.index] || 0) + 1;\n count[link.target.index] = (count[link.target.index] || 0) + 1;\n }\n\n for (i = 0, bias = new Array(m); i < m; ++i) {\n link = links[i], bias[i] = count[link.source.index] / (count[link.source.index] + count[link.target.index]);\n }\n\n strengths = new Array(m), initializeStrength();\n distances = new Array(m), initializeDistance();\n }\n\n function initializeStrength() {\n if (!nodes) return;\n\n for (var i = 0, n = links.length; i < n; ++i) {\n strengths[i] = +strength(links[i], i, links);\n }\n }\n\n function initializeDistance() {\n if (!nodes) return;\n\n for (var i = 0, n = links.length; i < n; ++i) {\n distances[i] = +distance(links[i], i, links);\n }\n }\n\n force.initialize = function(_) {\n nodes = _;\n initialize();\n };\n\n force.links = function(_) {\n return arguments.length ? (links = _, initialize(), force) : links;\n };\n\n force.id = function(_) {\n return arguments.length ? (id = _, force) : id;\n };\n\n force.iterations = function(_) {\n return arguments.length ? (iterations = +_, force) : iterations;\n };\n\n force.strength = function(_) {\n return arguments.length ? (strength = typeof _ === \"function\" ? _ : constant(+_), initializeStrength(), force) : strength;\n };\n\n force.distance = function(_) {\n return arguments.length ? (distance = typeof _ === \"function\" ? _ : constant(+_), initializeDistance(), force) : distance;\n };\n\n return force;\n}\n","import {dispatch} from \"d3-dispatch\";\nimport {map} from \"d3-collection\";\nimport {timer} from \"d3-timer\";\n\nexport function x(d) {\n return d.x;\n}\n\nexport function y(d) {\n return d.y;\n}\n\nvar initialRadius = 10,\n initialAngle = Math.PI * (3 - Math.sqrt(5));\n\nexport default function(nodes) {\n var simulation,\n alpha = 1,\n alphaMin = 0.001,\n alphaDecay = 1 - Math.pow(alphaMin, 1 / 300),\n alphaTarget = 0,\n velocityDecay = 0.6,\n forces = map(),\n stepper = timer(step),\n event = dispatch(\"tick\", \"end\");\n\n if (nodes == null) nodes = [];\n\n function step() {\n tick();\n event.call(\"tick\", simulation);\n if (alpha < alphaMin) {\n stepper.stop();\n event.call(\"end\", simulation);\n }\n }\n\n function tick() {\n var i, n = nodes.length, node;\n\n alpha += (alphaTarget - alpha) * alphaDecay;\n\n forces.each(function(force) {\n force(alpha);\n });\n\n for (i = 0; i < n; ++i) {\n node = nodes[i];\n if (node.fx == null) node.x += node.vx *= velocityDecay;\n else node.x = node.fx, node.vx = 0;\n if (node.fy == null) node.y += node.vy *= velocityDecay;\n else node.y = node.fy, node.vy = 0;\n }\n }\n\n function initializeNodes() {\n for (var i = 0, n = nodes.length, node; i < n; ++i) {\n node = nodes[i], node.index = i;\n if (isNaN(node.x) || isNaN(node.y)) {\n var radius = initialRadius * Math.sqrt(i), angle = i * initialAngle;\n node.x = radius * Math.cos(angle);\n node.y = radius * Math.sin(angle);\n }\n if (isNaN(node.vx) || isNaN(node.vy)) {\n node.vx = node.vy = 0;\n }\n }\n }\n\n function initializeForce(force) {\n if (force.initialize) force.initialize(nodes);\n return force;\n }\n\n initializeNodes();\n\n return simulation = {\n tick: tick,\n\n restart: function() {\n return stepper.restart(step), simulation;\n },\n\n stop: function() {\n return stepper.stop(), simulation;\n },\n\n nodes: function(_) {\n return arguments.length ? (nodes = _, initializeNodes(), forces.each(initializeForce), simulation) : nodes;\n },\n\n alpha: function(_) {\n return arguments.length ? (alpha = +_, simulation) : alpha;\n },\n\n alphaMin: function(_) {\n return arguments.length ? (alphaMin = +_, simulation) : alphaMin;\n },\n\n alphaDecay: function(_) {\n return arguments.length ? (alphaDecay = +_, simulation) : +alphaDecay;\n },\n\n alphaTarget: function(_) {\n return arguments.length ? (alphaTarget = +_, simulation) : alphaTarget;\n },\n\n velocityDecay: function(_) {\n return arguments.length ? (velocityDecay = 1 - _, simulation) : 1 - velocityDecay;\n },\n\n force: function(name, _) {\n return arguments.length > 1 ? ((_ == null ? forces.remove(name) : forces.set(name, initializeForce(_))), simulation) : forces.get(name);\n },\n\n find: function(x, y, radius) {\n var i = 0,\n n = nodes.length,\n dx,\n dy,\n d2,\n node,\n closest;\n\n if (radius == null) radius = Infinity;\n else radius *= radius;\n\n for (i = 0; i < n; ++i) {\n node = nodes[i];\n dx = x - node.x;\n dy = y - node.y;\n d2 = dx * dx + dy * dy;\n if (d2 < radius) closest = node, radius = d2;\n }\n\n return closest;\n },\n\n on: function(name, _) {\n return arguments.length > 1 ? (event.on(name, _), simulation) : event.on(name);\n }\n };\n}\n","import constant from \"./constant\";\nimport jiggle from \"./jiggle\";\nimport {quadtree} from \"d3-quadtree\";\nimport {x, y} from \"./simulation\";\n\nexport default function() {\n var nodes,\n node,\n alpha,\n strength = constant(-30),\n strengths,\n distanceMin2 = 1,\n distanceMax2 = Infinity,\n theta2 = 0.81;\n\n function force(_) {\n var i, n = nodes.length, tree = quadtree(nodes, x, y).visitAfter(accumulate);\n for (alpha = _, i = 0; i < n; ++i) node = nodes[i], tree.visit(apply);\n }\n\n function initialize() {\n if (!nodes) return;\n var i, n = nodes.length, node;\n strengths = new Array(n);\n for (i = 0; i < n; ++i) node = nodes[i], strengths[node.index] = +strength(node, i, nodes);\n }\n\n function accumulate(quad) {\n var strength = 0, q, c, weight = 0, x, y, i;\n\n // For internal nodes, accumulate forces from child quadrants.\n if (quad.length) {\n for (x = y = i = 0; i < 4; ++i) {\n if ((q = quad[i]) && (c = Math.abs(q.value))) {\n strength += q.value, weight += c, x += c * q.x, y += c * q.y;\n }\n }\n quad.x = x / weight;\n quad.y = y / weight;\n }\n\n // For leaf nodes, accumulate forces from coincident quadrants.\n else {\n q = quad;\n q.x = q.data.x;\n q.y = q.data.y;\n do strength += strengths[q.data.index];\n while (q = q.next);\n }\n\n quad.value = strength;\n }\n\n function apply(quad, x1, _, x2) {\n if (!quad.value) return true;\n\n var x = quad.x - node.x,\n y = quad.y - node.y,\n w = x2 - x1,\n l = x * x + y * y;\n\n // Apply the Barnes-Hut approximation if possible.\n // Limit forces for very close nodes; randomize direction if coincident.\n if (w * w / theta2 < l) {\n if (l < distanceMax2) {\n if (x === 0) x = jiggle(), l += x * x;\n if (y === 0) y = jiggle(), l += y * y;\n if (l < distanceMin2) l = Math.sqrt(distanceMin2 * l);\n node.vx += x * quad.value * alpha / l;\n node.vy += y * quad.value * alpha / l;\n }\n return true;\n }\n\n // Otherwise, process points directly.\n else if (quad.length || l >= distanceMax2) return;\n\n // Limit forces for very close nodes; randomize direction if coincident.\n if (quad.data !== node || quad.next) {\n if (x === 0) x = jiggle(), l += x * x;\n if (y === 0) y = jiggle(), l += y * y;\n if (l < distanceMin2) l = Math.sqrt(distanceMin2 * l);\n }\n\n do if (quad.data !== node) {\n w = strengths[quad.data.index] * alpha / l;\n node.vx += x * w;\n node.vy += y * w;\n } while (quad = quad.next);\n }\n\n force.initialize = function(_) {\n nodes = _;\n initialize();\n };\n\n force.strength = function(_) {\n return arguments.length ? (strength = typeof _ === \"function\" ? _ : constant(+_), initialize(), force) : strength;\n };\n\n force.distanceMin = function(_) {\n return arguments.length ? (distanceMin2 = _ * _, force) : Math.sqrt(distanceMin2);\n };\n\n force.distanceMax = function(_) {\n return arguments.length ? (distanceMax2 = _ * _, force) : Math.sqrt(distanceMax2);\n };\n\n force.theta = function(_) {\n return arguments.length ? (theta2 = _ * _, force) : Math.sqrt(theta2);\n };\n\n return force;\n}\n","import constant from \"./constant\";\n\nexport default function(radius, x, y) {\n var nodes,\n strength = constant(0.1),\n strengths,\n radiuses;\n\n if (typeof radius !== \"function\") radius = constant(+radius);\n if (x == null) x = 0;\n if (y == null) y = 0;\n\n function force(alpha) {\n for (var i = 0, n = nodes.length; i < n; ++i) {\n var node = nodes[i],\n dx = node.x - x || 1e-6,\n dy = node.y - y || 1e-6,\n r = Math.sqrt(dx * dx + dy * dy),\n k = (radiuses[i] - r) * strengths[i] * alpha / r;\n node.vx += dx * k;\n node.vy += dy * k;\n }\n }\n\n function initialize() {\n if (!nodes) return;\n var i, n = nodes.length;\n strengths = new Array(n);\n radiuses = new Array(n);\n for (i = 0; i < n; ++i) {\n radiuses[i] = +radius(nodes[i], i, nodes);\n strengths[i] = isNaN(radiuses[i]) ? 0 : +strength(nodes[i], i, nodes);\n }\n }\n\n force.initialize = function(_) {\n nodes = _, initialize();\n };\n\n force.strength = function(_) {\n return arguments.length ? (strength = typeof _ === \"function\" ? _ : constant(+_), initialize(), force) : strength;\n };\n\n force.radius = function(_) {\n return arguments.length ? (radius = typeof _ === \"function\" ? _ : constant(+_), initialize(), force) : radius;\n };\n\n force.x = function(_) {\n return arguments.length ? (x = +_, force) : x;\n };\n\n force.y = function(_) {\n return arguments.length ? (y = +_, force) : y;\n };\n\n return force;\n}\n","import constant from \"./constant\";\n\nexport default function(x) {\n var strength = constant(0.1),\n nodes,\n strengths,\n xz;\n\n if (typeof x !== \"function\") x = constant(x == null ? 0 : +x);\n\n function force(alpha) {\n for (var i = 0, n = nodes.length, node; i < n; ++i) {\n node = nodes[i], node.vx += (xz[i] - node.x) * strengths[i] * alpha;\n }\n }\n\n function initialize() {\n if (!nodes) return;\n var i, n = nodes.length;\n strengths = new Array(n);\n xz = new Array(n);\n for (i = 0; i < n; ++i) {\n strengths[i] = isNaN(xz[i] = +x(nodes[i], i, nodes)) ? 0 : +strength(nodes[i], i, nodes);\n }\n }\n\n force.initialize = function(_) {\n nodes = _;\n initialize();\n };\n\n force.strength = function(_) {\n return arguments.length ? (strength = typeof _ === \"function\" ? _ : constant(+_), initialize(), force) : strength;\n };\n\n force.x = function(_) {\n return arguments.length ? (x = typeof _ === \"function\" ? _ : constant(+_), initialize(), force) : x;\n };\n\n return force;\n}\n","import constant from \"./constant\";\n\nexport default function(y) {\n var strength = constant(0.1),\n nodes,\n strengths,\n yz;\n\n if (typeof y !== \"function\") y = constant(y == null ? 0 : +y);\n\n function force(alpha) {\n for (var i = 0, n = nodes.length, node; i < n; ++i) {\n node = nodes[i], node.vy += (yz[i] - node.y) * strengths[i] * alpha;\n }\n }\n\n function initialize() {\n if (!nodes) return;\n var i, n = nodes.length;\n strengths = new Array(n);\n yz = new Array(n);\n for (i = 0; i < n; ++i) {\n strengths[i] = isNaN(yz[i] = +y(nodes[i], i, nodes)) ? 0 : +strength(nodes[i], i, nodes);\n }\n }\n\n force.initialize = function(_) {\n nodes = _;\n initialize();\n };\n\n force.strength = function(_) {\n return arguments.length ? (strength = typeof _ === \"function\" ? _ : constant(+_), initialize(), force) : strength;\n };\n\n force.y = function(_) {\n return arguments.length ? (y = typeof _ === \"function\" ? _ : constant(+_), initialize(), force) : y;\n };\n\n return force;\n}\n","// Computes the decimal coefficient and exponent of the specified number x with\n// significant digits p, where x is positive and p is in [1, 21] or undefined.\n// For example, formatDecimal(1.23) returns [\"123\", 0].\nexport default function(x, p) {\n if ((i = (x = p ? x.toExponential(p - 1) : x.toExponential()).indexOf(\"e\")) < 0) return null; // NaN, ±Infinity\n var i, coefficient = x.slice(0, i);\n\n // The string returned by toExponential either has the form \\d\\.\\d+e[-+]\\d+\n // (e.g., 1.2e+3) or the form \\de[-+]\\d+ (e.g., 1e+3).\n return [\n coefficient.length > 1 ? coefficient[0] + coefficient.slice(2) : coefficient,\n +x.slice(i + 1)\n ];\n}\n","import formatDecimal from \"./formatDecimal\";\n\nexport default function(x) {\n return x = formatDecimal(Math.abs(x)), x ? x[1] : NaN;\n}\n","// [[fill]align][sign][symbol][0][width][,][.precision][~][type]\nvar re = /^(?:(.)?([<>=^]))?([+\\-\\( ])?([$#])?(0)?(\\d+)?(,)?(\\.\\d+)?(~)?([a-z%])?$/i;\n\nexport default function formatSpecifier(specifier) {\n return new FormatSpecifier(specifier);\n}\n\nformatSpecifier.prototype = FormatSpecifier.prototype; // instanceof\n\nfunction FormatSpecifier(specifier) {\n if (!(match = re.exec(specifier))) throw new Error(\"invalid format: \" + specifier);\n var match;\n this.fill = match[1] || \" \";\n this.align = match[2] || \">\";\n this.sign = match[3] || \"-\";\n this.symbol = match[4] || \"\";\n this.zero = !!match[5];\n this.width = match[6] && +match[6];\n this.comma = !!match[7];\n this.precision = match[8] && +match[8].slice(1);\n this.trim = !!match[9];\n this.type = match[10] || \"\";\n}\n\nFormatSpecifier.prototype.toString = function() {\n return this.fill\n + this.align\n + this.sign\n + this.symbol\n + (this.zero ? \"0\" : \"\")\n + (this.width == null ? \"\" : Math.max(1, this.width | 0))\n + (this.comma ? \",\" : \"\")\n + (this.precision == null ? \"\" : \".\" + Math.max(0, this.precision | 0))\n + (this.trim ? \"~\" : \"\")\n + this.type;\n};\n","// Trims insignificant zeros, e.g., replaces 1.2000k with 1.2k.\nexport default function(s) {\n out: for (var n = s.length, i = 1, i0 = -1, i1; i < n; ++i) {\n switch (s[i]) {\n case \".\": i0 = i1 = i; break;\n case \"0\": if (i0 === 0) i0 = i; i1 = i; break;\n default: if (i0 > 0) { if (!+s[i]) break out; i0 = 0; } break;\n }\n }\n return i0 > 0 ? s.slice(0, i0) + s.slice(i1 + 1) : s;\n}\n","import formatDecimal from \"./formatDecimal\";\n\nexport var prefixExponent;\n\nexport default function(x, p) {\n var d = formatDecimal(x, p);\n if (!d) return x + \"\";\n var coefficient = d[0],\n exponent = d[1],\n i = exponent - (prefixExponent = Math.max(-8, Math.min(8, Math.floor(exponent / 3))) * 3) + 1,\n n = coefficient.length;\n return i === n ? coefficient\n : i > n ? coefficient + new Array(i - n + 1).join(\"0\")\n : i > 0 ? coefficient.slice(0, i) + \".\" + coefficient.slice(i)\n : \"0.\" + new Array(1 - i).join(\"0\") + formatDecimal(x, Math.max(0, p + i - 1))[0]; // less than 1y!\n}\n","import formatLocale from \"./locale\";\n\nvar locale;\nexport var format;\nexport var formatPrefix;\n\ndefaultLocale({\n decimal: \".\",\n thousands: \",\",\n grouping: [3],\n currency: [\"$\", \"\"]\n});\n\nexport default function defaultLocale(definition) {\n locale = formatLocale(definition);\n format = locale.format;\n formatPrefix = locale.formatPrefix;\n return locale;\n}\n","import formatDecimal from \"./formatDecimal\";\n\nexport default function(x, p) {\n var d = formatDecimal(x, p);\n if (!d) return x + \"\";\n var coefficient = d[0],\n exponent = d[1];\n return exponent < 0 ? \"0.\" + new Array(-exponent).join(\"0\") + coefficient\n : coefficient.length > exponent + 1 ? coefficient.slice(0, exponent + 1) + \".\" + coefficient.slice(exponent + 1)\n : coefficient + new Array(exponent - coefficient.length + 2).join(\"0\");\n}\n","import formatPrefixAuto from \"./formatPrefixAuto\";\nimport formatRounded from \"./formatRounded\";\n\nexport default {\n \"%\": function(x, p) { return (x * 100).toFixed(p); },\n \"b\": function(x) { return Math.round(x).toString(2); },\n \"c\": function(x) { return x + \"\"; },\n \"d\": function(x) { return Math.round(x).toString(10); },\n \"e\": function(x, p) { return x.toExponential(p); },\n \"f\": function(x, p) { return x.toFixed(p); },\n \"g\": function(x, p) { return x.toPrecision(p); },\n \"o\": function(x) { return Math.round(x).toString(8); },\n \"p\": function(x, p) { return formatRounded(x * 100, p); },\n \"r\": formatRounded,\n \"s\": formatPrefixAuto,\n \"X\": function(x) { return Math.round(x).toString(16).toUpperCase(); },\n \"x\": function(x) { return Math.round(x).toString(16); }\n};\n","export default function(x) {\n return x;\n}\n","import exponent from \"./exponent\";\nimport formatGroup from \"./formatGroup\";\nimport formatNumerals from \"./formatNumerals\";\nimport formatSpecifier from \"./formatSpecifier\";\nimport formatTrim from \"./formatTrim\";\nimport formatTypes from \"./formatTypes\";\nimport {prefixExponent} from \"./formatPrefixAuto\";\nimport identity from \"./identity\";\n\nvar prefixes = [\"y\",\"z\",\"a\",\"f\",\"p\",\"n\",\"µ\",\"m\",\"\",\"k\",\"M\",\"G\",\"T\",\"P\",\"E\",\"Z\",\"Y\"];\n\nexport default function(locale) {\n var group = locale.grouping && locale.thousands ? formatGroup(locale.grouping, locale.thousands) : identity,\n currency = locale.currency,\n decimal = locale.decimal,\n numerals = locale.numerals ? formatNumerals(locale.numerals) : identity,\n percent = locale.percent || \"%\";\n\n function newFormat(specifier) {\n specifier = formatSpecifier(specifier);\n\n var fill = specifier.fill,\n align = specifier.align,\n sign = specifier.sign,\n symbol = specifier.symbol,\n zero = specifier.zero,\n width = specifier.width,\n comma = specifier.comma,\n precision = specifier.precision,\n trim = specifier.trim,\n type = specifier.type;\n\n // The \"n\" type is an alias for \",g\".\n if (type === \"n\") comma = true, type = \"g\";\n\n // The \"\" type, and any invalid type, is an alias for \".12~g\".\n else if (!formatTypes[type]) precision == null && (precision = 12), trim = true, type = \"g\";\n\n // If zero fill is specified, padding goes after sign and before digits.\n if (zero || (fill === \"0\" && align === \"=\")) zero = true, fill = \"0\", align = \"=\";\n\n // Compute the prefix and suffix.\n // For SI-prefix, the suffix is lazily computed.\n var prefix = symbol === \"$\" ? currency[0] : symbol === \"#\" && /[boxX]/.test(type) ? \"0\" + type.toLowerCase() : \"\",\n suffix = symbol === \"$\" ? currency[1] : /[%p]/.test(type) ? percent : \"\";\n\n // What format function should we use?\n // Is this an integer type?\n // Can this type generate exponential notation?\n var formatType = formatTypes[type],\n maybeSuffix = /[defgprs%]/.test(type);\n\n // Set the default precision if not specified,\n // or clamp the specified precision to the supported range.\n // For significant precision, it must be in [1, 21].\n // For fixed precision, it must be in [0, 20].\n precision = precision == null ? 6\n : /[gprs]/.test(type) ? Math.max(1, Math.min(21, precision))\n : Math.max(0, Math.min(20, precision));\n\n function format(value) {\n var valuePrefix = prefix,\n valueSuffix = suffix,\n i, n, c;\n\n if (type === \"c\") {\n valueSuffix = formatType(value) + valueSuffix;\n value = \"\";\n } else {\n value = +value;\n\n // Perform the initial formatting.\n var valueNegative = value < 0;\n value = formatType(Math.abs(value), precision);\n\n // Trim insignificant zeros.\n if (trim) value = formatTrim(value);\n\n // If a negative value rounds to zero during formatting, treat as positive.\n if (valueNegative && +value === 0) valueNegative = false;\n\n // Compute the prefix and suffix.\n valuePrefix = (valueNegative ? (sign === \"(\" ? sign : \"-\") : sign === \"-\" || sign === \"(\" ? \"\" : sign) + valuePrefix;\n valueSuffix = (type === \"s\" ? prefixes[8 + prefixExponent / 3] : \"\") + valueSuffix + (valueNegative && sign === \"(\" ? \")\" : \"\");\n\n // Break the formatted value into the integer “value” part that can be\n // grouped, and fractional or exponential “suffix” part that is not.\n if (maybeSuffix) {\n i = -1, n = value.length;\n while (++i < n) {\n if (c = value.charCodeAt(i), 48 > c || c > 57) {\n valueSuffix = (c === 46 ? decimal + value.slice(i + 1) : value.slice(i)) + valueSuffix;\n value = value.slice(0, i);\n break;\n }\n }\n }\n }\n\n // If the fill character is not \"0\", grouping is applied before padding.\n if (comma && !zero) value = group(value, Infinity);\n\n // Compute the padding.\n var length = valuePrefix.length + value.length + valueSuffix.length,\n padding = length < width ? new Array(width - length + 1).join(fill) : \"\";\n\n // If the fill character is \"0\", grouping is applied after padding.\n if (comma && zero) value = group(padding + value, padding.length ? width - valueSuffix.length : Infinity), padding = \"\";\n\n // Reconstruct the final output based on the desired alignment.\n switch (align) {\n case \"<\": value = valuePrefix + value + valueSuffix + padding; break;\n case \"=\": value = valuePrefix + padding + value + valueSuffix; break;\n case \"^\": value = padding.slice(0, length = padding.length >> 1) + valuePrefix + value + valueSuffix + padding.slice(length); break;\n default: value = padding + valuePrefix + value + valueSuffix; break;\n }\n\n return numerals(value);\n }\n\n format.toString = function() {\n return specifier + \"\";\n };\n\n return format;\n }\n\n function formatPrefix(specifier, value) {\n var f = newFormat((specifier = formatSpecifier(specifier), specifier.type = \"f\", specifier)),\n e = Math.max(-8, Math.min(8, Math.floor(exponent(value) / 3))) * 3,\n k = Math.pow(10, -e),\n prefix = prefixes[8 + e / 3];\n return function(value) {\n return f(k * value) + prefix;\n };\n }\n\n return {\n format: newFormat,\n formatPrefix: formatPrefix\n };\n}\n","export default function(grouping, thousands) {\n return function(value, width) {\n var i = value.length,\n t = [],\n j = 0,\n g = grouping[0],\n length = 0;\n\n while (i > 0 && g > 0) {\n if (length + g + 1 > width) g = Math.max(1, width - length);\n t.push(value.substring(i -= g, i + g));\n if ((length += g + 1) > width) break;\n g = grouping[j = (j + 1) % grouping.length];\n }\n\n return t.reverse().join(thousands);\n };\n}\n","export default function(numerals) {\n return function(value) {\n return value.replace(/[0-9]/g, function(i) {\n return numerals[+i];\n });\n };\n}\n","import exponent from \"./exponent\";\n\nexport default function(step) {\n return Math.max(0, -exponent(Math.abs(step)));\n}\n","import exponent from \"./exponent\";\n\nexport default function(step, value) {\n return Math.max(0, Math.max(-8, Math.min(8, Math.floor(exponent(value) / 3))) * 3 - exponent(Math.abs(step)));\n}\n","import exponent from \"./exponent\";\n\nexport default function(step, max) {\n step = Math.abs(step), max = Math.abs(max) - step;\n return Math.max(0, exponent(max) - exponent(step)) + 1;\n}\n","// Adds floating point numbers with twice the normal precision.\n// Reference: J. R. Shewchuk, Adaptive Precision Floating-Point Arithmetic and\n// Fast Robust Geometric Predicates, Discrete & Computational Geometry 18(3)\n// 305–363 (1997).\n// Code adapted from GeographicLib by Charles F. F. Karney,\n// http://geographiclib.sourceforge.net/\n\nexport default function() {\n return new Adder;\n}\n\nfunction Adder() {\n this.reset();\n}\n\nAdder.prototype = {\n constructor: Adder,\n reset: function() {\n this.s = // rounded value\n this.t = 0; // exact error\n },\n add: function(y) {\n add(temp, y, this.t);\n add(this, temp.s, this.s);\n if (this.s) this.t += temp.t;\n else this.s = temp.t;\n },\n valueOf: function() {\n return this.s;\n }\n};\n\nvar temp = new Adder;\n\nfunction add(adder, a, b) {\n var x = adder.s = a + b,\n bv = x - a,\n av = x - bv;\n adder.t = (a - av) + (b - bv);\n}\n","export var epsilon = 1e-6;\nexport var epsilon2 = 1e-12;\nexport var pi = Math.PI;\nexport var halfPi = pi / 2;\nexport var quarterPi = pi / 4;\nexport var tau = pi * 2;\n\nexport var degrees = 180 / pi;\nexport var radians = pi / 180;\n\nexport var abs = Math.abs;\nexport var atan = Math.atan;\nexport var atan2 = Math.atan2;\nexport var cos = Math.cos;\nexport var ceil = Math.ceil;\nexport var exp = Math.exp;\nexport var floor = Math.floor;\nexport var log = Math.log;\nexport var pow = Math.pow;\nexport var sin = Math.sin;\nexport var sign = Math.sign || function(x) { return x > 0 ? 1 : x < 0 ? -1 : 0; };\nexport var sqrt = Math.sqrt;\nexport var tan = Math.tan;\n\nexport function acos(x) {\n return x > 1 ? 0 : x < -1 ? pi : Math.acos(x);\n}\n\nexport function asin(x) {\n return x > 1 ? halfPi : x < -1 ? -halfPi : Math.asin(x);\n}\n\nexport function haversin(x) {\n return (x = sin(x / 2)) * x;\n}\n","export default function noop() {}\n","function streamGeometry(geometry, stream) {\n if (geometry && streamGeometryType.hasOwnProperty(geometry.type)) {\n streamGeometryType[geometry.type](geometry, stream);\n }\n}\n\nvar streamObjectType = {\n Feature: function(object, stream) {\n streamGeometry(object.geometry, stream);\n },\n FeatureCollection: function(object, stream) {\n var features = object.features, i = -1, n = features.length;\n while (++i < n) streamGeometry(features[i].geometry, stream);\n }\n};\n\nvar streamGeometryType = {\n Sphere: function(object, stream) {\n stream.sphere();\n },\n Point: function(object, stream) {\n object = object.coordinates;\n stream.point(object[0], object[1], object[2]);\n },\n MultiPoint: function(object, stream) {\n var coordinates = object.coordinates, i = -1, n = coordinates.length;\n while (++i < n) object = coordinates[i], stream.point(object[0], object[1], object[2]);\n },\n LineString: function(object, stream) {\n streamLine(object.coordinates, stream, 0);\n },\n MultiLineString: function(object, stream) {\n var coordinates = object.coordinates, i = -1, n = coordinates.length;\n while (++i < n) streamLine(coordinates[i], stream, 0);\n },\n Polygon: function(object, stream) {\n streamPolygon(object.coordinates, stream);\n },\n MultiPolygon: function(object, stream) {\n var coordinates = object.coordinates, i = -1, n = coordinates.length;\n while (++i < n) streamPolygon(coordinates[i], stream);\n },\n GeometryCollection: function(object, stream) {\n var geometries = object.geometries, i = -1, n = geometries.length;\n while (++i < n) streamGeometry(geometries[i], stream);\n }\n};\n\nfunction streamLine(coordinates, stream, closed) {\n var i = -1, n = coordinates.length - closed, coordinate;\n stream.lineStart();\n while (++i < n) coordinate = coordinates[i], stream.point(coordinate[0], coordinate[1], coordinate[2]);\n stream.lineEnd();\n}\n\nfunction streamPolygon(coordinates, stream) {\n var i = -1, n = coordinates.length;\n stream.polygonStart();\n while (++i < n) streamLine(coordinates[i], stream, 1);\n stream.polygonEnd();\n}\n\nexport default function(object, stream) {\n if (object && streamObjectType.hasOwnProperty(object.type)) {\n streamObjectType[object.type](object, stream);\n } else {\n streamGeometry(object, stream);\n }\n}\n","import adder from \"./adder\";\nimport {atan2, cos, quarterPi, radians, sin, tau} from \"./math\";\nimport noop from \"./noop\";\nimport stream from \"./stream\";\n\nexport var areaRingSum = adder();\n\nvar areaSum = adder(),\n lambda00,\n phi00,\n lambda0,\n cosPhi0,\n sinPhi0;\n\nexport var areaStream = {\n point: noop,\n lineStart: noop,\n lineEnd: noop,\n polygonStart: function() {\n areaRingSum.reset();\n areaStream.lineStart = areaRingStart;\n areaStream.lineEnd = areaRingEnd;\n },\n polygonEnd: function() {\n var areaRing = +areaRingSum;\n areaSum.add(areaRing < 0 ? tau + areaRing : areaRing);\n this.lineStart = this.lineEnd = this.point = noop;\n },\n sphere: function() {\n areaSum.add(tau);\n }\n};\n\nfunction areaRingStart() {\n areaStream.point = areaPointFirst;\n}\n\nfunction areaRingEnd() {\n areaPoint(lambda00, phi00);\n}\n\nfunction areaPointFirst(lambda, phi) {\n areaStream.point = areaPoint;\n lambda00 = lambda, phi00 = phi;\n lambda *= radians, phi *= radians;\n lambda0 = lambda, cosPhi0 = cos(phi = phi / 2 + quarterPi), sinPhi0 = sin(phi);\n}\n\nfunction areaPoint(lambda, phi) {\n lambda *= radians, phi *= radians;\n phi = phi / 2 + quarterPi; // half the angular distance from south pole\n\n // Spherical excess E for a spherical triangle with vertices: south pole,\n // previous point, current point. Uses a formula derived from Cagnoli’s\n // theorem. See Todhunter, Spherical Trig. (1871), Sec. 103, Eq. (2).\n var dLambda = lambda - lambda0,\n sdLambda = dLambda >= 0 ? 1 : -1,\n adLambda = sdLambda * dLambda,\n cosPhi = cos(phi),\n sinPhi = sin(phi),\n k = sinPhi0 * sinPhi,\n u = cosPhi0 * cosPhi + k * cos(adLambda),\n v = k * sdLambda * sin(adLambda);\n areaRingSum.add(atan2(v, u));\n\n // Advance the previous points.\n lambda0 = lambda, cosPhi0 = cosPhi, sinPhi0 = sinPhi;\n}\n\nexport default function(object) {\n areaSum.reset();\n stream(object, areaStream);\n return areaSum * 2;\n}\n","import {asin, atan2, cos, sin, sqrt} from \"./math\";\n\nexport function spherical(cartesian) {\n return [atan2(cartesian[1], cartesian[0]), asin(cartesian[2])];\n}\n\nexport function cartesian(spherical) {\n var lambda = spherical[0], phi = spherical[1], cosPhi = cos(phi);\n return [cosPhi * cos(lambda), cosPhi * sin(lambda), sin(phi)];\n}\n\nexport function cartesianDot(a, b) {\n return a[0] * b[0] + a[1] * b[1] + a[2] * b[2];\n}\n\nexport function cartesianCross(a, b) {\n return [a[1] * b[2] - a[2] * b[1], a[2] * b[0] - a[0] * b[2], a[0] * b[1] - a[1] * b[0]];\n}\n\n// TODO return a\nexport function cartesianAddInPlace(a, b) {\n a[0] += b[0], a[1] += b[1], a[2] += b[2];\n}\n\nexport function cartesianScale(vector, k) {\n return [vector[0] * k, vector[1] * k, vector[2] * k];\n}\n\n// TODO return d\nexport function cartesianNormalizeInPlace(d) {\n var l = sqrt(d[0] * d[0] + d[1] * d[1] + d[2] * d[2]);\n d[0] /= l, d[1] /= l, d[2] /= l;\n}\n","import adder from \"./adder\";\nimport {areaStream, areaRingSum} from \"./area\";\nimport {cartesian, cartesianCross, cartesianNormalizeInPlace, spherical} from \"./cartesian\";\nimport {abs, degrees, epsilon, radians} from \"./math\";\nimport stream from \"./stream\";\n\nvar lambda0, phi0, lambda1, phi1, // bounds\n lambda2, // previous lambda-coordinate\n lambda00, phi00, // first point\n p0, // previous 3D point\n deltaSum = adder(),\n ranges,\n range;\n\nvar boundsStream = {\n point: boundsPoint,\n lineStart: boundsLineStart,\n lineEnd: boundsLineEnd,\n polygonStart: function() {\n boundsStream.point = boundsRingPoint;\n boundsStream.lineStart = boundsRingStart;\n boundsStream.lineEnd = boundsRingEnd;\n deltaSum.reset();\n areaStream.polygonStart();\n },\n polygonEnd: function() {\n areaStream.polygonEnd();\n boundsStream.point = boundsPoint;\n boundsStream.lineStart = boundsLineStart;\n boundsStream.lineEnd = boundsLineEnd;\n if (areaRingSum < 0) lambda0 = -(lambda1 = 180), phi0 = -(phi1 = 90);\n else if (deltaSum > epsilon) phi1 = 90;\n else if (deltaSum < -epsilon) phi0 = -90;\n range[0] = lambda0, range[1] = lambda1;\n }\n};\n\nfunction boundsPoint(lambda, phi) {\n ranges.push(range = [lambda0 = lambda, lambda1 = lambda]);\n if (phi < phi0) phi0 = phi;\n if (phi > phi1) phi1 = phi;\n}\n\nfunction linePoint(lambda, phi) {\n var p = cartesian([lambda * radians, phi * radians]);\n if (p0) {\n var normal = cartesianCross(p0, p),\n equatorial = [normal[1], -normal[0], 0],\n inflection = cartesianCross(equatorial, normal);\n cartesianNormalizeInPlace(inflection);\n inflection = spherical(inflection);\n var delta = lambda - lambda2,\n sign = delta > 0 ? 1 : -1,\n lambdai = inflection[0] * degrees * sign,\n phii,\n antimeridian = abs(delta) > 180;\n if (antimeridian ^ (sign * lambda2 < lambdai && lambdai < sign * lambda)) {\n phii = inflection[1] * degrees;\n if (phii > phi1) phi1 = phii;\n } else if (lambdai = (lambdai + 360) % 360 - 180, antimeridian ^ (sign * lambda2 < lambdai && lambdai < sign * lambda)) {\n phii = -inflection[1] * degrees;\n if (phii < phi0) phi0 = phii;\n } else {\n if (phi < phi0) phi0 = phi;\n if (phi > phi1) phi1 = phi;\n }\n if (antimeridian) {\n if (lambda < lambda2) {\n if (angle(lambda0, lambda) > angle(lambda0, lambda1)) lambda1 = lambda;\n } else {\n if (angle(lambda, lambda1) > angle(lambda0, lambda1)) lambda0 = lambda;\n }\n } else {\n if (lambda1 >= lambda0) {\n if (lambda < lambda0) lambda0 = lambda;\n if (lambda > lambda1) lambda1 = lambda;\n } else {\n if (lambda > lambda2) {\n if (angle(lambda0, lambda) > angle(lambda0, lambda1)) lambda1 = lambda;\n } else {\n if (angle(lambda, lambda1) > angle(lambda0, lambda1)) lambda0 = lambda;\n }\n }\n }\n } else {\n ranges.push(range = [lambda0 = lambda, lambda1 = lambda]);\n }\n if (phi < phi0) phi0 = phi;\n if (phi > phi1) phi1 = phi;\n p0 = p, lambda2 = lambda;\n}\n\nfunction boundsLineStart() {\n boundsStream.point = linePoint;\n}\n\nfunction boundsLineEnd() {\n range[0] = lambda0, range[1] = lambda1;\n boundsStream.point = boundsPoint;\n p0 = null;\n}\n\nfunction boundsRingPoint(lambda, phi) {\n if (p0) {\n var delta = lambda - lambda2;\n deltaSum.add(abs(delta) > 180 ? delta + (delta > 0 ? 360 : -360) : delta);\n } else {\n lambda00 = lambda, phi00 = phi;\n }\n areaStream.point(lambda, phi);\n linePoint(lambda, phi);\n}\n\nfunction boundsRingStart() {\n areaStream.lineStart();\n}\n\nfunction boundsRingEnd() {\n boundsRingPoint(lambda00, phi00);\n areaStream.lineEnd();\n if (abs(deltaSum) > epsilon) lambda0 = -(lambda1 = 180);\n range[0] = lambda0, range[1] = lambda1;\n p0 = null;\n}\n\n// Finds the left-right distance between two longitudes.\n// This is almost the same as (lambda1 - lambda0 + 360°) % 360°, except that we want\n// the distance between ±180° to be 360°.\nfunction angle(lambda0, lambda1) {\n return (lambda1 -= lambda0) < 0 ? lambda1 + 360 : lambda1;\n}\n\nfunction rangeCompare(a, b) {\n return a[0] - b[0];\n}\n\nfunction rangeContains(range, x) {\n return range[0] <= range[1] ? range[0] <= x && x <= range[1] : x < range[0] || range[1] < x;\n}\n\nexport default function(feature) {\n var i, n, a, b, merged, deltaMax, delta;\n\n phi1 = lambda1 = -(lambda0 = phi0 = Infinity);\n ranges = [];\n stream(feature, boundsStream);\n\n // First, sort ranges by their minimum longitudes.\n if (n = ranges.length) {\n ranges.sort(rangeCompare);\n\n // Then, merge any ranges that overlap.\n for (i = 1, a = ranges[0], merged = [a]; i < n; ++i) {\n b = ranges[i];\n if (rangeContains(a, b[0]) || rangeContains(a, b[1])) {\n if (angle(a[0], b[1]) > angle(a[0], a[1])) a[1] = b[1];\n if (angle(b[0], a[1]) > angle(a[0], a[1])) a[0] = b[0];\n } else {\n merged.push(a = b);\n }\n }\n\n // Finally, find the largest gap between the merged ranges.\n // The final bounding box will be the inverse of this gap.\n for (deltaMax = -Infinity, n = merged.length - 1, i = 0, a = merged[n]; i <= n; a = b, ++i) {\n b = merged[i];\n if ((delta = angle(a[1], b[0])) > deltaMax) deltaMax = delta, lambda0 = b[0], lambda1 = a[1];\n }\n }\n\n ranges = range = null;\n\n return lambda0 === Infinity || phi0 === Infinity\n ? [[NaN, NaN], [NaN, NaN]]\n : [[lambda0, phi0], [lambda1, phi1]];\n}\n","import {asin, atan2, cos, degrees, epsilon, epsilon2, radians, sin, sqrt} from \"./math\";\nimport noop from \"./noop\";\nimport stream from \"./stream\";\n\nvar W0, W1,\n X0, Y0, Z0,\n X1, Y1, Z1,\n X2, Y2, Z2,\n lambda00, phi00, // first point\n x0, y0, z0; // previous point\n\nvar centroidStream = {\n sphere: noop,\n point: centroidPoint,\n lineStart: centroidLineStart,\n lineEnd: centroidLineEnd,\n polygonStart: function() {\n centroidStream.lineStart = centroidRingStart;\n centroidStream.lineEnd = centroidRingEnd;\n },\n polygonEnd: function() {\n centroidStream.lineStart = centroidLineStart;\n centroidStream.lineEnd = centroidLineEnd;\n }\n};\n\n// Arithmetic mean of Cartesian vectors.\nfunction centroidPoint(lambda, phi) {\n lambda *= radians, phi *= radians;\n var cosPhi = cos(phi);\n centroidPointCartesian(cosPhi * cos(lambda), cosPhi * sin(lambda), sin(phi));\n}\n\nfunction centroidPointCartesian(x, y, z) {\n ++W0;\n X0 += (x - X0) / W0;\n Y0 += (y - Y0) / W0;\n Z0 += (z - Z0) / W0;\n}\n\nfunction centroidLineStart() {\n centroidStream.point = centroidLinePointFirst;\n}\n\nfunction centroidLinePointFirst(lambda, phi) {\n lambda *= radians, phi *= radians;\n var cosPhi = cos(phi);\n x0 = cosPhi * cos(lambda);\n y0 = cosPhi * sin(lambda);\n z0 = sin(phi);\n centroidStream.point = centroidLinePoint;\n centroidPointCartesian(x0, y0, z0);\n}\n\nfunction centroidLinePoint(lambda, phi) {\n lambda *= radians, phi *= radians;\n var cosPhi = cos(phi),\n x = cosPhi * cos(lambda),\n y = cosPhi * sin(lambda),\n z = sin(phi),\n w = atan2(sqrt((w = y0 * z - z0 * y) * w + (w = z0 * x - x0 * z) * w + (w = x0 * y - y0 * x) * w), x0 * x + y0 * y + z0 * z);\n W1 += w;\n X1 += w * (x0 + (x0 = x));\n Y1 += w * (y0 + (y0 = y));\n Z1 += w * (z0 + (z0 = z));\n centroidPointCartesian(x0, y0, z0);\n}\n\nfunction centroidLineEnd() {\n centroidStream.point = centroidPoint;\n}\n\n// See J. E. Brock, The Inertia Tensor for a Spherical Triangle,\n// J. Applied Mechanics 42, 239 (1975).\nfunction centroidRingStart() {\n centroidStream.point = centroidRingPointFirst;\n}\n\nfunction centroidRingEnd() {\n centroidRingPoint(lambda00, phi00);\n centroidStream.point = centroidPoint;\n}\n\nfunction centroidRingPointFirst(lambda, phi) {\n lambda00 = lambda, phi00 = phi;\n lambda *= radians, phi *= radians;\n centroidStream.point = centroidRingPoint;\n var cosPhi = cos(phi);\n x0 = cosPhi * cos(lambda);\n y0 = cosPhi * sin(lambda);\n z0 = sin(phi);\n centroidPointCartesian(x0, y0, z0);\n}\n\nfunction centroidRingPoint(lambda, phi) {\n lambda *= radians, phi *= radians;\n var cosPhi = cos(phi),\n x = cosPhi * cos(lambda),\n y = cosPhi * sin(lambda),\n z = sin(phi),\n cx = y0 * z - z0 * y,\n cy = z0 * x - x0 * z,\n cz = x0 * y - y0 * x,\n m = sqrt(cx * cx + cy * cy + cz * cz),\n w = asin(m), // line weight = angle\n v = m && -w / m; // area weight multiplier\n X2 += v * cx;\n Y2 += v * cy;\n Z2 += v * cz;\n W1 += w;\n X1 += w * (x0 + (x0 = x));\n Y1 += w * (y0 + (y0 = y));\n Z1 += w * (z0 + (z0 = z));\n centroidPointCartesian(x0, y0, z0);\n}\n\nexport default function(object) {\n W0 = W1 =\n X0 = Y0 = Z0 =\n X1 = Y1 = Z1 =\n X2 = Y2 = Z2 = 0;\n stream(object, centroidStream);\n\n var x = X2,\n y = Y2,\n z = Z2,\n m = x * x + y * y + z * z;\n\n // If the area-weighted ccentroid is undefined, fall back to length-weighted ccentroid.\n if (m < epsilon2) {\n x = X1, y = Y1, z = Z1;\n // If the feature has zero length, fall back to arithmetic mean of point vectors.\n if (W1 < epsilon) x = X0, y = Y0, z = Z0;\n m = x * x + y * y + z * z;\n // If the feature still has an undefined ccentroid, then return.\n if (m < epsilon2) return [NaN, NaN];\n }\n\n return [atan2(y, x) * degrees, asin(z / sqrt(m)) * degrees];\n}\n","export default function(x) {\n return function() {\n return x;\n };\n}\n","export default function(a, b) {\n\n function compose(x, y) {\n return x = a(x, y), b(x[0], x[1]);\n }\n\n if (a.invert && b.invert) compose.invert = function(x, y) {\n return x = b.invert(x, y), x && a.invert(x[0], x[1]);\n };\n\n return compose;\n}\n","import compose from \"./compose\";\nimport {asin, atan2, cos, degrees, pi, radians, sin, tau} from \"./math\";\n\nfunction rotationIdentity(lambda, phi) {\n return [lambda > pi ? lambda - tau : lambda < -pi ? lambda + tau : lambda, phi];\n}\n\nrotationIdentity.invert = rotationIdentity;\n\nexport function rotateRadians(deltaLambda, deltaPhi, deltaGamma) {\n return (deltaLambda %= tau) ? (deltaPhi || deltaGamma ? compose(rotationLambda(deltaLambda), rotationPhiGamma(deltaPhi, deltaGamma))\n : rotationLambda(deltaLambda))\n : (deltaPhi || deltaGamma ? rotationPhiGamma(deltaPhi, deltaGamma)\n : rotationIdentity);\n}\n\nfunction forwardRotationLambda(deltaLambda) {\n return function(lambda, phi) {\n return lambda += deltaLambda, [lambda > pi ? lambda - tau : lambda < -pi ? lambda + tau : lambda, phi];\n };\n}\n\nfunction rotationLambda(deltaLambda) {\n var rotation = forwardRotationLambda(deltaLambda);\n rotation.invert = forwardRotationLambda(-deltaLambda);\n return rotation;\n}\n\nfunction rotationPhiGamma(deltaPhi, deltaGamma) {\n var cosDeltaPhi = cos(deltaPhi),\n sinDeltaPhi = sin(deltaPhi),\n cosDeltaGamma = cos(deltaGamma),\n sinDeltaGamma = sin(deltaGamma);\n\n function rotation(lambda, phi) {\n var cosPhi = cos(phi),\n x = cos(lambda) * cosPhi,\n y = sin(lambda) * cosPhi,\n z = sin(phi),\n k = z * cosDeltaPhi + x * sinDeltaPhi;\n return [\n atan2(y * cosDeltaGamma - k * sinDeltaGamma, x * cosDeltaPhi - z * sinDeltaPhi),\n asin(k * cosDeltaGamma + y * sinDeltaGamma)\n ];\n }\n\n rotation.invert = function(lambda, phi) {\n var cosPhi = cos(phi),\n x = cos(lambda) * cosPhi,\n y = sin(lambda) * cosPhi,\n z = sin(phi),\n k = z * cosDeltaGamma - y * sinDeltaGamma;\n return [\n atan2(y * cosDeltaGamma + z * sinDeltaGamma, x * cosDeltaPhi + k * sinDeltaPhi),\n asin(k * cosDeltaPhi - x * sinDeltaPhi)\n ];\n };\n\n return rotation;\n}\n\nexport default function(rotate) {\n rotate = rotateRadians(rotate[0] * radians, rotate[1] * radians, rotate.length > 2 ? rotate[2] * radians : 0);\n\n function forward(coordinates) {\n coordinates = rotate(coordinates[0] * radians, coordinates[1] * radians);\n return coordinates[0] *= degrees, coordinates[1] *= degrees, coordinates;\n }\n\n forward.invert = function(coordinates) {\n coordinates = rotate.invert(coordinates[0] * radians, coordinates[1] * radians);\n return coordinates[0] *= degrees, coordinates[1] *= degrees, coordinates;\n };\n\n return forward;\n}\n","import {cartesian, cartesianNormalizeInPlace, spherical} from \"./cartesian\";\nimport constant from \"./constant\";\nimport {acos, cos, degrees, epsilon, radians, sin, tau} from \"./math\";\nimport {rotateRadians} from \"./rotation\";\n\n// Generates a circle centered at [0°, 0°], with a given radius and precision.\nexport function circleStream(stream, radius, delta, direction, t0, t1) {\n if (!delta) return;\n var cosRadius = cos(radius),\n sinRadius = sin(radius),\n step = direction * delta;\n if (t0 == null) {\n t0 = radius + direction * tau;\n t1 = radius - step / 2;\n } else {\n t0 = circleRadius(cosRadius, t0);\n t1 = circleRadius(cosRadius, t1);\n if (direction > 0 ? t0 < t1 : t0 > t1) t0 += direction * tau;\n }\n for (var point, t = t0; direction > 0 ? t > t1 : t < t1; t -= step) {\n point = spherical([cosRadius, -sinRadius * cos(t), -sinRadius * sin(t)]);\n stream.point(point[0], point[1]);\n }\n}\n\n// Returns the signed angle of a cartesian point relative to [cosRadius, 0, 0].\nfunction circleRadius(cosRadius, point) {\n point = cartesian(point), point[0] -= cosRadius;\n cartesianNormalizeInPlace(point);\n var radius = acos(-point[1]);\n return ((-point[2] < 0 ? -radius : radius) + tau - epsilon) % tau;\n}\n\nexport default function() {\n var center = constant([0, 0]),\n radius = constant(90),\n precision = constant(6),\n ring,\n rotate,\n stream = {point: point};\n\n function point(x, y) {\n ring.push(x = rotate(x, y));\n x[0] *= degrees, x[1] *= degrees;\n }\n\n function circle() {\n var c = center.apply(this, arguments),\n r = radius.apply(this, arguments) * radians,\n p = precision.apply(this, arguments) * radians;\n ring = [];\n rotate = rotateRadians(-c[0] * radians, -c[1] * radians, 0).invert;\n circleStream(stream, r, p, 1);\n c = {type: \"Polygon\", coordinates: [ring]};\n ring = rotate = null;\n return c;\n }\n\n circle.center = function(_) {\n return arguments.length ? (center = typeof _ === \"function\" ? _ : constant([+_[0], +_[1]]), circle) : center;\n };\n\n circle.radius = function(_) {\n return arguments.length ? (radius = typeof _ === \"function\" ? _ : constant(+_), circle) : radius;\n };\n\n circle.precision = function(_) {\n return arguments.length ? (precision = typeof _ === \"function\" ? _ : constant(+_), circle) : precision;\n };\n\n return circle;\n}\n","import noop from \"../noop\";\n\nexport default function() {\n var lines = [],\n line;\n return {\n point: function(x, y) {\n line.push([x, y]);\n },\n lineStart: function() {\n lines.push(line = []);\n },\n lineEnd: noop,\n rejoin: function() {\n if (lines.length > 1) lines.push(lines.pop().concat(lines.shift()));\n },\n result: function() {\n var result = lines;\n lines = [];\n line = null;\n return result;\n }\n };\n}\n","import {abs, epsilon} from \"./math\";\n\nexport default function(a, b) {\n return abs(a[0] - b[0]) < epsilon && abs(a[1] - b[1]) < epsilon;\n}\n","import pointEqual from \"../pointEqual\";\n\nfunction Intersection(point, points, other, entry) {\n this.x = point;\n this.z = points;\n this.o = other; // another intersection\n this.e = entry; // is an entry?\n this.v = false; // visited\n this.n = this.p = null; // next & previous\n}\n\n// A generalized polygon clipping algorithm: given a polygon that has been cut\n// into its visible line segments, and rejoins the segments by interpolating\n// along the clip edge.\nexport default function(segments, compareIntersection, startInside, interpolate, stream) {\n var subject = [],\n clip = [],\n i,\n n;\n\n segments.forEach(function(segment) {\n if ((n = segment.length - 1) <= 0) return;\n var n, p0 = segment[0], p1 = segment[n], x;\n\n // If the first and last points of a segment are coincident, then treat as a\n // closed ring. TODO if all rings are closed, then the winding order of the\n // exterior ring should be checked.\n if (pointEqual(p0, p1)) {\n stream.lineStart();\n for (i = 0; i < n; ++i) stream.point((p0 = segment[i])[0], p0[1]);\n stream.lineEnd();\n return;\n }\n\n subject.push(x = new Intersection(p0, segment, null, true));\n clip.push(x.o = new Intersection(p0, null, x, false));\n subject.push(x = new Intersection(p1, segment, null, false));\n clip.push(x.o = new Intersection(p1, null, x, true));\n });\n\n if (!subject.length) return;\n\n clip.sort(compareIntersection);\n link(subject);\n link(clip);\n\n for (i = 0, n = clip.length; i < n; ++i) {\n clip[i].e = startInside = !startInside;\n }\n\n var start = subject[0],\n points,\n point;\n\n while (1) {\n // Find first unvisited intersection.\n var current = start,\n isSubject = true;\n while (current.v) if ((current = current.n) === start) return;\n points = current.z;\n stream.lineStart();\n do {\n current.v = current.o.v = true;\n if (current.e) {\n if (isSubject) {\n for (i = 0, n = points.length; i < n; ++i) stream.point((point = points[i])[0], point[1]);\n } else {\n interpolate(current.x, current.n.x, 1, stream);\n }\n current = current.n;\n } else {\n if (isSubject) {\n points = current.p.z;\n for (i = points.length - 1; i >= 0; --i) stream.point((point = points[i])[0], point[1]);\n } else {\n interpolate(current.x, current.p.x, -1, stream);\n }\n current = current.p;\n }\n current = current.o;\n points = current.z;\n isSubject = !isSubject;\n } while (!current.v);\n stream.lineEnd();\n }\n}\n\nfunction link(array) {\n if (!(n = array.length)) return;\n var n,\n i = 0,\n a = array[0],\n b;\n while (++i < n) {\n a.n = b = array[i];\n b.p = a;\n a = b;\n }\n a.n = b = array[0];\n b.p = a;\n}\n","import adder from \"./adder\";\nimport {cartesian, cartesianCross, cartesianNormalizeInPlace} from \"./cartesian\";\nimport {asin, atan2, cos, epsilon, halfPi, pi, quarterPi, sin, tau} from \"./math\";\n\nvar sum = adder();\n\nexport default function(polygon, point) {\n var lambda = point[0],\n phi = point[1],\n sinPhi = sin(phi),\n normal = [sin(lambda), -cos(lambda), 0],\n angle = 0,\n winding = 0;\n\n sum.reset();\n\n if (sinPhi === 1) phi = halfPi + epsilon;\n else if (sinPhi === -1) phi = -halfPi - epsilon;\n\n for (var i = 0, n = polygon.length; i < n; ++i) {\n if (!(m = (ring = polygon[i]).length)) continue;\n var ring,\n m,\n point0 = ring[m - 1],\n lambda0 = point0[0],\n phi0 = point0[1] / 2 + quarterPi,\n sinPhi0 = sin(phi0),\n cosPhi0 = cos(phi0);\n\n for (var j = 0; j < m; ++j, lambda0 = lambda1, sinPhi0 = sinPhi1, cosPhi0 = cosPhi1, point0 = point1) {\n var point1 = ring[j],\n lambda1 = point1[0],\n phi1 = point1[1] / 2 + quarterPi,\n sinPhi1 = sin(phi1),\n cosPhi1 = cos(phi1),\n delta = lambda1 - lambda0,\n sign = delta >= 0 ? 1 : -1,\n absDelta = sign * delta,\n antimeridian = absDelta > pi,\n k = sinPhi0 * sinPhi1;\n\n sum.add(atan2(k * sign * sin(absDelta), cosPhi0 * cosPhi1 + k * cos(absDelta)));\n angle += antimeridian ? delta + sign * tau : delta;\n\n // Are the longitudes either side of the point’s meridian (lambda),\n // and are the latitudes smaller than the parallel (phi)?\n if (antimeridian ^ lambda0 >= lambda ^ lambda1 >= lambda) {\n var arc = cartesianCross(cartesian(point0), cartesian(point1));\n cartesianNormalizeInPlace(arc);\n var intersection = cartesianCross(normal, arc);\n cartesianNormalizeInPlace(intersection);\n var phiArc = (antimeridian ^ delta >= 0 ? -1 : 1) * asin(intersection[2]);\n if (phi > phiArc || phi === phiArc && (arc[0] || arc[1])) {\n winding += antimeridian ^ delta >= 0 ? 1 : -1;\n }\n }\n }\n }\n\n // First, determine whether the South pole is inside or outside:\n //\n // It is inside if:\n // * the polygon winds around it in a clockwise direction.\n // * the polygon does not (cumulatively) wind around it, but has a negative\n // (counter-clockwise) area.\n //\n // Second, count the (signed) number of times a segment crosses a lambda\n // from the point to the South pole. If it is zero, then the point is the\n // same side as the South pole.\n\n return (angle < -epsilon || angle < epsilon && sum < -epsilon) ^ (winding & 1);\n}\n","import clipBuffer from \"./buffer\";\nimport clipRejoin from \"./rejoin\";\nimport {epsilon, halfPi} from \"../math\";\nimport polygonContains from \"../polygonContains\";\nimport {merge} from \"d3-array\";\n\nexport default function(pointVisible, clipLine, interpolate, start) {\n return function(sink) {\n var line = clipLine(sink),\n ringBuffer = clipBuffer(),\n ringSink = clipLine(ringBuffer),\n polygonStarted = false,\n polygon,\n segments,\n ring;\n\n var clip = {\n point: point,\n lineStart: lineStart,\n lineEnd: lineEnd,\n polygonStart: function() {\n clip.point = pointRing;\n clip.lineStart = ringStart;\n clip.lineEnd = ringEnd;\n segments = [];\n polygon = [];\n },\n polygonEnd: function() {\n clip.point = point;\n clip.lineStart = lineStart;\n clip.lineEnd = lineEnd;\n segments = merge(segments);\n var startInside = polygonContains(polygon, start);\n if (segments.length) {\n if (!polygonStarted) sink.polygonStart(), polygonStarted = true;\n clipRejoin(segments, compareIntersection, startInside, interpolate, sink);\n } else if (startInside) {\n if (!polygonStarted) sink.polygonStart(), polygonStarted = true;\n sink.lineStart();\n interpolate(null, null, 1, sink);\n sink.lineEnd();\n }\n if (polygonStarted) sink.polygonEnd(), polygonStarted = false;\n segments = polygon = null;\n },\n sphere: function() {\n sink.polygonStart();\n sink.lineStart();\n interpolate(null, null, 1, sink);\n sink.lineEnd();\n sink.polygonEnd();\n }\n };\n\n function point(lambda, phi) {\n if (pointVisible(lambda, phi)) sink.point(lambda, phi);\n }\n\n function pointLine(lambda, phi) {\n line.point(lambda, phi);\n }\n\n function lineStart() {\n clip.point = pointLine;\n line.lineStart();\n }\n\n function lineEnd() {\n clip.point = point;\n line.lineEnd();\n }\n\n function pointRing(lambda, phi) {\n ring.push([lambda, phi]);\n ringSink.point(lambda, phi);\n }\n\n function ringStart() {\n ringSink.lineStart();\n ring = [];\n }\n\n function ringEnd() {\n pointRing(ring[0][0], ring[0][1]);\n ringSink.lineEnd();\n\n var clean = ringSink.clean(),\n ringSegments = ringBuffer.result(),\n i, n = ringSegments.length, m,\n segment,\n point;\n\n ring.pop();\n polygon.push(ring);\n ring = null;\n\n if (!n) return;\n\n // No intersections.\n if (clean & 1) {\n segment = ringSegments[0];\n if ((m = segment.length - 1) > 0) {\n if (!polygonStarted) sink.polygonStart(), polygonStarted = true;\n sink.lineStart();\n for (i = 0; i < m; ++i) sink.point((point = segment[i])[0], point[1]);\n sink.lineEnd();\n }\n return;\n }\n\n // Rejoin connected segments.\n // TODO reuse ringBuffer.rejoin()?\n if (n > 1 && clean & 2) ringSegments.push(ringSegments.pop().concat(ringSegments.shift()));\n\n segments.push(ringSegments.filter(validSegment));\n }\n\n return clip;\n };\n}\n\nfunction validSegment(segment) {\n return segment.length > 1;\n}\n\n// Intersections are sorted along the clip edge. For both antimeridian cutting\n// and circle clipping, the same comparison is used.\nfunction compareIntersection(a, b) {\n return ((a = a.x)[0] < 0 ? a[1] - halfPi - epsilon : halfPi - a[1])\n - ((b = b.x)[0] < 0 ? b[1] - halfPi - epsilon : halfPi - b[1]);\n}\n","import clip from \"./index\";\nimport {abs, atan, cos, epsilon, halfPi, pi, sin} from \"../math\";\n\nexport default clip(\n function() { return true; },\n clipAntimeridianLine,\n clipAntimeridianInterpolate,\n [-pi, -halfPi]\n);\n\n// Takes a line and cuts into visible segments. Return values: 0 - there were\n// intersections or the line was empty; 1 - no intersections; 2 - there were\n// intersections, and the first and last segments should be rejoined.\nfunction clipAntimeridianLine(stream) {\n var lambda0 = NaN,\n phi0 = NaN,\n sign0 = NaN,\n clean; // no intersections\n\n return {\n lineStart: function() {\n stream.lineStart();\n clean = 1;\n },\n point: function(lambda1, phi1) {\n var sign1 = lambda1 > 0 ? pi : -pi,\n delta = abs(lambda1 - lambda0);\n if (abs(delta - pi) < epsilon) { // line crosses a pole\n stream.point(lambda0, phi0 = (phi0 + phi1) / 2 > 0 ? halfPi : -halfPi);\n stream.point(sign0, phi0);\n stream.lineEnd();\n stream.lineStart();\n stream.point(sign1, phi0);\n stream.point(lambda1, phi0);\n clean = 0;\n } else if (sign0 !== sign1 && delta >= pi) { // line crosses antimeridian\n if (abs(lambda0 - sign0) < epsilon) lambda0 -= sign0 * epsilon; // handle degeneracies\n if (abs(lambda1 - sign1) < epsilon) lambda1 -= sign1 * epsilon;\n phi0 = clipAntimeridianIntersect(lambda0, phi0, lambda1, phi1);\n stream.point(sign0, phi0);\n stream.lineEnd();\n stream.lineStart();\n stream.point(sign1, phi0);\n clean = 0;\n }\n stream.point(lambda0 = lambda1, phi0 = phi1);\n sign0 = sign1;\n },\n lineEnd: function() {\n stream.lineEnd();\n lambda0 = phi0 = NaN;\n },\n clean: function() {\n return 2 - clean; // if intersections, rejoin first and last segments\n }\n };\n}\n\nfunction clipAntimeridianIntersect(lambda0, phi0, lambda1, phi1) {\n var cosPhi0,\n cosPhi1,\n sinLambda0Lambda1 = sin(lambda0 - lambda1);\n return abs(sinLambda0Lambda1) > epsilon\n ? atan((sin(phi0) * (cosPhi1 = cos(phi1)) * sin(lambda1)\n - sin(phi1) * (cosPhi0 = cos(phi0)) * sin(lambda0))\n / (cosPhi0 * cosPhi1 * sinLambda0Lambda1))\n : (phi0 + phi1) / 2;\n}\n\nfunction clipAntimeridianInterpolate(from, to, direction, stream) {\n var phi;\n if (from == null) {\n phi = direction * halfPi;\n stream.point(-pi, phi);\n stream.point(0, phi);\n stream.point(pi, phi);\n stream.point(pi, 0);\n stream.point(pi, -phi);\n stream.point(0, -phi);\n stream.point(-pi, -phi);\n stream.point(-pi, 0);\n stream.point(-pi, phi);\n } else if (abs(from[0] - to[0]) > epsilon) {\n var lambda = from[0] < to[0] ? pi : -pi;\n phi = direction * lambda / 2;\n stream.point(-lambda, phi);\n stream.point(0, phi);\n stream.point(lambda, phi);\n } else {\n stream.point(to[0], to[1]);\n }\n}\n","import {cartesian, cartesianAddInPlace, cartesianCross, cartesianDot, cartesianScale, spherical} from \"../cartesian\";\nimport {circleStream} from \"../circle\";\nimport {abs, cos, epsilon, pi, radians, sqrt} from \"../math\";\nimport pointEqual from \"../pointEqual\";\nimport clip from \"./index\";\n\nexport default function(radius) {\n var cr = cos(radius),\n delta = 6 * radians,\n smallRadius = cr > 0,\n notHemisphere = abs(cr) > epsilon; // TODO optimise for this common case\n\n function interpolate(from, to, direction, stream) {\n circleStream(stream, radius, delta, direction, from, to);\n }\n\n function visible(lambda, phi) {\n return cos(lambda) * cos(phi) > cr;\n }\n\n // Takes a line and cuts into visible segments. Return values used for polygon\n // clipping: 0 - there were intersections or the line was empty; 1 - no\n // intersections 2 - there were intersections, and the first and last segments\n // should be rejoined.\n function clipLine(stream) {\n var point0, // previous point\n c0, // code for previous point\n v0, // visibility of previous point\n v00, // visibility of first point\n clean; // no intersections\n return {\n lineStart: function() {\n v00 = v0 = false;\n clean = 1;\n },\n point: function(lambda, phi) {\n var point1 = [lambda, phi],\n point2,\n v = visible(lambda, phi),\n c = smallRadius\n ? v ? 0 : code(lambda, phi)\n : v ? code(lambda + (lambda < 0 ? pi : -pi), phi) : 0;\n if (!point0 && (v00 = v0 = v)) stream.lineStart();\n // Handle degeneracies.\n // TODO ignore if not clipping polygons.\n if (v !== v0) {\n point2 = intersect(point0, point1);\n if (!point2 || pointEqual(point0, point2) || pointEqual(point1, point2)) {\n point1[0] += epsilon;\n point1[1] += epsilon;\n v = visible(point1[0], point1[1]);\n }\n }\n if (v !== v0) {\n clean = 0;\n if (v) {\n // outside going in\n stream.lineStart();\n point2 = intersect(point1, point0);\n stream.point(point2[0], point2[1]);\n } else {\n // inside going out\n point2 = intersect(point0, point1);\n stream.point(point2[0], point2[1]);\n stream.lineEnd();\n }\n point0 = point2;\n } else if (notHemisphere && point0 && smallRadius ^ v) {\n var t;\n // If the codes for two points are different, or are both zero,\n // and there this segment intersects with the small circle.\n if (!(c & c0) && (t = intersect(point1, point0, true))) {\n clean = 0;\n if (smallRadius) {\n stream.lineStart();\n stream.point(t[0][0], t[0][1]);\n stream.point(t[1][0], t[1][1]);\n stream.lineEnd();\n } else {\n stream.point(t[1][0], t[1][1]);\n stream.lineEnd();\n stream.lineStart();\n stream.point(t[0][0], t[0][1]);\n }\n }\n }\n if (v && (!point0 || !pointEqual(point0, point1))) {\n stream.point(point1[0], point1[1]);\n }\n point0 = point1, v0 = v, c0 = c;\n },\n lineEnd: function() {\n if (v0) stream.lineEnd();\n point0 = null;\n },\n // Rejoin first and last segments if there were intersections and the first\n // and last points were visible.\n clean: function() {\n return clean | ((v00 && v0) << 1);\n }\n };\n }\n\n // Intersects the great circle between a and b with the clip circle.\n function intersect(a, b, two) {\n var pa = cartesian(a),\n pb = cartesian(b);\n\n // We have two planes, n1.p = d1 and n2.p = d2.\n // Find intersection line p(t) = c1 n1 + c2 n2 + t (n1 ⨯ n2).\n var n1 = [1, 0, 0], // normal\n n2 = cartesianCross(pa, pb),\n n2n2 = cartesianDot(n2, n2),\n n1n2 = n2[0], // cartesianDot(n1, n2),\n determinant = n2n2 - n1n2 * n1n2;\n\n // Two polar points.\n if (!determinant) return !two && a;\n\n var c1 = cr * n2n2 / determinant,\n c2 = -cr * n1n2 / determinant,\n n1xn2 = cartesianCross(n1, n2),\n A = cartesianScale(n1, c1),\n B = cartesianScale(n2, c2);\n cartesianAddInPlace(A, B);\n\n // Solve |p(t)|^2 = 1.\n var u = n1xn2,\n w = cartesianDot(A, u),\n uu = cartesianDot(u, u),\n t2 = w * w - uu * (cartesianDot(A, A) - 1);\n\n if (t2 < 0) return;\n\n var t = sqrt(t2),\n q = cartesianScale(u, (-w - t) / uu);\n cartesianAddInPlace(q, A);\n q = spherical(q);\n\n if (!two) return q;\n\n // Two intersection points.\n var lambda0 = a[0],\n lambda1 = b[0],\n phi0 = a[1],\n phi1 = b[1],\n z;\n\n if (lambda1 < lambda0) z = lambda0, lambda0 = lambda1, lambda1 = z;\n\n var delta = lambda1 - lambda0,\n polar = abs(delta - pi) < epsilon,\n meridian = polar || delta < epsilon;\n\n if (!polar && phi1 < phi0) z = phi0, phi0 = phi1, phi1 = z;\n\n // Check that the first point is between a and b.\n if (meridian\n ? polar\n ? phi0 + phi1 > 0 ^ q[1] < (abs(q[0] - lambda0) < epsilon ? phi0 : phi1)\n : phi0 <= q[1] && q[1] <= phi1\n : delta > pi ^ (lambda0 <= q[0] && q[0] <= lambda1)) {\n var q1 = cartesianScale(u, (-w + t) / uu);\n cartesianAddInPlace(q1, A);\n return [q, spherical(q1)];\n }\n }\n\n // Generates a 4-bit vector representing the location of a point relative to\n // the small circle's bounding box.\n function code(lambda, phi) {\n var r = smallRadius ? radius : pi - radius,\n code = 0;\n if (lambda < -r) code |= 1; // left\n else if (lambda > r) code |= 2; // right\n if (phi < -r) code |= 4; // below\n else if (phi > r) code |= 8; // above\n return code;\n }\n\n return clip(visible, clipLine, interpolate, smallRadius ? [0, -radius] : [-pi, radius - pi]);\n}\n","export default function(a, b, x0, y0, x1, y1) {\n var ax = a[0],\n ay = a[1],\n bx = b[0],\n by = b[1],\n t0 = 0,\n t1 = 1,\n dx = bx - ax,\n dy = by - ay,\n r;\n\n r = x0 - ax;\n if (!dx && r > 0) return;\n r /= dx;\n if (dx < 0) {\n if (r < t0) return;\n if (r < t1) t1 = r;\n } else if (dx > 0) {\n if (r > t1) return;\n if (r > t0) t0 = r;\n }\n\n r = x1 - ax;\n if (!dx && r < 0) return;\n r /= dx;\n if (dx < 0) {\n if (r > t1) return;\n if (r > t0) t0 = r;\n } else if (dx > 0) {\n if (r < t0) return;\n if (r < t1) t1 = r;\n }\n\n r = y0 - ay;\n if (!dy && r > 0) return;\n r /= dy;\n if (dy < 0) {\n if (r < t0) return;\n if (r < t1) t1 = r;\n } else if (dy > 0) {\n if (r > t1) return;\n if (r > t0) t0 = r;\n }\n\n r = y1 - ay;\n if (!dy && r < 0) return;\n r /= dy;\n if (dy < 0) {\n if (r > t1) return;\n if (r > t0) t0 = r;\n } else if (dy > 0) {\n if (r < t0) return;\n if (r < t1) t1 = r;\n }\n\n if (t0 > 0) a[0] = ax + t0 * dx, a[1] = ay + t0 * dy;\n if (t1 < 1) b[0] = ax + t1 * dx, b[1] = ay + t1 * dy;\n return true;\n}\n","import {abs, epsilon} from \"../math\";\nimport clipBuffer from \"./buffer\";\nimport clipLine from \"./line\";\nimport clipRejoin from \"./rejoin\";\nimport {merge} from \"d3-array\";\n\nvar clipMax = 1e9, clipMin = -clipMax;\n\n// TODO Use d3-polygon’s polygonContains here for the ring check?\n// TODO Eliminate duplicate buffering in clipBuffer and polygon.push?\n\nexport default function clipRectangle(x0, y0, x1, y1) {\n\n function visible(x, y) {\n return x0 <= x && x <= x1 && y0 <= y && y <= y1;\n }\n\n function interpolate(from, to, direction, stream) {\n var a = 0, a1 = 0;\n if (from == null\n || (a = corner(from, direction)) !== (a1 = corner(to, direction))\n || comparePoint(from, to) < 0 ^ direction > 0) {\n do stream.point(a === 0 || a === 3 ? x0 : x1, a > 1 ? y1 : y0);\n while ((a = (a + direction + 4) % 4) !== a1);\n } else {\n stream.point(to[0], to[1]);\n }\n }\n\n function corner(p, direction) {\n return abs(p[0] - x0) < epsilon ? direction > 0 ? 0 : 3\n : abs(p[0] - x1) < epsilon ? direction > 0 ? 2 : 1\n : abs(p[1] - y0) < epsilon ? direction > 0 ? 1 : 0\n : direction > 0 ? 3 : 2; // abs(p[1] - y1) < epsilon\n }\n\n function compareIntersection(a, b) {\n return comparePoint(a.x, b.x);\n }\n\n function comparePoint(a, b) {\n var ca = corner(a, 1),\n cb = corner(b, 1);\n return ca !== cb ? ca - cb\n : ca === 0 ? b[1] - a[1]\n : ca === 1 ? a[0] - b[0]\n : ca === 2 ? a[1] - b[1]\n : b[0] - a[0];\n }\n\n return function(stream) {\n var activeStream = stream,\n bufferStream = clipBuffer(),\n segments,\n polygon,\n ring,\n x__, y__, v__, // first point\n x_, y_, v_, // previous point\n first,\n clean;\n\n var clipStream = {\n point: point,\n lineStart: lineStart,\n lineEnd: lineEnd,\n polygonStart: polygonStart,\n polygonEnd: polygonEnd\n };\n\n function point(x, y) {\n if (visible(x, y)) activeStream.point(x, y);\n }\n\n function polygonInside() {\n var winding = 0;\n\n for (var i = 0, n = polygon.length; i < n; ++i) {\n for (var ring = polygon[i], j = 1, m = ring.length, point = ring[0], a0, a1, b0 = point[0], b1 = point[1]; j < m; ++j) {\n a0 = b0, a1 = b1, point = ring[j], b0 = point[0], b1 = point[1];\n if (a1 <= y1) { if (b1 > y1 && (b0 - a0) * (y1 - a1) > (b1 - a1) * (x0 - a0)) ++winding; }\n else { if (b1 <= y1 && (b0 - a0) * (y1 - a1) < (b1 - a1) * (x0 - a0)) --winding; }\n }\n }\n\n return winding;\n }\n\n // Buffer geometry within a polygon and then clip it en masse.\n function polygonStart() {\n activeStream = bufferStream, segments = [], polygon = [], clean = true;\n }\n\n function polygonEnd() {\n var startInside = polygonInside(),\n cleanInside = clean && startInside,\n visible = (segments = merge(segments)).length;\n if (cleanInside || visible) {\n stream.polygonStart();\n if (cleanInside) {\n stream.lineStart();\n interpolate(null, null, 1, stream);\n stream.lineEnd();\n }\n if (visible) {\n clipRejoin(segments, compareIntersection, startInside, interpolate, stream);\n }\n stream.polygonEnd();\n }\n activeStream = stream, segments = polygon = ring = null;\n }\n\n function lineStart() {\n clipStream.point = linePoint;\n if (polygon) polygon.push(ring = []);\n first = true;\n v_ = false;\n x_ = y_ = NaN;\n }\n\n // TODO rather than special-case polygons, simply handle them separately.\n // Ideally, coincident intersection points should be jittered to avoid\n // clipping issues.\n function lineEnd() {\n if (segments) {\n linePoint(x__, y__);\n if (v__ && v_) bufferStream.rejoin();\n segments.push(bufferStream.result());\n }\n clipStream.point = point;\n if (v_) activeStream.lineEnd();\n }\n\n function linePoint(x, y) {\n var v = visible(x, y);\n if (polygon) ring.push([x, y]);\n if (first) {\n x__ = x, y__ = y, v__ = v;\n first = false;\n if (v) {\n activeStream.lineStart();\n activeStream.point(x, y);\n }\n } else {\n if (v && v_) activeStream.point(x, y);\n else {\n var a = [x_ = Math.max(clipMin, Math.min(clipMax, x_)), y_ = Math.max(clipMin, Math.min(clipMax, y_))],\n b = [x = Math.max(clipMin, Math.min(clipMax, x)), y = Math.max(clipMin, Math.min(clipMax, y))];\n if (clipLine(a, b, x0, y0, x1, y1)) {\n if (!v_) {\n activeStream.lineStart();\n activeStream.point(a[0], a[1]);\n }\n activeStream.point(b[0], b[1]);\n if (!v) activeStream.lineEnd();\n clean = false;\n } else if (v) {\n activeStream.lineStart();\n activeStream.point(x, y);\n clean = false;\n }\n }\n }\n x_ = x, y_ = y, v_ = v;\n }\n\n return clipStream;\n };\n}\n","import clipRectangle from \"./rectangle\";\n\nexport default function() {\n var x0 = 0,\n y0 = 0,\n x1 = 960,\n y1 = 500,\n cache,\n cacheStream,\n clip;\n\n return clip = {\n stream: function(stream) {\n return cache && cacheStream === stream ? cache : cache = clipRectangle(x0, y0, x1, y1)(cacheStream = stream);\n },\n extent: function(_) {\n return arguments.length ? (x0 = +_[0][0], y0 = +_[0][1], x1 = +_[1][0], y1 = +_[1][1], cache = cacheStream = null, clip) : [[x0, y0], [x1, y1]];\n }\n };\n}\n","import adder from \"./adder\";\nimport {abs, atan2, cos, radians, sin, sqrt} from \"./math\";\nimport noop from \"./noop\";\nimport stream from \"./stream\";\n\nvar lengthSum = adder(),\n lambda0,\n sinPhi0,\n cosPhi0;\n\nvar lengthStream = {\n sphere: noop,\n point: noop,\n lineStart: lengthLineStart,\n lineEnd: noop,\n polygonStart: noop,\n polygonEnd: noop\n};\n\nfunction lengthLineStart() {\n lengthStream.point = lengthPointFirst;\n lengthStream.lineEnd = lengthLineEnd;\n}\n\nfunction lengthLineEnd() {\n lengthStream.point = lengthStream.lineEnd = noop;\n}\n\nfunction lengthPointFirst(lambda, phi) {\n lambda *= radians, phi *= radians;\n lambda0 = lambda, sinPhi0 = sin(phi), cosPhi0 = cos(phi);\n lengthStream.point = lengthPoint;\n}\n\nfunction lengthPoint(lambda, phi) {\n lambda *= radians, phi *= radians;\n var sinPhi = sin(phi),\n cosPhi = cos(phi),\n delta = abs(lambda - lambda0),\n cosDelta = cos(delta),\n sinDelta = sin(delta),\n x = cosPhi * sinDelta,\n y = cosPhi0 * sinPhi - sinPhi0 * cosPhi * cosDelta,\n z = sinPhi0 * sinPhi + cosPhi0 * cosPhi * cosDelta;\n lengthSum.add(atan2(sqrt(x * x + y * y), z));\n lambda0 = lambda, sinPhi0 = sinPhi, cosPhi0 = cosPhi;\n}\n\nexport default function(object) {\n lengthSum.reset();\n stream(object, lengthStream);\n return +lengthSum;\n}\n","import length from \"./length\";\n\nvar coordinates = [null, null],\n object = {type: \"LineString\", coordinates: coordinates};\n\nexport default function(a, b) {\n coordinates[0] = a;\n coordinates[1] = b;\n return length(object);\n}\n","import {default as polygonContains} from \"./polygonContains\";\nimport {default as distance} from \"./distance\";\nimport {epsilon, radians} from \"./math\";\n\nvar containsObjectType = {\n Feature: function(object, point) {\n return containsGeometry(object.geometry, point);\n },\n FeatureCollection: function(object, point) {\n var features = object.features, i = -1, n = features.length;\n while (++i < n) if (containsGeometry(features[i].geometry, point)) return true;\n return false;\n }\n};\n\nvar containsGeometryType = {\n Sphere: function() {\n return true;\n },\n Point: function(object, point) {\n return containsPoint(object.coordinates, point);\n },\n MultiPoint: function(object, point) {\n var coordinates = object.coordinates, i = -1, n = coordinates.length;\n while (++i < n) if (containsPoint(coordinates[i], point)) return true;\n return false;\n },\n LineString: function(object, point) {\n return containsLine(object.coordinates, point);\n },\n MultiLineString: function(object, point) {\n var coordinates = object.coordinates, i = -1, n = coordinates.length;\n while (++i < n) if (containsLine(coordinates[i], point)) return true;\n return false;\n },\n Polygon: function(object, point) {\n return containsPolygon(object.coordinates, point);\n },\n MultiPolygon: function(object, point) {\n var coordinates = object.coordinates, i = -1, n = coordinates.length;\n while (++i < n) if (containsPolygon(coordinates[i], point)) return true;\n return false;\n },\n GeometryCollection: function(object, point) {\n var geometries = object.geometries, i = -1, n = geometries.length;\n while (++i < n) if (containsGeometry(geometries[i], point)) return true;\n return false;\n }\n};\n\nfunction containsGeometry(geometry, point) {\n return geometry && containsGeometryType.hasOwnProperty(geometry.type)\n ? containsGeometryType[geometry.type](geometry, point)\n : false;\n}\n\nfunction containsPoint(coordinates, point) {\n return distance(coordinates, point) === 0;\n}\n\nfunction containsLine(coordinates, point) {\n var ab = distance(coordinates[0], coordinates[1]),\n ao = distance(coordinates[0], point),\n ob = distance(point, coordinates[1]);\n return ao + ob <= ab + epsilon;\n}\n\nfunction containsPolygon(coordinates, point) {\n return !!polygonContains(coordinates.map(ringRadians), pointRadians(point));\n}\n\nfunction ringRadians(ring) {\n return ring = ring.map(pointRadians), ring.pop(), ring;\n}\n\nfunction pointRadians(point) {\n return [point[0] * radians, point[1] * radians];\n}\n\nexport default function(object, point) {\n return (object && containsObjectType.hasOwnProperty(object.type)\n ? containsObjectType[object.type]\n : containsGeometry)(object, point);\n}\n","import {range} from \"d3-array\";\nimport {abs, ceil, epsilon} from \"./math\";\n\nfunction graticuleX(y0, y1, dy) {\n var y = range(y0, y1 - epsilon, dy).concat(y1);\n return function(x) { return y.map(function(y) { return [x, y]; }); };\n}\n\nfunction graticuleY(x0, x1, dx) {\n var x = range(x0, x1 - epsilon, dx).concat(x1);\n return function(y) { return x.map(function(x) { return [x, y]; }); };\n}\n\nexport default function graticule() {\n var x1, x0, X1, X0,\n y1, y0, Y1, Y0,\n dx = 10, dy = dx, DX = 90, DY = 360,\n x, y, X, Y,\n precision = 2.5;\n\n function graticule() {\n return {type: \"MultiLineString\", coordinates: lines()};\n }\n\n function lines() {\n return range(ceil(X0 / DX) * DX, X1, DX).map(X)\n .concat(range(ceil(Y0 / DY) * DY, Y1, DY).map(Y))\n .concat(range(ceil(x0 / dx) * dx, x1, dx).filter(function(x) { return abs(x % DX) > epsilon; }).map(x))\n .concat(range(ceil(y0 / dy) * dy, y1, dy).filter(function(y) { return abs(y % DY) > epsilon; }).map(y));\n }\n\n graticule.lines = function() {\n return lines().map(function(coordinates) { return {type: \"LineString\", coordinates: coordinates}; });\n };\n\n graticule.outline = function() {\n return {\n type: \"Polygon\",\n coordinates: [\n X(X0).concat(\n Y(Y1).slice(1),\n X(X1).reverse().slice(1),\n Y(Y0).reverse().slice(1))\n ]\n };\n };\n\n graticule.extent = function(_) {\n if (!arguments.length) return graticule.extentMinor();\n return graticule.extentMajor(_).extentMinor(_);\n };\n\n graticule.extentMajor = function(_) {\n if (!arguments.length) return [[X0, Y0], [X1, Y1]];\n X0 = +_[0][0], X1 = +_[1][0];\n Y0 = +_[0][1], Y1 = +_[1][1];\n if (X0 > X1) _ = X0, X0 = X1, X1 = _;\n if (Y0 > Y1) _ = Y0, Y0 = Y1, Y1 = _;\n return graticule.precision(precision);\n };\n\n graticule.extentMinor = function(_) {\n if (!arguments.length) return [[x0, y0], [x1, y1]];\n x0 = +_[0][0], x1 = +_[1][0];\n y0 = +_[0][1], y1 = +_[1][1];\n if (x0 > x1) _ = x0, x0 = x1, x1 = _;\n if (y0 > y1) _ = y0, y0 = y1, y1 = _;\n return graticule.precision(precision);\n };\n\n graticule.step = function(_) {\n if (!arguments.length) return graticule.stepMinor();\n return graticule.stepMajor(_).stepMinor(_);\n };\n\n graticule.stepMajor = function(_) {\n if (!arguments.length) return [DX, DY];\n DX = +_[0], DY = +_[1];\n return graticule;\n };\n\n graticule.stepMinor = function(_) {\n if (!arguments.length) return [dx, dy];\n dx = +_[0], dy = +_[1];\n return graticule;\n };\n\n graticule.precision = function(_) {\n if (!arguments.length) return precision;\n precision = +_;\n x = graticuleX(y0, y1, 90);\n y = graticuleY(x0, x1, precision);\n X = graticuleX(Y0, Y1, 90);\n Y = graticuleY(X0, X1, precision);\n return graticule;\n };\n\n return graticule\n .extentMajor([[-180, -90 + epsilon], [180, 90 - epsilon]])\n .extentMinor([[-180, -80 - epsilon], [180, 80 + epsilon]]);\n}\n\nexport function graticule10() {\n return graticule()();\n}\n","import {asin, atan2, cos, degrees, haversin, radians, sin, sqrt} from \"./math\";\n\nexport default function(a, b) {\n var x0 = a[0] * radians,\n y0 = a[1] * radians,\n x1 = b[0] * radians,\n y1 = b[1] * radians,\n cy0 = cos(y0),\n sy0 = sin(y0),\n cy1 = cos(y1),\n sy1 = sin(y1),\n kx0 = cy0 * cos(x0),\n ky0 = cy0 * sin(x0),\n kx1 = cy1 * cos(x1),\n ky1 = cy1 * sin(x1),\n d = 2 * asin(sqrt(haversin(y1 - y0) + cy0 * cy1 * haversin(x1 - x0))),\n k = sin(d);\n\n var interpolate = d ? function(t) {\n var B = sin(t *= d) / k,\n A = sin(d - t) / k,\n x = A * kx0 + B * kx1,\n y = A * ky0 + B * ky1,\n z = A * sy0 + B * sy1;\n return [\n atan2(y, x) * degrees,\n atan2(z, sqrt(x * x + y * y)) * degrees\n ];\n } : function() {\n return [x0 * degrees, y0 * degrees];\n };\n\n interpolate.distance = d;\n\n return interpolate;\n}\n","import adder from \"../adder\";\nimport {abs} from \"../math\";\nimport noop from \"../noop\";\n\nvar areaSum = adder(),\n areaRingSum = adder(),\n x00,\n y00,\n x0,\n y0;\n\nvar areaStream = {\n point: noop,\n lineStart: noop,\n lineEnd: noop,\n polygonStart: function() {\n areaStream.lineStart = areaRingStart;\n areaStream.lineEnd = areaRingEnd;\n },\n polygonEnd: function() {\n areaStream.lineStart = areaStream.lineEnd = areaStream.point = noop;\n areaSum.add(abs(areaRingSum));\n areaRingSum.reset();\n },\n result: function() {\n var area = areaSum / 2;\n areaSum.reset();\n return area;\n }\n};\n\nfunction areaRingStart() {\n areaStream.point = areaPointFirst;\n}\n\nfunction areaPointFirst(x, y) {\n areaStream.point = areaPoint;\n x00 = x0 = x, y00 = y0 = y;\n}\n\nfunction areaPoint(x, y) {\n areaRingSum.add(y0 * x - x0 * y);\n x0 = x, y0 = y;\n}\n\nfunction areaRingEnd() {\n areaPoint(x00, y00);\n}\n\nexport default areaStream;\n","export default function(x) {\n return x;\n}\n","import noop from \"../noop\";\n\nvar x0 = Infinity,\n y0 = x0,\n x1 = -x0,\n y1 = x1;\n\nvar boundsStream = {\n point: boundsPoint,\n lineStart: noop,\n lineEnd: noop,\n polygonStart: noop,\n polygonEnd: noop,\n result: function() {\n var bounds = [[x0, y0], [x1, y1]];\n x1 = y1 = -(y0 = x0 = Infinity);\n return bounds;\n }\n};\n\nfunction boundsPoint(x, y) {\n if (x < x0) x0 = x;\n if (x > x1) x1 = x;\n if (y < y0) y0 = y;\n if (y > y1) y1 = y;\n}\n\nexport default boundsStream;\n","import {sqrt} from \"../math\";\n\n// TODO Enforce positive area for exterior, negative area for interior?\n\nvar X0 = 0,\n Y0 = 0,\n Z0 = 0,\n X1 = 0,\n Y1 = 0,\n Z1 = 0,\n X2 = 0,\n Y2 = 0,\n Z2 = 0,\n x00,\n y00,\n x0,\n y0;\n\nvar centroidStream = {\n point: centroidPoint,\n lineStart: centroidLineStart,\n lineEnd: centroidLineEnd,\n polygonStart: function() {\n centroidStream.lineStart = centroidRingStart;\n centroidStream.lineEnd = centroidRingEnd;\n },\n polygonEnd: function() {\n centroidStream.point = centroidPoint;\n centroidStream.lineStart = centroidLineStart;\n centroidStream.lineEnd = centroidLineEnd;\n },\n result: function() {\n var centroid = Z2 ? [X2 / Z2, Y2 / Z2]\n : Z1 ? [X1 / Z1, Y1 / Z1]\n : Z0 ? [X0 / Z0, Y0 / Z0]\n : [NaN, NaN];\n X0 = Y0 = Z0 =\n X1 = Y1 = Z1 =\n X2 = Y2 = Z2 = 0;\n return centroid;\n }\n};\n\nfunction centroidPoint(x, y) {\n X0 += x;\n Y0 += y;\n ++Z0;\n}\n\nfunction centroidLineStart() {\n centroidStream.point = centroidPointFirstLine;\n}\n\nfunction centroidPointFirstLine(x, y) {\n centroidStream.point = centroidPointLine;\n centroidPoint(x0 = x, y0 = y);\n}\n\nfunction centroidPointLine(x, y) {\n var dx = x - x0, dy = y - y0, z = sqrt(dx * dx + dy * dy);\n X1 += z * (x0 + x) / 2;\n Y1 += z * (y0 + y) / 2;\n Z1 += z;\n centroidPoint(x0 = x, y0 = y);\n}\n\nfunction centroidLineEnd() {\n centroidStream.point = centroidPoint;\n}\n\nfunction centroidRingStart() {\n centroidStream.point = centroidPointFirstRing;\n}\n\nfunction centroidRingEnd() {\n centroidPointRing(x00, y00);\n}\n\nfunction centroidPointFirstRing(x, y) {\n centroidStream.point = centroidPointRing;\n centroidPoint(x00 = x0 = x, y00 = y0 = y);\n}\n\nfunction centroidPointRing(x, y) {\n var dx = x - x0,\n dy = y - y0,\n z = sqrt(dx * dx + dy * dy);\n\n X1 += z * (x0 + x) / 2;\n Y1 += z * (y0 + y) / 2;\n Z1 += z;\n\n z = y0 * x - x0 * y;\n X2 += z * (x0 + x);\n Y2 += z * (y0 + y);\n Z2 += z * 3;\n centroidPoint(x0 = x, y0 = y);\n}\n\nexport default centroidStream;\n","import {tau} from \"../math\";\nimport noop from \"../noop\";\n\nexport default function PathContext(context) {\n this._context = context;\n}\n\nPathContext.prototype = {\n _radius: 4.5,\n pointRadius: function(_) {\n return this._radius = _, this;\n },\n polygonStart: function() {\n this._line = 0;\n },\n polygonEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._point = 0;\n },\n lineEnd: function() {\n if (this._line === 0) this._context.closePath();\n this._point = NaN;\n },\n point: function(x, y) {\n switch (this._point) {\n case 0: {\n this._context.moveTo(x, y);\n this._point = 1;\n break;\n }\n case 1: {\n this._context.lineTo(x, y);\n break;\n }\n default: {\n this._context.moveTo(x + this._radius, y);\n this._context.arc(x, y, this._radius, 0, tau);\n break;\n }\n }\n },\n result: noop\n};\n","import adder from \"../adder\";\nimport {sqrt} from \"../math\";\nimport noop from \"../noop\";\n\nvar lengthSum = adder(),\n lengthRing,\n x00,\n y00,\n x0,\n y0;\n\nvar lengthStream = {\n point: noop,\n lineStart: function() {\n lengthStream.point = lengthPointFirst;\n },\n lineEnd: function() {\n if (lengthRing) lengthPoint(x00, y00);\n lengthStream.point = noop;\n },\n polygonStart: function() {\n lengthRing = true;\n },\n polygonEnd: function() {\n lengthRing = null;\n },\n result: function() {\n var length = +lengthSum;\n lengthSum.reset();\n return length;\n }\n};\n\nfunction lengthPointFirst(x, y) {\n lengthStream.point = lengthPoint;\n x00 = x0 = x, y00 = y0 = y;\n}\n\nfunction lengthPoint(x, y) {\n x0 -= x, y0 -= y;\n lengthSum.add(sqrt(x0 * x0 + y0 * y0));\n x0 = x, y0 = y;\n}\n\nexport default lengthStream;\n","export default function PathString() {\n this._string = [];\n}\n\nPathString.prototype = {\n _radius: 4.5,\n _circle: circle(4.5),\n pointRadius: function(_) {\n if ((_ = +_) !== this._radius) this._radius = _, this._circle = null;\n return this;\n },\n polygonStart: function() {\n this._line = 0;\n },\n polygonEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._point = 0;\n },\n lineEnd: function() {\n if (this._line === 0) this._string.push(\"Z\");\n this._point = NaN;\n },\n point: function(x, y) {\n switch (this._point) {\n case 0: {\n this._string.push(\"M\", x, \",\", y);\n this._point = 1;\n break;\n }\n case 1: {\n this._string.push(\"L\", x, \",\", y);\n break;\n }\n default: {\n if (this._circle == null) this._circle = circle(this._radius);\n this._string.push(\"M\", x, \",\", y, this._circle);\n break;\n }\n }\n },\n result: function() {\n if (this._string.length) {\n var result = this._string.join(\"\");\n this._string = [];\n return result;\n } else {\n return null;\n }\n }\n};\n\nfunction circle(radius) {\n return \"m0,\" + radius\n + \"a\" + radius + \",\" + radius + \" 0 1,1 0,\" + -2 * radius\n + \"a\" + radius + \",\" + radius + \" 0 1,1 0,\" + 2 * radius\n + \"z\";\n}\n","import identity from \"../identity\";\nimport stream from \"../stream\";\nimport pathArea from \"./area\";\nimport pathBounds from \"./bounds\";\nimport pathCentroid from \"./centroid\";\nimport PathContext from \"./context\";\nimport pathMeasure from \"./measure\";\nimport PathString from \"./string\";\n\nexport default function(projection, context) {\n var pointRadius = 4.5,\n projectionStream,\n contextStream;\n\n function path(object) {\n if (object) {\n if (typeof pointRadius === \"function\") contextStream.pointRadius(+pointRadius.apply(this, arguments));\n stream(object, projectionStream(contextStream));\n }\n return contextStream.result();\n }\n\n path.area = function(object) {\n stream(object, projectionStream(pathArea));\n return pathArea.result();\n };\n\n path.measure = function(object) {\n stream(object, projectionStream(pathMeasure));\n return pathMeasure.result();\n };\n\n path.bounds = function(object) {\n stream(object, projectionStream(pathBounds));\n return pathBounds.result();\n };\n\n path.centroid = function(object) {\n stream(object, projectionStream(pathCentroid));\n return pathCentroid.result();\n };\n\n path.projection = function(_) {\n return arguments.length ? (projectionStream = _ == null ? (projection = null, identity) : (projection = _).stream, path) : projection;\n };\n\n path.context = function(_) {\n if (!arguments.length) return context;\n contextStream = _ == null ? (context = null, new PathString) : new PathContext(context = _);\n if (typeof pointRadius !== \"function\") contextStream.pointRadius(pointRadius);\n return path;\n };\n\n path.pointRadius = function(_) {\n if (!arguments.length) return pointRadius;\n pointRadius = typeof _ === \"function\" ? _ : (contextStream.pointRadius(+_), +_);\n return path;\n };\n\n return path.projection(projection).context(context);\n}\n","export default function(methods) {\n return {\n stream: transformer(methods)\n };\n}\n\nexport function transformer(methods) {\n return function(stream) {\n var s = new TransformStream;\n for (var key in methods) s[key] = methods[key];\n s.stream = stream;\n return s;\n };\n}\n\nfunction TransformStream() {}\n\nTransformStream.prototype = {\n constructor: TransformStream,\n point: function(x, y) { this.stream.point(x, y); },\n sphere: function() { this.stream.sphere(); },\n lineStart: function() { this.stream.lineStart(); },\n lineEnd: function() { this.stream.lineEnd(); },\n polygonStart: function() { this.stream.polygonStart(); },\n polygonEnd: function() { this.stream.polygonEnd(); }\n};\n","import {default as geoStream} from \"../stream\";\nimport boundsStream from \"../path/bounds\";\n\nfunction fit(projection, fitBounds, object) {\n var clip = projection.clipExtent && projection.clipExtent();\n projection.scale(150).translate([0, 0]);\n if (clip != null) projection.clipExtent(null);\n geoStream(object, projection.stream(boundsStream));\n fitBounds(boundsStream.result());\n if (clip != null) projection.clipExtent(clip);\n return projection;\n}\n\nexport function fitExtent(projection, extent, object) {\n return fit(projection, function(b) {\n var w = extent[1][0] - extent[0][0],\n h = extent[1][1] - extent[0][1],\n k = Math.min(w / (b[1][0] - b[0][0]), h / (b[1][1] - b[0][1])),\n x = +extent[0][0] + (w - k * (b[1][0] + b[0][0])) / 2,\n y = +extent[0][1] + (h - k * (b[1][1] + b[0][1])) / 2;\n projection.scale(150 * k).translate([x, y]);\n }, object);\n}\n\nexport function fitSize(projection, size, object) {\n return fitExtent(projection, [[0, 0], size], object);\n}\n\nexport function fitWidth(projection, width, object) {\n return fit(projection, function(b) {\n var w = +width,\n k = w / (b[1][0] - b[0][0]),\n x = (w - k * (b[1][0] + b[0][0])) / 2,\n y = -k * b[0][1];\n projection.scale(150 * k).translate([x, y]);\n }, object);\n}\n\nexport function fitHeight(projection, height, object) {\n return fit(projection, function(b) {\n var h = +height,\n k = h / (b[1][1] - b[0][1]),\n x = -k * b[0][0],\n y = (h - k * (b[1][1] + b[0][1])) / 2;\n projection.scale(150 * k).translate([x, y]);\n }, object);\n}\n","import {cartesian} from \"../cartesian\";\nimport {abs, asin, atan2, cos, epsilon, radians, sqrt} from \"../math\";\nimport {transformer} from \"../transform\";\n\nvar maxDepth = 16, // maximum depth of subdivision\n cosMinDistance = cos(30 * radians); // cos(minimum angular distance)\n\nexport default function(project, delta2) {\n return +delta2 ? resample(project, delta2) : resampleNone(project);\n}\n\nfunction resampleNone(project) {\n return transformer({\n point: function(x, y) {\n x = project(x, y);\n this.stream.point(x[0], x[1]);\n }\n });\n}\n\nfunction resample(project, delta2) {\n\n function resampleLineTo(x0, y0, lambda0, a0, b0, c0, x1, y1, lambda1, a1, b1, c1, depth, stream) {\n var dx = x1 - x0,\n dy = y1 - y0,\n d2 = dx * dx + dy * dy;\n if (d2 > 4 * delta2 && depth--) {\n var a = a0 + a1,\n b = b0 + b1,\n c = c0 + c1,\n m = sqrt(a * a + b * b + c * c),\n phi2 = asin(c /= m),\n lambda2 = abs(abs(c) - 1) < epsilon || abs(lambda0 - lambda1) < epsilon ? (lambda0 + lambda1) / 2 : atan2(b, a),\n p = project(lambda2, phi2),\n x2 = p[0],\n y2 = p[1],\n dx2 = x2 - x0,\n dy2 = y2 - y0,\n dz = dy * dx2 - dx * dy2;\n if (dz * dz / d2 > delta2 // perpendicular projected distance\n || abs((dx * dx2 + dy * dy2) / d2 - 0.5) > 0.3 // midpoint close to an end\n || a0 * a1 + b0 * b1 + c0 * c1 < cosMinDistance) { // angular distance\n resampleLineTo(x0, y0, lambda0, a0, b0, c0, x2, y2, lambda2, a /= m, b /= m, c, depth, stream);\n stream.point(x2, y2);\n resampleLineTo(x2, y2, lambda2, a, b, c, x1, y1, lambda1, a1, b1, c1, depth, stream);\n }\n }\n }\n return function(stream) {\n var lambda00, x00, y00, a00, b00, c00, // first point\n lambda0, x0, y0, a0, b0, c0; // previous point\n\n var resampleStream = {\n point: point,\n lineStart: lineStart,\n lineEnd: lineEnd,\n polygonStart: function() { stream.polygonStart(); resampleStream.lineStart = ringStart; },\n polygonEnd: function() { stream.polygonEnd(); resampleStream.lineStart = lineStart; }\n };\n\n function point(x, y) {\n x = project(x, y);\n stream.point(x[0], x[1]);\n }\n\n function lineStart() {\n x0 = NaN;\n resampleStream.point = linePoint;\n stream.lineStart();\n }\n\n function linePoint(lambda, phi) {\n var c = cartesian([lambda, phi]), p = project(lambda, phi);\n resampleLineTo(x0, y0, lambda0, a0, b0, c0, x0 = p[0], y0 = p[1], lambda0 = lambda, a0 = c[0], b0 = c[1], c0 = c[2], maxDepth, stream);\n stream.point(x0, y0);\n }\n\n function lineEnd() {\n resampleStream.point = point;\n stream.lineEnd();\n }\n\n function ringStart() {\n lineStart();\n resampleStream.point = ringPoint;\n resampleStream.lineEnd = ringEnd;\n }\n\n function ringPoint(lambda, phi) {\n linePoint(lambda00 = lambda, phi), x00 = x0, y00 = y0, a00 = a0, b00 = b0, c00 = c0;\n resampleStream.point = linePoint;\n }\n\n function ringEnd() {\n resampleLineTo(x0, y0, lambda0, a0, b0, c0, x00, y00, lambda00, a00, b00, c00, maxDepth, stream);\n resampleStream.lineEnd = lineEnd;\n lineEnd();\n }\n\n return resampleStream;\n };\n}\n","import clipAntimeridian from \"../clip/antimeridian\";\nimport clipCircle from \"../clip/circle\";\nimport clipRectangle from \"../clip/rectangle\";\nimport compose from \"../compose\";\nimport identity from \"../identity\";\nimport {cos, degrees, radians, sin, sqrt} from \"../math\";\nimport {rotateRadians} from \"../rotation\";\nimport {transformer} from \"../transform\";\nimport {fitExtent, fitSize, fitWidth, fitHeight} from \"./fit\";\nimport resample from \"./resample\";\n\nvar transformRadians = transformer({\n point: function(x, y) {\n this.stream.point(x * radians, y * radians);\n }\n});\n\nfunction transformRotate(rotate) {\n return transformer({\n point: function(x, y) {\n var r = rotate(x, y);\n return this.stream.point(r[0], r[1]);\n }\n });\n}\n\nfunction scaleTranslate(k, dx, dy) {\n function transform(x, y) {\n return [dx + k * x, dy - k * y];\n }\n transform.invert = function(x, y) {\n return [(x - dx) / k, (dy - y) / k];\n };\n return transform;\n}\n\nfunction scaleTranslateRotate(k, dx, dy, alpha) {\n var cosAlpha = cos(alpha),\n sinAlpha = sin(alpha),\n a = cosAlpha * k,\n b = sinAlpha * k,\n ai = cosAlpha / k,\n bi = sinAlpha / k,\n ci = (sinAlpha * dy - cosAlpha * dx) / k,\n fi = (sinAlpha * dx + cosAlpha * dy) / k;\n function transform(x, y) {\n return [a * x - b * y + dx, dy - b * x - a * y];\n }\n transform.invert = function(x, y) {\n return [ai * x - bi * y + ci, fi - bi * x - ai * y];\n };\n return transform;\n}\n\nexport default function projection(project) {\n return projectionMutator(function() { return project; })();\n}\n\nexport function projectionMutator(projectAt) {\n var project,\n k = 150, // scale\n x = 480, y = 250, // translate\n lambda = 0, phi = 0, // center\n deltaLambda = 0, deltaPhi = 0, deltaGamma = 0, rotate, // pre-rotate\n alpha = 0, // post-rotate\n theta = null, preclip = clipAntimeridian, // pre-clip angle\n x0 = null, y0, x1, y1, postclip = identity, // post-clip extent\n delta2 = 0.5, // precision\n projectResample,\n projectTransform,\n projectRotateTransform,\n cache,\n cacheStream;\n\n function projection(point) {\n return projectRotateTransform(point[0] * radians, point[1] * radians);\n }\n\n function invert(point) {\n point = projectRotateTransform.invert(point[0], point[1]);\n return point && [point[0] * degrees, point[1] * degrees];\n }\n\n projection.stream = function(stream) {\n return cache && cacheStream === stream ? cache : cache = transformRadians(transformRotate(rotate)(preclip(projectResample(postclip(cacheStream = stream)))));\n };\n\n projection.preclip = function(_) {\n return arguments.length ? (preclip = _, theta = undefined, reset()) : preclip;\n };\n\n projection.postclip = function(_) {\n return arguments.length ? (postclip = _, x0 = y0 = x1 = y1 = null, reset()) : postclip;\n };\n\n projection.clipAngle = function(_) {\n return arguments.length ? (preclip = +_ ? clipCircle(theta = _ * radians) : (theta = null, clipAntimeridian), reset()) : theta * degrees;\n };\n\n projection.clipExtent = function(_) {\n return arguments.length ? (postclip = _ == null ? (x0 = y0 = x1 = y1 = null, identity) : clipRectangle(x0 = +_[0][0], y0 = +_[0][1], x1 = +_[1][0], y1 = +_[1][1]), reset()) : x0 == null ? null : [[x0, y0], [x1, y1]];\n };\n\n projection.scale = function(_) {\n return arguments.length ? (k = +_, recenter()) : k;\n };\n\n projection.translate = function(_) {\n return arguments.length ? (x = +_[0], y = +_[1], recenter()) : [x, y];\n };\n\n projection.center = function(_) {\n return arguments.length ? (lambda = _[0] % 360 * radians, phi = _[1] % 360 * radians, recenter()) : [lambda * degrees, phi * degrees];\n };\n\n projection.rotate = function(_) {\n return arguments.length ? (deltaLambda = _[0] % 360 * radians, deltaPhi = _[1] % 360 * radians, deltaGamma = _.length > 2 ? _[2] % 360 * radians : 0, recenter()) : [deltaLambda * degrees, deltaPhi * degrees, deltaGamma * degrees];\n };\n\n projection.angle = function(_) {\n return arguments.length ? (alpha = _ % 360 * radians, recenter()) : alpha * degrees;\n };\n\n projection.precision = function(_) {\n return arguments.length ? (projectResample = resample(projectTransform, delta2 = _ * _), reset()) : sqrt(delta2);\n };\n\n projection.fitExtent = function(extent, object) {\n return fitExtent(projection, extent, object);\n };\n\n projection.fitSize = function(size, object) {\n return fitSize(projection, size, object);\n };\n\n projection.fitWidth = function(width, object) {\n return fitWidth(projection, width, object);\n };\n\n projection.fitHeight = function(height, object) {\n return fitHeight(projection, height, object);\n };\n\n function recenter() {\n var center = scaleTranslateRotate(k, 0, 0, alpha).apply(null, project(lambda, phi)),\n transform = (alpha ? scaleTranslateRotate : scaleTranslate)(k, x - center[0], y - center[1], alpha);\n rotate = rotateRadians(deltaLambda, deltaPhi, deltaGamma);\n projectTransform = compose(project, transform);\n projectRotateTransform = compose(rotate, projectTransform);\n projectResample = resample(projectTransform, delta2);\n return reset();\n }\n\n function reset() {\n cache = cacheStream = null;\n return projection;\n }\n\n return function() {\n project = projectAt.apply(this, arguments);\n projection.invert = project.invert && invert;\n return recenter();\n };\n}\n","import {degrees, pi, radians} from \"../math\";\nimport {projectionMutator} from \"./index\";\n\nexport function conicProjection(projectAt) {\n var phi0 = 0,\n phi1 = pi / 3,\n m = projectionMutator(projectAt),\n p = m(phi0, phi1);\n\n p.parallels = function(_) {\n return arguments.length ? m(phi0 = _[0] * radians, phi1 = _[1] * radians) : [phi0 * degrees, phi1 * degrees];\n };\n\n return p;\n}\n","import {abs, asin, atan2, cos, epsilon, sign, sin, sqrt} from \"../math\";\nimport {conicProjection} from \"./conic\";\nimport {cylindricalEqualAreaRaw} from \"./cylindricalEqualArea\";\n\nexport function conicEqualAreaRaw(y0, y1) {\n var sy0 = sin(y0), n = (sy0 + sin(y1)) / 2;\n\n // Are the parallels symmetrical around the Equator?\n if (abs(n) < epsilon) return cylindricalEqualAreaRaw(y0);\n\n var c = 1 + sy0 * (2 * n - sy0), r0 = sqrt(c) / n;\n\n function project(x, y) {\n var r = sqrt(c - 2 * n * sin(y)) / n;\n return [r * sin(x *= n), r0 - r * cos(x)];\n }\n\n project.invert = function(x, y) {\n var r0y = r0 - y;\n return [atan2(x, abs(r0y)) / n * sign(r0y), asin((c - (x * x + r0y * r0y) * n * n) / (2 * n))];\n };\n\n return project;\n}\n\nexport default function() {\n return conicProjection(conicEqualAreaRaw)\n .scale(155.424)\n .center([0, 33.6442]);\n}\n","import {asin, cos, sin} from \"../math\";\n\nexport function cylindricalEqualAreaRaw(phi0) {\n var cosPhi0 = cos(phi0);\n\n function forward(lambda, phi) {\n return [lambda * cosPhi0, sin(phi) / cosPhi0];\n }\n\n forward.invert = function(x, y) {\n return [x / cosPhi0, asin(y * cosPhi0)];\n };\n\n return forward;\n}\n","import conicEqualArea from \"./conicEqualArea\";\n\nexport default function() {\n return conicEqualArea()\n .parallels([29.5, 45.5])\n .scale(1070)\n .translate([480, 250])\n .rotate([96, 0])\n .center([-0.6, 38.7]);\n}\n","import {epsilon} from \"../math\";\nimport albers from \"./albers\";\nimport conicEqualArea from \"./conicEqualArea\";\nimport {fitExtent, fitSize, fitWidth, fitHeight} from \"./fit\";\n\n// The projections must have mutually exclusive clip regions on the sphere,\n// as this will avoid emitting interleaving lines and polygons.\nfunction multiplex(streams) {\n var n = streams.length;\n return {\n point: function(x, y) { var i = -1; while (++i < n) streams[i].point(x, y); },\n sphere: function() { var i = -1; while (++i < n) streams[i].sphere(); },\n lineStart: function() { var i = -1; while (++i < n) streams[i].lineStart(); },\n lineEnd: function() { var i = -1; while (++i < n) streams[i].lineEnd(); },\n polygonStart: function() { var i = -1; while (++i < n) streams[i].polygonStart(); },\n polygonEnd: function() { var i = -1; while (++i < n) streams[i].polygonEnd(); }\n };\n}\n\n// A composite projection for the United States, configured by default for\n// 960×500. The projection also works quite well at 960×600 if you change the\n// scale to 1285 and adjust the translate accordingly. The set of standard\n// parallels for each region comes from USGS, which is published here:\n// http://egsc.usgs.gov/isb/pubs/MapProjections/projections.html#albers\nexport default function() {\n var cache,\n cacheStream,\n lower48 = albers(), lower48Point,\n alaska = conicEqualArea().rotate([154, 0]).center([-2, 58.5]).parallels([55, 65]), alaskaPoint, // EPSG:3338\n hawaii = conicEqualArea().rotate([157, 0]).center([-3, 19.9]).parallels([8, 18]), hawaiiPoint, // ESRI:102007\n point, pointStream = {point: function(x, y) { point = [x, y]; }};\n\n function albersUsa(coordinates) {\n var x = coordinates[0], y = coordinates[1];\n return point = null,\n (lower48Point.point(x, y), point)\n || (alaskaPoint.point(x, y), point)\n || (hawaiiPoint.point(x, y), point);\n }\n\n albersUsa.invert = function(coordinates) {\n var k = lower48.scale(),\n t = lower48.translate(),\n x = (coordinates[0] - t[0]) / k,\n y = (coordinates[1] - t[1]) / k;\n return (y >= 0.120 && y < 0.234 && x >= -0.425 && x < -0.214 ? alaska\n : y >= 0.166 && y < 0.234 && x >= -0.214 && x < -0.115 ? hawaii\n : lower48).invert(coordinates);\n };\n\n albersUsa.stream = function(stream) {\n return cache && cacheStream === stream ? cache : cache = multiplex([lower48.stream(cacheStream = stream), alaska.stream(stream), hawaii.stream(stream)]);\n };\n\n albersUsa.precision = function(_) {\n if (!arguments.length) return lower48.precision();\n lower48.precision(_), alaska.precision(_), hawaii.precision(_);\n return reset();\n };\n\n albersUsa.scale = function(_) {\n if (!arguments.length) return lower48.scale();\n lower48.scale(_), alaska.scale(_ * 0.35), hawaii.scale(_);\n return albersUsa.translate(lower48.translate());\n };\n\n albersUsa.translate = function(_) {\n if (!arguments.length) return lower48.translate();\n var k = lower48.scale(), x = +_[0], y = +_[1];\n\n lower48Point = lower48\n .translate(_)\n .clipExtent([[x - 0.455 * k, y - 0.238 * k], [x + 0.455 * k, y + 0.238 * k]])\n .stream(pointStream);\n\n alaskaPoint = alaska\n .translate([x - 0.307 * k, y + 0.201 * k])\n .clipExtent([[x - 0.425 * k + epsilon, y + 0.120 * k + epsilon], [x - 0.214 * k - epsilon, y + 0.234 * k - epsilon]])\n .stream(pointStream);\n\n hawaiiPoint = hawaii\n .translate([x - 0.205 * k, y + 0.212 * k])\n .clipExtent([[x - 0.214 * k + epsilon, y + 0.166 * k + epsilon], [x - 0.115 * k - epsilon, y + 0.234 * k - epsilon]])\n .stream(pointStream);\n\n return reset();\n };\n\n albersUsa.fitExtent = function(extent, object) {\n return fitExtent(albersUsa, extent, object);\n };\n\n albersUsa.fitSize = function(size, object) {\n return fitSize(albersUsa, size, object);\n };\n\n albersUsa.fitWidth = function(width, object) {\n return fitWidth(albersUsa, width, object);\n };\n\n albersUsa.fitHeight = function(height, object) {\n return fitHeight(albersUsa, height, object);\n };\n\n function reset() {\n cache = cacheStream = null;\n return albersUsa;\n }\n\n return albersUsa.scale(1070);\n}\n","import {asin, atan2, cos, sin, sqrt} from \"../math\";\n\nexport function azimuthalRaw(scale) {\n return function(x, y) {\n var cx = cos(x),\n cy = cos(y),\n k = scale(cx * cy);\n return [\n k * cy * sin(x),\n k * sin(y)\n ];\n }\n}\n\nexport function azimuthalInvert(angle) {\n return function(x, y) {\n var z = sqrt(x * x + y * y),\n c = angle(z),\n sc = sin(c),\n cc = cos(c);\n return [\n atan2(x * sc, z * cc),\n asin(z && y * sc / z)\n ];\n }\n}\n","import {asin, sqrt} from \"../math\";\nimport {azimuthalRaw, azimuthalInvert} from \"./azimuthal\";\nimport projection from \"./index\";\n\nexport var azimuthalEqualAreaRaw = azimuthalRaw(function(cxcy) {\n return sqrt(2 / (1 + cxcy));\n});\n\nazimuthalEqualAreaRaw.invert = azimuthalInvert(function(z) {\n return 2 * asin(z / 2);\n});\n\nexport default function() {\n return projection(azimuthalEqualAreaRaw)\n .scale(124.75)\n .clipAngle(180 - 1e-3);\n}\n","import {acos, sin} from \"../math\";\nimport {azimuthalRaw, azimuthalInvert} from \"./azimuthal\";\nimport projection from \"./index\";\n\nexport var azimuthalEquidistantRaw = azimuthalRaw(function(c) {\n return (c = acos(c)) && c / sin(c);\n});\n\nazimuthalEquidistantRaw.invert = azimuthalInvert(function(z) {\n return z;\n});\n\nexport default function() {\n return projection(azimuthalEquidistantRaw)\n .scale(79.4188)\n .clipAngle(180 - 1e-3);\n}\n","import {atan, exp, halfPi, log, pi, tan, tau} from \"../math\";\nimport rotation from \"../rotation\";\nimport projection from \"./index\";\n\nexport function mercatorRaw(lambda, phi) {\n return [lambda, log(tan((halfPi + phi) / 2))];\n}\n\nmercatorRaw.invert = function(x, y) {\n return [x, 2 * atan(exp(y)) - halfPi];\n};\n\nexport default function() {\n return mercatorProjection(mercatorRaw)\n .scale(961 / tau);\n}\n\nexport function mercatorProjection(project) {\n var m = projection(project),\n center = m.center,\n scale = m.scale,\n translate = m.translate,\n clipExtent = m.clipExtent,\n x0 = null, y0, x1, y1; // clip extent\n\n m.scale = function(_) {\n return arguments.length ? (scale(_), reclip()) : scale();\n };\n\n m.translate = function(_) {\n return arguments.length ? (translate(_), reclip()) : translate();\n };\n\n m.center = function(_) {\n return arguments.length ? (center(_), reclip()) : center();\n };\n\n m.clipExtent = function(_) {\n return arguments.length ? ((_ == null ? x0 = y0 = x1 = y1 = null : (x0 = +_[0][0], y0 = +_[0][1], x1 = +_[1][0], y1 = +_[1][1])), reclip()) : x0 == null ? null : [[x0, y0], [x1, y1]];\n };\n\n function reclip() {\n var k = pi * scale(),\n t = m(rotation(m.rotate()).invert([0, 0]));\n return clipExtent(x0 == null\n ? [[t[0] - k, t[1] - k], [t[0] + k, t[1] + k]] : project === mercatorRaw\n ? [[Math.max(t[0] - k, x0), y0], [Math.min(t[0] + k, x1), y1]]\n : [[x0, Math.max(t[1] - k, y0)], [x1, Math.min(t[1] + k, y1)]]);\n }\n\n return reclip();\n}\n","import {abs, atan, atan2, cos, epsilon, halfPi, log, pow, sign, sin, sqrt, tan} from \"../math\";\nimport {conicProjection} from \"./conic\";\nimport {mercatorRaw} from \"./mercator\";\n\nfunction tany(y) {\n return tan((halfPi + y) / 2);\n}\n\nexport function conicConformalRaw(y0, y1) {\n var cy0 = cos(y0),\n n = y0 === y1 ? sin(y0) : log(cy0 / cos(y1)) / log(tany(y1) / tany(y0)),\n f = cy0 * pow(tany(y0), n) / n;\n\n if (!n) return mercatorRaw;\n\n function project(x, y) {\n if (f > 0) { if (y < -halfPi + epsilon) y = -halfPi + epsilon; }\n else { if (y > halfPi - epsilon) y = halfPi - epsilon; }\n var r = f / pow(tany(y), n);\n return [r * sin(n * x), f - r * cos(n * x)];\n }\n\n project.invert = function(x, y) {\n var fy = f - y, r = sign(n) * sqrt(x * x + fy * fy);\n return [atan2(x, abs(fy)) / n * sign(fy), 2 * atan(pow(f / r, 1 / n)) - halfPi];\n };\n\n return project;\n}\n\nexport default function() {\n return conicProjection(conicConformalRaw)\n .scale(109.5)\n .parallels([30, 30]);\n}\n","import projection from \"./index\";\n\nexport function equirectangularRaw(lambda, phi) {\n return [lambda, phi];\n}\n\nequirectangularRaw.invert = equirectangularRaw;\n\nexport default function() {\n return projection(equirectangularRaw)\n .scale(152.63);\n}\n","import {abs, atan2, cos, epsilon, sign, sin, sqrt} from \"../math\";\nimport {conicProjection} from \"./conic\";\nimport {equirectangularRaw} from \"./equirectangular\";\n\nexport function conicEquidistantRaw(y0, y1) {\n var cy0 = cos(y0),\n n = y0 === y1 ? sin(y0) : (cy0 - cos(y1)) / (y1 - y0),\n g = cy0 / n + y0;\n\n if (abs(n) < epsilon) return equirectangularRaw;\n\n function project(x, y) {\n var gy = g - y, nx = n * x;\n return [gy * sin(nx), g - gy * cos(nx)];\n }\n\n project.invert = function(x, y) {\n var gy = g - y;\n return [atan2(x, abs(gy)) / n * sign(gy), g - sign(n) * sqrt(x * x + gy * gy)];\n };\n\n return project;\n}\n\nexport default function() {\n return conicProjection(conicEquidistantRaw)\n .scale(131.154)\n .center([0, 13.9389]);\n}\n","import {atan, cos, sin} from \"../math\";\nimport {azimuthalInvert} from \"./azimuthal\";\nimport projection from \"./index\";\n\nexport function gnomonicRaw(x, y) {\n var cy = cos(y), k = cos(x) * cy;\n return [cy * sin(x) / k, sin(y) / k];\n}\n\ngnomonicRaw.invert = azimuthalInvert(atan);\n\nexport default function() {\n return projection(gnomonicRaw)\n .scale(144.049)\n .clipAngle(60);\n}\n","import clipRectangle from \"../clip/rectangle\";\nimport identity from \"../identity\";\nimport {transformer} from \"../transform\";\nimport {fitExtent, fitSize, fitWidth, fitHeight} from \"./fit\";\n\nfunction scaleTranslate(kx, ky, tx, ty) {\n return kx === 1 && ky === 1 && tx === 0 && ty === 0 ? identity : transformer({\n point: function(x, y) {\n this.stream.point(x * kx + tx, y * ky + ty);\n }\n });\n}\n\nexport default function() {\n var k = 1, tx = 0, ty = 0, sx = 1, sy = 1, transform = identity, // scale, translate and reflect\n x0 = null, y0, x1, y1, // clip extent\n postclip = identity,\n cache,\n cacheStream,\n projection;\n\n function reset() {\n cache = cacheStream = null;\n return projection;\n }\n\n return projection = {\n stream: function(stream) {\n return cache && cacheStream === stream ? cache : cache = transform(postclip(cacheStream = stream));\n },\n postclip: function(_) {\n return arguments.length ? (postclip = _, x0 = y0 = x1 = y1 = null, reset()) : postclip;\n },\n clipExtent: function(_) {\n return arguments.length ? (postclip = _ == null ? (x0 = y0 = x1 = y1 = null, identity) : clipRectangle(x0 = +_[0][0], y0 = +_[0][1], x1 = +_[1][0], y1 = +_[1][1]), reset()) : x0 == null ? null : [[x0, y0], [x1, y1]];\n },\n scale: function(_) {\n return arguments.length ? (transform = scaleTranslate((k = +_) * sx, k * sy, tx, ty), reset()) : k;\n },\n translate: function(_) {\n return arguments.length ? (transform = scaleTranslate(k * sx, k * sy, tx = +_[0], ty = +_[1]), reset()) : [tx, ty];\n },\n reflectX: function(_) {\n return arguments.length ? (transform = scaleTranslate(k * (sx = _ ? -1 : 1), k * sy, tx, ty), reset()) : sx < 0;\n },\n reflectY: function(_) {\n return arguments.length ? (transform = scaleTranslate(k * sx, k * (sy = _ ? -1 : 1), tx, ty), reset()) : sy < 0;\n },\n fitExtent: function(extent, object) {\n return fitExtent(projection, extent, object);\n },\n fitSize: function(size, object) {\n return fitSize(projection, size, object);\n },\n fitWidth: function(width, object) {\n return fitWidth(projection, width, object);\n },\n fitHeight: function(height, object) {\n return fitHeight(projection, height, object);\n }\n };\n}\n","import projection from \"./index\";\nimport {abs, epsilon} from \"../math\";\n\nexport function naturalEarth1Raw(lambda, phi) {\n var phi2 = phi * phi, phi4 = phi2 * phi2;\n return [\n lambda * (0.8707 - 0.131979 * phi2 + phi4 * (-0.013791 + phi4 * (0.003971 * phi2 - 0.001529 * phi4))),\n phi * (1.007226 + phi2 * (0.015085 + phi4 * (-0.044475 + 0.028874 * phi2 - 0.005916 * phi4)))\n ];\n}\n\nnaturalEarth1Raw.invert = function(x, y) {\n var phi = y, i = 25, delta;\n do {\n var phi2 = phi * phi, phi4 = phi2 * phi2;\n phi -= delta = (phi * (1.007226 + phi2 * (0.015085 + phi4 * (-0.044475 + 0.028874 * phi2 - 0.005916 * phi4))) - y) /\n (1.007226 + phi2 * (0.015085 * 3 + phi4 * (-0.044475 * 7 + 0.028874 * 9 * phi2 - 0.005916 * 11 * phi4)));\n } while (abs(delta) > epsilon && --i > 0);\n return [\n x / (0.8707 + (phi2 = phi * phi) * (-0.131979 + phi2 * (-0.013791 + phi2 * phi2 * phi2 * (0.003971 - 0.001529 * phi2)))),\n phi\n ];\n};\n\nexport default function() {\n return projection(naturalEarth1Raw)\n .scale(175.295);\n}\n","import {asin, cos, epsilon, sin} from \"../math\";\nimport {azimuthalInvert} from \"./azimuthal\";\nimport projection from \"./index\";\n\nexport function orthographicRaw(x, y) {\n return [cos(y) * sin(x), sin(y)];\n}\n\northographicRaw.invert = azimuthalInvert(asin);\n\nexport default function() {\n return projection(orthographicRaw)\n .scale(249.5)\n .clipAngle(90 + epsilon);\n}\n","import {atan, cos, sin} from \"../math\";\nimport {azimuthalInvert} from \"./azimuthal\";\nimport projection from \"./index\";\n\nexport function stereographicRaw(x, y) {\n var cy = cos(y), k = 1 + cos(x) * cy;\n return [cy * sin(x) / k, sin(y) / k];\n}\n\nstereographicRaw.invert = azimuthalInvert(function(z) {\n return 2 * atan(z);\n});\n\nexport default function() {\n return projection(stereographicRaw)\n .scale(250)\n .clipAngle(142);\n}\n","import {atan, exp, halfPi, log, tan} from \"../math\";\nimport {mercatorProjection} from \"./mercator\";\n\nexport function transverseMercatorRaw(lambda, phi) {\n return [log(tan((halfPi + phi) / 2)), -lambda];\n}\n\ntransverseMercatorRaw.invert = function(x, y) {\n return [-y, 2 * atan(exp(x)) - halfPi];\n};\n\nexport default function() {\n var m = mercatorProjection(transverseMercatorRaw),\n center = m.center,\n rotate = m.rotate;\n\n m.center = function(_) {\n return arguments.length ? center([-_[1], _[0]]) : (_ = center(), [_[1], -_[0]]);\n };\n\n m.rotate = function(_) {\n return arguments.length ? rotate([_[0], _[1], _.length > 2 ? _[2] + 90 : 90]) : (_ = rotate(), [_[0], _[1], _[2] - 90]);\n };\n\n return rotate([0, 0, 90])\n .scale(159.155);\n}\n","function defaultSeparation(a, b) {\n return a.parent === b.parent ? 1 : 2;\n}\n\nfunction meanX(children) {\n return children.reduce(meanXReduce, 0) / children.length;\n}\n\nfunction meanXReduce(x, c) {\n return x + c.x;\n}\n\nfunction maxY(children) {\n return 1 + children.reduce(maxYReduce, 0);\n}\n\nfunction maxYReduce(y, c) {\n return Math.max(y, c.y);\n}\n\nfunction leafLeft(node) {\n var children;\n while (children = node.children) node = children[0];\n return node;\n}\n\nfunction leafRight(node) {\n var children;\n while (children = node.children) node = children[children.length - 1];\n return node;\n}\n\nexport default function() {\n var separation = defaultSeparation,\n dx = 1,\n dy = 1,\n nodeSize = false;\n\n function cluster(root) {\n var previousNode,\n x = 0;\n\n // First walk, computing the initial x & y values.\n root.eachAfter(function(node) {\n var children = node.children;\n if (children) {\n node.x = meanX(children);\n node.y = maxY(children);\n } else {\n node.x = previousNode ? x += separation(node, previousNode) : 0;\n node.y = 0;\n previousNode = node;\n }\n });\n\n var left = leafLeft(root),\n right = leafRight(root),\n x0 = left.x - separation(left, right) / 2,\n x1 = right.x + separation(right, left) / 2;\n\n // Second walk, normalizing x & y to the desired size.\n return root.eachAfter(nodeSize ? function(node) {\n node.x = (node.x - root.x) * dx;\n node.y = (root.y - node.y) * dy;\n } : function(node) {\n node.x = (node.x - x0) / (x1 - x0) * dx;\n node.y = (1 - (root.y ? node.y / root.y : 1)) * dy;\n });\n }\n\n cluster.separation = function(x) {\n return arguments.length ? (separation = x, cluster) : separation;\n };\n\n cluster.size = function(x) {\n return arguments.length ? (nodeSize = false, dx = +x[0], dy = +x[1], cluster) : (nodeSize ? null : [dx, dy]);\n };\n\n cluster.nodeSize = function(x) {\n return arguments.length ? (nodeSize = true, dx = +x[0], dy = +x[1], cluster) : (nodeSize ? [dx, dy] : null);\n };\n\n return cluster;\n}\n","function count(node) {\n var sum = 0,\n children = node.children,\n i = children && children.length;\n if (!i) sum = 1;\n else while (--i >= 0) sum += children[i].value;\n node.value = sum;\n}\n\nexport default function() {\n return this.eachAfter(count);\n}\n","import node_count from \"./count\";\nimport node_each from \"./each\";\nimport node_eachBefore from \"./eachBefore\";\nimport node_eachAfter from \"./eachAfter\";\nimport node_sum from \"./sum\";\nimport node_sort from \"./sort\";\nimport node_path from \"./path\";\nimport node_ancestors from \"./ancestors\";\nimport node_descendants from \"./descendants\";\nimport node_leaves from \"./leaves\";\nimport node_links from \"./links\";\n\nexport default function hierarchy(data, children) {\n var root = new Node(data),\n valued = +data.value && (root.value = data.value),\n node,\n nodes = [root],\n child,\n childs,\n i,\n n;\n\n if (children == null) children = defaultChildren;\n\n while (node = nodes.pop()) {\n if (valued) node.value = +node.data.value;\n if ((childs = children(node.data)) && (n = childs.length)) {\n node.children = new Array(n);\n for (i = n - 1; i >= 0; --i) {\n nodes.push(child = node.children[i] = new Node(childs[i]));\n child.parent = node;\n child.depth = node.depth + 1;\n }\n }\n }\n\n return root.eachBefore(computeHeight);\n}\n\nfunction node_copy() {\n return hierarchy(this).eachBefore(copyData);\n}\n\nfunction defaultChildren(d) {\n return d.children;\n}\n\nfunction copyData(node) {\n node.data = node.data.data;\n}\n\nexport function computeHeight(node) {\n var height = 0;\n do node.height = height;\n while ((node = node.parent) && (node.height < ++height));\n}\n\nexport function Node(data) {\n this.data = data;\n this.depth =\n this.height = 0;\n this.parent = null;\n}\n\nNode.prototype = hierarchy.prototype = {\n constructor: Node,\n count: node_count,\n each: node_each,\n eachAfter: node_eachAfter,\n eachBefore: node_eachBefore,\n sum: node_sum,\n sort: node_sort,\n path: node_path,\n ancestors: node_ancestors,\n descendants: node_descendants,\n leaves: node_leaves,\n links: node_links,\n copy: node_copy\n};\n","export default function(callback) {\n var node = this, current, next = [node], children, i, n;\n do {\n current = next.reverse(), next = [];\n while (node = current.pop()) {\n callback(node), children = node.children;\n if (children) for (i = 0, n = children.length; i < n; ++i) {\n next.push(children[i]);\n }\n }\n } while (next.length);\n return this;\n}\n","export default function(callback) {\n var node = this, nodes = [node], next = [], children, i, n;\n while (node = nodes.pop()) {\n next.push(node), children = node.children;\n if (children) for (i = 0, n = children.length; i < n; ++i) {\n nodes.push(children[i]);\n }\n }\n while (node = next.pop()) {\n callback(node);\n }\n return this;\n}\n","export default function(callback) {\n var node = this, nodes = [node], children, i;\n while (node = nodes.pop()) {\n callback(node), children = node.children;\n if (children) for (i = children.length - 1; i >= 0; --i) {\n nodes.push(children[i]);\n }\n }\n return this;\n}\n","export default function(value) {\n return this.eachAfter(function(node) {\n var sum = +value(node.data) || 0,\n children = node.children,\n i = children && children.length;\n while (--i >= 0) sum += children[i].value;\n node.value = sum;\n });\n}\n","export default function(compare) {\n return this.eachBefore(function(node) {\n if (node.children) {\n node.children.sort(compare);\n }\n });\n}\n","export default function(end) {\n var start = this,\n ancestor = leastCommonAncestor(start, end),\n nodes = [start];\n while (start !== ancestor) {\n start = start.parent;\n nodes.push(start);\n }\n var k = nodes.length;\n while (end !== ancestor) {\n nodes.splice(k, 0, end);\n end = end.parent;\n }\n return nodes;\n}\n\nfunction leastCommonAncestor(a, b) {\n if (a === b) return a;\n var aNodes = a.ancestors(),\n bNodes = b.ancestors(),\n c = null;\n a = aNodes.pop();\n b = bNodes.pop();\n while (a === b) {\n c = a;\n a = aNodes.pop();\n b = bNodes.pop();\n }\n return c;\n}\n","export default function() {\n var node = this, nodes = [node];\n while (node = node.parent) {\n nodes.push(node);\n }\n return nodes;\n}\n","export default function() {\n var nodes = [];\n this.each(function(node) {\n nodes.push(node);\n });\n return nodes;\n}\n","export default function() {\n var leaves = [];\n this.eachBefore(function(node) {\n if (!node.children) {\n leaves.push(node);\n }\n });\n return leaves;\n}\n","export default function() {\n var root = this, links = [];\n root.each(function(node) {\n if (node !== root) { // Don’t include the root’s parent, if any.\n links.push({source: node.parent, target: node});\n }\n });\n return links;\n}\n","export var slice = Array.prototype.slice;\n\nexport function shuffle(array) {\n var m = array.length,\n t,\n i;\n\n while (m) {\n i = Math.random() * m-- | 0;\n t = array[m];\n array[m] = array[i];\n array[i] = t;\n }\n\n return array;\n}\n","import {shuffle, slice} from \"../array\";\n\nexport default function(circles) {\n var i = 0, n = (circles = shuffle(slice.call(circles))).length, B = [], p, e;\n\n while (i < n) {\n p = circles[i];\n if (e && enclosesWeak(e, p)) ++i;\n else e = encloseBasis(B = extendBasis(B, p)), i = 0;\n }\n\n return e;\n}\n\nfunction extendBasis(B, p) {\n var i, j;\n\n if (enclosesWeakAll(p, B)) return [p];\n\n // If we get here then B must have at least one element.\n for (i = 0; i < B.length; ++i) {\n if (enclosesNot(p, B[i])\n && enclosesWeakAll(encloseBasis2(B[i], p), B)) {\n return [B[i], p];\n }\n }\n\n // If we get here then B must have at least two elements.\n for (i = 0; i < B.length - 1; ++i) {\n for (j = i + 1; j < B.length; ++j) {\n if (enclosesNot(encloseBasis2(B[i], B[j]), p)\n && enclosesNot(encloseBasis2(B[i], p), B[j])\n && enclosesNot(encloseBasis2(B[j], p), B[i])\n && enclosesWeakAll(encloseBasis3(B[i], B[j], p), B)) {\n return [B[i], B[j], p];\n }\n }\n }\n\n // If we get here then something is very wrong.\n throw new Error;\n}\n\nfunction enclosesNot(a, b) {\n var dr = a.r - b.r, dx = b.x - a.x, dy = b.y - a.y;\n return dr < 0 || dr * dr < dx * dx + dy * dy;\n}\n\nfunction enclosesWeak(a, b) {\n var dr = a.r - b.r + 1e-6, dx = b.x - a.x, dy = b.y - a.y;\n return dr > 0 && dr * dr > dx * dx + dy * dy;\n}\n\nfunction enclosesWeakAll(a, B) {\n for (var i = 0; i < B.length; ++i) {\n if (!enclosesWeak(a, B[i])) {\n return false;\n }\n }\n return true;\n}\n\nfunction encloseBasis(B) {\n switch (B.length) {\n case 1: return encloseBasis1(B[0]);\n case 2: return encloseBasis2(B[0], B[1]);\n case 3: return encloseBasis3(B[0], B[1], B[2]);\n }\n}\n\nfunction encloseBasis1(a) {\n return {\n x: a.x,\n y: a.y,\n r: a.r\n };\n}\n\nfunction encloseBasis2(a, b) {\n var x1 = a.x, y1 = a.y, r1 = a.r,\n x2 = b.x, y2 = b.y, r2 = b.r,\n x21 = x2 - x1, y21 = y2 - y1, r21 = r2 - r1,\n l = Math.sqrt(x21 * x21 + y21 * y21);\n return {\n x: (x1 + x2 + x21 / l * r21) / 2,\n y: (y1 + y2 + y21 / l * r21) / 2,\n r: (l + r1 + r2) / 2\n };\n}\n\nfunction encloseBasis3(a, b, c) {\n var x1 = a.x, y1 = a.y, r1 = a.r,\n x2 = b.x, y2 = b.y, r2 = b.r,\n x3 = c.x, y3 = c.y, r3 = c.r,\n a2 = x1 - x2,\n a3 = x1 - x3,\n b2 = y1 - y2,\n b3 = y1 - y3,\n c2 = r2 - r1,\n c3 = r3 - r1,\n d1 = x1 * x1 + y1 * y1 - r1 * r1,\n d2 = d1 - x2 * x2 - y2 * y2 + r2 * r2,\n d3 = d1 - x3 * x3 - y3 * y3 + r3 * r3,\n ab = a3 * b2 - a2 * b3,\n xa = (b2 * d3 - b3 * d2) / (ab * 2) - x1,\n xb = (b3 * c2 - b2 * c3) / ab,\n ya = (a3 * d2 - a2 * d3) / (ab * 2) - y1,\n yb = (a2 * c3 - a3 * c2) / ab,\n A = xb * xb + yb * yb - 1,\n B = 2 * (r1 + xa * xb + ya * yb),\n C = xa * xa + ya * ya - r1 * r1,\n r = -(A ? (B + Math.sqrt(B * B - 4 * A * C)) / (2 * A) : C / B);\n return {\n x: x1 + xa + xb * r,\n y: y1 + ya + yb * r,\n r: r\n };\n}\n","import enclose from \"./enclose\";\n\nfunction place(b, a, c) {\n var dx = b.x - a.x, x, a2,\n dy = b.y - a.y, y, b2,\n d2 = dx * dx + dy * dy;\n if (d2) {\n a2 = a.r + c.r, a2 *= a2;\n b2 = b.r + c.r, b2 *= b2;\n if (a2 > b2) {\n x = (d2 + b2 - a2) / (2 * d2);\n y = Math.sqrt(Math.max(0, b2 / d2 - x * x));\n c.x = b.x - x * dx - y * dy;\n c.y = b.y - x * dy + y * dx;\n } else {\n x = (d2 + a2 - b2) / (2 * d2);\n y = Math.sqrt(Math.max(0, a2 / d2 - x * x));\n c.x = a.x + x * dx - y * dy;\n c.y = a.y + x * dy + y * dx;\n }\n } else {\n c.x = a.x + c.r;\n c.y = a.y;\n }\n}\n\nfunction intersects(a, b) {\n var dr = a.r + b.r - 1e-6, dx = b.x - a.x, dy = b.y - a.y;\n return dr > 0 && dr * dr > dx * dx + dy * dy;\n}\n\nfunction score(node) {\n var a = node._,\n b = node.next._,\n ab = a.r + b.r,\n dx = (a.x * b.r + b.x * a.r) / ab,\n dy = (a.y * b.r + b.y * a.r) / ab;\n return dx * dx + dy * dy;\n}\n\nfunction Node(circle) {\n this._ = circle;\n this.next = null;\n this.previous = null;\n}\n\nexport function packEnclose(circles) {\n if (!(n = circles.length)) return 0;\n\n var a, b, c, n, aa, ca, i, j, k, sj, sk;\n\n // Place the first circle.\n a = circles[0], a.x = 0, a.y = 0;\n if (!(n > 1)) return a.r;\n\n // Place the second circle.\n b = circles[1], a.x = -b.r, b.x = a.r, b.y = 0;\n if (!(n > 2)) return a.r + b.r;\n\n // Place the third circle.\n place(b, a, c = circles[2]);\n\n // Initialize the front-chain using the first three circles a, b and c.\n a = new Node(a), b = new Node(b), c = new Node(c);\n a.next = c.previous = b;\n b.next = a.previous = c;\n c.next = b.previous = a;\n\n // Attempt to place each remaining circle…\n pack: for (i = 3; i < n; ++i) {\n place(a._, b._, c = circles[i]), c = new Node(c);\n\n // Find the closest intersecting circle on the front-chain, if any.\n // “Closeness” is determined by linear distance along the front-chain.\n // “Ahead” or “behind” is likewise determined by linear distance.\n j = b.next, k = a.previous, sj = b._.r, sk = a._.r;\n do {\n if (sj <= sk) {\n if (intersects(j._, c._)) {\n b = j, a.next = b, b.previous = a, --i;\n continue pack;\n }\n sj += j._.r, j = j.next;\n } else {\n if (intersects(k._, c._)) {\n a = k, a.next = b, b.previous = a, --i;\n continue pack;\n }\n sk += k._.r, k = k.previous;\n }\n } while (j !== k.next);\n\n // Success! Insert the new circle c between a and b.\n c.previous = a, c.next = b, a.next = b.previous = b = c;\n\n // Compute the new closest circle pair to the centroid.\n aa = score(a);\n while ((c = c.next) !== b) {\n if ((ca = score(c)) < aa) {\n a = c, aa = ca;\n }\n }\n b = a.next;\n }\n\n // Compute the enclosing circle of the front chain.\n a = [b._], c = b; while ((c = c.next) !== b) a.push(c._); c = enclose(a);\n\n // Translate the circles to put the enclosing circle around the origin.\n for (i = 0; i < n; ++i) a = circles[i], a.x -= c.x, a.y -= c.y;\n\n return c.r;\n}\n\nexport default function(circles) {\n packEnclose(circles);\n return circles;\n}\n","export function optional(f) {\n return f == null ? null : required(f);\n}\n\nexport function required(f) {\n if (typeof f !== \"function\") throw new Error;\n return f;\n}\n","export function constantZero() {\n return 0;\n}\n\nexport default function(x) {\n return function() {\n return x;\n };\n}\n","import {packEnclose} from \"./siblings\";\nimport {optional} from \"../accessors\";\nimport constant, {constantZero} from \"../constant\";\n\nfunction defaultRadius(d) {\n return Math.sqrt(d.value);\n}\n\nexport default function() {\n var radius = null,\n dx = 1,\n dy = 1,\n padding = constantZero;\n\n function pack(root) {\n root.x = dx / 2, root.y = dy / 2;\n if (radius) {\n root.eachBefore(radiusLeaf(radius))\n .eachAfter(packChildren(padding, 0.5))\n .eachBefore(translateChild(1));\n } else {\n root.eachBefore(radiusLeaf(defaultRadius))\n .eachAfter(packChildren(constantZero, 1))\n .eachAfter(packChildren(padding, root.r / Math.min(dx, dy)))\n .eachBefore(translateChild(Math.min(dx, dy) / (2 * root.r)));\n }\n return root;\n }\n\n pack.radius = function(x) {\n return arguments.length ? (radius = optional(x), pack) : radius;\n };\n\n pack.size = function(x) {\n return arguments.length ? (dx = +x[0], dy = +x[1], pack) : [dx, dy];\n };\n\n pack.padding = function(x) {\n return arguments.length ? (padding = typeof x === \"function\" ? x : constant(+x), pack) : padding;\n };\n\n return pack;\n}\n\nfunction radiusLeaf(radius) {\n return function(node) {\n if (!node.children) {\n node.r = Math.max(0, +radius(node) || 0);\n }\n };\n}\n\nfunction packChildren(padding, k) {\n return function(node) {\n if (children = node.children) {\n var children,\n i,\n n = children.length,\n r = padding(node) * k || 0,\n e;\n\n if (r) for (i = 0; i < n; ++i) children[i].r += r;\n e = packEnclose(children);\n if (r) for (i = 0; i < n; ++i) children[i].r -= r;\n node.r = e + r;\n }\n };\n}\n\nfunction translateChild(k) {\n return function(node) {\n var parent = node.parent;\n node.r *= k;\n if (parent) {\n node.x = parent.x + k * node.x;\n node.y = parent.y + k * node.y;\n }\n };\n}\n","export default function(node) {\n node.x0 = Math.round(node.x0);\n node.y0 = Math.round(node.y0);\n node.x1 = Math.round(node.x1);\n node.y1 = Math.round(node.y1);\n}\n","export default function(parent, x0, y0, x1, y1) {\n var nodes = parent.children,\n node,\n i = -1,\n n = nodes.length,\n k = parent.value && (x1 - x0) / parent.value;\n\n while (++i < n) {\n node = nodes[i], node.y0 = y0, node.y1 = y1;\n node.x0 = x0, node.x1 = x0 += node.value * k;\n }\n}\n","import roundNode from \"./treemap/round\";\nimport treemapDice from \"./treemap/dice\";\n\nexport default function() {\n var dx = 1,\n dy = 1,\n padding = 0,\n round = false;\n\n function partition(root) {\n var n = root.height + 1;\n root.x0 =\n root.y0 = padding;\n root.x1 = dx;\n root.y1 = dy / n;\n root.eachBefore(positionNode(dy, n));\n if (round) root.eachBefore(roundNode);\n return root;\n }\n\n function positionNode(dy, n) {\n return function(node) {\n if (node.children) {\n treemapDice(node, node.x0, dy * (node.depth + 1) / n, node.x1, dy * (node.depth + 2) / n);\n }\n var x0 = node.x0,\n y0 = node.y0,\n x1 = node.x1 - padding,\n y1 = node.y1 - padding;\n if (x1 < x0) x0 = x1 = (x0 + x1) / 2;\n if (y1 < y0) y0 = y1 = (y0 + y1) / 2;\n node.x0 = x0;\n node.y0 = y0;\n node.x1 = x1;\n node.y1 = y1;\n };\n }\n\n partition.round = function(x) {\n return arguments.length ? (round = !!x, partition) : round;\n };\n\n partition.size = function(x) {\n return arguments.length ? (dx = +x[0], dy = +x[1], partition) : [dx, dy];\n };\n\n partition.padding = function(x) {\n return arguments.length ? (padding = +x, partition) : padding;\n };\n\n return partition;\n}\n","import {required} from \"./accessors\";\nimport {Node, computeHeight} from \"./hierarchy/index\";\n\nvar keyPrefix = \"$\", // Protect against keys like “__proto__”.\n preroot = {depth: -1},\n ambiguous = {};\n\nfunction defaultId(d) {\n return d.id;\n}\n\nfunction defaultParentId(d) {\n return d.parentId;\n}\n\nexport default function() {\n var id = defaultId,\n parentId = defaultParentId;\n\n function stratify(data) {\n var d,\n i,\n n = data.length,\n root,\n parent,\n node,\n nodes = new Array(n),\n nodeId,\n nodeKey,\n nodeByKey = {};\n\n for (i = 0; i < n; ++i) {\n d = data[i], node = nodes[i] = new Node(d);\n if ((nodeId = id(d, i, data)) != null && (nodeId += \"\")) {\n nodeKey = keyPrefix + (node.id = nodeId);\n nodeByKey[nodeKey] = nodeKey in nodeByKey ? ambiguous : node;\n }\n }\n\n for (i = 0; i < n; ++i) {\n node = nodes[i], nodeId = parentId(data[i], i, data);\n if (nodeId == null || !(nodeId += \"\")) {\n if (root) throw new Error(\"multiple roots\");\n root = node;\n } else {\n parent = nodeByKey[keyPrefix + nodeId];\n if (!parent) throw new Error(\"missing: \" + nodeId);\n if (parent === ambiguous) throw new Error(\"ambiguous: \" + nodeId);\n if (parent.children) parent.children.push(node);\n else parent.children = [node];\n node.parent = parent;\n }\n }\n\n if (!root) throw new Error(\"no root\");\n root.parent = preroot;\n root.eachBefore(function(node) { node.depth = node.parent.depth + 1; --n; }).eachBefore(computeHeight);\n root.parent = null;\n if (n > 0) throw new Error(\"cycle\");\n\n return root;\n }\n\n stratify.id = function(x) {\n return arguments.length ? (id = required(x), stratify) : id;\n };\n\n stratify.parentId = function(x) {\n return arguments.length ? (parentId = required(x), stratify) : parentId;\n };\n\n return stratify;\n}\n","import {Node} from \"./hierarchy/index\";\n\nfunction defaultSeparation(a, b) {\n return a.parent === b.parent ? 1 : 2;\n}\n\n// function radialSeparation(a, b) {\n// return (a.parent === b.parent ? 1 : 2) / a.depth;\n// }\n\n// This function is used to traverse the left contour of a subtree (or\n// subforest). It returns the successor of v on this contour. This successor is\n// either given by the leftmost child of v or by the thread of v. The function\n// returns null if and only if v is on the highest level of its subtree.\nfunction nextLeft(v) {\n var children = v.children;\n return children ? children[0] : v.t;\n}\n\n// This function works analogously to nextLeft.\nfunction nextRight(v) {\n var children = v.children;\n return children ? children[children.length - 1] : v.t;\n}\n\n// Shifts the current subtree rooted at w+. This is done by increasing\n// prelim(w+) and mod(w+) by shift.\nfunction moveSubtree(wm, wp, shift) {\n var change = shift / (wp.i - wm.i);\n wp.c -= change;\n wp.s += shift;\n wm.c += change;\n wp.z += shift;\n wp.m += shift;\n}\n\n// All other shifts, applied to the smaller subtrees between w- and w+, are\n// performed by this function. To prepare the shifts, we have to adjust\n// change(w+), shift(w+), and change(w-).\nfunction executeShifts(v) {\n var shift = 0,\n change = 0,\n children = v.children,\n i = children.length,\n w;\n while (--i >= 0) {\n w = children[i];\n w.z += shift;\n w.m += shift;\n shift += w.s + (change += w.c);\n }\n}\n\n// If vi-’s ancestor is a sibling of v, returns vi-’s ancestor. Otherwise,\n// returns the specified (default) ancestor.\nfunction nextAncestor(vim, v, ancestor) {\n return vim.a.parent === v.parent ? vim.a : ancestor;\n}\n\nfunction TreeNode(node, i) {\n this._ = node;\n this.parent = null;\n this.children = null;\n this.A = null; // default ancestor\n this.a = this; // ancestor\n this.z = 0; // prelim\n this.m = 0; // mod\n this.c = 0; // change\n this.s = 0; // shift\n this.t = null; // thread\n this.i = i; // number\n}\n\nTreeNode.prototype = Object.create(Node.prototype);\n\nfunction treeRoot(root) {\n var tree = new TreeNode(root, 0),\n node,\n nodes = [tree],\n child,\n children,\n i,\n n;\n\n while (node = nodes.pop()) {\n if (children = node._.children) {\n node.children = new Array(n = children.length);\n for (i = n - 1; i >= 0; --i) {\n nodes.push(child = node.children[i] = new TreeNode(children[i], i));\n child.parent = node;\n }\n }\n }\n\n (tree.parent = new TreeNode(null, 0)).children = [tree];\n return tree;\n}\n\n// Node-link tree diagram using the Reingold-Tilford \"tidy\" algorithm\nexport default function() {\n var separation = defaultSeparation,\n dx = 1,\n dy = 1,\n nodeSize = null;\n\n function tree(root) {\n var t = treeRoot(root);\n\n // Compute the layout using Buchheim et al.’s algorithm.\n t.eachAfter(firstWalk), t.parent.m = -t.z;\n t.eachBefore(secondWalk);\n\n // If a fixed node size is specified, scale x and y.\n if (nodeSize) root.eachBefore(sizeNode);\n\n // If a fixed tree size is specified, scale x and y based on the extent.\n // Compute the left-most, right-most, and depth-most nodes for extents.\n else {\n var left = root,\n right = root,\n bottom = root;\n root.eachBefore(function(node) {\n if (node.x < left.x) left = node;\n if (node.x > right.x) right = node;\n if (node.depth > bottom.depth) bottom = node;\n });\n var s = left === right ? 1 : separation(left, right) / 2,\n tx = s - left.x,\n kx = dx / (right.x + s + tx),\n ky = dy / (bottom.depth || 1);\n root.eachBefore(function(node) {\n node.x = (node.x + tx) * kx;\n node.y = node.depth * ky;\n });\n }\n\n return root;\n }\n\n // Computes a preliminary x-coordinate for v. Before that, FIRST WALK is\n // applied recursively to the children of v, as well as the function\n // APPORTION. After spacing out the children by calling EXECUTE SHIFTS, the\n // node v is placed to the midpoint of its outermost children.\n function firstWalk(v) {\n var children = v.children,\n siblings = v.parent.children,\n w = v.i ? siblings[v.i - 1] : null;\n if (children) {\n executeShifts(v);\n var midpoint = (children[0].z + children[children.length - 1].z) / 2;\n if (w) {\n v.z = w.z + separation(v._, w._);\n v.m = v.z - midpoint;\n } else {\n v.z = midpoint;\n }\n } else if (w) {\n v.z = w.z + separation(v._, w._);\n }\n v.parent.A = apportion(v, w, v.parent.A || siblings[0]);\n }\n\n // Computes all real x-coordinates by summing up the modifiers recursively.\n function secondWalk(v) {\n v._.x = v.z + v.parent.m;\n v.m += v.parent.m;\n }\n\n // The core of the algorithm. Here, a new subtree is combined with the\n // previous subtrees. Threads are used to traverse the inside and outside\n // contours of the left and right subtree up to the highest common level. The\n // vertices used for the traversals are vi+, vi-, vo-, and vo+, where the\n // superscript o means outside and i means inside, the subscript - means left\n // subtree and + means right subtree. For summing up the modifiers along the\n // contour, we use respective variables si+, si-, so-, and so+. Whenever two\n // nodes of the inside contours conflict, we compute the left one of the\n // greatest uncommon ancestors using the function ANCESTOR and call MOVE\n // SUBTREE to shift the subtree and prepare the shifts of smaller subtrees.\n // Finally, we add a new thread (if necessary).\n function apportion(v, w, ancestor) {\n if (w) {\n var vip = v,\n vop = v,\n vim = w,\n vom = vip.parent.children[0],\n sip = vip.m,\n sop = vop.m,\n sim = vim.m,\n som = vom.m,\n shift;\n while (vim = nextRight(vim), vip = nextLeft(vip), vim && vip) {\n vom = nextLeft(vom);\n vop = nextRight(vop);\n vop.a = v;\n shift = vim.z + sim - vip.z - sip + separation(vim._, vip._);\n if (shift > 0) {\n moveSubtree(nextAncestor(vim, v, ancestor), v, shift);\n sip += shift;\n sop += shift;\n }\n sim += vim.m;\n sip += vip.m;\n som += vom.m;\n sop += vop.m;\n }\n if (vim && !nextRight(vop)) {\n vop.t = vim;\n vop.m += sim - sop;\n }\n if (vip && !nextLeft(vom)) {\n vom.t = vip;\n vom.m += sip - som;\n ancestor = v;\n }\n }\n return ancestor;\n }\n\n function sizeNode(node) {\n node.x *= dx;\n node.y = node.depth * dy;\n }\n\n tree.separation = function(x) {\n return arguments.length ? (separation = x, tree) : separation;\n };\n\n tree.size = function(x) {\n return arguments.length ? (nodeSize = false, dx = +x[0], dy = +x[1], tree) : (nodeSize ? null : [dx, dy]);\n };\n\n tree.nodeSize = function(x) {\n return arguments.length ? (nodeSize = true, dx = +x[0], dy = +x[1], tree) : (nodeSize ? [dx, dy] : null);\n };\n\n return tree;\n}\n","export default function(parent, x0, y0, x1, y1) {\n var nodes = parent.children,\n node,\n i = -1,\n n = nodes.length,\n k = parent.value && (y1 - y0) / parent.value;\n\n while (++i < n) {\n node = nodes[i], node.x0 = x0, node.x1 = x1;\n node.y0 = y0, node.y1 = y0 += node.value * k;\n }\n}\n","import treemapDice from \"./dice\";\nimport treemapSlice from \"./slice\";\n\nexport var phi = (1 + Math.sqrt(5)) / 2;\n\nexport function squarifyRatio(ratio, parent, x0, y0, x1, y1) {\n var rows = [],\n nodes = parent.children,\n row,\n nodeValue,\n i0 = 0,\n i1 = 0,\n n = nodes.length,\n dx, dy,\n value = parent.value,\n sumValue,\n minValue,\n maxValue,\n newRatio,\n minRatio,\n alpha,\n beta;\n\n while (i0 < n) {\n dx = x1 - x0, dy = y1 - y0;\n\n // Find the next non-empty node.\n do sumValue = nodes[i1++].value; while (!sumValue && i1 < n);\n minValue = maxValue = sumValue;\n alpha = Math.max(dy / dx, dx / dy) / (value * ratio);\n beta = sumValue * sumValue * alpha;\n minRatio = Math.max(maxValue / beta, beta / minValue);\n\n // Keep adding nodes while the aspect ratio maintains or improves.\n for (; i1 < n; ++i1) {\n sumValue += nodeValue = nodes[i1].value;\n if (nodeValue < minValue) minValue = nodeValue;\n if (nodeValue > maxValue) maxValue = nodeValue;\n beta = sumValue * sumValue * alpha;\n newRatio = Math.max(maxValue / beta, beta / minValue);\n if (newRatio > minRatio) { sumValue -= nodeValue; break; }\n minRatio = newRatio;\n }\n\n // Position and record the row orientation.\n rows.push(row = {value: sumValue, dice: dx < dy, children: nodes.slice(i0, i1)});\n if (row.dice) treemapDice(row, x0, y0, x1, value ? y0 += dy * sumValue / value : y1);\n else treemapSlice(row, x0, y0, value ? x0 += dx * sumValue / value : x1, y1);\n value -= sumValue, i0 = i1;\n }\n\n return rows;\n}\n\nexport default (function custom(ratio) {\n\n function squarify(parent, x0, y0, x1, y1) {\n squarifyRatio(ratio, parent, x0, y0, x1, y1);\n }\n\n squarify.ratio = function(x) {\n return custom((x = +x) > 1 ? x : 1);\n };\n\n return squarify;\n})(phi);\n","import roundNode from \"./round\";\nimport squarify from \"./squarify\";\nimport {required} from \"../accessors\";\nimport constant, {constantZero} from \"../constant\";\n\nexport default function() {\n var tile = squarify,\n round = false,\n dx = 1,\n dy = 1,\n paddingStack = [0],\n paddingInner = constantZero,\n paddingTop = constantZero,\n paddingRight = constantZero,\n paddingBottom = constantZero,\n paddingLeft = constantZero;\n\n function treemap(root) {\n root.x0 =\n root.y0 = 0;\n root.x1 = dx;\n root.y1 = dy;\n root.eachBefore(positionNode);\n paddingStack = [0];\n if (round) root.eachBefore(roundNode);\n return root;\n }\n\n function positionNode(node) {\n var p = paddingStack[node.depth],\n x0 = node.x0 + p,\n y0 = node.y0 + p,\n x1 = node.x1 - p,\n y1 = node.y1 - p;\n if (x1 < x0) x0 = x1 = (x0 + x1) / 2;\n if (y1 < y0) y0 = y1 = (y0 + y1) / 2;\n node.x0 = x0;\n node.y0 = y0;\n node.x1 = x1;\n node.y1 = y1;\n if (node.children) {\n p = paddingStack[node.depth + 1] = paddingInner(node) / 2;\n x0 += paddingLeft(node) - p;\n y0 += paddingTop(node) - p;\n x1 -= paddingRight(node) - p;\n y1 -= paddingBottom(node) - p;\n if (x1 < x0) x0 = x1 = (x0 + x1) / 2;\n if (y1 < y0) y0 = y1 = (y0 + y1) / 2;\n tile(node, x0, y0, x1, y1);\n }\n }\n\n treemap.round = function(x) {\n return arguments.length ? (round = !!x, treemap) : round;\n };\n\n treemap.size = function(x) {\n return arguments.length ? (dx = +x[0], dy = +x[1], treemap) : [dx, dy];\n };\n\n treemap.tile = function(x) {\n return arguments.length ? (tile = required(x), treemap) : tile;\n };\n\n treemap.padding = function(x) {\n return arguments.length ? treemap.paddingInner(x).paddingOuter(x) : treemap.paddingInner();\n };\n\n treemap.paddingInner = function(x) {\n return arguments.length ? (paddingInner = typeof x === \"function\" ? x : constant(+x), treemap) : paddingInner;\n };\n\n treemap.paddingOuter = function(x) {\n return arguments.length ? treemap.paddingTop(x).paddingRight(x).paddingBottom(x).paddingLeft(x) : treemap.paddingTop();\n };\n\n treemap.paddingTop = function(x) {\n return arguments.length ? (paddingTop = typeof x === \"function\" ? x : constant(+x), treemap) : paddingTop;\n };\n\n treemap.paddingRight = function(x) {\n return arguments.length ? (paddingRight = typeof x === \"function\" ? x : constant(+x), treemap) : paddingRight;\n };\n\n treemap.paddingBottom = function(x) {\n return arguments.length ? (paddingBottom = typeof x === \"function\" ? x : constant(+x), treemap) : paddingBottom;\n };\n\n treemap.paddingLeft = function(x) {\n return arguments.length ? (paddingLeft = typeof x === \"function\" ? x : constant(+x), treemap) : paddingLeft;\n };\n\n return treemap;\n}\n","export default function(parent, x0, y0, x1, y1) {\n var nodes = parent.children,\n i, n = nodes.length,\n sum, sums = new Array(n + 1);\n\n for (sums[0] = sum = i = 0; i < n; ++i) {\n sums[i + 1] = sum += nodes[i].value;\n }\n\n partition(0, n, parent.value, x0, y0, x1, y1);\n\n function partition(i, j, value, x0, y0, x1, y1) {\n if (i >= j - 1) {\n var node = nodes[i];\n node.x0 = x0, node.y0 = y0;\n node.x1 = x1, node.y1 = y1;\n return;\n }\n\n var valueOffset = sums[i],\n valueTarget = (value / 2) + valueOffset,\n k = i + 1,\n hi = j - 1;\n\n while (k < hi) {\n var mid = k + hi >>> 1;\n if (sums[mid] < valueTarget) k = mid + 1;\n else hi = mid;\n }\n\n if ((valueTarget - sums[k - 1]) < (sums[k] - valueTarget) && i + 1 < k) --k;\n\n var valueLeft = sums[k] - valueOffset,\n valueRight = value - valueLeft;\n\n if ((x1 - x0) > (y1 - y0)) {\n var xk = (x0 * valueRight + x1 * valueLeft) / value;\n partition(i, k, valueLeft, x0, y0, xk, y1);\n partition(k, j, valueRight, xk, y0, x1, y1);\n } else {\n var yk = (y0 * valueRight + y1 * valueLeft) / value;\n partition(i, k, valueLeft, x0, y0, x1, yk);\n partition(k, j, valueRight, x0, yk, x1, y1);\n }\n }\n}\n","import dice from \"./dice\";\nimport slice from \"./slice\";\n\nexport default function(parent, x0, y0, x1, y1) {\n (parent.depth & 1 ? slice : dice)(parent, x0, y0, x1, y1);\n}\n","import treemapDice from \"./dice\";\nimport treemapSlice from \"./slice\";\nimport {phi, squarifyRatio} from \"./squarify\";\n\nexport default (function custom(ratio) {\n\n function resquarify(parent, x0, y0, x1, y1) {\n if ((rows = parent._squarify) && (rows.ratio === ratio)) {\n var rows,\n row,\n nodes,\n i,\n j = -1,\n n,\n m = rows.length,\n value = parent.value;\n\n while (++j < m) {\n row = rows[j], nodes = row.children;\n for (i = row.value = 0, n = nodes.length; i < n; ++i) row.value += nodes[i].value;\n if (row.dice) treemapDice(row, x0, y0, x1, y0 += (y1 - y0) * row.value / value);\n else treemapSlice(row, x0, y0, x0 += (x1 - x0) * row.value / value, y1);\n value -= row.value;\n }\n } else {\n parent._squarify = rows = squarifyRatio(ratio, parent, x0, y0, x1, y1);\n rows.ratio = ratio;\n }\n }\n\n resquarify.ratio = function(x) {\n return custom((x = +x) > 1 ? x : 1);\n };\n\n return resquarify;\n})(phi);\n","export default function(polygon) {\n var i = -1,\n n = polygon.length,\n a,\n b = polygon[n - 1],\n area = 0;\n\n while (++i < n) {\n a = b;\n b = polygon[i];\n area += a[1] * b[0] - a[0] * b[1];\n }\n\n return area / 2;\n}\n","export default function(polygon) {\n var i = -1,\n n = polygon.length,\n x = 0,\n y = 0,\n a,\n b = polygon[n - 1],\n c,\n k = 0;\n\n while (++i < n) {\n a = b;\n b = polygon[i];\n k += c = a[0] * b[1] - b[0] * a[1];\n x += (a[0] + b[0]) * c;\n y += (a[1] + b[1]) * c;\n }\n\n return k *= 3, [x / k, y / k];\n}\n","// Returns the 2D cross product of AB and AC vectors, i.e., the z-component of\n// the 3D cross product in a quadrant I Cartesian coordinate system (+x is\n// right, +y is up). Returns a positive value if ABC is counter-clockwise,\n// negative if clockwise, and zero if the points are collinear.\nexport default function(a, b, c) {\n return (b[0] - a[0]) * (c[1] - a[1]) - (b[1] - a[1]) * (c[0] - a[0]);\n}\n","import cross from \"./cross\";\n\nfunction lexicographicOrder(a, b) {\n return a[0] - b[0] || a[1] - b[1];\n}\n\n// Computes the upper convex hull per the monotone chain algorithm.\n// Assumes points.length >= 3, is sorted by x, unique in y.\n// Returns an array of indices into points in left-to-right order.\nfunction computeUpperHullIndexes(points) {\n var n = points.length,\n indexes = [0, 1],\n size = 2;\n\n for (var i = 2; i < n; ++i) {\n while (size > 1 && cross(points[indexes[size - 2]], points[indexes[size - 1]], points[i]) <= 0) --size;\n indexes[size++] = i;\n }\n\n return indexes.slice(0, size); // remove popped points\n}\n\nexport default function(points) {\n if ((n = points.length) < 3) return null;\n\n var i,\n n,\n sortedPoints = new Array(n),\n flippedPoints = new Array(n);\n\n for (i = 0; i < n; ++i) sortedPoints[i] = [+points[i][0], +points[i][1], i];\n sortedPoints.sort(lexicographicOrder);\n for (i = 0; i < n; ++i) flippedPoints[i] = [sortedPoints[i][0], -sortedPoints[i][1]];\n\n var upperIndexes = computeUpperHullIndexes(sortedPoints),\n lowerIndexes = computeUpperHullIndexes(flippedPoints);\n\n // Construct the hull polygon, removing possible duplicate endpoints.\n var skipLeft = lowerIndexes[0] === upperIndexes[0],\n skipRight = lowerIndexes[lowerIndexes.length - 1] === upperIndexes[upperIndexes.length - 1],\n hull = [];\n\n // Add upper hull in right-to-l order.\n // Then add lower hull in left-to-right order.\n for (i = upperIndexes.length - 1; i >= 0; --i) hull.push(points[sortedPoints[upperIndexes[i]][2]]);\n for (i = +skipLeft; i < lowerIndexes.length - skipRight; ++i) hull.push(points[sortedPoints[lowerIndexes[i]][2]]);\n\n return hull;\n}\n","export default function(polygon, point) {\n var n = polygon.length,\n p = polygon[n - 1],\n x = point[0], y = point[1],\n x0 = p[0], y0 = p[1],\n x1, y1,\n inside = false;\n\n for (var i = 0; i < n; ++i) {\n p = polygon[i], x1 = p[0], y1 = p[1];\n if (((y1 > y) !== (y0 > y)) && (x < (x0 - x1) * (y - y1) / (y0 - y1) + x1)) inside = !inside;\n x0 = x1, y0 = y1;\n }\n\n return inside;\n}\n","export default function(polygon) {\n var i = -1,\n n = polygon.length,\n b = polygon[n - 1],\n xa,\n ya,\n xb = b[0],\n yb = b[1],\n perimeter = 0;\n\n while (++i < n) {\n xa = xb;\n ya = yb;\n b = polygon[i];\n xb = b[0];\n yb = b[1];\n xa -= xb;\n ya -= yb;\n perimeter += Math.sqrt(xa * xa + ya * ya);\n }\n\n return perimeter;\n}\n","export default function() {\n return Math.random();\n}\n","import defaultSource from \"./defaultSource\";\n\nexport default (function sourceRandomUniform(source) {\n function randomUniform(min, max) {\n min = min == null ? 0 : +min;\n max = max == null ? 1 : +max;\n if (arguments.length === 1) max = min, min = 0;\n else max -= min;\n return function() {\n return source() * max + min;\n };\n }\n\n randomUniform.source = sourceRandomUniform;\n\n return randomUniform;\n})(defaultSource);\n","import defaultSource from \"./defaultSource\";\n\nexport default (function sourceRandomNormal(source) {\n function randomNormal(mu, sigma) {\n var x, r;\n mu = mu == null ? 0 : +mu;\n sigma = sigma == null ? 1 : +sigma;\n return function() {\n var y;\n\n // If available, use the second previously-generated uniform random.\n if (x != null) y = x, x = null;\n\n // Otherwise, generate a new x and y.\n else do {\n x = source() * 2 - 1;\n y = source() * 2 - 1;\n r = x * x + y * y;\n } while (!r || r > 1);\n\n return mu + sigma * y * Math.sqrt(-2 * Math.log(r) / r);\n };\n }\n\n randomNormal.source = sourceRandomNormal;\n\n return randomNormal;\n})(defaultSource);\n","import defaultSource from \"./defaultSource\";\nimport normal from \"./normal\";\n\nexport default (function sourceRandomLogNormal(source) {\n function randomLogNormal() {\n var randomNormal = normal.source(source).apply(this, arguments);\n return function() {\n return Math.exp(randomNormal());\n };\n }\n\n randomLogNormal.source = sourceRandomLogNormal;\n\n return randomLogNormal;\n})(defaultSource);\n","import defaultSource from \"./defaultSource\";\n\nexport default (function sourceRandomIrwinHall(source) {\n function randomIrwinHall(n) {\n return function() {\n for (var sum = 0, i = 0; i < n; ++i) sum += source();\n return sum;\n };\n }\n\n randomIrwinHall.source = sourceRandomIrwinHall;\n\n return randomIrwinHall;\n})(defaultSource);\n","import defaultSource from \"./defaultSource\";\nimport irwinHall from \"./irwinHall\";\n\nexport default (function sourceRandomBates(source) {\n function randomBates(n) {\n var randomIrwinHall = irwinHall.source(source)(n);\n return function() {\n return randomIrwinHall() / n;\n };\n }\n\n randomBates.source = sourceRandomBates;\n\n return randomBates;\n})(defaultSource);\n","import defaultSource from \"./defaultSource\";\n\nexport default (function sourceRandomExponential(source) {\n function randomExponential(lambda) {\n return function() {\n return -Math.log(1 - source()) / lambda;\n };\n }\n\n randomExponential.source = sourceRandomExponential;\n\n return randomExponential;\n})(defaultSource);\n","var array = Array.prototype;\n\nexport var map = array.map;\nexport var slice = array.slice;\n","import {map} from \"d3-collection\";\nimport {slice} from \"./array\";\n\nexport var implicit = {name: \"implicit\"};\n\nexport default function ordinal(range) {\n var index = map(),\n domain = [],\n unknown = implicit;\n\n range = range == null ? [] : slice.call(range);\n\n function scale(d) {\n var key = d + \"\", i = index.get(key);\n if (!i) {\n if (unknown !== implicit) return unknown;\n index.set(key, i = domain.push(d));\n }\n return range[(i - 1) % range.length];\n }\n\n scale.domain = function(_) {\n if (!arguments.length) return domain.slice();\n domain = [], index = map();\n var i = -1, n = _.length, d, key;\n while (++i < n) if (!index.has(key = (d = _[i]) + \"\")) index.set(key, domain.push(d));\n return scale;\n };\n\n scale.range = function(_) {\n return arguments.length ? (range = slice.call(_), scale) : range.slice();\n };\n\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n scale.copy = function() {\n return ordinal()\n .domain(domain)\n .range(range)\n .unknown(unknown);\n };\n\n return scale;\n}\n","import {range as sequence} from \"d3-array\";\nimport ordinal from \"./ordinal\";\n\nexport default function band() {\n var scale = ordinal().unknown(undefined),\n domain = scale.domain,\n ordinalRange = scale.range,\n range = [0, 1],\n step,\n bandwidth,\n round = false,\n paddingInner = 0,\n paddingOuter = 0,\n align = 0.5;\n\n delete scale.unknown;\n\n function rescale() {\n var n = domain().length,\n reverse = range[1] < range[0],\n start = range[reverse - 0],\n stop = range[1 - reverse];\n step = (stop - start) / Math.max(1, n - paddingInner + paddingOuter * 2);\n if (round) step = Math.floor(step);\n start += (stop - start - step * (n - paddingInner)) * align;\n bandwidth = step * (1 - paddingInner);\n if (round) start = Math.round(start), bandwidth = Math.round(bandwidth);\n var values = sequence(n).map(function(i) { return start + step * i; });\n return ordinalRange(reverse ? values.reverse() : values);\n }\n\n scale.domain = function(_) {\n return arguments.length ? (domain(_), rescale()) : domain();\n };\n\n scale.range = function(_) {\n return arguments.length ? (range = [+_[0], +_[1]], rescale()) : range.slice();\n };\n\n scale.rangeRound = function(_) {\n return range = [+_[0], +_[1]], round = true, rescale();\n };\n\n scale.bandwidth = function() {\n return bandwidth;\n };\n\n scale.step = function() {\n return step;\n };\n\n scale.round = function(_) {\n return arguments.length ? (round = !!_, rescale()) : round;\n };\n\n scale.padding = function(_) {\n return arguments.length ? (paddingInner = paddingOuter = Math.max(0, Math.min(1, _)), rescale()) : paddingInner;\n };\n\n scale.paddingInner = function(_) {\n return arguments.length ? (paddingInner = Math.max(0, Math.min(1, _)), rescale()) : paddingInner;\n };\n\n scale.paddingOuter = function(_) {\n return arguments.length ? (paddingOuter = Math.max(0, Math.min(1, _)), rescale()) : paddingOuter;\n };\n\n scale.align = function(_) {\n return arguments.length ? (align = Math.max(0, Math.min(1, _)), rescale()) : align;\n };\n\n scale.copy = function() {\n return band()\n .domain(domain())\n .range(range)\n .round(round)\n .paddingInner(paddingInner)\n .paddingOuter(paddingOuter)\n .align(align);\n };\n\n return rescale();\n}\n\nfunction pointish(scale) {\n var copy = scale.copy;\n\n scale.padding = scale.paddingOuter;\n delete scale.paddingInner;\n delete scale.paddingOuter;\n\n scale.copy = function() {\n return pointish(copy());\n };\n\n return scale;\n}\n\nexport function point() {\n return pointish(band().paddingInner(1));\n}\n","export default function(x) {\n return function() {\n return x;\n };\n}\n","export default function(x) {\n return +x;\n}\n","import {bisect} from \"d3-array\";\nimport {interpolate as interpolateValue, interpolateRound} from \"d3-interpolate\";\nimport {map, slice} from \"./array\";\nimport constant from \"./constant\";\nimport number from \"./number\";\n\nvar unit = [0, 1];\n\nexport function deinterpolateLinear(a, b) {\n return (b -= (a = +a))\n ? function(x) { return (x - a) / b; }\n : constant(b);\n}\n\nfunction deinterpolateClamp(deinterpolate) {\n return function(a, b) {\n var d = deinterpolate(a = +a, b = +b);\n return function(x) { return x <= a ? 0 : x >= b ? 1 : d(x); };\n };\n}\n\nfunction reinterpolateClamp(reinterpolate) {\n return function(a, b) {\n var r = reinterpolate(a = +a, b = +b);\n return function(t) { return t <= 0 ? a : t >= 1 ? b : r(t); };\n };\n}\n\nfunction bimap(domain, range, deinterpolate, reinterpolate) {\n var d0 = domain[0], d1 = domain[1], r0 = range[0], r1 = range[1];\n if (d1 < d0) d0 = deinterpolate(d1, d0), r0 = reinterpolate(r1, r0);\n else d0 = deinterpolate(d0, d1), r0 = reinterpolate(r0, r1);\n return function(x) { return r0(d0(x)); };\n}\n\nfunction polymap(domain, range, deinterpolate, reinterpolate) {\n var j = Math.min(domain.length, range.length) - 1,\n d = new Array(j),\n r = new Array(j),\n i = -1;\n\n // Reverse descending domains.\n if (domain[j] < domain[0]) {\n domain = domain.slice().reverse();\n range = range.slice().reverse();\n }\n\n while (++i < j) {\n d[i] = deinterpolate(domain[i], domain[i + 1]);\n r[i] = reinterpolate(range[i], range[i + 1]);\n }\n\n return function(x) {\n var i = bisect(domain, x, 1, j) - 1;\n return r[i](d[i](x));\n };\n}\n\nexport function copy(source, target) {\n return target\n .domain(source.domain())\n .range(source.range())\n .interpolate(source.interpolate())\n .clamp(source.clamp());\n}\n\n// deinterpolate(a, b)(x) takes a domain value x in [a,b] and returns the corresponding parameter t in [0,1].\n// reinterpolate(a, b)(t) takes a parameter t in [0,1] and returns the corresponding domain value x in [a,b].\nexport default function continuous(deinterpolate, reinterpolate) {\n var domain = unit,\n range = unit,\n interpolate = interpolateValue,\n clamp = false,\n piecewise,\n output,\n input;\n\n function rescale() {\n piecewise = Math.min(domain.length, range.length) > 2 ? polymap : bimap;\n output = input = null;\n return scale;\n }\n\n function scale(x) {\n return (output || (output = piecewise(domain, range, clamp ? deinterpolateClamp(deinterpolate) : deinterpolate, interpolate)))(+x);\n }\n\n scale.invert = function(y) {\n return (input || (input = piecewise(range, domain, deinterpolateLinear, clamp ? reinterpolateClamp(reinterpolate) : reinterpolate)))(+y);\n };\n\n scale.domain = function(_) {\n return arguments.length ? (domain = map.call(_, number), rescale()) : domain.slice();\n };\n\n scale.range = function(_) {\n return arguments.length ? (range = slice.call(_), rescale()) : range.slice();\n };\n\n scale.rangeRound = function(_) {\n return range = slice.call(_), interpolate = interpolateRound, rescale();\n };\n\n scale.clamp = function(_) {\n return arguments.length ? (clamp = !!_, rescale()) : clamp;\n };\n\n scale.interpolate = function(_) {\n return arguments.length ? (interpolate = _, rescale()) : interpolate;\n };\n\n return rescale();\n}\n","import {tickStep} from \"d3-array\";\nimport {format, formatPrefix, formatSpecifier, precisionFixed, precisionPrefix, precisionRound} from \"d3-format\";\n\nexport default function(domain, count, specifier) {\n var start = domain[0],\n stop = domain[domain.length - 1],\n step = tickStep(start, stop, count == null ? 10 : count),\n precision;\n specifier = formatSpecifier(specifier == null ? \",f\" : specifier);\n switch (specifier.type) {\n case \"s\": {\n var value = Math.max(Math.abs(start), Math.abs(stop));\n if (specifier.precision == null && !isNaN(precision = precisionPrefix(step, value))) specifier.precision = precision;\n return formatPrefix(specifier, value);\n }\n case \"\":\n case \"e\":\n case \"g\":\n case \"p\":\n case \"r\": {\n if (specifier.precision == null && !isNaN(precision = precisionRound(step, Math.max(Math.abs(start), Math.abs(stop))))) specifier.precision = precision - (specifier.type === \"e\");\n break;\n }\n case \"f\":\n case \"%\": {\n if (specifier.precision == null && !isNaN(precision = precisionFixed(step))) specifier.precision = precision - (specifier.type === \"%\") * 2;\n break;\n }\n }\n return format(specifier);\n}\n","import {ticks, tickIncrement} from \"d3-array\";\nimport {interpolateNumber as reinterpolate} from \"d3-interpolate\";\nimport {default as continuous, copy, deinterpolateLinear as deinterpolate} from \"./continuous\";\nimport tickFormat from \"./tickFormat\";\n\nexport function linearish(scale) {\n var domain = scale.domain;\n\n scale.ticks = function(count) {\n var d = domain();\n return ticks(d[0], d[d.length - 1], count == null ? 10 : count);\n };\n\n scale.tickFormat = function(count, specifier) {\n return tickFormat(domain(), count, specifier);\n };\n\n scale.nice = function(count) {\n if (count == null) count = 10;\n\n var d = domain(),\n i0 = 0,\n i1 = d.length - 1,\n start = d[i0],\n stop = d[i1],\n step;\n\n if (stop < start) {\n step = start, start = stop, stop = step;\n step = i0, i0 = i1, i1 = step;\n }\n\n step = tickIncrement(start, stop, count);\n\n if (step > 0) {\n start = Math.floor(start / step) * step;\n stop = Math.ceil(stop / step) * step;\n step = tickIncrement(start, stop, count);\n } else if (step < 0) {\n start = Math.ceil(start * step) / step;\n stop = Math.floor(stop * step) / step;\n step = tickIncrement(start, stop, count);\n }\n\n if (step > 0) {\n d[i0] = Math.floor(start / step) * step;\n d[i1] = Math.ceil(stop / step) * step;\n domain(d);\n } else if (step < 0) {\n d[i0] = Math.ceil(start * step) / step;\n d[i1] = Math.floor(stop * step) / step;\n domain(d);\n }\n\n return scale;\n };\n\n return scale;\n}\n\nexport default function linear() {\n var scale = continuous(deinterpolate, reinterpolate);\n\n scale.copy = function() {\n return copy(scale, linear());\n };\n\n return linearish(scale);\n}\n","import {map} from \"./array\";\nimport {linearish} from \"./linear\";\nimport number from \"./number\";\n\nexport default function identity() {\n var domain = [0, 1];\n\n function scale(x) {\n return +x;\n }\n\n scale.invert = scale;\n\n scale.domain = scale.range = function(_) {\n return arguments.length ? (domain = map.call(_, number), scale) : domain.slice();\n };\n\n scale.copy = function() {\n return identity().domain(domain);\n };\n\n return linearish(scale);\n}\n","export default function(domain, interval) {\n domain = domain.slice();\n\n var i0 = 0,\n i1 = domain.length - 1,\n x0 = domain[i0],\n x1 = domain[i1],\n t;\n\n if (x1 < x0) {\n t = i0, i0 = i1, i1 = t;\n t = x0, x0 = x1, x1 = t;\n }\n\n domain[i0] = interval.floor(x0);\n domain[i1] = interval.ceil(x1);\n return domain;\n}\n","import {ticks} from \"d3-array\";\nimport {format} from \"d3-format\";\nimport constant from \"./constant\";\nimport nice from \"./nice\";\nimport {default as continuous, copy} from \"./continuous\";\n\nfunction deinterpolate(a, b) {\n return (b = Math.log(b / a))\n ? function(x) { return Math.log(x / a) / b; }\n : constant(b);\n}\n\nfunction reinterpolate(a, b) {\n return a < 0\n ? function(t) { return -Math.pow(-b, t) * Math.pow(-a, 1 - t); }\n : function(t) { return Math.pow(b, t) * Math.pow(a, 1 - t); };\n}\n\nfunction pow10(x) {\n return isFinite(x) ? +(\"1e\" + x) : x < 0 ? 0 : x;\n}\n\nfunction powp(base) {\n return base === 10 ? pow10\n : base === Math.E ? Math.exp\n : function(x) { return Math.pow(base, x); };\n}\n\nfunction logp(base) {\n return base === Math.E ? Math.log\n : base === 10 && Math.log10\n || base === 2 && Math.log2\n || (base = Math.log(base), function(x) { return Math.log(x) / base; });\n}\n\nfunction reflect(f) {\n return function(x) {\n return -f(-x);\n };\n}\n\nexport default function log() {\n var scale = continuous(deinterpolate, reinterpolate).domain([1, 10]),\n domain = scale.domain,\n base = 10,\n logs = logp(10),\n pows = powp(10);\n\n function rescale() {\n logs = logp(base), pows = powp(base);\n if (domain()[0] < 0) logs = reflect(logs), pows = reflect(pows);\n return scale;\n }\n\n scale.base = function(_) {\n return arguments.length ? (base = +_, rescale()) : base;\n };\n\n scale.domain = function(_) {\n return arguments.length ? (domain(_), rescale()) : domain();\n };\n\n scale.ticks = function(count) {\n var d = domain(),\n u = d[0],\n v = d[d.length - 1],\n r;\n\n if (r = v < u) i = u, u = v, v = i;\n\n var i = logs(u),\n j = logs(v),\n p,\n k,\n t,\n n = count == null ? 10 : +count,\n z = [];\n\n if (!(base % 1) && j - i < n) {\n i = Math.round(i) - 1, j = Math.round(j) + 1;\n if (u > 0) for (; i < j; ++i) {\n for (k = 1, p = pows(i); k < base; ++k) {\n t = p * k;\n if (t < u) continue;\n if (t > v) break;\n z.push(t);\n }\n } else for (; i < j; ++i) {\n for (k = base - 1, p = pows(i); k >= 1; --k) {\n t = p * k;\n if (t < u) continue;\n if (t > v) break;\n z.push(t);\n }\n }\n } else {\n z = ticks(i, j, Math.min(j - i, n)).map(pows);\n }\n\n return r ? z.reverse() : z;\n };\n\n scale.tickFormat = function(count, specifier) {\n if (specifier == null) specifier = base === 10 ? \".0e\" : \",\";\n if (typeof specifier !== \"function\") specifier = format(specifier);\n if (count === Infinity) return specifier;\n if (count == null) count = 10;\n var k = Math.max(1, base * count / scale.ticks().length); // TODO fast estimate?\n return function(d) {\n var i = d / pows(Math.round(logs(d)));\n if (i * base < base - 0.5) i *= base;\n return i <= k ? specifier(d) : \"\";\n };\n };\n\n scale.nice = function() {\n return domain(nice(domain(), {\n floor: function(x) { return pows(Math.floor(logs(x))); },\n ceil: function(x) { return pows(Math.ceil(logs(x))); }\n }));\n };\n\n scale.copy = function() {\n return copy(scale, log().base(base));\n };\n\n return scale;\n}\n","import constant from \"./constant\";\nimport {linearish} from \"./linear\";\nimport {default as continuous, copy} from \"./continuous\";\n\nfunction raise(x, exponent) {\n return x < 0 ? -Math.pow(-x, exponent) : Math.pow(x, exponent);\n}\n\nexport default function pow() {\n var exponent = 1,\n scale = continuous(deinterpolate, reinterpolate),\n domain = scale.domain;\n\n function deinterpolate(a, b) {\n return (b = raise(b, exponent) - (a = raise(a, exponent)))\n ? function(x) { return (raise(x, exponent) - a) / b; }\n : constant(b);\n }\n\n function reinterpolate(a, b) {\n b = raise(b, exponent) - (a = raise(a, exponent));\n return function(t) { return raise(a + b * t, 1 / exponent); };\n }\n\n scale.exponent = function(_) {\n return arguments.length ? (exponent = +_, domain(domain())) : exponent;\n };\n\n scale.copy = function() {\n return copy(scale, pow().exponent(exponent));\n };\n\n return linearish(scale);\n}\n\nexport function sqrt() {\n return pow().exponent(0.5);\n}\n","import {ascending, bisect, quantile as threshold} from \"d3-array\";\nimport {slice} from \"./array\";\n\nexport default function quantile() {\n var domain = [],\n range = [],\n thresholds = [];\n\n function rescale() {\n var i = 0, n = Math.max(1, range.length);\n thresholds = new Array(n - 1);\n while (++i < n) thresholds[i - 1] = threshold(domain, i / n);\n return scale;\n }\n\n function scale(x) {\n if (!isNaN(x = +x)) return range[bisect(thresholds, x)];\n }\n\n scale.invertExtent = function(y) {\n var i = range.indexOf(y);\n return i < 0 ? [NaN, NaN] : [\n i > 0 ? thresholds[i - 1] : domain[0],\n i < thresholds.length ? thresholds[i] : domain[domain.length - 1]\n ];\n };\n\n scale.domain = function(_) {\n if (!arguments.length) return domain.slice();\n domain = [];\n for (var i = 0, n = _.length, d; i < n; ++i) if (d = _[i], d != null && !isNaN(d = +d)) domain.push(d);\n domain.sort(ascending);\n return rescale();\n };\n\n scale.range = function(_) {\n return arguments.length ? (range = slice.call(_), rescale()) : range.slice();\n };\n\n scale.quantiles = function() {\n return thresholds.slice();\n };\n\n scale.copy = function() {\n return quantile()\n .domain(domain)\n .range(range);\n };\n\n return scale;\n}\n","import {bisect} from \"d3-array\";\nimport {slice} from \"./array\";\nimport {linearish} from \"./linear\";\n\nexport default function quantize() {\n var x0 = 0,\n x1 = 1,\n n = 1,\n domain = [0.5],\n range = [0, 1];\n\n function scale(x) {\n if (x <= x) return range[bisect(domain, x, 0, n)];\n }\n\n function rescale() {\n var i = -1;\n domain = new Array(n);\n while (++i < n) domain[i] = ((i + 1) * x1 - (i - n) * x0) / (n + 1);\n return scale;\n }\n\n scale.domain = function(_) {\n return arguments.length ? (x0 = +_[0], x1 = +_[1], rescale()) : [x0, x1];\n };\n\n scale.range = function(_) {\n return arguments.length ? (n = (range = slice.call(_)).length - 1, rescale()) : range.slice();\n };\n\n scale.invertExtent = function(y) {\n var i = range.indexOf(y);\n return i < 0 ? [NaN, NaN]\n : i < 1 ? [x0, domain[0]]\n : i >= n ? [domain[n - 1], x1]\n : [domain[i - 1], domain[i]];\n };\n\n scale.copy = function() {\n return quantize()\n .domain([x0, x1])\n .range(range);\n };\n\n return linearish(scale);\n}\n","import {bisect} from \"d3-array\";\nimport {slice} from \"./array\";\n\nexport default function threshold() {\n var domain = [0.5],\n range = [0, 1],\n n = 1;\n\n function scale(x) {\n if (x <= x) return range[bisect(domain, x, 0, n)];\n }\n\n scale.domain = function(_) {\n return arguments.length ? (domain = slice.call(_), n = Math.min(domain.length, range.length - 1), scale) : domain.slice();\n };\n\n scale.range = function(_) {\n return arguments.length ? (range = slice.call(_), n = Math.min(domain.length, range.length - 1), scale) : range.slice();\n };\n\n scale.invertExtent = function(y) {\n var i = range.indexOf(y);\n return [domain[i - 1], domain[i]];\n };\n\n scale.copy = function() {\n return threshold()\n .domain(domain)\n .range(range);\n };\n\n return scale;\n}\n","var t0 = new Date,\n t1 = new Date;\n\nexport default function newInterval(floori, offseti, count, field) {\n\n function interval(date) {\n return floori(date = new Date(+date)), date;\n }\n\n interval.floor = interval;\n\n interval.ceil = function(date) {\n return floori(date = new Date(date - 1)), offseti(date, 1), floori(date), date;\n };\n\n interval.round = function(date) {\n var d0 = interval(date),\n d1 = interval.ceil(date);\n return date - d0 < d1 - date ? d0 : d1;\n };\n\n interval.offset = function(date, step) {\n return offseti(date = new Date(+date), step == null ? 1 : Math.floor(step)), date;\n };\n\n interval.range = function(start, stop, step) {\n var range = [], previous;\n start = interval.ceil(start);\n step = step == null ? 1 : Math.floor(step);\n if (!(start < stop) || !(step > 0)) return range; // also handles Invalid Date\n do range.push(previous = new Date(+start)), offseti(start, step), floori(start);\n while (previous < start && start < stop);\n return range;\n };\n\n interval.filter = function(test) {\n return newInterval(function(date) {\n if (date >= date) while (floori(date), !test(date)) date.setTime(date - 1);\n }, function(date, step) {\n if (date >= date) {\n if (step < 0) while (++step <= 0) {\n while (offseti(date, -1), !test(date)) {} // eslint-disable-line no-empty\n } else while (--step >= 0) {\n while (offseti(date, +1), !test(date)) {} // eslint-disable-line no-empty\n }\n }\n });\n };\n\n if (count) {\n interval.count = function(start, end) {\n t0.setTime(+start), t1.setTime(+end);\n floori(t0), floori(t1);\n return Math.floor(count(t0, t1));\n };\n\n interval.every = function(step) {\n step = Math.floor(step);\n return !isFinite(step) || !(step > 0) ? null\n : !(step > 1) ? interval\n : interval.filter(field\n ? function(d) { return field(d) % step === 0; }\n : function(d) { return interval.count(0, d) % step === 0; });\n };\n }\n\n return interval;\n}\n","import interval from \"./interval\";\n\nvar millisecond = interval(function() {\n // noop\n}, function(date, step) {\n date.setTime(+date + step);\n}, function(start, end) {\n return end - start;\n});\n\n// An optimized implementation for this simple case.\nmillisecond.every = function(k) {\n k = Math.floor(k);\n if (!isFinite(k) || !(k > 0)) return null;\n if (!(k > 1)) return millisecond;\n return interval(function(date) {\n date.setTime(Math.floor(date / k) * k);\n }, function(date, step) {\n date.setTime(+date + step * k);\n }, function(start, end) {\n return (end - start) / k;\n });\n};\n\nexport default millisecond;\nexport var milliseconds = millisecond.range;\n","export var durationSecond = 1e3;\nexport var durationMinute = 6e4;\nexport var durationHour = 36e5;\nexport var durationDay = 864e5;\nexport var durationWeek = 6048e5;\n","import interval from \"./interval\";\nimport {durationSecond} from \"./duration\";\n\nvar second = interval(function(date) {\n date.setTime(Math.floor(date / durationSecond) * durationSecond);\n}, function(date, step) {\n date.setTime(+date + step * durationSecond);\n}, function(start, end) {\n return (end - start) / durationSecond;\n}, function(date) {\n return date.getUTCSeconds();\n});\n\nexport default second;\nexport var seconds = second.range;\n","import interval from \"./interval\";\nimport {durationMinute} from \"./duration\";\n\nvar minute = interval(function(date) {\n date.setTime(Math.floor(date / durationMinute) * durationMinute);\n}, function(date, step) {\n date.setTime(+date + step * durationMinute);\n}, function(start, end) {\n return (end - start) / durationMinute;\n}, function(date) {\n return date.getMinutes();\n});\n\nexport default minute;\nexport var minutes = minute.range;\n","import interval from \"./interval\";\nimport {durationHour, durationMinute} from \"./duration\";\n\nvar hour = interval(function(date) {\n var offset = date.getTimezoneOffset() * durationMinute % durationHour;\n if (offset < 0) offset += durationHour;\n date.setTime(Math.floor((+date - offset) / durationHour) * durationHour + offset);\n}, function(date, step) {\n date.setTime(+date + step * durationHour);\n}, function(start, end) {\n return (end - start) / durationHour;\n}, function(date) {\n return date.getHours();\n});\n\nexport default hour;\nexport var hours = hour.range;\n","import interval from \"./interval\";\nimport {durationDay, durationMinute} from \"./duration\";\n\nvar day = interval(function(date) {\n date.setHours(0, 0, 0, 0);\n}, function(date, step) {\n date.setDate(date.getDate() + step);\n}, function(start, end) {\n return (end - start - (end.getTimezoneOffset() - start.getTimezoneOffset()) * durationMinute) / durationDay;\n}, function(date) {\n return date.getDate() - 1;\n});\n\nexport default day;\nexport var days = day.range;\n","import interval from \"./interval\";\nimport {durationMinute, durationWeek} from \"./duration\";\n\nfunction weekday(i) {\n return interval(function(date) {\n date.setDate(date.getDate() - (date.getDay() + 7 - i) % 7);\n date.setHours(0, 0, 0, 0);\n }, function(date, step) {\n date.setDate(date.getDate() + step * 7);\n }, function(start, end) {\n return (end - start - (end.getTimezoneOffset() - start.getTimezoneOffset()) * durationMinute) / durationWeek;\n });\n}\n\nexport var sunday = weekday(0);\nexport var monday = weekday(1);\nexport var tuesday = weekday(2);\nexport var wednesday = weekday(3);\nexport var thursday = weekday(4);\nexport var friday = weekday(5);\nexport var saturday = weekday(6);\n\nexport var sundays = sunday.range;\nexport var mondays = monday.range;\nexport var tuesdays = tuesday.range;\nexport var wednesdays = wednesday.range;\nexport var thursdays = thursday.range;\nexport var fridays = friday.range;\nexport var saturdays = saturday.range;\n","import interval from \"./interval\";\n\nvar month = interval(function(date) {\n date.setDate(1);\n date.setHours(0, 0, 0, 0);\n}, function(date, step) {\n date.setMonth(date.getMonth() + step);\n}, function(start, end) {\n return end.getMonth() - start.getMonth() + (end.getFullYear() - start.getFullYear()) * 12;\n}, function(date) {\n return date.getMonth();\n});\n\nexport default month;\nexport var months = month.range;\n","import interval from \"./interval\";\n\nvar year = interval(function(date) {\n date.setMonth(0, 1);\n date.setHours(0, 0, 0, 0);\n}, function(date, step) {\n date.setFullYear(date.getFullYear() + step);\n}, function(start, end) {\n return end.getFullYear() - start.getFullYear();\n}, function(date) {\n return date.getFullYear();\n});\n\n// An optimized implementation for this simple case.\nyear.every = function(k) {\n return !isFinite(k = Math.floor(k)) || !(k > 0) ? null : interval(function(date) {\n date.setFullYear(Math.floor(date.getFullYear() / k) * k);\n date.setMonth(0, 1);\n date.setHours(0, 0, 0, 0);\n }, function(date, step) {\n date.setFullYear(date.getFullYear() + step * k);\n });\n};\n\nexport default year;\nexport var years = year.range;\n","import interval from \"./interval\";\nimport {durationMinute} from \"./duration\";\n\nvar utcMinute = interval(function(date) {\n date.setUTCSeconds(0, 0);\n}, function(date, step) {\n date.setTime(+date + step * durationMinute);\n}, function(start, end) {\n return (end - start) / durationMinute;\n}, function(date) {\n return date.getUTCMinutes();\n});\n\nexport default utcMinute;\nexport var utcMinutes = utcMinute.range;\n","import interval from \"./interval\";\nimport {durationHour} from \"./duration\";\n\nvar utcHour = interval(function(date) {\n date.setUTCMinutes(0, 0, 0);\n}, function(date, step) {\n date.setTime(+date + step * durationHour);\n}, function(start, end) {\n return (end - start) / durationHour;\n}, function(date) {\n return date.getUTCHours();\n});\n\nexport default utcHour;\nexport var utcHours = utcHour.range;\n","import interval from \"./interval\";\nimport {durationDay} from \"./duration\";\n\nvar utcDay = interval(function(date) {\n date.setUTCHours(0, 0, 0, 0);\n}, function(date, step) {\n date.setUTCDate(date.getUTCDate() + step);\n}, function(start, end) {\n return (end - start) / durationDay;\n}, function(date) {\n return date.getUTCDate() - 1;\n});\n\nexport default utcDay;\nexport var utcDays = utcDay.range;\n","import interval from \"./interval\";\nimport {durationWeek} from \"./duration\";\n\nfunction utcWeekday(i) {\n return interval(function(date) {\n date.setUTCDate(date.getUTCDate() - (date.getUTCDay() + 7 - i) % 7);\n date.setUTCHours(0, 0, 0, 0);\n }, function(date, step) {\n date.setUTCDate(date.getUTCDate() + step * 7);\n }, function(start, end) {\n return (end - start) / durationWeek;\n });\n}\n\nexport var utcSunday = utcWeekday(0);\nexport var utcMonday = utcWeekday(1);\nexport var utcTuesday = utcWeekday(2);\nexport var utcWednesday = utcWeekday(3);\nexport var utcThursday = utcWeekday(4);\nexport var utcFriday = utcWeekday(5);\nexport var utcSaturday = utcWeekday(6);\n\nexport var utcSundays = utcSunday.range;\nexport var utcMondays = utcMonday.range;\nexport var utcTuesdays = utcTuesday.range;\nexport var utcWednesdays = utcWednesday.range;\nexport var utcThursdays = utcThursday.range;\nexport var utcFridays = utcFriday.range;\nexport var utcSaturdays = utcSaturday.range;\n","import interval from \"./interval\";\n\nvar utcMonth = interval(function(date) {\n date.setUTCDate(1);\n date.setUTCHours(0, 0, 0, 0);\n}, function(date, step) {\n date.setUTCMonth(date.getUTCMonth() + step);\n}, function(start, end) {\n return end.getUTCMonth() - start.getUTCMonth() + (end.getUTCFullYear() - start.getUTCFullYear()) * 12;\n}, function(date) {\n return date.getUTCMonth();\n});\n\nexport default utcMonth;\nexport var utcMonths = utcMonth.range;\n","import interval from \"./interval\";\n\nvar utcYear = interval(function(date) {\n date.setUTCMonth(0, 1);\n date.setUTCHours(0, 0, 0, 0);\n}, function(date, step) {\n date.setUTCFullYear(date.getUTCFullYear() + step);\n}, function(start, end) {\n return end.getUTCFullYear() - start.getUTCFullYear();\n}, function(date) {\n return date.getUTCFullYear();\n});\n\n// An optimized implementation for this simple case.\nutcYear.every = function(k) {\n return !isFinite(k = Math.floor(k)) || !(k > 0) ? null : interval(function(date) {\n date.setUTCFullYear(Math.floor(date.getUTCFullYear() / k) * k);\n date.setUTCMonth(0, 1);\n date.setUTCHours(0, 0, 0, 0);\n }, function(date, step) {\n date.setUTCFullYear(date.getUTCFullYear() + step * k);\n });\n};\n\nexport default utcYear;\nexport var utcYears = utcYear.range;\n","import {\n timeDay,\n timeSunday,\n timeMonday,\n timeThursday,\n timeYear,\n utcDay,\n utcSunday,\n utcMonday,\n utcThursday,\n utcYear\n} from \"d3-time\";\n\nfunction localDate(d) {\n if (0 <= d.y && d.y < 100) {\n var date = new Date(-1, d.m, d.d, d.H, d.M, d.S, d.L);\n date.setFullYear(d.y);\n return date;\n }\n return new Date(d.y, d.m, d.d, d.H, d.M, d.S, d.L);\n}\n\nfunction utcDate(d) {\n if (0 <= d.y && d.y < 100) {\n var date = new Date(Date.UTC(-1, d.m, d.d, d.H, d.M, d.S, d.L));\n date.setUTCFullYear(d.y);\n return date;\n }\n return new Date(Date.UTC(d.y, d.m, d.d, d.H, d.M, d.S, d.L));\n}\n\nfunction newYear(y) {\n return {y: y, m: 0, d: 1, H: 0, M: 0, S: 0, L: 0};\n}\n\nexport default function formatLocale(locale) {\n var locale_dateTime = locale.dateTime,\n locale_date = locale.date,\n locale_time = locale.time,\n locale_periods = locale.periods,\n locale_weekdays = locale.days,\n locale_shortWeekdays = locale.shortDays,\n locale_months = locale.months,\n locale_shortMonths = locale.shortMonths;\n\n var periodRe = formatRe(locale_periods),\n periodLookup = formatLookup(locale_periods),\n weekdayRe = formatRe(locale_weekdays),\n weekdayLookup = formatLookup(locale_weekdays),\n shortWeekdayRe = formatRe(locale_shortWeekdays),\n shortWeekdayLookup = formatLookup(locale_shortWeekdays),\n monthRe = formatRe(locale_months),\n monthLookup = formatLookup(locale_months),\n shortMonthRe = formatRe(locale_shortMonths),\n shortMonthLookup = formatLookup(locale_shortMonths);\n\n var formats = {\n \"a\": formatShortWeekday,\n \"A\": formatWeekday,\n \"b\": formatShortMonth,\n \"B\": formatMonth,\n \"c\": null,\n \"d\": formatDayOfMonth,\n \"e\": formatDayOfMonth,\n \"f\": formatMicroseconds,\n \"H\": formatHour24,\n \"I\": formatHour12,\n \"j\": formatDayOfYear,\n \"L\": formatMilliseconds,\n \"m\": formatMonthNumber,\n \"M\": formatMinutes,\n \"p\": formatPeriod,\n \"Q\": formatUnixTimestamp,\n \"s\": formatUnixTimestampSeconds,\n \"S\": formatSeconds,\n \"u\": formatWeekdayNumberMonday,\n \"U\": formatWeekNumberSunday,\n \"V\": formatWeekNumberISO,\n \"w\": formatWeekdayNumberSunday,\n \"W\": formatWeekNumberMonday,\n \"x\": null,\n \"X\": null,\n \"y\": formatYear,\n \"Y\": formatFullYear,\n \"Z\": formatZone,\n \"%\": formatLiteralPercent\n };\n\n var utcFormats = {\n \"a\": formatUTCShortWeekday,\n \"A\": formatUTCWeekday,\n \"b\": formatUTCShortMonth,\n \"B\": formatUTCMonth,\n \"c\": null,\n \"d\": formatUTCDayOfMonth,\n \"e\": formatUTCDayOfMonth,\n \"f\": formatUTCMicroseconds,\n \"H\": formatUTCHour24,\n \"I\": formatUTCHour12,\n \"j\": formatUTCDayOfYear,\n \"L\": formatUTCMilliseconds,\n \"m\": formatUTCMonthNumber,\n \"M\": formatUTCMinutes,\n \"p\": formatUTCPeriod,\n \"Q\": formatUnixTimestamp,\n \"s\": formatUnixTimestampSeconds,\n \"S\": formatUTCSeconds,\n \"u\": formatUTCWeekdayNumberMonday,\n \"U\": formatUTCWeekNumberSunday,\n \"V\": formatUTCWeekNumberISO,\n \"w\": formatUTCWeekdayNumberSunday,\n \"W\": formatUTCWeekNumberMonday,\n \"x\": null,\n \"X\": null,\n \"y\": formatUTCYear,\n \"Y\": formatUTCFullYear,\n \"Z\": formatUTCZone,\n \"%\": formatLiteralPercent\n };\n\n var parses = {\n \"a\": parseShortWeekday,\n \"A\": parseWeekday,\n \"b\": parseShortMonth,\n \"B\": parseMonth,\n \"c\": parseLocaleDateTime,\n \"d\": parseDayOfMonth,\n \"e\": parseDayOfMonth,\n \"f\": parseMicroseconds,\n \"H\": parseHour24,\n \"I\": parseHour24,\n \"j\": parseDayOfYear,\n \"L\": parseMilliseconds,\n \"m\": parseMonthNumber,\n \"M\": parseMinutes,\n \"p\": parsePeriod,\n \"Q\": parseUnixTimestamp,\n \"s\": parseUnixTimestampSeconds,\n \"S\": parseSeconds,\n \"u\": parseWeekdayNumberMonday,\n \"U\": parseWeekNumberSunday,\n \"V\": parseWeekNumberISO,\n \"w\": parseWeekdayNumberSunday,\n \"W\": parseWeekNumberMonday,\n \"x\": parseLocaleDate,\n \"X\": parseLocaleTime,\n \"y\": parseYear,\n \"Y\": parseFullYear,\n \"Z\": parseZone,\n \"%\": parseLiteralPercent\n };\n\n // These recursive directive definitions must be deferred.\n formats.x = newFormat(locale_date, formats);\n formats.X = newFormat(locale_time, formats);\n formats.c = newFormat(locale_dateTime, formats);\n utcFormats.x = newFormat(locale_date, utcFormats);\n utcFormats.X = newFormat(locale_time, utcFormats);\n utcFormats.c = newFormat(locale_dateTime, utcFormats);\n\n function newFormat(specifier, formats) {\n return function(date) {\n var string = [],\n i = -1,\n j = 0,\n n = specifier.length,\n c,\n pad,\n format;\n\n if (!(date instanceof Date)) date = new Date(+date);\n\n while (++i < n) {\n if (specifier.charCodeAt(i) === 37) {\n string.push(specifier.slice(j, i));\n if ((pad = pads[c = specifier.charAt(++i)]) != null) c = specifier.charAt(++i);\n else pad = c === \"e\" ? \" \" : \"0\";\n if (format = formats[c]) c = format(date, pad);\n string.push(c);\n j = i + 1;\n }\n }\n\n string.push(specifier.slice(j, i));\n return string.join(\"\");\n };\n }\n\n function newParse(specifier, newDate) {\n return function(string) {\n var d = newYear(1900),\n i = parseSpecifier(d, specifier, string += \"\", 0),\n week, day;\n if (i != string.length) return null;\n\n // If a UNIX timestamp is specified, return it.\n if (\"Q\" in d) return new Date(d.Q);\n\n // The am-pm flag is 0 for AM, and 1 for PM.\n if (\"p\" in d) d.H = d.H % 12 + d.p * 12;\n\n // Convert day-of-week and week-of-year to day-of-year.\n if (\"V\" in d) {\n if (d.V < 1 || d.V > 53) return null;\n if (!(\"w\" in d)) d.w = 1;\n if (\"Z\" in d) {\n week = utcDate(newYear(d.y)), day = week.getUTCDay();\n week = day > 4 || day === 0 ? utcMonday.ceil(week) : utcMonday(week);\n week = utcDay.offset(week, (d.V - 1) * 7);\n d.y = week.getUTCFullYear();\n d.m = week.getUTCMonth();\n d.d = week.getUTCDate() + (d.w + 6) % 7;\n } else {\n week = newDate(newYear(d.y)), day = week.getDay();\n week = day > 4 || day === 0 ? timeMonday.ceil(week) : timeMonday(week);\n week = timeDay.offset(week, (d.V - 1) * 7);\n d.y = week.getFullYear();\n d.m = week.getMonth();\n d.d = week.getDate() + (d.w + 6) % 7;\n }\n } else if (\"W\" in d || \"U\" in d) {\n if (!(\"w\" in d)) d.w = \"u\" in d ? d.u % 7 : \"W\" in d ? 1 : 0;\n day = \"Z\" in d ? utcDate(newYear(d.y)).getUTCDay() : newDate(newYear(d.y)).getDay();\n d.m = 0;\n d.d = \"W\" in d ? (d.w + 6) % 7 + d.W * 7 - (day + 5) % 7 : d.w + d.U * 7 - (day + 6) % 7;\n }\n\n // If a time zone is specified, all fields are interpreted as UTC and then\n // offset according to the specified time zone.\n if (\"Z\" in d) {\n d.H += d.Z / 100 | 0;\n d.M += d.Z % 100;\n return utcDate(d);\n }\n\n // Otherwise, all fields are in local time.\n return newDate(d);\n };\n }\n\n function parseSpecifier(d, specifier, string, j) {\n var i = 0,\n n = specifier.length,\n m = string.length,\n c,\n parse;\n\n while (i < n) {\n if (j >= m) return -1;\n c = specifier.charCodeAt(i++);\n if (c === 37) {\n c = specifier.charAt(i++);\n parse = parses[c in pads ? specifier.charAt(i++) : c];\n if (!parse || ((j = parse(d, string, j)) < 0)) return -1;\n } else if (c != string.charCodeAt(j++)) {\n return -1;\n }\n }\n\n return j;\n }\n\n function parsePeriod(d, string, i) {\n var n = periodRe.exec(string.slice(i));\n return n ? (d.p = periodLookup[n[0].toLowerCase()], i + n[0].length) : -1;\n }\n\n function parseShortWeekday(d, string, i) {\n var n = shortWeekdayRe.exec(string.slice(i));\n return n ? (d.w = shortWeekdayLookup[n[0].toLowerCase()], i + n[0].length) : -1;\n }\n\n function parseWeekday(d, string, i) {\n var n = weekdayRe.exec(string.slice(i));\n return n ? (d.w = weekdayLookup[n[0].toLowerCase()], i + n[0].length) : -1;\n }\n\n function parseShortMonth(d, string, i) {\n var n = shortMonthRe.exec(string.slice(i));\n return n ? (d.m = shortMonthLookup[n[0].toLowerCase()], i + n[0].length) : -1;\n }\n\n function parseMonth(d, string, i) {\n var n = monthRe.exec(string.slice(i));\n return n ? (d.m = monthLookup[n[0].toLowerCase()], i + n[0].length) : -1;\n }\n\n function parseLocaleDateTime(d, string, i) {\n return parseSpecifier(d, locale_dateTime, string, i);\n }\n\n function parseLocaleDate(d, string, i) {\n return parseSpecifier(d, locale_date, string, i);\n }\n\n function parseLocaleTime(d, string, i) {\n return parseSpecifier(d, locale_time, string, i);\n }\n\n function formatShortWeekday(d) {\n return locale_shortWeekdays[d.getDay()];\n }\n\n function formatWeekday(d) {\n return locale_weekdays[d.getDay()];\n }\n\n function formatShortMonth(d) {\n return locale_shortMonths[d.getMonth()];\n }\n\n function formatMonth(d) {\n return locale_months[d.getMonth()];\n }\n\n function formatPeriod(d) {\n return locale_periods[+(d.getHours() >= 12)];\n }\n\n function formatUTCShortWeekday(d) {\n return locale_shortWeekdays[d.getUTCDay()];\n }\n\n function formatUTCWeekday(d) {\n return locale_weekdays[d.getUTCDay()];\n }\n\n function formatUTCShortMonth(d) {\n return locale_shortMonths[d.getUTCMonth()];\n }\n\n function formatUTCMonth(d) {\n return locale_months[d.getUTCMonth()];\n }\n\n function formatUTCPeriod(d) {\n return locale_periods[+(d.getUTCHours() >= 12)];\n }\n\n return {\n format: function(specifier) {\n var f = newFormat(specifier += \"\", formats);\n f.toString = function() { return specifier; };\n return f;\n },\n parse: function(specifier) {\n var p = newParse(specifier += \"\", localDate);\n p.toString = function() { return specifier; };\n return p;\n },\n utcFormat: function(specifier) {\n var f = newFormat(specifier += \"\", utcFormats);\n f.toString = function() { return specifier; };\n return f;\n },\n utcParse: function(specifier) {\n var p = newParse(specifier, utcDate);\n p.toString = function() { return specifier; };\n return p;\n }\n };\n}\n\nvar pads = {\"-\": \"\", \"_\": \" \", \"0\": \"0\"},\n numberRe = /^\\s*\\d+/, // note: ignores next directive\n percentRe = /^%/,\n requoteRe = /[\\\\^$*+?|[\\]().{}]/g;\n\nfunction pad(value, fill, width) {\n var sign = value < 0 ? \"-\" : \"\",\n string = (sign ? -value : value) + \"\",\n length = string.length;\n return sign + (length < width ? new Array(width - length + 1).join(fill) + string : string);\n}\n\nfunction requote(s) {\n return s.replace(requoteRe, \"\\\\$&\");\n}\n\nfunction formatRe(names) {\n return new RegExp(\"^(?:\" + names.map(requote).join(\"|\") + \")\", \"i\");\n}\n\nfunction formatLookup(names) {\n var map = {}, i = -1, n = names.length;\n while (++i < n) map[names[i].toLowerCase()] = i;\n return map;\n}\n\nfunction parseWeekdayNumberSunday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 1));\n return n ? (d.w = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekdayNumberMonday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 1));\n return n ? (d.u = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekNumberSunday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.U = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekNumberISO(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.V = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekNumberMonday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.W = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseFullYear(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 4));\n return n ? (d.y = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseYear(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.y = +n[0] + (+n[0] > 68 ? 1900 : 2000), i + n[0].length) : -1;\n}\n\nfunction parseZone(d, string, i) {\n var n = /^(Z)|([+-]\\d\\d)(?::?(\\d\\d))?/.exec(string.slice(i, i + 6));\n return n ? (d.Z = n[1] ? 0 : -(n[2] + (n[3] || \"00\")), i + n[0].length) : -1;\n}\n\nfunction parseMonthNumber(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.m = n[0] - 1, i + n[0].length) : -1;\n}\n\nfunction parseDayOfMonth(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.d = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseDayOfYear(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 3));\n return n ? (d.m = 0, d.d = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseHour24(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.H = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseMinutes(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.M = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseSeconds(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.S = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseMilliseconds(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 3));\n return n ? (d.L = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseMicroseconds(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 6));\n return n ? (d.L = Math.floor(n[0] / 1000), i + n[0].length) : -1;\n}\n\nfunction parseLiteralPercent(d, string, i) {\n var n = percentRe.exec(string.slice(i, i + 1));\n return n ? i + n[0].length : -1;\n}\n\nfunction parseUnixTimestamp(d, string, i) {\n var n = numberRe.exec(string.slice(i));\n return n ? (d.Q = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseUnixTimestampSeconds(d, string, i) {\n var n = numberRe.exec(string.slice(i));\n return n ? (d.Q = (+n[0]) * 1000, i + n[0].length) : -1;\n}\n\nfunction formatDayOfMonth(d, p) {\n return pad(d.getDate(), p, 2);\n}\n\nfunction formatHour24(d, p) {\n return pad(d.getHours(), p, 2);\n}\n\nfunction formatHour12(d, p) {\n return pad(d.getHours() % 12 || 12, p, 2);\n}\n\nfunction formatDayOfYear(d, p) {\n return pad(1 + timeDay.count(timeYear(d), d), p, 3);\n}\n\nfunction formatMilliseconds(d, p) {\n return pad(d.getMilliseconds(), p, 3);\n}\n\nfunction formatMicroseconds(d, p) {\n return formatMilliseconds(d, p) + \"000\";\n}\n\nfunction formatMonthNumber(d, p) {\n return pad(d.getMonth() + 1, p, 2);\n}\n\nfunction formatMinutes(d, p) {\n return pad(d.getMinutes(), p, 2);\n}\n\nfunction formatSeconds(d, p) {\n return pad(d.getSeconds(), p, 2);\n}\n\nfunction formatWeekdayNumberMonday(d) {\n var day = d.getDay();\n return day === 0 ? 7 : day;\n}\n\nfunction formatWeekNumberSunday(d, p) {\n return pad(timeSunday.count(timeYear(d), d), p, 2);\n}\n\nfunction formatWeekNumberISO(d, p) {\n var day = d.getDay();\n d = (day >= 4 || day === 0) ? timeThursday(d) : timeThursday.ceil(d);\n return pad(timeThursday.count(timeYear(d), d) + (timeYear(d).getDay() === 4), p, 2);\n}\n\nfunction formatWeekdayNumberSunday(d) {\n return d.getDay();\n}\n\nfunction formatWeekNumberMonday(d, p) {\n return pad(timeMonday.count(timeYear(d), d), p, 2);\n}\n\nfunction formatYear(d, p) {\n return pad(d.getFullYear() % 100, p, 2);\n}\n\nfunction formatFullYear(d, p) {\n return pad(d.getFullYear() % 10000, p, 4);\n}\n\nfunction formatZone(d) {\n var z = d.getTimezoneOffset();\n return (z > 0 ? \"-\" : (z *= -1, \"+\"))\n + pad(z / 60 | 0, \"0\", 2)\n + pad(z % 60, \"0\", 2);\n}\n\nfunction formatUTCDayOfMonth(d, p) {\n return pad(d.getUTCDate(), p, 2);\n}\n\nfunction formatUTCHour24(d, p) {\n return pad(d.getUTCHours(), p, 2);\n}\n\nfunction formatUTCHour12(d, p) {\n return pad(d.getUTCHours() % 12 || 12, p, 2);\n}\n\nfunction formatUTCDayOfYear(d, p) {\n return pad(1 + utcDay.count(utcYear(d), d), p, 3);\n}\n\nfunction formatUTCMilliseconds(d, p) {\n return pad(d.getUTCMilliseconds(), p, 3);\n}\n\nfunction formatUTCMicroseconds(d, p) {\n return formatUTCMilliseconds(d, p) + \"000\";\n}\n\nfunction formatUTCMonthNumber(d, p) {\n return pad(d.getUTCMonth() + 1, p, 2);\n}\n\nfunction formatUTCMinutes(d, p) {\n return pad(d.getUTCMinutes(), p, 2);\n}\n\nfunction formatUTCSeconds(d, p) {\n return pad(d.getUTCSeconds(), p, 2);\n}\n\nfunction formatUTCWeekdayNumberMonday(d) {\n var dow = d.getUTCDay();\n return dow === 0 ? 7 : dow;\n}\n\nfunction formatUTCWeekNumberSunday(d, p) {\n return pad(utcSunday.count(utcYear(d), d), p, 2);\n}\n\nfunction formatUTCWeekNumberISO(d, p) {\n var day = d.getUTCDay();\n d = (day >= 4 || day === 0) ? utcThursday(d) : utcThursday.ceil(d);\n return pad(utcThursday.count(utcYear(d), d) + (utcYear(d).getUTCDay() === 4), p, 2);\n}\n\nfunction formatUTCWeekdayNumberSunday(d) {\n return d.getUTCDay();\n}\n\nfunction formatUTCWeekNumberMonday(d, p) {\n return pad(utcMonday.count(utcYear(d), d), p, 2);\n}\n\nfunction formatUTCYear(d, p) {\n return pad(d.getUTCFullYear() % 100, p, 2);\n}\n\nfunction formatUTCFullYear(d, p) {\n return pad(d.getUTCFullYear() % 10000, p, 4);\n}\n\nfunction formatUTCZone() {\n return \"+0000\";\n}\n\nfunction formatLiteralPercent() {\n return \"%\";\n}\n\nfunction formatUnixTimestamp(d) {\n return +d;\n}\n\nfunction formatUnixTimestampSeconds(d) {\n return Math.floor(+d / 1000);\n}\n","import formatLocale from \"./locale\";\n\nvar locale;\nexport var timeFormat;\nexport var timeParse;\nexport var utcFormat;\nexport var utcParse;\n\ndefaultLocale({\n dateTime: \"%x, %X\",\n date: \"%-m/%-d/%Y\",\n time: \"%-I:%M:%S %p\",\n periods: [\"AM\", \"PM\"],\n days: [\"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"],\n shortDays: [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"],\n months: [\"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\"],\n shortMonths: [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"]\n});\n\nexport default function defaultLocale(definition) {\n locale = formatLocale(definition);\n timeFormat = locale.format;\n timeParse = locale.parse;\n utcFormat = locale.utcFormat;\n utcParse = locale.utcParse;\n return locale;\n}\n","import {utcFormat} from \"./defaultLocale\";\n\nexport var isoSpecifier = \"%Y-%m-%dT%H:%M:%S.%LZ\";\n\nfunction formatIsoNative(date) {\n return date.toISOString();\n}\n\nvar formatIso = Date.prototype.toISOString\n ? formatIsoNative\n : utcFormat(isoSpecifier);\n\nexport default formatIso;\n","import {isoSpecifier} from \"./isoFormat\";\nimport {utcParse} from \"./defaultLocale\";\n\nfunction parseIsoNative(string) {\n var date = new Date(string);\n return isNaN(date) ? null : date;\n}\n\nvar parseIso = +new Date(\"2000-01-01T00:00:00.000Z\")\n ? parseIsoNative\n : utcParse(isoSpecifier);\n\nexport default parseIso;\n","import {bisector, tickStep} from \"d3-array\";\nimport {interpolateNumber as reinterpolate} from \"d3-interpolate\";\nimport {timeYear, timeMonth, timeWeek, timeDay, timeHour, timeMinute, timeSecond, timeMillisecond} from \"d3-time\";\nimport {timeFormat} from \"d3-time-format\";\nimport {map} from \"./array\";\nimport {default as continuous, copy, deinterpolateLinear as deinterpolate} from \"./continuous\";\nimport nice from \"./nice\";\n\nvar durationSecond = 1000,\n durationMinute = durationSecond * 60,\n durationHour = durationMinute * 60,\n durationDay = durationHour * 24,\n durationWeek = durationDay * 7,\n durationMonth = durationDay * 30,\n durationYear = durationDay * 365;\n\nfunction date(t) {\n return new Date(t);\n}\n\nfunction number(t) {\n return t instanceof Date ? +t : +new Date(+t);\n}\n\nexport function calendar(year, month, week, day, hour, minute, second, millisecond, format) {\n var scale = continuous(deinterpolate, reinterpolate),\n invert = scale.invert,\n domain = scale.domain;\n\n var formatMillisecond = format(\".%L\"),\n formatSecond = format(\":%S\"),\n formatMinute = format(\"%I:%M\"),\n formatHour = format(\"%I %p\"),\n formatDay = format(\"%a %d\"),\n formatWeek = format(\"%b %d\"),\n formatMonth = format(\"%B\"),\n formatYear = format(\"%Y\");\n\n var tickIntervals = [\n [second, 1, durationSecond],\n [second, 5, 5 * durationSecond],\n [second, 15, 15 * durationSecond],\n [second, 30, 30 * durationSecond],\n [minute, 1, durationMinute],\n [minute, 5, 5 * durationMinute],\n [minute, 15, 15 * durationMinute],\n [minute, 30, 30 * durationMinute],\n [ hour, 1, durationHour ],\n [ hour, 3, 3 * durationHour ],\n [ hour, 6, 6 * durationHour ],\n [ hour, 12, 12 * durationHour ],\n [ day, 1, durationDay ],\n [ day, 2, 2 * durationDay ],\n [ week, 1, durationWeek ],\n [ month, 1, durationMonth ],\n [ month, 3, 3 * durationMonth ],\n [ year, 1, durationYear ]\n ];\n\n function tickFormat(date) {\n return (second(date) < date ? formatMillisecond\n : minute(date) < date ? formatSecond\n : hour(date) < date ? formatMinute\n : day(date) < date ? formatHour\n : month(date) < date ? (week(date) < date ? formatDay : formatWeek)\n : year(date) < date ? formatMonth\n : formatYear)(date);\n }\n\n function tickInterval(interval, start, stop, step) {\n if (interval == null) interval = 10;\n\n // If a desired tick count is specified, pick a reasonable tick interval\n // based on the extent of the domain and a rough estimate of tick size.\n // Otherwise, assume interval is already a time interval and use it.\n if (typeof interval === \"number\") {\n var target = Math.abs(stop - start) / interval,\n i = bisector(function(i) { return i[2]; }).right(tickIntervals, target);\n if (i === tickIntervals.length) {\n step = tickStep(start / durationYear, stop / durationYear, interval);\n interval = year;\n } else if (i) {\n i = tickIntervals[target / tickIntervals[i - 1][2] < tickIntervals[i][2] / target ? i - 1 : i];\n step = i[1];\n interval = i[0];\n } else {\n step = Math.max(tickStep(start, stop, interval), 1);\n interval = millisecond;\n }\n }\n\n return step == null ? interval : interval.every(step);\n }\n\n scale.invert = function(y) {\n return new Date(invert(y));\n };\n\n scale.domain = function(_) {\n return arguments.length ? domain(map.call(_, number)) : domain().map(date);\n };\n\n scale.ticks = function(interval, step) {\n var d = domain(),\n t0 = d[0],\n t1 = d[d.length - 1],\n r = t1 < t0,\n t;\n if (r) t = t0, t0 = t1, t1 = t;\n t = tickInterval(interval, t0, t1, step);\n t = t ? t.range(t0, t1 + 1) : []; // inclusive stop\n return r ? t.reverse() : t;\n };\n\n scale.tickFormat = function(count, specifier) {\n return specifier == null ? tickFormat : format(specifier);\n };\n\n scale.nice = function(interval, step) {\n var d = domain();\n return (interval = tickInterval(interval, d[0], d[d.length - 1], step))\n ? domain(nice(d, interval))\n : scale;\n };\n\n scale.copy = function() {\n return copy(scale, calendar(year, month, week, day, hour, minute, second, millisecond, format));\n };\n\n return scale;\n}\n\nexport default function() {\n return calendar(timeYear, timeMonth, timeWeek, timeDay, timeHour, timeMinute, timeSecond, timeMillisecond, timeFormat).domain([new Date(2000, 0, 1), new Date(2000, 0, 2)]);\n}\n","import {calendar} from \"./time\";\nimport {utcFormat} from \"d3-time-format\";\nimport {utcYear, utcMonth, utcWeek, utcDay, utcHour, utcMinute, utcSecond, utcMillisecond} from \"d3-time\";\n\nexport default function() {\n return calendar(utcYear, utcMonth, utcWeek, utcDay, utcHour, utcMinute, utcSecond, utcMillisecond, utcFormat).domain([Date.UTC(2000, 0, 1), Date.UTC(2000, 0, 2)]);\n}\n","import {linearish} from \"./linear\";\n\nexport default function sequential(interpolator) {\n var x0 = 0,\n x1 = 1,\n clamp = false;\n\n function scale(x) {\n var t = (x - x0) / (x1 - x0);\n return interpolator(clamp ? Math.max(0, Math.min(1, t)) : t);\n }\n\n scale.domain = function(_) {\n return arguments.length ? (x0 = +_[0], x1 = +_[1], scale) : [x0, x1];\n };\n\n scale.clamp = function(_) {\n return arguments.length ? (clamp = !!_, scale) : clamp;\n };\n\n scale.interpolator = function(_) {\n return arguments.length ? (interpolator = _, scale) : interpolator;\n };\n\n scale.copy = function() {\n return sequential(interpolator).domain([x0, x1]).clamp(clamp);\n };\n\n return linearish(scale);\n}\n","export default function(specifier) {\n var n = specifier.length / 6 | 0, colors = new Array(n), i = 0;\n while (i < n) colors[i] = \"#\" + specifier.slice(i * 6, ++i * 6);\n return colors;\n}\n","import colors from \"../colors\";\n\nexport default colors(\"1f77b4ff7f0e2ca02cd627289467bd8c564be377c27f7f7fbcbd2217becf\");\n","import colors from \"../colors\";\n\nexport default colors(\"7fc97fbeaed4fdc086ffff99386cb0f0027fbf5b17666666\");\n","import colors from \"../colors\";\n\nexport default colors(\"1b9e77d95f027570b3e7298a66a61ee6ab02a6761d666666\");\n","import colors from \"../colors\";\n\nexport default colors(\"a6cee31f78b4b2df8a33a02cfb9a99e31a1cfdbf6fff7f00cab2d66a3d9affff99b15928\");\n","import colors from \"../colors\";\n\nexport default colors(\"fbb4aeb3cde3ccebc5decbe4fed9a6ffffcce5d8bdfddaecf2f2f2\");\n","import colors from \"../colors\";\n\nexport default colors(\"b3e2cdfdcdaccbd5e8f4cae4e6f5c9fff2aef1e2cccccccc\");\n","import colors from \"../colors\";\n\nexport default colors(\"e41a1c377eb84daf4a984ea3ff7f00ffff33a65628f781bf999999\");\n","import colors from \"../colors\";\n\nexport default colors(\"66c2a5fc8d628da0cbe78ac3a6d854ffd92fe5c494b3b3b3\");\n","import colors from \"../colors\";\n\nexport default colors(\"8dd3c7ffffb3bebadafb807280b1d3fdb462b3de69fccde5d9d9d9bc80bdccebc5ffed6f\");\n","import {interpolateRgbBasis} from \"d3-interpolate\";\n\nexport default function(scheme) {\n return interpolateRgbBasis(scheme[scheme.length - 1]);\n}\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"d8b365f5f5f55ab4ac\",\n \"a6611adfc27d80cdc1018571\",\n \"a6611adfc27df5f5f580cdc1018571\",\n \"8c510ad8b365f6e8c3c7eae55ab4ac01665e\",\n \"8c510ad8b365f6e8c3f5f5f5c7eae55ab4ac01665e\",\n \"8c510abf812ddfc27df6e8c3c7eae580cdc135978f01665e\",\n \"8c510abf812ddfc27df6e8c3f5f5f5c7eae580cdc135978f01665e\",\n \"5430058c510abf812ddfc27df6e8c3c7eae580cdc135978f01665e003c30\",\n \"5430058c510abf812ddfc27df6e8c3f5f5f5c7eae580cdc135978f01665e003c30\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"af8dc3f7f7f77fbf7b\",\n \"7b3294c2a5cfa6dba0008837\",\n \"7b3294c2a5cff7f7f7a6dba0008837\",\n \"762a83af8dc3e7d4e8d9f0d37fbf7b1b7837\",\n \"762a83af8dc3e7d4e8f7f7f7d9f0d37fbf7b1b7837\",\n \"762a839970abc2a5cfe7d4e8d9f0d3a6dba05aae611b7837\",\n \"762a839970abc2a5cfe7d4e8f7f7f7d9f0d3a6dba05aae611b7837\",\n \"40004b762a839970abc2a5cfe7d4e8d9f0d3a6dba05aae611b783700441b\",\n \"40004b762a839970abc2a5cfe7d4e8f7f7f7d9f0d3a6dba05aae611b783700441b\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"e9a3c9f7f7f7a1d76a\",\n \"d01c8bf1b6dab8e1864dac26\",\n \"d01c8bf1b6daf7f7f7b8e1864dac26\",\n \"c51b7de9a3c9fde0efe6f5d0a1d76a4d9221\",\n \"c51b7de9a3c9fde0eff7f7f7e6f5d0a1d76a4d9221\",\n \"c51b7dde77aef1b6dafde0efe6f5d0b8e1867fbc414d9221\",\n \"c51b7dde77aef1b6dafde0eff7f7f7e6f5d0b8e1867fbc414d9221\",\n \"8e0152c51b7dde77aef1b6dafde0efe6f5d0b8e1867fbc414d9221276419\",\n \"8e0152c51b7dde77aef1b6dafde0eff7f7f7e6f5d0b8e1867fbc414d9221276419\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"998ec3f7f7f7f1a340\",\n \"5e3c99b2abd2fdb863e66101\",\n \"5e3c99b2abd2f7f7f7fdb863e66101\",\n \"542788998ec3d8daebfee0b6f1a340b35806\",\n \"542788998ec3d8daebf7f7f7fee0b6f1a340b35806\",\n \"5427888073acb2abd2d8daebfee0b6fdb863e08214b35806\",\n \"5427888073acb2abd2d8daebf7f7f7fee0b6fdb863e08214b35806\",\n \"2d004b5427888073acb2abd2d8daebfee0b6fdb863e08214b358067f3b08\",\n \"2d004b5427888073acb2abd2d8daebf7f7f7fee0b6fdb863e08214b358067f3b08\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"ef8a62f7f7f767a9cf\",\n \"ca0020f4a58292c5de0571b0\",\n \"ca0020f4a582f7f7f792c5de0571b0\",\n \"b2182bef8a62fddbc7d1e5f067a9cf2166ac\",\n \"b2182bef8a62fddbc7f7f7f7d1e5f067a9cf2166ac\",\n \"b2182bd6604df4a582fddbc7d1e5f092c5de4393c32166ac\",\n \"b2182bd6604df4a582fddbc7f7f7f7d1e5f092c5de4393c32166ac\",\n \"67001fb2182bd6604df4a582fddbc7d1e5f092c5de4393c32166ac053061\",\n \"67001fb2182bd6604df4a582fddbc7f7f7f7d1e5f092c5de4393c32166ac053061\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"ef8a62ffffff999999\",\n \"ca0020f4a582bababa404040\",\n \"ca0020f4a582ffffffbababa404040\",\n \"b2182bef8a62fddbc7e0e0e09999994d4d4d\",\n \"b2182bef8a62fddbc7ffffffe0e0e09999994d4d4d\",\n \"b2182bd6604df4a582fddbc7e0e0e0bababa8787874d4d4d\",\n \"b2182bd6604df4a582fddbc7ffffffe0e0e0bababa8787874d4d4d\",\n \"67001fb2182bd6604df4a582fddbc7e0e0e0bababa8787874d4d4d1a1a1a\",\n \"67001fb2182bd6604df4a582fddbc7ffffffe0e0e0bababa8787874d4d4d1a1a1a\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"fc8d59ffffbf91bfdb\",\n \"d7191cfdae61abd9e92c7bb6\",\n \"d7191cfdae61ffffbfabd9e92c7bb6\",\n \"d73027fc8d59fee090e0f3f891bfdb4575b4\",\n \"d73027fc8d59fee090ffffbfe0f3f891bfdb4575b4\",\n \"d73027f46d43fdae61fee090e0f3f8abd9e974add14575b4\",\n \"d73027f46d43fdae61fee090ffffbfe0f3f8abd9e974add14575b4\",\n \"a50026d73027f46d43fdae61fee090e0f3f8abd9e974add14575b4313695\",\n \"a50026d73027f46d43fdae61fee090ffffbfe0f3f8abd9e974add14575b4313695\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"fc8d59ffffbf91cf60\",\n \"d7191cfdae61a6d96a1a9641\",\n \"d7191cfdae61ffffbfa6d96a1a9641\",\n \"d73027fc8d59fee08bd9ef8b91cf601a9850\",\n \"d73027fc8d59fee08bffffbfd9ef8b91cf601a9850\",\n \"d73027f46d43fdae61fee08bd9ef8ba6d96a66bd631a9850\",\n \"d73027f46d43fdae61fee08bffffbfd9ef8ba6d96a66bd631a9850\",\n \"a50026d73027f46d43fdae61fee08bd9ef8ba6d96a66bd631a9850006837\",\n \"a50026d73027f46d43fdae61fee08bffffbfd9ef8ba6d96a66bd631a9850006837\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"fc8d59ffffbf99d594\",\n \"d7191cfdae61abdda42b83ba\",\n \"d7191cfdae61ffffbfabdda42b83ba\",\n \"d53e4ffc8d59fee08be6f59899d5943288bd\",\n \"d53e4ffc8d59fee08bffffbfe6f59899d5943288bd\",\n \"d53e4ff46d43fdae61fee08be6f598abdda466c2a53288bd\",\n \"d53e4ff46d43fdae61fee08bffffbfe6f598abdda466c2a53288bd\",\n \"9e0142d53e4ff46d43fdae61fee08be6f598abdda466c2a53288bd5e4fa2\",\n \"9e0142d53e4ff46d43fdae61fee08bffffbfe6f598abdda466c2a53288bd5e4fa2\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"e5f5f999d8c92ca25f\",\n \"edf8fbb2e2e266c2a4238b45\",\n \"edf8fbb2e2e266c2a42ca25f006d2c\",\n \"edf8fbccece699d8c966c2a42ca25f006d2c\",\n \"edf8fbccece699d8c966c2a441ae76238b45005824\",\n \"f7fcfde5f5f9ccece699d8c966c2a441ae76238b45005824\",\n \"f7fcfde5f5f9ccece699d8c966c2a441ae76238b45006d2c00441b\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"e0ecf49ebcda8856a7\",\n \"edf8fbb3cde38c96c688419d\",\n \"edf8fbb3cde38c96c68856a7810f7c\",\n \"edf8fbbfd3e69ebcda8c96c68856a7810f7c\",\n \"edf8fbbfd3e69ebcda8c96c68c6bb188419d6e016b\",\n \"f7fcfde0ecf4bfd3e69ebcda8c96c68c6bb188419d6e016b\",\n \"f7fcfde0ecf4bfd3e69ebcda8c96c68c6bb188419d810f7c4d004b\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"e0f3dba8ddb543a2ca\",\n \"f0f9e8bae4bc7bccc42b8cbe\",\n \"f0f9e8bae4bc7bccc443a2ca0868ac\",\n \"f0f9e8ccebc5a8ddb57bccc443a2ca0868ac\",\n \"f0f9e8ccebc5a8ddb57bccc44eb3d32b8cbe08589e\",\n \"f7fcf0e0f3dbccebc5a8ddb57bccc44eb3d32b8cbe08589e\",\n \"f7fcf0e0f3dbccebc5a8ddb57bccc44eb3d32b8cbe0868ac084081\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"fee8c8fdbb84e34a33\",\n \"fef0d9fdcc8afc8d59d7301f\",\n \"fef0d9fdcc8afc8d59e34a33b30000\",\n \"fef0d9fdd49efdbb84fc8d59e34a33b30000\",\n \"fef0d9fdd49efdbb84fc8d59ef6548d7301f990000\",\n \"fff7ecfee8c8fdd49efdbb84fc8d59ef6548d7301f990000\",\n \"fff7ecfee8c8fdd49efdbb84fc8d59ef6548d7301fb300007f0000\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"ece2f0a6bddb1c9099\",\n \"f6eff7bdc9e167a9cf02818a\",\n \"f6eff7bdc9e167a9cf1c9099016c59\",\n \"f6eff7d0d1e6a6bddb67a9cf1c9099016c59\",\n \"f6eff7d0d1e6a6bddb67a9cf3690c002818a016450\",\n \"fff7fbece2f0d0d1e6a6bddb67a9cf3690c002818a016450\",\n \"fff7fbece2f0d0d1e6a6bddb67a9cf3690c002818a016c59014636\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"ece7f2a6bddb2b8cbe\",\n \"f1eef6bdc9e174a9cf0570b0\",\n \"f1eef6bdc9e174a9cf2b8cbe045a8d\",\n \"f1eef6d0d1e6a6bddb74a9cf2b8cbe045a8d\",\n \"f1eef6d0d1e6a6bddb74a9cf3690c00570b0034e7b\",\n \"fff7fbece7f2d0d1e6a6bddb74a9cf3690c00570b0034e7b\",\n \"fff7fbece7f2d0d1e6a6bddb74a9cf3690c00570b0045a8d023858\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"e7e1efc994c7dd1c77\",\n \"f1eef6d7b5d8df65b0ce1256\",\n \"f1eef6d7b5d8df65b0dd1c77980043\",\n \"f1eef6d4b9dac994c7df65b0dd1c77980043\",\n \"f1eef6d4b9dac994c7df65b0e7298ace125691003f\",\n \"f7f4f9e7e1efd4b9dac994c7df65b0e7298ace125691003f\",\n \"f7f4f9e7e1efd4b9dac994c7df65b0e7298ace125698004367001f\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"fde0ddfa9fb5c51b8a\",\n \"feebe2fbb4b9f768a1ae017e\",\n \"feebe2fbb4b9f768a1c51b8a7a0177\",\n \"feebe2fcc5c0fa9fb5f768a1c51b8a7a0177\",\n \"feebe2fcc5c0fa9fb5f768a1dd3497ae017e7a0177\",\n \"fff7f3fde0ddfcc5c0fa9fb5f768a1dd3497ae017e7a0177\",\n \"fff7f3fde0ddfcc5c0fa9fb5f768a1dd3497ae017e7a017749006a\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"edf8b17fcdbb2c7fb8\",\n \"ffffcca1dab441b6c4225ea8\",\n \"ffffcca1dab441b6c42c7fb8253494\",\n \"ffffccc7e9b47fcdbb41b6c42c7fb8253494\",\n \"ffffccc7e9b47fcdbb41b6c41d91c0225ea80c2c84\",\n \"ffffd9edf8b1c7e9b47fcdbb41b6c41d91c0225ea80c2c84\",\n \"ffffd9edf8b1c7e9b47fcdbb41b6c41d91c0225ea8253494081d58\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"f7fcb9addd8e31a354\",\n \"ffffccc2e69978c679238443\",\n \"ffffccc2e69978c67931a354006837\",\n \"ffffccd9f0a3addd8e78c67931a354006837\",\n \"ffffccd9f0a3addd8e78c67941ab5d238443005a32\",\n \"ffffe5f7fcb9d9f0a3addd8e78c67941ab5d238443005a32\",\n \"ffffe5f7fcb9d9f0a3addd8e78c67941ab5d238443006837004529\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"fff7bcfec44fd95f0e\",\n \"ffffd4fed98efe9929cc4c02\",\n \"ffffd4fed98efe9929d95f0e993404\",\n \"ffffd4fee391fec44ffe9929d95f0e993404\",\n \"ffffd4fee391fec44ffe9929ec7014cc4c028c2d04\",\n \"ffffe5fff7bcfee391fec44ffe9929ec7014cc4c028c2d04\",\n \"ffffe5fff7bcfee391fec44ffe9929ec7014cc4c02993404662506\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"ffeda0feb24cf03b20\",\n \"ffffb2fecc5cfd8d3ce31a1c\",\n \"ffffb2fecc5cfd8d3cf03b20bd0026\",\n \"ffffb2fed976feb24cfd8d3cf03b20bd0026\",\n \"ffffb2fed976feb24cfd8d3cfc4e2ae31a1cb10026\",\n \"ffffccffeda0fed976feb24cfd8d3cfc4e2ae31a1cb10026\",\n \"ffffccffeda0fed976feb24cfd8d3cfc4e2ae31a1cbd0026800026\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"deebf79ecae13182bd\",\n \"eff3ffbdd7e76baed62171b5\",\n \"eff3ffbdd7e76baed63182bd08519c\",\n \"eff3ffc6dbef9ecae16baed63182bd08519c\",\n \"eff3ffc6dbef9ecae16baed64292c62171b5084594\",\n \"f7fbffdeebf7c6dbef9ecae16baed64292c62171b5084594\",\n \"f7fbffdeebf7c6dbef9ecae16baed64292c62171b508519c08306b\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"e5f5e0a1d99b31a354\",\n \"edf8e9bae4b374c476238b45\",\n \"edf8e9bae4b374c47631a354006d2c\",\n \"edf8e9c7e9c0a1d99b74c47631a354006d2c\",\n \"edf8e9c7e9c0a1d99b74c47641ab5d238b45005a32\",\n \"f7fcf5e5f5e0c7e9c0a1d99b74c47641ab5d238b45005a32\",\n \"f7fcf5e5f5e0c7e9c0a1d99b74c47641ab5d238b45006d2c00441b\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"f0f0f0bdbdbd636363\",\n \"f7f7f7cccccc969696525252\",\n \"f7f7f7cccccc969696636363252525\",\n \"f7f7f7d9d9d9bdbdbd969696636363252525\",\n \"f7f7f7d9d9d9bdbdbd969696737373525252252525\",\n \"fffffff0f0f0d9d9d9bdbdbd969696737373525252252525\",\n \"fffffff0f0f0d9d9d9bdbdbd969696737373525252252525000000\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"efedf5bcbddc756bb1\",\n \"f2f0f7cbc9e29e9ac86a51a3\",\n \"f2f0f7cbc9e29e9ac8756bb154278f\",\n \"f2f0f7dadaebbcbddc9e9ac8756bb154278f\",\n \"f2f0f7dadaebbcbddc9e9ac8807dba6a51a34a1486\",\n \"fcfbfdefedf5dadaebbcbddc9e9ac8807dba6a51a34a1486\",\n \"fcfbfdefedf5dadaebbcbddc9e9ac8807dba6a51a354278f3f007d\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"fee0d2fc9272de2d26\",\n \"fee5d9fcae91fb6a4acb181d\",\n \"fee5d9fcae91fb6a4ade2d26a50f15\",\n \"fee5d9fcbba1fc9272fb6a4ade2d26a50f15\",\n \"fee5d9fcbba1fc9272fb6a4aef3b2ccb181d99000d\",\n \"fff5f0fee0d2fcbba1fc9272fb6a4aef3b2ccb181d99000d\",\n \"fff5f0fee0d2fcbba1fc9272fb6a4aef3b2ccb181da50f1567000d\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"fee6cefdae6be6550d\",\n \"feeddefdbe85fd8d3cd94701\",\n \"feeddefdbe85fd8d3ce6550da63603\",\n \"feeddefdd0a2fdae6bfd8d3ce6550da63603\",\n \"feeddefdd0a2fdae6bfd8d3cf16913d948018c2d04\",\n \"fff5ebfee6cefdd0a2fdae6bfd8d3cf16913d948018c2d04\",\n \"fff5ebfee6cefdd0a2fdae6bfd8d3cf16913d94801a636037f2704\"\n).map(colors);\n\nexport default ramp(scheme);\n","import {cubehelix} from \"d3-color\";\nimport {interpolateCubehelixLong} from \"d3-interpolate\";\n\nexport default interpolateCubehelixLong(cubehelix(300, 0.5, 0.0), cubehelix(-240, 0.5, 1.0));\n","import {cubehelix} from \"d3-color\";\nimport {interpolateCubehelixLong} from \"d3-interpolate\";\n\nexport var warm = interpolateCubehelixLong(cubehelix(-100, 0.75, 0.35), cubehelix(80, 1.50, 0.8));\n\nexport var cool = interpolateCubehelixLong(cubehelix(260, 0.75, 0.35), cubehelix(80, 1.50, 0.8));\n\nvar c = cubehelix();\n\nexport default function(t) {\n if (t < 0 || t > 1) t -= Math.floor(t);\n var ts = Math.abs(t - 0.5);\n c.h = 360 * t - 100;\n c.s = 1.5 - 1.5 * ts;\n c.l = 0.8 - 0.9 * ts;\n return c + \"\";\n}\n","import {rgb} from \"d3-color\";\n\nvar c = rgb(),\n pi_1_3 = Math.PI / 3,\n pi_2_3 = Math.PI * 2 / 3;\n\nexport default function(t) {\n var x;\n t = (0.5 - t) * Math.PI;\n c.r = 255 * (x = Math.sin(t)) * x;\n c.g = 255 * (x = Math.sin(t + pi_1_3)) * x;\n c.b = 255 * (x = Math.sin(t + pi_2_3)) * x;\n return c + \"\";\n}\n","import colors from \"../colors\";\n\nfunction ramp(range) {\n var n = range.length;\n return function(t) {\n return range[Math.max(0, Math.min(n - 1, Math.floor(t * n)))];\n };\n}\n\nexport default ramp(colors(\"44015444025645045745055946075a46085c460a5d460b5e470d60470e6147106347116447136548146748166848176948186a481a6c481b6d481c6e481d6f481f70482071482173482374482475482576482677482878482979472a7a472c7a472d7b472e7c472f7d46307e46327e46337f463480453581453781453882443983443a83443b84433d84433e85423f854240864241864142874144874045884046883f47883f48893e49893e4a893e4c8a3d4d8a3d4e8a3c4f8a3c508b3b518b3b528b3a538b3a548c39558c39568c38588c38598c375a8c375b8d365c8d365d8d355e8d355f8d34608d34618d33628d33638d32648e32658e31668e31678e31688e30698e306a8e2f6b8e2f6c8e2e6d8e2e6e8e2e6f8e2d708e2d718e2c718e2c728e2c738e2b748e2b758e2a768e2a778e2a788e29798e297a8e297b8e287c8e287d8e277e8e277f8e27808e26818e26828e26828e25838e25848e25858e24868e24878e23888e23898e238a8d228b8d228c8d228d8d218e8d218f8d21908d21918c20928c20928c20938c1f948c1f958b1f968b1f978b1f988b1f998a1f9a8a1e9b8a1e9c891e9d891f9e891f9f881fa0881fa1881fa1871fa28720a38620a48621a58521a68522a78522a88423a98324aa8325ab8225ac8226ad8127ad8128ae8029af7f2ab07f2cb17e2db27d2eb37c2fb47c31b57b32b67a34b67935b77937b87838b9773aba763bbb753dbc743fbc7340bd7242be7144bf7046c06f48c16e4ac16d4cc26c4ec36b50c46a52c56954c56856c66758c7655ac8645cc8635ec96260ca6063cb5f65cb5e67cc5c69cd5b6ccd5a6ece5870cf5773d05675d05477d1537ad1517cd2507fd34e81d34d84d44b86d54989d5488bd6468ed64590d74393d74195d84098d83e9bd93c9dd93ba0da39a2da37a5db36a8db34aadc32addc30b0dd2fb2dd2db5de2bb8de29bade28bddf26c0df25c2df23c5e021c8e020cae11fcde11dd0e11cd2e21bd5e21ad8e219dae319dde318dfe318e2e418e5e419e7e419eae51aece51befe51cf1e51df4e61ef6e620f8e621fbe723fde725\"));\n\nexport var magma = ramp(colors(\"00000401000501010601010802010902020b02020d03030f03031204041405041606051806051a07061c08071e0907200a08220b09240c09260d0a290e0b2b100b2d110c2f120d31130d34140e36150e38160f3b180f3d19103f1a10421c10441d11471e114920114b21114e22115024125325125527125829115a2a115c2c115f2d11612f116331116533106734106936106b38106c390f6e3b0f703d0f713f0f72400f74420f75440f764510774710784910784a10794c117a4e117b4f127b51127c52137c54137d56147d57157e59157e5a167e5c167f5d177f5f187f601880621980641a80651a80671b80681c816a1c816b1d816d1d816e1e81701f81721f817320817521817621817822817922827b23827c23827e24828025828125818326818426818627818827818928818b29818c29818e2a81902a81912b81932b80942c80962c80982d80992d809b2e7f9c2e7f9e2f7fa02f7fa1307ea3307ea5317ea6317da8327daa337dab337cad347cae347bb0357bb2357bb3367ab5367ab73779b83779ba3878bc3978bd3977bf3a77c03a76c23b75c43c75c53c74c73d73c83e73ca3e72cc3f71cd4071cf4070d0416fd2426fd3436ed5446dd6456cd8456cd9466bdb476adc4869de4968df4a68e04c67e24d66e34e65e44f64e55064e75263e85362e95462ea5661eb5760ec5860ed5a5fee5b5eef5d5ef05f5ef1605df2625df2645cf3655cf4675cf4695cf56b5cf66c5cf66e5cf7705cf7725cf8745cf8765cf9785df9795df97b5dfa7d5efa7f5efa815ffb835ffb8560fb8761fc8961fc8a62fc8c63fc8e64fc9065fd9266fd9467fd9668fd9869fd9a6afd9b6bfe9d6cfe9f6dfea16efea36ffea571fea772fea973feaa74feac76feae77feb078feb27afeb47bfeb67cfeb77efeb97ffebb81febd82febf84fec185fec287fec488fec68afec88cfeca8dfecc8ffecd90fecf92fed194fed395fed597fed799fed89afdda9cfddc9efddea0fde0a1fde2a3fde3a5fde5a7fde7a9fde9aafdebacfcecaefceeb0fcf0b2fcf2b4fcf4b6fcf6b8fcf7b9fcf9bbfcfbbdfcfdbf\"));\n\nexport var inferno = ramp(colors(\"00000401000501010601010802010a02020c02020e03021004031204031405041706041907051b08051d09061f0a07220b07240c08260d08290e092b10092d110a30120a32140b34150b37160b39180c3c190c3e1b0c411c0c431e0c451f0c48210c4a230c4c240c4f260c51280b53290b552b0b572d0b592f0a5b310a5c320a5e340a5f3609613809623909633b09643d09653e0966400a67420a68440a68450a69470b6a490b6a4a0c6b4c0c6b4d0d6c4f0d6c510e6c520e6d540f6d550f6d57106e59106e5a116e5c126e5d126e5f136e61136e62146e64156e65156e67166e69166e6a176e6c186e6d186e6f196e71196e721a6e741a6e751b6e771c6d781c6d7a1d6d7c1d6d7d1e6d7f1e6c801f6c82206c84206b85216b87216b88226a8a226a8c23698d23698f24699025689225689326679526679727669827669a28659b29649d29649f2a63a02a63a22b62a32c61a52c60a62d60a82e5fa92e5eab2f5ead305dae305cb0315bb1325ab3325ab43359b63458b73557b93556ba3655bc3754bd3853bf3952c03a51c13a50c33b4fc43c4ec63d4dc73e4cc83f4bca404acb4149cc4248ce4347cf4446d04545d24644d34743d44842d54a41d74b3fd84c3ed94d3dda4e3cdb503bdd513ade5238df5337e05536e15635e25734e35933e45a31e55c30e65d2fe75e2ee8602de9612bea632aeb6429eb6628ec6726ed6925ee6a24ef6c23ef6e21f06f20f1711ff1731df2741cf3761bf37819f47918f57b17f57d15f67e14f68013f78212f78410f8850ff8870ef8890cf98b0bf98c0af98e09fa9008fa9207fa9407fb9606fb9706fb9906fb9b06fb9d07fc9f07fca108fca309fca50afca60cfca80dfcaa0ffcac11fcae12fcb014fcb216fcb418fbb61afbb81dfbba1ffbbc21fbbe23fac026fac228fac42afac62df9c72ff9c932f9cb35f8cd37f8cf3af7d13df7d340f6d543f6d746f5d949f5db4cf4dd4ff4df53f4e156f3e35af3e55df2e661f2e865f2ea69f1ec6df1ed71f1ef75f1f179f2f27df2f482f3f586f3f68af4f88ef5f992f6fa96f8fb9af9fc9dfafda1fcffa4\"));\n\nexport var plasma = ramp(colors(\"0d088710078813078916078a19068c1b068d1d068e20068f2206902406912605912805922a05932c05942e05952f059631059733059735049837049938049a3a049a3c049b3e049c3f049c41049d43039e44039e46039f48039f4903a04b03a14c02a14e02a25002a25102a35302a35502a45601a45801a45901a55b01a55c01a65e01a66001a66100a76300a76400a76600a76700a86900a86a00a86c00a86e00a86f00a87100a87201a87401a87501a87701a87801a87a02a87b02a87d03a87e03a88004a88104a78305a78405a78606a68707a68808a68a09a58b0aa58d0ba58e0ca48f0da4910ea3920fa39410a29511a19613a19814a099159f9a169f9c179e9d189d9e199da01a9ca11b9ba21d9aa31e9aa51f99a62098a72197a82296aa2395ab2494ac2694ad2793ae2892b02991b12a90b22b8fb32c8eb42e8db52f8cb6308bb7318ab83289ba3388bb3488bc3587bd3786be3885bf3984c03a83c13b82c23c81c33d80c43e7fc5407ec6417dc7427cc8437bc9447aca457acb4679cc4778cc4977cd4a76ce4b75cf4c74d04d73d14e72d24f71d35171d45270d5536fd5546ed6556dd7566cd8576bd9586ada5a6ada5b69db5c68dc5d67dd5e66de5f65de6164df6263e06363e16462e26561e26660e3685fe4695ee56a5de56b5de66c5ce76e5be76f5ae87059e97158e97257ea7457eb7556eb7655ec7754ed7953ed7a52ee7b51ef7c51ef7e50f07f4ff0804ef1814df1834cf2844bf3854bf3874af48849f48948f58b47f58c46f68d45f68f44f79044f79143f79342f89441f89540f9973ff9983ef99a3efa9b3dfa9c3cfa9e3bfb9f3afba139fba238fca338fca537fca636fca835fca934fdab33fdac33fdae32fdaf31fdb130fdb22ffdb42ffdb52efeb72dfeb82cfeba2cfebb2bfebd2afebe2afec029fdc229fdc328fdc527fdc627fdc827fdca26fdcb26fccd25fcce25fcd025fcd225fbd324fbd524fbd724fad824fada24f9dc24f9dd25f8df25f8e125f7e225f7e425f6e626f6e826f5e926f5eb27f4ed27f3ee27f3f027f2f227f1f426f1f525f0f724f0f921\"));\n","export default function(x) {\n return function constant() {\n return x;\n };\n}\n","export var abs = Math.abs;\nexport var atan2 = Math.atan2;\nexport var cos = Math.cos;\nexport var max = Math.max;\nexport var min = Math.min;\nexport var sin = Math.sin;\nexport var sqrt = Math.sqrt;\n\nexport var epsilon = 1e-12;\nexport var pi = Math.PI;\nexport var halfPi = pi / 2;\nexport var tau = 2 * pi;\n\nexport function acos(x) {\n return x > 1 ? 0 : x < -1 ? pi : Math.acos(x);\n}\n\nexport function asin(x) {\n return x >= 1 ? halfPi : x <= -1 ? -halfPi : Math.asin(x);\n}\n","import {path} from \"d3-path\";\nimport constant from \"./constant\";\nimport {abs, acos, asin, atan2, cos, epsilon, halfPi, max, min, pi, sin, sqrt, tau} from \"./math\";\n\nfunction arcInnerRadius(d) {\n return d.innerRadius;\n}\n\nfunction arcOuterRadius(d) {\n return d.outerRadius;\n}\n\nfunction arcStartAngle(d) {\n return d.startAngle;\n}\n\nfunction arcEndAngle(d) {\n return d.endAngle;\n}\n\nfunction arcPadAngle(d) {\n return d && d.padAngle; // Note: optional!\n}\n\nfunction intersect(x0, y0, x1, y1, x2, y2, x3, y3) {\n var x10 = x1 - x0, y10 = y1 - y0,\n x32 = x3 - x2, y32 = y3 - y2,\n t = (x32 * (y0 - y2) - y32 * (x0 - x2)) / (y32 * x10 - x32 * y10);\n return [x0 + t * x10, y0 + t * y10];\n}\n\n// Compute perpendicular offset line of length rc.\n// http://mathworld.wolfram.com/Circle-LineIntersection.html\nfunction cornerTangents(x0, y0, x1, y1, r1, rc, cw) {\n var x01 = x0 - x1,\n y01 = y0 - y1,\n lo = (cw ? rc : -rc) / sqrt(x01 * x01 + y01 * y01),\n ox = lo * y01,\n oy = -lo * x01,\n x11 = x0 + ox,\n y11 = y0 + oy,\n x10 = x1 + ox,\n y10 = y1 + oy,\n x00 = (x11 + x10) / 2,\n y00 = (y11 + y10) / 2,\n dx = x10 - x11,\n dy = y10 - y11,\n d2 = dx * dx + dy * dy,\n r = r1 - rc,\n D = x11 * y10 - x10 * y11,\n d = (dy < 0 ? -1 : 1) * sqrt(max(0, r * r * d2 - D * D)),\n cx0 = (D * dy - dx * d) / d2,\n cy0 = (-D * dx - dy * d) / d2,\n cx1 = (D * dy + dx * d) / d2,\n cy1 = (-D * dx + dy * d) / d2,\n dx0 = cx0 - x00,\n dy0 = cy0 - y00,\n dx1 = cx1 - x00,\n dy1 = cy1 - y00;\n\n // Pick the closer of the two intersection points.\n // TODO Is there a faster way to determine which intersection to use?\n if (dx0 * dx0 + dy0 * dy0 > dx1 * dx1 + dy1 * dy1) cx0 = cx1, cy0 = cy1;\n\n return {\n cx: cx0,\n cy: cy0,\n x01: -ox,\n y01: -oy,\n x11: cx0 * (r1 / r - 1),\n y11: cy0 * (r1 / r - 1)\n };\n}\n\nexport default function() {\n var innerRadius = arcInnerRadius,\n outerRadius = arcOuterRadius,\n cornerRadius = constant(0),\n padRadius = null,\n startAngle = arcStartAngle,\n endAngle = arcEndAngle,\n padAngle = arcPadAngle,\n context = null;\n\n function arc() {\n var buffer,\n r,\n r0 = +innerRadius.apply(this, arguments),\n r1 = +outerRadius.apply(this, arguments),\n a0 = startAngle.apply(this, arguments) - halfPi,\n a1 = endAngle.apply(this, arguments) - halfPi,\n da = abs(a1 - a0),\n cw = a1 > a0;\n\n if (!context) context = buffer = path();\n\n // Ensure that the outer radius is always larger than the inner radius.\n if (r1 < r0) r = r1, r1 = r0, r0 = r;\n\n // Is it a point?\n if (!(r1 > epsilon)) context.moveTo(0, 0);\n\n // Or is it a circle or annulus?\n else if (da > tau - epsilon) {\n context.moveTo(r1 * cos(a0), r1 * sin(a0));\n context.arc(0, 0, r1, a0, a1, !cw);\n if (r0 > epsilon) {\n context.moveTo(r0 * cos(a1), r0 * sin(a1));\n context.arc(0, 0, r0, a1, a0, cw);\n }\n }\n\n // Or is it a circular or annular sector?\n else {\n var a01 = a0,\n a11 = a1,\n a00 = a0,\n a10 = a1,\n da0 = da,\n da1 = da,\n ap = padAngle.apply(this, arguments) / 2,\n rp = (ap > epsilon) && (padRadius ? +padRadius.apply(this, arguments) : sqrt(r0 * r0 + r1 * r1)),\n rc = min(abs(r1 - r0) / 2, +cornerRadius.apply(this, arguments)),\n rc0 = rc,\n rc1 = rc,\n t0,\n t1;\n\n // Apply padding? Note that since r1 ≥ r0, da1 ≥ da0.\n if (rp > epsilon) {\n var p0 = asin(rp / r0 * sin(ap)),\n p1 = asin(rp / r1 * sin(ap));\n if ((da0 -= p0 * 2) > epsilon) p0 *= (cw ? 1 : -1), a00 += p0, a10 -= p0;\n else da0 = 0, a00 = a10 = (a0 + a1) / 2;\n if ((da1 -= p1 * 2) > epsilon) p1 *= (cw ? 1 : -1), a01 += p1, a11 -= p1;\n else da1 = 0, a01 = a11 = (a0 + a1) / 2;\n }\n\n var x01 = r1 * cos(a01),\n y01 = r1 * sin(a01),\n x10 = r0 * cos(a10),\n y10 = r0 * sin(a10);\n\n // Apply rounded corners?\n if (rc > epsilon) {\n var x11 = r1 * cos(a11),\n y11 = r1 * sin(a11),\n x00 = r0 * cos(a00),\n y00 = r0 * sin(a00);\n\n // Restrict the corner radius according to the sector angle.\n if (da < pi) {\n var oc = da0 > epsilon ? intersect(x01, y01, x00, y00, x11, y11, x10, y10) : [x10, y10],\n ax = x01 - oc[0],\n ay = y01 - oc[1],\n bx = x11 - oc[0],\n by = y11 - oc[1],\n kc = 1 / sin(acos((ax * bx + ay * by) / (sqrt(ax * ax + ay * ay) * sqrt(bx * bx + by * by))) / 2),\n lc = sqrt(oc[0] * oc[0] + oc[1] * oc[1]);\n rc0 = min(rc, (r0 - lc) / (kc - 1));\n rc1 = min(rc, (r1 - lc) / (kc + 1));\n }\n }\n\n // Is the sector collapsed to a line?\n if (!(da1 > epsilon)) context.moveTo(x01, y01);\n\n // Does the sector’s outer ring have rounded corners?\n else if (rc1 > epsilon) {\n t0 = cornerTangents(x00, y00, x01, y01, r1, rc1, cw);\n t1 = cornerTangents(x11, y11, x10, y10, r1, rc1, cw);\n\n context.moveTo(t0.cx + t0.x01, t0.cy + t0.y01);\n\n // Have the corners merged?\n if (rc1 < rc) context.arc(t0.cx, t0.cy, rc1, atan2(t0.y01, t0.x01), atan2(t1.y01, t1.x01), !cw);\n\n // Otherwise, draw the two corners and the ring.\n else {\n context.arc(t0.cx, t0.cy, rc1, atan2(t0.y01, t0.x01), atan2(t0.y11, t0.x11), !cw);\n context.arc(0, 0, r1, atan2(t0.cy + t0.y11, t0.cx + t0.x11), atan2(t1.cy + t1.y11, t1.cx + t1.x11), !cw);\n context.arc(t1.cx, t1.cy, rc1, atan2(t1.y11, t1.x11), atan2(t1.y01, t1.x01), !cw);\n }\n }\n\n // Or is the outer ring just a circular arc?\n else context.moveTo(x01, y01), context.arc(0, 0, r1, a01, a11, !cw);\n\n // Is there no inner ring, and it’s a circular sector?\n // Or perhaps it’s an annular sector collapsed due to padding?\n if (!(r0 > epsilon) || !(da0 > epsilon)) context.lineTo(x10, y10);\n\n // Does the sector’s inner ring (or point) have rounded corners?\n else if (rc0 > epsilon) {\n t0 = cornerTangents(x10, y10, x11, y11, r0, -rc0, cw);\n t1 = cornerTangents(x01, y01, x00, y00, r0, -rc0, cw);\n\n context.lineTo(t0.cx + t0.x01, t0.cy + t0.y01);\n\n // Have the corners merged?\n if (rc0 < rc) context.arc(t0.cx, t0.cy, rc0, atan2(t0.y01, t0.x01), atan2(t1.y01, t1.x01), !cw);\n\n // Otherwise, draw the two corners and the ring.\n else {\n context.arc(t0.cx, t0.cy, rc0, atan2(t0.y01, t0.x01), atan2(t0.y11, t0.x11), !cw);\n context.arc(0, 0, r0, atan2(t0.cy + t0.y11, t0.cx + t0.x11), atan2(t1.cy + t1.y11, t1.cx + t1.x11), cw);\n context.arc(t1.cx, t1.cy, rc0, atan2(t1.y11, t1.x11), atan2(t1.y01, t1.x01), !cw);\n }\n }\n\n // Or is the inner ring just a circular arc?\n else context.arc(0, 0, r0, a10, a00, cw);\n }\n\n context.closePath();\n\n if (buffer) return context = null, buffer + \"\" || null;\n }\n\n arc.centroid = function() {\n var r = (+innerRadius.apply(this, arguments) + +outerRadius.apply(this, arguments)) / 2,\n a = (+startAngle.apply(this, arguments) + +endAngle.apply(this, arguments)) / 2 - pi / 2;\n return [cos(a) * r, sin(a) * r];\n };\n\n arc.innerRadius = function(_) {\n return arguments.length ? (innerRadius = typeof _ === \"function\" ? _ : constant(+_), arc) : innerRadius;\n };\n\n arc.outerRadius = function(_) {\n return arguments.length ? (outerRadius = typeof _ === \"function\" ? _ : constant(+_), arc) : outerRadius;\n };\n\n arc.cornerRadius = function(_) {\n return arguments.length ? (cornerRadius = typeof _ === \"function\" ? _ : constant(+_), arc) : cornerRadius;\n };\n\n arc.padRadius = function(_) {\n return arguments.length ? (padRadius = _ == null ? null : typeof _ === \"function\" ? _ : constant(+_), arc) : padRadius;\n };\n\n arc.startAngle = function(_) {\n return arguments.length ? (startAngle = typeof _ === \"function\" ? _ : constant(+_), arc) : startAngle;\n };\n\n arc.endAngle = function(_) {\n return arguments.length ? (endAngle = typeof _ === \"function\" ? _ : constant(+_), arc) : endAngle;\n };\n\n arc.padAngle = function(_) {\n return arguments.length ? (padAngle = typeof _ === \"function\" ? _ : constant(+_), arc) : padAngle;\n };\n\n arc.context = function(_) {\n return arguments.length ? ((context = _ == null ? null : _), arc) : context;\n };\n\n return arc;\n}\n","function Linear(context) {\n this._context = context;\n}\n\nLinear.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._point = 0;\n },\n lineEnd: function() {\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; // proceed\n default: this._context.lineTo(x, y); break;\n }\n }\n};\n\nexport default function(context) {\n return new Linear(context);\n}\n","export function x(p) {\n return p[0];\n}\n\nexport function y(p) {\n return p[1];\n}\n","import {path} from \"d3-path\";\nimport constant from \"./constant\";\nimport curveLinear from \"./curve/linear\";\nimport {x as pointX, y as pointY} from \"./point\";\n\nexport default function() {\n var x = pointX,\n y = pointY,\n defined = constant(true),\n context = null,\n curve = curveLinear,\n output = null;\n\n function line(data) {\n var i,\n n = data.length,\n d,\n defined0 = false,\n buffer;\n\n if (context == null) output = curve(buffer = path());\n\n for (i = 0; i <= n; ++i) {\n if (!(i < n && defined(d = data[i], i, data)) === defined0) {\n if (defined0 = !defined0) output.lineStart();\n else output.lineEnd();\n }\n if (defined0) output.point(+x(d, i, data), +y(d, i, data));\n }\n\n if (buffer) return output = null, buffer + \"\" || null;\n }\n\n line.x = function(_) {\n return arguments.length ? (x = typeof _ === \"function\" ? _ : constant(+_), line) : x;\n };\n\n line.y = function(_) {\n return arguments.length ? (y = typeof _ === \"function\" ? _ : constant(+_), line) : y;\n };\n\n line.defined = function(_) {\n return arguments.length ? (defined = typeof _ === \"function\" ? _ : constant(!!_), line) : defined;\n };\n\n line.curve = function(_) {\n return arguments.length ? (curve = _, context != null && (output = curve(context)), line) : curve;\n };\n\n line.context = function(_) {\n return arguments.length ? (_ == null ? context = output = null : output = curve(context = _), line) : context;\n };\n\n return line;\n}\n","import {path} from \"d3-path\";\nimport constant from \"./constant\";\nimport curveLinear from \"./curve/linear\";\nimport line from \"./line\";\nimport {x as pointX, y as pointY} from \"./point\";\n\nexport default function() {\n var x0 = pointX,\n x1 = null,\n y0 = constant(0),\n y1 = pointY,\n defined = constant(true),\n context = null,\n curve = curveLinear,\n output = null;\n\n function area(data) {\n var i,\n j,\n k,\n n = data.length,\n d,\n defined0 = false,\n buffer,\n x0z = new Array(n),\n y0z = new Array(n);\n\n if (context == null) output = curve(buffer = path());\n\n for (i = 0; i <= n; ++i) {\n if (!(i < n && defined(d = data[i], i, data)) === defined0) {\n if (defined0 = !defined0) {\n j = i;\n output.areaStart();\n output.lineStart();\n } else {\n output.lineEnd();\n output.lineStart();\n for (k = i - 1; k >= j; --k) {\n output.point(x0z[k], y0z[k]);\n }\n output.lineEnd();\n output.areaEnd();\n }\n }\n if (defined0) {\n x0z[i] = +x0(d, i, data), y0z[i] = +y0(d, i, data);\n output.point(x1 ? +x1(d, i, data) : x0z[i], y1 ? +y1(d, i, data) : y0z[i]);\n }\n }\n\n if (buffer) return output = null, buffer + \"\" || null;\n }\n\n function arealine() {\n return line().defined(defined).curve(curve).context(context);\n }\n\n area.x = function(_) {\n return arguments.length ? (x0 = typeof _ === \"function\" ? _ : constant(+_), x1 = null, area) : x0;\n };\n\n area.x0 = function(_) {\n return arguments.length ? (x0 = typeof _ === \"function\" ? _ : constant(+_), area) : x0;\n };\n\n area.x1 = function(_) {\n return arguments.length ? (x1 = _ == null ? null : typeof _ === \"function\" ? _ : constant(+_), area) : x1;\n };\n\n area.y = function(_) {\n return arguments.length ? (y0 = typeof _ === \"function\" ? _ : constant(+_), y1 = null, area) : y0;\n };\n\n area.y0 = function(_) {\n return arguments.length ? (y0 = typeof _ === \"function\" ? _ : constant(+_), area) : y0;\n };\n\n area.y1 = function(_) {\n return arguments.length ? (y1 = _ == null ? null : typeof _ === \"function\" ? _ : constant(+_), area) : y1;\n };\n\n area.lineX0 =\n area.lineY0 = function() {\n return arealine().x(x0).y(y0);\n };\n\n area.lineY1 = function() {\n return arealine().x(x0).y(y1);\n };\n\n area.lineX1 = function() {\n return arealine().x(x1).y(y0);\n };\n\n area.defined = function(_) {\n return arguments.length ? (defined = typeof _ === \"function\" ? _ : constant(!!_), area) : defined;\n };\n\n area.curve = function(_) {\n return arguments.length ? (curve = _, context != null && (output = curve(context)), area) : curve;\n };\n\n area.context = function(_) {\n return arguments.length ? (_ == null ? context = output = null : output = curve(context = _), area) : context;\n };\n\n return area;\n}\n","export default function(a, b) {\n return b < a ? -1 : b > a ? 1 : b >= a ? 0 : NaN;\n}\n","export default function(d) {\n return d;\n}\n","import constant from \"./constant\";\nimport descending from \"./descending\";\nimport identity from \"./identity\";\nimport {tau} from \"./math\";\n\nexport default function() {\n var value = identity,\n sortValues = descending,\n sort = null,\n startAngle = constant(0),\n endAngle = constant(tau),\n padAngle = constant(0);\n\n function pie(data) {\n var i,\n n = data.length,\n j,\n k,\n sum = 0,\n index = new Array(n),\n arcs = new Array(n),\n a0 = +startAngle.apply(this, arguments),\n da = Math.min(tau, Math.max(-tau, endAngle.apply(this, arguments) - a0)),\n a1,\n p = Math.min(Math.abs(da) / n, padAngle.apply(this, arguments)),\n pa = p * (da < 0 ? -1 : 1),\n v;\n\n for (i = 0; i < n; ++i) {\n if ((v = arcs[index[i] = i] = +value(data[i], i, data)) > 0) {\n sum += v;\n }\n }\n\n // Optionally sort the arcs by previously-computed values or by data.\n if (sortValues != null) index.sort(function(i, j) { return sortValues(arcs[i], arcs[j]); });\n else if (sort != null) index.sort(function(i, j) { return sort(data[i], data[j]); });\n\n // Compute the arcs! They are stored in the original data's order.\n for (i = 0, k = sum ? (da - n * pa) / sum : 0; i < n; ++i, a0 = a1) {\n j = index[i], v = arcs[j], a1 = a0 + (v > 0 ? v * k : 0) + pa, arcs[j] = {\n data: data[j],\n index: i,\n value: v,\n startAngle: a0,\n endAngle: a1,\n padAngle: p\n };\n }\n\n return arcs;\n }\n\n pie.value = function(_) {\n return arguments.length ? (value = typeof _ === \"function\" ? _ : constant(+_), pie) : value;\n };\n\n pie.sortValues = function(_) {\n return arguments.length ? (sortValues = _, sort = null, pie) : sortValues;\n };\n\n pie.sort = function(_) {\n return arguments.length ? (sort = _, sortValues = null, pie) : sort;\n };\n\n pie.startAngle = function(_) {\n return arguments.length ? (startAngle = typeof _ === \"function\" ? _ : constant(+_), pie) : startAngle;\n };\n\n pie.endAngle = function(_) {\n return arguments.length ? (endAngle = typeof _ === \"function\" ? _ : constant(+_), pie) : endAngle;\n };\n\n pie.padAngle = function(_) {\n return arguments.length ? (padAngle = typeof _ === \"function\" ? _ : constant(+_), pie) : padAngle;\n };\n\n return pie;\n}\n","import curveLinear from \"./linear\";\n\nexport var curveRadialLinear = curveRadial(curveLinear);\n\nfunction Radial(curve) {\n this._curve = curve;\n}\n\nRadial.prototype = {\n areaStart: function() {\n this._curve.areaStart();\n },\n areaEnd: function() {\n this._curve.areaEnd();\n },\n lineStart: function() {\n this._curve.lineStart();\n },\n lineEnd: function() {\n this._curve.lineEnd();\n },\n point: function(a, r) {\n this._curve.point(r * Math.sin(a), r * -Math.cos(a));\n }\n};\n\nexport default function curveRadial(curve) {\n\n function radial(context) {\n return new Radial(curve(context));\n }\n\n radial._curve = curve;\n\n return radial;\n}\n","import curveRadial, {curveRadialLinear} from \"./curve/radial\";\nimport line from \"./line\";\n\nexport function lineRadial(l) {\n var c = l.curve;\n\n l.angle = l.x, delete l.x;\n l.radius = l.y, delete l.y;\n\n l.curve = function(_) {\n return arguments.length ? c(curveRadial(_)) : c()._curve;\n };\n\n return l;\n}\n\nexport default function() {\n return lineRadial(line().curve(curveRadialLinear));\n}\n","import curveRadial, {curveRadialLinear} from \"./curve/radial\";\nimport area from \"./area\";\nimport {lineRadial} from \"./lineRadial\"\n\nexport default function() {\n var a = area().curve(curveRadialLinear),\n c = a.curve,\n x0 = a.lineX0,\n x1 = a.lineX1,\n y0 = a.lineY0,\n y1 = a.lineY1;\n\n a.angle = a.x, delete a.x;\n a.startAngle = a.x0, delete a.x0;\n a.endAngle = a.x1, delete a.x1;\n a.radius = a.y, delete a.y;\n a.innerRadius = a.y0, delete a.y0;\n a.outerRadius = a.y1, delete a.y1;\n a.lineStartAngle = function() { return lineRadial(x0()); }, delete a.lineX0;\n a.lineEndAngle = function() { return lineRadial(x1()); }, delete a.lineX1;\n a.lineInnerRadius = function() { return lineRadial(y0()); }, delete a.lineY0;\n a.lineOuterRadius = function() { return lineRadial(y1()); }, delete a.lineY1;\n\n a.curve = function(_) {\n return arguments.length ? c(curveRadial(_)) : c()._curve;\n };\n\n return a;\n}\n","export default function(x, y) {\n return [(y = +y) * Math.cos(x -= Math.PI / 2), y * Math.sin(x)];\n}\n","export var slice = Array.prototype.slice;\n","import {path} from \"d3-path\";\nimport {slice} from \"../array\";\nimport constant from \"../constant\";\nimport {x as pointX, y as pointY} from \"../point\";\nimport pointRadial from \"../pointRadial\";\n\nfunction linkSource(d) {\n return d.source;\n}\n\nfunction linkTarget(d) {\n return d.target;\n}\n\nfunction link(curve) {\n var source = linkSource,\n target = linkTarget,\n x = pointX,\n y = pointY,\n context = null;\n\n function link() {\n var buffer, argv = slice.call(arguments), s = source.apply(this, argv), t = target.apply(this, argv);\n if (!context) context = buffer = path();\n curve(context, +x.apply(this, (argv[0] = s, argv)), +y.apply(this, argv), +x.apply(this, (argv[0] = t, argv)), +y.apply(this, argv));\n if (buffer) return context = null, buffer + \"\" || null;\n }\n\n link.source = function(_) {\n return arguments.length ? (source = _, link) : source;\n };\n\n link.target = function(_) {\n return arguments.length ? (target = _, link) : target;\n };\n\n link.x = function(_) {\n return arguments.length ? (x = typeof _ === \"function\" ? _ : constant(+_), link) : x;\n };\n\n link.y = function(_) {\n return arguments.length ? (y = typeof _ === \"function\" ? _ : constant(+_), link) : y;\n };\n\n link.context = function(_) {\n return arguments.length ? ((context = _ == null ? null : _), link) : context;\n };\n\n return link;\n}\n\nfunction curveHorizontal(context, x0, y0, x1, y1) {\n context.moveTo(x0, y0);\n context.bezierCurveTo(x0 = (x0 + x1) / 2, y0, x0, y1, x1, y1);\n}\n\nfunction curveVertical(context, x0, y0, x1, y1) {\n context.moveTo(x0, y0);\n context.bezierCurveTo(x0, y0 = (y0 + y1) / 2, x1, y0, x1, y1);\n}\n\nfunction curveRadial(context, x0, y0, x1, y1) {\n var p0 = pointRadial(x0, y0),\n p1 = pointRadial(x0, y0 = (y0 + y1) / 2),\n p2 = pointRadial(x1, y0),\n p3 = pointRadial(x1, y1);\n context.moveTo(p0[0], p0[1]);\n context.bezierCurveTo(p1[0], p1[1], p2[0], p2[1], p3[0], p3[1]);\n}\n\nexport function linkHorizontal() {\n return link(curveHorizontal);\n}\n\nexport function linkVertical() {\n return link(curveVertical);\n}\n\nexport function linkRadial() {\n var l = link(curveRadial);\n l.angle = l.x, delete l.x;\n l.radius = l.y, delete l.y;\n return l;\n}\n","import {pi, tau} from \"../math\";\n\nexport default {\n draw: function(context, size) {\n var r = Math.sqrt(size / pi);\n context.moveTo(r, 0);\n context.arc(0, 0, r, 0, tau);\n }\n};\n","export default {\n draw: function(context, size) {\n var r = Math.sqrt(size / 5) / 2;\n context.moveTo(-3 * r, -r);\n context.lineTo(-r, -r);\n context.lineTo(-r, -3 * r);\n context.lineTo(r, -3 * r);\n context.lineTo(r, -r);\n context.lineTo(3 * r, -r);\n context.lineTo(3 * r, r);\n context.lineTo(r, r);\n context.lineTo(r, 3 * r);\n context.lineTo(-r, 3 * r);\n context.lineTo(-r, r);\n context.lineTo(-3 * r, r);\n context.closePath();\n }\n};\n","var tan30 = Math.sqrt(1 / 3),\n tan30_2 = tan30 * 2;\n\nexport default {\n draw: function(context, size) {\n var y = Math.sqrt(size / tan30_2),\n x = y * tan30;\n context.moveTo(0, -y);\n context.lineTo(x, 0);\n context.lineTo(0, y);\n context.lineTo(-x, 0);\n context.closePath();\n }\n};\n","import {pi, tau} from \"../math\";\n\nvar ka = 0.89081309152928522810,\n kr = Math.sin(pi / 10) / Math.sin(7 * pi / 10),\n kx = Math.sin(tau / 10) * kr,\n ky = -Math.cos(tau / 10) * kr;\n\nexport default {\n draw: function(context, size) {\n var r = Math.sqrt(size * ka),\n x = kx * r,\n y = ky * r;\n context.moveTo(0, -r);\n context.lineTo(x, y);\n for (var i = 1; i < 5; ++i) {\n var a = tau * i / 5,\n c = Math.cos(a),\n s = Math.sin(a);\n context.lineTo(s * r, -c * r);\n context.lineTo(c * x - s * y, s * x + c * y);\n }\n context.closePath();\n }\n};\n","export default {\n draw: function(context, size) {\n var w = Math.sqrt(size),\n x = -w / 2;\n context.rect(x, x, w, w);\n }\n};\n","var sqrt3 = Math.sqrt(3);\n\nexport default {\n draw: function(context, size) {\n var y = -Math.sqrt(size / (sqrt3 * 3));\n context.moveTo(0, y * 2);\n context.lineTo(-sqrt3 * y, -y);\n context.lineTo(sqrt3 * y, -y);\n context.closePath();\n }\n};\n","var c = -0.5,\n s = Math.sqrt(3) / 2,\n k = 1 / Math.sqrt(12),\n a = (k / 2 + 1) * 3;\n\nexport default {\n draw: function(context, size) {\n var r = Math.sqrt(size / a),\n x0 = r / 2,\n y0 = r * k,\n x1 = x0,\n y1 = r * k + r,\n x2 = -x1,\n y2 = y1;\n context.moveTo(x0, y0);\n context.lineTo(x1, y1);\n context.lineTo(x2, y2);\n context.lineTo(c * x0 - s * y0, s * x0 + c * y0);\n context.lineTo(c * x1 - s * y1, s * x1 + c * y1);\n context.lineTo(c * x2 - s * y2, s * x2 + c * y2);\n context.lineTo(c * x0 + s * y0, c * y0 - s * x0);\n context.lineTo(c * x1 + s * y1, c * y1 - s * x1);\n context.lineTo(c * x2 + s * y2, c * y2 - s * x2);\n context.closePath();\n }\n};\n","import {path} from \"d3-path\";\nimport circle from \"./symbol/circle\";\nimport cross from \"./symbol/cross\";\nimport diamond from \"./symbol/diamond\";\nimport star from \"./symbol/star\";\nimport square from \"./symbol/square\";\nimport triangle from \"./symbol/triangle\";\nimport wye from \"./symbol/wye\";\nimport constant from \"./constant\";\n\nexport var symbols = [\n circle,\n cross,\n diamond,\n square,\n star,\n triangle,\n wye\n];\n\nexport default function() {\n var type = constant(circle),\n size = constant(64),\n context = null;\n\n function symbol() {\n var buffer;\n if (!context) context = buffer = path();\n type.apply(this, arguments).draw(context, +size.apply(this, arguments));\n if (buffer) return context = null, buffer + \"\" || null;\n }\n\n symbol.type = function(_) {\n return arguments.length ? (type = typeof _ === \"function\" ? _ : constant(_), symbol) : type;\n };\n\n symbol.size = function(_) {\n return arguments.length ? (size = typeof _ === \"function\" ? _ : constant(+_), symbol) : size;\n };\n\n symbol.context = function(_) {\n return arguments.length ? (context = _ == null ? null : _, symbol) : context;\n };\n\n return symbol;\n}\n","export default function() {}\n","export function point(that, x, y) {\n that._context.bezierCurveTo(\n (2 * that._x0 + that._x1) / 3,\n (2 * that._y0 + that._y1) / 3,\n (that._x0 + 2 * that._x1) / 3,\n (that._y0 + 2 * that._y1) / 3,\n (that._x0 + 4 * that._x1 + x) / 6,\n (that._y0 + 4 * that._y1 + y) / 6\n );\n}\n\nexport function Basis(context) {\n this._context = context;\n}\n\nBasis.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 =\n this._y0 = this._y1 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 3: point(this, this._x1, this._y1); // proceed\n case 2: this._context.lineTo(this._x1, this._y1); break;\n }\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; break;\n case 2: this._point = 3; this._context.lineTo((5 * this._x0 + this._x1) / 6, (5 * this._y0 + this._y1) / 6); // proceed\n default: point(this, x, y); break;\n }\n this._x0 = this._x1, this._x1 = x;\n this._y0 = this._y1, this._y1 = y;\n }\n};\n\nexport default function(context) {\n return new Basis(context);\n}\n","import noop from \"../noop\";\nimport {point} from \"./basis\";\n\nfunction BasisClosed(context) {\n this._context = context;\n}\n\nBasisClosed.prototype = {\n areaStart: noop,\n areaEnd: noop,\n lineStart: function() {\n this._x0 = this._x1 = this._x2 = this._x3 = this._x4 =\n this._y0 = this._y1 = this._y2 = this._y3 = this._y4 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 1: {\n this._context.moveTo(this._x2, this._y2);\n this._context.closePath();\n break;\n }\n case 2: {\n this._context.moveTo((this._x2 + 2 * this._x3) / 3, (this._y2 + 2 * this._y3) / 3);\n this._context.lineTo((this._x3 + 2 * this._x2) / 3, (this._y3 + 2 * this._y2) / 3);\n this._context.closePath();\n break;\n }\n case 3: {\n this.point(this._x2, this._y2);\n this.point(this._x3, this._y3);\n this.point(this._x4, this._y4);\n break;\n }\n }\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._x2 = x, this._y2 = y; break;\n case 1: this._point = 2; this._x3 = x, this._y3 = y; break;\n case 2: this._point = 3; this._x4 = x, this._y4 = y; this._context.moveTo((this._x0 + 4 * this._x1 + x) / 6, (this._y0 + 4 * this._y1 + y) / 6); break;\n default: point(this, x, y); break;\n }\n this._x0 = this._x1, this._x1 = x;\n this._y0 = this._y1, this._y1 = y;\n }\n};\n\nexport default function(context) {\n return new BasisClosed(context);\n}\n","import {point} from \"./basis\";\n\nfunction BasisOpen(context) {\n this._context = context;\n}\n\nBasisOpen.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 =\n this._y0 = this._y1 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n if (this._line || (this._line !== 0 && this._point === 3)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; break;\n case 1: this._point = 2; break;\n case 2: this._point = 3; var x0 = (this._x0 + 4 * this._x1 + x) / 6, y0 = (this._y0 + 4 * this._y1 + y) / 6; this._line ? this._context.lineTo(x0, y0) : this._context.moveTo(x0, y0); break;\n case 3: this._point = 4; // proceed\n default: point(this, x, y); break;\n }\n this._x0 = this._x1, this._x1 = x;\n this._y0 = this._y1, this._y1 = y;\n }\n};\n\nexport default function(context) {\n return new BasisOpen(context);\n}\n","import {Basis} from \"./basis\";\n\nfunction Bundle(context, beta) {\n this._basis = new Basis(context);\n this._beta = beta;\n}\n\nBundle.prototype = {\n lineStart: function() {\n this._x = [];\n this._y = [];\n this._basis.lineStart();\n },\n lineEnd: function() {\n var x = this._x,\n y = this._y,\n j = x.length - 1;\n\n if (j > 0) {\n var x0 = x[0],\n y0 = y[0],\n dx = x[j] - x0,\n dy = y[j] - y0,\n i = -1,\n t;\n\n while (++i <= j) {\n t = i / j;\n this._basis.point(\n this._beta * x[i] + (1 - this._beta) * (x0 + t * dx),\n this._beta * y[i] + (1 - this._beta) * (y0 + t * dy)\n );\n }\n }\n\n this._x = this._y = null;\n this._basis.lineEnd();\n },\n point: function(x, y) {\n this._x.push(+x);\n this._y.push(+y);\n }\n};\n\nexport default (function custom(beta) {\n\n function bundle(context) {\n return beta === 1 ? new Basis(context) : new Bundle(context, beta);\n }\n\n bundle.beta = function(beta) {\n return custom(+beta);\n };\n\n return bundle;\n})(0.85);\n","export function point(that, x, y) {\n that._context.bezierCurveTo(\n that._x1 + that._k * (that._x2 - that._x0),\n that._y1 + that._k * (that._y2 - that._y0),\n that._x2 + that._k * (that._x1 - x),\n that._y2 + that._k * (that._y1 - y),\n that._x2,\n that._y2\n );\n}\n\nexport function Cardinal(context, tension) {\n this._context = context;\n this._k = (1 - tension) / 6;\n}\n\nCardinal.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 = this._x2 =\n this._y0 = this._y1 = this._y2 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 2: this._context.lineTo(this._x2, this._y2); break;\n case 3: point(this, this._x1, this._y1); break;\n }\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; this._x1 = x, this._y1 = y; break;\n case 2: this._point = 3; // proceed\n default: point(this, x, y); break;\n }\n this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;\n this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;\n }\n};\n\nexport default (function custom(tension) {\n\n function cardinal(context) {\n return new Cardinal(context, tension);\n }\n\n cardinal.tension = function(tension) {\n return custom(+tension);\n };\n\n return cardinal;\n})(0);\n","import noop from \"../noop\";\nimport {point} from \"./cardinal\";\n\nexport function CardinalClosed(context, tension) {\n this._context = context;\n this._k = (1 - tension) / 6;\n}\n\nCardinalClosed.prototype = {\n areaStart: noop,\n areaEnd: noop,\n lineStart: function() {\n this._x0 = this._x1 = this._x2 = this._x3 = this._x4 = this._x5 =\n this._y0 = this._y1 = this._y2 = this._y3 = this._y4 = this._y5 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 1: {\n this._context.moveTo(this._x3, this._y3);\n this._context.closePath();\n break;\n }\n case 2: {\n this._context.lineTo(this._x3, this._y3);\n this._context.closePath();\n break;\n }\n case 3: {\n this.point(this._x3, this._y3);\n this.point(this._x4, this._y4);\n this.point(this._x5, this._y5);\n break;\n }\n }\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._x3 = x, this._y3 = y; break;\n case 1: this._point = 2; this._context.moveTo(this._x4 = x, this._y4 = y); break;\n case 2: this._point = 3; this._x5 = x, this._y5 = y; break;\n default: point(this, x, y); break;\n }\n this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;\n this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;\n }\n};\n\nexport default (function custom(tension) {\n\n function cardinal(context) {\n return new CardinalClosed(context, tension);\n }\n\n cardinal.tension = function(tension) {\n return custom(+tension);\n };\n\n return cardinal;\n})(0);\n","import {point} from \"./cardinal\";\n\nexport function CardinalOpen(context, tension) {\n this._context = context;\n this._k = (1 - tension) / 6;\n}\n\nCardinalOpen.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 = this._x2 =\n this._y0 = this._y1 = this._y2 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n if (this._line || (this._line !== 0 && this._point === 3)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; break;\n case 1: this._point = 2; break;\n case 2: this._point = 3; this._line ? this._context.lineTo(this._x2, this._y2) : this._context.moveTo(this._x2, this._y2); break;\n case 3: this._point = 4; // proceed\n default: point(this, x, y); break;\n }\n this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;\n this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;\n }\n};\n\nexport default (function custom(tension) {\n\n function cardinal(context) {\n return new CardinalOpen(context, tension);\n }\n\n cardinal.tension = function(tension) {\n return custom(+tension);\n };\n\n return cardinal;\n})(0);\n","import {epsilon} from \"../math\";\nimport {Cardinal} from \"./cardinal\";\n\nexport function point(that, x, y) {\n var x1 = that._x1,\n y1 = that._y1,\n x2 = that._x2,\n y2 = that._y2;\n\n if (that._l01_a > epsilon) {\n var a = 2 * that._l01_2a + 3 * that._l01_a * that._l12_a + that._l12_2a,\n n = 3 * that._l01_a * (that._l01_a + that._l12_a);\n x1 = (x1 * a - that._x0 * that._l12_2a + that._x2 * that._l01_2a) / n;\n y1 = (y1 * a - that._y0 * that._l12_2a + that._y2 * that._l01_2a) / n;\n }\n\n if (that._l23_a > epsilon) {\n var b = 2 * that._l23_2a + 3 * that._l23_a * that._l12_a + that._l12_2a,\n m = 3 * that._l23_a * (that._l23_a + that._l12_a);\n x2 = (x2 * b + that._x1 * that._l23_2a - x * that._l12_2a) / m;\n y2 = (y2 * b + that._y1 * that._l23_2a - y * that._l12_2a) / m;\n }\n\n that._context.bezierCurveTo(x1, y1, x2, y2, that._x2, that._y2);\n}\n\nfunction CatmullRom(context, alpha) {\n this._context = context;\n this._alpha = alpha;\n}\n\nCatmullRom.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 = this._x2 =\n this._y0 = this._y1 = this._y2 = NaN;\n this._l01_a = this._l12_a = this._l23_a =\n this._l01_2a = this._l12_2a = this._l23_2a =\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 2: this._context.lineTo(this._x2, this._y2); break;\n case 3: this.point(this._x2, this._y2); break;\n }\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n\n if (this._point) {\n var x23 = this._x2 - x,\n y23 = this._y2 - y;\n this._l23_a = Math.sqrt(this._l23_2a = Math.pow(x23 * x23 + y23 * y23, this._alpha));\n }\n\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; break;\n case 2: this._point = 3; // proceed\n default: point(this, x, y); break;\n }\n\n this._l01_a = this._l12_a, this._l12_a = this._l23_a;\n this._l01_2a = this._l12_2a, this._l12_2a = this._l23_2a;\n this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;\n this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;\n }\n};\n\nexport default (function custom(alpha) {\n\n function catmullRom(context) {\n return alpha ? new CatmullRom(context, alpha) : new Cardinal(context, 0);\n }\n\n catmullRom.alpha = function(alpha) {\n return custom(+alpha);\n };\n\n return catmullRom;\n})(0.5);\n","import {CardinalClosed} from \"./cardinalClosed\";\nimport noop from \"../noop\";\nimport {point} from \"./catmullRom\";\n\nfunction CatmullRomClosed(context, alpha) {\n this._context = context;\n this._alpha = alpha;\n}\n\nCatmullRomClosed.prototype = {\n areaStart: noop,\n areaEnd: noop,\n lineStart: function() {\n this._x0 = this._x1 = this._x2 = this._x3 = this._x4 = this._x5 =\n this._y0 = this._y1 = this._y2 = this._y3 = this._y4 = this._y5 = NaN;\n this._l01_a = this._l12_a = this._l23_a =\n this._l01_2a = this._l12_2a = this._l23_2a =\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 1: {\n this._context.moveTo(this._x3, this._y3);\n this._context.closePath();\n break;\n }\n case 2: {\n this._context.lineTo(this._x3, this._y3);\n this._context.closePath();\n break;\n }\n case 3: {\n this.point(this._x3, this._y3);\n this.point(this._x4, this._y4);\n this.point(this._x5, this._y5);\n break;\n }\n }\n },\n point: function(x, y) {\n x = +x, y = +y;\n\n if (this._point) {\n var x23 = this._x2 - x,\n y23 = this._y2 - y;\n this._l23_a = Math.sqrt(this._l23_2a = Math.pow(x23 * x23 + y23 * y23, this._alpha));\n }\n\n switch (this._point) {\n case 0: this._point = 1; this._x3 = x, this._y3 = y; break;\n case 1: this._point = 2; this._context.moveTo(this._x4 = x, this._y4 = y); break;\n case 2: this._point = 3; this._x5 = x, this._y5 = y; break;\n default: point(this, x, y); break;\n }\n\n this._l01_a = this._l12_a, this._l12_a = this._l23_a;\n this._l01_2a = this._l12_2a, this._l12_2a = this._l23_2a;\n this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;\n this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;\n }\n};\n\nexport default (function custom(alpha) {\n\n function catmullRom(context) {\n return alpha ? new CatmullRomClosed(context, alpha) : new CardinalClosed(context, 0);\n }\n\n catmullRom.alpha = function(alpha) {\n return custom(+alpha);\n };\n\n return catmullRom;\n})(0.5);\n","import {CardinalOpen} from \"./cardinalOpen\";\nimport {point} from \"./catmullRom\";\n\nfunction CatmullRomOpen(context, alpha) {\n this._context = context;\n this._alpha = alpha;\n}\n\nCatmullRomOpen.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 = this._x2 =\n this._y0 = this._y1 = this._y2 = NaN;\n this._l01_a = this._l12_a = this._l23_a =\n this._l01_2a = this._l12_2a = this._l23_2a =\n this._point = 0;\n },\n lineEnd: function() {\n if (this._line || (this._line !== 0 && this._point === 3)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n\n if (this._point) {\n var x23 = this._x2 - x,\n y23 = this._y2 - y;\n this._l23_a = Math.sqrt(this._l23_2a = Math.pow(x23 * x23 + y23 * y23, this._alpha));\n }\n\n switch (this._point) {\n case 0: this._point = 1; break;\n case 1: this._point = 2; break;\n case 2: this._point = 3; this._line ? this._context.lineTo(this._x2, this._y2) : this._context.moveTo(this._x2, this._y2); break;\n case 3: this._point = 4; // proceed\n default: point(this, x, y); break;\n }\n\n this._l01_a = this._l12_a, this._l12_a = this._l23_a;\n this._l01_2a = this._l12_2a, this._l12_2a = this._l23_2a;\n this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;\n this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;\n }\n};\n\nexport default (function custom(alpha) {\n\n function catmullRom(context) {\n return alpha ? new CatmullRomOpen(context, alpha) : new CardinalOpen(context, 0);\n }\n\n catmullRom.alpha = function(alpha) {\n return custom(+alpha);\n };\n\n return catmullRom;\n})(0.5);\n","import noop from \"../noop\";\n\nfunction LinearClosed(context) {\n this._context = context;\n}\n\nLinearClosed.prototype = {\n areaStart: noop,\n areaEnd: noop,\n lineStart: function() {\n this._point = 0;\n },\n lineEnd: function() {\n if (this._point) this._context.closePath();\n },\n point: function(x, y) {\n x = +x, y = +y;\n if (this._point) this._context.lineTo(x, y);\n else this._point = 1, this._context.moveTo(x, y);\n }\n};\n\nexport default function(context) {\n return new LinearClosed(context);\n}\n","function sign(x) {\n return x < 0 ? -1 : 1;\n}\n\n// Calculate the slopes of the tangents (Hermite-type interpolation) based on\n// the following paper: Steffen, M. 1990. A Simple Method for Monotonic\n// Interpolation in One Dimension. Astronomy and Astrophysics, Vol. 239, NO.\n// NOV(II), P. 443, 1990.\nfunction slope3(that, x2, y2) {\n var h0 = that._x1 - that._x0,\n h1 = x2 - that._x1,\n s0 = (that._y1 - that._y0) / (h0 || h1 < 0 && -0),\n s1 = (y2 - that._y1) / (h1 || h0 < 0 && -0),\n p = (s0 * h1 + s1 * h0) / (h0 + h1);\n return (sign(s0) + sign(s1)) * Math.min(Math.abs(s0), Math.abs(s1), 0.5 * Math.abs(p)) || 0;\n}\n\n// Calculate a one-sided slope.\nfunction slope2(that, t) {\n var h = that._x1 - that._x0;\n return h ? (3 * (that._y1 - that._y0) / h - t) / 2 : t;\n}\n\n// According to https://en.wikipedia.org/wiki/Cubic_Hermite_spline#Representations\n// \"you can express cubic Hermite interpolation in terms of cubic Bézier curves\n// with respect to the four values p0, p0 + m0 / 3, p1 - m1 / 3, p1\".\nfunction point(that, t0, t1) {\n var x0 = that._x0,\n y0 = that._y0,\n x1 = that._x1,\n y1 = that._y1,\n dx = (x1 - x0) / 3;\n that._context.bezierCurveTo(x0 + dx, y0 + dx * t0, x1 - dx, y1 - dx * t1, x1, y1);\n}\n\nfunction MonotoneX(context) {\n this._context = context;\n}\n\nMonotoneX.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 =\n this._y0 = this._y1 =\n this._t0 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 2: this._context.lineTo(this._x1, this._y1); break;\n case 3: point(this, this._t0, slope2(this, this._t0)); break;\n }\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n var t1 = NaN;\n\n x = +x, y = +y;\n if (x === this._x1 && y === this._y1) return; // Ignore coincident points.\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; break;\n case 2: this._point = 3; point(this, slope2(this, t1 = slope3(this, x, y)), t1); break;\n default: point(this, this._t0, t1 = slope3(this, x, y)); break;\n }\n\n this._x0 = this._x1, this._x1 = x;\n this._y0 = this._y1, this._y1 = y;\n this._t0 = t1;\n }\n}\n\nfunction MonotoneY(context) {\n this._context = new ReflectContext(context);\n}\n\n(MonotoneY.prototype = Object.create(MonotoneX.prototype)).point = function(x, y) {\n MonotoneX.prototype.point.call(this, y, x);\n};\n\nfunction ReflectContext(context) {\n this._context = context;\n}\n\nReflectContext.prototype = {\n moveTo: function(x, y) { this._context.moveTo(y, x); },\n closePath: function() { this._context.closePath(); },\n lineTo: function(x, y) { this._context.lineTo(y, x); },\n bezierCurveTo: function(x1, y1, x2, y2, x, y) { this._context.bezierCurveTo(y1, x1, y2, x2, y, x); }\n};\n\nexport function monotoneX(context) {\n return new MonotoneX(context);\n}\n\nexport function monotoneY(context) {\n return new MonotoneY(context);\n}\n","function Natural(context) {\n this._context = context;\n}\n\nNatural.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x = [];\n this._y = [];\n },\n lineEnd: function() {\n var x = this._x,\n y = this._y,\n n = x.length;\n\n if (n) {\n this._line ? this._context.lineTo(x[0], y[0]) : this._context.moveTo(x[0], y[0]);\n if (n === 2) {\n this._context.lineTo(x[1], y[1]);\n } else {\n var px = controlPoints(x),\n py = controlPoints(y);\n for (var i0 = 0, i1 = 1; i1 < n; ++i0, ++i1) {\n this._context.bezierCurveTo(px[0][i0], py[0][i0], px[1][i0], py[1][i0], x[i1], y[i1]);\n }\n }\n }\n\n if (this._line || (this._line !== 0 && n === 1)) this._context.closePath();\n this._line = 1 - this._line;\n this._x = this._y = null;\n },\n point: function(x, y) {\n this._x.push(+x);\n this._y.push(+y);\n }\n};\n\n// See https://www.particleincell.com/2012/bezier-splines/ for derivation.\nfunction controlPoints(x) {\n var i,\n n = x.length - 1,\n m,\n a = new Array(n),\n b = new Array(n),\n r = new Array(n);\n a[0] = 0, b[0] = 2, r[0] = x[0] + 2 * x[1];\n for (i = 1; i < n - 1; ++i) a[i] = 1, b[i] = 4, r[i] = 4 * x[i] + 2 * x[i + 1];\n a[n - 1] = 2, b[n - 1] = 7, r[n - 1] = 8 * x[n - 1] + x[n];\n for (i = 1; i < n; ++i) m = a[i] / b[i - 1], b[i] -= m, r[i] -= m * r[i - 1];\n a[n - 1] = r[n - 1] / b[n - 1];\n for (i = n - 2; i >= 0; --i) a[i] = (r[i] - a[i + 1]) / b[i];\n b[n - 1] = (x[n] + a[n - 1]) / 2;\n for (i = 0; i < n - 1; ++i) b[i] = 2 * x[i + 1] - a[i + 1];\n return [a, b];\n}\n\nexport default function(context) {\n return new Natural(context);\n}\n","function Step(context, t) {\n this._context = context;\n this._t = t;\n}\n\nStep.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x = this._y = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n if (0 < this._t && this._t < 1 && this._point === 2) this._context.lineTo(this._x, this._y);\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n if (this._line >= 0) this._t = 1 - this._t, this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; // proceed\n default: {\n if (this._t <= 0) {\n this._context.lineTo(this._x, y);\n this._context.lineTo(x, y);\n } else {\n var x1 = this._x * (1 - this._t) + x * this._t;\n this._context.lineTo(x1, this._y);\n this._context.lineTo(x1, y);\n }\n break;\n }\n }\n this._x = x, this._y = y;\n }\n};\n\nexport default function(context) {\n return new Step(context, 0.5);\n}\n\nexport function stepBefore(context) {\n return new Step(context, 0);\n}\n\nexport function stepAfter(context) {\n return new Step(context, 1);\n}\n","export default function(series, order) {\n if (!((n = series.length) > 1)) return;\n for (var i = 1, j, s0, s1 = series[order[0]], n, m = s1.length; i < n; ++i) {\n s0 = s1, s1 = series[order[i]];\n for (j = 0; j < m; ++j) {\n s1[j][1] += s1[j][0] = isNaN(s0[j][1]) ? s0[j][0] : s0[j][1];\n }\n }\n}\n","export default function(series) {\n var n = series.length, o = new Array(n);\n while (--n >= 0) o[n] = n;\n return o;\n}\n","import {slice} from \"./array\";\nimport constant from \"./constant\";\nimport offsetNone from \"./offset/none\";\nimport orderNone from \"./order/none\";\n\nfunction stackValue(d, key) {\n return d[key];\n}\n\nexport default function() {\n var keys = constant([]),\n order = orderNone,\n offset = offsetNone,\n value = stackValue;\n\n function stack(data) {\n var kz = keys.apply(this, arguments),\n i,\n m = data.length,\n n = kz.length,\n sz = new Array(n),\n oz;\n\n for (i = 0; i < n; ++i) {\n for (var ki = kz[i], si = sz[i] = new Array(m), j = 0, sij; j < m; ++j) {\n si[j] = sij = [0, +value(data[j], ki, j, data)];\n sij.data = data[j];\n }\n si.key = ki;\n }\n\n for (i = 0, oz = order(sz); i < n; ++i) {\n sz[oz[i]].index = i;\n }\n\n offset(sz, oz);\n return sz;\n }\n\n stack.keys = function(_) {\n return arguments.length ? (keys = typeof _ === \"function\" ? _ : constant(slice.call(_)), stack) : keys;\n };\n\n stack.value = function(_) {\n return arguments.length ? (value = typeof _ === \"function\" ? _ : constant(+_), stack) : value;\n };\n\n stack.order = function(_) {\n return arguments.length ? (order = _ == null ? orderNone : typeof _ === \"function\" ? _ : constant(slice.call(_)), stack) : order;\n };\n\n stack.offset = function(_) {\n return arguments.length ? (offset = _ == null ? offsetNone : _, stack) : offset;\n };\n\n return stack;\n}\n","import none from \"./none\";\n\nexport default function(series, order) {\n if (!((n = series.length) > 0)) return;\n for (var i, n, j = 0, m = series[0].length, y; j < m; ++j) {\n for (y = i = 0; i < n; ++i) y += series[i][j][1] || 0;\n if (y) for (i = 0; i < n; ++i) series[i][j][1] /= y;\n }\n none(series, order);\n}\n","export default function(series, order) {\n if (!((n = series.length) > 1)) return;\n for (var i, j = 0, d, dy, yp, yn, n, m = series[order[0]].length; j < m; ++j) {\n for (yp = yn = 0, i = 0; i < n; ++i) {\n if ((dy = (d = series[order[i]][j])[1] - d[0]) >= 0) {\n d[0] = yp, d[1] = yp += dy;\n } else if (dy < 0) {\n d[1] = yn, d[0] = yn += dy;\n } else {\n d[0] = yp;\n }\n }\n }\n}\n","import none from \"./none\";\n\nexport default function(series, order) {\n if (!((n = series.length) > 0)) return;\n for (var j = 0, s0 = series[order[0]], n, m = s0.length; j < m; ++j) {\n for (var i = 0, y = 0; i < n; ++i) y += series[i][j][1] || 0;\n s0[j][1] += s0[j][0] = -y / 2;\n }\n none(series, order);\n}\n","import none from \"./none\";\n\nexport default function(series, order) {\n if (!((n = series.length) > 0) || !((m = (s0 = series[order[0]]).length) > 0)) return;\n for (var y = 0, j = 1, s0, m, n; j < m; ++j) {\n for (var i = 0, s1 = 0, s2 = 0; i < n; ++i) {\n var si = series[order[i]],\n sij0 = si[j][1] || 0,\n sij1 = si[j - 1][1] || 0,\n s3 = (sij0 - sij1) / 2;\n for (var k = 0; k < i; ++k) {\n var sk = series[order[k]],\n skj0 = sk[j][1] || 0,\n skj1 = sk[j - 1][1] || 0;\n s3 += skj0 - skj1;\n }\n s1 += sij0, s2 += s3 * sij0;\n }\n s0[j - 1][1] += s0[j - 1][0] = y;\n if (s1) y -= s2 / s1;\n }\n s0[j - 1][1] += s0[j - 1][0] = y;\n none(series, order);\n}\n","import none from \"./none\";\n\nexport default function(series) {\n var sums = series.map(sum);\n return none(series).sort(function(a, b) { return sums[a] - sums[b]; });\n}\n\nexport function sum(series) {\n var s = 0, i = -1, n = series.length, v;\n while (++i < n) if (v = +series[i][1]) s += v;\n return s;\n}\n","import ascending from \"./ascending\";\n\nexport default function(series) {\n return ascending(series).reverse();\n}\n","import none from \"./none\";\nimport {sum} from \"./ascending\";\n\nexport default function(series) {\n var n = series.length,\n i,\n j,\n sums = series.map(sum),\n order = none(series).sort(function(a, b) { return sums[b] - sums[a]; }),\n top = 0,\n bottom = 0,\n tops = [],\n bottoms = [];\n\n for (i = 0; i < n; ++i) {\n j = order[i];\n if (top < bottom) {\n top += sums[j];\n tops.push(j);\n } else {\n bottom += sums[j];\n bottoms.push(j);\n }\n }\n\n return bottoms.reverse().concat(tops);\n}\n","import none from \"./none\";\n\nexport default function(series) {\n return none(series).reverse();\n}\n","export default function(x) {\n return function() {\n return x;\n };\n}\n","export function x(d) {\n return d[0];\n}\n\nexport function y(d) {\n return d[1];\n}\n","function RedBlackTree() {\n this._ = null; // root node\n}\n\nexport function RedBlackNode(node) {\n node.U = // parent node\n node.C = // color - true for red, false for black\n node.L = // left node\n node.R = // right node\n node.P = // previous node\n node.N = null; // next node\n}\n\nRedBlackTree.prototype = {\n constructor: RedBlackTree,\n\n insert: function(after, node) {\n var parent, grandpa, uncle;\n\n if (after) {\n node.P = after;\n node.N = after.N;\n if (after.N) after.N.P = node;\n after.N = node;\n if (after.R) {\n after = after.R;\n while (after.L) after = after.L;\n after.L = node;\n } else {\n after.R = node;\n }\n parent = after;\n } else if (this._) {\n after = RedBlackFirst(this._);\n node.P = null;\n node.N = after;\n after.P = after.L = node;\n parent = after;\n } else {\n node.P = node.N = null;\n this._ = node;\n parent = null;\n }\n node.L = node.R = null;\n node.U = parent;\n node.C = true;\n\n after = node;\n while (parent && parent.C) {\n grandpa = parent.U;\n if (parent === grandpa.L) {\n uncle = grandpa.R;\n if (uncle && uncle.C) {\n parent.C = uncle.C = false;\n grandpa.C = true;\n after = grandpa;\n } else {\n if (after === parent.R) {\n RedBlackRotateLeft(this, parent);\n after = parent;\n parent = after.U;\n }\n parent.C = false;\n grandpa.C = true;\n RedBlackRotateRight(this, grandpa);\n }\n } else {\n uncle = grandpa.L;\n if (uncle && uncle.C) {\n parent.C = uncle.C = false;\n grandpa.C = true;\n after = grandpa;\n } else {\n if (after === parent.L) {\n RedBlackRotateRight(this, parent);\n after = parent;\n parent = after.U;\n }\n parent.C = false;\n grandpa.C = true;\n RedBlackRotateLeft(this, grandpa);\n }\n }\n parent = after.U;\n }\n this._.C = false;\n },\n\n remove: function(node) {\n if (node.N) node.N.P = node.P;\n if (node.P) node.P.N = node.N;\n node.N = node.P = null;\n\n var parent = node.U,\n sibling,\n left = node.L,\n right = node.R,\n next,\n red;\n\n if (!left) next = right;\n else if (!right) next = left;\n else next = RedBlackFirst(right);\n\n if (parent) {\n if (parent.L === node) parent.L = next;\n else parent.R = next;\n } else {\n this._ = next;\n }\n\n if (left && right) {\n red = next.C;\n next.C = node.C;\n next.L = left;\n left.U = next;\n if (next !== right) {\n parent = next.U;\n next.U = node.U;\n node = next.R;\n parent.L = node;\n next.R = right;\n right.U = next;\n } else {\n next.U = parent;\n parent = next;\n node = next.R;\n }\n } else {\n red = node.C;\n node = next;\n }\n\n if (node) node.U = parent;\n if (red) return;\n if (node && node.C) { node.C = false; return; }\n\n do {\n if (node === this._) break;\n if (node === parent.L) {\n sibling = parent.R;\n if (sibling.C) {\n sibling.C = false;\n parent.C = true;\n RedBlackRotateLeft(this, parent);\n sibling = parent.R;\n }\n if ((sibling.L && sibling.L.C)\n || (sibling.R && sibling.R.C)) {\n if (!sibling.R || !sibling.R.C) {\n sibling.L.C = false;\n sibling.C = true;\n RedBlackRotateRight(this, sibling);\n sibling = parent.R;\n }\n sibling.C = parent.C;\n parent.C = sibling.R.C = false;\n RedBlackRotateLeft(this, parent);\n node = this._;\n break;\n }\n } else {\n sibling = parent.L;\n if (sibling.C) {\n sibling.C = false;\n parent.C = true;\n RedBlackRotateRight(this, parent);\n sibling = parent.L;\n }\n if ((sibling.L && sibling.L.C)\n || (sibling.R && sibling.R.C)) {\n if (!sibling.L || !sibling.L.C) {\n sibling.R.C = false;\n sibling.C = true;\n RedBlackRotateLeft(this, sibling);\n sibling = parent.L;\n }\n sibling.C = parent.C;\n parent.C = sibling.L.C = false;\n RedBlackRotateRight(this, parent);\n node = this._;\n break;\n }\n }\n sibling.C = true;\n node = parent;\n parent = parent.U;\n } while (!node.C);\n\n if (node) node.C = false;\n }\n};\n\nfunction RedBlackRotateLeft(tree, node) {\n var p = node,\n q = node.R,\n parent = p.U;\n\n if (parent) {\n if (parent.L === p) parent.L = q;\n else parent.R = q;\n } else {\n tree._ = q;\n }\n\n q.U = parent;\n p.U = q;\n p.R = q.L;\n if (p.R) p.R.U = p;\n q.L = p;\n}\n\nfunction RedBlackRotateRight(tree, node) {\n var p = node,\n q = node.L,\n parent = p.U;\n\n if (parent) {\n if (parent.L === p) parent.L = q;\n else parent.R = q;\n } else {\n tree._ = q;\n }\n\n q.U = parent;\n p.U = q;\n p.L = q.R;\n if (p.L) p.L.U = p;\n q.R = p;\n}\n\nfunction RedBlackFirst(node) {\n while (node.L) node = node.L;\n return node;\n}\n\nexport default RedBlackTree;\n","import {cells, edges, epsilon} from \"./Diagram\";\n\nexport function createEdge(left, right, v0, v1) {\n var edge = [null, null],\n index = edges.push(edge) - 1;\n edge.left = left;\n edge.right = right;\n if (v0) setEdgeEnd(edge, left, right, v0);\n if (v1) setEdgeEnd(edge, right, left, v1);\n cells[left.index].halfedges.push(index);\n cells[right.index].halfedges.push(index);\n return edge;\n}\n\nexport function createBorderEdge(left, v0, v1) {\n var edge = [v0, v1];\n edge.left = left;\n return edge;\n}\n\nexport function setEdgeEnd(edge, left, right, vertex) {\n if (!edge[0] && !edge[1]) {\n edge[0] = vertex;\n edge.left = left;\n edge.right = right;\n } else if (edge.left === right) {\n edge[1] = vertex;\n } else {\n edge[0] = vertex;\n }\n}\n\n// Liang–Barsky line clipping.\nfunction clipEdge(edge, x0, y0, x1, y1) {\n var a = edge[0],\n b = edge[1],\n ax = a[0],\n ay = a[1],\n bx = b[0],\n by = b[1],\n t0 = 0,\n t1 = 1,\n dx = bx - ax,\n dy = by - ay,\n r;\n\n r = x0 - ax;\n if (!dx && r > 0) return;\n r /= dx;\n if (dx < 0) {\n if (r < t0) return;\n if (r < t1) t1 = r;\n } else if (dx > 0) {\n if (r > t1) return;\n if (r > t0) t0 = r;\n }\n\n r = x1 - ax;\n if (!dx && r < 0) return;\n r /= dx;\n if (dx < 0) {\n if (r > t1) return;\n if (r > t0) t0 = r;\n } else if (dx > 0) {\n if (r < t0) return;\n if (r < t1) t1 = r;\n }\n\n r = y0 - ay;\n if (!dy && r > 0) return;\n r /= dy;\n if (dy < 0) {\n if (r < t0) return;\n if (r < t1) t1 = r;\n } else if (dy > 0) {\n if (r > t1) return;\n if (r > t0) t0 = r;\n }\n\n r = y1 - ay;\n if (!dy && r < 0) return;\n r /= dy;\n if (dy < 0) {\n if (r > t1) return;\n if (r > t0) t0 = r;\n } else if (dy > 0) {\n if (r < t0) return;\n if (r < t1) t1 = r;\n }\n\n if (!(t0 > 0) && !(t1 < 1)) return true; // TODO Better check?\n\n if (t0 > 0) edge[0] = [ax + t0 * dx, ay + t0 * dy];\n if (t1 < 1) edge[1] = [ax + t1 * dx, ay + t1 * dy];\n return true;\n}\n\nfunction connectEdge(edge, x0, y0, x1, y1) {\n var v1 = edge[1];\n if (v1) return true;\n\n var v0 = edge[0],\n left = edge.left,\n right = edge.right,\n lx = left[0],\n ly = left[1],\n rx = right[0],\n ry = right[1],\n fx = (lx + rx) / 2,\n fy = (ly + ry) / 2,\n fm,\n fb;\n\n if (ry === ly) {\n if (fx < x0 || fx >= x1) return;\n if (lx > rx) {\n if (!v0) v0 = [fx, y0];\n else if (v0[1] >= y1) return;\n v1 = [fx, y1];\n } else {\n if (!v0) v0 = [fx, y1];\n else if (v0[1] < y0) return;\n v1 = [fx, y0];\n }\n } else {\n fm = (lx - rx) / (ry - ly);\n fb = fy - fm * fx;\n if (fm < -1 || fm > 1) {\n if (lx > rx) {\n if (!v0) v0 = [(y0 - fb) / fm, y0];\n else if (v0[1] >= y1) return;\n v1 = [(y1 - fb) / fm, y1];\n } else {\n if (!v0) v0 = [(y1 - fb) / fm, y1];\n else if (v0[1] < y0) return;\n v1 = [(y0 - fb) / fm, y0];\n }\n } else {\n if (ly < ry) {\n if (!v0) v0 = [x0, fm * x0 + fb];\n else if (v0[0] >= x1) return;\n v1 = [x1, fm * x1 + fb];\n } else {\n if (!v0) v0 = [x1, fm * x1 + fb];\n else if (v0[0] < x0) return;\n v1 = [x0, fm * x0 + fb];\n }\n }\n }\n\n edge[0] = v0;\n edge[1] = v1;\n return true;\n}\n\nexport function clipEdges(x0, y0, x1, y1) {\n var i = edges.length,\n edge;\n\n while (i--) {\n if (!connectEdge(edge = edges[i], x0, y0, x1, y1)\n || !clipEdge(edge, x0, y0, x1, y1)\n || !(Math.abs(edge[0][0] - edge[1][0]) > epsilon\n || Math.abs(edge[0][1] - edge[1][1]) > epsilon)) {\n delete edges[i];\n }\n }\n}\n","import {createBorderEdge} from \"./Edge\";\nimport {cells, edges, epsilon} from \"./Diagram\";\n\nexport function createCell(site) {\n return cells[site.index] = {\n site: site,\n halfedges: []\n };\n}\n\nfunction cellHalfedgeAngle(cell, edge) {\n var site = cell.site,\n va = edge.left,\n vb = edge.right;\n if (site === vb) vb = va, va = site;\n if (vb) return Math.atan2(vb[1] - va[1], vb[0] - va[0]);\n if (site === va) va = edge[1], vb = edge[0];\n else va = edge[0], vb = edge[1];\n return Math.atan2(va[0] - vb[0], vb[1] - va[1]);\n}\n\nexport function cellHalfedgeStart(cell, edge) {\n return edge[+(edge.left !== cell.site)];\n}\n\nexport function cellHalfedgeEnd(cell, edge) {\n return edge[+(edge.left === cell.site)];\n}\n\nexport function sortCellHalfedges() {\n for (var i = 0, n = cells.length, cell, halfedges, j, m; i < n; ++i) {\n if ((cell = cells[i]) && (m = (halfedges = cell.halfedges).length)) {\n var index = new Array(m),\n array = new Array(m);\n for (j = 0; j < m; ++j) index[j] = j, array[j] = cellHalfedgeAngle(cell, edges[halfedges[j]]);\n index.sort(function(i, j) { return array[j] - array[i]; });\n for (j = 0; j < m; ++j) array[j] = halfedges[index[j]];\n for (j = 0; j < m; ++j) halfedges[j] = array[j];\n }\n }\n}\n\nexport function clipCells(x0, y0, x1, y1) {\n var nCells = cells.length,\n iCell,\n cell,\n site,\n iHalfedge,\n halfedges,\n nHalfedges,\n start,\n startX,\n startY,\n end,\n endX,\n endY,\n cover = true;\n\n for (iCell = 0; iCell < nCells; ++iCell) {\n if (cell = cells[iCell]) {\n site = cell.site;\n halfedges = cell.halfedges;\n iHalfedge = halfedges.length;\n\n // Remove any dangling clipped edges.\n while (iHalfedge--) {\n if (!edges[halfedges[iHalfedge]]) {\n halfedges.splice(iHalfedge, 1);\n }\n }\n\n // Insert any border edges as necessary.\n iHalfedge = 0, nHalfedges = halfedges.length;\n while (iHalfedge < nHalfedges) {\n end = cellHalfedgeEnd(cell, edges[halfedges[iHalfedge]]), endX = end[0], endY = end[1];\n start = cellHalfedgeStart(cell, edges[halfedges[++iHalfedge % nHalfedges]]), startX = start[0], startY = start[1];\n if (Math.abs(endX - startX) > epsilon || Math.abs(endY - startY) > epsilon) {\n halfedges.splice(iHalfedge, 0, edges.push(createBorderEdge(site, end,\n Math.abs(endX - x0) < epsilon && y1 - endY > epsilon ? [x0, Math.abs(startX - x0) < epsilon ? startY : y1]\n : Math.abs(endY - y1) < epsilon && x1 - endX > epsilon ? [Math.abs(startY - y1) < epsilon ? startX : x1, y1]\n : Math.abs(endX - x1) < epsilon && endY - y0 > epsilon ? [x1, Math.abs(startX - x1) < epsilon ? startY : y0]\n : Math.abs(endY - y0) < epsilon && endX - x0 > epsilon ? [Math.abs(startY - y0) < epsilon ? startX : x0, y0]\n : null)) - 1);\n ++nHalfedges;\n }\n }\n\n if (nHalfedges) cover = false;\n }\n }\n\n // If there weren’t any edges, have the closest site cover the extent.\n // It doesn’t matter which corner of the extent we measure!\n if (cover) {\n var dx, dy, d2, dc = Infinity;\n\n for (iCell = 0, cover = null; iCell < nCells; ++iCell) {\n if (cell = cells[iCell]) {\n site = cell.site;\n dx = site[0] - x0;\n dy = site[1] - y0;\n d2 = dx * dx + dy * dy;\n if (d2 < dc) dc = d2, cover = cell;\n }\n }\n\n if (cover) {\n var v00 = [x0, y0], v01 = [x0, y1], v11 = [x1, y1], v10 = [x1, y0];\n cover.halfedges.push(\n edges.push(createBorderEdge(site = cover.site, v00, v01)) - 1,\n edges.push(createBorderEdge(site, v01, v11)) - 1,\n edges.push(createBorderEdge(site, v11, v10)) - 1,\n edges.push(createBorderEdge(site, v10, v00)) - 1\n );\n }\n }\n\n // Lastly delete any cells with no edges; these were entirely clipped.\n for (iCell = 0; iCell < nCells; ++iCell) {\n if (cell = cells[iCell]) {\n if (!cell.halfedges.length) {\n delete cells[iCell];\n }\n }\n }\n}\n","import {RedBlackNode} from \"./RedBlackTree\";\nimport {circles, epsilon2} from \"./Diagram\";\n\nvar circlePool = [];\n\nexport var firstCircle;\n\nfunction Circle() {\n RedBlackNode(this);\n this.x =\n this.y =\n this.arc =\n this.site =\n this.cy = null;\n}\n\nexport function attachCircle(arc) {\n var lArc = arc.P,\n rArc = arc.N;\n\n if (!lArc || !rArc) return;\n\n var lSite = lArc.site,\n cSite = arc.site,\n rSite = rArc.site;\n\n if (lSite === rSite) return;\n\n var bx = cSite[0],\n by = cSite[1],\n ax = lSite[0] - bx,\n ay = lSite[1] - by,\n cx = rSite[0] - bx,\n cy = rSite[1] - by;\n\n var d = 2 * (ax * cy - ay * cx);\n if (d >= -epsilon2) return;\n\n var ha = ax * ax + ay * ay,\n hc = cx * cx + cy * cy,\n x = (cy * ha - ay * hc) / d,\n y = (ax * hc - cx * ha) / d;\n\n var circle = circlePool.pop() || new Circle;\n circle.arc = arc;\n circle.site = cSite;\n circle.x = x + bx;\n circle.y = (circle.cy = y + by) + Math.sqrt(x * x + y * y); // y bottom\n\n arc.circle = circle;\n\n var before = null,\n node = circles._;\n\n while (node) {\n if (circle.y < node.y || (circle.y === node.y && circle.x <= node.x)) {\n if (node.L) node = node.L;\n else { before = node.P; break; }\n } else {\n if (node.R) node = node.R;\n else { before = node; break; }\n }\n }\n\n circles.insert(before, circle);\n if (!before) firstCircle = circle;\n}\n\nexport function detachCircle(arc) {\n var circle = arc.circle;\n if (circle) {\n if (!circle.P) firstCircle = circle.N;\n circles.remove(circle);\n circlePool.push(circle);\n RedBlackNode(circle);\n arc.circle = null;\n }\n}\n","import {RedBlackNode} from \"./RedBlackTree\";\nimport {createCell} from \"./Cell\";\nimport {attachCircle, detachCircle} from \"./Circle\";\nimport {createEdge, setEdgeEnd} from \"./Edge\";\nimport {beaches, epsilon} from \"./Diagram\";\n\nvar beachPool = [];\n\nfunction Beach() {\n RedBlackNode(this);\n this.edge =\n this.site =\n this.circle = null;\n}\n\nfunction createBeach(site) {\n var beach = beachPool.pop() || new Beach;\n beach.site = site;\n return beach;\n}\n\nfunction detachBeach(beach) {\n detachCircle(beach);\n beaches.remove(beach);\n beachPool.push(beach);\n RedBlackNode(beach);\n}\n\nexport function removeBeach(beach) {\n var circle = beach.circle,\n x = circle.x,\n y = circle.cy,\n vertex = [x, y],\n previous = beach.P,\n next = beach.N,\n disappearing = [beach];\n\n detachBeach(beach);\n\n var lArc = previous;\n while (lArc.circle\n && Math.abs(x - lArc.circle.x) < epsilon\n && Math.abs(y - lArc.circle.cy) < epsilon) {\n previous = lArc.P;\n disappearing.unshift(lArc);\n detachBeach(lArc);\n lArc = previous;\n }\n\n disappearing.unshift(lArc);\n detachCircle(lArc);\n\n var rArc = next;\n while (rArc.circle\n && Math.abs(x - rArc.circle.x) < epsilon\n && Math.abs(y - rArc.circle.cy) < epsilon) {\n next = rArc.N;\n disappearing.push(rArc);\n detachBeach(rArc);\n rArc = next;\n }\n\n disappearing.push(rArc);\n detachCircle(rArc);\n\n var nArcs = disappearing.length,\n iArc;\n for (iArc = 1; iArc < nArcs; ++iArc) {\n rArc = disappearing[iArc];\n lArc = disappearing[iArc - 1];\n setEdgeEnd(rArc.edge, lArc.site, rArc.site, vertex);\n }\n\n lArc = disappearing[0];\n rArc = disappearing[nArcs - 1];\n rArc.edge = createEdge(lArc.site, rArc.site, null, vertex);\n\n attachCircle(lArc);\n attachCircle(rArc);\n}\n\nexport function addBeach(site) {\n var x = site[0],\n directrix = site[1],\n lArc,\n rArc,\n dxl,\n dxr,\n node = beaches._;\n\n while (node) {\n dxl = leftBreakPoint(node, directrix) - x;\n if (dxl > epsilon) node = node.L; else {\n dxr = x - rightBreakPoint(node, directrix);\n if (dxr > epsilon) {\n if (!node.R) {\n lArc = node;\n break;\n }\n node = node.R;\n } else {\n if (dxl > -epsilon) {\n lArc = node.P;\n rArc = node;\n } else if (dxr > -epsilon) {\n lArc = node;\n rArc = node.N;\n } else {\n lArc = rArc = node;\n }\n break;\n }\n }\n }\n\n createCell(site);\n var newArc = createBeach(site);\n beaches.insert(lArc, newArc);\n\n if (!lArc && !rArc) return;\n\n if (lArc === rArc) {\n detachCircle(lArc);\n rArc = createBeach(lArc.site);\n beaches.insert(newArc, rArc);\n newArc.edge = rArc.edge = createEdge(lArc.site, newArc.site);\n attachCircle(lArc);\n attachCircle(rArc);\n return;\n }\n\n if (!rArc) { // && lArc\n newArc.edge = createEdge(lArc.site, newArc.site);\n return;\n }\n\n // else lArc !== rArc\n detachCircle(lArc);\n detachCircle(rArc);\n\n var lSite = lArc.site,\n ax = lSite[0],\n ay = lSite[1],\n bx = site[0] - ax,\n by = site[1] - ay,\n rSite = rArc.site,\n cx = rSite[0] - ax,\n cy = rSite[1] - ay,\n d = 2 * (bx * cy - by * cx),\n hb = bx * bx + by * by,\n hc = cx * cx + cy * cy,\n vertex = [(cy * hb - by * hc) / d + ax, (bx * hc - cx * hb) / d + ay];\n\n setEdgeEnd(rArc.edge, lSite, rSite, vertex);\n newArc.edge = createEdge(lSite, site, null, vertex);\n rArc.edge = createEdge(site, rSite, null, vertex);\n attachCircle(lArc);\n attachCircle(rArc);\n}\n\nfunction leftBreakPoint(arc, directrix) {\n var site = arc.site,\n rfocx = site[0],\n rfocy = site[1],\n pby2 = rfocy - directrix;\n\n if (!pby2) return rfocx;\n\n var lArc = arc.P;\n if (!lArc) return -Infinity;\n\n site = lArc.site;\n var lfocx = site[0],\n lfocy = site[1],\n plby2 = lfocy - directrix;\n\n if (!plby2) return lfocx;\n\n var hl = lfocx - rfocx,\n aby2 = 1 / pby2 - 1 / plby2,\n b = hl / plby2;\n\n if (aby2) return (-b + Math.sqrt(b * b - 2 * aby2 * (hl * hl / (-2 * plby2) - lfocy + plby2 / 2 + rfocy - pby2 / 2))) / aby2 + rfocx;\n\n return (rfocx + lfocx) / 2;\n}\n\nfunction rightBreakPoint(arc, directrix) {\n var rArc = arc.N;\n if (rArc) return leftBreakPoint(rArc, directrix);\n var site = arc.site;\n return site[1] === directrix ? site[0] : Infinity;\n}\n","import {addBeach, removeBeach} from \"./Beach\";\nimport {sortCellHalfedges, cellHalfedgeStart, clipCells} from \"./Cell\";\nimport {firstCircle} from \"./Circle\";\nimport {clipEdges} from \"./Edge\";\nimport RedBlackTree from \"./RedBlackTree\";\n\nexport var epsilon = 1e-6;\nexport var epsilon2 = 1e-12;\nexport var beaches;\nexport var cells;\nexport var circles;\nexport var edges;\n\nfunction triangleArea(a, b, c) {\n return (a[0] - c[0]) * (b[1] - a[1]) - (a[0] - b[0]) * (c[1] - a[1]);\n}\n\nfunction lexicographic(a, b) {\n return b[1] - a[1]\n || b[0] - a[0];\n}\n\nexport default function Diagram(sites, extent) {\n var site = sites.sort(lexicographic).pop(),\n x,\n y,\n circle;\n\n edges = [];\n cells = new Array(sites.length);\n beaches = new RedBlackTree;\n circles = new RedBlackTree;\n\n while (true) {\n circle = firstCircle;\n if (site && (!circle || site[1] < circle.y || (site[1] === circle.y && site[0] < circle.x))) {\n if (site[0] !== x || site[1] !== y) {\n addBeach(site);\n x = site[0], y = site[1];\n }\n site = sites.pop();\n } else if (circle) {\n removeBeach(circle.arc);\n } else {\n break;\n }\n }\n\n sortCellHalfedges();\n\n if (extent) {\n var x0 = +extent[0][0],\n y0 = +extent[0][1],\n x1 = +extent[1][0],\n y1 = +extent[1][1];\n clipEdges(x0, y0, x1, y1);\n clipCells(x0, y0, x1, y1);\n }\n\n this.edges = edges;\n this.cells = cells;\n\n beaches =\n circles =\n edges =\n cells = null;\n}\n\nDiagram.prototype = {\n constructor: Diagram,\n\n polygons: function() {\n var edges = this.edges;\n\n return this.cells.map(function(cell) {\n var polygon = cell.halfedges.map(function(i) { return cellHalfedgeStart(cell, edges[i]); });\n polygon.data = cell.site.data;\n return polygon;\n });\n },\n\n triangles: function() {\n var triangles = [],\n edges = this.edges;\n\n this.cells.forEach(function(cell, i) {\n if (!(m = (halfedges = cell.halfedges).length)) return;\n var site = cell.site,\n halfedges,\n j = -1,\n m,\n s0,\n e1 = edges[halfedges[m - 1]],\n s1 = e1.left === site ? e1.right : e1.left;\n\n while (++j < m) {\n s0 = s1;\n e1 = edges[halfedges[j]];\n s1 = e1.left === site ? e1.right : e1.left;\n if (s0 && s1 && i < s0.index && i < s1.index && triangleArea(site, s0, s1) < 0) {\n triangles.push([site.data, s0.data, s1.data]);\n }\n }\n });\n\n return triangles;\n },\n\n links: function() {\n return this.edges.filter(function(edge) {\n return edge.right;\n }).map(function(edge) {\n return {\n source: edge.left.data,\n target: edge.right.data\n };\n });\n },\n\n find: function(x, y, radius) {\n var that = this, i0, i1 = that._found || 0, n = that.cells.length, cell;\n\n // Use the previously-found cell, or start with an arbitrary one.\n while (!(cell = that.cells[i1])) if (++i1 >= n) return null;\n var dx = x - cell.site[0], dy = y - cell.site[1], d2 = dx * dx + dy * dy;\n\n // Traverse the half-edges to find a closer cell, if any.\n do {\n cell = that.cells[i0 = i1], i1 = null;\n cell.halfedges.forEach(function(e) {\n var edge = that.edges[e], v = edge.left;\n if ((v === cell.site || !v) && !(v = edge.right)) return;\n var vx = x - v[0], vy = y - v[1], v2 = vx * vx + vy * vy;\n if (v2 < d2) d2 = v2, i1 = v.index;\n });\n } while (i1 !== null);\n\n that._found = i0;\n\n return radius == null || d2 <= radius * radius ? cell.site : null;\n }\n}\n","import constant from \"./constant\";\nimport {x as pointX, y as pointY} from \"./point\";\nimport Diagram, {epsilon} from \"./Diagram\";\n\nexport default function() {\n var x = pointX,\n y = pointY,\n extent = null;\n\n function voronoi(data) {\n return new Diagram(data.map(function(d, i) {\n var s = [Math.round(x(d, i, data) / epsilon) * epsilon, Math.round(y(d, i, data) / epsilon) * epsilon];\n s.index = i;\n s.data = d;\n return s;\n }), extent);\n }\n\n voronoi.polygons = function(data) {\n return voronoi(data).polygons();\n };\n\n voronoi.links = function(data) {\n return voronoi(data).links();\n };\n\n voronoi.triangles = function(data) {\n return voronoi(data).triangles();\n };\n\n voronoi.x = function(_) {\n return arguments.length ? (x = typeof _ === \"function\" ? _ : constant(+_), voronoi) : x;\n };\n\n voronoi.y = function(_) {\n return arguments.length ? (y = typeof _ === \"function\" ? _ : constant(+_), voronoi) : y;\n };\n\n voronoi.extent = function(_) {\n return arguments.length ? (extent = _ == null ? null : [[+_[0][0], +_[0][1]], [+_[1][0], +_[1][1]]], voronoi) : extent && [[extent[0][0], extent[0][1]], [extent[1][0], extent[1][1]]];\n };\n\n voronoi.size = function(_) {\n return arguments.length ? (extent = _ == null ? null : [[0, 0], [+_[0], +_[1]]], voronoi) : extent && [extent[1][0] - extent[0][0], extent[1][1] - extent[0][1]];\n };\n\n return voronoi;\n}\n","export default function(x) {\n return function() {\n return x;\n };\n}\n","export function Transform(k, x, y) {\n this.k = k;\n this.x = x;\n this.y = y;\n}\n\nTransform.prototype = {\n constructor: Transform,\n scale: function(k) {\n return k === 1 ? this : new Transform(this.k * k, this.x, this.y);\n },\n translate: function(x, y) {\n return x === 0 & y === 0 ? this : new Transform(this.k, this.x + this.k * x, this.y + this.k * y);\n },\n apply: function(point) {\n return [point[0] * this.k + this.x, point[1] * this.k + this.y];\n },\n applyX: function(x) {\n return x * this.k + this.x;\n },\n applyY: function(y) {\n return y * this.k + this.y;\n },\n invert: function(location) {\n return [(location[0] - this.x) / this.k, (location[1] - this.y) / this.k];\n },\n invertX: function(x) {\n return (x - this.x) / this.k;\n },\n invertY: function(y) {\n return (y - this.y) / this.k;\n },\n rescaleX: function(x) {\n return x.copy().domain(x.range().map(this.invertX, this).map(x.invert, x));\n },\n rescaleY: function(y) {\n return y.copy().domain(y.range().map(this.invertY, this).map(y.invert, y));\n },\n toString: function() {\n return \"translate(\" + this.x + \",\" + this.y + \") scale(\" + this.k + \")\";\n }\n};\n\nexport var identity = new Transform(1, 0, 0);\n\ntransform.prototype = Transform.prototype;\n\nexport default function transform(node) {\n return node.__zoom || identity;\n}\n","import {event} from \"d3-selection\";\n\nexport function nopropagation() {\n event.stopImmediatePropagation();\n}\n\nexport default function() {\n event.preventDefault();\n event.stopImmediatePropagation();\n}\n","import {dispatch} from \"d3-dispatch\";\nimport {dragDisable, dragEnable} from \"d3-drag\";\nimport {interpolateZoom} from \"d3-interpolate\";\nimport {event, customEvent, select, mouse, touch} from \"d3-selection\";\nimport {interrupt} from \"d3-transition\";\nimport constant from \"./constant\";\nimport ZoomEvent from \"./event\";\nimport {Transform, identity} from \"./transform\";\nimport noevent, {nopropagation} from \"./noevent\";\n\n// Ignore right-click, since that should open the context menu.\nfunction defaultFilter() {\n return !event.button;\n}\n\nfunction defaultExtent() {\n var e = this, w, h;\n if (e instanceof SVGElement) {\n e = e.ownerSVGElement || e;\n w = e.width.baseVal.value;\n h = e.height.baseVal.value;\n } else {\n w = e.clientWidth;\n h = e.clientHeight;\n }\n return [[0, 0], [w, h]];\n}\n\nfunction defaultTransform() {\n return this.__zoom || identity;\n}\n\nfunction defaultWheelDelta() {\n return -event.deltaY * (event.deltaMode ? 120 : 1) / 500;\n}\n\nfunction defaultTouchable() {\n return \"ontouchstart\" in this;\n}\n\nfunction defaultConstrain(transform, extent, translateExtent) {\n var dx0 = transform.invertX(extent[0][0]) - translateExtent[0][0],\n dx1 = transform.invertX(extent[1][0]) - translateExtent[1][0],\n dy0 = transform.invertY(extent[0][1]) - translateExtent[0][1],\n dy1 = transform.invertY(extent[1][1]) - translateExtent[1][1];\n return transform.translate(\n dx1 > dx0 ? (dx0 + dx1) / 2 : Math.min(0, dx0) || Math.max(0, dx1),\n dy1 > dy0 ? (dy0 + dy1) / 2 : Math.min(0, dy0) || Math.max(0, dy1)\n );\n}\n\nexport default function() {\n var filter = defaultFilter,\n extent = defaultExtent,\n constrain = defaultConstrain,\n wheelDelta = defaultWheelDelta,\n touchable = defaultTouchable,\n scaleExtent = [0, Infinity],\n translateExtent = [[-Infinity, -Infinity], [Infinity, Infinity]],\n duration = 250,\n interpolate = interpolateZoom,\n gestures = [],\n listeners = dispatch(\"start\", \"zoom\", \"end\"),\n touchstarting,\n touchending,\n touchDelay = 500,\n wheelDelay = 150,\n clickDistance2 = 0;\n\n function zoom(selection) {\n selection\n .property(\"__zoom\", defaultTransform)\n .on(\"wheel.zoom\", wheeled)\n .on(\"mousedown.zoom\", mousedowned)\n .on(\"dblclick.zoom\", dblclicked)\n .filter(touchable)\n .on(\"touchstart.zoom\", touchstarted)\n .on(\"touchmove.zoom\", touchmoved)\n .on(\"touchend.zoom touchcancel.zoom\", touchended)\n .style(\"touch-action\", \"none\")\n .style(\"-webkit-tap-highlight-color\", \"rgba(0,0,0,0)\");\n }\n\n zoom.transform = function(collection, transform) {\n var selection = collection.selection ? collection.selection() : collection;\n selection.property(\"__zoom\", defaultTransform);\n if (collection !== selection) {\n schedule(collection, transform);\n } else {\n selection.interrupt().each(function() {\n gesture(this, arguments)\n .start()\n .zoom(null, typeof transform === \"function\" ? transform.apply(this, arguments) : transform)\n .end();\n });\n }\n };\n\n zoom.scaleBy = function(selection, k) {\n zoom.scaleTo(selection, function() {\n var k0 = this.__zoom.k,\n k1 = typeof k === \"function\" ? k.apply(this, arguments) : k;\n return k0 * k1;\n });\n };\n\n zoom.scaleTo = function(selection, k) {\n zoom.transform(selection, function() {\n var e = extent.apply(this, arguments),\n t0 = this.__zoom,\n p0 = centroid(e),\n p1 = t0.invert(p0),\n k1 = typeof k === \"function\" ? k.apply(this, arguments) : k;\n return constrain(translate(scale(t0, k1), p0, p1), e, translateExtent);\n });\n };\n\n zoom.translateBy = function(selection, x, y) {\n zoom.transform(selection, function() {\n return constrain(this.__zoom.translate(\n typeof x === \"function\" ? x.apply(this, arguments) : x,\n typeof y === \"function\" ? y.apply(this, arguments) : y\n ), extent.apply(this, arguments), translateExtent);\n });\n };\n\n zoom.translateTo = function(selection, x, y) {\n zoom.transform(selection, function() {\n var e = extent.apply(this, arguments),\n t = this.__zoom,\n p = centroid(e);\n return constrain(identity.translate(p[0], p[1]).scale(t.k).translate(\n typeof x === \"function\" ? -x.apply(this, arguments) : -x,\n typeof y === \"function\" ? -y.apply(this, arguments) : -y\n ), e, translateExtent);\n });\n };\n\n function scale(transform, k) {\n k = Math.max(scaleExtent[0], Math.min(scaleExtent[1], k));\n return k === transform.k ? transform : new Transform(k, transform.x, transform.y);\n }\n\n function translate(transform, p0, p1) {\n var x = p0[0] - p1[0] * transform.k, y = p0[1] - p1[1] * transform.k;\n return x === transform.x && y === transform.y ? transform : new Transform(transform.k, x, y);\n }\n\n function centroid(extent) {\n return [(+extent[0][0] + +extent[1][0]) / 2, (+extent[0][1] + +extent[1][1]) / 2];\n }\n\n function schedule(transition, transform, center) {\n transition\n .on(\"start.zoom\", function() { gesture(this, arguments).start(); })\n .on(\"interrupt.zoom end.zoom\", function() { gesture(this, arguments).end(); })\n .tween(\"zoom\", function() {\n var that = this,\n args = arguments,\n g = gesture(that, args),\n e = extent.apply(that, args),\n p = center || centroid(e),\n w = Math.max(e[1][0] - e[0][0], e[1][1] - e[0][1]),\n a = that.__zoom,\n b = typeof transform === \"function\" ? transform.apply(that, args) : transform,\n i = interpolate(a.invert(p).concat(w / a.k), b.invert(p).concat(w / b.k));\n return function(t) {\n if (t === 1) t = b; // Avoid rounding error on end.\n else { var l = i(t), k = w / l[2]; t = new Transform(k, p[0] - l[0] * k, p[1] - l[1] * k); }\n g.zoom(null, t);\n };\n });\n }\n\n function gesture(that, args) {\n for (var i = 0, n = gestures.length, g; i < n; ++i) {\n if ((g = gestures[i]).that === that) {\n return g;\n }\n }\n return new Gesture(that, args);\n }\n\n function Gesture(that, args) {\n this.that = that;\n this.args = args;\n this.index = -1;\n this.active = 0;\n this.extent = extent.apply(that, args);\n }\n\n Gesture.prototype = {\n start: function() {\n if (++this.active === 1) {\n this.index = gestures.push(this) - 1;\n this.emit(\"start\");\n }\n return this;\n },\n zoom: function(key, transform) {\n if (this.mouse && key !== \"mouse\") this.mouse[1] = transform.invert(this.mouse[0]);\n if (this.touch0 && key !== \"touch\") this.touch0[1] = transform.invert(this.touch0[0]);\n if (this.touch1 && key !== \"touch\") this.touch1[1] = transform.invert(this.touch1[0]);\n this.that.__zoom = transform;\n this.emit(\"zoom\");\n return this;\n },\n end: function() {\n if (--this.active === 0) {\n gestures.splice(this.index, 1);\n this.index = -1;\n this.emit(\"end\");\n }\n return this;\n },\n emit: function(type) {\n customEvent(new ZoomEvent(zoom, type, this.that.__zoom), listeners.apply, listeners, [type, this.that, this.args]);\n }\n };\n\n function wheeled() {\n if (!filter.apply(this, arguments)) return;\n var g = gesture(this, arguments),\n t = this.__zoom,\n k = Math.max(scaleExtent[0], Math.min(scaleExtent[1], t.k * Math.pow(2, wheelDelta.apply(this, arguments)))),\n p = mouse(this);\n\n // If the mouse is in the same location as before, reuse it.\n // If there were recent wheel events, reset the wheel idle timeout.\n if (g.wheel) {\n if (g.mouse[0][0] !== p[0] || g.mouse[0][1] !== p[1]) {\n g.mouse[1] = t.invert(g.mouse[0] = p);\n }\n clearTimeout(g.wheel);\n }\n\n // If this wheel event won’t trigger a transform change, ignore it.\n else if (t.k === k) return;\n\n // Otherwise, capture the mouse point and location at the start.\n else {\n g.mouse = [p, t.invert(p)];\n interrupt(this);\n g.start();\n }\n\n noevent();\n g.wheel = setTimeout(wheelidled, wheelDelay);\n g.zoom(\"mouse\", constrain(translate(scale(t, k), g.mouse[0], g.mouse[1]), g.extent, translateExtent));\n\n function wheelidled() {\n g.wheel = null;\n g.end();\n }\n }\n\n function mousedowned() {\n if (touchending || !filter.apply(this, arguments)) return;\n var g = gesture(this, arguments),\n v = select(event.view).on(\"mousemove.zoom\", mousemoved, true).on(\"mouseup.zoom\", mouseupped, true),\n p = mouse(this),\n x0 = event.clientX,\n y0 = event.clientY;\n\n dragDisable(event.view);\n nopropagation();\n g.mouse = [p, this.__zoom.invert(p)];\n interrupt(this);\n g.start();\n\n function mousemoved() {\n noevent();\n if (!g.moved) {\n var dx = event.clientX - x0, dy = event.clientY - y0;\n g.moved = dx * dx + dy * dy > clickDistance2;\n }\n g.zoom(\"mouse\", constrain(translate(g.that.__zoom, g.mouse[0] = mouse(g.that), g.mouse[1]), g.extent, translateExtent));\n }\n\n function mouseupped() {\n v.on(\"mousemove.zoom mouseup.zoom\", null);\n dragEnable(event.view, g.moved);\n noevent();\n g.end();\n }\n }\n\n function dblclicked() {\n if (!filter.apply(this, arguments)) return;\n var t0 = this.__zoom,\n p0 = mouse(this),\n p1 = t0.invert(p0),\n k1 = t0.k * (event.shiftKey ? 0.5 : 2),\n t1 = constrain(translate(scale(t0, k1), p0, p1), extent.apply(this, arguments), translateExtent);\n\n noevent();\n if (duration > 0) select(this).transition().duration(duration).call(schedule, t1, p0);\n else select(this).call(zoom.transform, t1);\n }\n\n function touchstarted() {\n if (!filter.apply(this, arguments)) return;\n var g = gesture(this, arguments),\n touches = event.changedTouches,\n started,\n n = touches.length, i, t, p;\n\n nopropagation();\n for (i = 0; i < n; ++i) {\n t = touches[i], p = touch(this, touches, t.identifier);\n p = [p, this.__zoom.invert(p), t.identifier];\n if (!g.touch0) g.touch0 = p, started = true;\n else if (!g.touch1) g.touch1 = p;\n }\n\n // If this is a dbltap, reroute to the (optional) dblclick.zoom handler.\n if (touchstarting) {\n touchstarting = clearTimeout(touchstarting);\n if (!g.touch1) {\n g.end();\n p = select(this).on(\"dblclick.zoom\");\n if (p) p.apply(this, arguments);\n return;\n }\n }\n\n if (started) {\n touchstarting = setTimeout(function() { touchstarting = null; }, touchDelay);\n interrupt(this);\n g.start();\n }\n }\n\n function touchmoved() {\n var g = gesture(this, arguments),\n touches = event.changedTouches,\n n = touches.length, i, t, p, l;\n\n noevent();\n if (touchstarting) touchstarting = clearTimeout(touchstarting);\n for (i = 0; i < n; ++i) {\n t = touches[i], p = touch(this, touches, t.identifier);\n if (g.touch0 && g.touch0[2] === t.identifier) g.touch0[0] = p;\n else if (g.touch1 && g.touch1[2] === t.identifier) g.touch1[0] = p;\n }\n t = g.that.__zoom;\n if (g.touch1) {\n var p0 = g.touch0[0], l0 = g.touch0[1],\n p1 = g.touch1[0], l1 = g.touch1[1],\n dp = (dp = p1[0] - p0[0]) * dp + (dp = p1[1] - p0[1]) * dp,\n dl = (dl = l1[0] - l0[0]) * dl + (dl = l1[1] - l0[1]) * dl;\n t = scale(t, Math.sqrt(dp / dl));\n p = [(p0[0] + p1[0]) / 2, (p0[1] + p1[1]) / 2];\n l = [(l0[0] + l1[0]) / 2, (l0[1] + l1[1]) / 2];\n }\n else if (g.touch0) p = g.touch0[0], l = g.touch0[1];\n else return;\n g.zoom(\"touch\", constrain(translate(t, p, l), g.extent, translateExtent));\n }\n\n function touchended() {\n var g = gesture(this, arguments),\n touches = event.changedTouches,\n n = touches.length, i, t;\n\n nopropagation();\n if (touchending) clearTimeout(touchending);\n touchending = setTimeout(function() { touchending = null; }, touchDelay);\n for (i = 0; i < n; ++i) {\n t = touches[i];\n if (g.touch0 && g.touch0[2] === t.identifier) delete g.touch0;\n else if (g.touch1 && g.touch1[2] === t.identifier) delete g.touch1;\n }\n if (g.touch1 && !g.touch0) g.touch0 = g.touch1, delete g.touch1;\n if (g.touch0) g.touch0[1] = this.__zoom.invert(g.touch0[0]);\n else g.end();\n }\n\n zoom.wheelDelta = function(_) {\n return arguments.length ? (wheelDelta = typeof _ === \"function\" ? _ : constant(+_), zoom) : wheelDelta;\n };\n\n zoom.filter = function(_) {\n return arguments.length ? (filter = typeof _ === \"function\" ? _ : constant(!!_), zoom) : filter;\n };\n\n zoom.touchable = function(_) {\n return arguments.length ? (touchable = typeof _ === \"function\" ? _ : constant(!!_), zoom) : touchable;\n };\n\n zoom.extent = function(_) {\n return arguments.length ? (extent = typeof _ === \"function\" ? _ : constant([[+_[0][0], +_[0][1]], [+_[1][0], +_[1][1]]]), zoom) : extent;\n };\n\n zoom.scaleExtent = function(_) {\n return arguments.length ? (scaleExtent[0] = +_[0], scaleExtent[1] = +_[1], zoom) : [scaleExtent[0], scaleExtent[1]];\n };\n\n zoom.translateExtent = function(_) {\n return arguments.length ? (translateExtent[0][0] = +_[0][0], translateExtent[1][0] = +_[1][0], translateExtent[0][1] = +_[0][1], translateExtent[1][1] = +_[1][1], zoom) : [[translateExtent[0][0], translateExtent[0][1]], [translateExtent[1][0], translateExtent[1][1]]];\n };\n\n zoom.constrain = function(_) {\n return arguments.length ? (constrain = _, zoom) : constrain;\n };\n\n zoom.duration = function(_) {\n return arguments.length ? (duration = +_, zoom) : duration;\n };\n\n zoom.interpolate = function(_) {\n return arguments.length ? (interpolate = _, zoom) : interpolate;\n };\n\n zoom.on = function() {\n var value = listeners.on.apply(listeners, arguments);\n return value === listeners ? zoom : value;\n };\n\n zoom.clickDistance = function(_) {\n return arguments.length ? (clickDistance2 = (_ = +_) * _, zoom) : Math.sqrt(clickDistance2);\n };\n\n return zoom;\n}\n","export default function ZoomEvent(target, type, transform) {\n this.target = target;\n this.type = type;\n this.transform = transform;\n}\n","export function prettyNumber(input) {\n // If it has 3 or fewer sig figs already, just return the number.\n var input = Number(input),\n sciNo = input.toPrecision(3),\n prefix = '',\n suffixes = ['', 'k', 'M', 'B', 'T'];\n\n if (Number(sciNo) == input && String(input).length <= 4) {\n return String(input);\n }\n\n if (Math.abs(input) >= 1000000000000000) {\n return sciNo;\n }\n\n if (input >= 1 || input <= -1) {\n if (input < 0){\n //Pull off the negative side and stash that.\n input = -input;\n prefix = '-';\n }\n return prefix + recurse(input, 0);\n }\n else {\n return input.toPrecision(3);\n }\n\n function recurse(input, iteration) {\n var input = String(input);\n var split = input.split('.');\n // If there's a dot\n if (split.length > 1) {\n // Keep the left hand side only\n input = split[0];\n var rhs = split[1];\n // If the left-hand side is too short, pad until it has 3 digits\n if (input.length == 2 && rhs.length > 0) {\n // Pad with right-hand side if possible\n if (rhs.length > 0) {\n input = input + '.' + rhs.charAt(0);\n }\n // Pad with zeroes if you must\n else {\n input += '0';\n }\n }\n else if (input.length == 1 && rhs.length > 0) {\n input = input + '.' + rhs.charAt(0);\n // Pad with right-hand side if possible\n if (rhs.length > 1) {\n input += rhs.charAt(1);\n }\n // Pad with zeroes if you must\n else {\n input += '0';\n }\n }\n }\n var numNumerals = input.length;\n // if it has a period, then numNumerals is 1 smaller than the string length:\n if (input.split('.').length > 1) {\n numNumerals--;\n }\n if (numNumerals <= 3) {\n return String(input) + suffixes[iteration];\n }\n else {\n return recurse(Number(input) / 1000, iteration + 1);\n }\n }\n}\n","const matchHtmlRegExp = /[\"'&<>]/;\n\n/**\n * Escape special characters in the given string of html.\n *\n * @param {string} string The string to escape for inserting into HTML\n * @return {string}\n * @public\n */\n\nexport function escapeHtml(string) {\n var str = '' + string;\n var match = matchHtmlRegExp.exec(str);\n\n if (!match) {\n return str;\n }\n\n var escape;\n var html = '';\n var index = 0;\n var lastIndex = 0;\n\n for (index = match.index; index < str.length; index++) {\n switch (str.charCodeAt(index)) {\n case 34: // \"\n escape = '"';\n break;\n case 38: // &\n escape = '&';\n break;\n case 39: // '\n escape = ''';\n break;\n case 60: // <\n escape = '<';\n break;\n case 62: // >\n escape = '>';\n break;\n default:\n continue;\n }\n\n if (lastIndex !== index) {\n html += str.substring(lastIndex, index);\n }\n\n lastIndex = index + 1;\n html += escape;\n }\n\n return lastIndex !== index\n ? html + str.substring(lastIndex, index)\n : html;\n}\n","import * as d3 from 'd3';\n\nexport function textWrap(text, width) {\n text.each(function () {\n let text = d3.select(this),\n words = text.text().split(/\\s+/).reverse(),\n word,\n line = [],\n lineNumber = 0,\n lineHeight = 1.1, // ems\n x = text.attr(\"x\"),\n y = text.attr(\"y\"),\n dy = 0, //parseFloat(text.attr(\"dy\")),\n tspan = text.text(null)\n .append(\"tspan\")\n .attr(\"x\", x)\n .attr(\"y\", y)\n .attr(\"dy\", dy + \"em\");\n while (word = words.pop()) {\n line.push(word);\n tspan.text(line.join(\" \"));\n if (tspan.node().getComputedTextLength() > width) {\n line.pop();\n tspan.text(line.join(\" \"));\n line = [word];\n tspan = text.append(\"tspan\")\n .attr(\"x\", x)\n .attr(\"y\", y)\n .attr(\"dy\", ++lineNumber * lineHeight + dy + \"em\")\n .text(word);\n }\n }\n });\n}\n","export function extend(target) {\n for (var i = 1; i < arguments.length; i++) {\n for (var prop in arguments[i]){\n target[prop] = arguments[i][prop];\n }\n }\n return target;\n}\n","export function testObject(input) {\n if (input !== null && typeof input.getTime === 'function' && !isNaN(input.getTime())) {\n return true;\n }\n return false;\n}\n\nexport function testString(input) {\n const ISO_8601 = /^\\d{4}-\\d\\d-\\d\\dT\\d\\d:\\d\\d:\\d\\d(\\.\\d+)?(([+-]\\d\\d:\\d\\d)|Z)?$/i;\n return ISO_8601.test(input);\n}\n\nexport default function (input) {\n if (typeof input === 'object') {\n return testObject(input);\n } else if (typeof input === 'string') {\n return testString(input);\n }\n return false;\n}\n","/**\n * Strip html tags from string\n *\n * @param {string} string The string to strip\n * @return {string}\n * @public\n */\n\nexport function stripHtmlTags(inputString) {\n return inputString.replace(/(<([^>]+)>)/ig, '');\n}\n","export default function (len) {\n const list = [];\n for (let i = 0; i < len; i++) {\n list.push(null);\n }\n return list;\n}\n","import createNullList from '../utils/create-null-list';\nimport { each } from '../../utils/each';\n\nexport function appendColumn(str, input) {\n const self = this;\n const args = Array.prototype.slice.call(arguments, 2);\n const label = (str !== undefined) ? str : null;\n\n if (typeof input === 'function') {\n self.matrix[0].push(label);\n each(self.matrix, function(row, i) {\n let cell;\n if (i > 0) {\n cell = input.call(self, row, i);\n if (typeof cell === 'undefined') {\n cell = null;\n }\n self.matrix[i].push(cell);\n }\n });\n }\n\n else if (!input || input instanceof Array) {\n input = input || [];\n\n if (input.length <= self.matrix.length - 1) {\n input = input.concat(createNullList(self.matrix.length - 1 - input.length));\n }\n else {\n // If this new column is longer than existing columns,\n // we need to update the rest to match ...\n each(input, function(value, i){\n if (self.matrix.length -1 < input.length) {\n appendRow.call(self, String(self.matrix.length));\n }\n });\n }\n\n self.matrix[0].push(label);\n each(input, function(value, i){\n self.matrix[i+1][self.matrix[0].length-1] = value;\n });\n\n }\n\n return self;\n}\n\nexport function appendRow(str, input) {\n const self = this;\n const args = Array.prototype.slice.call(arguments, 2);\n const label = (str !== undefined) ? str : null;\n const newRow = [];\n\n newRow.push(label);\n\n if (typeof input === 'function') {\n each(self.matrix[0], function(label, i){\n let col;\n let cell;\n if (i > 0) {\n col = self.selectColumn(i);\n cell = input.call(self, col, i);\n if (typeof cell === 'undefined') {\n cell = null;\n }\n newRow.push(cell);\n }\n });\n self.matrix.push(newRow);\n }\n\n else if (!input || input instanceof Array) {\n input = input || [];\n\n if (input.length <= self.matrix[0].length - 1) {\n input = input.concat( createNullList( self.matrix[0].length - 1 - input.length ) );\n }\n else {\n each(input, function(value, i){\n if (self.matrix[0].length -1 < input.length) {\n appendColumn.call(self, String( self.matrix[0].length));\n }\n });\n }\n\n self.matrix.push(newRow.concat(input));\n }\n\n return self;\n}\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var zhTw = moment.defineLocale('zh-tw', {\n months : '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'),\n monthsShort : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n weekdays : '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n weekdaysShort : '週日_週一_週二_週三_週四_週五_週六'.split('_'),\n weekdaysMin : '日_一_二_三_四_五_六'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY/MM/DD',\n LL : 'YYYY年M月D日',\n LLL : 'YYYY年M月D日 HH:mm',\n LLLL : 'YYYY年M月D日dddd HH:mm',\n l : 'YYYY/M/D',\n ll : 'YYYY年M月D日',\n lll : 'YYYY年M月D日 HH:mm',\n llll : 'YYYY年M月D日dddd HH:mm'\n },\n meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n return hour;\n } else if (meridiem === '中午') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === '下午' || meridiem === '晚上') {\n return hour + 12;\n }\n },\n meridiem : function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n if (hm < 600) {\n return '凌晨';\n } else if (hm < 900) {\n return '早上';\n } else if (hm < 1130) {\n return '上午';\n } else if (hm < 1230) {\n return '中午';\n } else if (hm < 1800) {\n return '下午';\n } else {\n return '晚上';\n }\n },\n calendar : {\n sameDay : '[今天] LT',\n nextDay : '[明天] LT',\n nextWeek : '[下]dddd LT',\n lastDay : '[昨天] LT',\n lastWeek : '[上]dddd LT',\n sameElse : 'L'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(日|月|週)/,\n ordinal : function (number, period) {\n switch (period) {\n case 'd' :\n case 'D' :\n case 'DDD' :\n return number + '日';\n case 'M' :\n return number + '月';\n case 'w' :\n case 'W' :\n return number + '週';\n default :\n return number;\n }\n },\n relativeTime : {\n future : '%s內',\n past : '%s前',\n s : '幾秒',\n ss : '%d 秒',\n m : '1 分鐘',\n mm : '%d 分鐘',\n h : '1 小時',\n hh : '%d 小時',\n d : '1 天',\n dd : '%d 天',\n M : '1 個月',\n MM : '%d 個月',\n y : '1 年',\n yy : '%d 年'\n }\n });\n\n return zhTw;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var zhHk = moment.defineLocale('zh-hk', {\n months : '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'),\n monthsShort : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n weekdays : '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n weekdaysShort : '週日_週一_週二_週三_週四_週五_週六'.split('_'),\n weekdaysMin : '日_一_二_三_四_五_六'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY/MM/DD',\n LL : 'YYYY年M月D日',\n LLL : 'YYYY年M月D日 HH:mm',\n LLLL : 'YYYY年M月D日dddd HH:mm',\n l : 'YYYY/M/D',\n ll : 'YYYY年M月D日',\n lll : 'YYYY年M月D日 HH:mm',\n llll : 'YYYY年M月D日dddd HH:mm'\n },\n meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n return hour;\n } else if (meridiem === '中午') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === '下午' || meridiem === '晚上') {\n return hour + 12;\n }\n },\n meridiem : function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n if (hm < 600) {\n return '凌晨';\n } else if (hm < 900) {\n return '早上';\n } else if (hm < 1130) {\n return '上午';\n } else if (hm < 1230) {\n return '中午';\n } else if (hm < 1800) {\n return '下午';\n } else {\n return '晚上';\n }\n },\n calendar : {\n sameDay : '[今天]LT',\n nextDay : '[明天]LT',\n nextWeek : '[下]ddddLT',\n lastDay : '[昨天]LT',\n lastWeek : '[上]ddddLT',\n sameElse : 'L'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(日|月|週)/,\n ordinal : function (number, period) {\n switch (period) {\n case 'd' :\n case 'D' :\n case 'DDD' :\n return number + '日';\n case 'M' :\n return number + '月';\n case 'w' :\n case 'W' :\n return number + '週';\n default :\n return number;\n }\n },\n relativeTime : {\n future : '%s內',\n past : '%s前',\n s : '幾秒',\n ss : '%d 秒',\n m : '1 分鐘',\n mm : '%d 分鐘',\n h : '1 小時',\n hh : '%d 小時',\n d : '1 天',\n dd : '%d 天',\n M : '1 個月',\n MM : '%d 個月',\n y : '1 年',\n yy : '%d 年'\n }\n });\n\n return zhHk;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var zhCn = moment.defineLocale('zh-cn', {\n months : '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'),\n monthsShort : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n weekdays : '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n weekdaysShort : '周日_周一_周二_周三_周四_周五_周六'.split('_'),\n weekdaysMin : '日_一_二_三_四_五_六'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY/MM/DD',\n LL : 'YYYY年M月D日',\n LLL : 'YYYY年M月D日Ah点mm分',\n LLLL : 'YYYY年M月D日ddddAh点mm分',\n l : 'YYYY/M/D',\n ll : 'YYYY年M月D日',\n lll : 'YYYY年M月D日 HH:mm',\n llll : 'YYYY年M月D日dddd HH:mm'\n },\n meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === '凌晨' || meridiem === '早上' ||\n meridiem === '上午') {\n return hour;\n } else if (meridiem === '下午' || meridiem === '晚上') {\n return hour + 12;\n } else {\n // '中午'\n return hour >= 11 ? hour : hour + 12;\n }\n },\n meridiem : function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n if (hm < 600) {\n return '凌晨';\n } else if (hm < 900) {\n return '早上';\n } else if (hm < 1130) {\n return '上午';\n } else if (hm < 1230) {\n return '中午';\n } else if (hm < 1800) {\n return '下午';\n } else {\n return '晚上';\n }\n },\n calendar : {\n sameDay : '[今天]LT',\n nextDay : '[明天]LT',\n nextWeek : '[下]ddddLT',\n lastDay : '[昨天]LT',\n lastWeek : '[上]ddddLT',\n sameElse : 'L'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(日|月|周)/,\n ordinal : function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '日';\n case 'M':\n return number + '月';\n case 'w':\n case 'W':\n return number + '周';\n default:\n return number;\n }\n },\n relativeTime : {\n future : '%s内',\n past : '%s前',\n s : '几秒',\n ss : '%d 秒',\n m : '1 分钟',\n mm : '%d 分钟',\n h : '1 小时',\n hh : '%d 小时',\n d : '1 天',\n dd : '%d 天',\n M : '1 个月',\n MM : '%d 个月',\n y : '1 年',\n yy : '%d 年'\n },\n week : {\n // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return zhCn;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var yo = moment.defineLocale('yo', {\n months : 'Sẹ́rẹ́_Èrèlè_Ẹrẹ̀nà_Ìgbé_Èbibi_Òkùdu_Agẹmo_Ògún_Owewe_Ọ̀wàrà_Bélú_Ọ̀pẹ̀̀'.split('_'),\n monthsShort : 'Sẹ́r_Èrl_Ẹrn_Ìgb_Èbi_Òkù_Agẹ_Ògú_Owe_Ọ̀wà_Bél_Ọ̀pẹ̀̀'.split('_'),\n weekdays : 'Àìkú_Ajé_Ìsẹ́gun_Ọjọ́rú_Ọjọ́bọ_Ẹtì_Àbámẹ́ta'.split('_'),\n weekdaysShort : 'Àìk_Ajé_Ìsẹ́_Ọjr_Ọjb_Ẹtì_Àbá'.split('_'),\n weekdaysMin : 'Àì_Aj_Ìs_Ọr_Ọb_Ẹt_Àb'.split('_'),\n longDateFormat : {\n LT : 'h:mm A',\n LTS : 'h:mm:ss A',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY h:mm A',\n LLLL : 'dddd, D MMMM YYYY h:mm A'\n },\n calendar : {\n sameDay : '[Ònì ni] LT',\n nextDay : '[Ọ̀la ni] LT',\n nextWeek : 'dddd [Ọsẹ̀ tón\\'bọ] [ni] LT',\n lastDay : '[Àna ni] LT',\n lastWeek : 'dddd [Ọsẹ̀ tólọ́] [ni] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'ní %s',\n past : '%s kọjá',\n s : 'ìsẹjú aayá die',\n ss :'aayá %d',\n m : 'ìsẹjú kan',\n mm : 'ìsẹjú %d',\n h : 'wákati kan',\n hh : 'wákati %d',\n d : 'ọjọ́ kan',\n dd : 'ọjọ́ %d',\n M : 'osù kan',\n MM : 'osù %d',\n y : 'ọdún kan',\n yy : 'ọdún %d'\n },\n dayOfMonthOrdinalParse : /ọjọ́\\s\\d{1,2}/,\n ordinal : 'ọjọ́ %d',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return yo;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var xPseudo = moment.defineLocale('x-pseudo', {\n months : 'J~áñúá~rý_F~ébrú~árý_~Márc~h_Áp~ríl_~Máý_~Júñé~_Júl~ý_Áú~gúst~_Sép~témb~ér_Ó~ctób~ér_Ñ~óvém~bér_~Décé~mbér'.split('_'),\n monthsShort : 'J~áñ_~Féb_~Már_~Ápr_~Máý_~Júñ_~Júl_~Áúg_~Sép_~Óct_~Ñóv_~Déc'.split('_'),\n monthsParseExact : true,\n weekdays : 'S~úñdá~ý_Mó~ñdáý~_Túé~sdáý~_Wéd~ñésd~áý_T~húrs~dáý_~Fríd~áý_S~átúr~dáý'.split('_'),\n weekdaysShort : 'S~úñ_~Móñ_~Túé_~Wéd_~Thú_~Frí_~Sát'.split('_'),\n weekdaysMin : 'S~ú_Mó~_Tú_~Wé_T~h_Fr~_Sá'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[T~ódá~ý át] LT',\n nextDay : '[T~ómó~rró~w át] LT',\n nextWeek : 'dddd [át] LT',\n lastDay : '[Ý~ést~érdá~ý át] LT',\n lastWeek : '[L~ást] dddd [át] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'í~ñ %s',\n past : '%s á~gó',\n s : 'á ~féw ~sécó~ñds',\n ss : '%d s~écóñ~ds',\n m : 'á ~míñ~úté',\n mm : '%d m~íñú~tés',\n h : 'á~ñ hó~úr',\n hh : '%d h~óúrs',\n d : 'á ~dáý',\n dd : '%d d~áýs',\n M : 'á ~móñ~th',\n MM : '%d m~óñt~hs',\n y : 'á ~ýéár',\n yy : '%d ý~éárs'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(th|st|nd|rd)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return xPseudo;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var vi = moment.defineLocale('vi', {\n months : 'tháng 1_tháng 2_tháng 3_tháng 4_tháng 5_tháng 6_tháng 7_tháng 8_tháng 9_tháng 10_tháng 11_tháng 12'.split('_'),\n monthsShort : 'Th01_Th02_Th03_Th04_Th05_Th06_Th07_Th08_Th09_Th10_Th11_Th12'.split('_'),\n monthsParseExact : true,\n weekdays : 'chủ nhật_thứ hai_thứ ba_thứ tư_thứ năm_thứ sáu_thứ bảy'.split('_'),\n weekdaysShort : 'CN_T2_T3_T4_T5_T6_T7'.split('_'),\n weekdaysMin : 'CN_T2_T3_T4_T5_T6_T7'.split('_'),\n weekdaysParseExact : true,\n meridiemParse: /sa|ch/i,\n isPM : function (input) {\n return /^ch$/i.test(input);\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours < 12) {\n return isLower ? 'sa' : 'SA';\n } else {\n return isLower ? 'ch' : 'CH';\n }\n },\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM [năm] YYYY',\n LLL : 'D MMMM [năm] YYYY HH:mm',\n LLLL : 'dddd, D MMMM [năm] YYYY HH:mm',\n l : 'DD/M/YYYY',\n ll : 'D MMM YYYY',\n lll : 'D MMM YYYY HH:mm',\n llll : 'ddd, D MMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[Hôm nay lúc] LT',\n nextDay: '[Ngày mai lúc] LT',\n nextWeek: 'dddd [tuần tới lúc] LT',\n lastDay: '[Hôm qua lúc] LT',\n lastWeek: 'dddd [tuần rồi lúc] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : '%s tới',\n past : '%s trước',\n s : 'vài giây',\n ss : '%d giây' ,\n m : 'một phút',\n mm : '%d phút',\n h : 'một giờ',\n hh : '%d giờ',\n d : 'một ngày',\n dd : '%d ngày',\n M : 'một tháng',\n MM : '%d tháng',\n y : 'một năm',\n yy : '%d năm'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}/,\n ordinal : function (number) {\n return number;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return vi;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var uzLatn = moment.defineLocale('uz-latn', {\n months : 'Yanvar_Fevral_Mart_Aprel_May_Iyun_Iyul_Avgust_Sentabr_Oktabr_Noyabr_Dekabr'.split('_'),\n monthsShort : 'Yan_Fev_Mar_Apr_May_Iyun_Iyul_Avg_Sen_Okt_Noy_Dek'.split('_'),\n weekdays : 'Yakshanba_Dushanba_Seshanba_Chorshanba_Payshanba_Juma_Shanba'.split('_'),\n weekdaysShort : 'Yak_Dush_Sesh_Chor_Pay_Jum_Shan'.split('_'),\n weekdaysMin : 'Ya_Du_Se_Cho_Pa_Ju_Sha'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'D MMMM YYYY, dddd HH:mm'\n },\n calendar : {\n sameDay : '[Bugun soat] LT [da]',\n nextDay : '[Ertaga] LT [da]',\n nextWeek : 'dddd [kuni soat] LT [da]',\n lastDay : '[Kecha soat] LT [da]',\n lastWeek : '[O\\'tgan] dddd [kuni soat] LT [da]',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'Yaqin %s ichida',\n past : 'Bir necha %s oldin',\n s : 'soniya',\n ss : '%d soniya',\n m : 'bir daqiqa',\n mm : '%d daqiqa',\n h : 'bir soat',\n hh : '%d soat',\n d : 'bir kun',\n dd : '%d kun',\n M : 'bir oy',\n MM : '%d oy',\n y : 'bir yil',\n yy : '%d yil'\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return uzLatn;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var uz = moment.defineLocale('uz', {\n months : 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split('_'),\n monthsShort : 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'),\n weekdays : 'Якшанба_Душанба_Сешанба_Чоршанба_Пайшанба_Жума_Шанба'.split('_'),\n weekdaysShort : 'Якш_Душ_Сеш_Чор_Пай_Жум_Шан'.split('_'),\n weekdaysMin : 'Як_Ду_Се_Чо_Па_Жу_Ша'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'D MMMM YYYY, dddd HH:mm'\n },\n calendar : {\n sameDay : '[Бугун соат] LT [да]',\n nextDay : '[Эртага] LT [да]',\n nextWeek : 'dddd [куни соат] LT [да]',\n lastDay : '[Кеча соат] LT [да]',\n lastWeek : '[Утган] dddd [куни соат] LT [да]',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'Якин %s ичида',\n past : 'Бир неча %s олдин',\n s : 'фурсат',\n ss : '%d фурсат',\n m : 'бир дакика',\n mm : '%d дакика',\n h : 'бир соат',\n hh : '%d соат',\n d : 'бир кун',\n dd : '%d кун',\n M : 'бир ой',\n MM : '%d ой',\n y : 'бир йил',\n yy : '%d йил'\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return uz;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var months = [\n 'جنوری',\n 'فروری',\n 'مارچ',\n 'اپریل',\n 'مئی',\n 'جون',\n 'جولائی',\n 'اگست',\n 'ستمبر',\n 'اکتوبر',\n 'نومبر',\n 'دسمبر'\n ];\n var days = [\n 'اتوار',\n 'پیر',\n 'منگل',\n 'بدھ',\n 'جمعرات',\n 'جمعہ',\n 'ہفتہ'\n ];\n\n var ur = moment.defineLocale('ur', {\n months : months,\n monthsShort : months,\n weekdays : days,\n weekdaysShort : days,\n weekdaysMin : days,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd، D MMMM YYYY HH:mm'\n },\n meridiemParse: /صبح|شام/,\n isPM : function (input) {\n return 'شام' === input;\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'صبح';\n }\n return 'شام';\n },\n calendar : {\n sameDay : '[آج بوقت] LT',\n nextDay : '[کل بوقت] LT',\n nextWeek : 'dddd [بوقت] LT',\n lastDay : '[گذشتہ روز بوقت] LT',\n lastWeek : '[گذشتہ] dddd [بوقت] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s بعد',\n past : '%s قبل',\n s : 'چند سیکنڈ',\n ss : '%d سیکنڈ',\n m : 'ایک منٹ',\n mm : '%d منٹ',\n h : 'ایک گھنٹہ',\n hh : '%d گھنٹے',\n d : 'ایک دن',\n dd : '%d دن',\n M : 'ایک ماہ',\n MM : '%d ماہ',\n y : 'ایک سال',\n yy : '%d سال'\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/,/g, '،');\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return ur;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function plural(word, num) {\n var forms = word.split('_');\n return num % 10 === 1 && num % 100 !== 11 ? forms[0] : (num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) ? forms[1] : forms[2]);\n }\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n var format = {\n 'ss': withoutSuffix ? 'секунда_секунди_секунд' : 'секунду_секунди_секунд',\n 'mm': withoutSuffix ? 'хвилина_хвилини_хвилин' : 'хвилину_хвилини_хвилин',\n 'hh': withoutSuffix ? 'година_години_годин' : 'годину_години_годин',\n 'dd': 'день_дні_днів',\n 'MM': 'місяць_місяці_місяців',\n 'yy': 'рік_роки_років'\n };\n if (key === 'm') {\n return withoutSuffix ? 'хвилина' : 'хвилину';\n }\n else if (key === 'h') {\n return withoutSuffix ? 'година' : 'годину';\n }\n else {\n return number + ' ' + plural(format[key], +number);\n }\n }\n function weekdaysCaseReplace(m, format) {\n var weekdays = {\n 'nominative': 'неділя_понеділок_вівторок_середа_четвер_п’ятниця_субота'.split('_'),\n 'accusative': 'неділю_понеділок_вівторок_середу_четвер_п’ятницю_суботу'.split('_'),\n 'genitive': 'неділі_понеділка_вівторка_середи_четверга_п’ятниці_суботи'.split('_')\n };\n\n if (!m) {\n return weekdays['nominative'];\n }\n\n var nounCase = (/(\\[[ВвУу]\\]) ?dddd/).test(format) ?\n 'accusative' :\n ((/\\[?(?:минулої|наступної)? ?\\] ?dddd/).test(format) ?\n 'genitive' :\n 'nominative');\n return weekdays[nounCase][m.day()];\n }\n function processHoursFunction(str) {\n return function () {\n return str + 'о' + (this.hours() === 11 ? 'б' : '') + '] LT';\n };\n }\n\n var uk = moment.defineLocale('uk', {\n months : {\n 'format': 'січня_лютого_березня_квітня_травня_червня_липня_серпня_вересня_жовтня_листопада_грудня'.split('_'),\n 'standalone': 'січень_лютий_березень_квітень_травень_червень_липень_серпень_вересень_жовтень_листопад_грудень'.split('_')\n },\n monthsShort : 'січ_лют_бер_квіт_трав_черв_лип_серп_вер_жовт_лист_груд'.split('_'),\n weekdays : weekdaysCaseReplace,\n weekdaysShort : 'нд_пн_вт_ср_чт_пт_сб'.split('_'),\n weekdaysMin : 'нд_пн_вт_ср_чт_пт_сб'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY р.',\n LLL : 'D MMMM YYYY р., HH:mm',\n LLLL : 'dddd, D MMMM YYYY р., HH:mm'\n },\n calendar : {\n sameDay: processHoursFunction('[Сьогодні '),\n nextDay: processHoursFunction('[Завтра '),\n lastDay: processHoursFunction('[Вчора '),\n nextWeek: processHoursFunction('[У] dddd ['),\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n case 3:\n case 5:\n case 6:\n return processHoursFunction('[Минулої] dddd [').call(this);\n case 1:\n case 2:\n case 4:\n return processHoursFunction('[Минулого] dddd [').call(this);\n }\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : 'за %s',\n past : '%s тому',\n s : 'декілька секунд',\n ss : relativeTimeWithPlural,\n m : relativeTimeWithPlural,\n mm : relativeTimeWithPlural,\n h : 'годину',\n hh : relativeTimeWithPlural,\n d : 'день',\n dd : relativeTimeWithPlural,\n M : 'місяць',\n MM : relativeTimeWithPlural,\n y : 'рік',\n yy : relativeTimeWithPlural\n },\n // M. E.: those two are virtually unused but a user might want to implement them for his/her website for some reason\n meridiemParse: /ночі|ранку|дня|вечора/,\n isPM: function (input) {\n return /^(дня|вечора)$/.test(input);\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ночі';\n } else if (hour < 12) {\n return 'ранку';\n } else if (hour < 17) {\n return 'дня';\n } else {\n return 'вечора';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(й|го)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'M':\n case 'd':\n case 'DDD':\n case 'w':\n case 'W':\n return number + '-й';\n case 'D':\n return number + '-го';\n default:\n return number;\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return uk;\n\n})));\n","//! moment.js language configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var ugCn = moment.defineLocale('ug-cn', {\n months: 'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.split(\n '_'\n ),\n monthsShort: 'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.split(\n '_'\n ),\n weekdays: 'يەكشەنبە_دۈشەنبە_سەيشەنبە_چارشەنبە_پەيشەنبە_جۈمە_شەنبە'.split(\n '_'\n ),\n weekdaysShort: 'يە_دۈ_سە_چا_پە_جۈ_شە'.split('_'),\n weekdaysMin: 'يە_دۈ_سە_چا_پە_جۈ_شە'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: 'YYYY-يىلىM-ئاينىڭD-كۈنى',\n LLL: 'YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm',\n LLLL: 'dddd، YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm'\n },\n meridiemParse: /يېرىم كېچە|سەھەر|چۈشتىن بۇرۇن|چۈش|چۈشتىن كېيىن|كەچ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (\n meridiem === 'يېرىم كېچە' ||\n meridiem === 'سەھەر' ||\n meridiem === 'چۈشتىن بۇرۇن'\n ) {\n return hour;\n } else if (meridiem === 'چۈشتىن كېيىن' || meridiem === 'كەچ') {\n return hour + 12;\n } else {\n return hour >= 11 ? hour : hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n if (hm < 600) {\n return 'يېرىم كېچە';\n } else if (hm < 900) {\n return 'سەھەر';\n } else if (hm < 1130) {\n return 'چۈشتىن بۇرۇن';\n } else if (hm < 1230) {\n return 'چۈش';\n } else if (hm < 1800) {\n return 'چۈشتىن كېيىن';\n } else {\n return 'كەچ';\n }\n },\n calendar: {\n sameDay: '[بۈگۈن سائەت] LT',\n nextDay: '[ئەتە سائەت] LT',\n nextWeek: '[كېلەركى] dddd [سائەت] LT',\n lastDay: '[تۆنۈگۈن] LT',\n lastWeek: '[ئالدىنقى] dddd [سائەت] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s كېيىن',\n past: '%s بۇرۇن',\n s: 'نەچچە سېكونت',\n ss: '%d سېكونت',\n m: 'بىر مىنۇت',\n mm: '%d مىنۇت',\n h: 'بىر سائەت',\n hh: '%d سائەت',\n d: 'بىر كۈن',\n dd: '%d كۈن',\n M: 'بىر ئاي',\n MM: '%d ئاي',\n y: 'بىر يىل',\n yy: '%d يىل'\n },\n\n dayOfMonthOrdinalParse: /\\d{1,2}(-كۈنى|-ئاي|-ھەپتە)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '-كۈنى';\n case 'w':\n case 'W':\n return number + '-ھەپتە';\n default:\n return number;\n }\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/,/g, '،');\n },\n week: {\n // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效\n dow: 1, // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return ugCn;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var tzmLatn = moment.defineLocale('tzm-latn', {\n months : 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split('_'),\n monthsShort : 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split('_'),\n weekdays : 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),\n weekdaysShort : 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),\n weekdaysMin : 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[asdkh g] LT',\n nextDay: '[aska g] LT',\n nextWeek: 'dddd [g] LT',\n lastDay: '[assant g] LT',\n lastWeek: 'dddd [g] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'dadkh s yan %s',\n past : 'yan %s',\n s : 'imik',\n ss : '%d imik',\n m : 'minuḍ',\n mm : '%d minuḍ',\n h : 'saɛa',\n hh : '%d tassaɛin',\n d : 'ass',\n dd : '%d ossan',\n M : 'ayowr',\n MM : '%d iyyirn',\n y : 'asgas',\n yy : '%d isgasn'\n },\n week : {\n dow : 6, // Saturday is the first day of the week.\n doy : 12 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return tzmLatn;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var tzm = moment.defineLocale('tzm', {\n months : 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split('_'),\n monthsShort : 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split('_'),\n weekdays : 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),\n weekdaysShort : 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),\n weekdaysMin : 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS: 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[ⴰⵙⴷⵅ ⴴ] LT',\n nextDay: '[ⴰⵙⴽⴰ ⴴ] LT',\n nextWeek: 'dddd [ⴴ] LT',\n lastDay: '[ⴰⵚⴰⵏⵜ ⴴ] LT',\n lastWeek: 'dddd [ⴴ] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'ⴷⴰⴷⵅ ⵙ ⵢⴰⵏ %s',\n past : 'ⵢⴰⵏ %s',\n s : 'ⵉⵎⵉⴽ',\n ss : '%d ⵉⵎⵉⴽ',\n m : 'ⵎⵉⵏⵓⴺ',\n mm : '%d ⵎⵉⵏⵓⴺ',\n h : 'ⵙⴰⵄⴰ',\n hh : '%d ⵜⴰⵙⵙⴰⵄⵉⵏ',\n d : 'ⴰⵙⵙ',\n dd : '%d oⵙⵙⴰⵏ',\n M : 'ⴰⵢoⵓⵔ',\n MM : '%d ⵉⵢⵢⵉⵔⵏ',\n y : 'ⴰⵙⴳⴰⵙ',\n yy : '%d ⵉⵙⴳⴰⵙⵏ'\n },\n week : {\n dow : 6, // Saturday is the first day of the week.\n doy : 12 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return tzm;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n // After the year there should be a slash and the amount of years since December 26, 1979 in Roman numerals.\n // This is currently too difficult (maybe even impossible) to add.\n var tzl = moment.defineLocale('tzl', {\n months : 'Januar_Fevraglh_Març_Avrïu_Mai_Gün_Julia_Guscht_Setemvar_Listopäts_Noemvar_Zecemvar'.split('_'),\n monthsShort : 'Jan_Fev_Mar_Avr_Mai_Gün_Jul_Gus_Set_Lis_Noe_Zec'.split('_'),\n weekdays : 'Súladi_Lúneçi_Maitzi_Márcuri_Xhúadi_Viénerçi_Sáturi'.split('_'),\n weekdaysShort : 'Súl_Lún_Mai_Már_Xhú_Vié_Sát'.split('_'),\n weekdaysMin : 'Sú_Lú_Ma_Má_Xh_Vi_Sá'.split('_'),\n longDateFormat : {\n LT : 'HH.mm',\n LTS : 'HH.mm.ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM [dallas] YYYY',\n LLL : 'D. MMMM [dallas] YYYY HH.mm',\n LLLL : 'dddd, [li] D. MMMM [dallas] YYYY HH.mm'\n },\n meridiemParse: /d\\'o|d\\'a/i,\n isPM : function (input) {\n return 'd\\'o' === input.toLowerCase();\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'd\\'o' : 'D\\'O';\n } else {\n return isLower ? 'd\\'a' : 'D\\'A';\n }\n },\n calendar : {\n sameDay : '[oxhi à] LT',\n nextDay : '[demà à] LT',\n nextWeek : 'dddd [à] LT',\n lastDay : '[ieiri à] LT',\n lastWeek : '[sür el] dddd [lasteu à] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'osprei %s',\n past : 'ja%s',\n s : processRelativeTime,\n ss : processRelativeTime,\n m : processRelativeTime,\n mm : processRelativeTime,\n h : processRelativeTime,\n hh : processRelativeTime,\n d : processRelativeTime,\n dd : processRelativeTime,\n M : processRelativeTime,\n MM : processRelativeTime,\n y : processRelativeTime,\n yy : processRelativeTime\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n 's': ['viensas secunds', '\\'iensas secunds'],\n 'ss': [number + ' secunds', '' + number + ' secunds'],\n 'm': ['\\'n míut', '\\'iens míut'],\n 'mm': [number + ' míuts', '' + number + ' míuts'],\n 'h': ['\\'n þora', '\\'iensa þora'],\n 'hh': [number + ' þoras', '' + number + ' þoras'],\n 'd': ['\\'n ziua', '\\'iensa ziua'],\n 'dd': [number + ' ziuas', '' + number + ' ziuas'],\n 'M': ['\\'n mes', '\\'iens mes'],\n 'MM': [number + ' mesen', '' + number + ' mesen'],\n 'y': ['\\'n ar', '\\'iens ar'],\n 'yy': [number + ' ars', '' + number + ' ars']\n };\n return isFuture ? format[key][0] : (withoutSuffix ? format[key][0] : format[key][1]);\n }\n\n return tzl;\n\n})));\n","\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n var suffixes = {\n 1: '\\'inci',\n 5: '\\'inci',\n 8: '\\'inci',\n 70: '\\'inci',\n 80: '\\'inci',\n 2: '\\'nci',\n 7: '\\'nci',\n 20: '\\'nci',\n 50: '\\'nci',\n 3: '\\'üncü',\n 4: '\\'üncü',\n 100: '\\'üncü',\n 6: '\\'ncı',\n 9: '\\'uncu',\n 10: '\\'uncu',\n 30: '\\'uncu',\n 60: '\\'ıncı',\n 90: '\\'ıncı'\n };\n\n var tr = moment.defineLocale('tr', {\n months : 'Ocak_Şubat_Mart_Nisan_Mayıs_Haziran_Temmuz_Ağustos_Eylül_Ekim_Kasım_Aralık'.split('_'),\n monthsShort : 'Oca_Şub_Mar_Nis_May_Haz_Tem_Ağu_Eyl_Eki_Kas_Ara'.split('_'),\n weekdays : 'Pazar_Pazartesi_Salı_Çarşamba_Perşembe_Cuma_Cumartesi'.split('_'),\n weekdaysShort : 'Paz_Pts_Sal_Çar_Per_Cum_Cts'.split('_'),\n weekdaysMin : 'Pz_Pt_Sa_Ça_Pe_Cu_Ct'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[bugün saat] LT',\n nextDay : '[yarın saat] LT',\n nextWeek : '[gelecek] dddd [saat] LT',\n lastDay : '[dün] LT',\n lastWeek : '[geçen] dddd [saat] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s sonra',\n past : '%s önce',\n s : 'birkaç saniye',\n ss : '%d saniye',\n m : 'bir dakika',\n mm : '%d dakika',\n h : 'bir saat',\n hh : '%d saat',\n d : 'bir gün',\n dd : '%d gün',\n M : 'bir ay',\n MM : '%d ay',\n y : 'bir yıl',\n yy : '%d yıl'\n },\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'Do':\n case 'DD':\n return number;\n default:\n if (number === 0) { // special case for zero\n return number + '\\'ıncı';\n }\n var a = number % 10,\n b = number % 100 - a,\n c = number >= 100 ? 100 : null;\n return number + (suffixes[a] || suffixes[b] || suffixes[c]);\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return tr;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var numbersNouns = 'pagh_wa’_cha’_wej_loS_vagh_jav_Soch_chorgh_Hut'.split('_');\n\n function translateFuture(output) {\n var time = output;\n time = (output.indexOf('jaj') !== -1) ?\n time.slice(0, -3) + 'leS' :\n (output.indexOf('jar') !== -1) ?\n time.slice(0, -3) + 'waQ' :\n (output.indexOf('DIS') !== -1) ?\n time.slice(0, -3) + 'nem' :\n time + ' pIq';\n return time;\n }\n\n function translatePast(output) {\n var time = output;\n time = (output.indexOf('jaj') !== -1) ?\n time.slice(0, -3) + 'Hu’' :\n (output.indexOf('jar') !== -1) ?\n time.slice(0, -3) + 'wen' :\n (output.indexOf('DIS') !== -1) ?\n time.slice(0, -3) + 'ben' :\n time + ' ret';\n return time;\n }\n\n function translate(number, withoutSuffix, string, isFuture) {\n var numberNoun = numberAsNoun(number);\n switch (string) {\n case 'ss':\n return numberNoun + ' lup';\n case 'mm':\n return numberNoun + ' tup';\n case 'hh':\n return numberNoun + ' rep';\n case 'dd':\n return numberNoun + ' jaj';\n case 'MM':\n return numberNoun + ' jar';\n case 'yy':\n return numberNoun + ' DIS';\n }\n }\n\n function numberAsNoun(number) {\n var hundred = Math.floor((number % 1000) / 100),\n ten = Math.floor((number % 100) / 10),\n one = number % 10,\n word = '';\n if (hundred > 0) {\n word += numbersNouns[hundred] + 'vatlh';\n }\n if (ten > 0) {\n word += ((word !== '') ? ' ' : '') + numbersNouns[ten] + 'maH';\n }\n if (one > 0) {\n word += ((word !== '') ? ' ' : '') + numbersNouns[one];\n }\n return (word === '') ? 'pagh' : word;\n }\n\n var tlh = moment.defineLocale('tlh', {\n months : 'tera’ jar wa’_tera’ jar cha’_tera’ jar wej_tera’ jar loS_tera’ jar vagh_tera’ jar jav_tera’ jar Soch_tera’ jar chorgh_tera’ jar Hut_tera’ jar wa’maH_tera’ jar wa’maH wa’_tera’ jar wa’maH cha’'.split('_'),\n monthsShort : 'jar wa’_jar cha’_jar wej_jar loS_jar vagh_jar jav_jar Soch_jar chorgh_jar Hut_jar wa’maH_jar wa’maH wa’_jar wa’maH cha’'.split('_'),\n monthsParseExact : true,\n weekdays : 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),\n weekdaysShort : 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),\n weekdaysMin : 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[DaHjaj] LT',\n nextDay: '[wa’leS] LT',\n nextWeek: 'LLL',\n lastDay: '[wa’Hu’] LT',\n lastWeek: 'LLL',\n sameElse: 'L'\n },\n relativeTime : {\n future : translateFuture,\n past : translatePast,\n s : 'puS lup',\n ss : translate,\n m : 'wa’ tup',\n mm : translate,\n h : 'wa’ rep',\n hh : translate,\n d : 'wa’ jaj',\n dd : translate,\n M : 'wa’ jar',\n MM : translate,\n y : 'wa’ DIS',\n yy : translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return tlh;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var tlPh = moment.defineLocale('tl-ph', {\n months : 'Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre'.split('_'),\n monthsShort : 'Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis'.split('_'),\n weekdays : 'Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado'.split('_'),\n weekdaysShort : 'Lin_Lun_Mar_Miy_Huw_Biy_Sab'.split('_'),\n weekdaysMin : 'Li_Lu_Ma_Mi_Hu_Bi_Sab'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'MM/D/YYYY',\n LL : 'MMMM D, YYYY',\n LLL : 'MMMM D, YYYY HH:mm',\n LLLL : 'dddd, MMMM DD, YYYY HH:mm'\n },\n calendar : {\n sameDay: 'LT [ngayong araw]',\n nextDay: '[Bukas ng] LT',\n nextWeek: 'LT [sa susunod na] dddd',\n lastDay: 'LT [kahapon]',\n lastWeek: 'LT [noong nakaraang] dddd',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'sa loob ng %s',\n past : '%s ang nakalipas',\n s : 'ilang segundo',\n ss : '%d segundo',\n m : 'isang minuto',\n mm : '%d minuto',\n h : 'isang oras',\n hh : '%d oras',\n d : 'isang araw',\n dd : '%d araw',\n M : 'isang buwan',\n MM : '%d buwan',\n y : 'isang taon',\n yy : '%d taon'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}/,\n ordinal : function (number) {\n return number;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return tlPh;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var th = moment.defineLocale('th', {\n months : 'มกราคม_กุมภาพันธ์_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_กรกฎาคม_สิงหาคม_กันยายน_ตุลาคม_พฤศจิกายน_ธันวาคม'.split('_'),\n monthsShort : 'ม.ค._ก.พ._มี.ค._เม.ย._พ.ค._มิ.ย._ก.ค._ส.ค._ก.ย._ต.ค._พ.ย._ธ.ค.'.split('_'),\n monthsParseExact: true,\n weekdays : 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัสบดี_ศุกร์_เสาร์'.split('_'),\n weekdaysShort : 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัส_ศุกร์_เสาร์'.split('_'), // yes, three characters difference\n weekdaysMin : 'อา._จ._อ._พ._พฤ._ศ._ส.'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY เวลา H:mm',\n LLLL : 'วันddddที่ D MMMM YYYY เวลา H:mm'\n },\n meridiemParse: /ก่อนเที่ยง|หลังเที่ยง/,\n isPM: function (input) {\n return input === 'หลังเที่ยง';\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ก่อนเที่ยง';\n } else {\n return 'หลังเที่ยง';\n }\n },\n calendar : {\n sameDay : '[วันนี้ เวลา] LT',\n nextDay : '[พรุ่งนี้ เวลา] LT',\n nextWeek : 'dddd[หน้า เวลา] LT',\n lastDay : '[เมื่อวานนี้ เวลา] LT',\n lastWeek : '[วัน]dddd[ที่แล้ว เวลา] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'อีก %s',\n past : '%sที่แล้ว',\n s : 'ไม่กี่วินาที',\n ss : '%d วินาที',\n m : '1 นาที',\n mm : '%d นาที',\n h : '1 ชั่วโมง',\n hh : '%d ชั่วโมง',\n d : '1 วัน',\n dd : '%d วัน',\n M : '1 เดือน',\n MM : '%d เดือน',\n y : '1 ปี',\n yy : '%d ปี'\n }\n });\n\n return th;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var suffixes = {\n 0: '-ум',\n 1: '-ум',\n 2: '-юм',\n 3: '-юм',\n 4: '-ум',\n 5: '-ум',\n 6: '-ум',\n 7: '-ум',\n 8: '-ум',\n 9: '-ум',\n 10: '-ум',\n 12: '-ум',\n 13: '-ум',\n 20: '-ум',\n 30: '-юм',\n 40: '-ум',\n 50: '-ум',\n 60: '-ум',\n 70: '-ум',\n 80: '-ум',\n 90: '-ум',\n 100: '-ум'\n };\n\n var tg = moment.defineLocale('tg', {\n months : 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split('_'),\n monthsShort : 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'),\n weekdays : 'якшанбе_душанбе_сешанбе_чоршанбе_панҷшанбе_ҷумъа_шанбе'.split('_'),\n weekdaysShort : 'яшб_дшб_сшб_чшб_пшб_ҷум_шнб'.split('_'),\n weekdaysMin : 'яш_дш_сш_чш_пш_ҷм_шб'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Имрӯз соати] LT',\n nextDay : '[Пагоҳ соати] LT',\n lastDay : '[Дирӯз соати] LT',\n nextWeek : 'dddd[и] [ҳафтаи оянда соати] LT',\n lastWeek : 'dddd[и] [ҳафтаи гузашта соати] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'баъди %s',\n past : '%s пеш',\n s : 'якчанд сония',\n m : 'як дақиқа',\n mm : '%d дақиқа',\n h : 'як соат',\n hh : '%d соат',\n d : 'як рӯз',\n dd : '%d рӯз',\n M : 'як моҳ',\n MM : '%d моҳ',\n y : 'як сол',\n yy : '%d сол'\n },\n meridiemParse: /шаб|субҳ|рӯз|бегоҳ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'шаб') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'субҳ') {\n return hour;\n } else if (meridiem === 'рӯз') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'бегоҳ') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'шаб';\n } else if (hour < 11) {\n return 'субҳ';\n } else if (hour < 16) {\n return 'рӯз';\n } else if (hour < 19) {\n return 'бегоҳ';\n } else {\n return 'шаб';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ум|юм)/,\n ordinal: function (number) {\n var a = number % 10,\n b = number >= 100 ? 100 : null;\n return number + (suffixes[number] || suffixes[a] || suffixes[b]);\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1th is the first week of the year.\n }\n });\n\n return tg;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var tet = moment.defineLocale('tet', {\n months : 'Janeiru_Fevereiru_Marsu_Abril_Maiu_Juñu_Jullu_Agustu_Setembru_Outubru_Novembru_Dezembru'.split('_'),\n monthsShort : 'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez'.split('_'),\n weekdays : 'Domingu_Segunda_Tersa_Kuarta_Kinta_Sesta_Sabadu'.split('_'),\n weekdaysShort : 'Dom_Seg_Ters_Kua_Kint_Sest_Sab'.split('_'),\n weekdaysMin : 'Do_Seg_Te_Ku_Ki_Ses_Sa'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[Ohin iha] LT',\n nextDay: '[Aban iha] LT',\n nextWeek: 'dddd [iha] LT',\n lastDay: '[Horiseik iha] LT',\n lastWeek: 'dddd [semana kotuk] [iha] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'iha %s',\n past : '%s liuba',\n s : 'minutu balun',\n ss : 'minutu %d',\n m : 'minutu ida',\n mm : 'minutu %d',\n h : 'oras ida',\n hh : 'oras %d',\n d : 'loron ida',\n dd : 'loron %d',\n M : 'fulan ida',\n MM : 'fulan %d',\n y : 'tinan ida',\n yy : 'tinan %d'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return tet;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var te = moment.defineLocale('te', {\n months : 'జనవరి_ఫిబ్రవరి_మార్చి_ఏప్రిల్_మే_జూన్_జూలై_ఆగస్టు_సెప్టెంబర్_అక్టోబర్_నవంబర్_డిసెంబర్'.split('_'),\n monthsShort : 'జన._ఫిబ్ర._మార్చి_ఏప్రి._మే_జూన్_జూలై_ఆగ._సెప్._అక్టో._నవ._డిసె.'.split('_'),\n monthsParseExact : true,\n weekdays : 'ఆదివారం_సోమవారం_మంగళవారం_బుధవారం_గురువారం_శుక్రవారం_శనివారం'.split('_'),\n weekdaysShort : 'ఆది_సోమ_మంగళ_బుధ_గురు_శుక్ర_శని'.split('_'),\n weekdaysMin : 'ఆ_సో_మం_బు_గు_శు_శ'.split('_'),\n longDateFormat : {\n LT : 'A h:mm',\n LTS : 'A h:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, A h:mm',\n LLLL : 'dddd, D MMMM YYYY, A h:mm'\n },\n calendar : {\n sameDay : '[నేడు] LT',\n nextDay : '[రేపు] LT',\n nextWeek : 'dddd, LT',\n lastDay : '[నిన్న] LT',\n lastWeek : '[గత] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s లో',\n past : '%s క్రితం',\n s : 'కొన్ని క్షణాలు',\n ss : '%d సెకన్లు',\n m : 'ఒక నిమిషం',\n mm : '%d నిమిషాలు',\n h : 'ఒక గంట',\n hh : '%d గంటలు',\n d : 'ఒక రోజు',\n dd : '%d రోజులు',\n M : 'ఒక నెల',\n MM : '%d నెలలు',\n y : 'ఒక సంవత్సరం',\n yy : '%d సంవత్సరాలు'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}వ/,\n ordinal : '%dవ',\n meridiemParse: /రాత్రి|ఉదయం|మధ్యాహ్నం|సాయంత్రం/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'రాత్రి') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'ఉదయం') {\n return hour;\n } else if (meridiem === 'మధ్యాహ్నం') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'సాయంత్రం') {\n return hour + 12;\n }\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'రాత్రి';\n } else if (hour < 10) {\n return 'ఉదయం';\n } else if (hour < 17) {\n return 'మధ్యాహ్నం';\n } else if (hour < 20) {\n return 'సాయంత్రం';\n } else {\n return 'రాత్రి';\n }\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return te;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '௧',\n '2': '௨',\n '3': '௩',\n '4': '௪',\n '5': '௫',\n '6': '௬',\n '7': '௭',\n '8': '௮',\n '9': '௯',\n '0': '௦'\n }, numberMap = {\n '௧': '1',\n '௨': '2',\n '௩': '3',\n '௪': '4',\n '௫': '5',\n '௬': '6',\n '௭': '7',\n '௮': '8',\n '௯': '9',\n '௦': '0'\n };\n\n var ta = moment.defineLocale('ta', {\n months : 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split('_'),\n monthsShort : 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split('_'),\n weekdays : 'ஞாயிற்றுக்கிழமை_திங்கட்கிழமை_செவ்வாய்கிழமை_புதன்கிழமை_வியாழக்கிழமை_வெள்ளிக்கிழமை_சனிக்கிழமை'.split('_'),\n weekdaysShort : 'ஞாயிறு_திங்கள்_செவ்வாய்_புதன்_வியாழன்_வெள்ளி_சனி'.split('_'),\n weekdaysMin : 'ஞா_தி_செ_பு_வி_வெ_ச'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, HH:mm',\n LLLL : 'dddd, D MMMM YYYY, HH:mm'\n },\n calendar : {\n sameDay : '[இன்று] LT',\n nextDay : '[நாளை] LT',\n nextWeek : 'dddd, LT',\n lastDay : '[நேற்று] LT',\n lastWeek : '[கடந்த வாரம்] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s இல்',\n past : '%s முன்',\n s : 'ஒரு சில விநாடிகள்',\n ss : '%d விநாடிகள்',\n m : 'ஒரு நிமிடம்',\n mm : '%d நிமிடங்கள்',\n h : 'ஒரு மணி நேரம்',\n hh : '%d மணி நேரம்',\n d : 'ஒரு நாள்',\n dd : '%d நாட்கள்',\n M : 'ஒரு மாதம்',\n MM : '%d மாதங்கள்',\n y : 'ஒரு வருடம்',\n yy : '%d ஆண்டுகள்'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}வது/,\n ordinal : function (number) {\n return number + 'வது';\n },\n preparse: function (string) {\n return string.replace(/[௧௨௩௪௫௬௭௮௯௦]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n // refer http://ta.wikipedia.org/s/1er1\n meridiemParse: /யாமம்|வைகறை|காலை|நண்பகல்|எற்பாடு|மாலை/,\n meridiem : function (hour, minute, isLower) {\n if (hour < 2) {\n return ' யாமம்';\n } else if (hour < 6) {\n return ' வைகறை'; // வைகறை\n } else if (hour < 10) {\n return ' காலை'; // காலை\n } else if (hour < 14) {\n return ' நண்பகல்'; // நண்பகல்\n } else if (hour < 18) {\n return ' எற்பாடு'; // எற்பாடு\n } else if (hour < 22) {\n return ' மாலை'; // மாலை\n } else {\n return ' யாமம்';\n }\n },\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'யாமம்') {\n return hour < 2 ? hour : hour + 12;\n } else if (meridiem === 'வைகறை' || meridiem === 'காலை') {\n return hour;\n } else if (meridiem === 'நண்பகல்') {\n return hour >= 10 ? hour : hour + 12;\n } else {\n return hour + 12;\n }\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return ta;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var sw = moment.defineLocale('sw', {\n months : 'Januari_Februari_Machi_Aprili_Mei_Juni_Julai_Agosti_Septemba_Oktoba_Novemba_Desemba'.split('_'),\n monthsShort : 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ago_Sep_Okt_Nov_Des'.split('_'),\n weekdays : 'Jumapili_Jumatatu_Jumanne_Jumatano_Alhamisi_Ijumaa_Jumamosi'.split('_'),\n weekdaysShort : 'Jpl_Jtat_Jnne_Jtan_Alh_Ijm_Jmos'.split('_'),\n weekdaysMin : 'J2_J3_J4_J5_Al_Ij_J1'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[leo saa] LT',\n nextDay : '[kesho saa] LT',\n nextWeek : '[wiki ijayo] dddd [saat] LT',\n lastDay : '[jana] LT',\n lastWeek : '[wiki iliyopita] dddd [saat] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s baadaye',\n past : 'tokea %s',\n s : 'hivi punde',\n ss : 'sekunde %d',\n m : 'dakika moja',\n mm : 'dakika %d',\n h : 'saa limoja',\n hh : 'masaa %d',\n d : 'siku moja',\n dd : 'masiku %d',\n M : 'mwezi mmoja',\n MM : 'miezi %d',\n y : 'mwaka mmoja',\n yy : 'miaka %d'\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return sw;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var sv = moment.defineLocale('sv', {\n months : 'januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december'.split('_'),\n monthsShort : 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n weekdays : 'söndag_måndag_tisdag_onsdag_torsdag_fredag_lördag'.split('_'),\n weekdaysShort : 'sön_mån_tis_ons_tor_fre_lör'.split('_'),\n weekdaysMin : 'sö_må_ti_on_to_fr_lö'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY-MM-DD',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY [kl.] HH:mm',\n LLLL : 'dddd D MMMM YYYY [kl.] HH:mm',\n lll : 'D MMM YYYY HH:mm',\n llll : 'ddd D MMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[Idag] LT',\n nextDay: '[Imorgon] LT',\n lastDay: '[Igår] LT',\n nextWeek: '[På] dddd LT',\n lastWeek: '[I] dddd[s] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'om %s',\n past : 'för %s sedan',\n s : 'några sekunder',\n ss : '%d sekunder',\n m : 'en minut',\n mm : '%d minuter',\n h : 'en timme',\n hh : '%d timmar',\n d : 'en dag',\n dd : '%d dagar',\n M : 'en månad',\n MM : '%d månader',\n y : 'ett år',\n yy : '%d år'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(e|a)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'e' :\n (b === 1) ? 'a' :\n (b === 2) ? 'a' :\n (b === 3) ? 'e' : 'e';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return sv;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var ss = moment.defineLocale('ss', {\n months : \"Bhimbidvwane_Indlovana_Indlov'lenkhulu_Mabasa_Inkhwekhweti_Inhlaba_Kholwane_Ingci_Inyoni_Imphala_Lweti_Ingongoni\".split('_'),\n monthsShort : 'Bhi_Ina_Inu_Mab_Ink_Inh_Kho_Igc_Iny_Imp_Lwe_Igo'.split('_'),\n weekdays : 'Lisontfo_Umsombuluko_Lesibili_Lesitsatfu_Lesine_Lesihlanu_Umgcibelo'.split('_'),\n weekdaysShort : 'Lis_Umb_Lsb_Les_Lsi_Lsh_Umg'.split('_'),\n weekdaysMin : 'Li_Us_Lb_Lt_Ls_Lh_Ug'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'h:mm A',\n LTS : 'h:mm:ss A',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY h:mm A',\n LLLL : 'dddd, D MMMM YYYY h:mm A'\n },\n calendar : {\n sameDay : '[Namuhla nga] LT',\n nextDay : '[Kusasa nga] LT',\n nextWeek : 'dddd [nga] LT',\n lastDay : '[Itolo nga] LT',\n lastWeek : 'dddd [leliphelile] [nga] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'nga %s',\n past : 'wenteka nga %s',\n s : 'emizuzwana lomcane',\n ss : '%d mzuzwana',\n m : 'umzuzu',\n mm : '%d emizuzu',\n h : 'lihora',\n hh : '%d emahora',\n d : 'lilanga',\n dd : '%d emalanga',\n M : 'inyanga',\n MM : '%d tinyanga',\n y : 'umnyaka',\n yy : '%d iminyaka'\n },\n meridiemParse: /ekuseni|emini|entsambama|ebusuku/,\n meridiem : function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'ekuseni';\n } else if (hours < 15) {\n return 'emini';\n } else if (hours < 19) {\n return 'entsambama';\n } else {\n return 'ebusuku';\n }\n },\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'ekuseni') {\n return hour;\n } else if (meridiem === 'emini') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'entsambama' || meridiem === 'ebusuku') {\n if (hour === 0) {\n return 0;\n }\n return hour + 12;\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}/,\n ordinal : '%d',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return ss;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var translator = {\n words: { //Different grammatical cases\n ss: ['секунда', 'секунде', 'секунди'],\n m: ['један минут', 'једне минуте'],\n mm: ['минут', 'минуте', 'минута'],\n h: ['један сат', 'једног сата'],\n hh: ['сат', 'сата', 'сати'],\n dd: ['дан', 'дана', 'дана'],\n MM: ['месец', 'месеца', 'месеци'],\n yy: ['година', 'године', 'година']\n },\n correctGrammaticalCase: function (number, wordKey) {\n return number === 1 ? wordKey[0] : (number >= 2 && number <= 4 ? wordKey[1] : wordKey[2]);\n },\n translate: function (number, withoutSuffix, key) {\n var wordKey = translator.words[key];\n if (key.length === 1) {\n return withoutSuffix ? wordKey[0] : wordKey[1];\n } else {\n return number + ' ' + translator.correctGrammaticalCase(number, wordKey);\n }\n }\n };\n\n var srCyrl = moment.defineLocale('sr-cyrl', {\n months: 'јануар_фебруар_март_април_мај_јун_јул_август_септембар_октобар_новембар_децембар'.split('_'),\n monthsShort: 'јан._феб._мар._апр._мај_јун_јул_авг._сеп._окт._нов._дец.'.split('_'),\n monthsParseExact: true,\n weekdays: 'недеља_понедељак_уторак_среда_четвртак_петак_субота'.split('_'),\n weekdaysShort: 'нед._пон._уто._сре._чет._пет._суб.'.split('_'),\n weekdaysMin: 'не_по_ут_ср_че_пе_су'.split('_'),\n weekdaysParseExact : true,\n longDateFormat: {\n LT: 'H:mm',\n LTS : 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd, D. MMMM YYYY H:mm'\n },\n calendar: {\n sameDay: '[данас у] LT',\n nextDay: '[сутра у] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[у] [недељу] [у] LT';\n case 3:\n return '[у] [среду] [у] LT';\n case 6:\n return '[у] [суботу] [у] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[у] dddd [у] LT';\n }\n },\n lastDay : '[јуче у] LT',\n lastWeek : function () {\n var lastWeekDays = [\n '[прошле] [недеље] [у] LT',\n '[прошлог] [понедељка] [у] LT',\n '[прошлог] [уторка] [у] LT',\n '[прошле] [среде] [у] LT',\n '[прошлог] [четвртка] [у] LT',\n '[прошлог] [петка] [у] LT',\n '[прошле] [суботе] [у] LT'\n ];\n return lastWeekDays[this.day()];\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'за %s',\n past : 'пре %s',\n s : 'неколико секунди',\n ss : translator.translate,\n m : translator.translate,\n mm : translator.translate,\n h : translator.translate,\n hh : translator.translate,\n d : 'дан',\n dd : translator.translate,\n M : 'месец',\n MM : translator.translate,\n y : 'годину',\n yy : translator.translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return srCyrl;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var translator = {\n words: { //Different grammatical cases\n ss: ['sekunda', 'sekunde', 'sekundi'],\n m: ['jedan minut', 'jedne minute'],\n mm: ['minut', 'minute', 'minuta'],\n h: ['jedan sat', 'jednog sata'],\n hh: ['sat', 'sata', 'sati'],\n dd: ['dan', 'dana', 'dana'],\n MM: ['mesec', 'meseca', 'meseci'],\n yy: ['godina', 'godine', 'godina']\n },\n correctGrammaticalCase: function (number, wordKey) {\n return number === 1 ? wordKey[0] : (number >= 2 && number <= 4 ? wordKey[1] : wordKey[2]);\n },\n translate: function (number, withoutSuffix, key) {\n var wordKey = translator.words[key];\n if (key.length === 1) {\n return withoutSuffix ? wordKey[0] : wordKey[1];\n } else {\n return number + ' ' + translator.correctGrammaticalCase(number, wordKey);\n }\n }\n };\n\n var sr = moment.defineLocale('sr', {\n months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split('_'),\n monthsShort: 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays: 'nedelja_ponedeljak_utorak_sreda_četvrtak_petak_subota'.split('_'),\n weekdaysShort: 'ned._pon._uto._sre._čet._pet._sub.'.split('_'),\n weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact : true,\n longDateFormat: {\n LT: 'H:mm',\n LTS : 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd, D. MMMM YYYY H:mm'\n },\n calendar: {\n sameDay: '[danas u] LT',\n nextDay: '[sutra u] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[u] [nedelju] [u] LT';\n case 3:\n return '[u] [sredu] [u] LT';\n case 6:\n return '[u] [subotu] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay : '[juče u] LT',\n lastWeek : function () {\n var lastWeekDays = [\n '[prošle] [nedelje] [u] LT',\n '[prošlog] [ponedeljka] [u] LT',\n '[prošlog] [utorka] [u] LT',\n '[prošle] [srede] [u] LT',\n '[prošlog] [četvrtka] [u] LT',\n '[prošlog] [petka] [u] LT',\n '[prošle] [subote] [u] LT'\n ];\n return lastWeekDays[this.day()];\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'za %s',\n past : 'pre %s',\n s : 'nekoliko sekundi',\n ss : translator.translate,\n m : translator.translate,\n mm : translator.translate,\n h : translator.translate,\n hh : translator.translate,\n d : 'dan',\n dd : translator.translate,\n M : 'mesec',\n MM : translator.translate,\n y : 'godinu',\n yy : translator.translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return sr;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var sq = moment.defineLocale('sq', {\n months : 'Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_Nëntor_Dhjetor'.split('_'),\n monthsShort : 'Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_Nën_Dhj'.split('_'),\n weekdays : 'E Diel_E Hënë_E Martë_E Mërkurë_E Enjte_E Premte_E Shtunë'.split('_'),\n weekdaysShort : 'Die_Hën_Mar_Mër_Enj_Pre_Sht'.split('_'),\n weekdaysMin : 'D_H_Ma_Më_E_P_Sh'.split('_'),\n weekdaysParseExact : true,\n meridiemParse: /PD|MD/,\n isPM: function (input) {\n return input.charAt(0) === 'M';\n },\n meridiem : function (hours, minutes, isLower) {\n return hours < 12 ? 'PD' : 'MD';\n },\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Sot në] LT',\n nextDay : '[Nesër në] LT',\n nextWeek : 'dddd [në] LT',\n lastDay : '[Dje në] LT',\n lastWeek : 'dddd [e kaluar në] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'në %s',\n past : '%s më parë',\n s : 'disa sekonda',\n ss : '%d sekonda',\n m : 'një minutë',\n mm : '%d minuta',\n h : 'një orë',\n hh : '%d orë',\n d : 'një ditë',\n dd : '%d ditë',\n M : 'një muaj',\n MM : '%d muaj',\n y : 'një vit',\n yy : '%d vite'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return sq;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n switch (key) {\n case 's':\n return withoutSuffix || isFuture ? 'nekaj sekund' : 'nekaj sekundami';\n case 'ss':\n if (number === 1) {\n result += withoutSuffix ? 'sekundo' : 'sekundi';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'sekundi' : 'sekundah';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'sekunde' : 'sekundah';\n } else {\n result += withoutSuffix || isFuture ? 'sekund' : 'sekund';\n }\n return result;\n case 'm':\n return withoutSuffix ? 'ena minuta' : 'eno minuto';\n case 'mm':\n if (number === 1) {\n result += withoutSuffix ? 'minuta' : 'minuto';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'minuti' : 'minutama';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'minute' : 'minutami';\n } else {\n result += withoutSuffix || isFuture ? 'minut' : 'minutami';\n }\n return result;\n case 'h':\n return withoutSuffix ? 'ena ura' : 'eno uro';\n case 'hh':\n if (number === 1) {\n result += withoutSuffix ? 'ura' : 'uro';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'uri' : 'urama';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'ure' : 'urami';\n } else {\n result += withoutSuffix || isFuture ? 'ur' : 'urami';\n }\n return result;\n case 'd':\n return withoutSuffix || isFuture ? 'en dan' : 'enim dnem';\n case 'dd':\n if (number === 1) {\n result += withoutSuffix || isFuture ? 'dan' : 'dnem';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'dni' : 'dnevoma';\n } else {\n result += withoutSuffix || isFuture ? 'dni' : 'dnevi';\n }\n return result;\n case 'M':\n return withoutSuffix || isFuture ? 'en mesec' : 'enim mesecem';\n case 'MM':\n if (number === 1) {\n result += withoutSuffix || isFuture ? 'mesec' : 'mesecem';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'meseca' : 'mesecema';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'mesece' : 'meseci';\n } else {\n result += withoutSuffix || isFuture ? 'mesecev' : 'meseci';\n }\n return result;\n case 'y':\n return withoutSuffix || isFuture ? 'eno leto' : 'enim letom';\n case 'yy':\n if (number === 1) {\n result += withoutSuffix || isFuture ? 'leto' : 'letom';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'leti' : 'letoma';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'leta' : 'leti';\n } else {\n result += withoutSuffix || isFuture ? 'let' : 'leti';\n }\n return result;\n }\n }\n\n var sl = moment.defineLocale('sl', {\n months : 'januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december'.split('_'),\n monthsShort : 'jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays : 'nedelja_ponedeljek_torek_sreda_četrtek_petek_sobota'.split('_'),\n weekdaysShort : 'ned._pon._tor._sre._čet._pet._sob.'.split('_'),\n weekdaysMin : 'ne_po_to_sr_če_pe_so'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY H:mm',\n LLLL : 'dddd, D. MMMM YYYY H:mm'\n },\n calendar : {\n sameDay : '[danes ob] LT',\n nextDay : '[jutri ob] LT',\n\n nextWeek : function () {\n switch (this.day()) {\n case 0:\n return '[v] [nedeljo] [ob] LT';\n case 3:\n return '[v] [sredo] [ob] LT';\n case 6:\n return '[v] [soboto] [ob] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[v] dddd [ob] LT';\n }\n },\n lastDay : '[včeraj ob] LT',\n lastWeek : function () {\n switch (this.day()) {\n case 0:\n return '[prejšnjo] [nedeljo] [ob] LT';\n case 3:\n return '[prejšnjo] [sredo] [ob] LT';\n case 6:\n return '[prejšnjo] [soboto] [ob] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[prejšnji] dddd [ob] LT';\n }\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'čez %s',\n past : 'pred %s',\n s : processRelativeTime,\n ss : processRelativeTime,\n m : processRelativeTime,\n mm : processRelativeTime,\n h : processRelativeTime,\n hh : processRelativeTime,\n d : processRelativeTime,\n dd : processRelativeTime,\n M : processRelativeTime,\n MM : processRelativeTime,\n y : processRelativeTime,\n yy : processRelativeTime\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return sl;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var months = 'január_február_marec_apríl_máj_jún_júl_august_september_október_november_december'.split('_'),\n monthsShort = 'jan_feb_mar_apr_máj_jún_júl_aug_sep_okt_nov_dec'.split('_');\n function plural(n) {\n return (n > 1) && (n < 5);\n }\n function translate(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n switch (key) {\n case 's': // a few seconds / in a few seconds / a few seconds ago\n return (withoutSuffix || isFuture) ? 'pár sekúnd' : 'pár sekundami';\n case 'ss': // 9 seconds / in 9 seconds / 9 seconds ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'sekundy' : 'sekúnd');\n } else {\n return result + 'sekundami';\n }\n break;\n case 'm': // a minute / in a minute / a minute ago\n return withoutSuffix ? 'minúta' : (isFuture ? 'minútu' : 'minútou');\n case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'minúty' : 'minút');\n } else {\n return result + 'minútami';\n }\n break;\n case 'h': // an hour / in an hour / an hour ago\n return withoutSuffix ? 'hodina' : (isFuture ? 'hodinu' : 'hodinou');\n case 'hh': // 9 hours / in 9 hours / 9 hours ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'hodiny' : 'hodín');\n } else {\n return result + 'hodinami';\n }\n break;\n case 'd': // a day / in a day / a day ago\n return (withoutSuffix || isFuture) ? 'deň' : 'dňom';\n case 'dd': // 9 days / in 9 days / 9 days ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'dni' : 'dní');\n } else {\n return result + 'dňami';\n }\n break;\n case 'M': // a month / in a month / a month ago\n return (withoutSuffix || isFuture) ? 'mesiac' : 'mesiacom';\n case 'MM': // 9 months / in 9 months / 9 months ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'mesiace' : 'mesiacov');\n } else {\n return result + 'mesiacmi';\n }\n break;\n case 'y': // a year / in a year / a year ago\n return (withoutSuffix || isFuture) ? 'rok' : 'rokom';\n case 'yy': // 9 years / in 9 years / 9 years ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'roky' : 'rokov');\n } else {\n return result + 'rokmi';\n }\n break;\n }\n }\n\n var sk = moment.defineLocale('sk', {\n months : months,\n monthsShort : monthsShort,\n weekdays : 'nedeľa_pondelok_utorok_streda_štvrtok_piatok_sobota'.split('_'),\n weekdaysShort : 'ne_po_ut_st_št_pi_so'.split('_'),\n weekdaysMin : 'ne_po_ut_st_št_pi_so'.split('_'),\n longDateFormat : {\n LT: 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY H:mm',\n LLLL : 'dddd D. MMMM YYYY H:mm'\n },\n calendar : {\n sameDay: '[dnes o] LT',\n nextDay: '[zajtra o] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[v nedeľu o] LT';\n case 1:\n case 2:\n return '[v] dddd [o] LT';\n case 3:\n return '[v stredu o] LT';\n case 4:\n return '[vo štvrtok o] LT';\n case 5:\n return '[v piatok o] LT';\n case 6:\n return '[v sobotu o] LT';\n }\n },\n lastDay: '[včera o] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[minulú nedeľu o] LT';\n case 1:\n case 2:\n return '[minulý] dddd [o] LT';\n case 3:\n return '[minulú stredu o] LT';\n case 4:\n case 5:\n return '[minulý] dddd [o] LT';\n case 6:\n return '[minulú sobotu o] LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : 'za %s',\n past : 'pred %s',\n s : translate,\n ss : translate,\n m : translate,\n mm : translate,\n h : translate,\n hh : translate,\n d : translate,\n dd : translate,\n M : translate,\n MM : translate,\n y : translate,\n yy : translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return sk;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n /*jshint -W100*/\n var si = moment.defineLocale('si', {\n months : 'ජනවාරි_පෙබරවාරි_මාර්තු_අප්‍රේල්_මැයි_ජූනි_ජූලි_අගෝස්තු_සැප්තැම්බර්_ඔක්තෝබර්_නොවැම්බර්_දෙසැම්බර්'.split('_'),\n monthsShort : 'ජන_පෙබ_මාර්_අප්_මැයි_ජූනි_ජූලි_අගෝ_සැප්_ඔක්_නොවැ_දෙසැ'.split('_'),\n weekdays : 'ඉරිදා_සඳුදා_අඟහරුවාදා_බදාදා_බ්‍රහස්පතින්දා_සිකුරාදා_සෙනසුරාදා'.split('_'),\n weekdaysShort : 'ඉරි_සඳු_අඟ_බදා_බ්‍රහ_සිකු_සෙන'.split('_'),\n weekdaysMin : 'ඉ_ස_අ_බ_බ්‍ර_සි_සෙ'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'a h:mm',\n LTS : 'a h:mm:ss',\n L : 'YYYY/MM/DD',\n LL : 'YYYY MMMM D',\n LLL : 'YYYY MMMM D, a h:mm',\n LLLL : 'YYYY MMMM D [වැනි] dddd, a h:mm:ss'\n },\n calendar : {\n sameDay : '[අද] LT[ට]',\n nextDay : '[හෙට] LT[ට]',\n nextWeek : 'dddd LT[ට]',\n lastDay : '[ඊයේ] LT[ට]',\n lastWeek : '[පසුගිය] dddd LT[ට]',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%sකින්',\n past : '%sකට පෙර',\n s : 'තත්පර කිහිපය',\n ss : 'තත්පර %d',\n m : 'මිනිත්තුව',\n mm : 'මිනිත්තු %d',\n h : 'පැය',\n hh : 'පැය %d',\n d : 'දිනය',\n dd : 'දින %d',\n M : 'මාසය',\n MM : 'මාස %d',\n y : 'වසර',\n yy : 'වසර %d'\n },\n dayOfMonthOrdinalParse: /\\d{1,2} වැනි/,\n ordinal : function (number) {\n return number + ' වැනි';\n },\n meridiemParse : /පෙර වරු|පස් වරු|පෙ.ව|ප.ව./,\n isPM : function (input) {\n return input === 'ප.ව.' || input === 'පස් වරු';\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'ප.ව.' : 'පස් වරු';\n } else {\n return isLower ? 'පෙ.ව.' : 'පෙර වරු';\n }\n }\n });\n\n return si;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var se = moment.defineLocale('se', {\n months : 'ođđajagemánnu_guovvamánnu_njukčamánnu_cuoŋománnu_miessemánnu_geassemánnu_suoidnemánnu_borgemánnu_čakčamánnu_golggotmánnu_skábmamánnu_juovlamánnu'.split('_'),\n monthsShort : 'ođđj_guov_njuk_cuo_mies_geas_suoi_borg_čakč_golg_skáb_juov'.split('_'),\n weekdays : 'sotnabeaivi_vuossárga_maŋŋebárga_gaskavahkku_duorastat_bearjadat_lávvardat'.split('_'),\n weekdaysShort : 'sotn_vuos_maŋ_gask_duor_bear_láv'.split('_'),\n weekdaysMin : 's_v_m_g_d_b_L'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'MMMM D. [b.] YYYY',\n LLL : 'MMMM D. [b.] YYYY [ti.] HH:mm',\n LLLL : 'dddd, MMMM D. [b.] YYYY [ti.] HH:mm'\n },\n calendar : {\n sameDay: '[otne ti] LT',\n nextDay: '[ihttin ti] LT',\n nextWeek: 'dddd [ti] LT',\n lastDay: '[ikte ti] LT',\n lastWeek: '[ovddit] dddd [ti] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : '%s geažes',\n past : 'maŋit %s',\n s : 'moadde sekunddat',\n ss: '%d sekunddat',\n m : 'okta minuhta',\n mm : '%d minuhtat',\n h : 'okta diimmu',\n hh : '%d diimmut',\n d : 'okta beaivi',\n dd : '%d beaivvit',\n M : 'okta mánnu',\n MM : '%d mánut',\n y : 'okta jahki',\n yy : '%d jagit'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return se;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var months = [\n 'جنوري',\n 'فيبروري',\n 'مارچ',\n 'اپريل',\n 'مئي',\n 'جون',\n 'جولاءِ',\n 'آگسٽ',\n 'سيپٽمبر',\n 'آڪٽوبر',\n 'نومبر',\n 'ڊسمبر'\n ];\n var days = [\n 'آچر',\n 'سومر',\n 'اڱارو',\n 'اربع',\n 'خميس',\n 'جمع',\n 'ڇنڇر'\n ];\n\n var sd = moment.defineLocale('sd', {\n months : months,\n monthsShort : months,\n weekdays : days,\n weekdaysShort : days,\n weekdaysMin : days,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd، D MMMM YYYY HH:mm'\n },\n meridiemParse: /صبح|شام/,\n isPM : function (input) {\n return 'شام' === input;\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'صبح';\n }\n return 'شام';\n },\n calendar : {\n sameDay : '[اڄ] LT',\n nextDay : '[سڀاڻي] LT',\n nextWeek : 'dddd [اڳين هفتي تي] LT',\n lastDay : '[ڪالهه] LT',\n lastWeek : '[گزريل هفتي] dddd [تي] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s پوء',\n past : '%s اڳ',\n s : 'چند سيڪنڊ',\n ss : '%d سيڪنڊ',\n m : 'هڪ منٽ',\n mm : '%d منٽ',\n h : 'هڪ ڪلاڪ',\n hh : '%d ڪلاڪ',\n d : 'هڪ ڏينهن',\n dd : '%d ڏينهن',\n M : 'هڪ مهينو',\n MM : '%d مهينا',\n y : 'هڪ سال',\n yy : '%d سال'\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/,/g, '،');\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return sd;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function plural(word, num) {\n var forms = word.split('_');\n return num % 10 === 1 && num % 100 !== 11 ? forms[0] : (num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) ? forms[1] : forms[2]);\n }\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n var format = {\n 'ss': withoutSuffix ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд',\n 'mm': withoutSuffix ? 'минута_минуты_минут' : 'минуту_минуты_минут',\n 'hh': 'час_часа_часов',\n 'dd': 'день_дня_дней',\n 'MM': 'месяц_месяца_месяцев',\n 'yy': 'год_года_лет'\n };\n if (key === 'm') {\n return withoutSuffix ? 'минута' : 'минуту';\n }\n else {\n return number + ' ' + plural(format[key], +number);\n }\n }\n var monthsParse = [/^янв/i, /^фев/i, /^мар/i, /^апр/i, /^ма[йя]/i, /^июн/i, /^июл/i, /^авг/i, /^сен/i, /^окт/i, /^ноя/i, /^дек/i];\n\n // http://new.gramota.ru/spravka/rules/139-prop : § 103\n // Сокращения месяцев: http://new.gramota.ru/spravka/buro/search-answer?s=242637\n // CLDR data: http://www.unicode.org/cldr/charts/28/summary/ru.html#1753\n var ru = moment.defineLocale('ru', {\n months : {\n format: 'января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря'.split('_'),\n standalone: 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split('_')\n },\n monthsShort : {\n // по CLDR именно \"июл.\" и \"июн.\", но какой смысл менять букву на точку ?\n format: 'янв._февр._мар._апр._мая_июня_июля_авг._сент._окт._нояб._дек.'.split('_'),\n standalone: 'янв._февр._март_апр._май_июнь_июль_авг._сент._окт._нояб._дек.'.split('_')\n },\n weekdays : {\n standalone: 'воскресенье_понедельник_вторник_среда_четверг_пятница_суббота'.split('_'),\n format: 'воскресенье_понедельник_вторник_среду_четверг_пятницу_субботу'.split('_'),\n isFormat: /\\[ ?[Вв] ?(?:прошлую|следующую|эту)? ?\\] ?dddd/\n },\n weekdaysShort : 'вс_пн_вт_ср_чт_пт_сб'.split('_'),\n weekdaysMin : 'вс_пн_вт_ср_чт_пт_сб'.split('_'),\n monthsParse : monthsParse,\n longMonthsParse : monthsParse,\n shortMonthsParse : monthsParse,\n\n // полные названия с падежами, по три буквы, для некоторых, по 4 буквы, сокращения с точкой и без точки\n monthsRegex: /^(январ[ья]|янв\\.?|феврал[ья]|февр?\\.?|марта?|мар\\.?|апрел[ья]|апр\\.?|ма[йя]|июн[ья]|июн\\.?|июл[ья]|июл\\.?|августа?|авг\\.?|сентябр[ья]|сент?\\.?|октябр[ья]|окт\\.?|ноябр[ья]|нояб?\\.?|декабр[ья]|дек\\.?)/i,\n\n // копия предыдущего\n monthsShortRegex: /^(январ[ья]|янв\\.?|феврал[ья]|февр?\\.?|марта?|мар\\.?|апрел[ья]|апр\\.?|ма[йя]|июн[ья]|июн\\.?|июл[ья]|июл\\.?|августа?|авг\\.?|сентябр[ья]|сент?\\.?|октябр[ья]|окт\\.?|ноябр[ья]|нояб?\\.?|декабр[ья]|дек\\.?)/i,\n\n // полные названия с падежами\n monthsStrictRegex: /^(январ[яь]|феврал[яь]|марта?|апрел[яь]|ма[яй]|июн[яь]|июл[яь]|августа?|сентябр[яь]|октябр[яь]|ноябр[яь]|декабр[яь])/i,\n\n // Выражение, которое соотвествует только сокращённым формам\n monthsShortStrictRegex: /^(янв\\.|февр?\\.|мар[т.]|апр\\.|ма[яй]|июн[ья.]|июл[ья.]|авг\\.|сент?\\.|окт\\.|нояб?\\.|дек\\.)/i,\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY г.',\n LLL : 'D MMMM YYYY г., H:mm',\n LLLL : 'dddd, D MMMM YYYY г., H:mm'\n },\n calendar : {\n sameDay: '[Сегодня, в] LT',\n nextDay: '[Завтра, в] LT',\n lastDay: '[Вчера, в] LT',\n nextWeek: function (now) {\n if (now.week() !== this.week()) {\n switch (this.day()) {\n case 0:\n return '[В следующее] dddd, [в] LT';\n case 1:\n case 2:\n case 4:\n return '[В следующий] dddd, [в] LT';\n case 3:\n case 5:\n case 6:\n return '[В следующую] dddd, [в] LT';\n }\n } else {\n if (this.day() === 2) {\n return '[Во] dddd, [в] LT';\n } else {\n return '[В] dddd, [в] LT';\n }\n }\n },\n lastWeek: function (now) {\n if (now.week() !== this.week()) {\n switch (this.day()) {\n case 0:\n return '[В прошлое] dddd, [в] LT';\n case 1:\n case 2:\n case 4:\n return '[В прошлый] dddd, [в] LT';\n case 3:\n case 5:\n case 6:\n return '[В прошлую] dddd, [в] LT';\n }\n } else {\n if (this.day() === 2) {\n return '[Во] dddd, [в] LT';\n } else {\n return '[В] dddd, [в] LT';\n }\n }\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : 'через %s',\n past : '%s назад',\n s : 'несколько секунд',\n ss : relativeTimeWithPlural,\n m : relativeTimeWithPlural,\n mm : relativeTimeWithPlural,\n h : 'час',\n hh : relativeTimeWithPlural,\n d : 'день',\n dd : relativeTimeWithPlural,\n M : 'месяц',\n MM : relativeTimeWithPlural,\n y : 'год',\n yy : relativeTimeWithPlural\n },\n meridiemParse: /ночи|утра|дня|вечера/i,\n isPM : function (input) {\n return /^(дня|вечера)$/.test(input);\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ночи';\n } else if (hour < 12) {\n return 'утра';\n } else if (hour < 17) {\n return 'дня';\n } else {\n return 'вечера';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(й|го|я)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'M':\n case 'd':\n case 'DDD':\n return number + '-й';\n case 'D':\n return number + '-го';\n case 'w':\n case 'W':\n return number + '-я';\n default:\n return number;\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return ru;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n var format = {\n 'ss': 'secunde',\n 'mm': 'minute',\n 'hh': 'ore',\n 'dd': 'zile',\n 'MM': 'luni',\n 'yy': 'ani'\n },\n separator = ' ';\n if (number % 100 >= 20 || (number >= 100 && number % 100 === 0)) {\n separator = ' de ';\n }\n return number + separator + format[key];\n }\n\n var ro = moment.defineLocale('ro', {\n months : 'ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie'.split('_'),\n monthsShort : 'ian._febr._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays : 'duminică_luni_marți_miercuri_joi_vineri_sâmbătă'.split('_'),\n weekdaysShort : 'Dum_Lun_Mar_Mie_Joi_Vin_Sâm'.split('_'),\n weekdaysMin : 'Du_Lu_Ma_Mi_Jo_Vi_Sâ'.split('_'),\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY H:mm',\n LLLL : 'dddd, D MMMM YYYY H:mm'\n },\n calendar : {\n sameDay: '[azi la] LT',\n nextDay: '[mâine la] LT',\n nextWeek: 'dddd [la] LT',\n lastDay: '[ieri la] LT',\n lastWeek: '[fosta] dddd [la] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'peste %s',\n past : '%s în urmă',\n s : 'câteva secunde',\n ss : relativeTimeWithPlural,\n m : 'un minut',\n mm : relativeTimeWithPlural,\n h : 'o oră',\n hh : relativeTimeWithPlural,\n d : 'o zi',\n dd : relativeTimeWithPlural,\n M : 'o lună',\n MM : relativeTimeWithPlural,\n y : 'un an',\n yy : relativeTimeWithPlural\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return ro;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var ptBr = moment.defineLocale('pt-br', {\n months : 'janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro'.split('_'),\n monthsShort : 'jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez'.split('_'),\n weekdays : 'Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado'.split('_'),\n weekdaysShort : 'Dom_Seg_Ter_Qua_Qui_Sex_Sáb'.split('_'),\n weekdaysMin : 'Do_2ª_3ª_4ª_5ª_6ª_Sá'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D [de] MMMM [de] YYYY',\n LLL : 'D [de] MMMM [de] YYYY [às] HH:mm',\n LLLL : 'dddd, D [de] MMMM [de] YYYY [às] HH:mm'\n },\n calendar : {\n sameDay: '[Hoje às] LT',\n nextDay: '[Amanhã às] LT',\n nextWeek: 'dddd [às] LT',\n lastDay: '[Ontem às] LT',\n lastWeek: function () {\n return (this.day() === 0 || this.day() === 6) ?\n '[Último] dddd [às] LT' : // Saturday + Sunday\n '[Última] dddd [às] LT'; // Monday - Friday\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : 'em %s',\n past : 'há %s',\n s : 'poucos segundos',\n ss : '%d segundos',\n m : 'um minuto',\n mm : '%d minutos',\n h : 'uma hora',\n hh : '%d horas',\n d : 'um dia',\n dd : '%d dias',\n M : 'um mês',\n MM : '%d meses',\n y : 'um ano',\n yy : '%d anos'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal : '%dº'\n });\n\n return ptBr;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var pt = moment.defineLocale('pt', {\n months : 'janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro'.split('_'),\n monthsShort : 'jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez'.split('_'),\n weekdays : 'Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado'.split('_'),\n weekdaysShort : 'Dom_Seg_Ter_Qua_Qui_Sex_Sáb'.split('_'),\n weekdaysMin : 'Do_2ª_3ª_4ª_5ª_6ª_Sá'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D [de] MMMM [de] YYYY',\n LLL : 'D [de] MMMM [de] YYYY HH:mm',\n LLLL : 'dddd, D [de] MMMM [de] YYYY HH:mm'\n },\n calendar : {\n sameDay: '[Hoje às] LT',\n nextDay: '[Amanhã às] LT',\n nextWeek: 'dddd [às] LT',\n lastDay: '[Ontem às] LT',\n lastWeek: function () {\n return (this.day() === 0 || this.day() === 6) ?\n '[Último] dddd [às] LT' : // Saturday + Sunday\n '[Última] dddd [às] LT'; // Monday - Friday\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : 'em %s',\n past : 'há %s',\n s : 'segundos',\n ss : '%d segundos',\n m : 'um minuto',\n mm : '%d minutos',\n h : 'uma hora',\n hh : '%d horas',\n d : 'um dia',\n dd : '%d dias',\n M : 'um mês',\n MM : '%d meses',\n y : 'um ano',\n yy : '%d anos'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal : '%dº',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return pt;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var monthsNominative = 'styczeń_luty_marzec_kwiecień_maj_czerwiec_lipiec_sierpień_wrzesień_październik_listopad_grudzień'.split('_'),\n monthsSubjective = 'stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_września_października_listopada_grudnia'.split('_');\n function plural(n) {\n return (n % 10 < 5) && (n % 10 > 1) && ((~~(n / 10) % 10) !== 1);\n }\n function translate(number, withoutSuffix, key) {\n var result = number + ' ';\n switch (key) {\n case 'ss':\n return result + (plural(number) ? 'sekundy' : 'sekund');\n case 'm':\n return withoutSuffix ? 'minuta' : 'minutę';\n case 'mm':\n return result + (plural(number) ? 'minuty' : 'minut');\n case 'h':\n return withoutSuffix ? 'godzina' : 'godzinę';\n case 'hh':\n return result + (plural(number) ? 'godziny' : 'godzin');\n case 'MM':\n return result + (plural(number) ? 'miesiące' : 'miesięcy');\n case 'yy':\n return result + (plural(number) ? 'lata' : 'lat');\n }\n }\n\n var pl = moment.defineLocale('pl', {\n months : function (momentToFormat, format) {\n if (!momentToFormat) {\n return monthsNominative;\n } else if (format === '') {\n // Hack: if format empty we know this is used to generate\n // RegExp by moment. Give then back both valid forms of months\n // in RegExp ready format.\n return '(' + monthsSubjective[momentToFormat.month()] + '|' + monthsNominative[momentToFormat.month()] + ')';\n } else if (/D MMMM/.test(format)) {\n return monthsSubjective[momentToFormat.month()];\n } else {\n return monthsNominative[momentToFormat.month()];\n }\n },\n monthsShort : 'sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paź_lis_gru'.split('_'),\n weekdays : 'niedziela_poniedziałek_wtorek_środa_czwartek_piątek_sobota'.split('_'),\n weekdaysShort : 'ndz_pon_wt_śr_czw_pt_sob'.split('_'),\n weekdaysMin : 'Nd_Pn_Wt_Śr_Cz_Pt_So'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[Dziś o] LT',\n nextDay: '[Jutro o] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[W niedzielę o] LT';\n\n case 2:\n return '[We wtorek o] LT';\n\n case 3:\n return '[W środę o] LT';\n\n case 6:\n return '[W sobotę o] LT';\n\n default:\n return '[W] dddd [o] LT';\n }\n },\n lastDay: '[Wczoraj o] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[W zeszłą niedzielę o] LT';\n case 3:\n return '[W zeszłą środę o] LT';\n case 6:\n return '[W zeszłą sobotę o] LT';\n default:\n return '[W zeszły] dddd [o] LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : 'za %s',\n past : '%s temu',\n s : 'kilka sekund',\n ss : translate,\n m : translate,\n mm : translate,\n h : translate,\n hh : translate,\n d : '1 dzień',\n dd : '%d dni',\n M : 'miesiąc',\n MM : translate,\n y : 'rok',\n yy : translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return pl;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '੧',\n '2': '੨',\n '3': '੩',\n '4': '੪',\n '5': '੫',\n '6': '੬',\n '7': '੭',\n '8': '੮',\n '9': '੯',\n '0': '੦'\n },\n numberMap = {\n '੧': '1',\n '੨': '2',\n '੩': '3',\n '੪': '4',\n '੫': '5',\n '੬': '6',\n '੭': '7',\n '੮': '8',\n '੯': '9',\n '੦': '0'\n };\n\n var paIn = moment.defineLocale('pa-in', {\n // There are months name as per Nanakshahi Calender but they are not used as rigidly in modern Punjabi.\n months : 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split('_'),\n monthsShort : 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split('_'),\n weekdays : 'ਐਤਵਾਰ_ਸੋਮਵਾਰ_ਮੰਗਲਵਾਰ_ਬੁਧਵਾਰ_ਵੀਰਵਾਰ_ਸ਼ੁੱਕਰਵਾਰ_ਸ਼ਨੀਚਰਵਾਰ'.split('_'),\n weekdaysShort : 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'),\n weekdaysMin : 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'),\n longDateFormat : {\n LT : 'A h:mm ਵਜੇ',\n LTS : 'A h:mm:ss ਵਜੇ',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, A h:mm ਵਜੇ',\n LLLL : 'dddd, D MMMM YYYY, A h:mm ਵਜੇ'\n },\n calendar : {\n sameDay : '[ਅਜ] LT',\n nextDay : '[ਕਲ] LT',\n nextWeek : '[ਅਗਲਾ] dddd, LT',\n lastDay : '[ਕਲ] LT',\n lastWeek : '[ਪਿਛਲੇ] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s ਵਿੱਚ',\n past : '%s ਪਿਛਲੇ',\n s : 'ਕੁਝ ਸਕਿੰਟ',\n ss : '%d ਸਕਿੰਟ',\n m : 'ਇਕ ਮਿੰਟ',\n mm : '%d ਮਿੰਟ',\n h : 'ਇੱਕ ਘੰਟਾ',\n hh : '%d ਘੰਟੇ',\n d : 'ਇੱਕ ਦਿਨ',\n dd : '%d ਦਿਨ',\n M : 'ਇੱਕ ਮਹੀਨਾ',\n MM : '%d ਮਹੀਨੇ',\n y : 'ਇੱਕ ਸਾਲ',\n yy : '%d ਸਾਲ'\n },\n preparse: function (string) {\n return string.replace(/[੧੨੩੪੫੬੭੮੯੦]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n // Punjabi notation for meridiems are quite fuzzy in practice. While there exists\n // a rigid notion of a 'Pahar' it is not used as rigidly in modern Punjabi.\n meridiemParse: /ਰਾਤ|ਸਵੇਰ|ਦੁਪਹਿਰ|ਸ਼ਾਮ/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'ਰਾਤ') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'ਸਵੇਰ') {\n return hour;\n } else if (meridiem === 'ਦੁਪਹਿਰ') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'ਸ਼ਾਮ') {\n return hour + 12;\n }\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ਰਾਤ';\n } else if (hour < 10) {\n return 'ਸਵੇਰ';\n } else if (hour < 17) {\n return 'ਦੁਪਹਿਰ';\n } else if (hour < 20) {\n return 'ਸ਼ਾਮ';\n } else {\n return 'ਰਾਤ';\n }\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return paIn;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var nn = moment.defineLocale('nn', {\n months : 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split('_'),\n monthsShort : 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'),\n weekdays : 'sundag_måndag_tysdag_onsdag_torsdag_fredag_laurdag'.split('_'),\n weekdaysShort : 'sun_mån_tys_ons_tor_fre_lau'.split('_'),\n weekdaysMin : 'su_må_ty_on_to_fr_lø'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY [kl.] H:mm',\n LLLL : 'dddd D. MMMM YYYY [kl.] HH:mm'\n },\n calendar : {\n sameDay: '[I dag klokka] LT',\n nextDay: '[I morgon klokka] LT',\n nextWeek: 'dddd [klokka] LT',\n lastDay: '[I går klokka] LT',\n lastWeek: '[Føregåande] dddd [klokka] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'om %s',\n past : '%s sidan',\n s : 'nokre sekund',\n ss : '%d sekund',\n m : 'eit minutt',\n mm : '%d minutt',\n h : 'ein time',\n hh : '%d timar',\n d : 'ein dag',\n dd : '%d dagar',\n M : 'ein månad',\n MM : '%d månader',\n y : 'eit år',\n yy : '%d år'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return nn;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var monthsShortWithDots = 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'),\n monthsShortWithoutDots = 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_');\n\n var monthsParse = [/^jan/i, /^feb/i, /^maart|mrt.?$/i, /^apr/i, /^mei$/i, /^jun[i.]?$/i, /^jul[i.]?$/i, /^aug/i, /^sep/i, /^okt/i, /^nov/i, /^dec/i];\n var monthsRegex = /^(januari|februari|maart|april|mei|april|ju[nl]i|augustus|september|oktober|november|december|jan\\.?|feb\\.?|mrt\\.?|apr\\.?|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i;\n\n var nlBe = moment.defineLocale('nl-be', {\n months : 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split('_'),\n monthsShort : function (m, format) {\n if (!m) {\n return monthsShortWithDots;\n } else if (/-MMM-/.test(format)) {\n return monthsShortWithoutDots[m.month()];\n } else {\n return monthsShortWithDots[m.month()];\n }\n },\n\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: /^(januari|februari|maart|mei|ju[nl]i|april|augustus|september|oktober|november|december)/i,\n monthsShortStrictRegex: /^(jan\\.?|feb\\.?|mrt\\.?|apr\\.?|mei|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i,\n\n monthsParse : monthsParse,\n longMonthsParse : monthsParse,\n shortMonthsParse : monthsParse,\n\n weekdays : 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split('_'),\n weekdaysShort : 'zo._ma._di._wo._do._vr._za.'.split('_'),\n weekdaysMin : 'zo_ma_di_wo_do_vr_za'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[vandaag om] LT',\n nextDay: '[morgen om] LT',\n nextWeek: 'dddd [om] LT',\n lastDay: '[gisteren om] LT',\n lastWeek: '[afgelopen] dddd [om] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'over %s',\n past : '%s geleden',\n s : 'een paar seconden',\n ss : '%d seconden',\n m : 'één minuut',\n mm : '%d minuten',\n h : 'één uur',\n hh : '%d uur',\n d : 'één dag',\n dd : '%d dagen',\n M : 'één maand',\n MM : '%d maanden',\n y : 'één jaar',\n yy : '%d jaar'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n ordinal : function (number) {\n return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de');\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return nlBe;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var monthsShortWithDots = 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'),\n monthsShortWithoutDots = 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_');\n\n var monthsParse = [/^jan/i, /^feb/i, /^maart|mrt.?$/i, /^apr/i, /^mei$/i, /^jun[i.]?$/i, /^jul[i.]?$/i, /^aug/i, /^sep/i, /^okt/i, /^nov/i, /^dec/i];\n var monthsRegex = /^(januari|februari|maart|april|mei|april|ju[nl]i|augustus|september|oktober|november|december|jan\\.?|feb\\.?|mrt\\.?|apr\\.?|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i;\n\n var nl = moment.defineLocale('nl', {\n months : 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split('_'),\n monthsShort : function (m, format) {\n if (!m) {\n return monthsShortWithDots;\n } else if (/-MMM-/.test(format)) {\n return monthsShortWithoutDots[m.month()];\n } else {\n return monthsShortWithDots[m.month()];\n }\n },\n\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: /^(januari|februari|maart|mei|ju[nl]i|april|augustus|september|oktober|november|december)/i,\n monthsShortStrictRegex: /^(jan\\.?|feb\\.?|mrt\\.?|apr\\.?|mei|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i,\n\n monthsParse : monthsParse,\n longMonthsParse : monthsParse,\n shortMonthsParse : monthsParse,\n\n weekdays : 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split('_'),\n weekdaysShort : 'zo._ma._di._wo._do._vr._za.'.split('_'),\n weekdaysMin : 'zo_ma_di_wo_do_vr_za'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD-MM-YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[vandaag om] LT',\n nextDay: '[morgen om] LT',\n nextWeek: 'dddd [om] LT',\n lastDay: '[gisteren om] LT',\n lastWeek: '[afgelopen] dddd [om] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'over %s',\n past : '%s geleden',\n s : 'een paar seconden',\n ss : '%d seconden',\n m : 'één minuut',\n mm : '%d minuten',\n h : 'één uur',\n hh : '%d uur',\n d : 'één dag',\n dd : '%d dagen',\n M : 'één maand',\n MM : '%d maanden',\n y : 'één jaar',\n yy : '%d jaar'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n ordinal : function (number) {\n return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de');\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return nl;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '१',\n '2': '२',\n '3': '३',\n '4': '४',\n '5': '५',\n '6': '६',\n '7': '७',\n '8': '८',\n '9': '९',\n '0': '०'\n },\n numberMap = {\n '१': '1',\n '२': '2',\n '३': '3',\n '४': '4',\n '५': '5',\n '६': '6',\n '७': '7',\n '८': '8',\n '९': '9',\n '०': '0'\n };\n\n var ne = moment.defineLocale('ne', {\n months : 'जनवरी_फेब्रुवरी_मार्च_अप्रिल_मई_जुन_जुलाई_अगष्ट_सेप्टेम्बर_अक्टोबर_नोभेम्बर_डिसेम्बर'.split('_'),\n monthsShort : 'जन._फेब्रु._मार्च_अप्रि._मई_जुन_जुलाई._अग._सेप्ट._अक्टो._नोभे._डिसे.'.split('_'),\n monthsParseExact : true,\n weekdays : 'आइतबार_सोमबार_मङ्गलबार_बुधबार_बिहिबार_शुक्रबार_शनिबार'.split('_'),\n weekdaysShort : 'आइत._सोम._मङ्गल._बुध._बिहि._शुक्र._शनि.'.split('_'),\n weekdaysMin : 'आ._सो._मं._बु._बि._शु._श.'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'Aको h:mm बजे',\n LTS : 'Aको h:mm:ss बजे',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, Aको h:mm बजे',\n LLLL : 'dddd, D MMMM YYYY, Aको h:mm बजे'\n },\n preparse: function (string) {\n return string.replace(/[१२३४५६७८९०]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /राति|बिहान|दिउँसो|साँझ/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'राति') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'बिहान') {\n return hour;\n } else if (meridiem === 'दिउँसो') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'साँझ') {\n return hour + 12;\n }\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 3) {\n return 'राति';\n } else if (hour < 12) {\n return 'बिहान';\n } else if (hour < 16) {\n return 'दिउँसो';\n } else if (hour < 20) {\n return 'साँझ';\n } else {\n return 'राति';\n }\n },\n calendar : {\n sameDay : '[आज] LT',\n nextDay : '[भोलि] LT',\n nextWeek : '[आउँदो] dddd[,] LT',\n lastDay : '[हिजो] LT',\n lastWeek : '[गएको] dddd[,] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%sमा',\n past : '%s अगाडि',\n s : 'केही क्षण',\n ss : '%d सेकेण्ड',\n m : 'एक मिनेट',\n mm : '%d मिनेट',\n h : 'एक घण्टा',\n hh : '%d घण्टा',\n d : 'एक दिन',\n dd : '%d दिन',\n M : 'एक महिना',\n MM : '%d महिना',\n y : 'एक बर्ष',\n yy : '%d बर्ष'\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return ne;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var nb = moment.defineLocale('nb', {\n months : 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split('_'),\n monthsShort : 'jan._feb._mars_april_mai_juni_juli_aug._sep._okt._nov._des.'.split('_'),\n monthsParseExact : true,\n weekdays : 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),\n weekdaysShort : 'sø._ma._ti._on._to._fr._lø.'.split('_'),\n weekdaysMin : 'sø_ma_ti_on_to_fr_lø'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY [kl.] HH:mm',\n LLLL : 'dddd D. MMMM YYYY [kl.] HH:mm'\n },\n calendar : {\n sameDay: '[i dag kl.] LT',\n nextDay: '[i morgen kl.] LT',\n nextWeek: 'dddd [kl.] LT',\n lastDay: '[i går kl.] LT',\n lastWeek: '[forrige] dddd [kl.] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'om %s',\n past : '%s siden',\n s : 'noen sekunder',\n ss : '%d sekunder',\n m : 'ett minutt',\n mm : '%d minutter',\n h : 'en time',\n hh : '%d timer',\n d : 'en dag',\n dd : '%d dager',\n M : 'en måned',\n MM : '%d måneder',\n y : 'ett år',\n yy : '%d år'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return nb;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '၁',\n '2': '၂',\n '3': '၃',\n '4': '၄',\n '5': '၅',\n '6': '၆',\n '7': '၇',\n '8': '၈',\n '9': '၉',\n '0': '၀'\n }, numberMap = {\n '၁': '1',\n '၂': '2',\n '၃': '3',\n '၄': '4',\n '၅': '5',\n '၆': '6',\n '၇': '7',\n '၈': '8',\n '၉': '9',\n '၀': '0'\n };\n\n var my = moment.defineLocale('my', {\n months: 'ဇန်နဝါရီ_ဖေဖော်ဝါရီ_မတ်_ဧပြီ_မေ_ဇွန်_ဇူလိုင်_သြဂုတ်_စက်တင်ဘာ_အောက်တိုဘာ_နိုဝင်ဘာ_ဒီဇင်ဘာ'.split('_'),\n monthsShort: 'ဇန်_ဖေ_မတ်_ပြီ_မေ_ဇွန်_လိုင်_သြ_စက်_အောက်_နို_ဒီ'.split('_'),\n weekdays: 'တနင်္ဂနွေ_တနင်္လာ_အင်္ဂါ_ဗုဒ္ဓဟူး_ကြာသပတေး_သောကြာ_စနေ'.split('_'),\n weekdaysShort: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'),\n weekdaysMin: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'),\n\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[ယနေ.] LT [မှာ]',\n nextDay: '[မနက်ဖြန်] LT [မှာ]',\n nextWeek: 'dddd LT [မှာ]',\n lastDay: '[မနေ.က] LT [မှာ]',\n lastWeek: '[ပြီးခဲ့သော] dddd LT [မှာ]',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'လာမည့် %s မှာ',\n past: 'လွန်ခဲ့သော %s က',\n s: 'စက္ကန်.အနည်းငယ်',\n ss : '%d စက္ကန့်',\n m: 'တစ်မိနစ်',\n mm: '%d မိနစ်',\n h: 'တစ်နာရီ',\n hh: '%d နာရီ',\n d: 'တစ်ရက်',\n dd: '%d ရက်',\n M: 'တစ်လ',\n MM: '%d လ',\n y: 'တစ်နှစ်',\n yy: '%d နှစ်'\n },\n preparse: function (string) {\n return string.replace(/[၁၂၃၄၅၆၇၈၉၀]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return my;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var mt = moment.defineLocale('mt', {\n months : 'Jannar_Frar_Marzu_April_Mejju_Ġunju_Lulju_Awwissu_Settembru_Ottubru_Novembru_Diċembru'.split('_'),\n monthsShort : 'Jan_Fra_Mar_Apr_Mej_Ġun_Lul_Aww_Set_Ott_Nov_Diċ'.split('_'),\n weekdays : 'Il-Ħadd_It-Tnejn_It-Tlieta_L-Erbgħa_Il-Ħamis_Il-Ġimgħa_Is-Sibt'.split('_'),\n weekdaysShort : 'Ħad_Tne_Tli_Erb_Ħam_Ġim_Sib'.split('_'),\n weekdaysMin : 'Ħa_Tn_Tl_Er_Ħa_Ġi_Si'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Illum fil-]LT',\n nextDay : '[Għada fil-]LT',\n nextWeek : 'dddd [fil-]LT',\n lastDay : '[Il-bieraħ fil-]LT',\n lastWeek : 'dddd [li għadda] [fil-]LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'f’ %s',\n past : '%s ilu',\n s : 'ftit sekondi',\n ss : '%d sekondi',\n m : 'minuta',\n mm : '%d minuti',\n h : 'siegħa',\n hh : '%d siegħat',\n d : 'ġurnata',\n dd : '%d ġranet',\n M : 'xahar',\n MM : '%d xhur',\n y : 'sena',\n yy : '%d sni'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}º/,\n ordinal: '%dº',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return mt;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var msMy = moment.defineLocale('ms-my', {\n months : 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split('_'),\n monthsShort : 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'),\n weekdays : 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'),\n weekdaysShort : 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'),\n weekdaysMin : 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'),\n longDateFormat : {\n LT : 'HH.mm',\n LTS : 'HH.mm.ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY [pukul] HH.mm',\n LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm'\n },\n meridiemParse: /pagi|tengahari|petang|malam/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'pagi') {\n return hour;\n } else if (meridiem === 'tengahari') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'petang' || meridiem === 'malam') {\n return hour + 12;\n }\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'pagi';\n } else if (hours < 15) {\n return 'tengahari';\n } else if (hours < 19) {\n return 'petang';\n } else {\n return 'malam';\n }\n },\n calendar : {\n sameDay : '[Hari ini pukul] LT',\n nextDay : '[Esok pukul] LT',\n nextWeek : 'dddd [pukul] LT',\n lastDay : '[Kelmarin pukul] LT',\n lastWeek : 'dddd [lepas pukul] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'dalam %s',\n past : '%s yang lepas',\n s : 'beberapa saat',\n ss : '%d saat',\n m : 'seminit',\n mm : '%d minit',\n h : 'sejam',\n hh : '%d jam',\n d : 'sehari',\n dd : '%d hari',\n M : 'sebulan',\n MM : '%d bulan',\n y : 'setahun',\n yy : '%d tahun'\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return msMy;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var ms = moment.defineLocale('ms', {\n months : 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split('_'),\n monthsShort : 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'),\n weekdays : 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'),\n weekdaysShort : 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'),\n weekdaysMin : 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'),\n longDateFormat : {\n LT : 'HH.mm',\n LTS : 'HH.mm.ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY [pukul] HH.mm',\n LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm'\n },\n meridiemParse: /pagi|tengahari|petang|malam/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'pagi') {\n return hour;\n } else if (meridiem === 'tengahari') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'petang' || meridiem === 'malam') {\n return hour + 12;\n }\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'pagi';\n } else if (hours < 15) {\n return 'tengahari';\n } else if (hours < 19) {\n return 'petang';\n } else {\n return 'malam';\n }\n },\n calendar : {\n sameDay : '[Hari ini pukul] LT',\n nextDay : '[Esok pukul] LT',\n nextWeek : 'dddd [pukul] LT',\n lastDay : '[Kelmarin pukul] LT',\n lastWeek : 'dddd [lepas pukul] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'dalam %s',\n past : '%s yang lepas',\n s : 'beberapa saat',\n ss : '%d saat',\n m : 'seminit',\n mm : '%d minit',\n h : 'sejam',\n hh : '%d jam',\n d : 'sehari',\n dd : '%d hari',\n M : 'sebulan',\n MM : '%d bulan',\n y : 'setahun',\n yy : '%d tahun'\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return ms;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '१',\n '2': '२',\n '3': '३',\n '4': '४',\n '5': '५',\n '6': '६',\n '7': '७',\n '8': '८',\n '9': '९',\n '0': '०'\n },\n numberMap = {\n '१': '1',\n '२': '2',\n '३': '3',\n '४': '4',\n '५': '5',\n '६': '6',\n '७': '7',\n '८': '8',\n '९': '9',\n '०': '0'\n };\n\n function relativeTimeMr(number, withoutSuffix, string, isFuture)\n {\n var output = '';\n if (withoutSuffix) {\n switch (string) {\n case 's': output = 'काही सेकंद'; break;\n case 'ss': output = '%d सेकंद'; break;\n case 'm': output = 'एक मिनिट'; break;\n case 'mm': output = '%d मिनिटे'; break;\n case 'h': output = 'एक तास'; break;\n case 'hh': output = '%d तास'; break;\n case 'd': output = 'एक दिवस'; break;\n case 'dd': output = '%d दिवस'; break;\n case 'M': output = 'एक महिना'; break;\n case 'MM': output = '%d महिने'; break;\n case 'y': output = 'एक वर्ष'; break;\n case 'yy': output = '%d वर्षे'; break;\n }\n }\n else {\n switch (string) {\n case 's': output = 'काही सेकंदां'; break;\n case 'ss': output = '%d सेकंदां'; break;\n case 'm': output = 'एका मिनिटा'; break;\n case 'mm': output = '%d मिनिटां'; break;\n case 'h': output = 'एका तासा'; break;\n case 'hh': output = '%d तासां'; break;\n case 'd': output = 'एका दिवसा'; break;\n case 'dd': output = '%d दिवसां'; break;\n case 'M': output = 'एका महिन्या'; break;\n case 'MM': output = '%d महिन्यां'; break;\n case 'y': output = 'एका वर्षा'; break;\n case 'yy': output = '%d वर्षां'; break;\n }\n }\n return output.replace(/%d/i, number);\n }\n\n var mr = moment.defineLocale('mr', {\n months : 'जानेवारी_फेब्रुवारी_मार्च_एप्रिल_मे_जून_जुलै_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर'.split('_'),\n monthsShort: 'जाने._फेब्रु._मार्च._एप्रि._मे._जून._जुलै._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.'.split('_'),\n monthsParseExact : true,\n weekdays : 'रविवार_सोमवार_मंगळवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'),\n weekdaysShort : 'रवि_सोम_मंगळ_बुध_गुरू_शुक्र_शनि'.split('_'),\n weekdaysMin : 'र_सो_मं_बु_गु_शु_श'.split('_'),\n longDateFormat : {\n LT : 'A h:mm वाजता',\n LTS : 'A h:mm:ss वाजता',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, A h:mm वाजता',\n LLLL : 'dddd, D MMMM YYYY, A h:mm वाजता'\n },\n calendar : {\n sameDay : '[आज] LT',\n nextDay : '[उद्या] LT',\n nextWeek : 'dddd, LT',\n lastDay : '[काल] LT',\n lastWeek: '[मागील] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future: '%sमध्ये',\n past: '%sपूर्वी',\n s: relativeTimeMr,\n ss: relativeTimeMr,\n m: relativeTimeMr,\n mm: relativeTimeMr,\n h: relativeTimeMr,\n hh: relativeTimeMr,\n d: relativeTimeMr,\n dd: relativeTimeMr,\n M: relativeTimeMr,\n MM: relativeTimeMr,\n y: relativeTimeMr,\n yy: relativeTimeMr\n },\n preparse: function (string) {\n return string.replace(/[१२३४५६७८९०]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /रात्री|सकाळी|दुपारी|सायंकाळी/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'रात्री') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'सकाळी') {\n return hour;\n } else if (meridiem === 'दुपारी') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'सायंकाळी') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'रात्री';\n } else if (hour < 10) {\n return 'सकाळी';\n } else if (hour < 17) {\n return 'दुपारी';\n } else if (hour < 20) {\n return 'सायंकाळी';\n } else {\n return 'रात्री';\n }\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return mr;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function translate(number, withoutSuffix, key, isFuture) {\n switch (key) {\n case 's':\n return withoutSuffix ? 'хэдхэн секунд' : 'хэдхэн секундын';\n case 'ss':\n return number + (withoutSuffix ? ' секунд' : ' секундын');\n case 'm':\n case 'mm':\n return number + (withoutSuffix ? ' минут' : ' минутын');\n case 'h':\n case 'hh':\n return number + (withoutSuffix ? ' цаг' : ' цагийн');\n case 'd':\n case 'dd':\n return number + (withoutSuffix ? ' өдөр' : ' өдрийн');\n case 'M':\n case 'MM':\n return number + (withoutSuffix ? ' сар' : ' сарын');\n case 'y':\n case 'yy':\n return number + (withoutSuffix ? ' жил' : ' жилийн');\n default:\n return number;\n }\n }\n\n var mn = moment.defineLocale('mn', {\n months : 'Нэгдүгээр сар_Хоёрдугаар сар_Гуравдугаар сар_Дөрөвдүгээр сар_Тавдугаар сар_Зургадугаар сар_Долдугаар сар_Наймдугаар сар_Есдүгээр сар_Аравдугаар сар_Арван нэгдүгээр сар_Арван хоёрдугаар сар'.split('_'),\n monthsShort : '1 сар_2 сар_3 сар_4 сар_5 сар_6 сар_7 сар_8 сар_9 сар_10 сар_11 сар_12 сар'.split('_'),\n monthsParseExact : true,\n weekdays : 'Ням_Даваа_Мягмар_Лхагва_Пүрэв_Баасан_Бямба'.split('_'),\n weekdaysShort : 'Ням_Дав_Мяг_Лха_Пүр_Баа_Бям'.split('_'),\n weekdaysMin : 'Ня_Да_Мя_Лх_Пү_Ба_Бя'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY-MM-DD',\n LL : 'YYYY оны MMMMын D',\n LLL : 'YYYY оны MMMMын D HH:mm',\n LLLL : 'dddd, YYYY оны MMMMын D HH:mm'\n },\n meridiemParse: /ҮӨ|ҮХ/i,\n isPM : function (input) {\n return input === 'ҮХ';\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ҮӨ';\n } else {\n return 'ҮХ';\n }\n },\n calendar : {\n sameDay : '[Өнөөдөр] LT',\n nextDay : '[Маргааш] LT',\n nextWeek : '[Ирэх] dddd LT',\n lastDay : '[Өчигдөр] LT',\n lastWeek : '[Өнгөрсөн] dddd LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s дараа',\n past : '%s өмнө',\n s : translate,\n ss : translate,\n m : translate,\n mm : translate,\n h : translate,\n hh : translate,\n d : translate,\n dd : translate,\n M : translate,\n MM : translate,\n y : translate,\n yy : translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2} өдөр/,\n ordinal : function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + ' өдөр';\n default:\n return number;\n }\n }\n });\n\n return mn;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var ml = moment.defineLocale('ml', {\n months : 'ജനുവരി_ഫെബ്രുവരി_മാർച്ച്_ഏപ്രിൽ_മേയ്_ജൂൺ_ജൂലൈ_ഓഗസ്റ്റ്_സെപ്റ്റംബർ_ഒക്ടോബർ_നവംബർ_ഡിസംബർ'.split('_'),\n monthsShort : 'ജനു._ഫെബ്രു._മാർ._ഏപ്രി._മേയ്_ജൂൺ_ജൂലൈ._ഓഗ._സെപ്റ്റ._ഒക്ടോ._നവം._ഡിസം.'.split('_'),\n monthsParseExact : true,\n weekdays : 'ഞായറാഴ്ച_തിങ്കളാഴ്ച_ചൊവ്വാഴ്ച_ബുധനാഴ്ച_വ്യാഴാഴ്ച_വെള്ളിയാഴ്ച_ശനിയാഴ്ച'.split('_'),\n weekdaysShort : 'ഞായർ_തിങ്കൾ_ചൊവ്വ_ബുധൻ_വ്യാഴം_വെള്ളി_ശനി'.split('_'),\n weekdaysMin : 'ഞാ_തി_ചൊ_ബു_വ്യാ_വെ_ശ'.split('_'),\n longDateFormat : {\n LT : 'A h:mm -നു',\n LTS : 'A h:mm:ss -നു',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, A h:mm -നു',\n LLLL : 'dddd, D MMMM YYYY, A h:mm -നു'\n },\n calendar : {\n sameDay : '[ഇന്ന്] LT',\n nextDay : '[നാളെ] LT',\n nextWeek : 'dddd, LT',\n lastDay : '[ഇന്നലെ] LT',\n lastWeek : '[കഴിഞ്ഞ] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s കഴിഞ്ഞ്',\n past : '%s മുൻപ്',\n s : 'അൽപ നിമിഷങ്ങൾ',\n ss : '%d സെക്കൻഡ്',\n m : 'ഒരു മിനിറ്റ്',\n mm : '%d മിനിറ്റ്',\n h : 'ഒരു മണിക്കൂർ',\n hh : '%d മണിക്കൂർ',\n d : 'ഒരു ദിവസം',\n dd : '%d ദിവസം',\n M : 'ഒരു മാസം',\n MM : '%d മാസം',\n y : 'ഒരു വർഷം',\n yy : '%d വർഷം'\n },\n meridiemParse: /രാത്രി|രാവിലെ|ഉച്ച കഴിഞ്ഞ്|വൈകുന്നേരം|രാത്രി/i,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if ((meridiem === 'രാത്രി' && hour >= 4) ||\n meridiem === 'ഉച്ച കഴിഞ്ഞ്' ||\n meridiem === 'വൈകുന്നേരം') {\n return hour + 12;\n } else {\n return hour;\n }\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'രാത്രി';\n } else if (hour < 12) {\n return 'രാവിലെ';\n } else if (hour < 17) {\n return 'ഉച്ച കഴിഞ്ഞ്';\n } else if (hour < 20) {\n return 'വൈകുന്നേരം';\n } else {\n return 'രാത്രി';\n }\n }\n });\n\n return ml;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var mk = moment.defineLocale('mk', {\n months : 'јануари_февруари_март_април_мај_јуни_јули_август_септември_октомври_ноември_декември'.split('_'),\n monthsShort : 'јан_фев_мар_апр_мај_јун_јул_авг_сеп_окт_ное_дек'.split('_'),\n weekdays : 'недела_понеделник_вторник_среда_четврток_петок_сабота'.split('_'),\n weekdaysShort : 'нед_пон_вто_сре_чет_пет_саб'.split('_'),\n weekdaysMin : 'нe_пo_вт_ср_че_пе_сa'.split('_'),\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'D.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY H:mm',\n LLLL : 'dddd, D MMMM YYYY H:mm'\n },\n calendar : {\n sameDay : '[Денес во] LT',\n nextDay : '[Утре во] LT',\n nextWeek : '[Во] dddd [во] LT',\n lastDay : '[Вчера во] LT',\n lastWeek : function () {\n switch (this.day()) {\n case 0:\n case 3:\n case 6:\n return '[Изминатата] dddd [во] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[Изминатиот] dddd [во] LT';\n }\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'после %s',\n past : 'пред %s',\n s : 'неколку секунди',\n ss : '%d секунди',\n m : 'минута',\n mm : '%d минути',\n h : 'час',\n hh : '%d часа',\n d : 'ден',\n dd : '%d дена',\n M : 'месец',\n MM : '%d месеци',\n y : 'година',\n yy : '%d години'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ев|ен|ти|ви|ри|ми)/,\n ordinal : function (number) {\n var lastDigit = number % 10,\n last2Digits = number % 100;\n if (number === 0) {\n return number + '-ев';\n } else if (last2Digits === 0) {\n return number + '-ен';\n } else if (last2Digits > 10 && last2Digits < 20) {\n return number + '-ти';\n } else if (lastDigit === 1) {\n return number + '-ви';\n } else if (lastDigit === 2) {\n return number + '-ри';\n } else if (lastDigit === 7 || lastDigit === 8) {\n return number + '-ми';\n } else {\n return number + '-ти';\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return mk;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var mi = moment.defineLocale('mi', {\n months: 'Kohi-tāte_Hui-tanguru_Poutū-te-rangi_Paenga-whāwhā_Haratua_Pipiri_Hōngoingoi_Here-turi-kōkā_Mahuru_Whiringa-ā-nuku_Whiringa-ā-rangi_Hakihea'.split('_'),\n monthsShort: 'Kohi_Hui_Pou_Pae_Hara_Pipi_Hōngoi_Here_Mahu_Whi-nu_Whi-ra_Haki'.split('_'),\n monthsRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,\n monthsStrictRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,\n monthsShortRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,\n monthsShortStrictRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,2}/i,\n weekdays: 'Rātapu_Mane_Tūrei_Wenerei_Tāite_Paraire_Hātarei'.split('_'),\n weekdaysShort: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'),\n weekdaysMin: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY [i] HH:mm',\n LLLL: 'dddd, D MMMM YYYY [i] HH:mm'\n },\n calendar: {\n sameDay: '[i teie mahana, i] LT',\n nextDay: '[apopo i] LT',\n nextWeek: 'dddd [i] LT',\n lastDay: '[inanahi i] LT',\n lastWeek: 'dddd [whakamutunga i] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'i roto i %s',\n past: '%s i mua',\n s: 'te hēkona ruarua',\n ss: '%d hēkona',\n m: 'he meneti',\n mm: '%d meneti',\n h: 'te haora',\n hh: '%d haora',\n d: 'he ra',\n dd: '%d ra',\n M: 'he marama',\n MM: '%d marama',\n y: 'he tau',\n yy: '%d tau'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return mi;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var translator = {\n words: { //Different grammatical cases\n ss: ['sekund', 'sekunda', 'sekundi'],\n m: ['jedan minut', 'jednog minuta'],\n mm: ['minut', 'minuta', 'minuta'],\n h: ['jedan sat', 'jednog sata'],\n hh: ['sat', 'sata', 'sati'],\n dd: ['dan', 'dana', 'dana'],\n MM: ['mjesec', 'mjeseca', 'mjeseci'],\n yy: ['godina', 'godine', 'godina']\n },\n correctGrammaticalCase: function (number, wordKey) {\n return number === 1 ? wordKey[0] : (number >= 2 && number <= 4 ? wordKey[1] : wordKey[2]);\n },\n translate: function (number, withoutSuffix, key) {\n var wordKey = translator.words[key];\n if (key.length === 1) {\n return withoutSuffix ? wordKey[0] : wordKey[1];\n } else {\n return number + ' ' + translator.correctGrammaticalCase(number, wordKey);\n }\n }\n };\n\n var me = moment.defineLocale('me', {\n months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split('_'),\n monthsShort: 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split('_'),\n monthsParseExact : true,\n weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split('_'),\n weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact : true,\n longDateFormat: {\n LT: 'H:mm',\n LTS : 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd, D. MMMM YYYY H:mm'\n },\n calendar: {\n sameDay: '[danas u] LT',\n nextDay: '[sjutra u] LT',\n\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[u] [nedjelju] [u] LT';\n case 3:\n return '[u] [srijedu] [u] LT';\n case 6:\n return '[u] [subotu] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay : '[juče u] LT',\n lastWeek : function () {\n var lastWeekDays = [\n '[prošle] [nedjelje] [u] LT',\n '[prošlog] [ponedjeljka] [u] LT',\n '[prošlog] [utorka] [u] LT',\n '[prošle] [srijede] [u] LT',\n '[prošlog] [četvrtka] [u] LT',\n '[prošlog] [petka] [u] LT',\n '[prošle] [subote] [u] LT'\n ];\n return lastWeekDays[this.day()];\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'za %s',\n past : 'prije %s',\n s : 'nekoliko sekundi',\n ss : translator.translate,\n m : translator.translate,\n mm : translator.translate,\n h : translator.translate,\n hh : translator.translate,\n d : 'dan',\n dd : translator.translate,\n M : 'mjesec',\n MM : translator.translate,\n y : 'godinu',\n yy : translator.translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return me;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var units = {\n 'ss': 'sekundes_sekundēm_sekunde_sekundes'.split('_'),\n 'm': 'minūtes_minūtēm_minūte_minūtes'.split('_'),\n 'mm': 'minūtes_minūtēm_minūte_minūtes'.split('_'),\n 'h': 'stundas_stundām_stunda_stundas'.split('_'),\n 'hh': 'stundas_stundām_stunda_stundas'.split('_'),\n 'd': 'dienas_dienām_diena_dienas'.split('_'),\n 'dd': 'dienas_dienām_diena_dienas'.split('_'),\n 'M': 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'),\n 'MM': 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'),\n 'y': 'gada_gadiem_gads_gadi'.split('_'),\n 'yy': 'gada_gadiem_gads_gadi'.split('_')\n };\n /**\n * @param withoutSuffix boolean true = a length of time; false = before/after a period of time.\n */\n function format(forms, number, withoutSuffix) {\n if (withoutSuffix) {\n // E.g. \"21 minūte\", \"3 minūtes\".\n return number % 10 === 1 && number % 100 !== 11 ? forms[2] : forms[3];\n } else {\n // E.g. \"21 minūtes\" as in \"pēc 21 minūtes\".\n // E.g. \"3 minūtēm\" as in \"pēc 3 minūtēm\".\n return number % 10 === 1 && number % 100 !== 11 ? forms[0] : forms[1];\n }\n }\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n return number + ' ' + format(units[key], number, withoutSuffix);\n }\n function relativeTimeWithSingular(number, withoutSuffix, key) {\n return format(units[key], number, withoutSuffix);\n }\n function relativeSeconds(number, withoutSuffix) {\n return withoutSuffix ? 'dažas sekundes' : 'dažām sekundēm';\n }\n\n var lv = moment.defineLocale('lv', {\n months : 'janvāris_februāris_marts_aprīlis_maijs_jūnijs_jūlijs_augusts_septembris_oktobris_novembris_decembris'.split('_'),\n monthsShort : 'jan_feb_mar_apr_mai_jūn_jūl_aug_sep_okt_nov_dec'.split('_'),\n weekdays : 'svētdiena_pirmdiena_otrdiena_trešdiena_ceturtdiena_piektdiena_sestdiena'.split('_'),\n weekdaysShort : 'Sv_P_O_T_C_Pk_S'.split('_'),\n weekdaysMin : 'Sv_P_O_T_C_Pk_S'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY.',\n LL : 'YYYY. [gada] D. MMMM',\n LLL : 'YYYY. [gada] D. MMMM, HH:mm',\n LLLL : 'YYYY. [gada] D. MMMM, dddd, HH:mm'\n },\n calendar : {\n sameDay : '[Šodien pulksten] LT',\n nextDay : '[Rīt pulksten] LT',\n nextWeek : 'dddd [pulksten] LT',\n lastDay : '[Vakar pulksten] LT',\n lastWeek : '[Pagājušā] dddd [pulksten] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'pēc %s',\n past : 'pirms %s',\n s : relativeSeconds,\n ss : relativeTimeWithPlural,\n m : relativeTimeWithSingular,\n mm : relativeTimeWithPlural,\n h : relativeTimeWithSingular,\n hh : relativeTimeWithPlural,\n d : relativeTimeWithSingular,\n dd : relativeTimeWithPlural,\n M : relativeTimeWithSingular,\n MM : relativeTimeWithPlural,\n y : relativeTimeWithSingular,\n yy : relativeTimeWithPlural\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return lv;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var units = {\n 'ss' : 'sekundė_sekundžių_sekundes',\n 'm' : 'minutė_minutės_minutę',\n 'mm': 'minutės_minučių_minutes',\n 'h' : 'valanda_valandos_valandą',\n 'hh': 'valandos_valandų_valandas',\n 'd' : 'diena_dienos_dieną',\n 'dd': 'dienos_dienų_dienas',\n 'M' : 'mėnuo_mėnesio_mėnesį',\n 'MM': 'mėnesiai_mėnesių_mėnesius',\n 'y' : 'metai_metų_metus',\n 'yy': 'metai_metų_metus'\n };\n function translateSeconds(number, withoutSuffix, key, isFuture) {\n if (withoutSuffix) {\n return 'kelios sekundės';\n } else {\n return isFuture ? 'kelių sekundžių' : 'kelias sekundes';\n }\n }\n function translateSingular(number, withoutSuffix, key, isFuture) {\n return withoutSuffix ? forms(key)[0] : (isFuture ? forms(key)[1] : forms(key)[2]);\n }\n function special(number) {\n return number % 10 === 0 || (number > 10 && number < 20);\n }\n function forms(key) {\n return units[key].split('_');\n }\n function translate(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n if (number === 1) {\n return result + translateSingular(number, withoutSuffix, key[0], isFuture);\n } else if (withoutSuffix) {\n return result + (special(number) ? forms(key)[1] : forms(key)[0]);\n } else {\n if (isFuture) {\n return result + forms(key)[1];\n } else {\n return result + (special(number) ? forms(key)[1] : forms(key)[2]);\n }\n }\n }\n var lt = moment.defineLocale('lt', {\n months : {\n format: 'sausio_vasario_kovo_balandžio_gegužės_birželio_liepos_rugpjūčio_rugsėjo_spalio_lapkričio_gruodžio'.split('_'),\n standalone: 'sausis_vasaris_kovas_balandis_gegužė_birželis_liepa_rugpjūtis_rugsėjis_spalis_lapkritis_gruodis'.split('_'),\n isFormat: /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?|MMMM?(\\[[^\\[\\]]*\\]|\\s)+D[oD]?/\n },\n monthsShort : 'sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd'.split('_'),\n weekdays : {\n format: 'sekmadienį_pirmadienį_antradienį_trečiadienį_ketvirtadienį_penktadienį_šeštadienį'.split('_'),\n standalone: 'sekmadienis_pirmadienis_antradienis_trečiadienis_ketvirtadienis_penktadienis_šeštadienis'.split('_'),\n isFormat: /dddd HH:mm/\n },\n weekdaysShort : 'Sek_Pir_Ant_Tre_Ket_Pen_Šeš'.split('_'),\n weekdaysMin : 'S_P_A_T_K_Pn_Š'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY-MM-DD',\n LL : 'YYYY [m.] MMMM D [d.]',\n LLL : 'YYYY [m.] MMMM D [d.], HH:mm [val.]',\n LLLL : 'YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]',\n l : 'YYYY-MM-DD',\n ll : 'YYYY [m.] MMMM D [d.]',\n lll : 'YYYY [m.] MMMM D [d.], HH:mm [val.]',\n llll : 'YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]'\n },\n calendar : {\n sameDay : '[Šiandien] LT',\n nextDay : '[Rytoj] LT',\n nextWeek : 'dddd LT',\n lastDay : '[Vakar] LT',\n lastWeek : '[Praėjusį] dddd LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'po %s',\n past : 'prieš %s',\n s : translateSeconds,\n ss : translate,\n m : translateSingular,\n mm : translate,\n h : translateSingular,\n hh : translate,\n d : translateSingular,\n dd : translate,\n M : translateSingular,\n MM : translate,\n y : translateSingular,\n yy : translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-oji/,\n ordinal : function (number) {\n return number + '-oji';\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return lt;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var lo = moment.defineLocale('lo', {\n months : 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split('_'),\n monthsShort : 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split('_'),\n weekdays : 'ອາທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'),\n weekdaysShort : 'ທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'),\n weekdaysMin : 'ທ_ຈ_ອຄ_ພ_ພຫ_ສກ_ສ'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'ວັນdddd D MMMM YYYY HH:mm'\n },\n meridiemParse: /ຕອນເຊົ້າ|ຕອນແລງ/,\n isPM: function (input) {\n return input === 'ຕອນແລງ';\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ຕອນເຊົ້າ';\n } else {\n return 'ຕອນແລງ';\n }\n },\n calendar : {\n sameDay : '[ມື້ນີ້ເວລາ] LT',\n nextDay : '[ມື້ອື່ນເວລາ] LT',\n nextWeek : '[ວັນ]dddd[ໜ້າເວລາ] LT',\n lastDay : '[ມື້ວານນີ້ເວລາ] LT',\n lastWeek : '[ວັນ]dddd[ແລ້ວນີ້ເວລາ] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'ອີກ %s',\n past : '%sຜ່ານມາ',\n s : 'ບໍ່ເທົ່າໃດວິນາທີ',\n ss : '%d ວິນາທີ' ,\n m : '1 ນາທີ',\n mm : '%d ນາທີ',\n h : '1 ຊົ່ວໂມງ',\n hh : '%d ຊົ່ວໂມງ',\n d : '1 ມື້',\n dd : '%d ມື້',\n M : '1 ເດືອນ',\n MM : '%d ເດືອນ',\n y : '1 ປີ',\n yy : '%d ປີ'\n },\n dayOfMonthOrdinalParse: /(ທີ່)\\d{1,2}/,\n ordinal : function (number) {\n return 'ທີ່' + number;\n }\n });\n\n return lo;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n 'm': ['eng Minutt', 'enger Minutt'],\n 'h': ['eng Stonn', 'enger Stonn'],\n 'd': ['een Dag', 'engem Dag'],\n 'M': ['ee Mount', 'engem Mount'],\n 'y': ['ee Joer', 'engem Joer']\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n function processFutureTime(string) {\n var number = string.substr(0, string.indexOf(' '));\n if (eifelerRegelAppliesToNumber(number)) {\n return 'a ' + string;\n }\n return 'an ' + string;\n }\n function processPastTime(string) {\n var number = string.substr(0, string.indexOf(' '));\n if (eifelerRegelAppliesToNumber(number)) {\n return 'viru ' + string;\n }\n return 'virun ' + string;\n }\n /**\n * Returns true if the word before the given number loses the '-n' ending.\n * e.g. 'an 10 Deeg' but 'a 5 Deeg'\n *\n * @param number {integer}\n * @returns {boolean}\n */\n function eifelerRegelAppliesToNumber(number) {\n number = parseInt(number, 10);\n if (isNaN(number)) {\n return false;\n }\n if (number < 0) {\n // Negative Number --> always true\n return true;\n } else if (number < 10) {\n // Only 1 digit\n if (4 <= number && number <= 7) {\n return true;\n }\n return false;\n } else if (number < 100) {\n // 2 digits\n var lastDigit = number % 10, firstDigit = number / 10;\n if (lastDigit === 0) {\n return eifelerRegelAppliesToNumber(firstDigit);\n }\n return eifelerRegelAppliesToNumber(lastDigit);\n } else if (number < 10000) {\n // 3 or 4 digits --> recursively check first digit\n while (number >= 10) {\n number = number / 10;\n }\n return eifelerRegelAppliesToNumber(number);\n } else {\n // Anything larger than 4 digits: recursively check first n-3 digits\n number = number / 1000;\n return eifelerRegelAppliesToNumber(number);\n }\n }\n\n var lb = moment.defineLocale('lb', {\n months: 'Januar_Februar_Mäerz_Abrëll_Mee_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),\n monthsShort: 'Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.'.split('_'),\n monthsParseExact : true,\n weekdays: 'Sonndeg_Méindeg_Dënschdeg_Mëttwoch_Donneschdeg_Freideg_Samschdeg'.split('_'),\n weekdaysShort: 'So._Mé._Dë._Më._Do._Fr._Sa.'.split('_'),\n weekdaysMin: 'So_Mé_Dë_Më_Do_Fr_Sa'.split('_'),\n weekdaysParseExact : true,\n longDateFormat: {\n LT: 'H:mm [Auer]',\n LTS: 'H:mm:ss [Auer]',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm [Auer]',\n LLLL: 'dddd, D. MMMM YYYY H:mm [Auer]'\n },\n calendar: {\n sameDay: '[Haut um] LT',\n sameElse: 'L',\n nextDay: '[Muer um] LT',\n nextWeek: 'dddd [um] LT',\n lastDay: '[Gëschter um] LT',\n lastWeek: function () {\n // Different date string for 'Dënschdeg' (Tuesday) and 'Donneschdeg' (Thursday) due to phonological rule\n switch (this.day()) {\n case 2:\n case 4:\n return '[Leschten] dddd [um] LT';\n default:\n return '[Leschte] dddd [um] LT';\n }\n }\n },\n relativeTime : {\n future : processFutureTime,\n past : processPastTime,\n s : 'e puer Sekonnen',\n ss : '%d Sekonnen',\n m : processRelativeTime,\n mm : '%d Minutten',\n h : processRelativeTime,\n hh : '%d Stonnen',\n d : processRelativeTime,\n dd : '%d Deeg',\n M : processRelativeTime,\n MM : '%d Méint',\n y : processRelativeTime,\n yy : '%d Joer'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return lb;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var suffixes = {\n 0: '-чү',\n 1: '-чи',\n 2: '-чи',\n 3: '-чү',\n 4: '-чү',\n 5: '-чи',\n 6: '-чы',\n 7: '-чи',\n 8: '-чи',\n 9: '-чу',\n 10: '-чу',\n 20: '-чы',\n 30: '-чу',\n 40: '-чы',\n 50: '-чү',\n 60: '-чы',\n 70: '-чи',\n 80: '-чи',\n 90: '-чу',\n 100: '-чү'\n };\n\n var ky = moment.defineLocale('ky', {\n months : 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split('_'),\n monthsShort : 'янв_фев_март_апр_май_июнь_июль_авг_сен_окт_ноя_дек'.split('_'),\n weekdays : 'Жекшемби_Дүйшөмбү_Шейшемби_Шаршемби_Бейшемби_Жума_Ишемби'.split('_'),\n weekdaysShort : 'Жек_Дүй_Шей_Шар_Бей_Жум_Ише'.split('_'),\n weekdaysMin : 'Жк_Дй_Шй_Шр_Бй_Жм_Иш'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Бүгүн саат] LT',\n nextDay : '[Эртең саат] LT',\n nextWeek : 'dddd [саат] LT',\n lastDay : '[Кече саат] LT',\n lastWeek : '[Өткен аптанын] dddd [күнү] [саат] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s ичинде',\n past : '%s мурун',\n s : 'бирнече секунд',\n ss : '%d секунд',\n m : 'бир мүнөт',\n mm : '%d мүнөт',\n h : 'бир саат',\n hh : '%d саат',\n d : 'бир күн',\n dd : '%d күн',\n M : 'бир ай',\n MM : '%d ай',\n y : 'бир жыл',\n yy : '%d жыл'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(чи|чы|чү|чу)/,\n ordinal : function (number) {\n var a = number % 10,\n b = number >= 100 ? 100 : null;\n return number + (suffixes[number] || suffixes[a] || suffixes[b]);\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return ky;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var ko = moment.defineLocale('ko', {\n months : '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split('_'),\n monthsShort : '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split('_'),\n weekdays : '일요일_월요일_화요일_수요일_목요일_금요일_토요일'.split('_'),\n weekdaysShort : '일_월_화_수_목_금_토'.split('_'),\n weekdaysMin : '일_월_화_수_목_금_토'.split('_'),\n longDateFormat : {\n LT : 'A h:mm',\n LTS : 'A h:mm:ss',\n L : 'YYYY.MM.DD.',\n LL : 'YYYY년 MMMM D일',\n LLL : 'YYYY년 MMMM D일 A h:mm',\n LLLL : 'YYYY년 MMMM D일 dddd A h:mm',\n l : 'YYYY.MM.DD.',\n ll : 'YYYY년 MMMM D일',\n lll : 'YYYY년 MMMM D일 A h:mm',\n llll : 'YYYY년 MMMM D일 dddd A h:mm'\n },\n calendar : {\n sameDay : '오늘 LT',\n nextDay : '내일 LT',\n nextWeek : 'dddd LT',\n lastDay : '어제 LT',\n lastWeek : '지난주 dddd LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s 후',\n past : '%s 전',\n s : '몇 초',\n ss : '%d초',\n m : '1분',\n mm : '%d분',\n h : '한 시간',\n hh : '%d시간',\n d : '하루',\n dd : '%d일',\n M : '한 달',\n MM : '%d달',\n y : '일 년',\n yy : '%d년'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}(일|월|주)/,\n ordinal : function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '일';\n case 'M':\n return number + '월';\n case 'w':\n case 'W':\n return number + '주';\n default:\n return number;\n }\n },\n meridiemParse : /오전|오후/,\n isPM : function (token) {\n return token === '오후';\n },\n meridiem : function (hour, minute, isUpper) {\n return hour < 12 ? '오전' : '오후';\n }\n });\n\n return ko;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '೧',\n '2': '೨',\n '3': '೩',\n '4': '೪',\n '5': '೫',\n '6': '೬',\n '7': '೭',\n '8': '೮',\n '9': '೯',\n '0': '೦'\n },\n numberMap = {\n '೧': '1',\n '೨': '2',\n '೩': '3',\n '೪': '4',\n '೫': '5',\n '೬': '6',\n '೭': '7',\n '೮': '8',\n '೯': '9',\n '೦': '0'\n };\n\n var kn = moment.defineLocale('kn', {\n months : 'ಜನವರಿ_ಫೆಬ್ರವರಿ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂಬರ್_ಅಕ್ಟೋಬರ್_ನವೆಂಬರ್_ಡಿಸೆಂಬರ್'.split('_'),\n monthsShort : 'ಜನ_ಫೆಬ್ರ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂ_ಅಕ್ಟೋ_ನವೆಂ_ಡಿಸೆಂ'.split('_'),\n monthsParseExact: true,\n weekdays : 'ಭಾನುವಾರ_ಸೋಮವಾರ_ಮಂಗಳವಾರ_ಬುಧವಾರ_ಗುರುವಾರ_ಶುಕ್ರವಾರ_ಶನಿವಾರ'.split('_'),\n weekdaysShort : 'ಭಾನು_ಸೋಮ_ಮಂಗಳ_ಬುಧ_ಗುರು_ಶುಕ್ರ_ಶನಿ'.split('_'),\n weekdaysMin : 'ಭಾ_ಸೋ_ಮಂ_ಬು_ಗು_ಶು_ಶ'.split('_'),\n longDateFormat : {\n LT : 'A h:mm',\n LTS : 'A h:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, A h:mm',\n LLLL : 'dddd, D MMMM YYYY, A h:mm'\n },\n calendar : {\n sameDay : '[ಇಂದು] LT',\n nextDay : '[ನಾಳೆ] LT',\n nextWeek : 'dddd, LT',\n lastDay : '[ನಿನ್ನೆ] LT',\n lastWeek : '[ಕೊನೆಯ] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s ನಂತರ',\n past : '%s ಹಿಂದೆ',\n s : 'ಕೆಲವು ಕ್ಷಣಗಳು',\n ss : '%d ಸೆಕೆಂಡುಗಳು',\n m : 'ಒಂದು ನಿಮಿಷ',\n mm : '%d ನಿಮಿಷ',\n h : 'ಒಂದು ಗಂಟೆ',\n hh : '%d ಗಂಟೆ',\n d : 'ಒಂದು ದಿನ',\n dd : '%d ದಿನ',\n M : 'ಒಂದು ತಿಂಗಳು',\n MM : '%d ತಿಂಗಳು',\n y : 'ಒಂದು ವರ್ಷ',\n yy : '%d ವರ್ಷ'\n },\n preparse: function (string) {\n return string.replace(/[೧೨೩೪೫೬೭೮೯೦]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /ರಾತ್ರಿ|ಬೆಳಿಗ್ಗೆ|ಮಧ್ಯಾಹ್ನ|ಸಂಜೆ/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'ರಾತ್ರಿ') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'ಬೆಳಿಗ್ಗೆ') {\n return hour;\n } else if (meridiem === 'ಮಧ್ಯಾಹ್ನ') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'ಸಂಜೆ') {\n return hour + 12;\n }\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ರಾತ್ರಿ';\n } else if (hour < 10) {\n return 'ಬೆಳಿಗ್ಗೆ';\n } else if (hour < 17) {\n return 'ಮಧ್ಯಾಹ್ನ';\n } else if (hour < 20) {\n return 'ಸಂಜೆ';\n } else {\n return 'ರಾತ್ರಿ';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ನೇ)/,\n ordinal : function (number) {\n return number + 'ನೇ';\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return kn;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '១',\n '2': '២',\n '3': '៣',\n '4': '៤',\n '5': '៥',\n '6': '៦',\n '7': '៧',\n '8': '៨',\n '9': '៩',\n '0': '០'\n }, numberMap = {\n '១': '1',\n '២': '2',\n '៣': '3',\n '៤': '4',\n '៥': '5',\n '៦': '6',\n '៧': '7',\n '៨': '8',\n '៩': '9',\n '០': '0'\n };\n\n var km = moment.defineLocale('km', {\n months: 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split(\n '_'\n ),\n monthsShort: 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split(\n '_'\n ),\n weekdays: 'អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍'.split('_'),\n weekdaysShort: 'អា_ច_អ_ព_ព្រ_សុ_ស'.split('_'),\n weekdaysMin: 'អា_ច_អ_ព_ព្រ_សុ_ស'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n meridiemParse: /ព្រឹក|ល្ងាច/,\n isPM: function (input) {\n return input === 'ល្ងាច';\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ព្រឹក';\n } else {\n return 'ល្ងាច';\n }\n },\n calendar: {\n sameDay: '[ថ្ងៃនេះ ម៉ោង] LT',\n nextDay: '[ស្អែក ម៉ោង] LT',\n nextWeek: 'dddd [ម៉ោង] LT',\n lastDay: '[ម្សិលមិញ ម៉ោង] LT',\n lastWeek: 'dddd [សប្តាហ៍មុន] [ម៉ោង] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%sទៀត',\n past: '%sមុន',\n s: 'ប៉ុន្មានវិនាទី',\n ss: '%d វិនាទី',\n m: 'មួយនាទី',\n mm: '%d នាទី',\n h: 'មួយម៉ោង',\n hh: '%d ម៉ោង',\n d: 'មួយថ្ងៃ',\n dd: '%d ថ្ងៃ',\n M: 'មួយខែ',\n MM: '%d ខែ',\n y: 'មួយឆ្នាំ',\n yy: '%d ឆ្នាំ'\n },\n dayOfMonthOrdinalParse : /ទី\\d{1,2}/,\n ordinal : 'ទី%d',\n preparse: function (string) {\n return string.replace(/[១២៣៤៥៦៧៨៩០]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return km;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var suffixes = {\n 0: '-ші',\n 1: '-ші',\n 2: '-ші',\n 3: '-ші',\n 4: '-ші',\n 5: '-ші',\n 6: '-шы',\n 7: '-ші',\n 8: '-ші',\n 9: '-шы',\n 10: '-шы',\n 20: '-шы',\n 30: '-шы',\n 40: '-шы',\n 50: '-ші',\n 60: '-шы',\n 70: '-ші',\n 80: '-ші',\n 90: '-шы',\n 100: '-ші'\n };\n\n var kk = moment.defineLocale('kk', {\n months : 'қаңтар_ақпан_наурыз_сәуір_мамыр_маусым_шілде_тамыз_қыркүйек_қазан_қараша_желтоқсан'.split('_'),\n monthsShort : 'қаң_ақп_нау_сәу_мам_мау_шіл_там_қыр_қаз_қар_жел'.split('_'),\n weekdays : 'жексенбі_дүйсенбі_сейсенбі_сәрсенбі_бейсенбі_жұма_сенбі'.split('_'),\n weekdaysShort : 'жек_дүй_сей_сәр_бей_жұм_сен'.split('_'),\n weekdaysMin : 'жк_дй_сй_ср_бй_жм_сн'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Бүгін сағат] LT',\n nextDay : '[Ертең сағат] LT',\n nextWeek : 'dddd [сағат] LT',\n lastDay : '[Кеше сағат] LT',\n lastWeek : '[Өткен аптаның] dddd [сағат] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s ішінде',\n past : '%s бұрын',\n s : 'бірнеше секунд',\n ss : '%d секунд',\n m : 'бір минут',\n mm : '%d минут',\n h : 'бір сағат',\n hh : '%d сағат',\n d : 'бір күн',\n dd : '%d күн',\n M : 'бір ай',\n MM : '%d ай',\n y : 'бір жыл',\n yy : '%d жыл'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ші|шы)/,\n ordinal : function (number) {\n var a = number % 10,\n b = number >= 100 ? 100 : null;\n return number + (suffixes[number] || suffixes[a] || suffixes[b]);\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return kk;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var ka = moment.defineLocale('ka', {\n months : {\n standalone: 'იანვარი_თებერვალი_მარტი_აპრილი_მაისი_ივნისი_ივლისი_აგვისტო_სექტემბერი_ოქტომბერი_ნოემბერი_დეკემბერი'.split('_'),\n format: 'იანვარს_თებერვალს_მარტს_აპრილის_მაისს_ივნისს_ივლისს_აგვისტს_სექტემბერს_ოქტომბერს_ნოემბერს_დეკემბერს'.split('_')\n },\n monthsShort : 'იან_თებ_მარ_აპრ_მაი_ივნ_ივლ_აგვ_სექ_ოქტ_ნოე_დეკ'.split('_'),\n weekdays : {\n standalone: 'კვირა_ორშაბათი_სამშაბათი_ოთხშაბათი_ხუთშაბათი_პარასკევი_შაბათი'.split('_'),\n format: 'კვირას_ორშაბათს_სამშაბათს_ოთხშაბათს_ხუთშაბათს_პარასკევს_შაბათს'.split('_'),\n isFormat: /(წინა|შემდეგ)/\n },\n weekdaysShort : 'კვი_ორშ_სამ_ოთხ_ხუთ_პარ_შაბ'.split('_'),\n weekdaysMin : 'კვ_ორ_სა_ოთ_ხუ_პა_შა'.split('_'),\n longDateFormat : {\n LT : 'h:mm A',\n LTS : 'h:mm:ss A',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY h:mm A',\n LLLL : 'dddd, D MMMM YYYY h:mm A'\n },\n calendar : {\n sameDay : '[დღეს] LT[-ზე]',\n nextDay : '[ხვალ] LT[-ზე]',\n lastDay : '[გუშინ] LT[-ზე]',\n nextWeek : '[შემდეგ] dddd LT[-ზე]',\n lastWeek : '[წინა] dddd LT-ზე',\n sameElse : 'L'\n },\n relativeTime : {\n future : function (s) {\n return (/(წამი|წუთი|საათი|წელი)/).test(s) ?\n s.replace(/ი$/, 'ში') :\n s + 'ში';\n },\n past : function (s) {\n if ((/(წამი|წუთი|საათი|დღე|თვე)/).test(s)) {\n return s.replace(/(ი|ე)$/, 'ის წინ');\n }\n if ((/წელი/).test(s)) {\n return s.replace(/წელი$/, 'წლის წინ');\n }\n },\n s : 'რამდენიმე წამი',\n ss : '%d წამი',\n m : 'წუთი',\n mm : '%d წუთი',\n h : 'საათი',\n hh : '%d საათი',\n d : 'დღე',\n dd : '%d დღე',\n M : 'თვე',\n MM : '%d თვე',\n y : 'წელი',\n yy : '%d წელი'\n },\n dayOfMonthOrdinalParse: /0|1-ლი|მე-\\d{1,2}|\\d{1,2}-ე/,\n ordinal : function (number) {\n if (number === 0) {\n return number;\n }\n if (number === 1) {\n return number + '-ლი';\n }\n if ((number < 20) || (number <= 100 && (number % 20 === 0)) || (number % 100 === 0)) {\n return 'მე-' + number;\n }\n return number + '-ე';\n },\n week : {\n dow : 1,\n doy : 7\n }\n });\n\n return ka;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var jv = moment.defineLocale('jv', {\n months : 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember'.split('_'),\n monthsShort : 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des'.split('_'),\n weekdays : 'Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu'.split('_'),\n weekdaysShort : 'Min_Sen_Sel_Reb_Kem_Jem_Sep'.split('_'),\n weekdaysMin : 'Mg_Sn_Sl_Rb_Km_Jm_Sp'.split('_'),\n longDateFormat : {\n LT : 'HH.mm',\n LTS : 'HH.mm.ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY [pukul] HH.mm',\n LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm'\n },\n meridiemParse: /enjing|siyang|sonten|ndalu/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'enjing') {\n return hour;\n } else if (meridiem === 'siyang') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'sonten' || meridiem === 'ndalu') {\n return hour + 12;\n }\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'enjing';\n } else if (hours < 15) {\n return 'siyang';\n } else if (hours < 19) {\n return 'sonten';\n } else {\n return 'ndalu';\n }\n },\n calendar : {\n sameDay : '[Dinten puniko pukul] LT',\n nextDay : '[Mbenjang pukul] LT',\n nextWeek : 'dddd [pukul] LT',\n lastDay : '[Kala wingi pukul] LT',\n lastWeek : 'dddd [kepengker pukul] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'wonten ing %s',\n past : '%s ingkang kepengker',\n s : 'sawetawis detik',\n ss : '%d detik',\n m : 'setunggal menit',\n mm : '%d menit',\n h : 'setunggal jam',\n hh : '%d jam',\n d : 'sedinten',\n dd : '%d dinten',\n M : 'sewulan',\n MM : '%d wulan',\n y : 'setaun',\n yy : '%d taun'\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return jv;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var ja = moment.defineLocale('ja', {\n months : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n monthsShort : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n weekdays : '日曜日_月曜日_火曜日_水曜日_木曜日_金曜日_土曜日'.split('_'),\n weekdaysShort : '日_月_火_水_木_金_土'.split('_'),\n weekdaysMin : '日_月_火_水_木_金_土'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY/MM/DD',\n LL : 'YYYY年M月D日',\n LLL : 'YYYY年M月D日 HH:mm',\n LLLL : 'YYYY年M月D日 dddd HH:mm',\n l : 'YYYY/MM/DD',\n ll : 'YYYY年M月D日',\n lll : 'YYYY年M月D日 HH:mm',\n llll : 'YYYY年M月D日(ddd) HH:mm'\n },\n meridiemParse: /午前|午後/i,\n isPM : function (input) {\n return input === '午後';\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return '午前';\n } else {\n return '午後';\n }\n },\n calendar : {\n sameDay : '[今日] LT',\n nextDay : '[明日] LT',\n nextWeek : function (now) {\n if (now.week() < this.week()) {\n return '[来週]dddd LT';\n } else {\n return 'dddd LT';\n }\n },\n lastDay : '[昨日] LT',\n lastWeek : function (now) {\n if (this.week() < now.week()) {\n return '[先週]dddd LT';\n } else {\n return 'dddd LT';\n }\n },\n sameElse : 'L'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}日/,\n ordinal : function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '日';\n default:\n return number;\n }\n },\n relativeTime : {\n future : '%s後',\n past : '%s前',\n s : '数秒',\n ss : '%d秒',\n m : '1分',\n mm : '%d分',\n h : '1時間',\n hh : '%d時間',\n d : '1日',\n dd : '%d日',\n M : '1ヶ月',\n MM : '%dヶ月',\n y : '1年',\n yy : '%d年'\n }\n });\n\n return ja;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var it = moment.defineLocale('it', {\n months : 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split('_'),\n monthsShort : 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'),\n weekdays : 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split('_'),\n weekdaysShort : 'dom_lun_mar_mer_gio_ven_sab'.split('_'),\n weekdaysMin : 'do_lu_ma_me_gi_ve_sa'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[Oggi alle] LT',\n nextDay: '[Domani alle] LT',\n nextWeek: 'dddd [alle] LT',\n lastDay: '[Ieri alle] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[la scorsa] dddd [alle] LT';\n default:\n return '[lo scorso] dddd [alle] LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : function (s) {\n return ((/^[0-9].+$/).test(s) ? 'tra' : 'in') + ' ' + s;\n },\n past : '%s fa',\n s : 'alcuni secondi',\n ss : '%d secondi',\n m : 'un minuto',\n mm : '%d minuti',\n h : 'un\\'ora',\n hh : '%d ore',\n d : 'un giorno',\n dd : '%d giorni',\n M : 'un mese',\n MM : '%d mesi',\n y : 'un anno',\n yy : '%d anni'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}º/,\n ordinal: '%dº',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return it;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function plural(n) {\n if (n % 100 === 11) {\n return true;\n } else if (n % 10 === 1) {\n return false;\n }\n return true;\n }\n function translate(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n switch (key) {\n case 's':\n return withoutSuffix || isFuture ? 'nokkrar sekúndur' : 'nokkrum sekúndum';\n case 'ss':\n if (plural(number)) {\n return result + (withoutSuffix || isFuture ? 'sekúndur' : 'sekúndum');\n }\n return result + 'sekúnda';\n case 'm':\n return withoutSuffix ? 'mínúta' : 'mínútu';\n case 'mm':\n if (plural(number)) {\n return result + (withoutSuffix || isFuture ? 'mínútur' : 'mínútum');\n } else if (withoutSuffix) {\n return result + 'mínúta';\n }\n return result + 'mínútu';\n case 'hh':\n if (plural(number)) {\n return result + (withoutSuffix || isFuture ? 'klukkustundir' : 'klukkustundum');\n }\n return result + 'klukkustund';\n case 'd':\n if (withoutSuffix) {\n return 'dagur';\n }\n return isFuture ? 'dag' : 'degi';\n case 'dd':\n if (plural(number)) {\n if (withoutSuffix) {\n return result + 'dagar';\n }\n return result + (isFuture ? 'daga' : 'dögum');\n } else if (withoutSuffix) {\n return result + 'dagur';\n }\n return result + (isFuture ? 'dag' : 'degi');\n case 'M':\n if (withoutSuffix) {\n return 'mánuður';\n }\n return isFuture ? 'mánuð' : 'mánuði';\n case 'MM':\n if (plural(number)) {\n if (withoutSuffix) {\n return result + 'mánuðir';\n }\n return result + (isFuture ? 'mánuði' : 'mánuðum');\n } else if (withoutSuffix) {\n return result + 'mánuður';\n }\n return result + (isFuture ? 'mánuð' : 'mánuði');\n case 'y':\n return withoutSuffix || isFuture ? 'ár' : 'ári';\n case 'yy':\n if (plural(number)) {\n return result + (withoutSuffix || isFuture ? 'ár' : 'árum');\n }\n return result + (withoutSuffix || isFuture ? 'ár' : 'ári');\n }\n }\n\n var is = moment.defineLocale('is', {\n months : 'janúar_febrúar_mars_apríl_maí_júní_júlí_ágúst_september_október_nóvember_desember'.split('_'),\n monthsShort : 'jan_feb_mar_apr_maí_jún_júl_ágú_sep_okt_nóv_des'.split('_'),\n weekdays : 'sunnudagur_mánudagur_þriðjudagur_miðvikudagur_fimmtudagur_föstudagur_laugardagur'.split('_'),\n weekdaysShort : 'sun_mán_þri_mið_fim_fös_lau'.split('_'),\n weekdaysMin : 'Su_Má_Þr_Mi_Fi_Fö_La'.split('_'),\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY [kl.] H:mm',\n LLLL : 'dddd, D. MMMM YYYY [kl.] H:mm'\n },\n calendar : {\n sameDay : '[í dag kl.] LT',\n nextDay : '[á morgun kl.] LT',\n nextWeek : 'dddd [kl.] LT',\n lastDay : '[í gær kl.] LT',\n lastWeek : '[síðasta] dddd [kl.] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'eftir %s',\n past : 'fyrir %s síðan',\n s : translate,\n ss : translate,\n m : translate,\n mm : translate,\n h : 'klukkustund',\n hh : translate,\n d : translate,\n dd : translate,\n M : translate,\n MM : translate,\n y : translate,\n yy : translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return is;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var id = moment.defineLocale('id', {\n months : 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember'.split('_'),\n monthsShort : 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Agt_Sep_Okt_Nov_Des'.split('_'),\n weekdays : 'Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu'.split('_'),\n weekdaysShort : 'Min_Sen_Sel_Rab_Kam_Jum_Sab'.split('_'),\n weekdaysMin : 'Mg_Sn_Sl_Rb_Km_Jm_Sb'.split('_'),\n longDateFormat : {\n LT : 'HH.mm',\n LTS : 'HH.mm.ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY [pukul] HH.mm',\n LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm'\n },\n meridiemParse: /pagi|siang|sore|malam/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'pagi') {\n return hour;\n } else if (meridiem === 'siang') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'sore' || meridiem === 'malam') {\n return hour + 12;\n }\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'pagi';\n } else if (hours < 15) {\n return 'siang';\n } else if (hours < 19) {\n return 'sore';\n } else {\n return 'malam';\n }\n },\n calendar : {\n sameDay : '[Hari ini pukul] LT',\n nextDay : '[Besok pukul] LT',\n nextWeek : 'dddd [pukul] LT',\n lastDay : '[Kemarin pukul] LT',\n lastWeek : 'dddd [lalu pukul] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'dalam %s',\n past : '%s yang lalu',\n s : 'beberapa detik',\n ss : '%d detik',\n m : 'semenit',\n mm : '%d menit',\n h : 'sejam',\n hh : '%d jam',\n d : 'sehari',\n dd : '%d hari',\n M : 'sebulan',\n MM : '%d bulan',\n y : 'setahun',\n yy : '%d tahun'\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return id;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var hyAm = moment.defineLocale('hy-am', {\n months : {\n format: 'հունվարի_փետրվարի_մարտի_ապրիլի_մայիսի_հունիսի_հուլիսի_օգոստոսի_սեպտեմբերի_հոկտեմբերի_նոյեմբերի_դեկտեմբերի'.split('_'),\n standalone: 'հունվար_փետրվար_մարտ_ապրիլ_մայիս_հունիս_հուլիս_օգոստոս_սեպտեմբեր_հոկտեմբեր_նոյեմբեր_դեկտեմբեր'.split('_')\n },\n monthsShort : 'հնվ_փտր_մրտ_ապր_մյս_հնս_հլս_օգս_սպտ_հկտ_նմբ_դկտ'.split('_'),\n weekdays : 'կիրակի_երկուշաբթի_երեքշաբթի_չորեքշաբթի_հինգշաբթի_ուրբաթ_շաբաթ'.split('_'),\n weekdaysShort : 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'),\n weekdaysMin : 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY թ.',\n LLL : 'D MMMM YYYY թ., HH:mm',\n LLLL : 'dddd, D MMMM YYYY թ., HH:mm'\n },\n calendar : {\n sameDay: '[այսօր] LT',\n nextDay: '[վաղը] LT',\n lastDay: '[երեկ] LT',\n nextWeek: function () {\n return 'dddd [օրը ժամը] LT';\n },\n lastWeek: function () {\n return '[անցած] dddd [օրը ժամը] LT';\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : '%s հետո',\n past : '%s առաջ',\n s : 'մի քանի վայրկյան',\n ss : '%d վայրկյան',\n m : 'րոպե',\n mm : '%d րոպե',\n h : 'ժամ',\n hh : '%d ժամ',\n d : 'օր',\n dd : '%d օր',\n M : 'ամիս',\n MM : '%d ամիս',\n y : 'տարի',\n yy : '%d տարի'\n },\n meridiemParse: /գիշերվա|առավոտվա|ցերեկվա|երեկոյան/,\n isPM: function (input) {\n return /^(ցերեկվա|երեկոյան)$/.test(input);\n },\n meridiem : function (hour) {\n if (hour < 4) {\n return 'գիշերվա';\n } else if (hour < 12) {\n return 'առավոտվա';\n } else if (hour < 17) {\n return 'ցերեկվա';\n } else {\n return 'երեկոյան';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}|\\d{1,2}-(ին|րդ)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'DDD':\n case 'w':\n case 'W':\n case 'DDDo':\n if (number === 1) {\n return number + '-ին';\n }\n return number + '-րդ';\n default:\n return number;\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return hyAm;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var weekEndings = 'vasárnap hétfőn kedden szerdán csütörtökön pénteken szombaton'.split(' ');\n function translate(number, withoutSuffix, key, isFuture) {\n var num = number;\n switch (key) {\n case 's':\n return (isFuture || withoutSuffix) ? 'néhány másodperc' : 'néhány másodperce';\n case 'ss':\n return num + (isFuture || withoutSuffix) ? ' másodperc' : ' másodperce';\n case 'm':\n return 'egy' + (isFuture || withoutSuffix ? ' perc' : ' perce');\n case 'mm':\n return num + (isFuture || withoutSuffix ? ' perc' : ' perce');\n case 'h':\n return 'egy' + (isFuture || withoutSuffix ? ' óra' : ' órája');\n case 'hh':\n return num + (isFuture || withoutSuffix ? ' óra' : ' órája');\n case 'd':\n return 'egy' + (isFuture || withoutSuffix ? ' nap' : ' napja');\n case 'dd':\n return num + (isFuture || withoutSuffix ? ' nap' : ' napja');\n case 'M':\n return 'egy' + (isFuture || withoutSuffix ? ' hónap' : ' hónapja');\n case 'MM':\n return num + (isFuture || withoutSuffix ? ' hónap' : ' hónapja');\n case 'y':\n return 'egy' + (isFuture || withoutSuffix ? ' év' : ' éve');\n case 'yy':\n return num + (isFuture || withoutSuffix ? ' év' : ' éve');\n }\n return '';\n }\n function week(isFuture) {\n return (isFuture ? '' : '[múlt] ') + '[' + weekEndings[this.day()] + '] LT[-kor]';\n }\n\n var hu = moment.defineLocale('hu', {\n months : 'január_február_március_április_május_június_július_augusztus_szeptember_október_november_december'.split('_'),\n monthsShort : 'jan_feb_márc_ápr_máj_jún_júl_aug_szept_okt_nov_dec'.split('_'),\n weekdays : 'vasárnap_hétfő_kedd_szerda_csütörtök_péntek_szombat'.split('_'),\n weekdaysShort : 'vas_hét_kedd_sze_csüt_pén_szo'.split('_'),\n weekdaysMin : 'v_h_k_sze_cs_p_szo'.split('_'),\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'YYYY.MM.DD.',\n LL : 'YYYY. MMMM D.',\n LLL : 'YYYY. MMMM D. H:mm',\n LLLL : 'YYYY. MMMM D., dddd H:mm'\n },\n meridiemParse: /de|du/i,\n isPM: function (input) {\n return input.charAt(1).toLowerCase() === 'u';\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours < 12) {\n return isLower === true ? 'de' : 'DE';\n } else {\n return isLower === true ? 'du' : 'DU';\n }\n },\n calendar : {\n sameDay : '[ma] LT[-kor]',\n nextDay : '[holnap] LT[-kor]',\n nextWeek : function () {\n return week.call(this, true);\n },\n lastDay : '[tegnap] LT[-kor]',\n lastWeek : function () {\n return week.call(this, false);\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s múlva',\n past : '%s',\n s : translate,\n ss : translate,\n m : translate,\n mm : translate,\n h : translate,\n hh : translate,\n d : translate,\n dd : translate,\n M : translate,\n MM : translate,\n y : translate,\n yy : translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return hu;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function translate(number, withoutSuffix, key) {\n var result = number + ' ';\n switch (key) {\n case 'ss':\n if (number === 1) {\n result += 'sekunda';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sekunde';\n } else {\n result += 'sekundi';\n }\n return result;\n case 'm':\n return withoutSuffix ? 'jedna minuta' : 'jedne minute';\n case 'mm':\n if (number === 1) {\n result += 'minuta';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'minute';\n } else {\n result += 'minuta';\n }\n return result;\n case 'h':\n return withoutSuffix ? 'jedan sat' : 'jednog sata';\n case 'hh':\n if (number === 1) {\n result += 'sat';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sata';\n } else {\n result += 'sati';\n }\n return result;\n case 'dd':\n if (number === 1) {\n result += 'dan';\n } else {\n result += 'dana';\n }\n return result;\n case 'MM':\n if (number === 1) {\n result += 'mjesec';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'mjeseca';\n } else {\n result += 'mjeseci';\n }\n return result;\n case 'yy':\n if (number === 1) {\n result += 'godina';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'godine';\n } else {\n result += 'godina';\n }\n return result;\n }\n }\n\n var hr = moment.defineLocale('hr', {\n months : {\n format: 'siječnja_veljače_ožujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca'.split('_'),\n standalone: 'siječanj_veljača_ožujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac'.split('_')\n },\n monthsShort : 'sij._velj._ožu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.'.split('_'),\n monthsParseExact: true,\n weekdays : 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split('_'),\n weekdaysShort : 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n weekdaysMin : 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY H:mm',\n LLLL : 'dddd, D. MMMM YYYY H:mm'\n },\n calendar : {\n sameDay : '[danas u] LT',\n nextDay : '[sutra u] LT',\n nextWeek : function () {\n switch (this.day()) {\n case 0:\n return '[u] [nedjelju] [u] LT';\n case 3:\n return '[u] [srijedu] [u] LT';\n case 6:\n return '[u] [subotu] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay : '[jučer u] LT',\n lastWeek : function () {\n switch (this.day()) {\n case 0:\n case 3:\n return '[prošlu] dddd [u] LT';\n case 6:\n return '[prošle] [subote] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[prošli] dddd [u] LT';\n }\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'za %s',\n past : 'prije %s',\n s : 'par sekundi',\n ss : translate,\n m : translate,\n mm : translate,\n h : translate,\n hh : translate,\n d : 'dan',\n dd : translate,\n M : 'mjesec',\n MM : translate,\n y : 'godinu',\n yy : translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return hr;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '१',\n '2': '२',\n '3': '३',\n '4': '४',\n '5': '५',\n '6': '६',\n '7': '७',\n '8': '८',\n '9': '९',\n '0': '०'\n },\n numberMap = {\n '१': '1',\n '२': '2',\n '३': '3',\n '४': '4',\n '५': '5',\n '६': '6',\n '७': '7',\n '८': '8',\n '९': '9',\n '०': '0'\n };\n\n var hi = moment.defineLocale('hi', {\n months : 'जनवरी_फ़रवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितम्बर_अक्टूबर_नवम्बर_दिसम्बर'.split('_'),\n monthsShort : 'जन._फ़र._मार्च_अप्रै._मई_जून_जुल._अग._सित._अक्टू._नव._दिस.'.split('_'),\n monthsParseExact: true,\n weekdays : 'रविवार_सोमवार_मंगलवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'),\n weekdaysShort : 'रवि_सोम_मंगल_बुध_गुरू_शुक्र_शनि'.split('_'),\n weekdaysMin : 'र_सो_मं_बु_गु_शु_श'.split('_'),\n longDateFormat : {\n LT : 'A h:mm बजे',\n LTS : 'A h:mm:ss बजे',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, A h:mm बजे',\n LLLL : 'dddd, D MMMM YYYY, A h:mm बजे'\n },\n calendar : {\n sameDay : '[आज] LT',\n nextDay : '[कल] LT',\n nextWeek : 'dddd, LT',\n lastDay : '[कल] LT',\n lastWeek : '[पिछले] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s में',\n past : '%s पहले',\n s : 'कुछ ही क्षण',\n ss : '%d सेकंड',\n m : 'एक मिनट',\n mm : '%d मिनट',\n h : 'एक घंटा',\n hh : '%d घंटे',\n d : 'एक दिन',\n dd : '%d दिन',\n M : 'एक महीने',\n MM : '%d महीने',\n y : 'एक वर्ष',\n yy : '%d वर्ष'\n },\n preparse: function (string) {\n return string.replace(/[१२३४५६७८९०]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n // Hindi notation for meridiems are quite fuzzy in practice. While there exists\n // a rigid notion of a 'Pahar' it is not used as rigidly in modern Hindi.\n meridiemParse: /रात|सुबह|दोपहर|शाम/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'रात') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'सुबह') {\n return hour;\n } else if (meridiem === 'दोपहर') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'शाम') {\n return hour + 12;\n }\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'रात';\n } else if (hour < 10) {\n return 'सुबह';\n } else if (hour < 17) {\n return 'दोपहर';\n } else if (hour < 20) {\n return 'शाम';\n } else {\n return 'रात';\n }\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return hi;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var he = moment.defineLocale('he', {\n months : 'ינואר_פברואר_מרץ_אפריל_מאי_יוני_יולי_אוגוסט_ספטמבר_אוקטובר_נובמבר_דצמבר'.split('_'),\n monthsShort : 'ינו׳_פבר׳_מרץ_אפר׳_מאי_יוני_יולי_אוג׳_ספט׳_אוק׳_נוב׳_דצמ׳'.split('_'),\n weekdays : 'ראשון_שני_שלישי_רביעי_חמישי_שישי_שבת'.split('_'),\n weekdaysShort : 'א׳_ב׳_ג׳_ד׳_ה׳_ו׳_ש׳'.split('_'),\n weekdaysMin : 'א_ב_ג_ד_ה_ו_ש'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D [ב]MMMM YYYY',\n LLL : 'D [ב]MMMM YYYY HH:mm',\n LLLL : 'dddd, D [ב]MMMM YYYY HH:mm',\n l : 'D/M/YYYY',\n ll : 'D MMM YYYY',\n lll : 'D MMM YYYY HH:mm',\n llll : 'ddd, D MMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[היום ב־]LT',\n nextDay : '[מחר ב־]LT',\n nextWeek : 'dddd [בשעה] LT',\n lastDay : '[אתמול ב־]LT',\n lastWeek : '[ביום] dddd [האחרון בשעה] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'בעוד %s',\n past : 'לפני %s',\n s : 'מספר שניות',\n ss : '%d שניות',\n m : 'דקה',\n mm : '%d דקות',\n h : 'שעה',\n hh : function (number) {\n if (number === 2) {\n return 'שעתיים';\n }\n return number + ' שעות';\n },\n d : 'יום',\n dd : function (number) {\n if (number === 2) {\n return 'יומיים';\n }\n return number + ' ימים';\n },\n M : 'חודש',\n MM : function (number) {\n if (number === 2) {\n return 'חודשיים';\n }\n return number + ' חודשים';\n },\n y : 'שנה',\n yy : function (number) {\n if (number === 2) {\n return 'שנתיים';\n } else if (number % 10 === 0 && number !== 10) {\n return number + ' שנה';\n }\n return number + ' שנים';\n }\n },\n meridiemParse: /אחה\"צ|לפנה\"צ|אחרי הצהריים|לפני הצהריים|לפנות בוקר|בבוקר|בערב/i,\n isPM : function (input) {\n return /^(אחה\"צ|אחרי הצהריים|בערב)$/.test(input);\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 5) {\n return 'לפנות בוקר';\n } else if (hour < 10) {\n return 'בבוקר';\n } else if (hour < 12) {\n return isLower ? 'לפנה\"צ' : 'לפני הצהריים';\n } else if (hour < 18) {\n return isLower ? 'אחה\"צ' : 'אחרי הצהריים';\n } else {\n return 'בערב';\n }\n }\n });\n\n return he;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '૧',\n '2': '૨',\n '3': '૩',\n '4': '૪',\n '5': '૫',\n '6': '૬',\n '7': '૭',\n '8': '૮',\n '9': '૯',\n '0': '૦'\n },\n numberMap = {\n '૧': '1',\n '૨': '2',\n '૩': '3',\n '૪': '4',\n '૫': '5',\n '૬': '6',\n '૭': '7',\n '૮': '8',\n '૯': '9',\n '૦': '0'\n };\n\n var gu = moment.defineLocale('gu', {\n months: 'જાન્યુઆરી_ફેબ્રુઆરી_માર્ચ_એપ્રિલ_મે_જૂન_જુલાઈ_ઑગસ્ટ_સપ્ટેમ્બર_ઑક્ટ્બર_નવેમ્બર_ડિસેમ્બર'.split('_'),\n monthsShort: 'જાન્યુ._ફેબ્રુ._માર્ચ_એપ્રિ._મે_જૂન_જુલા._ઑગ._સપ્ટે._ઑક્ટ્._નવે._ડિસે.'.split('_'),\n monthsParseExact: true,\n weekdays: 'રવિવાર_સોમવાર_મંગળવાર_બુધ્વાર_ગુરુવાર_શુક્રવાર_શનિવાર'.split('_'),\n weekdaysShort: 'રવિ_સોમ_મંગળ_બુધ્_ગુરુ_શુક્ર_શનિ'.split('_'),\n weekdaysMin: 'ર_સો_મં_બુ_ગુ_શુ_શ'.split('_'),\n longDateFormat: {\n LT: 'A h:mm વાગ્યે',\n LTS: 'A h:mm:ss વાગ્યે',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm વાગ્યે',\n LLLL: 'dddd, D MMMM YYYY, A h:mm વાગ્યે'\n },\n calendar: {\n sameDay: '[આજ] LT',\n nextDay: '[કાલે] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[ગઇકાલે] LT',\n lastWeek: '[પાછલા] dddd, LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s મા',\n past: '%s પેહલા',\n s: 'અમુક પળો',\n ss: '%d સેકંડ',\n m: 'એક મિનિટ',\n mm: '%d મિનિટ',\n h: 'એક કલાક',\n hh: '%d કલાક',\n d: 'એક દિવસ',\n dd: '%d દિવસ',\n M: 'એક મહિનો',\n MM: '%d મહિનો',\n y: 'એક વર્ષ',\n yy: '%d વર્ષ'\n },\n preparse: function (string) {\n return string.replace(/[૧૨૩૪૫૬૭૮૯૦]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n // Gujarati notation for meridiems are quite fuzzy in practice. While there exists\n // a rigid notion of a 'Pahar' it is not used as rigidly in modern Gujarati.\n meridiemParse: /રાત|બપોર|સવાર|સાંજ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'રાત') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'સવાર') {\n return hour;\n } else if (meridiem === 'બપોર') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'સાંજ') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'રાત';\n } else if (hour < 10) {\n return 'સવાર';\n } else if (hour < 17) {\n return 'બપોર';\n } else if (hour < 20) {\n return 'સાંજ';\n } else {\n return 'રાત';\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return gu;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n 's': ['thodde secondanim', 'thodde second'],\n 'ss': [number + ' secondanim', number + ' second'],\n 'm': ['eka mintan', 'ek minute'],\n 'mm': [number + ' mintanim', number + ' mintam'],\n 'h': ['eka horan', 'ek hor'],\n 'hh': [number + ' horanim', number + ' horam'],\n 'd': ['eka disan', 'ek dis'],\n 'dd': [number + ' disanim', number + ' dis'],\n 'M': ['eka mhoinean', 'ek mhoino'],\n 'MM': [number + ' mhoineanim', number + ' mhoine'],\n 'y': ['eka vorsan', 'ek voros'],\n 'yy': [number + ' vorsanim', number + ' vorsam']\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n\n var gomLatn = moment.defineLocale('gom-latn', {\n months : 'Janer_Febrer_Mars_Abril_Mai_Jun_Julai_Agost_Setembr_Otubr_Novembr_Dezembr'.split('_'),\n monthsShort : 'Jan._Feb._Mars_Abr._Mai_Jun_Jul._Ago._Set._Otu._Nov._Dez.'.split('_'),\n monthsParseExact : true,\n weekdays : 'Aitar_Somar_Mongllar_Budvar_Brestar_Sukrar_Son\\'var'.split('_'),\n weekdaysShort : 'Ait._Som._Mon._Bud._Bre._Suk._Son.'.split('_'),\n weekdaysMin : 'Ai_Sm_Mo_Bu_Br_Su_Sn'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'A h:mm [vazta]',\n LTS : 'A h:mm:ss [vazta]',\n L : 'DD-MM-YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY A h:mm [vazta]',\n LLLL : 'dddd, MMMM[achea] Do, YYYY, A h:mm [vazta]',\n llll: 'ddd, D MMM YYYY, A h:mm [vazta]'\n },\n calendar : {\n sameDay: '[Aiz] LT',\n nextDay: '[Faleam] LT',\n nextWeek: '[Ieta to] dddd[,] LT',\n lastDay: '[Kal] LT',\n lastWeek: '[Fatlo] dddd[,] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : '%s',\n past : '%s adim',\n s : processRelativeTime,\n ss : processRelativeTime,\n m : processRelativeTime,\n mm : processRelativeTime,\n h : processRelativeTime,\n hh : processRelativeTime,\n d : processRelativeTime,\n dd : processRelativeTime,\n M : processRelativeTime,\n MM : processRelativeTime,\n y : processRelativeTime,\n yy : processRelativeTime\n },\n dayOfMonthOrdinalParse : /\\d{1,2}(er)/,\n ordinal : function (number, period) {\n switch (period) {\n // the ordinal 'er' only applies to day of the month\n case 'D':\n return number + 'er';\n default:\n case 'M':\n case 'Q':\n case 'DDD':\n case 'd':\n case 'w':\n case 'W':\n return number;\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n },\n meridiemParse: /rati|sokalli|donparam|sanje/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'rati') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'sokalli') {\n return hour;\n } else if (meridiem === 'donparam') {\n return hour > 12 ? hour : hour + 12;\n } else if (meridiem === 'sanje') {\n return hour + 12;\n }\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'rati';\n } else if (hour < 12) {\n return 'sokalli';\n } else if (hour < 16) {\n return 'donparam';\n } else if (hour < 20) {\n return 'sanje';\n } else {\n return 'rati';\n }\n }\n });\n\n return gomLatn;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var gl = moment.defineLocale('gl', {\n months : 'xaneiro_febreiro_marzo_abril_maio_xuño_xullo_agosto_setembro_outubro_novembro_decembro'.split('_'),\n monthsShort : 'xan._feb._mar._abr._mai._xuñ._xul._ago._set._out._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays : 'domingo_luns_martes_mércores_xoves_venres_sábado'.split('_'),\n weekdaysShort : 'dom._lun._mar._mér._xov._ven._sáb.'.split('_'),\n weekdaysMin : 'do_lu_ma_mé_xo_ve_sá'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D [de] MMMM [de] YYYY',\n LLL : 'D [de] MMMM [de] YYYY H:mm',\n LLLL : 'dddd, D [de] MMMM [de] YYYY H:mm'\n },\n calendar : {\n sameDay : function () {\n return '[hoxe ' + ((this.hours() !== 1) ? 'ás' : 'á') + '] LT';\n },\n nextDay : function () {\n return '[mañá ' + ((this.hours() !== 1) ? 'ás' : 'á') + '] LT';\n },\n nextWeek : function () {\n return 'dddd [' + ((this.hours() !== 1) ? 'ás' : 'a') + '] LT';\n },\n lastDay : function () {\n return '[onte ' + ((this.hours() !== 1) ? 'á' : 'a') + '] LT';\n },\n lastWeek : function () {\n return '[o] dddd [pasado ' + ((this.hours() !== 1) ? 'ás' : 'a') + '] LT';\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : function (str) {\n if (str.indexOf('un') === 0) {\n return 'n' + str;\n }\n return 'en ' + str;\n },\n past : 'hai %s',\n s : 'uns segundos',\n ss : '%d segundos',\n m : 'un minuto',\n mm : '%d minutos',\n h : 'unha hora',\n hh : '%d horas',\n d : 'un día',\n dd : '%d días',\n M : 'un mes',\n MM : '%d meses',\n y : 'un ano',\n yy : '%d anos'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}º/,\n ordinal : '%dº',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return gl;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var months = [\n 'Am Faoilleach', 'An Gearran', 'Am Màrt', 'An Giblean', 'An Cèitean', 'An t-Ògmhios', 'An t-Iuchar', 'An Lùnastal', 'An t-Sultain', 'An Dàmhair', 'An t-Samhain', 'An Dùbhlachd'\n ];\n\n var monthsShort = ['Faoi', 'Gear', 'Màrt', 'Gibl', 'Cèit', 'Ògmh', 'Iuch', 'Lùn', 'Sult', 'Dàmh', 'Samh', 'Dùbh'];\n\n var weekdays = ['Didòmhnaich', 'Diluain', 'Dimàirt', 'Diciadain', 'Diardaoin', 'Dihaoine', 'Disathairne'];\n\n var weekdaysShort = ['Did', 'Dil', 'Dim', 'Dic', 'Dia', 'Dih', 'Dis'];\n\n var weekdaysMin = ['Dò', 'Lu', 'Mà', 'Ci', 'Ar', 'Ha', 'Sa'];\n\n var gd = moment.defineLocale('gd', {\n months : months,\n monthsShort : monthsShort,\n monthsParseExact : true,\n weekdays : weekdays,\n weekdaysShort : weekdaysShort,\n weekdaysMin : weekdaysMin,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[An-diugh aig] LT',\n nextDay : '[A-màireach aig] LT',\n nextWeek : 'dddd [aig] LT',\n lastDay : '[An-dè aig] LT',\n lastWeek : 'dddd [seo chaidh] [aig] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'ann an %s',\n past : 'bho chionn %s',\n s : 'beagan diogan',\n ss : '%d diogan',\n m : 'mionaid',\n mm : '%d mionaidean',\n h : 'uair',\n hh : '%d uairean',\n d : 'latha',\n dd : '%d latha',\n M : 'mìos',\n MM : '%d mìosan',\n y : 'bliadhna',\n yy : '%d bliadhna'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}(d|na|mh)/,\n ordinal : function (number) {\n var output = number === 1 ? 'd' : number % 10 === 2 ? 'na' : 'mh';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return gd;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var monthsShortWithDots = 'jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.'.split('_'),\n monthsShortWithoutDots = 'jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_');\n\n var fy = moment.defineLocale('fy', {\n months : 'jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber'.split('_'),\n monthsShort : function (m, format) {\n if (!m) {\n return monthsShortWithDots;\n } else if (/-MMM-/.test(format)) {\n return monthsShortWithoutDots[m.month()];\n } else {\n return monthsShortWithDots[m.month()];\n }\n },\n monthsParseExact : true,\n weekdays : 'snein_moandei_tiisdei_woansdei_tongersdei_freed_sneon'.split('_'),\n weekdaysShort : 'si._mo._ti._wo._to._fr._so.'.split('_'),\n weekdaysMin : 'Si_Mo_Ti_Wo_To_Fr_So'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD-MM-YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[hjoed om] LT',\n nextDay: '[moarn om] LT',\n nextWeek: 'dddd [om] LT',\n lastDay: '[juster om] LT',\n lastWeek: '[ôfrûne] dddd [om] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'oer %s',\n past : '%s lyn',\n s : 'in pear sekonden',\n ss : '%d sekonden',\n m : 'ien minút',\n mm : '%d minuten',\n h : 'ien oere',\n hh : '%d oeren',\n d : 'ien dei',\n dd : '%d dagen',\n M : 'ien moanne',\n MM : '%d moannen',\n y : 'ien jier',\n yy : '%d jierren'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n ordinal : function (number) {\n return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de');\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return fy;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var frCh = moment.defineLocale('fr-ch', {\n months : 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'),\n monthsShort : 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'),\n monthsParseExact : true,\n weekdays : 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n weekdaysShort : 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n weekdaysMin : 'di_lu_ma_me_je_ve_sa'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Aujourd’hui à] LT',\n nextDay : '[Demain à] LT',\n nextWeek : 'dddd [à] LT',\n lastDay : '[Hier à] LT',\n lastWeek : 'dddd [dernier à] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'dans %s',\n past : 'il y a %s',\n s : 'quelques secondes',\n ss : '%d secondes',\n m : 'une minute',\n mm : '%d minutes',\n h : 'une heure',\n hh : '%d heures',\n d : 'un jour',\n dd : '%d jours',\n M : 'un mois',\n MM : '%d mois',\n y : 'un an',\n yy : '%d ans'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(er|e)/,\n ordinal : function (number, period) {\n switch (period) {\n // Words with masculine grammatical gender: mois, trimestre, jour\n default:\n case 'M':\n case 'Q':\n case 'D':\n case 'DDD':\n case 'd':\n return number + (number === 1 ? 'er' : 'e');\n\n // Words with feminine grammatical gender: semaine\n case 'w':\n case 'W':\n return number + (number === 1 ? 're' : 'e');\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return frCh;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var frCa = moment.defineLocale('fr-ca', {\n months : 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'),\n monthsShort : 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'),\n monthsParseExact : true,\n weekdays : 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n weekdaysShort : 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n weekdaysMin : 'di_lu_ma_me_je_ve_sa'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY-MM-DD',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Aujourd’hui à] LT',\n nextDay : '[Demain à] LT',\n nextWeek : 'dddd [à] LT',\n lastDay : '[Hier à] LT',\n lastWeek : 'dddd [dernier à] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'dans %s',\n past : 'il y a %s',\n s : 'quelques secondes',\n ss : '%d secondes',\n m : 'une minute',\n mm : '%d minutes',\n h : 'une heure',\n hh : '%d heures',\n d : 'un jour',\n dd : '%d jours',\n M : 'un mois',\n MM : '%d mois',\n y : 'un an',\n yy : '%d ans'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(er|e)/,\n ordinal : function (number, period) {\n switch (period) {\n // Words with masculine grammatical gender: mois, trimestre, jour\n default:\n case 'M':\n case 'Q':\n case 'D':\n case 'DDD':\n case 'd':\n return number + (number === 1 ? 'er' : 'e');\n\n // Words with feminine grammatical gender: semaine\n case 'w':\n case 'W':\n return number + (number === 1 ? 're' : 'e');\n }\n }\n });\n\n return frCa;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var fr = moment.defineLocale('fr', {\n months : 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'),\n monthsShort : 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'),\n monthsParseExact : true,\n weekdays : 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n weekdaysShort : 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n weekdaysMin : 'di_lu_ma_me_je_ve_sa'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Aujourd’hui à] LT',\n nextDay : '[Demain à] LT',\n nextWeek : 'dddd [à] LT',\n lastDay : '[Hier à] LT',\n lastWeek : 'dddd [dernier à] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'dans %s',\n past : 'il y a %s',\n s : 'quelques secondes',\n ss : '%d secondes',\n m : 'une minute',\n mm : '%d minutes',\n h : 'une heure',\n hh : '%d heures',\n d : 'un jour',\n dd : '%d jours',\n M : 'un mois',\n MM : '%d mois',\n y : 'un an',\n yy : '%d ans'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(er|)/,\n ordinal : function (number, period) {\n switch (period) {\n // TODO: Return 'e' when day of month > 1. Move this case inside\n // block for masculine words below.\n // See https://github.com/moment/moment/issues/3375\n case 'D':\n return number + (number === 1 ? 'er' : '');\n\n // Words with masculine grammatical gender: mois, trimestre, jour\n default:\n case 'M':\n case 'Q':\n case 'DDD':\n case 'd':\n return number + (number === 1 ? 'er' : 'e');\n\n // Words with feminine grammatical gender: semaine\n case 'w':\n case 'W':\n return number + (number === 1 ? 're' : 'e');\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return fr;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var fo = moment.defineLocale('fo', {\n months : 'januar_februar_mars_apríl_mai_juni_juli_august_september_oktober_november_desember'.split('_'),\n monthsShort : 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'),\n weekdays : 'sunnudagur_mánadagur_týsdagur_mikudagur_hósdagur_fríggjadagur_leygardagur'.split('_'),\n weekdaysShort : 'sun_mán_týs_mik_hós_frí_ley'.split('_'),\n weekdaysMin : 'su_má_tý_mi_hó_fr_le'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D. MMMM, YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Í dag kl.] LT',\n nextDay : '[Í morgin kl.] LT',\n nextWeek : 'dddd [kl.] LT',\n lastDay : '[Í gjár kl.] LT',\n lastWeek : '[síðstu] dddd [kl] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'um %s',\n past : '%s síðani',\n s : 'fá sekund',\n ss : '%d sekundir',\n m : 'ein minutt',\n mm : '%d minuttir',\n h : 'ein tími',\n hh : '%d tímar',\n d : 'ein dagur',\n dd : '%d dagar',\n M : 'ein mánaði',\n MM : '%d mánaðir',\n y : 'eitt ár',\n yy : '%d ár'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return fo;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var numbersPast = 'nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän'.split(' '),\n numbersFuture = [\n 'nolla', 'yhden', 'kahden', 'kolmen', 'neljän', 'viiden', 'kuuden',\n numbersPast[7], numbersPast[8], numbersPast[9]\n ];\n function translate(number, withoutSuffix, key, isFuture) {\n var result = '';\n switch (key) {\n case 's':\n return isFuture ? 'muutaman sekunnin' : 'muutama sekunti';\n case 'ss':\n return isFuture ? 'sekunnin' : 'sekuntia';\n case 'm':\n return isFuture ? 'minuutin' : 'minuutti';\n case 'mm':\n result = isFuture ? 'minuutin' : 'minuuttia';\n break;\n case 'h':\n return isFuture ? 'tunnin' : 'tunti';\n case 'hh':\n result = isFuture ? 'tunnin' : 'tuntia';\n break;\n case 'd':\n return isFuture ? 'päivän' : 'päivä';\n case 'dd':\n result = isFuture ? 'päivän' : 'päivää';\n break;\n case 'M':\n return isFuture ? 'kuukauden' : 'kuukausi';\n case 'MM':\n result = isFuture ? 'kuukauden' : 'kuukautta';\n break;\n case 'y':\n return isFuture ? 'vuoden' : 'vuosi';\n case 'yy':\n result = isFuture ? 'vuoden' : 'vuotta';\n break;\n }\n result = verbalNumber(number, isFuture) + ' ' + result;\n return result;\n }\n function verbalNumber(number, isFuture) {\n return number < 10 ? (isFuture ? numbersFuture[number] : numbersPast[number]) : number;\n }\n\n var fi = moment.defineLocale('fi', {\n months : 'tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu'.split('_'),\n monthsShort : 'tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu'.split('_'),\n weekdays : 'sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai'.split('_'),\n weekdaysShort : 'su_ma_ti_ke_to_pe_la'.split('_'),\n weekdaysMin : 'su_ma_ti_ke_to_pe_la'.split('_'),\n longDateFormat : {\n LT : 'HH.mm',\n LTS : 'HH.mm.ss',\n L : 'DD.MM.YYYY',\n LL : 'Do MMMM[ta] YYYY',\n LLL : 'Do MMMM[ta] YYYY, [klo] HH.mm',\n LLLL : 'dddd, Do MMMM[ta] YYYY, [klo] HH.mm',\n l : 'D.M.YYYY',\n ll : 'Do MMM YYYY',\n lll : 'Do MMM YYYY, [klo] HH.mm',\n llll : 'ddd, Do MMM YYYY, [klo] HH.mm'\n },\n calendar : {\n sameDay : '[tänään] [klo] LT',\n nextDay : '[huomenna] [klo] LT',\n nextWeek : 'dddd [klo] LT',\n lastDay : '[eilen] [klo] LT',\n lastWeek : '[viime] dddd[na] [klo] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s päästä',\n past : '%s sitten',\n s : translate,\n ss : translate,\n m : translate,\n mm : translate,\n h : translate,\n hh : translate,\n d : translate,\n dd : translate,\n M : translate,\n MM : translate,\n y : translate,\n yy : translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return fi;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '۱',\n '2': '۲',\n '3': '۳',\n '4': '۴',\n '5': '۵',\n '6': '۶',\n '7': '۷',\n '8': '۸',\n '9': '۹',\n '0': '۰'\n }, numberMap = {\n '۱': '1',\n '۲': '2',\n '۳': '3',\n '۴': '4',\n '۵': '5',\n '۶': '6',\n '۷': '7',\n '۸': '8',\n '۹': '9',\n '۰': '0'\n };\n\n var fa = moment.defineLocale('fa', {\n months : 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split('_'),\n monthsShort : 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split('_'),\n weekdays : 'یک\\u200cشنبه_دوشنبه_سه\\u200cشنبه_چهارشنبه_پنج\\u200cشنبه_جمعه_شنبه'.split('_'),\n weekdaysShort : 'یک\\u200cشنبه_دوشنبه_سه\\u200cشنبه_چهارشنبه_پنج\\u200cشنبه_جمعه_شنبه'.split('_'),\n weekdaysMin : 'ی_د_س_چ_پ_ج_ش'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n meridiemParse: /قبل از ظهر|بعد از ظهر/,\n isPM: function (input) {\n return /بعد از ظهر/.test(input);\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'قبل از ظهر';\n } else {\n return 'بعد از ظهر';\n }\n },\n calendar : {\n sameDay : '[امروز ساعت] LT',\n nextDay : '[فردا ساعت] LT',\n nextWeek : 'dddd [ساعت] LT',\n lastDay : '[دیروز ساعت] LT',\n lastWeek : 'dddd [پیش] [ساعت] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'در %s',\n past : '%s پیش',\n s : 'چند ثانیه',\n ss : 'ثانیه d%',\n m : 'یک دقیقه',\n mm : '%d دقیقه',\n h : 'یک ساعت',\n hh : '%d ساعت',\n d : 'یک روز',\n dd : '%d روز',\n M : 'یک ماه',\n MM : '%d ماه',\n y : 'یک سال',\n yy : '%d سال'\n },\n preparse: function (string) {\n return string.replace(/[۰-۹]/g, function (match) {\n return numberMap[match];\n }).replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n }).replace(/,/g, '،');\n },\n dayOfMonthOrdinalParse: /\\d{1,2}م/,\n ordinal : '%dم',\n week : {\n dow : 6, // Saturday is the first day of the week.\n doy : 12 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return fa;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var eu = moment.defineLocale('eu', {\n months : 'urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua'.split('_'),\n monthsShort : 'urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.'.split('_'),\n monthsParseExact : true,\n weekdays : 'igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata'.split('_'),\n weekdaysShort : 'ig._al._ar._az._og._ol._lr.'.split('_'),\n weekdaysMin : 'ig_al_ar_az_og_ol_lr'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY-MM-DD',\n LL : 'YYYY[ko] MMMM[ren] D[a]',\n LLL : 'YYYY[ko] MMMM[ren] D[a] HH:mm',\n LLLL : 'dddd, YYYY[ko] MMMM[ren] D[a] HH:mm',\n l : 'YYYY-M-D',\n ll : 'YYYY[ko] MMM D[a]',\n lll : 'YYYY[ko] MMM D[a] HH:mm',\n llll : 'ddd, YYYY[ko] MMM D[a] HH:mm'\n },\n calendar : {\n sameDay : '[gaur] LT[etan]',\n nextDay : '[bihar] LT[etan]',\n nextWeek : 'dddd LT[etan]',\n lastDay : '[atzo] LT[etan]',\n lastWeek : '[aurreko] dddd LT[etan]',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s barru',\n past : 'duela %s',\n s : 'segundo batzuk',\n ss : '%d segundo',\n m : 'minutu bat',\n mm : '%d minutu',\n h : 'ordu bat',\n hh : '%d ordu',\n d : 'egun bat',\n dd : '%d egun',\n M : 'hilabete bat',\n MM : '%d hilabete',\n y : 'urte bat',\n yy : '%d urte'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return eu;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n 's' : ['mõne sekundi', 'mõni sekund', 'paar sekundit'],\n 'ss': [number + 'sekundi', number + 'sekundit'],\n 'm' : ['ühe minuti', 'üks minut'],\n 'mm': [number + ' minuti', number + ' minutit'],\n 'h' : ['ühe tunni', 'tund aega', 'üks tund'],\n 'hh': [number + ' tunni', number + ' tundi'],\n 'd' : ['ühe päeva', 'üks päev'],\n 'M' : ['kuu aja', 'kuu aega', 'üks kuu'],\n 'MM': [number + ' kuu', number + ' kuud'],\n 'y' : ['ühe aasta', 'aasta', 'üks aasta'],\n 'yy': [number + ' aasta', number + ' aastat']\n };\n if (withoutSuffix) {\n return format[key][2] ? format[key][2] : format[key][1];\n }\n return isFuture ? format[key][0] : format[key][1];\n }\n\n var et = moment.defineLocale('et', {\n months : 'jaanuar_veebruar_märts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember'.split('_'),\n monthsShort : 'jaan_veebr_märts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets'.split('_'),\n weekdays : 'pühapäev_esmaspäev_teisipäev_kolmapäev_neljapäev_reede_laupäev'.split('_'),\n weekdaysShort : 'P_E_T_K_N_R_L'.split('_'),\n weekdaysMin : 'P_E_T_K_N_R_L'.split('_'),\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY H:mm',\n LLLL : 'dddd, D. MMMM YYYY H:mm'\n },\n calendar : {\n sameDay : '[Täna,] LT',\n nextDay : '[Homme,] LT',\n nextWeek : '[Järgmine] dddd LT',\n lastDay : '[Eile,] LT',\n lastWeek : '[Eelmine] dddd LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s pärast',\n past : '%s tagasi',\n s : processRelativeTime,\n ss : processRelativeTime,\n m : processRelativeTime,\n mm : processRelativeTime,\n h : processRelativeTime,\n hh : processRelativeTime,\n d : processRelativeTime,\n dd : '%d päeva',\n M : processRelativeTime,\n MM : processRelativeTime,\n y : processRelativeTime,\n yy : processRelativeTime\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return et;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_'),\n monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_');\n\n var esUs = moment.defineLocale('es-us', {\n months : 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'),\n monthsShort : function (m, format) {\n if (!m) {\n return monthsShortDot;\n } else if (/-MMM-/.test(format)) {\n return monthsShort[m.month()];\n } else {\n return monthsShortDot[m.month()];\n }\n },\n monthsParseExact : true,\n weekdays : 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n weekdaysShort : 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n weekdaysMin : 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'h:mm A',\n LTS : 'h:mm:ss A',\n L : 'MM/DD/YYYY',\n LL : 'MMMM [de] D [de] YYYY',\n LLL : 'MMMM [de] D [de] YYYY h:mm A',\n LLLL : 'dddd, MMMM [de] D [de] YYYY h:mm A'\n },\n calendar : {\n sameDay : function () {\n return '[hoy a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n nextDay : function () {\n return '[mañana a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n nextWeek : function () {\n return 'dddd [a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n lastDay : function () {\n return '[ayer a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n lastWeek : function () {\n return '[el] dddd [pasado a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'en %s',\n past : 'hace %s',\n s : 'unos segundos',\n ss : '%d segundos',\n m : 'un minuto',\n mm : '%d minutos',\n h : 'una hora',\n hh : '%d horas',\n d : 'un día',\n dd : '%d días',\n M : 'un mes',\n MM : '%d meses',\n y : 'un año',\n yy : '%d años'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}º/,\n ordinal : '%dº',\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return esUs;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_'),\n monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_');\n\n var monthsParse = [/^ene/i, /^feb/i, /^mar/i, /^abr/i, /^may/i, /^jun/i, /^jul/i, /^ago/i, /^sep/i, /^oct/i, /^nov/i, /^dic/i];\n var monthsRegex = /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n\n var esDo = moment.defineLocale('es-do', {\n months : 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'),\n monthsShort : function (m, format) {\n if (!m) {\n return monthsShortDot;\n } else if (/-MMM-/.test(format)) {\n return monthsShort[m.month()];\n } else {\n return monthsShortDot[m.month()];\n }\n },\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n monthsShortStrictRegex: /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n weekdays : 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n weekdaysShort : 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n weekdaysMin : 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'h:mm A',\n LTS : 'h:mm:ss A',\n L : 'DD/MM/YYYY',\n LL : 'D [de] MMMM [de] YYYY',\n LLL : 'D [de] MMMM [de] YYYY h:mm A',\n LLLL : 'dddd, D [de] MMMM [de] YYYY h:mm A'\n },\n calendar : {\n sameDay : function () {\n return '[hoy a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n nextDay : function () {\n return '[mañana a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n nextWeek : function () {\n return 'dddd [a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n lastDay : function () {\n return '[ayer a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n lastWeek : function () {\n return '[el] dddd [pasado a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'en %s',\n past : 'hace %s',\n s : 'unos segundos',\n ss : '%d segundos',\n m : 'un minuto',\n mm : '%d minutos',\n h : 'una hora',\n hh : '%d horas',\n d : 'un día',\n dd : '%d días',\n M : 'un mes',\n MM : '%d meses',\n y : 'un año',\n yy : '%d años'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}º/,\n ordinal : '%dº',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return esDo;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_'),\n monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_');\n\n var monthsParse = [/^ene/i, /^feb/i, /^mar/i, /^abr/i, /^may/i, /^jun/i, /^jul/i, /^ago/i, /^sep/i, /^oct/i, /^nov/i, /^dic/i];\n var monthsRegex = /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n\n var es = moment.defineLocale('es', {\n months : 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'),\n monthsShort : function (m, format) {\n if (!m) {\n return monthsShortDot;\n } else if (/-MMM-/.test(format)) {\n return monthsShort[m.month()];\n } else {\n return monthsShortDot[m.month()];\n }\n },\n monthsRegex : monthsRegex,\n monthsShortRegex : monthsRegex,\n monthsStrictRegex : /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n monthsShortStrictRegex : /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n monthsParse : monthsParse,\n longMonthsParse : monthsParse,\n shortMonthsParse : monthsParse,\n weekdays : 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n weekdaysShort : 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n weekdaysMin : 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D [de] MMMM [de] YYYY',\n LLL : 'D [de] MMMM [de] YYYY H:mm',\n LLLL : 'dddd, D [de] MMMM [de] YYYY H:mm'\n },\n calendar : {\n sameDay : function () {\n return '[hoy a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n nextDay : function () {\n return '[mañana a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n nextWeek : function () {\n return 'dddd [a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n lastDay : function () {\n return '[ayer a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n lastWeek : function () {\n return '[el] dddd [pasado a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'en %s',\n past : 'hace %s',\n s : 'unos segundos',\n ss : '%d segundos',\n m : 'un minuto',\n mm : '%d minutos',\n h : 'una hora',\n hh : '%d horas',\n d : 'un día',\n dd : '%d días',\n M : 'un mes',\n MM : '%d meses',\n y : 'un año',\n yy : '%d años'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}º/,\n ordinal : '%dº',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return es;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var eo = moment.defineLocale('eo', {\n months : 'januaro_februaro_marto_aprilo_majo_junio_julio_aŭgusto_septembro_oktobro_novembro_decembro'.split('_'),\n monthsShort : 'jan_feb_mar_apr_maj_jun_jul_aŭg_sep_okt_nov_dec'.split('_'),\n weekdays : 'dimanĉo_lundo_mardo_merkredo_ĵaŭdo_vendredo_sabato'.split('_'),\n weekdaysShort : 'dim_lun_mard_merk_ĵaŭ_ven_sab'.split('_'),\n weekdaysMin : 'di_lu_ma_me_ĵa_ve_sa'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY-MM-DD',\n LL : 'D[-a de] MMMM, YYYY',\n LLL : 'D[-a de] MMMM, YYYY HH:mm',\n LLLL : 'dddd, [la] D[-a de] MMMM, YYYY HH:mm'\n },\n meridiemParse: /[ap]\\.t\\.m/i,\n isPM: function (input) {\n return input.charAt(0).toLowerCase() === 'p';\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'p.t.m.' : 'P.T.M.';\n } else {\n return isLower ? 'a.t.m.' : 'A.T.M.';\n }\n },\n calendar : {\n sameDay : '[Hodiaŭ je] LT',\n nextDay : '[Morgaŭ je] LT',\n nextWeek : 'dddd [je] LT',\n lastDay : '[Hieraŭ je] LT',\n lastWeek : '[pasinta] dddd [je] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'post %s',\n past : 'antaŭ %s',\n s : 'sekundoj',\n ss : '%d sekundoj',\n m : 'minuto',\n mm : '%d minutoj',\n h : 'horo',\n hh : '%d horoj',\n d : 'tago',//ne 'diurno', ĉar estas uzita por proksimumo\n dd : '%d tagoj',\n M : 'monato',\n MM : '%d monatoj',\n y : 'jaro',\n yy : '%d jaroj'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}a/,\n ordinal : '%da',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return eo;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var enNz = moment.defineLocale('en-nz', {\n months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat : {\n LT : 'h:mm A',\n LTS : 'h:mm:ss A',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY h:mm A',\n LLLL : 'dddd, D MMMM YYYY h:mm A'\n },\n calendar : {\n sameDay : '[Today at] LT',\n nextDay : '[Tomorrow at] LT',\n nextWeek : 'dddd [at] LT',\n lastDay : '[Yesterday at] LT',\n lastWeek : '[Last] dddd [at] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'in %s',\n past : '%s ago',\n s : 'a few seconds',\n ss : '%d seconds',\n m : 'a minute',\n mm : '%d minutes',\n h : 'an hour',\n hh : '%d hours',\n d : 'a day',\n dd : '%d days',\n M : 'a month',\n MM : '%d months',\n y : 'a year',\n yy : '%d years'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return enNz;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var enIl = moment.defineLocale('en-il', {\n months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Today at] LT',\n nextDay : '[Tomorrow at] LT',\n nextWeek : 'dddd [at] LT',\n lastDay : '[Yesterday at] LT',\n lastWeek : '[Last] dddd [at] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'in %s',\n past : '%s ago',\n s : 'a few seconds',\n m : 'a minute',\n mm : '%d minutes',\n h : 'an hour',\n hh : '%d hours',\n d : 'a day',\n dd : '%d days',\n M : 'a month',\n MM : '%d months',\n y : 'a year',\n yy : '%d years'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n }\n });\n\n return enIl;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var enIe = moment.defineLocale('en-ie', {\n months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD-MM-YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Today at] LT',\n nextDay : '[Tomorrow at] LT',\n nextWeek : 'dddd [at] LT',\n lastDay : '[Yesterday at] LT',\n lastWeek : '[Last] dddd [at] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'in %s',\n past : '%s ago',\n s : 'a few seconds',\n ss : '%d seconds',\n m : 'a minute',\n mm : '%d minutes',\n h : 'an hour',\n hh : '%d hours',\n d : 'a day',\n dd : '%d days',\n M : 'a month',\n MM : '%d months',\n y : 'a year',\n yy : '%d years'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return enIe;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var enGb = moment.defineLocale('en-gb', {\n months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Today at] LT',\n nextDay : '[Tomorrow at] LT',\n nextWeek : 'dddd [at] LT',\n lastDay : '[Yesterday at] LT',\n lastWeek : '[Last] dddd [at] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'in %s',\n past : '%s ago',\n s : 'a few seconds',\n ss : '%d seconds',\n m : 'a minute',\n mm : '%d minutes',\n h : 'an hour',\n hh : '%d hours',\n d : 'a day',\n dd : '%d days',\n M : 'a month',\n MM : '%d months',\n y : 'a year',\n yy : '%d years'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return enGb;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var enCa = moment.defineLocale('en-ca', {\n months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat : {\n LT : 'h:mm A',\n LTS : 'h:mm:ss A',\n L : 'YYYY-MM-DD',\n LL : 'MMMM D, YYYY',\n LLL : 'MMMM D, YYYY h:mm A',\n LLLL : 'dddd, MMMM D, YYYY h:mm A'\n },\n calendar : {\n sameDay : '[Today at] LT',\n nextDay : '[Tomorrow at] LT',\n nextWeek : 'dddd [at] LT',\n lastDay : '[Yesterday at] LT',\n lastWeek : '[Last] dddd [at] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'in %s',\n past : '%s ago',\n s : 'a few seconds',\n ss : '%d seconds',\n m : 'a minute',\n mm : '%d minutes',\n h : 'an hour',\n hh : '%d hours',\n d : 'a day',\n dd : '%d days',\n M : 'a month',\n MM : '%d months',\n y : 'a year',\n yy : '%d years'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n }\n });\n\n return enCa;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var enAu = moment.defineLocale('en-au', {\n months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat : {\n LT : 'h:mm A',\n LTS : 'h:mm:ss A',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY h:mm A',\n LLLL : 'dddd, D MMMM YYYY h:mm A'\n },\n calendar : {\n sameDay : '[Today at] LT',\n nextDay : '[Tomorrow at] LT',\n nextWeek : 'dddd [at] LT',\n lastDay : '[Yesterday at] LT',\n lastWeek : '[Last] dddd [at] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'in %s',\n past : '%s ago',\n s : 'a few seconds',\n ss : '%d seconds',\n m : 'a minute',\n mm : '%d minutes',\n h : 'an hour',\n hh : '%d hours',\n d : 'a day',\n dd : '%d days',\n M : 'a month',\n MM : '%d months',\n y : 'a year',\n yy : '%d years'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return enAu;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n function isFunction(input) {\n return input instanceof Function || Object.prototype.toString.call(input) === '[object Function]';\n }\n\n\n var el = moment.defineLocale('el', {\n monthsNominativeEl : 'Ιανουάριος_Φεβρουάριος_Μάρτιος_Απρίλιος_Μάιος_Ιούνιος_Ιούλιος_Αύγουστος_Σεπτέμβριος_Οκτώβριος_Νοέμβριος_Δεκέμβριος'.split('_'),\n monthsGenitiveEl : 'Ιανουαρίου_Φεβρουαρίου_Μαρτίου_Απριλίου_Μαΐου_Ιουνίου_Ιουλίου_Αυγούστου_Σεπτεμβρίου_Οκτωβρίου_Νοεμβρίου_Δεκεμβρίου'.split('_'),\n months : function (momentToFormat, format) {\n if (!momentToFormat) {\n return this._monthsNominativeEl;\n } else if (typeof format === 'string' && /D/.test(format.substring(0, format.indexOf('MMMM')))) { // if there is a day number before 'MMMM'\n return this._monthsGenitiveEl[momentToFormat.month()];\n } else {\n return this._monthsNominativeEl[momentToFormat.month()];\n }\n },\n monthsShort : 'Ιαν_Φεβ_Μαρ_Απρ_Μαϊ_Ιουν_Ιουλ_Αυγ_Σεπ_Οκτ_Νοε_Δεκ'.split('_'),\n weekdays : 'Κυριακή_Δευτέρα_Τρίτη_Τετάρτη_Πέμπτη_Παρασκευή_Σάββατο'.split('_'),\n weekdaysShort : 'Κυρ_Δευ_Τρι_Τετ_Πεμ_Παρ_Σαβ'.split('_'),\n weekdaysMin : 'Κυ_Δε_Τρ_Τε_Πε_Πα_Σα'.split('_'),\n meridiem : function (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'μμ' : 'ΜΜ';\n } else {\n return isLower ? 'πμ' : 'ΠΜ';\n }\n },\n isPM : function (input) {\n return ((input + '').toLowerCase()[0] === 'μ');\n },\n meridiemParse : /[ΠΜ]\\.?Μ?\\.?/i,\n longDateFormat : {\n LT : 'h:mm A',\n LTS : 'h:mm:ss A',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY h:mm A',\n LLLL : 'dddd, D MMMM YYYY h:mm A'\n },\n calendarEl : {\n sameDay : '[Σήμερα {}] LT',\n nextDay : '[Αύριο {}] LT',\n nextWeek : 'dddd [{}] LT',\n lastDay : '[Χθες {}] LT',\n lastWeek : function () {\n switch (this.day()) {\n case 6:\n return '[το προηγούμενο] dddd [{}] LT';\n default:\n return '[την προηγούμενη] dddd [{}] LT';\n }\n },\n sameElse : 'L'\n },\n calendar : function (key, mom) {\n var output = this._calendarEl[key],\n hours = mom && mom.hours();\n if (isFunction(output)) {\n output = output.apply(mom);\n }\n return output.replace('{}', (hours % 12 === 1 ? 'στη' : 'στις'));\n },\n relativeTime : {\n future : 'σε %s',\n past : '%s πριν',\n s : 'λίγα δευτερόλεπτα',\n ss : '%d δευτερόλεπτα',\n m : 'ένα λεπτό',\n mm : '%d λεπτά',\n h : 'μία ώρα',\n hh : '%d ώρες',\n d : 'μία μέρα',\n dd : '%d μέρες',\n M : 'ένας μήνας',\n MM : '%d μήνες',\n y : 'ένας χρόνος',\n yy : '%d χρόνια'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}η/,\n ordinal: '%dη',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4st is the first week of the year.\n }\n });\n\n return el;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var months = [\n 'ޖެނުއަރީ',\n 'ފެބްރުއަރީ',\n 'މާރިޗު',\n 'އޭޕްރީލު',\n 'މޭ',\n 'ޖޫން',\n 'ޖުލައި',\n 'އޯގަސްޓު',\n 'ސެޕްޓެމްބަރު',\n 'އޮކްޓޯބަރު',\n 'ނޮވެމްބަރު',\n 'ޑިސެމްބަރު'\n ], weekdays = [\n 'އާދިއްތަ',\n 'ހޯމަ',\n 'އަންގާރަ',\n 'ބުދަ',\n 'ބުރާސްފަތި',\n 'ހުކުރު',\n 'ހޮނިހިރު'\n ];\n\n var dv = moment.defineLocale('dv', {\n months : months,\n monthsShort : months,\n weekdays : weekdays,\n weekdaysShort : weekdays,\n weekdaysMin : 'އާދި_ހޯމަ_އަން_ބުދަ_ބުރާ_ހުކު_ހޮނި'.split('_'),\n longDateFormat : {\n\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'D/M/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n meridiemParse: /މކ|މފ/,\n isPM : function (input) {\n return 'މފ' === input;\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'މކ';\n } else {\n return 'މފ';\n }\n },\n calendar : {\n sameDay : '[މިއަދު] LT',\n nextDay : '[މާދަމާ] LT',\n nextWeek : 'dddd LT',\n lastDay : '[އިއްޔެ] LT',\n lastWeek : '[ފާއިތުވި] dddd LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'ތެރޭގައި %s',\n past : 'ކުރިން %s',\n s : 'ސިކުންތުކޮޅެއް',\n ss : 'd% ސިކުންތު',\n m : 'މިނިޓެއް',\n mm : 'މިނިޓު %d',\n h : 'ގަޑިއިރެއް',\n hh : 'ގަޑިއިރު %d',\n d : 'ދުވަހެއް',\n dd : 'ދުވަސް %d',\n M : 'މަހެއް',\n MM : 'މަސް %d',\n y : 'އަހަރެއް',\n yy : 'އަހަރު %d'\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/,/g, '،');\n },\n week : {\n dow : 7, // Sunday is the first day of the week.\n doy : 12 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return dv;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n 'm': ['eine Minute', 'einer Minute'],\n 'h': ['eine Stunde', 'einer Stunde'],\n 'd': ['ein Tag', 'einem Tag'],\n 'dd': [number + ' Tage', number + ' Tagen'],\n 'M': ['ein Monat', 'einem Monat'],\n 'MM': [number + ' Monate', number + ' Monaten'],\n 'y': ['ein Jahr', 'einem Jahr'],\n 'yy': [number + ' Jahre', number + ' Jahren']\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n\n var deCh = moment.defineLocale('de-ch', {\n months : 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),\n monthsShort : 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),\n monthsParseExact : true,\n weekdays : 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'),\n weekdaysShort : 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n weekdaysMin : 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY HH:mm',\n LLLL : 'dddd, D. MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[heute um] LT [Uhr]',\n sameElse: 'L',\n nextDay: '[morgen um] LT [Uhr]',\n nextWeek: 'dddd [um] LT [Uhr]',\n lastDay: '[gestern um] LT [Uhr]',\n lastWeek: '[letzten] dddd [um] LT [Uhr]'\n },\n relativeTime : {\n future : 'in %s',\n past : 'vor %s',\n s : 'ein paar Sekunden',\n ss : '%d Sekunden',\n m : processRelativeTime,\n mm : '%d Minuten',\n h : processRelativeTime,\n hh : '%d Stunden',\n d : processRelativeTime,\n dd : processRelativeTime,\n M : processRelativeTime,\n MM : processRelativeTime,\n y : processRelativeTime,\n yy : processRelativeTime\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return deCh;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n 'm': ['eine Minute', 'einer Minute'],\n 'h': ['eine Stunde', 'einer Stunde'],\n 'd': ['ein Tag', 'einem Tag'],\n 'dd': [number + ' Tage', number + ' Tagen'],\n 'M': ['ein Monat', 'einem Monat'],\n 'MM': [number + ' Monate', number + ' Monaten'],\n 'y': ['ein Jahr', 'einem Jahr'],\n 'yy': [number + ' Jahre', number + ' Jahren']\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n\n var deAt = moment.defineLocale('de-at', {\n months : 'Jänner_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),\n monthsShort : 'Jän._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),\n monthsParseExact : true,\n weekdays : 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'),\n weekdaysShort : 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'),\n weekdaysMin : 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY HH:mm',\n LLLL : 'dddd, D. MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[heute um] LT [Uhr]',\n sameElse: 'L',\n nextDay: '[morgen um] LT [Uhr]',\n nextWeek: 'dddd [um] LT [Uhr]',\n lastDay: '[gestern um] LT [Uhr]',\n lastWeek: '[letzten] dddd [um] LT [Uhr]'\n },\n relativeTime : {\n future : 'in %s',\n past : 'vor %s',\n s : 'ein paar Sekunden',\n ss : '%d Sekunden',\n m : processRelativeTime,\n mm : '%d Minuten',\n h : processRelativeTime,\n hh : '%d Stunden',\n d : processRelativeTime,\n dd : processRelativeTime,\n M : processRelativeTime,\n MM : processRelativeTime,\n y : processRelativeTime,\n yy : processRelativeTime\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return deAt;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n 'm': ['eine Minute', 'einer Minute'],\n 'h': ['eine Stunde', 'einer Stunde'],\n 'd': ['ein Tag', 'einem Tag'],\n 'dd': [number + ' Tage', number + ' Tagen'],\n 'M': ['ein Monat', 'einem Monat'],\n 'MM': [number + ' Monate', number + ' Monaten'],\n 'y': ['ein Jahr', 'einem Jahr'],\n 'yy': [number + ' Jahre', number + ' Jahren']\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n\n var de = moment.defineLocale('de', {\n months : 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),\n monthsShort : 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),\n monthsParseExact : true,\n weekdays : 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'),\n weekdaysShort : 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'),\n weekdaysMin : 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY HH:mm',\n LLLL : 'dddd, D. MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[heute um] LT [Uhr]',\n sameElse: 'L',\n nextDay: '[morgen um] LT [Uhr]',\n nextWeek: 'dddd [um] LT [Uhr]',\n lastDay: '[gestern um] LT [Uhr]',\n lastWeek: '[letzten] dddd [um] LT [Uhr]'\n },\n relativeTime : {\n future : 'in %s',\n past : 'vor %s',\n s : 'ein paar Sekunden',\n ss : '%d Sekunden',\n m : processRelativeTime,\n mm : '%d Minuten',\n h : processRelativeTime,\n hh : '%d Stunden',\n d : processRelativeTime,\n dd : processRelativeTime,\n M : processRelativeTime,\n MM : processRelativeTime,\n y : processRelativeTime,\n yy : processRelativeTime\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return de;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var da = moment.defineLocale('da', {\n months : 'januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december'.split('_'),\n monthsShort : 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n weekdays : 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),\n weekdaysShort : 'søn_man_tir_ons_tor_fre_lør'.split('_'),\n weekdaysMin : 'sø_ma_ti_on_to_fr_lø'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY HH:mm',\n LLLL : 'dddd [d.] D. MMMM YYYY [kl.] HH:mm'\n },\n calendar : {\n sameDay : '[i dag kl.] LT',\n nextDay : '[i morgen kl.] LT',\n nextWeek : 'på dddd [kl.] LT',\n lastDay : '[i går kl.] LT',\n lastWeek : '[i] dddd[s kl.] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'om %s',\n past : '%s siden',\n s : 'få sekunder',\n ss : '%d sekunder',\n m : 'et minut',\n mm : '%d minutter',\n h : 'en time',\n hh : '%d timer',\n d : 'en dag',\n dd : '%d dage',\n M : 'en måned',\n MM : '%d måneder',\n y : 'et år',\n yy : '%d år'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return da;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var cy = moment.defineLocale('cy', {\n months: 'Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr'.split('_'),\n monthsShort: 'Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag'.split('_'),\n weekdays: 'Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn'.split('_'),\n weekdaysShort: 'Sul_Llun_Maw_Mer_Iau_Gwe_Sad'.split('_'),\n weekdaysMin: 'Su_Ll_Ma_Me_Ia_Gw_Sa'.split('_'),\n weekdaysParseExact : true,\n // time formats are the same as en-gb\n longDateFormat: {\n LT: 'HH:mm',\n LTS : 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Heddiw am] LT',\n nextDay: '[Yfory am] LT',\n nextWeek: 'dddd [am] LT',\n lastDay: '[Ddoe am] LT',\n lastWeek: 'dddd [diwethaf am] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'mewn %s',\n past: '%s yn ôl',\n s: 'ychydig eiliadau',\n ss: '%d eiliad',\n m: 'munud',\n mm: '%d munud',\n h: 'awr',\n hh: '%d awr',\n d: 'diwrnod',\n dd: '%d diwrnod',\n M: 'mis',\n MM: '%d mis',\n y: 'blwyddyn',\n yy: '%d flynedd'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(fed|ain|af|il|ydd|ed|eg)/,\n // traditional ordinal numbers above 31 are not commonly used in colloquial Welsh\n ordinal: function (number) {\n var b = number,\n output = '',\n lookup = [\n '', 'af', 'il', 'ydd', 'ydd', 'ed', 'ed', 'ed', 'fed', 'fed', 'fed', // 1af to 10fed\n 'eg', 'fed', 'eg', 'eg', 'fed', 'eg', 'eg', 'fed', 'eg', 'fed' // 11eg to 20fed\n ];\n if (b > 20) {\n if (b === 40 || b === 50 || b === 60 || b === 80 || b === 100) {\n output = 'fed'; // not 30ain, 70ain or 90ain\n } else {\n output = 'ain';\n }\n } else if (b > 0) {\n output = lookup[b];\n }\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return cy;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var cv = moment.defineLocale('cv', {\n months : 'кӑрлач_нарӑс_пуш_ака_май_ҫӗртме_утӑ_ҫурла_авӑн_юпа_чӳк_раштав'.split('_'),\n monthsShort : 'кӑр_нар_пуш_ака_май_ҫӗр_утӑ_ҫур_авн_юпа_чӳк_раш'.split('_'),\n weekdays : 'вырсарникун_тунтикун_ытларикун_юнкун_кӗҫнерникун_эрнекун_шӑматкун'.split('_'),\n weekdaysShort : 'выр_тун_ытл_юн_кӗҫ_эрн_шӑм'.split('_'),\n weekdaysMin : 'вр_тн_ыт_юн_кҫ_эр_шм'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD-MM-YYYY',\n LL : 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ]',\n LLL : 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm',\n LLLL : 'dddd, YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm'\n },\n calendar : {\n sameDay: '[Паян] LT [сехетре]',\n nextDay: '[Ыран] LT [сехетре]',\n lastDay: '[Ӗнер] LT [сехетре]',\n nextWeek: '[Ҫитес] dddd LT [сехетре]',\n lastWeek: '[Иртнӗ] dddd LT [сехетре]',\n sameElse: 'L'\n },\n relativeTime : {\n future : function (output) {\n var affix = /сехет$/i.exec(output) ? 'рен' : /ҫул$/i.exec(output) ? 'тан' : 'ран';\n return output + affix;\n },\n past : '%s каялла',\n s : 'пӗр-ик ҫеккунт',\n ss : '%d ҫеккунт',\n m : 'пӗр минут',\n mm : '%d минут',\n h : 'пӗр сехет',\n hh : '%d сехет',\n d : 'пӗр кун',\n dd : '%d кун',\n M : 'пӗр уйӑх',\n MM : '%d уйӑх',\n y : 'пӗр ҫул',\n yy : '%d ҫул'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-мӗш/,\n ordinal : '%d-мӗш',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return cv;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var months = 'leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec'.split('_'),\n monthsShort = 'led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro'.split('_');\n function plural(n) {\n return (n > 1) && (n < 5) && (~~(n / 10) !== 1);\n }\n function translate(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n switch (key) {\n case 's': // a few seconds / in a few seconds / a few seconds ago\n return (withoutSuffix || isFuture) ? 'pár sekund' : 'pár sekundami';\n case 'ss': // 9 seconds / in 9 seconds / 9 seconds ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'sekundy' : 'sekund');\n } else {\n return result + 'sekundami';\n }\n break;\n case 'm': // a minute / in a minute / a minute ago\n return withoutSuffix ? 'minuta' : (isFuture ? 'minutu' : 'minutou');\n case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'minuty' : 'minut');\n } else {\n return result + 'minutami';\n }\n break;\n case 'h': // an hour / in an hour / an hour ago\n return withoutSuffix ? 'hodina' : (isFuture ? 'hodinu' : 'hodinou');\n case 'hh': // 9 hours / in 9 hours / 9 hours ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'hodiny' : 'hodin');\n } else {\n return result + 'hodinami';\n }\n break;\n case 'd': // a day / in a day / a day ago\n return (withoutSuffix || isFuture) ? 'den' : 'dnem';\n case 'dd': // 9 days / in 9 days / 9 days ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'dny' : 'dní');\n } else {\n return result + 'dny';\n }\n break;\n case 'M': // a month / in a month / a month ago\n return (withoutSuffix || isFuture) ? 'měsíc' : 'měsícem';\n case 'MM': // 9 months / in 9 months / 9 months ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'měsíce' : 'měsíců');\n } else {\n return result + 'měsíci';\n }\n break;\n case 'y': // a year / in a year / a year ago\n return (withoutSuffix || isFuture) ? 'rok' : 'rokem';\n case 'yy': // 9 years / in 9 years / 9 years ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'roky' : 'let');\n } else {\n return result + 'lety';\n }\n break;\n }\n }\n\n var cs = moment.defineLocale('cs', {\n months : months,\n monthsShort : monthsShort,\n monthsParse : (function (months, monthsShort) {\n var i, _monthsParse = [];\n for (i = 0; i < 12; i++) {\n // use custom parser to solve problem with July (červenec)\n _monthsParse[i] = new RegExp('^' + months[i] + '$|^' + monthsShort[i] + '$', 'i');\n }\n return _monthsParse;\n }(months, monthsShort)),\n shortMonthsParse : (function (monthsShort) {\n var i, _shortMonthsParse = [];\n for (i = 0; i < 12; i++) {\n _shortMonthsParse[i] = new RegExp('^' + monthsShort[i] + '$', 'i');\n }\n return _shortMonthsParse;\n }(monthsShort)),\n longMonthsParse : (function (months) {\n var i, _longMonthsParse = [];\n for (i = 0; i < 12; i++) {\n _longMonthsParse[i] = new RegExp('^' + months[i] + '$', 'i');\n }\n return _longMonthsParse;\n }(months)),\n weekdays : 'neděle_pondělí_úterý_středa_čtvrtek_pátek_sobota'.split('_'),\n weekdaysShort : 'ne_po_út_st_čt_pá_so'.split('_'),\n weekdaysMin : 'ne_po_út_st_čt_pá_so'.split('_'),\n longDateFormat : {\n LT: 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY H:mm',\n LLLL : 'dddd D. MMMM YYYY H:mm',\n l : 'D. M. YYYY'\n },\n calendar : {\n sameDay: '[dnes v] LT',\n nextDay: '[zítra v] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[v neděli v] LT';\n case 1:\n case 2:\n return '[v] dddd [v] LT';\n case 3:\n return '[ve středu v] LT';\n case 4:\n return '[ve čtvrtek v] LT';\n case 5:\n return '[v pátek v] LT';\n case 6:\n return '[v sobotu v] LT';\n }\n },\n lastDay: '[včera v] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[minulou neděli v] LT';\n case 1:\n case 2:\n return '[minulé] dddd [v] LT';\n case 3:\n return '[minulou středu v] LT';\n case 4:\n case 5:\n return '[minulý] dddd [v] LT';\n case 6:\n return '[minulou sobotu v] LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : 'za %s',\n past : 'před %s',\n s : translate,\n ss : translate,\n m : translate,\n mm : translate,\n h : translate,\n hh : translate,\n d : translate,\n dd : translate,\n M : translate,\n MM : translate,\n y : translate,\n yy : translate\n },\n dayOfMonthOrdinalParse : /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return cs;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var ca = moment.defineLocale('ca', {\n months : {\n standalone: 'gener_febrer_març_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre'.split('_'),\n format: 'de gener_de febrer_de març_d\\'abril_de maig_de juny_de juliol_d\\'agost_de setembre_d\\'octubre_de novembre_de desembre'.split('_'),\n isFormat: /D[oD]?(\\s)+MMMM/\n },\n monthsShort : 'gen._febr._març_abr._maig_juny_jul._ag._set._oct._nov._des.'.split('_'),\n monthsParseExact : true,\n weekdays : 'diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte'.split('_'),\n weekdaysShort : 'dg._dl._dt._dc._dj._dv._ds.'.split('_'),\n weekdaysMin : 'dg_dl_dt_dc_dj_dv_ds'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM [de] YYYY',\n ll : 'D MMM YYYY',\n LLL : 'D MMMM [de] YYYY [a les] H:mm',\n lll : 'D MMM YYYY, H:mm',\n LLLL : 'dddd D MMMM [de] YYYY [a les] H:mm',\n llll : 'ddd D MMM YYYY, H:mm'\n },\n calendar : {\n sameDay : function () {\n return '[avui a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';\n },\n nextDay : function () {\n return '[demà a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';\n },\n nextWeek : function () {\n return 'dddd [a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';\n },\n lastDay : function () {\n return '[ahir a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';\n },\n lastWeek : function () {\n return '[el] dddd [passat a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'd\\'aquí %s',\n past : 'fa %s',\n s : 'uns segons',\n ss : '%d segons',\n m : 'un minut',\n mm : '%d minuts',\n h : 'una hora',\n hh : '%d hores',\n d : 'un dia',\n dd : '%d dies',\n M : 'un mes',\n MM : '%d mesos',\n y : 'un any',\n yy : '%d anys'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(r|n|t|è|a)/,\n ordinal : function (number, period) {\n var output = (number === 1) ? 'r' :\n (number === 2) ? 'n' :\n (number === 3) ? 'r' :\n (number === 4) ? 't' : 'è';\n if (period === 'w' || period === 'W') {\n output = 'a';\n }\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return ca;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function translate(number, withoutSuffix, key) {\n var result = number + ' ';\n switch (key) {\n case 'ss':\n if (number === 1) {\n result += 'sekunda';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sekunde';\n } else {\n result += 'sekundi';\n }\n return result;\n case 'm':\n return withoutSuffix ? 'jedna minuta' : 'jedne minute';\n case 'mm':\n if (number === 1) {\n result += 'minuta';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'minute';\n } else {\n result += 'minuta';\n }\n return result;\n case 'h':\n return withoutSuffix ? 'jedan sat' : 'jednog sata';\n case 'hh':\n if (number === 1) {\n result += 'sat';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sata';\n } else {\n result += 'sati';\n }\n return result;\n case 'dd':\n if (number === 1) {\n result += 'dan';\n } else {\n result += 'dana';\n }\n return result;\n case 'MM':\n if (number === 1) {\n result += 'mjesec';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'mjeseca';\n } else {\n result += 'mjeseci';\n }\n return result;\n case 'yy':\n if (number === 1) {\n result += 'godina';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'godine';\n } else {\n result += 'godina';\n }\n return result;\n }\n }\n\n var bs = moment.defineLocale('bs', {\n months : 'januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar'.split('_'),\n monthsShort : 'jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays : 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split('_'),\n weekdaysShort : 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n weekdaysMin : 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY H:mm',\n LLLL : 'dddd, D. MMMM YYYY H:mm'\n },\n calendar : {\n sameDay : '[danas u] LT',\n nextDay : '[sutra u] LT',\n nextWeek : function () {\n switch (this.day()) {\n case 0:\n return '[u] [nedjelju] [u] LT';\n case 3:\n return '[u] [srijedu] [u] LT';\n case 6:\n return '[u] [subotu] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay : '[jučer u] LT',\n lastWeek : function () {\n switch (this.day()) {\n case 0:\n case 3:\n return '[prošlu] dddd [u] LT';\n case 6:\n return '[prošle] [subote] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[prošli] dddd [u] LT';\n }\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'za %s',\n past : 'prije %s',\n s : 'par sekundi',\n ss : translate,\n m : translate,\n mm : translate,\n h : translate,\n hh : translate,\n d : 'dan',\n dd : translate,\n M : 'mjesec',\n MM : translate,\n y : 'godinu',\n yy : translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return bs;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function relativeTimeWithMutation(number, withoutSuffix, key) {\n var format = {\n 'mm': 'munutenn',\n 'MM': 'miz',\n 'dd': 'devezh'\n };\n return number + ' ' + mutation(format[key], number);\n }\n function specialMutationForYears(number) {\n switch (lastNumber(number)) {\n case 1:\n case 3:\n case 4:\n case 5:\n case 9:\n return number + ' bloaz';\n default:\n return number + ' vloaz';\n }\n }\n function lastNumber(number) {\n if (number > 9) {\n return lastNumber(number % 10);\n }\n return number;\n }\n function mutation(text, number) {\n if (number === 2) {\n return softMutation(text);\n }\n return text;\n }\n function softMutation(text) {\n var mutationTable = {\n 'm': 'v',\n 'b': 'v',\n 'd': 'z'\n };\n if (mutationTable[text.charAt(0)] === undefined) {\n return text;\n }\n return mutationTable[text.charAt(0)] + text.substring(1);\n }\n\n var br = moment.defineLocale('br', {\n months : 'Genver_C\\'hwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu'.split('_'),\n monthsShort : 'Gen_C\\'hwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker'.split('_'),\n weekdays : 'Sul_Lun_Meurzh_Merc\\'her_Yaou_Gwener_Sadorn'.split('_'),\n weekdaysShort : 'Sul_Lun_Meu_Mer_Yao_Gwe_Sad'.split('_'),\n weekdaysMin : 'Su_Lu_Me_Mer_Ya_Gw_Sa'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'h[e]mm A',\n LTS : 'h[e]mm:ss A',\n L : 'DD/MM/YYYY',\n LL : 'D [a viz] MMMM YYYY',\n LLL : 'D [a viz] MMMM YYYY h[e]mm A',\n LLLL : 'dddd, D [a viz] MMMM YYYY h[e]mm A'\n },\n calendar : {\n sameDay : '[Hiziv da] LT',\n nextDay : '[Warc\\'hoazh da] LT',\n nextWeek : 'dddd [da] LT',\n lastDay : '[Dec\\'h da] LT',\n lastWeek : 'dddd [paset da] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'a-benn %s',\n past : '%s \\'zo',\n s : 'un nebeud segondennoù',\n ss : '%d eilenn',\n m : 'ur vunutenn',\n mm : relativeTimeWithMutation,\n h : 'un eur',\n hh : '%d eur',\n d : 'un devezh',\n dd : relativeTimeWithMutation,\n M : 'ur miz',\n MM : relativeTimeWithMutation,\n y : 'ur bloaz',\n yy : specialMutationForYears\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(añ|vet)/,\n ordinal : function (number) {\n var output = (number === 1) ? 'añ' : 'vet';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return br;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '༡',\n '2': '༢',\n '3': '༣',\n '4': '༤',\n '5': '༥',\n '6': '༦',\n '7': '༧',\n '8': '༨',\n '9': '༩',\n '0': '༠'\n },\n numberMap = {\n '༡': '1',\n '༢': '2',\n '༣': '3',\n '༤': '4',\n '༥': '5',\n '༦': '6',\n '༧': '7',\n '༨': '8',\n '༩': '9',\n '༠': '0'\n };\n\n var bo = moment.defineLocale('bo', {\n months : 'ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ'.split('_'),\n monthsShort : 'ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ'.split('_'),\n weekdays : 'གཟའ་ཉི་མ་_གཟའ་ཟླ་བ་_གཟའ་མིག་དམར་_གཟའ་ལྷག་པ་_གཟའ་ཕུར་བུ_གཟའ་པ་སངས་_གཟའ་སྤེན་པ་'.split('_'),\n weekdaysShort : 'ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་'.split('_'),\n weekdaysMin : 'ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་'.split('_'),\n longDateFormat : {\n LT : 'A h:mm',\n LTS : 'A h:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, A h:mm',\n LLLL : 'dddd, D MMMM YYYY, A h:mm'\n },\n calendar : {\n sameDay : '[དི་རིང] LT',\n nextDay : '[སང་ཉིན] LT',\n nextWeek : '[བདུན་ཕྲག་རྗེས་མ], LT',\n lastDay : '[ཁ་སང] LT',\n lastWeek : '[བདུན་ཕྲག་མཐའ་མ] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s ལ་',\n past : '%s སྔན་ལ',\n s : 'ལམ་སང',\n ss : '%d སྐར་ཆ།',\n m : 'སྐར་མ་གཅིག',\n mm : '%d སྐར་མ',\n h : 'ཆུ་ཚོད་གཅིག',\n hh : '%d ཆུ་ཚོད',\n d : 'ཉིན་གཅིག',\n dd : '%d ཉིན་',\n M : 'ཟླ་བ་གཅིག',\n MM : '%d ཟླ་བ',\n y : 'ལོ་གཅིག',\n yy : '%d ལོ'\n },\n preparse: function (string) {\n return string.replace(/[༡༢༣༤༥༦༧༨༩༠]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /མཚན་མོ|ཞོགས་ཀས|ཉིན་གུང|དགོང་དག|མཚན་མོ/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if ((meridiem === 'མཚན་མོ' && hour >= 4) ||\n (meridiem === 'ཉིན་གུང' && hour < 5) ||\n meridiem === 'དགོང་དག') {\n return hour + 12;\n } else {\n return hour;\n }\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'མཚན་མོ';\n } else if (hour < 10) {\n return 'ཞོགས་ཀས';\n } else if (hour < 17) {\n return 'ཉིན་གུང';\n } else if (hour < 20) {\n return 'དགོང་དག';\n } else {\n return 'མཚན་མོ';\n }\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return bo;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '১',\n '2': '২',\n '3': '৩',\n '4': '৪',\n '5': '৫',\n '6': '৬',\n '7': '৭',\n '8': '৮',\n '9': '৯',\n '0': '০'\n },\n numberMap = {\n '১': '1',\n '২': '2',\n '৩': '3',\n '৪': '4',\n '৫': '5',\n '৬': '6',\n '৭': '7',\n '৮': '8',\n '৯': '9',\n '০': '0'\n };\n\n var bn = moment.defineLocale('bn', {\n months : 'জানুয়ারী_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর'.split('_'),\n monthsShort : 'জানু_ফেব_মার্চ_এপ্র_মে_জুন_জুল_আগ_সেপ্ট_অক্টো_নভে_ডিসে'.split('_'),\n weekdays : 'রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার'.split('_'),\n weekdaysShort : 'রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি'.split('_'),\n weekdaysMin : 'রবি_সোম_মঙ্গ_বুধ_বৃহঃ_শুক্র_শনি'.split('_'),\n longDateFormat : {\n LT : 'A h:mm সময়',\n LTS : 'A h:mm:ss সময়',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, A h:mm সময়',\n LLLL : 'dddd, D MMMM YYYY, A h:mm সময়'\n },\n calendar : {\n sameDay : '[আজ] LT',\n nextDay : '[আগামীকাল] LT',\n nextWeek : 'dddd, LT',\n lastDay : '[গতকাল] LT',\n lastWeek : '[গত] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s পরে',\n past : '%s আগে',\n s : 'কয়েক সেকেন্ড',\n ss : '%d সেকেন্ড',\n m : 'এক মিনিট',\n mm : '%d মিনিট',\n h : 'এক ঘন্টা',\n hh : '%d ঘন্টা',\n d : 'এক দিন',\n dd : '%d দিন',\n M : 'এক মাস',\n MM : '%d মাস',\n y : 'এক বছর',\n yy : '%d বছর'\n },\n preparse: function (string) {\n return string.replace(/[১২৩৪৫৬৭৮৯০]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /রাত|সকাল|দুপুর|বিকাল|রাত/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if ((meridiem === 'রাত' && hour >= 4) ||\n (meridiem === 'দুপুর' && hour < 5) ||\n meridiem === 'বিকাল') {\n return hour + 12;\n } else {\n return hour;\n }\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'রাত';\n } else if (hour < 10) {\n return 'সকাল';\n } else if (hour < 17) {\n return 'দুপুর';\n } else if (hour < 20) {\n return 'বিকাল';\n } else {\n return 'রাত';\n }\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return bn;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var bm = moment.defineLocale('bm', {\n months : 'Zanwuyekalo_Fewuruyekalo_Marisikalo_Awirilikalo_Mɛkalo_Zuwɛnkalo_Zuluyekalo_Utikalo_Sɛtanburukalo_ɔkutɔburukalo_Nowanburukalo_Desanburukalo'.split('_'),\n monthsShort : 'Zan_Few_Mar_Awi_Mɛ_Zuw_Zul_Uti_Sɛt_ɔku_Now_Des'.split('_'),\n weekdays : 'Kari_Ntɛnɛn_Tarata_Araba_Alamisa_Juma_Sibiri'.split('_'),\n weekdaysShort : 'Kar_Ntɛ_Tar_Ara_Ala_Jum_Sib'.split('_'),\n weekdaysMin : 'Ka_Nt_Ta_Ar_Al_Ju_Si'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'MMMM [tile] D [san] YYYY',\n LLL : 'MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm',\n LLLL : 'dddd MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm'\n },\n calendar : {\n sameDay : '[Bi lɛrɛ] LT',\n nextDay : '[Sini lɛrɛ] LT',\n nextWeek : 'dddd [don lɛrɛ] LT',\n lastDay : '[Kunu lɛrɛ] LT',\n lastWeek : 'dddd [tɛmɛnen lɛrɛ] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s kɔnɔ',\n past : 'a bɛ %s bɔ',\n s : 'sanga dama dama',\n ss : 'sekondi %d',\n m : 'miniti kelen',\n mm : 'miniti %d',\n h : 'lɛrɛ kelen',\n hh : 'lɛrɛ %d',\n d : 'tile kelen',\n dd : 'tile %d',\n M : 'kalo kelen',\n MM : 'kalo %d',\n y : 'san kelen',\n yy : 'san %d'\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return bm;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var bg = moment.defineLocale('bg', {\n months : 'януари_февруари_март_април_май_юни_юли_август_септември_октомври_ноември_декември'.split('_'),\n monthsShort : 'янр_фев_мар_апр_май_юни_юли_авг_сеп_окт_ное_дек'.split('_'),\n weekdays : 'неделя_понеделник_вторник_сряда_четвъртък_петък_събота'.split('_'),\n weekdaysShort : 'нед_пон_вто_сря_чет_пет_съб'.split('_'),\n weekdaysMin : 'нд_пн_вт_ср_чт_пт_сб'.split('_'),\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'D.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY H:mm',\n LLLL : 'dddd, D MMMM YYYY H:mm'\n },\n calendar : {\n sameDay : '[Днес в] LT',\n nextDay : '[Утре в] LT',\n nextWeek : 'dddd [в] LT',\n lastDay : '[Вчера в] LT',\n lastWeek : function () {\n switch (this.day()) {\n case 0:\n case 3:\n case 6:\n return '[В изминалата] dddd [в] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[В изминалия] dddd [в] LT';\n }\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'след %s',\n past : 'преди %s',\n s : 'няколко секунди',\n ss : '%d секунди',\n m : 'минута',\n mm : '%d минути',\n h : 'час',\n hh : '%d часа',\n d : 'ден',\n dd : '%d дни',\n M : 'месец',\n MM : '%d месеца',\n y : 'година',\n yy : '%d години'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ев|ен|ти|ви|ри|ми)/,\n ordinal : function (number) {\n var lastDigit = number % 10,\n last2Digits = number % 100;\n if (number === 0) {\n return number + '-ев';\n } else if (last2Digits === 0) {\n return number + '-ен';\n } else if (last2Digits > 10 && last2Digits < 20) {\n return number + '-ти';\n } else if (lastDigit === 1) {\n return number + '-ви';\n } else if (lastDigit === 2) {\n return number + '-ри';\n } else if (lastDigit === 7 || lastDigit === 8) {\n return number + '-ми';\n } else {\n return number + '-ти';\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return bg;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function plural(word, num) {\n var forms = word.split('_');\n return num % 10 === 1 && num % 100 !== 11 ? forms[0] : (num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) ? forms[1] : forms[2]);\n }\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n var format = {\n 'ss': withoutSuffix ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд',\n 'mm': withoutSuffix ? 'хвіліна_хвіліны_хвілін' : 'хвіліну_хвіліны_хвілін',\n 'hh': withoutSuffix ? 'гадзіна_гадзіны_гадзін' : 'гадзіну_гадзіны_гадзін',\n 'dd': 'дзень_дні_дзён',\n 'MM': 'месяц_месяцы_месяцаў',\n 'yy': 'год_гады_гадоў'\n };\n if (key === 'm') {\n return withoutSuffix ? 'хвіліна' : 'хвіліну';\n }\n else if (key === 'h') {\n return withoutSuffix ? 'гадзіна' : 'гадзіну';\n }\n else {\n return number + ' ' + plural(format[key], +number);\n }\n }\n\n var be = moment.defineLocale('be', {\n months : {\n format: 'студзеня_лютага_сакавіка_красавіка_траўня_чэрвеня_ліпеня_жніўня_верасня_кастрычніка_лістапада_снежня'.split('_'),\n standalone: 'студзень_люты_сакавік_красавік_травень_чэрвень_ліпень_жнівень_верасень_кастрычнік_лістапад_снежань'.split('_')\n },\n monthsShort : 'студ_лют_сак_крас_трав_чэрв_ліп_жнів_вер_каст_ліст_снеж'.split('_'),\n weekdays : {\n format: 'нядзелю_панядзелак_аўторак_сераду_чацвер_пятніцу_суботу'.split('_'),\n standalone: 'нядзеля_панядзелак_аўторак_серада_чацвер_пятніца_субота'.split('_'),\n isFormat: /\\[ ?[Ууў] ?(?:мінулую|наступную)? ?\\] ?dddd/\n },\n weekdaysShort : 'нд_пн_ат_ср_чц_пт_сб'.split('_'),\n weekdaysMin : 'нд_пн_ат_ср_чц_пт_сб'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY г.',\n LLL : 'D MMMM YYYY г., HH:mm',\n LLLL : 'dddd, D MMMM YYYY г., HH:mm'\n },\n calendar : {\n sameDay: '[Сёння ў] LT',\n nextDay: '[Заўтра ў] LT',\n lastDay: '[Учора ў] LT',\n nextWeek: function () {\n return '[У] dddd [ў] LT';\n },\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n case 3:\n case 5:\n case 6:\n return '[У мінулую] dddd [ў] LT';\n case 1:\n case 2:\n case 4:\n return '[У мінулы] dddd [ў] LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : 'праз %s',\n past : '%s таму',\n s : 'некалькі секунд',\n m : relativeTimeWithPlural,\n mm : relativeTimeWithPlural,\n h : relativeTimeWithPlural,\n hh : relativeTimeWithPlural,\n d : 'дзень',\n dd : relativeTimeWithPlural,\n M : 'месяц',\n MM : relativeTimeWithPlural,\n y : 'год',\n yy : relativeTimeWithPlural\n },\n meridiemParse: /ночы|раніцы|дня|вечара/,\n isPM : function (input) {\n return /^(дня|вечара)$/.test(input);\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ночы';\n } else if (hour < 12) {\n return 'раніцы';\n } else if (hour < 17) {\n return 'дня';\n } else {\n return 'вечара';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(і|ы|га)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'M':\n case 'd':\n case 'DDD':\n case 'w':\n case 'W':\n return (number % 10 === 2 || number % 10 === 3) && (number % 100 !== 12 && number % 100 !== 13) ? number + '-і' : number + '-ы';\n case 'D':\n return number + '-га';\n default:\n return number;\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return be;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var suffixes = {\n 1: '-inci',\n 5: '-inci',\n 8: '-inci',\n 70: '-inci',\n 80: '-inci',\n 2: '-nci',\n 7: '-nci',\n 20: '-nci',\n 50: '-nci',\n 3: '-üncü',\n 4: '-üncü',\n 100: '-üncü',\n 6: '-ncı',\n 9: '-uncu',\n 10: '-uncu',\n 30: '-uncu',\n 60: '-ıncı',\n 90: '-ıncı'\n };\n\n var az = moment.defineLocale('az', {\n months : 'yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr'.split('_'),\n monthsShort : 'yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek'.split('_'),\n weekdays : 'Bazar_Bazar ertəsi_Çərşənbə axşamı_Çərşənbə_Cümə axşamı_Cümə_Şənbə'.split('_'),\n weekdaysShort : 'Baz_BzE_ÇAx_Çər_CAx_Cüm_Şən'.split('_'),\n weekdaysMin : 'Bz_BE_ÇA_Çə_CA_Cü_Şə'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[bugün saat] LT',\n nextDay : '[sabah saat] LT',\n nextWeek : '[gələn həftə] dddd [saat] LT',\n lastDay : '[dünən] LT',\n lastWeek : '[keçən həftə] dddd [saat] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s sonra',\n past : '%s əvvəl',\n s : 'birneçə saniyə',\n ss : '%d saniyə',\n m : 'bir dəqiqə',\n mm : '%d dəqiqə',\n h : 'bir saat',\n hh : '%d saat',\n d : 'bir gün',\n dd : '%d gün',\n M : 'bir ay',\n MM : '%d ay',\n y : 'bir il',\n yy : '%d il'\n },\n meridiemParse: /gecə|səhər|gündüz|axşam/,\n isPM : function (input) {\n return /^(gündüz|axşam)$/.test(input);\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'gecə';\n } else if (hour < 12) {\n return 'səhər';\n } else if (hour < 17) {\n return 'gündüz';\n } else {\n return 'axşam';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ıncı|inci|nci|üncü|ncı|uncu)/,\n ordinal : function (number) {\n if (number === 0) { // special case for zero\n return number + '-ıncı';\n }\n var a = number % 10,\n b = number % 100 - a,\n c = number >= 100 ? 100 : null;\n return number + (suffixes[a] || suffixes[b] || suffixes[c]);\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return az;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var arTn = moment.defineLocale('ar-tn', {\n months: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),\n monthsShort: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact : true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'في %s',\n past: 'منذ %s',\n s: 'ثوان',\n ss : '%d ثانية',\n m: 'دقيقة',\n mm: '%d دقائق',\n h: 'ساعة',\n hh: '%d ساعات',\n d: 'يوم',\n dd: '%d أيام',\n M: 'شهر',\n MM: '%d أشهر',\n y: 'سنة',\n yy: '%d سنوات'\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return arTn;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '١',\n '2': '٢',\n '3': '٣',\n '4': '٤',\n '5': '٥',\n '6': '٦',\n '7': '٧',\n '8': '٨',\n '9': '٩',\n '0': '٠'\n }, numberMap = {\n '١': '1',\n '٢': '2',\n '٣': '3',\n '٤': '4',\n '٥': '5',\n '٦': '6',\n '٧': '7',\n '٨': '8',\n '٩': '9',\n '٠': '0'\n };\n\n var arSa = moment.defineLocale('ar-sa', {\n months : 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),\n monthsShort : 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),\n weekdays : 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort : 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n meridiemParse: /ص|م/,\n isPM : function (input) {\n return 'م' === input;\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ص';\n } else {\n return 'م';\n }\n },\n calendar : {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'في %s',\n past : 'منذ %s',\n s : 'ثوان',\n ss : '%d ثانية',\n m : 'دقيقة',\n mm : '%d دقائق',\n h : 'ساعة',\n hh : '%d ساعات',\n d : 'يوم',\n dd : '%d أيام',\n M : 'شهر',\n MM : '%d أشهر',\n y : 'سنة',\n yy : '%d سنوات'\n },\n preparse: function (string) {\n return string.replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\n return numberMap[match];\n }).replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n }).replace(/,/g, '،');\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return arSa;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var arMa = moment.defineLocale('ar-ma', {\n months : 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),\n monthsShort : 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),\n weekdays : 'الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort : 'احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'في %s',\n past : 'منذ %s',\n s : 'ثوان',\n ss : '%d ثانية',\n m : 'دقيقة',\n mm : '%d دقائق',\n h : 'ساعة',\n hh : '%d ساعات',\n d : 'يوم',\n dd : '%d أيام',\n M : 'شهر',\n MM : '%d أشهر',\n y : 'سنة',\n yy : '%d سنوات'\n },\n week : {\n dow : 6, // Saturday is the first day of the week.\n doy : 12 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return arMa;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '1',\n '2': '2',\n '3': '3',\n '4': '4',\n '5': '5',\n '6': '6',\n '7': '7',\n '8': '8',\n '9': '9',\n '0': '0'\n }, pluralForm = function (n) {\n return n === 0 ? 0 : n === 1 ? 1 : n === 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5;\n }, plurals = {\n s : ['أقل من ثانية', 'ثانية واحدة', ['ثانيتان', 'ثانيتين'], '%d ثوان', '%d ثانية', '%d ثانية'],\n m : ['أقل من دقيقة', 'دقيقة واحدة', ['دقيقتان', 'دقيقتين'], '%d دقائق', '%d دقيقة', '%d دقيقة'],\n h : ['أقل من ساعة', 'ساعة واحدة', ['ساعتان', 'ساعتين'], '%d ساعات', '%d ساعة', '%d ساعة'],\n d : ['أقل من يوم', 'يوم واحد', ['يومان', 'يومين'], '%d أيام', '%d يومًا', '%d يوم'],\n M : ['أقل من شهر', 'شهر واحد', ['شهران', 'شهرين'], '%d أشهر', '%d شهرا', '%d شهر'],\n y : ['أقل من عام', 'عام واحد', ['عامان', 'عامين'], '%d أعوام', '%d عامًا', '%d عام']\n }, pluralize = function (u) {\n return function (number, withoutSuffix, string, isFuture) {\n var f = pluralForm(number),\n str = plurals[u][pluralForm(number)];\n if (f === 2) {\n str = str[withoutSuffix ? 0 : 1];\n }\n return str.replace(/%d/i, number);\n };\n }, months = [\n 'يناير',\n 'فبراير',\n 'مارس',\n 'أبريل',\n 'مايو',\n 'يونيو',\n 'يوليو',\n 'أغسطس',\n 'سبتمبر',\n 'أكتوبر',\n 'نوفمبر',\n 'ديسمبر'\n ];\n\n var arLy = moment.defineLocale('ar-ly', {\n months : months,\n monthsShort : months,\n weekdays : 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort : 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'D/\\u200FM/\\u200FYYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n meridiemParse: /ص|م/,\n isPM : function (input) {\n return 'م' === input;\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ص';\n } else {\n return 'م';\n }\n },\n calendar : {\n sameDay: '[اليوم عند الساعة] LT',\n nextDay: '[غدًا عند الساعة] LT',\n nextWeek: 'dddd [عند الساعة] LT',\n lastDay: '[أمس عند الساعة] LT',\n lastWeek: 'dddd [عند الساعة] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'بعد %s',\n past : 'منذ %s',\n s : pluralize('s'),\n ss : pluralize('s'),\n m : pluralize('m'),\n mm : pluralize('m'),\n h : pluralize('h'),\n hh : pluralize('h'),\n d : pluralize('d'),\n dd : pluralize('d'),\n M : pluralize('M'),\n MM : pluralize('M'),\n y : pluralize('y'),\n yy : pluralize('y')\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n }).replace(/,/g, '،');\n },\n week : {\n dow : 6, // Saturday is the first day of the week.\n doy : 12 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return arLy;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var arKw = moment.defineLocale('ar-kw', {\n months : 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),\n monthsShort : 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),\n weekdays : 'الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort : 'احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'في %s',\n past : 'منذ %s',\n s : 'ثوان',\n ss : '%d ثانية',\n m : 'دقيقة',\n mm : '%d دقائق',\n h : 'ساعة',\n hh : '%d ساعات',\n d : 'يوم',\n dd : '%d أيام',\n M : 'شهر',\n MM : '%d أشهر',\n y : 'سنة',\n yy : '%d سنوات'\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 12 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return arKw;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var arDz = moment.defineLocale('ar-dz', {\n months : 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),\n monthsShort : 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),\n weekdays : 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort : 'احد_اثنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin : 'أح_إث_ثلا_أر_خم_جم_سب'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'في %s',\n past : 'منذ %s',\n s : 'ثوان',\n ss : '%d ثانية',\n m : 'دقيقة',\n mm : '%d دقائق',\n h : 'ساعة',\n hh : '%d ساعات',\n d : 'يوم',\n dd : '%d أيام',\n M : 'شهر',\n MM : '%d أشهر',\n y : 'سنة',\n yy : '%d سنوات'\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 4 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return arDz;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '١',\n '2': '٢',\n '3': '٣',\n '4': '٤',\n '5': '٥',\n '6': '٦',\n '7': '٧',\n '8': '٨',\n '9': '٩',\n '0': '٠'\n }, numberMap = {\n '١': '1',\n '٢': '2',\n '٣': '3',\n '٤': '4',\n '٥': '5',\n '٦': '6',\n '٧': '7',\n '٨': '8',\n '٩': '9',\n '٠': '0'\n }, pluralForm = function (n) {\n return n === 0 ? 0 : n === 1 ? 1 : n === 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5;\n }, plurals = {\n s : ['أقل من ثانية', 'ثانية واحدة', ['ثانيتان', 'ثانيتين'], '%d ثوان', '%d ثانية', '%d ثانية'],\n m : ['أقل من دقيقة', 'دقيقة واحدة', ['دقيقتان', 'دقيقتين'], '%d دقائق', '%d دقيقة', '%d دقيقة'],\n h : ['أقل من ساعة', 'ساعة واحدة', ['ساعتان', 'ساعتين'], '%d ساعات', '%d ساعة', '%d ساعة'],\n d : ['أقل من يوم', 'يوم واحد', ['يومان', 'يومين'], '%d أيام', '%d يومًا', '%d يوم'],\n M : ['أقل من شهر', 'شهر واحد', ['شهران', 'شهرين'], '%d أشهر', '%d شهرا', '%d شهر'],\n y : ['أقل من عام', 'عام واحد', ['عامان', 'عامين'], '%d أعوام', '%d عامًا', '%d عام']\n }, pluralize = function (u) {\n return function (number, withoutSuffix, string, isFuture) {\n var f = pluralForm(number),\n str = plurals[u][pluralForm(number)];\n if (f === 2) {\n str = str[withoutSuffix ? 0 : 1];\n }\n return str.replace(/%d/i, number);\n };\n }, months = [\n 'يناير',\n 'فبراير',\n 'مارس',\n 'أبريل',\n 'مايو',\n 'يونيو',\n 'يوليو',\n 'أغسطس',\n 'سبتمبر',\n 'أكتوبر',\n 'نوفمبر',\n 'ديسمبر'\n ];\n\n var ar = moment.defineLocale('ar', {\n months : months,\n monthsShort : months,\n weekdays : 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort : 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'D/\\u200FM/\\u200FYYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n meridiemParse: /ص|م/,\n isPM : function (input) {\n return 'م' === input;\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ص';\n } else {\n return 'م';\n }\n },\n calendar : {\n sameDay: '[اليوم عند الساعة] LT',\n nextDay: '[غدًا عند الساعة] LT',\n nextWeek: 'dddd [عند الساعة] LT',\n lastDay: '[أمس عند الساعة] LT',\n lastWeek: 'dddd [عند الساعة] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'بعد %s',\n past : 'منذ %s',\n s : pluralize('s'),\n ss : pluralize('s'),\n m : pluralize('m'),\n mm : pluralize('m'),\n h : pluralize('h'),\n hh : pluralize('h'),\n d : pluralize('d'),\n dd : pluralize('d'),\n M : pluralize('M'),\n MM : pluralize('M'),\n y : pluralize('y'),\n yy : pluralize('y')\n },\n preparse: function (string) {\n return string.replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\n return numberMap[match];\n }).replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n }).replace(/,/g, '،');\n },\n week : {\n dow : 6, // Saturday is the first day of the week.\n doy : 12 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n return ar;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var af = moment.defineLocale('af', {\n months : 'Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember'.split('_'),\n monthsShort : 'Jan_Feb_Mrt_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des'.split('_'),\n weekdays : 'Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag'.split('_'),\n weekdaysShort : 'Son_Maa_Din_Woe_Don_Vry_Sat'.split('_'),\n weekdaysMin : 'So_Ma_Di_Wo_Do_Vr_Sa'.split('_'),\n meridiemParse: /vm|nm/i,\n isPM : function (input) {\n return /^nm$/i.test(input);\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours < 12) {\n return isLower ? 'vm' : 'VM';\n } else {\n return isLower ? 'nm' : 'NM';\n }\n },\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Vandag om] LT',\n nextDay : '[Môre om] LT',\n nextWeek : 'dddd [om] LT',\n lastDay : '[Gister om] LT',\n lastWeek : '[Laas] dddd [om] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'oor %s',\n past : '%s gelede',\n s : '\\'n paar sekondes',\n ss : '%d sekondes',\n m : '\\'n minuut',\n mm : '%d minute',\n h : '\\'n uur',\n hh : '%d ure',\n d : '\\'n dag',\n dd : '%d dae',\n M : '\\'n maand',\n MM : '%d maande',\n y : '\\'n jaar',\n yy : '%d jaar'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n ordinal : function (number) {\n return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de'); // Thanks to Joris Röling : https://github.com/jjupiter\n },\n week : {\n dow : 1, // Maandag is die eerste dag van die week.\n doy : 4 // Die week wat die 4de Januarie bevat is die eerste week van die jaar.\n }\n });\n\n return af;\n\n})));\n","import { each } from './each';\n\nexport function extendDeep(target) {\n for (var i = 1; i < arguments.length; i++) {\n each(arguments[i], function(prop, key){\n if (( typeof target[key] !== 'undefined' && typeof prop !== 'undefined' ) &&\n ( typeof target[key] === 'object' && typeof prop === 'object' ) &&\n ( target[key] !== null && prop !== null )) {\n extendDeep(target[key], prop);\n }\n else {\n target[key] = prop;\n }\n });\n }\n return target;\n}\n","/* @license C3.js v0.6.12 | (c) C3 Team and other contributors | http://c3js.org/ */\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n (global.c3 = factory());\n}(this, (function () { 'use strict';\n\n function _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n }\n\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n\n function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n }\n\n function ChartInternal(api) {\n var $$ = this;\n $$.d3 = window.d3 ? window.d3 : typeof require !== 'undefined' ? require(\"d3\") : undefined;\n $$.api = api;\n $$.config = $$.getDefaultConfig();\n $$.data = {};\n $$.cache = {};\n $$.axes = {};\n }\n\n function Chart(config) {\n var $$ = this.internal = new ChartInternal(this);\n $$.loadConfig(config);\n $$.beforeInit(config);\n $$.init();\n $$.afterInit(config); // bind \"this\" to nested API\n\n (function bindThis(fn, target, argThis) {\n Object.keys(fn).forEach(function (key) {\n target[key] = fn[key].bind(argThis);\n\n if (Object.keys(fn[key]).length > 0) {\n bindThis(fn[key], target[key], argThis);\n }\n });\n })(Chart.prototype, this, this);\n }\n\n function AxisInternal(component, params) {\n var internal = this;\n internal.component = component;\n internal.params = params || {};\n internal.d3 = component.d3;\n internal.scale = internal.d3.scaleLinear();\n internal.range;\n internal.orient = \"bottom\";\n internal.innerTickSize = 6;\n internal.outerTickSize = this.params.withOuterTick ? 6 : 0;\n internal.tickPadding = 3;\n internal.tickValues = null;\n internal.tickFormat;\n internal.tickArguments;\n internal.tickOffset = 0;\n internal.tickCulling = true;\n internal.tickCentered;\n internal.tickTextCharSize;\n internal.tickTextRotate = internal.params.tickTextRotate;\n internal.tickLength;\n internal.axis = internal.generateAxis();\n }\n\n AxisInternal.prototype.axisX = function (selection, x, tickOffset) {\n selection.attr(\"transform\", function (d) {\n return \"translate(\" + Math.ceil(x(d) + tickOffset) + \", 0)\";\n });\n };\n\n AxisInternal.prototype.axisY = function (selection, y) {\n selection.attr(\"transform\", function (d) {\n return \"translate(0,\" + Math.ceil(y(d)) + \")\";\n });\n };\n\n AxisInternal.prototype.scaleExtent = function (domain) {\n var start = domain[0],\n stop = domain[domain.length - 1];\n return start < stop ? [start, stop] : [stop, start];\n };\n\n AxisInternal.prototype.generateTicks = function (scale) {\n var internal = this;\n var i,\n domain,\n ticks = [];\n\n if (scale.ticks) {\n return scale.ticks.apply(scale, internal.tickArguments);\n }\n\n domain = scale.domain();\n\n for (i = Math.ceil(domain[0]); i < domain[1]; i++) {\n ticks.push(i);\n }\n\n if (ticks.length > 0 && ticks[0] > 0) {\n ticks.unshift(ticks[0] - (ticks[1] - ticks[0]));\n }\n\n return ticks;\n };\n\n AxisInternal.prototype.copyScale = function () {\n var internal = this;\n var newScale = internal.scale.copy(),\n domain;\n\n if (internal.params.isCategory) {\n domain = internal.scale.domain();\n newScale.domain([domain[0], domain[1] - 1]);\n }\n\n return newScale;\n };\n\n AxisInternal.prototype.textFormatted = function (v) {\n var internal = this,\n formatted = internal.tickFormat ? internal.tickFormat(v) : v;\n return typeof formatted !== 'undefined' ? formatted : '';\n };\n\n AxisInternal.prototype.updateRange = function () {\n var internal = this;\n internal.range = internal.scale.rangeExtent ? internal.scale.rangeExtent() : internal.scaleExtent(internal.scale.range());\n return internal.range;\n };\n\n AxisInternal.prototype.updateTickTextCharSize = function (tick) {\n var internal = this;\n\n if (internal.tickTextCharSize) {\n return internal.tickTextCharSize;\n }\n\n var size = {\n h: 11.5,\n w: 5.5\n };\n tick.select('text').text(function (d) {\n return internal.textFormatted(d);\n }).each(function (d) {\n var box = this.getBoundingClientRect(),\n text = internal.textFormatted(d),\n h = box.height,\n w = text ? box.width / text.length : undefined;\n\n if (h && w) {\n size.h = h;\n size.w = w;\n }\n }).text('');\n internal.tickTextCharSize = size;\n return size;\n };\n\n AxisInternal.prototype.isVertical = function () {\n return this.orient === 'left' || this.orient === 'right';\n };\n\n AxisInternal.prototype.tspanData = function (d, i, scale) {\n var internal = this;\n var splitted = internal.params.tickMultiline ? internal.splitTickText(d, scale) : [].concat(internal.textFormatted(d));\n\n if (internal.params.tickMultiline && internal.params.tickMultilineMax > 0) {\n splitted = internal.ellipsify(splitted, internal.params.tickMultilineMax);\n }\n\n return splitted.map(function (s) {\n return {\n index: i,\n splitted: s,\n length: splitted.length\n };\n });\n };\n\n AxisInternal.prototype.splitTickText = function (d, scale) {\n var internal = this,\n tickText = internal.textFormatted(d),\n maxWidth = internal.params.tickWidth,\n subtext,\n spaceIndex,\n textWidth,\n splitted = [];\n\n if (Object.prototype.toString.call(tickText) === \"[object Array]\") {\n return tickText;\n }\n\n if (!maxWidth || maxWidth <= 0) {\n maxWidth = internal.isVertical() ? 95 : internal.params.isCategory ? Math.ceil(scale(1) - scale(0)) - 12 : 110;\n }\n\n function split(splitted, text) {\n spaceIndex = undefined;\n\n for (var i = 1; i < text.length; i++) {\n if (text.charAt(i) === ' ') {\n spaceIndex = i;\n }\n\n subtext = text.substr(0, i + 1);\n textWidth = internal.tickTextCharSize.w * subtext.length; // if text width gets over tick width, split by space index or crrent index\n\n if (maxWidth < textWidth) {\n return split(splitted.concat(text.substr(0, spaceIndex ? spaceIndex : i)), text.slice(spaceIndex ? spaceIndex + 1 : i));\n }\n }\n\n return splitted.concat(text);\n }\n\n return split(splitted, tickText + \"\");\n };\n\n AxisInternal.prototype.ellipsify = function (splitted, max) {\n if (splitted.length <= max) {\n return splitted;\n }\n\n var ellipsified = splitted.slice(0, max);\n var remaining = 3;\n\n for (var i = max - 1; i >= 0; i--) {\n var available = ellipsified[i].length;\n ellipsified[i] = ellipsified[i].substr(0, available - remaining).padEnd(available, '.');\n remaining -= available;\n\n if (remaining <= 0) {\n break;\n }\n }\n\n return ellipsified;\n };\n\n AxisInternal.prototype.updateTickLength = function () {\n var internal = this;\n internal.tickLength = Math.max(internal.innerTickSize, 0) + internal.tickPadding;\n };\n\n AxisInternal.prototype.lineY2 = function (d) {\n var internal = this,\n tickPosition = internal.scale(d) + (internal.tickCentered ? 0 : internal.tickOffset);\n return internal.range[0] < tickPosition && tickPosition < internal.range[1] ? internal.innerTickSize : 0;\n };\n\n AxisInternal.prototype.textY = function () {\n var internal = this,\n rotate = internal.tickTextRotate;\n return rotate ? 11.5 - 2.5 * (rotate / 15) * (rotate > 0 ? 1 : -1) : internal.tickLength;\n };\n\n AxisInternal.prototype.textTransform = function () {\n var internal = this,\n rotate = internal.tickTextRotate;\n return rotate ? \"rotate(\" + rotate + \")\" : \"\";\n };\n\n AxisInternal.prototype.textTextAnchor = function () {\n var internal = this,\n rotate = internal.tickTextRotate;\n return rotate ? rotate > 0 ? \"start\" : \"end\" : \"middle\";\n };\n\n AxisInternal.prototype.tspanDx = function () {\n var internal = this,\n rotate = internal.tickTextRotate;\n return rotate ? 8 * Math.sin(Math.PI * (rotate / 180)) : 0;\n };\n\n AxisInternal.prototype.tspanDy = function (d, i) {\n var internal = this,\n dy = internal.tickTextCharSize.h;\n\n if (i === 0) {\n if (internal.isVertical()) {\n dy = -((d.length - 1) * (internal.tickTextCharSize.h / 2) - 3);\n } else {\n dy = \".71em\";\n }\n }\n\n return dy;\n };\n\n AxisInternal.prototype.generateAxis = function () {\n var internal = this,\n d3 = internal.d3,\n params = internal.params;\n\n function axis(g, transition) {\n var self;\n g.each(function () {\n var g = axis.g = d3.select(this);\n var scale0 = this.__chart__ || internal.scale,\n scale1 = this.__chart__ = internal.copyScale();\n var ticksValues = internal.tickValues ? internal.tickValues : internal.generateTicks(scale1),\n ticks = g.selectAll(\".tick\").data(ticksValues, scale1),\n tickEnter = ticks.enter().insert(\"g\", \".domain\").attr(\"class\", \"tick\").style(\"opacity\", 1e-6),\n // MEMO: No exit transition. The reason is this transition affects max tick width calculation because old tick will be included in the ticks.\n tickExit = ticks.exit().remove(),\n tickUpdate = ticks.merge(tickEnter),\n tickTransform,\n tickX,\n tickY;\n\n if (params.isCategory) {\n internal.tickOffset = Math.ceil((scale1(1) - scale1(0)) / 2);\n tickX = internal.tickCentered ? 0 : internal.tickOffset;\n tickY = internal.tickCentered ? internal.tickOffset : 0;\n } else {\n internal.tickOffset = tickX = 0;\n }\n\n internal.updateRange();\n internal.updateTickLength();\n internal.updateTickTextCharSize(g.select('.tick'));\n var lineUpdate = tickUpdate.select(\"line\").merge(tickEnter.append(\"line\")),\n textUpdate = tickUpdate.select(\"text\").merge(tickEnter.append(\"text\"));\n var tspans = tickUpdate.selectAll('text').selectAll('tspan').data(function (d, i) {\n return internal.tspanData(d, i, scale1);\n }),\n tspanEnter = tspans.enter().append('tspan'),\n tspanUpdate = tspanEnter.merge(tspans).text(function (d) {\n return d.splitted;\n });\n tspans.exit().remove();\n var path = g.selectAll(\".domain\").data([0]),\n pathUpdate = path.enter().append(\"path\").merge(path).attr(\"class\", \"domain\"); // TODO: each attr should be one function and change its behavior by internal.orient, probably\n\n switch (internal.orient) {\n case \"bottom\":\n {\n tickTransform = internal.axisX;\n lineUpdate.attr(\"x1\", tickX).attr(\"x2\", tickX).attr(\"y2\", function (d, i) {\n return internal.lineY2(d, i);\n });\n textUpdate.attr(\"x\", 0).attr(\"y\", function (d, i) {\n return internal.textY(d, i);\n }).attr(\"transform\", function (d, i) {\n return internal.textTransform(d, i);\n }).style(\"text-anchor\", function (d, i) {\n return internal.textTextAnchor(d, i);\n });\n tspanUpdate.attr('x', 0).attr(\"dy\", function (d, i) {\n return internal.tspanDy(d, i);\n }).attr('dx', function (d, i) {\n return internal.tspanDx(d, i);\n });\n pathUpdate.attr(\"d\", \"M\" + internal.range[0] + \",\" + internal.outerTickSize + \"V0H\" + internal.range[1] + \"V\" + internal.outerTickSize);\n break;\n }\n\n case \"top\":\n {\n // TODO: rotated tick text\n tickTransform = internal.axisX;\n lineUpdate.attr(\"x1\", tickX).attr(\"x2\", tickX).attr(\"y2\", function (d, i) {\n return -1 * internal.lineY2(d, i);\n });\n textUpdate.attr(\"x\", 0).attr(\"y\", function (d, i) {\n return -1 * internal.textY(d, i) - (params.isCategory ? 2 : internal.tickLength - 2);\n }).attr(\"transform\", function (d, i) {\n return internal.textTransform(d, i);\n }).style(\"text-anchor\", function (d, i) {\n return internal.textTextAnchor(d, i);\n });\n tspanUpdate.attr('x', 0).attr(\"dy\", function (d, i) {\n return internal.tspanDy(d, i);\n }).attr('dx', function (d, i) {\n return internal.tspanDx(d, i);\n });\n pathUpdate.attr(\"d\", \"M\" + internal.range[0] + \",\" + -internal.outerTickSize + \"V0H\" + internal.range[1] + \"V\" + -internal.outerTickSize);\n break;\n }\n\n case \"left\":\n {\n tickTransform = internal.axisY;\n lineUpdate.attr(\"x2\", -internal.innerTickSize).attr(\"y1\", tickY).attr(\"y2\", tickY);\n textUpdate.attr(\"x\", -internal.tickLength).attr(\"y\", internal.tickOffset).style(\"text-anchor\", \"end\");\n tspanUpdate.attr('x', -internal.tickLength).attr(\"dy\", function (d, i) {\n return internal.tspanDy(d, i);\n });\n pathUpdate.attr(\"d\", \"M\" + -internal.outerTickSize + \",\" + internal.range[0] + \"H0V\" + internal.range[1] + \"H\" + -internal.outerTickSize);\n break;\n }\n\n case \"right\":\n {\n tickTransform = internal.axisY;\n lineUpdate.attr(\"x2\", internal.innerTickSize).attr(\"y1\", tickY).attr(\"y2\", tickY);\n textUpdate.attr(\"x\", internal.tickLength).attr(\"y\", internal.tickOffset).style(\"text-anchor\", \"start\");\n tspanUpdate.attr('x', internal.tickLength).attr(\"dy\", function (d, i) {\n return internal.tspanDy(d, i);\n });\n pathUpdate.attr(\"d\", \"M\" + internal.outerTickSize + \",\" + internal.range[0] + \"H0V\" + internal.range[1] + \"H\" + internal.outerTickSize);\n break;\n }\n }\n\n if (scale1.rangeBand) {\n var x = scale1,\n dx = x.rangeBand() / 2;\n\n scale0 = scale1 = function scale1(d) {\n return x(d) + dx;\n };\n } else if (scale0.rangeBand) {\n scale0 = scale1;\n } else {\n tickExit.call(tickTransform, scale1, internal.tickOffset);\n }\n\n tickEnter.call(tickTransform, scale0, internal.tickOffset);\n self = (transition ? tickUpdate.transition(transition) : tickUpdate).style('opacity', 1).call(tickTransform, scale1, internal.tickOffset);\n });\n return self;\n }\n\n axis.scale = function (x) {\n if (!arguments.length) {\n return internal.scale;\n }\n\n internal.scale = x;\n return axis;\n };\n\n axis.orient = function (x) {\n if (!arguments.length) {\n return internal.orient;\n }\n\n internal.orient = x in {\n top: 1,\n right: 1,\n bottom: 1,\n left: 1\n } ? x + \"\" : \"bottom\";\n return axis;\n };\n\n axis.tickFormat = function (format) {\n if (!arguments.length) {\n return internal.tickFormat;\n }\n\n internal.tickFormat = format;\n return axis;\n };\n\n axis.tickCentered = function (isCentered) {\n if (!arguments.length) {\n return internal.tickCentered;\n }\n\n internal.tickCentered = isCentered;\n return axis;\n };\n\n axis.tickOffset = function () {\n return internal.tickOffset;\n };\n\n axis.tickInterval = function () {\n var interval, length;\n\n if (params.isCategory) {\n interval = internal.tickOffset * 2;\n } else {\n length = axis.g.select('path.domain').node().getTotalLength() - internal.outerTickSize * 2;\n interval = length / axis.g.selectAll('line').size();\n }\n\n return interval === Infinity ? 0 : interval;\n };\n\n axis.ticks = function () {\n if (!arguments.length) {\n return internal.tickArguments;\n }\n\n internal.tickArguments = arguments;\n return axis;\n };\n\n axis.tickCulling = function (culling) {\n if (!arguments.length) {\n return internal.tickCulling;\n }\n\n internal.tickCulling = culling;\n return axis;\n };\n\n axis.tickValues = function (x) {\n if (typeof x === 'function') {\n internal.tickValues = function () {\n return x(internal.scale.domain());\n };\n } else {\n if (!arguments.length) {\n return internal.tickValues;\n }\n\n internal.tickValues = x;\n }\n\n return axis;\n };\n\n return axis;\n };\n\n var CLASS = {\n target: 'c3-target',\n chart: 'c3-chart',\n chartLine: 'c3-chart-line',\n chartLines: 'c3-chart-lines',\n chartBar: 'c3-chart-bar',\n chartBars: 'c3-chart-bars',\n chartText: 'c3-chart-text',\n chartTexts: 'c3-chart-texts',\n chartArc: 'c3-chart-arc',\n chartArcs: 'c3-chart-arcs',\n chartArcsTitle: 'c3-chart-arcs-title',\n chartArcsBackground: 'c3-chart-arcs-background',\n chartArcsGaugeUnit: 'c3-chart-arcs-gauge-unit',\n chartArcsGaugeMax: 'c3-chart-arcs-gauge-max',\n chartArcsGaugeMin: 'c3-chart-arcs-gauge-min',\n selectedCircle: 'c3-selected-circle',\n selectedCircles: 'c3-selected-circles',\n eventRect: 'c3-event-rect',\n eventRects: 'c3-event-rects',\n eventRectsSingle: 'c3-event-rects-single',\n eventRectsMultiple: 'c3-event-rects-multiple',\n zoomRect: 'c3-zoom-rect',\n brush: 'c3-brush',\n dragZoom: 'c3-drag-zoom',\n focused: 'c3-focused',\n defocused: 'c3-defocused',\n region: 'c3-region',\n regions: 'c3-regions',\n title: 'c3-title',\n tooltipContainer: 'c3-tooltip-container',\n tooltip: 'c3-tooltip',\n tooltipName: 'c3-tooltip-name',\n shape: 'c3-shape',\n shapes: 'c3-shapes',\n line: 'c3-line',\n lines: 'c3-lines',\n bar: 'c3-bar',\n bars: 'c3-bars',\n circle: 'c3-circle',\n circles: 'c3-circles',\n arc: 'c3-arc',\n arcLabelLine: 'c3-arc-label-line',\n arcs: 'c3-arcs',\n area: 'c3-area',\n areas: 'c3-areas',\n empty: 'c3-empty',\n text: 'c3-text',\n texts: 'c3-texts',\n gaugeValue: 'c3-gauge-value',\n grid: 'c3-grid',\n gridLines: 'c3-grid-lines',\n xgrid: 'c3-xgrid',\n xgrids: 'c3-xgrids',\n xgridLine: 'c3-xgrid-line',\n xgridLines: 'c3-xgrid-lines',\n xgridFocus: 'c3-xgrid-focus',\n ygrid: 'c3-ygrid',\n ygrids: 'c3-ygrids',\n ygridLine: 'c3-ygrid-line',\n ygridLines: 'c3-ygrid-lines',\n axis: 'c3-axis',\n axisX: 'c3-axis-x',\n axisXLabel: 'c3-axis-x-label',\n axisY: 'c3-axis-y',\n axisYLabel: 'c3-axis-y-label',\n axisY2: 'c3-axis-y2',\n axisY2Label: 'c3-axis-y2-label',\n legendBackground: 'c3-legend-background',\n legendItem: 'c3-legend-item',\n legendItemEvent: 'c3-legend-item-event',\n legendItemTile: 'c3-legend-item-tile',\n legendItemHidden: 'c3-legend-item-hidden',\n legendItemFocused: 'c3-legend-item-focused',\n dragarea: 'c3-dragarea',\n EXPANDED: '_expanded_',\n SELECTED: '_selected_',\n INCLUDED: '_included_'\n };\n\n var asHalfPixel = function asHalfPixel(n) {\n return Math.ceil(n) + 0.5;\n };\n var ceil10 = function ceil10(v) {\n return Math.ceil(v / 10) * 10;\n };\n var diffDomain = function diffDomain(d) {\n return d[1] - d[0];\n };\n var getOption = function getOption(options, key, defaultValue) {\n return isDefined(options[key]) ? options[key] : defaultValue;\n };\n var getPathBox = function getPathBox(path) {\n var box = path.getBoundingClientRect(),\n items = [path.pathSegList.getItem(0), path.pathSegList.getItem(1)],\n minX = items[0].x,\n minY = Math.min(items[0].y, items[1].y);\n return {\n x: minX,\n y: minY,\n width: box.width,\n height: box.height\n };\n };\n var hasValue = function hasValue(dict, value) {\n var found = false;\n Object.keys(dict).forEach(function (key) {\n if (dict[key] === value) {\n found = true;\n }\n });\n return found;\n };\n var isArray = function isArray(o) {\n return Array.isArray(o);\n };\n var isDefined = function isDefined(v) {\n return typeof v !== 'undefined';\n };\n var isEmpty = function isEmpty(o) {\n return typeof o === 'undefined' || o === null || isString(o) && o.length === 0 || _typeof(o) === 'object' && Object.keys(o).length === 0;\n };\n var isFunction = function isFunction(o) {\n return typeof o === 'function';\n };\n var isString = function isString(o) {\n return typeof o === 'string';\n };\n var isUndefined = function isUndefined(v) {\n return typeof v === 'undefined';\n };\n var isValue = function isValue(v) {\n return v || v === 0;\n };\n var notEmpty = function notEmpty(o) {\n return !isEmpty(o);\n };\n var sanitise = function sanitise(str) {\n return typeof str === 'string' ? str.replace(//g, '>') : str;\n };\n\n var Axis = function Axis(owner) {\n _classCallCheck(this, Axis);\n\n this.owner = owner;\n this.d3 = owner.d3;\n this.internal = AxisInternal;\n };\n\n Axis.prototype.init = function init() {\n var $$ = this.owner,\n config = $$.config,\n main = $$.main;\n $$.axes.x = main.append(\"g\").attr(\"class\", CLASS.axis + ' ' + CLASS.axisX).attr(\"clip-path\", config.axis_x_inner ? \"\" : $$.clipPathForXAxis).attr(\"transform\", $$.getTranslate('x')).style(\"visibility\", config.axis_x_show ? 'visible' : 'hidden');\n $$.axes.x.append(\"text\").attr(\"class\", CLASS.axisXLabel).attr(\"transform\", config.axis_rotated ? \"rotate(-90)\" : \"\").style(\"text-anchor\", this.textAnchorForXAxisLabel.bind(this));\n $$.axes.y = main.append(\"g\").attr(\"class\", CLASS.axis + ' ' + CLASS.axisY).attr(\"clip-path\", config.axis_y_inner ? \"\" : $$.clipPathForYAxis).attr(\"transform\", $$.getTranslate('y')).style(\"visibility\", config.axis_y_show ? 'visible' : 'hidden');\n $$.axes.y.append(\"text\").attr(\"class\", CLASS.axisYLabel).attr(\"transform\", config.axis_rotated ? \"\" : \"rotate(-90)\").style(\"text-anchor\", this.textAnchorForYAxisLabel.bind(this));\n $$.axes.y2 = main.append(\"g\").attr(\"class\", CLASS.axis + ' ' + CLASS.axisY2) // clip-path?\n .attr(\"transform\", $$.getTranslate('y2')).style(\"visibility\", config.axis_y2_show ? 'visible' : 'hidden');\n $$.axes.y2.append(\"text\").attr(\"class\", CLASS.axisY2Label).attr(\"transform\", config.axis_rotated ? \"\" : \"rotate(-90)\").style(\"text-anchor\", this.textAnchorForY2AxisLabel.bind(this));\n };\n\n Axis.prototype.getXAxis = function getXAxis(scale, orient, tickFormat, tickValues, withOuterTick, withoutTransition, withoutRotateTickText) {\n var $$ = this.owner,\n config = $$.config,\n axisParams = {\n isCategory: $$.isCategorized(),\n withOuterTick: withOuterTick,\n tickMultiline: config.axis_x_tick_multiline,\n tickMultilineMax: config.axis_x_tick_multiline ? Number(config.axis_x_tick_multilineMax) : 0,\n tickWidth: config.axis_x_tick_width,\n tickTextRotate: withoutRotateTickText ? 0 : config.axis_x_tick_rotate,\n withoutTransition: withoutTransition\n },\n axis = new this.internal(this, axisParams).axis.scale(scale).orient(orient);\n\n if ($$.isTimeSeries() && tickValues && typeof tickValues !== \"function\") {\n tickValues = tickValues.map(function (v) {\n return $$.parseDate(v);\n });\n } // Set tick\n\n\n axis.tickFormat(tickFormat).tickValues(tickValues);\n\n if ($$.isCategorized()) {\n axis.tickCentered(config.axis_x_tick_centered);\n\n if (isEmpty(config.axis_x_tick_culling)) {\n config.axis_x_tick_culling = false;\n }\n }\n\n return axis;\n };\n\n Axis.prototype.updateXAxisTickValues = function updateXAxisTickValues(targets, axis) {\n var $$ = this.owner,\n config = $$.config,\n tickValues;\n\n if (config.axis_x_tick_fit || config.axis_x_tick_count) {\n tickValues = this.generateTickValues($$.mapTargetsToUniqueXs(targets), config.axis_x_tick_count, $$.isTimeSeries());\n }\n\n if (axis) {\n axis.tickValues(tickValues);\n } else {\n $$.xAxis.tickValues(tickValues);\n $$.subXAxis.tickValues(tickValues);\n }\n\n return tickValues;\n };\n\n Axis.prototype.getYAxis = function getYAxis(scale, orient, tickFormat, tickValues, withOuterTick, withoutTransition, withoutRotateTickText) {\n var $$ = this.owner,\n config = $$.config,\n axisParams = {\n withOuterTick: withOuterTick,\n withoutTransition: withoutTransition,\n tickTextRotate: withoutRotateTickText ? 0 : config.axis_y_tick_rotate\n },\n axis = new this.internal(this, axisParams).axis.scale(scale).orient(orient).tickFormat(tickFormat);\n\n if ($$.isTimeSeriesY()) {\n axis.ticks(config.axis_y_tick_time_type, config.axis_y_tick_time_interval);\n } else {\n axis.tickValues(tickValues);\n }\n\n return axis;\n };\n\n Axis.prototype.getId = function getId(id) {\n var config = this.owner.config;\n return id in config.data_axes ? config.data_axes[id] : 'y';\n };\n\n Axis.prototype.getXAxisTickFormat = function getXAxisTickFormat() {\n // #2251 previously set any negative values to a whole number,\n // however both should be truncated according to the users format specification\n var $$ = this.owner,\n config = $$.config;\n var format = $$.isTimeSeries() ? $$.defaultAxisTimeFormat : $$.isCategorized() ? $$.categoryName : function (v) {\n return v;\n };\n\n if (config.axis_x_tick_format) {\n if (isFunction(config.axis_x_tick_format)) {\n format = config.axis_x_tick_format;\n } else if ($$.isTimeSeries()) {\n format = function format(date) {\n return date ? $$.axisTimeFormat(config.axis_x_tick_format)(date) : \"\";\n };\n }\n }\n\n return isFunction(format) ? function (v) {\n return format.call($$, v);\n } : format;\n };\n\n Axis.prototype.getTickValues = function getTickValues(tickValues, axis) {\n return tickValues ? tickValues : axis ? axis.tickValues() : undefined;\n };\n\n Axis.prototype.getXAxisTickValues = function getXAxisTickValues() {\n return this.getTickValues(this.owner.config.axis_x_tick_values, this.owner.xAxis);\n };\n\n Axis.prototype.getYAxisTickValues = function getYAxisTickValues() {\n return this.getTickValues(this.owner.config.axis_y_tick_values, this.owner.yAxis);\n };\n\n Axis.prototype.getY2AxisTickValues = function getY2AxisTickValues() {\n return this.getTickValues(this.owner.config.axis_y2_tick_values, this.owner.y2Axis);\n };\n\n Axis.prototype.getLabelOptionByAxisId = function getLabelOptionByAxisId(axisId) {\n var $$ = this.owner,\n config = $$.config,\n option;\n\n if (axisId === 'y') {\n option = config.axis_y_label;\n } else if (axisId === 'y2') {\n option = config.axis_y2_label;\n } else if (axisId === 'x') {\n option = config.axis_x_label;\n }\n\n return option;\n };\n\n Axis.prototype.getLabelText = function getLabelText(axisId) {\n var option = this.getLabelOptionByAxisId(axisId);\n return isString(option) ? option : option ? option.text : null;\n };\n\n Axis.prototype.setLabelText = function setLabelText(axisId, text) {\n var $$ = this.owner,\n config = $$.config,\n option = this.getLabelOptionByAxisId(axisId);\n\n if (isString(option)) {\n if (axisId === 'y') {\n config.axis_y_label = text;\n } else if (axisId === 'y2') {\n config.axis_y2_label = text;\n } else if (axisId === 'x') {\n config.axis_x_label = text;\n }\n } else if (option) {\n option.text = text;\n }\n };\n\n Axis.prototype.getLabelPosition = function getLabelPosition(axisId, defaultPosition) {\n var option = this.getLabelOptionByAxisId(axisId),\n position = option && _typeof(option) === 'object' && option.position ? option.position : defaultPosition;\n return {\n isInner: position.indexOf('inner') >= 0,\n isOuter: position.indexOf('outer') >= 0,\n isLeft: position.indexOf('left') >= 0,\n isCenter: position.indexOf('center') >= 0,\n isRight: position.indexOf('right') >= 0,\n isTop: position.indexOf('top') >= 0,\n isMiddle: position.indexOf('middle') >= 0,\n isBottom: position.indexOf('bottom') >= 0\n };\n };\n\n Axis.prototype.getXAxisLabelPosition = function getXAxisLabelPosition() {\n return this.getLabelPosition('x', this.owner.config.axis_rotated ? 'inner-top' : 'inner-right');\n };\n\n Axis.prototype.getYAxisLabelPosition = function getYAxisLabelPosition() {\n return this.getLabelPosition('y', this.owner.config.axis_rotated ? 'inner-right' : 'inner-top');\n };\n\n Axis.prototype.getY2AxisLabelPosition = function getY2AxisLabelPosition() {\n return this.getLabelPosition('y2', this.owner.config.axis_rotated ? 'inner-right' : 'inner-top');\n };\n\n Axis.prototype.getLabelPositionById = function getLabelPositionById(id) {\n return id === 'y2' ? this.getY2AxisLabelPosition() : id === 'y' ? this.getYAxisLabelPosition() : this.getXAxisLabelPosition();\n };\n\n Axis.prototype.textForXAxisLabel = function textForXAxisLabel() {\n return this.getLabelText('x');\n };\n\n Axis.prototype.textForYAxisLabel = function textForYAxisLabel() {\n return this.getLabelText('y');\n };\n\n Axis.prototype.textForY2AxisLabel = function textForY2AxisLabel() {\n return this.getLabelText('y2');\n };\n\n Axis.prototype.xForAxisLabel = function xForAxisLabel(forHorizontal, position) {\n var $$ = this.owner;\n\n if (forHorizontal) {\n return position.isLeft ? 0 : position.isCenter ? $$.width / 2 : $$.width;\n } else {\n return position.isBottom ? -$$.height : position.isMiddle ? -$$.height / 2 : 0;\n }\n };\n\n Axis.prototype.dxForAxisLabel = function dxForAxisLabel(forHorizontal, position) {\n if (forHorizontal) {\n return position.isLeft ? \"0.5em\" : position.isRight ? \"-0.5em\" : \"0\";\n } else {\n return position.isTop ? \"-0.5em\" : position.isBottom ? \"0.5em\" : \"0\";\n }\n };\n\n Axis.prototype.textAnchorForAxisLabel = function textAnchorForAxisLabel(forHorizontal, position) {\n if (forHorizontal) {\n return position.isLeft ? 'start' : position.isCenter ? 'middle' : 'end';\n } else {\n return position.isBottom ? 'start' : position.isMiddle ? 'middle' : 'end';\n }\n };\n\n Axis.prototype.xForXAxisLabel = function xForXAxisLabel() {\n return this.xForAxisLabel(!this.owner.config.axis_rotated, this.getXAxisLabelPosition());\n };\n\n Axis.prototype.xForYAxisLabel = function xForYAxisLabel() {\n return this.xForAxisLabel(this.owner.config.axis_rotated, this.getYAxisLabelPosition());\n };\n\n Axis.prototype.xForY2AxisLabel = function xForY2AxisLabel() {\n return this.xForAxisLabel(this.owner.config.axis_rotated, this.getY2AxisLabelPosition());\n };\n\n Axis.prototype.dxForXAxisLabel = function dxForXAxisLabel() {\n return this.dxForAxisLabel(!this.owner.config.axis_rotated, this.getXAxisLabelPosition());\n };\n\n Axis.prototype.dxForYAxisLabel = function dxForYAxisLabel() {\n return this.dxForAxisLabel(this.owner.config.axis_rotated, this.getYAxisLabelPosition());\n };\n\n Axis.prototype.dxForY2AxisLabel = function dxForY2AxisLabel() {\n return this.dxForAxisLabel(this.owner.config.axis_rotated, this.getY2AxisLabelPosition());\n };\n\n Axis.prototype.dyForXAxisLabel = function dyForXAxisLabel() {\n var $$ = this.owner,\n config = $$.config,\n position = this.getXAxisLabelPosition();\n\n if (config.axis_rotated) {\n return position.isInner ? \"1.2em\" : -25 - ($$.config.axis_x_inner ? 0 : this.getMaxTickWidth('x'));\n } else {\n return position.isInner ? \"-0.5em\" : config.axis_x_height ? config.axis_x_height - 10 : \"3em\";\n }\n };\n\n Axis.prototype.dyForYAxisLabel = function dyForYAxisLabel() {\n var $$ = this.owner,\n position = this.getYAxisLabelPosition();\n\n if ($$.config.axis_rotated) {\n return position.isInner ? \"-0.5em\" : \"3em\";\n } else {\n return position.isInner ? \"1.2em\" : -10 - ($$.config.axis_y_inner ? 0 : this.getMaxTickWidth('y') + 10);\n }\n };\n\n Axis.prototype.dyForY2AxisLabel = function dyForY2AxisLabel() {\n var $$ = this.owner,\n position = this.getY2AxisLabelPosition();\n\n if ($$.config.axis_rotated) {\n return position.isInner ? \"1.2em\" : \"-2.2em\";\n } else {\n return position.isInner ? \"-0.5em\" : 15 + ($$.config.axis_y2_inner ? 0 : this.getMaxTickWidth('y2') + 15);\n }\n };\n\n Axis.prototype.textAnchorForXAxisLabel = function textAnchorForXAxisLabel() {\n var $$ = this.owner;\n return this.textAnchorForAxisLabel(!$$.config.axis_rotated, this.getXAxisLabelPosition());\n };\n\n Axis.prototype.textAnchorForYAxisLabel = function textAnchorForYAxisLabel() {\n var $$ = this.owner;\n return this.textAnchorForAxisLabel($$.config.axis_rotated, this.getYAxisLabelPosition());\n };\n\n Axis.prototype.textAnchorForY2AxisLabel = function textAnchorForY2AxisLabel() {\n var $$ = this.owner;\n return this.textAnchorForAxisLabel($$.config.axis_rotated, this.getY2AxisLabelPosition());\n };\n\n Axis.prototype.getMaxTickWidth = function getMaxTickWidth(id, withoutRecompute) {\n var $$ = this.owner,\n config = $$.config,\n maxWidth = 0,\n targetsToShow,\n scale,\n axis,\n dummy,\n svg;\n\n if (withoutRecompute && $$.currentMaxTickWidths[id]) {\n return $$.currentMaxTickWidths[id];\n }\n\n if ($$.svg) {\n targetsToShow = $$.filterTargetsToShow($$.data.targets);\n\n if (id === 'y') {\n scale = $$.y.copy().domain($$.getYDomain(targetsToShow, 'y'));\n axis = this.getYAxis(scale, $$.yOrient, config.axis_y_tick_format, $$.yAxisTickValues, false, true, true);\n } else if (id === 'y2') {\n scale = $$.y2.copy().domain($$.getYDomain(targetsToShow, 'y2'));\n axis = this.getYAxis(scale, $$.y2Orient, config.axis_y2_tick_format, $$.y2AxisTickValues, false, true, true);\n } else {\n scale = $$.x.copy().domain($$.getXDomain(targetsToShow));\n axis = this.getXAxis(scale, $$.xOrient, $$.xAxisTickFormat, $$.xAxisTickValues, false, true, true);\n this.updateXAxisTickValues(targetsToShow, axis);\n }\n\n dummy = $$.d3.select('body').append('div').classed('c3', true);\n svg = dummy.append(\"svg\").style('visibility', 'hidden').style('position', 'fixed').style('top', 0).style('left', 0), svg.append('g').call(axis).each(function () {\n $$.d3.select(this).selectAll('text').each(function () {\n var box = this.getBoundingClientRect();\n\n if (maxWidth < box.width) {\n maxWidth = box.width;\n }\n });\n dummy.remove();\n });\n }\n\n $$.currentMaxTickWidths[id] = maxWidth <= 0 ? $$.currentMaxTickWidths[id] : maxWidth;\n return $$.currentMaxTickWidths[id];\n };\n\n Axis.prototype.updateLabels = function updateLabels(withTransition) {\n var $$ = this.owner;\n var axisXLabel = $$.main.select('.' + CLASS.axisX + ' .' + CLASS.axisXLabel),\n axisYLabel = $$.main.select('.' + CLASS.axisY + ' .' + CLASS.axisYLabel),\n axisY2Label = $$.main.select('.' + CLASS.axisY2 + ' .' + CLASS.axisY2Label);\n (withTransition ? axisXLabel.transition() : axisXLabel).attr(\"x\", this.xForXAxisLabel.bind(this)).attr(\"dx\", this.dxForXAxisLabel.bind(this)).attr(\"dy\", this.dyForXAxisLabel.bind(this)).text(this.textForXAxisLabel.bind(this));\n (withTransition ? axisYLabel.transition() : axisYLabel).attr(\"x\", this.xForYAxisLabel.bind(this)).attr(\"dx\", this.dxForYAxisLabel.bind(this)).attr(\"dy\", this.dyForYAxisLabel.bind(this)).text(this.textForYAxisLabel.bind(this));\n (withTransition ? axisY2Label.transition() : axisY2Label).attr(\"x\", this.xForY2AxisLabel.bind(this)).attr(\"dx\", this.dxForY2AxisLabel.bind(this)).attr(\"dy\", this.dyForY2AxisLabel.bind(this)).text(this.textForY2AxisLabel.bind(this));\n };\n\n Axis.prototype.getPadding = function getPadding(padding, key, defaultValue, domainLength) {\n var p = typeof padding === 'number' ? padding : padding[key];\n\n if (!isValue(p)) {\n return defaultValue;\n }\n\n if (padding.unit === 'ratio') {\n return padding[key] * domainLength;\n } // assume padding is pixels if unit is not specified\n\n\n return this.convertPixelsToAxisPadding(p, domainLength);\n };\n\n Axis.prototype.convertPixelsToAxisPadding = function convertPixelsToAxisPadding(pixels, domainLength) {\n var $$ = this.owner,\n length = $$.config.axis_rotated ? $$.width : $$.height;\n return domainLength * (pixels / length);\n };\n\n Axis.prototype.generateTickValues = function generateTickValues(values, tickCount, forTimeSeries) {\n var tickValues = values,\n targetCount,\n start,\n end,\n count,\n interval,\n i,\n tickValue;\n\n if (tickCount) {\n targetCount = isFunction(tickCount) ? tickCount() : tickCount; // compute ticks according to tickCount\n\n if (targetCount === 1) {\n tickValues = [values[0]];\n } else if (targetCount === 2) {\n tickValues = [values[0], values[values.length - 1]];\n } else if (targetCount > 2) {\n count = targetCount - 2;\n start = values[0];\n end = values[values.length - 1];\n interval = (end - start) / (count + 1); // re-construct unique values\n\n tickValues = [start];\n\n for (i = 0; i < count; i++) {\n tickValue = +start + interval * (i + 1);\n tickValues.push(forTimeSeries ? new Date(tickValue) : tickValue);\n }\n\n tickValues.push(end);\n }\n }\n\n if (!forTimeSeries) {\n tickValues = tickValues.sort(function (a, b) {\n return a - b;\n });\n }\n\n return tickValues;\n };\n\n Axis.prototype.generateTransitions = function generateTransitions(duration) {\n var $$ = this.owner,\n axes = $$.axes;\n return {\n axisX: duration ? axes.x.transition().duration(duration) : axes.x,\n axisY: duration ? axes.y.transition().duration(duration) : axes.y,\n axisY2: duration ? axes.y2.transition().duration(duration) : axes.y2,\n axisSubX: duration ? axes.subx.transition().duration(duration) : axes.subx\n };\n };\n\n Axis.prototype.redraw = function redraw(duration, isHidden) {\n var $$ = this.owner,\n transition = duration ? $$.d3.transition().duration(duration) : null;\n $$.axes.x.style(\"opacity\", isHidden ? 0 : 1).call($$.xAxis, transition);\n $$.axes.y.style(\"opacity\", isHidden ? 0 : 1).call($$.yAxis, transition);\n $$.axes.y2.style(\"opacity\", isHidden ? 0 : 1).call($$.y2Axis, transition);\n $$.axes.subx.style(\"opacity\", isHidden ? 0 : 1).call($$.subXAxis, transition);\n };\n\n var c3 = {\n version: \"0.6.12\",\n chart: {\n fn: Chart.prototype,\n internal: {\n fn: ChartInternal.prototype,\n axis: {\n fn: Axis.prototype,\n internal: {\n fn: AxisInternal.prototype\n }\n }\n }\n },\n generate: function generate(config) {\n return new Chart(config);\n }\n };\n\n ChartInternal.prototype.beforeInit = function () {// can do something\n };\n\n ChartInternal.prototype.afterInit = function () {// can do something\n };\n\n ChartInternal.prototype.init = function () {\n var $$ = this,\n config = $$.config;\n $$.initParams();\n\n if (config.data_url) {\n $$.convertUrlToData(config.data_url, config.data_mimeType, config.data_headers, config.data_keys, $$.initWithData);\n } else if (config.data_json) {\n $$.initWithData($$.convertJsonToData(config.data_json, config.data_keys));\n } else if (config.data_rows) {\n $$.initWithData($$.convertRowsToData(config.data_rows));\n } else if (config.data_columns) {\n $$.initWithData($$.convertColumnsToData(config.data_columns));\n } else {\n throw Error('url or json or rows or columns is required.');\n }\n };\n\n ChartInternal.prototype.initParams = function () {\n var $$ = this,\n d3 = $$.d3,\n config = $$.config; // MEMO: clipId needs to be unique because it conflicts when multiple charts exist\n\n $$.clipId = \"c3-\" + +new Date() + '-clip';\n $$.clipIdForXAxis = $$.clipId + '-xaxis';\n $$.clipIdForYAxis = $$.clipId + '-yaxis';\n $$.clipIdForGrid = $$.clipId + '-grid';\n $$.clipIdForSubchart = $$.clipId + '-subchart';\n $$.clipPath = $$.getClipPath($$.clipId);\n $$.clipPathForXAxis = $$.getClipPath($$.clipIdForXAxis);\n $$.clipPathForYAxis = $$.getClipPath($$.clipIdForYAxis);\n $$.clipPathForGrid = $$.getClipPath($$.clipIdForGrid);\n $$.clipPathForSubchart = $$.getClipPath($$.clipIdForSubchart);\n $$.dragStart = null;\n $$.dragging = false;\n $$.flowing = false;\n $$.cancelClick = false;\n $$.mouseover = false;\n $$.transiting = false;\n $$.color = $$.generateColor();\n $$.levelColor = $$.generateLevelColor();\n $$.dataTimeParse = (config.data_xLocaltime ? d3.timeParse : d3.utcParse)($$.config.data_xFormat);\n $$.axisTimeFormat = config.axis_x_localtime ? d3.timeFormat : d3.utcFormat;\n\n $$.defaultAxisTimeFormat = function (date) {\n if (date.getMilliseconds()) {\n return d3.timeFormat(\".%L\")(date);\n }\n\n if (date.getSeconds()) {\n return d3.timeFormat(\":%S\")(date);\n }\n\n if (date.getMinutes()) {\n return d3.timeFormat(\"%I:%M\")(date);\n }\n\n if (date.getHours()) {\n return d3.timeFormat(\"%I %p\")(date);\n }\n\n if (date.getDay() && date.getDate() !== 1) {\n return d3.timeFormat(\"%-m/%-d\")(date);\n }\n\n if (date.getDate() !== 1) {\n return d3.timeFormat(\"%-m/%-d\")(date);\n }\n\n if (date.getMonth()) {\n return d3.timeFormat(\"%-m/%-d\")(date);\n }\n\n return d3.timeFormat(\"%Y/%-m/%-d\")(date);\n };\n\n $$.hiddenTargetIds = [];\n $$.hiddenLegendIds = [];\n $$.focusedTargetIds = [];\n $$.defocusedTargetIds = [];\n $$.xOrient = config.axis_rotated ? config.axis_x_inner ? \"right\" : \"left\" : config.axis_x_inner ? \"top\" : \"bottom\";\n $$.yOrient = config.axis_rotated ? config.axis_y_inner ? \"top\" : \"bottom\" : config.axis_y_inner ? \"right\" : \"left\";\n $$.y2Orient = config.axis_rotated ? config.axis_y2_inner ? \"bottom\" : \"top\" : config.axis_y2_inner ? \"left\" : \"right\";\n $$.subXOrient = config.axis_rotated ? \"left\" : \"bottom\";\n $$.isLegendRight = config.legend_position === 'right';\n $$.isLegendInset = config.legend_position === 'inset';\n $$.isLegendTop = config.legend_inset_anchor === 'top-left' || config.legend_inset_anchor === 'top-right';\n $$.isLegendLeft = config.legend_inset_anchor === 'top-left' || config.legend_inset_anchor === 'bottom-left';\n $$.legendStep = 0;\n $$.legendItemWidth = 0;\n $$.legendItemHeight = 0;\n $$.currentMaxTickWidths = {\n x: 0,\n y: 0,\n y2: 0\n };\n $$.rotated_padding_left = 30;\n $$.rotated_padding_right = config.axis_rotated && !config.axis_x_show ? 0 : 30;\n $$.rotated_padding_top = 5;\n $$.withoutFadeIn = {};\n $$.intervalForObserveInserted = undefined;\n $$.axes.subx = d3.selectAll([]); // needs when excluding subchart.js\n };\n\n ChartInternal.prototype.initChartElements = function () {\n if (this.initBar) {\n this.initBar();\n }\n\n if (this.initLine) {\n this.initLine();\n }\n\n if (this.initArc) {\n this.initArc();\n }\n\n if (this.initGauge) {\n this.initGauge();\n }\n\n if (this.initText) {\n this.initText();\n }\n };\n\n ChartInternal.prototype.initWithData = function (data) {\n var $$ = this,\n d3 = $$.d3,\n config = $$.config;\n var defs,\n main,\n binding = true;\n $$.axis = new Axis($$);\n\n if (!config.bindto) {\n $$.selectChart = d3.selectAll([]);\n } else if (typeof config.bindto.node === 'function') {\n $$.selectChart = config.bindto;\n } else {\n $$.selectChart = d3.select(config.bindto);\n }\n\n if ($$.selectChart.empty()) {\n $$.selectChart = d3.select(document.createElement('div')).style('opacity', 0);\n $$.observeInserted($$.selectChart);\n binding = false;\n }\n\n $$.selectChart.html(\"\").classed(\"c3\", true); // Init data as targets\n\n $$.data.xs = {};\n $$.data.targets = $$.convertDataToTargets(data);\n\n if (config.data_filter) {\n $$.data.targets = $$.data.targets.filter(config.data_filter);\n } // Set targets to hide if needed\n\n\n if (config.data_hide) {\n $$.addHiddenTargetIds(config.data_hide === true ? $$.mapToIds($$.data.targets) : config.data_hide);\n }\n\n if (config.legend_hide) {\n $$.addHiddenLegendIds(config.legend_hide === true ? $$.mapToIds($$.data.targets) : config.legend_hide);\n } // Init sizes and scales\n\n\n $$.updateSizes();\n $$.updateScales(); // Set domains for each scale\n\n $$.x.domain(d3.extent($$.getXDomain($$.data.targets)));\n $$.y.domain($$.getYDomain($$.data.targets, 'y'));\n $$.y2.domain($$.getYDomain($$.data.targets, 'y2'));\n $$.subX.domain($$.x.domain());\n $$.subY.domain($$.y.domain());\n $$.subY2.domain($$.y2.domain()); // Save original x domain for zoom update\n\n $$.orgXDomain = $$.x.domain();\n /*-- Basic Elements --*/\n // Define svgs\n\n $$.svg = $$.selectChart.append(\"svg\").style(\"overflow\", \"hidden\").on('mouseenter', function () {\n return config.onmouseover.call($$);\n }).on('mouseleave', function () {\n return config.onmouseout.call($$);\n });\n\n if ($$.config.svg_classname) {\n $$.svg.attr('class', $$.config.svg_classname);\n } // Define defs\n\n\n defs = $$.svg.append(\"defs\");\n $$.clipChart = $$.appendClip(defs, $$.clipId);\n $$.clipXAxis = $$.appendClip(defs, $$.clipIdForXAxis);\n $$.clipYAxis = $$.appendClip(defs, $$.clipIdForYAxis);\n $$.clipGrid = $$.appendClip(defs, $$.clipIdForGrid);\n $$.clipSubchart = $$.appendClip(defs, $$.clipIdForSubchart);\n $$.updateSvgSize(); // Define regions\n\n main = $$.main = $$.svg.append(\"g\").attr(\"transform\", $$.getTranslate('main'));\n\n if ($$.initPie) {\n $$.initPie();\n }\n\n if ($$.initDragZoom) {\n $$.initDragZoom();\n }\n\n if ($$.initSubchart) {\n $$.initSubchart();\n }\n\n if ($$.initTooltip) {\n $$.initTooltip();\n }\n\n if ($$.initLegend) {\n $$.initLegend();\n }\n\n if ($$.initTitle) {\n $$.initTitle();\n }\n\n if ($$.initZoom) {\n $$.initZoom();\n } // Update selection based on size and scale\n // TODO: currently this must be called after initLegend because of update of sizes, but it should be done in initSubchart.\n\n\n if ($$.initSubchartBrush) {\n $$.initSubchartBrush();\n }\n /*-- Main Region --*/\n // text when empty\n\n\n main.append(\"text\").attr(\"class\", CLASS.text + ' ' + CLASS.empty).attr(\"text-anchor\", \"middle\") // horizontal centering of text at x position in all browsers.\n .attr(\"dominant-baseline\", \"middle\"); // vertical centering of text at y position in all browsers, except IE.\n // Regions\n\n $$.initRegion(); // Grids\n\n $$.initGrid(); // Define g for chart area\n\n main.append('g').attr(\"clip-path\", $$.clipPath).attr('class', CLASS.chart); // Grid lines\n\n if (config.grid_lines_front) {\n $$.initGridLines();\n } // Cover whole with rects for events\n\n\n $$.initEventRect(); // Define g for chart\n\n $$.initChartElements(); // Add Axis\n\n $$.axis.init(); // Set targets\n\n $$.updateTargets($$.data.targets); // Set default extent if defined\n\n if (config.axis_x_selection) {\n $$.brush.selectionAsValue($$.getDefaultSelection());\n } // Draw with targets\n\n\n if (binding) {\n $$.updateDimension();\n $$.config.oninit.call($$);\n $$.redraw({\n withTransition: false,\n withTransform: true,\n withUpdateXDomain: true,\n withUpdateOrgXDomain: true,\n withTransitionForAxis: false\n });\n } // Bind to resize event\n\n\n $$.bindResize(); // Bind to window focus event\n\n $$.bindWindowFocus(); // export element of the chart\n\n $$.api.element = $$.selectChart.node();\n };\n\n ChartInternal.prototype.smoothLines = function (el, type) {\n var $$ = this;\n\n if (type === 'grid') {\n el.each(function () {\n var g = $$.d3.select(this),\n x1 = g.attr('x1'),\n x2 = g.attr('x2'),\n y1 = g.attr('y1'),\n y2 = g.attr('y2');\n g.attr({\n 'x1': Math.ceil(x1),\n 'x2': Math.ceil(x2),\n 'y1': Math.ceil(y1),\n 'y2': Math.ceil(y2)\n });\n });\n }\n };\n\n ChartInternal.prototype.updateSizes = function () {\n var $$ = this,\n config = $$.config;\n var legendHeight = $$.legend ? $$.getLegendHeight() : 0,\n legendWidth = $$.legend ? $$.getLegendWidth() : 0,\n legendHeightForBottom = $$.isLegendRight || $$.isLegendInset ? 0 : legendHeight,\n hasArc = $$.hasArcType(),\n xAxisHeight = config.axis_rotated || hasArc ? 0 : $$.getHorizontalAxisHeight('x'),\n subchartHeight = config.subchart_show && !hasArc ? config.subchart_size_height + xAxisHeight : 0;\n $$.currentWidth = $$.getCurrentWidth();\n $$.currentHeight = $$.getCurrentHeight(); // for main\n\n $$.margin = config.axis_rotated ? {\n top: $$.getHorizontalAxisHeight('y2') + $$.getCurrentPaddingTop(),\n right: hasArc ? 0 : $$.getCurrentPaddingRight(),\n bottom: $$.getHorizontalAxisHeight('y') + legendHeightForBottom + $$.getCurrentPaddingBottom(),\n left: subchartHeight + (hasArc ? 0 : $$.getCurrentPaddingLeft())\n } : {\n top: 4 + $$.getCurrentPaddingTop(),\n // for top tick text\n right: hasArc ? 0 : $$.getCurrentPaddingRight(),\n bottom: xAxisHeight + subchartHeight + legendHeightForBottom + $$.getCurrentPaddingBottom(),\n left: hasArc ? 0 : $$.getCurrentPaddingLeft()\n }; // for subchart\n\n $$.margin2 = config.axis_rotated ? {\n top: $$.margin.top,\n right: NaN,\n bottom: 20 + legendHeightForBottom,\n left: $$.rotated_padding_left\n } : {\n top: $$.currentHeight - subchartHeight - legendHeightForBottom,\n right: NaN,\n bottom: xAxisHeight + legendHeightForBottom,\n left: $$.margin.left\n }; // for legend\n\n $$.margin3 = {\n top: 0,\n right: NaN,\n bottom: 0,\n left: 0\n };\n\n if ($$.updateSizeForLegend) {\n $$.updateSizeForLegend(legendHeight, legendWidth);\n }\n\n $$.width = $$.currentWidth - $$.margin.left - $$.margin.right;\n $$.height = $$.currentHeight - $$.margin.top - $$.margin.bottom;\n\n if ($$.width < 0) {\n $$.width = 0;\n }\n\n if ($$.height < 0) {\n $$.height = 0;\n }\n\n $$.width2 = config.axis_rotated ? $$.margin.left - $$.rotated_padding_left - $$.rotated_padding_right : $$.width;\n $$.height2 = config.axis_rotated ? $$.height : $$.currentHeight - $$.margin2.top - $$.margin2.bottom;\n\n if ($$.width2 < 0) {\n $$.width2 = 0;\n }\n\n if ($$.height2 < 0) {\n $$.height2 = 0;\n } // for arc\n\n\n $$.arcWidth = $$.width - ($$.isLegendRight ? legendWidth + 10 : 0);\n $$.arcHeight = $$.height - ($$.isLegendRight ? 0 : 10);\n\n if ($$.hasType('gauge') && !config.gauge_fullCircle) {\n $$.arcHeight += $$.height - $$.getGaugeLabelHeight();\n }\n\n if ($$.updateRadius) {\n $$.updateRadius();\n }\n\n if ($$.isLegendRight && hasArc) {\n $$.margin3.left = $$.arcWidth / 2 + $$.radiusExpanded * 1.1;\n }\n };\n\n ChartInternal.prototype.updateTargets = function (targets) {\n var $$ = this;\n /*-- Main --*/\n //-- Text --//\n\n $$.updateTargetsForText(targets); //-- Bar --//\n\n $$.updateTargetsForBar(targets); //-- Line --//\n\n $$.updateTargetsForLine(targets); //-- Arc --//\n\n if ($$.hasArcType() && $$.updateTargetsForArc) {\n $$.updateTargetsForArc(targets);\n }\n /*-- Sub --*/\n\n\n if ($$.updateTargetsForSubchart) {\n $$.updateTargetsForSubchart(targets);\n } // Fade-in each chart\n\n\n $$.showTargets();\n };\n\n ChartInternal.prototype.showTargets = function () {\n var $$ = this;\n $$.svg.selectAll('.' + CLASS.target).filter(function (d) {\n return $$.isTargetToShow(d.id);\n }).transition().duration($$.config.transition_duration).style(\"opacity\", 1);\n };\n\n ChartInternal.prototype.redraw = function (options, transitions) {\n var $$ = this,\n main = $$.main,\n d3 = $$.d3,\n config = $$.config;\n var areaIndices = $$.getShapeIndices($$.isAreaType),\n barIndices = $$.getShapeIndices($$.isBarType),\n lineIndices = $$.getShapeIndices($$.isLineType);\n var withY, withSubchart, withTransition, withTransitionForExit, withTransitionForAxis, withTransform, withUpdateXDomain, withUpdateOrgXDomain, withTrimXDomain, withLegend, withEventRect, withDimension, withUpdateXAxis;\n var hideAxis = $$.hasArcType();\n var drawArea, drawBar, drawLine, xForText, yForText;\n var duration, durationForExit, durationForAxis;\n var transitionsToWait, waitForDraw, flow, transition;\n var targetsToShow = $$.filterTargetsToShow($$.data.targets),\n tickValues,\n i,\n intervalForCulling,\n xDomainForZoom;\n var xv = $$.xv.bind($$),\n cx,\n cy;\n options = options || {};\n withY = getOption(options, \"withY\", true);\n withSubchart = getOption(options, \"withSubchart\", true);\n withTransition = getOption(options, \"withTransition\", true);\n withTransform = getOption(options, \"withTransform\", false);\n withUpdateXDomain = getOption(options, \"withUpdateXDomain\", false);\n withUpdateOrgXDomain = getOption(options, \"withUpdateOrgXDomain\", false);\n withTrimXDomain = getOption(options, \"withTrimXDomain\", true);\n withUpdateXAxis = getOption(options, \"withUpdateXAxis\", withUpdateXDomain);\n withLegend = getOption(options, \"withLegend\", false);\n withEventRect = getOption(options, \"withEventRect\", true);\n withDimension = getOption(options, \"withDimension\", true);\n withTransitionForExit = getOption(options, \"withTransitionForExit\", withTransition);\n withTransitionForAxis = getOption(options, \"withTransitionForAxis\", withTransition);\n duration = withTransition ? config.transition_duration : 0;\n durationForExit = withTransitionForExit ? duration : 0;\n durationForAxis = withTransitionForAxis ? duration : 0;\n transitions = transitions || $$.axis.generateTransitions(durationForAxis); // update legend and transform each g\n\n if (withLegend && config.legend_show) {\n $$.updateLegend($$.mapToIds($$.data.targets), options, transitions);\n } else if (withDimension) {\n // need to update dimension (e.g. axis.y.tick.values) because y tick values should change\n // no need to update axis in it because they will be updated in redraw()\n $$.updateDimension(true);\n } // MEMO: needed for grids calculation\n\n\n if ($$.isCategorized() && targetsToShow.length === 0) {\n $$.x.domain([0, $$.axes.x.selectAll('.tick').size()]);\n }\n\n if (targetsToShow.length) {\n $$.updateXDomain(targetsToShow, withUpdateXDomain, withUpdateOrgXDomain, withTrimXDomain);\n\n if (!config.axis_x_tick_values) {\n tickValues = $$.axis.updateXAxisTickValues(targetsToShow);\n }\n } else {\n $$.xAxis.tickValues([]);\n $$.subXAxis.tickValues([]);\n }\n\n if (config.zoom_rescale && !options.flow) {\n xDomainForZoom = $$.x.orgDomain();\n }\n\n $$.y.domain($$.getYDomain(targetsToShow, 'y', xDomainForZoom));\n $$.y2.domain($$.getYDomain(targetsToShow, 'y2', xDomainForZoom));\n\n if (!config.axis_y_tick_values && config.axis_y_tick_count) {\n $$.yAxis.tickValues($$.axis.generateTickValues($$.y.domain(), config.axis_y_tick_count));\n }\n\n if (!config.axis_y2_tick_values && config.axis_y2_tick_count) {\n $$.y2Axis.tickValues($$.axis.generateTickValues($$.y2.domain(), config.axis_y2_tick_count));\n } // axes\n\n\n $$.axis.redraw(durationForAxis, hideAxis); // Update axis label\n\n $$.axis.updateLabels(withTransition); // show/hide if manual culling needed\n\n if ((withUpdateXDomain || withUpdateXAxis) && targetsToShow.length) {\n if (config.axis_x_tick_culling && tickValues) {\n for (i = 1; i < tickValues.length; i++) {\n if (tickValues.length / i < config.axis_x_tick_culling_max) {\n intervalForCulling = i;\n break;\n }\n }\n\n $$.svg.selectAll('.' + CLASS.axisX + ' .tick text').each(function (e) {\n var index = tickValues.indexOf(e);\n\n if (index >= 0) {\n d3.select(this).style('display', index % intervalForCulling ? 'none' : 'block');\n }\n });\n } else {\n $$.svg.selectAll('.' + CLASS.axisX + ' .tick text').style('display', 'block');\n }\n } // setup drawer - MEMO: these must be called after axis updated\n\n\n drawArea = $$.generateDrawArea ? $$.generateDrawArea(areaIndices, false) : undefined;\n drawBar = $$.generateDrawBar ? $$.generateDrawBar(barIndices) : undefined;\n drawLine = $$.generateDrawLine ? $$.generateDrawLine(lineIndices, false) : undefined;\n xForText = $$.generateXYForText(areaIndices, barIndices, lineIndices, true);\n yForText = $$.generateXYForText(areaIndices, barIndices, lineIndices, false); // update circleY based on updated parameters\n\n $$.updateCircleY(); // generate circle x/y functions depending on updated params\n\n cx = ($$.config.axis_rotated ? $$.circleY : $$.circleX).bind($$);\n cy = ($$.config.axis_rotated ? $$.circleX : $$.circleY).bind($$); // Update sub domain\n\n if (withY) {\n $$.subY.domain($$.getYDomain(targetsToShow, 'y'));\n $$.subY2.domain($$.getYDomain(targetsToShow, 'y2'));\n } // xgrid focus\n\n\n $$.updateXgridFocus(); // Data empty label positioning and text.\n\n main.select(\"text.\" + CLASS.text + '.' + CLASS.empty).attr(\"x\", $$.width / 2).attr(\"y\", $$.height / 2).text(config.data_empty_label_text).transition().style('opacity', targetsToShow.length ? 0 : 1); // event rect\n\n if (withEventRect) {\n $$.redrawEventRect();\n } // grid\n\n\n $$.updateGrid(duration); // rect for regions\n\n $$.updateRegion(duration); // bars\n\n $$.updateBar(durationForExit); // lines, areas and cricles\n\n $$.updateLine(durationForExit);\n $$.updateArea(durationForExit);\n $$.updateCircle(cx, cy); // text\n\n if ($$.hasDataLabel()) {\n $$.updateText(xForText, yForText, durationForExit);\n } // title\n\n\n if ($$.redrawTitle) {\n $$.redrawTitle();\n } // arc\n\n\n if ($$.redrawArc) {\n $$.redrawArc(duration, durationForExit, withTransform);\n } // subchart\n\n\n if ($$.redrawSubchart) {\n $$.redrawSubchart(withSubchart, transitions, duration, durationForExit, areaIndices, barIndices, lineIndices);\n } // circles for select\n\n\n main.selectAll('.' + CLASS.selectedCircles).filter($$.isBarType.bind($$)).selectAll('circle').remove();\n\n if (options.flow) {\n flow = $$.generateFlow({\n targets: targetsToShow,\n flow: options.flow,\n duration: options.flow.duration,\n drawBar: drawBar,\n drawLine: drawLine,\n drawArea: drawArea,\n cx: cx,\n cy: cy,\n xv: xv,\n xForText: xForText,\n yForText: yForText\n });\n }\n\n if ($$.isTabVisible()) {\n // Only use transition if tab visible. See #938.\n if (duration) {\n // transition should be derived from one transition\n transition = d3.transition().duration(duration);\n transitionsToWait = [];\n [$$.redrawBar(drawBar, true, transition), $$.redrawLine(drawLine, true, transition), $$.redrawArea(drawArea, true, transition), $$.redrawCircle(cx, cy, true, transition), $$.redrawText(xForText, yForText, options.flow, true, transition), $$.redrawRegion(true, transition), $$.redrawGrid(true, transition)].forEach(function (transitions) {\n transitions.forEach(function (transition) {\n transitionsToWait.push(transition);\n });\n }); // Wait for end of transitions to call flow and onrendered callback\n\n waitForDraw = $$.generateWait();\n transitionsToWait.forEach(function (t) {\n waitForDraw.add(t);\n });\n waitForDraw(function () {\n if (flow) {\n flow();\n }\n\n if (config.onrendered) {\n config.onrendered.call($$);\n }\n });\n } else {\n $$.redrawBar(drawBar);\n $$.redrawLine(drawLine);\n $$.redrawArea(drawArea);\n $$.redrawCircle(cx, cy);\n $$.redrawText(xForText, yForText, options.flow);\n $$.redrawRegion();\n $$.redrawGrid();\n\n if (flow) {\n flow();\n }\n\n if (config.onrendered) {\n config.onrendered.call($$);\n }\n }\n } // update fadein condition\n\n\n $$.mapToIds($$.data.targets).forEach(function (id) {\n $$.withoutFadeIn[id] = true;\n });\n };\n\n ChartInternal.prototype.updateAndRedraw = function (options) {\n var $$ = this,\n config = $$.config,\n transitions;\n options = options || {}; // same with redraw\n\n options.withTransition = getOption(options, \"withTransition\", true);\n options.withTransform = getOption(options, \"withTransform\", false);\n options.withLegend = getOption(options, \"withLegend\", false); // NOT same with redraw\n\n options.withUpdateXDomain = getOption(options, \"withUpdateXDomain\", true);\n options.withUpdateOrgXDomain = getOption(options, \"withUpdateOrgXDomain\", true);\n options.withTransitionForExit = false;\n options.withTransitionForTransform = getOption(options, \"withTransitionForTransform\", options.withTransition); // MEMO: this needs to be called before updateLegend and it means this ALWAYS needs to be called)\n\n $$.updateSizes(); // MEMO: called in updateLegend in redraw if withLegend\n\n if (!(options.withLegend && config.legend_show)) {\n transitions = $$.axis.generateTransitions(options.withTransitionForAxis ? config.transition_duration : 0); // Update scales\n\n $$.updateScales();\n $$.updateSvgSize(); // Update g positions\n\n $$.transformAll(options.withTransitionForTransform, transitions);\n } // Draw with new sizes & scales\n\n\n $$.redraw(options, transitions);\n };\n\n ChartInternal.prototype.redrawWithoutRescale = function () {\n this.redraw({\n withY: false,\n withSubchart: false,\n withEventRect: false,\n withTransitionForAxis: false\n });\n };\n\n ChartInternal.prototype.isTimeSeries = function () {\n return this.config.axis_x_type === 'timeseries';\n };\n\n ChartInternal.prototype.isCategorized = function () {\n return this.config.axis_x_type.indexOf('categor') >= 0;\n };\n\n ChartInternal.prototype.isCustomX = function () {\n var $$ = this,\n config = $$.config;\n return !$$.isTimeSeries() && (config.data_x || notEmpty(config.data_xs));\n };\n\n ChartInternal.prototype.isTimeSeriesY = function () {\n return this.config.axis_y_type === 'timeseries';\n };\n\n ChartInternal.prototype.getTranslate = function (target) {\n var $$ = this,\n config = $$.config,\n x,\n y;\n\n if (target === 'main') {\n x = asHalfPixel($$.margin.left);\n y = asHalfPixel($$.margin.top);\n } else if (target === 'context') {\n x = asHalfPixel($$.margin2.left);\n y = asHalfPixel($$.margin2.top);\n } else if (target === 'legend') {\n x = $$.margin3.left;\n y = $$.margin3.top;\n } else if (target === 'x') {\n x = 0;\n y = config.axis_rotated ? 0 : $$.height;\n } else if (target === 'y') {\n x = 0;\n y = config.axis_rotated ? $$.height : 0;\n } else if (target === 'y2') {\n x = config.axis_rotated ? 0 : $$.width;\n y = config.axis_rotated ? 1 : 0;\n } else if (target === 'subx') {\n x = 0;\n y = config.axis_rotated ? 0 : $$.height2;\n } else if (target === 'arc') {\n x = $$.arcWidth / 2;\n y = $$.arcHeight / 2 - ($$.hasType('gauge') ? 6 : 0); // to prevent wrong display of min and max label\n }\n\n return \"translate(\" + x + \",\" + y + \")\";\n };\n\n ChartInternal.prototype.initialOpacity = function (d) {\n return d.value !== null && this.withoutFadeIn[d.id] ? 1 : 0;\n };\n\n ChartInternal.prototype.initialOpacityForCircle = function (d) {\n return d.value !== null && this.withoutFadeIn[d.id] ? this.opacityForCircle(d) : 0;\n };\n\n ChartInternal.prototype.opacityForCircle = function (d) {\n var isPointShouldBeShown = isFunction(this.config.point_show) ? this.config.point_show(d) : this.config.point_show;\n var opacity = isPointShouldBeShown ? 1 : 0;\n return isValue(d.value) ? this.isScatterType(d) ? 0.5 : opacity : 0;\n };\n\n ChartInternal.prototype.opacityForText = function () {\n return this.hasDataLabel() ? 1 : 0;\n };\n\n ChartInternal.prototype.xx = function (d) {\n return d ? this.x(d.x) : null;\n };\n\n ChartInternal.prototype.xv = function (d) {\n var $$ = this,\n value = d.value;\n\n if ($$.isTimeSeries()) {\n value = $$.parseDate(d.value);\n } else if ($$.isCategorized() && typeof d.value === 'string') {\n value = $$.config.axis_x_categories.indexOf(d.value);\n }\n\n return Math.ceil($$.x(value));\n };\n\n ChartInternal.prototype.yv = function (d) {\n var $$ = this,\n yScale = d.axis && d.axis === 'y2' ? $$.y2 : $$.y;\n return Math.ceil(yScale(d.value));\n };\n\n ChartInternal.prototype.subxx = function (d) {\n return d ? this.subX(d.x) : null;\n };\n\n ChartInternal.prototype.transformMain = function (withTransition, transitions) {\n var $$ = this,\n xAxis,\n yAxis,\n y2Axis;\n\n if (transitions && transitions.axisX) {\n xAxis = transitions.axisX;\n } else {\n xAxis = $$.main.select('.' + CLASS.axisX);\n\n if (withTransition) {\n xAxis = xAxis.transition();\n }\n }\n\n if (transitions && transitions.axisY) {\n yAxis = transitions.axisY;\n } else {\n yAxis = $$.main.select('.' + CLASS.axisY);\n\n if (withTransition) {\n yAxis = yAxis.transition();\n }\n }\n\n if (transitions && transitions.axisY2) {\n y2Axis = transitions.axisY2;\n } else {\n y2Axis = $$.main.select('.' + CLASS.axisY2);\n\n if (withTransition) {\n y2Axis = y2Axis.transition();\n }\n }\n\n (withTransition ? $$.main.transition() : $$.main).attr(\"transform\", $$.getTranslate('main'));\n xAxis.attr(\"transform\", $$.getTranslate('x'));\n yAxis.attr(\"transform\", $$.getTranslate('y'));\n y2Axis.attr(\"transform\", $$.getTranslate('y2'));\n $$.main.select('.' + CLASS.chartArcs).attr(\"transform\", $$.getTranslate('arc'));\n };\n\n ChartInternal.prototype.transformAll = function (withTransition, transitions) {\n var $$ = this;\n $$.transformMain(withTransition, transitions);\n\n if ($$.config.subchart_show) {\n $$.transformContext(withTransition, transitions);\n }\n\n if ($$.legend) {\n $$.transformLegend(withTransition);\n }\n };\n\n ChartInternal.prototype.updateSvgSize = function () {\n var $$ = this,\n brush = $$.svg.select(\".c3-brush .overlay\");\n $$.svg.attr('width', $$.currentWidth).attr('height', $$.currentHeight);\n $$.svg.selectAll(['#' + $$.clipId, '#' + $$.clipIdForGrid]).select('rect').attr('width', $$.width).attr('height', $$.height);\n $$.svg.select('#' + $$.clipIdForXAxis).select('rect').attr('x', $$.getXAxisClipX.bind($$)).attr('y', $$.getXAxisClipY.bind($$)).attr('width', $$.getXAxisClipWidth.bind($$)).attr('height', $$.getXAxisClipHeight.bind($$));\n $$.svg.select('#' + $$.clipIdForYAxis).select('rect').attr('x', $$.getYAxisClipX.bind($$)).attr('y', $$.getYAxisClipY.bind($$)).attr('width', $$.getYAxisClipWidth.bind($$)).attr('height', $$.getYAxisClipHeight.bind($$));\n $$.svg.select('#' + $$.clipIdForSubchart).select('rect').attr('width', $$.width).attr('height', brush.size() ? brush.attr('height') : 0);\n };\n\n ChartInternal.prototype.updateDimension = function (withoutAxis) {\n var $$ = this;\n\n if (!withoutAxis) {\n if ($$.config.axis_rotated) {\n $$.axes.x.call($$.xAxis);\n $$.axes.subx.call($$.subXAxis);\n } else {\n $$.axes.y.call($$.yAxis);\n $$.axes.y2.call($$.y2Axis);\n }\n }\n\n $$.updateSizes();\n $$.updateScales();\n $$.updateSvgSize();\n $$.transformAll(false);\n };\n\n ChartInternal.prototype.observeInserted = function (selection) {\n var $$ = this,\n observer;\n\n if (typeof MutationObserver === 'undefined') {\n window.console.error(\"MutationObserver not defined.\");\n return;\n }\n\n observer = new MutationObserver(function (mutations) {\n mutations.forEach(function (mutation) {\n if (mutation.type === 'childList' && mutation.previousSibling) {\n observer.disconnect(); // need to wait for completion of load because size calculation requires the actual sizes determined after that completion\n\n $$.intervalForObserveInserted = window.setInterval(function () {\n // parentNode will NOT be null when completed\n if (selection.node().parentNode) {\n window.clearInterval($$.intervalForObserveInserted);\n $$.updateDimension();\n\n if ($$.brush) {\n $$.brush.update();\n }\n\n $$.config.oninit.call($$);\n $$.redraw({\n withTransform: true,\n withUpdateXDomain: true,\n withUpdateOrgXDomain: true,\n withTransition: false,\n withTransitionForTransform: false,\n withLegend: true\n });\n selection.transition().style('opacity', 1);\n }\n }, 10);\n }\n });\n });\n observer.observe(selection.node(), {\n attributes: true,\n childList: true,\n characterData: true\n });\n };\n /**\n * Binds handlers to the window resize event.\n */\n\n\n ChartInternal.prototype.bindResize = function () {\n var $$ = this,\n config = $$.config;\n $$.resizeFunction = $$.generateResize(); // need to call .remove\n\n $$.resizeFunction.add(function () {\n config.onresize.call($$);\n });\n\n if (config.resize_auto) {\n $$.resizeFunction.add(function () {\n if ($$.resizeTimeout !== undefined) {\n window.clearTimeout($$.resizeTimeout);\n }\n\n $$.resizeTimeout = window.setTimeout(function () {\n delete $$.resizeTimeout;\n $$.updateAndRedraw({\n withUpdateXDomain: false,\n withUpdateOrgXDomain: false,\n withTransition: false,\n withTransitionForTransform: false,\n withLegend: true\n });\n\n if ($$.brush) {\n $$.brush.update();\n }\n }, 100);\n });\n }\n\n $$.resizeFunction.add(function () {\n config.onresized.call($$);\n });\n\n $$.resizeIfElementDisplayed = function () {\n // if element not displayed skip it\n if ($$.api == null || !$$.api.element.offsetParent) {\n return;\n }\n\n $$.resizeFunction();\n };\n\n if (window.attachEvent) {\n window.attachEvent('onresize', $$.resizeIfElementDisplayed);\n } else if (window.addEventListener) {\n window.addEventListener('resize', $$.resizeIfElementDisplayed, false);\n } else {\n // fallback to this, if this is a very old browser\n var wrapper = window.onresize;\n\n if (!wrapper) {\n // create a wrapper that will call all charts\n wrapper = $$.generateResize();\n } else if (!wrapper.add || !wrapper.remove) {\n // there is already a handler registered, make sure we call it too\n wrapper = $$.generateResize();\n wrapper.add(window.onresize);\n } // add this graph to the wrapper, we will be removed if the user calls destroy\n\n\n wrapper.add($$.resizeFunction);\n\n window.onresize = function () {\n // if element not displayed skip it\n if (!$$.api.element.offsetParent) {\n return;\n }\n\n wrapper();\n };\n }\n };\n /**\n * Binds handlers to the window focus event.\n */\n\n\n ChartInternal.prototype.bindWindowFocus = function () {\n var _this = this;\n\n if (this.windowFocusHandler) {\n // The handler is already set\n return;\n }\n\n this.windowFocusHandler = function () {\n _this.redraw();\n };\n\n window.addEventListener('focus', this.windowFocusHandler);\n };\n /**\n * Unbinds from the window focus event.\n */\n\n\n ChartInternal.prototype.unbindWindowFocus = function () {\n window.removeEventListener('focus', this.windowFocusHandler);\n delete this.windowFocusHandler;\n };\n\n ChartInternal.prototype.generateResize = function () {\n var resizeFunctions = [];\n\n function callResizeFunctions() {\n resizeFunctions.forEach(function (f) {\n f();\n });\n }\n\n callResizeFunctions.add = function (f) {\n resizeFunctions.push(f);\n };\n\n callResizeFunctions.remove = function (f) {\n for (var i = 0; i < resizeFunctions.length; i++) {\n if (resizeFunctions[i] === f) {\n resizeFunctions.splice(i, 1);\n break;\n }\n }\n };\n\n return callResizeFunctions;\n };\n\n ChartInternal.prototype.endall = function (transition, callback) {\n var n = 0;\n transition.each(function () {\n ++n;\n }).on(\"end\", function () {\n if (! --n) {\n callback.apply(this, arguments);\n }\n });\n };\n\n ChartInternal.prototype.generateWait = function () {\n var transitionsToWait = [],\n f = function f(callback) {\n var timer = setInterval(function () {\n var done = 0;\n transitionsToWait.forEach(function (t) {\n if (t.empty()) {\n done += 1;\n return;\n }\n\n try {\n t.transition();\n } catch (e) {\n done += 1;\n }\n });\n\n if (done === transitionsToWait.length) {\n clearInterval(timer);\n\n if (callback) {\n callback();\n }\n }\n }, 50);\n };\n\n f.add = function (transition) {\n transitionsToWait.push(transition);\n };\n\n return f;\n };\n\n ChartInternal.prototype.parseDate = function (date) {\n var $$ = this,\n parsedDate;\n\n if (date instanceof Date) {\n parsedDate = date;\n } else if (typeof date === 'string') {\n parsedDate = $$.dataTimeParse(date);\n } else if (_typeof(date) === 'object') {\n parsedDate = new Date(+date);\n } else if (typeof date === 'number' && !isNaN(date)) {\n parsedDate = new Date(+date);\n }\n\n if (!parsedDate || isNaN(+parsedDate)) {\n window.console.error(\"Failed to parse x '\" + date + \"' to Date object\");\n }\n\n return parsedDate;\n };\n\n ChartInternal.prototype.isTabVisible = function () {\n return !document.hidden;\n };\n\n ChartInternal.prototype.getPathBox = getPathBox;\n ChartInternal.prototype.CLASS = CLASS;\n\n /* jshint ignore:start */\n // SVGPathSeg API polyfill\n // https://github.com/progers/pathseg\n //\n // This is a drop-in replacement for the SVGPathSeg and SVGPathSegList APIs that were removed from\n // SVG2 (https://lists.w3.org/Archives/Public/www-svg/2015Jun/0044.html), including the latest spec\n // changes which were implemented in Firefox 43 and Chrome 46.\n (function () {\n\n if (!(\"SVGPathSeg\" in window)) {\n // Spec: http://www.w3.org/TR/SVG11/single-page.html#paths-InterfaceSVGPathSeg\n window.SVGPathSeg = function (type, typeAsLetter, owningPathSegList) {\n this.pathSegType = type;\n this.pathSegTypeAsLetter = typeAsLetter;\n this._owningPathSegList = owningPathSegList;\n };\n\n window.SVGPathSeg.prototype.classname = \"SVGPathSeg\";\n window.SVGPathSeg.PATHSEG_UNKNOWN = 0;\n window.SVGPathSeg.PATHSEG_CLOSEPATH = 1;\n window.SVGPathSeg.PATHSEG_MOVETO_ABS = 2;\n window.SVGPathSeg.PATHSEG_MOVETO_REL = 3;\n window.SVGPathSeg.PATHSEG_LINETO_ABS = 4;\n window.SVGPathSeg.PATHSEG_LINETO_REL = 5;\n window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_ABS = 6;\n window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_REL = 7;\n window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_ABS = 8;\n window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_REL = 9;\n window.SVGPathSeg.PATHSEG_ARC_ABS = 10;\n window.SVGPathSeg.PATHSEG_ARC_REL = 11;\n window.SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_ABS = 12;\n window.SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_REL = 13;\n window.SVGPathSeg.PATHSEG_LINETO_VERTICAL_ABS = 14;\n window.SVGPathSeg.PATHSEG_LINETO_VERTICAL_REL = 15;\n window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_ABS = 16;\n window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_REL = 17;\n window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS = 18;\n window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL = 19; // Notify owning PathSegList on any changes so they can be synchronized back to the path element.\n\n window.SVGPathSeg.prototype._segmentChanged = function () {\n if (this._owningPathSegList) this._owningPathSegList.segmentChanged(this);\n };\n\n window.SVGPathSegClosePath = function (owningPathSegList) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_CLOSEPATH, \"z\", owningPathSegList);\n };\n\n window.SVGPathSegClosePath.prototype = Object.create(window.SVGPathSeg.prototype);\n\n window.SVGPathSegClosePath.prototype.toString = function () {\n return \"[object SVGPathSegClosePath]\";\n };\n\n window.SVGPathSegClosePath.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter;\n };\n\n window.SVGPathSegClosePath.prototype.clone = function () {\n return new window.SVGPathSegClosePath(undefined);\n };\n\n window.SVGPathSegMovetoAbs = function (owningPathSegList, x, y) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_MOVETO_ABS, \"M\", owningPathSegList);\n this._x = x;\n this._y = y;\n };\n\n window.SVGPathSegMovetoAbs.prototype = Object.create(window.SVGPathSeg.prototype);\n\n window.SVGPathSegMovetoAbs.prototype.toString = function () {\n return \"[object SVGPathSegMovetoAbs]\";\n };\n\n window.SVGPathSegMovetoAbs.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._x + \" \" + this._y;\n };\n\n window.SVGPathSegMovetoAbs.prototype.clone = function () {\n return new window.SVGPathSegMovetoAbs(undefined, this._x, this._y);\n };\n\n Object.defineProperty(window.SVGPathSegMovetoAbs.prototype, \"x\", {\n get: function get() {\n return this._x;\n },\n set: function set(x) {\n this._x = x;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegMovetoAbs.prototype, \"y\", {\n get: function get() {\n return this._y;\n },\n set: function set(y) {\n this._y = y;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n\n window.SVGPathSegMovetoRel = function (owningPathSegList, x, y) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_MOVETO_REL, \"m\", owningPathSegList);\n this._x = x;\n this._y = y;\n };\n\n window.SVGPathSegMovetoRel.prototype = Object.create(window.SVGPathSeg.prototype);\n\n window.SVGPathSegMovetoRel.prototype.toString = function () {\n return \"[object SVGPathSegMovetoRel]\";\n };\n\n window.SVGPathSegMovetoRel.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._x + \" \" + this._y;\n };\n\n window.SVGPathSegMovetoRel.prototype.clone = function () {\n return new window.SVGPathSegMovetoRel(undefined, this._x, this._y);\n };\n\n Object.defineProperty(window.SVGPathSegMovetoRel.prototype, \"x\", {\n get: function get() {\n return this._x;\n },\n set: function set(x) {\n this._x = x;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegMovetoRel.prototype, \"y\", {\n get: function get() {\n return this._y;\n },\n set: function set(y) {\n this._y = y;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n\n window.SVGPathSegLinetoAbs = function (owningPathSegList, x, y) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_LINETO_ABS, \"L\", owningPathSegList);\n this._x = x;\n this._y = y;\n };\n\n window.SVGPathSegLinetoAbs.prototype = Object.create(window.SVGPathSeg.prototype);\n\n window.SVGPathSegLinetoAbs.prototype.toString = function () {\n return \"[object SVGPathSegLinetoAbs]\";\n };\n\n window.SVGPathSegLinetoAbs.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._x + \" \" + this._y;\n };\n\n window.SVGPathSegLinetoAbs.prototype.clone = function () {\n return new window.SVGPathSegLinetoAbs(undefined, this._x, this._y);\n };\n\n Object.defineProperty(window.SVGPathSegLinetoAbs.prototype, \"x\", {\n get: function get() {\n return this._x;\n },\n set: function set(x) {\n this._x = x;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegLinetoAbs.prototype, \"y\", {\n get: function get() {\n return this._y;\n },\n set: function set(y) {\n this._y = y;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n\n window.SVGPathSegLinetoRel = function (owningPathSegList, x, y) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_LINETO_REL, \"l\", owningPathSegList);\n this._x = x;\n this._y = y;\n };\n\n window.SVGPathSegLinetoRel.prototype = Object.create(window.SVGPathSeg.prototype);\n\n window.SVGPathSegLinetoRel.prototype.toString = function () {\n return \"[object SVGPathSegLinetoRel]\";\n };\n\n window.SVGPathSegLinetoRel.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._x + \" \" + this._y;\n };\n\n window.SVGPathSegLinetoRel.prototype.clone = function () {\n return new window.SVGPathSegLinetoRel(undefined, this._x, this._y);\n };\n\n Object.defineProperty(window.SVGPathSegLinetoRel.prototype, \"x\", {\n get: function get() {\n return this._x;\n },\n set: function set(x) {\n this._x = x;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegLinetoRel.prototype, \"y\", {\n get: function get() {\n return this._y;\n },\n set: function set(y) {\n this._y = y;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n\n window.SVGPathSegCurvetoCubicAbs = function (owningPathSegList, x, y, x1, y1, x2, y2) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_ABS, \"C\", owningPathSegList);\n this._x = x;\n this._y = y;\n this._x1 = x1;\n this._y1 = y1;\n this._x2 = x2;\n this._y2 = y2;\n };\n\n window.SVGPathSegCurvetoCubicAbs.prototype = Object.create(window.SVGPathSeg.prototype);\n\n window.SVGPathSegCurvetoCubicAbs.prototype.toString = function () {\n return \"[object SVGPathSegCurvetoCubicAbs]\";\n };\n\n window.SVGPathSegCurvetoCubicAbs.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._x1 + \" \" + this._y1 + \" \" + this._x2 + \" \" + this._y2 + \" \" + this._x + \" \" + this._y;\n };\n\n window.SVGPathSegCurvetoCubicAbs.prototype.clone = function () {\n return new window.SVGPathSegCurvetoCubicAbs(undefined, this._x, this._y, this._x1, this._y1, this._x2, this._y2);\n };\n\n Object.defineProperty(window.SVGPathSegCurvetoCubicAbs.prototype, \"x\", {\n get: function get() {\n return this._x;\n },\n set: function set(x) {\n this._x = x;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegCurvetoCubicAbs.prototype, \"y\", {\n get: function get() {\n return this._y;\n },\n set: function set(y) {\n this._y = y;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegCurvetoCubicAbs.prototype, \"x1\", {\n get: function get() {\n return this._x1;\n },\n set: function set(x1) {\n this._x1 = x1;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegCurvetoCubicAbs.prototype, \"y1\", {\n get: function get() {\n return this._y1;\n },\n set: function set(y1) {\n this._y1 = y1;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegCurvetoCubicAbs.prototype, \"x2\", {\n get: function get() {\n return this._x2;\n },\n set: function set(x2) {\n this._x2 = x2;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegCurvetoCubicAbs.prototype, \"y2\", {\n get: function get() {\n return this._y2;\n },\n set: function set(y2) {\n this._y2 = y2;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n\n window.SVGPathSegCurvetoCubicRel = function (owningPathSegList, x, y, x1, y1, x2, y2) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_REL, \"c\", owningPathSegList);\n this._x = x;\n this._y = y;\n this._x1 = x1;\n this._y1 = y1;\n this._x2 = x2;\n this._y2 = y2;\n };\n\n window.SVGPathSegCurvetoCubicRel.prototype = Object.create(window.SVGPathSeg.prototype);\n\n window.SVGPathSegCurvetoCubicRel.prototype.toString = function () {\n return \"[object SVGPathSegCurvetoCubicRel]\";\n };\n\n window.SVGPathSegCurvetoCubicRel.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._x1 + \" \" + this._y1 + \" \" + this._x2 + \" \" + this._y2 + \" \" + this._x + \" \" + this._y;\n };\n\n window.SVGPathSegCurvetoCubicRel.prototype.clone = function () {\n return new window.SVGPathSegCurvetoCubicRel(undefined, this._x, this._y, this._x1, this._y1, this._x2, this._y2);\n };\n\n Object.defineProperty(window.SVGPathSegCurvetoCubicRel.prototype, \"x\", {\n get: function get() {\n return this._x;\n },\n set: function set(x) {\n this._x = x;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegCurvetoCubicRel.prototype, \"y\", {\n get: function get() {\n return this._y;\n },\n set: function set(y) {\n this._y = y;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegCurvetoCubicRel.prototype, \"x1\", {\n get: function get() {\n return this._x1;\n },\n set: function set(x1) {\n this._x1 = x1;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegCurvetoCubicRel.prototype, \"y1\", {\n get: function get() {\n return this._y1;\n },\n set: function set(y1) {\n this._y1 = y1;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegCurvetoCubicRel.prototype, \"x2\", {\n get: function get() {\n return this._x2;\n },\n set: function set(x2) {\n this._x2 = x2;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegCurvetoCubicRel.prototype, \"y2\", {\n get: function get() {\n return this._y2;\n },\n set: function set(y2) {\n this._y2 = y2;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n\n window.SVGPathSegCurvetoQuadraticAbs = function (owningPathSegList, x, y, x1, y1) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_ABS, \"Q\", owningPathSegList);\n this._x = x;\n this._y = y;\n this._x1 = x1;\n this._y1 = y1;\n };\n\n window.SVGPathSegCurvetoQuadraticAbs.prototype = Object.create(window.SVGPathSeg.prototype);\n\n window.SVGPathSegCurvetoQuadraticAbs.prototype.toString = function () {\n return \"[object SVGPathSegCurvetoQuadraticAbs]\";\n };\n\n window.SVGPathSegCurvetoQuadraticAbs.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._x1 + \" \" + this._y1 + \" \" + this._x + \" \" + this._y;\n };\n\n window.SVGPathSegCurvetoQuadraticAbs.prototype.clone = function () {\n return new window.SVGPathSegCurvetoQuadraticAbs(undefined, this._x, this._y, this._x1, this._y1);\n };\n\n Object.defineProperty(window.SVGPathSegCurvetoQuadraticAbs.prototype, \"x\", {\n get: function get() {\n return this._x;\n },\n set: function set(x) {\n this._x = x;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegCurvetoQuadraticAbs.prototype, \"y\", {\n get: function get() {\n return this._y;\n },\n set: function set(y) {\n this._y = y;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegCurvetoQuadraticAbs.prototype, \"x1\", {\n get: function get() {\n return this._x1;\n },\n set: function set(x1) {\n this._x1 = x1;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegCurvetoQuadraticAbs.prototype, \"y1\", {\n get: function get() {\n return this._y1;\n },\n set: function set(y1) {\n this._y1 = y1;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n\n window.SVGPathSegCurvetoQuadraticRel = function (owningPathSegList, x, y, x1, y1) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_REL, \"q\", owningPathSegList);\n this._x = x;\n this._y = y;\n this._x1 = x1;\n this._y1 = y1;\n };\n\n window.SVGPathSegCurvetoQuadraticRel.prototype = Object.create(window.SVGPathSeg.prototype);\n\n window.SVGPathSegCurvetoQuadraticRel.prototype.toString = function () {\n return \"[object SVGPathSegCurvetoQuadraticRel]\";\n };\n\n window.SVGPathSegCurvetoQuadraticRel.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._x1 + \" \" + this._y1 + \" \" + this._x + \" \" + this._y;\n };\n\n window.SVGPathSegCurvetoQuadraticRel.prototype.clone = function () {\n return new window.SVGPathSegCurvetoQuadraticRel(undefined, this._x, this._y, this._x1, this._y1);\n };\n\n Object.defineProperty(window.SVGPathSegCurvetoQuadraticRel.prototype, \"x\", {\n get: function get() {\n return this._x;\n },\n set: function set(x) {\n this._x = x;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegCurvetoQuadraticRel.prototype, \"y\", {\n get: function get() {\n return this._y;\n },\n set: function set(y) {\n this._y = y;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegCurvetoQuadraticRel.prototype, \"x1\", {\n get: function get() {\n return this._x1;\n },\n set: function set(x1) {\n this._x1 = x1;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegCurvetoQuadraticRel.prototype, \"y1\", {\n get: function get() {\n return this._y1;\n },\n set: function set(y1) {\n this._y1 = y1;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n\n window.SVGPathSegArcAbs = function (owningPathSegList, x, y, r1, r2, angle, largeArcFlag, sweepFlag) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_ARC_ABS, \"A\", owningPathSegList);\n this._x = x;\n this._y = y;\n this._r1 = r1;\n this._r2 = r2;\n this._angle = angle;\n this._largeArcFlag = largeArcFlag;\n this._sweepFlag = sweepFlag;\n };\n\n window.SVGPathSegArcAbs.prototype = Object.create(window.SVGPathSeg.prototype);\n\n window.SVGPathSegArcAbs.prototype.toString = function () {\n return \"[object SVGPathSegArcAbs]\";\n };\n\n window.SVGPathSegArcAbs.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._r1 + \" \" + this._r2 + \" \" + this._angle + \" \" + (this._largeArcFlag ? \"1\" : \"0\") + \" \" + (this._sweepFlag ? \"1\" : \"0\") + \" \" + this._x + \" \" + this._y;\n };\n\n window.SVGPathSegArcAbs.prototype.clone = function () {\n return new window.SVGPathSegArcAbs(undefined, this._x, this._y, this._r1, this._r2, this._angle, this._largeArcFlag, this._sweepFlag);\n };\n\n Object.defineProperty(window.SVGPathSegArcAbs.prototype, \"x\", {\n get: function get() {\n return this._x;\n },\n set: function set(x) {\n this._x = x;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegArcAbs.prototype, \"y\", {\n get: function get() {\n return this._y;\n },\n set: function set(y) {\n this._y = y;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegArcAbs.prototype, \"r1\", {\n get: function get() {\n return this._r1;\n },\n set: function set(r1) {\n this._r1 = r1;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegArcAbs.prototype, \"r2\", {\n get: function get() {\n return this._r2;\n },\n set: function set(r2) {\n this._r2 = r2;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegArcAbs.prototype, \"angle\", {\n get: function get() {\n return this._angle;\n },\n set: function set(angle) {\n this._angle = angle;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegArcAbs.prototype, \"largeArcFlag\", {\n get: function get() {\n return this._largeArcFlag;\n },\n set: function set(largeArcFlag) {\n this._largeArcFlag = largeArcFlag;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegArcAbs.prototype, \"sweepFlag\", {\n get: function get() {\n return this._sweepFlag;\n },\n set: function set(sweepFlag) {\n this._sweepFlag = sweepFlag;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n\n window.SVGPathSegArcRel = function (owningPathSegList, x, y, r1, r2, angle, largeArcFlag, sweepFlag) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_ARC_REL, \"a\", owningPathSegList);\n this._x = x;\n this._y = y;\n this._r1 = r1;\n this._r2 = r2;\n this._angle = angle;\n this._largeArcFlag = largeArcFlag;\n this._sweepFlag = sweepFlag;\n };\n\n window.SVGPathSegArcRel.prototype = Object.create(window.SVGPathSeg.prototype);\n\n window.SVGPathSegArcRel.prototype.toString = function () {\n return \"[object SVGPathSegArcRel]\";\n };\n\n window.SVGPathSegArcRel.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._r1 + \" \" + this._r2 + \" \" + this._angle + \" \" + (this._largeArcFlag ? \"1\" : \"0\") + \" \" + (this._sweepFlag ? \"1\" : \"0\") + \" \" + this._x + \" \" + this._y;\n };\n\n window.SVGPathSegArcRel.prototype.clone = function () {\n return new window.SVGPathSegArcRel(undefined, this._x, this._y, this._r1, this._r2, this._angle, this._largeArcFlag, this._sweepFlag);\n };\n\n Object.defineProperty(window.SVGPathSegArcRel.prototype, \"x\", {\n get: function get() {\n return this._x;\n },\n set: function set(x) {\n this._x = x;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegArcRel.prototype, \"y\", {\n get: function get() {\n return this._y;\n },\n set: function set(y) {\n this._y = y;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegArcRel.prototype, \"r1\", {\n get: function get() {\n return this._r1;\n },\n set: function set(r1) {\n this._r1 = r1;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegArcRel.prototype, \"r2\", {\n get: function get() {\n return this._r2;\n },\n set: function set(r2) {\n this._r2 = r2;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegArcRel.prototype, \"angle\", {\n get: function get() {\n return this._angle;\n },\n set: function set(angle) {\n this._angle = angle;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegArcRel.prototype, \"largeArcFlag\", {\n get: function get() {\n return this._largeArcFlag;\n },\n set: function set(largeArcFlag) {\n this._largeArcFlag = largeArcFlag;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegArcRel.prototype, \"sweepFlag\", {\n get: function get() {\n return this._sweepFlag;\n },\n set: function set(sweepFlag) {\n this._sweepFlag = sweepFlag;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n\n window.SVGPathSegLinetoHorizontalAbs = function (owningPathSegList, x) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_ABS, \"H\", owningPathSegList);\n this._x = x;\n };\n\n window.SVGPathSegLinetoHorizontalAbs.prototype = Object.create(window.SVGPathSeg.prototype);\n\n window.SVGPathSegLinetoHorizontalAbs.prototype.toString = function () {\n return \"[object SVGPathSegLinetoHorizontalAbs]\";\n };\n\n window.SVGPathSegLinetoHorizontalAbs.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._x;\n };\n\n window.SVGPathSegLinetoHorizontalAbs.prototype.clone = function () {\n return new window.SVGPathSegLinetoHorizontalAbs(undefined, this._x);\n };\n\n Object.defineProperty(window.SVGPathSegLinetoHorizontalAbs.prototype, \"x\", {\n get: function get() {\n return this._x;\n },\n set: function set(x) {\n this._x = x;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n\n window.SVGPathSegLinetoHorizontalRel = function (owningPathSegList, x) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_REL, \"h\", owningPathSegList);\n this._x = x;\n };\n\n window.SVGPathSegLinetoHorizontalRel.prototype = Object.create(window.SVGPathSeg.prototype);\n\n window.SVGPathSegLinetoHorizontalRel.prototype.toString = function () {\n return \"[object SVGPathSegLinetoHorizontalRel]\";\n };\n\n window.SVGPathSegLinetoHorizontalRel.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._x;\n };\n\n window.SVGPathSegLinetoHorizontalRel.prototype.clone = function () {\n return new window.SVGPathSegLinetoHorizontalRel(undefined, this._x);\n };\n\n Object.defineProperty(window.SVGPathSegLinetoHorizontalRel.prototype, \"x\", {\n get: function get() {\n return this._x;\n },\n set: function set(x) {\n this._x = x;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n\n window.SVGPathSegLinetoVerticalAbs = function (owningPathSegList, y) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_LINETO_VERTICAL_ABS, \"V\", owningPathSegList);\n this._y = y;\n };\n\n window.SVGPathSegLinetoVerticalAbs.prototype = Object.create(window.SVGPathSeg.prototype);\n\n window.SVGPathSegLinetoVerticalAbs.prototype.toString = function () {\n return \"[object SVGPathSegLinetoVerticalAbs]\";\n };\n\n window.SVGPathSegLinetoVerticalAbs.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._y;\n };\n\n window.SVGPathSegLinetoVerticalAbs.prototype.clone = function () {\n return new window.SVGPathSegLinetoVerticalAbs(undefined, this._y);\n };\n\n Object.defineProperty(window.SVGPathSegLinetoVerticalAbs.prototype, \"y\", {\n get: function get() {\n return this._y;\n },\n set: function set(y) {\n this._y = y;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n\n window.SVGPathSegLinetoVerticalRel = function (owningPathSegList, y) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_LINETO_VERTICAL_REL, \"v\", owningPathSegList);\n this._y = y;\n };\n\n window.SVGPathSegLinetoVerticalRel.prototype = Object.create(window.SVGPathSeg.prototype);\n\n window.SVGPathSegLinetoVerticalRel.prototype.toString = function () {\n return \"[object SVGPathSegLinetoVerticalRel]\";\n };\n\n window.SVGPathSegLinetoVerticalRel.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._y;\n };\n\n window.SVGPathSegLinetoVerticalRel.prototype.clone = function () {\n return new window.SVGPathSegLinetoVerticalRel(undefined, this._y);\n };\n\n Object.defineProperty(window.SVGPathSegLinetoVerticalRel.prototype, \"y\", {\n get: function get() {\n return this._y;\n },\n set: function set(y) {\n this._y = y;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n\n window.SVGPathSegCurvetoCubicSmoothAbs = function (owningPathSegList, x, y, x2, y2) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_ABS, \"S\", owningPathSegList);\n this._x = x;\n this._y = y;\n this._x2 = x2;\n this._y2 = y2;\n };\n\n window.SVGPathSegCurvetoCubicSmoothAbs.prototype = Object.create(window.SVGPathSeg.prototype);\n\n window.SVGPathSegCurvetoCubicSmoothAbs.prototype.toString = function () {\n return \"[object SVGPathSegCurvetoCubicSmoothAbs]\";\n };\n\n window.SVGPathSegCurvetoCubicSmoothAbs.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._x2 + \" \" + this._y2 + \" \" + this._x + \" \" + this._y;\n };\n\n window.SVGPathSegCurvetoCubicSmoothAbs.prototype.clone = function () {\n return new window.SVGPathSegCurvetoCubicSmoothAbs(undefined, this._x, this._y, this._x2, this._y2);\n };\n\n Object.defineProperty(window.SVGPathSegCurvetoCubicSmoothAbs.prototype, \"x\", {\n get: function get() {\n return this._x;\n },\n set: function set(x) {\n this._x = x;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegCurvetoCubicSmoothAbs.prototype, \"y\", {\n get: function get() {\n return this._y;\n },\n set: function set(y) {\n this._y = y;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegCurvetoCubicSmoothAbs.prototype, \"x2\", {\n get: function get() {\n return this._x2;\n },\n set: function set(x2) {\n this._x2 = x2;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegCurvetoCubicSmoothAbs.prototype, \"y2\", {\n get: function get() {\n return this._y2;\n },\n set: function set(y2) {\n this._y2 = y2;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n\n window.SVGPathSegCurvetoCubicSmoothRel = function (owningPathSegList, x, y, x2, y2) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_REL, \"s\", owningPathSegList);\n this._x = x;\n this._y = y;\n this._x2 = x2;\n this._y2 = y2;\n };\n\n window.SVGPathSegCurvetoCubicSmoothRel.prototype = Object.create(window.SVGPathSeg.prototype);\n\n window.SVGPathSegCurvetoCubicSmoothRel.prototype.toString = function () {\n return \"[object SVGPathSegCurvetoCubicSmoothRel]\";\n };\n\n window.SVGPathSegCurvetoCubicSmoothRel.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._x2 + \" \" + this._y2 + \" \" + this._x + \" \" + this._y;\n };\n\n window.SVGPathSegCurvetoCubicSmoothRel.prototype.clone = function () {\n return new window.SVGPathSegCurvetoCubicSmoothRel(undefined, this._x, this._y, this._x2, this._y2);\n };\n\n Object.defineProperty(window.SVGPathSegCurvetoCubicSmoothRel.prototype, \"x\", {\n get: function get() {\n return this._x;\n },\n set: function set(x) {\n this._x = x;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegCurvetoCubicSmoothRel.prototype, \"y\", {\n get: function get() {\n return this._y;\n },\n set: function set(y) {\n this._y = y;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegCurvetoCubicSmoothRel.prototype, \"x2\", {\n get: function get() {\n return this._x2;\n },\n set: function set(x2) {\n this._x2 = x2;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegCurvetoCubicSmoothRel.prototype, \"y2\", {\n get: function get() {\n return this._y2;\n },\n set: function set(y2) {\n this._y2 = y2;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n\n window.SVGPathSegCurvetoQuadraticSmoothAbs = function (owningPathSegList, x, y) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS, \"T\", owningPathSegList);\n this._x = x;\n this._y = y;\n };\n\n window.SVGPathSegCurvetoQuadraticSmoothAbs.prototype = Object.create(window.SVGPathSeg.prototype);\n\n window.SVGPathSegCurvetoQuadraticSmoothAbs.prototype.toString = function () {\n return \"[object SVGPathSegCurvetoQuadraticSmoothAbs]\";\n };\n\n window.SVGPathSegCurvetoQuadraticSmoothAbs.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._x + \" \" + this._y;\n };\n\n window.SVGPathSegCurvetoQuadraticSmoothAbs.prototype.clone = function () {\n return new window.SVGPathSegCurvetoQuadraticSmoothAbs(undefined, this._x, this._y);\n };\n\n Object.defineProperty(window.SVGPathSegCurvetoQuadraticSmoothAbs.prototype, \"x\", {\n get: function get() {\n return this._x;\n },\n set: function set(x) {\n this._x = x;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegCurvetoQuadraticSmoothAbs.prototype, \"y\", {\n get: function get() {\n return this._y;\n },\n set: function set(y) {\n this._y = y;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n\n window.SVGPathSegCurvetoQuadraticSmoothRel = function (owningPathSegList, x, y) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL, \"t\", owningPathSegList);\n this._x = x;\n this._y = y;\n };\n\n window.SVGPathSegCurvetoQuadraticSmoothRel.prototype = Object.create(window.SVGPathSeg.prototype);\n\n window.SVGPathSegCurvetoQuadraticSmoothRel.prototype.toString = function () {\n return \"[object SVGPathSegCurvetoQuadraticSmoothRel]\";\n };\n\n window.SVGPathSegCurvetoQuadraticSmoothRel.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._x + \" \" + this._y;\n };\n\n window.SVGPathSegCurvetoQuadraticSmoothRel.prototype.clone = function () {\n return new window.SVGPathSegCurvetoQuadraticSmoothRel(undefined, this._x, this._y);\n };\n\n Object.defineProperty(window.SVGPathSegCurvetoQuadraticSmoothRel.prototype, \"x\", {\n get: function get() {\n return this._x;\n },\n set: function set(x) {\n this._x = x;\n\n this._segmentChanged();\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathSegCurvetoQuadraticSmoothRel.prototype, \"y\", {\n get: function get() {\n return this._y;\n },\n set: function set(y) {\n this._y = y;\n\n this._segmentChanged();\n },\n enumerable: true\n }); // Add createSVGPathSeg* functions to window.SVGPathElement.\n // Spec: http://www.w3.org/TR/SVG11/single-page.html#paths-Interfacewindow.SVGPathElement.\n\n window.SVGPathElement.prototype.createSVGPathSegClosePath = function () {\n return new window.SVGPathSegClosePath(undefined);\n };\n\n window.SVGPathElement.prototype.createSVGPathSegMovetoAbs = function (x, y) {\n return new window.SVGPathSegMovetoAbs(undefined, x, y);\n };\n\n window.SVGPathElement.prototype.createSVGPathSegMovetoRel = function (x, y) {\n return new window.SVGPathSegMovetoRel(undefined, x, y);\n };\n\n window.SVGPathElement.prototype.createSVGPathSegLinetoAbs = function (x, y) {\n return new window.SVGPathSegLinetoAbs(undefined, x, y);\n };\n\n window.SVGPathElement.prototype.createSVGPathSegLinetoRel = function (x, y) {\n return new window.SVGPathSegLinetoRel(undefined, x, y);\n };\n\n window.SVGPathElement.prototype.createSVGPathSegCurvetoCubicAbs = function (x, y, x1, y1, x2, y2) {\n return new window.SVGPathSegCurvetoCubicAbs(undefined, x, y, x1, y1, x2, y2);\n };\n\n window.SVGPathElement.prototype.createSVGPathSegCurvetoCubicRel = function (x, y, x1, y1, x2, y2) {\n return new window.SVGPathSegCurvetoCubicRel(undefined, x, y, x1, y1, x2, y2);\n };\n\n window.SVGPathElement.prototype.createSVGPathSegCurvetoQuadraticAbs = function (x, y, x1, y1) {\n return new window.SVGPathSegCurvetoQuadraticAbs(undefined, x, y, x1, y1);\n };\n\n window.SVGPathElement.prototype.createSVGPathSegCurvetoQuadraticRel = function (x, y, x1, y1) {\n return new window.SVGPathSegCurvetoQuadraticRel(undefined, x, y, x1, y1);\n };\n\n window.SVGPathElement.prototype.createSVGPathSegArcAbs = function (x, y, r1, r2, angle, largeArcFlag, sweepFlag) {\n return new window.SVGPathSegArcAbs(undefined, x, y, r1, r2, angle, largeArcFlag, sweepFlag);\n };\n\n window.SVGPathElement.prototype.createSVGPathSegArcRel = function (x, y, r1, r2, angle, largeArcFlag, sweepFlag) {\n return new window.SVGPathSegArcRel(undefined, x, y, r1, r2, angle, largeArcFlag, sweepFlag);\n };\n\n window.SVGPathElement.prototype.createSVGPathSegLinetoHorizontalAbs = function (x) {\n return new window.SVGPathSegLinetoHorizontalAbs(undefined, x);\n };\n\n window.SVGPathElement.prototype.createSVGPathSegLinetoHorizontalRel = function (x) {\n return new window.SVGPathSegLinetoHorizontalRel(undefined, x);\n };\n\n window.SVGPathElement.prototype.createSVGPathSegLinetoVerticalAbs = function (y) {\n return new window.SVGPathSegLinetoVerticalAbs(undefined, y);\n };\n\n window.SVGPathElement.prototype.createSVGPathSegLinetoVerticalRel = function (y) {\n return new window.SVGPathSegLinetoVerticalRel(undefined, y);\n };\n\n window.SVGPathElement.prototype.createSVGPathSegCurvetoCubicSmoothAbs = function (x, y, x2, y2) {\n return new window.SVGPathSegCurvetoCubicSmoothAbs(undefined, x, y, x2, y2);\n };\n\n window.SVGPathElement.prototype.createSVGPathSegCurvetoCubicSmoothRel = function (x, y, x2, y2) {\n return new window.SVGPathSegCurvetoCubicSmoothRel(undefined, x, y, x2, y2);\n };\n\n window.SVGPathElement.prototype.createSVGPathSegCurvetoQuadraticSmoothAbs = function (x, y) {\n return new window.SVGPathSegCurvetoQuadraticSmoothAbs(undefined, x, y);\n };\n\n window.SVGPathElement.prototype.createSVGPathSegCurvetoQuadraticSmoothRel = function (x, y) {\n return new window.SVGPathSegCurvetoQuadraticSmoothRel(undefined, x, y);\n };\n\n if (!(\"getPathSegAtLength\" in window.SVGPathElement.prototype)) {\n // Add getPathSegAtLength to SVGPathElement.\n // Spec: https://www.w3.org/TR/SVG11/single-page.html#paths-__svg__SVGPathElement__getPathSegAtLength\n // This polyfill requires SVGPathElement.getTotalLength to implement the distance-along-a-path algorithm.\n window.SVGPathElement.prototype.getPathSegAtLength = function (distance) {\n if (distance === undefined || !isFinite(distance)) throw \"Invalid arguments.\";\n var measurementElement = document.createElementNS(\"http://www.w3.org/2000/svg\", \"path\");\n measurementElement.setAttribute(\"d\", this.getAttribute(\"d\"));\n var lastPathSegment = measurementElement.pathSegList.numberOfItems - 1; // If the path is empty, return 0.\n\n if (lastPathSegment <= 0) return 0;\n\n do {\n measurementElement.pathSegList.removeItem(lastPathSegment);\n if (distance > measurementElement.getTotalLength()) break;\n lastPathSegment--;\n } while (lastPathSegment > 0);\n\n return lastPathSegment;\n };\n }\n }\n\n if (!(\"SVGPathSegList\" in window)) {\n // Spec: http://www.w3.org/TR/SVG11/single-page.html#paths-InterfaceSVGPathSegList\n window.SVGPathSegList = function (pathElement) {\n this._pathElement = pathElement;\n this._list = this._parsePath(this._pathElement.getAttribute(\"d\")); // Use a MutationObserver to catch changes to the path's \"d\" attribute.\n\n this._mutationObserverConfig = {\n \"attributes\": true,\n \"attributeFilter\": [\"d\"]\n };\n this._pathElementMutationObserver = new MutationObserver(this._updateListFromPathMutations.bind(this));\n\n this._pathElementMutationObserver.observe(this._pathElement, this._mutationObserverConfig);\n };\n\n window.SVGPathSegList.prototype.classname = \"SVGPathSegList\";\n Object.defineProperty(window.SVGPathSegList.prototype, \"numberOfItems\", {\n get: function get() {\n this._checkPathSynchronizedToList();\n\n return this._list.length;\n },\n enumerable: true\n }); // Add the pathSegList accessors to window.SVGPathElement.\n // Spec: http://www.w3.org/TR/SVG11/single-page.html#paths-InterfaceSVGAnimatedPathData\n\n Object.defineProperty(window.SVGPathElement.prototype, \"pathSegList\", {\n get: function get() {\n if (!this._pathSegList) this._pathSegList = new window.SVGPathSegList(this);\n return this._pathSegList;\n },\n enumerable: true\n }); // FIXME: The following are not implemented and simply return window.SVGPathElement.pathSegList.\n\n Object.defineProperty(window.SVGPathElement.prototype, \"normalizedPathSegList\", {\n get: function get() {\n return this.pathSegList;\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathElement.prototype, \"animatedPathSegList\", {\n get: function get() {\n return this.pathSegList;\n },\n enumerable: true\n });\n Object.defineProperty(window.SVGPathElement.prototype, \"animatedNormalizedPathSegList\", {\n get: function get() {\n return this.pathSegList;\n },\n enumerable: true\n }); // Process any pending mutations to the path element and update the list as needed.\n // This should be the first call of all public functions and is needed because\n // MutationObservers are not synchronous so we can have pending asynchronous mutations.\n\n window.SVGPathSegList.prototype._checkPathSynchronizedToList = function () {\n this._updateListFromPathMutations(this._pathElementMutationObserver.takeRecords());\n };\n\n window.SVGPathSegList.prototype._updateListFromPathMutations = function (mutationRecords) {\n if (!this._pathElement) return;\n var hasPathMutations = false;\n mutationRecords.forEach(function (record) {\n if (record.attributeName == \"d\") hasPathMutations = true;\n });\n if (hasPathMutations) this._list = this._parsePath(this._pathElement.getAttribute(\"d\"));\n }; // Serialize the list and update the path's 'd' attribute.\n\n\n window.SVGPathSegList.prototype._writeListToPath = function () {\n this._pathElementMutationObserver.disconnect();\n\n this._pathElement.setAttribute(\"d\", window.SVGPathSegList._pathSegArrayAsString(this._list));\n\n this._pathElementMutationObserver.observe(this._pathElement, this._mutationObserverConfig);\n }; // When a path segment changes the list needs to be synchronized back to the path element.\n\n\n window.SVGPathSegList.prototype.segmentChanged = function (pathSeg) {\n this._writeListToPath();\n };\n\n window.SVGPathSegList.prototype.clear = function () {\n this._checkPathSynchronizedToList();\n\n this._list.forEach(function (pathSeg) {\n pathSeg._owningPathSegList = null;\n });\n\n this._list = [];\n\n this._writeListToPath();\n };\n\n window.SVGPathSegList.prototype.initialize = function (newItem) {\n this._checkPathSynchronizedToList();\n\n this._list = [newItem];\n newItem._owningPathSegList = this;\n\n this._writeListToPath();\n\n return newItem;\n };\n\n window.SVGPathSegList.prototype._checkValidIndex = function (index) {\n if (isNaN(index) || index < 0 || index >= this.numberOfItems) throw \"INDEX_SIZE_ERR\";\n };\n\n window.SVGPathSegList.prototype.getItem = function (index) {\n this._checkPathSynchronizedToList();\n\n this._checkValidIndex(index);\n\n return this._list[index];\n };\n\n window.SVGPathSegList.prototype.insertItemBefore = function (newItem, index) {\n this._checkPathSynchronizedToList(); // Spec: If the index is greater than or equal to numberOfItems, then the new item is appended to the end of the list.\n\n\n if (index > this.numberOfItems) index = this.numberOfItems;\n\n if (newItem._owningPathSegList) {\n // SVG2 spec says to make a copy.\n newItem = newItem.clone();\n }\n\n this._list.splice(index, 0, newItem);\n\n newItem._owningPathSegList = this;\n\n this._writeListToPath();\n\n return newItem;\n };\n\n window.SVGPathSegList.prototype.replaceItem = function (newItem, index) {\n this._checkPathSynchronizedToList();\n\n if (newItem._owningPathSegList) {\n // SVG2 spec says to make a copy.\n newItem = newItem.clone();\n }\n\n this._checkValidIndex(index);\n\n this._list[index] = newItem;\n newItem._owningPathSegList = this;\n\n this._writeListToPath();\n\n return newItem;\n };\n\n window.SVGPathSegList.prototype.removeItem = function (index) {\n this._checkPathSynchronizedToList();\n\n this._checkValidIndex(index);\n\n var item = this._list[index];\n\n this._list.splice(index, 1);\n\n this._writeListToPath();\n\n return item;\n };\n\n window.SVGPathSegList.prototype.appendItem = function (newItem) {\n this._checkPathSynchronizedToList();\n\n if (newItem._owningPathSegList) {\n // SVG2 spec says to make a copy.\n newItem = newItem.clone();\n }\n\n this._list.push(newItem);\n\n newItem._owningPathSegList = this; // TODO: Optimize this to just append to the existing attribute.\n\n this._writeListToPath();\n\n return newItem;\n };\n\n window.SVGPathSegList._pathSegArrayAsString = function (pathSegArray) {\n var string = \"\";\n var first = true;\n pathSegArray.forEach(function (pathSeg) {\n if (first) {\n first = false;\n string += pathSeg._asPathString();\n } else {\n string += \" \" + pathSeg._asPathString();\n }\n });\n return string;\n }; // This closely follows SVGPathParser::parsePath from Source/core/svg/SVGPathParser.cpp.\n\n\n window.SVGPathSegList.prototype._parsePath = function (string) {\n if (!string || string.length == 0) return [];\n var owningPathSegList = this;\n\n var Builder = function Builder() {\n this.pathSegList = [];\n };\n\n Builder.prototype.appendSegment = function (pathSeg) {\n this.pathSegList.push(pathSeg);\n };\n\n var Source = function Source(string) {\n this._string = string;\n this._currentIndex = 0;\n this._endIndex = this._string.length;\n this._previousCommand = window.SVGPathSeg.PATHSEG_UNKNOWN;\n\n this._skipOptionalSpaces();\n };\n\n Source.prototype._isCurrentSpace = function () {\n var character = this._string[this._currentIndex];\n return character <= \" \" && (character == \" \" || character == \"\\n\" || character == \"\\t\" || character == \"\\r\" || character == \"\\f\");\n };\n\n Source.prototype._skipOptionalSpaces = function () {\n while (this._currentIndex < this._endIndex && this._isCurrentSpace()) {\n this._currentIndex++;\n }\n\n return this._currentIndex < this._endIndex;\n };\n\n Source.prototype._skipOptionalSpacesOrDelimiter = function () {\n if (this._currentIndex < this._endIndex && !this._isCurrentSpace() && this._string.charAt(this._currentIndex) != \",\") return false;\n\n if (this._skipOptionalSpaces()) {\n if (this._currentIndex < this._endIndex && this._string.charAt(this._currentIndex) == \",\") {\n this._currentIndex++;\n\n this._skipOptionalSpaces();\n }\n }\n\n return this._currentIndex < this._endIndex;\n };\n\n Source.prototype.hasMoreData = function () {\n return this._currentIndex < this._endIndex;\n };\n\n Source.prototype.peekSegmentType = function () {\n var lookahead = this._string[this._currentIndex];\n return this._pathSegTypeFromChar(lookahead);\n };\n\n Source.prototype._pathSegTypeFromChar = function (lookahead) {\n switch (lookahead) {\n case \"Z\":\n case \"z\":\n return window.SVGPathSeg.PATHSEG_CLOSEPATH;\n\n case \"M\":\n return window.SVGPathSeg.PATHSEG_MOVETO_ABS;\n\n case \"m\":\n return window.SVGPathSeg.PATHSEG_MOVETO_REL;\n\n case \"L\":\n return window.SVGPathSeg.PATHSEG_LINETO_ABS;\n\n case \"l\":\n return window.SVGPathSeg.PATHSEG_LINETO_REL;\n\n case \"C\":\n return window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_ABS;\n\n case \"c\":\n return window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_REL;\n\n case \"Q\":\n return window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_ABS;\n\n case \"q\":\n return window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_REL;\n\n case \"A\":\n return window.SVGPathSeg.PATHSEG_ARC_ABS;\n\n case \"a\":\n return window.SVGPathSeg.PATHSEG_ARC_REL;\n\n case \"H\":\n return window.SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_ABS;\n\n case \"h\":\n return window.SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_REL;\n\n case \"V\":\n return window.SVGPathSeg.PATHSEG_LINETO_VERTICAL_ABS;\n\n case \"v\":\n return window.SVGPathSeg.PATHSEG_LINETO_VERTICAL_REL;\n\n case \"S\":\n return window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_ABS;\n\n case \"s\":\n return window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_REL;\n\n case \"T\":\n return window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS;\n\n case \"t\":\n return window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL;\n\n default:\n return window.SVGPathSeg.PATHSEG_UNKNOWN;\n }\n };\n\n Source.prototype._nextCommandHelper = function (lookahead, previousCommand) {\n // Check for remaining coordinates in the current command.\n if ((lookahead == \"+\" || lookahead == \"-\" || lookahead == \".\" || lookahead >= \"0\" && lookahead <= \"9\") && previousCommand != window.SVGPathSeg.PATHSEG_CLOSEPATH) {\n if (previousCommand == window.SVGPathSeg.PATHSEG_MOVETO_ABS) return window.SVGPathSeg.PATHSEG_LINETO_ABS;\n if (previousCommand == window.SVGPathSeg.PATHSEG_MOVETO_REL) return window.SVGPathSeg.PATHSEG_LINETO_REL;\n return previousCommand;\n }\n\n return window.SVGPathSeg.PATHSEG_UNKNOWN;\n };\n\n Source.prototype.initialCommandIsMoveTo = function () {\n // If the path is empty it is still valid, so return true.\n if (!this.hasMoreData()) return true;\n var command = this.peekSegmentType(); // Path must start with moveTo.\n\n return command == window.SVGPathSeg.PATHSEG_MOVETO_ABS || command == window.SVGPathSeg.PATHSEG_MOVETO_REL;\n }; // Parse a number from an SVG path. This very closely follows genericParseNumber(...) from Source/core/svg/SVGParserUtilities.cpp.\n // Spec: http://www.w3.org/TR/SVG11/single-page.html#paths-PathDataBNF\n\n\n Source.prototype._parseNumber = function () {\n var exponent = 0;\n var integer = 0;\n var frac = 1;\n var decimal = 0;\n var sign = 1;\n var expsign = 1;\n var startIndex = this._currentIndex;\n\n this._skipOptionalSpaces(); // Read the sign.\n\n\n if (this._currentIndex < this._endIndex && this._string.charAt(this._currentIndex) == \"+\") this._currentIndex++;else if (this._currentIndex < this._endIndex && this._string.charAt(this._currentIndex) == \"-\") {\n this._currentIndex++;\n sign = -1;\n }\n if (this._currentIndex == this._endIndex || (this._string.charAt(this._currentIndex) < \"0\" || this._string.charAt(this._currentIndex) > \"9\") && this._string.charAt(this._currentIndex) != \".\") // The first character of a number must be one of [0-9+-.].\n return undefined; // Read the integer part, build right-to-left.\n\n var startIntPartIndex = this._currentIndex;\n\n while (this._currentIndex < this._endIndex && this._string.charAt(this._currentIndex) >= \"0\" && this._string.charAt(this._currentIndex) <= \"9\") {\n this._currentIndex++;\n } // Advance to first non-digit.\n\n\n if (this._currentIndex != startIntPartIndex) {\n var scanIntPartIndex = this._currentIndex - 1;\n var multiplier = 1;\n\n while (scanIntPartIndex >= startIntPartIndex) {\n integer += multiplier * (this._string.charAt(scanIntPartIndex--) - \"0\");\n multiplier *= 10;\n }\n } // Read the decimals.\n\n\n if (this._currentIndex < this._endIndex && this._string.charAt(this._currentIndex) == \".\") {\n this._currentIndex++; // There must be a least one digit following the .\n\n if (this._currentIndex >= this._endIndex || this._string.charAt(this._currentIndex) < \"0\" || this._string.charAt(this._currentIndex) > \"9\") return undefined;\n\n while (this._currentIndex < this._endIndex && this._string.charAt(this._currentIndex) >= \"0\" && this._string.charAt(this._currentIndex) <= \"9\") {\n frac *= 10;\n decimal += (this._string.charAt(this._currentIndex) - \"0\") / frac;\n this._currentIndex += 1;\n }\n } // Read the exponent part.\n\n\n if (this._currentIndex != startIndex && this._currentIndex + 1 < this._endIndex && (this._string.charAt(this._currentIndex) == \"e\" || this._string.charAt(this._currentIndex) == \"E\") && this._string.charAt(this._currentIndex + 1) != \"x\" && this._string.charAt(this._currentIndex + 1) != \"m\") {\n this._currentIndex++; // Read the sign of the exponent.\n\n if (this._string.charAt(this._currentIndex) == \"+\") {\n this._currentIndex++;\n } else if (this._string.charAt(this._currentIndex) == \"-\") {\n this._currentIndex++;\n expsign = -1;\n } // There must be an exponent.\n\n\n if (this._currentIndex >= this._endIndex || this._string.charAt(this._currentIndex) < \"0\" || this._string.charAt(this._currentIndex) > \"9\") return undefined;\n\n while (this._currentIndex < this._endIndex && this._string.charAt(this._currentIndex) >= \"0\" && this._string.charAt(this._currentIndex) <= \"9\") {\n exponent *= 10;\n exponent += this._string.charAt(this._currentIndex) - \"0\";\n this._currentIndex++;\n }\n }\n\n var number = integer + decimal;\n number *= sign;\n if (exponent) number *= Math.pow(10, expsign * exponent);\n if (startIndex == this._currentIndex) return undefined;\n\n this._skipOptionalSpacesOrDelimiter();\n\n return number;\n };\n\n Source.prototype._parseArcFlag = function () {\n if (this._currentIndex >= this._endIndex) return undefined;\n var flag = false;\n\n var flagChar = this._string.charAt(this._currentIndex++);\n\n if (flagChar == \"0\") flag = false;else if (flagChar == \"1\") flag = true;else return undefined;\n\n this._skipOptionalSpacesOrDelimiter();\n\n return flag;\n };\n\n Source.prototype.parseSegment = function () {\n var lookahead = this._string[this._currentIndex];\n\n var command = this._pathSegTypeFromChar(lookahead);\n\n if (command == window.SVGPathSeg.PATHSEG_UNKNOWN) {\n // Possibly an implicit command. Not allowed if this is the first command.\n if (this._previousCommand == window.SVGPathSeg.PATHSEG_UNKNOWN) return null;\n command = this._nextCommandHelper(lookahead, this._previousCommand);\n if (command == window.SVGPathSeg.PATHSEG_UNKNOWN) return null;\n } else {\n this._currentIndex++;\n }\n\n this._previousCommand = command;\n\n switch (command) {\n case window.SVGPathSeg.PATHSEG_MOVETO_REL:\n return new window.SVGPathSegMovetoRel(owningPathSegList, this._parseNumber(), this._parseNumber());\n\n case window.SVGPathSeg.PATHSEG_MOVETO_ABS:\n return new window.SVGPathSegMovetoAbs(owningPathSegList, this._parseNumber(), this._parseNumber());\n\n case window.SVGPathSeg.PATHSEG_LINETO_REL:\n return new window.SVGPathSegLinetoRel(owningPathSegList, this._parseNumber(), this._parseNumber());\n\n case window.SVGPathSeg.PATHSEG_LINETO_ABS:\n return new window.SVGPathSegLinetoAbs(owningPathSegList, this._parseNumber(), this._parseNumber());\n\n case window.SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_REL:\n return new window.SVGPathSegLinetoHorizontalRel(owningPathSegList, this._parseNumber());\n\n case window.SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_ABS:\n return new window.SVGPathSegLinetoHorizontalAbs(owningPathSegList, this._parseNumber());\n\n case window.SVGPathSeg.PATHSEG_LINETO_VERTICAL_REL:\n return new window.SVGPathSegLinetoVerticalRel(owningPathSegList, this._parseNumber());\n\n case window.SVGPathSeg.PATHSEG_LINETO_VERTICAL_ABS:\n return new window.SVGPathSegLinetoVerticalAbs(owningPathSegList, this._parseNumber());\n\n case window.SVGPathSeg.PATHSEG_CLOSEPATH:\n this._skipOptionalSpaces();\n\n return new window.SVGPathSegClosePath(owningPathSegList);\n\n case window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_REL:\n var points = {\n x1: this._parseNumber(),\n y1: this._parseNumber(),\n x2: this._parseNumber(),\n y2: this._parseNumber(),\n x: this._parseNumber(),\n y: this._parseNumber()\n };\n return new window.SVGPathSegCurvetoCubicRel(owningPathSegList, points.x, points.y, points.x1, points.y1, points.x2, points.y2);\n\n case window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_ABS:\n var points = {\n x1: this._parseNumber(),\n y1: this._parseNumber(),\n x2: this._parseNumber(),\n y2: this._parseNumber(),\n x: this._parseNumber(),\n y: this._parseNumber()\n };\n return new window.SVGPathSegCurvetoCubicAbs(owningPathSegList, points.x, points.y, points.x1, points.y1, points.x2, points.y2);\n\n case window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_REL:\n var points = {\n x2: this._parseNumber(),\n y2: this._parseNumber(),\n x: this._parseNumber(),\n y: this._parseNumber()\n };\n return new window.SVGPathSegCurvetoCubicSmoothRel(owningPathSegList, points.x, points.y, points.x2, points.y2);\n\n case window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_ABS:\n var points = {\n x2: this._parseNumber(),\n y2: this._parseNumber(),\n x: this._parseNumber(),\n y: this._parseNumber()\n };\n return new window.SVGPathSegCurvetoCubicSmoothAbs(owningPathSegList, points.x, points.y, points.x2, points.y2);\n\n case window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_REL:\n var points = {\n x1: this._parseNumber(),\n y1: this._parseNumber(),\n x: this._parseNumber(),\n y: this._parseNumber()\n };\n return new window.SVGPathSegCurvetoQuadraticRel(owningPathSegList, points.x, points.y, points.x1, points.y1);\n\n case window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_ABS:\n var points = {\n x1: this._parseNumber(),\n y1: this._parseNumber(),\n x: this._parseNumber(),\n y: this._parseNumber()\n };\n return new window.SVGPathSegCurvetoQuadraticAbs(owningPathSegList, points.x, points.y, points.x1, points.y1);\n\n case window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL:\n return new window.SVGPathSegCurvetoQuadraticSmoothRel(owningPathSegList, this._parseNumber(), this._parseNumber());\n\n case window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS:\n return new window.SVGPathSegCurvetoQuadraticSmoothAbs(owningPathSegList, this._parseNumber(), this._parseNumber());\n\n case window.SVGPathSeg.PATHSEG_ARC_REL:\n var points = {\n x1: this._parseNumber(),\n y1: this._parseNumber(),\n arcAngle: this._parseNumber(),\n arcLarge: this._parseArcFlag(),\n arcSweep: this._parseArcFlag(),\n x: this._parseNumber(),\n y: this._parseNumber()\n };\n return new window.SVGPathSegArcRel(owningPathSegList, points.x, points.y, points.x1, points.y1, points.arcAngle, points.arcLarge, points.arcSweep);\n\n case window.SVGPathSeg.PATHSEG_ARC_ABS:\n var points = {\n x1: this._parseNumber(),\n y1: this._parseNumber(),\n arcAngle: this._parseNumber(),\n arcLarge: this._parseArcFlag(),\n arcSweep: this._parseArcFlag(),\n x: this._parseNumber(),\n y: this._parseNumber()\n };\n return new window.SVGPathSegArcAbs(owningPathSegList, points.x, points.y, points.x1, points.y1, points.arcAngle, points.arcLarge, points.arcSweep);\n\n default:\n throw \"Unknown path seg type.\";\n }\n };\n\n var builder = new Builder();\n var source = new Source(string);\n if (!source.initialCommandIsMoveTo()) return [];\n\n while (source.hasMoreData()) {\n var pathSeg = source.parseSegment();\n if (!pathSeg) return [];\n builder.appendSegment(pathSeg);\n }\n\n return builder.pathSegList;\n };\n }\n })(); // String.padEnd polyfill for IE11\n //\n // https://github.com/uxitten/polyfill/blob/master/string.polyfill.js\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/padEnd\n\n\n if (!String.prototype.padEnd) {\n String.prototype.padEnd = function padEnd(targetLength, padString) {\n targetLength = targetLength >> 0; //floor if number or convert non-number to 0;\n\n padString = String(typeof padString !== 'undefined' ? padString : ' ');\n\n if (this.length > targetLength) {\n return String(this);\n } else {\n targetLength = targetLength - this.length;\n\n if (targetLength > padString.length) {\n padString += padString.repeat(targetLength / padString.length); //append to original to ensure we are longer than needed\n }\n\n return String(this) + padString.slice(0, targetLength);\n }\n };\n }\n /* jshint ignore:end */\n\n Chart.prototype.axis = function () {};\n\n Chart.prototype.axis.labels = function (labels) {\n var $$ = this.internal;\n\n if (arguments.length) {\n Object.keys(labels).forEach(function (axisId) {\n $$.axis.setLabelText(axisId, labels[axisId]);\n });\n $$.axis.updateLabels();\n } // TODO: return some values?\n\n };\n\n Chart.prototype.axis.max = function (max) {\n var $$ = this.internal,\n config = $$.config;\n\n if (arguments.length) {\n if (_typeof(max) === 'object') {\n if (isValue(max.x)) {\n config.axis_x_max = max.x;\n }\n\n if (isValue(max.y)) {\n config.axis_y_max = max.y;\n }\n\n if (isValue(max.y2)) {\n config.axis_y2_max = max.y2;\n }\n } else {\n config.axis_y_max = config.axis_y2_max = max;\n }\n\n $$.redraw({\n withUpdateOrgXDomain: true,\n withUpdateXDomain: true\n });\n } else {\n return {\n x: config.axis_x_max,\n y: config.axis_y_max,\n y2: config.axis_y2_max\n };\n }\n };\n\n Chart.prototype.axis.min = function (min) {\n var $$ = this.internal,\n config = $$.config;\n\n if (arguments.length) {\n if (_typeof(min) === 'object') {\n if (isValue(min.x)) {\n config.axis_x_min = min.x;\n }\n\n if (isValue(min.y)) {\n config.axis_y_min = min.y;\n }\n\n if (isValue(min.y2)) {\n config.axis_y2_min = min.y2;\n }\n } else {\n config.axis_y_min = config.axis_y2_min = min;\n }\n\n $$.redraw({\n withUpdateOrgXDomain: true,\n withUpdateXDomain: true\n });\n } else {\n return {\n x: config.axis_x_min,\n y: config.axis_y_min,\n y2: config.axis_y2_min\n };\n }\n };\n\n Chart.prototype.axis.range = function (range) {\n if (arguments.length) {\n if (isDefined(range.max)) {\n this.axis.max(range.max);\n }\n\n if (isDefined(range.min)) {\n this.axis.min(range.min);\n }\n } else {\n return {\n max: this.axis.max(),\n min: this.axis.min()\n };\n }\n };\n\n Chart.prototype.category = function (i, category) {\n var $$ = this.internal,\n config = $$.config;\n\n if (arguments.length > 1) {\n config.axis_x_categories[i] = category;\n $$.redraw();\n }\n\n return config.axis_x_categories[i];\n };\n\n Chart.prototype.categories = function (categories) {\n var $$ = this.internal,\n config = $$.config;\n\n if (!arguments.length) {\n return config.axis_x_categories;\n }\n\n config.axis_x_categories = categories;\n $$.redraw();\n return config.axis_x_categories;\n };\n\n Chart.prototype.resize = function (size) {\n var $$ = this.internal,\n config = $$.config;\n config.size_width = size ? size.width : null;\n config.size_height = size ? size.height : null;\n this.flush();\n };\n\n Chart.prototype.flush = function () {\n var $$ = this.internal;\n $$.updateAndRedraw({\n withLegend: true,\n withTransition: false,\n withTransitionForTransform: false\n });\n };\n\n Chart.prototype.destroy = function () {\n var $$ = this.internal;\n window.clearInterval($$.intervalForObserveInserted);\n\n if ($$.resizeTimeout !== undefined) {\n window.clearTimeout($$.resizeTimeout);\n }\n\n if (window.detachEvent) {\n window.detachEvent('onresize', $$.resizeIfElementDisplayed);\n } else if (window.removeEventListener) {\n window.removeEventListener('resize', $$.resizeIfElementDisplayed);\n } else {\n var wrapper = window.onresize; // check if no one else removed our wrapper and remove our resizeFunction from it\n\n if (wrapper && wrapper.add && wrapper.remove) {\n wrapper.remove($$.resizeFunction);\n }\n } // Removes the inner resize functions\n\n\n $$.resizeFunction.remove(); // Unbinds from the window focus event\n\n $$.unbindWindowFocus();\n $$.selectChart.classed('c3', false).html(\"\"); // MEMO: this is needed because the reference of some elements will not be released, then memory leak will happen.\n\n Object.keys($$).forEach(function (key) {\n $$[key] = null;\n });\n return null;\n };\n\n Chart.prototype.color = function (id) {\n var $$ = this.internal;\n return $$.color(id); // more patterns\n };\n\n Chart.prototype.data = function (targetIds) {\n var targets = this.internal.data.targets;\n return typeof targetIds === 'undefined' ? targets : targets.filter(function (t) {\n return [].concat(targetIds).indexOf(t.id) >= 0;\n });\n };\n\n Chart.prototype.data.shown = function (targetIds) {\n return this.internal.filterTargetsToShow(this.data(targetIds));\n };\n\n Chart.prototype.data.values = function (targetId) {\n var targets,\n values = null;\n\n if (targetId) {\n targets = this.data(targetId);\n values = targets[0] ? targets[0].values.map(function (d) {\n return d.value;\n }) : null;\n }\n\n return values;\n };\n\n Chart.prototype.data.names = function (names) {\n this.internal.clearLegendItemTextBoxCache();\n return this.internal.updateDataAttributes('names', names);\n };\n\n Chart.prototype.data.colors = function (colors) {\n return this.internal.updateDataAttributes('colors', colors);\n };\n\n Chart.prototype.data.axes = function (axes) {\n return this.internal.updateDataAttributes('axes', axes);\n };\n\n Chart.prototype.flow = function (args) {\n var $$ = this.internal,\n targets,\n data,\n notfoundIds = [],\n orgDataCount = $$.getMaxDataCount(),\n dataCount,\n domain,\n baseTarget,\n baseValue,\n length = 0,\n tail = 0,\n diff,\n to;\n\n if (args.json) {\n data = $$.convertJsonToData(args.json, args.keys);\n } else if (args.rows) {\n data = $$.convertRowsToData(args.rows);\n } else if (args.columns) {\n data = $$.convertColumnsToData(args.columns);\n } else {\n return;\n }\n\n targets = $$.convertDataToTargets(data, true); // Update/Add data\n\n $$.data.targets.forEach(function (t) {\n var found = false,\n i,\n j;\n\n for (i = 0; i < targets.length; i++) {\n if (t.id === targets[i].id) {\n found = true;\n\n if (t.values[t.values.length - 1]) {\n tail = t.values[t.values.length - 1].index + 1;\n }\n\n length = targets[i].values.length;\n\n for (j = 0; j < length; j++) {\n targets[i].values[j].index = tail + j;\n\n if (!$$.isTimeSeries()) {\n targets[i].values[j].x = tail + j;\n }\n }\n\n t.values = t.values.concat(targets[i].values);\n targets.splice(i, 1);\n break;\n }\n }\n\n if (!found) {\n notfoundIds.push(t.id);\n }\n }); // Append null for not found targets\n\n $$.data.targets.forEach(function (t) {\n var i, j;\n\n for (i = 0; i < notfoundIds.length; i++) {\n if (t.id === notfoundIds[i]) {\n tail = t.values[t.values.length - 1].index + 1;\n\n for (j = 0; j < length; j++) {\n t.values.push({\n id: t.id,\n index: tail + j,\n x: $$.isTimeSeries() ? $$.getOtherTargetX(tail + j) : tail + j,\n value: null\n });\n }\n }\n }\n }); // Generate null values for new target\n\n if ($$.data.targets.length) {\n targets.forEach(function (t) {\n var i,\n missing = [];\n\n for (i = $$.data.targets[0].values[0].index; i < tail; i++) {\n missing.push({\n id: t.id,\n index: i,\n x: $$.isTimeSeries() ? $$.getOtherTargetX(i) : i,\n value: null\n });\n }\n\n t.values.forEach(function (v) {\n v.index += tail;\n\n if (!$$.isTimeSeries()) {\n v.x += tail;\n }\n });\n t.values = missing.concat(t.values);\n });\n }\n\n $$.data.targets = $$.data.targets.concat(targets); // add remained\n // check data count because behavior needs to change when it's only one\n\n dataCount = $$.getMaxDataCount();\n baseTarget = $$.data.targets[0];\n baseValue = baseTarget.values[0]; // Update length to flow if needed\n\n if (isDefined(args.to)) {\n length = 0;\n to = $$.isTimeSeries() ? $$.parseDate(args.to) : args.to;\n baseTarget.values.forEach(function (v) {\n if (v.x < to) {\n length++;\n }\n });\n } else if (isDefined(args.length)) {\n length = args.length;\n } // If only one data, update the domain to flow from left edge of the chart\n\n\n if (!orgDataCount) {\n if ($$.isTimeSeries()) {\n if (baseTarget.values.length > 1) {\n diff = baseTarget.values[baseTarget.values.length - 1].x - baseValue.x;\n } else {\n diff = baseValue.x - $$.getXDomain($$.data.targets)[0];\n }\n } else {\n diff = 1;\n }\n\n domain = [baseValue.x - diff, baseValue.x];\n $$.updateXDomain(null, true, true, false, domain);\n } else if (orgDataCount === 1) {\n if ($$.isTimeSeries()) {\n diff = (baseTarget.values[baseTarget.values.length - 1].x - baseValue.x) / 2;\n domain = [new Date(+baseValue.x - diff), new Date(+baseValue.x + diff)];\n $$.updateXDomain(null, true, true, false, domain);\n }\n } // Set targets\n\n\n $$.updateTargets($$.data.targets); // Redraw with new targets\n\n $$.redraw({\n flow: {\n index: baseValue.index,\n length: length,\n duration: isValue(args.duration) ? args.duration : $$.config.transition_duration,\n done: args.done,\n orgDataCount: orgDataCount\n },\n withLegend: true,\n withTransition: orgDataCount > 1,\n withTrimXDomain: false,\n withUpdateXAxis: true\n });\n };\n\n ChartInternal.prototype.generateFlow = function (args) {\n var $$ = this,\n config = $$.config,\n d3 = $$.d3;\n return function () {\n var targets = args.targets,\n flow = args.flow,\n drawBar = args.drawBar,\n drawLine = args.drawLine,\n drawArea = args.drawArea,\n cx = args.cx,\n cy = args.cy,\n xv = args.xv,\n xForText = args.xForText,\n yForText = args.yForText,\n duration = args.duration;\n\n var translateX,\n scaleX = 1,\n transform,\n flowIndex = flow.index,\n flowLength = flow.length,\n flowStart = $$.getValueOnIndex($$.data.targets[0].values, flowIndex),\n flowEnd = $$.getValueOnIndex($$.data.targets[0].values, flowIndex + flowLength),\n orgDomain = $$.x.domain(),\n domain,\n durationForFlow = flow.duration || duration,\n done = flow.done || function () {},\n wait = $$.generateWait();\n\n var xgrid, xgridLines, mainRegion, mainText, mainBar, mainLine, mainArea, mainCircle; // set flag\n\n $$.flowing = true; // remove head data after rendered\n\n $$.data.targets.forEach(function (d) {\n d.values.splice(0, flowLength);\n }); // update x domain to generate axis elements for flow\n\n domain = $$.updateXDomain(targets, true, true); // update elements related to x scale\n\n if ($$.updateXGrid) {\n $$.updateXGrid(true);\n }\n\n xgrid = $$.xgrid || d3.selectAll([]); // xgrid needs to be obtained after updateXGrid\n\n xgridLines = $$.xgridLines || d3.selectAll([]);\n mainRegion = $$.mainRegion || d3.selectAll([]);\n mainText = $$.mainText || d3.selectAll([]);\n mainBar = $$.mainBar || d3.selectAll([]);\n mainLine = $$.mainLine || d3.selectAll([]);\n mainArea = $$.mainArea || d3.selectAll([]);\n mainCircle = $$.mainCircle || d3.selectAll([]); // generate transform to flow\n\n if (!flow.orgDataCount) {\n // if empty\n if ($$.data.targets[0].values.length !== 1) {\n translateX = $$.x(orgDomain[0]) - $$.x(domain[0]);\n } else {\n if ($$.isTimeSeries()) {\n flowStart = $$.getValueOnIndex($$.data.targets[0].values, 0);\n flowEnd = $$.getValueOnIndex($$.data.targets[0].values, $$.data.targets[0].values.length - 1);\n translateX = $$.x(flowStart.x) - $$.x(flowEnd.x);\n } else {\n translateX = diffDomain(domain) / 2;\n }\n }\n } else if (flow.orgDataCount === 1 || (flowStart && flowStart.x) === (flowEnd && flowEnd.x)) {\n translateX = $$.x(orgDomain[0]) - $$.x(domain[0]);\n } else {\n if ($$.isTimeSeries()) {\n translateX = $$.x(orgDomain[0]) - $$.x(domain[0]);\n } else {\n translateX = $$.x(flowStart.x) - $$.x(flowEnd.x);\n }\n }\n\n scaleX = diffDomain(orgDomain) / diffDomain(domain);\n transform = 'translate(' + translateX + ',0) scale(' + scaleX + ',1)';\n $$.hideXGridFocus();\n var flowTransition = d3.transition().ease(d3.easeLinear).duration(durationForFlow);\n wait.add($$.xAxis($$.axes.x, flowTransition));\n wait.add(mainBar.transition(flowTransition).attr('transform', transform));\n wait.add(mainLine.transition(flowTransition).attr('transform', transform));\n wait.add(mainArea.transition(flowTransition).attr('transform', transform));\n wait.add(mainCircle.transition(flowTransition).attr('transform', transform));\n wait.add(mainText.transition(flowTransition).attr('transform', transform));\n wait.add(mainRegion.filter($$.isRegionOnX).transition(flowTransition).attr('transform', transform));\n wait.add(xgrid.transition(flowTransition).attr('transform', transform));\n wait.add(xgridLines.transition(flowTransition).attr('transform', transform));\n wait(function () {\n var i,\n shapes = [],\n texts = []; // remove flowed elements\n\n if (flowLength) {\n for (i = 0; i < flowLength; i++) {\n shapes.push('.' + CLASS.shape + '-' + (flowIndex + i));\n texts.push('.' + CLASS.text + '-' + (flowIndex + i));\n }\n\n $$.svg.selectAll('.' + CLASS.shapes).selectAll(shapes).remove();\n $$.svg.selectAll('.' + CLASS.texts).selectAll(texts).remove();\n $$.svg.select('.' + CLASS.xgrid).remove();\n } // draw again for removing flowed elements and reverting attr\n\n\n xgrid.attr('transform', null).attr('x1', $$.xgridAttr.x1).attr('x2', $$.xgridAttr.x2).attr('y1', $$.xgridAttr.y1).attr('y2', $$.xgridAttr.y2).style(\"opacity\", $$.xgridAttr.opacity);\n xgridLines.attr('transform', null);\n xgridLines.select('line').attr(\"x1\", config.axis_rotated ? 0 : xv).attr(\"x2\", config.axis_rotated ? $$.width : xv);\n xgridLines.select('text').attr(\"x\", config.axis_rotated ? $$.width : 0).attr(\"y\", xv);\n mainBar.attr('transform', null).attr(\"d\", drawBar);\n mainLine.attr('transform', null).attr(\"d\", drawLine);\n mainArea.attr('transform', null).attr(\"d\", drawArea);\n mainCircle.attr('transform', null).attr(\"cx\", cx).attr(\"cy\", cy);\n mainText.attr('transform', null).attr('x', xForText).attr('y', yForText).style('fill-opacity', $$.opacityForText.bind($$));\n mainRegion.attr('transform', null);\n mainRegion.filter($$.isRegionOnX).attr(\"x\", $$.regionX.bind($$)).attr(\"width\", $$.regionWidth.bind($$)); // callback for end of flow\n\n done();\n $$.flowing = false;\n });\n };\n };\n\n Chart.prototype.focus = function (targetIds) {\n var $$ = this.internal,\n candidates;\n targetIds = $$.mapToTargetIds(targetIds);\n candidates = $$.svg.selectAll($$.selectorTargets(targetIds.filter($$.isTargetToShow, $$))), this.revert();\n this.defocus();\n candidates.classed(CLASS.focused, true).classed(CLASS.defocused, false);\n\n if ($$.hasArcType()) {\n $$.expandArc(targetIds);\n }\n\n $$.toggleFocusLegend(targetIds, true);\n $$.focusedTargetIds = targetIds;\n $$.defocusedTargetIds = $$.defocusedTargetIds.filter(function (id) {\n return targetIds.indexOf(id) < 0;\n });\n };\n\n Chart.prototype.defocus = function (targetIds) {\n var $$ = this.internal,\n candidates;\n targetIds = $$.mapToTargetIds(targetIds);\n candidates = $$.svg.selectAll($$.selectorTargets(targetIds.filter($$.isTargetToShow, $$))), candidates.classed(CLASS.focused, false).classed(CLASS.defocused, true);\n\n if ($$.hasArcType()) {\n $$.unexpandArc(targetIds);\n }\n\n $$.toggleFocusLegend(targetIds, false);\n $$.focusedTargetIds = $$.focusedTargetIds.filter(function (id) {\n return targetIds.indexOf(id) < 0;\n });\n $$.defocusedTargetIds = targetIds;\n };\n\n Chart.prototype.revert = function (targetIds) {\n var $$ = this.internal,\n candidates;\n targetIds = $$.mapToTargetIds(targetIds);\n candidates = $$.svg.selectAll($$.selectorTargets(targetIds)); // should be for all targets\n\n candidates.classed(CLASS.focused, false).classed(CLASS.defocused, false);\n\n if ($$.hasArcType()) {\n $$.unexpandArc(targetIds);\n }\n\n if ($$.config.legend_show) {\n $$.showLegend(targetIds.filter($$.isLegendToShow.bind($$)));\n $$.legend.selectAll($$.selectorLegends(targetIds)).filter(function () {\n return $$.d3.select(this).classed(CLASS.legendItemFocused);\n }).classed(CLASS.legendItemFocused, false);\n }\n\n $$.focusedTargetIds = [];\n $$.defocusedTargetIds = [];\n };\n\n Chart.prototype.xgrids = function (grids) {\n var $$ = this.internal,\n config = $$.config;\n\n if (!grids) {\n return config.grid_x_lines;\n }\n\n config.grid_x_lines = grids;\n $$.redrawWithoutRescale();\n return config.grid_x_lines;\n };\n\n Chart.prototype.xgrids.add = function (grids) {\n var $$ = this.internal;\n return this.xgrids($$.config.grid_x_lines.concat(grids ? grids : []));\n };\n\n Chart.prototype.xgrids.remove = function (params) {\n // TODO: multiple\n var $$ = this.internal;\n $$.removeGridLines(params, true);\n };\n\n Chart.prototype.ygrids = function (grids) {\n var $$ = this.internal,\n config = $$.config;\n\n if (!grids) {\n return config.grid_y_lines;\n }\n\n config.grid_y_lines = grids;\n $$.redrawWithoutRescale();\n return config.grid_y_lines;\n };\n\n Chart.prototype.ygrids.add = function (grids) {\n var $$ = this.internal;\n return this.ygrids($$.config.grid_y_lines.concat(grids ? grids : []));\n };\n\n Chart.prototype.ygrids.remove = function (params) {\n // TODO: multiple\n var $$ = this.internal;\n $$.removeGridLines(params, false);\n };\n\n Chart.prototype.groups = function (groups) {\n var $$ = this.internal,\n config = $$.config;\n\n if (isUndefined(groups)) {\n return config.data_groups;\n }\n\n config.data_groups = groups;\n $$.redraw();\n return config.data_groups;\n };\n\n Chart.prototype.legend = function () {};\n\n Chart.prototype.legend.show = function (targetIds) {\n var $$ = this.internal;\n $$.showLegend($$.mapToTargetIds(targetIds));\n $$.updateAndRedraw({\n withLegend: true\n });\n };\n\n Chart.prototype.legend.hide = function (targetIds) {\n var $$ = this.internal;\n $$.hideLegend($$.mapToTargetIds(targetIds));\n $$.updateAndRedraw({\n withLegend: false\n });\n };\n\n Chart.prototype.load = function (args) {\n var $$ = this.internal,\n config = $$.config; // update xs if specified\n\n if (args.xs) {\n $$.addXs(args.xs);\n } // update names if exists\n\n\n if ('names' in args) {\n Chart.prototype.data.names.bind(this)(args.names);\n } // update classes if exists\n\n\n if ('classes' in args) {\n Object.keys(args.classes).forEach(function (id) {\n config.data_classes[id] = args.classes[id];\n });\n } // update categories if exists\n\n\n if ('categories' in args && $$.isCategorized()) {\n config.axis_x_categories = args.categories;\n } // update axes if exists\n\n\n if ('axes' in args) {\n Object.keys(args.axes).forEach(function (id) {\n config.data_axes[id] = args.axes[id];\n });\n } // update colors if exists\n\n\n if ('colors' in args) {\n Object.keys(args.colors).forEach(function (id) {\n config.data_colors[id] = args.colors[id];\n });\n } // use cache if exists\n\n\n if ('cacheIds' in args && $$.hasCaches(args.cacheIds)) {\n $$.load($$.getCaches(args.cacheIds), args.done);\n return;\n } // unload if needed\n\n\n if ('unload' in args) {\n // TODO: do not unload if target will load (included in url/rows/columns)\n $$.unload($$.mapToTargetIds(typeof args.unload === 'boolean' && args.unload ? null : args.unload), function () {\n $$.loadFromArgs(args);\n });\n } else {\n $$.loadFromArgs(args);\n }\n };\n\n Chart.prototype.unload = function (args) {\n var $$ = this.internal;\n args = args || {};\n\n if (args instanceof Array) {\n args = {\n ids: args\n };\n } else if (typeof args === 'string') {\n args = {\n ids: [args]\n };\n }\n\n $$.unload($$.mapToTargetIds(args.ids), function () {\n $$.redraw({\n withUpdateOrgXDomain: true,\n withUpdateXDomain: true,\n withLegend: true\n });\n\n if (args.done) {\n args.done();\n }\n });\n };\n\n Chart.prototype.regions = function (regions) {\n var $$ = this.internal,\n config = $$.config;\n\n if (!regions) {\n return config.regions;\n }\n\n config.regions = regions;\n $$.redrawWithoutRescale();\n return config.regions;\n };\n\n Chart.prototype.regions.add = function (regions) {\n var $$ = this.internal,\n config = $$.config;\n\n if (!regions) {\n return config.regions;\n }\n\n config.regions = config.regions.concat(regions);\n $$.redrawWithoutRescale();\n return config.regions;\n };\n\n Chart.prototype.regions.remove = function (options) {\n var $$ = this.internal,\n config = $$.config,\n duration,\n classes,\n regions;\n options = options || {};\n duration = getOption(options, \"duration\", config.transition_duration);\n classes = getOption(options, \"classes\", [CLASS.region]);\n regions = $$.main.select('.' + CLASS.regions).selectAll(classes.map(function (c) {\n return '.' + c;\n }));\n (duration ? regions.transition().duration(duration) : regions).style('opacity', 0).remove();\n config.regions = config.regions.filter(function (region) {\n var found = false;\n\n if (!region['class']) {\n return true;\n }\n\n region['class'].split(' ').forEach(function (c) {\n if (classes.indexOf(c) >= 0) {\n found = true;\n }\n });\n return !found;\n });\n return config.regions;\n };\n\n Chart.prototype.selected = function (targetId) {\n var $$ = this.internal,\n d3 = $$.d3;\n return d3.merge($$.main.selectAll('.' + CLASS.shapes + $$.getTargetSelectorSuffix(targetId)).selectAll('.' + CLASS.shape).filter(function () {\n return d3.select(this).classed(CLASS.SELECTED);\n }).map(function (d) {\n return d.map(function (d) {\n var data = d.__data__;\n return data.data ? data.data : data;\n });\n }));\n };\n\n Chart.prototype.select = function (ids, indices, resetOther) {\n var $$ = this.internal,\n d3 = $$.d3,\n config = $$.config;\n\n if (!config.data_selection_enabled) {\n return;\n }\n\n $$.main.selectAll('.' + CLASS.shapes).selectAll('.' + CLASS.shape).each(function (d, i) {\n var shape = d3.select(this),\n id = d.data ? d.data.id : d.id,\n toggle = $$.getToggle(this, d).bind($$),\n isTargetId = config.data_selection_grouped || !ids || ids.indexOf(id) >= 0,\n isTargetIndex = !indices || indices.indexOf(i) >= 0,\n isSelected = shape.classed(CLASS.SELECTED); // line/area selection not supported yet\n\n if (shape.classed(CLASS.line) || shape.classed(CLASS.area)) {\n return;\n }\n\n if (isTargetId && isTargetIndex) {\n if (config.data_selection_isselectable(d) && !isSelected) {\n toggle(true, shape.classed(CLASS.SELECTED, true), d, i);\n }\n } else if (isDefined(resetOther) && resetOther) {\n if (isSelected) {\n toggle(false, shape.classed(CLASS.SELECTED, false), d, i);\n }\n }\n });\n };\n\n Chart.prototype.unselect = function (ids, indices) {\n var $$ = this.internal,\n d3 = $$.d3,\n config = $$.config;\n\n if (!config.data_selection_enabled) {\n return;\n }\n\n $$.main.selectAll('.' + CLASS.shapes).selectAll('.' + CLASS.shape).each(function (d, i) {\n var shape = d3.select(this),\n id = d.data ? d.data.id : d.id,\n toggle = $$.getToggle(this, d).bind($$),\n isTargetId = config.data_selection_grouped || !ids || ids.indexOf(id) >= 0,\n isTargetIndex = !indices || indices.indexOf(i) >= 0,\n isSelected = shape.classed(CLASS.SELECTED); // line/area selection not supported yet\n\n if (shape.classed(CLASS.line) || shape.classed(CLASS.area)) {\n return;\n }\n\n if (isTargetId && isTargetIndex) {\n if (config.data_selection_isselectable(d)) {\n if (isSelected) {\n toggle(false, shape.classed(CLASS.SELECTED, false), d, i);\n }\n }\n }\n });\n };\n\n Chart.prototype.show = function (targetIds, options) {\n var $$ = this.internal,\n targets;\n targetIds = $$.mapToTargetIds(targetIds);\n options = options || {};\n $$.removeHiddenTargetIds(targetIds);\n targets = $$.svg.selectAll($$.selectorTargets(targetIds));\n targets.transition().style('display', 'initial', 'important').style('opacity', 1, 'important').call($$.endall, function () {\n targets.style('opacity', null).style('opacity', 1);\n });\n\n if (options.withLegend) {\n $$.showLegend(targetIds);\n }\n\n $$.redraw({\n withUpdateOrgXDomain: true,\n withUpdateXDomain: true,\n withLegend: true\n });\n };\n\n Chart.prototype.hide = function (targetIds, options) {\n var $$ = this.internal,\n targets;\n targetIds = $$.mapToTargetIds(targetIds);\n options = options || {};\n $$.addHiddenTargetIds(targetIds);\n targets = $$.svg.selectAll($$.selectorTargets(targetIds));\n targets.transition().style('opacity', 0, 'important').call($$.endall, function () {\n targets.style('opacity', null).style('opacity', 0);\n targets.style('display', 'none');\n });\n\n if (options.withLegend) {\n $$.hideLegend(targetIds);\n }\n\n $$.redraw({\n withUpdateOrgXDomain: true,\n withUpdateXDomain: true,\n withLegend: true\n });\n };\n\n Chart.prototype.toggle = function (targetIds, options) {\n var that = this,\n $$ = this.internal;\n $$.mapToTargetIds(targetIds).forEach(function (targetId) {\n $$.isTargetToShow(targetId) ? that.hide(targetId, options) : that.show(targetId, options);\n });\n };\n\n Chart.prototype.tooltip = function () {};\n\n Chart.prototype.tooltip.show = function (args) {\n var $$ = this.internal,\n targets,\n data,\n mouse = {}; // determine mouse position on the chart\n\n if (args.mouse) {\n mouse = args.mouse;\n } else {\n // determine focus data\n if (args.data) {\n data = args.data;\n } else if (typeof args.x !== 'undefined') {\n if (args.id) {\n targets = $$.data.targets.filter(function (t) {\n return t.id === args.id;\n });\n } else {\n targets = $$.data.targets;\n }\n\n data = $$.filterByX(targets, args.x).slice(0, 1)[0];\n }\n\n mouse = data ? $$.getMousePosition(data) : null;\n } // emulate mouse events to show\n\n\n $$.dispatchEvent('mousemove', mouse);\n $$.config.tooltip_onshow.call($$, data);\n };\n\n Chart.prototype.tooltip.hide = function () {\n // TODO: get target data by checking the state of focus\n this.internal.dispatchEvent('mouseout', 0);\n this.internal.config.tooltip_onhide.call(this);\n };\n\n Chart.prototype.transform = function (type, targetIds) {\n var $$ = this.internal,\n options = ['pie', 'donut'].indexOf(type) >= 0 ? {\n withTransform: true\n } : null;\n $$.transformTo(targetIds, type, options);\n };\n\n ChartInternal.prototype.transformTo = function (targetIds, type, optionsForRedraw) {\n var $$ = this,\n withTransitionForAxis = !$$.hasArcType(),\n options = optionsForRedraw || {\n withTransitionForAxis: withTransitionForAxis\n };\n options.withTransitionForTransform = false;\n $$.transiting = false;\n $$.setTargetType(targetIds, type);\n $$.updateTargets($$.data.targets); // this is needed when transforming to arc\n\n $$.updateAndRedraw(options);\n };\n\n Chart.prototype.x = function (x) {\n var $$ = this.internal;\n\n if (arguments.length) {\n $$.updateTargetX($$.data.targets, x);\n $$.redraw({\n withUpdateOrgXDomain: true,\n withUpdateXDomain: true\n });\n }\n\n return $$.data.xs;\n };\n\n Chart.prototype.xs = function (xs) {\n var $$ = this.internal;\n\n if (arguments.length) {\n $$.updateTargetXs($$.data.targets, xs);\n $$.redraw({\n withUpdateOrgXDomain: true,\n withUpdateXDomain: true\n });\n }\n\n return $$.data.xs;\n };\n\n Chart.prototype.zoom = function (domain) {\n var $$ = this.internal;\n\n if (domain) {\n if ($$.isTimeSeries()) {\n domain = domain.map(function (x) {\n return $$.parseDate(x);\n });\n }\n\n if ($$.config.subchart_show) {\n $$.brush.selectionAsValue(domain, true);\n } else {\n $$.updateXDomain(null, true, false, false, domain);\n $$.redraw({\n withY: $$.config.zoom_rescale,\n withSubchart: false\n });\n }\n\n $$.config.zoom_onzoom.call(this, $$.x.orgDomain());\n return domain;\n } else {\n return $$.x.domain();\n }\n };\n\n Chart.prototype.zoom.enable = function (enabled) {\n var $$ = this.internal;\n $$.config.zoom_enabled = enabled;\n $$.updateAndRedraw();\n };\n\n Chart.prototype.unzoom = function () {\n var $$ = this.internal;\n\n if ($$.config.subchart_show) {\n $$.brush.clear();\n } else {\n $$.updateXDomain(null, true, false, false, $$.subX.domain());\n $$.redraw({\n withY: $$.config.zoom_rescale,\n withSubchart: false\n });\n }\n };\n\n Chart.prototype.zoom.max = function (max) {\n var $$ = this.internal,\n config = $$.config,\n d3 = $$.d3;\n\n if (max === 0 || max) {\n config.zoom_x_max = d3.max([$$.orgXDomain[1], max]);\n } else {\n return config.zoom_x_max;\n }\n };\n\n Chart.prototype.zoom.min = function (min) {\n var $$ = this.internal,\n config = $$.config,\n d3 = $$.d3;\n\n if (min === 0 || min) {\n config.zoom_x_min = d3.min([$$.orgXDomain[0], min]);\n } else {\n return config.zoom_x_min;\n }\n };\n\n Chart.prototype.zoom.range = function (range) {\n if (arguments.length) {\n if (isDefined(range.max)) {\n this.domain.max(range.max);\n }\n\n if (isDefined(range.min)) {\n this.domain.min(range.min);\n }\n } else {\n return {\n max: this.domain.max(),\n min: this.domain.min()\n };\n }\n };\n\n ChartInternal.prototype.initPie = function () {\n var $$ = this,\n d3 = $$.d3;\n $$.pie = d3.pie().value(function (d) {\n return d.values.reduce(function (a, b) {\n return a + b.value;\n }, 0);\n });\n var orderFct = $$.getOrderFunction(); // we need to reverse the returned order if asc or desc to have the slice in expected order.\n\n if (orderFct && ($$.isOrderAsc() || $$.isOrderDesc())) {\n var defaultSort = orderFct;\n\n orderFct = function orderFct(t1, t2) {\n return defaultSort(t1, t2) * -1;\n };\n }\n\n $$.pie.sort(orderFct || null);\n };\n\n ChartInternal.prototype.updateRadius = function () {\n var $$ = this,\n config = $$.config,\n w = config.gauge_width || config.donut_width,\n gaugeArcWidth = $$.filterTargetsToShow($$.data.targets).length * $$.config.gauge_arcs_minWidth;\n $$.radiusExpanded = Math.min($$.arcWidth, $$.arcHeight) / 2 * ($$.hasType('gauge') ? 0.85 : 1);\n $$.radius = $$.radiusExpanded * 0.95;\n $$.innerRadiusRatio = w ? ($$.radius - w) / $$.radius : 0.6;\n $$.innerRadius = $$.hasType('donut') || $$.hasType('gauge') ? $$.radius * $$.innerRadiusRatio : 0;\n $$.gaugeArcWidth = w ? w : gaugeArcWidth <= $$.radius - $$.innerRadius ? $$.radius - $$.innerRadius : gaugeArcWidth <= $$.radius ? gaugeArcWidth : $$.radius;\n };\n\n ChartInternal.prototype.updateArc = function () {\n var $$ = this;\n $$.svgArc = $$.getSvgArc();\n $$.svgArcExpanded = $$.getSvgArcExpanded();\n $$.svgArcExpandedSub = $$.getSvgArcExpanded(0.98);\n };\n\n ChartInternal.prototype.updateAngle = function (d) {\n var $$ = this,\n config = $$.config,\n found = false,\n index = 0,\n gMin,\n gMax,\n gTic,\n gValue;\n\n if (!config) {\n return null;\n }\n\n $$.pie($$.filterTargetsToShow($$.data.targets)).forEach(function (t) {\n if (!found && t.data.id === d.data.id) {\n found = true;\n d = t;\n d.index = index;\n }\n\n index++;\n });\n\n if (isNaN(d.startAngle)) {\n d.startAngle = 0;\n }\n\n if (isNaN(d.endAngle)) {\n d.endAngle = d.startAngle;\n }\n\n if ($$.isGaugeType(d.data)) {\n gMin = config.gauge_min;\n gMax = config.gauge_max;\n gTic = Math.PI * (config.gauge_fullCircle ? 2 : 1) / (gMax - gMin);\n gValue = d.value < gMin ? 0 : d.value < gMax ? d.value - gMin : gMax - gMin;\n d.startAngle = config.gauge_startingAngle;\n d.endAngle = d.startAngle + gTic * gValue;\n }\n\n return found ? d : null;\n };\n\n ChartInternal.prototype.getSvgArc = function () {\n var $$ = this,\n hasGaugeType = $$.hasType('gauge'),\n singleArcWidth = $$.gaugeArcWidth / $$.filterTargetsToShow($$.data.targets).length,\n arc = $$.d3.arc().outerRadius(function (d) {\n return hasGaugeType ? $$.radius - singleArcWidth * d.index : $$.radius;\n }).innerRadius(function (d) {\n return hasGaugeType ? $$.radius - singleArcWidth * (d.index + 1) : $$.innerRadius;\n }),\n newArc = function newArc(d, withoutUpdate) {\n var updated;\n\n if (withoutUpdate) {\n return arc(d);\n } // for interpolate\n\n\n updated = $$.updateAngle(d);\n return updated ? arc(updated) : \"M 0 0\";\n }; // TODO: extends all function\n\n\n newArc.centroid = arc.centroid;\n return newArc;\n };\n\n ChartInternal.prototype.getSvgArcExpanded = function (rate) {\n rate = rate || 1;\n var $$ = this,\n hasGaugeType = $$.hasType('gauge'),\n singleArcWidth = $$.gaugeArcWidth / $$.filterTargetsToShow($$.data.targets).length,\n expandWidth = Math.min($$.radiusExpanded * rate - $$.radius, singleArcWidth * 0.8 - (1 - rate) * 100),\n arc = $$.d3.arc().outerRadius(function (d) {\n return hasGaugeType ? $$.radius - singleArcWidth * d.index + expandWidth : $$.radiusExpanded * rate;\n }).innerRadius(function (d) {\n return hasGaugeType ? $$.radius - singleArcWidth * (d.index + 1) : $$.innerRadius;\n });\n return function (d) {\n var updated = $$.updateAngle(d);\n return updated ? arc(updated) : \"M 0 0\";\n };\n };\n\n ChartInternal.prototype.getArc = function (d, withoutUpdate, force) {\n return force || this.isArcType(d.data) ? this.svgArc(d, withoutUpdate) : \"M 0 0\";\n };\n\n ChartInternal.prototype.transformForArcLabel = function (d) {\n var $$ = this,\n config = $$.config,\n updated = $$.updateAngle(d),\n c,\n x,\n y,\n h,\n ratio,\n translate = \"\",\n hasGauge = $$.hasType('gauge');\n\n if (updated && !hasGauge) {\n c = this.svgArc.centroid(updated);\n x = isNaN(c[0]) ? 0 : c[0];\n y = isNaN(c[1]) ? 0 : c[1];\n h = Math.sqrt(x * x + y * y);\n\n if ($$.hasType('donut') && config.donut_label_ratio) {\n ratio = isFunction(config.donut_label_ratio) ? config.donut_label_ratio(d, $$.radius, h) : config.donut_label_ratio;\n } else if ($$.hasType('pie') && config.pie_label_ratio) {\n ratio = isFunction(config.pie_label_ratio) ? config.pie_label_ratio(d, $$.radius, h) : config.pie_label_ratio;\n } else {\n ratio = $$.radius && h ? (36 / $$.radius > 0.375 ? 1.175 - 36 / $$.radius : 0.8) * $$.radius / h : 0;\n }\n\n translate = \"translate(\" + x * ratio + ',' + y * ratio + \")\";\n } else if (updated && hasGauge && $$.filterTargetsToShow($$.data.targets).length > 1) {\n var y1 = Math.sin(updated.endAngle - Math.PI / 2);\n x = Math.cos(updated.endAngle - Math.PI / 2) * ($$.radiusExpanded + 25);\n y = y1 * ($$.radiusExpanded + 15 - Math.abs(y1 * 10)) + 3;\n translate = \"translate(\" + x + ',' + y + \")\";\n }\n\n return translate;\n };\n\n ChartInternal.prototype.getArcRatio = function (d) {\n var $$ = this,\n config = $$.config,\n whole = Math.PI * ($$.hasType('gauge') && !config.gauge_fullCircle ? 1 : 2);\n return d ? (d.endAngle - d.startAngle) / whole : null;\n };\n\n ChartInternal.prototype.convertToArcData = function (d) {\n return this.addName({\n id: d.data.id,\n value: d.value,\n ratio: this.getArcRatio(d),\n index: d.index\n });\n };\n\n ChartInternal.prototype.textForArcLabel = function (d) {\n var $$ = this,\n updated,\n value,\n ratio,\n id,\n format;\n\n if (!$$.shouldShowArcLabel()) {\n return \"\";\n }\n\n updated = $$.updateAngle(d);\n value = updated ? updated.value : null;\n ratio = $$.getArcRatio(updated);\n id = d.data.id;\n\n if (!$$.hasType('gauge') && !$$.meetsArcLabelThreshold(ratio)) {\n return \"\";\n }\n\n format = $$.getArcLabelFormat();\n return format ? format(value, ratio, id) : $$.defaultArcValueFormat(value, ratio);\n };\n\n ChartInternal.prototype.textForGaugeMinMax = function (value, isMax) {\n var $$ = this,\n format = $$.getGaugeLabelExtents();\n return format ? format(value, isMax) : value;\n };\n\n ChartInternal.prototype.expandArc = function (targetIds) {\n var $$ = this,\n interval; // MEMO: avoid to cancel transition\n\n if ($$.transiting) {\n interval = window.setInterval(function () {\n if (!$$.transiting) {\n window.clearInterval(interval);\n\n if ($$.legend.selectAll('.c3-legend-item-focused').size() > 0) {\n $$.expandArc(targetIds);\n }\n }\n }, 10);\n return;\n }\n\n targetIds = $$.mapToTargetIds(targetIds);\n $$.svg.selectAll($$.selectorTargets(targetIds, '.' + CLASS.chartArc)).each(function (d) {\n if (!$$.shouldExpand(d.data.id)) {\n return;\n }\n\n $$.d3.select(this).selectAll('path').transition().duration($$.expandDuration(d.data.id)).attr(\"d\", $$.svgArcExpanded).transition().duration($$.expandDuration(d.data.id) * 2).attr(\"d\", $$.svgArcExpandedSub).each(function (d) {\n if ($$.isDonutType(d.data)) ;\n });\n });\n };\n\n ChartInternal.prototype.unexpandArc = function (targetIds) {\n var $$ = this;\n\n if ($$.transiting) {\n return;\n }\n\n targetIds = $$.mapToTargetIds(targetIds);\n $$.svg.selectAll($$.selectorTargets(targetIds, '.' + CLASS.chartArc)).selectAll('path').transition().duration(function (d) {\n return $$.expandDuration(d.data.id);\n }).attr(\"d\", $$.svgArc);\n $$.svg.selectAll('.' + CLASS.arc);\n };\n\n ChartInternal.prototype.expandDuration = function (id) {\n var $$ = this,\n config = $$.config;\n\n if ($$.isDonutType(id)) {\n return config.donut_expand_duration;\n } else if ($$.isGaugeType(id)) {\n return config.gauge_expand_duration;\n } else if ($$.isPieType(id)) {\n return config.pie_expand_duration;\n } else {\n return 50;\n }\n };\n\n ChartInternal.prototype.shouldExpand = function (id) {\n var $$ = this,\n config = $$.config;\n return $$.isDonutType(id) && config.donut_expand || $$.isGaugeType(id) && config.gauge_expand || $$.isPieType(id) && config.pie_expand;\n };\n\n ChartInternal.prototype.shouldShowArcLabel = function () {\n var $$ = this,\n config = $$.config,\n shouldShow = true;\n\n if ($$.hasType('donut')) {\n shouldShow = config.donut_label_show;\n } else if ($$.hasType('pie')) {\n shouldShow = config.pie_label_show;\n } // when gauge, always true\n\n\n return shouldShow;\n };\n\n ChartInternal.prototype.meetsArcLabelThreshold = function (ratio) {\n var $$ = this,\n config = $$.config,\n threshold = $$.hasType('donut') ? config.donut_label_threshold : config.pie_label_threshold;\n return ratio >= threshold;\n };\n\n ChartInternal.prototype.getArcLabelFormat = function () {\n var $$ = this,\n config = $$.config,\n format = config.pie_label_format;\n\n if ($$.hasType('gauge')) {\n format = config.gauge_label_format;\n } else if ($$.hasType('donut')) {\n format = config.donut_label_format;\n }\n\n return format;\n };\n\n ChartInternal.prototype.getGaugeLabelExtents = function () {\n var $$ = this,\n config = $$.config;\n return config.gauge_label_extents;\n };\n\n ChartInternal.prototype.getArcTitle = function () {\n var $$ = this;\n return $$.hasType('donut') ? $$.config.donut_title : \"\";\n };\n\n ChartInternal.prototype.updateTargetsForArc = function (targets) {\n var $$ = this,\n main = $$.main,\n mainPies,\n mainPieEnter,\n classChartArc = $$.classChartArc.bind($$),\n classArcs = $$.classArcs.bind($$),\n classFocus = $$.classFocus.bind($$);\n mainPies = main.select('.' + CLASS.chartArcs).selectAll('.' + CLASS.chartArc).data($$.pie(targets)).attr(\"class\", function (d) {\n return classChartArc(d) + classFocus(d.data);\n });\n mainPieEnter = mainPies.enter().append(\"g\").attr(\"class\", classChartArc);\n mainPieEnter.append('g').attr('class', classArcs);\n mainPieEnter.append(\"text\").attr(\"dy\", $$.hasType('gauge') ? \"-.1em\" : \".35em\").style(\"opacity\", 0).style(\"text-anchor\", \"middle\").style(\"pointer-events\", \"none\"); // MEMO: can not keep same color..., but not bad to update color in redraw\n //mainPieUpdate.exit().remove();\n };\n\n ChartInternal.prototype.initArc = function () {\n var $$ = this;\n $$.arcs = $$.main.select('.' + CLASS.chart).append(\"g\").attr(\"class\", CLASS.chartArcs).attr(\"transform\", $$.getTranslate('arc'));\n $$.arcs.append('text').attr('class', CLASS.chartArcsTitle).style(\"text-anchor\", \"middle\").text($$.getArcTitle());\n };\n\n ChartInternal.prototype.redrawArc = function (duration, durationForExit, withTransform) {\n var $$ = this,\n d3 = $$.d3,\n config = $$.config,\n main = $$.main,\n arcs,\n mainArc,\n arcLabelLines,\n mainArcLabelLine,\n hasGaugeType = $$.hasType('gauge');\n arcs = main.selectAll('.' + CLASS.arcs).selectAll('.' + CLASS.arc).data($$.arcData.bind($$));\n mainArc = arcs.enter().append('path').attr(\"class\", $$.classArc.bind($$)).style(\"fill\", function (d) {\n return $$.color(d.data);\n }).style(\"cursor\", function (d) {\n return config.interaction_enabled && config.data_selection_isselectable(d) ? \"pointer\" : null;\n }).each(function (d) {\n if ($$.isGaugeType(d.data)) {\n d.startAngle = d.endAngle = config.gauge_startingAngle;\n }\n\n this._current = d;\n }).merge(arcs);\n\n if (hasGaugeType) {\n arcLabelLines = main.selectAll('.' + CLASS.arcs).selectAll('.' + CLASS.arcLabelLine).data($$.arcData.bind($$));\n mainArcLabelLine = arcLabelLines.enter().append('rect').attr(\"class\", function (d) {\n return CLASS.arcLabelLine + ' ' + CLASS.target + ' ' + CLASS.target + '-' + d.data.id;\n }).merge(arcLabelLines);\n\n if ($$.filterTargetsToShow($$.data.targets).length === 1) {\n mainArcLabelLine.style(\"display\", \"none\");\n } else {\n mainArcLabelLine.style(\"fill\", function (d) {\n return $$.levelColor ? $$.levelColor(d.data.values[0].value) : $$.color(d.data);\n }).style(\"display\", config.gauge_labelLine_show ? \"\" : \"none\").each(function (d) {\n var lineLength = 0,\n lineThickness = 2,\n x = 0,\n y = 0,\n transform = \"\";\n\n if ($$.hiddenTargetIds.indexOf(d.data.id) < 0) {\n var updated = $$.updateAngle(d),\n innerLineLength = $$.gaugeArcWidth / $$.filterTargetsToShow($$.data.targets).length * (updated.index + 1),\n lineAngle = updated.endAngle - Math.PI / 2,\n arcInnerRadius = $$.radius - innerLineLength,\n linePositioningAngle = lineAngle - (arcInnerRadius === 0 ? 0 : 1 / arcInnerRadius);\n lineLength = $$.radiusExpanded - $$.radius + innerLineLength;\n x = Math.cos(linePositioningAngle) * arcInnerRadius;\n y = Math.sin(linePositioningAngle) * arcInnerRadius;\n transform = \"rotate(\" + lineAngle * 180 / Math.PI + \", \" + x + \", \" + y + \")\";\n }\n\n d3.select(this).attr('x', x).attr('y', y).attr('width', lineLength).attr('height', lineThickness).attr('transform', transform).style(\"stroke-dasharray\", \"0, \" + (lineLength + lineThickness) + \", 0\");\n });\n }\n }\n\n mainArc.attr(\"transform\", function (d) {\n return !$$.isGaugeType(d.data) && withTransform ? \"scale(0)\" : \"\";\n }).on('mouseover', config.interaction_enabled ? function (d) {\n var updated, arcData;\n\n if ($$.transiting) {\n // skip while transiting\n return;\n }\n\n updated = $$.updateAngle(d);\n\n if (updated) {\n arcData = $$.convertToArcData(updated); // transitions\n\n $$.expandArc(updated.data.id);\n $$.api.focus(updated.data.id);\n $$.toggleFocusLegend(updated.data.id, true);\n $$.config.data_onmouseover(arcData, this);\n }\n } : null).on('mousemove', config.interaction_enabled ? function (d) {\n var updated = $$.updateAngle(d),\n arcData,\n selectedData;\n\n if (updated) {\n arcData = $$.convertToArcData(updated), selectedData = [arcData];\n $$.showTooltip(selectedData, this);\n }\n } : null).on('mouseout', config.interaction_enabled ? function (d) {\n var updated, arcData;\n\n if ($$.transiting) {\n // skip while transiting\n return;\n }\n\n updated = $$.updateAngle(d);\n\n if (updated) {\n arcData = $$.convertToArcData(updated); // transitions\n\n $$.unexpandArc(updated.data.id);\n $$.api.revert();\n $$.revertLegend();\n $$.hideTooltip();\n $$.config.data_onmouseout(arcData, this);\n }\n } : null).on('click', config.interaction_enabled ? function (d, i) {\n var updated = $$.updateAngle(d),\n arcData;\n\n if (updated) {\n arcData = $$.convertToArcData(updated);\n\n if ($$.toggleShape) {\n $$.toggleShape(this, arcData, i);\n }\n\n $$.config.data_onclick.call($$.api, arcData, this);\n }\n } : null).each(function () {\n $$.transiting = true;\n }).transition().duration(duration).attrTween(\"d\", function (d) {\n var updated = $$.updateAngle(d),\n interpolate;\n\n if (!updated) {\n return function () {\n return \"M 0 0\";\n };\n } // if (this._current === d) {\n // this._current = {\n // startAngle: Math.PI*2,\n // endAngle: Math.PI*2,\n // };\n // }\n\n\n if (isNaN(this._current.startAngle)) {\n this._current.startAngle = 0;\n }\n\n if (isNaN(this._current.endAngle)) {\n this._current.endAngle = this._current.startAngle;\n }\n\n interpolate = d3.interpolate(this._current, updated);\n this._current = interpolate(0);\n return function (t) {\n var interpolated = interpolate(t);\n interpolated.data = d.data; // data.id will be updated by interporator\n\n return $$.getArc(interpolated, true);\n };\n }).attr(\"transform\", withTransform ? \"scale(1)\" : \"\").style(\"fill\", function (d) {\n return $$.levelColor ? $$.levelColor(d.data.values[0].value) : $$.color(d.data.id);\n }) // Where gauge reading color would receive customization.\n .call($$.endall, function () {\n $$.transiting = false;\n });\n arcs.exit().transition().duration(durationForExit).style('opacity', 0).remove();\n main.selectAll('.' + CLASS.chartArc).select('text').style(\"opacity\", 0).attr('class', function (d) {\n return $$.isGaugeType(d.data) ? CLASS.gaugeValue : '';\n }).text($$.textForArcLabel.bind($$)).attr(\"transform\", $$.transformForArcLabel.bind($$)).style('font-size', function (d) {\n return $$.isGaugeType(d.data) && $$.filterTargetsToShow($$.data.targets).length === 1 ? Math.round($$.radius / 5) + 'px' : '';\n }).transition().duration(duration).style(\"opacity\", function (d) {\n return $$.isTargetToShow(d.data.id) && $$.isArcType(d.data) ? 1 : 0;\n });\n main.select('.' + CLASS.chartArcsTitle).style(\"opacity\", $$.hasType('donut') || hasGaugeType ? 1 : 0);\n\n if (hasGaugeType) {\n var index = 0;\n var backgroundArc = $$.arcs.select('g.' + CLASS.chartArcsBackground).selectAll('path.' + CLASS.chartArcsBackground).data($$.data.targets);\n backgroundArc.enter().append(\"path\").attr(\"class\", function (d, i) {\n return CLASS.chartArcsBackground + ' ' + CLASS.chartArcsBackground + '-' + i;\n }).merge(backgroundArc).attr(\"d\", function (d1) {\n if ($$.hiddenTargetIds.indexOf(d1.id) >= 0) {\n return \"M 0 0\";\n }\n\n var d = {\n data: [{\n value: config.gauge_max\n }],\n startAngle: config.gauge_startingAngle,\n endAngle: -1 * config.gauge_startingAngle * (config.gauge_fullCircle ? Math.PI : 1),\n index: index++\n };\n return $$.getArc(d, true, true);\n });\n backgroundArc.exit().remove();\n $$.arcs.select('.' + CLASS.chartArcsGaugeUnit).attr(\"dy\", \".75em\").text(config.gauge_label_show ? config.gauge_units : '');\n $$.arcs.select('.' + CLASS.chartArcsGaugeMin).attr(\"dx\", -1 * ($$.innerRadius + ($$.radius - $$.innerRadius) / (config.gauge_fullCircle ? 1 : 2)) + \"px\").attr(\"dy\", \"1.2em\").text(config.gauge_label_show ? $$.textForGaugeMinMax(config.gauge_min, false) : '');\n $$.arcs.select('.' + CLASS.chartArcsGaugeMax).attr(\"dx\", $$.innerRadius + ($$.radius - $$.innerRadius) / (config.gauge_fullCircle ? 1 : 2) + \"px\").attr(\"dy\", \"1.2em\").text(config.gauge_label_show ? $$.textForGaugeMinMax(config.gauge_max, true) : '');\n }\n };\n\n ChartInternal.prototype.initGauge = function () {\n var arcs = this.arcs;\n\n if (this.hasType('gauge')) {\n arcs.append('g').attr(\"class\", CLASS.chartArcsBackground);\n arcs.append(\"text\").attr(\"class\", CLASS.chartArcsGaugeUnit).style(\"text-anchor\", \"middle\").style(\"pointer-events\", \"none\");\n arcs.append(\"text\").attr(\"class\", CLASS.chartArcsGaugeMin).style(\"text-anchor\", \"middle\").style(\"pointer-events\", \"none\");\n arcs.append(\"text\").attr(\"class\", CLASS.chartArcsGaugeMax).style(\"text-anchor\", \"middle\").style(\"pointer-events\", \"none\");\n }\n };\n\n ChartInternal.prototype.getGaugeLabelHeight = function () {\n return this.config.gauge_label_show ? 20 : 0;\n };\n\n ChartInternal.prototype.hasCaches = function (ids) {\n for (var i = 0; i < ids.length; i++) {\n if (!(ids[i] in this.cache)) {\n return false;\n }\n }\n\n return true;\n };\n\n ChartInternal.prototype.addCache = function (id, target) {\n this.cache[id] = this.cloneTarget(target);\n };\n\n ChartInternal.prototype.getCaches = function (ids) {\n var targets = [],\n i;\n\n for (i = 0; i < ids.length; i++) {\n if (ids[i] in this.cache) {\n targets.push(this.cloneTarget(this.cache[ids[i]]));\n }\n }\n\n return targets;\n };\n\n ChartInternal.prototype.categoryName = function (i) {\n var config = this.config;\n return i < config.axis_x_categories.length ? config.axis_x_categories[i] : i;\n };\n\n ChartInternal.prototype.generateTargetClass = function (targetId) {\n return targetId || targetId === 0 ? ('-' + targetId).replace(/\\s/g, '-') : '';\n };\n\n ChartInternal.prototype.generateClass = function (prefix, targetId) {\n return \" \" + prefix + \" \" + prefix + this.generateTargetClass(targetId);\n };\n\n ChartInternal.prototype.classText = function (d) {\n return this.generateClass(CLASS.text, d.index);\n };\n\n ChartInternal.prototype.classTexts = function (d) {\n return this.generateClass(CLASS.texts, d.id);\n };\n\n ChartInternal.prototype.classShape = function (d) {\n return this.generateClass(CLASS.shape, d.index);\n };\n\n ChartInternal.prototype.classShapes = function (d) {\n return this.generateClass(CLASS.shapes, d.id);\n };\n\n ChartInternal.prototype.classLine = function (d) {\n return this.classShape(d) + this.generateClass(CLASS.line, d.id);\n };\n\n ChartInternal.prototype.classLines = function (d) {\n return this.classShapes(d) + this.generateClass(CLASS.lines, d.id);\n };\n\n ChartInternal.prototype.classCircle = function (d) {\n return this.classShape(d) + this.generateClass(CLASS.circle, d.index);\n };\n\n ChartInternal.prototype.classCircles = function (d) {\n return this.classShapes(d) + this.generateClass(CLASS.circles, d.id);\n };\n\n ChartInternal.prototype.classBar = function (d) {\n return this.classShape(d) + this.generateClass(CLASS.bar, d.index);\n };\n\n ChartInternal.prototype.classBars = function (d) {\n return this.classShapes(d) + this.generateClass(CLASS.bars, d.id);\n };\n\n ChartInternal.prototype.classArc = function (d) {\n return this.classShape(d.data) + this.generateClass(CLASS.arc, d.data.id);\n };\n\n ChartInternal.prototype.classArcs = function (d) {\n return this.classShapes(d.data) + this.generateClass(CLASS.arcs, d.data.id);\n };\n\n ChartInternal.prototype.classArea = function (d) {\n return this.classShape(d) + this.generateClass(CLASS.area, d.id);\n };\n\n ChartInternal.prototype.classAreas = function (d) {\n return this.classShapes(d) + this.generateClass(CLASS.areas, d.id);\n };\n\n ChartInternal.prototype.classRegion = function (d, i) {\n return this.generateClass(CLASS.region, i) + ' ' + ('class' in d ? d['class'] : '');\n };\n\n ChartInternal.prototype.classEvent = function (d) {\n return this.generateClass(CLASS.eventRect, d.index);\n };\n\n ChartInternal.prototype.classTarget = function (id) {\n var $$ = this;\n var additionalClassSuffix = $$.config.data_classes[id],\n additionalClass = '';\n\n if (additionalClassSuffix) {\n additionalClass = ' ' + CLASS.target + '-' + additionalClassSuffix;\n }\n\n return $$.generateClass(CLASS.target, id) + additionalClass;\n };\n\n ChartInternal.prototype.classFocus = function (d) {\n return this.classFocused(d) + this.classDefocused(d);\n };\n\n ChartInternal.prototype.classFocused = function (d) {\n return ' ' + (this.focusedTargetIds.indexOf(d.id) >= 0 ? CLASS.focused : '');\n };\n\n ChartInternal.prototype.classDefocused = function (d) {\n return ' ' + (this.defocusedTargetIds.indexOf(d.id) >= 0 ? CLASS.defocused : '');\n };\n\n ChartInternal.prototype.classChartText = function (d) {\n return CLASS.chartText + this.classTarget(d.id);\n };\n\n ChartInternal.prototype.classChartLine = function (d) {\n return CLASS.chartLine + this.classTarget(d.id);\n };\n\n ChartInternal.prototype.classChartBar = function (d) {\n return CLASS.chartBar + this.classTarget(d.id);\n };\n\n ChartInternal.prototype.classChartArc = function (d) {\n return CLASS.chartArc + this.classTarget(d.data.id);\n };\n\n ChartInternal.prototype.getTargetSelectorSuffix = function (targetId) {\n return this.generateTargetClass(targetId).replace(/([?!@#$%^&*()_=+,.<>'\":;\\[\\]\\/|~`{}\\\\])/g, '\\\\$1');\n };\n\n ChartInternal.prototype.selectorTarget = function (id, prefix) {\n return (prefix || '') + '.' + CLASS.target + this.getTargetSelectorSuffix(id);\n };\n\n ChartInternal.prototype.selectorTargets = function (ids, prefix) {\n var $$ = this;\n ids = ids || [];\n return ids.length ? ids.map(function (id) {\n return $$.selectorTarget(id, prefix);\n }) : null;\n };\n\n ChartInternal.prototype.selectorLegend = function (id) {\n return '.' + CLASS.legendItem + this.getTargetSelectorSuffix(id);\n };\n\n ChartInternal.prototype.selectorLegends = function (ids) {\n var $$ = this;\n return ids && ids.length ? ids.map(function (id) {\n return $$.selectorLegend(id);\n }) : null;\n };\n\n ChartInternal.prototype.getClipPath = function (id) {\n var isIE9 = window.navigator.appVersion.toLowerCase().indexOf(\"msie 9.\") >= 0;\n return \"url(\" + (isIE9 ? \"\" : document.URL.split('#')[0]) + \"#\" + id + \")\";\n };\n\n ChartInternal.prototype.appendClip = function (parent, id) {\n return parent.append(\"clipPath\").attr(\"id\", id).append(\"rect\");\n };\n\n ChartInternal.prototype.getAxisClipX = function (forHorizontal) {\n // axis line width + padding for left\n var left = Math.max(30, this.margin.left);\n return forHorizontal ? -(1 + left) : -(left - 1);\n };\n\n ChartInternal.prototype.getAxisClipY = function (forHorizontal) {\n return forHorizontal ? -20 : -this.margin.top;\n };\n\n ChartInternal.prototype.getXAxisClipX = function () {\n var $$ = this;\n return $$.getAxisClipX(!$$.config.axis_rotated);\n };\n\n ChartInternal.prototype.getXAxisClipY = function () {\n var $$ = this;\n return $$.getAxisClipY(!$$.config.axis_rotated);\n };\n\n ChartInternal.prototype.getYAxisClipX = function () {\n var $$ = this;\n return $$.config.axis_y_inner ? -1 : $$.getAxisClipX($$.config.axis_rotated);\n };\n\n ChartInternal.prototype.getYAxisClipY = function () {\n var $$ = this;\n return $$.getAxisClipY($$.config.axis_rotated);\n };\n\n ChartInternal.prototype.getAxisClipWidth = function (forHorizontal) {\n var $$ = this,\n left = Math.max(30, $$.margin.left),\n right = Math.max(30, $$.margin.right); // width + axis line width + padding for left/right\n\n return forHorizontal ? $$.width + 2 + left + right : $$.margin.left + 20;\n };\n\n ChartInternal.prototype.getAxisClipHeight = function (forHorizontal) {\n // less than 20 is not enough to show the axis label 'outer' without legend\n return (forHorizontal ? this.margin.bottom : this.margin.top + this.height) + 20;\n };\n\n ChartInternal.prototype.getXAxisClipWidth = function () {\n var $$ = this;\n return $$.getAxisClipWidth(!$$.config.axis_rotated);\n };\n\n ChartInternal.prototype.getXAxisClipHeight = function () {\n var $$ = this;\n return $$.getAxisClipHeight(!$$.config.axis_rotated);\n };\n\n ChartInternal.prototype.getYAxisClipWidth = function () {\n var $$ = this;\n return $$.getAxisClipWidth($$.config.axis_rotated) + ($$.config.axis_y_inner ? 20 : 0);\n };\n\n ChartInternal.prototype.getYAxisClipHeight = function () {\n var $$ = this;\n return $$.getAxisClipHeight($$.config.axis_rotated);\n };\n\n ChartInternal.prototype.generateColor = function () {\n var $$ = this,\n config = $$.config,\n d3 = $$.d3,\n colors = config.data_colors,\n pattern = notEmpty(config.color_pattern) ? config.color_pattern : d3.schemeCategory10,\n callback = config.data_color,\n ids = [];\n return function (d) {\n var id = d.id || d.data && d.data.id || d,\n color; // if callback function is provided\n\n if (colors[id] instanceof Function) {\n color = colors[id](d);\n } // if specified, choose that color\n else if (colors[id]) {\n color = colors[id];\n } // if not specified, choose from pattern\n else {\n if (ids.indexOf(id) < 0) {\n ids.push(id);\n }\n\n color = pattern[ids.indexOf(id) % pattern.length];\n colors[id] = color;\n }\n\n return callback instanceof Function ? callback(color, d) : color;\n };\n };\n\n ChartInternal.prototype.generateLevelColor = function () {\n var $$ = this,\n config = $$.config,\n colors = config.color_pattern,\n threshold = config.color_threshold,\n asValue = threshold.unit === 'value',\n values = threshold.values && threshold.values.length ? threshold.values : [],\n max = threshold.max || 100;\n return notEmpty(threshold) && notEmpty(colors) ? function (value) {\n var i,\n v,\n color = colors[colors.length - 1];\n\n for (i = 0; i < values.length; i++) {\n v = asValue ? value : value * 100 / max;\n\n if (v < values[i]) {\n color = colors[i];\n break;\n }\n }\n\n return color;\n } : null;\n };\n\n ChartInternal.prototype.getDefaultConfig = function () {\n var config = {\n bindto: '#chart',\n svg_classname: undefined,\n size_width: undefined,\n size_height: undefined,\n padding_left: undefined,\n padding_right: undefined,\n padding_top: undefined,\n padding_bottom: undefined,\n resize_auto: true,\n zoom_enabled: false,\n zoom_initialRange: undefined,\n zoom_type: 'scroll',\n zoom_disableDefaultBehavior: false,\n zoom_privileged: false,\n zoom_rescale: false,\n zoom_onzoom: function zoom_onzoom() {},\n zoom_onzoomstart: function zoom_onzoomstart() {},\n zoom_onzoomend: function zoom_onzoomend() {},\n zoom_x_min: undefined,\n zoom_x_max: undefined,\n interaction_brighten: true,\n interaction_enabled: true,\n onmouseover: function onmouseover() {},\n onmouseout: function onmouseout() {},\n onresize: function onresize() {},\n onresized: function onresized() {},\n oninit: function oninit() {},\n onrendered: function onrendered() {},\n transition_duration: 350,\n data_x: undefined,\n data_xs: {},\n data_xFormat: '%Y-%m-%d',\n data_xLocaltime: true,\n data_xSort: true,\n data_idConverter: function data_idConverter(id) {\n return id;\n },\n data_names: {},\n data_classes: {},\n data_groups: [],\n data_axes: {},\n data_type: undefined,\n data_types: {},\n data_labels: {},\n data_order: 'desc',\n data_regions: {},\n data_color: undefined,\n data_colors: {},\n data_hide: false,\n data_filter: undefined,\n data_selection_enabled: false,\n data_selection_grouped: false,\n data_selection_isselectable: function data_selection_isselectable() {\n return true;\n },\n data_selection_multiple: true,\n data_selection_draggable: false,\n data_onclick: function data_onclick() {},\n data_onmouseover: function data_onmouseover() {},\n data_onmouseout: function data_onmouseout() {},\n data_onselected: function data_onselected() {},\n data_onunselected: function data_onunselected() {},\n data_url: undefined,\n data_headers: undefined,\n data_json: undefined,\n data_rows: undefined,\n data_columns: undefined,\n data_mimeType: undefined,\n data_keys: undefined,\n // configuration for no plot-able data supplied.\n data_empty_label_text: \"\",\n // subchart\n subchart_show: false,\n subchart_size_height: 60,\n subchart_axis_x_show: true,\n subchart_onbrush: function subchart_onbrush() {},\n // color\n color_pattern: [],\n color_threshold: {},\n // legend\n legend_show: true,\n legend_hide: false,\n legend_position: 'bottom',\n legend_inset_anchor: 'top-left',\n legend_inset_x: 10,\n legend_inset_y: 0,\n legend_inset_step: undefined,\n legend_item_onclick: undefined,\n legend_item_onmouseover: undefined,\n legend_item_onmouseout: undefined,\n legend_equally: false,\n legend_padding: 0,\n legend_item_tile_width: 10,\n legend_item_tile_height: 10,\n // axis\n axis_rotated: false,\n axis_x_show: true,\n axis_x_type: 'indexed',\n axis_x_localtime: true,\n axis_x_categories: [],\n axis_x_tick_centered: false,\n axis_x_tick_format: undefined,\n axis_x_tick_culling: {},\n axis_x_tick_culling_max: 10,\n axis_x_tick_count: undefined,\n axis_x_tick_fit: true,\n axis_x_tick_values: null,\n axis_x_tick_rotate: 0,\n axis_x_tick_outer: true,\n axis_x_tick_multiline: true,\n axis_x_tick_multilineMax: 0,\n axis_x_tick_width: null,\n axis_x_max: undefined,\n axis_x_min: undefined,\n axis_x_padding: {},\n axis_x_height: undefined,\n axis_x_selection: undefined,\n axis_x_label: {},\n axis_x_inner: undefined,\n axis_y_show: true,\n axis_y_type: undefined,\n axis_y_max: undefined,\n axis_y_min: undefined,\n axis_y_inverted: false,\n axis_y_center: undefined,\n axis_y_inner: undefined,\n axis_y_label: {},\n axis_y_tick_format: undefined,\n axis_y_tick_outer: true,\n axis_y_tick_values: null,\n axis_y_tick_rotate: 0,\n axis_y_tick_count: undefined,\n axis_y_tick_time_type: undefined,\n axis_y_tick_time_interval: undefined,\n axis_y_padding: {},\n axis_y_default: undefined,\n axis_y2_show: false,\n axis_y2_max: undefined,\n axis_y2_min: undefined,\n axis_y2_inverted: false,\n axis_y2_center: undefined,\n axis_y2_inner: undefined,\n axis_y2_label: {},\n axis_y2_tick_format: undefined,\n axis_y2_tick_outer: true,\n axis_y2_tick_values: null,\n axis_y2_tick_count: undefined,\n axis_y2_padding: {},\n axis_y2_default: undefined,\n // grid\n grid_x_show: false,\n grid_x_type: 'tick',\n grid_x_lines: [],\n grid_y_show: false,\n // not used\n // grid_y_type: 'tick',\n grid_y_lines: [],\n grid_y_ticks: 10,\n grid_focus_show: true,\n grid_lines_front: true,\n // point - point of each data\n point_show: true,\n point_r: 2.5,\n point_sensitivity: 10,\n point_focus_expand_enabled: true,\n point_focus_expand_r: undefined,\n point_select_r: undefined,\n // line\n line_connectNull: false,\n line_step_type: 'step',\n // bar\n bar_width: undefined,\n bar_width_ratio: 0.6,\n bar_width_max: undefined,\n bar_zerobased: true,\n bar_space: 0,\n // area\n area_zerobased: true,\n area_above: false,\n // pie\n pie_label_show: true,\n pie_label_format: undefined,\n pie_label_threshold: 0.05,\n pie_label_ratio: undefined,\n pie_expand: {},\n pie_expand_duration: 50,\n // gauge\n gauge_fullCircle: false,\n gauge_label_show: true,\n gauge_labelLine_show: true,\n gauge_label_format: undefined,\n gauge_min: 0,\n gauge_max: 100,\n gauge_startingAngle: -1 * Math.PI / 2,\n gauge_label_extents: undefined,\n gauge_units: undefined,\n gauge_width: undefined,\n gauge_arcs_minWidth: 5,\n gauge_expand: {},\n gauge_expand_duration: 50,\n // donut\n donut_label_show: true,\n donut_label_format: undefined,\n donut_label_threshold: 0.05,\n donut_label_ratio: undefined,\n donut_width: undefined,\n donut_title: \"\",\n donut_expand: {},\n donut_expand_duration: 50,\n // spline\n spline_interpolation_type: 'cardinal',\n // region - region to change style\n regions: [],\n // tooltip - show when mouseover on each data\n tooltip_show: true,\n tooltip_grouped: true,\n tooltip_order: undefined,\n tooltip_format_title: undefined,\n tooltip_format_name: undefined,\n tooltip_format_value: undefined,\n tooltip_position: undefined,\n tooltip_contents: function tooltip_contents(d, defaultTitleFormat, defaultValueFormat, color) {\n return this.getTooltipContent ? this.getTooltipContent(d, defaultTitleFormat, defaultValueFormat, color) : '';\n },\n tooltip_init_show: false,\n tooltip_init_x: 0,\n tooltip_init_position: {\n top: '0px',\n left: '50px'\n },\n tooltip_onshow: function tooltip_onshow() {},\n tooltip_onhide: function tooltip_onhide() {},\n // title\n title_text: undefined,\n title_padding: {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n },\n title_position: 'top-center'\n };\n Object.keys(this.additionalConfig).forEach(function (key) {\n config[key] = this.additionalConfig[key];\n }, this);\n return config;\n };\n\n ChartInternal.prototype.additionalConfig = {};\n\n ChartInternal.prototype.loadConfig = function (config) {\n var this_config = this.config,\n target,\n keys,\n read;\n\n function find() {\n var key = keys.shift(); // console.log(\"key =>\", key, \", target =>\", target);\n\n if (key && target && _typeof(target) === 'object' && key in target) {\n target = target[key];\n return find();\n } else if (!key) {\n return target;\n } else {\n return undefined;\n }\n }\n\n Object.keys(this_config).forEach(function (key) {\n target = config;\n keys = key.split('_');\n read = find(); // console.log(\"CONFIG : \", key, read);\n\n if (isDefined(read)) {\n this_config[key] = read;\n }\n });\n };\n\n ChartInternal.prototype.convertUrlToData = function (url, mimeType, headers, keys, done) {\n var $$ = this,\n type = mimeType ? mimeType : 'csv',\n f,\n converter;\n\n if (type === 'json') {\n f = $$.d3.json;\n converter = $$.convertJsonToData;\n } else if (type === 'tsv') {\n f = $$.d3.tsv;\n converter = $$.convertXsvToData;\n } else {\n f = $$.d3.csv;\n converter = $$.convertXsvToData;\n }\n\n f(url, headers).then(function (data) {\n done.call($$, converter.call($$, data, keys));\n }).catch(function (error) {\n throw error;\n });\n };\n\n ChartInternal.prototype.convertXsvToData = function (xsv) {\n var keys = xsv.columns,\n rows = xsv;\n\n if (rows.length === 0) {\n return {\n keys: keys,\n rows: [keys.reduce(function (row, key) {\n return Object.assign(row, _defineProperty({}, key, null));\n }, {})]\n };\n } else {\n // [].concat() is to convert result into a plain array otherwise\n // test is not happy because rows have properties.\n return {\n keys: keys,\n rows: [].concat(xsv)\n };\n }\n };\n\n ChartInternal.prototype.convertJsonToData = function (json, keys) {\n var $$ = this,\n new_rows = [],\n targetKeys,\n data;\n\n if (keys) {\n // when keys specified, json would be an array that includes objects\n if (keys.x) {\n targetKeys = keys.value.concat(keys.x);\n $$.config.data_x = keys.x;\n } else {\n targetKeys = keys.value;\n }\n\n new_rows.push(targetKeys);\n json.forEach(function (o) {\n var new_row = [];\n targetKeys.forEach(function (key) {\n // convert undefined to null because undefined data will be removed in convertDataToTargets()\n var v = $$.findValueInJson(o, key);\n\n if (isUndefined(v)) {\n v = null;\n }\n\n new_row.push(v);\n });\n new_rows.push(new_row);\n });\n data = $$.convertRowsToData(new_rows);\n } else {\n Object.keys(json).forEach(function (key) {\n new_rows.push([key].concat(json[key]));\n });\n data = $$.convertColumnsToData(new_rows);\n }\n\n return data;\n };\n\n ChartInternal.prototype.findValueInJson = function (object, path) {\n path = path.replace(/\\[(\\w+)\\]/g, '.$1'); // convert indexes to properties (replace [] with .)\n\n path = path.replace(/^\\./, ''); // strip a leading dot\n\n var pathArray = path.split('.');\n\n for (var i = 0; i < pathArray.length; ++i) {\n var k = pathArray[i];\n\n if (k in object) {\n object = object[k];\n } else {\n return;\n }\n }\n\n return object;\n };\n /**\n * Converts the rows to normalized data.\n * @param {any[][]} rows The row data\n * @return {Object}\n */\n\n\n ChartInternal.prototype.convertRowsToData = function (rows) {\n var newRows = [];\n var keys = rows[0];\n\n for (var i = 1; i < rows.length; i++) {\n var newRow = {};\n\n for (var j = 0; j < rows[i].length; j++) {\n if (isUndefined(rows[i][j])) {\n throw new Error(\"Source data is missing a component at (\" + i + \",\" + j + \")!\");\n }\n\n newRow[keys[j]] = rows[i][j];\n }\n\n newRows.push(newRow);\n }\n\n return {\n keys: keys,\n rows: newRows\n };\n };\n /**\n * Converts the columns to normalized data.\n * @param {any[][]} columns The column data\n * @return {Object}\n */\n\n\n ChartInternal.prototype.convertColumnsToData = function (columns) {\n var newRows = [];\n var keys = [];\n\n for (var i = 0; i < columns.length; i++) {\n var key = columns[i][0];\n\n for (var j = 1; j < columns[i].length; j++) {\n if (isUndefined(newRows[j - 1])) {\n newRows[j - 1] = {};\n }\n\n if (isUndefined(columns[i][j])) {\n throw new Error(\"Source data is missing a component at (\" + i + \",\" + j + \")!\");\n }\n\n newRows[j - 1][key] = columns[i][j];\n }\n\n keys.push(key);\n }\n\n return {\n keys: keys,\n rows: newRows\n };\n };\n /**\n * Converts the data format into the target format.\n * @param {!Object} data\n * @param {!Array} data.keys Ordered list of target IDs.\n * @param {!Array} data.rows Rows of data to convert.\n * @param {boolean} appendXs True to append to $$.data.xs, False to replace.\n * @return {!Array}\n */\n\n\n ChartInternal.prototype.convertDataToTargets = function (data, appendXs) {\n var $$ = this,\n config = $$.config,\n targets,\n ids,\n xs,\n keys; // handles format where keys are not orderly provided\n\n if (isArray(data)) {\n keys = Object.keys(data[0]);\n } else {\n keys = data.keys;\n data = data.rows;\n }\n\n ids = keys.filter($$.isNotX, $$);\n xs = keys.filter($$.isX, $$); // save x for update data by load when custom x and c3.x API\n\n ids.forEach(function (id) {\n var xKey = $$.getXKey(id);\n\n if ($$.isCustomX() || $$.isTimeSeries()) {\n // if included in input data\n if (xs.indexOf(xKey) >= 0) {\n $$.data.xs[id] = (appendXs && $$.data.xs[id] ? $$.data.xs[id] : []).concat(data.map(function (d) {\n return d[xKey];\n }).filter(isValue).map(function (rawX, i) {\n return $$.generateTargetX(rawX, id, i);\n }));\n } // if not included in input data, find from preloaded data of other id's x\n else if (config.data_x) {\n $$.data.xs[id] = $$.getOtherTargetXs();\n } // if not included in input data, find from preloaded data\n else if (notEmpty(config.data_xs)) {\n $$.data.xs[id] = $$.getXValuesOfXKey(xKey, $$.data.targets);\n } // MEMO: if no x included, use same x of current will be used\n\n } else {\n $$.data.xs[id] = data.map(function (d, i) {\n return i;\n });\n }\n }); // check x is defined\n\n ids.forEach(function (id) {\n if (!$$.data.xs[id]) {\n throw new Error('x is not defined for id = \"' + id + '\".');\n }\n }); // convert to target\n\n targets = ids.map(function (id, index) {\n var convertedId = config.data_idConverter(id);\n return {\n id: convertedId,\n id_org: id,\n values: data.map(function (d, i) {\n var xKey = $$.getXKey(id),\n rawX = d[xKey],\n value = d[id] !== null && !isNaN(d[id]) ? +d[id] : null,\n x; // use x as categories if custom x and categorized\n\n if ($$.isCustomX() && $$.isCategorized() && !isUndefined(rawX)) {\n if (index === 0 && i === 0) {\n config.axis_x_categories = [];\n }\n\n x = config.axis_x_categories.indexOf(rawX);\n\n if (x === -1) {\n x = config.axis_x_categories.length;\n config.axis_x_categories.push(rawX);\n }\n } else {\n x = $$.generateTargetX(rawX, id, i);\n } // mark as x = undefined if value is undefined and filter to remove after mapped\n\n\n if (isUndefined(d[id]) || $$.data.xs[id].length <= i) {\n x = undefined;\n }\n\n return {\n x: x,\n value: value,\n id: convertedId\n };\n }).filter(function (v) {\n return isDefined(v.x);\n })\n };\n }); // finish targets\n\n targets.forEach(function (t) {\n var i; // sort values by its x\n\n if (config.data_xSort) {\n t.values = t.values.sort(function (v1, v2) {\n var x1 = v1.x || v1.x === 0 ? v1.x : Infinity,\n x2 = v2.x || v2.x === 0 ? v2.x : Infinity;\n return x1 - x2;\n });\n } // indexing each value\n\n\n i = 0;\n t.values.forEach(function (v) {\n v.index = i++;\n }); // this needs to be sorted because its index and value.index is identical\n\n $$.data.xs[t.id].sort(function (v1, v2) {\n return v1 - v2;\n });\n }); // cache information about values\n\n $$.hasNegativeValue = $$.hasNegativeValueInTargets(targets);\n $$.hasPositiveValue = $$.hasPositiveValueInTargets(targets); // set target types\n\n if (config.data_type) {\n $$.setTargetType($$.mapToIds(targets).filter(function (id) {\n return !(id in config.data_types);\n }), config.data_type);\n } // cache as original id keyed\n\n\n targets.forEach(function (d) {\n $$.addCache(d.id_org, d);\n });\n return targets;\n };\n\n ChartInternal.prototype.isX = function (key) {\n var $$ = this,\n config = $$.config;\n return config.data_x && key === config.data_x || notEmpty(config.data_xs) && hasValue(config.data_xs, key);\n };\n\n ChartInternal.prototype.isNotX = function (key) {\n return !this.isX(key);\n };\n\n ChartInternal.prototype.getXKey = function (id) {\n var $$ = this,\n config = $$.config;\n return config.data_x ? config.data_x : notEmpty(config.data_xs) ? config.data_xs[id] : null;\n };\n\n ChartInternal.prototype.getXValuesOfXKey = function (key, targets) {\n var $$ = this,\n xValues,\n ids = targets && notEmpty(targets) ? $$.mapToIds(targets) : [];\n ids.forEach(function (id) {\n if ($$.getXKey(id) === key) {\n xValues = $$.data.xs[id];\n }\n });\n return xValues;\n };\n\n ChartInternal.prototype.getXValue = function (id, i) {\n var $$ = this;\n return id in $$.data.xs && $$.data.xs[id] && isValue($$.data.xs[id][i]) ? $$.data.xs[id][i] : i;\n };\n\n ChartInternal.prototype.getOtherTargetXs = function () {\n var $$ = this,\n idsForX = Object.keys($$.data.xs);\n return idsForX.length ? $$.data.xs[idsForX[0]] : null;\n };\n\n ChartInternal.prototype.getOtherTargetX = function (index) {\n var xs = this.getOtherTargetXs();\n return xs && index < xs.length ? xs[index] : null;\n };\n\n ChartInternal.prototype.addXs = function (xs) {\n var $$ = this;\n Object.keys(xs).forEach(function (id) {\n $$.config.data_xs[id] = xs[id];\n });\n };\n\n ChartInternal.prototype.addName = function (data) {\n var $$ = this,\n name;\n\n if (data) {\n name = $$.config.data_names[data.id];\n data.name = name !== undefined ? name : data.id;\n }\n\n return data;\n };\n\n ChartInternal.prototype.getValueOnIndex = function (values, index) {\n var valueOnIndex = values.filter(function (v) {\n return v.index === index;\n });\n return valueOnIndex.length ? valueOnIndex[0] : null;\n };\n\n ChartInternal.prototype.updateTargetX = function (targets, x) {\n var $$ = this;\n targets.forEach(function (t) {\n t.values.forEach(function (v, i) {\n v.x = $$.generateTargetX(x[i], t.id, i);\n });\n $$.data.xs[t.id] = x;\n });\n };\n\n ChartInternal.prototype.updateTargetXs = function (targets, xs) {\n var $$ = this;\n targets.forEach(function (t) {\n if (xs[t.id]) {\n $$.updateTargetX([t], xs[t.id]);\n }\n });\n };\n\n ChartInternal.prototype.generateTargetX = function (rawX, id, index) {\n var $$ = this,\n x;\n\n if ($$.isTimeSeries()) {\n x = rawX ? $$.parseDate(rawX) : $$.parseDate($$.getXValue(id, index));\n } else if ($$.isCustomX() && !$$.isCategorized()) {\n x = isValue(rawX) ? +rawX : $$.getXValue(id, index);\n } else {\n x = index;\n }\n\n return x;\n };\n\n ChartInternal.prototype.cloneTarget = function (target) {\n return {\n id: target.id,\n id_org: target.id_org,\n values: target.values.map(function (d) {\n return {\n x: d.x,\n value: d.value,\n id: d.id\n };\n })\n };\n };\n\n ChartInternal.prototype.getMaxDataCount = function () {\n var $$ = this;\n return $$.d3.max($$.data.targets, function (t) {\n return t.values.length;\n });\n };\n\n ChartInternal.prototype.mapToIds = function (targets) {\n return targets.map(function (d) {\n return d.id;\n });\n };\n\n ChartInternal.prototype.mapToTargetIds = function (ids) {\n var $$ = this;\n return ids ? [].concat(ids) : $$.mapToIds($$.data.targets);\n };\n\n ChartInternal.prototype.hasTarget = function (targets, id) {\n var ids = this.mapToIds(targets),\n i;\n\n for (i = 0; i < ids.length; i++) {\n if (ids[i] === id) {\n return true;\n }\n }\n\n return false;\n };\n\n ChartInternal.prototype.isTargetToShow = function (targetId) {\n return this.hiddenTargetIds.indexOf(targetId) < 0;\n };\n\n ChartInternal.prototype.isLegendToShow = function (targetId) {\n return this.hiddenLegendIds.indexOf(targetId) < 0;\n };\n\n ChartInternal.prototype.filterTargetsToShow = function (targets) {\n var $$ = this;\n return targets.filter(function (t) {\n return $$.isTargetToShow(t.id);\n });\n };\n\n ChartInternal.prototype.mapTargetsToUniqueXs = function (targets) {\n var $$ = this;\n var xs = $$.d3.set($$.d3.merge(targets.map(function (t) {\n return t.values.map(function (v) {\n return +v.x;\n });\n }))).values();\n xs = $$.isTimeSeries() ? xs.map(function (x) {\n return new Date(+x);\n }) : xs.map(function (x) {\n return +x;\n });\n return xs.sort(function (a, b) {\n return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;\n });\n };\n\n ChartInternal.prototype.addHiddenTargetIds = function (targetIds) {\n targetIds = targetIds instanceof Array ? targetIds : new Array(targetIds);\n\n for (var i = 0; i < targetIds.length; i++) {\n if (this.hiddenTargetIds.indexOf(targetIds[i]) < 0) {\n this.hiddenTargetIds = this.hiddenTargetIds.concat(targetIds[i]);\n }\n }\n };\n\n ChartInternal.prototype.removeHiddenTargetIds = function (targetIds) {\n this.hiddenTargetIds = this.hiddenTargetIds.filter(function (id) {\n return targetIds.indexOf(id) < 0;\n });\n };\n\n ChartInternal.prototype.addHiddenLegendIds = function (targetIds) {\n targetIds = targetIds instanceof Array ? targetIds : new Array(targetIds);\n\n for (var i = 0; i < targetIds.length; i++) {\n if (this.hiddenLegendIds.indexOf(targetIds[i]) < 0) {\n this.hiddenLegendIds = this.hiddenLegendIds.concat(targetIds[i]);\n }\n }\n };\n\n ChartInternal.prototype.removeHiddenLegendIds = function (targetIds) {\n this.hiddenLegendIds = this.hiddenLegendIds.filter(function (id) {\n return targetIds.indexOf(id) < 0;\n });\n };\n\n ChartInternal.prototype.getValuesAsIdKeyed = function (targets) {\n var ys = {};\n targets.forEach(function (t) {\n ys[t.id] = [];\n t.values.forEach(function (v) {\n ys[t.id].push(v.value);\n });\n });\n return ys;\n };\n\n ChartInternal.prototype.checkValueInTargets = function (targets, checker) {\n var ids = Object.keys(targets),\n i,\n j,\n values;\n\n for (i = 0; i < ids.length; i++) {\n values = targets[ids[i]].values;\n\n for (j = 0; j < values.length; j++) {\n if (checker(values[j].value)) {\n return true;\n }\n }\n }\n\n return false;\n };\n\n ChartInternal.prototype.hasNegativeValueInTargets = function (targets) {\n return this.checkValueInTargets(targets, function (v) {\n return v < 0;\n });\n };\n\n ChartInternal.prototype.hasPositiveValueInTargets = function (targets) {\n return this.checkValueInTargets(targets, function (v) {\n return v > 0;\n });\n };\n\n ChartInternal.prototype.isOrderDesc = function () {\n var config = this.config;\n return typeof config.data_order === 'string' && config.data_order.toLowerCase() === 'desc';\n };\n\n ChartInternal.prototype.isOrderAsc = function () {\n var config = this.config;\n return typeof config.data_order === 'string' && config.data_order.toLowerCase() === 'asc';\n };\n\n ChartInternal.prototype.getOrderFunction = function () {\n var $$ = this,\n config = $$.config,\n orderAsc = $$.isOrderAsc(),\n orderDesc = $$.isOrderDesc();\n\n if (orderAsc || orderDesc) {\n var reducer = function reducer(p, c) {\n return p + Math.abs(c.value);\n };\n\n return function (t1, t2) {\n var t1Sum = t1.values.reduce(reducer, 0),\n t2Sum = t2.values.reduce(reducer, 0);\n return orderAsc ? t2Sum - t1Sum : t1Sum - t2Sum;\n };\n } else if (isFunction(config.data_order)) {\n return config.data_order;\n } else if (isArray(config.data_order)) {\n var order = config.data_order;\n return function (t1, t2) {\n return order.indexOf(t1.id) - order.indexOf(t2.id);\n };\n }\n };\n\n ChartInternal.prototype.orderTargets = function (targets) {\n var fct = this.getOrderFunction();\n\n if (fct) {\n targets.sort(fct);\n }\n\n return targets;\n };\n\n ChartInternal.prototype.filterByX = function (targets, x) {\n return this.d3.merge(targets.map(function (t) {\n return t.values;\n })).filter(function (v) {\n return v.x - x === 0;\n });\n };\n\n ChartInternal.prototype.filterRemoveNull = function (data) {\n return data.filter(function (d) {\n return isValue(d.value);\n });\n };\n\n ChartInternal.prototype.filterByXDomain = function (targets, xDomain) {\n return targets.map(function (t) {\n return {\n id: t.id,\n id_org: t.id_org,\n values: t.values.filter(function (v) {\n return xDomain[0] <= v.x && v.x <= xDomain[1];\n })\n };\n });\n };\n\n ChartInternal.prototype.hasDataLabel = function () {\n var config = this.config;\n\n if (typeof config.data_labels === 'boolean' && config.data_labels) {\n return true;\n } else if (_typeof(config.data_labels) === 'object' && notEmpty(config.data_labels)) {\n return true;\n }\n\n return false;\n };\n\n ChartInternal.prototype.getDataLabelLength = function (min, max, key) {\n var $$ = this,\n lengths = [0, 0],\n paddingCoef = 1.3;\n $$.selectChart.select('svg').selectAll('.dummy').data([min, max]).enter().append('text').text(function (d) {\n return $$.dataLabelFormat(d.id)(d);\n }).each(function (d, i) {\n lengths[i] = this.getBoundingClientRect()[key] * paddingCoef;\n }).remove();\n return lengths;\n };\n /**\n * Returns true if the given data point is not arc type, otherwise false.\n * @param {Object} d The data point\n * @return {boolean}\n */\n\n\n ChartInternal.prototype.isNoneArc = function (d) {\n return this.hasTarget(this.data.targets, d.id);\n };\n /**\n * Returns true if the given data point is arc type, otherwise false.\n * @param {Object} d The data point\n * @return {boolean}\n */\n\n\n ChartInternal.prototype.isArc = function (d) {\n return 'data' in d && this.hasTarget(this.data.targets, d.data.id);\n };\n\n ChartInternal.prototype.findClosestFromTargets = function (targets, pos) {\n var $$ = this,\n candidates; // map to array of closest points of each target\n\n candidates = targets.map(function (target) {\n return $$.findClosest(target.values, pos);\n }); // decide closest point and return\n\n return $$.findClosest(candidates, pos);\n };\n\n ChartInternal.prototype.findClosest = function (values, pos) {\n var $$ = this,\n minDist = $$.config.point_sensitivity,\n closest; // find mouseovering bar\n\n values.filter(function (v) {\n return v && $$.isBarType(v.id);\n }).forEach(function (v) {\n var shape = $$.main.select('.' + CLASS.bars + $$.getTargetSelectorSuffix(v.id) + ' .' + CLASS.bar + '-' + v.index).node();\n\n if (!closest && $$.isWithinBar($$.d3.mouse(shape), shape)) {\n closest = v;\n }\n }); // find closest point from non-bar\n\n values.filter(function (v) {\n return v && !$$.isBarType(v.id);\n }).forEach(function (v) {\n var d = $$.dist(v, pos);\n\n if (d < minDist) {\n minDist = d;\n closest = v;\n }\n });\n return closest;\n };\n\n ChartInternal.prototype.dist = function (data, pos) {\n var $$ = this,\n config = $$.config,\n xIndex = config.axis_rotated ? 1 : 0,\n yIndex = config.axis_rotated ? 0 : 1,\n y = $$.circleY(data, data.index),\n x = $$.x(data.x);\n return Math.sqrt(Math.pow(x - pos[xIndex], 2) + Math.pow(y - pos[yIndex], 2));\n };\n\n ChartInternal.prototype.convertValuesToStep = function (values) {\n var converted = [].concat(values),\n i;\n\n if (!this.isCategorized()) {\n return values;\n }\n\n for (i = values.length + 1; 0 < i; i--) {\n converted[i] = converted[i - 1];\n }\n\n converted[0] = {\n x: converted[0].x - 1,\n value: converted[0].value,\n id: converted[0].id\n };\n converted[values.length + 1] = {\n x: converted[values.length].x + 1,\n value: converted[values.length].value,\n id: converted[values.length].id\n };\n return converted;\n };\n\n ChartInternal.prototype.updateDataAttributes = function (name, attrs) {\n var $$ = this,\n config = $$.config,\n current = config['data_' + name];\n\n if (typeof attrs === 'undefined') {\n return current;\n }\n\n Object.keys(attrs).forEach(function (id) {\n current[id] = attrs[id];\n });\n $$.redraw({\n withLegend: true\n });\n return current;\n };\n\n ChartInternal.prototype.load = function (targets, args) {\n var $$ = this;\n\n if (targets) {\n // filter loading targets if needed\n if (args.filter) {\n targets = targets.filter(args.filter);\n } // set type if args.types || args.type specified\n\n\n if (args.type || args.types) {\n targets.forEach(function (t) {\n var type = args.types && args.types[t.id] ? args.types[t.id] : args.type;\n $$.setTargetType(t.id, type);\n });\n } // Update/Add data\n\n\n $$.data.targets.forEach(function (d) {\n for (var i = 0; i < targets.length; i++) {\n if (d.id === targets[i].id) {\n d.values = targets[i].values;\n targets.splice(i, 1);\n break;\n }\n }\n });\n $$.data.targets = $$.data.targets.concat(targets); // add remained\n } // Set targets\n\n\n $$.updateTargets($$.data.targets); // Redraw with new targets\n\n $$.redraw({\n withUpdateOrgXDomain: true,\n withUpdateXDomain: true,\n withLegend: true\n });\n\n if (args.done) {\n args.done();\n }\n };\n\n ChartInternal.prototype.loadFromArgs = function (args) {\n var $$ = this;\n\n if (args.data) {\n $$.load($$.convertDataToTargets(args.data), args);\n } else if (args.url) {\n $$.convertUrlToData(args.url, args.mimeType, args.headers, args.keys, function (data) {\n $$.load($$.convertDataToTargets(data), args);\n });\n } else if (args.json) {\n $$.load($$.convertDataToTargets($$.convertJsonToData(args.json, args.keys)), args);\n } else if (args.rows) {\n $$.load($$.convertDataToTargets($$.convertRowsToData(args.rows)), args);\n } else if (args.columns) {\n $$.load($$.convertDataToTargets($$.convertColumnsToData(args.columns)), args);\n } else {\n $$.load(null, args);\n }\n };\n\n ChartInternal.prototype.unload = function (targetIds, done) {\n var $$ = this;\n\n if (!done) {\n done = function done() {};\n } // filter existing target\n\n\n targetIds = targetIds.filter(function (id) {\n return $$.hasTarget($$.data.targets, id);\n }); // If no target, call done and return\n\n if (!targetIds || targetIds.length === 0) {\n done();\n return;\n }\n\n $$.svg.selectAll(targetIds.map(function (id) {\n return $$.selectorTarget(id);\n })).transition().style('opacity', 0).remove().call($$.endall, done);\n targetIds.forEach(function (id) {\n // Reset fadein for future load\n $$.withoutFadeIn[id] = false; // Remove target's elements\n\n if ($$.legend) {\n $$.legend.selectAll('.' + CLASS.legendItem + $$.getTargetSelectorSuffix(id)).remove();\n } // Remove target\n\n\n $$.data.targets = $$.data.targets.filter(function (t) {\n return t.id !== id;\n });\n });\n };\n\n ChartInternal.prototype.getYDomainMin = function (targets) {\n var $$ = this,\n config = $$.config,\n ids = $$.mapToIds(targets),\n ys = $$.getValuesAsIdKeyed(targets),\n j,\n k,\n baseId,\n idsInGroup,\n id,\n hasNegativeValue;\n\n if (config.data_groups.length > 0) {\n hasNegativeValue = $$.hasNegativeValueInTargets(targets);\n\n for (j = 0; j < config.data_groups.length; j++) {\n // Determine baseId\n idsInGroup = config.data_groups[j].filter(function (id) {\n return ids.indexOf(id) >= 0;\n });\n\n if (idsInGroup.length === 0) {\n continue;\n }\n\n baseId = idsInGroup[0]; // Consider negative values\n\n if (hasNegativeValue && ys[baseId]) {\n ys[baseId].forEach(function (v, i) {\n ys[baseId][i] = v < 0 ? v : 0;\n });\n } // Compute min\n\n\n for (k = 1; k < idsInGroup.length; k++) {\n id = idsInGroup[k];\n\n if (!ys[id]) {\n continue;\n }\n\n ys[id].forEach(function (v, i) {\n if ($$.axis.getId(id) === $$.axis.getId(baseId) && ys[baseId] && !(hasNegativeValue && +v > 0)) {\n ys[baseId][i] += +v;\n }\n });\n }\n }\n }\n\n return $$.d3.min(Object.keys(ys).map(function (key) {\n return $$.d3.min(ys[key]);\n }));\n };\n\n ChartInternal.prototype.getYDomainMax = function (targets) {\n var $$ = this,\n config = $$.config,\n ids = $$.mapToIds(targets),\n ys = $$.getValuesAsIdKeyed(targets),\n j,\n k,\n baseId,\n idsInGroup,\n id,\n hasPositiveValue;\n\n if (config.data_groups.length > 0) {\n hasPositiveValue = $$.hasPositiveValueInTargets(targets);\n\n for (j = 0; j < config.data_groups.length; j++) {\n // Determine baseId\n idsInGroup = config.data_groups[j].filter(function (id) {\n return ids.indexOf(id) >= 0;\n });\n\n if (idsInGroup.length === 0) {\n continue;\n }\n\n baseId = idsInGroup[0]; // Consider positive values\n\n if (hasPositiveValue && ys[baseId]) {\n ys[baseId].forEach(function (v, i) {\n ys[baseId][i] = v > 0 ? v : 0;\n });\n } // Compute max\n\n\n for (k = 1; k < idsInGroup.length; k++) {\n id = idsInGroup[k];\n\n if (!ys[id]) {\n continue;\n }\n\n ys[id].forEach(function (v, i) {\n if ($$.axis.getId(id) === $$.axis.getId(baseId) && ys[baseId] && !(hasPositiveValue && +v < 0)) {\n ys[baseId][i] += +v;\n }\n });\n }\n }\n }\n\n return $$.d3.max(Object.keys(ys).map(function (key) {\n return $$.d3.max(ys[key]);\n }));\n };\n\n ChartInternal.prototype.getYDomain = function (targets, axisId, xDomain) {\n var $$ = this,\n config = $$.config,\n targetsByAxisId = targets.filter(function (t) {\n return $$.axis.getId(t.id) === axisId;\n }),\n yTargets = xDomain ? $$.filterByXDomain(targetsByAxisId, xDomain) : targetsByAxisId,\n yMin = axisId === 'y2' ? config.axis_y2_min : config.axis_y_min,\n yMax = axisId === 'y2' ? config.axis_y2_max : config.axis_y_max,\n yDomainMin = $$.getYDomainMin(yTargets),\n yDomainMax = $$.getYDomainMax(yTargets),\n domain,\n domainLength,\n padding,\n padding_top,\n padding_bottom,\n center = axisId === 'y2' ? config.axis_y2_center : config.axis_y_center,\n yDomainAbs,\n lengths,\n diff,\n ratio,\n isAllPositive,\n isAllNegative,\n isZeroBased = $$.hasType('bar', yTargets) && config.bar_zerobased || $$.hasType('area', yTargets) && config.area_zerobased,\n isInverted = axisId === 'y2' ? config.axis_y2_inverted : config.axis_y_inverted,\n showHorizontalDataLabel = $$.hasDataLabel() && config.axis_rotated,\n showVerticalDataLabel = $$.hasDataLabel() && !config.axis_rotated; // MEMO: avoid inverting domain unexpectedly\n\n yDomainMin = isValue(yMin) ? yMin : isValue(yMax) ? yDomainMin < yMax ? yDomainMin : yMax - 10 : yDomainMin;\n yDomainMax = isValue(yMax) ? yMax : isValue(yMin) ? yMin < yDomainMax ? yDomainMax : yMin + 10 : yDomainMax;\n\n if (yTargets.length === 0) {\n // use current domain if target of axisId is none\n return axisId === 'y2' ? $$.y2.domain() : $$.y.domain();\n }\n\n if (isNaN(yDomainMin)) {\n // set minimum to zero when not number\n yDomainMin = 0;\n }\n\n if (isNaN(yDomainMax)) {\n // set maximum to have same value as yDomainMin\n yDomainMax = yDomainMin;\n }\n\n if (yDomainMin === yDomainMax) {\n yDomainMin < 0 ? yDomainMax = 0 : yDomainMin = 0;\n }\n\n isAllPositive = yDomainMin >= 0 && yDomainMax >= 0;\n isAllNegative = yDomainMin <= 0 && yDomainMax <= 0; // Cancel zerobased if axis_*_min / axis_*_max specified\n\n if (isValue(yMin) && isAllPositive || isValue(yMax) && isAllNegative) {\n isZeroBased = false;\n } // Bar/Area chart should be 0-based if all positive|negative\n\n\n if (isZeroBased) {\n if (isAllPositive) {\n yDomainMin = 0;\n }\n\n if (isAllNegative) {\n yDomainMax = 0;\n }\n }\n\n domainLength = Math.abs(yDomainMax - yDomainMin);\n padding = padding_top = padding_bottom = domainLength * 0.1;\n\n if (typeof center !== 'undefined') {\n yDomainAbs = Math.max(Math.abs(yDomainMin), Math.abs(yDomainMax));\n yDomainMax = center + yDomainAbs;\n yDomainMin = center - yDomainAbs;\n } // add padding for data label\n\n\n if (showHorizontalDataLabel) {\n lengths = $$.getDataLabelLength(yDomainMin, yDomainMax, 'width');\n diff = diffDomain($$.y.range());\n ratio = [lengths[0] / diff, lengths[1] / diff];\n padding_top += domainLength * (ratio[1] / (1 - ratio[0] - ratio[1]));\n padding_bottom += domainLength * (ratio[0] / (1 - ratio[0] - ratio[1]));\n } else if (showVerticalDataLabel) {\n lengths = $$.getDataLabelLength(yDomainMin, yDomainMax, 'height');\n padding_top += $$.axis.convertPixelsToAxisPadding(lengths[1], domainLength);\n padding_bottom += $$.axis.convertPixelsToAxisPadding(lengths[0], domainLength);\n }\n\n if (axisId === 'y' && notEmpty(config.axis_y_padding)) {\n padding_top = $$.axis.getPadding(config.axis_y_padding, 'top', padding_top, domainLength);\n padding_bottom = $$.axis.getPadding(config.axis_y_padding, 'bottom', padding_bottom, domainLength);\n }\n\n if (axisId === 'y2' && notEmpty(config.axis_y2_padding)) {\n padding_top = $$.axis.getPadding(config.axis_y2_padding, 'top', padding_top, domainLength);\n padding_bottom = $$.axis.getPadding(config.axis_y2_padding, 'bottom', padding_bottom, domainLength);\n } // Bar/Area chart should be 0-based if all positive|negative\n\n\n if (isZeroBased) {\n if (isAllPositive) {\n padding_bottom = yDomainMin;\n }\n\n if (isAllNegative) {\n padding_top = -yDomainMax;\n }\n }\n\n domain = [yDomainMin - padding_bottom, yDomainMax + padding_top];\n return isInverted ? domain.reverse() : domain;\n };\n\n ChartInternal.prototype.getXDomainMin = function (targets) {\n var $$ = this,\n config = $$.config;\n return isDefined(config.axis_x_min) ? $$.isTimeSeries() ? this.parseDate(config.axis_x_min) : config.axis_x_min : $$.d3.min(targets, function (t) {\n return $$.d3.min(t.values, function (v) {\n return v.x;\n });\n });\n };\n\n ChartInternal.prototype.getXDomainMax = function (targets) {\n var $$ = this,\n config = $$.config;\n return isDefined(config.axis_x_max) ? $$.isTimeSeries() ? this.parseDate(config.axis_x_max) : config.axis_x_max : $$.d3.max(targets, function (t) {\n return $$.d3.max(t.values, function (v) {\n return v.x;\n });\n });\n };\n\n ChartInternal.prototype.getXDomainPadding = function (domain) {\n var $$ = this,\n config = $$.config,\n diff = domain[1] - domain[0],\n maxDataCount,\n padding,\n paddingLeft,\n paddingRight;\n\n if ($$.isCategorized()) {\n padding = 0;\n } else if ($$.hasType('bar')) {\n maxDataCount = $$.getMaxDataCount();\n padding = maxDataCount > 1 ? diff / (maxDataCount - 1) / 2 : 0.5;\n } else {\n padding = diff * 0.01;\n }\n\n if (_typeof(config.axis_x_padding) === 'object' && notEmpty(config.axis_x_padding)) {\n paddingLeft = isValue(config.axis_x_padding.left) ? config.axis_x_padding.left : padding;\n paddingRight = isValue(config.axis_x_padding.right) ? config.axis_x_padding.right : padding;\n } else if (typeof config.axis_x_padding === 'number') {\n paddingLeft = paddingRight = config.axis_x_padding;\n } else {\n paddingLeft = paddingRight = padding;\n }\n\n return {\n left: paddingLeft,\n right: paddingRight\n };\n };\n\n ChartInternal.prototype.getXDomain = function (targets) {\n var $$ = this,\n xDomain = [$$.getXDomainMin(targets), $$.getXDomainMax(targets)],\n firstX = xDomain[0],\n lastX = xDomain[1],\n padding = $$.getXDomainPadding(xDomain),\n min = 0,\n max = 0; // show center of x domain if min and max are the same\n\n if (firstX - lastX === 0 && !$$.isCategorized()) {\n if ($$.isTimeSeries()) {\n firstX = new Date(firstX.getTime() * 0.5);\n lastX = new Date(lastX.getTime() * 1.5);\n } else {\n firstX = firstX === 0 ? 1 : firstX * 0.5;\n lastX = lastX === 0 ? -1 : lastX * 1.5;\n }\n }\n\n if (firstX || firstX === 0) {\n min = $$.isTimeSeries() ? new Date(firstX.getTime() - padding.left) : firstX - padding.left;\n }\n\n if (lastX || lastX === 0) {\n max = $$.isTimeSeries() ? new Date(lastX.getTime() + padding.right) : lastX + padding.right;\n }\n\n return [min, max];\n };\n\n ChartInternal.prototype.updateXDomain = function (targets, withUpdateXDomain, withUpdateOrgXDomain, withTrim, domain) {\n var $$ = this,\n config = $$.config;\n\n if (withUpdateOrgXDomain) {\n $$.x.domain(domain ? domain : $$.d3.extent($$.getXDomain(targets)));\n $$.orgXDomain = $$.x.domain();\n\n if (config.zoom_enabled) {\n $$.zoom.update();\n }\n\n $$.subX.domain($$.x.domain());\n\n if ($$.brush) {\n $$.brush.updateScale($$.subX);\n }\n }\n\n if (withUpdateXDomain) {\n $$.x.domain(domain ? domain : !$$.brush || $$.brush.empty() ? $$.orgXDomain : $$.brush.selectionAsValue());\n } // Trim domain when too big by zoom mousemove event\n\n\n if (withTrim) {\n $$.x.domain($$.trimXDomain($$.x.orgDomain()));\n }\n\n return $$.x.domain();\n };\n\n ChartInternal.prototype.trimXDomain = function (domain) {\n var zoomDomain = this.getZoomDomain(),\n min = zoomDomain[0],\n max = zoomDomain[1];\n\n if (domain[0] <= min) {\n domain[1] = +domain[1] + (min - domain[0]);\n domain[0] = min;\n }\n\n if (max <= domain[1]) {\n domain[0] = +domain[0] - (domain[1] - max);\n domain[1] = max;\n }\n\n return domain;\n };\n\n ChartInternal.prototype.drag = function (mouse) {\n var $$ = this,\n config = $$.config,\n main = $$.main,\n d3 = $$.d3;\n var sx, sy, mx, my, minX, maxX, minY, maxY;\n\n if ($$.hasArcType()) {\n return;\n }\n\n if (!config.data_selection_enabled) {\n return;\n } // do nothing if not selectable\n\n\n if (!config.data_selection_multiple) {\n return;\n } // skip when single selection because drag is used for multiple selection\n\n\n sx = $$.dragStart[0];\n sy = $$.dragStart[1];\n mx = mouse[0];\n my = mouse[1];\n minX = Math.min(sx, mx);\n maxX = Math.max(sx, mx);\n minY = config.data_selection_grouped ? $$.margin.top : Math.min(sy, my);\n maxY = config.data_selection_grouped ? $$.height : Math.max(sy, my);\n main.select('.' + CLASS.dragarea).attr('x', minX).attr('y', minY).attr('width', maxX - minX).attr('height', maxY - minY); // TODO: binary search when multiple xs\n\n main.selectAll('.' + CLASS.shapes).selectAll('.' + CLASS.shape).filter(function (d) {\n return config.data_selection_isselectable(d);\n }).each(function (d, i) {\n var shape = d3.select(this),\n isSelected = shape.classed(CLASS.SELECTED),\n isIncluded = shape.classed(CLASS.INCLUDED),\n _x,\n _y,\n _w,\n _h,\n toggle,\n isWithin = false,\n box;\n\n if (shape.classed(CLASS.circle)) {\n _x = shape.attr(\"cx\") * 1;\n _y = shape.attr(\"cy\") * 1;\n toggle = $$.togglePoint;\n isWithin = minX < _x && _x < maxX && minY < _y && _y < maxY;\n } else if (shape.classed(CLASS.bar)) {\n box = getPathBox(this);\n _x = box.x;\n _y = box.y;\n _w = box.width;\n _h = box.height;\n toggle = $$.togglePath;\n isWithin = !(maxX < _x || _x + _w < minX) && !(maxY < _y || _y + _h < minY);\n } else {\n // line/area selection not supported yet\n return;\n }\n\n if (isWithin ^ isIncluded) {\n shape.classed(CLASS.INCLUDED, !isIncluded); // TODO: included/unincluded callback here\n\n shape.classed(CLASS.SELECTED, !isSelected);\n toggle.call($$, !isSelected, shape, d, i);\n }\n });\n };\n\n ChartInternal.prototype.dragstart = function (mouse) {\n var $$ = this,\n config = $$.config;\n\n if ($$.hasArcType()) {\n return;\n }\n\n if (!config.data_selection_enabled) {\n return;\n } // do nothing if not selectable\n\n\n $$.dragStart = mouse;\n $$.main.select('.' + CLASS.chart).append('rect').attr('class', CLASS.dragarea).style('opacity', 0.1);\n $$.dragging = true;\n };\n\n ChartInternal.prototype.dragend = function () {\n var $$ = this,\n config = $$.config;\n\n if ($$.hasArcType()) {\n return;\n }\n\n if (!config.data_selection_enabled) {\n return;\n } // do nothing if not selectable\n\n\n $$.main.select('.' + CLASS.dragarea).transition().duration(100).style('opacity', 0).remove();\n $$.main.selectAll('.' + CLASS.shape).classed(CLASS.INCLUDED, false);\n $$.dragging = false;\n };\n\n ChartInternal.prototype.getYFormat = function (forArc) {\n var $$ = this,\n formatForY = forArc && !$$.hasType('gauge') ? $$.defaultArcValueFormat : $$.yFormat,\n formatForY2 = forArc && !$$.hasType('gauge') ? $$.defaultArcValueFormat : $$.y2Format;\n return function (v, ratio, id) {\n var format = $$.axis.getId(id) === 'y2' ? formatForY2 : formatForY;\n return format.call($$, v, ratio);\n };\n };\n\n ChartInternal.prototype.yFormat = function (v) {\n var $$ = this,\n config = $$.config,\n format = config.axis_y_tick_format ? config.axis_y_tick_format : $$.defaultValueFormat;\n return format(v);\n };\n\n ChartInternal.prototype.y2Format = function (v) {\n var $$ = this,\n config = $$.config,\n format = config.axis_y2_tick_format ? config.axis_y2_tick_format : $$.defaultValueFormat;\n return format(v);\n };\n\n ChartInternal.prototype.defaultValueFormat = function (v) {\n return isValue(v) ? +v : \"\";\n };\n\n ChartInternal.prototype.defaultArcValueFormat = function (v, ratio) {\n return (ratio * 100).toFixed(1) + '%';\n };\n\n ChartInternal.prototype.dataLabelFormat = function (targetId) {\n var $$ = this,\n data_labels = $$.config.data_labels,\n format,\n defaultFormat = function defaultFormat(v) {\n return isValue(v) ? +v : \"\";\n }; // find format according to axis id\n\n\n if (typeof data_labels.format === 'function') {\n format = data_labels.format;\n } else if (_typeof(data_labels.format) === 'object') {\n if (data_labels.format[targetId]) {\n format = data_labels.format[targetId] === true ? defaultFormat : data_labels.format[targetId];\n } else {\n format = function format() {\n return '';\n };\n }\n } else {\n format = defaultFormat;\n }\n\n return format;\n };\n\n ChartInternal.prototype.initGrid = function () {\n var $$ = this,\n config = $$.config,\n d3 = $$.d3;\n $$.grid = $$.main.append('g').attr(\"clip-path\", $$.clipPathForGrid).attr('class', CLASS.grid);\n\n if (config.grid_x_show) {\n $$.grid.append(\"g\").attr(\"class\", CLASS.xgrids);\n }\n\n if (config.grid_y_show) {\n $$.grid.append('g').attr('class', CLASS.ygrids);\n }\n\n if (config.grid_focus_show) {\n $$.grid.append('g').attr(\"class\", CLASS.xgridFocus).append('line').attr('class', CLASS.xgridFocus);\n }\n\n $$.xgrid = d3.selectAll([]);\n\n if (!config.grid_lines_front) {\n $$.initGridLines();\n }\n };\n\n ChartInternal.prototype.initGridLines = function () {\n var $$ = this,\n d3 = $$.d3;\n $$.gridLines = $$.main.append('g').attr(\"clip-path\", $$.clipPathForGrid).attr('class', CLASS.grid + ' ' + CLASS.gridLines);\n $$.gridLines.append('g').attr(\"class\", CLASS.xgridLines);\n $$.gridLines.append('g').attr('class', CLASS.ygridLines);\n $$.xgridLines = d3.selectAll([]);\n };\n\n ChartInternal.prototype.updateXGrid = function (withoutUpdate) {\n var $$ = this,\n config = $$.config,\n d3 = $$.d3,\n xgridData = $$.generateGridData(config.grid_x_type, $$.x),\n tickOffset = $$.isCategorized() ? $$.xAxis.tickOffset() : 0;\n $$.xgridAttr = config.axis_rotated ? {\n 'x1': 0,\n 'x2': $$.width,\n 'y1': function y1(d) {\n return $$.x(d) - tickOffset;\n },\n 'y2': function y2(d) {\n return $$.x(d) - tickOffset;\n }\n } : {\n 'x1': function x1(d) {\n return $$.x(d) + tickOffset;\n },\n 'x2': function x2(d) {\n return $$.x(d) + tickOffset;\n },\n 'y1': 0,\n 'y2': $$.height\n };\n\n $$.xgridAttr.opacity = function () {\n var pos = +d3.select(this).attr(config.axis_rotated ? 'y1' : 'x1');\n return pos === (config.axis_rotated ? $$.height : 0) ? 0 : 1;\n };\n\n var xgrid = $$.main.select('.' + CLASS.xgrids).selectAll('.' + CLASS.xgrid).data(xgridData);\n var xgridEnter = xgrid.enter().append('line').attr(\"class\", CLASS.xgrid).attr('x1', $$.xgridAttr.x1).attr('x2', $$.xgridAttr.x2).attr('y1', $$.xgridAttr.y1).attr('y2', $$.xgridAttr.y2).style(\"opacity\", 0);\n $$.xgrid = xgridEnter.merge(xgrid);\n\n if (!withoutUpdate) {\n $$.xgrid.attr('x1', $$.xgridAttr.x1).attr('x2', $$.xgridAttr.x2).attr('y1', $$.xgridAttr.y1).attr('y2', $$.xgridAttr.y2).style(\"opacity\", $$.xgridAttr.opacity);\n }\n\n xgrid.exit().remove();\n };\n\n ChartInternal.prototype.updateYGrid = function () {\n var $$ = this,\n config = $$.config,\n gridValues = $$.yAxis.tickValues() || $$.y.ticks(config.grid_y_ticks);\n var ygrid = $$.main.select('.' + CLASS.ygrids).selectAll('.' + CLASS.ygrid).data(gridValues);\n var ygridEnter = ygrid.enter().append('line') // TODO: x1, x2, y1, y2, opacity need to be set here maybe\n .attr('class', CLASS.ygrid);\n $$.ygrid = ygridEnter.merge(ygrid);\n $$.ygrid.attr(\"x1\", config.axis_rotated ? $$.y : 0).attr(\"x2\", config.axis_rotated ? $$.y : $$.width).attr(\"y1\", config.axis_rotated ? 0 : $$.y).attr(\"y2\", config.axis_rotated ? $$.height : $$.y);\n ygrid.exit().remove();\n $$.smoothLines($$.ygrid, 'grid');\n };\n\n ChartInternal.prototype.gridTextAnchor = function (d) {\n return d.position ? d.position : \"end\";\n };\n\n ChartInternal.prototype.gridTextDx = function (d) {\n return d.position === 'start' ? 4 : d.position === 'middle' ? 0 : -4;\n };\n\n ChartInternal.prototype.xGridTextX = function (d) {\n return d.position === 'start' ? -this.height : d.position === 'middle' ? -this.height / 2 : 0;\n };\n\n ChartInternal.prototype.yGridTextX = function (d) {\n return d.position === 'start' ? 0 : d.position === 'middle' ? this.width / 2 : this.width;\n };\n\n ChartInternal.prototype.updateGrid = function (duration) {\n var $$ = this,\n main = $$.main,\n config = $$.config,\n xgridLine,\n xgridLineEnter,\n ygridLine,\n ygridLineEnter,\n xv = $$.xv.bind($$),\n yv = $$.yv.bind($$),\n xGridTextX = $$.xGridTextX.bind($$),\n yGridTextX = $$.yGridTextX.bind($$); // hide if arc type\n\n $$.grid.style('visibility', $$.hasArcType() ? 'hidden' : 'visible');\n main.select('line.' + CLASS.xgridFocus).style(\"visibility\", \"hidden\");\n\n if (config.grid_x_show) {\n $$.updateXGrid();\n }\n\n xgridLine = main.select('.' + CLASS.xgridLines).selectAll('.' + CLASS.xgridLine).data(config.grid_x_lines); // enter\n\n xgridLineEnter = xgridLine.enter().append('g').attr(\"class\", function (d) {\n return CLASS.xgridLine + (d['class'] ? ' ' + d['class'] : '');\n });\n xgridLineEnter.append('line').attr(\"x1\", config.axis_rotated ? 0 : xv).attr(\"x2\", config.axis_rotated ? $$.width : xv).attr(\"y1\", config.axis_rotated ? xv : 0).attr(\"y2\", config.axis_rotated ? xv : $$.height).style(\"opacity\", 0);\n xgridLineEnter.append('text').attr(\"text-anchor\", $$.gridTextAnchor).attr(\"transform\", config.axis_rotated ? \"\" : \"rotate(-90)\").attr(\"x\", config.axis_rotated ? yGridTextX : xGridTextX).attr(\"y\", xv).attr('dx', $$.gridTextDx).attr('dy', -5).style(\"opacity\", 0); // udpate\n\n $$.xgridLines = xgridLineEnter.merge(xgridLine); // done in d3.transition() of the end of this function\n // exit\n\n xgridLine.exit().transition().duration(duration).style(\"opacity\", 0).remove(); // Y-Grid\n\n if (config.grid_y_show) {\n $$.updateYGrid();\n }\n\n ygridLine = main.select('.' + CLASS.ygridLines).selectAll('.' + CLASS.ygridLine).data(config.grid_y_lines); // enter\n\n ygridLineEnter = ygridLine.enter().append('g').attr(\"class\", function (d) {\n return CLASS.ygridLine + (d['class'] ? ' ' + d['class'] : '');\n });\n ygridLineEnter.append('line').attr(\"x1\", config.axis_rotated ? yv : 0).attr(\"x2\", config.axis_rotated ? yv : $$.width).attr(\"y1\", config.axis_rotated ? 0 : yv).attr(\"y2\", config.axis_rotated ? $$.height : yv).style(\"opacity\", 0);\n ygridLineEnter.append('text').attr(\"text-anchor\", $$.gridTextAnchor).attr(\"transform\", config.axis_rotated ? \"rotate(-90)\" : \"\").attr(\"x\", config.axis_rotated ? xGridTextX : yGridTextX).attr(\"y\", yv).attr('dx', $$.gridTextDx).attr('dy', -5).style(\"opacity\", 0); // update\n\n $$.ygridLines = ygridLineEnter.merge(ygridLine);\n $$.ygridLines.select('line').transition().duration(duration).attr(\"x1\", config.axis_rotated ? yv : 0).attr(\"x2\", config.axis_rotated ? yv : $$.width).attr(\"y1\", config.axis_rotated ? 0 : yv).attr(\"y2\", config.axis_rotated ? $$.height : yv).style(\"opacity\", 1);\n $$.ygridLines.select('text').transition().duration(duration).attr(\"x\", config.axis_rotated ? $$.xGridTextX.bind($$) : $$.yGridTextX.bind($$)).attr(\"y\", yv).text(function (d) {\n return d.text;\n }).style(\"opacity\", 1); // exit\n\n ygridLine.exit().transition().duration(duration).style(\"opacity\", 0).remove();\n };\n\n ChartInternal.prototype.redrawGrid = function (withTransition, transition) {\n var $$ = this,\n config = $$.config,\n xv = $$.xv.bind($$),\n lines = $$.xgridLines.select('line'),\n texts = $$.xgridLines.select('text');\n return [(withTransition ? lines.transition(transition) : lines).attr(\"x1\", config.axis_rotated ? 0 : xv).attr(\"x2\", config.axis_rotated ? $$.width : xv).attr(\"y1\", config.axis_rotated ? xv : 0).attr(\"y2\", config.axis_rotated ? xv : $$.height).style(\"opacity\", 1), (withTransition ? texts.transition(transition) : texts).attr(\"x\", config.axis_rotated ? $$.yGridTextX.bind($$) : $$.xGridTextX.bind($$)).attr(\"y\", xv).text(function (d) {\n return d.text;\n }).style(\"opacity\", 1)];\n };\n\n ChartInternal.prototype.showXGridFocus = function (selectedData) {\n var $$ = this,\n config = $$.config,\n dataToShow = selectedData.filter(function (d) {\n return d && isValue(d.value);\n }),\n focusEl = $$.main.selectAll('line.' + CLASS.xgridFocus),\n xx = $$.xx.bind($$);\n\n if (!config.tooltip_show) {\n return;\n } // Hide when scatter plot exists\n\n\n if ($$.hasType('scatter') || $$.hasArcType()) {\n return;\n }\n\n focusEl.style(\"visibility\", \"visible\").data([dataToShow[0]]).attr(config.axis_rotated ? 'y1' : 'x1', xx).attr(config.axis_rotated ? 'y2' : 'x2', xx);\n $$.smoothLines(focusEl, 'grid');\n };\n\n ChartInternal.prototype.hideXGridFocus = function () {\n this.main.select('line.' + CLASS.xgridFocus).style(\"visibility\", \"hidden\");\n };\n\n ChartInternal.prototype.updateXgridFocus = function () {\n var $$ = this,\n config = $$.config;\n $$.main.select('line.' + CLASS.xgridFocus).attr(\"x1\", config.axis_rotated ? 0 : -10).attr(\"x2\", config.axis_rotated ? $$.width : -10).attr(\"y1\", config.axis_rotated ? -10 : 0).attr(\"y2\", config.axis_rotated ? -10 : $$.height);\n };\n\n ChartInternal.prototype.generateGridData = function (type, scale) {\n var $$ = this,\n gridData = [],\n xDomain,\n firstYear,\n lastYear,\n i,\n tickNum = $$.main.select(\".\" + CLASS.axisX).selectAll('.tick').size();\n\n if (type === 'year') {\n xDomain = $$.getXDomain();\n firstYear = xDomain[0].getFullYear();\n lastYear = xDomain[1].getFullYear();\n\n for (i = firstYear; i <= lastYear; i++) {\n gridData.push(new Date(i + '-01-01 00:00:00'));\n }\n } else {\n gridData = scale.ticks(10);\n\n if (gridData.length > tickNum) {\n // use only int\n gridData = gridData.filter(function (d) {\n return (\"\" + d).indexOf('.') < 0;\n });\n }\n }\n\n return gridData;\n };\n\n ChartInternal.prototype.getGridFilterToRemove = function (params) {\n return params ? function (line) {\n var found = false;\n [].concat(params).forEach(function (param) {\n if ('value' in param && line.value === param.value || 'class' in param && line['class'] === param['class']) {\n found = true;\n }\n });\n return found;\n } : function () {\n return true;\n };\n };\n\n ChartInternal.prototype.removeGridLines = function (params, forX) {\n var $$ = this,\n config = $$.config,\n toRemove = $$.getGridFilterToRemove(params),\n toShow = function toShow(line) {\n return !toRemove(line);\n },\n classLines = forX ? CLASS.xgridLines : CLASS.ygridLines,\n classLine = forX ? CLASS.xgridLine : CLASS.ygridLine;\n\n $$.main.select('.' + classLines).selectAll('.' + classLine).filter(toRemove).transition().duration(config.transition_duration).style('opacity', 0).remove();\n\n if (forX) {\n config.grid_x_lines = config.grid_x_lines.filter(toShow);\n } else {\n config.grid_y_lines = config.grid_y_lines.filter(toShow);\n }\n };\n\n ChartInternal.prototype.initEventRect = function () {\n var $$ = this,\n config = $$.config;\n $$.main.select('.' + CLASS.chart).append(\"g\").attr(\"class\", CLASS.eventRects).style('fill-opacity', 0);\n $$.eventRect = $$.main.select('.' + CLASS.eventRects).append('rect').attr('class', CLASS.eventRect); // event rect handle zoom event as well\n\n if (config.zoom_enabled && $$.zoom) {\n $$.eventRect.call($$.zoom).on(\"dblclick.zoom\", null);\n\n if (config.zoom_initialRange) {\n // WORKAROUND: Add transition to apply transform immediately when no subchart\n $$.eventRect.transition().duration(0).call($$.zoom.transform, $$.zoomTransform(config.zoom_initialRange));\n }\n }\n };\n\n ChartInternal.prototype.redrawEventRect = function () {\n var $$ = this,\n d3 = $$.d3,\n config = $$.config,\n x,\n y,\n w,\n h; // TODO: rotated not supported yet\n\n x = 0;\n y = 0;\n w = $$.width;\n h = $$.height;\n\n function mouseout() {\n $$.svg.select('.' + CLASS.eventRect).style('cursor', null);\n $$.hideXGridFocus();\n $$.hideTooltip();\n $$.unexpandCircles();\n $$.unexpandBars();\n } // rects for mouseover\n\n\n $$.main.select('.' + CLASS.eventRects).style('cursor', config.zoom_enabled ? config.axis_rotated ? 'ns-resize' : 'ew-resize' : null);\n $$.eventRect.attr('x', x).attr('y', y).attr('width', w).attr('height', h).on('mouseout', config.interaction_enabled ? function () {\n if (!config) {\n return;\n } // chart is destroyed\n\n\n if ($$.hasArcType()) {\n return;\n }\n\n mouseout();\n } : null).on('mousemove', config.interaction_enabled ? function () {\n var targetsToShow, mouse, closest, sameXData, selectedData;\n\n if ($$.dragging) {\n return;\n } // do nothing when dragging\n\n\n if ($$.hasArcType(targetsToShow)) {\n return;\n }\n\n targetsToShow = $$.filterTargetsToShow($$.data.targets);\n mouse = d3.mouse(this);\n closest = $$.findClosestFromTargets(targetsToShow, mouse);\n\n if ($$.mouseover && (!closest || closest.id !== $$.mouseover.id)) {\n config.data_onmouseout.call($$.api, $$.mouseover);\n $$.mouseover = undefined;\n }\n\n if (!closest) {\n mouseout();\n return;\n }\n\n if ($$.isScatterType(closest) || !config.tooltip_grouped) {\n sameXData = [closest];\n } else {\n sameXData = $$.filterByX(targetsToShow, closest.x);\n } // show tooltip when cursor is close to some point\n\n\n selectedData = sameXData.map(function (d) {\n return $$.addName(d);\n });\n $$.showTooltip(selectedData, this); // expand points\n\n if (config.point_focus_expand_enabled) {\n $$.unexpandCircles();\n selectedData.forEach(function (d) {\n $$.expandCircles(d.index, d.id, false);\n });\n }\n\n $$.expandBars(closest.index, closest.id, true); // Show xgrid focus line\n\n $$.showXGridFocus(selectedData); // Show cursor as pointer if point is close to mouse position\n\n if ($$.isBarType(closest.id) || $$.dist(closest, mouse) < config.point_sensitivity) {\n $$.svg.select('.' + CLASS.eventRect).style('cursor', 'pointer');\n\n if (!$$.mouseover) {\n config.data_onmouseover.call($$.api, closest);\n $$.mouseover = closest;\n }\n }\n } : null).on('click', config.interaction_enabled ? function () {\n var targetsToShow, mouse, closest, sameXData;\n\n if ($$.hasArcType(targetsToShow)) {\n return;\n }\n\n targetsToShow = $$.filterTargetsToShow($$.data.targets);\n mouse = d3.mouse(this);\n closest = $$.findClosestFromTargets(targetsToShow, mouse);\n\n if (!closest) {\n return;\n } // select if selection enabled\n\n\n if ($$.isBarType(closest.id) || $$.dist(closest, mouse) < config.point_sensitivity) {\n if ($$.isScatterType(closest) || !config.data_selection_grouped) {\n sameXData = [closest];\n } else {\n sameXData = $$.filterByX(targetsToShow, closest.x);\n }\n\n sameXData.forEach(function (d) {\n $$.main.selectAll('.' + CLASS.shapes + $$.getTargetSelectorSuffix(d.id)).selectAll('.' + CLASS.shape + '-' + d.index).each(function () {\n if (config.data_selection_grouped || $$.isWithinShape(this, d)) {\n $$.toggleShape(this, d, d.index);\n config.data_onclick.call($$.api, d, this);\n }\n });\n });\n }\n } : null).call(config.interaction_enabled && config.data_selection_draggable && $$.drag ? d3.drag().on('drag', function () {\n $$.drag(d3.mouse(this));\n }).on('start', function () {\n $$.dragstart(d3.mouse(this));\n }).on('end', function () {\n $$.dragend();\n }) : function () {});\n };\n\n ChartInternal.prototype.getMousePosition = function (data) {\n var $$ = this;\n return [$$.x(data.x), $$.getYScale(data.id)(data.value)];\n };\n\n ChartInternal.prototype.dispatchEvent = function (type, mouse) {\n var $$ = this,\n selector = '.' + CLASS.eventRect,\n eventRect = $$.main.select(selector).node(),\n box = eventRect.getBoundingClientRect(),\n x = box.left + (mouse ? mouse[0] : 0),\n y = box.top + (mouse ? mouse[1] : 0),\n event = document.createEvent(\"MouseEvents\");\n event.initMouseEvent(type, true, true, window, 0, x, y, x, y, false, false, false, false, 0, null);\n eventRect.dispatchEvent(event);\n };\n\n ChartInternal.prototype.initLegend = function () {\n var $$ = this;\n $$.legendItemTextBox = {};\n $$.legendHasRendered = false;\n $$.legend = $$.svg.append(\"g\").attr(\"transform\", $$.getTranslate('legend'));\n\n if (!$$.config.legend_show) {\n $$.legend.style('visibility', 'hidden');\n $$.hiddenLegendIds = $$.mapToIds($$.data.targets);\n return;\n } // MEMO: call here to update legend box and tranlate for all\n // MEMO: translate will be upated by this, so transform not needed in updateLegend()\n\n\n $$.updateLegendWithDefaults();\n };\n\n ChartInternal.prototype.updateLegendWithDefaults = function () {\n var $$ = this;\n $$.updateLegend($$.mapToIds($$.data.targets), {\n withTransform: false,\n withTransitionForTransform: false,\n withTransition: false\n });\n };\n\n ChartInternal.prototype.updateSizeForLegend = function (legendHeight, legendWidth) {\n var $$ = this,\n config = $$.config,\n insetLegendPosition = {\n top: $$.isLegendTop ? $$.getCurrentPaddingTop() + config.legend_inset_y + 5.5 : $$.currentHeight - legendHeight - $$.getCurrentPaddingBottom() - config.legend_inset_y,\n left: $$.isLegendLeft ? $$.getCurrentPaddingLeft() + config.legend_inset_x + 0.5 : $$.currentWidth - legendWidth - $$.getCurrentPaddingRight() - config.legend_inset_x + 0.5\n };\n $$.margin3 = {\n top: $$.isLegendRight ? 0 : $$.isLegendInset ? insetLegendPosition.top : $$.currentHeight - legendHeight,\n right: NaN,\n bottom: 0,\n left: $$.isLegendRight ? $$.currentWidth - legendWidth : $$.isLegendInset ? insetLegendPosition.left : 0\n };\n };\n\n ChartInternal.prototype.transformLegend = function (withTransition) {\n var $$ = this;\n (withTransition ? $$.legend.transition() : $$.legend).attr(\"transform\", $$.getTranslate('legend'));\n };\n\n ChartInternal.prototype.updateLegendStep = function (step) {\n this.legendStep = step;\n };\n\n ChartInternal.prototype.updateLegendItemWidth = function (w) {\n this.legendItemWidth = w;\n };\n\n ChartInternal.prototype.updateLegendItemHeight = function (h) {\n this.legendItemHeight = h;\n };\n\n ChartInternal.prototype.getLegendWidth = function () {\n var $$ = this;\n return $$.config.legend_show ? $$.isLegendRight || $$.isLegendInset ? $$.legendItemWidth * ($$.legendStep + 1) : $$.currentWidth : 0;\n };\n\n ChartInternal.prototype.getLegendHeight = function () {\n var $$ = this,\n h = 0;\n\n if ($$.config.legend_show) {\n if ($$.isLegendRight) {\n h = $$.currentHeight;\n } else {\n h = Math.max(20, $$.legendItemHeight) * ($$.legendStep + 1);\n }\n }\n\n return h;\n };\n\n ChartInternal.prototype.opacityForLegend = function (legendItem) {\n return legendItem.classed(CLASS.legendItemHidden) ? null : 1;\n };\n\n ChartInternal.prototype.opacityForUnfocusedLegend = function (legendItem) {\n return legendItem.classed(CLASS.legendItemHidden) ? null : 0.3;\n };\n\n ChartInternal.prototype.toggleFocusLegend = function (targetIds, focus) {\n var $$ = this;\n targetIds = $$.mapToTargetIds(targetIds);\n $$.legend.selectAll('.' + CLASS.legendItem).filter(function (id) {\n return targetIds.indexOf(id) >= 0;\n }).classed(CLASS.legendItemFocused, focus).transition().duration(100).style('opacity', function () {\n var opacity = focus ? $$.opacityForLegend : $$.opacityForUnfocusedLegend;\n return opacity.call($$, $$.d3.select(this));\n });\n };\n\n ChartInternal.prototype.revertLegend = function () {\n var $$ = this,\n d3 = $$.d3;\n $$.legend.selectAll('.' + CLASS.legendItem).classed(CLASS.legendItemFocused, false).transition().duration(100).style('opacity', function () {\n return $$.opacityForLegend(d3.select(this));\n });\n };\n\n ChartInternal.prototype.showLegend = function (targetIds) {\n var $$ = this,\n config = $$.config;\n\n if (!config.legend_show) {\n config.legend_show = true;\n $$.legend.style('visibility', 'visible');\n\n if (!$$.legendHasRendered) {\n $$.updateLegendWithDefaults();\n }\n }\n\n $$.removeHiddenLegendIds(targetIds);\n $$.legend.selectAll($$.selectorLegends(targetIds)).style('visibility', 'visible').transition().style('opacity', function () {\n return $$.opacityForLegend($$.d3.select(this));\n });\n };\n\n ChartInternal.prototype.hideLegend = function (targetIds) {\n var $$ = this,\n config = $$.config;\n\n if (config.legend_show && isEmpty(targetIds)) {\n config.legend_show = false;\n $$.legend.style('visibility', 'hidden');\n }\n\n $$.addHiddenLegendIds(targetIds);\n $$.legend.selectAll($$.selectorLegends(targetIds)).style('opacity', 0).style('visibility', 'hidden');\n };\n\n ChartInternal.prototype.clearLegendItemTextBoxCache = function () {\n this.legendItemTextBox = {};\n };\n\n ChartInternal.prototype.updateLegend = function (targetIds, options, transitions) {\n var $$ = this,\n config = $$.config;\n var xForLegend, xForLegendText, xForLegendRect, yForLegend, yForLegendText, yForLegendRect, x1ForLegendTile, x2ForLegendTile, yForLegendTile;\n var paddingTop = 4,\n paddingRight = 10,\n maxWidth = 0,\n maxHeight = 0,\n posMin = 10,\n tileWidth = config.legend_item_tile_width + 5;\n var l,\n totalLength = 0,\n offsets = {},\n widths = {},\n heights = {},\n margins = [0],\n steps = {},\n step = 0;\n var withTransition, withTransitionForTransform;\n var texts, rects, tiles, background; // Skip elements when their name is set to null\n\n targetIds = targetIds.filter(function (id) {\n return !isDefined(config.data_names[id]) || config.data_names[id] !== null;\n });\n options = options || {};\n withTransition = getOption(options, \"withTransition\", true);\n withTransitionForTransform = getOption(options, \"withTransitionForTransform\", true);\n\n function getTextBox(textElement, id) {\n if (!$$.legendItemTextBox[id]) {\n $$.legendItemTextBox[id] = $$.getTextRect(textElement.textContent, CLASS.legendItem, textElement);\n }\n\n return $$.legendItemTextBox[id];\n }\n\n function updatePositions(textElement, id, index) {\n var reset = index === 0,\n isLast = index === targetIds.length - 1,\n box = getTextBox(textElement, id),\n itemWidth = box.width + tileWidth + (isLast && !($$.isLegendRight || $$.isLegendInset) ? 0 : paddingRight) + config.legend_padding,\n itemHeight = box.height + paddingTop,\n itemLength = $$.isLegendRight || $$.isLegendInset ? itemHeight : itemWidth,\n areaLength = $$.isLegendRight || $$.isLegendInset ? $$.getLegendHeight() : $$.getLegendWidth(),\n margin,\n maxLength; // MEMO: care about condifion of step, totalLength\n\n function updateValues(id, withoutStep) {\n if (!withoutStep) {\n margin = (areaLength - totalLength - itemLength) / 2;\n\n if (margin < posMin) {\n margin = (areaLength - itemLength) / 2;\n totalLength = 0;\n step++;\n }\n }\n\n steps[id] = step;\n margins[step] = $$.isLegendInset ? 10 : margin;\n offsets[id] = totalLength;\n totalLength += itemLength;\n }\n\n if (reset) {\n totalLength = 0;\n step = 0;\n maxWidth = 0;\n maxHeight = 0;\n }\n\n if (config.legend_show && !$$.isLegendToShow(id)) {\n widths[id] = heights[id] = steps[id] = offsets[id] = 0;\n return;\n }\n\n widths[id] = itemWidth;\n heights[id] = itemHeight;\n\n if (!maxWidth || itemWidth >= maxWidth) {\n maxWidth = itemWidth;\n }\n\n if (!maxHeight || itemHeight >= maxHeight) {\n maxHeight = itemHeight;\n }\n\n maxLength = $$.isLegendRight || $$.isLegendInset ? maxHeight : maxWidth;\n\n if (config.legend_equally) {\n Object.keys(widths).forEach(function (id) {\n widths[id] = maxWidth;\n });\n Object.keys(heights).forEach(function (id) {\n heights[id] = maxHeight;\n });\n margin = (areaLength - maxLength * targetIds.length) / 2;\n\n if (margin < posMin) {\n totalLength = 0;\n step = 0;\n targetIds.forEach(function (id) {\n updateValues(id);\n });\n } else {\n updateValues(id, true);\n }\n } else {\n updateValues(id);\n }\n }\n\n if ($$.isLegendInset) {\n step = config.legend_inset_step ? config.legend_inset_step : targetIds.length;\n $$.updateLegendStep(step);\n }\n\n if ($$.isLegendRight) {\n xForLegend = function xForLegend(id) {\n return maxWidth * steps[id];\n };\n\n yForLegend = function yForLegend(id) {\n return margins[steps[id]] + offsets[id];\n };\n } else if ($$.isLegendInset) {\n xForLegend = function xForLegend(id) {\n return maxWidth * steps[id] + 10;\n };\n\n yForLegend = function yForLegend(id) {\n return margins[steps[id]] + offsets[id];\n };\n } else {\n xForLegend = function xForLegend(id) {\n return margins[steps[id]] + offsets[id];\n };\n\n yForLegend = function yForLegend(id) {\n return maxHeight * steps[id];\n };\n }\n\n xForLegendText = function xForLegendText(id, i) {\n return xForLegend(id, i) + 4 + config.legend_item_tile_width;\n };\n\n yForLegendText = function yForLegendText(id, i) {\n return yForLegend(id, i) + 9;\n };\n\n xForLegendRect = function xForLegendRect(id, i) {\n return xForLegend(id, i);\n };\n\n yForLegendRect = function yForLegendRect(id, i) {\n return yForLegend(id, i) - 5;\n };\n\n x1ForLegendTile = function x1ForLegendTile(id, i) {\n return xForLegend(id, i) - 2;\n };\n\n x2ForLegendTile = function x2ForLegendTile(id, i) {\n return xForLegend(id, i) - 2 + config.legend_item_tile_width;\n };\n\n yForLegendTile = function yForLegendTile(id, i) {\n return yForLegend(id, i) + 4;\n }; // Define g for legend area\n\n\n l = $$.legend.selectAll('.' + CLASS.legendItem).data(targetIds).enter().append('g').attr('class', function (id) {\n return $$.generateClass(CLASS.legendItem, id);\n }).style('visibility', function (id) {\n return $$.isLegendToShow(id) ? 'visible' : 'hidden';\n }).style('cursor', 'pointer').on('click', function (id) {\n if (config.legend_item_onclick) {\n config.legend_item_onclick.call($$, id);\n } else {\n if ($$.d3.event.altKey) {\n $$.api.hide();\n $$.api.show(id);\n } else {\n $$.api.toggle(id);\n $$.isTargetToShow(id) ? $$.api.focus(id) : $$.api.revert();\n }\n }\n }).on('mouseover', function (id) {\n if (config.legend_item_onmouseover) {\n config.legend_item_onmouseover.call($$, id);\n } else {\n $$.d3.select(this).classed(CLASS.legendItemFocused, true);\n\n if (!$$.transiting && $$.isTargetToShow(id)) {\n $$.api.focus(id);\n }\n }\n }).on('mouseout', function (id) {\n if (config.legend_item_onmouseout) {\n config.legend_item_onmouseout.call($$, id);\n } else {\n $$.d3.select(this).classed(CLASS.legendItemFocused, false);\n $$.api.revert();\n }\n });\n l.append('text').text(function (id) {\n return isDefined(config.data_names[id]) ? config.data_names[id] : id;\n }).each(function (id, i) {\n updatePositions(this, id, i);\n }).style(\"pointer-events\", \"none\").attr('x', $$.isLegendRight || $$.isLegendInset ? xForLegendText : -200).attr('y', $$.isLegendRight || $$.isLegendInset ? -200 : yForLegendText);\n l.append('rect').attr(\"class\", CLASS.legendItemEvent).style('fill-opacity', 0).attr('x', $$.isLegendRight || $$.isLegendInset ? xForLegendRect : -200).attr('y', $$.isLegendRight || $$.isLegendInset ? -200 : yForLegendRect);\n l.append('line').attr('class', CLASS.legendItemTile).style('stroke', $$.color).style(\"pointer-events\", \"none\").attr('x1', $$.isLegendRight || $$.isLegendInset ? x1ForLegendTile : -200).attr('y1', $$.isLegendRight || $$.isLegendInset ? -200 : yForLegendTile).attr('x2', $$.isLegendRight || $$.isLegendInset ? x2ForLegendTile : -200).attr('y2', $$.isLegendRight || $$.isLegendInset ? -200 : yForLegendTile).attr('stroke-width', config.legend_item_tile_height); // Set background for inset legend\n\n background = $$.legend.select('.' + CLASS.legendBackground + ' rect');\n\n if ($$.isLegendInset && maxWidth > 0 && background.size() === 0) {\n background = $$.legend.insert('g', '.' + CLASS.legendItem).attr(\"class\", CLASS.legendBackground).append('rect');\n }\n\n texts = $$.legend.selectAll('text').data(targetIds).text(function (id) {\n return isDefined(config.data_names[id]) ? config.data_names[id] : id;\n }) // MEMO: needed for update\n .each(function (id, i) {\n updatePositions(this, id, i);\n });\n (withTransition ? texts.transition() : texts).attr('x', xForLegendText).attr('y', yForLegendText);\n rects = $$.legend.selectAll('rect.' + CLASS.legendItemEvent).data(targetIds);\n (withTransition ? rects.transition() : rects).attr('width', function (id) {\n return widths[id];\n }).attr('height', function (id) {\n return heights[id];\n }).attr('x', xForLegendRect).attr('y', yForLegendRect);\n tiles = $$.legend.selectAll('line.' + CLASS.legendItemTile).data(targetIds);\n (withTransition ? tiles.transition() : tiles).style('stroke', $$.levelColor ? function (id) {\n return $$.levelColor($$.cache[id].values[0].value);\n } : $$.color).attr('x1', x1ForLegendTile).attr('y1', yForLegendTile).attr('x2', x2ForLegendTile).attr('y2', yForLegendTile);\n\n if (background) {\n (withTransition ? background.transition() : background).attr('height', $$.getLegendHeight() - 12).attr('width', maxWidth * (step + 1) + 10);\n } // toggle legend state\n\n\n $$.legend.selectAll('.' + CLASS.legendItem).classed(CLASS.legendItemHidden, function (id) {\n return !$$.isTargetToShow(id);\n }); // Update all to reflect change of legend\n\n $$.updateLegendItemWidth(maxWidth);\n $$.updateLegendItemHeight(maxHeight);\n $$.updateLegendStep(step); // Update size and scale\n\n $$.updateSizes();\n $$.updateScales();\n $$.updateSvgSize(); // Update g positions\n\n $$.transformAll(withTransitionForTransform, transitions);\n $$.legendHasRendered = true;\n };\n\n ChartInternal.prototype.initRegion = function () {\n var $$ = this;\n $$.region = $$.main.append('g').attr(\"clip-path\", $$.clipPath).attr(\"class\", CLASS.regions);\n };\n\n ChartInternal.prototype.updateRegion = function (duration) {\n var $$ = this,\n config = $$.config; // hide if arc type\n\n $$.region.style('visibility', $$.hasArcType() ? 'hidden' : 'visible');\n var mainRegion = $$.main.select('.' + CLASS.regions).selectAll('.' + CLASS.region).data(config.regions);\n var mainRegionEnter = mainRegion.enter().append('rect').attr(\"x\", $$.regionX.bind($$)).attr(\"y\", $$.regionY.bind($$)).attr(\"width\", $$.regionWidth.bind($$)).attr(\"height\", $$.regionHeight.bind($$)).style(\"fill-opacity\", 0);\n $$.mainRegion = mainRegionEnter.merge(mainRegion).attr('class', $$.classRegion.bind($$));\n mainRegion.exit().transition().duration(duration).style(\"opacity\", 0).remove();\n };\n\n ChartInternal.prototype.redrawRegion = function (withTransition, transition) {\n var $$ = this,\n regions = $$.mainRegion;\n return [(withTransition ? regions.transition(transition) : regions).attr(\"x\", $$.regionX.bind($$)).attr(\"y\", $$.regionY.bind($$)).attr(\"width\", $$.regionWidth.bind($$)).attr(\"height\", $$.regionHeight.bind($$)).style(\"fill-opacity\", function (d) {\n return isValue(d.opacity) ? d.opacity : 0.1;\n })];\n };\n\n ChartInternal.prototype.regionX = function (d) {\n var $$ = this,\n config = $$.config,\n xPos,\n yScale = d.axis === 'y' ? $$.y : $$.y2;\n\n if (d.axis === 'y' || d.axis === 'y2') {\n xPos = config.axis_rotated ? 'start' in d ? yScale(d.start) : 0 : 0;\n } else {\n xPos = config.axis_rotated ? 0 : 'start' in d ? $$.x($$.isTimeSeries() ? $$.parseDate(d.start) : d.start) : 0;\n }\n\n return xPos;\n };\n\n ChartInternal.prototype.regionY = function (d) {\n var $$ = this,\n config = $$.config,\n yPos,\n yScale = d.axis === 'y' ? $$.y : $$.y2;\n\n if (d.axis === 'y' || d.axis === 'y2') {\n yPos = config.axis_rotated ? 0 : 'end' in d ? yScale(d.end) : 0;\n } else {\n yPos = config.axis_rotated ? 'start' in d ? $$.x($$.isTimeSeries() ? $$.parseDate(d.start) : d.start) : 0 : 0;\n }\n\n return yPos;\n };\n\n ChartInternal.prototype.regionWidth = function (d) {\n var $$ = this,\n config = $$.config,\n start = $$.regionX(d),\n end,\n yScale = d.axis === 'y' ? $$.y : $$.y2;\n\n if (d.axis === 'y' || d.axis === 'y2') {\n end = config.axis_rotated ? 'end' in d ? yScale(d.end) : $$.width : $$.width;\n } else {\n end = config.axis_rotated ? $$.width : 'end' in d ? $$.x($$.isTimeSeries() ? $$.parseDate(d.end) : d.end) : $$.width;\n }\n\n return end < start ? 0 : end - start;\n };\n\n ChartInternal.prototype.regionHeight = function (d) {\n var $$ = this,\n config = $$.config,\n start = this.regionY(d),\n end,\n yScale = d.axis === 'y' ? $$.y : $$.y2;\n\n if (d.axis === 'y' || d.axis === 'y2') {\n end = config.axis_rotated ? $$.height : 'start' in d ? yScale(d.start) : $$.height;\n } else {\n end = config.axis_rotated ? 'end' in d ? $$.x($$.isTimeSeries() ? $$.parseDate(d.end) : d.end) : $$.height : $$.height;\n }\n\n return end < start ? 0 : end - start;\n };\n\n ChartInternal.prototype.isRegionOnX = function (d) {\n return !d.axis || d.axis === 'x';\n };\n\n ChartInternal.prototype.getScale = function (min, max, forTimeseries) {\n return (forTimeseries ? this.d3.scaleTime() : this.d3.scaleLinear()).range([min, max]);\n };\n\n ChartInternal.prototype.getX = function (min, max, domain, offset) {\n var $$ = this,\n scale = $$.getScale(min, max, $$.isTimeSeries()),\n _scale = domain ? scale.domain(domain) : scale,\n key; // Define customized scale if categorized axis\n\n\n if ($$.isCategorized()) {\n offset = offset || function () {\n return 0;\n };\n\n scale = function scale(d, raw) {\n var v = _scale(d) + offset(d);\n return raw ? v : Math.ceil(v);\n };\n } else {\n scale = function scale(d, raw) {\n var v = _scale(d);\n\n return raw ? v : Math.ceil(v);\n };\n } // define functions\n\n\n for (key in _scale) {\n scale[key] = _scale[key];\n }\n\n scale.orgDomain = function () {\n return _scale.domain();\n }; // define custom domain() for categorized axis\n\n\n if ($$.isCategorized()) {\n scale.domain = function (domain) {\n if (!arguments.length) {\n domain = this.orgDomain();\n return [domain[0], domain[1] + 1];\n }\n\n _scale.domain(domain);\n\n return scale;\n };\n }\n\n return scale;\n };\n\n ChartInternal.prototype.getY = function (min, max, domain) {\n var scale = this.getScale(min, max, this.isTimeSeriesY());\n\n if (domain) {\n scale.domain(domain);\n }\n\n return scale;\n };\n\n ChartInternal.prototype.getYScale = function (id) {\n return this.axis.getId(id) === 'y2' ? this.y2 : this.y;\n };\n\n ChartInternal.prototype.getSubYScale = function (id) {\n return this.axis.getId(id) === 'y2' ? this.subY2 : this.subY;\n };\n\n ChartInternal.prototype.updateScales = function () {\n var $$ = this,\n config = $$.config,\n forInit = !$$.x; // update edges\n\n $$.xMin = config.axis_rotated ? 1 : 0;\n $$.xMax = config.axis_rotated ? $$.height : $$.width;\n $$.yMin = config.axis_rotated ? 0 : $$.height;\n $$.yMax = config.axis_rotated ? $$.width : 1;\n $$.subXMin = $$.xMin;\n $$.subXMax = $$.xMax;\n $$.subYMin = config.axis_rotated ? 0 : $$.height2;\n $$.subYMax = config.axis_rotated ? $$.width2 : 1; // update scales\n\n $$.x = $$.getX($$.xMin, $$.xMax, forInit ? undefined : $$.x.orgDomain(), function () {\n return $$.xAxis.tickOffset();\n });\n $$.y = $$.getY($$.yMin, $$.yMax, forInit ? config.axis_y_default : $$.y.domain());\n $$.y2 = $$.getY($$.yMin, $$.yMax, forInit ? config.axis_y2_default : $$.y2.domain());\n $$.subX = $$.getX($$.xMin, $$.xMax, $$.orgXDomain, function (d) {\n return d % 1 ? 0 : $$.subXAxis.tickOffset();\n });\n $$.subY = $$.getY($$.subYMin, $$.subYMax, forInit ? config.axis_y_default : $$.subY.domain());\n $$.subY2 = $$.getY($$.subYMin, $$.subYMax, forInit ? config.axis_y2_default : $$.subY2.domain()); // update axes\n\n $$.xAxisTickFormat = $$.axis.getXAxisTickFormat();\n $$.xAxisTickValues = $$.axis.getXAxisTickValues();\n $$.yAxisTickValues = $$.axis.getYAxisTickValues();\n $$.y2AxisTickValues = $$.axis.getY2AxisTickValues();\n $$.xAxis = $$.axis.getXAxis($$.x, $$.xOrient, $$.xAxisTickFormat, $$.xAxisTickValues, config.axis_x_tick_outer);\n $$.subXAxis = $$.axis.getXAxis($$.subX, $$.subXOrient, $$.xAxisTickFormat, $$.xAxisTickValues, config.axis_x_tick_outer);\n $$.yAxis = $$.axis.getYAxis($$.y, $$.yOrient, config.axis_y_tick_format, $$.yAxisTickValues, config.axis_y_tick_outer);\n $$.y2Axis = $$.axis.getYAxis($$.y2, $$.y2Orient, config.axis_y2_tick_format, $$.y2AxisTickValues, config.axis_y2_tick_outer); // Set initialized scales to brush and zoom\n\n if (!forInit) {\n if ($$.brush) {\n $$.brush.updateScale($$.subX);\n }\n } // update for arc\n\n\n if ($$.updateArc) {\n $$.updateArc();\n }\n };\n\n ChartInternal.prototype.selectPoint = function (target, d, i) {\n var $$ = this,\n config = $$.config,\n cx = (config.axis_rotated ? $$.circleY : $$.circleX).bind($$),\n cy = (config.axis_rotated ? $$.circleX : $$.circleY).bind($$),\n r = $$.pointSelectR.bind($$);\n config.data_onselected.call($$.api, d, target.node()); // add selected-circle on low layer g\n\n $$.main.select('.' + CLASS.selectedCircles + $$.getTargetSelectorSuffix(d.id)).selectAll('.' + CLASS.selectedCircle + '-' + i).data([d]).enter().append('circle').attr(\"class\", function () {\n return $$.generateClass(CLASS.selectedCircle, i);\n }).attr(\"cx\", cx).attr(\"cy\", cy).attr(\"stroke\", function () {\n return $$.color(d);\n }).attr(\"r\", function (d) {\n return $$.pointSelectR(d) * 1.4;\n }).transition().duration(100).attr(\"r\", r);\n };\n\n ChartInternal.prototype.unselectPoint = function (target, d, i) {\n var $$ = this;\n $$.config.data_onunselected.call($$.api, d, target.node()); // remove selected-circle from low layer g\n\n $$.main.select('.' + CLASS.selectedCircles + $$.getTargetSelectorSuffix(d.id)).selectAll('.' + CLASS.selectedCircle + '-' + i).transition().duration(100).attr('r', 0).remove();\n };\n\n ChartInternal.prototype.togglePoint = function (selected, target, d, i) {\n selected ? this.selectPoint(target, d, i) : this.unselectPoint(target, d, i);\n };\n\n ChartInternal.prototype.selectPath = function (target, d) {\n var $$ = this;\n $$.config.data_onselected.call($$, d, target.node());\n\n if ($$.config.interaction_brighten) {\n target.transition().duration(100).style(\"fill\", function () {\n return $$.d3.rgb($$.color(d)).brighter(0.75);\n });\n }\n };\n\n ChartInternal.prototype.unselectPath = function (target, d) {\n var $$ = this;\n $$.config.data_onunselected.call($$, d, target.node());\n\n if ($$.config.interaction_brighten) {\n target.transition().duration(100).style(\"fill\", function () {\n return $$.color(d);\n });\n }\n };\n\n ChartInternal.prototype.togglePath = function (selected, target, d, i) {\n selected ? this.selectPath(target, d, i) : this.unselectPath(target, d, i);\n };\n\n ChartInternal.prototype.getToggle = function (that, d) {\n var $$ = this,\n toggle;\n\n if (that.nodeName === 'circle') {\n if ($$.isStepType(d)) {\n // circle is hidden in step chart, so treat as within the click area\n toggle = function toggle() {}; // TODO: how to select step chart?\n\n } else {\n toggle = $$.togglePoint;\n }\n } else if (that.nodeName === 'path') {\n toggle = $$.togglePath;\n }\n\n return toggle;\n };\n\n ChartInternal.prototype.toggleShape = function (that, d, i) {\n var $$ = this,\n d3 = $$.d3,\n config = $$.config,\n shape = d3.select(that),\n isSelected = shape.classed(CLASS.SELECTED),\n toggle = $$.getToggle(that, d).bind($$);\n\n if (config.data_selection_enabled && config.data_selection_isselectable(d)) {\n if (!config.data_selection_multiple) {\n $$.main.selectAll('.' + CLASS.shapes + (config.data_selection_grouped ? $$.getTargetSelectorSuffix(d.id) : \"\")).selectAll('.' + CLASS.shape).each(function (d, i) {\n var shape = d3.select(this);\n\n if (shape.classed(CLASS.SELECTED)) {\n toggle(false, shape.classed(CLASS.SELECTED, false), d, i);\n }\n });\n }\n\n shape.classed(CLASS.SELECTED, !isSelected);\n toggle(!isSelected, shape, d, i);\n }\n };\n\n ChartInternal.prototype.initBar = function () {\n var $$ = this;\n $$.main.select('.' + CLASS.chart).append(\"g\").attr(\"class\", CLASS.chartBars);\n };\n\n ChartInternal.prototype.updateTargetsForBar = function (targets) {\n var $$ = this,\n config = $$.config,\n mainBars,\n mainBarEnter,\n classChartBar = $$.classChartBar.bind($$),\n classBars = $$.classBars.bind($$),\n classFocus = $$.classFocus.bind($$);\n mainBars = $$.main.select('.' + CLASS.chartBars).selectAll('.' + CLASS.chartBar).data(targets).attr('class', function (d) {\n return classChartBar(d) + classFocus(d);\n });\n mainBarEnter = mainBars.enter().append('g').attr('class', classChartBar).style(\"pointer-events\", \"none\"); // Bars for each data\n\n mainBarEnter.append('g').attr(\"class\", classBars).style(\"cursor\", function (d) {\n return config.data_selection_isselectable(d) ? \"pointer\" : null;\n });\n };\n\n ChartInternal.prototype.updateBar = function (durationForExit) {\n var $$ = this,\n barData = $$.barData.bind($$),\n classBar = $$.classBar.bind($$),\n initialOpacity = $$.initialOpacity.bind($$),\n color = function color(d) {\n return $$.color(d.id);\n };\n\n var mainBar = $$.main.selectAll('.' + CLASS.bars).selectAll('.' + CLASS.bar).data(barData);\n var mainBarEnter = mainBar.enter().append('path').attr(\"class\", classBar).style(\"stroke\", color).style(\"fill\", color);\n $$.mainBar = mainBarEnter.merge(mainBar).style(\"opacity\", initialOpacity);\n mainBar.exit().transition().duration(durationForExit).style(\"opacity\", 0);\n };\n\n ChartInternal.prototype.redrawBar = function (drawBar, withTransition, transition) {\n return [(withTransition ? this.mainBar.transition(transition) : this.mainBar).attr('d', drawBar).style(\"stroke\", this.color).style(\"fill\", this.color).style(\"opacity\", 1)];\n };\n\n ChartInternal.prototype.getBarW = function (axis, barTargetsNum) {\n var $$ = this,\n config = $$.config,\n w = typeof config.bar_width === 'number' ? config.bar_width : barTargetsNum ? axis.tickInterval() * config.bar_width_ratio / barTargetsNum : 0;\n return config.bar_width_max && w > config.bar_width_max ? config.bar_width_max : w;\n };\n\n ChartInternal.prototype.getBars = function (i, id) {\n var $$ = this;\n return (id ? $$.main.selectAll('.' + CLASS.bars + $$.getTargetSelectorSuffix(id)) : $$.main).selectAll('.' + CLASS.bar + (isValue(i) ? '-' + i : ''));\n };\n\n ChartInternal.prototype.expandBars = function (i, id, reset) {\n var $$ = this;\n\n if (reset) {\n $$.unexpandBars();\n }\n\n $$.getBars(i, id).classed(CLASS.EXPANDED, true);\n };\n\n ChartInternal.prototype.unexpandBars = function (i) {\n var $$ = this;\n $$.getBars(i).classed(CLASS.EXPANDED, false);\n };\n\n ChartInternal.prototype.generateDrawBar = function (barIndices, isSub) {\n var $$ = this,\n config = $$.config,\n getPoints = $$.generateGetBarPoints(barIndices, isSub);\n return function (d, i) {\n // 4 points that make a bar\n var points = getPoints(d, i); // switch points if axis is rotated, not applicable for sub chart\n\n var indexX = config.axis_rotated ? 1 : 0;\n var indexY = config.axis_rotated ? 0 : 1;\n var path = 'M ' + points[0][indexX] + ',' + points[0][indexY] + ' ' + 'L' + points[1][indexX] + ',' + points[1][indexY] + ' ' + 'L' + points[2][indexX] + ',' + points[2][indexY] + ' ' + 'L' + points[3][indexX] + ',' + points[3][indexY] + ' ' + 'z';\n return path;\n };\n };\n\n ChartInternal.prototype.generateGetBarPoints = function (barIndices, isSub) {\n var $$ = this,\n axis = isSub ? $$.subXAxis : $$.xAxis,\n barTargetsNum = barIndices.__max__ + 1,\n barW = $$.getBarW(axis, barTargetsNum),\n barX = $$.getShapeX(barW, barTargetsNum, barIndices, !!isSub),\n barY = $$.getShapeY(!!isSub),\n barOffset = $$.getShapeOffset($$.isBarType, barIndices, !!isSub),\n barSpaceOffset = barW * ($$.config.bar_space / 2),\n yScale = isSub ? $$.getSubYScale : $$.getYScale;\n return function (d, i) {\n var y0 = yScale.call($$, d.id)(0),\n offset = barOffset(d, i) || y0,\n // offset is for stacked bar chart\n posX = barX(d),\n posY = barY(d); // fix posY not to overflow opposite quadrant\n\n if ($$.config.axis_rotated) {\n if (0 < d.value && posY < y0 || d.value < 0 && y0 < posY) {\n posY = y0;\n }\n } // 4 points that make a bar\n\n\n return [[posX + barSpaceOffset, offset], [posX + barSpaceOffset, posY - (y0 - offset)], [posX + barW - barSpaceOffset, posY - (y0 - offset)], [posX + barW - barSpaceOffset, offset]];\n };\n };\n\n ChartInternal.prototype.isWithinBar = function (mouse, that) {\n var box = that.getBoundingClientRect(),\n seg0 = that.pathSegList.getItem(0),\n seg1 = that.pathSegList.getItem(1),\n x = Math.min(seg0.x, seg1.x),\n y = Math.min(seg0.y, seg1.y),\n w = box.width,\n h = box.height,\n offset = 2,\n sx = x - offset,\n ex = x + w + offset,\n sy = y + h + offset,\n ey = y - offset;\n return sx < mouse[0] && mouse[0] < ex && ey < mouse[1] && mouse[1] < sy;\n };\n\n ChartInternal.prototype.getShapeIndices = function (typeFilter) {\n var $$ = this,\n config = $$.config,\n indices = {},\n i = 0,\n j,\n k;\n $$.filterTargetsToShow($$.data.targets.filter(typeFilter, $$)).forEach(function (d) {\n for (j = 0; j < config.data_groups.length; j++) {\n if (config.data_groups[j].indexOf(d.id) < 0) {\n continue;\n }\n\n for (k = 0; k < config.data_groups[j].length; k++) {\n if (config.data_groups[j][k] in indices) {\n indices[d.id] = indices[config.data_groups[j][k]];\n break;\n }\n }\n }\n\n if (isUndefined(indices[d.id])) {\n indices[d.id] = i++;\n }\n });\n indices.__max__ = i - 1;\n return indices;\n };\n\n ChartInternal.prototype.getShapeX = function (offset, targetsNum, indices, isSub) {\n var $$ = this,\n scale = isSub ? $$.subX : $$.x;\n return function (d) {\n var index = d.id in indices ? indices[d.id] : 0;\n return d.x || d.x === 0 ? scale(d.x) - offset * (targetsNum / 2 - index) : 0;\n };\n };\n\n ChartInternal.prototype.getShapeY = function (isSub) {\n var $$ = this;\n return function (d) {\n var scale = isSub ? $$.getSubYScale(d.id) : $$.getYScale(d.id);\n return scale(d.value);\n };\n };\n\n ChartInternal.prototype.getShapeOffset = function (typeFilter, indices, isSub) {\n var $$ = this,\n targets = $$.orderTargets($$.filterTargetsToShow($$.data.targets.filter(typeFilter, $$))),\n targetIds = targets.map(function (t) {\n return t.id;\n });\n return function (d, i) {\n var scale = isSub ? $$.getSubYScale(d.id) : $$.getYScale(d.id),\n y0 = scale(0),\n offset = y0;\n targets.forEach(function (t) {\n var values = $$.isStepType(d) ? $$.convertValuesToStep(t.values) : t.values;\n\n if (t.id === d.id || indices[t.id] !== indices[d.id]) {\n return;\n }\n\n if (targetIds.indexOf(t.id) < targetIds.indexOf(d.id)) {\n // check if the x values line up\n if (typeof values[i] === 'undefined' || +values[i].x !== +d.x) {\n // \"+\" for timeseries\n // if not, try to find the value that does line up\n i = -1;\n values.forEach(function (v, j) {\n if (v.x === d.x) {\n i = j;\n }\n });\n }\n\n if (i in values && values[i].value * d.value >= 0) {\n offset += scale(values[i].value) - y0;\n }\n }\n });\n return offset;\n };\n };\n\n ChartInternal.prototype.isWithinShape = function (that, d) {\n var $$ = this,\n shape = $$.d3.select(that),\n isWithin;\n\n if (!$$.isTargetToShow(d.id)) {\n isWithin = false;\n } else if (that.nodeName === 'circle') {\n isWithin = $$.isStepType(d) ? $$.isWithinStep(that, $$.getYScale(d.id)(d.value)) : $$.isWithinCircle(that, $$.pointSelectR(d) * 1.5);\n } else if (that.nodeName === 'path') {\n isWithin = shape.classed(CLASS.bar) ? $$.isWithinBar($$.d3.mouse(that), that) : true;\n }\n\n return isWithin;\n };\n\n ChartInternal.prototype.getInterpolate = function (d) {\n var $$ = this,\n d3 = $$.d3,\n types = {\n 'linear': d3.curveLinear,\n 'linear-closed': d3.curveLinearClosed,\n 'basis': d3.curveBasis,\n 'basis-open': d3.curveBasisOpen,\n 'basis-closed': d3.curveBasisClosed,\n 'bundle': d3.curveBundle,\n 'cardinal': d3.curveCardinal,\n 'cardinal-open': d3.curveCardinalOpen,\n 'cardinal-closed': d3.curveCardinalClosed,\n 'monotone': d3.curveMonotoneX,\n 'step': d3.curveStep,\n 'step-before': d3.curveStepBefore,\n 'step-after': d3.curveStepAfter\n },\n type;\n\n if ($$.isSplineType(d)) {\n type = types[$$.config.spline_interpolation_type] || types.cardinal;\n } else if ($$.isStepType(d)) {\n type = types[$$.config.line_step_type];\n } else {\n type = types.linear;\n }\n\n return type;\n };\n\n ChartInternal.prototype.initLine = function () {\n var $$ = this;\n $$.main.select('.' + CLASS.chart).append(\"g\").attr(\"class\", CLASS.chartLines);\n };\n\n ChartInternal.prototype.updateTargetsForLine = function (targets) {\n var $$ = this,\n config = $$.config,\n mainLines,\n mainLineEnter,\n classChartLine = $$.classChartLine.bind($$),\n classLines = $$.classLines.bind($$),\n classAreas = $$.classAreas.bind($$),\n classCircles = $$.classCircles.bind($$),\n classFocus = $$.classFocus.bind($$);\n mainLines = $$.main.select('.' + CLASS.chartLines).selectAll('.' + CLASS.chartLine).data(targets).attr('class', function (d) {\n return classChartLine(d) + classFocus(d);\n });\n mainLineEnter = mainLines.enter().append('g').attr('class', classChartLine).style('opacity', 0).style(\"pointer-events\", \"none\"); // Lines for each data\n\n mainLineEnter.append('g').attr(\"class\", classLines); // Areas\n\n mainLineEnter.append('g').attr('class', classAreas); // Circles for each data point on lines\n\n mainLineEnter.append('g').attr(\"class\", function (d) {\n return $$.generateClass(CLASS.selectedCircles, d.id);\n });\n mainLineEnter.append('g').attr(\"class\", classCircles).style(\"cursor\", function (d) {\n return config.data_selection_isselectable(d) ? \"pointer\" : null;\n }); // Update date for selected circles\n\n targets.forEach(function (t) {\n $$.main.selectAll('.' + CLASS.selectedCircles + $$.getTargetSelectorSuffix(t.id)).selectAll('.' + CLASS.selectedCircle).each(function (d) {\n d.value = t.values[d.index].value;\n });\n }); // MEMO: can not keep same color...\n //mainLineUpdate.exit().remove();\n };\n\n ChartInternal.prototype.updateLine = function (durationForExit) {\n var $$ = this;\n var mainLine = $$.main.selectAll('.' + CLASS.lines).selectAll('.' + CLASS.line).data($$.lineData.bind($$));\n var mainLineEnter = mainLine.enter().append('path').attr('class', $$.classLine.bind($$)).style(\"stroke\", $$.color);\n $$.mainLine = mainLineEnter.merge(mainLine).style(\"opacity\", $$.initialOpacity.bind($$)).style('shape-rendering', function (d) {\n return $$.isStepType(d) ? 'crispEdges' : '';\n }).attr('transform', null);\n mainLine.exit().transition().duration(durationForExit).style('opacity', 0);\n };\n\n ChartInternal.prototype.redrawLine = function (drawLine, withTransition, transition) {\n return [(withTransition ? this.mainLine.transition(transition) : this.mainLine).attr(\"d\", drawLine).style(\"stroke\", this.color).style(\"opacity\", 1)];\n };\n\n ChartInternal.prototype.generateDrawLine = function (lineIndices, isSub) {\n var $$ = this,\n config = $$.config,\n line = $$.d3.line(),\n getPoints = $$.generateGetLinePoints(lineIndices, isSub),\n yScaleGetter = isSub ? $$.getSubYScale : $$.getYScale,\n xValue = function xValue(d) {\n return (isSub ? $$.subxx : $$.xx).call($$, d);\n },\n yValue = function yValue(d, i) {\n return config.data_groups.length > 0 ? getPoints(d, i)[0][1] : yScaleGetter.call($$, d.id)(d.value);\n };\n\n line = config.axis_rotated ? line.x(yValue).y(xValue) : line.x(xValue).y(yValue);\n\n if (!config.line_connectNull) {\n line = line.defined(function (d) {\n return d.value != null;\n });\n }\n\n return function (d) {\n var values = config.line_connectNull ? $$.filterRemoveNull(d.values) : d.values,\n x = isSub ? $$.subX : $$.x,\n y = yScaleGetter.call($$, d.id),\n x0 = 0,\n y0 = 0,\n path;\n\n if ($$.isLineType(d)) {\n if (config.data_regions[d.id]) {\n path = $$.lineWithRegions(values, x, y, config.data_regions[d.id]);\n } else {\n if ($$.isStepType(d)) {\n values = $$.convertValuesToStep(values);\n }\n\n path = line.curve($$.getInterpolate(d))(values);\n }\n } else {\n if (values[0]) {\n x0 = x(values[0].x);\n y0 = y(values[0].value);\n }\n\n path = config.axis_rotated ? \"M \" + y0 + \" \" + x0 : \"M \" + x0 + \" \" + y0;\n }\n\n return path ? path : \"M 0 0\";\n };\n };\n\n ChartInternal.prototype.generateGetLinePoints = function (lineIndices, isSub) {\n // partial duplication of generateGetBarPoints\n var $$ = this,\n config = $$.config,\n lineTargetsNum = lineIndices.__max__ + 1,\n x = $$.getShapeX(0, lineTargetsNum, lineIndices, !!isSub),\n y = $$.getShapeY(!!isSub),\n lineOffset = $$.getShapeOffset($$.isLineType, lineIndices, !!isSub),\n yScale = isSub ? $$.getSubYScale : $$.getYScale;\n return function (d, i) {\n var y0 = yScale.call($$, d.id)(0),\n offset = lineOffset(d, i) || y0,\n // offset is for stacked area chart\n posX = x(d),\n posY = y(d); // fix posY not to overflow opposite quadrant\n\n if (config.axis_rotated) {\n if (0 < d.value && posY < y0 || d.value < 0 && y0 < posY) {\n posY = y0;\n }\n } // 1 point that marks the line position\n\n\n return [[posX, posY - (y0 - offset)], [posX, posY - (y0 - offset)], // needed for compatibility\n [posX, posY - (y0 - offset)], // needed for compatibility\n [posX, posY - (y0 - offset)] // needed for compatibility\n ];\n };\n };\n\n ChartInternal.prototype.lineWithRegions = function (d, x, y, _regions) {\n var $$ = this,\n config = $$.config,\n prev = -1,\n i,\n j,\n s = \"M\",\n sWithRegion,\n xp,\n yp,\n dx,\n dy,\n dd,\n diff,\n diffx2,\n xOffset = $$.isCategorized() ? 0.5 : 0,\n xValue,\n yValue,\n regions = [];\n\n function isWithinRegions(x, regions) {\n var i;\n\n for (i = 0; i < regions.length; i++) {\n if (regions[i].start < x && x <= regions[i].end) {\n return true;\n }\n }\n\n return false;\n } // Check start/end of regions\n\n\n if (isDefined(_regions)) {\n for (i = 0; i < _regions.length; i++) {\n regions[i] = {};\n\n if (isUndefined(_regions[i].start)) {\n regions[i].start = d[0].x;\n } else {\n regions[i].start = $$.isTimeSeries() ? $$.parseDate(_regions[i].start) : _regions[i].start;\n }\n\n if (isUndefined(_regions[i].end)) {\n regions[i].end = d[d.length - 1].x;\n } else {\n regions[i].end = $$.isTimeSeries() ? $$.parseDate(_regions[i].end) : _regions[i].end;\n }\n }\n } // Set scales\n\n\n xValue = config.axis_rotated ? function (d) {\n return y(d.value);\n } : function (d) {\n return x(d.x);\n };\n yValue = config.axis_rotated ? function (d) {\n return x(d.x);\n } : function (d) {\n return y(d.value);\n }; // Define svg generator function for region\n\n function generateM(points) {\n return 'M' + points[0][0] + ' ' + points[0][1] + ' ' + points[1][0] + ' ' + points[1][1];\n }\n\n if ($$.isTimeSeries()) {\n sWithRegion = function sWithRegion(d0, d1, j, diff) {\n var x0 = d0.x.getTime(),\n x_diff = d1.x - d0.x,\n xv0 = new Date(x0 + x_diff * j),\n xv1 = new Date(x0 + x_diff * (j + diff)),\n points;\n\n if (config.axis_rotated) {\n points = [[y(yp(j)), x(xv0)], [y(yp(j + diff)), x(xv1)]];\n } else {\n points = [[x(xv0), y(yp(j))], [x(xv1), y(yp(j + diff))]];\n }\n\n return generateM(points);\n };\n } else {\n sWithRegion = function sWithRegion(d0, d1, j, diff) {\n var points;\n\n if (config.axis_rotated) {\n points = [[y(yp(j), true), x(xp(j))], [y(yp(j + diff), true), x(xp(j + diff))]];\n } else {\n points = [[x(xp(j), true), y(yp(j))], [x(xp(j + diff), true), y(yp(j + diff))]];\n }\n\n return generateM(points);\n };\n } // Generate\n\n\n for (i = 0; i < d.length; i++) {\n // Draw as normal\n if (isUndefined(regions) || !isWithinRegions(d[i].x, regions)) {\n s += \" \" + xValue(d[i]) + \" \" + yValue(d[i]);\n } // Draw with region // TODO: Fix for horizotal charts\n else {\n xp = $$.getScale(d[i - 1].x + xOffset, d[i].x + xOffset, $$.isTimeSeries());\n yp = $$.getScale(d[i - 1].value, d[i].value);\n dx = x(d[i].x) - x(d[i - 1].x);\n dy = y(d[i].value) - y(d[i - 1].value);\n dd = Math.sqrt(Math.pow(dx, 2) + Math.pow(dy, 2));\n diff = 2 / dd;\n diffx2 = diff * 2;\n\n for (j = diff; j <= 1; j += diffx2) {\n s += sWithRegion(d[i - 1], d[i], j, diff);\n }\n }\n\n prev = d[i].x;\n }\n\n return s;\n };\n\n ChartInternal.prototype.updateArea = function (durationForExit) {\n var $$ = this,\n d3 = $$.d3;\n var mainArea = $$.main.selectAll('.' + CLASS.areas).selectAll('.' + CLASS.area).data($$.lineData.bind($$));\n var mainAreaEnter = mainArea.enter().append('path').attr(\"class\", $$.classArea.bind($$)).style(\"fill\", $$.color).style(\"opacity\", function () {\n $$.orgAreaOpacity = +d3.select(this).style('opacity');\n return 0;\n });\n $$.mainArea = mainAreaEnter.merge(mainArea).style(\"opacity\", $$.orgAreaOpacity);\n mainArea.exit().transition().duration(durationForExit).style('opacity', 0);\n };\n\n ChartInternal.prototype.redrawArea = function (drawArea, withTransition, transition) {\n return [(withTransition ? this.mainArea.transition(transition) : this.mainArea).attr(\"d\", drawArea).style(\"fill\", this.color).style(\"opacity\", this.orgAreaOpacity)];\n };\n\n ChartInternal.prototype.generateDrawArea = function (areaIndices, isSub) {\n var $$ = this,\n config = $$.config,\n area = $$.d3.area(),\n getPoints = $$.generateGetAreaPoints(areaIndices, isSub),\n yScaleGetter = isSub ? $$.getSubYScale : $$.getYScale,\n xValue = function xValue(d) {\n return (isSub ? $$.subxx : $$.xx).call($$, d);\n },\n value0 = function value0(d, i) {\n return config.data_groups.length > 0 ? getPoints(d, i)[0][1] : yScaleGetter.call($$, d.id)($$.getAreaBaseValue(d.id));\n },\n value1 = function value1(d, i) {\n return config.data_groups.length > 0 ? getPoints(d, i)[1][1] : yScaleGetter.call($$, d.id)(d.value);\n };\n\n area = config.axis_rotated ? area.x0(value0).x1(value1).y(xValue) : area.x(xValue).y0(config.area_above ? 0 : value0).y1(value1);\n\n if (!config.line_connectNull) {\n area = area.defined(function (d) {\n return d.value !== null;\n });\n }\n\n return function (d) {\n var values = config.line_connectNull ? $$.filterRemoveNull(d.values) : d.values,\n x0 = 0,\n y0 = 0,\n path;\n\n if ($$.isAreaType(d)) {\n if ($$.isStepType(d)) {\n values = $$.convertValuesToStep(values);\n }\n\n path = area.curve($$.getInterpolate(d))(values);\n } else {\n if (values[0]) {\n x0 = $$.x(values[0].x);\n y0 = $$.getYScale(d.id)(values[0].value);\n }\n\n path = config.axis_rotated ? \"M \" + y0 + \" \" + x0 : \"M \" + x0 + \" \" + y0;\n }\n\n return path ? path : \"M 0 0\";\n };\n };\n\n ChartInternal.prototype.getAreaBaseValue = function () {\n return 0;\n };\n\n ChartInternal.prototype.generateGetAreaPoints = function (areaIndices, isSub) {\n // partial duplication of generateGetBarPoints\n var $$ = this,\n config = $$.config,\n areaTargetsNum = areaIndices.__max__ + 1,\n x = $$.getShapeX(0, areaTargetsNum, areaIndices, !!isSub),\n y = $$.getShapeY(!!isSub),\n areaOffset = $$.getShapeOffset($$.isAreaType, areaIndices, !!isSub),\n yScale = isSub ? $$.getSubYScale : $$.getYScale;\n return function (d, i) {\n var y0 = yScale.call($$, d.id)(0),\n offset = areaOffset(d, i) || y0,\n // offset is for stacked area chart\n posX = x(d),\n posY = y(d); // fix posY not to overflow opposite quadrant\n\n if (config.axis_rotated) {\n if (0 < d.value && posY < y0 || d.value < 0 && y0 < posY) {\n posY = y0;\n }\n } // 1 point that marks the area position\n\n\n return [[posX, offset], [posX, posY - (y0 - offset)], [posX, posY - (y0 - offset)], // needed for compatibility\n [posX, offset] // needed for compatibility\n ];\n };\n };\n\n ChartInternal.prototype.updateCircle = function (cx, cy) {\n var $$ = this;\n var mainCircle = $$.main.selectAll('.' + CLASS.circles).selectAll('.' + CLASS.circle).data($$.lineOrScatterData.bind($$));\n var mainCircleEnter = mainCircle.enter().append(\"circle\").attr(\"class\", $$.classCircle.bind($$)).attr(\"cx\", cx).attr(\"cy\", cy).attr(\"r\", $$.pointR.bind($$)).style(\"fill\", $$.color);\n $$.mainCircle = mainCircleEnter.merge(mainCircle).style(\"opacity\", $$.initialOpacityForCircle.bind($$));\n mainCircle.exit().style(\"opacity\", 0);\n };\n\n ChartInternal.prototype.redrawCircle = function (cx, cy, withTransition, transition) {\n var $$ = this,\n selectedCircles = $$.main.selectAll('.' + CLASS.selectedCircle);\n return [(withTransition ? $$.mainCircle.transition(transition) : $$.mainCircle).style('opacity', this.opacityForCircle.bind($$)).style(\"fill\", $$.color).attr(\"cx\", cx).attr(\"cy\", cy), (withTransition ? selectedCircles.transition(transition) : selectedCircles).attr(\"cx\", cx).attr(\"cy\", cy)];\n };\n\n ChartInternal.prototype.circleX = function (d) {\n return d.x || d.x === 0 ? this.x(d.x) : null;\n };\n\n ChartInternal.prototype.updateCircleY = function () {\n var $$ = this,\n lineIndices,\n getPoints;\n\n if ($$.config.data_groups.length > 0) {\n lineIndices = $$.getShapeIndices($$.isLineType), getPoints = $$.generateGetLinePoints(lineIndices);\n\n $$.circleY = function (d, i) {\n return getPoints(d, i)[0][1];\n };\n } else {\n $$.circleY = function (d) {\n return $$.getYScale(d.id)(d.value);\n };\n }\n };\n\n ChartInternal.prototype.getCircles = function (i, id) {\n var $$ = this;\n return (id ? $$.main.selectAll('.' + CLASS.circles + $$.getTargetSelectorSuffix(id)) : $$.main).selectAll('.' + CLASS.circle + (isValue(i) ? '-' + i : ''));\n };\n\n ChartInternal.prototype.expandCircles = function (i, id, reset) {\n var $$ = this,\n r = $$.pointExpandedR.bind($$);\n\n if (reset) {\n $$.unexpandCircles();\n }\n\n $$.getCircles(i, id).classed(CLASS.EXPANDED, true).attr('r', r);\n };\n\n ChartInternal.prototype.unexpandCircles = function (i) {\n var $$ = this,\n r = $$.pointR.bind($$);\n $$.getCircles(i).filter(function () {\n return $$.d3.select(this).classed(CLASS.EXPANDED);\n }).classed(CLASS.EXPANDED, false).attr('r', r);\n };\n\n ChartInternal.prototype.pointR = function (d) {\n var $$ = this,\n config = $$.config;\n return $$.isStepType(d) ? 0 : isFunction(config.point_r) ? config.point_r(d) : config.point_r;\n };\n\n ChartInternal.prototype.pointExpandedR = function (d) {\n var $$ = this,\n config = $$.config;\n\n if (config.point_focus_expand_enabled) {\n return isFunction(config.point_focus_expand_r) ? config.point_focus_expand_r(d) : config.point_focus_expand_r ? config.point_focus_expand_r : $$.pointR(d) * 1.75;\n } else {\n return $$.pointR(d);\n }\n };\n\n ChartInternal.prototype.pointSelectR = function (d) {\n var $$ = this,\n config = $$.config;\n return isFunction(config.point_select_r) ? config.point_select_r(d) : config.point_select_r ? config.point_select_r : $$.pointR(d) * 4;\n };\n\n ChartInternal.prototype.isWithinCircle = function (that, r) {\n var d3 = this.d3,\n mouse = d3.mouse(that),\n d3_this = d3.select(that),\n cx = +d3_this.attr(\"cx\"),\n cy = +d3_this.attr(\"cy\");\n return Math.sqrt(Math.pow(cx - mouse[0], 2) + Math.pow(cy - mouse[1], 2)) < r;\n };\n\n ChartInternal.prototype.isWithinStep = function (that, y) {\n return Math.abs(y - this.d3.mouse(that)[1]) < 30;\n };\n\n ChartInternal.prototype.getCurrentWidth = function () {\n var $$ = this,\n config = $$.config;\n return config.size_width ? config.size_width : $$.getParentWidth();\n };\n\n ChartInternal.prototype.getCurrentHeight = function () {\n var $$ = this,\n config = $$.config,\n h = config.size_height ? config.size_height : $$.getParentHeight();\n return h > 0 ? h : 320 / ($$.hasType('gauge') && !config.gauge_fullCircle ? 2 : 1);\n };\n\n ChartInternal.prototype.getCurrentPaddingTop = function () {\n var $$ = this,\n config = $$.config,\n padding = isValue(config.padding_top) ? config.padding_top : 0;\n\n if ($$.title && $$.title.node()) {\n padding += $$.getTitlePadding();\n }\n\n return padding;\n };\n\n ChartInternal.prototype.getCurrentPaddingBottom = function () {\n var config = this.config;\n return isValue(config.padding_bottom) ? config.padding_bottom : 0;\n };\n\n ChartInternal.prototype.getCurrentPaddingLeft = function (withoutRecompute) {\n var $$ = this,\n config = $$.config;\n\n if (isValue(config.padding_left)) {\n return config.padding_left;\n } else if (config.axis_rotated) {\n return !config.axis_x_show || config.axis_x_inner ? 1 : Math.max(ceil10($$.getAxisWidthByAxisId('x', withoutRecompute)), 40);\n } else if (!config.axis_y_show || config.axis_y_inner) {\n // && !config.axis_rotated\n return $$.axis.getYAxisLabelPosition().isOuter ? 30 : 1;\n } else {\n return ceil10($$.getAxisWidthByAxisId('y', withoutRecompute));\n }\n };\n\n ChartInternal.prototype.getCurrentPaddingRight = function () {\n var $$ = this,\n config = $$.config,\n defaultPadding = 10,\n legendWidthOnRight = $$.isLegendRight ? $$.getLegendWidth() + 20 : 0;\n\n if (isValue(config.padding_right)) {\n return config.padding_right + 1; // 1 is needed not to hide tick line\n } else if (config.axis_rotated) {\n return defaultPadding + legendWidthOnRight;\n } else if (!config.axis_y2_show || config.axis_y2_inner) {\n // && !config.axis_rotated\n return 2 + legendWidthOnRight + ($$.axis.getY2AxisLabelPosition().isOuter ? 20 : 0);\n } else {\n return ceil10($$.getAxisWidthByAxisId('y2')) + legendWidthOnRight;\n }\n };\n\n ChartInternal.prototype.getParentRectValue = function (key) {\n var parent = this.selectChart.node(),\n v;\n\n while (parent && parent.tagName !== 'BODY') {\n try {\n v = parent.getBoundingClientRect()[key];\n } catch (e) {\n if (key === 'width') {\n // In IE in certain cases getBoundingClientRect\n // will cause an \"unspecified error\"\n v = parent.offsetWidth;\n }\n }\n\n if (v) {\n break;\n }\n\n parent = parent.parentNode;\n }\n\n return v;\n };\n\n ChartInternal.prototype.getParentWidth = function () {\n return this.getParentRectValue('width');\n };\n\n ChartInternal.prototype.getParentHeight = function () {\n return this.getParentRectValue('height');\n };\n\n ChartInternal.prototype.getSvgLeft = function (withoutRecompute) {\n var $$ = this,\n config = $$.config,\n hasLeftAxisRect = config.axis_rotated || !config.axis_rotated && !config.axis_y_inner,\n leftAxisClass = config.axis_rotated ? CLASS.axisX : CLASS.axisY,\n leftAxis = $$.main.select('.' + leftAxisClass).node(),\n svgRect = leftAxis && hasLeftAxisRect ? leftAxis.getBoundingClientRect() : {\n right: 0\n },\n chartRect = $$.selectChart.node().getBoundingClientRect(),\n hasArc = $$.hasArcType(),\n svgLeft = svgRect.right - chartRect.left - (hasArc ? 0 : $$.getCurrentPaddingLeft(withoutRecompute));\n return svgLeft > 0 ? svgLeft : 0;\n };\n\n ChartInternal.prototype.getAxisWidthByAxisId = function (id, withoutRecompute) {\n var $$ = this,\n position = $$.axis.getLabelPositionById(id);\n return $$.axis.getMaxTickWidth(id, withoutRecompute) + (position.isInner ? 20 : 40);\n };\n\n ChartInternal.prototype.getHorizontalAxisHeight = function (axisId) {\n var $$ = this,\n config = $$.config,\n h = 30;\n\n if (axisId === 'x' && !config.axis_x_show) {\n return 8;\n }\n\n if (axisId === 'x' && config.axis_x_height) {\n return config.axis_x_height;\n }\n\n if (axisId === 'y' && !config.axis_y_show) {\n return config.legend_show && !$$.isLegendRight && !$$.isLegendInset ? 10 : 1;\n }\n\n if (axisId === 'y2' && !config.axis_y2_show) {\n return $$.rotated_padding_top;\n } // Calculate x axis height when tick rotated\n\n\n if (axisId === 'x' && !config.axis_rotated && config.axis_x_tick_rotate) {\n h = 30 + $$.axis.getMaxTickWidth(axisId) * Math.cos(Math.PI * (90 - Math.abs(config.axis_x_tick_rotate)) / 180);\n } // Calculate y axis height when tick rotated\n\n\n if (axisId === 'y' && config.axis_rotated && config.axis_y_tick_rotate) {\n h = 30 + $$.axis.getMaxTickWidth(axisId) * Math.cos(Math.PI * (90 - Math.abs(config.axis_y_tick_rotate)) / 180);\n }\n\n return h + ($$.axis.getLabelPositionById(axisId).isInner ? 0 : 10) + (axisId === 'y2' ? -10 : 0);\n };\n\n ChartInternal.prototype.initBrush = function (scale) {\n var $$ = this,\n d3 = $$.d3; // TODO: dynamically change brushY/brushX according to axis_rotated.\n\n $$.brush = ($$.config.axis_rotated ? d3.brushY() : d3.brushX()).on(\"brush\", function () {\n var event = d3.event.sourceEvent;\n\n if (event && event.type === \"zoom\") {\n return;\n }\n\n $$.redrawForBrush();\n }).on(\"end\", function () {\n var event = d3.event.sourceEvent;\n\n if (event && event.type === \"zoom\") {\n return;\n }\n\n if ($$.brush.empty() && event && event.type !== 'end') {\n $$.brush.clear();\n }\n });\n\n $$.brush.updateExtent = function () {\n var range = this.scale.range(),\n extent;\n\n if ($$.config.axis_rotated) {\n extent = [[0, range[0]], [$$.width2, range[1]]];\n } else {\n extent = [[range[0], 0], [range[1], $$.height2]];\n }\n\n this.extent(extent);\n return this;\n };\n\n $$.brush.updateScale = function (scale) {\n this.scale = scale;\n return this;\n };\n\n $$.brush.update = function (scale) {\n this.updateScale(scale || $$.subX).updateExtent();\n $$.context.select('.' + CLASS.brush).call(this);\n };\n\n $$.brush.clear = function () {\n $$.context.select('.' + CLASS.brush).call($$.brush.move, null);\n };\n\n $$.brush.selection = function () {\n return d3.brushSelection($$.context.select('.' + CLASS.brush).node());\n };\n\n $$.brush.selectionAsValue = function (selectionAsValue, withTransition) {\n var selection, brush;\n\n if (selectionAsValue) {\n if ($$.context) {\n selection = [this.scale(selectionAsValue[0]), this.scale(selectionAsValue[1])];\n brush = $$.context.select('.' + CLASS.brush);\n\n if (withTransition) {\n brush = brush.transition();\n }\n\n $$.brush.move(brush, selection);\n }\n\n return [];\n }\n\n selection = $$.brush.selection() || [0, 0];\n return [this.scale.invert(selection[0]), this.scale.invert(selection[1])];\n };\n\n $$.brush.empty = function () {\n var selection = $$.brush.selection();\n return !selection || selection[0] === selection[1];\n };\n\n return $$.brush.updateScale(scale);\n };\n\n ChartInternal.prototype.initSubchart = function () {\n var $$ = this,\n config = $$.config,\n context = $$.context = $$.svg.append(\"g\").attr(\"transform\", $$.getTranslate('context')),\n visibility = config.subchart_show ? 'visible' : 'hidden'; // set style\n\n context.style('visibility', visibility); // Define g for chart area\n\n context.append('g').attr(\"clip-path\", $$.clipPathForSubchart).attr('class', CLASS.chart); // Define g for bar chart area\n\n context.select('.' + CLASS.chart).append(\"g\").attr(\"class\", CLASS.chartBars); // Define g for line chart area\n\n context.select('.' + CLASS.chart).append(\"g\").attr(\"class\", CLASS.chartLines); // Add extent rect for Brush\n\n context.append(\"g\").attr(\"clip-path\", $$.clipPath).attr(\"class\", CLASS.brush); // ATTENTION: This must be called AFTER chart added\n // Add Axis\n\n $$.axes.subx = context.append(\"g\").attr(\"class\", CLASS.axisX).attr(\"transform\", $$.getTranslate('subx')).attr(\"clip-path\", config.axis_rotated ? \"\" : $$.clipPathForXAxis);\n };\n\n ChartInternal.prototype.initSubchartBrush = function () {\n var $$ = this; // Add extent rect for Brush\n\n $$.initBrush($$.subX).updateExtent();\n $$.context.select('.' + CLASS.brush).call($$.brush);\n };\n\n ChartInternal.prototype.updateTargetsForSubchart = function (targets) {\n var $$ = this,\n context = $$.context,\n config = $$.config,\n contextLineEnter,\n contextLine,\n contextBarEnter,\n contextBar,\n classChartBar = $$.classChartBar.bind($$),\n classBars = $$.classBars.bind($$),\n classChartLine = $$.classChartLine.bind($$),\n classLines = $$.classLines.bind($$),\n classAreas = $$.classAreas.bind($$);\n\n if (config.subchart_show) {\n //-- Bar --//\n contextBar = context.select('.' + CLASS.chartBars).selectAll('.' + CLASS.chartBar).data(targets);\n contextBarEnter = contextBar.enter().append('g').style('opacity', 0);\n contextBarEnter.merge(contextBar).attr('class', classChartBar); // Bars for each data\n\n contextBarEnter.append('g').attr(\"class\", classBars); //-- Line --//\n\n contextLine = context.select('.' + CLASS.chartLines).selectAll('.' + CLASS.chartLine).data(targets);\n contextLineEnter = contextLine.enter().append('g').style('opacity', 0);\n contextLineEnter.merge(contextLine).attr('class', classChartLine); // Lines for each data\n\n contextLineEnter.append(\"g\").attr(\"class\", classLines); // Area\n\n contextLineEnter.append(\"g\").attr(\"class\", classAreas); //-- Brush --//\n\n context.selectAll('.' + CLASS.brush + ' rect').attr(config.axis_rotated ? \"width\" : \"height\", config.axis_rotated ? $$.width2 : $$.height2);\n }\n };\n\n ChartInternal.prototype.updateBarForSubchart = function (durationForExit) {\n var $$ = this;\n var contextBar = $$.context.selectAll('.' + CLASS.bars).selectAll('.' + CLASS.bar).data($$.barData.bind($$));\n var contextBarEnter = contextBar.enter().append('path').attr(\"class\", $$.classBar.bind($$)).style(\"stroke\", 'none').style(\"fill\", $$.color);\n contextBar.exit().transition().duration(durationForExit).style('opacity', 0).remove();\n $$.contextBar = contextBarEnter.merge(contextBar).style(\"opacity\", $$.initialOpacity.bind($$));\n };\n\n ChartInternal.prototype.redrawBarForSubchart = function (drawBarOnSub, withTransition, duration) {\n (withTransition ? this.contextBar.transition(Math.random().toString()).duration(duration) : this.contextBar).attr('d', drawBarOnSub).style('opacity', 1);\n };\n\n ChartInternal.prototype.updateLineForSubchart = function (durationForExit) {\n var $$ = this;\n var contextLine = $$.context.selectAll('.' + CLASS.lines).selectAll('.' + CLASS.line).data($$.lineData.bind($$));\n var contextLineEnter = contextLine.enter().append('path').attr('class', $$.classLine.bind($$)).style('stroke', $$.color);\n contextLine.exit().transition().duration(durationForExit).style('opacity', 0).remove();\n $$.contextLine = contextLineEnter.merge(contextLine).style(\"opacity\", $$.initialOpacity.bind($$));\n };\n\n ChartInternal.prototype.redrawLineForSubchart = function (drawLineOnSub, withTransition, duration) {\n (withTransition ? this.contextLine.transition(Math.random().toString()).duration(duration) : this.contextLine).attr(\"d\", drawLineOnSub).style('opacity', 1);\n };\n\n ChartInternal.prototype.updateAreaForSubchart = function (durationForExit) {\n var $$ = this,\n d3 = $$.d3;\n var contextArea = $$.context.selectAll('.' + CLASS.areas).selectAll('.' + CLASS.area).data($$.lineData.bind($$));\n var contextAreaEnter = contextArea.enter().append('path').attr(\"class\", $$.classArea.bind($$)).style(\"fill\", $$.color).style(\"opacity\", function () {\n $$.orgAreaOpacity = +d3.select(this).style('opacity');\n return 0;\n });\n contextArea.exit().transition().duration(durationForExit).style('opacity', 0).remove();\n $$.contextArea = contextAreaEnter.merge(contextArea).style(\"opacity\", 0);\n };\n\n ChartInternal.prototype.redrawAreaForSubchart = function (drawAreaOnSub, withTransition, duration) {\n (withTransition ? this.contextArea.transition(Math.random().toString()).duration(duration) : this.contextArea).attr(\"d\", drawAreaOnSub).style(\"fill\", this.color).style(\"opacity\", this.orgAreaOpacity);\n };\n\n ChartInternal.prototype.redrawSubchart = function (withSubchart, transitions, duration, durationForExit, areaIndices, barIndices, lineIndices) {\n var $$ = this,\n d3 = $$.d3,\n config = $$.config,\n drawAreaOnSub,\n drawBarOnSub,\n drawLineOnSub;\n $$.context.style('visibility', config.subchart_show ? 'visible' : 'hidden'); // subchart\n\n if (config.subchart_show) {\n // reflect main chart to extent on subchart if zoomed\n if (d3.event && d3.event.type === 'zoom') {\n $$.brush.selectionAsValue($$.x.orgDomain());\n } // update subchart elements if needed\n\n\n if (withSubchart) {\n // extent rect\n if (!$$.brush.empty()) {\n $$.brush.selectionAsValue($$.x.orgDomain());\n } // setup drawer - MEMO: this must be called after axis updated\n\n\n drawAreaOnSub = $$.generateDrawArea(areaIndices, true);\n drawBarOnSub = $$.generateDrawBar(barIndices, true);\n drawLineOnSub = $$.generateDrawLine(lineIndices, true);\n $$.updateBarForSubchart(duration);\n $$.updateLineForSubchart(duration);\n $$.updateAreaForSubchart(duration);\n $$.redrawBarForSubchart(drawBarOnSub, duration, duration);\n $$.redrawLineForSubchart(drawLineOnSub, duration, duration);\n $$.redrawAreaForSubchart(drawAreaOnSub, duration, duration);\n }\n }\n };\n\n ChartInternal.prototype.redrawForBrush = function () {\n var $$ = this,\n x = $$.x,\n d3 = $$.d3,\n s;\n $$.redraw({\n withTransition: false,\n withY: $$.config.zoom_rescale,\n withSubchart: false,\n withUpdateXDomain: true,\n withEventRect: false,\n withDimension: false\n }); // update zoom transation binded to event rect\n\n s = d3.event.selection || $$.brush.scale.range();\n $$.main.select('.' + CLASS.eventRect).call($$.zoom.transform, d3.zoomIdentity.scale($$.width / (s[1] - s[0])).translate(-s[0], 0));\n $$.config.subchart_onbrush.call($$.api, x.orgDomain());\n };\n\n ChartInternal.prototype.transformContext = function (withTransition, transitions) {\n var $$ = this,\n subXAxis;\n\n if (transitions && transitions.axisSubX) {\n subXAxis = transitions.axisSubX;\n } else {\n subXAxis = $$.context.select('.' + CLASS.axisX);\n\n if (withTransition) {\n subXAxis = subXAxis.transition();\n }\n }\n\n $$.context.attr(\"transform\", $$.getTranslate('context'));\n subXAxis.attr(\"transform\", $$.getTranslate('subx'));\n };\n\n ChartInternal.prototype.getDefaultSelection = function () {\n var $$ = this,\n config = $$.config,\n selection = isFunction(config.axis_x_selection) ? config.axis_x_selection($$.getXDomain($$.data.targets)) : config.axis_x_selection;\n\n if ($$.isTimeSeries()) {\n selection = [$$.parseDate(selection[0]), $$.parseDate(selection[1])];\n }\n\n return selection;\n };\n\n ChartInternal.prototype.initText = function () {\n var $$ = this;\n $$.main.select('.' + CLASS.chart).append(\"g\").attr(\"class\", CLASS.chartTexts);\n $$.mainText = $$.d3.selectAll([]);\n };\n\n ChartInternal.prototype.updateTargetsForText = function (targets) {\n var $$ = this,\n classChartText = $$.classChartText.bind($$),\n classTexts = $$.classTexts.bind($$),\n classFocus = $$.classFocus.bind($$);\n var mainText = $$.main.select('.' + CLASS.chartTexts).selectAll('.' + CLASS.chartText).data(targets);\n var mainTextEnter = mainText.enter().append('g').attr('class', classChartText).style('opacity', 0).style(\"pointer-events\", \"none\");\n mainTextEnter.append('g').attr('class', classTexts);\n mainTextEnter.merge(mainText).attr('class', function (d) {\n return classChartText(d) + classFocus(d);\n });\n };\n\n ChartInternal.prototype.updateText = function (xForText, yForText, durationForExit) {\n var $$ = this,\n config = $$.config,\n barOrLineData = $$.barOrLineData.bind($$),\n classText = $$.classText.bind($$);\n var mainText = $$.main.selectAll('.' + CLASS.texts).selectAll('.' + CLASS.text).data(barOrLineData);\n var mainTextEnter = mainText.enter().append('text').attr(\"class\", classText).attr('text-anchor', function (d) {\n return config.axis_rotated ? d.value < 0 ? 'end' : 'start' : 'middle';\n }).style(\"stroke\", 'none').attr('x', xForText).attr('y', yForText).style(\"fill\", function (d) {\n return $$.color(d);\n }).style(\"fill-opacity\", 0);\n $$.mainText = mainTextEnter.merge(mainText).text(function (d, i, j) {\n return $$.dataLabelFormat(d.id)(d.value, d.id, i, j);\n });\n mainText.exit().transition().duration(durationForExit).style('fill-opacity', 0).remove();\n };\n\n ChartInternal.prototype.redrawText = function (xForText, yForText, forFlow, withTransition, transition) {\n return [(withTransition ? this.mainText.transition(transition) : this.mainText).attr('x', xForText).attr('y', yForText).style(\"fill\", this.color).style(\"fill-opacity\", forFlow ? 0 : this.opacityForText.bind(this))];\n };\n\n ChartInternal.prototype.getTextRect = function (text, cls, element) {\n var dummy = this.d3.select('body').append('div').classed('c3', true),\n svg = dummy.append(\"svg\").style('visibility', 'hidden').style('position', 'fixed').style('top', 0).style('left', 0),\n font = this.d3.select(element).style('font'),\n rect;\n svg.selectAll('.dummy').data([text]).enter().append('text').classed(cls ? cls : \"\", true).style('font', font).text(text).each(function () {\n rect = this.getBoundingClientRect();\n });\n dummy.remove();\n return rect;\n };\n\n ChartInternal.prototype.generateXYForText = function (areaIndices, barIndices, lineIndices, forX) {\n var $$ = this,\n getAreaPoints = $$.generateGetAreaPoints(areaIndices, false),\n getBarPoints = $$.generateGetBarPoints(barIndices, false),\n getLinePoints = $$.generateGetLinePoints(lineIndices, false),\n getter = forX ? $$.getXForText : $$.getYForText;\n return function (d, i) {\n var getPoints = $$.isAreaType(d) ? getAreaPoints : $$.isBarType(d) ? getBarPoints : getLinePoints;\n return getter.call($$, getPoints(d, i), d, this);\n };\n };\n\n ChartInternal.prototype.getXForText = function (points, d, textElement) {\n var $$ = this,\n box = textElement.getBoundingClientRect(),\n xPos,\n padding;\n\n if ($$.config.axis_rotated) {\n padding = $$.isBarType(d) ? 4 : 6;\n xPos = points[2][1] + padding * (d.value < 0 ? -1 : 1);\n } else {\n xPos = $$.hasType('bar') ? (points[2][0] + points[0][0]) / 2 : points[0][0];\n } // show labels regardless of the domain if value is null\n\n\n if (d.value === null) {\n if (xPos > $$.width) {\n xPos = $$.width - box.width;\n } else if (xPos < 0) {\n xPos = 4;\n }\n }\n\n return xPos;\n };\n\n ChartInternal.prototype.getYForText = function (points, d, textElement) {\n var $$ = this,\n box = textElement.getBoundingClientRect(),\n yPos;\n\n if ($$.config.axis_rotated) {\n yPos = (points[0][0] + points[2][0] + box.height * 0.6) / 2;\n } else {\n yPos = points[2][1];\n\n if (d.value < 0 || d.value === 0 && !$$.hasPositiveValue) {\n yPos += box.height;\n\n if ($$.isBarType(d) && $$.isSafari()) {\n yPos -= 3;\n } else if (!$$.isBarType(d) && $$.isChrome()) {\n yPos += 3;\n }\n } else {\n yPos += $$.isBarType(d) ? -3 : -6;\n }\n } // show labels regardless of the domain if value is null\n\n\n if (d.value === null && !$$.config.axis_rotated) {\n if (yPos < box.height) {\n yPos = box.height;\n } else if (yPos > this.height) {\n yPos = this.height - 4;\n }\n }\n\n return yPos;\n };\n\n ChartInternal.prototype.initTitle = function () {\n var $$ = this;\n $$.title = $$.svg.append(\"text\").text($$.config.title_text).attr(\"class\", $$.CLASS.title);\n };\n\n ChartInternal.prototype.redrawTitle = function () {\n var $$ = this;\n $$.title.attr(\"x\", $$.xForTitle.bind($$)).attr(\"y\", $$.yForTitle.bind($$));\n };\n\n ChartInternal.prototype.xForTitle = function () {\n var $$ = this,\n config = $$.config,\n position = config.title_position || 'left',\n x;\n\n if (position.indexOf('right') >= 0) {\n x = $$.currentWidth - $$.getTextRect($$.title.node().textContent, $$.CLASS.title, $$.title.node()).width - config.title_padding.right;\n } else if (position.indexOf('center') >= 0) {\n x = ($$.currentWidth - $$.getTextRect($$.title.node().textContent, $$.CLASS.title, $$.title.node()).width) / 2;\n } else {\n // left\n x = config.title_padding.left;\n }\n\n return x;\n };\n\n ChartInternal.prototype.yForTitle = function () {\n var $$ = this;\n return $$.config.title_padding.top + $$.getTextRect($$.title.node().textContent, $$.CLASS.title, $$.title.node()).height;\n };\n\n ChartInternal.prototype.getTitlePadding = function () {\n var $$ = this;\n return $$.yForTitle() + $$.config.title_padding.bottom;\n };\n\n ChartInternal.prototype.initTooltip = function () {\n var $$ = this,\n config = $$.config,\n i;\n $$.tooltip = $$.selectChart.style(\"position\", \"relative\").append(\"div\").attr('class', CLASS.tooltipContainer).style(\"position\", \"absolute\").style(\"pointer-events\", \"none\").style(\"display\", \"none\"); // Show tooltip if needed\n\n if (config.tooltip_init_show) {\n if ($$.isTimeSeries() && isString(config.tooltip_init_x)) {\n config.tooltip_init_x = $$.parseDate(config.tooltip_init_x);\n\n for (i = 0; i < $$.data.targets[0].values.length; i++) {\n if ($$.data.targets[0].values[i].x - config.tooltip_init_x === 0) {\n break;\n }\n }\n\n config.tooltip_init_x = i;\n }\n\n $$.tooltip.html(config.tooltip_contents.call($$, $$.data.targets.map(function (d) {\n return $$.addName(d.values[config.tooltip_init_x]);\n }), $$.axis.getXAxisTickFormat(), $$.getYFormat($$.hasArcType()), $$.color));\n $$.tooltip.style(\"top\", config.tooltip_init_position.top).style(\"left\", config.tooltip_init_position.left).style(\"display\", \"block\");\n }\n };\n\n ChartInternal.prototype.getTooltipSortFunction = function () {\n var $$ = this,\n config = $$.config;\n\n if (config.data_groups.length === 0 || config.tooltip_order !== undefined) {\n // if data are not grouped or if an order is specified\n // for the tooltip values we sort them by their values\n var order = config.tooltip_order;\n\n if (order === undefined) {\n order = config.data_order;\n }\n\n var valueOf = function valueOf(obj) {\n return obj ? obj.value : null;\n }; // if data are not grouped, we sort them by their value\n\n\n if (isString(order) && order.toLowerCase() === 'asc') {\n return function (a, b) {\n return valueOf(a) - valueOf(b);\n };\n } else if (isString(order) && order.toLowerCase() === 'desc') {\n return function (a, b) {\n return valueOf(b) - valueOf(a);\n };\n } else if (isFunction(order)) {\n // if the function is from data_order we need\n // to wrap the returned function in order to format\n // the sorted value to the expected format\n var sortFunction = order;\n\n if (config.tooltip_order === undefined) {\n sortFunction = function sortFunction(a, b) {\n return order(a ? {\n id: a.id,\n values: [a]\n } : null, b ? {\n id: b.id,\n values: [b]\n } : null);\n };\n }\n\n return sortFunction;\n } else if (isArray(order)) {\n return function (a, b) {\n return order.indexOf(a.id) - order.indexOf(b.id);\n };\n }\n } else {\n // if data are grouped, we follow the order of grouped targets\n var ids = $$.orderTargets($$.data.targets).map(function (i) {\n return i.id;\n }); // if it was either asc or desc we need to invert the order\n // returned by orderTargets\n\n if ($$.isOrderAsc() || $$.isOrderDesc()) {\n ids = ids.reverse();\n }\n\n return function (a, b) {\n return ids.indexOf(a.id) - ids.indexOf(b.id);\n };\n }\n };\n\n ChartInternal.prototype.getTooltipContent = function (d, defaultTitleFormat, defaultValueFormat, color) {\n var $$ = this,\n config = $$.config,\n titleFormat = config.tooltip_format_title || defaultTitleFormat,\n nameFormat = config.tooltip_format_name || function (name) {\n return name;\n },\n valueFormat = config.tooltip_format_value || defaultValueFormat,\n text,\n i,\n title,\n value,\n name,\n bgcolor;\n\n var tooltipSortFunction = this.getTooltipSortFunction();\n\n if (tooltipSortFunction) {\n d.sort(tooltipSortFunction);\n }\n\n for (i = 0; i < d.length; i++) {\n if (!(d[i] && (d[i].value || d[i].value === 0))) {\n continue;\n }\n\n if (!text) {\n title = sanitise(titleFormat ? titleFormat(d[i].x, d[i].index) : d[i].x);\n text = \"\" + (title || title === 0 ? \"\" : \"\");\n }\n\n value = sanitise(valueFormat(d[i].value, d[i].ratio, d[i].id, d[i].index, d));\n\n if (value !== undefined) {\n // Skip elements when their name is set to null\n if (d[i].name === null) {\n continue;\n }\n\n name = sanitise(nameFormat(d[i].name, d[i].ratio, d[i].id, d[i].index));\n bgcolor = $$.levelColor ? $$.levelColor(d[i].value) : color(d[i].id);\n text += \"\";\n text += \"\";\n text += \"\";\n text += \"\";\n }\n }\n\n return text + \"
\" + title + \"
\" + name + \"\" + value + \"
\";\n };\n\n ChartInternal.prototype.tooltipPosition = function (dataToShow, tWidth, tHeight, element) {\n var $$ = this,\n config = $$.config,\n d3 = $$.d3;\n var svgLeft, tooltipLeft, tooltipRight, tooltipTop, chartRight;\n var forArc = $$.hasArcType(),\n mouse = d3.mouse(element); // Determin tooltip position\n\n if (forArc) {\n tooltipLeft = ($$.width - ($$.isLegendRight ? $$.getLegendWidth() : 0)) / 2 + mouse[0];\n tooltipTop = ($$.hasType('gauge') ? $$.height : $$.height / 2) + mouse[1] + 20;\n } else {\n svgLeft = $$.getSvgLeft(true);\n\n if (config.axis_rotated) {\n tooltipLeft = svgLeft + mouse[0] + 100;\n tooltipRight = tooltipLeft + tWidth;\n chartRight = $$.currentWidth - $$.getCurrentPaddingRight();\n tooltipTop = $$.x(dataToShow[0].x) + 20;\n } else {\n tooltipLeft = svgLeft + $$.getCurrentPaddingLeft(true) + $$.x(dataToShow[0].x) + 20;\n tooltipRight = tooltipLeft + tWidth;\n chartRight = svgLeft + $$.currentWidth - $$.getCurrentPaddingRight();\n tooltipTop = mouse[1] + 15;\n }\n\n if (tooltipRight > chartRight) {\n // 20 is needed for Firefox to keep tooltip width\n tooltipLeft -= tooltipRight - chartRight + 20;\n }\n\n if (tooltipTop + tHeight > $$.currentHeight) {\n tooltipTop -= tHeight + 30;\n }\n }\n\n if (tooltipTop < 0) {\n tooltipTop = 0;\n }\n\n return {\n top: tooltipTop,\n left: tooltipLeft\n };\n };\n\n ChartInternal.prototype.showTooltip = function (selectedData, element) {\n var $$ = this,\n config = $$.config;\n var tWidth, tHeight, position;\n var forArc = $$.hasArcType(),\n dataToShow = selectedData.filter(function (d) {\n return d && isValue(d.value);\n }),\n positionFunction = config.tooltip_position || ChartInternal.prototype.tooltipPosition;\n\n if (dataToShow.length === 0 || !config.tooltip_show) {\n return;\n }\n\n $$.tooltip.html(config.tooltip_contents.call($$, selectedData, $$.axis.getXAxisTickFormat(), $$.getYFormat(forArc), $$.color)).style(\"display\", \"block\"); // Get tooltip dimensions\n\n tWidth = $$.tooltip.property('offsetWidth');\n tHeight = $$.tooltip.property('offsetHeight');\n position = positionFunction.call(this, dataToShow, tWidth, tHeight, element); // Set tooltip\n\n $$.tooltip.style(\"top\", position.top + \"px\").style(\"left\", position.left + 'px');\n };\n\n ChartInternal.prototype.hideTooltip = function () {\n this.tooltip.style(\"display\", \"none\");\n };\n\n ChartInternal.prototype.setTargetType = function (targetIds, type) {\n var $$ = this,\n config = $$.config;\n $$.mapToTargetIds(targetIds).forEach(function (id) {\n $$.withoutFadeIn[id] = type === config.data_types[id];\n config.data_types[id] = type;\n });\n\n if (!targetIds) {\n config.data_type = type;\n }\n };\n\n ChartInternal.prototype.hasType = function (type, targets) {\n var $$ = this,\n types = $$.config.data_types,\n has = false;\n targets = targets || $$.data.targets;\n\n if (targets && targets.length) {\n targets.forEach(function (target) {\n var t = types[target.id];\n\n if (t && t.indexOf(type) >= 0 || !t && type === 'line') {\n has = true;\n }\n });\n } else if (Object.keys(types).length) {\n Object.keys(types).forEach(function (id) {\n if (types[id] === type) {\n has = true;\n }\n });\n } else {\n has = $$.config.data_type === type;\n }\n\n return has;\n };\n\n ChartInternal.prototype.hasArcType = function (targets) {\n return this.hasType('pie', targets) || this.hasType('donut', targets) || this.hasType('gauge', targets);\n };\n\n ChartInternal.prototype.isLineType = function (d) {\n var config = this.config,\n id = isString(d) ? d : d.id;\n return !config.data_types[id] || ['line', 'spline', 'area', 'area-spline', 'step', 'area-step'].indexOf(config.data_types[id]) >= 0;\n };\n\n ChartInternal.prototype.isStepType = function (d) {\n var id = isString(d) ? d : d.id;\n return ['step', 'area-step'].indexOf(this.config.data_types[id]) >= 0;\n };\n\n ChartInternal.prototype.isSplineType = function (d) {\n var id = isString(d) ? d : d.id;\n return ['spline', 'area-spline'].indexOf(this.config.data_types[id]) >= 0;\n };\n\n ChartInternal.prototype.isAreaType = function (d) {\n var id = isString(d) ? d : d.id;\n return ['area', 'area-spline', 'area-step'].indexOf(this.config.data_types[id]) >= 0;\n };\n\n ChartInternal.prototype.isBarType = function (d) {\n var id = isString(d) ? d : d.id;\n return this.config.data_types[id] === 'bar';\n };\n\n ChartInternal.prototype.isScatterType = function (d) {\n var id = isString(d) ? d : d.id;\n return this.config.data_types[id] === 'scatter';\n };\n\n ChartInternal.prototype.isPieType = function (d) {\n var id = isString(d) ? d : d.id;\n return this.config.data_types[id] === 'pie';\n };\n\n ChartInternal.prototype.isGaugeType = function (d) {\n var id = isString(d) ? d : d.id;\n return this.config.data_types[id] === 'gauge';\n };\n\n ChartInternal.prototype.isDonutType = function (d) {\n var id = isString(d) ? d : d.id;\n return this.config.data_types[id] === 'donut';\n };\n\n ChartInternal.prototype.isArcType = function (d) {\n return this.isPieType(d) || this.isDonutType(d) || this.isGaugeType(d);\n };\n\n ChartInternal.prototype.lineData = function (d) {\n return this.isLineType(d) ? [d] : [];\n };\n\n ChartInternal.prototype.arcData = function (d) {\n return this.isArcType(d.data) ? [d] : [];\n };\n /* not used\n function scatterData(d) {\n return isScatterType(d) ? d.values : [];\n }\n */\n\n\n ChartInternal.prototype.barData = function (d) {\n return this.isBarType(d) ? d.values : [];\n };\n\n ChartInternal.prototype.lineOrScatterData = function (d) {\n return this.isLineType(d) || this.isScatterType(d) ? d.values : [];\n };\n\n ChartInternal.prototype.barOrLineData = function (d) {\n return this.isBarType(d) || this.isLineType(d) ? d.values : [];\n };\n\n ChartInternal.prototype.isSafari = function () {\n var ua = window.navigator.userAgent;\n return ua.indexOf('Safari') >= 0 && ua.indexOf('Chrome') < 0;\n };\n\n ChartInternal.prototype.isChrome = function () {\n var ua = window.navigator.userAgent;\n return ua.indexOf('Chrome') >= 0;\n };\n\n ChartInternal.prototype.initZoom = function () {\n var $$ = this,\n d3 = $$.d3,\n config = $$.config,\n startEvent;\n $$.zoom = d3.zoom().on(\"start\", function () {\n if (config.zoom_type !== 'scroll') {\n return;\n }\n\n var e = d3.event.sourceEvent;\n\n if (e && e.type === \"brush\") {\n return;\n }\n\n startEvent = e;\n config.zoom_onzoomstart.call($$.api, e);\n }).on(\"zoom\", function () {\n if (config.zoom_type !== 'scroll') {\n return;\n }\n\n var e = d3.event.sourceEvent;\n\n if (e && e.type === \"brush\") {\n return;\n }\n\n $$.redrawForZoom();\n config.zoom_onzoom.call($$.api, $$.x.orgDomain());\n }).on('end', function () {\n if (config.zoom_type !== 'scroll') {\n return;\n }\n\n var e = d3.event.sourceEvent;\n\n if (e && e.type === \"brush\") {\n return;\n } // if click, do nothing. otherwise, click interaction will be canceled.\n\n\n if (e && startEvent.clientX === e.clientX && startEvent.clientY === e.clientY) {\n return;\n }\n\n config.zoom_onzoomend.call($$.api, $$.x.orgDomain());\n });\n\n $$.zoom.updateDomain = function () {\n if (d3.event && d3.event.transform) {\n $$.x.domain(d3.event.transform.rescaleX($$.subX).domain());\n }\n\n return this;\n };\n\n $$.zoom.updateExtent = function () {\n this.scaleExtent([1, Infinity]).translateExtent([[0, 0], [$$.width, $$.height]]).extent([[0, 0], [$$.width, $$.height]]);\n return this;\n };\n\n $$.zoom.update = function () {\n return this.updateExtent().updateDomain();\n };\n\n return $$.zoom.updateExtent();\n };\n\n ChartInternal.prototype.zoomTransform = function (range) {\n var $$ = this,\n s = [$$.x(range[0]), $$.x(range[1])];\n return $$.d3.zoomIdentity.scale($$.width / (s[1] - s[0])).translate(-s[0], 0);\n };\n\n ChartInternal.prototype.initDragZoom = function () {\n var $$ = this;\n var d3 = $$.d3;\n var config = $$.config;\n var context = $$.context = $$.svg;\n var brushXPos = $$.margin.left + 20.5;\n var brushYPos = $$.margin.top + 0.5;\n\n if (!(config.zoom_type === 'drag' && config.zoom_enabled)) {\n return;\n }\n\n var getZoomedDomain = function getZoomedDomain(selection) {\n return selection && selection.map(function (x) {\n return $$.x.invert(x);\n });\n };\n\n var brush = $$.dragZoomBrush = d3.brushX().on(\"start\", function () {\n $$.api.unzoom();\n $$.svg.select(\".\" + CLASS.dragZoom).classed(\"disabled\", false);\n config.zoom_onzoomstart.call($$.api, d3.event.sourceEvent);\n }).on(\"brush\", function () {\n config.zoom_onzoom.call($$.api, getZoomedDomain(d3.event.selection));\n }).on(\"end\", function () {\n if (d3.event.selection == null) {\n return;\n }\n\n var zoomedDomain = getZoomedDomain(d3.event.selection);\n\n if (!config.zoom_disableDefaultBehavior) {\n $$.api.zoom(zoomedDomain);\n }\n\n $$.svg.select(\".\" + CLASS.dragZoom).classed(\"disabled\", true);\n config.zoom_onzoomend.call($$.api, zoomedDomain);\n });\n context.append(\"g\").classed(CLASS.dragZoom, true).attr(\"clip-path\", $$.clipPath).attr(\"transform\", \"translate(\" + brushXPos + \",\" + brushYPos + \")\").call(brush);\n };\n\n ChartInternal.prototype.getZoomDomain = function () {\n var $$ = this,\n config = $$.config,\n d3 = $$.d3,\n min = d3.min([$$.orgXDomain[0], config.zoom_x_min]),\n max = d3.max([$$.orgXDomain[1], config.zoom_x_max]);\n return [min, max];\n };\n\n ChartInternal.prototype.redrawForZoom = function () {\n var $$ = this,\n d3 = $$.d3,\n config = $$.config,\n zoom = $$.zoom,\n x = $$.x;\n\n if (!config.zoom_enabled) {\n return;\n }\n\n if ($$.filterTargetsToShow($$.data.targets).length === 0) {\n return;\n }\n\n zoom.update();\n\n if (config.zoom_disableDefaultBehavior) {\n return;\n }\n\n if ($$.isCategorized() && x.orgDomain()[0] === $$.orgXDomain[0]) {\n x.domain([$$.orgXDomain[0] - 1e-10, x.orgDomain()[1]]);\n }\n\n $$.redraw({\n withTransition: false,\n withY: config.zoom_rescale,\n withSubchart: false,\n withEventRect: false,\n withDimension: false\n });\n\n if (d3.event.sourceEvent && d3.event.sourceEvent.type === 'mousemove') {\n $$.cancelClick = true;\n }\n };\n\n return c3;\n\n})));\n","import { each } from '../../utils/each';\nimport { extend } from '../../utils/extend';\n\nfunction average(arr, start, end){\n var set = arr.slice(start||0, (end ? end+1 : arr.length)),\n sum = 0,\n avg = null;\n\n // Add numeric values\n each(set, function(val, i){\n if (typeof val === 'number' && !isNaN(parseFloat(val))) {\n sum += parseFloat(val);\n }\n });\n return sum / set.length;\n}\n\nfunction maximum(arr, start, end){\n var set = arr.slice(start||0, (end ? end+1 : arr.length)),\n nums = [];\n\n // Pull numeric values\n each(set, function(val, i){\n if (typeof val === 'number' && !isNaN(parseFloat(val))) {\n nums.push(parseFloat(val));\n }\n });\n return Math.max.apply(Math, nums);\n}\n\nfunction minimum(arr, start, end){\n var set = arr.slice(start||0, (end ? end+1 : arr.length)),\n nums = [];\n\n // Pull numeric values\n each(set, function(val, i){\n if (typeof val === 'number' && !isNaN(parseFloat(val))) {\n nums.push(parseFloat(val));\n }\n });\n return Math.min.apply(Math, nums);\n}\n\nfunction sum(arr, start, end){\n // Copy set with given range\n var set = arr.slice(start||0, (end ? end+1 : arr.length)),\n sum = 0;\n\n // Add numeric values\n each(set, function(val, i){\n if (typeof val === 'number' && !isNaN(parseFloat(val))) {\n sum += parseFloat(val);\n }\n });\n return sum;\n}\n\nconst getColumnAverage = function (arr) {\n return average(arr, 1);\n};\nconst getRowAverage = getColumnAverage;\n\nconst getColumnSum = function (arr) {\n return sum(arr, 1);\n};\nconst getRowSum = getColumnSum;\n\nconst getColumnMaximum = function (arr) {\n return maximum(arr, 1);\n};\nconst getRowMaximum = getColumnMaximum;\n\nconst getColumnMinimum = function (arr) {\n return minimum(arr, 1);\n};\nconst getRowMinimum = getColumnMinimum;\n\nconst getColumnLabel = function (arr) {\n return arr[0];\n};\nconst getRowIndex = getColumnLabel;\n\nexport default {\n average,\n maximum,\n minimum,\n sum,\n getColumnAverage,\n getRowAverage,\n getColumnSum,\n getRowSum,\n getColumnMaximum,\n getRowMaximum,\n getColumnMinimum,\n getRowMinimum,\n getColumnLabel,\n getRowIndex,\n};\n","// Modifiers\nimport * as append from './modifiers/append';\nimport * as del from './modifiers/delete';\nimport * as filter from './modifiers/filter';\nimport * as insert from './modifiers/insert';\nimport * as select from './modifiers/select';\nimport * as sort from './modifiers/sort';\nimport * as update from './modifiers/update';\n\n// Utils\nimport analyses from './utils/analyses';\nimport { extend } from '../utils/extend';\nimport parsers from './utils/parsers';\n\nexport const Dataset = function (config = {}) {\n if (this instanceof Dataset === false) {\n return new Dataset(config);\n }\n\n this.matrix = [\n ['Index']\n ];\n this.meta = {\n type: undefined\n };\n this.config = config;\n}\n\nDataset.prototype.data = function (arr) {\n if (!arguments.length) return this.matrix;\n this.matrix = (arr instanceof Array ? arr : null);\n return this;\n};\n\nDataset.prototype.set = function (coords, value) {\n if (arguments.length < 2 || coords.length < 2) {\n throw Error('Incorrect arguments provided for #set method');\n }\n\n var colIndex = 'number' === typeof coords[0] ? coords[0] : this.matrix[0].indexOf(coords[0]),\n rowIndex = 'number' === typeof coords[1] ? coords[1] : select.selectColumn.call(this, 0).indexOf(coords[1]);\n\n var colResult = select.selectColumn.call(this, coords[0]),\n rowResult = select.selectRow.call(this, coords[1]);\n\n // Column doesn't exist, create and reset colIndex\n if (colResult.length < 1) {\n append.appendColumn.call(this, String(coords[0]));\n colIndex = this.matrix[0].length - 1;\n }\n\n // Row doesn't exist, create and reset rowIndex\n if (rowResult.length < 1) {\n append.appendRow.call(this, String(coords[1]));\n rowIndex = this.matrix.length - 1;\n }\n\n // Set provided value\n this.matrix[ rowIndex ][ colIndex ] = value;\n return this;\n};\n\nDataset.prototype.type = function(str){\n if (!arguments.length) return this.meta['type'];\n this.meta['type'] = (str ? String(str) : undefined);\n return this;\n};\n\nextend(Dataset.prototype, append);\nextend(Dataset.prototype, del);\nextend(Dataset.prototype, filter);\nextend(Dataset.prototype, insert);\nextend(Dataset.prototype, select);\nextend(Dataset.prototype, sort);\nextend(Dataset.prototype, update);\nextend(Dataset.prototype, analyses);\nDataset.parser = parsers(Dataset);\n\nexport default Dataset;\n","import * as d3 from 'd3';\nimport { textWrap } from '../../utils/svg-text-wrap';\nimport { prettyNumber } from '../../utils/pretty-number';\n\nexport default class HorizontalFunnel3d {\n render() {\n const { matrix } = this.dataset;\n const {\n colors,\n container,\n labelMapping,\n colorMapping\n } = this.config;\n const opts = this.config;\n const {\n percents: {\n show,\n countingMethod,\n decimals,\n },\n lines,\n resultValues,\n effect3d,\n hover\n } = this.config.funnel;\n const margin = { top: 0, right: 30, bottom: 100, left: 10 };\n const funnelContainer = d3.select(container);\n const chartContainer = d3.select(container + ' .c3-chart');\n const chart = chartContainer.append('svg');\n const svgWidth = funnelContainer.style('width').slice(0, -2)\n - margin.right - margin.left;\n const svgHeight = funnelContainer.style('height').slice(0, -2)\n - margin.top - margin.bottom - 30;\n const elemWidth= svgWidth/(matrix.length - 1);\n const xMarginElement = elemWidth * 0.3;\n const shadowCut = (xMarginElement/1.5);\n let prevElemHeight = svgHeight;\n let percent = (100).toFixed(decimals);\n\n // prepare normal funnel polygons\n const polygons = matrix.slice(1).map((d, i) => {\n const newPoints = [\n {\n x: elemWidth * i + xMarginElement,\n y: ((svgHeight - prevElemHeight)/2)\n },\n {\n x: elemWidth * i + xMarginElement,\n y: ((svgHeight - prevElemHeight)/2 + prevElemHeight)\n },\n ]\n if(i !== 0){\n if(countingMethod === 'relative'){\n prevElemHeight = prevElemHeight * d[1]/matrix[i][1];\n percent = ((d[1]/matrix[i][1])*100).toFixed(decimals);\n }\n if(countingMethod === 'absolute'){\n prevElemHeight = svgHeight * d[1]/matrix[1][1];\n percent = ((d[1]/matrix[1][1])*100).toFixed(decimals);\n }\n }\n let label = d[0];\n if(Object.keys(labelMapping).length){\n for (let key in labelMapping) {\n if(labelMapping[key] === d[0]) {\n label = key;\n }\n }\n }\n let result = d[1];\n if ( (typeof opts['prettyNumber'] === 'undefined' || opts['prettyNumber'] === true)\n && !isNaN(parseInt(d[1])) ) {\n result = prettyNumber(d[1]);\n }\n return {\n name: d[0],\n label,\n percent: percent + '%',\n result,\n points: [\n ...newPoints,\n {\n x: elemWidth * (i + 1),\n y: ((svgHeight - prevElemHeight)/2 + prevElemHeight)\n },\n {\n x: elemWidth * (i + 1),\n y: ((svgHeight - prevElemHeight)/2)\n }\n ]\n }\n });\n\n //funnel shadows preparing\n const polygonsShadows = polygons.map((d, i) => {\n return {\n label: d.label,\n points: [\n {\n x: d.points[0].x,\n y: d.points[0].y\n },\n {\n x: d.points[1].x,\n y: d.points[1].y\n },\n {\n x: effect3d === 'top'\n ? d.points[1].x\n : d.points[1].x - shadowCut,\n y: effect3d === 'top'\n ? d.points[1].y\n : d.points[1].y - xMarginElement < svgHeight/2\n ? svgHeight/2 + 5\n : d.points[1].y - xMarginElement\n },\n {\n x: effect3d === 'bottom'\n ? d.points[0].x\n : d.points[0].x - shadowCut,\n y: effect3d === 'bottom'\n ? d.points[0].y\n : d.points[0].y + xMarginElement > svgHeight/2\n ? svgHeight/2 - 5\n : d.points[0].y + xMarginElement\n },\n ]\n }\n })\n\n //connecting funnels with shadows for rendering\n const polygons3d = polygons.concat(polygonsShadows);\n\n //chart rendering with polygons\n chart\n .attr('height', svgHeight + margin.top + margin.bottom - 30)\n .attr('width', svgWidth + margin.left + margin.right)\n .append('g')\n .attr('transform', 'translate(' + margin.left + ',' + margin.top + ')')\n .selectAll('polygon')\n .data(polygons3d)\n .enter()\n .append('polygon')\n .attr('points', (d) => {\n return d.points.map((p) => {\n return [p.x,p.y].join(',');\n })\n .join(' ');\n })\n .style('fill', (d, i) => {\n if(i > (polygons.length - 1)){\n if(colorMapping[d.label]){\n return d3.rgb(colorMapping[d.label]).darker(1.5);\n }\n return d3.rgb(colors[i - (polygons.length)]).darker(1.5);\n }\n if(colorMapping[d.label]){\n return colorMapping[d.label];\n }\n return colors[i];\n })\n .attr('class', (d) => { return d.label; })\n .attr('cursor', 'pointer');\n\n if(lines){\n //rendering lines\n chart\n .selectAll('line')\n .data(polygons)\n .enter()\n .append('line')\n .attr('x1', (d) => {\n return d.points[0].x + margin.left - (xMarginElement * 0.8);\n })\n .attr('y1', svgHeight + margin.bottom)\n .attr('x2', (d) => {\n return d.points[0].x + margin.left - (xMarginElement * 0.8);\n })\n .attr('y2', (d) => { return d.points[0].y; })\n .attr('class', 'chart-lines');\n\n //rendering last line\n chart\n .append('line')\n .attr('x1', svgWidth + margin.left + (xMarginElement/4))\n .attr('y1', svgHeight + margin.bottom)\n .attr('x2', polygons[polygons.length-1].points[3].x\n + margin.left + (xMarginElement/4))\n .attr('y2', polygons[polygons.length-1].points[3].y)\n .attr('class', 'chart-lines');\n }\n\n //rendering labels when lines are visible\n if(lines){\n chart\n .selectAll('text.label')\n .data(polygons)\n .enter()\n .append('text')\n .style('text-anchor', 'middle')\n .attr('x', (d) => {\n return d.points[0].x + margin.left + (elemWidth * 0.25)\n })\n .attr('y', svgHeight + (margin.bottom * 0.4))\n .attr('class', (d) => { return 'text-label ' + d.label; })\n .text((d) => { return d.name; })\n .call(textWrap, elemWidth)\n .attr('cursor', 'pointer');\n }\n\n //rendering labels when lines are not visible\n if(!lines) {\n chart\n .selectAll('text.label')\n .data(polygons)\n .enter()\n .append('text')\n .style('text-anchor', 'middle')\n .attr('x', (d) => {\n return d.points[0].x + margin.left + (elemWidth * 0.25)\n })\n .attr('y', (d) => {\n if(d.points[2].y + (elemWidth/4) >\n svgHeight + margin.bottom - 40){\n return svgHeight + margin.bottom - 40;\n }\n if(d.points[2].y + (elemWidth/4) < d.points[1].y){\n return d.points[1].y + 20;\n }\n return d.points[2].y + (elemWidth/4) + 10;\n })\n .attr('class', (d) => { return 'text-label ' + d.label; })\n .text((d) => { return d.name; })\n .call(textWrap, elemWidth)\n .attr('cursor', 'pointer');\n }\n\n //rendering percents for each step\n if(show && !resultValues){\n chart\n .selectAll('text.label')\n .data(polygons)\n .enter()\n .append('text')\n .style('text-anchor', 'middle')\n .attr('x', (d) => {\n return d.points[1].x + (elemWidth/2.8) + margin.left\n })\n .attr('y', svgHeight/2 + margin.top + 10)\n .attr('class', (d) => { return 'text-main ' + d.label; })\n .text((d) => { return d.percent; })\n .attr('cursor', 'pointer');\n }\n\n //rendering results for each step\n if(resultValues && !show){\n chart\n .selectAll('text.label')\n .data(polygons)\n .enter()\n .append('text')\n .style('text-anchor', 'middle')\n .attr('x', (d) => {\n return d.points[1].x + (elemWidth/2.8) + margin.left\n })\n .attr('y', svgHeight/2 + margin.top + 10)\n .attr('class', (d) => { return 'text-main ' + d.label; })\n .text((d) => { return d.result; })\n .attr('cursor', 'pointer');\n }\n\n //rendering results and percenage together\n if(show && resultValues){\n //rendering percents\n chart\n .selectAll('text.label')\n .data(polygons)\n .enter()\n .append('text')\n .style('text-anchor', 'middle')\n .attr('x', (d) => {\n return d.points[1].x + (elemWidth/2.8) + margin.left\n })\n .attr('y', svgHeight/2 + margin.top + 16)\n .attr('class', (d) => { return 'text-second ' + d.label; })\n .text((d) => { return d.percent; })\n .attr('cursor', 'pointer');\n\n //rendering results\n chart\n .selectAll('text.label')\n .data(polygons)\n .enter()\n .append('text')\n .style('text-anchor', 'middle')\n .attr('x', (d) => {\n return d.points[1].x + (elemWidth/2.8) + margin.left\n })\n .attr('y', svgHeight/2+ margin.top - 3)\n .attr('class', (d) => { return 'text-main ' + d.label; })\n .text((d) => { return d.result; })\n .attr('cursor', 'pointer');\n }\n\n //hover handling\n if(hover){\n const polygonsHover = chart.selectAll('polygon');\n polygonsHover\n .on(\"mouseover\", handleMouseOver)\n .on(\"mouseout\", handleMouseOut);\n\n const labelHover = chart.selectAll('text');\n labelHover\n .on(\"mouseover\", handleMouseOver)\n .on(\"mouseout\", handleMouseOut);\n\n function handleMouseOver(d) {\n polygonsHover\n .style('opacity', 0.5);\n labelHover\n .style('opacity', 0.5);\n const thisLabel = /[^ ]*$/.exec(d3.select(this).attr('class'))[0];\n chart\n .selectAll(`.${thisLabel}`)\n .style('opacity', 1);\n }\n function handleMouseOut(d) {\n polygonsHover\n .style('opacity', 1);\n labelHover\n .style('opacity', 1);\n }\n }\n }\n update() {\n this.destroy();\n this.render();\n }\n destroy() {\n const { container } = this.config;\n const chartContainer = d3.select(container + ' .c3-chart > *');\n chartContainer.remove();\n }\n}\n","import * as d3 from 'd3';\nimport { textWrap } from '../../utils/svg-text-wrap';\nimport { prettyNumber } from '../../utils/pretty-number';\n\nexport default class HorizontalFunnel {\n render() {\n const { matrix } = this.dataset;\n const {\n colors,\n container,\n labelMapping,\n colorMapping\n } = this.config;\n const opts = this.config;\n const {\n percents: {\n show,\n countingMethod,\n decimals,\n },\n lines,\n marginBetweenSteps,\n resultValues,\n hover\n } = this.config.funnel;\n const margin = { top: 0, right: 30, bottom: 100, left: 10 };\n let xMarginElement = 0;\n if(marginBetweenSteps){\n xMarginElement = 5;\n }\n const funnelContainer = d3.select(container);\n const chartContainer = d3.select(container + ' .c3-chart');\n const chart = chartContainer.append('svg');\n const svgWidth = funnelContainer.style('width').slice(0, -2)\n - margin.right - margin.left;\n const svgHeight = funnelContainer.style('height').slice(0, -2)\n - margin.top - margin.bottom - 30;\n const elemWidth= svgWidth/(matrix.length - 1);\n let prevElemHeight = svgHeight;\n let percent = (100).toFixed(decimals);\n\n // prepare normal funnel polygons\n const polygons = matrix.slice(1).map((d, i) => {\n const newPoints = [\n {\n x: elemWidth * i + xMarginElement,\n y: ((svgHeight - prevElemHeight)/2)\n },\n {\n x: elemWidth * i + xMarginElement,\n y: ((svgHeight - prevElemHeight)/2 + prevElemHeight)\n },\n ]\n if(i !== 0){\n if(countingMethod === 'relative'){\n prevElemHeight = prevElemHeight * d[1]/matrix[i][1];\n percent = ((d[1]/matrix[i][1])*100).toFixed(decimals);\n }\n if(countingMethod === 'absolute'){\n prevElemHeight = svgHeight * d[1]/matrix[1][1];\n percent = ((d[1]/matrix[1][1])*100).toFixed(decimals);\n }\n }\n let label = d[0];\n if(Object.keys(labelMapping).length){\n for (let key in labelMapping) {\n if(labelMapping[key] === d[0]) {\n label = key;\n }\n }\n }\n let result = d[1];\n if ( (typeof opts['prettyNumber'] === 'undefined'\n || opts['prettyNumber'] === true)\n && !isNaN(parseInt(d[1])) ) {\n result = prettyNumber(d[1]);\n }\n return {\n name: d[0],\n label,\n percent: percent + '%',\n result,\n points: [\n ...newPoints,\n {\n x: elemWidth * (i + 1),\n y: ((svgHeight - prevElemHeight)/2 + prevElemHeight)\n },\n {\n x: elemWidth * (i + 1),\n y: ((svgHeight - prevElemHeight)/2)\n }\n ]\n }\n });\n\n //chart rendering with polygons\n chart\n .attr('height', svgHeight + margin.top + margin.bottom - 30)\n .attr('width', svgWidth + margin.left + margin.right)\n .append('g')\n .attr('transform', 'translate(' + margin.left + ',' + margin.top + ')')\n .selectAll('polygon')\n .data(polygons)\n .enter()\n .append('polygon')\n .attr('points', (d) => {\n return d.points.map((p) => {\n return [p.x,p.y].join(',');\n })\n .join(' ');\n })\n .style('fill', (d, i) => {\n if(colorMapping[d.label]){\n return colorMapping[d.label];\n }\n return colors[i];\n })\n .attr('class', (d) => { return d.label; })\n .attr('cursor', 'pointer');\n\n if(lines){\n //rendering lines\n chart\n .selectAll('line')\n .data(polygons)\n .enter()\n .append('line')\n .attr('x1', (d) => {\n return d.points[0].x + margin.left - (xMarginElement/2);\n })\n .attr('y1', svgHeight + margin.bottom)\n .attr('x2', (d) => {\n return d.points[0].x + margin.left - (xMarginElement/2);\n })\n .attr('y2', (d) => { return d.points[0].y; })\n .attr('class', 'chart-lines');\n\n //rendering last line\n chart\n .append('line')\n .attr('x1', svgWidth + margin.left - (xMarginElement/2))\n .attr('y1', svgHeight + margin.bottom)\n .attr('x2', polygons[polygons.length-1].points[3].x\n + margin.left + (xMarginElement/2))\n .attr('y2', polygons[polygons.length-1].points[3].y)\n .attr('class', 'chart-lines');\n }\n\n //rendering labels when lines are visible\n if(lines){\n chart\n .selectAll('text.label')\n .data(polygons)\n .enter()\n .append('text')\n .style('text-anchor', 'middle')\n .attr('x', (d) => {\n return d.points[1].x + (elemWidth/2) + margin.left\n })\n .attr('y', svgHeight + (margin.bottom * 0.5))\n .attr('class', (d) => { return 'text-label ' + d.label; })\n .text((d) => { return d.name; })\n .call(textWrap, elemWidth)\n .attr('cursor', 'pointer');\n }\n\n //rendering labels when lines are not visible\n if(!lines) {\n chart\n .selectAll('text.label')\n .data(polygons)\n .enter()\n .append('text')\n .style('text-anchor', 'middle')\n .attr('x', (d) => {\n return d.points[1].x + (elemWidth/2) + margin.left\n })\n .attr('y', (d) => {\n if(d.points[2].y + ((d.points[3].y - d.points[0].y)/2)\n + (elemWidth/4) > svgHeight + margin.bottom - 40){\n return svgHeight + margin.bottom - 40;\n }\n return d.points[2].y + ((d.points[3].y - d.points[0].y)/2)\n + (elemWidth/4);\n })\n .attr('class', (d) => { return 'text-label ' + d.label; })\n .text((d) => { return d.name; })\n .call(textWrap, elemWidth)\n .attr('cursor', 'pointer');\n }\n\n //rendering percents for each step\n if(show && !resultValues){\n chart\n .selectAll('text.label')\n .data(polygons)\n .enter()\n .append('text')\n .style('text-anchor', 'middle')\n .attr('x', (d) => {\n return d.points[1].x + (elemWidth/2) + margin.left\n })\n .attr('y', svgHeight/2 + margin.top + 10)\n .attr('class', (d) => { return 'text-main ' + d.label; })\n .text((d) => { return d.percent; })\n .attr('cursor', 'pointer');\n }\n\n //rendering results for each step\n if(resultValues && !show){\n chart\n .selectAll('text.label')\n .data(polygons)\n .enter()\n .append('text')\n .style('text-anchor', 'middle')\n .attr('x', (d) => {\n return d.points[1].x + (elemWidth/2) + margin.left\n })\n .attr('y', svgHeight/2 + margin.top + 10)\n .attr('class', (d) => { return 'text-main ' + d.label; })\n .text((d) => { return d.result; })\n .attr('cursor', 'pointer');\n }\n\n //rendering results and percenage together\n if(show && resultValues){\n //rendering percents\n chart\n .selectAll('text.label')\n .data(polygons)\n .enter()\n .append('text')\n .style('text-anchor', 'middle')\n .attr('x', (d) => {\n return d.points[1].x + (elemWidth/2) + margin.left\n })\n .attr('y', svgHeight/2 + margin.top + 16)\n .attr('class', (d) => { return 'text-second ' + d.label; })\n .text((d) => { return d.percent; })\n .attr('cursor', 'pointer');\n\n //rendering results\n chart\n .selectAll('text.label')\n .data(polygons)\n .enter()\n .append('text')\n .style('text-anchor', 'middle')\n .attr('x', (d) => {\n return d.points[1].x + (elemWidth/2) + margin.left\n })\n .attr('y', svgHeight/2+ margin.top - 3)\n .attr('class', (d) => { return 'text-main ' + d.label; })\n .text((d) => { return d.result; })\n .attr('cursor', 'pointer');\n }\n //hover handling\n if(hover){\n const polygonsHover = chart.selectAll('polygon');\n polygonsHover\n .on(\"mouseover\", handleMouseOver)\n .on(\"mouseout\", handleMouseOut);\n\n const labelHover = chart.selectAll('text');\n labelHover\n .on(\"mouseover\", handleMouseOver)\n .on(\"mouseout\", handleMouseOut);\n\n function handleMouseOver(d) {\n polygonsHover\n .style('opacity', 0.5);\n labelHover\n .style('opacity', 0.5);\n const thisLabel = /[^ ]*$/.exec(d3.select(this).attr('class'))[0];\n chart\n .selectAll(`.${thisLabel}`)\n .style('opacity', 1);\n }\n function handleMouseOut(d) {\n polygonsHover\n .style('opacity', 1);\n labelHover\n .style('opacity', 1);\n }\n }\n\n }\n update() {\n this.destroy();\n this.render();\n }\n destroy() {\n const { container } = this.config;\n const chartContainer = d3.select(container + ' .c3-chart > *');\n chartContainer.remove();\n }\n}\n","import * as d3 from 'd3';\nimport { textWrap } from '../../utils/svg-text-wrap';\nimport { prettyNumber } from '../../utils/pretty-number';\n\nexport default class Funnel3d {\n render() {\n const { matrix } = this.dataset;\n const {\n colors,\n container,\n labelMapping,\n colorMapping\n } = this.config;\n const opts = this.config;\n const {\n percents: {\n show,\n countingMethod,\n decimals,\n },\n lines,\n resultValues,\n effect3d,\n hover,\n } = this.config.funnel;\n const margin = { top: 10, right: 30, bottom: 60, left: 200 };\n const funnelContainer = d3.select(container);\n const chartContainer = d3.select(container + ' .c3-chart');\n const chart = chartContainer.append('svg');\n const svgWidth = funnelContainer.style('width').slice(0, -2)\n - margin.right - margin.left;\n const svgHeight = funnelContainer.style('height').slice(0, -2)\n - margin.top - margin.bottom - 30;\n const elemHeight = svgHeight/(matrix.length - 1);\n const yMarginElement = elemHeight * 0.3;\n const shadowCut = (yMarginElement * 2.5);\n let prevElemWidth = svgWidth;\n let percent = (100).toFixed(decimals);\n\n // prepare normal funnel polygons\n const polygons = matrix.slice(1).map((d, i) => {\n const newPoints = [\n {\n x: ((svgWidth - prevElemWidth)/2),\n y: elemHeight * i + yMarginElement\n },\n {\n x: ((svgWidth - prevElemWidth)/2 + prevElemWidth),\n y: elemHeight * i + yMarginElement\n },\n ]\n if(i !== 0){\n if(countingMethod === 'relative'){\n prevElemWidth = prevElemWidth * d[1]/matrix[i][1];\n percent = ((d[1]/matrix[i][1])*100).toFixed(decimals);\n }\n if(countingMethod === 'absolute'){\n prevElemWidth = svgWidth * d[1]/matrix[1][1];\n percent = ((d[1]/matrix[1][1])*100).toFixed(decimals);\n }\n }\n let label = d[0];\n if(Object.keys(labelMapping).length){\n for (let key in labelMapping) {\n if(labelMapping[key] === d[0]) {\n label = key;\n }\n }\n }\n let result = d[1];\n if ( (typeof opts['prettyNumber'] === 'undefined' || opts['prettyNumber'] === true)\n && !isNaN(parseInt(d[1])) ) {\n result = prettyNumber(d[1]);\n }\n return {\n name: d[0],\n label,\n percent: percent + '%',\n result,\n points: [\n ...newPoints,\n {\n x: ((svgWidth - prevElemWidth)/2 + prevElemWidth),\n y: elemHeight * (i + 1)\n },\n {\n x: ((svgWidth - prevElemWidth)/2),\n y: elemHeight * (i + 1)\n }\n ]\n }\n });\n\n //funnel shadows preparing\n const polygonsShadows = polygons.map((d, i) => {\n return {\n label: d.label,\n points: [\n {\n x: d.points[3].x,\n y: d.points[3].y\n },\n {\n x: d.points[2].x,\n y: d.points[2].y\n },\n {\n x: effect3d === 'left'\n ? d.points[2].x\n : d.points[2].x - shadowCut < svgWidth/2\n ? svgWidth/2 + 5\n : d.points[2].x - shadowCut,\n y: effect3d === 'left'\n ? d.points[2].y\n : d.points[2].y + (yMarginElement/1.5)\n },\n {\n x: effect3d === 'right'\n ? d.points[3].x\n : d.points[3].x + shadowCut > svgWidth/2\n ? svgWidth/2 - 5\n : d.points[3].x + shadowCut,\n y: effect3d === 'right'\n ? d.points[3].y\n : d.points[3].y + (yMarginElement/1.5)\n },\n ]\n }\n })\n\n //connecting funnels with shadows for rendering\n const polygons3d = polygons.concat(polygonsShadows);\n\n //chart rendering with polygons\n chart\n .attr('height', svgHeight + margin.top + margin.bottom - 30)\n .attr('width', svgWidth + margin.left + margin.right)\n .append('g')\n .attr('transform', 'translate(' + margin.left + ',' + margin.top + ')')\n .selectAll('polygon')\n .data(polygons3d)\n .enter()\n .append('polygon')\n .attr('points', (d) => {\n return d.points.map((p) => {\n return [p.x,p.y].join(',');\n })\n .join(' ');\n })\n .style('fill', (d, i) => {\n if(i > (polygons.length - 1)){\n if(colorMapping[d.label]){\n return d3.rgb(colorMapping[d.label]).darker(1.5);\n }\n return d3.rgb(colors[i - (polygons.length)]).darker(1.5);\n }\n if(colorMapping[d.label]){\n return colorMapping[d.label];\n }\n return colors[i];\n })\n .attr('class', (d) => { return d.label; })\n .attr('cursor', 'pointer');\n\n if(lines){\n //rendering lines\n chart\n .selectAll('line')\n .data(polygons)\n .enter()\n .append('line')\n .attr('x1', 10)\n .attr('y1', (d) => {\n return d.points[0].y + margin.top - (yMarginElement/5);\n })\n .attr('x2', (d, i) => {\n if(i === 0){\n return d.points[1].x + margin.left;\n }\n return d.points[1].x + margin.left - shadowCut;\n })\n .attr('y2', (d) => {\n return d.points[0].y + margin.top - (yMarginElement/5);\n })\n .attr('class', 'chart-lines');\n\n //rendering last line\n chart\n .append('line')\n .attr('x1', 10)\n .attr('y1', polygons[polygons.length-1].points[2].y + margin.top\n + yMarginElement - (yMarginElement/5))\n .attr('x2', polygons[polygons.length-1].points[2].x\n + margin.left - shadowCut )\n .attr('y2', polygons[polygons.length-1].points[2].y + margin.top\n + yMarginElement - (yMarginElement/5))\n .attr('class', 'chart-lines');\n }\n\n //rendering labels when lines are visible\n if(lines){\n chart\n .selectAll('text.label')\n .data(polygons)\n .enter()\n .append('text')\n .style('text-anchor', 'start')\n .attr('x', 20)\n .attr('y', (d) => {\n return ((d.points[2].y - d.points[1].y)/2) + d.points[1].y\n + margin.top + 5 + (yMarginElement/4)\n })\n .attr('class', (d) => { return 'text-label ' + d.label; })\n .text((d) => { return d.name; })\n .call(textWrap, margin.left)\n .attr('cursor', 'pointer');\n }\n\n //rendering labels when lines are not visible\n if(!lines){\n chart\n .selectAll('text.label')\n .data(polygons)\n .enter()\n .append('text')\n .style('text-anchor', 'end')\n .attr('x', (d) => {\n return d.points[0].x + ((d.points[3].x - d.points[0].x)/2) + 130;\n })\n .attr('y', (d) => {\n return ((d.points[2].y - d.points[1].y)/2) + d.points[1].y\n + margin.top + 5;\n })\n .attr('class', (d) => { return 'text-label ' + d.label; })\n .text((d) => { return d.name; })\n .call(textWrap, margin.left)\n .attr('cursor', 'pointer');\n }\n\n //rendering percents for each step\n if(show && !resultValues){\n chart\n .selectAll('text.label')\n .data(polygons)\n .enter()\n .append('text')\n .style('text-anchor', 'middle')\n .attr('x', svgWidth/2 + margin.left)\n .attr('y', (d) => {\n return ((d.points[2].y - d.points[1].y)/2) + d.points[1].y\n + margin.top + 8\n })\n .attr('class', (d) => { return 'text-main ' + d.label; })\n .text((d) => { return d.percent; })\n .attr('cursor', 'pointer');\n }\n\n //rendering results for each step\n if(resultValues && !show){\n chart\n .selectAll('text.label')\n .data(polygons)\n .enter()\n .append('text')\n .style('text-anchor', 'middle')\n .attr('x', svgWidth/2 + margin.left)\n .attr('y', (d) => {\n return ((d.points[2].y - d.points[1].y)/2) + d.points[1].y\n + margin.top + 8\n })\n .attr('class', (d) => { return 'text-main ' + d.label; })\n .text((d) => { return d.result; })\n .attr('cursor', 'pointer');\n }\n\n //rendering results and percenage together\n if(show && resultValues){\n //rendering percents\n chart\n .selectAll('text.label')\n .data(polygons)\n .enter()\n .append('text')\n .style('text-anchor', 'middle')\n .attr('x', svgWidth/2 + margin.left)\n .attr('y', (d) => {\n return ((d.points[2].y - d.points[1].y)/2) + d.points[1].y\n + margin.top + 18\n })\n .attr('class', (d) => { return 'text-second ' + d.label; })\n .text((d) => { return d.percent; })\n .attr('cursor', 'pointer');\n\n //rendering results\n chart\n .selectAll('text.label')\n .data(polygons)\n .enter()\n .append('text')\n .style('text-anchor', 'middle')\n .attr('x', svgWidth/2 + margin.left)\n .attr('y', (d) => {\n return ((d.points[2].y - d.points[1].y)/2) + d.points[1].y\n + margin.top + 3\n })\n .attr('class', (d) => { return 'text-main ' + d.label; })\n .text((d) => { return d.result; })\n .attr('cursor', 'pointer');\n }\n //hover handling\n if(hover){\n const polygonsHover = chart.selectAll('polygon');\n polygonsHover\n .on(\"mouseover\", handleMouseOver)\n .on(\"mouseout\", handleMouseOut);\n\n const labelHover = chart.selectAll('text');\n labelHover\n .on(\"mouseover\", handleMouseOver)\n .on(\"mouseout\", handleMouseOut);\n\n function handleMouseOver(d) {\n polygonsHover\n .style('opacity', 0.5);\n labelHover\n .style('opacity', 0.5);\n const thisLabel = /[^ ]*$/.exec(d3.select(this).attr('class'))[0];\n chart\n .selectAll(`.${thisLabel}`)\n .style('opacity', 1);\n }\n function handleMouseOut(d) {\n polygonsHover\n .style('opacity', 1);\n labelHover\n .style('opacity', 1);\n }\n }\n }\n update() {\n this.destroy();\n this.render();\n }\n destroy() {\n const { container } = this.config;\n const chartContainer = d3.select(container + ' .c3-chart > *');\n chartContainer.remove();\n }\n}\n","import * as d3 from 'd3';\nimport { textWrap } from '../../utils/svg-text-wrap';\nimport { prettyNumber } from '../../utils/pretty-number';\n\nexport default class Funnel {\n render() {\n const { matrix } = this.dataset;\n const {\n colors,\n container,\n labelMapping,\n colorMapping,\n } = this.config;\n const opts = this.config;\n const {\n percents: {\n show,\n countingMethod,\n decimals,\n },\n lines,\n marginBetweenSteps,\n resultValues,\n hover,\n } = this.config.funnel;\n const margin = { top: 10, right: 30, bottom: 30, left: 200 };\n let yMarginElement = 0;\n if(marginBetweenSteps){\n yMarginElement = 5;\n }\n const funnelContainer = d3.select(container);\n const chartContainer = d3.select(container + ' .c3-chart');\n const chart = chartContainer.append('svg');\n const svgWidth = funnelContainer.style('width').slice(0, -2)\n - margin.right - margin.left;\n const svgHeight = funnelContainer.style('height').slice(0, -2)\n - margin.top - margin.bottom - 30;\n const elemHeight = svgHeight/(matrix.length - 1);\n let prevElemWidth = svgWidth;\n let percent = (100).toFixed(decimals);\n\n // prepare normal funnel polygons\n const polygons = matrix.slice(1).map((d, i) => {\n const newPoints = [\n {\n x: ((svgWidth - prevElemWidth)/2),\n y: elemHeight * i + yMarginElement\n },\n {\n x: ((svgWidth - prevElemWidth)/2 + prevElemWidth),\n y: elemHeight * i + yMarginElement\n },\n ]\n if(i !== 0){\n if(countingMethod === 'relative'){\n prevElemWidth = prevElemWidth * d[1]/matrix[i][1];\n percent = ((d[1]/matrix[i][1])*100).toFixed(decimals);\n }\n if(countingMethod === 'absolute'){\n prevElemWidth = svgWidth * d[1]/matrix[1][1];\n percent = ((d[1]/matrix[1][1])*100).toFixed(decimals);\n }\n }\n let label = d[0];\n if(Object.keys(labelMapping).length){\n for (let key in labelMapping) {\n if(labelMapping[key] === d[0]) {\n label = key;\n }\n }\n }\n let result = d[1];\n if ( (typeof opts['prettyNumber'] === 'undefined' || opts['prettyNumber'] === true)\n && !isNaN(parseInt(d[1])) ) {\n result = prettyNumber(d[1]);\n }\n return {\n name: d[0],\n label,\n percent: percent + '%',\n result,\n points: [\n ...newPoints,\n {\n x: ((svgWidth - prevElemWidth)/2 + prevElemWidth),\n y: elemHeight * (i + 1)\n },\n {\n x: ((svgWidth - prevElemWidth)/2),\n y: elemHeight * (i + 1)\n }\n ]\n }\n });\n\n //chart rendering with polygons\n chart\n .attr('height', svgHeight + margin.top + margin.bottom - 30)\n .attr('width', svgWidth + margin.left + margin.right)\n .append('g')\n .attr('transform', 'translate(' + margin.left + ',' + margin.top + ')')\n .selectAll('polygon')\n .data(polygons)\n .enter()\n .append('polygon')\n .attr('points', (d) => {\n return d.points.map((p) => {\n return [p.x,p.y].join(',');\n })\n .join(' ');\n })\n .style('fill', (d, i) => {\n if(colorMapping[d.label]){\n return colorMapping[d.label];\n }\n return colors[i];\n })\n .attr('class', (d) => { return d.label; })\n .attr('cursor', 'pointer');\n\n if(lines){\n //rendering lines\n chart\n .selectAll('line')\n .data(polygons)\n .enter()\n .append('line')\n .attr('x1', 10)\n .attr('y1', (d) => {\n return d.points[0].y + margin.top - (yMarginElement/2);\n })\n .attr('x2', (d) => { return d.points[1].x + margin.left; })\n .attr('y2', (d) => {\n return d.points[0].y + margin.top - (yMarginElement/2);\n })\n .attr('class', 'chart-lines');\n\n //rendering last line\n chart\n .append('line')\n .attr('x1', 10)\n .attr('y1', polygons[polygons.length-1].points[2].y\n + margin.top + (yMarginElement/2))\n .attr('x2', polygons[polygons.length-1].points[2].x + margin.left)\n .attr('y2', polygons[polygons.length-1].points[2].y\n + margin.top + (yMarginElement/2))\n .attr('class', 'chart-lines');\n }\n\n //rendering labels when lines are visible\n if(lines){\n chart\n .selectAll('text.label')\n .data(polygons)\n .enter()\n .append('text')\n .style('text-anchor', 'start')\n .attr('x', 20)\n .attr('y', (d) => {\n return ((d.points[2].y - d.points[1].y)/2) + d.points[1].y\n + margin.top + yMarginElement + 5\n })\n .attr('class', (d) => { return 'text-label ' + d.label; })\n .text((d) => { return d.name; })\n .call(textWrap, margin.left)\n .attr('cursor', 'pointer');\n }\n\n //rendering labels when lines are not visible\n if(!lines) {\n chart\n .selectAll('text.label')\n .data(polygons)\n .enter()\n .append('text')\n .style('text-anchor', 'end')\n .attr('x', (d) => {\n return d.points[0].x + ((d.points[3].x - d.points[0].x)/2)\n + (margin.left * 0.9);\n })\n .attr('y', (d) => {\n return ((d.points[2].y - d.points[1].y)/2) + d.points[1].y\n + margin.top + yMarginElement + 5\n })\n .attr('class', (d) => { return 'text-label ' + d.label; })\n .text((d) => { return d.name; })\n .call(textWrap, margin.left)\n .attr('cursor', 'pointer');\n }\n\n //rendering percents for each step\n if(show && !resultValues){\n chart\n .selectAll('text.label')\n .data(polygons)\n .enter()\n .append('text')\n .style('text-anchor', 'middle')\n .attr('x', svgWidth/2 + margin.left)\n .attr('y', (d) => {\n return ((d.points[2].y - d.points[1].y)/2) + d.points[1].y\n + margin.top + yMarginElement + 8\n })\n .attr('class', (d) => { return 'text-main ' + d.label; })\n .text((d) => { return d.percent; })\n .attr('cursor', 'pointer');\n }\n\n //rendering results for each step\n if(resultValues && !show){\n chart\n .selectAll('text.label')\n .data(polygons)\n .enter()\n .append('text')\n .style('text-anchor', 'middle')\n .attr('x', svgWidth/2 + margin.left)\n .attr('y', (d) => {\n return ((d.points[2].y - d.points[1].y)/2) + d.points[1].y\n + margin.top + yMarginElement + 8\n })\n .attr('class', (d) => { return 'text-main ' + d.label; })\n .text((d) => { return d.result; })\n .attr('cursor', 'pointer');\n }\n\n //rendering results and percenage together\n if(show && resultValues){\n //rendering percents\n chart\n .selectAll('text.label')\n .data(polygons)\n .enter()\n .append('text')\n .style('text-anchor', 'middle')\n .attr('x', svgWidth/2 + margin.left)\n .attr('y', (d) => {\n if(yMarginElement === 0){\n return ((d.points[2].y - d.points[1].y)/2) + d.points[1].y\n + margin.top + 16\n }\n return ((d.points[2].y - d.points[1].y)/2) + d.points[1].y\n + margin.top + yMarginElement + 12\n })\n .attr('class', (d) => { return 'text-second ' + d.label; })\n .text((d) => { return d.percent; })\n .attr('cursor', 'pointer');\n\n //rendering results\n chart\n .selectAll('text.label')\n .data(polygons)\n .enter()\n .append('text')\n .style('text-anchor', 'middle')\n .attr('x', svgWidth/2 + margin.left)\n .attr('y', (d) => {\n if(yMarginElement === 0){\n return ((d.points[2].y - d.points[1].y)/2) + d.points[1].y\n + margin.top;\n }\n return ((d.points[2].y - d.points[1].y)/2) + d.points[1].y\n + margin.top + yMarginElement - 5;\n })\n .attr('class', (d) => { return 'text-main ' + d.label; })\n .text((d) => { return d.result; })\n .attr('cursor', 'pointer');\n }\n //hover handling\n if(hover){\n const polygonsHover = chart.selectAll('polygon');\n polygonsHover\n .on(\"mouseover\", handleMouseOver)\n .on(\"mouseout\", handleMouseOut);\n\n const labelHover = chart.selectAll('text');\n labelHover\n .on(\"mouseover\", handleMouseOver)\n .on(\"mouseout\", handleMouseOut);\n\n function handleMouseOver(d) {\n polygonsHover\n .style('opacity', 0.5);\n labelHover\n .style('opacity', 0.5);\n const thisLabel = /[^ ]*$/.exec(d3.select(this).attr('class'))[0];\n chart\n .selectAll(`.${thisLabel}`)\n .style('opacity', 1);\n }\n function handleMouseOut(d) {\n polygonsHover\n .style('opacity', 1);\n labelHover\n .style('opacity', 1);\n }\n }\n }\n update() {\n this.destroy();\n this.render();\n }\n destroy() {\n const { container } = this.config;\n const chartContainer = d3.select(container + ' .c3-chart > *');\n chartContainer.remove();\n }\n}\n","export default {\n render: function(){\n let html = '';\n const artifacts = this.view._artifacts.spinner = {};\n\n // Build DOM element\n html += '
';\n html += '
';\n html += '
';\n html += '
';\n html += '
';\n this.el().innerHTML = html;\n },\n update: function(){\n // no special update handling\n this.render();\n },\n destroy: function(){\n if (this.view._artifacts.spinner) {\n if (this.view._artifacts.spinner.interval) {\n clearInterval(this.view._artifacts.spinner.interval);\n }\n this.view._artifacts.spinner.radius = 0;\n try {\n delete this.view._artifacts.spinner;\n }\n catch (e) {\n this.view._artifacts.spinner = undefined;\n }\n }\n this.el().innerHTML = '';\n }\n};\n","var map = {\n\t\"./af\": 133,\n\t\"./af.js\": 133,\n\t\"./ar\": 132,\n\t\"./ar-dz\": 131,\n\t\"./ar-dz.js\": 131,\n\t\"./ar-kw\": 130,\n\t\"./ar-kw.js\": 130,\n\t\"./ar-ly\": 129,\n\t\"./ar-ly.js\": 129,\n\t\"./ar-ma\": 128,\n\t\"./ar-ma.js\": 128,\n\t\"./ar-sa\": 127,\n\t\"./ar-sa.js\": 127,\n\t\"./ar-tn\": 126,\n\t\"./ar-tn.js\": 126,\n\t\"./ar.js\": 132,\n\t\"./az\": 125,\n\t\"./az.js\": 125,\n\t\"./be\": 124,\n\t\"./be.js\": 124,\n\t\"./bg\": 123,\n\t\"./bg.js\": 123,\n\t\"./bm\": 122,\n\t\"./bm.js\": 122,\n\t\"./bn\": 121,\n\t\"./bn.js\": 121,\n\t\"./bo\": 120,\n\t\"./bo.js\": 120,\n\t\"./br\": 119,\n\t\"./br.js\": 119,\n\t\"./bs\": 118,\n\t\"./bs.js\": 118,\n\t\"./ca\": 117,\n\t\"./ca.js\": 117,\n\t\"./cs\": 116,\n\t\"./cs.js\": 116,\n\t\"./cv\": 115,\n\t\"./cv.js\": 115,\n\t\"./cy\": 114,\n\t\"./cy.js\": 114,\n\t\"./da\": 113,\n\t\"./da.js\": 113,\n\t\"./de\": 112,\n\t\"./de-at\": 111,\n\t\"./de-at.js\": 111,\n\t\"./de-ch\": 110,\n\t\"./de-ch.js\": 110,\n\t\"./de.js\": 112,\n\t\"./dv\": 109,\n\t\"./dv.js\": 109,\n\t\"./el\": 108,\n\t\"./el.js\": 108,\n\t\"./en-au\": 107,\n\t\"./en-au.js\": 107,\n\t\"./en-ca\": 106,\n\t\"./en-ca.js\": 106,\n\t\"./en-gb\": 105,\n\t\"./en-gb.js\": 105,\n\t\"./en-ie\": 104,\n\t\"./en-ie.js\": 104,\n\t\"./en-il\": 103,\n\t\"./en-il.js\": 103,\n\t\"./en-nz\": 102,\n\t\"./en-nz.js\": 102,\n\t\"./eo\": 101,\n\t\"./eo.js\": 101,\n\t\"./es\": 100,\n\t\"./es-do\": 99,\n\t\"./es-do.js\": 99,\n\t\"./es-us\": 98,\n\t\"./es-us.js\": 98,\n\t\"./es.js\": 100,\n\t\"./et\": 97,\n\t\"./et.js\": 97,\n\t\"./eu\": 96,\n\t\"./eu.js\": 96,\n\t\"./fa\": 95,\n\t\"./fa.js\": 95,\n\t\"./fi\": 94,\n\t\"./fi.js\": 94,\n\t\"./fo\": 93,\n\t\"./fo.js\": 93,\n\t\"./fr\": 92,\n\t\"./fr-ca\": 91,\n\t\"./fr-ca.js\": 91,\n\t\"./fr-ch\": 90,\n\t\"./fr-ch.js\": 90,\n\t\"./fr.js\": 92,\n\t\"./fy\": 89,\n\t\"./fy.js\": 89,\n\t\"./gd\": 88,\n\t\"./gd.js\": 88,\n\t\"./gl\": 87,\n\t\"./gl.js\": 87,\n\t\"./gom-latn\": 86,\n\t\"./gom-latn.js\": 86,\n\t\"./gu\": 85,\n\t\"./gu.js\": 85,\n\t\"./he\": 84,\n\t\"./he.js\": 84,\n\t\"./hi\": 83,\n\t\"./hi.js\": 83,\n\t\"./hr\": 82,\n\t\"./hr.js\": 82,\n\t\"./hu\": 81,\n\t\"./hu.js\": 81,\n\t\"./hy-am\": 80,\n\t\"./hy-am.js\": 80,\n\t\"./id\": 79,\n\t\"./id.js\": 79,\n\t\"./is\": 78,\n\t\"./is.js\": 78,\n\t\"./it\": 77,\n\t\"./it.js\": 77,\n\t\"./ja\": 76,\n\t\"./ja.js\": 76,\n\t\"./jv\": 75,\n\t\"./jv.js\": 75,\n\t\"./ka\": 74,\n\t\"./ka.js\": 74,\n\t\"./kk\": 73,\n\t\"./kk.js\": 73,\n\t\"./km\": 72,\n\t\"./km.js\": 72,\n\t\"./kn\": 71,\n\t\"./kn.js\": 71,\n\t\"./ko\": 70,\n\t\"./ko.js\": 70,\n\t\"./ky\": 69,\n\t\"./ky.js\": 69,\n\t\"./lb\": 68,\n\t\"./lb.js\": 68,\n\t\"./lo\": 67,\n\t\"./lo.js\": 67,\n\t\"./lt\": 66,\n\t\"./lt.js\": 66,\n\t\"./lv\": 65,\n\t\"./lv.js\": 65,\n\t\"./me\": 64,\n\t\"./me.js\": 64,\n\t\"./mi\": 63,\n\t\"./mi.js\": 63,\n\t\"./mk\": 62,\n\t\"./mk.js\": 62,\n\t\"./ml\": 61,\n\t\"./ml.js\": 61,\n\t\"./mn\": 60,\n\t\"./mn.js\": 60,\n\t\"./mr\": 59,\n\t\"./mr.js\": 59,\n\t\"./ms\": 58,\n\t\"./ms-my\": 57,\n\t\"./ms-my.js\": 57,\n\t\"./ms.js\": 58,\n\t\"./mt\": 56,\n\t\"./mt.js\": 56,\n\t\"./my\": 55,\n\t\"./my.js\": 55,\n\t\"./nb\": 54,\n\t\"./nb.js\": 54,\n\t\"./ne\": 53,\n\t\"./ne.js\": 53,\n\t\"./nl\": 52,\n\t\"./nl-be\": 51,\n\t\"./nl-be.js\": 51,\n\t\"./nl.js\": 52,\n\t\"./nn\": 50,\n\t\"./nn.js\": 50,\n\t\"./pa-in\": 49,\n\t\"./pa-in.js\": 49,\n\t\"./pl\": 48,\n\t\"./pl.js\": 48,\n\t\"./pt\": 47,\n\t\"./pt-br\": 46,\n\t\"./pt-br.js\": 46,\n\t\"./pt.js\": 47,\n\t\"./ro\": 45,\n\t\"./ro.js\": 45,\n\t\"./ru\": 44,\n\t\"./ru.js\": 44,\n\t\"./sd\": 43,\n\t\"./sd.js\": 43,\n\t\"./se\": 42,\n\t\"./se.js\": 42,\n\t\"./si\": 41,\n\t\"./si.js\": 41,\n\t\"./sk\": 40,\n\t\"./sk.js\": 40,\n\t\"./sl\": 39,\n\t\"./sl.js\": 39,\n\t\"./sq\": 38,\n\t\"./sq.js\": 38,\n\t\"./sr\": 37,\n\t\"./sr-cyrl\": 36,\n\t\"./sr-cyrl.js\": 36,\n\t\"./sr.js\": 37,\n\t\"./ss\": 35,\n\t\"./ss.js\": 35,\n\t\"./sv\": 34,\n\t\"./sv.js\": 34,\n\t\"./sw\": 33,\n\t\"./sw.js\": 33,\n\t\"./ta\": 32,\n\t\"./ta.js\": 32,\n\t\"./te\": 31,\n\t\"./te.js\": 31,\n\t\"./tet\": 30,\n\t\"./tet.js\": 30,\n\t\"./tg\": 29,\n\t\"./tg.js\": 29,\n\t\"./th\": 28,\n\t\"./th.js\": 28,\n\t\"./tl-ph\": 27,\n\t\"./tl-ph.js\": 27,\n\t\"./tlh\": 26,\n\t\"./tlh.js\": 26,\n\t\"./tr\": 25,\n\t\"./tr.js\": 25,\n\t\"./tzl\": 24,\n\t\"./tzl.js\": 24,\n\t\"./tzm\": 23,\n\t\"./tzm-latn\": 22,\n\t\"./tzm-latn.js\": 22,\n\t\"./tzm.js\": 23,\n\t\"./ug-cn\": 21,\n\t\"./ug-cn.js\": 21,\n\t\"./uk\": 20,\n\t\"./uk.js\": 20,\n\t\"./ur\": 19,\n\t\"./ur.js\": 19,\n\t\"./uz\": 18,\n\t\"./uz-latn\": 17,\n\t\"./uz-latn.js\": 17,\n\t\"./uz.js\": 18,\n\t\"./vi\": 16,\n\t\"./vi.js\": 16,\n\t\"./x-pseudo\": 15,\n\t\"./x-pseudo.js\": 15,\n\t\"./yo\": 14,\n\t\"./yo.js\": 14,\n\t\"./zh-cn\": 13,\n\t\"./zh-cn.js\": 13,\n\t\"./zh-hk\": 12,\n\t\"./zh-hk.js\": 12,\n\t\"./zh-tw\": 11,\n\t\"./zh-tw.js\": 11\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\tvar module = __webpack_require__(id);\n\treturn module;\n}\nfunction webpackContextResolve(req) {\n\tvar id = map[req];\n\tif(!(id + 1)) { // check for number or string\n\t\tvar e = new Error('Cannot find module \"' + req + '\".');\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn id;\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 144;","module.exports = function(module) {\r\n\tif (!module.webpackPolyfill) {\r\n\t\tmodule.deprecate = function() {};\r\n\t\tmodule.paths = [];\r\n\t\t// module.parent = undefined by default\r\n\t\tif (!module.children) module.children = [];\r\n\t\tObject.defineProperty(module, \"loaded\", {\r\n\t\t\tenumerable: true,\r\n\t\t\tget: function() {\r\n\t\t\t\treturn module.l;\r\n\t\t\t}\r\n\t\t});\r\n\t\tObject.defineProperty(module, \"id\", {\r\n\t\t\tenumerable: true,\r\n\t\t\tget: function() {\r\n\t\t\t\treturn module.i;\r\n\t\t\t}\r\n\t\t});\r\n\t\tmodule.webpackPolyfill = 1;\r\n\t}\r\n\treturn module;\r\n};\r\n","//! moment-timezone.js\n//! version : 0.5.21\n//! Copyright (c) JS Foundation and other contributors\n//! license : MIT\n//! github.com/moment/moment-timezone\n\n(function (root, factory) {\n\t\"use strict\";\n\n\t/*global define*/\n\tif (typeof module === 'object' && module.exports) {\n\t\tmodule.exports = factory(require('moment')); // Node\n\t} else if (typeof define === 'function' && define.amd) {\n\t\tdefine(['moment'], factory); // AMD\n\t} else {\n\t\tfactory(root.moment); // Browser\n\t}\n}(this, function (moment) {\n\t\"use strict\";\n\n\t// Do not load moment-timezone a second time.\n\t// if (moment.tz !== undefined) {\n\t// \tlogError('Moment Timezone ' + moment.tz.version + ' was already loaded ' + (moment.tz.dataVersion ? 'with data from ' : 'without any data') + moment.tz.dataVersion);\n\t// \treturn moment;\n\t// }\n\n\tvar VERSION = \"0.5.21\",\n\t\tzones = {},\n\t\tlinks = {},\n\t\tnames = {},\n\t\tguesses = {},\n\t\tcachedGuess;\n\n\tif (!moment || typeof moment.version !== 'string') {\n\t\tlogError('Moment Timezone requires Moment.js. See https://momentjs.com/timezone/docs/#/use-it/browser/');\n\t}\n\n\tvar momentVersion = moment.version.split('.'),\n\t\tmajor = +momentVersion[0],\n\t\tminor = +momentVersion[1];\n\n\t// Moment.js version check\n\tif (major < 2 || (major === 2 && minor < 6)) {\n\t\tlogError('Moment Timezone requires Moment.js >= 2.6.0. You are using Moment.js ' + moment.version + '. See momentjs.com');\n\t}\n\n\t/************************************\n\t\tUnpacking\n\t************************************/\n\n\tfunction charCodeToInt(charCode) {\n\t\tif (charCode > 96) {\n\t\t\treturn charCode - 87;\n\t\t} else if (charCode > 64) {\n\t\t\treturn charCode - 29;\n\t\t}\n\t\treturn charCode - 48;\n\t}\n\n\tfunction unpackBase60(string) {\n\t\tvar i = 0,\n\t\t\tparts = string.split('.'),\n\t\t\twhole = parts[0],\n\t\t\tfractional = parts[1] || '',\n\t\t\tmultiplier = 1,\n\t\t\tnum,\n\t\t\tout = 0,\n\t\t\tsign = 1;\n\n\t\t// handle negative numbers\n\t\tif (string.charCodeAt(0) === 45) {\n\t\t\ti = 1;\n\t\t\tsign = -1;\n\t\t}\n\n\t\t// handle digits before the decimal\n\t\tfor (i; i < whole.length; i++) {\n\t\t\tnum = charCodeToInt(whole.charCodeAt(i));\n\t\t\tout = 60 * out + num;\n\t\t}\n\n\t\t// handle digits after the decimal\n\t\tfor (i = 0; i < fractional.length; i++) {\n\t\t\tmultiplier = multiplier / 60;\n\t\t\tnum = charCodeToInt(fractional.charCodeAt(i));\n\t\t\tout += num * multiplier;\n\t\t}\n\n\t\treturn out * sign;\n\t}\n\n\tfunction arrayToInt (array) {\n\t\tfor (var i = 0; i < array.length; i++) {\n\t\t\tarray[i] = unpackBase60(array[i]);\n\t\t}\n\t}\n\n\tfunction intToUntil (array, length) {\n\t\tfor (var i = 0; i < length; i++) {\n\t\t\tarray[i] = Math.round((array[i - 1] || 0) + (array[i] * 60000)); // minutes to milliseconds\n\t\t}\n\n\t\tarray[length - 1] = Infinity;\n\t}\n\n\tfunction mapIndices (source, indices) {\n\t\tvar out = [], i;\n\n\t\tfor (i = 0; i < indices.length; i++) {\n\t\t\tout[i] = source[indices[i]];\n\t\t}\n\n\t\treturn out;\n\t}\n\n\tfunction unpack (string) {\n\t\tvar data = string.split('|'),\n\t\t\toffsets = data[2].split(' '),\n\t\t\tindices = data[3].split(''),\n\t\t\tuntils = data[4].split(' ');\n\n\t\tarrayToInt(offsets);\n\t\tarrayToInt(indices);\n\t\tarrayToInt(untils);\n\n\t\tintToUntil(untils, indices.length);\n\n\t\treturn {\n\t\t\tname : data[0],\n\t\t\tabbrs : mapIndices(data[1].split(' '), indices),\n\t\t\toffsets : mapIndices(offsets, indices),\n\t\t\tuntils : untils,\n\t\t\tpopulation : data[5] | 0\n\t\t};\n\t}\n\n\t/************************************\n\t\tZone object\n\t************************************/\n\n\tfunction Zone (packedString) {\n\t\tif (packedString) {\n\t\t\tthis._set(unpack(packedString));\n\t\t}\n\t}\n\n\tZone.prototype = {\n\t\t_set : function (unpacked) {\n\t\t\tthis.name = unpacked.name;\n\t\t\tthis.abbrs = unpacked.abbrs;\n\t\t\tthis.untils = unpacked.untils;\n\t\t\tthis.offsets = unpacked.offsets;\n\t\t\tthis.population = unpacked.population;\n\t\t},\n\n\t\t_index : function (timestamp) {\n\t\t\tvar target = +timestamp,\n\t\t\t\tuntils = this.untils,\n\t\t\t\ti;\n\n\t\t\tfor (i = 0; i < untils.length; i++) {\n\t\t\t\tif (target < untils[i]) {\n\t\t\t\t\treturn i;\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\tparse : function (timestamp) {\n\t\t\tvar target = +timestamp,\n\t\t\t\toffsets = this.offsets,\n\t\t\t\tuntils = this.untils,\n\t\t\t\tmax = untils.length - 1,\n\t\t\t\toffset, offsetNext, offsetPrev, i;\n\n\t\t\tfor (i = 0; i < max; i++) {\n\t\t\t\toffset = offsets[i];\n\t\t\t\toffsetNext = offsets[i + 1];\n\t\t\t\toffsetPrev = offsets[i ? i - 1 : i];\n\n\t\t\t\tif (offset < offsetNext && tz.moveAmbiguousForward) {\n\t\t\t\t\toffset = offsetNext;\n\t\t\t\t} else if (offset > offsetPrev && tz.moveInvalidForward) {\n\t\t\t\t\toffset = offsetPrev;\n\t\t\t\t}\n\n\t\t\t\tif (target < untils[i] - (offset * 60000)) {\n\t\t\t\t\treturn offsets[i];\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn offsets[max];\n\t\t},\n\n\t\tabbr : function (mom) {\n\t\t\treturn this.abbrs[this._index(mom)];\n\t\t},\n\n\t\toffset : function (mom) {\n\t\t\tlogError(\"zone.offset has been deprecated in favor of zone.utcOffset\");\n\t\t\treturn this.offsets[this._index(mom)];\n\t\t},\n\n\t\tutcOffset : function (mom) {\n\t\t\treturn this.offsets[this._index(mom)];\n\t\t}\n\t};\n\n\t/************************************\n\t\tCurrent Timezone\n\t************************************/\n\n\tfunction OffsetAt(at) {\n\t\tvar timeString = at.toTimeString();\n\t\tvar abbr = timeString.match(/\\([a-z ]+\\)/i);\n\t\tif (abbr && abbr[0]) {\n\t\t\t// 17:56:31 GMT-0600 (CST)\n\t\t\t// 17:56:31 GMT-0600 (Central Standard Time)\n\t\t\tabbr = abbr[0].match(/[A-Z]/g);\n\t\t\tabbr = abbr ? abbr.join('') : undefined;\n\t\t} else {\n\t\t\t// 17:56:31 CST\n\t\t\t// 17:56:31 GMT+0800 (台北標準時間)\n\t\t\tabbr = timeString.match(/[A-Z]{3,5}/g);\n\t\t\tabbr = abbr ? abbr[0] : undefined;\n\t\t}\n\n\t\tif (abbr === 'GMT') {\n\t\t\tabbr = undefined;\n\t\t}\n\n\t\tthis.at = +at;\n\t\tthis.abbr = abbr;\n\t\tthis.offset = at.getTimezoneOffset();\n\t}\n\n\tfunction ZoneScore(zone) {\n\t\tthis.zone = zone;\n\t\tthis.offsetScore = 0;\n\t\tthis.abbrScore = 0;\n\t}\n\n\tZoneScore.prototype.scoreOffsetAt = function (offsetAt) {\n\t\tthis.offsetScore += Math.abs(this.zone.utcOffset(offsetAt.at) - offsetAt.offset);\n\t\tif (this.zone.abbr(offsetAt.at).replace(/[^A-Z]/g, '') !== offsetAt.abbr) {\n\t\t\tthis.abbrScore++;\n\t\t}\n\t};\n\n\tfunction findChange(low, high) {\n\t\tvar mid, diff;\n\n\t\twhile ((diff = ((high.at - low.at) / 12e4 | 0) * 6e4)) {\n\t\t\tmid = new OffsetAt(new Date(low.at + diff));\n\t\t\tif (mid.offset === low.offset) {\n\t\t\t\tlow = mid;\n\t\t\t} else {\n\t\t\t\thigh = mid;\n\t\t\t}\n\t\t}\n\n\t\treturn low;\n\t}\n\n\tfunction userOffsets() {\n\t\tvar startYear = new Date().getFullYear() - 2,\n\t\t\tlast = new OffsetAt(new Date(startYear, 0, 1)),\n\t\t\toffsets = [last],\n\t\t\tchange, next, i;\n\n\t\tfor (i = 1; i < 48; i++) {\n\t\t\tnext = new OffsetAt(new Date(startYear, i, 1));\n\t\t\tif (next.offset !== last.offset) {\n\t\t\t\tchange = findChange(last, next);\n\t\t\t\toffsets.push(change);\n\t\t\t\toffsets.push(new OffsetAt(new Date(change.at + 6e4)));\n\t\t\t}\n\t\t\tlast = next;\n\t\t}\n\n\t\tfor (i = 0; i < 4; i++) {\n\t\t\toffsets.push(new OffsetAt(new Date(startYear + i, 0, 1)));\n\t\t\toffsets.push(new OffsetAt(new Date(startYear + i, 6, 1)));\n\t\t}\n\n\t\treturn offsets;\n\t}\n\n\tfunction sortZoneScores (a, b) {\n\t\tif (a.offsetScore !== b.offsetScore) {\n\t\t\treturn a.offsetScore - b.offsetScore;\n\t\t}\n\t\tif (a.abbrScore !== b.abbrScore) {\n\t\t\treturn a.abbrScore - b.abbrScore;\n\t\t}\n\t\treturn b.zone.population - a.zone.population;\n\t}\n\n\tfunction addToGuesses (name, offsets) {\n\t\tvar i, offset;\n\t\tarrayToInt(offsets);\n\t\tfor (i = 0; i < offsets.length; i++) {\n\t\t\toffset = offsets[i];\n\t\t\tguesses[offset] = guesses[offset] || {};\n\t\t\tguesses[offset][name] = true;\n\t\t}\n\t}\n\n\tfunction guessesForUserOffsets (offsets) {\n\t\tvar offsetsLength = offsets.length,\n\t\t\tfilteredGuesses = {},\n\t\t\tout = [],\n\t\t\ti, j, guessesOffset;\n\n\t\tfor (i = 0; i < offsetsLength; i++) {\n\t\t\tguessesOffset = guesses[offsets[i].offset] || {};\n\t\t\tfor (j in guessesOffset) {\n\t\t\t\tif (guessesOffset.hasOwnProperty(j)) {\n\t\t\t\t\tfilteredGuesses[j] = true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tfor (i in filteredGuesses) {\n\t\t\tif (filteredGuesses.hasOwnProperty(i)) {\n\t\t\t\tout.push(names[i]);\n\t\t\t}\n\t\t}\n\n\t\treturn out;\n\t}\n\n\tfunction rebuildGuess () {\n\n\t\t// use Intl API when available and returning valid time zone\n\t\ttry {\n\t\t\tvar intlName = Intl.DateTimeFormat().resolvedOptions().timeZone;\n\t\t\tif (intlName && intlName.length > 3) {\n\t\t\t\tvar name = names[normalizeName(intlName)];\n\t\t\t\tif (name) {\n\t\t\t\t\treturn name;\n\t\t\t\t}\n\t\t\t\tlogError(\"Moment Timezone found \" + intlName + \" from the Intl api, but did not have that data loaded.\");\n\t\t\t}\n\t\t} catch (e) {\n\t\t\t// Intl unavailable, fall back to manual guessing.\n\t\t}\n\n\t\tvar offsets = userOffsets(),\n\t\t\toffsetsLength = offsets.length,\n\t\t\tguesses = guessesForUserOffsets(offsets),\n\t\t\tzoneScores = [],\n\t\t\tzoneScore, i, j;\n\n\t\tfor (i = 0; i < guesses.length; i++) {\n\t\t\tzoneScore = new ZoneScore(getZone(guesses[i]), offsetsLength);\n\t\t\tfor (j = 0; j < offsetsLength; j++) {\n\t\t\t\tzoneScore.scoreOffsetAt(offsets[j]);\n\t\t\t}\n\t\t\tzoneScores.push(zoneScore);\n\t\t}\n\n\t\tzoneScores.sort(sortZoneScores);\n\n\t\treturn zoneScores.length > 0 ? zoneScores[0].zone.name : undefined;\n\t}\n\n\tfunction guess (ignoreCache) {\n\t\tif (!cachedGuess || ignoreCache) {\n\t\t\tcachedGuess = rebuildGuess();\n\t\t}\n\t\treturn cachedGuess;\n\t}\n\n\t/************************************\n\t\tGlobal Methods\n\t************************************/\n\n\tfunction normalizeName (name) {\n\t\treturn (name || '').toLowerCase().replace(/\\//g, '_');\n\t}\n\n\tfunction addZone (packed) {\n\t\tvar i, name, split, normalized;\n\n\t\tif (typeof packed === \"string\") {\n\t\t\tpacked = [packed];\n\t\t}\n\n\t\tfor (i = 0; i < packed.length; i++) {\n\t\t\tsplit = packed[i].split('|');\n\t\t\tname = split[0];\n\t\t\tnormalized = normalizeName(name);\n\t\t\tzones[normalized] = packed[i];\n\t\t\tnames[normalized] = name;\n\t\t\taddToGuesses(normalized, split[2].split(' '));\n\t\t}\n\t}\n\n\tfunction getZone (name, caller) {\n\t\t\n\t\tname = normalizeName(name);\n\n\t\tvar zone = zones[name];\n\t\tvar link;\n\n\t\tif (zone instanceof Zone) {\n\t\t\treturn zone;\n\t\t}\n\n\t\tif (typeof zone === 'string') {\n\t\t\tzone = new Zone(zone);\n\t\t\tzones[name] = zone;\n\t\t\treturn zone;\n\t\t}\n\n\t\t// Pass getZone to prevent recursion more than 1 level deep\n\t\tif (links[name] && caller !== getZone && (link = getZone(links[name], getZone))) {\n\t\t\tzone = zones[name] = new Zone();\n\t\t\tzone._set(link);\n\t\t\tzone.name = names[name];\n\t\t\treturn zone;\n\t\t}\n\n\t\treturn null;\n\t}\n\n\tfunction getNames () {\n\t\tvar i, out = [];\n\n\t\tfor (i in names) {\n\t\t\tif (names.hasOwnProperty(i) && (zones[i] || zones[links[i]]) && names[i]) {\n\t\t\t\tout.push(names[i]);\n\t\t\t}\n\t\t}\n\n\t\treturn out.sort();\n\t}\n\n\tfunction addLink (aliases) {\n\t\tvar i, alias, normal0, normal1;\n\n\t\tif (typeof aliases === \"string\") {\n\t\t\taliases = [aliases];\n\t\t}\n\n\t\tfor (i = 0; i < aliases.length; i++) {\n\t\t\talias = aliases[i].split('|');\n\n\t\t\tnormal0 = normalizeName(alias[0]);\n\t\t\tnormal1 = normalizeName(alias[1]);\n\n\t\t\tlinks[normal0] = normal1;\n\t\t\tnames[normal0] = alias[0];\n\n\t\t\tlinks[normal1] = normal0;\n\t\t\tnames[normal1] = alias[1];\n\t\t}\n\t}\n\n\tfunction loadData (data) {\n\t\taddZone(data.zones);\n\t\taddLink(data.links);\n\t\ttz.dataVersion = data.version;\n\t}\n\n\tfunction zoneExists (name) {\n\t\tif (!zoneExists.didShowError) {\n\t\t\tzoneExists.didShowError = true;\n\t\t\t\tlogError(\"moment.tz.zoneExists('\" + name + \"') has been deprecated in favor of !moment.tz.zone('\" + name + \"')\");\n\t\t}\n\t\treturn !!getZone(name);\n\t}\n\n\tfunction needsOffset (m) {\n\t\tvar isUnixTimestamp = (m._f === 'X' || m._f === 'x');\n\t\treturn !!(m._a && (m._tzm === undefined) && !isUnixTimestamp);\n\t}\n\n\tfunction logError (message) {\n\t\tif (typeof console !== 'undefined' && typeof console.error === 'function') {\n\t\t\tconsole.error(message);\n\t\t}\n\t}\n\n\t/************************************\n\t\tmoment.tz namespace\n\t************************************/\n\n\tfunction tz (input) {\n\t\tvar args = Array.prototype.slice.call(arguments, 0, -1),\n\t\t\tname = arguments[arguments.length - 1],\n\t\t\tzone = getZone(name),\n\t\t\tout = moment.utc.apply(null, args);\n\n\t\tif (zone && !moment.isMoment(input) && needsOffset(out)) {\n\t\t\tout.add(zone.parse(out), 'minutes');\n\t\t}\n\n\t\tout.tz(name);\n\n\t\treturn out;\n\t}\n\n\ttz.version = VERSION;\n\ttz.dataVersion = '';\n\ttz._zones = zones;\n\ttz._links = links;\n\ttz._names = names;\n\ttz.add = addZone;\n\ttz.link = addLink;\n\ttz.load = loadData;\n\ttz.zone = getZone;\n\ttz.zoneExists = zoneExists; // deprecated in 0.1.0\n\ttz.guess = guess;\n\ttz.names = getNames;\n\ttz.Zone = Zone;\n\ttz.unpack = unpack;\n\ttz.unpackBase60 = unpackBase60;\n\ttz.needsOffset = needsOffset;\n\ttz.moveInvalidForward = true;\n\ttz.moveAmbiguousForward = false;\n\n\t/************************************\n\t\tInterface with Moment.js\n\t************************************/\n\n\tvar fn = moment.fn;\n\n\tmoment.tz = tz;\n\n\tmoment.defaultZone = null;\n\n\tmoment.updateOffset = function (mom, keepTime) {\n\t\tvar zone = moment.defaultZone,\n\t\t\toffset;\n\n\t\tif (mom._z === undefined) {\n\t\t\tif (zone && needsOffset(mom) && !mom._isUTC) {\n\t\t\t\tmom._d = moment.utc(mom._a)._d;\n\t\t\t\tmom.utc().add(zone.parse(mom), 'minutes');\n\t\t\t}\n\t\t\tmom._z = zone;\n\t\t}\n\t\tif (mom._z) {\n\t\t\toffset = mom._z.utcOffset(mom);\n\t\t\tif (Math.abs(offset) < 16) {\n\t\t\t\toffset = offset / 60;\n\t\t\t}\n\t\t\tif (mom.utcOffset !== undefined) {\n\t\t\t\tmom.utcOffset(-offset, keepTime);\n\t\t\t} else {\n\t\t\t\tmom.zone(offset, keepTime);\n\t\t\t}\n\t\t}\n\t};\n\n\tfn.tz = function (name, keepTime) {\n\t\tif (name) {\n\t\t\tif (typeof name !== 'string') {\n\t\t\t\tthrow new Error('Time zone name must be a string, got ' + name + ' [' + typeof name + ']');\n\t\t\t}\n\t\t\tthis._z = getZone(name);\n\t\t\tif (this._z) {\n\t\t\t\tmoment.updateOffset(this, keepTime);\n\t\t\t} else {\n\t\t\t\tlogError(\"Moment Timezone has no data for \" + name + \". See http://momentjs.com/timezone/docs/#/data-loading/.\");\n\t\t\t}\n\t\t\treturn this;\n\t\t}\n\t\tif (this._z) { return this._z.name; }\n\t};\n\n\tfunction abbrWrap (old) {\n\t\treturn function () {\n\t\t\tif (this._z) { return this._z.abbr(this); }\n\t\t\treturn old.call(this);\n\t\t};\n\t}\n\n\tfunction resetZoneWrap (old) {\n\t\treturn function () {\n\t\t\tthis._z = null;\n\t\t\treturn old.apply(this, arguments);\n\t\t};\n\t}\n\n\tfn.zoneName = abbrWrap(fn.zoneName);\n\tfn.zoneAbbr = abbrWrap(fn.zoneAbbr);\n\tfn.utc = resetZoneWrap(fn.utc);\n\n\tmoment.tz.setDefault = function(name) {\n\t\tif (major < 2 || (major === 2 && minor < 9)) {\n\t\t\tlogError('Moment Timezone setDefault() requires Moment.js >= 2.9.0. You are using Moment.js ' + moment.version + '.');\n\t\t}\n\t\tmoment.defaultZone = name ? getZone(name) : null;\n\t\treturn moment;\n\t};\n\n\t// Cloning a moment should include the _z property.\n\tvar momentProperties = moment.momentProperties;\n\tif (Object.prototype.toString.call(momentProperties) === '[object Array]') {\n\t\t// moment 2.8.1+\n\t\tmomentProperties.push('_z');\n\t\tmomentProperties.push('_a');\n\t} else if (momentProperties) {\n\t\t// moment 2.7.0\n\t\tmomentProperties._z = null;\n\t}\n\n\t// INJECT DATA\n\n\treturn moment;\n}));\n","var moment = module.exports = require(\"./moment-timezone\");\nmoment.tz.load(require('./data/packed/latest.json'));\n","import moment from 'moment-timezone';\n\nimport { each } from '../../utils/each';\nimport { stripHtmlTags } from '../../utils/strip-html-tags';\nimport { escapeHtml } from '../../utils/escape-html';\n\nconst defaults = {\n /*\n DEPRECATED - use CSS styles\n\n height: undefined,\n width: undefined,\n stickyHeader: false,\n stickyFooter: false\n */\n};\n\nlet currentPage;\nfunction _generateTableRows(datavizInstance, dataset) {\n let html = '';\n const defaultConfig = {\n page: 1,\n limit: 0,\n arrows: true\n };\n let customConfig = {};\n if (datavizInstance.config.table && datavizInstance.config.table.pagination) {\n customConfig = datavizInstance.config.table.pagination;\n }\n const config = {\n ...defaultConfig,\n ...customConfig\n };\n\n if (!currentPage){\n currentPage = config.page;\n }\n\n let datasetPaginated;\n let pages = 0;\n if (config.limit === 0) {\n datasetPaginated = dataset.slice(1); // remove header\n } else {\n const start = config.limit * (currentPage - 1) + 1;\n const end = start + config.limit;\n datasetPaginated = dataset.slice(start, end);\n pages = Math.ceil((dataset.length - 1) / config.limit);\n }\n\n let columnsArray = datavizInstance.config.table.columns ?\n datavizInstance.config.table.columns :\n datavizInstance.dataset.matrix[0];\n\n const checkArray = {};\n const { mapValues } = datavizInstance.config.table;\n for (let key in mapValues){\n checkArray[columnsArray.indexOf(key)] = key;\n }\n\n // var london = newYork.clone().tz(\"Europe/London\");\n for (let row of datasetPaginated) {\n html += '';\n for (let [index, rowCol] of row.entries()) {\n if (\n datavizInstance.config.timezone\n && rowCol instanceof Date\n ) {\n let dateTimeTimezoned = moment\n .tz(rowCol, \"UTC\")\n .clone()\n .tz(datavizInstance.config.timezone);\n html += `${dateTimeTimezoned.toString()}`;\n continue;\n }\n let rowColEscaped = escapeHtml(rowCol);\n if(checkArray[index]){\n html += `${mapValues[checkArray[index]](rowColEscaped)}`;\n continue;\n }\n html += `${rowColEscaped}`\n }\n html += '';\n }\n\n if (pages > 1){\n html += ``;\n let pageNumber = 1;\n const prevPage = (currentPage === 1) ? 1 : (currentPage - 1);\n const nextPage = (currentPage === pages) ? pages : (currentPage + 1);\n if (config.arrows){\n html += `<`;\n }\n while (pageNumber <= pages){\n html += `${pageNumber}`;\n pageNumber++;\n }\n if (config.arrows){\n html += `>`;\n }\n html += '';\n }\n\n return html;\n}\n\nfunction _generateTableHeader(datavizInstance, dataset) {\n let html = '';\n let fieldNumber = -1;\n let columnNames =\n (datavizInstance.config.table && datavizInstance.config.table.columns)\n || dataset[0];\n for (let colName of columnNames) {\n let colNameEscaped = escapeHtml(colName);\n fieldNumber +=1;\n html += `${colNameEscaped}`;\n }\n return html;\n}\n\n\n const render = function() {\n const dataset = this.dataset.matrix;\n\n const el = this.el();\n const theme = this.config.theme;\n const datavizInstance = this;\n\n let html = '';\n\n const isEmpty = dataset.length === 1 && dataset[0].length === 0;\n if (isEmpty) {\n const msg = 'No data to display';\n const mappedMsg = this.config.errorMapping[msg] || msg;\n if (this.config.showErrorMessages) {\n this.message(mappedMsg);\n }\n return;\n }\n\n // Open wrapper\n html += `
`;\n\n // Static, scrollable table\n html += ``;\n html += '';\n html += '';\n html += _generateTableHeader(datavizInstance, dataset);\n html += '';\n html += '';\n // Table data\n html += '';\n html += _generateTableRows(datavizInstance, dataset);\n html += '';\n html += '
';\n/* */\n // Close wrapper\n html += '
';\n\n // Inject HTML string\n el.querySelector(`.${theme}-rendering`).innerHTML = html;\n\n el\n .querySelectorAll(`.${theme}-rendering th`)\n .forEach((item) => {\n item.addEventListener('click', (event) => {\n let sortOrder = event.target.getAttribute('order') || 'asc';\n let fieldNumber = event.target.getAttribute('fieldNumber');\n let checker = function (a, b) {\n let sortOrderNumber = (sortOrder === 'asc') ? 1 : -1;\n\n if (typeof a[fieldNumber] === 'string') {\n let nameA = a[fieldNumber].toUpperCase(); // ignore upper and lowercase\n let nameB = b[fieldNumber].toUpperCase(); // ignore upper and lowercase\n if (nameA < nameB) {\n return -1 * sortOrderNumber;\n }\n if (nameA > nameB) {\n return 1* sortOrderNumber;\n }\n\n // names must be equal\n return 0;\n }\n return (a[fieldNumber] - b[fieldNumber]) * sortOrderNumber;\n };\n\n if (sortOrder === 'asc') {\n sortOrder = 'desc';\n } else {\n sortOrder = 'asc'\n }\n event.target.setAttribute('order', sortOrder);\n\n const first = this.dataset.matrix.shift();\n this.dataset.matrix.sort(checker);\n this.dataset.matrix.unshift(first);\n\n el.querySelector(`.${theme}-rendering tbody`).innerHTML =\n _generateTableRows(datavizInstance, dataset);\n attachBtnEventListeners();\n });\n });\n\n\n const attachBtnEventListeners = () => {\n el.querySelectorAll('.btn').forEach(btn => {\n btn.addEventListener('click', (event) => {\n currentPage = parseInt(event.target.getAttribute('data-page'));\n el.querySelector(`.${theme}-rendering tbody`).innerHTML =\n _generateTableRows(datavizInstance, dataset);\n attachBtnEventListeners();\n }, true);\n });\n };\n\n attachBtnEventListeners(datavizInstance, el, theme);\n\n if (this.config.onrendered) {\n this.config.onrendered();\n }\n };\n\n\n\nconst update = function(){\n // no special update handling\n this.render();\n };\n\nconst destroy= function(){};\n\nexport default { render, update, destroy };\n","import { prettyNumber } from '../../utils/pretty-number';\nimport { escapeHtml } from '../../utils/escape-html';\n\nexport default {\n render: function(){\n const color = this.config.colors[0];\n const theme = this.config.theme;\n const title = this.config.title;\n const opts = this.config;\n let value = '-';\n let html = '';\n let prefix = '';\n let suffix = '';\n let formattedNum;\n let valueEl;\n let flexDifferenceStyle = '';\n let resultDifference = '';\n let differenceStyle = '';\n let smallerValue = '';\n const { results, previousResults } = this.config;\n if(results && previousResults){\n flexDifferenceStyle = previousResults ? ' metric-comparison' : '';\n smallerValue = previousResults && title ? '-smaller' : '';\n resultDifference = results.result - previousResults.result;\n differenceStyle = (resultDifference > 0) ? '-green' : '-red';\n resultDifference = Math.abs(resultDifference);\n }\n\n if (typeof this.data()[1][1] === 'number') {\n value = this.data()[1][1];\n }\n\n formattedNum = value;\n if ( (typeof opts['prettyNumber'] === 'undefined' || opts['prettyNumber'] === true)\n && !isNaN(parseInt(value)) ) {\n formattedNum = prettyNumber(value);\n if(results && previousResults){\n resultDifference = prettyNumber(resultDifference);\n }\n }\n\n if (opts['prefix']) {\n prefix = '' + opts['prefix'] + '';\n }\n if (opts['suffix']) {\n suffix = '' + opts['suffix'] + '';\n }\n html += '
';\n html += '
';\n if (results && previousResults) {\n html += '
' + escapeHtml(resultDifference) + '
';\n }\n html += '
' + prefix + escapeHtml(formattedNum) + suffix + '
';\n if (title) {\n html += '
' + escapeHtml(title) + '
';\n }\n html += '
';\n html += '
';\n\n this.el().innerHTML = html;\n\n if (this.config.onrendered) {\n this.config.onrendered();\n }\n },\n update: function(){\n // no special update handling\n this.render();\n },\n destroy: function(){\n // no special clean-up\n }\n};\n","import { escapeHtml } from '../../utils/escape-html';\n\nexport default {\n render: function(text){\n const outer = document.createElement('div');\n const inner = document.createElement('div');\n const msg = document.createElement('span');\n\n const titleContainer = document.createElement('div');\n const notesContainer = document.createElement('div');\n\n outer.className = this.config.theme + ' keen-dataviz-box';\n inner.className = this.config.theme + '-message';\n\n // Create title and notes for message\n titleContainer.className = this.config.theme + '-title';\n titleContainer.innerHTML = escapeHtml(this.config.title || '');\n notesContainer.className = this.config.theme + '-notes';\n notesContainer.innerHTML = escapeHtml(this.config.notes || '');\n\n msg.innerHTML = escapeHtml(text) || '';\n inner.appendChild(msg);\n\n if (this.config.title && this.config.showTitle) {\n outer.appendChild(titleContainer);\n }\n\n outer.appendChild(inner);\n\n if (this.config.notes) {\n outer.appendChild(notesContainer);\n }\n\n this.el().innerHTML = '';\n this.el().appendChild(outer);\n\n },\n update: function(){\n // no special update handling\n this.render();\n },\n destroy: function(){\n // no special clean-up\n }\n};\n","import { escapeHtml } from '../../../utils/escape-html';\n\nexport default function (d, defaultTitleFormat, defaultValueFormat, color) {\n let text;\n let title;\n // Set config options or defaults\n const nameFormat = this.config.tooltip_format_name || function (name) { return name; };\n const titleFormat = this.config.tooltip_format_title || defaultTitleFormat;\n const valueFormat = this.config.tooltip_format_value || defaultValueFormat;\n\n // Reverse list to match legend\n for (let i = 0; i < d.length; i++) {\n if (! (d[i] && (d[i].value || d[i].value === 0))) { continue; }\n if (!text) {\n title = titleFormat ? titleFormat(d[i].x) : d[i].x;\n text = \"\" + (title || title === 0 ? \"\" : \"\");\n }\n let name = nameFormat(d[i].name);\n let value = valueFormat(d[i].value, d[i].ratio, d[i].id, d[i].index);\n let bgcolor = this.levelColor ? this.levelColor(d[i].value) : color(d[i].id);\n if (value) {\n text += \"\";\n if (name.indexOf('__tooltip_ignore_name_field__') === -1) {\n text += \"\";\n }\n text += \"\";\n text += \"\";\n }\n }\n return text + \"
\" + escapeHtml(title) + \"
\" + escapeHtml(name) + \"\" + escapeHtml(value) + \"
\";\n}\n","import * as d3 from 'd3';\n\nimport isDateString from '../../../utils/assert-date-string';\n\nexport default function (options) {\n const cols = options.data.columns;\n const datavizInstance = this;\n const chart = this.view._artifacts.c3;\n let columns = [];\n const domNode = this.el().querySelector('.' + datavizInstance.config.theme + '-rendering');\n const legendConfig = datavizInstance.config.legend;\n\n const pagination = this.view._artifacts.pagination = {\n ...{\n hidden: [],\n labels: [],\n offset: 0,\n limit: Math.round((domNode.offsetHeight - 78) / 20),\n total: 0\n },\n ...legendConfig.pagination\n };\n\n if (options.legend.sort) {\n columns = options.legend.sort(cols);\n\n // update column order in the data, so tooltip will be the same order\n const columnsSorted = [];\n const dataColumnsSorted = [];\n if (cols[0][0] === 'x') {\n dataColumnsSorted.push(cols[0]);\n }\n columns.forEach(column => {\n let columnData = options.data.columns.find(item => item[0] === column);\n dataColumnsSorted.push(columnData);\n });\n options.data.columns = dataColumnsSorted;\n } else {\n for (let i = 0; i < cols.length; i++) {\n if (cols[i][0] !== 'x' && !isDateString(cols[i][1])) {\n columns.push(cols[i][0]);\n }\n }\n }\n\n const legendElement = this.el().querySelector('.keen-c3-legend');\n\n let align = 'vertical';\n if (legendConfig.position === 'top' || legendConfig.position === 'bottom') {\n align = 'horizontal';\n }\n\n const paginateHorizontalLeftElement = document.createElement('div');\n paginateHorizontalLeftElement.setAttribute('class', 'keen-c3-legend-pagination-icons keen-c3-legend-horizontal-pagination-left');\n if (align === 'horizontal') {\n legendElement.append(paginateHorizontalLeftElement);\n }\n\n const legendItemsElement = document.createElement('div');\n legendItemsElement.setAttribute('class', `keen-c3-legend-items keen-c3-legend-${align}-items`);\n legendElement.append(legendItemsElement);\n\n const paginateVerticalElement = document.createElement('div');\n paginateVerticalElement.setAttribute('class', 'keen-c3-legend-pagination keen-c3-legend-pagination-icons');\n if (align === 'vertical') {\n legendElement.append(paginateVerticalElement);\n }\n\n const paginateHorizontalRightElement = document.createElement('div');\n paginateHorizontalRightElement.setAttribute('class', 'keen-c3-legend-pagination-icons keen-c3-legend-horizontal-pagination-right');\n if (align === 'horizontal') {\n legendElement.append(paginateHorizontalRightElement);\n }\n\n paginateData();\n\n function paginateData(){\n pagination.labels = columns.slice(pagination.offset, pagination.offset + pagination.limit);\n pagination.total = columns.length;\n renderLegendComponent.call(datavizInstance, pagination.labels);\n if (pagination.total > pagination.limit) {\n renderPaginationComponent.call(datavizInstance);\n }\n if (options.onPaginated){\n options.onPaginated();\n }\n }\n\n function renderLegendComponent(){\n legendItemsElement.innerHTML = '';\n\n pagination.labels.forEach(label => {\n const labelShortened = legendConfig.label.textMaxLength ? label.slice(0, legendConfig.label.textMaxLength - 1) : label;\n const legendItem = document.createElement(\"div\");\n legendItem.innerHTML = `${labelShortened}`;\n legendItem.chartPartId = label;\n legendItem.setAttribute('class', 'legend-item');\n legendItemsElement.append(legendItem);\n\n const legendItemColorSample = document.createElement(\"span\");\n legendItemColorSample.setAttribute('class', 'legend-item-color-sample');\n legendItemColorSample.style.backgroundColor = chart.color(legendItem.chartPartId);\n legendItem.prepend(legendItemColorSample);\n\n const tooltipElement = document.createElement(\"div\");\n legendItem.addEventListener('mouseover', (event) => {\n chart.focus(legendItem.chartPartId);\n if (legendConfig.tooltip.show && legendItem.chartPartId.length > legendConfig.label.textMaxLength) {\n tooltipElement.setAttribute('class', `keen-c3-legend-label-overlay keen-c3-legend-position-${legendConfig.position}`);\n tooltipElement.innerHTML =\n `${\n options.legend.tooltip.pointer ? `
` : ``\n }${legendItem.chartPartId}`;\n legendItem.append(tooltipElement);\n }\n });\n legendItem.addEventListener('mouseout', (event) => {\n chart.revert();\n tooltipElement.remove();\n });\n legendItem.addEventListener('click', (event) => {\n let opacity = 1;\n const isHidden = pagination.hidden.indexOf(legendItem.chartPartId);\n if (isHidden < 0) {\n pagination.hidden.push(legendItem.chartPartId);\n opacity = .35;\n }\n else {\n pagination.hidden.splice(isHidden, 1);\n opacity = 1;\n }\n legendItem.style.opacity = opacity;\n chart.toggle(legendItem.chartPartId);\n });\n });\n\n if (options.onLegendRendered){\n options.onLegendRendered();\n options.onLegendRendered = null;\n }\n\n }\n\n function renderPaginationComponent(){\n paginateVerticalElement.innerHTML = '';\n paginateHorizontalLeftElement.innerHTML = '';\n paginateHorizontalRightElement.innerHTML = '';\n\n const arrowUp = document.createElement('i');\n const arrowDown = document.createElement('i');\n\n const paginate = (direction) => {\n if (direction === 'forward') {\n const diff = pagination.offset + pagination.limit;\n if (diff < pagination.total) {\n pagination.offset = diff;\n return;\n }\n pagination.offset = 0;\n return;\n }\n\n const diff = pagination.offset - pagination.limit;\n if (diff >= 0) {\n pagination.offset = diff;\n return;\n }\n\n pagination.offset = Math.floor(pagination.total/pagination.limit) * pagination.limit;\n };\n\n arrowDown.addEventListener('click', () => {\n paginate('forward');\n paginateData();\n clearSelectedText();\n });\n\n arrowUp.addEventListener('click', () => {\n paginate('backward');\n paginateData();\n clearSelectedText();\n });\n\n if (legendConfig.position === 'left' || legendConfig.position === 'right') {\n arrowUp.setAttribute('class', 'up');\n arrowDown.setAttribute('class', 'down');\n paginateVerticalElement.append(arrowDown);\n paginateVerticalElement.append(arrowUp);\n } else {\n // bottom top\n arrowUp.setAttribute('class', 'left');\n arrowDown.setAttribute('class', 'right');\n paginateHorizontalLeftElement.append(arrowUp);\n paginateHorizontalRightElement.append(arrowDown);\n }\n\n }\n\n function clearSelectedText() {\n let selection;\n if (document.selection && document.selection.empty) {\n selection = document.selection;\n selection.empty();\n }\n else if (window.getSelection) {\n selection = window.getSelection();\n selection.removeAllRanges();\n }\n }\n}\n","export default function (startDate, endDate) {\n const timeDiff = Math.abs(new Date(startDate).getTime() - new Date(endDate).getTime());\n const months = [\n 'Jan',\n 'Feb',\n 'Mar',\n 'Apr',\n 'May',\n 'June',\n 'July',\n 'Aug',\n 'Sept',\n 'Oct',\n 'Nov',\n 'Dec'\n ];\n\n // Yearly (31536000000) + Monthly\n if (timeDiff >= 2419200000) {\n return function(ms){\n const date = new Date(ms);\n return months[date.getMonth()] + ' ' + date.getFullYear();\n };\n }\n // Daily\n else if (timeDiff >= 86400000) {\n return function(ms){\n const date = new Date(ms);\n return months[date.getMonth()] + ' ' + date.getDate();\n };\n }\n // Hourly\n else if (timeDiff >= 3600000) {\n return '%I:%M %p';\n }\n // Minutely\n else {\n return '%I:%M:%S %p';\n }\n}\n","import c3 from 'c3';\n\nimport { each } from '../utils/each';\nimport { extend } from '../utils/extend';\nimport { extendDeep } from '../utils/extend-deep';\nimport isDateString from '../utils/assert-date-string';\nimport c3DefaultDateFormat from './c3/extensions/default-date-format';\nimport c3PaginatingLegend from './c3/extensions/paginating-legend';\nimport c3TooltipContents from './c3/extensions/tooltip-contents';\n\nimport message from './default/message';\nimport metric from './default/metric';\nimport table from './default/table';\nimport spinner from './default/spinner';\nimport Funnel from './default/funnel';\nimport Funnel3d from './default/funnel-3d';\nimport HorizontalFunnel from './default/horizontal-funnel';\nimport HorizontalFunnel3d from './default/horizontal-funnel-3d';\n\nexport default function(lib) {\n let timer;\n bindResizeListener(function(){\n if (timer) {\n clearTimeout(timer);\n }\n const delay = (lib.visuals.length > 12) ? 1000 : 250;\n timer = setTimeout(function(){\n each(lib.visuals, function(chart){\n if (chart.view._artifacts.c3) {\n chart.view._artifacts.c3.resize();\n }\n });\n }, delay);\n });\n\n // FIX for c3 tooltip bug - REMOVE when https://github.com/c3js/c3/pull/2476 is merged\n if (c3.chart && c3.chart.internal && c3.chart.internal.fn) {\n c3.chart.internal.fn.horizontalDistance = function(data, pos) {\n var $$ = this,\n config = $$.config,\n xIndex = config.axis_rotated ? 1 : 0,\n x = $$.x(data.x);\n return Math.abs(x - pos[xIndex]);\n };\n c3.chart.internal.fn.findClosest = function (values, pos) {\n const CLASS = c3.chart.internal.fn.CLASS;\n var $$ = this,\n minDist = $$.config.point_sensitivity,\n minDist = Infinity,\n closest;\n // find mouseovering bar\n values.filter(function (v) {\n return v && $$.isBarType(v.id);\n }).forEach(function (v) {\n var shape = $$.main.select('.' + CLASS.bars + $$.getTargetSelectorSuffix(v.id) + ' .' + CLASS.bar + '-' + v.index).node();\n if (!closest && $$.isWithinBar($$.d3.mouse(shape), shape)) {\n closest = v;\n }\n });\n // find closest point from non-bar\n values.filter(function (v) {\n return v && !$$.isBarType(v.id);\n }).forEach(function (v) {\n var d = $$.dist(v, pos);\n var d = $$.horizontalDistance(v, pos);\n if (d < minDist) {\n minDist = d;\n closest = v;\n }\n });\n return closest;\n };\n }\n\n return defineC3();\n};\n\nfunction defineC3(){\n const types = {\n message,\n metric,\n table,\n spinner,\n 'funnel': new Funnel,\n 'funnel-3d': new Funnel3d,\n 'horizontal-funnel': new HorizontalFunnel,\n 'horizontal-funnel-3d': new HorizontalFunnel3d,\n };\n\n const c3Types = [\n // Standard types\n 'area',\n 'area-spline',\n 'area-step',\n 'bar',\n 'donut',\n 'gauge',\n 'line',\n 'pie',\n 'step',\n 'spline',\n\n // Horizontal variant types\n 'horizontal-area',\n 'horizontal-area-spline',\n 'horizontal-area-step',\n 'horizontal-bar',\n 'horizontal-line',\n 'horizontal-step',\n 'horizontal-spline'\n ];\n\n const getPaddings = (element, paddingName) => {\n return parseInt(window.getComputedStyle(element)[`padding${paddingName}`].replace('px', ''));\n }\n\n function getDefaultOptions(){\n\n const ENFORCED_OPTIONS = {\n bindto: this.el().querySelector('.' + this.config.theme + '-rendering .c3-chart'),\n color: {\n pattern: this.config.colors\n },\n data: {\n colors: { ...this.config.colorMapping },\n columns: [],\n type: this.config.type.replace('horizontal-', '')\n },\n };\n\n const renderingElement = this.el();\n// .querySelector('.' + this.config.theme + '-rendering');\n\n let height = renderingElement.offsetHeight;\n\n height -= (getPaddings(renderingElement, 'Top') + getPaddings(renderingElement, 'Bottom'));\n\n if (this.config.showTitle) {\n const titleElement = this.el().querySelector('.keen-dataviz-title');\n if (titleElement) {\n height -= titleElement.offsetHeight;\n } else {\n height -= parseInt(\n window\n .getComputedStyle(this.el(), null)\n ['font-size'].replace('px','')\n );\n }\n }\n\n if (this.config.notes) {\n const notesElement = this.el().querySelector('.keen-dataviz-notes');\n if (notesElement) {\n height -= notesElement.offsetHeight;\n } else {\n height -= parseInt(\n window\n .getComputedStyle(this.el(), null)\n ['font-size'].replace('px','')\n );\n }\n }\n\n let width = this.el().querySelector('.c3-chart').offsetWidth\n - (getPaddings(renderingElement, 'Left') + getPaddings(renderingElement, 'Right'));\n if (width < 0) {\n width = 0;\n }\n\n const DEFAULT_OPTIONS = {\n size: {\n width,\n height:\n height > 0 ?\n height\n : undefined,\n }\n };\n\n return extendDeep({}, DEFAULT_OPTIONS, this.config, ENFORCED_OPTIONS);\n }\n\n each(c3Types, function(type, index) {\n types[type] = {\n render: function(){\n const options = getDefaultOptions.call(this);\n\n if (!!this.config.clearOnRender && options.data.columns.length > 0) {\n options.data.columns.splice(1);\n }\n\n if (this.data()[0].length === 1 || this.data().length === 1) {\n const msg = 'No data to display';\n const mappedMsg = this.config.errorMapping[msg] || msg;\n if (this.config.showErrorMessages) {\n this.message(mappedMsg);\n }\n return;\n }\n\n let removeLegend = false;\n\n if (type === 'gauge') {\n // Accommodate a neat bug:\n options.legend.show = false;\n options.data.columns = [[\n this.config.title || this.data()[1][0],\n this.data()[1][1]\n ]];\n removeLegend = true;\n }\n else if (type === 'pie' || type === 'donut') {\n options.data.columns = this.data().slice(1);\n }\n else {\n\n // Apply formatting for horizontal variant types\n if (type.indexOf('horizontal-') > -1) {\n options.axis.rotated = type.indexOf('horizontal-') > -1;\n }\n\n if (isDateString(this.data()[1][0])) {\n // TIMESERIES\n options.axis.x = options.axis.x || {};\n options.axis.x.type = 'timeseries';\n options.axis.x.tick = options.axis.x.tick || {\n format: this.config.dateFormat || c3DefaultDateFormat(this.data()[1][0], this.data()[2] ? this.data()[2][0] : this.data()[1][0]),\n culling: { max: 5 }\n };\n\n options.data.columns[0] = [];\n each(this.dataset.selectColumn(0), function(cell, i){\n if (i > 0) {\n cell = new Date(cell);\n }\n options.data.columns[0][i] = cell;\n });\n options.data.columns[0][0] = 'x';\n options.data.x = 'x';\n if (this.config.stacked && this.data()[0].length > 2) {\n options.data.groups = [ this.dataset.selectRow(0).slice(1) ];\n }\n }\n else {\n // CATEGORIES\n options.axis.x = options.axis.x || {};\n options.axis.x.type = 'category';\n options.axis.x.categories = this.dataset.selectColumn(0).slice(1);\n if (this.config.stacked && this.data()[0].length > 2) {\n options.data.groups = [ this.dataset.selectRow(0).slice(1) ];\n }\n }\n\n if (this.data()[0].length === 2) {\n options.legend.show = false;\n removeLegend = true;\n }\n\n each(this.data()[0], function(cell, i){\n if (i > 0) {\n options.data.columns.push(this.dataset.selectColumn(i));\n }\n }.bind(this));\n }\n\n if (removeLegend){\n const legendElement = this.el().querySelector('.keen-c3-legend');\n if (legendElement) {\n legendElement.remove();\n options.size.width = this.el().querySelector('.c3-chart').offsetWidth;\n }\n options.legend.show = false;\n }\n\n const chartTypesWithPartialIntervalIndicator = ['area', 'area-spline', 'area-step', 'line', 'spline', 'step'];\n\n if (options.partialIntervalIndicator\n && options.partialIntervalIndicator.show\n && chartTypesWithPartialIntervalIndicator.indexOf(options.type) > -1\n ) {\n const results = options.data.columns && options.data.columns[0];\n if (results && results.length > 1) {\n const partialResultsRegion = {\n axis: 'x',\n start: new Date(results[results.length-2]),\n class: options.partialIntervalIndicator.className\n };\n options.regions = [...(options.regions || []), partialResultsRegion];\n }\n }\n\n if (\n !(options.tooltip && options.tooltip.show === false)\n &&\n (options.legend.show === true ||\n (options.legend\n && options.legend.tooltip\n && options.legend.tooltip.show)\n )) {\n // Apply custom tooltip\n options.tooltip = {\n contents: c3TooltipContents,\n format: {\n title: this.config.tooltip.format.title,\n value: (value, ratio, id, index) => {\n let valueFormatted = c3CustomTooltipFiltering.call(this, value, ratio, id, index);\n if (this.config.tooltip && this.config.tooltip.format && this.config.tooltip.format.value)\n {\n valueFormatted = this.config.tooltip.format.value.call(this, valueFormatted, ratio, id, index);\n }\n return valueFormatted;\n }\n }\n };\n }\n\n if (options.legend.show === true) {\n const c3options = { ...options };\n // Apply custom color handling\n c3options.data.color = c3CustomDataMapping.bind(this);\n\n c3options.legend.hide = true; // hide default c3 legend\n\n // Render artifacts\n this.view._artifacts['c3'] = c3.generate(c3options);\n\n c3PaginatingLegend.call(this, {...options, onLegendRendered: () => {\n const legendElement = this.el().querySelector('.keen-c3-legend');\n if (legendElement) {\n if (\n options.legend.position === 'top' ||\n options.legend.position === 'bottom'\n ) {\n c3options.size.height -= legendElement.offsetHeight;\n this.view._artifacts['c3'].resize({ height: c3options.size.height });\n } else {\n if (c3options.size.width === 0) {\n c3options.size.width = this.el().offsetWidth\n - getPaddings(this.el(), 'Left')\n - getPaddings(this.el(), 'Right');\n }\n c3options.size.width -= legendElement.offsetWidth;\n this.view._artifacts['c3'].resize({ width: c3options.size.width });\n }\n }\n },\n onPaginated: () => {\n this.view._artifacts['c3'].flush();\n }\n });\n }\n else {\n this.view._artifacts['c3'] = c3.generate(options);\n }\n\n },\n update: function(){\n // no special update handling\n this.render();\n },\n destroy: function(){\n if (this.view._artifacts['c3']) {\n this.view._artifacts['c3'].destroy();\n this.view._artifacts['c3'] = null;\n }\n }\n };\n });\n\n return types;\n}\n\nfunction c3CustomDataMapping(color, d) {\n const type = this.config.type;\n if (this.view._artifacts.pagination\n && type !== 'gauge'\n /*&& this.type() !== 'pie'\n && this.type() !== 'donut'*/) {\n const scope = this.view._artifacts.pagination.labels;\n if ((d.id && scope.indexOf(d.id) > -1)\n || (d && !d.id && scope.indexOf(d) > -1)) {\n return color;\n }\n else {\n if (type === 'donut' || type === 'pie') {\n return 'rgba(0,0,0,.1)';\n }\n else {\n return 'rgba(0,0,0,.07)';\n }\n }\n }\n else {\n return color;\n }\n}\n\nfunction c3CustomTooltipFiltering(value, ratio, id, index) {\n const type = this.config.type;\n\n if (this.view._artifacts.pagination\n && type !== 'gauge'\n /*&& this.type() !== 'pie'\n && this.type() !== 'donut'*/) {\n const scope = this.view._artifacts.pagination.labels;\n if (scope.indexOf(id) > -1) {\n return value;\n }\n }\n else {\n return value;\n }\n}\n\nfunction bindResizeListener(fn){\n if (typeof window === 'undefined') return;\n window.onresize = window.resize = function(){};\n if (window.addEventListener) {\n window.addEventListener('resize', fn, true);\n }\n else if (window.attachEvent) {\n window.attachEvent('onresize', fn);\n }\n}\n","import Dataset from './dataset';\nimport { extend } from './utils/extend';\nimport { stripHtmlTags } from './utils/strip-html-tags';\n\nexport default function (data) {\n if (!arguments.length) return this.dataset.data();\n if (data instanceof Dataset) {\n this.dataset = data;\n return this;\n }\n else {\n return parseResponse.call(this, data);\n }\n};\n\nfunction parseResponse(response) {\n var dataset,\n indexBy,\n meta,\n parser,\n parserArgs = [],\n query,\n selectedParser,\n title,\n type;\n\n indexBy = this.config.indexBy;\n meta = response.metadata || {};\n query = (typeof response.query !== 'undefined') ? response.query : {};\n\n // Ensure all required params are present\n query = extend({\n analysis_type: null,\n event_collection: null,\n filters: [],\n group_by: null,\n interval: null,\n timeframe: null,\n timezone: null\n }, query);\n\n if (query.analysis_type === 'funnel') {\n parser = 'funnel';\n }\n else if (query.analysis_type === 'extraction'){\n parser = 'extraction';\n }\n else if (query.analysis_type === 'select_unique') {\n if (!query.group_by && !query.interval) {\n parser = 'list';\n }\n // else { Not supported }\n }\n else if (query.analysis_type) {\n if (!query.group_by && !query.interval) {\n parser = 'metric';\n }\n else if (query.group_by && !query.interval) {\n if (query.group_by instanceof Array && query.group_by.length > 1) {\n parser = 'double-grouped-metric';\n parserArgs.push(query.group_by);\n }\n else {\n parser = 'grouped-metric';\n }\n }\n else if (query.interval && !query.group_by) {\n parser = 'interval';\n parserArgs.push(indexBy);\n }\n else if (query.group_by && query.interval) {\n if (query.group_by instanceof Array && query.group_by.length > 1) {\n parser = 'double-grouped-interval';\n parserArgs.push(query.group_by);\n parserArgs.push(indexBy);\n }\n else {\n parser = 'grouped-interval';\n parserArgs.push(indexBy);\n }\n }\n }\n\n if (!parser) {\n\n // Metric\n // -------------------------------\n if (typeof response.result === 'number'){\n parser = 'metric';\n }\n\n // Everything else\n // -------------------------------\n if (response.result instanceof Array && response.result.length > 0){\n\n // Interval w/ single value\n // -------------------------------\n if (response.result[0].timeframe && (typeof response.result[0].value == 'number' || response.result[0].value == null)) {\n parser = 'interval';\n parserArgs.push(indexBy)\n }\n\n // Static GroupBy\n // -------------------------------\n if (typeof response.result[0].result == 'number'){\n parser = 'grouped-metric';\n }\n\n // Grouped Interval\n // -------------------------------\n if (response.result[0].value instanceof Array){\n parser = 'grouped-interval';\n parserArgs.push(indexBy)\n }\n\n // Funnel\n // -------------------------------\n if (typeof response.result[0] === 'number'\n && typeof response.steps !== 'undefined'){\n parser = 'funnel';\n // Move steps into query object\n query.steps = response.steps;\n }\n\n // Select Unique\n // -------------------------------\n if ((typeof response.result[0] === 'string' || typeof response.result[0] == 'number') && typeof response.steps === 'undefined'){\n parser = 'list';\n }\n\n // Extraction\n // -------------------------------\n if (!parser) {\n parser = 'extraction';\n }\n }\n\n if (!parser) {\n parser = 'extraction';\n }\n }\n\n // Set title from saved query body, or create a default title\n if (this.config.title === undefined) {\n if (meta.display_name) {\n title = meta.display_name;\n }\n else {\n title = getDefaultTitle(query);\n }\n this.config.title = title;\n }\n\n // Set type from saved query body, or use a default type\n if (!this.config.type) {\n if (meta.visualization && meta.visualization.chart_type) {\n type = meta.visualization.chart_type;\n }\n else {\n type = getDefaultType(parser);\n }\n this.config.type = type;\n }\n\n // Define the appropriate parser\n selectedParser = Dataset.parser.apply(this, [parser].concat(parserArgs));\n\n // Parse the response with augmented query body\n dataset = selectedParser(extend(response, { 'query': query }));\n\n // Set true dates for 'interval' data\n if (parser.indexOf('interval') > -1) {\n dataset.updateColumn(0, function(value, i){\n return new Date(value);\n });\n }\n\n dataset.updateRow(0, function(value, i){\n return stripHtmlTags(value);\n });\n\n this.dataset = dataset;\n\n return this;\n}\n\nfunction getDefaultTitle(query) {\n var analysis = query.analysis_type ? query.analysis_type.replace('_', ' ') : '',\n title;\n\n title = analysis.replace( /\\b./g, function(a){\n return a.toUpperCase();\n });\n\n if (query.event_collection) {\n title += ' - ' + query.event_collection;\n }\n return title;\n}\n\nfunction getDefaultType(parser) {\n let type;\n switch (parser) {\n case 'metric':\n type = 'metric';\n break;\n case 'interval':\n type = 'area';\n break;\n case 'grouped-metric':\n case 'double-grouped-metric':\n type = 'bar';\n break;\n case 'grouped-interval':\n case 'double-grouped-interval':\n type = 'line';\n break;\n case 'funnel':\n type = 'horizontal-bar';\n break;\n case 'list':\n case 'extraction':\n default:\n type = 'table';\n }\n return type;\n}\n","export function valueAtDeepKey(obj, is, value) {\n if (typeof is == 'string')\n return valueAtDeepKey(obj, is.split('.'), value);\n else if (is.length==1 && value!==undefined && obj !== null &&\n typeof obj[is[0]] !== 'undefined')\n return obj[is[0]] = value;\n else if (is.length==0)\n return obj;\n else if (typeof is === 'undefined' || typeof obj === 'undefined'\n || is === null || obj === null\n || typeof obj[is[0]] === 'undefined')\n return null;\n else\n return valueAtDeepKey(obj[is[0]], is.slice(1), value);\n}\n","// Pure awesomeness by Will Rayner (penguinboy)\n// https://gist.github.com/penguinboy/762197\n\nexport function flatten(ob){\n var toReturn = {};\n for (var i in ob) {\n if (!ob.hasOwnProperty(i)) continue;\n if ((typeof ob[i]) == 'object' && ob[i] !== null) {\n var flatObject = flatten(ob[i]);\n for (var x in flatObject) {\n if (!flatObject.hasOwnProperty(x)) continue;\n toReturn[i + '.' + x] = flatObject[x];\n }\n } else {\n toReturn[i] = ob[i];\n }\n }\n return toReturn;\n};\n","let Dataset; /* injected */\n\nimport { each } from '../../utils/each';\nimport { flatten } from '../utils/flatten';\nimport { valueAtDeepKey } from '../utils/object';\n\nexport default function initialize(lib){\n Dataset = lib;\n return function(name){\n var options = Array.prototype.slice.call(arguments, 1);\n\n if (!parsers[name]) {\n throw 'Requested parser does not exist';\n }\n else {\n return parsers[name].apply(this, options);\n }\n };\n}\n\nfunction parseMetric(){\n return function(res){\n return new Dataset()\n .set(['Value', 'Result'], res.result)\n .type('metric');\n }\n}\n\n//var myParser = Dataset.parser('interval', 'timeframe.end');\nfunction parseInterval(){\n var options = Array.prototype.slice.call(arguments);\n return function(res){\n var dataset = new Dataset()\n .type('interval');\n each(res.result, function(record, i){\n var index = options[0] && options[0] === 'timeframe.end' ? record.timeframe.end : record.timeframe.start;\n dataset.set(['Result', index], record.value);\n });\n return dataset;\n }\n}\n\nfunction parseGroupedMetric(){\n return function(res){\n var dataset = new Dataset()\n .type('grouped-metric');\n each(res.result, function(record, i){\n var label;\n each(record, function(value, key){\n if (key !== 'result') {\n label = key;\n }\n });\n dataset.set(['Result', String(record[label])], record.result);\n });\n return dataset;\n }\n}\n\n//var myParser = Dataset.parser('grouped-interval', 'timeframe.end');\nfunction parseGroupedInterval(){\n var options = Array.prototype.slice.call(arguments);\n return function(res){\n var dataset = new Dataset()\n .type('grouped-interval');\n each(res.result, function(record, i){\n var index = options[0] && options[0] === 'timeframe.end' ? record.timeframe.end : record.timeframe.start;\n if (record.value.length) {\n each(record.value, function(group, j){\n var label;\n each(group, function(value, key){\n if (key !== 'result') {\n label = key;\n }\n });\n dataset.set([ String(group[label]), index ], group.result);\n });\n }\n else {\n dataset.appendRow(index);\n }\n });\n return dataset;\n }\n}\n\n//var myParser = Dataset.parser('double-grouped-metric', ['first', 'second']);\nfunction parseDoubleGroupedMetric(){\n var options = Array.prototype.slice.call(arguments);\n if (!options[0]) throw 'Requested parser requires a sequential list (array) of properties to target as a second argument';\n return function(res){\n var dataset = new Dataset()\n .type('double-grouped-metric');\n each(res.result, function(record, i){\n var rowLabel = record[options[0][0]] + ' ' + record[options[0][1]];\n dataset.set([ 'Result', rowLabel ], record.result);\n });\n return dataset;\n }\n}\n\n//var myParser = Dataset.parser('double-grouped-interval', ['first', 'second'], 'timeframe.end');\nfunction parseDoubleGroupedInterval(){\n var options = Array.prototype.slice.call(arguments);\n if (!options[0]) throw 'Requested parser requires a sequential list (array) of properties to target as a second argument';\n return function(res){\n var dataset = new Dataset()\n .type('double-grouped-interval');\n each(res.result, function(record, i){\n var index = options[1] && options[1] === 'timeframe.end' ? record.timeframe.end : record.timeframe.start;\n each(record['value'], function(value, j){\n var label = value[options[0][0]] + ' ' + value[options[0][1]];\n dataset.set([ label, index ], value.result);\n });\n });\n return dataset;\n }\n}\n\nfunction parseFunnel(){\n return function(res){\n var result, steps, dataset;\n if (typeof res.steps !== 'undefined'\n && typeof res.result !== 'undefined'\n && res.result instanceof Array) {\n // Ad-hoc funnel response\n result = res.result;\n steps = res.steps;\n }\n else if (typeof res.result.steps !== 'undefined'\n && typeof res.result.result !== 'undefined'\n && res.result.result instanceof Array) {\n // Saved funnel response\n result = res.result.result;\n steps = res.result.steps;\n }\n dataset = new Dataset().type('funnel');\n dataset.appendColumn('Step Value');\n each(result, function(value, i){\n if (typeof steps !== 'undefined' && steps[i]) {\n dataset.appendRow(String(steps[i].event_collection), [value]);\n }\n });\n return dataset;\n }\n}\n\nfunction parseList(){\n return function(res){\n var dataset = new Dataset()\n .type('list');\n each(res.result, function(value, i){\n dataset.set( [ 'Result', String(i+1) ], value );\n });\n return dataset;\n }\n}\n\nfunction parseExtraction(){\n let config = this.config;\n return function(res){\n const datasetExtraction = new Dataset()\n .type('extraction');\n // create header\n for (let i=0; i<1; i++){\n let record = res.result[i];\n each(flatten(record), function(value, key){\n datasetExtraction.set([ key, String(i+1) ], value);\n });\n }\n\n // get keys of the Object\n let names = Object.keys(flatten(res.result[0]));\n\n if (Dataset) {\n if (config\n && config.table\n && config.table.columns) {\n names = config.table.columns;\n }\n }\n\n for (let i=0; i -1) {\n\n if (typeof input === 'function') {\n\n each(self.data(), function(row, i){\n var cell;\n if (i > 0) {\n cell = input.call(self, row[index], i, row);\n if (typeof cell !== 'undefined') {\n self.matrix[i][index] = cell;\n }\n }\n });\n\n } else if (!input || input instanceof Array) {\n input = input || [];\n\n if (input.length <= self.data().length - 1) {\n input = input.concat( createNullList(self.data().length - 1 - input.length) );\n }\n else {\n // If this new column is longer than existing columns,\n // we need to update the rest to match ...\n each(input, function(value, i){\n if (self.matrix.length -1 < input.length) {\n appendRow.call(self, String( self.matrix.length ));\n }\n });\n }\n\n each(input, function(value, i){\n self.matrix[i+1][index] = value;\n });\n\n }\n\n }\n return self;\n}\n\nexport function updateRow(q, input){\n var self = this,\n index = (typeof q === 'number') ? q : this.selectColumn(0).indexOf(q);\n\n if (index > -1) {\n\n if (typeof input === 'function') {\n\n each(self.data()[index], function(value, i){\n var col = self.selectColumn(i),\n cell = input.call(self, value, i, col);\n if (typeof cell !== 'undefined') {\n self.matrix[index][i] = cell;\n }\n });\n\n } else if (!input || input instanceof Array) {\n input = input || [];\n\n if (input.length <= self.matrix[0].length - 1) {\n input = input.concat( createNullList( self.matrix[0].length - 1 - input.length ) );\n }\n else {\n each(input, function(value, i){\n if (self.matrix[0].length -1 < input.length) {\n appendColumn.call(self, String( self.matrix[0].length ));\n }\n });\n }\n\n each(input, function(value, i){\n self.matrix[index][i+1] = value;\n });\n }\n\n }\n return self;\n}\n","import { each } from '../../utils/each';\nimport analysesUtilMethods from '../utils/analyses';\n\nexport function sortColumns(str, comp) {\n var self = this,\n head = this.matrix[0].slice(1), // minus index\n cols = [],\n clone = [],\n fn = comp || analysesUtilMethods.getColumnLabel;\n\n // Isolate each column (except the index)\n each(head, function(cell, i) {\n cols.push(self.selectColumn(i+1).slice(0));\n });\n cols.sort(function(a,b){\n // If fn(a) > fn(b)\n var op = fn.call(self, a) > fn.call(self, b);\n if (op) {\n return (str === 'asc' ? 1 : -1);\n } else if (!op) {\n return (str === 'asc' ? -1 : 1);\n } else {\n return 0;\n }\n });\n each(cols, function(col, i) {\n self\n .deleteColumn(i+1)\n .insertColumn(i+1, col[0], col.slice(1));\n });\n return self;\n}\n\nexport function sortRows(str, comp) {\n var self = this,\n head = this.matrix.slice(0,1),\n body = this.matrix.slice(1),\n fn = comp || analysesUtilMethods.getRowIndex;\n body.sort(function(a, b){\n // If fn(a) > fn(b)\n var op = fn.call(self, a) > fn.call(self, b);\n if (op) {\n return (str === 'asc' ? 1 : -1);\n } else if (!op) {\n return (str === 'asc' ? -1 : 1);\n } else {\n return 0;\n }\n });\n self.data(head.concat(body));\n return self;\n}\n","import { each } from '../../utils/each';\n\nexport function selectColumn(q) {\n const result = [];\n const index = (typeof q === 'number') ? q : this.matrix[0].indexOf(q);\n\n if (index > -1 && typeof this.matrix[0][index] !== 'undefined') {\n each(this.matrix, function(row, i) {\n result.push(row[index]);\n });\n }\n return result;\n}\n\nexport function selectRow(q) {\n let result = [];\n const index = (typeof q === 'number') ? q : this.selectColumn(0).indexOf(q);\n\n if (index > -1 && typeof this.matrix[index] !== 'undefined') {\n result = this.matrix[index];\n }\n return result;\n}\n","import { each } from '../../utils/each';\nimport createNullList from '../utils/create-null-list';\nimport { appendRow, appendColumn } from './append';\n\nexport function insertColumn(index, str, input) {\n const self = this;\n const label = (str !== undefined) ? str : null;\n\n if (typeof input === 'function') {\n\n self.matrix[0].splice(index, 0, label);\n each(self.matrix, function(row, i) {\n var cell;\n if (i > 0) {\n cell = input.call(self, row, i);\n if (typeof cell === 'undefined') {\n cell = null;\n }\n self.matrix[i].splice(index, 0, cell);\n }\n });\n\n }\n\n else if (!input || input instanceof Array) {\n input = input || [];\n\n if (input.length <= self.matrix.length - 1) {\n input = input.concat( createNullList(self.matrix.length - 1 - input.length) );\n }\n else {\n // If this new column is longer than existing columns,\n // we need to update the rest to match ...\n each(input, function(value, i){\n if (self.matrix.length -1 < input.length) {\n appendRow.call(self, String( self.matrix.length ));\n }\n });\n }\n\n self.matrix[0].splice(index, 0, label);\n each(input, function(value, i){\n self.matrix[i+1].splice(index, 0, value);\n });\n\n }\n return self;\n}\n\nexport function insertRow(index, str, input) {\n const self = this;\n const newRow = [];\n const label = (str !== undefined) ? str : null;\n newRow.push(label);\n\n if (typeof input === 'function') {\n each(self.matrix[0], function(label, i) {\n let col;\n let cell;\n if (i > 0) {\n col = self.selectColumn(i);\n cell = input.call(self, col, i);\n if (typeof cell === 'undefined') {\n cell = null;\n }\n newRow.push(cell);\n }\n });\n self.matrix.splice(index, 0, newRow);\n }\n\n else if (!input || input instanceof Array) {\n input = input || [];\n\n if (input.length <= self.matrix[0].length - 1) {\n input = input.concat( createNullList( self.matrix[0].length - 1 - input.length ) );\n }\n else {\n each(input, function(value, i){\n if (self.matrix[0].length -1 < input.length) {\n appendColumn.call(self, String( self.matrix[0].length ));\n }\n });\n }\n\n self.matrix.splice(index, 0, newRow.concat(input) );\n }\n\n return self;\n}\n","import { each } from '../../utils/each';\n\nexport function filterColumns(fn) {\n const self = this;\n const clone = [];\n\n each(self.matrix, function(row, i) {\n clone.push([]);\n });\n\n each(self.matrix[0], function(col, i){\n var selectedColumn = self.selectColumn(i);\n if (i == 0 || fn.call(self, selectedColumn, i)) {\n each(selectedColumn, function(cell, ri){\n clone[ri].push(cell);\n });\n }\n });\n\n self.data(clone);\n return self;\n}\n\nexport function filterRows(fn) {\n const self = this;\n const clone = [];\n\n each(self.matrix, function(row, i){\n if (i == 0 || fn.call(self, row, i)) {\n clone.push(row);\n }\n });\n\n self.data(clone);\n return self;\n}\n","import { each } from '../../utils/each';\n\nexport function deleteColumn(q) {\n const self = this;\n const index = (typeof q === 'number') ? q : this.matrix[0].indexOf(q);\n\n if (index > -1) {\n each(self.matrix, function(row, i){\n self.matrix[i].splice(index, 1);\n });\n }\n return self;\n}\n\nexport function deleteRow(q) {\n var index = (typeof q === 'number') ? q : this.selectColumn(0).indexOf(q);\n\n if (index > -1) {\n this.matrix.splice(index, 1);\n }\n return this;\n}\n","import * as d3 from \"d3\";\nimport c3 from 'c3';\n\nimport pkg from '../package.json';\nimport data from './data';\nimport { Dataset } from './dataset';\n\n// Utils\nimport { each } from './utils/each';\nimport isDateString from './utils/assert-date-string';\nimport { stripHtmlTags } from './utils/strip-html-tags';\nimport { escapeHtml } from './utils/escape-html';\nimport libraries from './libraries';\nimport { extendDeep } from './utils/extend-deep';\n\n// Constructor\nexport const Dataviz = function (options = {}) {\n if (this instanceof Dataviz === false) {\n return new Dataviz(options);\n }\n\n this.c3 = c3; // expose for use outside\n this.d3 = d3;\n\n const datavizInstance = this;\n\n const defaultOptions = {\n showDeprecationWarnings: true,\n showLoadingSpinner: false,\n\n container: undefined, // querySelector of container, for example '#someDiv'\n containerElement: undefined, // HTML parent element for the chart\n\n // width: undefined, *deprecated* - use CSS\n // height: undefined, *deprecated* - use CSS\n\n title: undefined,\n showTitle: true,\n\n notes: undefined,\n theme: 'keen-dataviz',\n\n colors: [\n '#00bbde', '#fe6672', '#eeb058', '#8a8ad6', '#ff855c', '#00cfbb',\n '#5a9eed', '#73d483', '#c879bb', '#0099b6', '#d74d58', '#cb9141',\n '#6b6bb6', '#d86945', '#00aa99', '#4281c9', '#57b566', '#ac5c9e',\n '#27cceb', '#ff818b', '#f6bf71', '#9b9be1', '#ff9b79', '#26dfcd',\n '#73aff4', '#87e096', '#d88bcb',\n ],\n\n colorMapping: {},\n\n indexBy: 'timeframe.start',\n labels: [],\n labelMapping: {},\n labelMappingRegExp: undefined,\n errorMapping: {},\n showErrorMessages: true,\n library: 'default',\n sortGroups: undefined,\n sortIntervals: undefined,\n\n results: undefined, // raw data\n\n // C3 chartOptions\n type: undefined,\n stacked: false,\n dateFormat: undefined,\n legend: {\n show: true,\n position: 'right',\n label: {\n textMaxLength: 12\n },\n pagination: {\n offset: 0, // start from\n limit: 5 // items per page\n },\n tooltip: {\n show: true,\n pointer: true\n },\n sort: undefined\n },\n\n axis: {},\n color: {},\n data: {\n order: null\n },\n size: {\n // control it with CSS of .c3-chart\n },\n padding: {\n top: 15\n },\n point: {\n focus: {\n expand: {\n enabled: false\n }\n },\n r: 2,\n show: true\n },\n tooltip: {\n format: {\n // https://c3js.org/samples/tooltip_format.html\n }\n },\n transition: {\n // duration: 0\n },\n data: {\n selection: {\n enabled: true,\n draggable: true,\n multiple: true\n }\n },\n grid: {\n y: {\n show: true\n }\n },\n partialIntervalIndicator: {\n show: undefined,\n className: 'partial-interval-indicator'\n },\n timezone: 'UTC',\n table: {},\n renderOnVisible: false,\n funnel: {\n lines: true,\n resultValues: true,\n percents: {\n show: false,\n countingMethod: 'absolute',\n decimals: 0\n },\n marginBetweenElements: false,\n hover: true,\n effect3d: 'both-sides',\n }\n };\n\n this.config = { ...extendDeep(defaultOptions, options) };\n\n if (this.config.type) {\n // backward compatibility with v2016... areachart -> area\n this.config.type = convertChartTypes(this.config.type);\n }\n\n // get DOM node by query\n if (this.config.container) {\n this.el(this.config.container);\n }\n\n if (options.legend !== undefined && !options.legend) {\n this.config.legend = {\n ...options,\n show: false\n };\n }\n\n if (options.color && options.color.pattern) {\n // to match c3 options\n this.config.colors = options.color.pattern;\n }\n\n if (this.config.legend\n && this.config.legend.tooltip\n && this.config.legend.tooltip.show === false\n && this.config.tooltip.show === undefined) {\n this.config.tooltip = { show: false };\n }\n\n if (options.color && options.color.pattern) {\n // to match c3 options\n this.config.colors = options.color.pattern;\n }\n\n this.dataset = new Dataset(this.config);\n this.view = {\n _prepared: false,\n _rendered: false,\n _artifacts: { /* state bin */ }\n };\n\n Dataviz.visuals.push(this);\n\n if (this.config.showLoadingSpinner) {\n this.prepare();\n }\n\n if (!!this.config.results) {\n this.render(this.config.results);\n }\n this.config.firstVisibilityState = document.visibilityState;\n};\n\nDataviz.libraries = { default: {} };\nif (typeof window !== 'undefined') {\n Dataviz.libraries.default = libraries(Dataviz);\n}\nDataviz.visuals = [];\n\nDataviz.register = function (name, actions) {\n Dataviz.libraries[name] = Dataviz.libraries[name] || {};\n each(actions, function(method, key){\n Dataviz.libraries[name][key] = method;\n });\n};\n\nDataviz.find = function(target){\n if (!arguments.length) return Dataviz.visuals;\n const el = target.nodeName ? target : document.querySelector(target);\n let match = null;\n each(Dataviz.visuals, function(visual){\n if (el == visual.config.container){\n match = visual;\n return false;\n }\n });\n return match;\n};\n\n\n // Prototype\n // ------------\n\nDataviz.prototype.attributes = function(obj){\n if (this.config.showDeprecationWarnings) {\n console.log('.attributes() is deprecated. Use: new KeenDataviz({ _your_value_here_ })');\n }\n if (!arguments.length) return this.config;\n const view = this.config;\n each(obj, function(prop, key){\n // Handle deprecated property names\n if (key === 'chartType') {\n key = 'type';\n }\n view[key] = prop;\n });\n return this;\n};\n\nDataviz.prototype.call = function(fn){\n fn.call(this);\n return this;\n};\n\nDataviz.prototype.chartOptions = function(obj){\n if (this.config.showDeprecationWarnings) {\n console.log('.chartOptions() is deprecated. Use: new KeenDataviz({ _your_value_here_ })');\n }\n if (!arguments.length) return this.config;\n this.config = extendDeep(this.config, obj);\n return this;\n};\n\nDataviz.prototype.colors = function(arr){\n if (this.config.showDeprecationWarnings) {\n console.log('.colors() is deprecated. Use: new KeenDataviz({ colors: _your_value_here_ })');\n }\n if (!arguments.length) return this.config.colors;\n this.config.colors = (arr instanceof Array ? arr : []);\n return this;\n};\n\nDataviz.prototype.colorMapping = function(obj){\n if (this.config.showDeprecationWarnings) {\n console.log('.colorMapping() is deprecated. Use: new KeenDataviz({ colorMapping: _your_value_here_ })');\n }\n const datavizInstance = this;\n if (!arguments.length) return this.config.colorMapping;\n if (obj === null) {\n this.config.colorMapping = {};\n }\n else if (typeof obj === 'object') {\n each(obj, function(value, key){\n datavizInstance.config.colorMapping[key] = (value ? value : null);\n });\n }\n return this;\n};\n\nDataviz.prototype.data = data;\n\nDataviz.prototype.dateFormat = function(val){\n if (this.config.showDeprecationWarnings) {\n console.log('.dateFormat() is deprecated. Use: new KeenDataviz({ dateFormat: _your_value_here_ })');\n }\n if (!arguments.length) return this.config.dateFormat;\n if (typeof val === 'string' || typeof val === 'function') {\n this.config.dateFormat = val;\n }\n else {\n this.config.dateFormat = undefined;\n }\n return this;\n};\n\nDataviz.prototype.destroy = function(){\n const library = this.library();\n const type = this.config.type;\n const element = this.el();\n\n // Call destroy method if present\n if (Dataviz.libraries[library]\n && Dataviz.libraries[library][type]){\n Dataviz.libraries[library][type].destroy.call(this);\n }\n\n // Clear rendered artifacts, state bin\n if (element) {\n element.innerHTML = '';\n }\n this.view._prepared = false;\n this.view._rendered = false;\n this.view._artifacts = {};\n return this;\n};\n\nDataviz.prototype.el = function(target){\n const datavizInstance = this;\n if (!arguments.length) return this.config.containerElement;\n domReady(function(){\n if (target && target !== null) {\n if (target.nodeName) {\n datavizInstance.config.containerElement = target;\n }\n else if (document.querySelector) {\n datavizInstance.config.containerElement = document.querySelector(target);\n }\n }\n else {\n datavizInstance.config.containerElement = undefined;\n }\n });\n return this;\n};\n\nDataviz.prototype.height = function(num){\n if (this.config.showDeprecationWarnings) {\n console.log('.height() is deprecated - use CSS classes');\n }\n return this;\n};\n\n// IMPORTANT: Must be run before data parsing\nDataviz.prototype.indexBy = function(str){\n if (this.config.showDeprecationWarnings) {\n console.log('.indexBy() is deprecated. Use: new KeenDataviz({ indexBy: _your_value_here_ })');\n }\n if (!arguments.length) return this.config.indexBy;\n this.config.indexBy = (str ? String(str) : 'timeframe.start');\n return this;\n};\n\nDataviz.prototype.labels = function(arr){\n if (this.config.showDeprecationWarnings) {\n console.log('.labels() is deprecated. Use: new KeenDataviz({ labels: _your_value_here_ })');\n }\n\n if (!arguments.length) return this.config.labels;\n this.config.labels = (arr instanceof Array ? arr : []);\n\n setLabels(this);\n\n return this;\n};\n\nfunction setLabels(datavizInstance){\n // Write labels\n if (datavizInstance.data()[0].length === 2 && !isDateString(datavizInstance.data()[1][0])) {\n datavizInstance.dataset.updateColumn(0, function(value, index){\n if (datavizInstance.config.labels[index-1]) {\n return stripHtmlTags(String(datavizInstance.config.labels[index-1]));\n }\n return stripHtmlTags(value);\n }.bind(datavizInstance));\n }\n else {\n datavizInstance.dataset.updateRow(0, function(value, index){\n if (index > 0 && datavizInstance.config.labels[index-1]) {\n return stripHtmlTags(String(datavizInstance.config.labels[index-1]));\n }\n return stripHtmlTags(value);\n }.bind(datavizInstance));\n }\n}\n\nDataviz.prototype.labelMapping = function(obj){\n if (this.config.showDeprecationWarnings) {\n console.log('.labelMapping() is deprecated. Use: new KeenDataviz({ labelMapping: _your_value_here_ })');\n }\n if (!arguments.length) return this.config.labelMapping;\n if (obj === null) {\n this.config.labelMapping = {};\n }\n else if (typeof obj === 'object') {\n each(obj, function(value, key){\n this.config.labelMapping[key] = (value ? value : null);\n }.bind(this));\n }\n\n mapLabels(this);\n\n return this;\n};\n\nfunction mapLabelsExec({ datavizInstance, value }){\n if (datavizInstance.config.labelMappingRegExp){\n let valueAfterMatching = value;\n datavizInstance.config.labelMappingRegExp.forEach(regExpAndLabel => {\n if (regExpAndLabel.length > 1) {\n let regExpObj = regExpAndLabel[0];\n if (regExpObj.test(value)){\n valueAfterMatching = regExpAndLabel[1];\n }\n }\n });\n return stripHtmlTags(valueAfterMatching);\n }\n if (datavizInstance.config.labelMapping[value]) {\n return stripHtmlTags(String(datavizInstance.config.labelMapping[value]));\n }\n return stripHtmlTags(value);\n}\n\nfunction mapLabels(datavizInstance){\n // Write labels\n if (!datavizInstance.config.labelMappingDimension) {\n // if not defined use deprecated auto-detecting\n if (datavizInstance.data()[0].length === 2 && !isDateString(datavizInstance.data()[1][0])) {\n datavizInstance.config.labelMappingDimension = 'row';\n } else {\n datavizInstance.config.labelMappingDimension = 'column';\n }\n }\n\n if (datavizInstance.config.labelMappingDimension === 'row'\n || datavizInstance.config.labelMappingDimension === 'both') {\n datavizInstance.dataset.updateColumn(0, function(value){\n return mapLabelsExec({ datavizInstance, value });\n }.bind(datavizInstance));\n }\n\n if (datavizInstance.config.labelMappingDimension === 'column'\n || datavizInstance.config.labelMappingDimension === 'both') {\n datavizInstance.dataset.updateRow(0, function(value){\n return mapLabelsExec({ datavizInstance, value });\n }.bind(datavizInstance));\n }\n}\n\nDataviz.prototype.library = function(str){\n if (!arguments.length) return this.config['library'];\n this.config['library'] = (str ? String(str) : null);\n return this;\n};\n\nDataviz.prototype.message = function(){\n if (this.view._rendered) {\n this.destroy();\n }\n if (this.el()) {\n this.el().innerHTML = '';\n const message = Dataviz.libraries.default.message;\n if (message.render) {\n message.render.apply(this, arguments);\n }\n }\n return this;\n};\n\nDataviz.prototype.notes = function(str){\n if (this.config.showDeprecationWarnings) {\n console.log('.notes() is deprecated. Use: new KeenDataviz({ notes: _your_value_here_ })');\n }\n if (!arguments.length) return this.config.notes;\n this.config.notes = (str ? String(str) : null);\n return this;\n};\n\nDataviz.prototype.prepare = function(){\n const datavizInstance = this;\n\n if (!this.el()) {\n throw `${this.config.container} not found. A DOM parent element is required to mount the chart.`;\n return;\n }\n\n domReady(function(){\n if (datavizInstance.view._rendered) {\n datavizInstance.destroy();\n }\n if (datavizInstance.el()) {\n datavizInstance.el().innerHTML = '';\n const loader = Dataviz.libraries.default.spinner;\n if (loader.render) {\n loader.render.call(datavizInstance);\n }\n datavizInstance.view._prepared = true;\n }\n });\n\n return this;\n};\n\nDataviz.prototype.render = function(results = undefined){\n const datavizInstance = this;\n if (!!results) {\n const firstResult = results[0] || results;\n if (\n firstResult.query\n && firstResult.query.interval\n && firstResult.query.timeframe\n && firstResult.query.timeframe === 'string'\n && firstResult.query.timeframe.indexOf('this_') > -1\n && this.config.partialIntervalIndicator\n && this.config.partialIntervalIndicator.show === undefined\n )\n {\n this.config.partialIntervalIndicator.show = true;\n }\n\n if (Array.isArray(results)) {\n const timeframes = results.map(resultItem => resultItem.query.timeframe);\n timeframes.forEach(resultTimeframe => {\n let foundDifferent = timeframes.find(timeframeItem =>\n JSON.stringify(timeframeItem) !== JSON.stringify(resultTimeframe)\n );\n if (foundDifferent){\n const msg = 'Timeframes of the queries should be the same';\n console.error(msg);\n throw msg;\n }\n });\n // first result is important to prepare X on the chart\n return datavizInstance\n .data(results[0])\n .call(() => {\n const getLabel = (input) => {\n return `${input.query.event_collection} ${input.query.analysis_type}`;\n }\n let label = getLabel(results[0]);\n if (datavizInstance.config.labelMapping[label]) {\n label = datavizInstance.config.labelMapping[label];\n }\n this.dataset.deleteColumn(1);\n let firstResultPassed = false;\n for (let result of results) {\n label = getLabel(result);;\n let ds2 = Dataset.parser('interval')(result);\n datavizInstance.dataset.appendColumn(label, ds2.selectColumn(1).slice(1));\n }\n })\n .render();\n }\n\n return datavizInstance.data(results).render();\n }\n if (\n (!!this.config.labelMapping && Object.keys(this.config.labelMapping).length > 0)\n ||\n (!!this.config.labelMappingRegExp && this.config.labelMappingRegExp.length > 0)\n ){\n mapLabels(datavizInstance);\n }\n if (!!this.config.labels && Object.keys(this.config.labels).length > 0){\n setLabels(datavizInstance);\n }\n if (!!this.config.sortGroups) {\n sortGroups(datavizInstance);\n }\n if (!!this.config.sortIntervals) {\n sortIntervals(datavizInstance);\n }\n\n const loader = Dataviz.libraries.default.spinner;\n const library = this.config.library;\n const type = this.config.type;\n const containerElement = this.el();\n\n if (!containerElement || containerElement === undefined) {\n const msg = `${this.config.container} not found. A DOM parent element is required to mount the chart.`;\n console.error(msg);\n throw msg;\n return;\n }\n\n let returnValue = datavizInstance;\n\n if (datavizInstance.config.renderAsPromise) {\n returnValue = new Promise((resolve, reject) => {\n const customCallback = this.config.onrendered;\n datavizInstance.config.onrendered = () => {\n if (customCallback) {\n customCallback();\n }\n resolve(datavizInstance);\n }\n });\n }\n\n domReady(function(){\n if (datavizInstance.view._prepared && loader.destroy) {\n loader.destroy.apply(datavizInstance, arguments);\n }\n containerElement.innerHTML = '';\n\n if (Dataviz.libraries[library] === 'undefined'){\n // Error: Unregistered library\n const msg = `Incorrect library`;\n datavizInstance.message(msg);\n throw msg;\n return;\n }\n else {\n if (typeof Dataviz.libraries[library][type] === 'undefined') {\n const msg = `Incorrect chart type`;\n const mappedMsg = this.config.errorMapping[msg] || msg;\n datavizInstance.message(mappedMsg);\n throw msg;\n return;\n }\n else {\n buildDomWrapper(containerElement,\n datavizInstance.config\n );\n const { renderOnVisible } = datavizInstance.config;\n if(renderOnVisible){\n if(typeof IntersectionObserver !== 'undefined'){\n const chartVisibleCallback = (events, observer) => {\n events.forEach(el => {\n if(el.isIntersecting){\n if(!datavizInstance.view._rendered){\n Dataviz.libraries[library][type].render.call(datavizInstance);\n datavizInstance.view._rendered = true;\n }\n }\n })\n }\n const observer = new IntersectionObserver(chartVisibleCallback);\n observer.observe(containerElement);\n return;\n }\n }\n if(datavizInstance.config.firstVisibilityState === 'hidden'){\n if(typeof document !== 'undefined') {\n let hidden, visibilityChange;\n if (typeof document.hidden !== \"undefined\") {\n hidden = \"hidden\";\n visibilityChange = \"visibilitychange\";\n } else if (typeof document.msHidden !== \"undefined\") {\n hidden = \"msHidden\";\n visibilityChange = \"msvisibilitychange\";\n } else if (typeof document.webkitHidden !== \"undefined\") {\n hidden = \"webkitHidden\";\n visibilityChange = \"webkitvisibilitychange\";\n }\n const handleVisibilityChange = () => {\n if(!document[hidden]) {\n datavizInstance.view._artifacts.c3.load(datavizInstance.dataset.matrix);\n }\n }\n if(typeof document.addEventListener !== \"undefined\" ||\n hidden !== undefined){\n document.addEventListener(visibilityChange, handleVisibilityChange, {\n once: true\n });\n }\n }\n }\n Dataviz.libraries[library][type].render.call(datavizInstance);\n datavizInstance.view._rendered = true;\n }\n }\n });\n\n return returnValue;\n};\n\nDataviz.prototype.sortGroups = function(str){\n if (this.config.showDeprecationWarnings) {\n console.log('.sortGroups() is deprecated. Use: new KeenDataviz({ sortGroups: _your_value_here_ })');\n }\n if (!arguments.length) return this.config.sortGroups;\n this.config.sortGroups = (str ? String(str) : null);\n\n sortGroups(this, str);\n\n return this;\n};\n\nfunction sortGroups(datavizInstance){\n // Sort groups\n if (datavizInstance.config.sortGroups && datavizInstance.data().length > 1) {\n if (isDateString(datavizInstance.data()[1][0])) {\n datavizInstance.dataset.sortColumns(datavizInstance.config.sortGroups, datavizInstance.dataset.getColumnSum);\n }\n else {\n datavizInstance.dataset.sortRows(datavizInstance.config.sortGroups, datavizInstance.dataset.getRowSum);\n }\n }\n}\n\nDataviz.prototype.sortIntervals = function(str){\n if (this.config.showDeprecationWarnings) {\n console.log('.sortIntervals() is deprecated. Use: new KeenDataviz({ sortIntervals: _your_value_here_ })');\n }\n if (!arguments.length) return this.config.sortIntervals;\n this.config.sortIntervals = (str ? String(str) : null);\n\n sortIntervals(this);\n\n return this;\n};\n\nfunction sortIntervals(datavizInstance){\n if (datavizInstance.config.sortIntervals) {\n datavizInstance.dataset.sortRows(datavizInstance.config.sortIntervals);\n }\n}\n\nDataviz.prototype.stacked = function(bool){\n if (this.config.showDeprecationWarnings) {\n console.log('.stacked() is deprecated. Use: new KeenDataviz({ stacked: _your_value_here_ })');\n }\n if (!arguments.length) return this.config.stacked;\n this.config.stacked = bool ? true : false;\n return this;\n};\n\nDataviz.prototype.theme = function(str){\n if (this.config.showDeprecationWarnings) {\n console.log('.theme() is deprecated. Use: new KeenDataviz({ theme: _your_value_here_ })');\n }\n if (!arguments.length) return this.config.theme;\n this.config.theme = (str ? String(str) : null);\n return this;\n};\n\nDataviz.prototype.title = function(str){\n if (this.config.showDeprecationWarnings) {\n console.log('.title() is deprecated. Use: new KeenDataviz({ title: _your_value_here_ })');\n }\n if (!arguments.length) return this.config.title;\n this.config.title = (str ? String(str) : null);\n return this;\n};\n\nDataviz.prototype.type = function(str){\n if (this.config.showDeprecationWarnings) {\n console.log('.type() is deprecated. Use: new KeenDataviz({ type: _your_value_here_ })');\n }\n if (!arguments.length) return this.config.type;\n this.config.type = (str ? convertChartTypes(str) : null);\n return this;\n};\n\nDataviz.prototype.update = function(){\n const library = this.config.library;\n const type = this.config.type;\n const element = this.el();\n if (library && type && element && Dataviz.libraries[library][type].update) {\n Dataviz.libraries[library][type].update.apply(this, arguments);\n }\n return this;\n};\n\nDataviz.prototype.width = function(num){\n if (this.config.showDeprecationWarnings) {\n console.log('.width() is deprecated - use CSS classes');\n }\n return this;\n};\n\n// Deprecations\nDataviz.prototype.chartType = Dataviz.prototype.type;\nDataviz.prototype.error = Dataviz.prototype.message;\nDataviz.prototype.parseRawData = Dataviz.prototype.data;\nDataviz.prototype.parseRequest = function(){\n // this.emit('error', 'This method is no longer supported. Use .data() instead: https://github.com/keen/keen-dataviz.js#data');\n return this;\n};\nDataviz.prototype.initialize = function(){\n // this.emit('error', 'This method is no longer supported, and can be omitted as it has no impact');\n return this;\n};\n\nDataviz.version = pkg.version;\n\n// Private\n\nfunction buildDomWrapper(el, options) {\n let html = '';\n let chart100percentWide = '';\n if (options.legend.position === 'top' || options.legend.position === 'bottom') {\n chart100percentWide = 'c3-chart-100-percent';\n }\n\n let container = `
`;\n let align = 'horizontal';\n if (options.legend.position === 'left' || options.legend.position === 'right') {\n align = 'vertical';\n }\n if (options.legend && options.legend.show) {\n if (options.legend.position === 'top' || options.legend.position === 'left') {\n container = `
${container}`;\n } else {\n container = `${container}
`;\n }\n }\n html += `
`;\n if (options.title && options.showTitle) {\n html += `
${options.title}
`;\n }\n html += `
${container}
`;\n if (options.notes) {\n html += `
${options.notes}
`;\n }\n html += `
`;\n el.innerHTML = html;\n}\n\nfunction convertChartTypes(str) {\n const map = {\n areachart: 'area',\n barchart: 'horizontal-bar',\n columnchart: 'bar',\n linechart: 'line',\n piechart: 'pie',\n };\n return map[str] || str;\n}\n\nfunction testDom(fn) {\n if (/in/.test(document.readyState)) {\n setTimeout(function(){\n testDom(fn);\n }, 9);\n } else {\n fn();\n }\n}\n\nfunction domReady(fn) {\n if (typeof document !== 'undefined' || typeof window === 'undefined') {\n fn();\n return;\n }\n // Firefox 3.5 shim\n if (document.readyState == null && document.addEventListener) {\n document.addEventListener('DOMContentLoaded', function DOMContentLoaded() {\n document.removeEventListener('DOMContentLoaded', DOMContentLoaded, false);\n document.readyState = 'complete';\n }, false);\n document.readyState = 'loading';\n }\n testDom(fn);\n}\n\nexport { Dataset } from './dataset';\n\nexport default Dataviz;\n","var g;\r\n\r\n// This works in non-strict mode\r\ng = (function() {\r\n\treturn this;\r\n})();\r\n\r\ntry {\r\n\t// This works if eval is allowed (see CSP)\r\n\tg = g || Function(\"return this\")() || (1, eval)(\"this\");\r\n} catch (e) {\r\n\t// This works if the window reference is available\r\n\tif (typeof window === \"object\") g = window;\r\n}\r\n\r\n// g can still be undefined, but nothing to do about it...\r\n// We return undefined, instead of nothing here, so it's\r\n// easier to handle this case. if(!global) { ...}\r\n\r\nmodule.exports = g;\r\n","import { Dataviz, Dataset } from './index';\n\nconst env = typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : typeof window !== 'undefined' ? window : {};\n\nexport const extendKeenGlobalObject = function(env) {\n env.KeenDataviz = Dataviz;\n env.KeenDataset = Dataset;\n\n // just for backward compatibility\n env.Keen = env.Keen || {};\n env.Keen.Dataset = Dataset;\n env.Keen.Dataviz = Dataviz;\n};\n\nif (typeof KEEN_GLOBAL_OBJECT !== 'undefined'\n && KEEN_GLOBAL_OBJECT) {\n extendKeenGlobalObject(env);\n}\n\nexport let keenGlobals = undefined;\nif (typeof webpackKeenGlobals !== 'undefined') {\n keenGlobals = webpackKeenGlobals;\n}\n\nexport { Dataviz, Dataset } from './index';\nexport default Dataviz;\n"],"sourceRoot":""} \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index ddeaa6a..4ade297 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "keen-dataviz", - "version": "3.2.4", + "version": "3.3.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index a8f2240..9ccd3ec 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "keen-dataviz", "description": "Data Visualization SDK for Keen IO", "license": "MIT", - "version": "3.2.4", + "version": "3.3.0", "main": "dist/external_d3_c3/node/keen-dataviz.js", "browser": "dist/external_d3_c3/keen-dataviz.js", "style": "dist/keen-dataviz.css",